@carefirst/library 4.8.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/fesm2022/carefirst-library.mjs +1264 -508
  2. package/fesm2022/carefirst-library.mjs.map +1 -1
  3. package/index.d.ts +1045 -2
  4. package/package.json +5 -7
  5. package/public/interfaces/carefirst.shared.interfaces.ts +6 -5
  6. package/public/styles/app.scss +5 -3
  7. package/public/styles/font.scss +4 -2
  8. package/public/styles/index.scss +6 -6
  9. package/esm2022/carefirst-library.mjs +0 -2
  10. package/esm2022/lib/components/alert/alert.component.mjs +0 -55
  11. package/esm2022/lib/components/badge/badge.component.mjs +0 -49
  12. package/esm2022/lib/components/button/button.component.mjs +0 -101
  13. package/esm2022/lib/components/calendar/calendar.component.mjs +0 -39
  14. package/esm2022/lib/components/chat-bubble/chat-bubble.component.mjs +0 -38
  15. package/esm2022/lib/components/form-input/form-input.component.mjs +0 -101
  16. package/esm2022/lib/components/form-input-currency/form-input-currency.component.mjs +0 -82
  17. package/esm2022/lib/components/form-input-search/form-input-search.component.mjs +0 -67
  18. package/esm2022/lib/components/form-input-select/form-input-select.component.mjs +0 -49
  19. package/esm2022/lib/components/form-input-string-date/form-input-string-date.component.mjs +0 -84
  20. package/esm2022/lib/components/form-input-text-area/form-input-text-area.component.mjs +0 -64
  21. package/esm2022/lib/components/form-validation/form-validation.component.mjs +0 -23
  22. package/esm2022/lib/components/icon/icon.component.mjs +0 -38
  23. package/esm2022/lib/components/logo/logo.component.mjs +0 -26
  24. package/esm2022/lib/components/mix-p/mix-p.component.mjs +0 -41
  25. package/esm2022/lib/components/notification/notification.component.mjs +0 -49
  26. package/esm2022/lib/components/page/page.component.mjs +0 -69
  27. package/esm2022/lib/components/spacer/spacer.component.mjs +0 -30
  28. package/esm2022/lib/components/spinner/spinner.component.mjs +0 -19
  29. package/esm2022/lib/components/verification-code/verification-code.component.mjs +0 -150
  30. package/esm2022/lib/directives/button-loader.directive.mjs +0 -41
  31. package/esm2022/lib/interfaces/alert.interface.mjs +0 -2
  32. package/esm2022/lib/interfaces/badge.interface.mjs +0 -15
  33. package/esm2022/lib/interfaces/icon.interface.mjs +0 -79
  34. package/esm2022/lib/interfaces/input.interface.mjs +0 -2
  35. package/esm2022/lib/interfaces/internal.interface.mjs +0 -7
  36. package/esm2022/lib/interfaces/notification.interface.mjs +0 -2
  37. package/esm2022/lib/interfaces/spacer.interface.mjs +0 -2
  38. package/esm2022/lib/interfaces/verification-code.interface.mjs +0 -3
  39. package/esm2022/lib/library.module.mjs +0 -125
  40. package/esm2022/lib/utils/attribute.util.mjs +0 -34
  41. package/esm2022/lib/utils/form-validators-utility.mjs +0 -169
  42. package/esm2022/public-api.mjs +0 -31
  43. package/lib/components/alert/alert.component.d.ts +0 -18
  44. package/lib/components/badge/badge.component.d.ts +0 -20
  45. package/lib/components/button/button.component.d.ts +0 -35
  46. package/lib/components/calendar/calendar.component.d.ts +0 -15
  47. package/lib/components/chat-bubble/chat-bubble.component.d.ts +0 -15
  48. package/lib/components/form-input/form-input.component.d.ts +0 -36
  49. package/lib/components/form-input-currency/form-input-currency.component.d.ts +0 -25
  50. package/lib/components/form-input-search/form-input-search.component.d.ts +0 -26
  51. package/lib/components/form-input-select/form-input-select.component.d.ts +0 -22
  52. package/lib/components/form-input-string-date/form-input-string-date.component.d.ts +0 -24
  53. package/lib/components/form-input-text-area/form-input-text-area.component.d.ts +0 -28
  54. package/lib/components/form-validation/form-validation.component.d.ts +0 -10
  55. package/lib/components/icon/icon.component.d.ts +0 -16
  56. package/lib/components/logo/logo.component.d.ts +0 -11
  57. package/lib/components/mix-p/mix-p.component.d.ts +0 -16
  58. package/lib/components/notification/notification.component.d.ts +0 -16
  59. package/lib/components/page/page.component.d.ts +0 -28
  60. package/lib/components/spacer/spacer.component.d.ts +0 -14
  61. package/lib/components/spinner/spinner.component.d.ts +0 -9
  62. package/lib/components/verification-code/verification-code.component.d.ts +0 -35
  63. package/lib/directives/button-loader.directive.d.ts +0 -12
  64. package/lib/interfaces/alert.interface.d.ts +0 -18
  65. package/lib/interfaces/badge.interface.d.ts +0 -2
  66. package/lib/interfaces/icon.interface.d.ts +0 -4
  67. package/lib/interfaces/input.interface.d.ts +0 -4
  68. package/lib/interfaces/internal.interface.d.ts +0 -6
  69. package/lib/interfaces/notification.interface.d.ts +0 -14
  70. package/lib/interfaces/spacer.interface.d.ts +0 -3
  71. package/lib/interfaces/verification-code.interface.d.ts +0 -12
  72. package/lib/library.module.d.ts +0 -30
  73. package/lib/utils/attribute.util.d.ts +0 -4
  74. package/lib/utils/form-validators-utility.d.ts +0 -10
  75. package/public-api.d.ts +0 -30
