@coolon/angular-ui-powerups 0.0.37 → 0.0.41

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 (119) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +1787 -1051
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.d.ts +16 -14
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +16 -14
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/angular-ui-powerups.module.js +8 -8
  10. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +1 -2
  11. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -2
  12. package/esm2015/lib/place/components/abstract-place-navigation.component.js +75 -0
  13. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +47 -0
  14. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +110 -16
  15. package/esm2015/lib/place/components/place-outlet/route-animations.js +12 -5
  16. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +5 -39
  17. package/esm2015/lib/place/guards/leave-place.guard.js +20 -3
  18. package/esm2015/lib/place/guards/place-route.guard.js +29 -37
  19. package/esm2015/lib/place/index.js +11 -9
  20. package/esm2015/lib/place/nav-item.js +23 -0
  21. package/esm2015/lib/place/place-component-like.js +17 -0
  22. package/esm2015/lib/place/place-component.js +119 -20
  23. package/esm2015/lib/place/place-updates-service.js +16 -0
  24. package/esm2015/lib/place/place.decorator.js +1 -1
  25. package/esm2015/lib/place/place.module.js +6 -3
  26. package/esm2015/lib/place/place.service.js +28 -26
  27. package/esm2015/lib/place/route/default-parameter-sanitiser.js +78 -0
  28. package/esm2015/lib/place/route/parameter-decorators.js +15 -7
  29. package/esm2015/lib/place/route/parameter-definition.class.js +2 -2
  30. package/esm2015/lib/place/route/parameter-sanitiser.js +17 -2
  31. package/esm2015/lib/place/route/parameter-snapshot.js +382 -0
  32. package/esm2015/lib/place/route/parameter-type.js +3 -2
  33. package/esm2015/lib/place/route/route-parameter-sanitiser.js +73 -38
  34. package/esm2015/lib/place/visit.js +22 -0
  35. package/esm2015/public_api.js +2 -2
  36. package/esm5/coolon-angular-ui-powerups.js +16 -14
  37. package/esm5/index.js +2 -2
  38. package/esm5/lib/angular-ui-powerups.module.js +8 -8
  39. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +1 -2
  40. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -2
  41. package/esm5/lib/place/components/abstract-place-navigation.component.js +86 -0
  42. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +61 -0
  43. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +141 -20
  44. package/esm5/lib/place/components/place-outlet/route-animations.js +12 -5
  45. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +6 -43
  46. package/esm5/lib/place/guards/leave-place.guard.js +20 -3
  47. package/esm5/lib/place/guards/place-route.guard.js +28 -37
  48. package/esm5/lib/place/index.js +11 -9
  49. package/esm5/lib/place/nav-item.js +23 -0
  50. package/esm5/lib/place/place-component-like.js +17 -0
  51. package/esm5/lib/place/place-component.js +137 -22
  52. package/esm5/lib/place/place-updates-service.js +16 -0
  53. package/esm5/lib/place/place.decorator.js +1 -1
  54. package/esm5/lib/place/place.module.js +6 -3
  55. package/esm5/lib/place/place.service.js +48 -29
  56. package/esm5/lib/place/route/default-parameter-sanitiser.js +85 -0
  57. package/esm5/lib/place/route/parameter-decorators.js +15 -7
  58. package/esm5/lib/place/route/parameter-definition.class.js +2 -2
  59. package/esm5/lib/place/route/parameter-sanitiser.js +17 -2
  60. package/esm5/lib/place/route/parameter-snapshot.js +474 -0
  61. package/esm5/lib/place/route/parameter-type.js +3 -2
  62. package/esm5/lib/place/route/route-parameter-sanitiser.js +100 -45
  63. package/esm5/lib/place/visit.js +22 -0
  64. package/esm5/public_api.js +2 -2
  65. package/fesm2015/coolon-angular-ui-powerups.js +1244 -673
  66. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  67. package/fesm5/coolon-angular-ui-powerups.js +1750 -1021
  68. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  69. package/lib/place/components/abstract-place-navigation.component.d.ts +13 -0
  70. package/lib/place/components/list-place-nav/list-place-nav.component.d.ts +8 -0
  71. package/lib/place/components/place-outlet/place-outlet.component.d.ts +16 -8
  72. package/lib/place/components/place-outlet/route-animations.d.ts +1 -0
  73. package/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.d.ts +2 -9
  74. package/lib/place/guards/place-route.guard.d.ts +4 -4
  75. package/lib/place/index.d.ts +8 -6
  76. package/lib/place/nav-item.d.ts +5 -0
  77. package/lib/place/{i-place-component.d.ts → place-component-like.d.ts} +1 -1
  78. package/lib/place/place-component.d.ts +19 -8
  79. package/lib/place/place-updates-service.d.ts +10 -0
  80. package/lib/place/place.service.d.ts +11 -8
  81. package/lib/place/route/default-parameter-sanitiser.d.ts +13 -0
  82. package/lib/place/route/parameter-decorators.d.ts +6 -2
  83. package/lib/place/route/parameter-definition.class.d.ts +3 -3
  84. package/lib/place/route/parameter-sanitiser.d.ts +8 -1
  85. package/lib/place/route/parameter-snapshot.d.ts +46 -0
  86. package/lib/place/route/route-parameter-sanitiser.d.ts +13 -9
  87. package/lib/place/visit.d.ts +6 -0
  88. package/package.json +1 -1
  89. package/schematics/place-routes/index.js +8 -95
  90. package/schematics/place-routes/index.js.map +1 -1
  91. package/schematics/place-routes/place-builder.d.ts +19 -0
  92. package/schematics/place-routes/place-builder.js +109 -0
  93. package/schematics/place-routes/place-builder.js.map +1 -0
  94. package/schematics/place-routes/{scanner.d.ts → place-class-scanner.d.ts} +10 -6
  95. package/schematics/place-routes/{scanner.js → place-class-scanner.js} +43 -18
  96. package/schematics/place-routes/place-class-scanner.js.map +1 -0
  97. package/schematics/place-routes/place-def.d.ts +19 -4
  98. package/schematics/place-routes/place-def.js +54 -4
  99. package/schematics/place-routes/place-def.js.map +1 -1
  100. package/schematics/place-routes/templates/{place-routes.ts.template → places.ts.template} +14 -11
  101. package/esm2015/lib/place/i-place-component.js +0 -17
  102. package/esm2015/lib/place/i-place-service.js +0 -16
  103. package/esm2015/lib/place/route/resolved-parameter.js +0 -16
  104. package/esm2015/lib/place/route/resolved-route-parameter-snapshot.js +0 -106
  105. package/esm2015/lib/place/route/route-parameter-bindings.js +0 -150
  106. package/esm2015/lib/place/route/visit-snapshot.js +0 -7
  107. package/esm5/lib/place/i-place-component.js +0 -17
  108. package/esm5/lib/place/i-place-service.js +0 -16
  109. package/esm5/lib/place/route/resolved-parameter.js +0 -16
  110. package/esm5/lib/place/route/resolved-route-parameter-snapshot.js +0 -129
  111. package/esm5/lib/place/route/route-parameter-bindings.js +0 -167
  112. package/esm5/lib/place/route/visit-snapshot.js +0 -11
  113. package/lib/place/i-place-service.d.ts +0 -10
  114. package/lib/place/route/resolved-parameter.d.ts +0 -5
  115. package/lib/place/route/resolved-route-parameter-snapshot.d.ts +0 -12
  116. package/lib/place/route/route-parameter-bindings.d.ts +0 -17
  117. package/lib/place/route/visit-snapshot.d.ts +0 -2
  118. package/schematics/place-routes/scanner.js.map +0 -1
  119. package/schematics/place-routes/templates/place-router.ts.template +0 -33
