@smart-webcomponents-angular/passwordtextbox 9.2.21 → 13.0.1

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 (62) hide show
  1. package/common/i18n.phonenumbers.min.js +501 -0
  2. package/common/runtime.js +748 -0
  3. package/demo/angular.json +3 -3
  4. package/demo/package.json +2 -2
  5. package/demo/src/tsconfig.app.json +15 -15
  6. package/demo/src/tsconfig.json +23 -23
  7. package/esm2020/passwordtextbox/index.mjs +2 -0
  8. package/{esm2015/passwordtextbox/public_api.js → esm2020/passwordtextbox/public_api.mjs} +0 -0
  9. package/{esm2015/passwordtextbox/smart-webcomponents-angular-passwordtextbox.js → esm2020/passwordtextbox/smart-webcomponents-angular-passwordtextbox.mjs} +2 -3
  10. package/esm2020/passwordtextbox/smart.element.mjs +96 -0
  11. package/esm2020/passwordtextbox/smart.passwordtextbox.mjs +428 -0
  12. package/esm2020/passwordtextbox/smart.passwordtextbox.module.mjs +18 -0
  13. package/fesm2015/{smart-webcomponents-angular-passwordtextbox.js → smart-webcomponents-angular-passwordtextbox.mjs} +116 -60
  14. package/fesm2015/smart-webcomponents-angular-passwordtextbox.mjs.map +1 -0
  15. package/fesm2020/smart-webcomponents-angular-passwordtextbox.mjs +550 -0
  16. package/fesm2020/smart-webcomponents-angular-passwordtextbox.mjs.map +1 -0
  17. package/images/dropable_zone_image.svg +25 -0
  18. package/images/error.png +0 -0
  19. package/images/flags.png +0 -0
  20. package/images/icons-sprite.svg +85 -0
  21. package/images/icons-stack.svg +132 -0
  22. package/images/info.png +0 -0
  23. package/images/magnifier.png +0 -0
  24. package/images/mail.png +0 -0
  25. package/images/radial.svg +1 -0
  26. package/images/success.png +0 -0
  27. package/images/time.png +0 -0
  28. package/images/warning.png +0 -0
  29. package/index.d.ts +3548 -647
  30. package/package.json +26 -24
  31. package/passwordtextbox/index.d.ts +1 -0
  32. package/passwordtextbox/smart-webcomponents-angular-passwordtextbox.d.ts +2 -2
  33. package/passwordtextbox/smart.element.d.ts +4 -1
  34. package/passwordtextbox/smart.passwordtextbox.d.ts +10 -1
  35. package/passwordtextbox/smart.passwordtextbox.module.d.ts +5 -0
  36. package/source/modules/smart.passwordtextbox.js +1 -1
  37. package/source/smart.button.js +2 -2
  38. package/source/smart.element.js +2 -2
  39. package/source/smart.input.js +2 -2
  40. package/source/smart.passwordtextbox.js +6 -0
  41. package/source/smart.tooltip.js +6 -0
  42. package/styles/font/smart-icons.eot +0 -0
  43. package/styles/font/smart-icons.svg +64 -2
  44. package/styles/font/smart-icons.ttf +0 -0
  45. package/styles/font/smart-icons.woff +0 -0
  46. package/styles/font/smart-icons.woff2 +0 -0
  47. package/styles/smart.base.css +4 -4
  48. package/styles/smart.common.css +1 -1
  49. package/styles/smart.passwordtextbox.css +2 -2
  50. package/bundles/smart-webcomponents-angular-passwordtextbox.umd.js +0 -961
  51. package/bundles/smart-webcomponents-angular-passwordtextbox.umd.min.js +0 -25
  52. package/demo/src/app/app.component.ts +0 -29
  53. package/demo/src/app/app.module.ts +0 -15
  54. package/demo/src/app/main.ts +0 -6
  55. package/demo/src/main.ts +0 -16
  56. package/demo/src/polyfills.ts +0 -73
  57. package/esm2015/passwordtextbox/smart.element.js +0 -83
  58. package/esm2015/passwordtextbox/smart.passwordtextbox.js +0 -388
  59. package/esm2015/passwordtextbox/smart.passwordtextbox.module.js +0 -13
  60. package/fesm2015/smart-webcomponents-angular-passwordtextbox.js.map +0 -1
  61. package/passwordtextbox/smart-webcomponents-angular-passwordtextbox.metadata.json +0 -1
  62. package/source/smart.maskedtextbox.js +0 -6
