@taimos/radball-digital-api 0.0.25 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/modules.html +1 -1
- package/docs/types/Club.html +5 -2
- package/docs/types/ModifyClubInput.html +5 -2
- package/docs/types/SaveClubInput.html +5 -2
- package/docs/variables/REGEX_EMAIL_FORMAT.html +1 -0
- package/lib/generated/graphql.model.generated.d.ts +9 -0
- package/lib/generated/graphql.model.generated.js +1 -1
- package/lib/validation.d.ts +1 -0
- package/lib/validation.js +13 -4
- package/package.json +5 -5
- package/schema.graphql +9 -0
|
@@ -6,4 +6,4 @@ var PreferenceStatus;
|
|
|
6
6
|
PreferenceStatus["Available"] = "AVAILABLE";
|
|
7
7
|
PreferenceStatus["Preferred"] = "PREFERRED";
|
|
8
8
|
})(PreferenceStatus || (exports.PreferenceStatus = PreferenceStatus = {}));
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5tb2RlbC5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkL2dyYXBocWwubW9kZWwuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXNrQkEsSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLDJDQUF1QixDQUFBO0lBQ3ZCLDJDQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFIVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQUczQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1heWJlPFQ+ID0gVCB8IHVuZGVmaW5lZDtcbmV4cG9ydCB0eXBlIElucHV0TWF5YmU8VD4gPSBUIHwgdW5kZWZpbmVkO1xuZXhwb3J0IHR5cGUgRXhhY3Q8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9PiA9IHsgW0sgaW4ga2V5b2YgVF06IFRbS10gfTtcbmV4cG9ydCB0eXBlIE1ha2VPcHRpb25hbDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdPzogTWF5YmU8VFtTdWJLZXldPiB9O1xuZXhwb3J0IHR5cGUgTWFrZU1heWJlPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiB7IFtTdWJLZXkgaW4gS106IE1heWJlPFRbU3ViS2V5XT4gfTtcbmV4cG9ydCB0eXBlIE1ha2VFbXB0eTxUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0sIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IHsgW18gaW4gS10/OiBuZXZlciB9O1xuZXhwb3J0IHR5cGUgSW5jcmVtZW50YWw8VD4gPSBUIHwgeyBbUCBpbiBrZXlvZiBUXT86IFAgZXh0ZW5kcyAnICRmcmFnbWVudE5hbWUnIHwgJ19fdHlwZW5hbWUnID8gVFtQXSA6IG5ldmVyIH07XG4vKiogQWxsIGJ1aWx0LWluIGFuZCBjdXN0b20gc2NhbGFycywgbWFwcGVkIHRvIHRoZWlyIGFjdHVhbCB2YWx1ZXMgKi9cbmV4cG9ydCB0eXBlIFNjYWxhcnMgPSB7XG4gIElEOiB7IGlucHV0OiBzdHJpbmc7IG91dHB1dDogc3RyaW5nOyB9XG4gIFN0cmluZzogeyBpbnB1dDogc3RyaW5nOyBvdXRwdXQ6IHN0cmluZzsgfVxuICBCb29sZWFuOiB7IGlucHV0OiBib29sZWFuOyBvdXRwdXQ6IGJvb2xlYW47IH1cbiAgSW50OiB7IGlucHV0OiBudW1iZXI7IG91dHB1dDogbnVtYmVyOyB9XG4gIEZsb2F0OiB7IGlucHV0OiBudW1iZXI7IG91dHB1dDogbnVtYmVyOyB9XG4gIEFXU0RhdGU6IHsgaW5wdXQ6IHN0cmluZzsgb3V0cHV0OiBzdHJpbmc7IH1cbiAgQVdTRGF0ZVRpbWU6IHsgaW5wdXQ6IHN0cmluZzsgb3V0cHV0OiBzdHJpbmc7IH1cbiAgQVdTRW1haWw6IHsgaW5wdXQ6IHN0cmluZzsgb3V0cHV0OiBzdHJpbmc7IH1cbiAgQVdTSVBBZGRyZXNzOiB7IGlucHV0OiBzdHJpbmc7IG91dHB1dDogc3RyaW5nOyB9XG4gIEFXU0pTT046IHsgaW5wdXQ6IHN0cmluZzsgb3V0cHV0OiBzdHJpbmc7IH1cbiAgQVdTUGhvbmU6IHsgaW5wdXQ6IHN0cmluZzsgb3V0cHV0OiBzdHJpbmc7IH1cbiAgQVdTVGltZTogeyBpbnB1dDogc3RyaW5nOyBvdXRwdXQ6IHN0cmluZzsgfVxuICBBV1NUaW1lc3RhbXA6IHsgaW5wdXQ6IHN0cmluZzsgb3V0cHV0OiBzdHJpbmc7IH1cbiAgQVdTVVJMOiB7IGlucHV0OiBzdHJpbmc7IG91dHB1dDogc3RyaW5nOyB9XG4gIEJpZ0ludDogeyBpbnB1dDogYW55OyBvdXRwdXQ6IGFueTsgfVxuICBEb3VibGU6IHsgaW5wdXQ6IGFueTsgb3V0cHV0OiBhbnk7IH1cbn07XG5cbmV4cG9ydCB0eXBlIEFkZEdhbWVJbnB1dCA9IHtcbiAgZ2FtZU51bWJlcjogU2NhbGFyc1snSW50J11bJ2lucHV0J107XG4gIHRlYW0xSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIHRlYW0ySWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5leHBvcnQgdHlwZSBBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnO1xuICBjaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddPjtcbiAgY291bnRyeT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG4gIHN0cmVldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG4gIHppcD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBZGRyZXNzSW5wdXQgPSB7XG4gIGNpdHk/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgY291bnRyeT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICBzdHJlZXQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgemlwPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBc3NvY2lhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdBc3NvY2lhdGlvbic7XG4gIGFkZHJlc3M6IEFkZHJlc3M7XG4gIGNvbnRhY3RFbWFpbDogU2NhbGFyc1snQVdTRW1haWwnXVsnb3V0cHV0J107XG4gIGNvbnRhY3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIGNvb3JkaW5hdG9yczogQXJyYXk8TWF5YmU8UGVyc29uPj47XG4gIGdyb3VwTGVhZGVyczogQXJyYXk8TWF5YmU8UGVyc29uPj47XG4gIGlkOiBTY2FsYXJzWydJRCddWydvdXRwdXQnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICBwaG9uZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG4gIHNlYXNvbnM/OiBNYXliZTxBcnJheTxNYXliZTxTZWFzb24+Pj47XG4gIHNob3J0TmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICB3ZWJzaXRlPzogTWF5YmU8U2NhbGFyc1snQVdTVVJMJ11bJ291dHB1dCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEF1ZGl0TG9nRW50cnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXVkaXRMb2dFbnRyeSc7XG4gIGFjdG9ySWQ6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgYWN0b3JOYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIHJlc291cmNlSWQ6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgcmVzb3VyY2VUeXBlOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIHRpbWVzdGFtcDogU2NhbGFyc1snQVdTRGF0ZVRpbWUnXVsnb3V0cHV0J107XG59O1xuXG5leHBvcnQgdHlwZSBDbHViID0ge1xuICBfX3R5cGVuYW1lPzogJ0NsdWInO1xuICBhZGRyZXNzPzogTWF5YmU8QWRkcmVzcz47XG4gIGFzc29jaWF0aW9uOiBBc3NvY2lhdGlvbjtcbiAgY29udGFjdD86IE1heWJlPFBlcnNvbj47XG4gIGlkOiBTY2FsYXJzWydJRCddWydvdXRwdXQnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICBzaG9ydE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J10+O1xuICB0ZWFtcz86IE1heWJlPEFycmF5PE1heWJlPFRlYW0+Pj47XG4gIHdlYnNpdGU/OiBNYXliZTxTY2FsYXJzWydBV1NVUkwnXVsnb3V0cHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2x1YkNvbm5lY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2x1YkNvbm5lY3Rpb24nO1xuICBpdGVtczogQXJyYXk8TWF5YmU8Q2x1Yj4+O1xuICBuZXh0VG9rZW4/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgR2FtZSA9IHtcbiAgX190eXBlbmFtZT86ICdHYW1lJztcbiAgYm90aExvc3Q/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ291dHB1dCddPjtcbiAgZmluYWxHb2Fsc1RlYW0xPzogTWF5YmU8U2NhbGFyc1snSW50J11bJ291dHB1dCddPjtcbiAgZmluYWxHb2Fsc1RlYW0yPzogTWF5YmU8U2NhbGFyc1snSW50J11bJ291dHB1dCddPjtcbiAgZ2FtZU51bWJlcjogU2NhbGFyc1snSW50J11bJ291dHB1dCddO1xuICBoYWxmdGltZUdvYWxzVGVhbTE/OiBNYXliZTxTY2FsYXJzWydJbnQnXVsnb3V0cHV0J10+O1xuICBoYWxmdGltZUdvYWxzVGVhbTI/OiBNYXliZTxTY2FsYXJzWydJbnQnXVsnb3V0cHV0J10+O1xuICBub25Db21wZXRpdGl2ZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnb3V0cHV0J10+O1xuICBwb2ludHNUZWFtMT86IE1heWJlPFNjYWxhcnNbJ0ludCddWydvdXRwdXQnXT47XG4gIHBvaW50c1RlYW0yPzogTWF5YmU8U2NhbGFyc1snSW50J11bJ291dHB1dCddPjtcbiAgdGVhbTE6IE1hdGNoZGF5VGVhbTtcbiAgdGVhbTI6IE1hdGNoZGF5VGVhbTtcbn07XG5cbmV4cG9ydCB0eXBlIEd5bSA9IHtcbiAgX190eXBlbmFtZT86ICdHeW0nO1xuICBhZGRyZXNzOiBBZGRyZXNzO1xuICBhdmFpbGFibGVGaWVsZHM6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgY2x1YjogQ2x1YjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ291dHB1dCddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG59O1xuXG5leHBvcnQgdHlwZSBHeW1Db25uZWN0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0d5bUNvbm5lY3Rpb24nO1xuICBpdGVtczogQXJyYXk8TWF5YmU8R3ltPj47XG4gIG5leHRUb2tlbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBMZWFndWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTGVhZ3VlJztcbiAgYXNzb2NpYXRpb246IEFzc29jaWF0aW9uO1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICBncm91cHM/OiBNYXliZTxBcnJheTxNYXliZTxMZWFndWVHcm91cD4+PjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ291dHB1dCddO1xuICBtYXRjaGRheURhdGVzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snQVdTRGF0ZSddWydvdXRwdXQnXT4+O1xuICBtYXhBZ2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXVsnb3V0cHV0J10+O1xuICBtaW5BZ2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXVsnb3V0cHV0J10+O1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIHNlYXNvbjogU2Vhc29uO1xuICBzaG9ydE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgTGVhZ3VlR3JvdXAgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTGVhZ3VlR3JvdXAnO1xuICBhc3NvY2lhdGlvbjogQXNzb2NpYXRpb247XG4gIGlkOiBTY2FsYXJzWydJRCddWydvdXRwdXQnXTtcbiAgbGVhZGVyPzogTWF5YmU8UGVyc29uPjtcbiAgbGVhZ3VlOiBMZWFndWU7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgbnVtYmVyOiBTY2FsYXJzWydJbnQnXVsnb3V0cHV0J107XG4gIHJlZ3VsYXRpb246IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgc2Vhc29uOiBTZWFzb247XG4gIHNob3J0TmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xufTtcblxuZXhwb3J0IHR5cGUgTGVhZ3VlR3JvdXBTdGF0aXN0aWNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0xlYWd1ZUdyb3VwU3RhdGlzdGljcyc7XG4gIHRvdGFsQ2x1YnM6IFNjYWxhcnNbJ0ludCddWydvdXRwdXQnXTtcbiAgdG90YWxHeW1zOiBTY2FsYXJzWydJbnQnXVsnb3V0cHV0J107XG4gIHRvdGFsUGxheWVyczogU2NhbGFyc1snSW50J11bJ291dHB1dCddO1xuICB0b3RhbFRlYW1zOiBTY2FsYXJzWydJbnQnXVsnb3V0cHV0J107XG59O1xuXG5leHBvcnQgdHlwZSBMZWFndWVHcm91cFZpZXcgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTGVhZ3VlR3JvdXBWaWV3JztcbiAgY2x1YnM6IEFycmF5PE1heWJlPENsdWI+PjtcbiAgZ3JvdXA6IExlYWd1ZUdyb3VwO1xuICBneW1zOiBBcnJheTxNYXliZTxHeW0+PjtcbiAgc3RhdGlzdGljcz86IE1heWJlPExlYWd1ZUdyb3VwU3RhdGlzdGljcz47XG4gIHRlYW1zOiBBcnJheTxNYXliZTxUZWFtRGV0YWlsPj47XG59O1xuXG5leHBvcnQgdHlwZSBNYXRjaERheSA9IHtcbiAgX190eXBlbmFtZT86ICdNYXRjaERheSc7XG4gIGNvbW1pc3Npb25lcnM/OiBNYXliZTxSZWZlcmVlSW5mbz47XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0FXU0RhdGVUaW1lJ11bJ291dHB1dCddO1xuICBnYW1lczogQXJyYXk8TWF5YmU8R2FtZT4+O1xuICBncm91cDogTGVhZ3VlR3JvdXA7XG4gIGd5bTogR3ltO1xuICBpZDogU2NhbGFyc1snSUQnXVsnb3V0cHV0J107XG4gIG1hdGNoRGF5TnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIHBpbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG4gIHJlcG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG4gIHNlY3JldGFyeTogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0FXU0RhdGVUaW1lJ11bJ291dHB1dCddO1xuICBzdHJlYW1pbmdMaW5rPzogTWF5YmU8U2NhbGFyc1snQVdTVVJMJ11bJ291dHB1dCddPjtcbiAgdGVhbXM6IEFycmF5PE1heWJlPE1hdGNoZGF5VGVhbT4+O1xufTtcblxuZXhwb3J0IHR5cGUgTWF0Y2hkYXlUZWFtID0ge1xuICBfX3R5cGVuYW1lPzogJ01hdGNoZGF5VGVhbSc7XG4gIGlkOiBTY2FsYXJzWydJRCddWydvdXRwdXQnXTtcbiAgcHJlc2VudDogU2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXTtcbiAgc3Vic3RpdHV0ZVBsYXllcj86IE1heWJlPFBlcnNvbj47XG4gIHRlYW06IFRlYW07XG59O1xuXG5leHBvcnQgdHlwZSBNb2RpZnlBc3NvY2lhdGlvbklucHV0ID0ge1xuICBhZGRyZXNzOiBBZGRyZXNzSW5wdXQ7XG4gIGNvbnRhY3RFbWFpbDogU2NhbGFyc1snQVdTRW1haWwnXVsnaW5wdXQnXTtcbiAgY29udGFjdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBjb29yZGluYXRvcnM6IEFycmF5PElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT4+O1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIHBob25lPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG4gIHNob3J0TmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIHdlYnNpdGU/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0FXU1VSTCddWydpbnB1dCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE1vZGlmeUNsdWJJbnB1dCA9IHtcbiAgYWRkcmVzczogQWRkcmVzc0lucHV0O1xuICBjb250YWN0SWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgc2hvcnROYW1lPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG4gIHdlYnNpdGU/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0FXU1VSTCddWydpbnB1dCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE1vZGlmeUdhbWVJbnB1dCA9IHtcbiAgYm90aExvc3Q/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnaW5wdXQnXT47XG4gIGZpbmFsR29hbHNUZWFtMT86IElucHV0TWF5YmU8U2NhbGFyc1snSW50J11bJ2lucHV0J10+O1xuICBmaW5hbEdvYWxzVGVhbTI/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0ludCddWydpbnB1dCddPjtcbiAgaGFsZnRpbWVHb2Fsc1RlYW0xPzogSW5wdXRNYXliZTxTY2FsYXJzWydJbnQnXVsnaW5wdXQnXT47XG4gIGhhbGZ0aW1lR29hbHNUZWFtMj86IElucHV0TWF5YmU8U2NhbGFyc1snSW50J11bJ2lucHV0J10+O1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbm9uQ29tcGV0aXRpdmU/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnaW5wdXQnXT47XG4gIHBvaW50c1RlYW0xPzogSW5wdXRNYXliZTxTY2FsYXJzWydJbnQnXVsnaW5wdXQnXT47XG4gIHBvaW50c1RlYW0yPzogSW5wdXRNYXliZTxTY2FsYXJzWydJbnQnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBNb2RpZnlHeW1JbnB1dCA9IHtcbiAgYWRkcmVzczogQWRkcmVzc0lucHV0O1xuICBhdmFpbGFibGVGaWVsZHM6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG59O1xuXG5leHBvcnQgdHlwZSBNb2RpZnlMZWFndWVHcm91cElucHV0ID0ge1xuICBncm91cExlYWRlcklkPzogSW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBudW1iZXI6IFNjYWxhcnNbJ0ludCddWydpbnB1dCddO1xuICByZWd1bGF0aW9uOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgc2hvcnROYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIE1vZGlmeUxlYWd1ZUlucHV0ID0ge1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBtYXRjaGRheURhdGVzPzogSW5wdXRNYXliZTxBcnJheTxTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J10+PjtcbiAgbWF4QWdlPzogSW5wdXRNYXliZTxTY2FsYXJzWydJbnQnXVsnaW5wdXQnXT47XG4gIG1pbkFnZT86IElucHV0TWF5YmU8U2NhbGFyc1snSW50J11bJ2lucHV0J10+O1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgc2hvcnROYW1lPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBNb2RpZnlNYXRjaERheUlucHV0ID0ge1xuICBjb21taXNzaW9uZXJzPzogSW5wdXRNYXliZTxSZWZlcmVlSW5mb0lucHV0PjtcbiAgZW5kRGF0ZTogU2NhbGFyc1snQVdTRGF0ZVRpbWUnXVsnaW5wdXQnXTtcbiAgZ3ltSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBtYXRjaERheU51bWJlcjogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIHJlcG9ydD86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICBzZWNyZXRhcnk6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0FXU0RhdGVUaW1lJ11bJ2lucHV0J107XG4gIHN0cmVhbWluZ0xpbms/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0FXU1VSTCddWydpbnB1dCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE1vZGlmeU1hdGNoRGF5VGVhbUlucHV0ID0ge1xuICBwcmVzZW50OiBTY2FsYXJzWydCb29sZWFuJ11bJ2lucHV0J107XG4gIHN1YnN0aXR1dGVQbGF5ZXJJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBNb2RpZnlQZXJzb25JbnB1dCA9IHtcbiAgYWRkcmVzcz86IElucHV0TWF5YmU8QWRkcmVzc0lucHV0PjtcbiAgY2x1YklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBkYXRlT2ZCaXJ0aD86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTRGF0ZSddWydpbnB1dCddPjtcbiAgZW1haWw/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0FXU0VtYWlsJ11bJ2lucHV0J10+O1xuICBmaXJzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBnZW5kZXI/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIGxhc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgbmF0aW9uYWxpdHk/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgcGhvbmU/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgdWNpQ29kZT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgTW9kaWZ5UHJlZmVycmVkTWF0Y2hkYXlEYXRlSW5wdXQgPSB7XG4gIGNsdWJJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbGVhZ3VlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIG5vdGVzPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG4gIHByZWZlcmVuY2VEYXRlOiBTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J107XG4gIHN0YXR1czogUHJlZmVyZW5jZVN0YXR1cztcbn07XG5cbmV4cG9ydCB0eXBlIE1vZGlmeVNlYXNvbklucHV0ID0ge1xuICBhZGRpdGlvbmFsRWxpZ2libGVBc3NvY2lhdGlvbnM6IEFycmF5PElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT4+O1xuICBlbmREYXRlOiBTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J107XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBsZWFndWVPcmRlcj86IElucHV0TWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT4+O1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgcmVnaXN0cmF0aW9uRW5kOiBTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J107XG4gIHJlZ2lzdHJhdGlvblN0YXJ0PzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J10+O1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0FXU0RhdGUnXVsnaW5wdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIE1vZGlmeVRlYW1JbnB1dCA9IHtcbiAgZXhlbXB0aW9uUmVxdWVzdD86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbGVhZ3VlR3JvdXBJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIGxlYWd1ZUlkPzogSW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPjtcbiAgbmFtZT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICBwbGF5ZXJJZHM/OiBJbnB1dE1heWJlPEFycmF5PElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT4+PjtcbiAgc2Vjb25kUmlnaHRUb1BsYXk/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnaW5wdXQnXT47XG4gIHNnQ2x1YklkPzogSW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPjtcbiAgd2l0aG91dENvbXBldGl0aW9uPzogSW5wdXRNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ2lucHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgTXV0YXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nO1xuICBhZGRBc3NvY2lhdGlvbj86IE1heWJlPEFzc29jaWF0aW9uPjtcbiAgYWRkQ2x1Yj86IE1heWJlPENsdWI+O1xuICBhZGRHYW1lVG9NYXRjaERheT86IE1heWJlPEdhbWU+O1xuICBhZGRHeW0/OiBNYXliZTxHeW0+O1xuICBhZGRMZWFndWU/OiBNYXliZTxMZWFndWU+O1xuICBhZGRMZWFndWVHcm91cD86IE1heWJlPExlYWd1ZUdyb3VwPjtcbiAgYWRkTWF0Y2hEYXk/OiBNYXliZTxNYXRjaERheT47XG4gIGFkZE1hdGNoRGF5VGVhbT86IE1heWJlPE1hdGNoZGF5VGVhbT47XG4gIGFkZFBlcnNvbj86IE1heWJlPFBlcnNvbj47XG4gIGFkZFByZWZlcnJlZERhdGVGb3JMZWFndWU/OiBNYXliZTxQcmVmZXJyZWRNYXRjaGRheURhdGU+O1xuICBhZGRTZWFzb24/OiBNYXliZTxTZWFzb24+O1xuICBhZGRUZWFtPzogTWF5YmU8VGVhbT47XG4gIG1vZGlmeUFzc29jaWF0aW9uPzogTWF5YmU8QXNzb2NpYXRpb24+O1xuICBtb2RpZnlDbHViPzogTWF5YmU8Q2x1Yj47XG4gIG1vZGlmeUdhbWVJbk1hdGNoRGF5PzogTWF5YmU8R2FtZT47XG4gIG1vZGlmeUd5bT86IE1heWJlPEd5bT47XG4gIG1vZGlmeUxlYWd1ZT86IE1heWJlPExlYWd1ZT47XG4gIG1vZGlmeUxlYWd1ZUdyb3VwPzogTWF5YmU8TGVhZ3VlR3JvdXA+O1xuICBtb2RpZnlNYXRjaERheT86IE1heWJlPE1hdGNoRGF5PjtcbiAgbW9kaWZ5TWF0Y2hEYXlUZWFtPzogTWF5YmU8TWF0Y2hkYXlUZWFtPjtcbiAgbW9kaWZ5UGVyc29uPzogTWF5YmU8UGVyc29uPjtcbiAgbW9kaWZ5UHJlZmVycmVkRGF0ZUZvckxlYWd1ZT86IE1heWJlPFByZWZlcnJlZE1hdGNoZGF5RGF0ZT47XG4gIG1vZGlmeVNlYXNvbj86IE1heWJlPFNlYXNvbj47XG4gIG1vZGlmeVRlYW0/OiBNYXliZTxUZWFtPjtcbiAgcmVnaXN0ZXJUZWFtc0ZvclNlYXNvbj86IE1heWJlPEFycmF5PE1heWJlPFRlYW0+Pj47XG4gIHJlbW92ZUFzc29jaWF0aW9uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG4gIHJlbW92ZUNsdWI/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ291dHB1dCddPjtcbiAgcmVtb3ZlR2FtZUZyb21NYXRjaERheT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnb3V0cHV0J10+O1xuICByZW1vdmVHeW0/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ291dHB1dCddPjtcbiAgcmVtb3ZlTGVhZ3VlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG4gIHJlbW92ZUxlYWd1ZUdyb3VwPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG4gIHJlbW92ZU1hdGNoRGF5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG4gIHJlbW92ZU1hdGNoRGF5VGVhbT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnb3V0cHV0J10+O1xuICByZW1vdmVQZXJzb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ291dHB1dCddPjtcbiAgcmVtb3ZlUHJlZmVycmVkRGF0ZUZvckxlYWd1ZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnb3V0cHV0J10+O1xuICByZW1vdmVTZWFzb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ291dHB1dCddPjtcbiAgcmVtb3ZlVGVhbT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnb3V0cHV0J10+O1xuICB1cGRhdGVUZWFtR3JvdXA/OiBNYXliZTxUZWFtPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRBc3NvY2lhdGlvbkFyZ3MgPSB7XG4gIGFzc29jaWF0aW9uOiBTYXZlQXNzb2NpYXRpb25JbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRDbHViQXJncyA9IHtcbiAgY2x1YjogU2F2ZUNsdWJJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRHYW1lVG9NYXRjaERheUFyZ3MgPSB7XG4gIGdhbWU6IEFkZEdhbWVJbnB1dDtcbiAgbWF0Y2hEYXlJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgcGluPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkR3ltQXJncyA9IHtcbiAgZ3ltOiBTYXZlR3ltSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkTGVhZ3VlQXJncyA9IHtcbiAgbGVhZ3VlOiBTYXZlTGVhZ3VlSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkTGVhZ3VlR3JvdXBBcmdzID0ge1xuICBsZWFndWVHcm91cDogU2F2ZUxlYWd1ZUdyb3VwSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkTWF0Y2hEYXlBcmdzID0ge1xuICBtYXRjaERheTogU2F2ZU1hdGNoRGF5SW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkTWF0Y2hEYXlUZWFtQXJncyA9IHtcbiAgbWF0Y2hEYXlUZWFtOiBTYXZlTWF0Y2hEYXlUZWFtSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkUGVyc29uQXJncyA9IHtcbiAgcGVyc29uOiBTYXZlUGVyc29uSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkUHJlZmVycmVkRGF0ZUZvckxlYWd1ZUFyZ3MgPSB7XG4gIGRhdGU6IFNhdmVQcmVmZXJyZWRNYXRjaGRheURhdGVJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRTZWFzb25BcmdzID0ge1xuICBzZWFzb246IFNhdmVTZWFzb25JbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRUZWFtQXJncyA9IHtcbiAgdGVhbTogU2F2ZVRlYW1JbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Nb2RpZnlBc3NvY2lhdGlvbkFyZ3MgPSB7XG4gIGFzc29jaWF0aW9uOiBNb2RpZnlBc3NvY2lhdGlvbklucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vZGlmeUNsdWJBcmdzID0ge1xuICBjbHViOiBNb2RpZnlDbHViSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW9kaWZ5R2FtZUluTWF0Y2hEYXlBcmdzID0ge1xuICBnYW1lOiBNb2RpZnlHYW1lSW5wdXQ7XG4gIG1hdGNoRGF5SWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIHBpbj86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vZGlmeUd5bUFyZ3MgPSB7XG4gIGd5bTogTW9kaWZ5R3ltSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW9kaWZ5TGVhZ3VlQXJncyA9IHtcbiAgbGVhZ3VlOiBNb2RpZnlMZWFndWVJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Nb2RpZnlMZWFndWVHcm91cEFyZ3MgPSB7XG4gIGxlYWd1ZUdyb3VwOiBNb2RpZnlMZWFndWVHcm91cElucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vZGlmeU1hdGNoRGF5QXJncyA9IHtcbiAgbWF0Y2hEYXk6IE1vZGlmeU1hdGNoRGF5SW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW9kaWZ5TWF0Y2hEYXlUZWFtQXJncyA9IHtcbiAgbWF0Y2hEYXlUZWFtOiBNb2RpZnlNYXRjaERheVRlYW1JbnB1dDtcbiAgcGluPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW9kaWZ5UGVyc29uQXJncyA9IHtcbiAgcGVyc29uOiBNb2RpZnlQZXJzb25JbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Nb2RpZnlQcmVmZXJyZWREYXRlRm9yTGVhZ3VlQXJncyA9IHtcbiAgZGF0ZTogTW9kaWZ5UHJlZmVycmVkTWF0Y2hkYXlEYXRlSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW9kaWZ5U2Vhc29uQXJncyA9IHtcbiAgc2Vhc29uOiBNb2RpZnlTZWFzb25JbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Nb2RpZnlUZWFtQXJncyA9IHtcbiAgdGVhbTogTW9kaWZ5VGVhbUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlZ2lzdGVyVGVhbXNGb3JTZWFzb25BcmdzID0ge1xuICByZWdpc3RyYXRpb246IFJlZ2lzdGVyVGVhbXNGb3JTZWFzb25JbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVBc3NvY2lhdGlvbkFyZ3MgPSB7XG4gIGFzc29jaWF0aW9uSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlQ2x1YkFyZ3MgPSB7XG4gIGNsdWJJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVHYW1lRnJvbU1hdGNoRGF5QXJncyA9IHtcbiAgZ2FtZUlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBtYXRjaERheUlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBwaW4/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVHeW1BcmdzID0ge1xuICBneW1JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVMZWFndWVBcmdzID0ge1xuICBsZWFndWVJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVMZWFndWVHcm91cEFyZ3MgPSB7XG4gIGxlYWd1ZUdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlTWF0Y2hEYXlBcmdzID0ge1xuICBtYXRjaERheUlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZU1hdGNoRGF5VGVhbUFyZ3MgPSB7XG4gIG1hdGNoRGF5VGVhbUlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZVBlcnNvbkFyZ3MgPSB7XG4gIHBlcnNvbklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZVByZWZlcnJlZERhdGVGb3JMZWFndWVBcmdzID0ge1xuICBjbHViSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIGxlYWd1ZUlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBwcmVmZXJlbmNlRGF0ZT86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTRGF0ZSddWydpbnB1dCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVTZWFzb25BcmdzID0ge1xuICBzZWFzb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVUZWFtQXJncyA9IHtcbiAgdGVhbUlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVRlYW1Hcm91cEFyZ3MgPSB7XG4gIGRhdGE6IFVwZGF0ZVRlYW1Hcm91cElucHV0O1xufTtcblxuZXhwb3J0IHR5cGUgUGVyc29uID0ge1xuICBfX3R5cGVuYW1lPzogJ1BlcnNvbic7XG4gIGFkZHJlc3M/OiBNYXliZTxBZGRyZXNzPjtcbiAgY2x1Yj86IE1heWJlPENsdWI+O1xuICBkYXRlT2ZCaXJ0aD86IE1heWJlPFNjYWxhcnNbJ0FXU0RhdGUnXVsnb3V0cHV0J10+O1xuICBlbWFpbD86IE1heWJlPFNjYWxhcnNbJ0FXU0VtYWlsJ11bJ291dHB1dCddPjtcbiAgZmlyc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIGdlbmRlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddWydvdXRwdXQnXTtcbiAgbGFzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgbmF0aW9uYWxpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J10+O1xuICBwaG9uZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG4gIHN1YmplY3RJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ11bJ291dHB1dCddPjtcbiAgdWNpQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBQZXJzb25Db25uZWN0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1BlcnNvbkNvbm5lY3Rpb24nO1xuICBpdGVtczogQXJyYXk8TWF5YmU8UGVyc29uPj47XG4gIG5leHRUb2tlbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBQZXJzb25QZXJtaXNzaW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1BlcnNvblBlcm1pc3Npb24nO1xuICBwZXJtaXNzaW9uOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIHBlcnNvbklkOiBTY2FsYXJzWydJRCddWydvdXRwdXQnXTtcbiAgcmVzb3VyY2VJZDogU2NhbGFyc1snSUQnXVsnb3V0cHV0J107XG4gIHJlc291cmNlVHlwZTogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xufTtcblxuZXhwb3J0IGVudW0gUHJlZmVyZW5jZVN0YXR1cyB7XG4gIEF2YWlsYWJsZSA9ICdBVkFJTEFCTEUnLFxuICBQcmVmZXJyZWQgPSAnUFJFRkVSUkVEJ1xufVxuXG5leHBvcnQgdHlwZSBQcmVmZXJyZWRNYXRjaGRheURhdGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUHJlZmVycmVkTWF0Y2hkYXlEYXRlJztcbiAgY2x1YjogQ2x1YjtcbiAgbGVhZ3VlOiBMZWFndWU7XG4gIG5vdGVzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddPjtcbiAgcHJlZmVyZW5jZURhdGU6IFNjYWxhcnNbJ0FXU0RhdGUnXVsnb3V0cHV0J107XG4gIHNlYXNvbjogU2Vhc29uO1xuICBzdGF0dXM6IFByZWZlcmVuY2VTdGF0dXM7XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeSA9IHtcbiAgX190eXBlbmFtZT86ICdRdWVyeSc7XG4gIGdldEFsbEdhbWVzT2ZUZWFtSW5TZWFzb24/OiBNYXliZTxBcnJheTxNYXliZTxHYW1lPj4+O1xuICBnZXRBbGxNYXRjaGRheXNPZlRlYW1JblNlYXNvbj86IE1heWJlPEFycmF5PE1heWJlPE1hdGNoRGF5Pj4+O1xuICBnZXRBbGxQbGF5ZXJzT2ZDbHViSW5TZWFzb24/OiBNYXliZTxBcnJheTxNYXliZTxQZXJzb24+Pj47XG4gIGdldEFsbFRlYW1zT2ZDbHViSW5TZWFzb24/OiBNYXliZTxBcnJheTxNYXliZTxUZWFtPj4+O1xuICBnZXRBc3NvY2lhdGlvbkJ5SWQ/OiBNYXliZTxBc3NvY2lhdGlvbj47XG4gIGdldEF1ZGl0TG9nRW50cmllc0ZvckFjdG9yPzogTWF5YmU8QXJyYXk8TWF5YmU8QXVkaXRMb2dFbnRyeT4+PjtcbiAgZ2V0QXVkaXRMb2dFbnRyaWVzRm9yUmVzb3VyY2U/OiBNYXliZTxBcnJheTxNYXliZTxBdWRpdExvZ0VudHJ5Pj4+O1xuICBnZXRBdmFpbGFibGVEYXRlc0ZvclNlYXNvbj86IE1heWJlPEFycmF5PE1heWJlPFByZWZlcnJlZE1hdGNoZGF5RGF0ZT4+PjtcbiAgZ2V0Q2x1YkJ5SWQ/OiBNYXliZTxDbHViPjtcbiAgZ2V0R2FtZUJ5SWQ/OiBNYXliZTxHYW1lPjtcbiAgZ2V0R3ltQnlJZD86IE1heWJlPEd5bT47XG4gIGdldExlYWd1ZUJ5SWQ/OiBNYXliZTxMZWFndWU+O1xuICBnZXRMZWFndWVHcm91cEJ5SWQ/OiBNYXliZTxMZWFndWVHcm91cD47XG4gIGdldExlYWd1ZUdyb3VwVmlldz86IE1heWJlPExlYWd1ZUdyb3VwVmlldz47XG4gIGdldExpc3RPZkFzc29jaWF0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEFzc29jaWF0aW9uPj4+O1xuICBnZXRMaXN0T2ZDbHVicz86IE1heWJlPENsdWJDb25uZWN0aW9uPjtcbiAgZ2V0TGlzdE9mQ2x1YnNCeUFzc29jaWF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8Q2x1Yj4+PjtcbiAgZ2V0TGlzdE9mQ2x1YnNCeUxlYWd1ZT86IE1heWJlPEFycmF5PE1heWJlPENsdWI+Pj47XG4gIGdldExpc3RPZkNsdWJzQnlMZWFndWVHcm91cD86IE1heWJlPEFycmF5PE1heWJlPENsdWI+Pj47XG4gIGdldExpc3RPZkdyb3Vwc0luTGVhZ3VlPzogTWF5YmU8QXJyYXk8TWF5YmU8TGVhZ3VlR3JvdXA+Pj47XG4gIGdldExpc3RPZkd5bXM/OiBNYXliZTxHeW1Db25uZWN0aW9uPjtcbiAgZ2V0TGlzdE9mTGVhZ3VlSW5TZWFzb24/OiBNYXliZTxBcnJheTxNYXliZTxMZWFndWU+Pj47XG4gIGdldExpc3RPZk1hdGNoZGF5cz86IE1heWJlPEFycmF5PE1heWJlPE1hdGNoRGF5Pj4+O1xuICBnZXRMaXN0T2ZNYXRjaGRheXNJblNlYXNvbj86IE1heWJlPEFycmF5PE1heWJlPE1hdGNoRGF5Pj4+O1xuICBnZXRMaXN0T2ZQZW9wbGU/OiBNYXliZTxQZXJzb25Db25uZWN0aW9uPjtcbiAgZ2V0TGlzdE9mU2Vhc29ucz86IE1heWJlPEFycmF5PE1heWJlPFNlYXNvbj4+PjtcbiAgZ2V0TGlzdE9mVGVhbXNGb3JMZWFndWU/OiBNYXliZTxBcnJheTxNYXliZTxUZWFtPj4+O1xuICBnZXRMaXN0T2ZUZWFtc0ZvckxlYWd1ZUdyb3VwPzogTWF5YmU8QXJyYXk8TWF5YmU8VGVhbT4+PjtcbiAgZ2V0TWF0Y2hkYXlCeUlkPzogTWF5YmU8TWF0Y2hEYXk+O1xuICBnZXRQZXJzb25CeUlkPzogTWF5YmU8UGVyc29uPjtcbiAgZ2V0UGVyc29uQnlVY2lDb2RlPzogTWF5YmU8UGVyc29uPjtcbiAgZ2V0UGVyc29uUGVybWlzc2lvbnM/OiBNYXliZTxBcnJheTxNYXliZTxQZXJzb25QZXJtaXNzaW9uPj4+O1xuICBnZXRQcmVmZXJyZWREYXRlc0ZvckNsdWI/OiBNYXliZTxBcnJheTxNYXliZTxQcmVmZXJyZWRNYXRjaGRheURhdGU+Pj47XG4gIGdldFNlYXNvbkJ5SWQ/OiBNYXliZTxTZWFzb24+O1xuICBnZXRUZWFtQnlJZD86IE1heWJlPFRlYW0+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEFsbEdhbWVzT2ZUZWFtSW5TZWFzb25BcmdzID0ge1xuICBzZWFzb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgdGVhbUlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEFsbE1hdGNoZGF5c09mVGVhbUluU2Vhc29uQXJncyA9IHtcbiAgc2Vhc29uSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIHRlYW1JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRBbGxQbGF5ZXJzT2ZDbHViSW5TZWFzb25BcmdzID0ge1xuICBjbHViSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIHNlYXNvbklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEFsbFRlYW1zT2ZDbHViSW5TZWFzb25BcmdzID0ge1xuICBjbHViSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIHNlYXNvbklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEFzc29jaWF0aW9uQnlJZEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEF1ZGl0TG9nRW50cmllc0ZvckFjdG9yQXJncyA9IHtcbiAgYWN0b3JJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgZW5kRGF0ZT86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTRGF0ZVRpbWUnXVsnaW5wdXQnXT47XG4gIHN0YXJ0RGF0ZT86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTRGF0ZVRpbWUnXVsnaW5wdXQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0QXVkaXRMb2dFbnRyaWVzRm9yUmVzb3VyY2VBcmdzID0ge1xuICBlbmREYXRlPzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NEYXRlVGltZSddWydpbnB1dCddPjtcbiAgcmVzb3VyY2VJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgcmVzb3VyY2VUeXBlOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgc3RhcnREYXRlPzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NEYXRlVGltZSddWydpbnB1dCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRBdmFpbGFibGVEYXRlc0ZvclNlYXNvbkFyZ3MgPSB7XG4gIGxlYWd1ZUlkPzogSW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPjtcbiAgc2Vhc29uSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q2x1YkJ5SWRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRHYW1lQnlJZEFyZ3MgPSB7XG4gIGdhbWVJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbWF0Y2hEYXlJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRHeW1CeUlkQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TGVhZ3VlQnlJZEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldExlYWd1ZUdyb3VwQnlJZEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldExlYWd1ZUdyb3VwVmlld0FyZ3MgPSB7XG4gIGdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TGlzdE9mQ2x1YnNBcmdzID0ge1xuICBsaW1pdD86IElucHV0TWF5YmU8U2NhbGFyc1snSW50J11bJ2lucHV0J10+O1xuICBuZXh0VG9rZW4/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRMaXN0T2ZDbHVic0J5QXNzb2NpYXRpb25BcmdzID0ge1xuICBhc3NvY2lhdGlvbklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldExpc3RPZkNsdWJzQnlMZWFndWVBcmdzID0ge1xuICBsZWFndWVJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRMaXN0T2ZDbHVic0J5TGVhZ3VlR3JvdXBBcmdzID0ge1xuICBncm91cElkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldExpc3RPZkdyb3Vwc0luTGVhZ3VlQXJncyA9IHtcbiAgbGVhZ3VlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TGlzdE9mR3ltc0FyZ3MgPSB7XG4gIGNsdWJJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIGxpbWl0PzogSW5wdXRNYXliZTxTY2FsYXJzWydJbnQnXVsnaW5wdXQnXT47XG4gIG5leHRUb2tlbj86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldExpc3RPZkxlYWd1ZUluU2Vhc29uQXJncyA9IHtcbiAgc2Vhc29uSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TGlzdE9mTWF0Y2hkYXlzQXJncyA9IHtcbiAgYXNzb2NpYXRpb25JZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIGdyb3VwSWQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+O1xuICBsZWFndWVJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TGlzdE9mTWF0Y2hkYXlzSW5TZWFzb25BcmdzID0ge1xuICBzZWFzb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRMaXN0T2ZQZW9wbGVBcmdzID0ge1xuICBjbHViSWQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+O1xuICBsaW1pdD86IElucHV0TWF5YmU8U2NhbGFyc1snSW50J11bJ2lucHV0J10+O1xuICBuZXh0VG9rZW4/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRMaXN0T2ZTZWFzb25zQXJncyA9IHtcbiAgYXNzb2NpYXRpb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRMaXN0T2ZUZWFtc0ZvckxlYWd1ZUFyZ3MgPSB7XG4gIGxlYWd1ZUlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldExpc3RPZlRlYW1zRm9yTGVhZ3VlR3JvdXBBcmdzID0ge1xuICBncm91cElkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBsZWFndWVJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRNYXRjaGRheUJ5SWRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRQZXJzb25CeUlkQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0UGVyc29uQnlVY2lDb2RlQXJncyA9IHtcbiAgdWNpQ29kZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0UGVyc29uUGVybWlzc2lvbnNBcmdzID0ge1xuICBwZXJzb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRQcmVmZXJyZWREYXRlc0ZvckNsdWJBcmdzID0ge1xuICBjbHViSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIHNlYXNvbklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFNlYXNvbkJ5SWRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRUZWFtQnlJZEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuZXhwb3J0IHR5cGUgUmVmZXJlZUluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmVmZXJlZUluZm8nO1xuICBhZGRpdGlvbmFsUmVmZXJlZXM6IEFycmF5PE1heWJlPFBlcnNvbj4+O1xuICBjaGllZlJlZmVyZWU/OiBNYXliZTxQZXJzb24+O1xufTtcblxuZXhwb3J0IHR5cGUgUmVmZXJlZUluZm9JbnB1dCA9IHtcbiAgYWRkaXRpb25hbFJlZmVyZWVJZHM6IEFycmF5PElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT4+O1xuICBjaGllZlJlZmVyZWVJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSZWdpc3RlclRlYW1JbnB1dCA9IHtcbiAgZXhlbXB0aW9uUmVxdWVzdD86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICBsZWFndWVJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIHBsYXllcklkczogQXJyYXk8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIHNlY29uZFJpZ2h0VG9QbGF5PzogSW5wdXRNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ2lucHV0J10+O1xuICBzZ0NsdWJJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIHdpdGhvdXRDb21wZXRpdGlvbj86IElucHV0TWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydpbnB1dCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJlZ2lzdGVyVGVhbXNGb3JTZWFzb25JbnB1dCA9IHtcbiAgY2x1YklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBwcmVmZXJyZWREYXRlcz86IElucHV0TWF5YmU8QXJyYXk8SW5wdXRNYXliZTxTYXZlUHJlZmVycmVkTWF0Y2hkYXlEYXRlSW5wdXQ+Pj47XG4gIHNlYXNvbklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICB0ZWFtczogQXJyYXk8UmVnaXN0ZXJUZWFtSW5wdXQ+O1xufTtcblxuZXhwb3J0IHR5cGUgU2F2ZUFzc29jaWF0aW9uSW5wdXQgPSB7XG4gIGFkZHJlc3M6IEFkZHJlc3NJbnB1dDtcbiAgY29udGFjdEVtYWlsOiBTY2FsYXJzWydBV1NFbWFpbCddWydpbnB1dCddO1xuICBjb250YWN0TmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIGNvb3JkaW5hdG9yczogQXJyYXk8SW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPj47XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBwaG9uZT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICBzaG9ydE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICB3ZWJzaXRlPzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NVUkwnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBTYXZlQ2x1YklucHV0ID0ge1xuICBhZGRyZXNzOiBBZGRyZXNzSW5wdXQ7XG4gIGFzc29jaWF0aW9uSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIGNvbnRhY3RJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIHNob3J0TmFtZT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICB3ZWJzaXRlPzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NVUkwnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBTYXZlR3ltSW5wdXQgPSB7XG4gIGFkZHJlc3M6IEFkZHJlc3NJbnB1dDtcbiAgYXZhaWxhYmxlRmllbGRzOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgY2x1YklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFNhdmVMZWFndWVHcm91cElucHV0ID0ge1xuICBncm91cExlYWRlcklkPzogSW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPjtcbiAgbGVhZ3VlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBudW1iZXI6IFNjYWxhcnNbJ0ludCddWydpbnB1dCddO1xuICByZWd1bGF0aW9uOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgc2hvcnROYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFNhdmVMZWFndWVJbnB1dCA9IHtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBtYXRjaGRheURhdGVzPzogSW5wdXRNYXliZTxBcnJheTxTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J10+PjtcbiAgbWF4QWdlPzogSW5wdXRNYXliZTxTY2FsYXJzWydJbnQnXVsnaW5wdXQnXT47XG4gIG1pbkFnZT86IElucHV0TWF5YmU8U2NhbGFyc1snSW50J11bJ2lucHV0J10+O1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgc2Vhc29uSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIHNob3J0TmFtZT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgU2F2ZU1hdGNoRGF5SW5wdXQgPSB7XG4gIGNvbW1pc3Npb25lcnM/OiBJbnB1dE1heWJlPFJlZmVyZWVJbmZvSW5wdXQ+O1xuICBlbmREYXRlOiBTY2FsYXJzWydBV1NEYXRlVGltZSddWydpbnB1dCddO1xuICBncm91cElkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBneW1JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbWF0Y2hEYXlOdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICByZXBvcnQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgc2VjcmV0YXJ5OiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydBV1NEYXRlVGltZSddWydpbnB1dCddO1xuICBzdHJlYW1pbmdMaW5rPzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NVUkwnXVsnaW5wdXQnXT47XG4gIHRlYW1JZHM6IEFycmF5PElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2F2ZU1hdGNoRGF5VGVhbUlucHV0ID0ge1xuICBwcmVzZW50OiBTY2FsYXJzWydCb29sZWFuJ11bJ2lucHV0J107XG4gIHN1YnN0aXR1dGVQbGF5ZXJJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIHRlYW1JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFNhdmVQZXJzb25JbnB1dCA9IHtcbiAgYWRkcmVzcz86IElucHV0TWF5YmU8QWRkcmVzc0lucHV0PjtcbiAgY2x1YklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBkYXRlT2ZCaXJ0aD86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTRGF0ZSddWydpbnB1dCddPjtcbiAgZW1haWw/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0FXU0VtYWlsJ11bJ2lucHV0J10+O1xuICBmaXJzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBnZW5kZXI/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgbGFzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBuYXRpb25hbGl0eT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICBwaG9uZT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICB1Y2lDb2RlPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBTYXZlUHJlZmVycmVkTWF0Y2hkYXlEYXRlSW5wdXQgPSB7XG4gIGNsdWJJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbGVhZ3VlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIG5vdGVzPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG4gIHByZWZlcmVuY2VEYXRlOiBTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J107XG4gIHN0YXR1czogUHJlZmVyZW5jZVN0YXR1cztcbn07XG5cbmV4cG9ydCB0eXBlIFNhdmVTZWFzb25JbnB1dCA9IHtcbiAgYWRkaXRpb25hbEVsaWdpYmxlQXNzb2NpYXRpb25zOiBBcnJheTxJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+PjtcbiAgYXNzb2NpYXRpb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snQVdTRGF0ZSddWydpbnB1dCddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgcmVnaXN0cmF0aW9uRW5kOiBTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J107XG4gIHJlZ2lzdHJhdGlvblN0YXJ0PzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J10+O1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0FXU0RhdGUnXVsnaW5wdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFNhdmVUZWFtSW5wdXQgPSB7XG4gIGNsdWJJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgZXhlbXB0aW9uUmVxdWVzdD86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICBsZWFndWVHcm91cElkPzogSW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPjtcbiAgbGVhZ3VlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBwbGF5ZXJJZHM6IEFycmF5PElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT4+O1xuICBzZWNvbmRSaWdodFRvUGxheT86IElucHV0TWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydpbnB1dCddPjtcbiAgc2dDbHViSWQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+O1xuICB3aXRob3V0Q29tcGV0aXRpb24/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBTZWFzb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2Vhc29uJztcbiAgYWRkaXRpb25hbEVsaWdpYmxlQXNzb2NpYXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8QXNzb2NpYXRpb24+Pj47XG4gIGFzc29jaWF0aW9uOiBBc3NvY2lhdGlvbjtcbiAgZW5kRGF0ZTogU2NhbGFyc1snQVdTRGF0ZSddWydvdXRwdXQnXTtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ291dHB1dCddO1xuICBsZWFndWVPcmRlcj86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ11bJ291dHB1dCddPj47XG4gIGxlYWd1ZXM/OiBNYXliZTxBcnJheTxNYXliZTxMZWFndWU+Pj47XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgcmVnaXN0cmF0aW9uRW5kOiBTY2FsYXJzWydBV1NEYXRlJ11bJ291dHB1dCddO1xuICByZWdpc3RyYXRpb25TdGFydD86IE1heWJlPFNjYWxhcnNbJ0FXU0RhdGUnXVsnb3V0cHV0J10+O1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0FXU0RhdGUnXVsnb3V0cHV0J107XG59O1xuXG5leHBvcnQgdHlwZSBUZWFtID0ge1xuICBfX3R5cGVuYW1lPzogJ1RlYW0nO1xuICBjbHViOiBDbHViO1xuICBleGVtcHRpb25SZXF1ZXN0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ291dHB1dCddO1xuICBsZWFndWU6IExlYWd1ZTtcbiAgbGVhZ3VlR3JvdXA/OiBNYXliZTxMZWFndWVHcm91cD47XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgcGxheWVyczogQXJyYXk8TWF5YmU8UGVyc29uPj47XG4gIHNlY29uZFJpZ2h0VG9QbGF5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG4gIHNnQ2x1Yj86IE1heWJlPENsdWI+O1xuICB3aXRob3V0Q29tcGV0aXRpb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ291dHB1dCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRlYW1EZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVGVhbURldGFpbCc7XG4gIGNsdWI6IENsdWI7XG4gIGV4ZW1wdGlvblJlcXVlc3Q/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J10+O1xuICBpZDogU2NhbGFyc1snSUQnXVsnb3V0cHV0J107XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgcGxheWVyczogQXJyYXk8TWF5YmU8UGVyc29uPj47XG4gIHByZWZlcnJlZERhdGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8UHJlZmVycmVkTWF0Y2hkYXlEYXRlPj4+O1xuICBzZWNvbmRSaWdodFRvUGxheT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnb3V0cHV0J10+O1xuICBzZ0NsdWI/OiBNYXliZTxDbHViPjtcbiAgd2l0aG91dENvbXBldGl0aW9uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVUZWFtR3JvdXBJbnB1dCA9IHtcbiAgbGVhZ3VlR3JvdXBJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIHRlYW1JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG4iXX0=
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5tb2RlbC5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkL2dyYXBocWwubW9kZWwuZ2VuZXJhdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTRrQkEsSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLDJDQUF1QixDQUFBO0lBQ3ZCLDJDQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFIVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQUczQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1heWJlPFQ+ID0gVCB8IHVuZGVmaW5lZDtcbmV4cG9ydCB0eXBlIElucHV0TWF5YmU8VD4gPSBUIHwgdW5kZWZpbmVkO1xuZXhwb3J0IHR5cGUgRXhhY3Q8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9PiA9IHsgW0sgaW4ga2V5b2YgVF06IFRbS10gfTtcbmV4cG9ydCB0eXBlIE1ha2VPcHRpb25hbDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdPzogTWF5YmU8VFtTdWJLZXldPiB9O1xuZXhwb3J0IHR5cGUgTWFrZU1heWJlPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiB7IFtTdWJLZXkgaW4gS106IE1heWJlPFRbU3ViS2V5XT4gfTtcbmV4cG9ydCB0eXBlIE1ha2VFbXB0eTxUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0sIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IHsgW18gaW4gS10/OiBuZXZlciB9O1xuZXhwb3J0IHR5cGUgSW5jcmVtZW50YWw8VD4gPSBUIHwgeyBbUCBpbiBrZXlvZiBUXT86IFAgZXh0ZW5kcyAnICRmcmFnbWVudE5hbWUnIHwgJ19fdHlwZW5hbWUnID8gVFtQXSA6IG5ldmVyIH07XG4vKiogQWxsIGJ1aWx0LWluIGFuZCBjdXN0b20gc2NhbGFycywgbWFwcGVkIHRvIHRoZWlyIGFjdHVhbCB2YWx1ZXMgKi9cbmV4cG9ydCB0eXBlIFNjYWxhcnMgPSB7XG4gIElEOiB7IGlucHV0OiBzdHJpbmc7IG91dHB1dDogc3RyaW5nOyB9XG4gIFN0cmluZzogeyBpbnB1dDogc3RyaW5nOyBvdXRwdXQ6IHN0cmluZzsgfVxuICBCb29sZWFuOiB7IGlucHV0OiBib29sZWFuOyBvdXRwdXQ6IGJvb2xlYW47IH1cbiAgSW50OiB7IGlucHV0OiBudW1iZXI7IG91dHB1dDogbnVtYmVyOyB9XG4gIEZsb2F0OiB7IGlucHV0OiBudW1iZXI7IG91dHB1dDogbnVtYmVyOyB9XG4gIEFXU0RhdGU6IHsgaW5wdXQ6IHN0cmluZzsgb3V0cHV0OiBzdHJpbmc7IH1cbiAgQVdTRGF0ZVRpbWU6IHsgaW5wdXQ6IHN0cmluZzsgb3V0cHV0OiBzdHJpbmc7IH1cbiAgQVdTRW1haWw6IHsgaW5wdXQ6IHN0cmluZzsgb3V0cHV0OiBzdHJpbmc7IH1cbiAgQVdTSVBBZGRyZXNzOiB7IGlucHV0OiBzdHJpbmc7IG91dHB1dDogc3RyaW5nOyB9XG4gIEFXU0pTT046IHsgaW5wdXQ6IHN0cmluZzsgb3V0cHV0OiBzdHJpbmc7IH1cbiAgQVdTUGhvbmU6IHsgaW5wdXQ6IHN0cmluZzsgb3V0cHV0OiBzdHJpbmc7IH1cbiAgQVdTVGltZTogeyBpbnB1dDogc3RyaW5nOyBvdXRwdXQ6IHN0cmluZzsgfVxuICBBV1NUaW1lc3RhbXA6IHsgaW5wdXQ6IHN0cmluZzsgb3V0cHV0OiBzdHJpbmc7IH1cbiAgQVdTVVJMOiB7IGlucHV0OiBzdHJpbmc7IG91dHB1dDogc3RyaW5nOyB9XG4gIEJpZ0ludDogeyBpbnB1dDogYW55OyBvdXRwdXQ6IGFueTsgfVxuICBEb3VibGU6IHsgaW5wdXQ6IGFueTsgb3V0cHV0OiBhbnk7IH1cbn07XG5cbmV4cG9ydCB0eXBlIEFkZEdhbWVJbnB1dCA9IHtcbiAgZ2FtZU51bWJlcjogU2NhbGFyc1snSW50J11bJ2lucHV0J107XG4gIHRlYW0xSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIHRlYW0ySWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5leHBvcnQgdHlwZSBBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnO1xuICBjaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddPjtcbiAgY291bnRyeT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG4gIHN0cmVldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG4gIHppcD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBZGRyZXNzSW5wdXQgPSB7XG4gIGNpdHk/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgY291bnRyeT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICBzdHJlZXQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgemlwPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBc3NvY2lhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdBc3NvY2lhdGlvbic7XG4gIGFkZHJlc3M6IEFkZHJlc3M7XG4gIGNvbnRhY3RFbWFpbDogU2NhbGFyc1snQVdTRW1haWwnXVsnb3V0cHV0J107XG4gIGNvbnRhY3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIGNvb3JkaW5hdG9yczogQXJyYXk8TWF5YmU8UGVyc29uPj47XG4gIGdyb3VwTGVhZGVyczogQXJyYXk8TWF5YmU8UGVyc29uPj47XG4gIGlkOiBTY2FsYXJzWydJRCddWydvdXRwdXQnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICBwaG9uZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG4gIHNlYXNvbnM/OiBNYXliZTxBcnJheTxNYXliZTxTZWFzb24+Pj47XG4gIHNob3J0TmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICB3ZWJzaXRlPzogTWF5YmU8U2NhbGFyc1snQVdTVVJMJ11bJ291dHB1dCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEF1ZGl0TG9nRW50cnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXVkaXRMb2dFbnRyeSc7XG4gIGFjdG9ySWQ6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgYWN0b3JOYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIHJlc291cmNlSWQ6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgcmVzb3VyY2VUeXBlOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIHRpbWVzdGFtcDogU2NhbGFyc1snQVdTRGF0ZVRpbWUnXVsnb3V0cHV0J107XG59O1xuXG5leHBvcnQgdHlwZSBDbHViID0ge1xuICBfX3R5cGVuYW1lPzogJ0NsdWInO1xuICBhZGRpdGlvbmFsQ29udGFjdHM/OiBNYXliZTxBcnJheTxNYXliZTxQZXJzb24+Pj47XG4gIGFkZHJlc3M/OiBNYXliZTxBZGRyZXNzPjtcbiAgYXNzb2NpYXRpb246IEFzc29jaWF0aW9uO1xuICBjb250YWN0PzogTWF5YmU8UGVyc29uPjtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydBV1NFbWFpbCddWydvdXRwdXQnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddWydvdXRwdXQnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICByZXN1bHRTZXJ2aWNlRW1haWw/OiBNYXliZTxTY2FsYXJzWydBV1NFbWFpbCddWydvdXRwdXQnXT47XG4gIHNob3J0TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG4gIHRlYW1zPzogTWF5YmU8QXJyYXk8TWF5YmU8VGVhbT4+PjtcbiAgd2Vic2l0ZT86IE1heWJlPFNjYWxhcnNbJ0FXU1VSTCddWydvdXRwdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDbHViQ29ubmVjdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDbHViQ29ubmVjdGlvbic7XG4gIGl0ZW1zOiBBcnJheTxNYXliZTxDbHViPj47XG4gIG5leHRUb2tlbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBHYW1lID0ge1xuICBfX3R5cGVuYW1lPzogJ0dhbWUnO1xuICBib3RoTG9zdD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnb3V0cHV0J10+O1xuICBmaW5hbEdvYWxzVGVhbTE/OiBNYXliZTxTY2FsYXJzWydJbnQnXVsnb3V0cHV0J10+O1xuICBmaW5hbEdvYWxzVGVhbTI/OiBNYXliZTxTY2FsYXJzWydJbnQnXVsnb3V0cHV0J10+O1xuICBnYW1lTnVtYmVyOiBTY2FsYXJzWydJbnQnXVsnb3V0cHV0J107XG4gIGhhbGZ0aW1lR29hbHNUZWFtMT86IE1heWJlPFNjYWxhcnNbJ0ludCddWydvdXRwdXQnXT47XG4gIGhhbGZ0aW1lR29hbHNUZWFtMj86IE1heWJlPFNjYWxhcnNbJ0ludCddWydvdXRwdXQnXT47XG4gIG5vbkNvbXBldGl0aXZlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG4gIHBvaW50c1RlYW0xPzogTWF5YmU8U2NhbGFyc1snSW50J11bJ291dHB1dCddPjtcbiAgcG9pbnRzVGVhbTI/OiBNYXliZTxTY2FsYXJzWydJbnQnXVsnb3V0cHV0J10+O1xuICB0ZWFtMTogTWF0Y2hkYXlUZWFtO1xuICB0ZWFtMjogTWF0Y2hkYXlUZWFtO1xufTtcblxuZXhwb3J0IHR5cGUgR3ltID0ge1xuICBfX3R5cGVuYW1lPzogJ0d5bSc7XG4gIGFkZHJlc3M6IEFkZHJlc3M7XG4gIGF2YWlsYWJsZUZpZWxkczogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICBjbHViOiBDbHViO1xuICBpZDogU2NhbGFyc1snSUQnXVsnb3V0cHV0J107XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIEd5bUNvbm5lY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnR3ltQ29ubmVjdGlvbic7XG4gIGl0ZW1zOiBBcnJheTxNYXliZTxHeW0+PjtcbiAgbmV4dFRva2VuPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIExlYWd1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdMZWFndWUnO1xuICBhc3NvY2lhdGlvbjogQXNzb2NpYXRpb247XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIGdyb3Vwcz86IE1heWJlPEFycmF5PE1heWJlPExlYWd1ZUdyb3VwPj4+O1xuICBpZDogU2NhbGFyc1snSUQnXVsnb3V0cHV0J107XG4gIG1hdGNoZGF5RGF0ZXM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydBV1NEYXRlJ11bJ291dHB1dCddPj47XG4gIG1heEFnZT86IE1heWJlPFNjYWxhcnNbJ0ludCddWydvdXRwdXQnXT47XG4gIG1pbkFnZT86IE1heWJlPFNjYWxhcnNbJ0ludCddWydvdXRwdXQnXT47XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgc2Vhc29uOiBTZWFzb247XG4gIHNob3J0TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBMZWFndWVHcm91cCA9IHtcbiAgX190eXBlbmFtZT86ICdMZWFndWVHcm91cCc7XG4gIGFzc29jaWF0aW9uOiBBc3NvY2lhdGlvbjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ291dHB1dCddO1xuICBsZWFkZXI/OiBNYXliZTxQZXJzb24+O1xuICBsZWFndWU6IExlYWd1ZTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICBudW1iZXI6IFNjYWxhcnNbJ0ludCddWydvdXRwdXQnXTtcbiAgcmVndWxhdGlvbjogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICBzZWFzb246IFNlYXNvbjtcbiAgc2hvcnROYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG59O1xuXG5leHBvcnQgdHlwZSBMZWFndWVHcm91cFN0YXRpc3RpY3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTGVhZ3VlR3JvdXBTdGF0aXN0aWNzJztcbiAgdG90YWxDbHViczogU2NhbGFyc1snSW50J11bJ291dHB1dCddO1xuICB0b3RhbEd5bXM6IFNjYWxhcnNbJ0ludCddWydvdXRwdXQnXTtcbiAgdG90YWxQbGF5ZXJzOiBTY2FsYXJzWydJbnQnXVsnb3V0cHV0J107XG4gIHRvdGFsVGVhbXM6IFNjYWxhcnNbJ0ludCddWydvdXRwdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIExlYWd1ZUdyb3VwVmlldyA9IHtcbiAgX190eXBlbmFtZT86ICdMZWFndWVHcm91cFZpZXcnO1xuICBjbHViczogQXJyYXk8TWF5YmU8Q2x1Yj4+O1xuICBncm91cDogTGVhZ3VlR3JvdXA7XG4gIGd5bXM6IEFycmF5PE1heWJlPEd5bT4+O1xuICBzdGF0aXN0aWNzPzogTWF5YmU8TGVhZ3VlR3JvdXBTdGF0aXN0aWNzPjtcbiAgdGVhbXM6IEFycmF5PE1heWJlPFRlYW1EZXRhaWw+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hdGNoRGF5ID0ge1xuICBfX3R5cGVuYW1lPzogJ01hdGNoRGF5JztcbiAgY29tbWlzc2lvbmVycz86IE1heWJlPFJlZmVyZWVJbmZvPjtcbiAgZW5kRGF0ZTogU2NhbGFyc1snQVdTRGF0ZVRpbWUnXVsnb3V0cHV0J107XG4gIGdhbWVzOiBBcnJheTxNYXliZTxHYW1lPj47XG4gIGdyb3VwOiBMZWFndWVHcm91cDtcbiAgZ3ltOiBHeW07XG4gIGlkOiBTY2FsYXJzWydJRCddWydvdXRwdXQnXTtcbiAgbWF0Y2hEYXlOdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgcGluPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddPjtcbiAgcmVwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddPjtcbiAgc2VjcmV0YXJ5OiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snQVdTRGF0ZVRpbWUnXVsnb3V0cHV0J107XG4gIHN0cmVhbWluZ0xpbms/OiBNYXliZTxTY2FsYXJzWydBV1NVUkwnXVsnb3V0cHV0J10+O1xuICB0ZWFtczogQXJyYXk8TWF5YmU8TWF0Y2hkYXlUZWFtPj47XG59O1xuXG5leHBvcnQgdHlwZSBNYXRjaGRheVRlYW0gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTWF0Y2hkYXlUZWFtJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ291dHB1dCddO1xuICBwcmVzZW50OiBTY2FsYXJzWydCb29sZWFuJ11bJ291dHB1dCddO1xuICBzdWJzdGl0dXRlUGxheWVyPzogTWF5YmU8UGVyc29uPjtcbiAgdGVhbTogVGVhbTtcbn07XG5cbmV4cG9ydCB0eXBlIE1vZGlmeUFzc29jaWF0aW9uSW5wdXQgPSB7XG4gIGFkZHJlc3M6IEFkZHJlc3NJbnB1dDtcbiAgY29udGFjdEVtYWlsOiBTY2FsYXJzWydBV1NFbWFpbCddWydpbnB1dCddO1xuICBjb250YWN0TmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIGNvb3JkaW5hdG9yczogQXJyYXk8SW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPj47XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgcGhvbmU/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgc2hvcnROYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgd2Vic2l0ZT86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTVVJMJ11bJ2lucHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgTW9kaWZ5Q2x1YklucHV0ID0ge1xuICBhZGRpdGlvbmFsQ29udGFjdElkcz86IElucHV0TWF5YmU8QXJyYXk8SW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPj4+O1xuICBhZGRyZXNzOiBBZGRyZXNzSW5wdXQ7XG4gIGNvbnRhY3RJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgZW1haWw/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0FXU0VtYWlsJ11bJ2lucHV0J10+O1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIHJlc3VsdFNlcnZpY2VFbWFpbD86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTRW1haWwnXVsnaW5wdXQnXT47XG4gIHNob3J0TmFtZT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICB3ZWJzaXRlPzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NVUkwnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBNb2RpZnlHYW1lSW5wdXQgPSB7XG4gIGJvdGhMb3N0PzogSW5wdXRNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ2lucHV0J10+O1xuICBmaW5hbEdvYWxzVGVhbTE/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0ludCddWydpbnB1dCddPjtcbiAgZmluYWxHb2Fsc1RlYW0yPzogSW5wdXRNYXliZTxTY2FsYXJzWydJbnQnXVsnaW5wdXQnXT47XG4gIGhhbGZ0aW1lR29hbHNUZWFtMT86IElucHV0TWF5YmU8U2NhbGFyc1snSW50J11bJ2lucHV0J10+O1xuICBoYWxmdGltZUdvYWxzVGVhbTI/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0ludCddWydpbnB1dCddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIG5vbkNvbXBldGl0aXZlPzogSW5wdXRNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ2lucHV0J10+O1xuICBwb2ludHNUZWFtMT86IElucHV0TWF5YmU8U2NhbGFyc1snSW50J11bJ2lucHV0J10+O1xuICBwb2ludHNUZWFtMj86IElucHV0TWF5YmU8U2NhbGFyc1snSW50J11bJ2lucHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgTW9kaWZ5R3ltSW5wdXQgPSB7XG4gIGFkZHJlc3M6IEFkZHJlc3NJbnB1dDtcbiAgYXZhaWxhYmxlRmllbGRzOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xufTtcblxuZXhwb3J0IHR5cGUgTW9kaWZ5TGVhZ3VlR3JvdXBJbnB1dCA9IHtcbiAgZ3JvdXBMZWFkZXJJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgbnVtYmVyOiBTY2FsYXJzWydJbnQnXVsnaW5wdXQnXTtcbiAgcmVndWxhdGlvbjogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIHNob3J0TmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG59O1xuXG5leHBvcnQgdHlwZSBNb2RpZnlMZWFndWVJbnB1dCA9IHtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbWF0Y2hkYXlEYXRlcz86IElucHV0TWF5YmU8QXJyYXk8U2NhbGFyc1snQVdTRGF0ZSddWydpbnB1dCddPj47XG4gIG1heEFnZT86IElucHV0TWF5YmU8U2NhbGFyc1snSW50J11bJ2lucHV0J10+O1xuICBtaW5BZ2U/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0ludCddWydpbnB1dCddPjtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIHNob3J0TmFtZT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgTW9kaWZ5TWF0Y2hEYXlJbnB1dCA9IHtcbiAgY29tbWlzc2lvbmVycz86IElucHV0TWF5YmU8UmVmZXJlZUluZm9JbnB1dD47XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0FXU0RhdGVUaW1lJ11bJ2lucHV0J107XG4gIGd5bUlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbWF0Y2hEYXlOdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICByZXBvcnQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgc2VjcmV0YXJ5OiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydBV1NEYXRlVGltZSddWydpbnB1dCddO1xuICBzdHJlYW1pbmdMaW5rPzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NVUkwnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBNb2RpZnlNYXRjaERheVRlYW1JbnB1dCA9IHtcbiAgcHJlc2VudDogU2NhbGFyc1snQm9vbGVhbiddWydpbnB1dCddO1xuICBzdWJzdGl0dXRlUGxheWVySWQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgTW9kaWZ5UGVyc29uSW5wdXQgPSB7XG4gIGFkZHJlc3M/OiBJbnB1dE1heWJlPEFkZHJlc3NJbnB1dD47XG4gIGNsdWJJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgZGF0ZU9mQmlydGg/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0FXU0RhdGUnXVsnaW5wdXQnXT47XG4gIGVtYWlsPzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NFbWFpbCddWydpbnB1dCddPjtcbiAgZmlyc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgZ2VuZGVyPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBsYXN0TmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIG5hdGlvbmFsaXR5PzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG4gIHBob25lPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG4gIHVjaUNvZGU/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE1vZGlmeVByZWZlcnJlZE1hdGNoZGF5RGF0ZUlucHV0ID0ge1xuICBjbHViSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIGxlYWd1ZUlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBub3Rlcz86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICBwcmVmZXJlbmNlRGF0ZTogU2NhbGFyc1snQVdTRGF0ZSddWydpbnB1dCddO1xuICBzdGF0dXM6IFByZWZlcmVuY2VTdGF0dXM7XG59O1xuXG5leHBvcnQgdHlwZSBNb2RpZnlTZWFzb25JbnB1dCA9IHtcbiAgYWRkaXRpb25hbEVsaWdpYmxlQXNzb2NpYXRpb25zOiBBcnJheTxJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+PjtcbiAgZW5kRGF0ZTogU2NhbGFyc1snQVdTRGF0ZSddWydpbnB1dCddO1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbGVhZ3VlT3JkZXI/OiBJbnB1dE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+PjtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIHJlZ2lzdHJhdGlvbkVuZDogU2NhbGFyc1snQVdTRGF0ZSddWydpbnB1dCddO1xuICByZWdpc3RyYXRpb25TdGFydD86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTRGF0ZSddWydpbnB1dCddPjtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J107XG59O1xuXG5leHBvcnQgdHlwZSBNb2RpZnlUZWFtSW5wdXQgPSB7XG4gIGV4ZW1wdGlvblJlcXVlc3Q/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIGxlYWd1ZUdyb3VwSWQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+O1xuICBsZWFndWVJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIG5hbWU/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgcGxheWVySWRzPzogSW5wdXRNYXliZTxBcnJheTxJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+Pj47XG4gIHNlY29uZFJpZ2h0VG9QbGF5PzogSW5wdXRNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ2lucHV0J10+O1xuICBzZ0NsdWJJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIHdpdGhvdXRDb21wZXRpdGlvbj86IElucHV0TWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydpbnB1dCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ011dGF0aW9uJztcbiAgYWRkQXNzb2NpYXRpb24/OiBNYXliZTxBc3NvY2lhdGlvbj47XG4gIGFkZENsdWI/OiBNYXliZTxDbHViPjtcbiAgYWRkR2FtZVRvTWF0Y2hEYXk/OiBNYXliZTxHYW1lPjtcbiAgYWRkR3ltPzogTWF5YmU8R3ltPjtcbiAgYWRkTGVhZ3VlPzogTWF5YmU8TGVhZ3VlPjtcbiAgYWRkTGVhZ3VlR3JvdXA/OiBNYXliZTxMZWFndWVHcm91cD47XG4gIGFkZE1hdGNoRGF5PzogTWF5YmU8TWF0Y2hEYXk+O1xuICBhZGRNYXRjaERheVRlYW0/OiBNYXliZTxNYXRjaGRheVRlYW0+O1xuICBhZGRQZXJzb24/OiBNYXliZTxQZXJzb24+O1xuICBhZGRQcmVmZXJyZWREYXRlRm9yTGVhZ3VlPzogTWF5YmU8UHJlZmVycmVkTWF0Y2hkYXlEYXRlPjtcbiAgYWRkU2Vhc29uPzogTWF5YmU8U2Vhc29uPjtcbiAgYWRkVGVhbT86IE1heWJlPFRlYW0+O1xuICBtb2RpZnlBc3NvY2lhdGlvbj86IE1heWJlPEFzc29jaWF0aW9uPjtcbiAgbW9kaWZ5Q2x1Yj86IE1heWJlPENsdWI+O1xuICBtb2RpZnlHYW1lSW5NYXRjaERheT86IE1heWJlPEdhbWU+O1xuICBtb2RpZnlHeW0/OiBNYXliZTxHeW0+O1xuICBtb2RpZnlMZWFndWU/OiBNYXliZTxMZWFndWU+O1xuICBtb2RpZnlMZWFndWVHcm91cD86IE1heWJlPExlYWd1ZUdyb3VwPjtcbiAgbW9kaWZ5TWF0Y2hEYXk/OiBNYXliZTxNYXRjaERheT47XG4gIG1vZGlmeU1hdGNoRGF5VGVhbT86IE1heWJlPE1hdGNoZGF5VGVhbT47XG4gIG1vZGlmeVBlcnNvbj86IE1heWJlPFBlcnNvbj47XG4gIG1vZGlmeVByZWZlcnJlZERhdGVGb3JMZWFndWU/OiBNYXliZTxQcmVmZXJyZWRNYXRjaGRheURhdGU+O1xuICBtb2RpZnlTZWFzb24/OiBNYXliZTxTZWFzb24+O1xuICBtb2RpZnlUZWFtPzogTWF5YmU8VGVhbT47XG4gIHJlZ2lzdGVyVGVhbXNGb3JTZWFzb24/OiBNYXliZTxBcnJheTxNYXliZTxUZWFtPj4+O1xuICByZW1vdmVBc3NvY2lhdGlvbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnb3V0cHV0J10+O1xuICByZW1vdmVDbHViPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG4gIHJlbW92ZUdhbWVGcm9tTWF0Y2hEYXk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ291dHB1dCddPjtcbiAgcmVtb3ZlR3ltPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG4gIHJlbW92ZUxlYWd1ZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnb3V0cHV0J10+O1xuICByZW1vdmVMZWFndWVHcm91cD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnb3V0cHV0J10+O1xuICByZW1vdmVNYXRjaERheT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnb3V0cHV0J10+O1xuICByZW1vdmVNYXRjaERheVRlYW0/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ291dHB1dCddPjtcbiAgcmVtb3ZlUGVyc29uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG4gIHJlbW92ZVByZWZlcnJlZERhdGVGb3JMZWFndWU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ291dHB1dCddPjtcbiAgcmVtb3ZlU2Vhc29uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG4gIHJlbW92ZVRlYW0/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ291dHB1dCddPjtcbiAgdXBkYXRlVGVhbUdyb3VwPzogTWF5YmU8VGVhbT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkQXNzb2NpYXRpb25BcmdzID0ge1xuICBhc3NvY2lhdGlvbjogU2F2ZUFzc29jaWF0aW9uSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkQ2x1YkFyZ3MgPSB7XG4gIGNsdWI6IFNhdmVDbHViSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkR2FtZVRvTWF0Y2hEYXlBcmdzID0ge1xuICBnYW1lOiBBZGRHYW1lSW5wdXQ7XG4gIG1hdGNoRGF5SWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIHBpbj86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZEd5bUFyZ3MgPSB7XG4gIGd5bTogU2F2ZUd5bUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZExlYWd1ZUFyZ3MgPSB7XG4gIGxlYWd1ZTogU2F2ZUxlYWd1ZUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZExlYWd1ZUdyb3VwQXJncyA9IHtcbiAgbGVhZ3VlR3JvdXA6IFNhdmVMZWFndWVHcm91cElucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZE1hdGNoRGF5QXJncyA9IHtcbiAgbWF0Y2hEYXk6IFNhdmVNYXRjaERheUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZE1hdGNoRGF5VGVhbUFyZ3MgPSB7XG4gIG1hdGNoRGF5VGVhbTogU2F2ZU1hdGNoRGF5VGVhbUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZFBlcnNvbkFyZ3MgPSB7XG4gIHBlcnNvbjogU2F2ZVBlcnNvbklucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZFByZWZlcnJlZERhdGVGb3JMZWFndWVBcmdzID0ge1xuICBkYXRlOiBTYXZlUHJlZmVycmVkTWF0Y2hkYXlEYXRlSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkU2Vhc29uQXJncyA9IHtcbiAgc2Vhc29uOiBTYXZlU2Vhc29uSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkVGVhbUFyZ3MgPSB7XG4gIHRlYW06IFNhdmVUZWFtSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW9kaWZ5QXNzb2NpYXRpb25BcmdzID0ge1xuICBhc3NvY2lhdGlvbjogTW9kaWZ5QXNzb2NpYXRpb25JbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Nb2RpZnlDbHViQXJncyA9IHtcbiAgY2x1YjogTW9kaWZ5Q2x1YklucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vZGlmeUdhbWVJbk1hdGNoRGF5QXJncyA9IHtcbiAgZ2FtZTogTW9kaWZ5R2FtZUlucHV0O1xuICBtYXRjaERheUlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBwaW4/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Nb2RpZnlHeW1BcmdzID0ge1xuICBneW06IE1vZGlmeUd5bUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vZGlmeUxlYWd1ZUFyZ3MgPSB7XG4gIGxlYWd1ZTogTW9kaWZ5TGVhZ3VlSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW9kaWZ5TGVhZ3VlR3JvdXBBcmdzID0ge1xuICBsZWFndWVHcm91cDogTW9kaWZ5TGVhZ3VlR3JvdXBJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Nb2RpZnlNYXRjaERheUFyZ3MgPSB7XG4gIG1hdGNoRGF5OiBNb2RpZnlNYXRjaERheUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vZGlmeU1hdGNoRGF5VGVhbUFyZ3MgPSB7XG4gIG1hdGNoRGF5VGVhbTogTW9kaWZ5TWF0Y2hEYXlUZWFtSW5wdXQ7XG4gIHBpbj86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vZGlmeVBlcnNvbkFyZ3MgPSB7XG4gIHBlcnNvbjogTW9kaWZ5UGVyc29uSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW9kaWZ5UHJlZmVycmVkRGF0ZUZvckxlYWd1ZUFyZ3MgPSB7XG4gIGRhdGU6IE1vZGlmeVByZWZlcnJlZE1hdGNoZGF5RGF0ZUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vZGlmeVNlYXNvbkFyZ3MgPSB7XG4gIHNlYXNvbjogTW9kaWZ5U2Vhc29uSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW9kaWZ5VGVhbUFyZ3MgPSB7XG4gIHRlYW06IE1vZGlmeVRlYW1JbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZWdpc3RlclRlYW1zRm9yU2Vhc29uQXJncyA9IHtcbiAgcmVnaXN0cmF0aW9uOiBSZWdpc3RlclRlYW1zRm9yU2Vhc29uSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlQXNzb2NpYXRpb25BcmdzID0ge1xuICBhc3NvY2lhdGlvbklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZUNsdWJBcmdzID0ge1xuICBjbHViSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlR2FtZUZyb21NYXRjaERheUFyZ3MgPSB7XG4gIGdhbWVJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbWF0Y2hEYXlJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgcGluPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlR3ltQXJncyA9IHtcbiAgZ3ltSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlTGVhZ3VlQXJncyA9IHtcbiAgbGVhZ3VlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlTGVhZ3VlR3JvdXBBcmdzID0ge1xuICBsZWFndWVHcm91cElkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZU1hdGNoRGF5QXJncyA9IHtcbiAgbWF0Y2hEYXlJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVNYXRjaERheVRlYW1BcmdzID0ge1xuICBtYXRjaERheVRlYW1JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVQZXJzb25BcmdzID0ge1xuICBwZXJzb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVQcmVmZXJyZWREYXRlRm9yTGVhZ3VlQXJncyA9IHtcbiAgY2x1YklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBsZWFndWVJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgcHJlZmVyZW5jZURhdGU/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0FXU0RhdGUnXVsnaW5wdXQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlU2Vhc29uQXJncyA9IHtcbiAgc2Vhc29uSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlVGVhbUFyZ3MgPSB7XG4gIHRlYW1JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVUZWFtR3JvdXBBcmdzID0ge1xuICBkYXRhOiBVcGRhdGVUZWFtR3JvdXBJbnB1dDtcbn07XG5cbmV4cG9ydCB0eXBlIFBlcnNvbiA9IHtcbiAgX190eXBlbmFtZT86ICdQZXJzb24nO1xuICBhZGRyZXNzPzogTWF5YmU8QWRkcmVzcz47XG4gIGNsdWI/OiBNYXliZTxDbHViPjtcbiAgZGF0ZU9mQmlydGg/OiBNYXliZTxTY2FsYXJzWydBV1NEYXRlJ11bJ291dHB1dCddPjtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydBV1NFbWFpbCddWydvdXRwdXQnXT47XG4gIGZpcnN0TmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICBnZW5kZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J10+O1xuICBpZDogU2NhbGFyc1snSUQnXVsnb3V0cHV0J107XG4gIGxhc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J107XG4gIG5hdGlvbmFsaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddPjtcbiAgcGhvbmU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J10+O1xuICBzdWJqZWN0SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddWydvdXRwdXQnXT47XG4gIHVjaUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgUGVyc29uQ29ubmVjdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdQZXJzb25Db25uZWN0aW9uJztcbiAgaXRlbXM6IEFycmF5PE1heWJlPFBlcnNvbj4+O1xuICBuZXh0VG9rZW4/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgUGVyc29uUGVybWlzc2lvbiA9IHtcbiAgX190eXBlbmFtZT86ICdQZXJzb25QZXJtaXNzaW9uJztcbiAgcGVybWlzc2lvbjogU2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddO1xuICBwZXJzb25JZDogU2NhbGFyc1snSUQnXVsnb3V0cHV0J107XG4gIHJlc291cmNlSWQ6IFNjYWxhcnNbJ0lEJ11bJ291dHB1dCddO1xuICByZXNvdXJjZVR5cGU6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbn07XG5cbmV4cG9ydCBlbnVtIFByZWZlcmVuY2VTdGF0dXMge1xuICBBdmFpbGFibGUgPSAnQVZBSUxBQkxFJyxcbiAgUHJlZmVycmVkID0gJ1BSRUZFUlJFRCdcbn1cblxuZXhwb3J0IHR5cGUgUHJlZmVycmVkTWF0Y2hkYXlEYXRlID0ge1xuICBfX3R5cGVuYW1lPzogJ1ByZWZlcnJlZE1hdGNoZGF5RGF0ZSc7XG4gIGNsdWI6IENsdWI7XG4gIGxlYWd1ZTogTGVhZ3VlO1xuICBub3Rlcz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXT47XG4gIHByZWZlcmVuY2VEYXRlOiBTY2FsYXJzWydBV1NEYXRlJ11bJ291dHB1dCddO1xuICBzZWFzb246IFNlYXNvbjtcbiAgc3RhdHVzOiBQcmVmZXJlbmNlU3RhdHVzO1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUXVlcnknO1xuICBnZXRBbGxHYW1lc09mVGVhbUluU2Vhc29uPzogTWF5YmU8QXJyYXk8TWF5YmU8R2FtZT4+PjtcbiAgZ2V0QWxsTWF0Y2hkYXlzT2ZUZWFtSW5TZWFzb24/OiBNYXliZTxBcnJheTxNYXliZTxNYXRjaERheT4+PjtcbiAgZ2V0QWxsUGxheWVyc09mQ2x1YkluU2Vhc29uPzogTWF5YmU8QXJyYXk8TWF5YmU8UGVyc29uPj4+O1xuICBnZXRBbGxUZWFtc09mQ2x1YkluU2Vhc29uPzogTWF5YmU8QXJyYXk8TWF5YmU8VGVhbT4+PjtcbiAgZ2V0QXNzb2NpYXRpb25CeUlkPzogTWF5YmU8QXNzb2NpYXRpb24+O1xuICBnZXRBdWRpdExvZ0VudHJpZXNGb3JBY3Rvcj86IE1heWJlPEFycmF5PE1heWJlPEF1ZGl0TG9nRW50cnk+Pj47XG4gIGdldEF1ZGl0TG9nRW50cmllc0ZvclJlc291cmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8QXVkaXRMb2dFbnRyeT4+PjtcbiAgZ2V0QXZhaWxhYmxlRGF0ZXNGb3JTZWFzb24/OiBNYXliZTxBcnJheTxNYXliZTxQcmVmZXJyZWRNYXRjaGRheURhdGU+Pj47XG4gIGdldENsdWJCeUlkPzogTWF5YmU8Q2x1Yj47XG4gIGdldEdhbWVCeUlkPzogTWF5YmU8R2FtZT47XG4gIGdldEd5bUJ5SWQ/OiBNYXliZTxHeW0+O1xuICBnZXRMZWFndWVCeUlkPzogTWF5YmU8TGVhZ3VlPjtcbiAgZ2V0TGVhZ3VlR3JvdXBCeUlkPzogTWF5YmU8TGVhZ3VlR3JvdXA+O1xuICBnZXRMZWFndWVHcm91cFZpZXc/OiBNYXliZTxMZWFndWVHcm91cFZpZXc+O1xuICBnZXRMaXN0T2ZBc3NvY2lhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxBc3NvY2lhdGlvbj4+PjtcbiAgZ2V0TGlzdE9mQ2x1YnM/OiBNYXliZTxDbHViQ29ubmVjdGlvbj47XG4gIGdldExpc3RPZkNsdWJzQnlBc3NvY2lhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPENsdWI+Pj47XG4gIGdldExpc3RPZkNsdWJzQnlMZWFndWU/OiBNYXliZTxBcnJheTxNYXliZTxDbHViPj4+O1xuICBnZXRMaXN0T2ZDbHVic0J5TGVhZ3VlR3JvdXA/OiBNYXliZTxBcnJheTxNYXliZTxDbHViPj4+O1xuICBnZXRMaXN0T2ZHcm91cHNJbkxlYWd1ZT86IE1heWJlPEFycmF5PE1heWJlPExlYWd1ZUdyb3VwPj4+O1xuICBnZXRMaXN0T2ZHeW1zPzogTWF5YmU8R3ltQ29ubmVjdGlvbj47XG4gIGdldExpc3RPZkxlYWd1ZUluU2Vhc29uPzogTWF5YmU8QXJyYXk8TWF5YmU8TGVhZ3VlPj4+O1xuICBnZXRMaXN0T2ZNYXRjaGRheXM/OiBNYXliZTxBcnJheTxNYXliZTxNYXRjaERheT4+PjtcbiAgZ2V0TGlzdE9mTWF0Y2hkYXlzSW5TZWFzb24/OiBNYXliZTxBcnJheTxNYXliZTxNYXRjaERheT4+PjtcbiAgZ2V0TGlzdE9mUGVvcGxlPzogTWF5YmU8UGVyc29uQ29ubmVjdGlvbj47XG4gIGdldExpc3RPZlNlYXNvbnM/OiBNYXliZTxBcnJheTxNYXliZTxTZWFzb24+Pj47XG4gIGdldExpc3RPZlRlYW1zRm9yTGVhZ3VlPzogTWF5YmU8QXJyYXk8TWF5YmU8VGVhbT4+PjtcbiAgZ2V0TGlzdE9mVGVhbXNGb3JMZWFndWVHcm91cD86IE1heWJlPEFycmF5PE1heWJlPFRlYW0+Pj47XG4gIGdldE1hdGNoZGF5QnlJZD86IE1heWJlPE1hdGNoRGF5PjtcbiAgZ2V0UGVyc29uQnlJZD86IE1heWJlPFBlcnNvbj47XG4gIGdldFBlcnNvbkJ5VWNpQ29kZT86IE1heWJlPFBlcnNvbj47XG4gIGdldFBlcnNvblBlcm1pc3Npb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8UGVyc29uUGVybWlzc2lvbj4+PjtcbiAgZ2V0UHJlZmVycmVkRGF0ZXNGb3JDbHViPzogTWF5YmU8QXJyYXk8TWF5YmU8UHJlZmVycmVkTWF0Y2hkYXlEYXRlPj4+O1xuICBnZXRTZWFzb25CeUlkPzogTWF5YmU8U2Vhc29uPjtcbiAgZ2V0VGVhbUJ5SWQ/OiBNYXliZTxUZWFtPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRBbGxHYW1lc09mVGVhbUluU2Vhc29uQXJncyA9IHtcbiAgc2Vhc29uSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIHRlYW1JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRBbGxNYXRjaGRheXNPZlRlYW1JblNlYXNvbkFyZ3MgPSB7XG4gIHNlYXNvbklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICB0ZWFtSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0QWxsUGxheWVyc09mQ2x1YkluU2Vhc29uQXJncyA9IHtcbiAgY2x1YklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBzZWFzb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRBbGxUZWFtc09mQ2x1YkluU2Vhc29uQXJncyA9IHtcbiAgY2x1YklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBzZWFzb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRBc3NvY2lhdGlvbkJ5SWRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRBdWRpdExvZ0VudHJpZXNGb3JBY3RvckFyZ3MgPSB7XG4gIGFjdG9ySWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIGVuZERhdGU/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0FXU0RhdGVUaW1lJ11bJ2lucHV0J10+O1xuICBzdGFydERhdGU/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0FXU0RhdGVUaW1lJ11bJ2lucHV0J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEF1ZGl0TG9nRW50cmllc0ZvclJlc291cmNlQXJncyA9IHtcbiAgZW5kRGF0ZT86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTRGF0ZVRpbWUnXVsnaW5wdXQnXT47XG4gIHJlc291cmNlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIHJlc291cmNlVHlwZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIHN0YXJ0RGF0ZT86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTRGF0ZVRpbWUnXVsnaW5wdXQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0QXZhaWxhYmxlRGF0ZXNGb3JTZWFzb25BcmdzID0ge1xuICBsZWFndWVJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIHNlYXNvbklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENsdWJCeUlkQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0R2FtZUJ5SWRBcmdzID0ge1xuICBnYW1lSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIG1hdGNoRGF5SWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0R3ltQnlJZEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldExlYWd1ZUJ5SWRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRMZWFndWVHcm91cEJ5SWRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRMZWFndWVHcm91cFZpZXdBcmdzID0ge1xuICBncm91cElkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldExpc3RPZkNsdWJzQXJncyA9IHtcbiAgbGltaXQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0ludCddWydpbnB1dCddPjtcbiAgbmV4dFRva2VuPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TGlzdE9mQ2x1YnNCeUFzc29jaWF0aW9uQXJncyA9IHtcbiAgYXNzb2NpYXRpb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRMaXN0T2ZDbHVic0J5TGVhZ3VlQXJncyA9IHtcbiAgbGVhZ3VlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TGlzdE9mQ2x1YnNCeUxlYWd1ZUdyb3VwQXJncyA9IHtcbiAgZ3JvdXBJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRMaXN0T2ZHcm91cHNJbkxlYWd1ZUFyZ3MgPSB7XG4gIGxlYWd1ZUlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldExpc3RPZkd5bXNBcmdzID0ge1xuICBjbHViSWQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+O1xuICBsaW1pdD86IElucHV0TWF5YmU8U2NhbGFyc1snSW50J11bJ2lucHV0J10+O1xuICBuZXh0VG9rZW4/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRMaXN0T2ZMZWFndWVJblNlYXNvbkFyZ3MgPSB7XG4gIHNlYXNvbklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldExpc3RPZk1hdGNoZGF5c0FyZ3MgPSB7XG4gIGFzc29jaWF0aW9uSWQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+O1xuICBncm91cElkPzogSW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPjtcbiAgbGVhZ3VlSWQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldExpc3RPZk1hdGNoZGF5c0luU2Vhc29uQXJncyA9IHtcbiAgc2Vhc29uSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TGlzdE9mUGVvcGxlQXJncyA9IHtcbiAgY2x1YklkPzogSW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPjtcbiAgbGltaXQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0ludCddWydpbnB1dCddPjtcbiAgbmV4dFRva2VuPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TGlzdE9mU2Vhc29uc0FyZ3MgPSB7XG4gIGFzc29jaWF0aW9uSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TGlzdE9mVGVhbXNGb3JMZWFndWVBcmdzID0ge1xuICBsZWFndWVJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRMaXN0T2ZUZWFtc0ZvckxlYWd1ZUdyb3VwQXJncyA9IHtcbiAgZ3JvdXBJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbGVhZ3VlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0TWF0Y2hkYXlCeUlkQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0UGVyc29uQnlJZEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFBlcnNvbkJ5VWNpQ29kZUFyZ3MgPSB7XG4gIHVjaUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFBlcnNvblBlcm1pc3Npb25zQXJncyA9IHtcbiAgcGVyc29uSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0UHJlZmVycmVkRGF0ZXNGb3JDbHViQXJncyA9IHtcbiAgY2x1YklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBzZWFzb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRTZWFzb25CeUlkQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VGVhbUJ5SWRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFJlZmVyZWVJbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ1JlZmVyZWVJbmZvJztcbiAgYWRkaXRpb25hbFJlZmVyZWVzOiBBcnJheTxNYXliZTxQZXJzb24+PjtcbiAgY2hpZWZSZWZlcmVlPzogTWF5YmU8UGVyc29uPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJlZmVyZWVJbmZvSW5wdXQgPSB7XG4gIGFkZGl0aW9uYWxSZWZlcmVlSWRzOiBBcnJheTxJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+PjtcbiAgY2hpZWZSZWZlcmVlSWQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmVnaXN0ZXJUZWFtSW5wdXQgPSB7XG4gIGV4ZW1wdGlvblJlcXVlc3Q/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgbGVhZ3VlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBwbGF5ZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+O1xuICBzZWNvbmRSaWdodFRvUGxheT86IElucHV0TWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydpbnB1dCddPjtcbiAgc2dDbHViSWQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+O1xuICB3aXRob3V0Q29tcGV0aXRpb24/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSZWdpc3RlclRlYW1zRm9yU2Vhc29uSW5wdXQgPSB7XG4gIGNsdWJJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgcHJlZmVycmVkRGF0ZXM/OiBJbnB1dE1heWJlPEFycmF5PElucHV0TWF5YmU8U2F2ZVByZWZlcnJlZE1hdGNoZGF5RGF0ZUlucHV0Pj4+O1xuICBzZWFzb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgdGVhbXM6IEFycmF5PFJlZ2lzdGVyVGVhbUlucHV0Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFNhdmVBc3NvY2lhdGlvbklucHV0ID0ge1xuICBhZGRyZXNzOiBBZGRyZXNzSW5wdXQ7XG4gIGNvbnRhY3RFbWFpbDogU2NhbGFyc1snQVdTRW1haWwnXVsnaW5wdXQnXTtcbiAgY29udGFjdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBjb29yZGluYXRvcnM6IEFycmF5PElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT4+O1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgcGhvbmU/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgc2hvcnROYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgd2Vic2l0ZT86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTVVJMJ11bJ2lucHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgU2F2ZUNsdWJJbnB1dCA9IHtcbiAgYWRkaXRpb25hbENvbnRhY3RJZHM/OiBJbnB1dE1heWJlPEFycmF5PElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT4+PjtcbiAgYWRkcmVzczogQWRkcmVzc0lucHV0O1xuICBhc3NvY2lhdGlvbklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBjb250YWN0SWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIGVtYWlsPzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NFbWFpbCddWydpbnB1dCddPjtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J107XG4gIHJlc3VsdFNlcnZpY2VFbWFpbD86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTRW1haWwnXVsnaW5wdXQnXT47XG4gIHNob3J0TmFtZT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICB3ZWJzaXRlPzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NVUkwnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBTYXZlR3ltSW5wdXQgPSB7XG4gIGFkZHJlc3M6IEFkZHJlc3NJbnB1dDtcbiAgYXZhaWxhYmxlRmllbGRzOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgY2x1YklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFNhdmVMZWFndWVHcm91cElucHV0ID0ge1xuICBncm91cExlYWRlcklkPzogSW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPjtcbiAgbGVhZ3VlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBudW1iZXI6IFNjYWxhcnNbJ0ludCddWydpbnB1dCddO1xuICByZWd1bGF0aW9uOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgc2hvcnROYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFNhdmVMZWFndWVJbnB1dCA9IHtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBtYXRjaGRheURhdGVzPzogSW5wdXRNYXliZTxBcnJheTxTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J10+PjtcbiAgbWF4QWdlPzogSW5wdXRNYXliZTxTY2FsYXJzWydJbnQnXVsnaW5wdXQnXT47XG4gIG1pbkFnZT86IElucHV0TWF5YmU8U2NhbGFyc1snSW50J11bJ2lucHV0J10+O1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgc2Vhc29uSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIHNob3J0TmFtZT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgU2F2ZU1hdGNoRGF5SW5wdXQgPSB7XG4gIGNvbW1pc3Npb25lcnM/OiBJbnB1dE1heWJlPFJlZmVyZWVJbmZvSW5wdXQ+O1xuICBlbmREYXRlOiBTY2FsYXJzWydBV1NEYXRlVGltZSddWydpbnB1dCddO1xuICBncm91cElkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBneW1JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbWF0Y2hEYXlOdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICByZXBvcnQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgc2VjcmV0YXJ5OiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydBV1NEYXRlVGltZSddWydpbnB1dCddO1xuICBzdHJlYW1pbmdMaW5rPzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NVUkwnXVsnaW5wdXQnXT47XG4gIHRlYW1JZHM6IEFycmF5PElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2F2ZU1hdGNoRGF5VGVhbUlucHV0ID0ge1xuICBwcmVzZW50OiBTY2FsYXJzWydCb29sZWFuJ11bJ2lucHV0J107XG4gIHN1YnN0aXR1dGVQbGF5ZXJJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIHRlYW1JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFNhdmVQZXJzb25JbnB1dCA9IHtcbiAgYWRkcmVzcz86IElucHV0TWF5YmU8QWRkcmVzc0lucHV0PjtcbiAgY2x1YklkOiBTY2FsYXJzWydJRCddWydpbnB1dCddO1xuICBkYXRlT2ZCaXJ0aD86IElucHV0TWF5YmU8U2NhbGFyc1snQVdTRGF0ZSddWydpbnB1dCddPjtcbiAgZW1haWw/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0FXU0VtYWlsJ11bJ2lucHV0J10+O1xuICBmaXJzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBnZW5kZXI/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddPjtcbiAgbGFzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBuYXRpb25hbGl0eT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICBwaG9uZT86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICB1Y2lDb2RlPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBTYXZlUHJlZmVycmVkTWF0Y2hkYXlEYXRlSW5wdXQgPSB7XG4gIGNsdWJJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgbGVhZ3VlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIG5vdGVzPzogSW5wdXRNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXT47XG4gIHByZWZlcmVuY2VEYXRlOiBTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J107XG4gIHN0YXR1czogUHJlZmVyZW5jZVN0YXR1cztcbn07XG5cbmV4cG9ydCB0eXBlIFNhdmVTZWFzb25JbnB1dCA9IHtcbiAgYWRkaXRpb25hbEVsaWdpYmxlQXNzb2NpYXRpb25zOiBBcnJheTxJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+PjtcbiAgYXNzb2NpYXRpb25JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snQVdTRGF0ZSddWydpbnB1dCddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXVsnaW5wdXQnXTtcbiAgcmVnaXN0cmF0aW9uRW5kOiBTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J107XG4gIHJlZ2lzdHJhdGlvblN0YXJ0PzogSW5wdXRNYXliZTxTY2FsYXJzWydBV1NEYXRlJ11bJ2lucHV0J10+O1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0FXU0RhdGUnXVsnaW5wdXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFNhdmVUZWFtSW5wdXQgPSB7XG4gIGNsdWJJZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbiAgZXhlbXB0aW9uUmVxdWVzdD86IElucHV0TWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ2lucHV0J10+O1xuICBsZWFndWVHcm91cElkPzogSW5wdXRNYXliZTxTY2FsYXJzWydJRCddWydpbnB1dCddPjtcbiAgbGVhZ3VlSWQ6IFNjYWxhcnNbJ0lEJ11bJ2lucHV0J107XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydpbnB1dCddO1xuICBwbGF5ZXJJZHM6IEFycmF5PElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT4+O1xuICBzZWNvbmRSaWdodFRvUGxheT86IElucHV0TWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydpbnB1dCddPjtcbiAgc2dDbHViSWQ/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0lEJ11bJ2lucHV0J10+O1xuICB3aXRob3V0Q29tcGV0aXRpb24/OiBJbnB1dE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnaW5wdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBTZWFzb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2Vhc29uJztcbiAgYWRkaXRpb25hbEVsaWdpYmxlQXNzb2NpYXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8QXNzb2NpYXRpb24+Pj47XG4gIGFzc29jaWF0aW9uOiBBc3NvY2lhdGlvbjtcbiAgZW5kRGF0ZTogU2NhbGFyc1snQVdTRGF0ZSddWydvdXRwdXQnXTtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ291dHB1dCddO1xuICBsZWFndWVPcmRlcj86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ11bJ291dHB1dCddPj47XG4gIGxlYWd1ZXM/OiBNYXliZTxBcnJheTxNYXliZTxMZWFndWU+Pj47XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgcmVnaXN0cmF0aW9uRW5kOiBTY2FsYXJzWydBV1NEYXRlJ11bJ291dHB1dCddO1xuICByZWdpc3RyYXRpb25TdGFydD86IE1heWJlPFNjYWxhcnNbJ0FXU0RhdGUnXVsnb3V0cHV0J10+O1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0FXU0RhdGUnXVsnb3V0cHV0J107XG59O1xuXG5leHBvcnQgdHlwZSBUZWFtID0ge1xuICBfX3R5cGVuYW1lPzogJ1RlYW0nO1xuICBjbHViOiBDbHViO1xuICBleGVtcHRpb25SZXF1ZXN0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ11bJ291dHB1dCddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ11bJ291dHB1dCddO1xuICBsZWFndWU6IExlYWd1ZTtcbiAgbGVhZ3VlR3JvdXA/OiBNYXliZTxMZWFndWVHcm91cD47XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgcGxheWVyczogQXJyYXk8TWF5YmU8UGVyc29uPj47XG4gIHNlY29uZFJpZ2h0VG9QbGF5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG4gIHNnQ2x1Yj86IE1heWJlPENsdWI+O1xuICB3aXRob3V0Q29tcGV0aXRpb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ11bJ291dHB1dCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRlYW1EZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVGVhbURldGFpbCc7XG4gIGNsdWI6IENsdWI7XG4gIGV4ZW1wdGlvblJlcXVlc3Q/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXVsnb3V0cHV0J10+O1xuICBpZDogU2NhbGFyc1snSUQnXVsnb3V0cHV0J107XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddWydvdXRwdXQnXTtcbiAgcGxheWVyczogQXJyYXk8TWF5YmU8UGVyc29uPj47XG4gIHByZWZlcnJlZERhdGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8UHJlZmVycmVkTWF0Y2hkYXlEYXRlPj4+O1xuICBzZWNvbmRSaWdodFRvUGxheT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXVsnb3V0cHV0J10+O1xuICBzZ0NsdWI/OiBNYXliZTxDbHViPjtcbiAgd2l0aG91dENvbXBldGl0aW9uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddWydvdXRwdXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVUZWFtR3JvdXBJbnB1dCA9IHtcbiAgbGVhZ3VlR3JvdXBJZD86IElucHV0TWF5YmU8U2NhbGFyc1snSUQnXVsnaW5wdXQnXT47XG4gIHRlYW1JZDogU2NhbGFyc1snSUQnXVsnaW5wdXQnXTtcbn07XG4iXX0=
|
package/lib/validation.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Address, ModifyAssociationInput, ModifyClubInput, ModifyGymInput, ModifyLeagueInput, ModifyPersonInput, ModifySeasonInput, SaveAssociationInput, SaveClubInput, SaveGymInput, SaveLeagueGroupInput, SaveLeagueInput, SavePersonInput, SaveSeasonInput, ModifyLeagueGroupInput, SaveTeamInput, ModifyTeamInput, RegisterTeamInput } from '@generated/graphql.model.generated';
|
|
2
|
+
export declare const REGEX_EMAIL_FORMAT: RegExp;
|
|
2
3
|
export declare class ValidationCheckResult {
|
|
3
4
|
readonly warnings: {
|
|
4
5
|
[field: string]: string[];
|
package/lib/validation.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValidationCheckResult = void 0;
|
|
3
|
+
exports.ValidationCheckResult = exports.REGEX_EMAIL_FORMAT = void 0;
|
|
4
4
|
exports.checkAddress = checkAddress;
|
|
5
5
|
exports.validateAddress = validateAddress;
|
|
6
6
|
exports.checkLeague = checkLeague;
|
|
@@ -20,6 +20,7 @@ exports.checkLeagueGroup = checkLeagueGroup;
|
|
|
20
20
|
exports.validateLeagueGroup = validateLeagueGroup;
|
|
21
21
|
exports.checkTeam = checkTeam;
|
|
22
22
|
exports.validateTeam = validateTeam;
|
|
23
|
+
exports.REGEX_EMAIL_FORMAT = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
23
24
|
class ValidationCheckResult {
|
|
24
25
|
constructor() {
|
|
25
26
|
this.warnings = {};
|
|
@@ -158,6 +159,14 @@ function checkClub(club) {
|
|
|
158
159
|
result.addError('website', 'Ungültige Website-URL');
|
|
159
160
|
}
|
|
160
161
|
}
|
|
162
|
+
// Email validation
|
|
163
|
+
if (club.email && !exports.REGEX_EMAIL_FORMAT.test(club.email)) {
|
|
164
|
+
result.addError('email', 'Ungültiges E-Mail-Format');
|
|
165
|
+
}
|
|
166
|
+
// Result service email validation
|
|
167
|
+
if (club.resultServiceEmail && !exports.REGEX_EMAIL_FORMAT.test(club.resultServiceEmail)) {
|
|
168
|
+
result.addError('resultServiceEmail', 'Ungültiges E-Mail-Format');
|
|
169
|
+
}
|
|
161
170
|
// Address validation
|
|
162
171
|
if (club.address && (club.address.city || club.address.street || club.address.zip)) {
|
|
163
172
|
const addressResult = checkAddress(club.address);
|
|
@@ -291,7 +300,7 @@ function checkPerson(person) {
|
|
|
291
300
|
result.addError('lastName', 'Nachname ist erforderlich');
|
|
292
301
|
}
|
|
293
302
|
// Email validation
|
|
294
|
-
if (person.email &&
|
|
303
|
+
if (person.email && !exports.REGEX_EMAIL_FORMAT.test(person.email)) {
|
|
295
304
|
result.addError('email', 'Ungültiges E-Mail-Format');
|
|
296
305
|
}
|
|
297
306
|
// Phone number validation
|
|
@@ -344,7 +353,7 @@ function checkAssociation(association) {
|
|
|
344
353
|
if (!association.contactEmail?.trim()) {
|
|
345
354
|
result.addError('contactEmail', 'Kontakt-E-Mail ist erforderlich');
|
|
346
355
|
}
|
|
347
|
-
else if (
|
|
356
|
+
else if (!exports.REGEX_EMAIL_FORMAT.test(association.contactEmail)) {
|
|
348
357
|
result.addError('contactEmail', 'Ungültiges Kontakt-E-Mail-Format');
|
|
349
358
|
}
|
|
350
359
|
// Contact Name validation
|
|
@@ -441,4 +450,4 @@ function validateTeam(team) {
|
|
|
441
450
|
const result = checkTeam(team);
|
|
442
451
|
result.validate();
|
|
443
452
|
}
|
|
444
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTRDQSxvQ0E0QkM7QUFFRCwwQ0FHQztBQUVELGtDQTBDQztBQUVELHdDQUdDO0FBRUQsOEJBMENDO0FBRUQsb0NBR0M7QUFFRCw0QkEwQkM7QUFFRCxrQ0FHQztBQUVELGtDQXdFQztBQUVELHdDQUdDO0FBRUQsa0VBUUM7QUFFRCxrQ0FvREM7QUFFRCx3Q0FHQztBQUVELDRDQWlDQztBQUVELGtEQUdDO0FBRUQsNENBOEJDO0FBRUQsa0RBR0M7QUFFRCw4QkFzQ0M7QUFFRCxvQ0FHQztBQTVkRCxNQUFhLHFCQUFxQjtJQUFsQztRQUVrQixhQUFRLEdBQWtDLEVBQUUsQ0FBQztRQUM3QyxXQUFNLEdBQWtDLEVBQUUsQ0FBQztJQXFDN0QsQ0FBQztJQW5DUSxVQUFVLENBQUMsS0FBYSxFQUFFLE9BQWU7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFhLEVBQUUsT0FBZTtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLE9BQU8sTUFBTSxD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Q0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkcmVzcywgTW9kaWZ5QXNzb2NpYXRpb25JbnB1dCwgTW9kaWZ5Q2x1YklucHV0LCBNb2RpZnlHeW1JbnB1dCwgTW9kaWZ5TGVhZ3VlSW5wdXQsIE1vZGlmeVBlcnNvbklucHV0LCBNb2RpZnlTZWFzb25JbnB1dCwgU2F2ZUFzc29jaWF0aW9uSW5wdXQsIFNhdmVDbHViSW5wdXQsIFNhdmVHeW1JbnB1dCwgU2F2ZUxlYWd1ZUdyb3VwSW5wdXQsIFNhdmVMZWFndWVJbnB1dCwgU2F2ZVBlcnNvbklucHV0LCBTYXZlU2Vhc29uSW5wdXQsIE1vZGlmeUxlYWd1ZUdyb3VwSW5wdXQsIFNhdmVUZWFtSW5wdXQsIE1vZGlmeVRlYW1JbnB1dCwgUmVnaXN0ZXJUZWFtSW5wdXQgfSBmcm9tICdAZ2VuZXJhdGVkL2dyYXBocWwubW9kZWwuZ2VuZXJhdGVkJztcblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25DaGVja1Jlc3VsdCB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHdhcm5pbmdzOiB7IFtmaWVsZDogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xuICBwdWJsaWMgcmVhZG9ubHkgZXJyb3JzOiB7IFtmaWVsZDogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xuXG4gIHB1YmxpYyBhZGRXYXJuaW5nKGZpZWxkOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy53YXJuaW5nc1tmaWVsZF0pIHtcbiAgICAgIHRoaXMud2FybmluZ3NbZmllbGRdID0gW107XG4gICAgfVxuICAgIHRoaXMud2FybmluZ3NbZmllbGRdLnB1c2gobWVzc2FnZSk7XG4gIH1cblxuICBwdWJsaWMgYWRkRXJyb3IoZmllbGQ6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVycm9yc1tmaWVsZF0pIHtcbiAgICAgIHRoaXMuZXJyb3JzW2ZpZWxkXSA9IFtdO1xuICAgIH1cbiAgICB0aGlzLmVycm9yc1tmaWVsZF0ucHVzaChtZXNzYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRFcnJvck1lc3NhZ2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmVycm9ycykuZmxhdCgpO1xuICB9XG5cbiAgcHVibGljIGdldFdhcm5pbmdNZXNzYWdlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy53YXJuaW5ncykuZmxhdCgpO1xuICB9XG5cbiAgcHVibGljIGdldEVycm9yTWVzc2FnZXNTdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRFcnJvck1lc3NhZ2VzKCkuam9pbignOyAnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRXYXJuaW5nTWVzc2FnZXNTdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRXYXJuaW5nTWVzc2FnZXMoKS5qb2luKCc7ICcpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmVycm9ycykubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuZ2V0RXJyb3JNZXNzYWdlc1N0cmluZygpKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrQWRkcmVzcyhhZGRyZXNzOiBBZGRyZXNzKTogVmFsaWRhdGlvbkNoZWNrUmVzdWx0IHtcbiAgY29uc3QgcmVzdWx0ID0gbmV3IFZhbGlkYXRpb25DaGVja1Jlc3VsdCgpO1xuXG4gIGlmIChhZGRyZXNzPy5jaXR5Py50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdjaXR5JywgJ1N0YWR0IGlzdCBlcmZvcmRlcmxpY2gnKTtcbiAgfSBlbHNlIGlmIChhZGRyZXNzLmNpdHkhLmxlbmd0aCA+IDIwMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignY2l0eScsICdTdGFkdCBkYXJmIDIwMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gIH1cblxuICBpZiAoYWRkcmVzcz8uY291bnRyeT8udHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignY291bnRyeScsICdMYW5kIGlzdCBlcmZvcmRlcmxpY2gnKTtcbiAgfSBlbHNlIGlmIChhZGRyZXNzLmNvdW50cnkhLmxlbmd0aCA+IDIwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdjb3VudHJ5JywgJ0xhbmQgZGFyZiAyMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gIH1cblxuICBpZiAoYWRkcmVzcz8uc3RyZWV0Py50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdzdHJlZXQnLCAnU3RyYcOfZSBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH0gZWxzZSBpZiAoYWRkcmVzcy5zdHJlZXQhLmxlbmd0aCA+IDIwMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignc3RyZWV0JywgJ1N0cmHDn2UgZGFyZiAyMDAgWmVpY2hlbiBuaWNodCDDvGJlcnNjaHJlaXRlbicpO1xuICB9XG5cbiAgaWYgKGFkZHJlc3M/LnppcD8udHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignemlwJywgJ1BMWiBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH0gZWxzZSBpZiAoYWRkcmVzcy56aXAhLmxlbmd0aCA+IDIwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCd6aXAnLCAnUExaIGRhcmYgMjAgWmVpY2hlbiBuaWNodCDDvGJlcnNjaHJlaXRlbicpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQWRkcmVzcyhhZGRyZXNzOiBBZGRyZXNzKTogdm9pZCB7XG4gIGNvbnN0IHJlc3VsdCA9IGNoZWNrQWRkcmVzcyhhZGRyZXNzKTtcbiAgcmVzdWx0LnZhbGlkYXRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0xlYWd1ZShsZWFndWU6IFNhdmVMZWFndWVJbnB1dCB8IE1vZGlmeUxlYWd1ZUlucHV0KTogVmFsaWRhdGlvbkNoZWNrUmVzdWx0IHtcbiAgY29uc3QgcmVzdWx0ID0gbmV3IFZhbGlkYXRpb25DaGVja1Jlc3VsdCgpO1xuXG4gIC8vIEFnZSByYW5nZSB2YWxpZGF0aW9uc1xuICBpZiAobGVhZ3VlLm1pbkFnZSAhPSB1bmRlZmluZWQgJiYgbGVhZ3VlLm1heEFnZSAhPSB1bmRlZmluZWQpIHtcbiAgICBpZiAobGVhZ3VlLm1pbkFnZSA8IDApIHtcbiAgICAgIHJlc3VsdC5hZGRFcnJvcignbWluQWdlJywgJ01pbmRlc3RhbHRlciBkYXJmIG5pY2h0IG5lZ2F0aXYgc2VpbicpO1xuICAgIH1cbiAgICBpZiAobGVhZ3VlLm1heEFnZSA8IDApIHtcbiAgICAgIHJlc3VsdC5hZGRFcnJvcignbWF4QWdlJywgJ01heGltYWxhbHRlciBkYXJmIG5pY2h0IG5lZ2F0aXYgc2VpbicpO1xuICAgIH1cbiAgICBpZiAobGVhZ3VlLm1heEFnZSA8IGxlYWd1ZS5taW5BZ2UpIHtcbiAgICAgIHJlc3VsdC5hZGRFcnJvcignbWF4QWdlJywgJ01heGltYWxhbHRlciBtdXNzIGdyw7bDn2VyIG9kZXIgZ2xlaWNoIGRlbSBNaW5kZXN0YWx0ZXIgc2VpbicpO1xuICAgIH1cbiAgICBpZiAobGVhZ3VlLm1heEFnZSA+IDEwMCkgeyAvLyBhZGp1c3QgYXMgbmVlZGVkXG4gICAgICByZXN1bHQuYWRkRXJyb3IoJ21heEFnZScsICdNYXhpbWFsYWx0ZXIgw7xiZXJzY2hyZWl0ZXQgZGFzIHZlcm7DvG5mdGlnZSBMaW1pdCcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5hbWUgdmFsaWRhdGlvbnNcbiAgaWYgKCFsZWFndWUubmFtZSB8fCBsZWFndWUubmFtZS50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ0xpZ2FuYW1lIGlzdCBlcmZvcmRlcmxpY2gnKTtcbiAgfSBlbHNlIGlmIChsZWFndWUubmFtZS5sZW5ndGggPiAxMDApIHsgLy8gYWRqdXN0IG1heCBsZW5ndGggYXMgbmVlZGVkXG4gICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ0xpZ2FuYW1lIGRhcmYgMTAwIFplaWNoZW4gbmljaHQgw7xiZXJzY2hyZWl0ZW4nKTtcbiAgfVxuXG4gIC8vIERlc2NyaXB0aW9uIHZhbGlkYXRpb24gKGlmIHJlcXVpcmVkKVxuICBpZiAobGVhZ3VlLmRlc2NyaXB0aW9uICYmIGxlYWd1ZS5kZXNjcmlwdGlvbi5sZW5ndGggPiA1MDApIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ2Rlc2NyaXB0aW9uJywgJ0Jlc2NocmVpYnVuZyBkYXJmIDUwMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gIH1cblxuICAvLyBTaG9ydCBuYW1lIHZhbGlkYXRpb25cbiAgaWYgKGxlYWd1ZS5zaG9ydE5hbWUpIHtcbiAgICBpZiAobGVhZ3VlLnNob3J0TmFtZS5sZW5ndGggPiAxMCkge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCdzaG9ydE5hbWUnLCAnS3Vyem5hbWUgZGFyZiAxMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gICAgfVxuICAgIGlmICghL15bQS1aYS16MC05XSskLy50ZXN0KGxlYWd1ZS5zaG9ydE5hbWUpKSB7XG4gICAgICByZXN1bHQuYWRkRXJyb3IoJ3Nob3J0TmFtZScsICdLdXJ6bmFtZSBkYXJmIG51ciBhbHBoYW51bWVyaXNjaGUgWmVpY2hlbiBlbnRoYWx0ZW4nKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFndWUobGVhZ3VlOiBTYXZlTGVhZ3VlSW5wdXQgfCBNb2RpZnlMZWFndWVJbnB1dCk6IHZvaWQge1xuICBjb25zdCByZXN1bHQgPSBjaGVja0xlYWd1ZShsZWFndWUpO1xuICByZXN1bHQudmFsaWRhdGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrQ2x1YihjbHViOiBTYXZlQ2x1YklucHV0IHwgTW9kaWZ5Q2x1YklucHV0KTogVmFsaWRhdGlvbkNoZWNrUmVzdWx0IHtcbiAgY29uc3QgcmVzdWx0ID0gbmV3IFZhbGlkYXRpb25DaGVja1Jlc3VsdCgpO1xuXG4gIC8vIEZ1bGwgbmFtZSB2YWxpZGF0aW9uc1xuICBpZiAoIWNsdWIubmFtZSB8fCBjbHViLm5hbWUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignbmFtZScsICdWZXJlaW5zbmFtZSBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH0gZWxzZSBpZiAoY2x1Yi5uYW1lLmxlbmd0aCA+IDEwMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignbmFtZScsICdWZXJlaW5zbmFtZSBkYXJmIDEwMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gIH1cblxuICAvLyBTaG9ydCBuYW1lIHZhbGlkYXRpb25zXG4gIGlmIChjbHViLnNob3J0TmFtZSkge1xuICAgIGlmIChjbHViLnNob3J0TmFtZS5sZW5ndGggPiAzMCkge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCdzaG9ydE5hbWUnLCAnS3Vyem5hbWUgZGFyZiAzMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2Vic2l0ZSB2YWxpZGF0aW9uXG4gIGlmIChjbHViLndlYnNpdGUpIHtcbiAgICB0cnkge1xuICAgICAgbmV3IFVSTChjbHViLndlYnNpdGUpO1xuICAgICAgaWYgKCFjbHViLndlYnNpdGUuc3RhcnRzV2l0aCgnaHR0cDovLycpICYmICFjbHViLndlYnNpdGUuc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSkge1xuICAgICAgICByZXN1bHQuYWRkRXJyb3IoJ3dlYnNpdGUnLCAnV2Vic2l0ZSBtdXNzIG1pdCBodHRwOi8vIG9kZXIgaHR0cHM6Ly8gYmVnaW5uZW4nKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHJlc3VsdC5hZGRFcnJvcignd2Vic2l0ZScsICdVbmfDvGx0aWdlIFdlYnNpdGUtVVJMJyk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkcmVzcyB2YWxpZGF0aW9uXG4gIGlmIChjbHViLmFkZHJlc3MgJiYgKGNsdWIuYWRkcmVzcy5jaXR5IHx8IGNsdWIuYWRkcmVzcy5zdHJlZXQgfHwgY2x1Yi5hZGRyZXNzLnppcCkpIHtcbiAgICBjb25zdCBhZGRyZXNzUmVzdWx0ID0gY2hlY2tBZGRyZXNzKGNsdWIuYWRkcmVzcyk7XG4gICAgLy8gTWVyZ2UgYWRkcmVzcyBlcnJvcnMgaW50byB0aGUgbWFpbiByZXN1bHRcbiAgICBPYmplY3QuZW50cmllcyhhZGRyZXNzUmVzdWx0LmVycm9ycykuZm9yRWFjaCgoW2ZpZWxkLCBtZXNzYWdlc10pID0+IHtcbiAgICAgIG1lc3NhZ2VzLmZvckVhY2gobWVzc2FnZSA9PiByZXN1bHQuYWRkRXJyb3IoYGFkZHJlc3MuJHtmaWVsZH1gLCBtZXNzYWdlKSk7XG4gICAgfSk7XG4gICAgT2JqZWN0LmVudHJpZXMoYWRkcmVzc1Jlc3VsdC53YXJuaW5ncykuZm9yRWFjaCgoW2ZpZWxkLCBtZXNzYWdlc10pID0+IHtcbiAgICAgIG1lc3NhZ2VzLmZvckVhY2gobWVzc2FnZSA9PiByZXN1bHQuYWRkV2FybmluZyhgYWRkcmVzcy4ke2ZpZWxkfWAsIG1lc3NhZ2UpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNsdWIoY2x1YjogU2F2ZUNsdWJJbnB1dCB8IE1vZGlmeUNsdWJJbnB1dCk6IHZvaWQge1xuICBjb25zdCByZXN1bHQgPSBjaGVja0NsdWIoY2x1Yik7XG4gIHJlc3VsdC52YWxpZGF0ZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tHeW0oZ3ltOiBTYXZlR3ltSW5wdXQgfCBNb2RpZnlHeW1JbnB1dCk6IFZhbGlkYXRpb25DaGVja1Jlc3VsdCB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBWYWxpZGF0aW9uQ2hlY2tSZXN1bHQoKTtcblxuICAvLyBOYW1lIHZhbGlkYXRpb25zXG4gIGlmICghZ3ltLm5hbWUgfHwgZ3ltLm5hbWUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignbmFtZScsICdIYWxsZW5uYW1lIGlzdCBlcmZvcmRlcmxpY2gnKTtcbiAgfSBlbHNlIGlmIChneW0ubmFtZS5sZW5ndGggPiAxMDApIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ25hbWUnLCAnSGFsbGVubmFtZSBkYXJmIDEwMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gIH1cblxuICAvLyBhdmFpbGFibGUgZmllbGRzIHZhbGlkYXRpb25cbiAgaWYgKCFneW0uYXZhaWxhYmxlRmllbGRzIHx8IGd5bS5hdmFpbGFibGVGaWVsZHMudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignYXZhaWxhYmxlRmllbGRzJywgJ1ZlcmbDvGdiYXJlIEZlbGRlciBzaW5kIGVyZm9yZGVybGljaCcpO1xuICB9XG5cbiAgLy8gQWRkcmVzcyB2YWxpZGF0aW9uc1xuICBjb25zdCBhZGRyZXNzUmVzdWx0ID0gY2hlY2tBZGRyZXNzKGd5bS5hZGRyZXNzKTtcbiAgLy8gTWVyZ2UgYWRkcmVzcyBlcnJvcnMgaW50byB0aGUgbWFpbiByZXN1bHRcbiAgT2JqZWN0LmVudHJpZXMoYWRkcmVzc1Jlc3VsdC5lcnJvcnMpLmZvckVhY2goKFtmaWVsZCwgbWVzc2FnZXNdKSA9PiB7XG4gICAgbWVzc2FnZXMuZm9yRWFjaChtZXNzYWdlID0+IHJlc3VsdC5hZGRFcnJvcihgYWRkcmVzcy4ke2ZpZWxkfWAsIG1lc3NhZ2UpKTtcbiAgfSk7XG4gIE9iamVjdC5lbnRyaWVzKGFkZHJlc3NSZXN1bHQud2FybmluZ3MpLmZvckVhY2goKFtmaWVsZCwgbWVzc2FnZXNdKSA9PiB7XG4gICAgbWVzc2FnZXMuZm9yRWFjaChtZXNzYWdlID0+IHJlc3VsdC5hZGRXYXJuaW5nKGBhZGRyZXNzLiR7ZmllbGR9YCwgbWVzc2FnZSkpO1xuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVHeW0oZ3ltOiBTYXZlR3ltSW5wdXQgfCBNb2RpZnlHeW1JbnB1dCk6IHZvaWQge1xuICBjb25zdCByZXN1bHQgPSBjaGVja0d5bShneW0pO1xuICByZXN1bHQudmFsaWRhdGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrU2Vhc29uKHNlYXNvbjogU2F2ZVNlYXNvbklucHV0IHwgTW9kaWZ5U2Vhc29uSW5wdXQpOiBWYWxpZGF0aW9uQ2hlY2tSZXN1bHQge1xuICBjb25zdCByZXN1bHQgPSBuZXcgVmFsaWRhdGlvbkNoZWNrUmVzdWx0KCk7XG5cbiAgLy8gTmFtZSB2YWxpZGF0aW9uc1xuICBpZiAoIXNlYXNvbi5uYW1lIHx8IHNlYXNvbi5uYW1lLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ25hbWUnLCAnU2Fpc29ubmFtZSBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH0gZWxzZSBpZiAoc2Vhc29uLm5hbWUubGVuZ3RoID4gMTAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ1NhaXNvbm5hbWUgZGFyZiAxMDAgWmVpY2hlbiBuaWNodCDDvGJlcnNjaHJlaXRlbicpO1xuICB9XG5cbiAgLy8gQ2hlY2sgZm9yIHZhbGlkIGRhdGVzXG4gIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHNlYXNvbi5zdGFydERhdGUpO1xuICBjb25zdCBlbmREYXRlID0gbmV3IERhdGUoc2Vhc29uLmVuZERhdGUpO1xuICBjb25zdCByZWdpc3RyYXRpb25FbmQgPSBuZXcgRGF0ZShzZWFzb24ucmVnaXN0cmF0aW9uRW5kKTtcblxuICBpZiAoaXNOYU4oc3RhcnREYXRlLmdldFRpbWUoKSkgfHwgaXNOYU4oZW5kRGF0ZS5nZXRUaW1lKCkpIHx8IGlzTmFOKHJlZ2lzdHJhdGlvbkVuZC5nZXRUaW1lKCkpKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdkYXRlcycsICdVbmfDvGx0aWdlcyBEYXR1bXNmb3JtYXQnKTtcbiAgfVxuXG4gIGlmIChzZWFzb24ucmVnaXN0cmF0aW9uU3RhcnQpIHtcbiAgICBjb25zdCByZWdpc3RyYXRpb25TdGFydCA9IG5ldyBEYXRlKHNlYXNvbi5yZWdpc3RyYXRpb25TdGFydCk7XG4gICAgaWYgKGlzTmFOKHJlZ2lzdHJhdGlvblN0YXJ0LmdldFRpbWUoKSkpIHtcbiAgICAgIHJlc3VsdC5hZGRFcnJvcigncmVnaXN0cmF0aW9uU3RhcnQnLCAnVW5nw7xsdGlnZXMgRGF0dW1zZm9ybWF0Jyk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2Vhc29uIGRhdGUgdmFsaWRhdGlvbnNcbiAgaWYgKGVuZERhdGUgPD0gc3RhcnREYXRlKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdlbmREYXRlJywgJ1NhaXNvbi1FbmRkYXR1bSBtdXNzIG5hY2ggZGVtIFN0YXJ0ZGF0dW0gbGllZ2VuJyk7XG4gIH1cblxuICAvLyBSZWdpc3RyYXRpb24gcGVyaW9kIHZhbGlkYXRpb25zXG4gIGlmIChzZWFzb24ucmVnaXN0cmF0aW9uU3RhcnQpIHtcbiAgICBjb25zdCByZWdpc3RyYXRpb25TdGFydCA9IG5ldyBEYXRlKHNlYXNvbi5yZWdpc3RyYXRpb25TdGFydCk7XG4gICAgaWYgKHJlZ2lzdHJhdGlvblN0YXJ0KSB7XG4gICAgICBpZiAocmVnaXN0cmF0aW9uRW5kIDw9IHJlZ2lzdHJhdGlvblN0YXJ0KSB7XG4gICAgICAgIHJlc3VsdC5hZGRFcnJvcigncmVnaXN0cmF0aW9uRW5kJywgJ0FubWVsZHVuZ3NlbmRlIG11c3MgbmFjaCBkZW0gQW5tZWxkdW5nc3N0YXJ0IGxpZWdlbicpO1xuICAgICAgfVxuICAgICAgaWYgKHJlZ2lzdHJhdGlvblN0YXJ0ID49IHN0YXJ0RGF0ZSkge1xuICAgICAgICByZXN1bHQuYWRkRXJyb3IoJ3JlZ2lzdHJhdGlvblN0YXJ0JywgJ0FubWVsZHVuZyBtdXNzIHZvciBkZW0gU2Fpc29uc3RhcnQgYmVnaW5uZW4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocmVnaXN0cmF0aW9uRW5kID4gc3RhcnREYXRlKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdyZWdpc3RyYXRpb25FbmQnLCAnQW5tZWxkdW5nIG11c3Mgdm9yIGRlbSBTYWlzb25zdGFydCBlbmRlbicpO1xuICB9XG5cbiAgLy8gRnV0dXJlIGRhdGUgdmFsaWRhdGlvblxuICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICBpZiAoc3RhcnREYXRlIDwgbm93KSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdzdGFydERhdGUnLCAnU2Fpc29uLVN0YXJ0ZGF0dW0gZGFyZiBuaWNodCBpbiBkZXIgVmVyZ2FuZ2VuaGVpdCBsaWVnZW4nKTtcbiAgfVxuXG4gIC8vIExlYWd1ZSBvcmRlciB2YWxpZGF0aW9uIChvbmx5IGZvciBNb2RpZnlTZWFzb25JbnB1dClcbiAgaWYgKCdsZWFndWVPcmRlcicgaW4gc2Vhc29uICYmIHNlYXNvbi5sZWFndWVPcmRlciAmJiBBcnJheS5pc0FycmF5KHNlYXNvbi5sZWFndWVPcmRlcikpIHtcbiAgICBpZiAoc2Vhc29uLmxlYWd1ZU9yZGVyLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIENoZWNrIGZvciBkdXBsaWNhdGUgbGVhZ3VlIElEc1xuICAgICAgY29uc3QgdW5pcXVlSWRzID0gbmV3IFNldChzZWFzb24ubGVhZ3VlT3JkZXIpO1xuICAgICAgaWYgKHVuaXF1ZUlkcy5zaXplICE9PSBzZWFzb24ubGVhZ3VlT3JkZXIubGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdC5hZGRFcnJvcignbGVhZ3VlT3JkZXInLCAnTGlnYS1SZWloZW5mb2xnZSBkYXJmIGtlaW5lIGRvcHBlbHRlbiBMaWdhLUlEcyBlbnRoYWx0ZW4nKTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgZm9yIGVtcHR5IGxlYWd1ZSBJRHNcbiAgICAgIGNvbnN0IGVtcHR5SWRzID0gc2Vhc29uLmxlYWd1ZU9yZGVyLmZpbHRlcigoaWQ6IHN0cmluZykgPT4gIWlkIHx8IGlkLnRyaW0oKS5sZW5ndGggPT09IDApO1xuICAgICAgaWYgKGVtcHR5SWRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVzdWx0LmFkZEVycm9yKCdsZWFndWVPcmRlcicsICdMaWdhLVJlaWhlbmZvbGdlIGRhcmYga2VpbmUgbGVlcmVuIExpZ2EtSURzIGVudGhhbHRlbicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNlYXNvbihzZWFzb246IFNhdmVTZWFzb25JbnB1dCB8IE1vZGlmeVNlYXNvbklucHV0KTogdm9pZCB7XG4gIGNvbnN0IHJlc3VsdCA9IGNoZWNrU2Vhc29uKHNlYXNvbik7XG4gIHJlc3VsdC52YWxpZGF0ZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTZWFzb25PcGVuRm9yUmVnaXN0cmF0aW9uKHNlYXNvbjogU2F2ZVNlYXNvbklucHV0IHwgTW9kaWZ5U2Vhc29uSW5wdXQsIGRhdGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCB7IHJlZ2lzdHJhdGlvblN0YXJ0LCByZWdpc3RyYXRpb25FbmQgfSA9IHNlYXNvbjtcbiAgaWYgKCFyZWdpc3RyYXRpb25TdGFydCB8fCAhcmVnaXN0cmF0aW9uRW5kKSByZXR1cm4gZmFsc2U7XG4gIC8vIEV4cGVjdCBBV1NEYXRlIChZWVlZLU1NLUREKTsgZ3VhcmQgdG8ga2VlcCBjb21wYXJpc29ucyByZWxpYWJsZVxuICBjb25zdCBpc0F3c0RhdGUgPSAoczogc3RyaW5nKTogYm9vbGVhbiA9PiAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9JC8udGVzdChzKTtcbiAgaWYgKCFpc0F3c0RhdGUoZGF0ZSkgfHwgIWlzQXdzRGF0ZShyZWdpc3RyYXRpb25TdGFydCkgfHwgIWlzQXdzRGF0ZShyZWdpc3RyYXRpb25FbmQpKSByZXR1cm4gZmFsc2U7XG4gIC8vIEluY2x1c2l2ZSByYW5nZVxuICByZXR1cm4gcmVnaXN0cmF0aW9uU3RhcnQgPD0gZGF0ZSAmJiBkYXRlIDw9IHJlZ2lzdHJhdGlvbkVuZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrUGVyc29uKHBlcnNvbjogU2F2ZVBlcnNvbklucHV0IHwgTW9kaWZ5UGVyc29uSW5wdXQpOiBWYWxpZGF0aW9uQ2hlY2tSZXN1bHQge1xuICBjb25zdCByZXN1bHQgPSBuZXcgVmFsaWRhdGlvbkNoZWNrUmVzdWx0KCk7XG5cbiAgLy8gTmFtZSB2YWxpZGF0aW9uc1xuICBpZiAoIXBlcnNvbi5maXJzdE5hbWU/LnRyaW0oKSkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignZmlyc3ROYW1lJywgJ1Zvcm5hbWUgaXN0IGVyZm9yZGVybGljaCcpO1xuICB9XG5cbiAgaWYgKCFwZXJzb24ubGFzdE5hbWU/LnRyaW0oKSkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignbGFzdE5hbWUnLCAnTmFjaG5hbWUgaXN0IGVyZm9yZGVybGljaCcpO1xuICB9XG5cbiAgLy8gRW1haWwgdmFsaWRhdGlvblxuICBpZiAocGVyc29uLmVtYWlsICYmICEvXlteXFxzQF0rQFteXFxzQF0rXFwuW15cXHNAXSskLy50ZXN0KHBlcnNvbi5lbWFpbCkpIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ2VtYWlsJywgJ1VuZ8O8bHRpZ2VzIEUtTWFpbC1Gb3JtYXQnKTtcbiAgfVxuXG4gIC8vIFBob25lIG51bWJlciB2YWxpZGF0aW9uXG4gIGlmIChwZXJzb24ucGhvbmUpIHtcbiAgICAvLyBBbGxvdyBkaWdpdHMsIHNwYWNlcywgKywgLSwgYW5kICgpXG4gICAgY29uc3QgcGhvbmVSZWdleCA9IC9eW1xcZFxccysoKS1dezgsMjB9JC87XG4gICAgaWYgKCFwaG9uZVJlZ2V4LnRlc3QocGVyc29uLnBob25lKSkge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCdwaG9uZScsICdVbmfDvGx0aWdlcyBUZWxlZm9ubnVtbWVyLUZvcm1hdCAoKzQ5IDEyMzQgNTY3ODkwKScpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERhdGUgb2YgYmlydGggdmFsaWRhdGlvblxuICBpZiAocGVyc29uLmRhdGVPZkJpcnRoKSB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHBlcnNvbi5kYXRlT2ZCaXJ0aCk7XG4gICAgaWYgKGlzTmFOKGRhdGUuZ2V0VGltZSgpKSkge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCdkYXRlT2ZCaXJ0aCcsICdVbmfDvGx0aWdlcyBHZWJ1cnRzZGF0dW1zZm9ybWF0Jyk7XG4gICAgfVxuICAgIC8vIEFkZCBhZ2UgcmVzdHJpY3Rpb25zIGlmIG5lZWRlZFxuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICBpZiAoZGF0ZSA+IHRvZGF5KSB7XG4gICAgICByZXN1bHQuYWRkRXJyb3IoJ2RhdGVPZkJpcnRoJywgJ0dlYnVydHNkYXR1bSBkYXJmIG5pY2h0IGluIGRlciBadWt1bmZ0IGxpZWdlbicpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkZHJlc3MgdmFsaWRhdGlvblxuICBpZiAocGVyc29uLmFkZHJlc3MgJiYgKHBlcnNvbi5hZGRyZXNzLmNpdHkgfHwgcGVyc29uLmFkZHJlc3Muc3RyZWV0IHx8IHBlcnNvbi5hZGRyZXNzLnppcCkpIHtcbiAgICBjb25zdCBhZGRyZXNzUmVzdWx0ID0gY2hlY2tBZGRyZXNzKHBlcnNvbi5hZGRyZXNzKTtcbiAgICAvLyBNZXJnZSBhZGRyZXNzIGVycm9ycyBpbnRvIHRoZSBtYWluIHJlc3VsdFxuICAgIE9iamVjdC5lbnRyaWVzKGFkZHJlc3NSZXN1bHQuZXJyb3JzKS5mb3JFYWNoKChbZmllbGQsIG1lc3NhZ2VzXSkgPT4ge1xuICAgICAgbWVzc2FnZXMuZm9yRWFjaChtZXNzYWdlID0+IHJlc3VsdC5hZGRFcnJvcihgYWRkcmVzcy4ke2ZpZWxkfWAsIG1lc3NhZ2UpKTtcbiAgICB9KTtcbiAgICBPYmplY3QuZW50cmllcyhhZGRyZXNzUmVzdWx0Lndhcm5pbmdzKS5mb3JFYWNoKChbZmllbGQsIG1lc3NhZ2VzXSkgPT4ge1xuICAgICAgbWVzc2FnZXMuZm9yRWFjaChtZXNzYWdlID0+IHJlc3VsdC5hZGRXYXJuaW5nKGBhZGRyZXNzLiR7ZmllbGR9YCwgbWVzc2FnZSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUGVyc29uKHBlcnNvbjogU2F2ZVBlcnNvbklucHV0IHwgTW9kaWZ5UGVyc29uSW5wdXQpOiB2b2lkIHtcbiAgY29uc3QgcmVzdWx0ID0gY2hlY2tQZXJzb24ocGVyc29uKTtcbiAgcmVzdWx0LnZhbGlkYXRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0Fzc29jaWF0aW9uKGFzc29jaWF0aW9uOiBTYXZlQXNzb2NpYXRpb25JbnB1dCB8IE1vZGlmeUFzc29jaWF0aW9uSW5wdXQpOiBWYWxpZGF0aW9uQ2hlY2tSZXN1bHQge1xuICBjb25zdCByZXN1bHQgPSBuZXcgVmFsaWRhdGlvbkNoZWNrUmVzdWx0KCk7XG5cbiAgLy8gTmFtZSB2YWxpZGF0aW9uXG4gIGlmICghYXNzb2NpYXRpb24ubmFtZT8udHJpbSgpKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ1ZlcmJhbmRzbmFtZSBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH0gZWxzZSBpZiAoYXNzb2NpYXRpb24ubmFtZS5sZW5ndGggPiAxMDApIHsgLy8gYWRqdXN0IG1heCBsZW5ndGggYXMgbmVlZGVkXG4gICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ1ZlcmJhbmRzbmFtZSBkYXJmIDEwMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gIH1cblxuICAvLyBDb250YWN0IEVtYWlsIHZhbGlkYXRpb25cbiAgaWYgKCFhc3NvY2lhdGlvbi5jb250YWN0RW1haWw/LnRyaW0oKSkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignY29udGFjdEVtYWlsJywgJ0tvbnRha3QtRS1NYWlsIGlzdCBlcmZvcmRlcmxpY2gnKTtcbiAgfSBlbHNlIGlmICghL15bXlxcc0BdK0BbXlxcc0BdK1xcLlteXFxzQF0rJC8udGVzdChhc3NvY2lhdGlvbi5jb250YWN0RW1haWwpKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdjb250YWN0RW1haWwnLCAnVW5nw7xsdGlnZXMgS29udGFrdC1FLU1haWwtRm9ybWF0Jyk7XG4gIH1cblxuICAvLyBDb250YWN0IE5hbWUgdmFsaWRhdGlvblxuICBpZiAoIWFzc29jaWF0aW9uLmNvbnRhY3ROYW1lPy50cmltKCkpIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ2NvbnRhY3ROYW1lJywgJ0tvbnRha3RuYW1lIGlzdCBlcmZvcmRlcmxpY2gnKTtcbiAgfVxuXG4gIC8vIEFkZHJlc3MgdmFsaWRhdGlvblxuICBjb25zdCBhZGRyZXNzUmVzdWx0ID0gY2hlY2tBZGRyZXNzKGFzc29jaWF0aW9uLmFkZHJlc3MpO1xuICAvLyBNZXJnZSBhZGRyZXNzIGVycm9ycyBpbnRvIHRoZSBtYWluIHJlc3VsdFxuICBPYmplY3QuZW50cmllcyhhZGRyZXNzUmVzdWx0LmVycm9ycykuZm9yRWFjaCgoW2ZpZWxkLCBtZXNzYWdlc10pID0+IHtcbiAgICBtZXNzYWdlcy5mb3JFYWNoKG1lc3NhZ2UgPT4gcmVzdWx0LmFkZEVycm9yKGBhZGRyZXNzLiR7ZmllbGR9YCwgbWVzc2FnZSkpO1xuICB9KTtcbiAgT2JqZWN0LmVudHJpZXMoYWRkcmVzc1Jlc3VsdC53YXJuaW5ncykuZm9yRWFjaCgoW2ZpZWxkLCBtZXNzYWdlc10pID0+IHtcbiAgICBtZXNzYWdlcy5mb3JFYWNoKG1lc3NhZ2UgPT4gcmVzdWx0LmFkZFdhcm5pbmcoYGFkZHJlc3MuJHtmaWVsZH1gLCBtZXNzYWdlKSk7XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUFzc29jaWF0aW9uKGFzc29jaWF0aW9uOiBTYXZlQXNzb2NpYXRpb25JbnB1dCB8IE1vZGlmeUFzc29jaWF0aW9uSW5wdXQpOiB2b2lkIHtcbiAgY29uc3QgcmVzdWx0ID0gY2hlY2tBc3NvY2lhdGlvbihhc3NvY2lhdGlvbik7XG4gIHJlc3VsdC52YWxpZGF0ZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tMZWFndWVHcm91cChsZWFndWVHcm91cDogU2F2ZUxlYWd1ZUdyb3VwSW5wdXQgfCBNb2RpZnlMZWFndWVHcm91cElucHV0KTogVmFsaWRhdGlvbkNoZWNrUmVzdWx0IHtcbiAgY29uc3QgcmVzdWx0ID0gbmV3IFZhbGlkYXRpb25DaGVja1Jlc3VsdCgpO1xuXG4gIC8vIE5hbWUgdmFsaWRhdGlvbnNcbiAgaWYgKCFsZWFndWVHcm91cC5uYW1lIHx8IGxlYWd1ZUdyb3VwLm5hbWUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignbmFtZScsICdTdGFmZmVsbmFtZSBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH0gZWxzZSBpZiAobGVhZ3VlR3JvdXAubmFtZS5sZW5ndGggPiAxMDApIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ25hbWUnLCAnU3RhZmZlbG5hbWUgZGFyZiAxMDAgWmVpY2hlbiBuaWNodCDDvGJlcnNjaHJlaXRlbicpO1xuICB9XG5cbiAgLy8gTnVtYmVyIHZhbGlkYXRpb25cbiAgaWYgKGxlYWd1ZUdyb3VwLm51bWJlciA8IDEpIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ251bWJlcicsICdTdGFmZmVsbnVtbWVyIG11c3MgcG9zaXRpdiBzZWluJyk7XG4gIH1cblxuICAvLyBTaG9ydCBuYW1lIHZhbGlkYXRpb25zXG4gIGlmICghbGVhZ3VlR3JvdXAuc2hvcnROYW1lIHx8IGxlYWd1ZUdyb3VwLnNob3J0TmFtZS50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdzaG9ydE5hbWUnLCAnU3RhZmZlbC1LdXJ6bmFtZSBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH0gZWxzZSBpZiAobGVhZ3VlR3JvdXAuc2hvcnROYW1lLmxlbmd0aCA+IDEwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdzaG9ydE5hbWUnLCAnU3RhZmZlbC1LdXJ6bmFtZSBkYXJmIDEwIFplaWNoZW4gbmljaHQgw7xiZXJzY2hyZWl0ZW4nKTtcbiAgfSBlbHNlIGlmICghL15bQS1aYS16MC05XSskLy50ZXN0KGxlYWd1ZUdyb3VwLnNob3J0TmFtZSkpIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ3Nob3J0TmFtZScsICdTdGFmZmVsLUt1cnpuYW1lIGRhcmYgbnVyIGFscGhhbnVtZXJpc2NoZSBaZWljaGVuIGVudGhhbHRlbicpO1xuICB9XG5cbiAgLy8gUmVndWxhdGlvbiB2YWxpZGF0aW9uXG4gIGlmICghbGVhZ3VlR3JvdXAucmVndWxhdGlvbiB8fCBsZWFndWVHcm91cC5yZWd1bGF0aW9uLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ3JlZ3VsYXRpb24nLCAnU3RhZmZlbC1SZWdlbHVuZ2VuIHNpbmQgZXJmb3JkZXJsaWNoJyk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFndWVHcm91cChsZWFndWVHcm91cDogU2F2ZUxlYWd1ZUdyb3VwSW5wdXQgfCBNb2RpZnlMZWFndWVHcm91cElucHV0KTogdm9pZCB7XG4gIGNvbnN0IHJlc3VsdCA9IGNoZWNrTGVhZ3VlR3JvdXAobGVhZ3VlR3JvdXApO1xuICByZXN1bHQudmFsaWRhdGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrVGVhbSh0ZWFtOiBTYXZlVGVhbUlucHV0IHwgTW9kaWZ5VGVhbUlucHV0IHwgUmVnaXN0ZXJUZWFtSW5wdXQpOiBWYWxpZGF0aW9uQ2hlY2tSZXN1bHQge1xuICBjb25zdCByZXN1bHQgPSBuZXcgVmFsaWRhdGlvbkNoZWNrUmVzdWx0KCk7XG5cbiAgLy8gTmFtZSB2YWxpZGF0aW9uXG4gIGlmICgnbmFtZScgaW4gdGVhbSAmJiB0ZWFtLm5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICh0ZWFtLm5hbWUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ1RlYW1uYW1lIGRhcmYgbmljaHQgbGVlciBzZWluJyk7XG4gICAgfSBlbHNlIGlmICh0ZWFtLm5hbWUubGVuZ3RoID4gMTAwKSB7XG4gICAgICByZXN1bHQuYWRkRXJyb3IoJ25hbWUnLCAnVGVhbW5hbWUgZGFyZiAxMDAgWmVpY2hlbiBuaWNodCDDvGJlcnNjaHJlaXRlbicpO1xuICAgIH1cbiAgfSBlbHNlIGlmICghKCdpZCcgaW4gdGVhbSkpIHsgLy8gaWYgaWQgaXMgbm90IGluIHRlYW0sIHRoZW4gaXQgaXMgYSBuZXcgdGVhbVxuICAgIHJlc3VsdC5hZGRFcnJvcignbmFtZScsICdUZWFtbmFtZSBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH1cblxuICAvLyBMZWFndWUgSUQgdmFsaWRhdGlvblxuICBpZiAoJ2xlYWd1ZUlkJyBpbiB0ZWFtICYmIHRlYW0ubGVhZ3VlSWQgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICh0ZWFtLmxlYWd1ZUlkLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJlc3VsdC5hZGRFcnJvcignbGVhZ3VlSWQnLCAnTGlnYS1JRCBkYXJmIG5pY2h0IGxlZXIgc2VpbicpO1xuICAgIH0gZWxzZSBpZiAodGVhbS5sZWFndWVJZC5sZW5ndGggPiAxMDApIHtcbiAgICAgIHJlc3VsdC5hZGRFcnJvcignbGVhZ3VlSWQnLCAnTGlnYS1JRCBkYXJmIDEwMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gICAgfVxuICB9IGVsc2UgaWYgKCEoJ2lkJyBpbiB0ZWFtKSkgeyAvLyBpZiBpZCBpcyBub3QgaW4gdGVhbSwgdGhlbiBpdCBpcyBhIG5ldyB0ZWFtXG4gICAgcmVzdWx0LmFkZEVycm9yKCdsZWFndWVJZCcsICdMaWdhLUlEIGlzdCBlcmZvcmRlcmxpY2gnKTtcbiAgfVxuXG4gIC8vIEV4ZW1wdGlvbiByZXF1ZXN0IHZhbGlkYXRpb25cbiAgaWYgKHRlYW0uZXhlbXB0aW9uUmVxdWVzdCkge1xuICAgIGlmICh0ZWFtLmV4ZW1wdGlvblJlcXVlc3QudHJpbSgpLmxlbmd0aCA+IDEwMDApIHtcbiAgICAgIHJlc3VsdC5hZGRFcnJvcignZXhlbXB0aW9uUmVxdWVzdCcsICdGcmVpc3RlbGx1bmdzYW50cmFnIGRhcmYgMTAwMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGxheWVyIElEcyB2YWxpZGF0aW9uXG4gIGlmICghdGVhbS5wbGF5ZXJJZHMgfHwgdGVhbS5wbGF5ZXJJZHMubGVuZ3RoIDwgMikge1xuICAgIHJlc3VsdC5hZGRFcnJvcigncGxheWVySWRzJywgJ0VzIG3DvHNzZW4gbWluZGVzdGVucyAyIFNwaWVsZXIgZsO8ciBlaW4gVGVhbSBhbmdlZ2ViZW4gd2VyZGVuJyk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUZWFtKHRlYW06IFNhdmVUZWFtSW5wdXQgfCBNb2RpZnlUZWFtSW5wdXQgfCBSZWdpc3RlclRlYW1JbnB1dCk6IHZvaWQge1xuICBjb25zdCByZXN1bHQgPSBjaGVja1RlYW0odGVhbSk7XG4gIHJlc3VsdC52YWxpZGF0ZSgpO1xufVxuXG5cbiJdfQ==
|
|
453
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQThDQSxvQ0E0QkM7QUFFRCwwQ0FHQztBQUVELGtDQTBDQztBQUVELHdDQUdDO0FBRUQsOEJBbURDO0FBRUQsb0NBR0M7QUFFRCw0QkEwQkM7QUFFRCxrQ0FHQztBQUVELGtDQXdFQztBQUVELHdDQUdDO0FBRUQsa0VBUUM7QUFFRCxrQ0FvREM7QUFFRCx3Q0FHQztBQUVELDRDQWlDQztBQUVELGtEQUdDO0FBRUQsNENBOEJDO0FBRUQsa0RBR0M7QUFFRCw4QkFzQ0M7QUFFRCxvQ0FHQztBQXZlWSxRQUFBLGtCQUFrQixHQUFHLDRCQUE0QixDQUFDO0FBRS9ELE1BQWEscUJBQXFCO0lBQWxDO1FBRWtCLGFBQVEsR0FBa0MsRUFBRSxDQUFDO1FBQzdDLFdBQU0sR0FBa0MsRUFBRSxDQUFDO0lBcUM3RCxDQUFDO0lBbkNRLFVBQVUsQ0FBQyxLQUFhLEVBQUUsT0FBZTtRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWEsRUFBRSxPQUFlO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25D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LEdBQUcsSUFBSSxFQUFFLENBQUM7WUFDL0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSwyREFBMkQsQ0FBQyxDQUFDO1FBQ25HLENBQUM7SUFDSCxDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLDhEQUE4RCxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFnQixZQUFZLENBQUMsSUFBeUQ7SUFDcEYsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkcmVzcywgTW9kaWZ5QXNzb2NpYXRpb25JbnB1dCwgTW9kaWZ5Q2x1YklucHV0LCBNb2RpZnlHeW1JbnB1dCwgTW9kaWZ5TGVhZ3VlSW5wdXQsIE1vZGlmeVBlcnNvbklucHV0LCBNb2RpZnlTZWFzb25JbnB1dCwgU2F2ZUFzc29jaWF0aW9uSW5wdXQsIFNhdmVDbHViSW5wdXQsIFNhdmVHeW1JbnB1dCwgU2F2ZUxlYWd1ZUdyb3VwSW5wdXQsIFNhdmVMZWFndWVJbnB1dCwgU2F2ZVBlcnNvbklucHV0LCBTYXZlU2Vhc29uSW5wdXQsIE1vZGlmeUxlYWd1ZUdyb3VwSW5wdXQsIFNhdmVUZWFtSW5wdXQsIE1vZGlmeVRlYW1JbnB1dCwgUmVnaXN0ZXJUZWFtSW5wdXQgfSBmcm9tICdAZ2VuZXJhdGVkL2dyYXBocWwubW9kZWwuZ2VuZXJhdGVkJztcblxuZXhwb3J0IGNvbnN0IFJFR0VYX0VNQUlMX0ZPUk1BVCA9IC9eW15cXHNAXStAW15cXHNAXStcXC5bXlxcc0BdKyQvO1xuXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkNoZWNrUmVzdWx0IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgd2FybmluZ3M6IHsgW2ZpZWxkOiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge307XG4gIHB1YmxpYyByZWFkb25seSBlcnJvcnM6IHsgW2ZpZWxkOiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge307XG5cbiAgcHVibGljIGFkZFdhcm5pbmcoZmllbGQ6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLndhcm5pbmdzW2ZpZWxkXSkge1xuICAgICAgdGhpcy53YXJuaW5nc1tmaWVsZF0gPSBbXTtcbiAgICB9XG4gICAgdGhpcy53YXJuaW5nc1tmaWVsZF0ucHVzaChtZXNzYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRFcnJvcihmaWVsZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZXJyb3JzW2ZpZWxkXSkge1xuICAgICAgdGhpcy5lcnJvcnNbZmllbGRdID0gW107XG4gICAgfVxuICAgIHRoaXMuZXJyb3JzW2ZpZWxkXS5wdXNoKG1lc3NhZ2UpO1xuICB9XG5cbiAgcHVibGljIGdldEVycm9yTWVzc2FnZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuZXJyb3JzKS5mbGF0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0V2FybmluZ01lc3NhZ2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLndhcm5pbmdzKS5mbGF0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlc1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldEVycm9yTWVzc2FnZXMoKS5qb2luKCc7ICcpO1xuICB9XG5cbiAgcHVibGljIGdldFdhcm5pbmdNZXNzYWdlc1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFdhcm5pbmdNZXNzYWdlcygpLmpvaW4oJzsgJyk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuZXJyb3JzKS5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5nZXRFcnJvck1lc3NhZ2VzU3RyaW5nKCkpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tBZGRyZXNzKGFkZHJlc3M6IEFkZHJlc3MpOiBWYWxpZGF0aW9uQ2hlY2tSZXN1bHQge1xuICBjb25zdCByZXN1bHQgPSBuZXcgVmFsaWRhdGlvbkNoZWNrUmVzdWx0KCk7XG5cbiAgaWYgKGFkZHJlc3M/LmNpdHk/LnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ2NpdHknLCAnU3RhZHQgaXN0IGVyZm9yZGVybGljaCcpO1xuICB9IGVsc2UgaWYgKGFkZHJlc3MuY2l0eSEubGVuZ3RoID4gMjAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdjaXR5JywgJ1N0YWR0IGRhcmYgMjAwIFplaWNoZW4gbmljaHQgw7xiZXJzY2hyZWl0ZW4nKTtcbiAgfVxuXG4gIGlmIChhZGRyZXNzPy5jb3VudHJ5Py50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdjb3VudHJ5JywgJ0xhbmQgaXN0IGVyZm9yZGVybGljaCcpO1xuICB9IGVsc2UgaWYgKGFkZHJlc3MuY291bnRyeSEubGVuZ3RoID4gMjApIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ2NvdW50cnknLCAnTGFuZCBkYXJmIDIwIFplaWNoZW4gbmljaHQgw7xiZXJzY2hyZWl0ZW4nKTtcbiAgfVxuXG4gIGlmIChhZGRyZXNzPy5zdHJlZXQ/LnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ3N0cmVldCcsICdTdHJhw59lIGlzdCBlcmZvcmRlcmxpY2gnKTtcbiAgfSBlbHNlIGlmIChhZGRyZXNzLnN0cmVldCEubGVuZ3RoID4gMjAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdzdHJlZXQnLCAnU3RyYcOfZSBkYXJmIDIwMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gIH1cblxuICBpZiAoYWRkcmVzcz8uemlwPy50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCd6aXAnLCAnUExaIGlzdCBlcmZvcmRlcmxpY2gnKTtcbiAgfSBlbHNlIGlmIChhZGRyZXNzLnppcCEubGVuZ3RoID4gMjApIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ3ppcCcsICdQTFogZGFyZiAyMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVBZGRyZXNzKGFkZHJlc3M6IEFkZHJlc3MpOiB2b2lkIHtcbiAgY29uc3QgcmVzdWx0ID0gY2hlY2tBZGRyZXNzKGFkZHJlc3MpO1xuICByZXN1bHQudmFsaWRhdGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrTGVhZ3VlKGxlYWd1ZTogU2F2ZUxlYWd1ZUlucHV0IHwgTW9kaWZ5TGVhZ3VlSW5wdXQpOiBWYWxpZGF0aW9uQ2hlY2tSZXN1bHQge1xuICBjb25zdCByZXN1bHQgPSBuZXcgVmFsaWRhdGlvbkNoZWNrUmVzdWx0KCk7XG5cbiAgLy8gQWdlIHJhbmdlIHZhbGlkYXRpb25zXG4gIGlmIChsZWFndWUubWluQWdlICE9IHVuZGVmaW5lZCAmJiBsZWFndWUubWF4QWdlICE9IHVuZGVmaW5lZCkge1xuICAgIGlmIChsZWFndWUubWluQWdlIDwgMCkge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCdtaW5BZ2UnLCAnTWluZGVzdGFsdGVyIGRhcmYgbmljaHQgbmVnYXRpdiBzZWluJyk7XG4gICAgfVxuICAgIGlmIChsZWFndWUubWF4QWdlIDwgMCkge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCdtYXhBZ2UnLCAnTWF4aW1hbGFsdGVyIGRhcmYgbmljaHQgbmVnYXRpdiBzZWluJyk7XG4gICAgfVxuICAgIGlmIChsZWFndWUubWF4QWdlIDwgbGVhZ3VlLm1pbkFnZSkge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCdtYXhBZ2UnLCAnTWF4aW1hbGFsdGVyIG11c3MgZ3LDtsOfZXIgb2RlciBnbGVpY2ggZGVtIE1pbmRlc3RhbHRlciBzZWluJyk7XG4gICAgfVxuICAgIGlmIChsZWFndWUubWF4QWdlID4gMTAwKSB7IC8vIGFkanVzdCBhcyBuZWVkZWRcbiAgICAgIHJlc3VsdC5hZGRFcnJvcignbWF4QWdlJywgJ01heGltYWxhbHRlciDDvGJlcnNjaHJlaXRldCBkYXMgdmVybsO8bmZ0aWdlIExpbWl0Jyk7XG4gICAgfVxuICB9XG5cbiAgLy8gTmFtZSB2YWxpZGF0aW9uc1xuICBpZiAoIWxlYWd1ZS5uYW1lIHx8IGxlYWd1ZS5uYW1lLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ25hbWUnLCAnTGlnYW5hbWUgaXN0IGVyZm9yZGVybGljaCcpO1xuICB9IGVsc2UgaWYgKGxlYWd1ZS5uYW1lLmxlbmd0aCA+IDEwMCkgeyAvLyBhZGp1c3QgbWF4IGxlbmd0aCBhcyBuZWVkZWRcbiAgICByZXN1bHQuYWRkRXJyb3IoJ25hbWUnLCAnTGlnYW5hbWUgZGFyZiAxMDAgWmVpY2hlbiBuaWNodCDDvGJlcnNjaHJlaXRlbicpO1xuICB9XG5cbiAgLy8gRGVzY3JpcHRpb24gdmFsaWRhdGlvbiAoaWYgcmVxdWlyZWQpXG4gIGlmIChsZWFndWUuZGVzY3JpcHRpb24gJiYgbGVhZ3VlLmRlc2NyaXB0aW9uLmxlbmd0aCA+IDUwMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignZGVzY3JpcHRpb24nLCAnQmVzY2hyZWlidW5nIGRhcmYgNTAwIFplaWNoZW4gbmljaHQgw7xiZXJzY2hyZWl0ZW4nKTtcbiAgfVxuXG4gIC8vIFNob3J0IG5hbWUgdmFsaWRhdGlvblxuICBpZiAobGVhZ3VlLnNob3J0TmFtZSkge1xuICAgIGlmIChsZWFndWUuc2hvcnROYW1lLmxlbmd0aCA+IDEwKSB7XG4gICAgICByZXN1bHQuYWRkRXJyb3IoJ3Nob3J0TmFtZScsICdLdXJ6bmFtZSBkYXJmIDEwIFplaWNoZW4gbmljaHQgw7xiZXJzY2hyZWl0ZW4nKTtcbiAgICB9XG4gICAgaWYgKCEvXltBLVphLXowLTldKyQvLnRlc3QobGVhZ3VlLnNob3J0TmFtZSkpIHtcbiAgICAgIHJlc3VsdC5hZGRFcnJvcignc2hvcnROYW1lJywgJ0t1cnpuYW1lIGRhcmYgbnVyIGFscGhhbnVtZXJpc2NoZSBaZWljaGVuIGVudGhhbHRlbicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxlYWd1ZShsZWFndWU6IFNhdmVMZWFndWVJbnB1dCB8IE1vZGlmeUxlYWd1ZUlucHV0KTogdm9pZCB7XG4gIGNvbnN0IHJlc3VsdCA9IGNoZWNrTGVhZ3VlKGxlYWd1ZSk7XG4gIHJlc3VsdC52YWxpZGF0ZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tDbHViKGNsdWI6IFNhdmVDbHViSW5wdXQgfCBNb2RpZnlDbHViSW5wdXQpOiBWYWxpZGF0aW9uQ2hlY2tSZXN1bHQge1xuICBjb25zdCByZXN1bHQgPSBuZXcgVmFsaWRhdGlvbkNoZWNrUmVzdWx0KCk7XG5cbiAgLy8gRnVsbCBuYW1lIHZhbGlkYXRpb25zXG4gIGlmICghY2x1Yi5uYW1lIHx8IGNsdWIubmFtZS50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ1ZlcmVpbnNuYW1lIGlzdCBlcmZvcmRlcmxpY2gnKTtcbiAgfSBlbHNlIGlmIChjbHViLm5hbWUubGVuZ3RoID4gMTAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ1ZlcmVpbnNuYW1lIGRhcmYgMTAwIFplaWNoZW4gbmljaHQgw7xiZXJzY2hyZWl0ZW4nKTtcbiAgfVxuXG4gIC8vIFNob3J0IG5hbWUgdmFsaWRhdGlvbnNcbiAgaWYgKGNsdWIuc2hvcnROYW1lKSB7XG4gICAgaWYgKGNsdWIuc2hvcnROYW1lLmxlbmd0aCA+IDMwKSB7XG4gICAgICByZXN1bHQuYWRkRXJyb3IoJ3Nob3J0TmFtZScsICdLdXJ6bmFtZSBkYXJmIDMwIFplaWNoZW4gbmljaHQgw7xiZXJzY2hyZWl0ZW4nKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZWJzaXRlIHZhbGlkYXRpb25cbiAgaWYgKGNsdWIud2Vic2l0ZSkge1xuICAgIHRyeSB7XG4gICAgICBuZXcgVVJMKGNsdWIud2Vic2l0ZSk7XG4gICAgICBpZiAoIWNsdWIud2Vic2l0ZS5zdGFydHNXaXRoKCdodHRwOi8vJykgJiYgIWNsdWIud2Vic2l0ZS5zdGFydHNXaXRoKCdodHRwczovLycpKSB7XG4gICAgICAgIHJlc3VsdC5hZGRFcnJvcignd2Vic2l0ZScsICdXZWJzaXRlIG11c3MgbWl0IGh0dHA6Ly8gb2RlciBodHRwczovLyBiZWdpbm5lbicpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCd3ZWJzaXRlJywgJ1VuZ8O8bHRpZ2UgV2Vic2l0ZS1VUkwnKTtcbiAgICB9XG4gIH1cblxuICAvLyBFbWFpbCB2YWxpZGF0aW9uXG4gIGlmIChjbHViLmVtYWlsICYmICFSRUdFWF9FTUFJTF9GT1JNQVQudGVzdChjbHViLmVtYWlsKSkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignZW1haWwnLCAnVW5nw7xsdGlnZXMgRS1NYWlsLUZvcm1hdCcpO1xuICB9XG4gIC8vIFJlc3VsdCBzZXJ2aWNlIGVtYWlsIHZhbGlkYXRpb25cbiAgaWYgKGNsdWIucmVzdWx0U2VydmljZUVtYWlsICYmICFSRUdFWF9FTUFJTF9GT1JNQVQudGVzdChjbHViLnJlc3VsdFNlcnZpY2VFbWFpbCkpIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ3Jlc3VsdFNlcnZpY2VFbWFpbCcsICdVbmfDvGx0aWdlcyBFLU1haWwtRm9ybWF0Jyk7XG4gIH1cblxuICAvLyBBZGRyZXNzIHZhbGlkYXRpb25cbiAgaWYgKGNsdWIuYWRkcmVzcyAmJiAoY2x1Yi5hZGRyZXNzLmNpdHkgfHwgY2x1Yi5hZGRyZXNzLnN0cmVldCB8fCBjbHViLmFkZHJlc3MuemlwKSkge1xuICAgIGNvbnN0IGFkZHJlc3NSZXN1bHQgPSBjaGVja0FkZHJlc3MoY2x1Yi5hZGRyZXNzKTtcbiAgICAvLyBNZXJnZSBhZGRyZXNzIGVycm9ycyBpbnRvIHRoZSBtYWluIHJlc3VsdFxuICAgIE9iamVjdC5lbnRyaWVzKGFkZHJlc3NSZXN1bHQuZXJyb3JzKS5mb3JFYWNoKChbZmllbGQsIG1lc3NhZ2VzXSkgPT4ge1xuICAgICAgbWVzc2FnZXMuZm9yRWFjaChtZXNzYWdlID0+IHJlc3VsdC5hZGRFcnJvcihgYWRkcmVzcy4ke2ZpZWxkfWAsIG1lc3NhZ2UpKTtcbiAgICB9KTtcbiAgICBPYmplY3QuZW50cmllcyhhZGRyZXNzUmVzdWx0Lndhcm5pbmdzKS5mb3JFYWNoKChbZmllbGQsIG1lc3NhZ2VzXSkgPT4ge1xuICAgICAgbWVzc2FnZXMuZm9yRWFjaChtZXNzYWdlID0+IHJlc3VsdC5hZGRXYXJuaW5nKGBhZGRyZXNzLiR7ZmllbGR9YCwgbWVzc2FnZSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQ2x1YihjbHViOiBTYXZlQ2x1YklucHV0IHwgTW9kaWZ5Q2x1YklucHV0KTogdm9pZCB7XG4gIGNvbnN0IHJlc3VsdCA9IGNoZWNrQ2x1YihjbHViKTtcbiAgcmVzdWx0LnZhbGlkYXRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0d5bShneW06IFNhdmVHeW1JbnB1dCB8IE1vZGlmeUd5bUlucHV0KTogVmFsaWRhdGlvbkNoZWNrUmVzdWx0IHtcbiAgY29uc3QgcmVzdWx0ID0gbmV3IFZhbGlkYXRpb25DaGVja1Jlc3VsdCgpO1xuXG4gIC8vIE5hbWUgdmFsaWRhdGlvbnNcbiAgaWYgKCFneW0ubmFtZSB8fCBneW0ubmFtZS50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ0hhbGxlbm5hbWUgaXN0IGVyZm9yZGVybGljaCcpO1xuICB9IGVsc2UgaWYgKGd5bS5uYW1lLmxlbmd0aCA+IDEwMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignbmFtZScsICdIYWxsZW5uYW1lIGRhcmYgMTAwIFplaWNoZW4gbmljaHQgw7xiZXJzY2hyZWl0ZW4nKTtcbiAgfVxuXG4gIC8vIGF2YWlsYWJsZSBmaWVsZHMgdmFsaWRhdGlvblxuICBpZiAoIWd5bS5hdmFpbGFibGVGaWVsZHMgfHwgZ3ltLmF2YWlsYWJsZUZpZWxkcy50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdhdmFpbGFibGVGaWVsZHMnLCAnVmVyZsO8Z2JhcmUgRmVsZGVyIHNpbmQgZXJmb3JkZXJsaWNoJyk7XG4gIH1cblxuICAvLyBBZGRyZXNzIHZhbGlkYXRpb25zXG4gIGNvbnN0IGFkZHJlc3NSZXN1bHQgPSBjaGVja0FkZHJlc3MoZ3ltLmFkZHJlc3MpO1xuICAvLyBNZXJnZSBhZGRyZXNzIGVycm9ycyBpbnRvIHRoZSBtYWluIHJlc3VsdFxuICBPYmplY3QuZW50cmllcyhhZGRyZXNzUmVzdWx0LmVycm9ycykuZm9yRWFjaCgoW2ZpZWxkLCBtZXNzYWdlc10pID0+IHtcbiAgICBtZXNzYWdlcy5mb3JFYWNoKG1lc3NhZ2UgPT4gcmVzdWx0LmFkZEVycm9yKGBhZGRyZXNzLiR7ZmllbGR9YCwgbWVzc2FnZSkpO1xuICB9KTtcbiAgT2JqZWN0LmVudHJpZXMoYWRkcmVzc1Jlc3VsdC53YXJuaW5ncykuZm9yRWFjaCgoW2ZpZWxkLCBtZXNzYWdlc10pID0+IHtcbiAgICBtZXNzYWdlcy5mb3JFYWNoKG1lc3NhZ2UgPT4gcmVzdWx0LmFkZFdhcm5pbmcoYGFkZHJlc3MuJHtmaWVsZH1gLCBtZXNzYWdlKSk7XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUd5bShneW06IFNhdmVHeW1JbnB1dCB8IE1vZGlmeUd5bUlucHV0KTogdm9pZCB7XG4gIGNvbnN0IHJlc3VsdCA9IGNoZWNrR3ltKGd5bSk7XG4gIHJlc3VsdC52YWxpZGF0ZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tTZWFzb24oc2Vhc29uOiBTYXZlU2Vhc29uSW5wdXQgfCBNb2RpZnlTZWFzb25JbnB1dCk6IFZhbGlkYXRpb25DaGVja1Jlc3VsdCB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBWYWxpZGF0aW9uQ2hlY2tSZXN1bHQoKTtcblxuICAvLyBOYW1lIHZhbGlkYXRpb25zXG4gIGlmICghc2Vhc29uLm5hbWUgfHwgc2Vhc29uLm5hbWUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignbmFtZScsICdTYWlzb25uYW1lIGlzdCBlcmZvcmRlcmxpY2gnKTtcbiAgfSBlbHNlIGlmIChzZWFzb24ubmFtZS5sZW5ndGggPiAxMDApIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ25hbWUnLCAnU2Fpc29ubmFtZSBkYXJmIDEwMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gIH1cblxuICAvLyBDaGVjayBmb3IgdmFsaWQgZGF0ZXNcbiAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoc2Vhc29uLnN0YXJ0RGF0ZSk7XG4gIGNvbnN0IGVuZERhdGUgPSBuZXcgRGF0ZShzZWFzb24uZW5kRGF0ZSk7XG4gIGNvbnN0IHJlZ2lzdHJhdGlvbkVuZCA9IG5ldyBEYXRlKHNlYXNvbi5yZWdpc3RyYXRpb25FbmQpO1xuXG4gIGlmIChpc05hTihzdGFydERhdGUuZ2V0VGltZSgpKSB8fCBpc05hTihlbmREYXRlLmdldFRpbWUoKSkgfHwgaXNOYU4ocmVnaXN0cmF0aW9uRW5kLmdldFRpbWUoKSkpIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ2RhdGVzJywgJ1VuZ8O8bHRpZ2VzIERhdHVtc2Zvcm1hdCcpO1xuICB9XG5cbiAgaWYgKHNlYXNvbi5yZWdpc3RyYXRpb25TdGFydCkge1xuICAgIGNvbnN0IHJlZ2lzdHJhdGlvblN0YXJ0ID0gbmV3IERhdGUoc2Vhc29uLnJlZ2lzdHJhdGlvblN0YXJ0KTtcbiAgICBpZiAoaXNOYU4ocmVnaXN0cmF0aW9uU3RhcnQuZ2V0VGltZSgpKSkge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCdyZWdpc3RyYXRpb25TdGFydCcsICdVbmfDvGx0aWdlcyBEYXR1bXNmb3JtYXQnKTtcbiAgICB9XG4gIH1cblxuICAvLyBTZWFzb24gZGF0ZSB2YWxpZGF0aW9uc1xuICBpZiAoZW5kRGF0ZSA8PSBzdGFydERhdGUpIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ2VuZERhdGUnLCAnU2Fpc29uLUVuZGRhdHVtIG11c3MgbmFjaCBkZW0gU3RhcnRkYXR1bSBsaWVnZW4nKTtcbiAgfVxuXG4gIC8vIFJlZ2lzdHJhdGlvbiBwZXJpb2QgdmFsaWRhdGlvbnNcbiAgaWYgKHNlYXNvbi5yZWdpc3RyYXRpb25TdGFydCkge1xuICAgIGNvbnN0IHJlZ2lzdHJhdGlvblN0YXJ0ID0gbmV3IERhdGUoc2Vhc29uLnJlZ2lzdHJhdGlvblN0YXJ0KTtcbiAgICBpZiAocmVnaXN0cmF0aW9uU3RhcnQpIHtcbiAgICAgIGlmIChyZWdpc3RyYXRpb25FbmQgPD0gcmVnaXN0cmF0aW9uU3RhcnQpIHtcbiAgICAgICAgcmVzdWx0LmFkZEVycm9yKCdyZWdpc3RyYXRpb25FbmQnLCAnQW5tZWxkdW5nc2VuZGUgbXVzcyBuYWNoIGRlbSBBbm1lbGR1bmdzc3RhcnQgbGllZ2VuJyk7XG4gICAgICB9XG4gICAgICBpZiAocmVnaXN0cmF0aW9uU3RhcnQgPj0gc3RhcnREYXRlKSB7XG4gICAgICAgIHJlc3VsdC5hZGRFcnJvcigncmVnaXN0cmF0aW9uU3RhcnQnLCAnQW5tZWxkdW5nIG11c3Mgdm9yIGRlbSBTYWlzb25zdGFydCBiZWdpbm5lbicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChyZWdpc3RyYXRpb25FbmQgPiBzdGFydERhdGUpIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ3JlZ2lzdHJhdGlvbkVuZCcsICdBbm1lbGR1bmcgbXVzcyB2b3IgZGVtIFNhaXNvbnN0YXJ0IGVuZGVuJyk7XG4gIH1cblxuICAvLyBGdXR1cmUgZGF0ZSB2YWxpZGF0aW9uXG4gIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gIGlmIChzdGFydERhdGUgPCBub3cpIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ3N0YXJ0RGF0ZScsICdTYWlzb24tU3RhcnRkYXR1bSBkYXJmIG5pY2h0IGluIGRlciBWZXJnYW5nZW5oZWl0IGxpZWdlbicpO1xuICB9XG5cbiAgLy8gTGVhZ3VlIG9yZGVyIHZhbGlkYXRpb24gKG9ubHkgZm9yIE1vZGlmeVNlYXNvbklucHV0KVxuICBpZiAoJ2xlYWd1ZU9yZGVyJyBpbiBzZWFzb24gJiYgc2Vhc29uLmxlYWd1ZU9yZGVyICYmIEFycmF5LmlzQXJyYXkoc2Vhc29uLmxlYWd1ZU9yZGVyKSkge1xuICAgIGlmIChzZWFzb24ubGVhZ3VlT3JkZXIubGVuZ3RoID4gMCkge1xuICAgICAgLy8gQ2hlY2sgZm9yIGR1cGxpY2F0ZSBsZWFndWUgSURzXG4gICAgICBjb25zdCB1bmlxdWVJZHMgPSBuZXcgU2V0KHNlYXNvbi5sZWFndWVPcmRlcik7XG4gICAgICBpZiAodW5pcXVlSWRzLnNpemUgIT09IHNlYXNvbi5sZWFndWVPcmRlci5sZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0LmFkZEVycm9yKCdsZWFndWVPcmRlcicsICdMaWdhLVJlaWhlbmZvbGdlIGRhcmYga2VpbmUgZG9wcGVsdGVuIExpZ2EtSURzIGVudGhhbHRlbicpO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayBmb3IgZW1wdHkgbGVhZ3VlIElEc1xuICAgICAgY29uc3QgZW1wdHlJZHMgPSBzZWFzb24ubGVhZ3VlT3JkZXIuZmlsdGVyKChpZDogc3RyaW5nKSA9PiAhaWQgfHwgaWQudHJpbSgpLmxlbmd0aCA9PT0gMCk7XG4gICAgICBpZiAoZW1wdHlJZHMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXN1bHQuYWRkRXJyb3IoJ2xlYWd1ZU9yZGVyJywgJ0xpZ2EtUmVpaGVuZm9sZ2UgZGFyZiBrZWluZSBsZWVyZW4gTGlnYS1JRHMgZW50aGFsdGVuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU2Vhc29uKHNlYXNvbjogU2F2ZVNlYXNvbklucHV0IHwgTW9kaWZ5U2Vhc29uSW5wdXQpOiB2b2lkIHtcbiAgY29uc3QgcmVzdWx0ID0gY2hlY2tTZWFzb24oc2Vhc29uKTtcbiAgcmVzdWx0LnZhbGlkYXRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NlYXNvbk9wZW5Gb3JSZWdpc3RyYXRpb24oc2Vhc29uOiBTYXZlU2Vhc29uSW5wdXQgfCBNb2RpZnlTZWFzb25JbnB1dCwgZGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHsgcmVnaXN0cmF0aW9uU3RhcnQsIHJlZ2lzdHJhdGlvbkVuZCB9ID0gc2Vhc29uO1xuICBpZiAoIXJlZ2lzdHJhdGlvblN0YXJ0IHx8ICFyZWdpc3RyYXRpb25FbmQpIHJldHVybiBmYWxzZTtcbiAgLy8gRXhwZWN0IEFXU0RhdGUgKFlZWVktTU0tREQpOyBndWFyZCB0byBrZWVwIGNvbXBhcmlzb25zIHJlbGlhYmxlXG4gIGNvbnN0IGlzQXdzRGF0ZSA9IChzOiBzdHJpbmcpOiBib29sZWFuID0+IC9eXFxkezR9LVxcZHsyfS1cXGR7Mn0kLy50ZXN0KHMpO1xuICBpZiAoIWlzQXdzRGF0ZShkYXRlKSB8fCAhaXNBd3NEYXRlKHJlZ2lzdHJhdGlvblN0YXJ0KSB8fCAhaXNBd3NEYXRlKHJlZ2lzdHJhdGlvbkVuZCkpIHJldHVybiBmYWxzZTtcbiAgLy8gSW5jbHVzaXZlIHJhbmdlXG4gIHJldHVybiByZWdpc3RyYXRpb25TdGFydCA8PSBkYXRlICYmIGRhdGUgPD0gcmVnaXN0cmF0aW9uRW5kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tQZXJzb24ocGVyc29uOiBTYXZlUGVyc29uSW5wdXQgfCBNb2RpZnlQZXJzb25JbnB1dCk6IFZhbGlkYXRpb25DaGVja1Jlc3VsdCB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBWYWxpZGF0aW9uQ2hlY2tSZXN1bHQoKTtcblxuICAvLyBOYW1lIHZhbGlkYXRpb25zXG4gIGlmICghcGVyc29uLmZpcnN0TmFtZT8udHJpbSgpKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdmaXJzdE5hbWUnLCAnVm9ybmFtZSBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH1cblxuICBpZiAoIXBlcnNvbi5sYXN0TmFtZT8udHJpbSgpKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdsYXN0TmFtZScsICdOYWNobmFtZSBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH1cblxuICAvLyBFbWFpbCB2YWxpZGF0aW9uXG4gIGlmIChwZXJzb24uZW1haWwgJiYgIVJFR0VYX0VNQUlMX0ZPUk1BVC50ZXN0KHBlcnNvbi5lbWFpbCkpIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ2VtYWlsJywgJ1VuZ8O8bHRpZ2VzIEUtTWFpbC1Gb3JtYXQnKTtcbiAgfVxuXG4gIC8vIFBob25lIG51bWJlciB2YWxpZGF0aW9uXG4gIGlmIChwZXJzb24ucGhvbmUpIHtcbiAgICAvLyBBbGxvdyBkaWdpdHMsIHNwYWNlcywgKywgLSwgYW5kICgpXG4gICAgY29uc3QgcGhvbmVSZWdleCA9IC9eW1xcZFxccysoKS1dezgsMjB9JC87XG4gICAgaWYgKCFwaG9uZVJlZ2V4LnRlc3QocGVyc29uLnBob25lKSkge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCdwaG9uZScsICdVbmfDvGx0aWdlcyBUZWxlZm9ubnVtbWVyLUZvcm1hdCAoKzQ5IDEyMzQgNTY3ODkwKScpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERhdGUgb2YgYmlydGggdmFsaWRhdGlvblxuICBpZiAocGVyc29uLmRhdGVPZkJpcnRoKSB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHBlcnNvbi5kYXRlT2ZCaXJ0aCk7XG4gICAgaWYgKGlzTmFOKGRhdGUuZ2V0VGltZSgpKSkge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCdkYXRlT2ZCaXJ0aCcsICdVbmfDvGx0aWdlcyBHZWJ1cnRzZGF0dW1zZm9ybWF0Jyk7XG4gICAgfVxuICAgIC8vIEFkZCBhZ2UgcmVzdHJpY3Rpb25zIGlmIG5lZWRlZFxuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICBpZiAoZGF0ZSA+IHRvZGF5KSB7XG4gICAgICByZXN1bHQuYWRkRXJyb3IoJ2RhdGVPZkJpcnRoJywgJ0dlYnVydHNkYXR1bSBkYXJmIG5pY2h0IGluIGRlciBadWt1bmZ0IGxpZWdlbicpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkZHJlc3MgdmFsaWRhdGlvblxuICBpZiAocGVyc29uLmFkZHJlc3MgJiYgKHBlcnNvbi5hZGRyZXNzLmNpdHkgfHwgcGVyc29uLmFkZHJlc3Muc3RyZWV0IHx8IHBlcnNvbi5hZGRyZXNzLnppcCkpIHtcbiAgICBjb25zdCBhZGRyZXNzUmVzdWx0ID0gY2hlY2tBZGRyZXNzKHBlcnNvbi5hZGRyZXNzKTtcbiAgICAvLyBNZXJnZSBhZGRyZXNzIGVycm9ycyBpbnRvIHRoZSBtYWluIHJlc3VsdFxuICAgIE9iamVjdC5lbnRyaWVzKGFkZHJlc3NSZXN1bHQuZXJyb3JzKS5mb3JFYWNoKChbZmllbGQsIG1lc3NhZ2VzXSkgPT4ge1xuICAgICAgbWVzc2FnZXMuZm9yRWFjaChtZXNzYWdlID0+IHJlc3VsdC5hZGRFcnJvcihgYWRkcmVzcy4ke2ZpZWxkfWAsIG1lc3NhZ2UpKTtcbiAgICB9KTtcbiAgICBPYmplY3QuZW50cmllcyhhZGRyZXNzUmVzdWx0Lndhcm5pbmdzKS5mb3JFYWNoKChbZmllbGQsIG1lc3NhZ2VzXSkgPT4ge1xuICAgICAgbWVzc2FnZXMuZm9yRWFjaChtZXNzYWdlID0+IHJlc3VsdC5hZGRXYXJuaW5nKGBhZGRyZXNzLiR7ZmllbGR9YCwgbWVzc2FnZSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUGVyc29uKHBlcnNvbjogU2F2ZVBlcnNvbklucHV0IHwgTW9kaWZ5UGVyc29uSW5wdXQpOiB2b2lkIHtcbiAgY29uc3QgcmVzdWx0ID0gY2hlY2tQZXJzb24ocGVyc29uKTtcbiAgcmVzdWx0LnZhbGlkYXRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0Fzc29jaWF0aW9uKGFzc29jaWF0aW9uOiBTYXZlQXNzb2NpYXRpb25JbnB1dCB8IE1vZGlmeUFzc29jaWF0aW9uSW5wdXQpOiBWYWxpZGF0aW9uQ2hlY2tSZXN1bHQge1xuICBjb25zdCByZXN1bHQgPSBuZXcgVmFsaWRhdGlvbkNoZWNrUmVzdWx0KCk7XG5cbiAgLy8gTmFtZSB2YWxpZGF0aW9uXG4gIGlmICghYXNzb2NpYXRpb24ubmFtZT8udHJpbSgpKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ1ZlcmJhbmRzbmFtZSBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH0gZWxzZSBpZiAoYXNzb2NpYXRpb24ubmFtZS5sZW5ndGggPiAxMDApIHsgLy8gYWRqdXN0IG1heCBsZW5ndGggYXMgbmVlZGVkXG4gICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ1ZlcmJhbmRzbmFtZSBkYXJmIDEwMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gIH1cblxuICAvLyBDb250YWN0IEVtYWlsIHZhbGlkYXRpb25cbiAgaWYgKCFhc3NvY2lhdGlvbi5jb250YWN0RW1haWw/LnRyaW0oKSkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignY29udGFjdEVtYWlsJywgJ0tvbnRha3QtRS1NYWlsIGlzdCBlcmZvcmRlcmxpY2gnKTtcbiAgfSBlbHNlIGlmICghUkVHRVhfRU1BSUxfRk9STUFULnRlc3QoYXNzb2NpYXRpb24uY29udGFjdEVtYWlsKSkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignY29udGFjdEVtYWlsJywgJ1VuZ8O8bHRpZ2VzIEtvbnRha3QtRS1NYWlsLUZvcm1hdCcpO1xuICB9XG5cbiAgLy8gQ29udGFjdCBOYW1lIHZhbGlkYXRpb25cbiAgaWYgKCFhc3NvY2lhdGlvbi5jb250YWN0TmFtZT8udHJpbSgpKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdjb250YWN0TmFtZScsICdLb250YWt0bmFtZSBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH1cblxuICAvLyBBZGRyZXNzIHZhbGlkYXRpb25cbiAgY29uc3QgYWRkcmVzc1Jlc3VsdCA9IGNoZWNrQWRkcmVzcyhhc3NvY2lhdGlvbi5hZGRyZXNzKTtcbiAgLy8gTWVyZ2UgYWRkcmVzcyBlcnJvcnMgaW50byB0aGUgbWFpbiByZXN1bHRcbiAgT2JqZWN0LmVudHJpZXMoYWRkcmVzc1Jlc3VsdC5lcnJvcnMpLmZvckVhY2goKFtmaWVsZCwgbWVzc2FnZXNdKSA9PiB7XG4gICAgbWVzc2FnZXMuZm9yRWFjaChtZXNzYWdlID0+IHJlc3VsdC5hZGRFcnJvcihgYWRkcmVzcy4ke2ZpZWxkfWAsIG1lc3NhZ2UpKTtcbiAgfSk7XG4gIE9iamVjdC5lbnRyaWVzKGFkZHJlc3NSZXN1bHQud2FybmluZ3MpLmZvckVhY2goKFtmaWVsZCwgbWVzc2FnZXNdKSA9PiB7XG4gICAgbWVzc2FnZXMuZm9yRWFjaChtZXNzYWdlID0+IHJlc3VsdC5hZGRXYXJuaW5nKGBhZGRyZXNzLiR7ZmllbGR9YCwgbWVzc2FnZSkpO1xuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVBc3NvY2lhdGlvbihhc3NvY2lhdGlvbjogU2F2ZUFzc29jaWF0aW9uSW5wdXQgfCBNb2RpZnlBc3NvY2lhdGlvbklucHV0KTogdm9pZCB7XG4gIGNvbnN0IHJlc3VsdCA9IGNoZWNrQXNzb2NpYXRpb24oYXNzb2NpYXRpb24pO1xuICByZXN1bHQudmFsaWRhdGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrTGVhZ3VlR3JvdXAobGVhZ3VlR3JvdXA6IFNhdmVMZWFndWVHcm91cElucHV0IHwgTW9kaWZ5TGVhZ3VlR3JvdXBJbnB1dCk6IFZhbGlkYXRpb25DaGVja1Jlc3VsdCB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBWYWxpZGF0aW9uQ2hlY2tSZXN1bHQoKTtcblxuICAvLyBOYW1lIHZhbGlkYXRpb25zXG4gIGlmICghbGVhZ3VlR3JvdXAubmFtZSB8fCBsZWFndWVHcm91cC5uYW1lLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ25hbWUnLCAnU3RhZmZlbG5hbWUgaXN0IGVyZm9yZGVybGljaCcpO1xuICB9IGVsc2UgaWYgKGxlYWd1ZUdyb3VwLm5hbWUubGVuZ3RoID4gMTAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ1N0YWZmZWxuYW1lIGRhcmYgMTAwIFplaWNoZW4gbmljaHQgw7xiZXJzY2hyZWl0ZW4nKTtcbiAgfVxuXG4gIC8vIE51bWJlciB2YWxpZGF0aW9uXG4gIGlmIChsZWFndWVHcm91cC5udW1iZXIgPCAxKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdudW1iZXInLCAnU3RhZmZlbG51bW1lciBtdXNzIHBvc2l0aXYgc2VpbicpO1xuICB9XG5cbiAgLy8gU2hvcnQgbmFtZSB2YWxpZGF0aW9uc1xuICBpZiAoIWxlYWd1ZUdyb3VwLnNob3J0TmFtZSB8fCBsZWFndWVHcm91cC5zaG9ydE5hbWUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignc2hvcnROYW1lJywgJ1N0YWZmZWwtS3Vyem5hbWUgaXN0IGVyZm9yZGVybGljaCcpO1xuICB9IGVsc2UgaWYgKGxlYWd1ZUdyb3VwLnNob3J0TmFtZS5sZW5ndGggPiAxMCkge1xuICAgIHJlc3VsdC5hZGRFcnJvcignc2hvcnROYW1lJywgJ1N0YWZmZWwtS3Vyem5hbWUgZGFyZiAxMCBaZWljaGVuIG5pY2h0IMO8YmVyc2NocmVpdGVuJyk7XG4gIH0gZWxzZSBpZiAoIS9eW0EtWmEtejAtOV0rJC8udGVzdChsZWFndWVHcm91cC5zaG9ydE5hbWUpKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdzaG9ydE5hbWUnLCAnU3RhZmZlbC1LdXJ6bmFtZSBkYXJmIG51ciBhbHBoYW51bWVyaXNjaGUgWmVpY2hlbiBlbnRoYWx0ZW4nKTtcbiAgfVxuXG4gIC8vIFJlZ3VsYXRpb24gdmFsaWRhdGlvblxuICBpZiAoIWxlYWd1ZUdyb3VwLnJlZ3VsYXRpb24gfHwgbGVhZ3VlR3JvdXAucmVndWxhdGlvbi50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgcmVzdWx0LmFkZEVycm9yKCdyZWd1bGF0aW9uJywgJ1N0YWZmZWwtUmVnZWx1bmdlbiBzaW5kIGVyZm9yZGVybGljaCcpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGVhZ3VlR3JvdXAobGVhZ3VlR3JvdXA6IFNhdmVMZWFndWVHcm91cElucHV0IHwgTW9kaWZ5TGVhZ3VlR3JvdXBJbnB1dCk6IHZvaWQge1xuICBjb25zdCByZXN1bHQgPSBjaGVja0xlYWd1ZUdyb3VwKGxlYWd1ZUdyb3VwKTtcbiAgcmVzdWx0LnZhbGlkYXRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja1RlYW0odGVhbTogU2F2ZVRlYW1JbnB1dCB8IE1vZGlmeVRlYW1JbnB1dCB8IFJlZ2lzdGVyVGVhbUlucHV0KTogVmFsaWRhdGlvbkNoZWNrUmVzdWx0IHtcbiAgY29uc3QgcmVzdWx0ID0gbmV3IFZhbGlkYXRpb25DaGVja1Jlc3VsdCgpO1xuXG4gIC8vIE5hbWUgdmFsaWRhdGlvblxuICBpZiAoJ25hbWUnIGluIHRlYW0gJiYgdGVhbS5uYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAodGVhbS5uYW1lLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJlc3VsdC5hZGRFcnJvcignbmFtZScsICdUZWFtbmFtZSBkYXJmIG5pY2h0IGxlZXIgc2VpbicpO1xuICAgIH0gZWxzZSBpZiAodGVhbS5uYW1lLmxlbmd0aCA+IDEwMCkge1xuICAgICAgcmVzdWx0LmFkZEVycm9yKCduYW1lJywgJ1RlYW1uYW1lIGRhcmYgMTAwIFplaWNoZW4gbmljaHQgw7xiZXJzY2hyZWl0ZW4nKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoISgnaWQnIGluIHRlYW0pKSB7IC8vIGlmIGlkIGlzIG5vdCBpbiB0ZWFtLCB0aGVuIGl0IGlzIGEgbmV3IHRlYW1cbiAgICByZXN1bHQuYWRkRXJyb3IoJ25hbWUnLCAnVGVhbW5hbWUgaXN0IGVyZm9yZGVybGljaCcpO1xuICB9XG5cbiAgLy8gTGVhZ3VlIElEIHZhbGlkYXRpb25cbiAgaWYgKCdsZWFndWVJZCcgaW4gdGVhbSAmJiB0ZWFtLmxlYWd1ZUlkICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAodGVhbS5sZWFndWVJZC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXN1bHQuYWRkRXJyb3IoJ2xlYWd1ZUlkJywgJ0xpZ2EtSUQgZGFyZiBuaWNodCBsZWVyIHNlaW4nKTtcbiAgICB9IGVsc2UgaWYgKHRlYW0ubGVhZ3VlSWQubGVuZ3RoID4gMTAwKSB7XG4gICAgICByZXN1bHQuYWRkRXJyb3IoJ2xlYWd1ZUlkJywgJ0xpZ2EtSUQgZGFyZiAxMDAgWmVpY2hlbiBuaWNodCDDvGJlcnNjaHJlaXRlbicpO1xuICAgIH1cbiAgfSBlbHNlIGlmICghKCdpZCcgaW4gdGVhbSkpIHsgLy8gaWYgaWQgaXMgbm90IGluIHRlYW0sIHRoZW4gaXQgaXMgYSBuZXcgdGVhbVxuICAgIHJlc3VsdC5hZGRFcnJvcignbGVhZ3VlSWQnLCAnTGlnYS1JRCBpc3QgZXJmb3JkZXJsaWNoJyk7XG4gIH1cblxuICAvLyBFeGVtcHRpb24gcmVxdWVzdCB2YWxpZGF0aW9uXG4gIGlmICh0ZWFtLmV4ZW1wdGlvblJlcXVlc3QpIHtcbiAgICBpZiAodGVhbS5leGVtcHRpb25SZXF1ZXN0LnRyaW0oKS5sZW5ndGggPiAxMDAwKSB7XG4gICAgICByZXN1bHQuYWRkRXJyb3IoJ2V4ZW1wdGlvblJlcXVlc3QnLCAnRnJlaXN0ZWxsdW5nc2FudHJhZyBkYXJmIDEwMDAgWmVpY2hlbiBuaWNodCDDvGJlcnNjaHJlaXRlbicpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBsYXllciBJRHMgdmFsaWRhdGlvblxuICBpZiAoIXRlYW0ucGxheWVySWRzIHx8IHRlYW0ucGxheWVySWRzLmxlbmd0aCA8IDIpIHtcbiAgICByZXN1bHQuYWRkRXJyb3IoJ3BsYXllcklkcycsICdFcyBtw7xzc2VuIG1pbmRlc3RlbnMgMiBTcGllbGVyIGbDvHIgZWluIFRlYW0gYW5nZWdlYmVuIHdlcmRlbicpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVGVhbSh0ZWFtOiBTYXZlVGVhbUlucHV0IHwgTW9kaWZ5VGVhbUlucHV0IHwgUmVnaXN0ZXJUZWFtSW5wdXQpOiB2b2lkIHtcbiAgY29uc3QgcmVzdWx0ID0gY2hlY2tUZWFtKHRlYW0pO1xuICByZXN1bHQudmFsaWRhdGUoKTtcbn1cblxuXG4iXX0=
|
package/package.json
CHANGED
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"@graphql-codegen/cli": "^5.0.7",
|
|
39
39
|
"@graphql-codegen/typescript": "^4.1.6",
|
|
40
40
|
"@stylistic/eslint-plugin": "^2",
|
|
41
|
-
"@taimos/projen": "^0.1.
|
|
41
|
+
"@taimos/projen": "^0.1.30",
|
|
42
42
|
"@types/jest": "^30.0.0",
|
|
43
|
-
"@types/node": "^24.9.
|
|
43
|
+
"@types/node": "^24.9.2",
|
|
44
44
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
45
45
|
"@typescript-eslint/parser": "^8",
|
|
46
46
|
"commit-and-tag-version": "^12",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"eslint-plugin-import": "^2.32.0",
|
|
51
51
|
"jest": "^29.7.0",
|
|
52
52
|
"jest-junit": "^16",
|
|
53
|
-
"projen": "0.98.
|
|
53
|
+
"projen": "0.98.6",
|
|
54
54
|
"projen-pipelines": "^0.3.0",
|
|
55
55
|
"ts-jest": "^29.4.5",
|
|
56
56
|
"ts-node": "^10.9.2",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"date-fns": "^4.1.0",
|
|
62
|
-
"graphql": "^16.
|
|
62
|
+
"graphql": "^16.12.0",
|
|
63
63
|
"openapi-typescript": "^7.10.1",
|
|
64
64
|
"uuid": "^8.3.2"
|
|
65
65
|
},
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"publishConfig": {
|
|
74
74
|
"access": "public"
|
|
75
75
|
},
|
|
76
|
-
"version": "0.0.
|
|
76
|
+
"version": "0.0.27",
|
|
77
77
|
"jest": {
|
|
78
78
|
"coverageProvider": "v8",
|
|
79
79
|
"moduleNameMapper": {
|
package/schema.graphql
CHANGED
|
@@ -73,6 +73,9 @@ type Club @aws_cognito_user_pools {
|
|
|
73
73
|
address: Address
|
|
74
74
|
website: AWSURL
|
|
75
75
|
contact: Person
|
|
76
|
+
additionalContacts: [Person]
|
|
77
|
+
email: AWSEmail
|
|
78
|
+
resultServiceEmail: AWSEmail
|
|
76
79
|
association: Association!
|
|
77
80
|
teams: [Team]
|
|
78
81
|
}
|
|
@@ -260,6 +263,9 @@ input SaveClubInput {
|
|
|
260
263
|
shortName: String
|
|
261
264
|
address: AddressInput!
|
|
262
265
|
contactId: ID!
|
|
266
|
+
additionalContactIds: [ID]
|
|
267
|
+
email: AWSEmail
|
|
268
|
+
resultServiceEmail: AWSEmail
|
|
263
269
|
website: AWSURL
|
|
264
270
|
associationId: ID!
|
|
265
271
|
}
|
|
@@ -270,6 +276,9 @@ input ModifyClubInput {
|
|
|
270
276
|
shortName: String
|
|
271
277
|
address: AddressInput!
|
|
272
278
|
contactId: ID!
|
|
279
|
+
additionalContactIds: [ID]
|
|
280
|
+
email: AWSEmail
|
|
281
|
+
resultServiceEmail: AWSEmail
|
|
273
282
|
website: AWSURL
|
|
274
283
|
}
|
|
275
284
|
|