@@ -0,0 +1,85 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { Trace } from '@coolon/pectin';
7
+ import * as _ from 'lodash';
8
+ /**
9
+ * @template T, S
10
+ */
11
+ var DefaultParameterSanitiser = /** @class */ (function () {
12
+ function DefaultParameterSanitiser(def, placeService, options) {
13
+ this.def = def;
14
+ this.placeService = placeService;
15
+ this.remember = _.isNil(options.remember) ? false : options.remember;
16
+ this.defaultValue = _.isNil(options.defaultValue) ? null : options.defaultValue;
17
+ }
18
+ /**
19
+ * @param {?} value
20
+ * @param {?} visit
21
+ * @return {?}
22
+ */
23
+ DefaultParameterSanitiser.prototype.sanitise = /**
24
+ * @param {?} value
25
+ * @param {?} visit
26
+ * @return {?}
27
+ */
28
+ function (value, visit) {
29
+ if (this.isBlank(value)) {
30
+ if (this.remember) {
31
+ // value = null;
32
+ }
33
+ return this.isBlank(value) && !_.isNil(this.defaultValue) ? this.defaultValue : value;
34
+ }
35
+ else {
36
+ return value;
37
+ }
38
+ };
39
+ /**
40
+ * @private
41
+ * @param {?} value
42
+ * @return {?}
43
+ */
44
+ DefaultParameterSanitiser.prototype.isBlank = /**
45
+ * @private
46
+ * @param {?} value
47
+ * @return {?}
48
+ */
49
+ function (value) {
50
+ /** @type {?} */
51
+ var isNil = _.isNil(value);
52
+ return this.def.isArray ? !isNil || value['length'] < 1 : isNil;
53
+ };
54
+ tslib_1.__decorate([
55
+ Trace(),
56
+ tslib_1.__metadata("design:type", Function),
57
+ tslib_1.__metadata("design:paramtypes", [Object, Object]),
58
+ tslib_1.__metadata("design:returntype", Object)
59
+ ], DefaultParameterSanitiser.prototype, "sanitise", null);
60
+ return DefaultParameterSanitiser;
61
+ }());
62
+ export { DefaultParameterSanitiser };
63
+ if (false) {
64
+ /**
65
+ * @type {?}
66
+ * @private
67
+ */
68
+ DefaultParameterSanitiser.prototype.remember;
69
+ /**
70
+ * @type {?}
71
+ * @private
72
+ */
73
+ DefaultParameterSanitiser.prototype.defaultValue;
74
+ /**
75
+ * @type {?}
76
+ * @private
77
+ */
78
+ DefaultParameterSanitiser.prototype.def;
79
+ /**
80
+ * @type {?}
81
+ * @private
82
+ */
83
+ DefaultParameterSanitiser.prototype.placeService;
84
+ }
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wYXJhbWV0ZXItc2FuaXRpc2VyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3JvdXRlL2RlZmF1bHQtcGFyYW1ldGVyLXNhbml0aXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7OztBQU01QjtJQUtFLG1DQUFvQixHQUE4QixFQUFtQixZQUEwQixFQUFFLE9BQXNDO1FBQW5ILFFBQUcsR0FBSCxHQUFHLENBQTJCO1FBQW1CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzdGLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNyRSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7SUFDbEYsQ0FBQzs7Ozs7O0lBR0QsNENBQVE7Ozs7O0lBQVIsVUFBUyxLQUFRLEVBQUUsS0FBWTtRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixnQkFBZ0I7YUFDakI7WUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1NBRXZGO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQzs7Ozs7O0lBRU8sMkNBQU87Ozs7O0lBQWYsVUFBZ0IsS0FBUTs7WUFDaEIsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNsRSxDQUFDO0lBZkQ7UUFEQyxLQUFLLEVBQUU7Ozs7NkRBV1A7SUFNSCxnQ0FBQztDQUFBLEFBM0JELElBMkJDO1NBM0JZLHlCQUF5Qjs7Ozs7O0lBRXBDLDZDQUEwQjs7Ozs7SUFDMUIsaURBQXdCOzs7OztJQUVaLHdDQUFzQzs7Ozs7SUFBRSxpREFBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFBsYWNlU2VydmljZSB9IGZyb20gJy4uL3BsYWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuLi92aXNpdCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuXG5leHBvcnQgY2xhc3MgRGVmYXVsdFBhcmFtZXRlclNhbml0aXNlcjxULCBTPiBpbXBsZW1lbnRzIFBhcmFtZXRlclNhbml0aXNlcjxTPiB7XG5cbiAgcHJpdmF0ZSByZW1lbWJlcjogYm9vbGVhbjtcbiAgcHJpdmF0ZSBkZWZhdWx0VmFsdWU6IFM7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkZWY6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4sIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VTZXJ2aWNlOiBQbGFjZVNlcnZpY2UsIG9wdGlvbnM6IFBhcmFtZXRlclNhbml0aXNlci5PcHRpb25zPFM+KSB7XG4gICAgdGhpcy5yZW1lbWJlciA9IF8uaXNOaWwob3B0aW9ucy5yZW1lbWJlcikgPyBmYWxzZSA6IG9wdGlvbnMucmVtZW1iZXI7XG4gICAgdGhpcy5kZWZhdWx0VmFsdWUgPSBfLmlzTmlsKG9wdGlvbnMuZGVmYXVsdFZhbHVlKSA/IG51bGwgOiBvcHRpb25zLmRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIEBUcmFjZSgpXG4gIHNhbml0aXNlKHZhbHVlOiBTLCB2aXNpdDogVmlzaXQpOiBQcm9taXNlPFM+IHwgUyB7XG4gICAgaWYgKHRoaXMuaXNCbGFuayh2YWx1ZSkpIHtcbiAgICAgIGlmICh0aGlzLnJlbWVtYmVyKSB7XG4gICAgICAgIC8vIHZhbHVlID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmlzQmxhbmsodmFsdWUpICYmICFfLmlzTmlsKHRoaXMuZGVmYXVsdFZhbHVlKSA/IHRoaXMuZGVmYXVsdFZhbHVlIDogdmFsdWU7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNCbGFuayh2YWx1ZTogUykge1xuICAgIGNvbnN0IGlzTmlsID0gXy5pc05pbCh2YWx1ZSk7XG4gICAgcmV0dXJuIHRoaXMuZGVmLmlzQXJyYXkgPyAhaXNOaWwgfHwgdmFsdWVbJ2xlbmd0aCddIDwgMSA6IGlzTmlsO1xuICB9XG59XG4iXX0=
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { assert, UseDelegate } from '@coolon/pectin';
6
6
  import { Klass, Opts } from '@coolon/typescript-utilities';
