plotboilerplate 1.20.2 → 1.22.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 (169) hide show
  1. package/dist/index.esm.js +2012 -1366
  2. package/dist/index.esm.js.map +1 -1
  3. package/dist/index.esm.min.js +1 -1
  4. package/dist/index.esm.min.js.map +1 -1
  5. package/dist/plotboilerplate.browser.min.js +1 -1
  6. package/dist/plotboilerplate.browser.min.js.map +1 -1
  7. package/dist/plotboilerplate.js +1199 -541
  8. package/dist/plotboilerplate.min.js +1 -1
  9. package/package.json +3 -2
  10. package/src/cjs/BezierPath.d.ts +27 -49
  11. package/src/cjs/BezierPath.js +67 -234
  12. package/src/cjs/BezierPath.js.map +1 -1
  13. package/src/cjs/Bounds.d.ts +14 -1
  14. package/src/cjs/Bounds.js +21 -1
  15. package/src/cjs/Bounds.js.map +1 -1
  16. package/src/cjs/CubicBezierCurve.d.ts +70 -1
  17. package/src/cjs/CubicBezierCurve.js +130 -12
  18. package/src/cjs/CubicBezierCurve.js.map +1 -1
  19. package/src/cjs/Line.d.ts +2 -1
  20. package/src/cjs/Line.js +1 -0
  21. package/src/cjs/Line.js.map +1 -1
  22. package/src/cjs/PBText.d.ts +2 -1
  23. package/src/cjs/PBText.js +10 -9
  24. package/src/cjs/PBText.js.map +1 -1
  25. package/src/cjs/PlotBoilerplate.d.ts +4 -13
  26. package/src/cjs/PlotBoilerplate.js +61 -15
  27. package/src/cjs/PlotBoilerplate.js.map +1 -1
  28. package/src/cjs/Polygon.d.ts +47 -1
  29. package/src/cjs/Polygon.js +116 -1
  30. package/src/cjs/Polygon.js.map +1 -1
  31. package/src/cjs/VEllipse.js +1 -1
  32. package/src/cjs/VEllipse.js.map +1 -1
  33. package/src/cjs/Vector.d.ts +4 -4
  34. package/src/cjs/Vector.js +2 -2
  35. package/src/cjs/Vector.js.map +1 -1
  36. package/src/cjs/VertTuple.d.ts +2 -1
  37. package/src/cjs/VertTuple.js +4 -3
  38. package/src/cjs/VertTuple.js.map +1 -1
  39. package/src/cjs/Vertex.d.ts +14 -3
  40. package/src/cjs/Vertex.js +18 -3
  41. package/src/cjs/Vertex.js.map +1 -1
  42. package/src/cjs/draw.d.ts +154 -75
  43. package/src/cjs/draw.js +308 -137
  44. package/src/cjs/draw.js.map +1 -1
  45. package/src/cjs/drawgl.d.ts +87 -50
  46. package/src/cjs/drawgl.js +86 -31
  47. package/src/cjs/drawgl.js.map +1 -1
  48. package/src/cjs/drawutilssvg.d.ts +226 -53
  49. package/src/cjs/drawutilssvg.js +374 -92
  50. package/src/cjs/drawutilssvg.js.map +1 -1
  51. package/src/cjs/interfaces/DrawLib.d.ts +157 -79
  52. package/src/cjs/interfaces/DrawLib.js +6 -0
  53. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  54. package/src/cjs/interfaces/core.d.ts +13 -2
  55. package/src/cjs/interfaces/core.js +1 -0
  56. package/src/cjs/interfaces/core.js.map +1 -1
  57. package/src/cjs/utils/Params.d.ts +15 -0
  58. package/src/cjs/utils/Params.js +49 -0
  59. package/src/cjs/utils/Params.js.map +1 -0
  60. package/src/cjs/utils/algorithms/ContourLineDetection.d.ts +150 -0
  61. package/src/cjs/utils/algorithms/ContourLineDetection.js +367 -0
  62. package/src/cjs/utils/algorithms/ContourLineDetection.js.map +1 -0
  63. package/src/cjs/utils/algorithms/clearDuplicateVertices.d.ts +21 -0
  64. package/src/cjs/utils/algorithms/clearDuplicateVertices.js +48 -0
  65. package/src/cjs/utils/algorithms/clearDuplicateVertices.js.map +1 -0
  66. package/src/cjs/utils/creategui.js +16 -10
  67. package/src/cjs/utils/datastructures/DataGrid2d.d.ts +47 -0
  68. package/src/cjs/utils/datastructures/DataGrid2d.js +20 -0
  69. package/src/cjs/utils/datastructures/DataGrid2d.js.map +1 -0
  70. package/src/cjs/utils/datastructures/DataGrid2dListAdapter.d.ts +65 -0
  71. package/src/cjs/utils/datastructures/DataGrid2dListAdapter.js +84 -0
  72. package/src/cjs/utils/datastructures/DataGrid2dListAdapter.js.map +1 -0
  73. package/src/cjs/utils/datastructures/GenericPath.d.ts +14 -3
  74. package/src/cjs/utils/datastructures/GenericPath.js +20 -3
  75. package/src/cjs/utils/datastructures/GenericPath.js.map +1 -1
  76. package/src/cjs/utils/detectDarkMode.d.ts +10 -0
  77. package/src/cjs/utils/detectDarkMode.js +32 -0
  78. package/src/cjs/utils/detectDarkMode.js.map +1 -0
  79. package/src/esm/BezierPath.d.ts +27 -49
  80. package/src/esm/BezierPath.js +67 -234
  81. package/src/esm/BezierPath.js.map +1 -1
  82. package/src/esm/Bounds.d.ts +14 -1
  83. package/src/esm/Bounds.js +19 -1
  84. package/src/esm/Bounds.js.map +1 -1
  85. package/src/esm/CubicBezierCurve.d.ts +70 -1
  86. package/src/esm/CubicBezierCurve.js +130 -12
  87. package/src/esm/CubicBezierCurve.js.map +1 -1
  88. package/src/esm/Line.d.ts +2 -1
  89. package/src/esm/Line.js +1 -0
  90. package/src/esm/Line.js.map +1 -1
  91. package/src/esm/PBText.d.ts +2 -1
  92. package/src/esm/PBText.js +10 -9
  93. package/src/esm/PBText.js.map +1 -1
  94. package/src/esm/PlotBoilerplate.d.ts +4 -13
  95. package/src/esm/PlotBoilerplate.js +62 -16
  96. package/src/esm/PlotBoilerplate.js.map +1 -1
  97. package/src/esm/Polygon.d.ts +47 -1
  98. package/src/esm/Polygon.js +114 -1
  99. package/src/esm/Polygon.js.map +1 -1
  100. package/src/esm/VEllipse.js +1 -1
  101. package/src/esm/VEllipse.js.map +1 -1
  102. package/src/esm/Vector.d.ts +4 -4
  103. package/src/esm/Vector.js +2 -2
  104. package/src/esm/Vector.js.map +1 -1
  105. package/src/esm/VertTuple.d.ts +2 -1
  106. package/src/esm/VertTuple.js +4 -3
  107. package/src/esm/VertTuple.js.map +1 -1
  108. package/src/esm/Vertex.d.ts +14 -3
  109. package/src/esm/Vertex.js +18 -3
  110. package/src/esm/Vertex.js.map +1 -1
  111. package/src/esm/draw.d.ts +154 -75
  112. package/src/esm/draw.js +304 -135
  113. package/src/esm/draw.js.map +1 -1
  114. package/src/esm/drawgl.d.ts +87 -50
  115. package/src/esm/drawgl.js +86 -31
  116. package/src/esm/drawgl.js.map +1 -1
  117. package/src/esm/drawutilssvg.d.ts +226 -53
  118. package/src/esm/drawutilssvg.js +369 -92
  119. package/src/esm/drawutilssvg.js.map +1 -1
  120. package/src/esm/interfaces/DrawLib.d.ts +157 -79
  121. package/src/esm/interfaces/DrawLib.js +6 -0
  122. package/src/esm/interfaces/DrawLib.js.map +1 -1
  123. package/src/esm/interfaces/core.d.ts +13 -2
  124. package/src/esm/interfaces/core.js +1 -0
  125. package/src/esm/interfaces/core.js.map +1 -1
  126. package/src/esm/utils/Params.d.ts +15 -0
  127. package/src/esm/utils/Params.js +44 -0
  128. package/src/esm/utils/Params.js.map +1 -0
  129. package/src/esm/utils/algorithms/ContourLineDetection.d.ts +150 -0
  130. package/src/esm/utils/algorithms/ContourLineDetection.js +362 -0
  131. package/src/esm/utils/algorithms/ContourLineDetection.js.map +1 -0
  132. package/src/esm/utils/algorithms/clearDuplicateVertices.d.ts +21 -0
  133. package/src/esm/utils/algorithms/clearDuplicateVertices.js +44 -0
  134. package/src/esm/utils/algorithms/clearDuplicateVertices.js.map +1 -0
  135. package/src/esm/utils/datastructures/DataGrid2d.d.ts +47 -0
  136. package/src/esm/utils/datastructures/DataGrid2d.js +19 -0
  137. package/src/esm/utils/datastructures/DataGrid2d.js.map +1 -0
  138. package/src/esm/utils/datastructures/DataGrid2dListAdapter.d.ts +65 -0
  139. package/src/esm/utils/datastructures/DataGrid2dListAdapter.js +79 -0
  140. package/src/esm/utils/datastructures/DataGrid2dListAdapter.js.map +1 -0
  141. package/src/esm/utils/datastructures/GenericPath.d.ts +14 -3
  142. package/src/esm/utils/datastructures/GenericPath.js +20 -3
  143. package/src/esm/utils/datastructures/GenericPath.js.map +1 -1
  144. package/src/esm/utils/detectDarkMode.d.ts +10 -0
  145. package/src/esm/utils/detectDarkMode.js +28 -0
  146. package/src/esm/utils/detectDarkMode.js.map +1 -0
  147. package/src/ts/BezierPath.ts +72 -241
  148. package/src/ts/Bounds.ts +25 -1
  149. package/src/ts/CubicBezierCurve.ts +139 -12
  150. package/src/ts/Line.ts +2 -1
  151. package/src/ts/PBText.ts +10 -9
  152. package/src/ts/PlotBoilerplate.ts +56 -19
  153. package/src/ts/Polygon.ts +121 -1
  154. package/src/ts/VEllipse.ts +2 -2
  155. package/src/ts/Vector.ts +4 -4
  156. package/src/ts/VertTuple.ts +4 -3
  157. package/src/ts/Vertex.ts +20 -4
  158. package/src/ts/draw.ts +311 -115
  159. package/src/ts/drawgl.ts +133 -71
  160. package/src/ts/drawutilssvg.ts +543 -121
  161. package/src/ts/interfaces/DrawLib.ts +219 -83
  162. package/src/ts/interfaces/core.ts +14 -2
  163. package/src/ts/utils/Params.ts +47 -0
  164. package/src/ts/utils/algorithms/ContourLineDetection.ts +485 -0
  165. package/src/ts/utils/algorithms/clearDuplicateVertices.ts +49 -0
  166. package/src/ts/utils/datastructures/DataGrid2d.ts +54 -0
  167. package/src/ts/utils/datastructures/DataGrid2dListAdapter.ts +121 -0
  168. package/src/ts/utils/datastructures/GenericPath.ts +21 -3
  169. package/src/ts/utils/detectDarkMode.ts +30 -0
