@bizdoc/core 1.14.6 → 1.14.8

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.
@@ -697,7 +697,12 @@
697
697
  "description": "SVG"
698
698
  },
699
699
  "Color": {
700
- "type": "string"
700
+ "type": "string",
701
+ "format": "color"
702
+ },
703
+ "BackgoundColor": {
704
+ "type": "string",
705
+ "format": "color"
701
706
  },
702
707
  "Verb": {
703
708
  "type": "string"
@@ -976,7 +981,7 @@
976
981
  "type": "boolean",
977
982
  "description": "Meaningful in Indices queries. Set false for cube-only axes"
978
983
  },
979
- "DescendentOf": { "type": "array" },
984
+ "DescendentOf": { "type": "string" },
980
985
  "Sensitive": {
981
986
  "type": "boolean",
982
987
  "description": "Meaningful in anomaly test. True by default"
@@ -16,11 +16,12 @@ const EXCEL_ICON = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
16
16
  export class BrokenPage {
17
17
  }
18
18
  BrokenPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: BrokenPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- BrokenPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: BrokenPage, selector: "ng-component", ngImport: i0, template: '', isInline: true });
19
+ BrokenPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: BrokenPage, selector: "ng-component", host: { classAttribute: "mat-app-background" }, ngImport: i0, template: '', isInline: true });
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: BrokenPage, decorators: [{
21
21
  type: Component,
22
22
  args: [{
23
- template: ''
23
+ template: '',
24
+ host: { class: 'mat-app-background' }
24
25
  }]
25
26
  }] });
26
27
  export class BizDocApp {
@@ -87,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
87
88
  template: ''
88
89
  }]
