sonamu 0.7.19 → 0.7.20
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/dist/api/config.d.ts +2 -1
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +1 -1
- package/dist/bin/cli.js +3 -3
- package/dist/database/db.d.ts +2 -2
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +23 -30
- package/dist/template/implementations/services.template.d.ts.map +1 -1
- package/dist/template/implementations/services.template.js +4 -1
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +4 -4
- package/dist/ui-web/assets/{index-DFqVuxOB.js → index-B87IyofX.js} +1 -1
- package/dist/ui-web/index.html +1 -1
- package/package.json +2 -2
- package/src/api/config.ts +2 -1
- package/src/bin/cli.ts +2 -2
- package/src/database/db.ts +40 -43
- package/src/template/implementations/services.template.ts +3 -0
- package/src/testing/fixture-manager.ts +3 -4
package/dist/api/config.d.ts
CHANGED
|
@@ -36,7 +36,8 @@ export type SonamuConfig = {
|
|
|
36
36
|
development_slave?: DatabaseConfig;
|
|
37
37
|
production?: DatabaseConfig;
|
|
38
38
|
production_slave?: DatabaseConfig;
|
|
39
|
-
|
|
39
|
+
fixture?: DatabaseConfig;
|
|
40
|
+
test?: DatabaseConfig;
|
|
40
41
|
};
|
|
41
42
|
};
|
|
42
43
|
server: SonamuServerOptions;
|
package/dist/api/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/api/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACnG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG;IAC7D,UAAU,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,GAAG,EAAE;QACH,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YACL,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IAEF,QAAQ,EAAE;QAER,QAAQ,CAAC,EAAE,YAAY,CAAC;QAExB,IAAI,EAAE,MAAM,CAAC;QAEb,cAAc,EAAE,cAAc,CAAC;QAE/B,YAAY,CAAC,EAAE;YACb,WAAW,CAAC,EAAE,cAAc,CAAC;YAC7B,iBAAiB,CAAC,EAAE,cAAc,CAAC;YACnC,UAAU,CAAC,EAAE,cAAc,CAAC;YAC5B,gBAAgB,CAAC,EAAE,cAAc,CAAC;YAClC,cAAc,CAAC,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/api/config.ts"],"names":[],"mappings":"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"}
|
package/dist/api/config.js
CHANGED
|
@@ -26,4 +26,4 @@ export function defineConfig(config) {
|
|
|
26
26
|
return config;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvY29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmFzdGlmeUNvcnNPcHRpb25zIH0gZnJvbSBcIkBmYXN0aWZ5L2NvcnNcIjtcbmltcG9ydCB0eXBlIHsgRmFzdGlmeUZvcm1ib2R5T3B0aW9ucyB9IGZyb20gXCJAZmFzdGlmeS9mb3JtYm9keVwiO1xuaW1wb3J0IHR5cGUgeyBGYXN0aWZ5TXVsdGlwYXJ0T3B0aW9ucyB9IGZyb20gXCJAZmFzdGlmeS9tdWx0aXBhcnRcIjtcbmltcG9ydCB0eXBlIHsgRGVzZXJpYWxpemVGdW5jdGlvbiwgU2VyaWFsaXplRnVuY3Rpb24gfSBmcm9tIFwiQGZhc3RpZnkvcGFzc3BvcnQvZGlzdC9BdXRoZW50aWNhdG9yXCI7XG5pbXBvcnQgdHlwZSB7IFNlY3VyZVNlc3Npb25QbHVnaW5PcHRpb25zIH0gZnJvbSBcIkBmYXN0aWZ5L3NlY3VyZS1zZXNzaW9uXCI7XG5pbXBvcnQgdHlwZSB7IEZhc3RpZnlTdGF0aWNPcHRpb25zIH0gZnJvbSBcIkBmYXN0aWZ5L3N0YXRpY1wiO1xuaW1wb3J0IHR5cGUgeyBGYXN0aWZ5SW5zdGFuY2UsIEZhc3RpZnlSZXBseSwgRmFzdGlmeVJlcXVlc3QsIEZhc3RpZnlTZXJ2ZXJPcHRpb25zIH0gZnJvbSBcImZhc3RpZnlcIjtcbmltcG9ydCB0eXBlIHsgUXNQbHVnaW5PcHRpb25zIH0gZnJvbSBcImZhc3RpZnktcXNcIjtcbmltcG9ydCB0eXBlIHsgU3NlUGx1Z2luT3B0aW9ucyB9IGZyb20gXCJmYXN0aWZ5LXNzZS12Mi9saWIvdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgS25leCB9IGZyb20gXCJrbmV4XCI7XG5pbXBvcnQgdHlwZSB7IFN0b3JhZ2VDb25maWcgfSBmcm9tIFwiLi4vc3RvcmFnZS90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBXb3JrZmxvd09wdGlvbnMgfSBmcm9tIFwiLi4vdGFza3Mvd29ya2Zsb3ctbWFuYWdlclwiO1xuaW1wb3J0IHR5cGUgeyBFeGVjdXRhYmxlLCBTb25hbXVGYXN0aWZ5Q29uZmlnIH0gZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IEF1dGhDb250ZXh0LCBDb250ZXh0IH0gZnJvbSBcIi4vY29udGV4dFwiO1xuXG5leHBvcnQgdHlwZSBEYXRhYmFzZUNvbmZpZyA9IE9taXQ8S25leC5Db25maWcsIFwiY29ubmVjdGlvblwiPiAmIHtcbiAgY29ubmVjdGlvbj86IEtuZXguUGdDb25uZWN0aW9uQ29uZmlnO1xufTtcblxuZXhwb3J0IHR5cGUgU29uYW11Q29uZmlnID0ge1xuICBwcm9qZWN0TmFtZT86IHN0cmluZztcblxuICBhcGk6IHtcbiAgICBkaXI6IHN0cmluZztcbiAgICByb3V0ZToge1xuICAgICAgcHJlZml4OiBzdHJpbmc7XG4gICAgfTtcbiAgICB0aW1lem9uZT86IHN0cmluZztcbiAgfTtcbiAgc3luYzoge1xuICAgIHRhcmdldHM6IHN0cmluZ1tdOyAvLyBcIndlYlwiLCBcImFwcFwiIOuTsVxuICB9O1xuXG4gIGRhdGFiYXNlOiB7XG4gICAgLy8g642w7J207YSw67Kg7J207IqkXG4gICAgZGF0YWJhc2U/
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvY29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmFzdGlmeUNvcnNPcHRpb25zIH0gZnJvbSBcIkBmYXN0aWZ5L2NvcnNcIjtcbmltcG9ydCB0eXBlIHsgRmFzdGlmeUZvcm1ib2R5T3B0aW9ucyB9IGZyb20gXCJAZmFzdGlmeS9mb3JtYm9keVwiO1xuaW1wb3J0IHR5cGUgeyBGYXN0aWZ5TXVsdGlwYXJ0T3B0aW9ucyB9IGZyb20gXCJAZmFzdGlmeS9tdWx0aXBhcnRcIjtcbmltcG9ydCB0eXBlIHsgRGVzZXJpYWxpemVGdW5jdGlvbiwgU2VyaWFsaXplRnVuY3Rpb24gfSBmcm9tIFwiQGZhc3RpZnkvcGFzc3BvcnQvZGlzdC9BdXRoZW50aWNhdG9yXCI7XG5pbXBvcnQgdHlwZSB7IFNlY3VyZVNlc3Npb25QbHVnaW5PcHRpb25zIH0gZnJvbSBcIkBmYXN0aWZ5L3NlY3VyZS1zZXNzaW9uXCI7XG5pbXBvcnQgdHlwZSB7IEZhc3RpZnlTdGF0aWNPcHRpb25zIH0gZnJvbSBcIkBmYXN0aWZ5L3N0YXRpY1wiO1xuaW1wb3J0IHR5cGUgeyBGYXN0aWZ5SW5zdGFuY2UsIEZhc3RpZnlSZXBseSwgRmFzdGlmeVJlcXVlc3QsIEZhc3RpZnlTZXJ2ZXJPcHRpb25zIH0gZnJvbSBcImZhc3RpZnlcIjtcbmltcG9ydCB0eXBlIHsgUXNQbHVnaW5PcHRpb25zIH0gZnJvbSBcImZhc3RpZnktcXNcIjtcbmltcG9ydCB0eXBlIHsgU3NlUGx1Z2luT3B0aW9ucyB9IGZyb20gXCJmYXN0aWZ5LXNzZS12Mi9saWIvdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgS25leCB9IGZyb20gXCJrbmV4XCI7XG5pbXBvcnQgdHlwZSB7IFN0b3JhZ2VDb25maWcgfSBmcm9tIFwiLi4vc3RvcmFnZS90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBXb3JrZmxvd09wdGlvbnMgfSBmcm9tIFwiLi4vdGFza3Mvd29ya2Zsb3ctbWFuYWdlclwiO1xuaW1wb3J0IHR5cGUgeyBFeGVjdXRhYmxlLCBTb25hbXVGYXN0aWZ5Q29uZmlnIH0gZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IEF1dGhDb250ZXh0LCBDb250ZXh0IH0gZnJvbSBcIi4vY29udGV4dFwiO1xuXG5leHBvcnQgdHlwZSBEYXRhYmFzZUNvbmZpZyA9IE9taXQ8S25leC5Db25maWcsIFwiY29ubmVjdGlvblwiPiAmIHtcbiAgY29ubmVjdGlvbj86IEtuZXguUGdDb25uZWN0aW9uQ29uZmlnO1xufTtcblxuZXhwb3J0IHR5cGUgU29uYW11Q29uZmlnID0ge1xuICBwcm9qZWN0TmFtZT86IHN0cmluZztcblxuICBhcGk6IHtcbiAgICBkaXI6IHN0cmluZztcbiAgICByb3V0ZToge1xuICAgICAgcHJlZml4OiBzdHJpbmc7XG4gICAgfTtcbiAgICB0aW1lem9uZT86IHN0cmluZztcbiAgfTtcbiAgc3luYzoge1xuICAgIHRhcmdldHM6IHN0cmluZ1tdOyAvLyBcIndlYlwiLCBcImFwcFwiIOuTsVxuICB9O1xuXG4gIGRhdGFiYXNlOiB7XG4gICAgLy8g642w7J207YSw67Kg7J207IqkXG4gICAgZGF0YWJhc2U/OiBcInBvc3RncmVzcWxcIjtcbiAgICAvLyDquLDrs7gg642w7J207YSw67Kg7J207IqkIOydtOumhFxuICAgIG5hbWU6IHN0cmluZztcbiAgICAvLyDrqqjrk6Ag7ZmY6rK97JeQIOyggeyaqeuQoCDquLDrs7ggS25leCDsmLXshZhcbiAgICBkZWZhdWx0T3B0aW9uczogRGF0YWJhc2VDb25maWc7XG4gICAgLy8g7ZmY6rK967OEIOyEpOyglVxuICAgIGVudmlyb25tZW50cz86IHtcbiAgICAgIGRldmVsb3BtZW50PzogRGF0YWJhc2VDb25maWc7XG4gICAgICBkZXZlbG9wbWVudF9zbGF2ZT86IERhdGFiYXNlQ29uZmlnO1xuICAgICAgcHJvZHVjdGlvbj86IERhdGFiYXNlQ29uZmlnO1xuICAgICAgcHJvZHVjdGlvbl9zbGF2ZT86IERhdGFiYXNlQ29uZmlnO1xuICAgICAgZml4dHVyZT86IERhdGFiYXNlQ29uZmlnO1xuICAgICAgdGVzdD86IERhdGFiYXNlQ29uZmlnO1xuICAgIH07XG4gIH07XG5cbiAgc2VydmVyOiBTb25hbXVTZXJ2ZXJPcHRpb25zO1xuICB0YXNrcz86IFNvbmFtdVRhc2tPcHRpb25zO1xufTtcblxuZXhwb3J0IHR5cGUgU29uYW11U2VydmVyT3B0aW9ucyA9IHtcbiAgLy8g7ZSE66Gc7KCd7Yq4IOyZuOu2gOyXkOyEnCDsoJHqt7ztlaAg7IiYIOyeiOuKlCBVUkwuIOq4sOuzuOqwkuydgCB7c2VydmVyLmxpc3Rlbi5ob3N0fTp7c2VydmVyLmxpc3Rlbi5wb3J0fSDsnoXri4jri6QuXG4gIGJhc2VVcmw/OiBzdHJpbmc7XG5cbiAgZmFzdGlmeT86IEZhc3RpZnlTZXJ2ZXJPcHRpb25zO1xuXG4gIGxpc3Rlbj86IHtcbiAgICBwb3J0OiBudW1iZXI7XG4gICAgaG9zdD86IHN0cmluZztcbiAgfTtcblxuICBwbHVnaW5zPzoge1xuICAgIGNvcnM/OiBib29sZWFuIHwgRmFzdGlmeUNvcnNPcHRpb25zO1xuICAgIGZvcm1ib2R5PzogYm9vbGVhbiB8IEZhc3RpZnlGb3JtYm9keU9wdGlvbnM7XG4gICAgbXVsdGlwYXJ0PzogYm9vbGVhbiB8IEZhc3RpZnlNdWx0aXBhcnRPcHRpb25zO1xuICAgIHFzPzogYm9vbGVhbiB8IFFzUGx1Z2luT3B0aW9ucztcbiAgICBzc2U/OiBib29sZWFuIHwgU3NlUGx1Z2luT3B0aW9ucztcbiAgICBzdGF0aWM/OiBib29sZWFuIHwgRmFzdGlmeVN0YXRpY09wdGlvbnM7XG4gICAgc2Vzc2lvbj86IGJvb2xlYW4gfCBTZWN1cmVTZXNzaW9uUGx1Z2luT3B0aW9ucztcblxuICAgIGN1c3RvbT86IChzZXJ2ZXI6IEZhc3RpZnlJbnN0YW5jZSkgPT4gdm9pZDtcbiAgfTtcblxuICBhdXRoPzpcbiAgICB8IGJvb2xlYW5cbiAgICB8IHtcbiAgICAgICAgdXNlclNlcmlhbGl6ZXI6IFNlcmlhbGl6ZUZ1bmN0aW9uPHVua25vd24sIHVua25vd24+O1xuICAgICAgICB1c2VyRGVzZXJpYWxpemVyOiBEZXNlcmlhbGl6ZUZ1bmN0aW9uPHVua25vd24sIHVua25vd24+O1xuICAgICAgfTtcblxuICBhcGlDb25maWc6IFNvbmFtdUZhc3RpZnlDb25maWc7XG5cbiAgLyoqXG4gICAqIFN0b3JhZ2Ug65Oc65287J2067KEIOyEpOyglS5cbiAgICogRFJJVkVfRElTSyDtmZjqsr3rs4DsiJjroZwg7IKs7Jqp7ZWgIOuTnOudvOydtOuyhOulvCDshKDtg53tlanri4jri6QuICjquLDrs7jqsJI6IGRlZmF1bHQg7YKkKVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGltcG9ydCB7IGRyaXZlcnMgfSBmcm9tIFwic29uYW11L3N0b3JhZ2VcIjtcbiAgICpcbiAgICogc3RvcmFnZToge1xuICAgKiAgIGRlZmF1bHQ6IHByb2Nlc3MuZW52LkRSSVZFX0RJU0sgPz8gXCJmc1wiLFxuICAgKiAgIGRyaXZlcnM6IHtcbiAgICogICAgIGZzOiBkcml2ZXJzLmZzKHsgbG9jYXRpb246IFwiLi91cGxvYWRzXCIsIHVybEJ1aWxkZXI6IHsgLi4uIH0gfSksXG4gICAqICAgICBzMzogZHJpdmVycy5zMyh7IGJ1Y2tldDogXCJteS1idWNrZXRcIiwgcmVnaW9uOiBcImFwLW5vcnRoZWFzdC0yXCIsIC4uLiB9KSxcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBzdG9yYWdlPzogU3RvcmFnZUNvbmZpZztcblxuICBsaWZlY3ljbGU/OiB7XG4gICAgb25TdGFydD86IChzZXJ2ZXI6IEZhc3RpZnlJbnN0YW5jZSkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG4gICAgb25TaHV0ZG93bj86IChzZXJ2ZXI6IEZhc3RpZnlJbnN0YW5jZSkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG4gICAgb25FcnJvcj86IChlcnJvcjogRXJyb3IsIHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0LCByZXBseTogRmFzdGlmeVJlcGx5KSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIFNvbmFtdVRhc2tPcHRpb25zID0ge1xuICAvLyB3b3JrZXLrpbwg7IKs7Jqp7ZWg7KeAIOyXrOu2gCwg6riw67O47KCB7Jy866GcIGRhZW1vbiDrqqjrk5zsl5DshJzrp4wg7IKs7Jqp65CoLlxuICBlbmFibGVXb3JrZXI/OiBib29sZWFuO1xuICB3b3JrZXJPcHRpb25zPzogV29ya2Zsb3dPcHRpb25zO1xuICBjb250ZXh0UHJvdmlkZXI6IChcbiAgICBkZWZhdWx0Q29udGV4dDogUGljazxDb250ZXh0LCBcInJlcGx5XCIgfCBcInJlcXVlc3RcIiB8IFwiaGVhZGVyc1wiIHwgXCJjcmVhdGVTU0VcIiB8IFwibmFpdGVTdG9yZVwiPiAmXG4gICAgICBBdXRoQ29udGV4dCxcbiAgKSA9PiBDb250ZXh0IHwgUHJvbWlzZTxDb250ZXh0Pjtcbn07XG5cbi8vIE5PVEUoSGF6ZSwgMjUxMjA5KTogY29uZmln7JeQ64qUIFQsIFByb21pc2U8VD4sICgpID0+IFQsICgpID0+IFByb21pc2U8VD7qsIAg66qo65GQIOyYrCDsiJgg7J6I7Ja07JW8IO2VqC5cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVDb25maWcoY29uZmlnOiBFeGVjdXRhYmxlPFNvbmFtdUNvbmZpZz4pOiBQcm9taXNlPFNvbmFtdUNvbmZpZz4ge1xuICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShjb25maWcoKSk7XG4gIH1cblxuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNvbmZpZyk7XG59XG5cbi8qKlxuICogc29uYW11LmNvbmZpZy50cyDtjIzsnbzsnYQg66Gc65Oc7ZWp64uI64ukLlxuICog7J20IOyEpOyglSDtjIzsnbzsnYAg7ZmY6rK97JeQIOuUsOudvCDri6Trpbgg6rK966Gc7JeQIOyeiOydhCDsiJgg7J6I7Iq164uI64ukLlxuICogZGlzdOulvCDruYzrk5ztlZjripQg7ZmY6rK97J20652866m0IGRpc3Qg67CU66GcIOyVhOuemOyXkCDsnojsnYQg6rKD7J206rOgKGNsaS13cmFwcGVyLnRz7JeQ7IScIOu5jOuTnCksXG4gKiDqt7jroIfsp4Ag7JWK7J2AIO2ZmOqyveydtOudvOuptCDtlITroZzsoJ3tirgg66Oo7Yq47JeQIOyeiOydhCDqsoPsnoXri4jri6QuXG4gKlxuICog7J20IO2VqOyImOuKlCDsnZjrj4TsoIHsnLzroZwg64uk66W4IOydmOyhtOyEseydmCDsgqzsmqnsnYQg7LWc64yA7ZWcIOuwsOygnO2VmOyYgOyKteuLiOuLpC5cbiAqIOydtOuKlCDsi6Ttlokg7LSI6riw7JeQIOy1nOuMgO2VnCDruaDrpbTqsowg7ISk7KCV7J2EIOydveyWtOyYrCDsiJgg7J6I64+E66GdIO2VmOq4sCDsnITtlajsnoXri4jri6QuXG4gKiDrlLDrnbzshJwg6rK966GcIGNvbmNhdOqzvCBVUkwgc2NoZW1lIOy2lOqwgOuPhCDri6jsiJztlZwg66y47J6Q7Je0IOyhsOyekeycvOuhnCDsspjrpqztlZjsmIDsirXri4jri6QuXG4gKlxuICogQHBhcmFtIHJvb3RQYXRoXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZENvbmZpZyhyb290UGF0aDogc3RyaW5nKTogUHJvbWlzZTxTb25hbXVDb25maWc+IHtcbiAgY29uc3Qgc3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgY29uc3QgY29uZmlnUGF0aCA9XG4gICAgcHJvY2Vzcy5lbnYuSE9UID09PSBcInllc1wiIHx8IHByb2Nlc3MuZW52LlZJVEVTVCA9PT0gXCJ0cnVlXCJcbiAgICAgID8gYCR7cm9vdFBhdGh9L3NyYy9zb25hbXUuY29uZmlnLnRzYFxuICAgICAgOiBgJHtyb290UGF0aH0vZGlzdC9zb25hbXUuY29uZmlnLmpzYDtcbiAgY29uc3QgeyBkZWZhdWx0OiBjb25maWcgfSA9IGF3YWl0IGltcG9ydChgZmlsZTovLyR7Y29uZmlnUGF0aH1gKTtcbiAgY29uc3QgaW1wb3J0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnQ7XG4gIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInRlc3RcIiAmJlxuICAgIGNvbnNvbGUubG9nKGBbVElNSU5HXSBsb2FkQ29uZmlnIHRvb2sgJHtpbXBvcnRUaW1lLnRvRml4ZWQoMil9bXNgKTtcbiAgcmV0dXJuIGNvbmZpZztcbn1cbiJdLCJuYW1lcyI6WyJkZWZpbmVDb25maWciLCJjb25maWciLCJQcm9taXNlIiwicmVzb2x2ZSIsImxvYWRDb25maWciLCJyb290UGF0aCIsInN0YXJ0IiwicGVyZm9ybWFuY2UiLCJub3ciLCJjb25maWdQYXRoIiwicHJvY2VzcyIsImVudiIsIkhPVCIsIlZJVEVTVCIsImRlZmF1bHQiLCJpbXBvcnRUaW1lIiwiTk9ERV9FTlYiLCJjb25zb2xlIiwibG9nIiwidG9GaXhlZCJdLCJtYXBwaW5ncyI6IkFBMkhBLHVGQUF1RjtBQUN2RixPQUFPLFNBQVNBLGFBQWFDLE1BQWdDO0lBQzNELElBQUksT0FBT0EsV0FBVyxZQUFZO1FBQ2hDLE9BQU9DLFFBQVFDLE9BQU8sQ0FBQ0Y7SUFDekI7SUFFQSxPQUFPQyxRQUFRQyxPQUFPLENBQUNGO0FBQ3pCO0FBRUE7Ozs7Ozs7Ozs7OztDQVlDLEdBQ0QsT0FBTyxlQUFlRyxXQUFXQyxRQUFnQjtJQUMvQyxNQUFNQyxRQUFRQyxZQUFZQyxHQUFHO0lBQzdCLE1BQU1DLGFBQ0pDLFFBQVFDLEdBQUcsQ0FBQ0MsR0FBRyxLQUFLLFNBQVNGLFFBQVFDLEdBQUcsQ0FBQ0UsTUFBTSxLQUFLLFNBQ2hELEdBQUdSLFNBQVMscUJBQXFCLENBQUMsR0FDbEMsR0FBR0EsU0FBUyxzQkFBc0IsQ0FBQztJQUN6QyxNQUFNLEVBQUVTLFNBQVNiLE1BQU0sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFUSxZQUFZO0lBQy9ELE1BQU1NLGFBQWFSLFlBQVlDLEdBQUcsS0FBS0Y7SUFDdkNJLFFBQVFDLEdBQUcsQ0FBQ0ssUUFBUSxLQUFLLFVBQ3ZCQyxRQUFRQyxHQUFHLENBQUMsQ0FBQyx5QkFBeUIsRUFBRUgsV0FBV0ksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ25FLE9BQU9sQjtBQUNUIn0=
|
package/dist/bin/cli.js
CHANGED
|
@@ -324,13 +324,13 @@ async function fixture_init() {
|
|
|
324
324
|
const targets = [
|
|
325
325
|
{
|
|
326
326
|
label: "(REMOTE) Fixture DB",
|
|
327
|
-
config: Sonamu.dbConfig.
|
|
327
|
+
config: Sonamu.dbConfig.fixture
|
|
328
328
|
},
|
|
329
329
|
{
|
|
330
330
|
label: "(LOCAL) Testing DB",
|
|
331
331
|
config: Sonamu.dbConfig.test,
|
|
332
332
|
toSkip: (()=>{
|
|
333
|
-
const remoteConn = Sonamu.dbConfig.
|
|
333
|
+
const remoteConn = Sonamu.dbConfig.fixture.connection;
|
|
334
334
|
const localConn = Sonamu.dbConfig.test.connection;
|
|
335
335
|
return remoteConn.host === localConn.host && remoteConn.database === localConn.database;
|
|
336
336
|
})()
|
|
@@ -448,4 +448,4 @@ async function scaffold_model_test(entityId) {
|
|
|
448
448
|
});
|
|
449
449
|
}
|
|
450
450
|
|
|
451
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vY2xpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjaGFsayBmcm9tIFwiY2hhbGtcIjtcbmltcG9ydCBkb3RlbnYgZnJvbSBcImRvdGVudlwiO1xuXG5kb3RlbnYuY29uZmlnKCk7XG5cbmltcG9ydCB7IGV4ZWNTeW5jLCBzcGF3biB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgeyBta2RpciwgcmVhZGRpciwgcm0sIHdyaXRlRmlsZSB9IGZyb20gXCJmcy9wcm9taXNlc1wiO1xuaW1wb3J0IGtuZXgsIHsgdHlwZSBLbmV4IH0gZnJvbSBcImtuZXhcIjtcbmltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibW9kdWxlXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHByb2Nlc3MgZnJvbSBcInByb2Nlc3NcIjtcbmltcG9ydCB7IHRzaWNsaSB9IGZyb20gXCJ0c2ljbGlcIjtcbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi9hcGlcIjtcbmltcG9ydCB0eXBlIHsgU29uYW11REJDb25maWcgfSBmcm9tIFwiLi4vZGF0YWJhc2UvZGJcIjtcbmltcG9ydCB7IEVudGl0eU1hbmFnZXIgfSBmcm9tIFwiLi4vZW50aXR5L2VudGl0eS1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBNaWdyYXRvciB9IGZyb20gXCIuLi9taWdyYXRpb24vbWlncmF0b3JcIjtcbmltcG9ydCB7IEZpeHR1cmVNYW5hZ2VyIH0gZnJvbSBcIi4uL3Rlc3RpbmcvZml4dHVyZS1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBleGlzdHMgfSBmcm9tIFwiLi4vdXRpbHMvZnMtdXRpbHNcIjtcbmltcG9ydCB7IGZpbmRBcGlSb290UGF0aCB9IGZyb20gXCIuLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgQlVJTERfRElSLCBTV0NfQlVJTERfQ09NTUFORCwgVFNDX1RZUEVfQ0hFQ0tfQ09NTUFORCB9IGZyb20gXCIuL2J1aWxkLWNvbmZpZ1wiO1xuXG5sZXQgbWlncmF0b3I6IE1pZ3JhdG9yO1xuXG5hc3luYyBmdW5jdGlvbiBib290c3RyYXAoKSB7XG4gIGNvbnN0IG5vdFRvSW5pdCA9IFtcImRldlwiLCBcImJ1aWxkXCIsIFwic3RhcnRcIl0uaW5jbHVkZXMocHJvY2Vzcy5hcmd2WzJdID8/IFwiXCIpO1xuICBpZiAoIW5vdFRvSW5pdCkge1xuICAgIGF3YWl0IFNvbmFtdS5pbml0KGZhbHNlLCBmYWxzZSk7XG4gIH1cblxuICB0cnkge1xuICAgIGF3YWl0IHRzaWNsaShwcm9jZXNzLmFyZ3YsIHtcbiAgICAgIHR5cGVzOiB7XG4gICAgICAgIFwiI2VudGl0eUlkXCI6IHtcbiAgICAgICAgICB0eXBlOiBcImF1dG9jb21wbGV0ZVwiLFxuICAgICAgICAgIG5hbWU6IFwiI2VudGl0eUlkXCIsXG4gICAgICAgICAgbWVzc2FnZTogXCJQbGVhc2UgaW5wdXQgI2VudGl0eUlkXCIsXG4gICAgICAgICAgY2hvaWNlczogRW50aXR5TWFuYWdlci5nZXRBbGxQYXJlbnRJZHMoKS5tYXAoKGVudGl0eUlkKSA9PiAoe1xuICAgICAgICAgICAgdGl0bGU6IGVudGl0eUlkLFxuICAgICAgICAgICAgdmFsdWU6IGVudGl0eUlkLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSxcbiAgICAgICAgXCIjcmVjb3JkSWRzXCI6IFwibnVtYmVyW11cIixcbiAgICAgICAgXCIjbmFtZVwiOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIGFyZ3M6IFtcbiAgICAgICAgW1wiZml4dHVyZVwiLCBcImluaXRcIl0sXG4gICAgICAgIFtcImZpeHR1cmVcIiwgXCJpbXBvcnRcIiwgXCIjZW50aXR5SWRcIiwgXCIjcmVjb3JkSWRzXCJdLFxuICAgICAgICBbXCJmaXh0dXJlXCIsIFwic3luY1wiXSxcbiAgICAgICAgW1wibWlncmF0ZVwiLCBcInJ1blwiXSxcbiAgICAgICAgW1wibWlncmF0ZVwiLCBcImNoZWNrXCJdLFxuICAgICAgICBbXCJtaWdyYXRlXCIsIFwicm9sbGJhY2tcIl0sXG4gICAgICAgIFtcIm1pZ3JhdGVcIiwgXCJyZXNldFwiXSxcbiAgICAgICAgW1wibWlncmF0ZVwiLCBcImNsZWFyXCJdLFxuICAgICAgICBbXCJtaWdyYXRlXCIsIFwic3RhdHVzXCJdLFxuICAgICAgICBbXCJzdHViXCIsIFwicHJhY3RpY2VcIiwgXCIjbmFtZVwiXSxcbiAgICAgICAgW1wic3R1YlwiLCBcImVudGl0eVwiLCBcIiNuYW1lXCJdLFxuICAgICAgICBbXCJzY2FmZm9sZFwiLCBcIm1vZGVsXCIsIFwiI2VudGl0eUlkXCJdLFxuICAgICAgICBbXCJzY2FmZm9sZFwiLCBcIm1vZGVsX3Rlc3RcIiwgXCIjZW50aXR5SWRcIl0sXG4gICAgICAgIFtcInNjYWZmb2xkXCIsIFwidmlld19saXN0XCIsIFwiI2VudGl0eUlkXCJdLFxuICAgICAgICBbXCJzY2FmZm9sZFwiLCBcInZpZXdfZm9ybVwiLCBcIiNlbnRpdHlJZFwiXSxcbiAgICAgICAgW1wic3luY1wiXSxcbiAgICAgICAgW1wiZGV2XCJdLFxuICAgICAgICBbXCJidWlsZFwiXSxcbiAgICAgICAgW1wic3RhcnRcIl0sXG4gICAgICBdLFxuICAgICAgcnVubmVyczoge1xuICAgICAgICBtaWdyYXRlX3N0YXR1cyxcbiAgICAgICAgbWlncmF0ZV9ydW4sXG4gICAgICAgIGZpeHR1cmVfaW5pdCxcbiAgICAgICAgZml4dHVyZV9pbXBvcnQsXG4gICAgICAgIGZpeHR1cmVfc3luYyxcbiAgICAgICAgc3R1Yl9wcmFjdGljZSxcbiAgICAgICAgc3R1Yl9lbnRpdHksXG4gICAgICAgIHNjYWZmb2xkX21vZGVsLFxuICAgICAgICBzY2FmZm9sZF9tb2RlbF90ZXN0LFxuICAgICAgICAvLyBzY2FmZm9sZF92aWV3X2xpc3QsXG4gICAgICAgIC8vIHNjYWZmb2xkX3ZpZXdfZm9ybSxcbiAgICAgICAgc3luYyxcbiAgICAgICAgZGV2LFxuICAgICAgICBidWlsZCxcbiAgICAgICAgc3RhcnQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9IGZpbmFsbHkge1xuICAgIGF3YWl0IFNvbmFtdS5kZXN0cm95KCk7XG4gIH1cbn1cblxuYm9vdHN0cmFwKCkuZmluYWxseShhc3luYyAoKSA9PiB7XG4gIGF3YWl0IEZpeHR1cmVNYW5hZ2VyLmRlc3Ryb3koKTtcbn0pO1xuXG4vKipcbiAqIHBucG0gc3luYyDtlZjrqbQg7Iuk7ZaJ65CY64qUIO2VqOyImOyeheuLiOuLpC5cbiAqIO2UhOuhnOygne2KuOulvCDsi7Htgaztlanri4jri6QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHN5bmMoKSB7XG4gIGF3YWl0IFNvbmFtdS5zeW5jZXIuc3luYygpO1xufVxuXG4vKipcbiAqIHBucG0gZGV2IO2VmOuptCDsi6TtlonrkJjripQg7ZWo7IiY7J6F64uI64ukLlxuICog7ZSE66Gc7KCd7Yq47JeQIOuMgO2VtCBITVIg7KeA7JuQ7ZWY64qUIOqwnOuwnCDshJzrsoTrpbwg652E7JuM7KSN64uI64ukLlxuICpcbiAqIFR5cGVTY3JpcHTrpbwg67CU66GcIOyLpO2Wie2VoCDsiJgg7J6I64+E66GdIEBzb25hbXUta2l0L3RzLWxvYWRlcuulvCxcbiAqIEhNUuydhCDsp4Dsm5DtlZjquLAg7JyE7ZW0IEBzb25hbXUta2l0L2htci1ob29r7J2EIGltcG9ydO2VmOupsCxcbiAqIOyGjOyKpOuntSDsp4Dsm5DsnYQg7JyE7ZW0IC0tZW5hYmxlLXNvdXJjZS1tYXBzIO2UjOuemOq3uOulvCDtj6ztlajtlZjsl6wg7Iuk7ZaJ7ZWp64uI64ukLlxuICpcbiAqIOydtOuVjCBAc29uYW11LWtpdC90cy1sb2FkZXLsmYAgQHNvbmFtdS1raXQvaG1yLWhvb2vripQgc29uYW116rCAIOyekOyytOyggeycvOuhnCDqsIDsp4Dqs6Ag7J6I64qUIGRlcGVuZGVuY3nsnoXri4jri6QuXG4gKiDrmJDtlZwg7Iuk7ZaJ7JeQIOyCrOyaqe2VmOuKlCBAc29uYW11LWtpdC9obXItcnVubmVy64+EIOuniOywrOqwgOyngOuhnCBzb25hbXXqsIAg7J6Q7LK07KCB7Jy866GcIOqwgOyngOqzoCDsnojripQgZGVwZW5kZW5jeeyeheuLiOuLpC5cbiAqIOuUsOudvOyEnCDsgqzsmqnsnpAg7ZSE66Gc7KCd7Yq47JeQ7ISc64qUIOydtCDshLgg7Yyo7YKk7KeA66W8IOyngeygkSDshKTsuZjtlaAg7ZWE7JqU6rCAIOyXhuyKteuLiOuLpC5cbiAqXG4gKiBTb25hbXUuaW5pdCDsl4bsnbQg7Zi47Lac65CgIOqyg+ydhCDsg4HsoJXtlZjsl6wg6rWs7ZiE65CY7JeI7Iq164uI64ukLlxuICovXG5hc3luYyBmdW5jdGlvbiBkZXYoKSB7XG4gIGNvbnN0IGFwaVJvb3QgPSBmaW5kQXBpUm9vdFBhdGgoKTtcbiAgY29uc3QgZW50cnlQb2ludCA9IFwic3JjL2luZGV4LnRzXCI7XG5cbiAgY29uc29sZS5sb2coY2hhbGsueWVsbG93LmJvbGQoXCLwn5qAIFN0YXJ0aW5nIFNvbmFtdSBkZXYgc2VydmVyLi4uXFxuXCIpKTtcblxuICAvLyDsnbQgc29uYW11IO2MqO2CpOyngOqwgCBkZXBlbmRlbmNpZXProZwg6rCA7KeA6rOgIOyeiOuKlCBAc29uYW11LWtpdC9obXItcnVubmVy7J2YIGJpbi9ydW4uanPrpbwg7IKs7Jqp7ZWp64uI64ukLlxuICAvLyDsnbQg6rK966GcKC9iaW4vcnVuLmpzKeuKlCBAc29uYW11LWtpdC9obXItcnVubmVy7J2YIHBhY2thZ2UuanNvbuydmCBiaW4g7ZWE65Oc7JeQIOuqheyLnOuQmOyWtCDsnojripQg6re46rKD6rO8IOqwmeyKteuLiOuLpC5cbiAgY29uc3QgaG90UnVubmVyQmluUGF0aCA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKS5yZXNvbHZlKFxuICAgIFwiQHNvbmFtdS1raXQvaG1yLXJ1bm5lci9iaW4vcnVuLmpzXCIsXG4gICk7XG5cbiAgY29uc3Qgc2VydmVyUHJvY2VzcyA9IHNwYXduKFxuICAgIHByb2Nlc3MuZXhlY1BhdGgsIC8vIG5vZGVcbiAgICBbXG4gICAgICBob3RSdW5uZXJCaW5QYXRoLCAvLyDsnbTroIfqsowg7ZW07IScIGhvdC1ydW5uZXLrpbwg7Iuk7ZaJ7ZWY6rWs7JqUXG4gICAgICBcIi0tY2xlYXItc2NyZWVuPWZhbHNlXCIsIC8vIOydtO2VmCBob3QtcnVubmVy7JeQ6rKMIOuEmOqyqOykhCDsnbjsnpDrk6TsnoXri4jri6QuXG4gICAgICBcIi0tbm9kZS1hcmdzPS0taW1wb3J0PXNvbmFtdS90cy1sb2FkZXItcmVnaXN0ZXJcIiwgLy8gVHlwZVNjcmlwdCDshJztj6ztirjrpbwg7JyE7ZWcIOuhnOuNlCxcbiAgICAgIFwiLS1ub2RlLWFyZ3M9LS1pbXBvcnQ9c29uYW11L2htci1ob29rLXJlZ2lzdGVyXCIsIC8vIEhNUuydhCDsp4Dsm5DtlZjquLAg7JyE7ZWcIGhvb2ssXG4gICAgICBcIi0tbm9kZS1hcmdzPS0tZW5hYmxlLXNvdXJjZS1tYXBzXCIsIC8vIOq3uOumrOqzoCDshozsiqTrp7Ug7KeA7JuQ7J2EIOychO2VnCDtlIzrnpjqt7jsnoXri4jri6QuXG4gICAgICBcIi0tb24ta2V5PXI6cmVzdGFydDpSZXN0YXJ0IHNlcnZlclwiLCAvLyByIOuIhOultOuptCDshJzrsoQg7J6s7Iuc7J6R7ZWY6rKMIO2VtOykmOyalC5cbiAgICAgIGAtLW9uLWtleT1mOnNoZWxsKHJtICR7cGF0aC5qb2luKGFwaVJvb3QsIFwic29uYW11LmxvY2tcIil9KTpyZXN0YXJ0OkZvcmNlIHJlc3RhcnRgLCAvLyBmIOuIhOultOuptCBzb25hbXUubG9jayDtjIzsnbzsnYQg7KeA7Jqw6rOgIOyEnOuyhCDsnqzsi5zsnpHtlZjqsowg7ZW07KSY7JqULlxuXG4gICAgICBcIi0tb24ta2V5PWVudGVyOnNoZWxsKGVjaG8gaGkpOktleSBiaW5kaW5nIHRlc3RcIiwgLy8gZW50ZXLrpbwga2V566GcIOyTuCDsiJgg7J6I7J2M7J2EIOuztOydtOq4sCDsnITtlZwg7YWM7Iqk7Yq47J6F64uI64ukLlxuICAgICAgXCItLW9uLWtleT1jdHJsK2YgY3RybCtmOnNoZWxsKGdpdCBwdWxsICYmIHBucG0gaW5zdGFsbCAmJiBwbnBtIC0tZmlsdGVyIHNvbmFtdSBidWlsZCAmJiBlY2hvICdTb25hbXUgaXMgbm93IHVwLXRvLWRhdGUhJyk6cmVzdGFydDpQdWxsICYgaW5zdGFsbCAmIGJ1aWxkICYgcmVzdGFydFwiLCAvLyBtb2RpZmllcuyZgOydmCDsobDtlaksIOq3uOumrOqzoCDrkZAg6rCc7J2YIGNob3Jk66W8IOyCrOyaqe2VoCDsiJgg7J6I7J2M7J2EIOuztOydtOq4sCDsnITtlZwg7YWM7Iqk7Yq47J6F64uI64ukLlxuICAgICAgZW50cnlQb2ludCwgLy8g66eI7KeA66eJ7Jy866GcIOyLpOygnCDsi6TtlontlaAg7Iqk7YGs66a97Yq47J2YIOqyveuhnOulvCDrhJjqsqjspI3ri4jri6QuXG4gICAgXSxcbiAgICB7XG4gICAgICBjd2Q6IGFwaVJvb3QsXG4gICAgICBzdGRpbzogXCJpbmhlcml0XCIsXG4gICAgICBlbnY6IHtcbiAgICAgICAgLi4ucHJvY2Vzcy5lbnYsXG4gICAgICAgIE5PREVfRU5WOiBcImRldmVsb3BtZW50XCIsXG4gICAgICAgIEhPVDogXCJ5ZXNcIiwgLy8g7JaY6rCAIOyeiOyWtOyVvCBITVLsnbQg7Zmc7ISx7ZmU65Cp64uI64ukLlxuICAgICAgICBBUElfUk9PVF9QQVRIOiBhcGlSb290LCAvLyDsnbQg6rK966Gc6rCAIGhtci1ob29r7J2YIOujqO2KuCDrlJTroInthqDrpqzqsIAg65Cp64uI64ukLlxuICAgICAgfSxcbiAgICB9LFxuICApO1xuXG4gIC8vIOyiheujjCDsspjrpqxcbiAgY29uc3QgY2xlYW51cCA9ICgpID0+IHtcbiAgICBjb25zb2xlLmxvZyhjaGFsay55ZWxsb3coXCJcXG5cXG7wn5GLIFNodXR0aW5nIGRvd24uLi5cIikpO1xuICAgIHNlcnZlclByb2Nlc3Mua2lsbChcIlNJR1RFUk1cIik7XG4gICAgcHJvY2Vzcy5leGl0KDApO1xuICB9O1xuXG4gIHByb2Nlc3Mub24oXCJTSUdJTlRcIiwgY2xlYW51cCk7XG4gIHByb2Nlc3Mub24oXCJTSUdURVJNXCIsIGNsZWFudXApO1xuXG4gIHNlcnZlclByb2Nlc3Mub24oXCJleGl0XCIsIChjb2RlKSA9PiB7XG4gICAgaWYgKGNvZGUgIT09IDApIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoY2hhbGsucmVkKGDinYwgU2VydmVyIGV4aXRlZCB3aXRoIGNvZGUgJHtjb2RlfWApKTtcbiAgICAgIHByb2Nlc3MuZXhpdChjb2RlIHx8IDEpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogcG5wbSBidWlsZCDtlZjrqbQg7Iuk7ZaJ65CY64qUIO2VqOyImOyeheuLiOuLpC5cbiAqIO2UhOuhnOygne2KuOulvCDruYzrk5ztlanri4jri6QuXG4gKlxuICog67mM65Oc7JeQIO2VhOyalO2VnCAuc3djcmPripQg7ZSE66Gc7KCd7Yq4IOujqO2KuOyXkOyEnCDssL7qs6AsIOyXhuycvOuptCBzb25hbXXqsIAg6rSA66as7ZWY64qUIC5zd2NyYy5wcm9qZWN0LWRlZmF1bHTrpbwg7IKs7Jqp7ZWp64uI64ukLlxuICogc29uYW11LmNvbmZpZy50c+uKlCBzcmPsl5Ag65Ok7Ja07J6I7KeAIOyViuq4sCDrlYzrrLjsl5AgU1dDX0JVSUxEX0NPTU1BTkTroZwg67mM65Oc65CY7KeAIOyViuyKteuLiOuLpC5cbiAqIOuUsOudvOyEnCDrlLDroZwg67mM65Oc7ZW07KSN64uI64ukLlxuICpcbiAqIFNvbmFtdS5pbml0IOyXhuydtCDtmLjstpzrkKAg6rKD7J2EIOyDgeygle2VmOyXrCDqtaztmITrkJjsl4jsirXri4jri6QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGJ1aWxkKCkge1xuICBjb25zdCBhcGlSb290ID0gZmluZEFwaVJvb3RQYXRoKCk7XG5cbiAgLy8g7Lac66ClIOuUlOugie2GoOumrOulvCDsoJzqsbDtlanri4jri6QuXG4gIHRyeSB7XG4gICAgY29uc29sZS5sb2coY2hhbGsuYmx1ZShcIlJlbW92aW5nIGJ1aWxkIGRpcmVjdG9yeS4uLlwiKSk7XG4gICAgaWYgKGF3YWl0IGV4aXN0cyhCVUlMRF9ESVIpKSB7XG4gICAgICBhd2FpdCBybShCVUlMRF9ESVIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihjaGFsay5yZWQoXCJSZW1vdmUgYnVpbGQgZGlyZWN0b3J5IGZhaWxlZC5cIiksIGVycm9yKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH1cblxuICAvLyAuc3djcmMg7YyM7J287J2EIOyngOygle2VqeuLiOuLpC5cbiAgbGV0IHN3Y0ZpbGVQYXRoID0gXCIuc3djcmNcIjtcbiAgdHJ5IHtcbiAgICBpZiAoYXdhaXQgZXhpc3RzKHN3Y0ZpbGVQYXRoKSkge1xuICAgICAgLy8g7IKs7Jqp7J6QIO2UhOuhnOygne2KuOyXkCAuc3djcmPqsIAg7J6I7Jy866m0IOyasOyEoOycvOuhnCDsgqzsmqntlanri4jri6QuXG4gICAgICBjb25zb2xlLmxvZyhjaGFsay5ibHVlKFwiVXNpbmcgLnN3Y3JjIGZyb20gcHJvamVjdCByb290Li4uXCIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8g7JWE64uI652866m0IHNvbmFtdeqwgCDqtIDrpqztlZjripQgLnN3Y3JjLnByb2plY3QtZGVmYXVsdOulvCDqsIDsoLjri6Qg7JSB64uI64ukLlxuICAgICAgY29uc29sZS5sb2coY2hhbGsuYmx1ZShcIlVzaW5nIGRlZmF1bHQgLnN3Y3JjIGZyb20gc29uYW11IHBhY2thZ2UuLi5cIikpO1xuICAgICAgc3djRmlsZVBhdGggPSBwYXRoLmpvaW4oaW1wb3J0Lm1ldGEuZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwiLnN3Y3JjLnByb2plY3QtZGVmYXVsdFwiKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihjaGFsay5yZWQoXCJTZXR0aW5nIHVwIHN3YyBjb25maWcgZmlsZSBmYWlsZWQuXCIpLCBlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgLy8g7IaM7IqkIOuUlOugie2GoOumrOulvCDruYzrk5ztlanri4jri6QuXG4gIHRyeSB7XG4gICAgY29uc29sZS5sb2coY2hhbGsuYmx1ZShcIkJ1aWxkaW5nIHdpdGggc3djLi4uXCIpKTtcbiAgICBleGVjU3luYyhTV0NfQlVJTERfQ09NTUFORChzd2NGaWxlUGF0aCksIHsgY3dkOiBhcGlSb290LCBzdGRpbzogXCJpbmhlcml0XCIgfSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihjaGFsay5yZWQoXCJCdWlsZCBmYWlsZWQuXCIpLCBlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgLy8g66eI7KeA66eJ7JeQ64qUIO2DgOyehSDssrTtgazrpbwg7ZW07JqULlxuICB0cnkge1xuICAgIGNvbnNvbGUubG9nKGNoYWxrLmJsdWUoXCJDaGVja2luZyB0eXBlcyB3aXRoIHRzYy4uLlwiKSk7XG4gICAgZXhlY1N5bmMoVFNDX1RZUEVfQ0hFQ0tfQ09NTUFORCwge1xuICAgICAgY3dkOiBhcGlSb290LFxuICAgICAgc3RkaW86IFwiaW5oZXJpdFwiLFxuICAgIH0pO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoY2hhbGsucmVkKFwiVHlwZSBjaGVjayBmYWlsZWQuXCIpLCBlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG59XG5cbi8qKlxuICogcG5wbSBzdGFydCDtlZjrqbQg7Iuk7ZaJ65CY64qUIO2VqOyImOyeheuLiOuLpC5cbiAqIOu5jOuTnOuQnCDtlITroZzsoJ3tirjrpbwg7Iuk7ZaJ7ZWp64uI64ukLlxuICpcbiAqIOu5jOuTnOuQnCDqsrDqs7zrrLwoZGlzdCDrlJTroInthqDrpqzsnZggaW5kZXguanMg7JeU7Yq466as7Y+s7J247Yq4KeydtCDsl4bri6TrqbQg7Iuk7ZaJ7J2EIOykkeuLqO2VqeuLiOuLpC5cbiAqIOyGjOyKpOuntSDsp4Dsm5Dqs7wgZG90ZW52IOyngOybkOydhCDtj6ztlajtlZjsl6wg7Iuk7ZaJ7ZWp64uI64ukLlxuICpcbiAqIFNvbmFtdS5pbml0IOyXhuydtCDtmLjstpzrkKAg6rKD7J2EIOyDgeygle2VmOyXrCDqtaztmITrkJjsl4jsirXri4jri6QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHN0YXJ0KCkge1xuICBjb25zdCBhcGlSb290ID0gZmluZEFwaVJvb3RQYXRoKCk7XG4gIGNvbnN0IGVudHJ5UG9pbnQgPSBcImRpc3QvaW5kZXguanNcIjtcblxuICBpZiAoIShhd2FpdCBleGlzdHMoZW50cnlQb2ludCkpKSB7XG4gICAgY29uc29sZS5sb2coY2hhbGsucmVkKGAke2VudHJ5UG9pbnR9IG5vdCBmb3VuZC4gUGxlYXNlIGJ1aWxkIHlvdXIgcHJvamVjdCBmaXJzdC5gKSk7XG4gICAgY29uc29sZS5sb2coY2hhbGsuYmx1ZShcIlJ1bjogeWFybiBzb25hbXUgYnVpbGRcIikpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHsgc3Bhd24gfSA9IGF3YWl0IGltcG9ydChcImNoaWxkX3Byb2Nlc3NcIik7XG4gIGNvbnN0IHNlcnZlclByb2Nlc3MgPSBzcGF3bihcbiAgICBwcm9jZXNzLmV4ZWNQYXRoLFxuICAgIFtcIi0tZW5hYmxlLXNvdXJjZS1tYXBzXCIsIFwiLXJcIiwgXCJkb3RlbnYvY29uZmlnXCIsIGVudHJ5UG9pbnRdLFxuICAgIHtcbiAgICAgIGN3ZDogYXBpUm9vdCxcbiAgICAgIHN0ZGlvOiBcImluaGVyaXRcIixcbiAgICB9LFxuICApO1xuXG4gIHByb2Nlc3Mub24oXCJTSUdJTlRcIiwgKCkgPT4ge1xuICAgIHNlcnZlclByb2Nlc3Mua2lsbChcIlNJR1RFUk1cIik7XG4gICAgcHJvY2Vzcy5leGl0KDApO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2V0dXBNaWdyYXRvcigpIHtcbiAgLy8gbWlncmF0b3JcbiAgbWlncmF0b3IgPSBuZXcgTWlncmF0b3IoKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2V0dXBGaXh0dXJlTWFuYWdlcigpIHtcbiAgRml4dHVyZU1hbmFnZXIuaW5pdCgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBtaWdyYXRlX3J1bigpIHtcbiAgYXdhaXQgc2V0dXBNaWdyYXRvcigpO1xuXG4gIGF3YWl0IG1pZ3JhdG9yLnJ1bkFjdGlvbihcbiAgICBcImFwcGx5XCIsXG4gICAgT2JqZWN0LmtleXMoU29uYW11LmRiQ29uZmlnKSBhcyAoa2V5b2YgU29uYW11REJDb25maWcpW10gLyrsi7kg64ukISovLFxuICApO1xufVxuXG5hc3luYyBmdW5jdGlvbiBtaWdyYXRlX3N0YXR1cygpIHtcbiAgYXdhaXQgc2V0dXBNaWdyYXRvcigpO1xuXG4gIGNvbnN0IHN0YXR1cyA9IGF3YWl0IG1pZ3JhdG9yLmdldFN0YXR1cygpO1xuICAvLyBzdGF0dXM7XG4gIGNvbnNvbGUubG9nKHN0YXR1cyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZpeHR1cmVfaW5pdCgpIHtcbiAgY29uc3Qgc3JjQ29uZmlnID0gU29uYW11LmRiQ29uZmlnLmRldmVsb3BtZW50X21hc3RlcjtcbiAgY29uc3QgdGFyZ2V0cyA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogXCIoUkVNT1RFKSBGaXh0dXJlIERCXCIsXG4gICAgICBjb25maWc6IFNvbmFtdS5kYkNvbmZpZy5maXh0dXJlX3JlbW90ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiBcIihMT0NBTCkgVGVzdGluZyBEQlwiLFxuICAgICAgY29uZmlnOiBTb25hbXUuZGJDb25maWcudGVzdCxcbiAgICAgIHRvU2tpcDogKCgpID0+IHtcbiAgICAgICAgY29uc3QgcmVtb3RlQ29ubiA9IFNvbmFtdS5kYkNvbmZpZy5maXh0dXJlX3JlbW90ZS5jb25uZWN0aW9uIGFzIEtuZXguQ29ubmVjdGlvbkNvbmZpZztcbiAgICAgICAgY29uc3QgbG9jYWxDb25uID0gU29uYW11LmRiQ29uZmlnLnRlc3QuY29ubmVjdGlvbiBhcyBLbmV4LkNvbm5lY3Rpb25Db25maWc7XG4gICAgICAgIHJldHVybiByZW1vdGVDb25uLmhvc3QgPT09IGxvY2FsQ29ubi5ob3N0ICYmIHJlbW90ZUNvbm4uZGF0YWJhc2UgPT09IGxvY2FsQ29ubi5kYXRhYmFzZTtcbiAgICAgIH0pKCksXG4gICAgfSxcbiAgXSBhcyB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBjb25maWc6IEtuZXguQ29uZmlnO1xuICAgIHRvU2tpcD86IGJvb2xlYW47XG4gIH1bXTtcblxuICAvLyAxLiDquLDspIBEQiDsiqTtgqTrp4jrpbwg642k7ZSEXG4gIGNvbnNvbGUubG9nKFwiRFVNUC4uLlwiKTtcbiAgY29uc3QgZHVtcEZpbGVuYW1lID0gYC90bXAvc29uYW11LWZpeHR1cmUtaW5pdC0ke0RhdGUubm93KCl9LnNxbGA7XG4gIGNvbnN0IHNyY0Nvbm4gPSBzcmNDb25maWcuY29ubmVjdGlvbiBhcyBLbmV4LkNvbm5lY3Rpb25Db25maWc7XG4gIGNvbnN0IG1pZ3JhdGlvbnNEdW1wID0gYC90bXAvc29uYW11LWZpeHR1cmUtaW5pdC1taWdyYXRpb25zLSR7RGF0ZS5ub3coKX0uc3FsYDtcbiAgZXhlY1N5bmMoXG4gICAgYG15c3FsZHVtcCAtaCR7c3JjQ29ubi5ob3N0fSAtdSR7c3JjQ29ubi51c2VyfSAtcCR7c3JjQ29ubi5wYXNzd29yZH0gLS1zaW5nbGUtdHJhbnNhY3Rpb24gLWQgLS1uby1jcmVhdGUtZGIgLS10cmlnZ2VycyAke3NyY0Nvbm4uZGF0YWJhc2V9ID4gJHtkdW1wRmlsZW5hbWV9YCxcbiAgKTtcbiAgY29uc3QgX2RiID0ga25leChzcmNDb25maWcpO1xuICBjb25zdCBbW21pZ3JhdGlvbnNdXSA9IGF3YWl0IF9kYi5yYXcoXG4gICAgXCJTRUxFQ1QgQ09VTlQoKikgYXMgY291bnQgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVzIFdIRVJFIHRhYmxlX3NjaGVtYSA9ID8gQU5EIHRhYmxlX25hbWUgPSAna25leF9taWdyYXRpb25zJ1wiLFxuICAgIFtzcmNDb25uLmRhdGFiYXNlXSxcbiAgKTtcbiAgaWYgKG1pZ3JhdGlvbnMuY291bnQgPiAwKSB7XG4gICAgZXhlY1N5bmMoXG4gICAgICBgbXlzcWxkdW1wIC1oJHtzcmNDb25uLmhvc3R9IC11JHtzcmNDb25uLnVzZXJ9IC1wJHtzcmNDb25uLnBhc3N3b3JkfSAtLXNpbmdsZS10cmFuc2FjdGlvbiAtLW5vLWNyZWF0ZS1kYiAtLXRyaWdnZXJzICR7c3JjQ29ubi5kYXRhYmFzZX0ga25leF9taWdyYXRpb25zIGtuZXhfbWlncmF0aW9uc19sb2NrID4gJHttaWdyYXRpb25zRHVtcH1gLFxuICAgICk7XG4gIH1cblxuICAvLyAyLiDrjIDsg4FEQiDqsIHqsIHsl5Ag64yA7ZWY7JesIOyhtOyerOyXrOu2gCDtmZXsnbgg7ZuEIOu2k+q4sFxuICBmb3IgYXdhaXQgKGNvbnN0IHsgbGFiZWwsIGNvbmZpZywgdG9Ta2lwIH0gb2YgdGFyZ2V0cykge1xuICAgIGNvbnN0IGNvbm4gPSBjb25maWcuY29ubmVjdGlvbiBhcyBLbmV4LkNvbm5lY3Rpb25Db25maWc7XG5cbiAgICBpZiAodG9Ta2lwID09PSB0cnVlKSB7XG4gICAgICBjb25zb2xlLmxvZyhjaGFsay5yZWQoYCR7bGFiZWx9OiBTa2lwcGVkIWApKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGRiID0ga25leCh7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBjb25uZWN0aW9uOiB7XG4gICAgICAgIC4uLigoY29uZmlnLmNvbm5lY3Rpb24gPz8ge30pIGFzIEtuZXguQ29ubmVjdGlvbkNvbmZpZyksXG4gICAgICAgIGRhdGFiYXNlOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IFtbcm93XV0gPSBhd2FpdCBkYi5yYXcoYFNIT1cgREFUQUJBU0VTIExJS0UgXCIke2Nvbm4uZGF0YWJhc2V9XCJgKTtcbiAgICBpZiAocm93KSB7XG4gICAgICBjb25zb2xlLmxvZyhjaGFsay55ZWxsb3coYCR7bGFiZWx9OiBEYXRhYmFzZSBcIiR7Y29ubi5kYXRhYmFzZX1cIiBBbHJlYWR5IGV4aXN0c2ApKTtcbiAgICAgIGF3YWl0IGRiLmRlc3Ryb3koKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKGBTWU5DIHRvICR7bGFiZWx9Li4uYCk7XG4gICAgY29uc3QgbXlzcWxDbWQgPSBgbXlzcWwgLWgke2Nvbm4uaG9zdH0gLXUke2Nvbm4udXNlcn0gLXAke2Nvbm4ucGFzc3dvcmR9YDtcbiAgICBleGVjU3luYyhgJHtteXNxbENtZH0gLWUgJ0RST1AgREFUQUJBU0UgSUYgRVhJU1RTIFxcYCR7Y29ubi5kYXRhYmFzZX1cXGAnYCk7XG4gICAgZXhlY1N5bmMoYCR7bXlzcWxDbWR9IC1lICdDUkVBVEUgREFUQUJBU0UgXFxgJHtjb25uLmRhdGFiYXNlfVxcYCdgKTtcbiAgICBleGVjU3luYyhgJHtteXNxbENtZH0gJHtjb25uLmRhdGFiYXNlfSA8ICR7ZHVtcEZpbGVuYW1lfWApO1xuICAgIGlmIChhd2FpdCBleGlzdHMobWlncmF0aW9uc0R1bXApKSB7XG4gICAgICBleGVjU3luYyhgJHtteXNxbENtZH0gJHtjb25uLmRhdGFiYXNlfSA8ICR7bWlncmF0aW9uc0R1bXB9YCk7XG4gICAgfVxuXG4gICAgYXdhaXQgZGIuZGVzdHJveSgpO1xuICB9XG5cbiAgYXdhaXQgX2RiLmRlc3Ryb3koKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZml4dHVyZV9pbXBvcnQoZW50aXR5SWQ6IHN0cmluZywgcmVjb3JkSWRzOiBudW1iZXJbXSkge1xuICBhd2FpdCBzZXR1cEZpeHR1cmVNYW5hZ2VyKCk7XG5cbiAgYXdhaXQgRml4dHVyZU1hbmFnZXIuaW1wb3J0Rml4dHVyZShlbnRpdHlJZCwgcmVjb3JkSWRzKTtcbiAgYXdhaXQgRml4dHVyZU1hbmFnZXIuc3luYygpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmaXh0dXJlX3N5bmMoKSB7XG4gIGF3YWl0IHNldHVwRml4dHVyZU1hbmFnZXIoKTtcblxuICBhd2FpdCBGaXh0dXJlTWFuYWdlci5zeW5jKCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHN0dWJfcHJhY3RpY2UobmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IHByYWN0aWNlRGlyID0gcGF0aC5qb2luKFNvbmFtdS5hcGlSb290UGF0aCwgXCJzcmNcIiwgXCJwcmFjdGljZXNcIik7XG4gIGNvbnN0IGZpbGVOYW1lcyA9IGF3YWl0IHJlYWRkaXIocHJhY3RpY2VEaXIpO1xuXG4gIGNvbnN0IG1heFNlcU5vID0gYXdhaXQgKGFzeW5jICgpID0+IHtcbiAgICBpZiAoIShhd2FpdCBleGlzdHMocHJhY3RpY2VEaXIpKSkge1xuICAgICAgYXdhaXQgbWtkaXIocHJhY3RpY2VEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbHRlcmVkU2VxcyA9IGZpbGVOYW1lc1xuICAgICAgLmZpbHRlcigoZmlsZU5hbWUpID0+IGZpbGVOYW1lLnN0YXJ0c1dpdGgoXCJwXCIpICYmIGZpbGVOYW1lLmVuZHNXaXRoKFwiLnRzXCIpKVxuICAgICAgLm1hcCgoZmlsZU5hbWUpID0+IHtcbiAgICAgICAgY29uc3QgWywgc2VxTm9dID0gZmlsZU5hbWUubWF0Y2goL15wKFswLTldKyktLykgPz8gW1wiMFwiLCBcIjBcIl07XG4gICAgICAgIHJldHVybiBwYXJzZUludChzZXFObyk7XG4gICAgICB9KVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGIgLSBhKTtcblxuICAgIGlmIChmaWx0ZXJlZFNlcXMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGZpbHRlcmVkU2Vxc1swXTtcbiAgICB9XG5cbiAgICByZXR1cm4gMDtcbiAgfSkoKTtcblxuICBjb25zdCBjdXJyZW50U2VxTm8gPSBtYXhTZXFObyArIDE7XG4gIGNvbnN0IGZpbGVOYW1lID0gYHAke2N1cnJlbnRTZXFOb30tJHtuYW1lfS50c2A7XG4gIGNvbnN0IGRzdFBhdGggPSBwYXRoLmpvaW4ocHJhY3RpY2VEaXIsIGZpbGVOYW1lKTtcblxuICBjb25zdCBjb2RlID0gW1xuICAgIGBpbXBvcnQgeyBTb25hbXUgfSBmcm9tIFwic29uYW11XCI7YCxcbiAgICBcIlwiLFxuICAgIGBjb25zb2xlLmNsZWFyKCk7YCxcbiAgICBgY29uc29sZS5sb2coXCIke2ZpbGVOYW1lfVwiKTtgLFxuICAgIFwiXCIsXG4gICAgYFNvbmFtdS5ydW5TY3JpcHQoYXN5bmMgKCkgPT4ge2AsXG4gICAgYCAvLyBUT0RPYCxcbiAgICBgfSk7YCxcbiAgICBcIlwiLFxuICBdLmpvaW4oXCJcXG5cIik7XG4gIGF3YWl0IHdyaXRlRmlsZShkc3RQYXRoLCBjb2RlKTtcblxuICBleGVjU3luYyhgY29kZSAke2RzdFBhdGh9YCk7XG5cbiAgY29uc3QgcnVuQ29kZSA9IGB5YXJuIG5vZGUgLXIgZG90ZW52L2NvbmZpZyAtLWVuYWJsZS1zb3VyY2UtbWFwcyBkaXN0L3ByYWN0aWNlcy8ke2ZpbGVOYW1lLnJlcGxhY2UoXG4gICAgXCIudHNcIixcbiAgICBcIi5qc1wiLFxuICApfWA7XG4gIGNvbnNvbGUubG9nKGAke2NoYWxrLmJsdWUocnVuQ29kZSl9IGNvcGllZCB0byBjbGlwYm9hcmQuYCk7XG4gIGV4ZWNTeW5jKGBlY2hvIFwiJHtydW5Db2RlfVwiIHwgcGJjb3B5YCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHN0dWJfZW50aXR5KGVudGl0eUlkOiBzdHJpbmcpIHtcbiAgYXdhaXQgU29uYW11LnN5bmNlci5jcmVhdGVFbnRpdHkoeyBlbnRpdHlJZCwgdGl0bGU6IGVudGl0eUlkIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzY2FmZm9sZF9tb2RlbChlbnRpdHlJZDogc3RyaW5nKSB7XG4gIGF3YWl0IFNvbmFtdS5zeW5jZXIuZ2VuZXJhdGVUZW1wbGF0ZShcIm1vZGVsXCIsIHtcbiAgICBlbnRpdHlJZCxcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNjYWZmb2xkX21vZGVsX3Rlc3QoZW50aXR5SWQ6IHN0cmluZykge1xuICBhd2FpdCBTb25hbXUuc3luY2VyLmdlbmVyYXRlVGVtcGxhdGUoXCJtb2RlbF90ZXN0XCIsIHtcbiAgICBlbnRpdHlJZCxcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiY2hhbGsiLCJkb3RlbnYiLCJjb25maWciLCJleGVjU3luYyIsInNwYXduIiwibWtkaXIiLCJyZWFkZGlyIiwicm0iLCJ3cml0ZUZpbGUiLCJrbmV4IiwiY3JlYXRlUmVxdWlyZSIsInBhdGgiLCJwcm9jZXNzIiwidHNpY2xpIiwiU29uYW11IiwiRW50aXR5TWFuYWdlciIsIk1pZ3JhdG9yIiwiRml4dHVyZU1hbmFnZXIiLCJleGlzdHMiLCJmaW5kQXBpUm9vdFBhdGgiLCJCVUlMRF9ESVIiLCJTV0NfQlVJTERfQ09NTUFORCIsIlRTQ19UWVBFX0NIRUNLX0NPTU1BTkQiLCJtaWdyYXRvciIsImJvb3RzdHJhcCIsIm5vdFRvSW5pdCIsImluY2x1ZGVzIiwiYXJndiIsImluaXQiLCJ0eXBlcyIsInR5cGUiLCJuYW1lIiwibWVzc2FnZSIsImNob2ljZXMiLCJnZXRBbGxQYXJlbnRJZHMiLCJtYXAiLCJlbnRpdHlJZCIsInRpdGxlIiwidmFsdWUiLCJhcmdzIiwicnVubmVycyIsIm1pZ3JhdGVfc3RhdHVzIiwibWlncmF0ZV9ydW4iLCJmaXh0dXJlX2luaXQiLCJmaXh0dXJlX2ltcG9ydCIsImZpeHR1cmVfc3luYyIsInN0dWJfcHJhY3RpY2UiLCJzdHViX2VudGl0eSIsInNjYWZmb2xkX21vZGVsIiwic2NhZmZvbGRfbW9kZWxfdGVzdCIsInN5bmMiLCJkZXYiLCJidWlsZCIsInN0YXJ0IiwiZGVzdHJveSIsImZpbmFsbHkiLCJzeW5jZXIiLCJhcGlSb290IiwiZW50cnlQb2ludCIsImNvbnNvbGUiLCJsb2ciLCJ5ZWxsb3ciLCJib2xkIiwiaG90UnVubmVyQmluUGF0aCIsInVybCIsInJlc29sdmUiLCJzZXJ2ZXJQcm9jZXNzIiwiZXhlY1BhdGgiLCJqb2luIiwiY3dkIiwic3RkaW8iLCJlbnYiLCJOT0RFX0VOViIsIkhPVCIsIkFQSV9ST09UX1BBVEgiLCJjbGVhbnVwIiwia2lsbCIsImV4aXQiLCJvbiIsImNvZGUiLCJlcnJvciIsInJlZCIsImJsdWUiLCJyZWN1cnNpdmUiLCJmb3JjZSIsInN3Y0ZpbGVQYXRoIiwiZGlybmFtZSIsInNldHVwTWlncmF0b3IiLCJzZXR1cEZpeHR1cmVNYW5hZ2VyIiwicnVuQWN0aW9uIiwiT2JqZWN0Iiwia2V5cyIsImRiQ29uZmlnIiwic3RhdHVzIiwiZ2V0U3RhdHVzIiwic3JjQ29uZmlnIiwiZGV2ZWxvcG1lbnRfbWFzdGVyIiwidGFyZ2V0cyIsImxhYmVsIiwiZml4dHVyZV9yZW1vdGUiLCJ0ZXN0IiwidG9Ta2lwIiwicmVtb3RlQ29ubiIsImNvbm5lY3Rpb24iLCJsb2NhbENvbm4iLCJob3N0IiwiZGF0YWJhc2UiLCJkdW1wRmlsZW5hbWUiLCJEYXRlIiwibm93Iiwic3JjQ29ubiIsIm1pZ3JhdGlvbnNEdW1wIiwidXNlciIsInBhc3N3b3JkIiwiX2RiIiwibWlncmF0aW9ucyIsInJhdyIsImNvdW50IiwiY29ubiIsImRiIiwidW5kZWZpbmVkIiwicm93IiwibXlzcWxDbWQiLCJyZWNvcmRJZHMiLCJpbXBvcnRGaXh0dXJlIiwicHJhY3RpY2VEaXIiLCJhcGlSb290UGF0aCIsImZpbGVOYW1lcyIsIm1heFNlcU5vIiwiZmlsdGVyZWRTZXFzIiwiZmlsdGVyIiwiZmlsZU5hbWUiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJzZXFObyIsIm1hdGNoIiwicGFyc2VJbnQiLCJzb3J0IiwiYSIsImIiLCJsZW5ndGgiLCJjdXJyZW50U2VxTm8iLCJkc3RQYXRoIiwicnVuQ29kZSIsInJlcGxhY2UiLCJjcmVhdGVFbnRpdHkiLCJnZW5lcmF0ZVRlbXBsYXRlIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxXQUFXLFFBQVE7QUFDMUIsT0FBT0MsWUFBWSxTQUFTO0FBRTVCQSxPQUFPQyxNQUFNO0FBRWIsU0FBU0MsUUFBUSxFQUFFQyxLQUFLLFFBQVEsZ0JBQWdCO0FBQ2hELFNBQVNDLEtBQUssRUFBRUMsT0FBTyxFQUFFQyxFQUFFLEVBQUVDLFNBQVMsUUFBUSxtQkFBYztBQUM1RCxPQUFPQyxVQUF5QixPQUFPO0FBQ3ZDLFNBQVNDLGFB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
|
|
451
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vY2xpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjaGFsayBmcm9tIFwiY2hhbGtcIjtcbmltcG9ydCBkb3RlbnYgZnJvbSBcImRvdGVudlwiO1xuXG5kb3RlbnYuY29uZmlnKCk7XG5cbmltcG9ydCB7IGV4ZWNTeW5jLCBzcGF3biB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgeyBta2RpciwgcmVhZGRpciwgcm0sIHdyaXRlRmlsZSB9IGZyb20gXCJmcy9wcm9taXNlc1wiO1xuaW1wb3J0IGtuZXgsIHsgdHlwZSBLbmV4IH0gZnJvbSBcImtuZXhcIjtcbmltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibW9kdWxlXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHByb2Nlc3MgZnJvbSBcInByb2Nlc3NcIjtcbmltcG9ydCB7IHRzaWNsaSB9IGZyb20gXCJ0c2ljbGlcIjtcbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi9hcGlcIjtcbmltcG9ydCB0eXBlIHsgU29uYW11REJDb25maWcgfSBmcm9tIFwiLi4vZGF0YWJhc2UvZGJcIjtcbmltcG9ydCB7IEVudGl0eU1hbmFnZXIgfSBmcm9tIFwiLi4vZW50aXR5L2VudGl0eS1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBNaWdyYXRvciB9IGZyb20gXCIuLi9taWdyYXRpb24vbWlncmF0b3JcIjtcbmltcG9ydCB7IEZpeHR1cmVNYW5hZ2VyIH0gZnJvbSBcIi4uL3Rlc3RpbmcvZml4dHVyZS1tYW5hZ2VyXCI7XG5pbXBvcnQgeyBleGlzdHMgfSBmcm9tIFwiLi4vdXRpbHMvZnMtdXRpbHNcIjtcbmltcG9ydCB7IGZpbmRBcGlSb290UGF0aCB9IGZyb20gXCIuLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgQlVJTERfRElSLCBTV0NfQlVJTERfQ09NTUFORCwgVFNDX1RZUEVfQ0hFQ0tfQ09NTUFORCB9IGZyb20gXCIuL2J1aWxkLWNvbmZpZ1wiO1xuXG5sZXQgbWlncmF0b3I6IE1pZ3JhdG9yO1xuXG5hc3luYyBmdW5jdGlvbiBib290c3RyYXAoKSB7XG4gIGNvbnN0IG5vdFRvSW5pdCA9IFtcImRldlwiLCBcImJ1aWxkXCIsIFwic3RhcnRcIl0uaW5jbHVkZXMocHJvY2Vzcy5hcmd2WzJdID8/IFwiXCIpO1xuICBpZiAoIW5vdFRvSW5pdCkge1xuICAgIGF3YWl0IFNvbmFtdS5pbml0KGZhbHNlLCBmYWxzZSk7XG4gIH1cblxuICB0cnkge1xuICAgIGF3YWl0IHRzaWNsaShwcm9jZXNzLmFyZ3YsIHtcbiAgICAgIHR5cGVzOiB7XG4gICAgICAgIFwiI2VudGl0eUlkXCI6IHtcbiAgICAgICAgICB0eXBlOiBcImF1dG9jb21wbGV0ZVwiLFxuICAgICAgICAgIG5hbWU6IFwiI2VudGl0eUlkXCIsXG4gICAgICAgICAgbWVzc2FnZTogXCJQbGVhc2UgaW5wdXQgI2VudGl0eUlkXCIsXG4gICAgICAgICAgY2hvaWNlczogRW50aXR5TWFuYWdlci5nZXRBbGxQYXJlbnRJZHMoKS5tYXAoKGVudGl0eUlkKSA9PiAoe1xuICAgICAgICAgICAgdGl0bGU6IGVudGl0eUlkLFxuICAgICAgICAgICAgdmFsdWU6IGVudGl0eUlkLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSxcbiAgICAgICAgXCIjcmVjb3JkSWRzXCI6IFwibnVtYmVyW11cIixcbiAgICAgICAgXCIjbmFtZVwiOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIGFyZ3M6IFtcbiAgICAgICAgW1wiZml4dHVyZVwiLCBcImluaXRcIl0sXG4gICAgICAgIFtcImZpeHR1cmVcIiwgXCJpbXBvcnRcIiwgXCIjZW50aXR5SWRcIiwgXCIjcmVjb3JkSWRzXCJdLFxuICAgICAgICBbXCJmaXh0dXJlXCIsIFwic3luY1wiXSxcbiAgICAgICAgW1wibWlncmF0ZVwiLCBcInJ1blwiXSxcbiAgICAgICAgW1wibWlncmF0ZVwiLCBcImNoZWNrXCJdLFxuICAgICAgICBbXCJtaWdyYXRlXCIsIFwicm9sbGJhY2tcIl0sXG4gICAgICAgIFtcIm1pZ3JhdGVcIiwgXCJyZXNldFwiXSxcbiAgICAgICAgW1wibWlncmF0ZVwiLCBcImNsZWFyXCJdLFxuICAgICAgICBbXCJtaWdyYXRlXCIsIFwic3RhdHVzXCJdLFxuICAgICAgICBbXCJzdHViXCIsIFwicHJhY3RpY2VcIiwgXCIjbmFtZVwiXSxcbiAgICAgICAgW1wic3R1YlwiLCBcImVudGl0eVwiLCBcIiNuYW1lXCJdLFxuICAgICAgICBbXCJzY2FmZm9sZFwiLCBcIm1vZGVsXCIsIFwiI2VudGl0eUlkXCJdLFxuICAgICAgICBbXCJzY2FmZm9sZFwiLCBcIm1vZGVsX3Rlc3RcIiwgXCIjZW50aXR5SWRcIl0sXG4gICAgICAgIFtcInNjYWZmb2xkXCIsIFwidmlld19saXN0XCIsIFwiI2VudGl0eUlkXCJdLFxuICAgICAgICBbXCJzY2FmZm9sZFwiLCBcInZpZXdfZm9ybVwiLCBcIiNlbnRpdHlJZFwiXSxcbiAgICAgICAgW1wic3luY1wiXSxcbiAgICAgICAgW1wiZGV2XCJdLFxuICAgICAgICBbXCJidWlsZFwiXSxcbiAgICAgICAgW1wic3RhcnRcIl0sXG4gICAgICBdLFxuICAgICAgcnVubmVyczoge1xuICAgICAgICBtaWdyYXRlX3N0YXR1cyxcbiAgICAgICAgbWlncmF0ZV9ydW4sXG4gICAgICAgIGZpeHR1cmVfaW5pdCxcbiAgICAgICAgZml4dHVyZV9pbXBvcnQsXG4gICAgICAgIGZpeHR1cmVfc3luYyxcbiAgICAgICAgc3R1Yl9wcmFjdGljZSxcbiAgICAgICAgc3R1Yl9lbnRpdHksXG4gICAgICAgIHNjYWZmb2xkX21vZGVsLFxuICAgICAgICBzY2FmZm9sZF9tb2RlbF90ZXN0LFxuICAgICAgICAvLyBzY2FmZm9sZF92aWV3X2xpc3QsXG4gICAgICAgIC8vIHNjYWZmb2xkX3ZpZXdfZm9ybSxcbiAgICAgICAgc3luYyxcbiAgICAgICAgZGV2LFxuICAgICAgICBidWlsZCxcbiAgICAgICAgc3RhcnQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9IGZpbmFsbHkge1xuICAgIGF3YWl0IFNvbmFtdS5kZXN0cm95KCk7XG4gIH1cbn1cblxuYm9vdHN0cmFwKCkuZmluYWxseShhc3luYyAoKSA9PiB7XG4gIGF3YWl0IEZpeHR1cmVNYW5hZ2VyLmRlc3Ryb3koKTtcbn0pO1xuXG4vKipcbiAqIHBucG0gc3luYyDtlZjrqbQg7Iuk7ZaJ65CY64qUIO2VqOyImOyeheuLiOuLpC5cbiAqIO2UhOuhnOygne2KuOulvCDsi7Htgaztlanri4jri6QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHN5bmMoKSB7XG4gIGF3YWl0IFNvbmFtdS5zeW5jZXIuc3luYygpO1xufVxuXG4vKipcbiAqIHBucG0gZGV2IO2VmOuptCDsi6TtlonrkJjripQg7ZWo7IiY7J6F64uI64ukLlxuICog7ZSE66Gc7KCd7Yq47JeQIOuMgO2VtCBITVIg7KeA7JuQ7ZWY64qUIOqwnOuwnCDshJzrsoTrpbwg652E7JuM7KSN64uI64ukLlxuICpcbiAqIFR5cGVTY3JpcHTrpbwg67CU66GcIOyLpO2Wie2VoCDsiJgg7J6I64+E66GdIEBzb25hbXUta2l0L3RzLWxvYWRlcuulvCxcbiAqIEhNUuydhCDsp4Dsm5DtlZjquLAg7JyE7ZW0IEBzb25hbXUta2l0L2htci1ob29r7J2EIGltcG9ydO2VmOupsCxcbiAqIOyGjOyKpOuntSDsp4Dsm5DsnYQg7JyE7ZW0IC0tZW5hYmxlLXNvdXJjZS1tYXBzIO2UjOuemOq3uOulvCDtj6ztlajtlZjsl6wg7Iuk7ZaJ7ZWp64uI64ukLlxuICpcbiAqIOydtOuVjCBAc29uYW11LWtpdC90cy1sb2FkZXLsmYAgQHNvbmFtdS1raXQvaG1yLWhvb2vripQgc29uYW116rCAIOyekOyytOyggeycvOuhnCDqsIDsp4Dqs6Ag7J6I64qUIGRlcGVuZGVuY3nsnoXri4jri6QuXG4gKiDrmJDtlZwg7Iuk7ZaJ7JeQIOyCrOyaqe2VmOuKlCBAc29uYW11LWtpdC9obXItcnVubmVy64+EIOuniOywrOqwgOyngOuhnCBzb25hbXXqsIAg7J6Q7LK07KCB7Jy866GcIOqwgOyngOqzoCDsnojripQgZGVwZW5kZW5jeeyeheuLiOuLpC5cbiAqIOuUsOudvOyEnCDsgqzsmqnsnpAg7ZSE66Gc7KCd7Yq47JeQ7ISc64qUIOydtCDshLgg7Yyo7YKk7KeA66W8IOyngeygkSDshKTsuZjtlaAg7ZWE7JqU6rCAIOyXhuyKteuLiOuLpC5cbiAqXG4gKiBTb25hbXUuaW5pdCDsl4bsnbQg7Zi47Lac65CgIOqyg+ydhCDsg4HsoJXtlZjsl6wg6rWs7ZiE65CY7JeI7Iq164uI64ukLlxuICovXG5hc3luYyBmdW5jdGlvbiBkZXYoKSB7XG4gIGNvbnN0IGFwaVJvb3QgPSBmaW5kQXBpUm9vdFBhdGgoKTtcbiAgY29uc3QgZW50cnlQb2ludCA9IFwic3JjL2luZGV4LnRzXCI7XG5cbiAgY29uc29sZS5sb2coY2hhbGsueWVsbG93LmJvbGQoXCLwn5qAIFN0YXJ0aW5nIFNvbmFtdSBkZXYgc2VydmVyLi4uXFxuXCIpKTtcblxuICAvLyDsnbQgc29uYW11IO2MqO2CpOyngOqwgCBkZXBlbmRlbmNpZXProZwg6rCA7KeA6rOgIOyeiOuKlCBAc29uYW11LWtpdC9obXItcnVubmVy7J2YIGJpbi9ydW4uanPrpbwg7IKs7Jqp7ZWp64uI64ukLlxuICAvLyDsnbQg6rK966GcKC9iaW4vcnVuLmpzKeuKlCBAc29uYW11LWtpdC9obXItcnVubmVy7J2YIHBhY2thZ2UuanNvbuydmCBiaW4g7ZWE65Oc7JeQIOuqheyLnOuQmOyWtCDsnojripQg6re46rKD6rO8IOqwmeyKteuLiOuLpC5cbiAgY29uc3QgaG90UnVubmVyQmluUGF0aCA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKS5yZXNvbHZlKFxuICAgIFwiQHNvbmFtdS1raXQvaG1yLXJ1bm5lci9iaW4vcnVuLmpzXCIsXG4gICk7XG5cbiAgY29uc3Qgc2VydmVyUHJvY2VzcyA9IHNwYXduKFxuICAgIHByb2Nlc3MuZXhlY1BhdGgsIC8vIG5vZGVcbiAgICBbXG4gICAgICBob3RSdW5uZXJCaW5QYXRoLCAvLyDsnbTroIfqsowg7ZW07IScIGhvdC1ydW5uZXLrpbwg7Iuk7ZaJ7ZWY6rWs7JqUXG4gICAgICBcIi0tY2xlYXItc2NyZWVuPWZhbHNlXCIsIC8vIOydtO2VmCBob3QtcnVubmVy7JeQ6rKMIOuEmOqyqOykhCDsnbjsnpDrk6TsnoXri4jri6QuXG4gICAgICBcIi0tbm9kZS1hcmdzPS0taW1wb3J0PXNvbmFtdS90cy1sb2FkZXItcmVnaXN0ZXJcIiwgLy8gVHlwZVNjcmlwdCDshJztj6ztirjrpbwg7JyE7ZWcIOuhnOuNlCxcbiAgICAgIFwiLS1ub2RlLWFyZ3M9LS1pbXBvcnQ9c29uYW11L2htci1ob29rLXJlZ2lzdGVyXCIsIC8vIEhNUuydhCDsp4Dsm5DtlZjquLAg7JyE7ZWcIGhvb2ssXG4gICAgICBcIi0tbm9kZS1hcmdzPS0tZW5hYmxlLXNvdXJjZS1tYXBzXCIsIC8vIOq3uOumrOqzoCDshozsiqTrp7Ug7KeA7JuQ7J2EIOychO2VnCDtlIzrnpjqt7jsnoXri4jri6QuXG4gICAgICBcIi0tb24ta2V5PXI6cmVzdGFydDpSZXN0YXJ0IHNlcnZlclwiLCAvLyByIOuIhOultOuptCDshJzrsoQg7J6s7Iuc7J6R7ZWY6rKMIO2VtOykmOyalC5cbiAgICAgIGAtLW9uLWtleT1mOnNoZWxsKHJtICR7cGF0aC5qb2luKGFwaVJvb3QsIFwic29uYW11LmxvY2tcIil9KTpyZXN0YXJ0OkZvcmNlIHJlc3RhcnRgLCAvLyBmIOuIhOultOuptCBzb25hbXUubG9jayDtjIzsnbzsnYQg7KeA7Jqw6rOgIOyEnOuyhCDsnqzsi5zsnpHtlZjqsowg7ZW07KSY7JqULlxuXG4gICAgICBcIi0tb24ta2V5PWVudGVyOnNoZWxsKGVjaG8gaGkpOktleSBiaW5kaW5nIHRlc3RcIiwgLy8gZW50ZXLrpbwga2V566GcIOyTuCDsiJgg7J6I7J2M7J2EIOuztOydtOq4sCDsnITtlZwg7YWM7Iqk7Yq47J6F64uI64ukLlxuICAgICAgXCItLW9uLWtleT1jdHJsK2YgY3RybCtmOnNoZWxsKGdpdCBwdWxsICYmIHBucG0gaW5zdGFsbCAmJiBwbnBtIC0tZmlsdGVyIHNvbmFtdSBidWlsZCAmJiBlY2hvICdTb25hbXUgaXMgbm93IHVwLXRvLWRhdGUhJyk6cmVzdGFydDpQdWxsICYgaW5zdGFsbCAmIGJ1aWxkICYgcmVzdGFydFwiLCAvLyBtb2RpZmllcuyZgOydmCDsobDtlaksIOq3uOumrOqzoCDrkZAg6rCc7J2YIGNob3Jk66W8IOyCrOyaqe2VoCDsiJgg7J6I7J2M7J2EIOuztOydtOq4sCDsnITtlZwg7YWM7Iqk7Yq47J6F64uI64ukLlxuICAgICAgZW50cnlQb2ludCwgLy8g66eI7KeA66eJ7Jy866GcIOyLpOygnCDsi6TtlontlaAg7Iqk7YGs66a97Yq47J2YIOqyveuhnOulvCDrhJjqsqjspI3ri4jri6QuXG4gICAgXSxcbiAgICB7XG4gICAgICBjd2Q6IGFwaVJvb3QsXG4gICAgICBzdGRpbzogXCJpbmhlcml0XCIsXG4gICAgICBlbnY6IHtcbiAgICAgICAgLi4ucHJvY2Vzcy5lbnYsXG4gICAgICAgIE5PREVfRU5WOiBcImRldmVsb3BtZW50XCIsXG4gICAgICAgIEhPVDogXCJ5ZXNcIiwgLy8g7JaY6rCAIOyeiOyWtOyVvCBITVLsnbQg7Zmc7ISx7ZmU65Cp64uI64ukLlxuICAgICAgICBBUElfUk9PVF9QQVRIOiBhcGlSb290LCAvLyDsnbQg6rK966Gc6rCAIGhtci1ob29r7J2YIOujqO2KuCDrlJTroInthqDrpqzqsIAg65Cp64uI64ukLlxuICAgICAgfSxcbiAgICB9LFxuICApO1xuXG4gIC8vIOyiheujjCDsspjrpqxcbiAgY29uc3QgY2xlYW51cCA9ICgpID0+IHtcbiAgICBjb25zb2xlLmxvZyhjaGFsay55ZWxsb3coXCJcXG5cXG7wn5GLIFNodXR0aW5nIGRvd24uLi5cIikpO1xuICAgIHNlcnZlclByb2Nlc3Mua2lsbChcIlNJR1RFUk1cIik7XG4gICAgcHJvY2Vzcy5leGl0KDApO1xuICB9O1xuXG4gIHByb2Nlc3Mub24oXCJTSUdJTlRcIiwgY2xlYW51cCk7XG4gIHByb2Nlc3Mub24oXCJTSUdURVJNXCIsIGNsZWFudXApO1xuXG4gIHNlcnZlclByb2Nlc3Mub24oXCJleGl0XCIsIChjb2RlKSA9PiB7XG4gICAgaWYgKGNvZGUgIT09IDApIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoY2hhbGsucmVkKGDinYwgU2VydmVyIGV4aXRlZCB3aXRoIGNvZGUgJHtjb2RlfWApKTtcbiAgICAgIHByb2Nlc3MuZXhpdChjb2RlIHx8IDEpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogcG5wbSBidWlsZCDtlZjrqbQg7Iuk7ZaJ65CY64qUIO2VqOyImOyeheuLiOuLpC5cbiAqIO2UhOuhnOygne2KuOulvCDruYzrk5ztlanri4jri6QuXG4gKlxuICog67mM65Oc7JeQIO2VhOyalO2VnCAuc3djcmPripQg7ZSE66Gc7KCd7Yq4IOujqO2KuOyXkOyEnCDssL7qs6AsIOyXhuycvOuptCBzb25hbXXqsIAg6rSA66as7ZWY64qUIC5zd2NyYy5wcm9qZWN0LWRlZmF1bHTrpbwg7IKs7Jqp7ZWp64uI64ukLlxuICogc29uYW11LmNvbmZpZy50c+uKlCBzcmPsl5Ag65Ok7Ja07J6I7KeAIOyViuq4sCDrlYzrrLjsl5AgU1dDX0JVSUxEX0NPTU1BTkTroZwg67mM65Oc65CY7KeAIOyViuyKteuLiOuLpC5cbiAqIOuUsOudvOyEnCDrlLDroZwg67mM65Oc7ZW07KSN64uI64ukLlxuICpcbiAqIFNvbmFtdS5pbml0IOyXhuydtCDtmLjstpzrkKAg6rKD7J2EIOyDgeygle2VmOyXrCDqtaztmITrkJjsl4jsirXri4jri6QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGJ1aWxkKCkge1xuICBjb25zdCBhcGlSb290ID0gZmluZEFwaVJvb3RQYXRoKCk7XG5cbiAgLy8g7Lac66ClIOuUlOugie2GoOumrOulvCDsoJzqsbDtlanri4jri6QuXG4gIHRyeSB7XG4gICAgY29uc29sZS5sb2coY2hhbGsuYmx1ZShcIlJlbW92aW5nIGJ1aWxkIGRpcmVjdG9yeS4uLlwiKSk7XG4gICAgaWYgKGF3YWl0IGV4aXN0cyhCVUlMRF9ESVIpKSB7XG4gICAgICBhd2FpdCBybShCVUlMRF9ESVIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihjaGFsay5yZWQoXCJSZW1vdmUgYnVpbGQgZGlyZWN0b3J5IGZhaWxlZC5cIiksIGVycm9yKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH1cblxuICAvLyAuc3djcmMg7YyM7J287J2EIOyngOygle2VqeuLiOuLpC5cbiAgbGV0IHN3Y0ZpbGVQYXRoID0gXCIuc3djcmNcIjtcbiAgdHJ5IHtcbiAgICBpZiAoYXdhaXQgZXhpc3RzKHN3Y0ZpbGVQYXRoKSkge1xuICAgICAgLy8g7IKs7Jqp7J6QIO2UhOuhnOygne2KuOyXkCAuc3djcmPqsIAg7J6I7Jy866m0IOyasOyEoOycvOuhnCDsgqzsmqntlanri4jri6QuXG4gICAgICBjb25zb2xlLmxvZyhjaGFsay5ibHVlKFwiVXNpbmcgLnN3Y3JjIGZyb20gcHJvamVjdCByb290Li4uXCIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8g7JWE64uI652866m0IHNvbmFtdeqwgCDqtIDrpqztlZjripQgLnN3Y3JjLnByb2plY3QtZGVmYXVsdOulvCDqsIDsoLjri6Qg7JSB64uI64ukLlxuICAgICAgY29uc29sZS5sb2coY2hhbGsuYmx1ZShcIlVzaW5nIGRlZmF1bHQgLnN3Y3JjIGZyb20gc29uYW11IHBhY2thZ2UuLi5cIikpO1xuICAgICAgc3djRmlsZVBhdGggPSBwYXRoLmpvaW4oaW1wb3J0Lm1ldGEuZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwiLnN3Y3JjLnByb2plY3QtZGVmYXVsdFwiKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihjaGFsay5yZWQoXCJTZXR0aW5nIHVwIHN3YyBjb25maWcgZmlsZSBmYWlsZWQuXCIpLCBlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgLy8g7IaM7IqkIOuUlOugie2GoOumrOulvCDruYzrk5ztlanri4jri6QuXG4gIHRyeSB7XG4gICAgY29uc29sZS5sb2coY2hhbGsuYmx1ZShcIkJ1aWxkaW5nIHdpdGggc3djLi4uXCIpKTtcbiAgICBleGVjU3luYyhTV0NfQlVJTERfQ09NTUFORChzd2NGaWxlUGF0aCksIHsgY3dkOiBhcGlSb290LCBzdGRpbzogXCJpbmhlcml0XCIgfSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihjaGFsay5yZWQoXCJCdWlsZCBmYWlsZWQuXCIpLCBlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgLy8g66eI7KeA66eJ7JeQ64qUIO2DgOyehSDssrTtgazrpbwg7ZW07JqULlxuICB0cnkge1xuICAgIGNvbnNvbGUubG9nKGNoYWxrLmJsdWUoXCJDaGVja2luZyB0eXBlcyB3aXRoIHRzYy4uLlwiKSk7XG4gICAgZXhlY1N5bmMoVFNDX1RZUEVfQ0hFQ0tfQ09NTUFORCwge1xuICAgICAgY3dkOiBhcGlSb290LFxuICAgICAgc3RkaW86IFwiaW5oZXJpdFwiLFxuICAgIH0pO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoY2hhbGsucmVkKFwiVHlwZSBjaGVjayBmYWlsZWQuXCIpLCBlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG59XG5cbi8qKlxuICogcG5wbSBzdGFydCDtlZjrqbQg7Iuk7ZaJ65CY64qUIO2VqOyImOyeheuLiOuLpC5cbiAqIOu5jOuTnOuQnCDtlITroZzsoJ3tirjrpbwg7Iuk7ZaJ7ZWp64uI64ukLlxuICpcbiAqIOu5jOuTnOuQnCDqsrDqs7zrrLwoZGlzdCDrlJTroInthqDrpqzsnZggaW5kZXguanMg7JeU7Yq466as7Y+s7J247Yq4KeydtCDsl4bri6TrqbQg7Iuk7ZaJ7J2EIOykkeuLqO2VqeuLiOuLpC5cbiAqIOyGjOyKpOuntSDsp4Dsm5Dqs7wgZG90ZW52IOyngOybkOydhCDtj6ztlajtlZjsl6wg7Iuk7ZaJ7ZWp64uI64ukLlxuICpcbiAqIFNvbmFtdS5pbml0IOyXhuydtCDtmLjstpzrkKAg6rKD7J2EIOyDgeygle2VmOyXrCDqtaztmITrkJjsl4jsirXri4jri6QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHN0YXJ0KCkge1xuICBjb25zdCBhcGlSb290ID0gZmluZEFwaVJvb3RQYXRoKCk7XG4gIGNvbnN0IGVudHJ5UG9pbnQgPSBcImRpc3QvaW5kZXguanNcIjtcblxuICBpZiAoIShhd2FpdCBleGlzdHMoZW50cnlQb2ludCkpKSB7XG4gICAgY29uc29sZS5sb2coY2hhbGsucmVkKGAke2VudHJ5UG9pbnR9IG5vdCBmb3VuZC4gUGxlYXNlIGJ1aWxkIHlvdXIgcHJvamVjdCBmaXJzdC5gKSk7XG4gICAgY29uc29sZS5sb2coY2hhbGsuYmx1ZShcIlJ1bjogeWFybiBzb25hbXUgYnVpbGRcIikpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHsgc3Bhd24gfSA9IGF3YWl0IGltcG9ydChcImNoaWxkX3Byb2Nlc3NcIik7XG4gIGNvbnN0IHNlcnZlclByb2Nlc3MgPSBzcGF3bihcbiAgICBwcm9jZXNzLmV4ZWNQYXRoLFxuICAgIFtcIi0tZW5hYmxlLXNvdXJjZS1tYXBzXCIsIFwiLXJcIiwgXCJkb3RlbnYvY29uZmlnXCIsIGVudHJ5UG9pbnRdLFxuICAgIHtcbiAgICAgIGN3ZDogYXBpUm9vdCxcbiAgICAgIHN0ZGlvOiBcImluaGVyaXRcIixcbiAgICB9LFxuICApO1xuXG4gIHByb2Nlc3Mub24oXCJTSUdJTlRcIiwgKCkgPT4ge1xuICAgIHNlcnZlclByb2Nlc3Mua2lsbChcIlNJR1RFUk1cIik7XG4gICAgcHJvY2Vzcy5leGl0KDApO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2V0dXBNaWdyYXRvcigpIHtcbiAgLy8gbWlncmF0b3JcbiAgbWlncmF0b3IgPSBuZXcgTWlncmF0b3IoKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2V0dXBGaXh0dXJlTWFuYWdlcigpIHtcbiAgRml4dHVyZU1hbmFnZXIuaW5pdCgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBtaWdyYXRlX3J1bigpIHtcbiAgYXdhaXQgc2V0dXBNaWdyYXRvcigpO1xuXG4gIGF3YWl0IG1pZ3JhdG9yLnJ1bkFjdGlvbihcbiAgICBcImFwcGx5XCIsXG4gICAgT2JqZWN0LmtleXMoU29uYW11LmRiQ29uZmlnKSBhcyAoa2V5b2YgU29uYW11REJDb25maWcpW10gLyrsi7kg64ukISovLFxuICApO1xufVxuXG5hc3luYyBmdW5jdGlvbiBtaWdyYXRlX3N0YXR1cygpIHtcbiAgYXdhaXQgc2V0dXBNaWdyYXRvcigpO1xuXG4gIGNvbnN0IHN0YXR1cyA9IGF3YWl0IG1pZ3JhdG9yLmdldFN0YXR1cygpO1xuICAvLyBzdGF0dXM7XG4gIGNvbnNvbGUubG9nKHN0YXR1cyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZpeHR1cmVfaW5pdCgpIHtcbiAgY29uc3Qgc3JjQ29uZmlnID0gU29uYW11LmRiQ29uZmlnLmRldmVsb3BtZW50X21hc3RlcjtcbiAgY29uc3QgdGFyZ2V0cyA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogXCIoUkVNT1RFKSBGaXh0dXJlIERCXCIsXG4gICAgICBjb25maWc6IFNvbmFtdS5kYkNvbmZpZy5maXh0dXJlLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6IFwiKExPQ0FMKSBUZXN0aW5nIERCXCIsXG4gICAgICBjb25maWc6IFNvbmFtdS5kYkNvbmZpZy50ZXN0LFxuICAgICAgdG9Ta2lwOiAoKCkgPT4ge1xuICAgICAgICBjb25zdCByZW1vdGVDb25uID0gU29uYW11LmRiQ29uZmlnLmZpeHR1cmUuY29ubmVjdGlvbiBhcyBLbmV4LkNvbm5lY3Rpb25Db25maWc7XG4gICAgICAgIGNvbnN0IGxvY2FsQ29ubiA9IFNvbmFtdS5kYkNvbmZpZy50ZXN0LmNvbm5lY3Rpb24gYXMgS25leC5Db25uZWN0aW9uQ29uZmlnO1xuICAgICAgICByZXR1cm4gcmVtb3RlQ29ubi5ob3N0ID09PSBsb2NhbENvbm4uaG9zdCAmJiByZW1vdGVDb25uLmRhdGFiYXNlID09PSBsb2NhbENvbm4uZGF0YWJhc2U7XG4gICAgICB9KSgpLFxuICAgIH0sXG4gIF0gYXMge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgY29uZmlnOiBLbmV4LkNvbmZpZztcbiAgICB0b1NraXA/OiBib29sZWFuO1xuICB9W107XG5cbiAgLy8gMS4g6riw7KSAREIg7Iqk7YKk66eI66W8IOuNpO2UhFxuICBjb25zb2xlLmxvZyhcIkRVTVAuLi5cIik7XG4gIGNvbnN0IGR1bXBGaWxlbmFtZSA9IGAvdG1wL3NvbmFtdS1maXh0dXJlLWluaXQtJHtEYXRlLm5vdygpfS5zcWxgO1xuICBjb25zdCBzcmNDb25uID0gc3JjQ29uZmlnLmNvbm5lY3Rpb24gYXMgS25leC5Db25uZWN0aW9uQ29uZmlnO1xuICBjb25zdCBtaWdyYXRpb25zRHVtcCA9IGAvdG1wL3NvbmFtdS1maXh0dXJlLWluaXQtbWlncmF0aW9ucy0ke0RhdGUubm93KCl9LnNxbGA7XG4gIGV4ZWNTeW5jKFxuICAgIGBteXNxbGR1bXAgLWgke3NyY0Nvbm4uaG9zdH0gLXUke3NyY0Nvbm4udXNlcn0gLXAke3NyY0Nvbm4ucGFzc3dvcmR9IC0tc2luZ2xlLXRyYW5zYWN0aW9uIC1kIC0tbm8tY3JlYXRlLWRiIC0tdHJpZ2dlcnMgJHtzcmNDb25uLmRhdGFiYXNlfSA+ICR7ZHVtcEZpbGVuYW1lfWAsXG4gICk7XG4gIGNvbnN0IF9kYiA9IGtuZXgoc3JjQ29uZmlnKTtcbiAgY29uc3QgW1ttaWdyYXRpb25zXV0gPSBhd2FpdCBfZGIucmF3KFxuICAgIFwiU0VMRUNUIENPVU5UKCopIGFzIGNvdW50IEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlcyBXSEVSRSB0YWJsZV9zY2hlbWEgPSA/IEFORCB0YWJsZV9uYW1lID0gJ2tuZXhfbWlncmF0aW9ucydcIixcbiAgICBbc3JjQ29ubi5kYXRhYmFzZV0sXG4gICk7XG4gIGlmIChtaWdyYXRpb25zLmNvdW50ID4gMCkge1xuICAgIGV4ZWNTeW5jKFxuICAgICAgYG15c3FsZHVtcCAtaCR7c3JjQ29ubi5ob3N0fSAtdSR7c3JjQ29ubi51c2VyfSAtcCR7c3JjQ29ubi5wYXNzd29yZH0gLS1zaW5nbGUtdHJhbnNhY3Rpb24gLS1uby1jcmVhdGUtZGIgLS10cmlnZ2VycyAke3NyY0Nvbm4uZGF0YWJhc2V9IGtuZXhfbWlncmF0aW9ucyBrbmV4X21pZ3JhdGlvbnNfbG9jayA+ICR7bWlncmF0aW9uc0R1bXB9YCxcbiAgICApO1xuICB9XG5cbiAgLy8gMi4g64yA7IOBREIg6rCB6rCB7JeQIOuMgO2VmOyXrCDsobTsnqzsl6zrtoAg7ZmV7J24IO2bhCDrtpPquLBcbiAgZm9yIGF3YWl0IChjb25zdCB7IGxhYmVsLCBjb25maWcsIHRvU2tpcCB9IG9mIHRhcmdldHMpIHtcbiAgICBjb25zdCBjb25uID0gY29uZmlnLmNvbm5lY3Rpb24gYXMgS25leC5Db25uZWN0aW9uQ29uZmlnO1xuXG4gICAgaWYgKHRvU2tpcCA9PT0gdHJ1ZSkge1xuICAgICAgY29uc29sZS5sb2coY2hhbGsucmVkKGAke2xhYmVsfTogU2tpcHBlZCFgKSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBkYiA9IGtuZXgoe1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgY29ubmVjdGlvbjoge1xuICAgICAgICAuLi4oKGNvbmZpZy5jb25uZWN0aW9uID8/IHt9KSBhcyBLbmV4LkNvbm5lY3Rpb25Db25maWcpLFxuICAgICAgICBkYXRhYmFzZTogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBbW3Jvd11dID0gYXdhaXQgZGIucmF3KGBTSE9XIERBVEFCQVNFUyBMSUtFIFwiJHtjb25uLmRhdGFiYXNlfVwiYCk7XG4gICAgaWYgKHJvdykge1xuICAgICAgY29uc29sZS5sb2coY2hhbGsueWVsbG93KGAke2xhYmVsfTogRGF0YWJhc2UgXCIke2Nvbm4uZGF0YWJhc2V9XCIgQWxyZWFkeSBleGlzdHNgKSk7XG4gICAgICBhd2FpdCBkYi5kZXN0cm95KCk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhgU1lOQyB0byAke2xhYmVsfS4uLmApO1xuICAgIGNvbnN0IG15c3FsQ21kID0gYG15c3FsIC1oJHtjb25uLmhvc3R9IC11JHtjb25uLnVzZXJ9IC1wJHtjb25uLnBhc3N3b3JkfWA7XG4gICAgZXhlY1N5bmMoYCR7bXlzcWxDbWR9IC1lICdEUk9QIERBVEFCQVNFIElGIEVYSVNUUyBcXGAke2Nvbm4uZGF0YWJhc2V9XFxgJ2ApO1xuICAgIGV4ZWNTeW5jKGAke215c3FsQ21kfSAtZSAnQ1JFQVRFIERBVEFCQVNFIFxcYCR7Y29ubi5kYXRhYmFzZX1cXGAnYCk7XG4gICAgZXhlY1N5bmMoYCR7bXlzcWxDbWR9ICR7Y29ubi5kYXRhYmFzZX0gPCAke2R1bXBGaWxlbmFtZX1gKTtcbiAgICBpZiAoYXdhaXQgZXhpc3RzKG1pZ3JhdGlvbnNEdW1wKSkge1xuICAgICAgZXhlY1N5bmMoYCR7bXlzcWxDbWR9ICR7Y29ubi5kYXRhYmFzZX0gPCAke21pZ3JhdGlvbnNEdW1wfWApO1xuICAgIH1cblxuICAgIGF3YWl0IGRiLmRlc3Ryb3koKTtcbiAgfVxuXG4gIGF3YWl0IF9kYi5kZXN0cm95KCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZpeHR1cmVfaW1wb3J0KGVudGl0eUlkOiBzdHJpbmcsIHJlY29yZElkczogbnVtYmVyW10pIHtcbiAgYXdhaXQgc2V0dXBGaXh0dXJlTWFuYWdlcigpO1xuXG4gIGF3YWl0IEZpeHR1cmVNYW5hZ2VyLmltcG9ydEZpeHR1cmUoZW50aXR5SWQsIHJlY29yZElkcyk7XG4gIGF3YWl0IEZpeHR1cmVNYW5hZ2VyLnN5bmMoKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZml4dHVyZV9zeW5jKCkge1xuICBhd2FpdCBzZXR1cEZpeHR1cmVNYW5hZ2VyKCk7XG5cbiAgYXdhaXQgRml4dHVyZU1hbmFnZXIuc3luYygpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzdHViX3ByYWN0aWNlKG5hbWU6IHN0cmluZykge1xuICBjb25zdCBwcmFjdGljZURpciA9IHBhdGguam9pbihTb25hbXUuYXBpUm9vdFBhdGgsIFwic3JjXCIsIFwicHJhY3RpY2VzXCIpO1xuICBjb25zdCBmaWxlTmFtZXMgPSBhd2FpdCByZWFkZGlyKHByYWN0aWNlRGlyKTtcblxuICBjb25zdCBtYXhTZXFObyA9IGF3YWl0IChhc3luYyAoKSA9PiB7XG4gICAgaWYgKCEoYXdhaXQgZXhpc3RzKHByYWN0aWNlRGlyKSkpIHtcbiAgICAgIGF3YWl0IG1rZGlyKHByYWN0aWNlRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXJlZFNlcXMgPSBmaWxlTmFtZXNcbiAgICAgIC5maWx0ZXIoKGZpbGVOYW1lKSA9PiBmaWxlTmFtZS5zdGFydHNXaXRoKFwicFwiKSAmJiBmaWxlTmFtZS5lbmRzV2l0aChcIi50c1wiKSlcbiAgICAgIC5tYXAoKGZpbGVOYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IFssIHNlcU5vXSA9IGZpbGVOYW1lLm1hdGNoKC9ecChbMC05XSspLS8pID8/IFtcIjBcIiwgXCIwXCJdO1xuICAgICAgICByZXR1cm4gcGFyc2VJbnQoc2VxTm8pO1xuICAgICAgfSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBiIC0gYSk7XG5cbiAgICBpZiAoZmlsdGVyZWRTZXFzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBmaWx0ZXJlZFNlcXNbMF07XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH0pKCk7XG5cbiAgY29uc3QgY3VycmVudFNlcU5vID0gbWF4U2VxTm8gKyAxO1xuICBjb25zdCBmaWxlTmFtZSA9IGBwJHtjdXJyZW50U2VxTm99LSR7bmFtZX0udHNgO1xuICBjb25zdCBkc3RQYXRoID0gcGF0aC5qb2luKHByYWN0aWNlRGlyLCBmaWxlTmFtZSk7XG5cbiAgY29uc3QgY29kZSA9IFtcbiAgICBgaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcInNvbmFtdVwiO2AsXG4gICAgXCJcIixcbiAgICBgY29uc29sZS5jbGVhcigpO2AsXG4gICAgYGNvbnNvbGUubG9nKFwiJHtmaWxlTmFtZX1cIik7YCxcbiAgICBcIlwiLFxuICAgIGBTb25hbXUucnVuU2NyaXB0KGFzeW5jICgpID0+IHtgLFxuICAgIGAgLy8gVE9ET2AsXG4gICAgYH0pO2AsXG4gICAgXCJcIixcbiAgXS5qb2luKFwiXFxuXCIpO1xuICBhd2FpdCB3cml0ZUZpbGUoZHN0UGF0aCwgY29kZSk7XG5cbiAgZXhlY1N5bmMoYGNvZGUgJHtkc3RQYXRofWApO1xuXG4gIGNvbnN0IHJ1bkNvZGUgPSBgeWFybiBub2RlIC1yIGRvdGVudi9jb25maWcgLS1lbmFibGUtc291cmNlLW1hcHMgZGlzdC9wcmFjdGljZXMvJHtmaWxlTmFtZS5yZXBsYWNlKFxuICAgIFwiLnRzXCIsXG4gICAgXCIuanNcIixcbiAgKX1gO1xuICBjb25zb2xlLmxvZyhgJHtjaGFsay5ibHVlKHJ1bkNvZGUpfSBjb3BpZWQgdG8gY2xpcGJvYXJkLmApO1xuICBleGVjU3luYyhgZWNobyBcIiR7cnVuQ29kZX1cIiB8IHBiY29weWApO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzdHViX2VudGl0eShlbnRpdHlJZDogc3RyaW5nKSB7XG4gIGF3YWl0IFNvbmFtdS5zeW5jZXIuY3JlYXRlRW50aXR5KHsgZW50aXR5SWQsIHRpdGxlOiBlbnRpdHlJZCB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2NhZmZvbGRfbW9kZWwoZW50aXR5SWQ6IHN0cmluZykge1xuICBhd2FpdCBTb25hbXUuc3luY2VyLmdlbmVyYXRlVGVtcGxhdGUoXCJtb2RlbFwiLCB7XG4gICAgZW50aXR5SWQsXG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzY2FmZm9sZF9tb2RlbF90ZXN0KGVudGl0eUlkOiBzdHJpbmcpIHtcbiAgYXdhaXQgU29uYW11LnN5bmNlci5nZW5lcmF0ZVRlbXBsYXRlKFwibW9kZWxfdGVzdFwiLCB7XG4gICAgZW50aXR5SWQsXG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImNoYWxrIiwiZG90ZW52IiwiY29uZmlnIiwiZXhlY1N5bmMiLCJzcGF3biIsIm1rZGlyIiwicmVhZGRpciIsInJtIiwid3JpdGVGaWxlIiwia25leCIsImNyZWF0ZVJlcXVpcmUiLCJwYXRoIiwicHJvY2VzcyIsInRzaWNsaSIsIlNvbmFtdSIsIkVudGl0eU1hbmFnZXIiLCJNaWdyYXRvciIsIkZpeHR1cmVNYW5hZ2VyIiwiZXhpc3RzIiwiZmluZEFwaVJvb3RQYXRoIiwiQlVJTERfRElSIiwiU1dDX0JVSUxEX0NPTU1BTkQiLCJUU0NfVFlQRV9DSEVDS19DT01NQU5EIiwibWlncmF0b3IiLCJib290c3RyYXAiLCJub3RUb0luaXQiLCJpbmNsdWRlcyIsImFyZ3YiLCJpbml0IiwidHlwZXMiLCJ0eXBlIiwibmFtZSIsIm1lc3NhZ2UiLCJjaG9pY2VzIiwiZ2V0QWxsUGFyZW50SWRzIiwibWFwIiwiZW50aXR5SWQiLCJ0aXRsZSIsInZhbHVlIiwiYXJncyIsInJ1bm5lcnMiLCJtaWdyYXRlX3N0YXR1cyIsIm1pZ3JhdGVfcnVuIiwiZml4dHVyZV9pbml0IiwiZml4dHVyZV9pbXBvcnQiLCJmaXh0dXJlX3N5bmMiLCJzdHViX3ByYWN0aWNlIiwic3R1Yl9lbnRpdHkiLCJzY2FmZm9sZF9tb2RlbCIsInNjYWZmb2xkX21vZGVsX3Rlc3QiLCJzeW5jIiwiZGV2IiwiYnVpbGQiLCJzdGFydCIsImRlc3Ryb3kiLCJmaW5hbGx5Iiwic3luY2VyIiwiYXBpUm9vdCIsImVudHJ5UG9pbnQiLCJjb25zb2xlIiwibG9nIiwieWVsbG93IiwiYm9sZCIsImhvdFJ1bm5lckJpblBhdGgiLCJ1cmwiLCJyZXNvbHZlIiwic2VydmVyUHJvY2VzcyIsImV4ZWNQYXRoIiwiam9pbiIsImN3ZCIsInN0ZGlvIiwiZW52IiwiTk9ERV9FTlYiLCJIT1QiLCJBUElfUk9PVF9QQVRIIiwiY2xlYW51cCIsImtpbGwiLCJleGl0Iiwib24iLCJjb2RlIiwiZXJyb3IiLCJyZWQiLCJibHVlIiwicmVjdXJzaXZlIiwiZm9yY2UiLCJzd2NGaWxlUGF0aCIsImRpcm5hbWUiLCJzZXR1cE1pZ3JhdG9yIiwic2V0dXBGaXh0dXJlTWFuYWdlciIsInJ1bkFjdGlvbiIsIk9iamVjdCIsImtleXMiLCJkYkNvbmZpZyIsInN0YXR1cyIsImdldFN0YXR1cyIsInNyY0NvbmZpZyIsImRldmVsb3BtZW50X21hc3RlciIsInRhcmdldHMiLCJsYWJlbCIsImZpeHR1cmUiLCJ0ZXN0IiwidG9Ta2lwIiwicmVtb3RlQ29ubiIsImNvbm5lY3Rpb24iLCJsb2NhbENvbm4iLCJob3N0IiwiZGF0YWJhc2UiLCJkdW1wRmlsZW5hbWUiLCJEYXRlIiwibm93Iiwic3JjQ29ubiIsIm1pZ3JhdGlvbnNEdW1wIiwidXNlciIsInBhc3N3b3JkIiwiX2RiIiwibWlncmF0aW9ucyIsInJhdyIsImNvdW50IiwiY29ubiIsImRiIiwidW5kZWZpbmVkIiwicm93IiwibXlzcWxDbWQiLCJyZWNvcmRJZHMiLCJpbXBvcnRGaXh0dXJlIiwicHJhY3RpY2VEaXIiLCJhcGlSb290UGF0aCIsImZpbGVOYW1lcyIsIm1heFNlcU5vIiwiZmlsdGVyZWRTZXFzIiwiZmlsdGVyIiwiZmlsZU5hbWUiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJzZXFObyIsIm1hdGNoIiwicGFyc2VJbnQiLCJzb3J0IiwiYSIsImIiLCJsZW5ndGgiLCJjdXJyZW50U2VxTm8iLCJkc3RQYXRoIiwicnVuQ29kZSIsInJlcGxhY2UiLCJjcmVhdGVFbnRpdHkiLCJnZW5lcmF0ZVRlbXBsYXRlIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxXQUFXLFFBQVE7QUFDMUIsT0FBT0MsWUFBWSxTQUFTO0FBRTVCQSxPQUFPQyxNQUFNO0FBRWIsU0FBU0MsUUFBUSxFQUFFQyxLQUFLLFFBQVEsZ0JBQWdCO0FBQ2hELFNBQVNDLEtBQUssRUFBRUMsT0FBTyxFQUFFQyxFQUFFLEVBQUVDLFNBQVMsUUFBUSxtQkFBYztBQUM1RCxPQUFPQyxVQUF5QixPQUFPO0FBQ3ZDLFNBQVNDLGFBQWEsUUFBUSxTQUFTO0FBQ3ZDLE9BQU9DLFVBQVUsT0FBTztBQUN4QixPQUFPQyxhQUFhLFVBQVU7QUFDOUIsU0FBU0MsTUFBTSxRQUFRLFNBQVM7QUFDaEMsU0FBU0MsTUFBTSxRQUFRLGtCQUFTO0FBRWhDLFNBQVNDLGFBQWEsUUFBUSw4QkFBMkI7QUFDekQsU0FBU0MsUUFBUSxRQUFRLDJCQUF3QjtBQUNqRCxTQUFTQyxjQUFjLFFBQVEsZ0NBQTZCO0FBQzVELFNBQVNDLE1BQU0sUUFBUSx1QkFBb0I7QUFDM0MsU0FBU0MsZUFBZSxRQUFRLG9CQUFpQjtBQUNqRCxTQUFTQyxTQUFTLEVBQUVDLGlCQUFpQixFQUFFQyxzQkFBc0IsUUFBUSxvQkFBaUI7QUFFdEYsSUFBSUM7QUFFSixlQUFlQztJQUNiLE1BQU1DLFlBQVk7UUFBQztRQUFPO1FBQVM7S0FBUSxDQUFDQyxRQUFRLENBQUNkLFFBQVFlLElBQUksQ0FBQyxFQUFFLElBQUk7SUFDeEUsSUFBSSxDQUFDRixXQUFXO1FBQ2QsTUFBTVgsT0FBT2MsSUFBSSxDQUFDLE9BQU87SUFDM0I7SUFFQSxJQUFJO1FBQ0YsTUFBTWYsT0FBT0QsUUFBUWUsSUFBSSxFQUFFO1lBQ3pCRSxPQUFPO2dCQUNMLGFBQWE7b0JBQ1hDLE1BQU07b0JBQ05DLE1BQU07b0JBQ05DLFNBQVM7b0JBQ1RDLFNBQVNsQixjQUFjbUIsZUFBZSxHQUFHQyxHQUFHLENBQUMsQ0FBQ0MsV0FBYyxDQUFBOzRCQUMxREMsT0FBT0Q7NEJBQ1BFLE9BQU9GO3dCQUNULENBQUE7Z0JBQ0Y7Z0JBQ0EsY0FBYztnQkFDZCxTQUFTO1lBQ1g7WUFDQUcsTUFBTTtnQkFDSjtvQkFBQztvQkFBVztpQkFBTztnQkFDbkI7b0JBQUM7b0JBQVc7b0JBQVU7b0JBQWE7aUJBQWE7Z0JBQ2hEO29CQUFDO29CQUFXO2lCQUFPO2dCQUNuQjtvQkFBQztvQkFBVztpQkFBTTtnQkFDbEI7b0JBQUM7b0JBQVc7aUJBQVE7Z0JBQ3BCO29CQUFDO29CQUFXO2lCQUFXO2dCQUN2QjtvQkFBQztvQkFBVztpQkFBUTtnQkFDcEI7b0JBQUM7b0JBQVc7aUJBQVE7Z0JBQ3BCO29CQUFDO29CQUFXO2lCQUFTO2dCQUNyQjtvQkFBQztvQkFBUTtvQkFBWTtpQkFBUTtnQkFDN0I7b0JBQUM7b0JBQVE7b0JBQVU7aUJBQVE7Z0JBQzNCO29CQUFDO29CQUFZO29CQUFTO2lCQUFZO2dCQUNsQztvQkFBQztvQkFBWTtvQkFBYztpQkFBWTtnQkFDdkM7b0JBQUM7b0JBQVk7b0JBQWE7aUJBQVk7Z0JBQ3RDO29CQUFDO29CQUFZO29CQUFhO2lCQUFZO2dCQUN0QztvQkFBQztpQkFBTztnQkFDUjtvQkFBQztpQkFBTTtnQkFDUDtvQkFBQztpQkFBUTtnQkFDVDtvQkFBQztpQkFBUTthQUNWO1lBQ0RDLFNBQVM7Z0JBQ1BDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0Esc0JBQXNCO2dCQUN0QixzQkFBc0I7Z0JBQ3RCQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztZQUNGO1FBQ0Y7SUFDRixTQUFVO1FBQ1IsTUFBTXZDLE9BQU93QyxPQUFPO0lBQ3RCO0FBQ0Y7QUFFQTlCLFlBQVkrQixPQUFPLENBQUM7SUFDbEIsTUFBTXRDLGVBQWVxQyxPQUFPO0FBQzlCO0FBRUE7OztDQUdDLEdBQ0QsZUFBZUo7SUFDYixNQUFNcEMsT0FBTzBDLE1BQU0sQ0FBQ04sSUFBSTtBQUMxQjtBQUVBOzs7Ozs7Ozs7Ozs7O0NBYUMsR0FDRCxlQUFlQztJQUNiLE1BQU1NLFVBQVV0QztJQUNoQixNQUFNdUMsYUFBYTtJQUVuQkMsUUFBUUMsR0FBRyxDQUFDNUQsTUFBTTZELE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO0lBRTlCLGdGQUFnRjtJQUNoRixxRkFBcUY7SUFDckYsTUFBTUMsbUJBQW1CckQsY0FBYyxZQUFZc0QsR0FBRyxFQUFFQyxPQUFPLENBQzdEO0lBR0YsTUFBTUMsZ0JBQWdCOUQsTUFDcEJRLFFBQVF1RCxRQUFRLEVBQ2hCO1FBQ0VKO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBLENBQUMsb0JBQW9CLEVBQUVwRCxLQUFLeUQsSUFBSSxDQUFDWCxTQUFTLGVBQWUsdUJBQXVCLENBQUM7UUFFakY7UUFDQTtRQUNBQztLQUNELEVBQ0Q7UUFDRVcsS0FBS1o7UUFDTGEsT0FBTztRQUNQQyxLQUFLO1lBQ0gsR0FBRzNELFFBQVEyRCxHQUFHO1lBQ2RDLFVBQVU7WUFDVkMsS0FBSztZQUNMQyxlQUFlakI7UUFDakI7SUFDRjtJQUdGLFFBQVE7SUFDUixNQUFNa0IsVUFBVTtRQUNkaEIsUUFBUUMsR0FBRyxDQUFDNUQsTUFBTTZELE1BQU0sQ0FBQztRQUN6QkssY0FBY1UsSUFBSSxDQUFDO1FBQ25CaEUsUUFBUWlFLElBQUksQ0FBQztJQUNmO0lBRUFqRSxRQUFRa0UsRUFBRSxDQUFDLFVBQVVIO0lBQ3JCL0QsUUFBUWtFLEVBQUUsQ0FBQyxXQUFXSDtJQUV0QlQsY0FBY1ksRUFBRSxDQUFDLFFBQVEsQ0FBQ0M7UUFDeEIsSUFBSUEsU0FBUyxHQUFHO1lBQ2RwQixRQUFRcUIsS0FBSyxDQUFDaEYsTUFBTWlGLEdBQUcsQ0FBQyxDQUFDLDBCQUEwQixFQUFFRixNQUFNO1lBQzNEbkUsUUFBUWlFLElBQUksQ0FBQ0UsUUFBUTtRQUN2QjtJQUNGO0FBQ0Y7QUFFQTs7Ozs7Ozs7O0NBU0MsR0FDRCxlQUFlM0I7SUFDYixNQUFNSyxVQUFVdEM7SUFFaEIsa0JBQWtCO0lBQ2xCLElBQUk7UUFDRndDLFFBQVFDLEdBQUcsQ0FBQzVELE1BQU1rRixJQUFJLENBQUM7UUFDdkIsSUFBSSxNQUFNaEUsT0FBT0UsWUFBWTtZQUMzQixNQUFNYixHQUFHYSxXQUFXO2dCQUFFK0QsV0FBVztnQkFBTUMsT0FBTztZQUFLO1FBQ3JEO0lBQ0YsRUFBRSxPQUFPSixPQUFPO1FBQ2RyQixRQUFRcUIsS0FBSyxDQUFDaEYsTUFBTWlGLEdBQUcsQ0FBQyxtQ0FBbUNEO1FBQzNEcEUsUUFBUWlFLElBQUksQ0FBQztJQUNmO0lBRUEsb0JBQW9CO0lBQ3BCLElBQUlRLGNBQWM7SUFDbEIsSUFBSTtRQUNGLElBQUksTUFBTW5FLE9BQU9tRSxjQUFjO1lBQzdCLG9DQUFvQztZQUNwQzFCLFFBQVFDLEdBQUcsQ0FBQzVELE1BQU1rRixJQUFJLENBQUM7UUFDekIsT0FBTztZQUNMLHFEQUFxRDtZQUNyRHZCLFFBQVFDLEdBQUcsQ0FBQzVELE1BQU1rRixJQUFJLENBQUM7WUFDdkJHLGNBQWMxRSxLQUFLeUQsSUFBSSxDQUFDLFlBQVlrQixPQUFPLEVBQUUsTUFBTSxNQUFNO1FBQzNEO0lBQ0YsRUFBRSxPQUFPTixPQUFPO1FBQ2RyQixRQUFRcUIsS0FBSyxDQUFDaEYsTUFBTWlGLEdBQUcsQ0FBQyx1Q0FBdUNEO1FBQy9EcEUsUUFBUWlFLElBQUksQ0FBQztJQUNmO0lBRUEsa0JBQWtCO0lBQ2xCLElBQUk7UUFDRmxCLFFBQVFDLEdBQUcsQ0FBQzVELE1BQU1rRixJQUFJLENBQUM7UUFDdkIvRSxTQUFTa0Isa0JBQWtCZ0UsY0FBYztZQUFFaEIsS0FBS1o7WUFBU2EsT0FBTztRQUFVO0lBQzVFLEVBQUUsT0FBT1UsT0FBTztRQUNkckIsUUFBUXFCLEtBQUssQ0FBQ2hGLE1BQU1pRixHQUFHLENBQUMsa0JBQWtCRDtRQUMxQ3BFLFFBQVFpRSxJQUFJLENBQUM7SUFDZjtJQUVBLG1CQUFtQjtJQUNuQixJQUFJO1FBQ0ZsQixRQUFRQyxHQUFHLENBQUM1RCxNQUFNa0YsSUFBSSxDQUFDO1FBQ3ZCL0UsU0FBU21CLHdCQUF3QjtZQUMvQitDLEtBQUtaO1lBQ0xhLE9BQU87UUFDVDtJQUNGLEVBQUUsT0FBT1UsT0FBTztRQUNkckIsUUFBUXFCLEtBQUssQ0FBQ2hGLE1BQU1pRixHQUFHLENBQUMsdUJBQXVCRDtRQUMvQ3BFLFFBQVFpRSxJQUFJLENBQUM7SUFDZjtBQUNGO0FBRUE7Ozs7Ozs7O0NBUUMsR0FDRCxlQUFleEI7SUFDYixNQUFNSSxVQUFVdEM7SUFDaEIsTUFBTXVDLGFBQWE7SUFFbkIsSUFBSSxDQUFFLE1BQU14QyxPQUFPd0MsYUFBYztRQUMvQkMsUUFBUUMsR0FBRyxDQUFDNUQsTUFBTWlGLEdBQUcsQ0FBQyxHQUFHdkIsV0FBVyw0Q0FBNEMsQ0FBQztRQUNqRkMsUUFBUUMsR0FBRyxDQUFDNUQsTUFBTWtGLElBQUksQ0FBQztRQUN2QjtJQUNGO0lBRUEsTUFBTSxFQUFFOUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUM7SUFDL0IsTUFBTThELGdCQUFnQjlELE1BQ3BCUSxRQUFRdUQsUUFBUSxFQUNoQjtRQUFDO1FBQXdCO1FBQU07UUFBaUJUO0tBQVcsRUFDM0Q7UUFDRVcsS0FBS1o7UUFDTGEsT0FBTztJQUNUO0lBR0YxRCxRQUFRa0UsRUFBRSxDQUFDLFVBQVU7UUFDbkJaLGNBQWNVLElBQUksQ0FBQztRQUNuQmhFLFFBQVFpRSxJQUFJLENBQUM7SUFDZjtBQUNGO0FBRUEsZUFBZVU7SUFDYixXQUFXO0lBQ1hoRSxXQUFXLElBQUlQO0FBQ2pCO0FBRUEsZUFBZXdFO0lBQ2J2RSxlQUFlVyxJQUFJO0FBQ3JCO0FBRUEsZUFBZWM7SUFDYixNQUFNNkM7SUFFTixNQUFNaEUsU0FBU2tFLFNBQVMsQ0FDdEIsU0FDQUMsT0FBT0MsSUFBSSxDQUFDN0UsT0FBTzhFLFFBQVE7QUFFL0I7QUFFQSxlQUFlbkQ7SUFDYixNQUFNOEM7SUFFTixNQUFNTSxTQUFTLE1BQU10RSxTQUFTdUUsU0FBUztJQUN2QyxVQUFVO0lBQ1ZuQyxRQUFRQyxHQUFHLENBQUNpQztBQUNkO0FBRUEsZUFBZWxEO0lBQ2IsTUFBTW9ELFlBQVlqRixPQUFPOEUsUUFBUSxDQUFDSSxrQkFBa0I7SUFDcEQsTUFBTUMsVUFBVTtRQUNkO1lBQ0VDLE9BQU87WUFDUGhHLFFBQVFZLE9BQU84RSxRQUFRLENBQUNPLE9BQU87UUFDakM7UUFDQTtZQUNFRCxPQUFPO1lBQ1BoRyxRQUFRWSxPQUFPOEUsUUFBUSxDQUFDUSxJQUFJO1lBQzVCQyxRQUFRLEFBQUMsQ0FBQTtnQkFDUCxNQUFNQyxhQUFheEYsT0FBTzhFLFFBQVEsQ0FBQ08sT0FBTyxDQUFDSSxVQUFVO2dCQUNyRCxNQUFNQyxZQUFZMUYsT0FBTzhFLFFBQVEsQ0FBQ1EsSUFBSSxDQUFDRyxVQUFVO2dCQUNqRCxPQUFPRCxXQUFXRyxJQUFJLEtBQUtELFVBQVVDLElBQUksSUFBSUgsV0FBV0ksUUFBUSxLQUFLRixVQUFVRSxRQUFRO1lBQ3pGLENBQUE7UUFDRjtLQUNEO0lBTUQsa0JBQWtCO0lBQ2xCL0MsUUFBUUMsR0FBRyxDQUFDO0lBQ1osTUFBTStDLGVBQWUsQ0FBQyx5QkFBeUIsRUFBRUMsS0FBS0MsR0FBRyxHQUFHLElBQUksQ0FBQztJQUNqRSxNQUFNQyxVQUFVZixVQUFVUSxVQUFVO0lBQ3BDLE1BQU1RLGlCQUFpQixDQUFDLG9DQUFvQyxFQUFFSCxLQUFLQyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQzlFMUcsU0FDRSxDQUFDLFlBQVksRUFBRTJHLFFBQVFMLElBQUksQ0FBQyxHQUFHLEVBQUVLLFFBQVFFLElBQUksQ0FBQyxHQUFHLEVBQUVGLFFBQVFHLFFBQVEsQ0FBQyxtREFBbUQsRUFBRUgsUUFBUUosUUFBUSxDQUFDLEdBQUcsRUFBRUMsY0FBYztJQUUvSixNQUFNTyxNQUFNekcsS0FBS3NGO0lBQ2pCLE1BQU0sQ0FBQyxDQUFDb0IsV0FBVyxDQUFDLEdBQUcsTUFBTUQsSUFBSUUsR0FBRyxDQUNsQyxxSEFDQTtRQUFDTixRQUFRSixRQUFRO0tBQUM7SUFFcEIsSUFBSVMsV0FBV0UsS0FBSyxHQUFHLEdBQUc7UUFDeEJsSCxTQUNFLENBQUMsWUFBWSxFQUFFMkcsUUFBUUwsSUFBSSxDQUFDLEdBQUcsRUFBRUssUUFBUUUsSUFBSSxDQUFDLEdBQUcsRUFBRUYsUUFBUUcsUUFBUSxDQUFDLGdEQUFnRCxFQUFFSCxRQUFRSixRQUFRLENBQUMsd0NBQXdDLEVBQUVLLGdCQUFnQjtJQUVyTTtJQUVBLCtCQUErQjtJQUMvQixXQUFXLE1BQU0sRUFBRWIsS0FBSyxFQUFFaEcsTUFBTSxFQUFFbUcsTUFBTSxFQUFFLElBQUlKLFFBQVM7UUFDckQsTUFBTXFCLE9BQU9wSCxPQUFPcUcsVUFBVTtRQUU5QixJQUFJRixXQUFXLE1BQU07WUFDbkIxQyxRQUFRQyxHQUFHLENBQUM1RCxNQUFNaUYsR0FBRyxDQUFDLEdBQUdpQixNQUFNLFVBQVUsQ0FBQztZQUMxQztRQUNGO1FBRUEsTUFBTXFCLEtBQUs5RyxLQUFLO1lBQ2QsR0FBR1AsTUFBTTtZQUNUcUcsWUFBWTtnQkFDVixHQUFLckcsT0FBT3FHLFVBQVUsSUFBSSxDQUFDLENBQUM7Z0JBQzVCRyxVQUFVYztZQUNaO1FBQ0Y7UUFDQSxNQUFNLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEdBQUcsTUFBTUYsR0FBR0gsR0FBRyxDQUFDLENBQUMscUJBQXFCLEVBQUVFLEtBQUtaLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSWUsS0FBSztZQUNQOUQsUUFBUUMsR0FBRyxDQUFDNUQsTUFBTTZELE1BQU0sQ0FBQyxHQUFHcUMsTUFBTSxZQUFZLEVBQUVvQixLQUFLWixRQUFRLENBQUMsZ0JBQWdCLENBQUM7WUFDL0UsTUFBTWEsR0FBR2pFLE9BQU87WUFDaEI7UUFDRjtRQUVBSyxRQUFRQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUVzQyxNQUFNLEdBQUcsQ0FBQztRQUNqQyxNQUFNd0IsV0FBVyxDQUFDLFFBQVEsRUFBRUosS0FBS2IsSUFBSSxDQUFDLEdBQUcsRUFBRWEsS0FBS04sSUFBSSxDQUFDLEdBQUcsRUFBRU0sS0FBS0wsUUFBUSxFQUFFO1FBQ3pFOUcsU0FBUyxHQUFHdUgsU0FBUywrQkFBK0IsRUFBRUosS0FBS1osUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUN4RXZHLFNBQVMsR0FBR3VILFNBQVMsdUJBQXVCLEVBQUVKLEtBQUtaLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDaEV2RyxTQUFTLEdBQUd1SCxTQUFTLENBQUMsRUFBRUosS0FBS1osUUFBUSxDQUFDLEdBQUcsRUFBRUMsY0FBYztRQUN6RCxJQUFJLE1BQU16RixPQUFPNkYsaUJBQWlCO1lBQ2hDNUcsU0FBUyxHQUFHdUgsU0FBUyxDQUFDLEVBQUVKLEtBQUtaLFFBQVEsQ0FBQyxHQUFHLEVBQUVLLGdCQUFnQjtRQUM3RDtRQUVBLE1BQU1RLEdBQUdqRSxPQUFPO0lBQ2xCO0lBRUEsTUFBTTRELElBQUk1RCxPQUFPO0FBQ25CO0FBRUEsZUFBZVYsZUFBZVIsUUFBZ0IsRUFBRXVGLFNBQW1CO0lBQ2pFLE1BQU1uQztJQUVOLE1BQU12RSxlQUFlMkcsYUFBYSxDQUFDeEYsVUFBVXVGO0lBQzdDLE1BQU0xRyxlQUFlaUMsSUFBSTtBQUMzQjtBQUVBLGVBQWVMO0lBQ2IsTUFBTTJDO0lBRU4sTUFBTXZFLGVBQWVpQyxJQUFJO0FBQzNCO0FBRUEsZUFBZUosY0FBY2YsSUFBWTtJQUN2QyxNQUFNOEYsY0FBY2xILEtBQUt5RCxJQUFJLENBQUN0RCxPQUFPZ0gsV0FBVyxFQUFFLE9BQU87SUFDekQsTUFBTUMsWUFBWSxNQUFNekgsUUFBUXVIO0lBRWhDLE1BQU1HLFdBQVcsTUFBTSxBQUFDLENBQUE7UUFDdEIsSUFBSSxDQUFFLE1BQU05RyxPQUFPMkcsY0FBZTtZQUNoQyxNQUFNeEgsTUFBTXdILGFBQWE7Z0JBQUUxQyxXQUFXO1lBQUs7UUFDN0M7UUFFQSxNQUFNOEMsZUFBZUYsVUFDbEJHLE1BQU0sQ0FBQyxDQUFDQyxXQUFhQSxTQUFTQyxVQUFVLENBQUMsUUFBUUQsU0FBU0UsUUFBUSxDQUFDLFFBQ25FbEcsR0FBRyxDQUFDLENBQUNnRztZQUNKLE1BQU0sR0FBR0csTUFBTSxHQUFHSCxTQUFTSSxLQUFLLENBQUMsa0JBQWtCO2dCQUFDO2dCQUFLO2FBQUk7WUFDN0QsT0FBT0MsU0FBU0Y7UUFDbEIsR0FDQ0csSUFBSSxDQUFDLENBQUNDLEdBQUdDLElBQU1BLElBQUlEO1FBRXRCLElBQUlULGFBQWFXLE1BQU0sR0FBRyxHQUFHO1lBQzNCLE9BQU9YLFlBQVksQ0FBQyxFQUFFO1FBQ3hCO1FBRUEsT0FBTztJQUNULENBQUE7SUFFQSxNQUFNWSxlQUFlYixXQUFXO0lBQ2hDLE1BQU1HLFdBQVcsQ0FBQyxDQUFDLEVBQUVVLGFBQWEsQ0FBQyxFQUFFOUcsS0FBSyxHQUFHLENBQUM7SUFDOUMsTUFBTStHLFVBQVVuSSxLQUFLeUQsSUFBSSxDQUFDeUQsYUFBYU07SUFFdkMsTUFBTXBELE9BQU87UUFDWCxDQUFDLGdDQUFnQyxDQUFDO1FBQ2xDO1FBQ0EsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNsQixDQUFDLGFBQWEsRUFBRW9ELFNBQVMsR0FBRyxDQUFDO1FBQzdCO1FBQ0EsQ0FBQyw4QkFBOEIsQ0FBQztRQUNoQyxDQUFDLFFBQVEsQ0FBQztRQUNWLENBQUMsR0FBRyxDQUFDO1FBQ0w7S0FDRCxDQUFDL0QsSUFBSSxDQUFDO0lBQ1AsTUFBTTVELFVBQVVzSSxTQUFTL0Q7SUFFekI1RSxTQUFTLENBQUMsS0FBSyxFQUFFMkksU0FBUztJQUUxQixNQUFNQyxVQUFVLENBQUMsK0RBQStELEVBQUVaLFNBQVNhLE9BQU8sQ0FDaEcsT0FDQSxRQUNDO0lBQ0hyRixRQUFRQyxHQUFHLENBQUMsR0FBRzVELE1BQU1rRixJQUFJLENBQUM2RCxTQUFTLHFCQUFxQixDQUFDO0lBQ3pENUksU0FBUyxDQUFDLE1BQU0sRUFBRTRJLFFBQVEsVUFBVSxDQUFDO0FBQ3ZDO0FBRUEsZUFBZWhHLFlBQVlYLFFBQWdCO0lBQ3pDLE1BQU10QixPQUFPMEMsTUFBTSxDQUFDeUYsWUFBWSxDQUFDO1FBQUU3RztRQUFVQyxPQUFPRDtJQUFTO0FBQy9EO0FBRUEsZUFBZVksZUFBZVosUUFBZ0I7SUFDNUMsTUFBTXRCLE9BQU8wQyxNQUFNLENBQUMwRixnQkFBZ0IsQ0FBQyxTQUFTO1FBQzVDOUc7SUFDRjtBQUNGO0FBRUEsZUFBZWEsb0JBQW9CYixRQUFnQjtJQUNqRCxNQUFNdEIsT0FBTzBDLE1BQU0sQ0FBQzBGLGdCQUFnQixDQUFDLGNBQWM7UUFDakQ5RztJQUNGO0FBQ0YifQ==
|
package/dist/database/db.d.ts
CHANGED
|
@@ -6,10 +6,10 @@ export type DBPreset = "w" | "r";
|
|
|
6
6
|
export type SonamuDBConfig = {
|
|
7
7
|
development_master: Knex.Config;
|
|
8
8
|
development_slave: Knex.Config;
|
|
9
|
-
test: Knex.Config;
|
|
10
|
-
fixture_remote: Knex.Config;
|
|
11
9
|
production_master: Knex.Config;
|
|
12
10
|
production_slave: Knex.Config;
|
|
11
|
+
fixture: Knex.Config;
|
|
12
|
+
test: Knex.Config;
|
|
13
13
|
};
|
|
14
14
|
export declare class DBClass {
|
|
15
15
|
private wdb?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/database/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAa,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AAIvC,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/database/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAa,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AAIvC,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAU3D,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG;IAC3B,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC;IAChC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC;IAC/B,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC;IAC/B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,OAAO;IAClB,OAAO,CAAC,GAAG,CAAC,CAAO;IACnB,OAAO,CAAC,GAAG,CAAC,CAAO;IAEZ,kBAAkB,wCAA+C;IAEjE,kBAAkB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7D,qBAAqB,IAAI,kBAAkB;IAIlD,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAgC5B,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC,MAAM;IA2BnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAWvB,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,cAAc;IAsDlE,eAAe,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAQ;IACjD,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;IAKlD,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;CAIzC;AACD,eAAO,MAAM,EAAE,SAAgB,CAAC"}
|
package/dist/database/db.js
CHANGED
|
@@ -3,6 +3,12 @@ import knex from "knex";
|
|
|
3
3
|
import { assign } from "radashi";
|
|
4
4
|
import { Sonamu } from "../api/index.js";
|
|
5
5
|
import { TransactionContext } from "./transaction-context.js";
|
|
6
|
+
/**
|
|
7
|
+
* 여러 설정 객체를 순차적으로 deep merge합니다.
|
|
8
|
+
* undefined/null인 인자는 무시됩니다.
|
|
9
|
+
*/ function mergeConfigs(...configs) {
|
|
10
|
+
return configs.reduce((acc, config)=>config ? assign(acc, config) : acc, {});
|
|
11
|
+
}
|
|
6
12
|
export class DBClass {
|
|
7
13
|
wdb;
|
|
8
14
|
rdb;
|
|
@@ -87,36 +93,23 @@ export class DBClass {
|
|
|
87
93
|
...config.defaultOptions?.connection
|
|
88
94
|
}
|
|
89
95
|
}, config.defaultOptions);
|
|
90
|
-
//
|
|
91
|
-
const test = assign(defaultKnexConfig, {
|
|
92
|
-
connection: {
|
|
93
|
-
database: `${config.name}_test`,
|
|
94
|
-
...config.defaultOptions?.connection
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
// 개발 환경 설정
|
|
98
|
-
const devMasterOptions = config.environments?.development;
|
|
99
|
-
const devSlaveOptions = config.environments?.development_slave;
|
|
100
|
-
const development_master = assign(defaultKnexConfig, devMasterOptions ?? {});
|
|
101
|
-
const development_slave = assign(assign(defaultKnexConfig, devMasterOptions ?? {}), devSlaveOptions ?? {});
|
|
102
|
-
// NOTE: fixture remote는 default connection의 DB를 override해선 안됨.
|
|
103
|
-
const fixture_remote = assign(assign(assign(defaultKnexConfig, devMasterOptions ?? {}), {
|
|
104
|
-
connection: {
|
|
105
|
-
database: `${config.name}_fixture_remote`
|
|
106
|
-
}
|
|
107
|
-
}), config.environments?.remote_fixture ?? {});
|
|
108
|
-
// 프로덕션 환경 설정
|
|
109
|
-
const prodMasterOptions = config.environments?.production ?? {};
|
|
110
|
-
const prodSlaveOptions = config.environments?.production_slave ?? {};
|
|
111
|
-
const production_master = assign(defaultKnexConfig, prodMasterOptions);
|
|
112
|
-
const production_slave = assign(assign(defaultKnexConfig, prodMasterOptions), prodSlaveOptions ?? {});
|
|
96
|
+
// biome-ignore format: 설정 구조 가독성을 위해 여러 줄로 유지
|
|
113
97
|
return {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
98
|
+
// 여기에 나열한 순서대로 Sonamu UI의 DB Migration 탭에 표시됩니다.
|
|
99
|
+
test: mergeConfigs(defaultKnexConfig, {
|
|
100
|
+
connection: {
|
|
101
|
+
database: `${config.name}_test`
|
|
102
|
+
}
|
|
103
|
+
}, config.environments?.test),
|
|
104
|
+
fixture: mergeConfigs(defaultKnexConfig, {
|
|
105
|
+
connection: {
|
|
106
|
+
database: `${config.name}_fixture`
|
|
107
|
+
}
|
|
108
|
+
}, config.environments?.fixture),
|
|
109
|
+
development_master: mergeConfigs(defaultKnexConfig, config.environments?.development),
|
|
110
|
+
development_slave: mergeConfigs(defaultKnexConfig, config.environments?.development, config.environments?.development_slave),
|
|
111
|
+
production_master: mergeConfigs(defaultKnexConfig, config.environments?.production),
|
|
112
|
+
production_slave: mergeConfigs(defaultKnexConfig, config.environments?.production, config.environments?.production_slave)
|
|
120
113
|
};
|
|
121
114
|
}
|
|
122
115
|
// Test 환경에서 트랜잭션 사용
|
|
@@ -137,4 +130,4 @@ export class DBClass {
|
|
|
137
130
|
}
|
|
138
131
|
export const DB = new DBClass();
|
|
139
132
|
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9kYi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY0xvY2FsU3RvcmFnZSB9IGZyb20gXCJhc3luY19ob29rc1wiO1xuaW1wb3J0IGtuZXgsIHsgdHlwZSBLbmV4IH0gZnJvbSBcImtuZXhcIjtcbmltcG9ydCB7IGFzc2lnbiB9IGZyb20gXCJyYWRhc2hpXCI7XG5cbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi9hcGlcIjtcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb25maWcsIFNvbmFtdUNvbmZpZyB9IGZyb20gXCIuLi9hcGkvY29uZmlnXCI7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbnRleHQgfSBmcm9tIFwiLi90cmFuc2FjdGlvbi1jb250ZXh0XCI7XG5cbmV4cG9ydCB0eXBlIERCUHJlc2V0ID0gXCJ3XCIgfCBcInJcIjtcblxuZXhwb3J0IHR5cGUgU29uYW11REJDb25maWcgPSB7XG4gIGRldmVsb3BtZW50X21hc3RlcjogS25leC5Db25maWc7XG4gIGRldmVsb3BtZW50X3NsYXZlOiBLbmV4LkNvbmZpZztcbiAgdGVzdDogS25leC5Db25maWc7XG4gIGZpeHR1cmVfcmVtb3RlOiBLbmV4LkNvbmZpZztcbiAgcHJvZHVjdGlvbl9tYXN0ZXI6IEtuZXguQ29uZmlnO1xuICBwcm9kdWN0aW9uX3NsYXZlOiBLbmV4LkNvbmZpZztcbn07XG5cbmV4cG9ydCBjbGFzcyBEQkNsYXNzIHtcbiAgcHJpdmF0ZSB3ZGI/OiBLbmV4O1xuICBwcml2YXRlIHJkYj86IEtuZXg7XG5cbiAgcHVibGljIHRyYW5zYWN0aW9uU3RvcmFnZSA9IG5ldyBBc3luY0xvY2FsU3RvcmFnZTxUcmFuc2FjdGlvbkNvbnRleHQ+KCk7XG5cbiAgcHVibGljIHJ1bldpdGhUcmFuc2FjdGlvbjxUPihjYWxsYmFjazogKCkgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU3RvcmFnZS5ydW4obmV3IFRyYW5zYWN0aW9uQ29udGV4dCgpLCBjYWxsYmFjayk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VHJhbnNhY3Rpb25Db250ZXh0KCk6IFRyYW5zYWN0aW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TdG9yYWdlLmdldFN0b3JlKCkgPz8gbmV3IFRyYW5zYWN0aW9uQ29udGV4dCgpO1xuICB9XG5cbiAgZ2V0REIod2hpY2g6IERCUHJlc2V0KTogS25leCB7XG4gICAgY29uc3QgZGJDb25maWcgPSBTb25hbXUuZGJDb25maWc7XG5cbiAgICAvLyDthYzsiqTtirgg7Yq4656c7J6t7IWYIOqyqeumrFxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJ0ZXN0XCIpIHtcbiAgICAgIGlmICh0aGlzLnRlc3RUcmFuc2FjdGlvbikge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXN0VHJhbnNhY3Rpb247XG4gICAgICB9IGVsc2UgaWYgKHRoaXMud2RiKSB7XG4gICAgICAgIHJldHVybiB0aGlzLndkYjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMud2RiID0ga25leCh7XG4gICAgICAgICAgLi4uZGJDb25maWcudGVzdCxcbiAgICAgICAgICAvLyDri6jsnbwg7ZKAXG4gICAgICAgICAgcG9vbDoge1xuICAgICAgICAgICAgbWluOiAxLFxuICAgICAgICAgICAgbWF4OiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy53ZGI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaW5zdGFuY2VOYW1lID0gd2hpY2ggPT09IFwid1wiID8gXCJ3ZGJcIiA6IFwicmRiXCI7XG5cbiAgICBpZiAoIXRoaXNbaW5zdGFuY2VOYW1lXSkge1xuICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5nZXREQkNvbmZpZyh3aGljaCk7XG4gICAgICB0aGlzW2luc3RhbmNlTmFtZV0gPSBrbmV4KGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNbaW5zdGFuY2VOYW1lXTtcbiAgfVxuXG4gIGdldERCQ29uZmlnKHdoaWNoOiBEQlByZXNldCk6IEtuZXguQ29uZmlnIHtcbiAgICBjb25zdCBkYkNvbmZpZyA9IFNvbmFtdS5kYkNvbmZpZztcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwidGVzdFwiKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5kYkNvbmZpZy50ZXN0LFxuICAgICAgICAvLyDri6jsnbwg7ZKAXG4gICAgICAgIHBvb2w6IHtcbiAgICAgICAgICBtaW46IDEsXG4gICAgICAgICAgbWF4OiAxLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgc3dpdGNoIChwcm9jZXNzLmVudi5OT0RFX0VOViA/PyBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgIGNhc2UgXCJkZXZlbG9wbWVudFwiOlxuICAgICAgY2FzZSBcInN0YWdpbmdcIjpcbiAgICAgICAgcmV0dXJuIHdoaWNoID09PSBcIndcIlxuICAgICAgICAgID8gZGJDb25maWcuZGV2ZWxvcG1lbnRfbWFzdGVyXG4gICAgICAgICAgOiAoZGJDb25maWcuZGV2ZWxvcG1lbnRfc2xhdmUgPz8gZGJDb25maWcuZGV2ZWxvcG1lbnRfbWFzdGVyKTtcbiAgICAgIGNhc2UgXCJwcm9kdWN0aW9uXCI6XG4gICAgICAgIHJldHVybiB3aGljaCA9PT0gXCJ3XCJcbiAgICAgICAgICA/IGRiQ29uZmlnLnByb2R1Y3Rpb25fbWFzdGVyXG4gICAgICAgICAgOiAoZGJDb25maWcucHJvZHVjdGlvbl9zbGF2ZSA/PyBkYkNvbmZpZy5wcm9kdWN0aW9uX21hc3Rlcik7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYO2YhOyerCBFTlYgJHtwcm9jZXNzLmVudi5OT0RFX0VOVn3sl5DripQg7ISk7KCVIOqwgOuKpe2VnCBEQuyEpOygleydtCDsl4bsirXri4jri6QuYCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy53ZGIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXdhaXQgdGhpcy53ZGIuZGVzdHJveSgpO1xuICAgICAgdGhpcy53ZGIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnJkYiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhd2FpdCB0aGlzLnJkYi5kZXN0cm95KCk7XG4gICAgICB0aGlzLnJkYiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGVEQkNvbmZpZyhjb25maWc6IFNvbmFtdUNvbmZpZ1tcImRhdGFiYXNlXCJdKTogU29uYW11REJDb25maWcge1xuICAgIGNvbnN0IGRlZmF1bHRLbmV4Q29uZmlnOiBQYXJ0aWFsPERhdGFiYXNlQ29uZmlnPiA9IGFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgY2xpZW50OiBcInBnXCIsXG4gICAgICAgIHBvb2w6IHtcbiAgICAgICAgICBtaW46IDEsXG4gICAgICAgICAgbWF4OiA1LFxuICAgICAgICB9LFxuICAgICAgICBtaWdyYXRpb25zOiB7XG4gICAgICAgICAgZGlyZWN0b3J5OiBcIi4vc3JjL21pZ3JhdGlvbnNcIixcbiAgICAgICAgfSxcbiAgICAgICAgY29ubmVjdGlvbjoge1xuICAgICAgICAgIGRhdGFiYXNlOiBjb25maWcubmFtZSxcbiAgICAgICAgICAuLi5jb25maWcuZGVmYXVsdE9wdGlvbnM/LmNvbm5lY3Rpb24sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgY29uZmlnLmRlZmF1bHRPcHRpb25zLFxuICAgICk7XG5cbiAgICAvLyDroZzsu6wg7ZmY6rK9IOyEpOyglVxuICAgIGNvbnN0IHRlc3Q6IERhdGFiYXNlQ29uZmlnID0gYXNzaWduKGRlZmF1bHRLbmV4Q29uZmlnLCB7XG4gICAgICBjb25uZWN0aW9uOiB7XG4gICAgICAgIGRhdGFiYXNlOiBgJHtjb25maWcubmFtZX1fdGVzdGAsXG4gICAgICAgIC4uLmNvbmZpZy5kZWZhdWx0T3B0aW9ucz8uY29ubmVjdGlvbixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyDqsJzrsJwg7ZmY6rK9IOyEpOyglVxuICAgIGNvbnN0IGRldk1hc3Rlck9wdGlvbnMgPSBjb25maWcuZW52aXJvbm1lbnRzPy5kZXZlbG9wbWVudDtcbiAgICBjb25zdCBkZXZTbGF2ZU9wdGlvbnMgPSBjb25maWcuZW52aXJvbm1lbnRzPy5kZXZlbG9wbWVudF9zbGF2ZTtcbiAgICBjb25zdCBkZXZlbG9wbWVudF9tYXN0ZXIgPSBhc3NpZ24oZGVmYXVsdEtuZXhDb25maWcsIGRldk1hc3Rlck9wdGlvbnMgPz8ge30pO1xuICAgIGNvbnN0IGRldmVsb3BtZW50X3NsYXZlID0gYXNzaWduKFxuICAgICAgYXNzaWduKGRlZmF1bHRLbmV4Q29uZmlnLCBkZXZNYXN0ZXJPcHRpb25zID8/IHt9KSxcbiAgICAgIGRldlNsYXZlT3B0aW9ucyA/PyB7fSxcbiAgICApO1xuICAgIC8vIE5PVEU6IGZpeHR1cmUgcmVtb3Rl64qUIGRlZmF1bHQgY29ubmVjdGlvbuydmCBEQuulvCBvdmVycmlkZe2VtOyEoCDslYjrkKguXG4gICAgY29uc3QgZml4dHVyZV9yZW1vdGUgPSBhc3NpZ24oXG4gICAgICBhc3NpZ24oYXNzaWduKGRlZmF1bHRLbmV4Q29uZmlnLCBkZXZNYXN0ZXJPcHRpb25zID8/IHt9KSwge1xuICAgICAgICBjb25uZWN0aW9uOiB7XG4gICAgICAgICAgZGF0YWJhc2U6IGAke2NvbmZpZy5uYW1lfV9maXh0dXJlX3JlbW90ZWAsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIGNvbmZpZy5lbnZpcm9ubWVudHM/LnJlbW90ZV9maXh0dXJlID8/IHt9LFxuICAgICk7XG5cbiAgICAvLyDtlITroZzrjZXshZgg7ZmY6rK9IOyEpOyglVxuICAgIGNvbnN0IHByb2RNYXN0ZXJPcHRpb25zID0gY29uZmlnLmVudmlyb25tZW50cz8ucHJvZHVjdGlvbiA/PyB7fTtcbiAgICBjb25zdCBwcm9kU2xhdmVPcHRpb25zID0gY29uZmlnLmVudmlyb25tZW50cz8ucHJvZHVjdGlvbl9zbGF2ZSA/PyB7fTtcbiAgICBjb25zdCBwcm9kdWN0aW9uX21hc3RlciA9IGFzc2lnbihkZWZhdWx0S25leENvbmZpZywgcHJvZE1hc3Rlck9wdGlvbnMpO1xuICAgIGNvbnN0IHByb2R1Y3Rpb25fc2xhdmUgPSBhc3NpZ24oXG4gICAgICBhc3NpZ24oZGVmYXVsdEtuZXhDb25maWcsIHByb2RNYXN0ZXJPcHRpb25zKSxcbiAgICAgIHByb2RTbGF2ZU9wdGlvbnMgPz8ge30sXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICB0ZXN0LFxuICAgICAgZml4dHVyZV9yZW1vdGUsXG4gICAgICBkZXZlbG9wbWVudF9tYXN0ZXIsXG4gICAgICBkZXZlbG9wbWVudF9zbGF2ZSxcbiAgICAgIHByb2R1Y3Rpb25fbWFzdGVyLFxuICAgICAgcHJvZHVjdGlvbl9zbGF2ZSxcbiAgICB9O1xuICB9XG5cbiAgLy8gVGVzdCDtmZjqsr3sl5DshJwg7Yq4656c7J6t7IWYIOyCrOyaqVxuICBwdWJsaWMgdGVzdFRyYW5zYWN0aW9uOiBLbmV4LlRyYW5zYWN0aW9uIHwgbnVsbCA9IG51bGw7XG4gIGFzeW5jIGNyZWF0ZVRlc3RUcmFuc2FjdGlvbigpOiBQcm9taXNlPEtuZXguVHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCBkYiA9IHRoaXMuZ2V0REIoXCJ3XCIpO1xuICAgIHRoaXMudGVzdFRyYW5zYWN0aW9uID0gYXdhaXQgZGIudHJhbnNhY3Rpb24oKTtcbiAgICByZXR1cm4gdGhpcy50ZXN0VHJhbnNhY3Rpb247XG4gIH1cbiAgYXN5bmMgY2xlYXJUZXN0VHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy50ZXN0VHJhbnNhY3Rpb24/LnJvbGxiYWNrKCk7XG4gICAgdGhpcy50ZXN0VHJhbnNhY3Rpb24gPSBudWxsO1xuICB9XG4gIGFzeW5jIGdldFRlc3RDb25uZWN0aW9uKCk6IFByb21pc2U8S25leD4ge1xuICAgIGNvbnN0IGRiID0gdGhpcy5nZXREQihcIndcIik7XG4gICAgcmV0dXJuIGRiO1xuICB9XG59XG5leHBvcnQgY29uc3QgREIgPSBuZXcgREJDbGFzcygpO1xuIl0sIm5hbWVzIjpbIkFzeW5jTG9jYWxTdG9yYWdlIiwia25leCIsImFzc2lnbiIsIlNvbmFtdSIsIlRyYW5zYWN0aW9uQ29udGV4dCIsIkRCQ2xhc3MiLCJ3ZGIiLCJyZGIiLCJ0cmFuc2FjdGlvblN0b3JhZ2UiLCJydW5XaXRoVHJhbnNhY3Rpb24iLCJjYWxsYmFjayIsInJ1biIsImdldFRyYW5zYWN0aW9uQ29udGV4dCIsImdldFN0b3JlIiwiZ2V0REIiLCJ3aGljaCIsImRiQ29uZmlnIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwidGVzdFRyYW5zYWN0aW9uIiwidGVzdCIsInBvb2wiLCJtaW4iLCJtYXgiLCJpbnN0YW5jZU5hbWUiLCJjb25maWciLCJnZXREQkNvbmZpZyIsImRldmVsb3BtZW50X21hc3RlciIsImRldmVsb3BtZW50X3NsYXZlIiwicHJvZHVjdGlvbl9tYXN0ZXIiLCJwcm9kdWN0aW9uX3NsYXZlIiwiRXJyb3IiLCJkZXN0cm95IiwidW5kZWZpbmVkIiwiZ2VuZXJhdGVEQkNvbmZpZyIsImRlZmF1bHRLbmV4Q29uZmlnIiwiY2xpZW50IiwibWlncmF0aW9ucyIsImRpcmVjdG9yeSIsImNvbm5lY3Rpb24iLCJkYXRhYmFzZSIsIm5hbWUiLCJkZWZhdWx0T3B0aW9ucyIsImRldk1hc3Rlck9wdGlvbnMiLCJlbnZpcm9ubWVudHMiLCJkZXZlbG9wbWVudCIsImRldlNsYXZlT3B0aW9ucyIsImZpeHR1cmVfcmVtb3RlIiwicmVtb3RlX2ZpeHR1cmUiLCJwcm9kTWFzdGVyT3B0aW9ucyIsInByb2R1Y3Rpb24iLCJwcm9kU2xhdmVPcHRpb25zIiwiY3JlYXRlVGVzdFRyYW5zYWN0aW9uIiwiZGIiLCJ0cmFuc2FjdGlvbiIsImNsZWFyVGVzdFRyYW5zYWN0aW9uIiwicm9sbGJh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
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9kYi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY0xvY2FsU3RvcmFnZSB9IGZyb20gXCJhc3luY19ob29rc1wiO1xuaW1wb3J0IGtuZXgsIHsgdHlwZSBLbmV4IH0gZnJvbSBcImtuZXhcIjtcbmltcG9ydCB7IGFzc2lnbiB9IGZyb20gXCJyYWRhc2hpXCI7XG5cbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi9hcGlcIjtcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VDb25maWcsIFNvbmFtdUNvbmZpZyB9IGZyb20gXCIuLi9hcGkvY29uZmlnXCI7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbnRleHQgfSBmcm9tIFwiLi90cmFuc2FjdGlvbi1jb250ZXh0XCI7XG5cbi8qKlxuICog7Jes65+sIOyEpOyglSDqsJ3ssrTrpbwg7Iic7LCo7KCB7Jy866GcIGRlZXAgbWVyZ2Xtlanri4jri6QuXG4gKiB1bmRlZmluZWQvbnVsbOyduCDsnbjsnpDripQg66y07Iuc65Cp64uI64ukLlxuICovXG5mdW5jdGlvbiBtZXJnZUNvbmZpZ3M8VCBleHRlbmRzIG9iamVjdD4oLi4uY29uZmlnczogKFBhcnRpYWw8VD4gfCB1bmRlZmluZWQgfCBudWxsKVtdKTogVCB7XG4gIHJldHVybiBjb25maWdzLnJlZHVjZTxUPigoYWNjLCBjb25maWcpID0+IChjb25maWcgPyBhc3NpZ24oYWNjLCBjb25maWcgYXMgVCkgOiBhY2MpLCB7fSBhcyBUKTtcbn1cblxuZXhwb3J0IHR5cGUgREJQcmVzZXQgPSBcIndcIiB8IFwiclwiO1xuXG5leHBvcnQgdHlwZSBTb25hbXVEQkNvbmZpZyA9IHtcbiAgZGV2ZWxvcG1lbnRfbWFzdGVyOiBLbmV4LkNvbmZpZztcbiAgZGV2ZWxvcG1lbnRfc2xhdmU6IEtuZXguQ29uZmlnO1xuICBwcm9kdWN0aW9uX21hc3RlcjogS25leC5Db25maWc7XG4gIHByb2R1Y3Rpb25fc2xhdmU6IEtuZXguQ29uZmlnO1xuICBmaXh0dXJlOiBLbmV4LkNvbmZpZztcbiAgdGVzdDogS25leC5Db25maWc7XG59O1xuXG5leHBvcnQgY2xhc3MgREJDbGFzcyB7XG4gIHByaXZhdGUgd2RiPzogS25leDtcbiAgcHJpdmF0ZSByZGI/OiBLbmV4O1xuXG4gIHB1YmxpYyB0cmFuc2FjdGlvblN0b3JhZ2UgPSBuZXcgQXN5bmNMb2NhbFN0b3JhZ2U8VHJhbnNhY3Rpb25Db250ZXh0PigpO1xuXG4gIHB1YmxpYyBydW5XaXRoVHJhbnNhY3Rpb248VD4oY2FsbGJhY2s6ICgpID0+IFByb21pc2U8VD4pOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblN0b3JhZ2UucnVuKG5ldyBUcmFuc2FjdGlvbkNvbnRleHQoKSwgY2FsbGJhY2spO1xuICB9XG5cbiAgcHVibGljIGdldFRyYW5zYWN0aW9uQ29udGV4dCgpOiBUcmFuc2FjdGlvbkNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU3RvcmFnZS5nZXRTdG9yZSgpID8/IG5ldyBUcmFuc2FjdGlvbkNvbnRleHQoKTtcbiAgfVxuXG4gIGdldERCKHdoaWNoOiBEQlByZXNldCk6IEtuZXgge1xuICAgIGNvbnN0IGRiQ29uZmlnID0gU29uYW11LmRiQ29uZmlnO1xuXG4gICAgLy8g7YWM7Iqk7Yq4IO2KuOuenOyereyFmCDqsqnrpqxcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwidGVzdFwiKSB7XG4gICAgICBpZiAodGhpcy50ZXN0VHJhbnNhY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGVzdFRyYW5zYWN0aW9uO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLndkYikge1xuICAgICAgICByZXR1cm4gdGhpcy53ZGI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLndkYiA9IGtuZXgoe1xuICAgICAgICAgIC4uLmRiQ29uZmlnLnRlc3QsXG4gICAgICAgICAgLy8g64uo7J28IO2SgFxuICAgICAgICAgIHBvb2w6IHtcbiAgICAgICAgICAgIG1pbjogMSxcbiAgICAgICAgICAgIG1heDogMSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMud2RiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGluc3RhbmNlTmFtZSA9IHdoaWNoID09PSBcIndcIiA/IFwid2RiXCIgOiBcInJkYlwiO1xuXG4gICAgaWYgKCF0aGlzW2luc3RhbmNlTmFtZV0pIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZ2V0REJDb25maWcod2hpY2gpO1xuICAgICAgdGhpc1tpbnN0YW5jZU5hbWVdID0ga25leChjb25maWcpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzW2luc3RhbmNlTmFtZV07XG4gIH1cblxuICBnZXREQkNvbmZpZyh3aGljaDogREJQcmVzZXQpOiBLbmV4LkNvbmZpZyB7XG4gICAgY29uc3QgZGJDb25maWcgPSBTb25hbXUuZGJDb25maWc7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInRlc3RcIikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZGJDb25maWcudGVzdCxcbiAgICAgICAgLy8g64uo7J28IO2SgFxuICAgICAgICBwb29sOiB7XG4gICAgICAgICAgbWluOiAxLFxuICAgICAgICAgIG1heDogMSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICAgIHN3aXRjaCAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPz8gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICBjYXNlIFwiZGV2ZWxvcG1lbnRcIjpcbiAgICAgIGNhc2UgXCJzdGFnaW5nXCI6XG4gICAgICAgIHJldHVybiB3aGljaCA9PT0gXCJ3XCJcbiAgICAgICAgICA/IGRiQ29uZmlnLmRldmVsb3BtZW50X21hc3RlclxuICAgICAgICAgIDogKGRiQ29uZmlnLmRldmVsb3BtZW50X3NsYXZlID8/IGRiQ29uZmlnLmRldmVsb3BtZW50X21hc3Rlcik7XG4gICAgICBjYXNlIFwicHJvZHVjdGlvblwiOlxuICAgICAgICByZXR1cm4gd2hpY2ggPT09IFwid1wiXG4gICAgICAgICAgPyBkYkNvbmZpZy5wcm9kdWN0aW9uX21hc3RlclxuICAgICAgICAgIDogKGRiQ29uZmlnLnByb2R1Y3Rpb25fc2xhdmUgPz8gZGJDb25maWcucHJvZHVjdGlvbl9tYXN0ZXIpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGDtmITsnqwgRU5WICR7cHJvY2Vzcy5lbnYuTk9ERV9FTlZ97JeQ64qUIOyEpOyglSDqsIDriqXtlZwgRELshKTsoJXsnbQg7JeG7Iq164uI64ukLmApO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlc3Ryb3koKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMud2RiICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGF3YWl0IHRoaXMud2RiLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMud2RiID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZGIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXdhaXQgdGhpcy5yZGIuZGVzdHJveSgpO1xuICAgICAgdGhpcy5yZGIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlREJDb25maWcoY29uZmlnOiBTb25hbXVDb25maWdbXCJkYXRhYmFzZVwiXSk6IFNvbmFtdURCQ29uZmlnIHtcbiAgICBjb25zdCBkZWZhdWx0S25leENvbmZpZzogUGFydGlhbDxEYXRhYmFzZUNvbmZpZz4gPSBhc3NpZ24oXG4gICAgICB7XG4gICAgICAgIGNsaWVudDogXCJwZ1wiLFxuICAgICAgICBwb29sOiB7XG4gICAgICAgICAgbWluOiAxLFxuICAgICAgICAgIG1heDogNSxcbiAgICAgICAgfSxcbiAgICAgICAgbWlncmF0aW9uczoge1xuICAgICAgICAgIGRpcmVjdG9yeTogXCIuL3NyYy9taWdyYXRpb25zXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbm5lY3Rpb246IHtcbiAgICAgICAgICBkYXRhYmFzZTogY29uZmlnLm5hbWUsXG4gICAgICAgICAgLi4uY29uZmlnLmRlZmF1bHRPcHRpb25zPy5jb25uZWN0aW9uLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGNvbmZpZy5kZWZhdWx0T3B0aW9ucyxcbiAgICApO1xuXG4gICAgLy8gYmlvbWUtaWdub3JlIGZvcm1hdDog7ISk7KCVIOq1rOyhsCDqsIDrj4XshLHsnYQg7JyE7ZW0IOyXrOufrCDspITroZwg7Jyg7KeAXG4gICAgcmV0dXJuIHtcbiAgICAgIC8vIOyXrOq4sOyXkCDrgpjsl7TtlZwg7Iic7ISc64yA66GcIFNvbmFtdSBVSeydmCBEQiBNaWdyYXRpb24g7YOt7JeQIO2RnOyLnOuQqeuLiOuLpC5cbiAgICAgIHRlc3Q6IG1lcmdlQ29uZmlncyhcbiAgICAgICAgZGVmYXVsdEtuZXhDb25maWcsIFxuICAgICAgICB7IGNvbm5lY3Rpb246IHsgZGF0YWJhc2U6IGAke2NvbmZpZy5uYW1lfV90ZXN0YCB9IH0sXG4gICAgICAgIGNvbmZpZy5lbnZpcm9ubWVudHM/LnRlc3RcbiAgICAgICksXG4gICAgICBmaXh0dXJlOiBtZXJnZUNvbmZpZ3MoXG4gICAgICAgIGRlZmF1bHRLbmV4Q29uZmlnLCBcbiAgICAgICAgeyBjb25uZWN0aW9uOiB7IGRhdGFiYXNlOiBgJHtjb25maWcubmFtZX1fZml4dHVyZWAgfSB9LFxuICAgICAgICBjb25maWcuZW52aXJvbm1lbnRzPy5maXh0dXJlLFxuICAgICAgKSxcbiAgICAgIGRldmVsb3BtZW50X21hc3RlcjogbWVyZ2VDb25maWdzKFxuICAgICAgICBkZWZhdWx0S25leENvbmZpZywgXG4gICAgICAgIGNvbmZpZy5lbnZpcm9ubWVudHM/LmRldmVsb3BtZW50XG4gICAgICApLFxuICAgICAgZGV2ZWxvcG1lbnRfc2xhdmU6IG1lcmdlQ29uZmlncyhcbiAgICAgICAgZGVmYXVsdEtuZXhDb25maWcsXG4gICAgICAgIGNvbmZpZy5lbnZpcm9ubWVudHM/LmRldmVsb3BtZW50LFxuICAgICAgICBjb25maWcuZW52aXJvbm1lbnRzPy5kZXZlbG9wbWVudF9zbGF2ZSxcbiAgICAgICksXG4gICAgICBwcm9kdWN0aW9uX21hc3RlcjogbWVyZ2VDb25maWdzKFxuICAgICAgICBkZWZhdWx0S25leENvbmZpZywgXG4gICAgICAgIGNvbmZpZy5lbnZpcm9ubWVudHM/LnByb2R1Y3Rpb25cbiAgICAgICksXG4gICAgICBwcm9kdWN0aW9uX3NsYXZlOiBtZXJnZUNvbmZpZ3MoXG4gICAgICAgIGRlZmF1bHRLbmV4Q29uZmlnLFxuICAgICAgICBjb25maWcuZW52aXJvbm1lbnRzPy5wcm9kdWN0aW9uLFxuICAgICAgICBjb25maWcuZW52aXJvbm1lbnRzPy5wcm9kdWN0aW9uX3NsYXZlLFxuICAgICAgKSxcbiAgICB9O1xuICB9XG5cbiAgLy8gVGVzdCDtmZjqsr3sl5DshJwg7Yq4656c7J6t7IWYIOyCrOyaqVxuICBwdWJsaWMgdGVzdFRyYW5zYWN0aW9uOiBLbmV4LlRyYW5zYWN0aW9uIHwgbnVsbCA9IG51bGw7XG4gIGFzeW5jIGNyZWF0ZVRlc3RUcmFuc2FjdGlvbigpOiBQcm9taXNlPEtuZXguVHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCBkYiA9IHRoaXMuZ2V0REIoXCJ3XCIpO1xuICAgIHRoaXMudGVzdFRyYW5zYWN0aW9uID0gYXdhaXQgZGIudHJhbnNhY3Rpb24oKTtcbiAgICByZXR1cm4gdGhpcy50ZXN0VHJhbnNhY3Rpb247XG4gIH1cbiAgYXN5bmMgY2xlYXJUZXN0VHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy50ZXN0VHJhbnNhY3Rpb24/LnJvbGxiYWNrKCk7XG4gICAgdGhpcy50ZXN0VHJhbnNhY3Rpb24gPSBudWxsO1xuICB9XG4gIGFzeW5jIGdldFRlc3RDb25uZWN0aW9uKCk6IFByb21pc2U8S25leD4ge1xuICAgIGNvbnN0IGRiID0gdGhpcy5nZXREQihcIndcIik7XG4gICAgcmV0dXJuIGRiO1xuICB9XG59XG5leHBvcnQgY29uc3QgREIgPSBuZXcgREJDbGFzcygpO1xuIl0sIm5hbWVzIjpbIkFzeW5jTG9jYWxTdG9yYWdlIiwia25leCIsImFzc2lnbiIsIlNvbmFtdSIsIlRyYW5zYWN0aW9uQ29udGV4dCIsIm1lcmdlQ29uZmlncyIsImNvbmZpZ3MiLCJyZWR1Y2UiLCJhY2MiLCJjb25maWciLCJEQkNsYXNzIiwid2RiIiwicmRiIiwidHJhbnNhY3Rpb25TdG9yYWdlIiwicnVuV2l0aFRyYW5zYWN0aW9uIiwiY2FsbGJhY2siLCJydW4iLCJnZXRUcmFuc2FjdGlvbkNvbnRleHQiLCJnZXRTdG9yZSIsImdldERCIiwid2hpY2giLCJkYkNvbmZpZyIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInRlc3RUcmFuc2FjdGlvbiIsInRlc3QiLCJwb29sIiwibWluIiwibWF4IiwiaW5zdGFuY2VOYW1lIiwiZ2V0REJDb25maWciLCJkZXZlbG9wbWVudF9tYXN0ZXIiLCJkZXZlbG9wbWVudF9zbGF2ZSIsInByb2R1Y3Rpb25fbWFzdGVyIiwicHJvZHVjdGlvbl9zbGF2ZSIsIkVycm9yIiwiZGVzdHJveSIsInVuZGVmaW5lZCIsImdlbmVyYXRlREJDb25maWciLCJkZWZhdWx0S25leENvbmZpZyIsImNsaWVudCIsIm1pZ3JhdGlvbnMiLCJkaXJlY3RvcnkiLCJjb25uZWN0aW9uIiwiZGF0YWJhc2UiLCJuYW1lIiwiZGVmYXVsdE9wdGlvbnMiLCJlbnZpcm9ubWVudHMiLCJmaXh0dXJlIiwiZGV2ZWxvcG1lbnQiLCJwcm9kdWN0aW9uIiwiY3JlYXRlVGVzdFRyYW5zYWN0aW9uIiwiZGIiLCJ0cmFuc2FjdGlvbiIsImNsZWFyVGVzdFRyYW5zYWN0aW9uIiwicm9sbGJhY2siLCJnZXRUZXN0Q29ubmVjdGlvbiIsIkRCIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxpQkFBaUIsUUFBUSxjQUFjO0FBQ2hELE9BQU9DLFVBQXlCLE9BQU87QUFDdkMsU0FBU0MsTUFBTSxRQUFRLFVBQVU7QUFFakMsU0FBU0Ms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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/services.template.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,kBAAmB,SAAQ,QAAQ;;IAK9C,gBAAgB;;;;IAOhB,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC;;;;;;;
|
|
1
|
+
{"version":3,"file":"services.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/services.template.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,kBAAmB,SAAQ,QAAQ;;IAK9C,gBAAgB;;;;IAOhB,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC;;;;;;;CAgPvC"}
|
|
@@ -168,6 +168,9 @@ ${functions.join("\n\n")}
|
|
|
168
168
|
"ListResult"
|
|
169
169
|
]),
|
|
170
170
|
customHeaders: [
|
|
171
|
+
"/** biome-ignore-all lint: generated는 무시 */",
|
|
172
|
+
"/** biome-ignore-all assist: generated는 무시 */",
|
|
173
|
+
"",
|
|
171
174
|
`import { queryOptions, useQuery, useMutation } from '@tanstack/react-query';`,
|
|
172
175
|
`import type { AxiosProgressEvent } from 'axios';`,
|
|
173
176
|
`import qs from 'qs';`,
|
|
@@ -177,4 +180,4 @@ ${functions.join("\n\n")}
|
|
|
177
180
|
}
|
|
178
181
|
}
|
|
179
182
|
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvc2VydmljZXMudGVtcGxhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIjtcbmltcG9ydCB7IGRpZmYsIHVuaXF1ZSB9IGZyb20gXCJyYWRhc2hpXCI7XG5pbXBvcnQge1xuICBhcGlQYXJhbVRvVHNDb2RlLFxuICBhcGlQYXJhbVR5cGVUb1RzVHlwZSxcbiAgdW53cmFwUHJvbWlzZU9uY2UsXG59IGZyb20gXCIuLi8uLi9hcGkvY29kZS1jb252ZXJ0ZXJzXCI7XG5pbXBvcnQgdHlwZSB7IEV4dGVuZGVkQXBpIH0gZnJvbSBcIi4uLy4uL2FwaS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBTb25hbXUgfSBmcm9tIFwiLi4vLi4vYXBpL3NvbmFtdVwiO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IEFwaVBhcmFtVHlwZSB9IGZyb20gXCIuLi8uLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgYXNzZXJ0RGVmaW5lZCB9IGZyb20gXCIuLi8uLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFwiLi4vdGVtcGxhdGVcIjtcbmltcG9ydCB7IHpvZFR5cGVUb1RzVHlwZURlZiB9IGZyb20gXCIuLi96b2QtY29udmVydGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZV9fc2VydmljZXMgZXh0ZW5kcyBUZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwic2VydmljZXNcIik7XG4gIH1cblxuICBnZXRUYXJnZXRBbmRQYXRoKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IFwiOnRhcmdldC9zcmMvc2VydmljZXNcIixcbiAgICAgIHBhdGg6IGBzZXJ2aWNlcy5nZW5lcmF0ZWQudHNgLFxuICAgIH07XG4gIH1cblxuICByZW5kZXIoe306IFRlbXBsYXRlT3B0aW9uc1tcInNlcnZpY2VzXCJdKSB7XG4gICAgY29uc3QgeyBhcGlzIH0gPSBTb25hbXUuc3luY2VyO1xuXG4gICAgLy8g66qo642467OE66GcIOq3uOujue2ZlFxuICAgIGNvbnN0IGFwaXNCeU1vZGVsID0gbmV3IE1hcDxzdHJpbmcsIEV4dGVuZGVkQXBpW10+KCk7XG4gICAgZm9yIChjb25zdCBhcGkgb2YgYXBpcykge1xuICAgICAgY29uc3QgbW9kZWxOYW1lID0gYXBpLm1vZGVsTmFtZS5yZXBsYWNlKC9Nb2RlbCQvLCBcIlwiKS5yZXBsYWNlKC9GcmFtZSQvLCBcIlwiKTtcbiAgICAgIGlmICghYXBpc0J5TW9kZWwuaGFzKG1vZGVsTmFtZSkpIHtcbiAgICAgICAgYXBpc0J5TW9kZWwuc2V0KG1vZGVsTmFtZSwgW10pO1xuICAgICAgfVxuICAgICAgYXBpc0J5TW9kZWwuZ2V0KG1vZGVsTmFtZSk/LnB1c2goYXBpKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbXBvcnRLZXlzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IG5hbWVzcGFjZXM6IHN0cmluZ1tdID0gW107XG4gICAgbGV0IHR5cGVQYXJhbU5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBbbW9kZWxOYW1lLCBtb2RlbEFwaXNdIG9mIGFwaXNCeU1vZGVsKSB7XG4gICAgICBjb25zdCBmdW5jdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgIGZvciAoY29uc3QgYXBpIG9mIG1vZGVsQXBpcykge1xuICAgICAgICAvLyBAc3RyZWFtIOuNsOy9lOugiOydtO2EsOqwgCDsnojsnLzrqbQgU1NFIOyKpO2KuOumvCDtlajsiJgg7IOd7ISxXG4gICAgICAgIGlmIChhcGkuc3RyZWFtT3B0aW9ucykge1xuICAgICAgICAgIGNvbnN0IHBhcmFtc1dpdGhvdXRDb250ZXh0ID0gYXBpLnBhcmFtZXRlcnMuZmlsdGVyKFxuICAgICAgICAgICAgKHBhcmFtKSA9PlxuICAgICAgICAgICAgICAhQXBpUGFyYW1UeXBlLmlzQ29udGV4dChwYXJhbS50eXBlKSAmJlxuICAgICAgICAgICAgICAhQXBpUGFyYW1UeXBlLmlzUmVmS25leChwYXJhbS50eXBlKSAmJlxuICAgICAgICAgICAgICAhKHBhcmFtLm9wdGlvbmFsID09PSB0cnVlICYmIHBhcmFtLm5hbWUuc3RhcnRzV2l0aChcIl9cIikpLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBhcGlCYXNlVXJsID0gYCR7U29uYW11LmNvbmZpZy5hcGkucm91dGUucHJlZml4fSR7YXBpLnBhdGh9YDtcblxuICAgICAgICAgIGNvbnN0IG1ldGhvZE5hbWVTdHJlYW0gPSBhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWVcbiAgICAgICAgICAgID8gYHVzZSR7aW5mbGVjdGlvbi5jYW1lbGl6ZShhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWUpfWBcbiAgICAgICAgICAgIDogYHVzZSR7aW5mbGVjdGlvbi5jYW1lbGl6ZShhcGkubWV0aG9kTmFtZSl9YDtcbiAgICAgICAgICBjb25zdCBtZXRob2ROYW1lU3RyZWFtQ2FtZWxpemVkID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShtZXRob2ROYW1lU3RyZWFtLCB0cnVlKTtcblxuICAgICAgICAgIGNvbnN0IGV2ZW50c1R5cGVEZWYgPSB6b2RUeXBlVG9Uc1R5cGVEZWYoYXBpLnN0cmVhbU9wdGlvbnMuZXZlbnRzKTtcblxuICAgICAgICAgIC8vIO2MjOudvOuvuO2EsOulvCDqsJ3ssrQg7ZiV7YOc66GcIOygleydmCAo7YOA7J6F6rO8IOyLpOygnCDqsJIg66qo65GQ7JeQIOyCrOyaqSlcbiAgICAgICAgICBjb25zdCBwYXJhbXNEZWZBc09iamVjdCA9XG4gICAgICAgICAgICBwYXJhbXNXaXRob3V0Q29udGV4dC5sZW5ndGggPiAwXG4gICAgICAgICAgICAgID8gYHsgJHtwYXJhbXNXaXRob3V0Q29udGV4dC5tYXAoKHApID0+IGAke3AubmFtZX06ICR7YXBpUGFyYW1UeXBlVG9Uc1R5cGUocC50eXBlLCBpbXBvcnRLZXlzKX1gKS5qb2luKFwiLCBcIil9IH1gXG4gICAgICAgICAgICAgIDogXCJ7fVwiO1xuXG4gICAgICAgICAgZnVuY3Rpb25zLnB1c2goXG4gICAgICAgICAgICBgXG5leHBvcnQgZnVuY3Rpb24gJHttZXRob2ROYW1lU3RyZWFtQ2FtZWxpemVkfShcbiAgcGFyYW1zOiAke3BhcmFtc0RlZkFzT2JqZWN0fSxcbiAgaGFuZGxlcnM6IEV2ZW50SGFuZGxlcnM8JHtldmVudHNUeXBlRGVmfSAmIHsgZW5kPzogKCkgPT4gdm9pZCB9PixcbiAgb3B0aW9uczogU1NFU3RyZWFtT3B0aW9uc1xuKSB7XG4gIHJldHVybiB1c2VTU0VTdHJlYW08JHtldmVudHNUeXBlRGVmfT4oXFxgJHthcGlCYXNlVXJsfVxcYCwgcGFyYW1zLCBoYW5kbGVycywgb3B0aW9ucyk7XG59XG4gICAgICAgICAgICBgLnRyaW0oKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29udGV4dCDsoJzsmbjtlZwg7YyM652866+47YSwXG4gICAgICAgIGNvbnN0IHBhcmFtc1dpdGhvdXRDb250ZXh0ID0gYXBpLnBhcmFtZXRlcnMuZmlsdGVyKFxuICAgICAgICAgIChwYXJhbSkgPT5cbiAgICAgICAgICAgICFBcGlQYXJhbVR5cGUuaXNDb250ZXh0KHBhcmFtLnR5cGUpICYmXG4gICAgICAgICAgICAhQXBpUGFyYW1UeXBlLmlzUmVmS25leChwYXJhbS50eXBlKSAmJlxuICAgICAgICAgICAgIShwYXJhbS5vcHRpb25hbCA9PT0gdHJ1ZSAmJiBwYXJhbS5uYW1lLnN0YXJ0c1dpdGgoXCJfXCIpKSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyDtg4DsnoUg7YyM652866+47YSwIOygleydmFxuICAgICAgICBjb25zdCB0eXBlUGFyYW1ldGVyc0FzVHNUeXBlID0gYXBpLnR5cGVQYXJhbWV0ZXJzXG4gICAgICAgICAgLm1hcCgodHlwZVBhcmFtKSA9PiBhcGlQYXJhbVR5cGVUb1RzVHlwZSh0eXBlUGFyYW0sIGltcG9ydEtleXMpKVxuICAgICAgICAgIC5qb2luKFwiLCBcIik7XG4gICAgICAgIGNvbnN0IHR5cGVQYXJhbXNEZWYgPSB0eXBlUGFyYW1ldGVyc0FzVHNUeXBlID8gYDwke3R5cGVQYXJhbWV0ZXJzQXNUc1R5cGV9PmAgOiBcIlwiO1xuICAgICAgICB0eXBlUGFyYW1OYW1lcyA9IHR5cGVQYXJhbU5hbWVzLmNvbmNhdChhcGkudHlwZVBhcmFtZXRlcnMubWFwKCh0cCkgPT4gdHAuaWQpKTtcblxuICAgICAgICAvLyDtjIzrnbzrr7jthLAg7KCV7J2YXG4gICAgICAgIGNvbnN0IHBhcmFtc0RlZiA9IGFwaVBhcmFtVG9Uc0NvZGUocGFyYW1zV2l0aG91dENvbnRleHQsIGltcG9ydEtleXMpO1xuICAgICAgICBjb25zdCBwYXJhbU5hbWVzID0gcGFyYW1zV2l0aG91dENvbnRleHQubWFwKChwKSA9PiBwLm5hbWUpLmpvaW4oXCIsIFwiKTtcblxuICAgICAgICAvLyDrpqzthLQg7YOA7J6FIOygleydmFxuICAgICAgICBjb25zdCByZXR1cm5UeXBlRGVmID0gYXBpUGFyYW1UeXBlVG9Uc1R5cGUoXG4gICAgICAgICAgYXNzZXJ0RGVmaW5lZCh1bndyYXBQcm9taXNlT25jZShhcGkucmV0dXJuVHlwZSkpLFxuICAgICAgICAgIGltcG9ydEtleXMsXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8g6riw67O4IFVSTFxuICAgICAgICBjb25zdCBhcGlCYXNlVXJsID0gYCR7U29uYW11LmNvbmZpZy5hcGkucm91dGUucHJlZml4fSR7YXBpLnBhdGh9YDtcblxuICAgICAgICBjb25zdCBjbGllbnRzID0gYXBpLm9wdGlvbnMuY2xpZW50cyB8fCBbXTtcblxuICAgICAgICAvLyAxLiBheGlvcyDtlajsiJgg7IOd7ISxXG4gICAgICAgIC8vIHJlc291cmNlTmFtZeydtCDsnojsnLzrqbQgZ2V0ICsgcmVzb3VyY2VOYW1lIO2Yle2DnOuhnCDtlajsiJjrqoUg7IOd7ISxXG4gICAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWVcbiAgICAgICAgICA/IGBnZXQke2luZmxlY3Rpb24uY2FtZWxpemUoYXBpLm9wdGlvbnMucmVzb3VyY2VOYW1lKX1gXG4gICAgICAgICAgOiBhcGkubWV0aG9kTmFtZTtcblxuICAgICAgICAvLyBheGlvcy1tdWx0aXBhcnQg7LKY66asICjtjIzsnbwg7JeF66Gc65OcKVxuICAgICAgICBpZiAoY2xpZW50cy5pbmNsdWRlcyhcImF4aW9zLW11bHRpcGFydFwiKSkge1xuICAgICAgICAgIGNvbnN0IGlzTXVsdGlwbGUgPSBhcGkudXBsb2FkT3B0aW9ucz8ubW9kZSA9PT0gXCJtdWx0aXBsZVwiO1xuICAgICAgICAgIGNvbnN0IGZpbGVQYXJhbU5hbWUgPSBpc011bHRpcGxlID8gXCJmaWxlc1wiIDogXCJmaWxlXCI7XG4gICAgICAgICAgY29uc3QgZmlsZVBhcmFtVHlwZSA9IGlzTXVsdGlwbGUgPyBcIkZpbGVbXVwiIDogXCJGaWxlXCI7XG5cbiAgICAgICAgICBjb25zdCBmb3JtRGF0YUFwcGVuZCA9IGlzTXVsdGlwbGVcbiAgICAgICAgICAgID8gYCR7ZmlsZVBhcmFtTmFtZX0uZm9yRWFjaChmID0+IHsgZm9ybURhdGEuYXBwZW5kKFwiJHtmaWxlUGFyYW1OYW1lfVwiLCBmKTsgfSk7YFxuICAgICAgICAgICAgOiBgZm9ybURhdGEuYXBwZW5kKFwiJHtmaWxlUGFyYW1OYW1lfVwiLCAke2ZpbGVQYXJhbU5hbWV9KTtgO1xuXG4gICAgICAgICAgY29uc3Qgb3RoZXJQYXJhbXNBcHBlbmQgPSBwYXJhbXNXaXRob3V0Q29udGV4dFxuICAgICAgICAgICAgLm1hcCgocGFyYW0pID0+IGBmb3JtRGF0YS5hcHBlbmQoJyR7cGFyYW0ubmFtZX0nLCBTdHJpbmcoJHtwYXJhbS5uYW1lfSkpO2ApXG4gICAgICAgICAgICAuam9pbihcIlxcbiAgICBcIik7XG5cbiAgICAgICAgICBjb25zdCBwYXJhbXNEZWZDb21tYSA9IHBhcmFtc0RlZiAhPT0gXCJcIiA/IFwiLCBcIiA6IFwiXCI7XG4gICAgICAgICAgZnVuY3Rpb25zLnB1c2goXG4gICAgICAgICAgICBgXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gJHttZXRob2ROYW1lfSR7dHlwZVBhcmFtc0RlZn0oXG4gICR7cGFyYW1zRGVmfSR7cGFyYW1zRGVmQ29tbWF9XG4gICR7ZmlsZVBhcmFtTmFtZX06ICR7ZmlsZVBhcmFtVHlwZX0sXG4gIG9uVXBsb2FkUHJvZ3Jlc3M/OiAocGU6IEF4aW9zUHJvZ3Jlc3NFdmVudCkgPT4gdm9pZFxuKTogUHJvbWlzZTwke3JldHVyblR5cGVEZWZ9PiB7XG4gIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICR7Zm9ybURhdGFBcHBlbmR9XG4gICR7b3RoZXJQYXJhbXNBcHBlbmR9XG4gIHJldHVybiBmZXRjaCh7XG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgdXJsOiBcXGAke2FwaUJhc2VVcmx9XFxgLFxuICAgIGhlYWRlcnM6IHtcbiAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiLFxuICAgIH0sXG4gICAgb25VcGxvYWRQcm9ncmVzcyxcbiAgICBkYXRhOiBmb3JtRGF0YSxcbiAgICAke2FwaS5vcHRpb25zLnRpbWVvdXQgPyBgc2lnbmFsOiBBYm9ydFNpZ25hbC50aW1lb3V0KCR7YXBpLm9wdGlvbnMudGltZW91dH0pLGAgOiBcIlwifVxuICB9KTtcbn1cbiAgICAgICAgICBgLnRyaW0oKSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKGFwaS5vcHRpb25zLmh0dHBNZXRob2QgPT09IFwiR0VUXCIpIHtcbiAgICAgICAgICBjb25zdCBoYXNQYXJhbXMgPSBwYXJhbXNXaXRob3V0Q29udGV4dC5sZW5ndGggPiAwO1xuICAgICAgICAgIGZ1bmN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgYFxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uICR7bWV0aG9kTmFtZX0ke3R5cGVQYXJhbXNEZWZ9KCR7cGFyYW1zRGVmfSk6IFByb21pc2U8JHtyZXR1cm5UeXBlRGVmfT4ge1xuICByZXR1cm4gZmV0Y2goe1xuICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICB1cmw6IFxcYCR7YXBpQmFzZVVybH0ke2hhc1BhcmFtcyA/IGA/XFwke3FzLnN0cmluZ2lmeSh7ICR7cGFyYW1OYW1lc30gfSl9YCA6IFwiXCJ9XFxgLFxuICAgICR7YXBpLm9wdGlvbnMudGltZW91dCA/IGBzaWduYWw6IEFib3J0U2lnbmFsLnRpbWVvdXQoJHthcGkub3B0aW9ucy50aW1lb3V0fSksYCA6IFwiXCJ9XG4gIH0pO1xufVxuICAgICAgICAgIGAudHJpbSgpLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgaGFzUGFyYW1zID0gcGFyYW1zV2l0aG91dENvbnRleHQubGVuZ3RoID4gMDtcbiAgICAgICAgICBmdW5jdGlvbnMucHVzaChcbiAgICAgICAgICAgIGBcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiAke21ldGhvZE5hbWV9JHt0eXBlUGFyYW1zRGVmfSgke3BhcmFtc0RlZn0pOiBQcm9taXNlPCR7cmV0dXJuVHlwZURlZn0+IHtcbiAgcmV0dXJuIGZldGNoKHtcbiAgICBtZXRob2Q6IFwiJHthcGkub3B0aW9ucy5odHRwTWV0aG9kfVwiLFxuICAgIHVybDogXFxgJHthcGlCYXNlVXJsfVxcYCxcbiAgICAke2hhc1BhcmFtcyA/IGBkYXRhOiB7ICR7cGFyYW1OYW1lc30gfSxgIDogXCJcIn1cbiAgICAke2FwaS5vcHRpb25zLnRpbWVvdXQgPyBgc2lnbmFsOiBBYm9ydFNpZ25hbC50aW1lb3V0KCR7YXBpLm9wdGlvbnMudGltZW91dH0pLGAgOiBcIlwifVxuICB9KTtcbn1cbiAgICAgICAgICBgLnRyaW0oKSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gcXVlcnlPcHRpb25zICsgdXNlUXVlcnkgKHRhbnN0YWNrLXF1ZXJ5KVxuICAgICAgICBpZiAoY2xpZW50cy5pbmNsdWRlcyhcInRhbnN0YWNrLXF1ZXJ5XCIpKSB7XG4gICAgICAgICAgY29uc3QgaG9va05hbWUgPSBhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWVcbiAgICAgICAgICAgID8gaW5mbGVjdGlvbi5jYW1lbGl6ZShhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWUsIHRydWUpXG4gICAgICAgICAgICA6IGluZmxlY3Rpb24uY2FtZWxpemUoYXBpLm1ldGhvZE5hbWUsIHRydWUpO1xuXG4gICAgICAgICAgLy8gcXVlcnlPcHRpb25zXG4gICAgICAgICAgZnVuY3Rpb25zLnB1c2goXG4gICAgICAgICAgICBgXG5leHBvcnQgY29uc3QgJHttZXRob2ROYW1lfVF1ZXJ5T3B0aW9ucyA9ICR7dHlwZVBhcmFtc0RlZn0oJHtwYXJhbXNEZWZ9KSA9PiBxdWVyeU9wdGlvbnMoe1xuICBxdWVyeUtleTogWycke21vZGVsTmFtZX0nLCAnJHttZXRob2ROYW1lfScke3BhcmFtTmFtZXMgPyBgLCAke3BhcmFtTmFtZXN9YCA6IFwiXCJ9XSxcbiAgcXVlcnlGbjogKCkgPT4gJHttZXRob2ROYW1lfSgke3BhcmFtTmFtZXN9KVxufSk7XG4gICAgICAgICAgYC50cmltKCksXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIC8vIHVzZVF1ZXJ5IGhvb2tcbiAgICAgICAgICBmdW5jdGlvbnMucHVzaChcbiAgICAgICAgICAgIGBcbmV4cG9ydCBjb25zdCB1c2Uke2luZmxlY3Rpb24uY2FtZWxpemUoaG9va05hbWUpfSA9ICR7dHlwZVBhcmFtc0RlZn0oJHtwYXJhbXNEZWZ9JHtcbiAgICAgICAgICAgICAgcGFyYW1zRGVmID8gXCIsIFwiIDogXCJcIlxuICAgICAgICAgICAgfW9wdGlvbnM/OiB7IGVuYWJsZWQ/OiBib29sZWFuIH0pID0+XG4gIHVzZVF1ZXJ5KHtcbiAgICAuLi4ke21ldGhvZE5hbWV9UXVlcnlPcHRpb25zKCR7cGFyYW1OYW1lc30pLFxuICAgIC4uLm9wdGlvbnNcbiAgfSk7XG4gICAgICAgICAgYC50cmltKCksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDMuIHVzZU11dGF0aW9uICh0YW5zdGFjay1tdXRhdGlvbilcbiAgICAgICAgaWYgKGNsaWVudHMuaW5jbHVkZXMoXCJ0YW5zdGFjay1tdXRhdGlvblwiKSkge1xuICAgICAgICAgIGNvbnN0IGhvb2tOYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShhcGkubWV0aG9kTmFtZSk7XG4gICAgICAgICAgY29uc3QgbXV0YXRpb25QYXJhbVR5cGUgPVxuICAgICAgICAgICAgcGFyYW1zV2l0aG91dENvbnRleHQubGVuZ3RoID4gMFxuICAgICAgICAgICAgICA/IGB7ICR7cGFyYW1zV2l0aG91dENvbnRleHRcbiAgICAgICAgICAgICAgICAgIC5tYXAoKHApID0+IGAke3AubmFtZX06ICR7YXBpUGFyYW1UeXBlVG9Uc1R5cGUocC50eXBlLCBbXSl9YClcbiAgICAgICAgICAgICAgICAgIC5qb2luKFwiLCBcIil9IH1gXG4gICAgICAgICAgICAgIDogXCJ2b2lkXCI7XG4gICAgICAgICAgY29uc3QgbXV0YXRpb25QYXJhbU5hbWVzID1cbiAgICAgICAgICAgIHBhcmFtc1dpdGhvdXRDb250ZXh0Lmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgPyBwYXJhbXNXaXRob3V0Q29udGV4dC5tYXAoKHApID0+IGBwYXJhbXMuJHtwLm5hbWV9YCkuam9pbihcIiwgXCIpXG4gICAgICAgICAgICAgIDogXCJcIjtcblxuICAgICAgICAgIGZ1bmN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgYFxuZXhwb3J0IGNvbnN0IHVzZSR7aG9va05hbWV9TXV0YXRpb24gPSAke3R5cGVQYXJhbXNEZWZ9KCkgPT4gdXNlTXV0YXRpb24oe1xuICBtdXRhdGlvbkZuOiAocGFyYW1zOiAke211dGF0aW9uUGFyYW1UeXBlfSkgPT4gJHttZXRob2ROYW1lfSgke211dGF0aW9uUGFyYW1OYW1lc30pXG59KTtcbiAgICAgICAgICBgLnRyaW0oKSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG5hbWVzcGFjZXMucHVzaChcbiAgICAgICAgYFxuZXhwb3J0IG5hbWVzcGFjZSAke21vZGVsTmFtZX1TZXJ2aWNlIHtcbiR7ZnVuY3Rpb25zLmpvaW4oXCJcXG5cXG5cIil9XG59XG4gICAgICBgLnRyaW0oKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuZ2V0VGFyZ2V0QW5kUGF0aCgpLFxuICAgICAgYm9keTogbmFtZXNwYWNlcy5qb2luKFwiXFxuXFxuXCIpLFxuICAgICAgaW1wb3J0S2V5czogZGlmZih1bmlxdWUoaW1wb3J0S2V5cyksIFsuLi50eXBlUGFyYW1OYW1lcywgXCJMaXN0UmVzdWx0XCJdKSxcbiAgICAgIGN1c3RvbUhlYWRlcnM6IFtcbiAgICAgICAgYGltcG9ydCB7IHF1ZXJ5T3B0aW9ucywgdXNlUXVlcnksIHVzZU11dGF0aW9uIH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5JztgLFxuICAgICAgICBgaW1wb3J0IHR5cGUgeyBBeGlvc1Byb2dyZXNzRXZlbnQgfSBmcm9tICdheGlvcyc7YCxcbiAgICAgICAgYGltcG9ydCBxcyBmcm9tICdxcyc7YCxcbiAgICAgICAgYGltcG9ydCB7IHR5cGUgTGlzdFJlc3VsdCwgZmV0Y2gsIHR5cGUgRXZlbnRIYW5kbGVycywgdHlwZSBTU0VTdHJlYW1PcHRpb25zLCB1c2VTU0VTdHJlYW0gfSBmcm9tICcuL3NvbmFtdS5zaGFyZWQnO2AsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwiZGlmZiIsInVuaXF1ZSIsImFwaVBhcmFtVG9Uc0NvZGUiLCJhcGlQYXJhbVR5cGVUb1RzVHlwZSIsInVud3JhcFByb21pc2VPbmNlIiwiU29uYW11IiwiQXBpUGFyYW1UeXBlIiwiYXNzZXJ0RGVmaW5lZCIsIlRlbXBsYXRlIiwiem9kVHlwZVRvVHNUeXBlRGVmIiwiVGVtcGxhdGVfX3NlcnZpY2VzIiwiZ2V0VGFyZ2V0QW5kUGF0aCIsInRhcmdldCIsInBhdGgiLCJyZW5kZXIiLCJhcGlzIiwic3luY2VyIiwiYXBpc0J5TW9kZWwiLCJNYXAiLCJhcGkiLCJtb2RlbE5hbWUiLCJyZXBsYWNlIiwiaGFzIiwic2V0IiwiZ2V0IiwicHVzaCIsImltcG9ydEtleXMiLCJuYW1lc3BhY2VzIiwidHlwZVBhcmFtTmFtZXMiLCJtb2RlbEFwaXMiLCJmdW5jdGlvbnMiLCJzdHJlYW1PcHRpb25zIiwicGFyYW1zV2l0aG91dENvbnRleHQiLCJwYXJhbWV0ZXJzIiwiZmlsdGVyIiwicGFyYW0iLCJpc0NvbnRleHQiLCJ0eXBlIiwiaXNSZWZLbmV4Iiwib3B0aW9uYWwiLCJuYW1lIiwic3RhcnRzV2l0aCIsImFwaUJhc2VVcmwiLCJjb25maWciLCJyb3V0ZSIsInByZWZpeCIsIm1ldGhvZE5hbWVTdHJlYW0iLCJvcHRpb25zIiwicmVzb3VyY2VOYW1lIiwiY2FtZWxpemUiLCJtZXRob2ROYW1lIiwibWV0aG9kTmFtZVN0cmVhbUNhbWVsaXplZCIsImV2ZW50c1R5cGVEZWYiLCJldmVudHMiLCJwYXJhbXNEZWZBc09iamVjdCIsImxlbmd0aCIsIm1hcCIsInAiLCJqb2luIiwidHJpbSIsInR5cGVQYXJhbWV0ZXJzQXNUc1R5cGUiLCJ0eXBlUGFyYW1ldGVycyIsInR5cGVQYXJhbSIsInR5cGVQYXJhbXNEZWYiLCJjb25jYXQiLCJ0cCIsImlkIiwicGFyYW1zRGVmIiwicGFyYW1OYW1lcyIsInJldHVyblR5cGVEZWYiLCJyZXR1cm5UeXBlIiwiY2xpZW50cyIsImluY2x1ZGVzIiwiaXNNdWx0aXBsZSIsInVwbG9hZE9wdGlvbnMiLCJtb2RlIiwiZmlsZVBhcmFtTmFtZSIsImZpbGVQYXJhbVR5cGUiLCJmb3JtRGF0YUFwcGVuZCIsIm90aGVyUGFyYW1zQXBwZW5kIiwicGFyYW1zRGVmQ29tbWEiLCJ0aW1lb3V0IiwiaHR0cE1ldGhvZCIsImhhc1BhcmFtcyIsImhvb2tOYW1lIiwibXV0YXRpb25QYXJhbVR5cGUiLCJtdXRhdGlvblBhcmFtTmFtZXMiLCJib2R5IiwiY3VzdG9tSGVhZGVycyJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsZ0JBQWdCLGFBQWE7QUFDcEMsU0FBU0MsSUFBSSxFQUFFQyxNQUFNLFFBQVEsVUFBVTtBQUN2QyxTQUNFQyxnQkFBZ0IsRUFDaEJDLG9CQUFvQixFQUNwQkMsaUJBQWlCLFFBQ1osK0JBQTRCO0FBRW5DLFNBQVNDLE1BQU0sUUFBUSxzQkFBbUI7QUFFMUMsU0FBU0MsWUFBWSxRQUFRLHVCQUFvQjtBQUNqRCxTQUFTQyxhQUFhLFFBQVEsdUJBQW9CO0FBQ2xELFNBQVNDLFFBQVEsUUFBUSxpQkFBYztBQUN2QyxTQUFTQyxrQkFBa0IsUUFBUSxzQkFBbUI7QUFFdEQsT0FBTyxNQUFNQywyQkFBMkJGO0lBQ3RDLGFBQWM7UUFDWixLQUFLLENBQUM7SUFDUjtJQUVBRyxtQkFBbUI7UUFDakIsT0FBTztZQUNMQyxRQUFRO1lBQ1JDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztRQUMvQjtJQUNGO0lBRUFDLE9BQU8sRUFBK0IsRUFBRTtRQUN0QyxNQUFNLEVBQUVDLElBQUksRUFBRSxHQUFHVixPQUFPVyxNQUFNO1FBRTlCLFdBQVc7UUFDWCxNQUFNQyxjQUFjLElBQUlDO1FBQ3hCLEtBQUssTUFBTUMsT0FBT0osS0FBTTtZQUN0QixNQUFNSyxZQUFZRCxJQUFJQyxTQUFTLENBQUNDLE9BQU8sQ0FBQyxVQUFVLElBQUlBLE9BQU8sQ0FBQyxVQUFVO1lBQ3hFLElBQUksQ0FBQ0osWUFBWUssR0FBRyxDQUFDRixZQUFZO2dCQUMvQkgsWUFBWU0sR0FBRyxDQUFDSCxXQUFXLEVBQUU7WUFDL0I7WUFDQUgsWUFBWU8sR0FBRyxDQUFDSixZQUFZSyxLQUFLTjtRQUNuQztRQUVBLE1BQU1PLGFBQXVCLEVBQUU7UUFDL0IsTUFBTUMsYUFBdUIsRUFBRTtRQUMvQixJQUFJQyxpQkFBMkIsRUFBRTtRQUVqQyxLQUFLLE1BQU0sQ0FB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
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvc2VydmljZXMudGVtcGxhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIjtcbmltcG9ydCB7IGRpZmYsIHVuaXF1ZSB9IGZyb20gXCJyYWRhc2hpXCI7XG5pbXBvcnQge1xuICBhcGlQYXJhbVRvVHNDb2RlLFxuICBhcGlQYXJhbVR5cGVUb1RzVHlwZSxcbiAgdW53cmFwUHJvbWlzZU9uY2UsXG59IGZyb20gXCIuLi8uLi9hcGkvY29kZS1jb252ZXJ0ZXJzXCI7XG5pbXBvcnQgdHlwZSB7IEV4dGVuZGVkQXBpIH0gZnJvbSBcIi4uLy4uL2FwaS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBTb25hbXUgfSBmcm9tIFwiLi4vLi4vYXBpL3NvbmFtdVwiO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IEFwaVBhcmFtVHlwZSB9IGZyb20gXCIuLi8uLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgYXNzZXJ0RGVmaW5lZCB9IGZyb20gXCIuLi8uLi91dGlscy91dGlsc1wiO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFwiLi4vdGVtcGxhdGVcIjtcbmltcG9ydCB7IHpvZFR5cGVUb1RzVHlwZURlZiB9IGZyb20gXCIuLi96b2QtY29udmVydGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZV9fc2VydmljZXMgZXh0ZW5kcyBUZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwic2VydmljZXNcIik7XG4gIH1cblxuICBnZXRUYXJnZXRBbmRQYXRoKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IFwiOnRhcmdldC9zcmMvc2VydmljZXNcIixcbiAgICAgIHBhdGg6IGBzZXJ2aWNlcy5nZW5lcmF0ZWQudHNgLFxuICAgIH07XG4gIH1cblxuICByZW5kZXIoe306IFRlbXBsYXRlT3B0aW9uc1tcInNlcnZpY2VzXCJdKSB7XG4gICAgY29uc3QgeyBhcGlzIH0gPSBTb25hbXUuc3luY2VyO1xuXG4gICAgLy8g66qo642467OE66GcIOq3uOujue2ZlFxuICAgIGNvbnN0IGFwaXNCeU1vZGVsID0gbmV3IE1hcDxzdHJpbmcsIEV4dGVuZGVkQXBpW10+KCk7XG4gICAgZm9yIChjb25zdCBhcGkgb2YgYXBpcykge1xuICAgICAgY29uc3QgbW9kZWxOYW1lID0gYXBpLm1vZGVsTmFtZS5yZXBsYWNlKC9Nb2RlbCQvLCBcIlwiKS5yZXBsYWNlKC9GcmFtZSQvLCBcIlwiKTtcbiAgICAgIGlmICghYXBpc0J5TW9kZWwuaGFzKG1vZGVsTmFtZSkpIHtcbiAgICAgICAgYXBpc0J5TW9kZWwuc2V0KG1vZGVsTmFtZSwgW10pO1xuICAgICAgfVxuICAgICAgYXBpc0J5TW9kZWwuZ2V0KG1vZGVsTmFtZSk/LnB1c2goYXBpKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbXBvcnRLZXlzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IG5hbWVzcGFjZXM6IHN0cmluZ1tdID0gW107XG4gICAgbGV0IHR5cGVQYXJhbU5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBbbW9kZWxOYW1lLCBtb2RlbEFwaXNdIG9mIGFwaXNCeU1vZGVsKSB7XG4gICAgICBjb25zdCBmdW5jdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgIGZvciAoY29uc3QgYXBpIG9mIG1vZGVsQXBpcykge1xuICAgICAgICAvLyBAc3RyZWFtIOuNsOy9lOugiOydtO2EsOqwgCDsnojsnLzrqbQgU1NFIOyKpO2KuOumvCDtlajsiJgg7IOd7ISxXG4gICAgICAgIGlmIChhcGkuc3RyZWFtT3B0aW9ucykge1xuICAgICAgICAgIGNvbnN0IHBhcmFtc1dpdGhvdXRDb250ZXh0ID0gYXBpLnBhcmFtZXRlcnMuZmlsdGVyKFxuICAgICAgICAgICAgKHBhcmFtKSA9PlxuICAgICAgICAgICAgICAhQXBpUGFyYW1UeXBlLmlzQ29udGV4dChwYXJhbS50eXBlKSAmJlxuICAgICAgICAgICAgICAhQXBpUGFyYW1UeXBlLmlzUmVmS25leChwYXJhbS50eXBlKSAmJlxuICAgICAgICAgICAgICAhKHBhcmFtLm9wdGlvbmFsID09PSB0cnVlICYmIHBhcmFtLm5hbWUuc3RhcnRzV2l0aChcIl9cIikpLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBhcGlCYXNlVXJsID0gYCR7U29uYW11LmNvbmZpZy5hcGkucm91dGUucHJlZml4fSR7YXBpLnBhdGh9YDtcblxuICAgICAgICAgIGNvbnN0IG1ldGhvZE5hbWVTdHJlYW0gPSBhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWVcbiAgICAgICAgICAgID8gYHVzZSR7aW5mbGVjdGlvbi5jYW1lbGl6ZShhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWUpfWBcbiAgICAgICAgICAgIDogYHVzZSR7aW5mbGVjdGlvbi5jYW1lbGl6ZShhcGkubWV0aG9kTmFtZSl9YDtcbiAgICAgICAgICBjb25zdCBtZXRob2ROYW1lU3RyZWFtQ2FtZWxpemVkID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShtZXRob2ROYW1lU3RyZWFtLCB0cnVlKTtcblxuICAgICAgICAgIGNvbnN0IGV2ZW50c1R5cGVEZWYgPSB6b2RUeXBlVG9Uc1R5cGVEZWYoYXBpLnN0cmVhbU9wdGlvbnMuZXZlbnRzKTtcblxuICAgICAgICAgIC8vIO2MjOudvOuvuO2EsOulvCDqsJ3ssrQg7ZiV7YOc66GcIOygleydmCAo7YOA7J6F6rO8IOyLpOygnCDqsJIg66qo65GQ7JeQIOyCrOyaqSlcbiAgICAgICAgICBjb25zdCBwYXJhbXNEZWZBc09iamVjdCA9XG4gICAgICAgICAgICBwYXJhbXNXaXRob3V0Q29udGV4dC5sZW5ndGggPiAwXG4gICAgICAgICAgICAgID8gYHsgJHtwYXJhbXNXaXRob3V0Q29udGV4dC5tYXAoKHApID0+IGAke3AubmFtZX06ICR7YXBpUGFyYW1UeXBlVG9Uc1R5cGUocC50eXBlLCBpbXBvcnRLZXlzKX1gKS5qb2luKFwiLCBcIil9IH1gXG4gICAgICAgICAgICAgIDogXCJ7fVwiO1xuXG4gICAgICAgICAgZnVuY3Rpb25zLnB1c2goXG4gICAgICAgICAgICBgXG5leHBvcnQgZnVuY3Rpb24gJHttZXRob2ROYW1lU3RyZWFtQ2FtZWxpemVkfShcbiAgcGFyYW1zOiAke3BhcmFtc0RlZkFzT2JqZWN0fSxcbiAgaGFuZGxlcnM6IEV2ZW50SGFuZGxlcnM8JHtldmVudHNUeXBlRGVmfSAmIHsgZW5kPzogKCkgPT4gdm9pZCB9PixcbiAgb3B0aW9uczogU1NFU3RyZWFtT3B0aW9uc1xuKSB7XG4gIHJldHVybiB1c2VTU0VTdHJlYW08JHtldmVudHNUeXBlRGVmfT4oXFxgJHthcGlCYXNlVXJsfVxcYCwgcGFyYW1zLCBoYW5kbGVycywgb3B0aW9ucyk7XG59XG4gICAgICAgICAgICBgLnRyaW0oKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29udGV4dCDsoJzsmbjtlZwg7YyM652866+47YSwXG4gICAgICAgIGNvbnN0IHBhcmFtc1dpdGhvdXRDb250ZXh0ID0gYXBpLnBhcmFtZXRlcnMuZmlsdGVyKFxuICAgICAgICAgIChwYXJhbSkgPT5cbiAgICAgICAgICAgICFBcGlQYXJhbVR5cGUuaXNDb250ZXh0KHBhcmFtLnR5cGUpICYmXG4gICAgICAgICAgICAhQXBpUGFyYW1UeXBlLmlzUmVmS25leChwYXJhbS50eXBlKSAmJlxuICAgICAgICAgICAgIShwYXJhbS5vcHRpb25hbCA9PT0gdHJ1ZSAmJiBwYXJhbS5uYW1lLnN0YXJ0c1dpdGgoXCJfXCIpKSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyDtg4DsnoUg7YyM652866+47YSwIOygleydmFxuICAgICAgICBjb25zdCB0eXBlUGFyYW1ldGVyc0FzVHNUeXBlID0gYXBpLnR5cGVQYXJhbWV0ZXJzXG4gICAgICAgICAgLm1hcCgodHlwZVBhcmFtKSA9PiBhcGlQYXJhbVR5cGVUb1RzVHlwZSh0eXBlUGFyYW0sIGltcG9ydEtleXMpKVxuICAgICAgICAgIC5qb2luKFwiLCBcIik7XG4gICAgICAgIGNvbnN0IHR5cGVQYXJhbXNEZWYgPSB0eXBlUGFyYW1ldGVyc0FzVHNUeXBlID8gYDwke3R5cGVQYXJhbWV0ZXJzQXNUc1R5cGV9PmAgOiBcIlwiO1xuICAgICAgICB0eXBlUGFyYW1OYW1lcyA9IHR5cGVQYXJhbU5hbWVzLmNvbmNhdChhcGkudHlwZVBhcmFtZXRlcnMubWFwKCh0cCkgPT4gdHAuaWQpKTtcblxuICAgICAgICAvLyDtjIzrnbzrr7jthLAg7KCV7J2YXG4gICAgICAgIGNvbnN0IHBhcmFtc0RlZiA9IGFwaVBhcmFtVG9Uc0NvZGUocGFyYW1zV2l0aG91dENvbnRleHQsIGltcG9ydEtleXMpO1xuICAgICAgICBjb25zdCBwYXJhbU5hbWVzID0gcGFyYW1zV2l0aG91dENvbnRleHQubWFwKChwKSA9PiBwLm5hbWUpLmpvaW4oXCIsIFwiKTtcblxuICAgICAgICAvLyDrpqzthLQg7YOA7J6FIOygleydmFxuICAgICAgICBjb25zdCByZXR1cm5UeXBlRGVmID0gYXBpUGFyYW1UeXBlVG9Uc1R5cGUoXG4gICAgICAgICAgYXNzZXJ0RGVmaW5lZCh1bndyYXBQcm9taXNlT25jZShhcGkucmV0dXJuVHlwZSkpLFxuICAgICAgICAgIGltcG9ydEtleXMsXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8g6riw67O4IFVSTFxuICAgICAgICBjb25zdCBhcGlCYXNlVXJsID0gYCR7U29uYW11LmNvbmZpZy5hcGkucm91dGUucHJlZml4fSR7YXBpLnBhdGh9YDtcblxuICAgICAgICBjb25zdCBjbGllbnRzID0gYXBpLm9wdGlvbnMuY2xpZW50cyB8fCBbXTtcblxuICAgICAgICAvLyAxLiBheGlvcyDtlajsiJgg7IOd7ISxXG4gICAgICAgIC8vIHJlc291cmNlTmFtZeydtCDsnojsnLzrqbQgZ2V0ICsgcmVzb3VyY2VOYW1lIO2Yle2DnOuhnCDtlajsiJjrqoUg7IOd7ISxXG4gICAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWVcbiAgICAgICAgICA/IGBnZXQke2luZmxlY3Rpb24uY2FtZWxpemUoYXBpLm9wdGlvbnMucmVzb3VyY2VOYW1lKX1gXG4gICAgICAgICAgOiBhcGkubWV0aG9kTmFtZTtcblxuICAgICAgICAvLyBheGlvcy1tdWx0aXBhcnQg7LKY66asICjtjIzsnbwg7JeF66Gc65OcKVxuICAgICAgICBpZiAoY2xpZW50cy5pbmNsdWRlcyhcImF4aW9zLW11bHRpcGFydFwiKSkge1xuICAgICAgICAgIGNvbnN0IGlzTXVsdGlwbGUgPSBhcGkudXBsb2FkT3B0aW9ucz8ubW9kZSA9PT0gXCJtdWx0aXBsZVwiO1xuICAgICAgICAgIGNvbnN0IGZpbGVQYXJhbU5hbWUgPSBpc011bHRpcGxlID8gXCJmaWxlc1wiIDogXCJmaWxlXCI7XG4gICAgICAgICAgY29uc3QgZmlsZVBhcmFtVHlwZSA9IGlzTXVsdGlwbGUgPyBcIkZpbGVbXVwiIDogXCJGaWxlXCI7XG5cbiAgICAgICAgICBjb25zdCBmb3JtRGF0YUFwcGVuZCA9IGlzTXVsdGlwbGVcbiAgICAgICAgICAgID8gYCR7ZmlsZVBhcmFtTmFtZX0uZm9yRWFjaChmID0+IHsgZm9ybURhdGEuYXBwZW5kKFwiJHtmaWxlUGFyYW1OYW1lfVwiLCBmKTsgfSk7YFxuICAgICAgICAgICAgOiBgZm9ybURhdGEuYXBwZW5kKFwiJHtmaWxlUGFyYW1OYW1lfVwiLCAke2ZpbGVQYXJhbU5hbWV9KTtgO1xuXG4gICAgICAgICAgY29uc3Qgb3RoZXJQYXJhbXNBcHBlbmQgPSBwYXJhbXNXaXRob3V0Q29udGV4dFxuICAgICAgICAgICAgLm1hcCgocGFyYW0pID0+IGBmb3JtRGF0YS5hcHBlbmQoJyR7cGFyYW0ubmFtZX0nLCBTdHJpbmcoJHtwYXJhbS5uYW1lfSkpO2ApXG4gICAgICAgICAgICAuam9pbihcIlxcbiAgICBcIik7XG5cbiAgICAgICAgICBjb25zdCBwYXJhbXNEZWZDb21tYSA9IHBhcmFtc0RlZiAhPT0gXCJcIiA/IFwiLCBcIiA6IFwiXCI7XG4gICAgICAgICAgZnVuY3Rpb25zLnB1c2goXG4gICAgICAgICAgICBgXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gJHttZXRob2ROYW1lfSR7dHlwZVBhcmFtc0RlZn0oXG4gICR7cGFyYW1zRGVmfSR7cGFyYW1zRGVmQ29tbWF9XG4gICR7ZmlsZVBhcmFtTmFtZX06ICR7ZmlsZVBhcmFtVHlwZX0sXG4gIG9uVXBsb2FkUHJvZ3Jlc3M/OiAocGU6IEF4aW9zUHJvZ3Jlc3NFdmVudCkgPT4gdm9pZFxuKTogUHJvbWlzZTwke3JldHVyblR5cGVEZWZ9PiB7XG4gIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICR7Zm9ybURhdGFBcHBlbmR9XG4gICR7b3RoZXJQYXJhbXNBcHBlbmR9XG4gIHJldHVybiBmZXRjaCh7XG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgdXJsOiBcXGAke2FwaUJhc2VVcmx9XFxgLFxuICAgIGhlYWRlcnM6IHtcbiAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiLFxuICAgIH0sXG4gICAgb25VcGxvYWRQcm9ncmVzcyxcbiAgICBkYXRhOiBmb3JtRGF0YSxcbiAgICAke2FwaS5vcHRpb25zLnRpbWVvdXQgPyBgc2lnbmFsOiBBYm9ydFNpZ25hbC50aW1lb3V0KCR7YXBpLm9wdGlvbnMudGltZW91dH0pLGAgOiBcIlwifVxuICB9KTtcbn1cbiAgICAgICAgICBgLnRyaW0oKSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKGFwaS5vcHRpb25zLmh0dHBNZXRob2QgPT09IFwiR0VUXCIpIHtcbiAgICAgICAgICBjb25zdCBoYXNQYXJhbXMgPSBwYXJhbXNXaXRob3V0Q29udGV4dC5sZW5ndGggPiAwO1xuICAgICAgICAgIGZ1bmN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgYFxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uICR7bWV0aG9kTmFtZX0ke3R5cGVQYXJhbXNEZWZ9KCR7cGFyYW1zRGVmfSk6IFByb21pc2U8JHtyZXR1cm5UeXBlRGVmfT4ge1xuICByZXR1cm4gZmV0Y2goe1xuICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICB1cmw6IFxcYCR7YXBpQmFzZVVybH0ke2hhc1BhcmFtcyA/IGA/XFwke3FzLnN0cmluZ2lmeSh7ICR7cGFyYW1OYW1lc30gfSl9YCA6IFwiXCJ9XFxgLFxuICAgICR7YXBpLm9wdGlvbnMudGltZW91dCA/IGBzaWduYWw6IEFib3J0U2lnbmFsLnRpbWVvdXQoJHthcGkub3B0aW9ucy50aW1lb3V0fSksYCA6IFwiXCJ9XG4gIH0pO1xufVxuICAgICAgICAgIGAudHJpbSgpLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgaGFzUGFyYW1zID0gcGFyYW1zV2l0aG91dENvbnRleHQubGVuZ3RoID4gMDtcbiAgICAgICAgICBmdW5jdGlvbnMucHVzaChcbiAgICAgICAgICAgIGBcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiAke21ldGhvZE5hbWV9JHt0eXBlUGFyYW1zRGVmfSgke3BhcmFtc0RlZn0pOiBQcm9taXNlPCR7cmV0dXJuVHlwZURlZn0+IHtcbiAgcmV0dXJuIGZldGNoKHtcbiAgICBtZXRob2Q6IFwiJHthcGkub3B0aW9ucy5odHRwTWV0aG9kfVwiLFxuICAgIHVybDogXFxgJHthcGlCYXNlVXJsfVxcYCxcbiAgICAke2hhc1BhcmFtcyA/IGBkYXRhOiB7ICR7cGFyYW1OYW1lc30gfSxgIDogXCJcIn1cbiAgICAke2FwaS5vcHRpb25zLnRpbWVvdXQgPyBgc2lnbmFsOiBBYm9ydFNpZ25hbC50aW1lb3V0KCR7YXBpLm9wdGlvbnMudGltZW91dH0pLGAgOiBcIlwifVxuICB9KTtcbn1cbiAgICAgICAgICBgLnRyaW0oKSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gcXVlcnlPcHRpb25zICsgdXNlUXVlcnkgKHRhbnN0YWNrLXF1ZXJ5KVxuICAgICAgICBpZiAoY2xpZW50cy5pbmNsdWRlcyhcInRhbnN0YWNrLXF1ZXJ5XCIpKSB7XG4gICAgICAgICAgY29uc3QgaG9va05hbWUgPSBhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWVcbiAgICAgICAgICAgID8gaW5mbGVjdGlvbi5jYW1lbGl6ZShhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWUsIHRydWUpXG4gICAgICAgICAgICA6IGluZmxlY3Rpb24uY2FtZWxpemUoYXBpLm1ldGhvZE5hbWUsIHRydWUpO1xuXG4gICAgICAgICAgLy8gcXVlcnlPcHRpb25zXG4gICAgICAgICAgZnVuY3Rpb25zLnB1c2goXG4gICAgICAgICAgICBgXG5leHBvcnQgY29uc3QgJHttZXRob2ROYW1lfVF1ZXJ5T3B0aW9ucyA9ICR7dHlwZVBhcmFtc0RlZn0oJHtwYXJhbXNEZWZ9KSA9PiBxdWVyeU9wdGlvbnMoe1xuICBxdWVyeUtleTogWycke21vZGVsTmFtZX0nLCAnJHttZXRob2ROYW1lfScke3BhcmFtTmFtZXMgPyBgLCAke3BhcmFtTmFtZXN9YCA6IFwiXCJ9XSxcbiAgcXVlcnlGbjogKCkgPT4gJHttZXRob2ROYW1lfSgke3BhcmFtTmFtZXN9KVxufSk7XG4gICAgICAgICAgYC50cmltKCksXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIC8vIHVzZVF1ZXJ5IGhvb2tcbiAgICAgICAgICBmdW5jdGlvbnMucHVzaChcbiAgICAgICAgICAgIGBcbmV4cG9ydCBjb25zdCB1c2Uke2luZmxlY3Rpb24uY2FtZWxpemUoaG9va05hbWUpfSA9ICR7dHlwZVBhcmFtc0RlZn0oJHtwYXJhbXNEZWZ9JHtcbiAgICAgICAgICAgICAgcGFyYW1zRGVmID8gXCIsIFwiIDogXCJcIlxuICAgICAgICAgICAgfW9wdGlvbnM/OiB7IGVuYWJsZWQ/OiBib29sZWFuIH0pID0+XG4gIHVzZVF1ZXJ5KHtcbiAgICAuLi4ke21ldGhvZE5hbWV9UXVlcnlPcHRpb25zKCR7cGFyYW1OYW1lc30pLFxuICAgIC4uLm9wdGlvbnNcbiAgfSk7XG4gICAgICAgICAgYC50cmltKCksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDMuIHVzZU11dGF0aW9uICh0YW5zdGFjay1tdXRhdGlvbilcbiAgICAgICAgaWYgKGNsaWVudHMuaW5jbHVkZXMoXCJ0YW5zdGFjay1tdXRhdGlvblwiKSkge1xuICAgICAgICAgIGNvbnN0IGhvb2tOYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShhcGkubWV0aG9kTmFtZSk7XG4gICAgICAgICAgY29uc3QgbXV0YXRpb25QYXJhbVR5cGUgPVxuICAgICAgICAgICAgcGFyYW1zV2l0aG91dENvbnRleHQubGVuZ3RoID4gMFxuICAgICAgICAgICAgICA/IGB7ICR7cGFyYW1zV2l0aG91dENvbnRleHRcbiAgICAgICAgICAgICAgICAgIC5tYXAoKHApID0+IGAke3AubmFtZX06ICR7YXBpUGFyYW1UeXBlVG9Uc1R5cGUocC50eXBlLCBbXSl9YClcbiAgICAgICAgICAgICAgICAgIC5qb2luKFwiLCBcIil9IH1gXG4gICAgICAgICAgICAgIDogXCJ2b2lkXCI7XG4gICAgICAgICAgY29uc3QgbXV0YXRpb25QYXJhbU5hbWVzID1cbiAgICAgICAgICAgIHBhcmFtc1dpdGhvdXRDb250ZXh0Lmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgPyBwYXJhbXNXaXRob3V0Q29udGV4dC5tYXAoKHApID0+IGBwYXJhbXMuJHtwLm5hbWV9YCkuam9pbihcIiwgXCIpXG4gICAgICAgICAgICAgIDogXCJcIjtcblxuICAgICAgICAgIGZ1bmN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgYFxuZXhwb3J0IGNvbnN0IHVzZSR7aG9va05hbWV9TXV0YXRpb24gPSAke3R5cGVQYXJhbXNEZWZ9KCkgPT4gdXNlTXV0YXRpb24oe1xuICBtdXRhdGlvbkZuOiAocGFyYW1zOiAke211dGF0aW9uUGFyYW1UeXBlfSkgPT4gJHttZXRob2ROYW1lfSgke211dGF0aW9uUGFyYW1OYW1lc30pXG59KTtcbiAgICAgICAgICBgLnRyaW0oKSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG5hbWVzcGFjZXMucHVzaChcbiAgICAgICAgYFxuZXhwb3J0IG5hbWVzcGFjZSAke21vZGVsTmFtZX1TZXJ2aWNlIHtcbiR7ZnVuY3Rpb25zLmpvaW4oXCJcXG5cXG5cIil9XG59XG4gICAgICBgLnRyaW0oKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuZ2V0VGFyZ2V0QW5kUGF0aCgpLFxuICAgICAgYm9keTogbmFtZXNwYWNlcy5qb2luKFwiXFxuXFxuXCIpLFxuICAgICAgaW1wb3J0S2V5czogZGlmZih1bmlxdWUoaW1wb3J0S2V5cyksIFsuLi50eXBlUGFyYW1OYW1lcywgXCJMaXN0UmVzdWx0XCJdKSxcbiAgICAgIGN1c3RvbUhlYWRlcnM6IFtcbiAgICAgICAgXCIvKiogYmlvbWUtaWdub3JlLWFsbCBsaW50OiBnZW5lcmF0ZWTripQg66y07IucICovXCIsXG4gICAgICAgIFwiLyoqIGJpb21lLWlnbm9yZS1hbGwgYXNzaXN0OiBnZW5lcmF0ZWTripQg66y07IucICovXCIsXG4gICAgICAgIFwiXCIsXG4gICAgICAgIGBpbXBvcnQgeyBxdWVyeU9wdGlvbnMsIHVzZVF1ZXJ5LCB1c2VNdXRhdGlvbiB9IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSc7YCxcbiAgICAgICAgYGltcG9ydCB0eXBlIHsgQXhpb3NQcm9ncmVzc0V2ZW50IH0gZnJvbSAnYXhpb3MnO2AsXG4gICAgICAgIGBpbXBvcnQgcXMgZnJvbSAncXMnO2AsXG4gICAgICAgIGBpbXBvcnQgeyB0eXBlIExpc3RSZXN1bHQsIGZldGNoLCB0eXBlIEV2ZW50SGFuZGxlcnMsIHR5cGUgU1NFU3RyZWFtT3B0aW9ucywgdXNlU1NFU3RyZWFtIH0gZnJvbSAnLi9zb25hbXUuc2hhcmVkJztgLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXSwibmFtZXMiOlsiaW5mbGVjdGlvbiIsImRpZmYiLCJ1bmlxdWUiLCJhcGlQYXJhbVRvVHNDb2RlIiwiYXBpUGFyYW1UeXBlVG9Uc1R5cGUiLCJ1bndyYXBQcm9taXNlT25jZSIsIlNvbmFtdSIsIkFwaVBhcmFtVHlwZSIsImFzc2VydERlZmluZWQiLCJUZW1wbGF0ZSIsInpvZFR5cGVUb1RzVHlwZURlZiIsIlRlbXBsYXRlX19zZXJ2aWNlcyIsImdldFRhcmdldEFuZFBhdGgiLCJ0YXJnZXQiLCJwYXRoIiwicmVuZGVyIiwiYXBpcyIsInN5bmNlciIsImFwaXNCeU1vZGVsIiwiTWFwIiwiYXBpIiwibW9kZWxOYW1lIiwicmVwbGFjZSIsImhhcyIsInNldCIsImdldCIsInB1c2giLCJpbXBvcnRLZXlzIiwibmFtZXNwYWNlcyIsInR5cGVQYXJhbU5hbWVzIiwibW9kZWxBcGlzIiwiZnVuY3Rpb25zIiwic3RyZWFtT3B0aW9ucyIsInBhcmFtc1dpdGhvdXRDb250ZXh0IiwicGFyYW1ldGVycyIsImZpbHRlciIsInBhcmFtIiwiaXNDb250ZXh0IiwidHlwZSIsImlzUmVmS25leCIsIm9wdGlvbmFsIiwibmFtZSIsInN0YXJ0c1dpdGgiLCJhcGlCYXNlVXJsIiwiY29uZmlnIiwicm91dGUiLCJwcmVmaXgiLCJtZXRob2ROYW1lU3RyZWFtIiwib3B0aW9ucyIsInJlc291cmNlTmFtZSIsImNhbWVsaXplIiwibWV0aG9kTmFtZSIsIm1ldGhvZE5hbWVTdHJlYW1DYW1lbGl6ZWQiLCJldmVudHNUeXBlRGVmIiwiZXZlbnRzIiwicGFyYW1zRGVmQXNPYmplY3QiLCJsZW5ndGgiLCJtYXAiLCJwIiwiam9pbiIsInRyaW0iLCJ0eXBlUGFyYW1ldGVyc0FzVHNUeXBlIiwidHlwZVBhcmFtZXRlcnMiLCJ0eXBlUGFyYW0iLCJ0eXBlUGFyYW1zRGVmIiwiY29uY2F0IiwidHAiLCJpZCIsInBhcmFtc0RlZiIsInBhcmFtTmFtZXMiLCJyZXR1cm5UeXBlRGVmIiwicmV0dXJuVHlwZSIsImNsaWVudHMiLCJpbmNsdWRlcyIsImlzTXVsdGlwbGUiLCJ1cGxvYWRPcHRpb25zIiwibW9kZSIsImZpbGVQYXJhbU5hbWUiLCJmaWxlUGFyYW1UeXBlIiwiZm9ybURhdGFBcHBlbmQiLCJvdGhlclBhcmFtc0FwcGVuZCIsInBhcmFtc0RlZkNvbW1hIiwidGltZW91dCIsImh0dHBNZXRob2QiLCJoYXNQYXJhbXMiLCJob29rTmFtZSIsIm11dGF0aW9uUGFyYW1UeXBlIiwibXV0YXRpb25QYXJhbU5hbWVzIiwiYm9keSIsImN1c3RvbUhlYWRlcnMiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGdCQUFnQixhQUFhO0FBQ3BDLFNBQVNDLElBQUksRUFBRUMsTUFBTSxRQUFRLFVBQVU7QUFDdkMsU0FDRUMsZ0JBQWdCLEVBQ2hCQyxvQkFBb0IsRUFDcEJDLGlCQUFpQixRQUNaLCtCQUE0QjtBQUVuQyxTQUFTQyxNQUFNLFFBQVEsc0JBQW1CO0FBRTFDLFNBQVNDLFlBQVksUUFBUSx1QkFBb0I7QUFDakQsU0FBU0MsYUFBYSxRQUFRLHVCQUFvQjtBQUNsRCxTQUFTQyxRQUFRLFFBQVEsaUJBQWM7QUFDdkMsU0FBU0Msa0JBQWtCLFFBQVEsc0JBQW1CO0FBRXRELE9BQU8sTUFBTUMsMkJBQTJCRjtJQUN0QyxhQUFjO1FBQ1osS0FBSyxDQUFDO0lBQ1I7SUFFQUcsbUJBQW1CO1FBQ2pCLE9BQU87WUFDTEMsUUFBUTtZQUNSQyxNQUFNLENBQUMscUJBQXFCLENBQUM7UUFDL0I7SUFDRjtJQUVBQyxPQUFPLEVBQStCLEVBQUU7UUFDdEMsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR1YsT0FBT1csTUFBTTtRQUU5QixXQUFXO1FBQ1gsTUFBTUMsY0FBYyxJQUFJQztRQUN4QixLQUFLLE1BQU1DLE9BQU9KLEtBQU07WUFDdEIsTUFBTUssWUFBWUQsSUFBSUMsU0FBUyxDQUFDQyxPQUFPLENBQUMsVUFBVSxJQUFJQSxPQUFPLENBQUMsVUFBVTtZQUN4RSxJQUFJLENBQUNKLFlBQVlLLEdBQUcsQ0FBQ0YsWUFBWTtnQkFDL0JILFlBQVlNLEdBQUcsQ0FBQ0gs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixture-manager.d.ts","sourceRoot":"","sources":["../../src/testing/fixture-manager.ts"],"names":[],"mappings":"AAKA,OAAa,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AAKvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAQ1B,MAAM,gBAAgB,CAAC;AAGxB,sCAAsC;AACtC,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE;QACR,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC9B,CAAC;CACH;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAqB;IACjC,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAEhB;IACD,IAAI,GAAG,IAAI,IAAI,CAKd;IAED,OAAO,CAAC,IAAI,CAAqB;IACjC,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAEhB;IACD,IAAI,GAAG,IAAI,IAAI,CAKd;IACD,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IAEzC,OAAO,CAAC,aAAa,CAAuB;IAG5C,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,eAAe,CAAoE;IAE3F,IAAI;IAuBE,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM;IAK7C;;;MAGE;IACI,IAAI;IAsCV,OAAO,CAAC,cAAc,CAAqB;IACrC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IAwB7C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"fixture-manager.d.ts","sourceRoot":"","sources":["../../src/testing/fixture-manager.ts"],"names":[],"mappings":"AAKA,OAAa,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AAKvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAQ1B,MAAM,gBAAgB,CAAC;AAGxB,sCAAsC;AACtC,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE;QACR,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC9B,CAAC;CACH;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAqB;IACjC,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAEhB;IACD,IAAI,GAAG,IAAI,IAAI,CAKd;IAED,OAAO,CAAC,IAAI,CAAqB;IACjC,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAEhB;IACD,IAAI,GAAG,IAAI,IAAI,CAKd;IACD,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IAEzC,OAAO,CAAC,aAAa,CAAuB;IAG5C,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,eAAe,CAAoE;IAE3F,IAAI;IAuBE,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM;IAK7C;;;MAGE;IACI,IAAI;IAsCV,OAAO,CAAC,cAAc,CAAqB;IACrC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IAwB7C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0EhF,OAAO;IAYP,WAAW,CACf,YAAY,EAAE,MAAM,cAAc,EAClC,YAAY,EAAE,MAAM,cAAc,EAClC,aAAa,EAAE,oBAAoB,EACnC,cAAc,CAAC,EAAE,qBAAqB;IA+ElC,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;KACjD,EACD,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,GAAG,CAAC,EAAE,IAAI,CAAC;KACZ,GACA,OAAO,CAAC,aAAa,EAAE,CAAC;IAoF3B;;;;OAIG;IACG,cAAc,CAClB,MAAM,EAAE,MAAM,cAAc,EAC5B,SAAS,EAAE,aAAa,EAAE,GACzB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA6HjC;;OAEG;IACH,OAAO,CAAC,eAAe;IAoEvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,aAAa;YAeP,0BAA0B;YAgF1B,oBAAoB;YA6CpB,uBAAuB;IA8B/B,gBAAgB,CAAC,IAAI,EAAE,MAAM;CAepC;AAED,eAAO,MAAM,cAAc,qBAA4B,CAAC"}
|