@google/gemini-cli 0.12.0-nightly.20251027.cb0947c5 → 0.12.0-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/README.md +7 -5
  2. package/dist/package.json +2 -2
  3. package/dist/src/commands/extensions/disable.d.ts +1 -1
  4. package/dist/src/commands/extensions/disable.js +5 -4
  5. package/dist/src/commands/extensions/disable.js.map +1 -1
  6. package/dist/src/commands/extensions/enable.d.ts +1 -1
  7. package/dist/src/commands/extensions/enable.js +3 -2
  8. package/dist/src/commands/extensions/enable.js.map +1 -1
  9. package/dist/src/commands/extensions/install.js +2 -1
  10. package/dist/src/commands/extensions/install.js.map +1 -1
  11. package/dist/src/commands/extensions/install.test.js +1 -0
  12. package/dist/src/commands/extensions/install.test.js.map +1 -1
  13. package/dist/src/commands/extensions/link.js +2 -1
  14. package/dist/src/commands/extensions/link.js.map +1 -1
  15. package/dist/src/commands/extensions/list.js +2 -2
  16. package/dist/src/commands/extensions/list.js.map +1 -1
  17. package/dist/src/commands/extensions/uninstall.js +2 -1
  18. package/dist/src/commands/extensions/uninstall.js.map +1 -1
  19. package/dist/src/commands/extensions/update.js +2 -2
  20. package/dist/src/commands/extensions/update.js.map +1 -1
  21. package/dist/src/commands/mcp/list.js +2 -2
  22. package/dist/src/commands/mcp/list.js.map +1 -1
  23. package/dist/src/config/config.d.ts +5 -3
  24. package/dist/src/config/config.js +42 -9
  25. package/dist/src/config/config.js.map +1 -1
  26. package/dist/src/config/config.test.js +186 -161
  27. package/dist/src/config/config.test.js.map +1 -1
  28. package/dist/src/config/extension-manager.d.ts +23 -10
  29. package/dist/src/config/extension-manager.js +89 -62
  30. package/dist/src/config/extension-manager.js.map +1 -1
  31. package/dist/src/config/extension.test.js +158 -74
  32. package/dist/src/config/extension.test.js.map +1 -1
  33. package/dist/src/config/extensions/extensionSettings.d.ts +3 -3
  34. package/dist/src/config/extensions/extensionSettings.js +74 -24
  35. package/dist/src/config/extensions/extensionSettings.js.map +1 -1
  36. package/dist/src/config/extensions/extensionSettings.test.js +145 -24
  37. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
  38. package/dist/src/config/extensions/github.js +3 -3
  39. package/dist/src/config/extensions/github.js.map +1 -1
  40. package/dist/src/config/extensions/github.test.js +1 -1
  41. package/dist/src/config/extensions/github.test.js.map +1 -1
  42. package/dist/src/config/extensions/update.js +7 -6
  43. package/dist/src/config/extensions/update.js.map +1 -1
  44. package/dist/src/config/extensions/update.test.js +54 -31
  45. package/dist/src/config/extensions/update.test.js.map +1 -1
  46. package/dist/src/config/keyBindings.js +1 -1
  47. package/dist/src/config/keyBindings.js.map +1 -1
  48. package/dist/src/config/policies/read-only.toml +56 -0
  49. package/dist/src/config/policies/write.toml +63 -0
  50. package/dist/src/config/policies/yolo.toml +31 -0
  51. package/dist/src/config/policy-engine.integration.test.js +41 -38
  52. package/dist/src/config/policy-engine.integration.test.js.map +1 -1
  53. package/dist/src/config/policy-toml-loader.d.ts +46 -0
  54. package/dist/src/config/policy-toml-loader.js +314 -0
  55. package/dist/src/config/policy-toml-loader.js.map +1 -0
  56. package/dist/src/config/policy-toml-loader.test.d.ts +6 -0
  57. package/dist/src/config/policy-toml-loader.test.js +626 -0
  58. package/dist/src/config/policy-toml-loader.test.js.map +1 -0
  59. package/dist/src/config/policy.d.ts +9 -2
  60. package/dist/src/config/policy.js +139 -110
  61. package/dist/src/config/policy.js.map +1 -1
  62. package/dist/src/config/policy.test.js +780 -82
  63. package/dist/src/config/policy.test.js.map +1 -1
  64. package/dist/src/config/settings.test.js +4 -4
  65. package/dist/src/config/settings.test.js.map +1 -1
  66. package/dist/src/gemini.js +6 -17
  67. package/dist/src/gemini.js.map +1 -1
  68. package/dist/src/gemini.test.js +1 -0
  69. package/dist/src/gemini.test.js.map +1 -1
  70. package/dist/src/generated/git-commit.d.ts +2 -2
  71. package/dist/src/generated/git-commit.js +2 -2
  72. package/dist/src/generated/git-commit.js.map +1 -1
  73. package/dist/src/test-utils/render.d.ts +12 -0
  74. package/dist/src/test-utils/render.js +28 -1
  75. package/dist/src/test-utils/render.js.map +1 -1
  76. package/dist/src/test-utils/render.test.d.ts +6 -0
  77. package/dist/src/test-utils/render.test.js +54 -0
  78. package/dist/src/test-utils/render.test.js.map +1 -0
  79. package/dist/src/ui/AppContainer.js +28 -22
  80. package/dist/src/ui/AppContainer.js.map +1 -1
  81. package/dist/src/ui/AppContainer.test.js +8 -0
  82. package/dist/src/ui/AppContainer.test.js.map +1 -1
  83. package/dist/src/ui/commands/directoryCommand.js +1 -1
  84. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  85. package/dist/src/ui/commands/extensionsCommand.js +45 -1
  86. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  87. package/dist/src/ui/commands/extensionsCommand.test.js +64 -1
  88. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  89. package/dist/src/ui/commands/memoryCommand.js +1 -1
  90. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  91. package/dist/src/ui/commands/memoryCommand.test.js +3 -1
  92. package/dist/src/ui/commands/memoryCommand.test.js.map +1 -1
  93. package/dist/src/ui/components/ConsoleSummaryDisplay.js +1 -1
  94. package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +1 -1
  95. package/dist/src/ui/components/DetailedMessagesDisplay.js +1 -1
  96. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
  97. package/dist/src/ui/components/FolderTrustDialog.test.js +4 -5
  98. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  99. package/dist/src/ui/components/Footer.js +1 -1
  100. package/dist/src/ui/components/Footer.js.map +1 -1
  101. package/dist/src/ui/components/Footer.test.js +24 -0
  102. package/dist/src/ui/components/Footer.test.js.map +1 -1
  103. package/dist/src/ui/components/Help.test.js +0 -1
  104. package/dist/src/ui/components/Help.test.js.map +1 -1
  105. package/dist/src/ui/components/ModelDialog.test.js +5 -6
  106. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  107. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +11 -13
  108. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -1
  109. package/dist/src/ui/components/SettingsDialog.test.js +12 -14
  110. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  111. package/dist/src/ui/components/shared/BaseSelectionList.test.js +11 -13
  112. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
  113. package/dist/src/ui/components/shared/text-buffer.test.js +2 -2
  114. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  115. package/dist/src/ui/contexts/KeypressContext.test.js +6 -5
  116. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  117. package/dist/src/ui/contexts/SessionContext.test.js +27 -14
  118. package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
  119. package/dist/src/ui/hooks/atCommandProcessor.js +2 -2
  120. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  121. package/dist/src/ui/hooks/useAtCompletion.test.js +32 -23
  122. package/dist/src/ui/hooks/useAtCompletion.test.js.map +1 -1
  123. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +2 -2
  124. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
  125. package/dist/src/ui/hooks/useExtensionUpdates.d.ts +1 -2
  126. package/dist/src/ui/hooks/useExtensionUpdates.js +2 -1
  127. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
  128. package/dist/src/ui/hooks/useExtensionUpdates.test.js +14 -20
  129. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  130. package/dist/src/ui/hooks/useFlickerDetector.test.js +9 -6
  131. package/dist/src/ui/hooks/useFlickerDetector.test.js.map +1 -1
  132. package/dist/src/ui/hooks/useFolderTrust.test.js +45 -23
  133. package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
  134. package/dist/src/ui/hooks/useGeminiStream.js +7 -5
  135. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  136. package/dist/src/ui/hooks/useGeminiStream.test.js +42 -41
  137. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  138. package/dist/src/ui/hooks/useHistoryManager.test.js +2 -2
  139. package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -1
  140. package/dist/src/ui/hooks/useInputHistory.test.js +2 -2
  141. package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -1
  142. package/dist/src/ui/hooks/useInputHistoryStore.test.js +2 -2
  143. package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -1
  144. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +2 -3
  145. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -1
  146. package/dist/src/ui/hooks/usePhraseCycler.js +1 -1
  147. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  148. package/dist/src/ui/hooks/usePhraseCycler.test.js +83 -111
  149. package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
  150. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +2 -2
  151. package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -1
  152. package/dist/src/ui/hooks/useReactToolScheduler.test.js +1 -2
  153. package/dist/src/ui/hooks/useReactToolScheduler.test.js.map +1 -1
  154. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +2 -2
  155. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -1
  156. package/dist/src/ui/hooks/useShellHistory.test.js +40 -17
  157. package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -1
  158. package/dist/src/ui/hooks/useSlashCompletion.test.js +54 -49
  159. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  160. package/dist/src/ui/hooks/useToolScheduler.test.js +48 -42
  161. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  162. package/dist/src/ui/keyMatchers.test.js +3 -3
  163. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  164. package/dist/src/zed-integration/zedIntegration.d.ts +2 -2
  165. package/dist/src/zed-integration/zedIntegration.js +4 -6
  166. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  167. package/dist/tsconfig.tsbuildinfo +1 -1
  168. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"extension.test.js","sourceRoot":"","sources":["../../../src/config/extension.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.test.js","sourceRoot":"","sources":["../../../src/config/extension.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,EAAE,EAAuB,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAEL,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,MAAM,OAAO,GAAG;IACd,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;IACd,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;IACd,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;IACjB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;IACjB,0EAA0E;IAC1E,4BAA4B;IAC5B,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,6BAA6B,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAEhE,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACzD,MAAM,QAAQ,GACZ,MAAM,cAAc,EAA2C,CAAC;IAClE,OAAO;QACL,GAAG,QAAQ;QACX,yBAAyB,EAAE,6BAA6B;KACzD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3B,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;QAChC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAEpE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACrC,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAa,CAAC;IACnD,OAAO;QACL,GAAG,QAAQ;QACX,OAAO,EAAE,WAAW;KACrB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACtD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAwC,CAAC;IAC5E,OAAO;QACL,GAAG,MAAM;QACT,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE;KAC5B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACzD,MAAM,4BAA4B,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/D,MAAM,yBAAyB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5D,MAAM,2BAA2B,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9D,MAAM,uBAAuB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1D,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC1D,MAAM,MAAM,GACV,MAAM,cAAc,EAA4C,CAAC;IACnE,OAAO;QACL,GAAG,MAAM;QACT,kBAAkB,EAAE,sBAAsB;QAC1C,wBAAwB,EAAE,4BAA4B;QACtD,qBAAqB,EAAE,yBAAyB;QAChD,uBAAuB,EAAE,2BAA2B;QACpD,mBAAmB,EAAE,uBAAuB;QAC5C,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC7B,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC9B,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE;QAChC,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC9B,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;YACtD,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;YAClB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;YAClB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;YACrB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;YACpB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;SAC7C,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAkC,CAAC;IACtE,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;KAClB,CAAC;AACJ,CAAC,CAAC,CAAC;AAUH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,WAAmB,CAAC;IACxB,IAAI,gBAAwB,CAAC;IAC7B,IAAI,iBAAyB,CAAC;IAC9B,IAAI,gBAAkC,CAAC;IACvC,IAAI,kBAAyE,CAAC;IAC9E,IAAI,qBAEH,CAAC;IACF,IAAI,mBAAwC,CAAC;IAC7C,IAAI,YAAoC,CAAC;IAEzC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,YAAY,GAAG,EAAE,CAAC;QAClB,mBAAmB,GAAG;YACpB,SAAS,EAAE,EAAE;iBACV,EAAE,EAAE;iBACJ,kBAAkB,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;YACvE,SAAS,EAAE,EAAE;iBACV,EAAE,EAAE;iBACJ,kBAAkB,CAAC,KAAK,EAAE,GAAW,EAAE,KAAa,EAAE,EAAE;gBACvD,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC;YACJ,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;gBAC7D,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC;YACF,WAAW,EAAE,EAAE;iBACZ,EAAE,EAAE;iBACJ,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5D,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;SAC7C,CAAC;QAEA,oBACD,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;QAChD,WAAW,GAAG,EAAE,CAAC,WAAW,CAC1B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAChD,CAAC;QACF,gBAAgB,GAAG,EAAE,CAAC,WAAW,CAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,4BAA4B,CAAC,CACrD,CAAC;QACF,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;QACtE,kBAAkB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3C,qBAAqB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC5C,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACnD,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC;YAC5C,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACH,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAC3D,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YACtC,YAAY,EAAE,gBAAgB;YAC9B,cAAc,EAAE,kBAAkB;YAClC,cAAc,EAAE,qBAAqB;YACrC,QAAQ,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,MAAM;SAChD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;YACpE,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEhD,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAC3D,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;gBAChB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAE3D,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC;aAClD,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;gBAChB,cAAc,EAAE,KAAK;gBACrB,eAAe,EAAE,oBAAoB;aACtC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAE3D,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,oBAAoB,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,gBAAgB,CACrC,oBAAoB,EACpB,YAAY,CAAC,IAAI,CAClB,CAAC;YACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACpD,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACtD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACrD,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACxC,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,OAAO;gBAChB,cAAc,EAAE,KAAK;gBACrB,eAAe,EAAE,SAAS;gBAC1B,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,GAAG,EAAE,4BAA4B;qBAClC;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAC3D,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,CACT,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,gBAAgB;gBAC/B,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,OAAO;gBAChB,eAAe,EAAE,YAAY;aAC9B,CAAC,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,gBAAgB,CAAC,CAAC;YAE1E,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;gBAChE,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YAEH,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACpD,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEnC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEnD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1C,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC;gBACxC,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;aACtC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,gBAAgB;gBAC/B,IAAI,EAAE,+BAA+B;gBACrC,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,OAAO,EAAE,MAAM;wBACf,IAAI,EAAE,CAAC,wCAAwC,CAAC;wBAChD,GAAG,EAAE,4BAA4B;qBAClC;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACpD,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CACxD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAClC,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC7D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,oCAAoC,CAAC;YAElE,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,WAAW,EACX,yBAAyB,CAC1B,CAAC;gBACF,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAErD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAErB,iEAAiE;gBACjE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;gBACjE,MAAM,eAAe,GAAG;oBACtB,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE;wBACV,aAAa,EAAE;4BACb,OAAO,EAAE,MAAM;4BACf,IAAI,EAAE,CAAC,WAAW,CAAC;4BACnB,GAAG,EAAE;gCACH,OAAO,EAAE,eAAe;gCACxB,YAAY,EAAE,gBAAgB;gCAC9B,YAAY,EAAE,iBAAiB;6BAChC;yBACF;qBACF;iBACF,CAAC;gBACF,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;gBAE9D,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBAE3D,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC9C,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;gBAE3C,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC;gBAC3D,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;gBACnC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBACxC,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAChE,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAC9C,oCAAoC,CACrC,CAAC;gBACF,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACtE,CAAC;oBAAS,CAAC;gBACT,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACnC,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,MAAM,GAAG,eAAe,CAAC;gBAC7B,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,OAAO,EAAE,MAAM;wBACf,IAAI,EAAE,CAAC,WAAW,CAAC;wBACnB,GAAG,EAAE;4BACH,OAAO,EAAE,aAAa;4BACtB,YAAY,EAAE,iBAAiB;yBAChC;qBACF;iBACF;gBACD,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,YAAY;wBAClB,WAAW,EAAE,sBAAsB;wBACnC,MAAM,EAAE,YAAY;qBACrB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9C,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;YAEjE,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAE3D,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,YAAY,GAAG,SAAS,CAAC,UAAW,CAAC,aAAa,CAAC,CAAC;YAC1D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,CAAC,YAAY,CAAC,GAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAChE,MAAM,CAAC,YAAY,CAAC,GAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,WAAW,EACX,yBAAyB,CAC1B,CAAC;YACF,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAErD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;YAC9D,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAErB,MAAM,eAAe,GAAG;gBACtB,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,OAAO,EAAE,MAAM;wBACf,IAAI,EAAE,CAAC,WAAW,CAAC;wBACnB,GAAG,EAAE;4BACH,WAAW,EAAE,oBAAoB;4BACjC,kBAAkB,EAAE,mBAAmB;yBACxC;qBACF;iBACF;aACF,CAAC;YAEF,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,0BAA0B,CAAC,EAC7C,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAChC,CAAC;YAEF,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAE3D,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,YAAY,GAAG,SAAS,CAAC,UAAW,CAAC,aAAa,CAAC,CAAC;YAC1D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,CAAC,YAAY,CAAC,GAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACpE,MAAM,CAAC,YAAY,CAAC,GAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,UAAU,GAAG,EAAE;iBAClB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;iBACvB,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEhC,iBAAiB;YACjB,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,gBAAgB;YAChB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAC1D,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;YACvE,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,YAAY;YAEpE,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAE3D,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,+BAA+B,CAChD,MAAM,CAAC,gBAAgB,CACrB,kCAAkC,SAAS,0CAA0C,aAAa,EAAE,CACrG,CACF,CAAC;YAEF,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,UAAU,GAAG,EAAE;iBAClB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;iBACvB,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEhC,iBAAiB;YACjB,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,gBAAgB;YAChB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;YAClE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;YACvE,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAEtE,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAE3D,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,+BAA+B,CAChD,MAAM,CAAC,gBAAgB,CACrB,kCAAkC,SAAS,0CAA0C,aAAa,8BAA8B,aAAa,kBAAkB,CAChK,CACF,CAAC;YAEF,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,OAAO,EAAE,MAAM;wBACf,IAAI,EAAE,CAAC,WAAW,CAAC;wBACnB,KAAK,EAAE,IAAI;qBACZ;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAC3D,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,UAAU,GAAG,EAAE;iBAClB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;iBACvB,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAChC,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAEhE,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,CAAC;YAClC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CACrC,MAAM,CAAC,gBAAgB,CAAC,oCAAoC,CAAC,CAC9D,CAAC;YACF,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;gBACtE,eAAe,CAAC;oBACd,aAAa,EAAE,iBAAiB;oBAChC,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,OAAO;oBAChB,eAAe,EAAE;wBACf,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,6BAA6B;qBACtC;iBACF,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAC9D,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;gBACvE,eAAe,CAAC;oBACd,aAAa,EAAE,iBAAiB;oBAChC,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,OAAO;oBAChB,eAAe,EAAE;wBACf,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,2BAA2B;qBACpC;iBACF,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAC9D,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;gBACtE,eAAe,CAAC;oBACd,aAAa,EAAE,iBAAiB;oBAChC,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,OAAO;oBAChB,eAAe,EAAE;wBACf,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,wBAAwB;qBACjC;iBACF,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAC9D,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;gBAC3E,eAAe,CAAC;oBACd,aAAa,EAAE,iBAAiB;oBAChC,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,OAAO;oBAChB,eAAe,EAAE;wBACf,IAAI,EAAE,gBAAgB;wBACtB,MAAM,EAAE,4BAA4B;qBACrC;iBACF,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAC9D,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;gBAC/E,eAAe,CAAC;oBACd,aAAa,EAAE,iBAAiB;oBAChC,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,OAAO;oBAChB,eAAe,EAAE;wBACf,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,YAAY;qBACrB;iBACF,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;gBACtE,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;gBACjF,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;gBACrE,MAAM,kBAAkB,GAAG,eAAe,CAAC;oBACzC,aAAa,EAAE,iBAAiB;oBAChC,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;oBAC9C,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,kBAAkB;iBAC3B,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,gBAAgB;qBAC/B,aAAa,EAAE;qBACf,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;gBAC3C,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;gBACnF,eAAe,CAAC;oBACd,aAAa,EAAE,iBAAiB;oBAChC,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;gBACpE,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;YACxE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;YAExE,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBACvB,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;YACH,MAAM,MAAM,CACV,gBAAgB,CAAC,wBAAwB,CAAC;gBACxC,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CACf,iFAAiF,CAClF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC7D,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;YAEvE,MAAM,MAAM,CACV,gBAAgB,CAAC,wBAAwB,CAAC;gBACxC,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAC;YAEnE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;YACnE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC5D,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;YACvE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,0CAA0C,CAAC,CAAC,CAAC,iBAAiB;YAE3F,MAAM,MAAM,CACV,gBAAgB,CAAC,wBAAwB,CAAC;gBACxC,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CACf,IAAI,MAAM,CACR,yCAAyC,UAAU,CAAC,OAAO,CACzD,KAAK,EACL,MAAM,CACP,EAAE,CACJ,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;YACvE,gCAAgC;YAChC,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAEnE,MAAM,MAAM,CACV,gBAAgB,CAAC,wBAAwB,CAAC;gBACxC,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CACf,4BAA4B,UAAU,kBAAkB,CACzD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,MAAM,GAAG,mCAAmC,CAAC;YACnD,MAAM,aAAa,GAAG,gBAAgB,CAAC;YACvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;YACjE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;YAExE,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE;gBACxD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,EAAE;oBACnD,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,0BAA0B,CAAC,EAClE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAC1D,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC3D,6BAA6B,CAAC,iBAAiB,CAAC;gBAC9C,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,gBAAgB;aACvB,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBACvB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;YACzE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;YAEvE,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE/C,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBACvB,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAC1B,oCAAoC,EACpC,CAAC,QAAiB,EAAE,EAAE;YACpB,IAAI,YAAoB,CAAC;YAEzB,UAAU,CAAC,KAAK,IAAI,EAAE;gBACpB,YAAY,GAAG,eAAe,CAAC;oBAC7B,aAAa,EAAE,WAAW;oBAC1B,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBACxC,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;wBAC9C,MAAM,EAAE,YAAY;wBACpB,IAAI,EAAE,OAAO;qBACd,CAAC,CAAC;gBACL,CAAC;gBACD,+DAA+D;gBAC/D,EAAE,CAAC,aAAa,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iBAAiB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,+BAA+B,EAAE,KAAK,IAAI,EAAE;gBAC7F,MAAM,gBAAgB,CAAC,wBAAwB,CAC7C,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,EACvC,QAAQ;oBACN,CAAC,CAAC;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EAAE,OAAO;qBACjB;oBACH,CAAC,CAAC,SAAS,CACd,CAAC;gBAEF,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,2BAA2B,CAAC,CAAC,gBAAgB,EAAE,CAAC;oBACvD,MAAM,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,4BAA4B,CAAC,CAAC,gBAAgB,EAAE,CAAC;oBACxD,MAAM,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBAC7D,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,UAAU,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,+CAA+C,EAAE,KAAK,IAAI,EAAE;gBAC7F,MAAM,iBAAiB,GAAG,IAAI,0BAA0B,EAAE,CAAC;gBAC3D,iBAAiB,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAEpE,MAAM,gBAAgB,CAAC,wBAAwB,CAC7C,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,EACvC,QAAQ;oBACN,CAAC,CAAC;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EAAE,OAAO;qBACjB;oBACH,CAAC,CAAC,SAAS,CACd,CAAC;gBAEF,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,CAAC,oBAAoB,CAAC,CAAC;gBACpE,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;oBACnC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,OAAO,EAAE,oCAAoC;wBAC7C,IAAI,EAAE,CAAC,WAAW,CAAC;wBACnB,WAAW,EAAE,oBAAoB;qBAClC;oBACD,eAAe,EAAE;wBACf,WAAW,EAAE,qBAAqB;wBAClC,OAAO,EAAE,oBAAoB;qBAC9B;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,MAAM,CACV,gBAAgB,CAAC,wBAAwB,CAAC;gBACxC,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CACH,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACvB,IAAI,EAAE,oBAAoB;aAC3B,CAAC,CAAC;YAEH,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAC7C;EACN,uBAAuB;;;+CAGsB,CACxC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;YACxG,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,OAAO,EAAE,MAAM;wBACf,IAAI,EAAE,CAAC,WAAW,CAAC;qBACpB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,MAAM,CACV,gBAAgB,CAAC,wBAAwB,CAAC;gBACxC,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CACH,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;YACvG,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,OAAO,EAAE,MAAM;wBACf,IAAI,EAAE,CAAC,WAAW,CAAC;qBACpB;iBACF;aACF,CAAC,CAAC;YACH,kBAAkB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,MAAM,CACV,gBAAgB,CAAC,wBAAwB,CAAC;gBACxC,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;YACxE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;YAExE,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;gBACvB,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb,OAAO,EAAE,MAAM;wBACf,IAAI,EAAE,CAAC,WAAW,CAAC;qBACpB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,4CAA4C;YAC5C,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,EAAE,CAAC;YAElD,2CAA2C;YAC3C,MAAM,MAAM,CACV,gBAAgB,CAAC,wBAAwB,CACvC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;YACvC,0DAA0D;YAC1D,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CACzD,CACF,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAEzD,yBAAyB;YACzB,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+BAA+B;wBAC5C,MAAM,EAAE,YAAY;qBACrB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;YAEH,MAAM,CAAC,qBAAqB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+BAA+B;wBAC5C,MAAM,EAAE,YAAY;qBACrB;iBACF;aACF,CAAC,CAAC;YAEH,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;gBACtC,YAAY,EAAE,gBAAgB;gBAC9B,cAAc,EAAE,kBAAkB;gBAClC,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,MAAM;aAChD,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,4DAA4D;YAC5D,MAAM,eAAe,GAAG,eAAe,CAAC;gBACtC,aAAa,EAAE,WAAW,EAAE,qCAAqC;gBACjE,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+BAA+B;wBAC5C,MAAM,EAAE,YAAY;qBACrB;iBACF;aACF,CAAC,CAAC;YAEH,qBAAqB,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAC3D,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,mDAAmD;YACnD,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,eAAe;gBACvB,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAClC,oBAAoB,CACrB,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YACvD,MAAM,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEvD,0EAA0E;YAC1E,MAAM,eAAe,GAAG,eAAe,CAAC;gBACtC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,wBAAwB;gBAC7E,IAAI,EAAE,oBAAoB,EAAE,YAAY;gBACxC,OAAO,EAAE,OAAO,EAAE,cAAc;gBAChC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+BAA+B;wBAC5C,MAAM,EAAE,YAAY;qBACrB;oBACD;wBACE,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,gBAAgB;wBAC7B,MAAM,EAAE,aAAa;qBACtB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,mBAAmB,CAClE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CACnD,CAAC;YACF,qBAAqB,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;YAEjE,0DAA0D;YAC1D,MAAM,gBAAgB,CAAC,wBAAwB,CAC7C,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,EAC1C,uBAAuB,CACxB,CAAC;YAEF,MAAM,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAChD,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CACjD,CAAC;YAEF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YACvD,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,mDAAmD;YACnD,MAAM,eAAe,GAAG,eAAe,CAAC;gBACtC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE,aAAa;wBACrB,WAAW,EAAE,gBAAgB;qBAC9B;iBACF;aACF,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,eAAe;gBACvB,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YAEH,gDAAgD;YAChD,MAAM,eAAe,GAAG,eAAe,CAAC;gBACtC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE,aAAa;wBACrB,WAAW,EAAE,eAAe;qBAC7B;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,mBAAmB,CAClE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CACnD,CAAC;YAEF,2CAA2C;YAC3C,MAAM,MAAM,CACV,gBAAgB,CAAC,wBAAwB,CACvC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAC5D,uBAAuB,CACxB,CACF,CAAC,OAAO,CAAC,OAAO,CACf,yGAAyG,CAC1G,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,WAAW;gBAC1B,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,MAAM,MAAM,CACV,gBAAgB,CAAC,wBAAwB,CAAC;gBACxC,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,OAAO;aACd,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;YACtC,MAAM,MAAM,GAAG,qDAAqD,CAAC;YACrE,MAAM,aAAa,GAAG,uBAAuB,CAAC;YAE9C,UAAU,CAAC,GAAG,EAAE;gBACd,uEAAuE;gBACvE,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE;oBACxD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,EAAE;wBACnD,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBACH,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,0BAA0B,CAAC,EAClE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAC1D,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,GAAG,EAAE;gBACb,EAAE,CAAC,eAAe,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;gBACjE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;gBACjE,6BAA6B,CAAC,iBAAiB,CAAC;oBAC9C,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,gBAAgB;iBACvB,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBACnD,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,eAAe,CAAC;oBACd,aAAa,EAAE,OAAO;oBACtB,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,iBAAiB,CAC1D,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAC7B,CAAC;gBAEF,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;oBAC9C,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,gBAAgB;iBACvB,CAAC,CAAC;gBAEH,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;gBACxE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;gBACpE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;oBACvB,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,gBAAgB;oBACtB,UAAU,EAAE,QAAQ;iBACrB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;gBAC/F,6BAA6B,CAAC,iBAAiB,CAAC;oBAC9C,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,0BAA0B;oBACzC,YAAY,EAAE,iBAAiB;oBAC/B,IAAI,EAAE,gBAAgB;iBACvB,CAAC,CAAC;gBAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAC7C,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAC3C,CAAC;gBAEF,qEAAqE;gBACrE,iCAAiC;gBACjC,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAC7C,MAAM,CAAC,gBAAgB,CACrB,+DAA+D,CAChE,CACF,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBACzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,iBAAiB,EACjB,aAAa,EACb,yBAAyB,CAC1B,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;gBACpE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;gBAC9F,6BAA6B,CAAC,iBAAiB,CAAC;oBAC9C,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,iBAAiB;oBAC/B,IAAI,EAAE,gBAAgB;iBACvB,CAAC,CAAC;gBACH,kBAAkB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAE5C,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,MAAM,CACV,gBAAgB,CAAC,wBAAwB,CAAC;oBACxC,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,gBAAgB;iBACvB,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CACf,+BAA+B,MAAM,mBAAmB,CACzD,CAAC;gBAEF,MAAM,CAAC,kBAAkB,CAAC,CAAC,+BAA+B,CACxD,MAAM,CAAC,gBAAgB,CACrB,+DAA+D,CAChE,CACF,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;gBACzG,6BAA6B,CAAC,iBAAiB,CAAC;oBAC9C,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,iBAAiB;oBAChC,IAAI,EAAE,gBAAgB;iBACvB,CAAC,CAAC;gBAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAAC;oBAC9C,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAC;gBAEH,sEAAsE;gBACtE,2DAA2D;gBAC3D,MAAM,CAAC,kBAAkB,CAAC,CAAC,+BAA+B,CACxD,MAAM,CAAC,gBAAgB,CACrB,8CAA8C,CAC/C,CACF,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBACzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAC5B,iBAAiB,EACjB,aAAa,EACb,yBAAyB,CAC1B,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;gBACpE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;gBAC3G,6BAA6B,CAAC,iBAAiB,CAAC;oBAC9C,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,iBAAiB;oBAChC,YAAY,EAAE,uBAAuB;oBACrC,IAAI,EAAE,gBAAgB;iBACvB,CAAC,CAAC;gBAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,gBAAgB,CAAC,wBAAwB,CAC7C,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAC3C,CAAC;gBAEF,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAC7C,MAAM,CAAC,gBAAgB,CACrB,+DAA+D,CAChE,CACF,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAEvE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,eAAe,CAAC;gBAClC,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAEvE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,MAAM,CACV,gBAAgB,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,KAAK,CAAC,CACpE,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,QAAiB,EAAE,EAAE;YACtE,EAAE,CAAC,UAAU,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,IAAI,EAAE;gBACnE,eAAe,CAAC;oBACd,aAAa,EAAE,iBAAiB;oBAChC,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,OAAO;oBAChB,eAAe,EAAE;wBACf,MAAM,EAAE,iBAAiB;wBACzB,IAAI,EAAE,OAAO;qBACd;iBACF,CAAC,CAAC;gBAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,gBAAgB,CAAC,kBAAkB,CACvC,oBAAoB,EACpB,QAAQ,CACT,CAAC;gBAEF,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBACzD,MAAM,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,yBAAyB,CAAC,CAAC,gBAAgB,EAAE,CAAC;oBACrD,MAAM,CAAC,uBAAuB,CAAC,CAAC,oBAAoB,CAClD,SAAS,CAAC,oBAAoB,CAAC,EAC/B,SAAS,CAAC,iBAAiB,CAAC,EAC5B,SAAS,CACV,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,UAAU,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,+CAA+C,EAAE,KAAK,IAAI,EAAE;gBAC7F,eAAe,CAAC;oBACd,aAAa,EAAE,iBAAiB;oBAChC,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,IAAI,0BAA0B,EAAE,CAAC;gBAC3D,iBAAiB,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAEhE,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;gBAEtE,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAC,CAAC;gBAChE,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;oBACnC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,MAAM,GAAG,oDAAoD,CAAC;YACpE,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,OAAO;gBAChB,eAAe,EAAE;oBACf,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,KAAK;iBACZ;aACF,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAEzD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,CAAC,yBAAyB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACrD,MAAM,CAAC,uBAAuB,CAAC,CAAC,oBAAoB,CAClD,SAAS,CAAC,sBAAsB,CAAC,EACjC,SAAS,CAAC,gDAAgD,CAAC,EAC3D,SAAS,CACV,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACvF,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,OAAO;gBAChB,8BAA8B;aAC/B,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,MAAM,CACV,gBAAgB,CAAC,kBAAkB,CACjC,iDAAiD,EACjD,KAAK,CACN,CACF,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,CACJ,SAAS,CAAC;gBACR,IAAI,EAAE,cAAc;gBACpB,cAAc,EAAE,gBAAgB;aACjC,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1E,MAAM,CACJ,SAAS,CAAC;gBACR,IAAI,EAAE,cAAc;gBACpB,cAAc,EAAE,WAAW;aAC5B,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CACJ,SAAS,CAAC;gBACR,IAAI,EAAE,cAAc;gBACpB,cAAc,EAAE,gBAAgB;aACjC,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YACrE,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,CACJ,SAAS,CAAC;gBACR,IAAI,EAAE,cAAc;gBACpB,cAAc,EAAE,gBAAgB;aACjC,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,MAAM,CACV,KAAK,IAAI,EAAE,CACT,MAAM,gBAAgB,CAAC,gBAAgB,CACrC,cAAc,EACd,YAAY,CAAC,MAAM,CACpB,CACJ,CAAC,OAAO,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;gBAChB,eAAe,EAAE;oBACf,MAAM,EAAE,iBAAiB;oBACzB,IAAI,EAAE,OAAO;iBACd;aACF,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YAElE,MAAM,CAAC,uBAAuB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACnD,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAChD,SAAS,CAAC,MAAM,CAAC,EACjB,SAAS,CAAC,iBAAiB,CAAC,EAC5B,YAAY,CAAC,SAAS,CACvB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,QAAQ,CAAC,GAAG,EAAE;YACZ,EAAE,CAAC,eAAe,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,MAAM,mBAAmB,GAAG,GAAyB,EAAE;YACrD,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACpD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;YAC7C,MAAM,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEzC,MAAM,gBAAgB,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YAClE,gBAAgB,GAAG,MAAM,mBAAmB,EAAE,CAAC;YAC/C,MAAM,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YAClE,IAAI,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;YAC7C,MAAM,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEzC,MAAM,gBAAgB,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvE,gBAAgB,GAAG,MAAM,mBAAmB,EAAE,CAAC;YAC/C,MAAM,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,eAAe,CAAC;gBACd,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;gBAChB,eAAe,EAAE;oBACf,MAAM,EAAE,iBAAiB;oBACzB,IAAI,EAAE,OAAO;iBACd;aACF,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACxC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YAClE,gBAAgB,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YAEjE,MAAM,CAAC,sBAAsB,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAC/C,SAAS,CAAC,MAAM,CAAC,EACjB,SAAS,CAAC,iBAAiB,CAAC,EAC5B,YAAY,CAAC,SAAS,CACvB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,SAAS,CAAC,OAAiD;IAClE,MAAM,OAAO,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACjD,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;AACjE,CAAC"}
@@ -3,13 +3,13 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { ExtensionStorage } from './storage.js';
7
6
  import type { ExtensionConfig } from '../extension.js';
8
7
  export interface ExtensionSetting {
9
8
  name: string;
10
9
  description: string;
11
10
  envVar: string;
11
+ sensitive?: boolean;
12
12
  }
13
- export declare function maybePromptForSettings(extensionConfig: ExtensionConfig, requestSetting: (setting: ExtensionSetting) => Promise<string>, previousExtensionConfig?: ExtensionConfig, previousSettings?: Record<string, string>): Promise<void>;
13
+ export declare function maybePromptForSettings(extensionConfig: ExtensionConfig, extensionId: string, requestSetting: (setting: ExtensionSetting) => Promise<string>, previousExtensionConfig?: ExtensionConfig, previousSettings?: Record<string, string>): Promise<void>;
14
14
  export declare function promptForSetting(setting: ExtensionSetting): Promise<string>;
15
- export declare function getEnvContents(extensionStorage: ExtensionStorage): Record<string, string>;
15
+ export declare function getEnvContents(extensionConfig: ExtensionConfig, extensionId: string): Promise<Record<string, string>>;
@@ -8,56 +8,106 @@ import * as fsSync from 'node:fs';
8
8
  import * as dotenv from 'dotenv';
9
9
  import { ExtensionStorage } from './storage.js';
10
10
  import prompts from 'prompts';
11
- export async function maybePromptForSettings(extensionConfig, requestSetting, previousExtensionConfig, previousSettings) {
11
+ import { KeychainTokenStorage } from '@google/gemini-cli-core';
12
+ export async function maybePromptForSettings(extensionConfig, extensionId, requestSetting, previousExtensionConfig, previousSettings) {
12
13
  const { name: extensionName, settings } = extensionConfig;
14
+ if ((!settings || settings.length === 0) &&
15
+ (!previousExtensionConfig?.settings ||
16
+ previousExtensionConfig.settings.length === 0)) {
17
+ return;
18
+ }
13
19
  const envFilePath = new ExtensionStorage(extensionName).getEnvFilePath();
20
+ const keychain = new KeychainTokenStorage(extensionId);
14
21
  if (!settings || settings.length === 0) {
15
- // No settings for this extension. Clear any existing .env file.
16
- if (fsSync.existsSync(envFilePath)) {
17
- await fs.writeFile(envFilePath, '');
18
- }
22
+ await clearSettings(envFilePath, keychain);
19
23
  return;
20
24
  }
21
- let settingsToPrompt = settings;
22
- if (previousExtensionConfig) {
23
- const oldSettings = new Set(previousExtensionConfig.settings?.map((s) => s.name) || []);
24
- settingsToPrompt = settingsToPrompt.filter((s) => !oldSettings.has(s.name));
25
- }
25
+ const settingsChanges = getSettingsChanges(settings, previousExtensionConfig?.settings ?? []);
26
26
  const allSettings = { ...(previousSettings ?? {}) };
27
- if (settingsToPrompt && settingsToPrompt.length > 0) {
28
- for (const setting of settingsToPrompt) {
29
- const answer = await requestSetting(setting);
30
- allSettings[setting.envVar] = answer;
31
- }
27
+ for (const removedEnvSetting of settingsChanges.removeEnv) {
28
+ delete allSettings[removedEnvSetting.envVar];
32
29
  }
33
- const validEnvVars = new Set(settings.map((s) => s.envVar));
34
- const finalSettings = {};
35
- for (const [key, value] of Object.entries(allSettings)) {
36
- if (validEnvVars.has(key)) {
37
- finalSettings[key] = value;
30
+ for (const removedSensitiveSetting of settingsChanges.removeSensitive) {
31
+ await keychain.deleteSecret(removedSensitiveSetting.envVar);
32
+ }
33
+ for (const setting of settingsChanges.promptForSensitive.concat(settingsChanges.promptForEnv)) {
34
+ const answer = await requestSetting(setting);
35
+ allSettings[setting.envVar] = answer;
36
+ }
37
+ const nonSensitiveSettings = {};
38
+ for (const setting of settings) {
39
+ const value = allSettings[setting.envVar];
40
+ if (value === undefined) {
41
+ continue;
42
+ }
43
+ if (setting.sensitive) {
44
+ await keychain.setSecret(setting.envVar, value);
45
+ }
46
+ else {
47
+ nonSensitiveSettings[setting.envVar] = value;
38
48
  }
39
49
  }
40
50
  let envContent = '';
41
- for (const [key, value] of Object.entries(finalSettings)) {
51
+ for (const [key, value] of Object.entries(nonSensitiveSettings)) {
42
52
  envContent += `${key}=${value}\n`;
43
53
  }
44
54
  await fs.writeFile(envFilePath, envContent);
45
55
  }
46
56
  export async function promptForSetting(setting) {
47
57
  const response = await prompts({
48
- // type: setting.sensitive ? 'password' : 'text',
49
- type: 'text',
58
+ type: setting.sensitive ? 'password' : 'text',
50
59
  name: 'value',
51
60
  message: `${setting.name}\n${setting.description}`,
52
61
  });
53
62
  return response.value;
54
63
  }
55
- export function getEnvContents(extensionStorage) {
64
+ export async function getEnvContents(extensionConfig, extensionId) {
65
+ if (!extensionConfig.settings || extensionConfig.settings.length === 0) {
66
+ return Promise.resolve({});
67
+ }
68
+ const extensionStorage = new ExtensionStorage(extensionConfig.name);
69
+ const keychain = new KeychainTokenStorage(extensionId);
56
70
  let customEnv = {};
57
71
  if (fsSync.existsSync(extensionStorage.getEnvFilePath())) {
58
72
  const envFile = fsSync.readFileSync(extensionStorage.getEnvFilePath(), 'utf-8');
59
73
  customEnv = dotenv.parse(envFile);
60
74
  }
75
+ if (extensionConfig.settings) {
76
+ for (const setting of extensionConfig.settings) {
77
+ if (setting.sensitive) {
78
+ const secret = await keychain.getSecret(setting.envVar);
79
+ if (secret) {
80
+ customEnv[setting.envVar] = secret;
81
+ }
82
+ }
83
+ }
84
+ }
61
85
  return customEnv;
62
86
  }
87
+ function getSettingsChanges(settings, oldSettings) {
88
+ const isSameSetting = (a, b) => a.envVar === b.envVar && (a.sensitive ?? false) === (b.sensitive ?? false);
89
+ const sensitiveOld = oldSettings.filter((s) => s.sensitive ?? false);
90
+ const sensitiveNew = settings.filter((s) => s.sensitive ?? false);
91
+ const envOld = oldSettings.filter((s) => !(s.sensitive ?? false));
92
+ const envNew = settings.filter((s) => !(s.sensitive ?? false));
93
+ return {
94
+ promptForSensitive: sensitiveNew.filter((s) => !sensitiveOld.some((old) => isSameSetting(s, old))),
95
+ removeSensitive: sensitiveOld.filter((s) => !sensitiveNew.some((neu) => isSameSetting(s, neu))),
96
+ promptForEnv: envNew.filter((s) => !envOld.some((old) => isSameSetting(s, old))),
97
+ removeEnv: envOld.filter((s) => !envNew.some((neu) => isSameSetting(s, neu))),
98
+ };
99
+ }
100
+ async function clearSettings(envFilePath, keychain) {
101
+ if (fsSync.existsSync(envFilePath)) {
102
+ await fs.writeFile(envFilePath, '');
103
+ }
104
+ if (!keychain.isAvailable()) {
105
+ return;
106
+ }
107
+ const secrets = await keychain.listSecrets();
108
+ for (const secret of secrets) {
109
+ await keychain.deleteSecret(secret);
110
+ }
111
+ return;
112
+ }
63
113
  //# sourceMappingURL=extensionSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extensionSettings.js","sourceRoot":"","sources":["../../../../src/config/extensions/extensionSettings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,OAAO,MAAM,SAAS,CAAC;AAQ9B,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,eAAgC,EAChC,cAA8D,EAC9D,uBAAyC,EACzC,gBAAyC;IAEzC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;IAC1D,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC,cAAc,EAAE,CAAC;IAEzE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,gEAAgE;QAChE,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,gBAAgB,GAAG,QAAQ,CAAC;IAChC,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAC3D,CAAC;QACF,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,WAAW,GAA2B,EAAE,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,CAAC;IAE5E,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7C,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,MAAM,aAAa,GAA2B,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACzD,UAAU,IAAI,GAAG,GAAG,IAAI,KAAK,IAAI,CAAC;IACpC,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;QAC7B,iDAAiD;QACjD,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE;KACnD,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,KAAK,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,gBAAkC;IAElC,IAAI,SAAS,GAA2B,EAAE,CAAC;IAC3C,IAAI,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CACjC,gBAAgB,CAAC,cAAc,EAAE,EACjC,OAAO,CACR,CAAC;QACF,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"extensionSettings.js","sourceRoot":"","sources":["../../../../src/config/extensions/extensionSettings.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { ExtensionStorage } from './storage.js';
11
11
  import prompts from 'prompts';
12
12
  import * as fsPromises from 'node:fs/promises';
13
13
  import * as fs from 'node:fs';
14
+ import { KeychainTokenStorage } from '@google/gemini-cli-core';
14
15
  vi.mock('prompts');
15
16
  vi.mock('os', async (importOriginal) => {
16
17
  const mockedOs = await importOriginal();
@@ -19,10 +20,45 @@ vi.mock('os', async (importOriginal) => {
19
20
  homedir: vi.fn(),
20
21
  };
21
22
  });
23
+ vi.mock('@google/gemini-cli-core', async (importOriginal) => {
24
+ const actual = await importOriginal();
25
+ return {
26
+ ...actual,
27
+ KeychainTokenStorage: vi.fn().mockImplementation(() => ({
28
+ getSecret: vi.fn(),
29
+ setSecret: vi.fn(),
30
+ deleteSecret: vi.fn(),
31
+ listSecrets: vi.fn(),
32
+ isAvailable: vi.fn().mockResolvedValue(true),
33
+ })),
34
+ };
35
+ });
22
36
  describe('extensionSettings', () => {
23
37
  let tempHomeDir;
24
38
  let extensionDir;
39
+ let mockKeychainStorage;
40
+ let keychainData;
25
41
  beforeEach(() => {
42
+ vi.clearAllMocks();
43
+ keychainData = {};
44
+ mockKeychainStorage = {
45
+ getSecret: vi
46
+ .fn()
47
+ .mockImplementation(async (key) => keychainData[key] || null),
48
+ setSecret: vi
49
+ .fn()
50
+ .mockImplementation(async (key, value) => {
51
+ keychainData[key] = value;
52
+ }),
53
+ deleteSecret: vi.fn().mockImplementation(async (key) => {
54
+ delete keychainData[key];
55
+ }),
56
+ listSecrets: vi
57
+ .fn()
58
+ .mockImplementation(async () => Object.keys(keychainData)),
59
+ isAvailable: vi.fn().mockResolvedValue(true),
60
+ };
61
+ KeychainTokenStorage.mockImplementation(() => mockKeychainStorage);
26
62
  tempHomeDir = os.tmpdir() + path.sep + `gemini-cli-test-home-${Date.now()}`;
27
63
  extensionDir = path.join(tempHomeDir, '.gemini', 'extensions', 'test-ext');
28
64
  // Spy and mock the method, but also create the directory so we can write to it.
@@ -42,7 +78,7 @@ describe('extensionSettings', () => {
42
78
  });
43
79
  it('should do nothing if settings are undefined', async () => {
44
80
  const config = { name: 'test-ext', version: '1.0.0' };
45
- await maybePromptForSettings(config, mockRequestSetting);
81
+ await maybePromptForSettings(config, '12345', mockRequestSetting, undefined, undefined);
46
82
  expect(mockRequestSetting).not.toHaveBeenCalled();
47
83
  });
48
84
  it('should do nothing if settings are empty', async () => {
@@ -51,10 +87,10 @@ describe('extensionSettings', () => {
51
87
  version: '1.0.0',
52
88
  settings: [],
53
89
  };
54
- await maybePromptForSettings(config, mockRequestSetting);
90
+ await maybePromptForSettings(config, '12345', mockRequestSetting, undefined, undefined);
55
91
  expect(mockRequestSetting).not.toHaveBeenCalled();
56
92
  });
57
- it('should call requestSetting for each setting', async () => {
93
+ it('should prompt for all settings if there is no previous config', async () => {
58
94
  const config = {
59
95
  name: 'test-ext',
60
96
  version: '1.0.0',
@@ -63,13 +99,36 @@ describe('extensionSettings', () => {
63
99
  { name: 's2', description: 'd2', envVar: 'VAR2' },
64
100
  ],
65
101
  };
66
- await maybePromptForSettings(config, mockRequestSetting);
102
+ await maybePromptForSettings(config, '12345', mockRequestSetting, undefined, undefined);
67
103
  expect(mockRequestSetting).toHaveBeenCalledTimes(2);
68
104
  expect(mockRequestSetting).toHaveBeenCalledWith(config.settings[0]);
69
105
  expect(mockRequestSetting).toHaveBeenCalledWith(config.settings[1]);
70
106
  });
71
- it('should write the .env file with the correct content', async () => {
72
- const config = {
107
+ it('should only prompt for new settings', async () => {
108
+ const previousConfig = {
109
+ name: 'test-ext',
110
+ version: '1.0.0',
111
+ settings: [{ name: 's1', description: 'd1', envVar: 'VAR1' }],
112
+ };
113
+ const newConfig = {
114
+ name: 'test-ext',
115
+ version: '1.0.0',
116
+ settings: [
117
+ { name: 's1', description: 'd1', envVar: 'VAR1' },
118
+ { name: 's2', description: 'd2', envVar: 'VAR2' },
119
+ ],
120
+ };
121
+ const previousSettings = { VAR1: 'previous-VAR1' };
122
+ await maybePromptForSettings(newConfig, '12345', mockRequestSetting, previousConfig, previousSettings);
123
+ expect(mockRequestSetting).toHaveBeenCalledTimes(1);
124
+ expect(mockRequestSetting).toHaveBeenCalledWith(newConfig.settings[1]);
125
+ const expectedEnvPath = path.join(extensionDir, '.env');
126
+ const actualContent = await fsPromises.readFile(expectedEnvPath, 'utf-8');
127
+ const expectedContent = 'VAR1=previous-VAR1\nVAR2=mock-VAR2\n';
128
+ expect(actualContent).toBe(expectedContent);
129
+ });
130
+ it('should remove settings that are no longer in the config', async () => {
131
+ const previousConfig = {
73
132
  name: 'test-ext',
74
133
  version: '1.0.0',
75
134
  settings: [
@@ -77,30 +136,92 @@ describe('extensionSettings', () => {
77
136
  { name: 's2', description: 'd2', envVar: 'VAR2' },
78
137
  ],
79
138
  };
80
- await maybePromptForSettings(config, mockRequestSetting);
139
+ const newConfig = {
140
+ name: 'test-ext',
141
+ version: '1.0.0',
142
+ settings: [{ name: 's1', description: 'd1', envVar: 'VAR1' }],
143
+ };
144
+ const previousSettings = {
145
+ VAR1: 'previous-VAR1',
146
+ VAR2: 'previous-VAR2',
147
+ };
148
+ await maybePromptForSettings(newConfig, '12345', mockRequestSetting, previousConfig, previousSettings);
149
+ expect(mockRequestSetting).not.toHaveBeenCalled();
81
150
  const expectedEnvPath = path.join(extensionDir, '.env');
82
151
  const actualContent = await fsPromises.readFile(expectedEnvPath, 'utf-8');
83
- const expectedContent = 'VAR1=mock-VAR1\nVAR2=mock-VAR2\n';
152
+ const expectedContent = 'VAR1=previous-VAR1\n';
153
+ expect(actualContent).toBe(expectedContent);
154
+ });
155
+ it('should reprompt if a setting changes sensitivity', async () => {
156
+ const previousConfig = {
157
+ name: 'test-ext',
158
+ version: '1.0.0',
159
+ settings: [
160
+ { name: 's1', description: 'd1', envVar: 'VAR1', sensitive: false },
161
+ ],
162
+ };
163
+ const newConfig = {
164
+ name: 'test-ext',
165
+ version: '1.0.0',
166
+ settings: [
167
+ { name: 's1', description: 'd1', envVar: 'VAR1', sensitive: true },
168
+ ],
169
+ };
170
+ const previousSettings = { VAR1: 'previous-VAR1' };
171
+ await maybePromptForSettings(newConfig, '12345', mockRequestSetting, previousConfig, previousSettings);
172
+ expect(mockRequestSetting).toHaveBeenCalledTimes(1);
173
+ expect(mockRequestSetting).toHaveBeenCalledWith(newConfig.settings[0]);
174
+ // The value should now be in keychain, not the .env file.
175
+ const expectedEnvPath = path.join(extensionDir, '.env');
176
+ const actualContent = await fsPromises.readFile(expectedEnvPath, 'utf-8');
177
+ expect(actualContent).toBe('');
178
+ });
179
+ it('should not prompt if settings are identical', async () => {
180
+ const previousConfig = {
181
+ name: 'test-ext',
182
+ version: '1.0.0',
183
+ settings: [
184
+ { name: 's1', description: 'd1', envVar: 'VAR1' },
185
+ { name: 's2', description: 'd2', envVar: 'VAR2' },
186
+ ],
187
+ };
188
+ const newConfig = {
189
+ name: 'test-ext',
190
+ version: '1.0.0',
191
+ settings: [
192
+ { name: 's1', description: 'd1', envVar: 'VAR1' },
193
+ { name: 's2', description: 'd2', envVar: 'VAR2' },
194
+ ],
195
+ };
196
+ const previousSettings = {
197
+ VAR1: 'previous-VAR1',
198
+ VAR2: 'previous-VAR2',
199
+ };
200
+ await maybePromptForSettings(newConfig, '12345', mockRequestSetting, previousConfig, previousSettings);
201
+ expect(mockRequestSetting).not.toHaveBeenCalled();
202
+ const expectedEnvPath = path.join(extensionDir, '.env');
203
+ const actualContent = await fsPromises.readFile(expectedEnvPath, 'utf-8');
204
+ const expectedContent = 'VAR1=previous-VAR1\nVAR2=previous-VAR2\n';
84
205
  expect(actualContent).toBe(expectedContent);
85
206
  });
86
207
  });
87
208
  describe('promptForSetting', () => {
88
- // it('should use prompts with type "password" for sensitive settings', async () => {
89
- // const setting: ExtensionSetting = {
90
- // name: 'API Key',
91
- // description: 'Your secret key',
92
- // envVar: 'API_KEY',
93
- // sensitive: true,
94
- // };
95
- // vi.mocked(prompts).mockResolvedValue({ value: 'secret-key' });
96
- // const result = await promptForSetting(setting);
97
- // expect(prompts).toHaveBeenCalledWith({
98
- // type: 'password',
99
- // name: 'value',
100
- // message: 'API Key\nYour secret key',
101
- // });
102
- // expect(result).toBe('secret-key');
103
- // });
209
+ it('should use prompts with type "password" for sensitive settings', async () => {
210
+ const setting = {
211
+ name: 'API Key',
212
+ description: 'Your secret key',
213
+ envVar: 'API_KEY',
214
+ sensitive: true,
215
+ };
216
+ vi.mocked(prompts).mockResolvedValue({ value: 'secret-key' });
217
+ const result = await promptForSetting(setting);
218
+ expect(prompts).toHaveBeenCalledWith({
219
+ type: 'password',
220
+ name: 'value',
221
+ message: 'API Key\nYour secret key',
222
+ });
223
+ expect(result).toBe('secret-key');
224
+ });
104
225
  it('should use prompts with type "text" for non-sensitive settings', async () => {
105
226
  const setting = {
106
227
  name: 'Username',