89
90
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: i1.SessionService }, { type: i2.HubService }, { type: i3.MatIconRegistry }, { type: i4.DomSanitizer }]; } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYXBwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzRCxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7OztBQUluRSxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQztBQUNsQyxNQUFNLFVBQVUsR0FBRyw0OENBQTQ4QyxFQUM3OUMsU0FBUyxHQUFHLG0vQ0FBbS9DLEVBQy8vQyxlQUFlLEdBQUcsdzNDQUF3M0MsRUFDMTRDLFFBQVEsR0FBRywwMUVBQTAxRSxDQUFDO0FBS3gyRSxNQUFNLE9BQU8sVUFBVTs7dUdBQVYsVUFBVTsyRkFBVixVQUFVLG9EQUZYLEVBQUU7MkZBRUQsVUFBVTtrQkFIdEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjs7QUFRRCxNQUFNLE9BQU8sU0FBUztJQUdwQixZQUNVLEdBQXFCLEVBQ3JCLElBQThCLEVBQzlCLFFBQXdCLEVBQ3hCLFVBQXNCLEVBQzlCLFlBQTZCLEVBQzdCLFNBQXVCO1FBTGYsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsU0FBSSxHQUFK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Q0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWixJQUFJLElBQUk7Z0JBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BELFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJO2dCQUNGLFFBQVEsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUM5QztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEI7SUFDTCxDQUFDOztzR0F6RFUsU0FBUzswRkFBVCxTQUFTLDhDQUZWLEVBQUU7MkZBRUQsU0FBUztrQkFKckIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHsgSHViQ29ubmVjdGlvblN0YXRlIH0gZnJvbSAnQG1pY3Jvc29mdC9zaWduYWxyJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzdGFydFdpdGgsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgZW5hYmxlUnRsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWJhc2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICcuL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgSG9tZUNvbXBvbmVudCB9IGZyb20gJy4vaG9tZS9ob21lLmRlc2t0b3AuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSG9tZU1vYmlsZUNvbXBvbmVudCB9IGZyb20gJy4vaG9tZS9ob21lLm1vYmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5jb25zdCBSRVZJU0lUX1RBQl9SRUZSRVNIID0gMTAwMDA7XHJcbmNvbnN0IEVYQ0VMX0lDT04gPSAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA2NCA2NFwiPjxwYXRoIGQ9XCJNMzgsOEgxOS4zMzM1QTIuMzMzNzMsMi4zMzM3MywwLDAsMCwxNywxMC4zMzM1VjIwSDM4WlwiIGZpbGw9XCIjMjFhMzY2XCIvPjxwYXRoIGQ9XCJNNTYuNjY2NSw4SDM4VjIwSDU5VjEwLjMzMzVBMi4zMzM3MywyLjMzMzczLDAsMCwwLDU2LjY2NjUsOFpcIiBmaWxsPVwiIzMzYzQ4MVwiLz48cmVjdCB4PVwiMzhcIiB5PVwiMzJcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwiIzEwN2M0MVwiLz48cGF0aCBkPVwiTTM4LDQ0VjMySDE3VjUzLjY2NjVBMi4zMzM3MywyLjMzMzczLDAsMCwwLDE5LjMzMzUsNTZoMzcuMzMzQTIuMzMzNzMsMi4zMzM3MywwLDAsMCw1OSw1My42NjY1VjQ0WlwiIGZpbGw9XCIjMTg1YzM3XCIvPjxyZWN0IHg9XCIxN1wiIHk9XCIyMFwiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCIjMTA3YzQxXCIvPjxyZWN0IHg9XCIzOFwiIHk9XCIyMFwiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCIjMjFhMzY2XCIvPjxwYXRoIGQ9XCJNMzMsMjAuMzMwMDhWNDYuNjY5OTJhMS43MzQ0NCwxLjczNDQ0LDAsMCwxLS4wNC4zOTk5QTIuMzEzNzgsMi4zMTM3OCwwLDAsMSwzMC42Njk5Miw0OUgxN1YxOEgzMC42Njk5MkEyLjMyNiwyLjMyNiwwLDAsMSwzMywyMC4zMzAwOFpcIiBvcGFjaXR5PVwiMC4yXCIvPjxwYXRoIGQ9XCJNMzQsMjAuMzMwMDhWNDQuNjY5OTJBMy4zNjE3MSwzLjM2MTcxLDAsMCwxLDMwLjY2OTkyLDQ4SDE3VjE3SDMwLjY2OTkyQTMuMzQxNzcsMy4zNDE3NywwLDAsMSwzNCwyMC4zMzAwOFpcIiBvcGFjaXR5PVwiMC4xXCIvPjxwYXRoIGQ9XCJNMzMsMjAuMzMwMDhWNDQuNjY5OTJBMi4zMjYsMi4zMjYsMCwwLDEsMzAuNjY5OTIsNDdIMTdWMThIMzAuNjY5OTJBMi4zMjYsMi4zMjYsMCwwLDEsMzMsMjAuMzMwMDhaXCIgb3BhY2l0eT1cIjAuMlwiLz48cGF0aCBkPVwiTTMyLDIwLjMzMDA4VjQ0LjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDI5LjY2OTkyLDQ3SDE3VjE4SDI5LjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDMyLDIwLjMzMDA4WlwiIG9wYWNpdHk9XCIwLjFcIi8+PHJlY3QgeD1cIjRcIiB5PVwiMTguMDAwMDJcIiB3aWR0aD1cIjI3Ljk5OTk2XCIgaGVpZ2h0PVwiMjcuOTk5OTZcIiByeD1cIjIuMzMzMzNcIiBmaWxsPVwiIzEwN2M0MVwiLz48cGF0aCBkPVwiTTExLjIyNTYsMzkuNTgzNWw0LjkwNzU5LTcuNjA0NjUtNC40OTUxLTcuNTYyMzVoMy42MTcyNGwyLjQ1Mzc5LDQuODMzNTZxLjMzODM5LjY4NzYzLjQ2NTM4LDEuMDI1OTRoLjAzMTczcS4yNDMxOC0uNTQ5ODQuNTA3NjgtMS4wNjgyNWwyLjYyMy00Ljc5MTI1SDI0LjY1OGwtNC42MTE0NSw3LjUyLDQuNzI3NzksNy42NDdIMjEuMjQxNzRMMTguNDA3MTgsMzQuMjc0YTQuNDMyNTUsNC40MzI1NSwwLDAsMS0uMzM4NDUtLjcwODY0aC0uMDQyMzFhMy4zNDUsMy4zNDUsMCwwLDEtLjMyNzg4LjY4NzQ5TDE0Ljc3OTM3LDM5LjU4MzVaXCIgZmlsbD1cIiNmZmZcIi8+PC9zdmc+JyxcclxuICBXT1JEX0lDT04gPSAnPHN2ZyB2aWV3Qm94PVwiMCAwIDU2MCA0MDBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PGcgZmlsbC1ydWxlPVwibm9uemVyb1wiPjxwYXRoIGQ9XCJtMzgwLjgyOSAxMDMuNzUzaC0xNDYuNjU5Yy01LjAyOCAwLTkuMTY1IDQuMTM3LTkuMTY1IDkuMTY1djM4Ljk1OWw4Mi40OTggMjQuMDYyIDgyLjQ5Ny0yNC4wNjJ2LTM4Ljk1OWMwLTUuMDI4LTQuMTM3LTkuMTY1LTkuMTY0LTkuMTY1elwiIGZpbGw9XCIjNDFhNWVlXCIvPjxwYXRoIGQ9XCJtMzg5Ljk5MyAxNTEuODc3aC0xNjQuOTk0djQ4LjEyM2w4Mi40OTcgMjQuMDYyIDgyLjQ5Ny0yNC4wNjJ6XCIgZmlsbD1cIiMyYjdjZDNcIi8+PHBhdGggZD1cIm0zODkuOTkzIDIwMGgtMTY0Ljk5NHY0OC4xMjRsODIuNDk3IDI0LjA2MSA4Mi40OTctMjQuMDYxelwiIGZpbGw9XCIjMTg1YWJkXCIvPjxwYXRoIGQ9XCJtMzg5Ljk5MyAyNDguMTI0aC0xNjQuOTk0djM4Ljk1OWMwIDUuMDI3IDQuMTM2IDkuMTY0IDkuMTYzIDkuMTY0aDE0Ni42NmM1LjAyNyAwIDkuMTY0LTQuMTM3IDkuMTY0LTkuMTY0elwiIGZpbGw9XCIjMTAzZjkxXCIvPjxwYXRoIGQ9XCJtMjg0LjU4MiAxMzguMTI3aC01OS41ODN2MTMwLjYyMWg1OS41ODNjNS4wMjItLjAxNSA5LjE0OS00LjE0MyA5LjE2NC05LjE2NHYtMTEyLjI4NmMtLjAxNS01LjAyMS00LjE0Mi05LjE0OS05LjE2NC05LjE2NHpcIiBmaWxsLW9wYWNpdHk9XCIuMDk4MDM5XCIvPjxwYXRoIGQ9XCJtMjc3LjcwOCAxNDUuMDAyaC01Mi43MDl2MTMwLjYyMWg1Mi43MDljNS4wMjEtLjAxNSA5LjE0OS00LjE0MyA5LjE2My05LjE2NXYtMTEyLjI4NWMtLjAxNC01LjAyMS00LjE0Mi05LjE0OS05LjE2My05LjE2NHptMCAwaC01Mi43MDl2MTE2Ljg3MWg1Mi43MDljNS4wMjEtLjAxNSA5LjE0OS00LjE0MyA5LjE2My05LjE2NHYtOTguNTM2Yy0uMDE0LTUuMDIxLTQuMTQyLTkuMTQ5LTkuMTYzLTkuMTY0em0tNi44NzUgMGgtNDUuODM0djExNi44NzFoNDUuODM0YzUuMDIxLS4wMTUgOS4xNDktNC4xNDMgOS4xNjMtOS4xNjR2LTk4LjUzNmMtLjAxNC01LjAyMS00LjE0Mi05LjE0OS05LjE2My05LjE2NHpcIiBmaWxsLW9wYWNpdHk9XCIuMlwiLz48cGF0aCBkPVwibTE3OS4xNjQgMTQ1LjAwMmg5MS42NjFjNS4wMjggMCA5LjE2NSA0LjEzNiA5LjE2NSA5LjE2NHY5MS42NjJjMCA1LjAyNy00LjEzNyA5LjE2My05LjE2NSA5LjE2M2gtOTEuNjYxYy01LjAyNyAwLTkuMTY0LTQuMTM2LTkuMTY0LTkuMTYzdi05MS42NjJjMC01LjAyOCA0LjEzNy05LjE2NCA5LjE2NC05LjE2NHpcIiBmaWxsPVwiIzE4NWFiZFwiLz48cGF0aCBkPVwibTI1Mi4xNTQgMjM0LjM3NGgtMTIuMzc1bC0xNC40MzctNDcuNDM2LTE1LjEyNSA0Ny40MzZoLTEyLjM3NGwtMTMuNzUtNjguNzQ4aDEyLjM3NWw5LjYyNCA0OC4xMjMgMTQuNDM4LTQ2Ljc0OGgxMC4zMTJsMTMuNzUgNDYuNzQ4IDkuNjI0LTQ4LjEyM2gxMS42ODd6XCIgZmlsbD1cIiNmZmZcIi8+PC9nPjxwYXRoIGQ9XCJtMTcwIDkwLjAwNGgyMTkuOTkzdjIxOS45OTNoLTIxOS45OTN6XCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+JyxcclxuICBQT1dFUlBPSU5UX0lDT04gPSAnPHN2ZyB2aWV3Qm94PVwiLTAuMTI5NzkzNzI2OTgwNzc3ODUgMCAzMi4xNTIzODkzMDExNzY3NTQgMzJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNTAwXCIgaGVpZ2h0PVwiMjQ3OFwiPjxwYXRoIGQ9XCJNMTggMkExNC4wNDEgMTQuMDQxIDAgMCAwIDQgMTZsMTcuNzM3IDMuNzM3elwiIGZpbGw9XCIjZWQ2YzQ3XCIvPjxwYXRoIGQ9XCJNMTggMmExNC4wNDEgMTQuMDQxIDAgMCAxIDE0IDE0bC03IDQuNzU4TDE4IDE2elwiIGZpbGw9XCIjZmY4ZjZiXCIvPjxwYXRoIGQ9XCJNMTggMzBhMTQuMDQxIDE0LjA0MSAwIDAgMCAxNC0xNEg0YTE0LjA0MSAxNC4wNDEgMCAwIDAgMTQgMTR6XCIgZmlsbD1cIiNkMzUyMzBcIi8+PHBhdGggZD1cIk0xNi42NjYgN2gtOS4zNmExMy45MTQgMTMuOTE0IDAgMCAwIC45MyAxOWg4LjQzQTEuMzM3IDEuMzM3IDAgMCAwIDE4IDI0LjY2N1Y4LjMzM0ExLjMzNyAxLjMzNyAwIDAgMCAxNi42NjYgN3pcIiBvcGFjaXR5PVwiLjFcIi8+PHBhdGggZD1cIk0xNS42NjYgOEg2LjU0YTEzLjkwNiAxMy45MDYgMCAwIDAgMi44NDUgMTloNi4yODJBMS4zMzcgMS4zMzcgMCAwIDAgMTcgMjUuNjY3VjkuMzMzQTEuMzM3IDEuMzM3IDAgMCAwIDE1LjY2NiA4elwiIG9wYWNpdHk9XCIuMlwiLz48cGF0aCBkPVwiTTE1LjY2NiA4SDYuNTRhMTMuODkgMTMuODkgMCAwIDAgLjc2NiAxN2g4LjM2MUExLjMzNyAxLjMzNyAwIDAgMCAxNyAyMy42NjdWOS4zMzNBMS4zMzcgMS4zMzcgMCAwIDAgMTUuNjY2IDh6XCIgb3BhY2l0eT1cIi4yXCIvPjxwYXRoIGQ9XCJNMTQuNjY2IDhINi41NGExMy44OSAxMy44OSAwIDAgMCAuNzY2IDE3aDcuMzYxQTEuMzM3IDEuMzM3IDAgMCAwIDE2IDIzLjY2N1Y5LjMzM0ExLjMzNyAxLjMzNyAwIDAgMCAxNC42NjYgOHpcIiBvcGFjaXR5PVwiLjJcIi8+PHBhdGggZD1cIk0xLjMzMyA4aDEzLjMzNEExLjMzMyAxLjMzMyAwIDAgMSAxNiA5LjMzM3YxMy4zMzRBMS4zMzMgMS4zMzMgMCAwIDEgMTQuNjY3IDI0SDEuMzMzQTEuMzMzIDEuMzMzIDAgMCAxIDAgMjIuNjY3VjkuMzMzQTEuMzMzIDEuMzMzIDAgMCAxIDEuMzMzIDh6XCIgZmlsbD1cIiNjNDNlMWNcIi8+PHBhdGggZD1cIk03Ljk5NyAxMWE0LjE2OCA0LjE2OCAwIDAgMSAyLjc1NS44MDUgMi44NzggMi44NzggMCAwIDEgLjk1NiAyLjMzMSAyLjcyNiAyLjcyNiAwIDAgMS0uNDczIDEuNTg4IDMuMTY0IDMuMTY0IDAgMCAxLTEuMzQ0IDEuMTg2IDQuNTcgNC41NyAwIDAgMS0yLjAyLjQyNGgtMS45MVYyMUg0VjExek01Ljk2IDE1LjY4M2gxLjY4N2EyLjE5NCAyLjE5NCAwIDAgMCAxLjQ5Mi0uNDQ0IDEuMTA3IDEuMTA3IDAgMCAwIC41MDQtMS4wMjZxMC0xLjY1OS0xLjkzMy0xLjY1OUg1Ljk2elwiIGZpbGw9XCIjZjlmN2Y3XCIvPjxwYXRoIGQ9XCJNMCAwaDMydjMySDB6XCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+JyxcclxuICBQREZfSUNPTiA9ICc8c3ZnIHZlcnNpb249XCIxLjFcIiB2aWV3Qm94PVwiMCAwIDE0IDE2XCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PGcgdHJhbnNmb3JtPVwibWF0cml4KC4wNDU4OSAwIDAgLjA0NTg5IC0uNjY4NzcgLS43MzM3OSlcIj48cG9seWdvbiBwb2ludHM9XCI1MS43OTEgMzU2LjY1IDUxLjc5MSAyMy45OSAyMDQuNSAyMy45OSAyODIuNjUgMTAyLjA3IDI4Mi42NSAzNTYuNjVcIiBmaWxsPVwiI2ZmZlwiIHN0cm9rZS13aWR0aD1cIjIxMi42NVwiLz48cGF0aCBkPVwibTIwMS4xOSAzMS45OSA3My40NiA3My4zOTN2MjQzLjI2aC0yMTQuODZ2LTMxNi42NmgxNDEuNG02LjYyMy0xNmgtMTY0LjAydjM0OC42NmgyNDYuODV2LTI2NS45elwiIHN0cm9rZS13aWR0aD1cIjIxLjc5MVwiLz48L2c+PGcgdHJhbnNmb3JtPVwibWF0cml4KC4wNDU4OSAwIDAgLjA0NTg5IC0uNjY4NzcgLS43MzM3OSlcIj48cG9seWdvbiBwb2ludHM9XCIyODIuNjUgMzU2LjY1IDUxLjc5MSAzNTYuNjUgNTEuNzkxIDIzLjk5IDIwNC41IDIzLjk5IDIwNi4zMSAyNS44IDIwNi4zMSAxMDAuMzMgMjgwLjkgMTAwLjMzIDI4Mi42NSAxMDIuMDdcIiBmaWxsPVwiI2ZmZlwiIHN0cm9rZS13aWR0aD1cIjIxMi42NVwiLz48cGF0aCBkPVwibTE5OC4zMSAzMS45OXY3Ni4zMzdoNzYuMzM3djI0MC4zMmgtMjE0Ljg2di0zMTYuNjZoMTM4LjUybTkuNS0xNmgtMTY0LjAydjM0OC42NmgyNDYuODV2LTI2NS45bC02LjQzLTYuNDI0aC02OS45MDd2LTY5Ljg0MnpcIiBzdHJva2Utd2lkdGg9XCIyMS43OTFcIi8+PC9nPjxnIHRyYW5zZm9ybT1cIm1hdHJpeCguMDQ1ODkgMCAwIC4wNDU4OSAtLjY2ODc3IC0uNzMzNzkpXCIgc3Ryb2tlLXdpZHRoPVwiMjEuNzkxXCI+PHBvbHlnb24gcG9pbnRzPVwiMjU4LjMxIDg3Ljc1IDIxOS42NCA4Ny43NSAyMTkuNjQgNDguNjY3IDI1OC4zMSA4Ni4zOFwiLz5cdFx0PHBhdGggZD1cIm0yMjcuNjQgNjcuNjQ2IDEyLjQxIDEyLjEwNGgtMTIuNDF2LTEyLjEwNG0tNS4wMDItMjcuMjI5aC0xMC45OTh2NTUuMzMzaDU0LjY2NnYtMTIuNzQyelwiLz48L2c+PGcgdHJhbnNmb3JtPVwibWF0cml4KC4wNDU4OSAwIDAgLjA0NTg5IC0uNjY4NzcgLS43MzM3OSlcIiBmaWxsPVwiI2VkMWMyNFwiIHN0cm9rZS13aWR0aD1cIjIxMi42NVwiPjxwb2x5Z29uIHBvaW50cz1cIjMxMS44OSAyODQuNDkgMjIuNTQ0IDI4NC40OSAyMi41NDQgMTY3LjY4IDM3LjI5MSAxNTIuOTQgMzcuMjkxIDE3MS40OSAyOTcuMTUgMTcxLjQ5IDI5Ny4xNSAxNTIuOTQgMzExLjg5IDE2Ny42OFwiLz48cGF0aCBkPVwibTMwMy42NSAxNjguNjMgMS43NDcgMS43NDd2MTA3LjYyaC0yNzYuMzV2LTEwNy42MmwxLjc0Ny0xLjc0N3Y5LjM2MmgyNzIuODV2LTkuMzYybS0xMi45OTktMzEuMzg1djI3Ljc0N2gtMjQ2Ljg2di0yNy43NDdsLTI3Ljc0NyAyNy43NDd2MTI2aDMwMi4zNXYtMTI2elwiLz48L2c+PHJlY3QgeD1cIjEuNzIxOVwiIHk9XCI3Ljk1NDRcIiB3aWR0aD1cIjEwLjY4NFwiIGhlaWdodD1cIjQuMDMwN1wiIGZpbGw9XCJub25lXCIvPjxnIHRyYW5zZm9ybT1cIm1hdHJpeCguMDQ1ODkgMCAwIC4wNDU4OSAxLjcyMTkgMTEuNzMzKVwiIGZpbGw9XCIjZmZmXCIgc3Ryb2tlLXdpZHRoPVwiMjEuNzkxXCIgYXJpYS1sYWJlbD1cIlBERlwiPjxwYXRoIGQ9XCJtOS4yMTYgMHYtODMuMmgzMC40NjRxNi43ODQgMCAxMi45MjggMS40MDggNi4xNDQgMS4yOCAxMC43NTIgNC42MDggNC42MDggMy4yIDcuMjk2IDguNTc2IDIuODE2IDUuMjQ4IDIuODE2IDEzLjA1NiAwIDcuNjgtMi44MTYgMTMuMTg0LTIuNjg4IDUuNTA0LTcuMjk2IDkuMDg4LTQuNjA4IDMuNDU2LTEwLjYyNCA1LjI0OC02LjAxNiAxLjY2NC0xMi41NDQgMS42NjRoLTguOTZ2MjYuMzY4em0yMi4wMTYtNDMuNzc2aDcuOTM2cTYuNTI4IDAgOS42LTMuMDcyIDMuMi0zLjA3MiAzLjItOC43MDR0LTMuNDU2LTcuOTM2LTkuODU2LTIuMzA0aC03LjQyNHpcIi8+PHBhdGggZD1cIm04Ny4wNCAwdi04My4yaDI0LjU3NnE5LjQ3MiAwIDE3LjI4IDIuMzA0IDcuOTM2IDIuMzA0IDEzLjU2OCA3LjI5NnQ4LjcwNCAxMi44cTMuMiA3LjgwOCAzLjIgMTguODE2dC0zLjA3MiAxOC45NDQtOC43MDQgMTMuMDU2cS01LjUwNCA1LjEyLTEzLjE4NCA3LjU1Mi03LjU1MiAyLjQzMi0xNi41MTIgMi40MzJ6bTIyLjAxNi0xNy42NjRoMS4yOHE0LjQ4IDAgOC40NDgtMS4wMjQgMy45NjgtMS4xNTIgNi43ODQtMy44NCAyLjk0NC0yLjY4OCA0LjYwOC03LjQyNHQxLjY2NC0xMi4wMzItMS42NjQtMTEuOTA0LTQuNjA4LTcuMTY4cS0yLjgxNi0yLjU2LTYuNzg0LTMuNDU2LTMuOTY4LTEuMDI0LTguNDQ4LTEuMDI0aC0xLjI4elwiLz48cGF0aCBkPVwibTE2OS4yMiAwdi04My4yaDU0LjI3MnYxOC40MzJoLTMyLjI1NnYxNS44NzJoMjcuNjQ4djE4LjQzMmgtMjcuNjQ4djMwLjQ2NHpcIi8+PC9nPjwvc3ZnPic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGNsYXNzIEJyb2tlblBhZ2Uge1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYycsXHJcbiAgdGVtcGxhdGU6ICcnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaXpEb2NBcHAgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGRpcjogRGlyZWN0aW9uID0gJ2x0cic7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVmcmVzaCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX2NmcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tZXNzYWdpbmc6IEh1YlNlcnZpY2UsXHJcbiAgICBpY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSxcclxuICAgIHNhbml0aXplcjogRG9tU2FuaXRpemVyXHJcbiAgKSB7XHJcbiAgICBjb25zdCBkb2MgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdLFxyXG4gICAgICBib2R5ID0gZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07XHJcbiAgICBkb2MubGFuZyA9IF9zZXNzaW9uLmxhbmd1YWdlO1xyXG4gICAgaWYgKF9zZXNzaW9uLmludmVyc2UpIHtcclxuICAgICAgZG9jdW1lbnQuZGlyID0gZG9jLmRpciA9IGJvZHkuZGlyID0gdGhpcy5kaXIgPSAncnRsJztcclxuICAgICAgZW5hYmxlUnRsKCk7XHJcbiAgICB9XHJcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ2V4Y2VsJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEVYQ0VMX0lDT04pKTtcclxuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgnd29yZCcsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChXT1JEX0lDT04pKTtcclxuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgncG93ZXJwb2ludCcsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChQT1dFUlBPSU5UX0lDT04pKTtcclxuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgncGRmJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFBERl9JQ09OKSk7XHJcbiAgICB0aGlzLl9zZXNzaW9uLnJlZnJlc2goKS5zdWJzY3JpYmUodGhpcy5faW5pdGlhbGl6ZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZSgpIHtcclxuICAgIGlmIChpc01vYmlsZSgpKSB7XHJcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLl9jZnIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoSG9tZU1vYmlsZUNvbXBvbmVudCk7XHJcbiAgICAgIHRoaXMuX3ZjLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5fY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEhvbWVDb21wb25lbnQpO1xyXG4gICAgICB0aGlzLl92Yy5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9yZWZyZXNoLnBpcGUoZGVib3VuY2VUaW1lKFJFVklTSVRfVEFCX1JFRlJFU0gpKS5cclxuICAgICAgc3Vic2NyaWJlKCgpID0+IHRoaXMuX3Nlc3Npb24ucmVmcmVzaCgpLnN1YnNjcmliZSgpKTtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCAoKSA9PiB7XHJcbiAgICAgIGlmICghZG9jdW1lbnQuaGlkZGVuICYmIHRoaXMuX21lc3NhZ2luZy5zdGF0ZSA9PT0gSHViQ29ubmVjdGlvblN0YXRlLkRpc2Nvbm5lY3RlZCAmJiB0aGlzLl9zZXNzaW9uLm9rKVxyXG4gICAgICAgIHRoaXMuX3JlZnJlc2gubmV4dCgpO1xyXG4gICAgfSk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb25saW5lJywgKCkgPT4gdGhpcy5fcmVmcmVzaC5uZXh0KCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBtZXRhID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbWV0YVtuYW1lPXRoZW1lLWNvbG9yXScpIGFzIEhUTUxNZXRhRWxlbWVudDtcclxuICAgIHRoaXMuX3Nlc3Npb24udGhlbWVDaGFuZ2UuXHJcbiAgICAgIHBpcGUoc3RhcnRXaXRoKHRoaXMuX3Nlc3Npb24udGhlbWUpKS5cclxuICAgICAgc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgIGlmIChtZXRhKSBtZXRhLmNvbnRlbnQgPSB0aGlzLl9zZXNzaW9uLmdldFByaW1lcnkoKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC52YWx1ZSA9IHQubmFtZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgaWYgKGlzTW9iaWxlKCkpXHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYXBwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzRCxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7OztBQUluRSxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQztBQUNsQyxNQUFNLFVBQVUsR0FBRyw0OENBQTQ4QyxFQUM3OUMsU0FBUyxHQUFHLG0vQ0FBbS9DLEVBQy8vQyxlQUFlLEdBQUcsdzNDQUF3M0MsRUFDMTRDLFFBQVEsR0FBRywwMUVBQTAxRSxDQUFDO0FBTXgyRSxNQUFNLE9BQU8sVUFBVTs7dUdBQVYsVUFBVTsyRkFBVixVQUFVLG9HQUhYLEVBQUU7MkZBR0QsVUFBVTtrQkFKdEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtvQkFDWixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUU7aUJBQ3RDOztBQVFELE1BQU0sT0FBTyxTQUFTO0lBR3BCLFlBQ1UsR0FBcUIsRUFDckIsSUFBOEIsRUFDOUIsUUFBd0IsRUFDeEIsVUFBc0IsRUFDOUIsWUFBNkIsRUFDN0IsU0FB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QVc7WUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNaLElBQUksSUFBSTtnQkFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEQsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUk7Z0JBQ0YsUUFBUSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQzlDO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoQjtJQUNMLENBQUM7O3NHQXpEVSxTQUFTOzBGQUFULFNBQVMsOENBRlYsRUFBRTsyRkFFRCxTQUFTO2tCQUpyQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxRQUFRO29CQUNsQixRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQgeyBIdWJDb25uZWN0aW9uU3RhdGUgfSBmcm9tICdAbWljcm9zb2Z0L3NpZ25hbHInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN0YXJ0V2l0aCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBlbmFibGVSdGwgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYmFzZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuL2NvcmUvaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJy4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBIb21lQ29tcG9uZW50IH0gZnJvbSAnLi9ob21lL2hvbWUuZGVza3RvcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIb21lTW9iaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9ob21lL2hvbWUubW9iaWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbmNvbnN0IFJFVklTSVRfVEFCX1JFRlJFU0ggPSAxMDAwMDtcclxuY29uc3QgRVhDRUxfSUNPTiA9ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDY0IDY0XCI+PHBhdGggZD1cIk0zOCw4SDE5LjMzMzVBMi4zMzM3MywyLjMzMzczLDAsMCwwLDE3LDEwLjMzMzVWMjBIMzhaXCIgZmlsbD1cIiMyMWEzNjZcIi8+PHBhdGggZD1cIk01Ni42NjY1LDhIMzhWMjBINTlWMTAuMzMzNUEyLjMzMzczLDIuMzMzNzMsMCwwLDAsNTYuNjY2NSw4WlwiIGZpbGw9XCIjMzNjNDgxXCIvPjxyZWN0IHg9XCIzOFwiIHk9XCIzMlwiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCIjMTA3YzQxXCIvPjxwYXRoIGQ9XCJNMzgsNDRWMzJIMTdWNTMuNjY2NUEyLjMzMzczLDIuMzMzNzMsMCwwLDAsMTkuMzMzNSw1NmgzNy4zMzNBMi4zMzM3MywyLjMzMzczLDAsMCwwLDU5LDUzLjY2NjVWNDRaXCIgZmlsbD1cIiMxODVjMzdcIi8+PHJlY3QgeD1cIjE3XCIgeT1cIjIwXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIiMxMDdjNDFcIi8+PHJlY3QgeD1cIjM4XCIgeT1cIjIwXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIiMyMWEzNjZcIi8+PHBhdGggZD1cIk0zMywyMC4zMzAwOFY0Ni42Njk5MmExLjczNDQ0LDEuNzM0NDQsMCwwLDEtLjA0LjM5OTlBMi4zMTM3OCwyLjMxMzc4LDAsMCwxLDMwLjY2OTkyLDQ5SDE3VjE4SDMwLjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDMzLDIwLjMzMDA4WlwiIG9wYWNpdHk9XCIwLjJcIi8+PHBhdGggZD1cIk0zNCwyMC4zMzAwOFY0NC42Njk5MkEzLjM2MTcxLDMuMzYxNzEsMCwwLDEsMzAuNjY5OTIsNDhIMTdWMTdIMzAuNjY5OTJBMy4zNDE3NywzLjM0MTc3LDAsMCwxLDM0LDIwLjMzMDA4WlwiIG9wYWNpdHk9XCIwLjFcIi8+PHBhdGggZD1cIk0zMywyMC4zMzAwOFY0NC42Njk5MkEyLjMyNiwyLjMyNiwwLDAsMSwzMC42Njk5Miw0N0gxN1YxOEgzMC42Njk5MkEyLjMyNiwyLjMyNiwwLDAsMSwzMywyMC4zMzAwOFpcIiBvcGFjaXR5PVwiMC4yXCIvPjxwYXRoIGQ9XCJNMzIsMjAuMzMwMDhWNDQuNjY5OTJBMi4zMjYsMi4zMjYsMCwwLDEsMjkuNjY5OTIsNDdIMTdWMThIMjkuNjY5OTJBMi4zMjYsMi4zMjYsMCwwLDEsMzIsMjAuMzMwMDhaXCIgb3BhY2l0eT1cIjAuMVwiLz48cmVjdCB4PVwiNFwiIHk9XCIxOC4wMDAwMlwiIHdpZHRoPVwiMjcuOTk5OTZcIiBoZWlnaHQ9XCIyNy45OTk5NlwiIHJ4PVwiMi4zMzMzM1wiIGZpbGw9XCIjMTA3YzQxXCIvPjxwYXRoIGQ9XCJNMTEuMjI1NiwzOS41ODM1bDQuOTA3NTktNy42MDQ2NS00LjQ5NTEtNy41NjIzNWgzLjYxNzI0bDIuNDUzNzksNC44MzM1NnEuMzM4MzkuNjg3NjMuNDY1MzgsMS4wMjU5NGguMDMxNzNxLjI0MzE4LS41NDk4NC41MDc2OC0xLjA2ODI1bDIuNjIzLTQuNzkxMjVIMjQuNjU4bC00LjYxMTQ1LDcuNTIsNC43Mjc3OSw3LjY0N0gyMS4yNDE3NEwxOC40MDcxOCwzNC4yNzRhNC40MzI1NSw0LjQzMjU1LDAsMCwxLS4zMzg0NS0uNzA4NjRoLS4wNDIzMWEzLjM0NSwzLjM0NSwwLDAsMS0uMzI3ODguNjg3NDlMMTQuNzc5MzcsMzkuNTgzNVpcIiBmaWxsPVwiI2ZmZlwiLz48L3N2Zz4nLFxyXG4gIFdPUkRfSUNPTiA9ICc8c3ZnIHZpZXdCb3g9XCIwIDAgNTYwIDQwMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48ZyBmaWxsLXJ1bGU9XCJub256ZXJvXCI+PHBhdGggZD1cIm0zODAuODI5IDEwMy43NTNoLTE0Ni42NTljLTUuMDI4IDAtOS4xNjUgNC4xMzctOS4xNjUgOS4xNjV2MzguOTU5bDgyLjQ5OCAyNC4wNjIgODIuNDk3LTI0LjA2MnYtMzguOTU5YzAtNS4wMjgtNC4xMzctOS4xNjUtOS4xNjQtOS4xNjV6XCIgZmlsbD1cIiM0MWE1ZWVcIi8+PHBhdGggZD1cIm0zODkuOTkzIDE1MS44NzdoLTE2NC45OTR2NDguMTIzbDgyLjQ5NyAyNC4wNjIgODIuNDk3LTI0LjA2MnpcIiBmaWxsPVwiIzJiN2NkM1wiLz48cGF0aCBkPVwibTM4OS45OTMgMjAwaC0xNjQuOTk0djQ4LjEyNGw4Mi40OTcgMjQuMDYxIDgyLjQ5Ny0yNC4wNjF6XCIgZmlsbD1cIiMxODVhYmRcIi8+PHBhdGggZD1cIm0zODkuOTkzIDI0OC4xMjRoLTE2NC45OTR2MzguOTU5YzAgNS4wMjcgNC4xMzYgOS4xNjQgOS4xNjMgOS4xNjRoMTQ2LjY2YzUuMDI3IDAgOS4xNjQtNC4xMzcgOS4xNjQtOS4xNjR6XCIgZmlsbD1cIiMxMDNmOTFcIi8+PHBhdGggZD1cIm0yODQuNTgyIDEzOC4xMjdoLTU5LjU4M3YxMzAuNjIxaDU5LjU4M2M1LjAyMi0uMDE1IDkuMTQ5LTQuMTQzIDkuMTY0LTkuMTY0di0xMTIuMjg2Yy0uMDE1LTUuMDIxLTQuMTQyLTkuMTQ5LTkuMTY0LTkuMTY0elwiIGZpbGwtb3BhY2l0eT1cIi4wOTgwMzlcIi8+PHBhdGggZD1cIm0yNzcuNzA4IDE0NS4wMDJoLTUyLjcwOXYxMzAuNjIxaDUyLjcwOWM1LjAyMS0uMDE1IDkuMTQ5LTQuMTQzIDkuMTYzLTkuMTY1di0xMTIuMjg1Yy0uMDE0LTUuMDIxLTQuMTQyLTkuMTQ5LTkuMTYzLTkuMTY0em0wIDBoLTUyLjcwOXYxMTYuODcxaDUyLjcwOWM1LjAyMS0uMDE1IDkuMTQ5LTQuMTQzIDkuMTYzLTkuMTY0di05OC41MzZjLS4wMTQtNS4wMjEtNC4xNDItOS4xNDktOS4xNjMtOS4xNjR6bS02Ljg3NSAwaC00NS44MzR2MTE2Ljg3MWg0NS44MzRjNS4wMjEtLjAxNSA5LjE0OS00LjE0MyA5LjE2My05LjE2NHYtOTguNTM2Yy0uMDE0LTUuMDIxLTQuMTQyLTkuMTQ5LTkuMTYzLTkuMTY0elwiIGZpbGwtb3BhY2l0eT1cIi4yXCIvPjxwYXRoIGQ9XCJtMTc5LjE2NCAxNDUuMDAyaDkxLjY2MWM1LjAyOCAwIDkuMTY1IDQuMTM2IDkuMTY1IDkuMTY0djkxLjY2MmMwIDUuMDI3LTQuMTM3IDkuMTYzLTkuMTY1IDkuMTYzaC05MS42NjFjLTUuMDI3IDAtOS4xNjQtNC4xMzYtOS4xNjQtOS4xNjN2LTkxLjY2MmMwLTUuMDI4IDQuMTM3LTkuMTY0IDkuMTY0LTkuMTY0elwiIGZpbGw9XCIjMTg1YWJkXCIvPjxwYXRoIGQ9XCJtMjUyLjE1NCAyMzQuMzc0aC0xMi4zNzVsLTE0LjQzNy00Ny40MzYtMTUuMTI1IDQ3LjQzNmgtMTIuMzc0bC0xMy43NS02OC43NDhoMTIuMzc1bDkuNjI0IDQ4LjEyMyAxNC40MzgtNDYuNzQ4aDEwLjMxMmwxMy43NSA0Ni43NDggOS42MjQtNDguMTIzaDExLjY4N3pcIiBmaWxsPVwiI2ZmZlwiLz48L2c+PHBhdGggZD1cIm0xNzAgOTAuMDA0aDIxOS45OTN2MjE5Ljk5M2gtMjE5Ljk5M3pcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nLFxyXG4gIFBPV0VSUE9JTlRfSUNPTiA9ICc8c3ZnIHZpZXdCb3g9XCItMC4xMjk3OTM3MjY5ODA3Nzc4NSAwIDMyLjE1MjM4OTMwMTE3Njc1NCAzMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI1MDBcIiBoZWlnaHQ9XCIyNDc4XCI+PHBhdGggZD1cIk0xOCAyQTE0LjA0MSAxNC4wNDEgMCAwIDAgNCAxNmwxNy43MzcgMy43Mzd6XCIgZmlsbD1cIiNlZDZjNDdcIi8+PHBhdGggZD1cIk0xOCAyYTE0LjA0MSAxNC4wNDEgMCAwIDEgMTQgMTRsLTcgNC43NThMMTggMTZ6XCIgZmlsbD1cIiNmZjhmNmJcIi8+PHBhdGggZD1cIk0xOCAzMGExNC4wNDEgMTQuMDQxIDAgMCAwIDE0LTE0SDRhMTQuMDQxIDE0LjA0MSAwIDAgMCAxNCAxNHpcIiBmaWxsPVwiI2QzNTIzMFwiLz48cGF0aCBkPVwiTTE2LjY2NiA3aC05LjM2YTEzLjkxNCAxMy45MTQgMCAwIDAgLjkzIDE5aDguNDNBMS4zMzcgMS4zMzcgMCAwIDAgMTggMjQuNjY3VjguMzMzQTEuMzM3IDEuMzM3IDAgMCAwIDE2LjY2NiA3elwiIG9wYWNpdHk9XCIuMVwiLz48cGF0aCBkPVwiTTE1LjY2NiA4SDYuNTRhMTMuOTA2IDEzLjkwNiAwIDAgMCAyLjg0NSAxOWg2LjI4MkExLjMzNyAxLjMzNyAwIDAgMCAxNyAyNS42NjdWOS4zMzNBMS4zMzcgMS4zMzcgMCAwIDAgMTUuNjY2IDh6XCIgb3BhY2l0eT1cIi4yXCIvPjxwYXRoIGQ9XCJNMTUuNjY2IDhINi41NGExMy44OSAxMy44OSAwIDAgMCAuNzY2IDE3aDguMzYxQTEuMzM3IDEuMzM3IDAgMCAwIDE3IDIzLjY2N1Y5LjMzM0ExLjMzNyAxLjMzNyAwIDAgMCAxNS42NjYgOHpcIiBvcGFjaXR5PVwiLjJcIi8+PHBhdGggZD1cIk0xNC42NjYgOEg2LjU0YTEzLjg5IDEzLjg5IDAgMCAwIC43NjYgMTdoNy4zNjFBMS4zMzcgMS4zMzcgMCAwIDAgMTYgMjMuNjY3VjkuMzMzQTEuMzM3IDEuMzM3IDAgMCAwIDE0LjY2NiA4elwiIG9wYWNpdHk9XCIuMlwiLz48cGF0aCBkPVwiTTEuMzMzIDhoMTMuMzM0QTEuMzMzIDEuMzMzIDAgMCAxIDE2IDkuMzMzdjEzLjMzNEExLjMzMyAxLjMzMyAwIDAgMSAxNC42NjcgMjRIMS4zMzNBMS4zMzMgMS4zMzMgMCAwIDEgMCAyMi42NjdWOS4zMzNBMS4zMzMgMS4zMzMgMCAwIDEgMS4zMzMgOHpcIiBmaWxsPVwiI2M0M2UxY1wiLz48cGF0aCBkPVwiTTcuOTk3IDExYTQuMTY4IDQuMTY4IDAgMCAxIDIuNzU1LjgwNSAyLjg3OCAyLjg3OCAwIDAgMSAuOTU2IDIuMzMxIDIuNzI2IDIuNzI2IDAgMCAxLS40NzMgMS41ODggMy4xNjQgMy4xNjQgMCAwIDEtMS4zNDQgMS4xODYgNC41NyA0LjU3IDAgMCAxLTIuMDIuNDI0aC0xLjkxVjIxSDRWMTF6TTUuOTYgMTUuNjgzaDEuNjg3YTIuMTk0IDIuMTk0IDAgMCAwIDEuNDkyLS40NDQgMS4xMDcgMS4xMDcgMCAwIDAgLjUwNC0xLjAyNnEwLTEuNjU5LTEuOTMzLTEuNjU5SDUuOTZ6XCIgZmlsbD1cIiNmOWY3ZjdcIi8+PHBhdGggZD1cIk0wIDBoMzJ2MzJIMHpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nLFxyXG4gIFBERl9JQ09OID0gJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgMTQgMTZcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjA0NTg5IDAgMCAuMDQ1ODkgLS42Njg3NyAtLjczMzc5KVwiPjxwb2x5Z29uIHBvaW50cz1cIjUxLjc5MSAzNTYuNjUgNTEuNzkxIDIzLjk5IDIwNC41IDIzLjk5IDI4Mi42NSAxMDIuMDcgMjgyLjY1IDM1Ni42NVwiIGZpbGw9XCIjZmZmXCIgc3Ryb2tlLXdpZHRoPVwiMjEyLjY1XCIvPjxwYXRoIGQ9XCJtMjAxLjE5IDMxLjk5IDczLjQ2IDczLjM5M3YyNDMuMjZoLTIxNC44NnYtMzE2LjY2aDE0MS40bTYuNjIzLTE2aC0xNjQuMDJ2MzQ4LjY2aDI0Ni44NXYtMjY1Ljl6XCIgc3Ryb2tlLXdpZHRoPVwiMjEuNzkxXCIvPjwvZz48ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjA0NTg5IDAgMCAuMDQ1ODkgLS42Njg3NyAtLjczMzc5KVwiPjxwb2x5Z29uIHBvaW50cz1cIjI4Mi42NSAzNTYuNjUgNTEuNzkxIDM1Ni42NSA1MS43OTEgMjMuOTkgMjA0LjUgMjMuOTkgMjA2LjMxIDI1LjggMjA2LjMxIDEwMC4zMyAyODAuOSAxMDAuMzMgMjgyLjY1IDEwMi4wN1wiIGZpbGw9XCIjZmZmXCIgc3Ryb2tlLXdpZHRoPVwiMjEyLjY1XCIvPjxwYXRoIGQ9XCJtMTk4LjMxIDMxLjk5djc2LjMzN2g3Ni4zMzd2MjQwLjMyaC0yMTQuODZ2LTMxNi42NmgxMzguNTJtOS41LTE2aC0xNjQuMDJ2MzQ4LjY2aDI0Ni44NXYtMjY1LjlsLTYuNDMtNi40MjRoLTY5LjkwN3YtNjkuODQyelwiIHN0cm9rZS13aWR0aD1cIjIxLjc5MVwiLz48L2c+PGcgdHJhbnNmb3JtPVwibWF0cml4KC4wNDU4OSAwIDAgLjA0NTg5IC0uNjY4NzcgLS43MzM3OSlcIiBzdHJva2Utd2lkdGg9XCIyMS43OTFcIj48cG9seWdvbiBwb2ludHM9XCIyNTguMzEgODcuNzUgMjE5LjY0IDg3Ljc1IDIxOS42NCA0OC42NjcgMjU4LjMxIDg2LjM4XCIvPlx0XHQ8cGF0aCBkPVwibTIyNy42NCA2Ny42NDYgMTIuNDEgMTIuMTA0aC0xMi40MXYtMTIuMTA0bS01LjAwMi0yNy4yMjloLTEwLjk5OHY1NS4zMzNoNTQuNjY2di0xMi43NDJ6XCIvPjwvZz48ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjA0NTg5IDAgMCAuMDQ1ODkgLS42Njg3NyAtLjczMzc5KVwiIGZpbGw9XCIjZWQxYzI0XCIgc3Ryb2tlLXdpZHRoPVwiMjEyLjY1XCI+PHBvbHlnb24gcG9pbnRzPVwiMzExLjg5IDI4NC40OSAyMi41NDQgMjg0LjQ5IDIyLjU0NCAxNjcuNjggMzcuMjkxIDE1Mi45NCAzNy4yOTEgMTcxLjQ5IDI5Ny4xNSAxNzEuNDkgMjk3LjE1IDE1Mi45NCAzMTEuODkgMTY3LjY4XCIvPjxwYXRoIGQ9XCJtMzAzLjY1IDE2OC42MyAxLjc0NyAxLjc0N3YxMDcuNjJoLTI3Ni4zNXYtMTA3LjYybDEuNzQ3LTEuNzQ3djkuMzYyaDI3Mi44NXYtOS4zNjJtLTEyLjk5OS0zMS4zODV2MjcuNzQ3aC0yNDYuODZ2LTI3Ljc0N2wtMjcuNzQ3IDI3Ljc0N3YxMjZoMzAyLjM1di0xMjZ6XCIvPjwvZz48cmVjdCB4PVwiMS43MjE5XCIgeT1cIjcuOTU0NFwiIHdpZHRoPVwiMTAuNjg0XCIgaGVpZ2h0PVwiNC4wMzA3XCIgZmlsbD1cIm5vbmVcIi8+PGcgdHJhbnNmb3JtPVwibWF0cml4KC4wNDU4OSAwIDAgLjA0NTg5IDEuNzIxOSAxMS43MzMpXCIgZmlsbD1cIiNmZmZcIiBzdHJva2Utd2lkdGg9XCIyMS43OTFcIiBhcmlhLWxhYmVsPVwiUERGXCI+PHBhdGggZD1cIm05LjIxNiAwdi04My4yaDMwLjQ2NHE2Ljc4NCAwIDEyLjkyOCAxLjQwOCA2LjE0NCAxLjI4IDEwLjc1MiA0LjYwOCA0LjYwOCAzLjIgNy4yOTYgOC41NzYgMi44MTYgNS4yNDggMi44MTYgMTMuMDU2IDAgNy42OC0yLjgxNiAxMy4xODQtMi42ODggNS41MDQtNy4yOTYgOS4wODgtNC42MDggMy40NTYtMTAuNjI0IDUuMjQ4LTYuMDE2IDEuNjY0LTEyLjU0NCAxLjY2NGgtOC45NnYyNi4zNjh6bTIyLjAxNi00My43NzZoNy45MzZxNi41MjggMCA5LjYtMy4wNzIgMy4yLTMuMDcyIDMuMi04LjcwNHQtMy40NTYtNy45MzYtOS44NTYtMi4zMDRoLTcuNDI0elwiLz48cGF0aCBkPVwibTg3LjA0IDB2LTgzLjJoMjQuNTc2cTkuNDcyIDAgMTcuMjggMi4zMDQgNy45MzYgMi4zMDQgMTMuNTY4IDcuMjk2dDguNzA0IDEyLjhxMy4yIDcuODA4IDMuMiAxOC44MTZ0LTMuMDcyIDE4Ljk0NC04LjcwNCAxMy4wNTZxLTUuNTA0IDUuMTItMTMuMTg0IDcuNTUyLTcuNTUyIDIuNDMyLTE2LjUxMiAyLjQzMnptMjIuMDE2LTE3LjY2NGgxLjI4cTQuNDggMCA4LjQ0OC0xLjAyNCAzLjk2OC0xLjE1MiA2Ljc4NC0zLjg0IDIuOTQ0LTIuNjg4IDQuNjA4LTcuNDI0dDEuNjY0LTEyLjAzMi0xLjY2NC0xMS45MDQtNC42MDgtNy4xNjhxLTIuODE2LTIuNTYtNi43ODQtMy40NTYtMy45NjgtMS4wMjQtOC40NDgtMS4wMjRoLTEuMjh6XCIvPjxwYXRoIGQ9XCJtMTY5LjIyIDB2LTgzLjJoNTQuMjcydjE4LjQzMmgtMzIuMjU2djE1Ljg3MmgyNy42NDh2MTguNDMyaC0yNy42NDh2MzAuNDY0elwiLz48L2c+PC9zdmc+JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBob3N0OiB7IGNsYXNzOiAnbWF0LWFwcC1iYWNrZ3JvdW5kJyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcm9rZW5QYWdlIHtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MnLFxyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQml6RG9jQXBwIGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBkaXI6IERpcmVjdGlvbiA9ICdsdHInO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlZnJlc2ggPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9jZnI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbWVzc2FnaW5nOiBIdWJTZXJ2aWNlLFxyXG4gICAgaWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksXHJcbiAgICBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxyXG4gICkge1xyXG4gICAgY29uc3QgZG9jID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXSxcclxuICAgICAgYm9keSA9IGRvYy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdO1xyXG4gICAgZG9jLmxhbmcgPSBfc2Vzc2lvbi5sYW5ndWFnZTtcclxuICAgIGlmIChfc2Vzc2lvbi5pbnZlcnNlKSB7XHJcbiAgICAgIGRvY3VtZW50LmRpciA9IGRvYy5kaXIgPSBib2R5LmRpciA9IHRoaXMuZGlyID0gJ3J0bCc7XHJcbiAgICAgIGVuYWJsZVJ0bCgpO1xyXG4gICAgfVxyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCdleGNlbCcsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChFWENFTF9JQ09OKSk7XHJcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ3dvcmQnLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoV09SRF9JQ09OKSk7XHJcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ3Bvd2VycG9pbnQnLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoUE9XRVJQT0lOVF9JQ09OKSk7XHJcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ3BkZicsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChQREZfSUNPTikpO1xyXG4gICAgdGhpcy5fc2Vzc2lvbi5yZWZyZXNoKCkuc3Vic2NyaWJlKHRoaXMuX2luaXRpYWxpemUuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2luaXRpYWxpemUoKSB7XHJcbiAgICBpZiAoaXNNb2JpbGUoKSkge1xyXG4gICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5fY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEhvbWVNb2JpbGVDb21wb25lbnQpO1xyXG4gICAgICB0aGlzLl92Yy5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuX2Nmci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShIb21lQ29tcG9uZW50KTtcclxuICAgICAgdGhpcy5fdmMuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fcmVmcmVzaC5waXBlKGRlYm91bmNlVGltZShSRVZJU0lUX1RBQl9SRUZSRVNIKSkuXHJcbiAgICAgIHN1YnNjcmliZSgoKSA9PiB0aGlzLl9zZXNzaW9uLnJlZnJlc2goKS5zdWJzY3JpYmUoKSk7XHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgKCkgPT4ge1xyXG4gICAgICBpZiAoIWRvY3VtZW50LmhpZGRlbiAmJiB0aGlzLl9tZXNzYWdpbmcuc3RhdGUgPT09IEh1YkNvbm5lY3Rpb25TdGF0ZS5EaXNjb25uZWN0ZWQgJiYgdGhpcy5fc2Vzc2lvbi5vaylcclxuICAgICAgICB0aGlzLl9yZWZyZXNoLm5leHQoKTtcclxuICAgIH0pO1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ29ubGluZScsICgpID0+IHRoaXMuX3JlZnJlc2gubmV4dCgpKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbWV0YSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ21ldGFbbmFtZT10aGVtZS1jb2xvcl0nKSBhcyBIVE1MTWV0YUVsZW1lbnQ7XHJcbiAgICB0aGlzLl9zZXNzaW9uLnRoZW1lQ2hhbmdlLlxyXG4gICAgICBwaXBlKHN0YXJ0V2l0aCh0aGlzLl9zZXNzaW9uLnRoZW1lKSkuXHJcbiAgICAgIHN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICBpZiAobWV0YSkgbWV0YS5jb250ZW50ID0gdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KCk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QudmFsdWUgPSB0Lm5hbWU7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmIChpc01vYmlsZSgpKVxyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -88,7 +88,7 @@ export class ComposePaneComponent {
88
88
  this.form.save().subscribe();
89
89
  }
