@provoly/dashboard 0.25.6 → 0.25.8

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 (79) hide show
  1. package/components/page-loader/index.d.ts +5 -0
  2. package/components/page-loader/page-loader.component.d.ts +7 -0
  3. package/components/page-loader/page-loader.module.d.ts +7 -0
  4. package/components/page-loader/public-api.d.ts +2 -0
  5. package/components/text-editor/text-editor.module.d.ts +1 -2
  6. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +3 -2
  7. package/dataset/i18n/en.translations.d.ts +6 -0
  8. package/dataset/i18n/fr.translations.d.ts +6 -0
  9. package/dataset/style/_o-pry-dataset-detail.scss +5 -4
  10. package/esm2022/components/page-loader/page-loader.component.mjs +15 -0
  11. package/esm2022/components/page-loader/page-loader.module.mjs +16 -0
  12. package/esm2022/components/page-loader/provoly-dashboard-components-page-loader.mjs +5 -0
  13. package/esm2022/components/page-loader/public-api.mjs +3 -0
  14. package/esm2022/components/text-editor/text-editor.module.mjs +25 -5
  15. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +14 -5
  16. package/esm2022/dataset/i18n/en.translations.mjs +9 -3
  17. package/esm2022/dataset/i18n/fr.translations.mjs +9 -3
  18. package/esm2022/dataset/style/css.component.mjs +2 -2
  19. package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +12 -4
  20. package/esm2022/lib/core/components/select/select.component.mjs +20 -7
  21. package/esm2022/lib/core/i18n/en.translations.mjs +3 -3
  22. package/esm2022/lib/core/i18n/fr.translations.mjs +3 -3
  23. package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
  24. package/esm2022/lib/core/model/widget-aggregated-chart-manifest.interface.mjs +1 -1
  25. package/esm2022/lib/core/store/data-source/data-source.actions.mjs +4 -1
  26. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +24 -2
  27. package/esm2022/lib/core/store/data-source/data-source.service.mjs +6 -1
  28. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -1
  29. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +2 -2
  30. package/esm2022/lib/dashboard/store/manifest.service.mjs +4 -3
  31. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +8 -5
  32. package/esm2022/presentation/presentation.module.mjs +8 -4
  33. package/esm2022/presentation/style/css.component.mjs +2 -2
  34. package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +6 -4
  35. package/esm2022/toolbox/toolbox.module.mjs +8 -4
  36. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +21 -5
  37. package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +2 -2
  38. package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +2 -2
  39. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +3 -3
  40. package/fesm2022/provoly-dashboard-components-page-loader.mjs +35 -0
  41. package/fesm2022/provoly-dashboard-components-page-loader.mjs.map +1 -0
  42. package/fesm2022/provoly-dashboard-components-text-editor.mjs +24 -4
  43. package/fesm2022/provoly-dashboard-components-text-editor.mjs.map +1 -1
  44. package/fesm2022/provoly-dashboard-dataset.mjs +31 -10
  45. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  46. package/fesm2022/provoly-dashboard-presentation.mjs +16 -9
  47. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  48. package/fesm2022/provoly-dashboard-toolbox.mjs +11 -6
  49. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  50. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +22 -6
  51. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  52. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +2 -2
  53. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
  54. package/fesm2022/provoly-dashboard.mjs +84 -20
  55. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  56. package/lib/core/components/edit-input/edit-input.component.d.ts +2 -1
  57. package/lib/core/components/select/select.component.d.ts +2 -0
  58. package/lib/core/model/manifest.interface.d.ts +1 -1
  59. package/lib/core/model/widget-aggregated-chart-manifest.interface.d.ts +1 -1
  60. package/lib/core/store/data-source/data-source.actions.d.ts +15 -0
  61. package/lib/core/store/data-source/data-source.effects.d.ts +14 -6
  62. package/lib/core/store/data-source/data-source.service.d.ts +1 -0
  63. package/lib/dashboard/store/dashboard.actions.d.ts +2 -0
  64. package/lib/dashboard/store/dashboard.effects.d.ts +0 -1
  65. package/lib/dashboard/store/dashboard.selectors.d.ts +0 -8
  66. package/lib/dashboard/store/manifest.service.d.ts +1 -1
  67. package/package.json +7 -1
  68. package/presentation/presentation.module.d.ts +2 -1
  69. package/presentation/style/_o-pry-new-presentation.scss +9 -1
  70. package/styles/components/_m-form-label-field.scss +0 -11
  71. package/styles/components/_o-modal.scss +2 -0
  72. package/styles/components/_o-page-loader.scss +34 -0
  73. package/styles/components/_o-pry-edit.scss +17 -16
  74. package/styles/components/_o-text-panel.scss +0 -2
  75. package/styles/main.scss +1 -0
  76. package/styles-theme/abstracts-theme/variables/_variables-decoration.scss +13 -0
  77. package/toolbox/components/dashboard-details/dashboard-details.component.d.ts +2 -2
  78. package/toolbox/toolbox.module.d.ts +2 -1
  79. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +2 -1
@@ -29,7 +29,11 @@ export const frTranslations = {
29
29
  INACTIVE: 'Invalide',
30
30
  ERROR: 'En erreur',
31
31
  ACTIVE: 'Disponible',
32
- currentlyActive: 'Actif'
32
+ currentlyActive: 'Actif',
33
+ delete: {
34
+ title: 'Supprimer une version',
35
+ message: 'La suppression de cette version entraînera la suppression des données associées. Confirmez-vous la suppression ?'
36
+ }
33
37
  },
