@syncfusion/ej2-angular-schedule 22.1.38 → 22.2.5

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.
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
63
63
  },
64
64
  }]
65
65
  }], ctorParameters: function () { return []; } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVycm93cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2NoZWR1bGUvaGVhZGVycm93cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUd4RCxJQUFJLEtBQUssR0FBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM3QyxJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7Ozs7Ozs7O0dBV0c7QUFTSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBK0I7SUEwQm5FLFlBQW9CLGdCQUFpQztRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURRLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFFakQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQzs7K0dBL0JRLGtCQUFrQjttR0FBbEIsa0JBQWtCO0FBd0IzQjtJQURDLFFBQVEsRUFBRTtvREFDVTsyRkF4Qlosa0JBQWtCO2tCQVI5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUUsRUFFUjtpQkFDSjt1R0F5QlUsUUFBUTtzQkFGZCxZQUFZO3VCQUFDLFVBQVU7O0FBWTVCOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxTQUE4QjtJQUNuRTtRQUNJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QixDQUFDOztnSEFIUSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwyRkFITSxrQkFBa0I7MkZBRzNDLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxPQUFPLEVBQUU7d0JBQ0wsUUFBUSxFQUFFLElBQUksZUFBZSxDQUFDLGtCQUFrQixDQUFDO3FCQUNwRDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgQ29udGVudENoaWxkcmVuLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBsZXhCYXNlLCBBcnJheUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuXG5cbmxldCBpbnB1dDogc3RyaW5nW10gPSBbJ29wdGlvbicsICd0ZW1wbGF0ZSddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gW107XG4vKipcbiAqIGBlLWhlYWRlci1yb3dzYCBkaXJlY3RpdmUgcmVwcmVzZW50IGEgaGVhZGVyIHJvd3Mgb2YgdGhlIFNjaGVkdWxlLiBcbiAqIEl0IG11c3QgYmUgY29udGFpbmVkIGluIGEgU2NoZWR1bGUgY29tcG9uZW50KGBlanMtc2NoZWR1bGVgKS4gXG4gKiBgYGBodG1sXG4gKiA8ZWpzLXNjaGVkdWxlPlxuICogICA8ZS1oZWFkZXItcm93cz5cbiAqICAgIDxlLWhlYWRlci1yb3cgb3B0aW9uPSdXZWVrJz48L2UtaGVhZGVyLXJvdz5cbiAqICAgIDxlLWhlYWRlci1yb3cgb3B0aW9uPSdEYXRlJz48L2UtaGVhZGVyLXJvdz5cbiAqICAgPC9lLWhlYWRlci1yb3dzPlxuICogPC9lanMtc2NoZWR1bGU+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlLWhlYWRlci1yb3dzPmUtaGVhZGVyLXJvdycsXG4gICAgaW5wdXRzOiBpbnB1dCxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLCAgICBcbiAgICBxdWVyaWVzOiB7XG5cbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlclJvd0RpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPEhlYWRlclJvd0RpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcblxuXG4gICAgLyoqIFxuICAgICAqIEl0IGRlZmluZXMgdGhlIGhlYWRlciByb3cgdHlwZSwgd2hpY2ggYWNjZXB0cyBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMuIFxuICAgICAqICogYFllYXJgOiBEZW5vdGVzIHRoZSB5ZWFyIHJvdyBpbiB0aGUgaGVhZGVyIGJhci4gXG4gICAgICogKiBgTW9udGhgOiBEZW5vdGVzIHRoZSBtb250aCByb3cgaW4gdGhlIGhlYWRlciBiYXIuIFxuICAgICAqICogYFdlZWtgOiBEZW5vdGVzIHRoZSB3ZWVrIHJvdyBpbiB0aGUgaGVhZGVyIGJhci4gXG4gICAgICogKiBgRGF0ZWA6IERlbm90ZXMgdGhlIGRhdGUgcm93IGluIHRoZSBoZWFkZXIgYmFyLiBcbiAgICAgKiAqIGBIb3VyYDogRGVub3RlcyB0aGUgaG91ciByb3cgaW4gdGhlIGhlYWRlciBiYXIuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBvcHRpb246IGFueTtcbiAgICAvKiogXG4gICAgICogVGVtcGxhdGUgb3B0aW9uIHRvIGN1c3RvbWl6ZSB0aGUgaW5kaXZpZHVhbCBoZWFkZXIgcm93cy4gSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gXG4gICAgICogIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byB0aGUgaGVhZGVyIGNlbGxzLiBUaGUgZmllbGQgdGhhdCBcbiAgICAgKiAgY2FuIGJlIGFjY2Vzc2VkIHZpYSB0aGlzIHRlbXBsYXRlIGlzIGBkYXRlYC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgndGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRlbXBsYXRlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBIZWFkZXJSb3cgQXJyYXkgRGlyZWN0aXZlXG4gKiBAcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Vqcy1zY2hlZHVsZT5lLWhlYWRlci1yb3dzJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKEhlYWRlclJvd0RpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJSb3dzRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPEhlYWRlclJvd3NEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ2hlYWRlcnJvd3MnKTtcbiAgICB9XG59Il19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVycm93cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2NoZWR1bGUvaGVhZGVycm93cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUd4RCxJQUFJLEtBQUssR0FBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM3QyxJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7Ozs7Ozs7O0dBV0c7QUFTSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBK0I7SUE2Qm5FLFlBQW9CLGdCQUFpQztRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURRLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFFakQsUUFBUSxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQzs7K0dBbENRLGtCQUFrQjttR0FBbEIsa0JBQWtCO0FBMkIzQjtJQURDLFFBQVEsRUFBRTtvREFDVTsyRkEzQlosa0JBQWtCO2tCQVI5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUUsRUFFUjtpQkFDSjt1R0E0QlUsUUFBUTtzQkFGZCxZQUFZO3VCQUFDLFVBQVU7O0FBWTVCOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxTQUE4QjtJQUNuRTtRQUNJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QixDQUFDOztnSEFIUSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwyRkFITSxrQkFBa0I7MkZBRzNDLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxPQUFPLEVBQUU7d0JBQ0wsUUFBUSxFQUFFLElBQUksZUFBZSxDQUFDLGtCQUFrQixDQUFDO3FCQUNwRDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgQ29udGVudENoaWxkcmVuLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBsZXhCYXNlLCBBcnJheUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuXG5cbmxldCBpbnB1dDogc3RyaW5nW10gPSBbJ29wdGlvbicsICd0ZW1wbGF0ZSddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gW107XG4vKipcbiAqIGBlLWhlYWRlci1yb3dzYCBkaXJlY3RpdmUgcmVwcmVzZW50IGEgaGVhZGVyIHJvd3Mgb2YgdGhlIFNjaGVkdWxlLiBcbiAqIEl0IG11c3QgYmUgY29udGFpbmVkIGluIGEgU2NoZWR1bGUgY29tcG9uZW50KGBlanMtc2NoZWR1bGVgKS4gXG4gKiBgYGBodG1sXG4gKiA8ZWpzLXNjaGVkdWxlPlxuICogICA8ZS1oZWFkZXItcm93cz5cbiAqICAgIDxlLWhlYWRlci1yb3cgb3B0aW9uPSdXZWVrJz48L2UtaGVhZGVyLXJvdz5cbiAqICAgIDxlLWhlYWRlci1yb3cgb3B0aW9uPSdEYXRlJz48L2UtaGVhZGVyLXJvdz5cbiAqICAgPC9lLWhlYWRlci1yb3dzPlxuICogPC9lanMtc2NoZWR1bGU+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlLWhlYWRlci1yb3dzPmUtaGVhZGVyLXJvdycsXG4gICAgaW5wdXRzOiBpbnB1dCxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLCAgICBcbiAgICBxdWVyaWVzOiB7XG5cbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlclJvd0RpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPEhlYWRlclJvd0RpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcblxuXG4gICAgLyoqIFxuICAgICAqIEl0IGRlZmluZXMgdGhlIGhlYWRlciByb3cgdHlwZSwgd2hpY2ggYWNjZXB0cyBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMuIFxuICAgICAqICogYFllYXJgOiBEZW5vdGVzIHRoZSB5ZWFyIHJvdyBpbiB0aGUgaGVhZGVyIGJhci4gXG4gICAgICogKiBgTW9udGhgOiBEZW5vdGVzIHRoZSBtb250aCByb3cgaW4gdGhlIGhlYWRlciBiYXIuIFxuICAgICAqICogYFdlZWtgOiBEZW5vdGVzIHRoZSB3ZWVrIHJvdyBpbiB0aGUgaGVhZGVyIGJhci4gXG4gICAgICogKiBgRGF0ZWA6IERlbm90ZXMgdGhlIGRhdGUgcm93IGluIHRoZSBoZWFkZXIgYmFyLiBcbiAgICAgKiAqIGBIb3VyYDogRGVub3RlcyB0aGUgaG91ciByb3cgaW4gdGhlIGhlYWRlciBiYXIuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBvcHRpb246IGFueTtcbiAgICAvKiogXG4gICAgICogVGVtcGxhdGUgb3B0aW9uIHRvIGN1c3RvbWl6ZSB0aGUgaW5kaXZpZHVhbCBoZWFkZXIgcm93cy4gSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gXG4gICAgICogIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byB0aGUgaGVhZGVyIGNlbGxzLiBUaGUgZmllbGQgdGhhdCBcbiAgICAgKiAgY2FuIGJlIGFjY2Vzc2VkIHZpYSB0aGlzIHRlbXBsYXRlIGlzIGBkYXRlYC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgndGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRlbXBsYXRlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBIZWFkZXJSb3cgQXJyYXkgRGlyZWN0aXZlXG4gKiBAcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Vqcy1zY2hlZHVsZT5lLWhlYWRlci1yb3dzJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKEhlYWRlclJvd0RpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJSb3dzRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPEhlYWRlclJvd3NEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ2hlYWRlcnJvd3MnKTtcbiAgICB9XG59Il19
@@ -286,4 +286,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
286
286
  type: ContentChild,
287
287
  args: ['groupHeaderTooltipTemplate']
