@mediusinc/mng-commons 0.2.8 → 0.2.13

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 (67) hide show
  1. package/README.md +46 -0
  2. package/assets/i18n/en.json +202 -151
  3. package/assets/i18n/sl.json +202 -151
  4. package/esm2020/lib/api/utils/object-serializer.util.mjs +12 -7
  5. package/esm2020/lib/components/action/dialog/action-dialog.component.mjs +2 -2
  6. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +2 -4
  7. package/esm2020/lib/components/form/editor/form-editor.component.mjs +1 -1
  8. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +3 -3
  9. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +9 -8
  10. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +3 -3
  11. package/esm2020/lib/components/layout/menu-item.component.mjs +59 -17
  12. package/esm2020/lib/components/tableview/services/tableview.component.service.mjs +1 -1
  13. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +3 -3
  14. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +2 -1
  15. package/esm2020/lib/components/tableview/table/table.component.mjs +5 -4
  16. package/esm2020/lib/components/tableview/tableview.component.mjs +1 -1
  17. package/esm2020/lib/config/formly.config.mjs +10 -1
  18. package/esm2020/lib/data-providers/base.data-provider.mjs +1 -8
  19. package/esm2020/lib/descriptors/editor.descriptor.mjs +113 -66
  20. package/esm2020/lib/descriptors/table.descriptor.mjs +130 -42
  21. package/esm2020/lib/descriptors/tableview.descriptor.mjs +9 -6
  22. package/esm2020/lib/mng-commons.module.mjs +8 -2
  23. package/esm2020/lib/models/enum.model.mjs +2 -0
  24. package/esm2020/lib/models/index.mjs +3 -1
  25. package/esm2020/lib/models/menu.model.mjs +2 -0
  26. package/esm2020/lib/pipes/enum.pipe.mjs +22 -0
  27. package/esm2020/lib/pipes/i18n-property.pipe.mjs +18 -0
  28. package/esm2020/lib/pipes/index.mjs +3 -1
  29. package/esm2020/lib/router/route-builder.mjs +86 -17
  30. package/esm2020/lib/services/commons.service.mjs +1 -1
  31. package/esm2020/lib/types/type.decorator.mjs +7 -1
  32. package/esm2020/lib/types/type.model.mjs +1 -1
  33. package/esm2020/lib/utils/editor-formly.util.mjs +10 -1
  34. package/esm2020/lib/utils/enum.util.mjs +82 -0
  35. package/esm2020/lib/utils/i18n.util.mjs +38 -26
  36. package/esm2020/lib/utils/index.mjs +2 -1
  37. package/esm2020/lib/utils/type.util.mjs +39 -2
  38. package/esm2020/public-api.mjs +2 -1
  39. package/fesm2015/mediusinc-mng-commons.mjs +643 -197
  40. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  41. package/fesm2020/mediusinc-mng-commons.mjs +637 -196
  42. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  43. package/lib/api/utils/object-serializer.util.d.ts +1 -0
  44. package/lib/components/layout/menu-item.component.d.ts +13 -5
  45. package/lib/components/tableview/table/column-value/column-value.component.d.ts +1 -0
  46. package/lib/data-providers/base.data-provider.d.ts +0 -3
  47. package/lib/descriptors/editor.descriptor.d.ts +43 -28
  48. package/lib/descriptors/table.descriptor.d.ts +37 -16
  49. package/lib/descriptors/tableview.descriptor.d.ts +9 -8
  50. package/lib/mng-commons.module.d.ts +70 -68
  51. package/lib/models/enum.model.d.ts +5 -0
  52. package/lib/models/index.d.ts +2 -0
  53. package/lib/models/menu.model.d.ts +25 -0
  54. package/lib/pipes/enum.pipe.d.ts +7 -0
  55. package/lib/pipes/i18n-property.pipe.d.ts +8 -0
  56. package/lib/pipes/index.d.ts +2 -0
  57. package/lib/router/route-builder.d.ts +9 -5
  58. package/lib/services/commons.service.d.ts +6 -6
  59. package/lib/types/type.decorator.d.ts +2 -0
  60. package/lib/types/type.model.d.ts +2 -2
  61. package/lib/utils/enum.util.d.ts +50 -0
  62. package/lib/utils/i18n.util.d.ts +6 -2
  63. package/lib/utils/index.d.ts +1 -0
  64. package/lib/utils/type.util.d.ts +22 -1
  65. package/package.json +2 -2
  66. package/public-api.d.ts +1 -0
  67. package/scss/mng-overrides/_layout_forms.scss +5 -0
@@ -0,0 +1,82 @@
1
+ export class EnumUtil {
2
+ /**
3
+ * Returns array of names for constants in enum.
4
+ * @param enumType Enum object.
5
+ */
6
+ static getConstantNames(enumType) {
7
+ return EnumUtil.getConstantNamesFromEnumObject(enumType);
8
+ }
9
+ /**
10
+ * Returns array of names for constants in enum.
11
+ * @param enumObj Enum object.
12
+ */
13
+ static getConstantNamesFromEnumObject(enumObj) {
14
+ // in number enum, the numbers are also represented in objects and should be filtered out
15
+ return Object.keys(enumObj).filter(v => isNaN(+v));
16
+ }
17
+ /**
18
+ * Returns array of string values for constants in enum.
19
+ * @param enumType Enum object.
20
+ */
21
+ static getConstantValuesAsString(enumType) {
22
+ return Object.keys(enumType).map(v => enumType[v]);
23
+ }
24
+ /**
25
+ * Returns array of number values for constants in enum.
26
+ * @param enumType Enum object.
27
+ */
28
+ static getConstantValuesAsNumber(enumType) {
29
+ return Object.keys(enumType)
30
+ .filter(v => !isNaN(+v))
31
+ .map(v => +v);
32
+ }
33
+ /**
34
+ * Returns array of type EnumValue for all constants in enum.
35
+ * @param enumType Enum object.
36
+ * @param nameAsValue If use name of constant as value (optional, default: false).
37
+ * @param titlePath Base path for title to use as translation (optional).
38
+ */
39
+ static fromConstantsAsEnumValueArray(enumType, nameAsValue = false, titlePath) {
40
+ return EnumUtil.getConstantNames(enumType).map(n => ({ name: n, title: `${titlePath ? `${titlePath}.` : ''}${n}`, value: nameAsValue ? n : enumType[n] }));
41
+ }
42
+ /**
43
+ * Returns array of type EnumValue for provided values in enum.
44
+ * @param enumType Enum object.
45
+ * @param nameAsValue If use name of constant as value (optional, default: false).
46
+ * @param titlePath Base path for title to use as translation (optional).
47
+ */
48
+ static fromValuesAsEnumValueArray(enumType, values, nameAsValue = false, titlePath) {
49
+ return values.map(v => {
50
+ const k = EnumUtil.getConstantName(enumType, v);
51
+ return { name: k, title: `${titlePath ? `${titlePath}.` : ''}${k}`, value: nameAsValue ? k : v };
52
+ });
53
+ }
54
+ /**
55
+ * Gets constant name for value.
56
+ * @param enumType Enum object.
57
+ * @param value Value of enum constant.
58
+ */
59
+ static getConstantName(enumType, value) {
60
+ if (typeof value === 'string') {
61
+ return this.getConstantNames(enumType).find(c => enumType[c] === value) ?? null;
62
+ }
63
+ else {
64
+ return typeof enumType[value] !== 'undefined' ? enumType[value] : null;
65
+ }
66
+ }
67
+ /**
68
+ * Gets constant name for value.
69
+ * @param enumObj Enum object.
70
+ * @param value Value of enum constant.
71
+ */
72
+ static getConstantNameFromEnumObject(enumObj, value) {
73
+ const enumObjAny = enumObj;
74
+ if (typeof value === 'string') {
75
+ return this.getConstantNamesFromEnumObject(enumObj).find(c => enumObjAny[c] === value) ?? null;
76
+ }
77
+ else {
78
+ return typeof enumObjAny[value] !== 'undefined' ? enumObjAny[value] : null;
79
+ }
80
+ }
81
+ }
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9lbnVtLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLFFBQVE7SUFDakI7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQWtCO1FBQzdDLE9BQU8sUUFBUSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsOEJBQThCLENBQUMsT0FBZTtRQUN4RCx5RkFBeUY7UUFDekYsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxRQUFrQjtRQUN0RCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQWlCLENBQVcsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMseUJBQXlCLENBQUMsUUFBa0I7UUFDdEQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLDZCQUE2QixDQUFDLFFBQWtCLEVBQUUsV0FBVyxHQUFHLEtBQUssRUFBRSxTQUFrQjtRQUNuRyxPQUFPLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQzFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBNEIsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUEsQ0FDckksQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxRQUFrQixFQUFFLE1BQStCLEVBQUUsV0FBVyxHQUFHLEtBQUssRUFBRSxTQUFrQjtRQUNqSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEIsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEQsT0FBTyxFQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQStCLENBQUM7UUFDakksQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsUUFBa0IsRUFBRSxLQUF1QjtRQUNyRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDO1NBQ25GO2FBQU07WUFDSCxPQUFPLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUUsUUFBUSxDQUFDLEtBQUssQ0FBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDdEY7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxPQUFlLEVBQUUsS0FBdUI7UUFDaEYsTUFBTSxVQUFVLEdBQUcsT0FBYyxDQUFDO1FBQ2xDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7U0FDbEc7YUFBTTtZQUNILE9BQU8sT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBRSxVQUFVLENBQUMsS0FBSyxDQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUMxRjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RW51bVZhbHVlfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtFbnVtQ29uc3RhbnRUeXBlLCBFbnVtVHlwZX0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgRW51bVV0aWwge1xuICAgIC8qKlxuICAgICAqIFJldHVybnMgYXJyYXkgb2YgbmFtZXMgZm9yIGNvbnN0YW50cyBpbiBlbnVtLlxuICAgICAqIEBwYXJhbSBlbnVtVHlwZSBFbnVtIG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldENvbnN0YW50TmFtZXMoZW51bVR5cGU6IEVudW1UeXBlKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiBFbnVtVXRpbC5nZXRDb25zdGFudE5hbWVzRnJvbUVudW1PYmplY3QoZW51bVR5cGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYXJyYXkgb2YgbmFtZXMgZm9yIGNvbnN0YW50cyBpbiBlbnVtLlxuICAgICAqIEBwYXJhbSBlbnVtT2JqIEVudW0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Q29uc3RhbnROYW1lc0Zyb21FbnVtT2JqZWN0KGVudW1PYmo6IG9iamVjdCk6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICAvLyBpbiBudW1iZXIgZW51bSwgdGhlIG51bWJlcnMgYXJlIGFsc28gcmVwcmVzZW50ZWQgaW4gb2JqZWN0cyBhbmQgc2hvdWxkIGJlIGZpbHRlcmVkIG91dFxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoZW51bU9iaikuZmlsdGVyKHYgPT4gaXNOYU4oK3YpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFycmF5IG9mIHN0cmluZyB2YWx1ZXMgZm9yIGNvbnN0YW50cyBpbiBlbnVtLlxuICAgICAqIEBwYXJhbSBlbnVtVHlwZSBFbnVtIG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldENvbnN0YW50VmFsdWVzQXNTdHJpbmcoZW51bVR5cGU6IEVudW1UeXBlKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhlbnVtVHlwZSkubWFwKHYgPT4gZW51bVR5cGVbdiBhcyBrZXlvZiBvYmplY3RdIGFzIHN0cmluZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhcnJheSBvZiBudW1iZXIgdmFsdWVzIGZvciBjb25zdGFudHMgaW4gZW51bS5cbiAgICAgKiBAcGFyYW0gZW51bVR5cGUgRW51bSBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRDb25zdGFudFZhbHVlc0FzTnVtYmVyKGVudW1UeXBlOiBFbnVtVHlwZSk6IEFycmF5PG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoZW51bVR5cGUpXG4gICAgICAgICAgICAuZmlsdGVyKHYgPT4gIWlzTmFOKCt2KSlcbiAgICAgICAgICAgIC5tYXAodiA9PiArdik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhcnJheSBvZiB0eXBlIEVudW1WYWx1ZSBmb3IgYWxsIGNvbnN0YW50cyBpbiBlbnVtLlxuICAgICAqIEBwYXJhbSBlbnVtVHlwZSBFbnVtIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gbmFtZUFzVmFsdWUgSWYgdXNlIG5hbWUgb2YgY29uc3RhbnQgYXMgdmFsdWUgKG9wdGlvbmFsLCBkZWZhdWx0OiBmYWxzZSkuXG4gICAgICogQHBhcmFtIHRpdGxlUGF0aCBCYXNlIHBhdGggZm9yIHRpdGxlIHRvIHVzZSBhcyB0cmFuc2xhdGlvbiAob3B0aW9uYWwpLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUNvbnN0YW50c0FzRW51bVZhbHVlQXJyYXkoZW51bVR5cGU6IEVudW1UeXBlLCBuYW1lQXNWYWx1ZSA9IGZhbHNlLCB0aXRsZVBhdGg/OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIEVudW1VdGlsLmdldENvbnN0YW50TmFtZXMoZW51bVR5cGUpLm1hcChcbiAgICAgICAgICAgIG4gPT4gPEVudW1WYWx1ZTxzdHJpbmcgfCBudW1iZXI+PntuYW1lOiBuLCB0aXRsZTogYCR7dGl0bGVQYXRoID8gYCR7dGl0bGVQYXRofS5gIDogJyd9JHtufWAsIHZhbHVlOiBuYW1lQXNWYWx1ZSA/IG4gOiBlbnVtVHlwZVtuXX1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFycmF5IG9mIHR5cGUgRW51bVZhbHVlIGZvciBwcm92aWRlZCB2YWx1ZXMgaW4gZW51bS5cbiAgICAgKiBAcGFyYW0gZW51bVR5cGUgRW51bSBvYmplY3QuXG4gICAgICogQHBhcmFtIG5hbWVBc1ZhbHVlIElmIHVzZSBuYW1lIG9mIGNvbnN0YW50IGFzIHZhbHVlIChvcHRpb25hbCwgZGVmYXVsdDogZmFsc2UpLlxuICAgICAqIEBwYXJhbSB0aXRsZVBhdGggQmFzZSBwYXRoIGZvciB0aXRsZSB0byB1c2UgYXMgdHJhbnNsYXRpb24gKG9wdGlvbmFsKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGZyb21WYWx1ZXNBc0VudW1WYWx1ZUFycmF5KGVudW1UeXBlOiBFbnVtVHlwZSwgdmFsdWVzOiBBcnJheTxFbnVtQ29uc3RhbnRUeXBlPiwgbmFtZUFzVmFsdWUgPSBmYWxzZSwgdGl0bGVQYXRoPzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZXMubWFwKHYgPT4ge1xuICAgICAgICAgICAgY29uc3QgayA9IEVudW1VdGlsLmdldENvbnN0YW50TmFtZShlbnVtVHlwZSwgdik7XG4gICAgICAgICAgICByZXR1cm4ge25hbWU6IGssIHRpdGxlOiBgJHt0aXRsZVBhdGggPyBgJHt0aXRsZVBhdGh9LmAgOiAnJ30ke2t9YCwgdmFsdWU6IG5hbWVBc1ZhbHVlID8gayA6IHZ9IGFzIEVudW1WYWx1ZTxzdHJpbmcgfCBudW1iZXI+O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGNvbnN0YW50IG5hbWUgZm9yIHZhbHVlLlxuICAgICAqIEBwYXJhbSBlbnVtVHlwZSBFbnVtIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgb2YgZW51bSBjb25zdGFudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldENvbnN0YW50TmFtZShlbnVtVHlwZTogRW51bVR5cGUsIHZhbHVlOiBFbnVtQ29uc3RhbnRUeXBlKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDb25zdGFudE5hbWVzKGVudW1UeXBlKS5maW5kKGMgPT4gZW51bVR5cGVbY10gPT09IHZhbHVlKSA/PyBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBlbnVtVHlwZVt2YWx1ZV0gIT09ICd1bmRlZmluZWQnID8gKGVudW1UeXBlW3ZhbHVlXSBhcyBzdHJpbmcpIDogbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgY29uc3RhbnQgbmFtZSBmb3IgdmFsdWUuXG4gICAgICogQHBhcmFtIGVudW1PYmogRW51bSBvYmplY3QuXG4gICAgICogQHBhcmFtIHZhbHVlIFZhbHVlIG9mIGVudW0gY29uc3RhbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRDb25zdGFudE5hbWVGcm9tRW51bU9iamVjdChlbnVtT2JqOiBvYmplY3QsIHZhbHVlOiBFbnVtQ29uc3RhbnRUeXBlKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGVudW1PYmpBbnkgPSBlbnVtT2JqIGFzIGFueTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldENvbnN0YW50TmFtZXNGcm9tRW51bU9iamVjdChlbnVtT2JqKS5maW5kKGMgPT4gZW51bU9iakFueVtjXSA9PT0gdmFsdWUpID8/IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHlwZW9mIGVudW1PYmpBbnlbdmFsdWVdICE9PSAndW5kZWZpbmVkJyA/IChlbnVtT2JqQW55W3ZhbHVlXSBhcyBzdHJpbmcpIDogbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -6,6 +6,15 @@ export class I18nUtil {
6
6
  const i18n = translate.instant(keys, I18nUtil.getModelI18nParams(model, item, i18nModelName ?? undefined, i18nParams));
7
7
  return I18nUtil.selectKeyByPriority(keys, i18n);
8
8
  }
