maidraw 0.4.5 → 0.4.7

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 (204) hide show
  1. package/assets/themes/chunithm/common/verse/achievement/A.png +0 -0
  2. package/assets/themes/chunithm/common/verse/achievement/AA.png +0 -0
  3. package/assets/themes/chunithm/common/verse/achievement/AAA.png +0 -0
  4. package/assets/themes/chunithm/common/verse/achievement/B.png +0 -0
  5. package/assets/themes/chunithm/common/verse/achievement/BB.png +0 -0
  6. package/assets/themes/chunithm/common/verse/achievement/BBB.png +0 -0
  7. package/assets/themes/chunithm/common/verse/achievement/C.png +0 -0
  8. package/assets/themes/chunithm/common/verse/achievement/D.png +0 -0
  9. package/assets/themes/chunithm/common/verse/achievement/S.png +0 -0
  10. package/assets/themes/chunithm/common/verse/achievement/SP.png +0 -0
  11. package/assets/themes/chunithm/common/verse/achievement/SS.png +0 -0
  12. package/assets/themes/chunithm/common/verse/achievement/SSP.png +0 -0
  13. package/assets/themes/chunithm/common/verse/achievement/SSS.png +0 -0
  14. package/assets/themes/chunithm/common/verse/achievement/SSSP.png +0 -0
  15. package/assets/themes/chunithm/common/verse/jp/background.png +0 -0
  16. package/assets/themes/chunithm/common/verse/jp/logo.png +0 -0
  17. package/assets/themes/chunithm/common/versionless/icon.png +0 -0
  18. package/assets/themes/chunithm/common/versionless/milestone/aj.png +0 -0
  19. package/assets/themes/chunithm/common/versionless/milestone/ajc.png +0 -0
  20. package/assets/themes/chunithm/common/versionless/milestone/fc.png +0 -0
  21. package/assets/themes/chunithm/common/versionless/nameplate.png +0 -0
  22. package/assets/themes/chunithm/jp/verseLandscape/manifest.json +132 -0
  23. package/assets/themes/maimai/common/versionless/dxRating/numberMap.png +0 -0
  24. package/assets/themes/maimai/common/versionless/void.png +0 -0
  25. package/dist/chu/bests/best50.d.ts +32 -0
  26. package/dist/chu/bests/best50.js +756 -0
  27. package/dist/chu/bests/best50.js.map +1 -0
  28. package/dist/chu/bests/index.d.ts +1 -0
  29. package/dist/chu/bests/index.js +6 -0
  30. package/dist/chu/bests/index.js.map +1 -0
  31. package/dist/chu/bests/lib/index.d.ts +26 -0
  32. package/dist/chu/bests/lib/index.js +60 -0
  33. package/dist/chu/bests/lib/index.js.map +1 -0
  34. package/dist/chu/bests/lib/kamaiTachi/index.d.ts +154 -0
  35. package/dist/chu/bests/lib/kamaiTachi/index.js +317 -0
  36. package/dist/chu/bests/lib/kamaiTachi/index.js.map +1 -0
  37. package/dist/chu/bests/type.d.ts +122 -0
  38. package/dist/chu/bests/type.js +3 -0
  39. package/dist/chu/bests/type.js.map +1 -0
  40. package/dist/chu/chart/database.d.ts +9 -0
  41. package/dist/chu/chart/database.js +64 -0
  42. package/dist/chu/chart/database.js.map +1 -0
  43. package/dist/chu/chart/index.d.ts +4 -0
  44. package/dist/chu/chart/index.js +9 -0
  45. package/dist/chu/chart/index.js.map +1 -0
  46. package/dist/chu/index.d.ts +8 -0
  47. package/dist/chu/index.js +45 -0
  48. package/dist/chu/index.js.map +1 -0
  49. package/dist/chu/type.d.ts +52 -0
  50. package/dist/chu/type.js +43 -0
  51. package/dist/chu/type.js.map +1 -0
  52. package/dist/index.d.ts +2 -0
  53. package/dist/index.js +2 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/lib/cache.d.ts +8 -0
  56. package/dist/lib/cache.js +52 -0
  57. package/dist/lib/cache.js.map +1 -0
  58. package/dist/mai/best50/index.d.ts +1 -1
  59. package/dist/mai/best50/index.js +6 -4
  60. package/dist/mai/best50/index.js.map +1 -1
  61. package/dist/mai/best50/lib/divingFish/index.d.ts +1 -1
  62. package/dist/mai/best50/lib/divingFish/index.js +1 -1
  63. package/dist/mai/best50/lib/divingFish/index.js.map +1 -1
  64. package/dist/mai/best50/lib/index.d.ts +2 -12
  65. package/dist/mai/best50/lib/index.js +6 -82
  66. package/dist/mai/best50/lib/index.js.map +1 -1
  67. package/dist/mai/best50/lib/kamaiTachi/index.d.ts +1 -1
  68. package/dist/mai/best50/lib/kamaiTachi/index.js +1 -1
  69. package/dist/mai/best50/lib/kamaiTachi/index.js.map +1 -1
  70. package/dist/mai/best50/lib/lxns/index.d.ts +1 -1
  71. package/dist/mai/best50/lib/lxns/index.js +1 -1
  72. package/dist/mai/best50/lib/lxns/index.js.map +1 -1
  73. package/dist/mai/best50/type.d.ts +1 -1
  74. package/dist/mai/chart/database.d.ts +1 -1
  75. package/dist/mai/chart/database.js +19 -12
  76. package/dist/mai/chart/database.js.map +1 -1
  77. package/dist/mai/index.d.ts +2 -0
  78. package/dist/mai/index.js +34 -0
  79. package/dist/mai/index.js.map +1 -1
  80. package/dist/mai/type.js.map +1 -0
  81. package/package.json +2 -2
  82. package/dist/type.js.map +0 -1
  83. /package/assets/themes/{common/versionless/dxRating → chunithm/common/versionless}/numberMap.png +0 -0
  84. /package/assets/themes/{common → chunithm/common}/versionless/void.png +0 -0
  85. /package/assets/themes/{cn → maimai/cn}/2024Landscape/manifest.json +0 -0
  86. /package/assets/themes/{cn → maimai/cn}/2024Portrait/manifest.json +0 -0
  87. /package/assets/themes/{common → maimai/common}/buddies/achievement/a.png +0 -0
  88. /package/assets/themes/{common → maimai/common}/buddies/achievement/aa.png +0 -0
  89. /package/assets/themes/{common → maimai/common}/buddies/achievement/aaa.png +0 -0
  90. /package/assets/themes/{common → maimai/common}/buddies/achievement/b.png +0 -0
  91. /package/assets/themes/{common → maimai/common}/buddies/achievement/bb.png +0 -0
  92. /package/assets/themes/{common → maimai/common}/buddies/achievement/bbb.png +0 -0
  93. /package/assets/themes/{common → maimai/common}/buddies/achievement/c.png +0 -0
  94. /package/assets/themes/{common → maimai/common}/buddies/achievement/d.png +0 -0
  95. /package/assets/themes/{common → maimai/common}/buddies/achievement/s.png +0 -0
  96. /package/assets/themes/{common → maimai/common}/buddies/achievement/sp.png +0 -0
  97. /package/assets/themes/{common → maimai/common}/buddies/achievement/ss.png +0 -0
  98. /package/assets/themes/{common → maimai/common}/buddies/achievement/ssp.png +0 -0
  99. /package/assets/themes/{common → maimai/common}/buddies/achievement/sss.png +0 -0
  100. /package/assets/themes/{common → maimai/common}/buddies/achievement/sssp.png +0 -0
  101. /package/assets/themes/{common → maimai/common}/buddies/cn/logo.png +0 -0
  102. /package/assets/themes/{common → maimai/common}/buddies/jp/background.png +0 -0
  103. /package/assets/themes/{common → maimai/common}/buddies/jp/chara.png +0 -0
  104. /package/assets/themes/{common → maimai/common}/buddies/jp/laundry.png +0 -0
  105. /package/assets/themes/{common → maimai/common}/buddies/jp/logo.png +0 -0
  106. /package/assets/themes/{common → maimai/common}/buddies/plus/chara.png +0 -0
  107. /package/assets/themes/{common → maimai/common}/buddies/plus/laundry.png +0 -0
  108. /package/assets/themes/{common → maimai/common}/buddies/plus/logo.png +0 -0
  109. /package/assets/themes/{common → maimai/common}/finale/achievement/a.png +0 -0
  110. /package/assets/themes/{common → maimai/common}/finale/achievement/aa.png +0 -0
  111. /package/assets/themes/{common → maimai/common}/finale/achievement/aaa.png +0 -0
  112. /package/assets/themes/{common → maimai/common}/finale/achievement/b.png +0 -0
  113. /package/assets/themes/{common → maimai/common}/finale/achievement/c.png +0 -0
  114. /package/assets/themes/{common → maimai/common}/finale/achievement/d.png +0 -0
  115. /package/assets/themes/{common → maimai/common}/finale/achievement/e.png +0 -0
  116. /package/assets/themes/{common → maimai/common}/finale/achievement/f.png +0 -0
  117. /package/assets/themes/{common → maimai/common}/finale/achievement/s.png +0 -0
  118. /package/assets/themes/{common → maimai/common}/finale/achievement/sp.png +0 -0
  119. /package/assets/themes/{common → maimai/common}/finale/achievement/ss.png +0 -0
  120. /package/assets/themes/{common → maimai/common}/finale/achievement/ssp.png +0 -0
  121. /package/assets/themes/{common → maimai/common}/finale/achievement/sss.png +0 -0
  122. /package/assets/themes/{common → maimai/common}/finale/achievement/sssp.png +0 -0
  123. /package/assets/themes/{common → maimai/common}/finale/background.png +0 -0
  124. /package/assets/themes/{common → maimai/common}/finale/background2.png +0 -0
  125. /package/assets/themes/{common → maimai/common}/finale/logo.png +0 -0
  126. /package/assets/themes/{common → maimai/common}/finale/milestone/ap.png +0 -0
  127. /package/assets/themes/{common → maimai/common}/finale/milestone/app.png +0 -0
  128. /package/assets/themes/{common → maimai/common}/finale/milestone/fc.png +0 -0
  129. /package/assets/themes/{common → maimai/common}/finale/milestone/fcp.png +0 -0
  130. /package/assets/themes/{common → maimai/common}/finale/milestone/fdx.png +0 -0
  131. /package/assets/themes/{common → maimai/common}/finale/milestone/fdxp.png +0 -0
  132. /package/assets/themes/{common → maimai/common}/finale/milestone/fsp.png +0 -0
  133. /package/assets/themes/{common → maimai/common}/finale/milestone/sync.png +0 -0
  134. /package/assets/themes/{common → maimai/common}/prism/achievement/a.png +0 -0
  135. /package/assets/themes/{common → maimai/common}/prism/achievement/aa.png +0 -0
  136. /package/assets/themes/{common → maimai/common}/prism/achievement/aaa.png +0 -0
  137. /package/assets/themes/{common → maimai/common}/prism/achievement/b.png +0 -0
  138. /package/assets/themes/{common → maimai/common}/prism/achievement/bb.png +0 -0
  139. /package/assets/themes/{common → maimai/common}/prism/achievement/bbb.png +0 -0
  140. /package/assets/themes/{common → maimai/common}/prism/achievement/c.png +0 -0
  141. /package/assets/themes/{common → maimai/common}/prism/achievement/d.png +0 -0
  142. /package/assets/themes/{common → maimai/common}/prism/achievement/s.png +0 -0
  143. /package/assets/themes/{common → maimai/common}/prism/achievement/sp.png +0 -0
  144. /package/assets/themes/{common → maimai/common}/prism/achievement/ss.png +0 -0
  145. /package/assets/themes/{common → maimai/common}/prism/achievement/ssp.png +0 -0
  146. /package/assets/themes/{common → maimai/common}/prism/achievement/sss.png +0 -0
  147. /package/assets/themes/{common → maimai/common}/prism/achievement/sssp.png +0 -0
  148. /package/assets/themes/{common → maimai/common}/prism/jp/background.png +0 -0
  149. /package/assets/themes/{common → maimai/common}/prism/jp/chara.png +0 -0
  150. /package/assets/themes/{common → maimai/common}/prism/jp/laundry.png +0 -0
  151. /package/assets/themes/{common → maimai/common}/prism/jp/logo.png +0 -0
  152. /package/assets/themes/{common → maimai/common}/prism/plus/chara.png +0 -0
  153. /package/assets/themes/{common → maimai/common}/prism/plus/laundry.png +0 -0
  154. /package/assets/themes/{common → maimai/common}/prism/plus/logo.png +0 -0
  155. /package/assets/themes/{common → maimai/common}/versionless/dxRating/cn/blue.png +0 -0
  156. /package/assets/themes/{common → maimai/common}/versionless/dxRating/cn/bronze.png +0 -0
  157. /package/assets/themes/{common → maimai/common}/versionless/dxRating/cn/gold.png +0 -0
  158. /package/assets/themes/{common → maimai/common}/versionless/dxRating/cn/green.png +0 -0
  159. /package/assets/themes/{common → maimai/common}/versionless/dxRating/cn/platinum.png +0 -0
  160. /package/assets/themes/{common → maimai/common}/versionless/dxRating/cn/purple.png +0 -0
  161. /package/assets/themes/{common → maimai/common}/versionless/dxRating/cn/rainbow.png +0 -0
  162. /package/assets/themes/{common → maimai/common}/versionless/dxRating/cn/red.png +0 -0
  163. /package/assets/themes/{common → maimai/common}/versionless/dxRating/cn/silver.png +0 -0
  164. /package/assets/themes/{common → maimai/common}/versionless/dxRating/cn/white.png +0 -0
  165. /package/assets/themes/{common → maimai/common}/versionless/dxRating/cn/yellow.png +0 -0
  166. /package/assets/themes/{common → maimai/common}/versionless/dxRating/jp/blue.png +0 -0
  167. /package/assets/themes/{common → maimai/common}/versionless/dxRating/jp/bronze.png +0 -0
  168. /package/assets/themes/{common → maimai/common}/versionless/dxRating/jp/gold.png +0 -0
  169. /package/assets/themes/{common → maimai/common}/versionless/dxRating/jp/green.png +0 -0
  170. /package/assets/themes/{common → maimai/common}/versionless/dxRating/jp/platinum.png +0 -0
  171. /package/assets/themes/{common → maimai/common}/versionless/dxRating/jp/purple.png +0 -0
  172. /package/assets/themes/{common → maimai/common}/versionless/dxRating/jp/rainbow.png +0 -0
  173. /package/assets/themes/{common → maimai/common}/versionless/dxRating/jp/red.png +0 -0
  174. /package/assets/themes/{common → maimai/common}/versionless/dxRating/jp/silver.png +0 -0
  175. /package/assets/themes/{common → maimai/common}/versionless/dxRating/jp/white.png +0 -0
  176. /package/assets/themes/{common → maimai/common}/versionless/dxRating/jp/yellow.png +0 -0
  177. /package/assets/themes/{common → maimai/common}/versionless/icon.png +0 -0
  178. /package/assets/themes/{common → maimai/common}/versionless/milestone/ap.png +0 -0
  179. /package/assets/themes/{common → maimai/common}/versionless/milestone/app.png +0 -0
  180. /package/assets/themes/{common → maimai/common}/versionless/milestone/fc.png +0 -0
  181. /package/assets/themes/{common → maimai/common}/versionless/milestone/fcp.png +0 -0
  182. /package/assets/themes/{common → maimai/common}/versionless/milestone/fdx.png +0 -0
  183. /package/assets/themes/{common → maimai/common}/versionless/milestone/fdxp.png +0 -0
  184. /package/assets/themes/{common → maimai/common}/versionless/milestone/fs.png +0 -0
  185. /package/assets/themes/{common → maimai/common}/versionless/milestone/fsp.png +0 -0
  186. /package/assets/themes/{common → maimai/common}/versionless/milestone/none.png +0 -0
  187. /package/assets/themes/{common → maimai/common}/versionless/milestone/sync.png +0 -0
  188. /package/assets/themes/{common → maimai/common}/versionless/mode/cn/dx.png +0 -0
  189. /package/assets/themes/{common → maimai/common}/versionless/mode/cn/standard.png +0 -0
  190. /package/assets/themes/{common → maimai/common}/versionless/mode/jp/dx.png +0 -0
  191. /package/assets/themes/{common → maimai/common}/versionless/mode/jp/standard.png +0 -0
  192. /package/assets/themes/{common → maimai/common}/versionless/nameplate.png +0 -0
  193. /package/assets/themes/{jp → maimai/jp}/buddiesLandscape/manifest.json +0 -0
  194. /package/assets/themes/{jp → maimai/jp}/buddiesPlusLandscape/manifest.json +0 -0
  195. /package/assets/themes/{jp → maimai/jp}/buddiesPlusPortrait/manifest.json +0 -0
  196. /package/assets/themes/{jp → maimai/jp}/buddiesPortrait/manifest.json +0 -0
  197. /package/assets/themes/{jp → maimai/jp}/finaleLandscape/manifest.json +0 -0
  198. /package/assets/themes/{jp → maimai/jp}/finalePortrait/manifest.json +0 -0
  199. /package/assets/themes/{jp → maimai/jp}/prismLandscape/manifest.json +0 -0
  200. /package/assets/themes/{jp → maimai/jp}/prismPlusLandscape/manifest.json +0 -0
  201. /package/assets/themes/{jp → maimai/jp}/prismPlusPortrait/manifest.json +0 -0
  202. /package/assets/themes/{jp → maimai/jp}/prismPortrait/manifest.json +0 -0
  203. /package/dist/{type.d.ts → mai/type.d.ts} +0 -0
  204. /package/dist/{type.js → mai/type.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"best50.js","sourceRoot":"","sources":["../../../src/chu/bests/best50.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,kDAA0B;AAC1B,4CAK2B;AAQ3B,mCAOgB;AAChB,kDAA0B;AAC1B,kDAA0B;AAC1B,+BAAgC;AAEhC,iDAA8C;AAC9C,sEAA2C;AAC3C,8CAA2C;AAE3C,MAAM,oBAAoB;IACd,MAAM,CAAU,QAAQ,GAAG;QAC/B,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;QAC5D,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE;QAC/D,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE;QAC/D,IAAI,EAAE;YACF,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,iEAAiE;YACvE,IAAI,EACA,8BAA8B;gBAC9B,qCAAqC;SAC5C;QACD,MAAM,EAAE;YACJ,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,sBAAsB;SAC/B;KACJ,CAAC;IACF,aAAa;IACL,MAAM,CAAU,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,GAAG,CAAC,KAAK;QACL,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;QAClD,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,aAAa;IACL,MAAM,CAAU,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,GAAG,CAAC,KAAK;QACL,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;QAClD,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,aAAa;IACL,MAAM,CAAU,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CACtC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,CAAU,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5D,aAAa;IACb,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,EAAE,CAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CACZ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EACjE,IAAI,CACP,CAAC;IACN,aAAa;IACb,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,EAAE,CAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CACZ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EACjE,IAAI,CACP,CAAC;;AAQV,MAAa,MAAM;IACf,MAAM,CAAC,UAAU,GAAG,uBAAU,CAAC;IAEvB,MAAM,CAAU,aAAa,GAAG,oBAAoB,CAAC;IAErD,MAAM,KAAK,UAAU;QACzB,OAAO,eAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACO,MAAM,CAAC,MAAM,GAA2B,EAAE,CAAC;IACnD,MAAM,CAAC,QAAQ,CAAC,IAAY;QACxB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD;QACI,MAAM,SAAS,GAAG,IAAA,eAAQ,EACtB,eAAK,CAAC,IAAI,CACN,IAAI,CAAC,UAAU,EACf,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,eAAe,CAClB,CACJ,CAAC;QACF,KAAK,MAAM,YAAY,IAAI,SAAS,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;YACpE,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,IAAA,qBAAY,EACR,eAAK,CAAC,IAAI,CACN,IAAI,CAAC,UAAU,EACf,OAAO,EACP,iBAAiB,EACjB,wBAAwB,CAC3B,EACD;YACI,MAAM,EAAE,wBAAwB;SACnC,CACJ,CAAC;QACF,IAAA,qBAAY,EACR,eAAK,CAAC,IAAI,CACN,IAAI,CAAC,UAAU,EACf,OAAO,EACP,WAAW,EACX,oBAAoB,CACvB,EACD;YACI,MAAM,EAAE,2BAA2B;YACnC,MAAM,EAAE,SAAS;SACpB,CACJ,CAAC;QACF,IAAA,qBAAY,EACR,eAAK,CAAC,IAAI,CACN,IAAI,CAAC,UAAU,EACf,OAAO,EACP,WAAW,EACX,uBAAuB,CAC1B,EACD;YACI,MAAM,EAAE,wBAAwB;YAChC,MAAM,EAAE,SAAS;SACpB,CACJ,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAC3B,OAAY,EACZ,IAAY;QAEZ,SAAS,WAAW,CAAC,CAAM;YACvB,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAAE,OAAO,YAAE,CAAC,UAAU,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;;gBACtD,OAAO,KAAK,CAAC;QACtB,CAAC;QACD,SAAS,OAAO,CAAC,CAAM,EAAE,GAAG,IAAW;YACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,SAAS,QAAQ,CAAC,CAAM;YACpB,OAAO,OAAO,CAAC,IAAI,QAAQ,CAAC;QAChC,CAAC;QACD,SAAS,QAAQ,CAAC,CAAM;YACpB,OAAO,OAAO,CAAC,IAAI,QAAQ,CAAC;QAChC,CAAC;QACD,SAAS,OAAO,CAAC,CAAM;YACnB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,SAAS,QAAQ,CAAC,CAAM;YACpB,OAAO,OAAO,CAAC,IAAI,QAAQ,CAAC;QAChC,CAAC;QACD,SAAS,UAAU,CAAC,CAAM;YACtB,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAAE,OAAO,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAC9D,OAAO,KAAK,CAAC;QACtB,CAAC;QACD,SAAS,WAAW,CAAC,CAAM;YACvB,OAAO,OAAO,CAAC,IAAI,WAAW,CAAC;QACnC,CAAC;QACD,SAAS,SAAS,CAAC,CAAM;YACrB,OAAO,OAAO,CAAC,IAAI,SAAS,CAAC;QACjC,CAAC;QACD,IACI,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;YAC7B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;YACtB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YACvB,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;YACxB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;YACzB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;YACrC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;YAC5C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;YAC5C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;YAC5C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;YAC5C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;YAC7C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;YACnC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;YAC1C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;YAC3C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YACjC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YACzC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;YAC9C,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;YAC5C,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC3B,CAAC;YACC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;wBACnB,KAAK,OAAO,CAAC,CAAC,CAAC;4BACX,IACI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;gCACvB,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;gCACxB,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAC3B,CAAC;gCACC,SAAS;4BACb,CAAC;;gCAAM,OAAO,KAAK,CAAC;wBACxB,CAAC;wBACD,KAAK,YAAY,CAAC,CAAC,CAAC;4BAChB,IACI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;gCACrC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;gCAChC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;gCAC9B,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;gCACvB,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;gCAC7B,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;gCACnC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;gCACpC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;gCACpC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;gCACjC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;gCACnC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;gCAC3C,UAAU,CACN,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CACrC;gCACD,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;gCAC5C,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;gCAC5C,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;gCAC5C,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,EACjD,CAAC;gCACC,SAAS;4BACb,CAAC;;gCAAM,OAAO,KAAK,CAAC;wBACxB,CAAC;wBACD,KAAK,SAAS,CAAC,CAAC,CAAC;4BACb,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gCAC3B,SAAS;4BACb,CAAC;;gCAAM,OAAO,KAAK,CAAC;wBACxB,CAAC;wBACD,KAAK,MAAM,CAAC,CAAC,CAAC;4BACV,IACI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gCACtB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;gCACzB,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;oCACvB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCAC5B,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;oCACxB,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gCAC7B,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;oCAC3B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gCACjC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;oCACvB,OAAO,CACH,OAAO,CAAC,KAAK,EACb,MAAM,EACN,QAAQ,EACR,OAAO,CACV,CAAC;gCACN,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;oCACvB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCAC5B,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC;oCAC7B,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gCAClC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;oCACtB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAC7B,CAAC;gCACC,SAAS;4BACb,CAAC;;gCAAM,OAAO,KAAK,CAAC;wBACxB,CAAC;wBACD;4BACI,OAAO,KAAK,CAAC;oBACrB,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;;YAAM,OAAO,KAAK,CAAC;IACxB,CAAC;IACO,MAAM,CAAC,YAAY,GAAkB,IAAI,CAAC;IAClD,MAAM,CAAC,SAAS,CAAC,IAAY;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;;YAAM,OAAO,KAAK,CAAC;IACxB,CAAC;IACO,MAAM,CAAC,QAAQ,CAAC,IAAY;QAIhC,IACI,CAAC,YAAE,CAAC,UAAU,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,EACpE,CAAC;YACC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;;YAAM,IAAI,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,YAAE,CAAC,UAAU,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACvB,YAAE,CAAC,YAAY,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAC9D,CAAC;YACF,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;gBACxC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACO,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,SAAiB;QACvD,IACI,OAAO,IAAI,IAAI,QAAQ;YACvB,YAAE,CAAC,UAAU,CACT,eAAK,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CACzD;YAED,OAAO,YAAE,CAAC,YAAY,CAClB,eAAK,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CACzD,CAAC;;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,qBAAqB;IACb,MAAM,CAAC,gBAAgB,CAC3B,GAA6B,EAC7B,QAAgB,EAChB,QAAgB,EAChB,eAAe,GAAG,KAAK;QAEvB,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACvC,IAAI,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjD,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC3D,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;oBAChC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBACD,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC;YACxC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IACO,MAAM,CAAC,QAAQ,CACnB,GAA6B,EAC7B,GAAW,EACX,CAAS,EACT,CAAS,EACT,QAAgB;IAChB;;OAEG;IACH,SAAiB;IACjB;;OAEG;IACH,QAAgB,EAChB,YAAyC,MAAM,EAC/C,YAAqD,OAAO,EAC5D,cAAuD,OAAO,EAC9D,OAAe,uDAAuD,EACtE,eAAe,GAAG,KAAK;QAEvB,GAAG,CAAC,IAAI,GAAG,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAC;QACnC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QACjE,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;YAC9B,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YACtB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;YACvB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1B,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1B,GAAG,CAAC,IAAI,GAAG,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAC;QACnC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1B,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;YAC5B,GAAG,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;YAC9B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YACtB,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;YACvB,GAAG,CAAC,IAAI,GAAG,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAC;YACnC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1B,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IACO,MAAM,CAAC,KAAK,CAAC,eAAe,CAChC,GAA6B,EAC7B,KAAa,EACb,OAA2B;QAE3B,MAAM,GAAG,GAAG,IAAI,cAAK,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC;IACO,MAAM,CAAC,KAAK,CAAC,mBAAmB,CACpC,GAA6B,EAC7B,KAAa,EACb,OAA2B,EAC3B,KAAa,EACb,KAAa,EACb,CAAS,EACT,CAAS;QAET,IAAI,QAAQ,GAAG,SAAS,CAAC;QACzB,QAAQ,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC7B,KAAK,kBAAW,CAAC,KAAK;gBAClB,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC3C,MAAM;YACV,KAAK,kBAAW,CAAC,QAAQ;gBACrB,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAC9C,MAAM;YACV,KAAK,kBAAW,CAAC,MAAM;gBACnB,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC5C,MAAM;YACV,KAAK,kBAAW,CAAC,MAAM;gBACnB,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC5C,MAAM;YACV,KAAK,kBAAW,CAAC,MAAM;gBACnB,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC5C,MAAM;YACV,KAAK,kBAAW,CAAC,UAAU;gBACvB,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;gBAC/C,MAAM;QACd,CAAC;QAED,sBAAsB;QACtB,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,SAAS,GAAG,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,GAAG,CAAC,SAAS,CACT,CAAC,EACD,CAAC,EACD,OAAO,CAAC,WAAW,CAAC,KAAK,EACzB,OAAO,CAAC,WAAW,CAAC,MAAM,EAC1B,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAC3C,CAAC;QACF,GAAG,CAAC,WAAW,GAAG,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/C,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,GAAG,CAAC,SAAS,CACT,CAAC,EACD,CAAC,EACD,OAAO,CAAC,WAAW,CAAC,KAAK,EACzB,OAAO,CAAC,WAAW,CAAC,MAAM,EAC1B,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAC3C,CAAC;QACF,GAAG,CAAC,IAAI,EAAE,CAAC;QAEX,8BAA8B;QAC9B,CAAC;YACG,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,GAAG,CAAC,SAAS,CACT,CAAC,EACD,CAAC,EACD,OAAO,CAAC,WAAW,CAAC,KAAK,EACzB,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,EAClC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAC3C,CAAC;YACF,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;YACzB,GAAG,CAAC,IAAI,EAAE,CAAC;YAEX,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACvB,OAAO,CAAC,WAAW,CAAC,KAAK,EACzB,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CACrC,CAAC;YAEF,MAAM,cAAc,GAAG,GAAG,CAAC,oBAAoB,CAC3C,CAAC,GAAG,UAAU,GAAG,CAAC,EAClB,CAAC,GAAG,UAAU,GAAG,CAAC,EAClB,CAAC,GAAG,UAAU,EACd,CAAC,GAAG,UAAU,GAAG,CAAC,CACrB,CAAC;YACF,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,cAAc,CAAC,YAAY,CACvB,IAAI,EACJ,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CACxC,CAAC;YACF,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,kBAAkB,GAAG,GAAG,CAAC,oBAAoB,CAC/C,CAAC,GAAG,UAAU,GAAG,CAAC,EAClB,CAAC,GAAG,UAAU,GAAG,CAAC,EAClB,CAAC,GAAG,UAAU,EACd,CAAC,GAAG,UAAU,GAAG,CAAC,CACrB,CAAC;YACF,kBAAkB,CAAC,YAAY,CAC3B,CAAC,EACD,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAClD,CAAC;YACF,kBAAkB,CAAC,YAAY,CAC3B,IAAI,EACJ,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CACpD,CAAC;YACF,kBAAkB,CAAC,YAAY,CAC3B,CAAC,EACD,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAClD,CAAC;YAEF,uBAAuB;YACvB,IAAI,MAAM,GAAG,MAAM,aAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM;gBAAE,MAAM,GAAG,MAAM,aAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,GAAG,GAAG,IAAI,cAAK,EAAE,CAAC;gBACxB,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC;gBACjB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC;YACD,qBAAqB;YAErB,qCAAqC,CAAC,CAAC;gBACnC,GAAG,CAAC,SAAS,GAAG,cAAc,CAAC;gBAC/B,GAAG,CAAC,QAAQ,CACR,CAAC,GAAG,UAAU,GAAG,CAAC,EAClB,CAAC,EACD,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,EACpB,UAAU,CACb,CAAC;YACN,CAAC,CAAC,mCAAmC;YAErC,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,GAAG,CAAC,SAAS,CACT,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAC9B,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAC9B,OAAO,CAAC,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAC1D,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK;gBAC9B,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAClC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK;gBAC/B,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC/B,CAAC,CACR,CAAC;YAEF,uBAAuB,CAAC,CAAC;gBACrB,IAAI,CAAC,QAAQ,CACT,GAAG,EACH,KAAK,CAAC,KAAK,CAAC,IAAI,EAChB,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,EACxB,CAAC;oBACG,OAAO,CAAC,WAAW,CAAC,MAAM;oBAC1B,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,KAAK,EAC9C,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,KAAK,EAC1C,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,EACzC,OAAO,CAAC,WAAW,CAAC,KAAK;oBACrB,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;oBACpB,OAAO,CAAC,WAAW,CAAC,MAAM,EAC9B,MAAM,EACN,OAAO,EACP,kBAAkB,CACrB,CAAC;YACN,CAAC,CAAC,qBAAqB;YAEvB,iCAAiC,CAAC,CAAC;gBAC/B,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,GAAG,CAAC,SAAS,CACT,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,EAAE,EAC1B,CAAC;oBACG,OAAO,CAAC,WAAW,CAAC,MAAM;oBAC1B,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,EACxD,OAAO,CAAC,WAAW,CAAC,KAAK;oBACrB,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,EAAE;oBACtB,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAClC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,EACzC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,CAC5C,CAAC;gBACF,GAAG,CAAC,SAAS,GAAG,kBAAkB,CAAC;gBACnC,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,CAAC,CAAC,+BAA+B;YAEjC,kCAAkC;YAClC,IAAI,CAAC,QAAQ,CACT,GAAG,EACH,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EACtB,CAAC;gBACG,OAAO,CAAC,WAAW,CAAC,MAAM;gBAC1B,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI;gBACzC,OAAO,CAAC,WAAW,CAAC,KAAK,EAC7B,CAAC;gBACG,OAAO,CAAC,WAAW,CAAC,MAAM;gBAC1B,OAAO,CAAC,WAAW,CAAC,MAAM;oBACtB,KAAK;oBACL,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,EACtC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,KAAK,EAC1C,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,EACzC,QAAQ,EACR,OAAO,EACP,OAAO,EACP,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CACzC,CAAC;YACF,gCAAgC;YAEhC,kCAAkC;YAClC,CAAC;gBACG,IAAI,OAAe,CAAC;gBACpB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACjB,KAAK,wBAAiB,CAAC,CAAC;wBACpB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EACpC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,wBAAiB,CAAC,CAAC;wBACpB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EACpC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,wBAAiB,CAAC,CAAC;wBACpB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EACpC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,wBAAiB,CAAC,EAAE;wBACrB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EACrC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,wBAAiB,CAAC,GAAG;wBACtB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EACtC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,wBAAiB,CAAC,CAAC;wBACpB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EACpC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,wBAAiB,CAAC,EAAE;wBACrB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EACrC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,wBAAiB,CAAC,GAAG;wBACtB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EACtC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,wBAAiB,CAAC,CAAC;wBACpB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EACpC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,wBAAiB,CAAC,EAAE;wBACrB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EACrC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,wBAAiB,CAAC,EAAE;wBACrB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EACrC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,wBAAiB,CAAC,GAAG;wBACtB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EACtC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,wBAAiB,CAAC,GAAG;wBACtB,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EACtC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV;wBACI,OAAO,GAAG,IAAI,CAAC,YAAY,CACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EACvC,KAAK,CAAC,IAAI,CACb,CAAC;gBACV,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,cAAK,EAAE,CAAC;gBACxB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC;gBAClB,GAAG,CAAC,SAAS,CACT,GAAG,EACH,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAC1B,CAAC;oBACG,OAAO,CAAC,WAAW,CAAC,MAAM;oBAC1B,OAAO,CAAC,WAAW,CAAC,MAAM;wBACtB,KAAK;wBACL,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,EAC9B,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,EAC5C,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,GAAG,CAC3C,CAAC;YACN,CAAC;YACD,gCAAgC;YAEhC,2BAA2B;YAC3B,CAAC;gBACG,IAAI,QAAgB,CAAC;gBACrB,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;oBAClB,KAAK,kBAAW,CAAC,IAAI;wBACjB,QAAQ,GAAG,IAAI,CAAC,YAAY,CACxB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EACrC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,kBAAW,CAAC,UAAU;wBACvB,QAAQ,GAAG,IAAI,CAAC,YAAY,CACxB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EACnC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,kBAAW,CAAC,WAAW;wBACxB,QAAQ,GAAG,IAAI,CAAC,YAAY,CACxB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EACnC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;oBACV,KAAK,kBAAW,CAAC,oBAAoB;wBACjC,QAAQ,GAAG,IAAI,CAAC,YAAY,CACxB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EACpC,KAAK,CAAC,IAAI,CACb,CAAC;wBACF,MAAM;gBACd,CAAC;gBACD,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1B,GAAG,CAAC,SAAS,CACT,CAAC;oBACG,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC;oBAC7C,OAAO,CAAC,WAAW,CAAC,MAAM;oBAC1B,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI;oBACzC,OAAO,CAAC,WAAW,CAAC,KAAK,EAC7B,CAAC;oBACG,OAAO,CAAC,WAAW,CAAC,MAAM;oBAC1B,OAAO,CAAC,WAAW,CAAC,MAAM;wBACtB,KAAK;wBACL,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,EACrC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,EAC7C,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,EACrD,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CACvD,CAAC;gBACF,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,IAAI,cAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC;gBACrB,GAAG,CAAC,SAAS,CACT,KAAK,EACL,CAAC;oBACG,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC;oBAC7C,OAAO,CAAC,WAAW,CAAC,MAAM;oBAC1B,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI;oBACzC,OAAO,CAAC,WAAW,CAAC,KAAK,EAC7B,CAAC;oBACG,OAAO,CAAC,WAAW,CAAC,MAAM;oBAC1B,OAAO,CAAC,WAAW,CAAC,MAAM;wBACtB,KAAK;wBACL,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,EACrC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,EAC7C,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CACxD,CAAC;YACN,CAAC;YACD,yBAAyB;YAEzB,6BAA6B;YAC7B,CAAC;gBACG,IAAI,CAAC,QAAQ,CACT,GAAG,EACH,IAAI,KAAK,GAAG,CAAC,EAAE,EACf,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAClC,CAAC,GAAG,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAC/C,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,KAAK,EAC1C,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,EACzC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CACzC,CAAC;YACN,CAAC;YACD,2BAA2B;YAE3B,GAAG,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;QACD,4BAA4B;QAE5B,qCAAqC;QACrC,CAAC;YACG,IAAI,CAAC,QAAQ,CACT,GAAG,EACH,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EACrC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAClC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAC1D,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,KAAK,EAC1C,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,EACzC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CACzC,CAAC;YAEF,IAAI,CAAC,QAAQ,CACT,GAAG,EACH,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAC7B,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAC9D,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAC1D,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,KAAK,EAC1C,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,EACzC,QAAQ,EACR,OAAO,EACP,OAAO,EACP,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CACzC,CAAC;QACN,CAAC;QACD,mCAAmC;QAEnC,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,oBAAoB;IACxB,CAAC;IACO,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAClC,GAA6B,EAC7B,KAAa,EACb,OAA6B,EAC7B,QAAgB,EAChB,MAAc,EACd,cAAuB;QAEvB,MAAM,SAAS,GAAG,IAAI,cAAK,EAAE,CAAC;QAC9B,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAC7B,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EACxC,KAAK,CAAC,IAAI,CACb,CAAC;QACF,GAAG,CAAC,SAAS,CACT,SAAS,EACT,OAAO,CAAC,CAAC,EACT,OAAO,CAAC,CAAC,EACT,OAAO,CAAC,MAAM,GAAG,KAAK,EACtB,OAAO,CAAC,MAAM,CACjB,CAAC;QAEF,gCAAgC;QAChC,CAAC;YACG,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,GAAG,CAAC,SAAS,CACT,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAChC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAChC,OAAO,CAAC,MAAM,GAAG,IAAI,EACrB,OAAO,CAAC,MAAM,GAAG,IAAI,EACrB,CAAC,CACJ,CAAC;YACF,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;YACxB,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,IAAI,cAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACD,IAAA,eAAK,EAAC,cAAc,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACL,iCAAiC;gBACjC,cAAc,GAAG,SAAS,CAAC;YAC/B,CAAC;YACD,MAAM,GAAG,GACL,cAAc;gBACd,IAAI,CAAC,YAAY,CACb,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EACnC,KAAK,CAAC,IAAI,CACb,CAAC;YACN,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,eAAK,EAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9C,IAAI,CAAC,GAAG,GAAG,MAAM,IAAA,eAAK,EAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;YAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACnD,GAAG,CAAC,SAAS,CACT,IAAI,EACJ,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,EAC3B,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,EAC5B,QAAQ,EACR,QAAQ,EACR,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAChC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAChC,OAAO,CAAC,MAAM,GAAG,IAAI,EACrB,OAAO,CAAC,MAAM,GAAG,IAAI,CACxB,CAAC;YAEF,IAAI,cAAc,EAAE,CAAC;gBACjB,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,GAAG,CAAC,SAAS,CACT,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAChC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAChC,OAAO,CAAC,MAAM,GAAG,IAAI,EACrB,OAAO,CAAC,MAAM,GAAG,IAAI,EACrB,CAAC,CACJ,CAAC;gBACF,GAAG,CAAC,WAAW,GAAG,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBACxD,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;gBACrC,GAAG,CAAC,MAAM,EAAE,CAAC;YACjB,CAAC;YACD,GAAG,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;QACD,8BAA8B;QAE9B,yBAAyB;QACzB,CAAC;YACG,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,GAAG,CAAC,SAAS,CACT,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACtC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAChC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACtC,OAAO,CAAC,MAAM,GAAG,IAAI,EACrB,CAAC,CACJ,CAAC;YACF,GAAG,CAAC,SAAS,GAAG,2BAA2B,CAAC;YAC5C,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,EAAE,CAAC;YAEX,qEAAqE;YACrE,yBAAyB;YACzB,gCAAgC;YAChC,mDAAmD;YACnD,6BAA6B;YAC7B,8CAA8C;YAC9C,qCAAqC;YACrC,uCAAuC;YACvC,wDAAwD;YACxD,yBAAyB;YACzB,qBAAqB;YACrB,gDAAgD;YAChD,gDAAgD;YAChD,8CAA8C;YAC9C,yBAAyB;YACzB,aAAa;YACb,QAAQ;YACR,IAAI;YACJ,IAAI,CAAC,QAAQ,CACT,GAAG,EACH,KAAK,EACL,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACtC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAC1C,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,EACzB,CAAC,EACD,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,EACxC,MAAM,EACN,OAAO,EACP,OAAO,EACP,wBAAwB,CAC3B,CAAC;YACF,IAAI,CAAC,QAAQ,CACT,GAAG,EACH,IAAI,EACJ,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACtC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAC1C,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,EACzB,CAAC,EACD,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,EACxC,MAAM,EACN,OAAO,EACP,OAAO,EACP,wBAAwB,CAC3B,CAAC;YAEF,IAAI,CAAC,QAAQ,CACT,GAAG,EACH,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC1C,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACtC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAC1C,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EACxB,CAAC,EACD,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAC1B,MAAM,EACN,OAAO,EACP,OAAO,EACP,wBAAwB,CAC3B,CAAC;YAEF,IAAI,CAAC,QAAQ,CACT,GAAG,EACH,QAAQ,EACR,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACtC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACtC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,EACzB,CAAC,EACD,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,EACxC,MAAM,EACN,OAAO,EACP,OAAO,EACP,wBAAwB,CAC3B,CAAC;YACF,IAAI,CAAC,QAAQ,CACT,GAAG,EACH,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EACjB,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACtC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACtC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,EACzB,CAAC,EACD,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,EACxC,MAAM,EACN,OAAO,EACP,OAAO,EACP,wBAAwB,CAC3B,CAAC;QACN,CAAC;QACD,sBAAsB;IAC1B,CAAC;IACO,MAAM,CAAC,KAAK,CAAC,cAAc,CAC/B,GAA6B,EAC7B,KAAa,EACb,OAA0B,EAC1B,YAAoC,EAAE;QAEtC,IAAI,UAAU,GAAG,IAAA,yBAAY,EAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,KAAK,GAAa,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,IAAI,eAAe,IAAI,UAAU,EAAE,CAAC;gBACrC,OAAO,eAAe,CAAC,MAAM,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAC9B,GAAG,EACH,eAAe,EACf,OAAO,CAAC,KAAK,IAAI,QAAQ,EACzB,EAAE,CACL,CAAC;oBACF,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,KAAK,MAAM,eAAe,IAAI,UAAU,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CACN,IAAI,CAAC,gBAAgB,CACjB,GAAG,EACH,eAAe,EACf,OAAO,CAAC,KAAK,IAAI,QAAQ,CAC5B,CACJ,CAAC;YACN,CAAC;QACL,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,CACT,GAAG,EACH,IAAI,EACJ,OAAO,CAAC,CAAC,EACT,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,EAClC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,GAAG,GAAG,EAClB,OAAO,CAAC,KAAK,IAAI,QAAQ,EACzB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,IAAI,SAAS,EAC1B,OAAO,CAAC,WAAW;gBACf,CAAC,CAAC,OAAO,CAAC,WAAW;gBACrB,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;qBAChC,MAAM,CAAC,GAAG,CAAC;qBACX,GAAG,EAAE,EAChB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CACjC,CAAC;QACN,CAAC;IACL,CAAC;IACD,mBAAmB;IACnB,MAAM,CAAC,KAAK,CAAC,IAAI,CACb,IAAY,EACZ,MAAc,EACd,SAAmB,EACnB,SAAmB,EACnB,OAAqE;QAErE,MAAM,aAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC9B,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;SACtC,CAAC,CAAC;QACH,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,KAAK,EAAE,CAAC;gBACR,YAAY,GAAG,KAAK,CAAC;YACzB,CAAC;QACL,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,eAAM,CACrB,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,EACnD,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CACvD,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,OAAO,EAAE,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5D,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACjC,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACnD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,OAAO,CAAC,CAAC,CAAC;wBACX,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;wBACvD,MAAM;oBACV,CAAC;oBACD,KAAK,YAAY,CAAC,CAAC,CAAC;wBAChB,KACI,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAC/C,CAAC,GAAG,OAAO,CAAC,YAAY,EACxB,EAAE,CAAC;4BACC,CAAC;gCACG,OAAO,CAAC,WAAW,CAAC,MAAM;oCAC1B,OAAO,CAAC,WAAW,CAAC,GAAG,EACjC,CAAC;4BACC,KACI,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EACxB,CAAC,GAAG,OAAO,CAAC,cAAc,EAC1B,EAAE,CAAC;gCACC,EAAE,KAAK;gCACP,CAAC;oCACG,OAAO,CAAC,WAAW,CAAC,KAAK;wCACzB,OAAO,CAAC,WAAW,CAAC,GAAG,EACjC,CAAC;gCACC,IAAI,QAAQ,CAAC;gCACb,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;oCACvB,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;;oCAC3B,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gCACjC,IAAI,QAAQ,EAAE,CAAC;oCACX,MAAM,IAAI,CAAC,mBAAmB,CAC1B,GAAG,EACH,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,KAAK,EACL,CAAC,EACD,CAAC,CACJ,CAAC;gCACN,CAAC;4BACL,CAAC;wBACL,CAAC;wBACD,MAAM;oBACV,CAAC;oBACD,KAAK,SAAS,CAAC,CAAC,CAAC;wBACb,MAAM,IAAI,CAAC,iBAAiB,CACxB,GAAG,EACH,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,MAAM,EACN,OAAO,EAAE,cAAc,CAC1B,CAAC;wBACF,MAAM;oBACV,CAAC;oBACD,KAAK,MAAM,CAAC,CAAC,CAAC;wBACV,SAAS,aAAa,CAAC,MAAgB;4BACnC,OAAO,CACH,MAAM;iCACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;iCACpB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CACrC,CAAC;wBACN,CAAC;wBACD,SAAS,YAAY,CAAC,MAAgB;4BAClC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;gCAAE,OAAO,CAAC,CAAC;4BACjC,OAAO,CACH,MAAM;iCACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;iCACpB,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gCACnC,MAAM,CAAC,MAAM,CAChB,CAAC;wBACN,CAAC;wBACD,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE;4BAClD,QAAQ,EAAE,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC;4BAChD,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;4BACzB,iBAAiB,EACb,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;4BACtC,iBAAiB,EACb,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;4BACtC,kBAAkB,EACd,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;4BACvC,kBAAkB,EACd,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;yBAC1C,CAAC,CAAC;wBACH,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;;YAAM,OAAO,IAAI,CAAC;IACvB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAC5B,MAA2B,EAC3B,QAAgB,EAChB,OAIC;QAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;YACjE,GAAG,OAAO;YACV,cAAc,EACV,OAAO,EAAE,cAAc,KAAK,IAAI;gBAC5B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,OAAO,EAAE,cAAc;oBACvB,CAAC,MAAM,MAAM,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;oBAChD,SAAS;SACtB,CAAC,CAAC;IACP,CAAC;IACO,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,KAAa;QAC3D,KAAK,UAAU,aAAa,CACxB,GAAW,EACX,KAAa,EACb,SAAiB,EACjB,UAAkB;YAElB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YAC/B,OAAO,MAAM,IAAA,eAAK,EAAC,GAAG,CAAC;iBAClB,OAAO,CAAC;gBACL,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS;gBAC7B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,UAAU;gBACvC,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,UAAU;aACrB,CAAC;iBACD,QAAQ,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CACzB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EACtC,KAAK,CAAC,IAAI,CACb,CAAC;YACF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,eAAK,EAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACtD,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YACpC,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,EACvB,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAsB,EAAE,CAAC;YACnC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,GAAG,IAAI,EAAE,CAAC;YACd,CAAC;YACD,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACP,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAC5D,CAAC;gBACF,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACjE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBACxB,MAAM,GAAG,GAAG,IAAI,cAAK,EAAE,CAAC;gBACxB,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC;gBACnB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;;AAppCL,wBAqpCC"}
@@ -0,0 +1 @@
1
+ export { Best50 } from "./best50";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Best50 = void 0;
4
+ var best50_1 = require("./best50");
5
+ Object.defineProperty(exports, "Best50", { enumerable: true, get: function () { return best50_1.Best50; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chu/bests/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA"}
@@ -0,0 +1,26 @@
1
+ import { IScore } from "../../type";
2
+ import axios, { AxiosInstance } from "axios";
3
+ export default abstract class ScoreTrackerAdapter {
4
+ private static _cache;
5
+ protected get cache(): import("memory-cache").CacheClass<unknown, unknown>;
6
+ protected axios: AxiosInstance;
7
+ constructor({ baseURL }?: {
8
+ baseURL?: string;
9
+ });
10
+ private readonly MAX_LOG_LENGTH;
11
+ protected get<T>(endpoint: string, data?: any,
12
+ /**
13
+ * Cache TTL in milliseconds. Defaults to 30 minutes.
14
+ */
15
+ cacheTTL?: number, options?: axios.AxiosRequestConfig): Promise<T | undefined>;
16
+ protected post<T>(endpoint: string, data?: any): Promise<T | undefined>;
17
+ abstract getPlayerBest50(username: string): Promise<{
18
+ new: IScore[];
19
+ old: IScore[];
20
+ } | null>;
21
+ abstract getPlayerInfo(username: string): Promise<{
22
+ name: string;
23
+ rating: number;
24
+ } | null>;
25
+ abstract getPlayerProfilePicture(username: string): Promise<Buffer | null>;
26
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const chu_1 = require("../..");
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const memory_cache_1 = require("memory-cache");
9
+ class ScoreTrackerAdapter {
10
+ static _cache = new memory_cache_1.Cache();
11
+ get cache() {
12
+ return ScoreTrackerAdapter._cache;
13
+ }
14
+ axios;
15
+ constructor({ baseURL } = {}) {
16
+ this.axios = axios_1.default.create({ baseURL });
17
+ }
18
+ MAX_LOG_LENGTH = 1000;
19
+ async get(endpoint, data,
20
+ /**
21
+ * Cache TTL in milliseconds. Defaults to 30 minutes.
22
+ */
23
+ cacheTTL = 30 * 60 * 1000, options = {}) {
24
+ const cacheKey = `${this.axios.defaults.baseURL}${endpoint}${data ? `-${JSON.stringify(data).substring(0, this.MAX_LOG_LENGTH)}` : ""}`;
25
+ if (cacheTTL > 0) {
26
+ const cacheContent = await this.cache.get(cacheKey);
27
+ if (cacheContent) {
28
+ chu_1.Chuni.logger.trace(`GET ${endpoint}${data ? ` ${JSON.stringify(data).substring(0, this.MAX_LOG_LENGTH)}` : ""}, cache HIT`);
29
+ return cacheContent;
30
+ }
31
+ }
32
+ const beginTimestamp = Date.now();
33
+ const res = await this.axios
34
+ .get(endpoint, { params: data, ...options })
35
+ .then(async (r) => {
36
+ if (cacheTTL > 0) {
37
+ await this.cache.put(cacheKey, r.data, cacheTTL);
38
+ }
39
+ return r.data;
40
+ })
41
+ .catch((e) => {
42
+ return e.response?.data || e;
43
+ });
44
+ const timeDifference = Date.now() - beginTimestamp;
45
+ chu_1.Chuni.logger.trace(`GET ${endpoint}${data ? ` ${JSON.stringify(data).substring(0, this.MAX_LOG_LENGTH)}` : ""}, cache MISS, took ${timeDifference}ms`);
46
+ return res;
47
+ }
48
+ async post(endpoint, data) {
49
+ const beginTimestamp = Date.now();
50
+ const res = await this.axios
51
+ .post(endpoint, data)
52
+ .then((r) => r.data)
53
+ .catch((e) => e.response?.data);
54
+ const timeDifference = Date.now() - beginTimestamp;
55
+ chu_1.Chuni.logger.trace(`POST ${endpoint}${data ? ` ${JSON.stringify(data).substring(0, this.MAX_LOG_LENGTH)}` : ""}, took ${timeDifference}ms`);
56
+ return res;
57
+ }
58
+ }
59
+ exports.default = ScoreTrackerAdapter;
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chu/bests/lib/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,154 @@
1
+ import { IScore } from "../../../type";
2
+ import ScoreTrackerAdapter from "..";
3
+ export declare class KamaiTachi extends ScoreTrackerAdapter {
4
+ private readonly CURRENT_VERSION;
5
+ constructor({ baseURL, currentVersion, }?: {
6
+ baseURL?: string;
7
+ currentVersion?: KamaiTachi.EGameVersions;
8
+ });
9
+ getPlayerPB(userId: string): Promise<KamaiTachi.IResponse<{
10
+ charts: KamaiTachi.IChart[];
11
+ pbs: KamaiTachi.IPb[];
12
+ songs: KamaiTachi.ISong[];
13
+ }> | undefined>;
14
+ private toMaiDrawScore;
15
+ getPlayerBest50(userId: string, currentVersion?: KamaiTachi.EGameVersions, omnimix?: boolean): Promise<{
16
+ new: IScore[];
17
+ old: IScore[];
18
+ } | null>;
19
+ getPlayerInfo(userId: string): Promise<{
20
+ name: string;
21
+ rating: number;
22
+ } | null>;
23
+ private getPlayerProfileRaw;
24
+ getPlayerProfilePicture(userId: string): Promise<Buffer | null>;
25
+ chunithm(): KamaiTachi;
26
+ plus(): KamaiTachi;
27
+ air(): KamaiTachi;
28
+ airPlus(): KamaiTachi;
29
+ star(): KamaiTachi;
30
+ starPlus(): KamaiTachi;
31
+ amazon(): KamaiTachi;
32
+ amazonPlus(): KamaiTachi;
33
+ crystal(): KamaiTachi;
34
+ crystalPlus(): KamaiTachi;
35
+ superstar(): KamaiTachi;
36
+ paradise(): KamaiTachi;
37
+ paradiseLost(): KamaiTachi;
38
+ superstarPlus(): KamaiTachi;
39
+ new(): KamaiTachi;
40
+ newPlus(): KamaiTachi;
41
+ sun(): KamaiTachi;
42
+ sunPlus(): KamaiTachi;
43
+ luminous(): KamaiTachi;
44
+ luminousPlus(): KamaiTachi;
45
+ verse(): KamaiTachi;
46
+ }
47
+ export declare namespace KamaiTachi {
48
+ interface IResponse<T> {
49
+ success: boolean;
50
+ description: string;
51
+ body: T;
52
+ }
53
+ interface IChart {
54
+ chartID: string;
55
+ data: {
56
+ inGameID: number;
57
+ };
58
+ difficulty: string;
59
+ isPrimary: boolean;
60
+ level: string;
61
+ levelNum: number;
62
+ playtype: string;
63
+ songID: number;
64
+ versions: string[];
65
+ }
66
+ interface ISong {
67
+ altTitles: string[];
68
+ artist: string;
69
+ data: {
70
+ displayVersion: EGameVersions;
71
+ genre: string;
72
+ };
73
+ id: number;
74
+ searchTerms: string[];
75
+ title: string;
76
+ }
77
+ interface IPb {
78
+ chartID: string;
79
+ userID: number;
80
+ calculatedData: {
81
+ rating: number;
82
+ };
83
+ composedFrom: {
84
+ name: string;
85
+ scoreID: string;
86
+ }[];
87
+ game: string;
88
+ highlight: boolean;
89
+ isPrimary: boolean;
90
+ playtype: string;
91
+ rankingData: {
92
+ rank: number;
93
+ outOf: number;
94
+ rivalRank: number | null;
95
+ };
96
+ scoreData: {
97
+ score: number;
98
+ lamp: string;
99
+ judgements: {
100
+ jcrit: number;
101
+ justice: number;
102
+ attack: number;
103
+ miss: number;
104
+ };
105
+ optional: {
106
+ fast?: number;
107
+ slow?: number;
108
+ maxCombo?: number;
109
+ enumIndexes: {
110
+ lamp?: number;
111
+ grade?: number;
112
+ };
113
+ };
114
+ grade: string;
115
+ enumIndexes: {
116
+ lamp: number;
117
+ grade: number;
118
+ };
119
+ };
120
+ songID: number;
121
+ timeAchieved: number;
122
+ }
123
+ enum EGameVersions {
124
+ CHUNITHM_VERSE = "CHUNITHM VERSE",
125
+ CHUNITHM_LUMINOUS_PLUS = "CHUNITHM LUMINOUS PLUS",
126
+ CHUNITHM_LUMINOUS = "CHUNITHM LUMINOUS",
127
+ CHUNITHM_SUN_PLUS = "CHUNITHM SUN PLUS",
128
+ CHUNITHM_SUN = "CHUNITHM SUN",
129
+ CHUNITHM_NEW_PLUS = "CHUNITHM NEW PLUS",
130
+ CHUNITHM_NEW = "CHUNITHM NEW",
131
+ CHUNITHM_SUPERSTAR_PLUS = "CHUNITHM SUPER STAR PLUS",
132
+ CHUNITHM_PARADISE_LOST = "CHUNITHM PARADISE LOST",
133
+ CHUNITHM_PARADISE = "CHUNITHM PARADISE",
134
+ CHUNITHM_SUPERSTAR = "CHUNITHM SUPERSTAR",
135
+ CHUNITHM_CRYSTAL_PLUS = "CHUNITHM CRYSTAL PLUS",
136
+ CHUNITHM_CRYSTAL = "CHUNITHM CRYSTAL",
137
+ CHUNITHM_AMAZON_PLUS = "CHUNITHM AMAZON PLUS",
138
+ CHUNITHM_AMAZON = "CHUNITHM AMAZON",
139
+ CHUNITHM_STAR_PLUS = "CHUNITHM STAR PLUS",
140
+ CHUNITHM_STAR = "CHUNITHM STAR",
141
+ CHUNITHM_AIR_PLUS = "CHUNITHM AIR PLUS",
142
+ CHUNITHM_AIR = "CHUNITHM AIR",
143
+ CHUNITHM_PLUS = "CHUNITHM PLUS",
144
+ CHUNITHM = "CHUNITHM"
145
+ }
146
+ /**
147
+ * Compare two game versions and calculate which is newer.
148
+ *
149
+ * @param a Game version.
150
+ * @param b Game version.
151
+ * @returns positive if a is newer, negative if b is newer, 0 if they are the same.
152
+ */
153
+ function compareGameVersions(a: EGameVersions, b: EGameVersions): number;
154
+ }
@@ -0,0 +1,317 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.KamaiTachi = void 0;
7
+ const type_1 = require("../../../type");
8
+ const __1 = __importDefault(require(".."));
9
+ class KamaiTachi extends __1.default {
10
+ CURRENT_VERSION;
11
+ constructor({ baseURL = "https://kamai.tachi.ac/", currentVersion = KamaiTachi.EGameVersions.CHUNITHM_SUN_PLUS, } = {}) {
12
+ super({ baseURL });
13
+ this.CURRENT_VERSION = currentVersion;
14
+ }
15
+ async getPlayerPB(userId) {
16
+ return this.get(`/api/v1/users/${userId}/games/chunithm/Single/pbs/all`, undefined, 60 * 1000);
17
+ }
18
+ toMaiDrawScore(score, chart, song) {
19
+ return {
20
+ chart: (() => {
21
+ return {
22
+ id: chart.data.inGameID,
23
+ name: song.title,
24
+ difficulty: (() => {
25
+ switch (chart.difficulty) {
26
+ case "ULTIMA":
27
+ return type_1.EDifficulty.ULTIMA;
28
+ case "MASTER":
29
+ return type_1.EDifficulty.MASTER;
30
+ case "EXPERT":
31
+ return type_1.EDifficulty.EXPERT;
32
+ case "ADVANCED":
33
+ return type_1.EDifficulty.ADVANCED;
34
+ case "BASIC":
35
+ default:
36
+ return type_1.EDifficulty.BASIC;
37
+ }
38
+ })(),
39
+ level: chart.levelNum,
40
+ };
41
+ })(),
42
+ combo: (() => {
43
+ switch (score.scoreData.lamp) {
44
+ case "FULL COMBO":
45
+ return type_1.EComboTypes.FULL_COMBO;
46
+ case "ALL JUSTICE":
47
+ return type_1.EComboTypes.ALL_JUSTICE;
48
+ case "ALL JUSTICE CRITIAL":
49
+ return type_1.EComboTypes.ALL_JUSTICE_CRITICAL;
50
+ default:
51
+ return type_1.EComboTypes.NONE;
52
+ }
53
+ })(),
54
+ score: score.scoreData.score,
55
+ rank: (() => {
56
+ switch (score.scoreData.grade) {
57
+ case "C":
58
+ return type_1.EAchievementTypes.C;
59
+ case "B":
60
+ return type_1.EAchievementTypes.B;
61
+ case "BB":
62
+ return type_1.EAchievementTypes.BB;
63
+ case "BBB":
64
+ return type_1.EAchievementTypes.BBB;
65
+ case "A":
66
+ return type_1.EAchievementTypes.A;
67
+ case "AA":
68
+ return type_1.EAchievementTypes.AA;
69
+ case "AAA":
70
+ return type_1.EAchievementTypes.AAA;
71
+ case "S":
72
+ return type_1.EAchievementTypes.S;
73
+ case "S+":
74
+ return type_1.EAchievementTypes.SP;
75
+ case "SS":
76
+ return type_1.EAchievementTypes.SS;
77
+ case "SS+":
78
+ return type_1.EAchievementTypes.SSP;
79
+ case "SSS":
80
+ return type_1.EAchievementTypes.SSS;
81
+ case "SSS+":
82
+ return type_1.EAchievementTypes.SSSP;
83
+ case "D":
84
+ default:
85
+ return type_1.EAchievementTypes.D;
86
+ }
87
+ })(),
88
+ rating: score.calculatedData.rating,
89
+ };
90
+ }
91
+ async getPlayerBest50(userId, currentVersion = this.CURRENT_VERSION, omnimix = true) {
92
+ const rawPBs = await this.getPlayerPB(userId);
93
+ if (!rawPBs?.body)
94
+ return null;
95
+ const pbs = [];
96
+ for (const pb of rawPBs.body.pbs) {
97
+ let chart = rawPBs.body.charts.find((v) => v.chartID == pb.chartID);
98
+ let song = rawPBs.body.songs.find((v) => v.id == pb.songID);
99
+ if (chart && song) {
100
+ pbs.push({ pb, chart, song });
101
+ }
102
+ }
103
+ const newScores = pbs.filter((v) => v.song.data.displayVersion == currentVersion);
104
+ const oldScores = pbs.filter((v) => v.chart &&
105
+ KamaiTachi.compareGameVersions(currentVersion, v.song.data.displayVersion) > 0 &&
106
+ (omnimix ||
107
+ !(v.chart.versions[0].includes("-omni") &&
108
+ v.chart.versions[1].includes("-omni"))));
109
+ return {
110
+ new: newScores
111
+ .sort((a, b) => b.pb.calculatedData.rating - a.pb.calculatedData.rating
112
+ ? b.pb.calculatedData.rating -
113
+ a.pb.calculatedData.rating
114
+ : b.pb.scoreData.score - a.pb.scoreData.score)
115
+ .slice(0, 20)
116
+ .map((v) => this.toMaiDrawScore(v.pb, v.chart, v.song)),
117
+ old: oldScores
118
+ .sort((a, b) => b.pb.calculatedData.rating - a.pb.calculatedData.rating
119
+ ? b.pb.calculatedData.rating -
120
+ a.pb.calculatedData.rating
121
+ : b.pb.scoreData.score - a.pb.scoreData.score)
122
+ .slice(0, 30)
123
+ .map((v) => this.toMaiDrawScore(v.pb, v.chart, v.song)),
124
+ };
125
+ }
126
+ async getPlayerInfo(userId) {
127
+ const profile = await this.getPlayerProfileRaw(userId);
128
+ const scores = await this.getPlayerBest50(userId);
129
+ if (!profile?.body || !scores)
130
+ return null;
131
+ let rating = 0;
132
+ [...scores.new, ...scores.old].forEach((v) => (rating += v.rating));
133
+ return {
134
+ name: profile?.body.username,
135
+ rating: rating / (scores.new.length + scores.old.length),
136
+ };
137
+ }
138
+ async getPlayerProfileRaw(userId) {
139
+ return this.get(`/api/v1/users/${userId}`);
140
+ }
141
+ async getPlayerProfilePicture(userId) {
142
+ return ((await this.get(`/api/v1/users/${userId}/pfp`, undefined, 2 * 60 * 60 * 1000, { responseType: "arraybuffer" })) || null);
143
+ }
144
+ chunithm() {
145
+ return new KamaiTachi({
146
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM,
147
+ });
148
+ }
149
+ plus() {
150
+ return new KamaiTachi({
151
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_PLUS,
152
+ });
153
+ }
154
+ air() {
155
+ return new KamaiTachi({
156
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_AIR,
157
+ });
158
+ }
159
+ airPlus() {
160
+ return new KamaiTachi({
161
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_AIR_PLUS,
162
+ });
163
+ }
164
+ star() {
165
+ return new KamaiTachi({
166
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_STAR,
167
+ });
168
+ }
169
+ starPlus() {
170
+ return new KamaiTachi({
171
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_STAR_PLUS,
172
+ });
173
+ }
174
+ amazon() {
175
+ return new KamaiTachi({
176
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_AMAZON,
177
+ });
178
+ }
179
+ amazonPlus() {
180
+ return new KamaiTachi({
181
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_AMAZON_PLUS,
182
+ });
183
+ }
184
+ crystal() {
185
+ return new KamaiTachi({
186
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_CRYSTAL,
187
+ });
188
+ }
189
+ crystalPlus() {
190
+ return new KamaiTachi({
191
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_CRYSTAL_PLUS,
192
+ });
193
+ }
194
+ superstar() {
195
+ return new KamaiTachi({
196
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_SUPERSTAR,
197
+ });
198
+ }
199
+ paradise() {
200
+ return new KamaiTachi({
201
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_PARADISE,
202
+ });
203
+ }
204
+ paradiseLost() {
205
+ return new KamaiTachi({
206
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_PARADISE_LOST,
207
+ });
208
+ }
209
+ superstarPlus() {
210
+ return new KamaiTachi({
211
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_SUPERSTAR_PLUS,
212
+ });
213
+ }
214
+ new() {
215
+ return new KamaiTachi({
216
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_NEW,
217
+ });
218
+ }
219
+ newPlus() {
220
+ return new KamaiTachi({
221
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_NEW_PLUS,
222
+ });
223
+ }
224
+ sun() {
225
+ return new KamaiTachi({
226
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_SUN,
227
+ });
228
+ }
229
+ sunPlus() {
230
+ return new KamaiTachi({
231
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_SUN_PLUS,
232
+ });
233
+ }
234
+ luminous() {
235
+ return new KamaiTachi({
236
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_LUMINOUS,
237
+ });
238
+ }
239
+ luminousPlus() {
240
+ return new KamaiTachi({
241
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_LUMINOUS_PLUS,
242
+ });
243
+ }
244
+ verse() {
245
+ return new KamaiTachi({
246
+ currentVersion: KamaiTachi.EGameVersions.CHUNITHM_VERSE,
247
+ });
248
+ }
249
+ }
250
+ exports.KamaiTachi = KamaiTachi;
251
+ (function (KamaiTachi) {
252
+ let EGameVersions;
253
+ (function (EGameVersions) {
254
+ EGameVersions["CHUNITHM_VERSE"] = "CHUNITHM VERSE";
255
+ EGameVersions["CHUNITHM_LUMINOUS_PLUS"] = "CHUNITHM LUMINOUS PLUS";
256
+ EGameVersions["CHUNITHM_LUMINOUS"] = "CHUNITHM LUMINOUS";
257
+ EGameVersions["CHUNITHM_SUN_PLUS"] = "CHUNITHM SUN PLUS";
258
+ EGameVersions["CHUNITHM_SUN"] = "CHUNITHM SUN";
259
+ EGameVersions["CHUNITHM_NEW_PLUS"] = "CHUNITHM NEW PLUS";
260
+ EGameVersions["CHUNITHM_NEW"] = "CHUNITHM NEW";
261
+ EGameVersions["CHUNITHM_SUPERSTAR_PLUS"] = "CHUNITHM SUPER STAR PLUS";
262
+ EGameVersions["CHUNITHM_PARADISE_LOST"] = "CHUNITHM PARADISE LOST";
263
+ EGameVersions["CHUNITHM_PARADISE"] = "CHUNITHM PARADISE";
264
+ EGameVersions["CHUNITHM_SUPERSTAR"] = "CHUNITHM SUPERSTAR";
265
+ EGameVersions["CHUNITHM_CRYSTAL_PLUS"] = "CHUNITHM CRYSTAL PLUS";
266
+ EGameVersions["CHUNITHM_CRYSTAL"] = "CHUNITHM CRYSTAL";
267
+ EGameVersions["CHUNITHM_AMAZON_PLUS"] = "CHUNITHM AMAZON PLUS";
268
+ EGameVersions["CHUNITHM_AMAZON"] = "CHUNITHM AMAZON";
269
+ EGameVersions["CHUNITHM_STAR_PLUS"] = "CHUNITHM STAR PLUS";
270
+ EGameVersions["CHUNITHM_STAR"] = "CHUNITHM STAR";
271
+ EGameVersions["CHUNITHM_AIR_PLUS"] = "CHUNITHM AIR PLUS";
272
+ EGameVersions["CHUNITHM_AIR"] = "CHUNITHM AIR";
273
+ EGameVersions["CHUNITHM_PLUS"] = "CHUNITHM PLUS";
274
+ EGameVersions["CHUNITHM"] = "CHUNITHM";
275
+ })(EGameVersions = KamaiTachi.EGameVersions || (KamaiTachi.EGameVersions = {}));
276
+ const GameVersions = [
277
+ EGameVersions.CHUNITHM_VERSE,
278
+ EGameVersions.CHUNITHM_LUMINOUS_PLUS,
279
+ EGameVersions.CHUNITHM_LUMINOUS,
280
+ EGameVersions.CHUNITHM_SUN_PLUS,
281
+ EGameVersions.CHUNITHM_SUN,
282
+ EGameVersions.CHUNITHM_NEW_PLUS,
283
+ EGameVersions.CHUNITHM_NEW,
284
+ EGameVersions.CHUNITHM_PARADISE_LOST,
285
+ EGameVersions.CHUNITHM_SUPERSTAR_PLUS,
286
+ EGameVersions.CHUNITHM_PARADISE,
287
+ EGameVersions.CHUNITHM_CRYSTAL_PLUS,
288
+ EGameVersions.CHUNITHM_SUPERSTAR,
289
+ EGameVersions.CHUNITHM_CRYSTAL,
290
+ EGameVersions.CHUNITHM_AMAZON_PLUS,
291
+ EGameVersions.CHUNITHM_AMAZON,
292
+ EGameVersions.CHUNITHM_STAR_PLUS,
293
+ EGameVersions.CHUNITHM_STAR,
294
+ EGameVersions.CHUNITHM_AIR_PLUS,
295
+ EGameVersions.CHUNITHM_AIR,
296
+ EGameVersions.CHUNITHM_PLUS,
297
+ EGameVersions.CHUNITHM,
298
+ ];
299
+ /**
300
+ * Compare two game versions and calculate which is newer.
301
+ *
302
+ * @param a Game version.
303
+ * @param b Game version.
304
+ * @returns positive if a is newer, negative if b is newer, 0 if they are the same.
305
+ */
306
+ function compareGameVersions(a, b) {
307
+ if (!GameVersions.includes(a))
308
+ return -1;
309
+ if (!GameVersions.includes(b))
310
+ return 1;
311
+ if (a == b)
312
+ return 0;
313
+ return GameVersions.indexOf(b) - GameVersions.indexOf(a);
314
+ }
315
+ KamaiTachi.compareGameVersions = compareGameVersions;
316
+ })(KamaiTachi || (exports.KamaiTachi = KamaiTachi = {}));
317
+ //# sourceMappingURL=index.js.map