288
288
  }] } });
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjaGVkdWxlL3NjaGVkdWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsdUJBQXVCLEVBQWlELFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsYUFBYSxFQUErQixlQUFlLEVBQTBCLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdJLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUU3RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyxpQkFBaUIsRUFBQyxrQkFBa0IsRUFBQyxhQUFhLEVBQUMsMEJBQTBCLEVBQUMseUJBQXlCLEVBQUMsZ0JBQWdCLEVBQUMsd0JBQXdCLEVBQUMsZUFBZSxFQUFDLGNBQWMsRUFBQyxjQUFjLEVBQUMsb0JBQW9CLEVBQUMsY0FBYyxFQUFDLFVBQVUsRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLG9CQUFvQixFQUFDLG1CQUFtQixFQUFDLG1CQUFtQixFQUFDLGdCQUFnQixFQUFDLGtCQUFrQixFQUFDLG9CQUFvQixFQUFDLHFCQUFxQixFQUFDLG1CQUFtQixFQUFDLDRCQUE0QixFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsZUFBZSxFQUFDLGVBQWUsRUFBQyxnQkFBZ0IsRUFBQyxrQkFBa0IsRUFBQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsWUFBWSxFQUFDLFFB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QUFFO3dCQUNMLFVBQVUsRUFBRSxJQUFJLFlBQVksQ0FBQyxjQUFjLENBQUM7d0JBQzVDLGNBQWMsRUFBRSxJQUFJLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQzt3QkFDcEQsZUFBZSxFQUFFLElBQUksWUFBWSxDQUFDLG1CQUFtQixDQUFDO3FCQUN6RDtpQkFDSjsrS0E4Q1Usa0JBQWtCO3NCQUZ4QixZQUFZO3VCQUFDLG9CQUFvQjtnQkFVM0IsaUJBQWlCO3NCQUZ2QixZQUFZO3VCQUFDLG1CQUFtQjtnQkFjMUIsaUJBQWlCO3NCQUZ2QixZQUFZO3VCQUFDLG1CQUFtQjtnQkFvQjFCLFlBQVk7c0JBRmxCLFlBQVk7dUJBQUMsY0FBYztnQkFjckIsa0JBQWtCO3NCQUZ4QixZQUFZO3VCQUFDLG9CQUFvQjtnQkFLM0IsNkJBQTZCO3NCQUZuQyxZQUFZO3VCQUFDLDhCQUE4QjtnQkFLckMsc0JBQXNCO3NCQUY1QixZQUFZO3VCQUFDLHVCQUF1QjtnQkFjOUIsY0FBYztzQkFGcEIsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBY3ZCLG1CQUFtQjtzQkFGekIsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBSzVCLDJCQUEyQjtzQkFGakMsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBS25DLDJCQUEyQjtzQkFGakMsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBbUJuQyxzQkFBc0I7c0JBRjVCLFlBQVk7dUJBQUMsd0JBQXdCO2dCQWdCL0Isb0JBQW9CO3NCQUYxQixZQUFZO3VCQUFDLHNCQUFzQjtnQkFLN0IseUJBQXlCO3NCQUYvQixZQUFZO3VCQUFDLDBCQUEwQjtnQkFLakMsMEJBQTBCO3NCQUZoQyxZQUFZO3VCQUFDLDJCQUEyQjtnQkFLbEMseUJBQXlCO3NCQUYvQixZQUFZO3VCQUFDLDBCQUEwQjtnQkFLakMsMkJBQTJCO3NCQUZqQyxZQUFZO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyLCBJbmplY3RvciwgVmFsdWVQcm92aWRlciwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRCYXNlLCBJQ29tcG9uZW50QmFzZSwgYXBwbHlNaXhpbnMsIENvbXBvbmVudE1peGlucywgUHJvcGVydHlDb2xsZWN0aW9uSW5mbywgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFNjaGVkdWxlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLXNjaGVkdWxlJztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBWaWV3c0RpcmVjdGl2ZSB9IGZyb20gJy4vdmlld3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJlc291cmNlc0RpcmVjdGl2ZSB9IGZyb20gJy4vcmVzb3VyY2VzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBIZWFkZXJSb3dzRGlyZWN0aXZlIH0gZnJvbSAnLi9oZWFkZXJyb3dzLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBpbnB1dHM6IHN0cmluZ1tdID0gWydhZ2VuZGFEYXlzQ291bnQnLCdhbGxvd0RyYWdBbmREcm9wJywnYWxsb3dJbmxpbmUnLCdhbGxvd0tleWJvYXJkSW50ZXJhY3Rpb24nLCdhbGxvd011bHRpQ2VsbFNlbGVjdGlvbicsJ2FsbG93TXVsdGlEcmFnJywnYWxsb3dNdWx0aVJvd1NlbGVjdGlvbicsJ2FsbG93UmVzaXppbmcnLCdhbGxvd1N3aXBpbmcnLCdjYWxlbmRhck1vZGUnLCdjZWxsSGVhZGVyVGVtcGxhdGUnLCdjZWxsVGVtcGxhdGUnLCdjc3NDbGFzcycsJ2N1cnJlbnRWaWV3JywnZGF0ZUZvcm1hdCcsJ2RhdGVIZWFkZXJUZW1wbGF0ZScsJ2RhdGVSYW5nZVRlbXBsYXRlJywnZGF5SGVhZGVyVGVtcGxhdGUnLCdlZGl0b3JUZW1wbGF0ZScsJ2VuYWJsZUFkYXB0aXZlVUknLCdlbmFibGVBbGxEYXlTY3JvbGwnLCdlbmFibGVIdG1sU2FuaXRpemVyJywnZW5hYmxlUGVyc2lzdGVuY2UnLCdlbmFibGVSZWN1cnJlbmNlVmFsaWRhdGlvbicsJ2VuYWJsZVJ0bCcsJ2VuZEhvdXInLCdldmVudERyYWdBcmVhJywnZXZlbnRTZXR0aW5ncycsJ2ZpcnN0RGF5T2ZXZWVrJywnZmlyc3RNb250aE9mWWVhcicsJ2dyb3VwJywnaGVhZGVySW5kZW50VGVtcGxhdGUnLCdoZWFkZXJSb3dzJywnaGVpZ2h0JywnaGlkZUVtcHR5QWdlbmRhRGF5cycsJ2xvY2FsZScsJ21heERhdGUnLCdtaW5EYXRlJywnbW9udGhIZWFkZXJUZW1wbGF0ZScsJ21vbnRoc0NvdW50JywncXVpY2tJbmZvT25TZWxlY3Rpb25FbmQnLCdxdWlja0luZm9UZW1wbGF0ZXMnLCdyZWFkb25seScsJ3Jlc291cmNlSGVhZGVyVGVtcGxhdGUnLCdyZXNvdXJjZXMnLCdyb3dBdXRvSGVpZ2h0Jywnc2VsZWN0ZWREYXRlJywnc2hvd0hlYWRlckJhcicsJ3Nob3dRdWlja0luZm8nLCdzaG93VGltZUluZGljYXRvcicsJ3Nob3dXZWVrTnVtYmVyJywnc2hvd1dlZWtlbmQnLCdzdGFydEhvdXInLCd0aW1lRm9ybWF0JywndGltZVNjYWxlJywndGltZXpvbmUnLCd0aW1lem9uZURhdGFTb3VyY2UnLCd2aWV3cycsJ3dlZWtSdWxlJywnd2lkdGgnLCd3b3JrRGF5cycsJ3dvcmtIb3VycyddO1xuZXhwb3J0IGNvbnN0IG91dHB1dHM6IHN0cmluZ1tdID0gWydhY3Rpb25CZWdpbicsJ2FjdGlvbkNvbXBsZXRlJywnYWN0aW9uRmFpbHVyZScsJ2NlbGxDbGljaycsJ2NlbGxEb3VibGVDbGljaycsJ2NyZWF0ZWQnLCdkYXRhQmluZGluZycsJ2RhdGFCb3VuZCcsJ2Rlc3Ryb3llZCcsJ2RyYWcnLCdkcmFnU3RhcnQnLCdkcmFnU3RvcCcsJ2V2ZW50Q2xpY2snLCdldmVudFJlbmRlcmVkJywnaG92ZXInLCdtb3JlRXZlbnRzQ2xpY2snLCduYXZpZ2F0aW5nJywncG9wdXBDbG9zZScsJ3BvcHVwT3BlbicsJ3JlbmRlckNlbGwnLCdyZXNpemVTdGFydCcsJ3Jlc2l6ZVN0b3AnLCdyZXNpemluZycsJ3NlbGVjdCcsJ2N1cnJlbnRWaWV3Q2hhbmdlJywnc2VsZWN0ZWREYXRlQ2hhbmdlJ107XG5leHBvcnQgY29uc3QgdHdvV2F5czogc3RyaW5nW10gPSBbJ2N1cnJlbnRWaWV3JywgJ3NlbGVjdGVkRGF0ZSddO1xuXG4vKipcbiAqIGBlai1zY2hlZHVsZWAgcmVwcmVzZW50cyB0aGUgQW5ndWxhciBTY2hlZHVsZSBDb21wb25lbnQuXG4gKiBgYGBodG1sXG4gKiA8ZWpzLXNjaGVkdWxlPjwvZWpzLXNjaGVkdWxlPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWpzLXNjaGVkdWxlJyxcbiAgICBpbnB1dHM6IGlucHV0cyxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkVmlld3M6IG5ldyBDb250ZW50Q2hpbGQoVmlld3NEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRSZXNvdXJjZXM6IG5ldyBDb250ZW50Q2hpbGQoUmVzb3VyY2VzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkSGVhZGVyUm93czogbmV3IENvbnRlbnRDaGlsZChIZWFkZXJSb3dzRGlyZWN0aXZlKVxuICAgIH1cbn0pXG5AQ29tcG9uZW50TWl4aW5zKFtDb21wb25lbnRCYXNlXSlcbmV4cG9ydCBjbGFzcyBTY2hlZHVsZUNvbXBvbmVudCBleHRlbmRzIFNjaGVkdWxlIGltcGxlbWVudHMgSUNvbXBvbmVudEJhc2Uge1xuICAgIHB1YmxpYyBjb250ZXh0IDogYW55O1xuICAgIHB1YmxpYyB0YWdPYmplY3RzOiBhbnk7XG5cdGFjdGlvbkJlZ2luOiBhbnk7XG5cdGFjdGlvbkNvbXBsZXRlOiBhbnk7XG5cdGFjdGlvbkZhaWx1cmU6IGFueTtcblx0Y2VsbENsaWNrOiBhbnk7XG5cdGNlbGxEb3VibGVDbGljazogYW55O1xuXHRjcmVhdGVkOiBhbnk7XG5cdGRhdGFCaW5kaW5nOiBhbnk7XG5cdGRhdGFCb3VuZDogYW55O1xuXHRkZXN0cm95ZWQ6IGFueTtcblx0ZHJhZzogYW55O1xuXHRkcmFnU3RhcnQ6IGFueTtcblx0ZHJhZ1N0b3A6IGFueTtcblx0ZXZlbnRDbGljazogYW55O1xuXHRldmVudFJlbmRlcmVkOiBhbnk7XG5cdGhvdmVyOiBhbnk7XG5cdG1vcmVFdmVudHNDbGljazogYW55O1xuXHRuYXZpZ2F0aW5nOiBhbnk7XG5cdHBvcHVwQ2xvc2U6IGFueTtcblx0cG9wdXBPcGVuOiBhbnk7XG5cdHJlbmRlckNlbGw6IGFueTtcblx0cmVzaXplU3RhcnQ6IGFueTtcblx0cmVzaXplU3RvcDogYW55O1xuXHRyZXNpemluZzogYW55O1xuXHRzZWxlY3Q6IGFueTtcblx0Y3VycmVudFZpZXdDaGFuZ2U6IGFueTtcblx0cHVibGljIHNlbGVjdGVkRGF0ZUNoYW5nZTogYW55O1xuICAgIHB1YmxpYyBjaGlsZFZpZXdzOiBRdWVyeUxpc3Q8Vmlld3NEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZFJlc291cmNlczogUXVlcnlMaXN0PFJlc291cmNlc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkSGVhZGVyUm93czogUXVlcnlMaXN0PEhlYWRlclJvd3NEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyB0YWdzOiBzdHJpbmdbXSA9IFsndmlld3MnLCAncmVzb3VyY2VzJywgJ2hlYWRlclJvd3MnXTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIFxuICAgICAqIHRoZSBkYXRlIGhlYWRlciBjZWxscy4gVGhlIGZpZWxkIHRoYXQgY2FuIGJlIGFjY2Vzc2VkIHZpYSB0aGlzIHRlbXBsYXRlIGlzIGBkYXRlYC5cbiAgICAgKiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPSdzY2hlZHVsZS9kYXRlSGVhZGVyVGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdkYXRlSGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGRhdGVIZWFkZXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBjb250ZW50IGFuZCBwYXJzZSBpdCBhcHByb3ByaWF0ZWx5IGJlZm9yZSBkaXNwbGF5aW5nIGl0IG9udG8gdGhlIGhlYWRlciBkYXRlIHJhbmdlLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdkYXRlUmFuZ2VUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZGF0ZVJhbmdlVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIFxuICAgICAqIHRoZSBkYXkgaGVhZGVyIGNlbGxzLiBUaGlzIHRlbXBsYXRlIGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgeWVhciB2aWV3IGhlYWRlciBjZWxscy5cbiAgICAgKiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPSdzY2hlZHVsZS9kYXlIZWFkZXJUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2RheUhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBkYXlIZWFkZXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgdGVtcGxhdGUgb3B0aW9uIHdoaWNoIGlzIHVzZWQgdG8gcmVuZGVyIHRoZSBjdXN0b21pemVkIHdvcmsgY2VsbHMgb24gdGhlIFNjaGVkdWxlLiBIZXJlLCB0aGUgdGVtcGxhdGUgYWNjZXB0cyBlaXRoZXIgXG4gICAgICogIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGFuZCB0aGVuIHRoZSBwYXJzZWQgZGVzaWduIGlzIGRpc3BsYXllZCBvbnRvIHRoZSB3b3JrIGNlbGxzLiBcbiAgICAgKiAgVGhlIGZpZWxkcyBhY2Nlc3NpYmxlIHZpYSB0ZW1wbGF0ZSBhcmUgYXMgZm9sbG93cy4gXG4gICAgICogKiBgZGF0ZWA6IFJldHVybnMgdGhlIGRhdGUgb2YgdGhlIGNlbGwuIFxuICAgICAqICogYGdyb3VwSW5kZXhgOiBSZXR1cm5zIHRoZSBncm91cCBpbmRleCBvZiB0aGUgY2VsbC4gXG4gICAgICogKiBgdHlwZWA6IFJldHVybnMgdGhlIHR5cGUgb2YgdGhlIHdvcmsgY2VsbC5cbiAgICAgKiBcbiAgICAgKiBSZWZlciB0byB0aGUgYmVsb3cgY29kZSBzbmlwcGV0LlxuICAgICAqXG4gICAgICp7JSBjb2RlQmxvY2sgc3JjPSdzY2hlZHVsZS9jZWxsVGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdjZWxsVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGNlbGxUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBjb250ZW50IGFuZCBwYXJzZSBpdCBhcHByb3ByaWF0ZWx5IGJlZm9yZSBkaXNwbGF5aW5nIGl0IG9udG8gXG4gICAgICogdGhlIG1vbnRoIGRhdGUgY2VsbHMuIFRoaXMgdGVtcGxhdGUgaXMgb25seSBhcHBsaWNhYmxlIGZvciBtb250aCB2aWV3IGRheSBjZWxscy5cbiAgICAgKiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPSdzY2hlZHVsZS9jZWxsSGVhZGVyVGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdjZWxsSGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGNlbGxIZWFkZXJUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ2V2ZW50U2V0dGluZ3NUb29sdGlwVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGV2ZW50U2V0dGluZ3NfdG9vbHRpcFRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnZXZlbnRTZXR0aW5nc1RlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBldmVudFNldHRpbmdzX3RlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBvcHRpb24gdG8gcmVuZGVyIHRoZSBjdXN0b21pemVkIGVkaXRvciB3aW5kb3cuIFRoZSBmb3JtIGVsZW1lbnRzIGRlZmluZWQgd2l0aGluIHRoaXMgdGVtcGxhdGUgc2hvdWxkIGJlIGFjY29tcGFuaWVkIFxuICAgICAqICB3aXRoIGBlLWZpZWxkYCBjbGFzcywgc28gYXMgdG8gZmV0Y2ggYW5kIHByb2Nlc3MgaXQgZnJvbSBpbnRlcm5hbGx5LlxuICAgICAqIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL2VkaXRvclRlbXBsYXRlL2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZWRpdG9yVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGVkaXRvclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byBcbiAgICAgKiB0aGUgbW9udGggaGVhZGVyIGNlbGxzLiBUaGlzIHRlbXBsYXRlIGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgeWVhciB2aWV3IGhlYWRlciBjZWxscy5cbiAgICAgKiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPSdzY2hlZHVsZS9tb250aEhlYWRlclRlbXBsYXRlL2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbW9udGhIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgbW9udGhIZWFkZXJUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3RpbWVTY2FsZU1pbm9yU2xvdFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0aW1lU2NhbGVfbWlub3JTbG90VGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCd0aW1lU2NhbGVNYWpvclNsb3RUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdGltZVNjYWxlX21ham9yU2xvdFRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRlbXBsYXRlIG9wdGlvbiB0byBjdXN0b21pemUgdGhlIHJlc291cmNlIGhlYWRlciBiYXIuIEhlcmUsIHRoZSB0ZW1wbGF0ZSBhY2NlcHRzIGVpdGhlciBcbiAgICAgKiAgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gYW5kIHRoZW4gdGhlIHBhcnNlZCBkZXNpZ24gaXMgZGlzcGxheWVkIG9udG8gdGhlIHJlc291cmNlIGhlYWRlciBjZWxscy4gXG4gICAgICogVGhlIGZvbGxvd2luZyBjYW4gYmUgYWNjZXNzaWJsZSB2aWEgdGVtcGxhdGUuIFxuICAgICAqICogYHJlc291cmNlYCAtIEFsbCB0aGUgcmVzb3VyY2UgZmllbGRzLiBcbiAgICAgKiAqIGByZXNvdXJjZURhdGFgIC0gT2JqZWN0IGNvbGxlY3Rpb24gb2YgY3VycmVudCByZXNvdXJjZS5cbiAgICAgKiBcbiAgICAgKiBSZWZlciB0byB0aGUgYmVsb3cgY29kZSBzbmlwcGV0LlxuICAgICAqXG4gICAgICp7JSBjb2RlQmxvY2sgc3JjPSdzY2hlZHVsZS9yZXNvdXJjZUhlYWRlclRlbXBsYXRlL2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncmVzb3VyY2VIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgcmVzb3VyY2VIZWFkZXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUZW1wbGF0ZSBvcHRpb24gdG8gY3VzdG9taXplIHRoZSBoZWFkZXIgaW5kZW50IGJhci4gSGVyZSwgdGhlIHRlbXBsYXRlIGFjY2VwdHMgZWl0aGVyIFxuICAgICAqICB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBhbmQgdGhlbiB0aGUgcGFyc2VkIGRlc2lnbiBpcyBkaXNwbGF5ZWQgb250byB0aGUgaGVhZGVyIGluZGVudCBjZWxsLlxuICAgICAqIFxuICAgICAqIFJlZmVyIHRvIHRoZSBiZWxvdyBjb2RlIHNuaXBwZXQuXG4gICAgICpcbiAgICAgKnslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL2hlYWRlckluZGVudFRlbXBsYXRlL2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaGVhZGVySW5kZW50VGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGhlYWRlckluZGVudFRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgncXVpY2tJbmZvVGVtcGxhdGVzSGVhZGVyJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBxdWlja0luZm9UZW1wbGF0ZXNfaGVhZGVyOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgncXVpY2tJbmZvVGVtcGxhdGVzQ29udGVudCcpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgcXVpY2tJbmZvVGVtcGxhdGVzX2NvbnRlbnQ6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdxdWlja0luZm9UZW1wbGF0ZXNGb290ZXInKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHF1aWNrSW5mb1RlbXBsYXRlc19mb290ZXI6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdncm91cEhlYWRlclRvb2x0aXBUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZ3JvdXBfaGVhZGVyVG9vbHRpcFRlbXBsYXRlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nRWxlOiBFbGVtZW50UmVmLCBwcml2YXRlIHNyZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gdGhpcy5uZ0VsZS5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcyA9IHRoaXMuaW5qZWN0ZWRNb2R1bGVzIHx8IFtdO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVEYXknKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlV2VlaycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVXb3JrV2VlaycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVNb250aCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVZZWFyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZUFnZW5kYScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVNb250aEFnZW5kYScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVUaW1lbGluZVZpZXdzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZVRpbWVsaW5lTW9udGgnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlVGltZWxpbmVZZWFyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZVJlc2l6ZScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVEcmFnQW5kRHJvcCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVFeGNlbEV4cG9ydCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVJQ2FsZW5kYXJFeHBvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlSUNhbGVuZGFySW1wb3J0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZVByaW50Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHJcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5hZGRUd29XYXkuY2FsbCh0aGlzLCB0d29XYXlzKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMuY29udGV4dCAgPSBuZXcgQ29tcG9uZW50QmFzZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nT25Jbml0KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ0FmdGVyVmlld0luaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkRlc3Ryb3kodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWdPYmplY3RzWzBdLmluc3RhbmNlID0gdGhpcy5jaGlsZFZpZXdzO1xuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkUmVzb3VyY2VzKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbMV0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkUmVzb3VyY2VzO1xuICAgICAgICB9XG4gICAgICAgIFxuXHQgICAgaWYgKHRoaXMuY2hpbGRIZWFkZXJSb3dzKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbMl0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkSGVhZGVyUm93cztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRleHQubmdBZnRlckNvbnRlbnRDaGVja2VkKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlckV2ZW50czogKGV2ZW50TGlzdDogc3RyaW5nW10pID0+IHZvaWQ7XG4gICAgcHVibGljIGFkZFR3b1dheTogKHByb3BMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbn1cblxuIl19
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjaGVkdWxlL3NjaGVkdWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsdUJBQXVCLEVBQWlELFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsYUFBYSxFQUErQixlQUFlLEVBQTBCLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdJLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUU3RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyxpQkFBaUIsRUFBQyxrQkFBa0IsRUFBQyxhQUFhLEVBQUMsMEJBQTBCLEVBQUMseUJBQXlCLEVBQUMsZ0JBQWdCLEVBQUMsd0JBQXdCLEVBQUMsZUFBZSxFQUFDLGNBQWMsRUFBQyxjQUFjLEVBQUMsb0JBQW9CLEVBQUMsY0FBYyxFQUFDLFVBQVUsRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLG9CQUFvQixFQUFDLG1CQUFtQixFQUFDLG1CQUFtQixFQUFDLGdCQUFnQixFQUFDLGtCQUFrQixFQUFDLG9CQUFvQixFQUFDLHFCQUFxQixFQUFDLG1CQUFtQixFQUFDLDRCQUE0QixFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsZUFBZSxFQUFDLGVBQWUsRUFBQyxnQkFBZ0IsRUFBQyxrQkFBa0IsRUFBQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsWUFBWSxFQUFDLFFB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RUFBRTt3QkFDTCxVQUFVLEVBQUUsSUFBSSxZQUFZLENBQUMsY0FBYyxDQUFDO3dCQUM1QyxjQUFjLEVBQUUsSUFBSSxZQUFZLENBQUMsa0JBQWtCLENBQUM7d0JBQ3BELGVBQWUsRUFBRSxJQUFJLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztxQkFDekQ7aUJBQ0o7K0tBaURVLGtCQUFrQjtzQkFGeEIsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBYTNCLGlCQUFpQjtzQkFGdkIsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBaUIxQixpQkFBaUI7c0JBRnZCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQXVCMUIsWUFBWTtzQkFGbEIsWUFBWTt1QkFBQyxjQUFjO2dCQWlCckIsa0JBQWtCO3NCQUZ4QixZQUFZO3VCQUFDLG9CQUFvQjtnQkFLM0IsNkJBQTZCO3NCQUZuQyxZQUFZO3VCQUFDLDhCQUE4QjtnQkFLckMsc0JBQXNCO3NCQUY1QixZQUFZO3VCQUFDLHVCQUF1QjtnQkFpQjlCLGNBQWM7c0JBRnBCLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQWlCdkIsbUJBQW1CO3NCQUZ6QixZQUFZO3VCQUFDLHFCQUFxQjtnQkFLNUIsMkJBQTJCO3NCQUZqQyxZQUFZO3VCQUFDLDRCQUE0QjtnQkFLbkMsMkJBQTJCO3NCQUZqQyxZQUFZO3VCQUFDLDRCQUE0QjtnQkFzQm5DLHNCQUFzQjtzQkFGNUIsWUFBWTt1QkFBQyx3QkFBd0I7Z0JBbUIvQixvQkFBb0I7c0JBRjFCLFlBQVk7dUJBQUMsc0JBQXNCO2dCQUs3Qix5QkFBeUI7c0JBRi9CLFlBQVk7dUJBQUMsMEJBQTBCO2dCQUtqQywwQkFBMEI7c0JBRmhDLFlBQVk7dUJBQUMsMkJBQTJCO2dCQUtsQyx5QkFBeUI7c0JBRi9CLFlBQVk7dUJBQUMsMEJBQTBCO2dCQUtqQywyQkFBMkI7c0JBRmpDLFlBQVk7dUJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIEluamVjdG9yLCBWYWx1ZVByb3ZpZGVyLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEJhc2UsIElDb21wb25lbnRCYXNlLCBhcHBseU1peGlucywgQ29tcG9uZW50TWl4aW5zLCBQcm9wZXJ0eUNvbGxlY3Rpb25JbmZvLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgU2NoZWR1bGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItc2NoZWR1bGUnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFZpZXdzRGlyZWN0aXZlIH0gZnJvbSAnLi92aWV3cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmVzb3VyY2VzRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXNvdXJjZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhlYWRlclJvd3NEaXJlY3RpdmUgfSBmcm9tICcuL2hlYWRlcnJvd3MuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IGlucHV0czogc3RyaW5nW10gPSBbJ2FnZW5kYURheXNDb3VudCcsJ2FsbG93RHJhZ0FuZERyb3AnLCdhbGxvd0lubGluZScsJ2FsbG93S2V5Ym9hcmRJbnRlcmFjdGlvbicsJ2FsbG93TXVsdGlDZWxsU2VsZWN0aW9uJywnYWxsb3dNdWx0aURyYWcnLCdhbGxvd011bHRpUm93U2VsZWN0aW9uJywnYWxsb3dSZXNpemluZycsJ2FsbG93U3dpcGluZycsJ2NhbGVuZGFyTW9kZScsJ2NlbGxIZWFkZXJUZW1wbGF0ZScsJ2NlbGxUZW1wbGF0ZScsJ2Nzc0NsYXNzJywnY3VycmVudFZpZXcnLCdkYXRlRm9ybWF0JywnZGF0ZUhlYWRlclRlbXBsYXRlJywnZGF0ZVJhbmdlVGVtcGxhdGUnLCdkYXlIZWFkZXJUZW1wbGF0ZScsJ2VkaXRvclRlbXBsYXRlJywnZW5hYmxlQWRhcHRpdmVVSScsJ2VuYWJsZUFsbERheVNjcm9sbCcsJ2VuYWJsZUh0bWxTYW5pdGl6ZXInLCdlbmFibGVQZXJzaXN0ZW5jZScsJ2VuYWJsZVJlY3VycmVuY2VWYWxpZGF0aW9uJywnZW5hYmxlUnRsJywnZW5kSG91cicsJ2V2ZW50RHJhZ0FyZWEnLCdldmVudFNldHRpbmdzJywnZmlyc3REYXlPZldlZWsnLCdmaXJzdE1vbnRoT2ZZZWFyJywnZ3JvdXAnLCdoZWFkZXJJbmRlbnRUZW1wbGF0ZScsJ2hlYWRlclJvd3MnLCdoZWlnaHQnLCdoaWRlRW1wdHlBZ2VuZGFEYXlzJywnbG9jYWxlJywnbWF4RGF0ZScsJ21pbkRhdGUnLCdtb250aEhlYWRlclRlbXBsYXRlJywnbW9udGhzQ291bnQnLCdxdWlja0luZm9PblNlbGVjdGlvbkVuZCcsJ3F1aWNrSW5mb1RlbXBsYXRlcycsJ3JlYWRvbmx5JywncmVzb3VyY2VIZWFkZXJUZW1wbGF0ZScsJ3Jlc291cmNlcycsJ3Jvd0F1dG9IZWlnaHQnLCdzZWxlY3RlZERhdGUnLCdzaG93SGVhZGVyQmFyJywnc2hvd1F1aWNrSW5mbycsJ3Nob3dUaW1lSW5kaWNhdG9yJywnc2hvd1dlZWtOdW1iZXInLCdzaG93V2Vla2VuZCcsJ3N0YXJ0SG91cicsJ3RpbWVGb3JtYXQnLCd0aW1lU2NhbGUnLCd0aW1lem9uZScsJ3RpbWV6b25lRGF0YVNvdXJjZScsJ3ZpZXdzJywnd2Vla1J1bGUnLCd3aWR0aCcsJ3dvcmtEYXlzJywnd29ya0hvdXJzJ107XG5leHBvcnQgY29uc3Qgb3V0cHV0czogc3RyaW5nW10gPSBbJ2FjdGlvbkJlZ2luJywnYWN0aW9uQ29tcGxldGUnLCdhY3Rpb25GYWlsdXJlJywnY2VsbENsaWNrJywnY2VsbERvdWJsZUNsaWNrJywnY3JlYXRlZCcsJ2RhdGFCaW5kaW5nJywnZGF0YUJvdW5kJywnZGVzdHJveWVkJywnZHJhZycsJ2RyYWdTdGFydCcsJ2RyYWdTdG9wJywnZXZlbnRDbGljaycsJ2V2ZW50UmVuZGVyZWQnLCdob3ZlcicsJ21vcmVFdmVudHNDbGljaycsJ25hdmlnYXRpbmcnLCdwb3B1cENsb3NlJywncG9wdXBPcGVuJywncmVuZGVyQ2VsbCcsJ3Jlc2l6ZVN0YXJ0JywncmVzaXplU3RvcCcsJ3Jlc2l6aW5nJywnc2VsZWN0JywnY3VycmVudFZpZXdDaGFuZ2UnLCdzZWxlY3RlZERhdGVDaGFuZ2UnXTtcbmV4cG9ydCBjb25zdCB0d29XYXlzOiBzdHJpbmdbXSA9IFsnY3VycmVudFZpZXcnLCAnc2VsZWN0ZWREYXRlJ107XG5cbi8qKlxuICogYGVqLXNjaGVkdWxlYCByZXByZXNlbnRzIHRoZSBBbmd1bGFyIFNjaGVkdWxlIENvbXBvbmVudC5cbiAqIGBgYGh0bWxcbiAqIDxlanMtc2NoZWR1bGU+PC9lanMtc2NoZWR1bGU+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlanMtc2NoZWR1bGUnLFxuICAgIGlucHV0czogaW5wdXRzLFxuICAgIG91dHB1dHM6IG91dHB1dHMsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRWaWV3czogbmV3IENvbnRlbnRDaGlsZChWaWV3c0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZFJlc291cmNlczogbmV3IENvbnRlbnRDaGlsZChSZXNvdXJjZXNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRIZWFkZXJSb3dzOiBuZXcgQ29udGVudENoaWxkKEhlYWRlclJvd3NEaXJlY3RpdmUpXG4gICAgfVxufSlcbkBDb21wb25lbnRNaXhpbnMoW0NvbXBvbmVudEJhc2VdKVxuZXhwb3J0IGNsYXNzIFNjaGVkdWxlQ29tcG9uZW50IGV4dGVuZHMgU2NoZWR1bGUgaW1wbGVtZW50cyBJQ29tcG9uZW50QmFzZSB7XG4gICAgcHVibGljIGNvbnRleHQgOiBhbnk7XG4gICAgcHVibGljIHRhZ09iamVjdHM6IGFueTtcblx0YWN0aW9uQmVnaW46IGFueTtcblx0YWN0aW9uQ29tcGxldGU6IGFueTtcblx0YWN0aW9uRmFpbHVyZTogYW55O1xuXHRjZWxsQ2xpY2s6IGFueTtcblx0Y2VsbERvdWJsZUNsaWNrOiBhbnk7XG5cdGNyZWF0ZWQ6IGFueTtcblx0ZGF0YUJpbmRpbmc6IGFueTtcblx0ZGF0YUJvdW5kOiBhbnk7XG5cdGRlc3Ryb3llZDogYW55O1xuXHRkcmFnOiBhbnk7XG5cdGRyYWdTdGFydDogYW55O1xuXHRkcmFnU3RvcDogYW55O1xuXHRldmVudENsaWNrOiBhbnk7XG5cdGV2ZW50UmVuZGVyZWQ6IGFueTtcblx0aG92ZXI6IGFueTtcblx0bW9yZUV2ZW50c0NsaWNrOiBhbnk7XG5cdG5hdmlnYXRpbmc6IGFueTtcblx0cG9wdXBDbG9zZTogYW55O1xuXHRwb3B1cE9wZW46IGFueTtcblx0cmVuZGVyQ2VsbDogYW55O1xuXHRyZXNpemVTdGFydDogYW55O1xuXHRyZXNpemVTdG9wOiBhbnk7XG5cdHJlc2l6aW5nOiBhbnk7XG5cdHNlbGVjdDogYW55O1xuXHRjdXJyZW50Vmlld0NoYW5nZTogYW55O1xuXHRwdWJsaWMgc2VsZWN0ZWREYXRlQ2hhbmdlOiBhbnk7XG4gICAgcHVibGljIGNoaWxkVmlld3M6IFF1ZXJ5TGlzdDxWaWV3c0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkUmVzb3VyY2VzOiBRdWVyeUxpc3Q8UmVzb3VyY2VzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRIZWFkZXJSb3dzOiBRdWVyeUxpc3Q8SGVhZGVyUm93c0RpcmVjdGl2ZT47XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWyd2aWV3cycsICdyZXNvdXJjZXMnLCAnaGVhZGVyUm93cyddO1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBjb250ZW50IGFuZCBwYXJzZSBpdCBhcHByb3ByaWF0ZWx5IGJlZm9yZSBkaXNwbGF5aW5nIGl0IG9udG8gXG4gICAgICogdGhlIGRhdGUgaGVhZGVyIGNlbGxzLiBUaGUgZmllbGQgdGhhdCBjYW4gYmUgYWNjZXNzZWQgdmlhIHRoaXMgdGVtcGxhdGUgaXMgYGRhdGVgLlxuICAgICAqIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL2RhdGVIZWFkZXJUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2RhdGVIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZGF0ZUhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byB0aGUgaGVhZGVyIGRhdGUgcmFuZ2UuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2RhdGVSYW5nZVRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBkYXRlUmFuZ2VUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBjb250ZW50IGFuZCBwYXJzZSBpdCBhcHByb3ByaWF0ZWx5IGJlZm9yZSBkaXNwbGF5aW5nIGl0IG9udG8gXG4gICAgICogdGhlIGRheSBoZWFkZXIgY2VsbHMuIFRoaXMgdGVtcGxhdGUgaXMgb25seSBhcHBsaWNhYmxlIGZvciB5ZWFyIHZpZXcgaGVhZGVyIGNlbGxzLlxuICAgICAqIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL2RheUhlYWRlclRlbXBsYXRlL2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF5SGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGRheUhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBvcHRpb24gd2hpY2ggaXMgdXNlZCB0byByZW5kZXIgdGhlIGN1c3RvbWl6ZWQgd29yayBjZWxscyBvbiB0aGUgU2NoZWR1bGUuIEhlcmUsIHRoZSB0ZW1wbGF0ZSBhY2NlcHRzIGVpdGhlciBcbiAgICAgKiAgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gYW5kIHRoZW4gdGhlIHBhcnNlZCBkZXNpZ24gaXMgZGlzcGxheWVkIG9udG8gdGhlIHdvcmsgY2VsbHMuIFxuICAgICAqICBUaGUgZmllbGRzIGFjY2Vzc2libGUgdmlhIHRlbXBsYXRlIGFyZSBhcyBmb2xsb3dzLiBcbiAgICAgKiAqIGBkYXRlYDogUmV0dXJucyB0aGUgZGF0ZSBvZiB0aGUgY2VsbC4gXG4gICAgICogKiBgZ3JvdXBJbmRleGA6IFJldHVybnMgdGhlIGdyb3VwIGluZGV4IG9mIHRoZSBjZWxsLiBcbiAgICAgKiAqIGB0eXBlYDogUmV0dXJucyB0aGUgdHlwZSBvZiB0aGUgd29yayBjZWxsLlxuICAgICAqIFxuICAgICAqIFJlZmVyIHRvIHRoZSBiZWxvdyBjb2RlIHNuaXBwZXQuXG4gICAgICpcbiAgICAgKnslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL2NlbGxUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2NlbGxUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byBcbiAgICAgKiB0aGUgbW9udGggZGF0ZSBjZWxscy4gVGhpcyB0ZW1wbGF0ZSBpcyBvbmx5IGFwcGxpY2FibGUgZm9yIG1vbnRoIHZpZXcgZGF5IGNlbGxzLlxuICAgICAqIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL2NlbGxIZWFkZXJUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2NlbGxIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgY2VsbEhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnZXZlbnRTZXR0aW5nc1Rvb2x0aXBUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZXZlbnRTZXR0aW5nc190b29sdGlwVGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdldmVudFNldHRpbmdzVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGV2ZW50U2V0dGluZ3NfdGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHRlbXBsYXRlIG9wdGlvbiB0byByZW5kZXIgdGhlIGN1c3RvbWl6ZWQgZWRpdG9yIHdpbmRvdy4gVGhlIGZvcm0gZWxlbWVudHMgZGVmaW5lZCB3aXRoaW4gdGhpcyB0ZW1wbGF0ZSBzaG91bGQgYmUgYWNjb21wYW5pZWQgXG4gICAgICogIHdpdGggYGUtZmllbGRgIGNsYXNzLCBzbyBhcyB0byBmZXRjaCBhbmQgcHJvY2VzcyBpdCBmcm9tIGludGVybmFsbHkuXG4gICAgICogXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvZWRpdG9yVGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdlZGl0b3JUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZWRpdG9yVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIFxuICAgICAqIHRoZSBtb250aCBoZWFkZXIgY2VsbHMuIFRoaXMgdGVtcGxhdGUgaXMgb25seSBhcHBsaWNhYmxlIGZvciB5ZWFyIHZpZXcgaGVhZGVyIGNlbGxzLlxuICAgICAqIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL21vbnRoSGVhZGVyVGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdtb250aEhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBtb250aEhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgndGltZVNjYWxlTWlub3JTbG90VGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRpbWVTY2FsZV9taW5vclNsb3RUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3RpbWVTY2FsZU1ham9yU2xvdFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0aW1lU2NhbGVfbWFqb3JTbG90VGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGVtcGxhdGUgb3B0aW9uIHRvIGN1c3RvbWl6ZSB0aGUgcmVzb3VyY2UgaGVhZGVyIGJhci4gSGVyZSwgdGhlIHRlbXBsYXRlIGFjY2VwdHMgZWl0aGVyIFxuICAgICAqICB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBhbmQgdGhlbiB0aGUgcGFyc2VkIGRlc2lnbiBpcyBkaXNwbGF5ZWQgb250byB0aGUgcmVzb3VyY2UgaGVhZGVyIGNlbGxzLiBcbiAgICAgKiBUaGUgZm9sbG93aW5nIGNhbiBiZSBhY2Nlc3NpYmxlIHZpYSB0ZW1wbGF0ZS4gXG4gICAgICogKiBgcmVzb3VyY2VgIC0gQWxsIHRoZSByZXNvdXJjZSBmaWVsZHMuIFxuICAgICAqICogYHJlc291cmNlRGF0YWAgLSBPYmplY3QgY29sbGVjdGlvbiBvZiBjdXJyZW50IHJlc291cmNlLlxuICAgICAqIFxuICAgICAqIFJlZmVyIHRvIHRoZSBiZWxvdyBjb2RlIHNuaXBwZXQuXG4gICAgICpcbiAgICAgKnslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL3Jlc291cmNlSGVhZGVyVGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdyZXNvdXJjZUhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyByZXNvdXJjZUhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRlbXBsYXRlIG9wdGlvbiB0byBjdXN0b21pemUgdGhlIGhlYWRlciBpbmRlbnQgYmFyLiBIZXJlLCB0aGUgdGVtcGxhdGUgYWNjZXB0cyBlaXRoZXIgXG4gICAgICogIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGFuZCB0aGVuIHRoZSBwYXJzZWQgZGVzaWduIGlzIGRpc3BsYXllZCBvbnRvIHRoZSBoZWFkZXIgaW5kZW50IGNlbGwuXG4gICAgICogXG4gICAgICogUmVmZXIgdG8gdGhlIGJlbG93IGNvZGUgc25pcHBldC5cbiAgICAgKlxuICAgICAqeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvaGVhZGVySW5kZW50VGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdoZWFkZXJJbmRlbnRUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgaGVhZGVySW5kZW50VGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdxdWlja0luZm9UZW1wbGF0ZXNIZWFkZXInKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHF1aWNrSW5mb1RlbXBsYXRlc19oZWFkZXI6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdxdWlja0luZm9UZW1wbGF0ZXNDb250ZW50JylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBxdWlja0luZm9UZW1wbGF0ZXNfY29udGVudDogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3F1aWNrSW5mb1RlbXBsYXRlc0Zvb3RlcicpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgcXVpY2tJbmZvVGVtcGxhdGVzX2Zvb3RlcjogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ2dyb3VwSGVhZGVyVG9vbHRpcFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBncm91cF9oZWFkZXJUb29sdGlwVGVtcGxhdGU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdFbGU6IEVsZW1lbnRSZWYsIHByaXZhdGUgc3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSB0aGlzLm5nRWxlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzID0gdGhpcy5pbmplY3RlZE1vZHVsZXMgfHwgW107XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZURheScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVXZWVrJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZVdvcmtXZWVrJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZU1vbnRoJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZVllYXInKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlQWdlbmRhJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZU1vbnRoQWdlbmRhJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZVRpbWVsaW5lVmlld3MnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlVGltZWxpbmVNb250aCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVUaW1lbGluZVllYXInKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlUmVzaXplJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZURyYWdBbmREcm9wJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZUV4Y2VsRXhwb3J0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZUlDYWxlbmRhckV4cG9ydCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVJQ2FsZW5kYXJJbXBvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlUHJpbnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmFkZFR3b1dheS5jYWxsKHRoaXMsIHR3b1dheXMpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5jb250ZXh0ICA9IG5ldyBDb21wb25lbnRCYXNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkluaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nQWZ0ZXJWaWV3SW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uRGVzdHJveSh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhZ09iamVjdHNbMF0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkVmlld3M7XG4gICAgICAgIFxuXHQgICAgaWYgKHRoaXMuY2hpbGRSZXNvdXJjZXMpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1sxXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRSZXNvdXJjZXM7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZEhlYWRlclJvd3MpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1syXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRIZWFkZXJSb3dzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ0FmdGVyQ29udGVudENoZWNrZWQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyRXZlbnRzOiAoZXZlbnRMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgYWRkVHdvV2F5OiAocHJvcExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xufVxuXG4iXX0=
@@ -129,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
129
129
  },