7
- import { RouteParameterBindings } from './route-parameter-bindings';
7
+ import { ROUTE_PARAMETER_LIST_KEY } from '../place-component';
8
8
  /**
9
9
  * @record
10
10
  * @template T
@@ -16,6 +16,10 @@ if (false) {
16
16
  /** @type {?|undefined} */
17
17
  ParameterOptions.prototype.optional;
18
18
  /** @type {?|undefined} */
19
+ ParameterOptions.prototype.remember;
20
+ /** @type {?|undefined} */
21
+ ParameterOptions.prototype.defaultValue;
22
+ /** @type {?|undefined} */
19
23
  ParameterOptions.prototype.sanitiser;
20
24
  }
21
25
  /**
@@ -29,7 +33,11 @@ if (false) {
29
33
  /** @type {?|undefined} */
30
34
  ListParameterOptions.prototype.optional;
31
35
  /** @type {?|undefined} */
32
- ListParameterOptions.prototype.listSanitiser;
36
+ ListParameterOptions.prototype.remember;
37
+ /** @type {?|undefined} */
38
+ ListParameterOptions.prototype.defaultValue;
39
+ /** @type {?|undefined} */
40
+ ListParameterOptions.prototype.sanitiser;
33
41
  }
34
42
  /**
35
43
  * @template T
@@ -47,7 +55,7 @@ export function RouteId(type, options) {
47
55
  function (prototype, propertyKey) {
48
56
  /** @type {?} */
49
57
  var param = createDefinition(propertyKey, type, options, true);
50
- Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
58
+ Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);
51
59
  UseDelegate()(prototype, propertyKey);
52
60
  });
53
61
  }
@@ -67,7 +75,7 @@ export function RouteParameter(type, options) {
67
75
  function (prototype, propertyKey) {
68
76
  /** @type {?} */
69
77
  var param = createDefinition(propertyKey, type, options, false);
70
- Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
78
+ Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);
71
79
  UseDelegate()(prototype, propertyKey);
72
80
  });
73
81
  }
@@ -87,7 +95,7 @@ export function RouteParameterList(elementType, options) {
87
95
  function (prototype, propertyKey) {
88
96
  /** @type {?} */
89
97
  var param = createArrayDefinition(propertyKey, elementType, options);
90
- Klass.get(prototype).addToOwnMetadataList(RouteParameterBindings.ROUTE_PARAMETER_LIST_KEY, param);
98
+ Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, param);
91
99
  UseDelegate()(prototype, propertyKey);
92
100
  });
93
101
  }
@@ -132,10 +140,10 @@ function createArrayDefinition(propertyName, type, options) {
132
140
  name: opts.getOptional('as', propertyNameAsString),
133
141
  propertyName: propertyNameAsString,
134
142
  type: assert.notNil(type),
135
- sanitiser: opts.getOptional('listSanitiser', null),
143
+ sanitiser: opts.getOptional('sanitiser', null),
136
144
  isRouteId: false,
137
145
  isArray: true
138
146
  };
139
147
  return def;