34
38
  form: {
35
39
  obligatory: 'Champ obligatoire',
@@ -41,7 +45,9 @@ export const frTranslations = {
41
45
  ERROR: 'Consulter erreurs',
42
46
  WARNING: 'Consulter warnings',
43
47
  LOADING: '',
44
- INDEXING: ''
48
+ INDEXING: '',
49
+ delete: 'Supprimer',
50
+ cancel: 'Annuler'
45
51
  },
46
52
  error: {
47
53
  ERROR: 'Erreur',
@@ -80,4 +86,4 @@ export const frTranslations = {
80
86
  }
81
87
  }
82
88
  };
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2ZyLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLFdBQVc7WUFDcEIsS0FBSyxFQUFFLHNCQUFzQjtZQUM3QixNQUFNLEVBQUUsWUFBWTtZQUNwQixXQUFXLEVBQUUsYUFBYTtZQUMxQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLGNBQWMsRUFBRSx3QkFBd0I7WUFDeEMsV0FBVyxFQUFFLGNBQWM7WUFDM0IsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHLEVBQUUsT0FBTztZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsWUFBWSxFQUFFLHFCQUFxQjtZQUNuQyxPQUFPLEVBQUUsWUFBWTtZQUNyQixTQUFTLEVBQUUsd0JBQXdCO1lBQ25DLGVBQWUsRUFBRSx1QkFBdUI7WUFDeEMsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxVQUFVO2dCQUNqQixjQUFjLEVBQUUsb0JBQW9CO2dCQUNwQyxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxxQkFBcUIsRUFBRSw0QkFBNEI7Z0JBQ25ELFdBQVcsRUFBRSxlQUFlO2dCQUM1QixRQUFRLEVBQUUsZUFBZTtnQkFDekIsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixLQUFLLEVBQUUsV0FBVztnQkFDbEIsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLGVBQWUsRUFBRSxPQUFPO2FBQ3pCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLFVBQVUsRUFBRSxtQkFBbUI7Z0JBQy9CLElBQUksRUFBRSxzREFBc0Q7YUFDN0Q7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQixPQUFPLEVBQUUsb0JBQW9CO2dCQUM3QixPQUFPLEVBQUUsRUFBRTtnQkFDWCxRQUFRLEVBQUUsRUFBRTthQUNiO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLEtBQUssRUFBRSxRQUFRO2dCQUNmLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUUsbUJBQW1CO29CQUMxQixPQUFPLEVBQUUsb0JBQW9CO2lCQUM5QjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsT0FBTyxFQUFFLFNBQVM7aUJBQ25CO2dCQUNELElBQUksRUFBRTtvQkFDSixZQUFZLEVBQUUsb0RBQW9EO29CQUNsRSxNQUFNLEVBQUUsc0NBQXNDO29CQUM5QyxPQUFPLEVBQUUsZ0RBQWdEO29CQUN6RCxTQUFTLEVBQUUsMENBQTBDO29CQUNyRCxpQkFBaUIsRUFBRSw4Q0FBOEM7b0JBQ2pFLGFBQWEsRUFBRSw4RkFBOEY7aUJBQzlHO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUNILG1IQUFtSDtnQkFDckgsTUFBTSxFQUNKLHlHQUF5RztnQkFDM0csUUFBUSxFQUNOLHdKQUF3SjtnQkFDMUosT0FBTyxFQUFFLDBEQUEwRDtnQkFDbkUsT0FBTyxFQUNMLHdJQUF3STtnQkFDMUksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsZ0JBQWdCLEVBQ2QsOFVBQThVO2dCQUNoVixjQUFjLEVBQ1osc1NBQXNTO2FBQ3pTO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIGRhdGFzZXQ6IHtcbiAgICAgIGNvbnN1bHQ6ICdDb25zdWx0ZXInLFxuICAgICAgdGl0bGU6ICdDYXRhbG9ndWUgZGUgZG9ubsOpZXMnLFxuICAgICAgc2VhcmNoOiAnUmVjaGVyY2hlcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgIGRhdGU6ICdEYXRlJyxcbiAgICAgIHN0YXR1czogJ1N0YXR1dCcsXG4gICAgICB2ZXJzaW9uSGlzdG9yeTogJ0hpc3RvcmlxdWUgZGUgdmVyc2lvbnMnLFxuICAgICAgaW5mb3JtYXRpb246ICdJbmZvcm1hdGlvbnMnLFxuICAgICAgZGF0YTogJ0Rvbm7DqWVzJyxcbiAgICAgIHRhYmxlOiAnVGFibGVhdScsXG4gICAgICBtYXA6ICdDYXJ0ZScsXG4gICAgICBleHBvcnQ6ICdFeHBvcnQnLFxuICAgICAgYXBpOiAnQVBJJyxcbiAgICAgIHJldHVyblRvTGlzdDogJ1JldG91ciBhdSBjYXRhbG9ndWUnLFxuICAgICAgcmVmcmVzaDogJ0FjdHVhbGlzZXInLFxuICAgICAgc2luY2VfZGF5OiAnRGVybmnDqHJlIG1pc2Ugw6Agam91ciA6JyxcbiAgICAgIG5vQWN0aXZlVmVyc2lvbjogJ0F1Y3VuZSB2ZXJzaW9uIGFjdGl2ZScsXG4gICAgICB2ZXJzaW9uOiB7XG4gICAgICAgIHRpdGxlOiAnSW50aXR1bMOpJyxcbiAgICAgICAgcHJvZHVjdGlvbkRhdGU6ICdEYXRlIGRlIHByb2R1Y3Rpb24nLFxuICAgICAgICBwcm9kdWNlcjogJ1Byb2R1Y3RldXIgZGUgZG9ubsOpZXMnLFxuICAgICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb246ICdJbmZvcm1hdGlvbnMgZGUgbGEgdmVyc2lvbicsXG4gICAgICAgIG5vdFByb3ZpZGVkOiAnTm9uIHJlbnNlaWduw6knLFxuICAgICAgICBJTkRFWElORzogJ0VuIGNoYXJnZW1lbnQnLFxuICAgICAgICBMT0FESU5HOiAnRW4gY2hhcmdlbWVudCcsXG4gICAgICAgIElOQUNUSVZFOiAnSW52YWxpZGUnLFxuICAgICAgICBFUlJPUjogJ0VuIGVycmV1cicsXG4gICAgICAgIEFDVElWRTogJ0Rpc3BvbmlibGUnLFxuICAgICAgICBjdXJyZW50bHlBY3RpdmU6ICdBY3RpZidcbiAgICAgIH0sXG4gICAgICBmb3JtOiB7XG4gICAgICAgIG9ibGlnYXRvcnk6ICdDaGFtcCBvYmxpZ2F0b2lyZScsXG4gICAgICAgIGRhdGU6ICdMYSBkYXRlIGRlIHByb2R1Y3Rpb24gbmUgcGV1dCBwYXMgw6p0cmUgZGFucyBsZSBmdXR1cidcbiAgICAgIH0sXG4gICAgICBidXR0b25BY3Rpb246IHtcbiAgICAgICAgQUNUSVZFOiAnSW52YWxpZGVyJyxcbiAgICAgICAgSU5BQ1RJVkU6ICdWYWxpZGVyJyxcbiAgICAgICAgRVJST1I6ICdDb25zdWx0ZXIgZXJyZXVycycsXG4gICAgICAgIFdBUk5JTkc6ICdDb25zdWx0ZXIgd2FybmluZ3MnLFxuICAgICAgICBMT0FESU5HOiAnJyxcbiAgICAgICAgSU5ERVhJTkc6ICcnXG4gICAgICB9LFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgRVJST1I6ICdFcnJldXInLFxuICAgICAgICBXQVJOSU5HOiAnV2FybmluZycsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgZWxlbWVudHM6ICdFbGVtZW50cycsXG4gICAgICAgIG1lc3NhZ2U6ICdNZXNzYWdlJyxcbiAgICAgICAgY2xvc2U6ICdGZXJtZXInLFxuICAgICAgICBtb2RhbFRpdGxlOiB7XG4gICAgICAgICAgRVJST1I6ICdMaXN0ZSBkZXMgZXJyZXVycycsXG4gICAgICAgICAgV0FSTklORzogJ0xpc3RlIGRlcyB3YXJuaW5ncydcbiAgICAgICAgfSxcbiAgICAgICAgbGV2ZWw6IHtcbiAgICAgICAgICBFUlJPUjogJ0VycmV1cicsXG4gICAgICAgICAgV0FSTklORzogJ1dhcm5pbmcnXG4gICAgICAgIH0sXG4gICAgICAgIGNvZGU6IHtcbiAgICAgICAgICBVTlJFQ09HTklaRUQ6ICdBdHRyaWJ1dHt7cGx1cmFsfX0ge3tuYW1lfX0gbm9uIHJlY29ubnUge3twbHVyYWx9fScsXG4gICAgICAgICAgRk9STUFUOiBcIkZvcm1hdCBkJ2F0dHJpYnV0IHt7bmFtZX19IGluY29ycmVjdFwiLFxuICAgICAgICAgIFNUT1JBR0U6IFwiRXJyZXVyIGQnaW5zZXJ0aW9uIHBvdXIgbCfDqWzDqW1lbnQge3tyZWNvcmRJZH19XCIsXG4gICAgICAgICAgTk9fVkFMVUVTOiAnUGFzIGRlIHZhbGV1ciBwb3VyIGxhIGxpZ25lIHt7cmVjb3JkSWR9fScsXG4gICAgICAgICAgRk9STUFUX0ZJTEVfRVJST1I6IFwiTGUgZm9ybWF0IGR1IGZpY2hpZXIgdHJhbnNtaXMgbidlc3QgcGFzIGfDqXLDqVwiLFxuICAgICAgICAgIE5PX0FUVFJJQlVURVM6IFwiTGVzIGRvbm7DqWVzIGltcG9ydMOpZXMgbmUgY29ycmVzcG9uZGVudCBwYXMgYXUgbW9kw6hsZSBkZSBkb25uw6llcyBpbmRpcXXDqSBlbiBjaWJsZSBkZSBsJ2ltcG9ydFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB0b29sdGlwOiB7XG4gICAgICAgIGVycm9yOlxuICAgICAgICAgIFwiRGVzIGVycmV1cnMgc29udCBhcHBhcnVlcyBsb3JzIGRlIGwnaW50w6lncmF0aW9uIGRlcyBkb25uw6llcyBkYW5zIGxhIHNvbHV0aW9uLiBMZXMgZG9ubsOpZXMgbmUgc29udCBwYXMgYWNjZXNzaWJsZXNcIixcbiAgICAgICAgYWN0aXZlOlxuICAgICAgICAgIFwiTGVzIGRvbm7DqWVzIHJlbW9udMOpZXMgcGFyIGTDqWZhdXQgZGFucyBsJ2FwcGxpY2F0aW9uIGNvcnJlc3BvbmRlbnQgw6AgY2VsbGVzIGludMOpZ3LDqWVzIGRhbnMgY2V0dGUgdmVyc2lvblwiLFxuICAgICAgICBpbmFjdGl2ZTpcbiAgICAgICAgICAnTGVzIGRvbm7DqWVzIGRlIGNldHRlIHZlcnNpb24gc29udCBkaXNwb25pYmxlcyBtYWlzIG5vbiByZW1vbnTDqWVzIHBhciBkw6lmYXV0LiBJbCBlc3QgcG9zc2libGUgZGUgbGVzIGFmZmljaGVyIGVuIGRlbWFuZGFudCBleHBsaWNpdGVtZW50IGNldHRlIHZlcnNpb24uJyxcbiAgICAgICAgbG9hZGluZzogXCJMZXMgZG9ubsOpZXMgc29udCBlbiBjb3VycyBkJ2ludMOpZ3JhdGlvbiBkYW5zIGxhIHNvbHV0aW9uXCIsXG4gICAgICAgIGludmFsaWQ6XG4gICAgICAgICAgXCJMZXMgZG9ubsOpZXMgZGUgY2V0dGUgdmVyc2lvbiBzb250IHByw6lzZW50ZXMgZGFucyBsYSBzb2x1dGlvbiBtYWlzIHNvbnQgbm9uIHBlcnRpbmVudGVzLiBFbGxlcyBuZSBzb250IHBhcyBkaXNwb25pYmxlcyBwb3VyIGwnYWZmaWNoYWdlXCIsXG4gICAgICAgIHVua25vd246ICdFcnJldXIgaW5jb25udWUnLFxuICAgICAgICBpbnZhbGlkYXRlQnV0dG9uOlxuICAgICAgICAgICdQZXJtZXQgZGUgcmVuZHJlIGluZGlzcG9uaWJsZSBsZXMgZG9ubsOpZXMgZGUgbGEgdmVyc2lvbiBkYW5zIGxlIGNhcyBvw7kgZWxsZXMgc29udCBjb25zaWTDqXLDqWVzIGNvbW1lIG5vbiBwZXJ0aW5lbnRlIGRcXCd1biBwb2ludCBkZSB2dWUgbcOpdGllci4gU2kgbGEgdmVyc2lvbiBpbnZhbGlkw6llIGVzdCBsYSB2ZXJzaW9uIGFjdGl2ZSwgYWxvcnMgbGVzIGRvbm7DqWVzIHLDqWN1cMOpcsOpZXMgcGFyIGTDqWZhdXQgc2Vyb250IGNlbGxlIGRlIGxhIHZlcnNpb24gXCJEaXNwb25pYmxlXCIgcHLDqWPDqWRlbnRlIGxhIHBsdXMgcsOpY2VudGUgcXVpIHBhc3NlcmEgYWluc2kgYXUgc3RhdHV0IFwiQWN0aXZlXCInLFxuICAgICAgICB2YWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICBcIlBlcm1ldCBkZSByZW5kcmUgZGlzcG9uaWJsZSBsZXMgZG9ubsOpZXMgZGUgbGEgdmVyc2lvbiBkYW5zIGxlIGNhcyBvw7kgZWxsZXMgc29udCBjb25zaWTDqXLDqWVzIGNvbW1lIHBlcnRpbmVudGUgZCd1biBwb2ludCBkZSB2dWUgbcOpdGllciBhcHLDqHMgYXZvaXIgw6l0w6kgaW52YWxpZGVyLiBTaSBsYSB2ZXJzaW9uIHZhbGlkw6llIGVzdCBsYSBwbHVzIHLDqWNlbnRlLCBlbGxlIGRldmllbmRyYSBhaW5zaSBsYSB2ZXJzaW9uIGFjdGl2ZSBldCBzZXMgZG9ubsOpZXMgc2Vyb250IGNlbGxlcyByZW1vbnTDqWVzIHBhciBkw6lmYXV0XCJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2ZyLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLFdBQVc7WUFDcEIsS0FBSyxFQUFFLHNCQUFzQjtZQUM3QixNQUFNLEVBQUUsWUFBWTtZQUNwQixXQUFXLEVBQUUsYUFBYTtZQUMxQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLGNBQWMsRUFBRSx3QkFBd0I7WUFDeEMsV0FBVyxFQUFFLGNBQWM7WUFDM0IsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHLEVBQUUsT0FBTztZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsWUFBWSxFQUFFLHFCQUFxQjtZQUNuQyxPQUFPLEVBQUUsWUFBWTtZQUNyQixTQUFTLEVBQUUsd0JBQXdCO1lBQ25DLGVBQWUsRUFBRSx1QkFBdUI7WUFDeEMsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxVQUFVO2dCQUNqQixjQUFjLEVBQUUsb0JBQW9CO2dCQUNwQyxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxxQkFBcUIsRUFBRSw0QkFBNEI7Z0JBQ25ELFdBQVcsRUFBRSxlQUFlO2dCQUM1QixRQUFRLEVBQUUsZUFBZTtnQkFDekIsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixLQUFLLEVBQUUsV0FBVztnQkFDbEIsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLGVBQWUsRUFBRSxPQUFPO2dCQUN4QixNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFLHVCQUF1QjtvQkFDOUIsT0FBTyxFQUNMLGtIQUFrSDtpQkFDckg7YUFDRjtZQUNELElBQUksRUFBRTtnQkFDSixVQUFVLEVBQUUsbUJBQW1CO2dCQUMvQixJQUFJLEVBQUUsc0RBQXNEO2FBQzdEO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixRQUFRLEVBQUUsU0FBUztnQkFDbkIsS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2FBQ2xCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLEtBQUssRUFBRSxRQUFRO2dCQUNmLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUUsbUJBQW1CO29CQUMxQixPQUFPLEVBQUUsb0JBQW9CO2lCQUM5QjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsT0FBTyxFQUFFLFNBQVM7aUJBQ25CO2dCQUNELElBQUksRUFBRTtvQkFDSixZQUFZLEVBQUUsb0RBQW9EO29CQUNsRSxNQUFNLEVBQUUsc0NBQXNDO29CQUM5QyxPQUFPLEVBQUUsZ0RBQWdEO29CQUN6RCxTQUFTLEVBQUUsMENBQTBDO29CQUNyRCxpQkFBaUIsRUFBRSw4Q0FBOEM7b0JBQ2pFLGFBQWEsRUFBRSw4RkFBOEY7aUJBQzlHO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUNILG1IQUFtSDtnQkFDckgsTUFBTSxFQUNKLHlHQUF5RztnQkFDM0csUUFBUSxFQUNOLHdKQUF3SjtnQkFDMUosT0FBTyxFQUFFLDBEQUEwRDtnQkFDbkUsT0FBTyxFQUNMLHdJQUF3STtnQkFDMUksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsZ0JBQWdCLEVBQ2QsOFVBQThVO2dCQUNoVixjQUFjLEVBQ1osc1NBQXNTO2FBQ3pTO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIGRhdGFzZXQ6IHtcbiAgICAgIGNvbnN1bHQ6ICdDb25zdWx0ZXInLFxuICAgICAgdGl0bGU6ICdDYXRhbG9ndWUgZGUgZG9ubsOpZXMnLFxuICAgICAgc2VhcmNoOiAnUmVjaGVyY2hlcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgIGRhdGU6ICdEYXRlJyxcbiAgICAgIHN0YXR1czogJ1N0YXR1dCcsXG4gICAgICB2ZXJzaW9uSGlzdG9yeTogJ0hpc3RvcmlxdWUgZGUgdmVyc2lvbnMnLFxuICAgICAgaW5mb3JtYXRpb246ICdJbmZvcm1hdGlvbnMnLFxuICAgICAgZGF0YTogJ0Rvbm7DqWVzJyxcbiAgICAgIHRhYmxlOiAnVGFibGVhdScsXG4gICAgICBtYXA6ICdDYXJ0ZScsXG4gICAgICBleHBvcnQ6ICdFeHBvcnQnLFxuICAgICAgYXBpOiAnQVBJJyxcbiAgICAgIHJldHVyblRvTGlzdDogJ1JldG91ciBhdSBjYXRhbG9ndWUnLFxuICAgICAgcmVmcmVzaDogJ0FjdHVhbGlzZXInLFxuICAgICAgc2luY2VfZGF5OiAnRGVybmnDqHJlIG1pc2Ugw6Agam91ciA6JyxcbiAgICAgIG5vQWN0aXZlVmVyc2lvbjogJ0F1Y3VuZSB2ZXJzaW9uIGFjdGl2ZScsXG4gICAgICB2ZXJzaW9uOiB7XG4gICAgICAgIHRpdGxlOiAnSW50aXR1bMOpJyxcbiAgICAgICAgcHJvZHVjdGlvbkRhdGU6ICdEYXRlIGRlIHByb2R1Y3Rpb24nLFxuICAgICAgICBwcm9kdWNlcjogJ1Byb2R1Y3RldXIgZGUgZG9ubsOpZXMnLFxuICAgICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb246ICdJbmZvcm1hdGlvbnMgZGUgbGEgdmVyc2lvbicsXG4gICAgICAgIG5vdFByb3ZpZGVkOiAnTm9uIHJlbnNlaWduw6knLFxuICAgICAgICBJTkRFWElORzogJ0VuIGNoYXJnZW1lbnQnLFxuICAgICAgICBMT0FESU5HOiAnRW4gY2hhcmdlbWVudCcsXG4gICAgICAgIElOQUNUSVZFOiAnSW52YWxpZGUnLFxuICAgICAgICBFUlJPUjogJ0VuIGVycmV1cicsXG4gICAgICAgIEFDVElWRTogJ0Rpc3BvbmlibGUnLFxuICAgICAgICBjdXJyZW50bHlBY3RpdmU6ICdBY3RpZicsXG4gICAgICAgIGRlbGV0ZToge1xuICAgICAgICAgIHRpdGxlOiAnU3VwcHJpbWVyIHVuZSB2ZXJzaW9uJyxcbiAgICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICAgJ0xhIHN1cHByZXNzaW9uIGRlIGNldHRlIHZlcnNpb24gZW50cmHDrm5lcmEgbGEgc3VwcHJlc3Npb24gZGVzIGRvbm7DqWVzIGFzc29jacOpZXMuIENvbmZpcm1lei12b3VzIGxhIHN1cHByZXNzaW9uID8nXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBmb3JtOiB7XG4gICAgICAgIG9ibGlnYXRvcnk6ICdDaGFtcCBvYmxpZ2F0b2lyZScsXG4gICAgICAgIGRhdGU6ICdMYSBkYXRlIGRlIHByb2R1Y3Rpb24gbmUgcGV1dCBwYXMgw6p0cmUgZGFucyBsZSBmdXR1cidcbiAgICAgIH0sXG4gICAgICBidXR0b25BY3Rpb246IHtcbiAgICAgICAgQUNUSVZFOiAnSW52YWxpZGVyJyxcbiAgICAgICAgSU5BQ1RJVkU6ICdWYWxpZGVyJyxcbiAgICAgICAgRVJST1I6ICdDb25zdWx0ZXIgZXJyZXVycycsXG4gICAgICAgIFdBUk5JTkc6ICdDb25zdWx0ZXIgd2FybmluZ3MnLFxuICAgICAgICBMT0FESU5HOiAnJyxcbiAgICAgICAgSU5ERVhJTkc6ICcnLFxuICAgICAgICBkZWxldGU6ICdTdXBwcmltZXInLFxuICAgICAgICBjYW5jZWw6ICdBbm51bGVyJ1xuICAgICAgfSxcbiAgICAgIGVycm9yOiB7XG4gICAgICAgIEVSUk9SOiAnRXJyZXVyJyxcbiAgICAgICAgV0FSTklORzogJ1dhcm5pbmcnLFxuICAgICAgICB0eXBlOiAnVHlwZScsXG4gICAgICAgIGVsZW1lbnRzOiAnRWxlbWVudHMnLFxuICAgICAgICBtZXNzYWdlOiAnTWVzc2FnZScsXG4gICAgICAgIGNsb3NlOiAnRmVybWVyJyxcbiAgICAgICAgbW9kYWxUaXRsZToge1xuICAgICAgICAgIEVSUk9SOiAnTGlzdGUgZGVzIGVycmV1cnMnLFxuICAgICAgICAgIFdBUk5JTkc6ICdMaXN0ZSBkZXMgd2FybmluZ3MnXG4gICAgICAgIH0sXG4gICAgICAgIGxldmVsOiB7XG4gICAgICAgICAgRVJST1I6ICdFcnJldXInLFxuICAgICAgICAgIFdBUk5JTkc6ICdXYXJuaW5nJ1xuICAgICAgICB9LFxuICAgICAgICBjb2RlOiB7XG4gICAgICAgICAgVU5SRUNPR05JWkVEOiAnQXR0cmlidXR7e3BsdXJhbH19IHt7bmFtZX19IG5vbiByZWNvbm51IHt7cGx1cmFsfX0nLFxuICAgICAgICAgIEZPUk1BVDogXCJGb3JtYXQgZCdhdHRyaWJ1dCB7e25hbWV9fSBpbmNvcnJlY3RcIixcbiAgICAgICAgICBTVE9SQUdFOiBcIkVycmV1ciBkJ2luc2VydGlvbiBwb3VyIGwnw6lsw6ltZW50IHt7cmVjb3JkSWR9fVwiLFxuICAgICAgICAgIE5PX1ZBTFVFUzogJ1BhcyBkZSB2YWxldXIgcG91ciBsYSBsaWduZSB7e3JlY29yZElkfX0nLFxuICAgICAgICAgIEZPUk1BVF9GSUxFX0VSUk9SOiBcIkxlIGZvcm1hdCBkdSBmaWNoaWVyIHRyYW5zbWlzIG4nZXN0IHBhcyBnw6lyw6lcIixcbiAgICAgICAgICBOT19BVFRSSUJVVEVTOiBcIkxlcyBkb25uw6llcyBpbXBvcnTDqWVzIG5lIGNvcnJlc3BvbmRlbnQgcGFzIGF1IG1vZMOobGUgZGUgZG9ubsOpZXMgaW5kaXF1w6kgZW4gY2libGUgZGUgbCdpbXBvcnRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICBlcnJvcjpcbiAgICAgICAgICBcIkRlcyBlcnJldXJzIHNvbnQgYXBwYXJ1ZXMgbG9ycyBkZSBsJ2ludMOpZ3JhdGlvbiBkZXMgZG9ubsOpZXMgZGFucyBsYSBzb2x1dGlvbi4gTGVzIGRvbm7DqWVzIG5lIHNvbnQgcGFzIGFjY2Vzc2libGVzXCIsXG4gICAgICAgIGFjdGl2ZTpcbiAgICAgICAgICBcIkxlcyBkb25uw6llcyByZW1vbnTDqWVzIHBhciBkw6lmYXV0IGRhbnMgbCdhcHBsaWNhdGlvbiBjb3JyZXNwb25kZW50IMOgIGNlbGxlcyBpbnTDqWdyw6llcyBkYW5zIGNldHRlIHZlcnNpb25cIixcbiAgICAgICAgaW5hY3RpdmU6XG4gICAgICAgICAgJ0xlcyBkb25uw6llcyBkZSBjZXR0ZSB2ZXJzaW9uIHNvbnQgZGlzcG9uaWJsZXMgbWFpcyBub24gcmVtb250w6llcyBwYXIgZMOpZmF1dC4gSWwgZXN0IHBvc3NpYmxlIGRlIGxlcyBhZmZpY2hlciBlbiBkZW1hbmRhbnQgZXhwbGljaXRlbWVudCBjZXR0ZSB2ZXJzaW9uLicsXG4gICAgICAgIGxvYWRpbmc6IFwiTGVzIGRvbm7DqWVzIHNvbnQgZW4gY291cnMgZCdpbnTDqWdyYXRpb24gZGFucyBsYSBzb2x1dGlvblwiLFxuICAgICAgICBpbnZhbGlkOlxuICAgICAgICAgIFwiTGVzIGRvbm7DqWVzIGRlIGNldHRlIHZlcnNpb24gc29udCBwcsOpc2VudGVzIGRhbnMgbGEgc29sdXRpb24gbWFpcyBzb250IG5vbiBwZXJ0aW5lbnRlcy4gRWxsZXMgbmUgc29udCBwYXMgZGlzcG9uaWJsZXMgcG91ciBsJ2FmZmljaGFnZVwiLFxuICAgICAgICB1bmtub3duOiAnRXJyZXVyIGluY29ubnVlJyxcbiAgICAgICAgaW52YWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICAnUGVybWV0IGRlIHJlbmRyZSBpbmRpc3BvbmlibGUgbGVzIGRvbm7DqWVzIGRlIGxhIHZlcnNpb24gZGFucyBsZSBjYXMgb8O5IGVsbGVzIHNvbnQgY29uc2lkw6lyw6llcyBjb21tZSBub24gcGVydGluZW50ZSBkXFwndW4gcG9pbnQgZGUgdnVlIG3DqXRpZXIuIFNpIGxhIHZlcnNpb24gaW52YWxpZMOpZSBlc3QgbGEgdmVyc2lvbiBhY3RpdmUsIGFsb3JzIGxlcyBkb25uw6llcyByw6ljdXDDqXLDqWVzIHBhciBkw6lmYXV0IHNlcm9udCBjZWxsZSBkZSBsYSB2ZXJzaW9uIFwiRGlzcG9uaWJsZVwiIHByw6ljw6lkZW50ZSBsYSBwbHVzIHLDqWNlbnRlIHF1aSBwYXNzZXJhIGFpbnNpIGF1IHN0YXR1dCBcIkFjdGl2ZVwiJyxcbiAgICAgICAgdmFsaWRhdGVCdXR0b246XG4gICAgICAgICAgXCJQZXJtZXQgZGUgcmVuZHJlIGRpc3BvbmlibGUgbGVzIGRvbm7DqWVzIGRlIGxhIHZlcnNpb24gZGFucyBsZSBjYXMgb8O5IGVsbGVzIHNvbnQgY29uc2lkw6lyw6llcyBjb21tZSBwZXJ0aW5lbnRlIGQndW4gcG9pbnQgZGUgdnVlIG3DqXRpZXIgYXByw6hzIGF2b2lyIMOpdMOpIGludmFsaWRlci4gU2kgbGEgdmVyc2lvbiB2YWxpZMOpZSBlc3QgbGEgcGx1cyByw6ljZW50ZSwgZWxsZSBkZXZpZW5kcmEgYWluc2kgbGEgdmVyc2lvbiBhY3RpdmUgZXQgc2VzIGRvbm7DqWVzIHNlcm9udCBjZWxsZXMgcmVtb250w6llcyBwYXIgZMOpZmF1dFwiXG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuIl19
@@ -2,10 +2,10 @@ import { Component, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class PryDatasetCssComponent {
4
4
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryDatasetCssComponent, selector: "pry-dataset-css", ngImport: i0, template: '', isInline: true, styles: [".o-pry-dataset{margin:0;padding:0}.o-pry-dataset li{list-style:none}.dataset-layout{display:flex;flex-direction:column;align-items:center}.dataset-layout__content{width:100%;padding:.625rem 1.25rem 3.125rem;height:100%;overflow:auto}.o-pry-dataset{display:grid;grid-template-columns:repeat(auto-fill,minmax(20.625rem,0fr));grid-gap:.625rem;column-gap:1.5rem;row-gap:2rem;padding-bottom:9.375rem}.o-pry-dataset__search{position:relative}.o-pry-dataset__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}.o-pry-dataset__item{display:flex;flex-direction:column;align-items:stretch}.o-dataset-layout{position:relative;z-index:1;overflow:hidden;height:100%}\n", ".o-pry-dataset-card{display:flex;flex-direction:column;align-items:stretch;position:relative;margin:0 auto;border-collapse:collapse;font-size:.875rem;min-width:20.625rem;height:9.375rem}.o-pry-dataset-card:hover{cursor:pointer}.o-pry-dataset-card:hover .o-pry-dataset-card__footer pry-icon{visibility:visible;opacity:1}.o-pry-dataset-card__header{display:flex;gap:.9375rem;padding:.625rem;max-width:20.625rem}.o-pry-dataset-card__description-container{position:relative;width:100%}.o-pry-dataset-card__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-pry-dataset-card__txt{flex-grow:1;padding:.625rem .9375rem}.o-pry-dataset-card__txt .a-h3{font-size:.875rem}.o-pry-dataset-card__txt .a-p{font-size:.8125rem}.o-pry-dataset-card__txt .a-p.-date{margin-bottom:0}.o-pry-dataset-card__footer{display:flex;align-items:center;justify-content:center}.o-pry-dataset-card__footer .a-btn{margin-left:1.25rem}.o-pry-dataset-card__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-pry-dataset-card .dataset-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n", "pry-dataset-detail .o-dataset-layout__panel .version-information h1,pry-dataset-detail .o-dataset-layout__panel .version-information h2,pry-dataset-detail .o-dataset-layout__panel .version-information h3,pry-dataset-detail .o-dataset-layout__panel .version-information h4,pry-dataset-detail .o-dataset-layout__panel .version-information h5,pry-dataset-detail .o-dataset-layout__panel .version-information h6{padding:0;margin:0;color:#253043}pry-dataset-detail .o-dataset-layout__panel .version-information h5{font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information span,pry-dataset-detail .o-dataset-layout__panel .version-information p{font-size:.875rem;color:#263340;white-space:pre-wrap}pry-dataset-detail .o-dataset-layout__panel .version-information div{padding-bottom:10px}pry-dataset-detail .o-dataset-layout__panel .version-information ul,pry-dataset-detail .o-dataset-layout__panel .version-information ol{margin:0;line-height:1rem}pry-dataset-detail .o-dataset-layout__panel .version-information li{color:#253043;font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information table{border-collapse:collapse}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr th{padding-top:.75rem;padding-bottom:.75rem;text-align:left}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr td{padding:.75rem .5rem;text-align:left}pry-dataset-detail{height:100%;width:100%}pry-dataset-detail .o-dataset-layout{display:flex}pry-dataset-detail .o-dataset-layout__content{overflow:hidden;height:100%;padding-left:2rem;padding-top:1.25rem;flex:1}pry-dataset-detail .o-dataset-layout__panel{width:20.625rem;border-left:solid 1px #D8E7F7;padding:.625rem;font-size:.875rem;color:#263340}pry-dataset-detail .o-dataset-layout__panel .a-label{font-weight:700}pry-dataset-detail .o-dataset-layout .panel__content{gap:.9375rem}pry-dataset-detail .dashboard-container{height:100%}pry-dataset-detail .table-container{flex:1 1}pry-dataset-detail .table-container pry-icon{position:relative;top:.3125rem}pry-dataset-detail .state-button{text-decoration:underline}pry-dataset-detail .m-info-icon{margin:0 .5rem}.o-dataset-detail{height:80%}.o-dataset-detail__information{padding:.625rem;font-size:.875rem;color:#263340;background:#fff;border-radius:4px;gap:.9375rem}.o-dataset-detail__information .a-label{font-weight:700}.o-dataset-detail pry-tab-group{height:100%}.o-dataset-detail pry-tab-group .o-tabs{padding-left:2rem;padding-right:2rem;height:100%}.o-dataset-detail pry-tab-group .o-tabs__panel__content{height:100%}.o-dataset-detail tr{height:1.875rem}.o-dataset-detail tr.-selected{background-color:#f5f7f9}.o-dataset-detail td .a-btn+.a-btn{margin-left:.625rem}\n", ".o-dataset-version-form .a-label{font-weight:700}\n"], encapsulation: i0.ViewEncapsulation.None }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryDatasetCssComponent, selector: "pry-dataset-css", ngImport: i0, template: '', isInline: true, styles: [".o-pry-dataset{margin:0;padding:0}.o-pry-dataset li{list-style:none}.dataset-layout{display:flex;flex-direction:column;align-items:center}.dataset-layout__content{width:100%;padding:.625rem 1.25rem 3.125rem;height:100%;overflow:auto}.o-pry-dataset{display:grid;grid-template-columns:repeat(auto-fill,minmax(20.625rem,0fr));grid-gap:.625rem;column-gap:1.5rem;row-gap:2rem;padding-bottom:9.375rem}.o-pry-dataset__search{position:relative}.o-pry-dataset__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}.o-pry-dataset__item{display:flex;flex-direction:column;align-items:stretch}.o-dataset-layout{position:relative;z-index:1;overflow:hidden;height:100%}\n", ".o-pry-dataset-card{display:flex;flex-direction:column;align-items:stretch;position:relative;margin:0 auto;border-collapse:collapse;font-size:.875rem;min-width:20.625rem;height:9.375rem}.o-pry-dataset-card:hover{cursor:pointer}.o-pry-dataset-card:hover .o-pry-dataset-card__footer pry-icon{visibility:visible;opacity:1}.o-pry-dataset-card__header{display:flex;gap:.9375rem;padding:.625rem;max-width:20.625rem}.o-pry-dataset-card__description-container{position:relative;width:100%}.o-pry-dataset-card__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-pry-dataset-card__txt{flex-grow:1;padding:.625rem .9375rem}.o-pry-dataset-card__txt .a-h3{font-size:.875rem}.o-pry-dataset-card__txt .a-p{font-size:.8125rem}.o-pry-dataset-card__txt .a-p.-date{margin-bottom:0}.o-pry-dataset-card__footer{display:flex;align-items:center;justify-content:center}.o-pry-dataset-card__footer .a-btn{margin-left:1.25rem}.o-pry-dataset-card__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-pry-dataset-card .dataset-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n", "pry-dataset-detail .o-dataset-layout__panel .version-information h1,pry-dataset-detail .o-dataset-layout__panel .version-information h2,pry-dataset-detail .o-dataset-layout__panel .version-information h3,pry-dataset-detail .o-dataset-layout__panel .version-information h4,pry-dataset-detail .o-dataset-layout__panel .version-information h5,pry-dataset-detail .o-dataset-layout__panel .version-information h6{padding:0;margin:0;color:#253043}pry-dataset-detail .o-dataset-layout__panel .version-information h5{font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information span,pry-dataset-detail .o-dataset-layout__panel .version-information p{font-size:.875rem;color:#263340;white-space:pre-wrap}pry-dataset-detail .o-dataset-layout__panel .version-information div{padding-bottom:10px}pry-dataset-detail .o-dataset-layout__panel .version-information ul,pry-dataset-detail .o-dataset-layout__panel .version-information ol{margin:0;line-height:1rem}pry-dataset-detail .o-dataset-layout__panel .version-information li{color:#253043;font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information table{border-collapse:collapse}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr th{padding-top:.75rem;padding-bottom:.75rem;text-align:left}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr td{padding:.75rem .5rem;text-align:left}pry-dataset-detail{height:100%;width:100%}pry-dataset-detail .o-dataset-layout{display:flex}pry-dataset-detail .o-dataset-layout__content{overflow:hidden;height:100%;padding-left:2rem;padding-top:1.25rem;flex:1}pry-dataset-detail .o-dataset-layout__panel{width:20.625rem;border-left:solid 1px #D8E7F7;padding:.625rem;font-size:.875rem;color:#263340}pry-dataset-detail .o-dataset-layout__panel .a-label{font-weight:700}pry-dataset-detail .o-dataset-layout .panel__content{gap:.9375rem}pry-dataset-detail .dashboard-container{height:100%}pry-dataset-detail .table-container{flex:1 1}pry-dataset-detail .table-container pry-icon{position:relative;top:.3125rem}pry-dataset-detail .state-button{text-decoration:underline}pry-dataset-detail .m-info-icon{margin:0 .5rem}.o-dataset-detail{height:80%}.o-dataset-detail__content{height:100%;margin:0 2rem}.o-dataset-detail__information{padding:.625rem;font-size:.875rem;color:#263340;background:#fff;border-radius:4px;gap:.9375rem}.o-dataset-detail__information .a-label{font-weight:700}.o-dataset-detail pry-tab-group .o-tabs{height:100%}.o-dataset-detail pry-tab-group .o-tabs__panel__content{height:100%}.o-dataset-detail tr{height:1.875rem}.o-dataset-detail tr.-selected{background-color:#f5f7f9}.o-dataset-detail td .a-btn+.a-btn{margin-left:.625rem}\n", ".o-dataset-version-form .a-label{font-weight:700}\n"], encapsulation: i0.ViewEncapsulation.None }); }
6
6
  }
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetCssComponent, decorators: [{
8
8
  type: Component,
9
- args: [{ selector: 'pry-dataset-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-pry-dataset{margin:0;padding:0}.o-pry-dataset li{list-style:none}.dataset-layout{display:flex;flex-direction:column;align-items:center}.dataset-layout__content{width:100%;padding:.625rem 1.25rem 3.125rem;height:100%;overflow:auto}.o-pry-dataset{display:grid;grid-template-columns:repeat(auto-fill,minmax(20.625rem,0fr));grid-gap:.625rem;column-gap:1.5rem;row-gap:2rem;padding-bottom:9.375rem}.o-pry-dataset__search{position:relative}.o-pry-dataset__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}.o-pry-dataset__item{display:flex;flex-direction:column;align-items:stretch}.o-dataset-layout{position:relative;z-index:1;overflow:hidden;height:100%}\n", ".o-pry-dataset-card{display:flex;flex-direction:column;align-items:stretch;position:relative;margin:0 auto;border-collapse:collapse;font-size:.875rem;min-width:20.625rem;height:9.375rem}.o-pry-dataset-card:hover{cursor:pointer}.o-pry-dataset-card:hover .o-pry-dataset-card__footer pry-icon{visibility:visible;opacity:1}.o-pry-dataset-card__header{display:flex;gap:.9375rem;padding:.625rem;max-width:20.625rem}.o-pry-dataset-card__description-container{position:relative;width:100%}.o-pry-dataset-card__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-pry-dataset-card__txt{flex-grow:1;padding:.625rem .9375rem}.o-pry-dataset-card__txt .a-h3{font-size:.875rem}.o-pry-dataset-card__txt .a-p{font-size:.8125rem}.o-pry-dataset-card__txt .a-p.-date{margin-bottom:0}.o-pry-dataset-card__footer{display:flex;align-items:center;justify-content:center}.o-pry-dataset-card__footer .a-btn{margin-left:1.25rem}.o-pry-dataset-card__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-pry-dataset-card .dataset-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n", "pry-dataset-detail .o-dataset-layout__panel .version-information h1,pry-dataset-detail .o-dataset-layout__panel .version-information h2,pry-dataset-detail .o-dataset-layout__panel .version-information h3,pry-dataset-detail .o-dataset-layout__panel .version-information h4,pry-dataset-detail .o-dataset-layout__panel .version-information h5,pry-dataset-detail .o-dataset-layout__panel .version-information h6{padding:0;margin:0;color:#253043}pry-dataset-detail .o-dataset-layout__panel .version-information h5{font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information span,pry-dataset-detail .o-dataset-layout__panel .version-information p{font-size:.875rem;color:#263340;white-space:pre-wrap}pry-dataset-detail .o-dataset-layout__panel .version-information div{padding-bottom:10px}pry-dataset-detail .o-dataset-layout__panel .version-information ul,pry-dataset-detail .o-dataset-layout__panel .version-information ol{margin:0;line-height:1rem}pry-dataset-detail .o-dataset-layout__panel .version-information li{color:#253043;font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information table{border-collapse:collapse}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr th{padding-top:.75rem;padding-bottom:.75rem;text-align:left}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr td{padding:.75rem .5rem;text-align:left}pry-dataset-detail{height:100%;width:100%}pry-dataset-detail .o-dataset-layout{display:flex}pry-dataset-detail .o-dataset-layout__content{overflow:hidden;height:100%;padding-left:2rem;padding-top:1.25rem;flex:1}pry-dataset-detail .o-dataset-layout__panel{width:20.625rem;border-left:solid 1px #D8E7F7;padding:.625rem;font-size:.875rem;color:#263340}pry-dataset-detail .o-dataset-layout__panel .a-label{font-weight:700}pry-dataset-detail .o-dataset-layout .panel__content{gap:.9375rem}pry-dataset-detail .dashboard-container{height:100%}pry-dataset-detail .table-container{flex:1 1}pry-dataset-detail .table-container pry-icon{position:relative;top:.3125rem}pry-dataset-detail .state-button{text-decoration:underline}pry-dataset-detail .m-info-icon{margin:0 .5rem}.o-dataset-detail{height:80%}.o-dataset-detail__information{padding:.625rem;font-size:.875rem;color:#263340;background:#fff;border-radius:4px;gap:.9375rem}.o-dataset-detail__information .a-label{font-weight:700}.o-dataset-detail pry-tab-group{height:100%}.o-dataset-detail pry-tab-group .o-tabs{padding-left:2rem;padding-right:2rem;height:100%}.o-dataset-detail pry-tab-group .o-tabs__panel__content{height:100%}.o-dataset-detail tr{height:1.875rem}.o-dataset-detail tr.-selected{background-color:#f5f7f9}.o-dataset-detail td .a-btn+.a-btn{margin-left:.625rem}\n", ".o-dataset-version-form .a-label{font-weight:700}\n"] }]
9
+ args: [{ selector: 'pry-dataset-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-pry-dataset{margin:0;padding:0}.o-pry-dataset li{list-style:none}.dataset-layout{display:flex;flex-direction:column;align-items:center}.dataset-layout__content{width:100%;padding:.625rem 1.25rem 3.125rem;height:100%;overflow:auto}.o-pry-dataset{display:grid;grid-template-columns:repeat(auto-fill,minmax(20.625rem,0fr));grid-gap:.625rem;column-gap:1.5rem;row-gap:2rem;padding-bottom:9.375rem}.o-pry-dataset__search{position:relative}.o-pry-dataset__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}.o-pry-dataset__item{display:flex;flex-direction:column;align-items:stretch}.o-dataset-layout{position:relative;z-index:1;overflow:hidden;height:100%}\n", ".o-pry-dataset-card{display:flex;flex-direction:column;align-items:stretch;position:relative;margin:0 auto;border-collapse:collapse;font-size:.875rem;min-width:20.625rem;height:9.375rem}.o-pry-dataset-card:hover{cursor:pointer}.o-pry-dataset-card:hover .o-pry-dataset-card__footer pry-icon{visibility:visible;opacity:1}.o-pry-dataset-card__header{display:flex;gap:.9375rem;padding:.625rem;max-width:20.625rem}.o-pry-dataset-card__description-container{position:relative;width:100%}.o-pry-dataset-card__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-pry-dataset-card__txt{flex-grow:1;padding:.625rem .9375rem}.o-pry-dataset-card__txt .a-h3{font-size:.875rem}.o-pry-dataset-card__txt .a-p{font-size:.8125rem}.o-pry-dataset-card__txt .a-p.-date{margin-bottom:0}.o-pry-dataset-card__footer{display:flex;align-items:center;justify-content:center}.o-pry-dataset-card__footer .a-btn{margin-left:1.25rem}.o-pry-dataset-card__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-pry-dataset-card .dataset-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n", "pry-dataset-detail .o-dataset-layout__panel .version-information h1,pry-dataset-detail .o-dataset-layout__panel .version-information h2,pry-dataset-detail .o-dataset-layout__panel .version-information h3,pry-dataset-detail .o-dataset-layout__panel .version-information h4,pry-dataset-detail .o-dataset-layout__panel .version-information h5,pry-dataset-detail .o-dataset-layout__panel .version-information h6{padding:0;margin:0;color:#253043}pry-dataset-detail .o-dataset-layout__panel .version-information h5{font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information span,pry-dataset-detail .o-dataset-layout__panel .version-information p{font-size:.875rem;color:#263340;white-space:pre-wrap}pry-dataset-detail .o-dataset-layout__panel .version-information div{padding-bottom:10px}pry-dataset-detail .o-dataset-layout__panel .version-information ul,pry-dataset-detail .o-dataset-layout__panel .version-information ol{margin:0;line-height:1rem}pry-dataset-detail .o-dataset-layout__panel .version-information li{color:#253043;font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information table{border-collapse:collapse}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr th{padding-top:.75rem;padding-bottom:.75rem;text-align:left}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr td{padding:.75rem .5rem;text-align:left}pry-dataset-detail{height:100%;width:100%}pry-dataset-detail .o-dataset-layout{display:flex}pry-dataset-detail .o-dataset-layout__content{overflow:hidden;height:100%;padding-left:2rem;padding-top:1.25rem;flex:1}pry-dataset-detail .o-dataset-layout__panel{width:20.625rem;border-left:solid 1px #D8E7F7;padding:.625rem;font-size:.875rem;color:#263340}pry-dataset-detail .o-dataset-layout__panel .a-label{font-weight:700}pry-dataset-detail .o-dataset-layout .panel__content{gap:.9375rem}pry-dataset-detail .dashboard-container{height:100%}pry-dataset-detail .table-container{flex:1 1}pry-dataset-detail .table-container pry-icon{position:relative;top:.3125rem}pry-dataset-detail .state-button{text-decoration:underline}pry-dataset-detail .m-info-icon{margin:0 .5rem}.o-dataset-detail{height:80%}.o-dataset-detail__content{height:100%;margin:0 2rem}.o-dataset-detail__information{padding:.625rem;font-size:.875rem;color:#263340;background:#fff;border-radius:4px;gap:.9375rem}.o-dataset-detail__information .a-label{font-weight:700}.o-dataset-detail pry-tab-group .o-tabs{height:100%}.o-dataset-detail pry-tab-group .o-tabs__panel__content{height:100%}.o-dataset-detail tr{height:1.875rem}.o-dataset-detail tr.-selected{background-color:#f5f7f9}.o-dataset-detail td .a-btn+.a-btn{margin-left:.625rem}\n", ".o-dataset-version-form .a-label{font-weight:700}\n"] }]
10
10
  }] });
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvc3R5bGUvY3NzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVE3RCxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7a0dBQXRCLHNCQUFzQix1REFKdkIsRUFBRTs7MkZBSUQsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLGlCQUFpQixZQUNqQixFQUFFLGlCQUVHLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1kYXRhc2V0LWNzcycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbJy4vX28tcHJ5LWRhdGFzZXQuc2NzcycsICcuL19vLXByeS1kYXRhc2V0LWNhcmQuc2NzcycsICcuL19vLXByeS1kYXRhc2V0LWRldGFpbC5zY3NzJywgJy4vX28tcHJ5LWRhdGFzZXQtdmVyc2lvbi1mb3JtLnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBQcnlEYXRhc2V0Q3NzQ29tcG9uZW50IHt9XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
@@ -42,6 +42,11 @@ export class PryEditInputComponent {
42
42
  if (this.editMode === false) {
43
43
  this.validated.emit(this.value);
44
44
  }
45
+ else {
46
+ setTimeout(() => {
47
+ this.input?.nativeElement.focus();
48
+ });
49
+ }
45
50
  }
46
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryEditInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
47
52
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryEditInputComponent, selector: "pry-edit-input", inputs: { label: "label", editButtonTooltip: "editButtonTooltip", confirmButtonTooltip: "confirmButtonTooltip" }, outputs: { validated: "validated" }, providers: [
@@ -50,7 +55,7 @@ export class PryEditInputComponent {
50
55
  useExisting: forwardRef(() => PryEditInputComponent),
51
56
  multi: true
52
57
  }
53
- ], ngImport: i0, template: "<div class=\"o-pry-edit\" [class.-edit]=\"editMode\">\n <label id=\"edit-input-label-{{ id }}\" for=\"edit-input-{{ id }}\" class=\"a-label\">\n {{ label | i18n }}\n <span class=\"u-visually-hidden\">({{ label | i18n }})</span>\n </label>\n <div class=\"m-form-label-field__edit-inline\" (mouseenter)=\"showButton = true\" (mouseleave)=\"showButton = false\">\n <p class=\"m-form-label-field__edit-inline__txtvalue\" *ngIf=\"!editMode\">\n {{ value }}\n </p>\n <input\n *ngIf=\"editMode\"\n id=\"edit-input-{{ id }}\"\n type=\"text\"\n class=\"a-form-field\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n />\n <button\n [class.-button-visible]=\"showButton || editMode\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only -size-xs a-tooltip\"\n (click)=\"toggle()\"\n [attr.data-tooltip]=\"(editMode ? confirmButtonTooltip : editButtonTooltip) | i18n\"\n data-tooltip-position=\"left\"\n >\n <pry-icon [width]=\"16\" [height]=\"16\" [iconSvg]=\"editMode ? 'check' : 'edit'\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.theme.editInput.toggle' | i18n }}</span>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
58
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"o-pry-edit\" [class.-edit]=\"editMode\">\n <label id=\"edit-input-label-{{ id }}\" for=\"edit-input-{{ id }}\" class=\"a-label\">\n {{ label | i18n }}\n <span class=\"u-visually-hidden\">({{ label | i18n }})</span>\n </label>\n <div class=\"o-pry-edit__wrapper\" (mouseenter)=\"showButton = true\" (mouseleave)=\"showButton = false\">\n <div class=\"o-pry-edit__value u-display-flex -align-center\" *ngIf=\"!editMode\">\n {{ value }}\n </div>\n <input\n *ngIf=\"editMode\"\n id=\"edit-input-{{ id }}\"\n type=\"text\"\n class=\"a-form-field o-pry-edit__input\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n #input\n />\n <button\n [class.-button-visible]=\"showButton || editMode\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only -size-xs a-tooltip\"\n (click)=\"toggle()\"\n [attr.data-tooltip]=\"(editMode ? confirmButtonTooltip : editButtonTooltip) | i18n\"\n data-tooltip-position=\"left\"\n >\n <pry-icon [width]=\"16\" [height]=\"16\" [iconSvg]=\"editMode ? 'check' : 'edit'\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.theme.editInput.toggle' | i18n }}</span>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
59
  }
55
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryEditInputComponent, decorators: [{
56
61
  type: Component,
@@ -60,7 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
60
65
  useExisting: forwardRef(() => PryEditInputComponent),
61
66
  multi: true
62
67
  }
63
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-pry-edit\" [class.-edit]=\"editMode\">\n <label id=\"edit-input-label-{{ id }}\" for=\"edit-input-{{ id }}\" class=\"a-label\">\n {{ label | i18n }}\n <span class=\"u-visually-hidden\">({{ label | i18n }})</span>\n </label>\n <div class=\"m-form-label-field__edit-inline\" (mouseenter)=\"showButton = true\" (mouseleave)=\"showButton = false\">\n <p class=\"m-form-label-field__edit-inline__txtvalue\" *ngIf=\"!editMode\">\n {{ value }}\n </p>\n <input\n *ngIf=\"editMode\"\n id=\"edit-input-{{ id }}\"\n type=\"text\"\n class=\"a-form-field\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n />\n <button\n [class.-button-visible]=\"showButton || editMode\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only -size-xs a-tooltip\"\n (click)=\"toggle()\"\n [attr.data-tooltip]=\"(editMode ? confirmButtonTooltip : editButtonTooltip) | i18n\"\n data-tooltip-position=\"left\"\n >\n <pry-icon [width]=\"16\" [height]=\"16\" [iconSvg]=\"editMode ? 'check' : 'edit'\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.theme.editInput.toggle' | i18n }}</span>\n </button>\n </div>\n</div>\n" }]
68
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-pry-edit\" [class.-edit]=\"editMode\">\n <label id=\"edit-input-label-{{ id }}\" for=\"edit-input-{{ id }}\" class=\"a-label\">\n {{ label | i18n }}\n <span class=\"u-visually-hidden\">({{ label | i18n }})</span>\n </label>\n <div class=\"o-pry-edit__wrapper\" (mouseenter)=\"showButton = true\" (mouseleave)=\"showButton = false\">\n <div class=\"o-pry-edit__value u-display-flex -align-center\" *ngIf=\"!editMode\">\n {{ value }}\n </div>\n <input\n *ngIf=\"editMode\"\n id=\"edit-input-{{ id }}\"\n type=\"text\"\n class=\"a-form-field o-pry-edit__input\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n #input\n />\n <button\n [class.-button-visible]=\"showButton || editMode\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only -size-xs a-tooltip\"\n (click)=\"toggle()\"\n [attr.data-tooltip]=\"(editMode ? confirmButtonTooltip : editButtonTooltip) | i18n\"\n data-tooltip-position=\"left\"\n >\n <pry-icon [width]=\"16\" [height]=\"16\" [iconSvg]=\"editMode ? 'check' : 'edit'\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.theme.editInput.toggle' | i18n }}</span>\n </button>\n </div>\n</div>\n" }]
64
69
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { label: [{
65
70
  type: Input
66
71
  }], editButtonTooltip: [{
@@ -69,5 +74,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
69
74
  type: Input
70
75
  }], validated: [{
71
76
  type: Output
77
+ }], input: [{
78
+ type: ViewChild,
79
+ args: ['input']
72
80
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL2VkaXQtaW5wdXQvZWRpdC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL2VkaXQtaW5wdXQvZWRpdC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFFekUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBZWpCLE1BQU0sT0FBTyxxQkFBcUI7SUFhaEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFabkMsT0FBRSxHQUFXLFFBQVEsRUFBRSxDQUFDO1FBQy9CLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsY0FBUyxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDM0IsZUFBVSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN0QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDVixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLHNCQUFpQixHQUFXLDZCQUE2QixDQUFDO1FBQzFELHlCQUFvQixHQUFXLDhCQUE4QixDQUFDO1FBQzdELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRUosQ0FBQztJQUU5QyxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVE7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWU7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3RCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDOzhHQXpDVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixnTUFUckI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNwRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDdkJILDhzQ0E4QkE7OzJGREphLHFCQUFxQjtrQkFiakMsU0FBUzsrQkFDRSxnQkFBZ0IsYUFHZjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07c0ZBVXRDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZWRpdC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWlucHV0LmNvbXBvbmVudC5odG1sJyxcblxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFByeUVkaXRJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUHJ5RWRpdElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwdWJsaWMgaWQ6IG51bWJlciA9IHVuaXF1ZUlkKys7XG4gIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICB2YWx1ZTogYW55O1xuICBfb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcbiAgX29uVG91Y2hlZCA9ICgpID0+IHt9O1xuICBlZGl0TW9kZSA9IGZhbHNlO1xuICBzaG93QnV0dG9uID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZWRpdEJ1dHRvblRvb2x0aXA6IHN0cmluZyA9ICdAcHJ5LnRoZW1lLmVkaXRJbnB1dC50b2dnbGUnO1xuICBASW5wdXQoKSBjb25maXJtQnV0dG9uVG9vbHRpcDogc3RyaW5nID0gJ0BwcnkudGhlbWUuZWRpdElucHV0LmNvbmZpcm0nO1xuICBAT3V0cHV0KCkgdmFsaWRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWUgIT09IG9iaikge1xuICAgICAgdGhpcy52YWx1ZSA9IG9iajtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGUoZm9yY2U/OiBib29sZWFuKSB7XG4gICAgdGhpcy5lZGl0TW9kZSA9IGZvcmNlICE9PSB1bmRlZmluZWQgPyBmb3JjZSA6ICF0aGlzLmVkaXRNb2RlO1xuICAgIGlmICh0aGlzLmVkaXRNb2RlID09PSBmYWxzZSkge1xuICAgICAgdGhpcy52YWxpZGF0ZWQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLXByeS1lZGl0XCIgW2NsYXNzLi1lZGl0XT1cImVkaXRNb2RlXCI+XG4gIDxsYWJlbCBpZD1cImVkaXQtaW5wdXQtbGFiZWwte3sgaWQgfX1cIiBmb3I9XCJlZGl0LWlucHV0LXt7IGlkIH19XCIgY2xhc3M9XCJhLWxhYmVsXCI+XG4gICAge3sgbGFiZWwgfCBpMThuIH19XG4gICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPih7eyBsYWJlbCB8IGkxOG4gfX0pPC9zcGFuPlxuICA8L2xhYmVsPlxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkX19lZGl0LWlubGluZVwiIChtb3VzZWVudGVyKT1cInNob3dCdXR0b24gPSB0cnVlXCIgKG1vdXNlbGVhdmUpPVwic2hvd0J1dHRvbiA9IGZhbHNlXCI+XG4gICAgPHAgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRfX2VkaXQtaW5saW5lX190eHR2YWx1ZVwiICpuZ0lmPVwiIWVkaXRNb2RlXCI+XG4gICAgICB7eyB2YWx1ZSB9fVxuICAgIDwvcD5cbiAgICA8aW5wdXRcbiAgICAgICpuZ0lmPVwiZWRpdE1vZGVcIlxuICAgICAgaWQ9XCJlZGl0LWlucHV0LXt7IGlkIH19XCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIndyaXRlVmFsdWUoJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8YnV0dG9uXG4gICAgICBbY2xhc3MuLWJ1dHRvbi12aXNpYmxlXT1cInNob3dCdXR0b24gfHwgZWRpdE1vZGVcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHkgLXNpemUteHMgYS10b29sdGlwXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGUoKVwiXG4gICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiKGVkaXRNb2RlID8gY29uZmlybUJ1dHRvblRvb2x0aXAgOiBlZGl0QnV0dG9uVG9vbHRpcCkgfCBpMThuXCJcbiAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cImxlZnRcIlxuICAgID5cbiAgICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMTZcIiBbaGVpZ2h0XT1cIjE2XCIgW2ljb25TdmddPVwiZWRpdE1vZGUgPyAnY2hlY2snIDogJ2VkaXQnXCI+PC9wcnktaWNvbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50aGVtZS5lZGl0SW5wdXQudG9nZ2xlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL2VkaXQtaW5wdXQvZWRpdC1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL2VkaXQtaW5wdXQvZWRpdC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQUUsU0FBUyxFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUV6RSxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFlakIsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWJuQyxPQUFFLEdBQVcsUUFBUSxFQUFFLENBQUM7UUFDL0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixjQUFTLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUMzQixlQUFVLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNWLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsc0JBQWlCLEdBQVcsNkJBQTZCLENBQUM7UUFDMUQseUJBQW9CLEdBQVcsOEJBQThCLENBQUM7UUFDN0QsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFHSixDQUFDO0lBRTlDLGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO0lBQzlCLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBUTtRQUNqQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZTtRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRXBDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7OEdBL0NVLHFCQUFxQjtrR0FBckIscUJBQXFCLGdNQVRyQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBQ3BELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwSEN2QkgsMnVDQStCQTs7MkZETGEscUJBQXFCO2tCQWJqQyxTQUFTOytCQUNFLGdCQUFnQixhQUdmO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTtzRkFVdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDYSxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LCBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1lZGl0LWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJ5RWRpdElucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQcnlFZGl0SW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHB1YmxpYyBpZDogbnVtYmVyID0gdW5pcXVlSWQrKztcbiAgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHZhbHVlOiBhbnk7XG4gIF9vbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICBfb25Ub3VjaGVkID0gKCkgPT4ge307XG4gIGVkaXRNb2RlID0gZmFsc2U7XG4gIHNob3dCdXR0b24gPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBlZGl0QnV0dG9uVG9vbHRpcDogc3RyaW5nID0gJ0BwcnkudGhlbWUuZWRpdElucHV0LnRvZ2dsZSc7XG4gIEBJbnB1dCgpIGNvbmZpcm1CdXR0b25Ub29sdGlwOiBzdHJpbmcgPSAnQHByeS50aGVtZS5lZGl0SW5wdXQuY29uZmlybSc7XG4gIEBPdXRwdXQoKSB2YWxpZGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWUgIT09IG9iaikge1xuICAgICAgdGhpcy52YWx1ZSA9IG9iajtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGUoZm9yY2U/OiBib29sZWFuKSB7XG4gICAgdGhpcy5lZGl0TW9kZSA9IGZvcmNlICE9PSB1bmRlZmluZWQgPyBmb3JjZSA6ICF0aGlzLmVkaXRNb2RlO1xuICAgIGlmICh0aGlzLmVkaXRNb2RlID09PSBmYWxzZSkge1xuICAgICAgdGhpcy52YWxpZGF0ZWQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1wcnktZWRpdFwiIFtjbGFzcy4tZWRpdF09XCJlZGl0TW9kZVwiPlxuICA8bGFiZWwgaWQ9XCJlZGl0LWlucHV0LWxhYmVsLXt7IGlkIH19XCIgZm9yPVwiZWRpdC1pbnB1dC17eyBpZCB9fVwiIGNsYXNzPVwiYS1sYWJlbFwiPlxuICAgIHt7IGxhYmVsIHwgaTE4biB9fVxuICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj4oe3sgbGFiZWwgfCBpMThuIH19KTwvc3Bhbj5cbiAgPC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cIm8tcHJ5LWVkaXRfX3dyYXBwZXJcIiAobW91c2VlbnRlcik9XCJzaG93QnV0dG9uID0gdHJ1ZVwiIChtb3VzZWxlYXZlKT1cInNob3dCdXR0b24gPSBmYWxzZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLXByeS1lZGl0X192YWx1ZSB1LWRpc3BsYXktZmxleCAtYWxpZ24tY2VudGVyXCIgKm5nSWY9XCIhZWRpdE1vZGVcIj5cbiAgICAgIHt7IHZhbHVlIH19XG4gICAgPC9kaXY+XG4gICAgPGlucHV0XG4gICAgICAqbmdJZj1cImVkaXRNb2RlXCJcbiAgICAgIGlkPVwiZWRpdC1pbnB1dC17eyBpZCB9fVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBjbGFzcz1cImEtZm9ybS1maWVsZCBvLXByeS1lZGl0X19pbnB1dFwiXG4gICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJ3cml0ZVZhbHVlKCRldmVudClcIlxuICAgICAgI2lucHV0XG4gICAgLz5cbiAgICA8YnV0dG9uXG4gICAgICBbY2xhc3MuLWJ1dHRvbi12aXNpYmxlXT1cInNob3dCdXR0b24gfHwgZWRpdE1vZGVcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHkgLXNpemUteHMgYS10b29sdGlwXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGUoKVwiXG4gICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiKGVkaXRNb2RlID8gY29uZmlybUJ1dHRvblRvb2x0aXAgOiBlZGl0QnV0dG9uVG9vbHRpcCkgfCBpMThuXCJcbiAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cImxlZnRcIlxuICAgID5cbiAgICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMTZcIiBbaGVpZ2h0XT1cIjE2XCIgW2ljb25TdmddPVwiZWRpdE1vZGUgPyAnY2hlY2snIDogJ2VkaXQnXCI+PC9wcnktaWNvbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50aGVtZS5lZGl0SW5wdXQudG9nZ2xlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -48,6 +48,7 @@ export class PrySelectComponent extends SubscriptionnerDirective {
48
48
  this.activeDescendant = -1;
49
49
  this.value$ = new BehaviorSubject(undefined);
50
50
  this.searchSelected$ = new BehaviorSubject(false);
51
+ this.inhibate = false;
51
52
  this.clearable = false;
52
53
  this.multiple = false;
53
54
  this.closeOnSelect = true;
@@ -69,7 +70,12 @@ export class PrySelectComponent extends SubscriptionnerDirective {
69
70
  this._disabled = false;
70
71
  this.focused = false;
71
72
  this.modalWidth = 200;
72
- this.onFocusChange = (origin) => this.a11yService.onFocusChange(origin, this.autocomplete, () => this.toggleFocus(), () => this.focusSelect());
73
+ this.onFocusChange = (origin) => {
74
+ if (!this.inhibate) {
75
+ this.a11yService.onFocusChange(origin, this.autocomplete, () => this.toggleFocus(), () => this.focusSelect());
76
+ this.inhibition();
77
+ }
78
+ };
73
79
  this.onKeydownSelect = (event) => this.a11yService.onKeydownSelect(event, this.autocomplete);
74
80
  this.onKeydownAutocompleteInput = (event) => this.a11yService.onKeydownAutocompleteInput(event, this.open, this.search$.getValue(), this.optionsModalRef);
75
81
  this.onKeydownOption = (event, item, index, optionDivRef, first, last) => this.a11yService.onKeydownOption(event, optionDivRef, first, last, this.autocomplete, this.selectElement.nativeElement, () => this.select(event, item, index));
@@ -221,10 +227,17 @@ export class PrySelectComponent extends SubscriptionnerDirective {
221
227
  }
222
228
  }
223
229
  }
230
+ inhibition() {
231
+ this.inhibate = true;
232
+ setTimeout(() => (this.inhibate = false), 100);
233
+ }
224
234
  handleClick() {
225
- this.focused = true;
226
- this.toggle();
227
- this.clicked.emit();
235
+ if (!this.inhibate) {
236
+ this.focused = true;
237
+ this.toggle();
238
+ this.clicked.emit();
239
+ this.inhibition();
240
+ }
228
241
  }
229
242
  toggleFocus() {
230
243
  this.focused = !this.focused;
@@ -271,7 +284,7 @@ export class PrySelectComponent extends SubscriptionnerDirective {
271
284
  multi: true
272
285
  },
273
286
  SelectA11yService
274
- ], viewQueries: [{ propertyName: "optionsModal", first: true, predicate: ["optionsModal"], descendants: true, read: TemplateRef }, { propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n <ng-container *ngIf=\"autocomplete; else noAutocomplete\">\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event, true)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n #input\n />\n </ng-container>\n <ng-template #noAutocomplete>\n <ng-container *ngIf=\"(valueItems$ | async).length === 0; else selectedValues\">\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n </ng-container>\n <ng-template #selectedValues>\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplateLabel>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ?? '') + value | i18n : { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"a-pry-select__filler\"></div>\n </ng-template>\n </div>\n <div class=\"a-pry-select__actions\">\n <span *ngIf=\"clearable\" class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n <div class=\"a-pry-select__options__option -hint\" *ngIf=\"loading\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"30\"\n [height]=\"30\"\n *ngIf=\"loading\"\n />\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index; let first = first; let last = last\">\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplate>\n <pry-checkbox (click)=\"$event.preventDefault()\" *ngIf=\"multiple\" [ngModel]=\"(valueItems$ | async).includes(item)\"></pry-checkbox>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n : { warn: false } }}\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i7.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.I18nPipe, name: "i18n" }] }); }
287
+ ], viewQueries: [{ propertyName: "optionsModal", first: true, predicate: ["optionsModal"], descendants: true, read: TemplateRef }, { propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n <ng-container *ngIf=\"autocomplete; else noAutocomplete\">\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event, true)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n #input\n />\n </ng-container>\n <ng-template #noAutocomplete>\n <ng-container *ngIf=\"(valueItems$ | async).length === 0; else selectedValues\">\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n </ng-container>\n <ng-template #selectedValues>\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplateLabel>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ?? '') + value | i18n : { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"a-pry-select__filler\"></div>\n </ng-template>\n </div>\n <div class=\"a-pry-select__actions\">\n <span *ngIf=\"clearable\" class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n <div class=\"a-pry-select__options__option -hint\" *ngIf=\"loading\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"30\"\n [height]=\"30\"\n *ngIf=\"loading\"\n />\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index; let first = first; let last = last\">\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplate>\n <pry-checkbox (click)=\"$event.preventDefault()\" *ngIf=\"multiple\"\n [ngModel]=\"(valueItems$ | async).includes(item)\"></pry-checkbox>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n : { warn: false } }}\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i7.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.I18nPipe, name: "i18n" }] }); }
275
288
  }
276
289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySelectComponent, decorators: [{
277
290
  type: Component,
@@ -282,7 +295,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
282
295
  multi: true
283
296
  },
284
297
  SelectA11yService
285
- ], template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n <ng-container *ngIf=\"autocomplete; else noAutocomplete\">\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event, true)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n #input\n />\n </ng-container>\n <ng-template #noAutocomplete>\n <ng-container *ngIf=\"(valueItems$ | async).length === 0; else selectedValues\">\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n </ng-container>\n <ng-template #selectedValues>\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplateLabel>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ?? '') + value | i18n : { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"a-pry-select__filler\"></div>\n </ng-template>\n </div>\n <div class=\"a-pry-select__actions\">\n <span *ngIf=\"clearable\" class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n <div class=\"a-pry-select__options__option -hint\" *ngIf=\"loading\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"30\"\n [height]=\"30\"\n *ngIf=\"loading\"\n />\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index; let first = first; let last = last\">\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplate>\n <pry-checkbox (click)=\"$event.preventDefault()\" *ngIf=\"multiple\" [ngModel]=\"(valueItems$ | async).includes(item)\"></pry-checkbox>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n : { warn: false } }}\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n" }]
298
+ ], template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n <ng-container *ngIf=\"autocomplete; else noAutocomplete\">\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event, true)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n #input\n />\n </ng-container>\n <ng-template #noAutocomplete>\n <ng-container *ngIf=\"(valueItems$ | async).length === 0; else selectedValues\">\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n </ng-container>\n <ng-template #selectedValues>\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplateLabel>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ?? '') + value | i18n : { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"a-pry-select__filler\"></div>\n </ng-template>\n </div>\n <div class=\"a-pry-select__actions\">\n <span *ngIf=\"clearable\" class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n <div class=\"a-pry-select__options__option -hint\" *ngIf=\"loading\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"30\"\n [height]=\"30\"\n *ngIf=\"loading\"\n />\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index; let first = first; let last = last\">\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplate>\n <pry-checkbox (click)=\"$event.preventDefault()\" *ngIf=\"multiple\"\n [ngModel]=\"(valueItems$ | async).includes(item)\"></pry-checkbox>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n : { warn: false } }}\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n" }]
286
299
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.SelectA11yService }], propDecorators: { items: [{
287
300
  type: Input
288
301
  }], clearable: [{
@@ -341,4 +354,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
341
354
  type: ViewChild,
342
355
  args: ['input']
343
356
  }] } });