130
130
  }]
131
131
  }], ctorParameters: function () { return []; } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjaGVkdWxlL3ZpZXdzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR3hELElBQUksS0FBSyxHQUFhLENBQUMsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3hoQixJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7Ozs7Ozs7O0dBV0c7QUFTSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFdBQTBCO0lBbVF6RCxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7OzBHQXhRUSxhQUFhOzhGQUFiLGFBQWE7QUF3S3RCO0lBREMsUUFBUSxFQUFFO3lEQUNvQjtBQVEvQjtJQURDLFFBQVEsRUFBRTt3REFDbUI7QUFVOUI7SUFEQyxRQUFRLEVBQUU7d0RBQ21CO0FBVTlCO0lBREMsUUFBUSxFQUFFO3lEQUNvQjtBQVUvQjtJQURDLFFBQVEsRUFBRTttREFDYztBQVd6QjtJQURDLFFBQVEsRUFBRTtvREFDZTtBQVUxQjtJQURDLFFBQVEsRUFBRTswREFDcUI7QUFXaEM7SUFEQyxRQUFRLEVBQUU7NkRBQ3dCO0FBVW5DO0lBREMsUUFBUSxFQUFFOzJEQUNzQjtBQUdqQztJQURDLFFBQVEsRUFBRTtrRUFDNkI7QUFHeEM7SUFEQyxRQUFRLEVBQUU7a0VBQzZCO0FBR3hDO0lBREMsUUFBUSxFQUFFO2tFQUM2QjsyRkFqUS9CLGFBQWE7a0JBUnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxFQUVSO2lCQUNKO3VHQXlLVSxrQkFBa0I7c0JBRnhCLFlBQVk7dUJBQUMsb0JBQW9CO2dCQVUzQixpQkFBaUI7c0JBRnZCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQVkxQixpQkFBaUI7c0JBRnZCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQVkxQixrQkFBa0I7c0JBRnhCLFlBQVk7dUJBQUMsb0JBQW9CO2dCQVkzQixZQUFZO3NCQUZsQixZQUFZO3VCQUFDLGNBQWM7Z0JBYXJCLGFBQWE7c0JBRm5CLFlBQVk7dUJBQUMsZUFBZTtnQkFZdEIsbUJBQW1CO3NCQUZ6QixZQUFZO3VCQUFDLHFCQUFxQjtnQkFhNUIsc0JBQXNCO3NCQUY1QixZQUFZO3VCQUFDLHdCQUF3QjtnQkFZL0Isb0JBQW9CO3NCQUYxQixZQUFZO3VCQUFDLHNCQUFzQjtnQkFLN0IsMkJBQTJCO3NCQUZqQyxZQUFZO3VCQUFDLDRCQUE0QjtnQkFLbkMsMkJBQTJCO3NCQUZqQyxZQUFZO3VCQUFDLDRCQUE0QjtnQkFLbkMsMkJBQTJCO3NCQUZqQyxZQUFZO3VCQUFDLDRCQUE0Qjs7QUFZOUM7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUF5QjtJQUN6RDtRQUNJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQixDQUFDOzsyR0FIUSxjQUFjOytGQUFkLGNBQWMscUZBSFcsYUFBYTsyRkFHdEMsY0FBYztrQkFOMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxPQUFPLEVBQUU7d0JBQ0wsUUFBUSxFQUFFLElBQUksZUFBZSxDQUFDLGFBQWEsQ0FBQztxQkFDL0M7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbnRlbnRDaGlsZHJlbiwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wbGV4QmFzZSwgQXJyYXlCYXNlLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydhbGxvd1ZpcnR1YWxTY3JvbGxpbmcnLCAnY2VsbEhlYWRlclRlbXBsYXRlJywgJ2NlbGxUZW1wbGF0ZScsICdkYXRlRm9ybWF0JywgJ2RhdGVIZWFkZXJUZW1wbGF0ZScsICdkYXRlUmFuZ2VUZW1wbGF0ZScsICdkYXlIZWFkZXJUZW1wbGF0ZScsICdkaXNwbGF5RGF0ZScsICdkaXNwbGF5TmFtZScsICdlbmRIb3VyJywgJ2V2ZW50VGVtcGxhdGUnLCAnZmlyc3REYXlPZldlZWsnLCAnZmlyc3RNb250aE9mWWVhcicsICdncm91cCcsICdoZWFkZXJJbmRlbnRUZW1wbGF0ZScsICdoZWFkZXJSb3dzJywgJ2ludGVydmFsJywgJ2lzU2VsZWN0ZWQnLCAnbW9udGhIZWFkZXJUZW1wbGF0ZScsICdtb250aHNDb3VudCcsICdudW1iZXJPZldlZWtzJywgJ29wdGlvbicsICdvcmllbnRhdGlvbicsICdyZWFkb25seScsICdyZXNvdXJjZUhlYWRlclRlbXBsYXRlJywgJ3Nob3dXZWVrTnVtYmVyJywgJ3Nob3dXZWVrZW5kJywgJ3N0YXJ0SG91cicsICd0aW1lRm9ybWF0JywgJ3RpbWVTY2FsZScsICd3b3JrRGF5cyddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gW107XG4vKipcbiAqIGBlLXZpZXdzYCBkaXJlY3RpdmUgcmVwcmVzZW50IGEgdmlldyBvZiB0aGUgQW5ndWxhciBTY2hlZHVsZS4gXG4gKiBJdCBtdXN0IGJlIGNvbnRhaW5lZCBpbiBhIFNjaGVkdWxlIGNvbXBvbmVudChgZWpzLXNjaGVkdWxlYCkuIFxuICogYGBgaHRtbFxuICogPGVqcy1zY2hlZHVsZT5cbiAqICAgPGUtdmlld3M+XG4gKiAgICA8ZS12aWV3IG9wdGlvbj0nZGF5JyBkYXRlRm9ybWF0PSdkZCBNTU0nPjwvZS12aWV3PlxuICogICAgPGUtdmlldyBvcHRpb249J3dlZWsnPjwvZS12aWV3PlxuICogICA8L2Utdmlld3M+XG4gKiA8L2Vqcy1zY2hlZHVsZT5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Utdmlld3M+ZS12aWV3JyxcbiAgICBpbnB1dHM6IGlucHV0LFxuICAgIG91dHB1dHM6IG91dHB1dHMsICAgIFxuICAgIHF1ZXJpZXM6IHtcblxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVmlld0RpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPFZpZXdEaXJlY3RpdmU+IHtcbiAgICBwdWJsaWMgZGlyZWN0aXZlUHJvcExpc3Q6IGFueTtcblx0XG5cblxuICAgIC8qKiBcbiAgICAgKiBJdCBpcyB1c2VkIHRvIGFsbG93IG9yIGRpc2FsbG93IHRoZSB2aXJ0dWFsIHNjcm9sbGluZyBmdW5jdGlvbmFsaXR5IG9uIEFnZW5kYSBWaWV3LiBUaGlzIGlzIGFwcGxpY2FibGUgb25seSBvbiBBZ2VuZGEgdmlldy5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBhbGxvd1ZpcnR1YWxTY3JvbGxpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogQnkgZGVmYXVsdCwgU2NoZWR1bGUgZm9sbG93cyB0aGUgZGF0ZS1mb3JtYXQgYXMgcGVyIHRoZSBkZWZhdWx0IGN1bHR1cmUgYXNzaWduZWQgdG8gaXQuIEl0IGlzIGFsc28gcG9zc2libGUgdG8gbWFudWFsbHkgc2V0IFxuICAgICAqICBzcGVjaWZpYyBkYXRlIGZvcm1hdCBieSB1c2luZyB0aGUgYGRhdGVGb3JtYXRgIHByb3BlcnR5LiBUaGUgZm9ybWF0IG9mIHRoZSBkYXRlIHJhbmdlIGxhYmVsIGluIHRoZSBoZWFkZXIgYmFyIGRlcGVuZHMgb24gXG4gICAgICogIHRoZSBgZGF0ZUZvcm1hdGAgdmFsdWUgb3IgZWxzZSBiYXNlZCBvbiB0aGUgbG9jYWxlIGFzc2lnbmVkIHRvIHRoZSBTY2hlZHVsZS4gXG4gICAgICogIEl0IGdldHMgYXBwbGllZCBvbmx5IHRvIHRoZSB2aWV3IG9iamVjdHMgb24gd2hpY2ggaXQgaXMgZGVmaW5lZC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGRhdGVGb3JtYXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBzdGFydGluZyB3ZWVrIGRhdGUgYXQgYW4gaW5pdGlhbCByZW5kZXJpbmcgb2YgbW9udGggdmlldy4gVGhpcyBwcm9wZXJ0eSBpcyBvbmx5IGFwcGxpY2FibGUgZm9yIG1vbnRoIHZpZXcuIFxuICAgICAqICBJZiB0aGlzIHByb3BlcnR5IHZhbHVlIGlzIG5vdCBzZXQsIHRoZW4gdGhlIG1vbnRoIHZpZXcgd2lsbCBiZSByZW5kZXJlZCBmcm9tIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSBtb250aC4gXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvZGlzcGxheURhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBkaXNwbGF5RGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBXaGVuIHRoZSBzYW1lIHZpZXcgaXMgY3VzdG9taXplZCB3aXRoIGRpZmZlcmVudCBpbnRlcnZhbHMsIHRoaXMgcHJvcGVydHkgYWxsb3dzIHRoZSB1c2VyIHRvIHNldCBkaWZmZXJlbnQgZGlzcGxheSBuYW1lIFxuICAgICAqICBmb3IgdGhvc2Ugdmlld3MuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBkaXNwbGF5TmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGVuZCBob3VyLCBhdCB3aGljaCB0aGUgU2NoZWR1bGUgZW5kcy4gSXQgdG9vIGFjY2VwdHMgdGhlIHRpbWUgc3RyaW5nIGluIGEgc2hvcnQgc2tlbGV0b24gZm9ybWF0LlxuICAgICAqIEBkZWZhdWx0ICcyNDowMCdcbiAgICAgKi9cbiAgICBwdWJsaWMgZW5kSG91cjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGlzIG9wdGlvbiBhbGxvd3MgdGhlIHVzZXIgdG8gc2V0IHRoZSBmaXJzdCBkYXkgb2YgYSB3ZWVrIG9uIFNjaGVkdWxlLiBJdCBzaG91bGQgYmUgYmFzZWQgb24gdGhlIGxvY2FsZSBzZXQgdG8gaXQgYW5kIGVhY2ggY3VsdHVyZSBcbiAgICAgKiAgZGVmaW5lcyBpdHMgb3duIGZpcnN0IGRheSBvZiB3ZWVrIHZhbHVlcy4gSWYgbmVlZGVkLCB0aGUgdXNlciBjYW4gc2V0IGl0IG1hbnVhbGx5IG9uIGhpcyBvd24gYnkgZGVmaW5pbmcgdGhlIHZhbHVlIHRocm91Z2ggXG4gICAgICogIHRoaXMgcHJvcGVydHkuIEl0IHVzdWFsbHkgYWNjZXB0cyB0aGUgaW50ZWdlciB2YWx1ZXMsIHdoZXJlYnkgMCBpcyBhbHdheXMgZGVub3RlZCBhcyBTdW5kYXksIDEgYXMgTW9uZGF5IGFuZCBzbyBvbi5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIGZpcnN0RGF5T2ZXZWVrOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoaXMgcHJvcGVydHkgaGVscHMgcmVuZGVyIHRoZSB5ZWFyIHZpZXcgY3VzdG9taXplZCBtb250aHMuIFxuICAgICAqIEJ5IGRlZmF1bHQsIGl0IGlzIHNldCB0byBgMGAuXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIHB1YmxpYyBmaXJzdE1vbnRoT2ZZZWFyOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFsbG93cyB0byBzZXQgZGlmZmVyZW50IHJlc291cmNlIGdyb3VwaW5nIG9wdGlvbnMgb24gYWxsIGF2YWlsYWJsZSBzY2hlZHVsZSB2aWV3IG1vZGVzLlxuICAgICAqIEBkZWZhdWx0IHsgYnlEYXRlOiBmYWxzZSwgYnlHcm91cElEOiB0cnVlLCBhbGxvd0dyb3VwRWRpdDogZmFsc2UsIHJlc291cmNlczpbXSwgaGlkZU5vbldvcmtpbmdEYXlzOiBmYWxzZSB9XG4gICAgICovXG4gICAgcHVibGljIGdyb3VwOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFsbG93cyBkZWZpbmluZyB0aGUgY29sbGVjdGlvbiBvZiBjdXN0b20gaGVhZGVyIHJvd3MgdG8gZGlzcGxheSB0aGUgeWVhciwgbW9udGgsIHdlZWssIGRhdGUgYW5kIGhvdXIgbGFiZWwgYXMgYW4gaW5kaXZpZHVhbCByb3cgXG4gICAgICogIG9uIHRoZSB0aW1lbGluZSB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuXG4gICAgICogQGRlZmF1bHQgW11cbiAgICAgKi9cbiAgICBwdWJsaWMgaGVhZGVyUm93czogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIHRoZSBudW1iZXIgdmFsdWUgZGVub3RpbmcgdG8gaW5jbHVkZSB0aGUgbnVtYmVyIG9mIGRheXMsIHdlZWtzLCB3b3Jrd2Vla3Mgb3IgbW9udGhzIG9uIHRoZSBkZWZpbmVkIHZpZXcgdHlwZS5cbiAgICAgKiBAZGVmYXVsdCAxXG4gICAgICovXG4gICAgcHVibGljIGludGVydmFsOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRvIGRlbm90ZSB3aGV0aGVyIHRoZSB2aWV3IG5hbWUgZ2l2ZW4gb24gdGhlIGBvcHRpb25gIGlzIGFjdGl2ZSBvciBub3QuIFxuICAgICAqIEl0IGFjdHMgc2ltaWxhciB0byB0aGUgW2BjdXJyZW50Vmlld2BdKC4uLy4uL3NjaGVkdWxlLyNjdXJyZW50LXZpZXcvKSBcbiAgICAgKiBwcm9wZXJ0eSBhbmQgZGVmaW5lcyB0aGUgYWN0aXZlIHZpZXcgb2YgU2NoZWR1bGUuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTZWxlY3RlZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGlzIG9wdGlvbiBhbGxvd3MgdGhlIHVzZXIgdG8gc2V0IHRoZSBudW1iZXIgb2YgbW9udGhzIGNvdW50IHRvIGJlIGRpc3BsYXllZCBvbiB0aGUgU2NoZWR1bGUuIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL21vbnRoc0NvdW50L2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqIEBkZWZhdWx0IDEyXG4gICAgICogQGFzcHR5cGUgaW50XG4gICAgICovXG4gICAgcHVibGljIG1vbnRoc0NvdW50OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoaXMgcHJvcGVydHkgY3VzdG9taXplcyB0aGUgbnVtYmVyIG9mIHdlZWtzIHRoYXQgYXJlIHNob3duIGluIG1vbnRoIHZpZXcuIEJ5IGRlZmF1bHQsIGl0IHNob3dzIGFsbCB3ZWVrcyBpbiB0aGUgY3VycmVudCBtb250aC4gXG4gICAgICogIFVzZSBkaXNwbGF5RGF0ZSBwcm9wZXJ0eSB0byBjdXN0b21pemUgdGhlIHN0YXJ0aW5nIHdlZWsgb2YgbW9udGguIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J3NjaGVkdWxlL251bWJlck9mV2Vla3MvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqIEBhc3B0eXBlIGludFxuICAgICAqL1xuICAgIHB1YmxpYyBudW1iZXJPZldlZWtzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgdGhlIHNjaGVkdWxlIHZpZXcgbmFtZSwgYmFzZWQgb24gd2hpY2ggd2UgY2FuIGRlZmluZSB3aXRoIGl0cyByZWxhdGVkIHByb3BlcnRpZXMgaW4gYSBzaW5nbGUgb2JqZWN0LiBcbiAgICAgKiBUaGUgYXBwbGljYWJsZSB2aWV3IG5hbWVzIGFyZSwgXG4gICAgICogKiBEYXkgLSBEZW5vdGVzIERheSB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogV2VlayAtIERlbm90ZXMgV2VlayB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogV29ya1dlZWsgLSBEZW5vdGVzIFdvcmsgV2VlayB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogTW9udGggLSBEZW5vdGVzIE1vbnRoIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBZZWFyIC0gRGVub3RlcyBZZWFyIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBBZ2VuZGEgLSBEZW5vdGVzIEFnZW5kYSB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogTW9udGhBZ2VuZGEgLSBEZW5vdGVzIE1vbnRoIEFnZW5kYSB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogVGltZWxpbmVEYXkgLSBEZW5vdGVzIFRpbWVsaW5lIERheSB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogVGltZWxpbmVXZWVrIC0gRGVub3RlcyBUaW1lbGluZSBXZWVrIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBUaW1lbGluZVdvcmtXZWVrIC0gRGVub3RlcyBUaW1lbGluZSBXb3JrIFdlZWsgdmlldyBvZiB0aGUgc2NoZWR1bGVyLiBcbiAgICAgKiAqIFRpbWVsaW5lTW9udGggLSBEZW5vdGVzIFRpbWVsaW5lIE1vbnRoIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBUaW1lbGluZVllYXIgLSBEZW5vdGVzIFRpbWVsaW5lIFllYXIgdmlldyBvZiB0aGUgc2NoZWR1bGVyLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3B0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgeWVhciB2aWV3IHJlbmRlcmluZyBvcmllbnRhdGlvbiBvbiB0aGUgc2NoZWR1bGUuIFxuICAgICAqIFRoZSBhcHBsaWNhYmxlIG9yaWVudGF0aW9uIHZhbHVlcyBhcmUsIFxuICAgICAqICogSG9yaXpvbnRhbCAtIERlbm90ZXMgdGhlIGhvcml6b250YWwgb3JpZW50YXRpb24gb2YgVGltZWxpbmUgWWVhciB2aWV3LiBcbiAgICAgKiAqIFZlcnRpY2FsIC0gRGVub3RlcyB0aGUgdmVydGljYWwgb3JpZW50YXRpb24gb2YgVGltZWxpbmUgWWVhciB2aWV3LlxuICAgICAqIEBkZWZhdWx0ICdIb3Jpem9udGFsJ1xuICAgICAqL1xuICAgIHB1YmxpYyBvcmllbnRhdGlvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIGRpc3BsYXlzIGEgcXVpY2sgcG9wdXAgd2l0aCBjZWxsIG9yIGV2ZW50IGRldGFpbHMgb24gc2luZ2xlIGNsaWNraW5nIG92ZXIgdGhlIGNlbGxzIG9yIG9uIGV2ZW50cy4gXG4gICAgICogIEJ5IGRlZmF1bHQsIGl0IGlzIHNldCB0byBgdHJ1ZWAuIEl0IGdldHMgYXBwbGllZCBvbmx5IHRvIHRoZSB2aWV3IG9iamVjdHMgb24gd2hpY2ggaXQgaXMgZGVmaW5lZC5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIGRpc3BsYXlzIHRoZSB3ZWVrIG51bWJlciBvZiB0aGUgY3VycmVudCB2aWV3IGRhdGUgcmFuZ2UuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd1dlZWtOdW1iZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogV2hlbiBzZXQgdG8gYGZhbHNlYCwgaXQgaGlkZXMgdGhlIHdlZWtlbmQgZGF5cyBvZiBhIHdlZWsgZnJvbSB0aGUgU2NoZWR1bGUuIFxuICAgICAqIFRoZSBkYXlzIHdoaWNoIGFyZSBub3QgZGVmaW5lZCBpbiB0aGUgd29ya2luZyBkYXlzIGNvbGxlY3Rpb24gYXJlIHVzdWFsbHkgdHJlYXRlZCBhcyB3ZWVrZW5kIGRheXMuIFxuICAgICAqIE5vdGU6IEJ5IGRlZmF1bHQsIHRoaXMgb3B0aW9uIGlzIG5vdCBhcHBsaWNhYmxlIG9uIGBXb3JrIFdlZWtgIHZpZXcuIFxuICAgICAqIEZvciBleGFtcGxlLCBpZiB0aGUgd29ya2luZyBkYXlzIGFyZSBkZWZpbmVkIGFzIFsxLCAyLCAzLCA0XSwgdGhlbiB0aGUgcmVtYWluaW5nIGRheXMgb2YgdGhhdCB3ZWVrIHdpbGwgYmUgY29uc2lkZXJlZCBhcyB0aGUgXG4gICAgICogIHdlZWtlbmQgZGF5cyBhbmQgd2lsbCBiZSBoaWRkZW4gb24gYWxsIHRoZSB2aWV3cy5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHNob3dXZWVrZW5kOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgc3RhcnRpbmcgaG91ciwgZnJvbSB3aGljaCB0aGUgU2NoZWR1bGUgc3RhcnRzIHRvIGRpc3BsYXkuIFxuICAgICAqICBJdCBhY2NlcHRzIHRoZSB0aW1lIHN0cmluZyBpbiBhIHNob3J0IHNrZWxldG9uIGZvcm1hdCBhbmQgYWxzbywgaGlkZXMgdGhlIHRpbWUgYmV5b25kIHRoZSBzcGVjaWZpZWQgc3RhcnQgdGltZS5cbiAgICAgKiBAZGVmYXVsdCAnMDA6MDAnXG4gICAgICovXG4gICAgcHVibGljIHN0YXJ0SG91cjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBCeSBkZWZhdWx0LCBTY2hlZHVsZSBmb2xsb3dzIHRoZSB0aW1lLWZvcm1hdCBhcyBwZXIgdGhlIGRlZmF1bHQgY3VsdHVyZSBhc3NpZ25lZCB0byBpdC4gXG4gICAgICogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBtYW51YWxseSBzZXQgc3BlY2lmaWMgdGltZSBmb3JtYXQgYnkgdXNpbmcgdGhlIGB0aW1lRm9ybWF0YCBwcm9wZXJ0eS4gXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvdGltZUZvcm1hdC9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHRpbWVGb3JtYXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIHRvIHNldCBkaWZmZXJlbnQgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb24gb24gZWFjaCBhcHBsaWNhYmxlIHZpZXcgbW9kZXMgc3VjaCBhcyBkYXksIHdlZWsgYW5kIHdvcmsgd2Vlay5cbiAgICAgKiBAZGVmYXVsdCB7IGVuYWJsZTogdHJ1ZSwgaW50ZXJ2YWw6IDYwLCBzbG90Q291bnQ6IDIsIG1ham9yU2xvdFRlbXBsYXRlOiBudWxsLCBtaW5vclNsb3RUZW1wbGF0ZTogbnVsbCB9XG4gICAgICovXG4gICAgcHVibGljIHRpbWVTY2FsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBpcyB1c2VkIHRvIHNldCB0aGUgd29ya2luZyBkYXlzIG9uIHNjaGVkdWxlLiBUaGUgb25seSBkYXlzIHRoYXQgYXJlIGRlZmluZWQgaW4gdGhpcyBjb2xsZWN0aW9uIHdpbGwgYmUgcmVuZGVyZWQgb24gdGhlIFxuICAgICAqICBgd29ya1dlZWtgIHZpZXcgd2hlcmVhcyBvbiBvdGhlciB2aWV3cywgaXQgd2lsbCBkaXNwbGF5IGFsbCB0aGUgdXN1YWwgZGF5cyBhbmQgc2ltcGx5IGhpZ2hsaWdodHMgdGhlIHdvcmtpbmcgZGF5cyB3aXRoIGRpZmZlcmVudCBcbiAgICAgKiAgc2hhZGUuXG4gICAgICogQGRlZmF1bHQgJ1sxLCAyLCAzLCA0LCA1XSdcbiAgICAgKiBAYXNwdHlwZSBpbnRbXVxuICAgICAqL1xuICAgIHB1YmxpYyB3b3JrRGF5czogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBjb250ZW50IGFuZCBwYXJzZSBpdCBhcHByb3ByaWF0ZWx5IGJlZm9yZSBkaXNwbGF5aW5nIGl0IG9udG8gdGhlIFxuICAgICAqICBkYXRlIGhlYWRlciBjZWxscy4gVGhlIGZpZWxkIHRoYXQgY2FuIGJlIGFjY2Vzc2VkIHZpYSB0aGlzIHRlbXBsYXRlIGlzIGBkYXRlYC4gXG4gICAgICogIEl0IGdldHMgYXBwbGllZCBvbmx5IHRvIHRoZSB2aWV3IG9iamVjdHMgb24gd2hpY2ggaXQgaXMgZGVmaW5lZC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF0ZUhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBkYXRlSGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIHRoZSBoZWFkZXIgZGF0ZSByYW5nZS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF0ZVJhbmdlVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGRhdGVSYW5nZVRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byB0aGUgXG4gICAgICogIFllYXIgdmlldyBkYXkgY2VsbCBoZWFkZXIuIFxuICAgICAqICBUaGlzIHRlbXBsYXRlIGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgeWVhciB2aWV3IGhlYWRlciBjZWxscy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF5SGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGRheUhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byB0aGUgXG4gICAgICogIG1vbnRoIGRhdGUgY2VsbHMuIFxuICAgICAqICBUaGlzIHRlbXBsYXRlIGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgbW9udGggdmlldyBkYXkgY2VsbHMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2NlbGxIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgY2VsbEhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBvcHRpb24gd2hpY2ggaXMgdXNlZCB0byByZW5kZXIgdGhlIGN1c3RvbWl6ZWQgd29yayBjZWxscyBvbiB0aGUgU2NoZWR1bGUuIEhlcmUsIHRoZSBcbiAgICAgKiAgdGVtcGxhdGUgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gYW5kIHRoZW4gdGhlIHBhcnNlZCBkZXNpZ24gaXMgZGlzcGxheWVkIG9udG8gdGhlIHdvcmsgY2VsbHMuIFxuICAgICAqICBUaGUgZmllbGQgYWNjZXNzaWJsZSB2aWEgdGVtcGxhdGUgaXMgYGRhdGVgLiBJdCBnZXRzIGFwcGxpZWQgb25seSB0byB0aGUgdmlldyBvYmplY3RzIG9uIHdoaWNoIGl0IGlzIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2NlbGxUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byBcbiAgICAgKiAgdGhlIGV2ZW50IGJhY2tncm91bmQuIEFsbCB0aGUgZXZlbnQgZmllbGRzIG1hcHBlZCB0byBTY2hlZHVsZSBmcm9tIGRhdGFTb3VyY2UgY2FuIGJlIGFjY2Vzc2VkIHdpdGhpbiB0aGlzIHRlbXBsYXRlIGNvZGUuIFxuICAgICAqICBJdCBpcyBzaW1pbGFyIHRvIHRoYXQgb2YgdGhlIGB0ZW1wbGF0ZWAgb3B0aW9uIGF2YWlsYWJsZSB3aXRoaW4gdGhlIGBldmVudFNldHRpbmdzYCBwcm9wZXJ0eSwgXG4gICAgICogIHdoZXJlYXMgaXQgd2lsbCBnZXQgYXBwbGllZCBvbmx5IG9uIHRoZSBldmVudHMgb2YgdGhlIHZpZXcgdG8gd2hpY2ggaXQgaXMgY3VycmVudGx5IGJlaW5nIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2V2ZW50VGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGV2ZW50VGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIHRoZSBcbiAgICAgKiAgWWVhciB2aWV3IGRheSBjZWxsIGhlYWRlci4gXG4gICAgICogIFRoaXMgdGVtcGxhdGUgaXMgb25seSBhcHBsaWNhYmxlIGZvciB5ZWFyIHZpZXcgaGVhZGVyIGNlbGxzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdtb250aEhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBtb250aEhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBvcHRpb24gd2hpY2ggaXMgdXNlZCB0byByZW5kZXIgdGhlIGN1c3RvbWl6ZWQgaGVhZGVyIGNlbGxzIG9uIHRoZSBzY2hlZHVsZS4gSGVyZSwgdGhlIFxuICAgICAqICB0ZW1wbGF0ZSBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBhbmQgdGhlbiB0aGUgcGFyc2VkIGRlc2lnbiBpcyBkaXNwbGF5ZWQgb250byB0aGUgaGVhZGVyIGNlbGxzLiBcbiAgICAgKiAgQWxsIHRoZSByZXNvdXJjZSBmaWVsZHMgbWFwcGVkIHdpdGhpbiByZXNvdXJjZXMgY2FuIGJlIGFjY2Vzc2VkIHdpdGhpbiB0aGlzIHRlbXBsYXRlIGNvZGUuIFxuICAgICAqICBJdCBnZXRzIGFwcGxpZWQgb25seSB0byB0aGUgdmlldyBvYmplY3RzIG9uIHdoaWNoIGl0IGlzIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3Jlc291cmNlSGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHJlc291cmNlSGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHRlbXBsYXRlIG9wdGlvbiB3aGljaCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgY3VzdG9taXplZCBoZWFkZXIgaW5kZW50IGNlbGwgb24gdGhlIHNjaGVkdWxlLiBIZXJlLCB0aGUgXG4gICAgICogIHRlbXBsYXRlIGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGFuZCB0aGVuIHRoZSBwYXJzZWQgZGVzaWduIGlzIGRpc3BsYXllZCBvbnRvIHRoZSBoZWFkZXIgaW5kZW50IGNlbGwuIFxuICAgICAqICBJdCBnZXRzIGFwcGxpZWQgb25seSB0byB0aGUgdmlldyBvYmplY3RzIG9uIHdoaWNoIGl0IGlzIGRlZmluZWQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlckluZGVudFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBoZWFkZXJJbmRlbnRUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3RpbWVTY2FsZU1pbm9yU2xvdFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0aW1lU2NhbGVfbWlub3JTbG90VGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCd0aW1lU2NhbGVNYWpvclNsb3RUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdGltZVNjYWxlX21ham9yU2xvdFRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnZ3JvdXBIZWFkZXJUb29sdGlwVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGdyb3VwX2hlYWRlclRvb2x0aXBUZW1wbGF0ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogVmlldyBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLXNjaGVkdWxlPmUtdmlld3MnLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRyZW46IG5ldyBDb250ZW50Q2hpbGRyZW4oVmlld0RpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBWaWV3c0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxWaWV3c0RpcmVjdGl2ZT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigndmlld3MnKTtcbiAgICB9XG59Il19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjaGVkdWxlL3ZpZXdzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR3hELElBQUksS0FBSyxHQUFhLENBQUMsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3hoQixJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7Ozs7Ozs7O0dBV0c7QUFTSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFdBQTBCO0lBMlJ6RCxZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7OzBHQWhTUSxhQUFhOzhGQUFiLGFBQWE7QUF3S3RCO0lBREMsUUFBUSxFQUFFO3lEQUNvQjtBQVcvQjtJQURDLFFBQVEsRUFBRTt3REFDbUI7QUFhOUI7SUFEQyxRQUFRLEVBQUU7d0RBQ21CO0FBYTlCO0lBREMsUUFBUSxFQUFFO3lEQUNvQjtBQWEvQjtJQURDLFFBQVEsRUFBRTttREFDYztBQWN6QjtJQURDLFFBQVEsRUFBRTtvREFDZTtBQWExQjtJQURDLFFBQVEsRUFBRTswREFDcUI7QUFjaEM7SUFEQyxRQUFRLEVBQUU7NkRBQ3dCO0FBYW5DO0lBREMsUUFBUSxFQUFFOzJEQUNzQjtBQUdqQztJQURDLFFBQVEsRUFBRTtrRUFDNkI7QUFHeEM7SUFEQyxRQUFRLEVBQUU7a0VBQzZCO0FBR3hDO0lBREMsUUFBUSxFQUFFO2tFQUM2QjsyRkF6Ui9CLGFBQWE7a0JBUnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxFQUVSO2lCQUNKO3VHQXlLVSxrQkFBa0I7c0JBRnhCLFlBQVk7dUJBQUMsb0JBQW9CO2dCQWEzQixpQkFBaUI7c0JBRnZCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQWUxQixpQkFBaUI7c0JBRnZCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQWUxQixrQkFBa0I7c0JBRnhCLFlBQVk7dUJBQUMsb0JBQW9CO2dCQWUzQixZQUFZO3NCQUZsQixZQUFZO3VCQUFDLGNBQWM7Z0JBZ0JyQixhQUFhO3NCQUZuQixZQUFZO3VCQUFDLGVBQWU7Z0JBZXRCLG1CQUFtQjtzQkFGekIsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBZ0I1QixzQkFBc0I7c0JBRjVCLFlBQVk7dUJBQUMsd0JBQXdCO2dCQWUvQixvQkFBb0I7c0JBRjFCLFlBQVk7dUJBQUMsc0JBQXNCO2dCQUs3QiwyQkFBMkI7c0JBRmpDLFlBQVk7dUJBQUMsNEJBQTRCO2dCQUtuQywyQkFBMkI7c0JBRmpDLFlBQVk7dUJBQUMsNEJBQTRCO2dCQUtuQywyQkFBMkI7c0JBRmpDLFlBQVk7dUJBQUMsNEJBQTRCOztBQVk5Qzs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQXlCO0lBQ3pEO1FBQ0ksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25CLENBQUM7OzJHQUhRLGNBQWM7K0ZBQWQsY0FBYyxxRkFIVyxhQUFhOzJGQUd0QyxjQUFjO2tCQU4xQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsYUFBYSxDQUFDO3FCQUMvQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgQ29udGVudENoaWxkcmVuLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBsZXhCYXNlLCBBcnJheUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuXG5cbmxldCBpbnB1dDogc3RyaW5nW10gPSBbJ2FsbG93VmlydHVhbFNjcm9sbGluZycsICdjZWxsSGVhZGVyVGVtcGxhdGUnLCAnY2VsbFRlbXBsYXRlJywgJ2RhdGVGb3JtYXQnLCAnZGF0ZUhlYWRlclRlbXBsYXRlJywgJ2RhdGVSYW5nZVRlbXBsYXRlJywgJ2RheUhlYWRlclRlbXBsYXRlJywgJ2Rpc3BsYXlEYXRlJywgJ2Rpc3BsYXlOYW1lJywgJ2VuZEhvdXInLCAnZXZlbnRUZW1wbGF0ZScsICdmaXJzdERheU9mV2VlaycsICdmaXJzdE1vbnRoT2ZZZWFyJywgJ2dyb3VwJywgJ2hlYWRlckluZGVudFRlbXBsYXRlJywgJ2hlYWRlclJvd3MnLCAnaW50ZXJ2YWwnLCAnaXNTZWxlY3RlZCcsICdtb250aEhlYWRlclRlbXBsYXRlJywgJ21vbnRoc0NvdW50JywgJ251bWJlck9mV2Vla3MnLCAnb3B0aW9uJywgJ29yaWVudGF0aW9uJywgJ3JlYWRvbmx5JywgJ3Jlc291cmNlSGVhZGVyVGVtcGxhdGUnLCAnc2hvd1dlZWtOdW1iZXInLCAnc2hvd1dlZWtlbmQnLCAnc3RhcnRIb3VyJywgJ3RpbWVGb3JtYXQnLCAndGltZVNjYWxlJywgJ3dvcmtEYXlzJ107XG5sZXQgb3V0cHV0czogc3RyaW5nW10gPSBbXTtcbi8qKlxuICogYGUtdmlld3NgIGRpcmVjdGl2ZSByZXByZXNlbnQgYSB2aWV3IG9mIHRoZSBBbmd1bGFyIFNjaGVkdWxlLiBcbiAqIEl0IG11c3QgYmUgY29udGFpbmVkIGluIGEgU2NoZWR1bGUgY29tcG9uZW50KGBlanMtc2NoZWR1bGVgKS4gXG4gKiBgYGBodG1sXG4gKiA8ZWpzLXNjaGVkdWxlPlxuICogICA8ZS12aWV3cz5cbiAqICAgIDxlLXZpZXcgb3B0aW9uPSdkYXknIGRhdGVGb3JtYXQ9J2RkIE1NTSc+PC9lLXZpZXc+XG4gKiAgICA8ZS12aWV3IG9wdGlvbj0nd2Vlayc+PC9lLXZpZXc+XG4gKiAgIDwvZS12aWV3cz5cbiAqIDwvZWpzLXNjaGVkdWxlPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZS12aWV3cz5lLXZpZXcnLFxuICAgIGlucHV0czogaW5wdXQsXG4gICAgb3V0cHV0czogb3V0cHV0cywgICAgXG4gICAgcXVlcmllczoge1xuXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3RGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8Vmlld0RpcmVjdGl2ZT4ge1xuICAgIHB1YmxpYyBkaXJlY3RpdmVQcm9wTGlzdDogYW55O1xuXHRcblxuXG4gICAgLyoqIFxuICAgICAqIEl0IGlzIHVzZWQgdG8gYWxsb3cgb3IgZGlzYWxsb3cgdGhlIHZpcnR1YWwgc2Nyb2xsaW5nIGZ1bmN0aW9uYWxpdHkgb24gQWdlbmRhIFZpZXcuIFRoaXMgaXMgYXBwbGljYWJsZSBvbmx5IG9uIEFnZW5kYSB2aWV3LlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGFsbG93VmlydHVhbFNjcm9sbGluZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBCeSBkZWZhdWx0LCBTY2hlZHVsZSBmb2xsb3dzIHRoZSBkYXRlLWZvcm1hdCBhcyBwZXIgdGhlIGRlZmF1bHQgY3VsdHVyZSBhc3NpZ25lZCB0byBpdC4gSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBtYW51YWxseSBzZXQgXG4gICAgICogIHNwZWNpZmljIGRhdGUgZm9ybWF0IGJ5IHVzaW5nIHRoZSBgZGF0ZUZvcm1hdGAgcHJvcGVydHkuIFRoZSBmb3JtYXQgb2YgdGhlIGRhdGUgcmFuZ2UgbGFiZWwgaW4gdGhlIGhlYWRlciBiYXIgZGVwZW5kcyBvbiBcbiAgICAgKiAgdGhlIGBkYXRlRm9ybWF0YCB2YWx1ZSBvciBlbHNlIGJhc2VkIG9uIHRoZSBsb2NhbGUgYXNzaWduZWQgdG8gdGhlIFNjaGVkdWxlLiBcbiAgICAgKiAgSXQgZ2V0cyBhcHBsaWVkIG9ubHkgdG8gdGhlIHZpZXcgb2JqZWN0cyBvbiB3aGljaCBpdCBpcyBkZWZpbmVkLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0ZUZvcm1hdDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHN0YXJ0aW5nIHdlZWsgZGF0ZSBhdCBhbiBpbml0aWFsIHJlbmRlcmluZyBvZiBtb250aCB2aWV3LiBUaGlzIHByb3BlcnR5IGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgbW9udGggdmlldy4gXG4gICAgICogIElmIHRoaXMgcHJvcGVydHkgdmFsdWUgaXMgbm90IHNldCwgdGhlbiB0aGUgbW9udGggdmlldyB3aWxsIGJlIHJlbmRlcmVkIGZyb20gdGhlIGZpcnN0IHdlZWsgb2YgdGhlIG1vbnRoLiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPSdzY2hlZHVsZS9kaXNwbGF5RGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXlEYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFdoZW4gdGhlIHNhbWUgdmlldyBpcyBjdXN0b21pemVkIHdpdGggZGlmZmVyZW50IGludGVydmFscywgdGhpcyBwcm9wZXJ0eSBhbGxvd3MgdGhlIHVzZXIgdG8gc2V0IGRpZmZlcmVudCBkaXNwbGF5IG5hbWUgXG4gICAgICogIGZvciB0aG9zZSB2aWV3cy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXlOYW1lOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgZW5kIGhvdXIsIGF0IHdoaWNoIHRoZSBTY2hlZHVsZSBlbmRzLiBJdCB0b28gYWNjZXB0cyB0aGUgdGltZSBzdHJpbmcgaW4gYSBzaG9ydCBza2VsZXRvbiBmb3JtYXQuXG4gICAgICogQGRlZmF1bHQgJzI0OjAwJ1xuICAgICAqL1xuICAgIHB1YmxpYyBlbmRIb3VyOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoaXMgb3B0aW9uIGFsbG93cyB0aGUgdXNlciB0byBzZXQgdGhlIGZpcnN0IGRheSBvZiBhIHdlZWsgb24gU2NoZWR1bGUuIEl0IHNob3VsZCBiZSBiYXNlZCBvbiB0aGUgbG9jYWxlIHNldCB0byBpdCBhbmQgZWFjaCBjdWx0dXJlIFxuICAgICAqICBkZWZpbmVzIGl0cyBvd24gZmlyc3QgZGF5IG9mIHdlZWsgdmFsdWVzLiBJZiBuZWVkZWQsIHRoZSB1c2VyIGNhbiBzZXQgaXQgbWFudWFsbHkgb24gaGlzIG93biBieSBkZWZpbmluZyB0aGUgdmFsdWUgdGhyb3VnaCBcbiAgICAgKiAgdGhpcyBwcm9wZXJ0eS4gSXQgdXN1YWxseSBhY2NlcHRzIHRoZSBpbnRlZ2VyIHZhbHVlcywgd2hlcmVieSAwIGlzIGFsd2F5cyBkZW5vdGVkIGFzIFN1bmRheSwgMSBhcyBNb25kYXkgYW5kIHNvIG9uLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgZmlyc3REYXlPZldlZWs6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhpcyBwcm9wZXJ0eSBoZWxwcyByZW5kZXIgdGhlIHllYXIgdmlldyBjdXN0b21pemVkIG1vbnRocy4gXG4gICAgICogQnkgZGVmYXVsdCwgaXQgaXMgc2V0IHRvIGAwYC5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgcHVibGljIGZpcnN0TW9udGhPZlllYXI6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIHRvIHNldCBkaWZmZXJlbnQgcmVzb3VyY2UgZ3JvdXBpbmcgb3B0aW9ucyBvbiBhbGwgYXZhaWxhYmxlIHNjaGVkdWxlIHZpZXcgbW9kZXMuXG4gICAgICogQGRlZmF1bHQgeyBieURhdGU6IGZhbHNlLCBieUdyb3VwSUQ6IHRydWUsIGFsbG93R3JvdXBFZGl0OiBmYWxzZSwgcmVzb3VyY2VzOltdLCBoaWRlTm9uV29ya2luZ0RheXM6IGZhbHNlIH1cbiAgICAgKi9cbiAgICBwdWJsaWMgZ3JvdXA6IGFueTtcbiAgICAvKiogXG4gICAgICogQWxsb3dzIGRlZmluaW5nIHRoZSBjb2xsZWN0aW9uIG9mIGN1c3RvbSBoZWFkZXIgcm93cyB0byBkaXNwbGF5IHRoZSB5ZWFyLCBtb250aCwgd2VlaywgZGF0ZSBhbmQgaG91ciBsYWJlbCBhcyBhbiBpbmRpdmlkdWFsIHJvdyBcbiAgICAgKiAgb24gdGhlIHRpbWVsaW5lIHZpZXcgb2YgdGhlIHNjaGVkdWxlci5cbiAgICAgKiBAZGVmYXVsdCBbXVxuICAgICAqL1xuICAgIHB1YmxpYyBoZWFkZXJSb3dzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgdGhlIG51bWJlciB2YWx1ZSBkZW5vdGluZyB0byBpbmNsdWRlIHRoZSBudW1iZXIgb2YgZGF5cywgd2Vla3MsIHdvcmt3ZWVrcyBvciBtb250aHMgb24gdGhlIGRlZmluZWQgdmlldyB0eXBlLlxuICAgICAqIEBkZWZhdWx0IDFcbiAgICAgKi9cbiAgICBwdWJsaWMgaW50ZXJ2YWw6IGFueTtcbiAgICAvKiogXG4gICAgICogVG8gZGVub3RlIHdoZXRoZXIgdGhlIHZpZXcgbmFtZSBnaXZlbiBvbiB0aGUgYG9wdGlvbmAgaXMgYWN0aXZlIG9yIG5vdC4gXG4gICAgICogSXQgYWN0cyBzaW1pbGFyIHRvIHRoZSBbYGN1cnJlbnRWaWV3YF0oLi4vLi4vc2NoZWR1bGUvI2N1cnJlbnQtdmlldy8pIFxuICAgICAqIHByb3BlcnR5IGFuZCBkZWZpbmVzIHRoZSBhY3RpdmUgdmlldyBvZiBTY2hlZHVsZS5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBpc1NlbGVjdGVkOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoaXMgb3B0aW9uIGFsbG93cyB0aGUgdXNlciB0byBzZXQgdGhlIG51bWJlciBvZiBtb250aHMgY291bnQgdG8gYmUgZGlzcGxheWVkIG9uIHRoZSBTY2hlZHVsZS4gXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvbW9udGhzQ291bnQvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogQGRlZmF1bHQgMTJcbiAgICAgKiBAYXNwdHlwZSBpbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgbW9udGhzQ291bnQ6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhpcyBwcm9wZXJ0eSBjdXN0b21pemVzIHRoZSBudW1iZXIgb2Ygd2Vla3MgdGhhdCBhcmUgc2hvd24gaW4gbW9udGggdmlldy4gQnkgZGVmYXVsdCwgaXQgc2hvd3MgYWxsIHdlZWtzIGluIHRoZSBjdXJyZW50IG1vbnRoLiBcbiAgICAgKiAgVXNlIGRpc3BsYXlEYXRlIHByb3BlcnR5IHRvIGN1c3RvbWl6ZSB0aGUgc3RhcnRpbmcgd2VlayBvZiBtb250aC4gXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvbnVtYmVyT2ZXZWVrcy9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICogQGFzcHR5cGUgaW50XG4gICAgICovXG4gICAgcHVibGljIG51bWJlck9mV2Vla3M6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyB0aGUgc2NoZWR1bGUgdmlldyBuYW1lLCBiYXNlZCBvbiB3aGljaCB3ZSBjYW4gZGVmaW5lIHdpdGggaXRzIHJlbGF0ZWQgcHJvcGVydGllcyBpbiBhIHNpbmdsZSBvYmplY3QuIFxuICAgICAqIFRoZSBhcHBsaWNhYmxlIHZpZXcgbmFtZXMgYXJlLCBcbiAgICAgKiAqIERheSAtIERlbm90ZXMgRGF5IHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBXZWVrIC0gRGVub3RlcyBXZWVrIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBXb3JrV2VlayAtIERlbm90ZXMgV29yayBXZWVrIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBNb250aCAtIERlbm90ZXMgTW9udGggdmlldyBvZiB0aGUgc2NoZWR1bGVyLiBcbiAgICAgKiAqIFllYXIgLSBEZW5vdGVzIFllYXIgdmlldyBvZiB0aGUgc2NoZWR1bGVyLiBcbiAgICAgKiAqIEFnZW5kYSAtIERlbm90ZXMgQWdlbmRhIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBNb250aEFnZW5kYSAtIERlbm90ZXMgTW9udGggQWdlbmRhIHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBUaW1lbGluZURheSAtIERlbm90ZXMgVGltZWxpbmUgRGF5IHZpZXcgb2YgdGhlIHNjaGVkdWxlci4gXG4gICAgICogKiBUaW1lbGluZVdlZWsgLSBEZW5vdGVzIFRpbWVsaW5lIFdlZWsgdmlldyBvZiB0aGUgc2NoZWR1bGVyLiBcbiAgICAgKiAqIFRpbWVsaW5lV29ya1dlZWsgLSBEZW5vdGVzIFRpbWVsaW5lIFdvcmsgV2VlayB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuIFxuICAgICAqICogVGltZWxpbmVNb250aCAtIERlbm90ZXMgVGltZWxpbmUgTW9udGggdmlldyBvZiB0aGUgc2NoZWR1bGVyLiBcbiAgICAgKiAqIFRpbWVsaW5lWWVhciAtIERlbm90ZXMgVGltZWxpbmUgWWVhciB2aWV3IG9mIHRoZSBzY2hlZHVsZXIuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyBvcHRpb246IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSB5ZWFyIHZpZXcgcmVuZGVyaW5nIG9yaWVudGF0aW9uIG9uIHRoZSBzY2hlZHVsZS4gXG4gICAgICogVGhlIGFwcGxpY2FibGUgb3JpZW50YXRpb24gdmFsdWVzIGFyZSwgXG4gICAgICogKiBIb3Jpem9udGFsIC0gRGVub3RlcyB0aGUgaG9yaXpvbnRhbCBvcmllbnRhdGlvbiBvZiBUaW1lbGluZSBZZWFyIHZpZXcuIFxuICAgICAqICogVmVydGljYWwgLSBEZW5vdGVzIHRoZSB2ZXJ0aWNhbCBvcmllbnRhdGlvbiBvZiBUaW1lbGluZSBZZWFyIHZpZXcuXG4gICAgICogQGRlZmF1bHQgJ0hvcml6b250YWwnXG4gICAgICovXG4gICAgcHVibGljIG9yaWVudGF0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFdoZW4gc2V0IHRvIGB0cnVlYCwgZGlzcGxheXMgYSBxdWljayBwb3B1cCB3aXRoIGNlbGwgb3IgZXZlbnQgZGV0YWlscyBvbiBzaW5nbGUgY2xpY2tpbmcgb3ZlciB0aGUgY2VsbHMgb3Igb24gZXZlbnRzLiBcbiAgICAgKiAgQnkgZGVmYXVsdCwgaXQgaXMgc2V0IHRvIGB0cnVlYC4gSXQgZ2V0cyBhcHBsaWVkIG9ubHkgdG8gdGhlIHZpZXcgb2JqZWN0cyBvbiB3aGljaCBpdCBpcyBkZWZpbmVkLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFdoZW4gc2V0IHRvIGB0cnVlYCwgZGlzcGxheXMgdGhlIHdlZWsgbnVtYmVyIG9mIHRoZSBjdXJyZW50IHZpZXcgZGF0ZSByYW5nZS5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93V2Vla051bWJlcjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBXaGVuIHNldCB0byBgZmFsc2VgLCBpdCBoaWRlcyB0aGUgd2Vla2VuZCBkYXlzIG9mIGEgd2VlayBmcm9tIHRoZSBTY2hlZHVsZS4gXG4gICAgICogVGhlIGRheXMgd2hpY2ggYXJlIG5vdCBkZWZpbmVkIGluIHRoZSB3b3JraW5nIGRheXMgY29sbGVjdGlvbiBhcmUgdXN1YWxseSB0cmVhdGVkIGFzIHdlZWtlbmQgZGF5cy4gXG4gICAgICogTm90ZTogQnkgZGVmYXVsdCwgdGhpcyBvcHRpb24gaXMgbm90IGFwcGxpY2FibGUgb24gYFdvcmsgV2Vla2Agdmlldy4gXG4gICAgICogRm9yIGV4YW1wbGUsIGlmIHRoZSB3b3JraW5nIGRheXMgYXJlIGRlZmluZWQgYXMgWzEsIDIsIDMsIDRdLCB0aGVuIHRoZSByZW1haW5pbmcgZGF5cyBvZiB0aGF0IHdlZWsgd2lsbCBiZSBjb25zaWRlcmVkIGFzIHRoZSBcbiAgICAgKiAgd2Vla2VuZCBkYXlzIGFuZCB3aWxsIGJlIGhpZGRlbiBvbiBhbGwgdGhlIHZpZXdzLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd1dlZWtlbmQ6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSBzdGFydGluZyBob3VyLCBmcm9tIHdoaWNoIHRoZSBTY2hlZHVsZSBzdGFydHMgdG8gZGlzcGxheS4gXG4gICAgICogIEl0IGFjY2VwdHMgdGhlIHRpbWUgc3RyaW5nIGluIGEgc2hvcnQgc2tlbGV0b24gZm9ybWF0IGFuZCBhbHNvLCBoaWRlcyB0aGUgdGltZSBiZXlvbmQgdGhlIHNwZWNpZmllZCBzdGFydCB0aW1lLlxuICAgICAqIEBkZWZhdWx0ICcwMDowMCdcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhcnRIb3VyOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEJ5IGRlZmF1bHQsIFNjaGVkdWxlIGZvbGxvd3MgdGhlIHRpbWUtZm9ybWF0IGFzIHBlciB0aGUgZGVmYXVsdCBjdWx0dXJlIGFzc2lnbmVkIHRvIGl0LiBcbiAgICAgKiBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIG1hbnVhbGx5IHNldCBzcGVjaWZpYyB0aW1lIGZvcm1hdCBieSB1c2luZyB0aGUgYHRpbWVGb3JtYXRgIHByb3BlcnR5LiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPSdzY2hlZHVsZS90aW1lRm9ybWF0L2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgdGltZUZvcm1hdDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBbGxvd3MgdG8gc2V0IGRpZmZlcmVudCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbiBvbiBlYWNoIGFwcGxpY2FibGUgdmlldyBtb2RlcyBzdWNoIGFzIGRheSwgd2VlayBhbmQgd29yayB3ZWVrLlxuICAgICAqIEBkZWZhdWx0IHsgZW5hYmxlOiB0cnVlLCBpbnRlcnZhbDogNjAsIHNsb3RDb3VudDogMiwgbWFqb3JTbG90VGVtcGxhdGU6IG51bGwsIG1pbm9yU2xvdFRlbXBsYXRlOiBudWxsIH1cbiAgICAgKi9cbiAgICBwdWJsaWMgdGltZVNjYWxlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGlzIHVzZWQgdG8gc2V0IHRoZSB3b3JraW5nIGRheXMgb24gc2NoZWR1bGUuIFRoZSBvbmx5IGRheXMgdGhhdCBhcmUgZGVmaW5lZCBpbiB0aGlzIGNvbGxlY3Rpb24gd2lsbCBiZSByZW5kZXJlZCBvbiB0aGUgXG4gICAgICogIGB3b3JrV2Vla2AgdmlldyB3aGVyZWFzIG9uIG90aGVyIHZpZXdzLCBpdCB3aWxsIGRpc3BsYXkgYWxsIHRoZSB1c3VhbCBkYXlzIGFuZCBzaW1wbHkgaGlnaGxpZ2h0cyB0aGUgd29ya2luZyBkYXlzIHdpdGggZGlmZmVyZW50IFxuICAgICAqICBzaGFkZS5cbiAgICAgKiBAZGVmYXVsdCAnWzEsIDIsIDMsIDQsIDVdJ1xuICAgICAqIEBhc3B0eXBlIGludFtdXG4gICAgICovXG4gICAgcHVibGljIHdvcmtEYXlzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byB0aGUgXG4gICAgICogIGRhdGUgaGVhZGVyIGNlbGxzLiBUaGUgZmllbGQgdGhhdCBjYW4gYmUgYWNjZXNzZWQgdmlhIHRoaXMgdGVtcGxhdGUgaXMgYGRhdGVgLiBcbiAgICAgKiAgSXQgZ2V0cyBhcHBsaWVkIG9ubHkgdG8gdGhlIHZpZXcgb2JqZWN0cyBvbiB3aGljaCBpdCBpcyBkZWZpbmVkLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdkYXRlSGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGRhdGVIZWFkZXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBjb250ZW50IGFuZCBwYXJzZSBpdCBhcHByb3ByaWF0ZWx5IGJlZm9yZSBkaXNwbGF5aW5nIGl0IG9udG8gdGhlIGhlYWRlciBkYXRlIHJhbmdlLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdkYXRlUmFuZ2VUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZGF0ZVJhbmdlVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIHRoZSBcbiAgICAgKiAgWWVhciB2aWV3IGRheSBjZWxsIGhlYWRlci4gXG4gICAgICogIFRoaXMgdGVtcGxhdGUgaXMgb25seSBhcHBsaWNhYmxlIGZvciB5ZWFyIHZpZXcgaGVhZGVyIGNlbGxzLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdkYXlIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZGF5SGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIHRoZSBcbiAgICAgKiAgbW9udGggZGF0ZSBjZWxscy4gXG4gICAgICogIFRoaXMgdGVtcGxhdGUgaXMgb25seSBhcHBsaWNhYmxlIGZvciBtb250aCB2aWV3IGRheSBjZWxscy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnY2VsbEhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBjZWxsSGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHRlbXBsYXRlIG9wdGlvbiB3aGljaCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgY3VzdG9taXplZCB3b3JrIGNlbGxzIG9uIHRoZSBTY2hlZHVsZS4gSGVyZSwgdGhlIFxuICAgICAqICB0ZW1wbGF0ZSBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBhbmQgdGhlbiB0aGUgcGFyc2VkIGRlc2lnbiBpcyBkaXNwbGF5ZWQgb250byB0aGUgd29yayBjZWxscy4gXG4gICAgICogIFRoZSBmaWVsZCBhY2Nlc3NpYmxlIHZpYSB0ZW1wbGF0ZSBpcyBgZGF0ZWAuIEl0IGdldHMgYXBwbGllZCBvbmx5IHRvIHRoZSB2aWV3IG9iamVjdHMgb24gd2hpY2ggaXQgaXMgZGVmaW5lZC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnY2VsbFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBjZWxsVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIFxuICAgICAqICB0aGUgZXZlbnQgYmFja2dyb3VuZC4gQWxsIHRoZSBldmVudCBmaWVsZHMgbWFwcGVkIHRvIFNjaGVkdWxlIGZyb20gZGF0YVNvdXJjZSBjYW4gYmUgYWNjZXNzZWQgd2l0aGluIHRoaXMgdGVtcGxhdGUgY29kZS4gXG4gICAgICogIEl0IGlzIHNpbWlsYXIgdG8gdGhhdCBvZiB0aGUgYHRlbXBsYXRlYCBvcHRpb24gYXZhaWxhYmxlIHdpdGhpbiB0aGUgYGV2ZW50U2V0dGluZ3NgIHByb3BlcnR5LCBcbiAgICAgKiAgd2hlcmVhcyBpdCB3aWxsIGdldCBhcHBsaWVkIG9ubHkgb24gdGhlIGV2ZW50cyBvZiB0aGUgdmlldyB0byB3aGljaCBpdCBpcyBjdXJyZW50bHkgYmVpbmcgZGVmaW5lZC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZXZlbnRUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZXZlbnRUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBjb250ZW50IGFuZCBwYXJzZSBpdCBhcHByb3ByaWF0ZWx5IGJlZm9yZSBkaXNwbGF5aW5nIGl0IG9udG8gdGhlIFxuICAgICAqICBZZWFyIHZpZXcgZGF5IGNlbGwgaGVhZGVyLiBcbiAgICAgKiAgVGhpcyB0ZW1wbGF0ZSBpcyBvbmx5IGFwcGxpY2FibGUgZm9yIHllYXIgdmlldyBoZWFkZXIgY2VsbHMuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ21vbnRoSGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIG1vbnRoSGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHRlbXBsYXRlIG9wdGlvbiB3aGljaCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgY3VzdG9taXplZCBoZWFkZXIgY2VsbHMgb24gdGhlIHNjaGVkdWxlLiBIZXJlLCB0aGUgXG4gICAgICogIHRlbXBsYXRlIGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGFuZCB0aGVuIHRoZSBwYXJzZWQgZGVzaWduIGlzIGRpc3BsYXllZCBvbnRvIHRoZSBoZWFkZXIgY2VsbHMuIFxuICAgICAqICBBbGwgdGhlIHJlc291cmNlIGZpZWxkcyBtYXBwZWQgd2l0aGluIHJlc291cmNlcyBjYW4gYmUgYWNjZXNzZWQgd2l0aGluIHRoaXMgdGVtcGxhdGUgY29kZS4gXG4gICAgICogIEl0IGdldHMgYXBwbGllZCBvbmx5IHRvIHRoZSB2aWV3IG9iamVjdHMgb24gd2hpY2ggaXQgaXMgZGVmaW5lZC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncmVzb3VyY2VIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgcmVzb3VyY2VIZWFkZXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgdGVtcGxhdGUgb3B0aW9uIHdoaWNoIGlzIHVzZWQgdG8gcmVuZGVyIHRoZSBjdXN0b21pemVkIGhlYWRlciBpbmRlbnQgY2VsbCBvbiB0aGUgc2NoZWR1bGUuIEhlcmUsIHRoZSBcbiAgICAgKiAgdGVtcGxhdGUgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gYW5kIHRoZW4gdGhlIHBhcnNlZCBkZXNpZ24gaXMgZGlzcGxheWVkIG9udG8gdGhlIGhlYWRlciBpbmRlbnQgY2VsbC4gXG4gICAgICogIEl0IGdldHMgYXBwbGllZCBvbmx5IHRvIHRoZSB2aWV3IG9iamVjdHMgb24gd2hpY2ggaXQgaXMgZGVmaW5lZC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaGVhZGVySW5kZW50VGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGhlYWRlckluZGVudFRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgndGltZVNjYWxlTWlub3JTbG90VGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRpbWVTY2FsZV9taW5vclNsb3RUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3RpbWVTY2FsZU1ham9yU2xvdFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyB0aW1lU2NhbGVfbWFqb3JTbG90VGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdncm91cEhlYWRlclRvb2x0aXBUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZ3JvdXBfaGVhZGVyVG9vbHRpcFRlbXBsYXRlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBWaWV3IEFycmF5IERpcmVjdGl2ZVxuICogQHByaXZhdGVcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlanMtc2NoZWR1bGU+ZS12aWV3cycsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZHJlbjogbmV3IENvbnRlbnRDaGlsZHJlbihWaWV3RGlyZWN0aXZlKVxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFZpZXdzRGlyZWN0aXZlIGV4dGVuZHMgQXJyYXlCYXNlPFZpZXdzRGlyZWN0aXZlPiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCd2aWV3cycpO1xuICAgIH1cbn0iXX0=