@keymanapp/kmc-model 17.0.85-alpha

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 (180) hide show
  1. package/.nyc_output/coverage-10524-1681239236645-0.json +1 -0
  2. package/Makefile +38 -0
  3. package/build/cjs-src/lexical-model-compiler.cjs +152688 -0
  4. package/build/src/build-trie.d.ts +40 -0
  5. package/build/src/build-trie.d.ts.map +1 -0
  6. package/build/src/build-trie.js +362 -0
  7. package/build/src/build-trie.js.map +1 -0
  8. package/build/src/join-word-breaker-decorator.d.ts +10 -0
  9. package/build/src/join-word-breaker-decorator.d.ts.map +1 -0
  10. package/build/src/join-word-breaker-decorator.js +121 -0
  11. package/build/src/join-word-breaker-decorator.js.map +1 -0
  12. package/build/src/lexical-model-compiler.d.ts +19 -0
  13. package/build/src/lexical-model-compiler.d.ts.map +1 -0
  14. package/build/src/lexical-model-compiler.js +155 -0
  15. package/build/src/lexical-model-compiler.js.map +1 -0
  16. package/build/src/lexical-model.d.ts +135 -0
  17. package/build/src/lexical-model.d.ts.map +1 -0
  18. package/build/src/lexical-model.js +6 -0
  19. package/build/src/lexical-model.js.map +1 -0
  20. package/build/src/main.d.ts +15 -0
  21. package/build/src/main.d.ts.map +1 -0
  22. package/build/src/main.js +46 -0
  23. package/build/src/main.js.map +1 -0
  24. package/build/src/model-compiler-errors.d.ts +77 -0
  25. package/build/src/model-compiler-errors.d.ts.map +1 -0
  26. package/build/src/model-compiler-errors.js +156 -0
  27. package/build/src/model-compiler-errors.js.map +1 -0
  28. package/build/src/model-defaults.d.ts +56 -0
  29. package/build/src/model-defaults.d.ts.map +1 -0
  30. package/build/src/model-defaults.js +106 -0
  31. package/build/src/model-defaults.js.map +1 -0
  32. package/build/src/model-definitions.d.ts +71 -0
  33. package/build/src/model-definitions.d.ts.map +1 -0
  34. package/build/src/model-definitions.js +189 -0
  35. package/build/src/model-definitions.js.map +1 -0
  36. package/build/src/script-overrides-decorator.d.ts +4 -0
  37. package/build/src/script-overrides-decorator.d.ts.map +1 -0
  38. package/build/src/script-overrides-decorator.js +63 -0
  39. package/build/src/script-overrides-decorator.js.map +1 -0
  40. package/build/test/helpers/index.d.ts +69 -0
  41. package/build/test/helpers/index.d.ts.map +1 -0
  42. package/build/test/helpers/index.js +160 -0
  43. package/build/test/helpers/index.js.map +1 -0
  44. package/build/test/test-compile-model-with-pseudoclosure.d.ts +2 -0
  45. package/build/test/test-compile-model-with-pseudoclosure.d.ts.map +1 -0
  46. package/build/test/test-compile-model-with-pseudoclosure.js +200 -0
  47. package/build/test/test-compile-model-with-pseudoclosure.js.map +1 -0
  48. package/build/test/test-compile-model.d.ts +2 -0
  49. package/build/test/test-compile-model.d.ts.map +1 -0
  50. package/build/test/test-compile-model.js +30 -0
  51. package/build/test/test-compile-model.js.map +1 -0
  52. package/build/test/test-compile-trie.d.ts +2 -0
  53. package/build/test/test-compile-trie.d.ts.map +1 -0
  54. package/build/test/test-compile-trie.js +125 -0
  55. package/build/test/test-compile-trie.js.map +1 -0
  56. package/build/test/test-default-apply-case.d.ts +2 -0
  57. package/build/test/test-default-apply-case.d.ts.map +1 -0
  58. package/build/test/test-default-apply-case.js +105 -0
  59. package/build/test/test-default-apply-case.js.map +1 -0
  60. package/build/test/test-default-search-term-to-key.d.ts +2 -0
  61. package/build/test/test-default-search-term-to-key.d.ts.map +1 -0
  62. package/build/test/test-default-search-term-to-key.js +148 -0
  63. package/build/test/test-default-search-term-to-key.js.map +1 -0
  64. package/build/test/test-error-logger.d.ts +2 -0
  65. package/build/test/test-error-logger.d.ts.map +1 -0
  66. package/build/test/test-error-logger.js +26 -0
  67. package/build/test/test-error-logger.js.map +1 -0
  68. package/build/test/test-join-word-breaker.d.ts +2 -0
  69. package/build/test/test-join-word-breaker.d.ts.map +1 -0
  70. package/build/test/test-join-word-breaker.js +84 -0
  71. package/build/test/test-join-word-breaker.js.map +1 -0
  72. package/build/test/test-model-definitions.d.ts +2 -0
  73. package/build/test/test-model-definitions.d.ts.map +1 -0
  74. package/build/test/test-model-definitions.js +165 -0
  75. package/build/test/test-model-definitions.js.map +1 -0
  76. package/build/test/test-override-script-defaults.d.ts +2 -0
  77. package/build/test/test-override-script-defaults.d.ts.map +1 -0
  78. package/build/test/test-override-script-defaults.js +28 -0
  79. package/build/test/test-override-script-defaults.js.map +1 -0
  80. package/build/test/test-parse-wordlist.d.ts +2 -0
  81. package/build/test/test-parse-wordlist.d.ts.map +1 -0
  82. package/build/test/test-parse-wordlist.js +110 -0
  83. package/build/test/test-parse-wordlist.js.map +1 -0
  84. package/build/test/test-punctuation.d.ts +2 -0
  85. package/build/test/test-punctuation.d.ts.map +1 -0
  86. package/build/test/test-punctuation.js +31 -0
  87. package/build/test/test-punctuation.js.map +1 -0
  88. package/build/test/tsconfig.tsbuildinfo +1 -0
  89. package/build/test/wordbreakers/data.d.ts +35 -0
  90. package/build/test/wordbreakers/data.d.ts.map +1 -0
  91. package/build/test/wordbreakers/data.js +1778 -0
  92. package/build/test/wordbreakers/data.js.map +1 -0
  93. package/build/test/wordbreakers/default-wordbreaker-esm.d.ts +10 -0
  94. package/build/test/wordbreakers/default-wordbreaker-esm.d.ts.map +1 -0
  95. package/build/test/wordbreakers/default-wordbreaker-esm.js +354 -0
  96. package/build/test/wordbreakers/default-wordbreaker-esm.js.map +1 -0
  97. package/build/tsconfig.tsbuildinfo +1 -0
  98. package/build.sh +73 -0
  99. package/coverage/lcov-report/base.css +224 -0
  100. package/coverage/lcov-report/block-navigation.js +87 -0
  101. package/coverage/lcov-report/favicon.png +0 -0
  102. package/coverage/lcov-report/index.html +161 -0
  103. package/coverage/lcov-report/prettify.css +1 -0
  104. package/coverage/lcov-report/prettify.js +2 -0
  105. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  106. package/coverage/lcov-report/sorter.js +196 -0
  107. package/coverage/lcov-report/src/build-trie.ts.html +1618 -0
  108. package/coverage/lcov-report/src/index.html +221 -0
  109. package/coverage/lcov-report/src/join-word-breaker-decorator.ts.html +487 -0
  110. package/coverage/lcov-report/src/lexical-model-compiler.ts.html +622 -0
  111. package/coverage/lcov-report/src/main.ts.html +271 -0
  112. package/coverage/lcov-report/src/model-compiler-errors.ts.html +691 -0
  113. package/coverage/lcov-report/src/model-defaults.ts.html +415 -0
  114. package/coverage/lcov-report/src/model-definitions.ts.html +748 -0
  115. package/coverage/lcov-report/src/script-overrides-decorator.ts.html +310 -0
  116. package/coverage/lcov-report/test/helpers/index.html +116 -0
  117. package/coverage/lcov-report/test/helpers/index.ts.html +646 -0
  118. package/coverage/lcov-report/test/index.html +266 -0
  119. package/coverage/lcov-report/test/test-compile-model-with-pseudoclosure.ts.html +802 -0
  120. package/coverage/lcov-report/test/test-compile-model.ts.html +187 -0
  121. package/coverage/lcov-report/test/test-compile-trie.ts.html +541 -0
  122. package/coverage/lcov-report/test/test-default-apply-case.ts.html +466 -0
  123. package/coverage/lcov-report/test/test-default-search-term-to-key.ts.html +628 -0
  124. package/coverage/lcov-report/test/test-error-logger.ts.html +196 -0
  125. package/coverage/lcov-report/test/test-join-word-breaker.ts.html +376 -0
  126. package/coverage/lcov-report/test/test-model-definitions.ts.html +676 -0
  127. package/coverage/lcov-report/test/test-override-script-defaults.ts.html +184 -0
  128. package/coverage/lcov-report/test/test-parse-wordlist.ts.html +466 -0
  129. package/coverage/lcov-report/test/test-punctuation.ts.html +190 -0
  130. package/coverage/lcov-report/test/wordbreakers/data.ts.html +5413 -0
  131. package/coverage/lcov-report/test/wordbreakers/default-wordbreaker-esm.ts.html +1234 -0
  132. package/coverage/lcov-report/test/wordbreakers/index.html +131 -0
  133. package/coverage/lcov.info +5969 -0
  134. package/package.json +61 -0
  135. package/src/build-trie.ts +511 -0
  136. package/src/join-word-breaker-decorator.ts +134 -0
  137. package/src/lexical-model-compiler.ts +179 -0
  138. package/src/lexical-model.ts +150 -0
  139. package/src/main.ts +62 -0
  140. package/src/model-compiler-errors.ts +203 -0
  141. package/src/model-defaults.ts +111 -0
  142. package/src/model-definitions.ts +222 -0
  143. package/src/script-overrides-decorator.ts +75 -0
  144. package/test/README.md +15 -0
  145. package/test/fixtures/example.qaa.joinwordbreaker/example.qaa.joinwordbreaker.model.ts +10 -0
  146. package/test/fixtures/example.qaa.joinwordbreaker/wordlist.tsv +3 -0
  147. package/test/fixtures/example.qaa.scriptusesspaces/example.qaa.scriptusesspaces.model.ts +10 -0
  148. package/test/fixtures/example.qaa.scriptusesspaces/wordlist.tsv +8 -0
  149. package/test/fixtures/example.qaa.sencoten/example.qaa.sencoten.model.kmp.json +45 -0
  150. package/test/fixtures/example.qaa.sencoten/example.qaa.sencoten.model.kps +35 -0
  151. package/test/fixtures/example.qaa.sencoten/example.qaa.sencoten.model.ts +6 -0
  152. package/test/fixtures/example.qaa.sencoten/wordlist.tsv +10 -0
  153. package/test/fixtures/example.qaa.smp/example.qaa.smp.model.ts +6 -0
  154. package/test/fixtures/example.qaa.smp/wordlist.tsv +5 -0
  155. package/test/fixtures/example.qaa.trivial/example.qaa.trivial.model.ts +5 -0
  156. package/test/fixtures/example.qaa.trivial/wordlist.tsv +3 -0
  157. package/test/fixtures/example.qaa.utf16be/example.qaa.utf16be.model.ts +5 -0
  158. package/test/fixtures/example.qaa.utf16be/wordlist.txt +0 -0
  159. package/test/fixtures/example.qaa.utf16le/example.qaa.utf16le.model.ts +5 -0
  160. package/test/fixtures/example.qaa.utf16le/wordlist.txt +0 -0
  161. package/test/fixtures/example.qaa.wordbreaker/example.qaa.wordbreaker.model.ts +9 -0
  162. package/test/fixtures/example.qaa.wordbreaker/wordlist.tsv +3 -0
  163. package/test/helpers/index.ts +187 -0
  164. package/test/test-compile-model-with-pseudoclosure.ts +239 -0
  165. package/test/test-compile-model.ts +34 -0
  166. package/test/test-compile-trie.ts +152 -0
  167. package/test/test-default-apply-case.ts +128 -0
  168. package/test/test-default-search-term-to-key.ts +181 -0
  169. package/test/test-error-logger.ts +38 -0
  170. package/test/test-join-word-breaker.ts +97 -0
  171. package/test/test-model-definitions.ts +198 -0
  172. package/test/test-override-script-defaults.ts +33 -0
  173. package/test/test-parse-wordlist.ts +127 -0
  174. package/test/test-punctuation.ts +35 -0
  175. package/test/tsconfig.json +22 -0
  176. package/test/wordbreakers/README.md +3 -0
  177. package/test/wordbreakers/data.ts +1776 -0
  178. package/test/wordbreakers/default-wordbreaker-esm.ts +383 -0
  179. package/tools/create-override-script-regexp.ts +145 -0
  180. package/tsconfig.json +17 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../test/wordbreakers/data.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,wDAAwD;AACxD;;GAEG;AACH,MAAM,CAAN,IAAY,iBAsBX;AAtBD,WAAY,iBAAiB;IAC3B,2DAAK,CAAA;IACL,qDAAE,CAAA;IACF,+DAAO,CAAA;IACP,qDAAE,CAAA;IACF,mEAAS,CAAA;IACT,yEAAY,CAAA;IACZ,yEAAY,CAAA;IACZ,6DAAM,CAAA;IACN,mEAAS,CAAA;IACT,+DAAO,CAAA;IACP,oEAAS,CAAA;IACT,gEAAO,CAAA;IACP,0EAAY,CAAA;IACZ,8DAAM,CAAA;IACN,8DAAM,CAAA;IACN,4EAAa,CAAA;IACb,wDAAG,CAAA;IACH,kEAAQ,CAAA;IACR,sFAAkB,CAAA;IAClB,wDAAG,CAAA;IACH,wDAAG,CAAA;AACL,CAAC,EAtBW,iBAAiB,KAAjB,iBAAiB,QAsB5B;AAAA,CAAC;AAEF;;GAEG;AACH,MAAM,CAAN,IAAY,CAGX;AAHD,WAAY,CAAC;IACX,2BAAS,CAAA;IACT,2BAAS,CAAA;AACX,CAAC,EAHW,CAAC,KAAD,CAAC,QAGZ;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAkC;IAChE,CAAC,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACxC,CAAC,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,CAAC;IACrC,CAAC,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC1C,CAAC,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,CAAC;IACrC,CAAC,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACxC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC;IAC7C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,YAAY,CAAC;IAChD,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,YAAY,CAAC;IAChD,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC1C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC;IAC7C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC3C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC;IAC7C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC1C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC3C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,YAAY,CAAC;IAChD,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC3C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC3C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC3C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC1C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC3C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC;IAC7C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC3C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC3C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC3C,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC;IAC9C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC;IAC9C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC;IAClD,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC;IAClD,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC;IAC9C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC5C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC3C,CAAC,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC1C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAAC;IAC/C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC5C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,C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,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,C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,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CA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B,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;IACzD,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC7C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC7C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC7C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC7C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;CAC7C,CAAC"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="@keymanapp/models-types" />