344
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxLQUFLLE1BQU0scUJBQXFCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbkcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7O0FBRzFELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQWVqQixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsd0JBQXdCO0lBVTlELElBQWEsS0FBSyxDQUFDLEtBQStCO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFB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QUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRWIsYUFBYTtzQkFBL0MsU0FBUzt1QkFBQyxlQUFlO2dCQUNqQixVQUFVO3NCQUFsQixLQUFLO2dCQUNjLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbC9lczYnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGFzaGJvYXJkL2NvbXBvbmVudHMvc3Vic2NyaXB0aW9ubmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTZWxlY3RBMTF5U2VydmljZSB9IGZyb20gJy4vc2VsZWN0LWExMXkuc2VydmljZSc7XG5pbXBvcnQgeyBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJ5U2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICBTZWxlY3RBMTF5U2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFByeVNlbGVjdENvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHVibGljIGlkOiBudW1iZXIgPSB1bmlxdWVJZCsrO1xuICBfaXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuICBtYXRjaGluZ0l0ZW1zJDogT2JzZXJ2YWJsZTxhbnk+O1xuICBvcGVuID0gZmFsc2U7XG4gIGFjdGl2ZURlc2NlbmRhbnQ6IG51bWJlciA9IC0xO1xuICB2YWx1ZUl0ZW1zJDogT2JzZXJ2YWJsZTxhbnk+O1xuICB2YWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4odW5kZWZpbmVkKTtcbiAgc2VhcmNoU2VsZWN0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgQElucHV0KCkgc2V0IGl0ZW1zKGl0ZW1zOiBhbnlbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9pdGVtcyQubmV4dChpdGVtcyA/PyBbXSk7XG4gIH1cblxuICBASW5wdXQoKSBjbGVhcmFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xvc2VPblNlbGVjdCA9IHRydWU7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBASW5wdXQoKSBpc0Zvcm0gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQ/OiBhbnk7XG4gIEBJbnB1dCgpIG5hbWU/OiBhbnk7XG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBhbHdheXNTaG93QXV0b3N1Z2dlc3RlZFZhbHVlczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBleHRlcm5hbEF1dG9jb21wbGV0ZVNlcnZpY2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYmluZFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGJpbmRMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBpY29uU2l6ZSA9IFsxMCwgMTZdO1xuICBASW5wdXQoKSBiaW5kSWNvbjogYW55O1xuICBASW5wdXQoKSB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGkxOG5QcmVmaXg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBAT3V0cHV0KCkgc2VhcmNoZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsZWFyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBASW5wdXQoKSBiaW5kQ2xhc3NlczogYW55O1xuICBzZWFyY2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBfbG9hZGluZyA9IGZhbHNlO1xuICBoYXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgbG9hZGluZyhsb2FkaW5nOiBib29sZWFuKSB7XG4gICAgdGhpcy5fbG9hZGluZyA9IGxvYWRpbmc7XG4gICAgaWYgKHRoaXMuX2xvYWRpbmcpIHtcbiAgICAgIHRoaXMuaGFzTG9hZGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgbG9hZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZztcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgQFZpZXdDaGlsZCgnb3B0aW9uc01vZGFsJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBvcHRpb25zTW9kYWwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBvcHRpb25zTW9kYWxSZWY/OiBFbWJlZGRlZFZpZXdSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0RWxlbWVudCcpIHB1YmxpYyBzZWxlY3RFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIEBJbnB1dCgpIGVsZW1lbnRSZWYhOiBIVE1MRGl2RWxlbWVudDtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCkgPT4ge307XG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG4gIGZvY3VzZWQgPSBmYWxzZTtcbiAgbW9kYWxXaWR0aCA9IDIwMDtcblxuICBnZXQgbW9kYWxJZCgpIHtcbiAgICByZXR1cm4gJ3NlbGVjdC1tb2RhbC0nICsgdGhpcy5pZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHB1YmxpYyBhMTF5U2VydmljZTogU2VsZWN0QTExeVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm1hdGNoaW5nSXRlbXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5faXRlbXMkLCB0aGlzLnNlYXJjaCQsIHRoaXMuc2VhcmNoU2VsZWN0ZWQkXSkucGlwZShcbiAgICAgIG1hcCgoW2l0ZW1zLCB0ZXJtLCBhbHJlYWR5U2VsZWN0ZWRdKSA9PlxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZSAmJlxuICAgICAgICB0ZXJtICYmXG4gICAgICAgIHRlcm0ubGVuZ3RoID4gMCAmJlxuICAgICAgICAhYWxyZWFkeVNlbGVjdGVkICYmXG4gICAgICAgICF0aGlzLmFsd2F5c1Nob3dBdXRvc3VnZ2VzdGVkVmFsdWVzICYmXG4gICAgICAgICF0aGlzLmV4dGVybmFsQXV0b2NvbXBsZXRlU2VydmljZVxuICAgICAgICAgID8gaXRlbXMuZmlsdGVyKChpKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IHRoaXMuYmluZExhYmVsID8gaT8uW3RoaXMuYmluZExhYmVsXSA6IGk7XG4gICAgICAgICAgICAgIHJldHVybiBpdGVtVmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHRlcm0udG9Mb3dlckNhc2UoKSkgPiAtMTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBpdGVtc1xuICAgICAgKSxcbiAgICAgIHRhcCgoKSA9PiB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCkpXG4gICAgKTtcbiAgICB0aGlzLnZhbHVlSXRlbXMkID0gY29tYmluZUxhdGVzdChbdGhpcy52YWx1ZSQsIHRoaXMuX2l0ZW1zJF0pLnBpcGUoXG4gICAgICBtYXAoKFt2YWx1ZSwgaXRlbXNdKSA9PlxuICAgICAgICAodGhpcy5tdWx0aXBsZSA/IHZhbHVlID8/IFtdIDogISF2YWx1ZSA/IFt2YWx1ZV0gOiBbXSkubWFwKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5UHJvcCA9IHRoaXMuYmluZFZhbHVlID8/IHRoaXMuYmluZExhYmVsID8/ICdpZCc7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbmQoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgPyB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG4gICAgICAgICAgICAgICAgPyBpdGVtW2tleVByb3BdID09PSB2YWx1ZVtrZXlQcm9wXVxuICAgICAgICAgICAgICAgIDogaXRlbVtrZXlQcm9wXSA9PT0gdmFsdWVcbiAgICAgICAgICAgICAgOiBpdGVtID09PSB2YWx1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnZhbHVlSXRlbXMkLnN1YnNjcmliZSgoaXRlbSkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICBjb25zdCBpdGVtVmFsdWUgPSB0aGlzLmJpbmRMYWJlbCA/IGl0ZW1bMF0/Llt0aGlzLmJpbmRMYWJlbF0gOiBpdGVtWzBdO1xuICAgICAgICAgIGlmIChpdGVtVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoJC5uZXh0KGl0ZW1WYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFNlbGVjdGVkJC5uZXh0KHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuZXh0ZXJuYWxBdXRvY29tcGxldGVTZXJ2aWNlKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuX2l0ZW1zJC5zdWJzY3JpYmUoKF8pID0+IHRoaXMudG9nZ2xlKCkpKTtcbiAgICB9XG5cbiAgICB0aGlzLmExMXlTZXJ2aWNlLnNldFRvZ2dsZSgoZm9yY2U/OiBib29sZWFuKSA9PiB0aGlzLnRvZ2dsZShmb3JjZSkpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIWVxdWFsKHRoaXMudmFsdWUkLmdldFZhbHVlKCksIG9iaikpIHtcbiAgICAgIHRoaXMudmFsdWUkLm5leHQob2JqKTtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUkLmdldFZhbHVlKCkpO1xuICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuc2VhcmNoJC5uZXh0KG9iaik7XG4gICAgICB0aGlzLnNlYXJjaFNlbGVjdGVkJC5uZXh0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyKCRldmVudDogRXZlbnQsIGl0ZW06IGFueSkge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCBpdGVtVmFsdWUgPSB0aGlzLmJpbmRWYWx1ZSA/IGl0ZW0/Llt0aGlzLmJpbmRWYWx1ZV0gOiBpdGVtO1xuICAgIGNvbnN0IGtleVByb3AgPSB0aGlzLmJpbmRWYWx1ZSA/PyB0aGlzLmJpbmRMYWJlbCA/PyAnaWQnO1xuICAgIHRoaXMud3JpdGVWYWx1ZShcbiAgICAgIHRoaXMudmFsdWUkXG4gICAgICAgIC5nZXRWYWx1ZSgpXG4gICAgICAgIC5maWx0ZXIoKGk6IGFueSkgPT5cbiAgICAgICAgICB0eXBlb2YgaXRlbVZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgICAgICAgPyB0eXBlb2YgaSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgPyBpW2tleVByb3BdICE9PSBpdGVtVmFsdWVba2V5UHJvcF1cbiAgICAgICAgICAgICAgOiBpICE9PSBpdGVtVmFsdWVba2V5UHJvcF1cbiAgICAgICAgICAgIDogdHlwZW9mIGkgPT09ICdvYmplY3QnXG4gICAgICAgICAgICAgID8gaVtrZXlQcm9wXSAhPT0gaXRlbVZhbHVlXG4gICAgICAgICAgICAgIDogaSAhPT0gaXRlbVZhbHVlXG4gICAgICAgIClcbiAgICApO1xuICB9XG5cbiAgY2xlYXJBbGwoJGV2ZW50OiBFdmVudCkge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKFtdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHVuZGVmaW5lZCk7XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoKCcnKTtcbiAgICB0aGlzLmNsZWFyZWQubmV4dCgpO1xuICB9XG5cbiAgc2VhcmNoKCRldmVudDogc3RyaW5nLCBmcm9tVGVtcGxhdGU6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KCRldmVudCk7XG4gICAgdGhpcy5zZWFyY2hlZC5uZXh0KCRldmVudCk7XG4gICAgdGhpcy5zZWFyY2hTZWxlY3RlZCQubmV4dChmYWxzZSk7XG4gICAgaWYgKGZyb21UZW1wbGF0ZSAmJiB0aGlzLmF1dG9jb21wbGV0ZSAmJiB0aGlzLmV4dGVybmFsQXV0b2NvbXBsZXRlU2VydmljZSkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKCRldmVudCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0KCRldmVudDogRXZlbnQsIGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IHRoaXMuYmluZFZhbHVlID8gaXRlbT8uW3RoaXMuYmluZFZhbHVlXSA6IGl0ZW07XG4gICAgY29uc3Qga2V5UHJvcCA9IHRoaXMuYmluZFZhbHVlID8/IHRoaXMuYmluZExhYmVsID8/ICdpZCc7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICghdGhpcy52YWx1ZSQuZ2V0VmFsdWUoKSkge1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUoW2l0ZW1WYWx1ZV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHR5cGVvZiBpdGVtVmFsdWUgPT09ICdvYmplY3QnXG4gICAgICAgICAgICA/IHRoaXMudmFsdWUkXG4gICAgICAgICAgICAgICAgLmdldFZhbHVlKClcbiAgICAgICAgICAgICAgICAubWFwKCh2YWw6IGFueSkgPT4gKHR5cGVvZiB2YWwgPT09ICdvYmplY3QnID8gdmFsW2tleVByb3BdIDogdmFsKSlcbiAgICAgICAgICAgICAgICAuaW5jbHVkZXMoaXRlbVZhbHVlW2tleVByb3BdKVxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlJFxuICAgICAgICAgICAgICAgIC5nZXRWYWx1ZSgpXG4gICAgICAgICAgICAgICAgLm1hcCgodmFsOiBhbnkpID0+ICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JyA/IHZhbFtrZXlQcm9wXSA6IHZhbCkpXG4gICAgICAgICAgICAgICAgLmluY2x1ZGVzKGl0ZW1WYWx1ZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5jbGVhcigkZXZlbnQsIGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZShbLi4udGhpcy52YWx1ZSQuZ2V0VmFsdWUoKSwgaXRlbVZhbHVlXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKGl0ZW1WYWx1ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgIHRoaXMudG9nZ2xlKGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy5hY3RpdmVEZXNjZW5kYW50ID0gaW5kZXg7XG4gICAgY29uc3QgaXRlbUxhYmVsID0gdGhpcy5iaW5kTGFiZWwgPyBpdGVtPy5bdGhpcy5iaW5kTGFiZWxdIDogaXRlbTtcbiAgICB0aGlzLnNlYXJjaCQubmV4dChpdGVtTGFiZWwpO1xuICAgIHRoaXMuc2VhcmNoU2VsZWN0ZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICB0b2dnbGUoZm9yY2U/OiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAodGhpcy5vcGVuICE9PSBmb3JjZSkge1xuICAgICAgICB0aGlzLm9wZW4gPSBmb3JjZSAhPT0gdW5kZWZpbmVkID8gZm9yY2UgOiAhdGhpcy5vcGVuO1xuICAgICAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICAgICAgdGhpcy5tb2RhbFdpZHRoID0gdGhpcy5fZWxlbWVudFJlZi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAtIDU7XG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh0aGlzLmdldE92ZXJsYXlDb25maWcoKSk7XG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoZmFsc2UpO1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlKSB7XG4gICAgICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnNlYXJjaCQuZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5vcHRpb25zTW9kYWxSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLm9wdGlvbnNNb2RhbCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgICAgICAgdGhpcy5mb2N1c0luaXRpYWxTZWxlY3Rpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgdGhpcy5mb2N1c1NlbGVjdCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2xpY2soKSB7XG4gICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIHRoaXMuY2xpY2tlZC5lbWl0KCk7XG4gIH1cblxuICB0b2dnbGVGb2N1cygpIHtcbiAgICB0aGlzLmZvY3VzZWQgPSAhdGhpcy5mb2N1c2VkO1xuICB9XG5cbiAgZm9jdXNTZWxlY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlID8gdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpIDogdGhpcy5zZWxlY3RFbGVtZW50Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoKTogT3ZlcmxheUNvbmZpZyB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuX2VsZW1lbnRSZWYpXG4gICAgICAud2l0aFB1c2goZmFsc2UpXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgICAgfVxuICAgICAgXSk7XG5cbiAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcbiAgICByZXR1cm4gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiBzY3JvbGxTdHJhdGVneSxcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgcGFuZWxDbGFzczogWydhLXByeS1zZWxlY3RfX29wdGlvbnMnXSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdhLXByeS1zZWxlY3RfX2JhY2tkcm9wJ1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IF9lbGVtZW50UmVmKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmID8/IHRoaXMuc2VsZWN0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgb25Gb2N1c0NoYW5nZSA9IChvcmlnaW46IEZvY3VzT3JpZ2luKSA9PlxuICAgIHRoaXMuYTExeVNlcnZpY2Uub25Gb2N1c0NoYW5nZShcbiAgICAgIG9yaWdpbixcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlLFxuICAgICAgKCkgPT4gdGhpcy50b2dnbGVGb2N1cygpLFxuICAgICAgKCkgPT4gdGhpcy5mb2N1c1NlbGVjdCgpXG4gICAgKTtcbiAgb25LZXlkb3duU2VsZWN0ID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLmExMXlTZXJ2aWNlLm9uS2V5ZG93blNlbGVjdChldmVudCwgdGhpcy5hdXRvY29tcGxldGUpO1xuICBvbktleWRvd25BdXRvY29tcGxldGVJbnB1dCA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT5cbiAgICB0aGlzLmExMXlTZXJ2aWNlLm9uS2V5ZG93bkF1dG9jb21wbGV0ZUlucHV0KGV2ZW50LCB0aGlzLm9wZW4sIHRoaXMuc2VhcmNoJC5nZXRWYWx1ZSgpLCB0aGlzLm9wdGlvbnNNb2RhbFJlZik7XG4gIG9uS2V5ZG93bk9wdGlvbiA9IChcbiAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICBpdGVtOiBhbnksXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBvcHRpb25EaXZSZWY6IEhUTUxEaXZFbGVtZW50LFxuICAgIGZpcnN0OiBib29sZWFuLFxuICAgIGxhc3Q6IGJvb2xlYW5cbiAgKSA9PlxuICAgIHRoaXMuYTExeVNlcnZpY2Uub25LZXlkb3duT3B0aW9uKFxuICAgICAgZXZlbnQsXG4gICAgICBvcHRpb25EaXZSZWYsXG4gICAgICBmaXJzdCxcbiAgICAgIGxhc3QsXG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZSxcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgKCkgPT4gdGhpcy5zZWxlY3QoZXZlbnQsIGl0ZW0sIGluZGV4KVxuICAgICk7XG4gIGZvY3VzSW5pdGlhbFNlbGVjdGlvbiA9ICgpID0+IHRoaXMuYTExeVNlcnZpY2UuZm9jdXNJbml0aWFsU2VsZWN0aW9uKHRoaXMuYXV0b2NvbXBsZXRlLCB0aGlzLm9wdGlvbnNNb2RhbFJlZik7XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYS1wcnktc2VsZWN0XCJcbiAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICNzZWxlY3RFbGVtZW50XG4gIFtjbGFzcy4tZm9jdXNlZF09XCJmb2N1c2VkXCJcbiAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKClcIlxuICByb2xlPVwiY29tYm9ib3hcIlxuICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm9wZW5cIlxuICBbYXR0ci5hcmlhLW93bnNdPVwib3BlbiA/IG1vZGFsSWQgOiBudWxsXCJcbiAgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIlxuICB0YWJpbmRleD1cIjBcIlxuICBjZGtNb25pdG9yRWxlbWVudEZvY3VzXG4gIChjZGtGb2N1c0NoYW5nZSk9XCJvbkZvY3VzQ2hhbmdlKCRldmVudClcIlxuICAoa2V5ZG93bik9XCJvbktleWRvd25TZWxlY3QoJGV2ZW50KVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhLXByeS1zZWxlY3RfX2NvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXV0b2NvbXBsZXRlOyBlbHNlIG5vQXV0b2NvbXBsZXRlXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fc2VhcmNoXCJcbiAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoJC5nZXRWYWx1ZSgpXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoKCRldmVudCwgdHJ1ZSlcIlxuICAgICAgICBhcmlhLWF1dG9jb21wbGV0ZT1cImxpc3RcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIm9wZW4gPyBtb2RhbElkIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd25BdXRvY29tcGxldGVJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgI2lucHV0XG4gICAgICAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9BdXRvY29tcGxldGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKHZhbHVlSXRlbXMkIHwgYXN5bmMpLmxlbmd0aCA9PT0gMDsgZWxzZSBzZWxlY3RlZFZhbHVlc1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNzZWxlY3RlZFZhbHVlcz5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2YWx1ZUl0ZW1zJCB8IGFzeW5jXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJhLXByeS1zZWxlY3RfX3ZhbHVlXCJcbiAgICAgICAgICAgIFtjbGFzcy5wcnktc2VsZWN0LWZvcm1dPVwiaXNGb3JtXCJcbiAgICAgICAgICAgIFtjbGFzcy4tbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbSA/IGl0ZW1bYmluZENsYXNzZXMgPz8gJyddID8/IHt9IDoge31cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZTsgZWxzZSBub1RlbXBsYXRlTGFiZWxcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW0sIGNsZWFyIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub1RlbXBsYXRlTGFiZWw+XG4gICAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiYmluZEljb25cIlxuICAgICAgICAgICAgICAgIFtpY29uU3ZnXT1cIml0ZW1bYmluZEljb25dXCJcbiAgICAgICAgICAgICAgICBbd2lkdGhdPVwiaWNvblNpemVbMF1cIlxuICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiaWNvblNpemVbMV1cIlxuICAgICAgICAgICAgICA+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJpbmRMYWJlbCA/IGl0ZW0/LltiaW5kTGFiZWxdIDogaXRlbSBhcyB2YWx1ZVwiPlxuICAgICAgICAgICAgICAgIHt7IChpMThuUHJlZml4ID8/ICcnKSArIHZhbHVlIHwgaTE4biA6IHsgd2FybjogZmFsc2UgfSB9fVxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIm11bHRpcGxlICYmIGNsZWFyYWJsZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fY2xlYXJcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgID7Dlzwvc3BhblxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiYS1wcnktc2VsZWN0X19maWxsZXJcIj48L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fYWN0aW9uc1wiPlxuICAgIDxzcGFuICpuZ0lmPVwiY2xlYXJhYmxlXCIgY2xhc3M9XCJhLXByeS1zZWxlY3RfX2NsZWFyXCIgKGNsaWNrKT1cImNsZWFyQWxsKCRldmVudClcIiBhcmlhLWhpZGRlbj1cInRydWVcIj7Dlzwvc3Bhbj5cbiAgICA8cHJ5LWljb25cbiAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0X190b2dnbGVcIlxuICAgICAgW2ljb25TdmddPVwib3BlbiA/ICdjaGV2cm9uX3RvcCcgOiAnY2hldnJvbl9ib3R0b20nXCJcbiAgICAgIFt3aWR0aF09XCJpY29uU2l6ZVswXVwiXG4gICAgICBbaGVpZ2h0XT1cImljb25TaXplWzFdXCJcbiAgICA+PC9wcnktaWNvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjb3B0aW9uc01vZGFsPlxuICA8ZGl2XG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0Bwcnkuc2VsZWN0LmxhYmVsJyB8IGkxOG5cIlxuICAgIFtpZF09XCJtb2RhbElkXCJcbiAgICBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwiJ3NlbGVjdC1vcHRpb24tJyArIGFjdGl2ZURlc2NlbmRhbnRcIlxuICAgIFthdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXT1cIm11bHRpcGxlXCJcbiAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2F0dHIuYXJpYS1yZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgY2RrVHJhcEZvY3VzPVwiIWF1dG9jb21wbGV0ZVwiXG4gICAgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cIiFhdXRvY29tcGxldGVcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fb3B0aW9uc19fb3B0aW9uIC1oaW50XCIgKm5nSWY9XCJsb2FkaW5nXCIgW3N0eWxlLndpZHRoLnB4XT1cIm1vZGFsV2lkdGhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuby13aWRnZXQgbm8td2lkZ2V0X19sb2FkZXJcIj5cbiAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgaWNvblN2Zz1cImxvYWRlclwiXG4gICAgICAgICAgY2xhc3M9XCJuby13aWRnZXRfX2xvYWRpbmdcIlxuICAgICAgICAgIFthbHRdPVwiJ0Bwcnkud2lkZ2V0LnRhcmdldC5sb2FkaW5nJyB8IGkxOG5cIlxuICAgICAgICAgIFt3aWR0aF09XCIzMFwiXG4gICAgICAgICAgW2hlaWdodF09XCIzMFwiXG4gICAgICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPHA+e3sgJ0Bwcnkuc2VsZWN0LmxvYWRpbmcnIHwgaTE4biB9fS4uLjwvcD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWF0Y2hpbmdJdGVtcyQgfCBhc3luYzsgbGV0IGluZGV4ID0gaW5kZXg7IGxldCBmaXJzdCA9IGZpcnN0OyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0X19vcHRpb25zX19vcHRpb25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiKHZhbHVlSXRlbXMkIHwgYXN5bmMpLmluY2x1ZGVzKGl0ZW0pXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiKHZhbHVlSXRlbXMkIHwgYXN5bmMpLmluY2x1ZGVzKGl0ZW0pXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KCRldmVudCwgaXRlbSwgaW5kZXgpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd25PcHRpb24oJGV2ZW50LCBpdGVtLCBpbmRleCwgb3B0aW9uRGl2UmVmLCBmaXJzdCwgbGFzdClcIlxuICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJtb2RhbFdpZHRoXCJcbiAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICBbaWRdPVwiJ3NlbGVjdC1vcHRpb24tJyArIGluZGV4XCJcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICNvcHRpb25EaXZSZWZcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZTsgZWxzZSBub1RlbXBsYXRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbSwgY2xlYXIgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9UZW1wbGF0ZT5cbiAgICAgICAgICAgIDxwcnktY2hlY2tib3ggKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCIgKm5nSWY9XCJtdWx0aXBsZVwiIFtuZ01vZGVsXT1cIih2YWx1ZUl0ZW1zJCB8IGFzeW5jKS5pbmNsdWRlcyhpdGVtKVwiPjwvcHJ5LWNoZWNrYm94PlxuICAgICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICAgICpuZ0lmPVwiYmluZEljb25cIlxuICAgICAgICAgICAgICBbaWNvblN2Z109XCJpdGVtW2JpbmRJY29uXVwiXG4gICAgICAgICAgICAgIFt3aWR0aF09XCJpY29uU2l6ZVswXVwiXG4gICAgICAgICAgICAgIFtoZWlnaHRdPVwiaWNvblNpemVbMV1cIlxuICAgICAgICAgICAgPjwvcHJ5LWljb24+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYmluZExhYmVsID8gaXRlbT8uW2JpbmRMYWJlbF0gOiBpdGVtIGFzIHZhbHVlXCI+XG4gICAgICAgICAgICAgIHt7IChpMThuUHJlZml4ID8gaTE4blByZWZpeCA6ICcnKSArIHZhbHVlIHwgaTE4biA6IHsgd2FybjogZmFsc2UgfSB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
357
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxLQUFLLE1BQU0scUJBQXFCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbkcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7O0FBRzFELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQWVqQixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsd0JBQXdCO0lBVzlELElBQWEsS0FBSyxDQUFDLEtBQStCO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBNEJELElBQWEsT0FBTyxDQUFDLE9BQWdCO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQWVELElBQUksT0FBTztRQUNULE9BQU8sZUFBZSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQ1UsR0FBc0IsRUFDdEIsT0FBZ0IsRUFDaEIsZ0JBQWtDLEVBQ25DLFdBQThCO1FBRXJDLEtBQUssRUFBRSxDQUFDO1FBTEEsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQTVFaEMsT0FBRSxHQUFXLFFBQVEsRUFBRSxDQUFDO1FBQy9CLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBUSxFQUFFLENBQUMsQ0FBQztRQUV6QyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IscUJBQWdCLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFOUIsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFNLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDdEQsYUFBUSxHQUFZLEtBQUssQ0FBQztRQU1qQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFFckIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsa0NBQTZCLEdBQVksS0FBSyxDQUFDO1FBQy9DLGdDQUEyQixHQUFZLEtBQUssQ0FBQztRQUc3QyxhQUFRLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFHcEIsZUFBVSxHQUFrQixJQUFJLENBQUM7UUFDaEMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdEMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDbkMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFN0MsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRTFDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQXdCbkIsY0FBUyxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDM0IsZUFBVSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN0QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsZUFBVSxHQUFHLEdBQUcsQ0FBQztRQWdQakIsa0JBQWEsR0FBRyxDQUFDLE1BQW1CLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FDNUIsTUFBTSxFQUNOLElBQUksQ0FBQyxZQUFZLEVBQ2pCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFDeEIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUN6QixDQUFDO2dCQUNGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBQ0Ysb0JBQWUsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkcsK0JBQTBCLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvRyxvQkFBZSxHQUFHLENBQ2hCLEtBQW9CLEVBQ3BCLElBQVMsRUFDVCxLQUFhLEVBQ2IsWUFBNEIsRUFDNUIsS0FBYyxFQUNkLElBQWEsRUFDYixFQUFFLENBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQzlCLEtBQUssRUFDTCxZQUFZLEVBQ1osS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFDaEMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUN0QyxDQUFDO1FBQ0osMEJBQXFCLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQWxRNUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxRixHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLEVBQUUsRUFBRSxDQUNyQyxJQUFJLENBQUMsWUFBWTtZQUNqQixJQUFJO1lBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ2YsQ0FBQyxlQUFlO1lBQ2hCLENBQUMsSUFBSSxDQUFDLDZCQUE2QjtZQUNuQyxDQUFDLElBQUksQ0FBQywyQkFBMkI7WUFDL0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNELE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNsRSxDQUFDLENBQUM7WUFDSixDQUFDLENBQUMsS0FBSyxDQUNWLEVBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FDcEMsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2hFLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FDckIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUN4RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDO1lBQ3pELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN6QixPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVE7b0JBQzdCLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRO3dCQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssQ0FBQyxPQUFPLENBQUM7d0JBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSztvQkFDM0IsQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkUsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQWEsRUFBRSxJQUFTO1FBQzVCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDO1FBQ3pELElBQUksQ0FBQyxVQUFVLENBQ2IsSUFBSSxDQUFDLE1BQU07YUFDUixRQUFRLEVBQUU7YUFDVixNQUFNLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUNqQixPQUFPLFNBQVMsS0FBSyxRQUFRO1lBQzNCLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRO2dCQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFNBQVMsQ0FBQyxPQUFPLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUM1QixDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUTtnQkFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxTQUFTO2dCQUMxQixDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FDdEIsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFhO1FBQ3BCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBYyxFQUFFLGVBQXdCLEtBQUs7UUFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztZQUMxRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWEsRUFBRSxJQUFTLEVBQUUsS0FBYTtRQUM1QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUNFLE9BQU8sU0FBUyxLQUFLLFFBQVE7b0JBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTTt5QkFDUixRQUFRLEVBQUU7eUJBQ1YsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzt5QkFDakUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO3lCQUNSLFFBQVEsRUFBRTt5QkFDVixHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3lCQUNqRSxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQzFCLENBQUM7b0JBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzNCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDckQsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztvQkFDckUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO29CQUMvRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7d0JBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ25CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDOzRCQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzt3QkFDM0MsQ0FBQztvQkFDSCxDQUFDLENBQUMsQ0FBQztvQkFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztvQkFDNUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQy9CLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDO29CQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNyQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNHLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNsQyxRQUFRLEVBQUU7YUFDVixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ3JDLFFBQVEsQ0FBQyxLQUFLLENBQUM7YUFDZixhQUFhLENBQUM7WUFDYjtnQkFDRSxPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixRQUFRLEVBQUUsS0FBSzthQUNoQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixPQUFPLEVBQUUsS0FBSztnQkFDZCxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7YUFDbkI7U0FDRixDQUFDLENBQUM7UUFFTCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xFLE9BQU8sSUFBSSxhQUFhLENBQUM7WUFDdkIsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLGNBQWMsRUFBRSxjQUFjO1lBQzlCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFVBQVUsRUFBRSxDQUFDLHVCQUF1QixDQUFDO1lBQ3JDLGFBQWEsRUFBRSx3QkFBd0I7U0FDeEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUM3RCxDQUFDOzhHQWpUVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixrckJBVGxCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNELGlCQUFpQjtTQUNsQixtSEEyRGtDLFdBQVcsc09DL0ZoRCx5OEtBNElBOzsyRkR0R2Esa0JBQWtCO2tCQWI5QixTQUFTOytCQUNFLFlBQVksYUFHWDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0QsaUJBQWlCO3FCQUNsQjsyS0FhWSxLQUFLO3NCQUFqQixLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyw2QkFBNkI7c0JBQXJDLEtBQUs7Z0JBQ0csMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTU8sT0FBTztzQkFBbkIsS0FBSztnQkFnQjRDLFlBQVk7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFFYixhQUFhO3NCQUEvQyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ2pCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ2MsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsL2VzNic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kYXNoYm9hcmQvY29tcG9uZW50cy9zdWJzY3JpcHRpb25uZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNlbGVjdEExMXlTZXJ2aWNlIH0gZnJvbSAnLi9zZWxlY3QtYTExeS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcnlTZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIFNlbGVjdEExMXlTZXJ2aWNlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUHJ5U2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwdWJsaWMgaWQ6IG51bWJlciA9IHVuaXF1ZUlkKys7XG4gIF9pdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XG4gIG1hdGNoaW5nSXRlbXMkOiBPYnNlcnZhYmxlPGFueT47XG4gIG9wZW4gPSBmYWxzZTtcbiAgYWN0aXZlRGVzY2VuZGFudDogbnVtYmVyID0gLTE7XG4gIHZhbHVlSXRlbXMkOiBPYnNlcnZhYmxlPGFueT47XG4gIHZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih1bmRlZmluZWQpO1xuICBzZWFyY2hTZWxlY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaW5oaWJhdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgaXRlbXMoaXRlbXM6IGFueVtdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2l0ZW1zJC5uZXh0KGl0ZW1zID8/IFtdKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGNsZWFyYWJsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBjbG9zZU9uU2VsZWN0ID0gdHJ1ZTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlzRm9ybSA9IGZhbHNlO1xuICBASW5wdXQoKSByZXF1aXJlZD86IGFueTtcbiAgQElucHV0KCkgbmFtZT86IGFueTtcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFsd2F5c1Nob3dBdXRvc3VnZ2VzdGVkVmFsdWVzOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGV4dGVybmFsQXV0b2NvbXBsZXRlU2VydmljZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYmluZExhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGljb25TaXplID0gWzEwLCAxNl07XG4gIEBJbnB1dCgpIGJpbmRJY29uOiBhbnk7XG4gIEBJbnB1dCgpIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgaTE4blByZWZpeDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBPdXRwdXQoKSBzZWFyY2hlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgY2xlYXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBJbnB1dCgpIGJpbmRDbGFzc2VzOiBhbnk7XG4gIHNlYXJjaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIF9sb2FkaW5nID0gZmFsc2U7XG4gIGhhc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNldCBsb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9sb2FkaW5nID0gbG9hZGluZztcbiAgICBpZiAodGhpcy5fbG9hZGluZykge1xuICAgICAgdGhpcy5oYXNMb2FkZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBsb2FkaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuICBAVmlld0NoaWxkKCdvcHRpb25zTW9kYWwnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIG9wdGlvbnNNb2RhbCE6IFRlbXBsYXRlUmVmPGFueT47XG4gIG9wdGlvbnNNb2RhbFJlZj86IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xuICBAVmlld0NoaWxkKCdzZWxlY3RFbGVtZW50JykgcHVibGljIHNlbGVjdEVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQElucHV0KCkgZWxlbWVudFJlZiE6IEhUTUxEaXZFbGVtZW50O1xuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBwcml2YXRlIF9vbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcbiAgZm9jdXNlZCA9IGZhbHNlO1xuICBtb2RhbFdpZHRoID0gMjAwO1xuXG4gIGdldCBtb2RhbElkKCkge1xuICAgIHJldHVybiAnc2VsZWN0LW1vZGFsLScgKyB0aGlzLmlkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHVibGljIGExMXlTZXJ2aWNlOiBTZWxlY3RBMTF5U2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubWF0Y2hpbmdJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9pdGVtcyQsIHRoaXMuc2VhcmNoJCwgdGhpcy5zZWFyY2hTZWxlY3RlZCRdKS5waXBlKFxuICAgICAgbWFwKChbaXRlbXMsIHRlcm0sIGFscmVhZHlTZWxlY3RlZF0pID0+XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlICYmXG4gICAgICAgIHRlcm0gJiZcbiAgICAgICAgdGVybS5sZW5ndGggPiAwICYmXG4gICAgICAgICFhbHJlYWR5U2VsZWN0ZWQgJiZcbiAgICAgICAgIXRoaXMuYWx3YXlzU2hvd0F1dG9zdWdnZXN0ZWRWYWx1ZXMgJiZcbiAgICAgICAgIXRoaXMuZXh0ZXJuYWxBdXRvY29tcGxldGVTZXJ2aWNlXG4gICAgICAgICAgPyBpdGVtcy5maWx0ZXIoKGkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaXRlbVZhbHVlID0gdGhpcy5iaW5kTGFiZWwgPyBpPy5bdGhpcy5iaW5kTGFiZWxdIDogaTtcbiAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1WYWx1ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGVybS50b0xvd2VyQ2FzZSgpKSA+IC0xO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICA6IGl0ZW1zXG4gICAgICApLFxuICAgICAgdGFwKCgpID0+IHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKSlcbiAgICApO1xuICAgIHRoaXMudmFsdWVJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnZhbHVlJCwgdGhpcy5faXRlbXMkXSkucGlwZShcbiAgICAgIG1hcCgoW3ZhbHVlLCBpdGVtc10pID0+XG4gICAgICAgICh0aGlzLm11bHRpcGxlID8gdmFsdWUgPz8gW10gOiAhIXZhbHVlID8gW3ZhbHVlXSA6IFtdKS5tYXAoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBrZXlQcm9wID0gdGhpcy5iaW5kVmFsdWUgPz8gdGhpcy5iaW5kTGFiZWwgPz8gJ2lkJztcbiAgICAgICAgICByZXR1cm4gaXRlbXMuZmluZCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0J1xuICAgICAgICAgICAgICA/IHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgICA/IGl0ZW1ba2V5UHJvcF0gPT09IHZhbHVlW2tleVByb3BdXG4gICAgICAgICAgICAgICAgOiBpdGVtW2tleVByb3BdID09PSB2YWx1ZVxuICAgICAgICAgICAgICA6IGl0ZW0gPT09IHZhbHVlO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMudmFsdWVJdGVtcyQuc3Vic2NyaWJlKChpdGVtKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IHRoaXMuYmluZExhYmVsID8gaXRlbVswXT8uW3RoaXMuYmluZExhYmVsXSA6IGl0ZW1bMF07XG4gICAgICAgICAgaWYgKGl0ZW1WYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2gkLm5leHQoaXRlbVZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoU2VsZWN0ZWQkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5leHRlcm5hbEF1dG9jb21wbGV0ZVNlcnZpY2UpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5faXRlbXMkLnN1YnNjcmliZSgoXykgPT4gdGhpcy50b2dnbGUoKSkpO1xuICAgIH1cblxuICAgIHRoaXMuYTExeVNlcnZpY2Uuc2V0VG9nZ2xlKChmb3JjZT86IGJvb2xlYW4pID0+IHRoaXMudG9nZ2xlKGZvcmNlKSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGlmICghZXF1YWwodGhpcy52YWx1ZSQuZ2V0VmFsdWUoKSwgb2JqKSkge1xuICAgICAgdGhpcy52YWx1ZSQubmV4dChvYmopO1xuICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSQuZ2V0VmFsdWUoKSk7XG4gICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5zZWFyY2gkLm5leHQob2JqKTtcbiAgICAgIHRoaXMuc2VhcmNoU2VsZWN0ZWQkLm5leHQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoJGV2ZW50OiBFdmVudCwgaXRlbTogYW55KSB7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IHRoaXMuYmluZFZhbHVlID8gaXRlbT8uW3RoaXMuYmluZFZhbHVlXSA6IGl0ZW07XG4gICAgY29uc3Qga2V5UHJvcCA9IHRoaXMuYmluZFZhbHVlID8/IHRoaXMuYmluZExhYmVsID8/ICdpZCc7XG4gICAgdGhpcy53cml0ZVZhbHVlKFxuICAgICAgdGhpcy52YWx1ZSRcbiAgICAgICAgLmdldFZhbHVlKClcbiAgICAgICAgLmZpbHRlcigoaTogYW55KSA9PlxuICAgICAgICAgIHR5cGVvZiBpdGVtVmFsdWUgPT09ICdvYmplY3QnXG4gICAgICAgICAgICA/IHR5cGVvZiBpID09PSAnb2JqZWN0J1xuICAgICAgICAgICAgICA/IGlba2V5UHJvcF0gIT09IGl0ZW1WYWx1ZVtrZXlQcm9wXVxuICAgICAgICAgICAgICA6IGkgIT09IGl0ZW1WYWx1ZVtrZXlQcm9wXVxuICAgICAgICAgICAgOiB0eXBlb2YgaSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgPyBpW2tleVByb3BdICE9PSBpdGVtVmFsdWVcbiAgICAgICAgICAgICAgOiBpICE9PSBpdGVtVmFsdWVcbiAgICAgICAgKVxuICAgICk7XG4gIH1cblxuICBjbGVhckFsbCgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUoW10pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUodW5kZWZpbmVkKTtcbiAgICB9XG4gICAgdGhpcy5zZWFyY2goJycpO1xuICAgIHRoaXMuY2xlYXJlZC5uZXh0KCk7XG4gIH1cblxuICBzZWFyY2goJGV2ZW50OiBzdHJpbmcsIGZyb21UZW1wbGF0ZTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgdGhpcy5zZWFyY2gkLm5leHQoJGV2ZW50KTtcbiAgICB0aGlzLnNlYXJjaGVkLm5leHQoJGV2ZW50KTtcbiAgICB0aGlzLnNlYXJjaFNlbGVjdGVkJC5uZXh0KGZhbHNlKTtcbiAgICBpZiAoZnJvbVRlbXBsYXRlICYmIHRoaXMuYXV0b2NvbXBsZXRlICYmIHRoaXMuZXh0ZXJuYWxBdXRvY29tcGxldGVTZXJ2aWNlKSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUoJGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3QoJGV2ZW50OiBFdmVudCwgaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgaXRlbVZhbHVlID0gdGhpcy5iaW5kVmFsdWUgPyBpdGVtPy5bdGhpcy5iaW5kVmFsdWVdIDogaXRlbTtcbiAgICBjb25zdCBrZXlQcm9wID0gdGhpcy5iaW5kVmFsdWUgPz8gdGhpcy5iaW5kTGFiZWwgPz8gJ2lkJztcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgaWYgKCF0aGlzLnZhbHVlJC5nZXRWYWx1ZSgpKSB7XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZShbaXRlbVZhbHVlXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdHlwZW9mIGl0ZW1WYWx1ZSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgID8gdGhpcy52YWx1ZSRcbiAgICAgICAgICAgICAgICAuZ2V0VmFsdWUoKVxuICAgICAgICAgICAgICAgIC5tYXAoKHZhbDogYW55KSA9PiAodHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgPyB2YWxba2V5UHJvcF0gOiB2YWwpKVxuICAgICAgICAgICAgICAgIC5pbmNsdWRlcyhpdGVtVmFsdWVba2V5UHJvcF0pXG4gICAgICAgICAgICA6IHRoaXMudmFsdWUkXG4gICAgICAgICAgICAgICAgLmdldFZhbHVlKClcbiAgICAgICAgICAgICAgICAubWFwKCh2YWw6IGFueSkgPT4gKHR5cGVvZiB2YWwgPT09ICdvYmplY3QnID8gdmFsW2tleVByb3BdIDogdmFsKSlcbiAgICAgICAgICAgICAgICAuaW5jbHVkZXMoaXRlbVZhbHVlKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmNsZWFyKCRldmVudCwgaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy53cml0ZVZhbHVlKFsuLi50aGlzLnZhbHVlJC5nZXRWYWx1ZSgpLCBpdGVtVmFsdWVdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUoaXRlbVZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY2xvc2VPblNlbGVjdCkge1xuICAgICAgdGhpcy50b2dnbGUoZmFsc2UpO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZURlc2NlbmRhbnQgPSBpbmRleDtcbiAgICBjb25zdCBpdGVtTGFiZWwgPSB0aGlzLmJpbmRMYWJlbCA/IGl0ZW0/Llt0aGlzLmJpbmRMYWJlbF0gOiBpdGVtO1xuICAgIHRoaXMuc2VhcmNoJC5uZXh0KGl0ZW1MYWJlbCk7XG4gICAgdGhpcy5zZWFyY2hTZWxlY3RlZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHRvZ2dsZShmb3JjZT86IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGlmICh0aGlzLm9wZW4gIT09IGZvcmNlKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZvcmNlICE9PSB1bmRlZmluZWQgPyBmb3JjZSA6ICF0aGlzLm9wZW47XG4gICAgICAgIGlmICh0aGlzLm9wZW4pIHtcbiAgICAgICAgICB0aGlzLm1vZGFsV2lkdGggPSB0aGlzLl9lbGVtZW50UmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC0gNTtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHRoaXMuZ2V0T3ZlcmxheUNvbmZpZygpKTtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZShmYWxzZSk7XG4gICAgICAgICAgICBpZiAodGhpcy5hdXRvY29tcGxldGUpIHtcbiAgICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuc2VhcmNoJC5nZXRWYWx1ZSgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLm9wdGlvbnNNb2RhbFJlZiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMub3B0aW9uc01vZGFsLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICAgICAgICB0aGlzLmZvY3VzSW5pdGlhbFNlbGVjdGlvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB0aGlzLmZvY3VzU2VsZWN0KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaGliaXRpb24oKSB7XG4gICAgdGhpcy5pbmhpYmF0ZSA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiAodGhpcy5pbmhpYmF0ZSA9IGZhbHNlKSwgMTAwKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKCkge1xuICAgIGlmICghdGhpcy5pbmhpYmF0ZSkge1xuICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICB0aGlzLmNsaWNrZWQuZW1pdCgpO1xuICAgICAgdGhpcy5pbmhpYml0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRm9jdXMoKSB7XG4gICAgdGhpcy5mb2N1c2VkID0gIXRoaXMuZm9jdXNlZDtcbiAgfVxuXG4gIGZvY3VzU2VsZWN0KCkge1xuICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZSA/IHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSA6IHRoaXMuc2VsZWN0RWxlbWVudD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdmVybGF5Q29uZmlnKCk6IE92ZXJsYXlDb25maWcge1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLl9lbGVtZW50UmVmKVxuICAgICAgLndpdGhQdXNoKGZhbHNlKVxuICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nXG4gICAgICAgIH1cbiAgICAgIF0pO1xuXG4gICAgY29uc3Qgc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCk7XG4gICAgcmV0dXJuIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICBzY3JvbGxTdHJhdGVneTogc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYS1wcnktc2VsZWN0X19vcHRpb25zJ10sXG4gICAgICBiYWNrZHJvcENsYXNzOiAnYS1wcnktc2VsZWN0X19iYWNrZHJvcCdcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBfZWxlbWVudFJlZigpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZiA/PyB0aGlzLnNlbGVjdEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG9uRm9jdXNDaGFuZ2UgPSAob3JpZ2luOiBGb2N1c09yaWdpbikgPT4ge1xuICAgIGlmICghdGhpcy5pbmhpYmF0ZSkge1xuICAgICAgdGhpcy5hMTF5U2VydmljZS5vbkZvY3VzQ2hhbmdlKFxuICAgICAgICBvcmlnaW4sXG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlLFxuICAgICAgICAoKSA9PiB0aGlzLnRvZ2dsZUZvY3VzKCksXG4gICAgICAgICgpID0+IHRoaXMuZm9jdXNTZWxlY3QoKVxuICAgICAgKTtcbiAgICAgIHRoaXMuaW5oaWJpdGlvbigpO1xuICAgIH1cbiAgfTtcbiAgb25LZXlkb3duU2VsZWN0ID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLmExMXlTZXJ2aWNlLm9uS2V5ZG93blNlbGVjdChldmVudCwgdGhpcy5hdXRvY29tcGxldGUpO1xuICBvbktleWRvd25BdXRvY29tcGxldGVJbnB1dCA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT5cbiAgICB0aGlzLmExMXlTZXJ2aWNlLm9uS2V5ZG93bkF1dG9jb21wbGV0ZUlucHV0KGV2ZW50LCB0aGlzLm9wZW4sIHRoaXMuc2VhcmNoJC5nZXRWYWx1ZSgpLCB0aGlzLm9wdGlvbnNNb2RhbFJlZik7XG4gIG9uS2V5ZG93bk9wdGlvbiA9IChcbiAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICBpdGVtOiBhbnksXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBvcHRpb25EaXZSZWY6IEhUTUxEaXZFbGVtZW50LFxuICAgIGZpcnN0OiBib29sZWFuLFxuICAgIGxhc3Q6IGJvb2xlYW5cbiAgKSA9PlxuICAgIHRoaXMuYTExeVNlcnZpY2Uub25LZXlkb3duT3B0aW9uKFxuICAgICAgZXZlbnQsXG4gICAgICBvcHRpb25EaXZSZWYsXG4gICAgICBmaXJzdCxcbiAgICAgIGxhc3QsXG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZSxcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgKCkgPT4gdGhpcy5zZWxlY3QoZXZlbnQsIGl0ZW0sIGluZGV4KVxuICAgICk7XG4gIGZvY3VzSW5pdGlhbFNlbGVjdGlvbiA9ICgpID0+IHRoaXMuYTExeVNlcnZpY2UuZm9jdXNJbml0aWFsU2VsZWN0aW9uKHRoaXMuYXV0b2NvbXBsZXRlLCB0aGlzLm9wdGlvbnNNb2RhbFJlZik7XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYS1wcnktc2VsZWN0XCJcbiAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICNzZWxlY3RFbGVtZW50XG4gIFtjbGFzcy4tZm9jdXNlZF09XCJmb2N1c2VkXCJcbiAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKClcIlxuICByb2xlPVwiY29tYm9ib3hcIlxuICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm9wZW5cIlxuICBbYXR0ci5hcmlhLW93bnNdPVwib3BlbiA/IG1vZGFsSWQgOiBudWxsXCJcbiAgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIlxuICB0YWJpbmRleD1cIjBcIlxuICBjZGtNb25pdG9yRWxlbWVudEZvY3VzXG4gIChjZGtGb2N1c0NoYW5nZSk9XCJvbkZvY3VzQ2hhbmdlKCRldmVudClcIlxuICAoa2V5ZG93bik9XCJvbktleWRvd25TZWxlY3QoJGV2ZW50KVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhLXByeS1zZWxlY3RfX2NvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXV0b2NvbXBsZXRlOyBlbHNlIG5vQXV0b2NvbXBsZXRlXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fc2VhcmNoXCJcbiAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoJC5nZXRWYWx1ZSgpXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoKCRldmVudCwgdHJ1ZSlcIlxuICAgICAgICBhcmlhLWF1dG9jb21wbGV0ZT1cImxpc3RcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIm9wZW4gPyBtb2RhbElkIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd25BdXRvY29tcGxldGVJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgI2lucHV0XG4gICAgICAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9BdXRvY29tcGxldGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKHZhbHVlSXRlbXMkIHwgYXN5bmMpLmxlbmd0aCA9PT0gMDsgZWxzZSBzZWxlY3RlZFZhbHVlc1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNzZWxlY3RlZFZhbHVlcz5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2YWx1ZUl0ZW1zJCB8IGFzeW5jXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJhLXByeS1zZWxlY3RfX3ZhbHVlXCJcbiAgICAgICAgICAgIFtjbGFzcy5wcnktc2VsZWN0LWZvcm1dPVwiaXNGb3JtXCJcbiAgICAgICAgICAgIFtjbGFzcy4tbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbSA/IGl0ZW1bYmluZENsYXNzZXMgPz8gJyddID8/IHt9IDoge31cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZTsgZWxzZSBub1RlbXBsYXRlTGFiZWxcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW0sIGNsZWFyIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub1RlbXBsYXRlTGFiZWw+XG4gICAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiYmluZEljb25cIlxuICAgICAgICAgICAgICAgIFtpY29uU3ZnXT1cIml0ZW1bYmluZEljb25dXCJcbiAgICAgICAgICAgICAgICBbd2lkdGhdPVwiaWNvblNpemVbMF1cIlxuICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiaWNvblNpemVbMV1cIlxuICAgICAgICAgICAgICA+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJpbmRMYWJlbCA/IGl0ZW0/LltiaW5kTGFiZWxdIDogaXRlbSBhcyB2YWx1ZVwiPlxuICAgICAgICAgICAgICAgIHt7IChpMThuUHJlZml4ID8/ICcnKSArIHZhbHVlIHwgaTE4biA6IHsgd2FybjogZmFsc2UgfSB9fVxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIm11bHRpcGxlICYmIGNsZWFyYWJsZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fY2xlYXJcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+w5c8L3NwYW5cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fZmlsbGVyXCI+PC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhLXByeS1zZWxlY3RfX2FjdGlvbnNcIj5cbiAgICA8c3BhbiAqbmdJZj1cImNsZWFyYWJsZVwiIGNsYXNzPVwiYS1wcnktc2VsZWN0X19jbGVhclwiIChjbGljayk9XCJjbGVhckFsbCgkZXZlbnQpXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+w5c8L3NwYW4+XG4gICAgPHByeS1pY29uXG4gICAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fdG9nZ2xlXCJcbiAgICAgIFtpY29uU3ZnXT1cIm9wZW4gPyAnY2hldnJvbl90b3AnIDogJ2NoZXZyb25fYm90dG9tJ1wiXG4gICAgICBbd2lkdGhdPVwiaWNvblNpemVbMF1cIlxuICAgICAgW2hlaWdodF09XCJpY29uU2l6ZVsxXVwiXG4gICAgPjwvcHJ5LWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI29wdGlvbnNNb2RhbD5cbiAgPGRpdlxuICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidAcHJ5LnNlbGVjdC5sYWJlbCcgfCBpMThuXCJcbiAgICBbaWRdPVwibW9kYWxJZFwiXG4gICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cIidzZWxlY3Qtb3B0aW9uLScgKyBhY3RpdmVEZXNjZW5kYW50XCJcbiAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJtdWx0aXBsZVwiXG4gICAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFthdHRyLmFyaWEtcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIGNka1RyYXBGb2N1cz1cIiFhdXRvY29tcGxldGVcIlxuICAgIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCIhYXV0b2NvbXBsZXRlXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJhLXByeS1zZWxlY3RfX29wdGlvbnNfX29wdGlvbiAtaGludFwiICpuZ0lmPVwibG9hZGluZ1wiIFtzdHlsZS53aWR0aC5weF09XCJtb2RhbFdpZHRoXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibm8td2lkZ2V0IG5vLXdpZGdldF9fbG9hZGVyXCI+XG4gICAgICAgIDxwcnktaWNvblxuICAgICAgICAgIGljb25Tdmc9XCJsb2FkZXJcIlxuICAgICAgICAgIGNsYXNzPVwibm8td2lkZ2V0X19sb2FkaW5nXCJcbiAgICAgICAgICBbYWx0XT1cIidAcHJ5LndpZGdldC50YXJnZXQubG9hZGluZycgfCBpMThuXCJcbiAgICAgICAgICBbd2lkdGhdPVwiMzBcIlxuICAgICAgICAgIFtoZWlnaHRdPVwiMzBcIlxuICAgICAgICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwPnt7ICdAcHJ5LnNlbGVjdC5sb2FkaW5nJyB8IGkxOG4gfX0uLi48L3A+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1hdGNoaW5nSXRlbXMkIHwgYXN5bmM7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgZmlyc3QgPSBmaXJzdDsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdF9fb3B0aW9uc19fb3B0aW9uXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIih2YWx1ZUl0ZW1zJCB8IGFzeW5jKS5pbmNsdWRlcyhpdGVtKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cIih2YWx1ZUl0ZW1zJCB8IGFzeW5jKS5pbmNsdWRlcyhpdGVtKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgkZXZlbnQsIGl0ZW0sIGluZGV4KVwiXG4gICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duT3B0aW9uKCRldmVudCwgaXRlbSwgaW5kZXgsIG9wdGlvbkRpdlJlZiwgZmlyc3QsIGxhc3QpXCJcbiAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwibW9kYWxXaWR0aFwiXG4gICAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgICAgW2lkXT1cIidzZWxlY3Qtb3B0aW9uLScgKyBpbmRleFwiXG4gICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAjb3B0aW9uRGl2UmVmXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGVtcGxhdGU7IGVsc2Ugbm9UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW0sIGNsZWFyIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI25vVGVtcGxhdGU+XG4gICAgICAgICAgICA8cHJ5LWNoZWNrYm94IChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiICpuZ0lmPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCIodmFsdWVJdGVtcyQgfCBhc3luYykuaW5jbHVkZXMoaXRlbSlcIj48L3ByeS1jaGVja2JveD5cbiAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICAqbmdJZj1cImJpbmRJY29uXCJcbiAgICAgICAgICAgICAgW2ljb25TdmddPVwiaXRlbVtiaW5kSWNvbl1cIlxuICAgICAgICAgICAgICBbd2lkdGhdPVwiaWNvblNpemVbMF1cIlxuICAgICAgICAgICAgICBbaGVpZ2h0XT1cImljb25TaXplWzFdXCJcbiAgICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJpbmRMYWJlbCA/IGl0ZW0/LltiaW5kTGFiZWxdIDogaXRlbSBhcyB2YWx1ZVwiPlxuICAgICAgICAgICAgICB7eyAoaTE4blByZWZpeCA/IGkxOG5QcmVmaXggOiAnJykgKyB2YWx1ZSB8IGkxOG4gOiB7IHdhcm46IGZhbHNlIH0gfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==