@shopify/flash-list 2.0.4-alpha.1 → 2.2.0

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 (203) hide show
  1. package/dist/AnimatedFlashList.js +4 -6
  2. package/dist/AnimatedFlashList.js.map +1 -1
  3. package/dist/FlashList.js +1 -5
  4. package/dist/FlashList.js.map +1 -1
  5. package/dist/FlashListProps.d.ts +41 -1
  6. package/dist/FlashListProps.d.ts.map +1 -1
  7. package/dist/FlashListProps.js +1 -4
  8. package/dist/FlashListProps.js.map +1 -1
  9. package/dist/FlashListRef.js +1 -2
  10. package/dist/benchmark/AutoScrollHelper.js +22 -30
  11. package/dist/benchmark/AutoScrollHelper.js.map +1 -1
  12. package/dist/benchmark/JSFPSMonitor.js +27 -33
  13. package/dist/benchmark/JSFPSMonitor.js.map +1 -1
  14. package/dist/benchmark/roundToDecimalPlaces.js +2 -5
  15. package/dist/benchmark/roundToDecimalPlaces.js.map +1 -1
  16. package/dist/benchmark/useBenchmark.d.ts +9 -1
  17. package/dist/benchmark/useBenchmark.d.ts.map +1 -1
  18. package/dist/benchmark/useBenchmark.js +86 -95
  19. package/dist/benchmark/useBenchmark.js.map +1 -1
  20. package/dist/benchmark/useDataMultiplier.js +6 -10
  21. package/dist/benchmark/useDataMultiplier.js.map +1 -1
  22. package/dist/benchmark/useFlatListBenchmark.d.ts +4 -1
  23. package/dist/benchmark/useFlatListBenchmark.d.ts.map +1 -1
  24. package/dist/benchmark/useFlatListBenchmark.js +73 -81
  25. package/dist/benchmark/useFlatListBenchmark.js.map +1 -1
  26. package/dist/errors/ErrorMessages.js +1 -4
  27. package/dist/errors/ErrorMessages.js.map +1 -1
  28. package/dist/errors/WarningMessages.js +1 -4
  29. package/dist/errors/WarningMessages.js.map +1 -1
  30. package/dist/index.js +17 -35
  31. package/dist/index.js.map +1 -1
  32. package/dist/isNewArch.js +6 -9
  33. package/dist/isNewArch.js.map +1 -1
  34. package/dist/native/config/PlatformHelper.android.js +2 -5
  35. package/dist/native/config/PlatformHelper.android.js.map +1 -1
  36. package/dist/native/config/PlatformHelper.ios.js +2 -5
  37. package/dist/native/config/PlatformHelper.ios.js.map +1 -1
  38. package/dist/native/config/PlatformHelper.js +2 -5
  39. package/dist/native/config/PlatformHelper.js.map +1 -1
  40. package/dist/native/config/PlatformHelper.web.js +2 -5
  41. package/dist/native/config/PlatformHelper.web.js.map +1 -1
  42. package/dist/recyclerview/LayoutCommitObserver.js +20 -24
  43. package/dist/recyclerview/LayoutCommitObserver.js.map +1 -1
  44. package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
  45. package/dist/recyclerview/RecyclerView.js +134 -111
  46. package/dist/recyclerview/RecyclerView.js.map +1 -1
  47. package/dist/recyclerview/RecyclerViewContextProvider.js +7 -12
  48. package/dist/recyclerview/RecyclerViewContextProvider.js.map +1 -1
  49. package/dist/recyclerview/RecyclerViewManager.js +138 -167
  50. package/dist/recyclerview/RecyclerViewManager.js.map +1 -1
  51. package/dist/recyclerview/RecyclerViewProps.js +1 -2
  52. package/dist/recyclerview/RenderStackManager.js +97 -188
  53. package/dist/recyclerview/RenderStackManager.js.map +1 -1
  54. package/dist/recyclerview/ViewHolder.d.ts +2 -0
  55. package/dist/recyclerview/ViewHolder.d.ts.map +1 -1
  56. package/dist/recyclerview/ViewHolder.js +19 -21
  57. package/dist/recyclerview/ViewHolder.js.map +1 -1
  58. package/dist/recyclerview/ViewHolderCollection.d.ts +4 -0
  59. package/dist/recyclerview/ViewHolderCollection.d.ts.map +1 -1
  60. package/dist/recyclerview/ViewHolderCollection.js +26 -30
  61. package/dist/recyclerview/ViewHolderCollection.js.map +1 -1
  62. package/dist/recyclerview/components/CompatScroller.js +6 -7
  63. package/dist/recyclerview/components/CompatScroller.js.map +1 -1
  64. package/dist/recyclerview/components/CompatView.js +6 -7
  65. package/dist/recyclerview/components/CompatView.js.map +1 -1
  66. package/dist/recyclerview/components/ScrollAnchor.js +10 -15
  67. package/dist/recyclerview/components/ScrollAnchor.js.map +1 -1
  68. package/dist/recyclerview/components/StickyHeaders.d.ts +5 -1
  69. package/dist/recyclerview/components/StickyHeaders.d.ts.map +1 -1
  70. package/dist/recyclerview/components/StickyHeaders.js +77 -51
  71. package/dist/recyclerview/components/StickyHeaders.js.map +1 -1
  72. package/dist/recyclerview/helpers/ConsecutiveNumbers.js +39 -66
  73. package/dist/recyclerview/helpers/ConsecutiveNumbers.js.map +1 -1
  74. package/dist/recyclerview/helpers/EngagedIndicesTracker.js +57 -63
  75. package/dist/recyclerview/helpers/EngagedIndicesTracker.js.map +1 -1
  76. package/dist/recyclerview/helpers/RenderTimeTracker.js +19 -24
  77. package/dist/recyclerview/helpers/RenderTimeTracker.js.map +1 -1
  78. package/dist/recyclerview/helpers/VelocityTracker.js +16 -22
  79. package/dist/recyclerview/helpers/VelocityTracker.js.map +1 -1
  80. package/dist/recyclerview/hooks/useBoundDetection.js +37 -40
  81. package/dist/recyclerview/hooks/useBoundDetection.js.map +1 -1
  82. package/dist/recyclerview/hooks/useLayoutState.js +9 -15
  83. package/dist/recyclerview/hooks/useLayoutState.js.map +1 -1
  84. package/dist/recyclerview/hooks/useMappingHelper.js +6 -10
  85. package/dist/recyclerview/hooks/useMappingHelper.js.map +1 -1
  86. package/dist/recyclerview/hooks/useOnLoad.js +16 -22
  87. package/dist/recyclerview/hooks/useOnLoad.js.map +1 -1
  88. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
  89. package/dist/recyclerview/hooks/useRecyclerViewController.js +169 -188
  90. package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
  91. package/dist/recyclerview/hooks/useRecyclerViewManager.js +12 -17
  92. package/dist/recyclerview/hooks/useRecyclerViewManager.js.map +1 -1
  93. package/dist/recyclerview/hooks/useRecyclingState.js +10 -14
  94. package/dist/recyclerview/hooks/useRecyclingState.js.map +1 -1
  95. package/dist/recyclerview/hooks/useSecondaryProps.d.ts +2 -0
  96. package/dist/recyclerview/hooks/useSecondaryProps.d.ts.map +1 -1
  97. package/dist/recyclerview/hooks/useSecondaryProps.js +39 -30
  98. package/dist/recyclerview/hooks/useSecondaryProps.js.map +1 -1
  99. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js +17 -22
  100. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js.map +1 -1
  101. package/dist/recyclerview/hooks/useUnmountFlag.js +5 -9
  102. package/dist/recyclerview/hooks/useUnmountFlag.js.map +1 -1
  103. package/dist/recyclerview/layout-managers/GridLayoutManager.js +61 -80
  104. package/dist/recyclerview/layout-managers/GridLayoutManager.js.map +1 -1
  105. package/dist/recyclerview/layout-managers/LayoutManager.js +83 -123
  106. package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
  107. package/dist/recyclerview/layout-managers/LinearLayoutManager.js +51 -91
  108. package/dist/recyclerview/layout-managers/LinearLayoutManager.js.map +1 -1
  109. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js +77 -96
  110. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js.map +1 -1
  111. package/dist/recyclerview/utils/adjustOffsetForRTL.js +1 -4
  112. package/dist/recyclerview/utils/adjustOffsetForRTL.js.map +1 -1
  113. package/dist/recyclerview/utils/componentUtils.js +4 -9
  114. package/dist/recyclerview/utils/componentUtils.js.map +1 -1
  115. package/dist/recyclerview/utils/findVisibleIndex.js +9 -13
  116. package/dist/recyclerview/utils/findVisibleIndex.js.map +1 -1
  117. package/dist/recyclerview/utils/measureLayout.js +12 -20
  118. package/dist/recyclerview/utils/measureLayout.js.map +1 -1
  119. package/dist/recyclerview/utils/measureLayout.web.js +15 -23
  120. package/dist/recyclerview/utils/measureLayout.web.js.map +1 -1
  121. package/dist/recyclerview/viewability/ViewToken.js +1 -2
  122. package/dist/recyclerview/viewability/ViewabilityHelper.js +34 -41
  123. package/dist/recyclerview/viewability/ViewabilityHelper.js.map +1 -1
  124. package/dist/recyclerview/viewability/ViewabilityManager.js +48 -61
  125. package/dist/recyclerview/viewability/ViewabilityManager.js.map +1 -1
  126. package/dist/tsconfig.tsbuildinfo +1 -1
  127. package/dist/utils/AverageWindow.js +28 -39
  128. package/dist/utils/AverageWindow.js.map +1 -1
  129. package/package.json +4 -6
  130. package/src/FlashListProps.ts +51 -1
  131. package/src/benchmark/useBenchmark.ts +47 -4
  132. package/src/benchmark/useFlatListBenchmark.ts +38 -5
  133. package/src/recyclerview/RecyclerView.tsx +42 -8
  134. package/src/recyclerview/ViewHolder.tsx +6 -1
  135. package/src/recyclerview/ViewHolderCollection.tsx +10 -0
  136. package/src/recyclerview/components/StickyHeaders.tsx +54 -13
  137. package/src/recyclerview/hooks/useRecyclerViewController.tsx +7 -4
  138. package/src/recyclerview/hooks/useSecondaryProps.tsx +23 -0
  139. package/dist/__tests__/AverageWindow.test.d.ts +0 -2
  140. package/dist/__tests__/AverageWindow.test.d.ts.map +0 -1
  141. package/dist/__tests__/AverageWindow.test.js +0 -104
  142. package/dist/__tests__/AverageWindow.test.js.map +0 -1
  143. package/dist/__tests__/ConsecutiveNumbers.test.d.ts +0 -2
  144. package/dist/__tests__/ConsecutiveNumbers.test.d.ts.map +0 -1
  145. package/dist/__tests__/ConsecutiveNumbers.test.js +0 -224
  146. package/dist/__tests__/ConsecutiveNumbers.test.js.map +0 -1
  147. package/dist/__tests__/GridLayoutManager.test.d.ts +0 -2
  148. package/dist/__tests__/GridLayoutManager.test.d.ts.map +0 -1
  149. package/dist/__tests__/GridLayoutManager.test.js +0 -69
  150. package/dist/__tests__/GridLayoutManager.test.js.map +0 -1
  151. package/dist/__tests__/LayoutCommitObserver.test.d.ts +0 -2
  152. package/dist/__tests__/LayoutCommitObserver.test.d.ts.map +0 -1
  153. package/dist/__tests__/LayoutCommitObserver.test.js +0 -37
  154. package/dist/__tests__/LayoutCommitObserver.test.js.map +0 -1
  155. package/dist/__tests__/LinearLayoutManager.test.d.ts +0 -2
  156. package/dist/__tests__/LinearLayoutManager.test.d.ts.map +0 -1
  157. package/dist/__tests__/LinearLayoutManager.test.js +0 -140
  158. package/dist/__tests__/LinearLayoutManager.test.js.map +0 -1
  159. package/dist/__tests__/MasonryLayoutManager.test.d.ts +0 -2
  160. package/dist/__tests__/MasonryLayoutManager.test.d.ts.map +0 -1
  161. package/dist/__tests__/MasonryLayoutManager.test.js +0 -148
  162. package/dist/__tests__/MasonryLayoutManager.test.js.map +0 -1
  163. package/dist/__tests__/RecyclerView.test.d.ts +0 -2
  164. package/dist/__tests__/RecyclerView.test.d.ts.map +0 -1
  165. package/dist/__tests__/RecyclerView.test.js +0 -103
  166. package/dist/__tests__/RecyclerView.test.js.map +0 -1
  167. package/dist/__tests__/RecyclerViewManager.test.d.ts +0 -2
  168. package/dist/__tests__/RecyclerViewManager.test.d.ts.map +0 -1
  169. package/dist/__tests__/RecyclerViewManager.test.js +0 -56
  170. package/dist/__tests__/RecyclerViewManager.test.js.map +0 -1
  171. package/dist/__tests__/RenderStackManager.test.d.ts +0 -2
  172. package/dist/__tests__/RenderStackManager.test.d.ts.map +0 -1
  173. package/dist/__tests__/RenderStackManager.test.js +0 -485
  174. package/dist/__tests__/RenderStackManager.test.js.map +0 -1
  175. package/dist/__tests__/ViewabilityHelper.test.d.ts +0 -2
  176. package/dist/__tests__/ViewabilityHelper.test.d.ts.map +0 -1
  177. package/dist/__tests__/ViewabilityHelper.test.js +0 -186
  178. package/dist/__tests__/ViewabilityHelper.test.js.map +0 -1
  179. package/dist/__tests__/findVisibleIndex.test.d.ts +0 -2
  180. package/dist/__tests__/findVisibleIndex.test.d.ts.map +0 -1
  181. package/dist/__tests__/findVisibleIndex.test.js +0 -259
  182. package/dist/__tests__/findVisibleIndex.test.js.map +0 -1
  183. package/dist/__tests__/helpers/createLayoutManager.d.ts +0 -34
  184. package/dist/__tests__/helpers/createLayoutManager.d.ts.map +0 -1
  185. package/dist/__tests__/helpers/createLayoutManager.js +0 -110
  186. package/dist/__tests__/helpers/createLayoutManager.js.map +0 -1
  187. package/dist/__tests__/useUnmountAwareCallbacks.test.d.ts +0 -2
  188. package/dist/__tests__/useUnmountAwareCallbacks.test.d.ts.map +0 -1
  189. package/dist/__tests__/useUnmountAwareCallbacks.test.js +0 -185
  190. package/dist/__tests__/useUnmountAwareCallbacks.test.js.map +0 -1
  191. package/src/__tests__/AverageWindow.test.ts +0 -128
  192. package/src/__tests__/ConsecutiveNumbers.test.ts +0 -232
  193. package/src/__tests__/GridLayoutManager.test.ts +0 -113
  194. package/src/__tests__/LayoutCommitObserver.test.tsx +0 -63
  195. package/src/__tests__/LinearLayoutManager.test.ts +0 -227
  196. package/src/__tests__/MasonryLayoutManager.test.ts +0 -202
  197. package/src/__tests__/RecyclerView.test.tsx +0 -144
  198. package/src/__tests__/RecyclerViewManager.test.ts +0 -74
  199. package/src/__tests__/RenderStackManager.test.ts +0 -574
  200. package/src/__tests__/ViewabilityHelper.test.ts +0 -282
  201. package/src/__tests__/findVisibleIndex.test.ts +0 -369
  202. package/src/__tests__/helpers/createLayoutManager.ts +0 -141
  203. package/src/__tests__/useUnmountAwareCallbacks.test.tsx +0 -285