@@ -1,41 +0,0 @@
1
- import { Component, Directive, Input, Renderer2, TemplateRef, ViewContainerRef, ElementRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ButtonLoaderDirective {
4
- templateRef;
5
- renderer;
6
- viewContainer;
7
- elementRef;
8
- constructor(templateRef, renderer, viewContainer, elementRef) {
9
- this.templateRef = templateRef;
10
- this.renderer = renderer;
11
- this.viewContainer = viewContainer;
12
- this.elementRef = elementRef;
13
- }
14
- set cfButtonLoader(loading) {
15
- this.viewContainer.clear();
16
- this.viewContainer.createEmbeddedView(this.templateRef);
17
- if (loading) {
18
- this.viewContainer.createComponent(SpinnerComponent);
19
- this.renderer.setStyle(this.elementRef.nativeElement.parentElement, 'position', 'relative');
20
- }
21
- }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonLoaderDirective, deps: [{ token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
23
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ButtonLoaderDirective, selector: "[cfButtonLoader]", inputs: { cfButtonLoader: "cfButtonLoader" }, ngImport: i0 });
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonLoaderDirective, decorators: [{
26
- type: Directive,
27
- args: [{
28
- selector: '[cfButtonLoader]',
29
- }]
30
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }], propDecorators: { cfButtonLoader: [{
31
- type: Input
32
- }] } });
33
- class SpinnerComponent {
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpinnerComponent, selector: "ng-component", ngImport: i0, template: '<div class="loading-spinner"></div>', isInline: true, styles: ["@keyframes spinner{to{transform:rotate(360deg)}}.loading-spinner{position:absolute;top:calc(50% - 1em);left:calc(50% - 1em);width:2em;height:2em;border-radius:50%;border:3px solid var(--cf-app-system-color-outline);border-top-color:var(--cf-app-color-accent);animation:spinner 1s linear infinite}\n"] });
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerComponent, decorators: [{
38
- type: Component,
39
- args: [{ template: '<div class="loading-spinner"></div>', styles: ["@keyframes spinner{to{transform:rotate(360deg)}}.loading-spinner{position:absolute;top:calc(50% - 1em);left:calc(50% - 1em);width:2em;height:2em;border-radius:50%;border:3px solid var(--cf-app-system-color-outline);border-top-color:var(--cf-app-color-accent);animation:spinner 1s linear infinite}\n"] }]
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWxvYWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL2RpcmVjdGl2ZXMvYnV0dG9uLWxvYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtsSCxNQUFNLE9BQU8scUJBQXFCO0lBS3RCO0lBQ0E7SUFDQTtJQUNBO0lBSlYsWUFDVSxXQUFxQyxFQUNyQyxRQUFtQixFQUNuQixhQUErQixFQUMvQixVQUFtQztRQUhuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBMEI7UUFDckMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7SUFDMUMsQ0FBQztJQU9KLElBQWEsY0FBYyxDQUFDLE9BQWdCO1FBRTFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUVaLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5RixDQUFDO0lBQ0gsQ0FBQzt3R0EzQlUscUJBQXFCOzRGQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7Z0tBaUJjLGNBQWM7c0JBQTFCLEtBQUs7O0FBcUJSLE1Bd0JNLGdCQUFnQjt3R0FBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0Isb0RBdkJWLHFDQUFxQzs7NEZBdUIzQyxnQkFBZ0I7a0JBeEJyQixTQUFTOytCQUNFLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnV0dG9uIExvYWRlciBEaXJlY3RpdmVcbiAqXG4gKiBAZmlsZSAgICAgICAgICBidXR0b24tbG9hZGVyLmRpcmVjdGl2ZVxuICogQGRlc2NyaXB0aW9uICAgSFRNTCBkaXJlY3RpdmUgdXNlZCB0byBkaXNhYmxlIGEgYnV0dG9uIHdoaWxlIGxvYWRpbmdcbiAqIEBhdXRob3IgICAgICAgIEphY3F1ZXMgQ29ldHplZVxuICogQHNpbmNlICAgICAgICAgMjAyMiAtIDA3IC0gMjJcbiAqIEB1c2FnZSAgICAgICAgIEFkZCB0byBhbnkgSFRNTCB0YWc6ICpjZkJ1dHRvbkxvYWRlcj1cInRydWVcIlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRGlyZWN0aXZlLCBJbnB1dCwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2ZCdXR0b25Mb2FkZXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uTG9hZGVyRGlyZWN0aXZlIHtcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgQ29uc3RydWN0b3JcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgKSB7fVxuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgY2ZCdXR0b25Mb2FkZXJcbiAgICogQGRlc2NyaXB0aW9uICAgRGlzcGxheXMgYSBsb2FkaW5nIG92ZXJsYXkgYW5kIGRpc2FibGVzIGEgYnV0dG9uXG4gICAqIEBwYXJhbSAgICAgICAgIHtib29sZWFufSBsb2FkaW5nXG4gICAqL1xuICBASW5wdXQoKSBzZXQgY2ZCdXR0b25Mb2FkZXIobG9hZGluZzogYm9vbGVhbikge1xuICAgIC8vLS0tIENsZWFyIEhUTUwgY29udGFpbmVyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgLy8tLS0gUmVhdHRhY2ggZWxlbWVudCBhcyBjaGlsZFxuICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XG4gICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgIC8vLS0tIEFkZCBsb2FkaW5nIHNwaW5uZXJcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoU3Bpbm5lckNvbXBvbmVudCk7XG4gICAgICAvLy0tLSBTZXQgcGFyZW50IGNvbnRhaW5lciBwb3NpdGlvbiB0byByZWxhdGl2ZVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LCAncG9zaXRpb24nLCAncmVsYXRpdmUnKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBAY2xhc3MgICAgICAgICBTcGlubmVyQ29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gICBUaGUgc3Bpbm5lciBjb21wb25lbnQgdXNlZCB0byByZW5kZXIgYW4gaW9uLXNwaW5uZXIgb24gdGhlIGJ1dHRvblxuICogQGF1dGhvciAgICAgICAgSmFjcXVlcyBDb2V0emVlXG4gKiBAc2luY2UgICAgICAgICAyMDIyIC0gMDcgLSAyMlxuICogPT09PT0gKi9cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnPGRpdiBjbGFzcz1cImxvYWRpbmctc3Bpbm5lclwiPjwvZGl2PicsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIEBrZXlmcmFtZXMgc3Bpbm5lciB7XG4gICAgICAgIHRvIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5sb2FkaW5nLXNwaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSAxZW0pO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDFlbSk7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWNmLWFwcC1zeXN0ZW0tY29sb3Itb3V0bGluZSk7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNmLWFwcC1jb2xvci1hY2NlbnQpO1xuICAgICAgICBhbmltYXRpb246IHNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuY2xhc3MgU3Bpbm5lckNvbXBvbmVudCB7fVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9pbnRlcmZhY2VzL2FsZXJ0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQGludGVyZmFjZSAgICAgQWxlcnREYXRhSVxuICogQGRlc2NyaXB0aW9uICAgRGVmaW5lcyB0aGUgcHJvcGVydGllcyBuZWVkZWQgdG8gc2hvdyBhIGNhcmUgZmlyc3QgYWxlcnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGVydERhdGFJIHtcbiAgaGVhZGluZzogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGFsZXJ0SWRlbnRpZmllcjogc3RyaW5nIHwgbnVtYmVyO1xuICBidXR0b25UcnVlPzogc3RyaW5nOyAvLy0tLSBEZWZhdWx0IHRvICdPSydcbiAgYnV0dG9uRmFsc2U/OiBzdHJpbmcgfCBudWxsOyAvLy0tLSBEZWZhdWx0IHRvICdDYW5jZWwnLCBOVUxMIGlzIGhpZGUgYnV0dG9uXG4gIGlucHV0Pzoge1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIHZhbGlkYXRvcnM/OiBWYWxpZGF0b3JGbltdO1xuICAgIGN1c3RvbUVycm9yPzogc3RyaW5nO1xuICB9O1xufVxuXG4vKio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBAaW50ZXJmYWNlICAgICBBbGVydEV2ZW50SVxuICogQGRlc2NyaXB0aW9uICAgRGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIHRoZSByZXR1cm5lZCBldmVudCBmcm9tIHRoZSBhbGVydCB3aGVuIGEgYnV0dG9uIGlzIGNsaWNrZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGVydEV2ZW50SSB7XG4gIGlkZW50aWZpZXI6IHN0cmluZyB8IG51bWJlcjtcbiAgc3RhdHVzOiBib29sZWFuO1xuICBpbnB1dFZhbHVlPzogc3RyaW5nO1xufVxuIl19
@@ -1,15 +0,0 @@
1
- export const badgeTypeC = [
2
- 'primary',
3
- 'white',
4
- 'success',
5
- 'alert',
6
- 'accent',
7
- 'warning',
8
- 'disabled',
9
- 'feedback-success',
10
- 'feedback-error',
11
- 'feedback-warning',
12
- 'feedback-busy',
13
- 'custom-color',
14
- ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9pbnRlcmZhY2VzL2JhZGdlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsU0FBUztJQUNULE9BQU87SUFDUCxTQUFTO0lBQ1QsT0FBTztJQUNQLFFBQVE7SUFDUixTQUFTO0lBQ1QsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixjQUFjO0NBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEBpbnRlcmZhY2UgICAgIEJhZGdlVHlwZVRcbiAqIEBkZXNjcmlwdGlvbiAgIFR5cGVzIG9mIGJhZGdlcyBhdmFpbGFibGVcbiAqL1xuZXhwb3J0IGNvbnN0IGJhZGdlVHlwZUMgPSBbXG4gICdwcmltYXJ5JyxcbiAgJ3doaXRlJyxcbiAgJ3N1Y2Nlc3MnLFxuICAnYWxlcnQnLFxuICAnYWNjZW50JyxcbiAgJ3dhcm5pbmcnLFxuICAnZGlzYWJsZWQnLFxuICAnZmVlZGJhY2stc3VjY2VzcycsXG4gICdmZWVkYmFjay1lcnJvcicsXG4gICdmZWVkYmFjay13YXJuaW5nJyxcbiAgJ2ZlZWRiYWNrLWJ1c3knLFxuICAnY3VzdG9tLWNvbG9yJyxcbl0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBCYWRnZVR5cGVUID0gKHR5cGVvZiBiYWRnZVR5cGVDKVtudW1iZXJdO1xuIl19
@@ -1,79 +0,0 @@
1
- export const iconsC = [
2
- 'home',
3
- 'cog',
4
- 'profile',
5
- 'scan',
6
- 'person',
7
- 'appointment',
8
- 'clock',
9
- 'calendar',
10
- 'email',
11
- 'phone',
12
- 'sign-out',
13
- 'sign-in',
14
- 'close',
15
- 'check-mark',
16
- 'rating-star-blank',
17
- 'rating-star-filled',
18
- 'back-arrow',
19
- 'bell',
20
- 'lock',
21
- 'show-password',
22
- 'hide-password',
23
- 'circle-check',
24
- 'circle-alert',
25
- 'circle-close',
26
- 'direction-switch',
27
- 'direction-switch-flat',
28
- 'direction-switch-block',
29
- 'chat-bubbles',
30
- 'phone-down',
31
- 'mic',
32
- 'no-mic',
33
- 'button-forward-arrow',
34
- 'button-check-box',
35
- 'social-media-whatsapp',
36
- 'social-media-facebook',
37
- 'social-media-linkedin',
38
- 'social-media-instagram',
39
- 'social-media-google-mail',
40
- 'instant-video-service',
41
- 'instant-telephonic-service',
42
- 'scheduled-video-service',
43
- 'scheduled-telephonic-service',
44
- 'vital-scan-service',
45
- 'open-back-arrow',
46
- 'open-forward-arrow',
47
- 'open-up-arrow',
48
- 'open-down-arrow',
49
- 'single-document',
50
- 'lightning',
51
- 'microsoft-365',
52
- 'user-dependent',
53
- 'plus',
54
- 'minus',
55
- 'close-box',
56
- 'speech-bubble',
57
- 'camera-switch',
58
- 'retry',
59
- 'download',
60
- 'upload',
61
- 'upload-document',
62
- 'print',
63
- 'search',
64
- 'flame',
65
- 'bank-cards',
66
- 'bank-card',
67
- 'swipe-bank-card',
68
- 'coin',
69
- 'sign-out-curved',
70
- 'sign-in-curved',
71
- 'calendar-blank',
72
- 'wallet',
73
- 'info',
74
- 'three-dot-colon',
75
- 'adjustment',
76
- 'triangle-alert',
77
- ];
78
- export const iconColorC = ['primary', 'secondary', 'success', 'warning', 'error', 'white', 'accent'];
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL2ludGVyZmFjZXMvaWNvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLE1BQU07SUFDTixLQUFLO0lBQ0wsU0FBUztJQUNULE1BQU07SUFDTixRQUFRO0lBQ1IsYUFBYTtJQUNiLE9BQU87SUFDUCxVQUFVO0lBQ1YsT0FBTztJQUNQLE9BQU87SUFDUCxVQUFVO0lBQ1YsU0FBUztJQUNULE9BQU87SUFDUCxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixZQUFZO0lBQ1osTUFBTTtJQUNOLE1BQU07SUFDTixlQUFlO0lBQ2YsZUFBZTtJQUNmLGNBQWM7SUFDZCxjQUFjO0lBQ2QsY0FBYztJQUNkLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLGNBQWM7SUFDZCxZQUFZO0lBQ1osS0FBSztJQUNMLFFBQVE7SUFDUixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLHVCQUF1QjtJQUN2Qix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4QiwwQkFBMEI7SUFDMUIsdUJBQXVCO0lBQ3ZCLDRCQUE0QjtJQUM1Qix5QkFBeUI7SUFDekIsOEJBQThCO0lBQzlCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLE1BQU07SUFDTixPQUFPO0lBQ1AsV0FBVztJQUNYLGVBQWU7SUFDZixlQUFlO0lBQ2YsT0FBTztJQUNQLFVBQVU7SUFDVixRQUFRO0lBQ1IsaUJBQWlCO0lBQ2pCLE9BQU87SUFDUCxRQUFRO0lBQ1IsT0FBTztJQUNQLFlBQVk7SUFDWixXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLE1BQU07SUFDTixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixRQUFRO0lBQ1IsTUFBTTtJQUNOLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osZ0JBQWdCO0NBQ1IsQ0FBQztBQU9YLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQGludGVyZmFjZSAgICAgSWNvbnNUXG4gKiBAZGVzY3JpcHRpb24gICBTaG9ydCBkZXNjcmlwdGlvblxuICovXG5leHBvcnQgY29uc3QgaWNvbnNDID0gW1xuICAnaG9tZScsXG4gICdjb2cnLFxuICAncHJvZmlsZScsXG4gICdzY2FuJyxcbiAgJ3BlcnNvbicsXG4gICdhcHBvaW50bWVudCcsXG4gICdjbG9jaycsXG4gICdjYWxlbmRhcicsXG4gICdlbWFpbCcsXG4gICdwaG9uZScsXG4gICdzaWduLW91dCcsXG4gICdzaWduLWluJyxcbiAgJ2Nsb3NlJyxcbiAgJ2NoZWNrLW1hcmsnLFxuICAncmF0aW5nLXN0YXItYmxhbmsnLFxuICAncmF0aW5nLXN0YXItZmlsbGVkJyxcbiAgJ2JhY2stYXJyb3cnLFxuICAnYmVsbCcsXG4gICdsb2NrJyxcbiAgJ3Nob3ctcGFzc3dvcmQnLFxuICAnaGlkZS1wYXNzd29yZCcsXG4gICdjaXJjbGUtY2hlY2snLFxuICAnY2lyY2xlLWFsZXJ0JyxcbiAgJ2NpcmNsZS1jbG9zZScsXG4gICdkaXJlY3Rpb24tc3dpdGNoJyxcbiAgJ2RpcmVjdGlvbi1zd2l0Y2gtZmxhdCcsXG4gICdkaXJlY3Rpb24tc3dpdGNoLWJsb2NrJyxcbiAgJ2NoYXQtYnViYmxlcycsXG4gICdwaG9uZS1kb3duJyxcbiAgJ21pYycsXG4gICduby1taWMnLFxuICAnYnV0dG9uLWZvcndhcmQtYXJyb3cnLFxuICAnYnV0dG9uLWNoZWNrLWJveCcsXG4gICdzb2NpYWwtbWVkaWEtd2hhdHNhcHAnLFxuICAnc29jaWFsLW1lZGlhLWZhY2Vib29rJyxcbiAgJ3NvY2lhbC1tZWRpYS1saW5rZWRpbicsXG4gICdzb2NpYWwtbWVkaWEtaW5zdGFncmFtJyxcbiAgJ3NvY2lhbC1tZWRpYS1nb29nbGUtbWFpbCcsXG4gICdpbnN0YW50LXZpZGVvLXNlcnZpY2UnLFxuICAnaW5zdGFudC10ZWxlcGhvbmljLXNlcnZpY2UnLFxuICAnc2NoZWR1bGVkLXZpZGVvLXNlcnZpY2UnLFxuICAnc2NoZWR1bGVkLXRlbGVwaG9uaWMtc2VydmljZScsXG4gICd2aXRhbC1zY2FuLXNlcnZpY2UnLFxuICAnb3Blbi1iYWNrLWFycm93JyxcbiAgJ29wZW4tZm9yd2FyZC1hcnJvdycsXG4gICdvcGVuLXVwLWFycm93JyxcbiAgJ29wZW4tZG93bi1hcnJvdycsXG4gICdzaW5nbGUtZG9jdW1lbnQnLFxuICAnbGlnaHRuaW5nJyxcbiAgJ21pY3Jvc29mdC0zNjUnLFxuICAndXNlci1kZXBlbmRlbnQnLFxuICAncGx1cycsXG4gICdtaW51cycsXG4gICdjbG9zZS1ib3gnLFxuICAnc3BlZWNoLWJ1YmJsZScsXG4gICdjYW1lcmEtc3dpdGNoJyxcbiAgJ3JldHJ5JyxcbiAgJ2Rvd25sb2FkJyxcbiAgJ3VwbG9hZCcsXG4gICd1cGxvYWQtZG9jdW1lbnQnLFxuICAncHJpbnQnLFxuICAnc2VhcmNoJyxcbiAgJ2ZsYW1lJyxcbiAgJ2JhbmstY2FyZHMnLFxuICAnYmFuay1jYXJkJyxcbiAgJ3N3aXBlLWJhbmstY2FyZCcsXG4gICdjb2luJyxcbiAgJ3NpZ24tb3V0LWN1cnZlZCcsXG4gICdzaWduLWluLWN1cnZlZCcsXG4gICdjYWxlbmRhci1ibGFuaycsXG4gICd3YWxsZXQnLFxuICAnaW5mbycsXG4gICd0aHJlZS1kb3QtY29sb24nLFxuICAnYWRqdXN0bWVudCcsXG4gICd0cmlhbmdsZS1hbGVydCcsXG5dIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgSWNvbnNUID0gKHR5cGVvZiBpY29uc0MpW251bWJlcl07XG5cbi8qKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEBpbnRlcmZhY2UgICAgIEljb25Db2xvclRcbiAqIEBkZXNjcmlwdGlvbiAgIEFsbCBhdmFpbGFibGUgY29sb3JzIGluIENTUyBjbGFzc2VzXG4gKi9cbmV4cG9ydCBjb25zdCBpY29uQ29sb3JDID0gWydwcmltYXJ5JywgJ3NlY29uZGFyeScsICdzdWNjZXNzJywgJ3dhcm5pbmcnLCAnZXJyb3InLCAnd2hpdGUnLCAnYWNjZW50J10gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBJY29uQ29sb3JUID0gKHR5cGVvZiBpY29uQ29sb3JDKVtudW1iZXJdO1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9pbnRlcmZhY2VzL2lucHV0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQGludGVyZmFjZSAgICAgRm9ybUlucHV0U2VsZWN0T3B0aW9uc0lcbiAqIEBkZXNjcmlwdGlvbiAgIFN0cnVjdHVyZSBmb3IgdGhlIGlucHV0IHNlbGVjdCBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUlucHV0U2VsZWN0T3B0aW9uc0k8VD4ge1xuICBkaXNwbGF5TmFtZTogc3RyaW5nIHwgbnVtYmVyO1xuICB2YWx1ZTogVDtcbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- export const inputsC = {
2
- labelPlacement: ['fixed', 'floating', 'stacked', 'start', 'end'],
3
- inputMode: ['text', 'email', 'numeric', 'tel', 'decimal', 'url', 'search'],
4
- autoCapitalize: ['off', 'none', 'on', 'sentences', 'words', 'characters'],
5
- type: ['date', 'datetime-local', 'email', 'month', 'number', 'password', 'search', 'tel', 'text', 'time', 'url', 'week'],
6
- };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9pbnRlcmZhY2VzL2ludGVybmFsLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsY0FBYyxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztJQUNoRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUM7SUFDMUUsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUM7SUFDekUsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztDQUNoSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQGludGVyZmFjZSAgICAgaW5wdXRzQ1xuICogQGRlc2NyaXB0aW9uICAgRGVmaW5lIGF2YWlsYWJsZSBpbnB1dCB2YWx1ZXNcbiAqL1xuZXhwb3J0IGNvbnN0IGlucHV0c0MgPSB7XG4gIGxhYmVsUGxhY2VtZW50OiBbJ2ZpeGVkJywgJ2Zsb2F0aW5nJywgJ3N0YWNrZWQnLCAnc3RhcnQnLCAnZW5kJ10sXG4gIGlucHV0TW9kZTogWyd0ZXh0JywgJ2VtYWlsJywgJ251bWVyaWMnLCAndGVsJywgJ2RlY2ltYWwnLCAndXJsJywgJ3NlYXJjaCddLFxuICBhdXRvQ2FwaXRhbGl6ZTogWydvZmYnLCAnbm9uZScsICdvbicsICdzZW50ZW5jZXMnLCAnd29yZHMnLCAnY2hhcmFjdGVycyddLFxuICB0eXBlOiBbJ2RhdGUnLCAnZGF0ZXRpbWUtbG9jYWwnLCAnZW1haWwnLCAnbW9udGgnLCAnbnVtYmVyJywgJ3Bhc3N3b3JkJywgJ3NlYXJjaCcsICd0ZWwnLCAndGV4dCcsICd0aW1lJywgJ3VybCcsICd3ZWVrJ10sXG59IGFzIGNvbnN0O1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvaW50ZXJmYWNlcy9ub3RpZmljYXRpb24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBAaW50ZXJmYWNlICAgICBOb3RpZmljYXRpb25QYXlsb2FkSVxuICogQGRlc2NyaXB0aW9uICAgU2V0dXAgbmVlZGVkIHRvIHNob3cgYSBub3RpZmljYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25QYXlsb2FkSSB7XG4gIGhlYWRpbmc6IHN0cmluZztcbiAgc3RhdHVzOiAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZXJyb3InIHwgJ2FjY2VudCc7IC8vLS0tIHN1Y2Nlc3M9Z3JlZW4sIHdhcm5pbmc9eWVsbG93LCBlcnJvcj1yZWQsIGFjY2VudD1hY2NlbnRcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgYnV0dG9ucz86IHtcbiAgICBpZGVudGlmaWVyOiBzdHJpbmcgfCBudW1iZXI7IC8vLS0tIHVzZXIgc2V0IGlkZW50aWZpZXIgdXNlZCB0byBrbm93IHdpdGNoIG5vdGlmaWNhdGlvbnMgYWN0aW9uL2Nsb3NlIGhhcyBiZWVuIHRyaWdnZXJlZFxuICAgIGNsb3NlQnV0dG9uPzogdHJ1ZTsgLy8tLS0gQWRkcyBhIGNsaWNrYWJsZSB4IHRvIGhpZGUgbm90aWZpY2F0aW9uXG4gICAgYWN0aW9uQnV0dG9uPzoge1xuICAgICAgYnV0dG9uVGV4dDogc3RyaW5nO1xuICAgICAgYnV0dG9uSGVhZGluZz86IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBhdXRvQ2xvc2U/OiBudW1iZXI7IC8vLS0tIEF1dG8gY2xvc2Ugbm90aWZpY2F0aW9uIChhZnRlciBYIHNlY29uZHMpXG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export const spacerNumberArray = [4, 8, 12, 16, 24, 32, 38, 48, 72, 96];
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhY2VyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhcmVmaXJzdC9saWJyYXJ5L3NyYy9saWIvaW50ZXJmYWNlcy9zcGFjZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBAZGVzY3JpcHRpb24gICBBdmFpbGFibGUgU3BhY2VyIFZhbHVlc1xuICovXG5leHBvcnQgY29uc3Qgc3BhY2VyTnVtYmVyQXJyYXkgPSBbNCwgOCwgMTIsIDE2LCAyNCwgMzIsIDM4LCA0OCwgNzIsIDk2XSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFNwYWNlck51bWJlclQgPSAodHlwZW9mIHNwYWNlck51bWJlckFycmF5KVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgU3BhY2VyU3RyaW5nVCA9IGAke1NwYWNlck51bWJlclR9YDtcbiJdfQ==
@@ -1,3 +0,0 @@
1
- const cfCodeInputVerificationStatusesC = ['initial', 'invalid', 'disabled', 'processing'];
2
- export {};
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZpY2F0aW9uLWNvZGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZWZpcnN0L2xpYnJhcnkvc3JjL2xpYi9pbnRlcmZhY2VzL3ZlcmlmaWNhdGlvbi1jb2RlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLGdDQUFnQyxHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBAaW50ZXJmYWNlICAgICBDZkNvZGVJbnB1dFZlcmlmaWNhdGlvblN0YXR1c2VzVFxuICogQGRlc2NyaXB0aW9uICAgQWxsIGF2YWlsYWJsZSBzdGF0dXNlcyBmb3IgdGhlIHZlcmlmaWNhdGlvbiBjb2RlIGNvbXBvbmVudFxuICovXG5jb25zdCBjZkNvZGVJbnB1dFZlcmlmaWNhdGlvblN0YXR1c2VzQyA9IFsnaW5pdGlhbCcsICdpbnZhbGlkJywgJ2Rpc2FibGVkJywgJ3Byb2Nlc3NpbmcnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIENmQ29kZUlucHV0VmVyaWZpY2F0aW9uU3RhdHVzZXNUID0gKHR5cGVvZiBjZkNvZGVJbnB1dFZlcmlmaWNhdGlvblN0YXR1c2VzQylbbnVtYmVyXTtcblxuLyoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQGludGVyZmFjZSAgICAgQ2ZDb2RlSW5wdXRVc2VyRmVlZGJhY2tNZXNzYWdlc0lcbiAqIEBkZXNjcmlwdGlvbiAgIE1lc3NhZ2VzIGRpc3BsYXllZCB0byB1c2VyIHdoZW4gY2VydGFpbiBldmVudHMgb2NjdXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZkNvZGVJbnB1dFVzZXJGZWVkYmFja01lc3NhZ2VzSSB7XG4gIGluaXRpYWw/OiBzdHJpbmdbXTtcbiAgc3RhbmRhcmRSZXNlbmQ/OiBzdHJpbmdbXTtcbiAgbGltaXRSZWFjaGVkPzogc3RyaW5nW107XG4gIGVycm9yPzoge1xuICAgIGVycm9yTWVzc2FnZT86IHN0cmluZ1tdO1xuICAgIHJlc2VuZD86IHN0cmluZ1tdO1xuICB9O1xufVxuIl19
@@ -1,125 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { IonicModule } from '@ionic/angular';
4
- import { ReactiveFormsModule } from '@angular/forms';
5
- import { ButtonLoaderDirective } from './directives/button-loader.directive';
6
- import { PageComponent } from './components/page/page.component';
7
- import { ButtonComponent } from './components/button/button.component';
8
- import { SpacerComponent } from './components/spacer/spacer.component';
9
- import { IconComponent } from './components/icon/icon.component';
10
- import { NotificationComponent } from './components/notification/notification.component';
11
- import { AlertComponent } from './components/alert/alert.component';
12
- import { LogoComponent } from './components/logo/logo.component';
13
- import { CalendarComponent } from './components/calendar/calendar.component';
14
- import { FormValidationComponent } from './components/form-validation/form-validation.component';
15
- import { FormInputComponent } from './components/form-input/form-input.component';
16
- import { FormInputSelectComponent } from './components/form-input-select/form-input-select.component';
17
- import { FormInputTextAreaComponent } from './components/form-input-text-area/form-input-text-area.component';
18
- import { FormInputSearchComponent } from './components/form-input-search/form-input-search.component';
19
- import { ChatBubbleComponent } from './components/chat-bubble/chat-bubble.component';
20
- import { BadgeComponent } from './components/badge/badge.component';
21
- import { SpinnerComponent } from './components/spinner/spinner.component';
22
- import { VerificationCodeComponent } from './components/verification-code/verification-code.component';
23
- import { MixPComponent } from './components/mix-p/mix-p.component';
24
- import { FormInputStringDateComponent } from './components/form-input-string-date/form-input-string-date.component';
25
- import { FormInputCurrencyComponent } from './components/form-input-currency/form-input-currency.component';
26
- import * as i0 from "@angular/core";
27
- export class CareFirstLibraryModule {
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CareFirstLibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: CareFirstLibraryModule, declarations: [PageComponent,
30
- ButtonComponent,
31
- SpacerComponent,
32
- IconComponent,
33
- ButtonLoaderDirective,
34
- NotificationComponent,
35
- AlertComponent,
36
- LogoComponent,
37
- CalendarComponent,
38
- FormValidationComponent,
39
- FormInputComponent,
40
- FormInputCurrencyComponent,
41
- FormInputSelectComponent,
42
- FormInputStringDateComponent,
43
- FormInputTextAreaComponent,
44
- FormInputSearchComponent,
45
- ChatBubbleComponent,
46
- BadgeComponent,
47
- SpinnerComponent,
48
- VerificationCodeComponent,
49
- MixPComponent], imports: [IonicModule, CommonModule, ReactiveFormsModule], exports: [PageComponent,
50
- ButtonComponent,
51
- SpacerComponent,
52
- IconComponent,
53
- ButtonLoaderDirective,
54
- NotificationComponent,
55
- AlertComponent,
56
- LogoComponent,
57
- CalendarComponent,
58
- FormValidationComponent,
59
- FormInputComponent,
60
- FormInputCurrencyComponent,
61
- FormInputSelectComponent,
62
- FormInputStringDateComponent,
63
- FormInputTextAreaComponent,
64
- FormInputSearchComponent,
65
- ChatBubbleComponent,
66
- BadgeComponent,
67
- SpinnerComponent,
68
- VerificationCodeComponent,
69
- MixPComponent] });
70
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CareFirstLibraryModule, imports: [IonicModule, CommonModule, ReactiveFormsModule] });
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CareFirstLibraryModule, decorators: [{
73
- type: NgModule,
74
- args: [{
75
- declarations: [
76
- PageComponent,
77
- ButtonComponent,
78
- SpacerComponent,
79
- IconComponent,
80
- ButtonLoaderDirective,
81
- NotificationComponent,
82
- AlertComponent,
83
- LogoComponent,
84
- CalendarComponent,
85
- FormValidationComponent,
86
- FormInputComponent,
87
- FormInputCurrencyComponent,
88
- FormInputSelectComponent,
89
- FormInputStringDateComponent,
90
- FormInputTextAreaComponent,
91
- FormInputSearchComponent,
92
- ChatBubbleComponent,
93
- BadgeComponent,
94
- SpinnerComponent,
95
- VerificationCodeComponent,
96
- MixPComponent,
97
- ],
98
- imports: [IonicModule, CommonModule, ReactiveFormsModule],
99
- exports: [
100
- PageComponent,
101
- ButtonComponent,
102
- SpacerComponent,
103
- IconComponent,
104
- ButtonLoaderDirective,
105
- NotificationComponent,
106
- AlertComponent,
107
- LogoComponent,
108
- CalendarComponent,
109
- FormValidationComponent,
110
- FormInputComponent,
111
- FormInputCurrencyComponent,
112
- FormInputSelectComponent,
113
- FormInputStringDateComponent,
114
- FormInputTextAreaComponent,
115
- FormInputSearchComponent,
116
- ChatBubbleComponent,
117
- BadgeComponent,
118
- SpinnerComponent,
119
- VerificationCodeComponent,
120
- MixPComponent,
121
- ],
122
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
123
- }]
124
- }] });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL2xpYnJhcnkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUU3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM5RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3BILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOztBQXFENUcsTUFBTSxPQUFPLHNCQUFzQjt3R0FBdEIsc0JBQXNCO3lHQUF0QixzQkFBc0IsaUJBakQvQixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixhQUFhO1lBQ2IscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQixjQUFjO1lBQ2QsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLDBCQUEwQjtZQUMxQix3QkFBd0I7WUFDeEIsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUMxQix3QkFBd0I7WUFDeEIsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIseUJBQXlCO1lBQ3pCLGFBQWEsYUFHTCxXQUFXLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixhQUV0RCxhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixhQUFhO1lBQ2IscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQixjQUFjO1lBQ2QsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLDBCQUEwQjtZQUMxQix3QkFBd0I7WUFDeEIsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUMxQix3QkFBd0I7WUFDeEIsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIseUJBQXlCO1lBQ3pCLGFBQWE7eUdBSUosc0JBQXNCLFlBMUJ2QixXQUFXLEVBQUUsWUFBWSxFQUFFLG1CQUFtQjs7NEZBMEI3QyxzQkFBc0I7a0JBbkRsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLHlCQUF5Qjt3QkFDekIsYUFBYTtxQkFDZDtvQkFFRCxPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixDQUFDO29CQUN6RCxPQUFPLEVBQUU7d0JBQ1AsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4QixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQix5QkFBeUI7d0JBQ3pCLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG4vLy0tLSBNb2R1bGVzXG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG4vLy0tLSBEaXJlY3RpdmVzXG5pbXBvcnQgeyBCdXR0b25Mb2FkZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYnV0dG9uLWxvYWRlci5kaXJlY3RpdmUnO1xuLy8tLS0gQ29tcG9uZW50c1xuaW1wb3J0IHsgUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGFjZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3BhY2VyL3NwYWNlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9nb0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2dvL2xvZ28uY29tcG9uZW50JztcbmltcG9ydCB7IENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtVmFsaWRhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLXZhbGlkYXRpb24vZm9ybS12YWxpZGF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1pbnB1dC9mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtSW5wdXRTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1pbnB1dC1zZWxlY3QvZm9ybS1pbnB1dC1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1JbnB1dFRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0taW5wdXQtdGV4dC1hcmVhL2Zvcm0taW5wdXQtdGV4dC1hcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtSW5wdXRTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1pbnB1dC1zZWFyY2gvZm9ybS1pbnB1dC1zZWFyY2guY29tcG9uZW50JztcbmltcG9ydCB7IENoYXRCdWJibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hhdC1idWJibGUvY2hhdC1idWJibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JhZGdlL2JhZGdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmVyaWZpY2F0aW9uQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy92ZXJpZmljYXRpb24tY29kZS92ZXJpZmljYXRpb24tY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWl4UENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9taXgtcC9taXgtcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUlucHV0U3RyaW5nRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWlucHV0LXN0cmluZy1kYXRlL2Zvcm0taW5wdXQtc3RyaW5nLWRhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1JbnB1dEN1cnJlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0taW5wdXQtY3VycmVuY3kvZm9ybS1pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBQYWdlQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBTcGFjZXJDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBCdXR0b25Mb2FkZXJEaXJlY3RpdmUsXG4gICAgTm90aWZpY2F0aW9uQ29tcG9uZW50LFxuICAgIEFsZXJ0Q29tcG9uZW50LFxuICAgIExvZ29Db21wb25lbnQsXG4gICAgQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgRm9ybVZhbGlkYXRpb25Db21wb25lbnQsXG4gICAgRm9ybUlucHV0Q29tcG9uZW50LFxuICAgIEZvcm1JbnB1dEN1cnJlbmN5Q29tcG9uZW50LFxuICAgIEZvcm1JbnB1dFNlbGVjdENvbXBvbmVudCxcbiAgICBGb3JtSW5wdXRTdHJpbmdEYXRlQ29tcG9uZW50LFxuICAgIEZvcm1JbnB1dFRleHRBcmVhQ29tcG9uZW50LFxuICAgIEZvcm1JbnB1dFNlYXJjaENvbXBvbmVudCxcbiAgICBDaGF0QnViYmxlQ29tcG9uZW50LFxuICAgIEJhZGdlQ29tcG9uZW50LFxuICAgIFNwaW5uZXJDb21wb25lbnQsXG4gICAgVmVyaWZpY2F0aW9uQ29kZUNvbXBvbmVudCxcbiAgICBNaXhQQ29tcG9uZW50LFxuICBdLFxuXG4gIGltcG9ydHM6IFtJb25pY01vZHVsZSwgQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgZXhwb3J0czogW1xuICAgIFBhZ2VDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFNwYWNlckNvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIEJ1dHRvbkxvYWRlckRpcmVjdGl2ZSxcbiAgICBOb3RpZmljYXRpb25Db21wb25lbnQsXG4gICAgQWxlcnRDb21wb25lbnQsXG4gICAgTG9nb0NvbXBvbmVudCxcbiAgICBDYWxlbmRhckNvbXBvbmVudCxcbiAgICBGb3JtVmFsaWRhdGlvbkNvbXBvbmVudCxcbiAgICBGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgRm9ybUlucHV0Q3VycmVuY3lDb21wb25lbnQsXG4gICAgRm9ybUlucHV0U2VsZWN0Q29tcG9uZW50LFxuICAgIEZvcm1JbnB1dFN0cmluZ0RhdGVDb21wb25lbnQsXG4gICAgRm9ybUlucHV0VGV4dEFyZWFDb21wb25lbnQsXG4gICAgRm9ybUlucHV0U2VhcmNoQ29tcG9uZW50LFxuICAgIENoYXRCdWJibGVDb21wb25lbnQsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICBWZXJpZmljYXRpb25Db2RlQ29tcG9uZW50LFxuICAgIE1peFBDb21wb25lbnQsXG4gIF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZUZpcnN0TGlicmFyeU1vZHVsZSB7fVxuIl19
@@ -1,34 +0,0 @@
1
- export function checkTruthAttribute(changes, attribute, curVal) {
2
- if (!(attribute in changes))
3
- return curVal;
4
- const valueChanged = changes[attribute]?.currentValue;
5
- if (typeof valueChanged === 'boolean') {
6
- return valueChanged;
7
- }
8
- else if (typeof valueChanged === 'string' && ['true', ''].includes(valueChanged)) {
9
- return true;
10
- }
11
- return false;
12
- }
13
- export function validateStringValue(changes, attribute, options, curVal) {
14
- if (!(attribute in changes))
15
- return curVal;
16
- const valueChanged = changes[attribute]?.currentValue;
17
- if (valueChanged && options.includes(valueChanged)) {
18
- return valueChanged;
19
- }
20
- return undefined;
21
- }
22
- export function validateNumberValue(changes, attribute, curVal) {
23
- if (!(attribute in changes))
24
- return curVal;
25
- const valueChanged = changes[attribute]?.currentValue;
26
- if (typeof valueChanged === 'number' && valueChanged >= 0) {
27
- return valueChanged;
28
- }
29
- else if (typeof valueChanged === 'string' && +valueChanged >= 0) {
30
- return +valueChanged;
31
- }
32
- return undefined;
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL3V0aWxzL2F0dHJpYnV0ZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CQSxNQUFNLFVBQVUsbUJBQW1CLENBQUMsT0FBc0IsRUFBRSxTQUFpQixFQUFFLE1BQWU7SUFDNUYsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQztRQUFFLE9BQU8sTUFBTSxDQUFDO0lBQzNDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxZQUFZLENBQUM7SUFDdEQsSUFBSSxPQUFPLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO1NBQU0sSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDbkYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBV0QsTUFBTSxVQUFVLG1CQUFtQixDQUFJLE9BQXNCLEVBQUUsU0FBaUIsRUFBRSxPQUFZLEVBQUUsTUFBcUI7SUFDbkgsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQztRQUFFLE9BQU8sTUFBTSxDQUFDO0lBQzNDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxZQUFZLENBQUM7SUFDdEQsSUFBSSxZQUFZLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQ25ELE9BQU8sWUFBaUIsQ0FBQztJQUMzQixDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQVVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxPQUFzQixFQUFFLFNBQWlCLEVBQUUsTUFBMEI7SUFDdkcsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQztRQUFFLE9BQU8sTUFBTSxDQUFDO0lBQzNDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxZQUFZLENBQUM7SUFDdEQsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLElBQUksWUFBWSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzFELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7U0FBTSxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsRSxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBdHRyaWJ1dGUgVXRpbGl0eVxuICpcbiAqIEBmaWxlICAgICAgICAgIGF0dHJpYnV0ZS51dGlsXG4gKiBAZGVzY3JpcHRpb24gICBDb250YWlucyB2YXJpb3VzIHV0aWxpdHkgZnVuY3Rpb25zIHBlcnRhaW5pbmcgdG8gYXR0cmlidXRlIGhhbmRsaW5nXG4gKiBAYXV0aG9yICAgICAgICBKYWNxdWVzIENvZXR6ZWVcbiAqIEBzaW5jZSAgICAgICAgIDIwMjMgLSAxMSAtIDA4XG4gKi9cblxuaW1wb3J0IHR5cGUgeyBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEBuYW1lICAgICAgICAgIGNoZWNrVHJ1dGhBdHRyaWJ1dGVcbiAqIEBkZXNjcmlwdGlvbiAgIENoZWNrIHdoZXRoZXIgYW4gYXR0cmlidXRlIGlzIGVpdGhlciBqdXN0IGF2YWlsYWJsZSBvciBzcGVjaWZpY2FsbHkgc2V0IHRvIGJvb2xlYW4gdmFsdWVcbiAqIEBwYXJhbSAgICAgICAgIHtTaW1wbGVDaGFuZ2VzfSBjaGFuZ2VzXG4gKiBAcGFyYW0gICAgICAgICB7c3RyaW5nfSBhdHRyaWJ1dGVcbiAqIEBwYXJhbSAgICAgICAgIHtib29sZWFufSBjdXJWYWxcbiAqIEByZXR1cm5zICAgICAgIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tUcnV0aEF0dHJpYnV0ZShjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzLCBhdHRyaWJ1dGU6IHN0cmluZywgY3VyVmFsOiBib29sZWFuKTogYm9vbGVhbiB7XG4gIGlmICghKGF0dHJpYnV0ZSBpbiBjaGFuZ2VzKSkgcmV0dXJuIGN1clZhbDtcbiAgY29uc3QgdmFsdWVDaGFuZ2VkID0gY2hhbmdlc1thdHRyaWJ1dGVdPy5jdXJyZW50VmFsdWU7XG4gIGlmICh0eXBlb2YgdmFsdWVDaGFuZ2VkID09PSAnYm9vbGVhbicpIHtcbiAgICByZXR1cm4gdmFsdWVDaGFuZ2VkO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZUNoYW5nZWQgPT09ICdzdHJpbmcnICYmIFsndHJ1ZScsICcnXS5pbmNsdWRlcyh2YWx1ZUNoYW5nZWQpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBAbmFtZSAgICAgICAgICB2YWxpZGF0ZVN0cmluZ1ZhbHVlXG4gKiBAZGVzY3JpcHRpb24gICBWYWxpZGF0ZSB3aGV0aGVyIGFuIGF0dHJpYnV0ZSBpcyBzZXQgYW5kIGNvbnRhaW5zIGEgc3BlY2lmaWMgc3RyaW5nIG9wdGlvblxuICogQHBhcmFtICAgICAgICAge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXNcbiAqIEBwYXJhbSAgICAgICAgIHtzdHJpbmd9IGF0dHJpYnV0ZVxuICogQHBhcmFtICAgICAgICAge3N0cmluZ1tdfSBvcHRpb25zXG4gKiBAcGFyYW0gICAgICAgICB7VCB8IHVuZGVmaW5lZH0gY3VyVmFsXG4gKiBAcmV0dXJucyAgICAgICB7c3RyaW5nIHwgdW5kZWZpbmVkfSBSZXR1cm5zIGNvcnJlY3Qgc3RyaW5nIHZhbHVlIG9yIHVuZGVmaW5lZCBpZiBlaXRoZXIgbm90IGF2YWlsYWJsZSBvciBub3QgaW4gbGlzdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTdHJpbmdWYWx1ZTxUPihjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzLCBhdHRyaWJ1dGU6IHN0cmluZywgb3B0aW9uczogVFtdLCBjdXJWYWw6IFQgfCB1bmRlZmluZWQpOiBUIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCEoYXR0cmlidXRlIGluIGNoYW5nZXMpKSByZXR1cm4gY3VyVmFsO1xuICBjb25zdCB2YWx1ZUNoYW5nZWQgPSBjaGFuZ2VzW2F0dHJpYnV0ZV0/LmN1cnJlbnRWYWx1ZTtcbiAgaWYgKHZhbHVlQ2hhbmdlZCAmJiBvcHRpb25zLmluY2x1ZGVzKHZhbHVlQ2hhbmdlZCkpIHtcbiAgICByZXR1cm4gdmFsdWVDaGFuZ2VkIGFzIFQ7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQG5hbWUgICAgICAgICAgdmFsaWRhdGVOdW1iZXJWYWx1ZVxuICogQGRlc2NyaXB0aW9uICAgVmFsaWRhdGUgd2hldGhlciBhbiBhdHRyaWJ1dGUgaXMgc2V0IGFuZCBjb250YWlucyBhIHNwZWNpZmljIG51bWJlciB2YWx1ZVxuICogQHBhcmFtICAgICAgICAge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXNcbiAqIEBwYXJhbSAgICAgICAgIHtzdHJpbmd9IGF0dHJpYnV0ZVxuICogQHBhcmFtICAgICAgICAge251bWJlciB8IHVuZGVmaW5lZH0gY3VyVmFsXG4gKiBAcmV0dXJucyAgICAgICB7bnVtYmVyIHwgdW5kZWZpbmVkfSBSZXR1cm5zIGNvcnJlY3QgbnVtYmVyIHZhbHVlIG9yIHVuZGVmaW5lZCBpZiBlaXRoZXIgbm90IGF2YWlsYWJsZSBvciBub3QgYSBudW1iZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTnVtYmVyVmFsdWUoY2hhbmdlczogU2ltcGxlQ2hhbmdlcywgYXR0cmlidXRlOiBzdHJpbmcsIGN1clZhbDogbnVtYmVyIHwgdW5kZWZpbmVkKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCEoYXR0cmlidXRlIGluIGNoYW5nZXMpKSByZXR1cm4gY3VyVmFsO1xuICBjb25zdCB2YWx1ZUNoYW5nZWQgPSBjaGFuZ2VzW2F0dHJpYnV0ZV0/LmN1cnJlbnRWYWx1ZTtcbiAgaWYgKHR5cGVvZiB2YWx1ZUNoYW5nZWQgPT09ICdudW1iZXInICYmIHZhbHVlQ2hhbmdlZCA+PSAwKSB7XG4gICAgcmV0dXJuIHZhbHVlQ2hhbmdlZDtcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWVDaGFuZ2VkID09PSAnc3RyaW5nJyAmJiArdmFsdWVDaGFuZ2VkID49IDApIHtcbiAgICByZXR1cm4gK3ZhbHVlQ2hhbmdlZDtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuIl19
@@ -1,169 +0,0 @@
1
- import { AbstractControl } from '@angular/forms';
2
- import passwordValidator from 'password-validator';
3
- import dayjs from 'dayjs';
4
- import customParseFormat from 'dayjs/plugin/customParseFormat';
5
- dayjs.extend(customParseFormat);
6
- export class CFPFormValidators {
7
- static compareTo(controlNameToCheckAgainst) {
8
- return (control) => {
9
- const controlToCheckTo = control?.parent?.get(controlNameToCheckAgainst) || null;
10
- if (!controlToCheckTo?.value)
11
- return { errorMessage: `Password Required` };
12
- else if (!control.value)
13
- return { errorMessage: `Password confirmation required` };
14
- else if (control.value && control?.value !== controlToCheckTo?.value)
15
- return { errorMessage: `Passwords do not match` };
16
- return null;
17
- };
18
- }
19
- static asPassword() {
20
- return (control) => {
21
- const schema = new passwordValidator();
22
- schema
23
- .is()
24
- .min(8, 'Minimum of 8 characters')
25
- .is()
26
- .max(30, 'Maximum of 30 characters')
27
- .has()
28
- .uppercase(undefined, 'At least one UPPERCASE character')
29
- .has()
30
- .lowercase(undefined, 'At least one lowercase character')
31
- .has()
32
- .digits(undefined, 'At least one digit')
33
- .has()
34
- .symbols(undefined, 'At least one special character');
35
- const inValid = schema.validate(control.value, { details: true });
36
- const returnResponse = {};
37
- inValid.forEach((error) => {
38
- returnResponse['password-' + error.validation] = error.message;
39
- });
40
- return inValid.length ? returnResponse : null;
41
- };
42
- }
43
- static asEmail(canBeEmpty) {
44
- return (control) => {
45
- let setErrors = null;
46
- const emailRegEx = new RegExp('^[\\w-.]+@[\\w-]+\\.[\\w]+');
47
- if (canBeEmpty && (control.value === null || control.value === '')) {
48
- return null;
49
- }
50
- if (!(control.value && emailRegEx.test(control.value) && typeof control.value === 'string' && !control.value.includes(' '))) {
51
- setErrors = { errorMessage: `Not a valid email address` };
52
- }
53
- return setErrors;
54
- };
55
- }
56
- static isIn(list) {
57
- return (control) => {
58
- if (!list.includes(control.value))
59
- return { errorMessage: 'Control value not part of eligible values' };
60
- return null;
61
- };
62
- }
63
- static isSAIDNumber(canBeEmpty) {
64
- return (control) => {
65
- const validateDate = () => {
66
- if (typeof control.value !== 'string' || control.value.length < 6)
67
- return false;
68
- const month = control.value.slice(2, 4);
69
- const day = control.value.slice(4, 6);
70
- if (+month < 0 && +month > 13)
71
- return false;
72
- if (+day < 0 && +day > 31)
73
- return false;
74
- if (!dayjs(control.value.slice(0, 6), 'YYMMDD', true).isValid())
75
- return false;
76
- return true;
77
- };
78
- const checksum = () => {
79
- if (typeof control.value !== 'string' || control.value.length !== 13)
80
- return false;
81
- let nSum = 0;
82
- let isSecond = false;
83
- for (let i = control.value.length - 1; i >= 0; i--) {
84
- const val = control.value[i];
85
- if (!val)
86
- return false;
87
- let d = val.charCodeAt(0) - '0'.charCodeAt(0);
88
- if (isSecond == true)
89
- d = d * 2;
90
- nSum += Math.floor(d / 10);
91
- nSum += d % 10;
92
- isSecond = !isSecond;
93
- }
94
- return nSum % 10 == 0;
95
- };
96
- let error = null;
97
- if (canBeEmpty && (!control.value || control.value?.length === 0))
98
- return null;
99
- else if (typeof control.value !== 'string')
100
- error = 'Invalid RSA ID Number';
101
- else if (control.value.length !== 13)
102
- error = `Length required: ${13 - control.value.length}`;
103
- else if (!validateDate())
104
- error = `Invalid RSA ID number`;
105
- else if (!['0', '1'].includes(control.value.slice(10, 11)))
106
- error = `Invalid RSA ID number`;
107
- else if (!checksum())
108
- error = `Invalid RSA ID number`;
109
- return error ? { errorMessage: error } : null;
110
- };
111
- }
112
- static isValidDate(minDate, maxDate) {
113
- return (control) => {
114
- if (!dayjs(new Date(control.value)).isValid())
115
- return { errorMessage: 'The given date is not valid' };
116
- if ((minDate && dayjs(new Date(control.value)).isBefore(minDate)) || (maxDate && dayjs(new Date(control.value)).isAfter(maxDate)))
117
- return { errorMessage: 'The given date is not within the valid parameters' };
118
- return null;
119
- };
120
- }
121
- static isValidCellNumber(dialCodes) {
122
- return (control) => {
123
- const value = control.value;
124
- if (!value)
125
- return null;
126
- if (dialCodes) {
127
- if (!value.startsWith('+'))
128
- return { errorMessage: `Please start your number with a '+' followed by a valid dial code for eg. +${dialCodes[0]}` };
129
- if (!dialCodes.some((code) => value.slice(1).startsWith(code))) {
130
- return { errorMessage: 'No valid dial code received' };
131
- }
132
- if (dialCodes.some((code) => value.slice(1).startsWith(code + '0')))
133
- return { errorMessage: `Please make sure that there are no 0's behind your dial code for eg. +${dialCodes[0]}0` };
134
- if (value.slice(dialCodes.length ? 1 : 0).match(/[^0-9]/g))
135
- return { errorMessage: 'No special characters or letters permitted in number' };
136
- if (value.length < 12)
137
- return { errorMessage: `Length required ${12 - value.length}` };
138
- if (value.slice(1).startsWith('27') && value.length > 12)
139
- return { errorMessage: `Length exceeded by ${value.length - 12}` };
140
- }
141
- else {
142
- if (value.startsWith('00'))
143
- return { errorMessage: 'Number may not start with "00"' };
144
- if (value.startsWith('+0'))
145
- return { errorMessage: 'Number may not start with "+0"' };
146
- if (value.startsWith('+270'))
147
- return { errorMessage: 'Number may not start with "+270"' };
148
- if (!value.startsWith('0') && !value.startsWith('+'))
149
- return { errorMessage: 'Either start with "0" or "+"' };
150
- if (value.startsWith('0')) {
151
- if (value.match(/[^0-9]/g))
152
- return { errorMessage: 'No special characters or letters permitted in number' };
153
- if (value.length < 10)
154
- return { errorMessage: `Length required: ${10 - value.length}` };
155
- if (value.length > 10)
156
- return { errorMessage: `Length exceeded by ${value.length - 10}` };
157
- }
158
- if (value.startsWith('+')) {
159
- if (value.slice(1).match(/[^0-9]/g))
160
- return { errorMessage: 'No special characters or letters permitted in number' };
161
- if (value.length < 11)
162
- return { errorMessage: `Length required ${11 - value.length}` };
163
- }
164
- }
165
- return null;
166
- };
167
- }
168
- }
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0b3JzLXV0aWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJlZmlyc3QvbGlicmFyeS9zcmMvbGliL3V0aWxzL2Zvcm0tdmFsaWRhdG9ycy11dGlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLGlCQUFpQixNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUloQyxNQUFNLE9BQU8saUJBQWlCO0lBUTVCLE1BQU0sQ0FBQyxTQUFTLENBQUMseUJBQWlDO1FBQ2hELE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1lBRTNELE1BQU0sZ0JBQWdCLEdBQTJCLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLHlCQUF5QixDQUFDLElBQUksSUFBSSxDQUFDO1lBR3pHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLO2dCQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztpQkFFdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO2dCQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0NBQWdDLEVBQUUsQ0FBQztpQkFFOUUsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sRUFBRSxLQUFLLEtBQUssZ0JBQWdCLEVBQUUsS0FBSztnQkFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFFLENBQUM7WUFFeEgsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7SUFDSixDQUFDO0lBUUQsTUFBTSxDQUFDLFVBQVU7UUFDZixPQUFPLENBQUMsT0FBd0IsRUFBMkIs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QUFFLENBQUM7Z0JBQ3pGLENBQUM7WUFDSCxDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZvcm0gdmFsaWRhdG9yc1xuICpcbiAqIEBmaWxlICAgICAgICAgIGZvcm0tdmFsaWRhdG9yc1xuICogQGRlc2NyaXB0aW9uICAgVmFyaW91cyBmb3JtIHZhbGlkYXRvcnNcbiAqIEBhdXRob3IgICAgICAgIEphY3F1ZXMgQ29ldHplZVxuICogQHNpbmNlICAgICAgICAgMjAyMiAtIDAxIC0gMjBcbiAqIEB1c2FnZSAgICAgICAgIERpc3BsYXkgXCJlcnJvck1lc3NhZ2VcIiBrZXkgdmFsdWUgYXMgdmFsaWRhdG9yIHJlc3BvbnNlIG1lc3NhZ2VcbiAqL1xuXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgcGFzc3dvcmRWYWxpZGF0b3IgZnJvbSAncGFzc3dvcmQtdmFsaWRhdG9yJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgY3VzdG9tUGFyc2VGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2N1c3RvbVBhcnNlRm9ybWF0JztcbmRheWpzLmV4dGVuZChjdXN0b21QYXJzZUZvcm1hdCk7XG4vLy0tLSBJbnRlcmZhY2VzXG5pbXBvcnQgdHlwZSB7IFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgY2xhc3MgQ0ZQRm9ybVZhbGlkYXRvcnMge1xuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIGNoZWNrUFNXUmV0eXBlXG4gICAqIEBkZXNjcmlwdGlvbiAgIENoZWNrIGlmIHBhc3N3b3JkcyBtYXRjaFxuICAgKiBAcGFyYW0gICAgICAgICB7c3RyaW5nfSBjb250cm9sTmFtZVRvQ2hlY2tBZ2FpbnN0XG4gICAqIEByZXR1cm5zICAgICAgIHtWYWxpZGF0b3JGbn1cbiAgICogQHVzYWdlICAgICAgICAgRm9ybVZhbGlkYXRvcnMuY29tcGFyZVRvKCdwYXNzd29yZCcpXG4gICAqL1xuICBzdGF0aWMgY29tcGFyZVRvKGNvbnRyb2xOYW1lVG9DaGVja0FnYWluc3Q6IHN0cmluZyk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgIC8vLS0tIENvbXBhcmUgY29udHJvbHNcbiAgICAgIGNvbnN0IGNvbnRyb2xUb0NoZWNrVG86IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBjb250cm9sPy5wYXJlbnQ/LmdldChjb250cm9sTmFtZVRvQ2hlY2tBZ2FpbnN0KSB8fCBudWxsO1xuXG4gICAgICAvLy0tLSBDaGVjayBwcmltYXJ5IGNvbnRyb2wgdmFsdWVcbiAgICAgIGlmICghY29udHJvbFRvQ2hlY2tUbz8udmFsdWUpIHJldHVybiB7IGVycm9yTWVzc2FnZTogYFBhc3N3b3JkIFJlcXVpcmVkYCB9O1xuICAgICAgLy8tLS0gQ2hlY2sgc2Vjb25kYXJ5IGNvbnRyb2wgdmFsdWVcbiAgICAgIGVsc2UgaWYgKCFjb250cm9sLnZhbHVlKSByZXR1cm4geyBlcnJvck1lc3NhZ2U6IGBQYXNzd29yZCBjb25maXJtYXRpb24gcmVxdWlyZWRgIH07XG4gICAgICAvLy0tLSBDb21wYXJlIGNvbnRyb2xzXG4gICAgICBlbHNlIGlmIChjb250cm9sLnZhbHVlICYmIGNvbnRyb2w/LnZhbHVlICE9PSBjb250cm9sVG9DaGVja1RvPy52YWx1ZSkgcmV0dXJuIHsgZXJyb3JNZXNzYWdlOiBgUGFzc3dvcmRzIGRvIG5vdCBtYXRjaGAgfTtcblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfVxuXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQG5hbWUgICAgICAgICAgYXNQYXNzd29yZFxuICAgKiBAZGVzY3JpcHRpb24gICBWYWxpZGF0ZSBjb250cm9sIGFzIHBhc3N3b3JkXG4gICAqIEByZXR1cm5zICAgICAgIHtWYWxpZGF0b3JGbn1cbiAgICogQHVzYWdlICAgICAgICAgRm9ybVZhbGlkYXRvcnMuYXNQYXNzd29yZCgpXG4gICAqL1xuICBzdGF0aWMgYXNQYXNzd29yZCgpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBjb25zdCBzY2hlbWEgPSBuZXcgcGFzc3dvcmRWYWxpZGF0b3IoKTtcblxuICAgICAgLy8tLS0gU2V0dXAgcGFzc3dvcmQgcmVxdWlyZW1lbnRzXG4gICAgICBzY2hlbWFcbiAgICAgICAgLy8tLS0gTWluaW11bSBsZW5ndGggOFxuICAgICAgICAuaXMoKVxuICAgICAgICAubWluKDgsICdNaW5pbXVtIG9mIDggY2hhcmFjdGVycycpXG4gICAgICAgIC8vLS0tIE1heGltdW0gbGVuZ3RoIDUwXG4gICAgICAgIC5pcygpXG4gICAgICAgIC5tYXgoMzAsICdNYXhpbXVtIG9mIDMwIGNoYXJhY3RlcnMnKVxuICAgICAgICAvLy0tLSBNdXN0IGhhdmUgdXBwZXJjYXNlIGxldHRlcnNcbiAgICAgICAgLmhhcygpXG4gICAgICAgIC51cHBlcmNhc2UodW5kZWZpbmVkLCAnQXQgbGVhc3Qgb25lIFVQUEVSQ0FTRSBjaGFyYWN0ZXInKVxuICAgICAgICAvLy0tLSBNdXN0IGhhdmUgbG93ZXJjYXNlIGxldHRlcnNcbiAgICAgICAgLmhhcygpXG4gICAgICAgIC5sb3dlcmNhc2UodW5kZWZpbmVkLCAnQXQgbGVhc3Qgb25lIGxvd2VyY2FzZSBjaGFyYWN0ZXInKVxuICAgICAgICAvLy0tLSBNdXN0IGhhdmUgYXQgbGVhc3QgMSBkaWdpdHNcbiAgICAgICAgLmhhcygpXG4gICAgICAgIC5kaWdpdHModW5kZWZpbmVkLCAnQXQgbGVhc3Qgb25lIGRpZ2l0JylcbiAgICAgICAgLy8tLS0gU3BlY2lhbCBjaGFyYWN0ZXJzXG4gICAgICAgIC5oYXMoKVxuICAgICAgICAuc3ltYm9scyh1bmRlZmluZWQsICdBdCBsZWFzdCBvbmUgc3BlY2lhbCBjaGFyYWN0ZXInKTtcblxuICAgICAgLy8tLS0gVmFsaWRhdGUgc3RyaW5nXG4gICAgICBjb25zdCBpblZhbGlkID0gc2NoZW1hLnZhbGlkYXRlKGNvbnRyb2wudmFsdWUsIHsgZGV0YWlsczogdHJ1ZSB9KSBhcyB7XG4gICAgICAgIHZhbGlkYXRpb246IHN0cmluZztcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgICAgICBhcmd1bWVudHM/OiBudW1iZXI7XG4gICAgICB9W107XG5cbiAgICAgIGNvbnN0IHJldHVyblJlc3BvbnNlOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSA9IHt9O1xuICAgICAgaW5WYWxpZC5mb3JFYWNoKChlcnJvcikgPT4ge1xuICAgICAgICByZXR1cm5SZXNwb25zZVsncGFzc3dvcmQtJyArIGVycm9yLnZhbGlkYXRpb25dID0gZXJyb3IubWVzc2FnZTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGluVmFsaWQubGVuZ3RoID8gcmV0dXJuUmVzcG9uc2UgOiBudWxsO1xuICAgIH07XG4gIH1cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIGFzRW1haWxcbiAgICogQGRlc2NyaXB0aW9uICAgVmFsaWRhdGUgY29udHJvbCBhcyBlbWFpbFxuICAgKiBAcGFyYW0gICAgICAgICB7dHJ1ZX0gY2FuQmVFbXB0eVxuICAgKiBAcmV0dXJucyAgICAgICB7VmFsaWRhdG9yRm59XG4gICAqIEB1c2FnZSAgICAgICAgIEZvcm1WYWxpZGF0b3JzLmFzRW1haWwodHJ1ZT8pXG4gICAqL1xuICBzdGF0aWMgYXNFbWFpbChjYW5CZUVtcHR5PzogdHJ1ZSk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgIGxldCBzZXRFcnJvcnMgPSBudWxsO1xuICAgICAgY29uc3QgZW1haWxSZWdFeCA9IG5ldyBSZWdFeHAoJ15bXFxcXHctLl0rQFtcXFxcdy1dK1xcXFwuW1xcXFx3XSsnKTtcblxuICAgICAgLy8tLS0gQ2hlY2sgaWYgZW1haWwgY2FuIGJlIGVtcHR5XG4gICAgICBpZiAoY2FuQmVFbXB0eSAmJiAoY29udHJvbC52YWx1ZSA9PT0gbnVsbCB8fCBjb250cm9sLnZhbHVlID09PSAnJykpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIC8vLS0tIFRlc3QgUmVnRXhwXG4gICAgICBpZiAoIShjb250cm9sLnZhbHVlICYmIGVtYWlsUmVnRXgudGVzdChjb250cm9sLnZhbHVlKSAmJiB0eXBlb2YgY29udHJvbC52YWx1ZSA9PT0gJ3N0cmluZycgJiYgIWNvbnRyb2wudmFsdWUuaW5jbHVkZXMoJyAnKSkpIHtcbiAgICAgICAgc2V0RXJyb3JzID0geyBlcnJvck1lc3NhZ2U6IGBOb3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzYCB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc2V0RXJyb3JzO1xuICAgIH07XG4gIH1cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIGlzSW5cbiAgICogQGRlc2NyaXB0aW9uICAgVmFsaWRhdGUgY29udHJvbCB2YWx1ZSBpcyBwYXJ0IG9mIGEgZ2l2ZW4gbGlzdFxuICAgKiBAcGFyYW0gICAgICAgICB7KHN0cmluZyB8IG51bWJlcilbXX0gbGlzdFxuICAgKiBAcmV0dXJucyAgICAgICB7VmFsaWRhdG9yRm59XG4gICAqIEB1c2FnZSAgICAgICAgIEZvcm1WYWxpZGF0b3JzLmlzSW4oKVxuICAgKi9cbiAgc3RhdGljIGlzSW4obGlzdDogKHN0cmluZyB8IG51bWJlcilbXSk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgIGlmICghbGlzdC5pbmNsdWRlcyhjb250cm9sLnZhbHVlKSkgcmV0dXJuIHsgZXJyb3JNZXNzYWdlOiAnQ29udHJvbCB2YWx1ZSBub3QgcGFydCBvZiBlbGlnaWJsZSB2YWx1ZXMnIH07XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBAbmFtZSAgICAgICAgICBpc1NBSUROdW1iZXJcbiAgICogQGRlc2NyaXB0aW9uICAgVmFsaWRhdGUgY29udHJvbCB2YWx1ZSBpcyBhIHZhbGlkIFJTQSBJRCBOdW1iZXJcbiAgICogQHBhcmFtICAgICAgICAge3RydWV9IGNhbkJlRW1wdHlcbiAgICogQHJldHVybnMgICAgICAge1ZhbGlkYXRvckZufVxuICAgKiBAdXNhZ2UgICAgICAgICBGb3JtVmFsaWRhdG9ycy5pc1NBSUROdW1iZXIodHJ1ZT8pXG4gICAqL1xuICBzdGF0aWMgaXNTQUlETnVtYmVyKGNhbkJlRW1wdHk/OiB0cnVlKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdGVEYXRlID0gKCk6IGJvb2xlYW4gPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGNvbnRyb2wudmFsdWUgIT09ICdzdHJpbmcnIHx8IGNvbnRyb2wudmFsdWUubGVuZ3RoIDwgNikgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjb25zdCBtb250aCA9IGNvbnRyb2wudmFsdWUuc2xpY2UoMiwgNCk7XG4gICAgICAgIGNvbnN0IGRheSA9IGNvbnRyb2wudmFsdWUuc2xpY2UoNCwgNik7XG4gICAgICAgIGlmICgrbW9udGggPCAwICYmICttb250aCA+IDEzKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmICgrZGF5IDwgMCAmJiArZGF5ID4gMzEpIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKCFkYXlqcyhjb250cm9sLnZhbHVlLnNsaWNlKDAsIDYpLCAnWVlNTUREJywgdHJ1ZSkuaXNWYWxpZCgpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfTtcblxuICAgICAgY29uc3QgY2hlY2tzdW0gPSAoKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgY29udHJvbC52YWx1ZSAhPT0gJ3N0cmluZycgfHwgY29udHJvbC52YWx1ZS5sZW5ndGggIT09IDEzKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGxldCBuU3VtID0gMDsgLy8tLS0gVG90YWwgc3VtIG9mIGFsbCB0aGUgdmFsdWVzXG4gICAgICAgIGxldCBpc1NlY29uZCA9IGZhbHNlOyAvLy0tLSBUbyBkb3VibGUgZXZlcnkgb3RoZXIgdmFsdWVcbiAgICAgICAgLy8tLS0gU3RhcnQgZnJvbSB0aGUgZW5kXG4gICAgICAgIGZvciAobGV0IGkgPSBjb250cm9sLnZhbHVlLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgY29uc3QgdmFsOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBjb250cm9sLnZhbHVlW2ldO1xuICAgICAgICAgIGlmICghdmFsKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgLy8tLS0gR2V0IG51bWVyaWNhbCB2YWx1ZSBmcm9tIGFzY2lpIHN0cmluZ1xuICAgICAgICAgIGxldCBkOiBudW1iZXIgPSB2YWwuY2hhckNvZGVBdCgwKSAtICcwJy5jaGFyQ29kZUF0KDApO1xuICAgICAgICAgIC8vLS0tIERvdWJsZSBldmVyeSBvdGhlciB2YWx1ZVxuICAgICAgICAgIGlmIChpc1NlY29uZCA9PSB0cnVlKSBkID0gZCAqIDI7XG4gICAgICAgICAgLy8tLS0gU3VtIHRoZSB0b3RhbCBvZiB0aGUgZG91YmxlZCB2YWx1ZXMgaWYgYXZhaWxhYmxlXG4gICAgICAgICAgblN1bSArPSBNYXRoLmZsb29yKGQgLyAxMCk7XG4gICAgICAgICAgblN1bSArPSBkICUgMTA7XG4gICAgICAgICAgLy8tLS0gSW52ZXJzZSBzZWNvbmQgdG8gZGV0ZXJtaW5lIGV2ZXJ5IG90aGVyIGluZGV4IHZhbHVlXG4gICAgICAgICAgaXNTZWNvbmQgPSAhaXNTZWNvbmQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8tLS0gUmV0dXJuIHRoZSBtb2R1bHVzIDEwIG9mIHRoZSBzdW1tYXRpb25cbiAgICAgICAgcmV0dXJuIG5TdW0gJSAxMCA9PSAwO1xuICAgICAgfTtcblxuICAgICAgbGV0IGVycm9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICAgIGlmIChjYW5CZUVtcHR5ICYmICghY29udHJvbC52YWx1ZSB8fCBjb250cm9sLnZhbHVlPy5sZW5ndGggPT09IDApKSByZXR1cm4gbnVsbDtcbiAgICAgIC8vLS0tIHN0cmluZ1xuICAgICAgZWxzZSBpZiAodHlwZW9mIGNvbnRyb2wudmFsdWUgIT09ICdzdHJpbmcnKSBlcnJvciA9ICdJbnZhbGlkIFJTQSBJRCBOdW1iZXInO1xuICAgICAgLy8tLS0gTGVuZ3RoID0gMTNcbiAgICAgIGVsc2UgaWYgKGNvbnRyb2wudmFsdWUubGVuZ3RoICE9PSAxMykgZXJyb3IgPSBgTGVuZ3RoIHJlcXVpcmVkOiAkezEzIC0gY29udHJvbC52YWx1ZS5sZW5ndGh9YDtcbiAgICAgIC8vLS0tIFZhbGlkYXRlIGRhdGVcbiAgICAgIGVsc2UgaWYgKCF2YWxpZGF0ZURhdGUoKSlcbiAgICAgICAgZXJyb3IgPSBgSW52YWxpZCBSU0EgSUQgbnVtYmVyYDsgLy8tLS0gYEludmFsaWQgZGF0ZSBvZiBiaXJ0aGBcbiAgICAgIC8vLS0tIENpdGl6ZW5zaGlwXG4gICAgICBlbHNlIGlmICghWycwJywgJzEnXS5pbmNsdWRlcyhjb250cm9sLnZhbHVlLnNsaWNlKDEwLCAxMSkpKVxuICAgICAgICBlcnJvciA9IGBJbnZhbGlkIFJTQSBJRCBudW1iZXJgOyAvLy0tLSBgSW52YWxpZCBjaXRpemVuc2hpcCB2YWx1ZWBcbiAgICAgIC8vLS0tIENoZWNrc3VtXG4gICAgICBlbHNlIGlmICghY2hlY2tzdW0oKSkgZXJyb3IgPSBgSW52YWxpZCBSU0EgSUQgbnVtYmVyYDsgLy8tLS0gYEludmFsaWQgUlNBIElEIG51bWJlciBjaGVja3N1bWBcblxuICAgICAgcmV0dXJuIGVycm9yID8geyBlcnJvck1lc3NhZ2U6IGVycm9yIH0gOiBudWxsO1xuICAgIH07XG4gIH1cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIGlzVmFsaWREYXRlXG4gICAqIEBkZXNjcmlwdGlvbiAgIFZhbGlkYXRlIGNvbnRyb2wgdmFsdWUgaXMgcGFydCBvZiBhIGdpdmVuIGxpc3RcbiAgICogQHBhcmFtICAgICAgICAge3N0cmluZyB8IG51bGx9IG1pbkRhdGVcbiAgICogQHBhcmFtICAgICAgICAge3N0cmluZyB8IG51bGx9IG1heERhdGVcbiAgICogQHJldHVybnMgICAgICAge1ZhbGlkYXRvckZufVxuICAgKiBAdXNhZ2UgICAgICAgICBGb3JtVmFsaWRhdG9ycy5pc1ZhbGlkRGF0ZSgnMTk5OS0wMS0wMScsICcyMDIwLTAxLTAxJylcbiAgICovXG4gIHN0YXRpYyBpc1ZhbGlkRGF0ZShtaW5EYXRlOiBzdHJpbmcgfCBudWxsLCBtYXhEYXRlPzogc3RyaW5nIHwgbnVsbCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgIC8vLS0tIENoZWNrIHRvIHNlZSBpZiBhIGludmFsaWQgZGF0ZSBpcyByZWNlaXZlZCBsaWtlICgzMSBGZWIpXG4gICAgICBpZiAoIWRheWpzKG5ldyBEYXRlKGNvbnRyb2wudmFsdWUpKS5pc1ZhbGlkKCkpIHJldHVybiB7IGVycm9yTWVzc2FnZTogJ1RoZSBnaXZlbiBkYXRlIGlzIG5vdCB2YWxpZCcgfTtcbiAgICAgIC8vLS0tIENoZWNrIGRhdGUgaXMgbm90IGxlc3MgdGhhbiBtaW5EYXRlIGFuZCBkYXRlIGRvZXNuJ3QgZXhjZWVkIG1heERhdGVcbiAgICAgIGlmICgobWluRGF0ZSAmJiBkYXlqcyhuZXcgRGF0ZShjb250cm9sLnZhbHVlKSkuaXNCZWZvcmUobWluRGF0ZSkpIHx8IChtYXhEYXRlICYmIGRheWpzKG5ldyBEYXRlKGNvbnRyb2wudmFsdWUpKS5pc0FmdGVyKG1heERhdGUpKSlcbiAgICAgICAgcmV0dXJuIHsgZXJyb3JNZXNzYWdlOiAnVGhlIGdpdmVuIGRhdGUgaXMgbm90IHdpdGhpbiB0aGUgdmFsaWQgcGFyYW1ldGVycycgfTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH1cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEBuYW1lICAgICAgICAgIGlzVmFsaWRDZWxsTnVtYmVyXG4gICAqIEBkZXNjcmlwdGlvbiAgIFZhbGlkYXRlIGNvbnRyb2wgdmFsdWUgaXMgYSB2YWxpZCBjZWxscGhvbmUgbnVtYmVyIGFuZCBjb250YWluaW5nIGEgdmFsaWQgZGlhbCBjb2RlXG4gICAqIEBwYXJhbSAgICAgICAgIHtzdHJpbmdbXX0gZGlhbENvZGVzXG4gICAqIEByZXR1cm5zICAgICAgIHtWYWxpZGF0b3JGbn1cbiAgICogQHVzYWdlICAgICAgICAgRm9ybVZhbGlkYXRvcnMuaXNWYWxpZENlbGxOdW1iZXIoWycyNyddKVxuICAgKi9cbiAgc3RhdGljIGlzVmFsaWRDZWxsTnVtYmVyKGRpYWxDb2Rlcz86IHN0cmluZ1tdKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IGNvbnRyb2wudmFsdWU7XG4gICAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDtcblxuICAgICAgaWYgKGRpYWxDb2Rlcykge1xuICAgICAgICAvLy0tLSBWYWx1ZSBtdXN0IHN0YXJ0IHdpdGggYSArXG4gICAgICAgIGlmICghdmFsdWUuc3RhcnRzV2l0aCgnKycpKVxuICAgICAgICAgIHJldHVybiB7IGVycm9yTWVzc2FnZTogYFBsZWFzZSBzdGFydCB5b3VyIG51bWJlciB3aXRoIGEgJysnIGZvbGxvd2VkIGJ5IGEgdmFsaWQgZGlhbCBjb2RlIGZvciBlZy4gKyR7ZGlhbENvZGVzWzBdfWAgfTtcblxuICAgICAgICAvLy0tLSBDaGVjayB2YWxpZCBkaWFsIGNvZGVcbiAgICAgICAgaWYgKCFkaWFsQ29kZXMuc29tZSgoY29kZSkgPT4gdmFsdWUuc2xpY2UoMSkuc3RhcnRzV2l0aChjb2RlKSkpIHtcbiAgICAgICAgICByZXR1cm4geyBlcnJvck1lc3NhZ2U6ICdObyB2YWxpZCBkaWFsIGNvZGUgcmVjZWl2ZWQnIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLy0tLSBDaGVjayBubyB6ZXJvIGFmdGVyIGRpYWwgY29kZVxuICAgICAgICBpZiAoZGlhbENvZGVzLnNvbWUoKGNvZGUpID0+IHZhbHVlLnNsaWNlKDEpLnN0YXJ0c1dpdGgoY29kZSArICcwJykpKVxuICAgICAgICAgIHJldHVybiB7IGVycm9yTWVzc2FnZTogYFBsZWFzZSBtYWtlIHN1cmUgdGhhdCB0aGVyZSBhcmUgbm8gMCdzIGJlaGluZCB5b3VyIGRpYWwgY29kZSBmb3IgZWcuICske2RpYWxDb2Rlc1swXX0wYCB9O1xuXG4gICAgICAgIC8vLS0tIENoZWNrIHZhbHVlIGRvZXNuJ3QgY29udGFpbiBzcGVjaWFsIGNoYXJhY3RlcnMgb3IgbGV0dGVyc1xuICAgICAgICBpZiAodmFsdWUuc2xpY2UoZGlhbENvZGVzLmxlbmd0aCA/IDEgOiAwKS5tYXRjaCgvW14wLTldL2cpKSByZXR1cm4geyBlcnJvck1lc3NhZ2U6ICdObyBzcGVjaWFsIGNoYXJhY3RlcnMgb3IgbGV0dGVycyBwZXJtaXR0ZWQgaW4gbnVtYmVyJyB9O1xuXG4gICAgICAgIC8vLS0tIE1pbmltdW0gbGVuZ3RoIG9mIDEyXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPCAxMikgcmV0dXJuIHsgZXJyb3JNZXNzYWdlOiBgTGVuZ3RoIHJlcXVpcmVkICR7MTIgLSB2YWx1ZS5sZW5ndGh9YCB9O1xuXG4gICAgICAgIC8vLS0tIE1heCBsZW5ndGggYmFzZWQgb24gZGlhbCBjb2RlXG4gICAgICAgIGlmICh2YWx1ZS5zbGljZSgxKS5zdGFydHNXaXRoKCcyNycpICYmIHZhbHVlLmxlbmd0aCA+IDEyKSByZXR1cm4geyBlcnJvck1lc3NhZ2U6IGBMZW5ndGggZXhjZWVkZWQgYnkgJHt2YWx1ZS5sZW5ndGggLSAxMn1gIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLy0tLSBCZWdpbnMgd2l0aCBpbnZhbGlkIGNoYXJhY3RlcnNcbiAgICAgICAgaWYgKHZhbHVlLnN0YXJ0c1dpdGgoJzAwJykpIHJldHVybiB7IGVycm9yTWVzc2FnZTogJ051bWJlciBtYXkgbm90IHN0YXJ0IHdpdGggXCIwMFwiJyB9O1xuICAgICAgICBpZiAodmFsdWUuc3RhcnRzV2l0aCgnKzAnKSkgcmV0dXJuIHsgZXJyb3JNZXNzYWdlOiAnTnVtYmVyIG1heSBub3Qgc3RhcnQgd2l0aCBcIiswXCInIH07XG4gICAgICAgIGlmICh2YWx1ZS5zdGFydHNXaXRoKCcrMjcwJykpIHJldHVybiB7IGVycm9yTWVzc2FnZTogJ051bWJlciBtYXkgbm90IHN0YXJ0IHdpdGggXCIrMjcwXCInIH07XG4gICAgICAgIGlmICghdmFsdWUuc3RhcnRzV2l0aCgnMCcpICYmICF2YWx1ZS5zdGFydHNXaXRoKCcrJykpIHJldHVybiB7IGVycm9yTWVzc2FnZTogJ0VpdGhlciBzdGFydCB3aXRoIFwiMFwiIG9yIFwiK1wiJyB9O1xuXG4gICAgICAgIC8vLS0tIEJlZ2lucyB3aXRoIFwiMFwiXG4gICAgICAgIGlmICh2YWx1ZS5zdGFydHNXaXRoKCcwJykpIHtcbiAgICAgICAgICBpZiAodmFsdWUubWF0Y2goL1teMC05XS9nKSkgcmV0dXJuIHsgZXJyb3JNZXNzYWdlOiAnTm8gc3BlY2lhbCBjaGFyYWN0ZXJzIG9yIGxldHRlcnMgcGVybWl0dGVkIGluIG51bWJlcicgfTtcbiAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoIDwgMTApIHJldHVybiB7IGVycm9yTWVzc2FnZTogYExlbmd0aCByZXF1aXJlZDogJHsxMCAtIHZhbHVlLmxlbmd0aH1gIH07XG4gICAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+IDEwKSByZXR1cm4geyBlcnJvck1lc3NhZ2U6IGBMZW5ndGggZXhjZWVkZWQgYnkgJHt2YWx1ZS5sZW5ndGggLSAxMH1gIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLy0tLSBCZWdpbnMgd2l0aCBcIitcIlxuICAgICAgICBpZiAodmFsdWUuc3RhcnRzV2l0aCgnKycpKSB7XG4gICAgICAgICAgaWYgKHZhbHVlLnNsaWNlKDEpLm1hdGNoKC9bXjAtOV0vZykpIHJldHVybiB7IGVycm9yTWVzc2FnZTogJ05vIHNwZWNpYWwgY2hhcmFjdGVycyBvciBsZXR0ZXJzIHBlcm1pdHRlZCBpbiBudW1iZXInIH07XG4gICAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA8IDExKSByZXR1cm4geyBlcnJvck1lc3NhZ2U6IGBMZW5ndGggcmVxdWlyZWQgJHsxMSAtIHZhbHVlLmxlbmd0aH1gIH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfVxufVxuIl19