vcomply-workflow-engine 3.1.25 → 3.1.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/more-option/more-option.component.mjs +7 -12
- package/esm2020/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +3 -8
- package/esm2020/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +1 -1
- package/fesm2015/vcomply-workflow-engine.mjs +9 -19
- package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
- package/fesm2020/vcomply-workflow-engine.mjs +9 -19
- package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +1 -2
- package/package.json +1 -1
|
@@ -522,8 +522,8 @@ export class MoreOptionComponent {
|
|
|
522
522
|
{
|
|
523
523
|
imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/link-risks.svg',
|
|
524
524
|
name: 'LINK RISKS',
|
|
525
|
-
tooltipTitle: 'LINK
|
|
526
|
-
tooltipMessage: `This option
|
|
525
|
+
tooltipTitle: 'LINK RISKS',
|
|
526
|
+
tooltipMessage: `This option lets you link a GRC Object with related risks.`,
|
|
527
527
|
checked: false,
|
|
528
528
|
hidden: false,
|
|
529
529
|
code: 'LINK_RISK_CATEGORIES_RISKS',
|
|
@@ -532,7 +532,7 @@ export class MoreOptionComponent {
|
|
|
532
532
|
imageUrl: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/link-items.svg',
|
|
533
533
|
name: 'LINK OTHER GRC OBJECTS',
|
|
534
534
|
tooltipTitle: 'LINK OTHER GRC OBJECTS',
|
|
535
|
-
tooltipMessage: `This option
|
|
535
|
+
tooltipMessage: `This option lets you link a GRC Object with other related GRC Objects.`,
|
|
536
536
|
checked: false,
|
|
537
537
|
hidden: false,
|
|
538
538
|
code: 'OTHER_GRC_OBJECTS',
|
|
@@ -540,14 +540,9 @@ export class MoreOptionComponent {
|
|
|
540
540
|
{
|
|
541
541
|
imageUrl: LINKS?.customFields,
|
|
542
542
|
name: 'GRC Object Type Attributes',
|
|
543
|
-
tooltipTitle: '
|
|
544
|
-
tooltipMessage: `
|
|
545
|
-
|
|
546
|
-
Where you attribute a policy to a Responsibility Center, that policy will be shown as a policy
|
|
547
|
-
that is required to be attested by all the persons associated with that Responsibility Center.
|
|
548
|
-
The performance of a policy assigned to a Responsibility Center will also contribute to the
|
|
549
|
-
overall performance of the Responsibility Center.`,
|
|
550
|
-
disabledMessage: 'This option is available only for the GRC Object Type with Attributes.',
|
|
543
|
+
tooltipTitle: 'GRC Object Type Attributes',
|
|
544
|
+
tooltipMessage: `This option lets you add additional information related to a GRC Object.`,
|
|
545
|
+
disabledMessage: 'There are no additional attributes linked with this GRC Object Type.',
|
|
551
546
|
checked: false,
|
|
552
547
|
hidden: false,
|
|
553
548
|
code: 'ATTRIBUTES',
|
|
@@ -758,4 +753,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
758
753
|
}], isAttributesAvailable: [{
|
|
759
754
|
type: Input
|
|
760
755
|
}] } });
|
|
761
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZS1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvbW9yZS1vcHRpb24vbW9yZS1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvbW9yZS1vcHRpb24vbW9yZS1vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7OztBQU92RSxNQUFNLE9BQU8sbUJBQW1CO0lBNm5COUI7UUE1bkJTLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNsQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBUzFCLDBCQUFxQixHQUFZLElBQUksQ0FBQztRQUMvQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsbUJBQWMsR0FBVyxhQUFhLENBQUM7UUFFdkMscUJBQWdCLEdBQVE7WUFDdEIsR0FBRyxFQUFFLDJFQUEyRTtZQUNoRixHQUFHLEVBQUUsNkVBQTZFO1lBQ2xGLEdBQUcsRUFBRSxxRkFBcUY7WUFDMUYsR0FBRyxFQUFFLDZFQUE2RTtZQUNsRixHQUFHLEVBQUUsNEVBQTRFO1lBQ2pGLElBQUksRUFBRSw0RUFBNEU7WUFDbEYs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O2dCQUNsRCxJQUFJLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMvQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztpQkFDdkI7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsRUFBRTtZQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO2dCQUNsRCxJQUFJLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMvQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztpQkFDdkI7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7Z0hBdHpCVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw2YkNoQmhDLGl5SUE0R0E7MkZENUZhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7MEVBS2xCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0UsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFdUIsc0JBQXNCO3NCQUFsRCxLQUFLO3VCQUFDLGdCQUFnQjtnQkFNZCxxQkFBcUI7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTElOS1MgfSBmcm9tICcuLi93b3JrZmxvdy9zaGFyZWQvY29uc3RhbnRzL2Nkbi1saW5rLmNvbnN0YW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW1vcmUtb3B0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbW9yZS1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21vcmUtb3B0aW9uLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb3JlT3B0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRXb3JrZmxvdyA9ICcnO1xyXG4gIEBJbnB1dCgpIG9wZW5lZEZyb20gPSAnJztcclxuICBASW5wdXQoKSBpc0VkaXRNb2RlID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkT3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGlzUkNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzUHJvZ3JhbVNlbGVjdGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYWxsb3dlZEZlYXR1cmU6IGFueTtcclxuICBvcmdEZXRhaWxzOiBhbnk7XHJcbiAgQElucHV0KCdvcmdEZXRhaWxzRGF0YScpIHNldCBnZXRPcmdhbml6YXRpb25EZXRhaWxzKGRldGFpbHM6IGFueSkge1xyXG4gICAgdGhpcy5vcmdEZXRhaWxzID0gZGV0YWlscyA/PyAne30nO1xyXG4gICAgaWYgKGRldGFpbHMgJiYgT2JqZWN0LmtleXMoZGV0YWlscyk/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnVwZGF0ZVByb2dyYW1Nb3JlT3B0aW9ucygpO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBpc0F0dHJpYnV0ZXNBdmFpbGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGZlYXR1cmVmbGFncm9sZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByb2dyYW1TaW1wbGlmeUZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBmZl9yY19saXN0aW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcGVybWlzc2lvblRleHQ6IHN0cmluZyA9ICdQZXJtaXNzaW9ucyc7XHJcblxyXG4gIHBsYWNlaG9sZGVyVGV4dHM6IGFueSA9IHtcclxuICAgIEFBUjogJ1NlbGVjdCB3aGF0IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24geW91IHdvdWxkIGxpa2UgdG8gaW5jbHVkZSBpbiB0aGUgcmlzay4nLFxyXG4gICAgQ0FQOiAnU2VsZWN0IHdoYXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIGluIHRoZSBwb2xpY3kuJyxcclxuICAgIENBUjogJ1NlbGVjdCB3aGF0IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24geW91IHdvdWxkIGxpa2UgdG8gaW5jbHVkZSBpbiB0aGUgcmVzcG9uc2liaWxpdHkuJyxcclxuICAgIENBUzogJ1NlbGVjdCB3aGF0IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24geW91IHdvdWxkIGxpa2UgdG8gaW5jbHVkZSBpbiB0aGUgc3VydmV5LicsXHJcbiAgICBMQUk6ICdTZWxlY3Qgd2hhdCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHlvdSB3b3VsZCBsaWtlIHRvIGluY2x1ZGUgaW4gdGhlIGlzc3VlLicsXHJcbiAgICBDQVBSOiAnU2VsZWN0IHdoYXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIGluIHRoZSBzY29wZS4nLFxyXG4gICAgR1JDOiAnU2VsZWN0IHdoYXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIGluIHRoZSBHUkMgT2JqZWN0LicsXHJcbiAgfTtcclxuXHJcbiAgYnVzaW5lc3NDeWNsZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2J1c2luZXNzQ3ljbGUnKSA/PyAne30nKTtcclxuICBtb3JlT3B0aW9uc0xpc3Q6IGFueSA9IHtcclxuICAgIEFBUjogW1xyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L292ZXJzaWdodC5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSaXNrIE92ZXJzaWdodCcsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmlzayBPdmVyc2lnaHQnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ092ZXJzaWdodCBlbmFibGVzIHlvdSB0byBkZXNpZ25hdGUgcGVyc29ucyB0byBvdmVyc2VlIHRoZSByaXNrIG1hbmFnZW1lbnQgcHJvY2Vzcy4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ09WRVJTRUVSJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9wcmlvcml0eS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSaXNrIE1pdGlnYXRpb24gUHJpb3JpdHknLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jpc2sgTWl0aWdhdGlvbiBQcmlvcml0eScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnVGhpcyBzZXRzIHRoZSBwcmlvcml0eSBsZXZlbCBmb3IgdGhlIG1pdGlnYXRpb24gb2YgZWFjaCByaXNrLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnTUlUSUdBVElPTicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb2JqZWN0aXZlcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZWNvbW1lbmRlZCBNaXRpZ2F0aW9uIFBsYW5zJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdSZWNvbW1lbmRlZCBNaXRpZ2F0aW9uIFBsYW5zJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTpcclxuICAgICAgICAgICdTcGVjaWZ5IHRoZSBtaXRpZ2F0aW9uIHBsYW4gdGhhdCBjYW4gYmUgdW5kZXJ0YWtlbiB0byBtaXRpZ2F0ZSB0aGUgcmlzay4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ01JVElHQVRJT05fUExBTicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGFibGVzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Jpc2sgTGFiZWwnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jpc2sgTGFiZWwnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ1RoaXMgb3B0aW9uIGxldHMgeW91IHNwZWNpZnkgaWYgdGhpcyBpcyBhIG5ld2x5IGlkZW50aWZpZWQgcmlzayBvciBpdCBpcyBhIHJhcGlkbHkgY2hhbmdpbmcgcmlzay4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ1JJU0tfTEFCRUwnLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICAgIENBUDogW1xyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHJlcHJlc2VudCB5b3VyIG9yZ2FuaXphdGlvbmFsIGFuZFxyXG4gICAgICAgICBvcGVyYXRpb25hbCBpbmZyYXN0cnVjdHVyZS4gWW91IGNhbiBhdHRyaWJ1dGUgYSBwb2xpY3kgdG8gb25lIG9yIG1vcmUgUmVzcG9uc2liaWxpdHkgQ2VudGVycy5cclxuICAgICAgICAgIFdoZXJlIHlvdSBhdHRyaWJ1dGUgYSBwb2xpY3kgdG8gYSBSZXNwb25zaWJpbGl0eSBDZW50ZXIsIHRoYXQgcG9saWN5IHdpbGwgYmUgc2hvd24gYXMgYSBwb2xpY3lcclxuICAgICAgICAgICB0aGF0IGlzIHJlcXVpcmVkIHRvIGJlIGF0dGVzdGVkIGJ5IGFsbCB0aGUgcGVyc29ucyBhc3NvY2lhdGVkIHdpdGggdGhhdCBSZXNwb25zaWJpbGl0eSBDZW50ZXIuXHJcbiAgICAgICAgICAgIFRoZSBwZXJmb3JtYW5jZSBvZiBhIHBvbGljeSBhc3NpZ25lZCB0byBhIFJlc3BvbnNpYmlsaXR5IENlbnRlciB3aWxsIGFsc28gY29udHJpYnV0ZSB0byB0aGVcclxuICAgICAgICAgICAgb3ZlcmFsbCBwZXJmb3JtYW5jZSBvZiB0aGUgUmVzcG9uc2liaWxpdHkgQ2VudGVyLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnUkVTUE9OU0lCSUxJVFlfQ0VOVEVSJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hc3NvY2lhdGVkLXJpc2tzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1ZFUlNJT04nLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1ZlcnNpb24nLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgVGhpcyBvcHRpb24gbGV0cyB5b3Ugc3BlY2lmeSB0aGUgb2ZmbGluZSB2ZXJzaW9uIG51bWJlciBmb3IgYSBwb2xpY3kuIEhlbmNlLCB5b3UgY2FuIGlucHV0IHRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgZGlnaXRhbCBvciBwaHlzaWNhbCBjb3B5IG9mIHRoZSBwb2xpY3kgZG9jdW1lbnQgZm9yIHJlY29yZC1rZWVwaW5nIHB1cnBvc2VzLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnVkVSU0lPTicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmV2aWV3ZXIuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmV2aWV3ZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jldmlld2VyJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFRoaXMgb3B0aW9ucyBsZXRzIHlvdSBzcGVjaWZ5IGEgcmV2aWV3IGxpZmVjeWNsZSBmb3IgdGhlIHBvbGljeSBkb2N1bWVudC5cclxuICAgICAgICAgWW91IGNhbiBzZWxlY3QgYSByZXZpZXdlciBhbmQgZGV0ZXJtaW5lIGhvdyBvZnRlbiB0aGUgcG9saWN5IG5lZWRzIHRvIGJlIHJldmlld2VkLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdSRVZJRVdFUicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvY2hlY2twb2ludHMuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQ2hlY2twb2ludHMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0NoZWNrcG9pbnRzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYENoZWNrcG9pbnRzIGVuYWJsZSB5b3UgdG8gY29uZmlybSBhIHBlcnNvbuKAmXMgdW5kZXJzdGFuZGluZyBvZiB0aGUgcG9saWN5IGRvY3VtZW50LlxyXG4gICAgICAgICBZb3UgY2FuIGNyZWF0ZSBxdWVzdGlvbnMgYmFzZWQgb24gdGhlIHBvbGljeSBjb250ZW50IGFuZCByZXF1aXJlIHRoYXQgdGhlIHJlYWRlciBvZiB0aGUgcG9saWN5XHJcbiAgICAgICAgIGFuc3dlcnMgdGhlc2UgcXVlc3Rpb25zIGNvcnJlY3RseSBiZWZvcmUgcHJvY2VlZGluZyB0byBjb21wbGV0ZSB0aGUgYXR0ZXN0YXRpb24uXHJcbiAgICAgICAgYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgY29kZTogJ0NIRUNLUE9JTlRTJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vdmVyc2lnaHQuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnT3ZlcnNpZ2h0JyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdPdmVyc2lnaHQnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgT3ZlcnNpZ2h0cyBhcmUgcGVyc29ucyB3aG8gb3ZlcnNlZSB0aGUgcG9saWN5LlxyXG4gICAgICAgICBUaGVzZSBwZXJzb25zIHdpbGwgcmVjZWl2ZSBlbWFpbCBub3RpZmljYXRpb25zIGFib3V0IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgcG9saWN5LlxyXG4gICAgICAgICBBcyB0aGUgcGVyc29uIGNyZWF0aW5nIHRoZSBwb2xpY3ksIHlvdSB3aWxsIGF1dG9tYXRpY2FsbHkgcmVjZWl2ZSBlbWFpbCBub3RpZmljYXRpb25zIGFib3V0IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgcG9saWN5LlxyXG4gICAgICAgIGAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnT1ZFUlNFRVInLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2Zvcm1hdC1ldmlkZW5jZS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZWxhdGVkIERvY3VtZW50cycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmVsYXRlZCBEb2N1bWVudHMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgUmVsYXRlZCBkb2N1bWVudHMgYXJlIGZpbGVzIHRoYXQgbWlnaHQgYmUgcmVsYXRlZCB0byB0aGUgcG9saWN5LiBUaGVzZSBjb3VsZCBiZSBkb2N1bWVudHMgd2hpY2ggYXJlIHJlbGF0ZWRcclxuICAgICAgICAgdG8gdGhlIHBvbGljeSBvciBhcmUgYSBzdWJzZXQgb2YgdGhlIHBvbGljeSB0aGF0IGlzIGJlaW5nIGNyZWF0ZWQuYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdSRUxBVEVEX0RPQ1VNRU5UUycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGluay1pdGVtcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdMSU5LIFBST0dSQU1TICYgUkVTUE9OU0lCSUxJVElFUycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnTElOSyBQUk9HUkFNUyAmIFJFU1BPTlNJQklMSVRJRVMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBhc3NvY2lhdGUgUHJvZ3JhbXMgJiByZXNwb25zaWJpbGl0aWVzIGZyb20gdGhlIENvbXBsaWFuY2UgbW9kdWxlIHdpdGggYSBwb2xpY3kuIFRoZXNlIGNvdWxkIGJlIHByb2Nlc3NlcyBvciBwcm9jZWR1cmVzIHRoYXQgbWlnaHQgYmUgbGlua2VkIHRvIGEgcG9saWN5LmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnTElOS19QUk9HUkFNX1JFU1BPTlNJQklMSVRJRVMnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2Fzc2Vzc21lbnRzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0xJTksgQU4gQVNTRVNTTUVOVCcsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnTElOSyBBTiBBU1NFU1NNRU5UJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYEFzc2Vzc21lbnRzIGFsbG93IHlvdSB0byBhc3NvY2lhdGUgb3V0Y29tZSBiYXNlZCBxdWVzdGlvbm5haXJlcyBvciBjaGVja2xpc3QgYmFzZWQgcHJvY2VkdXJlcyB3aXRoIGEgcG9saWN5LmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnTElOS19BU1NFU1NNRU5UUycsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgQ0FSOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb2JqZWN0aXZlcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdPYmplY3RpdmUnLFxyXG4gICAgICAgIGNvZGU6ICdPQkpFQ1RJVkUnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ09iamVjdGl2ZScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnVGhlIG9iamVjdGl2ZSBhbGxvd3MgeW91IHRvIHNwZWNpZnkgYW4gb2JqZWN0aXZlIGZvciB0aGUgcmVzcG9uc2liaWxpdHkuJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICB9LFxyXG5cclxuICAgICAgLy8ge1xyXG4gICAgICAvLyAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NhdGVnb3J5LnN2ZycsXHJcbiAgICAgIC8vICAgbmFtZTogJ1Byb2dyYW0nLFxyXG4gICAgICAvLyAgIGNvZGU6ICdDQVRFR09SWScsXHJcbiAgICAgIC8vICAgdG9vbHRpcFRpdGxlOiAnUHJvZ3JhbScsXHJcbiAgICAgIC8vICAgdG9vbHRpcE1lc3NhZ2U6IGBQcm9ncmFtcyBlbmFibGUgeW91IHRvIGdyb3VwIHNpbWlsYXIgcmVzcG9uc2liaWxpdGllcyB0b2dldGhlci5cclxuICAgICAgLy8gICAgIEFsbG9jYXRpbmcgYSByZXNwb25zaWJpbGl0eSB0byBhIFByb2dyYW0gYWxsb3dzIHlvdSB0byB2aWV3IGEgZ3JvdXAgb3Igc2ltaWxhciByZXNwb25zaWJpbGl0aWVzIGF0IG9uY2UuXHJcbiAgICAgIC8vICAgICBJdCBhbHNvIGFsbG93cyB5b3UgdG8gdmlldyB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhvc2UgY29sbGVjdGl2ZSByZXNwb25zaWJpbGl0aWVzLmAsXHJcbiAgICAgIC8vICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgIC8vICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgLy8gfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXNwb25zaWJpbGl0eS1jZW50ZXIuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICBjb2RlOiAnUkMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHJlcHJlc2VudCB5b3VyIG9yZ2FuaXphdGlvbmFsIGFuZCBvcGVyYXRpb25hbCBpbmZyYXN0cnVjdHVyZS48YnI+XHJcbiAgICAgICAgICBZb3UgY2FuIGFzc2lnbiBhIHJlc3BvbnNpYmlsaXR5IHRvIG9uZSBvciBtb3JlIFJlc3BvbnNpYmlsaXR5IENlbnRlcnMuIFdoZXJlIHlvdSBhc3NpZ24gYSByZXNwb25zaWJpbGl0eSB0byBhIFJlc3BvbnNpYmlsaXR5IENlbnRlcixcclxuICAgICAgICAgIHRoYXQgcmVzcG9uc2liaWxpdHkgd2lsbCBiZSBzaG93biBhcyBhIHJlc3BvbnNpYmlsaXR5IHRoYXQgaXMgcmVxdWlyZWQgdG8gYmUgY29tcGxldGVkIGJ5IHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIuXHJcbiAgICAgICAgICBUaGUgcGVyZm9ybWFuY2Ugb2YgYSByZXNwb25zaWJpbGl0eSBhc3NpZ25lZCB0byBhIFJlc3BvbnNpYmlsaXR5IENlbnRlciB3aWxsIGFsc28gY29udHJpYnV0ZSB0byB0aGUgb3ZlcmFsbCBwZXJmb3JtYW5jZSBvZiB0aGUgUmVzcG9uc2liaWxpdHkgQ2VudGVyLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9jYXRlZ29yeS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdQcm9ncmFtJyxcclxuICAgICAgICBjb2RlOiAnUFJPR1JBTScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUHJvZ3JhbScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBQcm9ncmFtcyBlbmFibGUgeW91IHRvIGdyb3VwIHNpbWlsYXIgcmVzcG9uc2liaWxpdGllcyB0b2dldGhlci5cclxuICAgICAgICAgIEFsbG9jYXRpbmcgYSByZXNwb25zaWJpbGl0eSB0byBhIFByb2dyYW0gYWxsb3dzIHlvdSB0byB2aWV3IGEgZ3JvdXAgb3Igc2ltaWxhciByZXNwb25zaWJpbGl0aWVzIGF0IG9uY2UuXHJcbiAgICAgICAgICBJdCBhbHNvIGFsbG93cyB5b3UgdG8gdmlldyB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhvc2UgY29sbGVjdGl2ZSByZXNwb25zaWJpbGl0aWVzLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9mb3JtYXQtZXZpZGVuY2Uuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnRm9ybWF0ICYgRXZpZGVuY2UnLFxyXG4gICAgICAgIGNvZGU6ICdGT1JNQVRFX0VWSURFTkNFJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcgRm9ybWF0ICYgRXZpZGVuY2UnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ1lvdSBjYW4gdXBsb2FkIGEgZm9ybWF0IGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5IGFuZCB5b3UgY2FuIGFsc28gcmVxdWlyZSBldmlkZW5jZSBvZiBjb21wbGV0aW9uIG9mIHRoZSByZXNwb25zaWJpbGl0eSB0byBiZSBwcm92aWRlZC4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXNzZXNzbWVudHMuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQXNzZXNzbWVudHMnLFxyXG4gICAgICAgIGNvZGU6ICdBU1NFU1NNRU5UJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcgQXNzZXNzbWVudHMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ0Fzc2Vzc21lbnRzIGFsbG93IHlvdSB0byBhc3NvY2lhdGUgb3V0Y29tZSBiYXNlZC1xdWVzdGlvbm5haXJlcyBvciBzZWxmLWFzc2Vzc21lbnQgcXVlc3Rpb25uYWlyZXMgd2l0aCBhIHJlc3BvbnNpYmlsaXR5LiBUaGVzZSBuZWVkIHRvIGJlIGNvbXBsZXRlZCBieSB0aGUgYXNzaWduZWUgYXMgYSBwYXJ0IG9mIGNvbXBsZXRpbmcgdGhlIHJlc3BvbnNpYmlsaXR5LicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6XHJcbiAgICAgICAgICAnQW4gYXNzZXNzbWVudCBjYW4gYmUgbGlua2VkIHdpdGggYSByZXNwb25zaWJpbGl0eSBvbmx5IGFmdGVyIHJlbW92aW5nIHRoZSBhc3NvY2lhdGVkIGNoZWNrcG9pbnRzLicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvY2hlY2twb2ludHMuc3ZnJyxcclxuICAgICAgICAvLyAgbmFtZTogJ0NoZWNrcG9pbnRzIDxzcGFuICpuZ0lmPVwiZmFsc2VcIiBjbGFzcz1cImNoZWNrcG9pbnQtdmVyc2lvblwiPlYyLjA8L3NwYW4+IDxpIGNsYXNzPVwiaWNvbnMgZGVwcmVjaWF0aW9uLWljb24gdngtZnMtMTYgdngtbWwtMlwiIGFwcFRvb2x0aXA9XCJUaGlzIGlzIGFuIG91dC1vZi1kYXRlIHZlcnNpb24gb2YgdGhlIENoZWNrcG9pbnRzIGZlYXR1cmUuIFRvIGFkZCBjaGVja3BvaW50cyB0aGF0IGFyZSBvbmx5IHJlbGV2YW50IHRvIHRoaXMgcmVzcG9uc2liaWxpdHkgeW91IGNhbiB1c2UgdGhlIG5ldyBDaGVja3BvaW50cyBmZWF0dXJlLiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHVzZSBhbiBleGlzdGluZyBxdWVzdGlvbm5haXJlIHRlbXBsYXRlIHVzaW5nIHRoZSBBc3Nlc3NtZW50cyBmZWF0dXJlLlwiIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj4mI3hlOTMwOzwvaT4nLFxyXG4gICAgICAgIG5hbWU6ICdDaGVja3BvaW50cyA8aSBjbGFzcz1cImljb25zIGRlcHJlY2lhdGlvbi1pY29uIHZ4LWZzLTE2IHZ4LW1sLTJcIiBhcHBUb29sdGlwPVwiVGhpcyBpcyBhbiBvdXQtb2YtZGF0ZSB2ZXJzaW9uIG9mIHRoZSBDaGVja3BvaW50cyBmZWF0dXJlLiBUbyBhZGQgY2hlY2twb2ludHMgdGhhdCBhcmUgb25seSByZWxldmFudCB0byB0aGlzIHJlc3BvbnNpYmlsaXR5IHlvdSBjYW4gdXNlIHRoZSBuZXcgQ2hlY2twb2ludHMgZmVhdHVyZS4gQWx0ZXJuYXRpdmVseSwgeW91IGNhbiB1c2UgYW4gZXhpc3RpbmcgcXVlc3Rpb25uYWlyZSB0ZW1wbGF0ZSB1c2luZyB0aGUgQXNzZXNzbWVudHMgZmVhdHVyZS5cIiBwbGFjZW1lbnQ9XCJib3R0b21cIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkzMDs8L2k+JyxcclxuICAgICAgICBjb2RlOiAnQ0hFQ0tQT0lOVFMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0NoZWNrcG9pbnRzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTpcclxuICAgICAgICAgICdUaGlzIGlzIGFuIG91dC1vZi1kYXRlIHZlcnNpb24gb2YgdGhlIENoZWNrcG9pbnRzIGZlYXR1cmUuIFRvIGFkZCBjaGVja3BvaW50cyB0aGF0IGFyZSBvbmx5IHJlbGV2YW50IHRvIHRoaXMgcmVzcG9uc2liaWxpdHkgeW91IGNhbiB1c2UgdGhlIG5ldyBDaGVja3BvaW50cyBmZWF0dXJlLiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHVzZSBhbiBleGlzdGluZyBxdWVzdGlvbm5haXJlIHRlbXBsYXRlIHVzaW5nIHRoZSBBc3Nlc3NtZW50cyBmZWF0dXJlLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6XHJcbiAgICAgICAgICAnVGhlIGNoZWNrcG9pbnRzIGZlYXR1cmUgaXMgcmVwbGFjZWQgd2l0aCB0aGUgbmV3ICYgZW5oYW5jZWQgYXNzZXNzbWVudCBmdW5jdGlvbmFsaXR5LiBTZWxlY3QgdGhlIDxzdHJvbmc+QXNzZXNzbWVudHM8L3N0cm9uZz4gb3B0aW9uIGJlbG93IHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZSBvdXRjb21lLWJhc2VkIG9yIHNlbGYtYXNzZXNzbWVudCBxdWVzdGlvbm5haXJlcy4nLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NoZWNrcG9pbnRzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0NoZWNrcG9pbnRzJyxcclxuICAgICAgICBjb2RlOiAnQ0hFQ0tQT0lOVFNfTkVXJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdDaGVja3BvaW50cycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnQ2hlY2twb2ludHMgYWxsb3cgeW91IHRvIHNwZWNpZnkgbXVsdGlwbGUgc3RlcHMgZm9yIGEgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgd2hpY2ggbmVlZCB0byBiZSBjb21wbGV0ZWQgYXMgcGFydCBvZiBjb21wbGV0aW5nIHRoZSByZXNwb25zaWJpbGl0eS4gT2Z0ZW4gY2hlY2twb2ludHMgYXJlIHVzZWQgdG8gcmVwbGFjZSBpbnN0cnVjdGlvbiBtYW51YWxzLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6XHJcbiAgICAgICAgICAnTmV3IENoZWNrcG9pbnRzIGNhbiBiZSBsaW5rZWQgd2l0aCBhIHJlc3BvbnNpYmlsaXR5IG9ubHkgYWZ0ZXIgcmVtb3ZpbmcgdGhlIG91dC1vZi1kYXRlIHZlcnNpb24gb2YgdGhlIENoZWNrcG9pbnRzLicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmlza3Muc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmlzayBDbGFzc2lmaWNhdGlvbicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmlzayBDbGFzc2lmaWNhdGlvbicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnWW91IGNhbiBzcGVjaWZ5IHRoZSBsZXZlbCBvZiByaXNrIHRoYXQgdGhlIG9yZ2FuaXphdGlvbiB3aWxsIGJlIGV4cG9zZWQgdG8gaWYgdGhlIHJlc3BvbnNpYmlsaXR5IGlzIG5vdCBjb21wbGV0ZWQuJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdSSVNLX0NMQVNTSUZJQ0FUSU9OJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXZpZXdlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXZpZXdlcicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmV2aWV3ZXInLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ0EgUmV2aWV3ZXIgaXMgYSBwZXJzb24gdGhhdCBpcyB0YXNrZWQgd2l0aCByZXZpZXdpbmcgdGhlIGNvbXBsZXRlZCByZXNwb25zaWJpbGl0eS4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ1JFVklFV0VSJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vdmVyc2lnaHQuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnT3ZlcnNpZ2h0JyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdPdmVyc2lnaHQnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgT3ZlcnNpZ2h0IGVuYWJsZXMgeW91IHRvIGRlc2lnbmF0ZSBwZXJzb25zIHRvIG92ZXJzZWUgdGhlIHJlc3BvbnNpYmlsaXR5LlxyXG4gICAgICAgICAgVGhlc2UgcGVyc29ucyB3aWxsIHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBhYm91dCB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHJlc3BvbnNpYmlsaXR5Ljxicj5cclxuICAgICAgICAgIEFzIHRoZSBwZXJzb24gY3JlYXRpbmcgdGhlIHJlc3BvbnNpYmlsaXR5LCB5b3Ugd2lsbCBhdXRvbWF0aWNhbGx5IHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBhYm91dCB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHJlc3BvbnNpYmlsaXR5LmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnT1ZFUlNFRVInLFxyXG4gICAgICB9LFxyXG4gICAgICAvLyB7XHJcbiAgICAgIC8vICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXVkaXQuc3ZnJyxcclxuICAgICAgLy8gICBuYW1lOiAnQVNTVVJBTkNFJyxcclxuICAgICAgLy8gICB0b29sdGlwVGl0bGU6ICdSRVFVSVJFUyBBVURJVD8nLFxyXG4gICAgICAvLyAgIHRvb2x0aXBNZXNzYWdlOiAnU2VsZWN0IHRoZSB0ZXN0IHBsYW4gY2F0ZWdvcmllcyB0aGF0IHlvdSB3b3VsZCBsaWtlIHRvIGFkZCB0aGlzIHJlc3BvbnNpYmlsaXR5IHRvLicsXHJcbiAgICAgIC8vICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgIC8vICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgLy8gICBjb2RlOiAnQVNTVVJBTkNFJyxcclxuICAgICAgLy8gICBpc0Rpc2FibGVkOiB0cnVlLFxyXG4gICAgICAvLyAgIGRpc2FibGVkTWVzc2FnZTogJ1RoaXMgcmVzcG9uc2liaWxpdHkgY2FuIGJlIHNjaGVkdWxlZCBmb3IgYW4gYXVkaXQgb25seSBhZnRlciB0aGUgUmVzcG9uc2liaWxpdHkgQ2VudGVyIGlzIHNlbGVjdGVkLidcclxuICAgICAgLy8gfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hdWRpdC5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdBU1NVUkFOQ0UnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0FTU1VSQU5DRScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnU2VsZWN0IHRoZSB0ZXN0IHBsYW4gY2F0ZWdvcmllcyB0aGF0IHlvdSB3b3VsZCBsaWtlIHRvIGFkZCB0aGlzIHJlc3BvbnNpYmlsaXR5IHRvLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnQVNTVVJBTkNFJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hdWRpdC5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSRVFVSVJFUyBBVURJVD8nLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1JFUVVJUkVTIEFVRElUPycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnU2VsZWN0IHRoZSBhdWRpdCBjYXRlZ29yaWVzIHRoYXQgeW91IHdvdWxkIGxpa2UgdG8gYWRkIHRoaXMgcmVzcG9uc2liaWxpdHkgdG8uJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdSRVFVSVJFU19BVURJVCcsXHJcbiAgICAgICAgaXNEaXNhYmxlZDogdHJ1ZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6XHJcbiAgICAgICAgICAnVGhpcyByZXNwb25zaWJpbGl0eSBjYW4gYmUgc2NoZWR1bGVkIGZvciBhbiBhdWRpdCBvbmx5IGFmdGVyIHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIgaXMgc2VsZWN0ZWQuJyxcclxuICAgICAgfSxcclxuICAgICAgLy8ge1xyXG4gICAgICAvLyAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL3Jpc2stbWl0aWdhdGlvbi1wcmlvcml0eS5zdmcnLFxyXG4gICAgICAvLyAgIG5hbWU6ICdBZGQgYW4gYXBwJyxcclxuICAgICAgLy8gICB0b29sdGlwVGl0bGU6ICcnLFxyXG4gICAgICAvLyAgIHRvb2x0aXBNZXNzYWdlOiAnJyxcclxuICAgICAgLy8gICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgLy8gaGlkZGVuOiBmYWxzZSxcclxuICAgICAgLy8gICBjb2RlOiAnQVBQUydcclxuICAgICAgLy8gfVxyXG4gICAgXSxcclxuICAgIENBUzogW1xyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICcnLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvZm9ybWF0LWV2aWRlbmNlLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0Zvcm1hdCAmYW1wOyBFdmlkZW5jZScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJycsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vdmVyc2lnaHQuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnT3ZlcnNpZ2h0JyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuXHJcbiAgICBMQUk6IFtcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9leGNlcHRpb24tdHlwZS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdFeGNlcHRpb24gdHlwZScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnRXhjZXB0aW9uIHR5cGUnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ0V4Y2VwdGlvbiB0eXBlIGxldHMgeW91IHNwZWNpZnkgd2hldGhlciB0aGVyZSBpcyBhIGRlc2lnbiBvciBhbiBvcGVyYXRpb25hbCBlZmZlY3RpdmVuZXNzIHByb2JsZW0uJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdFWENFUFRJT05fVFlQRScsXHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIHtcclxuICAgICAgLy8gICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9pc3N1ZS10eXBlLnN2ZycsXHJcbiAgICAgIC8vICAgbmFtZTogJ0lzc3VlIHR5cGUnLFxyXG4gICAgICAvLyAgIHRvb2x0aXBUaXRsZTogJycsXHJcbiAgICAgIC8vICAgdG9vbHRpcE1lc3NhZ2U6ICcnLFxyXG4gICAgICAvLyAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAvLyAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIC8vICAgY29kZTogJ0lTU1VFX1RZUEUnXHJcbiAgICAgIC8vIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcHJpb3JpdHkuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUHJpb3JpdHknLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1ByaW9yaXR5JyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTpcclxuICAgICAgICAgICdUaGlzIHNldHMgdGhlIHByaW9yaXR5IGxldmVsIGZvciByZXNvbHZpbmcgZWFjaCBpc3N1ZS4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ1BSSU9SSVRZJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hc3NvY2lhdGVkLXJpc2tzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0Fzc29jaWF0ZWQgUmlza3MnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0Fzc29jaWF0ZWQgUmlza3MnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ0Fzc29jaWF0ZWQgcmlza3MgbGV0cyB5b3Ugc3BlY2lmeSB0aGUgcmlza3MgdGhhdCBhcmUgcmVsYXRlZCB0byB0aGlzIGlzc3VlLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnQVNTT0NJQVRFRF9SSVNLUycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3ZlcnNpZ2h0LnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ092ZXJzaWdodCcsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnT3ZlcnNpZ2h0JyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTpcclxuICAgICAgICAgICdPdmVyc2lnaHRzIGFyZSB0aGUgcGVyc29ucyByZXNwb25zaWJsZSBmb3Igb3ZlcnNlZWluZyBhbiBpc3N1ZS4gVGhlc2UgcGVyc29ucyB3aWxsIHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBhYm91dCB0aGUgaXNzdWUgc3RhdHVzLiBBcyB0aGUgcGVyc29uIHJlcG9ydGluZyB0aGlzIGlzc3VlLCB5b3Ugd2lsbCBhdXRvbWF0aWNhbGx5IHJlY2VpdmUgc3VjaCBlbWFpbCBub3RpZmljYXRpb25zLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnT1ZFUlNJR0hUJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9mb3JtYXQtZXZpZGVuY2Uuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnRXZpZGVuY2UnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0V2aWRlbmNlJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTpcclxuICAgICAgICAgICdZb3UgY2FuIHJlcXVpcmUgdGhhdCB0aGUgcGVyc29uIHJlc29sdmluZyB0aGUgaXNzdWUgdXBsb2FkcyBldmlkZW5jZSB0byBjb25maXJtJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdFVklERU5DRScsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgQ0FQUjogW1xyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3JvbGVzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1JvbGUoUyknLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1JvbGUocyknLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgUm9sZShzKSBsZXQgeW91IHNwZWNpZnkgdGhlIHVzZXJzIHRoYXQgY2FuIGJlIOKAnE93bmVyc+KAnSBvZiBhIFByb2dyYW0uYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdST0xFUycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3duZXIuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnT3duZXIocyknLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ093bmVyKHMpJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYE93bmVycyBhcmUgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGEgUHJvZ3JhbS4gT25seSBPd25lcnMgY2FuIG1ha2UgY2hhbmdlcyB0byBhIFByb2dyYW0gYW5kIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgYXJlIGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLjxicj5cclxuICAgICAgICBUaGUgPGI+S2V5IEFkbWluPC9iPiBhbmQgYWxsIDxiPkFkbWluPC9iPiB1c2VycyB3aWxsIGJlIHNlbGVjdGVkIGFzIHRoZSBPd25lcnMgb2YgYSBQcm9ncmFtIGJ5IGRlZmF1bHQuXHJcbiAgICAgICAgYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdPV05FUlMnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2FwcHJvdmFsLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0FwcHJvdmVyJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdBcHByb3ZlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBBbiBBcHByb3ZlciBpcyByZXNwb25zaWJsZSBmb3IgYXBwcm92aW5nIGEgUHJvZ3JhbS4gV2hlcmUgYW4gQXBwcm92ZXIgaXMgc2VsZWN0ZWQsIHRoZSBQcm9ncmFtIGFuZCBhbGwgcmVzcG9uc2liaWxpdGllcyBsaW5rZWQgd2l0aCB0aGF0IFByb2dyYW0gd2lsbCBvbmx5IGNvbW1lbmNlIG9uY2UgdGhlIFByb2dyYW0gaGFzIGJlZW4gYXBwcm92ZWQuYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgY29kZTogJ0FQUFJPVkVSJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZWN1cnJpbmcuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUHJvZ3JhbSBEdXJhdGlvbicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUHJvZ3JhbSBEdXJhdGlvbicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnUHJvZ3JhbSBEdXJhdGlvbiByZWZlcnMgdG8gdGhlIGR1cmF0aW9uIG9mIHRoZSBQcm9ncmFtLiBBIFByb2dyYW0gY2FuIG9jY3VyIGluIHBlcnBldHVpdHksIG9yIGl0IGNhbiBvY2N1ciB1bnRpbCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGJ1c2luZXNzIGN5Y2xlIHRoYXQgaGFzIGJlZW4gc3BlY2lmaWVkIGluICcgK1xyXG4gICAgICAgICAgdGhpcy5idXNpbmVzc0N5Y2xlPy5zZWxlY3RlZEN5Y2xlPy5idXNpbmVzc19jeWNsZSArXHJcbiAgICAgICAgICAnLiAgQWxsIHJlc3BvbnNpYmlsaXRpZXMgbGlua2VkIHdpdGggdGhhdCBQcm9ncmFtIHdpbGwgYWxzbyBoYXZlIHRoZSBzYW1lIFByb2dyYW0gRHVyYXRpb24uJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgY29kZTogJ1BST0dSQU1fRlJFUVVFTkNZJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9sb2NrLXNjb3BlLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0xvY2sgdGhlIFByb2dyYW0gU2NvcGUnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0xvY2sgdGhlIFByb2dyYW0gU2NvcGUnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgSWYgdGhlIFByb2dyYW0gU2NvcGUgaXMgbG9ja2VkLCBuZWl0aGVyIHRoZSBQcm9ncmFtIG5vciB0aGUgcmVzcG9uc2liaWxpdGllcyBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbSBjYW4gYmUgZWRpdGVkIG9uY2UgdGhlIFByb2dyYW0gYmVnaW5zLiBJbiBvcmRlciB0byBlZGl0IHRoZSBQcm9ncmFtIG9yIHRoZSBsaW5rZWQgcmVzcG9uc2liaWxpdGllcywgdGhlIFByb2dyYW0gZGV0YWlscyB3aWxsIG5lZWQgdG8gYmUgZWRpdGVkLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdTQ09QRV9DSEFOR0VTJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXNwb25zaWJpbGl0eS1jZW50ZXIuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgUmVzcG9uc2liaWxpdHkgQ2VudGVycyByZXByZXNlbnQgeW91ciBvcmdhbml6YXRpb25hbCBhbmQgb3BlcmF0aW9uYWwgaW5mcmFzdHJ1Y3R1cmUuIFdoZXJlIFJlc3BvbnNpYmlsaXR5IENlbnRlcnMgYXJlIHNlbGVjdGVkIHdoZW4gY3JlYXRpbmcgYSBQcm9ncmFtLCBvbmx5IHRob3NlIFJlc3BvbnNpYmlsaXRpZXMgQ2VudGVycyB3aWxsIGJlIGF2YWlsYWJsZSBmb3Igc2VsZWN0aW9uIHdoZW4gY3JlYXRpbmcgYSByZXNwb25zaWJpbGl0eSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS5gLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgICBjb2RlOiAnUkMnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3doby5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdBc3NpZ25lZXMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0Fzc2lnbmVlcycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBBc3NpZ25lZXMgYXJlIHJlcXVpcmVkIHRvIGNvbXBsZXRlIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkIHRvIHRoZW0uIFdoZXJlIEFzc2lnbmVlcyBhcmUgc2VsZWN0ZWQgd2hlbiBjcmVhdGluZyBhIFByb2dyYW0sIG9ubHkgdGhvc2UgQXNzaWduZWVzIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBzZWxlY3Rpb24gd2hlbiBjcmVhdGluZyBhIHJlc3BvbnNpYmlsaXR5IGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdBU1NJR05FRVMnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jldmlld2VyLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Jldmlld2VycycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmV2aWV3ZXJzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFJldmlld2VycyBhcmUgcmVxdWlyZWQgdG8gcmV2aWV3IHJlc3BvbnNpYmlsaXRpZXMgYWZ0ZXIgdGhleSBoYXZlIGJlZW4gY29tcGxldGVkLiBXaGVyZSBSZXZpZXdlcnMgYXJlIHNlbGVjdGVkIHdoZW4gY3JlYXRpbmcgYSBQcm9ncmFtLCBvbmx5IHRob3NlIFJldmlld2VycyB3aWxsIGJlIGF2YWlsYWJsZSBmb3Igc2VsZWN0aW9uIHdoZW4gY3JlYXRpbmcgYSByZXNwb25zaWJpbGl0eSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS5gLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgICBjb2RlOiAnUkVWSUVXRVInLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L292ZXJzaWdodC5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdPdmVyc2lnaHRzJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdPdmVyc2lnaHRzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTpcclxuICAgICAgICAgICdPdmVyc2lnaHRzIHJlY2VpdmUgdXBkYXRlcyB3aGVuIGEgcmVzcG9uc2liaWxpdHkgaXMgY29tcGxldGVkLCBjb21wbGV0ZWQgd2l0aCBkZWxheSBvciBub3QgY29tcGxldGVkLiBXaGVyZSBPdmVyc2lnaHRzIGFyZSBzZWxlY3RlZCB3aGVuIGNyZWF0aW5nIGEgUHJvZ3JhbSwgb25seSB0aG9zZSBPdmVyc2lnaHRzIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBzZWxlY3Rpb24gd2hlbiBjcmVhdGluZyBhIHJlc3BvbnNpYmlsaXR5IGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdPVkVSU0VFUicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXNzZXNzbWVudHMuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQXNzZXNzbWVudHMnLFxyXG4gICAgICAgIGNvZGU6ICdBU1NFU1NNRU5UJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcgQXNzZXNzbWVudHMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ0Fzc2Vzc21lbnRzIGFyZSBhIGRpZ2l0YWwgZm9ybSB0aGF0IGFyZSBjcmVhdGVkIGluIOKAnEFzc2Vzc21lbnTigJ0gd2l0aGluIHRoZSBDb21wbGlhbmNlIE1vZHVsZS4gV2hlcmUgQXNzZXNzbWVudHMgYXJlIHNlbGVjdGVkIHdoZW4gY3JlYXRpbmcgYSBQcm9ncmFtLCBvbmx5IHRob3NlIEFzc2Vzc21lbnRzIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBzZWxlY3Rpb24gd2hlbiBjcmVhdGluZyBhIHJlc3BvbnNpYmlsaXR5IGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgIGRpc2FibGVkTWVzc2FnZTpcclxuICAgICAgICAgICdBbiBhc3Nlc3NtZW50IGNhbiBiZSBsaW5rZWQgd2l0aCBhIHJlc3BvbnNpYmlsaXR5IG9ubHkgYWZ0ZXIgcmVtb3ZpbmcgdGhlIGFzc29jaWF0ZWQgY2hlY2twb2ludHMuJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9mb3JtYXQtZXZpZGVuY2Uuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnRXZpZGVuY2UnLFxyXG4gICAgICAgIGNvZGU6ICdGT1JNQVRFX0VWSURFTkNFJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdFdmlkZW5jZScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnSWYgc2VsZWN0ZWQsIGV2aWRlbmNlIG9mIGNvbXBsZXRpb24gb2YgYSByZXNwb25zaWJpbGl0eSB3aWxsIGJlIHJlcXVpcmVkIGZvciBhbGwgcmVzcG9uc2liaWxpdGllcyB0aGF0IGFyZSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS4gQW4gQXNzaWdub3IsIGJlaW5nIHRoZSBwZXJzb24gd2hvIGNyZWF0ZXMgdGhlIHJlc3BvbnNpYmlsaXR5LCBjYW4gb3ZlcnJpZGUgdGhpcyBvcHRpb24gd2hlbiBjcmVhdGluZyBhIHJlc3BvbnNpYmlsaXR5LicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2N1c3RvbS1maWVsZHMuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQ3VzdG9tIEZpZWxkJyxcclxuICAgICAgICBjb2RlOiAnQ1VTVE9NX0ZJRUxEUycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnIEN1c3RvbSBGaWVsZCcsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnV2hlcmUgYSBjdXN0b20gZmllbGQgaXMgc3BlY2lmaWVkLCBhbGwgcmVzcG9uc2liaWxpdGllcyBsaW5rZWQgd2l0aCBhIFByb2dyYW0gd2lsbCBjb250YWluIHRoYXQgY3VzdG9tIGZpZWxkLiBDdXN0b20gZmllbGRzIGVuYWJsZSB0aGUgY29sbGVjdGlvbiBvZiBhZGRpdGlvbmFsIG1ldGEgZGF0YS4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgR1JDOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGluay1pdGVtcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdMSU5LIFBST0dSQU1TICYgUkVTUE9OU0lCSUxJVElFUycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnTElOSyBQUk9HUkFNUyAmIFJFU1BPTlNJQklMSVRJRVMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBhc3NvY2lhdGUgUHJvZ3JhbXMgJiByZXNwb25zaWJpbGl0aWVzIGZyb20gdGhlIENvbXBsaWFuY2UgbW9kdWxlIHdpdGggYSBwb2xpY3kuIFRoZXNlIGNvdWxkIGJlIHByb2Nlc3NlcyBvciBwcm9jZWR1cmVzIHRoYXQgbWlnaHQgYmUgbGlua2VkIHRvIGEgcG9saWN5LmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdMSU5LX1BST0dSQU1fUkVTUE9OU0lCSUxJVElFUycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGluay1yaXNrcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdMSU5LIFJJU0tTJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdMSU5LIFBST0dSQU1TICYgUkVTUE9OU0lCSUxJVElFUycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBUaGlzIG9wdGlvbiBhbGxvd3MgeW91IHRvIGFzc29jaWF0ZSBQcm9ncmFtcyAmIHJlc3BvbnNpYmlsaXRpZXMgZnJvbSB0aGUgQ29tcGxpYW5jZSBtb2R1bGUgd2l0aCBhIHBvbGljeS4gVGhlc2UgY291bGQgYmUgcHJvY2Vzc2VzIG9yIHByb2NlZHVyZXMgdGhhdCBtaWdodCBiZSBsaW5rZWQgdG8gYSBwb2xpY3kuYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdMSU5LX1JJU0tfQ0FURUdPUklFU19SSVNLUycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGluay1pdGVtcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdMSU5LIE9USEVSIEdSQyBPQkpFQ1RTJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdMSU5LIE9USEVSIEdSQyBPQkpFQ1RTJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFRoaXMgb3B0aW9uIGFsbG93cyB5b3UgdG8gYXNzb2NpYXRlIFByb2dyYW1zICYgcmVzcG9uc2liaWxpdGllcyBmcm9tIHRoZSBDb21wbGlhbmNlIG1vZHVsZSB3aXRoIGEgcG9saWN5LiBUaGVzZSBjb3VsZCBiZSBwcm9jZXNzZXMgb3IgcHJvY2VkdXJlcyB0aGF0IG1pZ2h0IGJlIGxpbmtlZCB0byBhIHBvbGljeS5gLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ09USEVSX0dSQ19PQkpFQ1RTJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOiBMSU5LUz8uY3VzdG9tRmllbGRzLFxyXG4gICAgICAgIG5hbWU6ICdHUkMgT2JqZWN0IFR5cGUgQXR0cmlidXRlcycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFJlc3BvbnNpYmlsaXR5IENlbnRlcnMgcmVwcmVzZW50IHlvdXIgb3JnYW5pemF0aW9uYWwgYW5kXHJcbiAgICAgICAgIG9wZXJhdGlvbmFsIGluZnJhc3RydWN0dXJlLiBZb3UgY2FuIGF0dHJpYnV0ZSBhIHBvbGljeSB0byBvbmUgb3IgbW9yZSBSZXNwb25zaWJpbGl0eSBDZW50ZXJzLlxyXG4gICAgICAgICAgV2hlcmUgeW91IGF0dHJpYnV0ZSBhIHBvbGljeSB0byBhIFJlc3BvbnNpYmlsaXR5IENlbnRlciwgdGhhdCBwb2xpY3kgd2lsbCBiZSBzaG93biBhcyBhIHBvbGljeVxyXG4gICAgICAgICAgIHRoYXQgaXMgcmVxdWlyZWQgdG8gYmUgYXR0ZXN0ZWQgYnkgYWxsIHRoZSBwZXJzb25zIGFzc29jaWF0ZWQgd2l0aCB0aGF0IFJlc3BvbnNpYmlsaXR5IENlbnRlci5cclxuICAgICAgICAgICAgVGhlIHBlcmZvcm1hbmNlIG9mIGEgcG9saWN5IGFzc2lnbmVkIHRvIGEgUmVzcG9uc2liaWxpdHkgQ2VudGVyIHdpbGwgYWxzbyBjb250cmlidXRlIHRvIHRoZVxyXG4gICAgICAgICAgICBvdmVyYWxsIHBlcmZvcm1hbmNlIG9mIHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIuYCxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6XHJcbiAgICAgICAgICAnVGhpcyBvcHRpb24gaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHRoZSBHUkMgT2JqZWN0IFR5cGUgd2l0aCBBdHRyaWJ1dGVzLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnQVRUUklCVVRFUycsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKFxyXG4gICAgICBjaGFuZ2VzPy5pc1Byb2dyYW1TZWxlY3RlZD8uY3VycmVudFZhbHVlICE9PVxyXG4gICAgICBjaGFuZ2VzPy5pc1Byb2dyYW1TZWxlY3RlZD8ucHJldmlvdXNWYWx1ZVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaXNQcm9ncmFtU2VsZWN0ZWQgPSBjaGFuZ2VzLmlzUHJvZ3JhbVNlbGVjdGVkLmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5pc1JDU2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZvckVhY2goKGVsZTogYW55KSA9PiB7XHJcbiAgICAgICAgLy8gaWYoZWxlLmNvZGUgPT09ICdBU1NVUkFOQ0UnKSB7XHJcbiAgICAgICAgLy8gICBlbGUuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBpZiAoZWxlLmNvZGUgPT09ICdSRVFVSVJFU19BVURJVCcpIHtcclxuICAgICAgICAgIGVsZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUi5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vIGlmKGVsZS5jb2RlID09PSAnQVNTVVJBTkNFJykge1xyXG4gICAgICAgIC8vICAgZWxlLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgaWYgKGVsZS5jb2RlID09PSAnUkVRVUlSRVNfQVVESVQnKSB7XHJcbiAgICAgICAgICBlbGUuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoZWNrR1JDQXR0cmlidXRlcyh0aGlzLmlzQXR0cmlidXRlc0F2YWlsYWJsZSk7XHJcbiAgfVxyXG5cclxuICBjaGVja0dSQ0F0dHJpYnV0ZXModmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuR1JDLmZvckVhY2goKGVsZTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChlbGUuY29kZSA9PT0gJ0FUVFJJQlVURVMnKSB7XHJcbiAgICAgICAgZWxlLmlzRGlzYWJsZWQgPSAhdmFsdWU7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICAgICAgZWxlLmNoZWNrZWQgPSAhdmFsdWU7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdE1vcmVPcHRpb24oZWxlLCBpbmRleCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZlYXR1cmVmbGFncm9sZSA9IHRoaXMuYWxsb3dlZEZlYXR1cmU/LmlzRmVhdHVyZUVuYWJsZWQoXHJcbiAgICAgICdmZl9yb2xlX2ltcHJvdmVtZW50cydcclxuICAgICk7XHJcbiAgICB0aGlzLmZmX3JjX2xpc3RpbmcgPSB0aGlzLmFsbG93ZWRGZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoJ2ZmX3JjX2xpc3RpbmcnKTtcclxuICAgIHRoaXMuZmZfcmNfbGlzdGluZ1xyXG4gICAgICA/ICh0aGlzLnBlcm1pc3Npb25UZXh0ID0gJ1Blcm1pc3Npb25zJylcclxuICAgICAgOiAodGhpcy5wZXJtaXNzaW9uVGV4dCA9ICdQZXJtaXNzaW9uIEdyb3VwKFMpJyk7XHJcbiAgICB0aGlzLm1vcmVPcHRpb25zTGlzdC5DQVBSWzBdLm5hbWUgPSB0aGlzLnBlcm1pc3Npb25UZXh0O1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FQUlswXS50b29sdGlwVGl0bGUgPSB0aGlzLnBlcm1pc3Npb25UZXh0O1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FQUlsxXS50b29sdGlwTWVzc2FnZSA9IHRoaXMuZmVhdHVyZWZsYWdyb2xlXHJcbiAgICAgID8gYE93bmVycyBhcmUgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGEgUHJvZ3JhbS4gT25seSBPd25lcnMgY2FuIG1ha2UgY2hhbmdlcyB0byBhIFByb2dyYW0gYW5kIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgYXJlIGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLjxicj5cclxuICAgIFRoZSA8Yj5LZXkgUG93ZXIgVXNlciA8L2I+IGFuZCBhbGwgPGI+UG93ZXIgVXNlcnM8L2I+ICB3aWxsIGJlIHNlbGVjdGVkIGFzIHRoZSBPd25lcnMgb2YgYSBQcm9ncmFtIGJ5IGRlZmF1bHQuXHJcbiAgICBgXHJcbiAgICAgIDogYE93bmVycyBhcmUgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGEgUHJvZ3JhbS4gT25seSBPd25lcnMgY2FuIG1ha2UgY2hhbmdlcyB0byBhIFByb2dyYW0gYW5kIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgYXJlIGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLjxicj5cclxuICAgIFRoZSA8Yj5LZXkgQWRtaW48L2I+IGFuZCBhbGwgPGI+QWRtaW48L2I+IHVzZXJzIHdpbGwgYmUgc2VsZWN0ZWQgYXMgdGhlIE93bmVycyBvZiBhIFByb2dyYW0gYnkgZGVmYXVsdC5cclxuICAgIGA7XHJcbiAgICBpZiAodGhpcy5hbGxvd2VkRmVhdHVyZT8uaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpKSB7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUFJbMF0udG9vbHRpcE1lc3NhZ2UgPSBgJHt0aGlzLnBlcm1pc3Npb25UZXh0fSBsZXQgeW91IHNwZWNpZnkgdGhlIHVzZXJzIHRoYXQgY2FuIGJlIOKAnE93bmVyc+KAnSBvZiBhIFByb2dyYW0uYDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUFJbMF0udG9vbHRpcE1lc3NhZ2UgPSBgJHt0aGlzLnBlcm1pc3Npb25UZXh0fSBsZXQgeW91IHNwZWNpZnkgdGhlIHVzZXJzIHRoYXQgY2FuIGJlIOKAnE93bmVyc+KAnSBhbmQg4oCcQXBwcm92ZXJz4oCdIG9mIGEgUHJvZ3JhbS5gO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZpbmRJbmRleChcclxuICAgICAgKGVsZTogYW55KSA9PiBlbGUuY29kZSA9PT0gJ0NIRUNLUE9JTlRTJ1xyXG4gICAgKTtcclxuICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUltpbmRleF0uaGlkZGVuID1cclxuICAgICAgdGhpcy5pc0VkaXRNb2RlID09PSBmYWxzZSA/IHRydWUgOiBmYWxzZTtcclxuICAgIGNvbnN0IFByb2dyYW1JbmRleCA9IHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUi5maW5kSW5kZXgoXHJcbiAgICAgIChlbGU6IGFueSkgPT4gZWxlLmNvZGUgPT09ICdQUk9HUkFNJ1xyXG4gICAgKTtcclxuICAgIGlmIChQcm9ncmFtSW5kZXggPiAtMSkge1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zTGlzdC5DQVJbUHJvZ3JhbUluZGV4XS5pc0Rpc2FibGVkID0gdGhpcy5pc0VkaXRNb2RlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wcm9ncmFtU2ltcGxpZnlGbGFnID1cclxuICAgICAgdGhpcy5hbGxvd2VkRmVhdHVyZT8uaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpID8/IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RNb3JlT3B0aW9uKGV2ZW50OiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jdXJyZW50V29ya2Zsb3cgPT09ICdDQVInICYmXHJcbiAgICAgIGV2ZW50LmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnICYmXHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0W3RoaXMuY3VycmVudFdvcmtmbG93XVtpbmRleF0uY2hlY2tlZFxyXG4gICAgKSB7XHJcbiAgICAgIGV2ZW50WydjaGVja3BvaW50X25ldyddID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbi5lbWl0KGV2ZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGV2ZW50WydjaGVja3BvaW50X25ldyddID0gZmFsc2U7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0W3RoaXMuY3VycmVudFdvcmtmbG93XVtpbmRleF0uY2hlY2tlZCA9XHJcbiAgICAgICAgIWV2ZW50LmNoZWNrZWQ7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24uZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZShldnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFdvcmtmbG93KSB7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0W3RoaXMuY3VycmVudFdvcmtmbG93XS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZXZ0LmluY2x1ZGVzKGVsZW1lbnQuY29kZSkpIHtcclxuICAgICAgICAgIGVsZW1lbnQuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGVsZW1lbnQuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZXZ0LmluY2x1ZGVzKCdDSEVDS1BPSU5UU19ORVcnKSkge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnQuY29kZSA9PT0gJ0NIRUNLUE9JTlRTJykge1xyXG4gICAgICAgICAgICBlbGVtZW50LmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnQuY29kZSA9PT0gJ0FTU0VTU01FTlQnKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChldnQuaW5jbHVkZXMoJ0FTU0VTU01FTlQnKSkge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnQuY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpIHtcclxuICAgICAgICAgICAgZWxlbWVudC5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50LmNvZGUgPT09ICdDSEVDS1BPSU5UUycpIHtcclxuICAgICAgICAgICAgZWxlbWVudC5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChldnQuaW5jbHVkZXMoJ0NIRUNLUE9JTlRTJykpIHtcclxuICAgICAgICAgIGlmIChlbGVtZW50LmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoZWxlbWVudC5jb2RlID09PSAnQVNTRVNTTUVOVCcpIHtcclxuICAgICAgICAgICAgZWxlbWVudC5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGV2dC5pbmNsdWRlcygnUFJPR1JBTScpKSB7XHJcbiAgICAgICAgICBpZiAoZWxlbWVudC5jb2RlID09PSAnUFJPR1JBTScgJiYgdGhpcy5pc1Byb2dyYW1TZWxlY3RlZCkge1xyXG4gICAgICAgICAgICBlbGVtZW50LmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGhpZGVFbGVtZW50cyhoaWRkZW5MaXN0OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRXb3JrZmxvdykge1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zTGlzdFt0aGlzLmN1cnJlbnRXb3JrZmxvd10uZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGhpZGRlbkxpc3QuaW5jbHVkZXMoZWxlbWVudC5jb2RlKSkge1xyXG4gICAgICAgICAgZWxlbWVudC5oaWRkZW4gPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBlbGVtZW50LmhpZGRlbiA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldEFsbCh3b3JrZmxvd1R5cGU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMubW9yZU9wdGlvbnNMaXN0W3dvcmtmbG93VHlwZV0pIHtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3Rbd29ya2Zsb3dUeXBlXS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICBlbGVtZW50LmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQcm9ncmFtTW9yZU9wdGlvbnMoKSB7XHJcbiAgICBjb25zdCBjb2RlID0gW1xyXG4gICAgICAnUFJPR1JBTV9GUkVRVUVOQ1knLFxyXG4gICAgICAnU0NPUEVfQ0hBTkdFUycsXHJcbiAgICAgICdSQycsXHJcbiAgICAgICdBU1NJR05FRVMnLFxyXG4gICAgICAnUkVWSUVXRVInLFxyXG4gICAgICAnT1ZFUlNFRVInLFxyXG4gICAgICAnQVNTRVNTTUVOVCcsXHJcbiAgICAgICdGT1JNQVRFX0VWSURFTkNFJyxcclxuICAgIF07XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMub3JnRGV0YWlscz8uaGFzUHJvZ3JhbUZ1bGxQZXJtaXNzaW9uICYmXHJcbiAgICAgIHRoaXMuYWxsb3dlZEZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3Q/LkNBUFI/LmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGNvZGU/LmluY2x1ZGVzKG9wdGlvbi5jb2RlKSkge1xyXG4gICAgICAgICAgb3B0aW9uLmhpZGRlbiA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuYWxsb3dlZEZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpKSB7XHJcbiAgICAgIGNvZGUucHVzaCgnQVBQUk9WRVInKTtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3Q/LkNBUFI/LmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGNvZGU/LmluY2x1ZGVzKG9wdGlvbi5jb2RlKSkge1xyXG4gICAgICAgICAgb3B0aW9uLmhpZGRlbiA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPHA+bW9yZS1vcHRpb24gd29ya3MhPC9wPiAtLT5cclxuPGRpdiBjbGFzcz1cIm1vcmUtb3B0aW9uXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtY29udGFpbmVyXCI+XHJcbiAgICA8aW1nXHJcbiAgICAgIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hZGQtcmlzay1tb3JlLW9wdGlvbi5zdmdcIlxyXG4gICAgICBhbHQ9XCJcIlxyXG4gICAgLz5cclxuICAgIDxwICpuZ0lmPVwiY3VycmVudFdvcmtmbG93XCI+e3sgcGxhY2Vob2xkZXJUZXh0c1tjdXJyZW50V29ya2Zsb3ddIH19PC9wPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtb3JlLW9wdGlvbnNcIj5cclxuICAgIDx1bD5cclxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibW9yZS1vcHRpb25zLWhlYWRpbmdcIiAqbmdJZj1cImN1cnJlbnRXb3JrZmxvdyA9PT0nQ0FQUidcIj5QUk9HUkFNIFNDT1BFIE9QVElPTlM8L2Rpdj4gLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBtb3JlT3B0aW9uc0xpc3RbY3VycmVudFdvcmtmbG93XTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgID5cclxuICAgICAgICA8IS0tIDxsaSAqbmdJZj1cIiFkYXRhLmhpZGRlblwiIFthcHBUb29sdGlwXT1cImRhdGEuaXNEaXNhYmxlZCAmJiAhaXNSY1NlbGVjdGVkPyAnVGhpcyByZXNwb25zaWJpbGl0eSBjYW4gYmUgc2NoZWR1bGVkIGZvciBhbiBhdWRpdCBvbmx5IGFmdGVyIHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIgaXMgc2VsZWN0ZWQuJyA6ICcnXCIgcGxhY2VtZW50PVwicmlnaHRcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJkYXRhLmlzRGlzYWJsZWQgJiYgIWlzUmNTZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLmFjdGl2ZV09XCJkYXRhLmNoZWNrZWRcIiBbZGlzYWJsZWRdPVwiZGF0YS5jb2RlID09PSAnUkMnICYmIG9wZW5lZEZyb20gPT09ICdSSVNLX1RSRUFUTUVOVCcgJiYgY3VycmVudFdvcmtmbG93ID09PSAnQ0FSJyB8fCAoZGF0YS5pc0Rpc2FibGVkICYmICFpc1JDU2VsZWN0ZWQpXCIgW2NsYXNzLmRpc2FibGVkXT1cImRhdGEuaXNEaXNhYmxlZCAmJiAhaXNSQ1NlbGVjdGVkXCIgKGNsaWNrKT1cImRhdGEuY2hlY2tlZCA9ICFkYXRhLmNoZWNrZWQ7IHNlbGVjdE1vcmVPcHRpb24oZGF0YSlcIj4gLS0+XHJcblxyXG4gICAgICAgIDxsaVxyXG4gICAgICAgICAgKm5nSWY9XCIhZGF0YS5oaWRkZW5cIlxyXG4gICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXHJcbiAgICAgICAgICAgIGRhdGEuaXNEaXNhYmxlZCB8fFxyXG4gICAgICAgICAgICAoKChkYXRhLmNvZGUgPT09ICdSQycgJiYgIWlzUmNTZWxlY3RlZCkgfHxcclxuICAgICAgICAgICAgICBkYXRhLmNvZGUgPT09ICdBVFRSSUJVVEVTJykgJiZcclxuICAgICAgICAgICAgICBkYXRhLmlzRGlzYWJsZWQpXHJcbiAgICAgICAgICAgICAgPyBkYXRhPy5kaXNhYmxlZE1lc3NhZ2VcclxuICAgICAgICAgICAgICA6ICcnXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImRhdGEuaXNEaXNhYmxlZFwiXHJcbiAgICAgICAgICBpZD1cImxpc3RkYXRhXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiZGF0YS5jaGVja2VkXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIlxyXG4gICAgICAgICAgICAgIChkYXRhLmNvZGUgPT09ICdSQycgJiZcclxuICAgICAgICAgICAgICAgIG9wZW5lZEZyb20gPT09ICdSSVNLX1RSRUFUTUVOVCcgJiZcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRXb3JrZmxvdyA9PT0gJ0NBUicpIHx8XHJcbiAgICAgICAgICAgICAgZGF0YS5pc0Rpc2FibGVkIHx8XHJcbiAgICAgICAgICAgICAgKGRhdGEuaXNEaXNhYmxlZCAmJiAhaXNSQ1NlbGVjdGVkKVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0TW9yZU9wdGlvbihkYXRhLCBpKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWRhdGEuY2hlY2tlZFwiIGNsYXNzPVwibW9yZS1pY29uXCI+XHJcbiAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImRhdGEuaW1hZ2VVcmxcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25cIlxyXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGNpcmNsZVxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiXHJcbiAgICAgICAgICAgICAgICBjeD1cIjI2XCJcclxuICAgICAgICAgICAgICAgIGN5PVwiMjZcIlxyXG4gICAgICAgICAgICAgICAgcj1cIjI1XCJcclxuICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIlxyXG4gICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZGF0YT8ubmFtZVwiXHJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZGF0YT8ubmFtZVwiXHJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgICAgICA8IS0tIDxzcGFuICpuZ0lmPVwiZGF0YS5jb2RlID09PSdDSEVDS1BPSU5UU19ORVcnXCIgY2xhc3M9XCJjaGVja3BvaW50LXZlcnNpb25cIj4gVjIuMDwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZGF0YS50b29sdGlwTWVzc2FnZSAhPT0gJydcIlxyXG4gICAgICAgICAgICBsaWJQb3BvdmVySG92ZXJcclxuICAgICAgICAgICAgKG1vdXNlb3Zlcik9XCJkYXRhVG9vbHRpcC5wb3BvdmVyKClcIlxyXG4gICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJkYXRhVG9vbHRpcC5jbG9zZVBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcclxuICAgICAgICAgICAgPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFmOzwvaT48L3NwYW5cclxuICAgICAgICAgID5cclxuICAgICAgICAgIDxwb3BvdmVyLWhvdmVyICNkYXRhVG9vbHRpcD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWluZm8tY2FyZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidngtaW5mby1jYXJkLWhlYWRcIlxyXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJkYXRhLnRvb2x0aXBUaXRsZVwiXHJcbiAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidngtaW5mby1jYXJkLWJvZHlcIlxyXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJkYXRhLnRvb2x0aXBNZXNzYWdlXCJcclxuICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9wb3BvdmVyLWhvdmVyPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJtb3JlLW9wdGlvbnMtaGVhZGluZyB2eC1tdC0yXCJcclxuICAgICAgICAgICpuZ0lmPVwiY3VycmVudFdvcmtmbG93ID09PSAnQ0FQUicgJiYgaSA9PT0gMlwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgUFJPR1JBTSBTQ09QRSBPUFRJT05TXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC91bD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
756
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZS1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvbW9yZS1vcHRpb24vbW9yZS1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvbW9yZS1vcHRpb24vbW9yZS1vcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7OztBQU92RSxNQUFNLE9BQU8sbUJBQW1CO0lBd25COUI7UUF2bkJTLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNsQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBUzFCLDBCQUFxQixHQUFZLElBQUksQ0FBQztRQUMvQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsbUJBQWMsR0FBVyxhQUFhLENBQUM7UUFFdkMscUJBQWdCLEdBQVE7WUFDdEIsR0FBRyxFQUFFLDJFQUEyRTtZQUNoRixHQUFHLEVBQUUsNkVBQTZFO1lBQ2xGLEdBQUcsRUFBRSxxRkFBcUY7WUFDMUYsR0FBRyxFQUFFLDZFQUE2RTtZQUNsRixHQUFHLEVBQUUsNEVBQTRFO1lBQ2pGLElBQUksRUFBRSw0RUFBNEU7WUFDbEYs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RCxJQUFJLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMvQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztpQkFDdkI7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsRUFBRTtZQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO2dCQUNsRCxJQUFJLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMvQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztpQkFDdkI7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7Z0hBanpCVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw2YkNoQmhDLGl5SUE0R0E7MkZENUZhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7MEVBS2xCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0UsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFdUIsc0JBQXNCO3NCQUFsRCxLQUFLO3VCQUFDLGdCQUFnQjtnQkFNZCxxQkFBcUI7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTElOS1MgfSBmcm9tICcuLi93b3JrZmxvdy9zaGFyZWQvY29uc3RhbnRzL2Nkbi1saW5rLmNvbnN0YW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW1vcmUtb3B0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbW9yZS1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21vcmUtb3B0aW9uLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb3JlT3B0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRXb3JrZmxvdyA9ICcnO1xyXG4gIEBJbnB1dCgpIG9wZW5lZEZyb20gPSAnJztcclxuICBASW5wdXQoKSBpc0VkaXRNb2RlID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkT3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGlzUkNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzUHJvZ3JhbVNlbGVjdGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYWxsb3dlZEZlYXR1cmU6IGFueTtcclxuICBvcmdEZXRhaWxzOiBhbnk7XHJcbiAgQElucHV0KCdvcmdEZXRhaWxzRGF0YScpIHNldCBnZXRPcmdhbml6YXRpb25EZXRhaWxzKGRldGFpbHM6IGFueSkge1xyXG4gICAgdGhpcy5vcmdEZXRhaWxzID0gZGV0YWlscyA/PyAne30nO1xyXG4gICAgaWYgKGRldGFpbHMgJiYgT2JqZWN0LmtleXMoZGV0YWlscyk/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnVwZGF0ZVByb2dyYW1Nb3JlT3B0aW9ucygpO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBpc0F0dHJpYnV0ZXNBdmFpbGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGZlYXR1cmVmbGFncm9sZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByb2dyYW1TaW1wbGlmeUZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBmZl9yY19saXN0aW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcGVybWlzc2lvblRleHQ6IHN0cmluZyA9ICdQZXJtaXNzaW9ucyc7XHJcblxyXG4gIHBsYWNlaG9sZGVyVGV4dHM6IGFueSA9IHtcclxuICAgIEFBUjogJ1NlbGVjdCB3aGF0IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24geW91IHdvdWxkIGxpa2UgdG8gaW5jbHVkZSBpbiB0aGUgcmlzay4nLFxyXG4gICAgQ0FQOiAnU2VsZWN0IHdoYXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIGluIHRoZSBwb2xpY3kuJyxcclxuICAgIENBUjogJ1NlbGVjdCB3aGF0IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24geW91IHdvdWxkIGxpa2UgdG8gaW5jbHVkZSBpbiB0aGUgcmVzcG9uc2liaWxpdHkuJyxcclxuICAgIENBUzogJ1NlbGVjdCB3aGF0IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24geW91IHdvdWxkIGxpa2UgdG8gaW5jbHVkZSBpbiB0aGUgc3VydmV5LicsXHJcbiAgICBMQUk6ICdTZWxlY3Qgd2hhdCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHlvdSB3b3VsZCBsaWtlIHRvIGluY2x1ZGUgaW4gdGhlIGlzc3VlLicsXHJcbiAgICBDQVBSOiAnU2VsZWN0IHdoYXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIGluIHRoZSBzY29wZS4nLFxyXG4gICAgR1JDOiAnU2VsZWN0IHdoYXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIGluIHRoZSBHUkMgT2JqZWN0LicsXHJcbiAgfTtcclxuXHJcbiAgYnVzaW5lc3NDeWNsZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2J1c2luZXNzQ3ljbGUnKSA/PyAne30nKTtcclxuICBtb3JlT3B0aW9uc0xpc3Q6IGFueSA9IHtcclxuICAgIEFBUjogW1xyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L292ZXJzaWdodC5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSaXNrIE92ZXJzaWdodCcsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmlzayBPdmVyc2lnaHQnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ092ZXJzaWdodCBlbmFibGVzIHlvdSB0byBkZXNpZ25hdGUgcGVyc29ucyB0byBvdmVyc2VlIHRoZSByaXNrIG1hbmFnZW1lbnQgcHJvY2Vzcy4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ09WRVJTRUVSJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9wcmlvcml0eS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSaXNrIE1pdGlnYXRpb24gUHJpb3JpdHknLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jpc2sgTWl0aWdhdGlvbiBQcmlvcml0eScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnVGhpcyBzZXRzIHRoZSBwcmlvcml0eSBsZXZlbCBmb3IgdGhlIG1pdGlnYXRpb24gb2YgZWFjaCByaXNrLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnTUlUSUdBVElPTicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb2JqZWN0aXZlcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZWNvbW1lbmRlZCBNaXRpZ2F0aW9uIFBsYW5zJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdSZWNvbW1lbmRlZCBNaXRpZ2F0aW9uIFBsYW5zJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTpcclxuICAgICAgICAgICdTcGVjaWZ5IHRoZSBtaXRpZ2F0aW9uIHBsYW4gdGhhdCBjYW4gYmUgdW5kZXJ0YWtlbiB0byBtaXRpZ2F0ZSB0aGUgcmlzay4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ01JVElHQVRJT05fUExBTicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGFibGVzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Jpc2sgTGFiZWwnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jpc2sgTGFiZWwnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ1RoaXMgb3B0aW9uIGxldHMgeW91IHNwZWNpZnkgaWYgdGhpcyBpcyBhIG5ld2x5IGlkZW50aWZpZWQgcmlzayBvciBpdCBpcyBhIHJhcGlkbHkgY2hhbmdpbmcgcmlzay4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ1JJU0tfTEFCRUwnLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICAgIENBUDogW1xyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHJlcHJlc2VudCB5b3VyIG9yZ2FuaXphdGlvbmFsIGFuZFxyXG4gICAgICAgICBvcGVyYXRpb25hbCBpbmZyYXN0cnVjdHVyZS4gWW91IGNhbiBhdHRyaWJ1dGUgYSBwb2xpY3kgdG8gb25lIG9yIG1vcmUgUmVzcG9uc2liaWxpdHkgQ2VudGVycy5cclxuICAgICAgICAgIFdoZXJlIHlvdSBhdHRyaWJ1dGUgYSBwb2xpY3kgdG8gYSBSZXNwb25zaWJpbGl0eSBDZW50ZXIsIHRoYXQgcG9saWN5IHdpbGwgYmUgc2hvd24gYXMgYSBwb2xpY3lcclxuICAgICAgICAgICB0aGF0IGlzIHJlcXVpcmVkIHRvIGJlIGF0dGVzdGVkIGJ5IGFsbCB0aGUgcGVyc29ucyBhc3NvY2lhdGVkIHdpdGggdGhhdCBSZXNwb25zaWJpbGl0eSBDZW50ZXIuXHJcbiAgICAgICAgICAgIFRoZSBwZXJmb3JtYW5jZSBvZiBhIHBvbGljeSBhc3NpZ25lZCB0byBhIFJlc3BvbnNpYmlsaXR5IENlbnRlciB3aWxsIGFsc28gY29udHJpYnV0ZSB0byB0aGVcclxuICAgICAgICAgICAgb3ZlcmFsbCBwZXJmb3JtYW5jZSBvZiB0aGUgUmVzcG9uc2liaWxpdHkgQ2VudGVyLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnUkVTUE9OU0lCSUxJVFlfQ0VOVEVSJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hc3NvY2lhdGVkLXJpc2tzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1ZFUlNJT04nLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1ZlcnNpb24nLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgVGhpcyBvcHRpb24gbGV0cyB5b3Ugc3BlY2lmeSB0aGUgb2ZmbGluZSB2ZXJzaW9uIG51bWJlciBmb3IgYSBwb2xpY3kuIEhlbmNlLCB5b3UgY2FuIGlucHV0IHRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgZGlnaXRhbCBvciBwaHlzaWNhbCBjb3B5IG9mIHRoZSBwb2xpY3kgZG9jdW1lbnQgZm9yIHJlY29yZC1rZWVwaW5nIHB1cnBvc2VzLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnVkVSU0lPTicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmV2aWV3ZXIuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmV2aWV3ZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jldmlld2VyJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFRoaXMgb3B0aW9ucyBsZXRzIHlvdSBzcGVjaWZ5IGEgcmV2aWV3IGxpZmVjeWNsZSBmb3IgdGhlIHBvbGljeSBkb2N1bWVudC5cclxuICAgICAgICAgWW91IGNhbiBzZWxlY3QgYSByZXZpZXdlciBhbmQgZGV0ZXJtaW5lIGhvdyBvZnRlbiB0aGUgcG9saWN5IG5lZWRzIHRvIGJlIHJldmlld2VkLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdSRVZJRVdFUicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvY2hlY2twb2ludHMuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQ2hlY2twb2ludHMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0NoZWNrcG9pbnRzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYENoZWNrcG9pbnRzIGVuYWJsZSB5b3UgdG8gY29uZmlybSBhIHBlcnNvbuKAmXMgdW5kZXJzdGFuZGluZyBvZiB0aGUgcG9saWN5IGRvY3VtZW50LlxyXG4gICAgICAgICBZb3UgY2FuIGNyZWF0ZSBxdWVzdGlvbnMgYmFzZWQgb24gdGhlIHBvbGljeSBjb250ZW50IGFuZCByZXF1aXJlIHRoYXQgdGhlIHJlYWRlciBvZiB0aGUgcG9saWN5XHJcbiAgICAgICAgIGFuc3dlcnMgdGhlc2UgcXVlc3Rpb25zIGNvcnJlY3RseSBiZWZvcmUgcHJvY2VlZGluZyB0byBjb21wbGV0ZSB0aGUgYXR0ZXN0YXRpb24uXHJcbiAgICAgICAgYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgY29kZTogJ0NIRUNLUE9JTlRTJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vdmVyc2lnaHQuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnT3ZlcnNpZ2h0JyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdPdmVyc2lnaHQnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgT3ZlcnNpZ2h0cyBhcmUgcGVyc29ucyB3aG8gb3ZlcnNlZSB0aGUgcG9saWN5LlxyXG4gICAgICAgICBUaGVzZSBwZXJzb25zIHdpbGwgcmVjZWl2ZSBlbWFpbCBub3RpZmljYXRpb25zIGFib3V0IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgcG9saWN5LlxyXG4gICAgICAgICBBcyB0aGUgcGVyc29uIGNyZWF0aW5nIHRoZSBwb2xpY3ksIHlvdSB3aWxsIGF1dG9tYXRpY2FsbHkgcmVjZWl2ZSBlbWFpbCBub3RpZmljYXRpb25zIGFib3V0IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgcG9saWN5LlxyXG4gICAgICAgIGAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnT1ZFUlNFRVInLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2Zvcm1hdC1ldmlkZW5jZS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZWxhdGVkIERvY3VtZW50cycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmVsYXRlZCBEb2N1bWVudHMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgUmVsYXRlZCBkb2N1bWVudHMgYXJlIGZpbGVzIHRoYXQgbWlnaHQgYmUgcmVsYXRlZCB0byB0aGUgcG9saWN5LiBUaGVzZSBjb3VsZCBiZSBkb2N1bWVudHMgd2hpY2ggYXJlIHJlbGF0ZWRcclxuICAgICAgICAgdG8gdGhlIHBvbGljeSBvciBhcmUgYSBzdWJzZXQgb2YgdGhlIHBvbGljeSB0aGF0IGlzIGJlaW5nIGNyZWF0ZWQuYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdSRUxBVEVEX0RPQ1VNRU5UUycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGluay1pdGVtcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdMSU5LIFBST0dSQU1TICYgUkVTUE9OU0lCSUxJVElFUycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnTElOSyBQUk9HUkFNUyAmIFJFU1BPTlNJQklMSVRJRVMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBhc3NvY2lhdGUgUHJvZ3JhbXMgJiByZXNwb25zaWJpbGl0aWVzIGZyb20gdGhlIENvbXBsaWFuY2UgbW9kdWxlIHdpdGggYSBwb2xpY3kuIFRoZXNlIGNvdWxkIGJlIHByb2Nlc3NlcyBvciBwcm9jZWR1cmVzIHRoYXQgbWlnaHQgYmUgbGlua2VkIHRvIGEgcG9saWN5LmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnTElOS19QUk9HUkFNX1JFU1BPTlNJQklMSVRJRVMnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2Fzc2Vzc21lbnRzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0xJTksgQU4gQVNTRVNTTUVOVCcsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnTElOSyBBTiBBU1NFU1NNRU5UJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYEFzc2Vzc21lbnRzIGFsbG93IHlvdSB0byBhc3NvY2lhdGUgb3V0Y29tZSBiYXNlZCBxdWVzdGlvbm5haXJlcyBvciBjaGVja2xpc3QgYmFzZWQgcHJvY2VkdXJlcyB3aXRoIGEgcG9saWN5LmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnTElOS19BU1NFU1NNRU5UUycsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgQ0FSOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb2JqZWN0aXZlcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdPYmplY3RpdmUnLFxyXG4gICAgICAgIGNvZGU6ICdPQkpFQ1RJVkUnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ09iamVjdGl2ZScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnVGhlIG9iamVjdGl2ZSBhbGxvd3MgeW91IHRvIHNwZWNpZnkgYW4gb2JqZWN0aXZlIGZvciB0aGUgcmVzcG9uc2liaWxpdHkuJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICB9LFxyXG5cclxuICAgICAgLy8ge1xyXG4gICAgICAvLyAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NhdGVnb3J5LnN2ZycsXHJcbiAgICAgIC8vICAgbmFtZTogJ1Byb2dyYW0nLFxyXG4gICAgICAvLyAgIGNvZGU6ICdDQVRFR09SWScsXHJcbiAgICAgIC8vICAgdG9vbHRpcFRpdGxlOiAnUHJvZ3JhbScsXHJcbiAgICAgIC8vICAgdG9vbHRpcE1lc3NhZ2U6IGBQcm9ncmFtcyBlbmFibGUgeW91IHRvIGdyb3VwIHNpbWlsYXIgcmVzcG9uc2liaWxpdGllcyB0b2dldGhlci5cclxuICAgICAgLy8gICAgIEFsbG9jYXRpbmcgYSByZXNwb25zaWJpbGl0eSB0byBhIFByb2dyYW0gYWxsb3dzIHlvdSB0byB2aWV3IGEgZ3JvdXAgb3Igc2ltaWxhciByZXNwb25zaWJpbGl0aWVzIGF0IG9uY2UuXHJcbiAgICAgIC8vICAgICBJdCBhbHNvIGFsbG93cyB5b3UgdG8gdmlldyB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhvc2UgY29sbGVjdGl2ZSByZXNwb25zaWJpbGl0aWVzLmAsXHJcbiAgICAgIC8vICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgIC8vICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgLy8gfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXNwb25zaWJpbGl0eS1jZW50ZXIuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICBjb2RlOiAnUkMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHJlcHJlc2VudCB5b3VyIG9yZ2FuaXphdGlvbmFsIGFuZCBvcGVyYXRpb25hbCBpbmZyYXN0cnVjdHVyZS48YnI+XHJcbiAgICAgICAgICBZb3UgY2FuIGFzc2lnbiBhIHJlc3BvbnNpYmlsaXR5IHRvIG9uZSBvciBtb3JlIFJlc3BvbnNpYmlsaXR5IENlbnRlcnMuIFdoZXJlIHlvdSBhc3NpZ24gYSByZXNwb25zaWJpbGl0eSB0byBhIFJlc3BvbnNpYmlsaXR5IENlbnRlcixcclxuICAgICAgICAgIHRoYXQgcmVzcG9uc2liaWxpdHkgd2lsbCBiZSBzaG93biBhcyBhIHJlc3BvbnNpYmlsaXR5IHRoYXQgaXMgcmVxdWlyZWQgdG8gYmUgY29tcGxldGVkIGJ5IHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIuXHJcbiAgICAgICAgICBUaGUgcGVyZm9ybWFuY2Ugb2YgYSByZXNwb25zaWJpbGl0eSBhc3NpZ25lZCB0byBhIFJlc3BvbnNpYmlsaXR5IENlbnRlciB3aWxsIGFsc28gY29udHJpYnV0ZSB0byB0aGUgb3ZlcmFsbCBwZXJmb3JtYW5jZSBvZiB0aGUgUmVzcG9uc2liaWxpdHkgQ2VudGVyLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9jYXRlZ29yeS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdQcm9ncmFtJyxcclxuICAgICAgICBjb2RlOiAnUFJPR1JBTScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUHJvZ3JhbScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBQcm9ncmFtcyBlbmFibGUgeW91IHRvIGdyb3VwIHNpbWlsYXIgcmVzcG9uc2liaWxpdGllcyB0b2dldGhlci5cclxuICAgICAgICAgIEFsbG9jYXRpbmcgYSByZXNwb25zaWJpbGl0eSB0byBhIFByb2dyYW0gYWxsb3dzIHlvdSB0byB2aWV3IGEgZ3JvdXAgb3Igc2ltaWxhciByZXNwb25zaWJpbGl0aWVzIGF0IG9uY2UuXHJcbiAgICAgICAgICBJdCBhbHNvIGFsbG93cyB5b3UgdG8gdmlldyB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhvc2UgY29sbGVjdGl2ZSByZXNwb25zaWJpbGl0aWVzLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9mb3JtYXQtZXZpZGVuY2Uuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnRm9ybWF0ICYgRXZpZGVuY2UnLFxyXG4gICAgICAgIGNvZGU6ICdGT1JNQVRFX0VWSURFTkNFJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcgRm9ybWF0ICYgRXZpZGVuY2UnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ1lvdSBjYW4gdXBsb2FkIGEgZm9ybWF0IGZvciB0aGlzIHJlc3BvbnNpYmlsaXR5IGFuZCB5b3UgY2FuIGFsc28gcmVxdWlyZSBldmlkZW5jZSBvZiBjb21wbGV0aW9uIG9mIHRoZSByZXNwb25zaWJpbGl0eSB0byBiZSBwcm92aWRlZC4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXNzZXNzbWVudHMuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQXNzZXNzbWVudHMnLFxyXG4gICAgICAgIGNvZGU6ICdBU1NFU1NNRU5UJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcgQXNzZXNzbWVudHMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ0Fzc2Vzc21lbnRzIGFsbG93IHlvdSB0byBhc3NvY2lhdGUgb3V0Y29tZSBiYXNlZC1xdWVzdGlvbm5haXJlcyBvciBzZWxmLWFzc2Vzc21lbnQgcXVlc3Rpb25uYWlyZXMgd2l0aCBhIHJlc3BvbnNpYmlsaXR5LiBUaGVzZSBuZWVkIHRvIGJlIGNvbXBsZXRlZCBieSB0aGUgYXNzaWduZWUgYXMgYSBwYXJ0IG9mIGNvbXBsZXRpbmcgdGhlIHJlc3BvbnNpYmlsaXR5LicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6XHJcbiAgICAgICAgICAnQW4gYXNzZXNzbWVudCBjYW4gYmUgbGlua2VkIHdpdGggYSByZXNwb25zaWJpbGl0eSBvbmx5IGFmdGVyIHJlbW92aW5nIHRoZSBhc3NvY2lhdGVkIGNoZWNrcG9pbnRzLicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvY2hlY2twb2ludHMuc3ZnJyxcclxuICAgICAgICAvLyAgbmFtZTogJ0NoZWNrcG9pbnRzIDxzcGFuICpuZ0lmPVwiZmFsc2VcIiBjbGFzcz1cImNoZWNrcG9pbnQtdmVyc2lvblwiPlYyLjA8L3NwYW4+IDxpIGNsYXNzPVwiaWNvbnMgZGVwcmVjaWF0aW9uLWljb24gdngtZnMtMTYgdngtbWwtMlwiIGFwcFRvb2x0aXA9XCJUaGlzIGlzIGFuIG91dC1vZi1kYXRlIHZlcnNpb24gb2YgdGhlIENoZWNrcG9pbnRzIGZlYXR1cmUuIFRvIGFkZCBjaGVja3BvaW50cyB0aGF0IGFyZSBvbmx5IHJlbGV2YW50IHRvIHRoaXMgcmVzcG9uc2liaWxpdHkgeW91IGNhbiB1c2UgdGhlIG5ldyBDaGVja3BvaW50cyBmZWF0dXJlLiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHVzZSBhbiBleGlzdGluZyBxdWVzdGlvbm5haXJlIHRlbXBsYXRlIHVzaW5nIHRoZSBBc3Nlc3NtZW50cyBmZWF0dXJlLlwiIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj4mI3hlOTMwOzwvaT4nLFxyXG4gICAgICAgIG5hbWU6ICdDaGVja3BvaW50cyA8aSBjbGFzcz1cImljb25zIGRlcHJlY2lhdGlvbi1pY29uIHZ4LWZzLTE2IHZ4LW1sLTJcIiBhcHBUb29sdGlwPVwiVGhpcyBpcyBhbiBvdXQtb2YtZGF0ZSB2ZXJzaW9uIG9mIHRoZSBDaGVja3BvaW50cyBmZWF0dXJlLiBUbyBhZGQgY2hlY2twb2ludHMgdGhhdCBhcmUgb25seSByZWxldmFudCB0byB0aGlzIHJlc3BvbnNpYmlsaXR5IHlvdSBjYW4gdXNlIHRoZSBuZXcgQ2hlY2twb2ludHMgZmVhdHVyZS4gQWx0ZXJuYXRpdmVseSwgeW91IGNhbiB1c2UgYW4gZXhpc3RpbmcgcXVlc3Rpb25uYWlyZSB0ZW1wbGF0ZSB1c2luZyB0aGUgQXNzZXNzbWVudHMgZmVhdHVyZS5cIiBwbGFjZW1lbnQ9XCJib3R0b21cIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkzMDs8L2k+JyxcclxuICAgICAgICBjb2RlOiAnQ0hFQ0tQT0lOVFMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0NoZWNrcG9pbnRzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTpcclxuICAgICAgICAgICdUaGlzIGlzIGFuIG91dC1vZi1kYXRlIHZlcnNpb24gb2YgdGhlIENoZWNrcG9pbnRzIGZlYXR1cmUuIFRvIGFkZCBjaGVja3BvaW50cyB0aGF0IGFyZSBvbmx5IHJlbGV2YW50IHRvIHRoaXMgcmVzcG9uc2liaWxpdHkgeW91IGNhbiB1c2UgdGhlIG5ldyBDaGVja3BvaW50cyBmZWF0dXJlLiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHVzZSBhbiBleGlzdGluZyBxdWVzdGlvbm5haXJlIHRlbXBsYXRlIHVzaW5nIHRoZSBBc3Nlc3NtZW50cyBmZWF0dXJlLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6XHJcbiAgICAgICAgICAnVGhlIGNoZWNrcG9pbnRzIGZlYXR1cmUgaXMgcmVwbGFjZWQgd2l0aCB0aGUgbmV3ICYgZW5oYW5jZWQgYXNzZXNzbWVudCBmdW5jdGlvbmFsaXR5LiBTZWxlY3QgdGhlIDxzdHJvbmc+QXNzZXNzbWVudHM8L3N0cm9uZz4gb3B0aW9uIGJlbG93IHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZSBvdXRjb21lLWJhc2VkIG9yIHNlbGYtYXNzZXNzbWVudCBxdWVzdGlvbm5haXJlcy4nLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NoZWNrcG9pbnRzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0NoZWNrcG9pbnRzJyxcclxuICAgICAgICBjb2RlOiAnQ0hFQ0tQT0lOVFNfTkVXJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdDaGVja3BvaW50cycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnQ2hlY2twb2ludHMgYWxsb3cgeW91IHRvIHNwZWNpZnkgbXVsdGlwbGUgc3RlcHMgZm9yIGEgc3BlY2lmaWMgcmVzcG9uc2liaWxpdHkgd2hpY2ggbmVlZCB0byBiZSBjb21wbGV0ZWQgYXMgcGFydCBvZiBjb21wbGV0aW5nIHRoZSByZXNwb25zaWJpbGl0eS4gT2Z0ZW4gY2hlY2twb2ludHMgYXJlIHVzZWQgdG8gcmVwbGFjZSBpbnN0cnVjdGlvbiBtYW51YWxzLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBpc0Rpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6XHJcbiAgICAgICAgICAnTmV3IENoZWNrcG9pbnRzIGNhbiBiZSBsaW5rZWQgd2l0aCBhIHJlc3BvbnNpYmlsaXR5IG9ubHkgYWZ0ZXIgcmVtb3ZpbmcgdGhlIG91dC1vZi1kYXRlIHZlcnNpb24gb2YgdGhlIENoZWNrcG9pbnRzLicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmlza3Muc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmlzayBDbGFzc2lmaWNhdGlvbicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmlzayBDbGFzc2lmaWNhdGlvbicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnWW91IGNhbiBzcGVjaWZ5IHRoZSBsZXZlbCBvZiByaXNrIHRoYXQgdGhlIG9yZ2FuaXphdGlvbiB3aWxsIGJlIGV4cG9zZWQgdG8gaWYgdGhlIHJlc3BvbnNpYmlsaXR5IGlzIG5vdCBjb21wbGV0ZWQuJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdSSVNLX0NMQVNTSUZJQ0FUSU9OJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXZpZXdlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXZpZXdlcicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmV2aWV3ZXInLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ0EgUmV2aWV3ZXIgaXMgYSBwZXJzb24gdGhhdCBpcyB0YXNrZWQgd2l0aCByZXZpZXdpbmcgdGhlIGNvbXBsZXRlZCByZXNwb25zaWJpbGl0eS4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ1JFVklFV0VSJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vdmVyc2lnaHQuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnT3ZlcnNpZ2h0JyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdPdmVyc2lnaHQnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgT3ZlcnNpZ2h0IGVuYWJsZXMgeW91IHRvIGRlc2lnbmF0ZSBwZXJzb25zIHRvIG92ZXJzZWUgdGhlIHJlc3BvbnNpYmlsaXR5LlxyXG4gICAgICAgICAgVGhlc2UgcGVyc29ucyB3aWxsIHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBhYm91dCB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHJlc3BvbnNpYmlsaXR5Ljxicj5cclxuICAgICAgICAgIEFzIHRoZSBwZXJzb24gY3JlYXRpbmcgdGhlIHJlc3BvbnNpYmlsaXR5LCB5b3Ugd2lsbCBhdXRvbWF0aWNhbGx5IHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBhYm91dCB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHJlc3BvbnNpYmlsaXR5LmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnT1ZFUlNFRVInLFxyXG4gICAgICB9LFxyXG4gICAgICAvLyB7XHJcbiAgICAgIC8vICAgaW1hZ2VVcmw6ICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXVkaXQuc3ZnJyxcclxuICAgICAgLy8gICBuYW1lOiAnQVNTVVJBTkNFJyxcclxuICAgICAgLy8gICB0b29sdGlwVGl0bGU6ICdSRVFVSVJFUyBBVURJVD8nLFxyXG4gICAgICAvLyAgIHRvb2x0aXBNZXNzYWdlOiAnU2VsZWN0IHRoZSB0ZXN0IHBsYW4gY2F0ZWdvcmllcyB0aGF0IHlvdSB3b3VsZCBsaWtlIHRvIGFkZCB0aGlzIHJlc3BvbnNpYmlsaXR5IHRvLicsXHJcbiAgICAgIC8vICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgIC8vICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgLy8gICBjb2RlOiAnQVNTVVJBTkNFJyxcclxuICAgICAgLy8gICBpc0Rpc2FibGVkOiB0cnVlLFxyXG4gICAgICAvLyAgIGRpc2FibGVkTWVzc2FnZTogJ1RoaXMgcmVzcG9uc2liaWxpdHkgY2FuIGJlIHNjaGVkdWxlZCBmb3IgYW4gYXVkaXQgb25seSBhZnRlciB0aGUgUmVzcG9uc2liaWxpdHkgQ2VudGVyIGlzIHNlbGVjdGVkLidcclxuICAgICAgLy8gfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hdWRpdC5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdBU1NVUkFOQ0UnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0FTU1VSQU5DRScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnU2VsZWN0IHRoZSB0ZXN0IHBsYW4gY2F0ZWdvcmllcyB0aGF0IHlvdSB3b3VsZCBsaWtlIHRvIGFkZCB0aGlzIHJlc3BvbnNpYmlsaXR5IHRvLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnQVNTVVJBTkNFJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hdWRpdC5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSRVFVSVJFUyBBVURJVD8nLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1JFUVVJUkVTIEFVRElUPycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnU2VsZWN0IHRoZSBhdWRpdCBjYXRlZ29yaWVzIHRoYXQgeW91IHdvdWxkIGxpa2UgdG8gYWRkIHRoaXMgcmVzcG9uc2liaWxpdHkgdG8uJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdSRVFVSVJFU19BVURJVCcsXHJcbiAgICAgICAgaXNEaXNhYmxlZDogdHJ1ZSxcclxuICAgICAgICBkaXNhYmxlZE1lc3NhZ2U6XHJcbiAgICAgICAgICAnVGhpcyByZXNwb25zaWJpbGl0eSBjYW4gYmUgc2NoZWR1bGVkIGZvciBhbiBhdWRpdCBvbmx5IGFmdGVyIHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIgaXMgc2VsZWN0ZWQuJyxcclxuICAgICAgfSxcclxuICAgICAgLy8ge1xyXG4gICAgICAvLyAgIGltYWdlVXJsOiAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL3Jpc2stbWl0aWdhdGlvbi1wcmlvcml0eS5zdmcnLFxyXG4gICAgICAvLyAgIG5hbWU6ICdBZGQgYW4gYXBwJyxcclxuICAgICAgLy8gICB0b29sdGlwVGl0bGU6ICcnLFxyXG4gICAgICAvLyAgIHRvb2x0aXBNZXNzYWdlOiAnJyxcclxuICAgICAgLy8gICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgLy8gaGlkZGVuOiBmYWxzZSxcclxuICAgICAgLy8gICBjb2RlOiAnQVBQUydcclxuICAgICAgLy8gfVxyXG4gICAgXSxcclxuICAgIENBUzogW1xyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6ICcnLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvZm9ybWF0LWV2aWRlbmNlLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0Zvcm1hdCAmYW1wOyBFdmlkZW5jZScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogJycsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vdmVyc2lnaHQuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnT3ZlcnNpZ2h0JyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiAnJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuXHJcbiAgICBMQUk6IFtcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9leGNlcHRpb24tdHlwZS5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdFeGNlcHRpb24gdHlwZScsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnRXhjZXB0aW9uIHR5cGUnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ0V4Y2VwdGlvbiB0eXBlIGxldHMgeW91IHNwZWNpZnkgd2hldGhlciB0aGVyZSBpcyBhIGRlc2lnbiBvciBhbiBvcGVyYXRpb25hbCBlZmZlY3RpdmVuZXNzIHByb2JsZW0uJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdFWENFUFRJT05fVFlQRScsXHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIHtcclxuICAgICAgLy8gICBpbWFnZVVybDogJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9pc3N1ZS10eXBlLnN2ZycsXHJcbiAgICAgIC8vICAgbmFtZTogJ0lzc3VlIHR5cGUnLFxyXG4gICAgICAvLyAgIHRvb2x0aXBUaXRsZTogJycsXHJcbiAgICAgIC8vICAgdG9vbHRpcE1lc3NhZ2U6ICcnLFxyXG4gICAgICAvLyAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAvLyAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIC8vICAgY29kZTogJ0lTU1VFX1RZUEUnXHJcbiAgICAgIC8vIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcHJpb3JpdHkuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUHJpb3JpdHknLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1ByaW9yaXR5JyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTpcclxuICAgICAgICAgICdUaGlzIHNldHMgdGhlIHByaW9yaXR5IGxldmVsIGZvciByZXNvbHZpbmcgZWFjaCBpc3N1ZS4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ1BSSU9SSVRZJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hc3NvY2lhdGVkLXJpc2tzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0Fzc29jaWF0ZWQgUmlza3MnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0Fzc29jaWF0ZWQgUmlza3MnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ0Fzc29jaWF0ZWQgcmlza3MgbGV0cyB5b3Ugc3BlY2lmeSB0aGUgcmlza3MgdGhhdCBhcmUgcmVsYXRlZCB0byB0aGlzIGlzc3VlLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnQVNTT0NJQVRFRF9SSVNLUycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3ZlcnNpZ2h0LnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ092ZXJzaWdodCcsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnT3ZlcnNpZ2h0JyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTpcclxuICAgICAgICAgICdPdmVyc2lnaHRzIGFyZSB0aGUgcGVyc29ucyByZXNwb25zaWJsZSBmb3Igb3ZlcnNlZWluZyBhbiBpc3N1ZS4gVGhlc2UgcGVyc29ucyB3aWxsIHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBhYm91dCB0aGUgaXNzdWUgc3RhdHVzLiBBcyB0aGUgcGVyc29uIHJlcG9ydGluZyB0aGlzIGlzc3VlLCB5b3Ugd2lsbCBhdXRvbWF0aWNhbGx5IHJlY2VpdmUgc3VjaCBlbWFpbCBub3RpZmljYXRpb25zLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnT1ZFUlNJR0hUJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9mb3JtYXQtZXZpZGVuY2Uuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnRXZpZGVuY2UnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0V2aWRlbmNlJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTpcclxuICAgICAgICAgICdZb3UgY2FuIHJlcXVpcmUgdGhhdCB0aGUgcGVyc29uIHJlc29sdmluZyB0aGUgaXNzdWUgdXBsb2FkcyBldmlkZW5jZSB0byBjb25maXJtJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdFVklERU5DRScsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgQ0FQUjogW1xyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3JvbGVzLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1JvbGUoUyknLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ1JvbGUocyknLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgUm9sZShzKSBsZXQgeW91IHNwZWNpZnkgdGhlIHVzZXJzIHRoYXQgY2FuIGJlIOKAnE93bmVyc+KAnSBvZiBhIFByb2dyYW0uYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdST0xFUycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3duZXIuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnT3duZXIocyknLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ093bmVyKHMpJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYE93bmVycyBhcmUgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGEgUHJvZ3JhbS4gT25seSBPd25lcnMgY2FuIG1ha2UgY2hhbmdlcyB0byBhIFByb2dyYW0gYW5kIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgYXJlIGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLjxicj5cclxuICAgICAgICBUaGUgPGI+S2V5IEFkbWluPC9iPiBhbmQgYWxsIDxiPkFkbWluPC9iPiB1c2VycyB3aWxsIGJlIHNlbGVjdGVkIGFzIHRoZSBPd25lcnMgb2YgYSBQcm9ncmFtIGJ5IGRlZmF1bHQuXHJcbiAgICAgICAgYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IGZhbHNlLFxyXG4gICAgICAgIGNvZGU6ICdPV05FUlMnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2FwcHJvdmFsLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0FwcHJvdmVyJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdBcHByb3ZlcicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBBbiBBcHByb3ZlciBpcyByZXNwb25zaWJsZSBmb3IgYXBwcm92aW5nIGEgUHJvZ3JhbS4gV2hlcmUgYW4gQXBwcm92ZXIgaXMgc2VsZWN0ZWQsIHRoZSBQcm9ncmFtIGFuZCBhbGwgcmVzcG9uc2liaWxpdGllcyBsaW5rZWQgd2l0aCB0aGF0IFByb2dyYW0gd2lsbCBvbmx5IGNvbW1lbmNlIG9uY2UgdGhlIFByb2dyYW0gaGFzIGJlZW4gYXBwcm92ZWQuYCxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgY29kZTogJ0FQUFJPVkVSJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZWN1cnJpbmcuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUHJvZ3JhbSBEdXJhdGlvbicsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUHJvZ3JhbSBEdXJhdGlvbicsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnUHJvZ3JhbSBEdXJhdGlvbiByZWZlcnMgdG8gdGhlIGR1cmF0aW9uIG9mIHRoZSBQcm9ncmFtLiBBIFByb2dyYW0gY2FuIG9jY3VyIGluIHBlcnBldHVpdHksIG9yIGl0IGNhbiBvY2N1ciB1bnRpbCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGJ1c2luZXNzIGN5Y2xlIHRoYXQgaGFzIGJlZW4gc3BlY2lmaWVkIGluICcgK1xyXG4gICAgICAgICAgdGhpcy5idXNpbmVzc0N5Y2xlPy5zZWxlY3RlZEN5Y2xlPy5idXNpbmVzc19jeWNsZSArXHJcbiAgICAgICAgICAnLiAgQWxsIHJlc3BvbnNpYmlsaXRpZXMgbGlua2VkIHdpdGggdGhhdCBQcm9ncmFtIHdpbGwgYWxzbyBoYXZlIHRoZSBzYW1lIFByb2dyYW0gRHVyYXRpb24uJyxcclxuICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgICAgY29kZTogJ1BST0dSQU1fRlJFUVVFTkNZJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9sb2NrLXNjb3BlLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0xvY2sgdGhlIFByb2dyYW0gU2NvcGUnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0xvY2sgdGhlIFByb2dyYW0gU2NvcGUnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgSWYgdGhlIFByb2dyYW0gU2NvcGUgaXMgbG9ja2VkLCBuZWl0aGVyIHRoZSBQcm9ncmFtIG5vciB0aGUgcmVzcG9uc2liaWxpdGllcyBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbSBjYW4gYmUgZWRpdGVkIG9uY2UgdGhlIFByb2dyYW0gYmVnaW5zLiBJbiBvcmRlciB0byBlZGl0IHRoZSBQcm9ncmFtIG9yIHRoZSBsaW5rZWQgcmVzcG9uc2liaWxpdGllcywgdGhlIFByb2dyYW0gZGV0YWlscyB3aWxsIG5lZWQgdG8gYmUgZWRpdGVkLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdTQ09QRV9DSEFOR0VTJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXNwb25zaWJpbGl0eS1jZW50ZXIuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgUmVzcG9uc2liaWxpdHkgQ2VudGVycyByZXByZXNlbnQgeW91ciBvcmdhbml6YXRpb25hbCBhbmQgb3BlcmF0aW9uYWwgaW5mcmFzdHJ1Y3R1cmUuIFdoZXJlIFJlc3BvbnNpYmlsaXR5IENlbnRlcnMgYXJlIHNlbGVjdGVkIHdoZW4gY3JlYXRpbmcgYSBQcm9ncmFtLCBvbmx5IHRob3NlIFJlc3BvbnNpYmlsaXRpZXMgQ2VudGVycyB3aWxsIGJlIGF2YWlsYWJsZSBmb3Igc2VsZWN0aW9uIHdoZW4gY3JlYXRpbmcgYSByZXNwb25zaWJpbGl0eSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS5gLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgICBjb2RlOiAnUkMnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3doby5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdBc3NpZ25lZXMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0Fzc2lnbmVlcycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBBc3NpZ25lZXMgYXJlIHJlcXVpcmVkIHRvIGNvbXBsZXRlIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkIHRvIHRoZW0uIFdoZXJlIEFzc2lnbmVlcyBhcmUgc2VsZWN0ZWQgd2hlbiBjcmVhdGluZyBhIFByb2dyYW0sIG9ubHkgdGhvc2UgQXNzaWduZWVzIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBzZWxlY3Rpb24gd2hlbiBjcmVhdGluZyBhIHJlc3BvbnNpYmlsaXR5IGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdBU1NJR05FRVMnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jldmlld2VyLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ1Jldmlld2VycycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnUmV2aWV3ZXJzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFJldmlld2VycyBhcmUgcmVxdWlyZWQgdG8gcmV2aWV3IHJlc3BvbnNpYmlsaXRpZXMgYWZ0ZXIgdGhleSBoYXZlIGJlZW4gY29tcGxldGVkLiBXaGVyZSBSZXZpZXdlcnMgYXJlIHNlbGVjdGVkIHdoZW4gY3JlYXRpbmcgYSBQcm9ncmFtLCBvbmx5IHRob3NlIFJldmlld2VycyB3aWxsIGJlIGF2YWlsYWJsZSBmb3Igc2VsZWN0aW9uIHdoZW4gY3JlYXRpbmcgYSByZXNwb25zaWJpbGl0eSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS5gLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgICBjb2RlOiAnUkVWSUVXRVInLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L292ZXJzaWdodC5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdPdmVyc2lnaHRzJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdPdmVyc2lnaHRzJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTpcclxuICAgICAgICAgICdPdmVyc2lnaHRzIHJlY2VpdmUgdXBkYXRlcyB3aGVuIGEgcmVzcG9uc2liaWxpdHkgaXMgY29tcGxldGVkLCBjb21wbGV0ZWQgd2l0aCBkZWxheSBvciBub3QgY29tcGxldGVkLiBXaGVyZSBPdmVyc2lnaHRzIGFyZSBzZWxlY3RlZCB3aGVuIGNyZWF0aW5nIGEgUHJvZ3JhbSwgb25seSB0aG9zZSBPdmVyc2lnaHRzIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBzZWxlY3Rpb24gd2hlbiBjcmVhdGluZyBhIHJlc3BvbnNpYmlsaXR5IGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdPVkVSU0VFUicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXNzZXNzbWVudHMuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQXNzZXNzbWVudHMnLFxyXG4gICAgICAgIGNvZGU6ICdBU1NFU1NNRU5UJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICcgQXNzZXNzbWVudHMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOlxyXG4gICAgICAgICAgJ0Fzc2Vzc21lbnRzIGFyZSBhIGRpZ2l0YWwgZm9ybSB0aGF0IGFyZSBjcmVhdGVkIGluIOKAnEFzc2Vzc21lbnTigJ0gd2l0aGluIHRoZSBDb21wbGlhbmNlIE1vZHVsZS4gV2hlcmUgQXNzZXNzbWVudHMgYXJlIHNlbGVjdGVkIHdoZW4gY3JlYXRpbmcgYSBQcm9ncmFtLCBvbmx5IHRob3NlIEFzc2Vzc21lbnRzIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBzZWxlY3Rpb24gd2hlbiBjcmVhdGluZyBhIHJlc3BvbnNpYmlsaXR5IGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGlzRGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgIGRpc2FibGVkTWVzc2FnZTpcclxuICAgICAgICAgICdBbiBhc3Nlc3NtZW50IGNhbiBiZSBsaW5rZWQgd2l0aCBhIHJlc3BvbnNpYmlsaXR5IG9ubHkgYWZ0ZXIgcmVtb3ZpbmcgdGhlIGFzc29jaWF0ZWQgY2hlY2twb2ludHMuJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9mb3JtYXQtZXZpZGVuY2Uuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnRXZpZGVuY2UnLFxyXG4gICAgICAgIGNvZGU6ICdGT1JNQVRFX0VWSURFTkNFJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdFdmlkZW5jZScsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnSWYgc2VsZWN0ZWQsIGV2aWRlbmNlIG9mIGNvbXBsZXRpb24gb2YgYSByZXNwb25zaWJpbGl0eSB3aWxsIGJlIHJlcXVpcmVkIGZvciBhbGwgcmVzcG9uc2liaWxpdGllcyB0aGF0IGFyZSBsaW5rZWQgd2l0aCB0aGUgUHJvZ3JhbS4gQW4gQXNzaWdub3IsIGJlaW5nIHRoZSBwZXJzb24gd2hvIGNyZWF0ZXMgdGhlIHJlc3BvbnNpYmlsaXR5LCBjYW4gb3ZlcnJpZGUgdGhpcyBvcHRpb24gd2hlbiBjcmVhdGluZyBhIHJlc3BvbnNpYmlsaXR5LicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6XHJcbiAgICAgICAgICAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2N1c3RvbS1maWVsZHMuc3ZnJyxcclxuICAgICAgICBuYW1lOiAnQ3VzdG9tIEZpZWxkJyxcclxuICAgICAgICBjb2RlOiAnQ1VTVE9NX0ZJRUxEUycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnIEN1c3RvbSBGaWVsZCcsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6XHJcbiAgICAgICAgICAnV2hlcmUgYSBjdXN0b20gZmllbGQgaXMgc3BlY2lmaWVkLCBhbGwgcmVzcG9uc2liaWxpdGllcyBsaW5rZWQgd2l0aCBhIFByb2dyYW0gd2lsbCBjb250YWluIHRoYXQgY3VzdG9tIGZpZWxkLiBDdXN0b20gZmllbGRzIGVuYWJsZSB0aGUgY29sbGVjdGlvbiBvZiBhZGRpdGlvbmFsIG1ldGEgZGF0YS4nLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgR1JDOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGluay1pdGVtcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdMSU5LIFBST0dSQU1TICYgUkVTUE9OU0lCSUxJVElFUycsXHJcbiAgICAgICAgdG9vbHRpcFRpdGxlOiAnTElOSyBQUk9HUkFNUyAmIFJFU1BPTlNJQklMSVRJRVMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBhc3NvY2lhdGUgUHJvZ3JhbXMgJiByZXNwb25zaWJpbGl0aWVzIGZyb20gdGhlIENvbXBsaWFuY2UgbW9kdWxlIHdpdGggYSBwb2xpY3kuIFRoZXNlIGNvdWxkIGJlIHByb2Nlc3NlcyBvciBwcm9jZWR1cmVzIHRoYXQgbWlnaHQgYmUgbGlua2VkIHRvIGEgcG9saWN5LmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICAgIGNvZGU6ICdMSU5LX1BST0dSQU1fUkVTUE9OU0lCSUxJVElFUycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWFnZVVybDpcclxuICAgICAgICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvbGluay1yaXNrcy5zdmcnLFxyXG4gICAgICAgIG5hbWU6ICdMSU5LIFJJU0tTJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdMSU5LIFJJU0tTJyxcclxuICAgICAgICB0b29sdGlwTWVzc2FnZTogYFRoaXMgb3B0aW9uIGxldHMgeW91IGxpbmsgYSBHUkMgT2JqZWN0IHdpdGggcmVsYXRlZCByaXNrcy5gLFxyXG4gICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgIGhpZGRlbjogZmFsc2UsXHJcbiAgICAgICAgY29kZTogJ0xJTktfUklTS19DQVRFR09SSUVTX1JJU0tTJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltYWdlVXJsOlxyXG4gICAgICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9saW5rLWl0ZW1zLnN2ZycsXHJcbiAgICAgICAgbmFtZTogJ0xJTksgT1RIRVIgR1JDIE9CSkVDVFMnLFxyXG4gICAgICAgIHRvb2x0aXBUaXRsZTogJ0xJTksgT1RIRVIgR1JDIE9CSkVDVFMnLFxyXG4gICAgICAgIHRvb2x0aXBNZXNzYWdlOiBgVGhpcyBvcHRpb24gbGV0cyB5b3UgbGluayBhIEdSQyBPYmplY3Qgd2l0aCBvdGhlciByZWxhdGVkIEdSQyBPYmplY3RzLmAsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnT1RIRVJfR1JDX09CSkVDVFMnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1hZ2VVcmw6IExJTktTPy5jdXN0b21GaWVsZHMsXHJcbiAgICAgICAgbmFtZTogJ0dSQyBPYmplY3QgVHlwZSBBdHRyaWJ1dGVzJyxcclxuICAgICAgICB0b29sdGlwVGl0bGU6ICdHUkMgT2JqZWN0IFR5cGUgQXR0cmlidXRlcycsXHJcbiAgICAgICAgdG9vbHRpcE1lc3NhZ2U6IGBUaGlzIG9wdGlvbiBsZXRzIHlvdSBhZGQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGEgR1JDIE9iamVjdC5gLFxyXG4gICAgICAgIGRpc2FibGVkTWVzc2FnZTpcclxuICAgICAgICAgICdUaGVyZSBhcmUgbm8gYWRkaXRpb25hbCBhdHRyaWJ1dGVzIGxpbmtlZCB3aXRoIHRoaXMgR1JDIE9iamVjdCBUeXBlLicsXHJcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgaGlkZGVuOiBmYWxzZSxcclxuICAgICAgICBjb2RlOiAnQVRUUklCVVRFUycsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKFxyXG4gICAgICBjaGFuZ2VzPy5pc1Byb2dyYW1TZWxlY3RlZD8uY3VycmVudFZhbHVlICE9PVxyXG4gICAgICBjaGFuZ2VzPy5pc1Byb2dyYW1TZWxlY3RlZD8ucHJldmlvdXNWYWx1ZVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaXNQcm9ncmFtU2VsZWN0ZWQgPSBjaGFuZ2VzLmlzUHJvZ3JhbVNlbGVjdGVkLmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5pc1JDU2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZvckVhY2goKGVsZTogYW55KSA9PiB7XHJcbiAgICAgICAgLy8gaWYoZWxlLmNvZGUgPT09ICdBU1NVUkFOQ0UnKSB7XHJcbiAgICAgICAgLy8gICBlbGUuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBpZiAoZWxlLmNvZGUgPT09ICdSRVFVSVJFU19BVURJVCcpIHtcclxuICAgICAgICAgIGVsZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUi5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vIGlmKGVsZS5jb2RlID09PSAnQVNTVVJBTkNFJykge1xyXG4gICAgICAgIC8vICAgZWxlLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgaWYgKGVsZS5jb2RlID09PSAnUkVRVUlSRVNfQVVESVQnKSB7XHJcbiAgICAgICAgICBlbGUuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoZWNrR1JDQXR0cmlidXRlcyh0aGlzLmlzQXR0cmlidXRlc0F2YWlsYWJsZSk7XHJcbiAgfVxyXG5cclxuICBjaGVja0dSQ0F0dHJpYnV0ZXModmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuR1JDLmZvckVhY2goKGVsZTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChlbGUuY29kZSA9PT0gJ0FUVFJJQlVURVMnKSB7XHJcbiAgICAgICAgZWxlLmlzRGlzYWJsZWQgPSAhdmFsdWU7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICAgICAgZWxlLmNoZWNrZWQgPSAhdmFsdWU7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdE1vcmVPcHRpb24oZWxlLCBpbmRleCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZlYXR1cmVmbGFncm9sZSA9IHRoaXMuYWxsb3dlZEZlYXR1cmU/LmlzRmVhdHVyZUVuYWJsZWQoXHJcbiAgICAgICdmZl9yb2xlX2ltcHJvdmVtZW50cydcclxuICAgICk7XHJcbiAgICB0aGlzLmZmX3JjX2xpc3RpbmcgPSB0aGlzLmFsbG93ZWRGZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoJ2ZmX3JjX2xpc3RpbmcnKTtcclxuICAgIHRoaXMuZmZfcmNfbGlzdGluZ1xyXG4gICAgICA/ICh0aGlzLnBlcm1pc3Npb25UZXh0ID0gJ1Blcm1pc3Npb25zJylcclxuICAgICAgOiAodGhpcy5wZXJtaXNzaW9uVGV4dCA9ICdQZXJtaXNzaW9uIEdyb3VwKFMpJyk7XHJcbiAgICB0aGlzLm1vcmVPcHRpb25zTGlzdC5DQVBSWzBdLm5hbWUgPSB0aGlzLnBlcm1pc3Npb25UZXh0O1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FQUlswXS50b29sdGlwVGl0bGUgPSB0aGlzLnBlcm1pc3Npb25UZXh0O1xyXG4gICAgdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FQUlsxXS50b29sdGlwTWVzc2FnZSA9IHRoaXMuZmVhdHVyZWZsYWdyb2xlXHJcbiAgICAgID8gYE93bmVycyBhcmUgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGEgUHJvZ3JhbS4gT25seSBPd25lcnMgY2FuIG1ha2UgY2hhbmdlcyB0byBhIFByb2dyYW0gYW5kIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgYXJlIGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLjxicj5cclxuICAgIFRoZSA8Yj5LZXkgUG93ZXIgVXNlciA8L2I+IGFuZCBhbGwgPGI+UG93ZXIgVXNlcnM8L2I+ICB3aWxsIGJlIHNlbGVjdGVkIGFzIHRoZSBPd25lcnMgb2YgYSBQcm9ncmFtIGJ5IGRlZmF1bHQuXHJcbiAgICBgXHJcbiAgICAgIDogYE93bmVycyBhcmUgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIGEgUHJvZ3JhbS4gT25seSBPd25lcnMgY2FuIG1ha2UgY2hhbmdlcyB0byBhIFByb2dyYW0gYW5kIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgYXJlIGxpbmtlZCB3aXRoIHRoZSBQcm9ncmFtLjxicj5cclxuICAgIFRoZSA8Yj5LZXkgQWRtaW48L2I+IGFuZCBhbGwgPGI+QWRtaW48L2I+IHVzZXJzIHdpbGwgYmUgc2VsZWN0ZWQgYXMgdGhlIE93bmVycyBvZiBhIFByb2dyYW0gYnkgZGVmYXVsdC5cclxuICAgIGA7XHJcbiAgICBpZiAodGhpcy5hbGxvd2VkRmVhdHVyZT8uaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpKSB7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUFJbMF0udG9vbHRpcE1lc3NhZ2UgPSBgJHt0aGlzLnBlcm1pc3Npb25UZXh0fSBsZXQgeW91IHNwZWNpZnkgdGhlIHVzZXJzIHRoYXQgY2FuIGJlIOKAnE93bmVyc+KAnSBvZiBhIFByb2dyYW0uYDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUFJbMF0udG9vbHRpcE1lc3NhZ2UgPSBgJHt0aGlzLnBlcm1pc3Npb25UZXh0fSBsZXQgeW91IHNwZWNpZnkgdGhlIHVzZXJzIHRoYXQgY2FuIGJlIOKAnE93bmVyc+KAnSBhbmQg4oCcQXBwcm92ZXJz4oCdIG9mIGEgUHJvZ3JhbS5gO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb3JlT3B0aW9uc0xpc3QuQ0FSLmZpbmRJbmRleChcclxuICAgICAgKGVsZTogYW55KSA9PiBlbGUuY29kZSA9PT0gJ0NIRUNLUE9JTlRTJ1xyXG4gICAgKTtcclxuICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUltpbmRleF0uaGlkZGVuID1cclxuICAgICAgdGhpcy5pc0VkaXRNb2RlID09PSBmYWxzZSA/IHRydWUgOiBmYWxzZTtcclxuICAgIGNvbnN0IFByb2dyYW1JbmRleCA9IHRoaXMubW9yZU9wdGlvbnNMaXN0LkNBUi5maW5kSW5kZXgoXHJcbiAgICAgIChlbGU6IGFueSkgPT4gZWxlLmNvZGUgPT09ICdQUk9HUkFNJ1xyXG4gICAgKTtcclxuICAgIGlmIChQcm9ncmFtSW5kZXggPiAtMSkge1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zTGlzdC5DQVJbUHJvZ3JhbUluZGV4XS5pc0Rpc2FibGVkID0gdGhpcy5pc0VkaXRNb2RlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wcm9ncmFtU2ltcGxpZnlGbGFnID1cclxuICAgICAgdGhpcy5hbGxvd2VkRmVhdHVyZT8uaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpID8/IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RNb3JlT3B0aW9uKGV2ZW50OiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jdXJyZW50V29ya2Zsb3cgPT09ICdDQVInICYmXHJcbiAgICAgIGV2ZW50LmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnICYmXHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0W3RoaXMuY3VycmVudFdvcmtmbG93XVtpbmRleF0uY2hlY2tlZFxyXG4gICAgKSB7XHJcbiAgICAgIGV2ZW50WydjaGVja3BvaW50X25ldyddID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbi5lbWl0KGV2ZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGV2ZW50WydjaGVja3BvaW50X25ldyddID0gZmFsc2U7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0W3RoaXMuY3VycmVudFdvcmtmbG93XVtpbmRleF0uY2hlY2tlZCA9XHJcbiAgICAgICAgIWV2ZW50LmNoZWNrZWQ7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24uZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZShldnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFdvcmtmbG93KSB7XHJcbiAgICAgIHRoaXMubW9yZU9wdGlvbnNMaXN0W3RoaXMuY3VycmVudFdvcmtmbG93XS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZXZ0LmluY2x1ZGVzKGVsZW1lbnQuY29kZSkpIHtcclxuICAgICAgICAgIGVsZW1lbnQuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGVsZW1lbnQuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZXZ0LmluY2x1ZGVzKCdDSEVDS1BPSU5UU19ORVcnKSkge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnQuY29kZSA9PT0gJ0NIRUNLUE9JTlRTJykge1xyXG4gICAgICAgICAgICBlbGVtZW50LmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnQuY29kZSA9PT0gJ0FTU0VTU01FTlQnKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChldnQuaW5jbHVkZXMoJ0FTU0VTU01FTlQnKSkge1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnQuY29kZSA9PT0gJ0NIRUNLUE9JTlRTX05FVycpIHtcclxuICAgICAgICAgICAgZWxlbWVudC5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50LmNvZGUgPT09ICdDSEVDS1BPSU5UUycpIHtcclxuICAgICAgICAgICAgZWxlbWVudC5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChldnQuaW5jbHVkZXMoJ0NIRUNLUE9JTlRTJykpIHtcclxuICAgICAgICAgIGlmIChlbGVtZW50LmNvZGUgPT09ICdDSEVDS1BPSU5UU19ORVcnKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoZWxlbWVudC5jb2RlID09PSAnQVNTRVNTTUVOVCcpIHtcclxuICAgICAgICAgICAgZWxlbWVudC5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGV2dC5pbmNsdWRlcygnUFJPR1JBTScpKSB7XHJcbiAgICAgICAgICBpZiAoZWxlbWVudC5jb2RlID09PSAnUFJPR1JBTScgJiYgdGhpcy5pc1Byb2dyYW1TZWxlY3RlZCkge1xyXG4gICAgICAgICAgICBlbGVtZW50LmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGhpZGVFbGVtZW50cyhoaWRkZW5MaXN0OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRXb3JrZmxvdykge1xyXG4gICAgICB0aGlzLm1vcmVPcHRpb25zTGlzdFt0aGlzLmN1cnJlbnRXb3JrZmxvd10uZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGhpZGRlbkxpc3QuaW5jbHVkZXMoZWxlbWVudC5jb2RlKSkge1xyXG4gICAgICAgICAgZWxlbWVudC5oaWRkZW4gPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBlbGVtZW50LmhpZGRlbiA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldEFsbCh3b3JrZmxvd1R5cGU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMubW9yZU9wdGlvbnNMaXN0W3dvcmtmbG93VHlwZV0pIHtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3Rbd29ya2Zsb3dUeXBlXS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICBlbGVtZW50LmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQcm9ncmFtTW9yZU9wdGlvbnMoKSB7XHJcbiAgICBjb25zdCBjb2RlID0gW1xyXG4gICAgICAnUFJPR1JBTV9GUkVRVUVOQ1knLFxyXG4gICAgICAnU0NPUEVfQ0hBTkdFUycsXHJcbiAgICAgICdSQycsXHJcbiAgICAgICdBU1NJR05FRVMnLFxyXG4gICAgICAnUkVWSUVXRVInLFxyXG4gICAgICAnT1ZFUlNFRVInLFxyXG4gICAgICAnQVNTRVNTTUVOVCcsXHJcbiAgICAgICdGT1JNQVRFX0VWSURFTkNFJyxcclxuICAgIF07XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMub3JnRGV0YWlscz8uaGFzUHJvZ3JhbUZ1bGxQZXJtaXNzaW9uICYmXHJcbiAgICAgIHRoaXMuYWxsb3dlZEZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3Q/LkNBUFI/LmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGNvZGU/LmluY2x1ZGVzKG9wdGlvbi5jb2RlKSkge1xyXG4gICAgICAgICAgb3B0aW9uLmhpZGRlbiA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuYWxsb3dlZEZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfcHJvZ3JhbV9zaW1wbGlmeScpKSB7XHJcbiAgICAgIGNvZGUucHVzaCgnQVBQUk9WRVInKTtcclxuICAgICAgdGhpcy5tb3JlT3B0aW9uc0xpc3Q/LkNBUFI/LmZvckVhY2goKG9wdGlvbjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGNvZGU/LmluY2x1ZGVzKG9wdGlvbi5jb2RlKSkge1xyXG4gICAgICAgICAgb3B0aW9uLmhpZGRlbiA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPHA+bW9yZS1vcHRpb24gd29ya3MhPC9wPiAtLT5cclxuPGRpdiBjbGFzcz1cIm1vcmUtb3B0aW9uXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtY29udGFpbmVyXCI+XHJcbiAgICA8aW1nXHJcbiAgICAgIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9hZGQtcmlzay1tb3JlLW9wdGlvbi5zdmdcIlxyXG4gICAgICBhbHQ9XCJcIlxyXG4gICAgLz5cclxuICAgIDxwICpuZ0lmPVwiY3VycmVudFdvcmtmbG93XCI+e3sgcGxhY2Vob2xkZXJUZXh0c1tjdXJyZW50V29ya2Zsb3ddIH19PC9wPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtb3JlLW9wdGlvbnNcIj5cclxuICAgIDx1bD5cclxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibW9yZS1vcHRpb25zLWhlYWRpbmdcIiAqbmdJZj1cImN1cnJlbnRXb3JrZmxvdyA9PT0nQ0FQUidcIj5QUk9HUkFNIFNDT1BFIE9QVElPTlM8L2Rpdj4gLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBtb3JlT3B0aW9uc0xpc3RbY3VycmVudFdvcmtmbG93XTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgID5cclxuICAgICAgICA8IS0tIDxsaSAqbmdJZj1cIiFkYXRhLmhpZGRlblwiIFthcHBUb29sdGlwXT1cImRhdGEuaXNEaXNhYmxlZCAmJiAhaXNSY1NlbGVjdGVkPyAnVGhpcyByZXNwb25zaWJpbGl0eSBjYW4gYmUgc2NoZWR1bGVkIGZvciBhbiBhdWRpdCBvbmx5IGFmdGVyIHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIgaXMgc2VsZWN0ZWQuJyA6ICcnXCIgcGxhY2VtZW50PVwicmlnaHRcIiBkZWxheT1cIjBcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJkYXRhLmlzRGlzYWJsZWQgJiYgIWlzUmNTZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLmFjdGl2ZV09XCJkYXRhLmNoZWNrZWRcIiBbZGlzYWJsZWRdPVwiZGF0YS5jb2RlID09PSAnUkMnICYmIG9wZW5lZEZyb20gPT09ICdSSVNLX1RSRUFUTUVOVCcgJiYgY3VycmVudFdvcmtmbG93ID09PSAnQ0FSJyB8fCAoZGF0YS5pc0Rpc2FibGVkICYmICFpc1JDU2VsZWN0ZWQpXCIgW2NsYXNzLmRpc2FibGVkXT1cImRhdGEuaXNEaXNhYmxlZCAmJiAhaXNSQ1NlbGVjdGVkXCIgKGNsaWNrKT1cImRhdGEuY2hlY2tlZCA9ICFkYXRhLmNoZWNrZWQ7IHNlbGVjdE1vcmVPcHRpb24oZGF0YSlcIj4gLS0+XHJcblxyXG4gICAgICAgIDxsaVxyXG4gICAgICAgICAgKm5nSWY9XCIhZGF0YS5oaWRkZW5cIlxyXG4gICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXHJcbiAgICAgICAgICAgIGRhdGEuaXNEaXNhYmxlZCB8fFxyXG4gICAgICAgICAgICAoKChkYXRhLmNvZGUgPT09ICdSQycgJiYgIWlzUmNTZWxlY3RlZCkgfHxcclxuICAgICAgICAgICAgICBkYXRhLmNvZGUgPT09ICdBVFRSSUJVVEVTJykgJiZcclxuICAgICAgICAgICAgICBkYXRhLmlzRGlzYWJsZWQpXHJcbiAgICAgICAgICAgICAgPyBkYXRhPy5kaXNhYmxlZE1lc3NhZ2VcclxuICAgICAgICAgICAgICA6ICcnXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImRhdGEuaXNEaXNhYmxlZFwiXHJcbiAgICAgICAgICBpZD1cImxpc3RkYXRhXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiZGF0YS5jaGVja2VkXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIlxyXG4gICAgICAgICAgICAgIChkYXRhLmNvZGUgPT09ICdSQycgJiZcclxuICAgICAgICAgICAgICAgIG9wZW5lZEZyb20gPT09ICdSSVNLX1RSRUFUTUVOVCcgJiZcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRXb3JrZmxvdyA9PT0gJ0NBUicpIHx8XHJcbiAgICAgICAgICAgICAgZGF0YS5pc0Rpc2FibGVkIHx8XHJcbiAgICAgICAgICAgICAgKGRhdGEuaXNEaXNhYmxlZCAmJiAhaXNSQ1NlbGVjdGVkKVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0TW9yZU9wdGlvbihkYXRhLCBpKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWRhdGEuY2hlY2tlZFwiIGNsYXNzPVwibW9yZS1pY29uXCI+XHJcbiAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImRhdGEuaW1hZ2VVcmxcIiBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25cIlxyXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGNpcmNsZVxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiXHJcbiAgICAgICAgICAgICAgICBjeD1cIjI2XCJcclxuICAgICAgICAgICAgICAgIGN5PVwiMjZcIlxyXG4gICAgICAgICAgICAgICAgcj1cIjI1XCJcclxuICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIlxyXG4gICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZGF0YT8ubmFtZVwiXHJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZGF0YT8ubmFtZVwiXHJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgICAgICA8IS0tIDxzcGFuICpuZ0lmPVwiZGF0YS5jb2RlID09PSdDSEVDS1BPSU5UU19ORVcnXCIgY2xhc3M9XCJjaGVja3BvaW50LXZlcnNpb25cIj4gVjIuMDwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZGF0YS50b29sdGlwTWVzc2FnZSAhPT0gJydcIlxyXG4gICAgICAgICAgICBsaWJQb3BvdmVySG92ZXJcclxuICAgICAgICAgICAgKG1vdXNlb3Zlcik9XCJkYXRhVG9vbHRpcC5wb3BvdmVyKClcIlxyXG4gICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJkYXRhVG9vbHRpcC5jbG9zZVBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcclxuICAgICAgICAgICAgPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFmOzwvaT48L3NwYW5cclxuICAgICAgICAgID5cclxuICAgICAgICAgIDxwb3BvdmVyLWhvdmVyICNkYXRhVG9vbHRpcD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWluZm8tY2FyZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidngtaW5mby1jYXJkLWhlYWRcIlxyXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJkYXRhLnRvb2x0aXBUaXRsZVwiXHJcbiAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidngtaW5mby1jYXJkLWJvZHlcIlxyXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJkYXRhLnRvb2x0aXBNZXNzYWdlXCJcclxuICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9wb3BvdmVyLWhvdmVyPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJtb3JlLW9wdGlvbnMtaGVhZGluZyB2eC1tdC0yXCJcclxuICAgICAgICAgICpuZ0lmPVwiY3VycmVudFdvcmtmbG93ID09PSAnQ0FQUicgJiYgaSA9PT0gMlwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgUFJPR1JBTSBTQ09QRSBPUFRJT05TXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC91bD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -34,9 +34,6 @@ export class GrcCategoryListingComponent {
|
|
|
34
34
|
this.activeCategoryId = this.categories[0]?._id;
|
|
35
35
|
this.setPaginationData();
|
|
36
36
|
}
|
|
37
|
-
set getSelectedCategoryIds(value) {
|
|
38
|
-
this.selectedCategoryIds = value;
|
|
39
|
-
}
|
|
40
37
|
ngOnInit() { }
|
|
41
38
|
getSelectedCategory(category, event) {
|
|
42
39
|
if (event) {
|
|
@@ -77,7 +74,7 @@ export class GrcCategoryListingComponent {
|
|
|
77
74
|
}
|
|
78
75
|
}
|
|
79
76
|
GrcCategoryListingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GrcCategoryListingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
-
GrcCategoryListingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GrcCategoryListingComponent, isStandalone: true, selector: "app-grc-category-listing", inputs: { tableCard: "tableCard", headerText: "headerText", currentPage: "currentPage", selectedTabIndex: "selectedTabIndex", selectedCatAndRisk: "selectedCatAndRisk", categoryList: ["categories", "categoryList"], getSelectedCategoryIds: ["selectedCategoryIds", "getSelectedCategoryIds"] }, outputs: { activeSelectedCategory: "activeSelectedCategory", onCategoryPageChange: "onCategoryPageChange" }, ngImport: i0, template: "<div class=\"grc-category-listing\">\r\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\r\n <app-cs-checkbox *ngIf=\"false\" [ngValue]=\"true\"></app-cs-checkbox>\r\n <app-cs-checkbox-indeterminate *ngIf=\"false\"></app-cs-checkbox-indeterminate>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\r\n </div>\r\n <div class=\"grc-category-listing-inner\">\r\n <div class=\"category-table-body\" [class.with-pagination]=\"totalPage > 1\">\r\n <div class=\"category-table-row cursor-pointer\" *ngFor=\"let category of categories; let i = index\" [class.active]=\"selectedCategoryIds?.includes(category?._id)\" [class.select]=\"activeCategoryId === category?._id\" (click)=\"onCategoryClick(category, 'view')\">\r\n <div class=\"category-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"i + 1\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{i + 1}}</div>\r\n <app-cs-checkbox *ngIf=\"false\" [ngValue]=\"selectedCategoryIds?.includes(category?._id)\" (ngValueChange)=\"getSelectedCategory(category,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"category-table-column vx-pr-1 vx-d-flex vx-align-center category-name\">\r\n <div class=\"value vx-fs-12 vx-label-txt vx-pr-5\" [appTooltip]=\"category?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{category?.name}}</div>\r\n </div>\r\n <div class=\"category-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action\">\r\n <i *ngIf=\"selectedCategoryIds?.includes(category?._id)\" class=\"icons grc-tick vx-fs-14\"></i>\r\n <button class=\"arrow-btn vx-fs-12 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons\"></i></button>\r\n </div>\r\n </div>\r\n </div>\r\n <app-pagination *ngIf=\"totalPage > 1\" [start]=\"perPageLimit * (currentPage - 1) + 1\" [end]=\"perPageLimit * currentPage\" [total]=\"totalCategory\" [pageCount]=\"totalPage\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-category-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-category-listing .top-heading app-cs-checkbox,::ng-deep .grc-category-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-category-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-category-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-category-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 19rem);overflow:hidden}::ng-deep .grc-category-listing-inner .category-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 19rem)}::ng-deep .grc-category-listing-inner .category-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row:hover{background:#fbfbfb}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row:hover .category-table-column.serial app-cs-checkbox,::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.active .category-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.cursor-pointer{cursor:pointer}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select{background:#161b2f}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.serial .sr-no{background:#ffffff30;color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.category-name .value{color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.action button.arrow-btn{color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select.active .category-table-column.serial .sr-no{background:transparent}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column{min-height:2.5rem;position:relative;width:100%}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.category-name{width:calc(100% - 3.5rem);min-width:calc(100% - 3.5rem)}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.category-name .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action{width:1.5rem;max-width:1.5rem;justify-content:center;position:relative}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action button.arrow-btn{background:transparent;border-radius:0;border:none;width:100%;height:100%}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action .grc-tick{color:#34aa44;position:absolute;top:13px;left:-16px}::ng-deep .grc-category-listing-inner .category-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i2.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i3.CsCheckboxIndeterminateComponent, selector: "app-cs-checkbox-indeterminate", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i5.PaginationComponent, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }] });
|
|
77
|
+
GrcCategoryListingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GrcCategoryListingComponent, isStandalone: true, selector: "app-grc-category-listing", inputs: { tableCard: "tableCard", headerText: "headerText", currentPage: "currentPage", selectedTabIndex: "selectedTabIndex", selectedCatAndRisk: "selectedCatAndRisk", selectedCategoryIds: "selectedCategoryIds", categoryList: ["categories", "categoryList"] }, outputs: { activeSelectedCategory: "activeSelectedCategory", onCategoryPageChange: "onCategoryPageChange" }, ngImport: i0, template: "<div class=\"grc-category-listing\">\r\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\r\n <app-cs-checkbox *ngIf=\"false\" [ngValue]=\"true\"></app-cs-checkbox>\r\n <app-cs-checkbox-indeterminate *ngIf=\"false\"></app-cs-checkbox-indeterminate>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\r\n </div>\r\n <div class=\"grc-category-listing-inner\">\r\n <div class=\"category-table-body\" [class.with-pagination]=\"totalPage > 1\">\r\n <div class=\"category-table-row cursor-pointer\" *ngFor=\"let category of categories; let i = index\" [class.active]=\"selectedCategoryIds?.includes(category?._id)\" [class.select]=\"activeCategoryId === category?._id\" (click)=\"onCategoryClick(category, 'view')\">\r\n <div class=\"category-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"i + 1\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{i + 1}}</div>\r\n <app-cs-checkbox *ngIf=\"false\" [ngValue]=\"selectedCategoryIds?.includes(category?._id)\" (ngValueChange)=\"getSelectedCategory(category,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"category-table-column vx-pr-1 vx-d-flex vx-align-center category-name\">\r\n <div class=\"value vx-fs-12 vx-label-txt vx-pr-5\" [appTooltip]=\"category?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{category?.name}}</div>\r\n </div>\r\n <div class=\"category-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action\">\r\n <i *ngIf=\"selectedCategoryIds?.includes(category?._id)\" class=\"icons grc-tick vx-fs-14\"></i>\r\n <button class=\"arrow-btn vx-fs-12 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons\"></i></button>\r\n </div>\r\n </div>\r\n </div>\r\n <app-pagination *ngIf=\"totalPage > 1\" [start]=\"perPageLimit * (currentPage - 1) + 1\" [end]=\"perPageLimit * currentPage\" [total]=\"totalCategory\" [pageCount]=\"totalPage\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-category-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-category-listing .top-heading app-cs-checkbox,::ng-deep .grc-category-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-category-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-category-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-category-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 19rem);overflow:hidden}::ng-deep .grc-category-listing-inner .category-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 19rem)}::ng-deep .grc-category-listing-inner .category-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row:hover{background:#fbfbfb}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row:hover .category-table-column.serial app-cs-checkbox,::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.active .category-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.cursor-pointer{cursor:pointer}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select{background:#161b2f}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.serial .sr-no{background:#ffffff30;color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.category-name .value{color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.action button.arrow-btn{color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select.active .category-table-column.serial .sr-no{background:transparent}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column{min-height:2.5rem;position:relative;width:100%}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.category-name{width:calc(100% - 3.5rem);min-width:calc(100% - 3.5rem)}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.category-name .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action{width:1.5rem;max-width:1.5rem;justify-content:center;position:relative}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action button.arrow-btn{background:transparent;border-radius:0;border:none;width:100%;height:100%}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action .grc-tick{color:#34aa44;position:absolute;top:13px;left:-16px}::ng-deep .grc-category-listing-inner .category-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i2.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i3.CsCheckboxIndeterminateComponent, selector: "app-cs-checkbox-indeterminate", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "ngmodule", type: PaginationModule }, { kind: "component", type: i5.PaginationComponent, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }] });
|
|
81
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GrcCategoryListingComponent, decorators: [{
|
|
82
79
|
type: Component,
|
|
83
80
|
args: [{ selector: 'app-grc-category-listing', standalone: true, imports: [
|
|
@@ -93,16 +90,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
93
90
|
'currentPage',
|
|
94
91
|
'selectedTabIndex',
|
|
95
92
|
'selectedCatAndRisk',
|
|
93
|
+
'selectedCategoryIds',
|
|
96
94
|
], template: "<div class=\"grc-category-listing\">\r\n <div class=\"top-heading vx-pl-2 vx-mb-2 vx-d-flex vx-align-center\">\r\n <app-cs-checkbox *ngIf=\"false\" [ngValue]=\"true\"></app-cs-checkbox>\r\n <app-cs-checkbox-indeterminate *ngIf=\"false\"></app-cs-checkbox-indeterminate>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-ml-2 vx-lh-4\">{{headerText}}</div>\r\n </div>\r\n <div class=\"grc-category-listing-inner\">\r\n <div class=\"category-table-body\" [class.with-pagination]=\"totalPage > 1\">\r\n <div class=\"category-table-row cursor-pointer\" *ngFor=\"let category of categories; let i = index\" [class.active]=\"selectedCategoryIds?.includes(category?._id)\" [class.select]=\"activeCategoryId === category?._id\" (click)=\"onCategoryClick(category, 'view')\">\r\n <div class=\"category-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\">\r\n <div class=\"sr-no\" [appTooltip]=\"i + 1\" placement=\"bottom\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\">{{i + 1}}</div>\r\n <app-cs-checkbox *ngIf=\"false\" [ngValue]=\"selectedCategoryIds?.includes(category?._id)\" (ngValueChange)=\"getSelectedCategory(category,$event)\"></app-cs-checkbox>\r\n </div>\r\n <div class=\"category-table-column vx-pr-1 vx-d-flex vx-align-center category-name\">\r\n <div class=\"value vx-fs-12 vx-label-txt vx-pr-5\" [appTooltip]=\"category?.name\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{category?.name}}</div>\r\n </div>\r\n <div class=\"category-table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action\">\r\n <i *ngIf=\"selectedCategoryIds?.includes(category?._id)\" class=\"icons grc-tick vx-fs-14\"></i>\r\n <button class=\"arrow-btn vx-fs-12 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"><i class=\"icons\"></i></button>\r\n </div>\r\n </div>\r\n </div>\r\n <app-pagination *ngIf=\"totalPage > 1\" [start]=\"perPageLimit * (currentPage - 1) + 1\" [end]=\"perPageLimit * currentPage\" [total]=\"totalCategory\" [pageCount]=\"totalPage\" [currentPage]=\"currentPage\" (selectedPage)=\"changePage($event)\"></app-pagination>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .grc-category-listing .top-heading{border-left:1px solid transparent}::ng-deep .grc-category-listing .top-heading app-cs-checkbox,::ng-deep .grc-category-listing .top-heading app-cs-checkbox-indeterminate{width:1rem;height:1rem;position:relative}::ng-deep .grc-category-listing .top-heading app-cs-checkbox .checkbox-item,::ng-deep .grc-category-listing .top-heading app-cs-checkbox-indeterminate .checkbox-item{position:absolute;top:0;left:0;width:1rem;height:1rem}::ng-deep .grc-category-listing-inner{border-radius:.25rem;border:1px solid #f1f1f1;height:calc(100vh - 19rem);overflow:hidden}::ng-deep .grc-category-listing-inner .category-table-body{overflow:hidden;overflow-y:auto;height:calc(100vh - 19rem)}::ng-deep .grc-category-listing-inner .category-table-body::-webkit-scrollbar-track{background-color:transparent}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row{border-bottom:1px solid #f1f1f1;display:flex;justify-content:space-between;position:relative}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row:hover{background:#fbfbfb}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row:hover .category-table-column.serial app-cs-checkbox,::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.active .category-table-column.serial app-cs-checkbox{opacity:1}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.cursor-pointer{cursor:pointer}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select{background:#161b2f}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.serial .sr-no{background:#ffffff30;color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.category-name .value{color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select .category-table-column.action button.arrow-btn{color:#fff}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row.select.active .category-table-column.serial .sr-no{background:transparent}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column{min-height:2.5rem;position:relative;width:100%}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item{position:absolute!important}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item .checkbox,::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.serial app-cs-checkbox .checkbox-item .checkmark{position:absolute;top:0}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.category-name{width:calc(100% - 3.5rem);min-width:calc(100% - 3.5rem)}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.category-name .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action{width:1.5rem;max-width:1.5rem;justify-content:center;position:relative}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action button.arrow-btn{background:transparent;border-radius:0;border:none;width:100%;height:100%}::ng-deep .grc-category-listing-inner .category-table-body .category-table-row .category-table-column.action .grc-tick{color:#34aa44;position:absolute;top:13px;left:-16px}::ng-deep .grc-category-listing-inner .category-table-body.with-pagination{height:calc(100vh - 21.5rem)}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds{background:#fff;border-radius:0;box-shadow:0 -10px 20px #1e5dd31a;padding:.5rem;justify-content:unset}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .right{order:1}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .right .goto-page{display:none!important}::ng-deep .grc-category-listing-inner app-pagination .wk-pagination-sec-ds .left{order:2;font-size:11px!important;color:#747576!important;text-transform:capitalize!important;margin-left:.75rem}\n"] }]
|
|
97
95
|
}], ctorParameters: function () { return []; }, propDecorators: { categoryList: [{
|
|
98
96
|
type: Input,
|
|
99
97
|
args: ['categories']
|
|
100
|
-
}], getSelectedCategoryIds: [{
|
|
101
|
-
type: Input,
|
|
102
|
-
args: ['selectedCategoryIds']
|
|
103
98
|
}], activeSelectedCategory: [{
|
|
104
99
|
type: Output
|
|
105
100
|
}], onCategoryPageChange: [{
|
|
106
101
|
type: Output
|
|
107
102
|
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLWNhdGVnb3J5LWxpc3RpbmcvZ3JjLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLWNhdGVnb3J5LWxpc3RpbmcvZ3JjLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7QUF1QjFFLE1BQU0sT0FBTywyQkFBMkI7SUEyQnRDO1FBMUJBLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFDckIsY0FBUyxHQUFlLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFDM0Isd0JBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQzlCLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUM5QixtQkFBYyxHQUFRLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQVcsWUFBWSxDQUFDO1FBQ2xDLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztRQUM3QixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUN4QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBQzFCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQVduQiwyQkFBc0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvRCx5QkFBb0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUV4RCxDQUFDO0lBYmhCLElBQXlCLFlBQVksQ0FBQyxLQUFVO1FBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztRQUNoRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBa0Msc0JBQXNCLENBQUMsS0FBVTtRQUNqRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFPRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixtQkFBbUIsQ0FBQyxRQUFhLEVBQUUsS0FBVTtRQUMzQyxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsRUFBRSxHQUFHLENBQUM7WUFDdEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDM0M7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWE7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQ25ELENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLFFBQVEsRUFBRSxHQUFHLENBQ25ELENBQUM7UUFDRixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FDekQsQ0FBQyxrQkFBdUIsRUFBRSxFQUFFLENBQUMsa0JBQWtCLEtBQUssUUFBUSxFQUFFLEdBQUcsQ0FDbEUsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlLENBQ2IsUUFBYSxFQUNiLFdBQTZDO1FBRTdDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7WUFDL0IsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQzdCLFdBQVcsRUFBRSxXQUFXO1NBQ3pCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLEVBQUUsR0FBRyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsWUFBWTtZQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsY0FBYyxJQUFJLEVBQUUsQ0FBQztRQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsYUFBYSxDQUFDO1FBQzFFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxhQUFhO1lBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsY0FBYyxDQUN4RCxDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7WUFDN0IsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7O3dIQS9FVSwyQkFBMkI7NEdBQTNCLDJCQUEyQixvZUM3QnhDLG00RUF3Qk0sdzlNRFpGLFlBQVksK1BBQ1osYUFBYSw4QkFDYixlQUFlLHlXQUNmLGFBQWEscU1BQ2IsaUJBQWlCLDhCQUNqQixnQkFBZ0I7MkZBWVAsMkJBQTJCO2tCQXJCdkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7cUJBQ2pCLFVBR087d0JBQ04sV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixvQkFBb0I7cUJBQ3JCOzBFQWdCd0IsWUFBWTtzQkFBcEMsS0FBSzt1QkFBQyxZQUFZO2dCQU1lLHNCQUFzQjtzQkFBdkQsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBSWxCLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ncmMtY2F0ZWdvcnktbGlzdGluZycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQb3BvdmVyTW9kdWxlLFxyXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxyXG4gICAgVG9vbHRpcE1vZHVsZSxcclxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxyXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmMtY2F0ZWdvcnktbGlzdGluZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50Lmxlc3MnXSxcclxuICBpbnB1dHM6IFtcclxuICAgICd0YWJsZUNhcmQnLFxyXG4gICAgJ2hlYWRlclRleHQnLFxyXG4gICAgJ2N1cnJlbnRQYWdlJyxcclxuICAgICdzZWxlY3RlZFRhYkluZGV4JyxcclxuICAgICdzZWxlY3RlZENhdEFuZFJpc2snLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcmNDYXRlZ29yeUxpc3RpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNhdGVnb3JpZXM6IGFueSA9IFtdO1xyXG4gIHRhYmxlQ2FyZDogQXJyYXk8YW55PiA9IFtdO1xyXG4gIHNlbGVjdGVkQ2F0ZWdvcnk6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkQ2F0ZWdvcnlJZHM6IGFueSA9IFtdO1xyXG4gIGFjdGl2ZUNhdGVnb3J5SWQ6IHN0cmluZyA9ICcnO1xyXG4gIGFjdGl2ZUNhdGVnb3J5OiBhbnkgPSB7fTtcclxuICBoZWFkZXJUZXh0OiBzdHJpbmcgPSAnQ2F0ZWdvcmllcyc7XHJcbiAgc2VsZWN0ZWRDYXRBbmRSaXNrOiBhbnkgPSBbXTtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICB0b3RhbFBhZ2U6IG51bWJlciA9IDE7XHJcbiAgdG90YWxDYXRlZ29yeTogbnVtYmVyID0gMDtcclxuICBwZXJQYWdlTGltaXQ6IG51bWJlciA9IDMwO1xyXG4gIHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCdjYXRlZ29yaWVzJykgc2V0IGNhdGVnb3J5TGlzdCh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmNhdGVnb3JpZXMgPSB2YWx1ZTtcclxuICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnlJZCA9IHRoaXMuY2F0ZWdvcmllc1swXT8uX2lkO1xyXG4gICAgdGhpcy5zZXRQYWdpbmF0aW9uRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCdzZWxlY3RlZENhdGVnb3J5SWRzJykgc2V0IGdldFNlbGVjdGVkQ2F0ZWdvcnlJZHModmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5SWRzID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgYWN0aXZlU2VsZWN0ZWRDYXRlZ29yeTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uQ2F0ZWdvcnlQYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIGdldFNlbGVjdGVkQ2F0ZWdvcnkoY2F0ZWdvcnk6IGFueSwgZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5wdXNoKGNhdGVnb3J5KTtcclxuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5SWRzLnB1c2goY2F0ZWdvcnk/Ll9pZCk7XHJcbiAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnlJZCA9IGNhdGVnb3J5Py5faWQ7XHJcbiAgICAgIHRoaXMub25DYXRlZ29yeUNsaWNrKGNhdGVnb3J5LCAnY2hlY2tlZCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxldGVFdmVudChjYXRlZ29yeSk7XHJcbiAgICAgIHRoaXMub25DYXRlZ29yeUNsaWNrKGNhdGVnb3J5LCAndW5jaGVja2VkJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWxldGVFdmVudChjYXRlZ29yeTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkPy5faWQgIT09IGNhdGVnb3J5Py5faWRcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkQ2F0ZWdvcnlJZDogYW55KSA9PiBzZWxlY3RlZENhdGVnb3J5SWQgIT09IGNhdGVnb3J5Py5faWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvbkNhdGVnb3J5Q2xpY2soXHJcbiAgICBjYXRlZ29yeTogYW55LFxyXG4gICAgY2xpY2tlZFR5cGU6ICdjaGVja2VkJyB8ICd1bmNoZWNrZWQnIHwgJ3ZpZXcnXHJcbiAgKSB7XHJcbiAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5ID0gY2F0ZWdvcnk7XHJcbiAgICB0aGlzLmFjdGl2ZVNlbGVjdGVkQ2F0ZWdvcnkuZW1pdCh7XHJcbiAgICAgIGNhdGVnb3J5OiB0aGlzLmFjdGl2ZUNhdGVnb3J5LFxyXG4gICAgICBjbGlja2VkVHlwZTogY2xpY2tlZFR5cGUsXHJcbiAgICB9KTtcclxuICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnlJZCA9IGNhdGVnb3J5Py5faWQ7XHJcbiAgfVxyXG5cclxuICBzZXRQYWdpbmF0aW9uRGF0YSgpIHtcclxuICAgIHRoaXMucGVyUGFnZUxpbWl0ID1cclxuICAgICAgdGhpcy50YWJsZUNhcmRbdGhpcy5zZWxlY3RlZFRhYkluZGV4XT8ubGltaXRfcGVyX3BhZ2UgPz8gMzA7XHJcbiAgICB0aGlzLnRvdGFsQ2F0ZWdvcnkgPSB0aGlzLnRhYmxlQ2FyZFt0aGlzLnNlbGVjdGVkVGFiSW5kZXhdPy5jYXRlZ29yeUNvdW50O1xyXG4gICAgdGhpcy50b3RhbFBhZ2UgPSBNYXRoLmNlaWwoXHJcbiAgICAgIHRoaXMudGFibGVDYXJkW3RoaXMuc2VsZWN0ZWRUYWJJbmRleF0/LmNhdGVnb3J5Q291bnQgL1xyXG4gICAgICAgIHRoaXMudGFibGVDYXJkW3RoaXMuc2VsZWN0ZWRUYWJJbmRleF0/LmxpbWl0X3Blcl9wYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUGFnZShldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICB0aGlzLm9uQ2F0ZWdvcnlQYWdlQ2hhbmdlLmVtaXQoe1xyXG4gICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImdyYy1jYXRlZ29yeS1saXN0aW5nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRpbmcgdngtcGwtMiB2eC1tYi0yIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICA8YXBwLWNzLWNoZWNrYm94ICpuZ0lmPVwiZmFsc2VcIiBbbmdWYWx1ZV09XCJ0cnVlXCI+PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgPGFwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlICpuZ0lmPVwiZmFsc2VcIj48L2FwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tbC0yIHZ4LWxoLTRcIj57e2hlYWRlclRleHR9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ3JjLWNhdGVnb3J5LWxpc3RpbmctaW5uZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktdGFibGUtYm9keVwiIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwidG90YWxQYWdlID4gMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktdGFibGUtcm93IGN1cnNvci1wb2ludGVyXCIgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIGNhdGVnb3JpZXM7IGxldCBpID0gaW5kZXhcIiBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkQ2F0ZWdvcnlJZHM/LmluY2x1ZGVzKGNhdGVnb3J5Py5faWQpXCIgW2NsYXNzLnNlbGVjdF09XCJhY3RpdmVDYXRlZ29yeUlkID09PSBjYXRlZ29yeT8uX2lkXCIgKGNsaWNrKT1cIm9uQ2F0ZWdvcnlDbGljayhjYXRlZ29yeSwgJ3ZpZXcnKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LXRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIiBbYXBwVG9vbHRpcF09XCJpICsgMVwiIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57e2kgKyAxfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94ICpuZ0lmPVwiZmFsc2VcIiBbbmdWYWx1ZV09XCJzZWxlY3RlZENhdGVnb3J5SWRzPy5pbmNsdWRlcyhjYXRlZ29yeT8uX2lkKVwiIChuZ1ZhbHVlQ2hhbmdlKT1cImdldFNlbGVjdGVkQ2F0ZWdvcnkoY2F0ZWdvcnksJGV2ZW50KVwiPjwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktdGFibGUtY29sdW1uIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBjYXRlZ29yeS1uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dCB2eC1wci01XCIgW2FwcFRvb2x0aXBdPVwiY2F0ZWdvcnk/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3tjYXRlZ29yeT8ubmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS10YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgYWN0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJzZWxlY3RlZENhdGVnb3J5SWRzPy5pbmNsdWRlcyhjYXRlZ29yeT8uX2lkKVwiIGNsYXNzPVwiaWNvbnMgZ3JjLXRpY2sgdngtZnMtMTRcIj4mI3hlOTNkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYXJyb3ctYnRuIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHQgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5NzA7PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxhcHAtcGFnaW5hdGlvbiAqbmdJZj1cInRvdGFsUGFnZSA+IDFcIiBbc3RhcnRdPVwicGVyUGFnZUxpbWl0ICogKGN1cnJlbnRQYWdlIC0gMSkgKyAxXCIgW2VuZF09XCJwZXJQYWdlTGltaXQgKiBjdXJyZW50UGFnZVwiIFt0b3RhbF09XCJ0b3RhbENhdGVnb3J5XCIgW3BhZ2VDb3VudF09XCJ0b3RhbFBhZ2VcIiBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2VcIiAoc2VsZWN0ZWRQYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiPjwvYXBwLXBhZ2luYXRpb24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLWNhdGVnb3J5LWxpc3RpbmcvZ3JjLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLWNhdGVnb3J5LWxpc3RpbmcvZ3JjLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7QUF3QjFFLE1BQU0sT0FBTywyQkFBMkI7SUF1QnRDO1FBdEJBLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFDckIsY0FBUyxHQUFlLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFDM0Isd0JBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQzlCLHFCQUFnQixHQUFXLEVBQUUsQ0FB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QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDO1lBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDOzt3SEEzRVUsMkJBQTJCOzRHQUEzQiwyQkFBMkIscWNDOUJ4QyxtNEVBd0JNLHc5TURaRixZQUFZLCtQQUNaLGFBQWEsOEJBQ2IsZUFBZSx5V0FDZixhQUFhLHFNQUNiLGlCQUFpQiw4QkFDakIsZ0JBQWdCOzJGQWFQLDJCQUEyQjtrQkF0QnZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3FCQUNqQixVQUdPO3dCQUNOLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixxQkFBcUI7cUJBQ3RCOzBFQWdCd0IsWUFBWTtzQkFBcEMsS0FBSzt1QkFBQyxZQUFZO2dCQU1ULHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ncmMtY2F0ZWdvcnktbGlzdGluZycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQb3BvdmVyTW9kdWxlLFxyXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxyXG4gICAgVG9vbHRpcE1vZHVsZSxcclxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxyXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmMtY2F0ZWdvcnktbGlzdGluZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50Lmxlc3MnXSxcclxuICBpbnB1dHM6IFtcclxuICAgICd0YWJsZUNhcmQnLFxyXG4gICAgJ2hlYWRlclRleHQnLFxyXG4gICAgJ2N1cnJlbnRQYWdlJyxcclxuICAgICdzZWxlY3RlZFRhYkluZGV4JyxcclxuICAgICdzZWxlY3RlZENhdEFuZFJpc2snLFxyXG4gICAgJ3NlbGVjdGVkQ2F0ZWdvcnlJZHMnLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcmNDYXRlZ29yeUxpc3RpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNhdGVnb3JpZXM6IGFueSA9IFtdO1xyXG4gIHRhYmxlQ2FyZDogQXJyYXk8YW55PiA9IFtdO1xyXG4gIHNlbGVjdGVkQ2F0ZWdvcnk6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkQ2F0ZWdvcnlJZHM6IGFueSA9IFtdO1xyXG4gIGFjdGl2ZUNhdGVnb3J5SWQ6IHN0cmluZyA9ICcnO1xyXG4gIGFjdGl2ZUNhdGVnb3J5OiBhbnkgPSB7fTtcclxuICBoZWFkZXJUZXh0OiBzdHJpbmcgPSAnQ2F0ZWdvcmllcyc7XHJcbiAgc2VsZWN0ZWRDYXRBbmRSaXNrOiBhbnkgPSBbXTtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICB0b3RhbFBhZ2U6IG51bWJlciA9IDE7XHJcbiAgdG90YWxDYXRlZ29yeTogbnVtYmVyID0gMDtcclxuICBwZXJQYWdlTGltaXQ6IG51bWJlciA9IDMwO1xyXG4gIHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlciA9IDE7XHJcbiAgQElucHV0KCdjYXRlZ29yaWVzJykgc2V0IGNhdGVnb3J5TGlzdCh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmNhdGVnb3JpZXMgPSB2YWx1ZTtcclxuICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnlJZCA9IHRoaXMuY2F0ZWdvcmllc1swXT8uX2lkO1xyXG4gICAgdGhpcy5zZXRQYWdpbmF0aW9uRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGFjdGl2ZVNlbGVjdGVkQ2F0ZWdvcnk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkNhdGVnb3J5UGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBnZXRTZWxlY3RlZENhdGVnb3J5KGNhdGVnb3J5OiBhbnksIGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkucHVzaChjYXRlZ29yeSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcy5wdXNoKGNhdGVnb3J5Py5faWQpO1xyXG4gICAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5SWQgPSBjYXRlZ29yeT8uX2lkO1xyXG4gICAgICB0aGlzLm9uQ2F0ZWdvcnlDbGljayhjYXRlZ29yeSwgJ2NoZWNrZWQnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGVsZXRlRXZlbnQoY2F0ZWdvcnkpO1xyXG4gICAgICB0aGlzLm9uQ2F0ZWdvcnlDbGljayhjYXRlZ29yeSwgJ3VuY2hlY2tlZCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlRXZlbnQoY2F0ZWdvcnk6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gdGhpcy5zZWxlY3RlZENhdGVnb3J5Py5maWx0ZXIoXHJcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZD8uX2lkICE9PSBjYXRlZ29yeT8uX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5SWRzID0gdGhpcy5zZWxlY3RlZENhdGVnb3J5SWRzPy5maWx0ZXIoXHJcbiAgICAgIChzZWxlY3RlZENhdGVnb3J5SWQ6IGFueSkgPT4gc2VsZWN0ZWRDYXRlZ29yeUlkICE9PSBjYXRlZ29yeT8uX2lkXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25DYXRlZ29yeUNsaWNrKFxyXG4gICAgY2F0ZWdvcnk6IGFueSxcclxuICAgIGNsaWNrZWRUeXBlOiAnY2hlY2tlZCcgfCAndW5jaGVja2VkJyB8ICd2aWV3J1xyXG4gICkge1xyXG4gICAgdGhpcy5hY3RpdmVDYXRlZ29yeSA9IGNhdGVnb3J5O1xyXG4gICAgdGhpcy5hY3RpdmVTZWxlY3RlZENhdGVnb3J5LmVtaXQoe1xyXG4gICAgICBjYXRlZ29yeTogdGhpcy5hY3RpdmVDYXRlZ29yeSxcclxuICAgICAgY2xpY2tlZFR5cGU6IGNsaWNrZWRUeXBlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5SWQgPSBjYXRlZ29yeT8uX2lkO1xyXG4gIH1cclxuXHJcbiAgc2V0UGFnaW5hdGlvbkRhdGEoKSB7XHJcbiAgICB0aGlzLnBlclBhZ2VMaW1pdCA9XHJcbiAgICAgIHRoaXMudGFibGVDYXJkW3RoaXMuc2VsZWN0ZWRUYWJJbmRleF0/LmxpbWl0X3Blcl9wYWdlID8/IDMwO1xyXG4gICAgdGhpcy50b3RhbENhdGVnb3J5ID0gdGhpcy50YWJsZUNhcmRbdGhpcy5zZWxlY3RlZFRhYkluZGV4XT8uY2F0ZWdvcnlDb3VudDtcclxuICAgIHRoaXMudG90YWxQYWdlID0gTWF0aC5jZWlsKFxyXG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0aGlzLnNlbGVjdGVkVGFiSW5kZXhdPy5jYXRlZ29yeUNvdW50IC9cclxuICAgICAgICB0aGlzLnRhYmxlQ2FyZFt0aGlzLnNlbGVjdGVkVGFiSW5kZXhdPy5saW1pdF9wZXJfcGFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVBhZ2UoZXZlbnQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5vbkNhdGVnb3J5UGFnZUNoYW5nZS5lbWl0KHtcclxuICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJncmMtY2F0ZWdvcnktbGlzdGluZ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRvcC1oZWFkaW5nIHZ4LXBsLTIgdngtbWItMiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgPGFwcC1jcy1jaGVja2JveCAqbmdJZj1cImZhbHNlXCIgW25nVmFsdWVdPVwidHJ1ZVwiPjwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgIDxhcHAtY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAqbmdJZj1cImZhbHNlXCI+PC9hcHAtY3MtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWwtMiB2eC1saC00XCI+e3toZWFkZXJUZXh0fX08L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImdyYy1jYXRlZ29yeS1saXN0aW5nLWlubmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LXRhYmxlLWJvZHlcIiBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cInRvdGFsUGFnZSA+IDFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LXRhYmxlLXJvdyBjdXJzb3ItcG9pbnRlclwiICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzOyBsZXQgaSA9IGluZGV4XCIgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZENhdGVnb3J5SWRzPy5pbmNsdWRlcyhjYXRlZ29yeT8uX2lkKVwiIFtjbGFzcy5zZWxlY3RdPVwiYWN0aXZlQ2F0ZWdvcnlJZCA9PT0gY2F0ZWdvcnk/Ll9pZFwiIChjbGljayk9XCJvbkNhdGVnb3J5Q2xpY2soY2F0ZWdvcnksICd2aWV3JylcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS10YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNyLW5vXCIgW2FwcFRvb2x0aXBdPVwiaSArIDFcIiBwbGFjZW1lbnQ9XCJib3R0b21cIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+e3tpICsgMX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveCAqbmdJZj1cImZhbHNlXCIgW25nVmFsdWVdPVwic2VsZWN0ZWRDYXRlZ29yeUlkcz8uaW5jbHVkZXMoY2F0ZWdvcnk/Ll9pZClcIiAobmdWYWx1ZUNoYW5nZSk9XCJnZXRTZWxlY3RlZENhdGVnb3J5KGNhdGVnb3J5LCRldmVudClcIj48L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGVnb3J5LXRhYmxlLWNvbHVtbiB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgY2F0ZWdvcnktbmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZSB2eC1mcy0xMiB2eC1sYWJlbC10eHQgdngtcHItNVwiIFthcHBUb29sdGlwXT1cImNhdGVnb3J5Py5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7Y2F0ZWdvcnk/Lm5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktdGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGFjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwic2VsZWN0ZWRDYXRlZ29yeUlkcz8uaW5jbHVkZXMoY2F0ZWdvcnk/Ll9pZClcIiBjbGFzcz1cImljb25zIGdyYy10aWNrIHZ4LWZzLTE0XCI+JiN4ZTkzZDs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFycm93LWJ0biB2eC1mcy0xMiB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTcwOzwvaT48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXBwLXBhZ2luYXRpb24gKm5nSWY9XCJ0b3RhbFBhZ2UgPiAxXCIgW3N0YXJ0XT1cInBlclBhZ2VMaW1pdCAqIChjdXJyZW50UGFnZSAtIDEpICsgMVwiIFtlbmRdPVwicGVyUGFnZUxpbWl0ICogY3VycmVudFBhZ2VcIiBbdG90YWxdPVwidG90YWxDYXRlZ29yeVwiIFtwYWdlQ291bnRdPVwidG90YWxQYWdlXCIgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCIgKHNlbGVjdGVkUGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIj48L2FwcC1wYWdpbmF0aW9uPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|