package/demo/angular.json CHANGED
@@ -22,9 +22,9 @@
22
22
  "src/assets"
23
23
  ],
24
24
  "styles": [
25
- "./node_modules/@smart-webcomponents-angular/passwordtextbox/styles/smart.base.css",
26
- "./node_modules/@smart-webcomponents-angular/passwordtextbox/styles/smart.passwordtextbox.css",
27
- "./node_modules/@smart-webcomponents-angular/textbox/styles/smart.textbox.css",
25
+ "./node_modules/@smart-webcomponents-angular/passwordtextbox/styles/smart.base.css",
26
+ "./node_modules/@smart-webcomponents-angular/passwordtextbox/styles/smart.passwordtextbox.css",
27
+ "./node_modules/@smart-webcomponents-angular/textbox/styles/smart.textbox.css",
28
28
  "./node_modules/@smart-webcomponents-angular/passwordtextbox/styles/smart.common.css",
29
29
  "src/assets/fonts.css",
30
30
  "src/assets/styles.css"
package/demo/package.json CHANGED
@@ -18,8 +18,8 @@
18
18
  "@types/node": "^14.14.31",
19
19
  "core-js": "3.9.1",
20
20
  "moment": "^2.29.1",
21
- "@smart-webcomponents-angular/passwordtextbox": "9.2.0",
22
- "@smart-webcomponents-angular/textbox": "9.2.0",
21
+ "@smart-webcomponents-angular/passwordtextbox": "9.2.22",
22
+ "@smart-webcomponents-angular/textbox": "9.2.22",
23
23
  "rxjs": "^6.6.6",
24
24
  "zone.js": "^0.11.4"
25
25
  },
@@ -1,15 +1,15 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
- {
3
- "extends": "./tsconfig.json",
4
- "compilerOptions": {
5
- "outDir": "./out-tsc/app",
6
- "types": []
7
- },
8
- "files": [
9
- "main.ts",
10
- "polyfills.ts"
11
- ],
12
- "include": [
13
- "src/**/*.d.ts"
14
- ]
15
- }
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "./out-tsc/app",
6
+ "types": []
7
+ },
8
+ "files": [
9
+ "main.ts",
10
+ "polyfills.ts"
11
+ ],
12
+ "include": [
13
+ "src/**/*.d.ts"
14
+ ]
15
+ }
@@ -1,23 +1,23 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
- {
3
- "compileOnSave": false,
4
- "compilerOptions": {
5
- "baseUrl": "./",
6
- "outDir": "./dist/out-tsc",
7
- "sourceMap": true,
8
- "declaration": false,
9
- "downlevelIteration": true,
10
- "experimentalDecorators": true,
11
- "moduleResolution": "node",
12
- "importHelpers": true,
13
- "target": "es2015",
14
- "module": "es2020",
15
- "lib": [
16
- "es2018",
17
- "dom"
18
- ]
19
- },
20
- "angularCompilerOptions": {
21
- "enableI18nLegacyMessageIdFormat": false
22
- }
23
- }
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "compileOnSave": false,
4
+ "compilerOptions": {
5
+ "baseUrl": "./",
6
+ "outDir": "./dist/out-tsc",
7
+ "sourceMap": true,
8
+ "declaration": false,
9
+ "downlevelIteration": true,
10
+ "experimentalDecorators": true,
11
+ "moduleResolution": "node",
12
+ "importHelpers": true,
13
+ "target": "es2015",
14
+ "module": "es2020",
15
+ "lib": [
16
+ "es2018",
17
+ "dom"
18
+ ]
19
+ },
20
+ "angularCompilerOptions": {
21
+ "enableI18nLegacyMessageIdFormat": false
22
+ }
23
+ }
@@ -0,0 +1,2 @@
1
+ export * from './public_api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYXNzd29yZHRleHRib3gvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJzsiXX0=
@@ -10,6 +10,5 @@ import './../../source/modules/smart.passwordtextbox';
10
10
  /**
11
11
  * Generated bundle index. Do not edit.
12
12
  */
