@tricoteuses/assemblee 1.10.2 → 1.10.4
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/lib/api.js +2 -1
- package/lib/api.mjs +2 -1
- package/lib/cleaners/documents.js +43 -25
- package/lib/cleaners/documents.mjs +8 -1
- package/lib/parsers/documents.js +1 -1
- package/lib/parsers/textes_lois.js +6 -2
- package/lib/parsers/textes_lois.mjs +6 -2
- package/lib/raw_types/acteurs_et_organes.d.ts +1 -1
- package/lib/raw_types/acteurs_et_organes.js +2 -2
- package/lib/raw_types/acteurs_et_organes.mjs +2 -2
- package/lib/raw_types/dossiers_legislatifs.d.ts +13 -3
- package/lib/raw_types/dossiers_legislatifs.js +30 -4
- package/lib/raw_types/dossiers_legislatifs.mjs +30 -4
- package/lib/scripts/clean_reorganized_data.js +31 -23
- package/lib/scripts/clean_reorganized_data.mjs +14 -8
- package/lib/scripts/retrieve_documents.js +20 -14
- package/lib/scripts/retrieve_documents.mjs +4 -1
- package/lib/scripts/retrieve_senateurs_photos.js +7 -2
- package/lib/scripts/retrieve_senateurs_photos.mjs +7 -2
- package/lib/types/acteurs_et_organes.js +36 -3
- package/lib/types/acteurs_et_organes.mjs +36 -3
- package/lib/types/agendas.js +6 -1
- package/lib/types/agendas.mjs +6 -1
- package/lib/types/amendements.js +2 -1
- package/lib/types/amendements.mjs +2 -1
- package/lib/urls.js +3 -3
- package/lib/urls.mjs +3 -3
- package/package.json +4 -4
|
@@ -38,9 +38,13 @@ function parseHeader(header) {
|
|
|
38
38
|
level: 8,
|
|
39
39
|
name: "SousSection"
|
|
40
40
|
}, {
|
|
41
|
-
regex: /^ARTICLES?_
|
|
41
|
+
regex: /^ARTICLES?_/,
|
|
42
42
|
level: 9,
|
|
43
43
|
name: "Article"
|
|
44
|
+
}, {
|
|
45
|
+
regex: /^EXPOSE_DES_MOTIFS$/,
|
|
46
|
+
level: 9,
|
|
47
|
+
name: "ExposeMotifs"
|
|
44
48
|
}];
|
|
45
49
|
for (let {
|
|
46
50
|
regex,
|
|
@@ -257,4 +261,4 @@ export function parseTexte(assembleeUrl, page) {
|
|
|
257
261
|
url: assembleeUrl
|
|
258
262
|
};
|
|
259
263
|
}
|
|
260
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJKU0RPTSIsInBhcnNlSGVhZGVyIiwiaGVhZGVyIiwiaGVhZGVyc01hcHBpbmciLCJyZWdleCIsImxldmVsIiwibmFtZSIsIm1hdGNoIiwiY2xlYW5UZXh0IiwidGV4dCIsInJlcGxhY2UiLCJ0cmltIiwiZXhjbHVkZWRBbGluZWFzIiwicGFyc2VUZXh0ZSIsImFzc2VtYmxlZVVybCIsInBhZ2UiLCJodG1sIiwid2luZG93IiwiZG9jdW1lbnQiLCJzdHJpY3RFcXVhbCIsImNoaWxkcmVuIiwibGVuZ3RoIiwiaHRtbEVsZW1lbnQiLCJib2R5RWxlbWVudCIsImNsb3NlIiwiZXJyb3IiLCJjb2RlIiwibWVzc2FnZSIsInRhZ05hbWUiLCJib2R5Q2hpbGQiLCJhbGluZWFFbGVtZW50IiwiaXNNdWx0aUxpbmVzSGVhZGVyIiwibGV2ZWxzIiwibmV4dFBhcmVudFN0YXRlIiwic3RhdGUiLCJzdWJkaXZpc2lvbnMiLCJzdWJkaXZpc2lvbkFsaW5lYXMiLCJzdWJkaXZpc2lvbkhlYWRlcnMiLCJuZXh0RWxlbWVudFNpYmxpbmciLCJ1bmRlZmluZWQiLCJpZCIsImluY2x1ZGVzIiwiaGVhZGVyVGV4dCIsInRleHRDb250ZW50IiwibmFtZUNvbXB1dGVkIiwibm9ybWFsaXplIiwibmFtZVVwcGVyIiwidG9VcHBlckNhc2UiLCJuZXh0TGV2ZWwiLCJwYXJhZ3JhcGhUeXBlIiwibGluZUh0bWwiLCJvdXRlckhUTUwiLCJsaW5lVGV4dCIsImV4Y2x1ZGVBbGluZWEiLCJ0ZXN0IiwicHVzaCIsInRleHRlIiwicG9wIiwidHlwZSIsIm5pdmVhdSIsIm5pdmVhdVJlbGF0aWYiLCJ0aXRyZXMiLCJhbGluZWFzIiwidXJsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhcnNlcnMvdGV4dGVzX2xvaXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcbmltcG9ydCB7IEpTRE9NIH0gZnJvbSBcImpzZG9tXCJcblxuZnVuY3Rpb24gcGFyc2VIZWFkZXIoaGVhZGVyOiBzdHJpbmcpOiBbbnVtYmVyIHwgbnVsbCwgc3RyaW5nXSB7XG4gIGNvbnN0IGhlYWRlcnNNYXBwaW5nOiB7IHJlZ2V4OiBSZWdFeHA7IGxldmVsOiBudW1iZXI7IG5hbWU6IHN0cmluZyB9W10gPSBbXG4gICAgeyByZWdleDogL14oUkFQUE9SVF8pP0FOTkVYRShffCQpfF5FVEFUXy8sIGxldmVsOiAwLCBuYW1lOiBcIkFubmV4ZVwiIH0sXG4gICAgeyByZWdleDogL15UT01FXy8sIGxldmVsOiAxLCBuYW1lOiBcIlRvbWVcIiB9LFxuICAgIHtcbiAgICAgIHJlZ2V4OlxuICAgICAgICAvXlBBUlRJRV98XihQUkVNSUVSRXxTRUNPTkRFfERFVVhJRU1FfFRST0lTSUVNRXxRVUFUUklFTUUpX1BBUlRJRShffCQpLyxcbiAgICAgIGxldmVsOiAyLFxuICAgICAgbmFtZTogXCJQYXJ0aWVcIixcbiAgICB9LFxuICAgIHsgcmVnZXg6IC9eTElWUkVfLywgbGV2ZWw6IDMsIG5hbWU6IFwiTGl2cmVcIiB9LFxuICAgIHsgcmVnZXg6IC9eVElUUkVfLywgbGV2ZWw6IDQsIG5hbWU6IFwiVGl0cmVcIiB9LFxuICAgIHsgcmVnZXg6IC9eU09VU1RJVFJFXy8sIGxldmVsOiA1LCBuYW1lOiBcIlNvdXNUaXRyZVwiIH0sXG4gICAgeyByZWdleDogL15DSEFQSVRSRV8vLCBsZXZlbDogNiwgbmFtZTogXCJDaGFwaXRyZVwiIH0sXG4gICAgeyByZWdleDogL15TRUNUSU9OXy8sIGxldmVsOiA3LCBuYW1lOiBcIlNlY3Rpb25cIiB9LFxuICAgIHsgcmVnZXg6IC9eU09VU1NFQ1RJT05fLywgbGV2ZWw6IDgsIG5hbWU6IFwiU291c1NlY3Rpb25cIiB9LFxuICAgIHsgcmVnZXg6IC9eQVJUSUNMRVM/X3xeRVhQT1NFX0RFU19NT1RJRlMkLywgbGV2ZWw6IDksIG5hbWU6IFwiQXJ0aWNsZVwiIH0sXG4gIF1cblxuICBmb3IgKGxldCB7IHJlZ2V4LCBsZXZlbCwgbmFtZSB9IG9mIGhlYWRlcnNNYXBwaW5nKSB7XG4gICAgaWYgKGhlYWRlci5tYXRjaChyZWdleCkpIHtcbiAgICAgIHJldHVybiBbbGV2ZWwsIG5hbWVdXG4gICAgfVxuICB9XG4gIHJldHVybiBbbnVsbCwgXCJcIl1cbn1cblxuZnVuY3Rpb24gY2xlYW5UZXh0KHRleHQ6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xuICByZXR1cm4gdGV4dD8ucmVwbGFjZSgvW1xcblxcdF0rL2csIFwiXCIpLnRyaW0oKSB8fCBcIlwiXG59XG5cbmNvbnN0IGV4Y2x1ZGVkQWxpbmVhcyA9IFtcbiAgL15Ew6lsaWLDqXLDqSBlbiBzw6lhbmNlIHB1YmxpcXVlLyxcbiAgL15GYWl0IGxlLyxcbiAgL15MZSBQcsOpc2lkZW50LCQvLFxuICAvXlNpZ27DqS8sXG5dXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRleHRlKGFzc2VtYmxlZVVybDogc3RyaW5nLCBwYWdlOiBzdHJpbmcpIHtcbiAgLy8gUmVwYWlyIEhUTUwuXG4gIGxldCBodG1sID0gcGFnZS5yZXBsYWNlKC8oPHN0eWxlW1xcd1xcV10rc3R5bGU+KS9nLCBcIlwiKVxuXG4gIC8vIEV4dHJhY3Qgc3ViZGl2aXNpb25zIGZyb20gSFRNTC5cbiAgY29uc3QgeyB3aW5kb3cgfSA9IG5ldyBKU0RPTShodG1sKVxuICBjb25zdCB7IGRvY3VtZW50IH0gPSB3aW5kb3dcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGRvY3VtZW50LmNoaWxkcmVuLmxlbmd0aCwgMSlcbiAgY29uc3QgaHRtbEVsZW1lbnQgPSBkb2N1bWVudC5jaGlsZHJlblswXVxuICBhc3NlcnQuc3RyaWN0RXF1YWwoaHRtbEVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoLCAyKVxuICBjb25zdCBib2R5RWxlbWVudCA9IGh0bWxFbGVtZW50LmNoaWxkcmVuWzFdXG5cbiAgaWYgKGJvZHlFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA8IDMpIHtcbiAgICAvLyBPY2N1cnMgaW4gaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wMzI2LmFzcC5cbiAgICB3aW5kb3cuY2xvc2UoKSAvLyBGcmVlIG1lbW9yeS5cbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3I6IHsgY29kZTogLTEsIG1lc3NhZ2U6IFwiVGV4dGUgZGUgbG9pIHNhbnMgY29udGVudVwiIH0sXG4gICAgICBodG1sLFxuICAgICAgcGFnZSxcbiAgICB9XG4gIH1cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGJvZHlFbGVtZW50LmNoaWxkcmVuWzBdLnRhZ05hbWUsIFwiRElWXCIpXG4gIC8vIEZpcnN0IGNoaWxkIGlzIGEgRElWIGRlc2NyaWJpbmcgdGhlIGRvY3VtZW50IChBc3NlbWJsw6llJ3MgaGVhZGVyKS4gU2tpcCBpdCBmb3Igbm93LlxuICBsZXQgYm9keUNoaWxkID0gYm9keUVsZW1lbnQuY2hpbGRyZW5bMV1cblxuICBhc3NlcnQuc3RyaWN0RXF1YWwoYm9keUNoaWxkLnRhZ05hbWUsIFwiQlJcIilcbiAgbGV0IGFsaW5lYUVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbFxuICBsZXQgaXNNdWx0aUxpbmVzSGVhZGVyOiBib29sZWFuID0gZmFsc2VcbiAgbGV0IGxldmVsOiBudW1iZXIgfCBudWxsID0gbnVsbFxuICBsZXQgbGV2ZWxzOiBudW1iZXJbXSA9IFtdXG4gIGxldCBuZXh0UGFyZW50U3RhdGUgPSBudWxsXG4gIGxldCBzdGF0ZTogc3RyaW5nIHwgbnVsbCA9IFwibmV4dEJvZHlDaGlsZFwiXG4gIGNvbnN0IHN1YmRpdmlzaW9ucyA9IFtdXG4gIGxldCBzdWJkaXZpc2lvbkFsaW5lYXM6IG9iamVjdFtdIHwgbnVsbCA9IG51bGxcbiAgbGV0IHN1YmRpdmlzaW9uSGVhZGVyczogb2JqZWN0W10gfCBudWxsID0gbnVsbFxuICB3aGlsZSAoc3RhdGUgIT09IG51bGwpIHtcbiAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICBjYXNlIFwibmV4dEJvZHlDaGlsZFwiOlxuICAgICAgICBpZiAoYm9keUNoaWxkLm5leHRFbGVtZW50U2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRoZSBkb2N1bWVudCBoYXMgYmVlbiBmdWxseSBwYXJzZWQuXG4gICAgICAgICAgc3RhdGUgPSBudWxsXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYm9keUNoaWxkID0gYm9keUNoaWxkLm5leHRFbGVtZW50U2libGluZ1xuICAgICAgICAgIGlmIChib2R5Q2hpbGQudGFnTmFtZSA9PT0gXCJESVZcIikge1xuICAgICAgICAgICAgYWxpbmVhRWxlbWVudCA9IGJvZHlDaGlsZC5jaGlsZHJlblswXVxuXG4gICAgICAgICAgICBpZiAoYWxpbmVhRWxlbWVudCA9PT0gdW5kZWZpbmVkIHx8IGJvZHlDaGlsZC5pZC5pbmNsdWRlcyhcImZ0blwiKSkge1xuICAgICAgICAgICAgICAvLyBObyBhbGluZWEgaW4gY3VycmVudCBib2R5Q2hpbGQ6IGdvIHRvIG5leHQgYm9keUNoaWxkLlxuICAgICAgICAgICAgICBzdGF0ZSA9IFwibmV4dEJvZHlDaGlsZFwiXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzdGF0ZSA9IFwiYWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIDxQLz4gaXMgZm9yIGZvb3Rub3Rlc1xuICAgICAgICAgICAgYXNzZXJ0KFxuICAgICAgICAgICAgICBbXCJCUlwiLCBcIkhSXCIsIFwiUFwiXS5pbmNsdWRlcyhib2R5Q2hpbGQudGFnTmFtZSksXG4gICAgICAgICAgICAgIGBVbmV4cGVjdGVkIHRhZyBuYW1lIFwiJHtib2R5Q2hpbGQudGFnTmFtZX1cIiBmb3IgYm9keSBjaGlsZGAsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAvLyBTdGF5IGluIHRoZSBzYW1lIHN0YXRlIHRvIGdvIHRvIG5leHQgYm9keUNoaWxkLlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcImFsaW5lYUVsZW1lbnRcIjpcbiAgICAgICAgc3dpdGNoIChhbGluZWFFbGVtZW50IS50YWdOYW1lKSB7XG4gICAgICAgICAgY2FzZSBcIkRJVlwiOlxuICAgICAgICAgICAgc3RhdGUgPSBcIm5leHRBbGluZWFFbGVtZW50XCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSBcIkg0XCI6XG4gICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICBuZXh0UGFyZW50U3RhdGUgPSBcIm5leHRBbGluZWFFbGVtZW50XCJcbiAgICAgICAgICAgIHN0YXRlID0gXCJmaXJzdFBhcmFncmFwaENoaWxkXCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSBcIlBcIjpcbiAgICAgICAgICAgIG5leHRQYXJlbnRTdGF0ZSA9IFwibmV4dEFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgc3RhdGUgPSBcImZpcnN0UGFyYWdyYXBoQ2hpbGRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIFwiT0xcIjpcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIHN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgXCJUQUJMRVwiOlxuICAgICAgICAgICAgbmV4dFBhcmVudFN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBzdGF0ZSA9IFwiZmlyc3RQYXJhZ3JhcGhDaGlsZFwiXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBlcnJvcjoge1xuICAgICAgICAgICAgICAgIGNvZGU6IC0yLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBVbmV4cGVjdGVkIHRhZyBuYW1lIGZvciBhbGluZWEgZWxlbWVudDogJHtcbiAgICAgICAgICAgICAgICAgIGFsaW5lYUVsZW1lbnQhLnRhZ05hbWVcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbCxcbiAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcImZpcnN0UGFyYWdyYXBoQ2hpbGRcIjpcbiAgICAgICAgY29uc3QgaGVhZGVyVGV4dCA9IGFsaW5lYUVsZW1lbnQhLnRleHRDb250ZW50XG4gICAgICAgIGNvbnN0IG5hbWVDb21wdXRlZCA9IChoZWFkZXJUZXh0IHx8IFwiXCIpXG4gICAgICAgICAgLm5vcm1hbGl6ZShcIk5GRFwiKVxuICAgICAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCBcIlwiKVxuICAgICAgICAgIC5yZXBsYWNlKC9cXChub3V2ZWF1XFwpLywgXCJcIilcbiAgICAgICAgICAucmVwbGFjZSgvXFwoUG91ciBjb29yZGluYXRpb25cXCkvLCBcIlwiKVxuICAgICAgICAgIC5yZXBsYWNlKC9cXChTdXBwcmltw6lzP1xcKS8sIFwiXCIpXG4gICAgICAgICAgLnJlcGxhY2UoL8KgL2csIFwiIFwiKVxuICAgICAgICAgIC5yZXBsYWNlKC9bXFwtLC7igKZdL2csIFwiXCIpXG4gICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgIC5yZXBsYWNlKC8gezEsfS9nLCBcIl9cIilcblxuICAgICAgICBjb25zdCBuYW1lVXBwZXIgPSBuYW1lQ29tcHV0ZWQudG9VcHBlckNhc2UoKVxuICAgICAgICBjb25zdCBbbmV4dExldmVsLCBwYXJhZ3JhcGhUeXBlXSA9IHBhcnNlSGVhZGVyKG5hbWVVcHBlcilcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgIW5hbWVVcHBlciB8fFxuICAgICAgICAgIG5hbWVVcHBlci5tYXRjaCgvXihQUk9KRVR8UFJPUE9TSVRJT04pX0RFX0xPSShffCQpLykgIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgLy8gT2NjdXJzIGluOlxuICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wMjMyLmFzcFxuICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNjI2LmFzcFxuICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNjc2LmFzcFxuICAgICAgICAgIHN0YXRlID0gbmV4dFBhcmVudFN0YXRlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfSBlbHNlIGlmIChuYW1lVXBwZXIgPT09IFwiSkVVWF9PTFlNUElRVUVTX0VUX1BBUkFMWU1QSVFVRVNfREVfMjAyNFwiKSB7XG4gICAgICAgICAgLy8gT2NjdXJzIGluIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDY3Ni5hc3BcbiAgICAgICAgICBzdGF0ZSA9IG5leHRQYXJlbnRTdGF0ZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH0gZWxzZSBpZiAobmFtZVVwcGVyID09PSBcIlRFWFRFX0RFX0xBX0NPTU1JU1NJT05fTUlYVEVfUEFSSVRBSVJFXCIpIHtcbiAgICAgICAgICAvLyBPY2N1cnMgaW4gaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8xMjk0LmFzcFxuICAgICAgICAgIHN0YXRlID0gbmV4dFBhcmVudFN0YXRlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxpbmVIdG1sID0gY2xlYW5UZXh0KGFsaW5lYUVsZW1lbnQhLm91dGVySFRNTClcbiAgICAgICAgY29uc3QgbGluZVRleHQgPSBjbGVhblRleHQoYWxpbmVhRWxlbWVudCEudGV4dENvbnRlbnQpXG5cbiAgICAgICAgaWYgKG5leHRMZXZlbCA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIEl0IGlzIGEgcmVndWxhciBhbGluZWFcbiAgICAgICAgICAvLyBFeGNsdWRlIHNvbWUgYWxpbmVhc1xuICAgICAgICAgIGxldCBleGNsdWRlQWxpbmVhID0gZmFsc2VcbiAgICAgICAgICBmb3IgKGxldCByZWdleCBvZiBleGNsdWRlZEFsaW5lYXMpIHtcbiAgICAgICAgICAgIGlmIChyZWdleC50ZXN0KGxpbmVUZXh0KSkge1xuICAgICAgICAgICAgICBleGNsdWRlQWxpbmVhID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXhjbHVkZUFsaW5lYSkge1xuICAgICAgICAgICAgc3RhdGUgPSBuZXh0UGFyZW50U3RhdGVcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHN1YmRpdmlzaW9uSGVhZGVycyEubGVuZ3RoID09PSAwIHx8XG4gICAgICAgICAgICAoaXNNdWx0aUxpbmVzSGVhZGVyICYmIHN1YmRpdmlzaW9uQWxpbmVhcyEubGVuZ3RoID09PSAwKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzIS5wdXNoKHtcbiAgICAgICAgICAgICAgdGV4dGU6IGxpbmVUZXh0LFxuICAgICAgICAgICAgICBodG1sOiBsaW5lSHRtbCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1YmRpdmlzaW9uQWxpbmVhcyEucHVzaCh7XG4gICAgICAgICAgICAgIHRleHRlOiBsaW5lVGV4dCxcbiAgICAgICAgICAgICAgaHRtbDogbGluZUh0bWwsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXNNdWx0aUxpbmVzSGVhZGVyICYmIHN1YmRpdmlzaW9uSGVhZGVycyEubGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgIGlzTXVsdGlMaW5lc0hlYWRlciA9IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNraXAgcGFyYWdyYXBoLlxuICAgICAgICAgIHN0YXRlID0gbmV4dFBhcmVudFN0YXRlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfSBlbHNlIGlmIChuZXh0TGV2ZWwgIT09IG51bGwpIHtcbiAgICAgICAgICAvLyBJdCBpcyBhIGhlYWRlclxuICAgICAgICAgIGxldmVsID0gbmV4dExldmVsXG4gICAgICAgICAgd2hpbGUgKGxldmVscy5sZW5ndGggPiAwICYmIGxldmVsIDwgbGV2ZWxzW2xldmVscy5sZW5ndGggLSAxXSkge1xuICAgICAgICAgICAgbGV2ZWxzLnBvcCgpXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChsZXZlbHMubGVuZ3RoID09PSAwIHx8IGxldmVsID4gbGV2ZWxzW2xldmVscy5sZW5ndGggLSAxXSkge1xuICAgICAgICAgICAgbGV2ZWxzLnB1c2gobGV2ZWwpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3ViZGl2aXNpb25BbGluZWFzID0gW11cbiAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnMgPSBbeyB0ZXh0ZTogbGluZVRleHQsIGh0bWw6IGxpbmVIdG1sIH1dXG5cbiAgICAgICAgICAvLyBBcnRpY2xlcyAmIFwiRXhwb3PDqSBkZXMgbW90aWZzXCIgYXJlIHRoZSBvbmx5IGRpdmlzaW9ucyB3aXRob3V0IHNlY29uZCB0aXRsZS5cbiAgICAgICAgICBpc011bHRpTGluZXNIZWFkZXIgPVxuICAgICAgICAgICAgbmFtZVVwcGVyLm1hdGNoKC9eQVJUSUNMRVM/Xy8pID09PSBudWxsICYmXG4gICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goL15FWFBPU0VfREVTX01PVElGUyQvKSA9PT0gbnVsbFxuXG4gICAgICAgICAgc3ViZGl2aXNpb25zLnB1c2goe1xuICAgICAgICAgICAgaWQ6IFwiRF9cIiArIG5hbWVDb21wdXRlZCxcbiAgICAgICAgICAgIHR5cGU6IHBhcmFncmFwaFR5cGUsXG4gICAgICAgICAgICBuaXZlYXU6IGxldmVsICsgMSxcbiAgICAgICAgICAgIG5pdmVhdVJlbGF0aWY6IGxldmVscy5sZW5ndGgsXG4gICAgICAgICAgICB0aXRyZXM6IHN1YmRpdmlzaW9uSGVhZGVycyxcbiAgICAgICAgICAgIGFsaW5lYXM6IHN1YmRpdmlzaW9uQWxpbmVhcyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGUgPSBuZXh0UGFyZW50U3RhdGVcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJuZXh0QWxpbmVhRWxlbWVudFwiOlxuICAgICAgICBhbGluZWFFbGVtZW50ID0gYWxpbmVhRWxlbWVudCEubmV4dEVsZW1lbnRTaWJsaW5nXG4gICAgICAgIGlmIChhbGluZWFFbGVtZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVGhlIGJvZHlDaGlsZCBoYXMgYmVlbiBmdWxseSBwYXJzZWQuIEdvIHRvIG5leHQgYm9keUNoaWxkXG4gICAgICAgICAgc3RhdGUgPSBcIm5leHRCb2R5Q2hpbGRcIlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlID0gXCJhbGluZWFFbGVtZW50XCJcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgYFVuZXhwZWN0ZWQgc3RhdGU6ICR7c3RhdGV9YFxuICAgIH1cbiAgfVxuXG4gIHdpbmRvdy5jbG9zZSgpIC8vIEZyZWUgbWVtb3J5LlxuXG4gIHJldHVybiB7XG4gICAgZXJyb3I6IG51bGwsXG4gICAgaHRtbCxcbiAgICBwYWdlLFxuICAgIHN1YmRpdmlzaW9ucyxcbiAgICB1cmw6IGFzc2VtYmxlZVVybCxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sUUFBUTtBQUMzQixTQUFTQyxLQUFLLFFBQVEsT0FBTztBQUU3QixTQUFTQyxXQUFXQSxDQUFDQyxNQUFjLEVBQTJCO0VBQzVELE1BQU1DLGNBQWdFLEdBQUcsQ0FDdkU7SUFBRUMsS0FBSyxFQUFFLGdDQUFnQztJQUFFQyxLQUFLLEVBQUUsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxD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
|
|
264
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJKU0RPTSIsInBhcnNlSGVhZGVyIiwiaGVhZGVyIiwiaGVhZGVyc01hcHBpbmciLCJyZWdleCIsImxldmVsIiwibmFtZSIsIm1hdGNoIiwiY2xlYW5UZXh0IiwidGV4dCIsInJlcGxhY2UiLCJ0cmltIiwiZXhjbHVkZWRBbGluZWFzIiwicGFyc2VUZXh0ZSIsImFzc2VtYmxlZVVybCIsInBhZ2UiLCJodG1sIiwid2luZG93IiwiZG9jdW1lbnQiLCJzdHJpY3RFcXVhbCIsImNoaWxkcmVuIiwibGVuZ3RoIiwiaHRtbEVsZW1lbnQiLCJib2R5RWxlbWVudCIsImNsb3NlIiwiZXJyb3IiLCJjb2RlIiwibWVzc2FnZSIsInRhZ05hbWUiLCJib2R5Q2hpbGQiLCJhbGluZWFFbGVtZW50IiwiaXNNdWx0aUxpbmVzSGVhZGVyIiwibGV2ZWxzIiwibmV4dFBhcmVudFN0YXRlIiwic3RhdGUiLCJzdWJkaXZpc2lvbnMiLCJzdWJkaXZpc2lvbkFsaW5lYXMiLCJzdWJkaXZpc2lvbkhlYWRlcnMiLCJuZXh0RWxlbWVudFNpYmxpbmciLCJ1bmRlZmluZWQiLCJpZCIsImluY2x1ZGVzIiwiaGVhZGVyVGV4dCIsInRleHRDb250ZW50IiwibmFtZUNvbXB1dGVkIiwibm9ybWFsaXplIiwibmFtZVVwcGVyIiwidG9VcHBlckNhc2UiLCJuZXh0TGV2ZWwiLCJwYXJhZ3JhcGhUeXBlIiwibGluZUh0bWwiLCJvdXRlckhUTUwiLCJsaW5lVGV4dCIsImV4Y2x1ZGVBbGluZWEiLCJ0ZXN0IiwicHVzaCIsInRleHRlIiwicG9wIiwidHlwZSIsIm5pdmVhdSIsIm5pdmVhdVJlbGF0aWYiLCJ0aXRyZXMiLCJhbGluZWFzIiwidXJsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhcnNlcnMvdGV4dGVzX2xvaXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcbmltcG9ydCB7IEpTRE9NIH0gZnJvbSBcImpzZG9tXCJcblxuZnVuY3Rpb24gcGFyc2VIZWFkZXIoaGVhZGVyOiBzdHJpbmcpOiBbbnVtYmVyIHwgbnVsbCwgc3RyaW5nXSB7XG4gIGNvbnN0IGhlYWRlcnNNYXBwaW5nOiB7IHJlZ2V4OiBSZWdFeHA7IGxldmVsOiBudW1iZXI7IG5hbWU6IHN0cmluZyB9W10gPSBbXG4gICAgeyByZWdleDogL14oUkFQUE9SVF8pP0FOTkVYRShffCQpfF5FVEFUXy8sIGxldmVsOiAwLCBuYW1lOiBcIkFubmV4ZVwiIH0sXG4gICAgeyByZWdleDogL15UT01FXy8sIGxldmVsOiAxLCBuYW1lOiBcIlRvbWVcIiB9LFxuICAgIHtcbiAgICAgIHJlZ2V4OlxuICAgICAgICAvXlBBUlRJRV98XihQUkVNSUVSRXxTRUNPTkRFfERFVVhJRU1FfFRST0lTSUVNRXxRVUFUUklFTUUpX1BBUlRJRShffCQpLyxcbiAgICAgIGxldmVsOiAyLFxuICAgICAgbmFtZTogXCJQYXJ0aWVcIixcbiAgICB9LFxuICAgIHsgcmVnZXg6IC9eTElWUkVfLywgbGV2ZWw6IDMsIG5hbWU6IFwiTGl2cmVcIiB9LFxuICAgIHsgcmVnZXg6IC9eVElUUkVfLywgbGV2ZWw6IDQsIG5hbWU6IFwiVGl0cmVcIiB9LFxuICAgIHsgcmVnZXg6IC9eU09VU1RJVFJFXy8sIGxldmVsOiA1LCBuYW1lOiBcIlNvdXNUaXRyZVwiIH0sXG4gICAgeyByZWdleDogL15DSEFQSVRSRV8vLCBsZXZlbDogNiwgbmFtZTogXCJDaGFwaXRyZVwiIH0sXG4gICAgeyByZWdleDogL15TRUNUSU9OXy8sIGxldmVsOiA3LCBuYW1lOiBcIlNlY3Rpb25cIiB9LFxuICAgIHsgcmVnZXg6IC9eU09VU1NFQ1RJT05fLywgbGV2ZWw6IDgsIG5hbWU6IFwiU291c1NlY3Rpb25cIiB9LFxuICAgIHsgcmVnZXg6IC9eQVJUSUNMRVM/Xy8sIGxldmVsOiA5LCBuYW1lOiBcIkFydGljbGVcIiB9LFxuICAgIHsgcmVnZXg6IC9eRVhQT1NFX0RFU19NT1RJRlMkLywgbGV2ZWw6IDksIG5hbWU6IFwiRXhwb3NlTW90aWZzXCIgfSxcbiAgXVxuXG4gIGZvciAobGV0IHsgcmVnZXgsIGxldmVsLCBuYW1lIH0gb2YgaGVhZGVyc01hcHBpbmcpIHtcbiAgICBpZiAoaGVhZGVyLm1hdGNoKHJlZ2V4KSkge1xuICAgICAgcmV0dXJuIFtsZXZlbCwgbmFtZV1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIFtudWxsLCBcIlwiXVxufVxuXG5mdW5jdGlvbiBjbGVhblRleHQodGV4dDogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gIHJldHVybiB0ZXh0Py5yZXBsYWNlKC9bXFxuXFx0XSsvZywgXCJcIikudHJpbSgpIHx8IFwiXCJcbn1cblxuY29uc3QgZXhjbHVkZWRBbGluZWFzID0gW1xuICAvXkTDqWxpYsOpcsOpIGVuIHPDqWFuY2UgcHVibGlxdWUvLFxuICAvXkZhaXQgbGUvLFxuICAvXkxlIFByw6lzaWRlbnQsJC8sXG4gIC9eU2lnbsOpLyxcbl1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVGV4dGUoYXNzZW1ibGVlVXJsOiBzdHJpbmcsIHBhZ2U6IHN0cmluZykge1xuICAvLyBSZXBhaXIgSFRNTC5cbiAgbGV0IGh0bWwgPSBwYWdlLnJlcGxhY2UoLyg8c3R5bGVbXFx3XFxXXStzdHlsZT4pL2csIFwiXCIpXG5cbiAgLy8gRXh0cmFjdCBzdWJkaXZpc2lvbnMgZnJvbSBIVE1MLlxuICBjb25zdCB7IHdpbmRvdyB9ID0gbmV3IEpTRE9NKGh0bWwpXG4gIGNvbnN0IHsgZG9jdW1lbnQgfSA9IHdpbmRvd1xuICBhc3NlcnQuc3RyaWN0RXF1YWwoZG9jdW1lbnQuY2hpbGRyZW4ubGVuZ3RoLCAxKVxuICBjb25zdCBodG1sRWxlbWVudCA9IGRvY3VtZW50LmNoaWxkcmVuWzBdXG4gIGFzc2VydC5zdHJpY3RFcXVhbChodG1sRWxlbWVudC5jaGlsZHJlbi5sZW5ndGgsIDIpXG4gIGNvbnN0IGJvZHlFbGVtZW50ID0gaHRtbEVsZW1lbnQuY2hpbGRyZW5bMV1cblxuICBpZiAoYm9keUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoIDwgMykge1xuICAgIC8vIE9jY3VycyBpbiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzAzMjYuYXNwLlxuICAgIHdpbmRvdy5jbG9zZSgpIC8vIEZyZWUgbWVtb3J5LlxuICAgIHJldHVybiB7XG4gICAgICBlcnJvcjogeyBjb2RlOiAtMSwgbWVzc2FnZTogXCJUZXh0ZSBkZSBsb2kgc2FucyBjb250ZW51XCIgfSxcbiAgICAgIGh0bWwsXG4gICAgICBwYWdlLFxuICAgIH1cbiAgfVxuICBhc3NlcnQuc3RyaWN0RXF1YWwoYm9keUVsZW1lbnQuY2hpbGRyZW5bMF0udGFnTmFtZSwgXCJESVZcIilcbiAgLy8gRmlyc3QgY2hpbGQgaXMgYSBESVYgZGVzY3JpYmluZyB0aGUgZG9jdW1lbnQgKEFzc2VtYmzDqWUncyBoZWFkZXIpLiBTa2lwIGl0IGZvciBub3cuXG4gIGxldCBib2R5Q2hpbGQgPSBib2R5RWxlbWVudC5jaGlsZHJlblsxXVxuXG4gIGFzc2VydC5zdHJpY3RFcXVhbChib2R5Q2hpbGQudGFnTmFtZSwgXCJCUlwiKVxuICBsZXQgYWxpbmVhRWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsXG4gIGxldCBpc011bHRpTGluZXNIZWFkZXI6IGJvb2xlYW4gPSBmYWxzZVxuICBsZXQgbGV2ZWw6IG51bWJlciB8IG51bGwgPSBudWxsXG4gIGxldCBsZXZlbHM6IG51bWJlcltdID0gW11cbiAgbGV0IG5leHRQYXJlbnRTdGF0ZSA9IG51bGxcbiAgbGV0IHN0YXRlOiBzdHJpbmcgfCBudWxsID0gXCJuZXh0Qm9keUNoaWxkXCJcbiAgY29uc3Qgc3ViZGl2aXNpb25zID0gW11cbiAgbGV0IHN1YmRpdmlzaW9uQWxpbmVhczogb2JqZWN0W10gfCBudWxsID0gbnVsbFxuICBsZXQgc3ViZGl2aXNpb25IZWFkZXJzOiBvYmplY3RbXSB8IG51bGwgPSBudWxsXG4gIHdoaWxlIChzdGF0ZSAhPT0gbnVsbCkge1xuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgIGNhc2UgXCJuZXh0Qm9keUNoaWxkXCI6XG4gICAgICAgIGlmIChib2R5Q2hpbGQubmV4dEVsZW1lbnRTaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVGhlIGRvY3VtZW50IGhhcyBiZWVuIGZ1bGx5IHBhcnNlZC5cbiAgICAgICAgICBzdGF0ZSA9IG51bGxcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBib2R5Q2hpbGQgPSBib2R5Q2hpbGQubmV4dEVsZW1lbnRTaWJsaW5nXG4gICAgICAgICAgaWYgKGJvZHlDaGlsZC50YWdOYW1lID09PSBcIkRJVlwiKSB7XG4gICAgICAgICAgICBhbGluZWFFbGVtZW50ID0gYm9keUNoaWxkLmNoaWxkcmVuWzBdXG5cbiAgICAgICAgICAgIGlmIChhbGluZWFFbGVtZW50ID09PSB1bmRlZmluZWQgfHwgYm9keUNoaWxkLmlkLmluY2x1ZGVzKFwiZnRuXCIpKSB7XG4gICAgICAgICAgICAgIC8vIE5vIGFsaW5lYSBpbiBjdXJyZW50IGJvZHlDaGlsZDogZ28gdG8gbmV4dCBib2R5Q2hpbGQuXG4gICAgICAgICAgICAgIHN0YXRlID0gXCJuZXh0Qm9keUNoaWxkXCJcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHN0YXRlID0gXCJhbGluZWFFbGVtZW50XCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gPFAvPiBpcyBmb3IgZm9vdG5vdGVzXG4gICAgICAgICAgICBhc3NlcnQoXG4gICAgICAgICAgICAgIFtcIkJSXCIsIFwiSFJcIiwgXCJQXCJdLmluY2x1ZGVzKGJvZHlDaGlsZC50YWdOYW1lKSxcbiAgICAgICAgICAgICAgYFVuZXhwZWN0ZWQgdGFnIG5hbWUgXCIke2JvZHlDaGlsZC50YWdOYW1lfVwiIGZvciBib2R5IGNoaWxkYCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC8vIFN0YXkgaW4gdGhlIHNhbWUgc3RhdGUgdG8gZ28gdG8gbmV4dCBib2R5Q2hpbGQuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwiYWxpbmVhRWxlbWVudFwiOlxuICAgICAgICBzd2l0Y2ggKGFsaW5lYUVsZW1lbnQhLnRhZ05hbWUpIHtcbiAgICAgICAgICBjYXNlIFwiRElWXCI6XG4gICAgICAgICAgICBzdGF0ZSA9IFwibmV4dEFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIFwiSDRcIjpcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIG5leHRQYXJlbnRTdGF0ZSA9IFwibmV4dEFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgc3RhdGUgPSBcImZpcnN0UGFyYWdyYXBoQ2hpbGRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIFwiUFwiOlxuICAgICAgICAgICAgbmV4dFBhcmVudFN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBzdGF0ZSA9IFwiZmlyc3RQYXJhZ3JhcGhDaGlsZFwiXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgXCJPTFwiOlxuICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgc3RhdGUgPSBcIm5leHRBbGluZWFFbGVtZW50XCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSBcIlRBQkxFXCI6XG4gICAgICAgICAgICBuZXh0UGFyZW50U3RhdGUgPSBcIm5leHRBbGluZWFFbGVtZW50XCJcbiAgICAgICAgICAgIHN0YXRlID0gXCJmaXJzdFBhcmFncmFwaENoaWxkXCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgICAgICAgY29kZTogLTIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYFVuZXhwZWN0ZWQgdGFnIG5hbWUgZm9yIGFsaW5lYSBlbGVtZW50OiAke1xuICAgICAgICAgICAgICAgICAgYWxpbmVhRWxlbWVudCEudGFnTmFtZVxuICAgICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBodG1sLFxuICAgICAgICAgICAgICBwYWdlLFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwiZmlyc3RQYXJhZ3JhcGhDaGlsZFwiOlxuICAgICAgICBjb25zdCBoZWFkZXJUZXh0ID0gYWxpbmVhRWxlbWVudCEudGV4dENvbnRlbnRcbiAgICAgICAgY29uc3QgbmFtZUNvbXB1dGVkID0gKGhlYWRlclRleHQgfHwgXCJcIilcbiAgICAgICAgICAubm9ybWFsaXplKFwiTkZEXCIpXG4gICAgICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpXG4gICAgICAgICAgLnJlcGxhY2UoL1xcKG5vdXZlYXVcXCkvLCBcIlwiKVxuICAgICAgICAgIC5yZXBsYWNlKC9cXChQb3VyIGNvb3JkaW5hdGlvblxcKS8sIFwiXCIpXG4gICAgICAgICAgLnJlcGxhY2UoL1xcKFN1cHByaW3DqXM/XFwpLywgXCJcIilcbiAgICAgICAgICAucmVwbGFjZSgvwqAvZywgXCIgXCIpXG4gICAgICAgICAgLnJlcGxhY2UoL1tcXC0sLuKApl0vZywgXCJcIilcbiAgICAgICAgICAudHJpbSgpXG4gICAgICAgICAgLnJlcGxhY2UoLyB7MSx9L2csIFwiX1wiKVxuXG4gICAgICAgIGNvbnN0IG5hbWVVcHBlciA9IG5hbWVDb21wdXRlZC50b1VwcGVyQ2FzZSgpXG4gICAgICAgIGNvbnN0IFtuZXh0TGV2ZWwsIHBhcmFncmFwaFR5cGVdID0gcGFyc2VIZWFkZXIobmFtZVVwcGVyKVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAhbmFtZVVwcGVyIHx8XG4gICAgICAgICAgbmFtZVVwcGVyLm1hdGNoKC9eKFBST0pFVHxQUk9QT1NJVElPTilfREVfTE9JKF98JCkvKSAhPT0gbnVsbFxuICAgICAgICApIHtcbiAgICAgICAgICAvLyBPY2N1cnMgaW46XG4gICAgICAgICAgLy8gKiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzAyMzIuYXNwXG4gICAgICAgICAgLy8gKiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzA2MjYuYXNwXG4gICAgICAgICAgLy8gKiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzA2NzYuYXNwXG4gICAgICAgICAgc3RhdGUgPSBuZXh0UGFyZW50U3RhdGVcbiAgICAgICAgICBicmVha1xuICAgICAgICB9IGVsc2UgaWYgKG5hbWVVcHBlciA9PT0gXCJKRVVYX09MWU1QSVFVRVNfRVRfUEFSQUxZTVBJUVVFU19ERV8yMDI0XCIpIHtcbiAgICAgICAgICAvLyBPY2N1cnMgaW4gaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNjc2LmFzcFxuICAgICAgICAgIHN0YXRlID0gbmV4dFBhcmVudFN0YXRlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfSBlbHNlIGlmIChuYW1lVXBwZXIgPT09IFwiVEVYVEVfREVfTEFfQ09NTUlTU0lPTl9NSVhURV9QQVJJVEFJUkVcIikge1xuICAgICAgICAgIC8vIE9jY3VycyBpbiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzEyOTQuYXNwXG4gICAgICAgICAgc3RhdGUgPSBuZXh0UGFyZW50U3RhdGVcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGluZUh0bWwgPSBjbGVhblRleHQoYWxpbmVhRWxlbWVudCEub3V0ZXJIVE1MKVxuICAgICAgICBjb25zdCBsaW5lVGV4dCA9IGNsZWFuVGV4dChhbGluZWFFbGVtZW50IS50ZXh0Q29udGVudClcblxuICAgICAgICBpZiAobmV4dExldmVsID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gSXQgaXMgYSByZWd1bGFyIGFsaW5lYVxuICAgICAgICAgIC8vIEV4Y2x1ZGUgc29tZSBhbGluZWFzXG4gICAgICAgICAgbGV0IGV4Y2x1ZGVBbGluZWEgPSBmYWxzZVxuICAgICAgICAgIGZvciAobGV0IHJlZ2V4IG9mIGV4Y2x1ZGVkQWxpbmVhcykge1xuICAgICAgICAgICAgaWYgKHJlZ2V4LnRlc3QobGluZVRleHQpKSB7XG4gICAgICAgICAgICAgIGV4Y2x1ZGVBbGluZWEgPSB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChleGNsdWRlQWxpbmVhKSB7XG4gICAgICAgICAgICBzdGF0ZSA9IG5leHRQYXJlbnRTdGF0ZVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzIS5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICAgIChpc011bHRpTGluZXNIZWFkZXIgJiYgc3ViZGl2aXNpb25BbGluZWFzIS5sZW5ndGggPT09IDApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnMhLnB1c2goe1xuICAgICAgICAgICAgICB0ZXh0ZTogbGluZVRleHQsXG4gICAgICAgICAgICAgIGh0bWw6IGxpbmVIdG1sLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3ViZGl2aXNpb25BbGluZWFzIS5wdXNoKHtcbiAgICAgICAgICAgICAgdGV4dGU6IGxpbmVUZXh0LFxuICAgICAgICAgICAgICBodG1sOiBsaW5lSHRtbCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc011bHRpTGluZXNIZWFkZXIgJiYgc3ViZGl2aXNpb25IZWFkZXJzIS5sZW5ndGggPj0gMikge1xuICAgICAgICAgICAgaXNNdWx0aUxpbmVzSGVhZGVyID0gZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gU2tpcCBwYXJhZ3JhcGguXG4gICAgICAgICAgc3RhdGUgPSBuZXh0UGFyZW50U3RhdGVcbiAgICAgICAgICBicmVha1xuICAgICAgICB9IGVsc2UgaWYgKG5leHRMZXZlbCAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIEl0IGlzIGEgaGVhZGVyXG4gICAgICAgICAgbGV2ZWwgPSBuZXh0TGV2ZWxcbiAgICAgICAgICB3aGlsZSAobGV2ZWxzLmxlbmd0aCA+IDAgJiYgbGV2ZWwgPCBsZXZlbHNbbGV2ZWxzLmxlbmd0aCAtIDFdKSB7XG4gICAgICAgICAgICBsZXZlbHMucG9wKClcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGxldmVscy5sZW5ndGggPT09IDAgfHwgbGV2ZWwgPiBsZXZlbHNbbGV2ZWxzLmxlbmd0aCAtIDFdKSB7XG4gICAgICAgICAgICBsZXZlbHMucHVzaChsZXZlbClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdWJkaXZpc2lvbkFsaW5lYXMgPSBbXVxuICAgICAgICAgIHN1YmRpdmlzaW9uSGVhZGVycyA9IFt7IHRleHRlOiBsaW5lVGV4dCwgaHRtbDogbGluZUh0bWwgfV1cblxuICAgICAgICAgIC8vIEFydGljbGVzICYgXCJFeHBvc8OpIGRlcyBtb3RpZnNcIiBhcmUgdGhlIG9ubHkgZGl2aXNpb25zIHdpdGhvdXQgc2Vjb25kIHRpdGxlLlxuICAgICAgICAgIGlzTXVsdGlMaW5lc0hlYWRlciA9XG4gICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goL15BUlRJQ0xFUz9fLykgPT09IG51bGwgJiZcbiAgICAgICAgICAgIG5hbWVVcHBlci5tYXRjaCgvXkVYUE9TRV9ERVNfTU9USUZTJC8pID09PSBudWxsXG5cbiAgICAgICAgICBzdWJkaXZpc2lvbnMucHVzaCh7XG4gICAgICAgICAgICBpZDogXCJEX1wiICsgbmFtZUNvbXB1dGVkLFxuICAgICAgICAgICAgdHlwZTogcGFyYWdyYXBoVHlwZSxcbiAgICAgICAgICAgIG5pdmVhdTogbGV2ZWwgKyAxLFxuICAgICAgICAgICAgbml2ZWF1UmVsYXRpZjogbGV2ZWxzLmxlbmd0aCxcbiAgICAgICAgICAgIHRpdHJlczogc3ViZGl2aXNpb25IZWFkZXJzLFxuICAgICAgICAgICAgYWxpbmVhczogc3ViZGl2aXNpb25BbGluZWFzLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBzdGF0ZSA9IG5leHRQYXJlbnRTdGF0ZVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcIm5leHRBbGluZWFFbGVtZW50XCI6XG4gICAgICAgIGFsaW5lYUVsZW1lbnQgPSBhbGluZWFFbGVtZW50IS5uZXh0RWxlbWVudFNpYmxpbmdcbiAgICAgICAgaWYgKGFsaW5lYUVsZW1lbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBUaGUgYm9keUNoaWxkIGhhcyBiZWVuIGZ1bGx5IHBhcnNlZC4gR28gdG8gbmV4dCBib2R5Q2hpbGRcbiAgICAgICAgICBzdGF0ZSA9IFwibmV4dEJvZHlDaGlsZFwiXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdGUgPSBcImFsaW5lYUVsZW1lbnRcIlxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBgVW5leHBlY3RlZCBzdGF0ZTogJHtzdGF0ZX1gXG4gICAgfVxuICB9XG5cbiAgd2luZG93LmNsb3NlKCkgLy8gRnJlZSBtZW1vcnkuXG5cbiAgcmV0dXJuIHtcbiAgICBlcnJvcjogbnVsbCxcbiAgICBodG1sLFxuICAgIHBhZ2UsXG4gICAgc3ViZGl2aXNpb25zLFxuICAgIHVybDogYXNzZW1ibGVlVXJsLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxRQUFRO0FBQzNCLFNBQVNDLEtBQUssUUFBUSxPQUFPO0FBRTdCLFNBQVNDLFdBQVdBLENBQUNDLE1BQWMsRUFBMkI7RUFDNUQsTUFBTUMsY0FBZ0UsR0FBRyxDQUN2RTtJQUFFQyxLQUFLLEVB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
|