@fundamental-ngx/core 0.34.3-rc.11 → 0.34.3-rc.12

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 (110) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/package.json +1 -1
  8. package/busy-indicator/package.json +1 -1
  9. package/button/package.json +1 -1
  10. package/calendar/package.json +1 -1
  11. package/card/package.json +1 -1
  12. package/carousel/package.json +1 -1
  13. package/checkbox/package.json +1 -1
  14. package/combobox/package.json +1 -1
  15. package/date-picker/package.json +1 -1
  16. package/datetime/package.json +1 -1
  17. package/datetime-picker/package.json +1 -1
  18. package/dialog/package.json +1 -1
  19. package/dynamic-page/package.json +1 -1
  20. package/dynamic-side-content/package.json +1 -1
  21. package/esm2020/grid-list/helpers/parse-layout-pattern.mjs +2 -2
  22. package/esm2020/menu/services/menu.service.mjs +8 -6
  23. package/facets/package.json +1 -1
  24. package/feed-input/package.json +1 -1
  25. package/feed-list-item/package.json +1 -1
  26. package/fesm2015/fundamental-ngx-core-grid-list.mjs +1 -1
  27. package/fesm2015/fundamental-ngx-core-grid-list.mjs.map +1 -1
  28. package/fesm2015/fundamental-ngx-core-menu.mjs +7 -5
  29. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  30. package/fesm2020/fundamental-ngx-core-grid-list.mjs +1 -1
  31. package/fesm2020/fundamental-ngx-core-grid-list.mjs.map +1 -1
  32. package/fesm2020/fundamental-ngx-core-menu.mjs +7 -5
  33. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  34. package/file-uploader/package.json +1 -1
  35. package/fixed-card-layout/package.json +1 -1
  36. package/flexible-column-layout/package.json +1 -1
  37. package/form/package.json +1 -1
  38. package/formatted-text/package.json +1 -1
  39. package/grid-list/esm2020/helpers/parse-layout-pattern.mjs +2 -2
  40. package/grid-list/fesm2015/fundamental-ngx-core-grid-list.mjs +1 -1
  41. package/grid-list/fesm2015/fundamental-ngx-core-grid-list.mjs.map +1 -1
  42. package/grid-list/fesm2020/fundamental-ngx-core-grid-list.mjs +1 -1
  43. package/grid-list/fesm2020/fundamental-ngx-core-grid-list.mjs.map +1 -1
  44. package/grid-list/package.json +1 -1
  45. package/icon/package.json +1 -1
  46. package/illustrated-message/package.json +1 -1
  47. package/infinite-scroll/package.json +1 -1
  48. package/info-label/package.json +1 -1
  49. package/inline-help/package.json +1 -1
  50. package/input-group/package.json +1 -1
  51. package/layout-grid/package.json +1 -1
  52. package/layout-panel/package.json +1 -1
  53. package/link/package.json +1 -1
  54. package/list/package.json +1 -1
  55. package/menu/esm2020/services/menu.service.mjs +8 -6
  56. package/menu/fesm2015/fundamental-ngx-core-menu.mjs +7 -5
  57. package/menu/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  58. package/menu/fesm2020/fundamental-ngx-core-menu.mjs +7 -5
  59. package/menu/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  60. package/menu/package.json +1 -1
  61. package/message-box/package.json +1 -1
  62. package/message-strip/package.json +1 -1
  63. package/message-toast/package.json +1 -1
  64. package/micro-process-flow/package.json +1 -1
  65. package/mobile-mode/package.json +1 -1
  66. package/multi-input/package.json +1 -1
  67. package/nested-list/package.json +1 -1
  68. package/notification/package.json +1 -1
  69. package/object-identifier/package.json +1 -1
  70. package/object-marker/package.json +1 -1
  71. package/object-number/package.json +1 -1
  72. package/object-status/package.json +1 -1
  73. package/package.json +1 -1
  74. package/pagination/package.json +1 -1
  75. package/panel/package.json +1 -1
  76. package/popover/package.json +1 -1
  77. package/product-switch/package.json +1 -1
  78. package/progress-indicator/package.json +1 -1
  79. package/quick-view/package.json +1 -1
  80. package/radio/package.json +1 -1
  81. package/rating-indicator/package.json +1 -1
  82. package/resizable-card-layout/package.json +1 -1
  83. package/scroll-spy/package.json +1 -1
  84. package/scrollbar/package.json +1 -1
  85. package/segmented-button/package.json +1 -1
  86. package/select/package.json +1 -1
  87. package/shared/package.json +1 -1
  88. package/shellbar/package.json +1 -1
  89. package/side-navigation/package.json +1 -1
  90. package/slider/package.json +1 -1
  91. package/split-button/package.json +1 -1
  92. package/splitter/package.json +1 -1
  93. package/status-indicator/package.json +1 -1
  94. package/step-input/package.json +1 -1
  95. package/switch/package.json +1 -1
  96. package/table/package.json +1 -1
  97. package/tabs/package.json +1 -1
  98. package/text/package.json +1 -1
  99. package/tile/package.json +1 -1
  100. package/time/package.json +1 -1
  101. package/time-picker/package.json +1 -1
  102. package/timeline/package.json +1 -1
  103. package/title/package.json +1 -1
  104. package/token/package.json +1 -1
  105. package/toolbar/package.json +1 -1
  106. package/tree/package.json +1 -1
  107. package/upload-collection/package.json +1 -1
  108. package/utils/package.json +1 -1
  109. package/vertical-navigation/package.json +1 -1
  110. package/wizard/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/action-bar",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/action-sheet",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/alert",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/avatar",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/avatar-group",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
package/bar/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/bar",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/breadcrumb",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/busy-indicator",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/button",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/calendar",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
package/card/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/card",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/carousel",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/checkbox",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/combobox",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/date-picker",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/datetime",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/datetime-picker",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/dialog",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/dynamic-page",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/dynamic-side-content",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -7,7 +7,7 @@ export function parseLayoutPattern(pattern, isBaseLayout = true) {
7
7
  }
