@smart-webcomponents-angular/passwordtextbox 9.2.75 → 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.
- package/common/i18n.phonenumbers.min.js +501 -0
- package/common/runtime.js +748 -0
- package/esm2020/passwordtextbox/index.mjs +2 -0
- package/{esm2015/passwordtextbox/public_api.js → esm2020/passwordtextbox/public_api.mjs} +1 -1
- package/{esm2015/passwordtextbox/smart-webcomponents-angular-passwordtextbox.js → esm2020/passwordtextbox/smart-webcomponents-angular-passwordtextbox.mjs} +2 -3
- package/esm2020/passwordtextbox/smart.element.mjs +96 -0
- package/esm2020/passwordtextbox/smart.passwordtextbox.mjs +428 -0
- package/esm2020/passwordtextbox/smart.passwordtextbox.module.mjs +18 -0
- package/fesm2015/{smart-webcomponents-angular-passwordtextbox.js → smart-webcomponents-angular-passwordtextbox.mjs} +116 -60
- package/fesm2015/smart-webcomponents-angular-passwordtextbox.mjs.map +1 -0
- package/fesm2020/smart-webcomponents-angular-passwordtextbox.mjs +550 -0
- package/fesm2020/smart-webcomponents-angular-passwordtextbox.mjs.map +1 -0
- package/images/flags.png +0 -0
- package/index.d.ts +31816 -28915
- package/package.json +26 -24
- package/passwordtextbox/index.d.ts +1 -0
- package/passwordtextbox/smart-webcomponents-angular-passwordtextbox.d.ts +2 -2
- package/passwordtextbox/smart.element.d.ts +4 -1
- package/passwordtextbox/smart.passwordtextbox.d.ts +10 -1
- package/passwordtextbox/smart.passwordtextbox.module.d.ts +5 -0
- package/source/modules/smart.passwordtextbox.js +1 -1
- package/source/smart.button.js +2 -2
- package/source/smart.element.js +2 -2
- package/source/smart.input.js +2 -2
- package/source/smart.passwordtextbox.js +2 -2
- package/source/smart.tooltip.js +2 -2
- package/styles/font/smart-icons.eot +0 -0
- package/styles/font/smart-icons.svg +64 -2
- package/styles/font/smart-icons.ttf +0 -0
- package/styles/font/smart-icons.woff +0 -0
- package/styles/font/smart-icons.woff2 +0 -0
- package/styles/smart.base.css +4 -4
- package/styles/smart.common.css +1 -1
- package/styles/smart.passwordtextbox.css +2 -2
- package/bundles/smart-webcomponents-angular-passwordtextbox.umd.js +0 -961
- package/bundles/smart-webcomponents-angular-passwordtextbox.umd.min.js +0 -25
- package/esm2015/passwordtextbox/smart.element.js +0 -83
- package/esm2015/passwordtextbox/smart.passwordtextbox.js +0 -388
- package/esm2015/passwordtextbox/smart.passwordtextbox.module.js +0 -13
- package/fesm2015/smart-webcomponents-angular-passwordtextbox.js.map +0 -1
- package/passwordtextbox/smart-webcomponents-angular-passwordtextbox.metadata.json +0 -1
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
if (!window['Smart']) {
|
|
3
|
-
window['Smart'] = { RenderMode: 'manual' };
|
|
4
|
-
}
|
|
5
|
-
else {
|
|
6
|
-
window['Smart'].RenderMode = 'manual';
|
|
7
|
-
}
|
|
8
|
-
import './../source/modules/smart.passwordtextbox';
|
|
9
|
-
|
|
10
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms")):"function"==typeof define&&define.amd?define("smart-webcomponents-angular/passwordtextbox",["exports","@angular/core","@angular/forms"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["smart-webcomponents-angular"]=e["smart-webcomponents-angular"]||{},e["smart-webcomponents-angular"].passwordtextbox={}),e.ng.core,e.ng.forms)}(this,(function(e,t,n){"use strict";
|
|
11
|
-
/*! *****************************************************************************
|
|
12
|
-
Copyright (c) Microsoft Corporation.
|
|
13
|
-
|
|
14
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
15
|
-
purpose with or without fee is hereby granted.
|
|
16
|
-
|
|
17
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
18
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
19
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
20
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
21
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
22
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
23
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
24
|
-
***************************************************************************** */var i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};Object.create;Object.create;var o=function(){function e(e){this.onCreate=new t.EventEmitter,this.onReady=new t.EventEmitter,this.onAttach=new t.EventEmitter,this.onDetach=new t.EventEmitter;var n=this;this.nativeElement=e.nativeElement,n.nativeElement.onAttached=function(){n.onAttach.emit(n.nativeElement)},n.nativeElement.onDetached=function(){n.onDetach.emit(n.nativeElement)}}return e.prototype.addEventListener=function(e,t,n){void 0===n&&(n=!1),this.nativeElement.addEventListener(e,t,n)},e.prototype.removeEventListener=function(e,t,n){void 0===n&&(n=!1),this.nativeElement.removeEventListener(e,t,n)},e.prototype.dispatchEvent=function(e){return this.nativeElement.dispatchEvent(e)},e.prototype.blur=function(){this.nativeElement.blur()},e.prototype.click=function(){this.nativeElement.click()},e.prototype.focus=function(e){this.nativeElement.focus(e)},Object.defineProperty(e.prototype,"locale",{get:function(){return this.nativeElement?this.nativeElement.locale:void 0},set:function(e){this.nativeElement&&(this.nativeElement.locale=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"localizeFormatFunction",{get:function(){return this.nativeElement?this.nativeElement.localizeFormatFunction:void 0},set:function(e){this.nativeElement&&(this.nativeElement.localizeFormatFunction=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"messages",{get:function(){return this.nativeElement?this.nativeElement.messages:void 0},set:function(e){this.nativeElement&&(this.nativeElement.messages=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rightToLeft",{get:function(){return this.nativeElement?this.nativeElement.rightToLeft:void 0},set:function(e){this.nativeElement&&(this.nativeElement.rightToLeft=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"theme",{get:function(){return this.nativeElement?this.nativeElement.theme:void 0},set:function(e){this.nativeElement&&(this.nativeElement.theme=e)},enumerable:!1,configurable:!0}),e}();o.propDecorators={onCreate:[{type:t.Output}],onReady:[{type:t.Output}],onAttach:[{type:t.Output}],onDetach:[{type:t.Output}],locale:[{type:t.Input}],localizeFormatFunction:[{type:t.Input}],messages:[{type:t.Input}],rightToLeft:[{type:t.Input}],theme:[{type:t.Input}]};var r=window.Smart,a={provide:n.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return l})),multi:!0},l=function(e){function n(n){var i=e.call(this,n)||this;return i.eventHandlers=[],i._onChange=function(){},i._onTouched=function(){},i.onChange=new t.EventEmitter,i._initialChange=!0,i.nativeElement=n.nativeElement,i}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(n,e),n.prototype.createComponent=function(e){for(var t in void 0===e&&(e={}),this.nativeElement=document.createElement("smart-password-text-box"),e)this.nativeElement[t]=e[t];return this.nativeElement},Object.defineProperty(n.prototype,"animation",{get:function(){return this.nativeElement?this.nativeElement.animation:void 0},set:function(e){this.nativeElement&&(this.nativeElement.animation=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"autoFocus",{get:function(){return this.nativeElement?this.nativeElement.autoFocus:void 0},set:function(e){this.nativeElement&&(this.nativeElement.autoFocus=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"disabled",{get:function(){return this.nativeElement?this.nativeElement.disabled:void 0},set:function(e){this.nativeElement&&(this.nativeElement.disabled=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"enterKeyBehavior",{get:function(){return this.nativeElement?this.nativeElement.enterKeyBehavior:void 0},set:function(e){this.nativeElement&&(this.nativeElement.enterKeyBehavior=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"form",{get:function(){return this.nativeElement?this.nativeElement.form:void 0},set:function(e){this.nativeElement&&(this.nativeElement.form=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"hint",{get:function(){return this.nativeElement?this.nativeElement.hint:void 0},set:function(e){this.nativeElement&&(this.nativeElement.hint=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"label",{get:function(){return this.nativeElement?this.nativeElement.label:void 0},set:function(e){this.nativeElement&&(this.nativeElement.label=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"locale",{get:function(){return this.nativeElement?this.nativeElement.locale:void 0},set:function(e){this.nativeElement&&(this.nativeElement.locale=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"localizeFormatFunction",{get:function(){return this.nativeElement?this.nativeElement.localizeFormatFunction:void 0},set:function(e){this.nativeElement&&(this.nativeElement.localizeFormatFunction=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"maxLength",{get:function(){return this.nativeElement?this.nativeElement.maxLength:void 0},set:function(e){this.nativeElement&&(this.nativeElement.maxLength=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"messages",{get:function(){return this.nativeElement?this.nativeElement.messages:void 0},set:function(e){this.nativeElement&&(this.nativeElement.messages=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"minLength",{get:function(){return this.nativeElement?this.nativeElement.minLength:void 0},set:function(e){this.nativeElement&&(this.nativeElement.minLength=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"name",{get:function(){return this.nativeElement?this.nativeElement.name:void 0},set:function(e){this.nativeElement&&(this.nativeElement.name=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"passwordStrength",{get:function(){return this.nativeElement?this.nativeElement.passwordStrength:void 0},set:function(e){this.nativeElement&&(this.nativeElement.passwordStrength=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"placeholder",{get:function(){return this.nativeElement?this.nativeElement.placeholder:void 0},set:function(e){this.nativeElement&&(this.nativeElement.placeholder=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"required",{get:function(){return this.nativeElement?this.nativeElement.required:void 0},set:function(e){this.nativeElement&&(this.nativeElement.required=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"rightToLeft",{get:function(){return this.nativeElement?this.nativeElement.rightToLeft:void 0},set:function(e){this.nativeElement&&(this.nativeElement.rightToLeft=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"selectAllOnFocus",{get:function(){return this.nativeElement?this.nativeElement.selectAllOnFocus:void 0},set:function(e){this.nativeElement&&(this.nativeElement.selectAllOnFocus=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"showPasswordIcon",{get:function(){return this.nativeElement?this.nativeElement.showPasswordIcon:void 0},set:function(e){this.nativeElement&&(this.nativeElement.showPasswordIcon=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"showPasswordStrength",{get:function(){return this.nativeElement?this.nativeElement.showPasswordStrength:void 0},set:function(e){this.nativeElement&&(this.nativeElement.showPasswordStrength=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"theme",{get:function(){return this.nativeElement?this.nativeElement.theme:void 0},set:function(e){this.nativeElement&&(this.nativeElement.theme=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"tooltipArrow",{get:function(){return this.nativeElement?this.nativeElement.tooltipArrow:void 0},set:function(e){this.nativeElement&&(this.nativeElement.tooltipArrow=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"tooltipDelay",{get:function(){return this.nativeElement?this.nativeElement.tooltipDelay:void 0},set:function(e){this.nativeElement&&(this.nativeElement.tooltipDelay=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"tooltipPosition",{get:function(){return this.nativeElement?this.nativeElement.tooltipPosition:void 0},set:function(e){this.nativeElement&&(this.nativeElement.tooltipPosition=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"tooltipTemplate",{get:function(){return this.nativeElement?this.nativeElement.tooltipTemplate:void 0},set:function(e){this.nativeElement&&(this.nativeElement.tooltipTemplate=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"unfocusable",{get:function(){return this.nativeElement?this.nativeElement.unfocusable:void 0},set:function(e){this.nativeElement&&(this.nativeElement.unfocusable=e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"value",{get:function(){return this.nativeElement?this.nativeElement.value:void 0},set:function(e){this.nativeElement&&(this.nativeElement.value=e)},enumerable:!1,configurable:!0}),n.prototype.focus=function(){var e=this;this.nativeElement.isRendered?this.nativeElement.focus():this.nativeElement.whenRendered((function(){e.nativeElement.focus()}))},n.prototype.reset=function(){var e=this;this.nativeElement.isRendered?this.nativeElement.reset():this.nativeElement.whenRendered((function(){e.nativeElement.reset()}))},Object.defineProperty(n.prototype,"isRendered",{get:function(){return!!this.nativeElement&&this.nativeElement.isRendered},enumerable:!1,configurable:!0}),n.prototype.ngOnInit=function(){},n.prototype.ngAfterViewInit=function(){var e=this;e.onCreate.emit(e.nativeElement),r.Render(),this.nativeElement.classList.add("smart-angular"),this.nativeElement.whenRendered((function(){e.onReady.emit(e.nativeElement)})),this.listen()},n.prototype.ngOnDestroy=function(){this.unlisten()},Object.defineProperty(n.prototype,"ngValue",{get:function(){return this.nativeElement?this.nativeElement.value:null},set:function(e){this.nativeElement&&this.writeValue(e)},enumerable:!1,configurable:!0}),n.prototype.writeValue=function(e){var t=this,n=null==e?"":e;t.nativeElement.whenRendered((function(){t.value=n,!1===t._initialChange&&t._onChange(t.value)}))},n.prototype.registerOnChange=function(e){this._onChange=e},n.prototype.registerOnTouched=function(e){this._onTouched=e},n.prototype.ngOnChanges=function(e){if(this.nativeElement&&this.nativeElement.isRendered)for(var t in e)e.hasOwnProperty(t)&&(this.nativeElement[t]=e[t].currentValue)},n.prototype.listen=function(){var e=this;e.eventHandlers.changeHandler=function(t){e.onChange.emit(t)},e.nativeElement.addEventListener("change",e.eventHandlers.changeHandler),e.eventHandlers.changeModelHandler=function(t){e._initialChange=!1,e._onChange(e.nativeElement.value)},e.eventHandlers.blurModelHandler=function(t){e._onTouched()},e.nativeElement.whenRendered((function(){e.nativeElement.querySelector("input")&&(e.eventHandlers.keyupModelHandler=function(t){setTimeout((function(){e.eventHandlers.changeModelHandler(t)}),50)},e.nativeElement.querySelector("input").addEventListener("keyup",e.eventHandlers.keyupModelHandler))})),e.nativeElement.addEventListener("change",e.eventHandlers.changeModelHandler),e.nativeElement.addEventListener("blur",e.eventHandlers.blurModelHandler)},n.prototype.unlisten=function(){var e=this;e.eventHandlers.changeHandler&&e.nativeElement.removeEventListener("change",e.eventHandlers.changeHandler),e.eventHandlers.changeModelHandler&&(e.nativeElement.removeEventListener("change",e.eventHandlers.changeModelHandler),e.nativeElement.querySelector("input")&&e.nativeElement.querySelector("input").removeEventListener("keyup",e.eventHandlers.keyupModelHandler)),e.eventHandlers.blurModelHandler&&e.nativeElement.removeEventListener("blur",e.eventHandlers.blurModelHandler)},n}(o);l.decorators=[{type:t.Directive,args:[{selector:"smart-password-text-box, [smart-password-text-box]",providers:[a]}]}],l.ctorParameters=function(){return[{type:t.ElementRef}]},l.propDecorators={animation:[{type:t.Input}],autoFocus:[{type:t.Input}],disabled:[{type:t.Input}],enterKeyBehavior:[{type:t.Input}],form:[{type:t.Input}],hint:[{type:t.Input}],label:[{type:t.Input}],locale:[{type:t.Input}],localizeFormatFunction:[{type:t.Input}],maxLength:[{type:t.Input}],messages:[{type:t.Input}],minLength:[{type:t.Input}],name:[{type:t.Input}],passwordStrength:[{type:t.Input}],placeholder:[{type:t.Input}],required:[{type:t.Input}],rightToLeft:[{type:t.Input}],selectAllOnFocus:[{type:t.Input}],showPasswordIcon:[{type:t.Input}],showPasswordStrength:[{type:t.Input}],theme:[{type:t.Input}],tooltipArrow:[{type:t.Input}],tooltipDelay:[{type:t.Input}],tooltipPosition:[{type:t.Input}],tooltipTemplate:[{type:t.Input}],unfocusable:[{type:t.Input}],value:[{type:t.Input}],onChange:[{type:t.Output}]};var s=function(){};s.decorators=[{type:t.NgModule,args:[{declarations:[l],schemas:[t.CUSTOM_ELEMENTS_SCHEMA],exports:[l]}]}],e.PasswordTextBoxComponent=l,e.PasswordTextBoxModule=s,e.Smart=r,e.ɵa=o,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
25
|
-
//# sourceMappingURL=smart-webcomponents-angular-passwordtextbox.umd.min.js.map
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
export class BaseElement {
|
|
3
|
-
constructor(ref) {
|
|
4
|
-
this.onCreate = new EventEmitter();
|
|
5
|
-
this.onReady = new EventEmitter();
|
|
6
|
-
this.onAttach = new EventEmitter();
|
|
7
|
-
this.onDetach = new EventEmitter();
|
|
8
|
-
const that = this;
|
|
9
|
-
this.nativeElement = ref.nativeElement;
|
|
10
|
-
that.nativeElement.onAttached = () => {
|
|
11
|
-
that.onAttach.emit(that.nativeElement);
|
|
12
|
-
};
|
|
13
|
-
that.nativeElement.onDetached = () => {
|
|
14
|
-
that.onDetach.emit(that.nativeElement);
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
addEventListener(type, listener, options = false) {
|
|
18
|
-
this.nativeElement.addEventListener(type, listener, options);
|
|
19
|
-
}
|
|
20
|
-
removeEventListener(type, listener, options = false) {
|
|
21
|
-
this.nativeElement.removeEventListener(type, listener, options);
|
|
22
|
-
}
|
|
23
|
-
dispatchEvent(event) {
|
|
24
|
-
return this.nativeElement.dispatchEvent(event);
|
|
25
|
-
}
|
|
26
|
-
blur() {
|
|
27
|
-
this.nativeElement.blur();
|
|
28
|
-
}
|
|
29
|
-
click() {
|
|
30
|
-
this.nativeElement.click();
|
|
31
|
-
}
|
|
32
|
-
focus(options) {
|
|
33
|
-
this.nativeElement.focus(options);
|
|
34
|
-
}
|
|
35
|
-
/** @description Sets or gets the language. Used in conjunction with the property messages. */
|
|
36
|
-
get locale() {
|
|
37
|
-
return this.nativeElement ? this.nativeElement.locale : undefined;
|
|
38
|
-
}
|
|
39
|
-
set locale(value) {
|
|
40
|
-
this.nativeElement ? this.nativeElement.locale = value : undefined;
|
|
41
|
-
}
|
|
42
|
-
/** @description Callback used to customize the format of the messages that are returned from the Localization Module. */
|
|
43
|
-
get localizeFormatFunction() {
|
|
44
|
-
return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
|
|
45
|
-
}
|
|
46
|
-
set localizeFormatFunction(value) {
|
|
47
|
-
this.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;
|
|
48
|
-
}
|
|
49
|
-
/** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. */
|
|
50
|
-
get messages() {
|
|
51
|
-
return this.nativeElement ? this.nativeElement.messages : undefined;
|
|
52
|
-
}
|
|
53
|
-
set messages(value) {
|
|
54
|
-
this.nativeElement ? this.nativeElement.messages = value : undefined;
|
|
55
|
-
}
|
|
56
|
-
/** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
|
|
57
|
-
get rightToLeft() {
|
|
58
|
-
return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
|
|
59
|
-
}
|
|
60
|
-
set rightToLeft(value) {
|
|
61
|
-
this.nativeElement ? this.nativeElement.rightToLeft = value : undefined;
|
|
62
|
-
}
|
|
63
|
-
/** @description Determines the theme. Theme defines the look of the element */
|
|
64
|
-
get theme() {
|
|
65
|
-
return this.nativeElement ? this.nativeElement.theme : undefined;
|
|
66
|
-
}
|
|
67
|
-
set theme(value) {
|
|
68
|
-
this.nativeElement ? this.nativeElement.theme = value : undefined;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
BaseElement.propDecorators = {
|
|
72
|
-
onCreate: [{ type: Output }],
|
|
73
|
-
onReady: [{ type: Output }],
|
|
74
|
-
onAttach: [{ type: Output }],
|
|
75
|
-
onDetach: [{ type: Output }],
|
|
76
|
-
locale: [{ type: Input }],
|
|
77
|
-
localizeFormatFunction: [{ type: Input }],
|
|
78
|
-
messages: [{ type: Input }],
|
|
79
|
-
rightToLeft: [{ type: Input }],
|
|
80
|
-
theme: [{ type: Input }]
|
|
81
|
-
};
|
|
82
|
-
export const Smart = window.Smart;
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQuZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Bhc3N3b3JkdGV4dGJveC9zcmMvc21hcnQuZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQWMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHeEUsTUFBTSxPQUFPLFdBQVc7SUFDcEIsWUFBWSxHQUFlO1FBYWpCLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEQsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pELGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWZ2RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsYUFBb0IsQ0FBQztRQUU5QyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQTtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFBO0lBQ0wsQ0FBQztJQVNNLGdCQUFnQixDQUFDLElBQVksRUFBRSxRQUE0QyxFQUFFLFVBQTZDLEtBQUs7UUFDbEksSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxJQUFZLEVBQUUsUUFBNEMsRUFBRSxVQUE2QyxLQUFLO1FB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TSxDQUFDLE1BQU0sS0FBSyxHQUFRLE1BQU0sQ0FBQyxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XHJcbiAgICAgICAgU21hcnQ6IGFueTtcclxufVxyXG59XHJcblxyXG5cclxuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVsZW1lbnRSZW5kZXJNb2RlIH0gZnJvbSAnLi8uLi9pbmRleCc7XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZUVsZW1lbnQge1xyXG4gICAgY29uc3RydWN0b3IocmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XHJcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50ID0gcmVmLm5hdGl2ZUVsZW1lbnQgYXMgYW55O1xyXG5cclxuICAgICAgICB0aGF0Lm5hdGl2ZUVsZW1lbnQub25BdHRhY2hlZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgdGhhdC5vbkF0dGFjaC5lbWl0KHRoYXQubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGF0Lm5hdGl2ZUVsZW1lbnQub25EZXRhY2hlZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgdGhhdC5vbkRldGFjaC5lbWl0KHRoYXQubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKSBvbkNyZWF0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgb25SZWFkeTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgb25BdHRhY2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIG9uRGV0YWNoOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBwdWJsaWMgbmF0aXZlRWxlbWVudDogYW55O1xyXG5cclxuICAgIHB1YmxpYyBhZGRFdmVudExpc3RlbmVyKHR5cGU6IHN0cmluZywgbGlzdGVuZXI6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsIG9wdGlvbnM6IGJvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZTogc3RyaW5nLCBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCwgb3B0aW9uczogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zID0gZmFsc2UpOiB2b2lkIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyLCBvcHRpb25zKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBkaXNwYXRjaEV2ZW50KGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBibHVyKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50LmJsdXIoKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBjbGljaygpOiB2b2lkIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudC5mb2N1cyhvcHRpb25zKTtcclxuXHR9XHJcblxyXG4vKiogQGRlc2NyaXB0aW9uIFNldHMgb3IgZ2V0cyB0aGUgbGFuZ3VhZ2UuIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgcHJvcGVydHkgbWVzc2FnZXMuICAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGxvY2FsZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5sb2NhbGUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCBsb2NhbGUodmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmxvY2FsZSA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBDYWxsYmFjayB1c2VkIHRvIGN1c3RvbWl6ZSB0aGUgZm9ybWF0IG9mIHRoZSBtZXNzYWdlcyB0aGF0IGFyZSByZXR1cm5lZCBmcm9tIHRoZSBMb2NhbGl6YXRpb24gTW9kdWxlLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGxvY2FsaXplRm9ybWF0RnVuY3Rpb24oKTogYW55IHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubG9jYWxpemVGb3JtYXRGdW5jdGlvbiA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IGxvY2FsaXplRm9ybWF0RnVuY3Rpb24odmFsdWU6IGFueSkge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmxvY2FsaXplRm9ybWF0RnVuY3Rpb24gPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gU2V0cyBvciBnZXRzIGFuIG9iamVjdCBzcGVjaWZ5aW5nIHN0cmluZ3MgdXNlZCBpbiB0aGUgd2lkZ2V0IHRoYXQgY2FuIGJlIGxvY2FsaXplZC4gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcm9wZXJ0eSBsb2NhbGUuICAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IG1lc3NhZ2VzKCk6IGFueSB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50Lm1lc3NhZ2VzIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgbWVzc2FnZXModmFsdWU6IGFueSkge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50Lm1lc3NhZ2VzID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIFNldHMgb3IgZ2V0cyB0aGUgdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBlbGVtZW50IGlzIGFsaWduZWQgdG8gc3VwcG9ydCBsb2NhbGVzIHVzaW5nIHJpZ2h0LXRvLWxlZnQgZm9udHMuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgcmlnaHRUb0xlZnQoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnJpZ2h0VG9MZWZ0IDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgcmlnaHRUb0xlZnQodmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5yaWdodFRvTGVmdCA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBEZXRlcm1pbmVzIHRoZSB0aGVtZS4gVGhlbWUgZGVmaW5lcyB0aGUgbG9vayBvZiB0aGUgZWxlbWVudCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IHRoZW1lKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRoZW1lIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgdGhlbWUodmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRoZW1lID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgU21hcnQ6IGFueSA9IHdpbmRvdy5TbWFydDtcclxuXHJcbiJdfQ==
|
|
@@ -1,388 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, Input, forwardRef, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { BaseElement, Smart } from './smart.element';
|
|
3
|
-
export { Smart } from './smart.element';
|
|
4
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
5
|
-
const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
|
|
6
|
-
provide: NG_VALUE_ACCESSOR,
|
|
7
|
-
useExisting: forwardRef(() => PasswordTextBoxComponent),
|
|
8
|
-
multi: true
|
|
9
|
-
};
|
|
10
|
-
export class PasswordTextBoxComponent extends BaseElement {
|
|
11
|
-
constructor(ref) {
|
|
12
|
-
super(ref);
|
|
13
|
-
this.eventHandlers = [];
|
|
14
|
-
/**
|
|
15
|
-
* @description
|
|
16
|
-
* The registered callback function called when a change event occurs on the form elements.
|
|
17
|
-
*/
|
|
18
|
-
this._onChange = () => { };
|
|
19
|
-
/**
|
|
20
|
-
* @description
|
|
21
|
-
* The registered callback function called when a blur event occurs on the form elements.
|
|
22
|
-
*/
|
|
23
|
-
this._onTouched = () => { };
|
|
24
|
-
/** @description This event is triggered when the value of the element is changed.
|
|
25
|
-
* @param event. The custom event. Custom event was created with: event.detail( oldValue, value)
|
|
26
|
-
* oldValue - The previous value of the element before it was changed.
|
|
27
|
-
* value - The new value of the element.
|
|
28
|
-
*/
|
|
29
|
-
this.onChange = new EventEmitter();
|
|
30
|
-
this._initialChange = true;
|
|
31
|
-
this.nativeElement = ref.nativeElement;
|
|
32
|
-
}
|
|
33
|
-
/** @description Creates the component on demand.
|
|
34
|
-
* @param properties An optional object of properties, which will be added to the template binded ones.
|
|
35
|
-
*/
|
|
36
|
-
createComponent(properties = {}) {
|
|
37
|
-
this.nativeElement = document.createElement('smart-password-text-box');
|
|
38
|
-
for (let propertyName in properties) {
|
|
39
|
-
this.nativeElement[propertyName] = properties[propertyName];
|
|
40
|
-
}
|
|
41
|
-
return this.nativeElement;
|
|
42
|
-
}
|
|
43
|
-
/** @description Sets or gets the animation mode. Animation is disabled when the property is set to 'none' */
|
|
44
|
-
get animation() {
|
|
45
|
-
return this.nativeElement ? this.nativeElement.animation : undefined;
|
|
46
|
-
}
|
|
47
|
-
set animation(value) {
|
|
48
|
-
this.nativeElement ? this.nativeElement.animation = value : undefined;
|
|
49
|
-
}
|
|
50
|
-
/** @description Specifies that the element should be focused when the page is loaded. */
|
|
51
|
-
get autoFocus() {
|
|
52
|
-
return this.nativeElement ? this.nativeElement.autoFocus : undefined;
|
|
53
|
-
}
|
|
54
|
-
set autoFocus(value) {
|
|
55
|
-
this.nativeElement ? this.nativeElement.autoFocus = value : undefined;
|
|
56
|
-
}
|
|
57
|
-
/** @description Enables or disables the element. */
|
|
58
|
-
get disabled() {
|
|
59
|
-
return this.nativeElement ? this.nativeElement.disabled : undefined;
|
|
60
|
-
}
|
|
61
|
-
set disabled(value) {
|
|
62
|
-
this.nativeElement ? this.nativeElement.disabled = value : undefined;
|
|
63
|
-
}
|
|
64
|
-
/** @description Specifies the behavior on "Enter" key press. Default mode is "submit". */
|
|
65
|
-
get enterKeyBehavior() {
|
|
66
|
-
return this.nativeElement ? this.nativeElement.enterKeyBehavior : undefined;
|
|
67
|
-
}
|
|
68
|
-
set enterKeyBehavior(value) {
|
|
69
|
-
this.nativeElement ? this.nativeElement.enterKeyBehavior = value : undefined;
|
|
70
|
-
}
|
|
71
|
-
/** @description The form that the element is associated with (its "form owner"). The value of the attribute must be the ID of a form element in the same document. */
|
|
72
|
-
get form() {
|
|
73
|
-
return this.nativeElement ? this.nativeElement.form : undefined;
|
|
74
|
-
}
|
|
75
|
-
set form(value) {
|
|
76
|
-
this.nativeElement ? this.nativeElement.form = value : undefined;
|
|
77
|
-
}
|
|
78
|
-
/** @description Sets additional helper text below the element. Appears only when the element is focused. */
|
|
79
|
-
get hint() {
|
|
80
|
-
return this.nativeElement ? this.nativeElement.hint : undefined;
|
|
81
|
-
}
|
|
82
|
-
set hint(value) {
|
|
83
|
-
this.nativeElement ? this.nativeElement.hint = value : undefined;
|
|
84
|
-
}
|
|
85
|
-
/** @description Sets label above the element. The label is displayed above the input and it's always visible. */
|
|
86
|
-
get label() {
|
|
87
|
-
return this.nativeElement ? this.nativeElement.label : undefined;
|
|
88
|
-
}
|
|
89
|
-
set label(value) {
|
|
90
|
-
this.nativeElement ? this.nativeElement.label = value : undefined;
|
|
91
|
-
}
|
|
92
|
-
/** @description Sets or gets the language. Used in conjunction with the property messages. */
|
|
93
|
-
get locale() {
|
|
94
|
-
return this.nativeElement ? this.nativeElement.locale : undefined;
|
|
95
|
-
}
|
|
96
|
-
set locale(value) {
|
|
97
|
-
this.nativeElement ? this.nativeElement.locale = value : undefined;
|
|
98
|
-
}
|
|
99
|
-
/** @description Callback used to customize the format of the messages that are returned from the Localization Module. */
|
|
100
|
-
get localizeFormatFunction() {
|
|
101
|
-
return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
|
|
102
|
-
}
|
|
103
|
-
set localizeFormatFunction(value) {
|
|
104
|
-
this.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;
|
|
105
|
-
}
|
|
106
|
-
/** @description Sets or gets the maximum number of characters that the user can enter. */
|
|
107
|
-
get maxLength() {
|
|
108
|
-
return this.nativeElement ? this.nativeElement.maxLength : undefined;
|
|
109
|
-
}
|
|
110
|
-
set maxLength(value) {
|
|
111
|
-
this.nativeElement ? this.nativeElement.maxLength = value : undefined;
|
|
112
|
-
}
|
|
113
|
-
/** @description Sets an object with string values, related to the different states of passwords strength. */
|
|
114
|
-
get messages() {
|
|
115
|
-
return this.nativeElement ? this.nativeElement.messages : undefined;
|
|
116
|
-
}
|
|
117
|
-
set messages(value) {
|
|
118
|
-
this.nativeElement ? this.nativeElement.messages = value : undefined;
|
|
119
|
-
}
|
|
120
|
-
/** @description Sets or gets the minimum number of characters that the user can enter. */
|
|
121
|
-
get minLength() {
|
|
122
|
-
return this.nativeElement ? this.nativeElement.minLength : undefined;
|
|
123
|
-
}
|
|
124
|
-
set minLength(value) {
|
|
125
|
-
this.nativeElement ? this.nativeElement.minLength = value : undefined;
|
|
126
|
-
}
|
|
127
|
-
/** @description Sets or gets the name attribute for the element. Name is used when submiting HTML forms. */
|
|
128
|
-
get name() {
|
|
129
|
-
return this.nativeElement ? this.nativeElement.name : undefined;
|
|
130
|
-
}
|
|
131
|
-
set name(value) {
|
|
132
|
-
this.nativeElement ? this.nativeElement.name = value : undefined;
|
|
133
|
-
}
|
|
134
|
-
/** @description With this property the user can set a custom callback function that determines the password strength. The returned string from the function determines the how strong the current password is. The string should be one of the following: 'short', 'weak', 'far', 'good', 'strong'. */
|
|
135
|
-
get passwordStrength() {
|
|
136
|
-
return this.nativeElement ? this.nativeElement.passwordStrength : undefined;
|
|
137
|
-
}
|
|
138
|
-
set passwordStrength(value) {
|
|
139
|
-
this.nativeElement ? this.nativeElement.passwordStrength = value : undefined;
|
|
140
|
-
}
|
|
141
|
-
/** @description The placeholder text that is displayed when no value is applied to the element. */
|
|
142
|
-
get placeholder() {
|
|
143
|
-
return this.nativeElement ? this.nativeElement.placeholder : undefined;
|
|
144
|
-
}
|
|
145
|
-
set placeholder(value) {
|
|
146
|
-
this.nativeElement ? this.nativeElement.placeholder = value : undefined;
|
|
147
|
-
}
|
|
148
|
-
/** @description Specifies that the user must fill in a value before submitting a form that contains the element. */
|
|
149
|
-
get required() {
|
|
150
|
-
return this.nativeElement ? this.nativeElement.required : undefined;
|
|
151
|
-
}
|
|
152
|
-
set required(value) {
|
|
153
|
-
this.nativeElement ? this.nativeElement.required = value : undefined;
|
|
154
|
-
}
|
|
155
|
-
/** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
|
|
156
|
-
get rightToLeft() {
|
|
157
|
-
return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
|
|
158
|
-
}
|
|
159
|
-
set rightToLeft(value) {
|
|
160
|
-
this.nativeElement ? this.nativeElement.rightToLeft = value : undefined;
|
|
161
|
-
}
|
|
162
|
-
/** @description Specifies whether the content of the input will be selected on focus. */
|
|
163
|
-
get selectAllOnFocus() {
|
|
164
|
-
return this.nativeElement ? this.nativeElement.selectAllOnFocus : undefined;
|
|
165
|
-
}
|
|
166
|
-
set selectAllOnFocus(value) {
|
|
167
|
-
this.nativeElement ? this.nativeElement.selectAllOnFocus = value : undefined;
|
|
168
|
-
}
|
|
169
|
-
/** @description Determines whether the password icon is visible. */
|
|
170
|
-
get showPasswordIcon() {
|
|
171
|
-
return this.nativeElement ? this.nativeElement.showPasswordIcon : undefined;
|
|
172
|
-
}
|
|
173
|
-
set showPasswordIcon(value) {
|
|
174
|
-
this.nativeElement ? this.nativeElement.showPasswordIcon = value : undefined;
|
|
175
|
-
}
|
|
176
|
-
/** @description Determines whether a tooltip which shows the password's strength will be shown. */
|
|
177
|
-
get showPasswordStrength() {
|
|
178
|
-
return this.nativeElement ? this.nativeElement.showPasswordStrength : undefined;
|
|
179
|
-
}
|
|
180
|
-
set showPasswordStrength(value) {
|
|
181
|
-
this.nativeElement ? this.nativeElement.showPasswordStrength = value : undefined;
|
|
182
|
-
}
|
|
183
|
-
/** @description Determines the theme. Theme defines the look of the element */
|
|
184
|
-
get theme() {
|
|
185
|
-
return this.nativeElement ? this.nativeElement.theme : undefined;
|
|
186
|
-
}
|
|
187
|
-
set theme(value) {
|
|
188
|
-
this.nativeElement ? this.nativeElement.theme = value : undefined;
|
|
189
|
-
}
|
|
190
|
-
/** @description Determines whether Tooltip's arrow will be shown or not. */
|
|
191
|
-
get tooltipArrow() {
|
|
192
|
-
return this.nativeElement ? this.nativeElement.tooltipArrow : undefined;
|
|
193
|
-
}
|
|
194
|
-
set tooltipArrow(value) {
|
|
195
|
-
this.nativeElement ? this.nativeElement.tooltipArrow = value : undefined;
|
|
196
|
-
}
|
|
197
|
-
/** @description Determines the delay before the tooltip appears in miliseconds. */
|
|
198
|
-
get tooltipDelay() {
|
|
199
|
-
return this.nativeElement ? this.nativeElement.tooltipDelay : undefined;
|
|
200
|
-
}
|
|
201
|
-
set tooltipDelay(value) {
|
|
202
|
-
this.nativeElement ? this.nativeElement.tooltipDelay = value : undefined;
|
|
203
|
-
}
|
|
204
|
-
/** @description Determines the position of the tooltip. */
|
|
205
|
-
get tooltipPosition() {
|
|
206
|
-
return this.nativeElement ? this.nativeElement.tooltipPosition : undefined;
|
|
207
|
-
}
|
|
208
|
-
set tooltipPosition(value) {
|
|
209
|
-
this.nativeElement ? this.nativeElement.tooltipPosition = value : undefined;
|
|
210
|
-
}
|
|
211
|
-
/** @description Sets a custom template for the content of the tooltip. */
|
|
212
|
-
get tooltipTemplate() {
|
|
213
|
-
return this.nativeElement ? this.nativeElement.tooltipTemplate : undefined;
|
|
214
|
-
}
|
|
215
|
-
set tooltipTemplate(value) {
|
|
216
|
-
this.nativeElement ? this.nativeElement.tooltipTemplate = value : undefined;
|
|
217
|
-
}
|
|
218
|
-
/** @description If true, the element cannot be focused. */
|
|
219
|
-
get unfocusable() {
|
|
220
|
-
return this.nativeElement ? this.nativeElement.unfocusable : undefined;
|
|
221
|
-
}
|
|
222
|
-
set unfocusable(value) {
|
|
223
|
-
this.nativeElement ? this.nativeElement.unfocusable = value : undefined;
|
|
224
|
-
}
|
|
225
|
-
/** @description Sets or gets the value of the element. */
|
|
226
|
-
get value() {
|
|
227
|
-
return this.nativeElement ? this.nativeElement.value : undefined;
|
|
228
|
-
}
|
|
229
|
-
set value(value) {
|
|
230
|
-
this.nativeElement ? this.nativeElement.value = value : undefined;
|
|
231
|
-
}
|
|
232
|
-
/** @description Focuses the element.
|
|
233
|
-
*/
|
|
234
|
-
focus() {
|
|
235
|
-
if (this.nativeElement.isRendered) {
|
|
236
|
-
this.nativeElement.focus();
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
this.nativeElement.whenRendered(() => {
|
|
240
|
-
this.nativeElement.focus();
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
/** @description The method is used to reset input to it's initial value.
|
|
245
|
-
*/
|
|
246
|
-
reset() {
|
|
247
|
-
if (this.nativeElement.isRendered) {
|
|
248
|
-
this.nativeElement.reset();
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
this.nativeElement.whenRendered(() => {
|
|
252
|
-
this.nativeElement.reset();
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
get isRendered() {
|
|
257
|
-
return this.nativeElement ? this.nativeElement.isRendered : false;
|
|
258
|
-
}
|
|
259
|
-
ngOnInit() {
|
|
260
|
-
}
|
|
261
|
-
ngAfterViewInit() {
|
|
262
|
-
const that = this;
|
|
263
|
-
that.onCreate.emit(that.nativeElement);
|
|
264
|
-
Smart.Render();
|
|
265
|
-
this.nativeElement.classList.add('smart-angular');
|
|
266
|
-
this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });
|
|
267
|
-
this.listen();
|
|
268
|
-
}
|
|
269
|
-
ngOnDestroy() {
|
|
270
|
-
this.unlisten();
|
|
271
|
-
}
|
|
272
|
-
get ngValue() {
|
|
273
|
-
if (!this.nativeElement) {
|
|
274
|
-
return null;
|
|
275
|
-
}
|
|
276
|
-
const value = this.nativeElement.value;
|
|
277
|
-
return value;
|
|
278
|
-
}
|
|
279
|
-
set ngValue(value) {
|
|
280
|
-
if (this.nativeElement) {
|
|
281
|
-
this.writeValue(value);
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
writeValue(value) {
|
|
285
|
-
const that = this;
|
|
286
|
-
const normalizedValue = value == null ? '' : value;
|
|
287
|
-
that.nativeElement.whenRendered(() => {
|
|
288
|
-
that.value = normalizedValue;
|
|
289
|
-
if (that._initialChange === false) {
|
|
290
|
-
that._onChange(that.value);
|
|
291
|
-
}
|
|
292
|
-
});
|
|
293
|
-
}
|
|
294
|
-
registerOnChange(fn) {
|
|
295
|
-
this._onChange = fn;
|
|
296
|
-
}
|
|
297
|
-
registerOnTouched(fn) {
|
|
298
|
-
this._onTouched = fn;
|
|
299
|
-
}
|
|
300
|
-
ngOnChanges(changes) {
|
|
301
|
-
if (this.nativeElement && this.nativeElement.isRendered) {
|
|
302
|
-
for (const propName in changes) {
|
|
303
|
-
if (changes.hasOwnProperty(propName)) {
|
|
304
|
-
this.nativeElement[propName] = changes[propName].currentValue;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
/** @description Add event listeners. */
|
|
310
|
-
listen() {
|
|
311
|
-
const that = this;
|
|
312
|
-
that.eventHandlers['changeHandler'] = (event) => { that.onChange.emit(event); };
|
|
313
|
-
that.nativeElement.addEventListener('change', that.eventHandlers['changeHandler']);
|
|
314
|
-
that.eventHandlers['changeModelHandler'] = (event) => {
|
|
315
|
-
that._initialChange = false;
|
|
316
|
-
that._onChange(that.nativeElement.value);
|
|
317
|
-
};
|
|
318
|
-
that.eventHandlers['blurModelHandler'] = (event) => {
|
|
319
|
-
that._onTouched();
|
|
320
|
-
};
|
|
321
|
-
that.nativeElement.whenRendered(() => {
|
|
322
|
-
if (that.nativeElement.querySelector('input')) {
|
|
323
|
-
that.eventHandlers['keyupModelHandler'] = (event) => {
|
|
324
|
-
setTimeout(() => { that.eventHandlers['changeModelHandler'](event); }, 50);
|
|
325
|
-
};
|
|
326
|
-
that.nativeElement.querySelector('input').addEventListener('keyup', that.eventHandlers['keyupModelHandler']);
|
|
327
|
-
}
|
|
328
|
-
});
|
|
329
|
-
that.nativeElement.addEventListener('change', that.eventHandlers['changeModelHandler']);
|
|
330
|
-
that.nativeElement.addEventListener('blur', that.eventHandlers['blurModelHandler']);
|
|
331
|
-
}
|
|
332
|
-
/** @description Remove event listeners. */
|
|
333
|
-
unlisten() {
|
|
334
|
-
const that = this;
|
|
335
|
-
if (that.eventHandlers['changeHandler']) {
|
|
336
|
-
that.nativeElement.removeEventListener('change', that.eventHandlers['changeHandler']);
|
|
337
|
-
}
|
|
338
|
-
if (that.eventHandlers['changeModelHandler']) {
|
|
339
|
-
that.nativeElement.removeEventListener('change', that.eventHandlers['changeModelHandler']);
|
|
340
|
-
if (that.nativeElement.querySelector('input')) {
|
|
341
|
-
that.nativeElement.querySelector('input').removeEventListener('keyup', that.eventHandlers['keyupModelHandler']);
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
if (that.eventHandlers['blurModelHandler']) {
|
|
345
|
-
that.nativeElement.removeEventListener('blur', that.eventHandlers['blurModelHandler']);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
PasswordTextBoxComponent.decorators = [
|
|
350
|
-
{ type: Directive, args: [{
|
|
351
|
-
selector: 'smart-password-text-box, [smart-password-text-box]',
|
|
352
|
-
providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]
|
|
353
|
-
},] }
|
|
354
|
-
];
|
|
355
|
-
PasswordTextBoxComponent.ctorParameters = () => [
|
|
356
|
-
{ type: ElementRef }
|
|
357
|
-
];
|
|
358
|
-
PasswordTextBoxComponent.propDecorators = {
|
|
359
|
-
animation: [{ type: Input }],
|
|
360
|
-
autoFocus: [{ type: Input }],
|
|
361
|
-
disabled: [{ type: Input }],
|
|
362
|
-
enterKeyBehavior: [{ type: Input }],
|
|
363
|
-
form: [{ type: Input }],
|
|
364
|
-
hint: [{ type: Input }],
|
|
365
|
-
label: [{ type: Input }],
|
|
366
|
-
locale: [{ type: Input }],
|
|
367
|
-
localizeFormatFunction: [{ type: Input }],
|
|
368
|
-
maxLength: [{ type: Input }],
|
|
369
|
-
messages: [{ type: Input }],
|
|
370
|
-
minLength: [{ type: Input }],
|
|
371
|
-
name: [{ type: Input }],
|
|
372
|
-
passwordStrength: [{ type: Input }],
|
|
373
|
-
placeholder: [{ type: Input }],
|
|
374
|
-
required: [{ type: Input }],
|
|
375
|
-
rightToLeft: [{ type: Input }],
|
|
376
|
-
selectAllOnFocus: [{ type: Input }],
|
|
377
|
-
showPasswordIcon: [{ type: Input }],
|
|
378
|
-
showPasswordStrength: [{ type: Input }],
|
|
379
|
-
theme: [{ type: Input }],
|
|
380
|
-
tooltipArrow: [{ type: Input }],
|
|
381
|
-
tooltipDelay: [{ type: Input }],
|
|
382
|
-
tooltipPosition: [{ type: Input }],
|
|
383
|
-
tooltipTemplate: [{ type: Input }],
|
|
384
|
-
unfocusable: [{ type: Input }],
|
|
385
|
-
value: [{ type: Input }],
|
|
386
|
-
onChange: [{ type: Output }]
|
|
387
|
-
};
|
|
388
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQucGFzc3dvcmR0ZXh0Ym94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFzc3dvcmR0ZXh0Ym94L3NyYy9zbWFydC5wYXNzd29yZHRleHRib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFhLFNBQVMsRUFBaUIsVUFBVSxFQUFFLEtBQUssRUFBK0MsVUFBVSxFQUEyQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9MLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhDLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl6RSxNQUFNLG1DQUFtQyxHQUFRO0lBQzdDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztJQUN2RCxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUE7QUFRRCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsV0FBVztJQUN4RCxZQUFZLEdBQWdDO1FBQzNDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUlKLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBYTNCOzs7VUFHRTtRQUNILGNBQVMsR0FBeUIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzFDOzs7VUFHRTtRQUNILGVBQVUsR0FBYyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFzUHZDOzs7O1VBSUU7UUFDUSxhQUFRLEdBQThCLElBQUksWUFBWSxFQUFFLENBQUM7UUF1RG5FLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBM1VyQixJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFnQyxDQUFDO0lBQzNELENBQUM7SUFLRDs7T0FFRztJQUNJLGVBQWUsQ0FBQyxVQUFV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LFNBQVMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsNkdBQTZHO0lBQzdHLElBQ0ksUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBVTtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsMEZBQTBGO0lBQzFGLElBQ0ksU0FBUztRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsNEdBQTRHO0lBQzVHLElBQ0ksSUFBSTtRQUNQLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxLQUFL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LGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7WUFDbEYsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO2FBQ3JIO1NBQ1Y7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztTQUN2RjtJQUNGLENBQUM7OztZQTlhRCxTQUFTLFNBQUM7Z0JBQ1YsUUFBUSxFQUFFLG9EQUFvRDtnQkFDOUQsU0FBUyxFQUFFLENBQUMsbUNBQW1DLENBQUM7YUFFaEQ7OztZQW5CNkMsVUFBVTs7O3dCQXFEdEQsS0FBSzt3QkFTTCxLQUFLO3VCQVNMLEtBQUs7K0JBU0wsS0FBSzttQkFTTCxLQUFLO21CQVNMLEtBQUs7b0JBU0wsS0FBSztxQkFTTCxLQUFLO3FDQVNMLEtBQUs7d0JBU0wsS0FBSzt1QkFTTCxLQUFLO3dCQVNMLEtBQUs7bUJBU0wsS0FBSzsrQkFTTCxLQUFLOzBCQVNMLEtBQUs7dUJBU0wsS0FBSzswQkFTTCxLQUFLOytCQVNMLEtBQUs7K0JBU0wsS0FBSzttQ0FTTCxLQUFLO29CQVNMLEtBQUs7MkJBU0wsS0FBSzsyQkFTTCxLQUFLOzhCQVNMLEtBQUs7OEJBU0wsS0FBSzswQkFTTCxLQUFLO29CQVNMLEtBQUs7dUJBYUwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhc3N3b3JkVGV4dEJveCB9IGZyb20gJy4vLi4vaW5kZXgnO1xyXG5pbXBvcnQgeyBBbmltYXRpb24sIEVudGVyS2V5QmVoYXZpb3IsIFBhc3N3b3JkVGV4dEJveFRvb2x0aXBQb3NpdGlvbiwgRWxlbWVudFJlbmRlck1vZGV9IGZyb20gJy4vLi4vaW5kZXgnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIERpcmVjdGl2ZSwgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIFNpbXBsZUNoYW5nZXMsIGZvcndhcmRSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlRWxlbWVudCwgU21hcnQgfSBmcm9tICcuL3NtYXJ0LmVsZW1lbnQnO1xyXG5leHBvcnQgeyBBbmltYXRpb24sIEVudGVyS2V5QmVoYXZpb3IsIFBhc3N3b3JkVGV4dEJveFRvb2x0aXBQb3NpdGlvbiwgRWxlbWVudFJlbmRlck1vZGV9IGZyb20gJy4vLi4vaW5kZXgnO1xyXG5leHBvcnQgeyBTbWFydCB9IGZyb20gJy4vc21hcnQuZWxlbWVudCc7XHJcbmV4cG9ydCB7IFBhc3N3b3JkVGV4dEJveCB9IGZyb20gJy4vLi4vaW5kZXgnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5cclxuXHJcbmNvbnN0IENVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhc3N3b3JkVGV4dEJveENvbXBvbmVudCksXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG59XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuXHRzZWxlY3RvcjogJ3NtYXJ0LXBhc3N3b3JkLXRleHQtYm94LCBbc21hcnQtcGFzc3dvcmQtdGV4dC1ib3hdJyxcclxuXHRwcm92aWRlcnM6IFtDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl1cclxuXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRUZXh0Qm94Q29tcG9uZW50IGV4dGVuZHMgQmFzZUVsZW1lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblx0Y29uc3RydWN0b3IocmVmOiBFbGVtZW50UmVmPFBhc3N3b3JkVGV4dEJveD4pIHtcclxuXHRcdHN1cGVyKHJlZik7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPSByZWYubmF0aXZlRWxlbWVudCBhcyBQYXNzd29yZFRleHRCb3g7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGV2ZW50SGFuZGxlcnM6IGFueVtdID0gW107XHJcblxyXG5cdHB1YmxpYyBuYXRpdmVFbGVtZW50OiBQYXNzd29yZFRleHRCb3g7XHJcblx0LyoqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIHRoZSBjb21wb25lbnQgb24gZGVtYW5kLlxyXG5cdCAqIEBwYXJhbSBwcm9wZXJ0aWVzIEFuIG9wdGlvbmFsIG9iamVjdCBvZiBwcm9wZXJ0aWVzLCB3aGljaCB3aWxsIGJlIGFkZGVkIHRvIHRoZSB0ZW1wbGF0ZSBiaW5kZWQgb25lcy5cclxuXHQgKi9cclxuXHRwdWJsaWMgY3JlYXRlQ29tcG9uZW50KHByb3BlcnRpZXMgPSB7fSk6IGFueSB7XHJcbiAgICBcdHRoaXMubmF0aXZlRWxlbWVudCA9IDxQYXNzd29yZFRleHRCb3g+ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc21hcnQtcGFzc3dvcmQtdGV4dC1ib3gnKTtcclxuXHRcdGZvciAobGV0IHByb3BlcnR5TmFtZSBpbiBwcm9wZXJ0aWVzKSB7IFxyXG4gXHRcdFx0dGhpcy5uYXRpdmVFbGVtZW50W3Byb3BlcnR5TmFtZV0gPSBwcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV07XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50O1xyXG5cdH1cclxuICAgICAgICAvKipcclxuICAgICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICAgICogVGhlIHJlZ2lzdGVyZWQgY2FsbGJhY2sgZnVuY3Rpb24gY2FsbGVkIHdoZW4gYSBjaGFuZ2UgZXZlbnQgb2NjdXJzIG9uIHRoZSBmb3JtIGVsZW1lbnRzLlxyXG4gICAgICAgICovXHJcbiAgICAgICBfb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAgICAqIFRoZSByZWdpc3RlcmVkIGNhbGxiYWNrIGZ1bmN0aW9uIGNhbGxlZCB3aGVuIGEgYmx1ciBldmVudCBvY2N1cnMgb24gdGhlIGZvcm0gZWxlbWVudHMuXHJcbiAgICAgICAgKi9cclxuICAgICAgIF9vblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHt9O1xyXG5cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBTZXRzIG9yIGdldHMgdGhlIGFuaW1hdGlvbiBtb2RlLiBBbmltYXRpb24gaXMgZGlzYWJsZWQgd2hlbiB0aGUgcHJvcGVydHkgaXMgc2V0IHRvICdub25lJyAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGFuaW1hdGlvbigpOiBBbmltYXRpb24ge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5hbmltYXRpb24gOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCBhbmltYXRpb24odmFsdWU6IEFuaW1hdGlvbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmFuaW1hdGlvbiA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBTcGVjaWZpZXMgdGhhdCB0aGUgZWxlbWVudCBzaG91bGQgYmUgZm9jdXNlZCB3aGVuIHRoZSBwYWdlIGlzIGxvYWRlZC4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBhdXRvRm9jdXMoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmF1dG9Gb2N1cyA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IGF1dG9Gb2N1cyh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmF1dG9Gb2N1cyA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBlbGVtZW50LiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gU3BlY2lmaWVzIHRoZSBiZWhhdmlvciBvbiBcIkVudGVyXCIga2V5IHByZXNzLiBEZWZhdWx0IG1vZGUgaXMgXCJzdWJtaXRcIi4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBlbnRlcktleUJlaGF2aW9yKCk6IEVudGVyS2V5QmVoYXZpb3Ige1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5lbnRlcktleUJlaGF2aW9yIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgZW50ZXJLZXlCZWhhdmlvcih2YWx1ZTogRW50ZXJLZXlCZWhhdmlvcikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmVudGVyS2V5QmVoYXZpb3IgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gVGhlIGZvcm0gdGhhdCB0aGUgZWxlbWVudCBpcyBhc3NvY2lhdGVkIHdpdGggKGl0cyBcImZvcm0gb3duZXJcIikuIFRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlIG11c3QgYmUgdGhlIElEIG9mIGEgZm9ybSBlbGVtZW50IGluIHRoZSBzYW1lIGRvY3VtZW50LiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGZvcm0oKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQuZm9ybSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IGZvcm0odmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmZvcm0gPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gU2V0cyBhZGRpdGlvbmFsIGhlbHBlciB0ZXh0IGJlbG93IHRoZSBlbGVtZW50LiBBcHBlYXJzIG9ubHkgd2hlbiB0aGUgZWxlbWVudCBpcyBmb2N1c2VkLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IGhpbnQoKTogYW55IHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQuaGludCA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IGhpbnQodmFsdWU6IGFueSkge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmhpbnQgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gU2V0cyBsYWJlbCBhYm92ZSB0aGUgZWxlbWVudC4gVGhlIGxhYmVsIGlzIGRpc3BsYXllZCBhYm92ZSB0aGUgaW5wdXQgYW5kIGl0J3MgYWx3YXlzIHZpc2libGUuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgbGFiZWwoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubGFiZWwgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCBsYWJlbCh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubGFiZWwgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gU2V0cyBvciBnZXRzIHRoZSBsYW5ndWFnZS4gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcm9wZXJ0eSBtZXNzYWdlcy4gICovXHJcblx0QElucHV0KClcclxuXHRnZXQgbG9jYWxlKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmxvY2FsZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IGxvY2FsZSh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubG9jYWxlID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIENhbGxiYWNrIHVzZWQgdG8gY3VzdG9taXplIHRoZSBmb3JtYXQgb2YgdGhlIG1lc3NhZ2VzIHRoYXQgYXJlIHJldHVybmVkIGZyb20gdGhlIExvY2FsaXphdGlvbiBNb2R1bGUuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgbG9jYWxpemVGb3JtYXRGdW5jdGlvbigpOiBhbnkge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5sb2NhbGl6ZUZvcm1hdEZ1bmN0aW9uIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgbG9jYWxpemVGb3JtYXRGdW5jdGlvbih2YWx1ZTogYW55KSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubG9jYWxpemVGb3JtYXRGdW5jdGlvbiA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBTZXRzIG9yIGdldHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdGhhdCB0aGUgdXNlciBjYW4gZW50ZXIuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgbWF4TGVuZ3RoKCk6IG51bWJlciB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50Lm1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IG1heExlbmd0aCh2YWx1ZTogbnVtYmVyKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubWF4TGVuZ3RoID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIFNldHMgYW4gb2JqZWN0IHdpdGggc3RyaW5nIHZhbHVlcywgcmVsYXRlZCB0byB0aGUgZGlmZmVyZW50IHN0YXRlcyBvZiBwYXNzd29yZHMgc3RyZW5ndGguICovXHJcblx0QElucHV0KClcclxuXHRnZXQgbWVzc2FnZXMoKTogYW55IHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubWVzc2FnZXMgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCBtZXNzYWdlcyh2YWx1ZTogYW55KSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubWVzc2FnZXMgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gU2V0cyBvciBnZXRzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgdGhlIHVzZXIgY2FuIGVudGVyLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IG1pbkxlbmd0aCgpOiBudW1iZXIge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5taW5MZW5ndGggOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCBtaW5MZW5ndGgodmFsdWU6IG51bWJlcikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50Lm1pbkxlbmd0aCA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBTZXRzIG9yIGdldHMgdGhlIG5hbWUgYXR0cmlidXRlIGZvciB0aGUgZWxlbWVudC4gTmFtZSBpcyB1c2VkIHdoZW4gc3VibWl0aW5nIEhUTUwgZm9ybXMuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgbmFtZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5uYW1lIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubmFtZSA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBXaXRoIHRoaXMgcHJvcGVydHkgdGhlIHVzZXIgY2FuIHNldCBhIGN1c3RvbSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IGRldGVybWluZXMgdGhlIHBhc3N3b3JkIHN0cmVuZ3RoLiBUaGUgcmV0dXJuZWQgc3RyaW5nIGZyb20gdGhlIGZ1bmN0aW9uIGRldGVybWluZXMgdGhlIGhvdyBzdHJvbmcgdGhlIGN1cnJlbnQgcGFzc3dvcmQgaXMuIFRoZSBzdHJpbmcgc2hvdWxkIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOiAnc2hvcnQnLCAnd2VhaycsICdmYXInLCAnZ29vZCcsICdzdHJvbmcnLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IHBhc3N3b3JkU3RyZW5ndGgoKTogYW55IHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQucGFzc3dvcmRTdHJlbmd0aCA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IHBhc3N3b3JkU3RyZW5ndGgodmFsdWU6IGFueSkge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnBhc3N3b3JkU3RyZW5ndGggPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gVGhlIHBsYWNlaG9sZGVyIHRleHQgdGhhdCBpcyBkaXNwbGF5ZWQgd2hlbiBubyB2YWx1ZSBpcyBhcHBsaWVkIHRvIHRoZSBlbGVtZW50LiAgKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlciA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBTcGVjaWZpZXMgdGhhdCB0aGUgdXNlciBtdXN0IGZpbGwgaW4gYSB2YWx1ZSBiZWZvcmUgc3VibWl0dGluZyBhIGZvcm0gdGhhdCBjb250YWlucyB0aGUgZWxlbWVudC4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQucmVxdWlyZWQgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnJlcXVpcmVkID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIFNldHMgb3IgZ2V0cyB0aGUgdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBlbGVtZW50IGlzIGFsaWduZWQgdG8gc3VwcG9ydCBsb2NhbGVzIHVzaW5nIHJpZ2h0LXRvLWxlZnQgZm9udHMuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgcmlnaHRUb0xlZnQoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnJpZ2h0VG9MZWZ0IDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgcmlnaHRUb0xlZnQodmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5yaWdodFRvTGVmdCA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBTcGVjaWZpZXMgd2hldGhlciB0aGUgY29udGVudCBvZiB0aGUgaW5wdXQgd2lsbCBiZSBzZWxlY3RlZCBvbiBmb2N1cy4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBzZWxlY3RBbGxPbkZvY3VzKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5zZWxlY3RBbGxPbkZvY3VzIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgc2VsZWN0QWxsT25Gb2N1cyh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnNlbGVjdEFsbE9uRm9jdXMgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBwYXNzd29yZCBpY29uIGlzIHZpc2libGUuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgc2hvd1Bhc3N3b3JkSWNvbigpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQuc2hvd1Bhc3N3b3JkSWNvbiA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IHNob3dQYXNzd29yZEljb24odmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5zaG93UGFzc3dvcmRJY29uID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIERldGVybWluZXMgd2hldGhlciBhIHRvb2x0aXAgd2hpY2ggc2hvd3MgdGhlIHBhc3N3b3JkJ3Mgc3RyZW5ndGggd2lsbCBiZSBzaG93bi4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCBzaG93UGFzc3dvcmRTdHJlbmd0aCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQuc2hvd1Bhc3N3b3JkU3RyZW5ndGggOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCBzaG93UGFzc3dvcmRTdHJlbmd0aCh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnNob3dQYXNzd29yZFN0cmVuZ3RoID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIERldGVybWluZXMgdGhlIHRoZW1lLiBUaGVtZSBkZWZpbmVzIHRoZSBsb29rIG9mIHRoZSBlbGVtZW50ICovXHJcblx0QElucHV0KClcclxuXHRnZXQgdGhlbWUoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQudGhlbWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCB0aGVtZSh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQudGhlbWUgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gRGV0ZXJtaW5lcyB3aGV0aGVyIFRvb2x0aXAncyBhcnJvdyB3aWxsIGJlIHNob3duIG9yIG5vdC4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCB0b29sdGlwQXJyb3coKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRvb2x0aXBBcnJvdyA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IHRvb2x0aXBBcnJvdyh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRvb2x0aXBBcnJvdyA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBEZXRlcm1pbmVzIHRoZSBkZWxheSBiZWZvcmUgdGhlIHRvb2x0aXAgYXBwZWFycyBpbiBtaWxpc2Vjb25kcy4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCB0b29sdGlwRGVsYXkoKTogbnVtYmVyIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQudG9vbHRpcERlbGF5IDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgdG9vbHRpcERlbGF5KHZhbHVlOiBudW1iZXIpIHtcclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC50b29sdGlwRGVsYXkgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gRGV0ZXJtaW5lcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAuICovXHJcblx0QElucHV0KClcclxuXHRnZXQgdG9vbHRpcFBvc2l0aW9uKCk6IFBhc3N3b3JkVGV4dEJveFRvb2x0aXBQb3NpdGlvbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRvb2x0aXBQb3NpdGlvbiA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2V0IHRvb2x0aXBQb3NpdGlvbih2YWx1ZTogUGFzc3dvcmRUZXh0Qm94VG9vbHRpcFBvc2l0aW9uKSB7XHJcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQudG9vbHRpcFBvc2l0aW9uID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIFNldHMgYSBjdXN0b20gdGVtcGxhdGUgZm9yIHRoZSBjb250ZW50IG9mIHRoZSB0b29sdGlwLiAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IHRvb2x0aXBUZW1wbGF0ZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC50b29sdGlwVGVtcGxhdGUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCB0b29sdGlwVGVtcGxhdGUodmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnRvb2x0aXBUZW1wbGF0ZSA9IHZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBJZiB0cnVlLCB0aGUgZWxlbWVudCBjYW5ub3QgYmUgZm9jdXNlZC4gKi9cclxuXHRASW5wdXQoKVxyXG5cdGdldCB1bmZvY3VzYWJsZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQudW5mb2N1c2FibGUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNldCB1bmZvY3VzYWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnVuZm9jdXNhYmxlID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIFNldHMgb3IgZ2V0cyB0aGUgdmFsdWUgb2YgdGhlIGVsZW1lbnQuICAqL1xyXG5cdEBJbnB1dCgpXHJcblx0Z2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnZhbHVlIDogdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWUgOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKiogQGRlc2NyaXB0aW9uIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBlbGVtZW50IGlzIGNoYW5nZWQuXHJcblx0KiAgQHBhcmFtIGV2ZW50LiBUaGUgY3VzdG9tIGV2ZW50LiBcdEN1c3RvbSBldmVudCB3YXMgY3JlYXRlZCB3aXRoOiBldmVudC5kZXRhaWwoXHRvbGRWYWx1ZSwgXHR2YWx1ZSlcclxuXHQqICAgb2xkVmFsdWUgLSBUaGUgcHJldmlvdXMgdmFsdWUgb2YgdGhlIGVsZW1lbnQgYmVmb3JlIGl0IHdhcyBjaGFuZ2VkLlxyXG5cdCogICB2YWx1ZSAtIFRoZSBuZXcgdmFsdWUgb2YgdGhlIGVsZW1lbnQuXHJcblx0Ki9cclxuXHRAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gRm9jdXNlcyB0aGUgZWxlbWVudC4gXHJcblx0Ki9cclxuICAgIHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5uYXRpdmVFbGVtZW50LmlzUmVuZGVyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC53aGVuUmVuZGVyZWQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBUaGUgbWV0aG9kIGlzIHVzZWQgdG8gcmVzZXQgaW5wdXQgdG8gaXQncyBpbml0aWFsIHZhbHVlLiAgXHJcblx0Ki9cclxuICAgIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5uYXRpdmVFbGVtZW50LmlzUmVuZGVyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnJlc2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC53aGVuUmVuZGVyZWQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnJlc2V0KCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cdGdldCBpc1JlbmRlcmVkKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5pc1JlbmRlcmVkIDogZmFsc2U7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHR9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICBjb25zdCB0aGF0ID0gdGhpcztcclxuXHJcbiAgICAgIHRoYXQub25DcmVhdGUuZW1pdCh0aGF0Lm5hdGl2ZUVsZW1lbnQpO1xyXG5cclxuXHRcdFNtYXJ0LlJlbmRlcigpO1xyXG5cclxuXHRcdHRoaXMubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdzbWFydC1hbmd1bGFyJyk7XHJcblxyXG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50LndoZW5SZW5kZXJlZCgoKSA9PiB7IHRoYXQub25SZWFkeS5lbWl0KHRoYXQubmF0aXZlRWxlbWVudCk7IH0pO1xyXG5cdFx0dGhpcy5saXN0ZW4oKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0dGhpcy51bmxpc3RlbigpO1xyXG5cdH1cclxuXHJcblx0X2luaXRpYWxDaGFuZ2UgPSB0cnVlOyBcclxuXHJcblx0Z2V0IG5nVmFsdWUoKTogYW55IHtcclxuXHRcdGlmICghdGhpcy5uYXRpdmVFbGVtZW50KSB7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHZhbHVlID0gdGhpcy5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG5cdFx0cmV0dXJuIHZhbHVlO1xyXG5cdH1cclxuXHJcblx0c2V0IG5nVmFsdWUodmFsdWU6IGFueSkge1xyXG5cdFx0aWYgKHRoaXMubmF0aXZlRWxlbWVudCkge1xyXG5cdFx0ICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcclxuICAgICAgICBjb25zdCBub3JtYWxpemVkVmFsdWUgPSB2YWx1ZSA9PSBudWxsID8gJycgOiB2YWx1ZTtcclxuXHJcblx0XHR0aGF0Lm5hdGl2ZUVsZW1lbnQud2hlblJlbmRlcmVkKCgpID0+IHtcclxuXHRcdFx0dGhhdC52YWx1ZSA9IG5vcm1hbGl6ZWRWYWx1ZTtcclxuXHRcdFx0aWYgKHRoYXQuX2luaXRpYWxDaGFuZ2UgPT09IGZhbHNlKSB7XHJcblx0ICAgIFx0XHR0aGF0Ll9vbkNoYW5nZSh0aGF0LnZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRyZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuXHRcdHRoaXMuX29uQ2hhbmdlID0gZm47XHJcblx0fVxyXG5cclxuXHRyZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHRcdGlmICh0aGlzLm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy5uYXRpdmVFbGVtZW50LmlzUmVuZGVyZWQpIHtcclxuXHRcdFx0Zm9yIChjb25zdCBwcm9wTmFtZSBpbiBjaGFuZ2VzKSB7XHJcblx0XHRcdFx0aWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XHJcblx0XHRcdFx0XHR0aGlzLm5hdGl2ZUVsZW1lbnRbcHJvcE5hbWVdID0gY2hhbmdlc1twcm9wTmFtZV0uY3VycmVudFZhbHVlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIEBkZXNjcmlwdGlvbiBBZGQgZXZlbnQgbGlzdGVuZXJzLiAqL1xyXG5cdHByaXZhdGUgbGlzdGVuKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG5cdFx0dGhhdC5ldmVudEhhbmRsZXJzWydjaGFuZ2VIYW5kbGVyJ10gPSAoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB7IHRoYXQub25DaGFuZ2UuZW1pdChldmVudCk7IH1cclxuXHRcdHRoYXQubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGF0LmV2ZW50SGFuZGxlcnNbJ2NoYW5nZUhhbmRsZXInXSk7XHJcblxyXG5cclxuICAgICAgICB0aGF0LmV2ZW50SGFuZGxlcnNbJ2NoYW5nZU1vZGVsSGFuZGxlciddID0gKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGF0Ll9pbml0aWFsQ2hhbmdlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoYXQuX29uQ2hhbmdlKHRoYXQubmF0aXZlRWxlbWVudC52YWx1ZSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGF0LmV2ZW50SGFuZGxlcnNbJ2JsdXJNb2RlbEhhbmRsZXInXSA9IChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhhdC5fb25Ub3VjaGVkKCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGF0Lm5hdGl2ZUVsZW1lbnQud2hlblJlbmRlcmVkKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoYXQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGF0LmV2ZW50SGFuZGxlcnNbJ2tleXVwTW9kZWxIYW5kbGVyJ10gPSAoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhhdC5ldmVudEhhbmRsZXJzWydjaGFuZ2VNb2RlbEhhbmRsZXInXShldmVudCk7IH0sIDUwKTtcclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgdGhhdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGF0LmV2ZW50SGFuZGxlcnNbJ2tleXVwTW9kZWxIYW5kbGVyJ10pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblx0XHR0aGF0Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhhdC5ldmVudEhhbmRsZXJzWydjaGFuZ2VNb2RlbEhhbmRsZXInXSk7XHJcblx0XHR0aGF0Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIHRoYXQuZXZlbnRIYW5kbGVyc1snYmx1ck1vZGVsSGFuZGxlciddKTtcclxuXHR9XHJcblxyXG5cdC8qKiBAZGVzY3JpcHRpb24gUmVtb3ZlIGV2ZW50IGxpc3RlbmVycy4gKi9cclxuXHRwcml2YXRlIHVubGlzdGVuKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG5cdFx0aWYgKHRoYXQuZXZlbnRIYW5kbGVyc1snY2hhbmdlSGFuZGxlciddKSB7XHJcblx0XHRcdHRoYXQubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGF0LmV2ZW50SGFuZGxlcnNbJ2NoYW5nZUhhbmRsZXInXSk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoYXQuZXZlbnRIYW5kbGVyc1snY2hhbmdlTW9kZWxIYW5kbGVyJ10pIHtcclxuXHRcdFx0dGhhdC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoYXQuZXZlbnRIYW5kbGVyc1snY2hhbmdlTW9kZWxIYW5kbGVyJ10pO1xyXG4gICAgICAgICAgICBpZiAodGhhdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykpIHtcclxuICAgICAgICAgICAgICAgICAgdGhhdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGF0LmV2ZW50SGFuZGxlcnNbJ2tleXVwTW9kZWxIYW5kbGVyJ10pO1xyXG4gICAgICAgICAgICB9XHJcblx0XHR9XHJcblx0XHRpZiAodGhhdC5ldmVudEhhbmRsZXJzWydibHVyTW9kZWxIYW5kbGVyJ10pIHtcclxuXHRcdFx0dGhhdC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JsdXInLCB0aGF0LmV2ZW50SGFuZGxlcnNbJ2JsdXJNb2RlbEhhbmRsZXInXSk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { PasswordTextBoxComponent } from './smart.passwordtextbox';
|
|
3
|
-
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
4
|
-
export class PasswordTextBoxModule {
|
|
5
|
-
}
|
|
6
|
-
PasswordTextBoxModule.decorators = [
|
|
7
|
-
{ type: NgModule, args: [{
|
|
8
|
-
declarations: [PasswordTextBoxComponent],
|
|
9
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
10
|
-
exports: [PasswordTextBoxComponent]
|
|
11
|
-
},] }
|
|
12
|
-
];
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQucGFzc3dvcmR0ZXh0Ym94Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Bhc3N3b3JkdGV4dGJveC9zcmMvc21hcnQucGFzc3dvcmR0ZXh0Ym94Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRyxNQUFNLGVBQWUsQ0FBQztBQVF4RCxNQUFNLE9BQU8scUJBQXFCOzs7WUFOakMsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDakMsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7YUFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUGFzc3dvcmRUZXh0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC5wYXNzd29yZHRleHRib3gnO1xyXG5pbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1Bhc3N3b3JkVGV4dEJveENvbXBvbmVudF0sXHJcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG5cdGV4cG9ydHM6IFtQYXNzd29yZFRleHRCb3hDb21wb25lbnRdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRUZXh0Qm94TW9kdWxlIHsgfVxyXG4iXX0=
|