90
90
  saved() {
91
- this._pane.refresh();
91
+ this._pane.recycle();
92
92
  }
93
93
  navComments() {
94
94
  this._navigate('comments').then(paneRef => {
@@ -202,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
202
202
  type: HostListener,
203
203
  args: ['document:keydown', ['$event']]
204
204
  }] } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZS5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9jb21wb3NlLnBhbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2NvbXBvc2UucGFuZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYSxTQUFTLEVBQUUsVUFBVSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUszQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUl4RCxPQUFPLEVBQWdCLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVVoRix1REFBdUQ7QUFDdkQsTUFBTSxPQUFPLG9CQUFvQjtJQWEvQixtQkFBbUI7SUFDbkIsWUFDVSxRQUF3QixFQUN4QixRQUF3QixFQUN4QixLQUFvQyxFQUNwQyxPQUFvQixFQUNMLE1BQW9CO1FBSm5DLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQStCO1FBQ3BDLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFQYixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUNuQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVE5QyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDMUQs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Vmlld0NoaWxkLCBFbGVtZW50UmVmLCBPbkluaXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUmVjaXBpZW50TW9kZWwgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSAnLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVSZWYgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgQ29tbWVudHNQYW5lQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tZW50cy9Db21tZW50cy5wYW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvc2VGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpZXdNb2RlIH0gZnJvbSAnLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcsIE9wZW5Qb2xpY3kgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY29tcG9zZS5wYW5lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29tcG9zZS5wYW5lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb21wb3NlLnBhbmUuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ3BhbmUnXHJcbiAgfVxyXG59KVxyXG4vKiogY29tcG9zZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIGVkaXRpbmcgYSBmb3JtICovXHJcbmV4cG9ydCBjbGFzcyBDb21wb3NlUGFuZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKENvbXBvc2VGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBmb3JtOiBDb21wb3NlRm9ybUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdkcm9wYWJsZScsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pIGRyb3BhYmxlRWxlbWVudDogRWxlbWVudFJlZjtcclxuICBtb2RlbDogUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICBuZXdDb21tZW50c0NvdW50OiBudW1iZXI7XHJcbiAgd29ya2luZzogYm9vbGVhbjtcclxuICBkaXJ0eTogYm9vbGVhbjtcclxuICB2YWxpZDogYm9vbGVhbjtcclxuICBtb2RlOiBWaWV3TW9kZTtcclxuICBleHBlbmRhYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IGVuYWJsZUFuYWx5c2lzOiBib29sZWFuO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RyYWdEcm9wID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvKiogY29tcG9zZSBjdG9yICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxDb21wb3NlUGFuZUNvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFBhbmVzUm91dGVyLFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBjb25maWc6IEJpekRvY0NvbmZpZykge1xyXG4gICAgdGhpcy5lbmFibGVBbmFseXNpcyA9IF9zZXNzaW9uLnByb2ZpbGUudmlld3MubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGFuZS5kYXRhQ2hhbmdlLnN1YnNjcmliZShkID0+IHtcclxuICAgICAgaWYgKHRoaXMubW9kZWwgPT0gZC5pdGVtKSByZXR1cm47XHJcbiAgICAgIHRoaXMubW9kZWwgPSBkLml0ZW07XHJcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmluZChmID0+IGYubmFtZSA9PT0gdGhpcy5tb2RlbC5mb3JtSWQpO1xyXG4gICAgICB0aGlzLl9wYW5lLmljb24gPSBmb3JtLmljb247XHJcbiAgICAgIGlmICh0aGlzLm1vZGVsLmRyYWZ0KSB7XHJcbiAgICAgICAgdGhpcy5tb2RlID0gJ2NvbXBvc2UnO1xyXG4gICAgICAgIC8vc2V0VGltZW91dCgoKT0+dGhpcy5fcGFuZS5leHBhbmQoKSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMubW9kZSA9ICdwcmV2aWV3JztcclxuICAgICAgdGhpcy5uZXdDb21tZW50c0NvdW50ID0gdGhpcy5tb2RlbC51bnJlYWRDb21tZW50cztcclxuICAgICAgdGhpcy5fcGFuZS50aXRsZSA9IHRoaXMuX3BhbmUuZ3JvdXAgPSBgIyR7dGhpcy5tb2RlbC5udW1iZXJ9YDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcGFuZS5xdWVyeVBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIGNvbnN0IHsgcGFnZSB9ID0gcDtcclxuICAgICAgaWYgKHBhZ2UgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIC8vICAgY29uc3QgcGFnZW4gPSBwYXJzZUludChwYWdlKTtcclxuICAgICAgICAvLyAgdGhpcy5mb3JtLm5hdmlnYXRlKGlzTmFOKHBhZ2VuKSA/IHBhZ2UgOiBwYWdlbik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWFpbGJveC5jaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIGlmIChlLmlkID09PSB0aGlzLm1vZGVsLmlkICYmICF0aGlzLndvcmtpbmcpIHtcclxuICAgICAgICBpZiAoZS5mb2xkZXJJZCAmJiBlLmZvbGRlcklkICE9PSB0aGlzLm1vZGVsLmZvbGRlcklkKSB0aGlzLl9jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21haWxib3guZGVsZXRlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT5cclxuICAgICAgZSA9PT0gdGhpcy5tb2RlbC5pZCAmJiAhdGhpcy53b3JraW5nICYmXHJcbiAgICAgIHRoaXMuX2Nsb3NlKClcclxuICAgICk7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmRyb3BhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5fZHJhZ0Ryb3Auc3Vic2NyaWJlKG9rID0+IHtcclxuICAgICAgaWYgKG9rKSBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnZHJhZycpO1xyXG4gICAgICBlbHNlIGNvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKCdkcmFnJyk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZXhwZW5kYWJsZSA9ICF0aGlzLl9wYW5lLmV4cGFuZGVkO1xyXG4gICAgdGhpcy5fcGFuZS5leHBhbmRlZGluZy5zdWJzY3JpYmUoZSA9PiB0aGlzLmV4cGVuZGFibGUgPSAhZSk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5fcGFuZS5jbG9zZSgpO1xyXG4gIH1cclxuICBlZGl0KCkge1xyXG4gICAgdGhpcy5tb2RlID0gJ2NvbXBvc2UnO1xyXG4gICAgdGhpcy5leHBlbmRhYmxlICYmIHRoaXMuZXhwYW5kKCk7XHJcbiAgfVxyXG4gIGV4cGFuZCgpIHtcclxuICAgIHRoaXMuX3BhbmUuZXhwYW5kKCk7XHJcbiAgfVxyXG4gIGNoYW5nZSgpIHtcclxuICAgIHRoaXMuX3BhbmUuZm9jdXMoKTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuZm9ybS5zYXZlKCkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIHNhdmVkKCkge1xyXG4gICAgdGhpcy5fcGFuZS5yZWZyZXNoKCk7XHJcbiAgfVxyXG4gIG5hdkNvbW1lbnRzKCkge1xyXG4gICAgdGhpcy5fbmF2aWdhdGUoJ2NvbW1lbnRzJykudGhlbihwYW5lUmVmID0+IHtcclxuICAgICAgKHBhbmVSZWYuaW5zdGFuY2UgYXMgQ29tbWVudHNQYW5lQ29tcG9uZW50KS5jb21tZW50cy5jaGFuZ2UuXHJcbiAgICAgICAgcGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICAgICAgdGhpcy5uZXdDb21tZW50c0NvdW50ID0gKHBhbmVSZWYuaW5zdGFuY2UgYXMgQ29tbWVudHNQYW5lQ29tcG9uZW50KS5cclxuICAgICAgICAgICAgY29tbWVudHMudW5yZWFkQ29tbWVudHMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5hdlRyYWNlKCkge1xyXG4gICAgdGhpcy5fbmF2aWdhdGUoJ3RyYWNlJylcclxuICB9XHJcbiAgcHJpdmF0ZSBfbmF2aWdhdGUoY29tbWFuZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtjb21tYW5kXSwge1xyXG4gICAgICBwYXRoTW9kZTogJ3JlbGF0aXZlJyxcclxuICAgICAgcmVsYXRpdmVUbzogdGhpcy5fcGFuZSxcclxuICAgICAgcG9saWN5OiBPcGVuUG9saWN5LlRvZ2dsZVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmRyb3AnLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZURvY3VtZW50RHJvcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVEcm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLl9kcmFnRHJvcC5uZXh0KGZhbHNlKTtcclxuICAgIGNvbnN0IHsgaXRlbXMgfSA9IGV2ZW50LmRhdGFUcmFuc2ZlcjtcclxuICAgIGNvbnN0IGFycjogRmlsZVtdID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSBpdGVtc1tpXS5nZXRBc0ZpbGUoKTtcclxuICAgICAgYXJyLnB1c2goZmlsZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm0udXBsb2FkKGFycikuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdlbnRlcicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlRW50ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuX2RyYWdEcm9wLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuX2RyYWdEcm9wLm5leHQoZmFsc2UpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlT3ZlcihldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5fZHJhZ0Ryb3AubmV4dCh0cnVlKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ3RybC1zIHNhdmVcclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiAoZXZlbnQud2hpY2ggPT09IDgzIHx8IGV2ZW50LndoaWNoID09PSAxMTUpKSB7XHJcbiAgICAgIGlmICh0aGlzLmRpcnR5ICYmICF0aGlzLndvcmtpbmcpXHJcbiAgICAgICAgdGhpcy5zYXZlKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGRpc2NhcmQoKSB7XHJcbiAgICB0aGlzLmZvcm0uZGlzY2FyZCgpLnN1YnNjcmliZSh0aGlzLl9jbG9zZS5iaW5kKHRoaXMpKVxyXG4gIH1cclxuICBzZW5kKGFjdGlvbjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZvcm0uc2VuZChhY3Rpb24pLnN1YnNjcmliZSh0aGlzLl9jbG9zZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcbiAgc3VibWl0KCkge1xyXG4gICAgdGhpcy5mb3JtLnN1Ym1pdCgpLnN1YnNjcmliZSh0aGlzLl9jbG9zZS5iaW5kKHRoaXMpKVxyXG4gIH1cclxuICBwcml2YXRlIF9jbG9zZSgpIHtcclxuICAgIHRoaXMuZm9ybS5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5fcGFuZS5jbG9zZSgpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2RyYWdEcm9wLmNvbXBsZXRlKCk7XHJcblxyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIHZpZXcoKSB7XHJcbiAgICB0aGlzLl9uYXZpZ2F0ZSgndmlld3MnKVxyXG4gIH1cclxufVxyXG4iLCI8bWF0LXRvb2xiYXIgY2xhc3M9XCJuYXYtdG9vbGJhclwiPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJmb3JtLmJhY2soKVwiIFtiaXpkb2NUb29sdGlwXT1cIidCYWNrJ3x0cmFuc2xhdGVcIiAqbmdJZj1cImZvcm0ucGFnZSAhPT0gdW5kZWZpbmVkXCIgdGFiaW5kZXg9XCIxXCI+XHJcbiAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+YXJyb3dfYmFjazwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKm5nSWY9XCJtb2RlbC5kcmFmdFwiIGRhdGEtaGVscD1cInN1Ym1pdFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic3VibWl0KClcIiBbZGlzYWJsZWRdPVwiIXZhbGlkfHx3b3JraW5nXCI+XHJcbiAgICA8c3Bhbj57eydTdWJtaXQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKm5nSWY9XCJmb3JtLmFjdGlvbnMubGVuZ3RoID09PSAxXCIgW2F0dHIuZGF0YS1oZWxwXT1cIidhY3Rpb24tJytmb3JtLmFjdGlvbnNbMF0ubmFtZVwiIChjbGljayk9XCJzZW5kKG1vZGVsLmFjdGlvbnNbMF0pXCIgW2Rpc2FibGVkXT1cIiF2YWxpZHx8d29ya2luZ1wiPlxyXG4gICAgPHNwYW4+e3tmb3JtLmFjdGlvbnNbMF0udGl0bGV9fTwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBkYXRhLWhlbHA9XCJzZW5kXCIgY29sb3I9XCJwcmltYXJ5XCIgKm5nSWY9XCJmb3JtLmFjdGlvbnMubGVuZ3RoID4gMVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJhY3Rpb25NZW51XCIgW2Rpc2FibGVkXT1cIiF2YWxpZHx8d29ya2luZ1wiPlxyXG4gICAgPHNwYW4+e3snU2VuZCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuICA8IS0tIGFjdGlvbiAtLT5cclxuICA8bWF0LW1lbnUgI2FjdGlvbk1lbnU+XHJcbiAgICA8bmctdGVtcGxhdGUgbWF0TWVudUNvbnRlbnQ+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGEgb2YgZm9ybS5hY3Rpb25zOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiaSA+IDAgJiYgZm9ybS5hY3Rpb25zW2kgLSAxXS5ncm91cCAhPT0gYS5ncm91cFwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZW5kKGEubmFtZSlcIj57e2EudGl0bGV9fTwvYnV0dG9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9tYXQtbWVudT5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic2F2ZSgpXCIgZGF0YS1oZWxwPVwic2F2ZVwiIFtkaXNhYmxlZF09XCIhZGlydHl8fHdvcmtpbmdcIiBbYml6ZG9jVG9vbHRpcF09XCInU2F2ZSd8dHJhbnNsYXRlXCIgKm5nSWY9XCJtb2RlID09PSAnY29tcG9zZSdcIj5cclxuICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkYXRhLWhlbHA9XCJ0YWdcIiAoY2xpY2spPVwiZm9ybS50YWcoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidUYWdzJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCI+PG1hdC1pY29uIGNsYXNzPVwiZmlsbGVkXCI+e3ttb2RlbC50YWdzICYmIG1vZGVsLnRhZ3MubGVuZ3RoID8nYm9va21hcmsnOidib29rbWFya19ib3JkZXInfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRhdGEtaGVscD1cImZsYWdcIiBbYml6ZG9jVG9vbHRpcF09XCInRmxhZ2dlZCd8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCIgKGNsaWNrKT1cImZvcm0uZmxhZygpXCI+PG1hdC1pY29uIFtjbGFzcy5kb2N1bWVudC1mbGFnXT1cIm1vZGVsLmZsYWdcIj57e21vZGVsLmZsYWcgPyAnc3RhcicgOiAnc3Rhcl9ib3JkZXInfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJmb3JtLmF0dGFjaCgpXCIgZGF0YS1oZWxwPVwiYXR0YWNoXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0F0dGFjaEZpbGUnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIndvcmtpbmdcIj48bWF0LWljb24+YXR0YWNoX2ZpbGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFtkaXNhYmxlZF09XCJ3b3JraW5nXCIgZGF0YS1oZWxwPVwiZWRpdFwiIChjbGljayk9XCJlZGl0KClcIiBbYml6ZG9jVG9vbHRpcF09XCInRWRpdCcgfCB0cmFuc2xhdGVcIiAqbmdJZj1cIm1vZGUgIT09ICdjb21wb3NlJyAmJiBtb2RlbC5wZW5kaW5nICYmICFtb2RlbC5jb21wbGV0ZWRcIj48bWF0LWljb24+Y3JlYXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5hdlRyYWNlKClcIiBbYml6ZG9jVG9vbHRpcF09XCInVHJhY2UnIHwgdHJhbnNsYXRlXCIgdGFiaW5kZXg9XCIxXCI+PG1hdC1pY29uPnRpbWVsaW5lPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibmF2Q29tbWVudHMoKVwiIGRhdGEtaGVscD1cImNvbW1lbnRzXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NvbW1lbnRzJyB8IHRyYW5zbGF0ZVwiIFttYXRCYWRnZV09XCJuZXdDb21tZW50c0NvdW50XCIgW21hdEJhZGdlSGlkZGVuXT1cIiFuZXdDb21tZW50c0NvdW50XCIgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiPlxyXG4gICAgPG1hdC1pY29uIFtjbGFzcy5maWxsZWRdPVwibW9kZWwuY29tbWVudHMubGVuZ3RoID4gMFwiPmZvcm1hdF9xdW90ZTwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInZpZXcoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidWaWV3JyB8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1ZpZXcnIHwgdHJhbnNsYXRlXCIgKm5nSWY9XCJlbmFibGVBbmFseXNpc1wiIGNsYXNzPVwidG9vbFwiPjxtYXQtaWNvbj5kYXRhX3VzYWdlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZXhwYW5kKClcIiBbYml6ZG9jVG9vbHRpcF09XCInRXhwYW5kJyB8IHRyYW5zbGF0ZVwiICpuZ0lmPVwiZXhwZW5kYWJsZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0V4cGFuZCcgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+b3Blbl9pbl9uZXc8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJvcHRpb25zTWVudVwiIFtiaXpkb2NUb29sdGlwXT1cIidPcHRpb25zJyB8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09wdGlvbnMnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNvcHRpb25zTWVudT1cIm1hdE1lbnVcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudD5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJmb3JtLmNvcHkoKVwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCI+XHJcbiAgICAgICAgPCEtLTxtYXQtaWNvbj5jb250ZW50X2NvcHk8L21hdC1pY29uPi0tPlxyXG4gICAgICAgIDxzcGFuPnt7J0NvcHknIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRpc2NhcmQoKVwiICpuZ0lmPVwibW9kZWwuZHJhZnQgJiYgIW1vZGVsLmlzc3VlZFwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCI+XHJcbiAgICAgICAgPCEtLTxtYXQtaWNvbj5kZWxldGVfb3V0bGluZWQ8L21hdC1pY29uPi0tPlxyXG4gICAgICAgIDxzcGFuPnt7J0Rpc2NhcmQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybS5oZWxwXCI+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJmb3JtLmd1aWRlKGZvcm0uaGVscClcIj5cclxuICAgICAgICAgIDwhLS08bWF0LWljb24+aGVscF9vdXRsaW5lPC9tYXQtaWNvbj4tLT5cclxuICAgICAgICAgIDxzcGFuPnt7J0hlbHAnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJjbG9zZSgpXCI+PCEtLTxtYXQtaWNvbj48L21hdC1pY29uPi0tPjxzcGFuPnt7J0Nsb3NlJ3wgdHJhbnNsYXRlfX08L3NwYW4+PC9idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjxkaXYgY2xhc3M9XCJmaWxlLWRyb3BhYmxlXCIgI2Ryb3BhYmxlPlxyXG4gIDxiaXpkb2MtZm9ybSBbbW9kZWxdPW1vZGVsICNmb3JtXHJcbiAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2UoKVwiXHJcbiAgICAgICAgICAgICAgIChzYXZlZCk9XCJzYXZlZCgpXCJcclxuICAgICAgICAgICAgICAgKHZhbGlkQ2hhbmdlKT1cInZhbGlkPSRldmVudFwiXHJcbiAgICAgICAgICAgICAgICh3b3JraW5nQ2hhbmdlKT1cIndvcmtpbmc9JGV2ZW50XCJcclxuICAgICAgICAgICAgICAgKGRpcnR5Q2hhbmdlKT1cImRpcnR5PSRldmVudFwiIFttb2RlXT1cIm1vZGVcIj48L2JpemRvYy1mb3JtPlxyXG48L2Rpdj5cclxuIl19
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZS5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9jb21wb3NlLnBhbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL2NvbXBvc2UucGFuZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYSxTQUFTLEVBQUUsVUFBVSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUszQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUl4RCxPQUFPLEVBQWdCLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVVoRix1REFBdUQ7QUFDdkQsTUFBTSxPQUFPLG9CQUFvQjtJQWEvQixtQkFBbUI7SUFDbkIsWUFDVSxRQUF3QixFQUN4QixRQUF3QixFQUN4QixLQUFvQyxFQUNwQyxPQUFvQixFQUNMLE1BQW9CO1FBSm5DLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQStCO1FBQ3BDLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFQYixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUNuQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVE5QyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJO2dCQUFFLE9BQU87WUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM1QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO2dCQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztnQkFDdEIsc0NBQXNDO2FBQ3ZDOztnQkFFQyxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztZQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFDbEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQ3RCLGtDQUFrQztnQkFDbEMsb0RBQW9EO2FBQ3JEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqRSxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUMzQyxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7b0JBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3JFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNqRSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUNwQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQ2QsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzVCLElBQUksRUFBRTtnQkFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7Z0JBQ25DLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsTUFBTTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUNELE1BQU07UUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN2QyxPQUFPLENBQUMsUUFBa0MsQ0FBQyxRQUFRLENBQUMsTUFBTTtnQkFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQzVDLElBQUksQ0FBQyxnQkFBZ0IsR0FBSSxPQUFPLENBQUMsUUFBa0M7Z0JBQ2pFLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN6QixDQUFDO0lBQ08sU0FBUyxDQUFDLE9BQWU7UUFDL0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RDLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSztZQUN0QixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07U0FDMUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQW9CO1FBQ3JDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFnQjtRQUN6QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDckMsTUFBTSxHQUFHLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hCO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFnQjtRQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFnQjtRQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFnQjtRQUN6QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNEOzs7T0FHRztJQUVILGFBQWEsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2hFLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2dCQUM3QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUNELElBQUksQ0FBQyxNQUFjO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0lBQ08sTUFBTTtRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3pCLENBQUM7O2lIQXBLVSxvQkFBb0IsZ0lBbUJyQixhQUFhO3FHQW5CWixvQkFBb0Isc1hBQ3BCLG9CQUFvQix1SUFDYyxVQUFVLDJDQ3hCekQsNDRKQW9FQTsyRkQ5Q2Esb0JBQW9CO2tCQVRoQyxTQUFTOytCQUNFLHFCQUFxQixRQUd6Qjt3QkFDSixLQUFLLEVBQUUsTUFBTTtxQkFDZDs7MEJBc0JFLE1BQU07MkJBQUMsYUFBYTs0Q0FsQjRCLElBQUk7c0JBQXRELFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNVLGVBQWU7c0JBQXpFLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQWtHekQsa0JBQWtCO3NCQURqQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNekMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFhaEMsV0FBVztzQkFEVixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNckMsV0FBVztzQkFEVixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNckMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVcEMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBPbkluaXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUmVjaXBpZW50TW9kZWwgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSAnLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVSZWYgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgQ29tbWVudHNQYW5lQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tZW50cy9Db21tZW50cy5wYW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvc2VGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpZXdNb2RlIH0gZnJvbSAnLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcsIE9wZW5Qb2xpY3kgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY29tcG9zZS5wYW5lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29tcG9zZS5wYW5lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb21wb3NlLnBhbmUuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ3BhbmUnXHJcbiAgfVxyXG59KVxyXG4vKiogY29tcG9zZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIGVkaXRpbmcgYSBmb3JtICovXHJcbmV4cG9ydCBjbGFzcyBDb21wb3NlUGFuZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKENvbXBvc2VGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBmb3JtOiBDb21wb3NlRm9ybUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdkcm9wYWJsZScsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pIGRyb3BhYmxlRWxlbWVudDogRWxlbWVudFJlZjtcclxuICBtb2RlbDogUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICBuZXdDb21tZW50c0NvdW50OiBudW1iZXI7XHJcbiAgd29ya2luZzogYm9vbGVhbjtcclxuICBkaXJ0eTogYm9vbGVhbjtcclxuICB2YWxpZDogYm9vbGVhbjtcclxuICBtb2RlOiBWaWV3TW9kZTtcclxuICBleHBlbmRhYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IGVuYWJsZUFuYWx5c2lzOiBib29sZWFuO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RyYWdEcm9wID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvKiogY29tcG9zZSBjdG9yICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxDb21wb3NlUGFuZUNvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFBhbmVzUm91dGVyLFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBjb25maWc6IEJpekRvY0NvbmZpZykge1xyXG4gICAgdGhpcy5lbmFibGVBbmFseXNpcyA9IF9zZXNzaW9uLnByb2ZpbGUudmlld3MubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGFuZS5kYXRhQ2hhbmdlLnN1YnNjcmliZShkID0+IHtcclxuICAgICAgaWYgKHRoaXMubW9kZWwgPT0gZC5pdGVtKSByZXR1cm47XHJcbiAgICAgIHRoaXMubW9kZWwgPSBkLml0ZW07XHJcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmluZChmID0+IGYubmFtZSA9PT0gdGhpcy5tb2RlbC5mb3JtSWQpO1xyXG4gICAgICB0aGlzLl9wYW5lLmljb24gPSBmb3JtLmljb247XHJcbiAgICAgIGlmICh0aGlzLm1vZGVsLmRyYWZ0KSB7XHJcbiAgICAgICAgdGhpcy5tb2RlID0gJ2NvbXBvc2UnO1xyXG4gICAgICAgIC8vc2V0VGltZW91dCgoKT0+dGhpcy5fcGFuZS5leHBhbmQoKSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMubW9kZSA9ICdwcmV2aWV3JztcclxuICAgICAgdGhpcy5uZXdDb21tZW50c0NvdW50ID0gdGhpcy5tb2RlbC51bnJlYWRDb21tZW50cztcclxuICAgICAgdGhpcy5fcGFuZS50aXRsZSA9IHRoaXMuX3BhbmUuZ3JvdXAgPSBgIyR7dGhpcy5tb2RlbC5udW1iZXJ9YDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcGFuZS5xdWVyeVBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIGNvbnN0IHsgcGFnZSB9ID0gcDtcclxuICAgICAgaWYgKHBhZ2UgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIC8vICAgY29uc3QgcGFnZW4gPSBwYXJzZUludChwYWdlKTtcclxuICAgICAgICAvLyAgdGhpcy5mb3JtLm5hdmlnYXRlKGlzTmFOKHBhZ2VuKSA/IHBhZ2UgOiBwYWdlbik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWFpbGJveC5jaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIGlmIChlLmlkID09PSB0aGlzLm1vZGVsLmlkICYmICF0aGlzLndvcmtpbmcpIHtcclxuICAgICAgICBpZiAoZS5mb2xkZXJJZCAmJiBlLmZvbGRlcklkICE9PSB0aGlzLm1vZGVsLmZvbGRlcklkKSB0aGlzLl9jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21haWxib3guZGVsZXRlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT5cclxuICAgICAgZSA9PT0gdGhpcy5tb2RlbC5pZCAmJiAhdGhpcy53b3JraW5nICYmXHJcbiAgICAgIHRoaXMuX2Nsb3NlKClcclxuICAgICk7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmRyb3BhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5fZHJhZ0Ryb3Auc3Vic2NyaWJlKG9rID0+IHtcclxuICAgICAgaWYgKG9rKSBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnZHJhZycpO1xyXG4gICAgICBlbHNlIGNvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKCdkcmFnJyk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZXhwZW5kYWJsZSA9ICF0aGlzLl9wYW5lLmV4cGFuZGVkO1xyXG4gICAgdGhpcy5fcGFuZS5leHBhbmRlZGluZy5zdWJzY3JpYmUoZSA9PiB0aGlzLmV4cGVuZGFibGUgPSAhZSk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5fcGFuZS5jbG9zZSgpO1xyXG4gIH1cclxuICBlZGl0KCkge1xyXG4gICAgdGhpcy5tb2RlID0gJ2NvbXBvc2UnO1xyXG4gICAgdGhpcy5leHBlbmRhYmxlICYmIHRoaXMuZXhwYW5kKCk7XHJcbiAgfVxyXG4gIGV4cGFuZCgpIHtcclxuICAgIHRoaXMuX3BhbmUuZXhwYW5kKCk7XHJcbiAgfVxyXG4gIGNoYW5nZSgpIHtcclxuICAgIHRoaXMuX3BhbmUuZm9jdXMoKTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuZm9ybS5zYXZlKCkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIHNhdmVkKCkge1xyXG4gICAgdGhpcy5fcGFuZS5yZWN5Y2xlKCk7XHJcbiAgfVxyXG4gIG5hdkNvbW1lbnRzKCkge1xyXG4gICAgdGhpcy5fbmF2aWdhdGUoJ2NvbW1lbnRzJykudGhlbihwYW5lUmVmID0+IHtcclxuICAgICAgKHBhbmVSZWYuaW5zdGFuY2UgYXMgQ29tbWVudHNQYW5lQ29tcG9uZW50KS5jb21tZW50cy5jaGFuZ2UuXHJcbiAgICAgICAgcGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICAgICAgdGhpcy5uZXdDb21tZW50c0NvdW50ID0gKHBhbmVSZWYuaW5zdGFuY2UgYXMgQ29tbWVudHNQYW5lQ29tcG9uZW50KS5cclxuICAgICAgICAgICAgY29tbWVudHMudW5yZWFkQ29tbWVudHMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5hdlRyYWNlKCkge1xyXG4gICAgdGhpcy5fbmF2aWdhdGUoJ3RyYWNlJylcclxuICB9XHJcbiAgcHJpdmF0ZSBfbmF2aWdhdGUoY29tbWFuZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtjb21tYW5kXSwge1xyXG4gICAgICBwYXRoTW9kZTogJ3JlbGF0aXZlJyxcclxuICAgICAgcmVsYXRpdmVUbzogdGhpcy5fcGFuZSxcclxuICAgICAgcG9saWN5OiBPcGVuUG9saWN5LlRvZ2dsZVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmRyb3AnLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZURvY3VtZW50RHJvcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVEcm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLl9kcmFnRHJvcC5uZXh0KGZhbHNlKTtcclxuICAgIGNvbnN0IHsgaXRlbXMgfSA9IGV2ZW50LmRhdGFUcmFuc2ZlcjtcclxuICAgIGNvbnN0IGFycjogRmlsZVtdID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSBpdGVtc1tpXS5nZXRBc0ZpbGUoKTtcclxuICAgICAgYXJyLnB1c2goZmlsZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm0udXBsb2FkKGFycikuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdlbnRlcicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlRW50ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuX2RyYWdEcm9wLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuX2RyYWdEcm9wLm5leHQoZmFsc2UpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlT3ZlcihldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5fZHJhZ0Ryb3AubmV4dCh0cnVlKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ3RybC1zIHNhdmVcclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiAoZXZlbnQud2hpY2ggPT09IDgzIHx8IGV2ZW50LndoaWNoID09PSAxMTUpKSB7XHJcbiAgICAgIGlmICh0aGlzLmRpcnR5ICYmICF0aGlzLndvcmtpbmcpXHJcbiAgICAgICAgdGhpcy5zYXZlKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGRpc2NhcmQoKSB7XHJcbiAgICB0aGlzLmZvcm0uZGlzY2FyZCgpLnN1YnNjcmliZSh0aGlzLl9jbG9zZS5iaW5kKHRoaXMpKVxyXG4gIH1cclxuICBzZW5kKGFjdGlvbjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZvcm0uc2VuZChhY3Rpb24pLnN1YnNjcmliZSh0aGlzLl9jbG9zZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcbiAgc3VibWl0KCkge1xyXG4gICAgdGhpcy5mb3JtLnN1Ym1pdCgpLnN1YnNjcmliZSh0aGlzLl9jbG9zZS5iaW5kKHRoaXMpKVxyXG4gIH1cclxuICBwcml2YXRlIF9jbG9zZSgpIHtcclxuICAgIHRoaXMuZm9ybS5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5fcGFuZS5jbG9zZSgpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2RyYWdEcm9wLmNvbXBsZXRlKCk7XHJcblxyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIHZpZXcoKSB7XHJcbiAgICB0aGlzLl9uYXZpZ2F0ZSgndmlld3MnKVxyXG4gIH1cclxufVxyXG4iLCI8bWF0LXRvb2xiYXIgY2xhc3M9XCJuYXYtdG9vbGJhclwiPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJmb3JtLmJhY2soKVwiIFtiaXpkb2NUb29sdGlwXT1cIidCYWNrJ3x0cmFuc2xhdGVcIiAqbmdJZj1cImZvcm0ucGFnZSAhPT0gdW5kZWZpbmVkXCIgdGFiaW5kZXg9XCIxXCI+XHJcbiAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+YXJyb3dfYmFjazwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKm5nSWY9XCJtb2RlbC5kcmFmdFwiIGRhdGEtaGVscD1cInN1Ym1pdFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic3VibWl0KClcIiBbZGlzYWJsZWRdPVwiIXZhbGlkfHx3b3JraW5nXCI+XHJcbiAgICA8c3Bhbj57eydTdWJtaXQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKm5nSWY9XCJmb3JtLmFjdGlvbnMubGVuZ3RoID09PSAxXCIgW2F0dHIuZGF0YS1oZWxwXT1cIidhY3Rpb24tJytmb3JtLmFjdGlvbnNbMF0ubmFtZVwiIChjbGljayk9XCJzZW5kKG1vZGVsLmFjdGlvbnNbMF0pXCIgW2Rpc2FibGVkXT1cIiF2YWxpZHx8d29ya2luZ1wiPlxyXG4gICAgPHNwYW4+e3tmb3JtLmFjdGlvbnNbMF0udGl0bGV9fTwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBkYXRhLWhlbHA9XCJzZW5kXCIgY29sb3I9XCJwcmltYXJ5XCIgKm5nSWY9XCJmb3JtLmFjdGlvbnMubGVuZ3RoID4gMVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJhY3Rpb25NZW51XCIgW2Rpc2FibGVkXT1cIiF2YWxpZHx8d29ya2luZ1wiPlxyXG4gICAgPHNwYW4+e3snU2VuZCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuICA8IS0tIGFjdGlvbiAtLT5cclxuICA8bWF0LW1lbnUgI2FjdGlvbk1lbnU+XHJcbiAgICA8bmctdGVtcGxhdGUgbWF0TWVudUNvbnRlbnQ+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGEgb2YgZm9ybS5hY3Rpb25zOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiaSA+IDAgJiYgZm9ybS5hY3Rpb25zW2kgLSAxXS5ncm91cCAhPT0gYS5ncm91cFwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZW5kKGEubmFtZSlcIj57e2EudGl0bGV9fTwvYnV0dG9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9tYXQtbWVudT5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic2F2ZSgpXCIgZGF0YS1oZWxwPVwic2F2ZVwiIFtkaXNhYmxlZF09XCIhZGlydHl8fHdvcmtpbmdcIiBbYml6ZG9jVG9vbHRpcF09XCInU2F2ZSd8dHJhbnNsYXRlXCIgKm5nSWY9XCJtb2RlID09PSAnY29tcG9zZSdcIj5cclxuICAgIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkYXRhLWhlbHA9XCJ0YWdcIiAoY2xpY2spPVwiZm9ybS50YWcoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidUYWdzJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCI+PG1hdC1pY29uIGNsYXNzPVwiZmlsbGVkXCI+e3ttb2RlbC50YWdzICYmIG1vZGVsLnRhZ3MubGVuZ3RoID8nYm9va21hcmsnOidib29rbWFya19ib3JkZXInfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRhdGEtaGVscD1cImZsYWdcIiBbYml6ZG9jVG9vbHRpcF09XCInRmxhZ2dlZCd8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCIgKGNsaWNrKT1cImZvcm0uZmxhZygpXCI+PG1hdC1pY29uIFtjbGFzcy5kb2N1bWVudC1mbGFnXT1cIm1vZGVsLmZsYWdcIj57e21vZGVsLmZsYWcgPyAnc3RhcicgOiAnc3Rhcl9ib3JkZXInfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJmb3JtLmF0dGFjaCgpXCIgZGF0YS1oZWxwPVwiYXR0YWNoXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0F0dGFjaEZpbGUnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIndvcmtpbmdcIj48bWF0LWljb24+YXR0YWNoX2ZpbGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFtkaXNhYmxlZF09XCJ3b3JraW5nXCIgZGF0YS1oZWxwPVwiZWRpdFwiIChjbGljayk9XCJlZGl0KClcIiBbYml6ZG9jVG9vbHRpcF09XCInRWRpdCcgfCB0cmFuc2xhdGVcIiAqbmdJZj1cIm1vZGUgIT09ICdjb21wb3NlJyAmJiBtb2RlbC5wZW5kaW5nICYmICFtb2RlbC5jb21wbGV0ZWRcIj48bWF0LWljb24+Y3JlYXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5hdlRyYWNlKClcIiBbYml6ZG9jVG9vbHRpcF09XCInVHJhY2UnIHwgdHJhbnNsYXRlXCIgdGFiaW5kZXg9XCIxXCI+PG1hdC1pY29uPnRpbWVsaW5lPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibmF2Q29tbWVudHMoKVwiIGRhdGEtaGVscD1cImNvbW1lbnRzXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NvbW1lbnRzJyB8IHRyYW5zbGF0ZVwiIFttYXRCYWRnZV09XCJuZXdDb21tZW50c0NvdW50XCIgW21hdEJhZGdlSGlkZGVuXT1cIiFuZXdDb21tZW50c0NvdW50XCIgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiPlxyXG4gICAgPG1hdC1pY29uIFtjbGFzcy5maWxsZWRdPVwibW9kZWwuY29tbWVudHMubGVuZ3RoID4gMFwiPmZvcm1hdF9xdW90ZTwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInZpZXcoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidWaWV3JyB8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1ZpZXcnIHwgdHJhbnNsYXRlXCIgKm5nSWY9XCJlbmFibGVBbmFseXNpc1wiIGNsYXNzPVwidG9vbFwiPjxtYXQtaWNvbj5kYXRhX3VzYWdlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZXhwYW5kKClcIiBbYml6ZG9jVG9vbHRpcF09XCInRXhwYW5kJyB8IHRyYW5zbGF0ZVwiICpuZ0lmPVwiZXhwZW5kYWJsZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0V4cGFuZCcgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+b3Blbl9pbl9uZXc8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJvcHRpb25zTWVudVwiIFtiaXpkb2NUb29sdGlwXT1cIidPcHRpb25zJyB8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09wdGlvbnMnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNvcHRpb25zTWVudT1cIm1hdE1lbnVcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudD5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJmb3JtLmNvcHkoKVwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCI+XHJcbiAgICAgICAgPCEtLTxtYXQtaWNvbj5jb250ZW50X2NvcHk8L21hdC1pY29uPi0tPlxyXG4gICAgICAgIDxzcGFuPnt7J0NvcHknIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRpc2NhcmQoKVwiICpuZ0lmPVwibW9kZWwuZHJhZnQgJiYgIW1vZGVsLmlzc3VlZFwiIFtkaXNhYmxlZF09XCJ3b3JraW5nXCI+XHJcbiAgICAgICAgPCEtLTxtYXQtaWNvbj5kZWxldGVfb3V0bGluZWQ8L21hdC1pY29uPi0tPlxyXG4gICAgICAgIDxzcGFuPnt7J0Rpc2NhcmQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybS5oZWxwXCI+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJmb3JtLmd1aWRlKGZvcm0uaGVscClcIj5cclxuICAgICAgICAgIDwhLS08bWF0LWljb24+aGVscF9vdXRsaW5lPC9tYXQtaWNvbj4tLT5cclxuICAgICAgICAgIDxzcGFuPnt7J0hlbHAnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJjbG9zZSgpXCI+PCEtLTxtYXQtaWNvbj48L21hdC1pY29uPi0tPjxzcGFuPnt7J0Nsb3NlJ3wgdHJhbnNsYXRlfX08L3NwYW4+PC9idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjxkaXYgY2xhc3M9XCJmaWxlLWRyb3BhYmxlXCIgI2Ryb3BhYmxlPlxyXG4gIDxiaXpkb2MtZm9ybSBbbW9kZWxdPW1vZGVsICNmb3JtXHJcbiAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2UoKVwiXHJcbiAgICAgICAgICAgICAgIChzYXZlZCk9XCJzYXZlZCgpXCJcclxuICAgICAgICAgICAgICAgKHZhbGlkQ2hhbmdlKT1cInZhbGlkPSRldmVudFwiXHJcbiAgICAgICAgICAgICAgICh3b3JraW5nQ2hhbmdlKT1cIndvcmtpbmc9JGV2ZW50XCJcclxuICAgICAgICAgICAgICAgKGRpcnR5Q2hhbmdlKT1cImRpcnR5PSRldmVudFwiIFttb2RlXT1cIm1vZGVcIj48L2JpemRvYy1mb3JtPlxyXG48L2Rpdj5cclxuIl19
@@ -7,11 +7,11 @@ export var OpenPolicy;
7
7
  OpenPolicy[OpenPolicy["Defer"] = 4] = "Defer";
