@skyux/lookup 6.4.0 → 6.5.0

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.
Files changed (33) hide show
  1. package/documentation.json +522 -547
  2. package/esm2020/lib/modules/autocomplete/autocomplete-input.directive.mjs +2 -2
  3. package/esm2020/lib/modules/autocomplete/autocomplete.component.mjs +1 -1
  4. package/esm2020/lib/modules/country-field/country-field.component.mjs +170 -152
  5. package/esm2020/lib/modules/lookup/lookup-autocomplete-adapter.mjs +14 -8
  6. package/esm2020/lib/modules/lookup/lookup-show-more-async-modal.component.mjs +65 -58
  7. package/esm2020/lib/modules/lookup/lookup-show-more-modal.component.mjs +49 -41
  8. package/esm2020/lib/modules/lookup/lookup.component.mjs +231 -222
  9. package/esm2020/lib/modules/lookup/types/lookup-show-more-custom-picker-context.mjs +1 -1
  10. package/esm2020/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.mjs +1 -1
  11. package/esm2020/lib/modules/lookup/types/lookup-show-more-native-picker-context.mjs +1 -1
  12. package/esm2020/lib/modules/search/search-adapter.service.mjs +22 -21
  13. package/esm2020/lib/modules/search/search.component.mjs +68 -67
  14. package/esm2020/testing/country-field/country-field-fixture.mjs +1 -1
  15. package/fesm2015/skyux-lookup-testing.mjs.map +1 -1
  16. package/fesm2015/skyux-lookup.mjs +607 -564
  17. package/fesm2015/skyux-lookup.mjs.map +1 -1
  18. package/fesm2020/skyux-lookup-testing.mjs.map +1 -1
  19. package/fesm2020/skyux-lookup.mjs +605 -562
  20. package/fesm2020/skyux-lookup.mjs.map +1 -1
  21. package/lib/modules/autocomplete/autocomplete-input.directive.d.ts +1 -1
  22. package/lib/modules/autocomplete/autocomplete.component.d.ts +7 -7
  23. package/lib/modules/country-field/country-field.component.d.ts +14 -36
  24. package/lib/modules/lookup/lookup-autocomplete-adapter.d.ts +6 -8
  25. package/lib/modules/lookup/lookup-show-more-async-modal.component.d.ts +9 -16
  26. package/lib/modules/lookup/lookup-show-more-modal.component.d.ts +3 -4
  27. package/lib/modules/lookup/lookup.component.d.ts +17 -42
  28. package/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.d.ts +1 -1
  29. package/lib/modules/lookup/types/lookup-show-more-native-picker-context.d.ts +1 -1
  30. package/lib/modules/search/search-adapter.service.d.ts +1 -5
  31. package/lib/modules/search/search.component.d.ts +11 -22
  32. package/package.json +10 -10
  33. package/testing/country-field/country-field-fixture.d.ts +1 -1
@@ -4,4 +4,4 @@
4
4
  */
5
5
  export class SkyLookupShowMoreCustomPickerContext {
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1jdXN0b20tcGlja2VyLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1jdXN0b20tcGlja2VyLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9DQUFvQztDQWFoRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BlY2lmaWVzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byBsYXVuY2ggYSBjdXN0b20gcGlja2VyIHdoZW4gdXNlcnMgc2VsZWN0XG4gKiB0aGUgYnV0dG9uIHRvIHZpZXcgYWxsIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBTaG93TW9yZUN1c3RvbVBpY2tlckNvbnRleHQge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBvcHRpb25zIHRoYXQgdXNlcnMgY2FuIHNlbGVjdCBpbiB0aGUgY3VzdG9tIHBpY2tlci5cbiAgICovXG4gIHB1YmxpYyBpdGVtczogYW55W107XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgc2VhcmNoIHRleHQgdG8gZmlsdGVyIHRoZSBjb250ZW50cyBvZiB0aGUgY3VzdG9tIHBpY2tlci5cbiAgICovXG4gIHB1YmxpYyBpbml0aWFsU2VhcmNoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGN1cnJlbnQgc2VsZWN0aW9ucyBpbiB0aGUgbG9va3VwIGZpZWxkLlxuICAgKi9cbiAgcHVibGljIGluaXRpYWxWYWx1ZTogYW55O1xufVxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1jdXN0b20tcGlja2VyLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1jdXN0b20tcGlja2VyLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9DQUFvQztDQWFoRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BlY2lmaWVzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byBsYXVuY2ggYSBjdXN0b20gcGlja2VyIHdoZW4gdXNlcnMgc2VsZWN0XG4gKiB0aGUgYnV0dG9uIHRvIHZpZXcgYWxsIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBTaG93TW9yZUN1c3RvbVBpY2tlckNvbnRleHQge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBvcHRpb25zIHRoYXQgdXNlcnMgY2FuIHNlbGVjdCBpbiB0aGUgY3VzdG9tIHBpY2tlci5cbiAgICovXG4gIHB1YmxpYyBpdGVtcyE6IGFueVtdO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHNlYXJjaCB0ZXh0IHRvIGZpbHRlciB0aGUgY29udGVudHMgb2YgdGhlIGN1c3RvbSBwaWNrZXIuXG4gICAqL1xuICBwdWJsaWMgaW5pdGlhbFNlYXJjaCE6IHN0cmluZztcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgY3VycmVudCBzZWxlY3Rpb25zIGluIHRoZSBsb29rdXAgZmllbGQuXG4gICAqL1xuICBwdWJsaWMgaW5pdGlhbFZhbHVlITogYW55O1xufVxuIl19
@@ -4,4 +4,4 @@
4
4
  */
5
5
  export class SkyLookupShowMoreNativePickerAsyncContext {
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWFzeW5jLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWFzeW5jLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHlDQUF5QztDQVNyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaEFzeW5jRnVuY3Rpb24gfSBmcm9tICcuLi8uLi9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1hc3luYy1mdW5jdGlvbic7XG5cbmltcG9ydCB7IFNreUxvb2t1cFNlbGVjdE1vZGVUeXBlIH0gZnJvbSAnLi9sb29rdXAtc2VsZWN0LW1vZGUtdHlwZSc7XG5pbXBvcnQgeyBTa3lMb29rdXBTaG93TW9yZU5hdGl2ZVBpY2tlckNvbmZpZyB9IGZyb20gJy4vbG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWNvbmZpZyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBDb250ZXh0IGZvciB0aGUgc2hvdyBtb3JlIG5hdGl2ZSBwaWNrZXIuIFRoZXNlIHZhbHVlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGxvb2t1cCBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBTaG93TW9yZU5hdGl2ZVBpY2tlckFzeW5jQ29udGV4dCB7XG4gIHB1YmxpYyBkZXNjcmlwdG9yUHJvcGVydHk6IHN0cmluZztcbiAgcHVibGljIGlkUHJvcGVydHk6IHN0cmluZztcbiAgcHVibGljIGluaXRpYWxTZWFyY2g6IHN0cmluZztcbiAgcHVibGljIGluaXRpYWxWYWx1ZTogdW5rbm93bltdO1xuICBwdWJsaWMgc2VhcmNoQXN5bmM6IFNreUF1dG9jb21wbGV0ZVNlYXJjaEFzeW5jRnVuY3Rpb247XG4gIHB1YmxpYyBzZWxlY3RNb2RlOiBTa3lMb29rdXBTZWxlY3RNb2RlVHlwZTtcbiAgcHVibGljIHNob3dBZGRCdXR0b246IGJvb2xlYW47XG4gIHB1YmxpYyB1c2VyQ29uZmlnOiBTa3lMb29rdXBTaG93TW9yZU5hdGl2ZVBpY2tlckNvbmZpZztcbn1cbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWFzeW5jLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWFzeW5jLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHlDQUF5QztDQWdCckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hBc3luY0Z1bmN0aW9uIH0gZnJvbSAnLi4vLi4vYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1zZWFyY2gtYXN5bmMtZnVuY3Rpb24nO1xuXG5pbXBvcnQgeyBTa3lMb29rdXBTZWxlY3RNb2RlVHlwZSB9IGZyb20gJy4vbG9va3VwLXNlbGVjdC1tb2RlLXR5cGUnO1xuaW1wb3J0IHsgU2t5TG9va3VwU2hvd01vcmVOYXRpdmVQaWNrZXJDb25maWcgfSBmcm9tICcuL2xvb2t1cC1zaG93LW1vcmUtbmF0aXZlLXBpY2tlci1jb25maWcnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQ29udGV4dCBmb3IgdGhlIHNob3cgbW9yZSBuYXRpdmUgcGlja2VyLiBUaGVzZSB2YWx1ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBsb29rdXAgY29tcG9uZW50LlxuICovXG5leHBvcnQgY2xhc3MgU2t5TG9va3VwU2hvd01vcmVOYXRpdmVQaWNrZXJBc3luY0NvbnRleHQge1xuICBwdWJsaWMgZGVzY3JpcHRvclByb3BlcnR5ITogc3RyaW5nO1xuXG4gIHB1YmxpYyBpZFByb3BlcnR5ITogc3RyaW5nO1xuXG4gIHB1YmxpYyBpbml0aWFsU2VhcmNoITogc3RyaW5nO1xuXG4gIHB1YmxpYyBpbml0aWFsVmFsdWUhOiBhbnlbXTtcblxuICBwdWJsaWMgc2VhcmNoQXN5bmMhOiBTa3lBdXRvY29tcGxldGVTZWFyY2hBc3luY0Z1bmN0aW9uO1xuXG4gIHB1YmxpYyBzZWxlY3RNb2RlITogU2t5TG9va3VwU2VsZWN0TW9kZVR5cGU7XG5cbiAgcHVibGljIHNob3dBZGRCdXR0b24hOiBib29sZWFuO1xuXG4gIHB1YmxpYyB1c2VyQ29uZmlnITogU2t5TG9va3VwU2hvd01vcmVOYXRpdmVQaWNrZXJDb25maWc7XG59XG4iXX0=
@@ -4,4 +4,4 @@
4
4
  */
5
5
  export class SkyLookupShowMoreNativePickerContext {
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9DQUFvQztDQVNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaEZ1bmN0aW9uIH0gZnJvbSAnLi4vLi4vYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1zZWFyY2gtZnVuY3Rpb24nO1xuXG5pbXBvcnQgeyBTa3lMb29rdXBTZWxlY3RNb2RlVHlwZSB9IGZyb20gJy4vbG9va3VwLXNlbGVjdC1tb2RlLXR5cGUnO1xuaW1wb3J0IHsgU2t5TG9va3VwU2hvd01vcmVOYXRpdmVQaWNrZXJDb25maWcgfSBmcm9tICcuL2xvb2t1cC1zaG93LW1vcmUtbmF0aXZlLXBpY2tlci1jb25maWcnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQ29udGV4dCBmb3IgdGhlIHNob3cgbW9yZSBuYXRpdmUgcGlja2VyLiBUaGVzZSB2YWx1ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBsb29rdXAgY29tcG9uZW50LlxuICovXG5leHBvcnQgY2xhc3MgU2t5TG9va3VwU2hvd01vcmVOYXRpdmVQaWNrZXJDb250ZXh0IHtcbiAgcHVibGljIGl0ZW1zOiBhbnlbXTtcbiAgcHVibGljIGRlc2NyaXB0b3JQcm9wZXJ0eTogc3RyaW5nO1xuICBwdWJsaWMgaW5pdGlhbFNlYXJjaDogc3RyaW5nO1xuICBwdWJsaWMgaW5pdGlhbFZhbHVlOiBhbnlbXTtcbiAgcHVibGljIHNlYXJjaDogU2t5QXV0b2NvbXBsZXRlU2VhcmNoRnVuY3Rpb247XG4gIHB1YmxpYyBzZWxlY3RNb2RlOiBTa3lMb29rdXBTZWxlY3RNb2RlVHlwZTtcbiAgcHVibGljIHNob3dBZGRCdXR0b246IGJvb2xlYW47XG4gIHB1YmxpYyB1c2VyQ29uZmlnOiBTa3lMb29rdXBTaG93TW9yZU5hdGl2ZVBpY2tlckNvbmZpZztcbn1cbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9DQUFvQztDQWdCaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbiB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS90eXBlcy9hdXRvY29tcGxldGUtc2VhcmNoLWZ1bmN0aW9uJztcblxuaW1wb3J0IHsgU2t5TG9va3VwU2VsZWN0TW9kZVR5cGUgfSBmcm9tICcuL2xvb2t1cC1zZWxlY3QtbW9kZS10eXBlJztcbmltcG9ydCB7IFNreUxvb2t1cFNob3dNb3JlTmF0aXZlUGlja2VyQ29uZmlnIH0gZnJvbSAnLi9sb29rdXAtc2hvdy1tb3JlLW5hdGl2ZS1waWNrZXItY29uZmlnJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIENvbnRleHQgZm9yIHRoZSBzaG93IG1vcmUgbmF0aXZlIHBpY2tlci4gVGhlc2UgdmFsdWVzIGFyZSBwcm92aWRlZCBieSB0aGUgbG9va3VwIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUxvb2t1cFNob3dNb3JlTmF0aXZlUGlja2VyQ29udGV4dCB7XG4gIHB1YmxpYyBkZXNjcmlwdG9yUHJvcGVydHkhOiBzdHJpbmc7XG5cbiAgcHVibGljIGluaXRpYWxTZWFyY2ghOiBzdHJpbmc7XG5cbiAgcHVibGljIGluaXRpYWxWYWx1ZSE6IGFueVtdO1xuXG4gIHB1YmxpYyBpdGVtcyE6IGFueVtdO1xuXG4gIHB1YmxpYyBzZWFyY2ghOiBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbjtcblxuICBwdWJsaWMgc2VsZWN0TW9kZSE6IFNreUxvb2t1cFNlbGVjdE1vZGVUeXBlO1xuXG4gIHB1YmxpYyBzaG93QWRkQnV0dG9uITogYm9vbGVhbjtcblxuICBwdWJsaWMgdXNlckNvbmZpZyE6IFNreUxvb2t1cFNob3dNb3JlTmF0aXZlUGlja2VyQ29uZmlnO1xufVxuIl19
@@ -1,3 +1,5 @@
1
+ var _SkySearchAdapterService_instances, _SkySearchAdapterService_renderer, _SkySearchAdapterService_getInputContainerEl, _SkySearchAdapterService_getSearchOpenButtonEl, _SkySearchAdapterService_getSearchContainerEl, _SkySearchAdapterService_getInputEl;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { Injectable, Renderer2 } from '@angular/core';
2
4
  import * as i0 from "@angular/core";
3
5
  /**
@@ -5,41 +7,40 @@ import * as i0 from "@angular/core";
5
7
  */
6
8
  export class SkySearchAdapterService {
7
9
  constructor(renderer) {
8
- this.renderer = renderer;
10
+ _SkySearchAdapterService_instances.add(this);
11
+ _SkySearchAdapterService_renderer.set(this, void 0);
12
+ __classPrivateFieldSet(this, _SkySearchAdapterService_renderer, renderer, "f");
9
13
  }
10
14
  selectInput(searchEl) {
11
- this.getInputEl(searchEl).select();
15
+ __classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getInputEl).call(this, searchEl).select();
12
16
  }
13
17
  focusInput(searchEl) {
14
- this.getInputEl(searchEl).focus();
18
+ __classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getInputEl).call(this, searchEl).focus();
15
19
  }
16
20
  startInputAnimation(searchEl) {
17
- const buttonWidth = this.getSearchOpenButtonEl(searchEl).clientWidth;
18
- const offsetWidth = this.getSearchContainerEl(searchEl).offsetLeft;
21
+ const buttonWidth = __classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getSearchOpenButtonEl).call(this, searchEl).clientWidth;
22
+ const offsetWidth = __classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getSearchContainerEl).call(this, searchEl).offsetLeft;
19
23
  const minWidth = buttonWidth + offsetWidth;
20
- this.getInputContainerEl(searchEl).style.minWidth =
24
+ __classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getInputContainerEl).call(this, searchEl).style.minWidth =
21
25
  minWidth.toString() + 'px';
22
- this.renderer.setStyle(this.getInputContainerEl(searchEl), 'min-width', minWidth.toString() + 'px');
26
+ __classPrivateFieldGet(this, _SkySearchAdapterService_renderer, "f").setStyle(__classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getInputContainerEl).call(this, searchEl), 'min-width', minWidth.toString() + 'px');
23
27
  }
24
28
  endInputAnimation(searchEl) {
25
- this.renderer.setStyle(this.getInputContainerEl(searchEl), 'min-width', '');
26
- }
27
- getInputContainerEl(searchEl) {
28
- return searchEl.nativeElement.querySelector('.sky-search-input-container');
29
- }
30
- getSearchOpenButtonEl(searchEl) {
31
- return searchEl.nativeElement.querySelector('.sky-search-btn-open');
32
- }
33
- getSearchContainerEl(searchEl) {
34
- return searchEl.nativeElement.querySelector('.sky-search-container');
35
- }
36
- getInputEl(searchEl) {
37
- return searchEl.nativeElement.querySelector('input');
29
+ __classPrivateFieldGet(this, _SkySearchAdapterService_renderer, "f").setStyle(__classPrivateFieldGet(this, _SkySearchAdapterService_instances, "m", _SkySearchAdapterService_getInputContainerEl).call(this, searchEl), 'min-width', '');
38
30
  }
39
31
  }
32
+ _SkySearchAdapterService_renderer = new WeakMap(), _SkySearchAdapterService_instances = new WeakSet(), _SkySearchAdapterService_getInputContainerEl = function _SkySearchAdapterService_getInputContainerEl(searchEl) {
33
+ return searchEl.nativeElement.querySelector('.sky-search-input-container');
34
+ }, _SkySearchAdapterService_getSearchOpenButtonEl = function _SkySearchAdapterService_getSearchOpenButtonEl(searchEl) {
35
+ return searchEl.nativeElement.querySelector('.sky-search-btn-open');
36
+ }, _SkySearchAdapterService_getSearchContainerEl = function _SkySearchAdapterService_getSearchContainerEl(searchEl) {
37
+ return searchEl.nativeElement.querySelector('.sky-search-container');
38
+ }, _SkySearchAdapterService_getInputEl = function _SkySearchAdapterService_getInputEl(searchEl) {
39
+ return searchEl.nativeElement.querySelector('input');
40
+ };
40
41
  SkySearchAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkySearchAdapterService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
41
42
  SkySearchAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkySearchAdapterService });
42
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkySearchAdapterService, decorators: [{
43
44
  type: Injectable
44
45
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2gtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVsRTs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFcEMsV0FBVyxDQUFDLFFBQW9CO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxRQUFvQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxRQUFvQjtRQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3JFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDbkUsTUFBTSxRQUFRLEdBQUcsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUUzQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDL0MsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUU3QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxFQUNsQyxXQUFXLEVBQ1gsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxRQUFvQjtRQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxRQUFvQjtRQUM5QyxPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFFBQW9CO1FBQ2hELE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU8sb0JBQW9CLENBQUMsUUFBb0I7UUFDL0MsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxVQUFVLENBQUMsUUFBb0I7UUFDckMsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDOztvSEE1Q1UsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5U2VhcmNoQWRhcHRlclNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgcHVibGljIHNlbGVjdElucHV0KHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5nZXRJbnB1dEVsKHNlYXJjaEVsKS5zZWxlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0lucHV0KHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5nZXRJbnB1dEVsKHNlYXJjaEVsKS5mb2N1cygpO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0SW5wdXRBbmltYXRpb24oc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICBjb25zdCBidXR0b25XaWR0aCA9IHRoaXMuZ2V0U2VhcmNoT3BlbkJ1dHRvbkVsKHNlYXJjaEVsKS5jbGllbnRXaWR0aDtcbiAgICBjb25zdCBvZmZzZXRXaWR0aCA9IHRoaXMuZ2V0U2VhcmNoQ29udGFpbmVyRWwoc2VhcmNoRWwpLm9mZnNldExlZnQ7XG4gICAgY29uc3QgbWluV2lkdGggPSBidXR0b25XaWR0aCArIG9mZnNldFdpZHRoO1xuXG4gICAgdGhpcy5nZXRJbnB1dENvbnRhaW5lckVsKHNlYXJjaEVsKS5zdHlsZS5taW5XaWR0aCA9XG4gICAgICBtaW5XaWR0aC50b1N0cmluZygpICsgJ3B4JztcblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLmdldElucHV0Q29udGFpbmVyRWwoc2VhcmNoRWwpLFxuICAgICAgJ21pbi13aWR0aCcsXG4gICAgICBtaW5XaWR0aC50b1N0cmluZygpICsgJ3B4J1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZW5kSW5wdXRBbmltYXRpb24oc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZ2V0SW5wdXRDb250YWluZXJFbChzZWFyY2hFbCksICdtaW4td2lkdGgnLCAnJyk7XG4gIH1cblxuICBwcml2YXRlIGdldElucHV0Q29udGFpbmVyRWwoc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICByZXR1cm4gc2VhcmNoRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LXNlYXJjaC1pbnB1dC1jb250YWluZXInKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VhcmNoT3BlbkJ1dHRvbkVsKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgcmV0dXJuIHNlYXJjaEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1zZWFyY2gtYnRuLW9wZW4nKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VhcmNoQ29udGFpbmVyRWwoc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICByZXR1cm4gc2VhcmNoRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LXNlYXJjaC1jb250YWluZXInKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXRFbChzZWFyY2hFbDogRWxlbWVudFJlZikge1xuICAgIHJldHVybiBzZWFyY2hFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XG4gIH1cbn1cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2gtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWxFOztHQUVHO0FBRUgsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUFZLFFBQW1COztRQUYvQixvREFBcUI7UUFHbkIsdUJBQUEsSUFBSSxxQ0FBYSxRQUFRLE1BQUEsQ0FBQztJQUM1QixDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQW9CO1FBQ3JDLHVCQUFBLElBQUksK0VBQVksTUFBaEIsSUFBSSxFQUFhLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxVQUFVLENBQUMsUUFBb0I7UUFDcEMsdUJBQUEsSUFBSSwrRUFBWSxNQUFoQixJQUFJLEVBQWEsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFFBQW9CO1FBQzdDLE1BQU0sV0FBVyxHQUFHLHVCQUFBLElBQUksMEZBQXVCLE1BQTNCLElBQUksRUFBd0IsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3RFLE1BQU0sV0FBVyxHQUFHLHVCQUFBLElBQUkseUZBQXNCLE1BQTFCLElBQUksRUFBdUIsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQ3BFLE1BQU0sUUFBUSxHQUFHLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFFM0MsdUJBQUEsSUFBSSx3RkFBcUIsTUFBekIsSUFBSSxFQUFzQixRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUNoRCxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRTdCLHVCQUFBLElBQUkseUNBQVUsQ0FBQyxRQUFRLENBQ3JCLHVCQUFBLElBQUksd0ZBQXFCLE1BQXpCLElBQUksRUFBc0IsUUFBUSxDQUFDLEVBQ25DLFdBQVcsRUFDWCxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUMzQixDQUFDO0lBQ0osQ0FBQztJQUVNLGlCQUFpQixDQUFDLFFBQW9CO1FBQzNDLHVCQUFBLElBQUkseUNBQVUsQ0FBQyxRQUFRLENBQ3JCLHVCQUFBLElBQUksd0ZBQXFCLE1BQXpCLElBQUksRUFBc0IsUUFBUSxDQUFDLEVBQ25DLFdBQVcsRUFDWCxFQUFFLENBQ0gsQ0FBQztJQUNKLENBQUM7OzRNQUVvQixRQUFvQjtJQUN2QyxPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDN0UsQ0FBQywyR0FFc0IsUUFBb0I7SUFDekMsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3RFLENBQUMseUdBRXFCLFFBQW9CO0lBQ3hDLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUN2RSxDQUFDLHFGQUVXLFFBQW9CO0lBQzlCLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdkQsQ0FBQztvSEFwRFUsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5U2VhcmNoQWRhcHRlclNlcnZpY2Uge1xuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RJbnB1dChzZWFyY2hFbDogRWxlbWVudFJlZikge1xuICAgIHRoaXMuI2dldElucHV0RWwoc2VhcmNoRWwpLnNlbGVjdCgpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzSW5wdXQoc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLiNnZXRJbnB1dEVsKHNlYXJjaEVsKS5mb2N1cygpO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0SW5wdXRBbmltYXRpb24oc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICBjb25zdCBidXR0b25XaWR0aCA9IHRoaXMuI2dldFNlYXJjaE9wZW5CdXR0b25FbChzZWFyY2hFbCkuY2xpZW50V2lkdGg7XG4gICAgY29uc3Qgb2Zmc2V0V2lkdGggPSB0aGlzLiNnZXRTZWFyY2hDb250YWluZXJFbChzZWFyY2hFbCkub2Zmc2V0TGVmdDtcbiAgICBjb25zdCBtaW5XaWR0aCA9IGJ1dHRvbldpZHRoICsgb2Zmc2V0V2lkdGg7XG5cbiAgICB0aGlzLiNnZXRJbnB1dENvbnRhaW5lckVsKHNlYXJjaEVsKS5zdHlsZS5taW5XaWR0aCA9XG4gICAgICBtaW5XaWR0aC50b1N0cmluZygpICsgJ3B4JztcblxuICAgIHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgdGhpcy4jZ2V0SW5wdXRDb250YWluZXJFbChzZWFyY2hFbCksXG4gICAgICAnbWluLXdpZHRoJyxcbiAgICAgIG1pbldpZHRoLnRvU3RyaW5nKCkgKyAncHgnXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBlbmRJbnB1dEFuaW1hdGlvbihzZWFyY2hFbDogRWxlbWVudFJlZikge1xuICAgIHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgdGhpcy4jZ2V0SW5wdXRDb250YWluZXJFbChzZWFyY2hFbCksXG4gICAgICAnbWluLXdpZHRoJyxcbiAgICAgICcnXG4gICAgKTtcbiAgfVxuXG4gICNnZXRJbnB1dENvbnRhaW5lckVsKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgcmV0dXJuIHNlYXJjaEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1zZWFyY2gtaW5wdXQtY29udGFpbmVyJyk7XG4gIH1cblxuICAjZ2V0U2VhcmNoT3BlbkJ1dHRvbkVsKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgcmV0dXJuIHNlYXJjaEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1zZWFyY2gtYnRuLW9wZW4nKTtcbiAgfVxuXG4gICNnZXRTZWFyY2hDb250YWluZXJFbChzZWFyY2hFbDogRWxlbWVudFJlZikge1xuICAgIHJldHVybiBzZWFyY2hFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktc2VhcmNoLWNvbnRhaW5lcicpO1xuICB9XG5cbiAgI2dldElucHV0RWwoc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICByZXR1cm4gc2VhcmNoRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,5 @@
1
+ var _SkySearchComponent_instances, _SkySearchComponent_changeRef, _SkySearchComponent_elRef, _SkySearchComponent_mediaQueryService, _SkySearchComponent_searchAdapter, _SkySearchComponent_searchUpdated, _SkySearchComponent_searchBindingChanged, _SkySearchComponent_expandModeBindingChanged, _SkySearchComponent_shouldOpenInput, _SkySearchComponent_mediaQueryCallback, _SkySearchComponent_searchShouldCollapse;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { animate, state, style, transition, trigger, } from '@angular/animations';
2
4
  import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
3
5
  import { SkyMediaBreakpoints, SkyMediaQueryService } from '@skyux/core';
@@ -20,10 +22,7 @@ const EXPAND_MODE_FIT = 'fit';
20
22
  const EXPAND_MODE_NONE = 'none';
21
23
  export class SkySearchComponent {
22
24
  constructor(mediaQueryService, elRef, searchAdapter, changeRef) {
23
- this.mediaQueryService = mediaQueryService;
24
- this.elRef = elRef;
25
- this.searchAdapter = searchAdapter;
26
- this.changeRef = changeRef;
25
+ _SkySearchComponent_instances.add(this);
27
26
  /**
28
27
  * Fires when the search text is applied.
29
28
  */
@@ -46,31 +45,37 @@ export class SkySearchComponent {
46
45
  this.expandMode = EXPAND_MODE_RESPONSIVE;
47
46
  /**
48
47
  * Specifies how many milliseconds to wait before searching after users enter text in the search input.
49
- * @default 0
50
48
  */
51
49
  this.debounceTime = 0;
52
50
  /**
53
51
  * Indicates whether to disable the filter button.
54
- * @default false
55
52
  */
56
53
  this.disabled = false;
57
- this.isFullWidth = false;
58
- this.isCollapsible = true;
54
+ this.clearButtonShown = false;
55
+ this.dismissButtonShown = false;
59
56
  this.inputAnimate = INPUT_SHOWN_STATE;
60
- this.searchButtonShown = false;
57
+ this.isCollapsible = true;
58
+ this.isFullWidth = false;
61
59
  this.mobileSearchShown = false;
62
- this.dismissButtonShown = false;
63
- this.clearButtonShown = false;
64
- this.searchUpdated = new Subject();
60
+ this.searchButtonShown = false;
61
+ _SkySearchComponent_changeRef.set(this, void 0);
62
+ _SkySearchComponent_elRef.set(this, void 0);
63
+ _SkySearchComponent_mediaQueryService.set(this, void 0);
64
+ _SkySearchComponent_searchAdapter.set(this, void 0);
65
+ _SkySearchComponent_searchUpdated.set(this, new Subject());
66
+ __classPrivateFieldSet(this, _SkySearchComponent_mediaQueryService, mediaQueryService, "f");
67
+ __classPrivateFieldSet(this, _SkySearchComponent_elRef, elRef, "f");
68
+ __classPrivateFieldSet(this, _SkySearchComponent_searchAdapter, searchAdapter, "f");
69
+ __classPrivateFieldSet(this, _SkySearchComponent_changeRef, changeRef, "f");
65
70
  }
66
71
  ngOnInit() {
67
- if (this.searchShouldCollapse()) {
68
- this.breakpointSubscription = this.mediaQueryService.subscribe((args) => {
69
- this.mediaQueryCallback(args);
70
- this.changeRef.detectChanges();
72
+ if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchShouldCollapse).call(this)) {
73
+ this.breakpointSubscription = __classPrivateFieldGet(this, _SkySearchComponent_mediaQueryService, "f").subscribe((args) => {
74
+ __classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_mediaQueryCallback).call(this, args);
75
+ __classPrivateFieldGet(this, _SkySearchComponent_changeRef, "f").detectChanges();
71
76
  });
72
77
  }
73
- this.searchUpdated
78
+ __classPrivateFieldGet(this, _SkySearchComponent_searchUpdated, "f")
74
79
  .asObservable()
75
80
  .pipe(debounceTime(this.debounceTime), distinctUntilChanged())
76
81
  .subscribe((value) => {
@@ -78,7 +83,7 @@ export class SkySearchComponent {
78
83
  });
79
84
  }
80
85
  ngOnChanges(changes) {
81
- if (this.expandModeBindingChanged(changes)) {
86
+ if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_expandModeBindingChanged).call(this, changes)) {
82
87
  switch (this.expandMode) {
83
88
  case EXPAND_MODE_NONE:
84
89
  this.isCollapsible = false;
@@ -94,18 +99,18 @@ export class SkySearchComponent {
94
99
  break;
95
100
  }
96
101
  }
97
- if (this.searchBindingChanged(changes)) {
98
- this.clearButtonShown = this.searchText && this.searchText !== '';
99
- if (this.shouldOpenInput()) {
102
+ if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchBindingChanged).call(this, changes)) {
103
+ this.clearButtonShown = !!(this.searchText && this.searchText !== '');
104
+ if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_shouldOpenInput).call(this)) {
100
105
  this.inputAnimate = INPUT_SHOWN_STATE;
101
106
  }
102
107
  }
103
- this.changeRef.detectChanges();
108
+ __classPrivateFieldGet(this, _SkySearchComponent_changeRef, "f").detectChanges();
104
109
  }
105
110
  clearSearchText() {
106
111
  this.searchText = '';
107
112
  this.clearButtonShown = false;
108
- this.searchAdapter.focusInput(this.elRef);
113
+ __classPrivateFieldGet(this, _SkySearchComponent_searchAdapter, "f").focusInput(__classPrivateFieldGet(this, _SkySearchComponent_elRef, "f"));
109
114
  this.searchChange.emit(this.searchText);
110
115
  this.searchApply.emit(this.searchText);
111
116
  this.searchClear.emit();
@@ -123,18 +128,18 @@ export class SkySearchComponent {
123
128
  if (searchText !== this.searchText) {
124
129
  this.searchText = searchText;
125
130
  }
126
- this.clearButtonShown = searchText && searchText !== '';
131
+ this.clearButtonShown = !!(searchText && searchText !== '');
127
132
  if (searchText && searchText !== '') {
128
- this.searchAdapter.selectInput(this.elRef);
133
+ __classPrivateFieldGet(this, _SkySearchComponent_searchAdapter, "f").selectInput(__classPrivateFieldGet(this, _SkySearchComponent_elRef, "f"));
129
134
  }
130
135
  this.searchApply.emit(searchText);
131
136
  }
132
137
  searchTextChanged(searchText) {
133
138
  this.searchText = searchText;
134
- this.searchUpdated.next(searchText);
139
+ __classPrivateFieldGet(this, _SkySearchComponent_searchUpdated, "f").next(searchText);
135
140
  }
136
141
  toggleSearchInput(showInput) {
137
- if (this.searchShouldCollapse()) {
142
+ if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchShouldCollapse).call(this)) {
138
143
  if (showInput) {
139
144
  this.inputAnimate = INPUT_SHOWN_STATE;
140
145
  }
@@ -144,24 +149,24 @@ export class SkySearchComponent {
144
149
  }
145
150
  }
146
151
  inputAnimationStart(event) {
147
- if (this.searchShouldCollapse()) {
148
- this.searchAdapter.startInputAnimation(this.elRef);
152
+ if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchShouldCollapse).call(this)) {
153
+ __classPrivateFieldGet(this, _SkySearchComponent_searchAdapter, "f").startInputAnimation(__classPrivateFieldGet(this, _SkySearchComponent_elRef, "f"));
149
154
  if (event.toState === INPUT_SHOWN_STATE &&
150
- this.mediaQueryService.current === SkyMediaBreakpoints.xs) {
155
+ __classPrivateFieldGet(this, _SkySearchComponent_mediaQueryService, "f").current === SkyMediaBreakpoints.xs) {
151
156
  this.mobileSearchShown = true;
152
157
  this.searchButtonShown = false;
153
158
  }
154
159
  }
155
160
  }
156
161
  inputAnimationEnd(event) {
157
- if (this.searchShouldCollapse()) {
158
- this.searchAdapter.endInputAnimation(this.elRef);
162
+ if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchShouldCollapse).call(this)) {
163
+ __classPrivateFieldGet(this, _SkySearchComponent_searchAdapter, "f").endInputAnimation(__classPrivateFieldGet(this, _SkySearchComponent_elRef, "f"));
159
164
  this.searchButtonShown =
160
165
  event.toState === INPUT_HIDDEN_STATE &&
161
- this.mediaQueryService.current === SkyMediaBreakpoints.xs;
166
+ __classPrivateFieldGet(this, _SkySearchComponent_mediaQueryService, "f").current === SkyMediaBreakpoints.xs;
162
167
  if ((event.toState === INPUT_HIDDEN_STATE &&
163
- this.mediaQueryService.current === SkyMediaBreakpoints.xs) ||
164
- this.mediaQueryService.current !== SkyMediaBreakpoints.xs) {
168
+ __classPrivateFieldGet(this, _SkySearchComponent_mediaQueryService, "f").current === SkyMediaBreakpoints.xs) ||
169
+ __classPrivateFieldGet(this, _SkySearchComponent_mediaQueryService, "f").current !== SkyMediaBreakpoints.xs) {
165
170
  this.mobileSearchShown = false;
166
171
  }
167
172
  }
@@ -170,40 +175,36 @@ export class SkySearchComponent {
170
175
  if (this.breakpointSubscription) {
171
176
  this.breakpointSubscription.unsubscribe();
172
177
  }
173
- this.searchUpdated.complete();
174
- }
175
- searchBindingChanged(changes) {
176
- return (changes['searchText'] &&
177
- changes['searchText'].previousValue !== changes['searchText'].currentValue);
178
- }
179
- expandModeBindingChanged(changes) {
180
- return (changes['expandMode'] &&
181
- changes['expandMode'].previousValue !== changes['expandMode'].currentValue);
182
- }
183
- shouldOpenInput() {
184
- return (this.searchText !== '' &&
185
- this.mediaQueryService.current === SkyMediaBreakpoints.xs &&
186
- this.searchShouldCollapse());
178
+ __classPrivateFieldGet(this, _SkySearchComponent_searchUpdated, "f").complete();
187
179
  }
188
- mediaQueryCallback(args) {
189
- if (this.searchShouldCollapse()) {
190
- if (args === SkyMediaBreakpoints.xs) {
191
- this.inputAnimate = INPUT_HIDDEN_STATE;
192
- }
193
- else if (this.inputAnimate !== INPUT_SHOWN_STATE) {
194
- this.inputAnimate = INPUT_SHOWN_STATE;
195
- }
196
- else {
197
- this.mobileSearchShown = false;
198
- }
180
+ }
181
+ _SkySearchComponent_changeRef = new WeakMap(), _SkySearchComponent_elRef = new WeakMap(), _SkySearchComponent_mediaQueryService = new WeakMap(), _SkySearchComponent_searchAdapter = new WeakMap(), _SkySearchComponent_searchUpdated = new WeakMap(), _SkySearchComponent_instances = new WeakSet(), _SkySearchComponent_searchBindingChanged = function _SkySearchComponent_searchBindingChanged(changes) {
182
+ return (changes['searchText'] &&
183
+ changes['searchText'].previousValue !== changes['searchText'].currentValue);
184
+ }, _SkySearchComponent_expandModeBindingChanged = function _SkySearchComponent_expandModeBindingChanged(changes) {
185
+ return (changes['expandMode'] &&
186
+ changes['expandMode'].previousValue !== changes['expandMode'].currentValue);
187
+ }, _SkySearchComponent_shouldOpenInput = function _SkySearchComponent_shouldOpenInput() {
188
+ return (this.searchText !== '' &&
189
+ __classPrivateFieldGet(this, _SkySearchComponent_mediaQueryService, "f").current === SkyMediaBreakpoints.xs &&
190
+ __classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchShouldCollapse).call(this));
191
+ }, _SkySearchComponent_mediaQueryCallback = function _SkySearchComponent_mediaQueryCallback(args) {
192
+ if (__classPrivateFieldGet(this, _SkySearchComponent_instances, "m", _SkySearchComponent_searchShouldCollapse).call(this)) {
193
+ if (args === SkyMediaBreakpoints.xs) {
194
+ this.inputAnimate = INPUT_HIDDEN_STATE;
195
+ }
196
+ else if (this.inputAnimate !== INPUT_SHOWN_STATE) {
197
+ this.inputAnimate = INPUT_SHOWN_STATE;
198
+ }
199
+ else {
200
+ this.mobileSearchShown = false;
199
201
  }
200
- this.changeRef.markForCheck();
201
- }
202
- searchShouldCollapse() {
203
- return ((this.isCollapsible || this.isCollapsible === undefined) &&
204
- this.isFullWidth !== true);
205
202
  }
206
- }
203
+ __classPrivateFieldGet(this, _SkySearchComponent_changeRef, "f").markForCheck();
204
+ }, _SkySearchComponent_searchShouldCollapse = function _SkySearchComponent_searchShouldCollapse() {
205
+ return ((this.isCollapsible || this.isCollapsible === undefined) &&
206
+ this.isFullWidth !== true);
207
+ };
207
208
  SkySearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkySearchComponent, deps: [{ token: i1.SkyMediaQueryService }, { token: i0.ElementRef }, { token: i2.SkySearchAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
208
209
  SkySearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkySearchComponent, selector: "sky-search", inputs: { searchText: "searchText", expandMode: "expandMode", debounceTime: "debounceTime", disabled: "disabled", placeholderText: "placeholderText" }, outputs: { searchApply: "searchApply", searchChange: "searchChange", searchClear: "searchClear" }, providers: [SkySearchAdapterService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n >\n <sky-input-box>\n <input\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n skyId\n #searchInput=\"skyId\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"close\"\n iconType=\"skyux\"\n size=\"sm\"\n ></sky-icon>\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container\n *ngTemplateOutlet=\"searchIconTemplate\"\n ></ng-container>\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\"></ng-container>\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n <button\n *ngIf=\"mobileSearchShown\"\n class=\"sky-btn sky-btn-secondary sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"chevron-circle-left\" size=\"lg\">\n </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"double-chevron-left\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"search\" size=\"lg\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"search\"\n iconType=\"skyux\"\n size=\"lg\"\n ></sky-icon>\n</ng-template>\n", styles: ["sky-search .sky-search-container .sky-form-group{margin-bottom:0}sky-search .sky-search-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}sky-search .sky-search-input:focus{border:0 none;box-shadow:none;outline:none}sky-search .sky-search-input::-ms-clear{display:none}sky-search .sky-search-btn{border-left:0 none}sky-search .sky-search-btn:hover,sky-search .sky-search-btn:focus{background-color:#fff}sky-search .sky-search-btn-apply{padding-left:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-right:1px solid #cdcfd2}sky-search .sky-search-btn-clear{border-right:0 none;padding-right:6px;border-top:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2}sky-search .sky-search-input-focused .sky-search-btn{border-color:transparent;border-top:0 none;border-bottom:0 none}sky-search .sky-search-input-focused .sky-search-btn-apply{border-right:0 none}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:15px}}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44;border:2px solid #72bf44;padding:5px 11px}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:#fff;top:0;left:0;bottom:0;right:0;padding:5px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{width:40px}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#1c1d1f;font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{border:none;box-shadow:inset 0 0 0 2px #72bf44;padding:8px 14px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:unset;box-shadow:inset 0 -1px #1870b8}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 10px}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:17.3333px;color:#1c1d1f}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{flex-basis:auto;width:auto;padding:10px 10px 10px 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:normal;color:inherit;font-weight:400}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-search-dismiss-absolute{background-color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open,.sky-theme-modern.sky-theme-mode-dark .sky-search-btn-open-applied.sky-search-btn-open:hover{color:#72bf44}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-search .sky-input-group-icon .sky-icon{font-size:17.333px;color:#fbfcfe}\n"], components: [{ type: i3.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }, { type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "skyLibResources": i8.SkyLibResourcesPipe }, animations: [
209
210
  trigger('inputState', [
@@ -250,4 +251,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
250
251
  }], placeholderText: [{
251
252
  type: Input
252
253
  }] } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztBQUVuRSxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQztBQUN2QyxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQztBQUN6QyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQztBQUM1QyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUM7QUFDOUIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7QUE0QmhDLE1BQU0sT0FBTyxrQkFBa0I7SUFzRTdCLFlBQ1UsaUJBQXVDLEVBQ3ZDLEtBQWlCLEVBQ2pCLGFB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LGlCQUFpQixFQUNqQixLQUFLLENBQUM7Z0NBQ0osT0FBTyxFQUFFLENBQUM7Z0NBQ1YsS0FBSyxFQUFFLE1BQU07NkJBQ2QsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3lCQUN4QyxDQUFDO3FCQUNILGFBQ1UsQ0FBQyx1QkFBdUIsQ0FBQzswTUFPN0IsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxZQUFZO3NCQURsQixNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU07Z0JBT0EsVUFBVTtzQkFEaEIsS0FBSztnQkFXQyxVQUFVO3NCQURoQixLQUFLO2dCQVFDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBUUMsUUFBUTtzQkFEZCxLQUFLO2dCQWFDLGVBQWU7c0JBRHJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBbmltYXRpb25FdmVudCxcbiAgYW5pbWF0ZSxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cywgU2t5TWVkaWFRdWVyeVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5U2VhcmNoQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3NlYXJjaC1hZGFwdGVyLnNlcnZpY2UnO1xuXG5jb25zdCBJTlBVVF9TSE9XTl9TVEFURSA9ICdpbnB1dFNob3duJztcbmNvbnN0IElOUFVUX0hJRERFTl9TVEFURSA9ICdpbnB1dEhpZGRlbic7XG5jb25zdCBFWFBBTkRfTU9ERV9SRVNQT05TSVZFID0gJ3Jlc3BvbnNpdmUnO1xuY29uc3QgRVhQQU5EX01PREVfRklUID0gJ2ZpdCc7XG5jb25zdCBFWFBBTkRfTU9ERV9OT05FID0gJ25vbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VhcmNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignaW5wdXRTdGF0ZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICBJTlBVVF9ISURERU5fU1RBVEUsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICBJTlBVVF9TSE9XTl9TVEFURSxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCcqIDw9PiAqJywgYW5pbWF0ZSgnMTUwbXMnKSksXG4gICAgXSksXG4gIF0sXG4gIHByb3ZpZGVyczogW1NreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBhcHBsaWVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hBcHBseSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgc2VhcmNoIHRleHQgaXMgY2xlYXJlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VhcmNoQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBkZWZhdWx0IHNlYXJjaCBjcml0ZXJpYSBmb3IgdGhlIGlucHV0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlYXJjaFRleHQ6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBleHBhbmQgbW9kZSBmb3IgdGhlIHNlYXJjaCBpbnB1dC4gVGhlIHZhbGlkIG9wdGlvbnNcbiAgICogaW5jbHVkZSBgXCJyZXNwb25zaXZlXCJgIHRvIGNvbGxhcHNlIHRoZSBzZWFyY2ggaW5wdXQgaW50byBhIGJ1dHRvbiBvblxuICAgKiBtb2JpbGUgZGV2aWNlcywgYFwibm9uZVwiYCB0byAqbm90KiBjb2xsYXBzZSB0aGUgc2VhcmNoIGlucHV0IG9uIG1vYmlsZVxuICAgKiBkZXZpY2VzLCBhbmQgYFwiZml0XCJgIHRvIGV4dGVuZCB0aGUgc2VhcmNoIGlucHV0IHRvIGZpdCB0aGUgd2lkdGggb2YgaXRzIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgXCJyZXNwb25zaXZlXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBleHBhbmRNb2RlOiBzdHJpbmcgPSBFWFBBTkRfTU9ERV9SRVNQT05TSVZFO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgaG93IG1hbnkgbWlsbGlzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIHNlYXJjaGluZyBhZnRlciB1c2VycyBlbnRlciB0ZXh0IGluIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWJvdW5jZVRpbWUgPSAwO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSBmaWx0ZXIgYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgcHVibGljIGlzRnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgcHVibGljIGlzQ29sbGFwc2libGUgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgcGxhY2Vob2xkZXIgdGV4dCB0byBkaXNwbGF5IGluIHRoZSBzZWFyY2ggaW5wdXQgdW50aWwgdXNlcnNcbiAgICogZW50ZXIgc2VhcmNoIGNyaXRlcmlhLlxuICAgKiBAZGVmYXVsdCBcIkZpbmQgaW4gdGhpcyBsaXN0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbGFjZWhvbGRlclRleHQ6IHN0cmluZztcblxuICBwdWJsaWMgaW5wdXRBbmltYXRlOiBzdHJpbmcgPSBJTlBVVF9TSE9XTl9TVEFURTtcbiAgcHVibGljIGJyZWFrcG9pbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIHNlYXJjaEJ1dHRvblNob3duID0gZmFsc2U7XG4gIHB1YmxpYyBtb2JpbGVTZWFyY2hTaG93biA9IGZhbHNlO1xuICBwdWJsaWMgZGlzbWlzc0J1dHRvblNob3duID0gZmFsc2U7XG4gIHB1YmxpYyBjbGVhckJ1dHRvblNob3duID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBzZWFyY2hVcGRhdGVkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZWRpYVF1ZXJ5U2VydmljZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHNlYXJjaEFkYXB0ZXI6IFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnNlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbiA9IHRoaXMubWVkaWFRdWVyeVNlcnZpY2Uuc3Vic2NyaWJlKFxuICAgICAgICAoYXJnczogU2t5TWVkaWFCcmVha3BvaW50cykgPT4ge1xuICAgICAgICAgIHRoaXMubWVkaWFRdWVyeUNhbGxiYWNrKGFyZ3MpO1xuICAgICAgICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaFVwZGF0ZWRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLmV4cGFuZE1vZGVCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzKSkge1xuICAgICAgc3dpdGNoICh0aGlzLmV4cGFuZE1vZGUpIHtcbiAgICAgICAgY2FzZSBFWFBBTkRfTU9ERV9OT05FOlxuICAgICAgICAgIHRoaXMuaXNDb2xsYXBzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNGdWxsV2lkdGggPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBFWFBBTkRfTU9ERV9GSVQ6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc0Z1bGxXaWR0aCA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VhcmNoQmluZGluZ0NoYW5nZWQoY2hhbmdlcykpIHtcbiAgICAgIHRoaXMuY2xlYXJCdXR0b25TaG93biA9IHRoaXMuc2VhcmNoVGV4dCAmJiB0aGlzLnNlYXJjaFRleHQgIT09ICcnO1xuICAgICAgaWYgKHRoaXMuc2hvdWxkT3BlbklucHV0KCkpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9TSE9XTl9TVEFURTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU2VhcmNoVGV4dCgpIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcbiAgICB0aGlzLmNsZWFyQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICAgIHRoaXMuc2VhcmNoQWRhcHRlci5mb2N1c0lucHV0KHRoaXMuZWxSZWYpO1xuICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodGhpcy5zZWFyY2hUZXh0KTtcblxuICAgIHRoaXMuc2VhcmNoQXBwbHkuZW1pdCh0aGlzLnNlYXJjaFRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hDbGVhci5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZW50ZXJQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCwgc2VhcmNoVGV4dDogc3RyaW5nKSB7XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFbnRlcicgfHwgZXZlbnQuY29kZSA9PT0gJ051bXBhZEVudGVyJykge1xuICAgICAgdGhpcy5hcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFwcGx5U2VhcmNoVGV4dChzZWFyY2hUZXh0OiBzdHJpbmcpIHtcbiAgICAvLyBEb3VibGUgY2hlY2sgdGhhdCBzZWFyY2ggdGV4dCBpcyBkZWZpbmVkIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHRyaW0gb2ZmIHdoaXRlc3BhY2VcbiAgICBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQudHJpbSgpO1xuICAgIH1cblxuICAgIGlmIChzZWFyY2hUZXh0ICE9PSB0aGlzLnNlYXJjaFRleHQpIHtcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG4gICAgfVxuICAgIHRoaXMuY2xlYXJCdXR0b25TaG93biA9IHNlYXJjaFRleHQgJiYgc2VhcmNoVGV4dCAhPT0gJyc7XG4gICAgaWYgKHNlYXJjaFRleHQgJiYgc2VhcmNoVGV4dCAhPT0gJycpIHtcbiAgICAgIHRoaXMuc2VhcmNoQWRhcHRlci5zZWxlY3RJbnB1dCh0aGlzLmVsUmVmKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaEFwcGx5LmVtaXQoc2VhcmNoVGV4dCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoVGV4dENoYW5nZWQoc2VhcmNoVGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gc2VhcmNoVGV4dDtcbiAgICB0aGlzLnNlYXJjaFVwZGF0ZWQubmV4dChzZWFyY2hUZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTZWFyY2hJbnB1dChzaG93SW5wdXQ6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5zZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICBpZiAoc2hvd0lucHV0KSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX0hJRERFTl9TVEFURTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5wdXRBbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBpZiAodGhpcy5zZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICB0aGlzLnNlYXJjaEFkYXB0ZXIuc3RhcnRJbnB1dEFuaW1hdGlvbih0aGlzLmVsUmVmKTtcblxuICAgICAgaWYgKFxuICAgICAgICBldmVudC50b1N0YXRlID09PSBJTlBVVF9TSE9XTl9TVEFURSAmJlxuICAgICAgICB0aGlzLm1lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgICkge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZWFyY2hCdXR0b25TaG93biA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbnB1dEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBpZiAodGhpcy5zZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICB0aGlzLnNlYXJjaEFkYXB0ZXIuZW5kSW5wdXRBbmltYXRpb24odGhpcy5lbFJlZik7XG5cbiAgICAgIHRoaXMuc2VhcmNoQnV0dG9uU2hvd24gPVxuICAgICAgICBldmVudC50b1N0YXRlID09PSBJTlBVVF9ISURERU5fU1RBVEUgJiZcbiAgICAgICAgdGhpcy5tZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzO1xuXG4gICAgICBpZiAoXG4gICAgICAgIChldmVudC50b1N0YXRlID09PSBJTlBVVF9ISURERU5fU1RBVEUgJiZcbiAgICAgICAgICB0aGlzLm1lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMpIHx8XG4gICAgICAgIHRoaXMubWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCAhPT0gU2t5TWVkaWFCcmVha3BvaW50cy54c1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMubW9iaWxlU2VhcmNoU2hvd24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWFyY2hVcGRhdGVkLmNvbXBsZXRlKCk7XG4gIH1cbiAgcHJpdmF0ZSBzZWFyY2hCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGNoYW5nZXNbJ3NlYXJjaFRleHQnXSAmJlxuICAgICAgY2hhbmdlc1snc2VhcmNoVGV4dCddLnByZXZpb3VzVmFsdWUgIT09IGNoYW5nZXNbJ3NlYXJjaFRleHQnXS5jdXJyZW50VmFsdWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBleHBhbmRNb2RlQmluZGluZ0NoYW5nZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHJldHVybiAoXG4gICAgICBjaGFuZ2VzWydleHBhbmRNb2RlJ10gJiZcbiAgICAgIGNoYW5nZXNbJ2V4cGFuZE1vZGUnXS5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzWydleHBhbmRNb2RlJ10uY3VycmVudFZhbHVlXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdWxkT3BlbklucHV0KCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNlYXJjaFRleHQgIT09ICcnICYmXG4gICAgICB0aGlzLm1lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMgJiZcbiAgICAgIHRoaXMuc2VhcmNoU2hvdWxkQ29sbGFwc2UoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG1lZGlhUXVlcnlDYWxsYmFjayhhcmdzOiBTa3lNZWRpYUJyZWFrcG9pbnRzKSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgaWYgKGFyZ3MgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9ISURERU5fU1RBVEU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5wdXRBbmltYXRlICE9PSBJTlBVVF9TSE9XTl9TVEFURSkge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX1NIT1dOX1NUQVRFO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2JpbGVTZWFyY2hTaG93biA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmlzQ29sbGFwc2libGUgfHwgdGhpcy5pc0NvbGxhcHNpYmxlID09PSB1bmRlZmluZWQpICYmXG4gICAgICB0aGlzLmlzRnVsbFdpZHRoICE9PSB0cnVlXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1idG4taWNvbiBza3ktc2VhcmNoLWJ0bi1vcGVuXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfc2VhcmNoX29wZW4nIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIFtoaWRkZW5dPVwiIXNlYXJjaEJ1dHRvblNob3duXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ3NreS1zZWFyY2gtYnRuLW9wZW4tYXBwbGllZCc6IGNsZWFyQnV0dG9uU2hvd24gfVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlU2VhcmNoSW5wdXQodHJ1ZSlcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1zZWFyY2gtZGlzbWlzcy1jb250YWluZXJcIlxuICAgIFtoaWRkZW5dPVwic2VhcmNoQnV0dG9uU2hvd25cIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktc2VhcmNoLWRpc21pc3MtYWJzb2x1dGUnOiBtb2JpbGVTZWFyY2hTaG93biB8fCBpc0Z1bGxXaWR0aFxuICAgIH1cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtaXRlbS1pbnB1dFwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgICAgW0BpbnB1dFN0YXRlXT1cImlucHV0QW5pbWF0ZVwiXG4gICAgICAgIChAaW5wdXRTdGF0ZS5zdGFydCk9XCJpbnB1dEFuaW1hdGlvblN0YXJ0KCRldmVudClcIlxuICAgICAgICAoQGlucHV0U3RhdGUuZG9uZSk9XCJpbnB1dEFuaW1hdGlvbkVuZCgkZXZlbnQpXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktc2VhcmNoLWlucHV0LWNvbnRhaW5lci1oYXMtdmFsdWUnOiBzZWFyY2hUZXh0Py50cmltKClcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaW5wdXQtYm94PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sIHNreS1zZWFyY2gtaW5wdXQgc2t5LXJvdW5kZWQtY29ybmVyc1wiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9zZWFyY2hfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlclRleHQgfHwgKCdza3l1eF9zZWFyY2hfcGxhY2Vob2xkZXInIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAgIChrZXl1cCk9XCJlbnRlclByZXNzKCRldmVudCwgc2VhcmNoVGV4dClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoVGV4dENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICBza3lJZFxuICAgICAgICAgICAgI3NlYXJjaElucHV0PVwic2t5SWRcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWJ0biBza3ktaW5wdXQtZ3JvdXAtY2xlYXIgc2t5LWlucHV0LWJveC1idG4taW5zZXRcIlxuICAgICAgICAgICAgW2hpZGRlbl09XCIhY2xlYXJCdXR0b25TaG93blwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1zZWFyY2gtYnRuIHNreS1zZWFyY2gtYnRuLWNsZWFyXCJcbiAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2hUZXh0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIiBpY29uPVwidGltZXNcIj48L3NreS1pY29uPlxuICAgICAgICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiY2xvc2VcIlxuICAgICAgICAgICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgID48L3NreS1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1pbnB1dC1ncm91cC1idG4gc2t5LWlucHV0LWJveC1idG4taW5zZXRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktc2VhcmNoLWJ0biBza3ktc2VhcmNoLWJ0bi1hcHBseVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9zZWFyY2hfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImFwcGx5U2VhcmNoVGV4dChzZWFyY2hUZXh0KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaEljb25UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1pbnB1dC1ncm91cC1pY29uIHNreS1pbnB1dC1ib3gtaWNvbi1pbnNldC1sZWZ0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2t5LWlucHV0LWJveD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWl0ZW0tZGlzbWlzc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIm1vYmlsZVNlYXJjaFNob3duXCJcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tc2Vjb25kYXJ5IHNreS1zZWFyY2gtYnRuLWRpc21pc3NcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwiJ3NreXV4X3NlYXJjaF9kaXNtaXNzJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWFyY2hJbnB1dChmYWxzZSlcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIiBpY29uPVwiY2hldnJvbi1jaXJjbGUtbGVmdFwiIHNpemU9XCJsZ1wiPlxuICAgICAgICA8L3NreS1pY29uPlxuICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICBpY29uPVwiZG91YmxlLWNoZXZyb24tbGVmdFwiXG4gICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgID5cbiAgICAgICAgPC9za3ktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NlYXJjaEljb25UZW1wbGF0ZT5cbiAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cInNlYXJjaFwiIHNpemU9XCJsZ1wiPjwvc2t5LWljb24+XG4gIDxza3ktaWNvblxuICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgIGljb249XCJzZWFyY2hcIlxuICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgIHNpemU9XCJsZ1wiXG4gID48L3NreS1pY29uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxFQUVOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7O0FBRW5FLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDO0FBQ3ZDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDO0FBQ3pDLE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUFDO0FBQzVDLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQztBQUM5QixNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztBQTRCaEMsTUFBTSxPQUFPLGtCQUFrQjtJQWlGN0IsWUFDRSxpQkFBdUMsRUFDdkMsS0FBaUIsRUFDakIs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QUMsT0FBTyxDQUFDLENBQUM7U0FDeEMsQ0FBQztLQUNIOzJGQUdVLGtCQUFrQjtrQkExQjlCLFNBQVM7K0JBQ0UsWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCO3dCQUNWLE9BQU8sQ0FBQyxZQUFZLEVBQUU7NEJBQ3BCLEtBQUssQ0FDSCxrQkFBa0IsRUFDbEIsS0FBSyxDQUFDO2dDQUNKLE9BQU8sRUFBRSxDQUFDO2dDQUNWLEtBQUssRUFBRSxDQUFDOzZCQUNULENBQUMsQ0FDSDs0QkFDRCxLQUFLLENBQ0gsaUJBQWlCLEVBQ2pCLEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixLQUFLLEVBQUUsTUFBTTs2QkFDZCxDQUFDLENBQ0g7NEJBQ0QsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7eUJBQ3hDLENBQUM7cUJBQ0gsYUFDVSxDQUFDLHVCQUF1QixDQUFDOzBNQU83QixXQUFXO3NCQURqQixNQUFNO2dCQU9BLFlBQVk7c0JBRGxCLE1BQU07Z0JBT0EsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxVQUFVO3NCQURoQixLQUFLO2dCQVdDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBT0MsWUFBWTtzQkFEbEIsS0FBSztnQkFPQyxRQUFRO3NCQURkLEtBQUs7Z0JBU0MsZUFBZTtzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFuaW1hdGlvbkV2ZW50LFxuICBhbmltYXRlLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lNZWRpYUJyZWFrcG9pbnRzLCBTa3lNZWRpYVF1ZXJ5U2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lTZWFyY2hBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vc2VhcmNoLWFkYXB0ZXIuc2VydmljZSc7XG5cbmNvbnN0IElOUFVUX1NIT1dOX1NUQVRFID0gJ2lucHV0U2hvd24nO1xuY29uc3QgSU5QVVRfSElEREVOX1NUQVRFID0gJ2lucHV0SGlkZGVuJztcbmNvbnN0IEVYUEFORF9NT0RFX1JFU1BPTlNJVkUgPSAncmVzcG9uc2l2ZSc7XG5jb25zdCBFWFBBTkRfTU9ERV9GSVQgPSAnZml0JztcbmNvbnN0IEVYUEFORF9NT0RFX05PTkUgPSAnbm9uZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1zZWFyY2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdpbnB1dFN0YXRlJywgW1xuICAgICAgc3RhdGUoXG4gICAgICAgIElOUFVUX0hJRERFTl9TVEFURSxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgIElOUFVUX1NIT1dOX1NUQVRFLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPD0+IConLCBhbmltYXRlKCcxNTBtcycpKSxcbiAgICBdKSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbU2t5U2VhcmNoQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlYXJjaCB0ZXh0IGlzIGFwcGxpZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlYXJjaEFwcGx5ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlYXJjaCB0ZXh0IGlzIGNoYW5nZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlYXJjaENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBjbGVhcmVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hDbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGRlZmF1bHQgc2VhcmNoIGNyaXRlcmlhIGZvciB0aGUgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGV4cGFuZCBtb2RlIGZvciB0aGUgc2VhcmNoIGlucHV0LiBUaGUgdmFsaWQgb3B0aW9uc1xuICAgKiBpbmNsdWRlIGBcInJlc3BvbnNpdmVcImAgdG8gY29sbGFwc2UgdGhlIHNlYXJjaCBpbnB1dCBpbnRvIGEgYnV0dG9uIG9uXG4gICAqIG1vYmlsZSBkZXZpY2VzLCBgXCJub25lXCJgIHRvICpub3QqIGNvbGxhcHNlIHRoZSBzZWFyY2ggaW5wdXQgb24gbW9iaWxlXG4gICAqIGRldmljZXMsIGFuZCBgXCJmaXRcImAgdG8gZXh0ZW5kIHRoZSBzZWFyY2ggaW5wdXQgdG8gZml0IHRoZSB3aWR0aCBvZiBpdHMgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCBcInJlc3BvbnNpdmVcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGV4cGFuZE1vZGUgPSBFWFBBTkRfTU9ERV9SRVNQT05TSVZFO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgaG93IG1hbnkgbWlsbGlzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIHNlYXJjaGluZyBhZnRlciB1c2VycyBlbnRlciB0ZXh0IGluIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVib3VuY2VUaW1lID0gMDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgZmlsdGVyIGJ1dHRvbi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgcGxhY2Vob2xkZXIgdGV4dCB0byBkaXNwbGF5IGluIHRoZSBzZWFyY2ggaW5wdXQgdW50aWwgdXNlcnNcbiAgICogZW50ZXIgc2VhcmNoIGNyaXRlcmlhLlxuICAgKiBAZGVmYXVsdCBcIkZpbmQgaW4gdGhpcyBsaXN0XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwbGFjZWhvbGRlclRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYnJlYWtwb2ludFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBjbGVhckJ1dHRvblNob3duID0gZmFsc2U7XG5cbiAgcHVibGljIGRpc21pc3NCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpbnB1dEFuaW1hdGU6IHN0cmluZyA9IElOUFVUX1NIT1dOX1NUQVRFO1xuXG4gIHB1YmxpYyBpc0NvbGxhcHNpYmxlID0gdHJ1ZTtcblxuICBwdWJsaWMgaXNGdWxsV2lkdGggPSBmYWxzZTtcblxuICBwdWJsaWMgbW9iaWxlU2VhcmNoU2hvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgc2VhcmNoQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICAjY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG5cbiAgI21lZGlhUXVlcnlTZXJ2aWNlOiBTa3lNZWRpYVF1ZXJ5U2VydmljZTtcblxuICAjc2VhcmNoQWRhcHRlcjogU2t5U2VhcmNoQWRhcHRlclNlcnZpY2U7XG5cbiAgI3NlYXJjaFVwZGF0ZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbWVkaWFRdWVyeVNlcnZpY2U6IFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHNlYXJjaEFkYXB0ZXI6IFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlLFxuICAgIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UgPSBtZWRpYVF1ZXJ5U2VydmljZTtcbiAgICB0aGlzLiNlbFJlZiA9IGVsUmVmO1xuICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIgPSBzZWFyY2hBZGFwdGVyO1xuICAgIHRoaXMuI2NoYW5nZVJlZiA9IGNoYW5nZVJlZjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgdGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uID0gdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2Uuc3Vic2NyaWJlKFxuICAgICAgICAoYXJnczogU2t5TWVkaWFCcmVha3BvaW50cykgPT4ge1xuICAgICAgICAgIHRoaXMuI21lZGlhUXVlcnlDYWxsYmFjayhhcmdzKTtcbiAgICAgICAgICB0aGlzLiNjaGFuZ2VSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLiNleHBhbmRNb2RlQmluZGluZ0NoYW5nZWQoY2hhbmdlcykpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5leHBhbmRNb2RlKSB7XG4gICAgICAgIGNhc2UgRVhQQU5EX01PREVfTk9ORTpcbiAgICAgICAgICB0aGlzLmlzQ29sbGFwc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRVhQQU5EX01PREVfRklUOlxuICAgICAgICAgIHRoaXMuaXNDb2xsYXBzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNGdWxsV2lkdGggPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMuaXNDb2xsYXBzaWJsZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pc0Z1bGxXaWR0aCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLiNzZWFyY2hCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzKSkge1xuICAgICAgdGhpcy5jbGVhckJ1dHRvblNob3duID0gISEodGhpcy5zZWFyY2hUZXh0ICYmIHRoaXMuc2VhcmNoVGV4dCAhPT0gJycpO1xuICAgICAgaWYgKHRoaXMuI3Nob3VsZE9wZW5JbnB1dCgpKSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuI2NoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZWFyY2hUZXh0KCkge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICAgIHRoaXMuY2xlYXJCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gICAgdGhpcy4jc2VhcmNoQWRhcHRlci5mb2N1c0lucHV0KHRoaXMuI2VsUmVmKTtcbiAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHRoaXMuc2VhcmNoVGV4dCk7XG5cbiAgICB0aGlzLnNlYXJjaEFwcGx5LmVtaXQodGhpcy5zZWFyY2hUZXh0KTtcblxuICAgIHRoaXMuc2VhcmNoQ2xlYXIuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGVudGVyUHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHNlYXJjaFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInIHx8IGV2ZW50LmNvZGUgPT09ICdOdW1wYWRFbnRlcicpIHtcbiAgICAgIHRoaXMuYXBwbHlTZWFyY2hUZXh0KHNlYXJjaFRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgLy8gRG91YmxlIGNoZWNrIHRoYXQgc2VhcmNoIHRleHQgaXMgZGVmaW5lZCBiZWZvcmUgYXR0ZW1wdGluZyB0byB0cmltIG9mZiB3aGl0ZXNwYWNlXG4gICAgaWYgKHNlYXJjaFRleHQpIHtcbiAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnRyaW0oKTtcbiAgICB9XG5cbiAgICBpZiAoc2VhcmNoVGV4dCAhPT0gdGhpcy5zZWFyY2hUZXh0KSB7XG4gICAgICB0aGlzLnNlYXJjaFRleHQgPSBzZWFyY2hUZXh0O1xuICAgIH1cbiAgICB0aGlzLmNsZWFyQnV0dG9uU2hvd24gPSAhIShzZWFyY2hUZXh0ICYmIHNlYXJjaFRleHQgIT09ICcnKTtcbiAgICBpZiAoc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0ICE9PSAnJykge1xuICAgICAgdGhpcy4jc2VhcmNoQWRhcHRlci5zZWxlY3RJbnB1dCh0aGlzLiNlbFJlZik7XG4gICAgfVxuXG4gICAgdGhpcy5zZWFyY2hBcHBseS5lbWl0KHNlYXJjaFRleHQpO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaFRleHRDaGFuZ2VkKHNlYXJjaFRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZC5uZXh0KHNlYXJjaFRleHQpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVNlYXJjaElucHV0KHNob3dJbnB1dDogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICBpZiAoc2hvd0lucHV0KSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX0hJRERFTl9TVEFURTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5wdXRBbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgdGhpcy4jc2VhcmNoQWRhcHRlci5zdGFydElucHV0QW5pbWF0aW9uKHRoaXMuI2VsUmVmKTtcblxuICAgICAgaWYgKFxuICAgICAgICBldmVudC50b1N0YXRlID09PSBJTlBVVF9TSE9XTl9TVEFURSAmJlxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5tb2JpbGVTZWFyY2hTaG93biA9IHRydWU7XG4gICAgICAgIHRoaXMuc2VhcmNoQnV0dG9uU2hvd24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5wdXRBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIuZW5kSW5wdXRBbmltYXRpb24odGhpcy4jZWxSZWYpO1xuXG4gICAgICB0aGlzLnNlYXJjaEJ1dHRvblNob3duID1cbiAgICAgICAgZXZlbnQudG9TdGF0ZSA9PT0gSU5QVVRfSElEREVOX1NUQVRFICYmXG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHM7XG5cbiAgICAgIGlmIChcbiAgICAgICAgKGV2ZW50LnRvU3RhdGUgPT09IElOUFVUX0hJRERFTl9TVEFURSAmJlxuICAgICAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMpIHx8XG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgIT09IFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgICkge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWQuY29tcGxldGUoKTtcbiAgfVxuICAjc2VhcmNoQmluZGluZ0NoYW5nZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHJldHVybiAoXG4gICAgICBjaGFuZ2VzWydzZWFyY2hUZXh0J10gJiZcbiAgICAgIGNoYW5nZXNbJ3NlYXJjaFRleHQnXS5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzWydzZWFyY2hUZXh0J10uY3VycmVudFZhbHVlXG4gICAgKTtcbiAgfVxuXG4gICNleHBhbmRNb2RlQmluZGluZ0NoYW5nZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIHJldHVybiAoXG4gICAgICBjaGFuZ2VzWydleHBhbmRNb2RlJ10gJiZcbiAgICAgIGNoYW5nZXNbJ2V4cGFuZE1vZGUnXS5wcmV2aW91c1ZhbHVlICE9PSBjaGFuZ2VzWydleHBhbmRNb2RlJ10uY3VycmVudFZhbHVlXG4gICAgKTtcbiAgfVxuXG4gICNzaG91bGRPcGVuSW5wdXQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCAhPT0gJycgJiZcbiAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMgJiZcbiAgICAgIHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKClcbiAgICApO1xuICB9XG5cbiAgI21lZGlhUXVlcnlDYWxsYmFjayhhcmdzOiBTa3lNZWRpYUJyZWFrcG9pbnRzKSB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIGlmIChhcmdzID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzKSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfSElEREVOX1NUQVRFO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlucHV0QW5pbWF0ZSAhPT0gSU5QVVRfU0hPV05fU1RBVEUpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9TSE9XTl9TVEFURTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubW9iaWxlU2VhcmNoU2hvd24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy4jY2hhbmdlUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI3NlYXJjaFNob3VsZENvbGxhcHNlKCkge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5pc0NvbGxhcHNpYmxlIHx8IHRoaXMuaXNDb2xsYXBzaWJsZSA9PT0gdW5kZWZpbmVkKSAmJlxuICAgICAgdGhpcy5pc0Z1bGxXaWR0aCAhPT0gdHJ1ZVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1idXR0b24tY29udGFpbmVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb24gc2t5LXNlYXJjaC1idG4tb3BlblwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X3NlYXJjaF9vcGVuJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICBbaGlkZGVuXT1cIiFzZWFyY2hCdXR0b25TaG93blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdza3ktc2VhcmNoLWJ0bi1vcGVuLWFwcGxpZWQnOiBjbGVhckJ1dHRvblNob3duIH1cIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaElucHV0KHRydWUpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktc2VhcmNoLWRpc21pc3MtY29udGFpbmVyXCJcbiAgICBbaGlkZGVuXT1cInNlYXJjaEJ1dHRvblNob3duXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXNlYXJjaC1kaXNtaXNzLWFic29sdXRlJzogbW9iaWxlU2VhcmNoU2hvd24gfHwgaXNGdWxsV2lkdGhcbiAgICB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWl0ZW0taW5wdXRcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJza3ktc2VhcmNoLWlucHV0LWNvbnRhaW5lclwiXG4gICAgICAgIFtAaW5wdXRTdGF0ZV09XCJpbnB1dEFuaW1hdGVcIlxuICAgICAgICAoQGlucHV0U3RhdGUuc3RhcnQpPVwiaW5wdXRBbmltYXRpb25TdGFydCgkZXZlbnQpXCJcbiAgICAgICAgKEBpbnB1dFN0YXRlLmRvbmUpPVwiaW5wdXRBbmltYXRpb25FbmQoJGV2ZW50KVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LXNlYXJjaC1pbnB1dC1jb250YWluZXItaGFzLXZhbHVlJzogc2VhcmNoVGV4dD8udHJpbSgpXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8c2t5LWlucHV0LWJveD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbCBza3ktc2VhcmNoLWlucHV0IHNreS1yb3VuZGVkLWNvcm5lcnNcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfc2VhcmNoX2xhYmVsJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXJUZXh0IHx8ICgnc2t5dXhfc2VhcmNoX3BsYWNlaG9sZGVyJyB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAoa2V5dXApPVwiZW50ZXJQcmVzcygkZXZlbnQsIHNlYXJjaFRleHQpXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaFRleHRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgc2t5SWRcbiAgICAgICAgICAgICNzZWFyY2hJbnB1dD1cInNreUlkXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInNreS1pbnB1dC1ncm91cC1idG4gc2t5LWlucHV0LWdyb3VwLWNsZWFyIHNreS1pbnB1dC1ib3gtYnRuLWluc2V0XCJcbiAgICAgICAgICAgIFtoaWRkZW5dPVwiIWNsZWFyQnV0dG9uU2hvd25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktc2VhcmNoLWJ0biBza3ktc2VhcmNoLWJ0bi1jbGVhclwiXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoVGV4dCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cInRpbWVzXCI+PC9za3ktaWNvbj5cbiAgICAgICAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgICAgICAgICAgaWNvbj1cImNsb3NlXCJcbiAgICAgICAgICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICA+PC9za3ktaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ib3gtYnRuLWluc2V0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXNlYXJjaC1idG4gc2t5LXNlYXJjaC1idG4tYXBwbHlcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfc2VhcmNoX2xhYmVsJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJY29uVGVtcGxhdGVcIlxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtaWNvbiBza3ktaW5wdXQtYm94LWljb24taW5zZXQtbGVmdFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaEljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1pdGVtLWRpc21pc3NcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJtb2JpbGVTZWFyY2hTaG93blwiXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLXNlY29uZGFyeSBza3ktc2VhcmNoLWJ0bi1kaXNtaXNzXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cIidza3l1eF9zZWFyY2hfZGlzbWlzcycgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlU2VhcmNoSW5wdXQoZmFsc2UpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cImNoZXZyb24tY2lyY2xlLWxlZnRcIiBzaXplPVwibGdcIj5cbiAgICAgICAgPC9za3ktaWNvbj5cbiAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgICAgaWNvbj1cImRvdWJsZS1jaGV2cm9uLWxlZnRcIlxuICAgICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgICA+XG4gICAgICAgIDwvc2t5LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzZWFyY2hJY29uVGVtcGxhdGU+XG4gIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJzZWFyY2hcIiBzaXplPVwibGdcIj48L3NreS1pY29uPlxuICA8c2t5LWljb25cbiAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICBpY29uPVwic2VhcmNoXCJcbiAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICBzaXplPVwibGdcIlxuICA+PC9za3ktaWNvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -111,4 +111,4 @@ export class SkyCountryFieldFixture {
111
111
  this.blurInput(fixture);
112
112
  }
113
113
  }
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBa0NqQyxZQUFvQixPQUE4QixFQUFFLFNBQWlCO1FBQWpELFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQ2hELElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUMsdUJBQXVCLENBQ3RELE9BQU8sRUFDUCxTQUFTLEVBQ1QsbUJBQW1CLENBQ3BCLENBQUM7SUFDSixDQUFDO0lBckNEOztPQUVHO0lBQ0gsSUFBVyxxQkFBcUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBVyxvQkFBb0I7UUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25DLE9BQU8sSUFBSSxLQUFLLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQVVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQWtCO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUNoRCxVQUFVLEVBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO1FBQ0YsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVELE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFtQixFQUFFLEVBQUU7WUFDdEQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWhDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsVUFBa0I7UUFDeEQsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGlCQUFpQjtJQUVULGNBQWM7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQywyQkFBMkIsQ0FBZ0IsQ0FBQztJQUM1RSxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDdkQsT0FBTyxPQUFPLENBQUMsYUFBb0MsQ0FBQztJQUN0RCxDQUFDO0lBRU8sU0FBUyxDQUFDLE9BQThCO1FBQzlDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDL0QsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxXQUFXLENBQ2pCLFFBQWdCLEVBQ2hCLE9BQThCO1FBRTlCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM1QyxZQUFZLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUM5QixpQkFBaUIsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELGlCQUFpQixDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEQsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxLQUFLLENBQUMsbUJBQW1CLENBQy9CLFFBQWdCLEVBQ2hCLE9BQThCO1FBRTlCLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsZ0JBQWdCLENBQ25ELDBCQUEwQixDQUMzQixDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxlQUFlLENBQzNCLFFBQWdCLEVBQ2hCLEtBQWEsRUFDYixPQUE4QjtRQUU5QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhFLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRDtRQUVELG1EQUFtRDtRQUNuRCxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZELGlCQUFpQixDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCBjb3VudHJ5IGZpZWxkIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNvdW50cnlGaWVsZEZpeHR1cmUge1xuICBwcml2YXRlIGRlYnVnRWw6IERlYnVnRWxlbWVudDtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBpbnB1dCBmaWVsZCdzIGF1dG9jb21wbGV0ZSBhdHRyaWJ1dGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZUF0dHJpYnV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldElucHV0RWxlbWVudCgpLmdldEF0dHJpYnV0ZSgnYXV0b2NvbXBsZXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgaWYgdGhlIGNvdW50cnkgZmxhZyBpcyBjdXJyZW50bHkgdmlzaWJsZS5cbiAgICogVGhlIGZsYWcgd2lsbCBiZSB2aXNpYmxlIG9ubHkgaWYgYSBzZWxlY3Rpb24gaGFzIGJlZW4gbWFkZVxuICAgKiBhbmQgaWYgdGhlIGhpZGVTZWxlY3RlZENvdW50cnlGbGFnIG9wdGlvbiBpcyBmYWxzZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgY291bnRyeUZsYWdJc1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZmxhZyA9IHRoaXMuZ2V0Q291bnRyeUZsYWcoKTtcbiAgICByZXR1cm4gZmxhZyAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGUgaW5wdXQgaGFzIGJlZW4gZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldElucHV0RWxlbWVudCgpLmRpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNlYXJjaFRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS52YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+LCBza3lUZXN0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuZGVidWdFbCA9IFNreUFwcFRlc3RVdGlsaXR5LmdldERlYnVnRWxlbWVudEJ5VGVzdElkKFxuICAgICAgZml4dHVyZSxcbiAgICAgIHNreVRlc3RJZCxcbiAgICAgICdza3ktY291bnRyeS1maWVsZCdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0aGUgc2VhcmNoIHRleHQgaW50byB0aGUgaW5wdXQgZmllbGQgZGlzcGxheWluZyBzZWFyY2ggcmVzdWx0cywgYnV0IG1ha2luZyBubyBzZWxlY3Rpb24uXG4gICAqIEBwYXJhbSBzZWFyY2hUZXh0IFRoZSBuYW1lIG9mIHRoZSBjb3VudHJ5IHRvIHNlbGVjdC5cbiAgICogQHJldHVybnMgVGhlIGxpc3Qgb2YgY291bnRyeSBuYW1lcyBtYXRjaGluZyB0aGUgc2VhcmNoIHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VhcmNoKHNlYXJjaFRleHQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCByZXN1bHROb2RlcyA9IGF3YWl0IHRoaXMuc2VhcmNoQW5kR2V0UmVzdWx0cyhcbiAgICAgIHNlYXJjaFRleHQsXG4gICAgICB0aGlzLmZpeHR1cmVcbiAgICApO1xuICAgIGNvbnN0IHJlc3VsdEFycmF5ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocmVzdWx0Tm9kZXMpO1xuICAgIGNvbnN0IHJlc3VsdHMgPSByZXN1bHRBcnJheS5tYXAoKHJlc3VsdDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGNvdW50cnlOYW1lRWwgPSByZXN1bHQucXVlcnlTZWxlY3RvcignLnNreS1oaWdobGlnaHQtbWFyaycpO1xuICAgICAgY29uc3QgY291bnRyeU5hbWUgPSBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KGNvdW50cnlOYW1lRWwpO1xuICAgICAgcmV0dXJuIGNvdW50cnlOYW1lO1xuICAgIH0pO1xuXG4gICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICBhd2FpdCB0aGlzLmZpeHR1cmUud2hlblN0YWJsZSgpO1xuXG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJzIHRoZSBzZWFyY2ggdGV4dCBpbnRvIHRoZSBpbnB1dCBmaWVsZCBhbmQgc2VsZWN0cyB0aGUgZmlyc3QgcmVzdWx0IChpZiBhbnkpLlxuICAgKiBAcGFyYW0gc2VhcmNoVGV4dCBUaGUgbmFtZSBvZiB0aGUgY291bnRyeSB0byBzZWxlY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VhcmNoQW5kU2VsZWN0Rmlyc3RSZXN1bHQoc2VhcmNoVGV4dDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zZWFyY2hBbmRTZWxlY3Qoc2VhcmNoVGV4dCwgMCwgdGhpcy5maXh0dXJlKTtcblxuICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBjb3VudHJ5IHNlbGVjdGlvbiBhbmQgaW5wdXQgZmllbGQuXG4gICAqL1xuICBwdWJsaWMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5lbnRlclNlYXJjaCgnJywgdGhpcy5maXh0dXJlKTtcblxuICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICAvLyNyZWdpb24gaGVscGVyc1xuXG4gIHByaXZhdGUgZ2V0Q291bnRyeUZsYWcoKTogRGVidWdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5kZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS1jb3VudHJ5LWZpZWxkLWZsYWcnKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEF1dG9jb21wbGV0ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LWF1dG9jb21wbGV0ZS1yZXN1bHRzJykgYXMgSFRNTEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldElucHV0RWxlbWVudCgpOiBIVE1MVGV4dEFyZWFFbGVtZW50IHtcbiAgICBjb25zdCBkZWJ1Z0VsID0gdGhpcy5kZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygndGV4dGFyZWEnKSk7XG4gICAgcmV0dXJuIGRlYnVnRWwubmF0aXZlRWxlbWVudCBhcyBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBibHVySW5wdXQoZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgU2t5QXBwVGVzdFV0aWxpdHkuZmlyZURvbUV2ZW50KHRoaXMuZ2V0SW5wdXRFbGVtZW50KCksICdibHVyJyk7XG4gICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIGZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbnRlclNlYXJjaChcbiAgICBuZXdWYWx1ZTogc3RyaW5nLFxuICAgIGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLmdldElucHV0RWxlbWVudCgpO1xuICAgIGlucHV0RWxlbWVudC52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIFNreUFwcFRlc3RVdGlsaXR5LmZpcmVEb21FdmVudChpbnB1dEVsZW1lbnQsICdrZXl1cCcpO1xuICAgIFNreUFwcFRlc3RVdGlsaXR5LmZpcmVEb21FdmVudChpbnB1dEVsZW1lbnQsICdpbnB1dCcpO1xuICAgIGZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiBmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2VhcmNoQW5kR2V0UmVzdWx0cyhcbiAgICBuZXdWYWx1ZTogc3RyaW5nLFxuICAgIGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55PlxuICApOiBQcm9taXNlPE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+PiB7XG4gICAgYXdhaXQgdGhpcy5lbnRlclNlYXJjaChuZXdWYWx1ZSwgZml4dHVyZSk7XG4gICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgYXdhaXQgZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXV0b2NvbXBsZXRlRWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAnLnNreS1hdXRvY29tcGxldGUtcmVzdWx0J1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNlYXJjaEFuZFNlbGVjdChcbiAgICBuZXdWYWx1ZTogc3RyaW5nLFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZ2V0SW5wdXRFbGVtZW50KCk7XG4gICAgY29uc3Qgc2VhcmNoUmVzdWx0cyA9IGF3YWl0IHRoaXMuc2VhcmNoQW5kR2V0UmVzdWx0cyhuZXdWYWx1ZSwgZml4dHVyZSk7XG5cbiAgICBpZiAoc2VhcmNoUmVzdWx0cy5sZW5ndGggPCBpbmRleCArIDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW5kZXggb3V0IG9mIHJhbmdlIGZvciByZXN1bHRzJyk7XG4gICAgfVxuXG4gICAgLy8gTm90ZTogdGhlIG9yZGVyaW5nIG9mIHRoZXNlIGV2ZW50cyBpcyBpbXBvcnRhbnQhXG4gICAgU2t5QXBwVGVzdFV0aWxpdHkuZmlyZURvbUV2ZW50KGlucHV0RWxlbWVudCwgJ2NoYW5nZScpO1xuICAgIFNreUFwcFRlc3RVdGlsaXR5LmZpcmVEb21FdmVudChzZWFyY2hSZXN1bHRzW2luZGV4XSwgJ21vdXNlZG93bicpO1xuICAgIHRoaXMuYmx1cklucHV0KGZpeHR1cmUpO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uIGhlbHBlcnNcbn1cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBa0NqQyxZQUFvQixPQUE4QixFQUFFLFNBQWlCO1FBQWpELFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQ2hELElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUMsdUJBQXVCLENBQ3RELE9BQU8sRUFDUCxTQUFTLEVBQ1QsbUJBQW1CLENBQ3BCLENBQUM7SUFDSixDQUFDO0lBckNEOztPQUVHO0lBQ0gsSUFBVyxxQkFBcUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBVyxvQkFBb0I7UUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25DLE9BQU8sSUFBSSxLQUFLLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQVVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQWtC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MUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsZ0JBQWdCLENBQ25ELDBCQUEwQixDQUMzQixDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxlQUFlLENBQzNCLFFBQWdCLEVBQ2hCLEtBQWEsRUFDYixPQUE4QjtRQUU5QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhFLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRDtRQUVELG1EQUFtRDtRQUNuRCxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZELGlCQUFpQixDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCBjb3VudHJ5IGZpZWxkIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNvdW50cnlGaWVsZEZpeHR1cmUge1xuICBwcml2YXRlIGRlYnVnRWw6IERlYnVnRWxlbWVudDtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBpbnB1dCBmaWVsZCdzIGF1dG9jb21wbGV0ZSBhdHRyaWJ1dGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZUF0dHJpYnV0ZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS5nZXRBdHRyaWJ1dGUoJ2F1dG9jb21wbGV0ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZmxhZyBpbmRpY2F0aW5nIGlmIHRoZSBjb3VudHJ5IGZsYWcgaXMgY3VycmVudGx5IHZpc2libGUuXG4gICAqIFRoZSBmbGFnIHdpbGwgYmUgdmlzaWJsZSBvbmx5IGlmIGEgc2VsZWN0aW9uIGhhcyBiZWVuIG1hZGVcbiAgICogYW5kIGlmIHRoZSBoaWRlU2VsZWN0ZWRDb3VudHJ5RmxhZyBvcHRpb24gaXMgZmFsc2UuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNvdW50cnlGbGFnSXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZsYWcgPSB0aGlzLmdldENvdW50cnlGbGFnKCk7XG4gICAgcmV0dXJuIGZsYWcgIT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIGlucHV0IGhhcyBiZWVuIGRpc2FibGVkLlxuICAgKi9cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbnB1dEVsZW1lbnQoKS5kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgcHVibGljIGdldCBzZWFyY2hUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5wdXRFbGVtZW50KCkudmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRlYnVnRWwgPSBTa3lBcHBUZXN0VXRpbGl0eS5nZXREZWJ1Z0VsZW1lbnRCeVRlc3RJZChcbiAgICAgIGZpeHR1cmUsXG4gICAgICBza3lUZXN0SWQsXG4gICAgICAnc2t5LWNvdW50cnktZmllbGQnXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnRlcnMgdGhlIHNlYXJjaCB0ZXh0IGludG8gdGhlIGlucHV0IGZpZWxkIGRpc3BsYXlpbmcgc2VhcmNoIHJlc3VsdHMsIGJ1dCBtYWtpbmcgbm8gc2VsZWN0aW9uLlxuICAgKiBAcGFyYW0gc2VhcmNoVGV4dCBUaGUgbmFtZSBvZiB0aGUgY291bnRyeSB0byBzZWxlY3QuXG4gICAqIEByZXR1cm5zIFRoZSBsaXN0IG9mIGNvdW50cnkgbmFtZXMgbWF0Y2hpbmcgdGhlIHNlYXJjaCB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlYXJjaChzZWFyY2hUZXh0OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgcmVzdWx0Tm9kZXMgPSBhd2FpdCB0aGlzLnNlYXJjaEFuZEdldFJlc3VsdHMoXG4gICAgICBzZWFyY2hUZXh0LFxuICAgICAgdGhpcy5maXh0dXJlXG4gICAgKTtcbiAgICBjb25zdCByZXN1bHRBcnJheSA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHJlc3VsdE5vZGVzKTtcbiAgICBjb25zdCByZXN1bHRzID0gcmVzdWx0QXJyYXkubWFwKChyZXN1bHQ6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBjb3VudHJ5TmFtZUVsID0gcmVzdWx0LnF1ZXJ5U2VsZWN0b3IoJy5za3ktaGlnaGxpZ2h0LW1hcmsnKTtcbiAgICAgIGNvbnN0IGNvdW50cnlOYW1lID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0VGV4dChjb3VudHJ5TmFtZUVsKSE7XG4gICAgICByZXR1cm4gY291bnRyeU5hbWU7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIGF3YWl0IHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG5cbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnRlcnMgdGhlIHNlYXJjaCB0ZXh0IGludG8gdGhlIGlucHV0IGZpZWxkIGFuZCBzZWxlY3RzIHRoZSBmaXJzdCByZXN1bHQgKGlmIGFueSkuXG4gICAqIEBwYXJhbSBzZWFyY2hUZXh0IFRoZSBuYW1lIG9mIHRoZSBjb3VudHJ5IHRvIHNlbGVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWFyY2hBbmRTZWxlY3RGaXJzdFJlc3VsdChzZWFyY2hUZXh0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNlYXJjaEFuZFNlbGVjdChzZWFyY2hUZXh0LCAwLCB0aGlzLmZpeHR1cmUpO1xuXG4gICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gdGhpcy5maXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIGNvdW50cnkgc2VsZWN0aW9uIGFuZCBpbnB1dCBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBjbGVhcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmVudGVyU2VhcmNoKCcnLCB0aGlzLmZpeHR1cmUpO1xuXG4gICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gdGhpcy5maXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiBoZWxwZXJzXG5cbiAgcHJpdmF0ZSBnZXRDb3VudHJ5RmxhZygpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmRlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LWNvdW50cnktZmllbGQtZmxhZycpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXV0b2NvbXBsZXRlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktYXV0b2NvbXBsZXRlLXJlc3VsdHMnKSBhcyBIVE1MRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXRFbGVtZW50KCk6IEhUTUxUZXh0QXJlYUVsZW1lbnQge1xuICAgIGNvbnN0IGRlYnVnRWwgPSB0aGlzLmRlYnVnRWwucXVlcnkoQnkuY3NzKCd0ZXh0YXJlYScpKTtcbiAgICByZXR1cm4gZGVidWdFbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGJsdXJJbnB1dChmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBTa3lBcHBUZXN0VXRpbGl0eS5maXJlRG9tRXZlbnQodGhpcy5nZXRJbnB1dEVsZW1lbnQoKSwgJ2JsdXInKTtcbiAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGVudGVyU2VhcmNoKFxuICAgIG5ld1ZhbHVlOiBzdHJpbmcsXG4gICAgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZ2V0SW5wdXRFbGVtZW50KCk7XG4gICAgaW5wdXRFbGVtZW50LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgU2t5QXBwVGVzdFV0aWxpdHkuZmlyZURvbUV2ZW50KGlucHV0RWxlbWVudCwgJ2tleXVwJyk7XG4gICAgU2t5QXBwVGVzdFV0aWxpdHkuZmlyZURvbUV2ZW50KGlucHV0RWxlbWVudCwgJ2lucHV0Jyk7XG4gICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIGZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZWFyY2hBbmRHZXRSZXN1bHRzKFxuICAgIG5ld1ZhbHVlOiBzdHJpbmcsXG4gICAgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+XG4gICk6IFByb21pc2U8Tm9kZUxpc3RPZjxIVE1MRWxlbWVudD4+IHtcbiAgICBhd2FpdCB0aGlzLmVudGVyU2VhcmNoKG5ld1ZhbHVlLCBmaXh0dXJlKTtcbiAgICBmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICBhd2FpdCBmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgICByZXR1cm4gdGhpcy5nZXRBdXRvY29tcGxldGVFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICcuc2t5LWF1dG9jb21wbGV0ZS1yZXN1bHQnXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2VhcmNoQW5kU2VsZWN0KFxuICAgIG5ld1ZhbHVlOiBzdHJpbmcsXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5nZXRJbnB1dEVsZW1lbnQoKTtcbiAgICBjb25zdCBzZWFyY2hSZXN1bHRzID0gYXdhaXQgdGhpcy5zZWFyY2hBbmRHZXRSZXN1bHRzKG5ld1ZhbHVlLCBmaXh0dXJlKTtcblxuICAgIGlmIChzZWFyY2hSZXN1bHRzLmxlbmd0aCA8IGluZGV4ICsgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UgZm9yIHJlc3VsdHMnKTtcbiAgICB9XG5cbiAgICAvLyBOb3RlOiB0aGUgb3JkZXJpbmcgb2YgdGhlc2UgZXZlbnRzIGlzIGltcG9ydGFudCFcbiAgICBTa3lBcHBUZXN0VXRpbGl0eS5maXJlRG9tRXZlbnQoaW5wdXRFbGVtZW50LCAnY2hhbmdlJyk7XG4gICAgU2t5QXBwVGVzdFV0aWxpdHkuZmlyZURvbUV2ZW50KHNlYXJjaFJlc3VsdHNbaW5kZXhdLCAnbW91c2Vkb3duJyk7XG4gICAgdGhpcy5ibHVySW5wdXQoZml4dHVyZSk7XG4gIH1cblxuICAvLyNlbmRyZWdpb24gaGVscGVyc1xufVxuIl19