13
- export * from './public_api';
14
- export { BaseElement as ɵa } from './smart.element';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtd2ViY29tcG9uZW50cy1hbmd1bGFyLXBhc3N3b3JkdGV4dGJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Bhc3N3b3JkdGV4dGJveC9zcmMvc21hcnQtd2ViY29tcG9uZW50cy1hbmd1bGFyLXBhc3N3b3JkdGV4dGJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0saUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG5cbmV4cG9ydCB7QmFzZUVsZW1lbnQgYXMgybVhfSBmcm9tICcuL3NtYXJ0LmVsZW1lbnQnOyJdfQ==
13
+ export * from './index';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtd2ViY29tcG9uZW50cy1hbmd1bGFyLXBhc3N3b3JkdGV4dGJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Bhc3N3b3JkdGV4dGJveC9zcmMvc21hcnQtd2ViY29tcG9uZW50cy1hbmd1bGFyLXBhc3N3b3JkdGV4dGJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,96 @@
1
+ import { Input, Output, Directive, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BaseElement {
4
+ constructor(ref) {
5
+ this.onCreate = new EventEmitter();
6
+ this.onReady = new EventEmitter();
7
+ this.onAttach = new EventEmitter();
8
+ this.onDetach = new EventEmitter();
9
+ const that = this;
10
+ this.nativeElement = ref.nativeElement;
11
+ that.nativeElement.onAttached = () => {
12
+ that.onAttach.emit(that.nativeElement);
13
+ };
14
+ that.nativeElement.onDetached = () => {
15
+ that.onDetach.emit(that.nativeElement);
16
+ };
17
+ }
18
+ addEventListener(type, listener, options = false) {
19
+ this.nativeElement.addEventListener(type, listener, options);
20
+ }
21
+ removeEventListener(type, listener, options = false) {
22
+ this.nativeElement.removeEventListener(type, listener, options);
23
+ }
24
+ dispatchEvent(event) {
25
+ return this.nativeElement.dispatchEvent(event);
26
+ }
27
+ blur() {
28
+ this.nativeElement.blur();
29
+ }
30
+ click() {
31
+ this.nativeElement.click();
32
+ }
33
+ focus(options) {
34
+ this.nativeElement.focus(options);
35
+ }
36
+ /** @description Sets or gets the language. Used in conjunction with the property messages. */
37
+ get locale() {
38
+ return this.nativeElement ? this.nativeElement.locale : undefined;
39
+ }
40
+ set locale(value) {
41
+ this.nativeElement ? this.nativeElement.locale = value : undefined;
42
+ }
43
+ /** @description Callback used to customize the format of the messages that are returned from the Localization Module. */
44
+ get localizeFormatFunction() {
45
+ return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
46
+ }
47
+ set localizeFormatFunction(value) {
48
+ this.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;
49
+ }
50
+ /** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. */
51
+ get messages() {
52
+ return this.nativeElement ? this.nativeElement.messages : undefined;
53
+ }
54
+ set messages(value) {
55
+ this.nativeElement ? this.nativeElement.messages = value : undefined;
56
+ }
57
+ /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
58
+ get rightToLeft() {
59
+ return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
60
+ }
61
+ set rightToLeft(value) {
62
+ this.nativeElement ? this.nativeElement.rightToLeft = value : undefined;
63
+ }
64
+ /** @description Determines the theme. Theme defines the look of the element */
65
+ get theme() {
66
+ return this.nativeElement ? this.nativeElement.theme : undefined;
67
+ }
68
+ set theme(value) {
69
+ this.nativeElement ? this.nativeElement.theme = value : undefined;
70
+ }
71
+ }
72
+ BaseElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BaseElement, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
73
+ BaseElement.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.2", type: BaseElement, inputs: { locale: "locale", localizeFormatFunction: "localizeFormatFunction", messages: "messages", rightToLeft: "rightToLeft", theme: "theme" }, outputs: { onCreate: "onCreate", onReady: "onReady", onAttach: "onAttach", onDetach: "onDetach" }, ngImport: i0 });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BaseElement, decorators: [{
75
+ type: Directive
76
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onCreate: [{
77
+ type: Output
78
+ }], onReady: [{
79
+ type: Output
80
+ }], onAttach: [{
81
+ type: Output
82
+ }], onDetach: [{
83
+ type: Output
84
+ }], locale: [{
85
+ type: Input
86
+ }], localizeFormatFunction: [{
87
+ type: Input
88
+ }], messages: [{
89
+ type: Input
90
+ }], rightToLeft: [{
91
+ type: Input
92
+ }], theme: [{
93
+ type: Input
94
+ }] } });
95
+ export const Smart = window.Smart;
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQuZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Bhc3N3b3JkdGV4dGJveC9zcmMvc21hcnQuZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQWMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUduRixNQUFNLE9BQU8sV0FBVztJQUNwQixZQUFZLEdBQWU7UUFhakIsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pELFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakQsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBZnZELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFvQixDQUFDO1FBRTlDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFBO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBU00sZ0JBQWdCLENBQUMsSUFBWSxFQUFFLFFBQTRDLEVBQUUsVUFBNkMsS0FBSztRQUNsSSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVNLG1CQUFtQixDQUFDLElBQVksRUFBRSxRQUE0QyxFQUFFLFVB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QVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkE4Qk4sTUFBTTtzQkFEVCxLQUFLO2dCQVVGLHNCQUFzQjtzQkFEekIsS0FBSztnQkFVRixRQUFRO3NCQURYLEtBQUs7Z0JBVUYsV0FBVztzQkFEZCxLQUFLO2dCQVVGLEtBQUs7c0JBRFIsS0FBSzs7QUFTUCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQVEsTUFBTSxDQUFDLEtBQUssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZGVjbGFyZSBnbG9iYWwge1xuICAgIGludGVyZmFjZSBXaW5kb3cge1xuICAgICAgICBTbWFydDogYW55O1xufVxufVxuXG5cbmltcG9ydCB7IEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50UmVuZGVyTW9kZSB9IGZyb20gJy4vLi4vaW5kZXgnO1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgQmFzZUVsZW1lbnQge1xuICAgIGNvbnN0cnVjdG9yKHJlZjogRWxlbWVudFJlZikge1xuICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50ID0gcmVmLm5hdGl2ZUVsZW1lbnQgYXMgYW55O1xuXG4gICAgICAgIHRoYXQubmF0aXZlRWxlbWVudC5vbkF0dGFjaGVkID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhhdC5vbkF0dGFjaC5lbWl0KHRoYXQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGF0Lm5hdGl2ZUVsZW1lbnQub25EZXRhY2hlZCA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoYXQub25EZXRhY2guZW1pdCh0aGF0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIG9uQ3JlYXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgb25SZWFkeTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIG9uQXR0YWNoOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgb25EZXRhY2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIG5hdGl2ZUVsZW1lbnQ6IGFueTtcblxuICAgIHB1YmxpYyBhZGRFdmVudExpc3RlbmVyKHR5cGU6IHN0cmluZywgbGlzdGVuZXI6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsIG9wdGlvbnM6IGJvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyLCBvcHRpb25zKTtcblx0fVxuXG5cdHB1YmxpYyByZW1vdmVFdmVudExpc3RlbmVyKHR5cGU6IHN0cmluZywgbGlzdGVuZXI6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsIG9wdGlvbnM6IGJvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA9IGZhbHNlKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMpO1xuXHR9XG5cblx0cHVibGljIGRpc3BhdGNoRXZlbnQoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcblx0fVxuXG5cdHB1YmxpYyBibHVyKCk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlRWxlbWVudC5ibHVyKCk7XG5cdH1cblxuXHRwdWJsaWMgY2xpY2soKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG5cdH1cblxuXHRwdWJsaWMgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlRWxlbWVudC5mb2N1cyhvcHRpb25zKTtcblx0fVxuXG4vKiogQGRlc2NyaXB0aW9uIFNldHMgb3IgZ2V0cyB0aGUgbGFuZ3VhZ2UuIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcHJvcGVydHkgbWVzc2FnZXMuICAqL1xuXHRASW5wdXQoKVxuXHRnZXQgbG9jYWxlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5sb2NhbGUgOiB1bmRlZmluZWQ7XG5cdH1cblx0c2V0IGxvY2FsZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmxvY2FsZSA9IHZhbHVlIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqIEBkZXNjcmlwdGlvbiBDYWxsYmFjayB1c2VkIHRvIGN1c3RvbWl6ZSB0aGUgZm9ybWF0IG9mIHRoZSBtZXNzYWdlcyB0aGF0IGFyZSByZXR1cm5lZCBmcm9tIHRoZSBMb2NhbGl6YXRpb24gTW9kdWxlLiAqL1xuXHRASW5wdXQoKVxuXHRnZXQgbG9jYWxpemVGb3JtYXRGdW5jdGlvbigpOiBhbnkge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubG9jYWxpemVGb3JtYXRGdW5jdGlvbiA6IHVuZGVmaW5lZDtcblx0fVxuXHRzZXQgbG9jYWxpemVGb3JtYXRGdW5jdGlvbih2YWx1ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmxvY2FsaXplRm9ybWF0RnVuY3Rpb24gPSB2YWx1ZSA6IHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKiBAZGVzY3JpcHRpb24gU2V0cyBvciBnZXRzIGFuIG9iamVjdCBzcGVjaWZ5aW5nIHN0cmluZ3MgdXNlZCBpbiB0aGUgd2lkZ2V0IHRoYXQgY2FuIGJlIGxvY2FsaXplZC4gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcm9wZXJ0eSBsb2NhbGUuICAqL1xuXHRASW5wdXQoKVxuXHRnZXQgbWVzc2FnZXMoKTogYW55IHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50Lm1lc3NhZ2VzIDogdW5kZWZpbmVkO1xuXHR9XG5cdHNldCBtZXNzYWdlcyh2YWx1ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50Lm1lc3NhZ2VzID0gdmFsdWUgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKiogQGRlc2NyaXB0aW9uIFNldHMgb3IgZ2V0cyB0aGUgdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBlbGVtZW50IGlzIGFsaWduZWQgdG8gc3VwcG9ydCBsb2NhbGVzIHVzaW5nIHJpZ2h0LXRvLWxlZnQgZm9udHMuICovXG5cdEBJbnB1dCgpXG5cdGdldCByaWdodFRvTGVmdCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnJpZ2h0VG9MZWZ0IDogdW5kZWZpbmVkO1xuXHR9XG5cdHNldCByaWdodFRvTGVmdCh2YWx1ZTogYm9vbGVhbikge1xuXHRcdHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5yaWdodFRvTGVmdCA9IHZhbHVlIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqIEBkZXNjcmlwdGlvbiBEZXRlcm1pbmVzIHRoZSB0aGVtZS4gVGhlbWUgZGVmaW5lcyB0aGUgbG9vayBvZiB0aGUgZWxlbWVudCAqL1xuXHRASW5wdXQoKVxuXHRnZXQgdGhlbWUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRoZW1lIDogdW5kZWZpbmVkO1xuXHR9XG5cdHNldCB0aGVtZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRoZW1lID0gdmFsdWUgOiB1bmRlZmluZWQ7XG5cdH1cbn1cblxuZXhwb3J0IGNvbnN0IFNtYXJ0OiBhbnkgPSB3aW5kb3cuU21hcnQ7XG5cbiJdfQ==