@arsedizioni/ars-utils 18.1.183 → 18.1.184

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.
@@ -117,6 +117,8 @@ export interface ClipperReferencesSearchParams {
117
117
  mode?: ClipperQueryReferencesMode | null;
118
118
  excludeTextReferences?: boolean | null;
119
119
  excludeNotesReferences?: boolean | null;
120
+ useModifierInfo?: boolean | null;
121
+ returnModifierInfo?: boolean | null;
120
122
  count?: number | null;
121
123
  first?: number | null;
122
124
  }
@@ -1316,6 +1316,8 @@ export class ClipperSearchParams {
1316
1316
  mode: this.mode,
1317
1317
  excludeTextReferences: this.excludeTextReferences,
1318
1318
  excludeNotesReferences: this.excludeNotesReferences,
1319
+ returnModifierInfo: this.returnModifierInfo,
1320
+ useModifierInfo: this.useModifierInfo,
1319
1321
  count: 15,
1320
1322
  first: 0
1321
1323
  };
@@ -1602,4 +1604,4 @@ export class ClipperSearchUtils {
1602
1604
  return queries;
1603
1605
  }
1604
1606
  }
1605
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY2xpcHBlci5jb21tb24vY29tbW9uL2RlZmluaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBTixJQUFZLG9CQUlYO0FBSkQsV0FBWSxvQkFBb0I7SUFDOUIsbUVBQVUsQ0FBQTtJQUNWLGlFQUFTLENBQUE7SUFDVCw2REFBTyxDQUFBO0FBQ1QsQ0FBQyxFQUpXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFJL0I7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFRWDtBQVJELFdBQVksa0JBQWtCO0lBQzVCLDJEQUFRLENBQUE7SUFDUixtRkFBb0IsQ0FBQTtJQUNwQixtRkFBb0IsQ0FBQTtJQUNwQix1RUFBYyxDQUFBO0lBQ2QsK0RBQVUsQ0FBQTtJQUNWLHdFQUFlLENBQUE7SUFDZixvRUFBYSxDQUFBO0FBQ2YsQ0FBQyxFQVJXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFRN0I7QUFFRCxNQUFNLENBQU4sSUFBWSxhQWFYO0FBYkQsV0FBWSxhQUFhO0lBQ3ZCLDJFQUFzQixDQUFBO0lBQ3RCLG1EQUFVLENBQUE7SUFDVix5R0FBcUMsQ0FBQTtJQUNyQyx1RUFBb0IsQ0FBQTtJQUNwQixpR0FBaUMsQ0FBQTtJQUNqQyxxRkFBMkIsQ0FBQTtJQUMzQiw2RUFBdUIsQ0FBQTtJQUN2Qix5RUFBcUIsQ0FBQTtJQUNyQixpRkFBeUIsQ0FBQTtJQUN6Qix5RUFBcUIsQ0FBQTtJQUNyQix1REFBVyxDQUFBO0FBRWIsQ0FBQyxFQWJXLGFBQWEsS0FBYixhQUFhLFFBYXhCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFhWDtBQWJELFdBQVksWUFBWTtJQUN0QixxREFBVyxDQUFBO0lBQ1gsbUZBQTBCLENBQUE7SUFDMUIsK0NBQVEsQ0FBQTtJQUNSLHVEQUFZLENBQUE7SUFDWixpREFBUyxDQUFBO0lBQ1QscURBQVcs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LFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxpQ0FBaUM7S0FDeEM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSwyQkFBMkI7S0FDbEM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxvQ0FBb0M7S0FDM0M7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxrQ0FBa0M7S0FDekM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSx5Q0FBeUM7S0FDaEQ7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxpQkFBaUI7S0FDeEI7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSwyQkFBMkI7S0FDbEM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSx1Q0FBdUM7S0FDOUM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxtQ0FBbUM7S0FDMUM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElB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QztRQUNELE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYW1lVmFsdWVJdGVtIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuXHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyU2VsZWN0aW9uTW9kZSB7XHJcbiAgU2luZ2xlID0gMSxcclxuICBNdWx0aSA9IDIsXHJcbiAgQW55ID0gM1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyTW9kdWxlR3JvdXAge1xyXG4gIEhvbWUgPSAwLFxyXG4gIE5vcm1hdGl2YVZpZ2VudGUgPSAxLFxyXG4gIFJpbWFuaUFnZ2lvcm5hdG8gPSAyLFxyXG4gIENvbnRyaWJ1dGkgPSAzLFxyXG4gIERHSW5mbyA9IDQsXHJcbiAgQ2FsZW5kYXJpbyA9IDExLFxyXG4gIEFyY2hpdmlvID0gMTJcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlck1vZHVsZSB7XHJcbiAgTm9ybWF0aXZhVmlnZW50ZSA9IDEwMSxcclxuICBOZXdzID0gMjAxLFxyXG4gIEdhenpldHRlQm9sbGV0dGluaUVGb250aURpdmVyc2UgPSAyMDIsXHJcbiAgR2l1cmlzcHJ1ZGVuemEgPSAyMDMsXHJcbiAgTW9kaWZpY2hlQWJyb2dhemlvbmlFUmludmlpID0gMjA0LFxyXG4gIFNjYWRlbnplRVNlZ25hbGF6aW9uaSA9IDIwNSxcclxuICBBbGxlcnRlQWxpbWVudGFyaSA9IDIwNixcclxuICBBcHByb2ZvbmRpbWVudGkgPSAzMDEsXHJcbiAgUXVlc2l0aUVDYXNpUmlzb2x0aSA9IDMwMixcclxuICBNZXRvZGlEaUFuYWxpc2kgPSAzMDMsXHJcbiAgU2VhcmNoPSA5OTlcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIENsaXBwZXJNb2RlbCB7XHJcbiAgVW5rbm93biA9IDAsXHJcbiAgQWdnaW9ybmFtZW50b05vcm1hdGl2byA9IDIsXHJcbiAgTmV3cyA9IDMsXHJcbiAgQXJ0aWNvbGkgPSA0LFxyXG4gIEp1cmlzID0gNSxcclxuICBRdWVzaXRpID0gNixcclxuICBOb3JtYXRpdmFWaWdlbnRlID0gOSxcclxuICBTY2FkZW56YSA9IDEwLFxyXG4gIENvb3JkaW5hbWVudG8gPSAxMSxcclxuICBBbGxlcnRlQWxpbWVudGFyaSA9IDEzLFxyXG4gIE1ldG9kaURpQW5hbGlzaSA9IDE0LFxyXG4gIFNlZ25hbGF6aW9uZSA9IDIwXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyTW9kZWxzOiBOYW1lVmFsdWVJdGVtPG51bWJlcj5bXSA9IFtcclxuICB7IHZhbHVlOiBDbGlwcGVyTW9kZWwuQWdnaW9ybmFtZW50b05vcm1hdGl2bywgbmFtZTogXCJBZ2dpb3JuYW1lbnRvIG5vcm1hdGl2b1wiIH0sXHJcbiAgeyB2YWx1ZTogQ2xpcHBlck1vZGVsLk5ld3MsIG5hbWU6ICdOZXdzJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5BcnRpY29saSwgbmFtZTogJ0FydGljb2xpJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5KdXJpcywgbmFtZTogJ0p1cmlzJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5RdWVzaXRpLCBuYW1lOiAnUXVlc2l0aScgfSxcclxuICB7IHZhbHVlOiBDbGlwcGVyTW9kZWwuTm9ybWF0aXZhVmlnZW50ZSwgbmFtZTogJ05vcm1hdGl2YSB2aWdlbnRlJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5TY2FkZW56YSwgbmFtZTogJ1NjYWRlbnplJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5BbGxlcnRlQWxpbWVudGFyaSwgbmFtZTogJ0FsbGVydGUgYWxpbWVudGFyaScgfSxcclxuICB7IHZhbHVlOiBDbGlwcGVyTW9kZWwuTWV0b2RpRGlBbmFsaXNpLCBuYW1lOiAnTWV0b2RpIGRpIGFuYWxpc2knIH1cclxuXVxyXG5cclxuZXhwb3J0IGNvbnN0IENsaXBwZXJNb2R1bGVHcm91cHM6IE5hbWVWYWx1ZUl0ZW08bnVtYmVyPltdID0gW1xyXG4gIHsgbmFtZTogXCJcIiwgdmFsdWU6IENsaXBwZXJNb2R1bGVHcm91cC5Ib21lIH0sXHJcbiAgeyBuYW1lOiBcIk5vcm1hdGl2YSB2aWdlbnRlXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuTm9ybWF0aXZhVmlnZW50ZSB9LFxyXG4gIHsgbmFtZTogXCJSaW1hbmkgYWdnaW9ybmF0b1wiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLlJpbWFuaUFnZ2lvcm5hdG8gfSxcclxuICB7IG5hbWU6IFwiQ29udHJpYnV0aVwiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLkNvbnRyaWJ1dGkgfSxcclxuICB7IG5hbWU6IFwiREcgSW5mb1wiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLkRHSW5mbyB9LFxyXG4gIHsgbmFtZTogXCJDYWxlbmRhcmlvXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuQ2FsZW5kYXJpbyB9LFxyXG4gIHsgbmFtZTogXCJBcmNoaXZpb1wiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLkFyY2hpdmlvIH1cclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyTW9kdWxlczogTmFtZVZhbHVlSXRlbTxudW1iZXI+W10gPSBbXHJcbiAgeyBuYW1lOiBcIk5vcm1hdGl2YSB2aWdlbnRlXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlLk5vcm1hdGl2YVZpZ2VudGUsIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuTm9ybWF0aXZhVmlnZW50ZSB9LFxyXG4gIHsgbmFtZTogXCJOZXdzIGUgYXBwcm9mb25kaW1lbnRpXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlLk5ld3MsIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuUmltYW5pQWdnaW9ybmF0byB9LFxyXG4gIHsgbmFtZTogXCJHYXp6ZXR0ZSwgQm9sbGV0dGluaSBlIGZvbnRpIGRldmVyc2VcIiwgdmFsdWU6IENsaXBwZXJNb2R1bGUuR2F6emV0dGVCb2xsZXR0aW5pRUZvbnRpRGl2ZXJzZSwgcGFyZW50VmFsdWU6IENsaXBwZXJNb2R1bGVHcm91cC5SaW1hbmlBZ2dpb3JuYXRvIH0sXHJcbiAgeyBuYW1lOiBcIkdpdXJpc3BydWRlbnphXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlLkdpdXJpc3BydWRlbnphLCBwYXJlbnRWYWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLlJpbWFuaUFnZ2lvcm5hdG8gfSxcclxuICB7IG5hbWU6IFwiTW9kaWZpY2hlLCBhYnJvZ2F6aW9uaSBlIHJpbnZpaVwiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZS5Nb2RpZmljaGVBYnJvZ2F6aW9uaUVSaW52aWksIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuUmltYW5pQWdnaW9ybmF0byB9LFxyXG4gIHsgbmFtZTogXCJTY2FkZW56ZSBlIHNlZ25hbGF6aW9uaVwiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZS5TY2FkZW56ZUVTZWduYWxhemlvbmksIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuUmltYW5pQWdnaW9ybmF0byB9LFxyXG4gIHsgbmFtZTogXCJBbGxlcnRlIGFsaW1lbnRhcmlcIiwgdmFsdWU6IENsaXBwZXJNb2R1bGUuQWxsZXJ0ZUFsaW1lbnRhcmksIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuUmltYW5pQWdnaW9ybmF0byB9LFxyXG4gIHsgbmFtZTogXCJBcHByb2ZvbmRpbWVudGlcIiwgdmFsdWU6IENsaXBwZXJNb2R1bGUuQXBwcm9mb25kaW1lbnRpLCBwYXJlbnRWYWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLkNvbnRyaWJ1dGkgfSxcclxuICB7IG5hbWU6IFwiUXVlc2l0aSBlIGNhc2kgcmlzb2xpXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlLlF1ZXNpdGlFQ2FzaVJpc29sdGksIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuQ29udHJpYnV0aSB9LFxyXG4gIHsgbmFtZTogXCJNZWRvZGkgZGkgYW5hbGlzaVwiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZS5NZXRvZGlEaUFuYWxpc2ksIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuQ29udHJpYnV0aSB9XHJcbl1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyQ2hhbm5lbHM6IE5hbWVWYWx1ZUl0ZW08c3RyaW5nPltdID0gW1xyXG4gIHsgdmFsdWU6IFwiTEFcIiwgbmFtZTogXCJMYXZvcm8gZSBBbWJpZW50ZVwiIH0sXHJcbiAgeyB2YWx1ZTogXCJTQVwiLCBuYW1lOiBcIlNvc3RhbnplIEFsaW1lbnRhcmlcIiB9LFxyXG4gIHsgdmFsdWU6IFwiRVwiLCBuYW1lOiBcIkVuZXJnaWFcIiB9LFxyXG4gIHsgdmFsdWU6IFwiT1BcIiwgbmFtZTogXCJNZXJjaSBQZXJpY29sb3NlXCIgfVxyXG5dXHJcblxyXG5leHBvcnQgY29uc3QgQ2xpcHBlclJlZ2lvbnM6IE5hbWVWYWx1ZUl0ZW08c3RyaW5nPltdID0gW1xyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJBQicsXHJcbiAgICBuYW1lOiAnQWJydXp6bycsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSQkEnLFxyXG4gICAgbmFtZTogJ0Jhc2lsaWNhdGEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkNBTCcsXHJcbiAgICBuYW1lOiAnQ2FsYWJyaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkNBTScsXHJcbiAgICBuYW1lOiAnQ2FtcGFuaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkVNJyxcclxuICAgIG5hbWU6ICdFbWlsaWEgUm9tYWduYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSRlZHJyxcclxuICAgIG5hbWU6ICdGcml1bGkgVmVuZXppYSBHaXVsaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkxBJyxcclxuICAgIG5hbWU6ICdMYXppbycsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSTEknLFxyXG4gICAgbmFtZTogJ0xpZ3VyaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkxPJyxcclxuICAgIG5hbWU6ICdMb21iYXJkaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0Uk1BJyxcclxuICAgIG5hbWU6ICdNYXJjaGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0Uk1PJyxcclxuICAgIG5hbWU6ICdNb2xpc2UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlBJJyxcclxuICAgIG5hbWU6ICdQaWVtb250ZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSUFUnLFxyXG4gICAgbmFtZTogJ1B1Z2xpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSU0EnLFxyXG4gICAgbmFtZTogJ1NhcmRlZ25hJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJTSScsXHJcbiAgICBuYW1lOiAnU2ljaWxpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSVE8nLFxyXG4gICAgbmFtZTogJ1Rvc2NhbmEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlRBQScsXHJcbiAgICBuYW1lOiAnVHJlbnRpbm8gQWx0byBBZGlnZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSVU0nLFxyXG4gICAgbmFtZTogJ1VtYnJpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSVkEnLFxyXG4gICAgbmFtZTogXCJWYWxsZSBEJ0Fvc3RhXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSVkUnLFxyXG4gICAgbmFtZTogJ1ZlbmV0bycsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRQQVQnLFxyXG4gICAgbmFtZTogJ1Byb3YuIEF1dC4gVHJlbnRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFBBQicsXHJcbiAgICBuYW1lOiAnUHJvdi4gQXV0LiBCb2x6YW5vJyxcclxuICB9XHJcbl1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VjdG9ySW5mbyBleHRlbmRzIE5hbWVWYWx1ZUl0ZW08c3RyaW5nPiB7XHJcblxyXG4gIHNob3J0TmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgZ3JvdXA/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNoYW5uZWxzPzogc3RyaW5nIHwgbnVsbDtcclxuICBzZWN0b3JJZD86IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyU2VjdG9yczogU2VjdG9ySW5mb1tdID0gW1xyXG4gIHtcclxuICAgIHZhbHVlOiAnTEMnLFxyXG4gICAgbmFtZTogJ0xlZ2lzbGF6aW9uZSBjb211bml0YXJpYScsXHJcbiAgICBzaG9ydE5hbWU6ICdDb211bml0YXJpYScsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdMTicsXHJcbiAgICBuYW1lOiAnTGVnaXNsYXppb25lIG5hemlvbmFsZScsXHJcbiAgICBzaG9ydE5hbWU6ICdOYXppb25hbGUnLFxyXG4gICAgZ3JvdXA6ICdTJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG5cclxuICB7XHJcbiAgICB2YWx1ZTogJ0xSJyxcclxuICAgIG5hbWU6ICdMZWdpc2xhemlvbmUgcmVnaW9uYWxlJyxcclxuICAgIHNob3J0TmFtZTogJ1JlZ2lvbmFsZScsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkFCJyxcclxuICAgIG5hbWU6ICcgIEFicnV6em8nLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFBBQicsXHJcbiAgICBuYW1lOiAnICBQcm92LiBBdXQuIEJvbHphbm8nLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJCQScsXHJcbiAgICBuYW1lOiAnICBCYXNpbGljYXRhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSQ0FMJyxcclxuICAgIG5hbWU6ICcgIENhbGFicmlhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSQ0FNJyxcclxuICAgIG5hbWU6ICcgIENhbXBhbmlhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSRU0nLFxyXG4gICAgbmFtZTogJyAgRW1pbGlhIFJvbWFnbmEnLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJGVkcnLFxyXG4gICAgbmFtZTogJyAgRnJpdWxpIFZlbmV6aWEgR2l1bGlhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSTEEnLFxyXG4gICAgbmFtZTogJyAgTGF6aW8nLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJMSScsXHJcbiAgICBuYW1lOiAnICBMaWd1cmlhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSTE8nLFxyXG4gICAgbmFtZTogJyAgTG9tYmFyZGlhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSTUEnLFxyXG4gICAgbmFtZTogJyAgTWFyY2hlJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSTU8nLFxyXG4gICAgbmFtZTogJyAgTW9saXNlJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSUEknLFxyXG4gICAgbmFtZTogJyAgUGllbW9udGUnLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJQVScsXHJcbiAgICBuYW1lOiAnICBQdWdsaWEnLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJTQScsXHJcbiAgICBuYW1lOiAnICBTYXJkZWduYScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlNJJyxcclxuICAgIG5hbWU6ICcgIFNpY2lsaWEnLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJUTycsXHJcbiAgICBuYW1lOiAnICBUb3NjYW5hJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSVEFBJyxcclxuICAgIG5hbWU6ICcgIFRyZW50aW5vIEFsdG8gQWRpZ2UnLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFBBVCcsXHJcbiAgICBuYW1lOiAnICBQcm92LiBBdXQuIFRyZW50bycsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlVNJyxcclxuICAgIG5hbWU6ICcgIFVtYnJpYScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlZBJyxcclxuICAgIG5hbWU6IFwiICBWYWxsZSBEJ0Fvc3RhXCIsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlZFJyxcclxuICAgIG5hbWU6ICcgIFZlbmV0bycsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHQycsXHJcbiAgICBuYW1lOiAnR2l1cmlzcHJ1ZGVuemEgY29tdW5pdGFyaWEnLFxyXG4gICAgc2hvcnROYW1lOiAnR2l1cmlzLiBjb211bml0YXJpYScsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHTicsXHJcbiAgICBuYW1lOiAnR2l1cmlzcHJ1ZGVuemEgbmF6aW9uYWxlJyxcclxuICAgIHNob3J0TmFtZTogJ0dpdXJpc3BydWRlbnphJyxcclxuICAgIGdyb3VwOiAnUycsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ1ROJyxcclxuICAgIG5hbWU6ICdOb3JtYXRpdmEgdGVjbmljYScsXHJcbiAgICBzaG9ydE5hbWU6ICdUZWNuaWNhJyxcclxuICAgIGdyb3VwOiAnUycsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ1RJJyxcclxuICAgIG5hbWU6ICdOb3JtYXRpdmEgdGVjbmljYSBpbnRlcm5hemlvbmFsZScsXHJcbiAgICBzaG9ydE5hbWU6ICdUZWNuaWNhIGludGVybmF6LicsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdOSScsXHJcbiAgICBuYW1lOiAnTm9ybWF0aXZhIGludGVybmF6aW9uYWxlJyxcclxuICAgIHNob3J0TmFtZTogJ0ludGVybmF6aW9uYWxlJyxcclxuICAgIGdyb3VwOiAnUycsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ1NOJyxcclxuICAgIG5hbWU6ICdEb2N1bWVudGF6aW9uZSBzY2llbnRpZmljYScsXHJcbiAgICBzaG9ydE5hbWU6ICdTY2llbnRpZmljYScsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8U0F8JyxcclxuICB9LFxyXG5dXHJcblxyXG5leHBvcnQgY29uc3QgQ2xpcHBlclNlY3RvclR5cGVzOiBOYW1lVmFsdWVJdGVtPHN0cmluZz5bXSA9IFtcclxuXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdOSScsXHJcbiAgICB2YWx1ZTogJzE0JyxcclxuICAgIG5hbWU6ICdDb252ZW56aW9uZSBJbnRlcm5hemlvbmFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ05JJyxcclxuICAgIHZhbHVlOiAnNicsXHJcbiAgICBuYW1lOiAnQWNjb3JkbyBNdWx0aWxhdGVyYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc0JyxcclxuICAgIG5hbWU6ICdBY2NvcmRvIChuYXouKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNzUnLFxyXG4gICAgbmFtZTogJ0FsdHJpIGRvY3VtZW50aSAobmF6LiknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzE3JyxcclxuICAgIG5hbWU6ICdDaXJjb2xhcmUgQ29tbWlzc2FyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNTgnLFxyXG4gICAgbmFtZTogJ0NpcmNvbGFyZSAoQ29taXRhdGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcxMCcsXHJcbiAgICBuYW1lOiAnQ2lyY29sYXJlIE1pbmlzdGVyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMTMnLFxyXG4gICAgbmFtZTogJ0NvbXVuaWNhdG8gKG5hei4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcxNScsXHJcbiAgICBuYW1lOiAnQ29zdGl0dXppb25lIGRlbGxhIFJlcHViYmxpY2EnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzE4JyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIENvbW1pc3NhcmlhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzIxJyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIENhcG8gUHJvdnYuIFN0YXRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcyMicsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBQcmVzLiBDb25zLiBNaW5pc3RyaScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMjUnLFxyXG4gICAgbmFtZTogJ0RlY3JldG8gUHJlc2lkZW50ZSBSZXB1YmJsaWNhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcyNycsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBMZWdnZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMjgnLFxyXG4gICAgbmFtZTogJ0RlY3JldG8gTGVnZ2UgTHVvZ290ZW5lbnppYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcyOScsXHJcbiAgICBuYW1lOiAnRC5MZ3MuIENhcG8gUHJvdnYuIFN0YXRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICczMCcsXHJcbiAgICBuYW1lOiAnRC5MZ3MuIEdvdmVybm8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzMyJyxcclxuICAgIG5hbWU6ICdELkxncy4gTHVvZ290ZW5lbnppYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICczMycsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBMdW9nb3RlbmVuemlhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzM0JyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIE1pbmlzdGVyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMzUnLFxyXG4gICAgbmFtZTogJ0RlbGliZXJhemlvbmUgKG5hei4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc0NycsXHJcbiAgICBuYW1lOiAnRGV0ZXJtaW5hemlvbmUgKG5hei4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcyNicsXHJcbiAgICBuYW1lOiAnRG9jdW1lbnRvIGRpIGNvbnN1bHRhemlvbmUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzQ4JyxcclxuICAgIG5hbWU6ICdMZWdnZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNDInLFxyXG4gICAgbmFtZTogJ0xldHRlcmEgQ2lyY29sYXJlIChDb21pdGF0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzQzJyxcclxuICAgIG5hbWU6ICdMZXR0ZXJhIENpcmNvbGFyZSBNaW5pc3RlcmlhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzU2JyxcclxuICAgIG5hbWU6ICdOb3RhIE1pbmlzdGVyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnOTEnLFxyXG4gICAgbmFtZTogJ09yZGluYW56YSBDb21taXNzYXJpYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc4MicsXHJcbiAgICBuYW1lOiAnT3JkaW5hbnphIFByZXMuIENvbnMuIE1pbmlzdHJpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc1NycsXHJcbiAgICBuYW1lOiAnT3JkaW5hbnphIE1pbmlzdGVyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNzYnLFxyXG4gICAgbmFtZTogJ1Byb3Z2ZWRpbWVudG8gKG5hei4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc2NicsXHJcbiAgICBuYW1lOiAnUmVnaW8gRGVjcmV0bycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNjcnLFxyXG4gICAgbmFtZTogJ1JlZ2lvIERlY3JldG8gTGVnZ2UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzY4JyxcclxuICAgIG5hbWU6ICdSZWdpbyBEZWNyZXRvIExlZ2lzbGF0aXZvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc3MScsXHJcbiAgICBuYW1lOiAnU3RhdHV0byBkZWxsZSBSZWdpb25pIE9yZGluYXJpZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xDJyxcclxuICAgIHZhbHVlOiAnMicsXHJcbiAgICBuYW1lOlxyXG4gICAgICAnQWNjb3JkaSAgQ0VFL0NFL1VFIGNvbiBTdGF0aSB0ZXJ6aSBvIGFsdHJpIHNvZ2dldHRpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICc3JyxcclxuICAgIG5hbWU6ICdBdHRpIGRpdmVyc2kgQ0VFL1VFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICc5MicsXHJcbiAgICBuYW1lOiAnQ29tdW5pY2F6aW9uZSBDRScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xDJyxcclxuICAgIHZhbHVlOiAnODcnLFxyXG4gICAgbmFtZTogJ0RlY2lzaW9uZSBDRUUvQ0VFQS9DRUNBJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICczOScsXHJcbiAgICBuYW1lOiAnRGlyZXR0aXZhIENFRS9DRUVBL0NFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICc4OScsXHJcbiAgICBuYW1lOiAnUGFyZXJlIENFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICc5NScsXHJcbiAgICBuYW1lOiAnUmFjY29tYW5kYXppb25lIENFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICc2NCcsXHJcbiAgICBuYW1lOiAnUmVnb2xhbWVudG8gQ0VFL1VFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICc5NicsXHJcbiAgICBuYW1lOiAnUmlzb2x1emlvbmUgQ0UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMQycsXHJcbiAgICB2YWx1ZTogJzc4JyxcclxuICAgIG5hbWU6ICdUcmF0dGF0byBDRUUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzY5JyxcclxuICAgIG5hbWU6ICdBbHRyaSBkb2N1bWVudGkgKHJlZy4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICcxMScsXHJcbiAgICBuYW1lOiAnQ2lyY29sYXJlIFByZXMuIEdpdW50YSBSZWcuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc0NicsXHJcbiAgICBuYW1lOiBcIkNpcmNvbGFyZSBkZWxsJ0Fzc2Vzc29yZVwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzgzJyxcclxuICAgIG5hbWU6ICdDaXJjb2xhcmUgcmVnLicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xSJyxcclxuICAgIHZhbHVlOiAnNzAnLFxyXG4gICAgbmFtZTogJ0NvbXVuaWNhdG8gKHJlZy4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc4MCcsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBkZWwgRGlyaWdlbnRlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICcyNCcsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBQcmVzLiBHaXVudGEgUHJvdi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzIzJyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIFByZXMuIEdpdW50YSBSZWcuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICcxOScsXHJcbiAgICBuYW1lOiBcIkRlY3JldG8gZGVsbCdBc3Nlc3NvcmUgUmVnaW9uYWxlXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xSJyxcclxuICAgIHZhbHVlOiAnMzEnLFxyXG4gICAgbmFtZTogJ0RlbGliLiBDb25zaWdsaW8gUHJvdi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzM2JyxcclxuICAgIG5hbWU6ICdEZWxpYi4gQ29uc2lnbGlvIFJlZy4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzM3JyxcclxuICAgIG5hbWU6ICdEZWxpYi4gR2l1bnRhIFByb3YuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICczOCcsXHJcbiAgICBuYW1lOiAnRGVsaWIuIEdpdW50YSBSZWcuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc4MScsXHJcbiAgICBuYW1lOiAnRGV0ZXJtaW5hemlvbmUgZGVsIERpcmlnZW50ZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xSJyxcclxuICAgIHZhbHVlOiAnMTInLFxyXG4gICAgbmFtZTogJ0RpcmV0dGl2YSAocmVnLiknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzQ5JyxcclxuICAgIG5hbWU6ICdMZWdnZSBQcm92LiBBdXQuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc1MCcsXHJcbiAgICBuYW1lOiAnTGVnZ2UgUmVnaW9uYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc1MScsXHJcbiAgICBuYW1lOiAnTGluZWUgZ3VpZGEgKHJlZy4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc5JyxcclxuICAgIG5hbWU6ICdPcmRpbmFuemEgUHJlcy4gUHJvdi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzU1JyxcclxuICAgIG5hbWU6ICdPcmRpbmFuemEgUHJlcy4gUmVnLicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xSJyxcclxuICAgIHZhbHVlOiAnODUnLFxyXG4gICAgbmFtZTogJ1Byb3Z2ZWRpbWVudG8gKHJlZy4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc2NScsXHJcbiAgICBuYW1lOiAnUmVnb2xhbWVudG8gUmVnaW9uYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnR04nLFxyXG4gICAgdmFsdWU6ICc2MycsXHJcbiAgICBuYW1lOiAnRGVjaXNpb25lJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnR04nLFxyXG4gICAgdmFsdWU6ICc0MScsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBQZW5hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHTicsXHJcbiAgICB2YWx1ZTogJzU0JyxcclxuICAgIG5hbWU6ICdPcmRpbmFuemEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHTicsXHJcbiAgICB2YWx1ZTogJzYyJyxcclxuICAgIG5hbWU6ICdSaWNvcnNvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnR04nLFxyXG4gICAgdmFsdWU6ICc3MicsXHJcbiAgICBuYW1lOiAnU2VudGVuemEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHQycsXHJcbiAgICB2YWx1ZTogJzg4JyxcclxuICAgIG5hbWU6ICdPcmRpbmFuemEgQ0UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHQycsXHJcbiAgICB2YWx1ZTogJzkwJyxcclxuICAgIG5hbWU6ICdTZW50ZW56YSBDRScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnNzMnLFxyXG4gICAgbmFtZTogJ0FsdHJpIGRvY3VtZW50aSAoRW50aSBlZCBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzQ0JyxcclxuICAgIG5hbWU6ICdDaXJjb2xhcmUgKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICcyMCcsXHJcbiAgICBuYW1lOiAnQ29tdW5pY2F0byAgKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc2MCcsXHJcbiAgICBuYW1lOiAnRGVjcmV0byAoRW50aSBlZCBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzQwJyxcclxuICAgIG5hbWU6ICdEZWxpYmVyYSAoRW50aSBlZCBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzUzJyxcclxuICAgIG5hbWU6ICdGYXNjaWNvbG8gKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc0NScsXHJcbiAgICBuYW1lOiAnSXN0cnV6aW9uZSBUZWNuaWNhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc1OScsXHJcbiAgICBuYW1lOiAnTGV0dGVyYSBDaXJjb2xhcmUgKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc3OScsXHJcbiAgICBuYW1lOiAnTGluZWUgZ3VpZGEgKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc5OCcsXHJcbiAgICBuYW1lOiAnTm9ybWEgVGVjbmljYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnOTcnLFxyXG4gICAgbmFtZTogJ09wdXNjb2xvIFRlY25pY28nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzc3JyxcclxuICAgIG5hbWU6ICdQdWJibGljYXppb25lIChFbnRpIGVkIElzdGl0dXRpKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnODYnLFxyXG4gICAgbmFtZTogJ1F1YWRlcm5vJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc1MicsXHJcbiAgICBuYW1lOiAnUmVnb2xhbWVudG8gKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc4NCcsXHJcbiAgICBuYW1lOiAnSXN0cnV6aW9uZSBPcGVyYXRpdmEgKEVudGkgZSBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzk0JyxcclxuICAgIG5hbWU6ICdOb3RhIChFbnRpIGUgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTkknLFxyXG4gICAgdmFsdWU6ICcxMDQnLFxyXG4gICAgbmFtZTogJ1JlZ29sYW1lbnRvIFVORUNFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnU04nLFxyXG4gICAgdmFsdWU6ICcxMDUnLFxyXG4gICAgbmFtZTogJ0RvY3VtZW50bycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnMTA2JyxcclxuICAgIG5hbWU6ICdEaXJldHRpdmEgKEVudGkgZSBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzc0JyxcclxuICAgIG5hbWU6ICdQcmFzc2kgZGkgcmlmZXJpbWVudG8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzE2JyxcclxuICAgIG5hbWU6ICdMaW5lZSBndWlkYSAobmF6LiknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzMnLFxyXG4gICAgbmFtZTogJ0RpcmV0dGl2YSAobmF6LiknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUSScsXHJcbiAgICB2YWx1ZTogJzEwNycsXHJcbiAgICBuYW1lOiAnTm9ybWF0aXZhIFRlY25pY2EgSW50ZXJuYXppb25hbGUnLFxyXG4gIH0sXHJcbl1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyQXV0aG9yczogU2VjdG9ySW5mb1tdID0gW1xyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSQUInLFxyXG4gICAgbmFtZTogJ0FicnV6em8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJCQScsXHJcbiAgICBuYW1lOiAnQmFzaWxpY2F0YScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UkNBTCcsXHJcbiAgICBuYW1lOiAnQ2FsYWJyaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJDQU0nLFxyXG4gICAgbmFtZTogJ0NhbXBhbmlhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSRU0nLFxyXG4gICAgbmFtZTogJ0VtaWxpYSBSb21hZ25hJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSRlZHJyxcclxuICAgIG5hbWU6ICdGcml1bGkgVmVuZXppYSBHaXVsaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJMQScsXHJcbiAgICBuYW1lOiAnTGF6aW8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJMSScsXHJcbiAgICBuYW1lOiAnTGlndXJpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UkxPJyxcclxuICAgIG5hbWU6ICdMb21iYXJkaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJNQScsXHJcbiAgICBuYW1lOiAnTWFyY2hlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSTU8nLFxyXG4gICAgbmFtZTogJ01vbGlzZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UlBJJyxcclxuICAgIG5hbWU6ICdQaWVtb250ZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UlBVJyxcclxuICAgIG5hbWU6ICdQdWdsaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJTQScsXHJcbiAgICBuYW1lOiAnU2FyZGVnbmEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJTSScsXHJcbiAgICBuYW1lOiAnU2ljaWxpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UlRPJyxcclxuICAgIG5hbWU6ICdUb3NjYW5hJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSVEFBJyxcclxuICAgIG5hbWU6ICdUcmVudGlubyBUcmVudGlubyBBbHRvIEFkaWdlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSVU0nLFxyXG4gICAgbmFtZTogJ1VtYnJpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UlZBJyxcclxuICAgIG5hbWU6IFwiVmFsbGUgRCdBb3N0YVwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJWRScsXHJcbiAgICBuYW1lOiAnVmVuZXRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRQQUInLFxyXG4gICAgbmFtZTogJ1Byb3YuIEF1dG9ub21hIGRpIEJvbHphbm8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFBBVCcsXHJcbiAgICBuYW1lOiAnUHJvdi4gQXV0b25vbWEgZGkgVHJlbnRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnVE4nLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8JyxcclxuICAgIHZhbHVlOiAnNkNFSScsXHJcbiAgICBuYW1lOiAnQy5FLkkuIC0gQ29taXRhdG8gRWxldHRyb3RlY25pY28gSXRhbGlhbm8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdUTicsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXwnLFxyXG4gICAgdmFsdWU6ICc2Q05SJyxcclxuICAgIG5hbWU6ICdDLk4uUi4gLSBDb25zaWdsaW8gTmF6aW9uYWxlIGRlbGxlIFJpY2VyY2hlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnVE4nLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8JyxcclxuICAgIHZhbHVlOiAnNkVOUEknLFxyXG4gICAgbmFtZTogJ0UuTi5QLkkuIC0gRW50ZSBOYXppb25hbGUgUHJldmVuemlvbmUgSW5mb3J0dW5pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnVE4nLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8JyxcclxuICAgIHZhbHVlOiAnNklOQUknLFxyXG4gICAgbmFtZTpcclxuICAgICAgJ0kuTi5BLkkuTC4gLSBJc3RpdHV0byBuYXppb25hbGUgQXNzaWN1cmF6aW9uZSBJbmZvcnR1bmkgc3VsIExhdm9ybycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ1ROJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfCcsXHJcbiAgICB2YWx1ZTogJzZJU1BTJyxcclxuICAgIG5hbWU6XHJcbiAgICAgICdJLlMuUC5FLlMuTC4gLSBJc3RpdHV0byBTdXBlcmlvcmUgcGVyIGxhIFByZXZlbnppb25lIGUgbGEgU2ljdXJlenphIGRlbCBMYXZvcm8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdUTicsXHJcbiAgICBjaGFubmVsczogJ3xMQXwnLFxyXG4gICAgdmFsdWU6ICc2SU5QUycsXHJcbiAgICBuYW1lOiAnSS5OLlAuUy4gLSBJc3RpdHV0byBOYXppb25hbGUgUHJldmlkZW56YSBTb2NpYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnVE4nLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8JyxcclxuICAgIHZhbHVlOiAnNklTUycsXHJcbiAgICBuYW1lOiAnSS5TLlMuIC0gSXN0aXR1dG8gU3VwZXJpb3JlIGRpIFNhbml0w6AnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdUTicsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXwnLFxyXG4gICAgdmFsdWU6ICc2VU5JJyxcclxuICAgIG5hbWU6ICdVLk4uSS4gLSBFbnRlIE5hemlvbmFsZSBJdGFsaWFubyBkaSBVbmlmaWNhemlvbmUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUNDJyxcclxuICAgIG5hbWU6ICdDb3J0ZSBDb3N0aXR1emlvbmFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0NDJyxcclxuICAgIG5hbWU6ICdDb3J0ZSBkaSBDYXNzYXppb25lIENpdmlsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0NQJyxcclxuICAgIG5hbWU6ICdDb3J0ZSBkaSBDYXNzYXppb25lIFBlbmFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0FTQScsXHJcbiAgICBuYW1lOiBcIkNvcnRlIGQnQXNzaXNlIGQnQXBwZWxsb1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUNBUycsXHJcbiAgICBuYW1lOiBcIkNvcnRlIGQnQXNzaXNlXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0EnLFxyXG4gICAgbmFtZTogXCJDb3J0ZSBkJ0FwcGVsbG9cIixcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVQQ0EnLFxyXG4gICAgbmFtZTogXCJQcm9jdXJhIEdlbmVyYWxlIENvcnRlIGQnQXBwZWxsb1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUdEUCcsXHJcbiAgICBuYW1lOiAnR2l1ZGljZSBkaSBQYWNlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVQUicsXHJcbiAgICBuYW1lOiAnUHJvY3VyYSBkZWxsYSBSZXB1YmJsaWNhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVUJyxcclxuICAgIG5hbWU6ICdUcmlidW5hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNVAnLFxyXG4gICAgbmFtZTogJ1ByZXR1cmEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUNEUycsXHJcbiAgICBuYW1lOiAnQ29uc2lnbGlvIGRpIFN0YXRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVUQVInLFxyXG4gICAgbmFtZTogJ1RyaWJ1bmFsZSBBbW1pbmlzdHJhdGl2byBSZWdpb25hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNVRTQScsXHJcbiAgICBuYW1lOiAnVHJpYnVuYWxlIFN1cGVyaW9yZSBkZWxsZSBBY3F1ZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1VEdBJyxcclxuICAgIG5hbWU6ICdUcmlidW5hbGUgUmVnaW9uYWxlIGFjcXVlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVDVFAnLFxyXG4gICAgbmFtZTogJ0NvbW1pc3Npb25lIFRyaWJ1dGFyaWEgUHJvdmluY2lhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUNUUicsXHJcbiAgICBuYW1lOiAnQ29tbWlzc2lvbmUgVHJpYnV0YXJpYSBSZWdpb25hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUNHQVMnLFxyXG4gICAgbmFtZTogJ0NvbnMuIGRpIEdpdXN0aXppYSBBbW0udmEgZGVsbGEgU2ljaWxpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0RDJyxcclxuICAgIG5hbWU6ICdDb3J0ZSBkZWkgQ29udGknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHQycsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnM0NKQ0UnLFxyXG4gICAgbmFtZTogJ0NvcnRlIGRpIEdpdXN0aXppYSBDRUUvQ0UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHQycsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnM0NFRE0nLFxyXG4gICAgbmFtZTogXCJDb3J0ZSBFdXJvcGVhIHBlciBpIERpcml0dGkgZGVsbCdVb21vXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dDJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICczQ1dKJyxcclxuICAgIG5hbWU6ICdDb3J0ZSBJbnRlcm5hemlvbmFsZSBkaSBHaXVzdGl6aWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHQycsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnM1QxQ0UnLFxyXG4gICAgbmFtZTogJ1RyaWJ1bmFsZSBkaSBQcmltbyBHcmFkbyBDRUUvQ0UnLFxyXG4gIH0sXHJcbl1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyU291cmNlczogTmFtZVZhbHVlSXRlbTxzdHJpbmc+W10gPSBbXHJcbiAge1xyXG4gICAgdmFsdWU6ICdBQ0NNTCcsXHJcbiAgICBuYW1lOiAnQWNjb3JkaSBNdWx0aWxhdGVyYWxpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnQUVFRycsXHJcbiAgICBuYW1lOiBcIlNpdG8gQXV0b3JpdMOgIHBlciBsJ0VuZXJnaWEgRWxldHRyaWNhLCBpbCBHYXMgZSBpbCBTaXN0ZW1hIElkcmljb1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdBUkVSQScsXHJcbiAgICBuYW1lOiAnU2l0byBBdXRvcml0w6AgZGkgUmVnb2xhemlvbmUgcGVyIEVuZXJnaWEsIFJldGkgZSBBbWJpZW50ZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0JVUicsXHJcbiAgICBuYW1lOiAnQm9sbGV0dGlubyBVZmYuIFJlZ2lvbmUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdCVVMnLFxyXG4gICAgbmFtZTogJ1N1cHBsLiBzcGVjaWFsZSBhbCBCb2xsZXR0aW5vIFVmZi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdCVVNPJyxcclxuICAgIG5hbWU6ICdTdXBwbC4gb3JkaW4uIGFsIEJvbGxldHRpbm8gVWZmLicsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0JVU1MnLFxyXG4gICAgbmFtZTogJ1N1cHBsLiBzdHJhb3JkLiBhbCBCb2xsZXR0aW5vIFVmZi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVScsXHJcbiAgICBuYW1lOiAnR2F6emV0dGEgIFVmZmljaWFsZSBJdGFsaWFuYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0dVQ0MnLFxyXG4gICAgbmFtZTogJ0dhenouIFVmZi4gQ29ydGUgQ29zdGl0dXppb25hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVUNFJyxcclxuICAgIG5hbWU6ICdHYXp6ZXR0YSB1ZmZpY2lhbGUgZGVsbGUgQ29tdW5pdMOgIGV1cm9wZWUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVUVTJyxcclxuICAgIG5hbWU6ICdHYXp6LiBVZmYuIEVkaXouIFNwZWNpYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnR1VSUycsXHJcbiAgICBuYW1lOiAnR2F6ei4gVWZmLiBSZWdpb25lIFNpY2lsaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVVMnLFxyXG4gICAgbmFtZTogJ0dhenouIFVmZi4gU2VyaWUgU3BlY2lhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVVNPJyxcclxuICAgIG5hbWU6ICdTdXBwbC4gb3JkaW4uIGFsbGEgIEdhenpldHRhIFVmZmljaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0dVU1MnLFxyXG4gICAgbmFtZTogJ1N1cHBsLiBzdHJhb3JkLiBhbGxhICBHYXp6ZXR0YSBVZmZpY2lhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVVVFJyxcclxuICAgIG5hbWU6ICdHYXp6ZXR0YSB1ZmZpY2lhbGUgZGVsbOKAmVVuaW9uZSBldXJvcGVhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnTUFDJyxcclxuICAgIG5hbWU6ICdNYXNzaW1hcmlvIENpdmlsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ01BUCcsXHJcbiAgICBuYW1lOiAnTWFzc2ltYXJpbyBQZW5hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdOT05FJyxcclxuICAgIG5hbWU6ICdGb250aSBkaXZlcnNlJyxcclxuICB9XHJcbl1cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoUGFyYW1zIHtcclxuICBzZWFyY2hJZD86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHNlYXJjaE5hbWU/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICB0ZXh0Pzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgdGl0bGU/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICB0aXRsZU9ubHk/OiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG4gIHNob3dVbnJlYWREb2N1bWVudHNPbmx5PzogYm9vbGVhbiB8IG51bGwgPSBmYWxzZTtcclxuICBzaG93Q29tbWVudGVkRG9jdW1lbnRzT25seT86IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcbiAgbnVtYmVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgZnJvbURhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgdG9EYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIHllYXI/OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBzb3VyY2VOdW1iZXI/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBzb3VyY2U/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBzb3VyY2VGcm9tRGF0ZT86IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBzb3VyY2VUb0RhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgc291cmNlWWVhcj86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHNlY3Rvcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHNlY3RvcnM/OiBTZWN0b3JJbmZvW10gfCBudWxsID0gbnVsbDtcclxuICB0b3BpYz86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHRheG9ub215Pzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgdGF4b25vbXlQYXRoPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgdGF4b25vbXlOb2RlPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgdHlwZT86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGF1dGhvcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGF1dGhvcnM/OiBOYW1lVmFsdWVJdGVtPHN0cmluZz5bXSB8IG51bGwgPSBudWxsO1xyXG4gIGNoYW5nZVJlYXNvbj86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIGNoYW5nZWROdW1iZXI/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBjaGFuZ2VkWWVhcj86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIGNoYW5nZWRUaXRsZT86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIG1vZGlmaWVyTnVtYmVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kaWZpZXJZZWFyPzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kaWZpZXJUaXRsZT86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIG1vZGVsPzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kdWxlPzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kZT86IENsaXBwZXJRdWVyeVJlZmVyZW5jZXNNb2RlIHwgbnVsbCA9IG51bGw7XHJcbiAgY2hhbm5lbHM/OiBOYW1lVmFsdWVJdGVtPHN0cmluZz5bXSB8IG51bGwgPSBbLi4uQ2xpcHBlckNoYW5uZWxzXTtcclxuICBjb3VudD86IG51bWJlciB8IG51bGwgPSAxNTtcclxuICBpZD86IHN0cmluZ3wgbnVsbCA9IG51bGw7ICBcclxuICBhbmNob3I/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBleGNsdWRlVGV4dFJlZmVyZW5jZXM/OiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG4gIGV4Y2x1ZGVOb3Rlc1JlZmVyZW5jZXM/OiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG4gIHVzZU1vZGlmaWVySW5mbz86IGJvb2xlYW4gIHwgbnVsbCA9IGZhbHNlO1xyXG4gIHJldHVybk1vZGlmaWVySW5mbz86IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcbiAgZmlyc3Q/OiBudW1iZXIgfCBudWxsID0gMDtcclxuICBzb3J0TW9kZT86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gYSB2YWxpZCBDbGlwcGVyUmVmZXJlbmNlc1NlYXJjaFBhcmFtc1xyXG4gICAqIEByZXR1cm5zIGEgQ2xpcHBlclJlZmVyZW5jZXNTZWFyY2hQYXJhbXMgb2JqZWN0XHJcbiAgICovXHJcbiAgdG9SZWZlcmVuY2VzU2VhcmNoUGFyYW1zKCk6IENsaXBwZXJSZWZlcmVuY2VzU2VhcmNoUGFyYW1zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGRvY3VtZW50SWQ6IHRoaXMuaWQsXHJcbiAgICAgIHllYXI6IHRoaXMueWVhcixcclxuICAgICAgc2VjdG9yOiB0aGlzLnNlY3RvcixcclxuICAgICAgYXV0aG9yOiB0aGlzLmF1dGhvcixcclxuICAgICAgYW5jaG9yOiB0aGlzLmFuY2hvcixcclxuICAgICAgbW9kZWw6IHRoaXMubW9kZWwsXHJcbiAgICAgIG1vZGU6IHRoaXMubW9kZSxcclxuICAgICAgZXhjbHVkZVRleHRSZWZlcmVuY2VzOiB0aGlzLmV4Y2x1ZGVUZXh0UmVmZXJlbmNlcyxcclxuICAgICAgZXhjbHVkZU5vdGVzUmVmZXJlbmNlczogdGhpcy5leGNsdWRlTm90ZXNSZWZlcmVuY2VzLFxyXG4gICAgICBjb3VudDogMTUsXHJcbiAgICAgIGZpcnN0OiAwXHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyUmVmZXJlbmNlc1NlYXJjaFBhcmFtcyB7XHJcbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xyXG4gIHllYXI/OiBudW1iZXIgfCBudWxsO1xyXG4gIHNlY3Rvcj86IHN0cmluZyB8IG51bGw7XHJcbiAgYXV0aG9yPzogc3RyaW5nIHwgbnVsbDtcclxuICBhbmNob3I/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG1vZGVsPzogbnVtYmVyIHwgbnVsbDtcclxuICBtb2RlPzogQ2xpcHBlclF1ZXJ5UmVmZXJlbmNlc01vZGUgfCBudWxsO1xyXG4gIGV4Y2x1ZGVUZXh0UmVmZXJlbmNlcz86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGV4Y2x1ZGVOb3Rlc1JlZmVyZW5jZXM/OiBib29sZWFuIHwgbnVsbDtcclxuICBjb3VudD86IG51bWJlciB8IG51bGw7XHJcbiAgZmlyc3Q/OiBudW1iZXIgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQ2xpcHBlckRvY3VtZW50Q2hhbmdlUmVhc29uOiBOYW1lVmFsdWVJdGVtPG51bWJlcj5bXSA9IFtcclxuICB7IG5hbWU6ICdBYnJvZ2F6aW9uZScsIHZhbHVlOiAxIH0sXHJcbiAgeyBuYW1lOiAnQW5udWxsYW1lbnRvJywgdmFsdWU6IDUgfSxcclxuICB7IG5hbWU6ICdNb2RpZmljYScsIHZhbHVlOiAyIH0sXHJcbiAgeyBuYW1lOiAnU29zdGl1emlvbmUnLCB2YWx1ZTogMyB9LFxyXG4gIHsgbmFtZTogJ1NlZ25hbGF6aW9uZScsIHZhbHVlOiA2IH0sXHJcbiAgeyBuYW1lOiAnUmV0dGlmaWNhJywgdmFsdWU6IDcgfSxcclxuXVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyRG9jdW1lbnRBbmNob3JJbmZvIHtcclxuICBkb2N1bWVudElkOiBzdHJpbmc7XHJcbiAgdHlwZTogbnVtYmVyO1xyXG4gIHR5cGVEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgdXJpOiBzdHJpbmc7XHJcbiAgb3JkaW5hbDogc3RyaW5nO1xyXG4gIHNjb3JlOiBudW1iZXI7XHJcbiAgdmVyeVJlbGV2YW50PzogYm9vbGVhbiB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlckRvY3VtZW50SW5kZXhJbmZvIHtcclxuICB0eXBlOiBudW1iZXI7XHJcbiAgdHlwZURlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICBsZXZlbDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJEb2N1bWVudFJlbGV2YW50cyB7XHJcbiAgaXRlbXM6IENsaXBwZXJEb2N1bWVudEFuY2hvckluZm9bXTtcclxuICBoaXRzOiBudW1iZXI7XHJcbiAgaGl0OiBudW1iZXI7XHJcbiAgbWluaW11bVNjb3JlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlckRvY3VtZW50SW5mbyB7XHJcbiAgaWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRvY3VtZW50SWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG1vZGVsPzogbnVtYmVyO1xyXG4gIG1vZGVsTmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgbW9kdWxlPzogbnVtYmVyIHwgbnVsbDtcclxuICBtb2R1bGVOYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBncm91cD86IHN0cmluZyB8IG51bGw7XHJcbiAgdGl0bGUyPzogc3RyaW5nIHwgbnVsbDtcclxuICB0aXRsZTE/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG51bWJlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgZGF0ZT86IERhdGUgfCBudWxsO1xyXG4gIHB1Ymxpc2hpbmdEYXRlPzogRGF0ZSB8IG51bGw7XHJcbiAgc291cmNlTnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcclxuICBzb3VyY2VEYXRlPzogRGF0ZSB8IG51bGw7XHJcbiAgc291cmNlPzogc3RyaW5nIHwgbnVsbDtcclxuICBvcmlnaW4/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG9yaWdpbkRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBhdXRob3I/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGFuY2hvcnM/OiBDbGlwcGVyRG9jdW1lbnRBbmNob3JJbmZvW10gfCBudWxsO1xyXG4gIHRheG9ub215Pzogc3RyaW5nIHwgbnVsbDtcclxuICBpbmZvPzogc3RyaW5nIHwgbnVsbDtcclxuICBpc1JlYWQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBpc0V4cG9ydGFibGU/OiBib29sZWFuIHwgbnVsbDtcclxuICBpc0NvbW1lbnRlZD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGlzSnVyaXM/OiBib29sZWFuIHwgbnVsbDtcclxuICBpc092ZXI/OiBib29sZWFuIHwgbnVsbDtcclxuICBpc1RyaWFsPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNOZXc/OiBib29sZWFuIHwgbnVsbDtcclxuICBpc0V4cGlyZWQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBpc0V4cGlyaW5nPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNNZW51T3Blbj86IGJvb2xlYW4gfCBudWxsO1xyXG4gIHZhbGlkaXR5U3RhdGU/OiBudW1iZXIgfCBudWxsO1xyXG4gIHZhbGlkVW50aWxEYXRlPzogRGF0ZSB8IG51bGw7XHJcbiAgdmFsaWRpdHlEZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgdmFsaWRpdHlJbmZvPzogc3RyaW5nIHwgbnVsbDtcclxuICBleHBpcmluZ0RhdGU/OiBEYXRlIHwgbnVsbDtcclxuICBleHBpcmluZ0Rlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBleHBpcmluZ0luZm8/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHBvcHVsYXJpdHk/OiBudW1iZXIgfCBudWxsO1xyXG4gIHBhcnQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHByaW1hcnlJZD86IHN0cmluZyB8IG51bGw7XHJcbiAgcHJpbWFyeURlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICBwcmltYXJ5TW9kZWw/OiBudW1iZXIgfCBudWxsO1xyXG4gIGhhc1ByaW1hcnk/OiBib29sZWFuIHwgbnVsbDtcclxuICBzZWNvbmRhcnlJZD86IHN0cmluZyB8IG51bGw7XHJcbiAgYmFnPzogYW55IHwgbnVsbDtcclxuICBsYXN0VXBkYXRlPzogRGF0ZSB8IG51bGw7XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlclNlYXJjaFJlc3VsdCB7XHJcbiAgZGF5cz86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGludGVydmFsPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgaXRlbXM/OiBDbGlwcGVyRG9jdW1lbnRJbmZvW10gfCBudWxsID0gbnVsbDtcclxuICBmYWNldHM/OiBDbGlwcGVyU2VhcmNoRmFjZXRzU25hcHNob3QgfCBudWxsID0gbmV3IENsaXBwZXJTZWFyY2hGYWNldHNTbmFwc2hvdCgpO1xyXG4gIHRvdGFsPzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgc2VhcmNoSW5mbz86IGFueSB8IG51bGwgPSBudWxsO1xyXG4gIHNlYXJjaFBhcmFtcz86IENsaXBwZXJTZWFyY2hQYXJhbXMgfCBudWxsID0gbmV3IENsaXBwZXJTZWFyY2hQYXJhbXMoKTtcclxuICBzbmFwc2hvdE1vZGU/OiBDbGlwcGVyUXVlcnlSZWZlcmVuY2VzTW9kZSB8IG51bGwgPSBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJTZWFyY2hGYWNldCB7XHJcbiAgdHlwZTogbnVtYmVyO1xyXG4gIHR5cGVOYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nO1xyXG4gIGNvdW50OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlclNlYXJjaEZhY2V0R3JvdXAge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBzZWxlY3RlZFZhbHVlPzogc3RyaW5nIHwgbnVsbDtcclxuICBzZWxlY3RlZFZhbHVlRGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHZhbHVlczogQ2xpcHBlclNlYXJjaEZhY2V0W107XHJcbiAgaW5kZXg6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyU2VhcmNoRmFjZXRzUmVzdWx0IHtcclxuICBpbnRlcnZhbD86IHN0cmluZyB8IG51bGw7XHJcbiAgZmFjZXRzPzogQ2xpcHBlclNlYXJjaEZhY2V0W11bXSB8IG51bGw7XHJcbiAgdG90YWw/OiBudW1iZXIgfCBudWxsO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIENsaXBwZXJTZWFyY2hGYWNldHNTbmFwc2hvdCB7XHJcbiAgZ3JvdXBzOiBDbGlwcGVyU2VhcmNoRmFjZXRHcm91cFtdID0gW107XHJcbiAgdXNlZEdyb3VwczogQ2xpcHBlclNlYXJjaEZhY2V0R3JvdXBbXSA9IFtdO1xyXG4gIGhhc0ZhY2V0czogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGhhc01vcmVGYWNldHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBoYXNUb29NYW55UmVzdWx0czogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlY3Rvcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGF1dGhvcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGFuY2hvcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHR5cGU/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICByZWFzb24/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBmcm9tRGF0ZT86IERhdGUgfCBudWxsID0gbnVsbDtcclxuICB0b0RhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgaW50ZXJ2YWw/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBjaGFuZ2VkSW50ZXJ2YWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGFuZ2VkU2VjdG9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2hhbmdlZEF1dGhvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNoYW5nZWRBbmNob3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGFuZ2VkVHlwZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNoYW5nZWRSZWFzb246IGJvb2xlYW4gPSBmYWxzZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyU2VhcmNoQ2FsZW5kYXJTbmFwc2hvdE1vbnRoIHtcclxuICBkYXlzOiBudW1iZXJbXTtcclxuICBtb250aFNob3J0TmFtZTogc3RyaW5nO1xyXG4gIG1vbnRoTmFtZTogc3RyaW5nO1xyXG4gIG1vbnRoOiBudW1iZXI7XHJcbiAgeWVhcjogbnVtYmVyO1xyXG4gIHRvdGFsOiBudW1iZXI7XHJcbiAgZXhwaXJlZDogbnVtYmVyO1xyXG4gIGV4cGlyaW5nOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoQ2FsZW5kYXJTbmFwc2hvdFJlc3VsdCB7XHJcbiAgbW9udGhzPzogQ2xpcHBlclNlYXJjaENhbGVuZGFyU25hcHNob3RNb250aFtdIHwgbnVsbCA9IG51bGw7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY29uc3QgQ2xpcHBlckNvbmZpZzogYW55ID0ge1xyXG4gIC8vIENsaWVudCB1cmlcclxuICB1cmk6IG51bGwsXHJcblxyXG4gIC8vIFNlcnZpY2UgdXJpXHJcbiAgc2VydmljZVVyaTogbnVsbCxcclxuXHJcbiAgLy8gR2xvYmFsIHN0YXRlXHJcbiAgbG9nZ2VkSW46IGZhbHNlLFxyXG4gIGxvZ2luSW5mbzogbnVsbFxyXG59O1xyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlclNvcnQge1xyXG4gIERlZmF1bHQgPSAwLFxyXG4gIFJlbGV2YW5jZSA9IDEsXHJcbiAgRGF0ZUFzYyA9IDIsXHJcbiAgRGF0ZURlc2MgPSAzLFxyXG4gIFNvdXJjZURhdGVBc2MgPSA0LFxyXG4gIFNvdXJjZURhdGVEZXNjID0gNSxcclxuICBQb3B1bGFyaXR5ID0gNlxyXG59XHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyUXVlcnlSZWZlcmVuY2VzTW9kZSB7XHJcbiAgUmVmZXJlbmNlc0luID0gMSxcclxuICBSZWZlcmVuY2VzT3V0ID0gMixcclxuICBDaGFuZ2VzSW4gPSAzLFxyXG4gIENoYW5nZXNPdXQgPSA1LFxyXG4gIEp1cmlzID0gNFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyRmFjZXQge1xyXG4gIFNlY3RvciA9IDEsXHJcbiAgWWVhciA9IDIsXHJcbiAgRG9jdW1lbnRUeXBlID0gMyxcclxuICBUb3BpYyA9IDQsXHJcbiAgQXJ0aWNsZSA9IDUsXHJcbiAgQXV0aG9yID0gNixcclxuICBSZWFzb24gPSA5NVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIENsaXBwZXJVdGlscyB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiB0aGUgQ2xpcHBlciBncm91cCBuYW1lXHJcbiAgICogQHBhcmFtIHZhbHVlOiB0aGUgZ3JvdXAgdmFsdWUgXHJcbiAgICogQHJldHVybnMgdGhlIGdyb3VwIG5hbWVcclxuICAgKi9cclxuICBzdGF0aWMgZ2V0Q2xpcHBlck1vZHVsZUdyb3VwTmFtZSh2YWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBDbGlwcGVyTW9kdWxlR3JvdXBzLmZpbHRlcigobikgPT4gbi52YWx1ZSA9PT0gdmFsdWUpPy5bMF0ubmFtZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIG9mIGEgZ3JvdXBcclxuICAgKiBAcGFyYW0gdmFsdWU6IHRoZSBtb2R1bGUgbmFtZVxyXG4gICAqIEByZXR1cm5zIHRoZSBsaXN0IG9mIG1vZHVsZXNcclxuICAgKi9cclxuICBzdGF0aWMgZ2V0Q2xpcHBlck1vZHVsZUdyb3VwSXRlbXModmFsdWU6IENsaXBwZXJNb2R1bGVHcm91cCk6IE5hbWVWYWx1ZUl0ZW08bnVtYmVyPltdIHtcclxuICAgIHJldHVybiBDbGlwcGVyTW9kdWxlcy5maWx0ZXIoKG4pID0+IG4ucGFyZW50VmFsdWUgPT09IHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiB0aGUgbGlzdCBvZiBhdmFpbGFibGUgc29ydCBvcHRpb25zIGZvciBhIGxpc3Qgb2YgbW9kdWxlc1xyXG4gICAqIEBwYXJhbSBtb2R1bGVzIDogdGhlIG1vZHVsZXMgbGlzdFxyXG4gICAqIEByZXR1cm5zIHRoZSBsaXN0IG9mIGF2YWlsYmFsZSBzb3J0IG9wdGlvbnMgXHJcbiAgICovXHJcbiAgc3RhdGljIGdldENsaXBwZXJBdmFpbGFibGVTb3J0T3B0aW9ucyhcclxuICAgIG1vZHVsZXM6IE5hbWVWYWx1ZUl0ZW08bnVtYmVyPltdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxyXG4gICAgcGFyYW1zOiBDbGlwcGVyU2VhcmNoUGFyYW1zIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKTogTmFtZVZhbHVlSXRlbTxudW1iZXI+W10ge1xyXG4gICAgY29uc3Qgb3B0aW9uczogTmFtZVZhbHVlSXRlbTxudW1iZXI+W10gPSBbXHJcbiAgICAgIHsgbmFtZTogXCJEYXRhIGRlY3Jlc2NlbnRlXCIsIHZhbHVlOiAxIH0sXHJcbiAgICAgIHsgbmFtZTogXCJEYXRhIGNyZXNjZW50ZVwiLCB2YWx1ZTogMiB9LFxyXG4gICAgICB7IG5hbWU6IFwiRGF0YSBmb250ZSBkZWNyZXNjZW50ZVwiLCB2YWx1ZTogMyB9LFxyXG4gICAgICB7IG5hbWU6IFwiRGF0YSBmb250ZSBjcmVzY2VudGVcIiwgdmFsdWU6IDQgfSxcclxuICAgICAgeyBuYW1lOiBcIlJpbGV2YW56YVwiLCB2YWx1ZTogNSB9LFxyXG4gICAgICB7IG5hbWU6IFwiUG9wb2xhcml0w6BcIiwgdmFsdWU6IDYgfSxcclxuICAgIF07XHJcbiAgICBsZXQgc29ydE9wdGlvbnM6IE5hbWVWYWx1ZUl0ZW08bnVtYmVyPltdID0gW11cclxuICAgIGlmIChwYXJhbXMgJiYgQ2xpcHBlclNlYXJjaFV0aWxzLmlzVGV4dFF1ZXJ5KHBhcmFtcykpIHtcclxuICAgICAgc29ydE9wdGlvbnMucHVzaChvcHRpb25zWzRdKTtcclxuICAgIH1cclxuICAgIGlmIChtb2R1bGVzICYmIG1vZHVsZXMubGVuZ3RoID4gMCAmJiBtb2R1bGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICBpZiAobW9kdWxlc1swXS52YWx1ZSA9PT0gQ2xpcHBlck1vZHVsZS5Ob3JtYXRpdmFWaWdlbnRlKSB7XHJcbiAgICAgICAgc29ydE9wdGlvbnMucHVzaChvcHRpb25zWzBdKTtcclxuICAgICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbMV0pO1xyXG4gICAgICAgIHNvcnRPcHRpb25zLnB1c2gob3B0aW9uc1syXSk7XHJcbiAgICAgICAgc29ydE9wdGlvbnMucHVzaChvcHRpb25zWzNdKTtcclxuICAgICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbNV0pO1xyXG4gICAgICB9IGVsc2UgaWYgKG1vZHVsZXNbMF0udmFsdWUgPT09IENsaXBwZXJNb2R1bGUuR2F6emV0dGVCb2xsZXR0aW5pRUZvbnRpRGl2ZXJzZSkge1xyXG4gICAgICAgIHNvcnRPcHRpb25zLnB1c2gob3B0aW9uc1syXSk7XHJcbiAgICAgICAgc29ydE9wdGlvbnMucHVzaChvcHRpb25zWzNdKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbMF0pO1xyXG4gICAgICAgIHNvcnRPcHRpb25zLnB1c2gob3B0aW9uc1sxXSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNvcnRPcHRpb25zLnB1c2gob3B0aW9uc1swXSk7XHJcbiAgICAgIHNvcnRPcHRpb25zLnB1c2gob3B0aW9uc1sxXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc29ydE9wdGlvbnM7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENsaXBwZXJTZWFyY2hVdGlscyB7XHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgdGhlIHNlYXJjaCBwYXJhbXMgb2JqZWN0XHJcbiAgICogQHBhcmFtIHBhcmFtcyA6IHRoZSBzZWFyY2ggcGFyYW1zIHRvIGNsZWFyXHJcbiAgICovXHJcbiAgc3RhdGljIGNsZWFyKHBhcmFtczogQ2xpcHBlclNlYXJjaFBhcmFtcykge1xyXG4gICAgcGFyYW1zLnNlY3RvciA9IG51bGw7XHJcbiAgICBwYXJhbXMuc2VjdG9ycyA9IG51bGw7XHJcbiAgICBwYXJhbXMuYXV0aG9yID0gbnVsbDtcclxuICAgIHBhcmFtcy5hdXRob3JzID0gbnVsbDtcclxuICAgIHBhcmFtcy50b3BpYyA9IG51bGw7XHJcbiAgICBwYXJhbXMudGF4b25vbXkgPSBudWxsO1xyXG4gICAgcGFyYW1zLnRheG9ub215UGF0aCA9IG51bGw7XHJcbiAgICBwYXJhbXMudGF4b25vbXlOb2RlID0gbnVsbDtcclxuICAgIHBhcmFtcy5udW1iZXIgPSBudWxsO1xyXG4gICAgcGFyYW1zLmZyb21EYXRlID0gbnVsbDtcclxuICAgIHBhcmFtcy50b0RhdGUgPSBudWxsO1xyXG4gICAgcGFyYW1zLnllYXIgPSBudWxsO1xyXG4gICAgcGFyYW1zLnNvdXJjZU51bWJlciA9IG51bGw7XHJcbiAgICBwYXJhbXMuc291cmNlID0gbnVsbDtcclxuICAgIHBhcmFtcy5zb3VyY2VGcm9tRGF0ZSA9IG51bGw7XHJcbiAgICBwYXJhbXMuc291cmNlVG9EYXRlID0gbnVsbDtcclxuICAgIHBhcmFtcy5zb3VyY2VZZWFyID0gbnVsbDtcclxuICAgIHBhcmFtcy50ZXh0ID0gbnVsbDtcclxuICAgIHBhcmFtcy50aXRsZU9ubHkgPSBmYWxzZTtcclxuICAgIHBhcmFtcy50eXBlID0gbnVsbDtcclxuICAgIHBhcmFtcy5zaG93VW5yZWFkRG9jdW1lbnRzT25seSA9IGZhbHNlO1xyXG4gICAgcGFyYW1zLnNob3dDb21tZW50ZWREb2N1bWVudHNPbmx5ID0gZmFsc2U7XHJcbiAgICBwYXJhbXMuY2hhbm5lbHMgPSBbLi4uQ2xpcHBlckNoYW5uZWxzXTtcclxuICAgIHBhcmFtcy5jaGFuZ2VSZWFzb24gPSBudWxsO1xyXG4gICAgcGFyYW1zLmNoYW5nZWROdW1iZXIgPSBudWxsO1xyXG4gICAgcGFyYW1zLmNoYW5nZWRZZWFyID0gbnVsbDtcclxuICAgIHBhcmFtcy5jaGFuZ2VkVGl0bGUgPSBudWxsO1xyXG4gICAgcGFyYW1zLm1vZGlmaWVyTnVtYmVyID0gbnVsbDtcclxuICAgIHBhcmFtcy5tb2RpZmllclllYXIgPSBudWxsO1xyXG4gICAgcGFyYW1zLm1vZGlmaWVyVGl0bGUgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJlcGFyZSB0aGUgbW9kdWxlIHNwZWNpZmljIHF1ZXJ5XHJcbiAgICogQHBhcmFtIHBhcmFtcyA6IHRoZSBzZWFyY2ggcGFyYW1zIHRvIHVzZVxyXG4gICAqIEBwYXJhbSBtb2R1bGUgOiB0aGUgbW9kdWxlIHRvIHByZXBhcmUgdGhlIHNlYXJjaCBwYXJhbXMgZm9yXHJcbiAgICogQHJldHVybnMgdGhlIG5ldyBzZWFyY2ggcGFyYW1zXHJcbiAgICovXHJcbiAgc3RhdGljIHByZXBhcmUocGFyYW1zOiBDbGlwcGVyU2VhcmNoUGFyYW1zLCBtb2R1bGU6IENsaXBwZXJNb2R1bGUpOiBDbGlwcGVyU2VhcmNoUGFyYW1zIHtcclxuICAgIGxldCBtb2R1bGVQYXJhbXM6IENsaXBwZXJTZWFyY2hQYXJhbXMgPSBuZXcgQ2xpcHBlclNlYXJjaFBhcmFtcygpO1xyXG4gICAgbW9kdWxlUGFyYW1zLmNoYW5uZWxzID0gcGFyYW1zLmNoYW5uZWxzO1xyXG4gICAgbW9kdWxlUGFyYW1zLnRleHQgPSBwYXJhbXMudGV4dDtcclxuICAgIG1vZHVsZVBhcmFtcy50aXRsZU9ubHkgPSBwYXJhbXMudGl0bGVPbmx5O1xyXG4gICAgbW9kdWxlUGFyYW1zLmZpcnN0ID0gcGFyYW1zLmZpcnN0O1xyXG4gICAgbW9kdWxlUGFyYW1zLmNvdW50ID0gcGFyYW1zLmNvdW50O1xyXG4gICAgbW9kdWxlUGFyYW1zLnNvcnRNb2RlID0gcGFyYW1zLnNvcnRNb2RlO1xyXG4gICAgc3dpdGNoIChtb2R1bGUpIHtcclxuICAgICAgY2FzZSBDbGlwcGVyTW9kdWxlLlNjYWRlbnplRVNlZ25hbGF6aW9uaTpcclxuICAgICAgY2FzZSBDbGlwcGVyTW9kdWxlLlF1ZXNpdGlFQ2FzaVJpc29sdGk6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ2xpcHBlck1vZHVsZS5OZXdzOlxyXG4gICAgICBjYXNlIENsaXBwZXJNb2R1bGUuQWxsZXJ0ZUFsaW1lbnRhcmk6XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLmZyb21EYXRlID0gcGFyYW1zLmZyb21EYXRlO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy50b0RhdGUgPSBwYXJhbXMudG9EYXRlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENsaXBwZXJNb2R1bGUuR2F6emV0dGVCb2xsZXR0aW5pRUZvbnRpRGl2ZXJzZTpcclxuICAgICAgY2FzZSBDbGlwcGVyTW9kdWxlLk5vcm1hdGl2YVZpZ2VudGU6XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLnNlY3RvciA9IHBhcmFtcy5zZWN0b3I7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLnNlY3RvcnMgPSBwYXJhbXMuc2VjdG9ycztcclxuICAgICAgICBtb2R1bGVQYXJhbXMuYXV0aG9yID0gcGFyYW1zLmF1dGhvcjtcclxuICAgICAgICBtb2R1bGVQYXJhbXMuYXV0aG9ycyA9IHBhcmFtcy5hdXRob3JzO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy50eXBlID0gcGFyYW1zLnR5cGU7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLnRvcGljID0gcGFyYW1zLnRvcGljO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy5udW1iZXIgPSBwYXJhbXMubnVtYmVyO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy55ZWFyID0gcGFyYW1zLnllYXI7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLmZyb21EYXRlID0gcGFyYW1zLmZyb21EYXRlO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy50b0RhdGUgPSBwYXJhbXMudG9EYXRlO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy5zaG93Q29tbWVudGVkRG9jdW1lbnRzT25seSA9IHBhcmFtcy5zaG93Q29tbWVudGVkRG9jdW1lbnRzT25seTtcclxuICAgICAgICBtb2R1bGVQYXJhbXMuc291cmNlID0gcGFyYW1zLnNvdXJjZTtcclxuICAgICAgICBtb2R1bGVQYXJhbXMuc291cmNlTnVtYmVyID0gcGFyYW1zLnNvdXJjZU51bWJlcjtcclxuICAgICAgICBtb2R1bGVQYXJhbXMuc291cmNlWWVhciA9IHBhcmFtcy5zb3VyY2VZZWFyO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy5zb3VyY2VGcm9tRGF0ZSA9IHBhcmFtcy5zb3VyY2VGcm9tRGF0ZTtcclxuICAgICAgICBtb2R1bGVQYXJhbXMuc291cmNlVG9EYXRlID0gcGFyYW1zLnNvdXJjZVRvRGF0ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDbGlwcGVyTW9kdWxlLkdpdXJpc3BydWRlbnphOlxyXG4gICAgICAgIG1vZHVsZVBhcmFtcy5zZWN0b3IgPSBwYXJhbXMuc2VjdG9yO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy5zZWN0b3JzID0gcGFyYW1zLnNlY3RvcnM7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLm51bWJlciA9IHBhcmFtcy5udW1iZXI7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLnllYXIgPSBwYXJhbXMueWVhcjtcclxuICAgICAgICBtb2R1bGVQYXJhbXMuZnJvbURhdGUgPSBwYXJhbXMuZnJvbURhdGU7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLnRvRGF0ZSA9IHBhcmFtcy50b0RhdGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbW9kdWxlUGFyYW1zO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGN1cnJlbnQgZmlsdGVyIGlzIGEgdGV4dCBiYXNlZCBzZWFyY2ggXHJcbiAgICogQHBhcmFtIHBhcmFtcyA6IHRoZSBzZWFyY2ggcGFyYW1zIHRvIGNoZWNrXHJcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBpcyBhIHRleHQgYmFzZWQgc2VhcmNoXHJcbiAgICovXHJcbiAgc3RhdGljIGlzVGV4dFF1ZXJ5KHBhcmFtczogQ2xpcHBlclNlYXJjaFBhcmFtcyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHBhcmFtcy50ZXh0ICE9IG51bGwgJiYgcGFyYW1zLnRleHQ/Lmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcnkgdG8gYWRkIGEgcXVlcnlcclxuICAgKiBAcGFyYW0gcSA6IHRoZSBuZXcgcXVlcnlcclxuICAgKiBAcGFyYW0gcXVlcmllcyA6IHRoZSBuZXcgcXVlcnlcclxuICAgICAgICAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY29uY2F0VGV4dFF1ZXJ5KHE6IHN0cmluZywgcXVlcmllczogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChxICYmIHEubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAocXVlcmllcy5sZW5ndGggPT0gMCAmJiAocVswXSA9PT0gJysnIHx8IHFbMF0gPT09ICctJykpXHJcbiAgICAgICAgcSA9IHEuc3Vic3RyaW5nKDEpO1xyXG4gICAgICBpZiAocVtxLmxlbmd0aCAtIDFdICE9PSAnXFxcIicgJiYgcS5pbmRleE9mKCcgJykgIT09IC0xKVxyXG4gICAgICAgIHEgPSBcIlxcXCJcIiArIHEgKyBcIlxcXCJcIjtcclxuICAgICAgaWYgKHF1ZXJpZXMubGVuZ3RoID4gMCkgcXVlcmllcyArPSBcIiwgXCI7XHJcbiAgICAgIHF1ZXJpZXMgKz0gcTtcclxuICAgIH1cclxuICAgIHJldHVybiBxdWVyaWVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTm9ybWFsaXplIHRleHQgcXVlcnlcclxuICAgKiBAcGFyYW0gdGV4dCA6IHRoZSB0ZXh0IHF1ZXJ5IHRvIG5vcm1hbGl6ZVxyXG4gICAqIEByZXR1cm5zIDogdGhlIHRleHQgbm9ybWFsaXplZCBvciBudWxsXHJcbiAgICovXHJcbiAgc3RhdGljIG5vcm1hbGl6ZVRleHRRdWVyeSh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICghdGV4dCB8fCB0ZXh0Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGw7XHJcbiAgICBsZXQgcTogc3RyaW5nID0gJyc7XHJcbiAgICBsZXQgcXVlcmllczogc3RyaW5nID0gJyc7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHRleHRbaV0gPT09ICcsJykge1xyXG4gICAgICAgIHF1ZXJpZXMgPSB0aGlzLmNvbmNhdFRleHRRdWVyeShxLnRyaW0oKSwgcXVlcmllcyk7XHJcbiAgICAgICAgcSA9ICcnO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgcSArPSB0ZXh0W2ldO1xyXG4gICAgfVxyXG4gICAgcXVlcmllcyA9IHRoaXMuY29uY2F0VGV4dFF1ZXJ5KHEudHJpbSgpLCBxdWVyaWVzKTtcclxuICAgIHJldHVybiBxdWVyaWVzO1xyXG4gIH1cclxufSJdfQ==
1607
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY2xpcHBlci5jb21tb24vY29tbW9uL2RlZmluaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBTixJQUFZLG9CQUlYO0FBSkQsV0FBWSxvQkFBb0I7SUFDOUIsbUVBQVUsQ0FBQTtJQUNWLGlFQUFTLENBQUE7SUFDVCw2REFBTyxDQUFBO0FBQ1QsQ0FBQyxFQUpXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFJL0I7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFRWDtBQVJELFdBQVksa0JBQWtCO0lBQzVCLDJEQUFRLENBQUE7SUFDUixtRkFBb0IsQ0FBQTtJQUNwQixtRkFBb0IsQ0FBQTtJQUNwQix1RUFBYyxDQUFBO0lBQ2QsK0RBQVUsQ0FBQTtJQUNWLHdFQUFlLENBQUE7SUFDZixvRUFBYSxDQUFBO0FBQ2YsQ0FBQyxFQVJXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFRN0I7QUFFRCxNQUFNLENBQU4sSUFBWSxhQWFYO0FBYkQsV0FBWSxhQUFhO0lBQ3ZCLDJFQUFzQixDQUFBO0lBQ3RCLG1EQUFVLENBQUE7SUFDVix5R0FBcUMsQ0FBQTtJQUNyQyx1RUFBb0IsQ0FBQTtJQUNwQixpR0FBaUMsQ0FBQTtJQUNqQyxxRkFBMkIsQ0FBQTtJQUMzQiw2RUFBdUIsQ0FBQTtJQUN2Qix5RUFBcUIsQ0FBQTtJQUNyQixpRkFBeUIsQ0FBQTtJQUN6Qix5RUFBcUIsQ0FBQTtJQUNyQix1REFBVyxDQUFBO0FBRWIsQ0FBQyxFQWJXLGFBQWEsS0FBYixhQUFhLFFBYXhCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFhWDtBQWJELFdBQVksWUFBWTtJQUN0QixxREFBVyxDQUFBO0lBQ1gsbUZBQTBCLENBQUE7SUFDMUIsK0NBQVEsQ0FBQTtJQUNSLHVEQUFZLENBQUE7SUFDWixpREFBUyxDQUFBO0lBQ1QscURBQVcs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LFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxpQ0FBaUM7S0FDeEM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSwyQkFBMkI7S0FDbEM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxvQ0FBb0M7S0FDM0M7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxrQ0FBa0M7S0FDekM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSx5Q0FBeUM7S0FDaEQ7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxpQkFBaUI7S0FDeEI7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSwyQkFBMkI7S0FDbEM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSx1Q0FBdUM7S0FDOUM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsTUFBTTtRQUNiLElBQUksRUFBRSxtQ0FBbUM7S0FDMUM7SUFDRDtRQUNFLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLElB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Q0FBQztZQUNULENBQUM7O2dCQUNJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUNELE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYW1lVmFsdWVJdGVtIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuXHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyU2VsZWN0aW9uTW9kZSB7XHJcbiAgU2luZ2xlID0gMSxcclxuICBNdWx0aSA9IDIsXHJcbiAgQW55ID0gM1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBDbGlwcGVyTW9kdWxlR3JvdXAge1xyXG4gIEhvbWUgPSAwLFxyXG4gIE5vcm1hdGl2YVZpZ2VudGUgPSAxLFxyXG4gIFJpbWFuaUFnZ2lvcm5hdG8gPSAyLFxyXG4gIENvbnRyaWJ1dGkgPSAzLFxyXG4gIERHSW5mbyA9IDQsXHJcbiAgQ2FsZW5kYXJpbyA9IDExLFxyXG4gIEFyY2hpdmlvID0gMTJcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlck1vZHVsZSB7XHJcbiAgTm9ybWF0aXZhVmlnZW50ZSA9IDEwMSxcclxuICBOZXdzID0gMjAxLFxyXG4gIEdhenpldHRlQm9sbGV0dGluaUVGb250aURpdmVyc2UgPSAyMDIsXHJcbiAgR2l1cmlzcHJ1ZGVuemEgPSAyMDMsXHJcbiAgTW9kaWZpY2hlQWJyb2dhemlvbmlFUmludmlpID0gMjA0LFxyXG4gIFNjYWRlbnplRVNlZ25hbGF6aW9uaSA9IDIwNSxcclxuICBBbGxlcnRlQWxpbWVudGFyaSA9IDIwNixcclxuICBBcHByb2ZvbmRpbWVudGkgPSAzMDEsXHJcbiAgUXVlc2l0aUVDYXNpUmlzb2x0aSA9IDMwMixcclxuICBNZXRvZGlEaUFuYWxpc2kgPSAzMDMsXHJcbiAgU2VhcmNoPSA5OTlcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIENsaXBwZXJNb2RlbCB7XHJcbiAgVW5rbm93biA9IDAsXHJcbiAgQWdnaW9ybmFtZW50b05vcm1hdGl2byA9IDIsXHJcbiAgTmV3cyA9IDMsXHJcbiAgQXJ0aWNvbGkgPSA0LFxyXG4gIEp1cmlzID0gNSxcclxuICBRdWVzaXRpID0gNixcclxuICBOb3JtYXRpdmFWaWdlbnRlID0gOSxcclxuICBTY2FkZW56YSA9IDEwLFxyXG4gIENvb3JkaW5hbWVudG8gPSAxMSxcclxuICBBbGxlcnRlQWxpbWVudGFyaSA9IDEzLFxyXG4gIE1ldG9kaURpQW5hbGlzaSA9IDE0LFxyXG4gIFNlZ25hbGF6aW9uZSA9IDIwXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyTW9kZWxzOiBOYW1lVmFsdWVJdGVtPG51bWJlcj5bXSA9IFtcclxuICB7IHZhbHVlOiBDbGlwcGVyTW9kZWwuQWdnaW9ybmFtZW50b05vcm1hdGl2bywgbmFtZTogXCJBZ2dpb3JuYW1lbnRvIG5vcm1hdGl2b1wiIH0sXHJcbiAgeyB2YWx1ZTogQ2xpcHBlck1vZGVsLk5ld3MsIG5hbWU6ICdOZXdzJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5BcnRpY29saSwgbmFtZTogJ0FydGljb2xpJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5KdXJpcywgbmFtZTogJ0p1cmlzJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5RdWVzaXRpLCBuYW1lOiAnUXVlc2l0aScgfSxcclxuICB7IHZhbHVlOiBDbGlwcGVyTW9kZWwuTm9ybWF0aXZhVmlnZW50ZSwgbmFtZTogJ05vcm1hdGl2YSB2aWdlbnRlJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5TY2FkZW56YSwgbmFtZTogJ1NjYWRlbnplJyB9LFxyXG4gIHsgdmFsdWU6IENsaXBwZXJNb2RlbC5BbGxlcnRlQWxpbWVudGFyaSwgbmFtZTogJ0FsbGVydGUgYWxpbWVudGFyaScgfSxcclxuICB7IHZhbHVlOiBDbGlwcGVyTW9kZWwuTWV0b2RpRGlBbmFsaXNpLCBuYW1lOiAnTWV0b2RpIGRpIGFuYWxpc2knIH1cclxuXVxyXG5cclxuZXhwb3J0IGNvbnN0IENsaXBwZXJNb2R1bGVHcm91cHM6IE5hbWVWYWx1ZUl0ZW08bnVtYmVyPltdID0gW1xyXG4gIHsgbmFtZTogXCJcIiwgdmFsdWU6IENsaXBwZXJNb2R1bGVHcm91cC5Ib21lIH0sXHJcbiAgeyBuYW1lOiBcIk5vcm1hdGl2YSB2aWdlbnRlXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuTm9ybWF0aXZhVmlnZW50ZSB9LFxyXG4gIHsgbmFtZTogXCJSaW1hbmkgYWdnaW9ybmF0b1wiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLlJpbWFuaUFnZ2lvcm5hdG8gfSxcclxuICB7IG5hbWU6IFwiQ29udHJpYnV0aVwiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLkNvbnRyaWJ1dGkgfSxcclxuICB7IG5hbWU6IFwiREcgSW5mb1wiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLkRHSW5mbyB9LFxyXG4gIHsgbmFtZTogXCJDYWxlbmRhcmlvXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuQ2FsZW5kYXJpbyB9LFxyXG4gIHsgbmFtZTogXCJBcmNoaXZpb1wiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLkFyY2hpdmlvIH1cclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyTW9kdWxlczogTmFtZVZhbHVlSXRlbTxudW1iZXI+W10gPSBbXHJcbiAgeyBuYW1lOiBcIk5vcm1hdGl2YSB2aWdlbnRlXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlLk5vcm1hdGl2YVZpZ2VudGUsIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuTm9ybWF0aXZhVmlnZW50ZSB9LFxyXG4gIHsgbmFtZTogXCJOZXdzIGUgYXBwcm9mb25kaW1lbnRpXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlLk5ld3MsIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuUmltYW5pQWdnaW9ybmF0byB9LFxyXG4gIHsgbmFtZTogXCJHYXp6ZXR0ZSwgQm9sbGV0dGluaSBlIGZvbnRpIGRldmVyc2VcIiwgdmFsdWU6IENsaXBwZXJNb2R1bGUuR2F6emV0dGVCb2xsZXR0aW5pRUZvbnRpRGl2ZXJzZSwgcGFyZW50VmFsdWU6IENsaXBwZXJNb2R1bGVHcm91cC5SaW1hbmlBZ2dpb3JuYXRvIH0sXHJcbiAgeyBuYW1lOiBcIkdpdXJpc3BydWRlbnphXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlLkdpdXJpc3BydWRlbnphLCBwYXJlbnRWYWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLlJpbWFuaUFnZ2lvcm5hdG8gfSxcclxuICB7IG5hbWU6IFwiTW9kaWZpY2hlLCBhYnJvZ2F6aW9uaSBlIHJpbnZpaVwiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZS5Nb2RpZmljaGVBYnJvZ2F6aW9uaUVSaW52aWksIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuUmltYW5pQWdnaW9ybmF0byB9LFxyXG4gIHsgbmFtZTogXCJTY2FkZW56ZSBlIHNlZ25hbGF6aW9uaVwiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZS5TY2FkZW56ZUVTZWduYWxhemlvbmksIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuUmltYW5pQWdnaW9ybmF0byB9LFxyXG4gIHsgbmFtZTogXCJBbGxlcnRlIGFsaW1lbnRhcmlcIiwgdmFsdWU6IENsaXBwZXJNb2R1bGUuQWxsZXJ0ZUFsaW1lbnRhcmksIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuUmltYW5pQWdnaW9ybmF0byB9LFxyXG4gIHsgbmFtZTogXCJBcHByb2ZvbmRpbWVudGlcIiwgdmFsdWU6IENsaXBwZXJNb2R1bGUuQXBwcm9mb25kaW1lbnRpLCBwYXJlbnRWYWx1ZTogQ2xpcHBlck1vZHVsZUdyb3VwLkNvbnRyaWJ1dGkgfSxcclxuICB7IG5hbWU6IFwiUXVlc2l0aSBlIGNhc2kgcmlzb2xpXCIsIHZhbHVlOiBDbGlwcGVyTW9kdWxlLlF1ZXNpdGlFQ2FzaVJpc29sdGksIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuQ29udHJpYnV0aSB9LFxyXG4gIHsgbmFtZTogXCJNZWRvZGkgZGkgYW5hbGlzaVwiLCB2YWx1ZTogQ2xpcHBlck1vZHVsZS5NZXRvZGlEaUFuYWxpc2ksIHBhcmVudFZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXAuQ29udHJpYnV0aSB9XHJcbl1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyQ2hhbm5lbHM6IE5hbWVWYWx1ZUl0ZW08c3RyaW5nPltdID0gW1xyXG4gIHsgdmFsdWU6IFwiTEFcIiwgbmFtZTogXCJMYXZvcm8gZSBBbWJpZW50ZVwiIH0sXHJcbiAgeyB2YWx1ZTogXCJTQVwiLCBuYW1lOiBcIlNvc3RhbnplIEFsaW1lbnRhcmlcIiB9LFxyXG4gIHsgdmFsdWU6IFwiRVwiLCBuYW1lOiBcIkVuZXJnaWFcIiB9LFxyXG4gIHsgdmFsdWU6IFwiT1BcIiwgbmFtZTogXCJNZXJjaSBQZXJpY29sb3NlXCIgfVxyXG5dXHJcblxyXG5leHBvcnQgY29uc3QgQ2xpcHBlclJlZ2lvbnM6IE5hbWVWYWx1ZUl0ZW08c3RyaW5nPltdID0gW1xyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJBQicsXHJcbiAgICBuYW1lOiAnQWJydXp6bycsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSQkEnLFxyXG4gICAgbmFtZTogJ0Jhc2lsaWNhdGEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkNBTCcsXHJcbiAgICBuYW1lOiAnQ2FsYWJyaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkNBTScsXHJcbiAgICBuYW1lOiAnQ2FtcGFuaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkVNJyxcclxuICAgIG5hbWU6ICdFbWlsaWEgUm9tYWduYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSRlZHJyxcclxuICAgIG5hbWU6ICdGcml1bGkgVmVuZXppYSBHaXVsaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkxBJyxcclxuICAgIG5hbWU6ICdMYXppbycsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSTEknLFxyXG4gICAgbmFtZTogJ0xpZ3VyaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkxPJyxcclxuICAgIG5hbWU6ICdMb21iYXJkaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0Uk1BJyxcclxuICAgIG5hbWU6ICdNYXJjaGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0Uk1PJyxcclxuICAgIG5hbWU6ICdNb2xpc2UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlBJJyxcclxuICAgIG5hbWU6ICdQaWVtb250ZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSUFUnLFxyXG4gICAgbmFtZTogJ1B1Z2xpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSU0EnLFxyXG4gICAgbmFtZTogJ1NhcmRlZ25hJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJTSScsXHJcbiAgICBuYW1lOiAnU2ljaWxpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSVE8nLFxyXG4gICAgbmFtZTogJ1Rvc2NhbmEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlRBQScsXHJcbiAgICBuYW1lOiAnVHJlbnRpbm8gQWx0byBBZGlnZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSVU0nLFxyXG4gICAgbmFtZTogJ1VtYnJpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSVkEnLFxyXG4gICAgbmFtZTogXCJWYWxsZSBEJ0Fvc3RhXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSVkUnLFxyXG4gICAgbmFtZTogJ1ZlbmV0bycsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRQQVQnLFxyXG4gICAgbmFtZTogJ1Byb3YuIEF1dC4gVHJlbnRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFBBQicsXHJcbiAgICBuYW1lOiAnUHJvdi4gQXV0LiBCb2x6YW5vJyxcclxuICB9XHJcbl1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VjdG9ySW5mbyBleHRlbmRzIE5hbWVWYWx1ZUl0ZW08c3RyaW5nPiB7XHJcblxyXG4gIHNob3J0TmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgZ3JvdXA/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNoYW5uZWxzPzogc3RyaW5nIHwgbnVsbDtcclxuICBzZWN0b3JJZD86IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyU2VjdG9yczogU2VjdG9ySW5mb1tdID0gW1xyXG4gIHtcclxuICAgIHZhbHVlOiAnTEMnLFxyXG4gICAgbmFtZTogJ0xlZ2lzbGF6aW9uZSBjb211bml0YXJpYScsXHJcbiAgICBzaG9ydE5hbWU6ICdDb211bml0YXJpYScsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdMTicsXHJcbiAgICBuYW1lOiAnTGVnaXNsYXppb25lIG5hemlvbmFsZScsXHJcbiAgICBzaG9ydE5hbWU6ICdOYXppb25hbGUnLFxyXG4gICAgZ3JvdXA6ICdTJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG5cclxuICB7XHJcbiAgICB2YWx1ZTogJ0xSJyxcclxuICAgIG5hbWU6ICdMZWdpc2xhemlvbmUgcmVnaW9uYWxlJyxcclxuICAgIHNob3J0TmFtZTogJ1JlZ2lvbmFsZScsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UkFCJyxcclxuICAgIG5hbWU6ICcgIEFicnV6em8nLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFBBQicsXHJcbiAgICBuYW1lOiAnICBQcm92LiBBdXQuIEJvbHphbm8nLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJCQScsXHJcbiAgICBuYW1lOiAnICBCYXNpbGljYXRhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSQ0FMJyxcclxuICAgIG5hbWU6ICcgIENhbGFicmlhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSQ0FNJyxcclxuICAgIG5hbWU6ICcgIENhbXBhbmlhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSRU0nLFxyXG4gICAgbmFtZTogJyAgRW1pbGlhIFJvbWFnbmEnLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJGVkcnLFxyXG4gICAgbmFtZTogJyAgRnJpdWxpIFZlbmV6aWEgR2l1bGlhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSTEEnLFxyXG4gICAgbmFtZTogJyAgTGF6aW8nLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJMSScsXHJcbiAgICBuYW1lOiAnICBMaWd1cmlhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSTE8nLFxyXG4gICAgbmFtZTogJyAgTG9tYmFyZGlhJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSTUEnLFxyXG4gICAgbmFtZTogJyAgTWFyY2hlJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSTU8nLFxyXG4gICAgbmFtZTogJyAgTW9saXNlJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSUEknLFxyXG4gICAgbmFtZTogJyAgUGllbW9udGUnLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJQVScsXHJcbiAgICBuYW1lOiAnICBQdWdsaWEnLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJTQScsXHJcbiAgICBuYW1lOiAnICBTYXJkZWduYScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlNJJyxcclxuICAgIG5hbWU6ICcgIFNpY2lsaWEnLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFJUTycsXHJcbiAgICBuYW1lOiAnICBUb3NjYW5hJyxcclxuICAgIGdyb3VwOiAnQScsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJzRSVEFBJyxcclxuICAgIG5hbWU6ICcgIFRyZW50aW5vIEFsdG8gQWRpZ2UnLFxyXG4gICAgZ3JvdXA6ICdBJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfFNBfE9QfEV8JyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnNFBBVCcsXHJcbiAgICBuYW1lOiAnICBQcm92LiBBdXQuIFRyZW50bycsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlVNJyxcclxuICAgIG5hbWU6ICcgIFVtYnJpYScsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlZBJyxcclxuICAgIG5hbWU6IFwiICBWYWxsZSBEJ0Fvc3RhXCIsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICc0UlZFJyxcclxuICAgIG5hbWU6ICcgIFZlbmV0bycsXHJcbiAgICBncm91cDogJ0EnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHQycsXHJcbiAgICBuYW1lOiAnR2l1cmlzcHJ1ZGVuemEgY29tdW5pdGFyaWEnLFxyXG4gICAgc2hvcnROYW1lOiAnR2l1cmlzLiBjb211bml0YXJpYScsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHTicsXHJcbiAgICBuYW1lOiAnR2l1cmlzcHJ1ZGVuemEgbmF6aW9uYWxlJyxcclxuICAgIHNob3J0TmFtZTogJ0dpdXJpc3BydWRlbnphJyxcclxuICAgIGdyb3VwOiAnUycsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ1ROJyxcclxuICAgIG5hbWU6ICdOb3JtYXRpdmEgdGVjbmljYScsXHJcbiAgICBzaG9ydE5hbWU6ICdUZWNuaWNhJyxcclxuICAgIGdyb3VwOiAnUycsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ1RJJyxcclxuICAgIG5hbWU6ICdOb3JtYXRpdmEgdGVjbmljYSBpbnRlcm5hemlvbmFsZScsXHJcbiAgICBzaG9ydE5hbWU6ICdUZWNuaWNhIGludGVybmF6LicsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8T1B8RXwnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdOSScsXHJcbiAgICBuYW1lOiAnTm9ybWF0aXZhIGludGVybmF6aW9uYWxlJyxcclxuICAgIHNob3J0TmFtZTogJ0ludGVybmF6aW9uYWxlJyxcclxuICAgIGdyb3VwOiAnUycsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXxPUHxFfCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ1NOJyxcclxuICAgIG5hbWU6ICdEb2N1bWVudGF6aW9uZSBzY2llbnRpZmljYScsXHJcbiAgICBzaG9ydE5hbWU6ICdTY2llbnRpZmljYScsXHJcbiAgICBncm91cDogJ1MnLFxyXG4gICAgY2hhbm5lbHM6ICd8U0F8JyxcclxuICB9LFxyXG5dXHJcblxyXG5leHBvcnQgY29uc3QgQ2xpcHBlclNlY3RvclR5cGVzOiBOYW1lVmFsdWVJdGVtPHN0cmluZz5bXSA9IFtcclxuXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdOSScsXHJcbiAgICB2YWx1ZTogJzE0JyxcclxuICAgIG5hbWU6ICdDb252ZW56aW9uZSBJbnRlcm5hemlvbmFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ05JJyxcclxuICAgIHZhbHVlOiAnNicsXHJcbiAgICBuYW1lOiAnQWNjb3JkbyBNdWx0aWxhdGVyYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc0JyxcclxuICAgIG5hbWU6ICdBY2NvcmRvIChuYXouKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNzUnLFxyXG4gICAgbmFtZTogJ0FsdHJpIGRvY3VtZW50aSAobmF6LiknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzE3JyxcclxuICAgIG5hbWU6ICdDaXJjb2xhcmUgQ29tbWlzc2FyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNTgnLFxyXG4gICAgbmFtZTogJ0NpcmNvbGFyZSAoQ29taXRhdGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcxMCcsXHJcbiAgICBuYW1lOiAnQ2lyY29sYXJlIE1pbmlzdGVyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMTMnLFxyXG4gICAgbmFtZTogJ0NvbXVuaWNhdG8gKG5hei4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcxNScsXHJcbiAgICBuYW1lOiAnQ29zdGl0dXppb25lIGRlbGxhIFJlcHViYmxpY2EnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzE4JyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIENvbW1pc3NhcmlhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzIxJyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIENhcG8gUHJvdnYuIFN0YXRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcyMicsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBQcmVzLiBDb25zLiBNaW5pc3RyaScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMjUnLFxyXG4gICAgbmFtZTogJ0RlY3JldG8gUHJlc2lkZW50ZSBSZXB1YmJsaWNhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcyNycsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBMZWdnZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMjgnLFxyXG4gICAgbmFtZTogJ0RlY3JldG8gTGVnZ2UgTHVvZ290ZW5lbnppYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcyOScsXHJcbiAgICBuYW1lOiAnRC5MZ3MuIENhcG8gUHJvdnYuIFN0YXRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICczMCcsXHJcbiAgICBuYW1lOiAnRC5MZ3MuIEdvdmVybm8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzMyJyxcclxuICAgIG5hbWU6ICdELkxncy4gTHVvZ290ZW5lbnppYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICczMycsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBMdW9nb3RlbmVuemlhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzM0JyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIE1pbmlzdGVyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnMzUnLFxyXG4gICAgbmFtZTogJ0RlbGliZXJhemlvbmUgKG5hei4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc0NycsXHJcbiAgICBuYW1lOiAnRGV0ZXJtaW5hemlvbmUgKG5hei4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICcyNicsXHJcbiAgICBuYW1lOiAnRG9jdW1lbnRvIGRpIGNvbnN1bHRhemlvbmUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzQ4JyxcclxuICAgIG5hbWU6ICdMZWdnZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNDInLFxyXG4gICAgbmFtZTogJ0xldHRlcmEgQ2lyY29sYXJlIChDb21pdGF0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzQzJyxcclxuICAgIG5hbWU6ICdMZXR0ZXJhIENpcmNvbGFyZSBNaW5pc3RlcmlhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzU2JyxcclxuICAgIG5hbWU6ICdOb3RhIE1pbmlzdGVyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnOTEnLFxyXG4gICAgbmFtZTogJ09yZGluYW56YSBDb21taXNzYXJpYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc4MicsXHJcbiAgICBuYW1lOiAnT3JkaW5hbnphIFByZXMuIENvbnMuIE1pbmlzdHJpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc1NycsXHJcbiAgICBuYW1lOiAnT3JkaW5hbnphIE1pbmlzdGVyaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNzYnLFxyXG4gICAgbmFtZTogJ1Byb3Z2ZWRpbWVudG8gKG5hei4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc2NicsXHJcbiAgICBuYW1lOiAnUmVnaW8gRGVjcmV0bycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xOJyxcclxuICAgIHZhbHVlOiAnNjcnLFxyXG4gICAgbmFtZTogJ1JlZ2lvIERlY3JldG8gTGVnZ2UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzY4JyxcclxuICAgIG5hbWU6ICdSZWdpbyBEZWNyZXRvIExlZ2lzbGF0aXZvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTE4nLFxyXG4gICAgdmFsdWU6ICc3MScsXHJcbiAgICBuYW1lOiAnU3RhdHV0byBkZWxsZSBSZWdpb25pIE9yZGluYXJpZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xDJyxcclxuICAgIHZhbHVlOiAnMicsXHJcbiAgICBuYW1lOlxyXG4gICAgICAnQWNjb3JkaSAgQ0VFL0NFL1VFIGNvbiBTdGF0aSB0ZXJ6aSBvIGFsdHJpIHNvZ2dldHRpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICc3JyxcclxuICAgIG5hbWU6ICdBdHRpIGRpdmVyc2kgQ0VFL1VFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICc5MicsXHJcbiAgICBuYW1lOiAnQ29tdW5pY2F6aW9uZSBDRScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xDJyxcclxuICAgIHZhbHVlOiAnODcnLFxyXG4gICAgbmFtZTogJ0RlY2lzaW9uZSBDRUUvQ0VFQS9DRUNBJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICczOScsXHJcbiAgICBuYW1lOiAnRGlyZXR0aXZhIENFRS9DRUVBL0NFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICc4OScsXHJcbiAgICBuYW1lOiAnUGFyZXJlIENFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICc5NScsXHJcbiAgICBuYW1lOiAnUmFjY29tYW5kYXppb25lIENFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICc2NCcsXHJcbiAgICBuYW1lOiAnUmVnb2xhbWVudG8gQ0VFL1VFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTEMnLFxyXG4gICAgdmFsdWU6ICc5NicsXHJcbiAgICBuYW1lOiAnUmlzb2x1emlvbmUgQ0UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMQycsXHJcbiAgICB2YWx1ZTogJzc4JyxcclxuICAgIG5hbWU6ICdUcmF0dGF0byBDRUUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzY5JyxcclxuICAgIG5hbWU6ICdBbHRyaSBkb2N1bWVudGkgKHJlZy4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICcxMScsXHJcbiAgICBuYW1lOiAnQ2lyY29sYXJlIFByZXMuIEdpdW50YSBSZWcuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc0NicsXHJcbiAgICBuYW1lOiBcIkNpcmNvbGFyZSBkZWxsJ0Fzc2Vzc29yZVwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzgzJyxcclxuICAgIG5hbWU6ICdDaXJjb2xhcmUgcmVnLicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xSJyxcclxuICAgIHZhbHVlOiAnNzAnLFxyXG4gICAgbmFtZTogJ0NvbXVuaWNhdG8gKHJlZy4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc4MCcsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBkZWwgRGlyaWdlbnRlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICcyNCcsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBQcmVzLiBHaXVudGEgUHJvdi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzIzJyxcclxuICAgIG5hbWU6ICdEZWNyZXRvIFByZXMuIEdpdW50YSBSZWcuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICcxOScsXHJcbiAgICBuYW1lOiBcIkRlY3JldG8gZGVsbCdBc3Nlc3NvcmUgUmVnaW9uYWxlXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xSJyxcclxuICAgIHZhbHVlOiAnMzEnLFxyXG4gICAgbmFtZTogJ0RlbGliLiBDb25zaWdsaW8gUHJvdi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzM2JyxcclxuICAgIG5hbWU6ICdEZWxpYi4gQ29uc2lnbGlvIFJlZy4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzM3JyxcclxuICAgIG5hbWU6ICdEZWxpYi4gR2l1bnRhIFByb3YuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICczOCcsXHJcbiAgICBuYW1lOiAnRGVsaWIuIEdpdW50YSBSZWcuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc4MScsXHJcbiAgICBuYW1lOiAnRGV0ZXJtaW5hemlvbmUgZGVsIERpcmlnZW50ZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xSJyxcclxuICAgIHZhbHVlOiAnMTInLFxyXG4gICAgbmFtZTogJ0RpcmV0dGl2YSAocmVnLiknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzQ5JyxcclxuICAgIG5hbWU6ICdMZWdnZSBQcm92LiBBdXQuJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc1MCcsXHJcbiAgICBuYW1lOiAnTGVnZ2UgUmVnaW9uYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc1MScsXHJcbiAgICBuYW1lOiAnTGluZWUgZ3VpZGEgKHJlZy4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc5JyxcclxuICAgIG5hbWU6ICdPcmRpbmFuemEgUHJlcy4gUHJvdi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMUicsXHJcbiAgICB2YWx1ZTogJzU1JyxcclxuICAgIG5hbWU6ICdPcmRpbmFuemEgUHJlcy4gUmVnLicsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ0xSJyxcclxuICAgIHZhbHVlOiAnODUnLFxyXG4gICAgbmFtZTogJ1Byb3Z2ZWRpbWVudG8gKHJlZy4pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTFInLFxyXG4gICAgdmFsdWU6ICc2NScsXHJcbiAgICBuYW1lOiAnUmVnb2xhbWVudG8gUmVnaW9uYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnR04nLFxyXG4gICAgdmFsdWU6ICc2MycsXHJcbiAgICBuYW1lOiAnRGVjaXNpb25lJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnR04nLFxyXG4gICAgdmFsdWU6ICc0MScsXHJcbiAgICBuYW1lOiAnRGVjcmV0byBQZW5hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHTicsXHJcbiAgICB2YWx1ZTogJzU0JyxcclxuICAgIG5hbWU6ICdPcmRpbmFuemEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHTicsXHJcbiAgICB2YWx1ZTogJzYyJyxcclxuICAgIG5hbWU6ICdSaWNvcnNvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnR04nLFxyXG4gICAgdmFsdWU6ICc3MicsXHJcbiAgICBuYW1lOiAnU2VudGVuemEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHQycsXHJcbiAgICB2YWx1ZTogJzg4JyxcclxuICAgIG5hbWU6ICdPcmRpbmFuemEgQ0UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdHQycsXHJcbiAgICB2YWx1ZTogJzkwJyxcclxuICAgIG5hbWU6ICdTZW50ZW56YSBDRScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnNzMnLFxyXG4gICAgbmFtZTogJ0FsdHJpIGRvY3VtZW50aSAoRW50aSBlZCBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzQ0JyxcclxuICAgIG5hbWU6ICdDaXJjb2xhcmUgKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICcyMCcsXHJcbiAgICBuYW1lOiAnQ29tdW5pY2F0byAgKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc2MCcsXHJcbiAgICBuYW1lOiAnRGVjcmV0byAoRW50aSBlZCBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzQwJyxcclxuICAgIG5hbWU6ICdEZWxpYmVyYSAoRW50aSBlZCBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzUzJyxcclxuICAgIG5hbWU6ICdGYXNjaWNvbG8gKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc0NScsXHJcbiAgICBuYW1lOiAnSXN0cnV6aW9uZSBUZWNuaWNhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc1OScsXHJcbiAgICBuYW1lOiAnTGV0dGVyYSBDaXJjb2xhcmUgKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc3OScsXHJcbiAgICBuYW1lOiAnTGluZWUgZ3VpZGEgKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc5OCcsXHJcbiAgICBuYW1lOiAnTm9ybWEgVGVjbmljYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnOTcnLFxyXG4gICAgbmFtZTogJ09wdXNjb2xvIFRlY25pY28nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzc3JyxcclxuICAgIG5hbWU6ICdQdWJibGljYXppb25lIChFbnRpIGVkIElzdGl0dXRpKScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnODYnLFxyXG4gICAgbmFtZTogJ1F1YWRlcm5vJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc1MicsXHJcbiAgICBuYW1lOiAnUmVnb2xhbWVudG8gKEVudGkgZWQgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnVE4nLFxyXG4gICAgdmFsdWU6ICc4NCcsXHJcbiAgICBuYW1lOiAnSXN0cnV6aW9uZSBPcGVyYXRpdmEgKEVudGkgZSBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzk0JyxcclxuICAgIG5hbWU6ICdOb3RhIChFbnRpIGUgSXN0aXR1dGkpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnTkknLFxyXG4gICAgdmFsdWU6ICcxMDQnLFxyXG4gICAgbmFtZTogJ1JlZ29sYW1lbnRvIFVORUNFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhcmVudFZhbHVlOiAnU04nLFxyXG4gICAgdmFsdWU6ICcxMDUnLFxyXG4gICAgbmFtZTogJ0RvY3VtZW50bycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXJlbnRWYWx1ZTogJ1ROJyxcclxuICAgIHZhbHVlOiAnMTA2JyxcclxuICAgIG5hbWU6ICdEaXJldHRpdmEgKEVudGkgZSBJc3RpdHV0aSknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUTicsXHJcbiAgICB2YWx1ZTogJzc0JyxcclxuICAgIG5hbWU6ICdQcmFzc2kgZGkgcmlmZXJpbWVudG8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzE2JyxcclxuICAgIG5hbWU6ICdMaW5lZSBndWlkYSAobmF6LiknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdMTicsXHJcbiAgICB2YWx1ZTogJzMnLFxyXG4gICAgbmFtZTogJ0RpcmV0dGl2YSAobmF6LiknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGFyZW50VmFsdWU6ICdUSScsXHJcbiAgICB2YWx1ZTogJzEwNycsXHJcbiAgICBuYW1lOiAnTm9ybWF0aXZhIFRlY25pY2EgSW50ZXJuYXppb25hbGUnLFxyXG4gIH0sXHJcbl1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyQXV0aG9yczogU2VjdG9ySW5mb1tdID0gW1xyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSQUInLFxyXG4gICAgbmFtZTogJ0FicnV6em8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJCQScsXHJcbiAgICBuYW1lOiAnQmFzaWxpY2F0YScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UkNBTCcsXHJcbiAgICBuYW1lOiAnQ2FsYWJyaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJDQU0nLFxyXG4gICAgbmFtZTogJ0NhbXBhbmlhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSRU0nLFxyXG4gICAgbmFtZTogJ0VtaWxpYSBSb21hZ25hJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSRlZHJyxcclxuICAgIG5hbWU6ICdGcml1bGkgVmVuZXppYSBHaXVsaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJMQScsXHJcbiAgICBuYW1lOiAnTGF6aW8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJMSScsXHJcbiAgICBuYW1lOiAnTGlndXJpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UkxPJyxcclxuICAgIG5hbWU6ICdMb21iYXJkaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJNQScsXHJcbiAgICBuYW1lOiAnTWFyY2hlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSTU8nLFxyXG4gICAgbmFtZTogJ01vbGlzZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UlBJJyxcclxuICAgIG5hbWU6ICdQaWVtb250ZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UlBVJyxcclxuICAgIG5hbWU6ICdQdWdsaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJTQScsXHJcbiAgICBuYW1lOiAnU2FyZGVnbmEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJTSScsXHJcbiAgICBuYW1lOiAnU2ljaWxpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UlRPJyxcclxuICAgIG5hbWU6ICdUb3NjYW5hJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSVEFBJyxcclxuICAgIG5hbWU6ICdUcmVudGlubyBUcmVudGlubyBBbHRvIEFkaWdlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRSVU0nLFxyXG4gICAgbmFtZTogJ1VtYnJpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0xSJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc0UlZBJyxcclxuICAgIG5hbWU6IFwiVmFsbGUgRCdBb3N0YVwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFJWRScsXHJcbiAgICBuYW1lOiAnVmVuZXRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnTFInLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzRQQUInLFxyXG4gICAgbmFtZTogJ1Byb3YuIEF1dG9ub21hIGRpIEJvbHphbm8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdMUicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNFBBVCcsXHJcbiAgICBuYW1lOiAnUHJvdi4gQXV0b25vbWEgZGkgVHJlbnRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnVE4nLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8JyxcclxuICAgIHZhbHVlOiAnNkNFSScsXHJcbiAgICBuYW1lOiAnQy5FLkkuIC0gQ29taXRhdG8gRWxldHRyb3RlY25pY28gSXRhbGlhbm8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdUTicsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXwnLFxyXG4gICAgdmFsdWU6ICc2Q05SJyxcclxuICAgIG5hbWU6ICdDLk4uUi4gLSBDb25zaWdsaW8gTmF6aW9uYWxlIGRlbGxlIFJpY2VyY2hlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnVE4nLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8JyxcclxuICAgIHZhbHVlOiAnNkVOUEknLFxyXG4gICAgbmFtZTogJ0UuTi5QLkkuIC0gRW50ZSBOYXppb25hbGUgUHJldmVuemlvbmUgSW5mb3J0dW5pJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnVE4nLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8JyxcclxuICAgIHZhbHVlOiAnNklOQUknLFxyXG4gICAgbmFtZTpcclxuICAgICAgJ0kuTi5BLkkuTC4gLSBJc3RpdHV0byBuYXppb25hbGUgQXNzaWN1cmF6aW9uZSBJbmZvcnR1bmkgc3VsIExhdm9ybycsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ1ROJyxcclxuICAgIGNoYW5uZWxzOiAnfExBfCcsXHJcbiAgICB2YWx1ZTogJzZJU1BTJyxcclxuICAgIG5hbWU6XHJcbiAgICAgICdJLlMuUC5FLlMuTC4gLSBJc3RpdHV0byBTdXBlcmlvcmUgcGVyIGxhIFByZXZlbnppb25lIGUgbGEgU2ljdXJlenphIGRlbCBMYXZvcm8nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdUTicsXHJcbiAgICBjaGFubmVsczogJ3xMQXwnLFxyXG4gICAgdmFsdWU6ICc2SU5QUycsXHJcbiAgICBuYW1lOiAnSS5OLlAuUy4gLSBJc3RpdHV0byBOYXppb25hbGUgUHJldmlkZW56YSBTb2NpYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnVE4nLFxyXG4gICAgY2hhbm5lbHM6ICd8TEF8U0F8JyxcclxuICAgIHZhbHVlOiAnNklTUycsXHJcbiAgICBuYW1lOiAnSS5TLlMuIC0gSXN0aXR1dG8gU3VwZXJpb3JlIGRpIFNhbml0w6AnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdUTicsXHJcbiAgICBjaGFubmVsczogJ3xMQXxTQXwnLFxyXG4gICAgdmFsdWU6ICc2VU5JJyxcclxuICAgIG5hbWU6ICdVLk4uSS4gLSBFbnRlIE5hemlvbmFsZSBJdGFsaWFubyBkaSBVbmlmaWNhemlvbmUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUNDJyxcclxuICAgIG5hbWU6ICdDb3J0ZSBDb3N0aXR1emlvbmFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0NDJyxcclxuICAgIG5hbWU6ICdDb3J0ZSBkaSBDYXNzYXppb25lIENpdmlsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0NQJyxcclxuICAgIG5hbWU6ICdDb3J0ZSBkaSBDYXNzYXppb25lIFBlbmFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0FTQScsXHJcbiAgICBuYW1lOiBcIkNvcnRlIGQnQXNzaXNlIGQnQXBwZWxsb1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUNBUycsXHJcbiAgICBuYW1lOiBcIkNvcnRlIGQnQXNzaXNlXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0EnLFxyXG4gICAgbmFtZTogXCJDb3J0ZSBkJ0FwcGVsbG9cIixcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVQQ0EnLFxyXG4gICAgbmFtZTogXCJQcm9jdXJhIEdlbmVyYWxlIENvcnRlIGQnQXBwZWxsb1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUdEUCcsXHJcbiAgICBuYW1lOiAnR2l1ZGljZSBkaSBQYWNlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVQUicsXHJcbiAgICBuYW1lOiAnUHJvY3VyYSBkZWxsYSBSZXB1YmJsaWNhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVUJyxcclxuICAgIG5hbWU6ICdUcmlidW5hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNVAnLFxyXG4gICAgbmFtZTogJ1ByZXR1cmEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUNEUycsXHJcbiAgICBuYW1lOiAnQ29uc2lnbGlvIGRpIFN0YXRvJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVUQVInLFxyXG4gICAgbmFtZTogJ1RyaWJ1bmFsZSBBbW1pbmlzdHJhdGl2byBSZWdpb25hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNVRTQScsXHJcbiAgICBuYW1lOiAnVHJpYnVuYWxlIFN1cGVyaW9yZSBkZWxsZSBBY3F1ZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1VEdBJyxcclxuICAgIG5hbWU6ICdUcmlidW5hbGUgUmVnaW9uYWxlIGFjcXVlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHNlY3RvcklkOiAnR04nLFxyXG4gICAgY2hhbm5lbHM6IG51bGwsXHJcbiAgICB2YWx1ZTogJzVDVFAnLFxyXG4gICAgbmFtZTogJ0NvbW1pc3Npb25lIFRyaWJ1dGFyaWEgUHJvdmluY2lhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUNUUicsXHJcbiAgICBuYW1lOiAnQ29tbWlzc2lvbmUgVHJpYnV0YXJpYSBSZWdpb25hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHTicsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnNUNHQVMnLFxyXG4gICAgbmFtZTogJ0NvbnMuIGRpIEdpdXN0aXppYSBBbW0udmEgZGVsbGEgU2ljaWxpYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dOJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICc1Q0RDJyxcclxuICAgIG5hbWU6ICdDb3J0ZSBkZWkgQ29udGknLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHQycsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnM0NKQ0UnLFxyXG4gICAgbmFtZTogJ0NvcnRlIGRpIEdpdXN0aXppYSBDRUUvQ0UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHQycsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnM0NFRE0nLFxyXG4gICAgbmFtZTogXCJDb3J0ZSBFdXJvcGVhIHBlciBpIERpcml0dGkgZGVsbCdVb21vXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzZWN0b3JJZDogJ0dDJyxcclxuICAgIGNoYW5uZWxzOiBudWxsLFxyXG4gICAgdmFsdWU6ICczQ1dKJyxcclxuICAgIG5hbWU6ICdDb3J0ZSBJbnRlcm5hemlvbmFsZSBkaSBHaXVzdGl6aWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgc2VjdG9ySWQ6ICdHQycsXHJcbiAgICBjaGFubmVsczogbnVsbCxcclxuICAgIHZhbHVlOiAnM1QxQ0UnLFxyXG4gICAgbmFtZTogJ1RyaWJ1bmFsZSBkaSBQcmltbyBHcmFkbyBDRUUvQ0UnLFxyXG4gIH0sXHJcbl1cclxuXHJcbmV4cG9ydCBjb25zdCBDbGlwcGVyU291cmNlczogTmFtZVZhbHVlSXRlbTxzdHJpbmc+W10gPSBbXHJcbiAge1xyXG4gICAgdmFsdWU6ICdBQ0NNTCcsXHJcbiAgICBuYW1lOiAnQWNjb3JkaSBNdWx0aWxhdGVyYWxpJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnQUVFRycsXHJcbiAgICBuYW1lOiBcIlNpdG8gQXV0b3JpdMOgIHBlciBsJ0VuZXJnaWEgRWxldHRyaWNhLCBpbCBHYXMgZSBpbCBTaXN0ZW1hIElkcmljb1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdBUkVSQScsXHJcbiAgICBuYW1lOiAnU2l0byBBdXRvcml0w6AgZGkgUmVnb2xhemlvbmUgcGVyIEVuZXJnaWEsIFJldGkgZSBBbWJpZW50ZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0JVUicsXHJcbiAgICBuYW1lOiAnQm9sbGV0dGlubyBVZmYuIFJlZ2lvbmUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdCVVMnLFxyXG4gICAgbmFtZTogJ1N1cHBsLiBzcGVjaWFsZSBhbCBCb2xsZXR0aW5vIFVmZi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdCVVNPJyxcclxuICAgIG5hbWU6ICdTdXBwbC4gb3JkaW4uIGFsIEJvbGxldHRpbm8gVWZmLicsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0JVU1MnLFxyXG4gICAgbmFtZTogJ1N1cHBsLiBzdHJhb3JkLiBhbCBCb2xsZXR0aW5vIFVmZi4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVScsXHJcbiAgICBuYW1lOiAnR2F6emV0dGEgIFVmZmljaWFsZSBJdGFsaWFuYScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0dVQ0MnLFxyXG4gICAgbmFtZTogJ0dhenouIFVmZi4gQ29ydGUgQ29zdGl0dXppb25hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVUNFJyxcclxuICAgIG5hbWU6ICdHYXp6ZXR0YSB1ZmZpY2lhbGUgZGVsbGUgQ29tdW5pdMOgIGV1cm9wZWUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVUVTJyxcclxuICAgIG5hbWU6ICdHYXp6LiBVZmYuIEVkaXouIFNwZWNpYWxlJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnR1VSUycsXHJcbiAgICBuYW1lOiAnR2F6ei4gVWZmLiBSZWdpb25lIFNpY2lsaWEnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVVMnLFxyXG4gICAgbmFtZTogJ0dhenouIFVmZi4gU2VyaWUgU3BlY2lhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVVNPJyxcclxuICAgIG5hbWU6ICdTdXBwbC4gb3JkaW4uIGFsbGEgIEdhenpldHRhIFVmZmljaWFsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ0dVU1MnLFxyXG4gICAgbmFtZTogJ1N1cHBsLiBzdHJhb3JkLiBhbGxhICBHYXp6ZXR0YSBVZmZpY2lhbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdHVVVFJyxcclxuICAgIG5hbWU6ICdHYXp6ZXR0YSB1ZmZpY2lhbGUgZGVsbOKAmVVuaW9uZSBldXJvcGVhJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHZhbHVlOiAnTUFDJyxcclxuICAgIG5hbWU6ICdNYXNzaW1hcmlvIENpdmlsZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB2YWx1ZTogJ01BUCcsXHJcbiAgICBuYW1lOiAnTWFzc2ltYXJpbyBQZW5hbGUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdmFsdWU6ICdOT05FJyxcclxuICAgIG5hbWU6ICdGb250aSBkaXZlcnNlJyxcclxuICB9XHJcbl1cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoUGFyYW1zIHtcclxuICBzZWFyY2hJZD86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHNlYXJjaE5hbWU/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICB0ZXh0Pzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgdGl0bGU/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICB0aXRsZU9ubHk/OiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG4gIHNob3dVbnJlYWREb2N1bWVudHNPbmx5PzogYm9vbGVhbiB8IG51bGwgPSBmYWxzZTtcclxuICBzaG93Q29tbWVudGVkRG9jdW1lbnRzT25seT86IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcbiAgbnVtYmVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgZnJvbURhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgdG9EYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIHllYXI/OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBzb3VyY2VOdW1iZXI/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBzb3VyY2U/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBzb3VyY2VGcm9tRGF0ZT86IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBzb3VyY2VUb0RhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgc291cmNlWWVhcj86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHNlY3Rvcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHNlY3RvcnM/OiBTZWN0b3JJbmZvW10gfCBudWxsID0gbnVsbDtcclxuICB0b3BpYz86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHRheG9ub215Pzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgdGF4b25vbXlQYXRoPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgdGF4b25vbXlOb2RlPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgdHlwZT86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGF1dGhvcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGF1dGhvcnM/OiBOYW1lVmFsdWVJdGVtPHN0cmluZz5bXSB8IG51bGwgPSBudWxsO1xyXG4gIGNoYW5nZVJlYXNvbj86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIGNoYW5nZWROdW1iZXI/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBjaGFuZ2VkWWVhcj86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIGNoYW5nZWRUaXRsZT86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIG1vZGlmaWVyTnVtYmVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kaWZpZXJZZWFyPzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kaWZpZXJUaXRsZT86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIG1vZGVsPzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kdWxlPzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kZT86IENsaXBwZXJRdWVyeVJlZmVyZW5jZXNNb2RlIHwgbnVsbCA9IG51bGw7XHJcbiAgY2hhbm5lbHM/OiBOYW1lVmFsdWVJdGVtPHN0cmluZz5bXSB8IG51bGwgPSBbLi4uQ2xpcHBlckNoYW5uZWxzXTtcclxuICBjb3VudD86IG51bWJlciB8IG51bGwgPSAxNTtcclxuICBpZD86IHN0cmluZ3wgbnVsbCA9IG51bGw7ICBcclxuICBhbmNob3I/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBleGNsdWRlVGV4dFJlZmVyZW5jZXM/OiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG4gIGV4Y2x1ZGVOb3Rlc1JlZmVyZW5jZXM/OiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xyXG4gIHVzZU1vZGlmaWVySW5mbz86IGJvb2xlYW4gIHwgbnVsbCA9IGZhbHNlO1xyXG4gIHJldHVybk1vZGlmaWVySW5mbz86IGJvb2xlYW4gfCBudWxsID0gZmFsc2U7XHJcbiAgZmlyc3Q/OiBudW1iZXIgfCBudWxsID0gMDtcclxuICBzb3J0TW9kZT86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gYSB2YWxpZCBDbGlwcGVyUmVmZXJlbmNlc1NlYXJjaFBhcmFtc1xyXG4gICAqIEByZXR1cm5zIGEgQ2xpcHBlclJlZmVyZW5jZXNTZWFyY2hQYXJhbXMgb2JqZWN0XHJcbiAgICovXHJcbiAgdG9SZWZlcmVuY2VzU2VhcmNoUGFyYW1zKCk6IENsaXBwZXJSZWZlcmVuY2VzU2VhcmNoUGFyYW1zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGRvY3VtZW50SWQ6IHRoaXMuaWQsXHJcbiAgICAgIHllYXI6IHRoaXMueWVhcixcclxuICAgICAgc2VjdG9yOiB0aGlzLnNlY3RvcixcclxuICAgICAgYXV0aG9yOiB0aGlzLmF1dGhvcixcclxuICAgICAgYW5jaG9yOiB0aGlzLmFuY2hvcixcclxuICAgICAgbW9kZWw6IHRoaXMubW9kZWwsXHJcbiAgICAgIG1vZGU6IHRoaXMubW9kZSxcclxuICAgICAgZXhjbHVkZVRleHRSZWZlcmVuY2VzOiB0aGlzLmV4Y2x1ZGVUZXh0UmVmZXJlbmNlcyxcclxuICAgICAgZXhjbHVkZU5vdGVzUmVmZXJlbmNlczogdGhpcy5leGNsdWRlTm90ZXNSZWZlcmVuY2VzLFxyXG4gICAgICByZXR1cm5Nb2RpZmllckluZm86IHRoaXMucmV0dXJuTW9kaWZpZXJJbmZvLFxyXG4gICAgICB1c2VNb2RpZmllckluZm86IHRoaXMudXNlTW9kaWZpZXJJbmZvLFxyXG4gICAgICBjb3VudDogMTUsXHJcbiAgICAgIGZpcnN0OiAwXHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyUmVmZXJlbmNlc1NlYXJjaFBhcmFtcyB7XHJcbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xyXG4gIHllYXI/OiBudW1iZXIgfCBudWxsO1xyXG4gIHNlY3Rvcj86IHN0cmluZyB8IG51bGw7XHJcbiAgYXV0aG9yPzogc3RyaW5nIHwgbnVsbDtcclxuICBhbmNob3I/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG1vZGVsPzogbnVtYmVyIHwgbnVsbDtcclxuICBtb2RlPzogQ2xpcHBlclF1ZXJ5UmVmZXJlbmNlc01vZGUgfCBudWxsO1xyXG4gIGV4Y2x1ZGVUZXh0UmVmZXJlbmNlcz86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGV4Y2x1ZGVOb3Rlc1JlZmVyZW5jZXM/OiBib29sZWFuIHwgbnVsbDtcclxuICB1c2VNb2RpZmllckluZm8/OiBib29sZWFuICB8IG51bGw7XHJcbiAgcmV0dXJuTW9kaWZpZXJJbmZvPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgY291bnQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIGZpcnN0PzogbnVtYmVyIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IENsaXBwZXJEb2N1bWVudENoYW5nZVJlYXNvbjogTmFtZVZhbHVlSXRlbTxudW1iZXI+W10gPSBbXHJcbiAgeyBuYW1lOiAnQWJyb2dhemlvbmUnLCB2YWx1ZTogMSB9LFxyXG4gIHsgbmFtZTogJ0FubnVsbGFtZW50bycsIHZhbHVlOiA1IH0sXHJcbiAgeyBuYW1lOiAnTW9kaWZpY2EnLCB2YWx1ZTogMiB9LFxyXG4gIHsgbmFtZTogJ1Nvc3RpdXppb25lJywgdmFsdWU6IDMgfSxcclxuICB7IG5hbWU6ICdTZWduYWxhemlvbmUnLCB2YWx1ZTogNiB9LFxyXG4gIHsgbmFtZTogJ1JldHRpZmljYScsIHZhbHVlOiA3IH0sXHJcbl1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlckRvY3VtZW50QW5jaG9ySW5mbyB7XHJcbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xyXG4gIHR5cGU6IG51bWJlcjtcclxuICB0eXBlRGVzY3JpcHRpb246IHN0cmluZztcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHVyaTogc3RyaW5nO1xyXG4gIG9yZGluYWw6IHN0cmluZztcclxuICBzY29yZTogbnVtYmVyO1xyXG4gIHZlcnlSZWxldmFudD86IGJvb2xlYW4gfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJEb2N1bWVudEluZGV4SW5mbyB7XHJcbiAgdHlwZTogbnVtYmVyO1xyXG4gIHR5cGVEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbiAgbGV2ZWw6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyRG9jdW1lbnRSZWxldmFudHMge1xyXG4gIGl0ZW1zOiBDbGlwcGVyRG9jdW1lbnRBbmNob3JJbmZvW107XHJcbiAgaGl0czogbnVtYmVyO1xyXG4gIGhpdDogbnVtYmVyO1xyXG4gIG1pbmltdW1TY29yZTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJEb2N1bWVudEluZm8ge1xyXG4gIGlkPzogc3RyaW5nIHwgbnVsbDtcclxuICBkb2N1bWVudElkPzogc3RyaW5nIHwgbnVsbDtcclxuICBtb2RlbD86IG51bWJlcjtcclxuICBtb2RlbE5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIG1vZHVsZT86IG51bWJlciB8IG51bGw7XHJcbiAgbW9kdWxlTmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgZ3JvdXA/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRpdGxlMj86IHN0cmluZyB8IG51bGw7XHJcbiAgdGl0bGUxPzogc3RyaW5nIHwgbnVsbDtcclxuICBudW1iZXI/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRhdGU/OiBEYXRlIHwgbnVsbDtcclxuICBwdWJsaXNoaW5nRGF0ZT86IERhdGUgfCBudWxsO1xyXG4gIHNvdXJjZU51bWJlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgc291cmNlRGF0ZT86IERhdGUgfCBudWxsO1xyXG4gIHNvdXJjZT86IHN0cmluZyB8IG51bGw7XHJcbiAgb3JpZ2luPzogc3RyaW5nIHwgbnVsbDtcclxuICBvcmlnaW5EZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgYXV0aG9yPzogc3RyaW5nIHwgbnVsbDtcclxuICBhbmNob3JzPzogQ2xpcHBlckRvY3VtZW50QW5jaG9ySW5mb1tdIHwgbnVsbDtcclxuICB0YXhvbm9teT86IHN0cmluZyB8IG51bGw7XHJcbiAgaW5mbz86IHN0cmluZyB8IG51bGw7XHJcbiAgaXNSZWFkPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNFeHBvcnRhYmxlPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNDb21tZW50ZWQ/OiBib29sZWFuIHwgbnVsbDtcclxuICBpc0p1cmlzPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNPdmVyPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNUcmlhbD86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGlzTmV3PzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNFeHBpcmVkPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgaXNFeHBpcmluZz86IGJvb2xlYW4gfCBudWxsO1xyXG4gIGlzTWVudU9wZW4/OiBib29sZWFuIHwgbnVsbDtcclxuICB2YWxpZGl0eVN0YXRlPzogbnVtYmVyIHwgbnVsbDtcclxuICB2YWxpZFVudGlsRGF0ZT86IERhdGUgfCBudWxsO1xyXG4gIHZhbGlkaXR5RGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHZhbGlkaXR5SW5mbz86IHN0cmluZyB8IG51bGw7XHJcbiAgZXhwaXJpbmdEYXRlPzogRGF0ZSB8IG51bGw7XHJcbiAgZXhwaXJpbmdEZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgZXhwaXJpbmdJbmZvPzogc3RyaW5nIHwgbnVsbDtcclxuICBwb3B1bGFyaXR5PzogbnVtYmVyIHwgbnVsbDtcclxuICBwYXJ0PzogbnVtYmVyIHwgbnVsbDtcclxuICBwcmltYXJ5SWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHByaW1hcnlEZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgcHJpbWFyeU1vZGVsPzogbnVtYmVyIHwgbnVsbDtcclxuICBoYXNQcmltYXJ5PzogYm9vbGVhbiB8IG51bGw7XHJcbiAgc2Vjb25kYXJ5SWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGJhZz86IGFueSB8IG51bGw7XHJcbiAgbGFzdFVwZGF0ZT86IERhdGUgfCBudWxsO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENsaXBwZXJTZWFyY2hSZXN1bHQge1xyXG4gIGRheXM/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBpbnRlcnZhbD86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGl0ZW1zPzogQ2xpcHBlckRvY3VtZW50SW5mb1tdIHwgbnVsbCA9IG51bGw7XHJcbiAgZmFjZXRzPzogQ2xpcHBlclNlYXJjaEZhY2V0c1NuYXBzaG90IHwgbnVsbCA9IG5ldyBDbGlwcGVyU2VhcmNoRmFjZXRzU25hcHNob3QoKTtcclxuICB0b3RhbD86IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gIHNlYXJjaEluZm8/OiBhbnkgfCBudWxsID0gbnVsbDtcclxuICBzZWFyY2hQYXJhbXM/OiBDbGlwcGVyU2VhcmNoUGFyYW1zIHwgbnVsbCA9IG5ldyBDbGlwcGVyU2VhcmNoUGFyYW1zKCk7XHJcbiAgc25hcHNob3RNb2RlPzogQ2xpcHBlclF1ZXJ5UmVmZXJlbmNlc01vZGUgfCBudWxsID0gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbGlwcGVyU2VhcmNoRmFjZXQge1xyXG4gIHR5cGU6IG51bWJlcjtcclxuICB0eXBlTmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICBjb3VudDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENsaXBwZXJTZWFyY2hGYWNldEdyb3VwIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRWYWx1ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgc2VsZWN0ZWRWYWx1ZURlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxuICB2YWx1ZXM6IENsaXBwZXJTZWFyY2hGYWNldFtdO1xyXG4gIGluZGV4OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlclNlYXJjaEZhY2V0c1Jlc3VsdCB7XHJcbiAgaW50ZXJ2YWw/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGZhY2V0cz86IENsaXBwZXJTZWFyY2hGYWNldFtdW10gfCBudWxsO1xyXG4gIHRvdGFsPzogbnVtYmVyIHwgbnVsbDtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoRmFjZXRzU25hcHNob3Qge1xyXG4gIGdyb3VwczogQ2xpcHBlclNlYXJjaEZhY2V0R3JvdXBbXSA9IFtdO1xyXG4gIHVzZWRHcm91cHM6IENsaXBwZXJTZWFyY2hGYWNldEdyb3VwW10gPSBbXTtcclxuICBoYXNGYWNldHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBoYXNNb3JlRmFjZXRzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaGFzVG9vTWFueVJlc3VsdHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWN0b3I/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBhdXRob3I/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBhbmNob3I/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICB0eXBlPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcmVhc29uPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgZnJvbURhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgdG9EYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIGludGVydmFsPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgY2hhbmdlZEludGVydmFsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2hhbmdlZFNlY3RvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNoYW5nZWRBdXRob3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGFuZ2VkQW5jaG9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2hhbmdlZFR5cGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjaGFuZ2VkUmVhc29uOiBib29sZWFuID0gZmFsc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2xpcHBlclNlYXJjaENhbGVuZGFyU25hcHNob3RNb250aCB7XHJcbiAgZGF5czogbnVtYmVyW107XHJcbiAgbW9udGhTaG9ydE5hbWU6IHN0cmluZztcclxuICBtb250aE5hbWU6IHN0cmluZztcclxuICBtb250aDogbnVtYmVyO1xyXG4gIHllYXI6IG51bWJlcjtcclxuICB0b3RhbDogbnVtYmVyO1xyXG4gIGV4cGlyZWQ6IG51bWJlcjtcclxuICBleHBpcmluZzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlclNlYXJjaENhbGVuZGFyU25hcHNob3RSZXN1bHQge1xyXG4gIG1vbnRocz86IENsaXBwZXJTZWFyY2hDYWxlbmRhclNuYXBzaG90TW9udGhbXSB8IG51bGwgPSBudWxsO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IENsaXBwZXJDb25maWc6IGFueSA9IHtcclxuICAvLyBDbGllbnQgdXJpXHJcbiAgdXJpOiBudWxsLFxyXG5cclxuICAvLyBTZXJ2aWNlIHVyaVxyXG4gIHNlcnZpY2VVcmk6IG51bGwsXHJcblxyXG4gIC8vIEdsb2JhbCBzdGF0ZVxyXG4gIGxvZ2dlZEluOiBmYWxzZSxcclxuICBsb2dpbkluZm86IG51bGxcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIENsaXBwZXJTb3J0IHtcclxuICBEZWZhdWx0ID0gMCxcclxuICBSZWxldmFuY2UgPSAxLFxyXG4gIERhdGVBc2MgPSAyLFxyXG4gIERhdGVEZXNjID0gMyxcclxuICBTb3VyY2VEYXRlQXNjID0gNCxcclxuICBTb3VyY2VEYXRlRGVzYyA9IDUsXHJcbiAgUG9wdWxhcml0eSA9IDZcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlclF1ZXJ5UmVmZXJlbmNlc01vZGUge1xyXG4gIFJlZmVyZW5jZXNJbiA9IDEsXHJcbiAgUmVmZXJlbmNlc091dCA9IDIsXHJcbiAgQ2hhbmdlc0luID0gMyxcclxuICBDaGFuZ2VzT3V0ID0gNSxcclxuICBKdXJpcyA9IDRcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ2xpcHBlckZhY2V0IHtcclxuICBTZWN0b3IgPSAxLFxyXG4gIFllYXIgPSAyLFxyXG4gIERvY3VtZW50VHlwZSA9IDMsXHJcbiAgVG9waWMgPSA0LFxyXG4gIEFydGljbGUgPSA1LFxyXG4gIEF1dGhvciA9IDYsXHJcbiAgUmVhc29uID0gOTVcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyVXRpbHMge1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gdGhlIENsaXBwZXIgZ3JvdXAgbmFtZVxyXG4gICAqIEBwYXJhbSB2YWx1ZTogdGhlIGdyb3VwIHZhbHVlIFxyXG4gICAqIEByZXR1cm5zIHRoZSBncm91cCBuYW1lXHJcbiAgICovXHJcbiAgc3RhdGljIGdldENsaXBwZXJNb2R1bGVHcm91cE5hbWUodmFsdWU6IENsaXBwZXJNb2R1bGVHcm91cCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQ2xpcHBlck1vZHVsZUdyb3Vwcy5maWx0ZXIoKG4pID0+IG4udmFsdWUgPT09IHZhbHVlKT8uWzBdLm5hbWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBvZiBhIGdyb3VwXHJcbiAgICogQHBhcmFtIHZhbHVlOiB0aGUgbW9kdWxlIG5hbWVcclxuICAgKiBAcmV0dXJucyB0aGUgbGlzdCBvZiBtb2R1bGVzXHJcbiAgICovXHJcbiAgc3RhdGljIGdldENsaXBwZXJNb2R1bGVHcm91cEl0ZW1zKHZhbHVlOiBDbGlwcGVyTW9kdWxlR3JvdXApOiBOYW1lVmFsdWVJdGVtPG51bWJlcj5bXSB7XHJcbiAgICByZXR1cm4gQ2xpcHBlck1vZHVsZXMuZmlsdGVyKChuKSA9PiBuLnBhcmVudFZhbHVlID09PSB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIHNvcnQgb3B0aW9ucyBmb3IgYSBsaXN0IG9mIG1vZHVsZXNcclxuICAgKiBAcGFyYW0gbW9kdWxlcyA6IHRoZSBtb2R1bGVzIGxpc3RcclxuICAgKiBAcmV0dXJucyB0aGUgbGlzdCBvZiBhdmFpbGJhbGUgc29ydCBvcHRpb25zIFxyXG4gICAqL1xyXG4gIHN0YXRpYyBnZXRDbGlwcGVyQXZhaWxhYmxlU29ydE9wdGlvbnMoXHJcbiAgICBtb2R1bGVzOiBOYW1lVmFsdWVJdGVtPG51bWJlcj5bXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcclxuICAgIHBhcmFtczogQ2xpcHBlclNlYXJjaFBhcmFtcyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IE5hbWVWYWx1ZUl0ZW08bnVtYmVyPltdIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IE5hbWVWYWx1ZUl0ZW08bnVtYmVyPltdID0gW1xyXG4gICAgICB7IG5hbWU6IFwiRGF0YSBkZWNyZXNjZW50ZVwiLCB2YWx1ZTogMSB9LFxyXG4gICAgICB7IG5hbWU6IFwiRGF0YSBjcmVzY2VudGVcIiwgdmFsdWU6IDIgfSxcclxuICAgICAgeyBuYW1lOiBcIkRhdGEgZm9udGUgZGVjcmVzY2VudGVcIiwgdmFsdWU6IDMgfSxcclxuICAgICAgeyBuYW1lOiBcIkRhdGEgZm9udGUgY3Jlc2NlbnRlXCIsIHZhbHVlOiA0IH0sXHJcbiAgICAgIHsgbmFtZTogXCJSaWxldmFuemFcIiwgdmFsdWU6IDUgfSxcclxuICAgICAgeyBuYW1lOiBcIlBvcG9sYXJpdMOgXCIsIHZhbHVlOiA2IH0sXHJcbiAgICBdO1xyXG4gICAgbGV0IHNvcnRPcHRpb25zOiBOYW1lVmFsdWVJdGVtPG51bWJlcj5bXSA9IFtdXHJcbiAgICBpZiAocGFyYW1zICYmIENsaXBwZXJTZWFyY2hVdGlscy5pc1RleHRRdWVyeShwYXJhbXMpKSB7XHJcbiAgICAgIHNvcnRPcHRpb25zLnB1c2gob3B0aW9uc1s0XSk7XHJcbiAgICB9XHJcbiAgICBpZiAobW9kdWxlcyAmJiBtb2R1bGVzLmxlbmd0aCA+IDAgJiYgbW9kdWxlcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgaWYgKG1vZHVsZXNbMF0udmFsdWUgPT09IENsaXBwZXJNb2R1bGUuTm9ybWF0aXZhVmlnZW50ZSkge1xyXG4gICAgICAgIHNvcnRPcHRpb25zLnB1c2gob3B0aW9uc1swXSk7XHJcbiAgICAgICAgc29ydE9wdGlvbnMucHVzaChvcHRpb25zWzFdKTtcclxuICAgICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbMl0pO1xyXG4gICAgICAgIHNvcnRPcHRpb25zLnB1c2gob3B0aW9uc1szXSk7XHJcbiAgICAgICAgc29ydE9wdGlvbnMucHVzaChvcHRpb25zWzVdKTtcclxuICAgICAgfSBlbHNlIGlmIChtb2R1bGVzWzBdLnZhbHVlID09PSBDbGlwcGVyTW9kdWxlLkdhenpldHRlQm9sbGV0dGluaUVGb250aURpdmVyc2UpIHtcclxuICAgICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbMl0pO1xyXG4gICAgICAgIHNvcnRPcHRpb25zLnB1c2gob3B0aW9uc1szXSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc29ydE9wdGlvbnMucHVzaChvcHRpb25zWzBdKTtcclxuICAgICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbMV0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbMF0pO1xyXG4gICAgICBzb3J0T3B0aW9ucy5wdXNoKG9wdGlvbnNbMV0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHNvcnRPcHRpb25zO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyU2VhcmNoVXRpbHMge1xyXG4gIC8qKlxyXG4gICAqIENsZWFyIHRoZSBzZWFyY2ggcGFyYW1zIG9iamVjdFxyXG4gICAqIEBwYXJhbSBwYXJhbXMgOiB0aGUgc2VhcmNoIHBhcmFtcyB0byBjbGVhclxyXG4gICAqL1xyXG4gIHN0YXRpYyBjbGVhcihwYXJhbXM6IENsaXBwZXJTZWFyY2hQYXJhbXMpIHtcclxuICAgIHBhcmFtcy5zZWN0b3IgPSBudWxsO1xyXG4gICAgcGFyYW1zLnNlY3RvcnMgPSBudWxsO1xyXG4gICAgcGFyYW1zLmF1dGhvciA9IG51bGw7XHJcbiAgICBwYXJhbXMuYXV0aG9ycyA9IG51bGw7XHJcbiAgICBwYXJhbXMudG9waWMgPSBudWxsO1xyXG4gICAgcGFyYW1zLnRheG9ub215ID0gbnVsbDtcclxuICAgIHBhcmFtcy50YXhvbm9teVBhdGggPSBudWxsO1xyXG4gICAgcGFyYW1zLnRheG9ub215Tm9kZSA9IG51bGw7XHJcbiAgICBwYXJhbXMubnVtYmVyID0gbnVsbDtcclxuICAgIHBhcmFtcy5mcm9tRGF0ZSA9IG51bGw7XHJcbiAgICBwYXJhbXMudG9EYXRlID0gbnVsbDtcclxuICAgIHBhcmFtcy55ZWFyID0gbnVsbDtcclxuICAgIHBhcmFtcy5zb3VyY2VOdW1iZXIgPSBudWxsO1xyXG4gICAgcGFyYW1zLnNvdXJjZSA9IG51bGw7XHJcbiAgICBwYXJhbXMuc291cmNlRnJvbURhdGUgPSBudWxsO1xyXG4gICAgcGFyYW1zLnNvdXJjZVRvRGF0ZSA9IG51bGw7XHJcbiAgICBwYXJhbXMuc291cmNlWWVhciA9IG51bGw7XHJcbiAgICBwYXJhbXMudGV4dCA9IG51bGw7XHJcbiAgICBwYXJhbXMudGl0bGVPbmx5ID0gZmFsc2U7XHJcbiAgICBwYXJhbXMudHlwZSA9IG51bGw7XHJcbiAgICBwYXJhbXMuc2hvd1VucmVhZERvY3VtZW50c09ubHkgPSBmYWxzZTtcclxuICAgIHBhcmFtcy5zaG93Q29tbWVudGVkRG9jdW1lbnRzT25seSA9IGZhbHNlO1xyXG4gICAgcGFyYW1zLmNoYW5uZWxzID0gWy4uLkNsaXBwZXJDaGFubmVsc107XHJcbiAgICBwYXJhbXMuY2hhbmdlUmVhc29uID0gbnVsbDtcclxuICAgIHBhcmFtcy5jaGFuZ2VkTnVtYmVyID0gbnVsbDtcclxuICAgIHBhcmFtcy5jaGFuZ2VkWWVhciA9IG51bGw7XHJcbiAgICBwYXJhbXMuY2hhbmdlZFRpdGxlID0gbnVsbDtcclxuICAgIHBhcmFtcy5tb2RpZmllck51bWJlciA9IG51bGw7XHJcbiAgICBwYXJhbXMubW9kaWZpZXJZZWFyID0gbnVsbDtcclxuICAgIHBhcmFtcy5tb2RpZmllclRpdGxlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZXBhcmUgdGhlIG1vZHVsZSBzcGVjaWZpYyBxdWVyeVxyXG4gICAqIEBwYXJhbSBwYXJhbXMgOiB0aGUgc2VhcmNoIHBhcmFtcyB0byB1c2VcclxuICAgKiBAcGFyYW0gbW9kdWxlIDogdGhlIG1vZHVsZSB0byBwcmVwYXJlIHRoZSBzZWFyY2ggcGFyYW1zIGZvclxyXG4gICAqIEByZXR1cm5zIHRoZSBuZXcgc2VhcmNoIHBhcmFtc1xyXG4gICAqL1xyXG4gIHN0YXRpYyBwcmVwYXJlKHBhcmFtczogQ2xpcHBlclNlYXJjaFBhcmFtcywgbW9kdWxlOiBDbGlwcGVyTW9kdWxlKTogQ2xpcHBlclNlYXJjaFBhcmFtcyB7XHJcbiAgICBsZXQgbW9kdWxlUGFyYW1zOiBDbGlwcGVyU2VhcmNoUGFyYW1zID0gbmV3IENsaXBwZXJTZWFyY2hQYXJhbXMoKTtcclxuICAgIG1vZHVsZVBhcmFtcy5jaGFubmVscyA9IHBhcmFtcy5jaGFubmVscztcclxuICAgIG1vZHVsZVBhcmFtcy50ZXh0ID0gcGFyYW1zLnRleHQ7XHJcbiAgICBtb2R1bGVQYXJhbXMudGl0bGVPbmx5ID0gcGFyYW1zLnRpdGxlT25seTtcclxuICAgIG1vZHVsZVBhcmFtcy5maXJzdCA9IHBhcmFtcy5maXJzdDtcclxuICAgIG1vZHVsZVBhcmFtcy5jb3VudCA9IHBhcmFtcy5jb3VudDtcclxuICAgIG1vZHVsZVBhcmFtcy5zb3J0TW9kZSA9IHBhcmFtcy5zb3J0TW9kZTtcclxuICAgIHN3aXRjaCAobW9kdWxlKSB7XHJcbiAgICAgIGNhc2UgQ2xpcHBlck1vZHVsZS5TY2FkZW56ZUVTZWduYWxhemlvbmk6XHJcbiAgICAgIGNhc2UgQ2xpcHBlck1vZHVsZS5RdWVzaXRpRUNhc2lSaXNvbHRpOlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENsaXBwZXJNb2R1bGUuTmV3czpcclxuICAgICAgY2FzZSBDbGlwcGVyTW9kdWxlLkFsbGVydGVBbGltZW50YXJpOlxyXG4gICAgICAgIG1vZHVsZVBhcmFtcy5mcm9tRGF0ZSA9IHBhcmFtcy5mcm9tRGF0ZTtcclxuICAgICAgICBtb2R1bGVQYXJhbXMudG9EYXRlID0gcGFyYW1zLnRvRGF0ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDbGlwcGVyTW9kdWxlLkdhenpldHRlQm9sbGV0dGluaUVGb250aURpdmVyc2U6XHJcbiAgICAgIGNhc2UgQ2xpcHBlck1vZHVsZS5Ob3JtYXRpdmFWaWdlbnRlOlxyXG4gICAgICAgIG1vZHVsZVBhcmFtcy5zZWN0b3IgPSBwYXJhbXMuc2VjdG9yO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy5zZWN0b3JzID0gcGFyYW1zLnNlY3RvcnM7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLmF1dGhvciA9IHBhcmFtcy5hdXRob3I7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLmF1dGhvcnMgPSBwYXJhbXMuYXV0aG9ycztcclxuICAgICAgICBtb2R1bGVQYXJhbXMudHlwZSA9IHBhcmFtcy50eXBlO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy50b3BpYyA9IHBhcmFtcy50b3BpYztcclxuICAgICAgICBtb2R1bGVQYXJhbXMubnVtYmVyID0gcGFyYW1zLm51bWJlcjtcclxuICAgICAgICBtb2R1bGVQYXJhbXMueWVhciA9IHBhcmFtcy55ZWFyO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy5mcm9tRGF0ZSA9IHBhcmFtcy5mcm9tRGF0ZTtcclxuICAgICAgICBtb2R1bGVQYXJhbXMudG9EYXRlID0gcGFyYW1zLnRvRGF0ZTtcclxuICAgICAgICBtb2R1bGVQYXJhbXMuc2hvd0NvbW1lbnRlZERvY3VtZW50c09ubHkgPSBwYXJhbXMuc2hvd0NvbW1lbnRlZERvY3VtZW50c09ubHk7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLnNvdXJjZSA9IHBhcmFtcy5zb3VyY2U7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLnNvdXJjZU51bWJlciA9IHBhcmFtcy5zb3VyY2VOdW1iZXI7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLnNvdXJjZVllYXIgPSBwYXJhbXMuc291cmNlWWVhcjtcclxuICAgICAgICBtb2R1bGVQYXJhbXMuc291cmNlRnJvbURhdGUgPSBwYXJhbXMuc291cmNlRnJvbURhdGU7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLnNvdXJjZVRvRGF0ZSA9IHBhcmFtcy5zb3VyY2VUb0RhdGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ2xpcHBlck1vZHVsZS5HaXVyaXNwcnVkZW56YTpcclxuICAgICAgICBtb2R1bGVQYXJhbXMuc2VjdG9yID0gcGFyYW1zLnNlY3RvcjtcclxuICAgICAgICBtb2R1bGVQYXJhbXMuc2VjdG9ycyA9IHBhcmFtcy5zZWN0b3JzO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy5udW1iZXIgPSBwYXJhbXMubnVtYmVyO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy55ZWFyID0gcGFyYW1zLnllYXI7XHJcbiAgICAgICAgbW9kdWxlUGFyYW1zLmZyb21EYXRlID0gcGFyYW1zLmZyb21EYXRlO1xyXG4gICAgICAgIG1vZHVsZVBhcmFtcy50b0RhdGUgPSBwYXJhbXMudG9EYXRlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1vZHVsZVBhcmFtcztcclxuXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjdXJyZW50IGZpbHRlciBpcyBhIHRleHQgYmFzZWQgc2VhcmNoIFxyXG4gICAqIEBwYXJhbSBwYXJhbXMgOiB0aGUgc2VhcmNoIHBhcmFtcyB0byBjaGVja1xyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgaXMgYSB0ZXh0IGJhc2VkIHNlYXJjaFxyXG4gICAqL1xyXG4gIHN0YXRpYyBpc1RleHRRdWVyeShwYXJhbXM6IENsaXBwZXJTZWFyY2hQYXJhbXMpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBwYXJhbXMudGV4dCAhPSBudWxsICYmIHBhcmFtcy50ZXh0Py5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJ5IHRvIGFkZCBhIHF1ZXJ5XHJcbiAgICogQHBhcmFtIHEgOiB0aGUgbmV3IHF1ZXJ5XHJcbiAgICogQHBhcmFtIHF1ZXJpZXMgOiB0aGUgbmV3IHF1ZXJ5XHJcbiAgICAgICAgICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGNvbmNhdFRleHRRdWVyeShxOiBzdHJpbmcsIHF1ZXJpZXM6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAocSAmJiBxLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHF1ZXJpZXMubGVuZ3RoID09IDAgJiYgKHFbMF0gPT09ICcrJyB8fCBxWzBdID09PSAnLScpKVxyXG4gICAgICAgIHEgPSBxLnN1YnN0cmluZygxKTtcclxuICAgICAgaWYgKHFbcS5sZW5ndGggLSAxXSAhPT0gJ1xcXCInICYmIHEuaW5kZXhPZignICcpICE9PSAtMSlcclxuICAgICAgICBxID0gXCJcXFwiXCIgKyBxICsgXCJcXFwiXCI7XHJcbiAgICAgIGlmIChxdWVyaWVzLmxlbmd0aCA+IDApIHF1ZXJpZXMgKz0gXCIsIFwiO1xyXG4gICAgICBxdWVyaWVzICs9IHE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcXVlcmllcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE5vcm1hbGl6ZSB0ZXh0IHF1ZXJ5XHJcbiAgICogQHBhcmFtIHRleHQgOiB0aGUgdGV4dCBxdWVyeSB0byBub3JtYWxpemVcclxuICAgKiBAcmV0dXJucyA6IHRoZSB0ZXh0IG5vcm1hbGl6ZWQgb3IgbnVsbFxyXG4gICAqL1xyXG4gIHN0YXRpYyBub3JtYWxpemVUZXh0UXVlcnkodGV4dDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBpZiAoIXRleHQgfHwgdGV4dC5sZW5ndGggPT09IDApIHJldHVybiBudWxsO1xyXG4gICAgbGV0IHE6IHN0cmluZyA9ICcnO1xyXG4gICAgbGV0IHF1ZXJpZXM6IHN0cmluZyA9ICcnO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXh0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICh0ZXh0W2ldID09PSAnLCcpIHtcclxuICAgICAgICBxdWVyaWVzID0gdGhpcy5jb25jYXRUZXh0UXVlcnkocS50cmltKCksIHF1ZXJpZXMpO1xyXG4gICAgICAgIHEgPSAnJztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHEgKz0gdGV4dFtpXTtcclxuICAgIH1cclxuICAgIHF1ZXJpZXMgPSB0aGlzLmNvbmNhdFRleHRRdWVyeShxLnRyaW0oKSwgcXVlcmllcyk7XHJcbiAgICByZXR1cm4gcXVlcmllcztcclxuICB9XHJcbn0iXX0=
@@ -1325,6 +1325,8 @@ class ClipperSearchParams {
1325
1325
  mode: this.mode,
1326
1326
  excludeTextReferences: this.excludeTextReferences,
1327
1327
  excludeNotesReferences: this.excludeNotesReferences,
1328
+ returnModifierInfo: this.returnModifierInfo,
1329
+ useModifierInfo: this.useModifierInfo,
1328
1330
  count: 15,
1329
1331
  first: 0
1330
1332
  };