9
+ static getModelTabKey(model, tab) {
10
+ return I18nUtil.getModelKeyPath(model, `tabs.${tab}`);
11
+ }
12
+ static getModelGroupKey(model, group) {
13
+ return I18nUtil.getModelKeyPath(model, `groups.${group}`);
14
+ }
15
+ static getModelPropertyKey(model, property) {
16
+ return I18nUtil.getModelKeyPath(model, `properties.${property}`);
17
+ }
9
18
  static instantActionTranslation(translate, action, keyPath, customKey, item, fallbackKey, functionNameKey, i18nParams) {
10
19
  const keys = I18nUtil.getActionKeysByPriority(action, keyPath, customKey, fallbackKey);
11
20
  const i18nModelName = I18nUtil.instantModelName(translate, action?.model, true);
@@ -20,31 +29,6 @@ export class I18nUtil {
20
29
  const keys = I18nUtil.getActionKeysByPriority(action, keyPath, customKey, fallbackKey);
21
30
  return I18nUtil.getModelName(translate, action?.model, oneTime, true).pipe(mergeMap(i18nModelName => translate.get(keys, I18nUtil.getActionI18nParams(action, item, i18nModelName ?? undefined))), map(i18n => I18nUtil.selectKeyByPriority(keys, i18n)));
22
31
  }
23
- static getModelKeysByPriority(model, keyPath, customKey, fallbackKey) {
24
- const keys = [];
25
- if (customKey) {
26
- keys.push(customKey);
27
- }
28
- const modelActionKey = `${model.typeName}.${keyPath}`;
29
- keys.push(modelActionKey);
30
- if (fallbackKey) {
31
- keys.push(fallbackKey);
32
- }
33
- return keys;
34
- }
35
- static getActionKeysByPriority(action, keyPath, customKey, fallbackKey) {
36
- const keys = [];
37
- if (customKey) {
38
- keys.push(customKey);
39
- }
40
- const modelActionKey = `${action.i18nModelActionBaseKey}.${keyPath}`;
41
- const actionKey = `${action.actionName}.${keyPath}`;
42
- keys.push(modelActionKey, actionKey);
43
- if (fallbackKey) {
44
- keys.push(fallbackKey);
45
- }
46
- return keys;
47
- }
48
32
  static getModelI18nParams(model, item, i18nModelName, i18nParameters = {}) {
49
33
  i18nParameters.itemId = '';
50
34
  i18nParameters.itemTitle = '';
@@ -101,6 +85,34 @@ export class I18nUtil {
101
85
  keys.push(`${model?.typeName}.name`);
102
86
  return keys;
103
87
  }
88
+ static getModelKeysByPriority(model, keyPath, customKey, fallbackKey) {
89
+ const keys = [];
90
+ if (customKey) {
91
+ keys.push(customKey);
92
+ }
93
+ const modelActionKey = I18nUtil.getModelKeyPath(model, keyPath);
94
+ keys.push(modelActionKey);
95
+ if (fallbackKey) {
96
+ keys.push(fallbackKey);
97
+ }
98
+ return keys;
99
+ }
100
+ static getModelKeyPath(model, keyPath) {
101
+ return `${model.typeName}.${keyPath}`;
102
+ }
103
+ static getActionKeysByPriority(action, keyPath, customKey, fallbackKey) {
104
+ const keys = [];
105
+ if (customKey) {
106
+ keys.push(customKey);
107
+ }
108
+ const modelActionKey = `${action.i18nModelActionBaseKey}.${keyPath}`;
109
+ const actionKey = `${action.actionName}.${keyPath}`;
110
+ keys.push(modelActionKey, actionKey);
111
+ if (fallbackKey) {
112
+ keys.push(fallbackKey);
113
+ }
114
+ return keys;
115
+ }
104
116
  static selectKeyByPriority(keys, i18n) {
105
117
  for (const key of keys) {
106
118
  if (key !== i18n[key]) {
@@ -122,4 +134,4 @@ export class I18nUtil {
122
134
  }
123
135
  }
124
136
  }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9pMThuLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEQsTUFBTSxPQUFPLFFBQVE7SUFDVixNQUFNLENBQUMsdUJBQXVCLENBQ2pDLFNBQTJCLEVBQzNCLEtBQTJCLEVBQzNCLE9BQWUsRUFDZixTQUFrQixFQUNsQixJQUFVLEVBQ1YsV0FBb0IsRUFDcEIsVUFBZ0I7UUFFaEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGFBQWEsSUFBSSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN2SCxPQUFPLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDbEMsU0FBMkIsRUFDM0IsTUFBNkIsRUFDN0IsT0FBZSxFQUNmLFNBQWtCLEVBQ2xCLElBQVUsRUFDVixXQUFvQixFQUNwQixlQUF3QixFQUN4QixVQUFnQjtRQUVoQixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDdkYsTUFBTSxhQUFhLEdB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QUM7U0FDZjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaXJzdCwgbWFwLCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3IsIE1vZGVsRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMnO1xuXG5leHBvcnQgY2xhc3MgSTE4blV0aWwge1xuICAgIHB1YmxpYyBzdGF0aWMgaW5zdGFudE1vZGVsVHJhbnNsYXRpb24oXG4gICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgbW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LFxuICAgICAgICBrZXlQYXRoOiBzdHJpbmcsXG4gICAgICAgIGN1c3RvbUtleT86IHN0cmluZyxcbiAgICAgICAgaXRlbT86IGFueSxcbiAgICAgICAgZmFsbGJhY2tLZXk/OiBzdHJpbmcsXG4gICAgICAgIGkxOG5QYXJhbXM/OiBhbnlcbiAgICApOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qga2V5cyA9IEkxOG5VdGlsLmdldE1vZGVsS2V5c0J5UHJpb3JpdHkobW9kZWwsIGtleVBhdGgsIGN1c3RvbUtleSwgZmFsbGJhY2tLZXkpO1xuICAgICAgICBjb25zdCBpMThuTW9kZWxOYW1lID0gSTE4blV0aWwuaW5zdGFudE1vZGVsTmFtZSh0cmFuc2xhdGUsIG1vZGVsLCB0cnVlKTtcbiAgICAgICAgY29uc3QgaTE4biA9IHRyYW5zbGF0ZS5pbnN0YW50KGtleXMsIEkxOG5VdGlsLmdldE1vZGVsSTE4blBhcmFtcyhtb2RlbCwgaXRlbSwgaTE4bk1vZGVsTmFtZSA/PyB1bmRlZmluZWQsIGkxOG5QYXJhbXMpKTtcbiAgICAgICAgcmV0dXJuIEkxOG5VdGlsLnNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5cywgaTE4bik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpbnN0YW50QWN0aW9uVHJhbnNsYXRpb24oXG4gICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sXG4gICAgICAgIGtleVBhdGg6IHN0cmluZyxcbiAgICAgICAgY3VzdG9tS2V5Pzogc3RyaW5nLFxuICAgICAgICBpdGVtPzogYW55LFxuICAgICAgICBmYWxsYmFja0tleT86IHN0cmluZyxcbiAgICAgICAgZnVuY3Rpb25OYW1lS2V5Pzogc3RyaW5nLFxuICAgICAgICBpMThuUGFyYW1zPzogYW55XG4gICAgKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBJMThuVXRpbC5nZXRBY3Rpb25LZXlzQnlQcmlvcml0eShhY3Rpb24sIGtleVBhdGgsIGN1c3RvbUtleSwgZmFsbGJhY2tLZXkpO1xuICAgICAgICBjb25zdCBpMThuTW9kZWxOYW1lID0gSTE4blV0aWwuaW5zdGFudE1vZGVsTmFtZSh0cmFuc2xhdGUsIGFjdGlvbj8ubW9kZWwsIHRydWUpO1xuICAgICAgICBjb25zdCBpMThuRnVuY3Rpb25UaXRsZSA9IEkxOG5VdGlsLmdldEZ1bmN0aW9uVGl0bGUodHJhbnNsYXRlLCBmdW5jdGlvbk5hbWVLZXkpO1xuICAgICAgICBjb25zdCBpMThuID0gdHJhbnNsYXRlLmluc3RhbnQoa2V5cywgSTE4blV0aWwuZ2V0QWN0aW9uSTE4blBhcmFtcyhhY3Rpb24sIGl0ZW0sIGkxOG5Nb2RlbE5hbWUgPz8gdW5kZWZpbmVkLCBpMThuUGFyYW1zLCBpMThuRnVuY3Rpb25UaXRsZSkpO1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuc2VsZWN0S2V5QnlQcmlvcml0eShrZXlzLCBpMThuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHN0cmVhbUFjdGlvblRyYW5zbGF0aW9uKFxuICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+LFxuICAgICAgICBrZXlQYXRoOiBzdHJpbmcsXG4gICAgICAgIGN1c3RvbUtleT86IHN0cmluZyxcbiAgICAgICAgaXRlbT86IGFueSxcbiAgICAgICAgZmFsbGJhY2tLZXk/OiBzdHJpbmdcbiAgICApOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIEkxOG5VdGlsLmdldEFjdGlvblRyYW5zbGF0aW9uKHRyYW5zbGF0ZSwgYWN0aW9uLCBrZXlQYXRoLCBjdXN0b21LZXksIGl0ZW0sIGZhbGxiYWNrS2V5LCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRBY3Rpb25UcmFuc2xhdGlvbihcbiAgICAgICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3I8YW55PixcbiAgICAgICAga2V5UGF0aDogc3RyaW5nLFxuICAgICAgICBjdXN0b21LZXk/OiBzdHJpbmcsXG4gICAgICAgIGl0ZW0/OiBhbnksXG4gICAgICAgIGZhbGxiYWNrS2V5Pzogc3RyaW5nLFxuICAgICAgICBvbmVUaW1lID0gdHJ1ZVxuICAgICk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWwuZ2V0QWN0aW9uS2V5c0J5UHJpb3JpdHkoYWN0aW9uLCBrZXlQYXRoLCBjdXN0b21LZXksIGZhbGxiYWNrS2V5KTtcbiAgICAgICAgcmV0dXJuIEkxOG5VdGlsLmdldE1vZGVsTmFtZSh0cmFuc2xhdGUsIGFjdGlvbj8ubW9kZWwsIG9uZVRpbWUsIHRydWUpLnBpcGUoXG4gICAgICAgICAgICBtZXJnZU1hcChpMThuTW9kZWxOYW1lID0+IHRyYW5zbGF0ZS5nZXQoa2V5cywgSTE4blV0aWwuZ2V0QWN0aW9uSTE4blBhcmFtcyhhY3Rpb24sIGl0ZW0sIGkxOG5Nb2RlbE5hbWUgPz8gdW5kZWZpbmVkKSkpLFxuICAgICAgICAgICAgbWFwKGkxOG4gPT4gSTE4blV0aWwuc2VsZWN0S2V5QnlQcmlvcml0eShrZXlzLCBpMThuKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBnZXRNb2RlbEtleXNCeVByaW9yaXR5KG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwga2V5UGF0aDogc3RyaW5nLCBjdXN0b21LZXk/OiBzdHJpbmcsIGZhbGxiYWNrS2V5Pzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgICAgaWYgKGN1c3RvbUtleSkge1xuICAgICAgICAgICAga2V5cy5wdXNoKGN1c3RvbUtleSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbW9kZWxBY3Rpb25LZXkgPSBgJHttb2RlbC50eXBlTmFtZX0uJHtrZXlQYXRofWA7XG4gICAgICAgIGtleXMucHVzaChtb2RlbEFjdGlvbktleSk7XG4gICAgICAgIGlmIChmYWxsYmFja0tleSkge1xuICAgICAgICAgICAga2V5cy5wdXNoKGZhbGxiYWNrS2V5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ga2V5cztcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBnZXRBY3Rpb25LZXlzQnlQcmlvcml0eShhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3I8YW55Piwga2V5UGF0aDogc3RyaW5nLCBjdXN0b21LZXk/OiBzdHJpbmcsIGZhbGxiYWNrS2V5Pzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgICAgaWYgKGN1c3RvbUtleSkge1xuICAgICAgICAgICAga2V5cy5wdXNoKGN1c3RvbUtleSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbW9kZWxBY3Rpb25LZXkgPSBgJHthY3Rpb24uaTE4bk1vZGVsQWN0aW9uQmFzZUtleX0uJHtrZXlQYXRofWA7XG4gICAgICAgIGNvbnN0IGFjdGlvbktleSA9IGAke2FjdGlvbi5hY3Rpb25OYW1lfS4ke2tleVBhdGh9YDtcbiAgICAgICAga2V5cy5wdXNoKG1vZGVsQWN0aW9uS2V5LCBhY3Rpb25LZXkpO1xuICAgICAgICBpZiAoZmFsbGJhY2tLZXkpIHtcbiAgICAgICAgICAgIGtleXMucHVzaChmYWxsYmFja0tleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGtleXM7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRNb2RlbEkxOG5QYXJhbXMobW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBpdGVtOiBhbnksIGkxOG5Nb2RlbE5hbWU/OiBzdHJpbmcsIGkxOG5QYXJhbWV0ZXJzOiBhbnkgPSB7fSkge1xuICAgICAgICBpMThuUGFyYW1ldGVycy5pdGVtSWQgPSAnJztcbiAgICAgICAgaTE4blBhcmFtZXRlcnMuaXRlbVRpdGxlID0gJyc7XG5cbiAgICAgICAgaWYgKGkxOG5Nb2RlbE5hbWUpIHtcbiAgICAgICAgICAgIGkxOG5QYXJhbWV0ZXJzLm1vZGVsTmFtZSA9IGkxOG5Nb2RlbE5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIGlmIChtb2RlbC5pZFByb3BlcnR5TmFtZSAmJiBpdGVtW21vZGVsLmlkUHJvcGVydHlOYW1lXSkge1xuICAgICAgICAgICAgICAgIGkxOG5QYXJhbWV0ZXJzLml0ZW1JZCA9IGl0ZW1bbW9kZWwuaWRQcm9wZXJ0eU5hbWVdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1vZGVsLnRpdGxlUHJvcGVydHlOYW1lICYmIGl0ZW1bbW9kZWwudGl0bGVQcm9wZXJ0eU5hbWVdKSB7XG4gICAgICAgICAgICAgICAgaTE4blBhcmFtZXRlcnMuaXRlbVRpdGxlID0gaXRlbVttb2RlbC50aXRsZVByb3BlcnR5TmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGkxOG5QYXJhbWV0ZXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWN0aW9uSTE4blBhcmFtcyhhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3I8YW55PiwgaXRlbTogYW55LCBpMThuTW9kZWxOYW1lPzogc3RyaW5nLCBpMThuUGFyYW1ldGVyczogYW55ID0ge30sIGZ1bmN0aW9uVGl0bGU/OiBzdHJpbmcpIHtcbiAgICAgICAgaTE4blBhcmFtZXRlcnMuaXRlbUlkID0gJyc7XG4gICAgICAgIGkxOG5QYXJhbWV0ZXJzLml0ZW1UaXRsZSA9ICcnO1xuXG4gICAgICAgIGlmIChmdW5jdGlvblRpdGxlKSB7XG4gICAgICAgICAgICBpMThuUGFyYW1ldGVycy5mdW5jdGlvblRpdGxlID0gZnVuY3Rpb25UaXRsZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaTE4bk1vZGVsTmFtZSkge1xuICAgICAgICAgICAgaTE4blBhcmFtZXRlcnMubW9kZWxOYW1lID0gaTE4bk1vZGVsTmFtZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgaWYgKGFjdGlvbi5tb2RlbC5pZFByb3BlcnR5TmFtZSAmJiBpdGVtW2FjdGlvbi5tb2RlbC5pZFByb3BlcnR5TmFtZV0pIHtcbiAgICAgICAgICAgICAgICBpMThuUGFyYW1ldGVycy5pdGVtSWQgPSBpdGVtW2FjdGlvbi5tb2RlbC5pZFByb3BlcnR5TmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYWN0aW9uLm1vZGVsLnRpdGxlUHJvcGVydHlOYW1lICYmIGl0ZW1bYWN0aW9uLm1vZGVsLnRpdGxlUHJvcGVydHlOYW1lXSkge1xuICAgICAgICAgICAgICAgIGkxOG5QYXJhbWV0ZXJzLml0ZW1UaXRsZSA9IGl0ZW1bYWN0aW9uLm1vZGVsLnRpdGxlUHJvcGVydHlOYW1lXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaTE4blBhcmFtZXRlcnM7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpbnN0YW50TW9kZWxOYW1lKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgbW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBzaW5ndWxhcj86IGJvb2xlYW4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qga2V5cyA9IEkxOG5VdGlsLmdldE1vZGVsTmFtZUtleXMobW9kZWwsIHNpbmd1bGFyKTtcbiAgICAgICAgY29uc3QgaTE4biA9IHRyYW5zbGF0ZS5pbnN0YW50KGtleXMpO1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuc2VsZWN0S2V5QnlQcmlvcml0eShrZXlzLCBpMThuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsTmFtZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwgb25lVGltZSA9IHRydWUsIHNpbmd1bGFyPzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWwuZ2V0TW9kZWxOYW1lS2V5cyhtb2RlbCwgc2luZ3VsYXIpO1xuICAgICAgICBjb25zdCBvYnMgPSB0cmFuc2xhdGUuc3RyZWFtKGtleXMpO1xuICAgICAgICBpZiAob25lVGltZSkge1xuICAgICAgICAgICAgb2JzLnBpcGUoZmlyc3QoKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9icy5waXBlKG1hcChpMThuID0+IEkxOG5VdGlsLnNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5cywgaTE4bikpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsTmFtZUtleXMobW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBzaW5ndWxhcj86IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICBpZiAoc2luZ3VsYXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAga2V5cy5wdXNoKHNpbmd1bGFyID8gYCR7bW9kZWw/LnR5cGVOYW1lfS5uYW1lU2luZ3VsYXJgIDogYCR7bW9kZWw/LnR5cGVOYW1lfS5uYW1lUGx1cmFsYCk7XG4gICAgICAgIH1cbiAgICAgICAga2V5cy5wdXNoKGAke21vZGVsPy50eXBlTmFtZX0ubmFtZWApO1xuICAgICAgICByZXR1cm4ga2V5cztcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBzZWxlY3RLZXlCeVByaW9yaXR5KGtleXM6IHN0cmluZ1tdLCBpMThuOiBhbnkpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgICAgICAgaWYgKGtleSAhPT0gaTE4bltrZXldKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGkxOG5ba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBnZXRGdW5jdGlvblRpdGxlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgZnVuY3Rpb25UaXRsZT86IHN0cmluZykge1xuICAgICAgICBpZiAoZnVuY3Rpb25UaXRsZSkge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb24gPSB0cmFuc2xhdGUuaW5zdGFudChgbW5nQWN0aW9uLmZ1bmN0aW9ucy4ke2Z1bmN0aW9uVGl0bGV9LnRpdGxlYCk7XG4gICAgICAgICAgICBpZiAodHJhbnNsYXRpb24gPT09IGZ1bmN0aW9uVGl0bGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cmFuc2xhdGlvbjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9pMThuLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEQsTUFBTSxPQUFPLFFBQVE7SUFDVixNQUFNLENBQUMsdUJBQXVCLENBQ2pDLFNBQTJCLEVBQzNCLEtBQTJCLEVBQzNCLE9BQWUsRUFDZixTQUFrQixFQUNsQixJQUFVLEVBQ1YsV0FBb0IsRUFDcEIsVUFBZ0I7UUFFaEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGFBQWEsSUFBSSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN2SCxPQUFPLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBMkIsRUFBRSxHQUFXO1FBQ2pFLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBMkIsRUFBRSxLQUFhO1FBQ3JFLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxLQUFLLEVBQUUsQ0FB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T0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFjLEVBQUUsSUFBUztRQUN4RCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtZQUNwQixJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3BCO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQTJCLEVBQUUsYUFBc0I7UUFDL0UsSUFBSSxhQUFhLEVBQUU7WUFDZixNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLHVCQUF1QixhQUFhLFFBQVEsQ0FBQyxDQUFDO1lBQ3BGLElBQUksV0FBVyxLQUFLLGFBQWEsRUFBRTtnQkFDL0IsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUNELE9BQU8sV0FBVyxDQUFDO1NBQ3RCO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpcnN0LCBtYXAsIG1lcmdlTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7QWN0aW9uRGVzY3JpcHRvciwgTW9kZWxEZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBJMThuVXRpbCB7XG4gICAgcHVibGljIHN0YXRpYyBpbnN0YW50TW9kZWxUcmFuc2xhdGlvbihcbiAgICAgICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBtb2RlbDogTW9kZWxEZXNjcmlwdG9yPGFueT4sXG4gICAgICAgIGtleVBhdGg6IHN0cmluZyxcbiAgICAgICAgY3VzdG9tS2V5Pzogc3RyaW5nLFxuICAgICAgICBpdGVtPzogYW55LFxuICAgICAgICBmYWxsYmFja0tleT86IHN0cmluZyxcbiAgICAgICAgaTE4blBhcmFtcz86IGFueVxuICAgICk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWwuZ2V0TW9kZWxLZXlzQnlQcmlvcml0eShtb2RlbCwga2V5UGF0aCwgY3VzdG9tS2V5LCBmYWxsYmFja0tleSk7XG4gICAgICAgIGNvbnN0IGkxOG5Nb2RlbE5hbWUgPSBJMThuVXRpbC5pbnN0YW50TW9kZWxOYW1lKHRyYW5zbGF0ZSwgbW9kZWwsIHRydWUpO1xuICAgICAgICBjb25zdCBpMThuID0gdHJhbnNsYXRlLmluc3RhbnQoa2V5cywgSTE4blV0aWwuZ2V0TW9kZWxJMThuUGFyYW1zKG1vZGVsLCBpdGVtLCBpMThuTW9kZWxOYW1lID8/IHVuZGVmaW5lZCwgaTE4blBhcmFtcykpO1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuc2VsZWN0S2V5QnlQcmlvcml0eShrZXlzLCBpMThuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsVGFiS2V5KG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55PiwgdGFiOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuZ2V0TW9kZWxLZXlQYXRoKG1vZGVsLCBgdGFicy4ke3RhYn1gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsR3JvdXBLZXkobW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBncm91cDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEkxOG5VdGlsLmdldE1vZGVsS2V5UGF0aChtb2RlbCwgYGdyb3Vwcy4ke2dyb3VwfWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0TW9kZWxQcm9wZXJ0eUtleShtb2RlbDogTW9kZWxEZXNjcmlwdG9yPGFueT4sIHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuZ2V0TW9kZWxLZXlQYXRoKG1vZGVsLCBgcHJvcGVydGllcy4ke3Byb3BlcnR5fWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaW5zdGFudEFjdGlvblRyYW5zbGF0aW9uKFxuICAgICAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+LFxuICAgICAgICBrZXlQYXRoOiBzdHJpbmcsXG4gICAgICAgIGN1c3RvbUtleT86IHN0cmluZyxcbiAgICAgICAgaXRlbT86IGFueSxcbiAgICAgICAgZmFsbGJhY2tLZXk/OiBzdHJpbmcsXG4gICAgICAgIGZ1bmN0aW9uTmFtZUtleT86IHN0cmluZyxcbiAgICAgICAgaTE4blBhcmFtcz86IGFueVxuICAgICk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWwuZ2V0QWN0aW9uS2V5c0J5UHJpb3JpdHkoYWN0aW9uLCBrZXlQYXRoLCBjdXN0b21LZXksIGZhbGxiYWNrS2V5KTtcbiAgICAgICAgY29uc3QgaTE4bk1vZGVsTmFtZSA9IEkxOG5VdGlsLmluc3RhbnRNb2RlbE5hbWUodHJhbnNsYXRlLCBhY3Rpb24/Lm1vZGVsLCB0cnVlKTtcbiAgICAgICAgY29uc3QgaTE4bkZ1bmN0aW9uVGl0bGUgPSBJMThuVXRpbC5nZXRGdW5jdGlvblRpdGxlKHRyYW5zbGF0ZSwgZnVuY3Rpb25OYW1lS2V5KTtcbiAgICAgICAgY29uc3QgaTE4biA9IHRyYW5zbGF0ZS5pbnN0YW50KGtleXMsIEkxOG5VdGlsLmdldEFjdGlvbkkxOG5QYXJhbXMoYWN0aW9uLCBpdGVtLCBpMThuTW9kZWxOYW1lID8/IHVuZGVmaW5lZCwgaTE4blBhcmFtcywgaTE4bkZ1bmN0aW9uVGl0bGUpKTtcbiAgICAgICAgcmV0dXJuIEkxOG5VdGlsLnNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5cywgaTE4bik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBzdHJlYW1BY3Rpb25UcmFuc2xhdGlvbihcbiAgICAgICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3I8YW55PixcbiAgICAgICAga2V5UGF0aDogc3RyaW5nLFxuICAgICAgICBjdXN0b21LZXk/OiBzdHJpbmcsXG4gICAgICAgIGl0ZW0/OiBhbnksXG4gICAgICAgIGZhbGxiYWNrS2V5Pzogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiBJMThuVXRpbC5nZXRBY3Rpb25UcmFuc2xhdGlvbih0cmFuc2xhdGUsIGFjdGlvbiwga2V5UGF0aCwgY3VzdG9tS2V5LCBpdGVtLCBmYWxsYmFja0tleSwgZmFsc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWN0aW9uVHJhbnNsYXRpb24oXG4gICAgICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sXG4gICAgICAgIGtleVBhdGg6IHN0cmluZyxcbiAgICAgICAgY3VzdG9tS2V5Pzogc3RyaW5nLFxuICAgICAgICBpdGVtPzogYW55LFxuICAgICAgICBmYWxsYmFja0tleT86IHN0cmluZyxcbiAgICAgICAgb25lVGltZSA9IHRydWVcbiAgICApOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICAgICAgY29uc3Qga2V5cyA9IEkxOG5VdGlsLmdldEFjdGlvbktleXNCeVByaW9yaXR5KGFjdGlvbiwga2V5UGF0aCwgY3VzdG9tS2V5LCBmYWxsYmFja0tleSk7XG4gICAgICAgIHJldHVybiBJMThuVXRpbC5nZXRNb2RlbE5hbWUodHJhbnNsYXRlLCBhY3Rpb24/Lm1vZGVsLCBvbmVUaW1lLCB0cnVlKS5waXBlKFxuICAgICAgICAgICAgbWVyZ2VNYXAoaTE4bk1vZGVsTmFtZSA9PiB0cmFuc2xhdGUuZ2V0KGtleXMsIEkxOG5VdGlsLmdldEFjdGlvbkkxOG5QYXJhbXMoYWN0aW9uLCBpdGVtLCBpMThuTW9kZWxOYW1lID8/IHVuZGVmaW5lZCkpKSxcbiAgICAgICAgICAgIG1hcChpMThuID0+IEkxOG5VdGlsLnNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5cywgaTE4bikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRNb2RlbEkxOG5QYXJhbXMobW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBpdGVtOiBhbnksIGkxOG5Nb2RlbE5hbWU/OiBzdHJpbmcsIGkxOG5QYXJhbWV0ZXJzOiBhbnkgPSB7fSkge1xuICAgICAgICBpMThuUGFyYW1ldGVycy5pdGVtSWQgPSAnJztcbiAgICAgICAgaTE4blBhcmFtZXRlcnMuaXRlbVRpdGxlID0gJyc7XG5cbiAgICAgICAgaWYgKGkxOG5Nb2RlbE5hbWUpIHtcbiAgICAgICAgICAgIGkxOG5QYXJhbWV0ZXJzLm1vZGVsTmFtZSA9IGkxOG5Nb2RlbE5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIGlmIChtb2RlbC5pZFByb3BlcnR5TmFtZSAmJiBpdGVtW21vZGVsLmlkUHJvcGVydHlOYW1lXSkge1xuICAgICAgICAgICAgICAgIGkxOG5QYXJhbWV0ZXJzLml0ZW1JZCA9IGl0ZW1bbW9kZWwuaWRQcm9wZXJ0eU5hbWVdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1vZGVsLnRpdGxlUHJvcGVydHlOYW1lICYmIGl0ZW1bbW9kZWwudGl0bGVQcm9wZXJ0eU5hbWVdKSB7XG4gICAgICAgICAgICAgICAgaTE4blBhcmFtZXRlcnMuaXRlbVRpdGxlID0gaXRlbVttb2RlbC50aXRsZVByb3BlcnR5TmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGkxOG5QYXJhbWV0ZXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWN0aW9uSTE4blBhcmFtcyhhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3I8YW55PiwgaXRlbTogYW55LCBpMThuTW9kZWxOYW1lPzogc3RyaW5nLCBpMThuUGFyYW1ldGVyczogYW55ID0ge30sIGZ1bmN0aW9uVGl0bGU/OiBzdHJpbmcpIHtcbiAgICAgICAgaTE4blBhcmFtZXRlcnMuaXRlbUlkID0gJyc7XG4gICAgICAgIGkxOG5QYXJhbWV0ZXJzLml0ZW1UaXRsZSA9ICcnO1xuXG4gICAgICAgIGlmIChmdW5jdGlvblRpdGxlKSB7XG4gICAgICAgICAgICBpMThuUGFyYW1ldGVycy5mdW5jdGlvblRpdGxlID0gZnVuY3Rpb25UaXRsZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaTE4bk1vZGVsTmFtZSkge1xuICAgICAgICAgICAgaTE4blBhcmFtZXRlcnMubW9kZWxOYW1lID0gaTE4bk1vZGVsTmFtZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgaWYgKGFjdGlvbi5tb2RlbC5pZFByb3BlcnR5TmFtZSAmJiBpdGVtW2FjdGlvbi5tb2RlbC5pZFByb3BlcnR5TmFtZV0pIHtcbiAgICAgICAgICAgICAgICBpMThuUGFyYW1ldGVycy5pdGVtSWQgPSBpdGVtW2FjdGlvbi5tb2RlbC5pZFByb3BlcnR5TmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYWN0aW9uLm1vZGVsLnRpdGxlUHJvcGVydHlOYW1lICYmIGl0ZW1bYWN0aW9uLm1vZGVsLnRpdGxlUHJvcGVydHlOYW1lXSkge1xuICAgICAgICAgICAgICAgIGkxOG5QYXJhbWV0ZXJzLml0ZW1UaXRsZSA9IGl0ZW1bYWN0aW9uLm1vZGVsLnRpdGxlUHJvcGVydHlOYW1lXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaTE4blBhcmFtZXRlcnM7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpbnN0YW50TW9kZWxOYW1lKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgbW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBzaW5ndWxhcj86IGJvb2xlYW4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qga2V5cyA9IEkxOG5VdGlsLmdldE1vZGVsTmFtZUtleXMobW9kZWwsIHNpbmd1bGFyKTtcbiAgICAgICAgY29uc3QgaTE4biA9IHRyYW5zbGF0ZS5pbnN0YW50KGtleXMpO1xuICAgICAgICByZXR1cm4gSTE4blV0aWwuc2VsZWN0S2V5QnlQcmlvcml0eShrZXlzLCBpMThuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsTmFtZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwgb25lVGltZSA9IHRydWUsIHNpbmd1bGFyPzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICBjb25zdCBrZXlzID0gSTE4blV0aWwuZ2V0TW9kZWxOYW1lS2V5cyhtb2RlbCwgc2luZ3VsYXIpO1xuICAgICAgICBjb25zdCBvYnMgPSB0cmFuc2xhdGUuc3RyZWFtKGtleXMpO1xuICAgICAgICBpZiAob25lVGltZSkge1xuICAgICAgICAgICAgb2JzLnBpcGUoZmlyc3QoKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9icy5waXBlKG1hcChpMThuID0+IEkxOG5VdGlsLnNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5cywgaTE4bikpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE1vZGVsTmFtZUtleXMobW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBzaW5ndWxhcj86IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICBpZiAoc2luZ3VsYXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAga2V5cy5wdXNoKHNpbmd1bGFyID8gYCR7bW9kZWw/LnR5cGVOYW1lfS5uYW1lU2luZ3VsYXJgIDogYCR7bW9kZWw/LnR5cGVOYW1lfS5uYW1lUGx1cmFsYCk7XG4gICAgICAgIH1cbiAgICAgICAga2V5cy5wdXNoKGAke21vZGVsPy50eXBlTmFtZX0ubmFtZWApO1xuICAgICAgICByZXR1cm4ga2V5cztcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBnZXRNb2RlbEtleXNCeVByaW9yaXR5KG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwga2V5UGF0aDogc3RyaW5nLCBjdXN0b21LZXk/OiBzdHJpbmcsIGZhbGxiYWNrS2V5Pzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgICAgaWYgKGN1c3RvbUtleSkge1xuICAgICAgICAgICAga2V5cy5wdXNoKGN1c3RvbUtleSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbW9kZWxBY3Rpb25LZXkgPSBJMThuVXRpbC5nZXRNb2RlbEtleVBhdGgobW9kZWwsIGtleVBhdGgpO1xuICAgICAgICBrZXlzLnB1c2gobW9kZWxBY3Rpb25LZXkpO1xuICAgICAgICBpZiAoZmFsbGJhY2tLZXkpIHtcbiAgICAgICAgICAgIGtleXMucHVzaChmYWxsYmFja0tleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGtleXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0TW9kZWxLZXlQYXRoKG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwga2V5UGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBgJHttb2RlbC50eXBlTmFtZX0uJHtrZXlQYXRofWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0QWN0aW9uS2V5c0J5UHJpb3JpdHkoYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4sIGtleVBhdGg6IHN0cmluZywgY3VzdG9tS2V5Pzogc3RyaW5nLCBmYWxsYmFja0tleT86IHN0cmluZykge1xuICAgICAgICBjb25zdCBrZXlzID0gW107XG4gICAgICAgIGlmIChjdXN0b21LZXkpIHtcbiAgICAgICAgICAgIGtleXMucHVzaChjdXN0b21LZXkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1vZGVsQWN0aW9uS2V5ID0gYCR7YWN0aW9uLmkxOG5Nb2RlbEFjdGlvbkJhc2VLZXl9LiR7a2V5UGF0aH1gO1xuICAgICAgICBjb25zdCBhY3Rpb25LZXkgPSBgJHthY3Rpb24uYWN0aW9uTmFtZX0uJHtrZXlQYXRofWA7XG4gICAgICAgIGtleXMucHVzaChtb2RlbEFjdGlvbktleSwgYWN0aW9uS2V5KTtcbiAgICAgICAgaWYgKGZhbGxiYWNrS2V5KSB7XG4gICAgICAgICAgICBrZXlzLnB1c2goZmFsbGJhY2tLZXkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBrZXlzO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEtleUJ5UHJpb3JpdHkoa2V5czogc3RyaW5nW10sIGkxOG46IGFueSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgICAgICBpZiAoa2V5ICE9PSBpMThuW2tleV0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaTE4bltrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGdldEZ1bmN0aW9uVGl0bGUodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBmdW5jdGlvblRpdGxlPzogc3RyaW5nKSB7XG4gICAgICAgIGlmIChmdW5jdGlvblRpdGxlKSB7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbiA9IHRyYW5zbGF0ZS5pbnN0YW50KGBtbmdBY3Rpb24uZnVuY3Rpb25zLiR7ZnVuY3Rpb25UaXRsZX0udGl0bGVgKTtcbiAgICAgICAgICAgIGlmICh0cmFuc2xhdGlvbiA9PT0gZnVuY3Rpb25UaXRsZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  export * from './editor-formly.util';
2
+ export * from './enum.util';
2
3
  export * from './i18n.util';
3
4
  export * from './model.util';
4
5
  export * from './toast.util';
5
6
  export * from './type.util';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VkaXRvci1mb3JtbHkudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2kxOG4udXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZS51dGlsJztcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VkaXRvci1mb3JtbHkudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2VudW0udXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2kxOG4udXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi90b2FzdC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZS51dGlsJztcbiJdfQ==
@@ -1,6 +1,11 @@
1
1
  import 'reflect-metadata';
2
- import { typeNameDecoratorPropertyName } from '../types';
2
+ import { enumNameDecoratorPropertyName, typeNameDecoratorPropertyName } from '../types';
3
3
  export class TypeUtil {
4
+ /**
5
+ * Defines type name decorator.
6
+ * @param targetType class.
7
+ * @param typeName Name of the type.
8
+ */
4
9
  static defineReflectTypeName(targetType, typeName) {
5
10
  if (!typeName) {
6
11
  typeName = TypeUtil.getDecoratorTypeName(targetType);
@@ -13,6 +18,16 @@ export class TypeUtil {
13
18
  Reflect.defineMetadata(typeNameDecoratorPropertyName, typeName, targetType);
14
19
  }
15
20
  }
21
+ /**
22
+ * Defines enum name decorator.
23
+ * @param targetType enum object.
24
+ * @param enumName Name of the enum.
25
+ */
26
+ static defineReflectEnumName(targetType, enumName) {
27
+ if (!Reflect.hasOwnMetadata(enumNameDecoratorPropertyName, targetType)) {
28
+ Reflect.defineMetadata(enumNameDecoratorPropertyName, enumName, targetType);
29
+ }
30
+ }
16
31
  /**
17
32
  * Gets type name from either decorator or reflect metadata.
18
33
  * @param type Class.
@@ -28,6 +43,21 @@ export class TypeUtil {
28
43
  }
29
44
  return type.name;
30
45
  }
46
+ /**
47
+ * Gets enum name from either decorator or reflect metadata.
48
+ * @param enumType Class.
49
+ */
50
+ static findEnumName(enumType) {
51
+ let decoratorName = TypeUtil.getDecoratorEnumName(enumType);
52
+ if (decoratorName) {
53
+ return decoratorName;
54
+ }
55
+ decoratorName = Reflect.getMetadata(enumNameDecoratorPropertyName, enumType);
56
+ if (decoratorName) {
57
+ return decoratorName;
58
+ }
59
+ throw new Error('Could not fined enum name');
60
+ }
31
61
  /**
32
62
  * Get value from decorator defined property name
33
63
  * @param type Class.
@@ -36,5 +66,12 @@ export class TypeUtil {
36
66
  static getDecoratorTypeName(type) {
37
67
  return type[typeNameDecoratorPropertyName];
38
68
  }
69
+ /**
70
+ * Get value from decorator defined property name
71
+ * @param type Enum object.
72
+ */
73
+ static getDecoratorEnumName(type) {
74
+ return type[enumNameDecoratorPropertyName];
75
+ }
39
76
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy90eXBlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxrQkFBa0IsQ0FBQztBQUUxQixPQUFPLEVBQVksNkJBQTZCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFbEUsTUFBTSxPQUFPLFFBQVE7SUFDVixNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBMEIsRUFBRSxRQUFpQjtRQUM3RSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1gsUUFBUSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLFVBQVUsbUZBQW1GLENBQUMsQ0FBQztnQkFDakosT0FBTzthQUNWO1NBQ0o7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyw2QkFBNkIsRUFBRSxVQUFVLENBQUMsRUFBRTtZQUNwRSxPQUFPLENBQUMsY0FBYyxDQUFDLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMvRTtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUFDLElBQW9CO1FBQzNDLElBQUksYUFBYSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxJQUFJLGFBQWEsRUFBRTtZQUNmLE9BQU8sYUFBYSxDQUFDO1NBQ3hCO1FBQ0QsYUFBYSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxhQUFhLEVBQUU7WUFDZixPQUFPLGFBQWEsQ0FBQztTQUN4QjtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsd0RBQXdEO0lBQ2pELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFjO1FBQzdDLE9BQVEsSUFBWSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcblxuaW1wb3J0IHtDbGFzc1R5cGUsIHR5cGVOYW1lRGVjb3JhdG9yUHJvcGVydHlOYW1lfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBUeXBlVXRpbCB7XG4gICAgcHVibGljIHN0YXRpYyBkZWZpbmVSZWZsZWN0VHlwZU5hbWUodGFyZ2V0VHlwZTogQ2xhc3NUeXBlPGFueT4sIHR5cGVOYW1lPzogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdHlwZU5hbWUpIHtcbiAgICAgICAgICAgIHR5cGVOYW1lID0gVHlwZVV0aWwuZ2V0RGVjb3JhdG9yVHlwZU5hbWUodGFyZ2V0VHlwZSk7XG4gICAgICAgICAgICBpZiAoIXR5cGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBUeXBlIG5hbWUgbm90IHByb3ZpZGVkIGZvciB0YXJnZXQgJHt0YXJnZXRUeXBlfSwgbm9yIGNvdWxkIGJlIHJldHJpZXZlZCBmcm9tIGRlY29yYXRvci4gVHlwZSBuYW1lIHdhcyBub3QgcmVnaXN0ZXJlZCB0byByZWZsZWN0LmApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghUmVmbGVjdC5oYXNPd25NZXRhZGF0YSh0eXBlTmFtZURlY29yYXRvclByb3BlcnR5TmFtZSwgdGFyZ2V0VHlwZSkpIHtcbiAgICAgICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEodHlwZU5hbWVEZWNvcmF0b3JQcm9wZXJ0eU5hbWUsIHR5cGVOYW1lLCB0YXJnZXRUeXBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdHlwZSBuYW1lIGZyb20gZWl0aGVyIGRlY29yYXRvciBvciByZWZsZWN0IG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSB0eXBlIENsYXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZmluZFR5cGVOYW1lKHR5cGU6IENsYXNzVHlwZTxhbnk+KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGRlY29yYXRvck5hbWUgPSBUeXBlVXRpbC5nZXREZWNvcmF0b3JUeXBlTmFtZSh0eXBlKTtcbiAgICAgICAgaWYgKGRlY29yYXRvck5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWNvcmF0b3JOYW1lO1xuICAgICAgICB9XG4gICAgICAgIGRlY29yYXRvck5hbWUgPSBSZWZsZWN0LmdldE1ldGFkYXRhKHR5cGVOYW1lRGVjb3JhdG9yUHJvcGVydHlOYW1lLCB0eXBlKTtcbiAgICAgICAgaWYgKGRlY29yYXRvck5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWNvcmF0b3JOYW1lO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0eXBlLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHZhbHVlIGZyb20gZGVjb3JhdG9yIGRlZmluZWQgcHJvcGVydHkgbmFtZVxuICAgICAqIEBwYXJhbSB0eXBlIENsYXNzLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgcHVibGljIHN0YXRpYyBnZXREZWNvcmF0b3JUeXBlTmFtZSh0eXBlOiBGdW5jdGlvbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiAodHlwZSBhcyBhbnkpW3R5cGVOYW1lRGVjb3JhdG9yUHJvcGVydHlOYW1lXTtcbiAgICB9XG59XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy90eXBlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxrQkFBa0IsQ0FBQztBQUUxQixPQUFPLEVBQXNCLDZCQUE2QixFQUFFLDZCQUE2QixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTNHLE1BQU0sT0FBTyxRQUFRO0lBQ2pCOzs7O09BSUc7SUFDSSxNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBMEIsRUFBRSxRQUFpQjtRQUM3RSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1gsUUFBUSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLFVBQVUsbUZBQW1GLENBQUMsQ0FBQztnQkFDakosT0FBTzthQUNWO1NBQ0o7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyw2QkFBNkIsRUFBRSxVQUFVLENBQUMsRUFBRTtZQUNwRSxPQUFPLENBQUMsY0FBYyxDQUFDLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMvRTtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQW9CLEVBQUUsUUFBZ0I7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsNkJBQTZCLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDcEUsT0FBTyxDQUFDLGNBQWMsQ0FBQyw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDL0U7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFvQjtRQUMzQyxJQUFJLGFBQWEsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsSUFBSSxhQUFhLEVBQUU7WUFDZixPQUFPLGFBQWEsQ0FBQztTQUN4QjtRQUNELGFBQWEsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLDZCQUE2QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksYUFBYSxFQUFFO1lBQ2YsT0FBTyxhQUFhLENBQUM7U0FDeEI7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBa0I7UUFDekMsSUFBSSxhQUFhLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELElBQUksYUFBYSxFQUFFO1lBQ2YsT0FBTyxhQUFhLENBQUM7U0FDeEI7UUFDRCxhQUFhLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyw2QkFBNkIsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM3RSxJQUFJLGFBQWEsRUFBRTtZQUNmLE9BQU8sYUFBYSxDQUFDO1NBQ3hCO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7O09BR0c7SUFDSCx3REFBd0Q7SUFDakQsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQWM7UUFDN0MsT0FBUSxJQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQWM7UUFDN0MsT0FBUSxJQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnO1xuXG5pbXBvcnQge0NsYXNzVHlwZSwgRW51bVR5cGUsIGVudW1OYW1lRGVjb3JhdG9yUHJvcGVydHlOYW1lLCB0eXBlTmFtZURlY29yYXRvclByb3BlcnR5TmFtZX0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgVHlwZVV0aWwge1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgdHlwZSBuYW1lIGRlY29yYXRvci5cbiAgICAgKiBAcGFyYW0gdGFyZ2V0VHlwZSBjbGFzcy5cbiAgICAgKiBAcGFyYW0gdHlwZU5hbWUgTmFtZSBvZiB0aGUgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGRlZmluZVJlZmxlY3RUeXBlTmFtZSh0YXJnZXRUeXBlOiBDbGFzc1R5cGU8YW55PiwgdHlwZU5hbWU/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0eXBlTmFtZSkge1xuICAgICAgICAgICAgdHlwZU5hbWUgPSBUeXBlVXRpbC5nZXREZWNvcmF0b3JUeXBlTmFtZSh0YXJnZXRUeXBlKTtcbiAgICAgICAgICAgIGlmICghdHlwZU5hbWUpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFR5cGUgbmFtZSBub3QgcHJvdmlkZWQgZm9yIHRhcmdldCAke3RhcmdldFR5cGV9LCBub3IgY291bGQgYmUgcmV0cmlldmVkIGZyb20gZGVjb3JhdG9yLiBUeXBlIG5hbWUgd2FzIG5vdCByZWdpc3RlcmVkIHRvIHJlZmxlY3QuYCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFSZWZsZWN0Lmhhc093bk1ldGFkYXRhKHR5cGVOYW1lRGVjb3JhdG9yUHJvcGVydHlOYW1lLCB0YXJnZXRUeXBlKSkge1xuICAgICAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YSh0eXBlTmFtZURlY29yYXRvclByb3BlcnR5TmFtZSwgdHlwZU5hbWUsIHRhcmdldFR5cGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBlbnVtIG5hbWUgZGVjb3JhdG9yLlxuICAgICAqIEBwYXJhbSB0YXJnZXRUeXBlIGVudW0gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBlbnVtTmFtZSBOYW1lIG9mIHRoZSBlbnVtLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZGVmaW5lUmVmbGVjdEVudW1OYW1lKHRhcmdldFR5cGU6IEVudW1UeXBlLCBlbnVtTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghUmVmbGVjdC5oYXNPd25NZXRhZGF0YShlbnVtTmFtZURlY29yYXRvclByb3BlcnR5TmFtZSwgdGFyZ2V0VHlwZSkpIHtcbiAgICAgICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoZW51bU5hbWVEZWNvcmF0b3JQcm9wZXJ0eU5hbWUsIGVudW1OYW1lLCB0YXJnZXRUeXBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdHlwZSBuYW1lIGZyb20gZWl0aGVyIGRlY29yYXRvciBvciByZWZsZWN0IG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSB0eXBlIENsYXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZmluZFR5cGVOYW1lKHR5cGU6IENsYXNzVHlwZTxhbnk+KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGRlY29yYXRvck5hbWUgPSBUeXBlVXRpbC5nZXREZWNvcmF0b3JUeXBlTmFtZSh0eXBlKTtcbiAgICAgICAgaWYgKGRlY29yYXRvck5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWNvcmF0b3JOYW1lO1xuICAgICAgICB9XG4gICAgICAgIGRlY29yYXRvck5hbWUgPSBSZWZsZWN0LmdldE1ldGFkYXRhKHR5cGVOYW1lRGVjb3JhdG9yUHJvcGVydHlOYW1lLCB0eXBlKTtcbiAgICAgICAgaWYgKGRlY29yYXRvck5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWNvcmF0b3JOYW1lO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0eXBlLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBlbnVtIG5hbWUgZnJvbSBlaXRoZXIgZGVjb3JhdG9yIG9yIHJlZmxlY3QgbWV0YWRhdGEuXG4gICAgICogQHBhcmFtIGVudW1UeXBlIENsYXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZmluZEVudW1OYW1lKGVudW1UeXBlOiBFbnVtVHlwZSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBkZWNvcmF0b3JOYW1lID0gVHlwZVV0aWwuZ2V0RGVjb3JhdG9yRW51bU5hbWUoZW51bVR5cGUpO1xuICAgICAgICBpZiAoZGVjb3JhdG9yTmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIGRlY29yYXRvck5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgZGVjb3JhdG9yTmFtZSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoZW51bU5hbWVEZWNvcmF0b3JQcm9wZXJ0eU5hbWUsIGVudW1UeXBlKTtcbiAgICAgICAgaWYgKGRlY29yYXRvck5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWNvcmF0b3JOYW1lO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGZpbmVkIGVudW0gbmFtZScpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB2YWx1ZSBmcm9tIGRlY29yYXRvciBkZWZpbmVkIHByb3BlcnR5IG5hbWVcbiAgICAgKiBAcGFyYW0gdHlwZSBDbGFzcy5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0RGVjb3JhdG9yVHlwZU5hbWUodHlwZTogRnVuY3Rpb24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gKHR5cGUgYXMgYW55KVt0eXBlTmFtZURlY29yYXRvclByb3BlcnR5TmFtZV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHZhbHVlIGZyb20gZGVjb3JhdG9yIGRlZmluZWQgcHJvcGVydHkgbmFtZVxuICAgICAqIEBwYXJhbSB0eXBlIEVudW0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0RGVjb3JhdG9yRW51bU5hbWUodHlwZTogRW51bVR5cGUpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gKHR5cGUgYXMgYW55KVtlbnVtTmFtZURlY29yYXRvclByb3BlcnR5TmFtZV07XG4gICAgfVxufVxuIl19
@@ -33,5 +33,6 @@ export * from './lib/data-providers';
33
33
  export * from './lib/descriptors';
34
34
  export * from './lib/models';
35
35
  export * from './lib/router';
36
+ export * from './lib/router/models';
36
37
  export * from './lib/types';
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsU0FBUztBQUNULGNBQWMsMEJBQTBCLENBQUM7QUFFekMsV0FBVztBQUNYLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxRQUFRO0FBQ1IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGFBQWEsQ0FBQztBQUU1QixhQUFhO0FBQ2IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsYUFBYTtBQUNiLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsUUFBUTtBQUNSLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGVBQWU7QUFDZixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbW5nLWNvbW1vbnNcbiAqL1xuXG4vLyBtb2R1bGVcbmV4cG9ydCAqIGZyb20gJy4vbGliL21uZy1jb21tb25zLm1vZHVsZSc7XG5cbi8vIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcHJvdmlkZXJzJztcblxuLy8gdXRpbHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG5cbi8vIGNvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L2ZpZWxkcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L3dyYXBwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5b3V0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFibGV2aWV3JztcblxuLy8gZGlyZWN0aXZlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcyc7XG5cbi8vIHBpcGVzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcyc7XG5cbi8vIG1vZGVscyZvdGhlclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjdGlvbi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25maWcvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLXByb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kZXNjcmlwdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcm91dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzJztcbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsU0FBUztBQUNULGNBQWMsMEJBQTBCLENBQUM7QUFFekMsV0FBVztBQUNYLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxRQUFRO0FBQ1IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGFBQWEsQ0FBQztBQUU1QixhQUFhO0FBQ2IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsYUFBYTtBQUNiLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsUUFBUTtBQUNSLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGVBQWU7QUFDZixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBtbmctY29tbW9uc1xuICovXG5cbi8vIG1vZHVsZVxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW5nLWNvbW1vbnMubW9kdWxlJztcblxuLy8gc2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhYmxldmlldy9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm92aWRlcnMnO1xuXG4vLyB1dGlsc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJztcblxuLy8gY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvd3JhcHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWJsZXZpZXcnO1xuXG4vLyBkaXJlY3RpdmVzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcblxuLy8gcGlwZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzJztcblxuLy8gbW9kZWxzJm90aGVyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aW9uL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpZy9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtcHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rlc2NyaXB0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yb3V0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcm91dGVyL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcyc7XG4iXX0=