8
8
  OpenPolicy[OpenPolicy["Pinnable"] = 8] = "Pinnable";
9
9
  OpenPolicy[OpenPolicy["Stretch"] = 16] = "Stretch";
10
- OpenPolicy[OpenPolicy["Tab"] = 32] = "Tab";
11
- OpenPolicy[OpenPolicy["Dialog"] = 96] = "Dialog";
12
- OpenPolicy[OpenPolicy["Expandable"] = 128] = "Expandable";
13
- OpenPolicy[OpenPolicy["Toggle"] = 256] = "Toggle";
10
+ OpenPolicy[OpenPolicy["Expandable"] = 32] = "Expandable";
11
+ OpenPolicy[OpenPolicy["Toggle"] = 64] = "Toggle";
12
+ OpenPolicy[OpenPolicy["Tab"] = 128] = "Tab";
13
+ OpenPolicy[OpenPolicy["Dialog"] = 384] = "Dialog";
14
14
  OpenPolicy[OpenPolicy["Dismissable"] = 512] = "Dismissable";
15
15
  })(OpenPolicy || (OpenPolicy = {}));
16
16
  export const DEFAULT_POLICY = OpenPolicy.Pane;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFJckQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFlLFFBQVEsQ0FBQyxDQUFDO0FBdUJ4RSxNQUFNLENBQU4sSUFBWSxVQVdYO0FBWEQsV0FBWSxVQUFVO0lBQ3BCLDJDQUFhLENBQUE7SUFDYiw2Q0FBYyxDQUFBO0lBQ2QsNkNBQWMsQ0FBQTtJQUNkLG1EQUFpQixDQUFBO0lBQ2pCLGtEQUFnQixDQUFBO0lBQ2hCLDBDQUFZLENBQUE7SUFDWixnREFBZ0MsQ0FBQTtJQUNoQyx5REFBbUIsQ0FBQTtJQUNuQixpREFBZSxDQUFBO0lBQ2YsMkRBQW9CLENBQUE7QUFDdEIsQ0FBQyxFQVhXLFVBQVUsS0FBVixVQUFVLFFBV3JCO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZvbGRlckNvbHVtbiB9IGZyb20gJy4vbW9kZWxzJztcclxuXHJcbmV4cG9ydCBjb25zdCBCSVpET0NfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEJpekRvY0NvbmZpZz4oJ2JpemRvYycpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYW5lUm91dGUge1xyXG4gIHBhdGg6IHN0cmluZztcclxuICBndWlkZT86IHN0cmluZztcclxuICBjb21wb25lbnQ/OiBUeXBlPGFueT47XHJcbiAgcmVzb2x2ZT86IHsgW2tleTogc3RyaW5nXTogVHlwZTxQYW5lUmVzb2x2ZTxhbnk+PiB9O1xyXG4gIGNhbkRpc21pc3M/OiBUeXBlPENhbkRpc21pc3M8YW55Pj47XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBoZWxwPzogc3RyaW5nO1xyXG4gIGNoaWxkcmVuPzogUGFuZVJvdXRlW107XHJcbiAgcG9saWN5PzogT3BlblBvbGljeTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUGFyYW1NYXAgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYW5lUmVzb2x2ZTxUPiB7XHJcbiAgb25SZXNvbHZlKHBhcmFtczogUGFyYW1NYXAsIHF1ZXJ5UGFyYW1zPzogUGFyYW1NYXApOiBPYnNlcnZhYmxlPFQ+IHwgUHJvbWlzZTxUPiB8IFQ7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDYW5EaXNtaXNzPFQ+IHtcclxuICBvbkRpc21pc3MoY29tcG9uZW50OiBUKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBPcGVuUG9saWN5IHtcclxuICBQYW5lID0gMSA8PCAwLFxyXG4gIENsZWFyID0gMSA8PCAxLFxyXG4gIERlZmVyID0gMSA8PCAyLFxyXG4gIFBpbm5hYmxlID0gMSA8PCAzLFxyXG4gIFN0cmV0Y2ggPSAxIDw8IDQsXHJcbiAgVGFiID0gMSA8PCA1LFxyXG4gIERpYWxvZyA9IDEgPDwgNiB8IE9wZW5Qb2xpY3kuVGFiLFxyXG4gIEV4cGFuZGFibGUgPSAxIDw8IDcsXHJcbiAgVG9nZ2xlID0gMSA8PCA4LFxyXG4gIERpc21pc3NhYmxlID0gMSA8PCA5LFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgREVGQVVMVF9QT0xJQ1kgPSBPcGVuUG9saWN5LlBhbmU7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJpekRvY0NoaWxkQ29uZmlnIHtcclxuICBjb21wb25lbnRzOiBUeXBlPGFueT5bXTtcclxuICByb3V0ZXM/OiBQYW5lUm91dGVbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRoZW1lIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcHJpbWFyeTogc3RyaW5nO1xyXG4gIGFjY2VudDogc3RyaW5nO1xyXG4gIGNvbG9yOiBzdHJpbmc7XHJcbiAgZGFyaz86IGJvb2xlYW5cclxufVxyXG5cclxuLyoqIEJpekRvYyBhcHAgb3B0aW9ucyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEJpekRvY0NvbmZpZyB7XHJcbiAgY3VycmVuY3lDb2RlPzogc3RyaW5nO1xyXG4gIC8qKiBhdmFpbGFibGUgdXNlciBpbnRlcmZhY2UgbGFuZ3VhZ2VzICovXHJcbiAgdGhlbWVzPzogVGhlbWVbXTtcclxuICBsYW5ndWFnZXM/OiBzdHJpbmdbXTtcclxuICBhcHBUaXRsZT86IHN0cmluZztcclxuICBmaXJlYmFzZT86IEZpcmViYXNlU2V0dGluZ3M7XHJcbiAgY2hhdGluZz86IENoYXRTZXR0aW5ncyB8IGJvb2xlYW47XHJcbiAgY29tbWVudHM/OiBDb21tZW50c1NldHRpbmdzO1xyXG4gIG1hcHM/OiBHb29nbGVNYXBzU2V0dGluZ3MgfCBib29sZWFuO1xyXG4gIGZvcm1hdHM/OiBGb3JtYXRzU2V0dGluZ3M7XHJcbiAgcm91dGVzPzogUGFuZVJvdXRlW107XHJcbiAgY29tcG9uZW50czogVHlwZTxhbnk+W107XHJcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyU2V0dGluZ3MgfCBib29sZWFuO1xyXG4gIGZvbGRlcnM/OiBGb2xkZXJzU2V0dGluZ3M7XHJcbiAgYW5hbHlzaXM/OiBBbmFseXNpc1NldHRpbmdzIHwgYm9vbGVhbjtcclxufVxyXG5leHBvcnQgdHlwZSBTY29wZVR5cGUgPSAncGF0dGVybnMnIHwgJ3Bvc2l0aW9ucyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFuYWx5c2lzU2V0dGluZ3Mge1xyXG59XHJcbmV4cG9ydFxyXG4gIGludGVyZmFjZSBTY2hlZHVsZXJTZXR0aW5ncyB7XHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZvbGRlcnNTZXR0aW5ncyB7XHJcbiAgY3ViZT86IHN0cmluZztcclxuICBheGVzPzogc3RyaW5nW107XHJcbiAgY29sdW1ucz86IEZvbGRlckNvbHVtbltdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0c1NldHRpbmdzIHtcclxuICBkYXRlPzogc3RyaW5nO1xyXG4gIGRhdGVUaW1lPzogc3RyaW5nO1xyXG4gIGZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWVudHNTZXR0aW5ncyB7XHJcbiAgcHJlc2VydmVEcmFmdD86IGJvb2xlYW47XHJcbiAgdm90aW5nPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZXR0aW5ncyB7XHJcbiAgcHJlc2VydmVEcmFmdD86IGJvb2xlYW47XHJcbiAgYXBwPzogc3RyaW5nIHwgQ2hhdExhdW5jaGVyRm47XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIENoYXRMYXVuY2hlckZuIHtcclxuICAoaWRlbnRpdHk6IHN0cmluZyk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlyZWJhc2VTZXR0aW5ncyB7XHJcbiAgYXBpS2V5OiBzdHJpbmc7XHJcbiAgdmFwaWRLZXk/OiBzdHJpbmc7XHJcbiAgcHJvamVjdElkOiBzdHJpbmc7XHJcbiAgc2VuZGVySWQ6IHN0cmluZztcclxuICBhcHBJZDogc3RyaW5nO1xyXG4gIC8qKiBtaWxsaXNlY29uZGVzIGJlZm9yZSB1c2VyIGlzIHByb21wdCB0byBhcHByb3ZlIHJlY2VpdmluZyBtZXNzYWdlcyAqL1xyXG4gIGdyYWNlPzogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgR29vZ2xlTWFwc1NldHRpbmdzIHtcclxuICBhcGlLZXk6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBjb25maWd1cmF0aW9uIHsgfVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaGFyZWRDb25maWcge1xyXG4gIG1hcHM/OiBHb29nbGVNYXBzU2V0dGluZ3MgfCBib29sZWFuO1xyXG4gIGZvcm1hdHM/OiBGb3JtYXRzU2V0dGluZ3M7XHJcblxyXG4gIHJvdXRpbmc/OiAnbmcnIHwgJ3BhbmUnXHJcbn1cclxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFJckQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFlLFFBQVEsQ0FBQyxDQUFDO0FBdUJ4RSxNQUFNLENBQU4sSUFBWSxVQVdYO0FBWEQsV0FBWSxVQUFVO0lBQ3BCLDJDQUFhLENBQUE7SUFDYiw2Q0FBYyxDQUFBO0lBQ2QsNkNBQWMsQ0FBQTtJQUNkLG1EQUFpQixDQUFBO0lBQ2pCLGtEQUFnQixDQUFBO0lBQ2hCLHdEQUFtQixDQUFBO0lBQ25CLGdEQUFlLENBQUE7SUFDZiwyQ0FBWSxDQUFBO0lBQ1osaURBQWdDLENBQUE7SUFDaEMsMkRBQW9CLENBQUE7QUFDdEIsQ0FBQyxFQVhXLFVBQVUsS0FBVixVQUFVLFFBV3JCO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZvbGRlckNvbHVtbiB9IGZyb20gJy4vbW9kZWxzJztcclxuXHJcbmV4cG9ydCBjb25zdCBCSVpET0NfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEJpekRvY0NvbmZpZz4oJ2JpemRvYycpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYW5lUm91dGUge1xyXG4gIHBhdGg6IHN0cmluZztcclxuICBndWlkZT86IHN0cmluZztcclxuICBjb21wb25lbnQ/OiBUeXBlPGFueT47XHJcbiAgcmVzb2x2ZT86IHsgW2tleTogc3RyaW5nXTogVHlwZTxQYW5lUmVzb2x2ZTxhbnk+PiB9O1xyXG4gIGNhbkRpc21pc3M/OiBUeXBlPENhbkRpc21pc3M8YW55Pj47XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBoZWxwPzogc3RyaW5nO1xyXG4gIGNoaWxkcmVuPzogUGFuZVJvdXRlW107XHJcbiAgcG9saWN5PzogT3BlblBvbGljeTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUGFyYW1NYXAgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYW5lUmVzb2x2ZTxUPiB7XHJcbiAgb25SZXNvbHZlKHBhcmFtczogUGFyYW1NYXAsIHF1ZXJ5UGFyYW1zPzogUGFyYW1NYXApOiBPYnNlcnZhYmxlPFQ+IHwgUHJvbWlzZTxUPiB8IFQ7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDYW5EaXNtaXNzPFQ+IHtcclxuICBvbkRpc21pc3MoY29tcG9uZW50OiBUKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBPcGVuUG9saWN5IHtcclxuICBQYW5lID0gMSA8PCAwLFxyXG4gIENsZWFyID0gMSA8PCAxLFxyXG4gIERlZmVyID0gMSA8PCAyLFxyXG4gIFBpbm5hYmxlID0gMSA8PCAzLFxyXG4gIFN0cmV0Y2ggPSAxIDw8IDQsXHJcbiAgRXhwYW5kYWJsZSA9IDEgPDwgNSxcclxuICBUb2dnbGUgPSAxIDw8IDYsXHJcbiAgVGFiID0gMSA8PCA3LFxyXG4gIERpYWxvZyA9IDEgPDwgOCB8IE9wZW5Qb2xpY3kuVGFiLFxyXG4gIERpc21pc3NhYmxlID0gMSA8PCA5LFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgREVGQVVMVF9QT0xJQ1kgPSBPcGVuUG9saWN5LlBhbmU7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJpekRvY0NoaWxkQ29uZmlnIHtcclxuICBjb21wb25lbnRzOiBUeXBlPGFueT5bXTtcclxuICByb3V0ZXM/OiBQYW5lUm91dGVbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRoZW1lIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcHJpbWFyeTogc3RyaW5nO1xyXG4gIGFjY2VudDogc3RyaW5nO1xyXG4gIGNvbG9yOiBzdHJpbmc7XHJcbiAgZGFyaz86IGJvb2xlYW5cclxufVxyXG5cclxuLyoqIEJpekRvYyBhcHAgb3B0aW9ucyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEJpekRvY0NvbmZpZyB7XHJcbiAgY3VycmVuY3lDb2RlPzogc3RyaW5nO1xyXG4gIC8qKiBhdmFpbGFibGUgdXNlciBpbnRlcmZhY2UgbGFuZ3VhZ2VzICovXHJcbiAgdGhlbWVzPzogVGhlbWVbXTtcclxuICBsYW5ndWFnZXM/OiBzdHJpbmdbXTtcclxuICBhcHBUaXRsZT86IHN0cmluZztcclxuICBmaXJlYmFzZT86IEZpcmViYXNlU2V0dGluZ3M7XHJcbiAgY2hhdGluZz86IENoYXRTZXR0aW5ncyB8IGJvb2xlYW47XHJcbiAgY29tbWVudHM/OiBDb21tZW50c1NldHRpbmdzO1xyXG4gIG1hcHM/OiBHb29nbGVNYXBzU2V0dGluZ3MgfCBib29sZWFuO1xyXG4gIGZvcm1hdHM/OiBGb3JtYXRzU2V0dGluZ3M7XHJcbiAgcm91dGVzPzogUGFuZVJvdXRlW107XHJcbiAgY29tcG9uZW50czogVHlwZTxhbnk+W107XHJcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyU2V0dGluZ3MgfCBib29sZWFuO1xyXG4gIGZvbGRlcnM/OiBGb2xkZXJzU2V0dGluZ3M7XHJcbiAgYW5hbHlzaXM/OiBBbmFseXNpc1NldHRpbmdzIHwgYm9vbGVhbjtcclxufVxyXG5leHBvcnQgdHlwZSBTY29wZVR5cGUgPSAncGF0dGVybnMnIHwgJ3Bvc2l0aW9ucyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFuYWx5c2lzU2V0dGluZ3Mge1xyXG59XHJcbmV4cG9ydFxyXG4gIGludGVyZmFjZSBTY2hlZHVsZXJTZXR0aW5ncyB7XHJcblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZvbGRlcnNTZXR0aW5ncyB7XHJcbiAgY3ViZT86IHN0cmluZztcclxuICBheGVzPzogc3RyaW5nW107XHJcbiAgY29sdW1ucz86IEZvbGRlckNvbHVtbltdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0c1NldHRpbmdzIHtcclxuICBkYXRlPzogc3RyaW5nO1xyXG4gIGRhdGVUaW1lPzogc3RyaW5nO1xyXG4gIGZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWVudHNTZXR0aW5ncyB7XHJcbiAgcHJlc2VydmVEcmFmdD86IGJvb2xlYW47XHJcbiAgdm90aW5nPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZXR0aW5ncyB7XHJcbiAgcHJlc2VydmVEcmFmdD86IGJvb2xlYW47XHJcbiAgYXBwPzogc3RyaW5nIHwgQ2hhdExhdW5jaGVyRm47XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIENoYXRMYXVuY2hlckZuIHtcclxuICAoaWRlbnRpdHk6IHN0cmluZyk6IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlyZWJhc2VTZXR0aW5ncyB7XHJcbiAgYXBpS2V5OiBzdHJpbmc7XHJcbiAgdmFwaWRLZXk/OiBzdHJpbmc7XHJcbiAgcHJvamVjdElkOiBzdHJpbmc7XHJcbiAgc2VuZGVySWQ6IHN0cmluZztcclxuICBhcHBJZDogc3RyaW5nO1xyXG4gIC8qKiBtaWxsaXNlY29uZGVzIGJlZm9yZSB1c2VyIGlzIHByb21wdCB0byBhcHByb3ZlIHJlY2VpdmluZyBtZXNzYWdlcyAqL1xyXG4gIGdyYWNlPzogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgR29vZ2xlTWFwc1NldHRpbmdzIHtcclxuICBhcGlLZXk6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBjb25maWd1cmF0aW9uIHsgfVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaGFyZWRDb25maWcge1xyXG4gIG1hcHM/OiBHb29nbGVNYXBzU2V0dGluZ3MgfCBib29sZWFuO1xyXG4gIGZvcm1hdHM/OiBGb3JtYXRzU2V0dGluZ3M7XHJcblxyXG4gIHJvdXRpbmc/OiAnbmcnIHwgJ3BhbmUnXHJcbn1cclxuIl19
@@ -97,21 +97,30 @@ export class GuideComponent {
97
97
  this._overlay = _overlay;
98
98
  this._ngRouter = _ngRouter;
99
99
  this._overlayRef = _overlayRef;
100
- this.index = 0;
100
+ this.index = -1;
101
101
  this.count = this._data.steps.length;
102
102
  this.working = true;
103
103
  }
104
104
  ngOnInit() {
105
- this._move(0);
105
+ if (this._data.name) {
106
+ const lastindex = localStorage.getItem(this._data.name + '_guide_step');
107
+ if (lastindex) {
108
+ this.index = Number.parseInt(lastindex);
109
+ }
110
+ }
111
+ this._moveBy(1);
106
112
  }
107
113
  /**
108
114
  *
109
- * @param i
115
+ * @param steps
110
116
  */
111
- _move(i) {
112
- const index = this.index + i;
113
- if (index < 0 || index == this.count)
117
+ _moveBy(steps) {
118
+ const index = this.index + steps;
119
+ if (index < 0 || index > this.count - 1) {
120
+ localStorage.removeItem(this._data.name + '_guide_step');
114
121
  return;
122
+ }
123
+ this._data.name && localStorage.setItem(this._data.name + '_guide_step', this.index.toString());
115
124
  this.working = true;
116
125
  const step = this._data.steps[index];
117
126
  const { selector, position, navigate, simulate } = step, promisses = [];
@@ -122,8 +131,11 @@ export class GuideComponent {
122
131
  let positionStrategy;
123
132
  if (selector) {
124
133
  const element = document.querySelector(selector);
125
- if (!element)
126
- throw `Guide ${this._data.name} step ${this.index} selector '${selector}' not found.`;
134
+ if (!element) {
135
+ console.warn(`Guide ${this._data.name} selector '${selector}' not found. skipping.`);
136
+ this._moveBy(steps);
137
+ return;
138
+ }
127
139
  let positions;
128
140
  switch (position) {
129
141
  case 'Above':
@@ -177,10 +189,10 @@ export class GuideComponent {
177
189
  if (!this.working)
178
190
  switch (evt.keyCode) {
179
191
  case LEFT_ARROW:
180
- this._move(this._session.direction === 'ltr' ? -1 : 1);
192
+ this._moveBy(this._session.direction === 'ltr' ? -1 : 1);
181
193
  break;
182
194
  case RIGHT_ARROW:
183
- this._move(this._session.direction === 'ltr' ? 1 : -1);
195
+ this._moveBy(this._session.direction === 'ltr' ? 1 : -1);
184
196
  break;
185
197
  case ESCAPE:
186
198
  this.close();
@@ -189,17 +201,17 @@ export class GuideComponent {
189
201
  }
190
202
  }
191
203
  next() {
192
- this._move(1);
204
+ this._moveBy(1);
193
205
  }
194
206
  prev() {
195
- this._move(-1);
207
+ this._moveBy(-1);
196
208
  }
197
209
  close() {
198
210
  this._overlayRef.detach();
199
211
  }
200
212
  }
201
213
  GuideComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: GuideComponent, deps: [{ token: TOUR_TOKEN }, { token: i1.SessionService }, { token: i2.Overlay }, { token: i3.Router }, { token: i2.OverlayRef }], target: i0.ɵɵFactoryTarget.Component });
202
- GuideComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: GuideComponent, selector: "ng-component", host: { listeners: { "window:keydown": "keydown($event)" } }, ngImport: i0, template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\r\n <div fxLayout=\"column\" class=\"content\">\r\n <div fxLayout=\"row\">\r\n <h2 *ngIf=\"step?.title\" class=\"mat-h2\">{{step?.title}}</h2>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"close()\" *ngIf=\"index < count - 1\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\r\n </p>\r\n <div fxLayout=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index === 0 || working\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\r\n <button mat-icon-button (click)=\"next()\" [disabled]=\"index === count - 1 || working\" cdkFocusInitial><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\r\n <button mat-button (click)=\"close()\" *ngIf=\"index === count - 1\">{{'GuideFinish'|translate}}</button>\r\n </div>\r\n </div>\r\n <div class=\"tooltip-container\">\r\n <div class=\"tooltip\"></div>\r\n </div>\r\n</div>\r\n", components: [{ type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "sanitizeHtml": i8.SanitizeHtmlPipe, "translate": i9.TranslatePipe }, animations: [trigger('body', [
214
+ GuideComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: GuideComponent, selector: "ng-component", host: { listeners: { "window:keydown": "keydown($event)" } }, ngImport: i0, template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\r\n <div fxLayout=\"column\" class=\"content\">\r\n <div fxLayout=\"row\">\r\n <h2 *ngIf=\"step?.title\" class=\"mat-h2\">{{step?.title}}</h2>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"close()\" *ngIf=\"index < count - 1\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\r\n </p>\r\n <div fxLayout=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index < 1 || working\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\r\n <button mat-icon-button (click)=\"next()\" [disabled]=\"index >= count - 1 || working\" cdkFocusInitial><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\r\n <button mat-button (click)=\"close()\" *ngIf=\"index >= count - 1\">{{'GuideFinish'|translate}}</button>\r\n </div>\r\n </div>\r\n <div class=\"tooltip-container\">\r\n <div class=\"tooltip\"></div>\r\n </div>\r\n</div>\r\n", components: [{ type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "sanitizeHtml": i8.SanitizeHtmlPipe, "translate": i9.TranslatePipe }, animations: [trigger('body', [
203
215
  state('here', style({ width: '*', height: '*' })),
204
216
  transition('*<=>*', animate('250ms', style({})))
205
217
  ])] });
@@ -208,7 +220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
208
220
  args: [{ animations: [trigger('body', [
209
221
  state('here', style({ width: '*', height: '*' })),
210
222
  transition('*<=>*', animate('250ms', style({})))
211
- ])], template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\r\n <div fxLayout=\"column\" class=\"content\">\r\n <div fxLayout=\"row\">\r\n <h2 *ngIf=\"step?.title\" class=\"mat-h2\">{{step?.title}}</h2>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"close()\" *ngIf=\"index < count - 1\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\r\n </p>\r\n <div fxLayout=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index === 0 || working\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\r\n <button mat-icon-button (click)=\"next()\" [disabled]=\"index === count - 1 || working\" cdkFocusInitial><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\r\n <button mat-button (click)=\"close()\" *ngIf=\"index === count - 1\">{{'GuideFinish'|translate}}</button>\r\n </div>\r\n </div>\r\n <div class=\"tooltip-container\">\r\n <div class=\"tooltip\"></div>\r\n </div>\r\n</div>\r\n" }]
223
+ ])], template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\r\n <div fxLayout=\"column\" class=\"content\">\r\n <div fxLayout=\"row\">\r\n <h2 *ngIf=\"step?.title\" class=\"mat-h2\">{{step?.title}}</h2>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"close()\" *ngIf=\"index < count - 1\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\r\n </p>\r\n <div fxLayout=\"row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index < 1 || working\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\r\n <button mat-icon-button (click)=\"next()\" [disabled]=\"index >= count - 1 || working\" cdkFocusInitial><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\r\n <button mat-button (click)=\"close()\" *ngIf=\"index >= count - 1\">{{'GuideFinish'|translate}}</button>\r\n </div>\r\n </div>\r\n <div class=\"tooltip-container\">\r\n <div class=\"tooltip\"></div>\r\n </div>\r\n</div>\r\n" }]
212
224
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
213
225
  type: Inject,
214
226
  args: [TOUR_TOKEN]
@@ -216,4 +228,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
216
228
  type: HostListener,
217
229
  args: ['window:keydown', ['$event']]
218
230
  }] } });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2d1aWRlL2d1aWRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9ndWlkZS9ndWlkZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBVSxVQUFVLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpGLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7O0FBSTFDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBUSxPQUFPLENBQUMsQ0FBQztBQUU3RCxNQUFNLEtBQUssR0FBd0IsQ0FBQztRQUNsQyxPQUFPLEVBQUUsT0FBTztRQUNoQixPQUFPLEVBQUUsUUFBUTtRQUNqQixRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsS0FBSztRQUNmLFVBQVUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7S0FDL0IsRUFBRTtRQUNELE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQztLQUNoQyxFQUFFO1FBQ0QsT0FBTyxFQUFFLEtBQUs7UUFDZCxP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MEJBUWxELE1BQU07MkJBQUMsVUFBVTs2SUFnRnBCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiwgUG9zaXRpb25TdHJhdGVneSwgQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcclxuaW1wb3J0IHsgdHJpZ2dlciwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCBhbmltYXRlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQgeyBFU0NBUEUsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgR3VpZGVTdGVwLCBHdWlkZSB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IG91dE9mQm91bmQgfSBmcm9tICcuLi9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3Nlc3Npb24uc2VydmljZSc7XHJcblxyXG5leHBvcnQgY29uc3QgVE9VUl9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxHdWlkZT4oJ2d1aWRlJyk7XHJcblxyXG5jb25zdCBCRUxPVzogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFt7XHJcbiAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgcGFuZWxDbGFzczogWydiZWxvdycsICdzdGFydCddXHJcbn0sIHtcclxuICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gIHBhbmVsQ2xhc3M6IFsnYmVsb3cnLCAnY2VudGVyJ11cclxufSwge1xyXG4gIG9yaWdpblg6ICdlbmQnLFxyXG4gIG9yaWdpblk6ICdib3R0b20nLFxyXG4gIG92ZXJsYXlYOiAnZW5kJyxcclxuICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgcGFuZWxDbGFzczogWydiZWxvdycsICdlbmQnXVxyXG59XSxcclxuICBBQk9WRTogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFt7XHJcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYWJvdmUnLCAnc3RhcnQnXVxyXG4gIH0sXHJcbiAge1xyXG4gICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYWJvdmUnLCAnY2VudGVyJ11cclxuICB9LFxyXG4gIHtcclxuICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYWJvdmUnLCAnZW5kJ11cclxuICB9XSxcclxuICBBRlRFUjogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFt7XHJcbiAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICBwYW5lbENsYXNzOiBbJ2FmdGVyJywgJ3N0YXJ0J11cclxuICB9LFxyXG4gIHtcclxuICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYWZ0ZXInLCAnY2VudGVyJ11cclxuICB9LFxyXG4gIHtcclxuICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYWZ0ZXInLCAnZW5kJ11cclxuICB9XSxcclxuICBCRUZPUkU6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbe1xyXG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgcGFuZWxDbGFzczogWydiZWZvcmUnLCAnc3RhcnQnXVxyXG4gIH0sIHtcclxuICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYmVmb3JlJywgJ2NlbnRlciddXHJcbiAgfSwge1xyXG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgcGFuZWxDbGFzczogWydiZWZvcmUnLCAnZW5kJ11cclxuICB9XTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9ndWlkZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ2JvZHknLCBbXHJcbiAgICBzdGF0ZSgnaGVyZScsIHN0eWxlKHsgd2lkdGg6ICcqJywgaGVpZ2h0OiAnKicgfSkpLFxyXG4gICAgdHJhbnNpdGlvbignKjw9PionLCBhbmltYXRlKCcyNTBtcycsIHN0eWxlKHt9KSkpXSldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHdWlkZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgc3RlcDogR3VpZGVTdGVwO1xyXG4gIGluZGV4ID0gMDtcclxuICByZWFkb25seSBjb3VudDogbnVtYmVyID0gdGhpcy5fZGF0YS5zdGVwcy5sZW5ndGg7XHJcbiAgd29ya2luZyA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KFRPVVJfVE9LRU4pXHJcbiAgICBwcml2YXRlIF9kYXRhOiBHdWlkZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHByaXZhdGUgX25nUm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmKSB7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbW92ZSgwKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGlcclxuICAgKi9cclxuICBwcml2YXRlIF9tb3ZlKGk6IDAgfCAxIHwgLTEpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleCArIGk7XHJcbiAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID09IHRoaXMuY291bnQpIHJldHVybjtcclxuICAgIHRoaXMud29ya2luZyA9IHRydWU7XHJcbiAgICBjb25zdCBzdGVwID0gdGhpcy5fZGF0YS5zdGVwc1tpbmRleF07XHJcbiAgICBjb25zdCB7IHNlbGVjdG9yLCBwb3NpdGlvbiwgbmF2aWdhdGUsIHNpbXVsYXRlIH0gPSBzdGVwLCBwcm9taXNzZXM6IFByb21pc2U8YW55PltdID0gW107XHJcbiAgICBpZiAobmF2aWdhdGUpIHtcclxuICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX25nUm91dGVyLm5hdmlnYXRlQnlVcmwobmF2aWdhdGUpO1xyXG4gICAgICBwcm9taXNzZXMucHVzaChwcm9taXNlKTtcclxuICAgIH1cclxuICAgIGxldCBwb3NpdGlvblN0cmF0ZWd5OiBQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgaWYgKHNlbGVjdG9yKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgaWYgKCFlbGVtZW50KVxyXG4gICAgICAgIHRocm93IGBHdWlkZSAke3RoaXMuX2RhdGEubmFtZX0gc3RlcCAke3RoaXMuaW5kZXh9IHNlbGVjdG9yICcke3NlbGVjdG9yfScgbm90IGZvdW5kLmA7XHJcblxyXG4gICAgICBsZXQgcG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdO1xyXG4gICAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XHJcbiAgICAgICAgY2FzZSAnQWJvdmUnOlxyXG4gICAgICAgICAgcG9zaXRpb25zID0gWy4uLkFCT1ZFLCAuLi5CRUxPVywgLi4uQUZURVIsIC4uLkJFRk9SRV07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdFbmQnOlxyXG4gICAgICAgICAgcG9zaXRpb25zID0gWy4uLkFGVEVSLCAuLi5CRUZPUkUsIC4uLkJFTE9XLCAuLi5BQk9WRV07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdTdGFydCc6XHJcbiAgICAgICAgICBwb3NpdGlvbnMgPSBbLi4uQkVGT1JFLCAuLi5BRlRFUiwgLi4uQkVMT1csIC4uLkFCT1ZFXTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ0JlbG93JzpcclxuICAgICAgICAgIHBvc2l0aW9ucyA9IFsuLi5CRUxPVywgLi4uQkVGT1JFLCAuLi5BQk9WRSwgLi4uQUZURVJdO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHBvc2l0aW9ucyA9IFsuLi5CRUZPUkUsIC4uLkJFTE9XLCAuLi5BQk9WRSwgLi4uQUZURVJdO1xyXG4gICAgICB9XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuXHJcbiAgICAgICAgZmxleGlibGVDb25uZWN0ZWRUbyhuZXcgRWxlbWVudFJlZihlbGVtZW50KSkuXHJcbiAgICAgICAgd2l0aFBvc2l0aW9ucyhwb3NpdGlvbnMpLlxyXG4gICAgICAgIHdpdGhHcm93QWZ0ZXJPcGVuKCk7XHJcbiAgICAgIGlmIChvdXRPZkJvdW5kKGVsZW1lbnQpKSB7XHJcbiAgICAgICAgcHJvbWlzc2VzLnB1c2gobmV3IFByb21pc2U8YW55PihyZXNvbHZlID0+IHtcclxuICAgICAgICAgIGNvbnN0IHRhc2sgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghb3V0T2ZCb3VuZChlbGVtZW50KSkge1xyXG4gICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGFzayk7XHJcbiAgICAgICAgICAgICAgcmVzb2x2ZShudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSwgMTUwKTtcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuICAgICAgfVxyXG4gICAgICBzaW11bGF0ZSAmJlxyXG4gICAgICAgIHByb21pc3Nlcy5wdXNoKG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xyXG4gICAgICAgICAgZWxlbWVudC5jbGljaygpO1xyXG4gICAgICAgICAgcmVzb2x2ZShudWxsKTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVyVmVydGljYWxseSgpLmNlbnRlckhvcml6b250YWxseSgpO1xyXG5cclxuICAgIGNvbnN0IGNvbXBsZXRlID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmluZGV4ID0gaW5kZXg7XHJcbiAgICAgIHRoaXMuc3RlcCA9IHN0ZXA7XHJcbiAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb25TdHJhdGVneSk7XHJcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcclxuICAgIH07XHJcbiAgICBwcm9taXNzZXMubGVuZ3RoID8gUHJvbWlzZS5hbGwocHJvbWlzc2VzKS50aGVuKCgpID0+IGNvbXBsZXRlKCkpIDogY29tcGxldGUoKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIGtleWRvd24oZXZ0OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoIXRoaXMud29ya2luZylcclxuICAgICAgc3dpdGNoIChldnQua2V5Q29kZSkge1xyXG4gICAgICAgIGNhc2UgTEVGVF9BUlJPVzpcclxuICAgICAgICAgIHRoaXMuX21vdmUodGhpcy5fc2Vzc2lvbi5kaXJlY3Rpb24gPT09ICdsdHInID8gLTEgOiAxKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgUklHSFRfQVJST1c6XHJcbiAgICAgICAgICB0aGlzLl9tb3ZlKHRoaXMuX3Nlc3Npb24uZGlyZWN0aW9uID09PSAnbHRyJyA/IDEgOiAtMSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEVTQ0FQRTpcclxuICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gIG5leHQoKSB7XHJcbiAgICB0aGlzLl9tb3ZlKDEpO1xyXG4gIH1cclxuICBwcmV2KCkge1xyXG4gICAgdGhpcy5fbW92ZSgtMSk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIFtzdHlsZS5kaXNwbGF5XT1cInN0ZXAgPyAnJzogJ25vbmUnXCIgY2RrVHJhcEZvY3VzPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cImNvbnRlbnRcIj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgICAgPGgyICpuZ0lmPVwic3RlcD8udGl0bGVcIiBjbGFzcz1cIm1hdC1oMlwiPnt7c3RlcD8udGl0bGV9fTwvaDI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNsb3NlKClcIiAqbmdJZj1cImluZGV4IDwgY291bnQgLSAxXCI+PG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHAgY2xhc3M9XCJtYXQtYm9keVwiIFtpbm5lckhUTUxdPVwic3RlcD8uY29udGVudCB8IHNhbml0aXplSHRtbFwiPlxyXG4gICAgPC9wPlxyXG4gICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJwcmV2KClcIiBbZGlzYWJsZWRdPVwiaW5kZXggPT09IDAgfHwgd29ya2luZ1wiPjxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5leHQoKVwiIFtkaXNhYmxlZF09XCJpbmRleCA9PT0gY291bnQgLSAxIHx8IHdvcmtpbmdcIiBjZGtGb2N1c0luaXRpYWw+PG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgKm5nSWY9XCJpbmRleCA9PT0gY291bnQgLSAxXCI+e3snR3VpZGVGaW5pc2gnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwXCI+PC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2d1aWRlL2d1aWRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9ndWlkZS9ndWlkZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBVSxVQUFVLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpGLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7O0FBSTFDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBUSxPQUFPLENBQUMsQ0FBQztBQUU3RCxNQUFNLEtBQUssR0FBd0IsQ0FBQztRQUNsQyxPQUFPLEVBQUUsT0FBTztRQUNoQixPQUFPLEVBQUUsUUFBUTtRQUNqQixRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsS0FBSztRQUNmLFVBQVUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7S0FDL0IsRUFBRTtRQUNELE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQztLQUNoQyxFQUFFO1FBQ0QsT0FBTyxFQUFFLEtBQUs7UUFDZCxP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QzVCLENBQUM7OzJHQXpIVSxjQUFjLGtCQU1mLFVBQVU7K0ZBTlQsY0FBYyxrSENuRzNCLDRvQ0FvQkEsbW9DRDJFYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDM0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUFDLENBQUMsQ0FBQzsyRkFFMUMsY0FBYztrQkFOMUIsU0FBUztpQ0FFSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7NEJBQzNCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzs0QkFDakQsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3lCQUFDLENBQUMsQ0FBQzs7MEJBUWxELE1BQU07MkJBQUMsVUFBVTs2SUE0RnBCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiwgUG9zaXRpb25TdHJhdGVneSwgQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcclxuaW1wb3J0IHsgdHJpZ2dlciwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCBhbmltYXRlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQgeyBFU0NBUEUsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgR3VpZGVTdGVwLCBHdWlkZSB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IG91dE9mQm91bmQgfSBmcm9tICcuLi9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3Nlc3Npb24uc2VydmljZSc7XHJcblxyXG5leHBvcnQgY29uc3QgVE9VUl9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxHdWlkZT4oJ2d1aWRlJyk7XHJcblxyXG5jb25zdCBCRUxPVzogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFt7XHJcbiAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgcGFuZWxDbGFzczogWydiZWxvdycsICdzdGFydCddXHJcbn0sIHtcclxuICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gIHBhbmVsQ2xhc3M6IFsnYmVsb3cnLCAnY2VudGVyJ11cclxufSwge1xyXG4gIG9yaWdpblg6ICdlbmQnLFxyXG4gIG9yaWdpblk6ICdib3R0b20nLFxyXG4gIG92ZXJsYXlYOiAnZW5kJyxcclxuICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgcGFuZWxDbGFzczogWydiZWxvdycsICdlbmQnXVxyXG59XSxcclxuICBBQk9WRTogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFt7XHJcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYWJvdmUnLCAnc3RhcnQnXVxyXG4gIH0sXHJcbiAge1xyXG4gICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYWJvdmUnLCAnY2VudGVyJ11cclxuICB9LFxyXG4gIHtcclxuICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYWJvdmUnLCAnZW5kJ11cclxuICB9XSxcclxuICBBRlRFUjogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFt7XHJcbiAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICBwYW5lbENsYXNzOiBbJ2FmdGVyJywgJ3N0YXJ0J11cclxuICB9LFxyXG4gIHtcclxuICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYWZ0ZXInLCAnY2VudGVyJ11cclxuICB9LFxyXG4gIHtcclxuICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYWZ0ZXInLCAnZW5kJ11cclxuICB9XSxcclxuICBCRUZPUkU6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbe1xyXG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgcGFuZWxDbGFzczogWydiZWZvcmUnLCAnc3RhcnQnXVxyXG4gIH0sIHtcclxuICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYmVmb3JlJywgJ2NlbnRlciddXHJcbiAgfSwge1xyXG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgcGFuZWxDbGFzczogWydiZWZvcmUnLCAnZW5kJ11cclxuICB9XTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9ndWlkZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ2JvZHknLCBbXHJcbiAgICBzdGF0ZSgnaGVyZScsIHN0eWxlKHsgd2lkdGg6ICcqJywgaGVpZ2h0OiAnKicgfSkpLFxyXG4gICAgdHJhbnNpdGlvbignKjw9PionLCBhbmltYXRlKCcyNTBtcycsIHN0eWxlKHt9KSkpXSldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHdWlkZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgc3RlcDogR3VpZGVTdGVwO1xyXG4gIGluZGV4ID0gLTE7XHJcbiAgcmVhZG9ubHkgY291bnQ6IG51bWJlciA9IHRoaXMuX2RhdGEuc3RlcHMubGVuZ3RoO1xyXG4gIHdvcmtpbmcgPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChUT1VSX1RPS0VOKVxyXG4gICAgcHJpdmF0ZSBfZGF0YTogR3VpZGUsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9uZ1JvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZikge1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9kYXRhLm5hbWUpIHtcclxuICAgICAgY29uc3QgbGFzdGluZGV4ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5fZGF0YS5uYW1lICsgJ19ndWlkZV9zdGVwJyk7XHJcbiAgICAgIGlmIChsYXN0aW5kZXgpIHtcclxuICAgICAgICB0aGlzLmluZGV4ID0gTnVtYmVyLnBhcnNlSW50KGxhc3RpbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuX21vdmVCeSgxKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHN0ZXBzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfbW92ZUJ5KHN0ZXBzOiAxIHwgLTEpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleCArIHN0ZXBzO1xyXG4gICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+IHRoaXMuY291bnQgLSAxKSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuX2RhdGEubmFtZSArICdfZ3VpZGVfc3RlcCcpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9kYXRhLm5hbWUgJiYgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5fZGF0YS5uYW1lICsgJ19ndWlkZV9zdGVwJywgdGhpcy5pbmRleC50b1N0cmluZygpKTtcclxuICAgIHRoaXMud29ya2luZyA9IHRydWU7XHJcbiAgICBjb25zdCBzdGVwID0gdGhpcy5fZGF0YS5zdGVwc1tpbmRleF07XHJcbiAgICBjb25zdCB7IHNlbGVjdG9yLCBwb3NpdGlvbiwgbmF2aWdhdGUsIHNpbXVsYXRlIH0gPSBzdGVwLCBwcm9taXNzZXM6IFByb21pc2U8YW55PltdID0gW107XHJcbiAgICBpZiAobmF2aWdhdGUpIHtcclxuICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX25nUm91dGVyLm5hdmlnYXRlQnlVcmwobmF2aWdhdGUpO1xyXG4gICAgICBwcm9taXNzZXMucHVzaChwcm9taXNlKTtcclxuICAgIH1cclxuICAgIGxldCBwb3NpdGlvblN0cmF0ZWd5OiBQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgaWYgKHNlbGVjdG9yKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgaWYgKCFlbGVtZW50KSB7XHJcbiAgICAgICAgY29uc29sZS53YXJuKGBHdWlkZSAke3RoaXMuX2RhdGEubmFtZX0gc2VsZWN0b3IgJyR7c2VsZWN0b3J9JyBub3QgZm91bmQuIHNraXBwaW5nLmApO1xyXG4gICAgICAgIHRoaXMuX21vdmVCeShzdGVwcyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBwb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW107XHJcbiAgICAgIHN3aXRjaCAocG9zaXRpb24pIHtcclxuICAgICAgICBjYXNlICdBYm92ZSc6XHJcbiAgICAgICAgICBwb3NpdGlvbnMgPSBbLi4uQUJPVkUsIC4uLkJFTE9XLCAuLi5BRlRFUiwgLi4uQkVGT1JFXTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ0VuZCc6XHJcbiAgICAgICAgICBwb3NpdGlvbnMgPSBbLi4uQUZURVIsIC4uLkJFRk9SRSwgLi4uQkVMT1csIC4uLkFCT1ZFXTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ1N0YXJ0JzpcclxuICAgICAgICAgIHBvc2l0aW9ucyA9IFsuLi5CRUZPUkUsIC4uLkFGVEVSLCAuLi5CRUxPVywgLi4uQUJPVkVdO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnQmVsb3cnOlxyXG4gICAgICAgICAgcG9zaXRpb25zID0gWy4uLkJFTE9XLCAuLi5CRUZPUkUsIC4uLkFCT1ZFLCAuLi5BRlRFUl07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcG9zaXRpb25zID0gWy4uLkJFRk9SRSwgLi4uQkVMT1csIC4uLkFCT1ZFLCAuLi5BRlRFUl07XHJcbiAgICAgIH1cclxuICAgICAgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5cclxuICAgICAgICBmbGV4aWJsZUNvbm5lY3RlZFRvKG5ldyBFbGVtZW50UmVmKGVsZW1lbnQpKS5cclxuICAgICAgICB3aXRoUG9zaXRpb25zKHBvc2l0aW9ucykuXHJcbiAgICAgICAgd2l0aEdyb3dBZnRlck9wZW4oKTtcclxuICAgICAgaWYgKG91dE9mQm91bmQoZWxlbWVudCkpIHtcclxuICAgICAgICBwcm9taXNzZXMucHVzaChuZXcgUHJvbWlzZTxhbnk+KHJlc29sdmUgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGFzayA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFvdXRPZkJvdW5kKGVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0YXNrKTtcclxuICAgICAgICAgICAgICByZXNvbHZlKG51bGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LCAxNTApO1xyXG4gICAgICAgIH0pKTtcclxuICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHNpbXVsYXRlICYmXHJcbiAgICAgICAgcHJvbWlzc2VzLnB1c2gobmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgICBlbGVtZW50LmNsaWNrKCk7XHJcbiAgICAgICAgICByZXNvbHZlKG51bGwpO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuICAgIGVsc2UgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJWZXJ0aWNhbGx5KCkuY2VudGVySG9yaXpvbnRhbGx5KCk7XHJcblxyXG4gICAgY29uc3QgY29tcGxldGUgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5kZXggPSBpbmRleDtcclxuICAgICAgdGhpcy5zdGVwID0gc3RlcDtcclxuICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYudXBkYXRlUG9zaXRpb25TdHJhdGVneShwb3NpdGlvblN0cmF0ZWd5KTtcclxuICAgICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xyXG4gICAgfTtcclxuICAgIHByb21pc3Nlcy5sZW5ndGggPyBQcm9taXNlLmFsbChwcm9taXNzZXMpLnRoZW4oKCkgPT4gY29tcGxldGUoKSkgOiBjb21wbGV0ZSgpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAga2V5ZG93bihldnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmICghdGhpcy53b3JraW5nKVxyXG4gICAgICBzd2l0Y2ggKGV2dC5rZXlDb2RlKSB7XHJcbiAgICAgICAgY2FzZSBMRUZUX0FSUk9XOlxyXG4gICAgICAgICAgdGhpcy5fbW92ZUJ5KHRoaXMuX3Nlc3Npb24uZGlyZWN0aW9uID09PSAnbHRyJyA/IC0xIDogMSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFJJR0hUX0FSUk9XOlxyXG4gICAgICAgICAgdGhpcy5fbW92ZUJ5KHRoaXMuX3Nlc3Npb24uZGlyZWN0aW9uID09PSAnbHRyJyA/IDEgOiAtMSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEVTQ0FQRTpcclxuICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gIG5leHQoKSB7XHJcbiAgICB0aGlzLl9tb3ZlQnkoMSk7XHJcbiAgfVxyXG4gIHByZXYoKSB7XHJcbiAgICB0aGlzLl9tb3ZlQnkoLTEpO1xyXG4gIH1cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBbc3R5bGUuZGlzcGxheV09XCJzdGVwID8gJyc6ICdub25lJ1wiIGNka1RyYXBGb2N1cz5cclxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgIDxoMiAqbmdJZj1cInN0ZXA/LnRpdGxlXCIgY2xhc3M9XCJtYXQtaDJcIj57e3N0ZXA/LnRpdGxlfX08L2gyPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgKm5nSWY9XCJpbmRleCA8IGNvdW50IC0gMVwiPjxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxwIGNsYXNzPVwibWF0LWJvZHlcIiBbaW5uZXJIVE1MXT1cInN0ZXA/LmNvbnRlbnQgfCBzYW5pdGl6ZUh0bWxcIj5cclxuICAgIDwvcD5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicHJldigpXCIgW2Rpc2FibGVkXT1cImluZGV4IDwgMSB8fCB3b3JraW5nXCI+PG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmtleWJvYXJkX2Fycm93X2xlZnQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibmV4dCgpXCIgW2Rpc2FibGVkXT1cImluZGV4ID49IGNvdW50IC0gMSB8fCB3b3JraW5nXCIgY2RrRm9jdXNJbml0aWFsPjxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5rZXlib2FyZF9hcnJvd19yaWdodDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiICpuZ0lmPVwiaW5kZXggPj0gY291bnQgLSAxXCI+e3snR3VpZGVGaW5pc2gnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwXCI+PC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,58 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./guide.service";
