@syncfusion/ej2-angular-charts 20.2.44 → 20.2.45-ngcc
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/@syncfusion/ej2-angular-charts.es5.js +3979 -0
- package/@syncfusion/ej2-angular-charts.es5.js.map +1 -0
- package/@syncfusion/ej2-angular-charts.js +3757 -0
- package/@syncfusion/ej2-angular-charts.js.map +1 -0
- package/CHANGELOG.md +1839 -0
- package/dist/ej2-angular-charts.umd.js +4537 -0
- package/dist/ej2-angular-charts.umd.js.map +1 -0
- package/dist/ej2-angular-charts.umd.min.js +11 -0
- package/dist/ej2-angular-charts.umd.min.js.map +1 -0
- package/ej2-angular-charts.d.ts +11 -0
- package/ej2-angular-charts.metadata.json +1 -0
- package/package.json +15 -29
- package/postinstall/tagchange.js +18 -0
- package/schematics/collection.json +150 -0
- package/schematics/generators/chart-axes-crossing/index.d.ts +3 -0
- package/schematics/generators/chart-axes-crossing/index.js +8 -0
- package/schematics/generators/chart-axes-crossing/sample-details.d.ts +5 -0
- package/schematics/generators/chart-axes-crossing/sample-details.js +7 -0
- package/schematics/generators/chart-axes-crossing/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +3 -0
- package/schematics/generators/chart-axes-crossing/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +20 -0
- package/schematics/generators/chart-axes-crossing/schema.d.ts +3 -0
- package/schematics/generators/chart-axes-crossing/schema.js +2 -0
- package/schematics/generators/chart-axes-crossing/schema.json +125 -0
- package/schematics/generators/chart-crosshair/index.d.ts +3 -0
- package/schematics/generators/chart-crosshair/index.js +8 -0
- package/schematics/generators/chart-crosshair/sample-details.d.ts +5 -0
- package/schematics/generators/chart-crosshair/sample-details.js +7 -0
- package/schematics/generators/chart-crosshair/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +3 -0
- package/schematics/generators/chart-crosshair/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +15 -0
- package/schematics/generators/chart-crosshair/schema.d.ts +3 -0
- package/schematics/generators/chart-crosshair/schema.js +2 -0
- package/schematics/generators/chart-crosshair/schema.json +125 -0
- package/schematics/generators/chart-donut/index.d.ts +3 -0
- package/schematics/generators/chart-donut/index.js +8 -0
- package/schematics/generators/chart-donut/sample-details.d.ts +5 -0
- package/schematics/generators/chart-donut/sample-details.js +7 -0
- package/schematics/generators/chart-donut/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/chart-donut/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +16 -0
- package/schematics/generators/chart-donut/schema.d.ts +3 -0
- package/schematics/generators/chart-donut/schema.js +2 -0
- package/schematics/generators/chart-donut/schema.json +125 -0
- package/schematics/generators/chart-line/index.d.ts +3 -0
- package/schematics/generators/chart-line/index.js +8 -0
- package/schematics/generators/chart-line/sample-details.d.ts +5 -0
- package/schematics/generators/chart-line/sample-details.js +7 -0
- package/schematics/generators/chart-line/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +3 -0
- package/schematics/generators/chart-line/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +12 -0
- package/schematics/generators/chart-line/schema.d.ts +3 -0
- package/schematics/generators/chart-line/schema.js +2 -0
- package/schematics/generators/chart-line/schema.json +125 -0
- package/schematics/generators/chart-multi-level-labels/index.d.ts +3 -0
- package/schematics/generators/chart-multi-level-labels/index.js +8 -0
- package/schematics/generators/chart-multi-level-labels/sample-details.d.ts +5 -0
- package/schematics/generators/chart-multi-level-labels/sample-details.js +7 -0
- package/schematics/generators/chart-multi-level-labels/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +64 -0
- package/schematics/generators/chart-multi-level-labels/schema.d.ts +3 -0
- package/schematics/generators/chart-multi-level-labels/schema.js +2 -0
- package/schematics/generators/chart-multi-level-labels/schema.json +125 -0
- package/schematics/generators/chart-pie/index.d.ts +3 -0
- package/schematics/generators/chart-pie/index.js +8 -0
- package/schematics/generators/chart-pie/sample-details.d.ts +5 -0
- package/schematics/generators/chart-pie/sample-details.js +7 -0
- package/schematics/generators/chart-pie/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/chart-pie/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +16 -0
- package/schematics/generators/chart-pie/schema.d.ts +3 -0
- package/schematics/generators/chart-pie/schema.js +2 -0
- package/schematics/generators/chart-pie/schema.json +125 -0
- package/schematics/generators/chart-rangenavigator/index.d.ts +3 -0
- package/schematics/generators/chart-rangenavigator/index.js +8 -0
- package/schematics/generators/chart-rangenavigator/sample-details.d.ts +5 -0
- package/schematics/generators/chart-rangenavigator/sample-details.js +7 -0
- package/schematics/generators/chart-rangenavigator/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/chart-rangenavigator/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +66 -0
- package/schematics/generators/chart-rangenavigator/schema.d.ts +3 -0
- package/schematics/generators/chart-rangenavigator/schema.js +2 -0
- package/schematics/generators/chart-rangenavigator/schema.json +125 -0
- package/schematics/generators/chart-remotedata/images/__path__/__name@dasherize__/Medium-36px-spin.gif +0 -0
- package/schematics/generators/chart-remotedata/index.d.ts +3 -0
- package/schematics/generators/chart-remotedata/index.js +8 -0
- package/schematics/generators/chart-remotedata/sample-details.d.ts +5 -0
- package/schematics/generators/chart-remotedata/sample-details.js +7 -0
- package/schematics/generators/chart-remotedata/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +25 -0
- package/schematics/generators/chart-remotedata/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +15 -0
- package/schematics/generators/chart-remotedata/schema.d.ts +3 -0
- package/schematics/generators/chart-remotedata/schema.js +2 -0
- package/schematics/generators/chart-remotedata/schema.json +125 -0
- package/schematics/generators/chart-technical-indicator/index.d.ts +3 -0
- package/schematics/generators/chart-technical-indicator/index.js +8 -0
- package/schematics/generators/chart-technical-indicator/sample-details.d.ts +5 -0
- package/schematics/generators/chart-technical-indicator/sample-details.js +7 -0
- package/schematics/generators/chart-technical-indicator/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +3 -0
- package/schematics/generators/chart-technical-indicator/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +15 -0
- package/schematics/generators/chart-technical-indicator/schema.d.ts +3 -0
- package/schematics/generators/chart-technical-indicator/schema.js +2 -0
- package/schematics/generators/chart-technical-indicator/schema.json +125 -0
- package/schematics/generators/chart-trackball/index.d.ts +3 -0
- package/schematics/generators/chart-trackball/index.js +8 -0
- package/schematics/generators/chart-trackball/sample-details.d.ts +5 -0
- package/schematics/generators/chart-trackball/sample-details.js +7 -0
- package/schematics/generators/chart-trackball/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +3 -0
- package/schematics/generators/chart-trackball/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +15 -0
- package/schematics/generators/chart-trackball/schema.d.ts +3 -0
- package/schematics/generators/chart-trackball/schema.js +2 -0
- package/schematics/generators/chart-trackball/schema.json +125 -0
- package/schematics/generators/chart-zooming/index.d.ts +3 -0
- package/schematics/generators/chart-zooming/index.js +8 -0
- package/schematics/generators/chart-zooming/sample-details.d.ts +5 -0
- package/schematics/generators/chart-zooming/sample-details.js +7 -0
- package/schematics/generators/chart-zooming/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +3 -0
- package/schematics/generators/chart-zooming/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +36 -0
- package/schematics/generators/chart-zooming/schema.d.ts +3 -0
- package/schematics/generators/chart-zooming/schema.js +2 -0
- package/schematics/generators/chart-zooming/schema.json +125 -0
- package/schematics/generators/smithchart-admittance-rendering/index.d.ts +3 -0
- package/schematics/generators/smithchart-admittance-rendering/index.js +8 -0
- package/schematics/generators/smithchart-admittance-rendering/sample-details.d.ts +5 -0
- package/schematics/generators/smithchart-admittance-rendering/sample-details.js +7 -0
- package/schematics/generators/smithchart-admittance-rendering/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/smithchart-admittance-rendering/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +7 -0
- package/schematics/generators/smithchart-admittance-rendering/schema.d.ts +3 -0
- package/schematics/generators/smithchart-admittance-rendering/schema.js +2 -0
- package/schematics/generators/smithchart-admittance-rendering/schema.json +125 -0
- package/schematics/generators/smithchart-animation/index.d.ts +3 -0
- package/schematics/generators/smithchart-animation/index.js +8 -0
- package/schematics/generators/smithchart-animation/sample-details.d.ts +5 -0
- package/schematics/generators/smithchart-animation/sample-details.js +7 -0
- package/schematics/generators/smithchart-animation/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/smithchart-animation/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +7 -0
- package/schematics/generators/smithchart-animation/schema.d.ts +3 -0
- package/schematics/generators/smithchart-animation/schema.js +2 -0
- package/schematics/generators/smithchart-animation/schema.json +125 -0
- package/schematics/generators/smithchart-default/index.d.ts +3 -0
- package/schematics/generators/smithchart-default/index.js +8 -0
- package/schematics/generators/smithchart-default/sample-details.d.ts +5 -0
- package/schematics/generators/smithchart-default/sample-details.js +7 -0
- package/schematics/generators/smithchart-default/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/smithchart-default/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +8 -0
- package/schematics/generators/smithchart-default/schema.d.ts +3 -0
- package/schematics/generators/smithchart-default/schema.js +2 -0
- package/schematics/generators/smithchart-default/schema.json +125 -0
- package/schematics/generators/smithchart-label/index.d.ts +3 -0
- package/schematics/generators/smithchart-label/index.js +8 -0
- package/schematics/generators/smithchart-label/sample-details.d.ts +5 -0
- package/schematics/generators/smithchart-label/sample-details.js +7 -0
- package/schematics/generators/smithchart-label/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/smithchart-label/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +7 -0
- package/schematics/generators/smithchart-label/schema.d.ts +3 -0
- package/schematics/generators/smithchart-label/schema.js +2 -0
- package/schematics/generators/smithchart-label/schema.json +125 -0
- package/schematics/generators/smithchart-legend/index.d.ts +3 -0
- package/schematics/generators/smithchart-legend/index.js +8 -0
- package/schematics/generators/smithchart-legend/sample-details.d.ts +5 -0
- package/schematics/generators/smithchart-legend/sample-details.js +7 -0
- package/schematics/generators/smithchart-legend/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/smithchart-legend/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +8 -0
- package/schematics/generators/smithchart-legend/schema.d.ts +3 -0
- package/schematics/generators/smithchart-legend/schema.js +2 -0
- package/schematics/generators/smithchart-legend/schema.json +125 -0
- package/schematics/generators/smithchart-marker/index.d.ts +3 -0
- package/schematics/generators/smithchart-marker/index.js +8 -0
- package/schematics/generators/smithchart-marker/sample-details.d.ts +5 -0
- package/schematics/generators/smithchart-marker/sample-details.js +7 -0
- package/schematics/generators/smithchart-marker/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/smithchart-marker/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +8 -0
- package/schematics/generators/smithchart-marker/schema.d.ts +3 -0
- package/schematics/generators/smithchart-marker/schema.js +2 -0
- package/schematics/generators/smithchart-marker/schema.json +125 -0
- package/schematics/generators/smithchart-multiple-series/index.d.ts +3 -0
- package/schematics/generators/smithchart-multiple-series/index.js +8 -0
- package/schematics/generators/smithchart-multiple-series/sample-details.d.ts +5 -0
- package/schematics/generators/smithchart-multiple-series/sample-details.js +7 -0
- package/schematics/generators/smithchart-multiple-series/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/smithchart-multiple-series/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +8 -0
- package/schematics/generators/smithchart-multiple-series/schema.d.ts +3 -0
- package/schematics/generators/smithchart-multiple-series/schema.js +2 -0
- package/schematics/generators/smithchart-multiple-series/schema.json +125 -0
- package/schematics/generators/smithchart-print/index.d.ts +3 -0
- package/schematics/generators/smithchart-print/index.js +8 -0
- package/schematics/generators/smithchart-print/sample-details.d.ts +5 -0
- package/schematics/generators/smithchart-print/sample-details.js +7 -0
- package/schematics/generators/smithchart-print/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/smithchart-print/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +25 -0
- package/schematics/generators/smithchart-print/schema.d.ts +3 -0
- package/schematics/generators/smithchart-print/schema.js +2 -0
- package/schematics/generators/smithchart-print/schema.json +125 -0
- package/schematics/generators/smithchart-radius/index.d.ts +3 -0
- package/schematics/generators/smithchart-radius/index.js +8 -0
- package/schematics/generators/smithchart-radius/sample-details.d.ts +5 -0
- package/schematics/generators/smithchart-radius/sample-details.js +7 -0
- package/schematics/generators/smithchart-radius/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/smithchart-radius/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +8 -0
- package/schematics/generators/smithchart-radius/schema.d.ts +3 -0
- package/schematics/generators/smithchart-radius/schema.js +2 -0
- package/schematics/generators/smithchart-radius/schema.json +125 -0
- package/schematics/generators/smithchart-series/index.d.ts +3 -0
- package/schematics/generators/smithchart-series/index.js +8 -0
- package/schematics/generators/smithchart-series/sample-details.d.ts +5 -0
- package/schematics/generators/smithchart-series/sample-details.js +7 -0
- package/schematics/generators/smithchart-series/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/smithchart-series/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +7 -0
- package/schematics/generators/smithchart-series/schema.d.ts +3 -0
- package/schematics/generators/smithchart-series/schema.js +2 -0
- package/schematics/generators/smithchart-series/schema.json +125 -0
- package/schematics/generators/smithchart-tooltip/index.d.ts +3 -0
- package/schematics/generators/smithchart-tooltip/index.js +8 -0
- package/schematics/generators/smithchart-tooltip/sample-details.d.ts +5 -0
- package/schematics/generators/smithchart-tooltip/sample-details.js +7 -0
- package/schematics/generators/smithchart-tooltip/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/smithchart-tooltip/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +8 -0
- package/schematics/generators/smithchart-tooltip/schema.d.ts +3 -0
- package/schematics/generators/smithchart-tooltip/schema.js +2 -0
- package/schematics/generators/smithchart-tooltip/schema.json +125 -0
- package/schematics/generators/sparkline-area/index.d.ts +3 -0
- package/schematics/generators/sparkline-area/index.js +8 -0
- package/schematics/generators/sparkline-area/sample-details.d.ts +5 -0
- package/schematics/generators/sparkline-area/sample-details.js +7 -0
- package/schematics/generators/sparkline-area/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/sparkline-area/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +4 -0
- package/schematics/generators/sparkline-area/schema.d.ts +3 -0
- package/schematics/generators/sparkline-area/schema.js +2 -0
- package/schematics/generators/sparkline-area/schema.json +125 -0
- package/schematics/generators/sparkline-column/index.d.ts +3 -0
- package/schematics/generators/sparkline-column/index.js +8 -0
- package/schematics/generators/sparkline-column/sample-details.d.ts +5 -0
- package/schematics/generators/sparkline-column/sample-details.js +7 -0
- package/schematics/generators/sparkline-column/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/sparkline-column/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +4 -0
- package/schematics/generators/sparkline-column/schema.d.ts +3 -0
- package/schematics/generators/sparkline-column/schema.js +2 -0
- package/schematics/generators/sparkline-column/schema.json +125 -0
- package/schematics/generators/sparkline-line/index.d.ts +3 -0
- package/schematics/generators/sparkline-line/index.js +8 -0
- package/schematics/generators/sparkline-line/sample-details.d.ts +5 -0
- package/schematics/generators/sparkline-line/sample-details.js +7 -0
- package/schematics/generators/sparkline-line/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/sparkline-line/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +4 -0
- package/schematics/generators/sparkline-line/schema.d.ts +3 -0
- package/schematics/generators/sparkline-line/schema.js +2 -0
- package/schematics/generators/sparkline-line/schema.json +125 -0
- package/schematics/generators/sparkline-range-band/index.d.ts +3 -0
- package/schematics/generators/sparkline-range-band/index.js +8 -0
- package/schematics/generators/sparkline-range-band/sample-details.d.ts +5 -0
- package/schematics/generators/sparkline-range-band/sample-details.js +7 -0
- package/schematics/generators/sparkline-range-band/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/sparkline-range-band/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +4 -0
- package/schematics/generators/sparkline-range-band/schema.d.ts +3 -0
- package/schematics/generators/sparkline-range-band/schema.js +2 -0
- package/schematics/generators/sparkline-range-band/schema.json +125 -0
- package/schematics/generators/sparkline-track-line/index.d.ts +3 -0
- package/schematics/generators/sparkline-track-line/index.js +8 -0
- package/schematics/generators/sparkline-track-line/sample-details.d.ts +5 -0
- package/schematics/generators/sparkline-track-line/sample-details.js +7 -0
- package/schematics/generators/sparkline-track-line/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/sparkline-track-line/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +4 -0
- package/schematics/generators/sparkline-track-line/schema.d.ts +3 -0
- package/schematics/generators/sparkline-track-line/schema.js +2 -0
- package/schematics/generators/sparkline-track-line/schema.json +125 -0
- package/schematics/generators/sparkline-win-loss/index.d.ts +3 -0
- package/schematics/generators/sparkline-win-loss/index.js +8 -0
- package/schematics/generators/sparkline-win-loss/sample-details.d.ts +5 -0
- package/schematics/generators/sparkline-win-loss/sample-details.js +7 -0
- package/schematics/generators/sparkline-win-loss/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
- package/schematics/generators/sparkline-win-loss/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +4 -0
- package/schematics/generators/sparkline-win-loss/schema.d.ts +3 -0
- package/schematics/generators/sparkline-win-loss/schema.js +2 -0
- package/schematics/generators/sparkline-win-loss/schema.json +125 -0
- package/schematics/ng-add/index.d.ts +3 -0
- package/schematics/ng-add/index.js +9 -0
- package/schematics/ng-add/schema.d.ts +13 -0
- package/schematics/ng-add/schema.js +2 -0
- package/schematics/ng-add/schema.json +34 -0
- package/schematics/tsconfig.json +25 -0
- package/schematics/utils/lib-details.d.ts +4 -0
- package/schematics/utils/lib-details.js +6 -0
- package/schematics/utils/lib-details.ts +2 -2
- package/src/accumulation-chart/accumulationchart-all.module.d.ts +0 -6
- package/src/accumulation-chart/accumulationchart.component.d.ts +0 -3
- package/src/accumulation-chart/accumulationchart.module.d.ts +0 -8
- package/src/accumulation-chart/annotations.directive.d.ts +2 -7
- package/src/accumulation-chart/series.directive.d.ts +0 -5
- package/src/bullet-chart/bulletchart-all.module.d.ts +0 -6
- package/src/bullet-chart/bulletchart.component.d.ts +0 -3
- package/src/bullet-chart/bulletchart.module.d.ts +0 -7
- package/src/bullet-chart/ranges.directive.d.ts +0 -5
- package/src/chart/annotations.directive.d.ts +2 -7
- package/src/chart/axes.directive.d.ts +1 -6
- package/src/chart/categories.directive.d.ts +0 -5
- package/src/chart/chart-all.module.d.ts +0 -6
- package/src/chart/chart.component.d.ts +0 -3
- package/src/chart/chart.module.d.ts +0 -19
- package/src/chart/columns.directive.d.ts +0 -5
- package/src/chart/indicators.directive.d.ts +0 -5
- package/src/chart/multilevellabels.directive.d.ts +0 -5
- package/src/chart/rangecolorsettings.directive.d.ts +0 -5
- package/src/chart/rows.directive.d.ts +0 -5
- package/src/chart/segments.directive.d.ts +0 -5
- package/src/chart/selecteddataindexes.directive.d.ts +0 -5
- package/src/chart/series.directive.d.ts +0 -5
- package/src/chart/striplines.directive.d.ts +0 -5
- package/src/chart/trendlines.directive.d.ts +1 -6
- package/src/range-navigator/rangenavigator-all.module.d.ts +0 -6
- package/src/range-navigator/rangenavigator.component.d.ts +0 -3
- package/src/range-navigator/rangenavigator.module.d.ts +0 -7
- package/src/range-navigator/series.directive.d.ts +0 -5
- package/src/smithchart/series.directive.d.ts +0 -5
- package/src/smithchart/smithchart-all.module.d.ts +0 -6
- package/src/smithchart/smithchart.component.d.ts +0 -3
- package/src/smithchart/smithchart.module.d.ts +0 -7
- package/src/sparkline/rangebandsettings.directive.d.ts +0 -5
- package/src/sparkline/sparkline-all.module.d.ts +0 -6
- package/src/sparkline/sparkline.component.d.ts +0 -3
- package/src/sparkline/sparkline.module.d.ts +0 -7
- package/src/stock-chart/annotations.directive.d.ts +0 -5
- package/src/stock-chart/axes.directive.d.ts +0 -5
- package/src/stock-chart/indicators.directive.d.ts +0 -5
- package/src/stock-chart/periods.directive.d.ts +0 -5
- package/src/stock-chart/rows.directive.d.ts +0 -5
- package/src/stock-chart/selecteddataindexes.directive.d.ts +0 -5
- package/src/stock-chart/series.directive.d.ts +0 -5
- package/src/stock-chart/stockchart-all.module.d.ts +0 -6
- package/src/stock-chart/stockchart.component.d.ts +0 -3
- package/src/stock-chart/stockchart.module.d.ts +0 -15
- package/src/stock-chart/stockevents.directive.d.ts +0 -5
- package/src/stock-chart/trendlines.directive.d.ts +1 -6
- package/esm2020/public_api.mjs +0 -3
- package/esm2020/src/accumulation-chart/accumulationchart-all.module.mjs +0 -50
- package/esm2020/src/accumulation-chart/accumulationchart.component.mjs +0 -139
- package/esm2020/src/accumulation-chart/accumulationchart.module.mjs +0 -43
- package/esm2020/src/accumulation-chart/annotations.directive.mjs +0 -62
- package/esm2020/src/accumulation-chart/series.directive.mjs +0 -62
- package/esm2020/src/bullet-chart/bulletchart-all.module.mjs +0 -32
- package/esm2020/src/bullet-chart/bulletchart.component.mjs +0 -85
- package/esm2020/src/bullet-chart/bulletchart.module.mjs +0 -34
- package/esm2020/src/bullet-chart/ranges.directive.mjs +0 -54
- package/esm2020/src/chart/annotations.directive.mjs +0 -60
- package/esm2020/src/chart/axes.directive.mjs +0 -58
- package/esm2020/src/chart/categories.directive.mjs +0 -59
- package/esm2020/src/chart/chart-all.module.mjs +0 -200
- package/esm2020/src/chart/chart.component.mjs +0 -511
- package/esm2020/src/chart/chart.module.mjs +0 -142
- package/esm2020/src/chart/columns.directive.mjs +0 -52
- package/esm2020/src/chart/indicators.directive.mjs +0 -54
- package/esm2020/src/chart/multilevellabels.directive.mjs +0 -60
- package/esm2020/src/chart/rangecolorsettings.directive.mjs +0 -52
- package/esm2020/src/chart/rows.directive.mjs +0 -52
- package/esm2020/src/chart/segments.directive.mjs +0 -58
- package/esm2020/src/chart/selecteddataindexes.directive.mjs +0 -52
- package/esm2020/src/chart/series.directive.mjs +0 -68
- package/esm2020/src/chart/striplines.directive.mjs +0 -56
- package/esm2020/src/chart/trendlines.directive.mjs +0 -58
- package/esm2020/src/index.mjs +0 -51
- package/esm2020/src/range-navigator/rangenavigator-all.module.mjs +0 -32
- package/esm2020/src/range-navigator/rangenavigator.component.mjs +0 -120
- package/esm2020/src/range-navigator/rangenavigator.module.mjs +0 -34
- package/esm2020/src/range-navigator/series.directive.mjs +0 -54
- package/esm2020/src/smithchart/series.directive.mjs +0 -46
- package/esm2020/src/smithchart/smithchart-all.module.mjs +0 -32
- package/esm2020/src/smithchart/smithchart.component.mjs +0 -78
- package/esm2020/src/smithchart/smithchart.module.mjs +0 -34
- package/esm2020/src/sparkline/rangebandsettings.directive.mjs +0 -46
- package/esm2020/src/sparkline/sparkline-all.module.mjs +0 -29
- package/esm2020/src/sparkline/sparkline.component.mjs +0 -71
- package/esm2020/src/sparkline/sparkline.module.mjs +0 -34
- package/esm2020/src/stock-chart/annotations.directive.mjs +0 -60
- package/esm2020/src/stock-chart/axes.directive.mjs +0 -52
- package/esm2020/src/stock-chart/indicators.directive.mjs +0 -54
- package/esm2020/src/stock-chart/periods.directive.mjs +0 -54
- package/esm2020/src/stock-chart/rows.directive.mjs +0 -52
- package/esm2020/src/stock-chart/selecteddataindexes.directive.mjs +0 -52
- package/esm2020/src/stock-chart/series.directive.mjs +0 -58
- package/esm2020/src/stock-chart/stockchart-all.module.mjs +0 -29
- package/esm2020/src/stock-chart/stockchart.component.mjs +0 -323
- package/esm2020/src/stock-chart/stockchart.module.mjs +0 -106
- package/esm2020/src/stock-chart/stockevents.directive.mjs +0 -54
- package/esm2020/src/stock-chart/trendlines.directive.mjs +0 -59
- package/esm2020/syncfusion-ej2-angular-charts.mjs +0 -5
- package/fesm2015/syncfusion-ej2-angular-charts.mjs +0 -3472
- package/fesm2015/syncfusion-ej2-angular-charts.mjs.map +0 -1
- package/fesm2020/syncfusion-ej2-angular-charts.mjs +0 -3472
- package/fesm2020/syncfusion-ej2-angular-charts.mjs.map +0 -1
- package/syncfusion-ej2-angular-charts.d.ts +0 -5
|
@@ -1,511 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Component, ContentChild } from '@angular/core';
|
|
3
|
-
import { ComponentBase, ComponentMixins, setValue } from '@syncfusion/ej2-angular-base';
|
|
4
|
-
import { Chart } from '@syncfusion/ej2-charts';
|
|
5
|
-
import { Template } from '@syncfusion/ej2-angular-base';
|
|
6
|
-
import { SeriesCollectionDirective } from './series.directive';
|
|
7
|
-
import { AxesDirective } from './axes.directive';
|
|
8
|
-
import { RowsDirective } from './rows.directive';
|
|
9
|
-
import { ColumnsDirective } from './columns.directive';
|
|
10
|
-
import { RangeColorSettingsDirective } from './rangecolorsettings.directive';
|
|
11
|
-
import { AnnotationsDirective } from './annotations.directive';
|
|
12
|
-
import { SelectedDataIndexesDirective } from './selecteddataindexes.directive';
|
|
13
|
-
import { IndicatorsDirective } from './indicators.directive';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
export const inputs = ['allowExport', 'allowMultiSelection', 'annotations', 'axes', 'background', 'backgroundImage', 'border', 'chartArea', 'columns', 'crosshair', 'currencyCode', 'dataSource', 'description', 'enableAnimation', 'enableAutoIntervalOnBothAxis', 'enableCanvas', 'enableExport', 'enablePersistence', 'enableRtl', 'enableSideBySidePlacement', 'height', 'highlightColor', 'highlightMode', 'highlightPattern', 'indicators', 'isMultiSelect', 'isTransposed', 'legendSettings', 'locale', 'margin', 'palettes', 'primaryXAxis', 'primaryYAxis', 'rangeColorSettings', 'rows', 'selectedDataIndexes', 'selectionMode', 'selectionPattern', 'series', 'subTitle', 'subTitleStyle', 'tabIndex', 'theme', 'title', 'titleStyle', 'tooltip', 'useGroupingSeparator', 'width', 'zoomSettings'];
|
|
16
|
-
export const outputs = ['afterExport', 'animationComplete', 'annotationRender', 'axisLabelClick', 'axisLabelRender', 'axisMultiLabelRender', 'axisRangeCalculated', 'beforeExport', 'beforePrint', 'beforeResize', 'chartDoubleClick', 'chartMouseClick', 'chartMouseDown', 'chartMouseLeave', 'chartMouseMove', 'chartMouseUp', 'drag', 'dragComplete', 'dragEnd', 'dragStart', 'legendClick', 'legendRender', 'load', 'loaded', 'multiLevelLabelClick', 'onZooming', 'pointClick', 'pointDoubleClick', 'pointMove', 'pointRender', 'resized', 'scrollChanged', 'scrollEnd', 'scrollStart', 'selectionComplete', 'seriesRender', 'sharedTooltipRender', 'textRender', 'tooltipRender', 'zoomComplete', 'dataSourceChange'];
|
|
17
|
-
export const twoWays = ['dataSource'];
|
|
18
|
-
/**
|
|
19
|
-
* Chart Component
|
|
20
|
-
* ```html
|
|
21
|
-
* <ejschart></ejschart>
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
let ChartComponent = class ChartComponent extends Chart {
|
|
25
|
-
constructor(ngEle, srenderer, viewContainerRef, injector) {
|
|
26
|
-
super();
|
|
27
|
-
this.ngEle = ngEle;
|
|
28
|
-
this.srenderer = srenderer;
|
|
29
|
-
this.viewContainerRef = viewContainerRef;
|
|
30
|
-
this.injector = injector;
|
|
31
|
-
this.tags = ['series', 'axes', 'rows', 'columns', 'rangeColorSettings', 'annotations', 'selectedDataIndexes', 'indicators'];
|
|
32
|
-
this.element = this.ngEle.nativeElement;
|
|
33
|
-
this.injectedModules = this.injectedModules || [];
|
|
34
|
-
try {
|
|
35
|
-
let mod = this.injector.get('ChartsLineSeries');
|
|
36
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
37
|
-
this.injectedModules.push(mod);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch { }
|
|
41
|
-
try {
|
|
42
|
-
let mod = this.injector.get('ChartsScatterSeries');
|
|
43
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
44
|
-
this.injectedModules.push(mod);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch { }
|
|
48
|
-
try {
|
|
49
|
-
let mod = this.injector.get('ChartsColumnSeries');
|
|
50
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
51
|
-
this.injectedModules.push(mod);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
catch { }
|
|
55
|
-
try {
|
|
56
|
-
let mod = this.injector.get('ChartsSplineSeries');
|
|
57
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
58
|
-
this.injectedModules.push(mod);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
catch { }
|
|
62
|
-
try {
|
|
63
|
-
let mod = this.injector.get('ChartsSplineAreaSeries');
|
|
64
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
65
|
-
this.injectedModules.push(mod);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
catch { }
|
|
69
|
-
try {
|
|
70
|
-
let mod = this.injector.get('ChartsStripLine');
|
|
71
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
72
|
-
this.injectedModules.push(mod);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
catch { }
|
|
76
|
-
try {
|
|
77
|
-
let mod = this.injector.get('ChartsAreaSeries');
|
|
78
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
79
|
-
this.injectedModules.push(mod);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
catch { }
|
|
83
|
-
try {
|
|
84
|
-
let mod = this.injector.get('ChartsScrollBar');
|
|
85
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
86
|
-
this.injectedModules.push(mod);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
catch { }
|
|
90
|
-
try {
|
|
91
|
-
let mod = this.injector.get('ChartsStepLineSeries');
|
|
92
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
93
|
-
this.injectedModules.push(mod);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
catch { }
|
|
97
|
-
try {
|
|
98
|
-
let mod = this.injector.get('ChartsStepAreaSeries');
|
|
99
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
100
|
-
this.injectedModules.push(mod);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
catch { }
|
|
104
|
-
try {
|
|
105
|
-
let mod = this.injector.get('ChartsStackingColumnSeries');
|
|
106
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
107
|
-
this.injectedModules.push(mod);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
catch { }
|
|
111
|
-
try {
|
|
112
|
-
let mod = this.injector.get('ChartsStackingLineSeries');
|
|
113
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
114
|
-
this.injectedModules.push(mod);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
catch { }
|
|
118
|
-
try {
|
|
119
|
-
let mod = this.injector.get('ChartsStackingAreaSeries');
|
|
120
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
121
|
-
this.injectedModules.push(mod);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
catch { }
|
|
125
|
-
try {
|
|
126
|
-
let mod = this.injector.get('ChartsStackingStepAreaSeries');
|
|
127
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
128
|
-
this.injectedModules.push(mod);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
catch { }
|
|
132
|
-
try {
|
|
133
|
-
let mod = this.injector.get('ChartsBarSeries');
|
|
134
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
135
|
-
this.injectedModules.push(mod);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
catch { }
|
|
139
|
-
try {
|
|
140
|
-
let mod = this.injector.get('ChartsStackingBarSeries');
|
|
141
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
142
|
-
this.injectedModules.push(mod);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
catch { }
|
|
146
|
-
try {
|
|
147
|
-
let mod = this.injector.get('ChartsRangeColumnSeries');
|
|
148
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
149
|
-
this.injectedModules.push(mod);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
catch { }
|
|
153
|
-
try {
|
|
154
|
-
let mod = this.injector.get('ChartsBubbleSeries');
|
|
155
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
156
|
-
this.injectedModules.push(mod);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
catch { }
|
|
160
|
-
try {
|
|
161
|
-
let mod = this.injector.get('ChartsTooltip');
|
|
162
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
163
|
-
this.injectedModules.push(mod);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
catch { }
|
|
167
|
-
try {
|
|
168
|
-
let mod = this.injector.get('ChartsCrosshair');
|
|
169
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
170
|
-
this.injectedModules.push(mod);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
catch { }
|
|
174
|
-
try {
|
|
175
|
-
let mod = this.injector.get('ChartsCategory');
|
|
176
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
177
|
-
this.injectedModules.push(mod);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
catch { }
|
|
181
|
-
try {
|
|
182
|
-
let mod = this.injector.get('ChartsDateTime');
|
|
183
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
184
|
-
this.injectedModules.push(mod);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
catch { }
|
|
188
|
-
try {
|
|
189
|
-
let mod = this.injector.get('ChartsLogarithmic');
|
|
190
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
191
|
-
this.injectedModules.push(mod);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
catch { }
|
|
195
|
-
try {
|
|
196
|
-
let mod = this.injector.get('ChartsLegend');
|
|
197
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
198
|
-
this.injectedModules.push(mod);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
catch { }
|
|
202
|
-
try {
|
|
203
|
-
let mod = this.injector.get('ChartsZoom');
|
|
204
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
205
|
-
this.injectedModules.push(mod);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
catch { }
|
|
209
|
-
try {
|
|
210
|
-
let mod = this.injector.get('ChartsDataLabel');
|
|
211
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
212
|
-
this.injectedModules.push(mod);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
catch { }
|
|
216
|
-
try {
|
|
217
|
-
let mod = this.injector.get('ChartsSelection');
|
|
218
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
219
|
-
this.injectedModules.push(mod);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
catch { }
|
|
223
|
-
try {
|
|
224
|
-
let mod = this.injector.get('ChartsChartAnnotation');
|
|
225
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
226
|
-
this.injectedModules.push(mod);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
catch { }
|
|
230
|
-
try {
|
|
231
|
-
let mod = this.injector.get('ChartsHiloSeries');
|
|
232
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
233
|
-
this.injectedModules.push(mod);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
catch { }
|
|
237
|
-
try {
|
|
238
|
-
let mod = this.injector.get('ChartsHiloOpenCloseSeries');
|
|
239
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
240
|
-
this.injectedModules.push(mod);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
catch { }
|
|
244
|
-
try {
|
|
245
|
-
let mod = this.injector.get('ChartsWaterfallSeries');
|
|
246
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
247
|
-
this.injectedModules.push(mod);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
catch { }
|
|
251
|
-
try {
|
|
252
|
-
let mod = this.injector.get('ChartsRangeAreaSeries');
|
|
253
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
254
|
-
this.injectedModules.push(mod);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
catch { }
|
|
258
|
-
try {
|
|
259
|
-
let mod = this.injector.get('ChartsSplineRangeAreaSeries');
|
|
260
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
261
|
-
this.injectedModules.push(mod);
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
catch { }
|
|
265
|
-
try {
|
|
266
|
-
let mod = this.injector.get('ChartsCandleSeries');
|
|
267
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
268
|
-
this.injectedModules.push(mod);
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
catch { }
|
|
272
|
-
try {
|
|
273
|
-
let mod = this.injector.get('ChartsPolarSeries');
|
|
274
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
275
|
-
this.injectedModules.push(mod);
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
catch { }
|
|
279
|
-
try {
|
|
280
|
-
let mod = this.injector.get('ChartsRadarSeries');
|
|
281
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
282
|
-
this.injectedModules.push(mod);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
catch { }
|
|
286
|
-
try {
|
|
287
|
-
let mod = this.injector.get('ChartsSmaIndicator');
|
|
288
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
289
|
-
this.injectedModules.push(mod);
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
catch { }
|
|
293
|
-
try {
|
|
294
|
-
let mod = this.injector.get('ChartsTmaIndicator');
|
|
295
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
296
|
-
this.injectedModules.push(mod);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
catch { }
|
|
300
|
-
try {
|
|
301
|
-
let mod = this.injector.get('ChartsEmaIndicator');
|
|
302
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
303
|
-
this.injectedModules.push(mod);
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
catch { }
|
|
307
|
-
try {
|
|
308
|
-
let mod = this.injector.get('ChartsAccumulationDistributionIndicator');
|
|
309
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
310
|
-
this.injectedModules.push(mod);
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
catch { }
|
|
314
|
-
try {
|
|
315
|
-
let mod = this.injector.get('ChartsMacdIndicator');
|
|
316
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
317
|
-
this.injectedModules.push(mod);
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
catch { }
|
|
321
|
-
try {
|
|
322
|
-
let mod = this.injector.get('ChartsAtrIndicator');
|
|
323
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
324
|
-
this.injectedModules.push(mod);
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
catch { }
|
|
328
|
-
try {
|
|
329
|
-
let mod = this.injector.get('ChartsRsiIndicator');
|
|
330
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
331
|
-
this.injectedModules.push(mod);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
catch { }
|
|
335
|
-
try {
|
|
336
|
-
let mod = this.injector.get('ChartsMomentumIndicator');
|
|
337
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
338
|
-
this.injectedModules.push(mod);
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
catch { }
|
|
342
|
-
try {
|
|
343
|
-
let mod = this.injector.get('ChartsStochasticIndicator');
|
|
344
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
345
|
-
this.injectedModules.push(mod);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
catch { }
|
|
349
|
-
try {
|
|
350
|
-
let mod = this.injector.get('ChartsBollingerBands');
|
|
351
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
352
|
-
this.injectedModules.push(mod);
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
catch { }
|
|
356
|
-
try {
|
|
357
|
-
let mod = this.injector.get('ChartsBoxAndWhiskerSeries');
|
|
358
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
359
|
-
this.injectedModules.push(mod);
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
catch { }
|
|
363
|
-
try {
|
|
364
|
-
let mod = this.injector.get('ChartsHistogramSeries');
|
|
365
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
366
|
-
this.injectedModules.push(mod);
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
catch { }
|
|
370
|
-
try {
|
|
371
|
-
let mod = this.injector.get('ChartsErrorBar');
|
|
372
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
373
|
-
this.injectedModules.push(mod);
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
catch { }
|
|
377
|
-
try {
|
|
378
|
-
let mod = this.injector.get('ChartsTrendlines');
|
|
379
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
380
|
-
this.injectedModules.push(mod);
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
catch { }
|
|
384
|
-
try {
|
|
385
|
-
let mod = this.injector.get('ChartsDateTimeCategory');
|
|
386
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
387
|
-
this.injectedModules.push(mod);
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
catch { }
|
|
391
|
-
try {
|
|
392
|
-
let mod = this.injector.get('ChartsMultiColoredLineSeries');
|
|
393
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
394
|
-
this.injectedModules.push(mod);
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
catch { }
|
|
398
|
-
try {
|
|
399
|
-
let mod = this.injector.get('ChartsMultiColoredAreaSeries');
|
|
400
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
401
|
-
this.injectedModules.push(mod);
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
catch { }
|
|
405
|
-
try {
|
|
406
|
-
let mod = this.injector.get('ChartsMultiLevelLabel');
|
|
407
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
408
|
-
this.injectedModules.push(mod);
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
catch { }
|
|
412
|
-
try {
|
|
413
|
-
let mod = this.injector.get('ChartsParetoSeries');
|
|
414
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
415
|
-
this.injectedModules.push(mod);
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
catch { }
|
|
419
|
-
try {
|
|
420
|
-
let mod = this.injector.get('ChartsExport');
|
|
421
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
422
|
-
this.injectedModules.push(mod);
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
catch { }
|
|
426
|
-
try {
|
|
427
|
-
let mod = this.injector.get('ChartsDataEditing');
|
|
428
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
429
|
-
this.injectedModules.push(mod);
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
catch { }
|
|
433
|
-
try {
|
|
434
|
-
let mod = this.injector.get('ChartsHighlight');
|
|
435
|
-
if (this.injectedModules.indexOf(mod) === -1) {
|
|
436
|
-
this.injectedModules.push(mod);
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
catch { }
|
|
440
|
-
this.registerEvents(outputs);
|
|
441
|
-
this.addTwoWay.call(this, twoWays);
|
|
442
|
-
setValue('currentInstance', this, this.viewContainerRef);
|
|
443
|
-
this.context = new ComponentBase();
|
|
444
|
-
}
|
|
445
|
-
ngOnInit() {
|
|
446
|
-
this.context.ngOnInit(this);
|
|
447
|
-
}
|
|
448
|
-
ngAfterViewInit() {
|
|
449
|
-
this.context.ngAfterViewInit(this);
|
|
450
|
-
}
|
|
451
|
-
ngOnDestroy() {
|
|
452
|
-
this.context.ngOnDestroy(this);
|
|
453
|
-
}
|
|
454
|
-
ngAfterContentChecked() {
|
|
455
|
-
this.tagObjects[0].instance = this.childSeries;
|
|
456
|
-
if (this.childAxes) {
|
|
457
|
-
this.tagObjects[1].instance = this.childAxes;
|
|
458
|
-
}
|
|
459
|
-
if (this.childRows) {
|
|
460
|
-
this.tagObjects[2].instance = this.childRows;
|
|
461
|
-
}
|
|
462
|
-
if (this.childColumns) {
|
|
463
|
-
this.tagObjects[3].instance = this.childColumns;
|
|
464
|
-
}
|
|
465
|
-
if (this.childRangeColorSettings) {
|
|
466
|
-
this.tagObjects[4].instance = this.childRangeColorSettings;
|
|
467
|
-
}
|
|
468
|
-
if (this.childAnnotations) {
|
|
469
|
-
this.tagObjects[5].instance = this.childAnnotations;
|
|
470
|
-
}
|
|
471
|
-
if (this.childSelectedDataIndexes) {
|
|
472
|
-
this.tagObjects[6].instance = this.childSelectedDataIndexes;
|
|
473
|
-
}
|
|
474
|
-
if (this.childIndicators) {
|
|
475
|
-
this.tagObjects[7].instance = this.childIndicators;
|
|
476
|
-
}
|
|
477
|
-
this.context.ngAfterContentChecked(this);
|
|
478
|
-
}
|
|
479
|
-
};
|
|
480
|
-
ChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ChartComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
481
|
-
ChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ChartComponent, selector: "ejs-chart", inputs: { allowExport: "allowExport", allowMultiSelection: "allowMultiSelection", annotations: "annotations", axes: "axes", background: "background", backgroundImage: "backgroundImage", border: "border", chartArea: "chartArea", columns: "columns", crosshair: "crosshair", currencyCode: "currencyCode", dataSource: "dataSource", description: "description", enableAnimation: "enableAnimation", enableAutoIntervalOnBothAxis: "enableAutoIntervalOnBothAxis", enableCanvas: "enableCanvas", enableExport: "enableExport", enablePersistence: "enablePersistence", enableRtl: "enableRtl", enableSideBySidePlacement: "enableSideBySidePlacement", height: "height", highlightColor: "highlightColor", highlightMode: "highlightMode", highlightPattern: "highlightPattern", indicators: "indicators", isMultiSelect: "isMultiSelect", isTransposed: "isTransposed", legendSettings: "legendSettings", locale: "locale", margin: "margin", palettes: "palettes", primaryXAxis: "primaryXAxis", primaryYAxis: "primaryYAxis", rangeColorSettings: "rangeColorSettings", rows: "rows", selectedDataIndexes: "selectedDataIndexes", selectionMode: "selectionMode", selectionPattern: "selectionPattern", series: "series", subTitle: "subTitle", subTitleStyle: "subTitleStyle", tabIndex: "tabIndex", theme: "theme", title: "title", titleStyle: "titleStyle", tooltip: "tooltip", useGroupingSeparator: "useGroupingSeparator", width: "width", zoomSettings: "zoomSettings" }, outputs: { afterExport: "afterExport", animationComplete: "animationComplete", annotationRender: "annotationRender", axisLabelClick: "axisLabelClick", axisLabelRender: "axisLabelRender", axisMultiLabelRender: "axisMultiLabelRender", axisRangeCalculated: "axisRangeCalculated", beforeExport: "beforeExport", beforePrint: "beforePrint", beforeResize: "beforeResize", chartDoubleClick: "chartDoubleClick", chartMouseClick: "chartMouseClick", chartMouseDown: "chartMouseDown", chartMouseLeave: "chartMouseLeave", chartMouseMove: "chartMouseMove", chartMouseUp: "chartMouseUp", drag: "drag", dragComplete: "dragComplete", dragEnd: "dragEnd", dragStart: "dragStart", legendClick: "legendClick", legendRender: "legendRender", load: "load", loaded: "loaded", multiLevelLabelClick: "multiLevelLabelClick", onZooming: "onZooming", pointClick: "pointClick", pointDoubleClick: "pointDoubleClick", pointMove: "pointMove", pointRender: "pointRender", resized: "resized", scrollChanged: "scrollChanged", scrollEnd: "scrollEnd", scrollStart: "scrollStart", selectionComplete: "selectionComplete", seriesRender: "seriesRender", sharedTooltipRender: "sharedTooltipRender", textRender: "textRender", tooltipRender: "tooltipRender", zoomComplete: "zoomComplete", dataSourceChange: "dataSourceChange" }, queries: [{ propertyName: "tooltip_template", first: true, predicate: ["tooltipTemplate"], descendants: true }, { propertyName: "childSeries", first: true, predicate: SeriesCollectionDirective, descendants: true }, { propertyName: "childAxes", first: true, predicate: AxesDirective, descendants: true }, { propertyName: "childRows", first: true, predicate: RowsDirective, descendants: true }, { propertyName: "childColumns", first: true, predicate: ColumnsDirective, descendants: true }, { propertyName: "childRangeColorSettings", first: true, predicate: RangeColorSettingsDirective, descendants: true }, { propertyName: "childAnnotations", first: true, predicate: AnnotationsDirective, descendants: true }, { propertyName: "childSelectedDataIndexes", first: true, predicate: SelectedDataIndexesDirective, descendants: true }, { propertyName: "childIndicators", first: true, predicate: IndicatorsDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
482
|
-
__decorate([
|
|
483
|
-
Template()
|
|
484
|
-
], ChartComponent.prototype, "tooltip_template", void 0);
|
|
485
|
-
ChartComponent = __decorate([
|
|
486
|
-
ComponentMixins([ComponentBase])
|
|
487
|
-
], ChartComponent);
|
|
488
|
-
export { ChartComponent };
|
|
489
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ChartComponent, decorators: [{
|
|
490
|
-
type: Component,
|
|
491
|
-
args: [{
|
|
492
|
-
selector: 'ejs-chart',
|
|
493
|
-
inputs: inputs,
|
|
494
|
-
outputs: outputs,
|
|
495
|
-
template: '',
|
|
496
|
-
queries: {
|
|
497
|
-
childSeries: new ContentChild(SeriesCollectionDirective),
|
|
498
|
-
childAxes: new ContentChild(AxesDirective),
|
|
499
|
-
childRows: new ContentChild(RowsDirective),
|
|
500
|
-
childColumns: new ContentChild(ColumnsDirective),
|
|
501
|
-
childRangeColorSettings: new ContentChild(RangeColorSettingsDirective),
|
|
502
|
-
childAnnotations: new ContentChild(AnnotationsDirective),
|
|
503
|
-
childSelectedDataIndexes: new ContentChild(SelectedDataIndexesDirective),
|
|
504
|
-
childIndicators: new ContentChild(IndicatorsDirective)
|
|
505
|
-
}
|
|
506
|
-
}]
|
|
507
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; }, propDecorators: { tooltip_template: [{
|
|
508
|
-
type: ContentChild,
|
|
509
|
-
args: ['tooltipTemplate']
|
|
510
|
-
}] } });
|
|
511
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2NoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBd0csWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlKLE9BQU8sRUFBRSxhQUFhLEVBQStCLGVBQWUsRUFBMEIsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0ksT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUU3RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyxhQUFhLEVBQUMscUJBQXFCLEVBQUMsYUFBYSxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsV0FBVyxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsYUFBYSxFQUFDLGlCQUFpQixFQUFDLDhCQUE4QixFQUFDLGNBQWMsRUFBQyxj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eUJBQXlCLENBQUM7d0JBQ3hELFNBQVMsRUFBRSxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUM7d0JBQzFDLFNBQVMsRUFBRSxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUM7d0JBQzFDLFlBQVksRUFBRSxJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQzt3QkFDaEQsdUJBQXVCLEVBQUUsSUFBSSxZQUFZLENBQUMsMkJBQTJCLENBQUM7d0JBQ3RFLGdCQUFnQixFQUFFLElBQUksWUFBWSxDQUFDLG9CQUFvQixDQUFDO3dCQUN4RCx3QkFBd0IsRUFBRSxJQUFJLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQzt3QkFDeEUsZUFBZSxFQUFFLElBQUksWUFBWSxDQUFDLG1CQUFtQixDQUFDO3FCQUN6RDtpQkFDSjsrS0F5RFUsZ0JBQWdCO3NCQUZ0QixZQUFZO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyLCBJbmplY3RvciwgVmFsdWVQcm92aWRlciwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRCYXNlLCBJQ29tcG9uZW50QmFzZSwgYXBwbHlNaXhpbnMsIENvbXBvbmVudE1peGlucywgUHJvcGVydHlDb2xsZWN0aW9uSW5mbywgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IENoYXJ0IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWNoYXJ0cyc7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgU2VyaWVzQ29sbGVjdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vc2VyaWVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBeGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9heGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSb3dzRGlyZWN0aXZlIH0gZnJvbSAnLi9yb3dzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb2x1bW5zRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2x1bW5zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSYW5nZUNvbG9yU2V0dGluZ3NEaXJlY3RpdmUgfSBmcm9tICcuL3JhbmdlY29sb3JzZXR0aW5ncy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQW5ub3RhdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuL2Fubm90YXRpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTZWxlY3RlZERhdGFJbmRleGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3RlZGRhdGFpbmRleGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbmRpY2F0b3JzRGlyZWN0aXZlIH0gZnJvbSAnLi9pbmRpY2F0b3JzLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBpbnB1dHM6IHN0cmluZ1tdID0gWydhbGxvd0V4cG9ydCcsJ2FsbG93TXVsdGlTZWxlY3Rpb24nLCdhbm5vdGF0aW9ucycsJ2F4ZXMnLCdiYWNrZ3JvdW5kJywnYmFja2dyb3VuZEltYWdlJywnYm9yZGVyJywnY2hhcnRBcmVhJywnY29sdW1ucycsJ2Nyb3NzaGFpcicsJ2N1cnJlbmN5Q29kZScsJ2RhdGFTb3VyY2UnLCdkZXNjcmlwdGlvbicsJ2VuYWJsZUFuaW1hdGlvbicsJ2VuYWJsZUF1dG9JbnRlcnZhbE9uQm90aEF4aXMnLCdlbmFibGVDYW52YXMnLCdlbmFibGVFeHBvcnQnLCdlbmFibGVQZXJzaXN0ZW5jZScsJ2VuYWJsZVJ0bCcsJ2VuYWJsZVNpZGVCeVNpZGVQbGFjZW1lbnQnLCdoZWlnaHQnLCdoaWdobGlnaHRDb2xvcicsJ2hpZ2hsaWdodE1vZGUnLCdoaWdobGlnaHRQYXR0ZXJuJywnaW5kaWNhdG9ycycsJ2lzTXVsdGlTZWxlY3QnLCdpc1RyYW5zcG9zZWQnLCdsZWdlbmRTZXR0aW5ncycsJ2xvY2FsZScsJ21hcmdpbicsJ3BhbGV0dGVzJywncHJpbWFyeVhBeGlzJywncHJpbWFyeVlBeGlzJywncmFuZ2VDb2xvclNldHRpbmdzJywncm93cycsJ3NlbGVjdGVkRGF0YUluZGV4ZXMnLCdzZWxlY3Rpb25Nb2RlJywnc2VsZWN0aW9uUGF0dGVybicsJ3NlcmllcycsJ3N1YlRpdGxlJywnc3ViVGl0bGVTdHlsZScsJ3RhYkluZGV4JywndGhlbWUnLCd0aXRsZScsJ3RpdGxlU3R5bGUnLCd0b29sdGlwJywndXNlR3JvdXBpbmdTZXBhcmF0b3InLCd3aWR0aCcsJ3pvb21TZXR0aW5ncyddO1xuZXhwb3J0IGNvbnN0IG91dHB1dHM6IHN0cmluZ1tdID0gWydhZnRlckV4cG9ydCcsJ2FuaW1hdGlvbkNvbXBsZXRlJywnYW5ub3RhdGlvblJlbmRlcicsJ2F4aXNMYWJlbENsaWNrJywnYXhpc0xhYmVsUmVuZGVyJywnYXhpc011bHRpTGFiZWxSZW5kZXInLCdheGlzUmFuZ2VDYWxjdWxhdGVkJywnYmVmb3JlRXhwb3J0JywnYmVmb3JlUHJpbnQnLCdiZWZvcmVSZXNpemUnLCdjaGFydERvdWJsZUNsaWNrJywnY2hhcnRNb3VzZUNsaWNrJywnY2hhcnRNb3VzZURvd24nLCdjaGFydE1vdXNlTGVhdmUnLCdjaGFydE1vdXNlTW92ZScsJ2NoYXJ0TW91c2VVcCcsJ2RyYWcnLCdkcmFnQ29tcGxldGUnLCdkcmFnRW5kJywnZHJhZ1N0YXJ0JywnbGVnZW5kQ2xpY2snLCdsZWdlbmRSZW5kZXInLCdsb2FkJywnbG9hZGVkJywnbXVsdGlMZXZlbExhYmVsQ2xpY2snLCdvblpvb21pbmcnLCdwb2ludENsaWNrJywncG9pbnREb3VibGVDbGljaycsJ3BvaW50TW92ZScsJ3BvaW50UmVuZGVyJywncmVzaXplZCcsJ3Njcm9sbENoYW5nZWQnLCdzY3JvbGxFbmQnLCdzY3JvbGxTdGFydCcsJ3NlbGVjdGlvbkNvbXBsZXRlJywnc2VyaWVzUmVuZGVyJywnc2hhcmVkVG9vbHRpcFJlbmRlcicsJ3RleHRSZW5kZXInLCd0b29sdGlwUmVuZGVyJywnem9vbUNvbXBsZXRlJywnZGF0YVNvdXJjZUNoYW5nZSddO1xuZXhwb3J0IGNvbnN0IHR3b1dheXM6IHN0cmluZ1tdID0gWydkYXRhU291cmNlJ107XG5cbi8qKlxuICogQ2hhcnQgQ29tcG9uZW50XG4gKiBgYGBodG1sXG4gKiA8ZWpzY2hhcnQ+PC9lanNjaGFydD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Vqcy1jaGFydCcsXG4gICAgaW5wdXRzOiBpbnB1dHMsXG4gICAgb3V0cHV0czogb3V0cHV0cyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZFNlcmllczogbmV3IENvbnRlbnRDaGlsZChTZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkQXhlczogbmV3IENvbnRlbnRDaGlsZChBeGVzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkUm93czogbmV3IENvbnRlbnRDaGlsZChSb3dzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkQ29sdW1uczogbmV3IENvbnRlbnRDaGlsZChDb2x1bW5zRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkUmFuZ2VDb2xvclNldHRpbmdzOiBuZXcgQ29udGVudENoaWxkKFJhbmdlQ29sb3JTZXR0aW5nc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZEFubm90YXRpb25zOiBuZXcgQ29udGVudENoaWxkKEFubm90YXRpb25zRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkU2VsZWN0ZWREYXRhSW5kZXhlczogbmV3IENvbnRlbnRDaGlsZChTZWxlY3RlZERhdGFJbmRleGVzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkSW5kaWNhdG9yczogbmV3IENvbnRlbnRDaGlsZChJbmRpY2F0b3JzRGlyZWN0aXZlKVxuICAgIH1cbn0pXG5AQ29tcG9uZW50TWl4aW5zKFtDb21wb25lbnRCYXNlXSlcbmV4cG9ydCBjbGFzcyBDaGFydENvbXBvbmVudCBleHRlbmRzIENoYXJ0IGltcGxlbWVudHMgSUNvbXBvbmVudEJhc2Uge1xuICAgIHB1YmxpYyBjb250ZXh0IDogYW55O1xuICAgIHB1YmxpYyB0YWdPYmplY3RzOiBhbnk7XG5cdGFmdGVyRXhwb3J0OiBhbnk7XG5cdGFuaW1hdGlvbkNvbXBsZXRlOiBhbnk7XG5cdGFubm90YXRpb25SZW5kZXI6IGFueTtcblx0YXhpc0xhYmVsQ2xpY2s6IGFueTtcblx0YXhpc0xhYmVsUmVuZGVyOiBhbnk7XG5cdGF4aXNNdWx0aUxhYmVsUmVuZGVyOiBhbnk7XG5cdGF4aXNSYW5nZUNhbGN1bGF0ZWQ6IGFueTtcblx0YmVmb3JlRXhwb3J0OiBhbnk7XG5cdGJlZm9yZVByaW50OiBhbnk7XG5cdGJlZm9yZVJlc2l6ZTogYW55O1xuXHRjaGFydERvdWJsZUNsaWNrOiBhbnk7XG5cdGNoYXJ0TW91c2VDbGljazogYW55O1xuXHRjaGFydE1vdXNlRG93bjogYW55O1xuXHRjaGFydE1vdXNlTGVhdmU6IGFueTtcblx0Y2hhcnRNb3VzZU1vdmU6IGFueTtcblx0Y2hhcnRNb3VzZVVwOiBhbnk7XG5cdGRyYWc6IGFueTtcblx0ZHJhZ0NvbXBsZXRlOiBhbnk7XG5cdGRyYWdFbmQ6IGFueTtcblx0ZHJhZ1N0YXJ0OiBhbnk7XG5cdGxlZ2VuZENsaWNrOiBhbnk7XG5cdGxlZ2VuZFJlbmRlcjogYW55O1xuXHRsb2FkOiBhbnk7XG5cdGxvYWRlZDogYW55O1xuXHRtdWx0aUxldmVsTGFiZWxDbGljazogYW55O1xuXHRvblpvb21pbmc6IGFueTtcblx0cG9pbnRDbGljazogYW55O1xuXHRwb2ludERvdWJsZUNsaWNrOiBhbnk7XG5cdHBvaW50TW92ZTogYW55O1xuXHRwb2ludFJlbmRlcjogYW55O1xuXHRyZXNpemVkOiBhbnk7XG5cdHNjcm9sbENoYW5nZWQ6IGFueTtcblx0c2Nyb2xsRW5kOiBhbnk7XG5cdHNjcm9sbFN0YXJ0OiBhbnk7XG5cdHNlbGVjdGlvbkNvbXBsZXRlOiBhbnk7XG5cdHNlcmllc1JlbmRlcjogYW55O1xuXHRzaGFyZWRUb29sdGlwUmVuZGVyOiBhbnk7XG5cdHRleHRSZW5kZXI6IGFueTtcblx0dG9vbHRpcFJlbmRlcjogYW55O1xuXHR6b29tQ29tcGxldGU6IGFueTtcblx0cHVibGljIGRhdGFTb3VyY2VDaGFuZ2U6IGFueTtcbiAgICBwdWJsaWMgY2hpbGRTZXJpZXM6IFF1ZXJ5TGlzdDxTZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRBeGVzOiBRdWVyeUxpc3Q8QXhlc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkUm93czogUXVlcnlMaXN0PFJvd3NEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZENvbHVtbnM6IFF1ZXJ5TGlzdDxDb2x1bW5zRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRSYW5nZUNvbG9yU2V0dGluZ3M6IFF1ZXJ5TGlzdDxSYW5nZUNvbG9yU2V0dGluZ3NEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZEFubm90YXRpb25zOiBRdWVyeUxpc3Q8QW5ub3RhdGlvbnNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZFNlbGVjdGVkRGF0YUluZGV4ZXM6IFF1ZXJ5TGlzdDxTZWxlY3RlZERhdGFJbmRleGVzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRJbmRpY2F0b3JzOiBRdWVyeUxpc3Q8SW5kaWNhdG9yc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydzZXJpZXMnLCAnYXhlcycsICdyb3dzJywgJ2NvbHVtbnMnLCAncmFuZ2VDb2xvclNldHRpbmdzJywgJ2Fubm90YXRpb25zJywgJ3NlbGVjdGVkRGF0YUluZGV4ZXMnLCAnaW5kaWNhdG9ycyddO1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdG9vbHRpcF90ZW1wbGF0ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ0VsZTogRWxlbWVudFJlZiwgcHJpdmF0ZSBzcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMubmdFbGUubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMgPSB0aGlzLmluamVjdGVkTW9kdWxlcyB8fCBbXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0xpbmVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1NjYXR0ZXJTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0NvbHVtblNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3BsaW5lU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTcGxpbmVBcmVhU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTdHJpcExpbmUnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0FyZWFTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1Njcm9sbEJhcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3RlcExpbmVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1N0ZXBBcmVhU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTdGFja2luZ0NvbHVtblNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3RhY2tpbmdMaW5lU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTdGFja2luZ0FyZWFTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1N0YWNraW5nU3RlcEFyZWFTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0JhclNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3RhY2tpbmdCYXJTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1JhbmdlQ29sdW1uU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNCdWJibGVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1Rvb2x0aXAnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0Nyb3NzaGFpcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQ2F0ZWdvcnknKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0RhdGVUaW1lJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNMb2dhcml0aG1pYycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzTGVnZW5kJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNab29tJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNEYXRhTGFiZWwnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1NlbGVjdGlvbicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQ2hhcnRBbm5vdGF0aW9uJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNIaWxvU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNIaWxvT3BlbkNsb3NlU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNXYXRlcmZhbGxTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1JhbmdlQXJlYVNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3BsaW5lUmFuZ2VBcmVhU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNDYW5kbGVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1BvbGFyU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNSYWRhclNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU21hSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNUbWFJbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0VtYUluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQWNjdW11bGF0aW9uRGlzdHJpYnV0aW9uSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNNYWNkSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNBdHJJbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1JzaUluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzTW9tZW50dW1JbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1N0b2NoYXN0aWNJbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0JvbGxpbmdlckJhbmRzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNCb3hBbmRXaGlza2VyU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNIaXN0b2dyYW1TZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0Vycm9yQmFyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNUcmVuZGxpbmVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNEYXRlVGltZUNhdGVnb3J5Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNNdWx0aUNvbG9yZWRMaW5lU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNNdWx0aUNvbG9yZWRBcmVhU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNNdWx0aUxldmVsTGFiZWwnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1BhcmV0b1NlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzRXhwb3J0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNEYXRhRWRpdGluZycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzSGlnaGxpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHJcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5hZGRUd29XYXkuY2FsbCh0aGlzLCB0d29XYXlzKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMuY29udGV4dCAgPSBuZXcgQ29tcG9uZW50QmFzZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nT25Jbml0KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ0FmdGVyVmlld0luaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkRlc3Ryb3kodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWdPYmplY3RzWzBdLmluc3RhbmNlID0gdGhpcy5jaGlsZFNlcmllcztcbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZEF4ZXMpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1sxXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRBeGVzO1xuICAgICAgICB9XG4gICAgICAgIFxuXHQgICAgaWYgKHRoaXMuY2hpbGRSb3dzKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbMl0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkUm93cztcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkQ29sdW1ucykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzNdLmluc3RhbmNlID0gdGhpcy5jaGlsZENvbHVtbnM7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZFJhbmdlQ29sb3JTZXR0aW5ncykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzRdLmluc3RhbmNlID0gdGhpcy5jaGlsZFJhbmdlQ29sb3JTZXR0aW5ncztcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkQW5ub3RhdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1s1XS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRBbm5vdGF0aW9ucztcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkU2VsZWN0ZWREYXRhSW5kZXhlcykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzZdLmluc3RhbmNlID0gdGhpcy5jaGlsZFNlbGVjdGVkRGF0YUluZGV4ZXM7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZEluZGljYXRvcnMpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1s3XS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRJbmRpY2F0b3JzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ0FmdGVyQ29udGVudENoZWNrZWQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyRXZlbnRzOiAoZXZlbnRMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgYWRkVHdvV2F5OiAocHJvcExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xufVxuXG4iXX0=
|