8
8
  function validateAndParseLayoutPattern(pattern, isBaseLayout) {
9
9
  const columnsNames = 'XL|L|M|S';
10
- const columnNumbers = isBaseLayout ? '12|6|4|3|2|1' : '12|11|10|9|8|7|6||4|3|2|1';
10
+ const columnNumbers = isBaseLayout ? '12|6|4|3|2|1' : '12|11|10|9|8|7|6|5|4|3|2|1';
11
11
  const reg = new RegExp(`(?!-)((${columnsNames})(${columnNumbers}))`, 'gi');
12
12
  const match = pattern.match(reg);
13
13
  if (!match) {
@@ -40,4 +40,4 @@ function generateLayoutClasses({ xl, l, m, s }) {
40
40
  }
41
41
  return classes;
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtbGF5b3V0LXBhdHRlcm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9ncmlkLWxpc3QvaGVscGVycy9wYXJzZS1sYXlvdXQtcGF0dGVybi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBZSxFQUFFLFlBQVksR0FBRyxJQUFJO0lBQ25FLE1BQU0sV0FBVyxHQUFHLDZCQUE2QixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUV6RSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0tBQzdDO0lBRUQsT0FBTyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBUyw2QkFBNkIsQ0FBQyxPQUFlLEVBQUUsWUFBcUI7SUFDekUsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztJQUNsRixNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxVQUFVLFlBQVksS0FBSyxhQUFhLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDUixPQUFPO0tBQ1Y7SUFFRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDOUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6RCxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXJDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRztZQUNSLE9BQU8sRUFBRSxJQUFJO1lBQ2IsSUFBSTtZQUNKLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUc7U0FDdkMsQ0FBQztRQUVGLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQWU7SUFDdkQsTUFBTSxPQUFPLEdBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVyQyxJQUFJLENBQUMsRUFBRTtRQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUN0QztJQUVELElBQUksQ0FBQyxFQUFFO1FBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsSUFBSSxDQUFDLEVBQUU7UUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDekM7SUFFRCxJQUFJLEVBQUUsRUFBRTtRQUNKLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUMxQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgUGFyc2VMYXlvdXQge1xuICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgICAgcGF0dGVybjogc3RyaW5nO1xuICAgICAgICB2YWx1ZTogbnVtYmVyO1xuICAgICAgICBzaXplOiBzdHJpbmc7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTGF5b3V0UGF0dGVybihwYXR0ZXJuOiBzdHJpbmcsIGlzQmFzZUxheW91dCA9IHRydWUpOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcGFyc2VMYXlvdXQgPSB2YWxpZGF0ZUFuZFBhcnNlTGF5b3V0UGF0dGVybihwYXR0ZXJuLCBpc0Jhc2VMYXlvdXQpO1xuXG4gICAgaWYgKCFwYXJzZUxheW91dCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbGF5b3V0UGF0dGVybi4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ2VuZXJhdGVMYXlvdXRDbGFzc2VzKHBhcnNlTGF5b3V0KTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVBbmRQYXJzZUxheW91dFBhdHRlcm4ocGF0dGVybjogc3RyaW5nLCBpc0Jhc2VMYXlvdXQ6IGJvb2xlYW4pOiBQYXJzZUxheW91dCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY29sdW1uc05hbWVzID0gJ1hMfEx8TXxTJztcbiAgICBjb25zdCBjb2x1bW5OdW1iZXJzID0gaXNCYXNlTGF5b3V0ID8gJzEyfDZ8NHwzfDJ8MScgOiAnMTJ8MTF8MTB8OXw4fDd8Nnx8NHwzfDJ8MSc7XG4gICAgY29uc3QgcmVnID0gbmV3IFJlZ0V4cChgKD8hLSkoKCR7Y29sdW1uc05hbWVzfSkoJHtjb2x1bW5OdW1iZXJzfSkpYCwgJ2dpJyk7XG4gICAgY29uc3QgbWF0Y2ggPSBwYXR0ZXJuLm1hdGNoKHJlZyk7XG4gICAgaWYgKCFtYXRjaCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoLnJlZHVjZSgocmVzLCBpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHNpemUgPSBpdGVtLnJlcGxhY2UocmVnLCAnJDInKS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBudW0gPSAraXRlbS5yZXBsYWNlKHJlZywgJyQzJyk7XG5cbiAgICAgICAgcmVzW3NpemVdID0ge1xuICAgICAgICAgICAgcGF0dGVybjogaXRlbSxcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICB2YWx1ZTogaXNCYXNlTGF5b3V0ID8gMTIgLyBudW0gOiBudW1cbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH0sIHt9KTtcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVMYXlvdXRDbGFzc2VzKHsgeGwsIGwsIG0sIHMgfTogUGFyc2VMYXlvdXQpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbJ2ZkLWNvbCddO1xuXG4gICAgaWYgKHMpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKGBmZC1jb2wtLSR7cy52YWx1ZX1gKTtcbiAgICB9XG5cbiAgICBpZiAobSkge1xuICAgICAgICBjbGFzc2VzLnB1c2goYGZkLWNvbC1tZC0tJHttLnZhbHVlfWApO1xuICAgIH1cblxuICAgIGlmIChsKSB7XG4gICAgICAgIGNsYXNzZXMucHVzaChgZmQtY29sLWxnLS0ke2wudmFsdWV9YCk7XG4gICAgfVxuXG4gICAgaWYgKHhsKSB7XG4gICAgICAgIGNsYXNzZXMucHVzaChgZmQtY29sLXhsLS0ke3hsLnZhbHVlfWApO1xuICAgIH1cblxuICAgIHJldHVybiBjbGFzc2VzO1xufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtbGF5b3V0LXBhdHRlcm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9ncmlkLWxpc3QvaGVscGVycy9wYXJzZS1sYXlvdXQtcGF0dGVybi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBZSxFQUFFLFlBQVksR0FBRyxJQUFJO0lBQ25FLE1BQU0sV0FBVyxHQUFHLDZCQUE2QixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUV6RSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0tBQzdDO0lBRUQsT0FBTyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBUyw2QkFBNkIsQ0FBQyxPQUFlLEVBQUUsWUFBcUI7SUFDekUsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQztJQUNuRixNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxVQUFVLFlBQVksS0FBSyxhQUFhLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDUixPQUFPO0tBQ1Y7SUFFRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDOUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6RCxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXJDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRztZQUNSLE9BQU8sRUFBRSxJQUFJO1lBQ2IsSUFBSTtZQUNKLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUc7U0FDdkMsQ0FBQztRQUVGLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQWU7SUFDdkQsTUFBTSxPQUFPLEdBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVyQyxJQUFJLENBQUMsRUFBRTtRQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUN0QztJQUVELElBQUksQ0FBQyxFQUFFO1FBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsSUFBSSxDQUFDLEVBQUU7UUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDekM7SUFFRCxJQUFJLEVBQUUsRUFBRTtRQUNKLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUMxQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgUGFyc2VMYXlvdXQge1xuICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgICAgcGF0dGVybjogc3RyaW5nO1xuICAgICAgICB2YWx1ZTogbnVtYmVyO1xuICAgICAgICBzaXplOiBzdHJpbmc7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTGF5b3V0UGF0dGVybihwYXR0ZXJuOiBzdHJpbmcsIGlzQmFzZUxheW91dCA9IHRydWUpOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcGFyc2VMYXlvdXQgPSB2YWxpZGF0ZUFuZFBhcnNlTGF5b3V0UGF0dGVybihwYXR0ZXJuLCBpc0Jhc2VMYXlvdXQpO1xuXG4gICAgaWYgKCFwYXJzZUxheW91dCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbGF5b3V0UGF0dGVybi4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ2VuZXJhdGVMYXlvdXRDbGFzc2VzKHBhcnNlTGF5b3V0KTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVBbmRQYXJzZUxheW91dFBhdHRlcm4ocGF0dGVybjogc3RyaW5nLCBpc0Jhc2VMYXlvdXQ6IGJvb2xlYW4pOiBQYXJzZUxheW91dCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY29sdW1uc05hbWVzID0gJ1hMfEx8TXxTJztcbiAgICBjb25zdCBjb2x1bW5OdW1iZXJzID0gaXNCYXNlTGF5b3V0ID8gJzEyfDZ8NHwzfDJ8MScgOiAnMTJ8MTF8MTB8OXw4fDd8Nnw1fDR8M3wyfDEnO1xuICAgIGNvbnN0IHJlZyA9IG5ldyBSZWdFeHAoYCg/IS0pKCgke2NvbHVtbnNOYW1lc30pKCR7Y29sdW1uTnVtYmVyc30pKWAsICdnaScpO1xuICAgIGNvbnN0IG1hdGNoID0gcGF0dGVybi5tYXRjaChyZWcpO1xuICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiBtYXRjaC5yZWR1Y2UoKHJlcywgaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBzaXplID0gaXRlbS5yZXBsYWNlKHJlZywgJyQyJykudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgbnVtID0gK2l0ZW0ucmVwbGFjZShyZWcsICckMycpO1xuXG4gICAgICAgIHJlc1tzaXplXSA9IHtcbiAgICAgICAgICAgIHBhdHRlcm46IGl0ZW0sXG4gICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgdmFsdWU6IGlzQmFzZUxheW91dCA/IDEyIC8gbnVtIDogbnVtXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9LCB7fSk7XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlTGF5b3V0Q2xhc3Nlcyh7IHhsLCBsLCBtLCBzIH06IFBhcnNlTGF5b3V0KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNsYXNzZXM6IHN0cmluZ1tdID0gWydmZC1jb2wnXTtcblxuICAgIGlmIChzKSB7XG4gICAgICAgIGNsYXNzZXMucHVzaChgZmQtY29sLS0ke3MudmFsdWV9YCk7XG4gICAgfVxuXG4gICAgaWYgKG0pIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKGBmZC1jb2wtbWQtLSR7bS52YWx1ZX1gKTtcbiAgICB9XG5cbiAgICBpZiAobCkge1xuICAgICAgICBjbGFzc2VzLnB1c2goYGZkLWNvbC1sZy0tJHtsLnZhbHVlfWApO1xuICAgIH1cblxuICAgIGlmICh4bCkge1xuICAgICAgICBjbGFzc2VzLnB1c2goYGZkLWNvbC14bC0tJHt4bC52YWx1ZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3Nlcztcbn1cbiJdfQ==
@@ -114,11 +114,13 @@ export class MenuService {
114
114
  /** @hidden Removes given element and all its successors from the Active Node Path and setts as inactive*/
115
115
  _removeFromActivePath(menuItem) {
116
116
  const menuNode = this.menuMap.get(menuItem);
117
- const pathIndex = this.activeNodePath.findIndex((i) => i.item === menuNode.item);
118
- if (pathIndex !== -1) {
119
- this.activeNodePath
120
- .splice(pathIndex)
121
- .forEach((removedActiveNode) => removedActiveNode.item.setSelected(false));
117
+ if (menuNode) {
118
+ const pathIndex = this.activeNodePath.findIndex((i) => i.item === menuNode.item);
119
+ if (pathIndex !== -1) {
120
+ this.activeNodePath
121
+ .splice(pathIndex)
122
+ .forEach((removedActiveNode) => removedActiveNode.item.setSelected(false));
123
+ }
122
124
  }
123
125
  }
124
126
  /** @hidden Removes all elements from the Active Node Path and sets them as closed */
@@ -243,4 +245,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
243
245
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.RtlService, decorators: [{
244
246
  type: Optional
245
247
  }] }]; } });
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVudS9zZXJ2aWNlcy9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQVc1RyxNQUFNLE9BQU8sV0FBVztJQXdCcEIsWUFBb0IsU0FBb0IsRUFBK0IsV0FBdUI7UUFBMUUsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUErQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQWpCOUYsc0NBQXNDO1FBQ3RDLG1CQUFjLEdBQWUsRUFBRSxDQUFDO1FBRWhDLHNDQUFzQztRQUM5QixrQkFBYSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBYXlDLENBQUM7SUFMbEcsY0FBYztJQUNkLElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFJRCxrQ0FBa0M7SUFDbEMsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxtQ0FBbUM7SUFDbkMsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLElB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NUIsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEI7U0FDSjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7O3dHQXZSUSxXQUFXOzRHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsVUFBVTs7MEJBeUJvQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9tZW51LWl0ZW0vbWVudS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2V5VXRpbCwgUnRsU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERPV05fQVJST1csIEVOVEVSLCBFU0NBUEUsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBTUEFDRSwgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuXG5pbnRlcmZhY2UgTWVudU5vZGUge1xuICAgIGl0ZW06IE1lbnVJdGVtQ29tcG9uZW50O1xuICAgIHBhcmVudDogTWVudU5vZGU7XG4gICAgY2hpbGRyZW46IE1lbnVOb2RlW107XG59XG5cbnR5cGUgTWVudU1hcCA9IE1hcDxNZW51SXRlbUNvbXBvbmVudCwgTWVudU5vZGU+O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVudVNlcnZpY2Uge1xuICAgIC8qKiBNYXAgb2YgbWVudSBpdGVtcyB0byBtZW51IG5vZGVzICovXG4gICAgbWVudU1hcDogTWVudU1hcDtcblxuICAgIC8qKiBDdXJyZW50bHkgZm9jdXNlZCBub2RlICovXG4gICAgZm9jdXNlZE5vZGU6IE1lbnVOb2RlO1xuXG4gICAgLyoqIENvbGxlY3Rpb24gb2YgYWN0aXZlIG1lbnUgbm9kZXMgKi9cbiAgICBhY3RpdmVOb2RlUGF0aDogTWVudU5vZGVbXSA9IFtdO1xuXG4gICAgLyoqIENvbGxlY3Rpb24gb2YgYWN0aXZlIG1lbnUgbm9kZXMgKi9cbiAgICBwcml2YXRlIF9pc01vYmlsZU1vZGU6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9tZW51OiBNZW51Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXN0cm95S2V5Ym9hcmRIYW5kbGVyTGlzdGVuZXI6ICgpID0+IHZvaWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfaXNSdGwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ydGxTZXJ2aWNlPy5ydGwudmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMiwgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBfcnRsU2VydmljZTogUnRsU2VydmljZSkge31cblxuICAgIC8qKiBSZWZlcmVuY2UgdG8gbWVudSBjb21wb25lbnQgKi9cbiAgICBnZXQgbWVudSgpOiBNZW51Q29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21lbnU7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgbWVudSBtb2RlIG9ic2VydmFibGUgKi9cbiAgICBnZXQgaXNNb2JpbGVNb2RlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNNb2JpbGVNb2RlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgLyoqIFNldHMgbWVudSBtb2RlICovXG4gICAgc2V0TWVudU1vZGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNNb2JpbGVNb2RlLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBTZXRzIGdpdmVuIG1lbnUgaXRlbSBhcyBmb2N1c2VkICovXG4gICAgc2V0Rm9jdXNlZChtZW51SXRlbTogTWVudUl0ZW1Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkTm9kZSA9IHRoaXMubWVudU1hcC5nZXQobWVudUl0ZW0pO1xuICAgICAgICB0aGlzLmZvY3VzZWROb2RlLml0ZW0uZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHN0YXRlIG9mIGEgZ2l2ZW4gbWVudSBpdGVtXG4gICAgICogQHBhcmFtIGlzQWN0aXZlIC0gV2hldGhlciBzaG91bGQgYmUgc2V0IGFzIGFjdGl2ZSBvciBpbmFjdGl2ZVxuICAgICAqIEBwYXJhbSBtZW51SXRlbSBgTWVudUl0ZW1Db21wb25lbnRgIHRoYXQgc2hvdWxkIGJlIHNldCBhcyBhY3RpdmUgb3IgaW5hY3RpdmVcbiAgICAgKi9cbiAgICBzZXRBY3RpdmUoaXNBY3RpdmU6IGJvb2xlYW4sIG1lbnVJdGVtOiBNZW51SXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoaXNBY3RpdmUgJiYgbWVudUl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0FjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5fYWRkVG9BY3RpdmVQYXRoKG1lbnVJdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbW92ZUZyb21BY3RpdmVQYXRoKG1lbnVJdGVtKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbWl0QWN0aXZlUGF0aCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlIGFjdGl2ZSBzaWJsaW5nIHN1Ym1lbnUgaWYgYW55XG4gICAgICogQHBhcmFtIG1lbnVJdGVtIHRvIGxvb2sgZm9yIGFjdGl2ZSBzaWJsaW5nc1xuICAgICAqL1xuICAgIHNldEluYWN0aXZlU2libGluZ01lbnVJdGVtKG1lbnVJdGVtOiBNZW51SXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW1vdmVBY3RpdmVTaWJsaW5nKG1lbnVJdGVtKTtcbiAgICAgICAgdGhpcy5fZW1pdEFjdGl2ZVBhdGgoKTtcbiAgICB9XG5cbiAgICAvKiogSW5pdGlhbGl6ZXMgbWVudSBzZXJ2aWNlIGJhc2VkIG9uIGdpdmVuIE1lbnUgQ29tcG9uZW50ICovXG4gICAgc2V0TWVudVJvb3QobWVudTogTWVudUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tZW51ID0gbWVudTtcbiAgICAgICAgdGhpcy5tZW51TWFwID0gdGhpcy5fYnVpbGRNZW51TWFwKHRoaXMuX21lbnUpO1xuICAgIH1cblxuICAgIC8qKiBDbGVhcnMgQWN0aXZlIE5vZGUgUGF0aCBhbmQgcmVzZXRzIEZvY3VzZWQgTm9kZSAqL1xuICAgIHJlc2V0TWVudVN0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jbGVhckFjdGl2ZVBhdGgoKTtcbiAgICAgICAgdGhpcy5mb2N1c2VkTm9kZSA9IG51bGw7XG4gICAgICAgIHRoaXMuX2VtaXRBY3RpdmVQYXRoKCk7XG4gICAgfVxuXG4gICAgLyoqIC0gVXBkYXRlcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBtZW51XG4gICAgICogIC0gVmFsaWRhdGVzIEFjdGl2ZSBOb2RlIFBhdGhcbiAgICAgKiAgLSBWYWxpZGF0ZXMgRm9jdXNlZCBOb2RlICovXG4gICAgcmVidWlsZE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudU1hcCA9IHRoaXMuX2J1aWxkTWVudU1hcCh0aGlzLl9tZW51KTtcblxuICAgICAgICBjb25zdCBkZWFkTm9kZSA9IHRoaXMuYWN0aXZlTm9kZVBhdGguZmluZCgobm9kZSkgPT4gIXRoaXMubWVudU1hcC5oYXMobm9kZS5pdGVtKSk7XG4gICAgICAgIGlmIChkZWFkTm9kZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRBY3RpdmUoZmFsc2UsIGRlYWROb2RlLml0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW52YWxpZEZvY3VzZWRFbGVtZW50ID0gdGhpcy5mb2N1c2VkTm9kZSAmJiAhdGhpcy5tZW51TWFwLmdldCh0aGlzLmZvY3VzZWROb2RlLml0ZW0pO1xuICAgICAgICBpZiAoaW52YWxpZEZvY3VzZWRFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWROb2RlID1cbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZU5vZGVQYXRoW3RoaXMuYWN0aXZlTm9kZVBhdGgubGVuZ3RoIC0gMV0gfHwgdGhpcy5tZW51TWFwLmdldChudWxsKS5jaGlsZHJlblswXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBBZGRzIE1lbnUga2V5Ym9hcmQgc3VwcG9ydCAqL1xuICAgIGFkZEtleWJvYXJkU3VwcG9ydChlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlS2V5Ym9hcmRTdXBwb3J0KCk7XG4gICAgICAgIHRoaXMuX3NldEtleWJvYXJkU3VwcG9ydChlbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICAvKiogUmVtb3ZlcyBNZW51IGtleWJvYXJkIHN1cHBvcnQgKi9cbiAgICByZW1vdmVLZXlib2FyZFN1cHBvcnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9kZXN0cm95S2V5Ym9hcmRIYW5kbGVyTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rlc3Ryb3lLZXlib2FyZEhhbmRsZXJMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUtleWJvYXJkU3VwcG9ydCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIFJldHVybnMgc2libGluZ3Mgb2YgZ2l2ZW4gbm9kZSAqL1xuICAgIHByaXZhdGUgX25vZGVTaWJsaW5ncyhub2RlOiBNZW51Tm9kZSk6IE1lbnVOb2RlW10ge1xuICAgICAgICByZXR1cm4gbm9kZS5wYXJlbnQgPyBub2RlLnBhcmVudC5jaGlsZHJlbiA6IHRoaXMubWVudU1hcC5nZXQobnVsbCkuY2hpbGRyZW47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQWRkcyBnaXZlbiBlbGVtZW50IHRvIHRoZSBBY3RpdmUgTm9kZSBQYXRoIGFuZCBzZXR0cyBhcyBhY3RpdmUqL1xuICAgIHByaXZhdGUgX2FkZFRvQWN0aXZlUGF0aChtZW51SXRlbTogTWVudUl0ZW1Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWVudU5vZGUgPSB0aGlzLm1lbnVNYXAuZ2V0KG1lbnVJdGVtKTtcbiAgICAgICAgdGhpcy5fcmVtb3ZlQWN0aXZlU2libGluZyhtZW51SXRlbSk7XG4gICAgICAgIHRoaXMuYWN0aXZlTm9kZVBhdGgucHVzaChtZW51Tm9kZSk7XG4gICAgICAgIG1lbnVOb2RlLml0ZW0uc2V0U2VsZWN0ZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gUmVtb3ZlcyBnaXZlbiBlbGVtZW50IGFuZCBhbGwgaXRzIHN1Y2Nlc3NvcnMgZnJvbSB0aGUgQWN0aXZlIE5vZGUgUGF0aCBhbmQgc2V0dHMgYXMgaW5hY3RpdmUqL1xuICAgIHByaXZhdGUgX3JlbW92ZUZyb21BY3RpdmVQYXRoKG1lbnVJdGVtOiBNZW51SXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtZW51Tm9kZSA9IHRoaXMubWVudU1hcC5nZXQobWVudUl0ZW0pO1xuICAgICAgICBjb25zdCBwYXRoSW5kZXggPSB0aGlzLmFjdGl2ZU5vZGVQYXRoLmZpbmRJbmRleCgoaSkgPT4gaS5pdGVtID09PSBtZW51Tm9kZS5pdGVtKTtcblxuICAgICAgICBpZiAocGF0aEluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlUGF0aFxuICAgICAgICAgICAgICAgIC5zcGxpY2UocGF0aEluZGV4KVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChyZW1vdmVkQWN0aXZlTm9kZSkgPT4gcmVtb3ZlZEFjdGl2ZU5vZGUuaXRlbS5zZXRTZWxlY3RlZChmYWxzZSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gUmVtb3ZlcyBhbGwgZWxlbWVudHMgZnJvbSB0aGUgQWN0aXZlIE5vZGUgUGF0aCBhbmQgc2V0cyB0aGVtIGFzIGNsb3NlZCAqL1xuICAgIHByaXZhdGUgX2NsZWFyQWN0aXZlUGF0aCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlTm9kZVBhdGgubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVGcm9tQWN0aXZlUGF0aCh0aGlzLmFjdGl2ZU5vZGVQYXRoWzBdLml0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiAtIEJ1aWxkcyBNZW51IE5vZGVzIGJhc2VkIG9uIE1lbnUgSXRlbXNcbiAgICAgKiAtIENyZWF0ZXMgTWFwIG9mIHRoZSBNZW51IE5vZGVzICovXG4gICAgcHJpdmF0ZSBfYnVpbGRNZW51TWFwKG1lbnU6IE1lbnVDb21wb25lbnQpOiBNZW51TWFwIHtcbiAgICAgICAgZnVuY3Rpb24gYnVpbGROb2RlKG1lbnVJdGVtOiBNZW51SXRlbUNvbXBvbmVudCk6IE1lbnVOb2RlIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaXRlbTogbWVudUl0ZW0sXG4gICAgICAgICAgICAgICAgcGFyZW50OiBudWxsLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBtZW51SXRlbS5zdWJtZW51XG4gICAgICAgICAgICAgICAgICAgID8gbWVudUl0ZW0uc3VibWVudS5tZW51SXRlbXMudG9BcnJheSgpLm1hcCgoc3ViTWVudUl0ZW0pID0+IGJ1aWxkTm9kZShzdWJNZW51SXRlbSkpXG4gICAgICAgICAgICAgICAgICAgIDogW11cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiBzZXRQYXJlbnRzKG5vZGU6IE1lbnVOb2RlLCBwYXJlbnQ6IE1lbnVOb2RlKTogdm9pZCB7XG4gICAgICAgICAgICBub2RlLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgICAgIG5vZGUuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGROb2RlKSA9PiBzZXRQYXJlbnRzKGNoaWxkTm9kZSwgbm9kZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZnVuY3Rpb24gdG9NYXAobm9kZTogTWVudU5vZGUsIG1hcCA9IG5ldyBNYXAoKSBhcyBNZW51TWFwKTogTWVudU1hcCB7XG4gICAgICAgICAgICBtYXAuc2V0KG5vZGUuaXRlbSwgbm9kZSk7XG4gICAgICAgICAgICBub2RlLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkTm9kZSkgPT4gdG9NYXAoY2hpbGROb2RlLCBtYXApKTtcbiAgICAgICAgICAgIHJldHVybiBtYXA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtZW51VHJlZTogTWVudU5vZGUgPSB7XG4gICAgICAgICAgICBpdGVtOiBudWxsLFxuICAgICAgICAgICAgcGFyZW50OiBudWxsLFxuICAgICAgICAgICAgY2hpbGRyZW46IG1lbnUubWVudUl0ZW1zLnRvQXJyYXkoKS5tYXAoKGl0ZW0pID0+IGJ1aWxkTm9kZShpdGVtKSlcbiAgICAgICAgfTtcblxuICAgICAgICBzZXRQYXJlbnRzKG1lbnVUcmVlLCBudWxsKTtcblxuICAgICAgICByZXR1cm4gdG9NYXAobWVudVRyZWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIFJlbW92ZXMgYWN0aXZlIHNpYmxpbmcgb2YgYSBnaXZlbiBtZW51IGl0ZW0gZnJvbSB0aGUgQWN0aXZlIFBhdGggKi9cbiAgICBwcml2YXRlIF9yZW1vdmVBY3RpdmVTaWJsaW5nKG1lbnVJdGVtOiBNZW51SXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtZW51Tm9kZSA9IHRoaXMubWVudU1hcC5nZXQobWVudUl0ZW0pO1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IG1lbnVOb2RlLnBhcmVudC5jaGlsZHJlbi5tYXAoKGkpID0+IGkuaXRlbSk7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVNpYmxpbmcgPSB0aGlzLmFjdGl2ZU5vZGVQYXRoLmZpbmQoKGkpID0+IGNoaWxkcmVuLmluY2x1ZGVzKGkuaXRlbSkpO1xuICAgICAgICBjb25zdCBhY3RpdmVQYXJlbnRJbmRleCA9IHRoaXMuYWN0aXZlTm9kZVBhdGguaW5kZXhPZihtZW51Tm9kZS5wYXJlbnQpO1xuXG4gICAgICAgIGlmIChhY3RpdmVTaWJsaW5nKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVGcm9tQWN0aXZlUGF0aChhY3RpdmVQYXJlbnRJbmRleCAhPT0gLTEgPyBhY3RpdmVTaWJsaW5nLml0ZW0gOiB0aGlzLmFjdGl2ZU5vZGVQYXRoWzBdLml0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQWRkcyBrZXlib2FyZCBzdXBwb3J0ICovXG4gICAgcHJpdmF0ZSBfc2V0S2V5Ym9hcmRTdXBwb3J0KGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveUtleWJvYXJkSGFuZGxlckxpc3RlbmVyID0gdGhpcy5fcmVuZGVyZXIubGlzdGVuKFxuICAgICAgICAgICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9oYW5kbGVLZXkoZXZlbnQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGFuZGxlS2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvY3VzUmlnaHQgPSAobm9kZSk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldEZvY3VzZWQobm9kZS5jaGlsZHJlblswXS5pdGVtKSk7XG4gICAgICAgIH07XG4gICAgICAgIGxldCBtYXRjaGVkID0gdHJ1ZTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFJJR0hUX0FSUk9XKSAmJiAhdGhpcy5faXNSdGwpIHx8XG4gICAgICAgICAgICAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIExFRlRfQVJST1cpICYmIHRoaXMuX2lzUnRsKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvY3VzZWROb2RlLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0QWN0aXZlKHRydWUsIHRoaXMuZm9jdXNlZE5vZGUuaXRlbSk7XG4gICAgICAgICAgICAgICAgZm9jdXNSaWdodCh0aGlzLmZvY3VzZWROb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgTEVGVF9BUlJPVykgJiYgIXRoaXMuX2lzUnRsKSB8fFxuICAgICAgICAgICAgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBSSUdIVF9BUlJPVykgJiYgdGhpcy5faXNSdGwpXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZm9jdXNlZE5vZGUucGFyZW50Lml0ZW0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEFjdGl2ZShmYWxzZSwgdGhpcy5mb2N1c2VkTm9kZS5wYXJlbnQuaXRlbSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGb2N1c2VkKHRoaXMuZm9jdXNlZE5vZGUucGFyZW50Lml0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBET1dOX0FSUk9XKSkge1xuICAgICAgICAgICAgY29uc3QgY2xvc2VzdCA9IHRoaXMuX2Nsb3Nlc3RFbmFibGVkKHRoaXMuZm9jdXNlZE5vZGUsICdkb3duJyk7XG4gICAgICAgICAgICBpZiAoY2xvc2VzdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXNlZChjbG9zZXN0Lml0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBVUF9BUlJPVykpIHtcbiAgICAgICAgICAgIGNvbnN0IGNsb3Nlc3QgPSB0aGlzLl9jbG9zZXN0RW5hYmxlZCh0aGlzLmZvY3VzZWROb2RlLCAndXAnKTtcbiAgICAgICAgICAgIGlmIChjbG9zZXN0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGb2N1c2VkKGNsb3Nlc3QuaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtTUEFDRSwgRU5URVJdKSkge1xuICAgICAgICAgICAgY29uc3QgZm9jdXNlZE5vZGUgPSB0aGlzLmZvY3VzZWROb2RlO1xuICAgICAgICAgICAgdGhpcy5zZXRBY3RpdmUodHJ1ZSwgZm9jdXNlZE5vZGUuaXRlbSk7XG4gICAgICAgICAgICBmb2N1c2VkTm9kZS5pdGVtLmNsaWNrKCk7XG4gICAgICAgICAgICBpZiAoZm9jdXNlZE5vZGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgZm9jdXNSaWdodChmb2N1c2VkTm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIEVTQ0FQRSkgJiYgdGhpcy5tZW51LmNsb3NlT25Fc2NhcGVLZXkpIHtcbiAgICAgICAgICAgIHRoaXMubWVudS5jbG9zZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWF0Y2hlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1hdGNoZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBFbWl0cyBhbiBhcnJheSBvZiBhY3RpdmUgbWVudSBpdGVtcyAqL1xuICAgIHByaXZhdGUgX2VtaXRBY3RpdmVQYXRoKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lbnUuYWN0aXZlUGF0aC5lbWl0KHRoaXMuYWN0aXZlTm9kZVBhdGgubWFwKChub2RlKSA9PiBub2RlLml0ZW0pKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBEZXBlbmRpbmcgb24gZGlyZWN0aW9uIHJldHVybnMgY2xvc2VzdCBlbmFibGVkIHNpYmxpbmcgb2YgZ2l2ZW4gbm9kZSAqL1xuICAgIHByaXZhdGUgX2Nsb3Nlc3RFbmFibGVkKG5vZGU6IE1lbnVOb2RlLCBkaXJlY3Rpb246ICd1cCcgfCAnZG93bicpOiBNZW51Tm9kZSB8IG51bGwge1xuICAgICAgICBjb25zdCBzaWJsaW5ncyA9IGRpcmVjdGlvbiA9PT0gJ3VwJyA/IFsuLi50aGlzLl9ub2RlU2libGluZ3Mobm9kZSldLnJldmVyc2UoKSA6IHRoaXMuX25vZGVTaWJsaW5ncyhub2RlKTtcblxuICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gc2libGluZ3MuaW5kZXhPZihub2RlKSArIDE7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBzaWJsaW5ncy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKCFzaWJsaW5nc1tpXS5pdGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNpYmxpbmdzW2ldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIl19
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVudS9zZXJ2aWNlcy9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQVc1RyxNQUFNLE9BQU8sV0FBVztJQXdCcEIsWUFBb0IsU0FBb0IsRUFBK0IsV0FBdUI7UUFBMUUsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUErQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQWpCOUYsc0NBQXNDO1FBQ3RDLG1CQUFjLEdBQWUsRUFBRSxDQUFDO1FBRWhDLHNDQUFzQztRQUM5QixrQkFBYSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBYXlDLENBQUM7SUFMbEcsY0FBYztJQUNkLElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFJRCxrQ0FBa0M7SUFDbEMsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxtQ0FBbUM7SUFDbkMsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELHFCQUFxQjtJQUNyQixXQUFXLENBQUMsS0FBYztRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLFVBQVUsQ0FBQyxRQUEyQjtRQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLFFBQWlCLEVBQUUsUUFBMkI7UUFDcEQsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUMvQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCwwQkFBMEIsQ0FBQyxRQUEyQjtRQUNsRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsV0FBVyxDQUFDLElBQW1CO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxjQUFjO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7bUNBRStCO0lBQy9CLFdBQVc7UUFDUCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRixJQUFJLHFCQUFxQixFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXO2dCQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pHO0lBQ0wsQ0FBQztJQUVELGlDQUFpQztJQUNqQyxrQkFBa0IsQ0FBQyxVQUFzQjtRQUNyQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG9DQUFvQztJQUNwQyxxQkFBcUI7UUFDakIsSUFBSSxJQUFJLENBQUMsK0JBQStCLEVBQUU7WUFDdEMsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7U0FDMUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCw2Q0FBNkM7SUFDckMsYUFBYSxDQUFDLElBQWM7UUFDaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ2hGLENBQUM7SUFFRCw0RUFBNEU7SUFDcEUsZ0JBQWdCLENBQUMsUUFBMkI7UUFDaEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCwwR0FBMEc7SUFDbEcscUJBQXFCLENBQUMsUUFBMkI7UUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsSUFBSSxRQUFRLEVBQUU7WUFDVixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFakYsSUFBSSxTQUFTLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxjQUFjO3FCQUNkLE1BQU0sQ0FBQyxTQUFTLENBQUM7cUJBQ2pCLE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDbEY7U0FDSjtJQUNMLENBQUM7SUFFRCxxRkFBcUY7SUFDN0UsZ0JBQWdCO1FBQ3BCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDNUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQ7O3lDQUVxQztJQUM3QixhQUFhLENBQUMsSUFBbUI7UUFDckMsU0FBUyxTQUFTLENBQUMsUUFBMkI7WUFDMUMsT0FBTztnQkFDSCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxNQUFNLEVBQUUsSUFBSTtnQkFDWixRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU87b0JBQ3RCLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDbkYsQ0FBQyxDQUFDLEVBQUU7YUFDWCxDQUFDO1FBQ04sQ0FBQztRQUVELFNBQVMsVUFBVSxDQUFDLElBQWMsRUFBRSxNQUFnQjtZQUNoRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxTQUFTLEtBQUssQ0FBQyxJQUFjLEVBQUUsTUFBTSxJQUFJLEdBQUcsRUFBYTtZQUNyRCxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1RCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBYTtZQUN2QixJQUFJLEVBQUUsSUFBSTtZQUNWLE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEUsQ0FBQztRQUVGLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFM0IsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELCtFQUErRTtJQUN2RSxvQkFBb0IsQ0FBQyxRQUEyQjtRQUNwRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqRixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2RSxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMzRztJQUNMLENBQUM7SUFFRCxvQ0FBb0M7SUFDNUIsbUJBQW1CLENBQUMsVUFBc0I7UUFDOUMsSUFBSSxDQUFDLCtCQUErQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUN4RCxVQUFVLENBQUMsYUFBYSxFQUN4QixTQUFTLEVBQ1QsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUNuRCxDQUFDO0lBQ04sQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFvQjtRQUNuQyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksRUFBUSxFQUFFO1lBQzlCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUM7UUFDRixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFbkIsSUFDSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN2RCxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDdkQ7WUFDRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNoQztTQUNKO2FBQU0sSUFDSCxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN0RCxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDeEQ7WUFDRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDakQ7U0FDSjthQUFNLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQy9ELElBQUksT0FBTyxFQUFFO2dCQUNULElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2pDO1NBQ0o7YUFBTSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQzNDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM3RCxJQUFJLE9BQU8sRUFBRTtnQkFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNqQztTQUNKO2FBQU0sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2pELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekIsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDN0IsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzNCO1NBQ0o7YUFBTSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNyQjthQUFNO1lBQ0gsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUNuQjtRQUVELElBQUksT0FBTyxFQUFFO1lBQ1QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVELGtEQUFrRDtJQUMxQyxlQUFlO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELG1GQUFtRjtJQUMzRSxlQUFlLENBQUMsSUFBYyxFQUFFLFNBQXdCO1FBQzVELE1BQU0sUUFBUSxHQUFHLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekcsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFOUMsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM1QixPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN0QjtTQUNKO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7d0dBelJRLFdBQVc7NEdBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVOzswQkF5Qm9DLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBPcHRpb25hbCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLZXlVdGlsLCBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgRU5URVIsIEVTQ0FQRSwgTEVGVF9BUlJPVywgUklHSFRfQVJST1csIFNQQUNFLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5cbmludGVyZmFjZSBNZW51Tm9kZSB7XG4gICAgaXRlbTogTWVudUl0ZW1Db21wb25lbnQ7XG4gICAgcGFyZW50OiBNZW51Tm9kZTtcbiAgICBjaGlsZHJlbjogTWVudU5vZGVbXTtcbn1cblxudHlwZSBNZW51TWFwID0gTWFwPE1lbnVJdGVtQ29tcG9uZW50LCBNZW51Tm9kZT47XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZW51U2VydmljZSB7XG4gICAgLyoqIE1hcCBvZiBtZW51IGl0ZW1zIHRvIG1lbnUgbm9kZXMgKi9cbiAgICBtZW51TWFwOiBNZW51TWFwO1xuXG4gICAgLyoqIEN1cnJlbnRseSBmb2N1c2VkIG5vZGUgKi9cbiAgICBmb2N1c2VkTm9kZTogTWVudU5vZGU7XG5cbiAgICAvKiogQ29sbGVjdGlvbiBvZiBhY3RpdmUgbWVudSBub2RlcyAqL1xuICAgIGFjdGl2ZU5vZGVQYXRoOiBNZW51Tm9kZVtdID0gW107XG5cbiAgICAvKiogQ29sbGVjdGlvbiBvZiBhY3RpdmUgbWVudSBub2RlcyAqL1xuICAgIHByaXZhdGUgX2lzTW9iaWxlTW9kZTogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX21lbnU6IE1lbnVDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rlc3Ryb3lLZXlib2FyZEhhbmRsZXJMaXN0ZW5lcjogKCkgPT4gdm9pZDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9pc1J0bCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3J0bFNlcnZpY2U/LnJ0bC52YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLCBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlKSB7fVxuXG4gICAgLyoqIFJlZmVyZW5jZSB0byBtZW51IGNvbXBvbmVudCAqL1xuICAgIGdldCBtZW51KCk6IE1lbnVDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWVudTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBtZW51IG1vZGUgb2JzZXJ2YWJsZSAqL1xuICAgIGdldCBpc01vYmlsZU1vZGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc01vYmlsZU1vZGUuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICAvKiogU2V0cyBtZW51IG1vZGUgKi9cbiAgICBzZXRNZW51TW9kZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pc01vYmlsZU1vZGUubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIFNldHMgZ2l2ZW4gbWVudSBpdGVtIGFzIGZvY3VzZWQgKi9cbiAgICBzZXRGb2N1c2VkKG1lbnVJdGVtOiBNZW51SXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzZWROb2RlID0gdGhpcy5tZW51TWFwLmdldChtZW51SXRlbSk7XG4gICAgICAgIHRoaXMuZm9jdXNlZE5vZGUuaXRlbS5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgc3RhdGUgb2YgYSBnaXZlbiBtZW51IGl0ZW1cbiAgICAgKiBAcGFyYW0gaXNBY3RpdmUgLSBXaGV0aGVyIHNob3VsZCBiZSBzZXQgYXMgYWN0aXZlIG9yIGluYWN0aXZlXG4gICAgICogQHBhcmFtIG1lbnVJdGVtIGBNZW51SXRlbUNvbXBvbmVudGAgdGhhdCBzaG91bGQgYmUgc2V0IGFzIGFjdGl2ZSBvciBpbmFjdGl2ZVxuICAgICAqL1xuICAgIHNldEFjdGl2ZShpc0FjdGl2ZTogYm9vbGVhbiwgbWVudUl0ZW06IE1lbnVJdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChpc0FjdGl2ZSAmJiBtZW51SXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzQWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLl9hZGRUb0FjdGl2ZVBhdGgobWVudUl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fcmVtb3ZlRnJvbUFjdGl2ZVBhdGgobWVudUl0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VtaXRBY3RpdmVQYXRoKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2UgYWN0aXZlIHNpYmxpbmcgc3VibWVudSBpZiBhbnlcbiAgICAgKiBAcGFyYW0gbWVudUl0ZW0gdG8gbG9vayBmb3IgYWN0aXZlIHNpYmxpbmdzXG4gICAgICovXG4gICAgc2V0SW5hY3RpdmVTaWJsaW5nTWVudUl0ZW0obWVudUl0ZW06IE1lbnVJdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JlbW92ZUFjdGl2ZVNpYmxpbmcobWVudUl0ZW0pO1xuICAgICAgICB0aGlzLl9lbWl0QWN0aXZlUGF0aCgpO1xuICAgIH1cblxuICAgIC8qKiBJbml0aWFsaXplcyBtZW51IHNlcnZpY2UgYmFzZWQgb24gZ2l2ZW4gTWVudSBDb21wb25lbnQgKi9cbiAgICBzZXRNZW51Um9vdChtZW51OiBNZW51Q29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX21lbnUgPSBtZW51O1xuICAgICAgICB0aGlzLm1lbnVNYXAgPSB0aGlzLl9idWlsZE1lbnVNYXAodGhpcy5fbWVudSk7XG4gICAgfVxuXG4gICAgLyoqIENsZWFycyBBY3RpdmUgTm9kZSBQYXRoIGFuZCByZXNldHMgRm9jdXNlZCBOb2RlICovXG4gICAgcmVzZXRNZW51U3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NsZWFyQWN0aXZlUGF0aCgpO1xuICAgICAgICB0aGlzLmZvY3VzZWROb2RlID0gbnVsbDtcbiAgICAgICAgdGhpcy5fZW1pdEFjdGl2ZVBhdGgoKTtcbiAgICB9XG5cbiAgICAvKiogLSBVcGRhdGVzIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIG1lbnVcbiAgICAgKiAgLSBWYWxpZGF0ZXMgQWN0aXZlIE5vZGUgUGF0aFxuICAgICAqICAtIFZhbGlkYXRlcyBGb2N1c2VkIE5vZGUgKi9cbiAgICByZWJ1aWxkTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51TWFwID0gdGhpcy5fYnVpbGRNZW51TWFwKHRoaXMuX21lbnUpO1xuXG4gICAgICAgIGNvbnN0IGRlYWROb2RlID0gdGhpcy5hY3RpdmVOb2RlUGF0aC5maW5kKChub2RlKSA9PiAhdGhpcy5tZW51TWFwLmhhcyhub2RlLml0ZW0pKTtcbiAgICAgICAgaWYgKGRlYWROb2RlKSB7XG4gICAgICAgICAgICB0aGlzLnNldEFjdGl2ZShmYWxzZSwgZGVhZE5vZGUuaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbnZhbGlkRm9jdXNlZEVsZW1lbnQgPSB0aGlzLmZvY3VzZWROb2RlICYmICF0aGlzLm1lbnVNYXAuZ2V0KHRoaXMuZm9jdXNlZE5vZGUuaXRlbSk7XG4gICAgICAgIGlmIChpbnZhbGlkRm9jdXNlZEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZE5vZGUgPVxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlTm9kZVBhdGhbdGhpcy5hY3RpdmVOb2RlUGF0aC5sZW5ndGggLSAxXSB8fCB0aGlzLm1lbnVNYXAuZ2V0KG51bGwpLmNoaWxkcmVuWzBdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEFkZHMgTWVudSBrZXlib2FyZCBzdXBwb3J0ICovXG4gICAgYWRkS2V5Ym9hcmRTdXBwb3J0KGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVLZXlib2FyZFN1cHBvcnQoKTtcbiAgICAgICAgdGhpcy5fc2V0S2V5Ym9hcmRTdXBwb3J0KGVsZW1lbnRSZWYpO1xuICAgIH1cblxuICAgIC8qKiBSZW1vdmVzIE1lbnUga2V5Ym9hcmQgc3VwcG9ydCAqL1xuICAgIHJlbW92ZUtleWJvYXJkU3VwcG9ydCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2Rlc3Ryb3lLZXlib2FyZEhhbmRsZXJMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5fZGVzdHJveUtleWJvYXJkSGFuZGxlckxpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlS2V5Ym9hcmRTdXBwb3J0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gUmV0dXJucyBzaWJsaW5ncyBvZiBnaXZlbiBub2RlICovXG4gICAgcHJpdmF0ZSBfbm9kZVNpYmxpbmdzKG5vZGU6IE1lbnVOb2RlKTogTWVudU5vZGVbXSB7XG4gICAgICAgIHJldHVybiBub2RlLnBhcmVudCA/IG5vZGUucGFyZW50LmNoaWxkcmVuIDogdGhpcy5tZW51TWFwLmdldChudWxsKS5jaGlsZHJlbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBBZGRzIGdpdmVuIGVsZW1lbnQgdG8gdGhlIEFjdGl2ZSBOb2RlIFBhdGggYW5kIHNldHRzIGFzIGFjdGl2ZSovXG4gICAgcHJpdmF0ZSBfYWRkVG9BY3RpdmVQYXRoKG1lbnVJdGVtOiBNZW51SXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtZW51Tm9kZSA9IHRoaXMubWVudU1hcC5nZXQobWVudUl0ZW0pO1xuICAgICAgICB0aGlzLl9yZW1vdmVBY3RpdmVTaWJsaW5nKG1lbnVJdGVtKTtcbiAgICAgICAgdGhpcy5hY3RpdmVOb2RlUGF0aC5wdXNoKG1lbnVOb2RlKTtcbiAgICAgICAgbWVudU5vZGUuaXRlbS5zZXRTZWxlY3RlZCh0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBSZW1vdmVzIGdpdmVuIGVsZW1lbnQgYW5kIGFsbCBpdHMgc3VjY2Vzc29ycyBmcm9tIHRoZSBBY3RpdmUgTm9kZSBQYXRoIGFuZCBzZXR0cyBhcyBpbmFjdGl2ZSovXG4gICAgcHJpdmF0ZSBfcmVtb3ZlRnJvbUFjdGl2ZVBhdGgobWVudUl0ZW06IE1lbnVJdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1lbnVOb2RlID0gdGhpcy5tZW51TWFwLmdldChtZW51SXRlbSk7XG4gICAgICAgIGlmIChtZW51Tm9kZSkge1xuICAgICAgICAgICAgY29uc3QgcGF0aEluZGV4ID0gdGhpcy5hY3RpdmVOb2RlUGF0aC5maW5kSW5kZXgoKGkpID0+IGkuaXRlbSA9PT0gbWVudU5vZGUuaXRlbSk7XG5cbiAgICAgICAgICAgIGlmIChwYXRoSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVOb2RlUGF0aFxuICAgICAgICAgICAgICAgICAgICAuc3BsaWNlKHBhdGhJbmRleClcbiAgICAgICAgICAgICAgICAgICAgLmZvckVhY2goKHJlbW92ZWRBY3RpdmVOb2RlKSA9PiByZW1vdmVkQWN0aXZlTm9kZS5pdGVtLnNldFNlbGVjdGVkKGZhbHNlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBSZW1vdmVzIGFsbCBlbGVtZW50cyBmcm9tIHRoZSBBY3RpdmUgTm9kZSBQYXRoIGFuZCBzZXRzIHRoZW0gYXMgY2xvc2VkICovXG4gICAgcHJpdmF0ZSBfY2xlYXJBY3RpdmVQYXRoKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVOb2RlUGF0aC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbW92ZUZyb21BY3RpdmVQYXRoKHRoaXMuYWN0aXZlTm9kZVBhdGhbMF0uaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIC0gQnVpbGRzIE1lbnUgTm9kZXMgYmFzZWQgb24gTWVudSBJdGVtc1xuICAgICAqIC0gQ3JlYXRlcyBNYXAgb2YgdGhlIE1lbnUgTm9kZXMgKi9cbiAgICBwcml2YXRlIF9idWlsZE1lbnVNYXAobWVudTogTWVudUNvbXBvbmVudCk6IE1lbnVNYXAge1xuICAgICAgICBmdW5jdGlvbiBidWlsZE5vZGUobWVudUl0ZW06IE1lbnVJdGVtQ29tcG9uZW50KTogTWVudU5vZGUge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpdGVtOiBtZW51SXRlbSxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IG1lbnVJdGVtLnN1Ym1lbnVcbiAgICAgICAgICAgICAgICAgICAgPyBtZW51SXRlbS5zdWJtZW51Lm1lbnVJdGVtcy50b0FycmF5KCkubWFwKChzdWJNZW51SXRlbSkgPT4gYnVpbGROb2RlKHN1Yk1lbnVJdGVtKSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHNldFBhcmVudHMobm9kZTogTWVudU5vZGUsIHBhcmVudDogTWVudU5vZGUpOiB2b2lkIHtcbiAgICAgICAgICAgIG5vZGUucGFyZW50ID0gcGFyZW50O1xuICAgICAgICAgICAgbm9kZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZE5vZGUpID0+IHNldFBhcmVudHMoY2hpbGROb2RlLCBub2RlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiB0b01hcChub2RlOiBNZW51Tm9kZSwgbWFwID0gbmV3IE1hcCgpIGFzIE1lbnVNYXApOiBNZW51TWFwIHtcbiAgICAgICAgICAgIG1hcC5zZXQobm9kZS5pdGVtLCBub2RlKTtcbiAgICAgICAgICAgIG5vZGUuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB0b01hcChjaGlsZE5vZGUsIG1hcCkpO1xuICAgICAgICAgICAgcmV0dXJuIG1hcDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1lbnVUcmVlOiBNZW51Tm9kZSA9IHtcbiAgICAgICAgICAgIGl0ZW06IG51bGwsXG4gICAgICAgICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICAgICAgICBjaGlsZHJlbjogbWVudS5tZW51SXRlbXMudG9BcnJheSgpLm1hcCgoaXRlbSkgPT4gYnVpbGROb2RlKGl0ZW0pKVxuICAgICAgICB9O1xuXG4gICAgICAgIHNldFBhcmVudHMobWVudVRyZWUsIG51bGwpO1xuXG4gICAgICAgIHJldHVybiB0b01hcChtZW51VHJlZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gUmVtb3ZlcyBhY3RpdmUgc2libGluZyBvZiBhIGdpdmVuIG1lbnUgaXRlbSBmcm9tIHRoZSBBY3RpdmUgUGF0aCAqL1xuICAgIHByaXZhdGUgX3JlbW92ZUFjdGl2ZVNpYmxpbmcobWVudUl0ZW06IE1lbnVJdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1lbnVOb2RlID0gdGhpcy5tZW51TWFwLmdldChtZW51SXRlbSk7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gbWVudU5vZGUucGFyZW50LmNoaWxkcmVuLm1hcCgoaSkgPT4gaS5pdGVtKTtcbiAgICAgICAgY29uc3QgYWN0aXZlU2libGluZyA9IHRoaXMuYWN0aXZlTm9kZVBhdGguZmluZCgoaSkgPT4gY2hpbGRyZW4uaW5jbHVkZXMoaS5pdGVtKSk7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVBhcmVudEluZGV4ID0gdGhpcy5hY3RpdmVOb2RlUGF0aC5pbmRleE9mKG1lbnVOb2RlLnBhcmVudCk7XG5cbiAgICAgICAgaWYgKGFjdGl2ZVNpYmxpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbW92ZUZyb21BY3RpdmVQYXRoKGFjdGl2ZVBhcmVudEluZGV4ICE9PSAtMSA/IGFjdGl2ZVNpYmxpbmcuaXRlbSA6IHRoaXMuYWN0aXZlTm9kZVBhdGhbMF0uaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBBZGRzIGtleWJvYXJkIHN1cHBvcnQgKi9cbiAgICBwcml2YXRlIF9zZXRLZXlib2FyZFN1cHBvcnQoZWxlbWVudFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95S2V5Ym9hcmRIYW5kbGVyTGlzdGVuZXIgPSB0aGlzLl9yZW5kZXJlci5saXN0ZW4oXG4gICAgICAgICAgICBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAna2V5ZG93bicsXG4gICAgICAgICAgICAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMuX2hhbmRsZUtleShldmVudClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9oYW5kbGVLZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm9jdXNSaWdodCA9IChub2RlKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0Rm9jdXNlZChub2RlLmNoaWxkcmVuWzBdLml0ZW0pKTtcbiAgICAgICAgfTtcbiAgICAgICAgbGV0IG1hdGNoZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgUklHSFRfQVJST1cpICYmICF0aGlzLl9pc1J0bCkgfHxcbiAgICAgICAgICAgIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgTEVGVF9BUlJPVykgJiYgdGhpcy5faXNSdGwpXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZm9jdXNlZE5vZGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBY3RpdmUodHJ1ZSwgdGhpcy5mb2N1c2VkTm9kZS5pdGVtKTtcbiAgICAgICAgICAgICAgICBmb2N1c1JpZ2h0KHRoaXMuZm9jdXNlZE5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBMRUZUX0FSUk9XKSAmJiAhdGhpcy5faXNSdGwpIHx8XG4gICAgICAgICAgICAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFJJR0hUX0FSUk9XKSAmJiB0aGlzLl9pc1J0bClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5mb2N1c2VkTm9kZS5wYXJlbnQuaXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0QWN0aXZlKGZhbHNlLCB0aGlzLmZvY3VzZWROb2RlLnBhcmVudC5pdGVtKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZvY3VzZWQodGhpcy5mb2N1c2VkTm9kZS5wYXJlbnQuaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIERPV05fQVJST1cpKSB7XG4gICAgICAgICAgICBjb25zdCBjbG9zZXN0ID0gdGhpcy5fY2xvc2VzdEVuYWJsZWQodGhpcy5mb2N1c2VkTm9kZSwgJ2Rvd24nKTtcbiAgICAgICAgICAgIGlmIChjbG9zZXN0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGb2N1c2VkKGNsb3Nlc3QuaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFVQX0FSUk9XKSkge1xuICAgICAgICAgICAgY29uc3QgY2xvc2VzdCA9IHRoaXMuX2Nsb3Nlc3RFbmFibGVkKHRoaXMuZm9jdXNlZE5vZGUsICd1cCcpO1xuICAgICAgICAgICAgaWYgKGNsb3Nlc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZvY3VzZWQoY2xvc2VzdC5pdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW1NQQUNFLCBFTlRFUl0pKSB7XG4gICAgICAgICAgICBjb25zdCBmb2N1c2VkTm9kZSA9IHRoaXMuZm9jdXNlZE5vZGU7XG4gICAgICAgICAgICB0aGlzLnNldEFjdGl2ZSh0cnVlLCBmb2N1c2VkTm9kZS5pdGVtKTtcbiAgICAgICAgICAgIGZvY3VzZWROb2RlLml0ZW0uY2xpY2soKTtcbiAgICAgICAgICAgIGlmIChmb2N1c2VkTm9kZS5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBmb2N1c1JpZ2h0KGZvY3VzZWROb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgRVNDQVBFKSAmJiB0aGlzLm1lbnUuY2xvc2VPbkVzY2FwZUtleSkge1xuICAgICAgICAgICAgdGhpcy5tZW51LmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtYXRjaGVkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWF0Y2hlZCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEVtaXRzIGFuIGFycmF5IG9mIGFjdGl2ZSBtZW51IGl0ZW1zICovXG4gICAgcHJpdmF0ZSBfZW1pdEFjdGl2ZVBhdGgoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudS5hY3RpdmVQYXRoLmVtaXQodGhpcy5hY3RpdmVOb2RlUGF0aC5tYXAoKG5vZGUpID0+IG5vZGUuaXRlbSkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIERlcGVuZGluZyBvbiBkaXJlY3Rpb24gcmV0dXJucyBjbG9zZXN0IGVuYWJsZWQgc2libGluZyBvZiBnaXZlbiBub2RlICovXG4gICAgcHJpdmF0ZSBfY2xvc2VzdEVuYWJsZWQobm9kZTogTWVudU5vZGUsIGRpcmVjdGlvbjogJ3VwJyB8ICdkb3duJyk6IE1lbnVOb2RlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHNpYmxpbmdzID0gZGlyZWN0aW9uID09PSAndXAnID8gWy4uLnRoaXMuX25vZGVTaWJsaW5ncyhub2RlKV0ucmV2ZXJzZSgpIDogdGhpcy5fbm9kZVNpYmxpbmdzKG5vZGUpO1xuXG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBzaWJsaW5ncy5pbmRleE9mKG5vZGUpICsgMTtcblxuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnRJbmRleDsgaSA8IHNpYmxpbmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoIXNpYmxpbmdzW2ldLml0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2libGluZ3NbaV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/facets",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/feed-input",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/feed-list-item",
3
- "version": "0.34.3-rc.11",
3
+ "version": "0.34.3-rc.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.0.0",
6
6
  "@angular/core": "^13.0.0"
@@ -23,7 +23,7 @@ function parseLayoutPattern(pattern, isBaseLayout = true) {
23
23
  }
24
24
  function validateAndParseLayoutPattern(pattern, isBaseLayout) {
25
25
  const columnsNames = 'XL|L|M|S';
26
- const columnNumbers = isBaseLayout ? '12|6|4|3|2|1' : '12|11|10|9|8|7|6||4|3|2|1';
26
+ const columnNumbers = isBaseLayout ? '12|6|4|3|2|1' : '12|11|10|9|8|7|6|5|4|3|2|1';
27
27
  const reg = new RegExp(`(?!-)((${columnsNames})(${columnNumbers}))`, 'gi');
28
28
  const match = pattern.match(reg);
29
29
  if (!match) {