4
+ import * as i2 from "@angular/material/icon";
5
+ import * as i3 from "@angular/material/button";
6
+ import * as i4 from "@angular/common";
7
+ import * as i5 from "@angular/flex-layout/flex";
8
+ import * as i6 from "../popup/tooltip.directive";
9
+ import * as i7 from "../pipes/translate.pipe";
10
+ /** */
11
+ export class HelpTipComponent {
12
+ constructor(_guide) {
13
+ this._guide = _guide;
14
+ }
15
+ ngOnInit() {
16
+ this.showTip = localStorage.getItem(this.name + '-tip') !== '1';
17
+ const guide = this._guide.guides.find(g => g.name === this.name);
18
+ this._message = guide.title;
19
+ }
20
+ open(evt) {
21
+ this._guide.start(this.name);
22
+ }
23
+ dismiss() {
24
+ localStorage.setItem(this.name + 'tip', '1');
25
+ this.showTip = false;
26
+ }
27
+ }
28
+ HelpTipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: HelpTipComponent, deps: [{ token: i1.GuideService }], target: i0.ɵɵFactoryTarget.Component });
29
+ HelpTipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: HelpTipComponent, selector: "bizdoc-help-tip", inputs: { name: "name" }, ngImport: i0, template: `
30
+ <p fxLayout="row" class="form-help-tip" *ngIf="showTip">
31
+ <mat-icon>help_outline</mat-icon> &nbsp;<span (click)="open($event)" [innerHTML]="'HelpTip'|translate: _message" class="mat-body-1"></span>
32
+ <button mat-icon-button (click)="dismiss()" [bizdocTooltip]="'Dismiss'|translate"><mat-icon inline>close</mat-icon></button>
33
+ </p>
34
+ `, isInline: true, styles: [".form-help-tip{align-items:center;border:1px rgb(0 0 0 / 38%) solid;margin:10px;border-radius:3px;padding:0 8px}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i6.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": i7.TranslatePipe } });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: HelpTipComponent, decorators: [{
36
+ type: Component,
37
+ args: [{
38
+ template: `
39
+ <p fxLayout="row" class="form-help-tip" *ngIf="showTip">
40
+ <mat-icon>help_outline</mat-icon> &nbsp;<span (click)="open($event)" [innerHTML]="'HelpTip'|translate: _message" class="mat-body-1"></span>
41
+ <button mat-icon-button (click)="dismiss()" [bizdocTooltip]="'Dismiss'|translate"><mat-icon inline>close</mat-icon></button>
42
+ </p>
43
+ `,
44
+ styles: [`
45
+ .form-help-tip {
46
+ align-items: center;
47
+ border: 1px rgb(0 0 0 / 38%) solid;
48
+ margin: 10px;
49
+ border-radius: 3px 3px;
50
+ padding: 0 8px;
51
+ }
52
+ `],
53
+ selector: 'bizdoc-help-tip'
54
+ }]
55
+ }], ctorParameters: function () { return [{ type: i1.GuideService }]; }, propDecorators: { name: [{
56
+ type: Input
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC10aXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2d1aWRlL2hlbHAtdGlwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBR3pELE9BQU87QUFtQlAsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixZQUNVLE1BQW9CO1FBQXBCLFdBQU0sR0FBTixNQUFNLENBQWM7SUFDMUIsQ0FBQztJQUNMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUM7UUFDaEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLENBQUMsR0FBZTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELE9BQU87UUFDTCxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7OzZHQW5CVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixpRkFqQmpCOzs7OztDQUtYOzJGQVlZLGdCQUFnQjtrQkFsQjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7OztDQUtYO29CQUNDLE1BQU0sRUFBRSxDQUFDOzs7Ozs7OztDQVFWLENBQUM7b0JBQ0EsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7bUdBR0MsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuL2d1aWRlLnNlcnZpY2UnO1xyXG5cbi8qKiAgKi9cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICA8cCBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiZm9ybS1oZWxwLXRpcFwiICpuZ0lmPVwic2hvd1RpcFwiPlxuICAgIDxtYXQtaWNvbj5oZWxwX291dGxpbmU8L21hdC1pY29uPiAmbmJzcDs8c3BhbiAoY2xpY2spPVwib3BlbigkZXZlbnQpXCIgW2lubmVySFRNTF09XCInSGVscFRpcCd8dHJhbnNsYXRlOiBfbWVzc2FnZVwiIGNsYXNzPVwibWF0LWJvZHktMVwiPjwvc3Bhbj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZGlzbWlzcygpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0Rpc21pc3MnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbiBpbmxpbmU+Y2xvc2U8L21hdC1pY29uPjwvYnV0dG9uPlxuICA8L3A+XG5gLFxuICBzdHlsZXM6IFtgXG4uZm9ybS1oZWxwLXRpcCB7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuYm9yZGVyOiAxcHggcmdiKDAgMCAwIC8gMzglKSBzb2xpZDtcclxuICBtYXJnaW46IDEwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4IDNweDtcclxuICBwYWRkaW5nOiAwIDhweDtcclxufVxyXG5gXSxcbiAgc2VsZWN0b3I6ICdiaXpkb2MtaGVscC10aXAnXG59KVxuZXhwb3J0IGNsYXNzIEhlbHBUaXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBuYW1lITogc3RyaW5nO1xuICBfbWVzc2FnZTogc3RyaW5nO1xyXG4gIHNob3dUaXA6IGJvb2xlYW47XHJcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZ3VpZGU6IEd1aWRlU2VydmljZSxcbiAgKSB7IH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dUaXAgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLm5hbWUgKyAnLXRpcCcpICE9PSAnMSc7XG4gICAgY29uc3QgZ3VpZGUgPSB0aGlzLl9ndWlkZS5ndWlkZXMuZmluZChnID0+IGcubmFtZSA9PT0gdGhpcy5uYW1lKTtcbiAgICB0aGlzLl9tZXNzYWdlID0gZ3VpZGUudGl0bGU7XG4gIH1cclxuICBvcGVuKGV2dDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuX2d1aWRlLnN0YXJ0KHRoaXMubmFtZSk7XG4gIH1cbiAgZGlzbWlzcygpIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLm5hbWUgKyAndGlwJywgJzEnKTtcbiAgICB0aGlzLnNob3dUaXAgPSBmYWxzZTtcbiAgfVxufVxuIl19
@@ -4,6 +4,7 @@ import * as i1 from "./slots/router.service";
4
4
  import * as i2 from "@angular/router";
5
5
  export class RouterImpl {
6
6
  }
7
+ /** desktop */
7
8
  export class PaneRouter extends RouterImpl {
8
9
  constructor(_router) {
9
10
  super();
@@ -18,6 +19,7 @@ PaneRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
18
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PaneRouter, decorators: [{
19
20
  type: Injectable
20
21
  }], ctorParameters: function () { return [{ type: i1.PanesRouter }]; } });
22
+ /** mobile */
21
23
  export class NgRouter extends RouterImpl {
22
24
  constructor(_router) {
23
25
  super();
@@ -32,4 +34,4 @@ NgRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "1
32
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: NgRouter, decorators: [{
33
35
  type: Injectable
34
36
  }], ctorParameters: function () { return [{ type: i2.Router }]; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL3JvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBSTNDLE1BQU0sT0FBZ0IsVUFBVTtDQUUvQjtBQUVELE1BQU0sT0FBTyxVQUFXLFNBQVEsVUFBVTtJQUN4QyxZQUNVLE9BQW9CO1FBRTVCLEtBQUssRUFBRSxDQUFDO1FBRkEsWUFBTyxHQUFQLE9BQU8sQ0FBYTtJQUc5QixDQUFDO0lBQ0QsUUFBUSxDQUFDLFFBQWtCLEVBQUUsS0FBTTtRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQzs7dUdBUlUsVUFBVTsyR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBRHRCLFVBQVU7O0FBWVgsTUFBTSxPQUFPLFFBQVMsU0FBUSxVQUFVO0lBQ3RDLFlBQ1UsT0FBZTtRQUVyQixLQUFLLEVBQUUsQ0FBQztRQUZGLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFHekIsQ0FBQztJQUNELFFBQVEsQ0FBQyxRQUFrQixFQUFFLEtBQU07UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7O3FHQVJVLFFBQVE7eUdBQVIsUUFBUTsyRkFBUixRQUFRO2tCQURwQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tIFwiLi9zbG90cy9yb3V0ZXIuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJvdXRlckltcGwge1xyXG4gIGFic3RyYWN0IG5hdmlnYXRlKGNvbW1hbmRzOiAoc3RyaW5nfG51bWJlcilbXSwgZXh0cmE/KTtcclxufVxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQYW5lUm91dGVyIGV4dGVuZHMgUm91dGVySW1wbCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFBhbmVzUm91dGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBuYXZpZ2F0ZShjb21tYW5kczogc3RyaW5nW10sIGV4dHJhPykge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKGNvbW1hbmRzLCBleHRyYSk7XHJcbiAgfVxyXG59XHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5nUm91dGVyIGV4dGVuZHMgUm91dGVySW1wbCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlclxyXG4gICkge1xyXG4gICAgICBzdXBlcigpO1xyXG4gIH1cclxuICBuYXZpZ2F0ZShjb21tYW5kczogc3RyaW5nW10sIGV4dHJhPykge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKGNvbW1hbmRzLCBleHRyYSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL3JvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBSTNDLE1BQU0sT0FBZ0IsVUFBVTtDQUUvQjtBQUNELGNBQWM7QUFFZCxNQUFNLE9BQU8sVUFBVyxTQUFRLFVBQVU7SUFDeEMsWUFDVSxPQUFvQjtRQUU1QixLQUFLLEVBQUUsQ0FBQztRQUZBLFlBQU8sR0FBUCxPQUFPLENBQWE7SUFHOUIsQ0FBQztJQUNELFFBQVEsQ0FBQyxRQUFrQixFQUFFLEtBQU07UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7O3VHQVJVLFVBQVU7MkdBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixVQUFVOztBQVdYLGFBQWE7QUFFYixNQUFNLE9BQU8sUUFBUyxTQUFRLFVBQVU7SUFDdEMsWUFDVSxPQUFlO1FBRXJCLEtBQUssRUFBRSxDQUFDO1FBRkYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUd6QixDQUFDO0lBQ0QsUUFBUSxDQUFDLFFBQWtCLEVBQUUsS0FBTTtRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQzs7cUdBUlUsUUFBUTt5R0FBUixRQUFROzJGQUFSLFFBQVE7a0JBRHBCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gXCIuL3Nsb3RzL3JvdXRlci5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUm91dGVySW1wbCB7XHJcbiAgYWJzdHJhY3QgbmF2aWdhdGUoY29tbWFuZHM6IChzdHJpbmd8bnVtYmVyKVtdLCBleHRyYT8pO1xyXG59XHJcbi8qKiBkZXNrdG9wICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFBhbmVSb3V0ZXIgZXh0ZW5kcyBSb3V0ZXJJbXBsIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXJcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIG5hdmlnYXRlKGNvbW1hbmRzOiBzdHJpbmdbXSwgZXh0cmE/KSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoY29tbWFuZHMsIGV4dHJhKTtcclxuICB9XHJcbn1cclxuLyoqIG1vYmlsZSAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZ1JvdXRlciBleHRlbmRzIFJvdXRlckltcGwge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgICAgc3VwZXIoKTtcclxuICB9XHJcbiAgbmF2aWdhdGUoY29tbWFuZHM6IHN0cmluZ1tdLCBleHRyYT8pIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShjb21tYW5kcywgZXh0cmEpO1xyXG4gIH1cclxufVxyXG4iXX0=