From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Orion Poplawski To: git-commits@fedoraproject.org Subject: [rpms/cobbler] rawhide: Update to 3.3.9 Date: Tue, 01 Sep 2026 04:03:30 GMT Message-ID: <178823541021.1.6557573308548167273.rpms-cobbler-22816b82182d@fedoraproject.org> List-ID: X-Git-Repo: rpms/cobbler X-Git-Branch: rawhide X-Git-Rev: 22816b82182d74fd8509e110efd2b34be7e0f85e QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY29iYmxlcgpCcmFu Y2ggOiByYXdoaWRlCkNvbW1pdCA6IDIyODE2YjgyMTgyZDc0ZmQ4NTA5ZTExMGVmZDJiMzRiZTdl MGY4NWUKQXV0aG9yIDogT3Jpb24gUG9wbGF3c2tpIDxvcmlvbkBud3JhLmNvbT4KRGF0ZSAgIDog MjAyNi0wOC0zMVQyMDozNzoyNi0wNjowMApTdGF0cyAgOiArMi8tMTAxMiBpbiA0IGZpbGUocykK VVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9jb2JibGVyL2MvMjI4 MTZiODIxODJkNzRmZDg1MDllMTEwZWZkMmIzNGJlN2UwZjg1ZT9icmFuY2g9cmF3aGlkZQoKTG9n OgpVcGRhdGUgdG8gMy4zLjkKCi0tLQpkaWZmIC0tZ2l0IGEvMzk0NS5wYXRjaCBiLzM5NDUucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU3NWMzNDkuLjAwMDAwMDAKLS0tIGEv Mzk0NS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLUZyb20gMWQ4M2JkMjlj MjUzYmE4OThhYzM1NjgzMjU4ZmVjMjg1ZDVhNjUyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IE9yaW9uIFBvcGxhd3NraSA8b3Jpb25AbndyYS5jb20+Ci1EYXRlOiBTYXQsIDQgT2N0 IDIwMjUgMTk6NDk6MjYgLTA2MDAKLVN1YmplY3Q6IFtQQVRDSF0gVXNlIHN5c3RlbWN0bCBpcy1h Y3RpdmUgLS1xdWlldCB0byBjaGVjayBzdGF0dXMgb2Ygc2VydmljZXMKLSAoZml4ZXMgIzM5NDIp Ci0KLS0tLQotIGNoYW5nZWxvZy5kLzM5NDIuZml4ZWQgICB8IDEgKwotIGNvYmJsZXIvYWN0aW9u cy9jaGVjay5weSB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBjaGFuZ2Vsb2cuZC8zOTQyLmZpeGVkCi0K LWRpZmYgLS1naXQgYS9jaGFuZ2Vsb2cuZC8zOTQyLmZpeGVkIGIvY2hhbmdlbG9nLmQvMzk0Mi5m aXhlZAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLjQ0NGJkYjgwMGEK LS0tLSAvZGV2L251bGwKLSsrKyBiL2NoYW5nZWxvZy5kLzM5NDIuZml4ZWQKLUBAIC0wLDAgKzEg QEAKLStjaGVjazogVXNlIHN5c3RlbWN0bCBpcy1hY3RpdmUgLS1xdWlldCB0byBjaGVjayB0aGUg c3RhdHVzIG9mIHNlcnZpY2VzCi1kaWZmIC0tZ2l0IGEvY29iYmxlci9hY3Rpb25zL2NoZWNrLnB5 IGIvY29iYmxlci9hY3Rpb25zL2NoZWNrLnB5Ci1pbmRleCBiNzk3MDZhZmYxLi41ZjZhM2ZhM2Jj IDEwMDY0NAotLS0tIGEvY29iYmxlci9hY3Rpb25zL2NoZWNrLnB5Ci0rKysgYi9jb2JibGVyL2Fj dGlvbnMvY2hlY2sucHkKLUBAIC0xNDIsNyArMTQyLDcgQEAgZGVmIGNoZWNrX3NlcnZpY2Uoc2Vs Ziwgc3RhdHVzLCB3aGljaCwgbm90ZXM9IiIpOgotICAgICAgICAgICAgICAgICAgICAgc3RhdHVz LmFwcGVuZCgic2VydmljZSAlcyBpcyBub3QgcnVubmluZyVzIiAlICh3aGljaCwgbm90ZXMpKQot ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICBlbGlmIHV0aWxzLmlzX3N5c3Rl bWQoKToKLS0gICAgICAgICAgICByZXR1cm5fY29kZSA9IHV0aWxzLnN1YnByb2Nlc3NfY2FsbCgi c3lzdGVtY3RsIHN0YXR1cyAlcyA+IC9kZXYvbnVsbCAyPi9kZXYvbnVsbCIgJSB3aGljaCwKLSsg ICAgICAgICAgICByZXR1cm5fY29kZSA9IHV0aWxzLnN1YnByb2Nlc3NfY2FsbCgic3lzdGVtY3Rs IGlzLWFjdGl2ZSAtLXF1aWV0ICVzID4gL2Rldi9udWxsIDI+L2Rldi9udWxsIiAlIHdoaWNoLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoZWxsPVRy dWUpCi0gICAgICAgICAgICAgaWYgcmV0dXJuX2NvZGUgIT0gMDoKLSAgICAgICAgICAgICAgICAg c3RhdHVzLmFwcGVuZCgic2VydmljZSAlcyBpcyBub3QgcnVubmluZyVzIiAlICh3aGljaCwgbm90 ZXMpKQoKZGlmZiAtLWdpdCBhL2NvYmJsZXItcHl0aG9uMy4xMy5wYXRjaCBiL2NvYmJsZXItcHl0 aG9uMy4xMy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzg4NDdhNC4uMDAw MDAwMAotLS0gYS9jb2JibGVyLXB5dGhvbjMuMTMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5 NzIgKzAsMCBAQAotZGlmZiAtLWdpdCBhL2NoYW5nZWxvZy5kLzM4NDIuZml4ZWQgYi9jaGFuZ2Vs b2cuZC8zODQyLmZpeGVkCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAuLjZj NmQ2MzEzCi0tLS0gL2Rldi9udWxsCi0rKysgYi9jaGFuZ2Vsb2cuZC8zODQyLmZpeGVkCi1AQCAt MCwwICsxIEBACi0rRml4IGNvbXBhdGliaWxpdHkgd2l0aCBQeXRob24gMy4xMwotZGlmZiAtLWdp dCBhL2NvYmJsZXIvYWN0aW9ucy9yZXBvc3luYy5weSBiL2NvYmJsZXIvYWN0aW9ucy9yZXBvc3lu Yy5weQotaW5kZXggYzAxNjMzNTAuLmVjNTc0NWZiIDEwMDY0NAotLS0tIGEvY29iYmxlci9hY3Rp b25zL3JlcG9zeW5jLnB5Ci0rKysgYi9jb2JibGVyL2FjdGlvbnMvcmVwb3N5bmMucHkKLUBAIC0y Myw5ICsyMyw5IEBAIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg Rmxvb3IsIEJvc3RvbiwgTUEKLSBpbXBvcnQgbG9nZ2luZwotIGltcG9ydCBvcwotIGltcG9ydCBv cy5wYXRoCi0taW1wb3J0IHBpcGVzCi0taW1wb3J0IHN0YXQKLStpbXBvcnQgc2hsZXgKLSBpbXBv cnQgc2h1dGlsCi0raW1wb3J0IHN0YXQKLSBmcm9tIHR5cGluZyBpbXBvcnQgT3B0aW9uYWwsIFVu aW9uCi0gCi0gZnJvbSBjb2JibGVyIGltcG9ydCB1dGlscwotQEAgLTI3Miw5ICsyNzIsOSBAQCBj bGFzcyBSZXBvU3luYzoKLSAgICAgICAgICAgICBibGVuZGVkID0gdXRpbHMuYmxlbmRlcihzZWxm LmFwaSwgRmFsc2UsIHJlcG8pCi0gICAgICAgICAgICAgZmxhZ3MgPSBibGVuZGVkLmdldCgiY3Jl YXRlcmVwb19mbGFncyIsICIoRVJST1I6IEZMQUdTKSIpCi0gICAgICAgICAgICAgdHJ5OgotLSAg ICAgICAgICAgICAgICBjbWQgPSAiY3JlYXRlcmVwbyAlcyAlcyAlcyIgJSAoIiAiLmpvaW4obWRv cHRpb25zKSwgZmxhZ3MsIHBpcGVzLnF1b3RlKGRpcm5hbWUpKQotLSAgICAgICAgICAgICAgICB1 dGlscy5zdWJwcm9jZXNzX2NhbGwoY21kKQotLSAgICAgICAgICAgIGV4Y2VwdDoKLSsgICAgICAg ICAgICAgICAgY21kID0gWyJjcmVhdGVyZXBvIl0gKyBtZG9wdGlvbnMgKyBmbGFncyArIFtzaGxl eC5xdW90ZShkaXJuYW1lKV0KLSsgICAgICAgICAgICAgICAgdXRpbHMuc3VicHJvY2Vzc19jYWxs KGNtZCwgc2hlbGw9RmFsc2UpCi0rICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLSAgICAg ICAgICAgICAgICAgdXRpbHMubG9nX2V4YygpCi0gICAgICAgICAgICAgICAgIHNlbGYubG9nZ2Vy LmVycm9yKCJjcmVhdGVyZXBvIGZhaWxlZC4iKQotICAgICAgICAgICAgIGRlbCBmbmFtZXNbOl0g ICMgd2UncmUgaW4gdGhlIHJpZ2h0IHBsYWNlCi1AQCAtMzAyLDggKzMwMiwxOSBAQCBjbGFzcyBS ZXBvU3luYzoKLSAgICAgICAgIGRlc3RfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnNldHRpbmdz LndlYmRpciwgInJlcG9fbWlycm9yIiwgcmVwby5uYW1lKQotIAotICAgICAgICAgIyBGSVhNRTog d3JhcHBlciBmb3Igc3VicHJvY2VzcyB0aGF0IGxvZ3MgdG8gbG9nZ2VyCi0tICAgICAgICBjbWQg PSBbIndnZXQiLCAiLU4iLCAiLW5wIiwgIi1yIiwgIi1sIiwgImluZiIsICItbmQiLCAiLVAiLCBw aXBlcy5xdW90ZShkZXN0X3BhdGgpLCBwaXBlcy5xdW90ZShyZXBvLm1pcnJvcildCi0tICAgICAg ICByYyA9IHV0aWxzLnN1YnByb2Nlc3NfY2FsbChjbWQpCi0rICAgICAgICBjbWQgPSBbCi0rICAg ICAgICAgICAgIndnZXQiLAotKyAgICAgICAgICAgICItTiIsCi0rICAgICAgICAgICAgIi1ucCIs Ci0rICAgICAgICAgICAgIi1yIiwKLSsgICAgICAgICAgICAiLWwiLAotKyAgICAgICAgICAgICJp bmYiLAotKyAgICAgICAgICAgICItbmQiLAotKyAgICAgICAgICAgICItUCIsCi0rICAgICAgICAg ICAgc2hsZXgucXVvdGUoZGVzdF9wYXRoKSwKLSsgICAgICAgICAgICBzaGxleC5xdW90ZShyZXBv Lm1pcnJvciksCi0rICAgICAgICBdCi0rICAgICAgICByZXR1cm5fdmFsdWUgPSB1dGlscy5zdWJw cm9jZXNzX2NhbGwoY21kLCBzaGVsbD1GYWxzZSkKLSAKLSAgICAgICAgIGlmIHJjICE9IDA6Ci0g ICAgICAgICAgICAgcmFpc2UgQ1goImNvYmJsZXIgcmVwb3N5bmMgZmFpbGVkIikKLUBAIC0zNDcs OSArMzU4LDE0IEBAIGNsYXNzIFJlcG9TeW5jOgotICAgICAgICAgaWYgZmxhZ3MgPT0gJyc6Ci0g ICAgICAgICAgICAgZmxhZ3MgPSBzZWxmLnNldHRpbmdzLnJlcG9zeW5jX3JzeW5jX2ZsYWdzCi0g Ci0tICAgICAgICBjbWQgPSAicnN5bmMgJXMgLS1kZWxldGUtYWZ0ZXIgJXMgLS1kZWxldGUgLS1l eGNsdWRlLWZyb209L2V0Yy9jb2JibGVyL3JzeW5jLmV4Y2x1ZGUgJXMgJXMiIFwKLS0gICAgICAg ICAgICAgICUgKGZsYWdzLCBzcGFjZXIsIHBpcGVzLnF1b3RlKHJlcG8ubWlycm9yKSwgcGlwZXMu cXVvdGUoZGVzdF9wYXRoKSkKLS0gICAgICAgIHJjID0gdXRpbHMuc3VicHJvY2Vzc19jYWxsKGNt ZCkKLSsgICAgICAgIGNtZCA9IFsicnN5bmMiXSArIGZsYWdzICsgWyItLWRlbGV0ZS1hZnRlciJd Ci0rICAgICAgICBjbWQgKz0gc3BhY2VyICsgWwotKyAgICAgICAgICAgICItLWRlbGV0ZSIsCi0r ICAgICAgICAgICAgIi0tZXhjbHVkZS1mcm9tPS9ldGMvY29iYmxlci9yc3luYy5leGNsdWRlIiwK LSsgICAgICAgICAgICBzaGxleC5xdW90ZShyZXBvLm1pcnJvciksCi0rICAgICAgICAgICAgc2hs ZXgucXVvdGUoZGVzdF9wYXRoKSwKLSsgICAgICAgIF0KLSsgICAgICAgIHJldHVybl9jb2RlID0g dXRpbHMuc3VicHJvY2Vzc19jYWxsKGNtZCwgc2hlbGw9RmFsc2UpCi0gCi0gICAgICAgICBpZiBy YyAhPSAwOgotICAgICAgICAgICAgIHJhaXNlIENYKCJjb2JibGVyIHJlcG9zeW5jIGZhaWxlZCIp Ci1AQCAtMzg2LDEwICs0MDIsMTEgQEAgY2xhc3MgUmVwb1N5bmM6Ci0gICAgICAgICBpZiBub3Qg SEFTX0xJQlJFUE86Ci0gICAgICAgICAgICAgcmFpc2UgQ1goIm5vIGxpYnJlcG8gZm91bmQsIHBs ZWFzZSBpbnN0YWxsIHB5dGhvbjMtbGlicmVwbyIpCi0gCi0tICAgICAgICBpZiBvcy5wYXRoLmV4 aXN0cygiL3Vzci9iaW4vZG5mIik6Ci0tICAgICAgICAgICAgY21kID0gIi91c3IvYmluL2RuZiBy ZXBvc3luYyIKLS0gICAgICAgIGVsaWYgb3MucGF0aC5leGlzdHMoIi91c3IvYmluL3JlcG9zeW5j Iik6Ci0tICAgICAgICAgICAgY21kID0gIi91c3IvYmluL3JlcG9zeW5jIgotKyAgICAgICAgaWYg b3MucGF0aC5leGlzdHMoIi91c3IvYmluL3JlcG9zeW5jIik6Ci0rICAgICAgICAgICAgY21kID0g WyIvdXNyL2Jpbi9yZXBvc3luYyJdCi0rICAgICAgICAjIERORjUgZG9lcyBub3QgaGF2ZSBhIHJl cG9zeW5jIHN1YmNvbW1hbmQKLSsgICAgICAgIGVsaWYgb3MucGF0aC5leGlzdHMoIi91c3IvYmlu L2RuZiIpOgotKyAgICAgICAgICAgIGNtZCA9IFsiL3Vzci9iaW4vZG5mIiwgInJlcG9zeW5jIl0K LSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgIyBXYXJuIGFib3V0IG5vdCBoYXZpbmcgeXVt LXV0aWxzLiAgV2UgZG9uJ3Qgd2FudCB0byByZXF1aXJlIGl0IGluIHRoZSBwYWNrYWdlIGJlY2F1 c2UgRmVkb3JhIDIyKyBoYXMgbW92ZWQKLSAgICAgICAgICAgICAjIHRvIGRuZi4KLUBAIC00NTEs NiArNDY4LDExIEBAIGNsYXNzIFJlcG9TeW5jOgotICAgICAgICAgICAgICMgQ291bnRlci1pbnR1 aXRpdmUsIGJ1dCB3ZSB3YW50IHRoZSBuZXdpc2gga2VybmVscyB0b28KLSAgICAgICAgICAgICBh cmNoID0gImk2ODYiCi0gCi0rICAgICAgICBjbWQgPSBzZWxmLnJlcG9zeW5jX2NtZCgpCi0rICAg ICAgICBjbWQgKz0gc2VsZi5yZmxhZ3MgKyBbCi0rICAgICAgICAgICAgZiItLXJlcG89e3NobGV4 LnF1b3RlKHJlc3QpfSIsCi0rICAgICAgICAgICAgZiItLWRvd25sb2FkLXBhdGg9e3NobGV4LnF1 b3RlKHJlcG9zX3BhdGgpfSIsCi0rICAgICAgICBdCi0gICAgICAgICBpZiBhcmNoICE9ICJub25l IjoKLSAgICAgICAgICAgICBjbWQgPSAiJXMgLWEgJXMiICUgKGNtZCwgYXJjaCkKLSAKLUBAIC01 NDQsOSArNTY2LDExIEBAIGNsYXNzIFJlcG9TeW5jOgotIAotICAgICAgICAgaWYgbm90IGhhc19y cG1fbGlzdDoKLSAgICAgICAgICAgICAjIElmIHdlIGhhdmUgbm90IHJlcXVlc3RlZCBvbmx5IGNl cnRhaW4gUlBNcywgdXNlIHJlcG9zeW5jCi0tICAgICAgICAgICAgY21kID0gIiVzICVzIC0tY29u ZmlnPSVzIC0tcmVwb2lkPSVzIC1wICVzIiBcCi0tICAgICAgICAgICAgICAgICAgJSAoY21kLCBz ZWxmLnJmbGFncywgdGVtcF9maWxlLCBwaXBlcy5xdW90ZShyZXBvLm5hbWUpLAotLSAgICAgICAg ICAgICAgICAgICAgIHBpcGVzLnF1b3RlKHJlcG9zX3BhdGgpKQotKyAgICAgICAgICAgIGNtZCAr PSBzZWxmLnJmbGFncyArIFsKLSsgICAgICAgICAgICAgICAgZiItLWNvbmZpZz17dGVtcF9maWxl fSIsCi0rICAgICAgICAgICAgICAgIGYiLS1yZXBvaWQ9e3NobGV4LnF1b3RlKHJlcG8ubmFtZSl9 IiwKLSsgICAgICAgICAgICAgICAgZiItLWRvd25sb2FkLXBhdGg9e3NobGV4LnF1b3RlKHJlcG9z X3BhdGgpfSIsCi0rICAgICAgICAgICAgXQotICAgICAgICAgICAgIGlmIGFyY2ggIT0gIm5vbmUi OgotICAgICAgICAgICAgICAgICBjbWQgPSAiJXMgLWEgJXMiICUgKGNtZCwgYXJjaCkKLSAKLUBA IC01NTcsMTQgKzU4MSwxNCBAQCBjbGFzcyBSZXBvU3luYzoKLSAKLSAgICAgICAgICAgICB1c2Vf c291cmNlID0gIiIKLSAgICAgICAgICAgICBpZiBhcmNoID09ICJzcmMiOgotLSAgICAgICAgICAg ICAgICB1c2Vfc291cmNlID0gIi0tc291cmNlIgotLQotLSAgICAgICAgICAgICMgT2xkZXIgeXVt ZG93bmxvYWRlciBzb21ldGltZXMgZXhwbG9kZXMgb24gLS1yZXNvbHZlZGVwcyBpZiB0aGlzIGhh cHBlbnMgdG8geW91LCB1cGdyYWRlIHl1bSAmIHl1bS11dGlscwotLSAgICAgICAgICAgIGV4dHJh X2ZsYWdzID0gc2VsZi5zZXR0aW5ncy55dW1kb3dubG9hZGVyX2ZsYWdzCi0tICAgICAgICAgICAg Y21kID0gIi91c3IvYmluL2RuZiBkb3dubG9hZCIKLS0gICAgICAgICAgICBjbWQgPSAiJXMgJXMg JXMgLS1kaXNhYmxlcmVwbz0qIC0tZW5hYmxlcmVwbz0lcyAtYyAlcyAtLWRlc3RkaXI9JXMgJXMi IFwKLS0gICAgICAgICAgICAgICAgICAlIChjbWQsIGV4dHJhX2ZsYWdzLCB1c2Vfc291cmNlLCBw aXBlcy5xdW90ZShyZXBvLm5hbWUpLCB0ZW1wX2ZpbGUsIHBpcGVzLnF1b3RlKGRlc3RfcGF0aCks Ci0tICAgICAgICAgICAgICAgICAgICAgIiAiLmpvaW4ocmVwby5ycG1fbGlzdCkpCi0rICAgICAg ICAgICAgICAgIGNtZC5hcHBlbmQoIi0tc291cmNlIikKLSsgICAgICAgICAgICBjbWQgKz0gWwot KyAgICAgICAgICAgICAgICAiLS1kaXNhYmxlcmVwbz0qIiwKLSsgICAgICAgICAgICAgICAgZiIt LWVuYWJsZXJlcG89e3NobGV4LnF1b3RlKHJlcG8ubmFtZSl9IiwKLSsgICAgICAgICAgICAgICAg ZiItYz17dGVtcF9maWxlfSIsCi0rICAgICAgICAgICAgICAgIGYiLS1kZXN0ZGlyPXtzaGxleC5x dW90ZShkZXN0X3BhdGgpfSIsCi0rICAgICAgICAgICAgXQotKyAgICAgICAgICAgIGNtZCArPSBy ZXBvLnJwbV9saXN0Ci0gCi0gICAgICAgICAjIE5vdyByZWdhcmRsZXNzIG9mIHdoZXRoZXIgd2Un cmUgZG9pbmcgeXVtZG93bmxvYWRlciBvciByZXBvc3luYyBvciB3aGV0aGVyIHRoZSByZXBvIHdh cyBodHRwOi8vLCBmdHA6Ly8sIG9yCi0gICAgICAgICAjIHJobjovLywgZXhlY3V0ZSBhbGwgcXVl dWVkIGNvbW1hbmRzIGhlcmUuICBBbnkgZmFpbHVyZSBhdCBhbnkgcG9pbnQgc3RvcHMgdGhlIG9w ZXJhdGlvbi4KLUBAIC02NjksMTcgKzY5MywyMSBAQCBjbGFzcyBSZXBvU3luYzoKLSAgICAgICAg ICAgICBkaXN0cyA9ICIsIi5qb2luKHJlcG8uYXB0X2Rpc3RzKQotICAgICAgICAgICAgIGNvbXBv bmVudHMgPSAiLCIuam9pbihyZXBvLmFwdF9jb21wb25lbnRzKQotIAotLSAgICAgICAgICAgIG1p cnJvcl9kYXRhID0gIi0tbWV0aG9kPSVzIC0taG9zdD0lcyAtLXJvb3Q9JXMgLS1kaXN0PSVzIC0t c2VjdGlvbj0lcyIgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgJSAocGlwZXMucXVvdGUo bWV0aG9kKSwgcGlwZXMucXVvdGUoaG9zdCksIHBpcGVzLnF1b3RlKG1pcnJvciksIHBpcGVzLnF1 b3RlKGRpc3RzKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpcGVzLnF1b3RlKGNv bXBvbmVudHMpKQotKyAgICAgICAgICAgIG1pcnJvcl9kYXRhID0gWwotKyAgICAgICAgICAgICAg ICBmIi0tbWV0aG9kPXtzaGxleC5xdW90ZShtZXRob2QpfSIsCi0rICAgICAgICAgICAgICAgIGYi LS1ob3N0PXtzaGxleC5xdW90ZShob3N0KX0iLAotKyAgICAgICAgICAgICAgICBmIi0tcm9vdD17 c2hsZXgucXVvdGUobWlycm9yKX0iLAotKyAgICAgICAgICAgICAgICBmIi0tZGlzdD17c2hsZXgu cXVvdGUoZGlzdHMpfSIsCi0rICAgICAgICAgICAgICAgIGYiLS1zZWN0aW9uPXtzaGxleC5xdW90 ZShjb21wb25lbnRzKX0iLAotKyAgICAgICAgICAgIF0KLSAKLSAgICAgICAgICAgICByZmxhZ3Mg PSAiLS1ub2NsZWFudXAiCi0gICAgICAgICAgICAgZm9yIHggaW4gcmVwby55dW1vcHRzOgotICAg ICAgICAgICAgICAgICBpZiByZXBvLnl1bW9wdHNbeF06Ci0gICAgICAgICAgICAgICAgICAgICBy ZmxhZ3MgKz0gIiAlcz0lcyIgJSAoeCwgcmVwby55dW1vcHRzW3hdKQotICAgICAgICAgICAgICAg ICBlbHNlOgotLSAgICAgICAgICAgICAgICAgICAgcmZsYWdzICs9ICIgJXMiICUgeAotLSAgICAg ICAgICAgIGNtZCA9ICIlcyAlcyAlcyAlcyIgJSAobWlycm9yX3Byb2dyYW0sIHJmbGFncywgbWly cm9yX2RhdGEsIHBpcGVzLnF1b3RlKGRlc3RfcGF0aCkpCi0rICAgICAgICAgICAgICAgICAgICBy ZmxhZ3MuYXBwZW5kKHJlcG9feXVtb3B0aW9uKQotKyAgICAgICAgICAgIGNtZCA9IFttaXJyb3Jf cHJvZ3JhbV0gKyByZmxhZ3MgKyBtaXJyb3JfZGF0YSArIFtzaGxleC5xdW90ZShkZXN0X3BhdGgp XQotICAgICAgICAgICAgIGlmIHJlcG8uYXJjaCA9PSBSZXBvQXJjaHMuU1JDOgotICAgICAgICAg ICAgICAgICBjbWQgPSAiJXMgLS1zb3VyY2UiICUgY21kCi0gICAgICAgICAgICAgZWxzZToKLWRp ZmYgLS1naXQgYS90ZXN0cy9hY3Rpb25zL3JlcG9zeW5jX3Rlc3QucHkgYi90ZXN0cy9hY3Rpb25z L3JlcG9zeW5jX3Rlc3QucHkKLWluZGV4IDBiZWU3NzJjLi5lZThkMTU0OSAxMDA2NDQKLS0tLSBh L3Rlc3RzL2FjdGlvbnMvcmVwb3N5bmNfdGVzdC5weQotKysrIGIvdGVzdHMvYWN0aW9ucy9yZXBv c3luY190ZXN0LnB5Ci1AQCAtMSwyNTEgKzEsNTkyIEBACi0rIiIiCi0rVGVzdHMgdGhhdCB2YWxp ZGF0ZSB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgbW9kdWxlIHRoYXQgaXMgcmVzcG9uc2libGUg Zm9yIHJlcG9zaXRvcnkgc3luY2hyb25pemF0aW9uLgotKyIiIgotKwotIGltcG9ydCBvcwotLWlt cG9ydCBnbG9iCi0rZnJvbSBwYXRobGliIGltcG9ydCBQYXRoCi0rZnJvbSB0eXBpbmcgaW1wb3J0 IFRZUEVfQ0hFQ0tJTkcsIEFueSwgRGljdCwgTGlzdCwgVW5pb24KLSAKLSBpbXBvcnQgcHl0ZXN0 Ci0gCi0tZnJvbSBjb2JibGVyIGltcG9ydCBlbnVtcwotK2Zyb20gY29iYmxlciBpbXBvcnQgY2V4 Y2VwdGlvbnMsIGVudW1zCi0rZnJvbSBjb2JibGVyLmFjdGlvbnMgaW1wb3J0IHJlcG9zeW5jCi0g ZnJvbSBjb2JibGVyLmFwaSBpbXBvcnQgQ29iYmxlckFQSQotLWZyb20gY29iYmxlci5hY3Rpb25z LnJlcG9zeW5jIGltcG9ydCBSZXBvU3luYwotIGZyb20gY29iYmxlci5pdGVtcy5yZXBvIGltcG9y dCBSZXBvCi0tZnJvbSBjb2JibGVyIGltcG9ydCBjZXhjZXB0aW9ucwotLWZyb20gdGVzdHMuY29u ZnRlc3QgaW1wb3J0IGRvZXNfbm90X3JhaXNlCi0gCi0rZnJvbSB0ZXN0cy5jb25mdGVzdCBpbXBv cnQgZG9lc19ub3RfcmFpc2UKLSAKLS1AcHl0ZXN0LmZpeHR1cmUoc2NvcGU9ImNsYXNzIikKLS1k ZWYgYXBpKCk6Ci0tICAgIHJldHVybiBDb2JibGVyQVBJKCkKLStpZiBUWVBFX0NIRUNLSU5HOgot KyAgICBmcm9tIHB5dGVzdF9tb2NrIGltcG9ydCBNb2NrZXJGaXh0dXJlCi0gCi0gCi0tQHB5dGVz dC5maXh0dXJlKHNjb3BlPSJjbGFzcyIpCi0tZGVmIHJlcG9zeW5jKGFwaSk6Ci0tICAgIHRlc3Rf cmVwb3N5bmMgPSBSZXBvU3luYyhhcGksIHRyaWVzPTIsIG5vZmFpbD1GYWxzZSkKLStAcHl0ZXN0 LmZpeHR1cmUobmFtZT0icmVwb3N5bmNfb2JqZWN0Iiwgc2NvcGU9ImZ1bmN0aW9uIikKLStkZWYg Zml4dHVyZV9yZXBvc3luY19vYmplY3QoCi0rICAgIG1vY2tlcjogIk1vY2tlckZpeHR1cmUiLCBj b2JibGVyX2FwaTogQ29iYmxlckFQSQotKykgLT4gcmVwb3N5bmMuUmVwb1N5bmM6Ci0rICAgIHNl dHRpbmdzX21vY2sgPSBtb2NrZXIuTWFnaWNNb2NrKCkKLSsgICAgc2V0dGluZ3NfbW9jay53ZWJk aXIgPSAiL3Nydi93d3cvY29iYmxlciIKLSsgICAgc2V0dGluZ3NfbW9jay5zZXJ2ZXIgPSAibG9j YWxob3N0IgotKyAgICBzZXR0aW5nc19tb2NrLmh0dHBfcG9ydCA9IDgwCi0rICAgIHNldHRpbmdz X21vY2sucHJveHlfdXJsX2V4dCA9ICIiCi0rICAgIHNldHRpbmdzX21vY2sueXVtZG93bmxvYWRl cl9mbGFncyA9ICItLXRlc3RmbGFnIgotKyAgICBzZXR0aW5nc19tb2NrLnJlcG9zeW5jX3JzeW5j X2ZsYWdzID0gIi0tdGVzdGZsYWciCi0rICAgIHNldHRpbmdzX21vY2sucmVwb3N5bmNfZmxhZ3Mg PSAiLS10ZXN0ZmxhZyIKLSsgICAgbW9ja2VyLnBhdGNoLm9iamVjdChjb2JibGVyX2FwaSwgInNl dHRpbmdzIiwgcmV0dXJuX3ZhbHVlPXNldHRpbmdzX21vY2spCi0rICAgIHRlc3RfcmVwb3N5bmMg PSByZXBvc3luYy5SZXBvU3luYyhjb2JibGVyX2FwaSwgdHJpZXM9Miwgbm9mYWlsPUZhbHNlKQot ICAgICByZXR1cm4gdGVzdF9yZXBvc3luYwotIAotIAotLUBweXRlc3QuZml4dHVyZQotLWRlZiBy ZXBvKGFwaSk6Ci0rQHB5dGVzdC5maXh0dXJlKG5hbWU9InJlcG8iKQotK2RlZiBmaXh0dXJlX3Jl cG8oY29iYmxlcl9hcGk6IENvYmJsZXJBUEkpIC0+IFJlcG86Ci0gICAgICIiIgotICAgICBDcmVh dGVzIGEgUmVwb3NpdG9yeSAidGVzdHJlcG8wIiB3aXRoIGEga2VlcF91cGRhdGVkPVRydWUgYW5k IG1pcnJvcl9sb2NhbGx5PVRydWUiLgotICAgICAiIiIKLS0gICAgdGVzdF9yZXBvID0gUmVwbyhh cGkpCi0rICAgIHRlc3RfcmVwbyA9IFJlcG8oY29iYmxlcl9hcGkpCi0gICAgIHRlc3RfcmVwby5u YW1lID0gInRlc3RyZXBvMCIKLSAgICAgdGVzdF9yZXBvLm1pcnJvcl9sb2NhbGx5ID0gVHJ1ZQot ICAgICB0ZXN0X3JlcG8ua2VlcF91cGRhdGVkID0gVHJ1ZQotLSAgICBhcGkuYWRkX3JlcG8odGVz dF9yZXBvKQotICAgICByZXR1cm4gdGVzdF9yZXBvCi0gCi0gCi0gQHB5dGVzdC5maXh0dXJlCi0t ZGVmIHJlbW92ZV9yZXBvKGFwaSk6Ci0rZGVmIHJlbW92ZV9yZXBvKGNvYmJsZXJfYXBpOiBDb2Ji bGVyQVBJKToKLSAgICAgIiIiCi0gICAgIFJlbW92ZXMgdGhlIFJlcG9zaXRvcnkgInRlc3RyZXBv MCIgd2hpY2ggY2FuIGJlIGNyZWF0ZWQgd2l0aCByZXBvLgotICAgICAiIiIKLSAgICAgeWllbGQK LS0gICAgdGVzdF9yZXBvID0gYXBpLmZpbmRfcmVwbygidGVzdHJlcG8wIikKLS0gICAgaWYgdGVz dF9yZXBvIGlzIG5vdCBOb25lOgotLSAgICAgICAgYXBpLnJlbW92ZV9yZXBvKHRlc3RfcmVwby5u YW1lKQotKyAgICB0ZXN0X3JlcG8gPSBjb2JibGVyX2FwaS5maW5kX3JlcG8oInRlc3RyZXBvMCIp Ci0rICAgIGlmIHRlc3RfcmVwbyBpcyBub3QgTm9uZSBhbmQgbm90IGlzaW5zdGFuY2UodGVzdF9y ZXBvLCBsaXN0KToKLSsgICAgICAgIGNvYmJsZXJfYXBpLnJlbW92ZV9yZXBvKHRlc3RfcmVwby5u YW1lKQotIAotIAotLWNsYXNzIFRlc3RSZXBvU3luYzoKLS0gICAgQHB5dGVzdC5tYXJrLnVzZWZp eHR1cmVzKCJyZW1vdmVfcmVwbyIpCi0tICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgKLS0g ICAgICAgICJpbnB1dF9taXJyb3JfdHlwZSxpbnB1dF9taXJyb3IsZXhwZWN0ZWRfZXhjZXB0aW9u IiwKLS0gICAgICAgIFsKLS0gICAgICAgICAgICAoCi0tICAgICAgICAgICAgICAgIGVudW1zLk1p cnJvclR5cGUuQkFTRVVSTCwKLS0gICAgICAgICAgICAgICAgImh0dHA6Ly9kb3dubG9hZC5mZWRv cmFwcm9qZWN0Lm9yZy9wdWIvZmVkb3JhL2xpbnV4L2RldmVsb3BtZW50L3Jhd2hpZGUvRXZlcnl0 aGluZy94ODZfNjQvb3MiLAotLSAgICAgICAgICAgICAgICBkb2VzX25vdF9yYWlzZSgpCi0tICAg ICAgICAgICAgKSwKLS0gICAgICAgICAgICAoCi0tICAgICAgICAgICAgICAgIGVudW1zLk1pcnJv clR5cGUuTUlSUk9STElTVCwKLS0gICAgICAgICAgICAgICAgImh0dHBzOi8vbWlycm9ycy5mZWRv cmFwcm9qZWN0Lm9yZy9taXJyb3JsaXN0P3JlcG89cmF3aGlkZSZhcmNoPXg4Nl82NCIsCi0tICAg ICAgICAgICAgICAgIGRvZXNfbm90X3JhaXNlKCkKLS0gICAgICAgICAgICApLAotLSAgICAgICAg ICAgICgKLS0gICAgICAgICAgICAgICAgZW51bXMuTWlycm9yVHlwZS5NRVRBTElOSywKLS0gICAg ICAgICAgICAgICAgImh0dHBzOi8vbWlycm9ycy5mZWRvcmFwcm9qZWN0Lm9yZy9tZXRhbGluaz9y ZXBvPXJhd2hpZGUmYXJjaD14ODZfNjQiLAotLSAgICAgICAgICAgICAgICBkb2VzX25vdF9yYWlz ZSgpCi0tICAgICAgICAgICAgKSwKLS0gICAgICAgICAgICAoCi0tICAgICAgICAgICAgICAgIGVu dW1zLk1pcnJvclR5cGUuQkFTRVVSTCwKLS0gICAgICAgICAgICAgICAgImh0dHA6Ly93d3cuZXhh bXBsZS5jb20vcGF0aC90by9zb21lL3JlcG8iLAotLSAgICAgICAgICAgICAgICBweXRlc3QucmFp c2VzKGNleGNlcHRpb25zLkNYKQotLSAgICAgICAgICAgICksCi0rQHB5dGVzdC5maXh0dXJlKHNj b3BlPSJmdW5jdGlvbiIsIGF1dG91c2U9VHJ1ZSkKLStkZWYgcmVzZXRfbGlicmVwbygpOgotKyAg ICBoYXNfbGlicmVwbyA9IHJlcG9zeW5jLkhBU19MSUJSRVBPCi0rICAgIHlpZWxkCi0rICAgIHJl cG9zeW5jLkhBU19MSUJSRVBPID0gaGFzX2xpYnJlcG8KLSsKLSsKLStkZWYgdGVzdF9yZXBvX3dh bGtlcihtb2NrZXI6ICJNb2NrZXJGaXh0dXJlIiwgdG1wX3BhdGg6IFBhdGgpOgotKyAgICAjIEFy cmFuZ2UKLSsgICAgZGVmIHRlc3RfZnVuKGFyZzogQW55LCB0b3A6IEFueSwgbmFtZXM6IEFueSk6 Ci0rICAgICAgICBwYXNzCi0rCi0rICAgIHN1YmRpcjEgPSB0bXBfcGF0aCAvICJzdWIxIgotKyAg ICBzdWJkaXIyID0gdG1wX3BhdGggLyAic3ViMiIKLSsgICAgc3ViZGlyMS5ta2RpcigpCi0rICAg IHN1YmRpcjIubWtkaXIoKQotKyAgICBzcHkgPSBtb2NrZXIuTW9jayh3cmFwcz10ZXN0X2Z1bikK LSsKLSsgICAgIyBBY3QKLSsgICAgcmVwb3N5bmMucmVwb193YWxrZXIodG1wX3BhdGgsIHNweSwg Tm9uZSkgICMgdHlwZTogaWdub3JlCi0rCi0rICAgICMgQXNzZXJ0Ci0rICAgIGFzc2VydCBzcHku bW9ja19jYWxscyA9PSBbCi0rICAgICAgICAjIHNldHRpbmdzLnlhbWwgaXMgaGVyZSBiZWNhdXNl IG9mIG91ciBhdXRvdXNlIGZpeHR1cmUgdGhhdCB3ZSB1c2UgdG8gcmVzdG9yZSB0aGUgc2V0dGlu Z3MKLSsgICAgICAgIG1vY2tlci5jYWxsKE5vbmUsIHRtcF9wYXRoLCBbInNldHRpbmdzLnlhbWwi LCAic3ViMSIsICJzdWIyIl0pLAotKyAgICAgICAgbW9ja2VyLmNhbGwoTm9uZSwgc3RyKHN1YmRp cjEpLCBbXSksCi0rICAgICAgICBtb2NrZXIuY2FsbChOb25lLCBzdHIoc3ViZGlyMiksIFtdKSwK LSsgICAgXQotKwotKwotK0BweXRlc3QubWFyay5wYXJhbWV0cml6ZSgKLSsgICAgImlucHV0X2hh c19saWJyZXBvLGlucHV0X3BhdGhfZXhpc3RzX3NpZGVfZWZmZWN0LGV4cGVjdGVkX2V4Y2VwdGlv bixleHBlY3RlZF9yZXN1bHQiLAotKyAgICBbCi0rICAgICAgICAoVHJ1ZSwgW0ZhbHNlLCBUcnVl XSwgZG9lc19ub3RfcmFpc2UoKSwgWyIvdXNyL2Jpbi9kbmYiLCAicmVwb3N5bmMiXSksCi0rICAg ICAgICAoVHJ1ZSwgW1RydWUsIEZhbHNlXSwgZG9lc19ub3RfcmFpc2UoKSwgWyIvdXNyL2Jpbi9y ZXBvc3luYyJdKSwKLSsgICAgICAgIChUcnVlLCBbRmFsc2UsIEZhbHNlXSwgcHl0ZXN0LnJhaXNl cyhjZXhjZXB0aW9ucy5DWCksICIiKSwKLSsgICAgICAgIChGYWxzZSwgW0ZhbHNlLCBUcnVlXSwg cHl0ZXN0LnJhaXNlcyhjZXhjZXB0aW9ucy5DWCksICIiKSwKLSsgICAgXSwKLSspCi0rZGVmIHRl c3RfcmVwb3N5bmNfY21kKAotKyAgICBtb2NrZXI6ICJNb2NrZXJGaXh0dXJlIiwKLSsgICAgcmVw b3N5bmNfb2JqZWN0OiByZXBvc3luYy5SZXBvU3luYywKLSsgICAgaW5wdXRfaGFzX2xpYnJlcG86 IGJvb2wsCi0rICAgIGlucHV0X3BhdGhfZXhpc3RzX3NpZGVfZWZmZWN0OiBMaXN0W2Jvb2xdLAot KyAgICBleHBlY3RlZF9leGNlcHRpb246IEFueSwKLSsgICAgZXhwZWN0ZWRfcmVzdWx0OiBVbmlv bltMaXN0W3N0cl0sIHN0cl0sCi0rKToKLSsgICAgIyBBcnJhbmdlCi0rICAgIG1vY2tlci5wYXRj aCgib3MucGF0aC5leGlzdHMiLCBzaWRlX2VmZmVjdD1pbnB1dF9wYXRoX2V4aXN0c19zaWRlX2Vm ZmVjdCkKLSsgICAgcmVwb3N5bmMuSEFTX0xJQlJFUE8gPSBpbnB1dF9oYXNfbGlicmVwbwotKwot KyAgICAjIEFjdAotKyAgICB3aXRoIGV4cGVjdGVkX2V4Y2VwdGlvbjoKLSsgICAgICAgIHJlc3Vs dCA9IHJlcG9zeW5jX29iamVjdC5yZXBvc3luY19jbWQoKQotKwotKyAgICAgICAgIyBBc3NlcnQK LSsgICAgICAgIGFzc2VydCByZXN1bHQgPT0gZXhwZWN0ZWRfcmVzdWx0Ci0rCi0rCi0rZGVmIHRl c3RfcnVuKG1vY2tlcjogIk1vY2tlckZpeHR1cmUiLCByZXBvc3luY19vYmplY3Q6IHJlcG9zeW5j LlJlcG9TeW5jLCByZXBvOiBSZXBvKToKLSsgICAgIyBBcnJhbmdlCi0rICAgIGVudl92YXJzOiBE aWN0W3N0ciwgQW55XSA9IHt9Ci0rICAgIG1vY2tlci5wYXRjaCgib3MubWFrZWRpcnMiKQotKyAg ICBtb2NrZXIucGF0Y2goIm9zLnBhdGguaXNkaXIiLCByZXR1cm5fdmFsdWU9VHJ1ZSkKLSsgICAg bW9ja2VyLnBhdGNoKAotKyAgICAgICAgIm9zLnBhdGguam9pbiIsCi0rICAgICAgICBzaWRlX2Vm ZmVjdD1bCi0rICAgICAgICAgICAgIi9zcnYvd3d3L2NvYmJsZXIvcmVwb19taXJyb3IiLAotKyAg ICAgICAgICAgICIvc3J2L3d3dy9jb2JibGVyL3JlcG9fbWlycm9yLyVzIiAlIHJlcG8ubmFtZSwK LSAgICAgICAgIF0sCi0gICAgICkKLS0gICAgZGVmIHRlc3RfcmVwb3N5bmNfeXVtKAotLSAgICAg ICAgc2VsZiwKLS0gICAgICAgIGlucHV0X21pcnJvcl90eXBlLAotLSAgICAgICAgaW5wdXRfbWly cm9yLAotLSAgICAgICAgZXhwZWN0ZWRfZXhjZXB0aW9uLAotLSAgICAgICAgYXBpLAotLSAgICAg ICAgcmVwbywKLS0gICAgICAgIHJlcG9zeW5jCi0tICAgICk6Ci0tICAgICAgICAjIEFycmFuZ2UK LS0gICAgICAgIHRlc3RfcmVwbyA9IHJlcG8KLS0gICAgICAgIHRlc3RfcmVwby5icmVlZCA9IGVu dW1zLlJlcG9CcmVlZHMuWVVNCi0tICAgICAgICB0ZXN0X3JlcG8ubWlycm9yID0gaW5wdXRfbWly cm9yCi0tICAgICAgICB0ZXN0X3JlcG8ubWlycm9yX3R5cGUgPSBpbnB1dF9taXJyb3JfdHlwZQot LSAgICAgICAgdGVzdF9yZXBvLnJwbV9saXN0ID0gImZlZG9yYS1ncGcta2V5cyIKLS0gICAgICAg IHRlc3Rfc2V0dGluZ3MgPSBhcGkuc2V0dGluZ3MoKQotLSAgICAgICAgcmVwb19wYXRoID0gb3Mu cGF0aC5qb2luKHRlc3Rfc2V0dGluZ3Mud2ViZGlyLCAicmVwb19taXJyb3IiLCB0ZXN0X3JlcG8u bmFtZSkKLS0KLS0gICAgICAgICMgQWN0ICYgQXNzZXJ0Ci0tICAgICAgICB3aXRoIGV4cGVjdGVk X2V4Y2VwdGlvbjoKLS0gICAgICAgICAgICByZXBvc3luYy5ydW4odGVzdF9yZXBvLm5hbWUpCi0t ICAgICAgICAgICAgcmVzdWx0ID0gb3MucGF0aC5leGlzdHMocmVwb19wYXRoKQotLSAgICAgICAg ICAgIGlmIHRlc3RfcmVwby5ycG1fbGlzdCBhbmQgdGVzdF9yZXBvLnJwbV9saXN0ICE9IFtdOgot LSAgICAgICAgICAgICAgICBmb3IgcnBtIGluIHRlc3RfcmVwby5ycG1fbGlzdDoKLS0gICAgICAg ICAgICAgICAgICAgIGFzc2VydCBnbG9iLmdsb2Iob3MucGF0aC5qb2luKHJlcG9fcGF0aCwgIioq IiwgcnBtKSArICIqLnJwbSIsIHJlY3Vyc2l2ZT1UcnVlKSAhPSBbXQotLSAgICAgICAgICAgIGFz c2VydCByZXN1bHQKLS0gICAgICAgICAgICAjIFRlc3QgdGhhdCByZS1kb3dubG9hZGluZyB0aGUg bWV0YWRhdGEgaW4gLm9yaWdpbi9yZXBvZGF0YSB3aWxsIG5vdCByZXN1bHQgaW4gYW4gZXJyb3IK LS0gICAgICAgICAgICByZXBvc3luYy5ydW4odGVzdF9yZXBvLm5hbWUpCi0tCi0tICAgIEBweXRl c3QubWFyay51c2VmaXh0dXJlcygicmVtb3ZlX3JlcG8iKQotLSAgICBAcHl0ZXN0Lm1hcmsucGFy YW1ldHJpemUoCi0tICAgICAgICAiaW5wdXRfbWlycm9yX3R5cGUsaW5wdXRfbWlycm9yLGlucHV0 X2FyY2gsaW5wdXRfcnBtX2xpc3QsZXhwZWN0ZWRfZXhjZXB0aW9uIiwKLSsgICAgbW9ja2VyLnBh dGNoKCJvcy5lbnZpcm9uIiwgcmV0dXJuX3ZhbHVlPWVudl92YXJzKQotKyAgICBtb2NrZXIucGF0 Y2gub2JqZWN0KHJlcG9zeW5jX29iamVjdCwgInJlcG9zIiwgcmV0dXJuX3ZhbHVlPVtyZXBvXSkK LSsgICAgbW9ja2VyLnBhdGNoLm9iamVjdChyZXBvc3luY19vYmplY3QsICJzeW5jIikKLSsgICAg bW9ja2VyLnBhdGNoLm9iamVjdChyZXBvc3luY19vYmplY3QsICJ1cGRhdGVfcGVybWlzc2lvbnMi KQotKyAgICByZXBvc3luY19vYmplY3QucmVwb3MgPSBbcmVwb10gICMgdHlwZTogaWdub3JlCi0r Ci0rICAgICMgQWN0Ci0rICAgIHJlcG9zeW5jX29iamVjdC5ydW4oKQotKwotKyAgICAjIEFzc2Vy dAotKyAgICAjIFRoaXMgaGFzIHRvIGJlIDAgc2luY2UgYWxsIGVudiB2YXJzIG5lZWQgdG8gYmUg cmVtb3ZlZCBhZnRlciByZXBvc3luYyBoYXMgcnVuLgotKyAgICBhc3NlcnQgbGVuKGVudl92YXJz KSA9PSAwCi0rCi0rCi0rZGVmIHRlc3RfZ2VuX3VybGdyYWJfc3NsX29wdHMocmVwb3N5bmNfb2Jq ZWN0OiByZXBvc3luYy5SZXBvU3luYyk6Ci0rICAgICMgQXJyYW5nZQotKyAgICBpbnB1dF9kaWN0 OiBEaWN0W3N0ciwgQW55XSA9IHt9Ci0rCi0rICAgICMgQWN0Ci0rICAgIHJlc3VsdCA9IHJlcG9z eW5jX29iamVjdC5nZW5fdXJsZ3JhYl9zc2xfb3B0cyhpbnB1dF9kaWN0KQotKwotKyAgICAjIEFz c2VydAotKyAgICBhc3NlcnQgaXNpbnN0YW5jZShyZXN1bHQsIHR1cGxlKQotKyAgICBhc3NlcnQg bGVuKHJlc3VsdCkgPT0gMgotKyAgICAjIFRoZSBkYXRhIG9mIHRoZSBmaXJzdCBlbGVtZW50IGlz IGtpbmQgb2YgZmxleGlibGUgbGV0J3Mgc2tpcCBhc3NlcnRpbmcgaXQgZm9yIG5vdwotKyAgICBh c3NlcnQgaXNpbnN0YW5jZShyZXN1bHRbMV0sIGJvb2wpCi0rCi0rCi0rQHB5dGVzdC5tYXJrLnVz ZWZpeHR1cmVzKCJyZW1vdmVfcmVwbyIpCi0rQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKAotKyAg ICAiaW5wdXRfbWlycm9yX3R5cGUsaW5wdXRfbWlycm9yLGV4cGVjdGVkX2V4Y2VwdGlvbiIsCi0r ICAgIFsKLSsgICAgICAgICgKLSsgICAgICAgICAgICBlbnVtcy5NaXJyb3JUeXBlLkJBU0VVUkws Ci0rICAgICAgICAgICAgImh0dHA6Ly9kb3dubG9hZC5mZWRvcmFwcm9qZWN0Lm9yZy9wdWIvZmVk b3JhL2xpbnV4L2RldmVsb3BtZW50L3Jhd2hpZGUvRXZlcnl0aGluZy94ODZfNjQvb3MiLAotKyAg ICAgICAgICAgIGRvZXNfbm90X3JhaXNlKCksCi0rICAgICAgICApLAotKyAgICAgICAgKAotKyAg ICAgICAgICAgIGVudW1zLk1pcnJvclR5cGUuTUlSUk9STElTVCwKLSsgICAgICAgICAgICAiaHR0 cHM6Ly9taXJyb3JzLmZlZG9yYXByb2plY3Qub3JnL21pcnJvcmxpc3Q/cmVwbz1yYXdoaWRlJmFy Y2g9eDg2XzY0IiwKLSsgICAgICAgICAgICBkb2VzX25vdF9yYWlzZSgpLAotKyAgICAgICAgKSwK LSsgICAgICAgICgKLSsgICAgICAgICAgICBlbnVtcy5NaXJyb3JUeXBlLk1FVEFMSU5LLAotKyAg ICAgICAgICAgICJodHRwczovL21pcnJvcnMuZmVkb3JhcHJvamVjdC5vcmcvbWV0YWxpbms/cmVw bz1yYXdoaWRlJmFyY2g9eDg2XzY0IiwKLSsgICAgICAgICAgICBkb2VzX25vdF9yYWlzZSgpLAot KyAgICAgICAgKSwKLSsgICAgXSwKLSspCi0rZGVmIHRlc3RfcmVwb3N5bmNfeXVtKAotKyAgICBt b2NrZXI6ICJNb2NrZXJGaXh0dXJlIiwKLSsgICAgaW5wdXRfbWlycm9yX3R5cGU6IGVudW1zLk1p cnJvclR5cGUsCi0rICAgIGlucHV0X21pcnJvcjogc3RyLAotKyAgICBleHBlY3RlZF9leGNlcHRp b246IEFueSwKLSsgICAgY29iYmxlcl9hcGk6IENvYmJsZXJBUEksCi0rICAgIHJlcG86IFJlcG8s Ci0rICAgIHJlcG9zeW5jX29iamVjdDogcmVwb3N5bmMuUmVwb1N5bmMsCi0rKToKLSsgICAgIyBB cnJhbmdlCi0rICAgIHRlc3RfcmVwbyA9IHJlcG8KLSsgICAgdGVzdF9yZXBvLmJyZWVkID0gZW51 bXMuUmVwb0JyZWVkcy5ZVU0KLSsgICAgdGVzdF9yZXBvLm1pcnJvciA9IGlucHV0X21pcnJvcgot KyAgICB0ZXN0X3JlcG8ubWlycm9yX3R5cGUgPSBpbnB1dF9taXJyb3JfdHlwZQotKyAgICB0ZXN0 X3JlcG8ucnBtX2xpc3QgPSAiZmVkb3JhLWdwZy1rZXlzIgotKyAgICB0ZXN0X3NldHRpbmdzID0g Y29iYmxlcl9hcGkuc2V0dGluZ3MoKQotKyAgICByZXBvX3BhdGggPSBvcy5wYXRoLmpvaW4odGVz dF9zZXR0aW5ncy53ZWJkaXIsICJyZXBvX21pcnJvciIsIHRlc3RfcmVwby5uYW1lKQotKyAgICBt b2NrZWRfc3VicHJvY2VzcyA9IG1vY2tlci5wYXRjaCgKLSsgICAgICAgICJjb2JibGVyLnV0aWxz LnN1YnByb2Nlc3NfY2FsbCIsIGF1dG9zcGVjPVRydWUsIHJldHVybl92YWx1ZT0wCi0rICAgICkK LSsgICAgbW9ja2VyLnBhdGNoLm9iamVjdCgKLSsgICAgICAgIHJlcG9zeW5jX29iamVjdCwgImNy ZWF0ZV9sb2NhbF9maWxlIiwgcmV0dXJuX3ZhbHVlPSIvY3JlYXRlL2xvY2FsL2ZpbGUiCi0rICAg ICkKLSsgICAgbW9ja2VyLnBhdGNoLm9iamVjdCgKLSsgICAgICAgIHJlcG9zeW5jX29iamVjdCwg InJlcG9zeW5jX2NtZCIsIHJldHVybl92YWx1ZT1bIi9teS9mYWtlL2RuZiIsICJyZXBvc3luYyJd Ci0rICAgICkKLSsgICAgbW9ja2VyLnBhdGNoLm9iamVjdChyZXBvc3luY19vYmplY3QsICJyZmxh Z3MiLCByZXR1cm5fdmFsdWU9Ii0tZmFrZS1yLWZsYWtnIikKLSsgICAgbW9ja2VyLnBhdGNoLm9i amVjdCgKLSsgICAgICAgIHJlcG9zeW5jX29iamVjdCwKLSsgICAgICAgICJnZW5fdXJsZ3JhYl9z c2xfb3B0cyIsCi0rICAgICAgICByZXR1cm5fdmFsdWU9KCgiVE9ETyIsICJUT0RPIiwgIlRPRE8i KSwgRmFsc2UpLAotKyAgICApCi0rICAgIG1vY2tlci5wYXRjaCgib3MucGF0aC5leGlzdHMiLCBy ZXR1cm5fdmFsdWU9VHJ1ZSkKLSsgICAgbW9ja2VyLnBhdGNoKCJzaHV0aWwucm10cmVlIikKLSsg ICAgbW9ja2VyLnBhdGNoKCJvcy5tYWtlZGlycyIpCi0rICAgIG1vY2tlZF9yZXBvX3dhbGtlciA9 IG1vY2tlci5wYXRjaCgiY29iYmxlci5hY3Rpb25zLnJlcG9zeW5jLnJlcG9fd2Fsa2VyIikKLSsg ICAgaGFuZGxlX21vY2sgPSBtb2NrZXIuTWFnaWNNb2NrKCkKLSsgICAgcmVzdWx0X21vY2sgPSBt b2NrZXIuTWFnaWNNb2NrKCkKLSsgICAgbW9ja2VyLnBhdGNoKCJsaWJyZXBvLkhhbmRsZSIsIHJl dHVybl92YWx1ZT1oYW5kbGVfbW9jaykKLSsgICAgbW9ja2VyLnBhdGNoKCJsaWJyZXBvLlJlc3Vs dCIsIHJldHVybl92YWx1ZT1yZXN1bHRfbW9jaykKLSsKLSsgICAgIyBBY3QgJiBBc3NlcnQKLSsg ICAgd2l0aCBleHBlY3RlZF9leGNlcHRpb246Ci0rICAgICAgICByZXBvc3luY19vYmplY3QueXVt X3N5bmMocmVwbykKLSsKLSsgICAgICAgIG1vY2tlZF9zdWJwcm9jZXNzLmFzc2VydF9jYWxsZWRf d2l0aCgKLSsgICAgICAgICAgICBbCi0rICAgICAgICAgICAgICAgICIvdXNyL2Jpbi9kbmYiLAot KyAgICAgICAgICAgICAgICAiZG93bmxvYWQiLAotKyAgICAgICAgICAgICAgICAiLS10ZXN0Zmxh ZyIsCi0rICAgICAgICAgICAgICAgICItLWRpc2FibGVyZXBvPSoiLAotKyAgICAgICAgICAgICAg ICBmIi0tZW5hYmxlcmVwbz17cmVwby5uYW1lfSIsCi0rICAgICAgICAgICAgICAgICItYz0vY3Jl YXRlL2xvY2FsL2ZpbGUiLAotKyAgICAgICAgICAgICAgICBmIi0tZGVzdGRpcj17cmVwb19wYXRo fSIsCi0rICAgICAgICAgICAgICAgICJmZWRvcmEtZ3BnLWtleXMiLAotKyAgICAgICAgICAgIF0s Ci0rICAgICAgICAgICAgc2hlbGw9RmFsc2UsCi0rICAgICAgICApCi0rICAgICAgICBoYW5kbGVf bW9jay5wZXJmb3JtLmFzc2VydF9jYWxsZWRfd2l0aChyZXN1bHRfbW9jaykKLSsgICAgICAgIGFz c2VydCBtb2NrZWRfcmVwb193YWxrZXIuY2FsbF9jb3VudCA9PSAxCi0rCi0rCi0rQHB5dGVzdC5t YXJrLnVzZWZpeHR1cmVzKCJyZW1vdmVfcmVwbyIpCi0rQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXpl KAotKyAgICAiaW5wdXRfbWlycm9yX3R5cGUsaW5wdXRfbWlycm9yLGlucHV0X2FyY2gsaW5wdXRf cnBtX2xpc3QsZXhwZWN0ZWRfZXhjZXB0aW9uIiwKLSsgICAgWwotKyAgICAgICAgKAotKyAgICAg ICAgICAgIGVudW1zLk1pcnJvclR5cGUuQkFTRVVSTCwKLSsgICAgICAgICAgICAiaHR0cDovL2Z0 cC5kZWJpYW4ub3JnL2RlYmlhbiIsCi0rICAgICAgICAgICAgZW51bXMuUmVwb0FyY2hzLlg4Nl82 NCwKLSsgICAgICAgICAgICAiIiwKLSsgICAgICAgICAgICBkb2VzX25vdF9yYWlzZSgpLAotKyAg ICAgICAgKSwKLSsgICAgICAgICgKLSsgICAgICAgICAgICBlbnVtcy5NaXJyb3JUeXBlLk1JUlJP UkxJU1QsCi0rICAgICAgICAgICAgImh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4iLAotKyAg ICAgICAgICAgIGVudW1zLlJlcG9BcmNocy5YODZfNjQsCi0rICAgICAgICAgICAgIiIsCi0rICAg ICAgICAgICAgcHl0ZXN0LnJhaXNlcyhjZXhjZXB0aW9ucy5DWCksCi0rICAgICAgICApLAotKyAg ICAgICAgKAotKyAgICAgICAgICAgIGVudW1zLk1pcnJvclR5cGUuTUVUQUxJTkssCi0rICAgICAg ICAgICAgImh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4iLAotKyAgICAgICAgICAgIGVudW1z LlJlcG9BcmNocy5YODZfNjQsCi0rICAgICAgICAgICAgIiIsCi0rICAgICAgICAgICAgcHl0ZXN0 LnJhaXNlcyhjZXhjZXB0aW9ucy5DWCksCi0rICAgICAgICApLAotKyAgICAgICAgKAotKyAgICAg ICAgICAgIGVudW1zLk1pcnJvclR5cGUuQkFTRVVSTCwKLSsgICAgICAgICAgICAiaHR0cDovL2Z0 cC5kZWJpYW4ub3JnL2RlYmlhbiIsCi0rICAgICAgICAgICAgZW51bXMuUmVwb0FyY2hzLk5PTkUs Ci0rICAgICAgICAgICAgIiIsCi0rICAgICAgICAgICAgcHl0ZXN0LnJhaXNlcyhjZXhjZXB0aW9u cy5DWCksCi0rICAgICAgICApLAotKyAgICAgICAgKAotKyAgICAgICAgICAgIGVudW1zLk1pcnJv clR5cGUuQkFTRVVSTCwKLSsgICAgICAgICAgICAiaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlh biIsCi0rICAgICAgICAgICAgZW51bXMuUmVwb0FyY2hzLlg4Nl82NCwKLSsgICAgICAgICAgICAi ZHBrZyIsCi0rICAgICAgICAgICAgcHl0ZXN0LnJhaXNlcyhjZXhjZXB0aW9ucy5DWCksCi0rICAg ICAgICApLAotKyAgICBdLAotKykKLStkZWYgdGVzdF9yZXBvc3luY19hcHQoCi0rICAgIG1vY2tl cjogIk1vY2tlckZpeHR1cmUiLAotKyAgICBpbnB1dF9taXJyb3JfdHlwZTogZW51bXMuTWlycm9y VHlwZSwKLSsgICAgaW5wdXRfbWlycm9yOiBzdHIsCi0rICAgIGlucHV0X2FyY2g6IGVudW1zLlJl cG9BcmNocywKLSsgICAgaW5wdXRfcnBtX2xpc3Q6IHN0ciwKLSsgICAgZXhwZWN0ZWRfZXhjZXB0 aW9uOiBBbnksCi0rICAgIGNvYmJsZXJfYXBpOiBDb2JibGVyQVBJLAotKyAgICByZXBvOiBSZXBv LAotKyAgICByZXBvc3luY19vYmplY3Q6IHJlcG9zeW5jLlJlcG9TeW5jLAotKyk6Ci0rICAgICMg QXJyYW5nZQotKyAgICB0ZXN0X3JlcG8gPSByZXBvCi0rICAgIHRlc3RfcmVwby5icmVlZCA9IGVu dW1zLlJlcG9CcmVlZHMuQVBUCi0rICAgIHRlc3RfcmVwby5hcmNoID0gaW5wdXRfYXJjaAotKyAg ICB0ZXN0X3JlcG8uYXB0X2NvbXBvbmVudHMgPSAibWFpbiIKLSsgICAgdGVzdF9yZXBvLmFwdF9k aXN0cyA9ICJzdGFibGUiCi0rICAgIHRlc3RfcmVwby5taXJyb3IgPSBpbnB1dF9taXJyb3IKLSsg ICAgdGVzdF9yZXBvLm1pcnJvcl90eXBlID0gaW5wdXRfbWlycm9yX3R5cGUKLSsgICAgdGVzdF9y ZXBvLnJwbV9saXN0ID0gaW5wdXRfcnBtX2xpc3QKLSsgICAgdGVzdF9zZXR0aW5ncyA9IGNvYmJs ZXJfYXBpLnNldHRpbmdzKCkKLSsgICAgcmVwb19wYXRoID0gb3MucGF0aC5qb2luKHRlc3Rfc2V0 dGluZ3Mud2ViZGlyLCAicmVwb19taXJyb3IiLCB0ZXN0X3JlcG8ubmFtZSkKLSsgICAgbW9ja2Vk X3N1YnByb2Nlc3MgPSBtb2NrZXIucGF0Y2goCi0rICAgICAgICAiY29iYmxlci51dGlscy5zdWJw cm9jZXNzX2NhbGwiLCBhdXRvc3BlYz1UcnVlLCByZXR1cm5fdmFsdWU9MAotKyAgICApCi0rICAg IG1vY2tlci5wYXRjaCgib3MucGF0aC5leGlzdHMiLCByZXR1cm5fdmFsdWU9VHJ1ZSkKLSsKLSsg ICAgIyBBY3QKLSsgICAgd2l0aCBleHBlY3RlZF9leGNlcHRpb246Ci0rICAgICAgICByZXBvc3lu Y19vYmplY3QuYXB0X3N5bmMocmVwbykKLSsKLSsgICAgICAgICMgQXNzZXJ0Ci0rICAgICAgICBt b2NrZWRfc3VicHJvY2Vzcy5hc3NlcnRfY2FsbGVkX3dpdGgoCi0rICAgICAgICAgICAgWwotKyAg ICAgICAgICAgICAgICAiL3Vzci9iaW4vZGVibWlycm9yIiwKLSsgICAgICAgICAgICAgICAgIi0t bm9jbGVhbnVwIiwKLSsgICAgICAgICAgICAgICAgIi0tbWV0aG9kPWh0dHAiLAotKyAgICAgICAg ICAgICAgICAiLS1ob3N0PWZ0cC5kZWJpYW4ub3JnIiwKLSsgICAgICAgICAgICAgICAgIi0tcm9v dD0vZGViaWFuIiwKLSsgICAgICAgICAgICAgICAgIi0tZGlzdD1zdGFibGUiLAotKyAgICAgICAg ICAgICAgICAiLS1zZWN0aW9uPW1haW4iLAotKyAgICAgICAgICAgICAgICByZXBvX3BhdGgsCi0r ICAgICAgICAgICAgICAgICItLW5vc291cmNlIiwKLSsgICAgICAgICAgICAgICAgIi1hPWFtZDY0 IiwKLSsgICAgICAgICAgICBdLAotKyAgICAgICAgICAgIHNoZWxsPUZhbHNlLAotKyAgICAgICAg KQotKwotKwotK0BweXRlc3QubWFyay51c2VmaXh0dXJlcygicmVtb3ZlX3JlcG8iKQotK0BweXRl c3QubWFyay5wYXJhbWV0cml6ZSgKLSsgICAgImlucHV0X21pcnJvcl90eXBlLGlucHV0X21pcnJv cixleHBlY3RlZF9leGNlcHRpb24iLAotKyAgICBbCi0rICAgICAgICAoCi0rICAgICAgICAgICAg ZW51bXMuTWlycm9yVHlwZS5CQVNFVVJMLAotKyAgICAgICAgICAgICJodHRwOi8vZG93bmxvYWQu ZmVkb3JhcHJvamVjdC5vcmcvcHViL2ZlZG9yYS9saW51eC9kZXZlbG9wbWVudC9yYXdoaWRlL0V2 ZXJ5dGhpbmcveDg2XzY0L29zL1BhY2thZ2VzLzIiLAotKyAgICAgICAgICAgIGRvZXNfbm90X3Jh aXNlKCksCi0rICAgICAgICApLAotKyAgICAgICAgKAotKyAgICAgICAgICAgIGVudW1zLk1pcnJv clR5cGUuTUlSUk9STElTVCwKLSsgICAgICAgICAgICAiaHR0cDovL2Rvd25sb2FkLmZlZG9yYXBy b2plY3Qub3JnL3B1Yi9mZWRvcmEvbGludXgvZGV2ZWxvcG1lbnQvcmF3aGlkZS9FdmVyeXRoaW5n L3g4Nl82NC9vcy9QYWNrYWdlcy8yIiwKLSsgICAgICAgICAgICBweXRlc3QucmFpc2VzKGNleGNl cHRpb25zLkNYKSwKLSsgICAgICAgICksCi0rICAgICAgICAoCi0rICAgICAgICAgICAgZW51bXMu TWlycm9yVHlwZS5NRVRBTElOSywKLSsgICAgICAgICAgICAiaHR0cDovL2Rvd25sb2FkLmZlZG9y YXByb2plY3Qub3JnL3B1Yi9mZWRvcmEvbGludXgvZGV2ZWxvcG1lbnQvcmF3aGlkZS9FdmVyeXRo aW5nL3g4Nl82NC9vcy9QYWNrYWdlcy8yIiwKLSsgICAgICAgICAgICBweXRlc3QucmFpc2VzKGNl eGNlcHRpb25zLkNYKSwKLSsgICAgICAgICksCi0rICAgIF0sCi0rKQotK2RlZiB0ZXN0X3JlcG9z eW5jX3dnZXQoCi0rICAgIG1vY2tlcjogIk1vY2tlckZpeHR1cmUiLAotKyAgICBpbnB1dF9taXJy b3JfdHlwZTogZW51bXMuTWlycm9yVHlwZSwKLSsgICAgaW5wdXRfbWlycm9yOiBzdHIsCi0rICAg IGV4cGVjdGVkX2V4Y2VwdGlvbjogQW55LAotKyAgICBjb2JibGVyX2FwaTogQ29iYmxlckFQSSwK LSsgICAgcmVwbzogUmVwbywKLSsgICAgcmVwb3N5bmNfb2JqZWN0OiByZXBvc3luYy5SZXBvU3lu YywKLSspOgotKyAgICAjIEFycmFuZ2UKLSsgICAgdGVzdF9yZXBvID0gcmVwbwotKyAgICB0ZXN0 X3JlcG8uYnJlZWQgPSBlbnVtcy5SZXBvQnJlZWRzLldHRVQKLSsgICAgdGVzdF9yZXBvLm1pcnJv ciA9IGlucHV0X21pcnJvcgotKyAgICB0ZXN0X3JlcG8ubWlycm9yX3R5cGUgPSBpbnB1dF9taXJy b3JfdHlwZQotKyAgICByZXBvX3BhdGggPSBvcy5wYXRoLmpvaW4oCi0rICAgICAgICByZXBvc3lu Y19vYmplY3Quc2V0dGluZ3Mud2ViZGlyLCAicmVwb19taXJyb3IiLCB0ZXN0X3JlcG8ubmFtZQot KyAgICApCi0rICAgIG1vY2tlZF9zdWJwcm9jZXNzID0gbW9ja2VyLnBhdGNoKAotKyAgICAgICAg ImNvYmJsZXIudXRpbHMuc3VicHJvY2Vzc19jYWxsIiwgYXV0b3NwZWM9VHJ1ZSwgcmV0dXJuX3Zh bHVlPTAKLSsgICAgKQotKyAgICBtb2NrZXIucGF0Y2goImNvYmJsZXIuYWN0aW9ucy5yZXBvc3lu Yy5yZXBvX3dhbGtlciIpCi0rICAgIG1vY2tlci5wYXRjaC5vYmplY3QocmVwb3N5bmNfb2JqZWN0 LCAiY3JlYXRlX2xvY2FsX2ZpbGUiKQotKwotKyAgICAjIEFjdAotKyAgICB3aXRoIGV4cGVjdGVk X2V4Y2VwdGlvbjoKLSsgICAgICAgIHJlcG9zeW5jX29iamVjdC53Z2V0X3N5bmModGVzdF9yZXBv KQotKwotKyAgICAgICAgIyBBc3NlcnQKLSsgICAgICAgIG1vY2tlZF9zdWJwcm9jZXNzLmFzc2Vy dF9jYWxsZWRfd2l0aCgKLSsgICAgICAgICAgICBbCi0rICAgICAgICAgICAgICAgICJ3Z2V0IiwK LSsgICAgICAgICAgICAgICAgIi1OIiwKLSsgICAgICAgICAgICAgICAgIi1ucCIsCi0rICAgICAg ICAgICAgICAgICItciIsCi0rICAgICAgICAgICAgICAgICItbCIsCi0rICAgICAgICAgICAgICAg ICJpbmYiLAotKyAgICAgICAgICAgICAgICAiLW5kIiwKLSsgICAgICAgICAgICAgICAgIi1QIiwK LSsgICAgICAgICAgICAgICAgcmVwb19wYXRoLAotKyAgICAgICAgICAgICAgICBpbnB1dF9taXJy b3IsCi0rICAgICAgICAgICAgXSwKLSsgICAgICAgICAgICBzaGVsbD1GYWxzZSwKLSsgICAgICAg ICkKLSsKLSsKLStkZWYgdGVzdF9yZXBvc3luY19yaG4oCi0rICAgIG1vY2tlcjogIk1vY2tlckZp eHR1cmUiLCByZXBvc3luY19vYmplY3Q6IHJlcG9zeW5jLlJlcG9TeW5jLCByZXBvOiBSZXBvCi0r KToKLSsgICAgIyBBcnJhbmdlCi0rICAgIHJlcG8ubWlycm9yID0gInJobjovLyVzIiAlIHJlcG8u bmFtZQotKyAgICBtb2NrZWRfc3VicHJvY2VzcyA9IG1vY2tlci5wYXRjaCgKLSsgICAgICAgICJj b2JibGVyLnV0aWxzLnN1YnByb2Nlc3NfY2FsbCIsIGF1dG9zcGVjPVRydWUsIHJldHVybl92YWx1 ZT0wCi0rICAgICkKLSsgICAgbW9ja2VyLnBhdGNoKCJvcy5wYXRoLmlzZGlyIiwgcmV0dXJuX3Zh bHVlPVRydWUpCi0rICAgIG1vY2tlci5wYXRjaCgib3MubWFrZWRpcnMiKQotKyAgICBtb2NrZXIu cGF0Y2goImNvYmJsZXIuYWN0aW9ucy5yZXBvc3luYy5yZXBvX3dhbGtlciIpCi0rICAgIG1vY2tl ci5wYXRjaC5vYmplY3QocmVwb3N5bmNfb2JqZWN0LCAiY3JlYXRlX2xvY2FsX2ZpbGUiKQotKyAg ICBtb2NrZXIucGF0Y2gub2JqZWN0KAotKyAgICAgICAgcmVwb3N5bmNfb2JqZWN0LCAicmVwb3N5 bmNfY21kIiwgcmV0dXJuX3ZhbHVlPVsiL215L2Zha2UvcmVwb3N5bmMiXQotKyAgICApCi0rCi0r ICAgICMgQWN0Ci0rICAgIHJlcG9zeW5jX29iamVjdC5yaG5fc3luYyhyZXBvKQotKwotKyAgICAj IEFzc2VydAotKyAgICAjIFRPRE86IENoZWNrIHRoaXMgbW9yZSBhbmQgZG9jdW1lbnQgaG93IGl0 cyBhY3R1YWxseSB3b3JraW5nCi0rICAgIG1vY2tlZF9zdWJwcm9jZXNzLmFzc2VydF9jYWxsZWRf d2l0aCgKLSAgICAgICAgIFsKLS0gICAgICAgICAgICAoCi0tICAgICAgICAgICAgICAgIGVudW1z Lk1pcnJvclR5cGUuQkFTRVVSTCwKLS0gICAgICAgICAgICAgICAgImh0dHA6Ly9mdHAuZGViaWFu Lm9yZy9kZWJpYW4iLAotLSAgICAgICAgICAgICAgICBlbnVtcy5SZXBvQXJjaHMuWDg2XzY0LAot LSAgICAgICAgICAgICAgICAiIiwKLS0gICAgICAgICAgICAgICAgZG9lc19ub3RfcmFpc2UoKQot LSAgICAgICAgICAgICksCi0tICAgICAgICAgICAgKAotLSAgICAgICAgICAgICAgICBlbnVtcy5N aXJyb3JUeXBlLk1JUlJPUkxJU1QsCi0tICAgICAgICAgICAgICAgICJodHRwOi8vZnRwLmRlYmlh bi5vcmcvZGViaWFuIiwKLS0gICAgICAgICAgICAgICAgZW51bXMuUmVwb0FyY2hzLlg4Nl82NCwK LS0gICAgICAgICAgICAgICAgIiIsCi0tICAgICAgICAgICAgICAgIHB5dGVzdC5yYWlzZXMoY2V4 Y2VwdGlvbnMuQ1gpCi0tICAgICAgICAgICAgKSwKLS0gICAgICAgICAgICAoCi0tICAgICAgICAg ICAgICAgIGVudW1zLk1pcnJvclR5cGUuTUVUQUxJTkssCi0tICAgICAgICAgICAgICAgICJodHRw Oi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuIiwKLS0gICAgICAgICAgICAgICAgZW51bXMuUmVwb0Fy Y2hzLlg4Nl82NCwKLS0gICAgICAgICAgICAgICAgIiIsCi0tICAgICAgICAgICAgICAgIHB5dGVz dC5yYWlzZXMoY2V4Y2VwdGlvbnMuQ1gpCi0tICAgICAgICAgICAgKSwKLS0gICAgICAgICAgICAo Ci0tICAgICAgICAgICAgICAgIGVudW1zLk1pcnJvclR5cGUuQkFTRVVSTCwKLS0gICAgICAgICAg ICAgICAgImh0dHA6Ly93d3cuZXhhbXBsZS5jb20vcGF0aC90by9zb21lL3JlcG8iLAotLSAgICAg ICAgICAgICAgICBlbnVtcy5SZXBvQXJjaHMuWDg2XzY0LAotLSAgICAgICAgICAgICAgICAiIiwK LS0gICAgICAgICAgICAgICAgcHl0ZXN0LnJhaXNlcyhjZXhjZXB0aW9ucy5DWCkKLS0gICAgICAg ICAgICApLAotLSAgICAgICAgICAgICgKLS0gICAgICAgICAgICAgICAgZW51bXMuTWlycm9yVHlw ZS5CQVNFVVJMLAotLSAgICAgICAgICAgICAgICAiaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlh biIsCi0tICAgICAgICAgICAgICAgIGVudW1zLlJlcG9BcmNocy5OT05FLAotLSAgICAgICAgICAg ICAgICAiIiwKLS0gICAgICAgICAgICAgICAgcHl0ZXN0LnJhaXNlcyhjZXhjZXB0aW9ucy5DWCkK LS0gICAgICAgICAgICApLAotLSAgICAgICAgICAgICgKLS0gICAgICAgICAgICAgICAgZW51bXMu TWlycm9yVHlwZS5CQVNFVVJMLAotLSAgICAgICAgICAgICAgICAiaHR0cDovL2Z0cC5kZWJpYW4u b3JnL2RlYmlhbiIsCi0tICAgICAgICAgICAgICAgIGVudW1zLlJlcG9BcmNocy5YODZfNjQsCi0t ICAgICAgICAgICAgICAgICJkcGtnIiwKLS0gICAgICAgICAgICAgICAgcHl0ZXN0LnJhaXNlcyhj ZXhjZXB0aW9ucy5DWCkKLS0gICAgICAgICAgICApLAotKyAgICAgICAgICAgICIvbXkvZmFrZS9y ZXBvc3luYyIsCi0rICAgICAgICAgICAgIi0tdGVzdGZsYWciLAotKyAgICAgICAgICAgICItLXJl cG89dGVzdHJlcG8wIiwKLSsgICAgICAgICAgICAiLS1kb3dubG9hZC1wYXRoPS9zcnYvd3d3L2Nv YmJsZXIvcmVwb19taXJyb3IiLAotICAgICAgICAgXSwKLSsgICAgICAgIHNoZWxsPUZhbHNlLAot ICAgICApCi0tICAgIGRlZiB0ZXN0X3JlcG9zeW5jX2FwdCgKLS0gICAgICAgIHNlbGYsCi0tICAg ICAgICBpbnB1dF9taXJyb3JfdHlwZSwKLS0gICAgICAgIGlucHV0X21pcnJvciwKLS0gICAgICAg IGlucHV0X2FyY2gsCi0tICAgICAgICBpbnB1dF9ycG1fbGlzdCwKLS0gICAgICAgIGV4cGVjdGVk X2V4Y2VwdGlvbiwKLS0gICAgICAgIGFwaSwKLS0gICAgICAgIHJlcG8sCi0tICAgICAgICByZXBv c3luYwotLSAgICApOgotLSAgICAgICAgIyBBcnJhbmdlCi0tICAgICAgICB0ZXN0X3JlcG8gPSBy ZXBvCi0tICAgICAgICB0ZXN0X3JlcG8uYnJlZWQgPSBlbnVtcy5SZXBvQnJlZWRzLkFQVAotLSAg ICAgICAgdGVzdF9yZXBvLmFyY2ggPSBpbnB1dF9hcmNoCi0tICAgICAgICB0ZXN0X3JlcG8uYXB0 X2NvbXBvbmVudHMgPSAibWFpbiIKLS0gICAgICAgIHRlc3RfcmVwby5hcHRfZGlzdHMgPSAic3Rh YmxlIgotLSAgICAgICAgdGVzdF9yZXBvLm1pcnJvciA9IGlucHV0X21pcnJvcgotLSAgICAgICAg dGVzdF9yZXBvLm1pcnJvcl90eXBlID0gaW5wdXRfbWlycm9yX3R5cGUKLS0gICAgICAgIHRlc3Rf cmVwby5ycG1fbGlzdCA9IGlucHV0X3JwbV9saXN0Ci0tICAgICAgICB0ZXN0X3JlcG8ueXVtb3B0 cyA9ICItLWV4Y2x1ZGU9LiogLS1pbmNsdWRlPWRwa2cuKiAtLW5vLWNoZWNrLWdwZyAtLXJzeW5j LWV4dHJhPW5vbmUiCi0tICAgICAgICB0ZXN0X3NldHRpbmdzID0gYXBpLnNldHRpbmdzKCkKLS0g ICAgICAgIHJlcG9fcGF0aCA9IG9zLnBhdGguam9pbih0ZXN0X3NldHRpbmdzLndlYmRpciwgInJl cG9fbWlycm9yIiwgdGVzdF9yZXBvLm5hbWUpCi0tCi0tICAgICAgICAjIEFjdCAmIEFzc2VydAot LSAgICAgICAgd2l0aCBleHBlY3RlZF9leGNlcHRpb246Ci0tICAgICAgICAgICAgcmVwb3N5bmMu cnVuKHRlc3RfcmVwby5uYW1lKQotLSAgICAgICAgICAgIHJlc3VsdCA9IG9zLnBhdGguZXhpc3Rz KHJlcG9fcGF0aCkKLS0gICAgICAgICAgICBmb3IgcnBtIGluIFsiZHBrZyJdOgotLSAgICAgICAg ICAgICAgICBhc3NlcnQgZ2xvYi5nbG9iKG9zLnBhdGguam9pbihyZXBvX3BhdGgsICIqKiIsICJk cGtnIikgKyAiKiIsIHJlY3Vyc2l2ZT1UcnVlKSAhPSBbXQotLSAgICAgICAgICAgIGFzc2VydCBy ZXN1bHQKLS0KLS0gICAgQHB5dGVzdC5tYXJrLnNraXAoIlRvIGZsYWt5IGFuZCB0aHVzIG5vdCBy ZWxpYWJsZS4gTmVlZHMgdG8gYmUgbW9ja2VkIHRvIGJlIG9mIHVzZS4iKQotLSAgICBAcHl0ZXN0 Lm1hcmsudXNlZml4dHVyZXMoInJlbW92ZV9yZXBvIikKLS0gICAgQHB5dGVzdC5tYXJrLnBhcmFt ZXRyaXplKAotLSAgICAgICAgImlucHV0X21pcnJvcl90eXBlLGlucHV0X21pcnJvcixleHBlY3Rl ZF9leGNlcHRpb24iLAotKwotKwotK2RlZiB0ZXN0X3JlcG9zeW5jX3JzeW5jKAotKyAgICBtb2Nr ZXI6ICJNb2NrZXJGaXh0dXJlIiwgcmVwb3N5bmNfb2JqZWN0OiByZXBvc3luYy5SZXBvU3luYywg cmVwbzogUmVwbwotKyk6Ci0rICAgICMgQXJyYW5nZQotKyAgICBtb2NrZWRfc3VicHJvY2VzcyA9 IG1vY2tlci5wYXRjaCgiY29iYmxlci51dGlscy5zdWJwcm9jZXNzX2NhbGwiLCByZXR1cm5fdmFs dWU9MCkKLSsgICAgbW9ja2VyLnBhdGNoKCJjb2JibGVyLmFjdGlvbnMucmVwb3N5bmMucmVwb193 YWxrZXIiKQotKyAgICBtb2NrZXIucGF0Y2gub2JqZWN0KHJlcG9zeW5jX29iamVjdCwgImNyZWF0 ZV9sb2NhbF9maWxlIikKLSsgICAgcmVwb19wYXRoID0gb3MucGF0aC5qb2luKHJlcG9zeW5jX29i amVjdC5zZXR0aW5ncy53ZWJkaXIsICJyZXBvX21pcnJvciIsIHJlcG8ubmFtZSkKLSsKLSsgICAg IyBBY3QKLSsgICAgcmVwb3N5bmNfb2JqZWN0LnJzeW5jX3N5bmMocmVwbykKLSsKLSsgICAgIyBB c3NlcnQKLSsgICAgbW9ja2VkX3N1YnByb2Nlc3MuYXNzZXJ0X2NhbGxlZF93aXRoKAotICAgICAg ICAgWwotLSAgICAgICAgICAgICgKLS0gICAgICAgICAgICAgICAgZW51bXMuTWlycm9yVHlwZS5C QVNFVVJMLAotLSAgICAgICAgICAgICAgICAiaHR0cDovL2Rvd25sb2FkLmZlZG9yYXByb2plY3Qu b3JnL3B1Yi9mZWRvcmEvbGludXgvZGV2ZWxvcG1lbnQvcmF3aGlkZS9FdmVyeXRoaW5nL3g4Nl82 NC9vcy9QYWNrYWdlcy8yIiwKLS0gICAgICAgICAgICAgICAgZG9lc19ub3RfcmFpc2UoKQotLSAg ICAgICAgICAgICksCi0tICAgICAgICAgICAgKAotLSAgICAgICAgICAgICAgICBlbnVtcy5NaXJy b3JUeXBlLk1JUlJPUkxJU1QsCi0tICAgICAgICAgICAgICAgICJodHRwOi8vZG93bmxvYWQuZmVk b3JhcHJvamVjdC5vcmcvcHViL2ZlZG9yYS9saW51eC9kZXZlbG9wbWVudC9yYXdoaWRlL0V2ZXJ5 dGhpbmcveDg2XzY0L29zL1BhY2thZ2VzLzIiLAotLSAgICAgICAgICAgICAgICBweXRlc3QucmFp c2VzKGNleGNlcHRpb25zLkNYKQotLSAgICAgICAgICAgICksCi0tICAgICAgICAgICAgKAotLSAg ICAgICAgICAgICAgICBlbnVtcy5NaXJyb3JUeXBlLk1FVEFMSU5LLAotLSAgICAgICAgICAgICAg ICAiaHR0cDovL2Rvd25sb2FkLmZlZG9yYXByb2plY3Qub3JnL3B1Yi9mZWRvcmEvbGludXgvZGV2 ZWxvcG1lbnQvcmF3aGlkZS9FdmVyeXRoaW5nL3g4Nl82NC9vcy9QYWNrYWdlcy8yIiwKLS0gICAg ICAgICAgICAgICAgcHl0ZXN0LnJhaXNlcyhjZXhjZXB0aW9ucy5DWCkKLS0gICAgICAgICAgICAp LAotLSAgICAgICAgICAgICgKLS0gICAgICAgICAgICAgICAgZW51bXMuTWlycm9yVHlwZS5CQVNF VVJMLAotLSAgICAgICAgICAgICAgICAiaHR0cDovL3d3dy5leGFtcGxlLmNvbS9wYXRoL3RvL3Nv bWUvcmVwbyIsCi0tICAgICAgICAgICAgICAgIHB5dGVzdC5yYWlzZXMoY2V4Y2VwdGlvbnMuQ1gp Ci0tICAgICAgICAgICAgKSwKLSsgICAgICAgICAgICAicnN5bmMiLAotKyAgICAgICAgICAgICIt LXRlc3RmbGFnIiwKLSsgICAgICAgICAgICAiLS1kZWxldGUtYWZ0ZXIiLAotKyAgICAgICAgICAg ICItZSBzc2giLAotKyAgICAgICAgICAgICItLWRlbGV0ZSIsCi0rICAgICAgICAgICAgIi0tZXhj bHVkZS1mcm9tPS9ldGMvY29iYmxlci9yc3luYy5leGNsdWRlIiwKLSsgICAgICAgICAgICAiLyIs Ci0rICAgICAgICAgICAgcmVwb19wYXRoLAotICAgICAgICAgXSwKLSsgICAgICAgIHNoZWxsPUZh bHNlLAotICAgICApCi0tICAgIGRlZiB0ZXN0X3JlcG9zeW5jX3dnZXQoCi0tICAgICAgICBzZWxm LAotLSAgICAgICAgaW5wdXRfbWlycm9yX3R5cGUsCi0tICAgICAgICBpbnB1dF9taXJyb3IsCi0t ICAgICAgICBleHBlY3RlZF9leGNlcHRpb24sCi0tICAgICAgICBhcGksCi0tICAgICAgICByZXBv LAotLSAgICAgICAgcmVwb3N5bmMKLS0gICAgKToKLS0gICAgICAgICMgQXJyYW5nZQotLSAgICAg ICAgdGVzdF9yZXBvID0gcmVwbwotLSAgICAgICAgdGVzdF9yZXBvLmJyZWVkID0gZW51bXMuUmVw b0JyZWVkcy5XR0VUCi0tICAgICAgICB0ZXN0X3JlcG8ubWlycm9yID0gaW5wdXRfbWlycm9yCi0t ICAgICAgICB0ZXN0X3JlcG8ubWlycm9yX3R5cGUgPSBpbnB1dF9taXJyb3JfdHlwZQotLSAgICAg ICAgdGVzdF9zZXR0aW5ncyA9IGFwaS5zZXR0aW5ncygpCi0tICAgICAgICByZXBvX3BhdGggPSBv cy5wYXRoLmpvaW4odGVzdF9zZXR0aW5ncy53ZWJkaXIsICJyZXBvX21pcnJvciIsIHRlc3RfcmVw by5uYW1lKQotLQotLSAgICAgICAgIyBBY3QgJiBBc3NlcnQKLS0gICAgICAgIHdpdGggZXhwZWN0 ZWRfZXhjZXB0aW9uOgotLSAgICAgICAgICAgIHJlcG9zeW5jLnJ1bih0ZXN0X3JlcG8ubmFtZSkK LS0gICAgICAgICAgICByZXN1bHQgPSBvcy5wYXRoLmV4aXN0cyhyZXBvX3BhdGgpCi0tICAgICAg ICAgICAgZm9yIHJwbSBpbiBbInJwbSJdOgotLSAgICAgICAgICAgICAgICBhc3NlcnQgZ2xvYi5n bG9iKG9zLnBhdGguam9pbihyZXBvX3BhdGgsICIqKiIsICIyIikgKyAiKiIsIHJlY3Vyc2l2ZT1U cnVlKSAhPSBbXQotLSAgICAgICAgICAgIGFzc2VydCByZXN1bHQKLS0KLS0KLS1AcHl0ZXN0Lm1h cmsuc2tpcCgiVE9ETyIpCi0tZGVmIHRlc3RfcmVwb3N5bmNfcmhuKCk6Ci0rCi0rCi0rZGVmIHRl c3RfY3JlYXRlcmVwb193YWxrZXIoCi0rICAgIG1vY2tlcjogIk1vY2tlckZpeHR1cmUiLCByZXBv c3luY19vYmplY3Q6IHJlcG9zeW5jLlJlcG9TeW5jLCByZXBvOiBSZXBvCi0rKToKLSAgICAgIyBB cnJhbmdlCi0rICAgIGlucHV0X3JlcG8gPSByZXBvCi0rICAgIGlucHV0X3JlcG8uYnJlZWQgPSBl bnVtcy5SZXBvQnJlZWRzLlJTWU5DCi0rICAgIGlucHV0X2Rpcm5hbWUgPSAiIgotKyAgICBpbnB1 dF9mbmFtZXMgPSBbXQotKyAgICBleHBlY3RlZF9jYWxsID0gWyJjcmVhdGVyZXBvIiwgIi0tdGVz dGZsYWdzIiwgZiIne2lucHV0X2Rpcm5hbWV9JyJdCi0rICAgIG1vY2tlZF9zdWJwcm9jZXNzID0g bW9ja2VyLnBhdGNoKAotKyAgICAgICAgImNvYmJsZXIudXRpbHMuc3VicHJvY2Vzc19jYWxsIiwg YXV0b3NwZWM9VHJ1ZSwgcmV0dXJuX3ZhbHVlPTAKLSsgICAgKQotKyAgICBtb2NrZXIucGF0Y2go Ci0rICAgICAgICAiY29iYmxlci51dGlscy5ibGVuZGVyIiwKLSsgICAgICAgIGF1dG9zcGVjPVRy dWUsCi0rICAgICAgICByZXR1cm5fdmFsdWU9eyJjcmVhdGVyZXBvX2ZsYWdzIjogIi0tdGVzdGZs YWdzIn0sCi0rICAgICkKLSsgICAgbW9ja2VyLnBhdGNoKCJjb2JibGVyLnV0aWxzLnJlbW92ZV95 dW1fb2xkZGF0YSIpCi0rICAgIG1vY2tlci5wYXRjaCgiY29iYmxlci51dGlscy5zdWJwcm9jZXNz X2dldCIsIHJldHVybl92YWx1ZT0iNSIpCi0rICAgIG1vY2tlci5wYXRjaCgiY29iYmxlci51dGls cy5nZXRfZmFtaWx5IiwgcmV0dXJuX3ZhbHVlPSJUT0RPIikKLSsgICAgbW9ja2VyLnBhdGNoKCJv cy5wYXRoLmV4aXN0cyIsIHJldHVybl92YWx1ZT1UcnVlKQotKyAgICBtb2NrZXIucGF0Y2goIm9z LnBhdGguaXNmaWxlIiwgcmV0dXJuX3ZhbHVlPVRydWUpCi0rICAgIG1vY2tlci5wYXRjaC5vYmpl Y3QocmVwb3N5bmNfb2JqZWN0LCAibGlicmVwb19nZXRpbmZvIiwgcmV0dXJuX3ZhbHVlPXt9KQot KwotICAgICAjIEFjdAotKyAgICByZXBvc3luY19vYmplY3QuY3JlYXRlcmVwb193YWxrZXIoaW5w dXRfcmVwbywgaW5wdXRfZGlybmFtZSwgaW5wdXRfZm5hbWVzKQotKwotICAgICAjIEFzc2VydAot LSAgICBhc3NlcnQgRmFsc2UKLSsgICAgIyBUT0RPOiBJbXByb3ZlIGNvdmVyYWdlIG92ZXIgZGlm ZmVyZW50IGNhc2VzIGluIG1ldGhvZAotKyAgICBtb2NrZWRfc3VicHJvY2Vzcy5hc3NlcnRfY2Fs bGVkX3dpdGgoZXhwZWN0ZWRfY2FsbCwgc2hlbGw9RmFsc2UpCi0gCi0gCi0tQHB5dGVzdC5tYXJr LnNraXAoIlRPRE8iKQotLWRlZiB0ZXN0X3JlcG9zeW5jX3JzeW5jKCk6Ci0rQHB5dGVzdC5tYXJr LnBhcmFtZXRyaXplKAotKyAgICAiaW5wdXRfcmVwb3R5cGUsZXhwZWN0ZWRfZXhjZXB0aW9uIiwK LSsgICAgWwotKyAgICAgICAgKGVudW1zLlJlcG9CcmVlZHMuWVVNLCBkb2VzX25vdF9yYWlzZSgp KSwKLSsgICAgICAgIChlbnVtcy5SZXBvQnJlZWRzLlJITiwgZG9lc19ub3RfcmFpc2UoKSksCi0r ICAgICAgICAoZW51bXMuUmVwb0JyZWVkcy5BUFQsIGRvZXNfbm90X3JhaXNlKCkpLAotKyAgICAg ICAgKGVudW1zLlJlcG9CcmVlZHMuUlNZTkMsIGRvZXNfbm90X3JhaXNlKCkpLAotKyAgICAgICAg KGVudW1zLlJlcG9CcmVlZHMuV0dFVCwgZG9lc19ub3RfcmFpc2UoKSksCi0rICAgICAgICAoZW51 bXMuUmVwb0JyZWVkcy5OT05FLCBweXRlc3QucmFpc2VzKGNleGNlcHRpb25zLkNYKSksCi0rICAg IF0sCi0rKQotK2RlZiB0ZXN0X3N5bmMoCi0rICAgIG1vY2tlcjogIk1vY2tlckZpeHR1cmUiLAot KyAgICBjb2JibGVyX2FwaTogQ29iYmxlckFQSSwKLSsgICAgcmVwb3N5bmNfb2JqZWN0OiByZXBv c3luYy5SZXBvU3luYywKLSsgICAgaW5wdXRfcmVwb3R5cGU6IGVudW1zLlJlcG9CcmVlZHMsCi0r ICAgIGV4cGVjdGVkX2V4Y2VwdGlvbjogQW55LAotKyk6Ci0gICAgICMgQXJyYW5nZQotKyAgICB0 ZXN0X3JlcG8gPSBSZXBvKGNvYmJsZXJfYXBpKQotKyAgICB0ZXN0X3JlcG8uYnJlZWQgPSBpbnB1 dF9yZXBvdHlwZQotKyAgICByaG5fc3luY19tb2NrID0gbW9ja2VyLnBhdGNoLm9iamVjdChyZXBv c3luY19vYmplY3QsICJyaG5fc3luYyIpCi0rICAgIHl1bV9zeW5jX21vY2sgPSBtb2NrZXIucGF0 Y2gub2JqZWN0KHJlcG9zeW5jX29iamVjdCwgInl1bV9zeW5jIikKLSsgICAgYXB0X3N5bmNfbW9j ayA9IG1vY2tlci5wYXRjaC5vYmplY3QocmVwb3N5bmNfb2JqZWN0LCAiYXB0X3N5bmMiKQotKyAg ICByc3luY19zeW5jX21vY2sgPSBtb2NrZXIucGF0Y2gub2JqZWN0KHJlcG9zeW5jX29iamVjdCwg InJzeW5jX3N5bmMiKQotKyAgICB3Z2V0X3N5bmNfbW9jayA9IG1vY2tlci5wYXRjaC5vYmplY3Qo cmVwb3N5bmNfb2JqZWN0LCAid2dldF9zeW5jIikKLSsKLSAgICAgIyBBY3QKLSsgICAgd2l0aCBl eHBlY3RlZF9leGNlcHRpb246Ci0rICAgICAgICByZXBvc3luY19vYmplY3Quc3luYyh0ZXN0X3Jl cG8pCi0rCi0rICAgICAgICAjIEFzc2VydAotKyAgICAgICAgY2FsbF9jb3VudCA9IHN1bSgKLSsg ICAgICAgICAgICAoCi0rICAgICAgICAgICAgICAgIHJobl9zeW5jX21vY2suY2FsbF9jb3VudCwK LSsgICAgICAgICAgICAgICAgeXVtX3N5bmNfbW9jay5jYWxsX2NvdW50LAotKyAgICAgICAgICAg ICAgICBhcHRfc3luY19tb2NrLmNhbGxfY291bnQsCi0rICAgICAgICAgICAgICAgIHJzeW5jX3N5 bmNfbW9jay5jYWxsX2NvdW50LAotKyAgICAgICAgICAgICAgICB3Z2V0X3N5bmNfbW9jay5jYWxs X2NvdW50LAotKyAgICAgICAgICAgICkKLSsgICAgICAgICkKLSsgICAgICAgIGFzc2VydCBjYWxs X2NvdW50ID09IDEKLSsKLSsKLStkZWYgdGVzdF9saWJyZXBvX2dldGluZm8oCi0rICAgIG1vY2tl cjogIk1vY2tlckZpeHR1cmUiLCByZXBvc3luY19vYmplY3Q6IHJlcG9zeW5jLlJlcG9TeW5jLCB0 bXBfcGF0aDogUGF0aAotKyk6Ci0rICAgICMgQXJyYW5nZQotKyAgICBoYW5kbGVfbW9jayA9IG1v Y2tlci5NYWdpY01vY2soKQotKyAgICByZXN1bHRfbW9jayA9IG1vY2tlci5NYWdpY01vY2soKQot KyAgICBtb2NrZXIucGF0Y2goImxpYnJlcG8uSGFuZGxlIiwgcmV0dXJuX3ZhbHVlPWhhbmRsZV9t b2NrKQotKyAgICBtb2NrZXIucGF0Y2goImxpYnJlcG8uUmVzdWx0IiwgcmV0dXJuX3ZhbHVlPXJl c3VsdF9tb2NrKQotKwotKyAgICAjIEFjdAotKyAgICByZXBvc3luY19vYmplY3QubGlicmVwb19n ZXRpbmZvKHN0cih0bXBfcGF0aCkpCi0rCi0rICAgICMgQXNzZXJ0Ci0rICAgIGhhbmRsZV9tb2Nr LnBlcmZvcm0uYXNzZXJ0X2NhbGxlZF93aXRoKHJlc3VsdF9tb2NrKQotKyAgICByZXN1bHRfbW9j ay5nZXRpbmZvLmFzc2VydF9jYWxsZWQoKQotKwotKwotK2RlZiB0ZXN0X2NyZWF0ZV9sb2NhbF9m aWxlKAotKyAgICBtb2NrZXI6ICJNb2NrZXJGaXh0dXJlIiwgcmVwb3N5bmNfb2JqZWN0OiByZXBv c3luYy5SZXBvU3luYywgcmVwbzogUmVwbwotKyk6Ci0rICAgICMgQXJyYW5nZQotKyAgICBtb2Nr ZXIucGF0Y2goImNvYmJsZXIudXRpbHMuZmlsZXN5c3RlbV9oZWxwZXJzLm1rZGlyIiwgYXV0b3Nw ZWM9VHJ1ZSkKLSsgICAgbW9ja19vcGVuID0gbW9ja2VyLnBhdGNoKCJidWlsdGlucy5vcGVuIiwg bW9ja2VyLm1vY2tfb3BlbigpKQotKyAgICBpbnB1dF9kZXN0X3BhdGggPSAiIgotKyAgICBpbnB1 dF9yZXBvID0gcmVwbwotKyAgICBpbnB1dF9vdXRwdXQgPSBUcnVlCi0rCi0rICAgICMgQWN0Ci0r ICAgIHJlcG9zeW5jX29iamVjdC5jcmVhdGVfbG9jYWxfZmlsZShpbnB1dF9kZXN0X3BhdGgsIGlu cHV0X3JlcG8sIG91dHB1dD1pbnB1dF9vdXRwdXQpCi0rCi0rICAgICMgQXNzZXJ0Ci0rICAgICMg VE9ETzogRXh0ZW5kIGNoZWNrcwotKyAgICBhc3NlcnQgbW9ja19vcGVuLmNhbGxfY291bnQgPT0g MQotKyAgICBhc3NlcnQgbW9ja19vcGVuLm1vY2tfY2FsbHNbMF0gPT0gbW9ja2VyLmNhbGwoImNv bmZpZy5yZXBvIiwgInciLCBlbmNvZGluZz0iVVRGLTgiKQotKyAgICBtb2NrX29wZW5faGFuZGxl ID0gbW9ja19vcGVuKCkKLSsgICAgYXNzZXJ0IG1vY2tfb3Blbl9oYW5kbGUud3JpdGUubW9ja19j YWxsc1swXSA9PSBtb2NrZXIuY2FsbCgiW3Rlc3RyZXBvMF1cbiIpCi0rICAgIGFzc2VydCBtb2Nr X29wZW5faGFuZGxlLndyaXRlLm1vY2tfY2FsbHNbMV0gPT0gbW9ja2VyLmNhbGwoIm5hbWU9dGVz dHJlcG8wXG4iKQotKwotKwotK2RlZiB0ZXN0X3VwZGF0ZV9wZXJtaXNzaW9ucygKLSsgICAgbW9j a2VyOiAiTW9ja2VyRml4dHVyZSIsIHJlcG9zeW5jX29iamVjdDogcmVwb3N5bmMuUmVwb1N5bmMK LSspOgotKyAgICAjIEFycmFuZ2UKLSsgICAgbW9ja2VkX3N1YnByb2Nlc3MgPSBtb2NrZXIucGF0 Y2goCi0rICAgICAgICAiY29iYmxlci51dGlscy5zdWJwcm9jZXNzX2NhbGwiLCBhdXRvc3BlYz1U cnVlLCByZXR1cm5fdmFsdWU9MAotKyAgICApCi0rICAgIHBhdGhfdG9fdXBkYXRlID0gIi9teS9m YWtlL3BhdGgiCi0rICAgIGV4cGVjdGVkX2NhbGxzID0gWwotKyAgICAgICAgbW9ja2VyLmNhbGwo WyJjaG93biIsICItUiIsICJyb290Ond3dyIsIHBhdGhfdG9fdXBkYXRlXSwgc2hlbGw9RmFsc2Up LAotKyAgICAgICAgbW9ja2VyLmNhbGwoWyJjaG1vZCIsICItUiIsICI3NTUiLCBwYXRoX3RvX3Vw ZGF0ZV0sIHNoZWxsPUZhbHNlKSwKLSsgICAgXQotKwotKyAgICAjIEFjdAotKyAgICByZXBvc3lu Y19vYmplY3QudXBkYXRlX3Blcm1pc3Npb25zKHBhdGhfdG9fdXBkYXRlKQotKwotICAgICAjIEFz c2VydAotLSAgICBhc3NlcnQgRmFsc2UKLSsgICAgYXNzZXJ0IG1vY2tlZF9zdWJwcm9jZXNzLm1v Y2tfY2FsbHMgPT0gZXhwZWN0ZWRfY2FsbHMKCmRpZmYgLS1naXQgYS9jb2JibGVyLnNwZWMgYi9j b2JibGVyLnNwZWMKaW5kZXggNjlkN2Q0MC4uNWZjYWQzYiAxMDA2NDQKLS0tIGEvY29iYmxlci5z cGVjCisrKyBiL2NvYmJsZXIuc3BlYwpAQCAtOCw3ICs4LDcgQEAKICViY29uZCBjaGVjayAwCiAK IE5hbWU6ICAgICAgICAgICBjb2JibGVyCi1WZXJzaW9uOiAgICAgICAgMy4zLjcKK1ZlcnNpb246 ICAgICAgICAzLjMuOQogUmVsZWFzZTogICAgICAgICVhdXRvcmVsZWFzZQogU3VtbWFyeTogICAg ICAgIEJvb3Qgc2VydmVyIGNvbmZpZ3VyYXRvcgogVVJMOiAgICAgICAgICAgIGh0dHBzOi8vY29i Ymxlci5naXRodWIuaW8vCkBAIC0yMiwxNiArMjIsMTAgQEAgU291cmNlNDogICAgICAgICV7bmFt ZX0uZmMKIAogIyBEbyBub3QgcnVuIGNvdmVyYWdlIHRlc3RzCiBQYXRjaDA6ICAgICAgICAgY29i Ymxlci1ub2Nvdi5wYXRjaAotIyBQeXRob24gMy4xMyBzdXBwb3J0IChiYWNrcG9ydCBvZiBodHRw czovL2dpdGh1Yi5jb20vY29iYmxlci9jb2JibGVyL3B1bGwvMzg0MikKLSMgaHR0cHM6Ly9idWd6 aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0yMzM1NjIwCi1QYXRjaDE6ICAgICAgICAg Y29iYmxlci1weXRob24zLjEzLnBhdGNoCiAjIFVwc3RyZWFtIGZpeCBmb3IgcmVwb3N5bmMgLS10 cmllcwogIyBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTI0MDE2 MDUKICMgQmFja3BvcnQgb2YgaHR0cHM6Ly9naXRodWIuY29tL2NvYmJsZXIvY29iYmxlci9wdWxs LzMzNzgKIFBhdGNoMjogICAgICAgICBjb2JibGVyLXJlcG9zeW5jLnBhdGNoCi0jIFVzZSBzeXN0 ZW1jdGwgaXMtYWN0aXZlIHRvIHByZXZlbnQgc29tZSBTRUxpbnV4IGRlbmlhbHMgY2hlY2tpbmcg c2VydmljZSBzdGF0dXMKLSMgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNn aT9pZD0yMzUzODk4Ci1QYXRjaDM6ICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2NvYmJsZXIv Y29iYmxlci9wdWxsLzM5NDUucGF0Y2gKIEJ1aWxkQXJjaDogICAgICBub2FyY2gKIAogQnVpbGRS ZXF1aXJlczogbWFrZQoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGJhMjU4 NWEuLjg4MDZmNjYgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSArMSBA QAotU0hBNTEyIChjb2JibGVyLTMuMy43LnRhci5neikgPSBkZjY1NzBkZDdjNmNiZTUwNDY0NjI0 MjY3ZGYxYmJlY2JiMjllNjA1MTNiYmEzMTJhNmM3MjY1MDJkNDY3MDY3MGYzMTEzZjI0YjZiN2U0 NjVkMGIzMzUzYzA3MjFlNmZlMzcyNWRiYzQ1NjliNGY2MjRlYzJiNGEyOTY4MmQxYQorU0hBNTEy IChjb2JibGVyLTMuMy45LnRhci5neikgPSBiZjJiNTk0YjU1ZTdkNjRjNjgzMTljZmQ5ZDkwODQ2 OWUyZjEwMGRhMWYyOTIxZWNhMThhZGI0ZDEyOWJjYTFmMGQ5ZGI5OTFiNzk4ZTY3MWFhYWMxZjg0 MGZhZjBjOTQ3M2Y2ZmM0YTJlZmQxOWJlZGU4Y2UyY2RlZTE1YzFhMQo=