2
+ /**
3
+ * Word breaker based on Unicode Standard Annex #29, Section 4.1:
4
+ * Default Word Boundary Specification.
5
+ *
6
+ * @see http://unicode.org/reports/tr29/#Word_Boundaries
7
+ * @see https://github.com/eddieantonio/unicode-default-word-boundary/tree/v12.0.0
8
+ */
9
+ export default function default_(text: string): Span[];
10
+ //# sourceMappingURL=default-wordbreaker-esm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-wordbreaker-esm.d.ts","sourceRoot":"","sources":["../../../test/wordbreakers/default-wordbreaker-esm.ts"],"names":[],"mappings":";AAKE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,CAwBrD"}
@@ -0,0 +1,354 @@
1
+ // TEMP: esm version of /common/models/wordbreakers/default/index.ts
2
+ import { I, WORD_BREAK_PROPERTY, WordBreakProperty } from './data.js';
3
+ /**
4
+ * Word breaker based on Unicode Standard Annex #29, Section 4.1:
5
+ * Default Word Boundary Specification.
6
+ *
7
+ * @see http://unicode.org/reports/tr29/#Word_Boundaries
8
+ * @see https://github.com/eddieantonio/unicode-default-word-boundary/tree/v12.0.0
9
+ */
10
+ export default function default_(text) {
11
+ let boundaries = findBoundaries(text);
12
+ if (boundaries.length == 0) {
13
+ return [];
14
+ }
15
+ // All non-empty strings have at least TWO boundaries: at the start and at the end of
16
+ // the string.
17
+ let spans = [];
18
+ for (let i = 0; i < boundaries.length - 1; i++) {
19
+ let start = boundaries[i];
20
+ let end = boundaries[i + 1];
21
+ let span = new LazySpan(text, start, end);
22
+ if (isNonSpace(span.text)) {
23
+ spans.push(span);
24
+ // Preserve a sequence-final space if it exists. Needed to signal "end of word".
25
+ }
26
+ else if (i == boundaries.length - 2) { // if "we just checked the final boundary"...
27
+ // We don't want to return the whitespace itself; the correct token is simply ''.
28
+ span = new LazySpan(text, end, end);
29
+ spans.push(span);
30
+ }
31
+ }
32
+ return spans;
33
+ }
34
+ // Utilities //
35
+ // type WordBreakProperty = data.WordBreakProperty;
36
+ // const WordBreakProperty = data.WordBreakProperty;
37
+ // type I = data.I;
38
+ // const I = data.I;
39
+ // const WORD_BREAK_PROPERTY = data.WORD_BREAK_PROPERTY;
40
+ /**
41
+ * A span that does not cut out the substring until it absolutely has to!
42
+ */
43
+ class LazySpan {
44
+ _source;
45
+ start;
46
+ end;
47
+ constructor(source, start, end) {
48
+ this._source = source;
49
+ this.start = start;
50
+ this.end = end;
51
+ }
52
+ get text() {
53
+ return this._source.substring(this.start, this.end);
54
+ }
55
+ get length() {
56
+ return this.end - this.start;
57
+ }
58
+ }
59
+ /**
60
+ * Returns true when the chunk does not solely consist of whitespace.
61
+ *
62
+ * @param chunk a chunk of text. Starts and ends at word boundaries.
63
+ */
64
+ function isNonSpace(chunk) {
65
+ return !Array.from(chunk).map(property).every(wb => (wb === WordBreakProperty.CR ||
66
+ wb === WordBreakProperty.LF ||
67
+ wb === WordBreakProperty.Newline ||
68
+ wb === WordBreakProperty.WSegSpace));
69
+ }
70
+ /**
71
+ * Yields a series of string indices where a word break should
72
+ * occur. That is, there should be a break BEFORE each string
73
+ * index yielded by this generator.
74
+ *
75
+ * @param text Text to find word boundaries in.
76
+ */
77
+ function findBoundaries(text) {
78
+ // WB1 and WB2: no boundaries if given an empty string.
79
+ if (text.length === 0) {
80
+ // There are no boundaries in an empty string!
81
+ return [];
82
+ }
83
+ // This algorithm works by maintaining a sliding window of four SCALAR VALUES.
84
+ //
85
+ // - Scalar values? JavaScript strings are NOT actually a string of
86
+ // Unicode code points; some characters are made up of TWO
87
+ // JavaScript indices. e.g.,
88
+ // "💩".length === 2;
89
+ // "💩"[0] === '\uD83D';
90
+ // "💩"[1] === '\uDCA9';
91
+ //
92
+ // These characters that are represented by TWO indices are
93
+ // called "surrogate pairs". Since we don't want to be in the
94
+ // "middle" of a character, make sure we're always advancing
95
+ // by scalar values, and NOT indices. That means, we sometimes
96
+ // need to advance by TWO indices, not just one.
97
+ // - Four values? Some rules look at what's to the left of
98
+ // left, and some look at what's to the right of right. So
99
+ // keep track of this!
100
+ let boundaries = [];
101
+ let rightPos;
102
+ let lookaheadPos = 0; // lookahead, one scalar value to the right of right.
103
+ // Before the start of the string is also the start of the string.
104
+ let lookbehind;
105
+ let left = WordBreakProperty.sot;
106
+ let right = WordBreakProperty.sot;
107
+ let lookahead = wordbreakPropertyAt(0);
108
+ // Count RIs to make sure we're not splitting emoji flags:
109
+ let nConsecutiveRegionalIndicators = 0;
110
+ do {
111
+ // Shift all positions, one scalar value to the right.
112
+ rightPos = lookaheadPos;
113
+ lookaheadPos = positionAfter(lookaheadPos);
114
+ // Shift all properties, one scalar value to the right.
115
+ [lookbehind, left, right, lookahead] =
116
+ [left, right, lookahead, wordbreakPropertyAt(lookaheadPos)];
117
+ // Break at the start and end of text, unless the text is empty.
118
+ // WB1: Break at start of text...
119
+ if (left === WordBreakProperty.sot) {
120
+ boundaries.push(rightPos);
121
+ continue;
122
+ }
123
+ // WB2: Break at the end of text...
124
+ if (right === WordBreakProperty.eot) {
125
+ boundaries.push(rightPos);
126
+ break; // Reached the end of the string. We're done!
127
+ }
128
+ // WB3: Do not break within CRLF:
129
+ if (left === WordBreakProperty.CR && right === WordBreakProperty.LF)
130
+ continue;
131
+ // WB3b: Otherwise, break after...
132
+ if (left === WordBreakProperty.Newline ||
133
+ left === WordBreakProperty.CR ||
134
+ left === WordBreakProperty.LF) {
135
+ boundaries.push(rightPos);
136
+ continue;
137
+ }
138
+ // WB3a: ...and before newlines
139
+ if (right === WordBreakProperty.Newline ||
140
+ right === WordBreakProperty.CR ||
141
+ right === WordBreakProperty.LF) {
142
+ boundaries.push(rightPos);
143
+ continue;
144
+ }
145
+ // TODO: WB3c is not implemented, due to its complex, error-prone
146
+ // implementation, requiring a ginormous regexp, and the fact that
147
+ // the only thing it does is prevent big emoji sequences from being
148
+ // split up, like 🧚🏼‍♂️
149
+ // https://www.unicode.org/Public/emoji/12.0/emoji-zwj-sequences.txt
150
+ // WB3d: Keep horizontal whitespace together
151
+ if (left === WordBreakProperty.WSegSpace && right == WordBreakProperty.WSegSpace)
152
+ continue;
153
+ // WB4: Ignore format and extend characters
154
+ // This is to keep grapheme clusters together!
155
+ // See: Section 6.2: https://unicode.org/reports/tr29/#Grapheme_Cluster_and_Format_Rules
156
+ // N.B.: The rule about "except after sot, CR, LF, and
157
+ // Newline" already been by WB1, WB2, WB3a, and WB3b above.
158
+ while (right === WordBreakProperty.Format ||
159
+ right === WordBreakProperty.Extend ||
160
+ right === WordBreakProperty.ZWJ) {
161
+ // Continue advancing in the string, as if these
162
+ // characters do not exist. DO NOT update left and
163
+ // lookbehind however!
164
+ [rightPos, lookaheadPos] = [lookaheadPos, positionAfter(lookaheadPos)];
165
+ [right, lookahead] = [lookahead, wordbreakPropertyAt(lookaheadPos)];
166
+ }
167
+ // In ignoring the characters in the previous loop, we could
168
+ // have fallen off the end of the string, so end the loop
169
+ // prematurely if that happens!
170
+ if (right === WordBreakProperty.eot) {
171
+ boundaries.push(rightPos);
172
+ break;
173
+ }
174
+ // WB4 (continued): Lookahead must ALSO ignore these format,
175
+ // extend, ZWJ characters!
176
+ while (lookahead === WordBreakProperty.Format ||
177
+ lookahead === WordBreakProperty.Extend ||
178
+ lookahead === WordBreakProperty.ZWJ) {
179
+ // Continue advancing in the string, as if these
180
+ // characters do not exist. DO NOT update left and right,
181
+ // however!
182
+ lookaheadPos = positionAfter(lookaheadPos);
183
+ lookahead = wordbreakPropertyAt(lookaheadPos);
184
+ }
185
+ // WB5: Do not break between most letters.
186
+ if (isAHLetter(left) && isAHLetter(right))
187
+ continue;
188
+ // Do not break across certain punctuation
189
+ // WB6: (Don't break before apostrophes in contractions)
190
+ if (isAHLetter(left) && isAHLetter(lookahead) &&
191
+ (right === WordBreakProperty.MidLetter || isMidNumLetQ(right)))
192
+ continue;
193
+ // WB7: (Don't break after apostrophes in contractions)
194
+ if (isAHLetter(lookbehind) && isAHLetter(right) &&
195
+ (left === WordBreakProperty.MidLetter || isMidNumLetQ(left)))
196
+ continue;
197
+ // WB7a
198
+ if (left === WordBreakProperty.Hebrew_Letter && right === WordBreakProperty.Single_Quote)
199
+ continue;
200
+ // WB7b
201
+ if (left === WordBreakProperty.Hebrew_Letter && right === WordBreakProperty.Double_Quote &&
202
+ lookahead === WordBreakProperty.Hebrew_Letter)
203
+ continue;
204
+ // WB7c
205
+ if (lookbehind === WordBreakProperty.Hebrew_Letter && left === WordBreakProperty.Double_Quote &&
206
+ right === WordBreakProperty.Hebrew_Letter)
207
+ continue;
208
+ // Do not break within sequences of digits, or digits adjacent to letters.
209
+ // e.g., "3a" or "A3"
210
+ // WB8
211
+ if (left === WordBreakProperty.Numeric && right === WordBreakProperty.Numeric)
212
+ continue;
213
+ // WB9
214
+ if (isAHLetter(left) && right === WordBreakProperty.Numeric)
215
+ continue;
216
+ // WB10
217
+ if (left === WordBreakProperty.Numeric && isAHLetter(right))
218
+ continue;
219
+ // Do not break within sequences, such as 3.2, 3,456.789
220
+ // WB11
221
+ if (lookbehind === WordBreakProperty.Numeric && right === WordBreakProperty.Numeric &&
222
+ (left === WordBreakProperty.MidNum || isMidNumLetQ(left)))
223
+ continue;
224
+ // WB12
225
+ if (left === WordBreakProperty.Numeric && lookahead === WordBreakProperty.Numeric &&
226
+ (right === WordBreakProperty.MidNum || isMidNumLetQ(right)))
227
+ continue;
228
+ // WB13: Do not break between Katakana
229
+ if (left === WordBreakProperty.Katakana && right === WordBreakProperty.Katakana)
230
+ continue;
231
+ // Do not break from extenders (e.g., U+202F NARROW NO-BREAK SPACE)
232
+ // WB13a
233
+ if ((isAHLetter(left) ||
234
+ left === WordBreakProperty.Numeric ||
235
+ left === WordBreakProperty.Katakana ||
236
+ left === WordBreakProperty.ExtendNumLet) &&
237
+ right === WordBreakProperty.ExtendNumLet)
238
+ continue;
239
+ // WB13b
240
+ if ((isAHLetter(right) ||
241
+ right === WordBreakProperty.Numeric ||
242
+ right === WordBreakProperty.Katakana) && left === WordBreakProperty.ExtendNumLet)
243
+ continue;
244
+ // WB15 & WB16:
245
+ // Do not break within emoji flag sequences. That is, do not break between
246
+ // regional indicator (RI) symbols if there is an odd number of RI
247
+ // characters before the break point.
248
+ if (right === WordBreakProperty.Regional_Indicator) {
249
+ // Emoji flags are actually composed of TWO scalar values, each being a
250
+ // "regional indicator". These indicators correspond to Latin letters. Put
251
+ // two of them together, and they spell out an ISO 3166-1-alpha-2 country
252
+ // code. Since these always come in pairs, NEVER split the pairs! So, if
253
+ // we happen to be inside the middle of an odd numbered of
254
+ // Regional_Indicators, DON'T SPLIT IT!
255
+ nConsecutiveRegionalIndicators += 1;
256
+ if ((nConsecutiveRegionalIndicators % 2) == 1) {
257
+ continue;
258
+ }
259
+ }
260
+ else {
261
+ nConsecutiveRegionalIndicators = 0;
262
+ }
263
+ // WB999: Otherwise, break EVERYWHERE (including around ideographs)
264
+ boundaries.push(rightPos);
265
+ } while (rightPos < text.length);
266
+ return boundaries;
267
+ ///// Internal utility functions /////
268
+ /**
269
+ * Returns the position of the start of the next scalar value. This jumps
270
+ * over surrogate pairs.
271
+ *
272
+ * If asked for the character AFTER the end of the string, this always
273
+ * returns the length of the string.
274
+ */
275
+ function positionAfter(pos) {
276
+ if (pos >= text.length) {
277
+ return text.length;
278
+ }
279
+ else if (isStartOfSurrogatePair(text[pos])) {
280
+ return pos + 2;
281
+ }
282
+ return pos + 1;
283
+ }
284
+ /**
285
+ * Return the value of the Word_Break property at the given string index.
286
+ * @param pos position in the text.
287
+ */
288
+ function wordbreakPropertyAt(pos) {
289
+ if (pos < 0) {
290
+ return WordBreakProperty.sot; // Always "start of string" before the string starts!
291
+ }
292
+ else if (pos >= text.length) {
293
+ return WordBreakProperty.eot; // Always "end of string" after the string ends!
294
+ }
295
+ else if (isStartOfSurrogatePair(text[pos])) {
296
+ // Surrogate pairs the next TWO items from the string!
297
+ return property(text[pos] + text[pos + 1]);
298
+ }
299
+ return property(text[pos]);
300
+ }
301
+ // Word_Break rule macros
302
+ // See: https://unicode.org/reports/tr29/#WB_Rule_Macros
303
+ function isAHLetter(prop) {
304
+ return prop === WordBreakProperty.ALetter ||
305
+ prop === WordBreakProperty.Hebrew_Letter;
306
+ }
307
+ function isMidNumLetQ(prop) {
308
+ return prop === WordBreakProperty.MidNumLet ||
309
+ prop === WordBreakProperty.Single_Quote;
310
+ }
311
+ }
312
+ function isStartOfSurrogatePair(character) {
313
+ let codeUnit = character.charCodeAt(0);
314
+ return codeUnit >= 0xD800 && codeUnit <= 0xDBFF;
315
+ }
316
+ /**
317
+ * Return the Word_Break property value for a character.
318
+ * Note that
319
+ * @param character a scalar value
320
+ */
321
+ function property(character) {
322
+ // This MUST be a scalar value.
323
+ // TODO: remove dependence on character.codepointAt()?
324
+ let codepoint = character.codePointAt(0);
325
+ return searchForProperty(codepoint, 0, WORD_BREAK_PROPERTY.length - 1);
326
+ }
327
+ /**
328
+ * Binary search for the word break property of a given CODE POINT.
329
+ *
330
+ * The auto-generated data.ts master array defines a **character range**
331
+ * lookup table. If a character's codepoint is equal to or greater than
332
+ * the I.Start value for an entry and exclusively less than the next entry,
333
+ * it falls in the first entry's range bucket and is classified accordingly
334
+ * by this method.
335
+ */
336
+ function searchForProperty(codePoint, left, right) {
337
+ // All items that are not found in the array are assigned the 'Other' property.
338
+ if (right < left) {
339
+ return WordBreakProperty.Other;
340
+ }
341
+ let midpoint = left + ~~((right - left) / 2);
342
+ let candidate = WORD_BREAK_PROPERTY[midpoint];
343
+ let nextRange = WORD_BREAK_PROPERTY[midpoint + 1];
344
+ let startOfNextRange = nextRange ? nextRange[I.Start] : Infinity;
345
+ if (codePoint < candidate[I.Start]) {
346
+ return searchForProperty(codePoint, left, midpoint - 1);
347
+ }
348
+ else if (codePoint >= startOfNextRange) {
349
+ return searchForProperty(codePoint, midpoint + 1, right);
350
+ }
351
+ // We found it!
352
+ return candidate[I.Value];
353
+ }
354
+ //# sourceMappingURL=default-wordbreaker-esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-wordbreaker-esm.js","sourceRoot":"","sources":["../../../test/wordbreakers/default-wordbreaker-esm.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEnE,OAAO,EAAE,CAAC,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGrE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,IAAY;IAC3C,IAAI,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;QAC1B,OAAO,EAAE,CAAC;KACX;IAED,qFAAqF;IACrF,cAAc;IACd,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9C,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAE1C,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,iFAAiF;SAClF;aAAM,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,6CAA6C;YACpF,iFAAiF;YACjF,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,eAAe;AACf,mDAAmD;AACnD,oDAAoD;AACpD,mBAAmB;AACnB,oBAAoB;AACpB,wDAAwD;AAExD;;GAEG;AACH,MAAM,QAAQ;IACJ,OAAO,CAAS;IACf,KAAK,CAAS;IACd,GAAG,CAAS;IACrB,YAAY,MAAc,EAAE,KAAa,EAAE,GAAW;QACpD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/B,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAClD,EAAE,KAAK,iBAAiB,CAAC,EAAE;QAC3B,EAAE,KAAK,iBAAiB,CAAC,EAAE;QAC3B,EAAE,KAAK,iBAAiB,CAAC,OAAO;QAChC,EAAE,KAAK,iBAAiB,CAAC,SAAS,CACnC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,uDAAuD;IACvD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,8CAA8C;QAC9C,OAAO,EAAE,CAAC;KACX;IAED,8EAA8E;IAC9E,EAAE;IACF,oEAAoE;IACpE,6DAA6D;IAC7D,+BAA+B;IAC/B,4BAA4B;IAC5B,+BAA+B;IAC/B,+BAA+B;IAC/B,EAAE;IACF,8DAA8D;IAC9D,gEAAgE;IAChE,+DAA+D;IAC/D,iEAAiE;IACjE,mDAAmD;IACnD,2DAA2D;IAC3D,6DAA6D;IAC7D,yBAAyB;IAEzB,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,IAAI,QAAgB,CAAC;IACrB,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,qDAAqD;IAC3E,kEAAkE;IAClE,IAAI,UAA6B,CAAC;IAClC,IAAI,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC;IACjC,IAAI,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC;IAClC,IAAI,SAAS,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACvC,0DAA0D;IAC1D,IAAI,8BAA8B,GAAG,CAAC,CAAC;IAEvC,GAAI;QACF,sDAAsD;QACtD,QAAQ,GAAG,YAAY,CAAC;QACxB,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,uDAAuD;QACvD,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC;YAClC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;QAE9D,gEAAgE;QAChE,iCAAiC;QACjC,IAAI,IAAI,KAAK,iBAAiB,CAAC,GAAG,EAAE;YAClC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,SAAS;SACV;QACD,mCAAmC;QACnC,IAAI,KAAK,KAAK,iBAAiB,CAAC,GAAG,EAAE;YACnC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,CAAC,6CAA6C;SACrD;QACD,iCAAiC;QACjC,IAAI,IAAI,KAAK,iBAAiB,CAAC,EAAE,IAAI,KAAK,KAAK,iBAAiB,CAAC,EAAE;YACjE,SAAS;QACX,kCAAkC;QAClC,IAAI,IAAI,KAAK,iBAAiB,CAAC,OAAO;YAClC,IAAI,KAAK,iBAAiB,CAAC,EAAE;YAC7B,IAAI,KAAK,iBAAiB,CAAC,EAAE,EAAE;YACjC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,SAAS;SACV;QACD,+BAA+B;QAC/B,IAAI,KAAK,KAAK,iBAAiB,CAAC,OAAO;YACnC,KAAK,KAAK,iBAAiB,CAAC,EAAE;YAC9B,KAAK,KAAK,iBAAiB,CAAC,EAAE,EAAE;YAClC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,SAAS;SACV;QAED,iEAAiE;QACjE,kEAAkE;QAClE,mEAAmE;QACnE,yBAAyB;QACzB,oEAAoE;QAEpE,4CAA4C;QAC5C,IAAI,IAAI,KAAK,iBAAiB,CAAC,SAAS,IAAI,KAAK,IAAI,iBAAiB,CAAC,SAAS;YAC9E,SAAS;QAEX,2CAA2C;QAC3C,8CAA8C;QAC9C,wFAAwF;QACxF,sDAAsD;QACtD,2DAA2D;QAC3D,OAAO,KAAK,KAAK,iBAAiB,CAAC,MAAM;YACnC,KAAK,KAAK,iBAAiB,CAAC,MAAM;YAClC,KAAK,KAAK,iBAAiB,CAAC,GAAG,EAAE;YACrC,gDAAgD;YAChD,kDAAkD;YAClD,sBAAsB;YACtB,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;YACvE,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;SACrE;QACD,4DAA4D;QAC5D,yDAAyD;QACzD,+BAA+B;QAC/B,IAAI,KAAK,KAAK,iBAAiB,CAAC,GAAG,EAAE;YACnC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM;SACP;QACD,4DAA4D;QAC5D,0BAA0B;QAC1B,OAAO,SAAS,KAAK,iBAAiB,CAAC,MAAM;YACvC,SAAS,KAAK,iBAAiB,CAAC,MAAM;YACtC,SAAS,KAAK,iBAAiB,CAAC,GAAG,EAAE;YACzC,gDAAgD;YAChD,yDAAyD;YACzD,WAAW;YACX,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;YAC3C,SAAS,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;SAC/C;QAED,0CAA0C;QAC1C,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC;YACvC,SAAS;QACX,0CAA0C;QAC1C,wDAAwD;QACxD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC;YAC3C,CAAC,KAAK,KAAK,iBAAiB,CAAC,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;YAC9D,SAAS;QACX,uDAAuD;QACvD,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC;YAC7C,CAAC,IAAI,KAAK,iBAAiB,CAAC,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5D,SAAS;QACX,OAAO;QACP,IAAI,IAAI,KAAK,iBAAiB,CAAC,aAAa,IAAI,KAAK,KAAK,iBAAiB,CAAC,YAAY;YACtF,SAAS;QACX,OAAO;QACP,IAAI,IAAI,KAAK,iBAAiB,CAAC,aAAa,IAAI,KAAK,KAAK,iBAAiB,CAAC,YAAY;YACpF,SAAS,KAAK,iBAAiB,CAAC,aAAa;YAC/C,SAAS;QACX,OAAO;QACP,IAAI,UAAU,KAAK,iBAAiB,CAAC,aAAa,IAAI,IAAI,KAAK,iBAAiB,CAAC,YAAY;YACzF,KAAK,KAAK,iBAAiB,CAAC,aAAa;YAC3C,SAAS;QACX,0EAA0E;QAC1E,qBAAqB;QACrB,MAAM;QACN,IAAI,IAAI,KAAK,iBAAiB,CAAC,OAAO,IAAI,KAAK,KAAK,iBAAiB,CAAC,OAAO;YAC3E,SAAS;QACX,MAAM;QACN,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,iBAAiB,CAAC,OAAO;YACzD,SAAS;QACX,OAAO;QACP,IAAI,IAAI,KAAK,iBAAiB,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC;YACzD,SAAS;QACX,wDAAwD;QACxD,OAAO;QACP,IAAI,UAAU,KAAK,iBAAiB,CAAC,OAAO,IAAI,KAAK,KAAK,iBAAiB,CAAC,OAAO;YACjF,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;YACzD,SAAS;QACX,OAAO;QACP,IAAI,IAAI,KAAK,iBAAiB,CAAC,OAAO,IAAI,SAAS,KAAK,iBAAiB,CAAC,OAAO;YAC7E,CAAC,KAAK,KAAK,iBAAiB,CAAC,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;YAC7D,SAAS;QACX,sCAAsC;QACtC,IAAI,IAAI,KAAK,iBAAiB,CAAC,QAAQ,IAAI,KAAK,KAAK,iBAAiB,CAAC,QAAQ;YAC7E,SAAS;QACX,mEAAmE;QACnE,QAAQ;QACR,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACjB,IAAI,KAAK,iBAAiB,CAAC,OAAO;YAClC,IAAI,KAAK,iBAAiB,CAAC,QAAQ;YACnC,IAAI,KAAK,iBAAiB,CAAC,YAAY,CAAC;YACxC,KAAK,KAAK,iBAAiB,CAAC,YAAY;YAC1C,SAAS;QACX,QAAQ;QACR,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACpB,KAAK,KAAK,iBAAiB,CAAC,OAAO;YACnC,KAAK,KAAK,iBAAiB,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,iBAAiB,CAAC,YAAY;YAChF,SAAS;QAEX,eAAe;QACf,0EAA0E;QAC1E,kEAAkE;QAClE,qCAAqC;QACrC,IAAI,KAAK,KAAK,iBAAiB,CAAC,kBAAkB,EAAE;YAClD,uEAAuE;YACvE,0EAA0E;YAC1E,yEAAyE;YACzE,wEAAwE;YACxE,0DAA0D;YAC1D,uCAAuC;YACvC,8BAA8B,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC7C,SAAS;aACV;SACF;aAAM;YACL,8BAA8B,GAAG,CAAC,CAAC;SACpC;QACD,mEAAmE;QACnE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC3B,QAAQ,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE;IAEjC,OAAO,UAAU,CAAC;IAElB,sCAAsC;IAEtC;;;;;;OAMG;IACH,SAAS,aAAa,CAAC,GAAW;QAChC,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;YACtB,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;aAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAC5C,OAAO,GAAG,GAAG,CAAC,CAAC;SAChB;QACD,OAAO,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,SAAS,mBAAmB,CAAC,GAAW;QACtC,IAAI,GAAG,GAAG,CAAC,EAAE;YACX,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,qDAAqD;SACpF;aAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;YAC7B,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,gDAAgD;SAC/E;aAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAC5C,sDAAsD;YACtD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAC5C;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,yBAAyB;IACzB,wDAAwD;IACxD,SAAS,UAAU,CAAC,IAAuB;QACzC,OAAO,IAAI,KAAK,iBAAiB,CAAC,OAAO;YACnC,IAAI,KAAK,iBAAiB,CAAC,aAAa,CAAC;IACjD,CAAC;IAED,SAAS,YAAY,CAAC,IAAuB;QAC3C,OAAO,IAAI,KAAK,iBAAiB,CAAC,SAAS;YACrC,IAAI,KAAK,iBAAiB,CAAC,YAAY,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,IAAI,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,SAAiB;IACjC,+BAA+B;IAC/B,sDAAsD;IACtD,IAAI,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAW,CAAC;IACnD,OAAO,iBAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,SAAiB,EAAE,IAAY,EAAE,KAAa;IACvE,+EAA+E;IAC/E,IAAI,KAAK,GAAG,IAAI,EAAE;QAChB,OAAO,iBAAiB,CAAC,KAAK,CAAC;KAChC;IAED,IAAI,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,IAAI,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,SAAS,GAAG,mBAAmB,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClD,IAAI,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEjE,IAAI,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;QAClC,OAAO,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;KACzD;SAAM,IAAI,SAAS,IAAI,gBAAgB,EAAE;QACxC,OAAO,iBAAiB,CAAC,SAAS,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;KAC1D;IAED,eAAe;IACf,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}