@@ -1 +1 @@
1
- {"version":3,"file":"arsedizioni-ars-utils-clipper.common.mjs","sources":["../../../projects/ars-utils/clipper.common/common/definitions.ts","../../../projects/ars-utils/clipper.common/common/messages.ts","../../../projects/ars-utils/clipper.common/common/services/clipper.service.ts","../../../projects/ars-utils/clipper.common/common/interceptors/auth.interceptor.ts","../../../projects/ars-utils/clipper.common/common/common.module.ts","../../../projects/ars-utils/clipper.common/public_api.ts","../../../projects/ars-utils/clipper.common/arsedizioni-ars-utils-clipper.common.ts"],"sourcesContent":["import { NameValueItem } from '@arsedizioni/ars-utils/core';\r\n\r\n\r\nexport enum ClipperSelectionMode {\r\n Single = 1,\r\n Multi = 2,\r\n Any = 3\r\n}\r\n\r\nexport enum ClipperModuleGroup {\r\n Home = 0,\r\n NormativaVigente = 1,\r\n RimaniAggiornato = 2,\r\n Contributi = 3,\r\n DGInfo = 4,\r\n Calendario = 11,\r\n Archivio = 12\r\n}\r\n\r\nexport enum ClipperModule {\r\n NormativaVigente = 101,\r\n News = 201,\r\n GazzetteBollettiniEFontiDiverse = 202,\r\n Giurisprudenza = 203,\r\n ModificheAbrogazioniERinvii = 204,\r\n ScadenzeESegnalazioni = 205,\r\n AllerteAlimentari = 206,\r\n Approfondimenti = 301,\r\n QuesitiECasiRisolti = 302,\r\n MetodiDiAnalisi = 303,\r\n Search= 999\r\n\r\n}\r\n\r\nexport enum ClipperModel {\r\n Unknown = 0,\r\n AggiornamentoNormativo = 2,\r\n News = 3,\r\n Articoli = 4,\r\n Juris = 5,\r\n Quesiti = 6,\r\n NormativaVigente = 9,\r\n Scadenza = 10,\r\n Coordinamento = 11,\r\n AllerteAlimentari = 13,\r\n MetodiDiAnalisi = 14,\r\n Segnalazione = 20\r\n}\r\n\r\nexport const ClipperModels: NameValueItem<number>[] = [\r\n { value: ClipperModel.AggiornamentoNormativo, name: \"Aggiornamento normativo\" },\r\n { value: ClipperModel.News, name: 'News' },\r\n { value: ClipperModel.Articoli, name: 'Articoli' },\r\n { value: ClipperModel.Juris, name: 'Juris' },\r\n { value: ClipperModel.Quesiti, name: 'Quesiti' },\r\n { value: ClipperModel.NormativaVigente, name: 'Normativa vigente' },\r\n { value: ClipperModel.Scadenza, name: 'Scadenze' },\r\n { value: ClipperModel.AllerteAlimentari, name: 'Allerte alimentari' },\r\n { value: ClipperModel.MetodiDiAnalisi, name: 'Metodi di analisi' }\r\n]\r\n\r\nexport const ClipperModuleGroups: NameValueItem<number>[] = [\r\n { name: \"\", value: ClipperModuleGroup.Home },\r\n { name: \"Normativa vigente\", value: ClipperModuleGroup.NormativaVigente },\r\n { name: \"Rimani aggiornato\", value: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Contributi\", value: ClipperModuleGroup.Contributi },\r\n { name: \"DG Info\", value: ClipperModuleGroup.DGInfo },\r\n { name: \"Calendario\", value: ClipperModuleGroup.Calendario },\r\n { name: \"Archivio\", value: ClipperModuleGroup.Archivio }\r\n];\r\n\r\nexport const ClipperModules: NameValueItem<number>[] = [\r\n { name: \"Normativa vigente\", value: ClipperModule.NormativaVigente, parentValue: ClipperModuleGroup.NormativaVigente },\r\n { name: \"News e approfondimenti\", value: ClipperModule.News, parentValue: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Gazzette, Bollettini e fonti deverse\", value: ClipperModule.GazzetteBollettiniEFontiDiverse, parentValue: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Giurisprudenza\", value: ClipperModule.Giurisprudenza, parentValue: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Modifiche, abrogazioni e rinvii\", value: ClipperModule.ModificheAbrogazioniERinvii, parentValue: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Scadenze e segnalazioni\", value: ClipperModule.ScadenzeESegnalazioni, parentValue: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Allerte alimentari\", value: ClipperModule.AllerteAlimentari, parentValue: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Approfondimenti\", value: ClipperModule.Approfondimenti, parentValue: ClipperModuleGroup.Contributi },\r\n { name: \"Quesiti e casi risoli\", value: ClipperModule.QuesitiECasiRisolti, parentValue: ClipperModuleGroup.Contributi },\r\n { name: \"Medodi di analisi\", value: ClipperModule.MetodiDiAnalisi, parentValue: ClipperModuleGroup.Contributi }\r\n]\r\n\r\nexport const ClipperChannels: NameValueItem<string>[] = [\r\n { value: \"LA\", name: \"Lavoro e Ambiente\" },\r\n { value: \"SA\", name: \"Sostanze Alimentari\" },\r\n { value: \"E\", name: \"Energia\" },\r\n { value: \"OP\", name: \"Merci Pericolose\" }\r\n]\r\n\r\nexport const ClipperRegions: NameValueItem<string>[] = [\r\n {\r\n value: '4RAB',\r\n name: 'Abruzzo',\r\n },\r\n {\r\n value: '4RBA',\r\n name: 'Basilicata',\r\n },\r\n {\r\n value: '4RCAL',\r\n name: 'Calabria',\r\n },\r\n {\r\n value: '4RCAM',\r\n name: 'Campania',\r\n },\r\n {\r\n value: '4REM',\r\n name: 'Emilia Romagna',\r\n },\r\n {\r\n value: '4RFVG',\r\n name: 'Friuli Venezia Giulia',\r\n },\r\n {\r\n value: '4RLA',\r\n name: 'Lazio',\r\n },\r\n {\r\n value: '4RLI',\r\n name: 'Liguria',\r\n },\r\n {\r\n value: '4RLO',\r\n name: 'Lombardia',\r\n },\r\n {\r\n value: '4RMA',\r\n name: 'Marche',\r\n },\r\n {\r\n value: '4RMO',\r\n name: 'Molise',\r\n },\r\n {\r\n value: '4RPI',\r\n name: 'Piemonte',\r\n },\r\n {\r\n value: '4RPU',\r\n name: 'Puglia',\r\n },\r\n {\r\n value: '4RSA',\r\n name: 'Sardegna',\r\n },\r\n {\r\n value: '4RSI',\r\n name: 'Sicilia',\r\n },\r\n {\r\n value: '4RTO',\r\n name: 'Toscana',\r\n },\r\n {\r\n value: '4RTAA',\r\n name: 'Trentino Alto Adige',\r\n },\r\n {\r\n value: '4RUM',\r\n name: 'Umbria',\r\n },\r\n {\r\n value: '4RVA',\r\n name: \"Valle D'Aosta\",\r\n },\r\n {\r\n value: '4RVE',\r\n name: 'Veneto',\r\n },\r\n {\r\n value: '4PAT',\r\n name: 'Prov. Aut. Trento',\r\n },\r\n {\r\n value: '4PAB',\r\n name: 'Prov. Aut. Bolzano',\r\n }\r\n]\r\n\r\nexport interface SectorInfo extends NameValueItem<string> {\r\n\r\n shortName?: string | null;\r\n group?: string | null;\r\n channels?: string | null;\r\n sectorId?: string | null;\r\n}\r\n\r\nexport const ClipperSectors: SectorInfo[] = [\r\n {\r\n value: 'LC',\r\n name: 'Legislazione comunitaria',\r\n shortName: 'Comunitaria',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'LN',\r\n name: 'Legislazione nazionale',\r\n shortName: 'Nazionale',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n\r\n {\r\n value: 'LR',\r\n name: 'Legislazione regionale',\r\n shortName: 'Regionale',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RAB',\r\n name: ' Abruzzo',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4PAB',\r\n name: ' Prov. Aut. Bolzano',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RBA',\r\n name: ' Basilicata',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RCAL',\r\n name: ' Calabria',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RCAM',\r\n name: ' Campania',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4REM',\r\n name: ' Emilia Romagna',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RFVG',\r\n name: ' Friuli Venezia Giulia',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RLA',\r\n name: ' Lazio',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RLI',\r\n name: ' Liguria',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RLO',\r\n name: ' Lombardia',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RMA',\r\n name: ' Marche',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RMO',\r\n name: ' Molise',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RPI',\r\n name: ' Piemonte',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RPU',\r\n name: ' Puglia',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RSA',\r\n name: ' Sardegna',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RSI',\r\n name: ' Sicilia',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RTO',\r\n name: ' Toscana',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RTAA',\r\n name: ' Trentino Alto Adige',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4PAT',\r\n name: ' Prov. Aut. Trento',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RUM',\r\n name: ' Umbria',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RVA',\r\n name: \" Valle D'Aosta\",\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RVE',\r\n name: ' Veneto',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'GC',\r\n name: 'Giurisprudenza comunitaria',\r\n shortName: 'Giuris. comunitaria',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'GN',\r\n name: 'Giurisprudenza nazionale',\r\n shortName: 'Giurisprudenza',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'TN',\r\n name: 'Normativa tecnica',\r\n shortName: 'Tecnica',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'TI',\r\n name: 'Normativa tecnica internazionale',\r\n shortName: 'Tecnica internaz.',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'NI',\r\n name: 'Normativa internazionale',\r\n shortName: 'Internazionale',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'SN',\r\n name: 'Documentazione scientifica',\r\n shortName: 'Scientifica',\r\n group: 'S',\r\n channels: '|SA|',\r\n },\r\n]\r\n\r\nexport const ClipperSectorTypes: NameValueItem<string>[] = [\r\n\r\n {\r\n parentValue: 'NI',\r\n value: '14',\r\n name: 'Convenzione Internazionale',\r\n },\r\n {\r\n parentValue: 'NI',\r\n value: '6',\r\n name: 'Accordo Multilaterale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '4',\r\n name: 'Accordo (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '75',\r\n name: 'Altri documenti (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '17',\r\n name: 'Circolare Commissariale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '58',\r\n name: 'Circolare (Comitati)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '10',\r\n name: 'Circolare Ministeriale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '13',\r\n name: 'Comunicato (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '15',\r\n name: 'Costituzione della Repubblica',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '18',\r\n name: 'Decreto Commissariale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '21',\r\n name: 'Decreto Capo Provv. Stato',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '22',\r\n name: 'Decreto Pres. Cons. Ministri',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '25',\r\n name: 'Decreto Presidente Repubblica',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '27',\r\n name: 'Decreto Legge',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '28',\r\n name: 'Decreto Legge Luogotenenziale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '29',\r\n name: 'D.Lgs. Capo Provv. Stato',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '30',\r\n name: 'D.Lgs. Governo',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '32',\r\n name: 'D.Lgs. Luogotenenziale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '33',\r\n name: 'Decreto Luogotenenziale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '34',\r\n name: 'Decreto Ministeriale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '35',\r\n name: 'Deliberazione (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '47',\r\n name: 'Determinazione (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '26',\r\n name: 'Documento di consultazione',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '48',\r\n name: 'Legge',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '42',\r\n name: 'Lettera Circolare (Comitati)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '43',\r\n name: 'Lettera Circolare Ministeriale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '56',\r\n name: 'Nota Ministeriale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '91',\r\n name: 'Ordinanza Commissariale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '82',\r\n name: 'Ordinanza Pres. Cons. Ministri',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '57',\r\n name: 'Ordinanza Ministeriale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '76',\r\n name: 'Provvedimento (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '66',\r\n name: 'Regio Decreto',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '67',\r\n name: 'Regio Decreto Legge',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '68',\r\n name: 'Regio Decreto Legislativo',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '71',\r\n name: 'Statuto delle Regioni Ordinarie',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '2',\r\n name:\r\n 'Accordi CEE/CE/UE con Stati terzi o altri soggetti',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '7',\r\n name: 'Atti diversi CEE/UE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '92',\r\n name: 'Comunicazione CE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '87',\r\n name: 'Decisione CEE/CEEA/CECA',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '39',\r\n name: 'Direttiva CEE/CEEA/CE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '89',\r\n name: 'Parere CE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '95',\r\n name: 'Raccomandazione CE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '64',\r\n name: 'Regolamento CEE/UE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '96',\r\n name: 'Risoluzione CE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '78',\r\n name: 'Trattato CEE',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '69',\r\n name: 'Altri documenti (reg.)',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '11',\r\n name: 'Circolare Pres. Giunta Reg.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '46',\r\n name: \"Circolare dell'Assessore\",\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '83',\r\n name: 'Circolare reg.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '70',\r\n name: 'Comunicato (reg.)',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '80',\r\n name: 'Decreto del Dirigente',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '24',\r\n name: 'Decreto Pres. Giunta Prov.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '23',\r\n name: 'Decreto Pres. Giunta Reg.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '19',\r\n name: \"Decreto dell'Assessore Regionale\",\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '31',\r\n name: 'Delib. Consiglio Prov.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '36',\r\n name: 'Delib. Consiglio Reg.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '37',\r\n name: 'Delib. Giunta Prov.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '38',\r\n name: 'Delib. Giunta Reg.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '81',\r\n name: 'Determinazione del Dirigente',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '12',\r\n name: 'Direttiva (reg.)',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '49',\r\n name: 'Legge Prov. Aut.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '50',\r\n name: 'Legge Regionale',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '51',\r\n name: 'Linee guida (reg.)',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '9',\r\n name: 'Ordinanza Pres. Prov.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '55',\r\n name: 'Ordinanza Pres. Reg.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '85',\r\n name: 'Provvedimento (reg.)',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '65',\r\n name: 'Regolamento Regionale',\r\n },\r\n {\r\n parentValue: 'GN',\r\n value: '63',\r\n name: 'Decisione',\r\n },\r\n {\r\n parentValue: 'GN',\r\n value: '41',\r\n name: 'Decreto Penale',\r\n },\r\n {\r\n parentValue: 'GN',\r\n value: '54',\r\n name: 'Ordinanza',\r\n },\r\n {\r\n parentValue: 'GN',\r\n value: '62',\r\n name: 'Ricorso',\r\n },\r\n {\r\n parentValue: 'GN',\r\n value: '72',\r\n name: 'Sentenza',\r\n },\r\n {\r\n parentValue: 'GC',\r\n value: '88',\r\n name: 'Ordinanza CE',\r\n },\r\n {\r\n parentValue: 'GC',\r\n value: '90',\r\n name: 'Sentenza CE',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '73',\r\n name: 'Altri documenti (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '44',\r\n name: 'Circolare (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '20',\r\n name: 'Comunicato (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '60',\r\n name: 'Decreto (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '40',\r\n name: 'Delibera (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '53',\r\n name: 'Fascicolo (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '45',\r\n name: 'Istruzione Tecnica',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '59',\r\n name: 'Lettera Circolare (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '79',\r\n name: 'Linee guida (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '98',\r\n name: 'Norma Tecnica',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '97',\r\n name: 'Opuscolo Tecnico',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '77',\r\n name: 'Pubblicazione (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '86',\r\n name: 'Quaderno',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '52',\r\n name: 'Regolamento (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '84',\r\n name: 'Istruzione Operativa (Enti e Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '94',\r\n name: 'Nota (Enti e Istituti)',\r\n },\r\n {\r\n parentValue: 'NI',\r\n value: '104',\r\n name: 'Regolamento UNECE',\r\n },\r\n {\r\n parentValue: 'SN',\r\n value: '105',\r\n name: 'Documento',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '106',\r\n name: 'Direttiva (Enti e Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '74',\r\n name: 'Prassi di riferimento',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '16',\r\n name: 'Linee guida (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '3',\r\n name: 'Direttiva (naz.)',\r\n },\r\n {\r\n parentValue: 'TI',\r\n value: '107',\r\n name: 'Normativa Tecnica Internazionale',\r\n },\r\n]\r\n\r\nexport const ClipperAuthors: SectorInfo[] = [\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RAB',\r\n name: 'Abruzzo',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RBA',\r\n name: 'Basilicata',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RCAL',\r\n name: 'Calabria',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RCAM',\r\n name: 'Campania',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4REM',\r\n name: 'Emilia Romagna',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RFVG',\r\n name: 'Friuli Venezia Giulia',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RLA',\r\n name: 'Lazio',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RLI',\r\n name: 'Liguria',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RLO',\r\n name: 'Lombardia',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RMA',\r\n name: 'Marche',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RMO',\r\n name: 'Molise',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RPI',\r\n name: 'Piemonte',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RPU',\r\n name: 'Puglia',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RSA',\r\n name: 'Sardegna',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RSI',\r\n name: 'Sicilia',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RTO',\r\n name: 'Toscana',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RTAA',\r\n name: 'Trentino Trentino Alto Adige',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RUM',\r\n name: 'Umbria',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RVA',\r\n name: \"Valle D'Aosta\",\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RVE',\r\n name: 'Veneto',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4PAB',\r\n name: 'Prov. Autonoma di Bolzano',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4PAT',\r\n name: 'Prov. Autonoma di Trento',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|',\r\n value: '6CEI',\r\n name: 'C.E.I. - Comitato Elettrotecnico Italiano',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|SA|',\r\n value: '6CNR',\r\n name: 'C.N.R. - Consiglio Nazionale delle Ricerche',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|',\r\n value: '6ENPI',\r\n name: 'E.N.P.I. - Ente Nazionale Prevenzione Infortuni',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|',\r\n value: '6INAI',\r\n name:\r\n 'I.N.A.I.L. - Istituto nazionale Assicurazione Infortuni sul Lavoro',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|',\r\n value: '6ISPS',\r\n name:\r\n 'I.S.P.E.S.L. - Istituto Superiore per la Prevenzione e la Sicurezza del Lavoro',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|',\r\n value: '6INPS',\r\n name: 'I.N.P.S. - Istituto Nazionale Previdenza Sociale',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|SA|',\r\n value: '6ISS',\r\n name: 'I.S.S. - Istituto Superiore di Sanità',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|SA|',\r\n value: '6UNI',\r\n name: 'U.N.I. - Ente Nazionale Italiano di Unificazione',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CC',\r\n name: 'Corte Costituzionale',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CCC',\r\n name: 'Corte di Cassazione Civile',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CCP',\r\n name: 'Corte di Cassazione Penale',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CASA',\r\n name: \"Corte d'Assise d'Appello\",\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CAS',\r\n name: \"Corte d'Assise\",\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CA',\r\n name: \"Corte d'Appello\",\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5PCA',\r\n name: \"Procura Generale Corte d'Appello\",\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5GDP',\r\n name: 'Giudice di Pace',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5PR',\r\n name: 'Procura della Repubblica',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5T',\r\n name: 'Tribunale',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5P',\r\n name: 'Pretura',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CDS',\r\n name: 'Consiglio di Stato',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5TAR',\r\n name: 'Tribunale Amministrativo Regionale',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5TSA',\r\n name: 'Tribunale Superiore delle Acque',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5TGA',\r\n name: 'Tribunale Regionale acque',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CTP',\r\n name: 'Commissione Tributaria Provinciale',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CTR',\r\n name: 'Commissione Tributaria Regionale',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CGAS',\r\n name: 'Cons. di Giustizia Amm.va della Sicilia',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CDC',\r\n name: 'Corte dei Conti',\r\n },\r\n {\r\n sectorId: 'GC',\r\n channels: null,\r\n value: '3CJCE',\r\n name: 'Corte di Giustizia CEE/CE',\r\n },\r\n {\r\n sectorId: 'GC',\r\n channels: null,\r\n value: '3CEDM',\r\n name: \"Corte Europea per i Diritti dell'Uomo\",\r\n },\r\n {\r\n sectorId: 'GC',\r\n channels: null,\r\n value: '3CWJ',\r\n name: 'Corte Internazionale di Giustizia',\r\n },\r\n {\r\n sectorId: 'GC',\r\n channels: null,\r\n value: '3T1CE',\r\n name: 'Tribunale di Primo Grado CEE/CE',\r\n },\r\n]\r\n\r\nexport const ClipperSources: NameValueItem<string>[] = [\r\n {\r\n value: 'ACCML',\r\n name: 'Accordi Multilaterali',\r\n },\r\n {\r\n value: 'AEEG',\r\n name: \"Sito Autorità per l'Energia Elettrica, il Gas e il Sistema Idrico\",\r\n },\r\n {\r\n value: 'ARERA',\r\n name: 'Sito Autorità di Regolazione per Energia, Reti e Ambiente',\r\n },\r\n {\r\n value: 'BUR',\r\n name: 'Bollettino Uff. Regione',\r\n },\r\n {\r\n value: 'BUS',\r\n name: 'Suppl. speciale al Bollettino Uff.',\r\n },\r\n {\r\n value: 'BUSO',\r\n name: 'Suppl. ordin. al Bollettino Uff.',\r\n },\r\n {\r\n value: 'BUSS',\r\n name: 'Suppl. straord. al Bollettino Uff.',\r\n },\r\n {\r\n value: 'GU',\r\n name: 'Gazzetta Ufficiale Italiana',\r\n },\r\n {\r\n value: 'GUCC',\r\n name: 'Gazz. Uff. Corte Costituzionale',\r\n },\r\n {\r\n value: 'GUCE',\r\n name: 'Gazzetta ufficiale delle Comunità europee',\r\n },\r\n {\r\n value: 'GUES',\r\n name: 'Gazz. Uff. Ediz. Speciale',\r\n },\r\n {\r\n value: 'GURS',\r\n name: 'Gazz. Uff. Regione Sicilia',\r\n },\r\n {\r\n value: 'GUS',\r\n name: 'Gazz. Uff. Serie Speciale',\r\n },\r\n {\r\n value: 'GUSO',\r\n name: 'Suppl. ordin. alla Gazzetta Ufficiale',\r\n },\r\n {\r\n value: 'GUSS',\r\n name: 'Suppl. straord. alla Gazzetta Ufficiale',\r\n },\r\n {\r\n value: 'GUUE',\r\n name: 'Gazzetta ufficiale dell’Unione europea',\r\n },\r\n {\r\n value: 'MAC',\r\n name: 'Massimario Civile',\r\n },\r\n {\r\n value: 'MAP',\r\n name: 'Massimario Penale',\r\n },\r\n {\r\n value: 'NONE',\r\n name: 'Fonti diverse',\r\n }\r\n]\r\n\r\nexport class ClipperSearchParams {\r\n searchId?: number | null = null;\r\n searchName?: string | null = null;\r\n text?: string | null = null;\r\n title?: string | null = null;\r\n titleOnly?: boolean | null = false;\r\n showUnreadDocumentsOnly?: boolean | null = false;\r\n showCommentedDocumentsOnly?: boolean | null = false;\r\n number?: string | null = null;\r\n fromDate?: Date | null = null;\r\n toDate?: Date | null = null;\r\n year?: number | null = null;\r\n sourceNumber?: string | null = null;\r\n source?: string | null = null;\r\n sourceFromDate?: Date | null = null;\r\n sourceToDate?: Date | null = null;\r\n sourceYear?: number | null = null;\r\n sector?: string | null = null;\r\n sectors?: SectorInfo[] | null = null;\r\n topic?: string | null = null;\r\n taxonomy?: string | null = null;\r\n taxonomyPath?: string | null = null;\r\n taxonomyNode?: string | null = null;\r\n type?: string | null = null;\r\n author?: string | null = null;\r\n authors?: NameValueItem<string>[] | null = null;\r\n changeReason?: number | null = null;\r\n changedNumber?: string | null = null;\r\n changedYear?: number | null = null;\r\n changedTitle?: string | null = null;\r\n modifierNumber?: string | null = null;\r\n modifierYear?: number | null = null;\r\n modifierTitle?: string | null = null;\r\n model?: number | null = null;\r\n module?: number | null = null;\r\n mode?: ClipperQueryReferencesMode | null = null;\r\n channels?: NameValueItem<string>[] | null = [...ClipperChannels];\r\n count?: number | null = 15;\r\n id?: string| null = null; \r\n anchor?: string | null = null;\r\n excludeTextReferences?: boolean | null = false;\r\n excludeNotesReferences?: boolean | null = false;\r\n useModifierInfo?: boolean | null = false;\r\n returnModifierInfo?: boolean | null = false;\r\n first?: number | null = 0;\r\n sortMode?: number | null = null;\r\n\r\n /**\r\n * Return a valid ClipperReferencesSearchParams\r\n * @returns a ClipperReferencesSearchParams object\r\n */\r\n toReferencesSearchParams(): ClipperReferencesSearchParams {\r\n return {\r\n documentId: this.id,\r\n year: this.year,\r\n sector: this.sector,\r\n author: this.author,\r\n anchor: this.anchor,\r\n model: this.model,\r\n mode: this.mode,\r\n excludeTextReferences: this.excludeTextReferences,\r\n excludeNotesReferences: this.excludeNotesReferences,\r\n count: 15,\r\n first: 0\r\n }\r\n }\r\n\r\n}\r\n\r\nexport interface ClipperReferencesSearchParams {\r\n documentId: string;\r\n year?: number | null;\r\n sector?: string | null;\r\n author?: string | null;\r\n anchor?: string | null;\r\n model?: number | null;\r\n mode?: ClipperQueryReferencesMode | null;\r\n excludeTextReferences?: boolean | null;\r\n excludeNotesReferences?: boolean | null;\r\n count?: number | null;\r\n first?: number | null;\r\n}\r\n\r\nexport const ClipperDocumentChangeReason: NameValueItem<number>[] = [\r\n { name: 'Abrogazione', value: 1 },\r\n { name: 'Annullamento', value: 5 },\r\n { name: 'Modifica', value: 2 },\r\n { name: 'Sostiuzione', value: 3 },\r\n { name: 'Segnalazione', value: 6 },\r\n { name: 'Rettifica', value: 7 },\r\n]\r\n\r\nexport interface ClipperDocumentAnchorInfo {\r\n documentId: string;\r\n type: number;\r\n typeDescription: string;\r\n text: string;\r\n title?: string | null;\r\n uri: string;\r\n ordinal: string;\r\n score: number;\r\n veryRelevant?: boolean | null;\r\n}\r\n\r\nexport interface ClipperDocumentIndexInfo {\r\n type: number;\r\n typeDescription: string;\r\n text: string;\r\n title?: string | null;\r\n description?: string | null;\r\n value: string;\r\n level: number;\r\n}\r\n\r\nexport interface ClipperDocumentRelevants {\r\n items: ClipperDocumentAnchorInfo[];\r\n hits: number;\r\n hit: number;\r\n minimumScore: number;\r\n}\r\n\r\nexport interface ClipperDocumentInfo {\r\n id?: string | null;\r\n documentId?: string | null;\r\n model?: number;\r\n modelName?: string | null;\r\n module?: number | null;\r\n moduleName?: string | null;\r\n group?: string | null;\r\n title2?: string | null;\r\n title1?: string | null;\r\n number?: string | null;\r\n date?: Date | null;\r\n publishingDate?: Date | null;\r\n sourceNumber?: string | null;\r\n sourceDate?: Date | null;\r\n source?: string | null;\r\n origin?: string | null;\r\n originDescription?: string | null;\r\n author?: string | null;\r\n anchors?: ClipperDocumentAnchorInfo[] | null;\r\n taxonomy?: string | null;\r\n info?: string | null;\r\n isRead?: boolean | null;\r\n isExportable?: boolean | null;\r\n isCommented?: boolean | null;\r\n isJuris?: boolean | null;\r\n isOver?: boolean | null;\r\n isTrial?: boolean | null;\r\n isNew?: boolean | null;\r\n isExpired?: boolean | null;\r\n isExpiring?: boolean | null;\r\n isMenuOpen?: boolean | null;\r\n validityState?: number | null;\r\n validUntilDate?: Date | null;\r\n validityDescription?: string | null;\r\n validityInfo?: string | null;\r\n expiringDate?: Date | null;\r\n expiringDescription?: string | null;\r\n expiringInfo?: string | null;\r\n popularity?: number | null;\r\n part?: number | null;\r\n primaryId?: string | null;\r\n primaryDescription?: string | null;\r\n primaryModel?: number | null;\r\n hasPrimary?: boolean | null;\r\n secondaryId?: string | null;\r\n bag?: any | null;\r\n lastUpdate?: Date | null;\r\n\r\n}\r\n\r\nexport class ClipperSearchResult {\r\n days?: string | null = null;\r\n interval?: string | null = null;\r\n items?: ClipperDocumentInfo[] | null = null;\r\n facets?: ClipperSearchFacetsSnapshot | null = new ClipperSearchFacetsSnapshot();\r\n total?: number | null = null;\r\n searchInfo?: any | null = null;\r\n searchParams?: ClipperSearchParams | null = new ClipperSearchParams();\r\n snapshotMode?: ClipperQueryReferencesMode | null = null;\r\n}\r\n\r\nexport interface ClipperSearchFacet {\r\n type: number;\r\n typeName: string;\r\n title: string;\r\n value: string;\r\n count: number;\r\n}\r\n\r\nexport interface ClipperSearchFacetGroup {\r\n name: string;\r\n selectedValue?: string | null;\r\n selectedValueDescription?: string | null;\r\n values: ClipperSearchFacet[];\r\n index: number;\r\n}\r\n\r\nexport interface ClipperSearchFacetsResult {\r\n interval?: string | null;\r\n facets?: ClipperSearchFacet[][] | null;\r\n total?: number | null;\r\n}\r\n\r\n\r\nexport class ClipperSearchFacetsSnapshot {\r\n groups: ClipperSearchFacetGroup[] = [];\r\n usedGroups: ClipperSearchFacetGroup[] = [];\r\n hasFacets: boolean = false;\r\n hasMoreFacets: boolean = false;\r\n hasTooManyResults: boolean = false;\r\n sector?: string | null = null;\r\n author?: string | null = null;\r\n anchor?: string | null = null;\r\n type?: string | null = null;\r\n reason?: string | null = null;\r\n fromDate?: Date | null = null;\r\n toDate?: Date | null = null;\r\n interval?: string | null = null;\r\n changedInterval: boolean = false;\r\n changedSector: boolean = false;\r\n changedAuthor: boolean = false;\r\n changedAnchor: boolean = false;\r\n changedType: boolean = false;\r\n changedReason: boolean = false;\r\n}\r\n\r\nexport interface ClipperSearchCalendarSnapshotMonth {\r\n days: number[];\r\n monthShortName: string;\r\n monthName: string;\r\n month: number;\r\n year: number;\r\n total: number;\r\n expired: number;\r\n expiring: number;\r\n}\r\n\r\nexport class ClipperSearchCalendarSnapshotResult {\r\n months?: ClipperSearchCalendarSnapshotMonth[] | null = null;\r\n}\r\n\r\n\r\nexport const ClipperConfig: any = {\r\n // Client uri\r\n uri: null,\r\n\r\n // Service uri\r\n serviceUri: null,\r\n\r\n // Global state\r\n loggedIn: false,\r\n loginInfo: null\r\n};\r\n\r\nexport enum ClipperSort {\r\n Default = 0,\r\n Relevance = 1,\r\n DateAsc = 2,\r\n DateDesc = 3,\r\n SourceDateAsc = 4,\r\n SourceDateDesc = 5,\r\n Popularity = 6\r\n}\r\n\r\nexport enum ClipperQueryReferencesMode {\r\n ReferencesIn = 1,\r\n ReferencesOut = 2,\r\n ChangesIn = 3,\r\n ChangesOut = 5,\r\n Juris = 4\r\n}\r\n\r\nexport enum ClipperFacet {\r\n Sector = 1,\r\n Year = 2,\r\n DocumentType = 3,\r\n Topic = 4,\r\n Article = 5,\r\n Author = 6,\r\n Reason = 95\r\n}\r\n\r\n\r\nexport class ClipperUtils {\r\n\r\n /**\r\n * Return the Clipper group name\r\n * @param value: the group value \r\n * @returns the group name\r\n */\r\n static getClipperModuleGroupName(value: ClipperModuleGroup): string {\r\n return ClipperModuleGroups.filter((n) => n.value === value)?.[0].name;\r\n }\r\n\r\n /**\r\n * Return the list of modules of a group\r\n * @param value: the module name\r\n * @returns the list of modules\r\n */\r\n static getClipperModuleGroupItems(value: ClipperModuleGroup): NameValueItem<number>[] {\r\n return ClipperModules.filter((n) => n.parentValue === value);\r\n }\r\n\r\n /**\r\n * Return the list of available sort options for a list of modules\r\n * @param modules : the modules list\r\n * @returns the list of availbale sort options \r\n */\r\n static getClipperAvailableSortOptions(\r\n modules: NameValueItem<number>[] | undefined = undefined,\r\n params: ClipperSearchParams | undefined = undefined): NameValueItem<number>[] {\r\n const options: NameValueItem<number>[] = [\r\n { name: \"Data decrescente\", value: 1 },\r\n { name: \"Data crescente\", value: 2 },\r\n { name: \"Data fonte decrescente\", value: 3 },\r\n { name: \"Data fonte crescente\", value: 4 },\r\n { name: \"Rilevanza\", value: 5 },\r\n { name: \"Popolarità\", value: 6 },\r\n ];\r\n let sortOptions: NameValueItem<number>[] = []\r\n if (params && ClipperSearchUtils.isTextQuery(params)) {\r\n sortOptions.push(options[4]);\r\n }\r\n if (modules && modules.length > 0 && modules.length === 1) {\r\n if (modules[0].value === ClipperModule.NormativaVigente) {\r\n sortOptions.push(options[0]);\r\n sortOptions.push(options[1]);\r\n sortOptions.push(options[2]);\r\n sortOptions.push(options[3]);\r\n sortOptions.push(options[5]);\r\n } else if (modules[0].value === ClipperModule.GazzetteBollettiniEFontiDiverse) {\r\n sortOptions.push(options[2]);\r\n sortOptions.push(options[3]);\r\n } else {\r\n sortOptions.push(options[0]);\r\n sortOptions.push(options[1]);\r\n }\r\n } else {\r\n sortOptions.push(options[0]);\r\n sortOptions.push(options[1]);\r\n }\r\n return sortOptions;\r\n }\r\n\r\n}\r\n\r\nexport class ClipperSearchUtils {\r\n /**\r\n * Clear the search params object\r\n * @param params : the search params to clear\r\n */\r\n static clear(params: ClipperSearchParams) {\r\n params.sector = null;\r\n params.sectors = null;\r\n params.author = null;\r\n params.authors = null;\r\n params.topic = null;\r\n params.taxonomy = null;\r\n params.taxonomyPath = null;\r\n params.taxonomyNode = null;\r\n params.number = null;\r\n params.fromDate = null;\r\n params.toDate = null;\r\n params.year = null;\r\n params.sourceNumber = null;\r\n params.source = null;\r\n params.sourceFromDate = null;\r\n params.sourceToDate = null;\r\n params.sourceYear = null;\r\n params.text = null;\r\n params.titleOnly = false;\r\n params.type = null;\r\n params.showUnreadDocumentsOnly = false;\r\n params.showCommentedDocumentsOnly = false;\r\n params.channels = [...ClipperChannels];\r\n params.changeReason = null;\r\n params.changedNumber = null;\r\n params.changedYear = null;\r\n params.changedTitle = null;\r\n params.modifierNumber = null;\r\n params.modifierYear = null;\r\n params.modifierTitle = null;\r\n }\r\n\r\n /**\r\n * Prepare the module specific query\r\n * @param params : the search params to use\r\n * @param module : the module to prepare the search params for\r\n * @returns the new search params\r\n */\r\n static prepare(params: ClipperSearchParams, module: ClipperModule): ClipperSearchParams {\r\n let moduleParams: ClipperSearchParams = new ClipperSearchParams();\r\n moduleParams.channels = params.channels;\r\n moduleParams.text = params.text;\r\n moduleParams.titleOnly = params.titleOnly;\r\n moduleParams.first = params.first;\r\n moduleParams.count = params.count;\r\n moduleParams.sortMode = params.sortMode;\r\n switch (module) {\r\n case ClipperModule.ScadenzeESegnalazioni:\r\n case ClipperModule.QuesitiECasiRisolti:\r\n break;\r\n case ClipperModule.News:\r\n case ClipperModule.AllerteAlimentari:\r\n moduleParams.fromDate = params.fromDate;\r\n moduleParams.toDate = params.toDate;\r\n break;\r\n case ClipperModule.GazzetteBollettiniEFontiDiverse:\r\n case ClipperModule.NormativaVigente:\r\n moduleParams.sector = params.sector;\r\n moduleParams.sectors = params.sectors;\r\n moduleParams.author = params.author;\r\n moduleParams.authors = params.authors;\r\n moduleParams.type = params.type;\r\n moduleParams.topic = params.topic;\r\n moduleParams.number = params.number;\r\n moduleParams.year = params.year;\r\n moduleParams.fromDate = params.fromDate;\r\n moduleParams.toDate = params.toDate;\r\n moduleParams.showCommentedDocumentsOnly = params.showCommentedDocumentsOnly;\r\n moduleParams.source = params.source;\r\n moduleParams.sourceNumber = params.sourceNumber;\r\n moduleParams.sourceYear = params.sourceYear;\r\n moduleParams.sourceFromDate = params.sourceFromDate;\r\n moduleParams.sourceToDate = params.sourceToDate;\r\n break;\r\n case ClipperModule.Giurisprudenza:\r\n moduleParams.sector = params.sector;\r\n moduleParams.sectors = params.sectors;\r\n moduleParams.number = params.number;\r\n moduleParams.year = params.year;\r\n moduleParams.fromDate = params.fromDate;\r\n moduleParams.toDate = params.toDate;\r\n break;\r\n }\r\n return moduleParams;\r\n\r\n }\r\n\r\n /**\r\n * Check if current filter is a text based search \r\n * @param params : the search params to check\r\n * @returns true if is a text based search\r\n */\r\n static isTextQuery(params: ClipperSearchParams): boolean {\r\n return params.text != null && params.text?.length > 0;\r\n }\r\n\r\n /**\r\n * Try to add a query\r\n * @param q : the new query\r\n * @param queries : the new query\r\n */\r\n private static concatTextQuery(q: string, queries: string): string {\r\n if (q && q.length > 0) {\r\n if (queries.length == 0 && (q[0] === '+' || q[0] === '-'))\r\n q = q.substring(1);\r\n if (q[q.length - 1] !== '\\\"' && q.indexOf(' ') !== -1)\r\n q = \"\\\"\" + q + \"\\\"\";\r\n if (queries.length > 0) queries += \", \";\r\n queries += q;\r\n }\r\n return queries;\r\n }\r\n\r\n /**\r\n * Normalize text query\r\n * @param text : the text query to normalize\r\n * @returns : the text normalized or null\r\n */\r\n static normalizeTextQuery(text: string): string | null {\r\n if (!text || text.length === 0) return null;\r\n let q: string = '';\r\n let queries: string = '';\r\n for (let i = 0; i < text.length; i++) {\r\n if (text[i] === ',') {\r\n queries = this.concatTextQuery(q.trim(), queries);\r\n q = '';\r\n }\r\n else q += text[i];\r\n }\r\n queries = this.concatTextQuery(q.trim(), queries);\r\n return queries;\r\n }\r\n}","export const ClipperMessages = {\r\n /**\r\n * Messages\r\n */\r\n\r\n // Login\r\n LOGIN_CHANGED: '§clipper-login-changed',\r\n LOGIN_COMPLETED: '§clipper-login-completed',\r\n LOGIN_DISCONNECTED: '§clipper-login-disconnected',\r\n LOGOUT_COMPLETED: '§clipper-logout-completed',\r\n \r\n // Document\r\n DOCUMENT_NAVIGATE: '$clipper-document-navigate',\r\n DOCUMENT_NAVIGATED: '$clipper-document-navigated',\r\n DOCUMENT_SELECTED: '$clipper-document-selected',\r\n DOCUMENT_SELECTED_INNER: '$clipper-document-selected_inner',\r\n\r\n // COMMANDS\r\n COMMAND_ARCHIVE_ADD: '$clipper-command-archive-add',\r\n COMMAND_CALENDAR_ADD: '$clipper-command-calendar-add',\r\n COMMAND_WORKING_ADD: '$clipper-command-working-documents-add',\r\n COMMAND_SEARCH_RESTORED: '$clipper-command-search-restored',\r\n\r\n // Interop\r\n INTEROP_RS_NEW_LAW: '$clipper-interop-rs-new-law',\r\n INTEROP_RS_NEW_ACTIVITY: '$clipper-interop-rs-new-activity',\r\n INTEROP_RS_USAGE_REPORT: '$clipper-interop-rs-usage-report',\r\n};\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport {\r\n ApiResult,\r\n BroadcastService,\r\n INode,\r\n LoginInfo,\r\n LoginResult, SystemUtils\r\n} from '@arsedizioni/ars-utils/core';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\nimport { EMPTY, Observable, Subscription, of, throwError, timer } from 'rxjs';\r\nimport { catchError, map, shareReplay, switchMap } from 'rxjs/operators';\r\nimport { ClipperDocumentInfo, ClipperQueryReferencesMode, ClipperReferencesSearchParams, ClipperSearchFacetsResult, ClipperSearchParams, ClipperSearchResult } from '../definitions';\r\nimport { ClipperMessages } from '../messages';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ClipperService implements OnDestroy {\r\n\r\n private readonly REFRESH_INTERVAL = 60000 * 50; //50 min\r\n\r\n private httpClient = inject(HttpClient);\r\n private broadcastService= inject(BroadcastService);\r\n private dialogService = inject(DialogService);\r\n private refreshing: boolean = false;\r\n private tokenRefreshTimer?: Observable<number | void> | null;\r\n private tokenRefreshTimerSubscription?: Subscription | null;\r\n private broadcastServiceSubscription?: Subscription | null;\r\n\r\n private _loginInfo: LoginInfo = null;\r\n get loginInfo(): LoginInfo {\r\n if (!this._loginInfo) {\r\n try {\r\n this._loginInfo = JSON.parse(\r\n localStorage.getItem('clipper_login')\r\n ) as LoginInfo;\r\n } catch { }\r\n }\r\n return this._loginInfo;\r\n }\r\n private _loggedIn: boolean = false;\r\n get loggedIn(): boolean {\r\n return this._loggedIn;\r\n }\r\n set loggedIn(value: boolean) {\r\n this._loggedIn = value;\r\n }\r\n private _loggingIn: boolean = false;\r\n get loggingIn(): boolean {\r\n return this._loggingIn;\r\n }\r\n set loggingIn(value: boolean) {\r\n this._loggingIn = value;\r\n }\r\n\r\n private _supportsRS: boolean = false;\r\n get supportsRS(): boolean {\r\n return this._supportsRS;\r\n }\r\n set supportsRS(value: boolean) {\r\n this._supportsRS = value;\r\n }\r\n\r\n private _referencesSnapshot: ClipperSearchResult = new ClipperSearchResult();\r\n get referencesSnapshot(): ClipperSearchResult {\r\n return this._referencesSnapshot;\r\n }\r\n set referencesSnapshot(value: ClipperSearchResult) {\r\n this._referencesSnapshot = value;\r\n }\r\n private _snapshot: ClipperSearchResult = new ClipperSearchResult();\r\n get snapshot(): ClipperSearchResult {\r\n return this._snapshot;\r\n }\r\n set snapshot(value: ClipperSearchResult) {\r\n this._snapshot = value;\r\n }\r\n\r\n private _bag: ClipperDocumentInfo[] = [];\r\n get bag(): ClipperDocumentInfo[] {\r\n return this._bag;\r\n }\r\n\r\n private _visible: boolean = false;\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n set visible(value: boolean) {\r\n this._visible = value;\r\n }\r\n\r\n private _serviceUri: string = \"https://clipper.arsedizioni.it\"\r\n get serviceUri(): string {\r\n return this._serviceUri;\r\n }\r\n set serviceUri(value: string) {\r\n this._serviceUri = value;\r\n }\r\n\r\n private _servicePrefix: string = \"\"\r\n get servicePrefix(): string {\r\n return this._servicePrefix;\r\n }\r\n set servicePrefix(value: string) {\r\n this._servicePrefix = value;\r\n }\r\n\r\n constructor() {\r\n this.initialize();\r\n }\r\n\r\n ngOnDestroy() {\r\n // Clean-up\r\n if (this.tokenRefreshTimerSubscription){\r\n this.tokenRefreshTimerSubscription.unsubscribe();\r\n }\r\n if (this.broadcastServiceSubscription) { \r\n this.broadcastServiceSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n /**\r\n * Initialize service\r\n * @param serviceUri : the service uri\r\n * @param servicePrefix : the service prefix used to manage local storage \r\n */\r\n initialize(\r\n serviceUri: string = null,\r\n servicePrefix: string = null) {\r\n\r\n // Create unique client id\r\n if (!localStorage.getItem('clipper_client_id'))\r\n localStorage.setItem('clipper_client_id', SystemUtils.generateUUID());\r\n\r\n // Initialize uris\r\n if (serviceUri)\r\n this._serviceUri = serviceUri;\r\n this._servicePrefix = servicePrefix;\r\n\r\n // React to message broadcasting\r\n if (!this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription = this.broadcastService.getMessage().subscribe((message: any) => {\r\n if (message.id === ClipperMessages.LOGIN_CHANGED) {\r\n setTimeout(() => {\r\n this.login(\r\n message.data.email,\r\n message.data.password,\r\n message.data.oauth,\r\n message.data.oauthAccessToken).subscribe((r: any) => {\r\n if (!r.success)\r\n this.dialogService.error(r.message, null, \"Errore di Clipper\");\r\n else {\r\n this.dialogService.toast('Connesso a Clipper', 1500, 'power');\r\n\r\n // Load bag\r\n this.loadBag();\r\n }\r\n });\r\n }, 500);\r\n } else if (message.id === ClipperMessages.LOGOUT_COMPLETED ||\r\n message.id === ClipperMessages.LOGIN_DISCONNECTED) {\r\n if (this.loggedIn) {\r\n this.logout().subscribe({\r\n next: (r: any) => {\r\n if (!r.success)\r\n this.dialogService.error(\"<p>\" + r.message + \"</p><br><br><hr><p class='small'><i>Per eliminare la configurazione di Clipper accedere a:<br><b>menu > personalizza > collegamenti</b></i></p>\", null, \"Errore di Clipper\");\r\n else {\r\n this.dialogService.toast('Disconnesso da Clipper', 1500, 'power_off');\r\n\r\n // Clear bag\r\n this._bag = null;\r\n }\r\n },\r\n complete: () => {\r\n this.clear();\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Eveluate current session storage in case of page refresh (F5)\r\n if (!this.loggedIn && this.getToken()) {\r\n // Auto login\r\n this.loggedIn = true;\r\n\r\n // Start refresh timer\r\n this.enableTokenRefresh();\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Set JWT token\r\n * @param token : token\r\n */\r\n private setToken(token: string) {\r\n sessionStorage.setItem('clipper_jwt', token);\r\n if (token) {\r\n this.enableTokenRefresh();\r\n }\r\n }\r\n\r\n /**\r\n * Enable JWT token auto refresh\r\n */\r\n private enableTokenRefresh() {\r\n if (!this.tokenRefreshTimerSubscription) {\r\n this.tokenRefreshTimer =\r\n timer(this.REFRESH_INTERVAL, this.REFRESH_INTERVAL)\r\n .pipe(\r\n switchMap(() => {\r\n if (this.refreshing || !this.loggedIn) return EMPTY;\r\n this.refreshing = true;\r\n this.refresh().subscribe(\r\n {\r\n error: () => { this.refreshing = false; },\r\n complete: () => { this.refreshing = false; }\r\n });\r\n return EMPTY;\r\n }),\r\n shareReplay(1));\r\n this.tokenRefreshTimerSubscription = this.tokenRefreshTimer.subscribe();\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Return current JWT token\r\n * @param cipher: true to cipher\r\n */\r\n getToken(cipher: boolean = false): string {\r\n let token = sessionStorage.getItem('clipper_jwt');\r\n if (token) {\r\n if (token[0] === '\"') token = token.substring(1, token.length - 1);\r\n if (cipher) {\r\n let d = new Date();\r\n let n = d.getDay() + d.getMonth() + 2;\r\n let t = '';\r\n let c = 0;\r\n for (var i = 0; i < token.length; i++) {\r\n c = token.charCodeAt(i);\r\n if (c >= 65 && c <= 90) {\r\n c += n;\r\n if (c > 90) c = 64 + (c - 90);\r\n }\r\n t += String.fromCharCode(c);\r\n }\r\n token = t;\r\n }\r\n return token;\r\n }\r\n return '';\r\n }\r\n\r\n\r\n /**\r\n * Perform login \r\n * @param email: the optioanl email if using OAuth2\r\n * @parma password: the optional password if using OAuth2\r\n * @param oauth: the optional open authentication supported\r\n * @param oauthAccessToken: the optional OAuth2 access token\r\n * @returns: the login result\r\n */\r\n login(email: string | null | undefined = null,\r\n password: string | null | undefined = null,\r\n oauth: number | null | undefined = null,\r\n oauthAccessToken: string | null | undefined = null) {\r\n this.clear();\r\n this.loggingIn = true;\r\n return this.httpClient\r\n .post<ApiResult<LoginResult>>(\r\n this._serviceUri + '/login',\r\n {\r\n user: oauth ? null : email,\r\n password: oauth ? null : password,\r\n clientId: localStorage.getItem(\"clipper_client_id\"),\r\n OAUTH: oauth\r\n },\r\n {\r\n headers:\r\n !oauth\r\n ? new HttpHeaders()\r\n : new HttpHeaders()\r\n .set(\"Authorization\", oauthAccessToken)\r\n })\r\n .pipe(\r\n catchError((err: any) => {\r\n this.handleLoginError();\r\n return throwError(() => err);\r\n }),\r\n map((r: ApiResult<LoginResult>) => {\r\n this.loggingIn = false;\r\n if (r.success) {\r\n return this.handleLoginResult(r);\r\n }\r\n return r;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Handle login error\r\n * @param error : the error\r\n */\r\n private handleLoginError() {\r\n localStorage.removeItem('clipper_login');\r\n this.loggingIn = false;\r\n }\r\n\r\n /**\r\n * Handle login result\r\n * @param loginResult : the login result\r\n */\r\n private handleLoginResult(\r\n loginResult: ApiResult<LoginResult>\r\n ): ApiResult<LoginResult> {\r\n if (loginResult.success) {\r\n // Store access token\r\n this.setToken(loginResult.value.token);\r\n\r\n // Update info\r\n localStorage.setItem(\r\n 'clipper_login',\r\n JSON.stringify(this._loginInfo)\r\n );\r\n\r\n this._loggedIn = true;\r\n }\r\n return loginResult;\r\n }\r\n\r\n /**\r\n * Perform logout\r\n */\r\n logout() {\r\n return this.httpClient.post<any>(this._serviceUri + '/logout', {}).pipe(\r\n map((r: any) => { return r; }),\r\n catchError((_e) => {\r\n this.clear();\r\n return of([]);\r\n }));\r\n }\r\n\r\n /**\r\n * Reset login refresh timer and login state\r\n */\r\n reset() {\r\n // Clear subscriptions\r\n if (this.tokenRefreshTimerSubscription) {\r\n this.tokenRefreshTimerSubscription.unsubscribe();\r\n this.tokenRefreshTimerSubscription = null;\r\n }\r\n this.tokenRefreshTimer = null;\r\n\r\n // Clear login info\r\n this._loginInfo = null;\r\n this._loggedIn = false;\r\n }\r\n\r\n /**\r\n * Clear login data\r\n */\r\n clear() {\r\n // Reset login\r\n this.reset();\r\n\r\n // Clear local storage\r\n sessionStorage.removeItem('clipper_jwt');\r\n localStorage.removeItem('clipper_login');\r\n }\r\n\r\n /**\r\n * Perform token refresh\r\n */\r\n private refresh() {\r\n return this.httpClient.post<ApiResult<LoginResult>>(\r\n this._serviceUri + '/refresh', {}\r\n ).pipe(map((r: ApiResult<LoginResult>) => {\r\n // Update token\r\n this.setToken(r.value.token);\r\n\r\n }));\r\n }\r\n\r\n /**\r\n * Get a new one time password\r\n * @param id: the optional repository id \r\n */\r\n newOTP(id: string) {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/otp/new/?id=' + id,\r\n );\r\n }\r\n\r\n /**\r\n * Load home personalized contents\r\n */\r\n home() {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/account/home'\r\n );\r\n }\r\n\r\n\r\n /**\r\n * Query documents\r\n */\r\n query(params: ClipperSearchParams) {\r\n return this.httpClient.post<ApiResult<ClipperSearchResult>>(\r\n this._serviceUri + '/documents',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Get facets for a query\r\n */\r\n queryFacets(params: ClipperSearchParams) {\r\n return this.httpClient.post<ApiResult<ClipperSearchFacetsResult>>(\r\n this._serviceUri + '/documents/facets',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Export a document in pdf format\r\n */\r\n exportPdf(id: string) {\r\n return this.httpClient.get(\r\n this._serviceUri + '/documents/export/' + id,\r\n { responseType: 'blob' }\r\n );\r\n }\r\n\r\n /**\r\n * Export document list (query or selected items) or export deadlines as ics\r\n */\r\n export(params: any) {\r\n return this.httpClient.post(\r\n this._serviceUri + '/documents/export',\r\n params,\r\n { responseType: 'blob' }\r\n );\r\n }\r\n\r\n /**\r\n * Send documents link by email\r\n */\r\n sendTo(params: any) {\r\n return this.httpClient.post<ApiResult<number>>(\r\n this._serviceUri + '/documents/send',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Display a page the full document report\r\n */\r\n report(id: string) {\r\n return this.httpClient.get(\r\n this._serviceUri + '/documents/report/' + id,\r\n { responseType: 'blob' }\r\n );\r\n }\r\n\r\n /**\r\n * Get document comment\r\n */\r\n comment(id: string) {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/documents/comment/' + id\r\n );\r\n }\r\n\r\n /**\r\n * Get document info\r\n */\r\n info(id: string) {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/documents/info/' + id\r\n );\r\n }\r\n\r\n /**\r\n * Get document structure\r\n */\r\n index(id: string) {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/documents/structure/' + id\r\n );\r\n }\r\n\r\n /**\r\n * Get document last update\r\n */\r\n lastUpdate(id: string) {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/documents/last-update/' + id\r\n );\r\n }\r\n\r\n /**\r\n * Query document references\r\n */\r\n references(params: ClipperReferencesSearchParams) {\r\n let mode = params.mode;\r\n if (!mode) mode = ClipperQueryReferencesMode.ReferencesIn;\r\n switch (mode) {\r\n case ClipperQueryReferencesMode.ReferencesIn:\r\n case ClipperQueryReferencesMode.ReferencesOut:\r\n params.mode = mode;\r\n return this.httpClient.post<ApiResult<ClipperSearchResult>>(\r\n this._serviceUri + '/documents/references',\r\n params\r\n );\r\n case ClipperQueryReferencesMode.ChangesIn:\r\n case ClipperQueryReferencesMode.ChangesOut:\r\n return this.httpClient.post<ApiResult<ClipperSearchResult>>(\r\n this._serviceUri + '/documents/changes',\r\n params\r\n );\r\n case ClipperQueryReferencesMode.Juris:\r\n return this.httpClient.post<ApiResult<ClipperSearchResult>>(\r\n this._serviceUri + '/documents/juris',\r\n params\r\n );\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Get facets for a document references\r\n */\r\n referencesFacets(params: ClipperSearchParams) {\r\n let mode = params.mode ?? ClipperQueryReferencesMode.ReferencesIn; \r\n switch (mode) {\r\n case ClipperQueryReferencesMode.ReferencesIn:\r\n case ClipperQueryReferencesMode.ReferencesOut:\r\n params.mode = mode;\r\n return this.httpClient.post<ApiResult<ClipperSearchFacetsResult>>(\r\n this._serviceUri + '/documents/references/facets',\r\n params\r\n );\r\n case ClipperQueryReferencesMode.ChangesIn:\r\n case ClipperQueryReferencesMode.ChangesOut:\r\n return this.httpClient.post<ApiResult<ClipperSearchFacetsResult>>(\r\n this._serviceUri + '/documents/changes/facets',\r\n params\r\n );\r\n case ClipperQueryReferencesMode.Juris:\r\n return this.httpClient.post<ApiResult<ClipperSearchFacetsResult>>(\r\n this._serviceUri + '/documents/juris/facets',\r\n params\r\n );\r\n default: return null;\r\n }\r\n }\r\n\r\n /**\r\n * Get document juris articles\r\n */\r\n jurisArticles(params: ClipperSearchParams) {\r\n return this.httpClient.post<ApiResult<ClipperSearchResult>>(\r\n this._serviceUri + '/documents/juris/articles',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Convert folders in a tree of Node object.\r\n * @param folders : the subfolders group or null to root\r\n */\r\n toNodes(folders: any[]): any {\r\n return this._toNodes(folders, null);\r\n }\r\n\r\n /**\r\n * Convert folders in a tree of Node object.\r\n * @param folders : the subfolders group or null to root\r\n */\r\n private _toNodes(folders: INode[], parent: INode): INode[] {\r\n let nodes: INode[] = [];\r\n folders.forEach((n: any) => {\r\n let node: INode = {\r\n id: n.id,\r\n name: n.name,\r\n count: n.itemsCount,\r\n parent: parent,\r\n children: null,\r\n bag: n,\r\n };\r\n node.children =\r\n n.subFolders && n.subFolders.length > 0\r\n ? this._toNodes(n.subFolders, node)\r\n : [];\r\n nodes.push(node);\r\n });\r\n return nodes;\r\n }\r\n\r\n /**\r\n * Retrieve the taxonomy\r\n */\r\n getTaxonomy(params: any = null) {\r\n if (params == null) {\r\n params = { documentModel: 0, countItems: false };\r\n }\r\n return this.httpClient.post<ApiResult<any>>(\r\n this._serviceUri + '/taxonomy',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Retrieve topics\r\n */\r\n getTopics() {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/topics'\r\n );\r\n }\r\n\r\n /**\r\n * Load bag\r\n */\r\n loadBag() {\r\n this.httpClient\r\n .get<ApiResult<any>>(\r\n this._serviceUri + '/documents/working'\r\n )\r\n .subscribe((r: any) => {\r\n if (!r.success) this.dialogService.error(r.message);\r\n else {\r\n if (r.value) {\r\n this._bag = [];\r\n r.value.forEach((n: any) => {\r\n this._bag.push(JSON.parse(n.documentDescriptor));\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Add one or more documents to the bag\r\n * @param ids the document ids to add\r\n */\r\n addToBag(ids: string[]) {\r\n return this.httpClient\r\n .post<ApiResult<any>>(\r\n this._serviceUri + '/documents/working/add',\r\n { documentIds: ids }\r\n )\r\n .pipe(\r\n map((r: any) => {\r\n if (!r.success) this.dialogService.error(r.message);\r\n else {\r\n if (r.value) {\r\n r.value.forEach((n: any) => {\r\n this._bag.push(JSON.parse(n.documentDescriptor));\r\n });\r\n return r;\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Remove from bag\r\n * @param id : the document id\r\n */\r\n removeFromBag(id: string) {\r\n return this.httpClient\r\n .post<ApiResult<any>>(\r\n this._serviceUri + '/documents/working/delete',\r\n { documentIds: [id] }\r\n )\r\n .pipe(\r\n map((r: any) => {\r\n if (!r.success) this.dialogService.error(r.message);\r\n else {\r\n let p = SystemUtils.arrayFindIndexByKey(\r\n this._bag,\r\n 'DocumentId',\r\n id\r\n );\r\n if (p !== -1) {\r\n this._bag.splice(p, 1);\r\n return r;\r\n }\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\nimport { Observable, catchError, throwError } from 'rxjs';\r\nimport { ClipperService } from '../services/clipper.service';\r\n\r\n@Injectable()\r\nexport class ClipperAuthInterceptor implements HttpInterceptor {\r\n private clipperService = inject(ClipperService);\r\n private dialogService = inject(DialogService);\r\n\r\n intercept(\r\n request: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n // Add width-credentials\r\n request = request.clone({ withCredentials: true });\r\n return next.handle(this.addTokenToRequest(request))\r\n .pipe(\r\n catchError((err: any) => {\r\n if (request.url.startsWith(this.clipperService.serviceUri)) {\r\n // Get the message\r\n let message = err.error?.message || err.message || \"Impossibile eseguire l'operazione richiesta.\";\r\n let invalidSession = err.status === 401;\r\n switch (err.status) {\r\n case 0:\r\n case 500:\r\n case 502:\r\n case 503:\r\n case 504:\r\n message = null; // No messages\r\n break;\r\n case 403:\r\n message = \"<p>Non hai i permessi necessari per eseguire l'operazione richiesta.</p>\";\r\n break;\r\n default:\r\n message = '<p>' + message.replaceAll('\\r\\n', '</p><p>') + '</p>';\r\n break;\r\n }\r\n // Display message\r\n if (message) {\r\n setTimeout(() => {\r\n this.dialogService.error(message, null, 'Errore in Clipper', 'Ok', 500, invalidSession ? 5000 : null).afterClosed().subscribe(() => {\r\n if (invalidSession) {\r\n if (this.clipperService.loggedIn) {\r\n this.clipperService.reset();\r\n }\r\n }\r\n });\r\n }, 250);\r\n } \r\n }\r\n return throwError(() => err);\r\n }));\r\n }\r\n\r\n\r\n /**\r\n * Add token to request\r\n * @param request : the request\r\n * @param token: the token or null to use curre3nt\r\n */\r\n private addTokenToRequest(\r\n request: HttpRequest<any>,\r\n token: string = null\r\n ): HttpRequest<any> {\r\n if (request.url.startsWith(this.clipperService.serviceUri)) {\r\n if (!token) token = this.clipperService.getToken();\r\n if (token) {\r\n return request.clone({\r\n setHeaders: {\r\n Authorization: 'Bearer ' + token,\r\n 'ngsw-bypass': 'ngsw-bypass'\r\n },\r\n });\r\n }\r\n }\r\n return request;\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { ClipperAuthInterceptor } from './interceptors/auth.interceptor';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n providers: [ \r\n { provide: HTTP_INTERCEPTORS, useClass: ClipperAuthInterceptor, multi: true }, \r\n ],\r\n})\r\nexport class ArsClipperCommonModule {}\r\n\r\n// Other exports\r\nexport * from './messages';\r\nexport * from './definitions';\r\nexport * from './services/clipper.service';\r\n\r\n","/*\r\n * Public API Surface of ars-utils\r\n */\r\n\r\nexport * from './common/common.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["catchError"],"mappings":"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"}
1
+ {"version":3,"file":"arsedizioni-ars-utils-clipper.common.mjs","sources":["../../../projects/ars-utils/clipper.common/common/definitions.ts","../../../projects/ars-utils/clipper.common/common/messages.ts","../../../projects/ars-utils/clipper.common/common/services/clipper.service.ts","../../../projects/ars-utils/clipper.common/common/interceptors/auth.interceptor.ts","../../../projects/ars-utils/clipper.common/common/common.module.ts","../../../projects/ars-utils/clipper.common/public_api.ts","../../../projects/ars-utils/clipper.common/arsedizioni-ars-utils-clipper.common.ts"],"sourcesContent":["import { NameValueItem } from '@arsedizioni/ars-utils/core';\r\n\r\n\r\nexport enum ClipperSelectionMode {\r\n Single = 1,\r\n Multi = 2,\r\n Any = 3\r\n}\r\n\r\nexport enum ClipperModuleGroup {\r\n Home = 0,\r\n NormativaVigente = 1,\r\n RimaniAggiornato = 2,\r\n Contributi = 3,\r\n DGInfo = 4,\r\n Calendario = 11,\r\n Archivio = 12\r\n}\r\n\r\nexport enum ClipperModule {\r\n NormativaVigente = 101,\r\n News = 201,\r\n GazzetteBollettiniEFontiDiverse = 202,\r\n Giurisprudenza = 203,\r\n ModificheAbrogazioniERinvii = 204,\r\n ScadenzeESegnalazioni = 205,\r\n AllerteAlimentari = 206,\r\n Approfondimenti = 301,\r\n QuesitiECasiRisolti = 302,\r\n MetodiDiAnalisi = 303,\r\n Search= 999\r\n\r\n}\r\n\r\nexport enum ClipperModel {\r\n Unknown = 0,\r\n AggiornamentoNormativo = 2,\r\n News = 3,\r\n Articoli = 4,\r\n Juris = 5,\r\n Quesiti = 6,\r\n NormativaVigente = 9,\r\n Scadenza = 10,\r\n Coordinamento = 11,\r\n AllerteAlimentari = 13,\r\n MetodiDiAnalisi = 14,\r\n Segnalazione = 20\r\n}\r\n\r\nexport const ClipperModels: NameValueItem<number>[] = [\r\n { value: ClipperModel.AggiornamentoNormativo, name: \"Aggiornamento normativo\" },\r\n { value: ClipperModel.News, name: 'News' },\r\n { value: ClipperModel.Articoli, name: 'Articoli' },\r\n { value: ClipperModel.Juris, name: 'Juris' },\r\n { value: ClipperModel.Quesiti, name: 'Quesiti' },\r\n { value: ClipperModel.NormativaVigente, name: 'Normativa vigente' },\r\n { value: ClipperModel.Scadenza, name: 'Scadenze' },\r\n { value: ClipperModel.AllerteAlimentari, name: 'Allerte alimentari' },\r\n { value: ClipperModel.MetodiDiAnalisi, name: 'Metodi di analisi' }\r\n]\r\n\r\nexport const ClipperModuleGroups: NameValueItem<number>[] = [\r\n { name: \"\", value: ClipperModuleGroup.Home },\r\n { name: \"Normativa vigente\", value: ClipperModuleGroup.NormativaVigente },\r\n { name: \"Rimani aggiornato\", value: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Contributi\", value: ClipperModuleGroup.Contributi },\r\n { name: \"DG Info\", value: ClipperModuleGroup.DGInfo },\r\n { name: \"Calendario\", value: ClipperModuleGroup.Calendario },\r\n { name: \"Archivio\", value: ClipperModuleGroup.Archivio }\r\n];\r\n\r\nexport const ClipperModules: NameValueItem<number>[] = [\r\n { name: \"Normativa vigente\", value: ClipperModule.NormativaVigente, parentValue: ClipperModuleGroup.NormativaVigente },\r\n { name: \"News e approfondimenti\", value: ClipperModule.News, parentValue: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Gazzette, Bollettini e fonti deverse\", value: ClipperModule.GazzetteBollettiniEFontiDiverse, parentValue: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Giurisprudenza\", value: ClipperModule.Giurisprudenza, parentValue: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Modifiche, abrogazioni e rinvii\", value: ClipperModule.ModificheAbrogazioniERinvii, parentValue: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Scadenze e segnalazioni\", value: ClipperModule.ScadenzeESegnalazioni, parentValue: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Allerte alimentari\", value: ClipperModule.AllerteAlimentari, parentValue: ClipperModuleGroup.RimaniAggiornato },\r\n { name: \"Approfondimenti\", value: ClipperModule.Approfondimenti, parentValue: ClipperModuleGroup.Contributi },\r\n { name: \"Quesiti e casi risoli\", value: ClipperModule.QuesitiECasiRisolti, parentValue: ClipperModuleGroup.Contributi },\r\n { name: \"Medodi di analisi\", value: ClipperModule.MetodiDiAnalisi, parentValue: ClipperModuleGroup.Contributi }\r\n]\r\n\r\nexport const ClipperChannels: NameValueItem<string>[] = [\r\n { value: \"LA\", name: \"Lavoro e Ambiente\" },\r\n { value: \"SA\", name: \"Sostanze Alimentari\" },\r\n { value: \"E\", name: \"Energia\" },\r\n { value: \"OP\", name: \"Merci Pericolose\" }\r\n]\r\n\r\nexport const ClipperRegions: NameValueItem<string>[] = [\r\n {\r\n value: '4RAB',\r\n name: 'Abruzzo',\r\n },\r\n {\r\n value: '4RBA',\r\n name: 'Basilicata',\r\n },\r\n {\r\n value: '4RCAL',\r\n name: 'Calabria',\r\n },\r\n {\r\n value: '4RCAM',\r\n name: 'Campania',\r\n },\r\n {\r\n value: '4REM',\r\n name: 'Emilia Romagna',\r\n },\r\n {\r\n value: '4RFVG',\r\n name: 'Friuli Venezia Giulia',\r\n },\r\n {\r\n value: '4RLA',\r\n name: 'Lazio',\r\n },\r\n {\r\n value: '4RLI',\r\n name: 'Liguria',\r\n },\r\n {\r\n value: '4RLO',\r\n name: 'Lombardia',\r\n },\r\n {\r\n value: '4RMA',\r\n name: 'Marche',\r\n },\r\n {\r\n value: '4RMO',\r\n name: 'Molise',\r\n },\r\n {\r\n value: '4RPI',\r\n name: 'Piemonte',\r\n },\r\n {\r\n value: '4RPU',\r\n name: 'Puglia',\r\n },\r\n {\r\n value: '4RSA',\r\n name: 'Sardegna',\r\n },\r\n {\r\n value: '4RSI',\r\n name: 'Sicilia',\r\n },\r\n {\r\n value: '4RTO',\r\n name: 'Toscana',\r\n },\r\n {\r\n value: '4RTAA',\r\n name: 'Trentino Alto Adige',\r\n },\r\n {\r\n value: '4RUM',\r\n name: 'Umbria',\r\n },\r\n {\r\n value: '4RVA',\r\n name: \"Valle D'Aosta\",\r\n },\r\n {\r\n value: '4RVE',\r\n name: 'Veneto',\r\n },\r\n {\r\n value: '4PAT',\r\n name: 'Prov. Aut. Trento',\r\n },\r\n {\r\n value: '4PAB',\r\n name: 'Prov. Aut. Bolzano',\r\n }\r\n]\r\n\r\nexport interface SectorInfo extends NameValueItem<string> {\r\n\r\n shortName?: string | null;\r\n group?: string | null;\r\n channels?: string | null;\r\n sectorId?: string | null;\r\n}\r\n\r\nexport const ClipperSectors: SectorInfo[] = [\r\n {\r\n value: 'LC',\r\n name: 'Legislazione comunitaria',\r\n shortName: 'Comunitaria',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'LN',\r\n name: 'Legislazione nazionale',\r\n shortName: 'Nazionale',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n\r\n {\r\n value: 'LR',\r\n name: 'Legislazione regionale',\r\n shortName: 'Regionale',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RAB',\r\n name: ' Abruzzo',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4PAB',\r\n name: ' Prov. Aut. Bolzano',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RBA',\r\n name: ' Basilicata',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RCAL',\r\n name: ' Calabria',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RCAM',\r\n name: ' Campania',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4REM',\r\n name: ' Emilia Romagna',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RFVG',\r\n name: ' Friuli Venezia Giulia',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RLA',\r\n name: ' Lazio',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RLI',\r\n name: ' Liguria',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RLO',\r\n name: ' Lombardia',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RMA',\r\n name: ' Marche',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RMO',\r\n name: ' Molise',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RPI',\r\n name: ' Piemonte',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RPU',\r\n name: ' Puglia',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RSA',\r\n name: ' Sardegna',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RSI',\r\n name: ' Sicilia',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RTO',\r\n name: ' Toscana',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RTAA',\r\n name: ' Trentino Alto Adige',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4PAT',\r\n name: ' Prov. Aut. Trento',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RUM',\r\n name: ' Umbria',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RVA',\r\n name: \" Valle D'Aosta\",\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: '4RVE',\r\n name: ' Veneto',\r\n group: 'A',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'GC',\r\n name: 'Giurisprudenza comunitaria',\r\n shortName: 'Giuris. comunitaria',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'GN',\r\n name: 'Giurisprudenza nazionale',\r\n shortName: 'Giurisprudenza',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'TN',\r\n name: 'Normativa tecnica',\r\n shortName: 'Tecnica',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'TI',\r\n name: 'Normativa tecnica internazionale',\r\n shortName: 'Tecnica internaz.',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'NI',\r\n name: 'Normativa internazionale',\r\n shortName: 'Internazionale',\r\n group: 'S',\r\n channels: '|LA|SA|OP|E|',\r\n },\r\n {\r\n value: 'SN',\r\n name: 'Documentazione scientifica',\r\n shortName: 'Scientifica',\r\n group: 'S',\r\n channels: '|SA|',\r\n },\r\n]\r\n\r\nexport const ClipperSectorTypes: NameValueItem<string>[] = [\r\n\r\n {\r\n parentValue: 'NI',\r\n value: '14',\r\n name: 'Convenzione Internazionale',\r\n },\r\n {\r\n parentValue: 'NI',\r\n value: '6',\r\n name: 'Accordo Multilaterale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '4',\r\n name: 'Accordo (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '75',\r\n name: 'Altri documenti (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '17',\r\n name: 'Circolare Commissariale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '58',\r\n name: 'Circolare (Comitati)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '10',\r\n name: 'Circolare Ministeriale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '13',\r\n name: 'Comunicato (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '15',\r\n name: 'Costituzione della Repubblica',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '18',\r\n name: 'Decreto Commissariale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '21',\r\n name: 'Decreto Capo Provv. Stato',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '22',\r\n name: 'Decreto Pres. Cons. Ministri',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '25',\r\n name: 'Decreto Presidente Repubblica',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '27',\r\n name: 'Decreto Legge',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '28',\r\n name: 'Decreto Legge Luogotenenziale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '29',\r\n name: 'D.Lgs. Capo Provv. Stato',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '30',\r\n name: 'D.Lgs. Governo',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '32',\r\n name: 'D.Lgs. Luogotenenziale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '33',\r\n name: 'Decreto Luogotenenziale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '34',\r\n name: 'Decreto Ministeriale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '35',\r\n name: 'Deliberazione (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '47',\r\n name: 'Determinazione (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '26',\r\n name: 'Documento di consultazione',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '48',\r\n name: 'Legge',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '42',\r\n name: 'Lettera Circolare (Comitati)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '43',\r\n name: 'Lettera Circolare Ministeriale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '56',\r\n name: 'Nota Ministeriale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '91',\r\n name: 'Ordinanza Commissariale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '82',\r\n name: 'Ordinanza Pres. Cons. Ministri',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '57',\r\n name: 'Ordinanza Ministeriale',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '76',\r\n name: 'Provvedimento (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '66',\r\n name: 'Regio Decreto',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '67',\r\n name: 'Regio Decreto Legge',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '68',\r\n name: 'Regio Decreto Legislativo',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '71',\r\n name: 'Statuto delle Regioni Ordinarie',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '2',\r\n name:\r\n 'Accordi CEE/CE/UE con Stati terzi o altri soggetti',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '7',\r\n name: 'Atti diversi CEE/UE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '92',\r\n name: 'Comunicazione CE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '87',\r\n name: 'Decisione CEE/CEEA/CECA',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '39',\r\n name: 'Direttiva CEE/CEEA/CE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '89',\r\n name: 'Parere CE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '95',\r\n name: 'Raccomandazione CE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '64',\r\n name: 'Regolamento CEE/UE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '96',\r\n name: 'Risoluzione CE',\r\n },\r\n {\r\n parentValue: 'LC',\r\n value: '78',\r\n name: 'Trattato CEE',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '69',\r\n name: 'Altri documenti (reg.)',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '11',\r\n name: 'Circolare Pres. Giunta Reg.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '46',\r\n name: \"Circolare dell'Assessore\",\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '83',\r\n name: 'Circolare reg.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '70',\r\n name: 'Comunicato (reg.)',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '80',\r\n name: 'Decreto del Dirigente',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '24',\r\n name: 'Decreto Pres. Giunta Prov.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '23',\r\n name: 'Decreto Pres. Giunta Reg.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '19',\r\n name: \"Decreto dell'Assessore Regionale\",\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '31',\r\n name: 'Delib. Consiglio Prov.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '36',\r\n name: 'Delib. Consiglio Reg.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '37',\r\n name: 'Delib. Giunta Prov.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '38',\r\n name: 'Delib. Giunta Reg.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '81',\r\n name: 'Determinazione del Dirigente',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '12',\r\n name: 'Direttiva (reg.)',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '49',\r\n name: 'Legge Prov. Aut.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '50',\r\n name: 'Legge Regionale',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '51',\r\n name: 'Linee guida (reg.)',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '9',\r\n name: 'Ordinanza Pres. Prov.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '55',\r\n name: 'Ordinanza Pres. Reg.',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '85',\r\n name: 'Provvedimento (reg.)',\r\n },\r\n {\r\n parentValue: 'LR',\r\n value: '65',\r\n name: 'Regolamento Regionale',\r\n },\r\n {\r\n parentValue: 'GN',\r\n value: '63',\r\n name: 'Decisione',\r\n },\r\n {\r\n parentValue: 'GN',\r\n value: '41',\r\n name: 'Decreto Penale',\r\n },\r\n {\r\n parentValue: 'GN',\r\n value: '54',\r\n name: 'Ordinanza',\r\n },\r\n {\r\n parentValue: 'GN',\r\n value: '62',\r\n name: 'Ricorso',\r\n },\r\n {\r\n parentValue: 'GN',\r\n value: '72',\r\n name: 'Sentenza',\r\n },\r\n {\r\n parentValue: 'GC',\r\n value: '88',\r\n name: 'Ordinanza CE',\r\n },\r\n {\r\n parentValue: 'GC',\r\n value: '90',\r\n name: 'Sentenza CE',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '73',\r\n name: 'Altri documenti (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '44',\r\n name: 'Circolare (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '20',\r\n name: 'Comunicato (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '60',\r\n name: 'Decreto (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '40',\r\n name: 'Delibera (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '53',\r\n name: 'Fascicolo (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '45',\r\n name: 'Istruzione Tecnica',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '59',\r\n name: 'Lettera Circolare (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '79',\r\n name: 'Linee guida (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '98',\r\n name: 'Norma Tecnica',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '97',\r\n name: 'Opuscolo Tecnico',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '77',\r\n name: 'Pubblicazione (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '86',\r\n name: 'Quaderno',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '52',\r\n name: 'Regolamento (Enti ed Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '84',\r\n name: 'Istruzione Operativa (Enti e Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '94',\r\n name: 'Nota (Enti e Istituti)',\r\n },\r\n {\r\n parentValue: 'NI',\r\n value: '104',\r\n name: 'Regolamento UNECE',\r\n },\r\n {\r\n parentValue: 'SN',\r\n value: '105',\r\n name: 'Documento',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '106',\r\n name: 'Direttiva (Enti e Istituti)',\r\n },\r\n {\r\n parentValue: 'TN',\r\n value: '74',\r\n name: 'Prassi di riferimento',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '16',\r\n name: 'Linee guida (naz.)',\r\n },\r\n {\r\n parentValue: 'LN',\r\n value: '3',\r\n name: 'Direttiva (naz.)',\r\n },\r\n {\r\n parentValue: 'TI',\r\n value: '107',\r\n name: 'Normativa Tecnica Internazionale',\r\n },\r\n]\r\n\r\nexport const ClipperAuthors: SectorInfo[] = [\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RAB',\r\n name: 'Abruzzo',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RBA',\r\n name: 'Basilicata',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RCAL',\r\n name: 'Calabria',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RCAM',\r\n name: 'Campania',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4REM',\r\n name: 'Emilia Romagna',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RFVG',\r\n name: 'Friuli Venezia Giulia',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RLA',\r\n name: 'Lazio',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RLI',\r\n name: 'Liguria',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RLO',\r\n name: 'Lombardia',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RMA',\r\n name: 'Marche',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RMO',\r\n name: 'Molise',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RPI',\r\n name: 'Piemonte',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RPU',\r\n name: 'Puglia',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RSA',\r\n name: 'Sardegna',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RSI',\r\n name: 'Sicilia',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RTO',\r\n name: 'Toscana',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RTAA',\r\n name: 'Trentino Trentino Alto Adige',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RUM',\r\n name: 'Umbria',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RVA',\r\n name: \"Valle D'Aosta\",\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4RVE',\r\n name: 'Veneto',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4PAB',\r\n name: 'Prov. Autonoma di Bolzano',\r\n },\r\n {\r\n sectorId: 'LR',\r\n channels: null,\r\n value: '4PAT',\r\n name: 'Prov. Autonoma di Trento',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|',\r\n value: '6CEI',\r\n name: 'C.E.I. - Comitato Elettrotecnico Italiano',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|SA|',\r\n value: '6CNR',\r\n name: 'C.N.R. - Consiglio Nazionale delle Ricerche',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|',\r\n value: '6ENPI',\r\n name: 'E.N.P.I. - Ente Nazionale Prevenzione Infortuni',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|',\r\n value: '6INAI',\r\n name:\r\n 'I.N.A.I.L. - Istituto nazionale Assicurazione Infortuni sul Lavoro',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|',\r\n value: '6ISPS',\r\n name:\r\n 'I.S.P.E.S.L. - Istituto Superiore per la Prevenzione e la Sicurezza del Lavoro',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|',\r\n value: '6INPS',\r\n name: 'I.N.P.S. - Istituto Nazionale Previdenza Sociale',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|SA|',\r\n value: '6ISS',\r\n name: 'I.S.S. - Istituto Superiore di Sanità',\r\n },\r\n {\r\n sectorId: 'TN',\r\n channels: '|LA|SA|',\r\n value: '6UNI',\r\n name: 'U.N.I. - Ente Nazionale Italiano di Unificazione',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CC',\r\n name: 'Corte Costituzionale',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CCC',\r\n name: 'Corte di Cassazione Civile',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CCP',\r\n name: 'Corte di Cassazione Penale',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CASA',\r\n name: \"Corte d'Assise d'Appello\",\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CAS',\r\n name: \"Corte d'Assise\",\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CA',\r\n name: \"Corte d'Appello\",\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5PCA',\r\n name: \"Procura Generale Corte d'Appello\",\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5GDP',\r\n name: 'Giudice di Pace',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5PR',\r\n name: 'Procura della Repubblica',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5T',\r\n name: 'Tribunale',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5P',\r\n name: 'Pretura',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CDS',\r\n name: 'Consiglio di Stato',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5TAR',\r\n name: 'Tribunale Amministrativo Regionale',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5TSA',\r\n name: 'Tribunale Superiore delle Acque',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5TGA',\r\n name: 'Tribunale Regionale acque',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CTP',\r\n name: 'Commissione Tributaria Provinciale',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CTR',\r\n name: 'Commissione Tributaria Regionale',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CGAS',\r\n name: 'Cons. di Giustizia Amm.va della Sicilia',\r\n },\r\n {\r\n sectorId: 'GN',\r\n channels: null,\r\n value: '5CDC',\r\n name: 'Corte dei Conti',\r\n },\r\n {\r\n sectorId: 'GC',\r\n channels: null,\r\n value: '3CJCE',\r\n name: 'Corte di Giustizia CEE/CE',\r\n },\r\n {\r\n sectorId: 'GC',\r\n channels: null,\r\n value: '3CEDM',\r\n name: \"Corte Europea per i Diritti dell'Uomo\",\r\n },\r\n {\r\n sectorId: 'GC',\r\n channels: null,\r\n value: '3CWJ',\r\n name: 'Corte Internazionale di Giustizia',\r\n },\r\n {\r\n sectorId: 'GC',\r\n channels: null,\r\n value: '3T1CE',\r\n name: 'Tribunale di Primo Grado CEE/CE',\r\n },\r\n]\r\n\r\nexport const ClipperSources: NameValueItem<string>[] = [\r\n {\r\n value: 'ACCML',\r\n name: 'Accordi Multilaterali',\r\n },\r\n {\r\n value: 'AEEG',\r\n name: \"Sito Autorità per l'Energia Elettrica, il Gas e il Sistema Idrico\",\r\n },\r\n {\r\n value: 'ARERA',\r\n name: 'Sito Autorità di Regolazione per Energia, Reti e Ambiente',\r\n },\r\n {\r\n value: 'BUR',\r\n name: 'Bollettino Uff. Regione',\r\n },\r\n {\r\n value: 'BUS',\r\n name: 'Suppl. speciale al Bollettino Uff.',\r\n },\r\n {\r\n value: 'BUSO',\r\n name: 'Suppl. ordin. al Bollettino Uff.',\r\n },\r\n {\r\n value: 'BUSS',\r\n name: 'Suppl. straord. al Bollettino Uff.',\r\n },\r\n {\r\n value: 'GU',\r\n name: 'Gazzetta Ufficiale Italiana',\r\n },\r\n {\r\n value: 'GUCC',\r\n name: 'Gazz. Uff. Corte Costituzionale',\r\n },\r\n {\r\n value: 'GUCE',\r\n name: 'Gazzetta ufficiale delle Comunità europee',\r\n },\r\n {\r\n value: 'GUES',\r\n name: 'Gazz. Uff. Ediz. Speciale',\r\n },\r\n {\r\n value: 'GURS',\r\n name: 'Gazz. Uff. Regione Sicilia',\r\n },\r\n {\r\n value: 'GUS',\r\n name: 'Gazz. Uff. Serie Speciale',\r\n },\r\n {\r\n value: 'GUSO',\r\n name: 'Suppl. ordin. alla Gazzetta Ufficiale',\r\n },\r\n {\r\n value: 'GUSS',\r\n name: 'Suppl. straord. alla Gazzetta Ufficiale',\r\n },\r\n {\r\n value: 'GUUE',\r\n name: 'Gazzetta ufficiale dell’Unione europea',\r\n },\r\n {\r\n value: 'MAC',\r\n name: 'Massimario Civile',\r\n },\r\n {\r\n value: 'MAP',\r\n name: 'Massimario Penale',\r\n },\r\n {\r\n value: 'NONE',\r\n name: 'Fonti diverse',\r\n }\r\n]\r\n\r\nexport class ClipperSearchParams {\r\n searchId?: number | null = null;\r\n searchName?: string | null = null;\r\n text?: string | null = null;\r\n title?: string | null = null;\r\n titleOnly?: boolean | null = false;\r\n showUnreadDocumentsOnly?: boolean | null = false;\r\n showCommentedDocumentsOnly?: boolean | null = false;\r\n number?: string | null = null;\r\n fromDate?: Date | null = null;\r\n toDate?: Date | null = null;\r\n year?: number | null = null;\r\n sourceNumber?: string | null = null;\r\n source?: string | null = null;\r\n sourceFromDate?: Date | null = null;\r\n sourceToDate?: Date | null = null;\r\n sourceYear?: number | null = null;\r\n sector?: string | null = null;\r\n sectors?: SectorInfo[] | null = null;\r\n topic?: string | null = null;\r\n taxonomy?: string | null = null;\r\n taxonomyPath?: string | null = null;\r\n taxonomyNode?: string | null = null;\r\n type?: string | null = null;\r\n author?: string | null = null;\r\n authors?: NameValueItem<string>[] | null = null;\r\n changeReason?: number | null = null;\r\n changedNumber?: string | null = null;\r\n changedYear?: number | null = null;\r\n changedTitle?: string | null = null;\r\n modifierNumber?: string | null = null;\r\n modifierYear?: number | null = null;\r\n modifierTitle?: string | null = null;\r\n model?: number | null = null;\r\n module?: number | null = null;\r\n mode?: ClipperQueryReferencesMode | null = null;\r\n channels?: NameValueItem<string>[] | null = [...ClipperChannels];\r\n count?: number | null = 15;\r\n id?: string| null = null; \r\n anchor?: string | null = null;\r\n excludeTextReferences?: boolean | null = false;\r\n excludeNotesReferences?: boolean | null = false;\r\n useModifierInfo?: boolean | null = false;\r\n returnModifierInfo?: boolean | null = false;\r\n first?: number | null = 0;\r\n sortMode?: number | null = null;\r\n\r\n /**\r\n * Return a valid ClipperReferencesSearchParams\r\n * @returns a ClipperReferencesSearchParams object\r\n */\r\n toReferencesSearchParams(): ClipperReferencesSearchParams {\r\n return {\r\n documentId: this.id,\r\n year: this.year,\r\n sector: this.sector,\r\n author: this.author,\r\n anchor: this.anchor,\r\n model: this.model,\r\n mode: this.mode,\r\n excludeTextReferences: this.excludeTextReferences,\r\n excludeNotesReferences: this.excludeNotesReferences,\r\n returnModifierInfo: this.returnModifierInfo,\r\n useModifierInfo: this.useModifierInfo,\r\n count: 15,\r\n first: 0\r\n }\r\n }\r\n\r\n}\r\n\r\nexport interface ClipperReferencesSearchParams {\r\n documentId: string;\r\n year?: number | null;\r\n sector?: string | null;\r\n author?: string | null;\r\n anchor?: string | null;\r\n model?: number | null;\r\n mode?: ClipperQueryReferencesMode | null;\r\n excludeTextReferences?: boolean | null;\r\n excludeNotesReferences?: boolean | null;\r\n useModifierInfo?: boolean | null;\r\n returnModifierInfo?: boolean | null;\r\n count?: number | null;\r\n first?: number | null;\r\n}\r\n\r\nexport const ClipperDocumentChangeReason: NameValueItem<number>[] = [\r\n { name: 'Abrogazione', value: 1 },\r\n { name: 'Annullamento', value: 5 },\r\n { name: 'Modifica', value: 2 },\r\n { name: 'Sostiuzione', value: 3 },\r\n { name: 'Segnalazione', value: 6 },\r\n { name: 'Rettifica', value: 7 },\r\n]\r\n\r\nexport interface ClipperDocumentAnchorInfo {\r\n documentId: string;\r\n type: number;\r\n typeDescription: string;\r\n text: string;\r\n title?: string | null;\r\n uri: string;\r\n ordinal: string;\r\n score: number;\r\n veryRelevant?: boolean | null;\r\n}\r\n\r\nexport interface ClipperDocumentIndexInfo {\r\n type: number;\r\n typeDescription: string;\r\n text: string;\r\n title?: string | null;\r\n description?: string | null;\r\n value: string;\r\n level: number;\r\n}\r\n\r\nexport interface ClipperDocumentRelevants {\r\n items: ClipperDocumentAnchorInfo[];\r\n hits: number;\r\n hit: number;\r\n minimumScore: number;\r\n}\r\n\r\nexport interface ClipperDocumentInfo {\r\n id?: string | null;\r\n documentId?: string | null;\r\n model?: number;\r\n modelName?: string | null;\r\n module?: number | null;\r\n moduleName?: string | null;\r\n group?: string | null;\r\n title2?: string | null;\r\n title1?: string | null;\r\n number?: string | null;\r\n date?: Date | null;\r\n publishingDate?: Date | null;\r\n sourceNumber?: string | null;\r\n sourceDate?: Date | null;\r\n source?: string | null;\r\n origin?: string | null;\r\n originDescription?: string | null;\r\n author?: string | null;\r\n anchors?: ClipperDocumentAnchorInfo[] | null;\r\n taxonomy?: string | null;\r\n info?: string | null;\r\n isRead?: boolean | null;\r\n isExportable?: boolean | null;\r\n isCommented?: boolean | null;\r\n isJuris?: boolean | null;\r\n isOver?: boolean | null;\r\n isTrial?: boolean | null;\r\n isNew?: boolean | null;\r\n isExpired?: boolean | null;\r\n isExpiring?: boolean | null;\r\n isMenuOpen?: boolean | null;\r\n validityState?: number | null;\r\n validUntilDate?: Date | null;\r\n validityDescription?: string | null;\r\n validityInfo?: string | null;\r\n expiringDate?: Date | null;\r\n expiringDescription?: string | null;\r\n expiringInfo?: string | null;\r\n popularity?: number | null;\r\n part?: number | null;\r\n primaryId?: string | null;\r\n primaryDescription?: string | null;\r\n primaryModel?: number | null;\r\n hasPrimary?: boolean | null;\r\n secondaryId?: string | null;\r\n bag?: any | null;\r\n lastUpdate?: Date | null;\r\n\r\n}\r\n\r\nexport class ClipperSearchResult {\r\n days?: string | null = null;\r\n interval?: string | null = null;\r\n items?: ClipperDocumentInfo[] | null = null;\r\n facets?: ClipperSearchFacetsSnapshot | null = new ClipperSearchFacetsSnapshot();\r\n total?: number | null = null;\r\n searchInfo?: any | null = null;\r\n searchParams?: ClipperSearchParams | null = new ClipperSearchParams();\r\n snapshotMode?: ClipperQueryReferencesMode | null = null;\r\n}\r\n\r\nexport interface ClipperSearchFacet {\r\n type: number;\r\n typeName: string;\r\n title: string;\r\n value: string;\r\n count: number;\r\n}\r\n\r\nexport interface ClipperSearchFacetGroup {\r\n name: string;\r\n selectedValue?: string | null;\r\n selectedValueDescription?: string | null;\r\n values: ClipperSearchFacet[];\r\n index: number;\r\n}\r\n\r\nexport interface ClipperSearchFacetsResult {\r\n interval?: string | null;\r\n facets?: ClipperSearchFacet[][] | null;\r\n total?: number | null;\r\n}\r\n\r\n\r\nexport class ClipperSearchFacetsSnapshot {\r\n groups: ClipperSearchFacetGroup[] = [];\r\n usedGroups: ClipperSearchFacetGroup[] = [];\r\n hasFacets: boolean = false;\r\n hasMoreFacets: boolean = false;\r\n hasTooManyResults: boolean = false;\r\n sector?: string | null = null;\r\n author?: string | null = null;\r\n anchor?: string | null = null;\r\n type?: string | null = null;\r\n reason?: string | null = null;\r\n fromDate?: Date | null = null;\r\n toDate?: Date | null = null;\r\n interval?: string | null = null;\r\n changedInterval: boolean = false;\r\n changedSector: boolean = false;\r\n changedAuthor: boolean = false;\r\n changedAnchor: boolean = false;\r\n changedType: boolean = false;\r\n changedReason: boolean = false;\r\n}\r\n\r\nexport interface ClipperSearchCalendarSnapshotMonth {\r\n days: number[];\r\n monthShortName: string;\r\n monthName: string;\r\n month: number;\r\n year: number;\r\n total: number;\r\n expired: number;\r\n expiring: number;\r\n}\r\n\r\nexport class ClipperSearchCalendarSnapshotResult {\r\n months?: ClipperSearchCalendarSnapshotMonth[] | null = null;\r\n}\r\n\r\n\r\nexport const ClipperConfig: any = {\r\n // Client uri\r\n uri: null,\r\n\r\n // Service uri\r\n serviceUri: null,\r\n\r\n // Global state\r\n loggedIn: false,\r\n loginInfo: null\r\n};\r\n\r\nexport enum ClipperSort {\r\n Default = 0,\r\n Relevance = 1,\r\n DateAsc = 2,\r\n DateDesc = 3,\r\n SourceDateAsc = 4,\r\n SourceDateDesc = 5,\r\n Popularity = 6\r\n}\r\n\r\nexport enum ClipperQueryReferencesMode {\r\n ReferencesIn = 1,\r\n ReferencesOut = 2,\r\n ChangesIn = 3,\r\n ChangesOut = 5,\r\n Juris = 4\r\n}\r\n\r\nexport enum ClipperFacet {\r\n Sector = 1,\r\n Year = 2,\r\n DocumentType = 3,\r\n Topic = 4,\r\n Article = 5,\r\n Author = 6,\r\n Reason = 95\r\n}\r\n\r\n\r\nexport class ClipperUtils {\r\n\r\n /**\r\n * Return the Clipper group name\r\n * @param value: the group value \r\n * @returns the group name\r\n */\r\n static getClipperModuleGroupName(value: ClipperModuleGroup): string {\r\n return ClipperModuleGroups.filter((n) => n.value === value)?.[0].name;\r\n }\r\n\r\n /**\r\n * Return the list of modules of a group\r\n * @param value: the module name\r\n * @returns the list of modules\r\n */\r\n static getClipperModuleGroupItems(value: ClipperModuleGroup): NameValueItem<number>[] {\r\n return ClipperModules.filter((n) => n.parentValue === value);\r\n }\r\n\r\n /**\r\n * Return the list of available sort options for a list of modules\r\n * @param modules : the modules list\r\n * @returns the list of availbale sort options \r\n */\r\n static getClipperAvailableSortOptions(\r\n modules: NameValueItem<number>[] | undefined = undefined,\r\n params: ClipperSearchParams | undefined = undefined): NameValueItem<number>[] {\r\n const options: NameValueItem<number>[] = [\r\n { name: \"Data decrescente\", value: 1 },\r\n { name: \"Data crescente\", value: 2 },\r\n { name: \"Data fonte decrescente\", value: 3 },\r\n { name: \"Data fonte crescente\", value: 4 },\r\n { name: \"Rilevanza\", value: 5 },\r\n { name: \"Popolarità\", value: 6 },\r\n ];\r\n let sortOptions: NameValueItem<number>[] = []\r\n if (params && ClipperSearchUtils.isTextQuery(params)) {\r\n sortOptions.push(options[4]);\r\n }\r\n if (modules && modules.length > 0 && modules.length === 1) {\r\n if (modules[0].value === ClipperModule.NormativaVigente) {\r\n sortOptions.push(options[0]);\r\n sortOptions.push(options[1]);\r\n sortOptions.push(options[2]);\r\n sortOptions.push(options[3]);\r\n sortOptions.push(options[5]);\r\n } else if (modules[0].value === ClipperModule.GazzetteBollettiniEFontiDiverse) {\r\n sortOptions.push(options[2]);\r\n sortOptions.push(options[3]);\r\n } else {\r\n sortOptions.push(options[0]);\r\n sortOptions.push(options[1]);\r\n }\r\n } else {\r\n sortOptions.push(options[0]);\r\n sortOptions.push(options[1]);\r\n }\r\n return sortOptions;\r\n }\r\n\r\n}\r\n\r\nexport class ClipperSearchUtils {\r\n /**\r\n * Clear the search params object\r\n * @param params : the search params to clear\r\n */\r\n static clear(params: ClipperSearchParams) {\r\n params.sector = null;\r\n params.sectors = null;\r\n params.author = null;\r\n params.authors = null;\r\n params.topic = null;\r\n params.taxonomy = null;\r\n params.taxonomyPath = null;\r\n params.taxonomyNode = null;\r\n params.number = null;\r\n params.fromDate = null;\r\n params.toDate = null;\r\n params.year = null;\r\n params.sourceNumber = null;\r\n params.source = null;\r\n params.sourceFromDate = null;\r\n params.sourceToDate = null;\r\n params.sourceYear = null;\r\n params.text = null;\r\n params.titleOnly = false;\r\n params.type = null;\r\n params.showUnreadDocumentsOnly = false;\r\n params.showCommentedDocumentsOnly = false;\r\n params.channels = [...ClipperChannels];\r\n params.changeReason = null;\r\n params.changedNumber = null;\r\n params.changedYear = null;\r\n params.changedTitle = null;\r\n params.modifierNumber = null;\r\n params.modifierYear = null;\r\n params.modifierTitle = null;\r\n }\r\n\r\n /**\r\n * Prepare the module specific query\r\n * @param params : the search params to use\r\n * @param module : the module to prepare the search params for\r\n * @returns the new search params\r\n */\r\n static prepare(params: ClipperSearchParams, module: ClipperModule): ClipperSearchParams {\r\n let moduleParams: ClipperSearchParams = new ClipperSearchParams();\r\n moduleParams.channels = params.channels;\r\n moduleParams.text = params.text;\r\n moduleParams.titleOnly = params.titleOnly;\r\n moduleParams.first = params.first;\r\n moduleParams.count = params.count;\r\n moduleParams.sortMode = params.sortMode;\r\n switch (module) {\r\n case ClipperModule.ScadenzeESegnalazioni:\r\n case ClipperModule.QuesitiECasiRisolti:\r\n break;\r\n case ClipperModule.News:\r\n case ClipperModule.AllerteAlimentari:\r\n moduleParams.fromDate = params.fromDate;\r\n moduleParams.toDate = params.toDate;\r\n break;\r\n case ClipperModule.GazzetteBollettiniEFontiDiverse:\r\n case ClipperModule.NormativaVigente:\r\n moduleParams.sector = params.sector;\r\n moduleParams.sectors = params.sectors;\r\n moduleParams.author = params.author;\r\n moduleParams.authors = params.authors;\r\n moduleParams.type = params.type;\r\n moduleParams.topic = params.topic;\r\n moduleParams.number = params.number;\r\n moduleParams.year = params.year;\r\n moduleParams.fromDate = params.fromDate;\r\n moduleParams.toDate = params.toDate;\r\n moduleParams.showCommentedDocumentsOnly = params.showCommentedDocumentsOnly;\r\n moduleParams.source = params.source;\r\n moduleParams.sourceNumber = params.sourceNumber;\r\n moduleParams.sourceYear = params.sourceYear;\r\n moduleParams.sourceFromDate = params.sourceFromDate;\r\n moduleParams.sourceToDate = params.sourceToDate;\r\n break;\r\n case ClipperModule.Giurisprudenza:\r\n moduleParams.sector = params.sector;\r\n moduleParams.sectors = params.sectors;\r\n moduleParams.number = params.number;\r\n moduleParams.year = params.year;\r\n moduleParams.fromDate = params.fromDate;\r\n moduleParams.toDate = params.toDate;\r\n break;\r\n }\r\n return moduleParams;\r\n\r\n }\r\n\r\n /**\r\n * Check if current filter is a text based search \r\n * @param params : the search params to check\r\n * @returns true if is a text based search\r\n */\r\n static isTextQuery(params: ClipperSearchParams): boolean {\r\n return params.text != null && params.text?.length > 0;\r\n }\r\n\r\n /**\r\n * Try to add a query\r\n * @param q : the new query\r\n * @param queries : the new query\r\n */\r\n private static concatTextQuery(q: string, queries: string): string {\r\n if (q && q.length > 0) {\r\n if (queries.length == 0 && (q[0] === '+' || q[0] === '-'))\r\n q = q.substring(1);\r\n if (q[q.length - 1] !== '\\\"' && q.indexOf(' ') !== -1)\r\n q = \"\\\"\" + q + \"\\\"\";\r\n if (queries.length > 0) queries += \", \";\r\n queries += q;\r\n }\r\n return queries;\r\n }\r\n\r\n /**\r\n * Normalize text query\r\n * @param text : the text query to normalize\r\n * @returns : the text normalized or null\r\n */\r\n static normalizeTextQuery(text: string): string | null {\r\n if (!text || text.length === 0) return null;\r\n let q: string = '';\r\n let queries: string = '';\r\n for (let i = 0; i < text.length; i++) {\r\n if (text[i] === ',') {\r\n queries = this.concatTextQuery(q.trim(), queries);\r\n q = '';\r\n }\r\n else q += text[i];\r\n }\r\n queries = this.concatTextQuery(q.trim(), queries);\r\n return queries;\r\n }\r\n}","export const ClipperMessages = {\r\n /**\r\n * Messages\r\n */\r\n\r\n // Login\r\n LOGIN_CHANGED: '§clipper-login-changed',\r\n LOGIN_COMPLETED: '§clipper-login-completed',\r\n LOGIN_DISCONNECTED: '§clipper-login-disconnected',\r\n LOGOUT_COMPLETED: '§clipper-logout-completed',\r\n \r\n // Document\r\n DOCUMENT_NAVIGATE: '$clipper-document-navigate',\r\n DOCUMENT_NAVIGATED: '$clipper-document-navigated',\r\n DOCUMENT_SELECTED: '$clipper-document-selected',\r\n DOCUMENT_SELECTED_INNER: '$clipper-document-selected_inner',\r\n\r\n // COMMANDS\r\n COMMAND_ARCHIVE_ADD: '$clipper-command-archive-add',\r\n COMMAND_CALENDAR_ADD: '$clipper-command-calendar-add',\r\n COMMAND_WORKING_ADD: '$clipper-command-working-documents-add',\r\n COMMAND_SEARCH_RESTORED: '$clipper-command-search-restored',\r\n\r\n // Interop\r\n INTEROP_RS_NEW_LAW: '$clipper-interop-rs-new-law',\r\n INTEROP_RS_NEW_ACTIVITY: '$clipper-interop-rs-new-activity',\r\n INTEROP_RS_USAGE_REPORT: '$clipper-interop-rs-usage-report',\r\n};\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport {\r\n ApiResult,\r\n BroadcastService,\r\n INode,\r\n LoginInfo,\r\n LoginResult, SystemUtils\r\n} from '@arsedizioni/ars-utils/core';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\nimport { EMPTY, Observable, Subscription, of, throwError, timer } from 'rxjs';\r\nimport { catchError, map, shareReplay, switchMap } from 'rxjs/operators';\r\nimport { ClipperDocumentInfo, ClipperQueryReferencesMode, ClipperReferencesSearchParams, ClipperSearchFacetsResult, ClipperSearchParams, ClipperSearchResult } from '../definitions';\r\nimport { ClipperMessages } from '../messages';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ClipperService implements OnDestroy {\r\n\r\n private readonly REFRESH_INTERVAL = 60000 * 50; //50 min\r\n\r\n private httpClient = inject(HttpClient);\r\n private broadcastService= inject(BroadcastService);\r\n private dialogService = inject(DialogService);\r\n private refreshing: boolean = false;\r\n private tokenRefreshTimer?: Observable<number | void> | null;\r\n private tokenRefreshTimerSubscription?: Subscription | null;\r\n private broadcastServiceSubscription?: Subscription | null;\r\n\r\n private _loginInfo: LoginInfo = null;\r\n get loginInfo(): LoginInfo {\r\n if (!this._loginInfo) {\r\n try {\r\n this._loginInfo = JSON.parse(\r\n localStorage.getItem('clipper_login')\r\n ) as LoginInfo;\r\n } catch { }\r\n }\r\n return this._loginInfo;\r\n }\r\n private _loggedIn: boolean = false;\r\n get loggedIn(): boolean {\r\n return this._loggedIn;\r\n }\r\n set loggedIn(value: boolean) {\r\n this._loggedIn = value;\r\n }\r\n private _loggingIn: boolean = false;\r\n get loggingIn(): boolean {\r\n return this._loggingIn;\r\n }\r\n set loggingIn(value: boolean) {\r\n this._loggingIn = value;\r\n }\r\n\r\n private _supportsRS: boolean = false;\r\n get supportsRS(): boolean {\r\n return this._supportsRS;\r\n }\r\n set supportsRS(value: boolean) {\r\n this._supportsRS = value;\r\n }\r\n\r\n private _referencesSnapshot: ClipperSearchResult = new ClipperSearchResult();\r\n get referencesSnapshot(): ClipperSearchResult {\r\n return this._referencesSnapshot;\r\n }\r\n set referencesSnapshot(value: ClipperSearchResult) {\r\n this._referencesSnapshot = value;\r\n }\r\n private _snapshot: ClipperSearchResult = new ClipperSearchResult();\r\n get snapshot(): ClipperSearchResult {\r\n return this._snapshot;\r\n }\r\n set snapshot(value: ClipperSearchResult) {\r\n this._snapshot = value;\r\n }\r\n\r\n private _bag: ClipperDocumentInfo[] = [];\r\n get bag(): ClipperDocumentInfo[] {\r\n return this._bag;\r\n }\r\n\r\n private _visible: boolean = false;\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n set visible(value: boolean) {\r\n this._visible = value;\r\n }\r\n\r\n private _serviceUri: string = \"https://clipper.arsedizioni.it\"\r\n get serviceUri(): string {\r\n return this._serviceUri;\r\n }\r\n set serviceUri(value: string) {\r\n this._serviceUri = value;\r\n }\r\n\r\n private _servicePrefix: string = \"\"\r\n get servicePrefix(): string {\r\n return this._servicePrefix;\r\n }\r\n set servicePrefix(value: string) {\r\n this._servicePrefix = value;\r\n }\r\n\r\n constructor() {\r\n this.initialize();\r\n }\r\n\r\n ngOnDestroy() {\r\n // Clean-up\r\n if (this.tokenRefreshTimerSubscription){\r\n this.tokenRefreshTimerSubscription.unsubscribe();\r\n }\r\n if (this.broadcastServiceSubscription) { \r\n this.broadcastServiceSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n /**\r\n * Initialize service\r\n * @param serviceUri : the service uri\r\n * @param servicePrefix : the service prefix used to manage local storage \r\n */\r\n initialize(\r\n serviceUri: string = null,\r\n servicePrefix: string = null) {\r\n\r\n // Create unique client id\r\n if (!localStorage.getItem('clipper_client_id'))\r\n localStorage.setItem('clipper_client_id', SystemUtils.generateUUID());\r\n\r\n // Initialize uris\r\n if (serviceUri)\r\n this._serviceUri = serviceUri;\r\n this._servicePrefix = servicePrefix;\r\n\r\n // React to message broadcasting\r\n if (!this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription = this.broadcastService.getMessage().subscribe((message: any) => {\r\n if (message.id === ClipperMessages.LOGIN_CHANGED) {\r\n setTimeout(() => {\r\n this.login(\r\n message.data.email,\r\n message.data.password,\r\n message.data.oauth,\r\n message.data.oauthAccessToken).subscribe((r: any) => {\r\n if (!r.success)\r\n this.dialogService.error(r.message, null, \"Errore di Clipper\");\r\n else {\r\n this.dialogService.toast('Connesso a Clipper', 1500, 'power');\r\n\r\n // Load bag\r\n this.loadBag();\r\n }\r\n });\r\n }, 500);\r\n } else if (message.id === ClipperMessages.LOGOUT_COMPLETED ||\r\n message.id === ClipperMessages.LOGIN_DISCONNECTED) {\r\n if (this.loggedIn) {\r\n this.logout().subscribe({\r\n next: (r: any) => {\r\n if (!r.success)\r\n this.dialogService.error(\"<p>\" + r.message + \"</p><br><br><hr><p class='small'><i>Per eliminare la configurazione di Clipper accedere a:<br><b>menu > personalizza > collegamenti</b></i></p>\", null, \"Errore di Clipper\");\r\n else {\r\n this.dialogService.toast('Disconnesso da Clipper', 1500, 'power_off');\r\n\r\n // Clear bag\r\n this._bag = null;\r\n }\r\n },\r\n complete: () => {\r\n this.clear();\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Eveluate current session storage in case of page refresh (F5)\r\n if (!this.loggedIn && this.getToken()) {\r\n // Auto login\r\n this.loggedIn = true;\r\n\r\n // Start refresh timer\r\n this.enableTokenRefresh();\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Set JWT token\r\n * @param token : token\r\n */\r\n private setToken(token: string) {\r\n sessionStorage.setItem('clipper_jwt', token);\r\n if (token) {\r\n this.enableTokenRefresh();\r\n }\r\n }\r\n\r\n /**\r\n * Enable JWT token auto refresh\r\n */\r\n private enableTokenRefresh() {\r\n if (!this.tokenRefreshTimerSubscription) {\r\n this.tokenRefreshTimer =\r\n timer(this.REFRESH_INTERVAL, this.REFRESH_INTERVAL)\r\n .pipe(\r\n switchMap(() => {\r\n if (this.refreshing || !this.loggedIn) return EMPTY;\r\n this.refreshing = true;\r\n this.refresh().subscribe(\r\n {\r\n error: () => { this.refreshing = false; },\r\n complete: () => { this.refreshing = false; }\r\n });\r\n return EMPTY;\r\n }),\r\n shareReplay(1));\r\n this.tokenRefreshTimerSubscription = this.tokenRefreshTimer.subscribe();\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Return current JWT token\r\n * @param cipher: true to cipher\r\n */\r\n getToken(cipher: boolean = false): string {\r\n let token = sessionStorage.getItem('clipper_jwt');\r\n if (token) {\r\n if (token[0] === '\"') token = token.substring(1, token.length - 1);\r\n if (cipher) {\r\n let d = new Date();\r\n let n = d.getDay() + d.getMonth() + 2;\r\n let t = '';\r\n let c = 0;\r\n for (var i = 0; i < token.length; i++) {\r\n c = token.charCodeAt(i);\r\n if (c >= 65 && c <= 90) {\r\n c += n;\r\n if (c > 90) c = 64 + (c - 90);\r\n }\r\n t += String.fromCharCode(c);\r\n }\r\n token = t;\r\n }\r\n return token;\r\n }\r\n return '';\r\n }\r\n\r\n\r\n /**\r\n * Perform login \r\n * @param email: the optioanl email if using OAuth2\r\n * @parma password: the optional password if using OAuth2\r\n * @param oauth: the optional open authentication supported\r\n * @param oauthAccessToken: the optional OAuth2 access token\r\n * @returns: the login result\r\n */\r\n login(email: string | null | undefined = null,\r\n password: string | null | undefined = null,\r\n oauth: number | null | undefined = null,\r\n oauthAccessToken: string | null | undefined = null) {\r\n this.clear();\r\n this.loggingIn = true;\r\n return this.httpClient\r\n .post<ApiResult<LoginResult>>(\r\n this._serviceUri + '/login',\r\n {\r\n user: oauth ? null : email,\r\n password: oauth ? null : password,\r\n clientId: localStorage.getItem(\"clipper_client_id\"),\r\n OAUTH: oauth\r\n },\r\n {\r\n headers:\r\n !oauth\r\n ? new HttpHeaders()\r\n : new HttpHeaders()\r\n .set(\"Authorization\", oauthAccessToken)\r\n })\r\n .pipe(\r\n catchError((err: any) => {\r\n this.handleLoginError();\r\n return throwError(() => err);\r\n }),\r\n map((r: ApiResult<LoginResult>) => {\r\n this.loggingIn = false;\r\n if (r.success) {\r\n return this.handleLoginResult(r);\r\n }\r\n return r;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Handle login error\r\n * @param error : the error\r\n */\r\n private handleLoginError() {\r\n localStorage.removeItem('clipper_login');\r\n this.loggingIn = false;\r\n }\r\n\r\n /**\r\n * Handle login result\r\n * @param loginResult : the login result\r\n */\r\n private handleLoginResult(\r\n loginResult: ApiResult<LoginResult>\r\n ): ApiResult<LoginResult> {\r\n if (loginResult.success) {\r\n // Store access token\r\n this.setToken(loginResult.value.token);\r\n\r\n // Update info\r\n localStorage.setItem(\r\n 'clipper_login',\r\n JSON.stringify(this._loginInfo)\r\n );\r\n\r\n this._loggedIn = true;\r\n }\r\n return loginResult;\r\n }\r\n\r\n /**\r\n * Perform logout\r\n */\r\n logout() {\r\n return this.httpClient.post<any>(this._serviceUri + '/logout', {}).pipe(\r\n map((r: any) => { return r; }),\r\n catchError((_e) => {\r\n this.clear();\r\n return of([]);\r\n }));\r\n }\r\n\r\n /**\r\n * Reset login refresh timer and login state\r\n */\r\n reset() {\r\n // Clear subscriptions\r\n if (this.tokenRefreshTimerSubscription) {\r\n this.tokenRefreshTimerSubscription.unsubscribe();\r\n this.tokenRefreshTimerSubscription = null;\r\n }\r\n this.tokenRefreshTimer = null;\r\n\r\n // Clear login info\r\n this._loginInfo = null;\r\n this._loggedIn = false;\r\n }\r\n\r\n /**\r\n * Clear login data\r\n */\r\n clear() {\r\n // Reset login\r\n this.reset();\r\n\r\n // Clear local storage\r\n sessionStorage.removeItem('clipper_jwt');\r\n localStorage.removeItem('clipper_login');\r\n }\r\n\r\n /**\r\n * Perform token refresh\r\n */\r\n private refresh() {\r\n return this.httpClient.post<ApiResult<LoginResult>>(\r\n this._serviceUri + '/refresh', {}\r\n ).pipe(map((r: ApiResult<LoginResult>) => {\r\n // Update token\r\n this.setToken(r.value.token);\r\n\r\n }));\r\n }\r\n\r\n /**\r\n * Get a new one time password\r\n * @param id: the optional repository id \r\n */\r\n newOTP(id: string) {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/otp/new/?id=' + id,\r\n );\r\n }\r\n\r\n /**\r\n * Load home personalized contents\r\n */\r\n home() {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/account/home'\r\n );\r\n }\r\n\r\n\r\n /**\r\n * Query documents\r\n */\r\n query(params: ClipperSearchParams) {\r\n return this.httpClient.post<ApiResult<ClipperSearchResult>>(\r\n this._serviceUri + '/documents',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Get facets for a query\r\n */\r\n queryFacets(params: ClipperSearchParams) {\r\n return this.httpClient.post<ApiResult<ClipperSearchFacetsResult>>(\r\n this._serviceUri + '/documents/facets',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Export a document in pdf format\r\n */\r\n exportPdf(id: string) {\r\n return this.httpClient.get(\r\n this._serviceUri + '/documents/export/' + id,\r\n { responseType: 'blob' }\r\n );\r\n }\r\n\r\n /**\r\n * Export document list (query or selected items) or export deadlines as ics\r\n */\r\n export(params: any) {\r\n return this.httpClient.post(\r\n this._serviceUri + '/documents/export',\r\n params,\r\n { responseType: 'blob' }\r\n );\r\n }\r\n\r\n /**\r\n * Send documents link by email\r\n */\r\n sendTo(params: any) {\r\n return this.httpClient.post<ApiResult<number>>(\r\n this._serviceUri + '/documents/send',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Display a page the full document report\r\n */\r\n report(id: string) {\r\n return this.httpClient.get(\r\n this._serviceUri + '/documents/report/' + id,\r\n { responseType: 'blob' }\r\n );\r\n }\r\n\r\n /**\r\n * Get document comment\r\n */\r\n comment(id: string) {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/documents/comment/' + id\r\n );\r\n }\r\n\r\n /**\r\n * Get document info\r\n */\r\n info(id: string) {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/documents/info/' + id\r\n );\r\n }\r\n\r\n /**\r\n * Get document structure\r\n */\r\n index(id: string) {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/documents/structure/' + id\r\n );\r\n }\r\n\r\n /**\r\n * Get document last update\r\n */\r\n lastUpdate(id: string) {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/documents/last-update/' + id\r\n );\r\n }\r\n\r\n /**\r\n * Query document references\r\n */\r\n references(params: ClipperReferencesSearchParams) {\r\n let mode = params.mode;\r\n if (!mode) mode = ClipperQueryReferencesMode.ReferencesIn;\r\n switch (mode) {\r\n case ClipperQueryReferencesMode.ReferencesIn:\r\n case ClipperQueryReferencesMode.ReferencesOut:\r\n params.mode = mode;\r\n return this.httpClient.post<ApiResult<ClipperSearchResult>>(\r\n this._serviceUri + '/documents/references',\r\n params\r\n );\r\n case ClipperQueryReferencesMode.ChangesIn:\r\n case ClipperQueryReferencesMode.ChangesOut:\r\n return this.httpClient.post<ApiResult<ClipperSearchResult>>(\r\n this._serviceUri + '/documents/changes',\r\n params\r\n );\r\n case ClipperQueryReferencesMode.Juris:\r\n return this.httpClient.post<ApiResult<ClipperSearchResult>>(\r\n this._serviceUri + '/documents/juris',\r\n params\r\n );\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Get facets for a document references\r\n */\r\n referencesFacets(params: ClipperSearchParams) {\r\n let mode = params.mode ?? ClipperQueryReferencesMode.ReferencesIn; \r\n switch (mode) {\r\n case ClipperQueryReferencesMode.ReferencesIn:\r\n case ClipperQueryReferencesMode.ReferencesOut:\r\n params.mode = mode;\r\n return this.httpClient.post<ApiResult<ClipperSearchFacetsResult>>(\r\n this._serviceUri + '/documents/references/facets',\r\n params\r\n );\r\n case ClipperQueryReferencesMode.ChangesIn:\r\n case ClipperQueryReferencesMode.ChangesOut:\r\n return this.httpClient.post<ApiResult<ClipperSearchFacetsResult>>(\r\n this._serviceUri + '/documents/changes/facets',\r\n params\r\n );\r\n case ClipperQueryReferencesMode.Juris:\r\n return this.httpClient.post<ApiResult<ClipperSearchFacetsResult>>(\r\n this._serviceUri + '/documents/juris/facets',\r\n params\r\n );\r\n default: return null;\r\n }\r\n }\r\n\r\n /**\r\n * Get document juris articles\r\n */\r\n jurisArticles(params: ClipperSearchParams) {\r\n return this.httpClient.post<ApiResult<ClipperSearchResult>>(\r\n this._serviceUri + '/documents/juris/articles',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Convert folders in a tree of Node object.\r\n * @param folders : the subfolders group or null to root\r\n */\r\n toNodes(folders: any[]): any {\r\n return this._toNodes(folders, null);\r\n }\r\n\r\n /**\r\n * Convert folders in a tree of Node object.\r\n * @param folders : the subfolders group or null to root\r\n */\r\n private _toNodes(folders: INode[], parent: INode): INode[] {\r\n let nodes: INode[] = [];\r\n folders.forEach((n: any) => {\r\n let node: INode = {\r\n id: n.id,\r\n name: n.name,\r\n count: n.itemsCount,\r\n parent: parent,\r\n children: null,\r\n bag: n,\r\n };\r\n node.children =\r\n n.subFolders && n.subFolders.length > 0\r\n ? this._toNodes(n.subFolders, node)\r\n : [];\r\n nodes.push(node);\r\n });\r\n return nodes;\r\n }\r\n\r\n /**\r\n * Retrieve the taxonomy\r\n */\r\n getTaxonomy(params: any = null) {\r\n if (params == null) {\r\n params = { documentModel: 0, countItems: false };\r\n }\r\n return this.httpClient.post<ApiResult<any>>(\r\n this._serviceUri + '/taxonomy',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Retrieve topics\r\n */\r\n getTopics() {\r\n return this.httpClient.get<ApiResult<any>>(\r\n this._serviceUri + '/topics'\r\n );\r\n }\r\n\r\n /**\r\n * Load bag\r\n */\r\n loadBag() {\r\n this.httpClient\r\n .get<ApiResult<any>>(\r\n this._serviceUri + '/documents/working'\r\n )\r\n .subscribe((r: any) => {\r\n if (!r.success) this.dialogService.error(r.message);\r\n else {\r\n if (r.value) {\r\n this._bag = [];\r\n r.value.forEach((n: any) => {\r\n this._bag.push(JSON.parse(n.documentDescriptor));\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Add one or more documents to the bag\r\n * @param ids the document ids to add\r\n */\r\n addToBag(ids: string[]) {\r\n return this.httpClient\r\n .post<ApiResult<any>>(\r\n this._serviceUri + '/documents/working/add',\r\n { documentIds: ids }\r\n )\r\n .pipe(\r\n map((r: any) => {\r\n if (!r.success) this.dialogService.error(r.message);\r\n else {\r\n if (r.value) {\r\n r.value.forEach((n: any) => {\r\n this._bag.push(JSON.parse(n.documentDescriptor));\r\n });\r\n return r;\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Remove from bag\r\n * @param id : the document id\r\n */\r\n removeFromBag(id: string) {\r\n return this.httpClient\r\n .post<ApiResult<any>>(\r\n this._serviceUri + '/documents/working/delete',\r\n { documentIds: [id] }\r\n )\r\n .pipe(\r\n map((r: any) => {\r\n if (!r.success) this.dialogService.error(r.message);\r\n else {\r\n let p = SystemUtils.arrayFindIndexByKey(\r\n this._bag,\r\n 'DocumentId',\r\n id\r\n );\r\n if (p !== -1) {\r\n this._bag.splice(p, 1);\r\n return r;\r\n }\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\nimport { Observable, catchError, throwError } from 'rxjs';\r\nimport { ClipperService } from '../services/clipper.service';\r\n\r\n@Injectable()\r\nexport class ClipperAuthInterceptor implements HttpInterceptor {\r\n private clipperService = inject(ClipperService);\r\n private dialogService = inject(DialogService);\r\n\r\n intercept(\r\n request: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n // Add width-credentials\r\n request = request.clone({ withCredentials: true });\r\n return next.handle(this.addTokenToRequest(request))\r\n .pipe(\r\n catchError((err: any) => {\r\n if (request.url.startsWith(this.clipperService.serviceUri)) {\r\n // Get the message\r\n let message = err.error?.message || err.message || \"Impossibile eseguire l'operazione richiesta.\";\r\n let invalidSession = err.status === 401;\r\n switch (err.status) {\r\n case 0:\r\n case 500:\r\n case 502:\r\n case 503:\r\n case 504:\r\n message = null; // No messages\r\n break;\r\n case 403:\r\n message = \"<p>Non hai i permessi necessari per eseguire l'operazione richiesta.</p>\";\r\n break;\r\n default:\r\n message = '<p>' + message.replaceAll('\\r\\n', '</p><p>') + '</p>';\r\n break;\r\n }\r\n // Display message\r\n if (message) {\r\n setTimeout(() => {\r\n this.dialogService.error(message, null, 'Errore in Clipper', 'Ok', 500, invalidSession ? 5000 : null).afterClosed().subscribe(() => {\r\n if (invalidSession) {\r\n if (this.clipperService.loggedIn) {\r\n this.clipperService.reset();\r\n }\r\n }\r\n });\r\n }, 250);\r\n } \r\n }\r\n return throwError(() => err);\r\n }));\r\n }\r\n\r\n\r\n /**\r\n * Add token to request\r\n * @param request : the request\r\n * @param token: the token or null to use curre3nt\r\n */\r\n private addTokenToRequest(\r\n request: HttpRequest<any>,\r\n token: string = null\r\n ): HttpRequest<any> {\r\n if (request.url.startsWith(this.clipperService.serviceUri)) {\r\n if (!token) token = this.clipperService.getToken();\r\n if (token) {\r\n return request.clone({\r\n setHeaders: {\r\n Authorization: 'Bearer ' + token,\r\n 'ngsw-bypass': 'ngsw-bypass'\r\n },\r\n });\r\n }\r\n }\r\n return request;\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { ClipperAuthInterceptor } from './interceptors/auth.interceptor';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n providers: [ \r\n { provide: HTTP_INTERCEPTORS, useClass: ClipperAuthInterceptor, multi: true }, \r\n ],\r\n})\r\nexport class ArsClipperCommonModule {}\r\n\r\n// Other exports\r\nexport * from './messages';\r\nexport * from './definitions';\r\nexport * from './services/clipper.service';\r\n\r\n","/*\r\n * Public API Surface of ars-utils\r\n */\r\n\r\nexport * from './common/common.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["catchError"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arsedizioni/ars-utils",
3
- "version": "18.1.183",
3
+ "version": "18.1.184",
4
4
  "author": {
5
5
  "email": "software@arsedizioni.it",
6
6
  "name": "Fabio Buscaroli, Alberto Doria"