140
148
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBRXBFLHNDQUlDOzs7SUFIQyw4QkFBWTs7SUFDWixvQ0FBa0I7O0lBQ2xCLHFDQUFpRDs7Ozs7O0FBR25ELDBDQUlDOzs7SUFIQyxrQ0FBWTs7SUFDWix3Q0FBa0I7O0lBQ2xCLDZDQUF1RDs7Ozs7Ozs7QUFHekQsTUFBTSxVQUFVLE9BQU8sQ0FBNEIsSUFBc0IsRUFBRSxPQUE2QjtJQUN0RyxtQ0FBbUM7SUFDbkM7Ozs7O0lBQU8sVUFBQyxTQUFpQixFQUFFLFdBQTRCOztZQUMvQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQ2hFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEcsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFJLElBQXNCLEVBQUUsT0FBNkI7SUFDckYsbUNBQW1DO0lBQ25DOzs7OztJQUFPLFVBQUMsU0FBaUIsRUFBRSxXQUE0Qjs7WUFDL0MsS0FBSyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUNqRSxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xHLFdBQVcsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN4QyxDQUFDLEVBQUM7QUFDSixDQUFDOzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFJLFdBQTZCLEVBQUUsT0FBaUM7SUFDcEcsbUNBQW1DO0lBQ25DOzs7OztJQUFPLFVBQUMsU0FBaUIsRUFBRSxXQUE0Qjs7WUFDL0MsS0FBSyxHQUFHLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDO1FBQ3RFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEcsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7Ozs7OztBQUVELFNBQVMsZ0JBQWdCLENBQUksWUFBNkIsRUFBRSxJQUFzQixFQUFFLE9BQTRCLEVBQUUsT0FBZ0I7O1FBQzFILElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQzs7UUFDeEIsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLEVBQUU7O1FBQzdELEdBQUcsR0FBMkI7UUFDbEMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLG9CQUFvQixDQUFDO1FBQ2xELFlBQVksRUFBRSxvQkFBb0I7UUFDbEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7UUFDOUMsU0FBUyxFQUFFLE9BQU87UUFDbEIsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQzs7Ozs7Ozs7QUFFRCxTQUFTLHFCQUFxQixDQUFJLFlBQTZCLEVBQUUsSUFBc0IsRUFBRSxPQUFnQzs7UUFDakgsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDOztRQUN4QixvQkFBb0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRTs7UUFFN0QsR0FBRyxHQUFnQztRQUN2QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7UUFDbEQsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQztRQUNsRCxTQUFTLEVBQUUsS0FBSztRQUNoQixPQUFPLEVBQUUsSUFBSTtLQUNkO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0LCBDb25zdHJ1Y3RhYmxlLCBVc2VEZWxlZ2F0ZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEtsYXNzLCBPcHRzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuaW1wb3J0IHsgUm91dGVQYXJhbWV0ZXJCaW5kaW5ncyB9IGZyb20gJy4vcm91dGUtcGFyYW1ldGVyLWJpbmRpbmdzJztcblxuZXhwb3J0IGludGVyZmFjZSBQYXJhbWV0ZXJPcHRpb25zPFQ+IHtcbiAgYXM/OiBzdHJpbmc7XG4gIG9wdGlvbmFsPzpib29sZWFuO1xuICBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFBhcmFtZXRlck9wdGlvbnM8VD4ge1xuICBhcz86IHN0cmluZztcbiAgb3B0aW9uYWw/OmJvb2xlYW47XG4gIGxpc3RTYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUW10+Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlSWQ8VCBleHRlbmRzIHN0cmluZyB8IG51bWJlcj4odHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9ucz86IFBhcmFtZXRlck9wdGlvbnM8VD4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZURlZmluaXRpb24ocHJvcGVydHlLZXksIHR5cGUsIG9wdGlvbnMsIHRydWUpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJvdXRlUGFyYW1ldGVyQmluZGluZ3MuUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlUGFyYW1ldGVyPFQ+KHR5cGU6IFBhcmFtZXRlclR5cGU8VD4sIG9wdGlvbnM/OiBQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICAvLyBhc3NlcnQuaXNUcnV0aHkodHlwZS5pc1ZhbGlkKCkpO1xuICByZXR1cm4gKHByb3RvdHlwZTogT2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBjcmVhdGVEZWZpbml0aW9uKHByb3BlcnR5S2V5LCB0eXBlLCBvcHRpb25zLCBmYWxzZSk7XG4gICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUm91dGVQYXJhbWV0ZXJCaW5kaW5ncy5ST1VURV9QQVJBTUVURVJfTElTVF9LRVksIHBhcmFtKTtcbiAgICBVc2VEZWxlZ2F0ZSgpKHByb3RvdHlwZSwgcHJvcGVydHlLZXkpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUm91dGVQYXJhbWV0ZXJMaXN0PEU+KGVsZW1lbnRUeXBlOiBQYXJhbWV0ZXJUeXBlPEU+LCBvcHRpb25zPzogTGlzdFBhcmFtZXRlck9wdGlvbnM8RT4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZUFycmF5RGVmaW5pdGlvbihwcm9wZXJ0eUtleSwgZWxlbWVudFR5cGUsIG9wdGlvbnMpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJvdXRlUGFyYW1ldGVyQmluZGluZ3MuUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVmaW5pdGlvbjxUPihwcm9wZXJ0eU5hbWU6IHN5bWJvbCB8IHN0cmluZywgdHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9uczogUGFyYW1ldGVyT3B0aW9uczxUPiwgcm91dGVJZDogYm9vbGVhbikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG4gIGNvbnN0IGRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxUPiA9IHtcbiAgICBuYW1lOiBvcHRzLmdldE9wdGlvbmFsKCdhcycsIHByb3BlcnR5TmFtZUFzU3RyaW5nKSxcbiAgICBwcm9wZXJ0eU5hbWU6IHByb3BlcnR5TmFtZUFzU3RyaW5nLFxuICAgIHR5cGU6IGFzc2VydC5ub3ROaWwodHlwZSksXG4gICAgc2FuaXRpc2VyOiBvcHRzLmdldE9wdGlvbmFsKCdzYW5pdGlzZXInLCBudWxsKSxcbiAgICBpc1JvdXRlSWQ6IHJvdXRlSWQsXG4gICAgaXNBcnJheTogZmFsc2VcbiAgfTtcbiAgcmV0dXJuIGRlZjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQXJyYXlEZWZpbml0aW9uPFQ+KHByb3BlcnR5TmFtZTogc3ltYm9sIHwgc3RyaW5nLCB0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zOiBMaXN0UGFyYW1ldGVyT3B0aW9uczxUPikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG5cbiAgY29uc3QgZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFRbXT4gPSB7XG4gICAgbmFtZTogb3B0cy5nZXRPcHRpb25hbCgnYXMnLCBwcm9wZXJ0eU5hbWVBc1N0cmluZyksXG4gICAgcHJvcGVydHlOYW1lOiBwcm9wZXJ0eU5hbWVBc1N0cmluZyxcbiAgICB0eXBlOiBhc3NlcnQubm90TmlsKHR5cGUpLFxuICAgIHNhbml0aXNlcjogb3B0cy5nZXRPcHRpb25hbCgnbGlzdFNhbml0aXNlcicsIG51bGwpLFxuICAgIGlzUm91dGVJZDogZmFsc2UsXG4gICAgaXNBcnJheTogdHJ1ZVxuICB9O1xuICByZXR1cm4gZGVmO1xufVxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBSzlELHNDQU1DOzs7SUFMQyw4QkFBWTs7SUFDWixvQ0FBbUI7O0lBQ25CLG9DQUFtQjs7SUFDbkIsd0NBQWlCOztJQUNqQixxQ0FBaUY7Ozs7OztBQUduRiwwQ0FNQzs7O0lBTEMsa0NBQVk7O0lBQ1osd0NBQW1COztJQUNuQix3Q0FBbUI7O0lBQ25CLDRDQUFtQjs7SUFDbkIseUNBQXFGOzs7Ozs7OztBQUd2RixNQUFNLFVBQVUsT0FBTyxDQUE0QixJQUFzQixFQUFFLE9BQTZCO0lBQ3RHLG1DQUFtQztJQUNuQzs7Ozs7SUFBTyxVQUFDLFNBQWlCLEVBQUUsV0FBNEI7O1lBQy9DLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDaEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRSxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7OztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUksSUFBc0IsRUFBRSxPQUE2QjtJQUNyRixtQ0FBbUM7SUFDbkM7Ozs7O0lBQU8sVUFBQyxTQUFpQixFQUFFLFdBQTRCOztZQUMvQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDO1FBQ2pFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0UsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUksV0FBNkIsRUFBRSxPQUFpQztJQUNwRyxtQ0FBbUM7SUFDbkM7Ozs7O0lBQU8sVUFBQyxTQUFpQixFQUFFLFdBQTRCOztZQUMvQyxLQUFLLEdBQUcscUJBQXFCLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUM7UUFDdEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRSxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7Ozs7O0FBRUQsU0FBUyxnQkFBZ0IsQ0FBSSxZQUE2QixFQUFFLElBQXNCLEVBQUUsT0FBNEIsRUFBRSxPQUFnQjs7UUFDMUgsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDOztRQUN4QixvQkFBb0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRTs7UUFDN0QsR0FBRyxHQUE4QjtRQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7UUFDbEQsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztRQUM5QyxTQUFTLEVBQUUsT0FBTztRQUNsQixPQUFPLEVBQUUsS0FBSztLQUNmO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDOzs7Ozs7OztBQUVELFNBQVMscUJBQXFCLENBQUksWUFBNkIsRUFBRSxJQUFzQixFQUFFLE9BQWdDOztRQUNqSCxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7O1FBQ3hCLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxFQUFFOztRQUU3RCxHQUFHLEdBQWdDO1FBQ3ZDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQztRQUNsRCxZQUFZLEVBQUUsb0JBQW9CO1FBQ2xDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO1FBQzlDLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnQsIENvbnN0cnVjdGFibGUsIFVzZURlbGVnYXRlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgS2xhc3MsIE9wdHMgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlck9wdGlvbnM8VD4ge1xuICBhcz86IHN0cmluZztcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xuICByZW1lbWJlcj86IGJvb2xlYW47XG4gIGRlZmF1bHRWYWx1ZT86IFQ7XG4gIHNhbml0aXNlcj86IENvbnN0cnVjdGFibGU8UGFyYW1ldGVyU2FuaXRpc2VyPFQ+PiB8IFBhcmFtZXRlclNhbml0aXNlci5PcHRpb25zPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQYXJhbWV0ZXJPcHRpb25zPFQ+IHtcbiAgYXM/OiBzdHJpbmc7XG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgcmVtZW1iZXI/OiBib29sZWFuO1xuICBkZWZhdWx0VmFsdWU/OiBUW107XG4gIHNhbml0aXNlcj86IENvbnN0cnVjdGFibGU8UGFyYW1ldGVyU2FuaXRpc2VyPFRbXT4+IHwgUGFyYW1ldGVyU2FuaXRpc2VyLk9wdGlvbnM8VFtdPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlSWQ8VCBleHRlbmRzIHN0cmluZyB8IG51bWJlcj4odHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9ucz86IFBhcmFtZXRlck9wdGlvbnM8VD4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIC8vIGFzc2VydC5pc1RydXRoeSh0eXBlLmlzVmFsaWQoKSk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbSA9IGNyZWF0ZURlZmluaXRpb24ocHJvcGVydHlLZXksIHR5cGUsIG9wdGlvbnMsIHRydWUpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW0pO1xuICAgIFVzZURlbGVnYXRlKCkocHJvdG90eXBlLCBwcm9wZXJ0eUtleSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSb3V0ZVBhcmFtZXRlcjxUPih0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zPzogUGFyYW1ldGVyT3B0aW9uczxUPik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgLy8gYXNzZXJ0LmlzVHJ1dGh5KHR5cGUuaXNWYWxpZCgpKTtcbiAgcmV0dXJuIChwcm90b3R5cGU6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtID0gY3JlYXRlRGVmaW5pdGlvbihwcm9wZXJ0eUtleSwgdHlwZSwgb3B0aW9ucywgZmFsc2UpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW0pO1xuICAgIFVzZURlbGVnYXRlKCkocHJvdG90eXBlLCBwcm9wZXJ0eUtleSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSb3V0ZVBhcmFtZXRlckxpc3Q8RT4oZWxlbWVudFR5cGU6IFBhcmFtZXRlclR5cGU8RT4sIG9wdGlvbnM/OiBMaXN0UGFyYW1ldGVyT3B0aW9uczxFPik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgLy8gYXNzZXJ0LmlzVHJ1dGh5KHR5cGUuaXNWYWxpZCgpKTtcbiAgcmV0dXJuIChwcm90b3R5cGU6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtID0gY3JlYXRlQXJyYXlEZWZpbml0aW9uKHByb3BlcnR5S2V5LCBlbGVtZW50VHlwZSwgb3B0aW9ucyk7XG4gICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbSk7XG4gICAgVXNlRGVsZWdhdGUoKShwcm90b3R5cGUsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVmaW5pdGlvbjxUPihwcm9wZXJ0eU5hbWU6IHN5bWJvbCB8IHN0cmluZywgdHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9uczogUGFyYW1ldGVyT3B0aW9uczxUPiwgcm91dGVJZDogYm9vbGVhbikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG4gIGNvbnN0IGRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBUPiA9IHtcbiAgICBuYW1lOiBvcHRzLmdldE9wdGlvbmFsKCdhcycsIHByb3BlcnR5TmFtZUFzU3RyaW5nKSxcbiAgICBwcm9wZXJ0eU5hbWU6IHByb3BlcnR5TmFtZUFzU3RyaW5nLFxuICAgIHR5cGU6IGFzc2VydC5ub3ROaWwodHlwZSksXG4gICAgc2FuaXRpc2VyOiBvcHRzLmdldE9wdGlvbmFsKCdzYW5pdGlzZXInLCBudWxsKSxcbiAgICBpc1JvdXRlSWQ6IHJvdXRlSWQsXG4gICAgaXNBcnJheTogZmFsc2VcbiAgfTtcbiAgcmV0dXJuIGRlZjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQXJyYXlEZWZpbml0aW9uPFQ+KHByb3BlcnR5TmFtZTogc3ltYm9sIHwgc3RyaW5nLCB0eXBlOiBQYXJhbWV0ZXJUeXBlPFQ+LCBvcHRpb25zOiBMaXN0UGFyYW1ldGVyT3B0aW9uczxUPikge1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIGNvbnN0IHByb3BlcnR5TmFtZUFzU3RyaW5nID0gYXNzZXJ0Lm5vdE5pbChwcm9wZXJ0eU5hbWUpLnRvU3RyaW5nKCk7XG5cbiAgY29uc3QgZGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFRbXT4gPSB7XG4gICAgbmFtZTogb3B0cy5nZXRPcHRpb25hbCgnYXMnLCBwcm9wZXJ0eU5hbWVBc1N0cmluZyksXG4gICAgcHJvcGVydHlOYW1lOiBwcm9wZXJ0eU5hbWVBc1N0cmluZyxcbiAgICB0eXBlOiBhc3NlcnQubm90TmlsKHR5cGUpLFxuICAgIHNhbml0aXNlcjogb3B0cy5nZXRPcHRpb25hbCgnc2FuaXRpc2VyJywgbnVsbCksXG4gICAgaXNSb3V0ZUlkOiBmYWxzZSxcbiAgICBpc0FycmF5OiB0cnVlXG4gIH07XG4gIHJldHVybiBkZWY7XG59XG4iXX0=
@@ -4,7 +4,7 @@
4
4
  */