@@ -1 +1 @@
1
- {"version":3,"file":"draw.js","sourceRoot":"","sources":["../ts/draw.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmDI;AAEJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,wCAAwC;AACxC;;;;;;;GAOG;AACH,MAAM,OAAO,SAAS;IAiCpB;;;;;;;QAOI;IACJ,YAAY,OAAiC,EAAE,UAAmB;QAChE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;QAGI;IACJ,cAAc,CAAC,UAAkB;QAC/B,OAAO;IACT,CAAC;IAED;;;;;;;;;QASI;IACJ,YAAY,CAAC,UAAkB;QAC7B,OAAO;IACT,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,aAAmC;QAClD,IAAI,CAAC,GAAG,CAAC,wBAAwB,GAAG,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC;IAC/E,CAAC;IAED;;;;;;;QAOI;IACJ,YAAY,CAAC,GAAe;QAC1B,OAAO;IACT,CAAC;IAED;;;;;;;QAOI;IACJ,mBAAmB,CAAC,SAAwB;QAC1C,OAAO;IACT,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,IAAI,CAAC,EAAU,EAAE,EAAU,EAAE,KAAa,EAAE,SAAkB;QAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,KAAK,CAAC,EAAU,EAAE,EAAU,EAAE,KAAa,EAAE,SAAkB;QAC7D,IAAI,OAAO,GAAW,CAAC,CAAC,CAAC,2BAA2B;QACpD,sGAAsG;QACtG,6GAA6G;QAE7G,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,QAAQ,GAAkB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEvG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;QAaI;IACJ,KAAK,CAAC,KAAuB,EAAE,QAAgB,EAAE,IAAY,EAAE,QAAgB,GAAG;QAChF,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC1C,6CAA6C;YAC7C,OAAO;SACR;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,kEAAkE;QAClE,kCAAkC;QAClC,IAAI,CAAC,GAAG,CAAC,SAAS,CAChB,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,8DAA8D;QACtF,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,oCAAoC;QAC7D,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACzC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACzC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACrB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CACtB,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;QAeI;IACJ,YAAY,CACV,YAA8B,EAC9B,WAAmB,EACnB,OAAgB,EAChB,eAAuB,EACvB,QAAgB;QAEhB,IAAI,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5C,IAAI,sBAAsB,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/F,uGAAuG;QACvG,yCAAyC;QACzC,IAAI,UAAU,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAE3E,yCAAyC;QACzC,IAAI,iBAAiB,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1E,qHAAqH;QACrH,IAAI,mBAAmB,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAEhG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,wHAAwH;QACxH,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEvH,SAAS,CAAC,OAAO,CAAC,QAAQ,CACxB,IAAI,CAAC,GAAG,EACR;YACE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;SACrC,EACD,IAAI,CAAC,KAAK,EACV,OAAO,CAAC,QAAQ,CACjB,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,SAAS,CAChB,YAAY,EACZ,CAAC,EACD,CAAC,EACD,YAAY,CAAC,YAAY,GAAG,CAAC,EAAE,8DAA8D;QAC7F,YAAY,CAAC,aAAa,GAAG,CAAC,EAAE,oCAAoC;QACpE,mBAAmB,CAAC,CAAC,EAAE,kBAAkB;QACzC,mBAAmB,CAAC,CAAC,EAAE,kBAAkB;QACzC,iBAAiB,CAAC,CAAC,EAAE,mBAAmB;QACxC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB;SACtC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,aAAa,CACX,YAA8B,EAC9B,WAAmB,EACnB,OAAgB,EAChB,eAAuB,EACvB,QAAgB,EAChB,iBAA2B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAEzC,IAAI,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5C,IAAI,sBAAsB,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/F,IAAI,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACpG,yCAAyC;QACzC,IAAI,UAAU,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAE3E,yCAAyC;QACzC,IAAI,iBAAiB,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,mBAAmB,GAAG,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAElH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAEhB,sBAAsB;QACtB,0GAA0G;QAC1G,yGAAyG;QACzG,KAAK;QACL,IAAI,CAAC,GAAG,CAAC,SAAS,CAChB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACpG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CACrG,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE1B,SAAS,CAAC,OAAO,CAAC,QAAQ,CACxB,IAAI,CAAC,GAAG,EACR;YACE,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACrF,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;SACtF,EACD,IAAI,CAAC,KAAK,EACV,OAAO,CAAC,QAAQ,CACjB,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,CAChB,YAAY,EACZ,CAAC,EACD,CAAC,EACD,YAAY,CAAC,YAAY,GAAG,CAAC,EAAE,8DAA8D;QAC7F,YAAY,CAAC,aAAa,GAAG,CAAC,EAAE,oCAAoC;QACpE,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACxF,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACxF,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAClC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CACnC,CAAC;QAEF,wCAAwC;QACxC,gBAAgB;QAChB,uEAAuE;QACvE,sEAAsE;QACtE,2CAA2C;QAC3C,gBAAgB;QAChB,6FAA6F;QAC7F,4FAA4F;QAC5F,0CAA0C;QAC1C,KAAK;QACL,sBAAsB;QACtB,kBAAkB;QAClB,OAAO;QACP,OAAO;QACP,kGAAkG;QAClG,yEAAyE;QACzE,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,KAAK;QAEL,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;QAQI;IACJ,IAAI,CAAC,QAAkB,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,SAAkB;QACvF,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3H,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjH,mGAAmG;QACnG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,qFAAqF;IACrF,+EAA+E;IAC/E,0CAA0C;IAC1C,IAAI;IACJ,kDAAkD;IAClD,kDAAkD;IAClD,IAAI;IACJ,qDAAqD;IACrD,IAAI;IACJ,6CAA6C;IAC7C,mCAAmC;IACnC,2CAA2C;IAC3C,WAAW,CAAC,KAAa;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACjB;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;SACnB;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,WAAW,CACT,UAAkB,EAClB,QAAgB,EAChB,iBAAyB,EACzB,eAAuB,EACvB,KAAa,EACb,SAAkB;QAElB,IAAI,UAAU,YAAY,gBAAgB,EAAE;YAC1C,IAAI,CAAC,WAAW,CACd,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,iBAAiB,EAC5B,UAAU,CAAC,eAAe,EAC1B,KAAK,EACL,SAAS,CACV,CAAC;YACF,OAAO;SACR;QACD,aAAa;QACb,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,GAAG,CAAC,aAAa,CACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAClD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAClD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAChD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAChD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACzC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAC1C,CAAC;QACF,uBAAuB;QACvB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,UAAkB,EAAE,YAAoB,EAAE,QAAgB,EAAE,KAAa,EAAE,SAAkB;QAC3G,aAAa;QACb,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,GAAG,CAAC,gBAAgB,CACvB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAC7C,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAC7C,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACzC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAC1C,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,IAAmB,EAAE,KAAa,EAAE,SAAkB;QACpE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QACtC,aAAa;QACb,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,QAAgB,CAAC;QACrB,IAAI,iBAAyB,CAAC;QAC9B,IAAI,eAAuB,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACvC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,eAAe,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,aAAa,CACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAClD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAClD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAChD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAChD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACzC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAC1C,CAAC;SACH;QACD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,UAAkB,EAAE,QAAgB;QACzC,eAAe;QACf,qCAAqC;QACrC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;OASG;IACH,UAAU,CAAC,UAAkB,EAAE,QAAgB;QAC7C,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;OASG;IACH,GAAG,CAAC,CAAS,EAAE,KAAa;QAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,CAAS,EAAE,KAAa;QAC5B,IAAI,MAAM,GAAW,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpH,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,MAAc,EAAE,MAAc,EAAE,KAAa,EAAE,SAAkB;QACtE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,CACd,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACrB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACrB,GAAG,EACH,GAAG,EACH,IAAI,CAAC,EAAE,GAAG,CAAC,CACZ,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;SAcK;IACL,SAAS,CACP,MAAc,EACd,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,KAAc,EACd,SAAkB,EAClB,OAAiC;QAEjC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;SACtB;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CACd,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACrB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACrB,GAAG,EACH,UAAU,EACV,QAAQ,EACR,KAAK,CACN,CAAC;QACF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAClC,wBAAwB;YACxB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;SACtC;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,MAAc,EAAE,OAAe,EAAE,OAAe,EAAE,KAAa,EAAE,SAAkB,EAAE,QAAiB;QAC5G,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACnC,QAAQ,GAAG,GAAG,CAAC;SAChB;QACD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,CACd,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACtB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACtB,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,EAAE,GAAG,CAAC,CACZ,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,MAAgB,EAAE,IAAY,EAAE,KAAa,EAAE,SAAkB;QACtE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACtD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACtD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACnB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CACpB,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,KAAa;QAC7F,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,IAAI,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;QAC9D,IAAI,IAAI,GAAW,MAAM,GAAG,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;YACjF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClH;QAED,IAAI,IAAI,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,wCAAwC;QACtG,IAAI,IAAI,GAAW,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;YACnF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACtH;QACD,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,KAAa;QAC/F,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;YACjF,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;gBACnF,mBAAmB;gBACnB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACnH;SACF;QACD,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,MAAc,EAAE,IAAY,EAAE,KAAa;QACvD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;QAC/G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;QAC/G,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,MAAc,EAAE,IAAY,EAAE,KAAa;QACtD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EACpD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EACpD,IAAI,EACJ,IAAI,CACL,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,KAAa;QACxD,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9H,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,MAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,SAAkB;QAC3E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAC3G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAC3G,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,GAAG,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,MAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,SAAkB;QACvE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACpH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACpH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACpH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACpH,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,GAAG,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAgB,EAAE,KAAa,EAAE,SAAkB;QACzD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,QAAuB,EAAE,MAAe,EAAE,KAAa,EAAE,SAAkB;QAClF,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YACxB,OAAO;SACR;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC7G;QACD,IAAI,CAAC,MAAM;YACT,2BAA2B;YAC3B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,CACF,IAAY,EACZ,CAAS,EACT,CAAS,EACT,OASC;QAED,2CAA2C;;QAE3C,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAW,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;QAC/C,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE;YAC1C,6CAA6C;YAC7C,IAAI,CAAC,GAAG,CAAC,IAAI;gBACX,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;oBAClE,CAAC,OAAO,CAAC,UAAU;wBACjB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BACtC,CAAC,CAAC,OAAO,CAAC,UAAU;4BACpB,CAAC,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG;wBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC;SAChB;QACD,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;SACxC;QAED,MAAM,QAAQ,SAAG,OAAO,CAAC,QAAQ,mCAAI,GAAG,CAAC;QACzC,MAAM,UAAU,GAAG,aAAC,OAAO,CAAC,UAAU,mCAAI,OAAO,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE1B,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;SAC9C;QACD,oCAAoC;QACpC,uEAAuE;QACvE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,QAAiB,EAAE,KAAc;QACzE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAEhB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAEpC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,IAAI,OAAO,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,QAAuB,EAAE,KAAc,EAAE,SAAkB,EAAE,OAA+B;QAC/F,MAAM,CAAC,GAAkB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrG,YAAY,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;SAC9B;QACD,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;aAC5B;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;aAC9B;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC1C;IACH,CAAC;IAED;;;;;;;QAOI;IACJ,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;;AAEc,iBAAO,GAAG;IACvB,iDAAiD;IACjD,kDAAkD;IAClD,QAAQ,EAAE,CAAC,GAA6B,EAAE,MAAgB,EAAE,KAAe,EAAE,QAAyB,EAAQ,EAAE;QAC9G,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,gBAAgB;QAChB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,IAAI,GAAa,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SACtE;QACD,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"draw.js","sourceRoot":"","sources":["../ts/draw.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2DI;AAEJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,wCAAwC;AACxC;;;;;;;GAOG;AACH,MAAM,OAAO,SAAS;IAiCpB;;;;;;;QAOI;IACJ,YAAY,OAAiC,EAAE,UAAmB;QAChE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACnB,sBAAsB;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,aAA6B;;QACnD,IAAI,CAAC,GAAG,CAAC,WAAW,CAClB,OAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,aAAqB,EAAE,EAAE;YAC7D,kCAAkC;YAClC,4CAA4C;YAC5C,OAAO,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,OAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,qFAAqF;IACrF,+EAA+E;IAC/E,0CAA0C;IAC1C,IAAI;IACJ,kDAAkD;IAClD,kDAAkD;IAClD,IAAI;IACJ,qDAAqD;IACrD,IAAI;IACJ,6CAA6C;IAC7C,mCAAmC;IACnC,2CAA2C;IAC3C,WAAW,CAAC,KAAa;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACjB;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;SACnB;IACH,CAAC;IAED;;;QAGI;IACJ,cAAc,CAAC,UAAkB;QAC/B,OAAO;IACT,CAAC;IAED;;;;;;;;;QASI;IACJ,YAAY,CAAC,UAAkB;QAC7B,OAAO;IACT,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,aAAmC;QAClD,IAAI,CAAC,GAAG,CAAC,wBAAwB,GAAG,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC;IAC/E,CAAC;IAED,MAAM;IACN,gFAAgF;IAChF,KAAK;IACL,qFAAqF;IACrF,+FAA+F;IAC/F,+BAA+B;IAC/B,KAAK;IACL,aAAa;IACb,2EAA2E;IAC3E,qBAAqB;IACrB,MAAM;IACN,yCAAyC;IACzC,8BAA8B;IAC9B,IAAI;IAEJ;;;;;;;QAOI;IACJ,YAAY,CAAC,GAAe;QAC1B,OAAO;IACT,CAAC;IAED;;;;;;;QAOI;IACJ,mBAAmB,CAAC,SAAwB;QAC1C,OAAO;IACT,CAAC;IAED;;;;;;;;;;;;;QAaI;IACJ,IAAI,CAAC,EAAY,EAAE,EAAY,EAAE,KAAa,EAAE,SAAkB,EAAE,aAA6B;QAC/F,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;QAcI;IACJ,KAAK,CAAC,EAAY,EAAE,EAAY,EAAE,KAAa,EAAE,SAAkB,EAAE,aAAqB,CAAC,EAAE,aAA6B;QACxH,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC,kCAAkC;QAC1H,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,8BAA8B;IACvG,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,gBAAgB,CACd,UAAoB,EACpB,QAAkB,EAClB,iBAA2B,EAC3B,eAAyB,EACzB,KAAa,EACb,SAAkB,EAClB,UAAmB,EACnB,aAA6B;QAE7B,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/C,kCAAkC;QAClC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;QAC1G,MAAM,IAAI,GAAG,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxD,8BAA8B;QAC9B,IAAI,CAAC,WAAW,CACd,UAAU,EACV,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAClD,iBAAiB,EACjB,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAChE,KAAK,EACL,SAAS,EACT,aAAa,CACd,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;QAeI;IACJ,SAAS,CACP,EAAY,EACZ,EAAY,EACZ,KAAa,EACb,SAAkB,EAClB,aAAqB,CAAC,EACtB,aAA6B,EAC7B,2BAAsC;QAEtC,0DAA0D;QAE1D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,QAAQ,GAAkB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1G,IAAI,2BAA2B,EAAE;YAC/B,2BAA2B,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,2BAA2B,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9D;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;QAaI;IACJ,KAAK,CAAC,KAAuB,EAAE,QAAkB,EAAE,IAAc,EAAE,QAAgB,GAAG;QACpF,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC1C,6CAA6C;YAC7C,OAAO;SACR;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,kEAAkE;QAClE,kCAAkC;QAClC,IAAI,CAAC,GAAG,CAAC,SAAS,CAChB,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,8DAA8D;QACtF,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,oCAAoC;QAC7D,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACzC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACzC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACrB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CACtB,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;QAeI;IACJ,YAAY,CACV,YAA8B,EAC9B,WAAmB,EACnB,OAAgB,EAChB,eAAyB,EACzB,QAAgB;QAEhB,IAAI,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5C,kGAAkG;QAClG,IAAI,sBAAsB,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;QAExH,8EAA8E;QAE9E,yCAAyC;QACzC,IAAI,iBAAiB,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1E,qHAAqH;QACrH,IAAI,mBAAmB,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAEhG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,wHAAwH;QACxH,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEvH,SAAS,CAAC,OAAO,CAAC,QAAQ,CACxB,IAAI,CAAC,GAAG,EACR;YACE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;SACrC,EACD,IAAI,CAAC,KAAK,EACV,OAAO,CAAC,QAAQ,CACjB,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,SAAS,CAChB,YAAY,EACZ,CAAC,EACD,CAAC,EACD,YAAY,CAAC,YAAY,GAAG,CAAC,EAAE,8DAA8D;QAC7F,YAAY,CAAC,aAAa,GAAG,CAAC,EAAE,oCAAoC;QACpE,mBAAmB,CAAC,CAAC,EAAE,kBAAkB;QACzC,mBAAmB,CAAC,CAAC,EAAE,kBAAkB;QACzC,iBAAiB,CAAC,CAAC,EAAE,mBAAmB;QACxC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB;SACtC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4EE;IAEF;;;;;;;;;;;;;QAaI;IACJ,IAAI,CACF,QAAkB,EAClB,KAAa,EACb,MAAc,EACd,KAAa,EACb,SAAkB,EAClB,aAA6B;QAE7B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3H,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjH,mGAAmG;QACnG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CACT,UAAoB,EACpB,QAAkB,EAClB,iBAA2B,EAC3B,eAAyB,EACzB,KAAa,EACb,SAAkB,EAClB,aAA6B;QAE7B,IAAI,UAAU,YAAY,gBAAgB,EAAE;YAC1C,IAAI,CAAC,WAAW,CACd,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,iBAAiB,EAC5B,UAAU,CAAC,eAAe,EAC1B,KAAK,EACL,SAAS,CACV,CAAC;YACF,OAAO;SACR;QACD,aAAa;QACb,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,GAAG,CAAC,aAAa,CACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAClD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAClD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAChD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAChD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACzC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAC1C,CAAC;QACF,uBAAuB;QACvB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,eAAe,CACb,UAAoB,EACpB,YAAsB,EACtB,QAAkB,EAClB,KAAa,EACb,SAAkB,EAClB,aAA6B;QAE7B,aAAa;QACb,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,GAAG,CAAC,gBAAgB,CACvB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAC7C,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAC7C,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACzC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAC1C,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,CAAC,IAAqB,EAAE,KAAa,EAAE,SAAkB,EAAE,aAA6B;QACrG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7B,OAAO;SACR;QACD,aAAa;QACb,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,QAAkB,CAAC;QACvB,IAAI,iBAA2B,CAAC;QAChC,IAAI,eAAyB,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACvC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,eAAe,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,aAAa,CACpB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAClD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAClD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAChD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAChD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACzC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAC1C,CAAC;SACH;QACD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,UAAoB,EAAE,QAAkB;QAC7C,eAAe;QACf,qCAAqC;QACrC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;OASG;IACH,UAAU,CAAC,UAAoB,EAAE,QAAkB;QACjD,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,wBAAwB,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;OASG;IACH,GAAG,CAAC,CAAW,EAAE,KAAa;QAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;QACrD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,CAAW,EAAE,KAAa;QAC9B,IAAI,MAAM,GAAW,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;QACrD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpH,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,MAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,SAAkB,EAAE,aAA6B;QACvG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,CACd,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACrB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACrB,GAAG,EACH,GAAG,EACH,IAAI,CAAC,EAAE,GAAG,CAAC,CACZ,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CACP,MAAgB,EAChB,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,KAAc,EACd,SAAkB,EAClB,OAAiD;QAEjD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;SACtB;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,CACd,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACrB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACrB,GAAG,EACH,UAAU,EACV,QAAQ,EACR,KAAK,CACN,CAAC;QACF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAClC,wBAAwB;YACxB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;SACtC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CACL,MAAgB,EAChB,OAAe,EACf,OAAe,EACf,KAAa,EACb,SAAkB,EAClB,QAAiB,EACjB,aAA6B;QAE7B,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACnC,QAAQ,GAAG,GAAG,CAAC;SAChB;QACD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,CACd,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACvC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACtB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACtB,QAAQ,EACR,GAAG,EACH,IAAI,CAAC,EAAE,GAAG,CAAC,CACZ,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,MAAgB,EAAE,IAAY,EAAE,KAAa,EAAE,SAAkB,EAAE,aAA6B;QACrG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACtD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACtD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EACnB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CACpB,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,MAAgB,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,KAAa;QAC/F,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;QACrD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,IAAI,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;QAC9D,IAAI,IAAI,GAAW,MAAM,GAAG,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;YACjF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClH;QAED,IAAI,IAAI,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,wCAAwC;QACtG,IAAI,IAAI,GAAW,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;YACnF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACtH;QACD,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,MAAgB,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,KAAa;QACjG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;QACrD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;YACjF,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;gBACnF,mBAAmB;gBACnB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACnH;SACF;QACD,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,MAAgB,EAAE,IAAY,EAAE,KAAa;QACzD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;QACrD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;QAC/G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;QAC/G,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,MAAgB,EAAE,IAAY,EAAE,KAAa;QACxD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;QACrD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EACpD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,EACpD,IAAI,EACJ,IAAI,CACL,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,MAAgB,EAAE,MAAc,EAAE,KAAa;QAC1D,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;QAErD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9H,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,MAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,SAAkB;QAC3E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;QACrD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAC3G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAC3G,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,GAAG,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,MAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,SAAkB;QACvE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;QACrD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACpH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACpH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACpH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACpH,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,GAAG,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,OAAgB,EAAE,KAAa,EAAE,SAAkB,EAAE,aAA6B;QACxF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,QAAyB,EAAE,MAAe,EAAE,KAAa,EAAE,SAAkB,EAAE,aAA6B;QACnH,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YACxB,OAAO;SACR;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC7G;QACD,IAAI,CAAC,MAAM;YACT,2BAA2B;YAC3B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,CACF,IAAY,EACZ,CAAS,EACT,CAAS,EACT,OASC;QAED,2CAA2C;;QAE3C,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAW,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;QAC/C,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE;YAC1C,6CAA6C;YAC7C,IAAI,CAAC,GAAG,CAAC,IAAI;gBACX,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;oBAClE,CAAC,OAAO,CAAC,UAAU;wBACjB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BACtC,CAAC,CAAC,OAAO,CAAC,UAAU;4BACpB,CAAC,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG;wBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC;SAChB;QACD,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;SACxC;QAED,MAAM,QAAQ,SAAG,OAAO,CAAC,QAAQ,mCAAI,GAAG,CAAC;QACzC,MAAM,UAAU,GAAG,aAAC,OAAO,CAAC,UAAU,mCAAI,OAAO,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE1B,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;SAC9C;QACD,oCAAoC;QACpC,uEAAuE;QACvE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,QAAiB,EAAE,KAAc;QACzE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAEhB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAEpC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,IAAI,OAAO,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,QAAuB,EAAE,KAAc,EAAE,SAAkB,EAAE,OAA+C;QAC/G,MAAM,CAAC,GAAkB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrG,YAAY,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;SAC9B;QACD,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;aAC5B;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;aAC9B;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC1C;IACH,CAAC;IAED;;;;;;;QAOI;IACJ,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;;AAEc,iBAAO,GAAG;IACvB,iDAAiD;IACjD,kDAAkD;IAClD,QAAQ,EAAE,CAAC,GAA6B,EAAE,MAAgB,EAAE,KAAe,EAAE,QAAyB,EAAQ,EAAE;QAC9G,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,gBAAgB;QAChB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,IAAI,GAAa,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SACtE;QACD,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;CACF,CAAC"}
@@ -11,7 +11,12 @@
11
11
  * @modified 2022-03-27 Added the `texturedPoly` function.
12
12
  * @modified 2022-07-26 Adding `alpha` to the `image(...)` function.
13
13
  * @modified 2023-02-10 The methods `setCurrentClassName` and `setCurrentId` also accept `null` now.
14
- * @version 0.0.9
14
+ * @modified 2023-09-29 Downgrading all `Vertex` param type to the more generic `XYCoords` type in these render functions: line, arrow, texturedPoly, cubicBezier, cubicBezierPath, handle, handleLine, dot, point, circle, circleArc, ellipse, grid, raster.
15
+ * @modified 2023-09-29 Added the `headLength` parameter to the 'DrawLib.arrow()` function.
16
+ * @modified 2023-09-29 Added the `arrowHead(...)` function to the 'DrawLib.arrow()` interface.
17
+ * @modified 2023-09-29 Added the `cubicBezierArrow(...)` function to the 'DrawLib.arrow()` interface.
18
+ * @modified 2023-09-29 Added the `lineDashes` attribute.
19
+ * @version 0.0.10
15
20
  **/
16
21
  import { Polygon } from "./Polygon";
17
22
  import { Vertex } from "./Vertex";
@@ -104,26 +109,58 @@ export declare class drawutilsgl implements DrawLib<void> {
104
109
  * Draw the line between the given two points with the specified (CSS-) color.
105
110
  *
106
111
  * @method line
107
- * @param {Vertex} zA - The start point of the line.
108
- * @param {Vertex} zB - The end point of the line.
112
+ * @param {XYCoords} zA - The start point of the line.
113
+ * @param {XYCoords} zB - The end point of the line.
109
114
  * @param {string} color - Any valid CSS color string.
110
115
  * @return {void}
111
116
  * @instance
112
117
  * @memberof drawutils
113
118
  **/
114
- line(zA: Vertex, zB: Vertex, color: string): void;
119
+ line(zA: XYCoords, zB: XYCoords, color: string): void;
115
120
  /**
116
121
  * Draw a line and an arrow at the end (zB) of the given line with the specified (CSS-) color.
117
122
  *
118
123
  * @method arrow
119
- * @param {Vertex} zA - The start point of the arrow-line.
120
- * @param {Vertex} zB - The end point of the arrow-line.
124
+ * @param {XYCoords} zA - The start point of the arrow-line.
125
+ * @param {XYCoords} zB - The end point of the arrow-line.
121
126
  * @param {string} color - Any valid CSS color string.
127
+ * @param {headLength=8} headLength - (optional) The length of the arrow head (default is 8 units).
122
128
  * @return {void}
123
129
  * @instance
124
130
  * @memberof drawutils
125
131
  **/
126
- arrow(zA: Vertex, zB: Vertex, color: string): void;
132
+ arrow(zA: XYCoords, zB: XYCoords, color: string): void;
133
+ /**
134
+ * Draw a cubic Bézier curve and and an arrow at the end (endControlPoint) of the given line width the specified (CSS-) color and arrow size.
135
+ *
136
+ * @method cubicBezierArrow
137
+ * @param {XYCoords} startPoint - The start point of the cubic Bézier curve
138
+ * @param {XYCoords} endPoint - The end point the cubic Bézier curve.
139
+ * @param {XYCoords} startControlPoint - The start control point the cubic Bézier curve.
140
+ * @param {XYCoords} endControlPoint - The end control point the cubic Bézier curve.
141
+ * @param {string} color - The CSS color to draw the curve with.
142
+ * @param {number} lineWidth - (optional) The line width to use.
143
+ * @param {headLength=8} headLength - (optional) The length of the arrow head (default is 8 units).
144
+ *
145
+ * @return {void}
146
+ * @instance
147
+ * @memberof DrawLib
148
+ */
149
+ cubicBezierArrow(startPoint: XYCoords, endPoint: XYCoords, startControlPoint: XYCoords, endControlPoint: XYCoords, color: string, lineWidth?: number, headLength?: number): void;
150
+ /**
151
+ * Draw just an arrow head a the end of an imaginary line (zB) of the given line width the specified (CSS-) color and size.
152
+ *
153
+ * @method arrow
154
+ * @param {XYCoords} zA - The start point of the arrow-line.
155
+ * @param {XYCoords} zB - The end point of the arrow-line.
156
+ * @param {string} color - Any valid CSS color string.
157
+ * @param {number=1} lineWidth - (optional) The line width to use; default is 1.
158
+ * @param {number=8} headLength - (optional) The length of the arrow head (default is 8 pixels).
159
+ * @return {void}
160
+ * @instance
161
+ * @memberof DrawLib
162
+ **/
163
+ arrowHead(zA: XYCoords, zB: XYCoords, color: string, lineWidth?: number, headLength?: number): void;
127
164
  /**
128
165
  * Draw an image at the given position with the given size.<br>
129
166
  * <br>
@@ -131,14 +168,14 @@ export declare class drawutilsgl implements DrawLib<void> {
131
168
  *
132
169
  * @method image
133
170
  * @param {Image} image - The image object to draw.
134
- * @param {Vertex} position - The position to draw the the upper left corner at.
135
- * @param {Vertex} size - The x/y-size to draw the image with.
171
+ * @param {XYCoords} position - The position to draw the the upper left corner at.
172
+ * @param {XYCoords} size - The x/y-size to draw the image with.
136
173
  * @param {number=0.0} alpha - (optional, default=0.0) The transparency (0.0=opaque, 1.0=transparent).
137
174
  * @return {void}
138
175
  * @instance
139
176
  * @memberof drawutils
140
177
  **/
141
- image(image: HTMLImageElement, position: Vertex, size: Vertex, alpha?: number): void;
178
+ image(image: HTMLImageElement, position: XYCoords, size: XYCoords, alpha?: number): void;
142
179
  /**
143
180
  * Draw an image at the given position with the given size.<br>
144
181
  * <br>
@@ -148,29 +185,29 @@ export declare class drawutilsgl implements DrawLib<void> {
148
185
  * @param {Image} textureImage - The image object to draw.
149
186
  * @param {Bounds} textureSize - The texture size to use; these are the original bounds to map the polygon vertices to.
150
187
  * @param {Polygon} polygon - The polygon to use as clip path.
151
- * @param {Vertex} polygonPosition - The polygon's position (relative), measured at the bounding box's center.
188
+ * @param {XYCoords} polygonPosition - The polygon's position (relative), measured at the bounding box's center.
152
189
  * @param {number} rotation - The rotation to use for the polygon (and for the texture).
153
190
  * @return {void}
154
191
  * @instance
155
192
  * @memberof drawutilsgl
156
193
  **/
157
- texturedPoly(textureImage: HTMLImageElement, textureSize: Bounds, polygon: Polygon, polygonPosition: Vertex, rotation: number): void;
194
+ texturedPoly(textureImage: HTMLImageElement, textureSize: Bounds, polygon: Polygon, polygonPosition: XYCoords, rotation: number): void;
158
195
  _fillOrDraw(color: string): void;
159
196
  /**
160
197
  * Draw the given (cubic) bézier curve.
161
198
  *
162
199
  * @method cubicBezier
163
- * @param {Vertex} startPoint - The start point of the cubic Bézier curve
164
- * @param {Vertex} endPoint - The end point the cubic Bézier curve.
165
- * @param {Vertex} startControlPoint - The start control point the cubic Bézier curve.
166
- * @param {Vertex} endControlPoint - The end control point the cubic Bézier curve.
200
+ * @param {XYCoords} startPoint - The start point of the cubic Bézier curve
201
+ * @param {XYCoords} endPoint - The end point the cubic Bézier curve.
202
+ * @param {XYCoords} startControlPoint - The start control point the cubic Bézier curve.
203
+ * @param {VertXYCoordsex} endControlPoint - The end control point the cubic Bézier curve.
167
204
  * @param {string} color - The CSS color to draw the curve with.
168
205
  * @param {number=} lineWidth - (optional) The line width to use; default is 1.
169
206
  * @return {void}
170
207
  * @instance
171
208
  * @memberof drawutils
172
209
  */
173
- cubicBezier(startPoint: Vertex, endPoint: Vertex, startControlPoint: Vertex, endControlPoint: Vertex, color: string, lineWidth?: number): void;
210
+ cubicBezier(startPoint: XYCoords, endPoint: XYCoords, startControlPoint: XYCoords, endControlPoint: XYCoords, color: string, lineWidth?: number): void;
174
211
  /**
175
212
  * Draw the given (cubic) Bézier path.
176
213
  *
@@ -179,67 +216,67 @@ export declare class drawutilsgl implements DrawLib<void> {
179
216
  * <pre> [ point1, point1_startControl, point2_endControl, point2, point2_startControl, point3_endControl, point3, ... pointN_endControl, pointN ]</pre>
180
217
  *
181
218
  * @method cubicBezierPath
182
- * @param {Vertex[]} path - The cubic bezier path as described above.
219
+ * @param {XYCoords[]} path - The cubic bezier path as described above.
183
220
  * @param {string} color - The CSS colot to draw the path with.
184
221
  * @param {number=} lineWidth - (optional) The line width to use; default is 1.
185
222
  * @return {void}
186
223
  * @instance
187
224
  * @memberof drawutils
188
225
  */
189
- cubicBezierPath(path: Array<Vertex>, color: string, lineWidth?: number): void;
226
+ cubicBezierPath(path: Array<XYCoords>, color: string, lineWidth?: number): void;
190
227
  /**
191
228
  * Draw the given handle and handle point (used to draw interactive Bézier curves).
192
229
  *
193
230
  * The colors for this are fixed and cannot be specified.
194
231
  *
195
232
  * @method handle
196
- * @param {Vertex} startPoint - The start of the handle.
197
- * @param {Vertex} endPoint - The end point of the handle.
233
+ * @param {XYCoords} startPoint - The start of the handle.
234
+ * @param {XYCoords} endPoint - The end point of the handle.
198
235
  * @return {void}
199
236
  * @instance
200
237
  * @memberof drawutils
201
238
  */
202
- handle(startPoint: Vertex, endPoint: Vertex): void;
239
+ handle(startPoint: XYCoords, endPoint: XYCoords): void;
203
240
  /**
204
241
  * Draw a handle line (with a light grey).
205
242
  *
206
243
  * @method handleLine
207
- * @param {Vertex} startPoint - The start point to draw the handle at.
208
- * @param {Vertex} endPoint - The end point to draw the handle at.
244
+ * @param {XYCoords} startPoint - The start point to draw the handle at.
245
+ * @param {XYCoords} endPoint - The end point to draw the handle at.
209
246
  * @return {void}
210
247
  * @instance
211
248
  * @memberof drawutils
212
249
  */
213
- handleLine(startPoint: Vertex, endPoint: Vertex): void;
250
+ handleLine(startPoint: XYCoords, endPoint: XYCoords): void;
214
251
  /**
215
252
  * Draw a 1x1 dot with the specified (CSS-) color.
216
253
  *
217
254
  * @method dot
218
- * @param {Vertex} p - The position to draw the dot at.
255
+ * @param {XYCoords} p - The position to draw the dot at.
219
256
  * @param {string} color - The CSS color to draw the dot with.
220
257
  * @return {void}
221
258
  * @instance
222
259
  * @memberof drawutils
223
260
  */
224
- dot(p: Vertex, color: string): void;
261
+ dot(p: XYCoords, color: string): void;
225
262
  /**
226
263
  * Draw the given point with the specified (CSS-) color and radius 3.
227
264
  *
228
265
  * @method point
229
- * @param {Vertex} p - The position to draw the point at.
266
+ * @param {XYCoords} p - The position to draw the point at.
230
267
  * @param {string} color - The CSS color to draw the point with.
231
268
  * @return {void}
232
269
  * @instance
233
270
  * @memberof drawutils
234
271
  */
235
- point(p: Vertex, color: string): void;
272
+ point(p: XYCoords, color: string): void;
236
273
  /**
237
274
  * Draw a circle with the specified (CSS-) color and radius.<br>
238
275
  * <br>
239
276
  * Note that if the x- and y- scales are different the result will be an ellipse rather than a circle.
240
277
  *
241
278
  * @method circle
242
- * @param {Vertex} center - The center of the circle.
279
+ * @param {XYCoords} center - The center of the circle.
243
280
  * @param {number} radius - The radius of the circle.
244
281
  * @param {string} color - The CSS color to draw the circle with.
245
282
  * @param {number=} lineWidth - (optional) The line width to use; default is 1.
@@ -247,12 +284,12 @@ export declare class drawutilsgl implements DrawLib<void> {
247
284
  * @instance
248
285
  * @memberof drawutils
249
286
  */
250
- circle(center: Vertex, radius: number, color: string, lineWidth?: number): void;
287
+ circle(center: XYCoords, radius: number, color: string, lineWidth?: number): void;
251
288
  /**
252
289
  * Draw a circular arc (section of a circle) with the given CSS color.
253
290
  *
254
291
  * @method circleArc
255
- * @param {Vertex} center - The center of the circle.
292
+ * @param {XYCoords} center - The center of the circle.
256
293
  * @param {number} radius - The radius of the circle.
257
294
  * @param {number} startAngle - The angle to start at.
258
295
  * @param {number} endAngle - The angle to end at.
@@ -261,12 +298,12 @@ export declare class drawutilsgl implements DrawLib<void> {
261
298
  * @instance
262
299
  * @memberof drawutils
263
300
  */
264
- circleArc(center: Vertex, radius: number, startAngle: number, endAngle: number, color: string, lineWidth?: number): void;
301
+ circleArc(center: XYCoords, radius: number, startAngle: number, endAngle: number, color: string, lineWidth?: number): void;
265
302
  /**
266
303
  * Draw an ellipse with the specified (CSS-) color and thw two radii.
267
304
  *
268
305
  * @method ellipse
269
- * @param {Vertex} center - The center of the ellipse.
306
+ * @param {XYCoords} center - The center of the ellipse.
270
307
  * @param {number} radiusX - The radius of the ellipse.
271
308
  * @param {number} radiusY - The radius of the ellipse.
272
309
  * @param {string} color - The CSS color to draw the ellipse with.
@@ -276,7 +313,7 @@ export declare class drawutilsgl implements DrawLib<void> {
276
313
  * @instance
277
314
  * @memberof drawutils
278
315
  */
279
- ellipse(center: Vertex, radiusX: number, radiusY: number, color: string, lineWidth?: number, rotation?: number): void;
316
+ ellipse(center: XYCoords, radiusX: number, radiusY: number, color: string, lineWidth?: number, rotation?: number): void;
280
317
  /**
281
318
  * Draw square at the given center, size and with the specified (CSS-) color.<br>
282
319
  * <br>
@@ -284,7 +321,7 @@ export declare class drawutilsgl implements DrawLib<void> {
284
321
  *
285
322
  * @method square
286
323
  * @param {XYCords} center - The center of the square.
287
- * @param {Vertex} size - The size of the square.
324
+ * @param {number} size - The size of the square.
288
325
  * @param {string} color - The CSS color to draw the square with.
289
326
  * @param {number=} lineWidth - (optional) The line width to use; default is 1.
290
327
  * @return {void}
@@ -306,7 +343,7 @@ export declare class drawutilsgl implements DrawLib<void> {
306
343
  * Draw a grid of horizontal and vertical lines with the given (CSS-) color.
307
344
  *
308
345
  * @method grid
309
- * @param {Vertex} center - The center of the grid.
346
+ * @param {XYCoords} center - The center of the grid.
310
347
  * @param {number} width - The total width of the grid (width/2 each to the left and to the right).
311
348
  * @param {number} height - The total height of the grid (height/2 each to the top and to the bottom).
312
349
  * @param {number} sizeX - The horizontal grid size.
@@ -316,14 +353,14 @@ export declare class drawutilsgl implements DrawLib<void> {
316
353
  * @instance
317
354
  * @memberof drawutils
318
355
  */
319
- grid(center: Vertex, width: number, height: number, sizeX: number, sizeY: number, color: string): void;
356
+ grid(center: XYCoords, width: number, height: number, sizeX: number, sizeY: number, color: string): void;
320
357
  /**
321
358
  * Draw a raster of crosshairs in the given grid.<br>
322
359
  *
323
360
  * This works analogue to the grid() function
324
361
  *
325
362
  * @method raster
326
- * @param {Vertex} center - The center of the raster.
363
+ * @param {XYCoords} center - The center of the raster.
327
364
  * @param {number} width - The total width of the raster (width/2 each to the left and to the right).
328
365
  * @param {number} height - The total height of the raster (height/2 each to the top and to the bottom).
329
366
  * @param {number} sizeX - The horizontal raster size.
@@ -333,7 +370,7 @@ export declare class drawutilsgl implements DrawLib<void> {
333
370
  * @instance
334
371
  * @memberof drawutils
335
372
  */
336
- raster(center: Vertex, width: number, height: number, sizeX: number, sizeY: number, color: string): void;
373
+ raster(center: XYCoords, width: number, height: number, sizeX: number, sizeY: number, color: string): void;
337
374
  /**
338
375
  * Draw a diamond handle (square rotated by 45°) with the given CSS color.
339
376
  *
@@ -342,14 +379,14 @@ export declare class drawutilsgl implements DrawLib<void> {
342
379
  * as even shaped diamonds.
343
380
  *
344
381
  * @method diamondHandle
345
- * @param {Vertex} center - The center of the diamond.
346
- * @param {Vertex} size - The x/y-size of the diamond.
382
+ * @param {XYCoords} center - The center of the diamond.
383
+ * @param {number} size - The x/y-size of the diamond.
347
384
  * @param {string} color - The CSS color to draw the diamond with.
348
385
  * @return {void}
349
386
  * @instance
350
387
  * @memberof drawutils
351
388
  */
352
- diamondHandle(center: Vertex, size: number, color: string): void;
389
+ diamondHandle(center: XYCoords, size: number, color: string): void;
353
390
  /**
354
391
  * Draw a square handle with the given CSS color.<br>
355
392
  * <br>
@@ -358,14 +395,14 @@ export declare class drawutilsgl implements DrawLib<void> {
358
395
  * as even shaped squares.
359
396
  *
360
397
  * @method squareHandle
361
- * @param {Vertex} center - The center of the square.
362
- * @param {Vertex} size - The x/y-size of the square.
398
+ * @param {XYCoords} center - The center of the square.
399
+ * @param {number} size - The x/y-size of the square.
363
400
  * @param {string} color - The CSS color to draw the square with.
364
401
  * @return {void}
365
402
  * @instance
366
403
  * @memberof drawutils
367
404
  */
368
- squareHandle(center: Vertex, size: number, color: string): void;
405
+ squareHandle(center: XYCoords, size: number, color: string): void;
369
406
  /**
370
407
  * Draw a circle handle with the given CSS color.<br>
371
408
  * <br>
@@ -374,14 +411,14 @@ export declare class drawutilsgl implements DrawLib<void> {
374
411
  * as even shaped circles.
375
412
  *
376
413
  * @method circleHandle
377
- * @param {Vertex} center - The center of the circle.
414
+ * @param {XYCoords} center - The center of the circle.
378
415
  * @param {number} radius - The radius of the circle.
379
416
  * @param {string} color - The CSS color to draw the circle with.
380
417
  * @return {void}
381
418
  * @instance
382
419
  * @memberof drawutils
383
420
  */
384
- circleHandle(center: Vertex, size: number, color: string): void;
421
+ circleHandle(center: XYCoords, size: number, color: string): void;
385
422
  /**
386
423
  * Draw a crosshair with given radius and color at the given position.<br>
387
424
  * <br>
@@ -427,7 +464,7 @@ export declare class drawutilsgl implements DrawLib<void> {
427
464
  * Draw a polygon line (alternative function to the polygon).
428
465
  *
429
466
  * @method polyline
430
- * @param {Vertex[]} vertices - The polygon vertices to draw.
467
+ * @param {XYCoords[]} vertices - The polygon vertices to draw.
431
468
  * @param {boolan} isOpen - If true the polyline will not be closed at its end.
432
469
  * @param {string} color - The CSS color to draw the polygon with.
433
470
  * @param {number=} lineWidth - (optional) The line width to use; default is 1.
@@ -435,7 +472,7 @@ export declare class drawutilsgl implements DrawLib<void> {
435
472
  * @instance
436
473
  * @memberof drawutils
437
474
  */
438
- polyline(vertices: Array<Vertex>, isOpen: boolean, color: string, lineWidth?: number): void;
475
+ polyline(vertices: Array<XYCoords>, isOpen: boolean, color: string, lineWidth?: number): void;
439
476
  /**
440
477
  * Draw a text at the given relative position.
441
478
  *