@vendasta/ai-assistants 0.63.0 → 0.65.0
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/esm2020/lib/_internal/interfaces/assistant.interface.mjs +1 -1
- package/esm2020/lib/_internal/interfaces/function.interface.mjs +1 -1
- package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
- package/esm2020/lib/_internal/objects/assistant.mjs +39 -1
- package/esm2020/lib/_internal/objects/function.mjs +25 -13
- package/esm2020/lib/_internal/objects/index.mjs +2 -2
- package/fesm2015/vendasta-ai-assistants.mjs +63 -13
- package/fesm2015/vendasta-ai-assistants.mjs.map +1 -1
- package/fesm2020/vendasta-ai-assistants.mjs +63 -13
- package/fesm2020/vendasta-ai-assistants.mjs.map +1 -1
- package/lib/_internal/interfaces/assistant.interface.d.ts +7 -0
- package/lib/_internal/interfaces/function.interface.d.ts +4 -2
- package/lib/_internal/interfaces/index.d.ts +1 -1
- package/lib/_internal/objects/assistant.d.ts +10 -0
- package/lib/_internal/objects/function.d.ts +4 -2
- package/lib/_internal/objects/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaXN0YW50LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2FpX2Fzc2lzdGFudHNfc2RrL3NyYy9saWIvX2ludGVybmFsL2ludGVyZmFjZXMvYXNzaXN0YW50LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBJbnRlcmZhY2VzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgeyBHb2FsSW50ZXJmYWNlIH0gZnJvbSAnLi9nb2FsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBLZXlWYWx1ZVBhaXJJbnRlcmZhY2UgfSBmcm9tICcuL2NvbW1vbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTW9kZWxJbnRlcmZhY2UgfSBmcm9tICcuL21vZGVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOYW1lc3BhY2VJbnRlcmZhY2UgfSBmcm9tICcuL25hbWVzcGFjZS5pbnRlcmZhY2UnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaXN0YW50SW50ZXJmYWNlIHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lc3BhY2U/OiBOYW1lc3BhY2VJbnRlcmZhY2U7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB0eXBlPzogZS5Bc3Npc3RhbnRUeXBlO1xuICAgIGF2YXRhclVybD86IHN0cmluZztcbiAgICBjb25maWc/OiBDb25maWdJbnRlcmZhY2U7XG4gICAgY29uZmlndXJhYmxlR29hbHM/OiBDb25maWd1cmFibGVHb2FsSW50ZXJmYWNlW107XG4gICAgdXNlcklkPzogc3RyaW5nO1xuICAgIHJvbGU/OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaXN0YW50LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2FpX2Fzc2lzdGFudHNfc2RrL3NyYy9saWIvX2ludGVybmFsL2ludGVyZmFjZXMvYXNzaXN0YW50LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBJbnRlcmZhY2VzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgeyBHb2FsSW50ZXJmYWNlIH0gZnJvbSAnLi9nb2FsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBLZXlWYWx1ZVBhaXJJbnRlcmZhY2UgfSBmcm9tICcuL2NvbW1vbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTW9kZWxJbnRlcmZhY2UgfSBmcm9tICcuL21vZGVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOYW1lc3BhY2VJbnRlcmZhY2UgfSBmcm9tICcuL25hbWVzcGFjZS5pbnRlcmZhY2UnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaXN0YW50SW50ZXJmYWNlIHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lc3BhY2U/OiBOYW1lc3BhY2VJbnRlcmZhY2U7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB0eXBlPzogZS5Bc3Npc3RhbnRUeXBlO1xuICAgIGF2YXRhclVybD86IHN0cmluZztcbiAgICBjb25maWc/OiBDb25maWdJbnRlcmZhY2U7XG4gICAgY29uZmlndXJhYmxlR29hbHM/OiBDb25maWd1cmFibGVHb2FsSW50ZXJmYWNlW107XG4gICAgdXNlcklkPzogc3RyaW5nO1xuICAgIHJvbGU/OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgaW5wdXRWYWxpZGF0b3JzPzogVmFsaWRhdG9ySW50ZXJmYWNlW107XG4gICAgb3V0cHV0VmFsaWRhdG9ycz86IFZhbGlkYXRvckludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lzdGFudEtleUludGVyZmFjZSB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlPzogTmFtZXNwYWNlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0ludGVyZmFjZSB7XG4gICAgaW5ib3hDb25maWc/OiBDb25maWdJbmJveENvbmZpZ0ludGVyZmFjZTtcbiAgICB2b2ljZUNvbmZpZz86IENvbmZpZ1ZvaWNlQ29uZmlnSW50ZXJmYWNlO1xuICAgIG1vZGVscz86IE1vZGVsSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhYmxlR29hbEludGVyZmFjZSB7XG4gICAgZ29hbD86IEdvYWxJbnRlcmZhY2U7XG4gICAgY29uZmlndXJhdGlvbj86IEtleVZhbHVlUGFpckludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlZXBncmFtQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2b2ljZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGV2ZW5MYWJzQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2b2ljZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdJbmJveENvbmZpZ0ludGVyZmFjZSB7XG4gICAgbGVhZENhcHR1cmVFbmFibGVkPzogYm9vbGVhbjtcbiAgICBhZGRpdGlvbmFsSW5zdHJ1Y3Rpb25zPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsQ29uZmlnSW50ZXJmYWNlIHtcbiAgICBvcGVuYWlSZWFsdGltZUNvbmZpZz86IE9wZW5BSVJlYWx0aW1lQ29uZmlnSW50ZXJmYWNlO1xuICAgIGRlZXBncmFtQ29uZmlnPzogRGVlcGdyYW1Db25maWdJbnRlcmZhY2U7XG4gICAgZWxldmVuTGFic0NvbmZpZz86IEVsZXZlbkxhYnNDb25maWdJbnRlcmZhY2U7XG4gICAgb3BlbmFpQ29uZmlnPzogT3BlbkFJQ29uZmlnSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5BSUNvbmZpZ0ludGVyZmFjZSB7XG4gICAgdm9pY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3BlbkFJUmVhbHRpbWVDb25maWdJbnRlcmZhY2Uge1xuICAgIHZvaWNlPzogc3RyaW5nO1xuICAgIHR1cm5EZXRlY3Rpb24/OiBPcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb25JbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVtcGxhdGVWYXJpYWJsZUludGVyZmFjZSB7XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIHZhbHVlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbkludGVyZmFjZSB7XG4gICAgdGhyZXNob2xkPzogbnVtYmVyO1xuICAgIHByZWZpeFBhZGRpbmc/OiBudW1iZXI7XG4gICAgc2lsZW5jZUR1cmF0aW9uPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRvckludGVyZmFjZSB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBjb25maWc/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnVm9pY2VDb25maWdJbnRlcmZhY2Uge1xuICAgIHZlbmRvck1vZGVsPzogZS5WZW5kb3JNb2RlbDtcbiAgICBtb2RlbENvbmZpZz86IE1vZGVsQ29uZmlnSW50ZXJmYWNlO1xuICAgIHByZUdyZWV0aW5nTWVzc2FnZT86IHN0cmluZztcbn1cblxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYWlfYXNzaXN0YW50c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvaW50ZXJmYWNlcy9mdW5jdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gSW50ZXJmYWNlcy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHsgQ29uc3RyYWludEludGVyZmFjZSB9IGZyb20gJy4vY29uc3RyYWludHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5hbWVzcGFjZUludGVyZmFjZSB9IGZyb20gJy4vbmFtZXNwYWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlLCBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2UgfSBmcm9tICcuL3BhZ2luZy5pbnRlcmZhY2UnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25BdXRoU3RyYXRlZ3lDb25uZWN0ZWRJbnRlZ3JhdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSB7XG4gICAgY29ubmVjdGlvbklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU1DUEZyb21JbnRlZ3JhdGlvblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG5hbWVzcGFjZT86IE5hbWVzcGFjZUludGVyZmFjZTtcbiAgICBtY3BJZD86IHN0cmluZztcbiAgICBjb25uZWN0aW9uSWQ/OiBzdHJpbmc7XG4gICAgc291cmNlUGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVNQ1BSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBuYW1lc3BhY2U/OiBOYW1lc3BhY2VJbnRlcmZhY2U7XG4gICAgbWNwSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE1DUHNSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSB7XG4gICAgbmFtZXNwYWNlcz86IE5hbWVzcGFjZUludGVyZmFjZVtdO1xuICAgIG1jcElkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uSW50ZXJmYWNlIHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lc3BhY2U/OiBOYW1lc3BhY2VJbnRlcmZhY2U7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIG1ldGhvZFR5cGU/OiBzdHJpbmc7XG4gICAgZnVuY3Rpb25QYXJhbWV0ZXJzPzogRnVuY3Rpb25QYXJhbWV0ZXJJbnRlcmZhY2VbXTtcbiAgICBnZW5lcmF0ZXNBbnN3ZXI/OiBib29sZWFuO1xuICAgIHVwZGF0ZWQ/OiBEYXRlO1xuICAgIGhlYWRlcnM/OiBGdW5jdGlvbkhlYWRlckludGVyZmFjZVtdO1xuICAgIG1hbmFnZWQ/OiBib29sZWFuO1xuICAgIGF1dGhTdHJhdGVneT86IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlO1xuICAgIG1jcElkPzogc3RyaW5nO1xuICAgIGNvbnN0cmFpbnRzPzogQ29uc3RyYWludEludGVyZmFjZVtdO1xuICAgIHNvdXJjZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2Uge1xuICAgIHVuc3BlY2lmaWVkPzogRnVuY3Rpb25BdXRoU3RyYXRlZ3lVbnNwZWNpZmllZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlO1xuICAgIHBsYXRmb3JtTWFuYWdlZD86IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5UGxhdGZvcm1NYW5hZ2VkRnVuY3Rpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2U7XG4gICAgY29ubmVjdGVkSW50ZWdyYXRpb24/OiBGdW5jdGlvbkF1dGhTdHJhdGVneUNvbm5lY3RlZEludGVncmF0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlO1xuICAgIGltcGVyc29uYXRpb24/OiBGdW5jdGlvbkF1dGhTdHJhdGVneUltcGVyc29uYXRpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25IZWFkZXJJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbktleUludGVyZmFjZSB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlPzogTmFtZXNwYWNlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uUGFyYW1ldGVySW50ZXJmYWNlIHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgcHJvcGVydGllcz86IEZ1bmN0aW9uUGFyYW1ldGVySW50ZXJmYWNlW107XG4gICAgaXRlbXM/OiBGdW5jdGlvblBhcmFtZXRlckludGVyZmFjZTtcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgICBsb2NhdGlvbj86IGUuRnVuY3Rpb25QYXJhbWV0ZXJQYXJhbWV0ZXJMb2NhdGlvbjtcbiAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgZW51bVZhbHVlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW1wZXJzb25hdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSB7XG4gICAgcmVxdWlyZWRTY29wZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TUNQVG9vbHNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBuYW1lc3BhY2U/OiBOYW1lc3BhY2VJbnRlcmZhY2U7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIGF1dGhTdHJhdGVneT86IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlO1xuICAgIGhlYWRlcnM/OiBGdW5jdGlvbkhlYWRlckludGVyZmFjZVtdO1xuICAgIG1jcElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNQ1BUb29sc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBmdW5jdGlvbnM/OiBGdW5jdGlvbkludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNQ1BzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZmlsdGVycz86IExpc3RNQ1BzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2U7XG4gICAgcGFnaW5nT3B0aW9ucz86IFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE1DUHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgbWNwcz86IE1DUEludGVyZmFjZVtdO1xuICAgIHBhZ2luZ01ldGFkYXRhPzogUGFnZWRSZXNwb25zZU1ldGFkYXRhSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1DUEludGVyZmFjZSB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIG5hbWVzcGFjZT86IE5hbWVzcGFjZUludGVyZmFjZTtcbiAgICBhdXRoU3RyYXRlZ3k/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYWlfYXNzaXN0YW50c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvaW50ZXJmYWNlcy9mdW5jdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gSW50ZXJmYWNlcy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHsgQ29uc3RyYWludEludGVyZmFjZSB9IGZyb20gJy4vY29uc3RyYWludHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5hbWVzcGFjZUludGVyZmFjZSB9IGZyb20gJy4vbmFtZXNwYWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlLCBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2UgfSBmcm9tICcuL3BhZ2luZy5pbnRlcmZhY2UnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25BdXRoU3RyYXRlZ3lDb25uZWN0ZWRJbnRlZ3JhdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSB7XG4gICAgY29ubmVjdGlvbklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU1DUEZyb21JbnRlZ3JhdGlvblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG5hbWVzcGFjZT86IE5hbWVzcGFjZUludGVyZmFjZTtcbiAgICBtY3BJZD86IHN0cmluZztcbiAgICBjb25uZWN0aW9uSWQ/OiBzdHJpbmc7XG4gICAgc291cmNlUGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVNQ1BSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBuYW1lc3BhY2U/OiBOYW1lc3BhY2VJbnRlcmZhY2U7XG4gICAgbWNwSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE1DUHNSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSB7XG4gICAgbmFtZXNwYWNlcz86IE5hbWVzcGFjZUludGVyZmFjZVtdO1xuICAgIG1jcElkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uSW50ZXJmYWNlIHtcbiAgICBpZD86IHN0cmluZztcbiAgICBuYW1lc3BhY2U/OiBOYW1lc3BhY2VJbnRlcmZhY2U7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIG1ldGhvZFR5cGU/OiBzdHJpbmc7XG4gICAgZnVuY3Rpb25QYXJhbWV0ZXJzPzogRnVuY3Rpb25QYXJhbWV0ZXJJbnRlcmZhY2VbXTtcbiAgICBnZW5lcmF0ZXNBbnN3ZXI/OiBib29sZWFuO1xuICAgIHVwZGF0ZWQ/OiBEYXRlO1xuICAgIGhlYWRlcnM/OiBGdW5jdGlvbkhlYWRlckludGVyZmFjZVtdO1xuICAgIG1hbmFnZWQ/OiBib29sZWFuO1xuICAgIGF1dGhTdHJhdGVneT86IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlO1xuICAgIG1jcElkPzogc3RyaW5nO1xuICAgIGNvbnN0cmFpbnRzPzogQ29uc3RyYWludEludGVyZmFjZVtdO1xuICAgIHNvdXJjZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2Uge1xuICAgIHVuc3BlY2lmaWVkPzogRnVuY3Rpb25BdXRoU3RyYXRlZ3lVbnNwZWNpZmllZEZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlO1xuICAgIHBsYXRmb3JtTWFuYWdlZD86IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5UGxhdGZvcm1NYW5hZ2VkRnVuY3Rpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2U7XG4gICAgY29ubmVjdGVkSW50ZWdyYXRpb24/OiBGdW5jdGlvbkF1dGhTdHJhdGVneUNvbm5lY3RlZEludGVncmF0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlO1xuICAgIGltcGVyc29uYXRpb24/OiBGdW5jdGlvbkF1dGhTdHJhdGVneUltcGVyc29uYXRpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25IZWFkZXJJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbktleUludGVyZmFjZSB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlPzogTmFtZXNwYWNlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uUGFyYW1ldGVySW50ZXJmYWNlIHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgcHJvcGVydGllcz86IEZ1bmN0aW9uUGFyYW1ldGVySW50ZXJmYWNlW107XG4gICAgaXRlbXM/OiBGdW5jdGlvblBhcmFtZXRlckludGVyZmFjZTtcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgICBsb2NhdGlvbj86IGUuRnVuY3Rpb25QYXJhbWV0ZXJQYXJhbWV0ZXJMb2NhdGlvbjtcbiAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgZW51bVZhbHVlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW1wZXJzb25hdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSB7XG4gICAgcmVxdWlyZWRTY29wZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TUNQVG9vbHNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBuYW1lc3BhY2U/OiBOYW1lc3BhY2VJbnRlcmZhY2U7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIGF1dGhTdHJhdGVneT86IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlO1xuICAgIGhlYWRlcnM/OiBGdW5jdGlvbkhlYWRlckludGVyZmFjZVtdO1xuICAgIG1jcElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNQ1BUb29sc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBmdW5jdGlvbnM/OiBGdW5jdGlvbkludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNQ1BzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZmlsdGVycz86IExpc3RNQ1BzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2U7XG4gICAgcGFnaW5nT3B0aW9ucz86IFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE1DUHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgbWNwcz86IE1DUEludGVyZmFjZVtdO1xuICAgIHBhZ2luZ01ldGFkYXRhPzogUGFnZWRSZXNwb25zZU1ldGFkYXRhSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1DUEludGVyZmFjZSB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIG5hbWVzcGFjZT86IE5hbWVzcGFjZUludGVyZmFjZTtcbiAgICBhdXRoU3RyYXRlZ3k/OiBGdW5jdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZTtcbiAgICBzb3VyY2VQYXRoPzogc3RyaW5nO1xuICAgIGhlYWRlcnM/OiBGdW5jdGlvbkhlYWRlckludGVyZmFjZVtdO1xuICAgIGNvbnN0cmFpbnRzPzogQ29uc3RyYWludEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5UGxhdGZvcm1NYW5hZ2VkRnVuY3Rpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2Uge1xuICAgIHJlcXVpcmVkU2NvcGVzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VyaWFsaXplRnVuY3Rpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBmdW5jdGlvbj86IEZ1bmN0aW9uSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcmlhbGl6ZUZ1bmN0aW9uUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGZpbGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VyaWFsaXplTUNQUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWNwPzogTUNQSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcmlhbGl6ZU1DUFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBmaWxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5VW5zcGVjaWZpZWRGdW5jdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZXJ0TUNQUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbmFtZXNwYWNlPzogTmFtZXNwYWNlSW50ZXJmYWNlO1xuICAgIHVybD86IHN0cmluZztcbiAgICBtY3BJZD86IHN0cmluZztcbiAgICBmdW5jdGlvbnM/OiBGdW5jdGlvbkludGVyZmFjZVtdO1xuICAgIGF1dGhTdHJhdGVneT86IEZ1bmN0aW9uQXV0aFN0cmF0ZWd5SW50ZXJmYWNlO1xuICAgIHNvdXJjZVBhdGg/OiBzdHJpbmc7XG4gICAgaGVhZGVycz86IEZ1bmN0aW9uSGVhZGVySW50ZXJmYWNlW107XG4gICAgY29uc3RyYWludHM/OiBDb25zdHJhaW50SW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGVGdW5jdGlvbnNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBmdW5jdGlvbnM/OiBGdW5jdGlvbkludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRlRnVuY3Rpb25zUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHJlc3VsdHM/OiBWYWxpZGF0ZUZ1bmN0aW9uc1Jlc3BvbnNlVmFsaWRhdGlvblJlc3VsdEludGVyZmFjZVtdO1xuICAgIGFsbFZhbGlkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0ZU1DUHNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtY3BzPzogTUNQSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGVNQ1BzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHJlc3VsdHM/OiBWYWxpZGF0ZU1DUHNSZXNwb25zZVZhbGlkYXRpb25SZXN1bHRJbnRlcmZhY2VbXTtcbiAgICBhbGxWYWxpZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGVGdW5jdGlvbnNSZXNwb25zZVZhbGlkYXRpb25SZXN1bHRJbnRlcmZhY2Uge1xuICAgIGZ1bmN0aW9uSWQ/OiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlPzogTmFtZXNwYWNlSW50ZXJmYWNlO1xuICAgIGlzVmFsaWQ/OiBib29sZWFuO1xuICAgIGVycm9yTWVzc2FnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0ZU1DUHNSZXNwb25zZVZhbGlkYXRpb25SZXN1bHRJbnRlcmZhY2Uge1xuICAgIG1jcElkPzogc3RyaW5nO1xuICAgIG5hbWVzcGFjZT86IE5hbWVzcGFjZUludGVyZmFjZTtcbiAgICBpc1ZhbGlkPzogYm9vbGVhbjtcbiAgICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9haV9hc3Npc3RhbnRzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgTmFtZXNwYWNlQWNjb3VudEdyb3VwTmFtZXNwYWNlSW50ZXJmYWNlLFxuICAgIE5hbWVzcGFjZUdsb2JhbE5hbWVzcGFjZUludGVyZmFjZSxcbiAgICBOYW1lc3BhY2VJbnRlcmZhY2UsXG4gICAgTmFtZXNwYWNlUGFydG5lck5hbWVzcGFjZUludGVyZmFjZSxcbiAgICBOYW1lc3BhY2VTeXN0ZW1OYW1lc3BhY2VJbnRlcmZhY2UsXG59IGZyb20gJy4vbmFtZXNwYWNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ29uc3RyYWludEludGVyZmFjZSxcbiAgICBDb25zdHJhaW50RmlsdGVySW50ZXJmYWNlLFxuICAgIFNjb3BlSW50ZXJmYWNlLFxufSBmcm9tICcuL2NvbnN0cmFpbnRzLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSxcbiAgICBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2UsXG59IGZyb20gJy4vcGFnaW5nLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3lDb25uZWN0ZWRJbnRlZ3JhdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSxcbiAgICBDcmVhdGVNQ1BGcm9tSW50ZWdyYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZU1DUFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdE1DUHNSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICBGdW5jdGlvbkludGVyZmFjZSxcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSxcbiAgICBGdW5jdGlvbkhlYWRlckludGVyZmFjZSxcbiAgICBGdW5jdGlvbktleUludGVyZmFjZSxcbiAgICBGdW5jdGlvblBhcmFtZXRlckludGVyZmFjZSxcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneUltcGVyc29uYXRpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2UsXG4gICAgTGlzdE1DUFRvb2xzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0TUNQVG9vbHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0TUNQc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdE1DUHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBNQ1BJbnRlcmZhY2UsXG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3lQbGF0Zm9ybU1hbmFnZWRGdW5jdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSxcbiAgICBTZXJpYWxpemVGdW5jdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2VyaWFsaXplRnVuY3Rpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICBTZXJpYWxpemVNQ1BSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNlcmlhbGl6ZU1DUFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5VW5zcGVjaWZpZWRGdW5jdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSxcbiAgICBVcHNlcnRNQ1BSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFZhbGlkYXRlRnVuY3Rpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBWYWxpZGF0ZUZ1bmN0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFZhbGlkYXRlTUNQc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVNQ1BzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVGdW5jdGlvbnNSZXNwb25zZVZhbGlkYXRpb25SZXN1bHRJbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVNQ1BzUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0SW50ZXJmYWNlLFxufSBmcm9tICcuL2Z1bmN0aW9uLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgUHJvbXB0TW9kdWxlSW50ZXJmYWNlLFxuICAgIFByb21wdE1vZHVsZUtleUludGVyZmFjZSxcbiAgICBQcm9tcHRNb2R1bGVWZXJzaW9uSW50ZXJmYWNlLFxuICAgIFNlcmlhbGl6ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2VyaWFsaXplUHJvbXB0TW9kdWxlUmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vcHJvbXB0LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgR29hbEludGVyZmFjZSxcbiAgICBHb2FsS2V5SW50ZXJmYWNlLFxuICAgIFNlcmlhbGl6ZUdvYWxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNlcmlhbGl6ZUdvYWxSZXNwb25zZUludGVyZmFjZSxcbiAgICBWYWxpZGF0ZUdvYWxzUmVxdWVzdEludGVyZmFjZSxcbiAgICBWYWxpZGF0ZUdvYWxzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVHb2Fsc1Jlc3BvbnNlVmFsaWRhdGlvblJlc3VsdEludGVyZmFjZSxcbn0gZnJvbSAnLi9nb2FsLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgS2V5VmFsdWVQYWlySW50ZXJmYWNlLFxufSBmcm9tICcuL2NvbW1vbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIE1vZGVsSW50ZXJmYWNlLFxufSBmcm9tICcuL21vZGVsLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQXNzaXN0YW50SW50ZXJmYWNlLFxuICAgIEFzc2lzdGFudEtleUludGVyZmFjZSxcbiAgICBDb25maWdJbnRlcmZhY2UsXG4gICAgQ29uZmlndXJhYmxlR29hbEludGVyZmFjZSxcbiAgICBEZWVwZ3JhbUNvbmZpZ0ludGVyZmFjZSxcbiAgICBFbGV2ZW5MYWJzQ29uZmlnSW50ZXJmYWNlLFxuICAgIENvbmZpZ0luYm94Q29uZmlnSW50ZXJmYWNlLFxuICAgIE1vZGVsQ29uZmlnSW50ZXJmYWNlLFxuICAgIE9wZW5BSUNvbmZpZ0ludGVyZmFjZSxcbiAgICBPcGVuQUlSZWFsdGltZUNvbmZpZ0ludGVyZmFjZSxcbiAgICBUZW1wbGF0ZVZhcmlhYmxlSW50ZXJmYWNlLFxuICAgIE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbkludGVyZmFjZSxcbiAgICBDb25maWdWb2ljZUNvbmZpZ0ludGVyZmFjZSxcbn0gZnJvbSAnLi9hc3Npc3RhbnQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDb25uZWN0aW9uSW50ZXJmYWNlLFxuICAgIENvbm5lY3Rpb25LZXlJbnRlcmZhY2UsXG59IGZyb20gJy4vY29ubmVjdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYkludGVyZmFjZSxcbiAgICBDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2JSZXN1bHRJbnRlcmZhY2UsXG4gICAgQ2hhdENvbnRlbnRJbnRlcmZhY2UsXG4gICAgQ2hhdE1lc3NhZ2VJbnRlcmZhY2UsXG4gICAgQ2hhdFVzZXJJbmZvSW50ZXJmYWNlLFxuICAgIENvbnRleHRJbmZvSW50ZXJmYWNlLFxuICAgIEltYWdlQ29udGVudEludGVyZmFjZSxcbn0gZnJvbSAnLi9hbnN3ZXIuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDYW5jZWxUZXN0UnVuUmVxdWVzdEludGVyZmFjZSxcbiAgICBUZXN0UmVzdWx0Q2l0YXRpb25JbnRlcmZhY2UsXG4gICAgRGVsZXRlVGVzdENhc2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRUZXN0UnVuUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRUZXN0UnVuUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFRlc3RDYXNlc0J5QXNzaXN0YW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0VGVzdENhc2VzQnlBc3Npc3RhbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0VGVzdFJ1bnNCeUFzc2lzdGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFRlc3RSdW5zQnlBc3Npc3RhbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBSdW5UZXN0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgUnVuVGVzdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBTb3J0T3B0aW9uc0ludGVyZmFjZSxcbiAgICBUZXN0Q2FzZUludGVyZmFjZSxcbiAgICBUZXN0UmVzdWx0SW50ZXJmYWNlLFxuICAgIFRlc3RSdW5JbnRlcmZhY2UsXG4gICAgVXBzZXJ0VGVzdENhc2VzUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlZ3JhdGlvbi10ZXN0cy5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEFjY2Vzc0ludGVyZmFjZSxcbiAgICBNQ1BPcHRpb25zSW50ZXJmYWNlLFxufSBmcm9tICcuL2Fubm90YXRpb25zLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgRmllbGRNYXNrSW50ZXJmYWNlLFxufSBmcm9tICcuL2ZpZWxkLW1hc2suaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBCdWlsZERlZmF1bHRBc3Npc3RhbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEJ1aWxkRGVmYXVsdEFzc2lzdGFudFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFNldEFzc2lzdGFudENvbm5lY3Rpb25zUmVxdWVzdENvbm5lY3Rpb25TdGF0ZUludGVyZmFjZSxcbiAgICBDcmVhdGVBc3Npc3RhbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUFzc2lzdGFudFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENyZWF0ZUdvYWxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUdvYWxSZXNwb25zZUludGVyZmFjZSxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZUFzc2lzdGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRGVsZXRlQ29ubmVjdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRGVsZXRlRnVuY3Rpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZUdvYWxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRGVwbG95UHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbiAgICBFeGVjdXRlRnVuY3Rpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEV4ZWN1dGVGdW5jdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RHb2Fsc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIExpc3RBc3Npc3RhbnRSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0RnVuY3Rpb25SZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0QXZhaWxhYmxlTW9kZWxzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdEFsbEFzc2lzdGFudHNBc3NvY2lhdGVkVG9Db25uZWN0aW9uUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdFByb21wdE1vZHVsZVJlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIExpc3RDb25uZWN0aW9uc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIEdlbmVyYXRlQ2hhdEFuc3dlclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2VuZXJhdGVDaGF0QW5zd2VyUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0QXNzaXN0YW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRBc3Npc3RhbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2JSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYlJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldENvbm5lY3Rpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldENvbm5lY3Rpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldEZ1bmN0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRGdW5jdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldEdvYWxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldEdvYWxSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aUFzc2lzdGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlBc3Npc3RhbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aUZ1bmN0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aUZ1bmN0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlHb2FsUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aUdvYWxSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0UHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR29hbHNEaXNhYmxlZEZvckFjY291bnRHcm91cFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR29hbHNEaXNhYmxlZEZvckFjY291bnRHcm91cFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RBbGxBc3Npc3RhbnRzQXNzb2NpYXRlZFRvQ29ubmVjdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdEFsbEFzc2lzdGFudHNBc3NvY2lhdGVkVG9Db25uZWN0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdEFzc2lzdGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdEFzc2lzdGFudFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RBdmFpbGFibGVNb2RlbHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RBdmFpbGFibGVNb2RlbHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0Q29ubmVjdGlvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RDb25uZWN0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RGdW5jdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdEZ1bmN0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdEdvYWxzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0R29hbHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UHJvbXB0TW9kdWxlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0VGVtcGxhdGVWYXJpYWJsZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RUZW1wbGF0ZVZhcmlhYmxlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdlbmVyYXRlQ2hhdEFuc3dlclJlcXVlc3RPcHRpb25zSW50ZXJmYWNlLFxuICAgIEdldE11bHRpQXNzaXN0YW50UmVxdWVzdE9wdGlvbnNJbnRlcmZhY2UsXG4gICAgVXBzZXJ0QXNzaXN0YW50UmVxdWVzdE9wdGlvbnNJbnRlcmZhY2UsXG4gICAgR2V0QXNzaXN0YW50UmVxdWVzdE9wdGlvbnNJbnRlcmZhY2UsXG4gICAgQ3JlYXRlQXNzaXN0YW50UmVxdWVzdE9wdGlvbnNJbnRlcmZhY2UsXG4gICAgRXhlY3V0ZUZ1bmN0aW9uUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2UsXG4gICAgQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RPcHRpb25zSW50ZXJmYWNlLFxuICAgIFNldEFzc2lzdGFudENvbm5lY3Rpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBTZXRDb25uZWN0aW9uQXNzaXN0YW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0R29hbHNSZXF1ZXN0U29ydE9wdGlvbnNJbnRlcmZhY2UsXG4gICAgVXBkYXRlQXNzaXN0YW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVHb2FsUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwc2VydEFzc2lzdGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBzZXJ0QXNzaXN0YW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVXBzZXJ0Q29ubmVjdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBzZXJ0RnVuY3Rpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwc2VydEdvYWxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbiAgICBWYWxpZGF0ZVByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICBWYWxpZGF0ZVByb21wdE1vZHVsZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFZhbGlkYXRlUHJvbXB0TW9kdWxlc1Jlc3BvbnNlVmFsaWRhdGlvblJlc3VsdEludGVyZmFjZSxcbiAgICBWYWxpZGF0ZVByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0SW50ZXJmYWNlLFxuICAgIFZhbGlkYXRpb25SZXN1bHRJbnRlcmZhY2UsXG4gICAgVmFsaWRhdGlvblZpb2xhdGlvbkludGVyZmFjZSxcbn0gZnJvbSAnLi9hcGkuaW50ZXJmYWNlJztcblxuIl19
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9haV9hc3Npc3RhbnRzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgTmFtZXNwYWNlQWNjb3VudEdyb3VwTmFtZXNwYWNlSW50ZXJmYWNlLFxuICAgIE5hbWVzcGFjZUdsb2JhbE5hbWVzcGFjZUludGVyZmFjZSxcbiAgICBOYW1lc3BhY2VJbnRlcmZhY2UsXG4gICAgTmFtZXNwYWNlUGFydG5lck5hbWVzcGFjZUludGVyZmFjZSxcbiAgICBOYW1lc3BhY2VTeXN0ZW1OYW1lc3BhY2VJbnRlcmZhY2UsXG59IGZyb20gJy4vbmFtZXNwYWNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ29uc3RyYWludEludGVyZmFjZSxcbiAgICBDb25zdHJhaW50RmlsdGVySW50ZXJmYWNlLFxuICAgIFNjb3BlSW50ZXJmYWNlLFxufSBmcm9tICcuL2NvbnN0cmFpbnRzLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSxcbiAgICBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2UsXG59IGZyb20gJy4vcGFnaW5nLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3lDb25uZWN0ZWRJbnRlZ3JhdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSxcbiAgICBDcmVhdGVNQ1BGcm9tSW50ZWdyYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZU1DUFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdE1DUHNSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICBGdW5jdGlvbkludGVyZmFjZSxcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSxcbiAgICBGdW5jdGlvbkhlYWRlckludGVyZmFjZSxcbiAgICBGdW5jdGlvbktleUludGVyZmFjZSxcbiAgICBGdW5jdGlvblBhcmFtZXRlckludGVyZmFjZSxcbiAgICBGdW5jdGlvbkF1dGhTdHJhdGVneUltcGVyc29uYXRpb25BdXRoU3RyYXRlZ3lJbnRlcmZhY2UsXG4gICAgTGlzdE1DUFRvb2xzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0TUNQVG9vbHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0TUNQc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdE1DUHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBNQ1BJbnRlcmZhY2UsXG4gICAgRnVuY3Rpb25BdXRoU3RyYXRlZ3lQbGF0Zm9ybU1hbmFnZWRGdW5jdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSxcbiAgICBTZXJpYWxpemVGdW5jdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2VyaWFsaXplRnVuY3Rpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICBTZXJpYWxpemVNQ1BSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNlcmlhbGl6ZU1DUFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEZ1bmN0aW9uQXV0aFN0cmF0ZWd5VW5zcGVjaWZpZWRGdW5jdGlvbkF1dGhTdHJhdGVneUludGVyZmFjZSxcbiAgICBVcHNlcnRNQ1BSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFZhbGlkYXRlRnVuY3Rpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBWYWxpZGF0ZUZ1bmN0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFZhbGlkYXRlTUNQc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVNQ1BzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVGdW5jdGlvbnNSZXNwb25zZVZhbGlkYXRpb25SZXN1bHRJbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVNQ1BzUmVzcG9uc2VWYWxpZGF0aW9uUmVzdWx0SW50ZXJmYWNlLFxufSBmcm9tICcuL2Z1bmN0aW9uLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgUHJvbXB0TW9kdWxlSW50ZXJmYWNlLFxuICAgIFByb21wdE1vZHVsZUtleUludGVyZmFjZSxcbiAgICBQcm9tcHRNb2R1bGVWZXJzaW9uSW50ZXJmYWNlLFxuICAgIFNlcmlhbGl6ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2VyaWFsaXplUHJvbXB0TW9kdWxlUmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vcHJvbXB0LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgR29hbEludGVyZmFjZSxcbiAgICBHb2FsS2V5SW50ZXJmYWNlLFxuICAgIFNlcmlhbGl6ZUdvYWxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNlcmlhbGl6ZUdvYWxSZXNwb25zZUludGVyZmFjZSxcbiAgICBWYWxpZGF0ZUdvYWxzUmVxdWVzdEludGVyZmFjZSxcbiAgICBWYWxpZGF0ZUdvYWxzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVHb2Fsc1Jlc3BvbnNlVmFsaWRhdGlvblJlc3VsdEludGVyZmFjZSxcbn0gZnJvbSAnLi9nb2FsLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgS2V5VmFsdWVQYWlySW50ZXJmYWNlLFxufSBmcm9tICcuL2NvbW1vbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIE1vZGVsSW50ZXJmYWNlLFxufSBmcm9tICcuL21vZGVsLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQXNzaXN0YW50SW50ZXJmYWNlLFxuICAgIEFzc2lzdGFudEtleUludGVyZmFjZSxcbiAgICBDb25maWdJbnRlcmZhY2UsXG4gICAgQ29uZmlndXJhYmxlR29hbEludGVyZmFjZSxcbiAgICBEZWVwZ3JhbUNvbmZpZ0ludGVyZmFjZSxcbiAgICBFbGV2ZW5MYWJzQ29uZmlnSW50ZXJmYWNlLFxuICAgIENvbmZpZ0luYm94Q29uZmlnSW50ZXJmYWNlLFxuICAgIE1vZGVsQ29uZmlnSW50ZXJmYWNlLFxuICAgIE9wZW5BSUNvbmZpZ0ludGVyZmFjZSxcbiAgICBPcGVuQUlSZWFsdGltZUNvbmZpZ0ludGVyZmFjZSxcbiAgICBUZW1wbGF0ZVZhcmlhYmxlSW50ZXJmYWNlLFxuICAgIE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbkludGVyZmFjZSxcbiAgICBWYWxpZGF0b3JJbnRlcmZhY2UsXG4gICAgQ29uZmlnVm9pY2VDb25maWdJbnRlcmZhY2UsXG59IGZyb20gJy4vYXNzaXN0YW50LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ29ubmVjdGlvbkludGVyZmFjZSxcbiAgICBDb25uZWN0aW9uS2V5SW50ZXJmYWNlLFxufSBmcm9tICcuL2Nvbm5lY3Rpb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2JJbnRlcmZhY2UsXG4gICAgQ2hhdEFuc3dlckZ1bmN0aW9uRXhlY3V0aW9uSm9iUmVzdWx0SW50ZXJmYWNlLFxuICAgIENoYXRDb250ZW50SW50ZXJmYWNlLFxuICAgIENoYXRNZXNzYWdlSW50ZXJmYWNlLFxuICAgIENoYXRVc2VySW5mb0ludGVyZmFjZSxcbiAgICBDb250ZXh0SW5mb0ludGVyZmFjZSxcbiAgICBJbWFnZUNvbnRlbnRJbnRlcmZhY2UsXG59IGZyb20gJy4vYW5zd2VyLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ2FuY2VsVGVzdFJ1blJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVGVzdFJlc3VsdENpdGF0aW9uSW50ZXJmYWNlLFxuICAgIERlbGV0ZVRlc3RDYXNlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0VGVzdFJ1blJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0VGVzdFJ1blJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RUZXN0Q2FzZXNCeUFzc2lzdGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFRlc3RDYXNlc0J5QXNzaXN0YW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFRlc3RSdW5zQnlBc3Npc3RhbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RUZXN0UnVuc0J5QXNzaXN0YW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUnVuVGVzdHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFJ1blRlc3RzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgU29ydE9wdGlvbnNJbnRlcmZhY2UsXG4gICAgVGVzdENhc2VJbnRlcmZhY2UsXG4gICAgVGVzdFJlc3VsdEludGVyZmFjZSxcbiAgICBUZXN0UnVuSW50ZXJmYWNlLFxuICAgIFVwc2VydFRlc3RDYXNlc1JlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZWdyYXRpb24tdGVzdHMuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBBY2Nlc3NJbnRlcmZhY2UsXG4gICAgTUNQT3B0aW9uc0ludGVyZmFjZSxcbn0gZnJvbSAnLi9hbm5vdGF0aW9ucy5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEZpZWxkTWFza0ludGVyZmFjZSxcbn0gZnJvbSAnLi9maWVsZC1tYXNrLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQnVpbGREZWZhdWx0QXNzaXN0YW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBCdWlsZERlZmF1bHRBc3Npc3RhbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBTZXRBc3Npc3RhbnRDb25uZWN0aW9uc1JlcXVlc3RDb25uZWN0aW9uU3RhdGVJbnRlcmZhY2UsXG4gICAgQ3JlYXRlQXNzaXN0YW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVBc3Npc3RhbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBDcmVhdGVHb2FsUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVHb2FsUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZSxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBEZWxldGVBc3Npc3RhbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZUNvbm5lY3Rpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZUZ1bmN0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBEZWxldGVHb2FsUmVxdWVzdEludGVyZmFjZSxcbiAgICBEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlcGxveVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRXhlY3V0ZUZ1bmN0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBFeGVjdXRlRnVuY3Rpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0R29hbHNSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0QXNzaXN0YW50UmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdEZ1bmN0aW9uUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdEF2YWlsYWJsZU1vZGVsc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIExpc3RBbGxBc3Npc3RhbnRzQXNzb2NpYXRlZFRvQ29ubmVjdGlvblJlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICBMaXN0Q29ubmVjdGlvbnNSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICBHZW5lcmF0ZUNoYXRBbnN3ZXJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdlbmVyYXRlQ2hhdEFuc3dlclJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldEFzc2lzdGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0QXNzaXN0YW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0Q2hhdEFuc3dlckZ1bmN0aW9uRXhlY3V0aW9uSm9iUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2JSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRDb25uZWN0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRDb25uZWN0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRGdW5jdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0RnVuY3Rpb25SZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRHb2FsUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRHb2FsUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlBc3Npc3RhbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpQXNzaXN0YW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlGdW5jdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlGdW5jdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldE11bHRpR29hbFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlHb2FsUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UHJvbXB0TW9kdWxlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdvYWxzRGlzYWJsZWRGb3JBY2NvdW50R3JvdXBSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdvYWxzRGlzYWJsZWRGb3JBY2NvdW50R3JvdXBSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0QWxsQXNzaXN0YW50c0Fzc29jaWF0ZWRUb0Nvbm5lY3Rpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RBbGxBc3Npc3RhbnRzQXNzb2NpYXRlZFRvQ29ubmVjdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RBc3Npc3RhbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RBc3Npc3RhbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0QXZhaWxhYmxlTW9kZWxzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0QXZhaWxhYmxlTW9kZWxzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdENvbm5lY3Rpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0Q29ubmVjdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0RnVuY3Rpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RGdW5jdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RHb2Fsc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdEdvYWxzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFRlbXBsYXRlVmFyaWFibGVzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0VGVtcGxhdGVWYXJpYWJsZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZW5lcmF0ZUNoYXRBbnN3ZXJSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSxcbiAgICBHZXRNdWx0aUFzc2lzdGFudFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlLFxuICAgIFVwc2VydEFzc2lzdGFudFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlLFxuICAgIEdldEFzc2lzdGFudFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlLFxuICAgIENyZWF0ZUFzc2lzdGFudFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlLFxuICAgIEV4ZWN1dGVGdW5jdGlvblJlcXVlc3RPcHRpb25zSW50ZXJmYWNlLFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSxcbiAgICBTZXRBc3Npc3RhbnRDb25uZWN0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2V0Q29ubmVjdGlvbkFzc2lzdGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdEdvYWxzUmVxdWVzdFNvcnRPcHRpb25zSW50ZXJmYWNlLFxuICAgIFVwZGF0ZUFzc2lzdGFudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBkYXRlR29hbFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcHNlcnRBc3Npc3RhbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwc2VydEFzc2lzdGFudFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFVwc2VydENvbm5lY3Rpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwc2VydEZ1bmN0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcHNlcnRHb2FsUmVxdWVzdEludGVyZmFjZSxcbiAgICBWYWxpZGF0ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZSxcbiAgICBWYWxpZGF0ZVByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBWYWxpZGF0ZVByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVzUmVxdWVzdEludGVyZmFjZSxcbiAgICBWYWxpZGF0ZVByb21wdE1vZHVsZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICBWYWxpZGF0ZVByb21wdE1vZHVsZXNSZXNwb25zZVZhbGlkYXRpb25SZXN1bHRJbnRlcmZhY2UsXG4gICAgVmFsaWRhdGVQcm9tcHRNb2R1bGVWZXJzaW9uc1Jlc3BvbnNlVmFsaWRhdGlvblJlc3VsdEludGVyZmFjZSxcbiAgICBWYWxpZGF0aW9uUmVzdWx0SW50ZXJmYWNlLFxuICAgIFZhbGlkYXRpb25WaW9sYXRpb25JbnRlcmZhY2UsXG59IGZyb20gJy4vYXBpLmludGVyZmFjZSc7XG5cbiJdfQ==
|
|
@@ -25,6 +25,12 @@ export class Assistant {
|
|
|
25
25
|
if (proto.configurableGoals) {
|
|
26
26
|
m.configurableGoals = proto.configurableGoals.map(ConfigurableGoal.fromProto);
|
|
27
27
|
}
|
|
28
|
+
if (proto.inputValidators) {
|
|
29
|
+
m.inputValidators = proto.inputValidators.map(Validator.fromProto);
|
|
30
|
+
}
|
|
31
|
+
if (proto.outputValidators) {
|
|
32
|
+
m.outputValidators = proto.outputValidators.map(Validator.fromProto);
|
|
33
|
+
}
|
|
28
34
|
return m;
|
|
29
35
|
}
|
|
30
36
|
constructor(kwargs) {
|
|
@@ -65,6 +71,12 @@ export class Assistant {
|
|
|
65
71
|
if (typeof this.description !== 'undefined') {
|
|
66
72
|
toReturn['description'] = this.description;
|
|
67
73
|
}
|
|
74
|
+
if (typeof this.inputValidators !== 'undefined' && this.inputValidators !== null) {
|
|
75
|
+
toReturn['inputValidators'] = 'toApiJson' in this.inputValidators ? this.inputValidators.toApiJson() : this.inputValidators;
|
|
76
|
+
}
|
|
77
|
+
if (typeof this.outputValidators !== 'undefined' && this.outputValidators !== null) {
|
|
78
|
+
toReturn['outputValidators'] = 'toApiJson' in this.outputValidators ? this.outputValidators.toApiJson() : this.outputValidators;
|
|
79
|
+
}
|
|
68
80
|
return toReturn;
|
|
69
81
|
}
|
|
70
82
|
}
|
|
@@ -360,6 +372,29 @@ export class OpenAIRealtimeConfigTurnDetection {
|
|
|
360
372
|
return toReturn;
|
|
361
373
|
}
|
|
362
374
|
}
|
|
375
|
+
export class Validator {
|
|
376
|
+
static fromProto(proto) {
|
|
377
|
+
let m = new Validator();
|
|
378
|
+
m = Object.assign(m, proto);
|
|
379
|
+
return m;
|
|
380
|
+
}
|
|
381
|
+
constructor(kwargs) {
|
|
382
|
+
if (!kwargs) {
|
|
383
|
+
return;
|
|
384
|
+
}
|
|
385
|
+
Object.assign(this, kwargs);
|
|
386
|
+
}
|
|
387
|
+
toApiJson() {
|
|
388
|
+
const toReturn = {};
|
|
389
|
+
if (typeof this.name !== 'undefined') {
|
|
390
|
+
toReturn['name'] = this.name;
|
|
391
|
+
}
|
|
392
|
+
if (typeof this.config !== 'undefined') {
|
|
393
|
+
toReturn['config'] = this.config;
|
|
394
|
+
}
|
|
395
|
+
return toReturn;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
363
398
|
export class ConfigVoiceConfig {
|
|
364
399
|
static fromProto(proto) {
|
|
365
400
|
let m = new ConfigVoiceConfig();
|
|
@@ -386,7 +421,10 @@ export class ConfigVoiceConfig {
|
|
|
386
421
|
if (typeof this.modelConfig !== 'undefined' && this.modelConfig !== null) {
|
|
387
422
|
toReturn['modelConfig'] = 'toApiJson' in this.modelConfig ? this.modelConfig.toApiJson() : this.modelConfig;
|
|
388
423
|
}
|
|
424
|
+
if (typeof this.preGreetingMessage !== 'undefined') {
|
|
425
|
+
toReturn['preGreetingMessage'] = this.preGreetingMessage;
|
|
426
|
+
}
|
|
389
427
|
return toReturn;
|
|
390
428
|
}
|
|
391
429
|
}
|
|
392
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaXN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYWlfYXNzaXN0YW50c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9hc3Npc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEtBQUssQ0FBQyxNQUFNLFVBQVUsQ0FBQztBQUU5QixNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sU0FBUztJQVlsQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUN4QixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUFDO1FBQzFFLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtZQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQWtCLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQUM7UUFDM0YsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUFDO1FBQzlELElBQUksS0FBSyxDQUFDLGlCQUFpQixFQUFFO1lBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FBQztRQUM3RyxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQTZCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQUM7UUFDL0QsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsU0FBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUFDO1FBQ3JMLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQUM7UUFDckUsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FBQztRQUNyRSxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUFDO1FBQ3BGLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLE1BQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUFDO1FBQ25LLElBQUksT0FBTyxJQUFJLENBQUMsaUJBQWlCLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsaUJBQXlCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztTQUFDO1FBQ3JPLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQUM7UUFDM0UsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FBQztRQUNyRSxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUFDO1FBQzFGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBSXJCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQUM7UUFDMUUsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUFnQztRQUN4QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUFDO1FBQy9ELElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFNBQWlCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7U0FBQztRQUNyTCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sTUFBTTtJQUtmLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFBQyxDQUFDLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7U0FBQztRQUN4RixJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFBQyxDQUFDLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7U0FBQztRQUN4RixJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUFDO1FBQ2pFLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksTUFBMEI7UUFDbEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsV0FBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUFDO1FBQ2pNLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFdBQW1CLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7U0FBQztRQUNqTSxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxNQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FBQztRQUNuSyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSXpCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDL0IsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtZQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FBQztRQUN0RCxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFBQyxDQUFDLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUFDO1FBQzdGLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksTUFBb0M7UUFDNUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsSUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQUM7UUFDdkosSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsYUFBcUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUFDO1FBQzdNLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxjQUFjO0lBR3ZCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQzdCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQWtDO1FBQzFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQUM7UUFDeEUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQUd6QixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBQy9CLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQW9DO1FBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQUM7UUFDeEUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtJQUkxQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQXFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsa0JBQWtCLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQUM7UUFDL0csSUFBSSxPQUFPLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7U0FBQztRQUMzSCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sV0FBVztJQU1wQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUMxQixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsb0JBQW9CLEVBQUU7WUFBQyxDQUFDLENBQUMsb0JBQW9CLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQUM7UUFDdEgsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFO1lBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUFDO1FBQzlGLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFO1lBQUMsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUFDO1FBQ3RHLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtZQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7U0FBQztRQUN0RixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQStCO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsb0JBQW9CLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsb0JBQTRCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztTQUFDO1FBQ3ZQLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsY0FBc0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUFDO1FBQ25OLElBQUksT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsZ0JBQXdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUFDO1FBQy9OLElBQUksT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFlBQW9CLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7U0FBQztRQUN2TSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQUdyQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUFnQztRQUN4QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUFDO1FBQ3hFLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxvQkFBb0I7SUFJN0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUNuQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFO1lBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxpQ0FBaUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQUM7UUFDOUcsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUF3QztRQUNoRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUFDO1FBQ3hFLElBQUksT0FBTyxJQUFJLENBQUMsYUFBYSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLGFBQXFCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7U0FBQztRQUM3TSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0lBS3pCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDL0IsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksTUFBb0M7UUFDNUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7U0FBQztRQUNsRSxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUFDO1FBQ3hFLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQUM7UUFDMUYsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGlDQUFpQztJQUsxQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxpQ0FBaUMsRUFBRSxDQUFDO1FBQ2hELENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQXFEO1FBQzdELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQUM7UUFDcEYsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FBQztRQUNoRyxJQUFJLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1NBQUM7UUFDdEcsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtJQUkxQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFBQyxDQUFDLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFnQixDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUFDO1FBQzVHLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7U0FBQztRQUNsRixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQXFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQUM7UUFDMUYsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsV0FBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUFDO1FBQ2pNLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdvYWwgfSBmcm9tICcuL2dvYWwnO1xuaW1wb3J0IHsgS2V5VmFsdWVQYWlyIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tICcuL21vZGVsJztcbmltcG9ydCB7IE5hbWVzcGFjZSB9IGZyb20gJy4vbmFtZXNwYWNlJztcbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIEFzc2lzdGFudCBpbXBsZW1lbnRzIGkuQXNzaXN0YW50SW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogTmFtZXNwYWNlO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiBlLkFzc2lzdGFudFR5cGU7XG4gICAgYXZhdGFyVXJsOiBzdHJpbmc7XG4gICAgY29uZmlnOiBDb25maWc7XG4gICAgY29uZmlndXJhYmxlR29hbHM6IENvbmZpZ3VyYWJsZUdvYWxbXTtcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICByb2xlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFzc2lzdGFudCB7XG4gICAgICAgIGxldCBtID0gbmV3IEFzc2lzdGFudCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIGlmIChwcm90by50eXBlKSB7bS50eXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5Bc3Npc3RhbnRUeXBlPihlLkFzc2lzdGFudFR5cGUsIHByb3RvLnR5cGUpO31cbiAgICAgICAgaWYgKHByb3RvLmNvbmZpZykge20uY29uZmlnID0gQ29uZmlnLmZyb21Qcm90byhwcm90by5jb25maWcpO31cbiAgICAgICAgaWYgKHByb3RvLmNvbmZpZ3VyYWJsZUdvYWxzKSB7bS5jb25maWd1cmFibGVHb2FscyA9IHByb3RvLmNvbmZpZ3VyYWJsZUdvYWxzLm1hcChDb25maWd1cmFibGVHb2FsLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkFzc2lzdGFudEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2UgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubmFtZXNwYWNlICE9PSBudWxsKSB7dG9SZXR1cm5bJ25hbWVzcGFjZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5uYW1lc3BhY2UgPyAodGhpcy5uYW1lc3BhY2UgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubmFtZXNwYWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25hbWUnXSA9IHRoaXMubmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50eXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0eXBlJ10gPSB0aGlzLnR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXZhdGFyVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdmF0YXJVcmwnXSA9IHRoaXMuYXZhdGFyVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jb25maWcgIT09IG51bGwpIHt0b1JldHVyblsnY29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNvbmZpZyA/ICh0aGlzLmNvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jb25maWc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlndXJhYmxlR29hbHMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY29uZmlndXJhYmxlR29hbHMgIT09IG51bGwpIHt0b1JldHVyblsnY29uZmlndXJhYmxlR29hbHMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY29uZmlndXJhYmxlR29hbHMgPyAodGhpcy5jb25maWd1cmFibGVHb2FscyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jb25maWd1cmFibGVHb2Fsczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZXJJZCddID0gdGhpcy51c2VySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucm9sZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncm9sZSddID0gdGhpcy5yb2xlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc2NyaXB0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkZXNjcmlwdGlvbiddID0gdGhpcy5kZXNjcmlwdGlvbjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBc3Npc3RhbnRLZXkgaW1wbGVtZW50cyBpLkFzc2lzdGFudEtleUludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IE5hbWVzcGFjZTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFzc2lzdGFudEtleSB7XG4gICAgICAgIGxldCBtID0gbmV3IEFzc2lzdGFudEtleSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXNzaXN0YW50S2V5SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlnIGltcGxlbWVudHMgaS5Db25maWdJbnRlcmZhY2Uge1xuICAgIGluYm94Q29uZmlnOiBDb25maWdJbmJveENvbmZpZztcbiAgICB2b2ljZUNvbmZpZzogQ29uZmlnVm9pY2VDb25maWc7XG4gICAgbW9kZWxzOiBNb2RlbFtdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmluYm94Q29uZmlnKSB7bS5pbmJveENvbmZpZyA9IENvbmZpZ0luYm94Q29uZmlnLmZyb21Qcm90byhwcm90by5pbmJveENvbmZpZyk7fVxuICAgICAgICBpZiAocHJvdG8udm9pY2VDb25maWcpIHttLnZvaWNlQ29uZmlnID0gQ29uZmlnVm9pY2VDb25maWcuZnJvbVByb3RvKHByb3RvLnZvaWNlQ29uZmlnKTt9XG4gICAgICAgIGlmIChwcm90by5tb2RlbHMpIHttLm1vZGVscyA9IHByb3RvLm1vZGVscy5tYXAoTW9kZWwuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW5ib3hDb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuaW5ib3hDb25maWcgIT09IG51bGwpIHt0b1JldHVyblsnaW5ib3hDb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuaW5ib3hDb25maWcgPyAodGhpcy5pbmJveENvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5pbmJveENvbmZpZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52b2ljZUNvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy52b2ljZUNvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWyd2b2ljZUNvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy52b2ljZUNvbmZpZyA/ICh0aGlzLnZvaWNlQ29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnZvaWNlQ29uZmlnO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1vZGVscyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5tb2RlbHMgIT09IG51bGwpIHt0b1JldHVyblsnbW9kZWxzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm1vZGVscyA/ICh0aGlzLm1vZGVscyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5tb2RlbHM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhYmxlR29hbCBpbXBsZW1lbnRzIGkuQ29uZmlndXJhYmxlR29hbEludGVyZmFjZSB7XG4gICAgZ29hbDogR29hbDtcbiAgICBjb25maWd1cmF0aW9uOiBLZXlWYWx1ZVBhaXJbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENvbmZpZ3VyYWJsZUdvYWwge1xuICAgICAgICBsZXQgbSA9IG5ldyBDb25maWd1cmFibGVHb2FsKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmdvYWwpIHttLmdvYWwgPSBHb2FsLmZyb21Qcm90byhwcm90by5nb2FsKTt9XG4gICAgICAgIGlmIChwcm90by5jb25maWd1cmF0aW9uKSB7bS5jb25maWd1cmF0aW9uID0gcHJvdG8uY29uZmlndXJhdGlvbi5tYXAoS2V5VmFsdWVQYWlyLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNvbmZpZ3VyYWJsZUdvYWxJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5nb2FsICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmdvYWwgIT09IG51bGwpIHt0b1JldHVyblsnZ29hbCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5nb2FsID8gKHRoaXMuZ29hbCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5nb2FsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3VyYXRpb24gIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY29uZmlndXJhdGlvbiAhPT0gbnVsbCkge3RvUmV0dXJuWydjb25maWd1cmF0aW9uJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNvbmZpZ3VyYXRpb24gPyAodGhpcy5jb25maWd1cmF0aW9uIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNvbmZpZ3VyYXRpb247fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGVlcGdyYW1Db25maWcgaW1wbGVtZW50cyBpLkRlZXBncmFtQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2b2ljZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRGVlcGdyYW1Db25maWcge1xuICAgICAgICBsZXQgbSA9IG5ldyBEZWVwZ3JhbUNvbmZpZygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRGVlcGdyYW1Db25maWdJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52b2ljZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndm9pY2UnXSA9IHRoaXMudm9pY2U7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRWxldmVuTGFic0NvbmZpZyBpbXBsZW1lbnRzIGkuRWxldmVuTGFic0NvbmZpZ0ludGVyZmFjZSB7XG4gICAgdm9pY2U6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEVsZXZlbkxhYnNDb25maWcge1xuICAgICAgICBsZXQgbSA9IG5ldyBFbGV2ZW5MYWJzQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5FbGV2ZW5MYWJzQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudm9pY2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZvaWNlJ10gPSB0aGlzLnZvaWNlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbmZpZ0luYm94Q29uZmlnIGltcGxlbWVudHMgaS5Db25maWdJbmJveENvbmZpZ0ludGVyZmFjZSB7XG4gICAgbGVhZENhcHR1cmVFbmFibGVkOiBib29sZWFuO1xuICAgIGFkZGl0aW9uYWxJbnN0cnVjdGlvbnM6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENvbmZpZ0luYm94Q29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ29uZmlnSW5ib3hDb25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNvbmZpZ0luYm94Q29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubGVhZENhcHR1cmVFbmFibGVkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydsZWFkQ2FwdHVyZUVuYWJsZWQnXSA9IHRoaXMubGVhZENhcHR1cmVFbmFibGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFkZGl0aW9uYWxJbnN0cnVjdGlvbnMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FkZGl0aW9uYWxJbnN0cnVjdGlvbnMnXSA9IHRoaXMuYWRkaXRpb25hbEluc3RydWN0aW9uczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNb2RlbENvbmZpZyBpbXBsZW1lbnRzIGkuTW9kZWxDb25maWdJbnRlcmZhY2Uge1xuICAgIG9wZW5haVJlYWx0aW1lQ29uZmlnOiBPcGVuQUlSZWFsdGltZUNvbmZpZztcbiAgICBkZWVwZ3JhbUNvbmZpZzogRGVlcGdyYW1Db25maWc7XG4gICAgZWxldmVuTGFic0NvbmZpZzogRWxldmVuTGFic0NvbmZpZztcbiAgICBvcGVuYWlDb25maWc6IE9wZW5BSUNvbmZpZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IE1vZGVsQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTW9kZWxDb25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ub3BlbmFpUmVhbHRpbWVDb25maWcpIHttLm9wZW5haVJlYWx0aW1lQ29uZmlnID0gT3BlbkFJUmVhbHRpbWVDb25maWcuZnJvbVByb3RvKHByb3RvLm9wZW5haVJlYWx0aW1lQ29uZmlnKTt9XG4gICAgICAgIGlmIChwcm90by5kZWVwZ3JhbUNvbmZpZykge20uZGVlcGdyYW1Db25maWcgPSBEZWVwZ3JhbUNvbmZpZy5mcm9tUHJvdG8ocHJvdG8uZGVlcGdyYW1Db25maWcpO31cbiAgICAgICAgaWYgKHByb3RvLmVsZXZlbkxhYnNDb25maWcpIHttLmVsZXZlbkxhYnNDb25maWcgPSBFbGV2ZW5MYWJzQ29uZmlnLmZyb21Qcm90byhwcm90by5lbGV2ZW5MYWJzQ29uZmlnKTt9XG4gICAgICAgIGlmIChwcm90by5vcGVuYWlDb25maWcpIHttLm9wZW5haUNvbmZpZyA9IE9wZW5BSUNvbmZpZy5mcm9tUHJvdG8ocHJvdG8ub3BlbmFpQ29uZmlnKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTW9kZWxDb25maWdJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWydvcGVuYWlSZWFsdGltZUNvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZyA/ICh0aGlzLm9wZW5haVJlYWx0aW1lQ29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm9wZW5haVJlYWx0aW1lQ29uZmlnO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlZXBncmFtQ29uZmlnICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmRlZXBncmFtQ29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ2RlZXBncmFtQ29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmRlZXBncmFtQ29uZmlnID8gKHRoaXMuZGVlcGdyYW1Db25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZGVlcGdyYW1Db25maWc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZWxldmVuTGFic0NvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5lbGV2ZW5MYWJzQ29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ2VsZXZlbkxhYnNDb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZWxldmVuTGFic0NvbmZpZyA/ICh0aGlzLmVsZXZlbkxhYnNDb25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZWxldmVuTGFic0NvbmZpZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vcGVuYWlDb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMub3BlbmFpQ29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ29wZW5haUNvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5vcGVuYWlDb25maWcgPyAodGhpcy5vcGVuYWlDb25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMub3BlbmFpQ29uZmlnO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wZW5BSUNvbmZpZyBpbXBsZW1lbnRzIGkuT3BlbkFJQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2b2ljZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogT3BlbkFJQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgT3BlbkFJQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5PcGVuQUlDb25maWdJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52b2ljZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndm9pY2UnXSA9IHRoaXMudm9pY2U7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3BlbkFJUmVhbHRpbWVDb25maWcgaW1wbGVtZW50cyBpLk9wZW5BSVJlYWx0aW1lQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2b2ljZTogc3RyaW5nO1xuICAgIHR1cm5EZXRlY3Rpb246IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IE9wZW5BSVJlYWx0aW1lQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgT3BlbkFJUmVhbHRpbWVDb25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udHVybkRldGVjdGlvbikge20udHVybkRldGVjdGlvbiA9IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbi5mcm9tUHJvdG8ocHJvdG8udHVybkRldGVjdGlvbik7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLk9wZW5BSVJlYWx0aW1lQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudm9pY2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZvaWNlJ10gPSB0aGlzLnZvaWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnR1cm5EZXRlY3Rpb24gIT09ICd1bmRlZmluZWQnICYmIHRoaXMudHVybkRldGVjdGlvbiAhPT0gbnVsbCkge3RvUmV0dXJuWyd0dXJuRGV0ZWN0aW9uJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnR1cm5EZXRlY3Rpb24gPyAodGhpcy50dXJuRGV0ZWN0aW9uIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnR1cm5EZXRlY3Rpb247fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVWYXJpYWJsZSBpbXBsZW1lbnRzIGkuVGVtcGxhdGVWYXJpYWJsZUludGVyZmFjZSB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVGVtcGxhdGVWYXJpYWJsZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFRlbXBsYXRlVmFyaWFibGUoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRlbXBsYXRlVmFyaWFibGVJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5rZXkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2tleSddID0gdGhpcy5rZXk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZhbHVlJ10gPSB0aGlzLnZhbHVlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc2NyaXB0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkZXNjcmlwdGlvbiddID0gdGhpcy5kZXNjcmlwdGlvbjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBPcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb24gaW1wbGVtZW50cyBpLk9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbkludGVyZmFjZSB7XG4gICAgdGhyZXNob2xkOiBudW1iZXI7XG4gICAgcHJlZml4UGFkZGluZzogbnVtYmVyO1xuICAgIHNpbGVuY2VEdXJhdGlvbjogbnVtYmVyO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5PcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb25JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50aHJlc2hvbGQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RocmVzaG9sZCddID0gdGhpcy50aHJlc2hvbGQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJlZml4UGFkZGluZyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncHJlZml4UGFkZGluZyddID0gdGhpcy5wcmVmaXhQYWRkaW5nO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNpbGVuY2VEdXJhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc2lsZW5jZUR1cmF0aW9uJ10gPSB0aGlzLnNpbGVuY2VEdXJhdGlvbjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25maWdWb2ljZUNvbmZpZyBpbXBsZW1lbnRzIGkuQ29uZmlnVm9pY2VDb25maWdJbnRlcmZhY2Uge1xuICAgIHZlbmRvck1vZGVsOiBlLlZlbmRvck1vZGVsO1xuICAgIG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENvbmZpZ1ZvaWNlQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ29uZmlnVm9pY2VDb25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udmVuZG9yTW9kZWwpIHttLnZlbmRvck1vZGVsID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5WZW5kb3JNb2RlbD4oZS5WZW5kb3JNb2RlbCwgcHJvdG8udmVuZG9yTW9kZWwpO31cbiAgICAgICAgaWYgKHByb3RvLm1vZGVsQ29uZmlnKSB7bS5tb2RlbENvbmZpZyA9IE1vZGVsQ29uZmlnLmZyb21Qcm90byhwcm90by5tb2RlbENvbmZpZyk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNvbmZpZ1ZvaWNlQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmVuZG9yTW9kZWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZlbmRvck1vZGVsJ10gPSB0aGlzLnZlbmRvck1vZGVsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1vZGVsQ29uZmlnICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm1vZGVsQ29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ21vZGVsQ29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm1vZGVsQ29uZmlnID8gKHRoaXMubW9kZWxDb25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubW9kZWxDb25maWc7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=
|
|
430
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaXN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYWlfYXNzaXN0YW50c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9hc3Npc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEtBQUssQ0FBQyxNQUFNLFVBQVUsQ0FBQztBQUU5QixNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sU0FBUztJQWNsQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUN4QixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUFDO1FBQzFFLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtZQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQWtCLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQUM7UUFDM0YsSUFB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QyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksTUFBcUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FBQztRQUMxRixJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUU7WUFBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxXQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQUM7UUFDak0sSUFBSSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7U0FBQztRQUMvRyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBHb2FsIH0gZnJvbSAnLi9nb2FsJztcbmltcG9ydCB7IEtleVZhbHVlUGFpciB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSAnLi9tb2RlbCc7XG5pbXBvcnQgeyBOYW1lc3BhY2UgfSBmcm9tICcuL25hbWVzcGFjZSc7XG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1TdHJpbmdUb1ZhbHVlPEU+KGVudW1SZWY6IGFueSwgdmFsdWU6IHN0cmluZyk6IEUge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZW51bVJlZlt2YWx1ZV07XG59XG5cbmV4cG9ydCBjbGFzcyBBc3Npc3RhbnQgaW1wbGVtZW50cyBpLkFzc2lzdGFudEludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IE5hbWVzcGFjZTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogZS5Bc3Npc3RhbnRUeXBlO1xuICAgIGF2YXRhclVybDogc3RyaW5nO1xuICAgIGNvbmZpZzogQ29uZmlnO1xuICAgIGNvbmZpZ3VyYWJsZUdvYWxzOiBDb25maWd1cmFibGVHb2FsW107XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgcm9sZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgaW5wdXRWYWxpZGF0b3JzOiBWYWxpZGF0b3JbXTtcbiAgICBvdXRwdXRWYWxpZGF0b3JzOiBWYWxpZGF0b3JbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFzc2lzdGFudCB7XG4gICAgICAgIGxldCBtID0gbmV3IEFzc2lzdGFudCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIGlmIChwcm90by50eXBlKSB7bS50eXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5Bc3Npc3RhbnRUeXBlPihlLkFzc2lzdGFudFR5cGUsIHByb3RvLnR5cGUpO31cbiAgICAgICAgaWYgKHByb3RvLmNvbmZpZykge20uY29uZmlnID0gQ29uZmlnLmZyb21Qcm90byhwcm90by5jb25maWcpO31cbiAgICAgICAgaWYgKHByb3RvLmNvbmZpZ3VyYWJsZUdvYWxzKSB7bS5jb25maWd1cmFibGVHb2FscyA9IHByb3RvLmNvbmZpZ3VyYWJsZUdvYWxzLm1hcChDb25maWd1cmFibGVHb2FsLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8uaW5wdXRWYWxpZGF0b3JzKSB7bS5pbnB1dFZhbGlkYXRvcnMgPSBwcm90by5pbnB1dFZhbGlkYXRvcnMubWFwKFZhbGlkYXRvci5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLm91dHB1dFZhbGlkYXRvcnMpIHttLm91dHB1dFZhbGlkYXRvcnMgPSBwcm90by5vdXRwdXRWYWxpZGF0b3JzLm1hcChWYWxpZGF0b3IuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXNzaXN0YW50SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbmFtZSddID0gdGhpcy5uYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3R5cGUnXSA9IHRoaXMudHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdmF0YXJVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F2YXRhclVybCddID0gdGhpcy5hdmF0YXJVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWydjb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY29uZmlnID8gKHRoaXMuY29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNvbmZpZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWd1cmFibGVHb2FscyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jb25maWd1cmFibGVHb2FscyAhPT0gbnVsbCkge3RvUmV0dXJuWydjb25maWd1cmFibGVHb2FscyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jb25maWd1cmFibGVHb2FscyA/ICh0aGlzLmNvbmZpZ3VyYWJsZUdvYWxzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNvbmZpZ3VyYWJsZUdvYWxzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVzZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndXNlcklkJ10gPSB0aGlzLnVzZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yb2xlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydyb2xlJ10gPSB0aGlzLnJvbGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVzY3JpcHRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rlc2NyaXB0aW9uJ10gPSB0aGlzLmRlc2NyaXB0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlucHV0VmFsaWRhdG9ycyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5pbnB1dFZhbGlkYXRvcnMgIT09IG51bGwpIHt0b1JldHVyblsnaW5wdXRWYWxpZGF0b3JzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmlucHV0VmFsaWRhdG9ycyA/ICh0aGlzLmlucHV0VmFsaWRhdG9ycyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5pbnB1dFZhbGlkYXRvcnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMub3V0cHV0VmFsaWRhdG9ycyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5vdXRwdXRWYWxpZGF0b3JzICE9PSBudWxsKSB7dG9SZXR1cm5bJ291dHB1dFZhbGlkYXRvcnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMub3V0cHV0VmFsaWRhdG9ycyA/ICh0aGlzLm91dHB1dFZhbGlkYXRvcnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMub3V0cHV0VmFsaWRhdG9yczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBc3Npc3RhbnRLZXkgaW1wbGVtZW50cyBpLkFzc2lzdGFudEtleUludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IE5hbWVzcGFjZTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFzc2lzdGFudEtleSB7XG4gICAgICAgIGxldCBtID0gbmV3IEFzc2lzdGFudEtleSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXNzaXN0YW50S2V5SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlnIGltcGxlbWVudHMgaS5Db25maWdJbnRlcmZhY2Uge1xuICAgIGluYm94Q29uZmlnOiBDb25maWdJbmJveENvbmZpZztcbiAgICB2b2ljZUNvbmZpZzogQ29uZmlnVm9pY2VDb25maWc7XG4gICAgbW9kZWxzOiBNb2RlbFtdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmluYm94Q29uZmlnKSB7bS5pbmJveENvbmZpZyA9IENvbmZpZ0luYm94Q29uZmlnLmZyb21Qcm90byhwcm90by5pbmJveENvbmZpZyk7fVxuICAgICAgICBpZiAocHJvdG8udm9pY2VDb25maWcpIHttLnZvaWNlQ29uZmlnID0gQ29uZmlnVm9pY2VDb25maWcuZnJvbVByb3RvKHByb3RvLnZvaWNlQ29uZmlnKTt9XG4gICAgICAgIGlmIChwcm90by5tb2RlbHMpIHttLm1vZGVscyA9IHByb3RvLm1vZGVscy5tYXAoTW9kZWwuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW5ib3hDb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuaW5ib3hDb25maWcgIT09IG51bGwpIHt0b1JldHVyblsnaW5ib3hDb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuaW5ib3hDb25maWcgPyAodGhpcy5pbmJveENvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5pbmJveENvbmZpZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52b2ljZUNvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy52b2ljZUNvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWyd2b2ljZUNvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy52b2ljZUNvbmZpZyA/ICh0aGlzLnZvaWNlQ29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnZvaWNlQ29uZmlnO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1vZGVscyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5tb2RlbHMgIT09IG51bGwpIHt0b1JldHVyblsnbW9kZWxzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm1vZGVscyA/ICh0aGlzLm1vZGVscyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5tb2RlbHM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhYmxlR29hbCBpbXBsZW1lbnRzIGkuQ29uZmlndXJhYmxlR29hbEludGVyZmFjZSB7XG4gICAgZ29hbDogR29hbDtcbiAgICBjb25maWd1cmF0aW9uOiBLZXlWYWx1ZVBhaXJbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENvbmZpZ3VyYWJsZUdvYWwge1xuICAgICAgICBsZXQgbSA9IG5ldyBDb25maWd1cmFibGVHb2FsKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmdvYWwpIHttLmdvYWwgPSBHb2FsLmZyb21Qcm90byhwcm90by5nb2FsKTt9XG4gICAgICAgIGlmIChwcm90by5jb25maWd1cmF0aW9uKSB7bS5jb25maWd1cmF0aW9uID0gcHJvdG8uY29uZmlndXJhdGlvbi5tYXAoS2V5VmFsdWVQYWlyLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNvbmZpZ3VyYWJsZUdvYWxJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5nb2FsICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmdvYWwgIT09IG51bGwpIHt0b1JldHVyblsnZ29hbCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5nb2FsID8gKHRoaXMuZ29hbCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5nb2FsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZ3VyYXRpb24gIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY29uZmlndXJhdGlvbiAhPT0gbnVsbCkge3RvUmV0dXJuWydjb25maWd1cmF0aW9uJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNvbmZpZ3VyYXRpb24gPyAodGhpcy5jb25maWd1cmF0aW9uIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNvbmZpZ3VyYXRpb247fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGVlcGdyYW1Db25maWcgaW1wbGVtZW50cyBpLkRlZXBncmFtQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2b2ljZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRGVlcGdyYW1Db25maWcge1xuICAgICAgICBsZXQgbSA9IG5ldyBEZWVwZ3JhbUNvbmZpZygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRGVlcGdyYW1Db25maWdJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52b2ljZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndm9pY2UnXSA9IHRoaXMudm9pY2U7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRWxldmVuTGFic0NvbmZpZyBpbXBsZW1lbnRzIGkuRWxldmVuTGFic0NvbmZpZ0ludGVyZmFjZSB7XG4gICAgdm9pY2U6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEVsZXZlbkxhYnNDb25maWcge1xuICAgICAgICBsZXQgbSA9IG5ldyBFbGV2ZW5MYWJzQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5FbGV2ZW5MYWJzQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudm9pY2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZvaWNlJ10gPSB0aGlzLnZvaWNlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbmZpZ0luYm94Q29uZmlnIGltcGxlbWVudHMgaS5Db25maWdJbmJveENvbmZpZ0ludGVyZmFjZSB7XG4gICAgbGVhZENhcHR1cmVFbmFibGVkOiBib29sZWFuO1xuICAgIGFkZGl0aW9uYWxJbnN0cnVjdGlvbnM6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENvbmZpZ0luYm94Q29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ29uZmlnSW5ib3hDb25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNvbmZpZ0luYm94Q29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubGVhZENhcHR1cmVFbmFibGVkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydsZWFkQ2FwdHVyZUVuYWJsZWQnXSA9IHRoaXMubGVhZENhcHR1cmVFbmFibGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFkZGl0aW9uYWxJbnN0cnVjdGlvbnMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FkZGl0aW9uYWxJbnN0cnVjdGlvbnMnXSA9IHRoaXMuYWRkaXRpb25hbEluc3RydWN0aW9uczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNb2RlbENvbmZpZyBpbXBsZW1lbnRzIGkuTW9kZWxDb25maWdJbnRlcmZhY2Uge1xuICAgIG9wZW5haVJlYWx0aW1lQ29uZmlnOiBPcGVuQUlSZWFsdGltZUNvbmZpZztcbiAgICBkZWVwZ3JhbUNvbmZpZzogRGVlcGdyYW1Db25maWc7XG4gICAgZWxldmVuTGFic0NvbmZpZzogRWxldmVuTGFic0NvbmZpZztcbiAgICBvcGVuYWlDb25maWc6IE9wZW5BSUNvbmZpZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IE1vZGVsQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTW9kZWxDb25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ub3BlbmFpUmVhbHRpbWVDb25maWcpIHttLm9wZW5haVJlYWx0aW1lQ29uZmlnID0gT3BlbkFJUmVhbHRpbWVDb25maWcuZnJvbVByb3RvKHByb3RvLm9wZW5haVJlYWx0aW1lQ29uZmlnKTt9XG4gICAgICAgIGlmIChwcm90by5kZWVwZ3JhbUNvbmZpZykge20uZGVlcGdyYW1Db25maWcgPSBEZWVwZ3JhbUNvbmZpZy5mcm9tUHJvdG8ocHJvdG8uZGVlcGdyYW1Db25maWcpO31cbiAgICAgICAgaWYgKHByb3RvLmVsZXZlbkxhYnNDb25maWcpIHttLmVsZXZlbkxhYnNDb25maWcgPSBFbGV2ZW5MYWJzQ29uZmlnLmZyb21Qcm90byhwcm90by5lbGV2ZW5MYWJzQ29uZmlnKTt9XG4gICAgICAgIGlmIChwcm90by5vcGVuYWlDb25maWcpIHttLm9wZW5haUNvbmZpZyA9IE9wZW5BSUNvbmZpZy5mcm9tUHJvdG8ocHJvdG8ub3BlbmFpQ29uZmlnKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTW9kZWxDb25maWdJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWydvcGVuYWlSZWFsdGltZUNvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZyA/ICh0aGlzLm9wZW5haVJlYWx0aW1lQ29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm9wZW5haVJlYWx0aW1lQ29uZmlnO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlZXBncmFtQ29uZmlnICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmRlZXBncmFtQ29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ2RlZXBncmFtQ29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmRlZXBncmFtQ29uZmlnID8gKHRoaXMuZGVlcGdyYW1Db25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZGVlcGdyYW1Db25maWc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZWxldmVuTGFic0NvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5lbGV2ZW5MYWJzQ29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ2VsZXZlbkxhYnNDb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZWxldmVuTGFic0NvbmZpZyA/ICh0aGlzLmVsZXZlbkxhYnNDb25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZWxldmVuTGFic0NvbmZpZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vcGVuYWlDb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMub3BlbmFpQ29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ29wZW5haUNvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5vcGVuYWlDb25maWcgPyAodGhpcy5vcGVuYWlDb25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMub3BlbmFpQ29uZmlnO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wZW5BSUNvbmZpZyBpbXBsZW1lbnRzIGkuT3BlbkFJQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2b2ljZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogT3BlbkFJQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgT3BlbkFJQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5PcGVuQUlDb25maWdJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52b2ljZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndm9pY2UnXSA9IHRoaXMudm9pY2U7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3BlbkFJUmVhbHRpbWVDb25maWcgaW1wbGVtZW50cyBpLk9wZW5BSVJlYWx0aW1lQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2b2ljZTogc3RyaW5nO1xuICAgIHR1cm5EZXRlY3Rpb246IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IE9wZW5BSVJlYWx0aW1lQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgT3BlbkFJUmVhbHRpbWVDb25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udHVybkRldGVjdGlvbikge20udHVybkRldGVjdGlvbiA9IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbi5mcm9tUHJvdG8ocHJvdG8udHVybkRldGVjdGlvbik7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLk9wZW5BSVJlYWx0aW1lQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudm9pY2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZvaWNlJ10gPSB0aGlzLnZvaWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnR1cm5EZXRlY3Rpb24gIT09ICd1bmRlZmluZWQnICYmIHRoaXMudHVybkRldGVjdGlvbiAhPT0gbnVsbCkge3RvUmV0dXJuWyd0dXJuRGV0ZWN0aW9uJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnR1cm5EZXRlY3Rpb24gPyAodGhpcy50dXJuRGV0ZWN0aW9uIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnR1cm5EZXRlY3Rpb247fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVWYXJpYWJsZSBpbXBsZW1lbnRzIGkuVGVtcGxhdGVWYXJpYWJsZUludGVyZmFjZSB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVGVtcGxhdGVWYXJpYWJsZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFRlbXBsYXRlVmFyaWFibGUoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRlbXBsYXRlVmFyaWFibGVJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5rZXkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2tleSddID0gdGhpcy5rZXk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZhbHVlJ10gPSB0aGlzLnZhbHVlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc2NyaXB0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkZXNjcmlwdGlvbiddID0gdGhpcy5kZXNjcmlwdGlvbjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBPcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb24gaW1wbGVtZW50cyBpLk9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbkludGVyZmFjZSB7XG4gICAgdGhyZXNob2xkOiBudW1iZXI7XG4gICAgcHJlZml4UGFkZGluZzogbnVtYmVyO1xuICAgIHNpbGVuY2VEdXJhdGlvbjogbnVtYmVyO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5PcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb25JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50aHJlc2hvbGQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RocmVzaG9sZCddID0gdGhpcy50aHJlc2hvbGQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJlZml4UGFkZGluZyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncHJlZml4UGFkZGluZyddID0gdGhpcy5wcmVmaXhQYWRkaW5nO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNpbGVuY2VEdXJhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc2lsZW5jZUR1cmF0aW9uJ10gPSB0aGlzLnNpbGVuY2VEdXJhdGlvbjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBWYWxpZGF0b3IgaW1wbGVtZW50cyBpLlZhbGlkYXRvckludGVyZmFjZSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbmZpZzogYW55O1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVmFsaWRhdG9yIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgVmFsaWRhdG9yKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5WYWxpZGF0b3JJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduYW1lJ10gPSB0aGlzLm5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb25maWcnXSA9IHRoaXMuY29uZmlnO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbmZpZ1ZvaWNlQ29uZmlnIGltcGxlbWVudHMgaS5Db25maWdWb2ljZUNvbmZpZ0ludGVyZmFjZSB7XG4gICAgdmVuZG9yTW9kZWw6IGUuVmVuZG9yTW9kZWw7XG4gICAgbW9kZWxDb25maWc6IE1vZGVsQ29uZmlnO1xuICAgIHByZUdyZWV0aW5nTWVzc2FnZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ29uZmlnVm9pY2VDb25maWcge1xuICAgICAgICBsZXQgbSA9IG5ldyBDb25maWdWb2ljZUNvbmZpZygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by52ZW5kb3JNb2RlbCkge20udmVuZG9yTW9kZWwgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlZlbmRvck1vZGVsPihlLlZlbmRvck1vZGVsLCBwcm90by52ZW5kb3JNb2RlbCk7fVxuICAgICAgICBpZiAocHJvdG8ubW9kZWxDb25maWcpIHttLm1vZGVsQ29uZmlnID0gTW9kZWxDb25maWcuZnJvbVByb3RvKHByb3RvLm1vZGVsQ29uZmlnKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ29uZmlnVm9pY2VDb25maWdJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52ZW5kb3JNb2RlbCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndmVuZG9yTW9kZWwnXSA9IHRoaXMudmVuZG9yTW9kZWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubW9kZWxDb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubW9kZWxDb25maWcgIT09IG51bGwpIHt0b1JldHVyblsnbW9kZWxDb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubW9kZWxDb25maWcgPyAodGhpcy5tb2RlbENvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5tb2RlbENvbmZpZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcmVHcmVldGluZ01lc3NhZ2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ByZUdyZWV0aW5nTWVzc2FnZSddID0gdGhpcy5wcmVHcmVldGluZ01lc3NhZ2U7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=
|