5
5
  /**
6
6
  * @record
7
- * @template E, S
7
+ * @template T, S
8
8
  */
9
9
  export function ParameterDefinition() { }
10
10
  if (false) {
@@ -21,4 +21,4 @@ if (false) {
21
21
  /** @type {?} */
22
22
  ParameterDefinition.prototype.isArray;
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSx5Q0FPQzs7O0lBTkMsbUNBQXNCOztJQUN0QiwyQ0FBOEI7O0lBQzlCLG1DQUFnQzs7SUFDaEMsd0NBQXlEOztJQUN6RCx3Q0FBNEI7O0lBQzVCLHNDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdGFibGUgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlckRlZmluaXRpb248RSxTPUU+IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdHlwZTogUGFyYW1ldGVyVHlwZTxFPjtcbiAgcmVhZG9ubHkgc2FuaXRpc2VyOiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxTPj47XG4gIHJlYWRvbmx5IGlzUm91dGVJZDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgaXNBcnJheTogYm9vbGVhbjtcbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSx5Q0FPQzs7O0lBTkMsbUNBQXNCOztJQUN0QiwyQ0FBOEI7O0lBQzlCLG1DQUFnQzs7SUFDaEMsd0NBQXlGOztJQUN6Rix3Q0FBNEI7O0lBQzVCLHNDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdGFibGUgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlckRlZmluaXRpb248VCxTPVQ+IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdHlwZTogUGFyYW1ldGVyVHlwZTxUPjtcbiAgcmVhZG9ubHkgc2FuaXRpc2VyOiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxTPj4gfCBQYXJhbWV0ZXJTYW5pdGlzZXIuT3B0aW9uczxTPjtcbiAgcmVhZG9ubHkgaXNSb3V0ZUlkOiBib29sZWFuO1xuICByZWFkb25seSBpc0FycmF5OiBib29sZWFuO1xufVxuIl19
@@ -10,8 +10,23 @@ export function ParameterSanitiser() { }
10
10
  if (false) {
11
11
  /**
12
12
  * @param {?} value
13
+ * @param {?=} visit
13
14
  * @return {?}
14
15
  */
15
- ParameterSanitiser.prototype.sanitise = function (value) { };
16
+ ParameterSanitiser.prototype.sanitise = function (value, visit) { };
16
17
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsd0NBRUM7Ozs7OztJQURFLDZEQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyU2FuaXRpc2VyPFQ+IHtcbiAgIHNhbml0aXNlKHZhbHVlOiBUKTogVCB8IFByb21pc2U8VD47XG59XG4iXX0=
18
+ (function (ParameterSanitiser) {
19
+ /**
20
+ * @record
21
+ * @template T
22
+ */
23
+ function Options() { }
24
+ ParameterSanitiser.Options = Options;
25
+ if (false) {
26
+ /** @type {?|undefined} */
27
+ Options.prototype.remember;
28
+ /** @type {?|undefined} */
29
+ Options.prototype.defaultValue;
30
+ }
31
+ })(ParameterSanitiser || (ParameterSanitiser = {}));
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUEsd0NBRUM7Ozs7Ozs7SUFEQyxvRUFBa0Q7O0FBR3BELFdBQWlCLGtCQUFrQjs7Ozs7SUFDakMsc0JBR0M7Ozs7UUFGQywyQkFBa0I7O1FBQ2xCLCtCQUFnQjs7QUFFcEIsQ0FBQyxFQUxnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBS2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuLi92aXNpdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyU2FuaXRpc2VyPFQ+IHtcbiAgc2FuaXRpc2UodmFsdWU6IFQsIHZpc2l0PzogVmlzaXQpOiBUIHwgUHJvbWlzZTxUPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQYXJhbWV0ZXJTYW5pdGlzZXIge1xuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnM8VD4ge1xuICAgIHJlbWVtYmVyPzogYm9vbGVhblxuICAgIGRlZmF1bHRWYWx1ZT86IFRcbiAgfVxufVxuIl19