@@ -1,485 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var RenderStackManager_1 = require("../recyclerview/RenderStackManager");
5
- var ConsecutiveNumbers_1 = require("../recyclerview/helpers/ConsecutiveNumbers");
6
- var mock1Data = [
7
- { id: 1, name: "Item 1", itemType: "type1" },
8
- { id: 2, name: "Item 2", itemType: "type2" },
9
- { id: 3, name: "Item 3", itemType: "type1" },
10
- { id: 4, name: "Item 4", itemType: "type2" },
11
- { id: 5, name: "Item 5", itemType: "type1" },
12
- { id: 6, name: "Item 6", itemType: "type2" },
13
- { id: 7, name: "Item 7", itemType: "type1" },
14
- { id: 8, name: "Item 8", itemType: "type2" },
15
- { id: 9, name: "Item 9", itemType: "type1" },
16
- { id: 10, name: "Item 10", itemType: "type2" },
17
- { id: 11, name: "Item 11", itemType: "type1" },
18
- ];
19
- var mock1 = {
20
- data: mock1Data,
21
- getStableId: function (index) { return mock1Data[index].id.toString(); },
22
- getItemType: function (index) { return mock1Data[index].itemType; },
23
- length: mock1Data.length,
24
- };
25
- var mock2Data = [
26
- { id: 5, name: "Item 1", itemType: "type1" },
27
- { id: 6, name: "Item 2", itemType: "type2" },
28
- { id: 7, name: "Item 3", itemType: "type1" },
29
- { id: 8, name: "Item 4", itemType: "type2" },
30
- { id: 9, name: "Item 5", itemType: "type1" },
31
- { id: 10, name: "Item 6", itemType: "type2" },
32
- { id: 11, name: "Item 7", itemType: "type1" },
33
- { id: 12, name: "Item 8", itemType: "type2" },
34
- { id: 13, name: "Item 9", itemType: "type1" },
35
- { id: 14, name: "Item 10", itemType: "type2" },
36
- { id: 15, name: "Item 11", itemType: "type1" },
37
- ];
38
- var mock2 = {
39
- data: mock2Data,
40
- getStableId: function (index) { return mock2Data[index].id.toString(); },
41
- getItemType: function (index) { return mock2Data[index].itemType; },
42
- length: mock2Data.length,
43
- };
44
- var mock3Data = [
45
- { id: 1, name: "Item 1", itemType: "type1" },
46
- { id: 2, name: "Item 2", itemType: "type1" },
47
- { id: 3, name: "Item 3", itemType: "type1" },
48
- { id: 4, name: "Item 4", itemType: "type1" },
49
- { id: 5, name: "Item 5", itemType: "type1" },
50
- { id: 6, name: "Item 6", itemType: "type1" },
51
- { id: 7, name: "Item 7", itemType: "type1" },
52
- { id: 8, name: "Item 8", itemType: "type1" },
53
- { id: 9, name: "Item 9", itemType: "type1" },
54
- { id: 10, name: "Item 10", itemType: "type1" },
55
- { id: 11, name: "Item 11", itemType: "type1" },
56
- { id: 12, name: "Item 12", itemType: "type1" },
57
- { id: 13, name: "Item 13", itemType: "type1" },
58
- { id: 14, name: "Item 14", itemType: "type1" },
59
- { id: 15, name: "Item 15", itemType: "type1" },
60
- ];
61
- var mock3 = {
62
- data: mock3Data,
63
- getStableId: function (index) { return mock3Data[index].id.toString(); },
64
- getItemType: function (index) { return mock3Data[index].itemType; },
65
- length: mock3Data.length,
66
- };
67
- var mock4Data = [
68
- { id: 1, name: "Item 1", itemType: "type1" },
69
- { id: 2, name: "Item 2", itemType: "type1" },
70
- { id: 3, name: "Item 3", itemType: "type1" },
71
- { id: 4, name: "Item 4", itemType: "type1" },
72
- { id: 5, name: "Item 5", itemType: "type1" },
73
- { id: 6, name: "Item 6", itemType: "type1" },
74
- { id: 7, name: "Item 7", itemType: "type1" },
75
- { id: 8, name: "Item 8", itemType: "type2" },
76
- { id: 9, name: "Item 9", itemType: "type2" },
77
- { id: 10, name: "Item 10", itemType: "type2" },
78
- { id: 11, name: "Item 11", itemType: "type2" },
79
- { id: 12, name: "Item 12", itemType: "type2" },
80
- { id: 13, name: "Item 13", itemType: "type2" },
81
- { id: 14, name: "Item 14", itemType: "type2" },
82
- { id: 15, name: "Item 15", itemType: "type2" },
83
- ];
84
- var mock4 = {
85
- data: mock4Data,
86
- getStableId: function (index) { return mock4Data[index].id.toString(); },
87
- getItemType: function (index) { return mock4Data[index].itemType; },
88
- length: mock4Data.length,
89
- };
90
- var mock5Data = [
91
- { id: 1, name: "Item 1", itemType: "type2" },
92
- { id: 2, name: "Item 2", itemType: "type2" },
93
- { id: 3, name: "Item 3", itemType: "type2" },
94
- { id: 4, name: "Item 4", itemType: "type2" },
95
- { id: 5, name: "Item 5", itemType: "type2" },
96
- { id: 6, name: "Item 6", itemType: "type2" },
97
- { id: 7, name: "Item 7", itemType: "type2" },
98
- { id: 8, name: "Item 8", itemType: "type1" },
99
- { id: 9, name: "Item 9", itemType: "type1" },
100
- { id: 10, name: "Item 10", itemType: "type1" },
101
- { id: 11, name: "Item 11", itemType: "type1" },
102
- { id: 12, name: "Item 12", itemType: "type1" },
103
- { id: 13, name: "Item 13", itemType: "type1" },
104
- { id: 14, name: "Item 14", itemType: "type1" },
105
- { id: 15, name: "Item 15", itemType: "type1" },
106
- ];
107
- var mock5 = {
108
- data: mock5Data,
109
- getStableId: function (index) { return mock5Data[index].id.toString(); },
110
- getItemType: function (index) { return mock5Data[index].itemType; },
111
- length: mock5Data.length,
112
- };
113
- var mock6Data = [
114
- { id: 0, name: "Item 0", itemType: "type1" },
115
- { id: 1, name: "Item 1", itemType: "type1" },
116
- { id: 2, name: "Item 2", itemType: "type1" },
117
- { id: 3, name: "Item 3", itemType: "type1" },
118
- { id: 4, name: "Item 4", itemType: "type1" },
119
- { id: 5, name: "Item 5", itemType: "type1" },
120
- { id: 6, name: "Item 6", itemType: "type1" },
121
- { id: 7, name: "Item 7", itemType: "type1" },
122
- ];
123
- var mock6 = {
124
- data: mock6Data,
125
- getStableId: function (index) { return mock6Data[index].id.toString(); },
126
- getItemType: function (index) { return mock6Data[index].itemType; },
127
- length: mock6Data.length,
128
- };
129
- var mock7Data = [
130
- { id: 0, name: "Item 0", itemType: "type1" },
131
- { id: 2, name: "Item 2", itemType: "type1" },
132
- { id: 3, name: "Item 3", itemType: "type1" },
133
- { id: 4, name: "Item 4", itemType: "type1" },
134
- { id: 5, name: "Item 5", itemType: "type1" },
135
- { id: 6, name: "Item 6", itemType: "type1" },
136
- { id: 7, name: "Item 7", itemType: "type1" },
137
- { id: 8, name: "Item 8", itemType: "type1" },
138
- ];
139
- var mock7 = {
140
- data: mock7Data,
141
- getStableId: function (index) { return mock7Data[index].id.toString(); },
142
- getItemType: function (index) { return mock7Data[index].itemType; },
143
- length: mock7Data.length,
144
- };
145
- var mock8Data = [
146
- { id: 16, name: "Item 16", itemType: "type1" },
147
- { id: 17, name: "Item 17", itemType: "type1" },
148
- { id: 18, name: "Item 18", itemType: "type1" },
149
- { id: 19, name: "Item 19", itemType: "type1" },
150
- { id: 20, name: "Item 20", itemType: "type1" },
151
- { id: 1, name: "Item 1", itemType: "type1" },
152
- { id: 2, name: "Item 2", itemType: "type1" },
153
- { id: 3, name: "Item 3", itemType: "type1" },
154
- { id: 4, name: "Item 4", itemType: "type1" },
155
- { id: 5, name: "Item 5", itemType: "type1" },
156
- { id: 6, name: "Item 6", itemType: "type1" },
157
- { id: 7, name: "Item 7", itemType: "type1" },
158
- { id: 8, name: "Item 8", itemType: "type1" },
159
- { id: 9, name: "Item 9", itemType: "type1" },
160
- { id: 10, name: "Item 10", itemType: "type1" },
161
- { id: 11, name: "Item 11", itemType: "type1" },
162
- { id: 12, name: "Item 12", itemType: "type1" },
163
- { id: 13, name: "Item 13", itemType: "type1" },
164
- { id: 14, name: "Item 14", itemType: "type1" },
165
- { id: 15, name: "Item 15", itemType: "type1" },
166
- ];
167
- var mock8 = {
168
- data: mock8Data,
169
- getStableId: function (index) { return mock8Data[index].id.toString(); },
170
- getItemType: function (index) { return mock8Data[index].itemType; },
171
- length: mock8Data.length,
172
- };
173
- // Helper to create mock data structures
174
- var createMockData = function (items) {
175
- return {
176
- data: items.map(function (item) { return (tslib_1.__assign(tslib_1.__assign({}, item), { name: item.name || "Item ".concat(item.id) })); }),
177
- getStableId: function (index) { return items[index].id.toString(); },
178
- getItemType: function (index) { return items[index].itemType; },
179
- length: items.length,
180
- };
181
- };
182
- // Helper to run sync and get sorted keys from the entire keyMap
183
- var runSyncAndGetEntireKeyMapKeys = function (manager, mock, engagedIndicesOverride) {
184
- var dataLength = mock.length;
185
- var engaged = engagedIndicesOverride !== null && engagedIndicesOverride !== void 0 ? engagedIndicesOverride : new ConsecutiveNumbers_1.ConsecutiveNumbers(0, dataLength > 0 ? dataLength - 1 : -1);
186
- manager.sync(mock.getStableId, mock.getItemType, engaged, dataLength);
187
- return Array.from(manager.getRenderStack().keys()).sort(function (keyA, keyB) { return Number(keyA) - Number(keyB); });
188
- };
189
- // Helper to get keys specific to the items in a mock, after a sync
190
- var getKeysForMockItems = function (manager, mockData) {
191
- var e_1, _a;
192
- var stack = manager.getRenderStack();
193
- var keys = [];
194
- // Ensure we only try to get keys for items that exist in mockData
195
- for (var i = 0; i < mockData.length; i++) {
196
- var stableId = mockData.getStableId(i);
197
- try {
198
- for (var _b = (e_1 = void 0, tslib_1.__values(stack.entries())), _c = _b.next(); !_c.done; _c = _b.next()) {
199
- var _d = tslib_1.__read(_c.value, 2), key = _d[0], info = _d[1];
200
- if (info.stableId === stableId) {
201
- keys.push(key);
202
- break;
203
- }
204
- }
205
- }
206
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
207
- finally {
208
- try {
209
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
210
- }
211
- finally { if (e_1) throw e_1.error; }
212
- }
213
- }
214
- return keys.sort(function (keyA, keyB) { return Number(keyA) - Number(keyB); });
215
- };
216
- var emptyMock = createMockData([]);
217
- var mockDataA5 = createMockData([
218
- { id: "s1", itemType: "typeA" },
219
- { id: "s2", itemType: "typeA" },
220
- { id: "s3", itemType: "typeA" },
221
- { id: "s4", itemType: "typeA" },
222
- { id: "s5", itemType: "typeA" },
223
- ]);
224
- var mockDataB3 = createMockData([
225
- { id: "s6", itemType: "typeA" },
226
- { id: "s7", itemType: "typeA" },
227
- { id: "s8", itemType: "typeA" },
228
- ]);
229
- describe("RenderStackManager", function () {
230
- it("should reuse keys from removed items when transitioning from mock1 to mock2", function () {
231
- var renderStackManager = new RenderStackManager_1.RenderStackManager();
232
- runSyncAndGetEntireKeyMapKeys(renderStackManager, mock1);
233
- var oldRenderStackKeys = Array.from(renderStackManager.getRenderStack().keys()).sort(function (keyA, keyB) { return Number(keyA) - Number(keyB); });
234
- runSyncAndGetEntireKeyMapKeys(renderStackManager, mock2);
235
- var newRenderStackKeys = Array.from(renderStackManager.getRenderStack().keys()).sort(function (keyA, keyB) { return Number(keyA) - Number(keyB); });
236
- expect(newRenderStackKeys).toEqual(oldRenderStackKeys);
237
- });
238
- it("should reuse keys changing item types when transitioning from mock3 to mock4", function () {
239
- var renderStackManager = new RenderStackManager_1.RenderStackManager();
240
- runSyncAndGetEntireKeyMapKeys(renderStackManager, mock3);
241
- var oldRenderStackKeys = Array.from(renderStackManager.getRenderStack().keys()).sort(function (keyA, keyB) { return Number(keyA) - Number(keyB); });
242
- runSyncAndGetEntireKeyMapKeys(renderStackManager, mock4);
243
- var newRenderStackKeys = Array.from(renderStackManager.getRenderStack().keys()).sort(function (keyA, keyB) { return Number(keyA) - Number(keyB); });
244
- expect(newRenderStackKeys).toEqual(oldRenderStackKeys);
245
- });
246
- it("should reuse keys changing item types when transitioning from mock4 to mock5", function () {
247
- var renderStackManager = new RenderStackManager_1.RenderStackManager();
248
- runSyncAndGetEntireKeyMapKeys(renderStackManager, mock4);
249
- var oldRenderStackKeys = Array.from(renderStackManager.getRenderStack().keys()).sort(function (keyA, keyB) { return Number(keyA) - Number(keyB); });
250
- runSyncAndGetEntireKeyMapKeys(renderStackManager, mock5);
251
- var newRenderStackKeys = Array.from(renderStackManager.getRenderStack().keys()).sort(function (keyA, keyB) { return Number(keyA) - Number(keyB); });
252
- expect(newRenderStackKeys).toEqual(oldRenderStackKeys);
253
- });
254
- it("should have all keys from mock1 when going from mock1 to mock5", function () {
255
- var renderStackManager = new RenderStackManager_1.RenderStackManager();
256
- runSyncAndGetEntireKeyMapKeys(renderStackManager, mock1);
257
- var oldRenderStackKeys = Array.from(renderStackManager.getRenderStack().keys()).sort(function (keyA, keyB) { return Number(keyA) - Number(keyB); });
258
- runSyncAndGetEntireKeyMapKeys(renderStackManager, mock5);
259
- var newRenderStackKeys = Array.from(renderStackManager.getRenderStack().keys()).sort(function (keyA, keyB) { return Number(keyA) - Number(keyB); });
260
- oldRenderStackKeys.forEach(function (key) {
261
- expect(newRenderStackKeys).toContain(key);
262
- });
263
- });
264
- });
265
- describe("RenderStackManager with disableRecycling = true", function () {
266
- it("should assign new, non-recycled keys to new items when disableRecycling is true", function () {
267
- var rsm = new RenderStackManager_1.RenderStackManager();
268
- rsm.disableRecycling = true;
269
- // Sync with A5 first
270
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataA5);
271
- var keysA5 = getKeysForMockItems(rsm, mockDataA5);
272
- expect(keysA5).toEqual(["0", "1", "2", "3", "4"]);
273
- // Sync with B3
274
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataB3);
275
- var keysB3 = getKeysForMockItems(rsm, mockDataB3);
276
- expect(keysB3).toEqual(["5", "6", "7"]); // New keys for B3 items
277
- // Ensure B3 keys don't overlap with A5 keys that might remain in keyMap
278
- keysA5.forEach(function (keyA) {
279
- expect(keysB3).not.toContain(keyA);
280
- });
281
- // Check the final state of the entire keyMap
282
- // After B3 sync, keys for A5 items at original indices 3,4 (stableIds "s4","s5")
283
- // should be removed because 3 >= B3.length (3) and 4 >= B3.length (3). Keys for 0,1,2 from A5 remain.
284
- var allKeysInMap = runSyncAndGetEntireKeyMapKeys(rsm, mockDataB3); // This re-syncs B3, ensuring state is for B3
285
- expect(allKeysInMap.sort(function (keyA, keyB) { return Number(keyA) - Number(keyB); })).toEqual(["5", "6", "7"]);
286
- });
287
- it("should generate all new keys if starting with disableRecycling = true and items are removed then added", function () {
288
- var rsm = new RenderStackManager_1.RenderStackManager();
289
- rsm.disableRecycling = true;
290
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataA5); // Assigns keys "0" through "4"
291
- runSyncAndGetEntireKeyMapKeys(rsm, emptyMock); // Sync with empty
292
- expect(getKeysForMockItems(rsm, emptyMock)).toEqual([]);
293
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataB3); // Sync with new data
294
- var keysForNewItems = getKeysForMockItems(rsm, mockDataB3);
295
- expect(keysForNewItems).toEqual(["5", "6", "7"]);
296
- });
297
- });
298
- describe("RenderStackManager with maxItemsInRecyclePool", function () {
299
- it("should not recycle any keys when maxItemsInRecyclePool is 0", function () {
300
- var rsm = new RenderStackManager_1.RenderStackManager(0); // maxItemsInRecyclePool = 0
301
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataA5);
302
- runSyncAndGetEntireKeyMapKeys(rsm, emptyMock); // Sync with empty, dataLength = 0. All keys are cleaned up.
303
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataB3);
304
- var keys2 = getKeysForMockItems(rsm, mockDataB3);
305
- expect(keys2).toEqual(["5", "6", "7"]); // Expect new keys as pool was cleared by emptyMock sync
306
- });
307
- it("should effectively not recycle if intermediate sync has dataLength 0, regardless of maxPoolSize", function () {
308
- var maxPoolSize = 2;
309
- var rsm = new RenderStackManager_1.RenderStackManager(maxPoolSize);
310
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataA5);
311
- runSyncAndGetEntireKeyMapKeys(rsm, emptyMock); // Sync with empty, dataLength = 0. All keys are cleaned up from pool and map.
312
- var mockDataA3NewIds = createMockData([
313
- { id: "s10", itemType: "typeA" },
314
- { id: "s11", itemType: "typeA" },
315
- { id: "s12", itemType: "typeA" },
316
- ]);
317
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataA3NewIds);
318
- var newKeys = getKeysForMockItems(rsm, mockDataA3NewIds);
319
- // Because emptyMock sync (dataLength=0) clears all keys, these will be new.
320
- expect(newKeys).toEqual(["5", "6", "7"]);
321
- });
322
- it("should not repeat index when going from mock6 to mock7", function () {
323
- var rsm = new RenderStackManager_1.RenderStackManager();
324
- rsm.disableRecycling = true;
325
- runSyncAndGetEntireKeyMapKeys(rsm, mock6);
326
- runSyncAndGetEntireKeyMapKeys(rsm, mock7);
327
- var set = new Set();
328
- Array.from(rsm.getRenderStack().entries()).forEach(function (_a) {
329
- var _b = tslib_1.__read(_a, 2), key = _b[0], info = _b[1];
330
- expect(set.has(info.index)).toBe(false);
331
- set.add(info.index);
332
- });
333
- });
334
- });
335
- describe("RenderStackManager edge cases", function () {
336
- it("should handle initial sync with empty data and then add items", function () {
337
- var rsm = new RenderStackManager_1.RenderStackManager();
338
- runSyncAndGetEntireKeyMapKeys(rsm, emptyMock);
339
- expect(getKeysForMockItems(rsm, emptyMock)).toEqual([]);
340
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataA5);
341
- expect(getKeysForMockItems(rsm, mockDataA5)).toEqual([
342
- "0",
343
- "1",
344
- "2",
345
- "3",
346
- "4",
347
- ]);
348
- });
349
- it("should generate new keys if all items removed (synced with empty) and then different items added", function () {
350
- var rsm = new RenderStackManager_1.RenderStackManager(); // Default large pool size
351
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataA5);
352
- runSyncAndGetEntireKeyMapKeys(rsm, emptyMock); // Sync with empty, dataLength = 0. All keys are cleaned up.
353
- var mockDataA3NewIds = createMockData([
354
- { id: "s10", itemType: "typeA" },
355
- { id: "s11", itemType: "typeA" },
356
- { id: "s12", itemType: "typeA" },
357
- ]);
358
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataA3NewIds);
359
- var newKeys = getKeysForMockItems(rsm, mockDataA3NewIds);
360
- // Expect new keys as the emptyMock sync (dataLength=0) cleared the pool and map.
361
- expect(newKeys).toEqual(["5", "6", "7"]);
362
- });
363
- it("should use new keys if types change completely and no compatible recycled keys exist (after empty sync)", function () {
364
- var rsm = new RenderStackManager_1.RenderStackManager();
365
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataA5);
366
- runSyncAndGetEntireKeyMapKeys(rsm, emptyMock); // Clear with empty sync
367
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataB3);
368
- var keysTypeB = getKeysForMockItems(rsm, mockDataB3);
369
- expect(keysTypeB).toEqual(["5", "6", "7"]); // Should be new keys after empty sync
370
- var mockSingleTypeA = createMockData([{ id: "s20", itemType: "typeA" }]);
371
- runSyncAndGetEntireKeyMapKeys(rsm, mockSingleTypeA);
372
- var keyForS20 = getKeysForMockItems(rsm, mockSingleTypeA);
373
- // After empty sync and B3 sync, A's pool is gone. Key counter is at 8.
374
- expect(keyForS20).toEqual(["5"]);
375
- });
376
- it("should maintain keys if data and engaged indices do not change", function () {
377
- var rsm = new RenderStackManager_1.RenderStackManager();
378
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataA5);
379
- var keys1 = getKeysForMockItems(rsm, mockDataA5);
380
- runSyncAndGetEntireKeyMapKeys(rsm, mockDataA5);
381
- var keys2 = getKeysForMockItems(rsm, mockDataA5);
382
- expect(keys2).toEqual(keys1);
383
- });
384
- it("should not delete keys from pool if they are not visible on index changes when going from mock6 to mock7", function () {
385
- var rsm = new RenderStackManager_1.RenderStackManager();
386
- runSyncAndGetEntireKeyMapKeys(rsm, mock6);
387
- runSyncAndGetEntireKeyMapKeys(rsm, mock7, new ConsecutiveNumbers_1.ConsecutiveNumbers(3, 5));
388
- var keys = getKeysForMockItems(rsm, mock7);
389
- expect(keys).toEqual(["0", "1", "2", "3", "4", "5", "6", "7"]);
390
- });
391
- it("should not delete keys from pool if they are not visible on index changes when going from mock3 to mock8", function () {
392
- var rsm = new RenderStackManager_1.RenderStackManager();
393
- runSyncAndGetEntireKeyMapKeys(rsm, mock3, new ConsecutiveNumbers_1.ConsecutiveNumbers(0, 10));
394
- runSyncAndGetEntireKeyMapKeys(rsm, mock8, new ConsecutiveNumbers_1.ConsecutiveNumbers(0, 13));
395
- var keys = getKeysForMockItems(rsm, mock8);
396
- expect(keys).toEqual([
397
- "0",
398
- "1",
399
- "2",
400
- "3",
401
- "4",
402
- "5",
403
- "6",
404
- "7",
405
- "8",
406
- "9",
407
- "10",
408
- "11",
409
- "12",
410
- "13",
411
- ]);
412
- });
413
- it("should delete keys from pool if they are not visible on index changes when going from mock6 to mock7 (disableRecycling = true)", function () {
414
- var rsm = new RenderStackManager_1.RenderStackManager();
415
- rsm.disableRecycling = true;
416
- runSyncAndGetEntireKeyMapKeys(rsm, mock6);
417
- runSyncAndGetEntireKeyMapKeys(rsm, mock7, new ConsecutiveNumbers_1.ConsecutiveNumbers(3, 5));
418
- var keys = getKeysForMockItems(rsm, mock7);
419
- expect(keys).toEqual(["0", "2", "3", "4", "5", "6", "8"]);
420
- });
421
- it("should not delete keys from pool if they are not visible on index changes when going from mock6 to mock7 (all engaged)", function () {
422
- var rsm = new RenderStackManager_1.RenderStackManager();
423
- runSyncAndGetEntireKeyMapKeys(rsm, mock6);
424
- runSyncAndGetEntireKeyMapKeys(rsm, mock7);
425
- var keys = getKeysForMockItems(rsm, mock7);
426
- expect(keys).toEqual(["0", "1", "2", "3", "4", "5", "6", "7"]);
427
- });
428
- it("should delete keys from pool if they are not visible on index changes when going from mock6 to mock7 (all engaged,disableRecycling = true)", function () {
429
- var rsm = new RenderStackManager_1.RenderStackManager();
430
- rsm.disableRecycling = true;
431
- runSyncAndGetEntireKeyMapKeys(rsm, mock6);
432
- runSyncAndGetEntireKeyMapKeys(rsm, mock7);
433
- var keys = getKeysForMockItems(rsm, mock7);
434
- expect(keys).toEqual(["0", "2", "3", "4", "5", "6", "7", "8"]);
435
- });
436
- it("should correctly handle partial replacement of items, reusing keys for stable items and recycling for replaced ones", function () {
437
- var rsm = new RenderStackManager_1.RenderStackManager();
438
- var initialMock = createMockData([
439
- { id: "s1", itemType: "typeA" },
440
- { id: "s2", itemType: "typeA" },
441
- { id: "s3", itemType: "typeA" },
442
- { id: "s4", itemType: "typeA" },
443
- ]);
444
- runSyncAndGetEntireKeyMapKeys(rsm, initialMock);
445
- var initialKeyMap = new Map();
446
- // Populate initialKeyMap correctly using getKeysForMockItems and stable IDs
447
- initialMock.data.forEach(function (itemData, index) {
448
- // Get the keys for the initialMock items AFTER the sync.
449
- var currentKeysForInitialMock = getKeysForMockItems(rsm, initialMock);
450
- var key = currentKeysForInitialMock[index]; // Assumes keys are in order of data
451
- if (key !== undefined) {
452
- // Ensure key exists before setting
453
- initialKeyMap.set(itemData.id.toString(), key);
454
- }
455
- });
456
- var keyForS1 = initialKeyMap.get("s1");
457
- var keyForS2 = initialKeyMap.get("s2");
458
- var keyForS3 = initialKeyMap.get("s3");
459
- var keyForS4 = initialKeyMap.get("s4");
460
- var partiallyReplacedMock = createMockData([
461
- { id: "s1", itemType: "typeA" },
462
- { id: "s5", itemType: "typeA" },
463
- { id: "s6", itemType: "typeA" },
464
- { id: "s4", itemType: "typeA" },
465
- ]);
466
- runSyncAndGetEntireKeyMapKeys(rsm, partiallyReplacedMock);
467
- var finalKeyMap = new Map();
468
- partiallyReplacedMock.data.forEach(function (itemData, index) {
469
- // Get keys for partiallyReplacedMock items AFTER the sync.
470
- var currentKeysForPartialMock = getKeysForMockItems(rsm, partiallyReplacedMock);
471
- var key = currentKeysForPartialMock[index]; // Assumes keys are in order
472
- if (key !== undefined) {
473
- // Ensure key exists
474
- finalKeyMap.set(itemData.id.toString(), key);
475
- }
476
- });
477
- expect(finalKeyMap.get("s1")).toBe(keyForS1);
478
- expect(finalKeyMap.get("s4")).toBe(keyForS4);
479
- expect([finalKeyMap.get("s5"), finalKeyMap.get("s6")]).toEqual(expect.arrayContaining([keyForS2, keyForS3]));
480
- expect(finalKeyMap.get("s5")).not.toBe(finalKeyMap.get("s6"));
481
- var finalKeysForCurrentItems = getKeysForMockItems(rsm, partiallyReplacedMock);
482
- expect(finalKeysForCurrentItems).toEqual(["0", "1", "2", "3"]);
483
- });
484
- });
485
- //# sourceMappingURL=RenderStackManager.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenderStackManager.test.js","sourceRoot":"","sources":["../../src/__tests__/RenderStackManager.test.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AACxE,iFAAgF;AAEhF,IAAM,SAAS,GAAG;IAChB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;CAC/C,CAAC;AACF,IAAM,KAAK,GAAG;IACZ,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAA9B,CAA8B;IAC9D,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAzB,CAAyB;IACzD,MAAM,EAAE,SAAS,CAAC,MAAM;CACzB,CAAC;AAEF,IAAM,SAAS,GAAG;IAChB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC7C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC7C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC7C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC7C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;CAC/C,CAAC;AACF,IAAM,KAAK,GAAG;IACZ,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAA9B,CAA8B;IAC9D,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAzB,CAAyB;IACzD,MAAM,EAAE,SAAS,CAAC,MAAM;CACzB,CAAC;AAEF,IAAM,SAAS,GAAG;IAChB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;CAC/C,CAAC;AACF,IAAM,KAAK,GAAG;IACZ,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAA9B,CAA8B;IAC9D,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAzB,CAAyB;IACzD,MAAM,EAAE,SAAS,CAAC,MAAM;CACzB,CAAC;AAEF,IAAM,SAAS,GAAG;IAChB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;CAC/C,CAAC;AACF,IAAM,KAAK,GAAG;IACZ,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAA9B,CAA8B;IAC9D,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAzB,CAAyB;IACzD,MAAM,EAAE,SAAS,CAAC,MAAM;CACzB,CAAC;AAEF,IAAM,SAAS,GAAG;IAChB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;CAC/C,CAAC;AACF,IAAM,KAAK,GAAG;IACZ,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAA9B,CAA8B;IAC9D,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAzB,CAAyB;IACzD,MAAM,EAAE,SAAS,CAAC,MAAM;CACzB,CAAC;AAEF,IAAM,SAAS,GAAG;IAChB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;CAC7C,CAAC;AACF,IAAM,KAAK,GAAG;IACZ,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAA9B,CAA8B;IAC9D,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAzB,CAAyB;IACzD,MAAM,EAAE,SAAS,CAAC,MAAM;CACzB,CAAC;AAEF,IAAM,SAAS,GAAG;IAChB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;CAC7C,CAAC;AACF,IAAM,KAAK,GAAG;IACZ,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAA9B,CAA8B;IAC9D,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAzB,CAAyB;IACzD,MAAM,EAAE,SAAS,CAAC,MAAM;CACzB,CAAC;AAEF,IAAM,SAAS,GAAG;IAChB,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC5C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9C,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;CAC/C,CAAC;AACF,IAAM,KAAK,GAAG;IACZ,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAA9B,CAA8B;IAC9D,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAzB,CAAyB;IACzD,MAAM,EAAE,SAAS,CAAC,MAAM;CACzB,CAAC;AAEF,wCAAwC;AACxC,IAAM,cAAc,GAAG,UACrB,KAAiE;IAEjE,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,uCACrB,IAAI,KACP,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,eAAQ,IAAI,CAAC,EAAE,CAAE,IACpC,EAHwB,CAGxB,CAAC;QACH,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAA1B,CAA0B;QAC1D,WAAW,EAAE,UAAC,KAAa,IAAK,OAAA,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAArB,CAAqB;QACrD,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC,CAAC;AAEF,gEAAgE;AAChE,IAAM,6BAA6B,GAAG,UACpC,OAA2B,EAC3B,IAKC,EACD,sBAA2C;IAE3C,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;IAC/B,IAAM,OAAO,GACX,sBAAsB,aAAtB,sBAAsB,cAAtB,sBAAsB,GACtB,IAAI,uCAAkB,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CACrD,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAC5C,CAAC;AACJ,CAAC,CAAC;AAEF,mEAAmE;AACnE,IAAM,mBAAmB,GAAG,UAC1B,OAA2B,EAC3B,QAIC;;IAED,IAAM,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IACvC,IAAM,IAAI,GAAG,EAAE,CAAC;IAChB,kEAAkE;IAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;;YACzC,KAA0B,IAAA,oBAAA,iBAAA,KAAK,CAAC,OAAO,EAAE,CAAA,CAAA,gBAAA,4BAAE,CAAC;gBAAjC,IAAA,KAAA,2BAAW,EAAV,GAAG,QAAA,EAAE,IAAI,QAAA;gBACnB,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACf,MAAM;gBACR,CAAC;YACH,CAAC;;;;;;;;;IACH,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,IAAM,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;AACrC,IAAM,UAAU,GAAG,cAAc,CAAC;IAChC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;CAChC,CAAC,CAAC;AACH,IAAM,UAAU,GAAG,cAAc,CAAC;IAChC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;CAChC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE;IAC7B,EAAE,CAAC,6EAA6E,EAAE;QAChF,IAAM,kBAAkB,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACpD,6BAA6B,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzD,IAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CACnC,kBAAkB,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAC3C,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;QAEpD,6BAA6B,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzD,IAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CACnC,kBAAkB,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAC3C,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;QACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE;QACjF,IAAM,kBAAkB,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACpD,6BAA6B,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzD,IAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CACnC,kBAAkB,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAC3C,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;QAEpD,6BAA6B,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzD,IAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CACnC,kBAAkB,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAC3C,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;QACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE;QACjF,IAAM,kBAAkB,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACpD,6BAA6B,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzD,IAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CACnC,kBAAkB,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAC3C,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;QAEpD,6BAA6B,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzD,IAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CACnC,kBAAkB,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAC3C,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;QACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAM,kBAAkB,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACpD,6BAA6B,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzD,IAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CACnC,kBAAkB,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAC3C,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;QAEpD,6BAA6B,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzD,IAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CACnC,kBAAkB,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAC3C,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;QAEpD,kBAAkB,CAAC,OAAO,CAAC,UAAC,GAAG;YAC7B,MAAM,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iDAAiD,EAAE;IAC1D,EAAE,CAAC,iFAAiF,EAAE;QACpF,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACrC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE5B,qBAAqB;QACrB,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAElD,eAAe;QACf,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB;QAEjE,wEAAwE;QACxE,MAAM,CAAC,OAAO,CAAC,UAAC,IAAI;YAClB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,iFAAiF;QACjF,sGAAsG;QACtG,IAAM,YAAY,GAAG,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,6CAA6C;QAClH,MAAM,CACJ,YAAY,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAC/D,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wGAAwG,EAAE;QAC3G,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACrC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE5B,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,+BAA+B;QAC/E,6BAA6B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,kBAAkB;QACjE,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAExD,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,qBAAqB;QACrE,IAAM,eAAe,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+CAA+C,EAAE;IACxD,EAAE,CAAC,6DAA6D,EAAE;QAChE,IAAM,GAAG,GAAG,IAAI,uCAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B;QAEnE,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,6BAA6B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,4DAA4D;QAE3G,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,wDAAwD;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iGAAiG,EAAE;QACpG,IAAM,WAAW,GAAG,CAAC,CAAC;QACtB,IAAM,GAAG,GAAG,IAAI,uCAAkB,CAAC,WAAW,CAAC,CAAC;QAEhD,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,6BAA6B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,8EAA8E;QAE7H,IAAM,gBAAgB,GAAG,cAAc,CAAC;YACtC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE;YAChC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE;YAChC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE;SACjC,CAAC,CAAC;QACH,6BAA6B,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACrD,IAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC3D,4EAA4E;QAC5E,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,wDAAwD,EAAE;QAC3D,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACrC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC5B,6BAA6B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,6BAA6B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,EAAW;gBAAX,KAAA,qBAAW,EAAV,GAAG,QAAA,EAAE,IAAI,QAAA;YAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE;IACxC,EAAE,CAAC,+DAA+D,EAAE;QAClE,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACrC,6BAA6B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAExD,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;YACnD,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;SACJ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kGAAkG,EAAE;QACrG,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC,CAAC,0BAA0B;QAChE,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,6BAA6B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,4DAA4D;QAE3G,IAAM,gBAAgB,GAAG,cAAc,CAAC;YACtC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE;YAChC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE;YAChC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE;SACjC,CAAC,CAAC;QACH,6BAA6B,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACrD,IAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC3D,iFAAiF;QACjF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yGAAyG,EAAE;QAC5G,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACrC,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,6BAA6B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,wBAAwB;QAEvE,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,sCAAsC;QAElF,IAAM,eAAe,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3E,6BAA6B,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACpD,IAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC5D,uEAAuE;QACvE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE;QACnE,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACrC,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAEnD,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0GAA0G,EAAE;QAC7G,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACrC,6BAA6B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,6BAA6B,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,uCAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,IAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0GAA0G,EAAE;QAC7G,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACrC,6BAA6B,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,uCAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACzE,6BAA6B,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,uCAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACzE,IAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YACnB,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gIAAgI,EAAE;QACnI,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACrC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC5B,6BAA6B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,6BAA6B,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,uCAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,IAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wHAAwH,EAAE;QAC3H,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACrC,6BAA6B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,6BAA6B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4IAA4I,EAAE;QAC/I,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACrC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC5B,6BAA6B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,6BAA6B,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qHAAqH,EAAE;QACxH,IAAM,GAAG,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACrC,IAAM,WAAW,GAAG,cAAc,CAAC;YACjC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;YAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;YAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;YAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;SAChC,CAAC,CAAC;QACH,6BAA6B,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAChD,IAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,4EAA4E;QAC5E,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,QAAQ,EAAE,KAAK;YACvC,yDAAyD;YACzD,IAAM,yBAAyB,GAAG,mBAAmB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACxE,IAAM,GAAG,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,oCAAoC;YAClF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,mCAAmC;gBACnC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAC1C,IAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAC1C,IAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAC1C,IAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAE1C,IAAM,qBAAqB,GAAG,cAAc,CAAC;YAC3C,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;YAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;YAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;YAC/B,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;SAChC,CAAC,CAAC;QACH,6BAA6B,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;QAC1D,IAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,QAAQ,EAAE,KAAK;YACjD,2DAA2D;YAC3D,IAAM,yBAAyB,GAAG,mBAAmB,CACnD,GAAG,EACH,qBAAqB,CACtB,CAAC;YACF,IAAM,GAAG,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B;YAC1E,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,oBAAoB;gBACpB,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAC5D,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAC7C,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,IAAM,wBAAwB,GAAG,mBAAmB,CAClD,GAAG,EACH,qBAAqB,CACtB,CAAC;QACF,MAAM,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ViewabilityHelper.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewabilityHelper.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ViewabilityHelper.test.ts"],"names":[],"mappings":""}