@promptbook/components 0.114.0-4 → 0.114.0-40

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 (324) hide show
  1. package/README.md +9 -9
  2. package/esm/index.es.js +1794 -289
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/src/_packages/components.index.d.ts +4 -0
  5. package/esm/src/_packages/types.index.d.ts +4 -0
  6. package/esm/src/avatars/renderAvatarVisualTerminalText.d.ts +80 -0
  7. package/esm/src/avatars/types/AvatarVisualDefinition.d.ts +54 -0
  8. package/esm/src/book-2.0/agent-source/AgentReferenceResolutionIssue.d.ts +45 -0
  9. package/esm/src/book-2.0/agent-source/AgentSourceParseResult.d.ts +5 -0
  10. package/esm/src/book-2.0/agent-source/ParsedUnknownCommitment.d.ts +26 -0
  11. package/esm/src/book-2.0/agent-source/deduplicateSystemMessage.d.ts +14 -0
  12. package/esm/src/book-2.0/agent-source/explicitFromCommitment.d.ts +62 -0
  13. package/esm/src/book-2.0/agent-source/extractAgentReferenceTokens.d.ts +32 -0
  14. package/esm/src/book-2.0/agent-source/getBookCommitmentLineType.d.ts +19 -0
  15. package/esm/src/book-2.0/agent-source/parseAgentSourceWithCommitments.unknown.test.d.ts +1 -0
  16. package/esm/src/book-2.0/agent-source/resolveInheritedAgentSource.d.ts +73 -0
  17. package/esm/src/book-2.0/book-language-documentation/getSafeCodeBlock.d.ts +1 -1
  18. package/esm/src/book-3.0/AgentMessageRunReport.d.ts +46 -0
  19. package/esm/src/book-3.0/AgentPlannedMessagesSidecar.d.ts +127 -0
  20. package/esm/src/book-3.0/AgentPlannedMessagesSidecar.test.d.ts +1 -0
  21. package/esm/src/book-3.0/AgentTeamConversationWorkspace.d.ts +85 -0
  22. package/esm/src/book-3.0/cliAgentEnv.d.ts +3 -3
  23. package/esm/src/book-3.0/createAgentMessageSidecarBaseName.d.ts +13 -0
  24. package/esm/src/book-3.0/describeAgentPlannedMessageSchedule.d.ts +31 -0
  25. package/esm/src/book-components/BookEditor/createDeprecatedCommitmentDiagnostics.browser.d.ts +1 -9
  26. package/esm/src/book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.d.ts +28 -0
  27. package/esm/src/book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.test.d.ts +1 -0
  28. package/esm/src/book-components/BookEditor/createUnknownCommitmentDiagnostics.d.ts +28 -0
  29. package/esm/src/book-components/BookEditor/createUnknownCommitmentDiagnostics.test.d.ts +1 -0
  30. package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +3 -2
  31. package/esm/src/book-components/Chat/Chat/renderAgentProjectDiff.d.ts +13 -0
  32. package/esm/src/book-components/Chat/Chat/renderAgentProjectToolCallDetails.d.ts +16 -0
  33. package/esm/src/book-components/Chat/MockedChat/MockedChat.test.d.ts +2 -0
  34. package/esm/src/book-components/Chat/utils/agentProjectToolCall.d.ts +85 -0
  35. package/esm/src/book-components/Chat/utils/agentProjectToolCall.test.d.ts +1 -0
  36. package/esm/src/book-components/Chat/utils/externalSourceToolCall.d.ts +38 -0
  37. package/esm/src/book-components/Chat/utils/renderMarkdown.d.ts +68 -3
  38. package/esm/src/book-components/Chat/utils/timeoutToolCallPresentation.d.ts +30 -0
  39. package/esm/src/cli/$initializePromptbookCliProgram.d.ts +8 -0
  40. package/esm/src/cli/cli-commands/coder/$ensureCoderHarnessGitignoreRules.d.ts +10 -0
  41. package/esm/src/cli/cli-commands/coder/$ensureCoderHarnessGitignoreRules.test.d.ts +1 -0
  42. package/esm/src/cli/cli-commands/coder/GitChangesMode.d.ts +28 -0
  43. package/esm/src/cli/cli-commands/coder/agentCliOptions.d.ts +21 -0
  44. package/esm/src/cli/cli-commands/coder/boilerplateCount.d.ts +1 -1
  45. package/esm/src/cli/cli-commands/coder/boilerplateTemplates.d.ts +8 -21
  46. package/esm/src/cli/cli-commands/coder/coderReferencedArtifacts.d.ts +33 -0
  47. package/esm/src/cli/cli-commands/coder/ensureCoderGitignoreFile.d.ts +14 -1
  48. package/esm/src/cli/cli-commands/coder/ensureCoderPackageJsonFile.d.ts +4 -2
  49. package/esm/src/cli/cli-commands/coder/ensureCoderVscodeSettingsFile.d.ts +2 -0
  50. package/esm/src/cli/cli-commands/coder/ensureDirectory.d.ts +6 -0
  51. package/esm/src/cli/cli-commands/coder/generate-boilerplates.d.ts +1 -1
  52. package/esm/src/cli/cli-commands/coder/getDefaultCoderPackageJsonScripts.d.ts +6 -0
  53. package/esm/src/cli/cli-commands/coder/init.test.d.ts +1 -0
  54. package/esm/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.d.ts +8 -5
  55. package/esm/src/cli/cli-commands/coder/list.d.ts +10 -0
  56. package/esm/src/cli/cli-commands/coder/list.test.d.ts +1 -0
  57. package/esm/src/cli/cli-commands/coder/mergeStringRecordJsonFile.d.ts +19 -1
  58. package/esm/src/cli/cli-commands/coder/printCoderRunFailure.d.ts +6 -0
  59. package/esm/src/cli/cli-commands/coder/server.test.d.ts +1 -0
  60. package/esm/src/cli/cli-commands/coder/verify.d.ts +1 -1
  61. package/esm/src/cli/cli-commands/coder/waitOptions.d.ts +12 -0
  62. package/esm/src/cli/cli-commands/coder.d.ts +1 -0
  63. package/esm/src/cli/cli-commands/common/$askForConfirmation.d.ts +11 -0
  64. package/esm/src/cli/cli-commands/common/$askForConfirmation.test.d.ts +1 -0
  65. package/esm/src/cli/cli-commands/common/LocalAgentBookCollection.d.ts +46 -0
  66. package/esm/src/cli/cli-commands/common/createLocalAgentReferenceResolver.d.ts +8 -0
  67. package/esm/src/cli/cli-commands/common/disk-space/$assertSufficientFreeDiskSpace.d.ts +12 -0
  68. package/esm/src/cli/cli-commands/common/disk-space/$assertSufficientFreeDiskSpace.test.d.ts +1 -0
  69. package/esm/src/cli/cli-commands/common/disk-space/$readFreeDiskSpaceStatus.d.ts +11 -0
  70. package/esm/src/cli/cli-commands/common/disk-space/$readFreeDiskSpaceStatus.test.d.ts +1 -0
  71. package/esm/src/cli/cli-commands/common/disk-space/FreeDiskSpaceStatus.d.ts +33 -0
  72. package/esm/src/cli/cli-commands/common/disk-space/formatFreeDiskSpaceBytes.d.ts +6 -0
  73. package/esm/src/cli/cli-commands/common/disk-space/formatFreeDiskSpaceBytes.test.d.ts +1 -0
  74. package/esm/src/cli/cli-commands/common/disk-space/formatLowFreeDiskSpaceWarning.d.ts +10 -0
  75. package/esm/src/cli/cli-commands/common/disk-space/freeDiskSpaceConstants.d.ts +28 -0
  76. package/esm/src/cli/cli-commands/common/disk-space/resolveFreeDiskSpaceLevel.d.ts +7 -0
  77. package/esm/src/cli/cli-commands/common/disk-space/resolveFreeDiskSpaceLevel.test.d.ts +1 -0
  78. package/esm/src/cli/cli-commands/common/ensureAdamAgentBook.d.ts +12 -0
  79. package/esm/src/cli/cli-commands/common/harness/$applyHarnessInstallationStatus.d.ts +3 -2
  80. package/esm/src/cli/cli-commands/common/harness/$checkHarnessInstallation.d.ts +3 -3
  81. package/esm/src/cli/cli-commands/common/harness/$checkHarnessInstallation.test.d.ts +1 -0
  82. package/esm/src/cli/cli-commands/common/harness/$ensureHarnessInstallations.d.ts +4 -3
  83. package/esm/src/cli/cli-commands/common/harness/$resolveHarnessCommandPath.d.ts +14 -0
  84. package/esm/src/cli/cli-commands/common/harness/$resolveHarnessInstallationOrigin.d.ts +10 -0
  85. package/esm/src/cli/cli-commands/common/harness/$runHarnessInstallationCommand.d.ts +43 -0
  86. package/esm/src/cli/cli-commands/common/harness/HarnessDefinition.d.ts +62 -0
  87. package/esm/src/cli/cli-commands/common/harness/HarnessInstallationOrigin.d.ts +36 -0
  88. package/esm/src/cli/cli-commands/common/harness/HarnessInstallationStatus.d.ts +8 -2
  89. package/esm/src/cli/cli-commands/common/harness/HarnessUpdatePlan.d.ts +23 -0
  90. package/esm/src/cli/cli-commands/common/harness/buildHarnessInstallCommand.d.ts +4 -1
  91. package/esm/src/cli/cli-commands/common/harness/formatHarnessManualUpdateInstruction.d.ts +8 -0
  92. package/esm/src/cli/cli-commands/common/harness/formatHarnessManualUpdateInstruction.test.d.ts +1 -0
  93. package/esm/src/cli/cli-commands/common/harness/resolveHarnessInstallationMethodFromPaths.d.ts +31 -0
  94. package/esm/src/cli/cli-commands/common/harness/resolveHarnessInstallationMethodFromPaths.test.d.ts +1 -0
  95. package/esm/src/cli/cli-commands/common/harness/resolveHarnessUpdatePlan.d.ts +12 -0
  96. package/esm/src/cli/cli-commands/common/harness/resolveHarnessUpdatePlan.test.d.ts +1 -0
  97. package/esm/src/cli/cli-commands/common/npm/$askForNpmPackageInstallationApproval.d.ts +11 -0
  98. package/{umd/src/cli/cli-commands/common/harness/$resolveLatestHarnessVersion.d.ts → esm/src/cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.d.ts} +2 -3
  99. package/esm/src/cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.test.d.ts +1 -0
  100. package/esm/src/cli/cli-commands/common/npm/$resolveNpmGlobalPrefixPath.d.ts +9 -0
  101. package/esm/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.d.ts +12 -0
  102. package/esm/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.test.d.ts +1 -0
  103. package/esm/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.d.ts +12 -0
  104. package/esm/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.test.d.ts +1 -0
  105. package/esm/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.d.ts +12 -0
  106. package/esm/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.test.d.ts +1 -0
  107. package/esm/src/cli/cli-commands/common/projectInitialization.d.ts +6 -0
  108. package/esm/src/cli/cli-commands/common/promptPriorityCliOptions.d.ts +7 -0
  109. package/esm/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +17 -4
  110. package/esm/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +9 -0
  111. package/esm/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.test.d.ts +1 -0
  112. package/esm/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +15 -0
  113. package/esm/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.test.d.ts +1 -0
  114. package/esm/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +12 -0
  115. package/esm/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.test.d.ts +1 -0
  116. package/esm/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +10 -0
  117. package/esm/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.test.d.ts +1 -0
  118. package/esm/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.d.ts +66 -0
  119. package/esm/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.d.ts +26 -0
  120. package/esm/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.d.ts +7 -0
  121. package/esm/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.d.ts +7 -0
  122. package/esm/src/cli/cli-commands/common/questionsCliOptions.d.ts +45 -0
  123. package/esm/src/cli/cli-commands/common/questionsCliOptions.test.d.ts +1 -0
  124. package/esm/src/cli/cli-commands/common/resolveBundledAgentBookPath.d.ts +6 -0
  125. package/esm/src/cli/cli-commands/common/resolveLocalAgentSource.d.ts +19 -0
  126. package/esm/src/cli/common/$deprecateCliCommand.d.ts +3 -0
  127. package/esm/src/cli/common/$hideCliCommandFromHelp.d.ts +11 -0
  128. package/esm/src/cli/common/$hideCliCommandFromHelp.test.d.ts +1 -0
  129. package/esm/src/cli/common/$requireCliSubcommand.d.ts +18 -0
  130. package/esm/src/cli/common/$requireCliSubcommand.test.d.ts +1 -0
  131. package/esm/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +15 -0
  132. package/esm/src/commitments/WRITING_RULES/WRITING_RULES.d.ts +14 -7
  133. package/esm/src/commitments/index.d.ts +1 -1
  134. package/esm/src/executables/platforms/locateAppOnWindows.d.ts +1 -1
  135. package/esm/src/executables/platforms/locateAppOnWindows.test.d.ts +1 -0
  136. package/esm/src/llm-providers/vercel/VercelExecutionToolsOptions.d.ts +5 -2
  137. package/esm/src/utils/agent-message-runtime/AgentMessageProjectChange.d.ts +76 -0
  138. package/esm/src/utils/agent-message-runtime/AgentMessageTouchedExternalSource.d.ts +45 -0
  139. package/esm/src/utils/agent-message-runtime/parseAgentMessageRuntimeLogEvents.d.ts +62 -0
  140. package/esm/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.d.ts +3 -3
  141. package/esm/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.d.ts +18 -0
  142. package/esm/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.test.d.ts +1 -0
  143. package/esm/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.d.ts +19 -0
  144. package/esm/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.test.d.ts +1 -0
  145. package/esm/src/utils/agents/terminalAgentAvatarVisual.d.ts +5 -2
  146. package/esm/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +6 -0
  147. package/esm/src/utils/ascii-art/createAnsiColorCode.d.ts +46 -0
  148. package/esm/src/utils/files/findFilesByGlob.d.ts +28 -0
  149. package/esm/src/utils/misc/debounce.d.ts +4 -2
  150. package/esm/src/utils/misc/debounce.test.d.ts +1 -0
  151. package/esm/src/utils/misc/emojis.d.ts +3 -2
  152. package/esm/src/utils/random/$generateBookBoilerplate.test.d.ts +1 -0
  153. package/esm/src/version.d.ts +1 -1
  154. package/package.json +3 -7
  155. package/umd/index.umd.js +1794 -289
  156. package/umd/index.umd.js.map +1 -1
  157. package/umd/src/_packages/components.index.d.ts +4 -0
  158. package/umd/src/_packages/types.index.d.ts +4 -0
  159. package/umd/src/avatars/renderAvatarVisualTerminalText.d.ts +80 -0
  160. package/umd/src/avatars/renderAvatarVisualTerminalText.test.d.ts +1 -0
  161. package/umd/src/avatars/types/AvatarVisualDefinition.d.ts +54 -0
  162. package/umd/src/book-2.0/agent-source/AgentReferenceResolutionIssue.d.ts +45 -0
  163. package/umd/src/book-2.0/agent-source/AgentSourceParseResult.d.ts +5 -0
  164. package/umd/src/book-2.0/agent-source/ParsedUnknownCommitment.d.ts +26 -0
  165. package/umd/src/book-2.0/agent-source/createAgentModelRequirements.deduplication.test.d.ts +1 -0
  166. package/umd/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.unknown.test.d.ts +1 -0
  167. package/umd/src/book-2.0/agent-source/deduplicateSystemMessage.d.ts +14 -0
  168. package/umd/src/book-2.0/agent-source/deduplicateSystemMessage.test.d.ts +1 -0
  169. package/umd/src/book-2.0/agent-source/explicitFromCommitment.d.ts +62 -0
  170. package/umd/src/book-2.0/agent-source/extractAgentReferenceTokens.d.ts +32 -0
  171. package/umd/src/book-2.0/agent-source/getBookCommitmentLineType.d.ts +19 -0
  172. package/umd/src/book-2.0/agent-source/parseAgentSourceWithCommitments.unknown.test.d.ts +1 -0
  173. package/umd/src/book-2.0/agent-source/resolveInheritedAgentSource.d.ts +73 -0
  174. package/umd/src/book-2.0/book-language-documentation/getSafeCodeBlock.d.ts +1 -1
  175. package/umd/src/book-3.0/AgentMessageRunReport.d.ts +46 -0
  176. package/umd/src/book-3.0/AgentPlannedMessagesSidecar.d.ts +127 -0
  177. package/umd/src/book-3.0/AgentPlannedMessagesSidecar.test.d.ts +1 -0
  178. package/umd/src/book-3.0/AgentTeamConversationWorkspace.d.ts +85 -0
  179. package/umd/src/book-3.0/cliAgentEnv.d.ts +3 -3
  180. package/umd/src/book-3.0/createAgentMessageSidecarBaseName.d.ts +13 -0
  181. package/umd/src/book-3.0/describeAgentPlannedMessageSchedule.d.ts +31 -0
  182. package/umd/src/book-components/BookEditor/createDeprecatedCommitmentDiagnostics.browser.d.ts +1 -9
  183. package/umd/src/book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.d.ts +28 -0
  184. package/umd/src/book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.test.d.ts +1 -0
  185. package/umd/src/book-components/BookEditor/createUnknownCommitmentDiagnostics.d.ts +28 -0
  186. package/umd/src/book-components/BookEditor/createUnknownCommitmentDiagnostics.test.d.ts +1 -0
  187. package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +3 -2
  188. package/umd/src/book-components/Chat/Chat/renderAgentProjectDiff.d.ts +13 -0
  189. package/umd/src/book-components/Chat/Chat/renderAgentProjectToolCallDetails.d.ts +16 -0
  190. package/umd/src/book-components/Chat/MockedChat/MockedChat.test.d.ts +2 -0
  191. package/umd/src/book-components/Chat/utils/agentProjectToolCall.d.ts +85 -0
  192. package/umd/src/book-components/Chat/utils/agentProjectToolCall.test.d.ts +1 -0
  193. package/umd/src/book-components/Chat/utils/externalSourceToolCall.d.ts +38 -0
  194. package/umd/src/book-components/Chat/utils/renderMarkdown.d.ts +68 -3
  195. package/umd/src/book-components/Chat/utils/timeoutToolCallPresentation.d.ts +30 -0
  196. package/umd/src/cli/$initializePromptbookCliProgram.d.ts +8 -0
  197. package/umd/src/cli/cli-commands/coder/$ensureCoderHarnessGitignoreRules.d.ts +10 -0
  198. package/umd/src/cli/cli-commands/coder/$ensureCoderHarnessGitignoreRules.test.d.ts +1 -0
  199. package/umd/src/cli/cli-commands/coder/GitChangesMode.d.ts +28 -0
  200. package/umd/src/cli/cli-commands/coder/agentCliOptions.d.ts +21 -0
  201. package/umd/src/cli/cli-commands/coder/boilerplateCount.d.ts +1 -1
  202. package/umd/src/cli/cli-commands/coder/boilerplateTemplates.d.ts +8 -21
  203. package/umd/src/cli/cli-commands/coder/coderReferencedArtifacts.d.ts +33 -0
  204. package/umd/src/cli/cli-commands/coder/ensureCoderGitignoreFile.d.ts +14 -1
  205. package/umd/src/cli/cli-commands/coder/ensureCoderPackageJsonFile.d.ts +4 -2
  206. package/umd/src/cli/cli-commands/coder/ensureCoderVscodeSettingsFile.d.ts +2 -0
  207. package/umd/src/cli/cli-commands/coder/ensureDirectory.d.ts +6 -0
  208. package/umd/src/cli/cli-commands/coder/generate-boilerplates.d.ts +1 -1
  209. package/umd/src/cli/cli-commands/coder/getDefaultCoderPackageJsonScripts.d.ts +6 -0
  210. package/umd/src/cli/cli-commands/coder/init.test.d.ts +1 -0
  211. package/umd/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.d.ts +8 -5
  212. package/umd/src/cli/cli-commands/coder/list.d.ts +10 -0
  213. package/umd/src/cli/cli-commands/coder/list.test.d.ts +1 -0
  214. package/umd/src/cli/cli-commands/coder/mergeStringRecordJsonFile.d.ts +19 -1
  215. package/umd/src/cli/cli-commands/coder/printCoderRunFailure.d.ts +6 -0
  216. package/umd/src/cli/cli-commands/coder/server.test.d.ts +1 -0
  217. package/umd/src/cli/cli-commands/coder/verify.d.ts +1 -1
  218. package/umd/src/cli/cli-commands/coder/waitOptions.d.ts +12 -0
  219. package/umd/src/cli/cli-commands/coder.d.ts +1 -0
  220. package/umd/src/cli/cli-commands/common/$askForConfirmation.d.ts +11 -0
  221. package/umd/src/cli/cli-commands/common/$askForConfirmation.test.d.ts +1 -0
  222. package/umd/src/cli/cli-commands/common/LocalAgentBookCollection.d.ts +46 -0
  223. package/umd/src/cli/cli-commands/common/createLocalAgentReferenceResolver.d.ts +8 -0
  224. package/umd/src/cli/cli-commands/common/disk-space/$assertSufficientFreeDiskSpace.d.ts +12 -0
  225. package/umd/src/cli/cli-commands/common/disk-space/$assertSufficientFreeDiskSpace.test.d.ts +1 -0
  226. package/umd/src/cli/cli-commands/common/disk-space/$readFreeDiskSpaceStatus.d.ts +11 -0
  227. package/umd/src/cli/cli-commands/common/disk-space/$readFreeDiskSpaceStatus.test.d.ts +1 -0
  228. package/umd/src/cli/cli-commands/common/disk-space/FreeDiskSpaceStatus.d.ts +33 -0
  229. package/umd/src/cli/cli-commands/common/disk-space/formatFreeDiskSpaceBytes.d.ts +6 -0
  230. package/umd/src/cli/cli-commands/common/disk-space/formatFreeDiskSpaceBytes.test.d.ts +1 -0
  231. package/umd/src/cli/cli-commands/common/disk-space/formatLowFreeDiskSpaceWarning.d.ts +10 -0
  232. package/umd/src/cli/cli-commands/common/disk-space/freeDiskSpaceConstants.d.ts +28 -0
  233. package/umd/src/cli/cli-commands/common/disk-space/resolveFreeDiskSpaceLevel.d.ts +7 -0
  234. package/umd/src/cli/cli-commands/common/disk-space/resolveFreeDiskSpaceLevel.test.d.ts +1 -0
  235. package/umd/src/cli/cli-commands/common/ensureAdamAgentBook.d.ts +12 -0
  236. package/umd/src/cli/cli-commands/common/harness/$applyHarnessInstallationStatus.d.ts +3 -2
  237. package/umd/src/cli/cli-commands/common/harness/$checkHarnessInstallation.d.ts +3 -3
  238. package/umd/src/cli/cli-commands/common/harness/$checkHarnessInstallation.test.d.ts +1 -0
  239. package/umd/src/cli/cli-commands/common/harness/$ensureHarnessInstallations.d.ts +4 -3
  240. package/umd/src/cli/cli-commands/common/harness/$resolveHarnessCommandPath.d.ts +14 -0
  241. package/umd/src/cli/cli-commands/common/harness/$resolveHarnessInstallationOrigin.d.ts +10 -0
  242. package/umd/src/cli/cli-commands/common/harness/$runHarnessInstallationCommand.d.ts +43 -0
  243. package/umd/src/cli/cli-commands/common/harness/HarnessDefinition.d.ts +62 -0
  244. package/umd/src/cli/cli-commands/common/harness/HarnessInstallationOrigin.d.ts +36 -0
  245. package/umd/src/cli/cli-commands/common/harness/HarnessInstallationStatus.d.ts +8 -2
  246. package/umd/src/cli/cli-commands/common/harness/HarnessUpdatePlan.d.ts +23 -0
  247. package/umd/src/cli/cli-commands/common/harness/buildHarnessInstallCommand.d.ts +4 -1
  248. package/umd/src/cli/cli-commands/common/harness/formatHarnessManualUpdateInstruction.d.ts +8 -0
  249. package/umd/src/cli/cli-commands/common/harness/formatHarnessManualUpdateInstruction.test.d.ts +1 -0
  250. package/umd/src/cli/cli-commands/common/harness/resolveHarnessInstallationMethodFromPaths.d.ts +31 -0
  251. package/umd/src/cli/cli-commands/common/harness/resolveHarnessInstallationMethodFromPaths.test.d.ts +1 -0
  252. package/umd/src/cli/cli-commands/common/harness/resolveHarnessUpdatePlan.d.ts +12 -0
  253. package/umd/src/cli/cli-commands/common/harness/resolveHarnessUpdatePlan.test.d.ts +1 -0
  254. package/umd/src/cli/cli-commands/common/npm/$askForNpmPackageInstallationApproval.d.ts +11 -0
  255. package/{esm/src/cli/cli-commands/common/harness/$resolveLatestHarnessVersion.d.ts → umd/src/cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.d.ts} +2 -3
  256. package/umd/src/cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.test.d.ts +1 -0
  257. package/umd/src/cli/cli-commands/common/npm/$resolveNpmGlobalPrefixPath.d.ts +9 -0
  258. package/umd/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.d.ts +12 -0
  259. package/umd/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.test.d.ts +1 -0
  260. package/umd/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.d.ts +12 -0
  261. package/umd/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.test.d.ts +1 -0
  262. package/umd/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.d.ts +12 -0
  263. package/umd/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.test.d.ts +1 -0
  264. package/umd/src/cli/cli-commands/common/projectInitialization.d.ts +6 -0
  265. package/umd/src/cli/cli-commands/common/promptPriorityCliOptions.d.ts +7 -0
  266. package/umd/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +17 -4
  267. package/umd/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +9 -0
  268. package/umd/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.test.d.ts +1 -0
  269. package/umd/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +15 -0
  270. package/umd/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.test.d.ts +1 -0
  271. package/umd/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +12 -0
  272. package/umd/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.test.d.ts +1 -0
  273. package/umd/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +10 -0
  274. package/umd/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.test.d.ts +1 -0
  275. package/umd/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.d.ts +66 -0
  276. package/umd/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.d.ts +26 -0
  277. package/umd/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.d.ts +7 -0
  278. package/umd/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.d.ts +7 -0
  279. package/umd/src/cli/cli-commands/common/questionsCliOptions.d.ts +45 -0
  280. package/umd/src/cli/cli-commands/common/questionsCliOptions.test.d.ts +1 -0
  281. package/umd/src/cli/cli-commands/common/resolveBundledAgentBookPath.d.ts +6 -0
  282. package/umd/src/cli/cli-commands/common/resolveLocalAgentSource.d.ts +19 -0
  283. package/umd/src/cli/common/$deprecateCliCommand.d.ts +3 -0
  284. package/umd/src/cli/common/$hideCliCommandFromHelp.d.ts +11 -0
  285. package/umd/src/cli/common/$hideCliCommandFromHelp.test.d.ts +1 -0
  286. package/umd/src/cli/common/$requireCliSubcommand.d.ts +18 -0
  287. package/umd/src/cli/common/$requireCliSubcommand.test.d.ts +1 -0
  288. package/umd/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +15 -0
  289. package/umd/src/commitments/WRITING_RULES/WRITING_RULES.d.ts +14 -7
  290. package/umd/src/commitments/index.d.ts +1 -1
  291. package/umd/src/executables/platforms/locateAppOnWindows.d.ts +1 -1
  292. package/umd/src/executables/platforms/locateAppOnWindows.test.d.ts +1 -0
  293. package/umd/src/llm-providers/vercel/VercelExecutionToolsOptions.d.ts +5 -2
  294. package/umd/src/utils/agent-message-runtime/AgentMessageProjectChange.d.ts +76 -0
  295. package/umd/src/utils/agent-message-runtime/AgentMessageTouchedExternalSource.d.ts +45 -0
  296. package/umd/src/utils/agent-message-runtime/parseAgentMessageRuntimeLogEvents.d.ts +62 -0
  297. package/umd/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.d.ts +3 -3
  298. package/umd/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.d.ts +18 -0
  299. package/umd/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.test.d.ts +1 -0
  300. package/umd/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.d.ts +19 -0
  301. package/umd/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.test.d.ts +1 -0
  302. package/umd/src/utils/agents/terminalAgentAvatarVisual.d.ts +5 -2
  303. package/umd/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +6 -0
  304. package/umd/src/utils/ascii-art/createAnsiColorCode.d.ts +46 -0
  305. package/umd/src/utils/files/findFilesByGlob.d.ts +28 -0
  306. package/umd/src/utils/misc/debounce.d.ts +4 -2
  307. package/umd/src/utils/misc/debounce.test.d.ts +1 -0
  308. package/umd/src/utils/misc/emojis.d.ts +3 -2
  309. package/umd/src/utils/random/$generateBookBoilerplate.test.d.ts +1 -0
  310. package/umd/src/version.d.ts +1 -1
  311. package/esm/src/cli/cli-commands/coder/agentCodingFile.d.ts +0 -13
  312. package/esm/src/cli/cli-commands/common/harness/$askForHarnessInstallationApproval.d.ts +0 -9
  313. package/esm/src/cli/cli-commands/common/harness/$installHarness.d.ts +0 -13
  314. package/esm/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.d.ts +0 -11
  315. package/esm/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.d.ts +0 -9
  316. package/umd/src/cli/cli-commands/coder/agentCodingFile.d.ts +0 -13
  317. package/umd/src/cli/cli-commands/common/harness/$askForHarnessInstallationApproval.d.ts +0 -9
  318. package/umd/src/cli/cli-commands/common/harness/$installHarness.d.ts +0 -13
  319. package/umd/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.d.ts +0 -11
  320. package/umd/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.d.ts +0 -9
  321. /package/esm/src/{cli/cli-commands/common/harness/extractHarnessVersionFromOutput.test.d.ts → avatars/renderAvatarVisualTerminalText.test.d.ts} +0 -0
  322. /package/esm/src/{cli/cli-commands/common/harness/isHarnessVersionOutdated.test.d.ts → book-2.0/agent-source/createAgentModelRequirements.deduplication.test.d.ts} +0 -0
  323. /package/{umd/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.test.d.ts → esm/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.unknown.test.d.ts} +0 -0
  324. /package/{umd/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.test.d.ts → esm/src/book-2.0/agent-source/deduplicateSystemMessage.test.d.ts} +0 -0
package/esm/index.es.js CHANGED
@@ -39,7 +39,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
39
39
  * @generated
40
40
  * @see https://github.com/webgptorg/promptbook
41
41
  */
42
- const PROMPTBOOK_ENGINE_VERSION = '0.114.0-4';
42
+ const PROMPTBOOK_ENGINE_VERSION = '0.114.0-40';
43
43
  /**
44
44
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
45
45
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -1954,6 +1954,15 @@ const OUTLINE_GLYPHS = ['#', '%', '@'];
1954
1954
  * @private helper of `asciiOctopusAvatarVisual`
1955
1955
  */
1956
1956
  const ATMOSPHERE_GLYPHS = ['.', ':', "'", '`'];
1957
+ /**
1958
+ * Coordinate space the octopus layout is generated in when it is painted into a terminal.
1959
+ *
1960
+ * The terminal renderer has its own character grid, so the geometry only needs one stable
1961
+ * square coordinate space which the grid is then sampled from.
1962
+ *
1963
+ * @private helper of `asciiOctopusAvatarVisual`
1964
+ */
1965
+ const TERMINAL_ASCII_OCTOPUS_LAYOUT_SIZE = DEFAULT_AVATAR_SIZE;
1957
1966
  /**
1958
1967
  * AsciiOctopus avatar visual.
1959
1968
  *
@@ -1970,41 +1979,115 @@ const asciiOctopusAvatarVisual = {
1970
1979
  const staticRandom = createRandom('ascii-octopus-static');
1971
1980
  const gridMetrics = createAsciiGridMetrics(size, gridRandom);
1972
1981
  const layout = createAsciiOctopusLayout(size, timeMs, createRandom, staticRandom, interaction);
1982
+ const glyphGrid = createAsciiOctopusGlyphGrid({
1983
+ sampleGrid: gridMetrics,
1984
+ layout,
1985
+ palette,
1986
+ cellRandom: createRandom('ascii-octopus-cells'),
1987
+ timeMs,
1988
+ });
1973
1989
  drawAvatarFrame(context, size, palette);
1974
1990
  drawAsciiBackdrop(context, size, palette, layout, timeMs);
1975
1991
  context.save();
1976
1992
  context.font = `600 ${gridMetrics.fontSize}px monospace`;
1977
1993
  context.textAlign = 'center';
1978
1994
  context.textBaseline = 'middle';
1979
- // The ASCII renderer samples the morphing octopus field on a low-resolution grid so the shape stays organic
1980
- // while the glyph layout remains deterministic for the same avatar input.
1981
- const cellRandom = createRandom('ascii-octopus-cells');
1982
1995
  for (let rowIndex = 0; rowIndex < gridMetrics.rowCount; rowIndex++) {
1983
1996
  for (let columnIndex = 0; columnIndex < gridMetrics.columnCount; columnIndex++) {
1984
- const point = {
1985
- x: gridMetrics.offsetX + columnIndex * gridMetrics.cellWidth,
1986
- y: gridMetrics.offsetY + rowIndex * gridMetrics.cellHeight,
1987
- };
1988
- const noise = cellRandom();
1989
- const glyphDescriptor = resolveAsciiGlyph({
1990
- point,
1991
- layout,
1992
- palette,
1993
- cellWidth: gridMetrics.cellWidth,
1994
- cellHeight: gridMetrics.cellHeight,
1995
- noise,
1996
- timeMs,
1997
- });
1997
+ const glyphDescriptor = glyphGrid[rowIndex][columnIndex];
1998
1998
  if (!glyphDescriptor) {
1999
1999
  continue;
2000
2000
  }
2001
+ const point = resolveAsciiSampleGridPoint(gridMetrics, columnIndex, rowIndex);
2001
2002
  context.fillStyle = glyphDescriptor.color;
2002
2003
  context.fillText(glyphDescriptor.character, point.x, point.y);
2003
2004
  }
2004
2005
  }
2005
2006
  context.restore();
2006
2007
  },
2008
+ renderTerminalText({ columns, rows, palette, createRandom, timeMs, interaction }) {
2009
+ const staticRandom = createRandom('ascii-octopus-static');
2010
+ const layout = createAsciiOctopusLayout(TERMINAL_ASCII_OCTOPUS_LAYOUT_SIZE, timeMs, createRandom, staticRandom, interaction);
2011
+ return createAsciiOctopusGlyphGrid({
2012
+ sampleGrid: createAsciiTerminalSampleGrid(columns, rows),
2013
+ layout,
2014
+ palette,
2015
+ cellRandom: createRandom('ascii-octopus-cells'),
2016
+ timeMs,
2017
+ });
2018
+ },
2007
2019
  };
2020
+ /**
2021
+ * Resolves the geometry point sampled for one cell of the grid.
2022
+ *
2023
+ * @param sampleGrid Character-cell sampling grid.
2024
+ * @param columnIndex Zero-based cell column.
2025
+ * @param rowIndex Zero-based cell row.
2026
+ * @returns Sampled point in the octopus coordinate space.
2027
+ *
2028
+ * @private helper of `asciiOctopusAvatarVisual`
2029
+ */
2030
+ function resolveAsciiSampleGridPoint(sampleGrid, columnIndex, rowIndex) {
2031
+ return {
2032
+ x: sampleGrid.offsetX + columnIndex * sampleGrid.cellWidth,
2033
+ y: sampleGrid.offsetY + rowIndex * sampleGrid.cellHeight,
2034
+ };
2035
+ }
2036
+ /**
2037
+ * Builds the sampling grid used when the octopus is painted straight into terminal character cells.
2038
+ *
2039
+ * @param columns Available terminal columns.
2040
+ * @param rows Available terminal rows.
2041
+ * @returns Character-cell sampling grid covering the whole octopus coordinate space.
2042
+ *
2043
+ * @private helper of `asciiOctopusAvatarVisual`
2044
+ */
2045
+ function createAsciiTerminalSampleGrid(columns, rows) {
2046
+ const cellWidth = TERMINAL_ASCII_OCTOPUS_LAYOUT_SIZE / columns;
2047
+ const cellHeight = TERMINAL_ASCII_OCTOPUS_LAYOUT_SIZE / rows;
2048
+ return {
2049
+ cellWidth,
2050
+ cellHeight,
2051
+ columnCount: columns,
2052
+ rowCount: rows,
2053
+ offsetX: cellWidth / 2,
2054
+ offsetY: cellHeight / 2,
2055
+ };
2056
+ }
2057
+ /**
2058
+ * Samples the morphing octopus field into one deterministic grid of ASCII glyphs.
2059
+ *
2060
+ * The field is sampled on a low-resolution grid so the shape stays organic while the glyph
2061
+ * layout remains deterministic for the same avatar input. Both the canvas visual and the
2062
+ * terminal visual share this single sampling pass so they always describe the same octopus.
2063
+ *
2064
+ * @param options Sampling grid, prepared octopus layout, palette, per-cell noise, and animation time.
2065
+ * @returns Resolved glyph of every sampled cell, where `null` means an empty cell.
2066
+ *
2067
+ * @private helper of `asciiOctopusAvatarVisual`
2068
+ */
2069
+ function createAsciiOctopusGlyphGrid(options) {
2070
+ const { sampleGrid, layout, palette, cellRandom, timeMs } = options;
2071
+ const glyphGrid = [];
2072
+ for (let rowIndex = 0; rowIndex < sampleGrid.rowCount; rowIndex++) {
2073
+ const glyphRow = [];
2074
+ for (let columnIndex = 0; columnIndex < sampleGrid.columnCount; columnIndex++) {
2075
+ const point = resolveAsciiSampleGridPoint(sampleGrid, columnIndex, rowIndex);
2076
+ const noise = cellRandom();
2077
+ glyphRow.push(resolveAsciiGlyph({
2078
+ point,
2079
+ layout,
2080
+ palette,
2081
+ cellWidth: sampleGrid.cellWidth,
2082
+ cellHeight: sampleGrid.cellHeight,
2083
+ noise,
2084
+ timeMs,
2085
+ }));
2086
+ }
2087
+ glyphGrid.push(glyphRow);
2088
+ }
2089
+ return glyphGrid;
2090
+ }
2008
2091
  /**
2009
2092
  * Draws the dark terminal-like glow behind the ASCII octopus.
2010
2093
  *
@@ -10066,6 +10149,12 @@ class FromCommitmentDefinition extends BaseCommitmentDefinition {
10066
10149
 
10067
10150
  Inherits agent source from another agent.
10068
10151
 
10152
+ Every agent inherits from the core agent \`@Adam\` unless it says otherwise, so writing no ${this.type} at all
10153
+ is the same as writing \`${this.type} @Adam\`. Write \`${this.type} @Null\` to inherit from nothing.
10154
+
10155
+ An agent has exactly one parent, so when ${this.type} is written more than once, the last one wins and
10156
+ overrides every earlier one.
10157
+
10069
10158
  ## Examples
10070
10159
 
10071
10160
  \`\`\`book
@@ -10074,6 +10163,13 @@ class FromCommitmentDefinition extends BaseCommitmentDefinition {
10074
10163
  FROM https://s6.ptbk.io/benjamin-white
10075
10164
  RULE Speak only in English.
10076
10165
  \`\`\`
10166
+
10167
+ \`\`\`book
10168
+ My Standalone Agent
10169
+
10170
+ FROM @Null
10171
+ RULE Speak only in English.
10172
+ \`\`\`
10077
10173
  `);
10078
10174
  }
10079
10175
  applyToAgentModelRequirements(requirements, content) {
@@ -17937,29 +18033,36 @@ class UseUserLocationCommitmentDefinition extends BaseCommitmentDefinition {
17937
18033
  /**
17938
18034
  * `WRITING RULES` commitment definition.
17939
18035
  *
17940
- * It adds constraints that apply strictly to writing style and presentation
17941
- * rather than task-solving behavior.
18036
+ * The `WRITING RULES`/`WRITING RULE` commitment adds constraints that apply strictly to writing style
18037
+ * and presentation rather than task-solving behavior.
18038
+ *
18039
+ * Example usage in agent source:
18040
+ *
18041
+ * ```book
18042
+ * WRITING RULES Keep every response under 120 words
18043
+ * WRITING RULE Always end the message with an emoji
18044
+ * ```
17942
18045
  *
17943
18046
  * @private [🪔] Maybe export the commitments through some package
17944
18047
  */
17945
18048
  class WritingRulesCommitmentDefinition extends BaseCommitmentDefinition {
17946
- constructor() {
17947
- super('WRITING RULES');
18049
+ constructor(type = 'WRITING RULES') {
18050
+ super(type);
17948
18051
  }
17949
18052
  /**
17950
- * Short one-line description of `WRITING RULES`.
18053
+ * Short one-line description of `WRITING RULES`/`WRITING RULE`.
17951
18054
  */
17952
18055
  get description() {
17953
18056
  return 'Add writing-only constraints such as tone, length, formatting, or emoji usage.';
17954
18057
  }
17955
18058
  /**
17956
- * Icon for `WRITING RULES`.
18059
+ * Icon for `WRITING RULES`/`WRITING RULE`.
17957
18060
  */
17958
18061
  get icon() {
17959
18062
  return '📝';
17960
18063
  }
17961
18064
  /**
17962
- * Markdown documentation for `WRITING RULES`.
18065
+ * Markdown documentation for `WRITING RULES`/`WRITING RULE` commitment.
17963
18066
  */
17964
18067
  get documentation() {
17965
18068
  return spaceTrim$1(`
@@ -17969,6 +18072,7 @@ class WritingRulesCommitmentDefinition extends BaseCommitmentDefinition {
17969
18072
 
17970
18073
  ## Key aspects
17971
18074
 
18075
+ - All writing rules are treated equally regardless of singular/plural form.
17972
18076
  - Use it for writing-only constraints such as tone, formatting, length, emoji usage, punctuation, or reading level.
17973
18077
  - Do **not** use it for problem-solving behavior, policy, tool usage, or decision-making logic. Use \`RULE\` for that.
17974
18078
  - Newer writing-rules blocks override conflicting earlier writing-rules blocks.
@@ -18167,7 +18271,8 @@ const COMMITMENT_REGISTRY = [
18167
18271
  new LanguageCommitmentDefinition('LANGUAGE'),
18168
18272
  new LanguageCommitmentDefinition('LANGUAGES'),
18169
18273
  new WritingSampleCommitmentDefinition(),
18170
- new WritingRulesCommitmentDefinition(),
18274
+ new WritingRulesCommitmentDefinition('WRITING RULES'),
18275
+ new WritingRulesCommitmentDefinition('WRITING RULE'),
18171
18276
  new SampleCommitmentDefinition('SAMPLE'),
18172
18277
  new SampleCommitmentDefinition('EXAMPLE'),
18173
18278
  new FormatCommitmentDefinition('FORMAT'),
@@ -18239,6 +18344,42 @@ const COMMITMENT_REGISTRY = [
18239
18344
  // TODO: [🧠] Maybe create through standardized $register
18240
18345
  // Note: [💞] Ignore a discrepancy between file name and entity name
18241
18346
 
18347
+ /**
18348
+ * Pattern shared by Book parsing and editor highlighting for a commitment-like line.
18349
+ *
18350
+ * A Book commitment keyword consists of one or more all-uppercase words with at least
18351
+ * two characters each. This deliberately mirrors the Book editor syntax rule so an
18352
+ * unknown keyword starts a new source block everywhere it is interpreted.
18353
+ *
18354
+ * @private internal constant of `getBookCommitmentLineType`
18355
+ */
18356
+ const BOOK_COMMITMENT_LINE_TYPE_REGEX = /^\s*(?<type>[A-Z][A-Z0-9]+(?:\s+[A-Z][A-Z0-9]+)*)(?=\s|$)/;
18357
+ /**
18358
+ * Creates the regex used to recognize the uppercase commitment type at the beginning of a Book line.
18359
+ *
18360
+ * A fresh regular expression keeps Monaco tokenizer state isolated from parser calls.
18361
+ *
18362
+ * @returns Regular expression matching one Book commitment-like line.
18363
+ *
18364
+ * @private internal utility of Book parsing and `<BookEditor/>`
18365
+ */
18366
+ function createBookCommitmentLineTypeRegex() {
18367
+ return new RegExp(BOOK_COMMITMENT_LINE_TYPE_REGEX.source);
18368
+ }
18369
+ /**
18370
+ * Extracts the uppercase commitment type from a Book line, including types not registered by Promptbook.
18371
+ *
18372
+ * @param line - One raw Book source line.
18373
+ * @returns Matched commitment type or `null` when the line does not begin with commitment syntax.
18374
+ *
18375
+ * @private internal utility of Book parsing and `<BookEditor/>`
18376
+ */
18377
+ function getBookCommitmentLineType(line) {
18378
+ var _a;
18379
+ const match = BOOK_COMMITMENT_LINE_TYPE_REGEX.exec(line);
18380
+ return ((_a = match === null || match === void 0 ? void 0 : match.groups) === null || _a === void 0 ? void 0 : _a.type) || null;
18381
+ }
18382
+
18242
18383
  /**
18243
18384
  * Consumes the agent-name prelude from raw source.
18244
18385
  *
@@ -18296,13 +18437,15 @@ function parseAgentSourceWithCommitments(agentSource) {
18296
18437
  return {
18297
18438
  agentName: null,
18298
18439
  commitments: [],
18440
+ unknownCommitments: [],
18299
18441
  nonCommitmentLines: [],
18300
18442
  };
18301
18443
  }
18302
18444
  const { lines, agentName, agentNameLineIndex, agentNameLineNumber } = parseAgentSourcePrelude(agentSource);
18303
18445
  const commitments = [];
18446
+ const unknownCommitments = [];
18304
18447
  const nonCommitmentLines = agentNameLineIndex >= 0 ? [lines[agentNameLineIndex]] : [];
18305
- // Parse commitments with multiline support
18448
+ // Parse commitments with multiline support.
18306
18449
  let currentCommitment = null;
18307
18450
  // Process lines starting from after the agent name line
18308
18451
  const startIndex = agentNameLineIndex >= 0 ? agentNameLineIndex + 1 : 0;
@@ -18316,25 +18459,11 @@ function parseAgentSourceWithCommitments(agentSource) {
18316
18459
  // Check if this line starts or ends a code block
18317
18460
  if (trimmedLine.startsWith('```')) {
18318
18461
  isInsideCodeBlock = !isInsideCodeBlock;
18319
- if (currentCommitment) {
18320
- // If we are inside a commitment, the code block is part of it
18321
- currentCommitment.contentLines.push(line);
18322
- }
18323
- else {
18324
- // If we are not inside a commitment, the code block is non-commitment
18325
- nonCommitmentLines.push(line);
18326
- }
18462
+ appendLineToCurrentCommitmentOrNonCommitmentLines(currentCommitment, line, nonCommitmentLines);
18327
18463
  continue;
18328
18464
  }
18329
18465
  if (isInsideCodeBlock) {
18330
- if (currentCommitment) {
18331
- // If we are inside a commitment and a code block, the line is part of the commitment
18332
- currentCommitment.contentLines.push(line);
18333
- }
18334
- else {
18335
- // If we are inside a code block but not a commitment, the line is non-commitment
18336
- nonCommitmentLines.push(line);
18337
- }
18466
+ appendLineToCurrentCommitmentOrNonCommitmentLines(currentCommitment, line, nonCommitmentLines);
18338
18467
  continue;
18339
18468
  }
18340
18469
  // Check if this line starts a new commitment
@@ -18343,22 +18472,14 @@ function parseAgentSourceWithCommitments(agentSource) {
18343
18472
  const typeRegex = definition.createTypeRegex();
18344
18473
  const match = typeRegex.exec(line.trim());
18345
18474
  if (match && ((_a = match.groups) === null || _a === void 0 ? void 0 : _a.type)) {
18346
- // Save the previous commitment if it exists
18347
- if (currentCommitment) {
18348
- const fullContent = currentCommitment.contentLines.join('\n');
18349
- commitments.push({
18350
- type: currentCommitment.type,
18351
- content: spaceTrim$1(fullContent),
18352
- originalLine: currentCommitment.originalStartLine,
18353
- lineNumber: currentCommitment.startLineNumber,
18354
- });
18355
- }
18475
+ appendCurrentCommitment(currentCommitment, commitments, unknownCommitments);
18356
18476
  // Extract the initial content from the commitment line
18357
18477
  const fullRegex = definition.createRegex();
18358
18478
  const fullMatch = fullRegex.exec(line.trim());
18359
18479
  const initialContent = ((_b = fullMatch === null || fullMatch === void 0 ? void 0 : fullMatch.groups) === null || _b === void 0 ? void 0 : _b.contents) || '';
18360
18480
  // Start a new commitment
18361
18481
  currentCommitment = {
18482
+ kind: 'known',
18362
18483
  type: definition.type,
18363
18484
  startLineNumber: i + 1,
18364
18485
  originalStartLine: line,
@@ -18368,52 +18489,90 @@ function parseAgentSourceWithCommitments(agentSource) {
18368
18489
  break;
18369
18490
  }
18370
18491
  }
18492
+ if (foundNewCommitment) {
18493
+ continue;
18494
+ }
18495
+ const unknownCommitmentType = getBookCommitmentLineType(line);
18496
+ if (unknownCommitmentType) {
18497
+ appendCurrentCommitment(currentCommitment, commitments, unknownCommitments);
18498
+ currentCommitment = {
18499
+ kind: 'unknown',
18500
+ type: unknownCommitmentType,
18501
+ startLineNumber: i + 1,
18502
+ originalStartLine: line,
18503
+ sourceLines: [line],
18504
+ };
18505
+ continue;
18506
+ }
18371
18507
  // Check if this is a horizontal line (ends any current commitment)
18372
18508
  const isHorizontalLine = HORIZONTAL_LINE_PATTERN$2.test(line);
18373
18509
  if (isHorizontalLine) {
18374
- // Save the current commitment if it exists
18375
- if (currentCommitment) {
18376
- const fullContent = currentCommitment.contentLines.join('\n');
18377
- commitments.push({
18378
- type: currentCommitment.type,
18379
- content: spaceTrim$1(fullContent),
18380
- originalLine: currentCommitment.originalStartLine,
18381
- lineNumber: currentCommitment.startLineNumber,
18382
- });
18383
- currentCommitment = null;
18384
- }
18510
+ appendCurrentCommitment(currentCommitment, commitments, unknownCommitments);
18511
+ currentCommitment = null;
18385
18512
  // Add horizontal line to non-commitment lines
18386
18513
  nonCommitmentLines.push(line);
18387
18514
  continue;
18388
18515
  }
18389
- if (!foundNewCommitment) {
18390
- if (currentCommitment) {
18391
- // This line belongs to the current commitment
18392
- currentCommitment.contentLines.push(line);
18393
- }
18394
- else {
18395
- // This line is not part of any commitment
18396
- nonCommitmentLines.push(line);
18397
- }
18398
- }
18399
- }
18400
- // Don't forget to save the last commitment if it exists
18401
- if (currentCommitment) {
18402
- const fullContent = currentCommitment.contentLines.join('\n');
18403
- commitments.push({
18404
- type: currentCommitment.type,
18405
- content: spaceTrim$1(fullContent),
18406
- originalLine: currentCommitment.originalStartLine,
18407
- lineNumber: currentCommitment.startLineNumber,
18408
- });
18516
+ appendLineToCurrentCommitmentOrNonCommitmentLines(currentCommitment, line, nonCommitmentLines);
18409
18517
  }
18518
+ appendCurrentCommitment(currentCommitment, commitments, unknownCommitments);
18410
18519
  return {
18411
18520
  agentName,
18412
18521
  agentNameLineNumber,
18413
18522
  commitments,
18523
+ unknownCommitments,
18414
18524
  nonCommitmentLines,
18415
18525
  };
18416
18526
  }
18527
+ /**
18528
+ * Stores the current known or unknown commitment in its appropriate parsed collection.
18529
+ *
18530
+ * @param currentCommitment - Commitment-like block collected so far.
18531
+ * @param commitments - Parsed registered commitments to append to.
18532
+ * @param unknownCommitments - Parsed unregistered commitments to append to.
18533
+ *
18534
+ * @private internal utility of `parseAgentSourceWithCommitments`
18535
+ */
18536
+ function appendCurrentCommitment(currentCommitment, commitments, unknownCommitments) {
18537
+ if (!currentCommitment) {
18538
+ return;
18539
+ }
18540
+ if (currentCommitment.kind === 'unknown') {
18541
+ unknownCommitments.push({
18542
+ type: currentCommitment.type,
18543
+ originalLine: currentCommitment.originalStartLine,
18544
+ lineNumber: currentCommitment.startLineNumber,
18545
+ source: spaceTrim$1(currentCommitment.sourceLines.join('\n')),
18546
+ });
18547
+ return;
18548
+ }
18549
+ commitments.push({
18550
+ type: currentCommitment.type,
18551
+ content: spaceTrim$1(currentCommitment.contentLines.join('\n')),
18552
+ originalLine: currentCommitment.originalStartLine,
18553
+ lineNumber: currentCommitment.startLineNumber,
18554
+ });
18555
+ }
18556
+ /**
18557
+ * Adds one source line to the active commitment-like block, or to plain source content when none is active.
18558
+ *
18559
+ * @param currentCommitment - Commitment-like block currently being collected.
18560
+ * @param line - Source line to append.
18561
+ * @param nonCommitmentLines - Plain source lines to append to when no block is active.
18562
+ *
18563
+ * @private internal utility of `parseAgentSourceWithCommitments`
18564
+ */
18565
+ function appendLineToCurrentCommitmentOrNonCommitmentLines(currentCommitment, line, nonCommitmentLines) {
18566
+ if (!currentCommitment) {
18567
+ nonCommitmentLines.push(line);
18568
+ return;
18569
+ }
18570
+ if (currentCommitment.kind === 'unknown') {
18571
+ currentCommitment.sourceLines.push(line);
18572
+ return;
18573
+ }
18574
+ currentCommitment.contentLines.push(line);
18575
+ }
18417
18576
 
18418
18577
  /**
18419
18578
  * Parses parameters from text using both supported notations:
@@ -19252,7 +19411,7 @@ function validateBook(source) {
19252
19411
  const DEFAULT_BOOK = padBook(validateBook(spaceTrim$1(`
19253
19412
  AI Avatar
19254
19413
 
19255
- PERSONA A friendly AI assistant that helps you with your tasks
19414
+ GOAL Help users with their tasks as a friendly AI assistant.
19256
19415
  `)));
19257
19416
  // <- Note: Not using book`...` notation to avoid strange error in jest unit tests `TypeError: (0 , book_notation_1.book) is not a function`
19258
19417
  // <- TODO: [🐱‍🚀] `GENESIS_BOOK` / `ADAM_BOOK` in `/agents/adam.book`
@@ -19907,15 +20066,199 @@ function resolveBookEditorRenderTheme(hostTheme = BOOK_EDITOR_RENDER_THEME) {
19907
20066
  }
19908
20067
 
19909
20068
  /**
19910
- * Browser-compatible stub for `createDeprecatedCommitmentDiagnostics`.
20069
+ * Gets a commitment definition by its type
19911
20070
  *
19912
- * In the browser build the full Node.js implementation is not available,
19913
- * so this stub always returns an empty array to keep the editor functional.
20071
+ * @param type The commitment type to look up
20072
+ * @returns The commitment definition or null if not found
20073
+ *
20074
+ * @public exported from `@promptbook/core`
20075
+ */
20076
+ function getCommitmentDefinition(type) {
20077
+ return COMMITMENT_REGISTRY.find((commitmentDefinition) => commitmentDefinition.type === type) || null;
20078
+ }
20079
+
20080
+ /**
20081
+ * Warning message used for unfinished commitments.
20082
+ */
20083
+ const UNFINISHED_COMMITMENT_MESSAGE = 'This commitment is unfinished and not ready to use. Be careful when using it.';
20084
+ /**
20085
+ * Low-level warning message used for low-level commitments.
20086
+ */
20087
+ const LOW_LEVEL_COMMITMENT_MESSAGE = 'This commitment is low-level and not used by most of the users. Be careful when using it.';
20088
+ /**
20089
+ * Short badge text used for deprecated commitments.
20090
+ */
20091
+ const DEPRECATED_COMMITMENT_BADGE_LABEL = 'Deprecated';
20092
+ /**
20093
+ * Short badge text used for unfinished and low-level commitments.
20094
+ */
20095
+ const LOW_LEVEL_COMMITMENT_BADGE_LABEL = 'Low-level';
20096
+ /**
20097
+ * Longer label used for deprecated commitments.
20098
+ */
20099
+ const DEPRECATED_COMMITMENT_DETAIL_LABEL = 'Deprecated commitment';
20100
+ /**
20101
+ * Longer label used for unfinished and low-level commitments.
20102
+ */
20103
+ const LOW_LEVEL_COMMITMENT_DETAIL_LABEL = 'Low-level commitment';
20104
+ /**
20105
+ * Resolves the notice metadata for deprecated, unfinished, or low-level commitments.
20106
+ *
20107
+ * @param definition - Commitment definition to inspect.
20108
+ * @returns Notice metadata when the commitment should be surfaced with caution.
20109
+ *
20110
+ * @private internal utility of commitment catalog notices
20111
+ */
20112
+ function getCommitmentNoticeMetadata(definition) {
20113
+ if (definition.isUnfinished) {
20114
+ return {
20115
+ kind: 'unfinished',
20116
+ badgeLabel: LOW_LEVEL_COMMITMENT_BADGE_LABEL,
20117
+ detailLabel: LOW_LEVEL_COMMITMENT_DETAIL_LABEL,
20118
+ message: UNFINISHED_COMMITMENT_MESSAGE,
20119
+ };
20120
+ }
20121
+ if (definition.isLowLevel) {
20122
+ return {
20123
+ kind: 'lowLevel',
20124
+ badgeLabel: LOW_LEVEL_COMMITMENT_BADGE_LABEL,
20125
+ detailLabel: LOW_LEVEL_COMMITMENT_DETAIL_LABEL,
20126
+ message: LOW_LEVEL_COMMITMENT_MESSAGE,
20127
+ };
20128
+ }
20129
+ if (definition.deprecation) {
20130
+ return {
20131
+ kind: 'deprecated',
20132
+ badgeLabel: DEPRECATED_COMMITMENT_BADGE_LABEL,
20133
+ detailLabel: DEPRECATED_COMMITMENT_DETAIL_LABEL,
20134
+ message: definition.deprecation.message,
20135
+ };
20136
+ }
20137
+ return null;
20138
+ }
20139
+
20140
+ /**
20141
+ * Creates Book editor diagnostics for deprecated, unfinished, and low-level commitment keywords.
20142
+ *
20143
+ * The notice metadata is UI-only. This helper surfaces it in Monaco so legacy,
20144
+ * unfinished, and low-level commitments remain functional while still guiding
20145
+ * authors toward preferred replacements or cautioning them about low-level
20146
+ * usage.
20147
+ *
20148
+ * @param agentSource - Current editor content.
20149
+ * @returns Warning markers for deprecated, unfinished, and low-level commitment keywords.
19914
20150
  *
19915
20151
  * @private internal utility of `BookEditorMonaco`
19916
20152
  */
19917
- function createDeprecatedCommitmentDiagnostics(_agentSource) {
19918
- return [];
20153
+ function createDeprecatedCommitmentDiagnostics(agentSource) {
20154
+ var _a;
20155
+ if (!(agentSource === null || agentSource === void 0 ? void 0 : agentSource.trim())) {
20156
+ return [];
20157
+ }
20158
+ const parsed = parseAgentSourceWithCommitments(agentSource);
20159
+ const diagnostics = [];
20160
+ for (const commitment of parsed.commitments) {
20161
+ const definition = getCommitmentDefinition(commitment.type);
20162
+ const notice = definition ? getCommitmentNoticeMetadata(definition) : null;
20163
+ if (!definition || !notice) {
20164
+ continue;
20165
+ }
20166
+ const typeMatch = definition.createTypeRegex().exec(commitment.originalLine);
20167
+ if (!((_a = typeMatch === null || typeMatch === void 0 ? void 0 : typeMatch.groups) === null || _a === void 0 ? void 0 : _a.type)) {
20168
+ continue;
20169
+ }
20170
+ const matchedType = typeMatch.groups.type;
20171
+ const leadingCharactersCount = typeMatch[0].length - matchedType.length;
20172
+ const startColumn = leadingCharactersCount + 1;
20173
+ const endColumn = startColumn + matchedType.length;
20174
+ // Keep the diagnostic sentence compact while reusing the shared notice copy.
20175
+ const message = notice.kind === 'deprecated'
20176
+ ? `\`${commitment.type}\` is deprecated. ${notice.message}`
20177
+ : `\`${commitment.type}\` is ${notice.message.replace(/^This commitment is\s+/u, '')}`;
20178
+ diagnostics.push({
20179
+ startLineNumber: commitment.lineNumber,
20180
+ startColumn,
20181
+ endLineNumber: commitment.lineNumber,
20182
+ endColumn,
20183
+ message,
20184
+ source: 'Promptbook',
20185
+ severity: 'warning',
20186
+ });
20187
+ }
20188
+ return diagnostics;
20189
+ }
20190
+
20191
+ /**
20192
+ * Commitment declaring the parent agent one book inherits from.
20193
+ *
20194
+ * @private internal constant of `createDuplicateFromCommitmentDiagnostics`
20195
+ */
20196
+ const FROM_COMMITMENT_TYPE = 'FROM';
20197
+ /**
20198
+ * Creates Book editor diagnostics for a parent agent declared by more than one `FROM` commitment.
20199
+ *
20200
+ * Repeating `FROM` stays valid — the last one wins and overrides every earlier one — but an author who writes it
20201
+ * twice usually means only one of them, so every `FROM` keyword is marked to show which one actually applies.
20202
+ *
20203
+ * @param agentSource - Current editor content.
20204
+ * @returns Warning markers for every `FROM` keyword, empty when the book declares at most one parent.
20205
+ *
20206
+ * @private internal utility of `BookEditorMonaco`
20207
+ */
20208
+ function createDuplicateFromCommitmentDiagnostics(agentSource) {
20209
+ if (!(agentSource === null || agentSource === void 0 ? void 0 : agentSource.trim())) {
20210
+ return [];
20211
+ }
20212
+ const fromCommitments = parseAgentSourceWithCommitments(agentSource).commitments.filter((commitment) => commitment.type === FROM_COMMITMENT_TYPE);
20213
+ if (fromCommitments.length < 2) {
20214
+ return [];
20215
+ }
20216
+ const lastFromCommitment = fromCommitments[fromCommitments.length - 1];
20217
+ return fromCommitments.map((fromCommitment) => {
20218
+ const startColumn = fromCommitment.originalLine.indexOf(FROM_COMMITMENT_TYPE) + 1;
20219
+ const isEffectiveFromCommitment = fromCommitment === lastFromCommitment;
20220
+ const message = isEffectiveFromCommitment
20221
+ ? `\`${FROM_COMMITMENT_TYPE}\` is written ${fromCommitments.length} times in this book. Only this last one is used, the earlier ones are ignored.`
20222
+ : `\`${FROM_COMMITMENT_TYPE}\` is written ${fromCommitments.length} times in this book. Only the last one on line ${lastFromCommitment.lineNumber} is used, so this one is ignored.`;
20223
+ return {
20224
+ startLineNumber: fromCommitment.lineNumber,
20225
+ startColumn,
20226
+ endLineNumber: fromCommitment.lineNumber,
20227
+ endColumn: startColumn + FROM_COMMITMENT_TYPE.length,
20228
+ message,
20229
+ source: 'Promptbook',
20230
+ severity: 'warning',
20231
+ };
20232
+ });
20233
+ }
20234
+
20235
+ /**
20236
+ * Creates Book editor diagnostics for uppercase commitments not registered by Promptbook.
20237
+ *
20238
+ * Unknown commitment blocks remain valid extra context in the generated system message,
20239
+ * but the editor marks their keywords so authors can spot likely typos immediately.
20240
+ *
20241
+ * @param agentSource - Current editor content.
20242
+ * @returns Error markers for all unknown commitment keywords.
20243
+ *
20244
+ * @private internal utility of `BookEditorMonaco`
20245
+ */
20246
+ function createUnknownCommitmentDiagnostics(agentSource) {
20247
+ if (!(agentSource === null || agentSource === void 0 ? void 0 : agentSource.trim())) {
20248
+ return [];
20249
+ }
20250
+ return parseAgentSourceWithCommitments(agentSource).unknownCommitments.map((commitment) => {
20251
+ const startColumn = commitment.originalLine.indexOf(commitment.type) + 1;
20252
+ return {
20253
+ startLineNumber: commitment.lineNumber,
20254
+ startColumn,
20255
+ endLineNumber: commitment.lineNumber,
20256
+ endColumn: startColumn + commitment.type.length,
20257
+ message: `Unknown commitment \`${commitment.type}\` is added to the system message as extra context.`,
20258
+ source: 'Promptbook',
20259
+ severity: 'error',
20260
+ };
20261
+ });
19919
20262
  }
19920
20263
 
19921
20264
  /**
@@ -20364,7 +20707,7 @@ const AGENT_REFERENCE_COMMITMENT_TYPES = ['FROM', 'IMPORT', 'IMPORTS', 'TEAM'];
20364
20707
  *
20365
20708
  * @private function of BookEditorMonaco
20366
20709
  */
20367
- const DYNAMIC_COMMITMENT_REGEX = /^\s*[A-Z][A-Z0-9]+(?:\s+[A-Z][A-Z0-9]+)*(?=\s|$)/;
20710
+ const DYNAMIC_COMMITMENT_REGEX = createBookCommitmentLineTypeRegex();
20368
20711
  /**
20369
20712
  * Regex pattern to match horizontal lines.
20370
20713
  *
@@ -21101,64 +21444,64 @@ function useBookEditorMonacoStyles({ instanceClass, scaledLineHeight, scaledCont
21101
21444
  style.id = styleId;
21102
21445
  document.head.appendChild(style);
21103
21446
  }
21104
- style.innerHTML = `
21105
-
21106
- @import url('https://fonts.googleapis.com/css2?family=Bitcount+Grid+Single:wght@100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
21107
- /* <- [🚚] */
21108
-
21109
- .${instanceClass} .monaco-editor .view-lines {
21110
- background-image: linear-gradient(to bottom, transparent ${scaledLineHeight - 1}px, ${lineColor} ${scaledLineHeight - 1}px);
21111
- background-size: calc(100% + ${scaledContentPaddingLeft}px) ${scaledLineHeight}px;
21112
- background-position-x: -${scaledContentPaddingLeft}px;
21113
- background-position-y: ${scaledLineHeight * BACKGROUND_POSITION_Y_MULTIPLIER}px;
21114
- }
21115
- .${instanceClass} .monaco-editor .overflow-guard::before {
21116
- content: '';
21117
- position: absolute;
21118
- left: ${scaledVerticalLineLeft}px;
21119
- top: 0;
21120
- bottom: 0;
21121
- width: 1px;
21122
- background-color: ${lineColor};
21123
- z-index: 10;
21124
- }
21125
-
21126
- .${instanceClass} .monaco-editor .separator-line {
21127
- background: linear-gradient(
21128
- to bottom,
21129
- transparent ${scaledLineHeight * 0.9 - 2}px,
21130
- ${separatorColor} ${scaledLineHeight * 0.9 - 2}px,
21131
- ${separatorColor} ${scaledLineHeight * 0.9 + 1}px,
21132
- transparent ${scaledLineHeight * 0.9 + 1}px
21133
- );
21134
- }
21135
-
21136
- .${instanceClass} .monaco-editor .transparent-text {
21137
- color: transparent !important;
21138
- }
21139
-
21140
- .${instanceClass} .monaco-editor .code-block-box {
21141
- background-color: ${codeBlockBackground};
21142
- border-left: 1px solid ${codeBlockBorderColor};
21143
- border-right: 1px solid ${codeBlockBorderColor};
21144
- padding-left: ${Math.round(8 * zoomLevel)}px;
21145
- padding-right: ${Math.round(8 * zoomLevel)}px;
21146
- }
21147
-
21148
- .${instanceClass} .monaco-editor .code-block-top {
21149
- border-top: 1px solid ${codeBlockBorderColor};
21150
- border-top-left-radius: ${Math.round(10 * zoomLevel)}px;
21151
- border-top-right-radius: ${Math.round(10 * zoomLevel)}px;
21152
- overflow: hidden;
21153
- }
21154
-
21155
- .${instanceClass} .monaco-editor .code-block-bottom {
21156
- border-bottom: 1px solid ${codeBlockBorderColor};
21157
- border-bottom-left-radius: ${Math.round(10 * zoomLevel)}px;
21158
- border-bottom-right-radius: ${Math.round(10 * zoomLevel)}px;
21159
- overflow: hidden;
21160
- }
21161
- `;
21447
+ style.innerHTML = spaceTrim$1(`
21448
+
21449
+ @import url('https://fonts.googleapis.com/css2?family=Bitcount+Grid+Single:wght@100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
21450
+ /* <- [🚚] */
21451
+
21452
+ .${instanceClass} .monaco-editor .view-lines {
21453
+ background-image: linear-gradient(to bottom, transparent ${scaledLineHeight - 1}px, ${lineColor} ${scaledLineHeight - 1}px);
21454
+ background-size: calc(100% + ${scaledContentPaddingLeft}px) ${scaledLineHeight}px;
21455
+ background-position-x: -${scaledContentPaddingLeft}px;
21456
+ background-position-y: ${scaledLineHeight * BACKGROUND_POSITION_Y_MULTIPLIER}px;
21457
+ }
21458
+ .${instanceClass} .monaco-editor .overflow-guard::before {
21459
+ content: '';
21460
+ position: absolute;
21461
+ left: ${scaledVerticalLineLeft}px;
21462
+ top: 0;
21463
+ bottom: 0;
21464
+ width: 1px;
21465
+ background-color: ${lineColor};
21466
+ z-index: 10;
21467
+ }
21468
+
21469
+ .${instanceClass} .monaco-editor .separator-line {
21470
+ background: linear-gradient(
21471
+ to bottom,
21472
+ transparent ${scaledLineHeight * 0.9 - 2}px,
21473
+ ${separatorColor} ${scaledLineHeight * 0.9 - 2}px,
21474
+ ${separatorColor} ${scaledLineHeight * 0.9 + 1}px,
21475
+ transparent ${scaledLineHeight * 0.9 + 1}px
21476
+ );
21477
+ }
21478
+
21479
+ .${instanceClass} .monaco-editor .transparent-text {
21480
+ color: transparent !important;
21481
+ }
21482
+
21483
+ .${instanceClass} .monaco-editor .code-block-box {
21484
+ background-color: ${codeBlockBackground};
21485
+ border-left: 1px solid ${codeBlockBorderColor};
21486
+ border-right: 1px solid ${codeBlockBorderColor};
21487
+ padding-left: ${Math.round(8 * zoomLevel)}px;
21488
+ padding-right: ${Math.round(8 * zoomLevel)}px;
21489
+ }
21490
+
21491
+ .${instanceClass} .monaco-editor .code-block-top {
21492
+ border-top: 1px solid ${codeBlockBorderColor};
21493
+ border-top-left-radius: ${Math.round(10 * zoomLevel)}px;
21494
+ border-top-right-radius: ${Math.round(10 * zoomLevel)}px;
21495
+ overflow: hidden;
21496
+ }
21497
+
21498
+ .${instanceClass} .monaco-editor .code-block-bottom {
21499
+ border-bottom: 1px solid ${codeBlockBorderColor};
21500
+ border-bottom-left-radius: ${Math.round(10 * zoomLevel)}px;
21501
+ border-bottom-right-radius: ${Math.round(10 * zoomLevel)}px;
21502
+ overflow: hidden;
21503
+ }
21504
+ `);
21162
21505
  return () => {
21163
21506
  if (process.env.NODE_ENV === 'production') {
21164
21507
  style === null || style === void 0 ? void 0 : style.remove();
@@ -22067,7 +22410,12 @@ function BookEditorMonaco(props) {
22067
22410
  editor,
22068
22411
  handleFiles,
22069
22412
  });
22070
- const combinedDiagnostics = [...(diagnostics || []), ...createDeprecatedCommitmentDiagnostics()];
22413
+ const combinedDiagnostics = [
22414
+ ...(diagnostics || []),
22415
+ ...createDeprecatedCommitmentDiagnostics(value),
22416
+ ...createUnknownCommitmentDiagnostics(value),
22417
+ ...createDuplicateFromCommitmentDiagnostics(value),
22418
+ ];
22071
22419
  const isActionBarVisible = isBookEditorMonacoActionbarVisible({
22072
22420
  hoistedMenuItems,
22073
22421
  isUploadButtonShown,
@@ -22984,8 +23332,8 @@ function useChatRatings(options) {
22984
23332
  };
22985
23333
  }
22986
23334
 
22987
- var css_248z$7 = "@font-face{font-display:swap;font-family:OpenMojiBlack;src:url(/fonts/OpenMoji-black-glyf.woff2) format(\"woff2\"),url(https://s6.ptbk.io/fonts/OpenMoji-black-glyf.woff2) format(\"woff2\");unicode-range:u+23,u+2a,u+2d,u+30-39,u+a9,u+ae,u+200d,u+203c,u+2049,u+20e3,u+2117,u+2120,u+2122,u+2139,u+2194-2199,u+21a9,u+21aa,u+229c,u+231a,u+231b,u+2328,u+23cf,u+23e9-23f3,u+23f8-23fe,u+24c2,u+25a1,u+25aa-25ae,u+25b6,u+25c0,u+25c9,u+25d0,u+25d1,u+25e7-25ea,u+25ed,u+25ee,u+25fb-25fe,u+2600-2605,u+260e,u+2611,u+2614,u+2615,u+2618,u+261d,u+2620,u+2622,u+2623,u+2626,u+262a,u+262e,u+262f,u+2638-263a,u+2640,u+2642,u+2648-2653,u+265f,u+2660,u+2663,u+2665,u+2666,u+2668,u+267b,u+267e,u+267f,u+2691-2697,u+2699,u+269b,u+269c,u+26a0,u+26a1,u+26a7,u+26aa,u+26ab,u+26b0,u+26b1,u+26bd,u+26be,u+26c4,u+26c5,u+26c8,u+26ce,u+26cf,u+26d1,u+26d3,u+26d4,u+26e9,u+26ea,u+26f0-26f5,u+26f7-26fa,u+26fd,u+2702,u+2705,u+2708-270d,u+270f,u+2712,u+2714,u+2716,u+271d,u+2721,u+2728,u+2733,u+2734,u+2744,u+2747,u+274c,u+274e,u+2753-2755,u+2757,u+2763,u+2764,u+2795-2797,u+27a1,u+27b0,u+27bf,u+2934,u+2935,u+2b05-2b07,u+2b0c,u+2b0d,u+2b1b,u+2b1c,u+2b1f-2b24,u+2b2e,u+2b2f,u+2b50,u+2b55,u+2b58,u+2b8f,u+2bba-2bbc,u+2bc3,u+2bc4,u+2bea,u+2beb,u+3030,u+303d,u+3297,u+3299,u+e000-e009,u+e010,u+e011,u+e040-e06d,u+e080-e0b4,u+e0c0-e0cc,u+e0ff-e10d,u+e140-e14a,u+e150-e157,u+e181-e189,u+e1c0-e1c4,u+e1c6-e1d9,u+e200-e216,u+e240-e269,u+e280-e283,u+e2c0-e2c4,u+e2c6-e2da,u+e300-e303,u+e305-e30f,u+e312-e316,u+e318-e322,u+e324-e329,u+e32b,u+e340-e348,u+e380,u+e381,u+f000,u+f77a,u+f8ff,u+fe0f,u+1f004,u+1f0cf,u+1f10d-1f10f,u+1f12f,u+1f16d-1f171,u+1f17e,u+1f17f,u+1f18e,u+1f191-1f19a,u+1f1e6-1f1ff,u+1f201,u+1f202,u+1f21a,u+1f22f,u+1f232-1f23a,u+1f250,u+1f251,u+1f260-1f265,u+1f300-1f321,u+1f324-1f393,u+1f396,u+1f397,u+1f399-1f39b,u+1f39e-1f3f0,u+1f3f3-1f3f5,u+1f3f7-1f4fd,u+1f4ff-1f53d,u+1f549-1f54e,u+1f550-1f567,u+1f56f,u+1f570,u+1f573-1f57a,u+1f587,u+1f58a-1f58d,u+1f590,u+1f595,u+1f596,u+1f5a4,u+1f5a5,u+1f5a8,u+1f5b1,u+1f5b2,u+1f5bc,u+1f5c2-1f5c4,u+1f5d1-1f5d3,u+1f5dc-1f5de,u+1f5e1,u+1f5e3,u+1f5e8,u+1f5ef,u+1f5f3,u+1f5fa-1f64f,u+1f680-1f6c5,u+1f6cb-1f6d2,u+1f6d5-1f6d7,u+1f6dc-1f6e5,u+1f6e9,u+1f6eb,u+1f6ec,u+1f6f0,u+1f6f3-1f6fc,u+1f7e0-1f7eb,u+1f7f0,u+1f90c-1f93a,u+1f93c-1f945,u+1f947-1f9ff,u+1fa70-1fa7c,u+1fa80-1fa88,u+1fa90-1fabd,u+1fabf-1fac5,u+1face-1fadb,u+1fae0-1fae8,u+1faf0-1faf8,u+1fbc5-1fbc9,u+e0061-e0067,u+e0069,u+e006c-e0079,u+e007f}@font-face{font-display:swap;font-family:OpenMojiColor;src:url(/fonts/OpenMoji-color-cbdt.woff2) format(\"woff2\"),url(https://s6.ptbk.io/fonts/OpenMoji-color-cbdt.woff2) format(\"woff2\");unicode-range:u+23,u+2a,u+2d,u+30-39,u+a9,u+ae,u+200d,u+203c,u+2049,u+20e3,u+2117,u+2120,u+2122,u+2139,u+2194-2199,u+21a9,u+21aa,u+229c,u+231a,u+231b,u+2328,u+23cf,u+23e9-23f3,u+23f8-23fe,u+24c2,u+25a1,u+25aa-25ae,u+25b6,u+25c0,u+25c9,u+25d0,u+25d1,u+25e7-25ea,u+25ed,u+25ee,u+25fb-25fe,u+2600-2605,u+260e,u+2611,u+2614,u+2615,u+2618,u+261d,u+2620,u+2622,u+2623,u+2626,u+262a,u+262e,u+262f,u+2638-263a,u+2640,u+2642,u+2648-2653,u+265f,u+2660,u+2663,u+2665,u+2666,u+2668,u+267b,u+267e,u+267f,u+2691-2697,u+2699,u+269b,u+269c,u+26a0,u+26a1,u+26a7,u+26aa,u+26ab,u+26b0,u+26b1,u+26bd,u+26be,u+26c4,u+26c5,u+26c8,u+26ce,u+26cf,u+26d1,u+26d3,u+26d4,u+26e9,u+26ea,u+26f0-26f5,u+26f7-26fa,u+26fd,u+2702,u+2705,u+2708-270d,u+270f,u+2712,u+2714,u+2716,u+271d,u+2721,u+2728,u+2733,u+2734,u+2744,u+2747,u+274c,u+274e,u+2753-2755,u+2757,u+2763,u+2764,u+2795-2797,u+27a1,u+27b0,u+27bf,u+2934,u+2935,u+2b05-2b07,u+2b0c,u+2b0d,u+2b1b,u+2b1c,u+2b1f-2b24,u+2b2e,u+2b2f,u+2b50,u+2b55,u+2b58,u+2b8f,u+2bba-2bbc,u+2bc3,u+2bc4,u+2bea,u+2beb,u+3030,u+303d,u+3297,u+3299,u+e000-e009,u+e010,u+e011,u+e040-e06d,u+e080-e0b4,u+e0c0-e0cc,u+e0ff-e10d,u+e140-e14a,u+e150-e157,u+e181-e189,u+e1c0-e1c4,u+e1c6-e1d9,u+e200-e216,u+e240-e269,u+e280-e283,u+e2c0-e2c4,u+e2c6-e2da,u+e300-e303,u+e305-e30f,u+e312-e316,u+e318-e322,u+e324-e329,u+e32b,u+e340-e348,u+e380,u+e381,u+f000,u+f77a,u+f8ff,u+fe0f,u+1f004,u+1f0cf,u+1f10d-1f10f,u+1f12f,u+1f16d-1f171,u+1f17e,u+1f17f,u+1f18e,u+1f191-1f19a,u+1f1e6-1f1ff,u+1f201,u+1f202,u+1f21a,u+1f22f,u+1f232-1f23a,u+1f250,u+1f251,u+1f260-1f265,u+1f300-1f321,u+1f324-1f393,u+1f396,u+1f397,u+1f399-1f39b,u+1f39e-1f3f0,u+1f3f3-1f3f5,u+1f3f7-1f4fd,u+1f4ff-1f53d,u+1f549-1f54e,u+1f550-1f567,u+1f56f,u+1f570,u+1f573-1f57a,u+1f587,u+1f58a-1f58d,u+1f590,u+1f595,u+1f596,u+1f5a4,u+1f5a5,u+1f5a8,u+1f5b1,u+1f5b2,u+1f5bc,u+1f5c2-1f5c4,u+1f5d1-1f5d3,u+1f5dc-1f5de,u+1f5e1,u+1f5e3,u+1f5e8,u+1f5ef,u+1f5f3,u+1f5fa-1f64f,u+1f680-1f6c5,u+1f6cb-1f6d2,u+1f6d5-1f6d7,u+1f6dc-1f6e5,u+1f6e9,u+1f6eb,u+1f6ec,u+1f6f0,u+1f6f3-1f6fc,u+1f7e0-1f7eb,u+1f7f0,u+1f90c-1f93a,u+1f93c-1f945,u+1f947-1f9ff,u+1fa70-1fa7c,u+1fa80-1fa88,u+1fa90-1fabd,u+1fabf-1fac5,u+1face-1fadb,u+1fae0-1fae8,u+1faf0-1faf8,u+1fbc5-1fbc9,u+e0061-e0067,u+e0069,u+e006c-e0079,u+e007f}.Chat-module_copiedToClipboardMessage__apCPY{background:#222;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.18);color:#fff;font-size:1.1em;left:50%;opacity:.97;padding:10px 24px;pointer-events:none;position:fixed;top:32px;transform:translateX(-50%);z-index:9999}.Chat-module_Chat__j2eE5{--chat-message-min-width:170px;--chat-message-avatar-gap:14px;--chat-message-avatar-size:42px;--chat-message-max-width:min(72%,680px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-bubble-radius:24px;--chat-bubble-shadow:0 12px 34px rgba(15,23,42,.16);--chat-bubble-shadow-hover:0 18px 42px rgba(15,23,42,.2);--chat-bubble-border-color:hsla(0,0%,100%,.34);--chat-bubble-font-size:15px;--chat-bubble-line-height:1.62;--chat-input-visible-lines:3;--chat-input-font-size:15px;--chat-input-line-height:1.5;--chat-input-padding-y:10px;--chat-input-padding-x:12px;--chat-input-action-size:40px;--chat-input-textarea-height:calc(var(--chat-input-visible-lines)*var(--chat-input-font-size)*var(--chat-input-line-height) + var(--chat-input-padding-y)*2);--chat-message-meta-color:rgba(71,85,105,.85);--chat-message-lifecycle-badge-background:rgba(148,163,184,.16);--chat-message-lifecycle-badge-color:#475569;--chat-participant-label-color:rgba(71,85,105,.82);--chat-message-control-background:hsla(0,0%,100%,.28);--chat-message-control-border-color:hsla(0,0%,100%,.46);--chat-message-control-hover-background:hsla(0,0%,100%,.36);--chat-message-control-hover-border-color:hsla(0,0%,100%,.76);--chat-message-control-color:#111;--chat-message-control-shadow:0 2px 8px rgba(15,23,42,.16);--chat-message-control-hover-shadow:0 5px 14px rgba(15,23,42,.22);--chat-message-control-spinner-border-color:rgba(0,0,0,.3);--chat-message-control-spinner-accent-color:#111;--chat-article-control-background:#f8fafc;--chat-article-control-border-color:rgba(148,163,184,.65);--chat-article-control-hover-background:#fff;--chat-article-control-hover-border-color:rgba(100,116,139,.82);--chat-article-control-hover-shadow:0 2px 8px rgba(15,23,42,.12);--chat-article-rating-background:rgba(248,250,252,.9);--chat-article-rating-border-color:rgba(148,163,184,.5);--chat-article-rating-hover-background:rgba(241,245,249,.94);--chat-article-rating-hover-border-color:rgba(100,116,139,.62);--chat-article-rating-shadow:none;--chat-input-border-color:rgba(148,163,184,.14);--chat-input-backdrop:linear-gradient(180deg,rgba(248,250,252,0),rgba(248,250,252,.9) 44%,rgba(248,250,252,.96));--chat-full-page-input-backdrop:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.86) 60%,hsla(0,0%,100%,.95));--chat-input-drag-over-backdrop:linear-gradient(180deg,rgba(56,189,248,.04),rgba(14,165,233,.13));--chat-input-container-background:linear-gradient(150deg,hsla(0,0%,100%,.98),rgba(248,250,252,.94));--chat-input-container-border-color:rgba(148,163,184,.3);--chat-input-container-shadow:0 14px 34px rgba(15,23,42,.12),inset 0 1px 0 hsla(0,0%,100%,.9);--chat-input-text-color:#0f172a;--chat-input-placeholder-color:#8b9bb1;--chat-input-action-color:#64748b;--chat-input-action-hover-background:#f1f5f9;--chat-input-action-hover-color:#0f172a;--chat-file-preview-background:hsla(0,0%,49%,.1);--chat-file-preview-border-color:hsla(0,0%,49%,.2);--chat-file-preview-hover-background:hsla(0,0%,49%,.15);--chat-file-preview-hover-border-color:hsla(0,0%,49%,.3);--chat-file-name-color:#000;--chat-file-size-color:#6b7280;--chat-dictation-panel-background:hsla(0,0%,100%,.9);--chat-dictation-panel-border-color:rgba(148,163,184,.35);--chat-dictation-panel-color:#0f172a;--chat-dictation-title-color:#475569;--chat-dictation-toggle-background:#f8fafc;--chat-dictation-toggle-color:#334155;--chat-dictation-transcript-background:rgba(239,246,255,.9);--chat-dictation-transcript-color:#0c4a6e;--chat-dictation-settings-color:#334155;--chat-dictation-fallback-color:#475569;--chat-reply-composer-background:hsla(0,0%,100%,.92);--chat-reply-composer-border-color:rgba(148,163,184,.3);--chat-reply-composer-shadow:0 10px 24px rgba(15,23,42,.08);--chat-reply-dismiss-background:rgba(148,163,184,.14);--chat-reply-dismiss-hover-background:rgba(148,163,184,.24);--chat-reply-dismiss-color:#475569;--chat-reply-dismiss-hover-color:#0f172a;--chat-speech-status-background:hsla(0,0%,100%,.95);--chat-speech-status-border-color:rgba(15,23,42,.15);--chat-speech-status-color:#0f172a;--chat-speech-status-shadow:0 12px 28px rgba(15,23,42,.18);--chat-speech-status-dot-background:#64748b;--chat-dictation-action-background:#f8fafc;--chat-dictation-action-border-color:rgba(148,163,184,.35);--chat-dictation-action-color:#0f172a;--chat-dictation-correction-label-color:#334155;--chat-dictation-correction-textarea-background:#fff;--chat-dictation-correction-textarea-color:#0f172a;--chat-dictation-correction-textarea-border-color:rgba(148,163,184,.35);display:flex;flex-direction:column;font-family:var(\n --chat-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,\"Segoe UI\",sans-serif)\n ),\"OpenMojiColor\",\"OpenMojiBlack\";height:100%;min-height:0;overflow:hidden;width:100%}.Chat-module_Chat__j2eE5[data-chat-theme=dark]{--chat-bubble-shadow:0 14px 34px rgba(2,6,23,.38);--chat-bubble-shadow-hover:0 18px 42px rgba(2,6,23,.48);--chat-bubble-border-color:rgba(148,163,184,.2);--chat-message-meta-color:rgba(148,163,184,.84);--chat-message-lifecycle-badge-background:rgba(148,163,184,.14);--chat-message-lifecycle-badge-color:#cbd5e1;--chat-participant-label-color:rgba(203,213,225,.76);--chat-message-control-background:rgba(15,23,42,.78);--chat-message-control-border-color:rgba(148,163,184,.4);--chat-message-control-hover-background:rgba(30,41,59,.96);--chat-message-control-hover-border-color:rgba(148,163,184,.72);--chat-message-control-color:#e2e8f0;--chat-message-control-shadow:0 10px 24px rgba(2,6,23,.34);--chat-message-control-hover-shadow:0 12px 28px rgba(2,6,23,.42);--chat-message-control-spinner-border-color:rgba(226,232,240,.3);--chat-message-control-spinner-accent-color:#e2e8f0;--chat-article-control-background:rgba(15,23,42,.86);--chat-article-control-border-color:rgba(71,85,105,.95);--chat-article-control-hover-background:rgba(30,41,59,.98);--chat-article-control-hover-border-color:rgba(148,163,184,.72);--chat-article-control-hover-shadow:0 12px 26px rgba(2,6,23,.32);--chat-article-rating-background:rgba(15,23,42,.86);--chat-article-rating-border-color:rgba(71,85,105,.95);--chat-article-rating-hover-background:rgba(30,41,59,.98);--chat-article-rating-hover-border-color:rgba(148,163,184,.72);--chat-article-rating-shadow:0 12px 26px rgba(2,6,23,.32);--chat-input-border-color:rgba(51,65,85,.78);--chat-input-backdrop:linear-gradient(180deg,rgba(2,6,23,0),rgba(2,6,23,.82) 48%,rgba(2,6,23,.96));--chat-full-page-input-backdrop:linear-gradient(180deg,rgba(2,6,23,0),rgba(2,6,23,.88) 58%,rgba(2,6,23,.98));--chat-input-drag-over-backdrop:linear-gradient(180deg,rgba(14,165,233,.08),rgba(8,47,73,.5));--chat-input-container-background:linear-gradient(150deg,rgba(15,23,42,.96),rgba(15,23,42,.9));--chat-input-container-border-color:rgba(71,85,105,.88);--chat-input-container-shadow:0 20px 44px rgba(2,6,23,.42),inset 0 1px 0 rgba(148,163,184,.1);--chat-input-text-color:#e2e8f0;--chat-input-placeholder-color:#94a3b8;--chat-input-action-color:#cbd5e1;--chat-input-action-hover-background:rgba(51,65,85,.78);--chat-input-action-hover-color:#f8fafc;--chat-file-preview-background:rgba(15,23,42,.78);--chat-file-preview-border-color:rgba(71,85,105,.72);--chat-file-preview-hover-background:rgba(30,41,59,.86);--chat-file-preview-hover-border-color:rgba(148,163,184,.42);--chat-file-name-color:#e2e8f0;--chat-file-size-color:#94a3b8;--chat-dictation-panel-background:rgba(15,23,42,.94);--chat-dictation-panel-border-color:rgba(71,85,105,.8);--chat-dictation-panel-color:#e2e8f0;--chat-dictation-title-color:#cbd5e1;--chat-dictation-toggle-background:rgba(30,41,59,.92);--chat-dictation-toggle-color:#e2e8f0;--chat-dictation-transcript-background:rgba(8,47,73,.64);--chat-dictation-transcript-color:#bae6fd;--chat-dictation-settings-color:#cbd5e1;--chat-dictation-fallback-color:#94a3b8;--chat-reply-composer-background:rgba(15,23,42,.94);--chat-reply-composer-border-color:rgba(71,85,105,.8);--chat-reply-composer-shadow:0 14px 28px rgba(2,6,23,.32);--chat-reply-dismiss-background:rgba(51,65,85,.76);--chat-reply-dismiss-hover-background:rgba(71,85,105,.9);--chat-reply-dismiss-color:#cbd5e1;--chat-reply-dismiss-hover-color:#f8fafc;--chat-speech-status-background:rgba(15,23,42,.96);--chat-speech-status-border-color:rgba(71,85,105,.8);--chat-speech-status-color:#e2e8f0;--chat-speech-status-shadow:0 16px 34px rgba(2,6,23,.42);--chat-speech-status-dot-background:#94a3b8;--chat-dictation-action-background:rgba(30,41,59,.92);--chat-dictation-action-border-color:rgba(71,85,105,.78);--chat-dictation-action-color:#e2e8f0;--chat-dictation-correction-label-color:#cbd5e1;--chat-dictation-correction-textarea-background:rgba(8,15,28,.98);--chat-dictation-correction-textarea-color:#e2e8f0;--chat-dictation-correction-textarea-border-color:rgba(71,85,105,.78);color:#e2e8f0}.Chat-module_constrainedArticleVisual__0axxM{--chat-article-layout-max-width:54rem;--chat-article-layout-padding-inline:clamp(16px,4vw,40px)}.Chat-module_chatMainFlow__--8FE{display:grid;grid-template:\"🟦\" min-content \"💬\" 1fr \"📝\" min-content/1fr;height:100%;max-width:100%;min-height:0;min-width:0;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatBar__fLECN{background-color:#fff;border-bottom:1px solid rgba(15,23,36,.06);color:#0f1724;font-weight:500;grid-area:🟦;padding:16px 20px;text-align:center;width:100%}.Chat-module_TasksInProgress__fQfei{align-self:center;grid-area:🟦;height:min-content;justify-self:self-end;margin:8px 16px;width:auto}.Chat-module_actions__gTZ5T{align-items:center;align-self:self-start;display:flex;gap:8px;grid-area:💬;height:min-content;justify-self:self-end;margin:16px 20px 0;transition:opacity .2s ease;width:auto;will-change:opacity;z-index:40}.Chat-module_actions__gTZ5T.Chat-module_portal__uTOT8{margin:0}.Chat-module_actions__gTZ5T.Chat-module_left__7l5Mn{justify-self:self-start}.Chat-module_actions__gTZ5T.Chat-module_right__ABZrW{justify-self:self-end}.Chat-module_actionsFaded__qqAVQ{opacity:.3}.Chat-module_actionsScrolling__fIawW{opacity:.15;pointer-events:none}@media (max-width:900px){.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}}@media (max-width:600px){.Chat-module_actions__gTZ5T{gap:7px;margin:14px 18px 0}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatChildren__flOPK{grid-area:💬;height:100%;min-height:0;min-width:0;pointer-events:none;width:100%;z-index:300}.Chat-module_chatMainFlow__--8FE .Chat-module_chatChildren__flOPK>*{pointer-events:auto}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{grid-area:💬;height:100%;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:28px 24px 18px;scroll-behavior:smooth;width:100%;z-index:10}.Chat-module_articleModeChatMessages__ufofT{padding-left:var(--chat-article-layout-padding-inline);padding-right:var(--chat-article-layout-padding-inline)}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ{margin-left:auto;margin-right:auto;max-width:100%;width:min(var(--chat-article-layout-max-width),100%)}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{justify-content:flex-start}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{margin:0;max-width:100%;width:100%}.Chat-module_hasActionsAndFirstMessageIsLong__5jgoZ{padding-top:80px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar{width:7px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-track{background:transparent}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:999px;transition:all .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.55)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);column-gap:var(--chat-message-avatar-gap);display:flex;flex-direction:row;margin-bottom:24px;max-width:100%;min-width:0;position:relative}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageStack__n0xNL{align-items:flex-start;display:flex;flex-direction:column;max-width:var(--chat-message-max-width);min-width:0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageStack__n0xNL{align-items:flex-end}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageStack__n0xNL>*{max-width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{align-items:stretch;column-gap:0;justify-content:center;margin-bottom:28px;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{align-items:stretch;margin:0 auto;max-width:min(100%,860px);width:min(100%,860px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm.Chat-module_articleModeAgentAvatar__UCKDX{display:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0{align-items:stretch}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0 .Chat-module_messageStack__n0xNL{align-items:stretch;max-width:min(90vw,920px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));width:min(90vw,920px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)))}@media (max-width:900px){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0 .Chat-module_messageStack__n0xNL{max-width:min(92vw,640px);width:min(92vw,640px)}}.Chat-module_messageMeta__eqCRu{align-items:center;color:var(--chat-message-meta-color);display:flex;flex-wrap:wrap;font-size:11.5px;gap:8px;line-height:1.4;margin:6px 8px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageMeta__eqCRu{align-self:flex-end;text-align:right}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageMeta__eqCRu{margin-left:0;margin-right:0}.Chat-module_messageLifecycleBadge__4jDDc{align-items:center;background:var(--chat-message-lifecycle-badge-background);border-radius:999px;color:var(--chat-message-lifecycle-badge-color);display:inline-flex;font-weight:600;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase}.Chat-module_messageTimestamp__LDhRw{letter-spacing:.02em}.Chat-module_messageDuration__Y9Kg9{opacity:.85}.Chat-module_messageReplyButton__S5hXM{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:5px;opacity:.88;padding:0;transition:opacity .18s ease,color .18s ease,transform .18s ease}.Chat-module_messageReplyButton__S5hXM:focus,.Chat-module_messageReplyButton__S5hXM:hover{color:#0f172a;opacity:1;transform:translateY(-.5px)}.Chat-module_messageReplyButtonIcon__2Nk3i{height:13px;width:13px}.Chat-module_messageLifecycleError__m-FO-{color:#b91c1c;font-size:12px;line-height:1.45;margin:4px 6px 0}.Chat-module_participantLabel__0Oo-3{color:var(--chat-participant-label-color);font-size:11.5px;font-weight:600;letter-spacing:.07em;margin:0 0 7px;text-transform:uppercase}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_participantLabel__0Oo-3{text-align:right}@keyframes Chat-module_messageSlideIn__soTy2{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_isNotCompleteMessage__Hj2K7{opacity:.7;position:relative}.Chat-module_NonCompleteMessageFiller__G5-Ve{color:transparent}.Chat-module_isNotCompleteMessage__Hj2K7 .Chat-module_messageText__XgNyQ:after{animation:Chat-module_loadingPulse__VomRm 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent);border-radius:2px;bottom:8px;content:\"\";height:4px;position:absolute;right:12px;width:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7.Chat-module_isNotCompleteMessage__Hj2K7 .Chat-module_messageText__XgNyQ:after{display:none}.Chat-module_citationFootnotes__LAWdh,.Chat-module_sourceCitations__oDtBX,.Chat-module_toolCallChips__UWgC1{border-top:1px solid hsla(0,0%,49%,.28);border-top:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px}.Chat-module_citationFootnotes__LAWdh{align-items:flex-start;flex-direction:column}.Chat-module_citationFootnoteItem__JXTAX{align-items:center;display:inline-flex;gap:8px;min-height:32px}.Chat-module_citationFootnoteNumber__CMmm9{color:color-mix(in srgb,var(--message-text-color,#0f172a) 78%,transparent);font-size:.84rem;font-weight:700;line-height:1;min-width:1.25rem}.Chat-module_toolCallChip__koN18{align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.26);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.78) 26%);border:1px solid hsla(0,0%,49%,.3);border:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 20%,transparent);border-radius:999px;box-shadow:0 2px 8px rgba(15,23,42,.12);color:inherit;cursor:pointer;display:flex;font-family:OpenMojiColor,OpenMojiBlack,Arial,Helvetica,sans-serif;font-size:.8rem;font-weight:600;gap:8px;padding:5px 11px;transition:all .2s ease}.Chat-module_toolCallChip__koN18:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.86) 36%);box-shadow:0 4px 12px rgba(15,23,42,.14);transform:translateY(-1px)}.Chat-module_toolCallChipOngoing__wKcDY{background:rgba(14,165,233,.1);border-color:rgba(59,130,246,.8)}.Chat-module_toolCallChipStatus__I-nl9{align-items:center;display:inline-flex;margin-left:auto}.Chat-module_teamToolCall__5F45R,.Chat-module_transitiveToolCall__WcaaK{gap:8px;justify-content:flex-start}.Chat-module_teamAgentChip__mvgtY,.Chat-module_transitiveAgentChip__zNOJf{flex-shrink:0}.Chat-module_toolCallLabel__q7EFf{flex:1;font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_toolCallWithError__AtQqO{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.8)}.Chat-module_toolCallOrigin__-Io6Y{font-size:.85em;font-weight:500;opacity:.75;white-space:nowrap}.Chat-module_toolCallDetails__WUFlD{margin-bottom:24px}.Chat-module_toolCallDetails__WUFlD p{margin-bottom:8px}.Chat-module_toolCallData__UauCO{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;max-height:300px;overflow-x:auto;padding:12px;word-break:break-all}.Chat-module_toolCallChipSpinner__ZGTwl{animation:Chat-module_toolCallSpinner__LSiK6 .8s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes Chat-module_toolCallSpinner__LSiK6{to{transform:rotate(1turn)}}@keyframes Chat-module_loadingPulse__VomRm{0%,to{opacity:.3;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1.2)}}.Chat-module_typingIndicator__S-CT-{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);display:flex;margin-bottom:20px}.Chat-module_typingIndicator__S-CT- .Chat-module_avatar__gL6bm{flex-shrink:0;height:40px;margin:0 12px 4px;width:40px}.Chat-module_typingBubble__0Lb7B{backdrop-filter:blur(10px);border:1px solid hsla(0,0%,49%,.1);border-radius:20px;border-bottom-left-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);min-height:24px;padding:16px 20px}.Chat-module_typingBubble__0Lb7B,.Chat-module_typingDots__srOBB{align-items:center;display:flex;gap:4px}.Chat-module_typingDot__dnhKT{animation:Chat-module_typingBounce__1yp2v 1.4s ease-in-out infinite;background:linear-gradient(135deg,#6b7280,hsla(0,0%,49%,.6));border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);height:8px;width:8px}.Chat-module_typingDot__dnhKT:first-child{animation-delay:-.32s}.Chat-module_typingDot__dnhKT:nth-child(2){animation-delay:-.16s}.Chat-module_typingDot__dnhKT:nth-child(3){animation-delay:0s}@keyframes Chat-module_typingBounce__1yp2v{0%,80%,to{opacity:.5;transform:scale(.8) translateY(0)}40%{opacity:1;transform:scale(1.2) translateY(-8px)}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV{align-items:flex-end;flex-direction:row-reverse;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{border-bottom-right-radius:10px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:not(.Chat-module_isMe__nBtaV) .Chat-module_messageText__XgNyQ{border-bottom-left-radius:10px}.Chat-module_ratingStar__rRfqC{color:var(--chat-feedback-star-color,var(--star-inactive-color,#ccc));cursor:pointer;font-size:20px;transition:color .2s}.Chat-module_feedbackStar__tC7XH{align-items:center;color:var(--chat-feedback-star-color,#ccc);display:inline-flex;justify-content:center;line-height:1}.Chat-module_feedbackStarIcon__BuPen{color:var(--chat-feedback-star-color,currentColor)!important;display:block}.Chat-module_feedbackStarIcon__BuPen,.Chat-module_feedbackStarIcon__BuPen *{fill:var(--chat-feedback-star-fill,none)!important;stroke:var(--chat-feedback-star-color,currentColor)!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{aspect-ratio:1/1;flex-shrink:0;height:var(--chat-message-avatar-size);margin:0 0 4px;position:relative;width:var(--chat-message-avatar-size)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{--chat-md-heading-font-family:var(\n --font-barlow-condensed,\"Barlow Condensed\",var(--font-poppins,\"Poppins\",system-ui,-apple-system,\"Segoe UI\",sans-serif)\n );--chat-md-body-font-family:inherit;--chat-md-text-color:var(--message-text-color,#0f172a);--chat-md-link-color:#2563eb;--chat-md-muted-color:var(--message-text-color,#0f172a);--chat-md-inline-code-bg:rgba(15,23,42,.16);--chat-md-inline-code-border:rgba(15,23,42,.2);--chat-md-inline-code-color:var(--message-text-color,#0f172a);--chat-md-blockquote-bg:hsla(0,0%,100%,.2);--chat-md-blockquote-border:rgba(56,189,248,.52);--chat-md-table-bg:hsla(0,0%,100%,.22);--chat-md-table-row-alt-bg:hsla(0,0%,100%,.12);--chat-md-table-head-bg:hsla(0,0%,100%,.3);--chat-md-table-border:hsla(0,0%,100%,.36);--chat-md-citation-bg:hsla(0,0%,100%,.25);--chat-md-citation-color:var(--message-text-color,#0f172a);backdrop-filter:blur(14px);background-color:var(--message-bg-color);border:1px solid var(--chat-bubble-border-color);border-radius:var(--chat-bubble-radius);box-shadow:var(--chat-bubble-shadow),inset 0 1px 0 hsla(0,0%,100%,.16);color:var(--message-text-color);font-family:inherit;font-size:var(--chat-bubble-font-size);hyphens:auto;letter-spacing:.0025em;line-height:var(--chat-bubble-line-height);margin-bottom:6px;max-width:100%;min-width:min(var(--chat-message-min-width),100%);overflow-wrap:anywhere;padding:16px 20px;position:relative;text-align:left;transform:translateX(var(--chat-message-swipe-offset,0));transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP{--chat-md-link-color:#1d4ed8;--chat-md-inline-code-bg:rgba(15,23,42,.08);--chat-md-inline-code-border:rgba(15,23,42,.16);--chat-md-blockquote-bg:rgba(148,163,184,.12);--chat-md-table-bg:rgba(248,250,252,.9);--chat-md-table-row-alt-bg:rgba(226,232,240,.45);--chat-md-table-head-bg:rgba(241,245,249,.92);--chat-md-table-border:rgba(148,163,184,.45);--chat-md-citation-bg:rgba(191,219,254,.24);backdrop-filter:none;background:transparent!important;border:0;border-radius:0;box-shadow:none;font-size:15.5px;line-height:1.75;margin-bottom:8px;min-width:0;padding:2px 0}.Chat-module_replyEnabledMessageText__-SV9f{touch-action:pan-y}.Chat-module_replySwipeActive__dhAqt{box-shadow:var(--chat-bubble-shadow-hover),0 0 0 1px rgba(56,189,248,.22),inset 0 1px 0 hsla(0,0%,100%,.16)}.Chat-module_replySwipeIndicator__u92JU{color:rgba(15,23,42,.45);left:-24px;opacity:.22;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .18s ease,transform .18s ease}.Chat-module_replySwipeIndicatorRight__3CoAW{left:auto;right:-24px}.Chat-module_replySwipeIndicatorActive__m9gwU{opacity:.9;transform:translateY(-50%) scale(1.05)}.Chat-module_replySwipeIndicatorIcon__0K1SX{height:16px;width:16px}.Chat-module_replyPreview__Lt-Bg{align-items:flex-start;background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.26);border-radius:14px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);display:flex;gap:10px;margin-bottom:12px;min-width:0;padding:10px 12px}.Chat-module_replyBubblePreview__DNe3r{opacity:.9}.Chat-module_replyComposerPreview__80Wdf{background:var(--chat-reply-composer-background);border-color:var(--chat-reply-composer-border-color);box-shadow:var(--chat-reply-composer-shadow);margin-bottom:2px}.Chat-module_replyPreviewAccent__Uo3pe{align-self:stretch;background:#0ea5e9;background:color-mix(in srgb,var(--brand-color,#0ea5e9) 84%,#fff 16%);border-radius:999px;flex-shrink:0;width:4px}.Chat-module_replyPreviewBody__reKG-{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.Chat-module_replyPreviewHeading__IeegE{font-size:11px;line-height:1.3;opacity:.82}.Chat-module_replyPreviewLabel__J-BrF{font-weight:600}.Chat-module_replyPreviewSender__z6SYu{font-weight:700}.Chat-module_replyPreviewText__cY-Hc{font-size:12.5px;line-height:1.35;min-width:0;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_replyPreviewDismissButton__-L9MF{align-items:center;background:var(--chat-reply-dismiss-background);border:none;border-radius:999px;color:var(--chat-reply-dismiss-color);cursor:pointer;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;transition:background .18s ease,color .18s ease,transform .18s ease;width:28px}.Chat-module_replyPreviewDismissButton__-L9MF:focus,.Chat-module_replyPreviewDismissButton__-L9MF:hover{background:var(--chat-reply-dismiss-hover-background);color:var(--chat-reply-dismiss-hover-color);transform:scale(1.02)}@supports (color:color-mix(in srgb,#000 50%,#fff 50%)){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{--chat-bubble-border-color:color-mix(in srgb,var(--message-bg-color,#fff) 72%,hsla(0,0%,100%,.46) 28%);--chat-md-link-color:color-mix(in srgb,var(--message-text-color,#0f172a) 72%,#7dd3fc 28%);--chat-md-muted-color:color-mix(in srgb,var(--message-text-color,#0f172a) 84%,transparent);--chat-md-inline-code-bg:color-mix(in srgb,var(--message-bg-color,#fff) 65%,rgba(15,23,42,.2) 35%);--chat-md-inline-code-border:color-mix(in srgb,var(--message-text-color,#0f172a) 20%,transparent);--chat-md-blockquote-bg:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.86) 22%);--chat-md-blockquote-border:color-mix(in srgb,var(--message-text-color,#0f172a) 34%,#7dd3fc 66%);--chat-md-table-bg:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.9) 22%);--chat-md-table-row-alt-bg:color-mix(in srgb,var(--message-bg-color,#fff) 70%,hsla(0,0%,100%,.82) 30%);--chat-md-table-head-bg:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.94) 36%);--chat-md-table-border:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent);--chat-md-citation-bg:color-mix(in srgb,var(--message-bg-color,#fff) 55%,hsla(0,0%,100%,.94) 45%);background:linear-gradient(158deg,color-mix(in srgb,var(--message-bg-color,#fff) 86%,hsla(0,0%,100%,.3) 14%),color-mix(in srgb,var(--message-bg-color,#fff) 95%,rgba(2,6,23,.08) 5%))}}.Chat-module_copyButtonContainer__Rij0U{opacity:0;pointer-events:none;position:absolute;right:12px;top:10px;transform:translateY(-2px);transition:opacity .18s ease,transform .18s ease;z-index:3}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover .Chat-module_copyButtonContainer__Rij0U,.Chat-module_copyButtonContainer__Rij0U:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.Chat-module_articleModeMessageActions__h2qaG{align-items:center;border-top:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-wrap:wrap;gap:10px 12px;justify-content:flex-start;margin-top:14px;padding-top:12px}.Chat-module_articleModeMessageControls__hncCw{opacity:1;pointer-events:auto;position:static;right:auto;top:auto;transform:none;z-index:auto}.Chat-module_messageControlGroup__gAo4k{align-items:center;display:flex;gap:7px;pointer-events:auto}.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_playButton__ZigYL{background:var(--chat-article-control-background);border-color:var(--chat-article-control-border-color);box-shadow:none;color:var(--chat-message-control-color)}.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5:focus,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5:hover,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_playButton__ZigYL:hover:not(:disabled){background:var(--chat-article-control-hover-background);border-color:var(--chat-article-control-hover-border-color);box-shadow:var(--chat-article-control-hover-shadow)}.Chat-module_copyButton__DcxT5{backdrop-filter:blur(8px);border:1px solid var(--chat-message-control-border-color);box-shadow:var(--chat-message-control-shadow);display:flex;opacity:1;padding:4px 7px;transition:all .15s,box-shadow .15s,border .15s}.Chat-module_copyButton__DcxT5,.Chat-module_playButton__ZigYL{align-items:center;background:var(--chat-message-control-background);border-radius:10px;color:var(--chat-message-control-color);cursor:pointer;position:relative}.Chat-module_playButton__ZigYL{border:1px solid var(--chat-message-control-border-color);display:inline-flex;height:34px;justify-content:center;padding:0;transition:all .15s ease;width:34px}.Chat-module_playButtonIcon__wPErq{height:16px;width:16px}.Chat-module_playButtonSpinner__Ad33i{animation:Chat-module_messagePlaySpinner__ldlvy .9s linear infinite;border:2px solid var(--chat-message-control-spinner-border-color);border-radius:50%;border-top-color:var(--chat-message-control-spinner-accent-color);height:16px;width:16px}.Chat-module_playButton__ZigYL:hover:not(:disabled){background:var(--chat-message-control-hover-background);border-color:var(--chat-message-control-hover-border-color);box-shadow:var(--chat-message-control-hover-shadow)}.Chat-module_playButton__ZigYL:disabled{cursor:not-allowed;opacity:.6}@keyframes Chat-module_messagePlaySpinner__ldlvy{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Chat-module_copiedTooltip__LH81j{animation:Chat-module_copiedTooltipFadeIn__QekO1 .2s;background:#222;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.18);color:#fff;font-size:.98em;left:50%;margin-top:4px;max-width:220px;opacity:.97;overflow-wrap:break-word;padding:6px 16px;pointer-events:none;position:absolute;top:110%;transform:translateX(-50%);white-space:nowrap;word-break:break-word;z-index:100}.Chat-module_copiedTooltipLeft__j-S-5{left:0!important;transform:none!important}.Chat-module_copiedTooltipRight__R-2cE{left:auto!important;right:0!important;transform:none!important}@keyframes Chat-module_copiedTooltipFadeIn__QekO1{0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.97)}to{opacity:.97;transform:translateX(-50%) translateY(0) scale(1)}}.Chat-module_copyButton__DcxT5:focus,.Chat-module_copyButton__DcxT5:hover{background:var(--chat-message-control-hover-background);border:1px solid var(--chat-message-control-hover-border-color);box-shadow:var(--chat-message-control-hover-shadow);opacity:1}.Chat-module_copyButton__DcxT5 svg{display:block}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_copyButton__DcxT5 svg rect{fill:#cbd5e1;stroke:#94a3b8}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover{box-shadow:var(--chat-bubble-shadow-hover),inset 0 1px 0 hsla(0,0%,100%,.16);transform:translateX(var(--chat-message-swipe-offset,0)) translateY(-1.5px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP:hover{box-shadow:none;transform:none}.Chat-module_attachments__m1Fts{border-top:1px solid hsla(0,0%,49%,.28);border-top-color:color-mix(in srgb,var(--message-text-color,#0f172a) 12%,transparent);display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.Chat-module_attachment__aE9hK{align-items:center;background:hsla(0,0%,100%,.26);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.8) 26%);border:1px solid hsla(0,0%,49%,.3);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 16%,transparent);border-radius:999px;color:inherit;cursor:pointer;display:flex;font-family:inherit;font-size:12.5px;gap:6px;line-height:inherit;max-width:200px;padding:7px 12px;text-decoration:none;transition:all .2s ease}.Chat-module_attachmentWithRemove__n2-O6{gap:0;overflow:hidden;padding:0}.Chat-module_attachmentMainAction__Onkl3{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:6px;line-height:inherit;min-width:0;padding:7px 8px 7px 12px;text-decoration:none}.Chat-module_attachmentRemoveButton__dC5ne{align-items:center;background:hsla(0,0%,100%,.24);border:0;border-radius:999px;color:inherit;cursor:pointer;display:inline-flex;flex:0 0 auto;height:22px;justify-content:center;margin-right:5px;opacity:.85;transition:background .2s ease,opacity .2s ease,transform .2s ease;width:22px}.Chat-module_attachmentRemoveButton__dC5ne:hover{background:rgba(239,68,68,.18);opacity:1;transform:scale(1.04)}.Chat-module_attachmentRemoveButton__dC5ne svg{height:12px;width:12px}.Chat-module_attachmentWithRemove__n2-O6 .Chat-module_attachmentName__aMx56{min-width:0}.Chat-module_attachment__aE9hK:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 62%,hsla(0,0%,100%,.9) 38%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 24%,transparent);transform:translateY(-1px)}.Chat-module_attachmentIcon__BX3Cy{font-size:14px;opacity:.8}.Chat-module_attachmentName__aMx56{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_messageButtons__WaOob{border-top:1px solid hsla(0,0%,49%,.36);border-top-color:color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;padding-top:12px}.Chat-module_messageButton__mRnn-{-webkit-tap-highlight-color:transparent;align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.2);background:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.8) 22%);border:1px solid hsla(0,0%,49%,.9);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent);border-radius:999px;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;letter-spacing:.01em;padding:8px 15px;touch-action:manipulation;transition:all .2s ease;user-select:none}.Chat-module_messageButton__mRnn-:disabled{box-shadow:none;cursor:progress;opacity:.72;transform:none}.Chat-module_messageButton__mRnn-:hover{background:hsla(0,0%,100%,.3);background:color-mix(in srgb,var(--message-bg-color,#fff) 66%,hsla(0,0%,100%,.9) 34%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 26%,#7dd3fc 74%);box-shadow:0 5px 14px rgba(15,23,42,.14);transform:translateY(-1px)}.Chat-module_messageButton__mRnn-:hover:disabled{background:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.8) 22%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent)}.Chat-module_messageButton__mRnn-:active{transform:scale(.98);transition:transform .1s ease}.Chat-module_actionMessageButton__avcbv{background:rgba(55,65,81,.92);border-color:rgba(31,41,55,.95);color:#fff}.Chat-module_actionMessageButton__avcbv:hover{background:rgba(31,41,55,.98);border-color:rgba(17,24,39,.98);box-shadow:0 4px 14px rgba(15,23,42,.32)}.Chat-module_actionMessageButton__avcbv:hover:disabled{background:rgba(55,65,81,.92);border-color:rgba(31,41,55,.95)}.Chat-module_messageButton__mRnn- p{line-height:inherit;margin:0;padding:0}.Chat-module_messageButton__mRnn- strong{font-weight:600}.Chat-module_messageButton__mRnn- em{font-style:italic}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M{align-items:center;backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border-radius:12px;bottom:-8px;display:flex;gap:2px;min-width:24px;opacity:0;padding:4px 6px;position:absolute;right:8px;transform:translateY(4px);transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:1}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M.Chat-module_articleModeRating__dwZqm{backdrop-filter:none;background:var(--chat-article-rating-background);border:1px solid var(--chat-article-rating-border-color);border-radius:999px;bottom:auto;min-width:0;opacity:1;padding:4px 8px;position:static;right:auto;transform:none;z-index:auto}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:hover .Chat-module_rating__soc3M{opacity:1;transform:translateY(0)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M.Chat-module_articleModeRating__dwZqm:hover{background:var(--chat-article-rating-hover-background);border-color:var(--chat-article-rating-hover-border-color);box-shadow:var(--chat-article-rating-shadow);padding:4px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover{background:rgba(0,0,0,.9);box-shadow:0 4px 12px rgba(0,0,0,.3);padding:6px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M span{cursor:pointer;display:inline-block;font-size:16px;transition:transform .2s ease,color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover span{transform:scale(1.1)}.Chat-module_feedbackIssueButton__9NrrF{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;font-family:OpenMojiBlack,Noto Emoji,Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:16px;justify-content:center;line-height:1;padding:0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{backdrop-filter:blur(20px);background:var(--chat-input-backdrop);border-top:1px solid var(--chat-input-border-color);box-sizing:border-box;display:flex;flex-direction:column;gap:12px;grid-area:📝;max-width:100%;min-width:0;padding:20px 24px calc(20px + env(safe-area-inset-bottom));position:relative;width:100%;z-index:10}.Chat-module_articleModeChatInput__zBTV4{padding-left:var(--chat-article-layout-padding-inline);padding-right:var(--chat-article-layout-padding-inline)}.Chat-module_articleModeChatInput__zBTV4>:not(.Chat-module_speechStatusBubble__qBBWI):not(.Chat-module_dragOverlay__SEGoS){margin-left:auto;margin-right:auto;max-width:100%;width:min(var(--chat-article-layout-max-width),100%)}.Chat-module_Chat__j2eE5.Chat-module_fullPageVisual__zNAEy .Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{background:var(--chat-full-page-input-backdrop)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan.Chat-module_dragOver__bkS-g{background:var(--chat-input-drag-over-backdrop)}.Chat-module_filePreviewContainer__R70hm{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.Chat-module_filePreviewContainer__R70hm.Chat-module_attachments__m1Fts{--message-bg-color:var(--input-bg-color);--message-text-color:var(--input-text-color);border-top:0;color:var(--input-text-color);margin-top:0;padding-top:0}.Chat-module_filePreview__kq2aX{align-items:center;backdrop-filter:blur(10px);background:var(--chat-file-preview-background);border:1px solid var(--chat-file-preview-border-color);border-radius:8px;display:flex;font-size:12px;gap:8px;padding:8px 12px;transition:all .2s ease}.Chat-module_filePreview__kq2aX:hover{background:var(--chat-file-preview-hover-background);border-color:var(--chat-file-preview-hover-border-color)}.Chat-module_fileIcon__zoSKW{font-size:14px;opacity:.7}.Chat-module_fileInfo__wBLi0{display:flex;flex-direction:column;gap:2px;min-width:0}.Chat-module_fileName__bBujo{color:var(--chat-file-name-color);font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_fileSize__ivliq{color:var(--chat-file-size-color);font-size:11px}.Chat-module_removeFileButton__0gakR{align-items:center;background:rgba(255,0,0,.1);border:none;border-radius:50%;color:#f44;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .2s ease;width:20px}.Chat-module_removeFileButton__0gakR:hover{background:rgba(255,0,0,.2);transform:scale(1.1)}.Chat-module_inputContainer__bPt99{align-items:center;background:var(--chat-input-container-background);border:1px solid var(--chat-input-container-border-color);border-radius:26px;box-shadow:var(--chat-input-container-shadow);display:flex;gap:10px;min-width:0;padding:9px 12px;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_inputContainer__bPt99:focus-within{border-color:var(--brand-color,#0ea5e9);border-color:color-mix(in srgb,var(--brand-color,#0ea5e9) 58%,rgba(15,23,42,.2) 42%);box-shadow:0 18px 42px rgba(15,23,42,.16),0 0 0 4px rgba(14,165,233,.16);box-shadow:0 18px 42px rgba(15,23,42,.16),0 0 0 4px color-mix(in srgb,var(--brand-color,#0ea5e9) 16%,transparent);transform:translateY(-1px)}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_inputContainer__bPt99:focus-within{border-color:rgba(125,211,252,.6);box-shadow:0 20px 44px rgba(2,6,23,.48),0 0 0 4px rgba(14,165,233,.18)}.Chat-module_inputContainer__bPt99 textarea::placeholder{color:var(--chat-input-placeholder-color);opacity:1}.Chat-module_attachmentButton__qLO47{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--chat-input-action-color);cursor:pointer;display:flex;flex-shrink:0;height:var(--chat-input-action-size);justify-content:center;margin:0;transition:all .2s ease;width:var(--chat-input-action-size)}.Chat-module_attachmentButton__qLO47:hover:not(:disabled){background:var(--chat-input-action-hover-background);color:var(--chat-input-action-hover-color)}.Chat-module_attachmentButton__qLO47:disabled{cursor:not-allowed;opacity:.3}.Chat-module_voiceButton__d2zlP{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--chat-input-action-color);cursor:pointer;display:flex;flex-shrink:0;height:var(--chat-input-action-size);justify-content:center;margin:0;transition:all .2s ease;width:var(--chat-input-action-size)}.Chat-module_voiceButton__d2zlP:hover:not(:disabled){background:var(--chat-input-action-hover-background);color:var(--chat-input-action-hover-color)}.Chat-module_voiceButtonActive__Uoi3W{animation:Chat-module_voiceRecordingPulse__y2wJ5 1.5s infinite;background:rgba(239,68,68,.1)!important;color:#ef4444!important}.Chat-module_speechStatusBubble__qBBWI{align-items:center;animation:Chat-module_speechStatusBubbleIn__PBm-c .2s ease-out;appearance:none;background:var(--chat-speech-status-background);border-radius:999px;border-style:solid;border-width:1px;border:1px solid var(--chat-speech-status-border-color);bottom:86px;box-shadow:var(--chat-speech-status-shadow);color:var(--chat-speech-status-color);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.01em;max-width:min(320px,calc(100% - 48px));padding:8px 12px;position:absolute;right:24px;text-align:left;z-index:25}.Chat-module_speechStatusBubbleDot__APu53{animation:Chat-module_speechStatusBubbleDotPulse__Guqsu 1.2s ease-in-out infinite;background:var(--chat-speech-status-dot-background);border-radius:50%;flex-shrink:0;height:8px;width:8px}.Chat-module_speechStatusBubbleRecording__faJs2{background:hsla(0,86%,97%,.97);border-color:rgba(239,68,68,.35);color:#991b1b}.Chat-module_speechStatusBubbleRecording__faJs2 .Chat-module_speechStatusBubbleDot__APu53{background:#ef4444}.Chat-module_speechStatusBubbleProcessing__Crbuu{background:rgba(236,254,255,.97);border-color:rgba(14,116,144,.35);color:#155e75}.Chat-module_speechStatusBubbleProcessing__Crbuu .Chat-module_speechStatusBubbleDot__APu53{background:#0ea5e9}.Chat-module_speechStatusBubbleError__Nd-Aj{background:hsla(0,86%,97%,.98);border-color:rgba(220,38,38,.35);color:#991b1b}.Chat-module_speechStatusBubbleError__Nd-Aj .Chat-module_speechStatusBubbleDot__APu53{animation:none;background:#dc2626}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_speechStatusBubbleRecording__faJs2{background:rgba(127,29,29,.72);border-color:hsla(0,91%,71%,.44);color:#fecaca}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_speechStatusBubbleProcessing__Crbuu{background:rgba(8,47,73,.74);border-color:rgba(125,211,252,.44);color:#bae6fd}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_speechStatusBubbleError__Nd-Aj{background:rgba(127,29,29,.82);border-color:hsla(0,91%,71%,.5);color:#fecaca}.Chat-module_dictationPanel__kzbyG{background:var(--chat-dictation-panel-background);border:1px solid var(--chat-dictation-panel-border-color);border-radius:14px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.2);color:var(--chat-dictation-panel-color);display:flex;flex-direction:column;gap:10px;padding:10px 12px}.Chat-module_dictationPanelHeader__rHXTh{align-items:center;display:flex;gap:8px;justify-content:space-between}.Chat-module_dictationPanelTitle__sO9XH{color:var(--chat-dictation-title-color);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.Chat-module_dictationPanelToggle__z3HMx{background:var(--chat-dictation-toggle-background);border:1px solid var(--chat-dictation-panel-border-color);border-radius:10px;color:var(--chat-dictation-toggle-color);cursor:pointer;font-size:11px;font-weight:600;padding:4px 8px}.Chat-module_dictationInterimTranscript__eAbMI{background:var(--chat-dictation-transcript-background);border:1px dashed rgba(59,130,246,.45);border-radius:10px;color:var(--chat-dictation-transcript-color);cursor:pointer;font-size:13px;line-height:1.45;padding:8px 10px;text-align:left}.Chat-module_dictationErrorPanel__mjbM7{background:hsla(0,86%,97%,.95);border:1px solid rgba(220,38,38,.25);border-radius:10px;color:#991b1b;display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:8px;padding:8px 10px}.Chat-module_dictationErrorActions__K3ykb{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_dictationCorrectionActions__ssE7i button,.Chat-module_dictationErrorActions__K3ykb button{background:var(--chat-dictation-action-background);border:1px solid var(--chat-dictation-action-border-color);border-radius:10px;color:var(--chat-dictation-action-color);cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px}.Chat-module_dictationCorrectionPanel__5nh9M{display:flex;flex-direction:column;gap:8px}.Chat-module_dictationCorrectionLabel__U4uzT{color:var(--chat-dictation-correction-label-color);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.Chat-module_dictationCorrectionTextarea__5ovj9{background:var(--chat-dictation-correction-textarea-background);border:1px solid var(--chat-dictation-correction-textarea-border-color);border-radius:10px;color:var(--chat-dictation-correction-textarea-color);font-size:13px;line-height:1.5;min-height:68px;padding:8px 10px;resize:vertical;width:100%}.Chat-module_dictationCorrectionActions__ssE7i{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_dictationSettingsPanel__0gI-V{display:grid;gap:8px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.Chat-module_dictationSettingsPanel__0gI-V label{align-items:center;color:var(--chat-dictation-settings-color);display:inline-flex;font-size:12px;gap:6px}.Chat-module_dictationFallbackNote__919pE{color:var(--chat-dictation-fallback-color);font-size:11px;line-height:1.45;margin:0}@keyframes Chat-module_speechStatusBubbleIn__PBm-c{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes Chat-module_speechStatusBubbleDotPulse__Guqsu{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.82)}}@keyframes Chat-module_voiceRecordingPulse__y2wJ5{0%{box-shadow:0 0 0 0 rgba(255,0,0,.4)}70%{box-shadow:0 0 0 10px rgba(255,0,0,0)}to{box-shadow:0 0 0 0 rgba(255,0,0,0)}}.Chat-module_uploadProgress__jBTKe{align-items:center;background:rgba(0,132,255,.1);border:1px solid rgba(0,132,255,.2);border-radius:8px;color:#0084ff;display:flex;font-size:13px;gap:12px;padding:8px 12px}.Chat-module_uploadProgressBar__Gutnt{background:rgba(0,132,255,.2);border-radius:2px;flex:1;height:4px;overflow:hidden}.Chat-module_uploadProgressFill__EgubT{animation:Chat-module_uploadProgress__jBTKe 1.5s ease-in-out infinite;background:linear-gradient(90deg,#0084ff,rgba(0,132,255,.8));border-radius:2px;height:100%}@keyframes Chat-module_uploadProgress__jBTKe{0%{transform:translateX(-100%)}50%{transform:translateX(0)}to{transform:translateX(100%)}}.Chat-module_dragOverlay__SEGoS{align-items:center;backdrop-filter:blur(10px);background:rgba(0,132,255,.1);border:2px dashed rgba(0,132,255,.5);border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:20}.Chat-module_dragOverlayContent__gb9kF{align-items:center;color:#0084ff;display:flex;flex-direction:column;font-weight:600;gap:12px;text-align:center}.Chat-module_dragOverlayContent__gb9kF svg{opacity:.7}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;background:transparent;border:none;box-sizing:border-box;color:var(--chat-input-text-color);flex:1;font-family:inherit;font-size:var(--chat-input-font-size);font-weight:500;height:var(--chat-input-textarea-height);letter-spacing:.002em;line-height:var(--chat-input-line-height);margin:0;max-height:var(--chat-input-textarea-height);min-height:var(--chat-input-textarea-height);min-width:0;outline:none;overflow-y:auto;padding:var(--chat-input-padding-y) var(--chat-input-padding-x);resize:none;touch-action:manipulation}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea:disabled{cursor:not-allowed;opacity:.6;transform:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea::placeholder{color:var(--chat-input-placeholder-color);opacity:.9}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]{-webkit-tap-highlight-color:transparent;align-items:center;aspect-ratio:1/1;border:none;border-radius:50%!important;box-shadow:0 4px 12px rgba(0,132,255,.25);color:#fff;display:flex;height:var(--chat-input-action-size);justify-content:center;margin:0!important;min-height:unset!important;min-width:unset!important;overflow:visible;padding:0!important;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:var(--chat-input-action-size)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]:hover{box-shadow:0 6px 16px rgba(0,132,255,.35);transform:scale(1.05)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]:active{transform:scale(.95)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action] svg{height:20px;width:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button img{height:100%;object-fit:contain;width:50%}.Chat-module_scrollToBottomContainer__5rXpK{align-items:flex-start;display:flex;grid-area:📝;height:100%;justify-content:center;pointer-events:none;width:100%;z-index:20}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottomWrapper__PCIu1{align-items:center;animation:Chat-module_scrollButtonSlideIn__XnImg .3s ease-out;display:inline-flex;justify-content:center;pointer-events:all;position:relative;transform:translate(-50%,-150%);transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottom__nzxdZ{-webkit-tap-highlight-color:transparent;align-items:center;background:rgba(0,0,0,.5);border:none;border-radius:50%;box-shadow:0 4px 16px rgba(0,0,0,.3);color:#fff;cursor:pointer;display:flex;font-weight:700;height:48px;justify-content:center;outline:none;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:48px}@keyframes Chat-module_scrollButtonSlideIn__XnImg{0%{opacity:0;transform:translate(-50%,20px) scale(.8)}to{opacity:.9;transform:translate(-50%) scale(1)}}.Chat-module_scrollToBottomBadge__N6T6-{align-items:center;background:#2563eb;border-radius:999px;box-shadow:0 2px 10px rgba(37,99,235,.4);color:#fff;display:inline-flex;font-size:10px;font-weight:600;justify-content:center;letter-spacing:.04em;min-width:32px;padding:2px 6px;pointer-events:none;position:absolute;right:-8px;text-transform:uppercase;top:-8px;white-space:nowrap}.Chat-module_ratingModal__XVKYm{align-items:center;animation:Chat-module_modalFadeIn__RPc3w .3s ease-out;background-color:rgba(15,23,42,.76);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes Chat-module_modalFadeIn__RPc3w{0%{opacity:0}to{opacity:1}}.Chat-module_ratingModalContent__CCdq7{animation:Chat-module_modalSlideIn__XXtgN .3s cubic-bezier(.25,.46,.45,.94);backdrop-filter:blur(20px);background:#fff;border:1px solid hsla(0,0%,49%,.1);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);color:#0f1724;font-family:Arial,Helvetica,sans-serif,OpenMojiColor,OpenMojiBlack;max-width:480px;padding:32px;width:90%}@keyframes Chat-module_modalSlideIn__XXtgN{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_ratingModalContent__CCdq7 h3{color:#000;font-size:20px;font-weight:600;margin:0 0 24px;text-align:center}.Chat-module_stars__PCzNO{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.Chat-module_stars__PCzNO span{border-radius:8px;cursor:pointer;font-size:28px;padding:4px;transition:all .2s ease}.Chat-module_stars__PCzNO span:hover{background:rgba(255,215,0,.1);transform:scale(1.2)}.Chat-module_ratingModalStar__XkbHr{cursor:pointer;font-size:24px;transition:color .2s}.Chat-module_ratingModal__XVKYm[data-chat-modal=citation-browser],.Chat-module_ratingModal__XVKYm[data-chat-modal=image-attachment]{box-sizing:border-box;padding:24px}.Chat-module_toolCallModal__uNaIK{max-height:calc(100vh - 48px);max-width:800px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative}.Chat-module_citationBrowserModal__jYU4c{background:#f8fafc;display:flex;flex-direction:column;margin:0;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);max-width:800px;overflow:hidden;padding:0;width:min(90vw,800px)}.Chat-module_citationBrowserModalBody__lvTWb{display:flex;flex:1 1 auto;min-height:0}.Chat-module_imageAttachmentModal__Ef6L5{display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);max-width:1040px;overflow:hidden;padding:0;position:relative;width:min(92vw,1040px)}.Chat-module_imageAttachmentModalHeader__onK3Z{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex:0 0 auto;padding:20px 68px 14px 24px}.Chat-module_imageAttachmentModalTitle__AhuMt{color:#0f172a!important;font-size:16px!important;font-weight:600!important;line-height:1.35;margin:0!important;overflow-wrap:anywhere;text-align:left!important}.Chat-module_imageAttachmentModalPreview__gXDer{align-items:center;background:#0f172a;box-sizing:border-box;display:flex;flex:1 1 auto;justify-content:center;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);min-height:0;overflow:hidden;padding:16px}.Chat-module_imageAttachmentModalImage__t61oG{display:block;max-height:calc(100vh - 162px);max-height:calc(100dvh - 162px);max-width:100%;object-fit:contain}.Chat-module_toolCallHeader__ZaTZF{align-items:center;background:linear-gradient(135deg,#eef2ff,#f5f3ff 40%,#fefcc9);border-bottom:1px solid rgba(15,23,42,.08);display:flex;gap:16px;padding:24px 32px 16px}.Chat-module_toolCallIcon__UgRKj{font-size:32px}.Chat-module_toolCallHeaderMeta__iAL-U{display:flex;flex-direction:column;gap:4px}.Chat-module_toolCallModalLabel__4dBP4{color:#475467;font-size:11px;letter-spacing:.35em;margin:0;text-transform:uppercase}.Chat-module_toolCallTitle__jhL0A{color:#0f172a;font-size:24px;font-weight:600;margin:0}.Chat-module_toolCallSubtitle__a2GIO{color:#475467;font-size:13px;margin:0}.Chat-module_toolCallGrid__Nfr7N{background:#fefefe;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:24px 32px 16px}.Chat-module_toolCallPanel__kQZE9{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 18px 40px rgba(15,23,42,.08);padding:18px}.Chat-module_toolCallPanelTitle__-7OtJ{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.25em;margin:0 0 12px;text-transform:uppercase}.Chat-module_toolCallList__5co3s{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.Chat-module_toolCallItem__k7W5Z{display:flex;flex-direction:column;gap:4px}.Chat-module_toolCallItemLabel__d3C1E{color:#94a3b8;font-size:11px;letter-spacing:.25em;text-transform:uppercase}.Chat-module_toolCallItemValue__cStQ0{color:#0f172a;font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.Chat-module_toolCallSummary__wGZwg{color:#0f172a;font-size:15px;line-height:1.6;margin:0}.Chat-module_toolCallSummaryMeta__RXiSv{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.Chat-module_toolCallSummaryMetaBadge__JBi-I{background:rgba(79,70,229,.15);border-radius:999px;color:#312e81;font-size:12px;font-weight:600;padding:5px 12px}.Chat-module_toolCallEmpty__bUz5v{color:#94a3b8;font-size:14px;margin:0}.Chat-module_toolCallPendingCard__L3m7T{background:linear-gradient(180deg,#f8fbff,#f8fafc);border:1px dashed #cbd5e1;border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:14px}.Chat-module_toolCallPendingHeader__U3htF{align-items:center;display:flex;gap:10px;justify-content:space-between}.Chat-module_toolCallPendingTitle__4fwLL{color:#0f172a;font-size:13px;font-weight:600}.Chat-module_toolCallPendingBadge__bgY3c{background:rgba(14,165,233,.12);border-radius:999px;color:#0369a1;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.Chat-module_toolCallPendingMessage__grnao{color:#475467;font-size:13px;line-height:1.5;margin:0}.Chat-module_toolCallPendingSkeleton__Td5Cu{display:flex;flex-direction:column;gap:8px}.Chat-module_toolCallPendingSkeletonLine__Vldel{animation:Chat-module_toolCallPendingSkeletonPulse__aKDNI 1.4s ease-in-out infinite;background:linear-gradient(90deg,rgba(226,232,240,.7),#f1f5f9,rgba(226,232,240,.7));background-size:200% 100%;border-radius:999px;height:10px}.Chat-module_toolCallPendingSkeletonShort__FnR-X{width:68%}@keyframes Chat-module_toolCallPendingSkeletonPulse__aKDNI{0%{background-position:100% 50%}to{background-position:-100% 50%}}.Chat-module_toolCallDetailsCard__UJthw{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-top:16px;overflow:hidden}.Chat-module_toolCallDetailsCardRow__-VhfA{border-top:1px solid rgba(226,232,240,.9);color:#334155;display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:12px 14px}.Chat-module_toolCallDetailsCardRow__-VhfA:first-child{border-top:none}.Chat-module_toolCallDetailsCardRow__-VhfA strong{color:#0f172a}.Chat-module_toolCallIssues__evhYM{display:flex;flex-wrap:wrap;gap:8px;padding:0 32px 16px}.Chat-module_toolCallIssueBadge__Qbwdp{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 10px}.Chat-module_toolCallIssueError__LImeS{background:rgba(239,68,68,.12);color:#b91c1c}.Chat-module_toolCallIssueWarning__chQDf{background:rgba(234,179,8,.16);color:#a16207}.Chat-module_toolCallModeFooter__XaRqI{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:0 32px 24px}.Chat-module_toolCallModeButton__zlcca{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.Chat-module_toolCallModeButton__zlcca:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px)}.Chat-module_toolCallClockPanel__h4xZd{align-items:center;display:flex;flex-direction:column;gap:20px;padding:20px}.Chat-module_toolCallClockLabels__KJGxe{text-align:center}.Chat-module_toolCallClockPrimary__StLQ8{color:#0f172a;font-size:2em;font-weight:700}.Chat-module_toolCallClockSecondary__O4WaT{color:#475467}.Chat-module_toolCallClockMeta__aObb7{color:#667085;font-size:.9em;margin-top:5px}.Chat-module_timeoutToolSummary__kPPvu{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.Chat-module_timeoutToolPrimarySentence__pQfLn{color:#0f172a;font-size:15px;font-weight:600;line-height:1.5;margin:0}.Chat-module_timeoutToolSecondarySentence__iH5Uc{color:#475467;font-size:13px;line-height:1.5;margin:6px 0 0}.Chat-module_timeoutToolActionRow__occir{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.Chat-module_timeoutToolActionButton__8yz0R{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:border-color .2s ease,background-color .2s ease}.Chat-module_timeoutToolActionButton__8yz0R:hover{background:#f1f5f9;border-color:#94a3b8}.Chat-module_timeoutToolActionButton__8yz0R:disabled{cursor:default;opacity:.45}.Chat-module_memoryModalHeader__SpZJT{align-items:flex-start;background:linear-gradient(180deg,#fdfdfd,#f6f9ff);border-bottom:1px solid #e2e8f0;display:flex;gap:16px;padding:28px 32px 16px}.Chat-module_memoryModalIcon__eYbli{align-items:center;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:18px;box-shadow:0 18px 28px rgba(15,23,42,.18);color:#fff;display:inline-flex;font-size:24px;height:52px;justify-content:center;width:52px}.Chat-module_memoryModalHeaderText__S6MZG{flex:1}.Chat-module_memoryModalTitle__zzbaQ{color:#0f172a;font-size:22px;font-weight:600;margin:0}.Chat-module_memoryModalSubtitle__PStci{color:#475467;font-size:14px;margin:4px 0 0}.Chat-module_memoryModalStatus__bmrfc{align-items:center;border-radius:999px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-left:auto;padding:6px 14px;white-space:nowrap}.Chat-module_memoryStatusDot__c0oVs{background:currentColor;border-radius:50%;display:inline-block;height:8px;width:8px}.Chat-module_memoryModalContent__8E7oj{background:#fff;display:flex;flex-direction:column;gap:16px;padding:24px 32px 32px}.Chat-module_memoryMessage__q0pNK{color:#0f172a;font-size:15px;font-weight:500;margin:0}.Chat-module_memoryMetaRow__Hc-Xp{align-items:center;color:#475467;display:flex;font-size:13px;justify-content:space-between}.Chat-module_memoryMetaLabel__LFx11{font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_memoryMetaValue__4bILO{color:#0f172a;font-weight:600}.Chat-module_memoryRetrieveSection__VbuS4,.Chat-module_memoryStoreSection__qQJPN{display:flex;flex-direction:column;gap:12px}.Chat-module_memoryCard__-kIDN{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 18px rgba(15,23,42,.08);padding:18px}.Chat-module_memoryCardContent__l9S4G{color:#0f172a;font-size:14px;line-height:1.6;overflow-wrap:break-word;white-space:pre-wrap}.Chat-module_memoryCardMeta__K66KE{align-items:center;color:#94a3b8;display:flex;font-size:12px;justify-content:space-between;margin-top:12px}.Chat-module_memoryScopeBadge__T2ACc{background:rgba(124,58,237,.12);border-radius:999px;color:#0f172a;font-size:11px;font-weight:700;padding:3px 10px}.Chat-module_memoryList__pUOg2{display:flex;flex-direction:column;gap:12px}.Chat-module_memoryEmptyState__fPrXA{background:#fef3c7;border:1px solid #fde68a;border-radius:12px;color:#92400e;font-weight:500;padding:16px}.Chat-module_memoryListFooter__Y0Q2Z{color:#475467;font-size:13px;text-align:center}.Chat-module_memoryStatusSuccess__4bhfo{background:rgba(16,185,129,.16);color:#047857}.Chat-module_memoryStatusWarning__AR6yh{background:rgba(234,179,8,.16);color:#a16207}.Chat-module_memoryStatusError__ZNAT6{background:rgba(239,68,68,.15);color:#b91c1c}.Chat-module_memoryStatusNeutral__Fa-4M{background:rgba(96,165,250,.15);color:#1d4ed8}.Chat-module_searchModalHeader__Y8V-w{align-items:center;background:#fdfdfd;border-bottom:1px solid #eee;display:flex;gap:16px;padding:24px 72px 24px 32px}.Chat-module_selfLearningModalHeader__PDIt1{align-items:center;background:linear-gradient(135deg,#f8fafc,#fef9c3 45%,#ecfccb);border-bottom:1px solid #e2e8f0;gap:18px}.Chat-module_selfLearningAvatarGroup__jgy2k{align-items:center;display:flex;gap:10px}.Chat-module_selfLearningAvatar__NHXKm{align-items:center;background:#e2e8f0;background-position:50%;background-size:cover;border-radius:50%;box-shadow:0 10px 20px rgba(15,23,42,.18);color:#0f172a;display:inline-flex;font-size:18px;font-weight:600;height:48px;justify-content:center;letter-spacing:.02em;width:48px}.Chat-module_selfLearningAvatarInitial__cuw19{line-height:1}.Chat-module_selfLearningTeacher__fGhX8{background:linear-gradient(135deg,#fde68a,#86efac)}.Chat-module_selfLearningHeaderText__LTwHL{display:flex;flex-direction:column;gap:6px;text-align:left}.Chat-module_selfLearningTitle__G0SAk{color:#0f172a;font-size:20px;font-weight:600;margin:0}.Chat-module_selfLearningMetaRow__z4Tg0{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;margin-bottom:12px}.Chat-module_selfLearningMeta__58Pet{color:#64748b;font-size:13px}.Chat-module_selfLearningMetaChip__0go88{background:#e2e8f0;border-radius:999px;color:#0f172a;font-size:12px;font-weight:600;padding:4px 10px}.Chat-module_selfLearningCommitments__7ECnr{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px}.Chat-module_selfLearningCommitmentsLabel__OkDO1{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_selfLearningBookEditor__CZy5T{border-radius:12px;margin-top:12px;overflow:hidden}.Chat-module_selfLearningEmpty__vCKHL{color:#475569;font-size:13px;margin-top:12px}.Chat-module_modalCloseButton__AAfWS{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 16px rgba(15,23,42,.08);color:#475569;cursor:pointer;display:inline-flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;width:36px;z-index:1}.Chat-module_modalCloseButton__AAfWS:hover{background:#f8fafc;box-shadow:0 10px 24px rgba(15,23,42,.12);color:#0f172a;transform:translateY(-1px)}.Chat-module_modalCloseButton__AAfWS:focus-visible{outline:2px solid #94a3b8;outline-offset:2px}.Chat-module_teamModalHeader__SB5NL{flex-wrap:wrap;gap:12px}.Chat-module_teamHeaderParticipants__KS7aV{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.Chat-module_teamHeaderProfile__xRlcS{align-items:center;color:inherit;display:inline-flex;gap:12px;text-decoration:none}.Chat-module_teamHeaderProfileLink__fYTfT:hover{color:#0f172a}.Chat-module_teamHeaderAvatar__vXcTp{background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 14px rgba(15,23,42,.08);height:40px;width:40px}.Chat-module_teamHeaderName__ygJR9{color:#0f172a;font-size:18px;font-weight:600}.Chat-module_teamHeaderDivider__cnRMd{color:#94a3b8;font-size:14px;font-weight:600}.Chat-module_searchModalIcon__AR5KY{align-items:center;color:#475569;display:inline-flex;font-size:24px;justify-content:center}.Chat-module_searchModalQuery__5x-Ra{color:#202124!important;font-size:22px!important;font-weight:500!important;margin:0!important;text-align:left!important}.Chat-module_searchModalContent__mWLIE{background:#fff;max-height:60vh;overflow-y:auto;padding:24px 32px}.Chat-module_teamChatContainer__xdLtU{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:20px;overflow:hidden}.Chat-module_teamToolCallSection__FH9l7{display:flex;flex-direction:column;gap:16px}.Chat-module_teamToolCallGroup__PO6rl{display:flex;flex-direction:column;gap:8px}.Chat-module_teamToolCallHeading__G-JSj{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_teamToolCallChips__hRWqh{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_teamToolCallDetails__ZaTtt{background:#f8fafc;border:1px solid rgba(148,163,184,.4);border-radius:12px;padding:16px}.Chat-module_teamToolCallDetailsHeader__FPIgI{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.Chat-module_teamToolCallDetailsTitle__50SeL{align-items:center;color:#0f172a;display:flex;font-size:14px;font-weight:600;gap:6px}.Chat-module_teamToolCallDetailsClear__8yvu7{background:rgba(148,163,184,.2);border:1px solid rgba(148,163,184,.4);border-radius:999px;color:#475569;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s ease}.Chat-module_teamToolCallDetailsClear__8yvu7:hover{background:rgba(148,163,184,.35)}.Chat-module_searchResultsList__xVDUZ{display:flex;flex-direction:column;gap:28px;text-align:left}.Chat-module_searchResultsRaw__i3GkD{max-width:650px;text-align:left}.Chat-module_searchResultItem__bTzq5{max-width:650px}.Chat-module_searchResultUrl__SbrH4{color:#202124;font-size:14px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_searchResultUrl__SbrH4 a{color:#202124;text-decoration:none}.Chat-module_searchResultTitle__XS7zN{font-size:20px!important;font-weight:400!important;line-height:1.3;margin:0 0 4px!important}.Chat-module_searchResultTitle__XS7zN a{color:#1a0dab;text-decoration:none}.Chat-module_searchResultTitle__XS7zN a:hover{text-decoration:underline}.Chat-module_searchResultSnippet__Wsun2{color:#4d5156;font-size:14px;line-height:1.58;margin:0}.Chat-module_noResults__AAv6s{color:#70757a;font-style:italic;padding:40px;text-align:center}.Chat-module_citationDetails__2v2e1,.Chat-module_toolCallDetails__WUFlD{margin:20px 0;text-align:left}.Chat-module_citationPreview__rGhCR{background:#f8f8f8;border:1px solid #ddd;border-radius:8px;margin-top:16px;overflow:hidden}.Chat-module_citationIframe__ngzFY{border:none;display:block;height:60vh;min-height:400px;width:100%}.Chat-module_citationIframeLoading__y5VW9{align-items:center;color:#888;display:flex;font-size:.9em;height:60vh;justify-content:center;min-height:400px;width:100%}.Chat-module_citationScreenshotFallback__jxfJX{display:flex;flex-direction:column;position:relative;width:100%}.Chat-module_citationScreenshotImage__hXjC7{display:block;max-height:60vh;min-height:400px;object-fit:cover;object-position:top;width:100%}.Chat-module_citationScreenshotLink__NHvbE{background:#f0f0f0;border-top:1px solid #ddd;color:#333;display:block;font-size:.9em;font-weight:500;padding:10px 16px;text-align:center;text-decoration:none;transition:background .15s}.Chat-module_citationScreenshotLink__NHvbE:hover{background:#e0e0e0;text-decoration:underline}.Chat-module_liveBrowserPreview__D94Kt{background:#f8fafc;display:flex;flex-direction:column;min-height:0;width:100%}.Chat-module_citationBrowserModal__jYU4c .Chat-module_liveBrowserPreview__D94Kt{flex:1 1 auto;min-height:0}.Chat-module_liveBrowserPreview__D94Kt:fullscreen{background:#0f172a}.Chat-module_liveBrowserPreviewToolbar__nFgSV{align-items:center;background:#f1f5f9;border-bottom:1px solid #e2e8f0;display:flex;gap:4px;padding:6px 8px}.Chat-module_liveBrowserPreviewToolbarButton__R-ZXl{align-items:center;background:transparent;border:none;border-radius:6px;color:#334155;cursor:pointer;display:flex;flex:none;font-size:14px;height:28px;justify-content:center;line-height:1;min-width:28px;padding:0 4px;text-decoration:none;transition:background .15s}.Chat-module_liveBrowserPreviewToolbarButton__R-ZXl:hover:not(:disabled){background:#e2e8f0}.Chat-module_liveBrowserPreviewToolbarButton__R-ZXl:disabled{cursor:default;opacity:.35}.Chat-module_liveBrowserPreviewZoomLabel__PbrV1{font-size:11px;font-variant-numeric:tabular-nums}.Chat-module_liveBrowserPreviewToolbarCloseButton__gcsb0{margin-left:2px}.Chat-module_liveBrowserPreviewToolbarCloseButton__gcsb0 svg{height:14px;width:14px}.Chat-module_liveBrowserPreviewUrlForm__4DSda{flex:1;margin:0 4px;min-width:0}.Chat-module_liveBrowserPreviewUrlInput__AugUm{background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#0f172a;font-size:12px;outline:none;padding:5px 12px;width:100%}.Chat-module_liveBrowserPreviewUrlInput__AugUm:focus{border-color:#94a3b8}.Chat-module_liveBrowserPreviewStreamArea__aIhQx{background:#f8f8f8;height:60vh;min-height:400px;outline:none;overflow:auto;position:relative;touch-action:none}.Chat-module_citationBrowserModal__jYU4c .Chat-module_liveBrowserPreviewStreamArea__aIhQx{height:min(60vh,640px);min-height:min(400px,calc(100dvh - 140px))}.Chat-module_liveBrowserPreviewStreamArea__aIhQx:focus-visible{box-shadow:inset 0 0 0 2px #94a3b8}.Chat-module_liveBrowserPreview__D94Kt:fullscreen .Chat-module_liveBrowserPreviewStreamArea__aIhQx{flex:1;height:auto;min-height:0}.Chat-module_liveBrowserPreviewStreamImage__bpTj3{background:#fff;display:block;position:relative;touch-action:none;user-select:none;width:100%}.Chat-module_liveBrowserPreviewConnecting__8Gn40{align-items:center;color:#64748b;display:flex;font-size:.9em;inset:0;justify-content:center;position:absolute}.Chat-module_liveBrowserPreviewOverlay__eheiG{align-items:center;background:rgba(15,23,42,.55);color:#fff;display:flex;flex-direction:column;gap:12px;inset:0;justify-content:center;position:absolute;text-align:center}.Chat-module_liveBrowserPreviewOverlayButton__o9SNO{background:#fff;border:none;border-radius:999px;color:#0f172a;cursor:pointer;font-weight:600;padding:8px 20px}.Chat-module_citationMetadata__DPaCF{background:#f8f8f8;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:16px}.Chat-module_citationMetadata__DPaCF p{font-size:.9em;margin:8px 0}.Chat-module_citationMetadata__DPaCF strong{color:#333}.Chat-module_citationMetadata__DPaCF a{color:#007bff;text-decoration:none;word-break:break-all}.Chat-module_citationMetadata__DPaCF a:hover{text-decoration:underline}.Chat-module_citationExcerpt__VU4BS{background:#fff;border:1px solid #ddd;border-radius:8px;max-height:400px;overflow-y:auto;padding:16px}.Chat-module_citationExcerpt__VU4BS h4{color:#333;font-size:1em;margin:0 0 12px}.Chat-module_citationHint__5AkLx{font-size:.85em;margin-top:8px;opacity:.7}.Chat-module_toolCallDataContainer__rdEzC{background:#f8f8f8;border:1px solid #eee;border-radius:6px;margin-bottom:15px;max-height:300px;overflow-y:auto;padding:12px}.Chat-module_toolCallPayloadContainer__v2yVn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor .monaco-scrollable-element,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor .overflow-guard,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor-background{background:#f8fafc!important}.Chat-module_toolCallData__UauCO{font-size:.85em;margin:0;white-space:pre-wrap;word-break:break-word}.Chat-module_toolCallModal__uNaIK .Chat-module_toolCallData__UauCO{background:#f8fafc;color:#0f172a}.Chat-module_ratingInput__z8Pv-{background:hsla(0,0%,49%,.05);border:2px solid hsla(0,0%,49%,.1);border-radius:12px;color:#0b1220;font-size:14px;line-height:1.5;margin-bottom:18px;min-height:100px;padding:16px;resize:vertical;transition:all .2s ease;width:100%}.Chat-module_ratingInput__z8Pv-:focus{background:hsla(0,0%,49%,.08);border-color:#0084ff;box-shadow:0 0 0 4px rgba(0,132,255,.1);outline:none}.Chat-module_ratingInput__z8Pv-[readonly]{background:hsla(0,0%,49%,.01);border:1px solid hsla(0,0%,49%,.5)}.Chat-module_ratingActions__nXcss{display:flex;gap:12px;justify-content:flex-end}.Chat-module_ratingActions__nXcss button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:12px 24px;transition:all .2s ease}.Chat-module_ratingActions__nXcss button:first-child{background-color:hsla(0,0%,49%,.1);border:1px solid hsla(0,0%,49%,.2);color:#0b1220}.Chat-module_ratingActions__nXcss button:first-child:hover:not(:disabled){background-color:hsla(0,0%,49%,.2);color:#0b1220}.Chat-module_ratingActions__nXcss button:last-child{background:linear-gradient(135deg,#0084ff,#06c);color:#fff}.Chat-module_ratingActions__nXcss button:last-child:hover:not(:disabled){background:linear-gradient(135deg,#0071d1,#0052a3);box-shadow:0 4px 12px rgba(0,132,255,.3);transform:translateY(-1px)}.Chat-module_ratingActions__nXcss button:last-child:disabled{cursor:not-allowed;opacity:.5}.Chat-module_downloadButton__8--bk{align-items:center;background:linear-gradient(135deg,#0084ff,#06c);border:none;border-radius:8px;box-shadow:0 2px 8px rgba(0,132,255,.2);color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease}.Chat-module_downloadButton__8--bk:hover{background:linear-gradient(135deg,#09f,#07d);box-shadow:0 4px 16px rgba(0,132,255,.3);transform:translateY(-2px)}.Chat-module_downloadButton__8--bk:active{box-shadow:0 2px 8px rgba(0,132,255,.2);transform:translateY(0)}.Chat-module_downloadButton__8--bk svg{flex-shrink:0}.Chat-module_downloadButton__8--bk span{font-weight:600}.Chat-module_chatButton__d9VgA,.Chat-module_useTemplateButton__xcJNR{-webkit-tap-highlight-color:transparent!important;align-items:center!important;backdrop-filter:blur(18px)!important;background:linear-gradient(140deg,#0f8ef5,#0b6fd0 56%,#0d5fbb)!important;border:1px solid hsla(0,0%,100%,.24)!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(14,116,219,.28),inset 0 1px 0 hsla(0,0%,100%,.2)!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;font-family:inherit!important;font-size:12.5px!important;font-weight:600!important;gap:8px!important;justify-content:center!important;letter-spacing:.02em!important;line-height:1.2!important;margin:0!important;min-height:40px!important;min-width:110px!important;overflow:hidden!important;padding:11px 16px!important;position:relative!important;text-decoration:none!important;touch-action:manipulation!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;user-select:none!important}.Chat-module_chatButton__d9VgA:before,.Chat-module_useTemplateButton__xcJNR:before{background:linear-gradient(100deg,transparent,hsla(0,0%,100%,.26) 48%,transparent);content:\"\";height:100%;left:-110%;position:absolute;top:0;transition:left .45s ease;width:75%}.Chat-module_chatButton__d9VgA:hover:before,.Chat-module_useTemplateButton__xcJNR:hover:before{left:140%}.Chat-module_chatButton__d9VgA:hover:not(:disabled),.Chat-module_useTemplateButton__xcJNR:hover:not(:disabled){background:linear-gradient(140deg,#1a9aff,#0d7de8 56%,#1168c9)!important;box-shadow:0 14px 30px rgba(14,116,219,.34),inset 0 1px 0 hsla(0,0%,100%,.2)!important;transform:translateY(-1.5px)}.Chat-module_chatButton__d9VgA:active,.Chat-module_useTemplateButton__xcJNR:active{transform:translateY(0) scale(.985);transition:transform .1s ease}.Chat-module_chatButton__d9VgA:focus,.Chat-module_useTemplateButton__xcJNR:focus{box-shadow:0 10px 24px rgba(14,116,219,.32),0 0 0 3px rgba(56,189,248,.28),inset 0 1px 0 hsla(0,0%,100%,.22)!important;outline:none}.Chat-module_chatButton__d9VgA svg,.Chat-module_useTemplateButton__xcJNR svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.24));flex-shrink:0;height:16px;opacity:1;transition:transform .2s ease,filter .2s ease;width:16px}.Chat-module_chatButton__d9VgA:hover svg,.Chat-module_useTemplateButton__xcJNR:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.28));transform:scale(1.08) translateX(1px)}.Chat-module_chatButtonText__RkGB-{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.12);transition:transform .2s ease;white-space:nowrap}.Chat-module_chatButton__d9VgA:hover .Chat-module_chatButtonText__RkGB-,.Chat-module_useTemplateButton__xcJNR:hover .Chat-module_chatButtonText__RkGB-{transform:translateX(1px)}.Chat-module_saveButtonContainer__lSNUJ{display:inline-block;position:relative}.Chat-module_saveMenu__-ph8y{background:#fff;border:1px solid #ddd;box-shadow:0 2px 8px rgba(0,0,0,.08);left:0;min-width:120px;position:absolute;top:100%;z-index:10}.Chat-module_saveMenuItem__ISApL{background:none;border:none;color:#111;cursor:pointer;display:block;padding:8px 16px;text-align:left;width:100%}.Chat-module_saveMenuItem__ISApL:hover{background-color:#f0f0f0}.Chat-module_saveMenuDivider__3ktTM{background-color:#ddd;height:1px;margin:4px 0}.Chat-module_chatFeedbackPanel__gfOzk{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 18px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:6px;padding:6px 8px;width:min(260px,100%)}.Chat-module_chatFeedbackToggle__IeOM6{align-items:center;background:transparent;border:none;border-radius:12px;cursor:pointer;display:flex;gap:10px;padding:6px 8px;text-align:left;transition:background .2s ease,transform .2s ease;width:100%}.Chat-module_chatFeedbackToggle__IeOM6:hover{background:#f5f5f5;transform:translateY(-.5px)}.Chat-module_chatFeedbackToggle__IeOM6:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.Chat-module_chatFeedbackIcon__XcB7A{background:#eef2ff;border-radius:10px;color:#6366f1;display:grid;flex-shrink:0;height:34px;place-items:center;transition:background .2s ease,color .2s ease;width:34px}.Chat-module_chatFeedbackToggle__IeOM6[data-enabled=true] .Chat-module_chatFeedbackIcon__XcB7A{background:#e0f2fe;color:#0284c7}.Chat-module_chatFeedbackToggle__IeOM6[data-enabled=false] .Chat-module_chatFeedbackIcon__XcB7A{background:#f3f4f6;color:#94a3b8}.Chat-module_chatFeedbackMeta__6t2be{display:flex;flex:1;flex-direction:column;gap:2px}.Chat-module_chatFeedbackLabel__qQgH3{color:#0f172a;font-size:.85rem;font-weight:600}.Chat-module_chatFeedbackDescription__I9bNg{color:#64748b;font-size:.75rem}.Chat-module_chatFeedbackIndicator__uHCr7{border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:2px 8px;text-transform:uppercase}.Chat-module_chatFeedbackIndicatorActive__bkw-w{background:#dcfce7;border:1px solid #34d399;color:#166534}.Chat-module_chatFeedbackIndicatorInactive__qMBkh{background:#fef9c3;border:1px solid #facc15;color:#713f12}.Chat-module_pauseButton__eeu7K{background:linear-gradient(135deg,#ffb347,#ff8c42)!important}.Chat-module_pauseButton__eeu7K:hover:not(:disabled){background:linear-gradient(135deg,#ffc067,#ff9e5f)!important}.Chat-module_pauseButton__eeu7K.Chat-module_pausing__pTx8b{cursor:wait!important;opacity:.6!important}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya{background:linear-gradient(135deg,#10b981,#059669)!important}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya:hover:not(:disabled){background:linear-gradient(135deg,#34d399,#059669)!important;box-shadow:0 8px 24px rgba(16,185,129,.35);transform:translateY(-2px) scale(1.02)}.Chat-module_pauseButton__eeu7K svg{transition:transform .3s ease}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya svg{transform:scale(1.1)}.Chat-module_pauseButton__eeu7K.Chat-module_pausing__pTx8b svg{opacity:.8}.Chat-module_stopButton__dkPOW{background:linear-gradient(135deg,#dc2626,#991b1c)!important;color:#fefefe!important}.Chat-module_stopButton__dkPOW:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#dc2626)!important}.Chat-module_stopButton__dkPOW:disabled{cursor:not-allowed!important;opacity:.6!important}.Chat-module_stopButton__dkPOW svg{transition:transform .3s ease}.Chat-module_stopButton__dkPOW:focus-visible{outline:2px solid hsla(0,91%,71%,.8);outline-offset:2px}.Chat-module_voiceCallIndicatorBar__N2sWN{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(16,185,129,.1));border-bottom:1px solid rgba(34,197,94,.3);display:flex;grid-area:🟦;justify-content:center;padding:12px 20px;width:100%}.Chat-module_voiceCallIndicator__tsaaG{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(16,185,129,.2));border:1px solid rgba(34,197,94,.4);border-radius:20px;box-shadow:0 2px 8px rgba(34,197,94,.2);color:#10b981;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:8px 16px;position:relative}.Chat-module_voiceCallIndicator__tsaaG svg{animation:Chat-module_voiceCallIconPulse__zZbJn 2s ease-in-out infinite;flex-shrink:0;height:16px;width:16px}.Chat-module_voiceCallIndicator__tsaaG span{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}.Chat-module_voiceCallPulse__XcGU4{animation:Chat-module_voiceCallPulse__XcGU4 1.5s ease-in-out infinite;background:#10b981;border-radius:50%;height:8px;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:8px}@keyframes Chat-module_voiceCallIconPulse__zZbJn{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes Chat-module_voiceCallPulse__XcGU4{0%,to{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.6;transform:translateY(-50%) scale(1.3)}}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG{border-radius:16px;font-size:12px;margin-bottom:8px;padding:6px 12px}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG svg{height:14px;width:14px}.Chat-module_feedbackStatus__-df7l{word-wrap:break-word;animation:Chat-module_feedbackStatusSlideIn__n6bbB .28s ease-out;backdrop-filter:blur(20px);border-radius:14px;box-shadow:0 18px 32px rgba(15,23,42,.35);font-weight:500;max-width:340px;padding:14px 22px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.Chat-module_feedbackStatusSuccess__Ax2q0{background:linear-gradient(135deg,#10b981,#059669);color:#f8fafc}.Chat-module_feedbackStatusError__dnv6d{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fef2f2}@keyframes Chat-module_feedbackStatusSlideIn__n6bbB{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.Chat-module_Chat__j2eE5{--chat-message-min-width:100px;--chat-message-avatar-size:36px;--chat-message-max-width:min(85%,560px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-message-avatar-gap:10px;--chat-input-font-size:16px;--chat-input-padding-y:14px;--chat-input-padding-x:18px;--chat-input-action-size:44px}.Chat-module_constrainedArticleVisual__0axxM{--chat-article-layout-padding-inline:clamp(24px,6vw,36px)}.Chat-module_actions__gTZ5T{gap:6px;margin:12px 16px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:16px 20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{margin-bottom:16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:18px;font-size:14px;padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{margin-bottom:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{margin:0;max-width:100%;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP{border-radius:0;font-size:15px;line-height:1.68;padding:2px 0}.Chat-module_articleModeMessageActions__h2qaG{gap:8px;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{margin:0 0 4px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:10px;padding:16px 20px calc(16px + env(safe-area-inset-bottom))}.Chat-module_speechStatusBubble__qBBWI{bottom:76px;font-size:11px;max-width:calc(100% - 28px);padding:7px 11px;right:14px}.Chat-module_dictationSettingsPanel__0gI-V{grid-template-columns:minmax(0,1fr)}.Chat-module_scrollToBottom__nzxdZ{font-size:18px;height:44px;top:calc(100% - 160px);width:44px}.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_ratingModalContent__CCdq7{border-radius:16px;margin:16px;max-height:80vh;overflow-y:auto;padding:24px 20px}.Chat-module_ratingModalContent__CCdq7.Chat-module_imageAttachmentModal__Ef6L5{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;padding:0}.Chat-module_stars__PCzNO{gap:6px;margin-bottom:20px}.Chat-module_stars__PCzNO span{font-size:32px;padding:8px}.Chat-module_ratingActions__nXcss{flex-direction:column-reverse;gap:8px}.Chat-module_ratingActions__nXcss button{border-radius:10px;font-size:16px;padding:14px;width:100%}.Chat-module_selfLearningModalHeader__PDIt1{align-items:flex-start;flex-direction:column}.Chat-module_selfLearningAvatarGroup__jgy2k{justify-content:flex-start}.Chat-module_selfLearningMetaRow__z4Tg0{align-items:flex-start}}@media (max-width:480px){.Chat-module_Chat__j2eE5{--chat-message-min-width:80px;--chat-message-avatar-size:32px;--chat-message-max-width:min(90%,520px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-message-avatar-gap:8px;--chat-input-padding-y:12px;--chat-input-padding-x:16px;--chat-input-action-size:40px}.Chat-module_actions__gTZ5T{gap:4px;margin:8px 12px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:16px;font-size:14px;padding:10px 14px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{margin:0 0 4px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.Chat-module_speechStatusBubble__qBBWI{bottom:72px;max-width:calc(100% - 20px);right:10px}.Chat-module_dictationCorrectionActions__ssE7i,.Chat-module_dictationErrorActions__K3ykb{flex-direction:column}.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_scrollToBottom__nzxdZ{font-size:16px;height:40px;top:calc(100% - 140px);width:40px}.Chat-module_ratingModal__XVKYm{align-items:flex-end;padding:0}.Chat-module_ratingModal__XVKYm[data-chat-modal=image-attachment]{align-items:center;padding:12px}.Chat-module_ratingModal__XVKYm[data-chat-modal=citation-browser]{align-items:center;padding:8px}.Chat-module_ratingModalContent__CCdq7{border-radius:20px 20px 0 0;margin:0;max-height:70vh;padding:24px 16px 20px;width:100%}.Chat-module_ratingModalContent__CCdq7.Chat-module_imageAttachmentModal__Ef6L5{border-radius:16px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:0;width:100%}.Chat-module_ratingModalContent__CCdq7.Chat-module_citationBrowserModal__jYU4c{border-radius:14px;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:0;width:100%}.Chat-module_citationBrowserModal__jYU4c .Chat-module_liveBrowserPreviewStreamArea__aIhQx{height:58vh;min-height:min(320px,calc(100dvh - 112px))}.Chat-module_imageAttachmentModalHeader__onK3Z{padding:16px 56px 12px 16px}.Chat-module_imageAttachmentModalPreview__gXDer{max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);padding:12px}.Chat-module_imageAttachmentModalImage__t61oG{max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px)}}@media (prefers-reduced-motion:reduce){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ,.Chat-module_feedbackStatus__-df7l,.Chat-module_ratingModalContent__CCdq7,.Chat-module_ratingModal__XVKYm,.Chat-module_scrollToBottom__nzxdZ{animation:none}.Chat-module_chatButton__d9VgA,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{transition:none}}@media (prefers-contrast:high){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border:2px solid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{border-width:3px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{border:2px solid}}.Chat-module_emailContainer__TBxXZ{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.Chat-module_emailModalHeader__Z4-CJ{background:#f8fafc}.Chat-module_emailHeaderText__1dR6R{display:flex;flex-direction:column;gap:2px}.Chat-module_emailHeaderLabel__7iAEH{color:#64748b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.Chat-module_emailMetadata__8XXGf{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);margin-bottom:16px;padding:18px 20px}.Chat-module_emailField__pcb03{display:flex;font-size:14px;gap:8px;line-height:1.5;margin-bottom:8px}.Chat-module_emailField__pcb03:last-child{margin-bottom:0}.Chat-module_emailField__pcb03 strong{color:#64748b;font-weight:600;min-width:60px}.Chat-module_emailRecipients__YVVys{color:#0f172a;word-break:break-word}.Chat-module_emailBody__OBt-w{text-align:left}.Chat-module_emailBody__OBt-w strong{color:#64748b;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.Chat-module_emailBodyContent__-vFo2{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);line-height:1.6;max-height:400px;overflow-y:auto;padding:22px}.Chat-module_emailBodyContent__-vFo2 p{margin:0 0 12px}.Chat-module_emailBodyContent__-vFo2 p:last-child{margin-bottom:0}.Chat-module_browserRunModalHeader__0AyeK{background:linear-gradient(135deg,#f8fafc,#ecfeff 40%,#ecfccb);border-bottom:1px solid #dbeafe}.Chat-module_browserRunHeaderText__JUbNv{display:flex;flex-direction:column;gap:2px}.Chat-module_browserRunHeaderStatus__uu3Fi{color:#475467;font-size:13px;line-height:1.5;margin:0}.Chat-module_browserRunHeaderLabel__uKYCb{color:#475569;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.Chat-module_browserRunMeta__lJkQc{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);margin-bottom:18px;padding:16px 18px}.Chat-module_browserRunWarning__ojdEP{background:#fffbeb;border:1px solid #fbbf24;border-radius:12px;color:#92400e;margin-bottom:14px;padding:12px 14px}.Chat-module_browserRunError__aELQo{background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;color:#7f1d1d;margin-bottom:14px;padding:12px 14px}.Chat-module_browserRunErrorSummary__ygz-g{font-size:14px;line-height:1.5;margin:0}.Chat-module_browserRunErrorSteps__S96nl{display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding-left:18px}.Chat-module_browserRunDebugDetails__SZ3VT{margin-top:10px}.Chat-module_browserRunDebugDetails__SZ3VT summary{color:#7f1d1d;cursor:pointer;font-weight:600}.Chat-module_browserRunDebugDetails__SZ3VT pre{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;font-size:12px;line-height:1.45;margin:10px 0 0;max-height:220px;overflow:auto;padding:10px}.Chat-module_browserRunFallbackContent__NYCkp{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:14px 16px}.Chat-module_browserRunStatusBanner__ljIE9{background:rgba(248,250,252,.95);border:1px solid rgba(148,163,184,.28);border-radius:14px;color:#334155;font-size:13px;line-height:1.5;margin-bottom:18px;padding:12px 14px}.Chat-module_browserRunMediaGrid__KDz3I{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.Chat-module_browserRunMediaCard__focNP{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 4px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:10px;padding:12px}.Chat-module_browserRunMediaCardHeader__sOfLw{display:flex;flex-direction:column;gap:4px}.Chat-module_browserRunMediaTitle__a6Ctw{color:#0f172a;font-size:14px;font-weight:600;margin:0}.Chat-module_browserRunMediaCaption__LG8E6{color:#475569;font-size:12px;line-height:1.5;margin:0}.Chat-module_browserRunMediaImage__UI4pd,.Chat-module_browserRunMediaVideo__z2RgF{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;max-height:260px;object-fit:contain;width:100%}.Chat-module_browserRunActionLog__YZ0CQ{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:18px;padding:14px 16px}.Chat-module_browserRunActionLogTitle__XaEIW{color:#64748b;font-size:13px;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.Chat-module_browserRunActionList__SOgfd{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.Chat-module_browserRunActionItem__1q668{align-items:center;background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:12px;color:#0f172a;display:flex;font-size:14px;gap:10px;line-height:1.5;padding:10px 12px}.Chat-module_browserRunActionPending__unJJt{opacity:.82}.Chat-module_browserRunActionRunning__NdlRL{background:rgba(14,165,233,.08);border-color:rgba(14,165,233,.35)}.Chat-module_browserRunActionComplete__PU36H{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.22)}.Chat-module_browserRunActionError__y-cm0{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.24)}.Chat-module_browserRunActionState__pkfKg{background:#cbd5e1;border-radius:999px;flex-shrink:0;height:10px;width:10px}.Chat-module_browserRunActionStateRunning__L1IbZ{background:#0ea5e9;box-shadow:0 0 0 4px rgba(14,165,233,.14)}.Chat-module_browserRunActionStateComplete__CpVEc{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12)}.Chat-module_browserRunActionStateError__lU-t4{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12)}.Chat-module_browserRunActionMeta__df32n{color:#64748b;font-size:12px;font-weight:600;margin-left:auto}@media print{.Chat-module_Chat__j2eE5{background:transparent!important;box-shadow:none!important;color:#f8fafc!important;min-height:auto!important;padding:0!important}.Chat-module_chatMainFlow__--8FE{gap:0!important;min-height:auto!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{background:linear-gradient(150deg,rgba(2,6,23,.98),rgba(15,23,42,.92))!important;border:1px solid rgba(56,189,248,.32)!important;border-radius:40px!important;box-shadow:inset 0 40px 80px rgba(0,0,0,.35)!important;padding:48px 40px 64px!important;page-break-inside:avoid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{break-inside:avoid;page-break-inside:avoid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{background:linear-gradient(145deg,var(--agent-chat-brand-color-light,#7dd3fc),var(--agent-chat-brand-color,#0ea5e9))!important;border:1px solid hsla(0,0%,100%,.35)!important;border-radius:32px!important;box-shadow:inset 0 18px 40px rgba(2,6,23,.6)!important;color:#f8fafc!important;padding:18px 22px!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{background:#f8fbff!important;border:1px solid rgba(148,163,184,.45)!important;box-shadow:inset 0 10px 30px rgba(15,23,42,.3)!important;color:#0f172a!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{border:1px solid hsla(0,0%,100%,.35)!important}.Chat-module_messageMeta__eqCRu,.Chat-module_participantLabel__0Oo-3{color:rgba(226,232,240,.8)!important}.Chat-module_actions__gTZ5T,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ button,.Chat-module_copyButtonContainer__Rij0U,.Chat-module_feedbackStatus__-df7l,.Chat-module_scrollToBottom__nzxdZ,.Chat-module_voiceCallIndicatorBar__N2sWN,.Chat-module_voiceCallIndicator__tsaaG{display:none!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N>:last-child{padding-bottom:100px!important}}.Chat-module_emailStatus__T4UuL{color:#0f172a;font-weight:600;text-transform:capitalize}.Chat-module_imagePrompt__v7-Ho{backdrop-filter:blur(12px);background:hsla(0,0%,100%,.25);border:1px solid hsla(0,0%,49%,.35);border-radius:18px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.25);display:flex;flex-direction:column;gap:8px;margin-bottom:16px;margin-top:16px;padding:12px}.Chat-module_imagePromptPreview__ve5dB{background:linear-gradient(180deg,rgba(15,118,255,.05),hsla(0,0%,100%,.4));border:1px dashed hsla(0,0%,49%,.3);border-radius:14px;min-height:160px;overflow:hidden;position:relative}.Chat-module_imagePromptImage__KjE3H{display:block;height:100%;object-fit:cover;width:100%}.Chat-module_imagePromptPlaceholder__b8cW6{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.Chat-module_imagePromptSpinner__nat8r{animation:Chat-module_imagePromptSpinner__nat8r .9s linear infinite;border:3px solid hsla(0,0%,100%,.35);border-radius:50%;border-top-color:#2563eb;height:36px;width:36px}@keyframes Chat-module_imagePromptSpinner__nat8r{to{transform:rotate(1turn)}}.Chat-module_imagePromptMeta__YwltP{display:flex;flex-direction:column;gap:4px}.Chat-module_imagePromptPrompt__N1E--{color:#111;font-size:13px;font-weight:500;overflow-wrap:anywhere}.Chat-module_imagePromptStatus__0ROQF{color:#6b7280;font-size:11px}.Chat-module_imagePromptError__x1952{align-items:center;background:rgba(220,38,38,.08);color:#dc2626;display:flex;font-size:12px;inset:0;justify-content:center;padding:12px;position:absolute;text-align:center}.Chat-module_richFeaturePlaceholder__mXS7-{align-items:center;background:rgba(56,189,248,.12);border:1px solid rgba(59,130,246,.25);border-radius:18px;display:flex;gap:12px;margin-bottom:16px;margin-top:16px;padding:12px 14px}.Chat-module_richFeaturePlaceholderSpinner__ingFq{animation:Chat-module_richFeatureSpinner__eOql6 .8s linear infinite;border:3px solid rgba(59,130,246,.3);border-radius:50%;border-top-color:#22d3ee;height:32px;width:32px}.Chat-module_richFeaturePlaceholderCopy__sEgxN{display:flex;flex-direction:column}.Chat-module_richFeaturePlaceholderTitle__lF7rJ{color:#0f172a;font-size:13px;font-weight:600}.Chat-module_richFeaturePlaceholderStatus__UJg09{color:#475569;font-size:11px}.Chat-module_progressPanel__9M8h9{background:linear-gradient(180deg,rgba(239,246,255,.94),rgba(219,234,254,.86));border:1px solid rgba(59,130,246,.24);border-radius:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px;margin-top:10px;padding:12px 13px}.Chat-module_progressPanelTitle__rBdoY{color:#0f172a;font-size:12px;font-weight:700;line-height:1.3}.Chat-module_progressPanelTitle__rBdoY p{margin:0}.Chat-module_progressPanelSection__F3xUF{display:flex;flex-direction:column;gap:4px}.Chat-module_progressPanelSectionLabel__aTPgr{color:#1d4ed8;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.Chat-module_progressPanelSectionBody__Z7zX0{color:#0f172a;font-size:12px;line-height:1.35}.Chat-module_progressPanelSectionBody__Z7zX0 p{margin:0}.Chat-module_progressPanelList__PHFeP{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.Chat-module_progressPanelListItem__7v9jN{align-items:flex-start;display:grid;gap:8px;grid-template-columns:auto auto 1fr}.Chat-module_progressPanelListBullet__Tzvi7{color:#2563eb;font-size:14px;line-height:1.2;margin-top:2px}.Chat-module_progressPanelItemSpinner__oJ6Az{animation:Chat-module_progressPanelSpinner__pzxP2 .75s linear infinite;border:2px solid rgba(37,99,235,.26);border-radius:9999px;border-top-color:#2563eb;height:11px;margin-top:3px;width:11px}.Chat-module_progressPanelItemCompleted__7bJhG{align-items:center;background:rgba(34,197,94,.16);border-radius:9999px;color:#15803d;display:inline-flex;font-size:9px;font-weight:700;height:11px;justify-content:center;line-height:1;margin-top:2px;width:11px}.Chat-module_progressPanelItemText__tZPIs{color:#0f172a;font-size:12px;line-height:1.35}.Chat-module_progressPanelItemText__tZPIs p{margin:0}@keyframes Chat-module_progressPanelSpinner__pzxP2{to{transform:rotate(1turn)}}@keyframes Chat-module_richFeatureSpinner__eOql6{to{transform:rotate(1turn)}}\n/*# sourceMappingURL=data:application/json;base64,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QUVmLGdCQUNKLENBRUEsNENBQ0ksUUFDSixDQUVBLG1EQUNJLEdBQ0ksdUJBQ0osQ0FDSixDQUVBLGlEQUNJLEdBQ0ksdUJBQ0osQ0FDSiIsImZpbGUiOiJDaGF0Lm1vZHVsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ09wZW5Nb2ppQmxhY2snO1xuICAgIHNyYzogdXJsKCcvZm9udHMvT3Blbk1vamktYmxhY2stZ2x5Zi53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCdodHRwczovL3M2LnB0YmsuaW8vZm9udHMvT3Blbk1vamktYmxhY2stZ2x5Zi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTsgLyogPC0gVE9ETzogW/CfkLHigI3wn5qAXSBEeW5hbWljYWxseSBsb2FkIGZyb20gL3NlcnZlcnMudHMgKi9cbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgdW5pY29kZS1yYW5nZTogVSsyMywgVSsyQSwgVSsyRCwgVSszMC0zOSwgVStBOSwgVStBRSwgVSsyMDBELCBVKzIwM0MsIFUrMjA0OSwgVSsyMEUzLCBVKzIxMTcsIFUrMjEyMCwgVSsyMTIyLCBVKzIxMzksXG4gICAgICAgIFUrMjE5NC0yMTk5LCBVKzIxQTksIFUrMjFBQSwgVSsyMjlDLCBVKzIzMUEsIFUrMjMxQiwgVSsyMzI4LCBVKzIzQ0YsIFUrMjNFOS0yM0YzLCBVKzIzRjgtMjNGRSwgVSsyNEMyLCBVKzI1QTEsXG4gICAgICAgIFUrMjVBQS0yNUFFLCBVKzI1QjYsIFUrMjVDMCwgVSsyNUM5LCBVKzI1RDAsIFUrMjVEMSwgVSsyNUU3LTI1RUEsIFUrMjVFRCwgVSsyNUVFLCBVKzI1RkItMjVGRSwgVSsyNjAwLTI2MDUsXG4gICAgICAgIFUrMjYwRSwgVSsyNjExLCBVKzI2MTQsIFUrMjYxNSwgVSsyNjE4LCBVKzI2MUQsIFUrMjYyMCwgVSsyNjIyLCBVKzI2MjMsIFUrMjYyNiwgVSsyNjJBLCBVKzI2MkUsIFUrMjYyRixcbiAgICAgICAgVSsyNjM4LTI2M0EsIFUrMjY0MCwgVSsyNjQyLCBVKzI2NDgtMjY1MywgVSsyNjVGLCBVKzI2NjAsIFUrMjY2MywgVSsyNjY1LCBVKzI2NjYsIFUrMjY2OCwgVSsyNjdCLCBVKzI2N0UsIFUrMjY3RixcbiAgICAgICAgVSsyNjkxLTI2OTcsIFUrMjY5OSwgVSsyNjlCLCBVKzI2OUMsIFUrMjZBMCwgVSsyNkExLCBVKzI2QTcsIFUrMjZBQSwgVSsyNkFCLCBVKzI2QjAsIFUrMjZCMSwgVSsyNkJELCBVKzI2QkUsXG4gICAgICAgIFUrMjZDNCwgVSsyNkM1LCBVKzI2QzgsIFUrMjZDRSwgVSsyNkNGLCBVKzI2RDEsIFUrMjZEMywgVSsyNkQ0LCBVKzI2RTksIFUrMjZFQSwgVSsyNkYwLTI2RjUsIFUrMjZGNy0yNkZBLCBVKzI2RkQsXG4gICAgICAgIFUrMjcwMiwgVSsyNzA1LCBVKzI3MDgtMjcwRCwgVSsyNzBGLCBVKzI3MTIsIFUrMjcxNCwgVSsyNzE2LCBVKzI3MUQsIFUrMjcyMSwgVSsyNzI4LCBVKzI3MzMsIFUrMjczNCwgVSsyNzQ0LFxuICAgICAgICBVKzI3NDcsIFUrMjc0QywgVSsyNzRFLCBVKzI3NTMtMjc1NSwgVSsyNzU3LCBVKzI3NjMsIFUrMjc2NCwgVSsyNzk1LTI3OTcsIFUrMjdBMSwgVSsyN0IwLCBVKzI3QkYsIFUrMjkzNCwgVSsyOTM1LFxuICAgICAgICBVKzJCMDUtMkIwNywgVSsyQjBDLCBVKzJCMEQsIFUrMkIxQiwgVSsyQjFDLCBVKzJCMUYtMkIyNCwgVSsyQjJFLCBVKzJCMkYsIFUrMkI1MCwgVSsyQjU1LCBVKzJCNTgsIFUrMkI4RixcbiAgICAgICAgVSsyQkJBLTJCQkMsIFUrMkJDMywgVSsyQkM0LCBVKzJCRUEsIFUrMkJFQiwgVSszMDMwLCBVKzMwM0QsIFUrMzI5NywgVSszMjk5LCBVK0UwMDAtRTAwOSwgVStFMDEwLCBVK0UwMTEsXG4gICAgICAgIFUrRTA0MC1FMDZELCBVK0UwODAtRTBCNCwgVStFMEMwLUUwQ0MsIFUrRTBGRi1FMTBELCBVK0UxNDAtRTE0QSwgVStFMTUwLUUxNTcsIFUrRTE4MS1FMTg5LCBVK0UxQzAtRTFDNCxcbiAgICAgICAgVStFMUM2LUUxRDksIFUrRTIwMC1FMjE2LCBVK0UyNDAtRTI2OSwgVStFMjgwLUUyODMsIFUrRTJDMC1FMkM0LCBVK0UyQzYtRTJEQSwgVStFMzAwLUUzMDMsIFUrRTMwNS1FMzBGLFxuICAgICAgICBVK0UzMTItRTMxNiwgVStFMzE4LUUzMjIsIFUrRTMyNC1FMzI5LCBVK0UzMkIsIFUrRTM0MC1FMzQ4LCBVK0UzODAsIFUrRTM4MSwgVStGMDAwLCBVK0Y3N0EsIFUrRjhGRiwgVStGRTBGLFxuICAgICAgICBVKzFGMDA0LCBVKzFGMENGLCBVKzFGMTBELTFGMTBGLCBVKzFGMTJGLCBVKzFGMTZELTFGMTcxLCBVKzFGMTdFLCBVKzFGMTdGLCBVKzFGMThFLCBVKzFGMTkxLTFGMTlBLCBVKzFGMUU2LTFGMUZGLFxuICAgICAgICBVKzFGMjAxLCBVKzFGMjAyLCBVKzFGMjFBLCBVKzFGMjJGLCBVKzFGMjMyLTFGMjNBLCBVKzFGMjUwLCBVKzFGMjUxLCBVKzFGMjYwLTFGMjY1LCBVKzFGMzAwLTFGMzIxLCBVKzFGMzI0LTFGMzkzLFxuICAgICAgICBVKzFGMzk2LCBVKzFGMzk3LCBVKzFGMzk5LTFGMzlCLCBVKzFGMzlFLTFGM0YwLCBVKzFGM0YzLTFGM0Y1LCBVKzFGM0Y3LTFGNEZELCBVKzFGNEZGLTFGNTNELCBVKzFGNTQ5LTFGNTRFLFxuICAgICAgICBVKzFGNTUwLTFGNTY3LCBVKzFGNTZGLCBVKzFGNTcwLCBVKzFGNTczLTFGNTdBLCBVKzFGNTg3LCBVKzFGNThBLTFGNThELCBVKzFGNTkwLCBVKzFGNTk1LCBVKzFGNTk2LCBVKzFGNUE0LFxuICAgICAgICBVKzFGNUE1LCBVKzFGNUE4LCBVKzFGNUIxLCBVKzFGNUIyLCBVKzFGNUJDLCBVKzFGNUMyLTFGNUM0LCBVKzFGNUQxLTFGNUQzLCBVKzFGNURDLTFGNURFLCBVKzFGNUUxLCBVKzFGNUUzLFxuICAgICAgICBVKzFGNUU4LCBVKzFGNUVGLCBVKzFGNUYzLCBVKzFGNUZBLTFGNjRGLCBVKzFGNjgwLTFGNkM1LCBVKzFGNkNCLTFGNkQyLCBVKzFGNkQ1LTFGNkQ3LCBVKzFGNkRDLTFGNkU1LCBVKzFGNkU5LFxuICAgICAgICBVKzFGNkVCLCBVKzFGNkVDLCBVKzFGNkYwLCBVKzFGNkYzLTFGNkZDLCBVKzFGN0UwLTFGN0VCLCBVKzFGN0YwLCBVKzFGOTBDLTFGOTNBLCBVKzFGOTNDLTFGOTQ1LCBVKzFGOTQ3LTFGOUZGLFxuICAgICAgICBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg4LCBVKzFGQTkwLTFGQUJELCBVKzFGQUJGLTFGQUM1LCBVKzFGQUNFLTFGQURCLCBVKzFGQUUwLTFGQUU4LCBVKzFGQUYwLTFGQUY4LFxuICAgICAgICBVKzFGQkM1LTFGQkM5LCBVK0UwMDYxLUUwMDY3LCBVK0UwMDY5LCBVK0UwMDZDLUUwMDc5LCBVK0UwMDdGO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ09wZW5Nb2ppQ29sb3InO1xuICAgIHNyYzogdXJsKCcvZm9udHMvT3Blbk1vamktY29sb3ItY2JkdC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCdodHRwczovL3M2LnB0YmsuaW8vZm9udHMvT3Blbk1vamktY29sb3ItY2JkdC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgdW5pY29kZS1yYW5nZTogVSsyMywgVSsyQSwgVSsyRCwgVSszMC0zOSwgVStBOSwgVStBRSwgVSsyMDBELCBVKzIwM0MsIFUrMjA0OSwgVSsyMEUzLCBVKzIxMTcsIFUrMjEyMCwgVSsyMTIyLCBVKzIxMzksXG4gICAgICAgIFUrMjE5NC0yMTk5LCBVKzIxQTksIFUrMjFBQSwgVSsyMjlDLCBVKzIzMUEsIFUrMjMxQiwgVSsyMzI4LCBVKzIzQ0YsIFUrMjNFOS0yM0YzLCBVKzIzRjgtMjNGRSwgVSsyNEMyLCBVKzI1QTEsXG4gICAgICAgIFUrMjVBQS0yNUFFLCBVKzI1QjYsIFUrMjVDMCwgVSsyNUM5LCBVKzI1RDAsIFUrMjVEMSwgVSsyNUU3LTI1RUEsIFUrMjVFRCwgVSsyNUVFLCBVKzI1RkItMjVGRSwgVSsyNjAwLTI2MDUsXG4gICAgICAgIFUrMjYwRSwgVSsyNjExLCBVKzI2MTQsIFUrMjYxNSwgVSsyNjE4LCBVKzI2MUQsIFUrMjYyMCwgVSsyNjIyLCBVKzI2MjMsIFUrMjYyNiwgVSsyNjJBLCBVKzI2MkUsIFUrMjYyRixcbiAgICAgICAgVSsyNjM4LTI2M0EsIFUrMjY0MCwgVSsyNjQyLCBVKzI2NDgtMjY1MywgVSsyNjVGLCBVKzI2NjAsIFUrMjY2MywgVSsyNjY1LCBVKzI2NjYsIFUrMjY2OCwgVSsyNjdCLCBVKzI2N0UsIFUrMjY3RixcbiAgICAgICAgVSsyNjkxLTI2OTcsIFUrMjY5OSwgVSsyNjlCLCBVKzI2OUMsIFUrMjZBMCwgVSsyNkExLCBVKzI2QTcsIFUrMjZBQSwgVSsyNkFCLCBVKzI2QjAsIFUrMjZCMSwgVSsyNkJELCBVKzI2QkUsXG4gICAgICAgIFUrMjZDNCwgVSsyNkM1LCBVKzI2QzgsIFUrMjZDRSwgVSsyNkNGLCBVKzI2RDEsIFUrMjZEMywgVSsyNkQ0LCBVKzI2RTksIFUrMjZFQSwgVSsyNkYwLTI2RjUsIFUrMjZGNy0yNkZBLCBVKzI2RkQsXG4gICAgICAgIFUrMjcwMiwgVSsyNzA1LCBVKzI3MDgtMjcwRCwgVSsyNzBGLCBVKzI3MTIsIFUrMjcxNCwgVSsyNzE2LCBVKzI3MUQsIFUrMjcyMSwgVSsyNzI4LCBVKzI3MzMsIFUrMjczNCwgVSsyNzQ0LFxuICAgICAgICBVKzI3NDcsIFUrMjc0QywgVSsyNzRFLCBVKzI3NTMtMjc1NSwgVSsyNzU3LCBVKzI3NjMsIFUrMjc2NCwgVSsyNzk1LTI3OTcsIFUrMjdBMSwgVSsyN0IwLCBVKzI3QkYsIFUrMjkzNCwgVSsyOTM1LFxuICAgICAgICBVKzJCMDUtMkIwNywgVSsyQjBDLCBVKzJCMEQsIFUrMkIxQiwgVSsyQjFDLCBVKzJCMUYtMkIyNCwgVSsyQjJFLCBVKzJCMkYsIFUrMkI1MCwgVSsyQjU1LCBVKzJCNTgsIFUrMkI4RixcbiAgICAgICAgVSsyQkJBLTJCQkMsIFUrMkJDMywgVSsyQkM0LCBVKzJCRUEsIFUrMkJFQiwgVSszMDMwLCBVKzMwM0QsIFUrMzI5NywgVSszMjk5LCBVK0UwMDAtRTAwOSwgVStFMDEwLCBVK0UwMTEsXG4gICAgICAgIFUrRTA0MC1FMDZELCBVK0UwODAtRTBCNCwgVStFMEMwLUUwQ0MsIFUrRTBGRi1FMTBELCBVK0UxNDAtRTE0QSwgVStFMTUwLUUxNTcsIFUrRTE4MS1FMTg5LCBVK0UxQzAtRTFDNCxcbiAgICAgICAgVStFMUM2LUUxRDksIFUrRTIwMC1FMjE2LCBVK0UyNDAtRTI2OSwgVStFMjgwLUUyODMsIFUrRTJDMC1FMkM0LCBVK0UyQzYtRTJEQSwgVStFMzAwLUUzMDMsIFUrRTMwNS1FMzBGLFxuICAgICAgICBVK0UzMTItRTMxNiwgVStFMzE4LUUzMjIsIFUrRTMyNC1FMzI5LCBVK0UzMkIsIFUrRTM0MC1FMzQ4LCBVK0UzODAsIFUrRTM4MSwgVStGMDAwLCBVK0Y3N0EsIFUrRjhGRiwgVStGRTBGLFxuICAgICAgICBVKzFGMDA0LCBVKzFGMENGLCBVKzFGMTBELTFGMTBGLCBVKzFGMTJGLCBVKzFGMTZELTFGMTcxLCBVKzFGMTdFLCBVKzFGMTdGLCBVKzFGMThFLCBVKzFGMTkxLTFGMTlBLCBVKzFGMUU2LTFGMUZGLFxuICAgICAgICBVKzFGMjAxLCBVKzFGMjAyLCBVKzFGMjFBLCBVKzFGMjJGLCBVKzFGMjMyLTFGMjNBLCBVKzFGMjUwLCBVKzFGMjUxLCBVKzFGMjYwLTFGMjY1LCBVKzFGMzAwLTFGMzIxLCBVKzFGMzI0LTFGMzkzLFxuICAgICAgICBVKzFGMzk2LCBVKzFGMzk3LCBVKzFGMzk5LTFGMzlCLCBVKzFGMzlFLTFGM0YwLCBVKzFGM0YzLTFGM0Y1LCBVKzFGM0Y3LTFGNEZELCBVKzFGNEZGLTFGNTNELCBVKzFGNTQ5LTFGNTRFLFxuICAgICAgICBVKzFGNTUwLTFGNTY3LCBVKzFGNTZGLCBVKzFGNTcwLCBVKzFGNTczLTFGNTdBLCBVKzFGNTg3LCBVKzFGNThBLTFGNThELCBVKzFGNTkwLCBVKzFGNTk1LCBVKzFGNTk2LCBVKzFGNUE0LFxuICAgICAgICBVKzFGNUE1LCBVKzFGNUE4LCBVKzFGNUIxLCBVKzFGNUIyLCBVKzFGNUJDLCBVKzFGNUMyLTFGNUM0LCBVKzFGNUQxLTFGNUQzLCBVKzFGNURDLTFGNURFLCBVKzFGNUUxLCBVKzFGNUUzLFxuICAgICAgICBVKzFGNUU4LCBVKzFGNUVGLCBVKzFGNUYzLCBVKzFGNUZBLTFGNjRGLCBVKzFGNjgwLTFGNkM1LCBVKzFGNkNCLTFGNkQyLCBVKzFGNkQ1LTFGNkQ3LCBVKzFGNkRDLTFGNkU1LCBVKzFGNkU5LFxuICAgICAgICBVKzFGNkVCLCBVKzFGNkVDLCBVKzFGNkYwLCBVKzFGNkYzLTFGNkZDLCBVKzFGN0UwLTFGN0VCLCBVKzFGN0YwLCBVKzFGOTBDLTFGOTNBLCBVKzFGOTNDLTFGOTQ1LCBVKzFGOTQ3LTFGOUZGLFxuICAgICAgICBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg4LCBVKzFGQTkwLTFGQUJELCBVKzFGQUJGLTFGQUM1LCBVKzFGQUNFLTFGQURCLCBVKzFGQUUwLTFGQUU4LCBVKzFGQUYwLTFGQUY4LFxuICAgICAgICBVKzFGQkM1LTFGQkM5LCBVK0UwMDYxLUUwMDY3LCBVK0UwMDY5LCBVK0UwMDZDLUUwMDc5LCBVK0UwMDdGO1xufVxuXG4uY29waWVkVG9DbGlwYm9hcmRNZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAzMnB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogIzIyMjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMHB4IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgYm94LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICAgIG9wYWNpdHk6IDAuOTc7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogOTk5OTtcbn1cblxuLkNoYXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgZm9udC1mYW1pbHk6IHZhcihcbiAgICAgICAgICAgIC0tY2hhdC1mb250LWZhbWlseSxcbiAgICAgICAgICAgIHZhcigtLWZvbnQtcG9wcGlucywgJ1BvcHBpbnMnLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sICdTZWdvZSBVSScsIHNhbnMtc2VyaWYpXG4gICAgICAgICksXG4gICAgICAgICdPcGVuTW9qaUNvbG9yJywgJ09wZW5Nb2ppQmxhY2snO1xuXG4gICAgLS1jaGF0LW1lc3NhZ2UtbWluLXdpZHRoOiAxNzBweDtcbiAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwOiAxNHB4O1xuICAgIC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplOiA0MnB4O1xuICAgIC0tY2hhdC1tZXNzYWdlLW1heC13aWR0aDogbWluKFxuICAgICAgICA3MiUsXG4gICAgICAgIDY4MHB4LFxuICAgICAgICBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApKVxuICAgICk7XG4gICAgLS1jaGF0LWJ1YmJsZS1yYWRpdXM6IDI0cHg7XG4gICAgLS1jaGF0LWJ1YmJsZS1zaGFkb3c6IDAgMTJweCAzNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNik7XG4gICAgLS1jaGF0LWJ1YmJsZS1zaGFkb3ctaG92ZXI6IDAgMThweCA0MnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4yKTtcbiAgICAtLWNoYXQtYnViYmxlLWJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTtcbiAgICAtLWNoYXQtYnViYmxlLWZvbnQtc2l6ZTogMTVweDtcbiAgICAtLWNoYXQtYnViYmxlLWxpbmUtaGVpZ2h0OiAxLjYyO1xuICAgIC0tY2hhdC1pbnB1dC12aXNpYmxlLWxpbmVzOiAzO1xuICAgIC0tY2hhdC1pbnB1dC1mb250LXNpemU6IDE1cHg7XG4gICAgLS1jaGF0LWlucHV0LWxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgLS1jaGF0LWlucHV0LXBhZGRpbmcteTogMTBweDtcbiAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy14OiAxMnB4O1xuICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZTogNDBweDtcbiAgICAtLWNoYXQtaW5wdXQtdGV4dGFyZWEtaGVpZ2h0OiBjYWxjKFxuICAgICAgICB2YXIoLS1jaGF0LWlucHV0LXZpc2libGUtbGluZXMpICogdmFyKC0tY2hhdC1pbnB1dC1mb250LXNpemUpICogdmFyKC0tY2hhdC1pbnB1dC1saW5lLWhlaWdodCkgK1xuICAgICAgICAgICAgKDIgKiB2YXIoLS1jaGF0LWlucHV0LXBhZGRpbmcteSkpXG4gICAgKTtcbiAgICAtLWNoYXQtbWVzc2FnZS1tZXRhLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjg1KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1saWZlY3ljbGUtYmFkZ2UtYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjE2KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1saWZlY3ljbGUtYmFkZ2UtY29sb3I6ICM0NzU1Njk7XG4gICAgLS1jaGF0LXBhcnRpY2lwYW50LWxhYmVsLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjgyKTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yOCk7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40Nik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzYpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzYpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtY29sb3I6ICMxMTExMTE7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItc2hhZG93OiAwIDVweCAxNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4yMik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1zcGlubmVyLWJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtc3Bpbm5lci1hY2NlbnQtY29sb3I6ICMxMTExMTE7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1iYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNjUpO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgxMDAsIDExNiwgMTM5LCAwLjgyKTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWhvdmVyLXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMik7XG4gICAgLS1jaGF0LWFydGljbGUtcmF0aW5nLWJhY2tncm91bmQ6IHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNSk7XG4gICAgLS1jaGF0LWFydGljbGUtcmF0aW5nLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoMjQxLCAyNDUsIDI0OSwgMC45NCk7XG4gICAgLS1jaGF0LWFydGljbGUtcmF0aW5nLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgxMDAsIDExNiwgMTM5LCAwLjYyKTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctc2hhZG93OiBub25lO1xuICAgIC0tY2hhdC1pbnB1dC1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xNCk7XG4gICAgLS1jaGF0LWlucHV0LWJhY2tkcm9wOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgcmdiYSgyNDgsIDI1MCwgMjUyLCAwKSAwJSxcbiAgICAgICAgcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjkpIDQ0JSxcbiAgICAgICAgcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjk2KSAxMDAlXG4gICAgKTtcbiAgICAtLWNoYXQtZnVsbC1wYWdlLWlucHV0LWJhY2tkcm9wOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKSAwJSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg2KSA2MCUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSkgMTAwJVxuICAgICk7XG4gICAgLS1jaGF0LWlucHV0LWRyYWctb3Zlci1iYWNrZHJvcDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxODBkZWcsXG4gICAgICAgIHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjA0KSAwJSxcbiAgICAgICAgcmdiYSgxNCwgMTY1LCAyMzMsIDAuMTMpIDEwMCVcbiAgICApO1xuICAgIC0tY2hhdC1pbnB1dC1jb250YWluZXItYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxNTBkZWcsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45OCkgMCUsXG4gICAgICAgIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45NCkgMTAwJVxuICAgICk7XG4gICAgLS1jaGF0LWlucHV0LWNvbnRhaW5lci1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zKTtcbiAgICAtLWNoYXQtaW5wdXQtY29udGFpbmVyLXNoYWRvdzogMCAxNHB4IDM0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEyKSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgLS1jaGF0LWlucHV0LXRleHQtY29sb3I6ICMwZjE3MmE7XG4gICAgLS1jaGF0LWlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAjOGI5YmIxO1xuICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24tY29sb3I6ICM2NDc0OGI7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1iYWNrZ3JvdW5kOiAjZjFmNWY5O1xuICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24taG92ZXItY29sb3I6ICMwZjE3MmE7XG4gICAgLS1jaGF0LWZpbGUtcHJldmlldy1iYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgLS1jaGF0LWZpbGUtcHJldmlldy1ib3JkZXItY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yKTtcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xNSk7XG4gICAgLS1jaGF0LWZpbGUtcHJldmlldy1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zKTtcbiAgICAtLWNoYXQtZmlsZS1uYW1lLWNvbG9yOiAjMDAwMDAwO1xuICAgIC0tY2hhdC1maWxlLXNpemUtY29sb3I6ICM2YjcyODA7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRpdGxlLWNvbG9yOiAjNDc1NTY5O1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdG9nZ2xlLWJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10b2dnbGUtY29sb3I6ICMzMzQxNTU7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10cmFuc2NyaXB0LWJhY2tncm91bmQ6IHJnYmEoMjM5LCAyNDYsIDI1NSwgMC45KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRyYW5zY3JpcHQtY29sb3I6ICMwYzRhNmU7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1zZXR0aW5ncy1jb2xvcjogIzMzNDE1NTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWZhbGxiYWNrLWNvbG9yOiAjNDc1NTY5O1xuICAgIC0tY2hhdC1yZXBseS1jb21wb3Nlci1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xuICAgIC0tY2hhdC1yZXBseS1jb21wb3Nlci1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zKTtcbiAgICAtLWNoYXQtcmVwbHktY29tcG9zZXItc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgIC0tY2hhdC1yZXBseS1kaXNtaXNzLWJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xNCk7XG4gICAgLS1jaGF0LXJlcGx5LWRpc21pc3MtaG92ZXItYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjI0KTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1jb2xvcjogIzQ3NTU2OTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1ob3Zlci1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWJvcmRlci1jb2xvcjogcmdiYSgxNSwgMjMsIDQyLCAwLjE1KTtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1zaGFkb3c6IDAgMTJweCAyOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xOCk7XG4gICAgLS1jaGF0LXNwZWVjaC1zdGF0dXMtZG90LWJhY2tncm91bmQ6ICM2NDc0OGI7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1hY3Rpb24tYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICAtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1hY3Rpb24tY29sb3I6ICMwZjE3MmE7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLWxhYmVsLWNvbG9yOiAjMzM0MTU1O1xuICAgIC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1iYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tdGV4dGFyZWEtYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpO1xufVxuXG4uQ2hhdFtkYXRhLWNoYXQtdGhlbWU9J2RhcmsnXSB7XG4gICAgY29sb3I6ICNlMmU4ZjA7XG4gICAgLS1jaGF0LWJ1YmJsZS1zaGFkb3c6IDAgMTRweCAzNHB4IHJnYmEoMiwgNiwgMjMsIDAuMzgpO1xuICAgIC0tY2hhdC1idWJibGUtc2hhZG93LWhvdmVyOiAwIDE4cHggNDJweCByZ2JhKDIsIDYsIDIzLCAwLjQ4KTtcbiAgICAtLWNoYXQtYnViYmxlLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjIpO1xuICAgIC0tY2hhdC1tZXNzYWdlLW1ldGEtY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC44NCk7XG4gICAgLS1jaGF0LW1lc3NhZ2UtbGlmZWN5Y2xlLWJhZGdlLWJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xNCk7XG4gICAgLS1jaGF0LW1lc3NhZ2UtbGlmZWN5Y2xlLWJhZGdlLWNvbG9yOiAjY2JkNWUxO1xuICAgIC0tY2hhdC1wYXJ0aWNpcGFudC1sYWJlbC1jb2xvcjogcmdiYSgyMDMsIDIxMywgMjI1LCAwLjc2KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC43OCk7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC40KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoMzAsIDQxLCA1OSwgMC45Nik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC43Mik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSgyLCA2LCAyMywgMC4zNCk7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1zaGFkb3c6IDAgMTJweCAyOHB4IHJnYmEoMiwgNiwgMjMsIDAuNDIpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtc3Bpbm5lci1ib3JkZXItY29sb3I6IHJnYmEoMjI2LCAyMzIsIDI0MCwgMC4zKTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNwaW5uZXItYWNjZW50LWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjg2KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWJvcmRlci1jb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC45NSk7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKDMwLCA0MSwgNTksIDAuOTgpO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNzIpO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItc2hhZG93OiAwIDEycHggMjZweCByZ2JhKDIsIDYsIDIzLCAwLjMyKTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjg2KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjk1KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctaG92ZXItYmFja2dyb3VuZDogcmdiYSgzMCwgNDEsIDU5LCAwLjk4KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNzIpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1zaGFkb3c6IDAgMTJweCAyNnB4IHJnYmEoMiwgNiwgMjMsIDAuMzIpO1xuICAgIC0tY2hhdC1pbnB1dC1ib3JkZXItY29sb3I6IHJnYmEoNTEsIDY1LCA4NSwgMC43OCk7XG4gICAgLS1jaGF0LWlucHV0LWJhY2tkcm9wOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgcmdiYSgyLCA2LCAyMywgMCkgMCUsXG4gICAgICAgIHJnYmEoMiwgNiwgMjMsIDAuODIpIDQ4JSxcbiAgICAgICAgcmdiYSgyLCA2LCAyMywgMC45NikgMTAwJVxuICAgICk7XG4gICAgLS1jaGF0LWZ1bGwtcGFnZS1pbnB1dC1iYWNrZHJvcDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxODBkZWcsXG4gICAgICAgIHJnYmEoMiwgNiwgMjMsIDApIDAlLFxuICAgICAgICByZ2JhKDIsIDYsIDIzLCAwLjg4KSA1OCUsXG4gICAgICAgIHJnYmEoMiwgNiwgMjMsIDAuOTgpIDEwMCVcbiAgICApO1xuICAgIC0tY2hhdC1pbnB1dC1kcmFnLW92ZXItYmFja2Ryb3A6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICByZ2JhKDE0LCAxNjUsIDIzMywgMC4wOCkgMCUsXG4gICAgICAgIHJnYmEoOCwgNDcsIDczLCAwLjUpIDEwMCVcbiAgICApO1xuICAgIC0tY2hhdC1pbnB1dC1jb250YWluZXItYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxNTBkZWcsXG4gICAgICAgIHJnYmEoMTUsIDIzLCA0MiwgMC45NikgMCUsXG4gICAgICAgIHJnYmEoMTUsIDIzLCA0MiwgMC45KSAxMDAlXG4gICAgKTtcbiAgICAtLWNoYXQtaW5wdXQtY29udGFpbmVyLWJvcmRlci1jb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC44OCk7XG4gICAgLS1jaGF0LWlucHV0LWNvbnRhaW5lci1zaGFkb3c6IDAgMjBweCA0NHB4IHJnYmEoMiwgNiwgMjMsIDAuNDIpLFxuICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xKTtcbiAgICAtLWNoYXQtaW5wdXQtdGV4dC1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICM5NGEzYjg7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1jb2xvcjogI2NiZDVlMTtcbiAgICAtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoNTEsIDY1LCA4NSwgMC43OCk7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1jb2xvcjogI2Y4ZmFmYztcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC43OCk7XG4gICAgLS1jaGF0LWZpbGUtcHJldmlldy1ib3JkZXItY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuNzIpO1xuICAgIC0tY2hhdC1maWxlLXByZXZpZXctaG92ZXItYmFja2dyb3VuZDogcmdiYSgzMCwgNDEsIDU5LCAwLjg2KTtcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQyKTtcbiAgICAtLWNoYXQtZmlsZS1uYW1lLWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1maWxlLXNpemUtY29sb3I6ICM5NGEzYjg7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1iYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuOTQpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjgpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtY29sb3I6ICNlMmU4ZjA7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10aXRsZS1jb2xvcjogI2NiZDVlMTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRvZ2dsZS1iYWNrZ3JvdW5kOiByZ2JhKDMwLCA0MSwgNTksIDAuOTIpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdG9nZ2xlLWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdHJhbnNjcmlwdC1iYWNrZ3JvdW5kOiByZ2JhKDgsIDQ3LCA3MywgMC42NCk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10cmFuc2NyaXB0LWNvbG9yOiAjYmFlNmZkO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tc2V0dGluZ3MtY29sb3I6ICNjYmQ1ZTE7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1mYWxsYmFjay1jb2xvcjogIzk0YTNiODtcbiAgICAtLWNoYXQtcmVwbHktY29tcG9zZXItYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjk0KTtcbiAgICAtLWNoYXQtcmVwbHktY29tcG9zZXItYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjgpO1xuICAgIC0tY2hhdC1yZXBseS1jb21wb3Nlci1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMiwgNiwgMjMsIDAuMzIpO1xuICAgIC0tY2hhdC1yZXBseS1kaXNtaXNzLWJhY2tncm91bmQ6IHJnYmEoNTEsIDY1LCA4NSwgMC43Nik7XG4gICAgLS1jaGF0LXJlcGx5LWRpc21pc3MtaG92ZXItYmFja2dyb3VuZDogcmdiYSg3MSwgODUsIDEwNSwgMC45KTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1jb2xvcjogI2NiZDVlMTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1ob3Zlci1jb2xvcjogI2Y4ZmFmYztcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1iYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuOTYpO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWJvcmRlci1jb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC44KTtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1zaGFkb3c6IDAgMTZweCAzNHB4IHJnYmEoMiwgNiwgMjMsIDAuNDIpO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWRvdC1iYWNrZ3JvdW5kOiAjOTRhM2I4O1xuICAgIC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWJhY2tncm91bmQ6IHJnYmEoMzAsIDQxLCA1OSwgMC45Mik7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1hY3Rpb24tYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjc4KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tbGFiZWwtY29sb3I6ICNjYmQ1ZTE7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLXRleHRhcmVhLWJhY2tncm91bmQ6IHJnYmEoOCwgMTUsIDI4LCAwLjk4KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tdGV4dGFyZWEtY29sb3I6ICNlMmU4ZjA7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLXRleHRhcmVhLWJvcmRlci1jb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC43OCk7XG59XG5cbi5jb25zdHJhaW5lZEFydGljbGVWaXN1YWwge1xuICAgIC0tY2hhdC1hcnRpY2xlLWxheW91dC1tYXgtd2lkdGg6IDU0cmVtO1xuICAgIC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZTogY2xhbXAoMTZweCwgNHZ3LCA0MHB4KTtcbn1cblxuLmNoYXRNYWluRmxvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICfwn5+mJyBtaW4tY29udGVudFxuICAgICAgICAn8J+SrCcgMWZyXG4gICAgICAgICfwn5OdJyBtaW4tY29udGVudFxuICAgICAgICAvIDFmcjtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdEJhciB7XG4gICAgZ3JpZC1hcmVhOiDwn5+mO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICBjb2xvcjogIzBmMTcyNDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE1LCAyMywgMzYsIDAuMDYpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uVGFza3NJblByb2dyZXNzIHtcbiAgICBncmlkLWFyZWE6IPCfn6Y7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLWVuZDtcbiAgICBtYXJnaW46IDhweCAxNnB4O1xufVxuXG4uYWN0aW9ucyB7XG4gICAgZ3JpZC1hcmVhOiDwn5KsO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgei1pbmRleDogNDA7XG4gICAgYWxpZ24tc2VsZjogc2VsZi1zdGFydDtcbiAgICBqdXN0aWZ5LXNlbGY6IHNlbGYtZW5kO1xuICAgIG1hcmdpbjogMTZweCAyMHB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4uYWN0aW9ucy5wb3J0YWwge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmFjdGlvbnMubGVmdCB7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLXN0YXJ0O1xufVxuXG4uYWN0aW9ucy5yaWdodCB7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLWVuZDtcbn1cblxuLmFjdGlvbnNGYWRlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xufVxuXG4uYWN0aW9uc1Njcm9sbGluZyB7XG4gICAgb3BhY2l0eTogMC4xNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogTGFyZ2UgdGFibGV0IGFuZCBzbWFsbCBkZXNrdG9wIHNjcmVlbnMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5jaGF0QnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIC5jaGF0QnV0dG9uVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIE1lZGl1bSBzY3JlZW5zICovXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMTRweCAxOHB4IDA7XG4gICAgICAgIGdhcDogN3B4O1xuICAgIH1cbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdENoaWxkcmVuIHtcbiAgICBncmlkLWFyZWE6IPCfkqw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDMwMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdENoaWxkcmVuID4gKiB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi8qIENoYXQgbWVzc2FnZXMgYXJlYSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICBncmlkLWFyZWE6IPCfkqw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBhZGRpbmc6IDI4cHggMjRweCAxOHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4uYXJ0aWNsZU1vZGVDaGF0TWVzc2FnZXMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZSk7XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRNZXNzYWdlcyAuY2hhdE1lc3NhZ2Uge1xuICAgIHdpZHRoOiBtaW4odmFyKC0tY2hhdC1hcnRpY2xlLWxheW91dC1tYXgtd2lkdGgpLCAxMDAlKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uYXJ0aWNsZU1vZGVDaGF0TWVzc2FnZXMgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRNZXNzYWdlcyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2UgLm1lc3NhZ2VTdGFjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmhhc0FjdGlvbnNBbmRGaXJzdE1lc3NhZ2VJc0xvbmcge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xufVxuXG4vKiBDdXN0b20gc2Nyb2xsYmFyIHN0eWxpbmcgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA3cHg7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTAwLCAxMTYsIDEzOSwgMC41NSk7XG59XG5cbi8qIEluZGl2aWR1YWwgY2hhdCBtZXNzYWdlICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGNvbHVtbi1nYXA6IHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYW5pbWF0aW9uOiBtZXNzYWdlU2xpZGVJbiAwLjRzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVN0YWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jaGF0LW1lc3NhZ2UtbWF4LXdpZHRoKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VTdGFjayB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVN0YWNrID4gKiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZSB7XG4gICAgY29sdW1uLWdhcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZSAubWVzc2FnZVN0YWNrIHtcbiAgICB3aWR0aDogbWluKDEwMCUsIDg2MHB4KTtcbiAgICBtYXgtd2lkdGg6IG1pbigxMDAlLCA4NjBweCk7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIuYXJ0aWNsZU1vZGVBZ2VudEF2YXRhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1lc3NhZ2VXaXRoTWFwIHtcbiAgICAvKiBtYXJrZXIgY2xhc3MgYXBwbGllZCB0byBtYXAgbWVzc2FnZXMgc28gdGhleSBjYW4gc3RyZXRjaCB3aWRlci4gKi9cbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UubWVzc2FnZVdpdGhNYXAge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5tZXNzYWdlV2l0aE1hcCAubWVzc2FnZVN0YWNrIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogbWluKDkwdncsIDkyMHB4LCBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApKSk7XG4gICAgbWF4LXdpZHRoOiBtaW4oOTB2dywgOTIwcHgsIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UubWVzc2FnZVdpdGhNYXAgLm1lc3NhZ2VTdGFjayB7XG4gICAgICAgIHdpZHRoOiBtaW4oOTJ2dywgNjQwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IG1pbig5MnZ3LCA2NDBweCk7XG4gICAgfVxufVxuXG4ubWVzc2FnZU1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luOiA2cHggOHB4IDA7XG4gICAgZm9udC1zaXplOiAxMS41cHg7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtbWVzc2FnZS1tZXRhLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5pc01lIC5tZXNzYWdlTWV0YSB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIC5tZXNzYWdlTWV0YSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubWVzc2FnZUxpZmVjeWNsZUJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1tZXNzYWdlLWxpZmVjeWNsZS1iYWRnZS1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1tZXNzYWdlLWxpZmVjeWNsZS1iYWRnZS1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5tZXNzYWdlVGltZXN0YW1wIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4ubWVzc2FnZUR1cmF0aW9uIHtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG4ubWVzc2FnZVJlcGx5QnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDAuODg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE4cyBlYXNlLCBjb2xvciAwLjE4cyBlYXNlLCB0cmFuc2Zvcm0gMC4xOHMgZWFzZTtcbn1cblxuLm1lc3NhZ2VSZXBseUJ1dHRvbjpob3Zlcixcbi5tZXNzYWdlUmVwbHlCdXR0b246Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVweCk7XG59XG5cbi5tZXNzYWdlUmVwbHlCdXR0b25JY29uIHtcbiAgICB3aWR0aDogMTNweDtcbiAgICBoZWlnaHQ6IDEzcHg7XG59XG5cbi5tZXNzYWdlTGlmZWN5Y2xlRXJyb3Ige1xuICAgIG1hcmdpbjogNHB4IDZweCAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogI2I5MWMxYztcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbn1cblxuLnBhcnRpY2lwYW50TGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTEuNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LXBhcnRpY2lwYW50LWxhYmVsLWNvbG9yKTtcbiAgICBtYXJnaW46IDAgMCA3cHg7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLnBhcnRpY2lwYW50TGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIG1lc3NhZ2VTbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpIHNjYWxlKDAuOTUpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi5pc05vdENvbXBsZXRlTWVzc2FnZSB7XG4gICAgLyovXG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCAjZmYwMDAwICFpbXBvcnRhbnQ7XG4gICAgLyoqL1xuXG4gICAgb3BhY2l0eTogMC43O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLk5vbkNvbXBsZXRlTWVzc2FnZUZpbGxlciB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBFbmhhbmNlZCBsb2FkaW5nIHN0YXRlcyBmb3IgbWVzc2FnZXMgKi9cbi5pc05vdENvbXBsZXRlTWVzc2FnZSAubWVzc2FnZVRleHQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA4cHg7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGFuaW1hdGlvbjogbG9hZGluZ1B1bHNlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlLmlzTm90Q29tcGxldGVNZXNzYWdlIC5tZXNzYWdlVGV4dDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b29sQ2FsbENoaXBzLFxuLnNvdXJjZUNpdGF0aW9ucyxcbi5jaXRhdGlvbkZvb3Rub3RlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMjgpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxNCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLmNpdGF0aW9uRm9vdG5vdGVzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uY2l0YXRpb25Gb290bm90ZUl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWluLWhlaWdodDogMzJweDtcbn1cblxuLmNpdGF0aW9uRm9vdG5vdGVOdW1iZXIge1xuICAgIG1pbi13aWR0aDogMS4yNXJlbTtcbiAgICBmb250LXNpemU6IDAuODRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgNzglLCB0cmFuc3BhcmVudCk7XG59XG5cbi50b29sQ2FsbENoaXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDVweCAxMXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNik7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDc0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc4KSAyNiUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEyKTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogJ09wZW5Nb2ppQ29sb3InLCAnT3Blbk1vamlCbGFjaycsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG59XG5cbi50b29sQ2FsbENoaXA6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNCk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDY0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg2KSAzNiUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNCk7XG59XG5cbi50b29sQ2FsbENoaXBPbmdvaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjgpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTQsIDE2NSwgMjMzLCAwLjEpO1xufVxuXG4udG9vbENhbGxDaGlwU3RhdHVzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGVhbVRvb2xDYWxsLFxuLnRyYW5zaXRpdmVUb29sQ2FsbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogOHB4O1xufVxuXG4udGVhbUFnZW50Q2hpcCxcbi50cmFuc2l0aXZlQWdlbnRDaGlwIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRvb2xDYWxsTGFiZWwge1xuICAgIGZsZXg6IDE7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50b29sQ2FsbFdpdGhFcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0OSwgMTE1LCAyMiwgMC44KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0OSwgMTE1LCAyMiwgMC4xMik7XG59XG5cbi50b29sQ2FsbE9yaWdpbiB7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b29sQ2FsbERldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRvb2xDYWxsRGV0YWlscyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50b29sQ2FsbERhdGEge1xuICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xufVxuXG4udG9vbENhbGxDaGlwU3Bpbm5lciB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBhbmltYXRpb246IHRvb2xDYWxsU3Bpbm5lciAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyB0b29sQ2FsbFNwaW5uZXIge1xuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbG9hZGluZ1B1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxLjIpO1xuICAgIH1cbn1cblxuLyogVHlwaW5nIGluZGljYXRvciBmb3IgQUkgbWVzc2FnZXMgKi9cbi50eXBpbmdJbmRpY2F0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgYW5pbWF0aW9uOiBtZXNzYWdlU2xpZGVJbiAwLjRzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLnR5cGluZ0luZGljYXRvciAuYXZhdGFyIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luOiAwIDEycHggNHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBb44qX77iPXVxuLnR5cGluZ0luZGljYXRvciAuYXZhdGFyIGltZyB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZjZmYjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG59XG4qL1xuXG4udHlwaW5nQnViYmxlIHtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBtaW4taGVpZ2h0OiAyNHB4O1xufVxuXG4udHlwaW5nRG90cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDRweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udHlwaW5nRG90IHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNmI3MjgwIDAlLCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNikgMTAwJSk7XG4gICAgYW5pbWF0aW9uOiB0eXBpbmdCb3VuY2UgMS40cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4udHlwaW5nRG90Om50aC1jaGlsZCgxKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XG59XG5cbi50eXBpbmdEb3Q6bnRoLWNoaWxkKDIpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjE2cztcbn1cblxuLnR5cGluZ0RvdDpudGgtY2hpbGQoMykge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG59XG5cbkBrZXlmcmFtZXMgdHlwaW5nQm91bmNlIHtcbiAgICAwJSxcbiAgICA4MCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSB0cmFuc2xhdGVZKC04cHgpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VUZXh0IHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2U6bm90KC5pc01lKSAubWVzc2FnZVRleHQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XG59XG5cbi5yYXRpbmdTdGFyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZmVlZGJhY2stc3Rhci1jb2xvciwgdmFyKC0tc3Rhci1pbmFjdGl2ZS1jb2xvciwgI2NjYykpO1xufVxuXG4uZmVlZGJhY2tTdGFyIHtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1mZWVkYmFjay1zdGFyLWNvbG9yLCAjY2NjKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmVlZGJhY2tTdGFySWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZmVlZGJhY2stc3Rhci1jb2xvciwgY3VycmVudENvbG9yKSAhaW1wb3J0YW50O1xuICAgIGZpbGw6IHZhcigtLWNoYXQtZmVlZGJhY2stc3Rhci1maWxsLCBub25lKSAhaW1wb3J0YW50O1xuICAgIHN0cm9rZTogdmFyKC0tY2hhdC1mZWVkYmFjay1zdGFyLWNvbG9yLCBjdXJyZW50Q29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5mZWVkYmFja1N0YXJJY29uICoge1xuICAgIGZpbGw6IHZhcigtLWNoYXQtZmVlZGJhY2stc3Rhci1maWxsLCBub25lKSAhaW1wb3J0YW50O1xuICAgIHN0cm9rZTogdmFyKC0tY2hhdC1mZWVkYmFjay1zdGFyLWNvbG9yLCBjdXJyZW50Q29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNlbmRlciBBdmF0YXIgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgIHdpZHRoOiB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplKTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIG1hcmdpbjogMCAwIDRweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFvjipfvuI9dXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZyB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYXZhdGFyLWJnLWNvbG9yLCAjZWVmNmZiKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG59XG5cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciBpbWc6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuKi9cblxuLyogTWVzc2FnZSB0ZXh0IGJ1YmJsZSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNoYXQtYnViYmxlLXJhZGl1cyk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogbWluKHZhcigtLWNoYXQtbWVzc2FnZS1taW4td2lkdGgpLCAxMDAlKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LWJ1YmJsZS1ib3JkZXItY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtYnViYmxlLXNoYWRvdyksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tY2hhdC1idWJibGUtbGluZS1oZWlnaHQpO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIGh5cGhlbnM6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG4gICAgZm9udC1zaXplOiB2YXIoLS1jaGF0LWJ1YmJsZS1mb250LXNpemUpO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAwMjVlbTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLWNoYXQtbWVzc2FnZS1zd2lwZS1vZmZzZXQsIDBweCkpO1xuICAgIC0tY2hhdC1tZC1oZWFkaW5nLWZvbnQtZmFtaWx5OiB2YXIoXG4gICAgICAgIC0tZm9udC1iYXJsb3ctY29uZGVuc2VkLFxuICAgICAgICAnQmFybG93IENvbmRlbnNlZCcsXG4gICAgICAgIHZhcigtLWZvbnQtcG9wcGlucywgJ1BvcHBpbnMnLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sICdTZWdvZSBVSScsIHNhbnMtc2VyaWYpXG4gICAgKTtcbiAgICAtLWNoYXQtbWQtYm9keS1mb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAtLWNoYXQtbWQtdGV4dC1jb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKTtcbiAgICAtLWNoYXQtbWQtbGluay1jb2xvcjogIzI1NjNlYjtcbiAgICAtLWNoYXQtbWQtbXV0ZWQtY29sb3I6IHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSk7XG4gICAgLS1jaGF0LW1kLWlubGluZS1jb2RlLWJnOiByZ2JhKDE1LCAyMywgNDIsIDAuMTYpO1xuICAgIC0tY2hhdC1tZC1pbmxpbmUtY29kZS1ib3JkZXI6IHJnYmEoMTUsIDIzLCA0MiwgMC4yKTtcbiAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtY29sb3I6IHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSk7XG4gICAgLS1jaGF0LW1kLWJsb2NrcXVvdGUtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1ib3JkZXI6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjUyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMik7XG4gICAgLS1jaGF0LW1kLXRhYmxlLXJvdy1hbHQtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgLS1jaGF0LW1kLXRhYmxlLWhlYWQtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzYpO1xuICAgIC0tY2hhdC1tZC1jaXRhdGlvbi1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICAtLWNoYXQtbWQtY2l0YXRpb24tY29sb3I6IHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dC5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZVRleHQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBwYWRkaW5nOiAycHggMDtcbiAgICBsaW5lLWhlaWdodDogMS43NTtcbiAgICBmb250LXNpemU6IDE1LjVweDtcbiAgICAtLWNoYXQtbWQtbGluay1jb2xvcjogIzFkNGVkODtcbiAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmc6IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgLS1jaGF0LW1kLWlubGluZS1jb2RlLWJvcmRlcjogcmdiYSgxNSwgMjMsIDQyLCAwLjE2KTtcbiAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1iZzogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjEyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtYmc6IHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45KTtcbiAgICAtLWNoYXQtbWQtdGFibGUtcm93LWFsdC1iZzogcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjQ1KTtcbiAgICAtLWNoYXQtbWQtdGFibGUtaGVhZC1iZzogcmdiYSgyNDEsIDI0NSwgMjQ5LCAwLjkyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtYm9yZGVyOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNDUpO1xuICAgIC0tY2hhdC1tZC1jaXRhdGlvbi1iZzogcmdiYSgxOTEsIDIxOSwgMjU0LCAwLjI0KTtcbn1cblxuLnJlcGx5RW5hYmxlZE1lc3NhZ2VUZXh0IHtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4ucmVwbHlTd2lwZUFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1idWJibGUtc2hhZG93LWhvdmVyKSwgMCAwIDAgMXB4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjIyKSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpO1xufVxuXG4ucmVwbHlTd2lwZUluZGljYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC0yNHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBvcGFjaXR5OiAwLjIyO1xuICAgIGNvbG9yOiByZ2JhKDE1LCAyMywgNDIsIDAuNDUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG59XG5cbi5yZXBseVN3aXBlSW5kaWNhdG9yUmlnaHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNHB4O1xufVxuXG4ucmVwbHlTd2lwZUluZGljYXRvckFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjA1KTtcbn1cblxuLnJlcGx5U3dpcGVJbmRpY2F0b3JJY29uIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG59XG5cbi5yZXBseVByZXZpZXcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLnJlcGx5QnViYmxlUHJldmlldyB7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4ucmVwbHlDb21wb3NlclByZXZpZXcge1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LXJlcGx5LWNvbXBvc2VyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2hhdC1yZXBseS1jb21wb3Nlci1ib3JkZXItY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtcmVwbHktY29tcG9zZXItc2hhZG93KTtcbn1cblxuLnJlcGx5UHJldmlld0FjY2VudCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICMwZWE1ZTk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWNvbG9yLCAjMGVhNWU5KSA4NCUsIHdoaXRlIDE2JSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yZXBseVByZXZpZXdCb2R5IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG59XG5cbi5yZXBseVByZXZpZXdIZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBvcGFjaXR5OiAwLjgyO1xufVxuXG4ucmVwbHlQcmV2aWV3TGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5yZXBseVByZXZpZXdTZW5kZXIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yZXBseVByZXZpZXdUZXh0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLnJlcGx5UHJldmlld0Rpc21pc3NCdXR0b24ge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1yZXBseS1kaXNtaXNzLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LXJlcGx5LWRpc21pc3MtY29sb3IpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xOHMgZWFzZSwgY29sb3IgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG59XG5cbi5yZXBseVByZXZpZXdEaXNtaXNzQnV0dG9uOmhvdmVyLFxuLnJlcGx5UHJldmlld0Rpc21pc3NCdXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtcmVwbHktZGlzbWlzcy1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1yZXBseS1kaXNtaXNzLWhvdmVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xufVxuXG5Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzAwMCA1MCUsICNmZmYgNTAlKSkge1xuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDE1OGRlZyxcbiAgICAgICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA4NiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSAxNCUpLFxuICAgICAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDk1JSwgcmdiYSgyLCA2LCAyMywgMC4wOCkgNSUpXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1idWJibGUtYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzIlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ2KSAyOCVcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1kLWxpbmstY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDcyJSwgIzdkZDNmYyAyOCUpO1xuICAgICAgICAtLWNoYXQtbWQtbXV0ZWQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDg0JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmc6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2NSUsIHJnYmEoMTUsIDIzLCA0MiwgMC4yKSAzNSUpO1xuICAgICAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYm9yZGVyOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgLS1jaGF0LW1kLWJsb2NrcXVvdGUtYmc6IGNvbG9yLW1peChcbiAgICAgICAgICAgIGluIHNyZ2IsXG4gICAgICAgICAgICB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3OCUsXG4gICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpIDIyJVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1ib3JkZXI6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDM0JSwgIzdkZDNmYyA2NiUpO1xuICAgICAgICAtLWNoYXQtbWQtdGFibGUtYmc6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAyMiUpO1xuICAgICAgICAtLWNoYXQtbWQtdGFibGUtcm93LWFsdC1iZzogY29sb3ItbWl4KFxuICAgICAgICAgICAgaW4gc3JnYixcbiAgICAgICAgICAgIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDcwJSxcbiAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44MikgMzAlXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1tZC10YWJsZS1oZWFkLWJnOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNjQlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KSAzNiVcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1kLXRhYmxlLWJvcmRlcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTglLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIC0tY2hhdC1tZC1jaXRhdGlvbi1iZzogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDU1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KSA0NSUpO1xuICAgIH1cbn1cblxuLyogQ29weSBidXR0b24gc3R5bGVzICovXG4uY29weUJ1dHRvbkNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTJweDtcbiAgICB6LWluZGV4OiAzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG59XG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQ6aG92ZXIgLmNvcHlCdXR0b25Db250YWluZXIsXG4uY29weUJ1dHRvbkNvbnRhaW5lcjpmb2N1cy13aXRoaW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTQlLCB0cmFuc3BhcmVudCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4IDEycHg7XG59XG5cbi5hcnRpY2xlTW9kZU1lc3NhZ2VDb250cm9scyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0b3A6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogYXV0bztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1lc3NhZ2VDb250cm9sR3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDdweDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmFydGljbGVNb2RlTWVzc2FnZUFjdGlvbnMgLmNvcHlCdXR0b24sXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyAucGxheUJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jaGF0LWFydGljbGUtY29udHJvbC1ib3JkZXItY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWNvbG9yKTtcbn1cblxuLmFydGljbGVNb2RlTWVzc2FnZUFjdGlvbnMgLnBsYXlCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCksXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyAuY29weUJ1dHRvbjpob3Zlcixcbi5hcnRpY2xlTW9kZU1lc3NhZ2VBY3Rpb25zIC5jb3B5QnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWFydGljbGUtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItc2hhZG93KTtcbn1cblxuLmNvcHlCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJhY2tncm91bmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiA0cHggN3B4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNoYWRvdyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzLCBib3gtc2hhZG93IDAuMTVzLCBib3JkZXIgMC4xNXM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xufVxuXG4ucGxheUJ1dHRvbiB7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1iYWNrZ3JvdW5kKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtY29sb3IpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ucGxheUJ1dHRvbkljb24ge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuLnBsYXlCdXR0b25TcGlubmVyIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNwaW5uZXItYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1zcGlubmVyLWFjY2VudC1jb2xvcik7XG4gICAgYW5pbWF0aW9uOiBtZXNzYWdlUGxheVNwaW5uZXIgMC45cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5wbGF5QnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItc2hhZG93KTtcbn1cblxuLnBsYXlCdXR0b246ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC42O1xufVxuXG5Aa2V5ZnJhbWVzIG1lc3NhZ2VQbGF5U3Bpbm5lciB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi5jb3BpZWRUb29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogMTEwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogIzIyMjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA2cHggMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAwLjk4ZW07XG4gICAgYm94LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICAgIG9wYWNpdHk6IDAuOTc7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIGFuaW1hdGlvbjogY29waWVkVG9vbHRpcEZhZGVJbiAwLjJzO1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uY29waWVkVG9vbHRpcExlZnQge1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNvcGllZFRvb2x0aXBSaWdodCB7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIFJlbW92ZWQgcmlnaHQtYWxpZ25lZCBvdmVycmlkZSB0byBrZWVwIHRvb2x0aXAgcG9zaXRpb24gc3RhYmxlICovXG5cbkBrZXlmcmFtZXMgY29waWVkVG9vbHRpcEZhZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45Nyk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMC45NztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG4uY29weUJ1dHRvbjpob3Zlcixcbi5jb3B5QnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItc2hhZG93KTtcbn1cblxuLmNvcHlCdXR0b24gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLkNoYXRbZGF0YS1jaGF0LXRoZW1lPSdkYXJrJ10gLmNvcHlCdXR0b24gc3ZnIHJlY3Qge1xuICAgIGZpbGw6ICNjYmQ1ZTE7XG4gICAgc3Ryb2tlOiAjOTRhM2I4O1xufVxuXG4vKiBNYXJrZG93biBwcmltaXRpdmVzIGFyZSBpbnRlbnRpb25hbGx5IGNlbnRyYWxpemVkIGluIGBNYXJrZG93bkNvbnRlbnQubW9kdWxlLmNzc2AuICovXG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1idWJibGUtc2hhZG93LWhvdmVyKSwgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1jaGF0LW1lc3NhZ2Utc3dpcGUtb2Zmc2V0LCAwcHgpKSB0cmFuc2xhdGVZKC0xLjVweCk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dC5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZVRleHQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKiBBdHRhY2htZW50cyBzdHlsZXMgKi9cbi5hdHRhY2htZW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjI4KTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxMiUsIHRyYW5zcGFyZW50KTtcbn1cblxuLmF0dGFjaG1lbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA3cHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjYpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAyNiUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDE2JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uYXR0YWNobWVudFdpdGhSZW1vdmUge1xuICAgIGdhcDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5hdHRhY2htZW50TWFpbkFjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA3cHggOHB4IDdweCAxMnB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5hdHRhY2htZW50UmVtb3ZlQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMC44NTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kIDAuMnMgZWFzZSxcbiAgICAgICAgb3BhY2l0eSAwLjJzIGVhc2UsXG4gICAgICAgIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5hdHRhY2htZW50UmVtb3ZlQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE4KTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XG59XG5cbi5hdHRhY2htZW50UmVtb3ZlQnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xufVxuXG4uYXR0YWNobWVudFdpdGhSZW1vdmUgLmF0dGFjaG1lbnROYW1lIHtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5hdHRhY2htZW50OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzQpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2MiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzOCUpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMjQlLCB0cmFuc3BhcmVudCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4uYXR0YWNobWVudEljb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi5hdHRhY2htZW50TmFtZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBNZXNzYWdlIGJ1dHRvbnMgY29udGFpbmVyICovXG4ubWVzc2FnZUJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOXB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zNik7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTQlLCB0cmFuc3BhcmVudCk7XG59XG5cbi8qIEluZGl2aWR1YWwgbWVzc2FnZSBidXR0b24gKi9cbi5tZXNzYWdlQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgMjIlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuOSk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxOCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IDEyLjVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm1lc3NhZ2VCdXR0b246ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogcHJvZ3Jlc3M7XG4gICAgb3BhY2l0eTogMC43MjtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm1lc3NhZ2VCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNjYlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMzQlKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDI2JSwgIzdkZDNmYyA3NCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDVweCAxNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNCk7XG59XG5cbi5tZXNzYWdlQnV0dG9uOmhvdmVyOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgMjIlKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDE4JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4ubWVzc2FnZUJ1dHRvbjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcbn1cblxuLmFjdGlvbk1lc3NhZ2VCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTUsIDY1LCA4MSwgMC45Mik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDMxLCA0MSwgNTUsIDAuOTUpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uYWN0aW9uTWVzc2FnZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzMSwgNDEsIDU1LCAwLjk4KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTcsIDI0LCAzOSwgMC45OCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTRweCByZ2JhKDE1LCAyMywgNDIsIDAuMzIpO1xufVxuXG4uYWN0aW9uTWVzc2FnZUJ1dHRvbjpob3ZlcjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg1NSwgNjUsIDgxLCAwLjkyKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMzEsIDQxLCA1NSwgMC45NSk7XG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmtkb3duIHN0eWxlcyBmcm9tIGJ1dHRvbiBjb250ZW50ICovXG4ubWVzc2FnZUJ1dHRvbiBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLm1lc3NhZ2VCdXR0b24gc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWVzc2FnZUJ1dHRvbiBlbSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBSYXRpbmcgc3lzdGVtICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtOHB4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDJweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMjRweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nLmFydGljbGVNb2RlUmF0aW5nIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWFydGljbGUtcmF0aW5nLWJhY2tncm91bmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtYXJ0aWNsZS1yYXRpbmctYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2U6aG92ZXIgLnJhdGluZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmcuYXJ0aWNsZU1vZGVSYXRpbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtYXJ0aWNsZS1yYXRpbmctaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jaGF0LWFydGljbGUtcmF0aW5nLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LWFydGljbGUtcmF0aW5nLXNoYWRvdyk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nIHNwYW4ge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLnJhdGluZzpob3ZlciBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5mZWVkYmFja0lzc3VlQnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuTW9qaUJsYWNrJywgJ05vdG8gRW1vamknLCAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCBzYW5zLXNlcmlmO1xufVxuXG4vKiBDaGF0IGlucHV0IGFyZWEgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgei1pbmRleDogMTA7XG4gICAgZ3JpZC1hcmVhOiDwn5OdO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygyMHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNoYXQtaW5wdXQtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWlucHV0LWJhY2tkcm9wKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRJbnB1dCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LXBhZGRpbmctaW5saW5lKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LXBhZGRpbmctaW5saW5lKTtcbn1cblxuLmFydGljbGVNb2RlQ2hhdElucHV0ID4gOm5vdCguc3BlZWNoU3RhdHVzQnViYmxlKTpub3QoLmRyYWdPdmVybGF5KSB7XG4gICAgd2lkdGg6IG1pbih2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LW1heC13aWR0aCksIDEwMCUpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5DaGF0LmZ1bGxQYWdlVmlzdWFsIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1mdWxsLXBhZ2UtaW5wdXQtYmFja2Ryb3ApO1xufVxuXG4vKiBGaWxlIHVwbG9hZCBkcmFnLWFuZC1kcm9wIHN0eWxlcyAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0LmRyYWdPdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWlucHV0LWRyYWctb3Zlci1iYWNrZHJvcCk7XG59XG5cbi8qIEZpbGUgcHJldmlldyBjb250YWluZXIgKi9cbi5maWxlUHJldmlld0NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uZmlsZVByZXZpZXdDb250YWluZXIuYXR0YWNobWVudHMge1xuICAgIC0tbWVzc2FnZS1iZy1jb2xvcjogdmFyKC0taW5wdXQtYmctY29sb3IpO1xuICAgIC0tbWVzc2FnZS10ZXh0LWNvbG9yOiB2YXIoLS1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgY29sb3I6IHZhcigtLWlucHV0LXRleHQtY29sb3IpO1xufVxuXG4vKiBJbmRpdmlkdWFsIGZpbGUgcHJldmlldyAqL1xuLmZpbGVQcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1maWxlLXByZXZpZXctYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1maWxlLXByZXZpZXctYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uZmlsZVByZXZpZXc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtZmlsZS1wcmV2aWV3LWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2hhdC1maWxlLXByZXZpZXctaG92ZXItYm9yZGVyLWNvbG9yKTtcbn1cblxuLmZpbGVJY29uIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4uZmlsZUluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5maWxlTmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1maWxlLW5hbWUtY29sb3IpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4uZmlsZVNpemUge1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWZpbGUtc2l6ZS1jb2xvcik7XG4gICAgZm9udC1zaXplOiAxMXB4O1xufVxuXG4ucmVtb3ZlRmlsZUJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDAsIDAsIDAuMSk7XG4gICAgY29sb3I6ICNmZjQ0NDQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucmVtb3ZlRmlsZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDAsIDAsIDAuMik7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4vKiBJbnB1dCBjb250YWluZXIgZm9yIHRleHRhcmVhIGFuZCBidXR0b25zICovXG4uaW5wdXRDb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtaW5wdXQtY29udGFpbmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtaW5wdXQtY29udGFpbmVyLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogMjZweDtcbiAgICBwYWRkaW5nOiA5cHggMTJweDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LWlucHV0LWNvbnRhaW5lci1zaGFkb3cpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLmlucHV0Q29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1jb2xvciwgIzBlYTVlOSk7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDQycHggcmdiYSgxNSwgMjMsIDQyLCAwLjE2KSwgMCAwIDAgNHB4IHJnYmEoMTQsIDE2NSwgMjMzLCAwLjE2KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1icmFuZC1jb2xvciwgIzBlYTVlOSkgNTglLCByZ2JhKDE1LCAyMywgNDIsIDAuMikgNDIlKTtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpLFxuICAgICAgICAwIDAgMCA0cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWNvbG9yLCAjMGVhNWU5KSAxNiUsIHRyYW5zcGFyZW50KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5DaGF0W2RhdGEtY2hhdC10aGVtZT0nZGFyayddIC5pbnB1dENvbnRhaW5lcjpmb2N1cy13aXRoaW4ge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjYpO1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCA0NHB4IHJnYmEoMiwgNiwgMjMsIDAuNDgpLCAwIDAgMCA0cHggcmdiYSgxNCwgMTY1LCAyMzMsIDAuMTgpO1xufVxuXG4uaW5wdXRDb250YWluZXIgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyogQXR0YWNobWVudCBidXR0b24gKi9cbi5hdHRhY2htZW50QnV0dG9uIHtcbiAgICB3aWR0aDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmF0dGFjaG1lbnRCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1jb2xvcik7XG59XG5cbi5hdHRhY2htZW50QnV0dG9uOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyogVm9pY2UgQnV0dG9uICovXG4udm9pY2VCdXR0b24ge1xuICAgIHdpZHRoOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udm9pY2VCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1jb2xvcik7XG59XG5cbi52b2ljZUJ1dHRvbkFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZWY0NDQ0ICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uOiB2b2ljZVJlY29yZGluZ1B1bHNlIDEuNXMgaW5maW5pdGU7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjRweDtcbiAgICBib3R0b206IDg2cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXgtd2lkdGg6IG1pbigzMjBweCwgY2FsYygxMDAlIC0gNDhweCkpO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtc3BlZWNoLXN0YXR1cy1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtc3BlZWNoLXN0YXR1cy1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1zcGVlY2gtc3RhdHVzLWNvbG9yKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LXNwZWVjaC1zdGF0dXMtc2hhZG93KTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB6LWluZGV4OiAyNTtcbiAgICBhbmltYXRpb246IHNwZWVjaFN0YXR1c0J1YmJsZUluIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVEb3Qge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtc3BlZWNoLXN0YXR1cy1kb3QtYmFja2dyb3VuZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYW5pbWF0aW9uOiBzcGVlY2hTdGF0dXNCdWJibGVEb3RQdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4uc3BlZWNoU3RhdHVzQnViYmxlUmVjb3JkaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMzUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNDIsIDI0MiwgMC45Nyk7XG4gICAgY29sb3I6ICM5OTFiMWI7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVSZWNvcmRpbmcgLnNwZWVjaFN0YXR1c0J1YmJsZURvdCB7XG4gICAgYmFja2dyb3VuZDogI2VmNDQ0NDtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZVByb2Nlc3Npbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNCwgMTE2LCAxNDQsIDAuMzUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM2LCAyNTQsIDI1NSwgMC45Nyk7XG4gICAgY29sb3I6ICMxNTVlNzU7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVQcm9jZXNzaW5nIC5zcGVlY2hTdGF0dXNCdWJibGVEb3Qge1xuICAgIGJhY2tncm91bmQ6ICMwZWE1ZTk7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVFcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIyMCwgMzgsIDM4LCAwLjM1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjQyLCAyNDIsIDAuOTgpO1xuICAgIGNvbG9yOiAjOTkxYjFiO1xufVxuXG4uc3BlZWNoU3RhdHVzQnViYmxlRXJyb3IgLnNwZWVjaFN0YXR1c0J1YmJsZURvdCB7XG4gICAgYmFja2dyb3VuZDogI2RjMjYyNjtcbiAgICBhbmltYXRpb246IG5vbmU7XG59XG5cbi5DaGF0W2RhdGEtY2hhdC10aGVtZT0nZGFyayddIC5zcGVlY2hTdGF0dXNCdWJibGVSZWNvcmRpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNDgsIDExMywgMTEzLCAwLjQ0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNywgMjksIDI5LCAwLjcyKTtcbiAgICBjb2xvcjogI2ZlY2FjYTtcbn1cblxuLkNoYXRbZGF0YS1jaGF0LXRoZW1lPSdkYXJrJ10gLnNwZWVjaFN0YXR1c0J1YmJsZVByb2Nlc3Npbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjQ0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDgsIDQ3LCA3MywgMC43NCk7XG4gICAgY29sb3I6ICNiYWU2ZmQ7XG59XG5cbi5DaGF0W2RhdGEtY2hhdC10aGVtZT0nZGFyayddIC5zcGVlY2hTdGF0dXNCdWJibGVFcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjcsIDI5LCAyOSwgMC44Mik7XG4gICAgY29sb3I6ICNmZWNhY2E7XG59XG5cbi5kaWN0YXRpb25QYW5lbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbn1cblxuLmRpY3RhdGlvblBhbmVsSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogOHB4O1xufVxuXG4uZGljdGF0aW9uUGFuZWxUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi10aXRsZS1jb2xvcik7XG59XG5cbi5kaWN0YXRpb25QYW5lbFRvZ2dsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi10b2dnbGUtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1kaWN0YXRpb24tdG9nZ2xlLWNvbG9yKTtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpY3RhdGlvbkludGVyaW1UcmFuc2NyaXB0IHtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuNDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1kaWN0YXRpb24tdHJhbnNjcmlwdC1iYWNrZ3JvdW5kKTtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi10cmFuc2NyaXB0LWNvbG9yKTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZGljdGF0aW9uRXJyb3JQYW5lbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjAsIDM4LCAzOCwgMC4yNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI0MiwgMjQyLCAwLjk1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgICBjb2xvcjogIzk5MWIxYjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmRpY3RhdGlvbkVycm9yQWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5kaWN0YXRpb25FcnJvckFjdGlvbnMgYnV0dG9uLFxuLmRpY3RhdGlvbkNvcnJlY3Rpb25BY3Rpb25zIGJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1jb2xvcik7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZGljdGF0aW9uQ29ycmVjdGlvblBhbmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5kaWN0YXRpb25Db3JyZWN0aW9uTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLWxhYmVsLWNvbG9yKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5kaWN0YXRpb25Db3JyZWN0aW9uVGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDY4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tdGV4dGFyZWEtY29sb3IpO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1iYWNrZ3JvdW5kKTtcbn1cblxuLmRpY3RhdGlvbkNvcnJlY3Rpb25BY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLmRpY3RhdGlvblNldHRpbmdzUGFuZWwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogOHB4IDEycHg7XG59XG5cbi5kaWN0YXRpb25TZXR0aW5nc1BhbmVsIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1kaWN0YXRpb24tc2V0dGluZ3MtY29sb3IpO1xufVxuXG4uZGljdGF0aW9uRmFsbGJhY2tOb3RlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1mYWxsYmFjay1jb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbkBrZXlmcmFtZXMgc3BlZWNoU3RhdHVzQnViYmxlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KSBzY2FsZSgwLjk4KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNwZWVjaFN0YXR1c0J1YmJsZURvdFB1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODIpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB2b2ljZVJlY29yZGluZ1B1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDAsIDAsIDAuNCk7XG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgyNTUsIDAsIDAsIDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMCwgMCwgMCk7XG4gICAgfVxufVxuXG4vKiBVcGxvYWQgcHJvZ3Jlc3MgaW5kaWNhdG9yICovXG4udXBsb2FkUHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMzIsIDI1NSwgMC4xKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDEzMiwgMjU1LCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICMwMDg0ZmY7XG59XG5cbi51cGxvYWRQcm9ncmVzc0JhciB7XG4gICAgZmxleDogMTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEzMiwgMjU1LCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udXBsb2FkUHJvZ3Jlc3NGaWxsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMDA4NGZmLCByZ2JhKDAsIDEzMiwgMjU1LCAwLjgpKTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYW5pbWF0aW9uOiB1cGxvYWRQcm9ncmVzcyAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHVwbG9hZFByb2dyZXNzIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgfVxufVxuXG4vKiBEcmFnIG92ZXJsYXkgKi9cbi5kcmFnT3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEzMiwgMjU1LCAwLjEpO1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCByZ2JhKDAsIDEzMiwgMjU1LCAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmRyYWdPdmVybGF5Q29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGNvbG9yOiAjMDA4NGZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZHJhZ092ZXJsYXlDb250ZW50IHN2ZyB7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4vKiBDaGF0IGlucHV0IGZpZWxkICovXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWEge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogdmFyKC0tY2hhdC1pbnB1dC1wYWRkaW5nLXkpIHZhcigtLWNoYXQtaW5wdXQtcGFkZGluZy14KTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtaW5wdXQtdGV4dC1jb2xvcik7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC10ZXh0YXJlYS1oZWlnaHQpO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtdGV4dGFyZWEtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LXRleHRhcmVhLWhlaWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1jaGF0LWlucHV0LWZvbnQtc2l6ZSk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMDJlbTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC1saW5lLWhlaWdodCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWE6Zm9jdXMge1xuICAgIC8qIEZvY3VzIGlzIGhhbmRsZWQgYnkgLmlucHV0Q29udGFpbmVyICovXG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYTpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4vKiBDaGF0IHNlbmQgYnV0dG9uICovXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uW2RhdGEtYnV0dG9uLXR5cGU9J2NhbGwtdG8tYWN0aW9uJ10ge1xuICAgIHdpZHRoOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBtaW4td2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcblxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMjUpO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b25bZGF0YS1idXR0b24tdHlwZT0nY2FsbC10by1hY3Rpb24nXTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMzUpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uW2RhdGEtYnV0dG9uLXR5cGU9J2NhbGwtdG8tYWN0aW9uJ106YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uW2RhdGEtYnV0dG9uLXR5cGU9J2NhbGwtdG8tYWN0aW9uJ10gc3ZnIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b24gaW1nIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4vKiBTY3JvbGwgdG8gYm90dG9tIGJ1dHRvbiAqL1xuXG4uc2Nyb2xsVG9Cb3R0b21Db250YWluZXIge1xuICAgIC8qL1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgcmVkO1xuICAgIC8qKi9cblxuICAgIHotaW5kZXg6IDIwO1xuICAgIGdyaWQtYXJlYTog8J+TnTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2Nyb2xsVG9Cb3R0b21Db250YWluZXIgLnNjcm9sbFRvQm90dG9tV3JhcHBlciB7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTE1MCUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uOiBzY3JvbGxCdXR0b25TbGlkZUluIDAuM3MgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG4uc2Nyb2xsVG9Cb3R0b21Db250YWluZXIgLnNjcm9sbFRvQm90dG9tIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCAwIDAgLyAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbEJ1dHRvblNsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAyMHB4KSBzY2FsZSgwLjgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG4uc2Nyb2xsVG9Cb3R0b21CYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLThweDtcbiAgICByaWdodDogLThweDtcbiAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBiYWNrZ3JvdW5kOiAjMjU2M2ViO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgzNywgOTksIDIzNSwgMC40KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBSYXRpbmcgbW9kYWwgKi9cbi5yYXRpbmdNb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUsIDIzLCA0MiwgMC43Nik7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBhbmltYXRpb246IG1vZGFsRmFkZUluIDAuM3MgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgbW9kYWxGYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4ucmF0aW5nTW9kYWxDb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzI0O1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgYW5pbWF0aW9uOiBtb2RhbFNsaWRlSW4gMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG5cbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgJ09wZW5Nb2ppQ29sb3InLCAnT3Blbk1vamlCbGFjayc7XG4gICAgLyogPC0gVE9ETzogW/Cfp6BdW/CfjrFdIEJldHRlciwgZGVmaW5lIG90aGVyIGZvbnRzICovXG59XG5cbkBrZXlmcmFtZXMgbW9kYWxTbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpIHNjYWxlKDAuOTUpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi5yYXRpbmdNb2RhbENvbnRlbnQgaDMge1xuICAgIG1hcmdpbjogMCAwIDI0cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uc3RhcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnN0YXJzIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uc3RhcnMgc3Bhbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyMTUsIDAsIDAuMSk7XG59XG5cbi5yYXRpbmdNb2RhbFN0YXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbn1cblxuLnJhdGluZ01vZGFsW2RhdGEtY2hhdC1tb2RhbD0naW1hZ2UtYXR0YWNobWVudCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDI0cHg7XG59XG5cbi5yYXRpbmdNb2RhbFtkYXRhLWNoYXQtbW9kYWw9J2NpdGF0aW9uLWJyb3dzZXInXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAyNHB4O1xufVxuXG4udG9vbENhbGxNb2RhbCB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4KTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jaXRhdGlvbkJyb3dzZXJNb2RhbCB7XG4gICAgd2lkdGg6IG1pbig5MHZ3LCA4MDBweCk7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDhweCk7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSA0OHB4KTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4uY2l0YXRpb25Ccm93c2VyTW9kYWxCb2R5IHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5pbWFnZUF0dGFjaG1lbnRNb2RhbCB7XG4gICAgd2lkdGg6IG1pbig5MnZ3LCAxMDQwcHgpO1xuICAgIG1heC13aWR0aDogMTA0MHB4O1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4KTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDQ4cHgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uaW1hZ2VBdHRhY2htZW50TW9kYWxIZWFkZXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHBhZGRpbmc6IDIwcHggNjhweCAxNHB4IDI0cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLmltYWdlQXR0YWNobWVudE1vZGFsVGl0bGUge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMGYxNzJhICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLmltYWdlQXR0YWNobWVudE1vZGFsUHJldmlldyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEzMHB4KTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDEzMHB4KTtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICMwZjE3MmE7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW1hZ2VBdHRhY2htZW50TW9kYWxJbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxNjJweCk7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSAxNjJweCk7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLnRvb2xDYWxsSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIHBhZGRpbmc6IDI0cHggMzJweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNlZWYyZmYgMCUsICNmNWYzZmYgNDAlLCAjZmVmY2M5IDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4udG9vbENhbGxJY29uIHtcbiAgICBmb250LXNpemU6IDMycHg7XG59XG5cbi50b29sQ2FsbEhlYWRlck1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLnRvb2xDYWxsTW9kYWxMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjM1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzQ3NTQ2NztcbiAgICBtYXJnaW46IDA7XG59XG5cbi50b29sQ2FsbFRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi50b29sQ2FsbFN1YnRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNDc1NDY3O1xufVxuXG4udG9vbENhbGxHcmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpO1xuICAgIGdhcDogMTZweDtcbiAgICBwYWRkaW5nOiAyNHB4IDMycHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xufVxuXG4udG9vbENhbGxQYW5lbCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgcGFkZGluZzogMThweDtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDBweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4udG9vbENhbGxQYW5lbFRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4udG9vbENhbGxMaXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi50b29sQ2FsbEl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLnRvb2xDYWxsSXRlbUxhYmVsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4udG9vbENhbGxJdGVtVmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuXG4udG9vbENhbGxTdW1tYXJ5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi50b29sQ2FsbFN1bW1hcnlNZXRhIHtcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4udG9vbENhbGxTdW1tYXJ5TWV0YUJhZGdlIHtcbiAgICBwYWRkaW5nOiA1cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDc5LCA3MCwgMjI5LCAwLjE1KTtcbiAgICBjb2xvcjogIzMxMmU4MTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRvb2xDYWxsRW1wdHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdDYXJkIHtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgI2NiZDVlMTtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2Y4ZmJmZiAwJSwgI2Y4ZmFmYyAxMDAlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4udG9vbENhbGxQZW5kaW5nSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTBweDtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ1RpdGxlIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ0JhZGdlIHtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0LCAxNjUsIDIzMywgMC4xMik7XG4gICAgY29sb3I6ICMwMzY5YTE7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udG9vbENhbGxQZW5kaW5nTWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjNDc1NDY3O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udG9vbENhbGxQZW5kaW5nU2tlbGV0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ1NrZWxldG9uTGluZSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjcpLCByZ2JhKDI0MSwgMjQ1LCAyNDksIDEpLCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuNykpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICAgIGFuaW1hdGlvbjogdG9vbENhbGxQZW5kaW5nU2tlbGV0b25QdWxzZSAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4udG9vbENhbGxQZW5kaW5nU2tlbGV0b25TaG9ydCB7XG4gICAgd2lkdGg6IDY4JTtcbn1cblxuQGtleWZyYW1lcyB0b29sQ2FsbFBlbmRpbmdTa2VsZXRvblB1bHNlIHtcbiAgICBmcm9tIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMCUgNTAlO1xuICAgIH1cbn1cblxuLnRvb2xDYWxsRGV0YWlsc0NhcmQge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRvb2xDYWxsRGV0YWlsc0NhcmRSb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjMzM0MTU1O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOSk7XG59XG5cbi50b29sQ2FsbERldGFpbHNDYXJkUm93OmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xufVxuXG4udG9vbENhbGxEZXRhaWxzQ2FyZFJvdyBzdHJvbmcge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udG9vbENhbGxJc3N1ZXMge1xuICAgIHBhZGRpbmc6IDAgMzJweCAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4udG9vbENhbGxJc3N1ZUJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xufVxuXG4udG9vbENhbGxJc3N1ZUVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEyKTtcbiAgICBjb2xvcjogI2I5MWMxYztcbn1cblxuLnRvb2xDYWxsSXNzdWVXYXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNCwgMTc5LCA4LCAwLjE2KTtcbiAgICBjb2xvcjogI2ExNjIwNztcbn1cblxuLnRvb2xDYWxsTW9kZUZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDAgMzJweCAyNHB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRvb2xDYWxsTW9kZUJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnRvb2xDYWxsTW9kZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBib3JkZXItY29sb3I6ICM5NGEzYjg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4udG9vbENhbGxDbG9ja1BhbmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDIwcHg7XG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuLnRvb2xDYWxsQ2xvY2tMYWJlbHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvb2xDYWxsQ2xvY2tQcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udG9vbENhbGxDbG9ja1NlY29uZGFyeSB7XG4gICAgY29sb3I6ICM0NzU0Njc7XG59XG5cbi50b29sQ2FsbENsb2NrTWV0YSB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogIzY2NzA4NTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi50aW1lb3V0VG9vbFN1bW1hcnkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIHBhZGRpbmc6IDE2cHg7XG59XG5cbi50aW1lb3V0VG9vbFByaW1hcnlTZW50ZW5jZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi50aW1lb3V0VG9vbFNlY29uZGFyeVNlbnRlbmNlIHtcbiAgICBtYXJnaW46IDZweCAwIDA7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi50aW1lb3V0VG9vbEFjdGlvblJvdyB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRpbWVvdXRUb29sQWN0aW9uQnV0dG9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2JkNWUxO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgcGFkZGluZzogOHB4IDE0cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGltZW91dFRvb2xBY3Rpb25CdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTRhM2I4O1xufVxuXG4udGltZW91dFRvb2xBY3Rpb25CdXR0b246ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAwLjQ1O1xufVxuXG4ubWVtb3J5TW9kYWxIZWFkZXIge1xuICAgIHBhZGRpbmc6IDI4cHggMzJweCAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZGZkZmQgMCUsICNmNmY5ZmYgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi5tZW1vcnlNb2RhbEljb24ge1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2MzY2ZjEsICNhODU1ZjcpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAyOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xOCk7XG59XG5cbi5tZW1vcnlNb2RhbEhlYWRlclRleHQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5tZW1vcnlNb2RhbFRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi5tZW1vcnlNb2RhbFN1YnRpdGxlIHtcbiAgICBtYXJnaW46IDRweCAwIDA7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ubWVtb3J5TW9kYWxTdGF0dXMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHBhZGRpbmc6IDZweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1lbW9yeVN0YXR1c0RvdCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1lbW9yeU1vZGFsQ29udGVudCB7XG4gICAgcGFkZGluZzogMjRweCAzMnB4IDMycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4ubWVtb3J5TWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ubWVtb3J5TWV0YVJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM0NzU0Njc7XG59XG5cbi5tZW1vcnlNZXRhTGFiZWwge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWVtb3J5TWV0YVZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ubWVtb3J5U3RvcmVTZWN0aW9uLFxuLm1lbW9yeVJldHJpZXZlU2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cblxuLm1lbW9yeUNhcmQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDE4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLm1lbW9yeUNhcmRDb250ZW50IHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuLm1lbW9yeUNhcmRNZXRhIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ubWVtb3J5U2NvcGVCYWRnZSB7XG4gICAgcGFkZGluZzogM3B4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjQsIDU4LCAyMzcsIDAuMTIpO1xufVxuXG4ubWVtb3J5TGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cblxuLm1lbW9yeUVtcHR5U3RhdGUge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZjNjNztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmRlNjhhO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgY29sb3I6ICM5MjQwMGU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm1lbW9yeUxpc3RGb290ZXIge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzQ3NTQ2NztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tZW1vcnlTdGF0dXNTdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4xNik7XG4gICAgY29sb3I6ICMwNDc4NTc7XG59XG5cbi5tZW1vcnlTdGF0dXNXYXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNCwgMTc5LCA4LCAwLjE2KTtcbiAgICBjb2xvcjogI2ExNjIwNztcbn1cblxuLm1lbW9yeVN0YXR1c0Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTtcbiAgICBjb2xvcjogI2I5MWMxYztcbn1cblxuLm1lbW9yeVN0YXR1c05ldXRyYWwge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoOTYsIDE2NSwgMjUwLCAwLjE1KTtcbiAgICBjb2xvcjogIzFkNGVkODtcbn1cblxuLnNlYXJjaE1vZGFsSGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyNHB4IDMycHg7XG4gICAgcGFkZGluZy1yaWdodDogNzJweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZGZkZmQ7XG59XG5cbi5zZWxmTGVhcm5pbmdNb2RhbEhlYWRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZmFmYyAwJSwgI2ZlZjljMyA0NSUsICNlY2ZjY2IgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi5zZWxmTGVhcm5pbmdBdmF0YXJHcm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbn1cblxuLnNlbGZMZWFybmluZ0F2YXRhciB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZTJlOGYwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDE1LCAyMywgNDIsIDAuMTgpO1xufVxuXG4uc2VsZkxlYXJuaW5nQXZhdGFySW5pdGlhbCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5zZWxmTGVhcm5pbmdUZWFjaGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmRlNjhhIDAlLCAjODZlZmFjIDEwMCUpO1xufVxuXG4uc2VsZkxlYXJuaW5nSGVhZGVyVGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zZWxmTGVhcm5pbmdUaXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4uc2VsZkxlYXJuaW5nTWV0YVJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5zZWxmTGVhcm5pbmdNZXRhIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM2NDc0OGI7XG59XG5cbi5zZWxmTGVhcm5pbmdNZXRhQ2hpcCB7XG4gICAgYmFja2dyb3VuZDogI2UyZThmMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNlbGZMZWFybmluZ0NvbW1pdG1lbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xufVxuXG4uc2VsZkxlYXJuaW5nQ29tbWl0bWVudHNMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uc2VsZkxlYXJuaW5nQm9va0VkaXRvciB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi5zZWxmTGVhcm5pbmdFbXB0eSB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5tb2RhbENsb3NlQnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNnB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5tb2RhbENsb3NlQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4ubW9kYWxDbG9zZUJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgIzk0YTNiODtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4udGVhbU1vZGFsSGVhZGVyIHtcbiAgICBnYXA6IDEycHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGVhbUhlYWRlclBhcnRpY2lwYW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50ZWFtSGVhZGVyUHJvZmlsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4udGVhbUhlYWRlclByb2ZpbGVMaW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRlYW1IZWFkZXJBdmF0YXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTRweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4udGVhbUhlYWRlck5hbWUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udGVhbUhlYWRlckRpdmlkZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4uc2VhcmNoTW9kYWxJY29uIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbn1cblxuLnNlYXJjaE1vZGFsUXVlcnkge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzIwMjEyNCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnNlYXJjaE1vZGFsQ29udGVudCB7XG4gICAgcGFkZGluZzogMjRweCAzMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGVhbUNoYXRDb250YWluZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnRlYW1Ub29sQ2FsbFNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi50ZWFtVG9vbENhbGxHcm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4udGVhbVRvb2xDYWxsSGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4udGVhbVRvb2xDYWxsQ2hpcHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4udGVhbVRvb2xDYWxsRGV0YWlscyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4udGVhbVRvb2xDYWxsRGV0YWlsc0hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHNUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xufVxuXG4udGVhbVRvb2xDYWxsRGV0YWlsc0NsZWFyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICM0NzU1Njk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHNDbGVhcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM1KTtcbn1cblxuLnNlYXJjaFJlc3VsdHNMaXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zZWFyY2hSZXN1bHRzUmF3IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC13aWR0aDogNjUwcHg7XG59XG5cbi5zZWFyY2hSZXN1bHRJdGVtIHtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xufVxuXG4uc2VhcmNoUmVzdWx0VXJsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMyMDIxMjQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnNlYXJjaFJlc3VsdFVybCBhIHtcbiAgICBjb2xvcjogIzIwMjEyNDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zZWFyY2hSZXN1bHRUaXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAwIDRweCAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLnNlYXJjaFJlc3VsdFRpdGxlIGEge1xuICAgIGNvbG9yOiAjMWEwZGFiO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNlYXJjaFJlc3VsdFRpdGxlIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2VhcmNoUmVzdWx0U25pcHBldCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgIGNvbG9yOiAjNGQ1MTU2O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm5vUmVzdWx0cyB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM3MDc1N2E7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udG9vbENhbGxEZXRhaWxzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMjBweCAwO1xufVxuLmNpdGF0aW9uRGV0YWlscyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDIwcHggMDtcbn1cblxuLmNpdGF0aW9uUHJldmlldyB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG59XG5cbi5jaXRhdGlvbklmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHZoO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNpdGF0aW9uSWZyYW1lTG9hZGluZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHZoO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4uY2l0YXRpb25TY3JlZW5zaG90RmFsbGJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jaXRhdGlvblNjcmVlbnNob3RJbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNpdGF0aW9uU2NyZWVuc2hvdExpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXM7XG59XG5cbi5jaXRhdGlvblNjcmVlbnNob3RMaW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTBlMGUwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4uY2l0YXRpb25Ccm93c2VyTW9kYWwgLmxpdmVCcm93c2VyUHJldmlldyB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLWhlaWdodDogMDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlldzpmdWxsc2NyZWVuIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3VG9vbGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgYmFja2dyb3VuZDogI2YxZjVmOTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZThmMDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1Rvb2xiYXJCdXR0b24ge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBwYWRkaW5nOiAwIDRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3VG9vbGJhckJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogI2UyZThmMDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1Rvb2xiYXJCdXR0b246ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMzU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3Wm9vbUxhYmVsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1Rvb2xiYXJDbG9zZUJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1Rvb2xiYXJDbG9zZUJ1dHRvbiBzdmcge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1VybEZvcm0ge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbjogMCA0cHg7XG59XG5cbi5saXZlQnJvd3NlclByZXZpZXdVcmxJbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNXB4IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3VXJsSW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzk0YTNiODtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1N0cmVhbUFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDYwdmg7XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLmNpdGF0aW9uQnJvd3Nlck1vZGFsIC5saXZlQnJvd3NlclByZXZpZXdTdHJlYW1BcmVhIHtcbiAgICBoZWlnaHQ6IG1pbig2MHZoLCA2NDBweCk7XG4gICAgbWluLWhlaWdodDogbWluKDQwMHB4LCBjYWxjKDEwMGR2aCAtIDE0MHB4KSk7XG59XG5cbi5saXZlQnJvd3NlclByZXZpZXdTdHJlYW1BcmVhOmZvY3VzLXZpc2libGUge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjOTRhM2I4O1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3OmZ1bGxzY3JlZW4gLmxpdmVCcm93c2VyUHJldmlld1N0cmVhbUFyZWEge1xuICAgIGZsZXg6IDE7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi5saXZlQnJvd3NlclByZXZpZXdTdHJlYW1JbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3Q29ubmVjdGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3T3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuNTUpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld092ZXJsYXlCdXR0b24ge1xuICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2l0YXRpb25NZXRhZGF0YSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jaXRhdGlvbk1ldGFkYXRhIHAge1xuICAgIG1hcmdpbjogOHB4IDA7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbn1cblxuLmNpdGF0aW9uTWV0YWRhdGEgc3Ryb25nIHtcbiAgICBjb2xvcjogIzMzMztcbn1cblxuLmNpdGF0aW9uTWV0YWRhdGEgYSB7XG4gICAgY29sb3I6ICMwMDdiZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuLmNpdGF0aW9uTWV0YWRhdGEgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jaXRhdGlvbkV4Y2VycHQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uY2l0YXRpb25FeGNlcnB0IGg0IHtcbiAgICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi5jaXRhdGlvbkhpbnQge1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi50b29sQ2FsbERhdGFDb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50b29sQ2FsbFBheWxvYWRDb250YWluZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG59XG5cbi50b29sQ2FsbFBheWxvYWRFZGl0b3IgOmdsb2JhbCgubW9uYWNvLWVkaXRvciksXG4udG9vbENhbGxQYXlsb2FkRWRpdG9yIDpnbG9iYWwoLm1vbmFjby1lZGl0b3IgLm92ZXJmbG93LWd1YXJkKSxcbi50b29sQ2FsbFBheWxvYWRFZGl0b3IgOmdsb2JhbCgubW9uYWNvLWVkaXRvciAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCksXG4udG9vbENhbGxQYXlsb2FkRWRpdG9yIDpnbG9iYWwoLm1vbmFjby1lZGl0b3ItYmFja2dyb3VuZCkge1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmMgIWltcG9ydGFudDtcbn1cblxuLnRvb2xDYWxsRGF0YSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4udG9vbENhbGxNb2RhbCAudG9vbENhbGxEYXRhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ucmF0aW5nSW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4wNSk7XG4gICAgY29sb3I6ICMwYjEyMjA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnJhdGluZ0lucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDg0ZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjA4KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4xKTtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4ucmF0aW5nSW5wdXRbcmVhZG9ubHldIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjAxKTtcbn1cblxuLnJhdGluZ0FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246Zmlyc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICBjb2xvcjogIzBiMTIyMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMik7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjIpO1xuICAgIGNvbG9yOiAjMGIxMjIwO1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246bGFzdC1jaGlsZCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwODRmZiAwJSwgIzAwNjZjYyAxMDAlKTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQ6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDcxZDEgMCUsICMwMDUyYTMgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAxMzIsIDI1NSwgMC4zKTtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQ6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZG93bmxvYWRCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDg0ZmYgMCUsICMwMDY2Y2MgMTAwJSk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4yKTtcbn1cblxuLmRvd25sb2FkQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA5OWZmIDAlLCAjMDA3N2RkIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMyk7XG59XG5cbi5kb3dubG9hZEJ1dHRvbjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4yKTtcbn1cblxuLmRvd25sb2FkQnV0dG9uIHN2ZyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5kb3dubG9hZEJ1dHRvbiBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiBQcmltYXJ5IGNoYXQgdG9vbGJhciBidXR0b25zICovXG4uY2hhdEJ1dHRvbixcbi51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBnYXA6IDhweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDExcHggMTZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDBkZWcsICMwZjhlZjUgMCUsICMwYjZmZDAgNTYlLCAjMGQ1ZmJiIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTIuNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2UsIGJhY2tncm91bmQgMC4ycyBlYXNlICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSgxNCwgMTE2LCAyMTksIDAuMjgpLCBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAhaW1wb3J0YW50O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbiAhaW1wb3J0YW50O1xuICAgIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMTEwcHggIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5jaGF0QnV0dG9uOjpiZWZvcmUsXG4udXNlVGVtcGxhdGVCdXR0b246OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMTEwJTtcbiAgICB3aWR0aDogNzUlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTAwZGVnLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI2KSA0OCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC40NXMgZWFzZTtcbn1cblxuLmNoYXRCdXR0b246aG92ZXI6OmJlZm9yZSxcbi51c2VUZW1wbGF0ZUJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxNDAlO1xufVxuXG4uY2hhdEJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSxcbi51c2VUZW1wbGF0ZUJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MGRlZywgIzFhOWFmZiAwJSwgIzBkN2RlOCA1NiUsICMxMTY4YzkgMTAwJSkgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuNXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDE0cHggMzBweCByZ2JhKDE0LCAxMTYsIDIxOSwgMC4zNCksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7XG59XG5cbi5jaGF0QnV0dG9uOmFjdGl2ZSxcbi51c2VUZW1wbGF0ZUJ1dHRvbjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgwLjk4NSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcbn1cblxuLmNoYXRCdXR0b246Zm9jdXMsXG4udXNlVGVtcGxhdGVCdXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSgxNCwgMTE2LCAyMTksIDAuMzIpLCAwIDAgMCAzcHggcmdiYSg1NiwgMTg5LCAyNDgsIDAuMjgpLFxuICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMikgIWltcG9ydGFudDtcbn1cblxuLmNoYXRCdXR0b24gc3ZnLFxuLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgZmlsdGVyIDAuMnMgZWFzZTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjQpKTtcbn1cblxuLmNoYXRCdXR0b246aG92ZXIgc3ZnLFxuLnVzZVRlbXBsYXRlQnV0dG9uOmhvdmVyIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KSB0cmFuc2xhdGVYKDFweCk7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI4KSk7XG59XG5cbi5jaGF0QnV0dG9uVGV4dCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4uY2hhdEJ1dHRvbjpob3ZlciAuY2hhdEJ1dHRvblRleHQsXG4udXNlVGVtcGxhdGVCdXR0b246aG92ZXIgLmNoYXRCdXR0b25UZXh0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTtcbn1cblxuLnNhdmVCdXR0b25Db250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zYXZlTWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4uc2F2ZU1lbnVJdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzExMTtcbn1cblxuLnNhdmVNZW51SXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbn1cblxuLnNhdmVNZW51RGl2aWRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICBtYXJnaW46IDRweCAwO1xufVxuXG4uY2hhdEZlZWRiYWNrUGFuZWwge1xuICAgIHdpZHRoOiBtaW4oMjYwcHgsIDEwMCUpO1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDZweDtcbn1cblxuLmNoYXRGZWVkYmFja1RvZ2dsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC41cHgpO1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMjU2M2ViO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5jaGF0RmVlZGJhY2tJY29uIHtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWVmMmZmO1xuICAgIGNvbG9yOiAjNjM2NmYxO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlW2RhdGEtZW5hYmxlZD0ndHJ1ZSddIC5jaGF0RmVlZGJhY2tJY29uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTBmMmZlO1xuICAgIGNvbG9yOiAjMDI4NGM3O1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlW2RhdGEtZW5hYmxlZD0nZmFsc2UnXSAuY2hhdEZlZWRiYWNrSWNvbiB7XG4gICAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgICBjb2xvcjogIzk0YTNiODtcbn1cblxuLmNoYXRGZWVkYmFja01ldGEge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xufVxuXG4uY2hhdEZlZWRiYWNrTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4uY2hhdEZlZWRiYWNrRGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLmNoYXRGZWVkYmFja0luZGljYXRvciB7XG4gICAgZm9udC1zaXplOiAwLjcycmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59XG5cbi5jaGF0RmVlZGJhY2tJbmRpY2F0b3JBY3RpdmUge1xuICAgIGNvbG9yOiAjMTY2NTM0O1xuICAgIGJhY2tncm91bmQ6ICNkY2ZjZTc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzM0ZDM5OTtcbn1cblxuLmNoYXRGZWVkYmFja0luZGljYXRvckluYWN0aXZlIHtcbiAgICBjb2xvcjogIzcxM2YxMjtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmOWMzO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmYWNjMTU7XG59XG5cbi8qIFBhdXNlL1Jlc3VtZSBidXR0b24gdmFyaWFudCAocmV1c2VzIC5jaGF0QnV0dG9uIGJhc2Ugc3R5bGVzIGZvciBEUlkpICovXG4ucGF1c2VCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmZmIzNDcgMCUsICNmZjhjNDIgMTAwJSkgIWltcG9ydGFudDsgLyogV2FybSBvcmFuZ2UgZm9yIFwiYWN0aXZlL3J1bm5pbmdcIiAqL1xufVxuXG4ucGF1c2VCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmZmMwNjcgMCUsICNmZjllNWYgMTAwJSkgIWltcG9ydGFudDtcbn1cblxuLnBhdXNlQnV0dG9uLnBhdXNpbmcge1xuICAgIG9wYWNpdHk6IDAuNiAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogd2FpdCAhaW1wb3J0YW50O1xufVxuXG4ucGF1c2VCdXR0b24ucGF1c2VkIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTBiOTgxIDAlLCAjMDU5NjY5IDEwMCUpICFpbXBvcnRhbnQ7IC8qIEdyZWVuIHdoZW4gcGF1c2VkIChyZWFkeSB0byByZXN1bWUpICovXG59XG5cbi5wYXVzZUJ1dHRvbi5wYXVzZWQ6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMzNGQzOTkgMCUsICMwNTk2NjkgMTAwJSkgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCkgc2NhbGUoMS4wMik7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDE2LCAxODUsIDEyOSwgMC4zNSk7XG59XG5cbi5wYXVzZUJ1dHRvbiBzdmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5wYXVzZUJ1dHRvbi5wYXVzZWQgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5wYXVzZUJ1dHRvbi5wYXVzaW5nIHN2ZyB7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4uc3RvcEJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2RjMjYyNiAwJSwgIzk5MWIxYyAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7XG59XG5cbi5zdG9wQnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjg3MTcxIDAlLCAjZGMyNjI2IDEwMCUpICFpbXBvcnRhbnQ7XG59XG5cbi5zdG9wQnV0dG9uOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjYgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG59XG5cbi5zdG9wQnV0dG9uIHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLnN0b3BCdXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHJnYmEoMjQ4LCAxMTMsIDExMywgMC44KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vKiBWb2ljZSBjYWxsIGluZGljYXRvciBiYXIgKi9cbi52b2ljZUNhbGxJbmRpY2F0b3JCYXIge1xuICAgIGdyaWQtYXJlYTog8J+fpjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgzNCwgMTk3LCA5NCwgMC4xKSAwJSwgcmdiYSgxNiwgMTg1LCAxMjksIDAuMSkgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDE5NywgOTQsIDAuMyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbn1cblxuLyogVm9pY2UgY2FsbCBpbmRpY2F0b3IgKi9cbi52b2ljZUNhbGxJbmRpY2F0b3Ige1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgzNCwgMTk3LCA5NCwgMC4yKSAwJSwgcmdiYSgxNiwgMTg1LCAxMjksIDAuMikgMTAwJSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMTk3LCA5NCwgMC40KTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGNvbG9yOiAjMTBiOTgxO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgzNCwgMTk3LCA5NCwgMC4yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi52b2ljZUNhbGxJbmRpY2F0b3Igc3ZnIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYW5pbWF0aW9uOiB2b2ljZUNhbGxJY29uUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi52b2ljZUNhbGxJbmRpY2F0b3Igc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLyogVm9pY2UgY2FsbCBwdWxzZSBhbmltYXRpb24gKi9cbi52b2ljZUNhbGxQdWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZDogIzEwYjk4MTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiB2b2ljZUNhbGxQdWxzZSAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHZvaWNlQ2FsbEljb25QdWxzZSB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB2b2ljZUNhbGxQdWxzZSB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEuMyk7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG59XG5cbi8qIFZvaWNlIGNhbGwgaW5kaWNhdG9yIGluIG1lc3NhZ2VzICovXG4uY2hhdE1lc3NhZ2UgLnZvaWNlQ2FsbEluZGljYXRvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xufVxuXG4uY2hhdE1lc3NhZ2UgLnZvaWNlQ2FsbEluZGljYXRvciBzdmcge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbn1cblxuLyogRmVlZGJhY2sgc3RhdHVzIGJhbm5lciAqL1xuLmZlZWRiYWNrU3RhdHVzIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDE0cHggMjJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAzMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4zNSk7XG4gICAgei1pbmRleDogMTAwMDA7IC8qIFtGaXggei1pbmRleF06IEVuc3VyZSBpdCdzIGFib3ZlIHRoZSBoZWFkZXIgKHotNTApIGFuZCBvdGhlciBVSSBlbGVtZW50cyAqL1xuICAgIGFuaW1hdGlvbjogZmVlZGJhY2tTdGF0dXNTbGlkZUluIDAuMjhzIGVhc2Utb3V0O1xuICAgIG1heC13aWR0aDogMzQwcHg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZmVlZGJhY2tTdGF0dXNTdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTBiOTgxIDAlLCAjMDU5NjY5IDEwMCUpO1xuICAgIGNvbG9yOiAjZjhmYWZjO1xufVxuXG4uZmVlZGJhY2tTdGF0dXNFcnJvciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2VmNDQ0NCAwJSwgI2RjMjYyNiAxMDAlKTtcbiAgICBjb2xvcjogI2ZlZjJmMjtcbn1cblxuQGtleWZyYW1lcyBmZWVkYmFja1N0YXR1c1NsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4vKiBNb2JpbGUgcmVzcG9uc2l2ZW5lc3MgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5DaGF0IHtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemU6IDM2cHg7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLW1heC13aWR0aDogbWluKFxuICAgICAgICAgICAgODUlLFxuICAgICAgICAgICAgNTYwcHgsXG4gICAgICAgICAgICBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApKVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwOiAxMHB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy15OiAxNHB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy14OiAxOHB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemU6IDQ0cHg7XG4gICAgfVxuXG4gICAgLmNvbnN0cmFpbmVkQXJ0aWNsZVZpc3VhbCB7XG4gICAgICAgIC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZTogY2xhbXAoMjRweCwgNnZ3LCAzNnB4KTtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMTJweCAxNnB4IDA7XG4gICAgICAgIGdhcDogNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlcyB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIC5tZXNzYWdlU3RhY2sge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0LmFydGljbGVNb2RlQWdlbnRNZXNzYWdlVGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDJweCAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY4O1xuICAgIH1cblxuICAgIC5hcnRpY2xlTW9kZU1lc3NhZ2VBY3Rpb25zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDhweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHB4O1xuICAgIH1cblxuICAgIC8qIFvjipfvuI9dXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciBpbWcge1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICB9XG4gICAgKi9cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDE2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgfVxuXG4gICAgLnNwZWVjaFN0YXR1c0J1YmJsZSB7XG4gICAgICAgIHJpZ2h0OiAxNHB4O1xuICAgICAgICBib3R0b206IDc2cHg7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjhweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgcGFkZGluZzogN3B4IDExcHg7XG4gICAgfVxuXG4gICAgLmRpY3RhdGlvblNldHRpbmdzUGFuZWwge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIH1cblxuICAgIC5zY3JvbGxUb0JvdHRvbSB7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAxNjBweCk7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0QnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0QnV0dG9uVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWxDb250ZW50LmltYWdlQXR0YWNobWVudE1vZGFsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMycHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDMycHgpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zdGFycyB7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5zdGFycyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuXG4gICAgLnJhdGluZ0FjdGlvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdBY3Rpb25zIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxNHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxuXG4gICAgLnNlbGZMZWFybmluZ01vZGFsSGVhZGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnNlbGZMZWFybmluZ0F2YXRhckdyb3VwIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5zZWxmTGVhcm5pbmdNZXRhUm93IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuQ2hhdCB7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLW1pbi13aWR0aDogODBweDtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemU6IDMycHg7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLW1heC13aWR0aDogbWluKFxuICAgICAgICAgICAgOTAlLFxuICAgICAgICAgICAgNTIwcHgsXG4gICAgICAgICAgICBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApKVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwOiA4cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXk6IDEycHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXg6IDE2cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZTogNDBweDtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogOHB4IDEycHggMDtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgICAgICBtYXJnaW46IDAgMCA0cHg7XG4gICAgfVxuXG4gICAgLyogW+OKl++4j11cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZyB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIH1cbiAgICAqL1xuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTJweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5zcGVlY2hTdGF0dXNCdWJibGUge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgYm90dG9tOiA3MnB4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIH1cblxuICAgIC5kaWN0YXRpb25Db3JyZWN0aW9uQWN0aW9ucyxcbiAgICAuZGljdGF0aW9uRXJyb3JBY3Rpb25zIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNjcm9sbFRvQm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDE0MHB4KTtcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsW2RhdGEtY2hhdC1tb2RhbD0naW1hZ2UtYXR0YWNobWVudCddIHtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWxbZGF0YS1jaGF0LW1vZGFsPSdjaXRhdGlvbi1icm93c2VyJ10ge1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsQ29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMTZweCAyMHB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQuaW1hZ2VBdHRhY2htZW50TW9kYWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI0cHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDI0cHgpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQuY2l0YXRpb25Ccm93c2VyTW9kYWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDE2cHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDE2cHgpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIH1cblxuICAgIC5jaXRhdGlvbkJyb3dzZXJNb2RhbCAubGl2ZUJyb3dzZXJQcmV2aWV3U3RyZWFtQXJlYSB7XG4gICAgICAgIGhlaWdodDogNTh2aDtcbiAgICAgICAgbWluLWhlaWdodDogbWluKDMyMHB4LCBjYWxjKDEwMGR2aCAtIDExMnB4KSk7XG4gICAgfVxuXG4gICAgLmltYWdlQXR0YWNobWVudE1vZGFsSGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMTZweCA1NnB4IDEycHggMTZweDtcbiAgICB9XG5cbiAgICAuaW1hZ2VBdHRhY2htZW50TW9kYWxQcmV2aWV3IHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDk2cHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDk2cHgpO1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgIH1cblxuICAgIC5pbWFnZUF0dGFjaG1lbnRNb2RhbEltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEyMHB4KTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSAxMjBweCk7XG4gICAgfVxufVxuXG4vKiBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0ICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLFxuICAgIC5zY3JvbGxUb0JvdHRvbSxcbiAgICAucmF0aW5nTW9kYWwsXG4gICAgLnJhdGluZ01vZGFsQ29udGVudCxcbiAgICAuZmVlZGJhY2tTdGF0dXMge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0LFxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSxcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uLFxuICAgIC8qIFvjipfvuI9dIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIgaW1nLCAqL1xuICAgIC5jaGF0QnV0dG9uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi8qIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0ICovXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICB9XG59XG5cbi8qIEVtYWlsIG1vZGFsIHN0eWxlcyAqL1xuLmVtYWlsQ29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi5lbWFpbE1vZGFsSGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4uZW1haWxIZWFkZXJUZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG59XG5cbi5lbWFpbEhlYWRlckxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4uZW1haWxNZXRhZGF0YSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMThweCAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5lbWFpbEZpZWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmVtYWlsRmllbGQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVtYWlsRmllbGQgc3Ryb25nIHtcbiAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgY29sb3I6ICM2NDc0OGI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmVtYWlsUmVjaXBpZW50cyB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmVtYWlsQm9keSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmVtYWlsQm9keSBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgY29sb3I6ICM2NDc0OGI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5lbWFpbEJvZHlDb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLmVtYWlsQm9keUNvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAwIDAgMTJweCAwO1xufVxuXG4uZW1haWxCb2R5Q29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5icm93c2VyUnVuTW9kYWxIZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOGZhZmMgMCUsICNlY2ZlZmYgNDAlLCAjZWNmY2NiIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJlYWZlO1xufVxuXG4uYnJvd3NlclJ1bkhlYWRlclRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbn1cblxuLmJyb3dzZXJSdW5IZWFkZXJTdGF0dXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzQ3NTQ2NztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmJyb3dzZXJSdW5IZWFkZXJMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbn1cblxuLmJyb3dzZXJSdW5NZXRhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE2cHggMThweDtcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLmJyb3dzZXJSdW5XYXJuaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmYmJmMjQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmYmViO1xuICAgIGNvbG9yOiAjOTI0MDBlO1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbn1cblxuLmJyb3dzZXJSdW5FcnJvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmNhNWE1O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZjJmMjtcbiAgICBjb2xvcjogIzdmMWQxZDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG59XG5cbi5icm93c2VyUnVuRXJyb3JTdW1tYXJ5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5icm93c2VyUnVuRXJyb3JTdGVwcyB7XG4gICAgbWFyZ2luOiA4cHggMCAwO1xuICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5icm93c2VyUnVuRGVidWdEZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYnJvd3NlclJ1bkRlYnVnRGV0YWlscyBzdW1tYXJ5IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICM3ZjFkMWQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmJyb3dzZXJSdW5EZWJ1Z0RldGFpbHMgcHJlIHtcbiAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjdlZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmVkN2FhO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbi5icm93c2VyUnVuRmFsbGJhY2tDb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDE0cHggMTZweDtcbn1cblxuLmJyb3dzZXJSdW5TdGF0dXNCYW5uZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjI4KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTUpO1xuICAgIGNvbG9yOiAjMzM0MTU1O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhR3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCAxZnIpKTtcbiAgICBnYXA6IDE0cHg7XG59XG5cbi5icm93c2VyUnVuTWVkaWFDYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuTWVkaWFDYXJkSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi5icm93c2VyUnVuTWVkaWFUaXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhQ2FwdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhSW1hZ2UsXG4uYnJvd3NlclJ1bk1lZGlhVmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIG1heC1oZWlnaHQ6IDI2MHB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5icm93c2VyUnVuQWN0aW9uTG9nIHtcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25Mb2dUaXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbkxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbkl0ZW0ge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjkpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uUGVuZGluZyB7XG4gICAgb3BhY2l0eTogMC44Mjtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25SdW5uaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTQsIDE2NSwgMjMzLCAwLjM1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0LCAxNjUsIDIzMywgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uQ29tcGxldGUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNiwgMTg1LCAxMjksIDAuMjIpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjA4KTtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25FcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjI0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjA4KTtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25TdGF0ZSB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICNjYmQ1ZTE7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uU3RhdGVSdW5uaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGVhNWU5O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDE0LCAxNjUsIDIzMywgMC4xNCk7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uU3RhdGVDb21wbGV0ZSB7XG4gICAgYmFja2dyb3VuZDogIzEwYjk4MTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgxNiwgMTg1LCAxMjksIDAuMTIpO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvblN0YXRlRXJyb3Ige1xuICAgIGJhY2tncm91bmQ6ICNlZjQ0NDQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTIpO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbk1ldGEge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAgIC5DaGF0IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2Y4ZmFmYyAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IHtcbiAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXMge1xuICAgICAgICBwYWRkaW5nOiA0OHB4IDQwcHggNjRweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCByZ2JhKDIsIDYsIDIzLCAwLjk4KSwgcmdiYSgxNSwgMjMsIDQyLCAwLjkyKSkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU2LCAxODksIDI0OCwgMC4zMikgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0MHB4IDgwcHggcmdiYSgwLCAwLCAwLCAwLjM1KSBpbnNldCAhaW1wb3J0YW50O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2Uge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgMTQ1ZGVnLFxuICAgICAgICAgICAgdmFyKC0tYWdlbnQtY2hhdC1icmFuZC1jb2xvci1saWdodCwgIzdkZDNmYyksXG4gICAgICAgICAgICB2YXIoLS1hZ2VudC1jaGF0LWJyYW5kLWNvbG9yLCAjMGVhNWU5KVxuICAgICAgICApICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjZjhmYWZjICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDE4cHggNDBweCByZ2JhKDIsIDYsIDIzLCAwLjYpIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDE4cHggMjJweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y4ZmJmZiAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzBmMTcyYSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNDUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4zKSBpbnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1lc3NhZ2VNZXRhLFxuICAgIC5wYXJ0aWNpcGFudExhYmVsIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjI2LCAyMzIsIDI0MCwgMC44KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hY3Rpb25zLFxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCxcbiAgICAuc2Nyb2xsVG9Cb3R0b20sXG4gICAgLmZlZWRiYWNrU3RhdHVzLFxuICAgIC52b2ljZUNhbGxJbmRpY2F0b3JCYXIsXG4gICAgLnZvaWNlQ2FsbEluZGljYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY29weUJ1dHRvbkNvbnRhaW5lcixcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlcyA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uZW1haWxTdGF0dXMge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qKlxuICogVE9ETzogW/CfjIldIERSWSBNYXJrZG93biBwcmltaXRpdmVzIHN0eWxpbmdcbiAqL1xuLyogSW1hZ2UgcHJvbXB0IHByZXZpZXcgc3R5bGVzICovXG4uaW1hZ2VQcm9tcHQge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjM1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5pbWFnZVByb21wdFByZXZpZXcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWluLWhlaWdodDogMTYwcHg7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDE1LCAxMTgsIDI1NSwgMC4wNSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSk7XG59XG5cbi5pbWFnZVByb21wdEltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pbWFnZVByb21wdFBsYWNlaG9sZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaW1hZ2VQcm9tcHRTcGlubmVyIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzI1NjNlYjtcbiAgICBhbmltYXRpb246IGltYWdlUHJvbXB0U3Bpbm5lciAwLjlzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBpbWFnZVByb21wdFNwaW5uZXIge1xuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi5pbWFnZVByb21wdE1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLmltYWdlUHJvbXB0UHJvbXB0IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzExMTtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLmltYWdlUHJvbXB0U3RhdHVzIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICM2YjcyODA7XG59XG5cbi5pbWFnZVByb21wdEVycm9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogI2RjMjYyNjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyMCwgMzgsIDM4LCAwLjA4KTtcbn1cblxuLnJpY2hGZWF0dXJlUGxhY2Vob2xkZXIge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSg1NiwgMTg5LCAyNDgsIDAuMTIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5yaWNoRmVhdHVyZVBsYWNlaG9sZGVyU3Bpbm5lciB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjJkM2VlO1xuICAgIGFuaW1hdGlvbjogcmljaEZlYXR1cmVTcGlubmVyIDAuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG4ucmljaEZlYXR1cmVQbGFjZWhvbGRlckNvcHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnJpY2hGZWF0dXJlUGxhY2Vob2xkZXJUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi5yaWNoRmVhdHVyZVBsYWNlaG9sZGVyU3RhdHVzIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5wcm9ncmVzc1BhbmVsIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yNCk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyMzksIDI0NiwgMjU1LCAwLjk0KSwgcmdiYSgyMTksIDIzNCwgMjU0LCAwLjg2KSk7XG4gICAgcGFkZGluZzogMTJweCAxM3B4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5wcm9ncmVzc1BhbmVsVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5wcm9ncmVzc1BhbmVsVGl0bGUgcCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucHJvZ3Jlc3NQYW5lbFNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLnByb2dyZXNzUGFuZWxTZWN0aW9uTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzFkNGVkODtcbn1cblxuLnByb2dyZXNzUGFuZWxTZWN0aW9uQm9keSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbFNlY3Rpb25Cb2R5IHAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnByb2dyZXNzUGFuZWxMaXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDZweDtcbn1cblxuLnByb2dyZXNzUGFuZWxMaXN0SXRlbSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byAxZnI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5wcm9ncmVzc1BhbmVsTGlzdEJ1bGxldCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMjU2M2ViO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbEl0ZW1TcGlubmVyIHtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMzcsIDk5LCAyMzUsIDAuMjYpO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyNTYzZWI7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzc1BhbmVsU3Bpbm5lciAwLjc1cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbEl0ZW1Db21wbGV0ZWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDExcHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4xNik7XG4gICAgY29sb3I6ICMxNTgwM2Q7XG4gICAgZm9udC1zaXplOiA5cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnByb2dyZXNzUGFuZWxJdGVtVGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbEl0ZW1UZXh0IHAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuQGtleWZyYW1lcyBwcm9ncmVzc1BhbmVsU3Bpbm5lciB7XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByaWNoRmVhdHVyZVNwaW5uZXIge1xuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG4iXX0= */";
22988
- var styles$7 = {"copiedToClipboardMessage":"Chat-module_copiedToClipboardMessage__apCPY","Chat":"Chat-module_Chat__j2eE5","constrainedArticleVisual":"Chat-module_constrainedArticleVisual__0axxM","chatMainFlow":"Chat-module_chatMainFlow__--8FE","chatBar":"Chat-module_chatBar__fLECN","TasksInProgress":"Chat-module_TasksInProgress__fQfei","actions":"Chat-module_actions__gTZ5T","portal":"Chat-module_portal__uTOT8","left":"Chat-module_left__7l5Mn","right":"Chat-module_right__ABZrW","actionsFaded":"Chat-module_actionsFaded__qqAVQ","actionsScrolling":"Chat-module_actionsScrolling__fIawW","chatButton":"Chat-module_chatButton__d9VgA","chatButtonText":"Chat-module_chatButtonText__RkGB-","useTemplateButton":"Chat-module_useTemplateButton__xcJNR","chatChildren":"Chat-module_chatChildren__flOPK","chatMessages":"Chat-module_chatMessages__J2u2N","articleModeChatMessages":"Chat-module_articleModeChatMessages__ufofT","chatMessage":"Chat-module_chatMessage__nmLaZ","articleModeAgentMessage":"Chat-module_articleModeAgentMessage__Y79L7","messageStack":"Chat-module_messageStack__n0xNL","hasActionsAndFirstMessageIsLong":"Chat-module_hasActionsAndFirstMessageIsLong__5jgoZ","messageSlideIn":"Chat-module_messageSlideIn__soTy2","isMe":"Chat-module_isMe__nBtaV","avatar":"Chat-module_avatar__gL6bm","articleModeAgentAvatar":"Chat-module_articleModeAgentAvatar__UCKDX","messageWithMap":"Chat-module_messageWithMap__X5dr0","messageMeta":"Chat-module_messageMeta__eqCRu","messageLifecycleBadge":"Chat-module_messageLifecycleBadge__4jDDc","messageTimestamp":"Chat-module_messageTimestamp__LDhRw","messageDuration":"Chat-module_messageDuration__Y9Kg9","messageReplyButton":"Chat-module_messageReplyButton__S5hXM","messageReplyButtonIcon":"Chat-module_messageReplyButtonIcon__2Nk3i","messageLifecycleError":"Chat-module_messageLifecycleError__m-FO-","participantLabel":"Chat-module_participantLabel__0Oo-3","isNotCompleteMessage":"Chat-module_isNotCompleteMessage__Hj2K7","NonCompleteMessageFiller":"Chat-module_NonCompleteMessageFiller__G5-Ve","messageText":"Chat-module_messageText__XgNyQ","loadingPulse":"Chat-module_loadingPulse__VomRm","toolCallChips":"Chat-module_toolCallChips__UWgC1","sourceCitations":"Chat-module_sourceCitations__oDtBX","citationFootnotes":"Chat-module_citationFootnotes__LAWdh","citationFootnoteItem":"Chat-module_citationFootnoteItem__JXTAX","citationFootnoteNumber":"Chat-module_citationFootnoteNumber__CMmm9","toolCallChip":"Chat-module_toolCallChip__koN18","toolCallChipOngoing":"Chat-module_toolCallChipOngoing__wKcDY","toolCallChipStatus":"Chat-module_toolCallChipStatus__I-nl9","teamToolCall":"Chat-module_teamToolCall__5F45R","transitiveToolCall":"Chat-module_transitiveToolCall__WcaaK","teamAgentChip":"Chat-module_teamAgentChip__mvgtY","transitiveAgentChip":"Chat-module_transitiveAgentChip__zNOJf","toolCallLabel":"Chat-module_toolCallLabel__q7EFf","toolCallWithError":"Chat-module_toolCallWithError__AtQqO","toolCallOrigin":"Chat-module_toolCallOrigin__-Io6Y","toolCallDetails":"Chat-module_toolCallDetails__WUFlD","toolCallData":"Chat-module_toolCallData__UauCO","toolCallChipSpinner":"Chat-module_toolCallChipSpinner__ZGTwl","toolCallSpinner":"Chat-module_toolCallSpinner__LSiK6","typingIndicator":"Chat-module_typingIndicator__S-CT-","typingBubble":"Chat-module_typingBubble__0Lb7B","typingDots":"Chat-module_typingDots__srOBB","typingDot":"Chat-module_typingDot__dnhKT","typingBounce":"Chat-module_typingBounce__1yp2v","ratingStar":"Chat-module_ratingStar__rRfqC","feedbackStar":"Chat-module_feedbackStar__tC7XH","feedbackStarIcon":"Chat-module_feedbackStarIcon__BuPen","articleModeAgentMessageText":"Chat-module_articleModeAgentMessageText__vBlIP","replyEnabledMessageText":"Chat-module_replyEnabledMessageText__-SV9f","replySwipeActive":"Chat-module_replySwipeActive__dhAqt","replySwipeIndicator":"Chat-module_replySwipeIndicator__u92JU","replySwipeIndicatorRight":"Chat-module_replySwipeIndicatorRight__3CoAW","replySwipeIndicatorActive":"Chat-module_replySwipeIndicatorActive__m9gwU","replySwipeIndicatorIcon":"Chat-module_replySwipeIndicatorIcon__0K1SX","replyPreview":"Chat-module_replyPreview__Lt-Bg","replyBubblePreview":"Chat-module_replyBubblePreview__DNe3r","replyComposerPreview":"Chat-module_replyComposerPreview__80Wdf","replyPreviewAccent":"Chat-module_replyPreviewAccent__Uo3pe","replyPreviewBody":"Chat-module_replyPreviewBody__reKG-","replyPreviewHeading":"Chat-module_replyPreviewHeading__IeegE","replyPreviewLabel":"Chat-module_replyPreviewLabel__J-BrF","replyPreviewSender":"Chat-module_replyPreviewSender__z6SYu","replyPreviewText":"Chat-module_replyPreviewText__cY-Hc","replyPreviewDismissButton":"Chat-module_replyPreviewDismissButton__-L9MF","copyButtonContainer":"Chat-module_copyButtonContainer__Rij0U","articleModeMessageActions":"Chat-module_articleModeMessageActions__h2qaG","articleModeMessageControls":"Chat-module_articleModeMessageControls__hncCw","messageControlGroup":"Chat-module_messageControlGroup__gAo4k","copyButton":"Chat-module_copyButton__DcxT5","playButton":"Chat-module_playButton__ZigYL","playButtonIcon":"Chat-module_playButtonIcon__wPErq","playButtonSpinner":"Chat-module_playButtonSpinner__Ad33i","messagePlaySpinner":"Chat-module_messagePlaySpinner__ldlvy","copiedTooltip":"Chat-module_copiedTooltip__LH81j","copiedTooltipFadeIn":"Chat-module_copiedTooltipFadeIn__QekO1","copiedTooltipLeft":"Chat-module_copiedTooltipLeft__j-S-5","copiedTooltipRight":"Chat-module_copiedTooltipRight__R-2cE","attachments":"Chat-module_attachments__m1Fts","attachment":"Chat-module_attachment__aE9hK","attachmentWithRemove":"Chat-module_attachmentWithRemove__n2-O6","attachmentMainAction":"Chat-module_attachmentMainAction__Onkl3","attachmentRemoveButton":"Chat-module_attachmentRemoveButton__dC5ne","attachmentName":"Chat-module_attachmentName__aMx56","attachmentIcon":"Chat-module_attachmentIcon__BX3Cy","messageButtons":"Chat-module_messageButtons__WaOob","messageButton":"Chat-module_messageButton__mRnn-","actionMessageButton":"Chat-module_actionMessageButton__avcbv","rating":"Chat-module_rating__soc3M","articleModeRating":"Chat-module_articleModeRating__dwZqm","feedbackIssueButton":"Chat-module_feedbackIssueButton__9NrrF","chatInput":"Chat-module_chatInput__1Ecan","articleModeChatInput":"Chat-module_articleModeChatInput__zBTV4","speechStatusBubble":"Chat-module_speechStatusBubble__qBBWI","dragOverlay":"Chat-module_dragOverlay__SEGoS","fullPageVisual":"Chat-module_fullPageVisual__zNAEy","dragOver":"Chat-module_dragOver__bkS-g","filePreviewContainer":"Chat-module_filePreviewContainer__R70hm","filePreview":"Chat-module_filePreview__kq2aX","fileIcon":"Chat-module_fileIcon__zoSKW","fileInfo":"Chat-module_fileInfo__wBLi0","fileName":"Chat-module_fileName__bBujo","fileSize":"Chat-module_fileSize__ivliq","removeFileButton":"Chat-module_removeFileButton__0gakR","inputContainer":"Chat-module_inputContainer__bPt99","attachmentButton":"Chat-module_attachmentButton__qLO47","voiceButton":"Chat-module_voiceButton__d2zlP","voiceButtonActive":"Chat-module_voiceButtonActive__Uoi3W","voiceRecordingPulse":"Chat-module_voiceRecordingPulse__y2wJ5","speechStatusBubbleIn":"Chat-module_speechStatusBubbleIn__PBm-c","speechStatusBubbleDot":"Chat-module_speechStatusBubbleDot__APu53","speechStatusBubbleDotPulse":"Chat-module_speechStatusBubbleDotPulse__Guqsu","speechStatusBubbleRecording":"Chat-module_speechStatusBubbleRecording__faJs2","speechStatusBubbleProcessing":"Chat-module_speechStatusBubbleProcessing__Crbuu","speechStatusBubbleError":"Chat-module_speechStatusBubbleError__Nd-Aj","dictationPanel":"Chat-module_dictationPanel__kzbyG","dictationPanelHeader":"Chat-module_dictationPanelHeader__rHXTh","dictationPanelTitle":"Chat-module_dictationPanelTitle__sO9XH","dictationPanelToggle":"Chat-module_dictationPanelToggle__z3HMx","dictationInterimTranscript":"Chat-module_dictationInterimTranscript__eAbMI","dictationErrorPanel":"Chat-module_dictationErrorPanel__mjbM7","dictationErrorActions":"Chat-module_dictationErrorActions__K3ykb","dictationCorrectionActions":"Chat-module_dictationCorrectionActions__ssE7i","dictationCorrectionPanel":"Chat-module_dictationCorrectionPanel__5nh9M","dictationCorrectionLabel":"Chat-module_dictationCorrectionLabel__U4uzT","dictationCorrectionTextarea":"Chat-module_dictationCorrectionTextarea__5ovj9","dictationSettingsPanel":"Chat-module_dictationSettingsPanel__0gI-V","dictationFallbackNote":"Chat-module_dictationFallbackNote__919pE","uploadProgress":"Chat-module_uploadProgress__jBTKe","uploadProgressBar":"Chat-module_uploadProgressBar__Gutnt","uploadProgressFill":"Chat-module_uploadProgressFill__EgubT","dragOverlayContent":"Chat-module_dragOverlayContent__gb9kF","scrollToBottomContainer":"Chat-module_scrollToBottomContainer__5rXpK","scrollToBottomWrapper":"Chat-module_scrollToBottomWrapper__PCIu1","scrollButtonSlideIn":"Chat-module_scrollButtonSlideIn__XnImg","scrollToBottom":"Chat-module_scrollToBottom__nzxdZ","scrollToBottomBadge":"Chat-module_scrollToBottomBadge__N6T6-","ratingModal":"Chat-module_ratingModal__XVKYm","modalFadeIn":"Chat-module_modalFadeIn__RPc3w","ratingModalContent":"Chat-module_ratingModalContent__CCdq7","modalSlideIn":"Chat-module_modalSlideIn__XXtgN","stars":"Chat-module_stars__PCzNO","ratingModalStar":"Chat-module_ratingModalStar__XkbHr","toolCallModal":"Chat-module_toolCallModal__uNaIK","citationBrowserModal":"Chat-module_citationBrowserModal__jYU4c","citationBrowserModalBody":"Chat-module_citationBrowserModalBody__lvTWb","imageAttachmentModal":"Chat-module_imageAttachmentModal__Ef6L5","imageAttachmentModalHeader":"Chat-module_imageAttachmentModalHeader__onK3Z","imageAttachmentModalTitle":"Chat-module_imageAttachmentModalTitle__AhuMt","imageAttachmentModalPreview":"Chat-module_imageAttachmentModalPreview__gXDer","imageAttachmentModalImage":"Chat-module_imageAttachmentModalImage__t61oG","toolCallHeader":"Chat-module_toolCallHeader__ZaTZF","toolCallIcon":"Chat-module_toolCallIcon__UgRKj","toolCallHeaderMeta":"Chat-module_toolCallHeaderMeta__iAL-U","toolCallModalLabel":"Chat-module_toolCallModalLabel__4dBP4","toolCallTitle":"Chat-module_toolCallTitle__jhL0A","toolCallSubtitle":"Chat-module_toolCallSubtitle__a2GIO","toolCallGrid":"Chat-module_toolCallGrid__Nfr7N","toolCallPanel":"Chat-module_toolCallPanel__kQZE9","toolCallPanelTitle":"Chat-module_toolCallPanelTitle__-7OtJ","toolCallList":"Chat-module_toolCallList__5co3s","toolCallItem":"Chat-module_toolCallItem__k7W5Z","toolCallItemLabel":"Chat-module_toolCallItemLabel__d3C1E","toolCallItemValue":"Chat-module_toolCallItemValue__cStQ0","toolCallSummary":"Chat-module_toolCallSummary__wGZwg","toolCallSummaryMeta":"Chat-module_toolCallSummaryMeta__RXiSv","toolCallSummaryMetaBadge":"Chat-module_toolCallSummaryMetaBadge__JBi-I","toolCallEmpty":"Chat-module_toolCallEmpty__bUz5v","toolCallPendingCard":"Chat-module_toolCallPendingCard__L3m7T","toolCallPendingHeader":"Chat-module_toolCallPendingHeader__U3htF","toolCallPendingTitle":"Chat-module_toolCallPendingTitle__4fwLL","toolCallPendingBadge":"Chat-module_toolCallPendingBadge__bgY3c","toolCallPendingMessage":"Chat-module_toolCallPendingMessage__grnao","toolCallPendingSkeleton":"Chat-module_toolCallPendingSkeleton__Td5Cu","toolCallPendingSkeletonLine":"Chat-module_toolCallPendingSkeletonLine__Vldel","toolCallPendingSkeletonPulse":"Chat-module_toolCallPendingSkeletonPulse__aKDNI","toolCallPendingSkeletonShort":"Chat-module_toolCallPendingSkeletonShort__FnR-X","toolCallDetailsCard":"Chat-module_toolCallDetailsCard__UJthw","toolCallDetailsCardRow":"Chat-module_toolCallDetailsCardRow__-VhfA","toolCallIssues":"Chat-module_toolCallIssues__evhYM","toolCallIssueBadge":"Chat-module_toolCallIssueBadge__Qbwdp","toolCallIssueError":"Chat-module_toolCallIssueError__LImeS","toolCallIssueWarning":"Chat-module_toolCallIssueWarning__chQDf","toolCallModeFooter":"Chat-module_toolCallModeFooter__XaRqI","toolCallModeButton":"Chat-module_toolCallModeButton__zlcca","toolCallClockPanel":"Chat-module_toolCallClockPanel__h4xZd","toolCallClockLabels":"Chat-module_toolCallClockLabels__KJGxe","toolCallClockPrimary":"Chat-module_toolCallClockPrimary__StLQ8","toolCallClockSecondary":"Chat-module_toolCallClockSecondary__O4WaT","toolCallClockMeta":"Chat-module_toolCallClockMeta__aObb7","timeoutToolSummary":"Chat-module_timeoutToolSummary__kPPvu","timeoutToolPrimarySentence":"Chat-module_timeoutToolPrimarySentence__pQfLn","timeoutToolSecondarySentence":"Chat-module_timeoutToolSecondarySentence__iH5Uc","timeoutToolActionRow":"Chat-module_timeoutToolActionRow__occir","timeoutToolActionButton":"Chat-module_timeoutToolActionButton__8yz0R","memoryModalHeader":"Chat-module_memoryModalHeader__SpZJT","memoryModalIcon":"Chat-module_memoryModalIcon__eYbli","memoryModalHeaderText":"Chat-module_memoryModalHeaderText__S6MZG","memoryModalTitle":"Chat-module_memoryModalTitle__zzbaQ","memoryModalSubtitle":"Chat-module_memoryModalSubtitle__PStci","memoryModalStatus":"Chat-module_memoryModalStatus__bmrfc","memoryStatusDot":"Chat-module_memoryStatusDot__c0oVs","memoryModalContent":"Chat-module_memoryModalContent__8E7oj","memoryMessage":"Chat-module_memoryMessage__q0pNK","memoryMetaRow":"Chat-module_memoryMetaRow__Hc-Xp","memoryMetaLabel":"Chat-module_memoryMetaLabel__LFx11","memoryMetaValue":"Chat-module_memoryMetaValue__4bILO","memoryStoreSection":"Chat-module_memoryStoreSection__qQJPN","memoryRetrieveSection":"Chat-module_memoryRetrieveSection__VbuS4","memoryCard":"Chat-module_memoryCard__-kIDN","memoryCardContent":"Chat-module_memoryCardContent__l9S4G","memoryCardMeta":"Chat-module_memoryCardMeta__K66KE","memoryScopeBadge":"Chat-module_memoryScopeBadge__T2ACc","memoryList":"Chat-module_memoryList__pUOg2","memoryEmptyState":"Chat-module_memoryEmptyState__fPrXA","memoryListFooter":"Chat-module_memoryListFooter__Y0Q2Z","memoryStatusSuccess":"Chat-module_memoryStatusSuccess__4bhfo","memoryStatusWarning":"Chat-module_memoryStatusWarning__AR6yh","memoryStatusError":"Chat-module_memoryStatusError__ZNAT6","memoryStatusNeutral":"Chat-module_memoryStatusNeutral__Fa-4M","searchModalHeader":"Chat-module_searchModalHeader__Y8V-w","selfLearningModalHeader":"Chat-module_selfLearningModalHeader__PDIt1","selfLearningAvatarGroup":"Chat-module_selfLearningAvatarGroup__jgy2k","selfLearningAvatar":"Chat-module_selfLearningAvatar__NHXKm","selfLearningAvatarInitial":"Chat-module_selfLearningAvatarInitial__cuw19","selfLearningTeacher":"Chat-module_selfLearningTeacher__fGhX8","selfLearningHeaderText":"Chat-module_selfLearningHeaderText__LTwHL","selfLearningTitle":"Chat-module_selfLearningTitle__G0SAk","selfLearningMetaRow":"Chat-module_selfLearningMetaRow__z4Tg0","selfLearningMeta":"Chat-module_selfLearningMeta__58Pet","selfLearningMetaChip":"Chat-module_selfLearningMetaChip__0go88","selfLearningCommitments":"Chat-module_selfLearningCommitments__7ECnr","selfLearningCommitmentsLabel":"Chat-module_selfLearningCommitmentsLabel__OkDO1","selfLearningBookEditor":"Chat-module_selfLearningBookEditor__CZy5T","selfLearningEmpty":"Chat-module_selfLearningEmpty__vCKHL","modalCloseButton":"Chat-module_modalCloseButton__AAfWS","teamModalHeader":"Chat-module_teamModalHeader__SB5NL","teamHeaderParticipants":"Chat-module_teamHeaderParticipants__KS7aV","teamHeaderProfile":"Chat-module_teamHeaderProfile__xRlcS","teamHeaderProfileLink":"Chat-module_teamHeaderProfileLink__fYTfT","teamHeaderAvatar":"Chat-module_teamHeaderAvatar__vXcTp","teamHeaderName":"Chat-module_teamHeaderName__ygJR9","teamHeaderDivider":"Chat-module_teamHeaderDivider__cnRMd","searchModalIcon":"Chat-module_searchModalIcon__AR5KY","searchModalQuery":"Chat-module_searchModalQuery__5x-Ra","searchModalContent":"Chat-module_searchModalContent__mWLIE","teamChatContainer":"Chat-module_teamChatContainer__xdLtU","teamToolCallSection":"Chat-module_teamToolCallSection__FH9l7","teamToolCallGroup":"Chat-module_teamToolCallGroup__PO6rl","teamToolCallHeading":"Chat-module_teamToolCallHeading__G-JSj","teamToolCallChips":"Chat-module_teamToolCallChips__hRWqh","teamToolCallDetails":"Chat-module_teamToolCallDetails__ZaTtt","teamToolCallDetailsHeader":"Chat-module_teamToolCallDetailsHeader__FPIgI","teamToolCallDetailsTitle":"Chat-module_teamToolCallDetailsTitle__50SeL","teamToolCallDetailsClear":"Chat-module_teamToolCallDetailsClear__8yvu7","searchResultsList":"Chat-module_searchResultsList__xVDUZ","searchResultsRaw":"Chat-module_searchResultsRaw__i3GkD","searchResultItem":"Chat-module_searchResultItem__bTzq5","searchResultUrl":"Chat-module_searchResultUrl__SbrH4","searchResultTitle":"Chat-module_searchResultTitle__XS7zN","searchResultSnippet":"Chat-module_searchResultSnippet__Wsun2","noResults":"Chat-module_noResults__AAv6s","citationDetails":"Chat-module_citationDetails__2v2e1","citationPreview":"Chat-module_citationPreview__rGhCR","citationIframe":"Chat-module_citationIframe__ngzFY","citationIframeLoading":"Chat-module_citationIframeLoading__y5VW9","citationScreenshotFallback":"Chat-module_citationScreenshotFallback__jxfJX","citationScreenshotImage":"Chat-module_citationScreenshotImage__hXjC7","citationScreenshotLink":"Chat-module_citationScreenshotLink__NHvbE","liveBrowserPreview":"Chat-module_liveBrowserPreview__D94Kt","liveBrowserPreviewToolbar":"Chat-module_liveBrowserPreviewToolbar__nFgSV","liveBrowserPreviewToolbarButton":"Chat-module_liveBrowserPreviewToolbarButton__R-ZXl","liveBrowserPreviewZoomLabel":"Chat-module_liveBrowserPreviewZoomLabel__PbrV1","liveBrowserPreviewToolbarCloseButton":"Chat-module_liveBrowserPreviewToolbarCloseButton__gcsb0","liveBrowserPreviewUrlForm":"Chat-module_liveBrowserPreviewUrlForm__4DSda","liveBrowserPreviewUrlInput":"Chat-module_liveBrowserPreviewUrlInput__AugUm","liveBrowserPreviewStreamArea":"Chat-module_liveBrowserPreviewStreamArea__aIhQx","liveBrowserPreviewStreamImage":"Chat-module_liveBrowserPreviewStreamImage__bpTj3","liveBrowserPreviewConnecting":"Chat-module_liveBrowserPreviewConnecting__8Gn40","liveBrowserPreviewOverlay":"Chat-module_liveBrowserPreviewOverlay__eheiG","liveBrowserPreviewOverlayButton":"Chat-module_liveBrowserPreviewOverlayButton__o9SNO","citationMetadata":"Chat-module_citationMetadata__DPaCF","citationExcerpt":"Chat-module_citationExcerpt__VU4BS","citationHint":"Chat-module_citationHint__5AkLx","toolCallDataContainer":"Chat-module_toolCallDataContainer__rdEzC","toolCallPayloadContainer":"Chat-module_toolCallPayloadContainer__v2yVn","toolCallPayloadEditor":"Chat-module_toolCallPayloadEditor__Hklyf","ratingInput":"Chat-module_ratingInput__z8Pv-","ratingActions":"Chat-module_ratingActions__nXcss","downloadButton":"Chat-module_downloadButton__8--bk","saveButtonContainer":"Chat-module_saveButtonContainer__lSNUJ","saveMenu":"Chat-module_saveMenu__-ph8y","saveMenuItem":"Chat-module_saveMenuItem__ISApL","saveMenuDivider":"Chat-module_saveMenuDivider__3ktTM","chatFeedbackPanel":"Chat-module_chatFeedbackPanel__gfOzk","chatFeedbackToggle":"Chat-module_chatFeedbackToggle__IeOM6","chatFeedbackIcon":"Chat-module_chatFeedbackIcon__XcB7A","chatFeedbackMeta":"Chat-module_chatFeedbackMeta__6t2be","chatFeedbackLabel":"Chat-module_chatFeedbackLabel__qQgH3","chatFeedbackDescription":"Chat-module_chatFeedbackDescription__I9bNg","chatFeedbackIndicator":"Chat-module_chatFeedbackIndicator__uHCr7","chatFeedbackIndicatorActive":"Chat-module_chatFeedbackIndicatorActive__bkw-w","chatFeedbackIndicatorInactive":"Chat-module_chatFeedbackIndicatorInactive__qMBkh","pauseButton":"Chat-module_pauseButton__eeu7K","pausing":"Chat-module_pausing__pTx8b","paused":"Chat-module_paused__j-pya","stopButton":"Chat-module_stopButton__dkPOW","voiceCallIndicatorBar":"Chat-module_voiceCallIndicatorBar__N2sWN","voiceCallIndicator":"Chat-module_voiceCallIndicator__tsaaG","voiceCallIconPulse":"Chat-module_voiceCallIconPulse__zZbJn","voiceCallPulse":"Chat-module_voiceCallPulse__XcGU4","feedbackStatus":"Chat-module_feedbackStatus__-df7l","feedbackStatusSlideIn":"Chat-module_feedbackStatusSlideIn__n6bbB","feedbackStatusSuccess":"Chat-module_feedbackStatusSuccess__Ax2q0","feedbackStatusError":"Chat-module_feedbackStatusError__dnv6d","emailContainer":"Chat-module_emailContainer__TBxXZ","emailModalHeader":"Chat-module_emailModalHeader__Z4-CJ","emailHeaderText":"Chat-module_emailHeaderText__1dR6R","emailHeaderLabel":"Chat-module_emailHeaderLabel__7iAEH","emailMetadata":"Chat-module_emailMetadata__8XXGf","emailField":"Chat-module_emailField__pcb03","emailRecipients":"Chat-module_emailRecipients__YVVys","emailBody":"Chat-module_emailBody__OBt-w","emailBodyContent":"Chat-module_emailBodyContent__-vFo2","browserRunModalHeader":"Chat-module_browserRunModalHeader__0AyeK","browserRunHeaderText":"Chat-module_browserRunHeaderText__JUbNv","browserRunHeaderStatus":"Chat-module_browserRunHeaderStatus__uu3Fi","browserRunHeaderLabel":"Chat-module_browserRunHeaderLabel__uKYCb","browserRunMeta":"Chat-module_browserRunMeta__lJkQc","browserRunWarning":"Chat-module_browserRunWarning__ojdEP","browserRunError":"Chat-module_browserRunError__aELQo","browserRunErrorSummary":"Chat-module_browserRunErrorSummary__ygz-g","browserRunErrorSteps":"Chat-module_browserRunErrorSteps__S96nl","browserRunDebugDetails":"Chat-module_browserRunDebugDetails__SZ3VT","browserRunFallbackContent":"Chat-module_browserRunFallbackContent__NYCkp","browserRunStatusBanner":"Chat-module_browserRunStatusBanner__ljIE9","browserRunMediaGrid":"Chat-module_browserRunMediaGrid__KDz3I","browserRunMediaCard":"Chat-module_browserRunMediaCard__focNP","browserRunMediaCardHeader":"Chat-module_browserRunMediaCardHeader__sOfLw","browserRunMediaTitle":"Chat-module_browserRunMediaTitle__a6Ctw","browserRunMediaCaption":"Chat-module_browserRunMediaCaption__LG8E6","browserRunMediaImage":"Chat-module_browserRunMediaImage__UI4pd","browserRunMediaVideo":"Chat-module_browserRunMediaVideo__z2RgF","browserRunActionLog":"Chat-module_browserRunActionLog__YZ0CQ","browserRunActionLogTitle":"Chat-module_browserRunActionLogTitle__XaEIW","browserRunActionList":"Chat-module_browserRunActionList__SOgfd","browserRunActionItem":"Chat-module_browserRunActionItem__1q668","browserRunActionPending":"Chat-module_browserRunActionPending__unJJt","browserRunActionRunning":"Chat-module_browserRunActionRunning__NdlRL","browserRunActionComplete":"Chat-module_browserRunActionComplete__PU36H","browserRunActionError":"Chat-module_browserRunActionError__y-cm0","browserRunActionState":"Chat-module_browserRunActionState__pkfKg","browserRunActionStateRunning":"Chat-module_browserRunActionStateRunning__L1IbZ","browserRunActionStateComplete":"Chat-module_browserRunActionStateComplete__CpVEc","browserRunActionStateError":"Chat-module_browserRunActionStateError__lU-t4","browserRunActionMeta":"Chat-module_browserRunActionMeta__df32n","emailStatus":"Chat-module_emailStatus__T4UuL","imagePrompt":"Chat-module_imagePrompt__v7-Ho","imagePromptPreview":"Chat-module_imagePromptPreview__ve5dB","imagePromptImage":"Chat-module_imagePromptImage__KjE3H","imagePromptPlaceholder":"Chat-module_imagePromptPlaceholder__b8cW6","imagePromptSpinner":"Chat-module_imagePromptSpinner__nat8r","imagePromptMeta":"Chat-module_imagePromptMeta__YwltP","imagePromptPrompt":"Chat-module_imagePromptPrompt__N1E--","imagePromptStatus":"Chat-module_imagePromptStatus__0ROQF","imagePromptError":"Chat-module_imagePromptError__x1952","richFeaturePlaceholder":"Chat-module_richFeaturePlaceholder__mXS7-","richFeaturePlaceholderSpinner":"Chat-module_richFeaturePlaceholderSpinner__ingFq","richFeatureSpinner":"Chat-module_richFeatureSpinner__eOql6","richFeaturePlaceholderCopy":"Chat-module_richFeaturePlaceholderCopy__sEgxN","richFeaturePlaceholderTitle":"Chat-module_richFeaturePlaceholderTitle__lF7rJ","richFeaturePlaceholderStatus":"Chat-module_richFeaturePlaceholderStatus__UJg09","progressPanel":"Chat-module_progressPanel__9M8h9","progressPanelTitle":"Chat-module_progressPanelTitle__rBdoY","progressPanelSection":"Chat-module_progressPanelSection__F3xUF","progressPanelSectionLabel":"Chat-module_progressPanelSectionLabel__aTPgr","progressPanelSectionBody":"Chat-module_progressPanelSectionBody__Z7zX0","progressPanelList":"Chat-module_progressPanelList__PHFeP","progressPanelListItem":"Chat-module_progressPanelListItem__7v9jN","progressPanelListBullet":"Chat-module_progressPanelListBullet__Tzvi7","progressPanelItemSpinner":"Chat-module_progressPanelItemSpinner__oJ6Az","progressPanelSpinner":"Chat-module_progressPanelSpinner__pzxP2","progressPanelItemCompleted":"Chat-module_progressPanelItemCompleted__7bJhG","progressPanelItemText":"Chat-module_progressPanelItemText__tZPIs"};
23335
+ var css_248z$7 = "@font-face{font-display:swap;font-family:OpenMojiBlack;src:url(/fonts/OpenMoji-black-glyf.woff2) format(\"woff2\"),url(https://s6.ptbk.io/fonts/OpenMoji-black-glyf.woff2) format(\"woff2\");unicode-range:u+23,u+2a,u+2d,u+30-39,u+a9,u+ae,u+200d,u+203c,u+2049,u+20e3,u+2117,u+2120,u+2122,u+2139,u+2194-2199,u+21a9,u+21aa,u+229c,u+231a,u+231b,u+2328,u+23cf,u+23e9-23f3,u+23f8-23fe,u+24c2,u+25a1,u+25aa-25ae,u+25b6,u+25c0,u+25c9,u+25d0,u+25d1,u+25e7-25ea,u+25ed,u+25ee,u+25fb-25fe,u+2600-2605,u+260e,u+2611,u+2614,u+2615,u+2618,u+261d,u+2620,u+2622,u+2623,u+2626,u+262a,u+262e,u+262f,u+2638-263a,u+2640,u+2642,u+2648-2653,u+265f,u+2660,u+2663,u+2665,u+2666,u+2668,u+267b,u+267e,u+267f,u+2691-2697,u+2699,u+269b,u+269c,u+26a0,u+26a1,u+26a7,u+26aa,u+26ab,u+26b0,u+26b1,u+26bd,u+26be,u+26c4,u+26c5,u+26c8,u+26ce,u+26cf,u+26d1,u+26d3,u+26d4,u+26e9,u+26ea,u+26f0-26f5,u+26f7-26fa,u+26fd,u+2702,u+2705,u+2708-270d,u+270f,u+2712,u+2714,u+2716,u+271d,u+2721,u+2728,u+2733,u+2734,u+2744,u+2747,u+274c,u+274e,u+2753-2755,u+2757,u+2763,u+2764,u+2795-2797,u+27a1,u+27b0,u+27bf,u+2934,u+2935,u+2b05-2b07,u+2b0c,u+2b0d,u+2b1b,u+2b1c,u+2b1f-2b24,u+2b2e,u+2b2f,u+2b50,u+2b55,u+2b58,u+2b8f,u+2bba-2bbc,u+2bc3,u+2bc4,u+2bea,u+2beb,u+3030,u+303d,u+3297,u+3299,u+e000-e009,u+e010,u+e011,u+e040-e06d,u+e080-e0b4,u+e0c0-e0cc,u+e0ff-e10d,u+e140-e14a,u+e150-e157,u+e181-e189,u+e1c0-e1c4,u+e1c6-e1d9,u+e200-e216,u+e240-e269,u+e280-e283,u+e2c0-e2c4,u+e2c6-e2da,u+e300-e303,u+e305-e30f,u+e312-e316,u+e318-e322,u+e324-e329,u+e32b,u+e340-e348,u+e380,u+e381,u+f000,u+f77a,u+f8ff,u+fe0f,u+1f004,u+1f0cf,u+1f10d-1f10f,u+1f12f,u+1f16d-1f171,u+1f17e,u+1f17f,u+1f18e,u+1f191-1f19a,u+1f1e6-1f1ff,u+1f201,u+1f202,u+1f21a,u+1f22f,u+1f232-1f23a,u+1f250,u+1f251,u+1f260-1f265,u+1f300-1f321,u+1f324-1f393,u+1f396,u+1f397,u+1f399-1f39b,u+1f39e-1f3f0,u+1f3f3-1f3f5,u+1f3f7-1f4fd,u+1f4ff-1f53d,u+1f549-1f54e,u+1f550-1f567,u+1f56f,u+1f570,u+1f573-1f57a,u+1f587,u+1f58a-1f58d,u+1f590,u+1f595,u+1f596,u+1f5a4,u+1f5a5,u+1f5a8,u+1f5b1,u+1f5b2,u+1f5bc,u+1f5c2-1f5c4,u+1f5d1-1f5d3,u+1f5dc-1f5de,u+1f5e1,u+1f5e3,u+1f5e8,u+1f5ef,u+1f5f3,u+1f5fa-1f64f,u+1f680-1f6c5,u+1f6cb-1f6d2,u+1f6d5-1f6d7,u+1f6dc-1f6e5,u+1f6e9,u+1f6eb,u+1f6ec,u+1f6f0,u+1f6f3-1f6fc,u+1f7e0-1f7eb,u+1f7f0,u+1f90c-1f93a,u+1f93c-1f945,u+1f947-1f9ff,u+1fa70-1fa7c,u+1fa80-1fa88,u+1fa90-1fabd,u+1fabf-1fac5,u+1face-1fadb,u+1fae0-1fae8,u+1faf0-1faf8,u+1fbc5-1fbc9,u+e0061-e0067,u+e0069,u+e006c-e0079,u+e007f}@font-face{font-display:swap;font-family:OpenMojiColor;src:url(/fonts/OpenMoji-color-cbdt.woff2) format(\"woff2\"),url(https://s6.ptbk.io/fonts/OpenMoji-color-cbdt.woff2) format(\"woff2\");unicode-range:u+23,u+2a,u+2d,u+30-39,u+a9,u+ae,u+200d,u+203c,u+2049,u+20e3,u+2117,u+2120,u+2122,u+2139,u+2194-2199,u+21a9,u+21aa,u+229c,u+231a,u+231b,u+2328,u+23cf,u+23e9-23f3,u+23f8-23fe,u+24c2,u+25a1,u+25aa-25ae,u+25b6,u+25c0,u+25c9,u+25d0,u+25d1,u+25e7-25ea,u+25ed,u+25ee,u+25fb-25fe,u+2600-2605,u+260e,u+2611,u+2614,u+2615,u+2618,u+261d,u+2620,u+2622,u+2623,u+2626,u+262a,u+262e,u+262f,u+2638-263a,u+2640,u+2642,u+2648-2653,u+265f,u+2660,u+2663,u+2665,u+2666,u+2668,u+267b,u+267e,u+267f,u+2691-2697,u+2699,u+269b,u+269c,u+26a0,u+26a1,u+26a7,u+26aa,u+26ab,u+26b0,u+26b1,u+26bd,u+26be,u+26c4,u+26c5,u+26c8,u+26ce,u+26cf,u+26d1,u+26d3,u+26d4,u+26e9,u+26ea,u+26f0-26f5,u+26f7-26fa,u+26fd,u+2702,u+2705,u+2708-270d,u+270f,u+2712,u+2714,u+2716,u+271d,u+2721,u+2728,u+2733,u+2734,u+2744,u+2747,u+274c,u+274e,u+2753-2755,u+2757,u+2763,u+2764,u+2795-2797,u+27a1,u+27b0,u+27bf,u+2934,u+2935,u+2b05-2b07,u+2b0c,u+2b0d,u+2b1b,u+2b1c,u+2b1f-2b24,u+2b2e,u+2b2f,u+2b50,u+2b55,u+2b58,u+2b8f,u+2bba-2bbc,u+2bc3,u+2bc4,u+2bea,u+2beb,u+3030,u+303d,u+3297,u+3299,u+e000-e009,u+e010,u+e011,u+e040-e06d,u+e080-e0b4,u+e0c0-e0cc,u+e0ff-e10d,u+e140-e14a,u+e150-e157,u+e181-e189,u+e1c0-e1c4,u+e1c6-e1d9,u+e200-e216,u+e240-e269,u+e280-e283,u+e2c0-e2c4,u+e2c6-e2da,u+e300-e303,u+e305-e30f,u+e312-e316,u+e318-e322,u+e324-e329,u+e32b,u+e340-e348,u+e380,u+e381,u+f000,u+f77a,u+f8ff,u+fe0f,u+1f004,u+1f0cf,u+1f10d-1f10f,u+1f12f,u+1f16d-1f171,u+1f17e,u+1f17f,u+1f18e,u+1f191-1f19a,u+1f1e6-1f1ff,u+1f201,u+1f202,u+1f21a,u+1f22f,u+1f232-1f23a,u+1f250,u+1f251,u+1f260-1f265,u+1f300-1f321,u+1f324-1f393,u+1f396,u+1f397,u+1f399-1f39b,u+1f39e-1f3f0,u+1f3f3-1f3f5,u+1f3f7-1f4fd,u+1f4ff-1f53d,u+1f549-1f54e,u+1f550-1f567,u+1f56f,u+1f570,u+1f573-1f57a,u+1f587,u+1f58a-1f58d,u+1f590,u+1f595,u+1f596,u+1f5a4,u+1f5a5,u+1f5a8,u+1f5b1,u+1f5b2,u+1f5bc,u+1f5c2-1f5c4,u+1f5d1-1f5d3,u+1f5dc-1f5de,u+1f5e1,u+1f5e3,u+1f5e8,u+1f5ef,u+1f5f3,u+1f5fa-1f64f,u+1f680-1f6c5,u+1f6cb-1f6d2,u+1f6d5-1f6d7,u+1f6dc-1f6e5,u+1f6e9,u+1f6eb,u+1f6ec,u+1f6f0,u+1f6f3-1f6fc,u+1f7e0-1f7eb,u+1f7f0,u+1f90c-1f93a,u+1f93c-1f945,u+1f947-1f9ff,u+1fa70-1fa7c,u+1fa80-1fa88,u+1fa90-1fabd,u+1fabf-1fac5,u+1face-1fadb,u+1fae0-1fae8,u+1faf0-1faf8,u+1fbc5-1fbc9,u+e0061-e0067,u+e0069,u+e006c-e0079,u+e007f}.Chat-module_copiedToClipboardMessage__apCPY{background:#222;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.18);color:#fff;font-size:1.1em;left:50%;opacity:.97;padding:10px 24px;pointer-events:none;position:fixed;top:32px;transform:translateX(-50%);z-index:9999}.Chat-module_Chat__j2eE5{--chat-message-min-width:170px;--chat-message-avatar-gap:14px;--chat-message-avatar-size:42px;--chat-message-max-width:min(72%,680px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-bubble-radius:24px;--chat-bubble-shadow:0 12px 34px rgba(15,23,42,.16);--chat-bubble-shadow-hover:0 18px 42px rgba(15,23,42,.2);--chat-bubble-border-color:hsla(0,0%,100%,.34);--chat-bubble-font-size:15px;--chat-bubble-line-height:1.62;--chat-input-visible-lines:3;--chat-input-font-size:15px;--chat-input-line-height:1.5;--chat-input-padding-y:10px;--chat-input-padding-x:12px;--chat-input-action-size:40px;--chat-input-textarea-height:calc(var(--chat-input-visible-lines)*var(--chat-input-font-size)*var(--chat-input-line-height) + var(--chat-input-padding-y)*2);--chat-message-meta-color:rgba(71,85,105,.85);--chat-message-lifecycle-badge-background:rgba(148,163,184,.16);--chat-message-lifecycle-badge-color:#475569;--chat-participant-label-color:rgba(71,85,105,.82);--chat-message-control-background:hsla(0,0%,100%,.28);--chat-message-control-border-color:hsla(0,0%,100%,.46);--chat-message-control-hover-background:hsla(0,0%,100%,.36);--chat-message-control-hover-border-color:hsla(0,0%,100%,.76);--chat-message-control-color:#111;--chat-message-control-shadow:0 2px 8px rgba(15,23,42,.16);--chat-message-control-hover-shadow:0 5px 14px rgba(15,23,42,.22);--chat-message-control-spinner-border-color:rgba(0,0,0,.3);--chat-message-control-spinner-accent-color:#111;--chat-article-control-background:#f8fafc;--chat-article-control-border-color:rgba(148,163,184,.65);--chat-article-control-hover-background:#fff;--chat-article-control-hover-border-color:rgba(100,116,139,.82);--chat-article-control-hover-shadow:0 2px 8px rgba(15,23,42,.12);--chat-article-rating-background:rgba(248,250,252,.9);--chat-article-rating-border-color:rgba(148,163,184,.5);--chat-article-rating-hover-background:rgba(241,245,249,.94);--chat-article-rating-hover-border-color:rgba(100,116,139,.62);--chat-article-rating-shadow:none;--chat-input-border-color:rgba(148,163,184,.14);--chat-input-backdrop:linear-gradient(180deg,rgba(248,250,252,0),rgba(248,250,252,.9) 44%,rgba(248,250,252,.96));--chat-full-page-input-backdrop:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.86) 60%,hsla(0,0%,100%,.95));--chat-input-drag-over-backdrop:linear-gradient(180deg,rgba(56,189,248,.04),rgba(14,165,233,.13));--chat-input-container-background:linear-gradient(150deg,hsla(0,0%,100%,.98),rgba(248,250,252,.94));--chat-input-container-border-color:rgba(148,163,184,.3);--chat-input-container-shadow:0 14px 34px rgba(15,23,42,.12),inset 0 1px 0 hsla(0,0%,100%,.9);--chat-input-text-color:#0f172a;--chat-input-placeholder-color:#8b9bb1;--chat-input-action-color:#64748b;--chat-input-action-hover-background:#f1f5f9;--chat-input-action-hover-color:#0f172a;--chat-file-preview-background:hsla(0,0%,49%,.1);--chat-file-preview-border-color:hsla(0,0%,49%,.2);--chat-file-preview-hover-background:hsla(0,0%,49%,.15);--chat-file-preview-hover-border-color:hsla(0,0%,49%,.3);--chat-file-name-color:#000;--chat-file-size-color:#6b7280;--chat-dictation-panel-background:hsla(0,0%,100%,.9);--chat-dictation-panel-border-color:rgba(148,163,184,.35);--chat-dictation-panel-color:#0f172a;--chat-dictation-title-color:#475569;--chat-dictation-toggle-background:#f8fafc;--chat-dictation-toggle-color:#334155;--chat-dictation-transcript-background:rgba(239,246,255,.9);--chat-dictation-transcript-color:#0c4a6e;--chat-dictation-settings-color:#334155;--chat-dictation-fallback-color:#475569;--chat-reply-composer-background:hsla(0,0%,100%,.92);--chat-reply-composer-border-color:rgba(148,163,184,.3);--chat-reply-composer-shadow:0 10px 24px rgba(15,23,42,.08);--chat-reply-dismiss-background:rgba(148,163,184,.14);--chat-reply-dismiss-hover-background:rgba(148,163,184,.24);--chat-reply-dismiss-color:#475569;--chat-reply-dismiss-hover-color:#0f172a;--chat-speech-status-background:hsla(0,0%,100%,.95);--chat-speech-status-border-color:rgba(15,23,42,.15);--chat-speech-status-color:#0f172a;--chat-speech-status-shadow:0 12px 28px rgba(15,23,42,.18);--chat-speech-status-dot-background:#64748b;--chat-dictation-action-background:#f8fafc;--chat-dictation-action-border-color:rgba(148,163,184,.35);--chat-dictation-action-color:#0f172a;--chat-dictation-correction-label-color:#334155;--chat-dictation-correction-textarea-background:#fff;--chat-dictation-correction-textarea-color:#0f172a;--chat-dictation-correction-textarea-border-color:rgba(148,163,184,.35);display:flex;flex-direction:column;font-family:var(\n --chat-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,\"Segoe UI\",sans-serif)\n ),\"OpenMojiColor\",\"OpenMojiBlack\";height:100%;min-height:0;overflow:hidden;width:100%}.Chat-module_Chat__j2eE5[data-chat-theme=dark]{--chat-bubble-shadow:0 14px 34px rgba(2,6,23,.38);--chat-bubble-shadow-hover:0 18px 42px rgba(2,6,23,.48);--chat-bubble-border-color:rgba(148,163,184,.2);--chat-message-meta-color:rgba(148,163,184,.84);--chat-message-lifecycle-badge-background:rgba(148,163,184,.14);--chat-message-lifecycle-badge-color:#cbd5e1;--chat-participant-label-color:rgba(203,213,225,.76);--chat-message-control-background:rgba(15,23,42,.78);--chat-message-control-border-color:rgba(148,163,184,.4);--chat-message-control-hover-background:rgba(30,41,59,.96);--chat-message-control-hover-border-color:rgba(148,163,184,.72);--chat-message-control-color:#e2e8f0;--chat-message-control-shadow:0 10px 24px rgba(2,6,23,.34);--chat-message-control-hover-shadow:0 12px 28px rgba(2,6,23,.42);--chat-message-control-spinner-border-color:rgba(226,232,240,.3);--chat-message-control-spinner-accent-color:#e2e8f0;--chat-article-control-background:rgba(15,23,42,.86);--chat-article-control-border-color:rgba(71,85,105,.95);--chat-article-control-hover-background:rgba(30,41,59,.98);--chat-article-control-hover-border-color:rgba(148,163,184,.72);--chat-article-control-hover-shadow:0 12px 26px rgba(2,6,23,.32);--chat-article-rating-background:rgba(15,23,42,.86);--chat-article-rating-border-color:rgba(71,85,105,.95);--chat-article-rating-hover-background:rgba(30,41,59,.98);--chat-article-rating-hover-border-color:rgba(148,163,184,.72);--chat-article-rating-shadow:0 12px 26px rgba(2,6,23,.32);--chat-input-border-color:rgba(51,65,85,.78);--chat-input-backdrop:linear-gradient(180deg,rgba(2,6,23,0),rgba(2,6,23,.82) 48%,rgba(2,6,23,.96));--chat-full-page-input-backdrop:linear-gradient(180deg,rgba(2,6,23,0),rgba(2,6,23,.88) 58%,rgba(2,6,23,.98));--chat-input-drag-over-backdrop:linear-gradient(180deg,rgba(14,165,233,.08),rgba(8,47,73,.5));--chat-input-container-background:linear-gradient(150deg,rgba(15,23,42,.96),rgba(15,23,42,.9));--chat-input-container-border-color:rgba(71,85,105,.88);--chat-input-container-shadow:0 20px 44px rgba(2,6,23,.42),inset 0 1px 0 rgba(148,163,184,.1);--chat-input-text-color:#e2e8f0;--chat-input-placeholder-color:#94a3b8;--chat-input-action-color:#cbd5e1;--chat-input-action-hover-background:rgba(51,65,85,.78);--chat-input-action-hover-color:#f8fafc;--chat-file-preview-background:rgba(15,23,42,.78);--chat-file-preview-border-color:rgba(71,85,105,.72);--chat-file-preview-hover-background:rgba(30,41,59,.86);--chat-file-preview-hover-border-color:rgba(148,163,184,.42);--chat-file-name-color:#e2e8f0;--chat-file-size-color:#94a3b8;--chat-dictation-panel-background:rgba(15,23,42,.94);--chat-dictation-panel-border-color:rgba(71,85,105,.8);--chat-dictation-panel-color:#e2e8f0;--chat-dictation-title-color:#cbd5e1;--chat-dictation-toggle-background:rgba(30,41,59,.92);--chat-dictation-toggle-color:#e2e8f0;--chat-dictation-transcript-background:rgba(8,47,73,.64);--chat-dictation-transcript-color:#bae6fd;--chat-dictation-settings-color:#cbd5e1;--chat-dictation-fallback-color:#94a3b8;--chat-reply-composer-background:rgba(15,23,42,.94);--chat-reply-composer-border-color:rgba(71,85,105,.8);--chat-reply-composer-shadow:0 14px 28px rgba(2,6,23,.32);--chat-reply-dismiss-background:rgba(51,65,85,.76);--chat-reply-dismiss-hover-background:rgba(71,85,105,.9);--chat-reply-dismiss-color:#cbd5e1;--chat-reply-dismiss-hover-color:#f8fafc;--chat-speech-status-background:rgba(15,23,42,.96);--chat-speech-status-border-color:rgba(71,85,105,.8);--chat-speech-status-color:#e2e8f0;--chat-speech-status-shadow:0 16px 34px rgba(2,6,23,.42);--chat-speech-status-dot-background:#94a3b8;--chat-dictation-action-background:rgba(30,41,59,.92);--chat-dictation-action-border-color:rgba(71,85,105,.78);--chat-dictation-action-color:#e2e8f0;--chat-dictation-correction-label-color:#cbd5e1;--chat-dictation-correction-textarea-background:rgba(8,15,28,.98);--chat-dictation-correction-textarea-color:#e2e8f0;--chat-dictation-correction-textarea-border-color:rgba(71,85,105,.78);color:#e2e8f0}.Chat-module_constrainedArticleVisual__0axxM{--chat-article-layout-max-width:54rem;--chat-article-layout-padding-inline:clamp(16px,4vw,40px)}.Chat-module_chatMainFlow__--8FE{display:grid;grid-template:\"🟦\" min-content \"💬\" 1fr \"📝\" min-content/1fr;height:100%;max-width:100%;min-height:0;min-width:0;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatBar__fLECN{background-color:#fff;border-bottom:1px solid rgba(15,23,36,.06);color:#0f1724;font-weight:500;grid-area:🟦;padding:16px 20px;text-align:center;width:100%}.Chat-module_TasksInProgress__fQfei{align-self:center;grid-area:🟦;height:min-content;justify-self:self-end;margin:8px 16px;width:auto}.Chat-module_actions__gTZ5T{align-items:center;align-self:self-start;display:flex;gap:8px;grid-area:💬;height:min-content;justify-self:self-end;margin:16px 20px 0;transition:opacity .2s ease;width:auto;will-change:opacity;z-index:40}.Chat-module_actions__gTZ5T.Chat-module_portal__uTOT8{margin:0}.Chat-module_actions__gTZ5T.Chat-module_left__7l5Mn{justify-self:self-start}.Chat-module_actions__gTZ5T.Chat-module_right__ABZrW{justify-self:self-end}.Chat-module_actionsFaded__qqAVQ{opacity:.3}.Chat-module_actionsScrolling__fIawW{opacity:.15;pointer-events:none}@media (max-width:900px){.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}}@media (max-width:600px){.Chat-module_actions__gTZ5T{gap:7px;margin:14px 18px 0}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatChildren__flOPK{grid-area:🟦;min-width:0;width:100%;z-index:300}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{grid-area:💬;height:100%;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:28px 24px 18px;scroll-behavior:smooth;width:100%;z-index:10}.Chat-module_articleModeChatMessages__ufofT{padding-left:var(--chat-article-layout-padding-inline);padding-right:var(--chat-article-layout-padding-inline)}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ{margin-left:auto;margin-right:auto;max-width:100%;width:min(var(--chat-article-layout-max-width),100%)}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{justify-content:flex-start}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{margin:0;max-width:100%;width:100%}.Chat-module_hasActionsAndFirstMessageIsLong__5jgoZ{padding-top:80px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar{width:7px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-track{background:transparent}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:999px;transition:all .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.55)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);column-gap:var(--chat-message-avatar-gap);display:flex;flex-direction:row;margin-bottom:24px;max-width:100%;min-width:0;position:relative}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageStack__n0xNL{align-items:flex-start;display:flex;flex-direction:column;max-width:var(--chat-message-max-width);min-width:0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageStack__n0xNL{align-items:flex-end}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageStack__n0xNL>*{max-width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{align-items:stretch;column-gap:0;justify-content:center;margin-bottom:28px;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{align-items:stretch;margin:0 auto;max-width:min(100%,860px);width:min(100%,860px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm.Chat-module_articleModeAgentAvatar__UCKDX{display:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0{align-items:stretch}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0 .Chat-module_messageStack__n0xNL{align-items:stretch;max-width:min(90vw,920px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));width:min(90vw,920px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)))}@media (max-width:900px){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0 .Chat-module_messageStack__n0xNL{max-width:min(92vw,640px);width:min(92vw,640px)}}.Chat-module_messageMeta__eqCRu{align-items:center;color:var(--chat-message-meta-color);display:flex;flex-wrap:wrap;font-size:11.5px;gap:8px;line-height:1.4;margin:6px 8px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageMeta__eqCRu{align-self:flex-end;text-align:right}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageMeta__eqCRu{margin-left:0;margin-right:0}.Chat-module_messageLifecycleBadge__4jDDc{align-items:center;background:var(--chat-message-lifecycle-badge-background);border-radius:999px;color:var(--chat-message-lifecycle-badge-color);display:inline-flex;font-weight:600;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase}.Chat-module_messageTimestamp__LDhRw{letter-spacing:.02em}.Chat-module_messageDuration__Y9Kg9{opacity:.85}.Chat-module_messageReplyButton__S5hXM{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:5px;opacity:.88;padding:0;transition:opacity .18s ease,color .18s ease,transform .18s ease}.Chat-module_messageReplyButton__S5hXM:focus,.Chat-module_messageReplyButton__S5hXM:hover{color:#0f172a;opacity:1;transform:translateY(-.5px)}.Chat-module_messageReplyButtonIcon__2Nk3i{height:13px;width:13px}.Chat-module_messageLifecycleError__m-FO-{color:#b91c1c;font-size:12px;line-height:1.45;margin:4px 6px 0}.Chat-module_participantLabel__0Oo-3{color:var(--chat-participant-label-color);font-size:11.5px;font-weight:600;letter-spacing:.07em;margin:0 0 7px;text-transform:uppercase}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_participantLabel__0Oo-3{text-align:right}@keyframes Chat-module_messageSlideIn__soTy2{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_isNotCompleteMessage__Hj2K7{opacity:.7;position:relative}.Chat-module_NonCompleteMessageFiller__G5-Ve{color:transparent}.Chat-module_isNotCompleteMessage__Hj2K7 .Chat-module_messageText__XgNyQ:after{animation:Chat-module_loadingPulse__VomRm 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent);border-radius:2px;bottom:8px;content:\"\";height:4px;position:absolute;right:12px;width:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7.Chat-module_isNotCompleteMessage__Hj2K7 .Chat-module_messageText__XgNyQ:after{display:none}.Chat-module_citationFootnotes__LAWdh,.Chat-module_sourceCitations__oDtBX,.Chat-module_toolCallChips__UWgC1{border-top:1px solid hsla(0,0%,49%,.28);border-top:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px}.Chat-module_citationFootnotes__LAWdh{align-items:flex-start;flex-direction:column}.Chat-module_citationFootnoteItem__JXTAX{align-items:center;display:inline-flex;gap:8px;min-height:32px}.Chat-module_citationFootnoteNumber__CMmm9{color:color-mix(in srgb,var(--message-text-color,#0f172a) 78%,transparent);font-size:.84rem;font-weight:700;line-height:1;min-width:1.25rem}.Chat-module_toolCallChip__koN18{align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.26);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.78) 26%);border:1px solid hsla(0,0%,49%,.3);border:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 20%,transparent);border-radius:999px;box-shadow:0 2px 8px rgba(15,23,42,.12);color:inherit;cursor:pointer;display:flex;font-family:inherit;font-size:.8rem;font-weight:600;gap:8px;padding:5px 11px;transition:all .2s ease}.Chat-module_toolCallChip__koN18:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.86) 36%);box-shadow:0 4px 12px rgba(15,23,42,.14);transform:translateY(-1px)}.Chat-module_toolCallChipOngoing__wKcDY{background:rgba(14,165,233,.1);border-color:rgba(59,130,246,.8)}.Chat-module_toolCallChipStatus__I-nl9{align-items:center;display:inline-flex;margin-left:auto}.Chat-module_teamToolCall__5F45R,.Chat-module_transitiveToolCall__WcaaK{gap:8px;justify-content:flex-start}.Chat-module_teamAgentChip__mvgtY,.Chat-module_transitiveAgentChip__zNOJf{flex-shrink:0}.Chat-module_toolCallLabel__q7EFf{flex:1;font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_toolCallWithError__AtQqO{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.8)}.Chat-module_toolCallOrigin__-Io6Y{font-size:.85em;font-weight:500;opacity:.75;white-space:nowrap}.Chat-module_toolCallDetails__WUFlD{margin-bottom:24px}.Chat-module_toolCallDetails__WUFlD p{margin-bottom:8px}.Chat-module_toolCallData__UauCO{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;max-height:300px;overflow-x:auto;padding:12px;word-break:break-all}.Chat-module_toolCallChipSpinner__ZGTwl{animation:Chat-module_toolCallSpinner__LSiK6 .8s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes Chat-module_toolCallSpinner__LSiK6{to{transform:rotate(1turn)}}@keyframes Chat-module_loadingPulse__VomRm{0%,to{opacity:.3;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1.2)}}.Chat-module_typingIndicator__S-CT-{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);display:flex;margin-bottom:20px}.Chat-module_typingIndicator__S-CT- .Chat-module_avatar__gL6bm{flex-shrink:0;height:40px;margin:0 12px 4px;width:40px}.Chat-module_typingBubble__0Lb7B{backdrop-filter:blur(10px);border:1px solid hsla(0,0%,49%,.1);border-radius:20px;border-bottom-left-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);min-height:24px;padding:16px 20px}.Chat-module_typingBubble__0Lb7B,.Chat-module_typingDots__srOBB{align-items:center;display:flex;gap:4px}.Chat-module_typingDot__dnhKT{animation:Chat-module_typingBounce__1yp2v 1.4s ease-in-out infinite;background:linear-gradient(135deg,#6b7280,hsla(0,0%,49%,.6));border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);height:8px;width:8px}.Chat-module_typingDot__dnhKT:first-child{animation-delay:-.32s}.Chat-module_typingDot__dnhKT:nth-child(2){animation-delay:-.16s}.Chat-module_typingDot__dnhKT:nth-child(3){animation-delay:0s}@keyframes Chat-module_typingBounce__1yp2v{0%,80%,to{opacity:.5;transform:scale(.8) translateY(0)}40%{opacity:1;transform:scale(1.2) translateY(-8px)}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV{align-items:flex-end;flex-direction:row-reverse;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{border-bottom-right-radius:10px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:not(.Chat-module_isMe__nBtaV) .Chat-module_messageText__XgNyQ{border-bottom-left-radius:10px}.Chat-module_ratingStar__rRfqC{color:var(--chat-feedback-star-color,var(--star-inactive-color,#ccc));cursor:pointer;font-size:20px;transition:color .2s}.Chat-module_feedbackStar__tC7XH{align-items:center;color:var(--chat-feedback-star-color,#ccc);display:inline-flex;justify-content:center;line-height:1}.Chat-module_feedbackStarIcon__BuPen{color:var(--chat-feedback-star-color,currentColor)!important;display:block}.Chat-module_feedbackStarIcon__BuPen,.Chat-module_feedbackStarIcon__BuPen *{fill:var(--chat-feedback-star-fill,none)!important;stroke:var(--chat-feedback-star-color,currentColor)!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{aspect-ratio:1/1;flex-shrink:0;height:var(--chat-message-avatar-size);margin:0 0 4px;position:relative;width:var(--chat-message-avatar-size)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{--chat-md-heading-font-family:var(\n --font-barlow-condensed,\"Barlow Condensed\",var(--font-poppins,\"Poppins\",system-ui,-apple-system,\"Segoe UI\",sans-serif)\n );--chat-md-body-font-family:inherit;--chat-md-text-color:var(--message-text-color,#0f172a);--chat-md-link-color:#2563eb;--chat-md-muted-color:var(--message-text-color,#0f172a);--chat-md-inline-code-bg:rgba(15,23,42,.16);--chat-md-inline-code-border:rgba(15,23,42,.2);--chat-md-inline-code-color:var(--message-text-color,#0f172a);--chat-md-blockquote-bg:hsla(0,0%,100%,.2);--chat-md-blockquote-border:rgba(56,189,248,.52);--chat-md-table-bg:hsla(0,0%,100%,.22);--chat-md-table-row-alt-bg:hsla(0,0%,100%,.12);--chat-md-table-head-bg:hsla(0,0%,100%,.3);--chat-md-table-border:hsla(0,0%,100%,.36);--chat-md-citation-bg:hsla(0,0%,100%,.25);--chat-md-citation-color:var(--message-text-color,#0f172a);backdrop-filter:blur(14px);background-color:var(--message-bg-color);border:1px solid var(--chat-bubble-border-color);border-radius:var(--chat-bubble-radius);box-shadow:var(--chat-bubble-shadow),inset 0 1px 0 hsla(0,0%,100%,.16);color:var(--message-text-color);font-family:inherit;font-size:var(--chat-bubble-font-size);hyphens:auto;letter-spacing:.0025em;line-height:var(--chat-bubble-line-height);margin-bottom:6px;max-width:100%;min-width:min(var(--chat-message-min-width),100%);overflow-wrap:anywhere;padding:16px 20px;position:relative;text-align:left;transform:translateX(var(--chat-message-swipe-offset,0));transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP{--chat-md-link-color:#1d4ed8;--chat-md-inline-code-bg:rgba(15,23,42,.08);--chat-md-inline-code-border:rgba(15,23,42,.16);--chat-md-blockquote-bg:rgba(148,163,184,.12);--chat-md-table-bg:rgba(248,250,252,.9);--chat-md-table-row-alt-bg:rgba(226,232,240,.45);--chat-md-table-head-bg:rgba(241,245,249,.92);--chat-md-table-border:rgba(148,163,184,.45);--chat-md-citation-bg:rgba(191,219,254,.24);backdrop-filter:none;background:transparent!important;border:0;border-radius:0;box-shadow:none;font-size:15.5px;line-height:1.75;margin-bottom:8px;min-width:0;padding:2px 0}.Chat-module_replyEnabledMessageText__-SV9f{touch-action:pan-y}.Chat-module_replySwipeActive__dhAqt{box-shadow:var(--chat-bubble-shadow-hover),0 0 0 1px rgba(56,189,248,.22),inset 0 1px 0 hsla(0,0%,100%,.16)}.Chat-module_replySwipeIndicator__u92JU{color:rgba(15,23,42,.45);left:-24px;opacity:.22;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .18s ease,transform .18s ease}.Chat-module_replySwipeIndicatorRight__3CoAW{left:auto;right:-24px}.Chat-module_replySwipeIndicatorActive__m9gwU{opacity:.9;transform:translateY(-50%) scale(1.05)}.Chat-module_replySwipeIndicatorIcon__0K1SX{height:16px;width:16px}.Chat-module_replyPreview__Lt-Bg{align-items:flex-start;background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.26);border-radius:14px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);display:flex;gap:10px;margin-bottom:12px;min-width:0;padding:10px 12px}.Chat-module_replyBubblePreview__DNe3r{opacity:.9}.Chat-module_replyComposerPreview__80Wdf{background:var(--chat-reply-composer-background);border-color:var(--chat-reply-composer-border-color);box-shadow:var(--chat-reply-composer-shadow);margin-bottom:2px}.Chat-module_replyPreviewAccent__Uo3pe{align-self:stretch;background:#0ea5e9;background:color-mix(in srgb,var(--brand-color,#0ea5e9) 84%,#fff 16%);border-radius:999px;flex-shrink:0;width:4px}.Chat-module_replyPreviewBody__reKG-{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.Chat-module_replyPreviewHeading__IeegE{font-size:11px;line-height:1.3;opacity:.82}.Chat-module_replyPreviewLabel__J-BrF{font-weight:600}.Chat-module_replyPreviewSender__z6SYu{font-weight:700}.Chat-module_replyPreviewText__cY-Hc{font-size:12.5px;line-height:1.35;min-width:0;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_replyPreviewDismissButton__-L9MF{align-items:center;background:var(--chat-reply-dismiss-background);border:none;border-radius:999px;color:var(--chat-reply-dismiss-color);cursor:pointer;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;transition:background .18s ease,color .18s ease,transform .18s ease;width:28px}.Chat-module_replyPreviewDismissButton__-L9MF:focus,.Chat-module_replyPreviewDismissButton__-L9MF:hover{background:var(--chat-reply-dismiss-hover-background);color:var(--chat-reply-dismiss-hover-color);transform:scale(1.02)}@supports (color:color-mix(in srgb,#000 50%,#fff 50%)){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{--chat-bubble-border-color:color-mix(in srgb,var(--message-bg-color,#fff) 72%,hsla(0,0%,100%,.46) 28%);--chat-md-link-color:color-mix(in srgb,var(--message-text-color,#0f172a) 72%,#7dd3fc 28%);--chat-md-muted-color:color-mix(in srgb,var(--message-text-color,#0f172a) 84%,transparent);--chat-md-inline-code-bg:color-mix(in srgb,var(--message-bg-color,#fff) 65%,rgba(15,23,42,.2) 35%);--chat-md-inline-code-border:color-mix(in srgb,var(--message-text-color,#0f172a) 20%,transparent);--chat-md-blockquote-bg:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.86) 22%);--chat-md-blockquote-border:color-mix(in srgb,var(--message-text-color,#0f172a) 34%,#7dd3fc 66%);--chat-md-table-bg:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.9) 22%);--chat-md-table-row-alt-bg:color-mix(in srgb,var(--message-bg-color,#fff) 70%,hsla(0,0%,100%,.82) 30%);--chat-md-table-head-bg:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.94) 36%);--chat-md-table-border:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent);--chat-md-citation-bg:color-mix(in srgb,var(--message-bg-color,#fff) 55%,hsla(0,0%,100%,.94) 45%);background:linear-gradient(158deg,color-mix(in srgb,var(--message-bg-color,#fff) 86%,hsla(0,0%,100%,.3) 14%),color-mix(in srgb,var(--message-bg-color,#fff) 95%,rgba(2,6,23,.08) 5%))}}.Chat-module_copyButtonContainer__Rij0U{opacity:0;pointer-events:none;position:absolute;right:12px;top:10px;transform:translateY(-2px);transition:opacity .18s ease,transform .18s ease;z-index:3}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover .Chat-module_copyButtonContainer__Rij0U,.Chat-module_copyButtonContainer__Rij0U:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.Chat-module_articleModeMessageActions__h2qaG{align-items:center;border-top:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-wrap:wrap;gap:10px 12px;justify-content:flex-start;margin-top:14px;padding-top:12px}.Chat-module_articleModeMessageControls__hncCw{opacity:1;pointer-events:auto;position:static;right:auto;top:auto;transform:none;z-index:auto}.Chat-module_messageControlGroup__gAo4k{align-items:center;display:flex;gap:7px;pointer-events:auto}.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_playButton__ZigYL{background:var(--chat-article-control-background);border-color:var(--chat-article-control-border-color);box-shadow:none;color:var(--chat-message-control-color)}.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5:focus,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5:hover,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_playButton__ZigYL:hover:not(:disabled){background:var(--chat-article-control-hover-background);border-color:var(--chat-article-control-hover-border-color);box-shadow:var(--chat-article-control-hover-shadow)}.Chat-module_copyButton__DcxT5{backdrop-filter:blur(8px);border:1px solid var(--chat-message-control-border-color);box-shadow:var(--chat-message-control-shadow);display:flex;opacity:1;padding:4px 7px;transition:all .15s,box-shadow .15s,border .15s}.Chat-module_copyButton__DcxT5,.Chat-module_playButton__ZigYL{align-items:center;background:var(--chat-message-control-background);border-radius:10px;color:var(--chat-message-control-color);cursor:pointer;position:relative}.Chat-module_playButton__ZigYL{border:1px solid var(--chat-message-control-border-color);display:inline-flex;height:34px;justify-content:center;padding:0;transition:all .15s ease;width:34px}.Chat-module_playButtonIcon__wPErq{height:16px;width:16px}.Chat-module_playButtonSpinner__Ad33i{animation:Chat-module_messagePlaySpinner__ldlvy .9s linear infinite;border:2px solid var(--chat-message-control-spinner-border-color);border-radius:50%;border-top-color:var(--chat-message-control-spinner-accent-color);height:16px;width:16px}.Chat-module_playButton__ZigYL:hover:not(:disabled){background:var(--chat-message-control-hover-background);border-color:var(--chat-message-control-hover-border-color);box-shadow:var(--chat-message-control-hover-shadow)}.Chat-module_playButton__ZigYL:disabled{cursor:not-allowed;opacity:.6}@keyframes Chat-module_messagePlaySpinner__ldlvy{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Chat-module_copiedTooltip__LH81j{animation:Chat-module_copiedTooltipFadeIn__QekO1 .2s;background:#222;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.18);color:#fff;font-size:.98em;left:50%;margin-top:4px;max-width:220px;opacity:.97;overflow-wrap:break-word;padding:6px 16px;pointer-events:none;position:absolute;top:110%;transform:translateX(-50%);white-space:nowrap;word-break:break-word;z-index:100}.Chat-module_copiedTooltipLeft__j-S-5{left:0!important;transform:none!important}.Chat-module_copiedTooltipRight__R-2cE{left:auto!important;right:0!important;transform:none!important}@keyframes Chat-module_copiedTooltipFadeIn__QekO1{0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.97)}to{opacity:.97;transform:translateX(-50%) translateY(0) scale(1)}}.Chat-module_copyButton__DcxT5:focus,.Chat-module_copyButton__DcxT5:hover{background:var(--chat-message-control-hover-background);border:1px solid var(--chat-message-control-hover-border-color);box-shadow:var(--chat-message-control-hover-shadow);opacity:1}.Chat-module_copyButton__DcxT5 svg{display:block}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_copyButton__DcxT5 svg rect{fill:#cbd5e1;stroke:#94a3b8}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover{box-shadow:var(--chat-bubble-shadow-hover),inset 0 1px 0 hsla(0,0%,100%,.16);transform:translateX(var(--chat-message-swipe-offset,0)) translateY(-1.5px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP:hover{box-shadow:none;transform:none}.Chat-module_attachments__m1Fts{border-top:1px solid hsla(0,0%,49%,.28);border-top-color:color-mix(in srgb,var(--message-text-color,#0f172a) 12%,transparent);display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.Chat-module_attachment__aE9hK{align-items:center;background:hsla(0,0%,100%,.26);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.8) 26%);border:1px solid hsla(0,0%,49%,.3);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 16%,transparent);border-radius:999px;color:inherit;cursor:pointer;display:flex;font-family:inherit;font-size:12.5px;gap:6px;line-height:inherit;max-width:200px;padding:7px 12px;text-decoration:none;transition:all .2s ease}.Chat-module_attachmentWithRemove__n2-O6{gap:0;overflow:hidden;padding:0}.Chat-module_attachmentMainAction__Onkl3{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:6px;line-height:inherit;min-width:0;padding:7px 8px 7px 12px;text-decoration:none}.Chat-module_attachmentRemoveButton__dC5ne{align-items:center;background:hsla(0,0%,100%,.24);border:0;border-radius:999px;color:inherit;cursor:pointer;display:inline-flex;flex:0 0 auto;height:22px;justify-content:center;margin-right:5px;opacity:.85;transition:background .2s ease,opacity .2s ease,transform .2s ease;width:22px}.Chat-module_attachmentRemoveButton__dC5ne:hover{background:rgba(239,68,68,.18);opacity:1;transform:scale(1.04)}.Chat-module_attachmentRemoveButton__dC5ne svg{height:12px;width:12px}.Chat-module_attachmentWithRemove__n2-O6 .Chat-module_attachmentName__aMx56{min-width:0}.Chat-module_attachment__aE9hK:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 62%,hsla(0,0%,100%,.9) 38%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 24%,transparent);transform:translateY(-1px)}.Chat-module_attachmentIcon__BX3Cy{font-size:14px;opacity:.8}.Chat-module_attachmentName__aMx56{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_messageButtons__WaOob{border-top:1px solid hsla(0,0%,49%,.36);border-top-color:color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;padding-top:12px}.Chat-module_messageButton__mRnn-{-webkit-tap-highlight-color:transparent;align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.2);background:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.8) 22%);border:1px solid hsla(0,0%,49%,.9);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent);border-radius:999px;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;letter-spacing:.01em;padding:8px 15px;touch-action:manipulation;transition:all .2s ease;user-select:none}.Chat-module_messageButton__mRnn-:disabled{box-shadow:none;cursor:progress;opacity:.72;transform:none}.Chat-module_messageButton__mRnn-:hover{background:hsla(0,0%,100%,.3);background:color-mix(in srgb,var(--message-bg-color,#fff) 66%,hsla(0,0%,100%,.9) 34%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 26%,#7dd3fc 74%);box-shadow:0 5px 14px rgba(15,23,42,.14);transform:translateY(-1px)}.Chat-module_messageButton__mRnn-:hover:disabled{background:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.8) 22%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent)}.Chat-module_messageButton__mRnn-:active{transform:scale(.98);transition:transform .1s ease}.Chat-module_actionMessageButton__avcbv{background:rgba(55,65,81,.92);border-color:rgba(31,41,55,.95);color:#fff}.Chat-module_actionMessageButton__avcbv:hover{background:rgba(31,41,55,.98);border-color:rgba(17,24,39,.98);box-shadow:0 4px 14px rgba(15,23,42,.32)}.Chat-module_actionMessageButton__avcbv:hover:disabled{background:rgba(55,65,81,.92);border-color:rgba(31,41,55,.95)}.Chat-module_messageButton__mRnn- p{line-height:inherit;margin:0;padding:0}.Chat-module_messageButton__mRnn- strong{font-weight:600}.Chat-module_messageButton__mRnn- em{font-style:italic}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M{align-items:center;backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border-radius:12px;bottom:-8px;display:flex;gap:2px;min-width:24px;opacity:0;padding:4px 6px;position:absolute;right:8px;transform:translateY(4px);transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:1}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M.Chat-module_articleModeRating__dwZqm{backdrop-filter:none;background:var(--chat-article-rating-background);border:1px solid var(--chat-article-rating-border-color);border-radius:999px;bottom:auto;min-width:0;opacity:1;padding:4px 8px;position:static;right:auto;transform:none;z-index:auto}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:hover .Chat-module_rating__soc3M{opacity:1;transform:translateY(0)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M.Chat-module_articleModeRating__dwZqm:hover{background:var(--chat-article-rating-hover-background);border-color:var(--chat-article-rating-hover-border-color);box-shadow:var(--chat-article-rating-shadow);padding:4px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover{background:rgba(0,0,0,.9);box-shadow:0 4px 12px rgba(0,0,0,.3);padding:6px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M span{cursor:pointer;display:inline-block;font-size:16px;transition:transform .2s ease,color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover span{transform:scale(1.1)}.Chat-module_feedbackIssueButton__9NrrF{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;font-family:OpenMojiBlack,Noto Emoji,Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:16px;justify-content:center;line-height:1;padding:0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{backdrop-filter:blur(20px);background:var(--chat-input-backdrop);border-top:1px solid var(--chat-input-border-color);box-sizing:border-box;display:flex;flex-direction:column;gap:12px;grid-area:📝;max-width:100%;min-width:0;padding:20px 24px calc(20px + env(safe-area-inset-bottom));position:relative;width:100%;z-index:10}.Chat-module_articleModeChatInput__zBTV4{padding-left:var(--chat-article-layout-padding-inline);padding-right:var(--chat-article-layout-padding-inline)}.Chat-module_articleModeChatInput__zBTV4>:not(.Chat-module_speechStatusBubble__qBBWI):not(.Chat-module_dragOverlay__SEGoS){margin-left:auto;margin-right:auto;max-width:100%;width:min(var(--chat-article-layout-max-width),100%)}.Chat-module_Chat__j2eE5.Chat-module_fullPageVisual__zNAEy .Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{background:var(--chat-full-page-input-backdrop)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan.Chat-module_dragOver__bkS-g{background:var(--chat-input-drag-over-backdrop)}.Chat-module_filePreviewContainer__R70hm{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.Chat-module_filePreviewContainer__R70hm.Chat-module_attachments__m1Fts{--message-bg-color:var(--input-bg-color);--message-text-color:var(--input-text-color);border-top:0;color:var(--input-text-color);margin-top:0;padding-top:0}.Chat-module_filePreview__kq2aX{align-items:center;backdrop-filter:blur(10px);background:var(--chat-file-preview-background);border:1px solid var(--chat-file-preview-border-color);border-radius:8px;display:flex;font-size:12px;gap:8px;padding:8px 12px;transition:all .2s ease}.Chat-module_filePreview__kq2aX:hover{background:var(--chat-file-preview-hover-background);border-color:var(--chat-file-preview-hover-border-color)}.Chat-module_fileIcon__zoSKW{font-size:14px;opacity:.7}.Chat-module_fileInfo__wBLi0{display:flex;flex-direction:column;gap:2px;min-width:0}.Chat-module_fileName__bBujo{color:var(--chat-file-name-color);font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_fileSize__ivliq{color:var(--chat-file-size-color);font-size:11px}.Chat-module_removeFileButton__0gakR{align-items:center;background:rgba(255,0,0,.1);border:none;border-radius:50%;color:#f44;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .2s ease;width:20px}.Chat-module_removeFileButton__0gakR:hover{background:rgba(255,0,0,.2);transform:scale(1.1)}.Chat-module_inputContainer__bPt99{align-items:center;background:var(--chat-input-container-background);border:1px solid var(--chat-input-container-border-color);border-radius:26px;box-shadow:var(--chat-input-container-shadow);display:flex;gap:10px;min-width:0;padding:9px 12px;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_inputContainer__bPt99:focus-within{border-color:var(--brand-color,#0ea5e9);border-color:color-mix(in srgb,var(--brand-color,#0ea5e9) 58%,rgba(15,23,42,.2) 42%);box-shadow:0 18px 42px rgba(15,23,42,.16),0 0 0 4px rgba(14,165,233,.16);box-shadow:0 18px 42px rgba(15,23,42,.16),0 0 0 4px color-mix(in srgb,var(--brand-color,#0ea5e9) 16%,transparent);transform:translateY(-1px)}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_inputContainer__bPt99:focus-within{border-color:rgba(125,211,252,.6);box-shadow:0 20px 44px rgba(2,6,23,.48),0 0 0 4px rgba(14,165,233,.18)}.Chat-module_inputContainer__bPt99 textarea::placeholder{color:var(--chat-input-placeholder-color);opacity:1}.Chat-module_attachmentButton__qLO47{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--chat-input-action-color);cursor:pointer;display:flex;flex-shrink:0;height:var(--chat-input-action-size);justify-content:center;margin:0;transition:all .2s ease;width:var(--chat-input-action-size)}.Chat-module_attachmentButton__qLO47:hover:not(:disabled){background:var(--chat-input-action-hover-background);color:var(--chat-input-action-hover-color)}.Chat-module_attachmentButton__qLO47:disabled{cursor:not-allowed;opacity:.3}.Chat-module_voiceButton__d2zlP{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--chat-input-action-color);cursor:pointer;display:flex;flex-shrink:0;height:var(--chat-input-action-size);justify-content:center;margin:0;transition:all .2s ease;width:var(--chat-input-action-size)}.Chat-module_voiceButton__d2zlP:hover:not(:disabled){background:var(--chat-input-action-hover-background);color:var(--chat-input-action-hover-color)}.Chat-module_voiceButtonActive__Uoi3W{animation:Chat-module_voiceRecordingPulse__y2wJ5 1.5s infinite;background:rgba(239,68,68,.1)!important;color:#ef4444!important}.Chat-module_speechStatusBubble__qBBWI{align-items:center;animation:Chat-module_speechStatusBubbleIn__PBm-c .2s ease-out;appearance:none;background:var(--chat-speech-status-background);border-radius:999px;border-style:solid;border-width:1px;border:1px solid var(--chat-speech-status-border-color);bottom:86px;box-shadow:var(--chat-speech-status-shadow);color:var(--chat-speech-status-color);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.01em;max-width:min(320px,calc(100% - 48px));padding:8px 12px;position:absolute;right:24px;text-align:left;z-index:25}.Chat-module_speechStatusBubbleDot__APu53{animation:Chat-module_speechStatusBubbleDotPulse__Guqsu 1.2s ease-in-out infinite;background:var(--chat-speech-status-dot-background);border-radius:50%;flex-shrink:0;height:8px;width:8px}.Chat-module_speechStatusBubbleRecording__faJs2{background:hsla(0,86%,97%,.97);border-color:rgba(239,68,68,.35);color:#991b1b}.Chat-module_speechStatusBubbleRecording__faJs2 .Chat-module_speechStatusBubbleDot__APu53{background:#ef4444}.Chat-module_speechStatusBubbleProcessing__Crbuu{background:rgba(236,254,255,.97);border-color:rgba(14,116,144,.35);color:#155e75}.Chat-module_speechStatusBubbleProcessing__Crbuu .Chat-module_speechStatusBubbleDot__APu53{background:#0ea5e9}.Chat-module_speechStatusBubbleError__Nd-Aj{background:hsla(0,86%,97%,.98);border-color:rgba(220,38,38,.35);color:#991b1b}.Chat-module_speechStatusBubbleError__Nd-Aj .Chat-module_speechStatusBubbleDot__APu53{animation:none;background:#dc2626}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_speechStatusBubbleRecording__faJs2{background:rgba(127,29,29,.72);border-color:hsla(0,91%,71%,.44);color:#fecaca}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_speechStatusBubbleProcessing__Crbuu{background:rgba(8,47,73,.74);border-color:rgba(125,211,252,.44);color:#bae6fd}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_speechStatusBubbleError__Nd-Aj{background:rgba(127,29,29,.82);border-color:hsla(0,91%,71%,.5);color:#fecaca}.Chat-module_dictationPanel__kzbyG{background:var(--chat-dictation-panel-background);border:1px solid var(--chat-dictation-panel-border-color);border-radius:14px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.2);color:var(--chat-dictation-panel-color);display:flex;flex-direction:column;gap:10px;padding:10px 12px}.Chat-module_dictationPanelHeader__rHXTh{align-items:center;display:flex;gap:8px;justify-content:space-between}.Chat-module_dictationPanelTitle__sO9XH{color:var(--chat-dictation-title-color);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.Chat-module_dictationPanelToggle__z3HMx{background:var(--chat-dictation-toggle-background);border:1px solid var(--chat-dictation-panel-border-color);border-radius:10px;color:var(--chat-dictation-toggle-color);cursor:pointer;font-size:11px;font-weight:600;padding:4px 8px}.Chat-module_dictationInterimTranscript__eAbMI{background:var(--chat-dictation-transcript-background);border:1px dashed rgba(59,130,246,.45);border-radius:10px;color:var(--chat-dictation-transcript-color);cursor:pointer;font-size:13px;line-height:1.45;padding:8px 10px;text-align:left}.Chat-module_dictationErrorPanel__mjbM7{background:hsla(0,86%,97%,.95);border:1px solid rgba(220,38,38,.25);border-radius:10px;color:#991b1b;display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:8px;padding:8px 10px}.Chat-module_dictationErrorActions__K3ykb{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_dictationCorrectionActions__ssE7i button,.Chat-module_dictationErrorActions__K3ykb button{background:var(--chat-dictation-action-background);border:1px solid var(--chat-dictation-action-border-color);border-radius:10px;color:var(--chat-dictation-action-color);cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px}.Chat-module_dictationCorrectionPanel__5nh9M{display:flex;flex-direction:column;gap:8px}.Chat-module_dictationCorrectionLabel__U4uzT{color:var(--chat-dictation-correction-label-color);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.Chat-module_dictationCorrectionTextarea__5ovj9{background:var(--chat-dictation-correction-textarea-background);border:1px solid var(--chat-dictation-correction-textarea-border-color);border-radius:10px;color:var(--chat-dictation-correction-textarea-color);font-size:13px;line-height:1.5;min-height:68px;padding:8px 10px;resize:vertical;width:100%}.Chat-module_dictationCorrectionActions__ssE7i{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_dictationSettingsPanel__0gI-V{display:grid;gap:8px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.Chat-module_dictationSettingsPanel__0gI-V label{align-items:center;color:var(--chat-dictation-settings-color);display:inline-flex;font-size:12px;gap:6px}.Chat-module_dictationFallbackNote__919pE{color:var(--chat-dictation-fallback-color);font-size:11px;line-height:1.45;margin:0}@keyframes Chat-module_speechStatusBubbleIn__PBm-c{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes Chat-module_speechStatusBubbleDotPulse__Guqsu{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.82)}}@keyframes Chat-module_voiceRecordingPulse__y2wJ5{0%{box-shadow:0 0 0 0 rgba(255,0,0,.4)}70%{box-shadow:0 0 0 10px rgba(255,0,0,0)}to{box-shadow:0 0 0 0 rgba(255,0,0,0)}}.Chat-module_uploadProgress__jBTKe{align-items:center;background:rgba(0,132,255,.1);border:1px solid rgba(0,132,255,.2);border-radius:8px;color:#0084ff;display:flex;font-size:13px;gap:12px;padding:8px 12px}.Chat-module_uploadProgressBar__Gutnt{background:rgba(0,132,255,.2);border-radius:2px;flex:1;height:4px;overflow:hidden}.Chat-module_uploadProgressFill__EgubT{animation:Chat-module_uploadProgress__jBTKe 1.5s ease-in-out infinite;background:linear-gradient(90deg,#0084ff,rgba(0,132,255,.8));border-radius:2px;height:100%}@keyframes Chat-module_uploadProgress__jBTKe{0%{transform:translateX(-100%)}50%{transform:translateX(0)}to{transform:translateX(100%)}}.Chat-module_dragOverlay__SEGoS{align-items:center;backdrop-filter:blur(10px);background:rgba(0,132,255,.1);border:2px dashed rgba(0,132,255,.5);border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:20}.Chat-module_dragOverlayContent__gb9kF{align-items:center;color:#0084ff;display:flex;flex-direction:column;font-weight:600;gap:12px;text-align:center}.Chat-module_dragOverlayContent__gb9kF svg{opacity:.7}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;background:transparent;border:none;box-sizing:border-box;color:var(--chat-input-text-color);flex:1;font-family:inherit;font-size:var(--chat-input-font-size);font-weight:500;height:var(--chat-input-textarea-height);letter-spacing:.002em;line-height:var(--chat-input-line-height);margin:0;max-height:var(--chat-input-textarea-height);min-height:var(--chat-input-textarea-height);min-width:0;outline:none;overflow-y:auto;padding:var(--chat-input-padding-y) var(--chat-input-padding-x);resize:none;touch-action:manipulation}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea:disabled{cursor:not-allowed;opacity:.6;transform:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea::placeholder{color:var(--chat-input-placeholder-color);opacity:.9}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]{-webkit-tap-highlight-color:transparent;align-items:center;aspect-ratio:1/1;border:none;border-radius:50%!important;box-shadow:0 4px 12px rgba(0,132,255,.25);color:#fff;display:flex;height:var(--chat-input-action-size);justify-content:center;margin:0!important;min-height:unset!important;min-width:unset!important;overflow:visible;padding:0!important;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:var(--chat-input-action-size)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]:hover{box-shadow:0 6px 16px rgba(0,132,255,.35);transform:scale(1.05)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]:active{transform:scale(.95)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action] svg{height:20px;width:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button img{height:100%;object-fit:contain;width:50%}.Chat-module_scrollToBottomContainer__5rXpK{align-items:flex-start;display:flex;grid-area:📝;height:100%;justify-content:center;pointer-events:none;width:100%;z-index:20}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottomWrapper__PCIu1{align-items:center;animation:Chat-module_scrollButtonSlideIn__XnImg .3s ease-out;display:inline-flex;justify-content:center;pointer-events:all;position:relative;transform:translate(-50%,-150%);transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottom__nzxdZ{-webkit-tap-highlight-color:transparent;align-items:center;background:rgba(0,0,0,.5);border:none;border-radius:50%;box-shadow:0 4px 16px rgba(0,0,0,.3);color:#fff;cursor:pointer;display:flex;font-weight:700;height:48px;justify-content:center;outline:none;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:48px}@keyframes Chat-module_scrollButtonSlideIn__XnImg{0%{opacity:0;transform:translate(-50%,20px) scale(.8)}to{opacity:.9;transform:translate(-50%) scale(1)}}.Chat-module_scrollToBottomBadge__N6T6-{align-items:center;background:#2563eb;border-radius:999px;box-shadow:0 2px 10px rgba(37,99,235,.4);color:#fff;display:inline-flex;font-size:10px;font-weight:600;justify-content:center;letter-spacing:.04em;min-width:32px;padding:2px 6px;pointer-events:none;position:absolute;right:-8px;text-transform:uppercase;top:-8px;white-space:nowrap}.Chat-module_ratingModal__XVKYm{align-items:center;animation:Chat-module_modalFadeIn__RPc3w .3s ease-out;background-color:rgba(15,23,42,.76);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes Chat-module_modalFadeIn__RPc3w{0%{opacity:0}to{opacity:1}}.Chat-module_ratingModalContent__CCdq7{animation:Chat-module_modalSlideIn__XXtgN .3s cubic-bezier(.25,.46,.45,.94);backdrop-filter:blur(20px);background:#fff;border:1px solid hsla(0,0%,49%,.1);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);color:#0f1724;font-family:Arial,Helvetica,sans-serif,OpenMojiColor,OpenMojiBlack;max-width:480px;padding:32px;width:90%}@keyframes Chat-module_modalSlideIn__XXtgN{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_ratingModalContent__CCdq7 h3{color:#000;font-size:20px;font-weight:600;margin:0 0 24px;text-align:center}.Chat-module_stars__PCzNO{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.Chat-module_stars__PCzNO span{border-radius:8px;cursor:pointer;font-size:28px;padding:4px;transition:all .2s ease}.Chat-module_stars__PCzNO span:hover{background:rgba(255,215,0,.1);transform:scale(1.2)}.Chat-module_ratingModalStar__XkbHr{cursor:pointer;font-size:24px;transition:color .2s}.Chat-module_ratingModal__XVKYm[data-chat-modal=citation-browser],.Chat-module_ratingModal__XVKYm[data-chat-modal=image-attachment]{box-sizing:border-box;padding:24px}.Chat-module_toolCallModal__uNaIK{max-height:calc(100vh - 48px);max-width:800px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative}.Chat-module_citationBrowserModal__jYU4c{background:#f8fafc;display:flex;flex-direction:column;margin:0;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);max-width:800px;overflow:hidden;padding:0;width:min(90vw,800px)}.Chat-module_citationBrowserModalBody__lvTWb{display:flex;flex:1 1 auto;min-height:0}.Chat-module_imageAttachmentModal__Ef6L5{display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);max-width:1040px;overflow:hidden;padding:0;position:relative;width:min(92vw,1040px)}.Chat-module_imageAttachmentModalHeader__onK3Z{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex:0 0 auto;padding:20px 68px 14px 24px}.Chat-module_imageAttachmentModalTitle__AhuMt{color:#0f172a!important;font-size:16px!important;font-weight:600!important;line-height:1.35;margin:0!important;overflow-wrap:anywhere;text-align:left!important}.Chat-module_imageAttachmentModalPreview__gXDer{align-items:center;background:#0f172a;box-sizing:border-box;display:flex;flex:1 1 auto;justify-content:center;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);min-height:0;overflow:hidden;padding:16px}.Chat-module_imageAttachmentModalImage__t61oG{display:block;max-height:calc(100vh - 162px);max-height:calc(100dvh - 162px);max-width:100%;object-fit:contain}.Chat-module_toolCallHeader__ZaTZF{align-items:center;background:linear-gradient(135deg,#eef2ff,#f5f3ff 40%,#fefcc9);border-bottom:1px solid rgba(15,23,42,.08);display:flex;gap:16px;padding:24px 32px 16px}.Chat-module_toolCallIcon__UgRKj{font-size:32px}.Chat-module_toolCallHeaderMeta__iAL-U{display:flex;flex-direction:column;gap:4px}.Chat-module_toolCallModalLabel__4dBP4{color:#475467;font-size:11px;letter-spacing:.35em;margin:0;text-transform:uppercase}.Chat-module_toolCallTitle__jhL0A{color:#0f172a;font-size:24px;font-weight:600;margin:0}.Chat-module_toolCallSubtitle__a2GIO{color:#475467;font-size:13px;margin:0}.Chat-module_toolCallGrid__Nfr7N{background:#fefefe;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:24px 32px 16px}.Chat-module_toolCallPanel__kQZE9{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 18px 40px rgba(15,23,42,.08);padding:18px}.Chat-module_toolCallPanelTitle__-7OtJ{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.25em;margin:0 0 12px;text-transform:uppercase}.Chat-module_toolCallList__5co3s{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.Chat-module_toolCallItem__k7W5Z{display:flex;flex-direction:column;gap:4px}.Chat-module_toolCallItemLabel__d3C1E{color:#94a3b8;font-size:11px;letter-spacing:.25em;text-transform:uppercase}.Chat-module_toolCallItemValue__cStQ0{color:#0f172a;font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.Chat-module_toolCallSummary__wGZwg{color:#0f172a;font-size:15px;line-height:1.6;margin:0}.Chat-module_toolCallSummaryMeta__RXiSv{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.Chat-module_toolCallSummaryMetaBadge__JBi-I{background:rgba(79,70,229,.15);border-radius:999px;color:#312e81;font-size:12px;font-weight:600;padding:5px 12px}.Chat-module_toolCallEmpty__bUz5v{color:#94a3b8;font-size:14px;margin:0}.Chat-module_toolCallPendingCard__L3m7T{background:linear-gradient(180deg,#f8fbff,#f8fafc);border:1px dashed #cbd5e1;border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:14px}.Chat-module_toolCallPendingHeader__U3htF{align-items:center;display:flex;gap:10px;justify-content:space-between}.Chat-module_toolCallPendingTitle__4fwLL{color:#0f172a;font-size:13px;font-weight:600}.Chat-module_toolCallPendingBadge__bgY3c{background:rgba(14,165,233,.12);border-radius:999px;color:#0369a1;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.Chat-module_toolCallPendingMessage__grnao{color:#475467;font-size:13px;line-height:1.5;margin:0}.Chat-module_toolCallPendingSkeleton__Td5Cu{display:flex;flex-direction:column;gap:8px}.Chat-module_toolCallPendingSkeletonLine__Vldel{animation:Chat-module_toolCallPendingSkeletonPulse__aKDNI 1.4s ease-in-out infinite;background:linear-gradient(90deg,rgba(226,232,240,.7),#f1f5f9,rgba(226,232,240,.7));background-size:200% 100%;border-radius:999px;height:10px}.Chat-module_toolCallPendingSkeletonShort__FnR-X{width:68%}@keyframes Chat-module_toolCallPendingSkeletonPulse__aKDNI{0%{background-position:100% 50%}to{background-position:-100% 50%}}.Chat-module_toolCallDetailsCard__UJthw{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-top:16px;overflow:hidden}.Chat-module_toolCallDetailsCardRow__-VhfA{border-top:1px solid rgba(226,232,240,.9);color:#334155;display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:12px 14px}.Chat-module_toolCallDetailsCardRow__-VhfA:first-child{border-top:none}.Chat-module_toolCallDetailsCardRow__-VhfA strong{color:#0f172a}.Chat-module_toolCallIssues__evhYM{display:flex;flex-wrap:wrap;gap:8px;padding:0 32px 16px}.Chat-module_toolCallIssueBadge__Qbwdp{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 10px}.Chat-module_toolCallIssueError__LImeS{background:rgba(239,68,68,.12);color:#b91c1c}.Chat-module_toolCallIssueWarning__chQDf{background:rgba(234,179,8,.16);color:#a16207}.Chat-module_agentProjectStatus__870th{align-items:center;display:flex;font-size:15px;font-weight:600;gap:8px;margin:0 0 14px}.Chat-module_agentProjectStatusDot__vCMF3{background:currentColor;border-radius:999px;flex:none;height:9px;width:9px}.Chat-module_agentProjectStatusRunning__a4-Ud{color:#047857}.Chat-module_agentProjectStatusStopped__tcH0J{color:#64748b}.Chat-module_agentProjectLinks__KW0Wb{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.Chat-module_agentProjectLink__FmkLh{color:#1d4ed8;font-size:14px;font-weight:600;text-decoration:none;word-break:break-word}.Chat-module_agentProjectLink__FmkLh:hover{text-decoration:underline}.Chat-module_agentProjectChange__4Lyg8{background:#fefefe;padding:0 32px 8px}.Chat-module_agentProjectChangeSummary__qu418{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.Chat-module_agentProjectChangeCount__9xuW2{font-family:Consolas,Courier New,monospace;font-size:13px;font-weight:700}.Chat-module_agentProjectChangeCountAdded__pE41j{color:#047857}.Chat-module_agentProjectChangeCountRemoved__xa0-y{color:#b91c1c}.Chat-module_agentProjectCommit__QZ6dK{color:#64748b;font-family:Consolas,Courier New,monospace;font-size:12px}.Chat-module_agentProjectChangedFiles__yVStZ{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0 0 12px;max-height:160px;overflow-y:auto;padding:0}.Chat-module_agentProjectChangedFile__Xf46Y{align-items:baseline;display:flex;font-size:13px;gap:12px;justify-content:space-between}.Chat-module_agentProjectChangedFilePath__2nsAO{color:#0f172a;font-family:Consolas,Courier New,monospace;word-break:break-all}.Chat-module_agentProjectChangedFileCounts__rQbeL{font-family:Consolas,Courier New,monospace;font-size:12px;white-space:nowrap}.Chat-module_agentProjectDiff__FYtgG{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.Chat-module_agentProjectDiffCode__WsR6G{display:flex;flex-direction:column;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.5;margin:0;max-height:320px;overflow:auto;padding:12px 0}.Chat-module_agentProjectDiffLine__hHaES{color:#334155;padding:0 12px;white-space:pre}.Chat-module_agentProjectDiffLineAdded__yOyL0{background:rgba(16,185,129,.14);color:#065f46}.Chat-module_agentProjectDiffLineRemoved__P97hq{background:rgba(239,68,68,.12);color:#991b1b}.Chat-module_agentProjectDiffLineHunk__cq-md{background:rgba(109,40,217,.08);color:#6d28d9}.Chat-module_agentProjectDiffLineMeta__j9MVq{color:#94a3b8}.Chat-module_agentProjectDiffTruncated__dUwJs{border-top:1px solid #e2e8f0;color:#64748b;font-size:12px;margin:0;padding:8px 12px}.Chat-module_toolCallModeFooter__XaRqI{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:0 32px 24px}.Chat-module_toolCallModeButton__zlcca{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.Chat-module_toolCallModeButton__zlcca:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px)}.Chat-module_toolCallClockPanel__h4xZd{align-items:center;display:flex;flex-direction:column;gap:20px;padding:20px}.Chat-module_toolCallClockLabels__KJGxe{text-align:center}.Chat-module_toolCallClockPrimary__StLQ8{color:#0f172a;font-size:2em;font-weight:700}.Chat-module_toolCallClockSecondary__O4WaT{color:#475467}.Chat-module_toolCallClockMeta__aObb7{color:#667085;font-size:.9em;margin-top:5px}.Chat-module_timeoutToolSummary__kPPvu{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.Chat-module_timeoutToolPrimarySentence__pQfLn{color:#0f172a;font-size:15px;font-weight:600;line-height:1.5;margin:0}.Chat-module_timeoutToolSecondarySentence__iH5Uc{color:#475467;font-size:13px;line-height:1.5;margin:6px 0 0}.Chat-module_timeoutToolActionRow__occir{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.Chat-module_timeoutToolActionButton__8yz0R{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:border-color .2s ease,background-color .2s ease}.Chat-module_timeoutToolActionButton__8yz0R:hover{background:#f1f5f9;border-color:#94a3b8}.Chat-module_timeoutToolActionButton__8yz0R:disabled{cursor:default;opacity:.45}.Chat-module_memoryModalHeader__SpZJT{align-items:flex-start;background:linear-gradient(180deg,#fdfdfd,#f6f9ff);border-bottom:1px solid #e2e8f0;display:flex;gap:16px;padding:28px 32px 16px}.Chat-module_memoryModalIcon__eYbli{align-items:center;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:18px;box-shadow:0 18px 28px rgba(15,23,42,.18);color:#fff;display:inline-flex;font-size:24px;height:52px;justify-content:center;width:52px}.Chat-module_memoryModalHeaderText__S6MZG{flex:1}.Chat-module_memoryModalTitle__zzbaQ{color:#0f172a;font-size:22px;font-weight:600;margin:0}.Chat-module_memoryModalSubtitle__PStci{color:#475467;font-size:14px;margin:4px 0 0}.Chat-module_memoryModalStatus__bmrfc{align-items:center;border-radius:999px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-left:auto;padding:6px 14px;white-space:nowrap}.Chat-module_memoryStatusDot__c0oVs{background:currentColor;border-radius:50%;display:inline-block;height:8px;width:8px}.Chat-module_memoryModalContent__8E7oj{background:#fff;display:flex;flex-direction:column;gap:16px;padding:24px 32px 32px}.Chat-module_memoryMessage__q0pNK{color:#0f172a;font-size:15px;font-weight:500;margin:0}.Chat-module_memoryMetaRow__Hc-Xp{align-items:center;color:#475467;display:flex;font-size:13px;justify-content:space-between}.Chat-module_memoryMetaLabel__LFx11{font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_memoryMetaValue__4bILO{color:#0f172a;font-weight:600}.Chat-module_memoryRetrieveSection__VbuS4,.Chat-module_memoryStoreSection__qQJPN{display:flex;flex-direction:column;gap:12px}.Chat-module_memoryCard__-kIDN{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 18px rgba(15,23,42,.08);padding:18px}.Chat-module_memoryCardContent__l9S4G{color:#0f172a;font-size:14px;line-height:1.6;overflow-wrap:break-word;white-space:pre-wrap}.Chat-module_memoryCardMeta__K66KE{align-items:center;color:#94a3b8;display:flex;font-size:12px;justify-content:space-between;margin-top:12px}.Chat-module_memoryScopeBadge__T2ACc{background:rgba(124,58,237,.12);border-radius:999px;color:#0f172a;font-size:11px;font-weight:700;padding:3px 10px}.Chat-module_memoryList__pUOg2{display:flex;flex-direction:column;gap:12px}.Chat-module_memoryEmptyState__fPrXA{background:#fef3c7;border:1px solid #fde68a;border-radius:12px;color:#92400e;font-weight:500;padding:16px}.Chat-module_memoryListFooter__Y0Q2Z{color:#475467;font-size:13px;text-align:center}.Chat-module_memoryStatusSuccess__4bhfo{background:rgba(16,185,129,.16);color:#047857}.Chat-module_memoryStatusWarning__AR6yh{background:rgba(234,179,8,.16);color:#a16207}.Chat-module_memoryStatusError__ZNAT6{background:rgba(239,68,68,.15);color:#b91c1c}.Chat-module_memoryStatusNeutral__Fa-4M{background:rgba(96,165,250,.15);color:#1d4ed8}.Chat-module_searchModalHeader__Y8V-w{align-items:center;background:#fdfdfd;border-bottom:1px solid #eee;display:flex;gap:16px;padding:24px 72px 24px 32px}.Chat-module_selfLearningModalHeader__PDIt1{align-items:center;background:linear-gradient(135deg,#f8fafc,#fef9c3 45%,#ecfccb);border-bottom:1px solid #e2e8f0;gap:18px}.Chat-module_selfLearningAvatarGroup__jgy2k{align-items:center;display:flex;gap:10px}.Chat-module_selfLearningAvatar__NHXKm{align-items:center;background:#e2e8f0;background-position:50%;background-size:cover;border-radius:50%;box-shadow:0 10px 20px rgba(15,23,42,.18);color:#0f172a;display:inline-flex;font-size:18px;font-weight:600;height:48px;justify-content:center;letter-spacing:.02em;width:48px}.Chat-module_selfLearningAvatarInitial__cuw19{line-height:1}.Chat-module_selfLearningTeacher__fGhX8{background:linear-gradient(135deg,#fde68a,#86efac)}.Chat-module_selfLearningHeaderText__LTwHL{display:flex;flex-direction:column;gap:6px;text-align:left}.Chat-module_selfLearningTitle__G0SAk{color:#0f172a;font-size:20px;font-weight:600;margin:0}.Chat-module_selfLearningMetaRow__z4Tg0{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;margin-bottom:12px}.Chat-module_selfLearningMeta__58Pet{color:#64748b;font-size:13px}.Chat-module_selfLearningMetaChip__0go88{background:#e2e8f0;border-radius:999px;color:#0f172a;font-size:12px;font-weight:600;padding:4px 10px}.Chat-module_selfLearningCommitments__7ECnr{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px}.Chat-module_selfLearningCommitmentsLabel__OkDO1{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_selfLearningBookEditor__CZy5T{border-radius:12px;margin-top:12px;overflow:hidden}.Chat-module_selfLearningEmpty__vCKHL{color:#475569;font-size:13px;margin-top:12px}.Chat-module_modalCloseButton__AAfWS{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 16px rgba(15,23,42,.08);color:#475569;cursor:pointer;display:inline-flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;width:36px;z-index:1}.Chat-module_modalCloseButton__AAfWS:hover{background:#f8fafc;box-shadow:0 10px 24px rgba(15,23,42,.12);color:#0f172a;transform:translateY(-1px)}.Chat-module_modalCloseButton__AAfWS:focus-visible{outline:2px solid #94a3b8;outline-offset:2px}.Chat-module_teamModalHeader__SB5NL{flex-wrap:wrap;gap:12px}.Chat-module_teamHeaderParticipants__KS7aV{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.Chat-module_teamHeaderProfile__xRlcS{align-items:center;color:inherit;display:inline-flex;gap:12px;text-decoration:none}.Chat-module_teamHeaderProfileLink__fYTfT:hover{color:#0f172a}.Chat-module_teamHeaderAvatar__vXcTp{background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 14px rgba(15,23,42,.08);height:40px;width:40px}.Chat-module_teamHeaderName__ygJR9{color:#0f172a;font-size:18px;font-weight:600}.Chat-module_teamHeaderDivider__cnRMd{color:#94a3b8;font-size:14px;font-weight:600}.Chat-module_searchModalIcon__AR5KY{align-items:center;color:#475569;display:inline-flex;font-size:24px;justify-content:center}.Chat-module_searchModalQuery__5x-Ra{color:#202124!important;font-size:22px!important;font-weight:500!important;margin:0!important;text-align:left!important}.Chat-module_searchModalContent__mWLIE{background:#fff;max-height:60vh;overflow-y:auto;padding:24px 32px}.Chat-module_teamChatContainer__xdLtU{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:20px;overflow:hidden}.Chat-module_teamToolCallSection__FH9l7{display:flex;flex-direction:column;gap:16px}.Chat-module_teamToolCallGroup__PO6rl{display:flex;flex-direction:column;gap:8px}.Chat-module_teamToolCallHeading__G-JSj{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_teamToolCallChips__hRWqh{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_teamToolCallDetails__ZaTtt{background:#f8fafc;border:1px solid rgba(148,163,184,.4);border-radius:12px;padding:16px}.Chat-module_teamToolCallDetailsHeader__FPIgI{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.Chat-module_teamToolCallDetailsTitle__50SeL{align-items:center;color:#0f172a;display:flex;font-size:14px;font-weight:600;gap:6px}.Chat-module_teamToolCallDetailsClear__8yvu7{background:rgba(148,163,184,.2);border:1px solid rgba(148,163,184,.4);border-radius:999px;color:#475569;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s ease}.Chat-module_teamToolCallDetailsClear__8yvu7:hover{background:rgba(148,163,184,.35)}.Chat-module_searchResultsList__xVDUZ{display:flex;flex-direction:column;gap:28px;text-align:left}.Chat-module_searchResultsRaw__i3GkD{max-width:650px;text-align:left}.Chat-module_searchResultItem__bTzq5{max-width:650px}.Chat-module_searchResultUrl__SbrH4{color:#202124;font-size:14px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_searchResultUrl__SbrH4 a{color:#202124;text-decoration:none}.Chat-module_searchResultTitle__XS7zN{font-size:20px!important;font-weight:400!important;line-height:1.3;margin:0 0 4px!important}.Chat-module_searchResultTitle__XS7zN a{color:#1a0dab;text-decoration:none}.Chat-module_searchResultTitle__XS7zN a:hover{text-decoration:underline}.Chat-module_searchResultSnippet__Wsun2{color:#4d5156;font-size:14px;line-height:1.58;margin:0}.Chat-module_noResults__AAv6s{color:#70757a;font-style:italic;padding:40px;text-align:center}.Chat-module_citationDetails__2v2e1,.Chat-module_toolCallDetails__WUFlD{margin:20px 0;text-align:left}.Chat-module_citationPreview__rGhCR{background:#f8f8f8;border:1px solid #ddd;border-radius:8px;margin-top:16px;overflow:hidden}.Chat-module_citationIframe__ngzFY{border:none;display:block;height:60vh;min-height:400px;width:100%}.Chat-module_citationIframeLoading__y5VW9{align-items:center;color:#888;display:flex;font-size:.9em;height:60vh;justify-content:center;min-height:400px;width:100%}.Chat-module_citationScreenshotFallback__jxfJX{display:flex;flex-direction:column;position:relative;width:100%}.Chat-module_citationScreenshotImage__hXjC7{display:block;max-height:60vh;min-height:400px;object-fit:cover;object-position:top;width:100%}.Chat-module_citationScreenshotLink__NHvbE{background:#f0f0f0;border-top:1px solid #ddd;color:#333;display:block;font-size:.9em;font-weight:500;padding:10px 16px;text-align:center;text-decoration:none;transition:background .15s}.Chat-module_citationScreenshotLink__NHvbE:hover{background:#e0e0e0;text-decoration:underline}.Chat-module_liveBrowserPreview__D94Kt{background:#f8fafc;display:flex;flex-direction:column;min-height:0;width:100%}.Chat-module_citationBrowserModal__jYU4c .Chat-module_liveBrowserPreview__D94Kt{flex:1 1 auto;min-height:0}.Chat-module_liveBrowserPreview__D94Kt:fullscreen{background:#0f172a}.Chat-module_liveBrowserPreviewToolbar__nFgSV{align-items:center;background:#f1f5f9;border-bottom:1px solid #e2e8f0;display:flex;gap:4px;padding:6px 8px}.Chat-module_liveBrowserPreviewToolbarButton__R-ZXl{align-items:center;background:transparent;border:none;border-radius:6px;color:#334155;cursor:pointer;display:flex;flex:none;font-size:14px;height:28px;justify-content:center;line-height:1;min-width:28px;padding:0 4px;text-decoration:none;transition:background .15s}.Chat-module_liveBrowserPreviewToolbarButton__R-ZXl:hover:not(:disabled){background:#e2e8f0}.Chat-module_liveBrowserPreviewToolbarButton__R-ZXl:disabled{cursor:default;opacity:.35}.Chat-module_liveBrowserPreviewZoomLabel__PbrV1{font-size:11px;font-variant-numeric:tabular-nums}.Chat-module_liveBrowserPreviewToolbarCloseButton__gcsb0{margin-left:2px}.Chat-module_liveBrowserPreviewToolbarCloseButton__gcsb0 svg{height:14px;width:14px}.Chat-module_liveBrowserPreviewUrlForm__4DSda{flex:1;margin:0 4px;min-width:0}.Chat-module_liveBrowserPreviewUrlInput__AugUm{background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#0f172a;font-size:12px;outline:none;padding:5px 12px;width:100%}.Chat-module_liveBrowserPreviewUrlInput__AugUm:focus{border-color:#94a3b8}.Chat-module_liveBrowserPreviewStreamArea__aIhQx{background:#f8f8f8;height:60vh;min-height:400px;outline:none;overflow:auto;position:relative;touch-action:none}.Chat-module_citationBrowserModal__jYU4c .Chat-module_liveBrowserPreviewStreamArea__aIhQx{height:min(60vh,640px);min-height:min(400px,calc(100dvh - 140px))}.Chat-module_liveBrowserPreviewStreamArea__aIhQx:focus-visible{box-shadow:inset 0 0 0 2px #94a3b8}.Chat-module_liveBrowserPreview__D94Kt:fullscreen .Chat-module_liveBrowserPreviewStreamArea__aIhQx{flex:1;height:auto;min-height:0}.Chat-module_liveBrowserPreviewStreamImage__bpTj3{background:#fff;display:block;position:relative;touch-action:none;user-select:none;width:100%}.Chat-module_liveBrowserPreviewConnecting__8Gn40{align-items:center;color:#64748b;display:flex;font-size:.9em;inset:0;justify-content:center;position:absolute}.Chat-module_liveBrowserPreviewOverlay__eheiG{align-items:center;background:rgba(15,23,42,.55);color:#fff;display:flex;flex-direction:column;gap:12px;inset:0;justify-content:center;position:absolute;text-align:center}.Chat-module_liveBrowserPreviewOverlayButton__o9SNO{background:#fff;border:none;border-radius:999px;color:#0f172a;cursor:pointer;font-weight:600;padding:8px 20px}.Chat-module_citationMetadata__DPaCF{background:#f8f8f8;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:16px}.Chat-module_citationMetadata__DPaCF p{font-size:.9em;margin:8px 0}.Chat-module_citationMetadata__DPaCF strong{color:#333}.Chat-module_citationMetadata__DPaCF a{color:#007bff;text-decoration:none;word-break:break-all}.Chat-module_citationMetadata__DPaCF a:hover{text-decoration:underline}.Chat-module_citationExcerpt__VU4BS{background:#fff;border:1px solid #ddd;border-radius:8px;max-height:400px;overflow-y:auto;padding:16px}.Chat-module_citationExcerpt__VU4BS h4{color:#333;font-size:1em;margin:0 0 12px}.Chat-module_citationHint__5AkLx{font-size:.85em;margin-top:8px;opacity:.7}.Chat-module_toolCallDataContainer__rdEzC{background:#f8f8f8;border:1px solid #eee;border-radius:6px;margin-bottom:15px;max-height:300px;overflow-y:auto;padding:12px}.Chat-module_toolCallPayloadContainer__v2yVn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor .monaco-scrollable-element,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor .overflow-guard,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor-background{background:#f8fafc!important}.Chat-module_toolCallData__UauCO{font-size:.85em;margin:0;white-space:pre-wrap;word-break:break-word}.Chat-module_toolCallModal__uNaIK .Chat-module_toolCallData__UauCO{background:#f8fafc;color:#0f172a}.Chat-module_ratingInput__z8Pv-{background:hsla(0,0%,49%,.05);border:2px solid hsla(0,0%,49%,.1);border-radius:12px;color:#0b1220;font-size:14px;line-height:1.5;margin-bottom:18px;min-height:100px;padding:16px;resize:vertical;transition:all .2s ease;width:100%}.Chat-module_ratingInput__z8Pv-:focus{background:hsla(0,0%,49%,.08);border-color:#0084ff;box-shadow:0 0 0 4px rgba(0,132,255,.1);outline:none}.Chat-module_ratingInput__z8Pv-[readonly]{background:hsla(0,0%,49%,.01);border:1px solid hsla(0,0%,49%,.5)}.Chat-module_ratingActions__nXcss{display:flex;gap:12px;justify-content:flex-end}.Chat-module_ratingActions__nXcss button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:12px 24px;transition:all .2s ease}.Chat-module_ratingActions__nXcss button:first-child{background-color:hsla(0,0%,49%,.1);border:1px solid hsla(0,0%,49%,.2);color:#0b1220}.Chat-module_ratingActions__nXcss button:first-child:hover:not(:disabled){background-color:hsla(0,0%,49%,.2);color:#0b1220}.Chat-module_ratingActions__nXcss button:last-child{background:linear-gradient(135deg,#0084ff,#06c);color:#fff}.Chat-module_ratingActions__nXcss button:last-child:hover:not(:disabled){background:linear-gradient(135deg,#0071d1,#0052a3);box-shadow:0 4px 12px rgba(0,132,255,.3);transform:translateY(-1px)}.Chat-module_ratingActions__nXcss button:last-child:disabled{cursor:not-allowed;opacity:.5}.Chat-module_downloadButton__8--bk{align-items:center;background:linear-gradient(135deg,#0084ff,#06c);border:none;border-radius:8px;box-shadow:0 2px 8px rgba(0,132,255,.2);color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease}.Chat-module_downloadButton__8--bk:hover{background:linear-gradient(135deg,#09f,#07d);box-shadow:0 4px 16px rgba(0,132,255,.3);transform:translateY(-2px)}.Chat-module_downloadButton__8--bk:active{box-shadow:0 2px 8px rgba(0,132,255,.2);transform:translateY(0)}.Chat-module_downloadButton__8--bk svg{flex-shrink:0}.Chat-module_downloadButton__8--bk span{font-weight:600}.Chat-module_chatButton__d9VgA,.Chat-module_useTemplateButton__xcJNR{-webkit-tap-highlight-color:transparent!important;align-items:center!important;backdrop-filter:blur(18px)!important;background:linear-gradient(140deg,#0f8ef5,#0b6fd0 56%,#0d5fbb)!important;border:1px solid hsla(0,0%,100%,.24)!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(14,116,219,.28),inset 0 1px 0 hsla(0,0%,100%,.2)!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;font-family:inherit!important;font-size:12.5px!important;font-weight:600!important;gap:8px!important;justify-content:center!important;letter-spacing:.02em!important;line-height:1.2!important;margin:0!important;min-height:40px!important;min-width:110px!important;overflow:hidden!important;padding:11px 16px!important;position:relative!important;text-decoration:none!important;touch-action:manipulation!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;user-select:none!important}.Chat-module_chatButton__d9VgA:before,.Chat-module_useTemplateButton__xcJNR:before{background:linear-gradient(100deg,transparent,hsla(0,0%,100%,.26) 48%,transparent);content:\"\";height:100%;left:-110%;position:absolute;top:0;transition:left .45s ease;width:75%}.Chat-module_chatButton__d9VgA:hover:before,.Chat-module_useTemplateButton__xcJNR:hover:before{left:140%}.Chat-module_chatButton__d9VgA:hover:not(:disabled),.Chat-module_useTemplateButton__xcJNR:hover:not(:disabled){background:linear-gradient(140deg,#1a9aff,#0d7de8 56%,#1168c9)!important;box-shadow:0 14px 30px rgba(14,116,219,.34),inset 0 1px 0 hsla(0,0%,100%,.2)!important;transform:translateY(-1.5px)}.Chat-module_chatButton__d9VgA:active,.Chat-module_useTemplateButton__xcJNR:active{transform:translateY(0) scale(.985);transition:transform .1s ease}.Chat-module_chatButton__d9VgA:focus,.Chat-module_useTemplateButton__xcJNR:focus{box-shadow:0 10px 24px rgba(14,116,219,.32),0 0 0 3px rgba(56,189,248,.28),inset 0 1px 0 hsla(0,0%,100%,.22)!important;outline:none}.Chat-module_chatButton__d9VgA svg,.Chat-module_useTemplateButton__xcJNR svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.24));flex-shrink:0;height:16px;opacity:1;transition:transform .2s ease,filter .2s ease;width:16px}.Chat-module_chatButton__d9VgA:hover svg,.Chat-module_useTemplateButton__xcJNR:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.28));transform:scale(1.08) translateX(1px)}.Chat-module_chatButtonText__RkGB-{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.12);transition:transform .2s ease;white-space:nowrap}.Chat-module_chatButton__d9VgA:hover .Chat-module_chatButtonText__RkGB-,.Chat-module_useTemplateButton__xcJNR:hover .Chat-module_chatButtonText__RkGB-{transform:translateX(1px)}.Chat-module_saveButtonContainer__lSNUJ{display:inline-block;position:relative}.Chat-module_saveMenu__-ph8y{background:#fff;border:1px solid #ddd;box-shadow:0 2px 8px rgba(0,0,0,.08);left:0;min-width:120px;position:absolute;top:100%;z-index:10}.Chat-module_saveMenuItem__ISApL{background:none;border:none;color:#111;cursor:pointer;display:block;padding:8px 16px;text-align:left;width:100%}.Chat-module_saveMenuItem__ISApL:hover{background-color:#f0f0f0}.Chat-module_saveMenuDivider__3ktTM{background-color:#ddd;height:1px;margin:4px 0}.Chat-module_chatFeedbackPanel__gfOzk{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 18px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:6px;padding:6px 8px;width:min(260px,100%)}.Chat-module_chatFeedbackToggle__IeOM6{align-items:center;background:transparent;border:none;border-radius:12px;cursor:pointer;display:flex;gap:10px;padding:6px 8px;text-align:left;transition:background .2s ease,transform .2s ease;width:100%}.Chat-module_chatFeedbackToggle__IeOM6:hover{background:#f5f5f5;transform:translateY(-.5px)}.Chat-module_chatFeedbackToggle__IeOM6:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.Chat-module_chatFeedbackIcon__XcB7A{background:#eef2ff;border-radius:10px;color:#6366f1;display:grid;flex-shrink:0;height:34px;place-items:center;transition:background .2s ease,color .2s ease;width:34px}.Chat-module_chatFeedbackToggle__IeOM6[data-enabled=true] .Chat-module_chatFeedbackIcon__XcB7A{background:#e0f2fe;color:#0284c7}.Chat-module_chatFeedbackToggle__IeOM6[data-enabled=false] .Chat-module_chatFeedbackIcon__XcB7A{background:#f3f4f6;color:#94a3b8}.Chat-module_chatFeedbackMeta__6t2be{display:flex;flex:1;flex-direction:column;gap:2px}.Chat-module_chatFeedbackLabel__qQgH3{color:#0f172a;font-size:.85rem;font-weight:600}.Chat-module_chatFeedbackDescription__I9bNg{color:#64748b;font-size:.75rem}.Chat-module_chatFeedbackIndicator__uHCr7{border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:2px 8px;text-transform:uppercase}.Chat-module_chatFeedbackIndicatorActive__bkw-w{background:#dcfce7;border:1px solid #34d399;color:#166534}.Chat-module_chatFeedbackIndicatorInactive__qMBkh{background:#fef9c3;border:1px solid #facc15;color:#713f12}.Chat-module_pauseButton__eeu7K{background:linear-gradient(135deg,#ffb347,#ff8c42)!important}.Chat-module_pauseButton__eeu7K:hover:not(:disabled){background:linear-gradient(135deg,#ffc067,#ff9e5f)!important}.Chat-module_pauseButton__eeu7K.Chat-module_pausing__pTx8b{cursor:wait!important;opacity:.6!important}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya{background:linear-gradient(135deg,#10b981,#059669)!important}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya:hover:not(:disabled){background:linear-gradient(135deg,#34d399,#059669)!important;box-shadow:0 8px 24px rgba(16,185,129,.35);transform:translateY(-2px) scale(1.02)}.Chat-module_pauseButton__eeu7K svg{transition:transform .3s ease}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya svg{transform:scale(1.1)}.Chat-module_pauseButton__eeu7K.Chat-module_pausing__pTx8b svg{opacity:.8}.Chat-module_stopButton__dkPOW{background:linear-gradient(135deg,#dc2626,#991b1c)!important;color:#fefefe!important}.Chat-module_stopButton__dkPOW:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#dc2626)!important}.Chat-module_stopButton__dkPOW:disabled{cursor:not-allowed!important;opacity:.6!important}.Chat-module_stopButton__dkPOW svg{transition:transform .3s ease}.Chat-module_stopButton__dkPOW:focus-visible{outline:2px solid hsla(0,91%,71%,.8);outline-offset:2px}.Chat-module_voiceCallIndicatorBar__N2sWN{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(16,185,129,.1));border-bottom:1px solid rgba(34,197,94,.3);display:flex;grid-area:🟦;justify-content:center;padding:12px 20px;width:100%}.Chat-module_voiceCallIndicator__tsaaG{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(16,185,129,.2));border:1px solid rgba(34,197,94,.4);border-radius:20px;box-shadow:0 2px 8px rgba(34,197,94,.2);color:#10b981;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:8px 16px;position:relative}.Chat-module_voiceCallIndicator__tsaaG svg{animation:Chat-module_voiceCallIconPulse__zZbJn 2s ease-in-out infinite;flex-shrink:0;height:16px;width:16px}.Chat-module_voiceCallIndicator__tsaaG span{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}.Chat-module_voiceCallPulse__XcGU4{animation:Chat-module_voiceCallPulse__XcGU4 1.5s ease-in-out infinite;background:#10b981;border-radius:50%;height:8px;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:8px}@keyframes Chat-module_voiceCallIconPulse__zZbJn{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes Chat-module_voiceCallPulse__XcGU4{0%,to{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.6;transform:translateY(-50%) scale(1.3)}}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG{border-radius:16px;font-size:12px;margin-bottom:8px;padding:6px 12px}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG svg{height:14px;width:14px}.Chat-module_feedbackStatus__-df7l{word-wrap:break-word;animation:Chat-module_feedbackStatusSlideIn__n6bbB .28s ease-out;backdrop-filter:blur(20px);border-radius:14px;box-shadow:0 18px 32px rgba(15,23,42,.35);font-weight:500;max-width:340px;padding:14px 22px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.Chat-module_feedbackStatusSuccess__Ax2q0{background:linear-gradient(135deg,#10b981,#059669);color:#f8fafc}.Chat-module_feedbackStatusError__dnv6d{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fef2f2}@keyframes Chat-module_feedbackStatusSlideIn__n6bbB{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.Chat-module_Chat__j2eE5{--chat-message-min-width:100px;--chat-message-avatar-size:36px;--chat-message-max-width:min(85%,560px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-message-avatar-gap:10px;--chat-input-font-size:16px;--chat-input-padding-y:14px;--chat-input-padding-x:18px;--chat-input-action-size:44px}.Chat-module_constrainedArticleVisual__0axxM{--chat-article-layout-padding-inline:clamp(24px,6vw,36px)}.Chat-module_actions__gTZ5T{gap:6px;margin:12px 16px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:16px 20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{margin-bottom:16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:18px;font-size:14px;padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{margin-bottom:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{margin:0;max-width:100%;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP{border-radius:0;font-size:15px;line-height:1.68;padding:2px 0}.Chat-module_articleModeMessageActions__h2qaG{gap:8px;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{margin:0 0 4px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:10px;padding:16px 20px calc(16px + env(safe-area-inset-bottom))}.Chat-module_speechStatusBubble__qBBWI{bottom:76px;font-size:11px;max-width:calc(100% - 28px);padding:7px 11px;right:14px}.Chat-module_dictationSettingsPanel__0gI-V{grid-template-columns:minmax(0,1fr)}.Chat-module_scrollToBottom__nzxdZ{font-size:18px;height:44px;top:calc(100% - 160px);width:44px}.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_ratingModalContent__CCdq7{border-radius:16px;margin:16px;max-height:80vh;overflow-y:auto;padding:24px 20px}.Chat-module_ratingModalContent__CCdq7.Chat-module_imageAttachmentModal__Ef6L5{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;padding:0}.Chat-module_stars__PCzNO{gap:6px;margin-bottom:20px}.Chat-module_stars__PCzNO span{font-size:32px;padding:8px}.Chat-module_ratingActions__nXcss{flex-direction:column-reverse;gap:8px}.Chat-module_ratingActions__nXcss button{border-radius:10px;font-size:16px;padding:14px;width:100%}.Chat-module_selfLearningModalHeader__PDIt1{align-items:flex-start;flex-direction:column}.Chat-module_selfLearningAvatarGroup__jgy2k{justify-content:flex-start}.Chat-module_selfLearningMetaRow__z4Tg0{align-items:flex-start}}@media (max-width:480px){.Chat-module_Chat__j2eE5{--chat-message-min-width:80px;--chat-message-avatar-size:32px;--chat-message-max-width:min(90%,520px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-message-avatar-gap:8px;--chat-input-padding-y:12px;--chat-input-padding-x:16px;--chat-input-action-size:40px}.Chat-module_actions__gTZ5T{gap:4px;margin:8px 12px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:16px;font-size:14px;padding:10px 14px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{margin:0 0 4px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.Chat-module_speechStatusBubble__qBBWI{bottom:72px;max-width:calc(100% - 20px);right:10px}.Chat-module_dictationCorrectionActions__ssE7i,.Chat-module_dictationErrorActions__K3ykb{flex-direction:column}.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_scrollToBottom__nzxdZ{font-size:16px;height:40px;top:calc(100% - 140px);width:40px}.Chat-module_ratingModal__XVKYm{align-items:flex-end;padding:0}.Chat-module_ratingModal__XVKYm[data-chat-modal=image-attachment]{align-items:center;padding:12px}.Chat-module_ratingModal__XVKYm[data-chat-modal=citation-browser]{align-items:center;padding:8px}.Chat-module_ratingModalContent__CCdq7{border-radius:20px 20px 0 0;margin:0;max-height:70vh;padding:24px 16px 20px;width:100%}.Chat-module_ratingModalContent__CCdq7.Chat-module_imageAttachmentModal__Ef6L5{border-radius:16px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:0;width:100%}.Chat-module_ratingModalContent__CCdq7.Chat-module_citationBrowserModal__jYU4c{border-radius:14px;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:0;width:100%}.Chat-module_citationBrowserModal__jYU4c .Chat-module_liveBrowserPreviewStreamArea__aIhQx{height:58vh;min-height:min(320px,calc(100dvh - 112px))}.Chat-module_imageAttachmentModalHeader__onK3Z{padding:16px 56px 12px 16px}.Chat-module_imageAttachmentModalPreview__gXDer{max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);padding:12px}.Chat-module_imageAttachmentModalImage__t61oG{max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px)}}@media (prefers-reduced-motion:reduce){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ,.Chat-module_feedbackStatus__-df7l,.Chat-module_ratingModalContent__CCdq7,.Chat-module_ratingModal__XVKYm,.Chat-module_scrollToBottom__nzxdZ{animation:none}.Chat-module_chatButton__d9VgA,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{transition:none}}@media (prefers-contrast:high){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border:2px solid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{border-width:3px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{border:2px solid}}.Chat-module_emailContainer__TBxXZ{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.Chat-module_emailModalHeader__Z4-CJ{background:#f8fafc}.Chat-module_emailHeaderText__1dR6R{display:flex;flex-direction:column;gap:2px}.Chat-module_emailHeaderLabel__7iAEH{color:#64748b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.Chat-module_emailMetadata__8XXGf{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);margin-bottom:16px;padding:18px 20px}.Chat-module_emailField__pcb03{display:flex;font-size:14px;gap:8px;line-height:1.5;margin-bottom:8px}.Chat-module_emailField__pcb03:last-child{margin-bottom:0}.Chat-module_emailField__pcb03 strong{color:#64748b;font-weight:600;min-width:60px}.Chat-module_emailRecipients__YVVys{color:#0f172a;word-break:break-word}.Chat-module_emailBody__OBt-w{text-align:left}.Chat-module_emailBody__OBt-w strong{color:#64748b;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.Chat-module_emailBodyContent__-vFo2{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);line-height:1.6;max-height:400px;overflow-y:auto;padding:22px}.Chat-module_emailBodyContent__-vFo2 p{margin:0 0 12px}.Chat-module_emailBodyContent__-vFo2 p:last-child{margin-bottom:0}.Chat-module_browserRunModalHeader__0AyeK{background:linear-gradient(135deg,#f8fafc,#ecfeff 40%,#ecfccb);border-bottom:1px solid #dbeafe}.Chat-module_browserRunHeaderText__JUbNv{display:flex;flex-direction:column;gap:2px}.Chat-module_browserRunHeaderStatus__uu3Fi{color:#475467;font-size:13px;line-height:1.5;margin:0}.Chat-module_browserRunHeaderLabel__uKYCb{color:#475569;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.Chat-module_browserRunMeta__lJkQc{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);margin-bottom:18px;padding:16px 18px}.Chat-module_browserRunWarning__ojdEP{background:#fffbeb;border:1px solid #fbbf24;border-radius:12px;color:#92400e;margin-bottom:14px;padding:12px 14px}.Chat-module_browserRunError__aELQo{background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;color:#7f1d1d;margin-bottom:14px;padding:12px 14px}.Chat-module_browserRunErrorSummary__ygz-g{font-size:14px;line-height:1.5;margin:0}.Chat-module_browserRunErrorSteps__S96nl{display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding-left:18px}.Chat-module_browserRunDebugDetails__SZ3VT{margin-top:10px}.Chat-module_browserRunDebugDetails__SZ3VT summary{color:#7f1d1d;cursor:pointer;font-weight:600}.Chat-module_browserRunDebugDetails__SZ3VT pre{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;font-size:12px;line-height:1.45;margin:10px 0 0;max-height:220px;overflow:auto;padding:10px}.Chat-module_browserRunFallbackContent__NYCkp{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:14px 16px}.Chat-module_browserRunStatusBanner__ljIE9{background:rgba(248,250,252,.95);border:1px solid rgba(148,163,184,.28);border-radius:14px;color:#334155;font-size:13px;line-height:1.5;margin-bottom:18px;padding:12px 14px}.Chat-module_browserRunMediaGrid__KDz3I{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.Chat-module_browserRunMediaCard__focNP{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 4px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:10px;padding:12px}.Chat-module_browserRunMediaCardHeader__sOfLw{display:flex;flex-direction:column;gap:4px}.Chat-module_browserRunMediaTitle__a6Ctw{color:#0f172a;font-size:14px;font-weight:600;margin:0}.Chat-module_browserRunMediaCaption__LG8E6{color:#475569;font-size:12px;line-height:1.5;margin:0}.Chat-module_browserRunMediaImage__UI4pd,.Chat-module_browserRunMediaVideo__z2RgF{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;max-height:260px;object-fit:contain;width:100%}.Chat-module_browserRunActionLog__YZ0CQ{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:18px;padding:14px 16px}.Chat-module_browserRunActionLogTitle__XaEIW{color:#64748b;font-size:13px;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.Chat-module_browserRunActionList__SOgfd{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.Chat-module_browserRunActionItem__1q668{align-items:center;background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:12px;color:#0f172a;display:flex;font-size:14px;gap:10px;line-height:1.5;padding:10px 12px}.Chat-module_browserRunActionPending__unJJt{opacity:.82}.Chat-module_browserRunActionRunning__NdlRL{background:rgba(14,165,233,.08);border-color:rgba(14,165,233,.35)}.Chat-module_browserRunActionComplete__PU36H{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.22)}.Chat-module_browserRunActionError__y-cm0{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.24)}.Chat-module_browserRunActionState__pkfKg{background:#cbd5e1;border-radius:999px;flex-shrink:0;height:10px;width:10px}.Chat-module_browserRunActionStateRunning__L1IbZ{background:#0ea5e9;box-shadow:0 0 0 4px rgba(14,165,233,.14)}.Chat-module_browserRunActionStateComplete__CpVEc{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12)}.Chat-module_browserRunActionStateError__lU-t4{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12)}.Chat-module_browserRunActionMeta__df32n{color:#64748b;font-size:12px;font-weight:600;margin-left:auto}@media print{.Chat-module_Chat__j2eE5{background:transparent!important;box-shadow:none!important;color:#f8fafc!important;min-height:auto!important;padding:0!important}.Chat-module_chatMainFlow__--8FE{gap:0!important;min-height:auto!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{background:linear-gradient(150deg,rgba(2,6,23,.98),rgba(15,23,42,.92))!important;border:1px solid rgba(56,189,248,.32)!important;border-radius:40px!important;box-shadow:inset 0 40px 80px rgba(0,0,0,.35)!important;padding:48px 40px 64px!important;page-break-inside:avoid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{break-inside:avoid;page-break-inside:avoid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{background:linear-gradient(145deg,var(--agent-chat-brand-color-light,#7dd3fc),var(--agent-chat-brand-color,#0ea5e9))!important;border:1px solid hsla(0,0%,100%,.35)!important;border-radius:32px!important;box-shadow:inset 0 18px 40px rgba(2,6,23,.6)!important;color:#f8fafc!important;padding:18px 22px!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{background:#f8fbff!important;border:1px solid rgba(148,163,184,.45)!important;box-shadow:inset 0 10px 30px rgba(15,23,42,.3)!important;color:#0f172a!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{border:1px solid hsla(0,0%,100%,.35)!important}.Chat-module_messageMeta__eqCRu,.Chat-module_participantLabel__0Oo-3{color:rgba(226,232,240,.8)!important}.Chat-module_actions__gTZ5T,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ button,.Chat-module_copyButtonContainer__Rij0U,.Chat-module_feedbackStatus__-df7l,.Chat-module_scrollToBottom__nzxdZ,.Chat-module_voiceCallIndicatorBar__N2sWN,.Chat-module_voiceCallIndicator__tsaaG{display:none!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N>:last-child{padding-bottom:100px!important}}.Chat-module_emailStatus__T4UuL{color:#0f172a;font-weight:600;text-transform:capitalize}.Chat-module_imagePrompt__v7-Ho{backdrop-filter:blur(12px);background:hsla(0,0%,100%,.25);border:1px solid hsla(0,0%,49%,.35);border-radius:18px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.25);display:flex;flex-direction:column;gap:8px;margin-bottom:16px;margin-top:16px;padding:12px}.Chat-module_imagePromptPreview__ve5dB{background:linear-gradient(180deg,rgba(15,118,255,.05),hsla(0,0%,100%,.4));border:1px dashed hsla(0,0%,49%,.3);border-radius:14px;min-height:160px;overflow:hidden;position:relative}.Chat-module_imagePromptImage__KjE3H{display:block;height:100%;object-fit:cover;width:100%}.Chat-module_imagePromptPlaceholder__b8cW6{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.Chat-module_imagePromptSpinner__nat8r{animation:Chat-module_imagePromptSpinner__nat8r .9s linear infinite;border:3px solid hsla(0,0%,100%,.35);border-radius:50%;border-top-color:#2563eb;height:36px;width:36px}@keyframes Chat-module_imagePromptSpinner__nat8r{to{transform:rotate(1turn)}}.Chat-module_imagePromptMeta__YwltP{display:flex;flex-direction:column;gap:4px}.Chat-module_imagePromptPrompt__N1E--{color:#111;font-size:13px;font-weight:500;overflow-wrap:anywhere}.Chat-module_imagePromptStatus__0ROQF{color:#6b7280;font-size:11px}.Chat-module_imagePromptError__x1952{align-items:center;background:rgba(220,38,38,.08);color:#dc2626;display:flex;font-size:12px;inset:0;justify-content:center;padding:12px;position:absolute;text-align:center}.Chat-module_richFeaturePlaceholder__mXS7-{align-items:center;background:rgba(56,189,248,.12);border:1px solid rgba(59,130,246,.25);border-radius:18px;display:flex;gap:12px;margin-bottom:16px;margin-top:16px;padding:12px 14px}.Chat-module_richFeaturePlaceholderSpinner__ingFq{animation:Chat-module_richFeatureSpinner__eOql6 .8s linear infinite;border:3px solid rgba(59,130,246,.3);border-radius:50%;border-top-color:#22d3ee;height:32px;width:32px}.Chat-module_richFeaturePlaceholderCopy__sEgxN{display:flex;flex-direction:column}.Chat-module_richFeaturePlaceholderTitle__lF7rJ{color:#0f172a;font-size:13px;font-weight:600}.Chat-module_richFeaturePlaceholderStatus__UJg09{color:#475569;font-size:11px}.Chat-module_progressPanel__9M8h9{background:linear-gradient(180deg,rgba(239,246,255,.94),rgba(219,234,254,.86));border:1px solid rgba(59,130,246,.24);border-radius:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px;margin-top:10px;padding:12px 13px}.Chat-module_progressPanelTitle__rBdoY{color:#0f172a;font-size:12px;font-weight:700;line-height:1.3}.Chat-module_progressPanelTitle__rBdoY p{margin:0}.Chat-module_progressPanelSection__F3xUF{display:flex;flex-direction:column;gap:4px}.Chat-module_progressPanelSectionLabel__aTPgr{color:#1d4ed8;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.Chat-module_progressPanelSectionBody__Z7zX0{color:#0f172a;font-size:12px;line-height:1.35}.Chat-module_progressPanelSectionBody__Z7zX0 p{margin:0}.Chat-module_progressPanelList__PHFeP{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.Chat-module_progressPanelListItem__7v9jN{align-items:flex-start;display:grid;gap:8px;grid-template-columns:auto auto 1fr}.Chat-module_progressPanelListBullet__Tzvi7{color:#2563eb;font-size:14px;line-height:1.2;margin-top:2px}.Chat-module_progressPanelItemSpinner__oJ6Az{animation:Chat-module_progressPanelSpinner__pzxP2 .75s linear infinite;border:2px solid rgba(37,99,235,.26);border-radius:9999px;border-top-color:#2563eb;height:11px;margin-top:3px;width:11px}.Chat-module_progressPanelItemCompleted__7bJhG{align-items:center;background:rgba(34,197,94,.16);border-radius:9999px;color:#15803d;display:inline-flex;font-size:9px;font-weight:700;height:11px;justify-content:center;line-height:1;margin-top:2px;width:11px}.Chat-module_progressPanelItemText__tZPIs{color:#0f172a;font-size:12px;line-height:1.35}.Chat-module_progressPanelItemText__tZPIs p{margin:0}@keyframes Chat-module_progressPanelSpinner__pzxP2{to{transform:rotate(1turn)}}@keyframes Chat-module_richFeatureSpinner__eOql6{to{transform:rotate(1turn)}}\n/*# sourceMappingURL=data:application/json;base64,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Q0FNbkIsOEJBQW1DLENBRG5DLG9CQUFxQixDQUVyQixhQUFjLENBUmQsbUJBQW9CLENBU3BCLGFBQWMsQ0FFZCxlQUFnQixDQVBoQixXQUFZLENBRlosc0JBQXVCLENBUXZCLGFBQWMsQ0FMZCxjQUFlLENBRmYsVUFTSixDQUVBLDBDQUVJLGFBQWMsQ0FEZCxjQUFlLENBRWYsZ0JBQ0osQ0FFQSw0Q0FDSSxRQUNKLENBRUEsbURBQ0ksR0FDSSx1QkFDSixDQUNKLENBRUEsaURBQ0ksR0FDSSx1QkFDSixDQUNKIiwiZmlsZSI6IkNoYXQubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnT3Blbk1vamlCbGFjayc7XG4gICAgc3JjOiB1cmwoJy9mb250cy9PcGVuTW9qaS1ibGFjay1nbHlmLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJ2h0dHBzOi8vczYucHRiay5pby9mb250cy9PcGVuTW9qaS1ibGFjay1nbHlmLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpOyAvKiA8LSBUT0RPOiBb8J+QseKAjfCfmoBdIER5bmFtaWNhbGx5IGxvYWQgZnJvbSAvc2VydmVycy50cyAqL1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB1bmljb2RlLXJhbmdlOiBVKzIzLCBVKzJBLCBVKzJELCBVKzMwLTM5LCBVK0E5LCBVK0FFLCBVKzIwMEQsIFUrMjAzQywgVSsyMDQ5LCBVKzIwRTMsIFUrMjExNywgVSsyMTIwLCBVKzIxMjIsIFUrMjEzOSxcbiAgICAgICAgVSsyMTk0LTIxOTksIFUrMjFBOSwgVSsyMUFBLCBVKzIyOUMsIFUrMjMxQSwgVSsyMzFCLCBVKzIzMjgsIFUrMjNDRiwgVSsyM0U5LTIzRjMsIFUrMjNGOC0yM0ZFLCBVKzI0QzIsIFUrMjVBMSxcbiAgICAgICAgVSsyNUFBLTI1QUUsIFUrMjVCNiwgVSsyNUMwLCBVKzI1QzksIFUrMjVEMCwgVSsyNUQxLCBVKzI1RTctMjVFQSwgVSsyNUVELCBVKzI1RUUsIFUrMjVGQi0yNUZFLCBVKzI2MDAtMjYwNSxcbiAgICAgICAgVSsyNjBFLCBVKzI2MTEsIFUrMjYxNCwgVSsyNjE1LCBVKzI2MTgsIFUrMjYxRCwgVSsyNjIwLCBVKzI2MjIsIFUrMjYyMywgVSsyNjI2LCBVKzI2MkEsIFUrMjYyRSwgVSsyNjJGLFxuICAgICAgICBVKzI2MzgtMjYzQSwgVSsyNjQwLCBVKzI2NDIsIFUrMjY0OC0yNjUzLCBVKzI2NUYsIFUrMjY2MCwgVSsyNjYzLCBVKzI2NjUsIFUrMjY2NiwgVSsyNjY4LCBVKzI2N0IsIFUrMjY3RSwgVSsyNjdGLFxuICAgICAgICBVKzI2OTEtMjY5NywgVSsyNjk5LCBVKzI2OUIsIFUrMjY5QywgVSsyNkEwLCBVKzI2QTEsIFUrMjZBNywgVSsyNkFBLCBVKzI2QUIsIFUrMjZCMCwgVSsyNkIxLCBVKzI2QkQsIFUrMjZCRSxcbiAgICAgICAgVSsyNkM0LCBVKzI2QzUsIFUrMjZDOCwgVSsyNkNFLCBVKzI2Q0YsIFUrMjZEMSwgVSsyNkQzLCBVKzI2RDQsIFUrMjZFOSwgVSsyNkVBLCBVKzI2RjAtMjZGNSwgVSsyNkY3LTI2RkEsIFUrMjZGRCxcbiAgICAgICAgVSsyNzAyLCBVKzI3MDUsIFUrMjcwOC0yNzBELCBVKzI3MEYsIFUrMjcxMiwgVSsyNzE0LCBVKzI3MTYsIFUrMjcxRCwgVSsyNzIxLCBVKzI3MjgsIFUrMjczMywgVSsyNzM0LCBVKzI3NDQsXG4gICAgICAgIFUrMjc0NywgVSsyNzRDLCBVKzI3NEUsIFUrMjc1My0yNzU1LCBVKzI3NTcsIFUrMjc2MywgVSsyNzY0LCBVKzI3OTUtMjc5NywgVSsyN0ExLCBVKzI3QjAsIFUrMjdCRiwgVSsyOTM0LCBVKzI5MzUsXG4gICAgICAgIFUrMkIwNS0yQjA3LCBVKzJCMEMsIFUrMkIwRCwgVSsyQjFCLCBVKzJCMUMsIFUrMkIxRi0yQjI0LCBVKzJCMkUsIFUrMkIyRiwgVSsyQjUwLCBVKzJCNTUsIFUrMkI1OCwgVSsyQjhGLFxuICAgICAgICBVKzJCQkEtMkJCQywgVSsyQkMzLCBVKzJCQzQsIFUrMkJFQSwgVSsyQkVCLCBVKzMwMzAsIFUrMzAzRCwgVSszMjk3LCBVKzMyOTksIFUrRTAwMC1FMDA5LCBVK0UwMTAsIFUrRTAxMSxcbiAgICAgICAgVStFMDQwLUUwNkQsIFUrRTA4MC1FMEI0LCBVK0UwQzAtRTBDQywgVStFMEZGLUUxMEQsIFUrRTE0MC1FMTRBLCBVK0UxNTAtRTE1NywgVStFMTgxLUUxODksIFUrRTFDMC1FMUM0LFxuICAgICAgICBVK0UxQzYtRTFEOSwgVStFMjAwLUUyMTYsIFUrRTI0MC1FMjY5LCBVK0UyODAtRTI4MywgVStFMkMwLUUyQzQsIFUrRTJDNi1FMkRBLCBVK0UzMDAtRTMwMywgVStFMzA1LUUzMEYsXG4gICAgICAgIFUrRTMxMi1FMzE2LCBVK0UzMTgtRTMyMiwgVStFMzI0LUUzMjksIFUrRTMyQiwgVStFMzQwLUUzNDgsIFUrRTM4MCwgVStFMzgxLCBVK0YwMDAsIFUrRjc3QSwgVStGOEZGLCBVK0ZFMEYsXG4gICAgICAgIFUrMUYwMDQsIFUrMUYwQ0YsIFUrMUYxMEQtMUYxMEYsIFUrMUYxMkYsIFUrMUYxNkQtMUYxNzEsIFUrMUYxN0UsIFUrMUYxN0YsIFUrMUYxOEUsIFUrMUYxOTEtMUYxOUEsIFUrMUYxRTYtMUYxRkYsXG4gICAgICAgIFUrMUYyMDEsIFUrMUYyMDIsIFUrMUYyMUEsIFUrMUYyMkYsIFUrMUYyMzItMUYyM0EsIFUrMUYyNTAsIFUrMUYyNTEsIFUrMUYyNjAtMUYyNjUsIFUrMUYzMDAtMUYzMjEsIFUrMUYzMjQtMUYzOTMsXG4gICAgICAgIFUrMUYzOTYsIFUrMUYzOTcsIFUrMUYzOTktMUYzOUIsIFUrMUYzOUUtMUYzRjAsIFUrMUYzRjMtMUYzRjUsIFUrMUYzRjctMUY0RkQsIFUrMUY0RkYtMUY1M0QsIFUrMUY1NDktMUY1NEUsXG4gICAgICAgIFUrMUY1NTAtMUY1NjcsIFUrMUY1NkYsIFUrMUY1NzAsIFUrMUY1NzMtMUY1N0EsIFUrMUY1ODcsIFUrMUY1OEEtMUY1OEQsIFUrMUY1OTAsIFUrMUY1OTUsIFUrMUY1OTYsIFUrMUY1QTQsXG4gICAgICAgIFUrMUY1QTUsIFUrMUY1QTgsIFUrMUY1QjEsIFUrMUY1QjIsIFUrMUY1QkMsIFUrMUY1QzItMUY1QzQsIFUrMUY1RDEtMUY1RDMsIFUrMUY1REMtMUY1REUsIFUrMUY1RTEsIFUrMUY1RTMsXG4gICAgICAgIFUrMUY1RTgsIFUrMUY1RUYsIFUrMUY1RjMsIFUrMUY1RkEtMUY2NEYsIFUrMUY2ODAtMUY2QzUsIFUrMUY2Q0ItMUY2RDIsIFUrMUY2RDUtMUY2RDcsIFUrMUY2REMtMUY2RTUsIFUrMUY2RTksXG4gICAgICAgIFUrMUY2RUIsIFUrMUY2RUMsIFUrMUY2RjAsIFUrMUY2RjMtMUY2RkMsIFUrMUY3RTAtMUY3RUIsIFUrMUY3RjAsIFUrMUY5MEMtMUY5M0EsIFUrMUY5M0MtMUY5NDUsIFUrMUY5NDctMUY5RkYsXG4gICAgICAgIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODgsIFUrMUZBOTAtMUZBQkQsIFUrMUZBQkYtMUZBQzUsIFUrMUZBQ0UtMUZBREIsIFUrMUZBRTAtMUZBRTgsIFUrMUZBRjAtMUZBRjgsXG4gICAgICAgIFUrMUZCQzUtMUZCQzksIFUrRTAwNjEtRTAwNjcsIFUrRTAwNjksIFUrRTAwNkMtRTAwNzksIFUrRTAwN0Y7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnT3Blbk1vamlDb2xvcic7XG4gICAgc3JjOiB1cmwoJy9mb250cy9PcGVuTW9qaS1jb2xvci1jYmR0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJ2h0dHBzOi8vczYucHRiay5pby9mb250cy9PcGVuTW9qaS1jb2xvci1jYmR0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB1bmljb2RlLXJhbmdlOiBVKzIzLCBVKzJBLCBVKzJELCBVKzMwLTM5LCBVK0E5LCBVK0FFLCBVKzIwMEQsIFUrMjAzQywgVSsyMDQ5LCBVKzIwRTMsIFUrMjExNywgVSsyMTIwLCBVKzIxMjIsIFUrMjEzOSxcbiAgICAgICAgVSsyMTk0LTIxOTksIFUrMjFBOSwgVSsyMUFBLCBVKzIyOUMsIFUrMjMxQSwgVSsyMzFCLCBVKzIzMjgsIFUrMjNDRiwgVSsyM0U5LTIzRjMsIFUrMjNGOC0yM0ZFLCBVKzI0QzIsIFUrMjVBMSxcbiAgICAgICAgVSsyNUFBLTI1QUUsIFUrMjVCNiwgVSsyNUMwLCBVKzI1QzksIFUrMjVEMCwgVSsyNUQxLCBVKzI1RTctMjVFQSwgVSsyNUVELCBVKzI1RUUsIFUrMjVGQi0yNUZFLCBVKzI2MDAtMjYwNSxcbiAgICAgICAgVSsyNjBFLCBVKzI2MTEsIFUrMjYxNCwgVSsyNjE1LCBVKzI2MTgsIFUrMjYxRCwgVSsyNjIwLCBVKzI2MjIsIFUrMjYyMywgVSsyNjI2LCBVKzI2MkEsIFUrMjYyRSwgVSsyNjJGLFxuICAgICAgICBVKzI2MzgtMjYzQSwgVSsyNjQwLCBVKzI2NDIsIFUrMjY0OC0yNjUzLCBVKzI2NUYsIFUrMjY2MCwgVSsyNjYzLCBVKzI2NjUsIFUrMjY2NiwgVSsyNjY4LCBVKzI2N0IsIFUrMjY3RSwgVSsyNjdGLFxuICAgICAgICBVKzI2OTEtMjY5NywgVSsyNjk5LCBVKzI2OUIsIFUrMjY5QywgVSsyNkEwLCBVKzI2QTEsIFUrMjZBNywgVSsyNkFBLCBVKzI2QUIsIFUrMjZCMCwgVSsyNkIxLCBVKzI2QkQsIFUrMjZCRSxcbiAgICAgICAgVSsyNkM0LCBVKzI2QzUsIFUrMjZDOCwgVSsyNkNFLCBVKzI2Q0YsIFUrMjZEMSwgVSsyNkQzLCBVKzI2RDQsIFUrMjZFOSwgVSsyNkVBLCBVKzI2RjAtMjZGNSwgVSsyNkY3LTI2RkEsIFUrMjZGRCxcbiAgICAgICAgVSsyNzAyLCBVKzI3MDUsIFUrMjcwOC0yNzBELCBVKzI3MEYsIFUrMjcxMiwgVSsyNzE0LCBVKzI3MTYsIFUrMjcxRCwgVSsyNzIxLCBVKzI3MjgsIFUrMjczMywgVSsyNzM0LCBVKzI3NDQsXG4gICAgICAgIFUrMjc0NywgVSsyNzRDLCBVKzI3NEUsIFUrMjc1My0yNzU1LCBVKzI3NTcsIFUrMjc2MywgVSsyNzY0LCBVKzI3OTUtMjc5NywgVSsyN0ExLCBVKzI3QjAsIFUrMjdCRiwgVSsyOTM0LCBVKzI5MzUsXG4gICAgICAgIFUrMkIwNS0yQjA3LCBVKzJCMEMsIFUrMkIwRCwgVSsyQjFCLCBVKzJCMUMsIFUrMkIxRi0yQjI0LCBVKzJCMkUsIFUrMkIyRiwgVSsyQjUwLCBVKzJCNTUsIFUrMkI1OCwgVSsyQjhGLFxuICAgICAgICBVKzJCQkEtMkJCQywgVSsyQkMzLCBVKzJCQzQsIFUrMkJFQSwgVSsyQkVCLCBVKzMwMzAsIFUrMzAzRCwgVSszMjk3LCBVKzMyOTksIFUrRTAwMC1FMDA5LCBVK0UwMTAsIFUrRTAxMSxcbiAgICAgICAgVStFMDQwLUUwNkQsIFUrRTA4MC1FMEI0LCBVK0UwQzAtRTBDQywgVStFMEZGLUUxMEQsIFUrRTE0MC1FMTRBLCBVK0UxNTAtRTE1NywgVStFMTgxLUUxODksIFUrRTFDMC1FMUM0LFxuICAgICAgICBVK0UxQzYtRTFEOSwgVStFMjAwLUUyMTYsIFUrRTI0MC1FMjY5LCBVK0UyODAtRTI4MywgVStFMkMwLUUyQzQsIFUrRTJDNi1FMkRBLCBVK0UzMDAtRTMwMywgVStFMzA1LUUzMEYsXG4gICAgICAgIFUrRTMxMi1FMzE2LCBVK0UzMTgtRTMyMiwgVStFMzI0LUUzMjksIFUrRTMyQiwgVStFMzQwLUUzNDgsIFUrRTM4MCwgVStFMzgxLCBVK0YwMDAsIFUrRjc3QSwgVStGOEZGLCBVK0ZFMEYsXG4gICAgICAgIFUrMUYwMDQsIFUrMUYwQ0YsIFUrMUYxMEQtMUYxMEYsIFUrMUYxMkYsIFUrMUYxNkQtMUYxNzEsIFUrMUYxN0UsIFUrMUYxN0YsIFUrMUYxOEUsIFUrMUYxOTEtMUYxOUEsIFUrMUYxRTYtMUYxRkYsXG4gICAgICAgIFUrMUYyMDEsIFUrMUYyMDIsIFUrMUYyMUEsIFUrMUYyMkYsIFUrMUYyMzItMUYyM0EsIFUrMUYyNTAsIFUrMUYyNTEsIFUrMUYyNjAtMUYyNjUsIFUrMUYzMDAtMUYzMjEsIFUrMUYzMjQtMUYzOTMsXG4gICAgICAgIFUrMUYzOTYsIFUrMUYzOTcsIFUrMUYzOTktMUYzOUIsIFUrMUYzOUUtMUYzRjAsIFUrMUYzRjMtMUYzRjUsIFUrMUYzRjctMUY0RkQsIFUrMUY0RkYtMUY1M0QsIFUrMUY1NDktMUY1NEUsXG4gICAgICAgIFUrMUY1NTAtMUY1NjcsIFUrMUY1NkYsIFUrMUY1NzAsIFUrMUY1NzMtMUY1N0EsIFUrMUY1ODcsIFUrMUY1OEEtMUY1OEQsIFUrMUY1OTAsIFUrMUY1OTUsIFUrMUY1OTYsIFUrMUY1QTQsXG4gICAgICAgIFUrMUY1QTUsIFUrMUY1QTgsIFUrMUY1QjEsIFUrMUY1QjIsIFUrMUY1QkMsIFUrMUY1QzItMUY1QzQsIFUrMUY1RDEtMUY1RDMsIFUrMUY1REMtMUY1REUsIFUrMUY1RTEsIFUrMUY1RTMsXG4gICAgICAgIFUrMUY1RTgsIFUrMUY1RUYsIFUrMUY1RjMsIFUrMUY1RkEtMUY2NEYsIFUrMUY2ODAtMUY2QzUsIFUrMUY2Q0ItMUY2RDIsIFUrMUY2RDUtMUY2RDcsIFUrMUY2REMtMUY2RTUsIFUrMUY2RTksXG4gICAgICAgIFUrMUY2RUIsIFUrMUY2RUMsIFUrMUY2RjAsIFUrMUY2RjMtMUY2RkMsIFUrMUY3RTAtMUY3RUIsIFUrMUY3RjAsIFUrMUY5MEMtMUY5M0EsIFUrMUY5M0MtMUY5NDUsIFUrMUY5NDctMUY5RkYsXG4gICAgICAgIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODgsIFUrMUZBOTAtMUZBQkQsIFUrMUZBQkYtMUZBQzUsIFUrMUZBQ0UtMUZBREIsIFUrMUZBRTAtMUZBRTgsIFUrMUZBRjAtMUZBRjgsXG4gICAgICAgIFUrMUZCQzUtMUZCQzksIFUrRTAwNjEtRTAwNjcsIFUrRTAwNjksIFUrRTAwNkMtRTAwNzksIFUrRTAwN0Y7XG59XG5cbi5jb3BpZWRUb0NsaXBib2FyZE1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDMycHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiAjMjIyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEwcHggMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gICAgb3BhY2l0eTogMC45NztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiA5OTk5O1xufVxuXG4uQ2hhdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBmb250LWZhbWlseTogdmFyKFxuICAgICAgICAgICAgLS1jaGF0LWZvbnQtZmFtaWx5LFxuICAgICAgICAgICAgdmFyKC0tZm9udC1wb3BwaW5zLCAnUG9wcGlucycsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZilcbiAgICAgICAgKSxcbiAgICAgICAgJ09wZW5Nb2ppQ29sb3InLCAnT3Blbk1vamlCbGFjayc7XG5cbiAgICAtLWNoYXQtbWVzc2FnZS1taW4td2lkdGg6IDE3MHB4O1xuICAgIC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXA6IDE0cHg7XG4gICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemU6IDQycHg7XG4gICAgLS1jaGF0LW1lc3NhZ2UtbWF4LXdpZHRoOiBtaW4oXG4gICAgICAgIDcyJSxcbiAgICAgICAgNjgwcHgsXG4gICAgICAgIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpXG4gICAgKTtcbiAgICAtLWNoYXQtYnViYmxlLXJhZGl1czogMjRweDtcbiAgICAtLWNoYXQtYnViYmxlLXNoYWRvdzogMCAxMnB4IDM0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjE2KTtcbiAgICAtLWNoYXQtYnViYmxlLXNoYWRvdy1ob3ZlcjogMCAxOHB4IDQycHggcmdiYSgxNSwgMjMsIDQyLCAwLjIpO1xuICAgIC0tY2hhdC1idWJibGUtYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzQpO1xuICAgIC0tY2hhdC1idWJibGUtZm9udC1zaXplOiAxNXB4O1xuICAgIC0tY2hhdC1idWJibGUtbGluZS1oZWlnaHQ6IDEuNjI7XG4gICAgLS1jaGF0LWlucHV0LXZpc2libGUtbGluZXM6IDM7XG4gICAgLS1jaGF0LWlucHV0LWZvbnQtc2l6ZTogMTVweDtcbiAgICAtLWNoYXQtaW5wdXQtbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy15OiAxMHB4O1xuICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXg6IDEycHg7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplOiA0MHB4O1xuICAgIC0tY2hhdC1pbnB1dC10ZXh0YXJlYS1oZWlnaHQ6IGNhbGMoXG4gICAgICAgIHZhcigtLWNoYXQtaW5wdXQtdmlzaWJsZS1saW5lcykgKiB2YXIoLS1jaGF0LWlucHV0LWZvbnQtc2l6ZSkgKiB2YXIoLS1jaGF0LWlucHV0LWxpbmUtaGVpZ2h0KSArXG4gICAgICAgICAgICAoMiAqIHZhcigtLWNoYXQtaW5wdXQtcGFkZGluZy15KSlcbiAgICApO1xuICAgIC0tY2hhdC1tZXNzYWdlLW1ldGEtY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuODUpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWxpZmVjeWNsZS1iYWRnZS1iYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMTYpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWxpZmVjeWNsZS1iYWRnZS1jb2xvcjogIzQ3NTU2OTtcbiAgICAtLWNoYXQtcGFydGljaXBhbnQtbGFiZWwtY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuODIpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ2KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43Nik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1jb2xvcjogIzExMTExMTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1zaGFkb3c6IDAgNXB4IDE0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjIyKTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNwaW5uZXItYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1zcGlubmVyLWFjY2VudC1jb2xvcjogIzExMTExMTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC42NSk7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDEwMCwgMTE2LCAxMzksIDAuODIpO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItc2hhZG93OiAwIDJweCA4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEyKTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctYmFja2dyb3VuZDogcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjkpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC41KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctaG92ZXItYmFja2dyb3VuZDogcmdiYSgyNDEsIDI0NSwgMjQ5LCAwLjk0KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDEwMCwgMTE2LCAxMzksIDAuNjIpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1zaGFkb3c6IG5vbmU7XG4gICAgLS1jaGF0LWlucHV0LWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjE0KTtcbiAgICAtLWNoYXQtaW5wdXQtYmFja2Ryb3A6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICByZ2JhKDI0OCwgMjUwLCAyNTIsIDApIDAlLFxuICAgICAgICByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOSkgNDQlLFxuICAgICAgICByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTYpIDEwMCVcbiAgICApO1xuICAgIC0tY2hhdC1mdWxsLXBhZ2UtaW5wdXQtYmFja2Ryb3A6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpIDAlLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpIDYwJSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSAxMDAlXG4gICAgKTtcbiAgICAtLWNoYXQtaW5wdXQtZHJhZy1vdmVyLWJhY2tkcm9wOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgcmdiYSg1NiwgMTg5LCAyNDgsIDAuMDQpIDAlLFxuICAgICAgICByZ2JhKDE0LCAxNjUsIDIzMywgMC4xMykgMTAwJVxuICAgICk7XG4gICAgLS1jaGF0LWlucHV0LWNvbnRhaW5lci1iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE1MGRlZyxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KSAwJSxcbiAgICAgICAgcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjk0KSAxMDAlXG4gICAgKTtcbiAgICAtLWNoYXQtaW5wdXQtY29udGFpbmVyLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjMpO1xuICAgIC0tY2hhdC1pbnB1dC1jb250YWluZXItc2hhZG93OiAwIDE0cHggMzRweCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpLCBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAtLWNoYXQtaW5wdXQtdGV4dC1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICM4YjliYjE7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1jb2xvcjogIzY0NzQ4YjtcbiAgICAtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWJvcmRlci1jb2xvcjogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjIpO1xuICAgIC0tY2hhdC1maWxlLXByZXZpZXctaG92ZXItYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjE1KTtcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjMpO1xuICAgIC0tY2hhdC1maWxlLW5hbWUtY29sb3I6ICMwMDAwMDA7XG4gICAgLS1jaGF0LWZpbGUtc2l6ZS1jb2xvcjogIzZiNzI4MDtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXBhbmVsLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXBhbmVsLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM1KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXBhbmVsLWNvbG9yOiAjMGYxNzJhO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdGl0bGUtY29sb3I6ICM0NzU1Njk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10b2dnbGUtYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRvZ2dsZS1jb2xvcjogIzMzNDE1NTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRyYW5zY3JpcHQtYmFja2dyb3VuZDogcmdiYSgyMzksIDI0NiwgMjU1LCAwLjkpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdHJhbnNjcmlwdC1jb2xvcjogIzBjNGE2ZTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXNldHRpbmdzLWNvbG9yOiAjMzM0MTU1O1xuICAgIC0tY2hhdC1kaWN0YXRpb24tZmFsbGJhY2stY29sb3I6ICM0NzU1Njk7XG4gICAgLS1jaGF0LXJlcGx5LWNvbXBvc2VyLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7XG4gICAgLS1jaGF0LXJlcGx5LWNvbXBvc2VyLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjMpO1xuICAgIC0tY2hhdC1yZXBseS1jb21wb3Nlci1zaGFkb3c6IDAgMTBweCAyNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgLS1jaGF0LXJlcGx5LWRpc21pc3MtYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjE0KTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMjQpO1xuICAgIC0tY2hhdC1yZXBseS1kaXNtaXNzLWNvbG9yOiAjNDc1NTY5O1xuICAgIC0tY2hhdC1yZXBseS1kaXNtaXNzLWhvdmVyLWNvbG9yOiAjMGYxNzJhO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gICAgLS1jaGF0LXNwZWVjaC1zdGF0dXMtYm9yZGVyLWNvbG9yOiByZ2JhKDE1LCAyMywgNDIsIDAuMTUpO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWNvbG9yOiAjMGYxNzJhO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjE4KTtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1kb3QtYmFja2dyb3VuZDogIzY0NzQ4YjtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1iYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM1KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tbGFiZWwtY29sb3I6ICMzMzQxNTU7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLXRleHRhcmVhLWJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLXRleHRhcmVhLWNvbG9yOiAjMGYxNzJhO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG59XG5cbi5DaGF0W2RhdGEtY2hhdC10aGVtZT0nZGFyayddIHtcbiAgICBjb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtYnViYmxlLXNoYWRvdzogMCAxNHB4IDM0cHggcmdiYSgyLCA2LCAyMywgMC4zOCk7XG4gICAgLS1jaGF0LWJ1YmJsZS1zaGFkb3ctaG92ZXI6IDAgMThweCA0MnB4IHJnYmEoMiwgNiwgMjMsIDAuNDgpO1xuICAgIC0tY2hhdC1idWJibGUtYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtbWV0YS1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjg0KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1saWZlY3ljbGUtYmFkZ2UtYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjE0KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1saWZlY3ljbGUtYmFkZ2UtY29sb3I6ICNjYmQ1ZTE7XG4gICAgLS1jaGF0LXBhcnRpY2lwYW50LWxhYmVsLWNvbG9yOiByZ2JhKDIwMywgMjEzLCAyMjUsIDAuNzYpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjc4KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItYmFja2dyb3VuZDogcmdiYSgzMCwgNDEsIDU5LCAwLjk2KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjcyKTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDIsIDYsIDIzLCAwLjM0KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgyLCA2LCAyMywgMC40Mik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1zcGlubmVyLWJvcmRlci1jb2xvcjogcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjMpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtc3Bpbm5lci1hY2NlbnQtY29sb3I6ICNlMmU4ZjA7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1iYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuODYpO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjk1KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoMzAsIDQxLCA1OSwgMC45OCk7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC43Mik7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1ob3Zlci1zaGFkb3c6IDAgMTJweCAyNnB4IHJnYmEoMiwgNiwgMjMsIDAuMzIpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1iYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuODYpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1ib3JkZXItY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuOTUpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKDMwLCA0MSwgNTksIDAuOTgpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC43Mik7XG4gICAgLS1jaGF0LWFydGljbGUtcmF0aW5nLXNoYWRvdzogMCAxMnB4IDI2cHggcmdiYSgyLCA2LCAyMywgMC4zMik7XG4gICAgLS1jaGF0LWlucHV0LWJvcmRlci1jb2xvcjogcmdiYSg1MSwgNjUsIDg1LCAwLjc4KTtcbiAgICAtLWNoYXQtaW5wdXQtYmFja2Ryb3A6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICByZ2JhKDIsIDYsIDIzLCAwKSAwJSxcbiAgICAgICAgcmdiYSgyLCA2LCAyMywgMC44MikgNDglLFxuICAgICAgICByZ2JhKDIsIDYsIDIzLCAwLjk2KSAxMDAlXG4gICAgKTtcbiAgICAtLWNoYXQtZnVsbC1wYWdlLWlucHV0LWJhY2tkcm9wOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgcmdiYSgyLCA2LCAyMywgMCkgMCUsXG4gICAgICAgIHJnYmEoMiwgNiwgMjMsIDAuODgpIDU4JSxcbiAgICAgICAgcmdiYSgyLCA2LCAyMywgMC45OCkgMTAwJVxuICAgICk7XG4gICAgLS1jaGF0LWlucHV0LWRyYWctb3Zlci1iYWNrZHJvcDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxNCwgMTY1LCAyMzMsIDAuMDgpIDAlLCByZ2JhKDgsIDQ3LCA3MywgMC41KSAxMDAlKTtcbiAgICAtLWNoYXQtaW5wdXQtY29udGFpbmVyLWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNTBkZWcsIHJnYmEoMTUsIDIzLCA0MiwgMC45NikgMCUsIHJnYmEoMTUsIDIzLCA0MiwgMC45KSAxMDAlKTtcbiAgICAtLWNoYXQtaW5wdXQtY29udGFpbmVyLWJvcmRlci1jb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC44OCk7XG4gICAgLS1jaGF0LWlucHV0LWNvbnRhaW5lci1zaGFkb3c6IDAgMjBweCA0NHB4IHJnYmEoMiwgNiwgMjMsIDAuNDIpLCBpbnNldCAwIDFweCAwIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xKTtcbiAgICAtLWNoYXQtaW5wdXQtdGV4dC1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICM5NGEzYjg7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1jb2xvcjogI2NiZDVlMTtcbiAgICAtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoNTEsIDY1LCA4NSwgMC43OCk7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1jb2xvcjogI2Y4ZmFmYztcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC43OCk7XG4gICAgLS1jaGF0LWZpbGUtcHJldmlldy1ib3JkZXItY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuNzIpO1xuICAgIC0tY2hhdC1maWxlLXByZXZpZXctaG92ZXItYmFja2dyb3VuZDogcmdiYSgzMCwgNDEsIDU5LCAwLjg2KTtcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQyKTtcbiAgICAtLWNoYXQtZmlsZS1uYW1lLWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1maWxlLXNpemUtY29sb3I6ICM5NGEzYjg7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1iYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuOTQpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjgpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtY29sb3I6ICNlMmU4ZjA7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10aXRsZS1jb2xvcjogI2NiZDVlMTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRvZ2dsZS1iYWNrZ3JvdW5kOiByZ2JhKDMwLCA0MSwgNTksIDAuOTIpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdG9nZ2xlLWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdHJhbnNjcmlwdC1iYWNrZ3JvdW5kOiByZ2JhKDgsIDQ3LCA3MywgMC42NCk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10cmFuc2NyaXB0LWNvbG9yOiAjYmFlNmZkO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tc2V0dGluZ3MtY29sb3I6ICNjYmQ1ZTE7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1mYWxsYmFjay1jb2xvcjogIzk0YTNiODtcbiAgICAtLWNoYXQtcmVwbHktY29tcG9zZXItYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjk0KTtcbiAgICAtLWNoYXQtcmVwbHktY29tcG9zZXItYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjgpO1xuICAgIC0tY2hhdC1yZXBseS1jb21wb3Nlci1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMiwgNiwgMjMsIDAuMzIpO1xuICAgIC0tY2hhdC1yZXBseS1kaXNtaXNzLWJhY2tncm91bmQ6IHJnYmEoNTEsIDY1LCA4NSwgMC43Nik7XG4gICAgLS1jaGF0LXJlcGx5LWRpc21pc3MtaG92ZXItYmFja2dyb3VuZDogcmdiYSg3MSwgODUsIDEwNSwgMC45KTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1jb2xvcjogI2NiZDVlMTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1ob3Zlci1jb2xvcjogI2Y4ZmFmYztcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1iYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuOTYpO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWJvcmRlci1jb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC44KTtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1zaGFkb3c6IDAgMTZweCAzNHB4IHJnYmEoMiwgNiwgMjMsIDAuNDIpO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWRvdC1iYWNrZ3JvdW5kOiAjOTRhM2I4O1xuICAgIC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWJhY2tncm91bmQ6IHJnYmEoMzAsIDQxLCA1OSwgMC45Mik7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1hY3Rpb24tYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjc4KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tbGFiZWwtY29sb3I6ICNjYmQ1ZTE7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLXRleHRhcmVhLWJhY2tncm91bmQ6IHJnYmEoOCwgMTUsIDI4LCAwLjk4KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tdGV4dGFyZWEtY29sb3I6ICNlMmU4ZjA7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLXRleHRhcmVhLWJvcmRlci1jb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC43OCk7XG59XG5cbi5jb25zdHJhaW5lZEFydGljbGVWaXN1YWwge1xuICAgIC0tY2hhdC1hcnRpY2xlLWxheW91dC1tYXgtd2lkdGg6IDU0cmVtO1xuICAgIC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZTogY2xhbXAoMTZweCwgNHZ3LCA0MHB4KTtcbn1cblxuLmNoYXRNYWluRmxvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICfwn5+mJyBtaW4tY29udGVudFxuICAgICAgICAn8J+SrCcgMWZyXG4gICAgICAgICfwn5OdJyBtaW4tY29udGVudFxuICAgICAgICAvIDFmcjtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdEJhciB7XG4gICAgZ3JpZC1hcmVhOiDwn5+mO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICBjb2xvcjogIzBmMTcyNDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE1LCAyMywgMzYsIDAuMDYpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uVGFza3NJblByb2dyZXNzIHtcbiAgICBncmlkLWFyZWE6IPCfn6Y7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLWVuZDtcbiAgICBtYXJnaW46IDhweCAxNnB4O1xufVxuXG4uYWN0aW9ucyB7XG4gICAgZ3JpZC1hcmVhOiDwn5KsO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgei1pbmRleDogNDA7XG4gICAgYWxpZ24tc2VsZjogc2VsZi1zdGFydDtcbiAgICBqdXN0aWZ5LXNlbGY6IHNlbGYtZW5kO1xuICAgIG1hcmdpbjogMTZweCAyMHB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4uYWN0aW9ucy5wb3J0YWwge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmFjdGlvbnMubGVmdCB7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLXN0YXJ0O1xufVxuXG4uYWN0aW9ucy5yaWdodCB7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLWVuZDtcbn1cblxuLmFjdGlvbnNGYWRlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xufVxuXG4uYWN0aW9uc1Njcm9sbGluZyB7XG4gICAgb3BhY2l0eTogMC4xNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogTGFyZ2UgdGFibGV0IGFuZCBzbWFsbCBkZXNrdG9wIHNjcmVlbnMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5jaGF0QnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIC5jaGF0QnV0dG9uVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIE1lZGl1bSBzY3JlZW5zICovXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMTRweCAxOHB4IDA7XG4gICAgICAgIGdhcDogN3B4O1xuICAgIH1cbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdENoaWxkcmVuIHtcbiAgICBncmlkLWFyZWE6IPCfn6Y7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHotaW5kZXg6IDMwMDtcbn1cblxuLyogQ2hhdCBtZXNzYWdlcyBhcmVhICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXMge1xuICAgIGdyaWQtYXJlYTog8J+SrDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTA7XG4gICAgcGFkZGluZzogMjhweCAyNHB4IDE4cHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRNZXNzYWdlcyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LXBhZGRpbmctaW5saW5lKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LXBhZGRpbmctaW5saW5lKTtcbn1cblxuLmFydGljbGVNb2RlQ2hhdE1lc3NhZ2VzIC5jaGF0TWVzc2FnZSB7XG4gICAgd2lkdGg6IG1pbih2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LW1heC13aWR0aCksIDEwMCUpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRNZXNzYWdlcyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2Uge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmFydGljbGVNb2RlQ2hhdE1lc3NhZ2VzIC5jaGF0TWVzc2FnZS5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZSAubWVzc2FnZVN0YWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uaGFzQWN0aW9uc0FuZEZpcnN0TWVzc2FnZUlzTG9uZyB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG59XG5cbi8qIEN1c3RvbSBzY3JvbGxiYXIgc3R5bGluZyAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDdweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMDAsIDExNiwgMTM5LCAwLjU1KTtcbn1cblxuLyogSW5kaXZpZHVhbCBjaGF0IG1lc3NhZ2UgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IG1lc3NhZ2VTbGlkZUluIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlU3RhY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNoYXQtbWVzc2FnZS1tYXgtd2lkdGgpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSAubWVzc2FnZVN0YWNrIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlU3RhY2sgPiAqIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIHtcbiAgICBjb2x1bW4tZ2FwOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIC5tZXNzYWdlU3RhY2sge1xuICAgIHdpZHRoOiBtaW4oMTAwJSwgODYwcHgpO1xuICAgIG1heC13aWR0aDogbWluKDEwMCUsIDg2MHB4KTtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhci5hcnRpY2xlTW9kZUFnZW50QXZhdGFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWVzc2FnZVdpdGhNYXAge1xuICAgIC8qIG1hcmtlciBjbGFzcyBhcHBsaWVkIHRvIG1hcCBtZXNzYWdlcyBzbyB0aGV5IGNhbiBzdHJldGNoIHdpZGVyLiAqL1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5tZXNzYWdlV2l0aE1hcCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLm1lc3NhZ2VXaXRoTWFwIC5tZXNzYWdlU3RhY2sge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiBtaW4oOTB2dywgOTIwcHgsIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpKTtcbiAgICBtYXgtd2lkdGg6IG1pbig5MHZ3LCA5MjBweCwgY2FsYygxMDAlIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplKSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwKSkpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5tZXNzYWdlV2l0aE1hcCAubWVzc2FnZVN0YWNrIHtcbiAgICAgICAgd2lkdGg6IG1pbig5MnZ3LCA2NDBweCk7XG4gICAgICAgIG1heC13aWR0aDogbWluKDkydncsIDY0MHB4KTtcbiAgICB9XG59XG5cbi5tZXNzYWdlTWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW46IDZweCA4cHggMDtcbiAgICBmb250LXNpemU6IDExLjVweDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1tZXNzYWdlLW1ldGEtY29sb3IpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VNZXRhIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2UgLm1lc3NhZ2VNZXRhIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tZXNzYWdlTGlmZWN5Y2xlQmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LW1lc3NhZ2UtbGlmZWN5Y2xlLWJhZGdlLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LW1lc3NhZ2UtbGlmZWN5Y2xlLWJhZGdlLWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLm1lc3NhZ2VUaW1lc3RhbXAge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi5tZXNzYWdlRHVyYXRpb24ge1xuICAgIG9wYWNpdHk6IDAuODU7XG59XG5cbi5tZXNzYWdlUmVwbHlCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMC44ODtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMThzIGVhc2UsIGNvbG9yIDAuMThzIGVhc2UsIHRyYW5zZm9ybSAwLjE4cyBlYXNlO1xufVxuXG4ubWVzc2FnZVJlcGx5QnV0dG9uOmhvdmVyLFxuLm1lc3NhZ2VSZXBseUJ1dHRvbjpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXB4KTtcbn1cblxuLm1lc3NhZ2VSZXBseUJ1dHRvbkljb24ge1xuICAgIHdpZHRoOiAxM3B4O1xuICAgIGhlaWdodDogMTNweDtcbn1cblxuLm1lc3NhZ2VMaWZlY3ljbGVFcnJvciB7XG4gICAgbWFyZ2luOiA0cHggNnB4IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjYjkxYzFjO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4ucGFydGljaXBhbnRMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMS41cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtcGFydGljaXBhbnQtbGFiZWwtY29sb3IpO1xuICAgIG1hcmdpbjogMCAwIDdweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSAucGFydGljaXBhbnRMYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgbWVzc2FnZVNsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLmlzTm90Q29tcGxldGVNZXNzYWdlIHtcbiAgICAvKi9cbiAgICBvdXRsaW5lOiAxcHggZG90dGVkICNmZjAwMDAgIWltcG9ydGFudDtcbiAgICAvKiovXG5cbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uTm9uQ29tcGxldGVNZXNzYWdlRmlsbGVyIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEVuaGFuY2VkIGxvYWRpbmcgc3RhdGVzIGZvciBtZXNzYWdlcyAqL1xuLmlzTm90Q29tcGxldGVNZXNzYWdlIC5tZXNzYWdlVGV4dDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDhweDtcbiAgICByaWdodDogMTJweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNiksIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYW5pbWF0aW9uOiBsb2FkaW5nUHVsc2UgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2UuaXNOb3RDb21wbGV0ZU1lc3NhZ2UgLm1lc3NhZ2VUZXh0OjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvb2xDYWxsQ2hpcHMsXG4uc291cmNlQ2l0YXRpb25zLFxuLmNpdGF0aW9uRm9vdG5vdGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yOCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDE0JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uY2l0YXRpb25Gb290bm90ZXMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5jaXRhdGlvbkZvb3Rub3RlSXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtaW4taGVpZ2h0OiAzMnB4O1xufVxuXG4uY2l0YXRpb25Gb290bm90ZU51bWJlciB7XG4gICAgbWluLXdpZHRoOiAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSA3OCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLnRvb2xDYWxsQ2hpcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogNXB4IDExcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI2KTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzgpIDI2JSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qXG4gICAgICogT3Blbk1vamkgaW5jbHVkZXMgQVNDSUkgZGlnaXRzIGZvciBrZXljYXAgZW1vamkgc2VxdWVuY2VzLiBLZWVwaW5nIGl0IGZpcnN0IGluIHRoaXMgc3RhY2tcbiAgICAgKiBtYWtlcyB0aW1lIGxhYmVscyBzdWNoIGFzIGAxMDoyOCBBTWAgdXNlIGl0cyBub24tdGV4dCBkaWdpdCBnbHlwaHMsIHNvIGNoaXBzIG11c3QgaW5oZXJpdFxuICAgICAqIHRoZSBjaGF0IHR5cG9ncmFwaHkgYW5kIHVzZSBPcGVuTW9qaSBvbmx5IGFzIGl0cyBleGlzdGluZyBlbW9qaSBmYWxsYmFjay5cbiAgICAgKi9cbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbn1cblxuLnRvb2xDYWxsQ2hpcDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNjQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpIDM2JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgxNSwgMjMsIDQyLCAwLjE0KTtcbn1cblxuLnRvb2xDYWxsQ2hpcE9uZ29pbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg1OSwgMTMwLCAyNDYsIDAuOCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNCwgMTY1LCAyMzMsIDAuMSk7XG59XG5cbi50b29sQ2FsbENoaXBTdGF0dXMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50ZWFtVG9vbENhbGwsXG4udHJhbnNpdGl2ZVRvb2xDYWxsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi50ZWFtQWdlbnRDaGlwLFxuLnRyYW5zaXRpdmVBZ2VudENoaXAge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udG9vbENhbGxMYWJlbCB7XG4gICAgZmxleDogMTtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRvb2xDYWxsV2l0aEVycm9yIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjQ5LCAxMTUsIDIyLCAwLjgpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ5LCAxMTUsIDIyLCAwLjEyKTtcbn1cblxuLnRvb2xDYWxsT3JpZ2luIHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvb2xDYWxsRGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udG9vbENhbGxEZXRhaWxzIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRvb2xDYWxsRGF0YSB7XG4gICAgYmFja2dyb3VuZDogI2YxZjVmOTtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi50b29sQ2FsbENoaXBTcGlubmVyIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogdG9vbENhbGxTcGlubmVyIDAuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHRvb2xDYWxsU3Bpbm5lciB7XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBsb2FkaW5nUHVsc2Uge1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEuMik7XG4gICAgfVxufVxuXG4vKiBUeXBpbmcgaW5kaWNhdG9yIGZvciBBSSBtZXNzYWdlcyAqL1xuLnR5cGluZ0luZGljYXRvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBhbmltYXRpb246IG1lc3NhZ2VTbGlkZUluIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG4udHlwaW5nSW5kaWNhdG9yIC5hdmF0YXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IDAgMTJweCA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIFvjipfvuI9dXG4udHlwaW5nSW5kaWNhdG9yIC5hdmF0YXIgaW1nIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVmNmZiO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbn1cbiovXG5cbi50eXBpbmdCdWJibGUge1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIG1pbi1oZWlnaHQ6IDI0cHg7XG59XG5cbi50eXBpbmdEb3RzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50eXBpbmdEb3Qge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2YjcyODAgMCUsIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC42KSAxMDAlKTtcbiAgICBhbmltYXRpb246IHR5cGluZ0JvdW5jZSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50eXBpbmdEb3Q6bnRoLWNoaWxkKDEpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcbn1cblxuLnR5cGluZ0RvdDpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xufVxuXG4udHlwaW5nRG90Om50aC1jaGlsZCgzKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbn1cblxuQGtleWZyYW1lcyB0eXBpbmdCb3VuY2Uge1xuICAgIDAlLFxuICAgIDgwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gICAgNDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZVkoLThweCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5pc01lIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSAubWVzc2FnZVRleHQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZTpub3QoLmlzTWUpIC5tZXNzYWdlVGV4dCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcbn1cblxuLnJhdGluZ1N0YXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1mZWVkYmFjay1zdGFyLWNvbG9yLCB2YXIoLS1zdGFyLWluYWN0aXZlLWNvbG9yLCAjY2NjKSk7XG59XG5cbi5mZWVkYmFja1N0YXIge1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWZlZWRiYWNrLXN0YXItY29sb3IsICNjY2MpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5mZWVkYmFja1N0YXJJY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1mZWVkYmFjay1zdGFyLWNvbG9yLCBjdXJyZW50Q29sb3IpICFpbXBvcnRhbnQ7XG4gICAgZmlsbDogdmFyKC0tY2hhdC1mZWVkYmFjay1zdGFyLWZpbGwsIG5vbmUpICFpbXBvcnRhbnQ7XG4gICAgc3Ryb2tlOiB2YXIoLS1jaGF0LWZlZWRiYWNrLXN0YXItY29sb3IsIGN1cnJlbnRDb2xvcikgIWltcG9ydGFudDtcbn1cblxuLmZlZWRiYWNrU3Rhckljb24gKiB7XG4gICAgZmlsbDogdmFyKC0tY2hhdC1mZWVkYmFjay1zdGFyLWZpbGwsIG5vbmUpICFpbXBvcnRhbnQ7XG4gICAgc3Ryb2tlOiB2YXIoLS1jaGF0LWZlZWRiYWNrLXN0YXItY29sb3IsIGN1cnJlbnRDb2xvcikgIWltcG9ydGFudDtcbn1cblxuLyogU2VuZGVyIEF2YXRhciAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciB7XG4gICAgd2lkdGg6IHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgbWFyZ2luOiAwIDAgNHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogW+OKl++4j11cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIgaW1nIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hdmF0YXItYmctY29sb3IsICNlZWY2ZmIpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcbn1cblxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZzpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG4qL1xuXG4vKiBNZXNzYWdlIHRleHQgYnViYmxlICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1lc3NhZ2UtYmctY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2hhdC1idWJibGUtcmFkaXVzKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiBtaW4odmFyKC0tY2hhdC1tZXNzYWdlLW1pbi13aWR0aCksIDEwMCUpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtYnViYmxlLWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1idWJibGUtc2hhZG93KSwgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1jaGF0LWJ1YmJsZS1saW5lLWhlaWdodCk7XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgaHlwaGVuczogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbiAgICBmb250LXNpemU6IHZhcigtLWNoYXQtYnViYmxlLWZvbnQtc2l6ZSk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDAyNWVtO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tY2hhdC1tZXNzYWdlLXN3aXBlLW9mZnNldCwgMHB4KSk7XG4gICAgLS1jaGF0LW1kLWhlYWRpbmctZm9udC1mYW1pbHk6IHZhcihcbiAgICAgICAgLS1mb250LWJhcmxvdy1jb25kZW5zZWQsXG4gICAgICAgICdCYXJsb3cgQ29uZGVuc2VkJyxcbiAgICAgICAgdmFyKC0tZm9udC1wb3BwaW5zLCAnUG9wcGlucycsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZilcbiAgICApO1xuICAgIC0tY2hhdC1tZC1ib2R5LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIC0tY2hhdC1tZC10ZXh0LWNvbG9yOiB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpO1xuICAgIC0tY2hhdC1tZC1saW5rLWNvbG9yOiAjMjU2M2ViO1xuICAgIC0tY2hhdC1tZC1tdXRlZC1jb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKTtcbiAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmc6IHJnYmEoMTUsIDIzLCA0MiwgMC4xNik7XG4gICAgLS1jaGF0LW1kLWlubGluZS1jb2RlLWJvcmRlcjogcmdiYSgxNSwgMjMsIDQyLCAwLjIpO1xuICAgIC0tY2hhdC1tZC1pbmxpbmUtY29kZS1jb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKTtcbiAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIC0tY2hhdC1tZC1ibG9ja3F1b3RlLWJvcmRlcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNTIpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtcm93LWFsdC1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtaGVhZC1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1ib3JkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNik7XG4gICAgLS1jaGF0LW1kLWNpdGF0aW9uLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgIC0tY2hhdC1tZC1jaXRhdGlvbi1jb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0LmFydGljbGVNb2RlQWdlbnRNZXNzYWdlVGV4dCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIHBhZGRpbmc6IDJweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgIGZvbnQtc2l6ZTogMTUuNXB4O1xuICAgIC0tY2hhdC1tZC1saW5rLWNvbG9yOiAjMWQ0ZWQ4O1xuICAgIC0tY2hhdC1tZC1pbmxpbmUtY29kZS1iZzogcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbiAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYm9yZGVyOiByZ2JhKDE1LCAyMywgNDIsIDAuMTYpO1xuICAgIC0tY2hhdC1tZC1ibG9ja3F1b3RlLWJnOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMTIpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1iZzogcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjkpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1yb3ctYWx0LWJnOiByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuNDUpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1oZWFkLWJnOiByZ2JhKDI0MSwgMjQ1LCAyNDksIDAuOTIpO1xuICAgIC0tY2hhdC1tZC10YWJsZS1ib3JkZXI6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC40NSk7XG4gICAgLS1jaGF0LW1kLWNpdGF0aW9uLWJnOiByZ2JhKDE5MSwgMjE5LCAyNTQsIDAuMjQpO1xufVxuXG4ucmVwbHlFbmFibGVkTWVzc2FnZVRleHQge1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5yZXBseVN3aXBlQWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LWJ1YmJsZS1zaGFkb3ctaG92ZXIpLCAwIDAgMCAxcHggcmdiYSg1NiwgMTg5LCAyNDgsIDAuMjIpLFxuICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNik7XG59XG5cbi5yZXBseVN3aXBlSW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogLTI0cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIG9wYWNpdHk6IDAuMjI7XG4gICAgY29sb3I6IHJnYmEoMTUsIDIzLCA0MiwgMC40NSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE4cyBlYXNlLCB0cmFuc2Zvcm0gMC4xOHMgZWFzZTtcbn1cblxuLnJlcGx5U3dpcGVJbmRpY2F0b3JSaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI0cHg7XG59XG5cbi5yZXBseVN3aXBlSW5kaWNhdG9yQWN0aXZlIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEuMDUpO1xufVxuXG4ucmVwbHlTd2lwZUluZGljYXRvckljb24ge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuLnJlcGx5UHJldmlldyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI2KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuXG4ucmVwbHlCdWJibGVQcmV2aWV3IHtcbiAgICBvcGFjaXR5OiAwLjk7XG59XG5cbi5yZXBseUNvbXBvc2VyUHJldmlldyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtcmVwbHktY29tcG9zZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jaGF0LXJlcGx5LWNvbXBvc2VyLWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1yZXBseS1jb21wb3Nlci1zaGFkb3cpO1xufVxuXG4ucmVwbHlQcmV2aWV3QWNjZW50IHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIHdpZHRoOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogIzBlYTVlOTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYnJhbmQtY29sb3IsICMwZWE1ZTkpIDg0JSwgd2hpdGUgMTYlKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnJlcGx5UHJldmlld0JvZHkge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbn1cblxuLnJlcGx5UHJldmlld0hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG9wYWNpdHk6IDAuODI7XG59XG5cbi5yZXBseVByZXZpZXdMYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnJlcGx5UHJldmlld1NlbmRlciB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnJlcGx5UHJldmlld1RleHQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmb250LXNpemU6IDEyLjVweDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4ucmVwbHlQcmV2aWV3RGlzbWlzc0J1dHRvbiB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LXJlcGx5LWRpc21pc3MtYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtcmVwbHktZGlzbWlzcy1jb2xvcik7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE4cyBlYXNlLCBjb2xvciAwLjE4cyBlYXNlLCB0cmFuc2Zvcm0gMC4xOHMgZWFzZTtcbn1cblxuLnJlcGx5UHJldmlld0Rpc21pc3NCdXR0b246aG92ZXIsXG4ucmVwbHlQcmV2aWV3RGlzbWlzc0J1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1yZXBseS1kaXNtaXNzLWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LXJlcGx5LWRpc21pc3MtaG92ZXItY29sb3IpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG59XG5cbkBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMDAwIDUwJSwgI2ZmZiA1MCUpKSB7XG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgMTU4ZGVnLFxuICAgICAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDg2JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpIDE0JSksXG4gICAgICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgOTUlLCByZ2JhKDIsIDYsIDIzLCAwLjA4KSA1JSlcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LWJ1YmJsZS1ib3JkZXItY29sb3I6IGNvbG9yLW1peChcbiAgICAgICAgICAgIGluIHNyZ2IsXG4gICAgICAgICAgICB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3MiUsXG4gICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDYpIDI4JVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWQtbGluay1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgNzIlLCAjN2RkM2ZjIDI4JSk7XG4gICAgICAgIC0tY2hhdC1tZC1tdXRlZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgODQlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIC0tY2hhdC1tZC1pbmxpbmUtY29kZS1iZzogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDY1JSwgcmdiYSgxNSwgMjMsIDQyLCAwLjIpIDM1JSk7XG4gICAgICAgIC0tY2hhdC1tZC1pbmxpbmUtY29kZS1ib3JkZXI6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1iZzogY29sb3ItbWl4KFxuICAgICAgICAgICAgaW4gc3JnYixcbiAgICAgICAgICAgIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDc4JSxcbiAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NikgMjIlXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1tZC1ibG9ja3F1b3RlLWJvcmRlcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMzQlLCAjN2RkM2ZjIDY2JSk7XG4gICAgICAgIC0tY2hhdC1tZC10YWJsZS1iZzogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDc4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDIyJSk7XG4gICAgICAgIC0tY2hhdC1tZC10YWJsZS1yb3ctYWx0LWJnOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzAlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgyKSAzMCVcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1kLXRhYmxlLWhlYWQtYmc6IGNvbG9yLW1peChcbiAgICAgICAgICAgIGluIHNyZ2IsXG4gICAgICAgICAgICB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2NCUsXG4gICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTQpIDM2JVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWQtdGFibGUtYm9yZGVyOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxOCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgLS1jaGF0LW1kLWNpdGF0aW9uLWJnOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNTUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTQpIDQ1JSk7XG4gICAgfVxufVxuXG4vKiBDb3B5IGJ1dHRvbiBzdHlsZXMgKi9cbi5jb3B5QnV0dG9uQ29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIHotaW5kZXg6IDM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE4cyBlYXNlLCB0cmFuc2Zvcm0gMC4xOHMgZWFzZTtcbn1cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dDpob3ZlciAuY29weUJ1dHRvbkNvbnRhaW5lcixcbi5jb3B5QnV0dG9uQ29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5hcnRpY2xlTW9kZU1lc3NhZ2VBY3Rpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxNCUsIHRyYW5zcGFyZW50KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEwcHggMTJweDtcbn1cblxuLmFydGljbGVNb2RlTWVzc2FnZUNvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ubWVzc2FnZUNvbnRyb2xHcm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogN3B4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyAuY29weUJ1dHRvbixcbi5hcnRpY2xlTW9kZU1lc3NhZ2VBY3Rpb25zIC5wbGF5QnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWFydGljbGUtY29udHJvbC1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtY29sb3IpO1xufVxuXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyAucGxheUJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSxcbi5hcnRpY2xlTW9kZU1lc3NhZ2VBY3Rpb25zIC5jb3B5QnV0dG9uOmhvdmVyLFxuLmFydGljbGVNb2RlTWVzc2FnZUFjdGlvbnMgLmNvcHlCdXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LWFydGljbGUtY29udHJvbC1ob3Zlci1zaGFkb3cpO1xufVxuXG4uY29weUJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDRweCA3cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtc2hhZG93KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMsIGJveC1zaGFkb3cgMC4xNXMsIGJvcmRlciAwLjE1cztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG59XG5cbi5wbGF5QnV0dG9uIHtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJhY2tncm91bmQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1jb2xvcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5wbGF5QnV0dG9uSWNvbiB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuXG4ucGxheUJ1dHRvblNwaW5uZXIge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtc3Bpbm5lci1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNwaW5uZXItYWNjZW50LWNvbG9yKTtcbiAgICBhbmltYXRpb246IG1lc3NhZ2VQbGF5U3Bpbm5lciAwLjlzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnBsYXlCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1zaGFkb3cpO1xufVxuXG4ucGxheUJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjY7XG59XG5cbkBrZXlmcmFtZXMgbWVzc2FnZVBsYXlTcGlubmVyIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuLmNvcGllZFRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiAxMTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiAjMjIyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDZweCAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDAuOThlbTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gICAgb3BhY2l0eTogMC45NztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgYW5pbWF0aW9uOiBjb3BpZWRUb29sdGlwRmFkZUluIDAuMnM7XG4gICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5jb3BpZWRUb29sdGlwTGVmdCB7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY29waWVkVG9vbHRpcFJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogUmVtb3ZlZCByaWdodC1hbGlnbmVkIG92ZXJyaWRlIHRvIGtlZXAgdG9vbHRpcCBwb3NpdGlvbiBzdGFibGUgKi9cblxuQGtleWZyYW1lcyBjb3BpZWRUb29sdGlwRmFkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoOHB4KSBzY2FsZSgwLjk3KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwLjk3O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi5jb3B5QnV0dG9uOmhvdmVyLFxuLmNvcHlCdXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogMTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1zaGFkb3cpO1xufVxuXG4uY29weUJ1dHRvbiBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uQ2hhdFtkYXRhLWNoYXQtdGhlbWU9J2RhcmsnXSAuY29weUJ1dHRvbiBzdmcgcmVjdCB7XG4gICAgZmlsbDogI2NiZDVlMTtcbiAgICBzdHJva2U6ICM5NGEzYjg7XG59XG5cbi8qIE1hcmtkb3duIHByaW1pdGl2ZXMgYXJlIGludGVudGlvbmFsbHkgY2VudHJhbGl6ZWQgaW4gYE1hcmtkb3duQ29udGVudC5tb2R1bGUuY3NzYC4gKi9cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0OmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LWJ1YmJsZS1zaGFkb3ctaG92ZXIpLCBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLWNoYXQtbWVzc2FnZS1zd2lwZS1vZmZzZXQsIDBweCkpIHRyYW5zbGF0ZVkoLTEuNXB4KTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0LmFydGljbGVNb2RlQWdlbnRNZXNzYWdlVGV4dDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qIEF0dGFjaG1lbnRzIHN0eWxlcyAqL1xuLmF0dGFjaG1lbnRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMjgpO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDEyJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uYXR0YWNobWVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHBhZGRpbmc6IDdweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNik7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDc0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIDI2JSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjMpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTYlLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5hdHRhY2htZW50V2l0aFJlbW92ZSB7XG4gICAgZ2FwOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmF0dGFjaG1lbnRNYWluQWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHBhZGRpbmc6IDdweCA4cHggN3B4IDEycHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmF0dGFjaG1lbnRSZW1vdmVCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAwLjg1O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLmF0dGFjaG1lbnRSZW1vdmVCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTgpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcbn1cblxuLmF0dGFjaG1lbnRSZW1vdmVCdXR0b24gc3ZnIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG59XG5cbi5hdHRhY2htZW50V2l0aFJlbW92ZSAuYXR0YWNobWVudE5hbWUge1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmF0dGFjaG1lbnQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNCk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDYyJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDM4JSk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAyNCUsIHRyYW5zcGFyZW50KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5hdHRhY2htZW50SWNvbiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG9wYWNpdHk6IDAuODtcbn1cblxuLmF0dGFjaG1lbnROYW1lIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIE1lc3NhZ2UgYnV0dG9ucyBjb250YWluZXIgKi9cbi5tZXNzYWdlQnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA5cHg7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjM2KTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxNCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLyogSW5kaXZpZHVhbCBtZXNzYWdlIGJ1dHRvbiAqL1xuLm1lc3NhZ2VCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogOHB4IDE1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAyMiUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC45KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDE4JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubWVzc2FnZUJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBwcm9ncmVzcztcbiAgICBvcGFjaXR5OiAwLjcyO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubWVzc2FnZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2NiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzNCUpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMjYlLCAjN2RkM2ZjIDc0JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjE0KTtcbn1cblxuLm1lc3NhZ2VCdXR0b246aG92ZXI6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAyMiUpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTglLCB0cmFuc3BhcmVudCk7XG59XG5cbi5tZXNzYWdlQnV0dG9uOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xufVxuXG4uYWN0aW9uTWVzc2FnZUJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg1NSwgNjUsIDgxLCAwLjkyKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMzEsIDQxLCA1NSwgMC45NSk7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5hY3Rpb25NZXNzYWdlQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDMxLCA0MSwgNTUsIDAuOTgpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNywgMjQsIDM5LCAwLjk4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4zMik7XG59XG5cbi5hY3Rpb25NZXNzYWdlQnV0dG9uOmhvdmVyOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDU1LCA2NSwgODEsIDAuOTIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgzMSwgNDEsIDU1LCAwLjk1KTtcbn1cblxuLyogUmVtb3ZlIGRlZmF1bHQgbWFya2Rvd24gc3R5bGVzIGZyb20gYnV0dG9uIGNvbnRlbnQgKi9cbi5tZXNzYWdlQnV0dG9uIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4ubWVzc2FnZUJ1dHRvbiBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5tZXNzYWdlQnV0dG9uIGVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIFJhdGluZyBzeXN0ZW0gKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC04cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMnB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAyNHB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogNHB4IDZweDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmcuYXJ0aWNsZU1vZGVSYXRpbmcge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtYXJ0aWNsZS1yYXRpbmctYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1hcnRpY2xlLXJhdGluZy1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZTpob3ZlciAucmF0aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLnJhdGluZy5hcnRpY2xlTW9kZVJhdGluZzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1hcnRpY2xlLXJhdGluZy1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNoYXQtYXJ0aWNsZS1yYXRpbmctaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtYXJ0aWNsZS1yYXRpbmctc2hhZG93KTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLnJhdGluZzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmcgc3BhbiB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nOmhvdmVyIHNwYW4ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLmZlZWRiYWNrSXNzdWVCdXR0b24ge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LWZhbWlseTogJ09wZW5Nb2ppQmxhY2snLCAnTm90byBFbW9qaScsICdBcHBsZSBDb2xvciBFbW9qaScsICdTZWdvZSBVSSBFbW9qaScsIHNhbnMtc2VyaWY7XG59XG5cbi8qIENoYXQgaW5wdXQgYXJlYSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBncmlkLWFyZWE6IPCfk507XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweCAyNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDIwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2hhdC1pbnB1dC1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtaW5wdXQtYmFja2Ryb3ApO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbn1cblxuLmFydGljbGVNb2RlQ2hhdElucHV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWNoYXQtYXJ0aWNsZS1sYXlvdXQtcGFkZGluZy1pbmxpbmUpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWNoYXQtYXJ0aWNsZS1sYXlvdXQtcGFkZGluZy1pbmxpbmUpO1xufVxuXG4uYXJ0aWNsZU1vZGVDaGF0SW5wdXQgPiA6bm90KC5zcGVlY2hTdGF0dXNCdWJibGUpOm5vdCguZHJhZ092ZXJsYXkpIHtcbiAgICB3aWR0aDogbWluKHZhcigtLWNoYXQtYXJ0aWNsZS1sYXlvdXQtbWF4LXdpZHRoKSwgMTAwJSk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLkNoYXQuZnVsbFBhZ2VWaXN1YWwgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWZ1bGwtcGFnZS1pbnB1dC1iYWNrZHJvcCk7XG59XG5cbi8qIEZpbGUgdXBsb2FkIGRyYWctYW5kLWRyb3Agc3R5bGVzICovXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQuZHJhZ092ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtaW5wdXQtZHJhZy1vdmVyLWJhY2tkcm9wKTtcbn1cblxuLyogRmlsZSBwcmV2aWV3IGNvbnRhaW5lciAqL1xuLmZpbGVQcmV2aWV3Q29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5maWxlUHJldmlld0NvbnRhaW5lci5hdHRhY2htZW50cyB7XG4gICAgLS1tZXNzYWdlLWJnLWNvbG9yOiB2YXIoLS1pbnB1dC1iZy1jb2xvcik7XG4gICAgLS1tZXNzYWdlLXRleHQtY29sb3I6IHZhcigtLWlucHV0LXRleHQtY29sb3IpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBjb2xvcjogdmFyKC0taW5wdXQtdGV4dC1jb2xvcik7XG59XG5cbi8qIEluZGl2aWR1YWwgZmlsZSBwcmV2aWV3ICovXG4uZmlsZVByZXZpZXcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWZpbGUtcHJldmlldy1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LWZpbGUtcHJldmlldy1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5maWxlUHJldmlldzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1maWxlLXByZXZpZXctaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jaGF0LWZpbGUtcHJldmlldy1ob3Zlci1ib3JkZXItY29sb3IpO1xufVxuXG4uZmlsZUljb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi5maWxlSW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmZpbGVOYW1lIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWZpbGUtbmFtZS1jb2xvcik7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG1heC13aWR0aDogMTUwcHg7XG59XG5cbi5maWxlU2l6ZSB7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZmlsZS1zaXplLWNvbG9yKTtcbiAgICBmb250LXNpemU6IDExcHg7XG59XG5cbi5yZW1vdmVGaWxlQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMCwgMCwgMC4xKTtcbiAgICBjb2xvcjogI2ZmNDQ0NDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yZW1vdmVGaWxlQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMCwgMCwgMC4yKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi8qIElucHV0IGNvbnRhaW5lciBmb3IgdGV4dGFyZWEgYW5kIGJ1dHRvbnMgKi9cbi5pbnB1dENvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1pbnB1dC1jb250YWluZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1pbnB1dC1jb250YWluZXItYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiAyNnB4O1xuICAgIHBhZGRpbmc6IDlweCAxMnB4O1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtaW5wdXQtY29udGFpbmVyLXNoYWRvdyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG4uaW5wdXRDb250YWluZXI6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yLCAjMGVhNWU5KTtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpLCAwIDAgMCA0cHggcmdiYSgxNCwgMTY1LCAyMzMsIDAuMTYpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWNvbG9yLCAjMGVhNWU5KSA1OCUsIHJnYmEoMTUsIDIzLCA0MiwgMC4yKSA0MiUpO1xuICAgIGJveC1zaGFkb3c6IDAgMThweCA0MnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNiksXG4gICAgICAgIDAgMCAwIDRweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYnJhbmQtY29sb3IsICMwZWE1ZTkpIDE2JSwgdHJhbnNwYXJlbnQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLkNoYXRbZGF0YS1jaGF0LXRoZW1lPSdkYXJrJ10gLmlucHV0Q29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEyNSwgMjExLCAyNTIsIDAuNik7XG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDQ0cHggcmdiYSgyLCA2LCAyMywgMC40OCksIDAgMCAwIDRweCByZ2JhKDE0LCAxNjUsIDIzMywgMC4xOCk7XG59XG5cbi5pbnB1dENvbnRhaW5lciB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWlucHV0LXBsYWNlaG9sZGVyLWNvbG9yKTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKiBBdHRhY2htZW50IGJ1dHRvbiAqL1xuLmF0dGFjaG1lbnRCdXR0b24ge1xuICAgIHdpZHRoOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYXR0YWNobWVudEJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24taG92ZXItYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWNvbG9yKTtcbn1cblxuLmF0dGFjaG1lbnRCdXR0b246ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKiBWb2ljZSBCdXR0b24gKi9cbi52b2ljZUJ1dHRvbiB7XG4gICAgd2lkdGg6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi52b2ljZUJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24taG92ZXItYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWNvbG9yKTtcbn1cblxuLnZvaWNlQnV0dG9uQWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNlZjQ0NDQgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb246IHZvaWNlUmVjb3JkaW5nUHVsc2UgMS41cyBpbmZpbml0ZTtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyNHB4O1xuICAgIGJvdHRvbTogODZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIG1heC13aWR0aDogbWluKDMyMHB4LCBjYWxjKDEwMCUgLSA0OHB4KSk7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1zcGVlY2gtc3RhdHVzLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1zcGVlY2gtc3RhdHVzLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LXNwZWVjaC1zdGF0dXMtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtc3BlZWNoLXN0YXR1cy1zaGFkb3cpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHotaW5kZXg6IDI1O1xuICAgIGFuaW1hdGlvbjogc3BlZWNoU3RhdHVzQnViYmxlSW4gMC4ycyBlYXNlLW91dDtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZURvdCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1zcGVlY2gtc3RhdHVzLWRvdC1iYWNrZ3JvdW5kKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbmltYXRpb246IHNwZWVjaFN0YXR1c0J1YmJsZURvdFB1bHNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVSZWNvcmRpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI0MiwgMjQyLCAwLjk3KTtcbiAgICBjb2xvcjogIzk5MWIxYjtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZVJlY29yZGluZyAuc3BlZWNoU3RhdHVzQnViYmxlRG90IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWY0NDQ0O1xufVxuXG4uc3BlZWNoU3RhdHVzQnViYmxlUHJvY2Vzc2luZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0LCAxMTYsIDE0NCwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzYsIDI1NCwgMjU1LCAwLjk3KTtcbiAgICBjb2xvcjogIzE1NWU3NTtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZVByb2Nlc3NpbmcgLnNwZWVjaFN0YXR1c0J1YmJsZURvdCB7XG4gICAgYmFja2dyb3VuZDogIzBlYTVlOTtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZUVycm9yIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjIwLCAzOCwgMzgsIDAuMzUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNDIsIDI0MiwgMC45OCk7XG4gICAgY29sb3I6ICM5OTFiMWI7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVFcnJvciAuc3BlZWNoU3RhdHVzQnViYmxlRG90IHtcbiAgICBiYWNrZ3JvdW5kOiAjZGMyNjI2O1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbn1cblxuLkNoYXRbZGF0YS1jaGF0LXRoZW1lPSdkYXJrJ10gLnNwZWVjaFN0YXR1c0J1YmJsZVJlY29yZGluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuNDQpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI3LCAyOSwgMjksIDAuNzIpO1xuICAgIGNvbG9yOiAjZmVjYWNhO1xufVxuXG4uQ2hhdFtkYXRhLWNoYXQtdGhlbWU9J2RhcmsnXSAuc3BlZWNoU3RhdHVzQnViYmxlUHJvY2Vzc2luZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEyNSwgMjExLCAyNTIsIDAuNDQpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoOCwgNDcsIDczLCAwLjc0KTtcbiAgICBjb2xvcjogI2JhZTZmZDtcbn1cblxuLkNoYXRbZGF0YS1jaGF0LXRoZW1lPSdkYXJrJ10gLnNwZWVjaFN0YXR1c0J1YmJsZUVycm9yIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjQ4LCAxMTMsIDExMywgMC41KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNywgMjksIDI5LCAwLjgyKTtcbiAgICBjb2xvcjogI2ZlY2FjYTtcbn1cblxuLmRpY3RhdGlvblBhbmVsIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtZGljdGF0aW9uLXBhbmVsLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4uZGljdGF0aW9uUGFuZWxIZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5kaWN0YXRpb25QYW5lbFRpdGxlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZGljdGF0aW9uLXRpdGxlLWNvbG9yKTtcbn1cblxuLmRpY3RhdGlvblBhbmVsVG9nZ2xlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtZGljdGF0aW9uLXRvZ2dsZS1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi10b2dnbGUtY29sb3IpO1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZGljdGF0aW9uSW50ZXJpbVRyYW5zY3JpcHQge1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC40NSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi10cmFuc2NyaXB0LWJhY2tncm91bmQpO1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZGljdGF0aW9uLXRyYW5zY3JpcHQtY29sb3IpO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5kaWN0YXRpb25FcnJvclBhbmVsIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIyMCwgMzgsIDM4LCAwLjI1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjQyLCAyNDIsIDAuOTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xuICAgIGNvbG9yOiAjOTkxYjFiO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uZGljdGF0aW9uRXJyb3JBY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLmRpY3RhdGlvbkVycm9yQWN0aW9ucyBidXR0b24sXG4uZGljdGF0aW9uQ29ycmVjdGlvbkFjdGlvbnMgYnV0dG9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LWRpY3RhdGlvbi1hY3Rpb24tYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1hY3Rpb24tYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWNvbG9yKTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5kaWN0YXRpb25Db3JyZWN0aW9uUGFuZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLmRpY3RhdGlvbkNvcnJlY3Rpb25MYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tbGFiZWwtY29sb3IpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLmRpY3RhdGlvbkNvcnJlY3Rpb25UZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNjhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLXRleHRhcmVhLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1jb2xvcik7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLXRleHRhcmVhLWJhY2tncm91bmQpO1xufVxuXG4uZGljdGF0aW9uQ29ycmVjdGlvbkFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4uZGljdGF0aW9uU2V0dGluZ3NQYW5lbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiA4cHggMTJweDtcbn1cblxuLmRpY3RhdGlvblNldHRpbmdzUGFuZWwgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1zZXR0aW5ncy1jb2xvcik7XG59XG5cbi5kaWN0YXRpb25GYWxsYmFja05vdGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZGljdGF0aW9uLWZhbGxiYWNrLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbn1cblxuQGtleWZyYW1lcyBzcGVlY2hTdGF0dXNCdWJibGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpIHNjYWxlKDAuOTgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc3BlZWNoU3RhdHVzQnViYmxlRG90UHVsc2Uge1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44Mik7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHZvaWNlUmVjb3JkaW5nUHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMCwgMCwgMC40KTtcbiAgICB9XG4gICAgNzAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDI1NSwgMCwgMCwgMCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAwLCAwLCAwKTtcbiAgICB9XG59XG5cbi8qIFVwbG9hZCBwcm9ncmVzcyBpbmRpY2F0b3IgKi9cbi51cGxvYWRQcm9ncmVzcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEzMiwgMjU1LCAwLjEpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMTMyLCAyNTUsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzAwODRmZjtcbn1cblxuLnVwbG9hZFByb2dyZXNzQmFyIHtcbiAgICBmbGV4OiAxO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTMyLCAyNTUsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi51cGxvYWRQcm9ncmVzc0ZpbGwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMwMDg0ZmYsIHJnYmEoMCwgMTMyLCAyNTUsIDAuOCkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBhbmltYXRpb246IHVwbG9hZFByb2dyZXNzIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgdXBsb2FkUHJvZ3Jlc3Mge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB9XG59XG5cbi8qIERyYWcgb3ZlcmxheSAqL1xuLmRyYWdPdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTMyLCAyNTUsIDAuMSk7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkIHJnYmEoMCwgMTMyLCAyNTUsIDAuNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZHJhZ092ZXJsYXlDb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgY29sb3I6ICMwMDg0ZmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5kcmFnT3ZlcmxheUNvbnRlbnQgc3ZnIHtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIENoYXQgaW5wdXQgZmllbGQgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jaGF0LWlucHV0LXBhZGRpbmcteSkgdmFyKC0tY2hhdC1pbnB1dC1wYWRkaW5nLXgpO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LXRleHRhcmVhLWhlaWdodCk7XG4gICAgbWluLWhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC10ZXh0YXJlYS1oZWlnaHQpO1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtdGV4dGFyZWEtaGVpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWNoYXQtaW5wdXQtZm9udC1zaXplKTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAwMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LWxpbmUtaGVpZ2h0KTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcmVzaXplOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgLyogRm9jdXMgaXMgaGFuZGxlZCBieSAuaW5wdXRDb250YWluZXIgKi9cbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWlucHV0LXBsYWNlaG9sZGVyLWNvbG9yKTtcbiAgICBvcGFjaXR5OiAwLjk7XG59XG5cbi8qIENoYXQgc2VuZCBidXR0b24gKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b25bZGF0YS1idXR0b24tdHlwZT0nY2FsbC10by1hY3Rpb24nXSB7XG4gICAgd2lkdGg6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZSk7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIG1pbi13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xuXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAxMzIsIDI1NSwgMC4yNSk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbltkYXRhLWJ1dHRvbi10eXBlPSdjYWxsLXRvLWFjdGlvbiddOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE2cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4zNSk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b25bZGF0YS1idXR0b24tdHlwZT0nY2FsbC10by1hY3Rpb24nXTphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b25bZGF0YS1idXR0b24tdHlwZT0nY2FsbC10by1hY3Rpb24nXSBzdmcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbiBpbWcge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi8qIFNjcm9sbCB0byBib3R0b20gYnV0dG9uICovXG5cbi5zY3JvbGxUb0JvdHRvbUNvbnRhaW5lciB7XG4gICAgLyovXG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCByZWQ7XG4gICAgLyoqL1xuXG4gICAgei1pbmRleDogMjA7XG4gICAgZ3JpZC1hcmVhOiDwn5OdO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zY3JvbGxUb0JvdHRvbUNvbnRhaW5lciAuc2Nyb2xsVG9Cb3R0b21XcmFwcGVyIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTUwJSk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbmltYXRpb246IHNjcm9sbEJ1dHRvblNsaWRlSW4gMC4zcyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG59XG5cbi5zY3JvbGxUb0JvdHRvbUNvbnRhaW5lciAuc2Nyb2xsVG9Cb3R0b20ge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwIDAgMCAvIDAuNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbkBrZXlmcmFtZXMgc2Nyb2xsQnV0dG9uU2xpZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDIwcHgpIHNjYWxlKDAuOCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi5zY3JvbGxUb0JvdHRvbUJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtOHB4O1xuICAgIHJpZ2h0OiAtOHB4O1xuICAgIG1pbi13aWR0aDogMzJweDtcbiAgICBwYWRkaW5nOiAycHggNnB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tncm91bmQ6ICMyNTYzZWI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDM3LCA5OSwgMjM1LCAwLjQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIFJhdGluZyBtb2RhbCAqL1xuLnJhdGluZ01vZGFsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNSwgMjMsIDQyLCAwLjc2KTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGFuaW1hdGlvbjogbW9kYWxGYWRlSW4gMC4zcyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBtb2RhbEZhZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5yYXRpbmdNb2RhbENvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMwZjE3MjQ7XG4gICAgcGFkZGluZzogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggNjBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgICBhbmltYXRpb246IG1vZGFsU2xpZGVJbiAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcblxuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmLCAnT3Blbk1vamlDb2xvcicsICdPcGVuTW9qaUJsYWNrJztcbiAgICAvKiA8LSBUT0RPOiBb8J+noF1b8J+OsV0gQmV0dGVyLCBkZWZpbmUgb3RoZXIgZm9udHMgKi9cbn1cblxuQGtleWZyYW1lcyBtb2RhbFNsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLnJhdGluZ01vZGFsQ29udGVudCBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMjRweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zdGFycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4uc3RhcnMgc3BhbiB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5zdGFycyBzcGFuOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDIxNSwgMCwgMC4xKTtcbn1cblxuLnJhdGluZ01vZGFsU3RhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xufVxuXG4ucmF0aW5nTW9kYWxbZGF0YS1jaGF0LW1vZGFsPSdpbWFnZS1hdHRhY2htZW50J10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMjRweDtcbn1cblxuLnJhdGluZ01vZGFsW2RhdGEtY2hhdC1tb2RhbD0nY2l0YXRpb24tYnJvd3NlciddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDI0cHg7XG59XG5cbi50b29sQ2FsbE1vZGFsIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDQ4cHgpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNpdGF0aW9uQnJvd3Nlck1vZGFsIHtcbiAgICB3aWR0aDogbWluKDkwdncsIDgwMHB4KTtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4KTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDQ4cHgpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG59XG5cbi5jaXRhdGlvbkJyb3dzZXJNb2RhbEJvZHkge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmltYWdlQXR0YWNobWVudE1vZGFsIHtcbiAgICB3aWR0aDogbWluKDkydncsIDEwNDBweCk7XG4gICAgbWF4LXdpZHRoOiAxMDQwcHg7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDQ4cHgpO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gNDhweCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5pbWFnZUF0dGFjaG1lbnRNb2RhbEhlYWRlciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgcGFkZGluZzogMjBweCA2OHB4IDE0cHggMjRweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4uaW1hZ2VBdHRhY2htZW50TW9kYWxUaXRsZSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwZjE3MmEgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuXG4uaW1hZ2VBdHRhY2htZW50TW9kYWxQcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTMwcHgpO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gMTMwcHgpO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogIzBmMTcyYTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pbWFnZUF0dGFjaG1lbnRNb2RhbEltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDE2MnB4KTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDE2MnB4KTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4udG9vbENhbGxIZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDE2cHg7XG4gICAgcGFkZGluZzogMjRweCAzMnB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2VlZjJmZiAwJSwgI2Y1ZjNmZiA0MCUsICNmZWZjYzkgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi50b29sQ2FsbEljb24ge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbn1cblxuLnRvb2xDYWxsSGVhZGVyTWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNHB4O1xufVxuXG4udG9vbENhbGxNb2RhbExhYmVsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMzVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNDc1NDY3O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnRvb2xDYWxsVGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRvb2xDYWxsU3VidGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM0NzU0Njc7XG59XG5cbi50b29sQ2FsbEdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNTBweCwgMWZyKSk7XG4gICAgZ2FwOiAxNnB4O1xuICAgIHBhZGRpbmc6IDI0cHggMzJweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG59XG5cbi50b29sQ2FsbFBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBwYWRkaW5nOiAxOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMThweCA0MHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi50b29sQ2FsbFBhbmVsVGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDEycHggMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM5NGEzYjg7XG59XG5cbi50b29sQ2FsbExpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cblxuLnRvb2xDYWxsSXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNHB4O1xufVxuXG4udG9vbENhbGxJdGVtTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM5NGEzYjg7XG59XG5cbi50b29sQ2FsbEl0ZW1WYWx1ZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbi50b29sQ2FsbFN1bW1hcnkge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLnRvb2xDYWxsU3VtbWFyeU1ldGEge1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi50b29sQ2FsbFN1bW1hcnlNZXRhQmFkZ2Uge1xuICAgIHBhZGRpbmc6IDVweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNzksIDcwLCAyMjksIDAuMTUpO1xuICAgIGNvbG9yOiAjMzEyZTgxO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4udG9vbENhbGxFbXB0eSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ0NhcmQge1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjY2JkNWUxO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgcGFkZGluZzogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZjhmYmZmIDAlLCAjZjhmYWZjIDEwMCUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdIZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4udG9vbENhbGxQZW5kaW5nVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udG9vbENhbGxQZW5kaW5nQmFkZ2Uge1xuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTQsIDE2NSwgMjMzLCAwLjEyKTtcbiAgICBjb2xvcjogIzAzNjlhMTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdNZXNzYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdTa2VsZXRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4udG9vbENhbGxQZW5kaW5nU2tlbGV0b25MaW5lIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuNyksIHJnYmEoMjQxLCAyNDUsIDI0OSwgMSksIHJnYmEoMjI2LCAyMzIsIDI0MCwgMC43KSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDEwMCU7XG4gICAgYW5pbWF0aW9uOiB0b29sQ2FsbFBlbmRpbmdTa2VsZXRvblB1bHNlIDEuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdTa2VsZXRvblNob3J0IHtcbiAgICB3aWR0aDogNjglO1xufVxuXG5Aa2V5ZnJhbWVzIHRvb2xDYWxsUGVuZGluZ1NrZWxldG9uUHVsc2Uge1xuICAgIGZyb20ge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwJSA1MCU7XG4gICAgfVxufVxuXG4udG9vbENhbGxEZXRhaWxzQ2FyZCB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udG9vbENhbGxEZXRhaWxzQ2FyZFJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICMzMzQxNTU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjI2LCAyMzIsIDI0MCwgMC45KTtcbn1cblxuLnRvb2xDYWxsRGV0YWlsc0NhcmRSb3c6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi50b29sQ2FsbERldGFpbHNDYXJkUm93IHN0cm9uZyB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi50b29sQ2FsbElzc3VlcyB7XG4gICAgcGFkZGluZzogMCAzMnB4IDE2cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi50b29sQ2FsbElzc3VlQmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59XG5cbi50b29sQ2FsbElzc3VlRXJyb3Ige1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTIpO1xuICAgIGNvbG9yOiAjYjkxYzFjO1xufVxuXG4udG9vbENhbGxJc3N1ZVdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM0LCAxNzksIDgsIDAuMTYpO1xuICAgIGNvbG9yOiAjYTE2MjA3O1xufVxuXG4uYWdlbnRQcm9qZWN0U3RhdHVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luOiAwIDAgMTRweCAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYWdlbnRQcm9qZWN0U3RhdHVzRG90IHtcbiAgICB3aWR0aDogOXB4O1xuICAgIGhlaWdodDogOXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICBmbGV4OiBub25lO1xufVxuXG4uYWdlbnRQcm9qZWN0U3RhdHVzUnVubmluZyB7XG4gICAgY29sb3I6ICMwNDc4NTc7XG59XG5cbi5hZ2VudFByb2plY3RTdGF0dXNTdG9wcGVkIHtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLmFnZW50UHJvamVjdExpbmtzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5hZ2VudFByb2plY3RMaW5rIHtcbiAgICBjb2xvcjogIzFkNGVkODtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmFnZW50UHJvamVjdExpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYWdlbnRQcm9qZWN0Q2hhbmdlIHtcbiAgICBwYWRkaW5nOiAwIDMycHggOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG59XG5cbi5hZ2VudFByb2plY3RDaGFuZ2VTdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uYWdlbnRQcm9qZWN0Q2hhbmdlQ291bnQge1xuICAgIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uYWdlbnRQcm9qZWN0Q2hhbmdlQ291bnRBZGRlZCB7XG4gICAgY29sb3I6ICMwNDc4NTc7XG59XG5cbi5hZ2VudFByb2plY3RDaGFuZ2VDb3VudFJlbW92ZWQge1xuICAgIGNvbG9yOiAjYjkxYzFjO1xufVxuXG4uYWdlbnRQcm9qZWN0Q29tbWl0IHtcbiAgICBmb250LWZhbWlseTogQ29uc29sYXMsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICM2NDc0OGI7XG59XG5cbi5hZ2VudFByb2plY3RDaGFuZ2VkRmlsZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAgMTJweCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xuICAgIG1heC1oZWlnaHQ6IDE2MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5hZ2VudFByb2plY3RDaGFuZ2VkRmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTJweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG59XG5cbi5hZ2VudFByb2plY3RDaGFuZ2VkRmlsZVBhdGgge1xuICAgIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuLmFnZW50UHJvamVjdENoYW5nZWRGaWxlQ291bnRzIHtcbiAgICBmb250LWZhbWlseTogQ29uc29sYXMsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmFnZW50UHJvamVjdERpZmYge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG59XG5cbi5hZ2VudFByb2plY3REaWZmQ29kZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMnB4IDA7XG4gICAgbWF4LWhlaWdodDogMzIwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5hZ2VudFByb2plY3REaWZmTGluZSB7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgY29sb3I6ICMzMzQxNTU7XG59XG5cbi5hZ2VudFByb2plY3REaWZmTGluZUFkZGVkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4xNCk7XG4gICAgY29sb3I6ICMwNjVmNDY7XG59XG5cbi5hZ2VudFByb2plY3REaWZmTGluZVJlbW92ZWQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTIpO1xuICAgIGNvbG9yOiAjOTkxYjFiO1xufVxuXG4uYWdlbnRQcm9qZWN0RGlmZkxpbmVIdW5rIHtcbiAgICBjb2xvcjogIzZkMjhkOTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwOSwgNDAsIDIxNywgMC4wOCk7XG59XG5cbi5hZ2VudFByb2plY3REaWZmTGluZU1ldGEge1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4uYWdlbnRQcm9qZWN0RGlmZlRydW5jYXRlZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLnRvb2xDYWxsTW9kZUZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDAgMzJweCAyNHB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRvb2xDYWxsTW9kZUJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnRvb2xDYWxsTW9kZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBib3JkZXItY29sb3I6ICM5NGEzYjg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4udG9vbENhbGxDbG9ja1BhbmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDIwcHg7XG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuLnRvb2xDYWxsQ2xvY2tMYWJlbHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvb2xDYWxsQ2xvY2tQcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udG9vbENhbGxDbG9ja1NlY29uZGFyeSB7XG4gICAgY29sb3I6ICM0NzU0Njc7XG59XG5cbi50b29sQ2FsbENsb2NrTWV0YSB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogIzY2NzA4NTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi50aW1lb3V0VG9vbFN1bW1hcnkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIHBhZGRpbmc6IDE2cHg7XG59XG5cbi50aW1lb3V0VG9vbFByaW1hcnlTZW50ZW5jZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi50aW1lb3V0VG9vbFNlY29uZGFyeVNlbnRlbmNlIHtcbiAgICBtYXJnaW46IDZweCAwIDA7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi50aW1lb3V0VG9vbEFjdGlvblJvdyB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRpbWVvdXRUb29sQWN0aW9uQnV0dG9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2JkNWUxO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgcGFkZGluZzogOHB4IDE0cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGltZW91dFRvb2xBY3Rpb25CdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTRhM2I4O1xufVxuXG4udGltZW91dFRvb2xBY3Rpb25CdXR0b246ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAwLjQ1O1xufVxuXG4ubWVtb3J5TW9kYWxIZWFkZXIge1xuICAgIHBhZGRpbmc6IDI4cHggMzJweCAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZGZkZmQgMCUsICNmNmY5ZmYgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi5tZW1vcnlNb2RhbEljb24ge1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2MzY2ZjEsICNhODU1ZjcpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAyOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xOCk7XG59XG5cbi5tZW1vcnlNb2RhbEhlYWRlclRleHQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5tZW1vcnlNb2RhbFRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi5tZW1vcnlNb2RhbFN1YnRpdGxlIHtcbiAgICBtYXJnaW46IDRweCAwIDA7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ubWVtb3J5TW9kYWxTdGF0dXMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHBhZGRpbmc6IDZweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1lbW9yeVN0YXR1c0RvdCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1lbW9yeU1vZGFsQ29udGVudCB7XG4gICAgcGFkZGluZzogMjRweCAzMnB4IDMycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4ubWVtb3J5TWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ubWVtb3J5TWV0YVJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM0NzU0Njc7XG59XG5cbi5tZW1vcnlNZXRhTGFiZWwge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWVtb3J5TWV0YVZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ubWVtb3J5U3RvcmVTZWN0aW9uLFxuLm1lbW9yeVJldHJpZXZlU2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cblxuLm1lbW9yeUNhcmQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDE4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLm1lbW9yeUNhcmRDb250ZW50IHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuLm1lbW9yeUNhcmRNZXRhIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ubWVtb3J5U2NvcGVCYWRnZSB7XG4gICAgcGFkZGluZzogM3B4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjQsIDU4LCAyMzcsIDAuMTIpO1xufVxuXG4ubWVtb3J5TGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cblxuLm1lbW9yeUVtcHR5U3RhdGUge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZjNjNztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmRlNjhhO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgY29sb3I6ICM5MjQwMGU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm1lbW9yeUxpc3RGb290ZXIge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzQ3NTQ2NztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tZW1vcnlTdGF0dXNTdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4xNik7XG4gICAgY29sb3I6ICMwNDc4NTc7XG59XG5cbi5tZW1vcnlTdGF0dXNXYXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNCwgMTc5LCA4LCAwLjE2KTtcbiAgICBjb2xvcjogI2ExNjIwNztcbn1cblxuLm1lbW9yeVN0YXR1c0Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTtcbiAgICBjb2xvcjogI2I5MWMxYztcbn1cblxuLm1lbW9yeVN0YXR1c05ldXRyYWwge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoOTYsIDE2NSwgMjUwLCAwLjE1KTtcbiAgICBjb2xvcjogIzFkNGVkODtcbn1cblxuLnNlYXJjaE1vZGFsSGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyNHB4IDMycHg7XG4gICAgcGFkZGluZy1yaWdodDogNzJweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZGZkZmQ7XG59XG5cbi5zZWxmTGVhcm5pbmdNb2RhbEhlYWRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZmFmYyAwJSwgI2ZlZjljMyA0NSUsICNlY2ZjY2IgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi5zZWxmTGVhcm5pbmdBdmF0YXJHcm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbn1cblxuLnNlbGZMZWFybmluZ0F2YXRhciB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZTJlOGYwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDE1LCAyMywgNDIsIDAuMTgpO1xufVxuXG4uc2VsZkxlYXJuaW5nQXZhdGFySW5pdGlhbCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5zZWxmTGVhcm5pbmdUZWFjaGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmRlNjhhIDAlLCAjODZlZmFjIDEwMCUpO1xufVxuXG4uc2VsZkxlYXJuaW5nSGVhZGVyVGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zZWxmTGVhcm5pbmdUaXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4uc2VsZkxlYXJuaW5nTWV0YVJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5zZWxmTGVhcm5pbmdNZXRhIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM2NDc0OGI7XG59XG5cbi5zZWxmTGVhcm5pbmdNZXRhQ2hpcCB7XG4gICAgYmFja2dyb3VuZDogI2UyZThmMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNlbGZMZWFybmluZ0NvbW1pdG1lbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xufVxuXG4uc2VsZkxlYXJuaW5nQ29tbWl0bWVudHNMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uc2VsZkxlYXJuaW5nQm9va0VkaXRvciB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi5zZWxmTGVhcm5pbmdFbXB0eSB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5tb2RhbENsb3NlQnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNnB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5tb2RhbENsb3NlQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4ubW9kYWxDbG9zZUJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgIzk0YTNiODtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4udGVhbU1vZGFsSGVhZGVyIHtcbiAgICBnYXA6IDEycHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGVhbUhlYWRlclBhcnRpY2lwYW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50ZWFtSGVhZGVyUHJvZmlsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4udGVhbUhlYWRlclByb2ZpbGVMaW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRlYW1IZWFkZXJBdmF0YXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTRweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4udGVhbUhlYWRlck5hbWUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udGVhbUhlYWRlckRpdmlkZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4uc2VhcmNoTW9kYWxJY29uIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbn1cblxuLnNlYXJjaE1vZGFsUXVlcnkge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzIwMjEyNCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnNlYXJjaE1vZGFsQ29udGVudCB7XG4gICAgcGFkZGluZzogMjRweCAzMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGVhbUNoYXRDb250YWluZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnRlYW1Ub29sQ2FsbFNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi50ZWFtVG9vbENhbGxHcm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4udGVhbVRvb2xDYWxsSGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4udGVhbVRvb2xDYWxsQ2hpcHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4udGVhbVRvb2xDYWxsRGV0YWlscyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4udGVhbVRvb2xDYWxsRGV0YWlsc0hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHNUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xufVxuXG4udGVhbVRvb2xDYWxsRGV0YWlsc0NsZWFyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICM0NzU1Njk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHNDbGVhcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM1KTtcbn1cblxuLnNlYXJjaFJlc3VsdHNMaXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zZWFyY2hSZXN1bHRzUmF3IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC13aWR0aDogNjUwcHg7XG59XG5cbi5zZWFyY2hSZXN1bHRJdGVtIHtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xufVxuXG4uc2VhcmNoUmVzdWx0VXJsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMyMDIxMjQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnNlYXJjaFJlc3VsdFVybCBhIHtcbiAgICBjb2xvcjogIzIwMjEyNDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zZWFyY2hSZXN1bHRUaXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAwIDRweCAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLnNlYXJjaFJlc3VsdFRpdGxlIGEge1xuICAgIGNvbG9yOiAjMWEwZGFiO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNlYXJjaFJlc3VsdFRpdGxlIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2VhcmNoUmVzdWx0U25pcHBldCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgIGNvbG9yOiAjNGQ1MTU2O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm5vUmVzdWx0cyB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM3MDc1N2E7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udG9vbENhbGxEZXRhaWxzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMjBweCAwO1xufVxuLmNpdGF0aW9uRGV0YWlscyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDIwcHggMDtcbn1cblxuLmNpdGF0aW9uUHJldmlldyB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG59XG5cbi5jaXRhdGlvbklmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHZoO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNpdGF0aW9uSWZyYW1lTG9hZGluZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHZoO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4uY2l0YXRpb25TY3JlZW5zaG90RmFsbGJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jaXRhdGlvblNjcmVlbnNob3RJbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNpdGF0aW9uU2NyZWVuc2hvdExpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXM7XG59XG5cbi5jaXRhdGlvblNjcmVlbnNob3RMaW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTBlMGUwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4uY2l0YXRpb25Ccm93c2VyTW9kYWwgLmxpdmVCcm93c2VyUHJldmlldyB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLWhlaWdodDogMDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlldzpmdWxsc2NyZWVuIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3VG9vbGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgYmFja2dyb3VuZDogI2YxZjVmOTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZThmMDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1Rvb2xiYXJCdXR0b24ge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBwYWRkaW5nOiAwIDRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3VG9vbGJhckJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogI2UyZThmMDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1Rvb2xiYXJCdXR0b246ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMzU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3Wm9vbUxhYmVsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1Rvb2xiYXJDbG9zZUJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1Rvb2xiYXJDbG9zZUJ1dHRvbiBzdmcge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1VybEZvcm0ge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbjogMCA0cHg7XG59XG5cbi5saXZlQnJvd3NlclByZXZpZXdVcmxJbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNXB4IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3VXJsSW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzk0YTNiODtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1N0cmVhbUFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDYwdmg7XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLmNpdGF0aW9uQnJvd3Nlck1vZGFsIC5saXZlQnJvd3NlclByZXZpZXdTdHJlYW1BcmVhIHtcbiAgICBoZWlnaHQ6IG1pbig2MHZoLCA2NDBweCk7XG4gICAgbWluLWhlaWdodDogbWluKDQwMHB4LCBjYWxjKDEwMGR2aCAtIDE0MHB4KSk7XG59XG5cbi5saXZlQnJvd3NlclByZXZpZXdTdHJlYW1BcmVhOmZvY3VzLXZpc2libGUge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjOTRhM2I4O1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3OmZ1bGxzY3JlZW4gLmxpdmVCcm93c2VyUHJldmlld1N0cmVhbUFyZWEge1xuICAgIGZsZXg6IDE7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi5saXZlQnJvd3NlclByZXZpZXdTdHJlYW1JbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3Q29ubmVjdGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3T3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuNTUpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld092ZXJsYXlCdXR0b24ge1xuICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2l0YXRpb25NZXRhZGF0YSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jaXRhdGlvbk1ldGFkYXRhIHAge1xuICAgIG1hcmdpbjogOHB4IDA7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbn1cblxuLmNpdGF0aW9uTWV0YWRhdGEgc3Ryb25nIHtcbiAgICBjb2xvcjogIzMzMztcbn1cblxuLmNpdGF0aW9uTWV0YWRhdGEgYSB7XG4gICAgY29sb3I6ICMwMDdiZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuLmNpdGF0aW9uTWV0YWRhdGEgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jaXRhdGlvbkV4Y2VycHQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uY2l0YXRpb25FeGNlcnB0IGg0IHtcbiAgICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi5jaXRhdGlvbkhpbnQge1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi50b29sQ2FsbERhdGFDb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50b29sQ2FsbFBheWxvYWRDb250YWluZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG59XG5cbi50b29sQ2FsbFBheWxvYWRFZGl0b3IgOmdsb2JhbCgubW9uYWNvLWVkaXRvciksXG4udG9vbENhbGxQYXlsb2FkRWRpdG9yIDpnbG9iYWwoLm1vbmFjby1lZGl0b3IgLm92ZXJmbG93LWd1YXJkKSxcbi50b29sQ2FsbFBheWxvYWRFZGl0b3IgOmdsb2JhbCgubW9uYWNvLWVkaXRvciAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCksXG4udG9vbENhbGxQYXlsb2FkRWRpdG9yIDpnbG9iYWwoLm1vbmFjby1lZGl0b3ItYmFja2dyb3VuZCkge1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmMgIWltcG9ydGFudDtcbn1cblxuLnRvb2xDYWxsRGF0YSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4udG9vbENhbGxNb2RhbCAudG9vbENhbGxEYXRhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ucmF0aW5nSW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4wNSk7XG4gICAgY29sb3I6ICMwYjEyMjA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnJhdGluZ0lucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDg0ZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjA4KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4xKTtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4ucmF0aW5nSW5wdXRbcmVhZG9ubHldIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjAxKTtcbn1cblxuLnJhdGluZ0FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246Zmlyc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICBjb2xvcjogIzBiMTIyMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMik7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjIpO1xuICAgIGNvbG9yOiAjMGIxMjIwO1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246bGFzdC1jaGlsZCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwODRmZiAwJSwgIzAwNjZjYyAxMDAlKTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQ6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDcxZDEgMCUsICMwMDUyYTMgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAxMzIsIDI1NSwgMC4zKTtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQ6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZG93bmxvYWRCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDg0ZmYgMCUsICMwMDY2Y2MgMTAwJSk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4yKTtcbn1cblxuLmRvd25sb2FkQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA5OWZmIDAlLCAjMDA3N2RkIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMyk7XG59XG5cbi5kb3dubG9hZEJ1dHRvbjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4yKTtcbn1cblxuLmRvd25sb2FkQnV0dG9uIHN2ZyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5kb3dubG9hZEJ1dHRvbiBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiBQcmltYXJ5IGNoYXQgdG9vbGJhciBidXR0b25zICovXG4uY2hhdEJ1dHRvbixcbi51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBnYXA6IDhweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDExcHggMTZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDBkZWcsICMwZjhlZjUgMCUsICMwYjZmZDAgNTYlLCAjMGQ1ZmJiIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTIuNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2UsIGJhY2tncm91bmQgMC4ycyBlYXNlICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSgxNCwgMTE2LCAyMTksIDAuMjgpLCBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAhaW1wb3J0YW50O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbiAhaW1wb3J0YW50O1xuICAgIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMTEwcHggIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5jaGF0QnV0dG9uOjpiZWZvcmUsXG4udXNlVGVtcGxhdGVCdXR0b246OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMTEwJTtcbiAgICB3aWR0aDogNzUlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTAwZGVnLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI2KSA0OCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC40NXMgZWFzZTtcbn1cblxuLmNoYXRCdXR0b246aG92ZXI6OmJlZm9yZSxcbi51c2VUZW1wbGF0ZUJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxNDAlO1xufVxuXG4uY2hhdEJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSxcbi51c2VUZW1wbGF0ZUJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MGRlZywgIzFhOWFmZiAwJSwgIzBkN2RlOCA1NiUsICMxMTY4YzkgMTAwJSkgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuNXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDE0cHggMzBweCByZ2JhKDE0LCAxMTYsIDIxOSwgMC4zNCksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7XG59XG5cbi5jaGF0QnV0dG9uOmFjdGl2ZSxcbi51c2VUZW1wbGF0ZUJ1dHRvbjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgwLjk4NSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcbn1cblxuLmNoYXRCdXR0b246Zm9jdXMsXG4udXNlVGVtcGxhdGVCdXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSgxNCwgMTE2LCAyMTksIDAuMzIpLCAwIDAgMCAzcHggcmdiYSg1NiwgMTg5LCAyNDgsIDAuMjgpLFxuICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMikgIWltcG9ydGFudDtcbn1cblxuLmNoYXRCdXR0b24gc3ZnLFxuLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgZmlsdGVyIDAuMnMgZWFzZTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjQpKTtcbn1cblxuLmNoYXRCdXR0b246aG92ZXIgc3ZnLFxuLnVzZVRlbXBsYXRlQnV0dG9uOmhvdmVyIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KSB0cmFuc2xhdGVYKDFweCk7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI4KSk7XG59XG5cbi5jaGF0QnV0dG9uVGV4dCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4uY2hhdEJ1dHRvbjpob3ZlciAuY2hhdEJ1dHRvblRleHQsXG4udXNlVGVtcGxhdGVCdXR0b246aG92ZXIgLmNoYXRCdXR0b25UZXh0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTtcbn1cblxuLnNhdmVCdXR0b25Db250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zYXZlTWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4uc2F2ZU1lbnVJdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzExMTtcbn1cblxuLnNhdmVNZW51SXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbn1cblxuLnNhdmVNZW51RGl2aWRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICBtYXJnaW46IDRweCAwO1xufVxuXG4uY2hhdEZlZWRiYWNrUGFuZWwge1xuICAgIHdpZHRoOiBtaW4oMjYwcHgsIDEwMCUpO1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDZweDtcbn1cblxuLmNoYXRGZWVkYmFja1RvZ2dsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC41cHgpO1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMjU2M2ViO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5jaGF0RmVlZGJhY2tJY29uIHtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWVmMmZmO1xuICAgIGNvbG9yOiAjNjM2NmYxO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlW2RhdGEtZW5hYmxlZD0ndHJ1ZSddIC5jaGF0RmVlZGJhY2tJY29uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTBmMmZlO1xuICAgIGNvbG9yOiAjMDI4NGM3O1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlW2RhdGEtZW5hYmxlZD0nZmFsc2UnXSAuY2hhdEZlZWRiYWNrSWNvbiB7XG4gICAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgICBjb2xvcjogIzk0YTNiODtcbn1cblxuLmNoYXRGZWVkYmFja01ldGEge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xufVxuXG4uY2hhdEZlZWRiYWNrTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4uY2hhdEZlZWRiYWNrRGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLmNoYXRGZWVkYmFja0luZGljYXRvciB7XG4gICAgZm9udC1zaXplOiAwLjcycmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59XG5cbi5jaGF0RmVlZGJhY2tJbmRpY2F0b3JBY3RpdmUge1xuICAgIGNvbG9yOiAjMTY2NTM0O1xuICAgIGJhY2tncm91bmQ6ICNkY2ZjZTc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzM0ZDM5OTtcbn1cblxuLmNoYXRGZWVkYmFja0luZGljYXRvckluYWN0aXZlIHtcbiAgICBjb2xvcjogIzcxM2YxMjtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmOWMzO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmYWNjMTU7XG59XG5cbi8qIFBhdXNlL1Jlc3VtZSBidXR0b24gdmFyaWFudCAocmV1c2VzIC5jaGF0QnV0dG9uIGJhc2Ugc3R5bGVzIGZvciBEUlkpICovXG4ucGF1c2VCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmZmIzNDcgMCUsICNmZjhjNDIgMTAwJSkgIWltcG9ydGFudDsgLyogV2FybSBvcmFuZ2UgZm9yIFwiYWN0aXZlL3J1bm5pbmdcIiAqL1xufVxuXG4ucGF1c2VCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmZmMwNjcgMCUsICNmZjllNWYgMTAwJSkgIWltcG9ydGFudDtcbn1cblxuLnBhdXNlQnV0dG9uLnBhdXNpbmcge1xuICAgIG9wYWNpdHk6IDAuNiAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogd2FpdCAhaW1wb3J0YW50O1xufVxuXG4ucGF1c2VCdXR0b24ucGF1c2VkIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTBiOTgxIDAlLCAjMDU5NjY5IDEwMCUpICFpbXBvcnRhbnQ7IC8qIEdyZWVuIHdoZW4gcGF1c2VkIChyZWFkeSB0byByZXN1bWUpICovXG59XG5cbi5wYXVzZUJ1dHRvbi5wYXVzZWQ6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMzNGQzOTkgMCUsICMwNTk2NjkgMTAwJSkgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCkgc2NhbGUoMS4wMik7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDE2LCAxODUsIDEyOSwgMC4zNSk7XG59XG5cbi5wYXVzZUJ1dHRvbiBzdmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5wYXVzZUJ1dHRvbi5wYXVzZWQgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5wYXVzZUJ1dHRvbi5wYXVzaW5nIHN2ZyB7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4uc3RvcEJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2RjMjYyNiAwJSwgIzk5MWIxYyAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7XG59XG5cbi5zdG9wQnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjg3MTcxIDAlLCAjZGMyNjI2IDEwMCUpICFpbXBvcnRhbnQ7XG59XG5cbi5zdG9wQnV0dG9uOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjYgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG59XG5cbi5zdG9wQnV0dG9uIHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLnN0b3BCdXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHJnYmEoMjQ4LCAxMTMsIDExMywgMC44KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vKiBWb2ljZSBjYWxsIGluZGljYXRvciBiYXIgKi9cbi52b2ljZUNhbGxJbmRpY2F0b3JCYXIge1xuICAgIGdyaWQtYXJlYTog8J+fpjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgzNCwgMTk3LCA5NCwgMC4xKSAwJSwgcmdiYSgxNiwgMTg1LCAxMjksIDAuMSkgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDE5NywgOTQsIDAuMyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbn1cblxuLyogVm9pY2UgY2FsbCBpbmRpY2F0b3IgKi9cbi52b2ljZUNhbGxJbmRpY2F0b3Ige1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgzNCwgMTk3LCA5NCwgMC4yKSAwJSwgcmdiYSgxNiwgMTg1LCAxMjksIDAuMikgMTAwJSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMTk3LCA5NCwgMC40KTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGNvbG9yOiAjMTBiOTgxO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgzNCwgMTk3LCA5NCwgMC4yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi52b2ljZUNhbGxJbmRpY2F0b3Igc3ZnIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYW5pbWF0aW9uOiB2b2ljZUNhbGxJY29uUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi52b2ljZUNhbGxJbmRpY2F0b3Igc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLyogVm9pY2UgY2FsbCBwdWxzZSBhbmltYXRpb24gKi9cbi52b2ljZUNhbGxQdWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZDogIzEwYjk4MTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiB2b2ljZUNhbGxQdWxzZSAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHZvaWNlQ2FsbEljb25QdWxzZSB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB2b2ljZUNhbGxQdWxzZSB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEuMyk7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG59XG5cbi8qIFZvaWNlIGNhbGwgaW5kaWNhdG9yIGluIG1lc3NhZ2VzICovXG4uY2hhdE1lc3NhZ2UgLnZvaWNlQ2FsbEluZGljYXRvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xufVxuXG4uY2hhdE1lc3NhZ2UgLnZvaWNlQ2FsbEluZGljYXRvciBzdmcge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbn1cblxuLyogRmVlZGJhY2sgc3RhdHVzIGJhbm5lciAqL1xuLmZlZWRiYWNrU3RhdHVzIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDE0cHggMjJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAzMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4zNSk7XG4gICAgei1pbmRleDogMTAwMDA7IC8qIFtGaXggei1pbmRleF06IEVuc3VyZSBpdCdzIGFib3ZlIHRoZSBoZWFkZXIgKHotNTApIGFuZCBvdGhlciBVSSBlbGVtZW50cyAqL1xuICAgIGFuaW1hdGlvbjogZmVlZGJhY2tTdGF0dXNTbGlkZUluIDAuMjhzIGVhc2Utb3V0O1xuICAgIG1heC13aWR0aDogMzQwcHg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZmVlZGJhY2tTdGF0dXNTdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTBiOTgxIDAlLCAjMDU5NjY5IDEwMCUpO1xuICAgIGNvbG9yOiAjZjhmYWZjO1xufVxuXG4uZmVlZGJhY2tTdGF0dXNFcnJvciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2VmNDQ0NCAwJSwgI2RjMjYyNiAxMDAlKTtcbiAgICBjb2xvcjogI2ZlZjJmMjtcbn1cblxuQGtleWZyYW1lcyBmZWVkYmFja1N0YXR1c1NsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4vKiBNb2JpbGUgcmVzcG9uc2l2ZW5lc3MgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5DaGF0IHtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemU6IDM2cHg7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLW1heC13aWR0aDogbWluKFxuICAgICAgICAgICAgODUlLFxuICAgICAgICAgICAgNTYwcHgsXG4gICAgICAgICAgICBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApKVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwOiAxMHB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy15OiAxNHB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy14OiAxOHB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemU6IDQ0cHg7XG4gICAgfVxuXG4gICAgLmNvbnN0cmFpbmVkQXJ0aWNsZVZpc3VhbCB7XG4gICAgICAgIC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZTogY2xhbXAoMjRweCwgNnZ3LCAzNnB4KTtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMTJweCAxNnB4IDA7XG4gICAgICAgIGdhcDogNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlcyB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIC5tZXNzYWdlU3RhY2sge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0LmFydGljbGVNb2RlQWdlbnRNZXNzYWdlVGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDJweCAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY4O1xuICAgIH1cblxuICAgIC5hcnRpY2xlTW9kZU1lc3NhZ2VBY3Rpb25zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDhweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHB4O1xuICAgIH1cblxuICAgIC8qIFvjipfvuI9dXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciBpbWcge1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICB9XG4gICAgKi9cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDE2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgfVxuXG4gICAgLnNwZWVjaFN0YXR1c0J1YmJsZSB7XG4gICAgICAgIHJpZ2h0OiAxNHB4O1xuICAgICAgICBib3R0b206IDc2cHg7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjhweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgcGFkZGluZzogN3B4IDExcHg7XG4gICAgfVxuXG4gICAgLmRpY3RhdGlvblNldHRpbmdzUGFuZWwge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIH1cblxuICAgIC5zY3JvbGxUb0JvdHRvbSB7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAxNjBweCk7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0QnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0QnV0dG9uVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWxDb250ZW50LmltYWdlQXR0YWNobWVudE1vZGFsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMycHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDMycHgpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zdGFycyB7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5zdGFycyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuXG4gICAgLnJhdGluZ0FjdGlvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdBY3Rpb25zIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxNHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxuXG4gICAgLnNlbGZMZWFybmluZ01vZGFsSGVhZGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnNlbGZMZWFybmluZ0F2YXRhckdyb3VwIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5zZWxmTGVhcm5pbmdNZXRhUm93IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuQ2hhdCB7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLW1pbi13aWR0aDogODBweDtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemU6IDMycHg7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLW1heC13aWR0aDogbWluKFxuICAgICAgICAgICAgOTAlLFxuICAgICAgICAgICAgNTIwcHgsXG4gICAgICAgICAgICBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApKVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwOiA4cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXk6IDEycHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXg6IDE2cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZTogNDBweDtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogOHB4IDEycHggMDtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgICAgICBtYXJnaW46IDAgMCA0cHg7XG4gICAgfVxuXG4gICAgLyogW+OKl++4j11cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZyB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIH1cbiAgICAqL1xuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTJweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5zcGVlY2hTdGF0dXNCdWJibGUge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgYm90dG9tOiA3MnB4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIH1cblxuICAgIC5kaWN0YXRpb25Db3JyZWN0aW9uQWN0aW9ucyxcbiAgICAuZGljdGF0aW9uRXJyb3JBY3Rpb25zIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNjcm9sbFRvQm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDE0MHB4KTtcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsW2RhdGEtY2hhdC1tb2RhbD0naW1hZ2UtYXR0YWNobWVudCddIHtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWxbZGF0YS1jaGF0LW1vZGFsPSdjaXRhdGlvbi1icm93c2VyJ10ge1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsQ29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMTZweCAyMHB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQuaW1hZ2VBdHRhY2htZW50TW9kYWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI0cHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDI0cHgpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQuY2l0YXRpb25Ccm93c2VyTW9kYWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDE2cHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDE2cHgpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIH1cblxuICAgIC5jaXRhdGlvbkJyb3dzZXJNb2RhbCAubGl2ZUJyb3dzZXJQcmV2aWV3U3RyZWFtQXJlYSB7XG4gICAgICAgIGhlaWdodDogNTh2aDtcbiAgICAgICAgbWluLWhlaWdodDogbWluKDMyMHB4LCBjYWxjKDEwMGR2aCAtIDExMnB4KSk7XG4gICAgfVxuXG4gICAgLmltYWdlQXR0YWNobWVudE1vZGFsSGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMTZweCA1NnB4IDEycHggMTZweDtcbiAgICB9XG5cbiAgICAuaW1hZ2VBdHRhY2htZW50TW9kYWxQcmV2aWV3IHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDk2cHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDk2cHgpO1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgIH1cblxuICAgIC5pbWFnZUF0dGFjaG1lbnRNb2RhbEltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEyMHB4KTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSAxMjBweCk7XG4gICAgfVxufVxuXG4vKiBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0ICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLFxuICAgIC5zY3JvbGxUb0JvdHRvbSxcbiAgICAucmF0aW5nTW9kYWwsXG4gICAgLnJhdGluZ01vZGFsQ29udGVudCxcbiAgICAuZmVlZGJhY2tTdGF0dXMge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0LFxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSxcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uLFxuICAgIC8qIFvjipfvuI9dIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIgaW1nLCAqL1xuICAgIC5jaGF0QnV0dG9uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi8qIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0ICovXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICB9XG59XG5cbi8qIEVtYWlsIG1vZGFsIHN0eWxlcyAqL1xuLmVtYWlsQ29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi5lbWFpbE1vZGFsSGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4uZW1haWxIZWFkZXJUZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG59XG5cbi5lbWFpbEhlYWRlckxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4uZW1haWxNZXRhZGF0YSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMThweCAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5lbWFpbEZpZWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmVtYWlsRmllbGQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVtYWlsRmllbGQgc3Ryb25nIHtcbiAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgY29sb3I6ICM2NDc0OGI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmVtYWlsUmVjaXBpZW50cyB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmVtYWlsQm9keSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmVtYWlsQm9keSBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgY29sb3I6ICM2NDc0OGI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5lbWFpbEJvZHlDb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLmVtYWlsQm9keUNvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAwIDAgMTJweCAwO1xufVxuXG4uZW1haWxCb2R5Q29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5icm93c2VyUnVuTW9kYWxIZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOGZhZmMgMCUsICNlY2ZlZmYgNDAlLCAjZWNmY2NiIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJlYWZlO1xufVxuXG4uYnJvd3NlclJ1bkhlYWRlclRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbn1cblxuLmJyb3dzZXJSdW5IZWFkZXJTdGF0dXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzQ3NTQ2NztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmJyb3dzZXJSdW5IZWFkZXJMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbn1cblxuLmJyb3dzZXJSdW5NZXRhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE2cHggMThweDtcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLmJyb3dzZXJSdW5XYXJuaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmYmJmMjQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmYmViO1xuICAgIGNvbG9yOiAjOTI0MDBlO1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbn1cblxuLmJyb3dzZXJSdW5FcnJvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmNhNWE1O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZjJmMjtcbiAgICBjb2xvcjogIzdmMWQxZDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG59XG5cbi5icm93c2VyUnVuRXJyb3JTdW1tYXJ5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5icm93c2VyUnVuRXJyb3JTdGVwcyB7XG4gICAgbWFyZ2luOiA4cHggMCAwO1xuICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5icm93c2VyUnVuRGVidWdEZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYnJvd3NlclJ1bkRlYnVnRGV0YWlscyBzdW1tYXJ5IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICM3ZjFkMWQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmJyb3dzZXJSdW5EZWJ1Z0RldGFpbHMgcHJlIHtcbiAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjdlZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmVkN2FhO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbi5icm93c2VyUnVuRmFsbGJhY2tDb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDE0cHggMTZweDtcbn1cblxuLmJyb3dzZXJSdW5TdGF0dXNCYW5uZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjI4KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTUpO1xuICAgIGNvbG9yOiAjMzM0MTU1O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhR3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCAxZnIpKTtcbiAgICBnYXA6IDE0cHg7XG59XG5cbi5icm93c2VyUnVuTWVkaWFDYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuTWVkaWFDYXJkSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi5icm93c2VyUnVuTWVkaWFUaXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhQ2FwdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhSW1hZ2UsXG4uYnJvd3NlclJ1bk1lZGlhVmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIG1heC1oZWlnaHQ6IDI2MHB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5icm93c2VyUnVuQWN0aW9uTG9nIHtcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25Mb2dUaXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbkxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbkl0ZW0ge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjkpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uUGVuZGluZyB7XG4gICAgb3BhY2l0eTogMC44Mjtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25SdW5uaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTQsIDE2NSwgMjMzLCAwLjM1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0LCAxNjUsIDIzMywgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uQ29tcGxldGUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNiwgMTg1LCAxMjksIDAuMjIpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjA4KTtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25FcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjI0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjA4KTtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25TdGF0ZSB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICNjYmQ1ZTE7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uU3RhdGVSdW5uaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGVhNWU5O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDE0LCAxNjUsIDIzMywgMC4xNCk7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uU3RhdGVDb21wbGV0ZSB7XG4gICAgYmFja2dyb3VuZDogIzEwYjk4MTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgxNiwgMTg1LCAxMjksIDAuMTIpO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvblN0YXRlRXJyb3Ige1xuICAgIGJhY2tncm91bmQ6ICNlZjQ0NDQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTIpO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbk1ldGEge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAgIC5DaGF0IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2Y4ZmFmYyAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IHtcbiAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXMge1xuICAgICAgICBwYWRkaW5nOiA0OHB4IDQwcHggNjRweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCByZ2JhKDIsIDYsIDIzLCAwLjk4KSwgcmdiYSgxNSwgMjMsIDQyLCAwLjkyKSkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU2LCAxODksIDI0OCwgMC4zMikgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0MHB4IDgwcHggcmdiYSgwLCAwLCAwLCAwLjM1KSBpbnNldCAhaW1wb3J0YW50O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2Uge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgMTQ1ZGVnLFxuICAgICAgICAgICAgdmFyKC0tYWdlbnQtY2hhdC1icmFuZC1jb2xvci1saWdodCwgIzdkZDNmYyksXG4gICAgICAgICAgICB2YXIoLS1hZ2VudC1jaGF0LWJyYW5kLWNvbG9yLCAjMGVhNWU5KVxuICAgICAgICApICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjZjhmYWZjICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDE4cHggNDBweCByZ2JhKDIsIDYsIDIzLCAwLjYpIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDE4cHggMjJweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y4ZmJmZiAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzBmMTcyYSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNDUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4zKSBpbnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1lc3NhZ2VNZXRhLFxuICAgIC5wYXJ0aWNpcGFudExhYmVsIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjI2LCAyMzIsIDI0MCwgMC44KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hY3Rpb25zLFxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCxcbiAgICAuc2Nyb2xsVG9Cb3R0b20sXG4gICAgLmZlZWRiYWNrU3RhdHVzLFxuICAgIC52b2ljZUNhbGxJbmRpY2F0b3JCYXIsXG4gICAgLnZvaWNlQ2FsbEluZGljYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY29weUJ1dHRvbkNvbnRhaW5lcixcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlcyA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uZW1haWxTdGF0dXMge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qKlxuICogVE9ETzogW/CfjIldIERSWSBNYXJrZG93biBwcmltaXRpdmVzIHN0eWxpbmdcbiAqL1xuLyogSW1hZ2UgcHJvbXB0IHByZXZpZXcgc3R5bGVzICovXG4uaW1hZ2VQcm9tcHQge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjM1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5pbWFnZVByb21wdFByZXZpZXcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWluLWhlaWdodDogMTYwcHg7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDE1LCAxMTgsIDI1NSwgMC4wNSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSk7XG59XG5cbi5pbWFnZVByb21wdEltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pbWFnZVByb21wdFBsYWNlaG9sZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaW1hZ2VQcm9tcHRTcGlubmVyIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzI1NjNlYjtcbiAgICBhbmltYXRpb246IGltYWdlUHJvbXB0U3Bpbm5lciAwLjlzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBpbWFnZVByb21wdFNwaW5uZXIge1xuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi5pbWFnZVByb21wdE1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLmltYWdlUHJvbXB0UHJvbXB0IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzExMTtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLmltYWdlUHJvbXB0U3RhdHVzIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICM2YjcyODA7XG59XG5cbi5pbWFnZVByb21wdEVycm9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogI2RjMjYyNjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyMCwgMzgsIDM4LCAwLjA4KTtcbn1cblxuLnJpY2hGZWF0dXJlUGxhY2Vob2xkZXIge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSg1NiwgMTg5LCAyNDgsIDAuMTIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5yaWNoRmVhdHVyZVBsYWNlaG9sZGVyU3Bpbm5lciB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjJkM2VlO1xuICAgIGFuaW1hdGlvbjogcmljaEZlYXR1cmVTcGlubmVyIDAuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG4ucmljaEZlYXR1cmVQbGFjZWhvbGRlckNvcHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnJpY2hGZWF0dXJlUGxhY2Vob2xkZXJUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi5yaWNoRmVhdHVyZVBsYWNlaG9sZGVyU3RhdHVzIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5wcm9ncmVzc1BhbmVsIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yNCk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyMzksIDI0NiwgMjU1LCAwLjk0KSwgcmdiYSgyMTksIDIzNCwgMjU0LCAwLjg2KSk7XG4gICAgcGFkZGluZzogMTJweCAxM3B4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5wcm9ncmVzc1BhbmVsVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5wcm9ncmVzc1BhbmVsVGl0bGUgcCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucHJvZ3Jlc3NQYW5lbFNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLnByb2dyZXNzUGFuZWxTZWN0aW9uTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzFkNGVkODtcbn1cblxuLnByb2dyZXNzUGFuZWxTZWN0aW9uQm9keSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbFNlY3Rpb25Cb2R5IHAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnByb2dyZXNzUGFuZWxMaXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDZweDtcbn1cblxuLnByb2dyZXNzUGFuZWxMaXN0SXRlbSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byAxZnI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5wcm9ncmVzc1BhbmVsTGlzdEJ1bGxldCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMjU2M2ViO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbEl0ZW1TcGlubmVyIHtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMzcsIDk5LCAyMzUsIDAuMjYpO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyNTYzZWI7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzc1BhbmVsU3Bpbm5lciAwLjc1cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbEl0ZW1Db21wbGV0ZWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDExcHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4xNik7XG4gICAgY29sb3I6ICMxNTgwM2Q7XG4gICAgZm9udC1zaXplOiA5cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnByb2dyZXNzUGFuZWxJdGVtVGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbEl0ZW1UZXh0IHAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuQGtleWZyYW1lcyBwcm9ncmVzc1BhbmVsU3Bpbm5lciB7XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByaWNoRmVhdHVyZVNwaW5uZXIge1xuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG4iXX0= */";
23336
+ var styles$7 = {"copiedToClipboardMessage":"Chat-module_copiedToClipboardMessage__apCPY","Chat":"Chat-module_Chat__j2eE5","constrainedArticleVisual":"Chat-module_constrainedArticleVisual__0axxM","chatMainFlow":"Chat-module_chatMainFlow__--8FE","chatBar":"Chat-module_chatBar__fLECN","TasksInProgress":"Chat-module_TasksInProgress__fQfei","actions":"Chat-module_actions__gTZ5T","portal":"Chat-module_portal__uTOT8","left":"Chat-module_left__7l5Mn","right":"Chat-module_right__ABZrW","actionsFaded":"Chat-module_actionsFaded__qqAVQ","actionsScrolling":"Chat-module_actionsScrolling__fIawW","chatButton":"Chat-module_chatButton__d9VgA","chatButtonText":"Chat-module_chatButtonText__RkGB-","useTemplateButton":"Chat-module_useTemplateButton__xcJNR","chatChildren":"Chat-module_chatChildren__flOPK","chatMessages":"Chat-module_chatMessages__J2u2N","articleModeChatMessages":"Chat-module_articleModeChatMessages__ufofT","chatMessage":"Chat-module_chatMessage__nmLaZ","articleModeAgentMessage":"Chat-module_articleModeAgentMessage__Y79L7","messageStack":"Chat-module_messageStack__n0xNL","hasActionsAndFirstMessageIsLong":"Chat-module_hasActionsAndFirstMessageIsLong__5jgoZ","messageSlideIn":"Chat-module_messageSlideIn__soTy2","isMe":"Chat-module_isMe__nBtaV","avatar":"Chat-module_avatar__gL6bm","articleModeAgentAvatar":"Chat-module_articleModeAgentAvatar__UCKDX","messageWithMap":"Chat-module_messageWithMap__X5dr0","messageMeta":"Chat-module_messageMeta__eqCRu","messageLifecycleBadge":"Chat-module_messageLifecycleBadge__4jDDc","messageTimestamp":"Chat-module_messageTimestamp__LDhRw","messageDuration":"Chat-module_messageDuration__Y9Kg9","messageReplyButton":"Chat-module_messageReplyButton__S5hXM","messageReplyButtonIcon":"Chat-module_messageReplyButtonIcon__2Nk3i","messageLifecycleError":"Chat-module_messageLifecycleError__m-FO-","participantLabel":"Chat-module_participantLabel__0Oo-3","isNotCompleteMessage":"Chat-module_isNotCompleteMessage__Hj2K7","NonCompleteMessageFiller":"Chat-module_NonCompleteMessageFiller__G5-Ve","messageText":"Chat-module_messageText__XgNyQ","loadingPulse":"Chat-module_loadingPulse__VomRm","toolCallChips":"Chat-module_toolCallChips__UWgC1","sourceCitations":"Chat-module_sourceCitations__oDtBX","citationFootnotes":"Chat-module_citationFootnotes__LAWdh","citationFootnoteItem":"Chat-module_citationFootnoteItem__JXTAX","citationFootnoteNumber":"Chat-module_citationFootnoteNumber__CMmm9","toolCallChip":"Chat-module_toolCallChip__koN18","toolCallChipOngoing":"Chat-module_toolCallChipOngoing__wKcDY","toolCallChipStatus":"Chat-module_toolCallChipStatus__I-nl9","teamToolCall":"Chat-module_teamToolCall__5F45R","transitiveToolCall":"Chat-module_transitiveToolCall__WcaaK","teamAgentChip":"Chat-module_teamAgentChip__mvgtY","transitiveAgentChip":"Chat-module_transitiveAgentChip__zNOJf","toolCallLabel":"Chat-module_toolCallLabel__q7EFf","toolCallWithError":"Chat-module_toolCallWithError__AtQqO","toolCallOrigin":"Chat-module_toolCallOrigin__-Io6Y","toolCallDetails":"Chat-module_toolCallDetails__WUFlD","toolCallData":"Chat-module_toolCallData__UauCO","toolCallChipSpinner":"Chat-module_toolCallChipSpinner__ZGTwl","toolCallSpinner":"Chat-module_toolCallSpinner__LSiK6","typingIndicator":"Chat-module_typingIndicator__S-CT-","typingBubble":"Chat-module_typingBubble__0Lb7B","typingDots":"Chat-module_typingDots__srOBB","typingDot":"Chat-module_typingDot__dnhKT","typingBounce":"Chat-module_typingBounce__1yp2v","ratingStar":"Chat-module_ratingStar__rRfqC","feedbackStar":"Chat-module_feedbackStar__tC7XH","feedbackStarIcon":"Chat-module_feedbackStarIcon__BuPen","articleModeAgentMessageText":"Chat-module_articleModeAgentMessageText__vBlIP","replyEnabledMessageText":"Chat-module_replyEnabledMessageText__-SV9f","replySwipeActive":"Chat-module_replySwipeActive__dhAqt","replySwipeIndicator":"Chat-module_replySwipeIndicator__u92JU","replySwipeIndicatorRight":"Chat-module_replySwipeIndicatorRight__3CoAW","replySwipeIndicatorActive":"Chat-module_replySwipeIndicatorActive__m9gwU","replySwipeIndicatorIcon":"Chat-module_replySwipeIndicatorIcon__0K1SX","replyPreview":"Chat-module_replyPreview__Lt-Bg","replyBubblePreview":"Chat-module_replyBubblePreview__DNe3r","replyComposerPreview":"Chat-module_replyComposerPreview__80Wdf","replyPreviewAccent":"Chat-module_replyPreviewAccent__Uo3pe","replyPreviewBody":"Chat-module_replyPreviewBody__reKG-","replyPreviewHeading":"Chat-module_replyPreviewHeading__IeegE","replyPreviewLabel":"Chat-module_replyPreviewLabel__J-BrF","replyPreviewSender":"Chat-module_replyPreviewSender__z6SYu","replyPreviewText":"Chat-module_replyPreviewText__cY-Hc","replyPreviewDismissButton":"Chat-module_replyPreviewDismissButton__-L9MF","copyButtonContainer":"Chat-module_copyButtonContainer__Rij0U","articleModeMessageActions":"Chat-module_articleModeMessageActions__h2qaG","articleModeMessageControls":"Chat-module_articleModeMessageControls__hncCw","messageControlGroup":"Chat-module_messageControlGroup__gAo4k","copyButton":"Chat-module_copyButton__DcxT5","playButton":"Chat-module_playButton__ZigYL","playButtonIcon":"Chat-module_playButtonIcon__wPErq","playButtonSpinner":"Chat-module_playButtonSpinner__Ad33i","messagePlaySpinner":"Chat-module_messagePlaySpinner__ldlvy","copiedTooltip":"Chat-module_copiedTooltip__LH81j","copiedTooltipFadeIn":"Chat-module_copiedTooltipFadeIn__QekO1","copiedTooltipLeft":"Chat-module_copiedTooltipLeft__j-S-5","copiedTooltipRight":"Chat-module_copiedTooltipRight__R-2cE","attachments":"Chat-module_attachments__m1Fts","attachment":"Chat-module_attachment__aE9hK","attachmentWithRemove":"Chat-module_attachmentWithRemove__n2-O6","attachmentMainAction":"Chat-module_attachmentMainAction__Onkl3","attachmentRemoveButton":"Chat-module_attachmentRemoveButton__dC5ne","attachmentName":"Chat-module_attachmentName__aMx56","attachmentIcon":"Chat-module_attachmentIcon__BX3Cy","messageButtons":"Chat-module_messageButtons__WaOob","messageButton":"Chat-module_messageButton__mRnn-","actionMessageButton":"Chat-module_actionMessageButton__avcbv","rating":"Chat-module_rating__soc3M","articleModeRating":"Chat-module_articleModeRating__dwZqm","feedbackIssueButton":"Chat-module_feedbackIssueButton__9NrrF","chatInput":"Chat-module_chatInput__1Ecan","articleModeChatInput":"Chat-module_articleModeChatInput__zBTV4","speechStatusBubble":"Chat-module_speechStatusBubble__qBBWI","dragOverlay":"Chat-module_dragOverlay__SEGoS","fullPageVisual":"Chat-module_fullPageVisual__zNAEy","dragOver":"Chat-module_dragOver__bkS-g","filePreviewContainer":"Chat-module_filePreviewContainer__R70hm","filePreview":"Chat-module_filePreview__kq2aX","fileIcon":"Chat-module_fileIcon__zoSKW","fileInfo":"Chat-module_fileInfo__wBLi0","fileName":"Chat-module_fileName__bBujo","fileSize":"Chat-module_fileSize__ivliq","removeFileButton":"Chat-module_removeFileButton__0gakR","inputContainer":"Chat-module_inputContainer__bPt99","attachmentButton":"Chat-module_attachmentButton__qLO47","voiceButton":"Chat-module_voiceButton__d2zlP","voiceButtonActive":"Chat-module_voiceButtonActive__Uoi3W","voiceRecordingPulse":"Chat-module_voiceRecordingPulse__y2wJ5","speechStatusBubbleIn":"Chat-module_speechStatusBubbleIn__PBm-c","speechStatusBubbleDot":"Chat-module_speechStatusBubbleDot__APu53","speechStatusBubbleDotPulse":"Chat-module_speechStatusBubbleDotPulse__Guqsu","speechStatusBubbleRecording":"Chat-module_speechStatusBubbleRecording__faJs2","speechStatusBubbleProcessing":"Chat-module_speechStatusBubbleProcessing__Crbuu","speechStatusBubbleError":"Chat-module_speechStatusBubbleError__Nd-Aj","dictationPanel":"Chat-module_dictationPanel__kzbyG","dictationPanelHeader":"Chat-module_dictationPanelHeader__rHXTh","dictationPanelTitle":"Chat-module_dictationPanelTitle__sO9XH","dictationPanelToggle":"Chat-module_dictationPanelToggle__z3HMx","dictationInterimTranscript":"Chat-module_dictationInterimTranscript__eAbMI","dictationErrorPanel":"Chat-module_dictationErrorPanel__mjbM7","dictationErrorActions":"Chat-module_dictationErrorActions__K3ykb","dictationCorrectionActions":"Chat-module_dictationCorrectionActions__ssE7i","dictationCorrectionPanel":"Chat-module_dictationCorrectionPanel__5nh9M","dictationCorrectionLabel":"Chat-module_dictationCorrectionLabel__U4uzT","dictationCorrectionTextarea":"Chat-module_dictationCorrectionTextarea__5ovj9","dictationSettingsPanel":"Chat-module_dictationSettingsPanel__0gI-V","dictationFallbackNote":"Chat-module_dictationFallbackNote__919pE","uploadProgress":"Chat-module_uploadProgress__jBTKe","uploadProgressBar":"Chat-module_uploadProgressBar__Gutnt","uploadProgressFill":"Chat-module_uploadProgressFill__EgubT","dragOverlayContent":"Chat-module_dragOverlayContent__gb9kF","scrollToBottomContainer":"Chat-module_scrollToBottomContainer__5rXpK","scrollToBottomWrapper":"Chat-module_scrollToBottomWrapper__PCIu1","scrollButtonSlideIn":"Chat-module_scrollButtonSlideIn__XnImg","scrollToBottom":"Chat-module_scrollToBottom__nzxdZ","scrollToBottomBadge":"Chat-module_scrollToBottomBadge__N6T6-","ratingModal":"Chat-module_ratingModal__XVKYm","modalFadeIn":"Chat-module_modalFadeIn__RPc3w","ratingModalContent":"Chat-module_ratingModalContent__CCdq7","modalSlideIn":"Chat-module_modalSlideIn__XXtgN","stars":"Chat-module_stars__PCzNO","ratingModalStar":"Chat-module_ratingModalStar__XkbHr","toolCallModal":"Chat-module_toolCallModal__uNaIK","citationBrowserModal":"Chat-module_citationBrowserModal__jYU4c","citationBrowserModalBody":"Chat-module_citationBrowserModalBody__lvTWb","imageAttachmentModal":"Chat-module_imageAttachmentModal__Ef6L5","imageAttachmentModalHeader":"Chat-module_imageAttachmentModalHeader__onK3Z","imageAttachmentModalTitle":"Chat-module_imageAttachmentModalTitle__AhuMt","imageAttachmentModalPreview":"Chat-module_imageAttachmentModalPreview__gXDer","imageAttachmentModalImage":"Chat-module_imageAttachmentModalImage__t61oG","toolCallHeader":"Chat-module_toolCallHeader__ZaTZF","toolCallIcon":"Chat-module_toolCallIcon__UgRKj","toolCallHeaderMeta":"Chat-module_toolCallHeaderMeta__iAL-U","toolCallModalLabel":"Chat-module_toolCallModalLabel__4dBP4","toolCallTitle":"Chat-module_toolCallTitle__jhL0A","toolCallSubtitle":"Chat-module_toolCallSubtitle__a2GIO","toolCallGrid":"Chat-module_toolCallGrid__Nfr7N","toolCallPanel":"Chat-module_toolCallPanel__kQZE9","toolCallPanelTitle":"Chat-module_toolCallPanelTitle__-7OtJ","toolCallList":"Chat-module_toolCallList__5co3s","toolCallItem":"Chat-module_toolCallItem__k7W5Z","toolCallItemLabel":"Chat-module_toolCallItemLabel__d3C1E","toolCallItemValue":"Chat-module_toolCallItemValue__cStQ0","toolCallSummary":"Chat-module_toolCallSummary__wGZwg","toolCallSummaryMeta":"Chat-module_toolCallSummaryMeta__RXiSv","toolCallSummaryMetaBadge":"Chat-module_toolCallSummaryMetaBadge__JBi-I","toolCallEmpty":"Chat-module_toolCallEmpty__bUz5v","toolCallPendingCard":"Chat-module_toolCallPendingCard__L3m7T","toolCallPendingHeader":"Chat-module_toolCallPendingHeader__U3htF","toolCallPendingTitle":"Chat-module_toolCallPendingTitle__4fwLL","toolCallPendingBadge":"Chat-module_toolCallPendingBadge__bgY3c","toolCallPendingMessage":"Chat-module_toolCallPendingMessage__grnao","toolCallPendingSkeleton":"Chat-module_toolCallPendingSkeleton__Td5Cu","toolCallPendingSkeletonLine":"Chat-module_toolCallPendingSkeletonLine__Vldel","toolCallPendingSkeletonPulse":"Chat-module_toolCallPendingSkeletonPulse__aKDNI","toolCallPendingSkeletonShort":"Chat-module_toolCallPendingSkeletonShort__FnR-X","toolCallDetailsCard":"Chat-module_toolCallDetailsCard__UJthw","toolCallDetailsCardRow":"Chat-module_toolCallDetailsCardRow__-VhfA","toolCallIssues":"Chat-module_toolCallIssues__evhYM","toolCallIssueBadge":"Chat-module_toolCallIssueBadge__Qbwdp","toolCallIssueError":"Chat-module_toolCallIssueError__LImeS","toolCallIssueWarning":"Chat-module_toolCallIssueWarning__chQDf","agentProjectStatus":"Chat-module_agentProjectStatus__870th","agentProjectStatusDot":"Chat-module_agentProjectStatusDot__vCMF3","agentProjectStatusRunning":"Chat-module_agentProjectStatusRunning__a4-Ud","agentProjectStatusStopped":"Chat-module_agentProjectStatusStopped__tcH0J","agentProjectLinks":"Chat-module_agentProjectLinks__KW0Wb","agentProjectLink":"Chat-module_agentProjectLink__FmkLh","agentProjectChange":"Chat-module_agentProjectChange__4Lyg8","agentProjectChangeSummary":"Chat-module_agentProjectChangeSummary__qu418","agentProjectChangeCount":"Chat-module_agentProjectChangeCount__9xuW2","agentProjectChangeCountAdded":"Chat-module_agentProjectChangeCountAdded__pE41j","agentProjectChangeCountRemoved":"Chat-module_agentProjectChangeCountRemoved__xa0-y","agentProjectCommit":"Chat-module_agentProjectCommit__QZ6dK","agentProjectChangedFiles":"Chat-module_agentProjectChangedFiles__yVStZ","agentProjectChangedFile":"Chat-module_agentProjectChangedFile__Xf46Y","agentProjectChangedFilePath":"Chat-module_agentProjectChangedFilePath__2nsAO","agentProjectChangedFileCounts":"Chat-module_agentProjectChangedFileCounts__rQbeL","agentProjectDiff":"Chat-module_agentProjectDiff__FYtgG","agentProjectDiffCode":"Chat-module_agentProjectDiffCode__WsR6G","agentProjectDiffLine":"Chat-module_agentProjectDiffLine__hHaES","agentProjectDiffLineAdded":"Chat-module_agentProjectDiffLineAdded__yOyL0","agentProjectDiffLineRemoved":"Chat-module_agentProjectDiffLineRemoved__P97hq","agentProjectDiffLineHunk":"Chat-module_agentProjectDiffLineHunk__cq-md","agentProjectDiffLineMeta":"Chat-module_agentProjectDiffLineMeta__j9MVq","agentProjectDiffTruncated":"Chat-module_agentProjectDiffTruncated__dUwJs","toolCallModeFooter":"Chat-module_toolCallModeFooter__XaRqI","toolCallModeButton":"Chat-module_toolCallModeButton__zlcca","toolCallClockPanel":"Chat-module_toolCallClockPanel__h4xZd","toolCallClockLabels":"Chat-module_toolCallClockLabels__KJGxe","toolCallClockPrimary":"Chat-module_toolCallClockPrimary__StLQ8","toolCallClockSecondary":"Chat-module_toolCallClockSecondary__O4WaT","toolCallClockMeta":"Chat-module_toolCallClockMeta__aObb7","timeoutToolSummary":"Chat-module_timeoutToolSummary__kPPvu","timeoutToolPrimarySentence":"Chat-module_timeoutToolPrimarySentence__pQfLn","timeoutToolSecondarySentence":"Chat-module_timeoutToolSecondarySentence__iH5Uc","timeoutToolActionRow":"Chat-module_timeoutToolActionRow__occir","timeoutToolActionButton":"Chat-module_timeoutToolActionButton__8yz0R","memoryModalHeader":"Chat-module_memoryModalHeader__SpZJT","memoryModalIcon":"Chat-module_memoryModalIcon__eYbli","memoryModalHeaderText":"Chat-module_memoryModalHeaderText__S6MZG","memoryModalTitle":"Chat-module_memoryModalTitle__zzbaQ","memoryModalSubtitle":"Chat-module_memoryModalSubtitle__PStci","memoryModalStatus":"Chat-module_memoryModalStatus__bmrfc","memoryStatusDot":"Chat-module_memoryStatusDot__c0oVs","memoryModalContent":"Chat-module_memoryModalContent__8E7oj","memoryMessage":"Chat-module_memoryMessage__q0pNK","memoryMetaRow":"Chat-module_memoryMetaRow__Hc-Xp","memoryMetaLabel":"Chat-module_memoryMetaLabel__LFx11","memoryMetaValue":"Chat-module_memoryMetaValue__4bILO","memoryStoreSection":"Chat-module_memoryStoreSection__qQJPN","memoryRetrieveSection":"Chat-module_memoryRetrieveSection__VbuS4","memoryCard":"Chat-module_memoryCard__-kIDN","memoryCardContent":"Chat-module_memoryCardContent__l9S4G","memoryCardMeta":"Chat-module_memoryCardMeta__K66KE","memoryScopeBadge":"Chat-module_memoryScopeBadge__T2ACc","memoryList":"Chat-module_memoryList__pUOg2","memoryEmptyState":"Chat-module_memoryEmptyState__fPrXA","memoryListFooter":"Chat-module_memoryListFooter__Y0Q2Z","memoryStatusSuccess":"Chat-module_memoryStatusSuccess__4bhfo","memoryStatusWarning":"Chat-module_memoryStatusWarning__AR6yh","memoryStatusError":"Chat-module_memoryStatusError__ZNAT6","memoryStatusNeutral":"Chat-module_memoryStatusNeutral__Fa-4M","searchModalHeader":"Chat-module_searchModalHeader__Y8V-w","selfLearningModalHeader":"Chat-module_selfLearningModalHeader__PDIt1","selfLearningAvatarGroup":"Chat-module_selfLearningAvatarGroup__jgy2k","selfLearningAvatar":"Chat-module_selfLearningAvatar__NHXKm","selfLearningAvatarInitial":"Chat-module_selfLearningAvatarInitial__cuw19","selfLearningTeacher":"Chat-module_selfLearningTeacher__fGhX8","selfLearningHeaderText":"Chat-module_selfLearningHeaderText__LTwHL","selfLearningTitle":"Chat-module_selfLearningTitle__G0SAk","selfLearningMetaRow":"Chat-module_selfLearningMetaRow__z4Tg0","selfLearningMeta":"Chat-module_selfLearningMeta__58Pet","selfLearningMetaChip":"Chat-module_selfLearningMetaChip__0go88","selfLearningCommitments":"Chat-module_selfLearningCommitments__7ECnr","selfLearningCommitmentsLabel":"Chat-module_selfLearningCommitmentsLabel__OkDO1","selfLearningBookEditor":"Chat-module_selfLearningBookEditor__CZy5T","selfLearningEmpty":"Chat-module_selfLearningEmpty__vCKHL","modalCloseButton":"Chat-module_modalCloseButton__AAfWS","teamModalHeader":"Chat-module_teamModalHeader__SB5NL","teamHeaderParticipants":"Chat-module_teamHeaderParticipants__KS7aV","teamHeaderProfile":"Chat-module_teamHeaderProfile__xRlcS","teamHeaderProfileLink":"Chat-module_teamHeaderProfileLink__fYTfT","teamHeaderAvatar":"Chat-module_teamHeaderAvatar__vXcTp","teamHeaderName":"Chat-module_teamHeaderName__ygJR9","teamHeaderDivider":"Chat-module_teamHeaderDivider__cnRMd","searchModalIcon":"Chat-module_searchModalIcon__AR5KY","searchModalQuery":"Chat-module_searchModalQuery__5x-Ra","searchModalContent":"Chat-module_searchModalContent__mWLIE","teamChatContainer":"Chat-module_teamChatContainer__xdLtU","teamToolCallSection":"Chat-module_teamToolCallSection__FH9l7","teamToolCallGroup":"Chat-module_teamToolCallGroup__PO6rl","teamToolCallHeading":"Chat-module_teamToolCallHeading__G-JSj","teamToolCallChips":"Chat-module_teamToolCallChips__hRWqh","teamToolCallDetails":"Chat-module_teamToolCallDetails__ZaTtt","teamToolCallDetailsHeader":"Chat-module_teamToolCallDetailsHeader__FPIgI","teamToolCallDetailsTitle":"Chat-module_teamToolCallDetailsTitle__50SeL","teamToolCallDetailsClear":"Chat-module_teamToolCallDetailsClear__8yvu7","searchResultsList":"Chat-module_searchResultsList__xVDUZ","searchResultsRaw":"Chat-module_searchResultsRaw__i3GkD","searchResultItem":"Chat-module_searchResultItem__bTzq5","searchResultUrl":"Chat-module_searchResultUrl__SbrH4","searchResultTitle":"Chat-module_searchResultTitle__XS7zN","searchResultSnippet":"Chat-module_searchResultSnippet__Wsun2","noResults":"Chat-module_noResults__AAv6s","citationDetails":"Chat-module_citationDetails__2v2e1","citationPreview":"Chat-module_citationPreview__rGhCR","citationIframe":"Chat-module_citationIframe__ngzFY","citationIframeLoading":"Chat-module_citationIframeLoading__y5VW9","citationScreenshotFallback":"Chat-module_citationScreenshotFallback__jxfJX","citationScreenshotImage":"Chat-module_citationScreenshotImage__hXjC7","citationScreenshotLink":"Chat-module_citationScreenshotLink__NHvbE","liveBrowserPreview":"Chat-module_liveBrowserPreview__D94Kt","liveBrowserPreviewToolbar":"Chat-module_liveBrowserPreviewToolbar__nFgSV","liveBrowserPreviewToolbarButton":"Chat-module_liveBrowserPreviewToolbarButton__R-ZXl","liveBrowserPreviewZoomLabel":"Chat-module_liveBrowserPreviewZoomLabel__PbrV1","liveBrowserPreviewToolbarCloseButton":"Chat-module_liveBrowserPreviewToolbarCloseButton__gcsb0","liveBrowserPreviewUrlForm":"Chat-module_liveBrowserPreviewUrlForm__4DSda","liveBrowserPreviewUrlInput":"Chat-module_liveBrowserPreviewUrlInput__AugUm","liveBrowserPreviewStreamArea":"Chat-module_liveBrowserPreviewStreamArea__aIhQx","liveBrowserPreviewStreamImage":"Chat-module_liveBrowserPreviewStreamImage__bpTj3","liveBrowserPreviewConnecting":"Chat-module_liveBrowserPreviewConnecting__8Gn40","liveBrowserPreviewOverlay":"Chat-module_liveBrowserPreviewOverlay__eheiG","liveBrowserPreviewOverlayButton":"Chat-module_liveBrowserPreviewOverlayButton__o9SNO","citationMetadata":"Chat-module_citationMetadata__DPaCF","citationExcerpt":"Chat-module_citationExcerpt__VU4BS","citationHint":"Chat-module_citationHint__5AkLx","toolCallDataContainer":"Chat-module_toolCallDataContainer__rdEzC","toolCallPayloadContainer":"Chat-module_toolCallPayloadContainer__v2yVn","toolCallPayloadEditor":"Chat-module_toolCallPayloadEditor__Hklyf","ratingInput":"Chat-module_ratingInput__z8Pv-","ratingActions":"Chat-module_ratingActions__nXcss","downloadButton":"Chat-module_downloadButton__8--bk","saveButtonContainer":"Chat-module_saveButtonContainer__lSNUJ","saveMenu":"Chat-module_saveMenu__-ph8y","saveMenuItem":"Chat-module_saveMenuItem__ISApL","saveMenuDivider":"Chat-module_saveMenuDivider__3ktTM","chatFeedbackPanel":"Chat-module_chatFeedbackPanel__gfOzk","chatFeedbackToggle":"Chat-module_chatFeedbackToggle__IeOM6","chatFeedbackIcon":"Chat-module_chatFeedbackIcon__XcB7A","chatFeedbackMeta":"Chat-module_chatFeedbackMeta__6t2be","chatFeedbackLabel":"Chat-module_chatFeedbackLabel__qQgH3","chatFeedbackDescription":"Chat-module_chatFeedbackDescription__I9bNg","chatFeedbackIndicator":"Chat-module_chatFeedbackIndicator__uHCr7","chatFeedbackIndicatorActive":"Chat-module_chatFeedbackIndicatorActive__bkw-w","chatFeedbackIndicatorInactive":"Chat-module_chatFeedbackIndicatorInactive__qMBkh","pauseButton":"Chat-module_pauseButton__eeu7K","pausing":"Chat-module_pausing__pTx8b","paused":"Chat-module_paused__j-pya","stopButton":"Chat-module_stopButton__dkPOW","voiceCallIndicatorBar":"Chat-module_voiceCallIndicatorBar__N2sWN","voiceCallIndicator":"Chat-module_voiceCallIndicator__tsaaG","voiceCallIconPulse":"Chat-module_voiceCallIconPulse__zZbJn","voiceCallPulse":"Chat-module_voiceCallPulse__XcGU4","feedbackStatus":"Chat-module_feedbackStatus__-df7l","feedbackStatusSlideIn":"Chat-module_feedbackStatusSlideIn__n6bbB","feedbackStatusSuccess":"Chat-module_feedbackStatusSuccess__Ax2q0","feedbackStatusError":"Chat-module_feedbackStatusError__dnv6d","emailContainer":"Chat-module_emailContainer__TBxXZ","emailModalHeader":"Chat-module_emailModalHeader__Z4-CJ","emailHeaderText":"Chat-module_emailHeaderText__1dR6R","emailHeaderLabel":"Chat-module_emailHeaderLabel__7iAEH","emailMetadata":"Chat-module_emailMetadata__8XXGf","emailField":"Chat-module_emailField__pcb03","emailRecipients":"Chat-module_emailRecipients__YVVys","emailBody":"Chat-module_emailBody__OBt-w","emailBodyContent":"Chat-module_emailBodyContent__-vFo2","browserRunModalHeader":"Chat-module_browserRunModalHeader__0AyeK","browserRunHeaderText":"Chat-module_browserRunHeaderText__JUbNv","browserRunHeaderStatus":"Chat-module_browserRunHeaderStatus__uu3Fi","browserRunHeaderLabel":"Chat-module_browserRunHeaderLabel__uKYCb","browserRunMeta":"Chat-module_browserRunMeta__lJkQc","browserRunWarning":"Chat-module_browserRunWarning__ojdEP","browserRunError":"Chat-module_browserRunError__aELQo","browserRunErrorSummary":"Chat-module_browserRunErrorSummary__ygz-g","browserRunErrorSteps":"Chat-module_browserRunErrorSteps__S96nl","browserRunDebugDetails":"Chat-module_browserRunDebugDetails__SZ3VT","browserRunFallbackContent":"Chat-module_browserRunFallbackContent__NYCkp","browserRunStatusBanner":"Chat-module_browserRunStatusBanner__ljIE9","browserRunMediaGrid":"Chat-module_browserRunMediaGrid__KDz3I","browserRunMediaCard":"Chat-module_browserRunMediaCard__focNP","browserRunMediaCardHeader":"Chat-module_browserRunMediaCardHeader__sOfLw","browserRunMediaTitle":"Chat-module_browserRunMediaTitle__a6Ctw","browserRunMediaCaption":"Chat-module_browserRunMediaCaption__LG8E6","browserRunMediaImage":"Chat-module_browserRunMediaImage__UI4pd","browserRunMediaVideo":"Chat-module_browserRunMediaVideo__z2RgF","browserRunActionLog":"Chat-module_browserRunActionLog__YZ0CQ","browserRunActionLogTitle":"Chat-module_browserRunActionLogTitle__XaEIW","browserRunActionList":"Chat-module_browserRunActionList__SOgfd","browserRunActionItem":"Chat-module_browserRunActionItem__1q668","browserRunActionPending":"Chat-module_browserRunActionPending__unJJt","browserRunActionRunning":"Chat-module_browserRunActionRunning__NdlRL","browserRunActionComplete":"Chat-module_browserRunActionComplete__PU36H","browserRunActionError":"Chat-module_browserRunActionError__y-cm0","browserRunActionState":"Chat-module_browserRunActionState__pkfKg","browserRunActionStateRunning":"Chat-module_browserRunActionStateRunning__L1IbZ","browserRunActionStateComplete":"Chat-module_browserRunActionStateComplete__CpVEc","browserRunActionStateError":"Chat-module_browserRunActionStateError__lU-t4","browserRunActionMeta":"Chat-module_browserRunActionMeta__df32n","emailStatus":"Chat-module_emailStatus__T4UuL","imagePrompt":"Chat-module_imagePrompt__v7-Ho","imagePromptPreview":"Chat-module_imagePromptPreview__ve5dB","imagePromptImage":"Chat-module_imagePromptImage__KjE3H","imagePromptPlaceholder":"Chat-module_imagePromptPlaceholder__b8cW6","imagePromptSpinner":"Chat-module_imagePromptSpinner__nat8r","imagePromptMeta":"Chat-module_imagePromptMeta__YwltP","imagePromptPrompt":"Chat-module_imagePromptPrompt__N1E--","imagePromptStatus":"Chat-module_imagePromptStatus__0ROQF","imagePromptError":"Chat-module_imagePromptError__x1952","richFeaturePlaceholder":"Chat-module_richFeaturePlaceholder__mXS7-","richFeaturePlaceholderSpinner":"Chat-module_richFeaturePlaceholderSpinner__ingFq","richFeatureSpinner":"Chat-module_richFeatureSpinner__eOql6","richFeaturePlaceholderCopy":"Chat-module_richFeaturePlaceholderCopy__sEgxN","richFeaturePlaceholderTitle":"Chat-module_richFeaturePlaceholderTitle__lF7rJ","richFeaturePlaceholderStatus":"Chat-module_richFeaturePlaceholderStatus__UJg09","progressPanel":"Chat-module_progressPanel__9M8h9","progressPanelTitle":"Chat-module_progressPanelTitle__rBdoY","progressPanelSection":"Chat-module_progressPanelSection__F3xUF","progressPanelSectionLabel":"Chat-module_progressPanelSectionLabel__aTPgr","progressPanelSectionBody":"Chat-module_progressPanelSectionBody__Z7zX0","progressPanelList":"Chat-module_progressPanelList__PHFeP","progressPanelListItem":"Chat-module_progressPanelListItem__7v9jN","progressPanelListBullet":"Chat-module_progressPanelListBullet__Tzvi7","progressPanelItemSpinner":"Chat-module_progressPanelItemSpinner__oJ6Az","progressPanelSpinner":"Chat-module_progressPanelSpinner__pzxP2","progressPanelItemCompleted":"Chat-module_progressPanelItemCompleted__7bJhG","progressPanelItemText":"Chat-module_progressPanelItemText__tZPIs"};
22989
23337
  styleInject(css_248z$7);
22990
23338
 
22991
23339
  /**
@@ -24385,6 +24733,7 @@ const MARKDOWN_SANITIZER_ALLOWED_TAGS = [
24385
24733
  'b',
24386
24734
  'blockquote',
24387
24735
  'br',
24736
+ 'button',
24388
24737
  'code',
24389
24738
  'del',
24390
24739
  'details',
@@ -24493,6 +24842,24 @@ const MARKDOWN_SANITIZER_ALLOWED_PROTOCOLS = new Set(['http', 'https', 'mailto',
24493
24842
  * @private utility of `renderMarkdown`
24494
24843
  */
24495
24844
  const INLINE_REFERENCE_MENU_OPTION_MARKER_ATTRIBUTE = 'data-promptbook-inline-reference-menu-option';
24845
+ /**
24846
+ * Attribute marking a client action generated for an inline-reference menu.
24847
+ *
24848
+ * @private utility shared with `MarkdownContent`
24849
+ */
24850
+ const MARKDOWN_INLINE_REFERENCE_MENU_ACTION_ATTRIBUTE = 'data-promptbook-inline-reference-menu-action';
24851
+ /**
24852
+ * Attribute identifying the inline reference which owns a client menu action.
24853
+ *
24854
+ * @private utility shared with `MarkdownContent`
24855
+ */
24856
+ const MARKDOWN_INLINE_REFERENCE_MENU_ACTION_REFERENCE_ATTRIBUTE = 'data-promptbook-inline-reference-menu-action-reference';
24857
+ /**
24858
+ * Attribute marking a favicon rendered inside an inline-reference chip.
24859
+ *
24860
+ * @private utility shared with `MarkdownContent`
24861
+ */
24862
+ const MARKDOWN_INLINE_REFERENCE_ICON_ATTRIBUTE = 'data-promptbook-inline-reference-icon';
24496
24863
  /**
24497
24864
  * Internal `data-*` attributes that Promptbook injects into rendered markdown and must survive sanitization.
24498
24865
  *
@@ -24502,6 +24869,9 @@ const MARKDOWN_SANITIZER_ALLOWED_DATA_ATTRIBUTES = new Set([
24502
24869
  'data-citation-footnote',
24503
24870
  'data-chat-progress-marker',
24504
24871
  INLINE_REFERENCE_MENU_OPTION_MARKER_ATTRIBUTE,
24872
+ MARKDOWN_INLINE_REFERENCE_MENU_ACTION_ATTRIBUTE,
24873
+ MARKDOWN_INLINE_REFERENCE_MENU_ACTION_REFERENCE_ATTRIBUTE,
24874
+ MARKDOWN_INLINE_REFERENCE_ICON_ATTRIBUTE,
24505
24875
  ]);
24506
24876
  /**
24507
24877
  * Link target that remains safe to preserve in sanitized markdown.
@@ -24588,13 +24958,53 @@ const DETAILS_PLACEHOLDER_WRAPPED_REGEX = new RegExp(`<p>\\s*(${DETAILS_PLACEHOL
24588
24958
  */
24589
24959
  const INLINE_REFERENCE_REGEX = /\[\[([^\]\r\n]+?)\]\]/g;
24590
24960
  /**
24591
- * Pattern matching ordinary markdown links that can be promoted to inline reference chips.
24961
+ * Prefix for INLINE REFERENCE PLACEHOLDER.
24962
+ *
24963
+ * @private utility of `renderMarkdown`
24964
+ */
24965
+ const INLINE_REFERENCE_PLACEHOLDER_PREFIX = '@@PROMPTBOOK_INLINE_REFERENCE_PLACEHOLDER__';
24966
+ /**
24967
+ * Pattern matching INLINE REFERENCE PLACEHOLDER.
24968
+ *
24969
+ * @private utility of `renderMarkdown`
24970
+ */
24971
+ const INLINE_REFERENCE_PLACEHOLDER_REGEX = new RegExp(`${INLINE_REFERENCE_PLACEHOLDER_PREFIX}(\\d+)__`, 'g');
24972
+ /**
24973
+ * Prefix for markdown text-segment placeholders used while resolving plain-text inline-reference aliases.
24974
+ *
24975
+ * @private utility of `renderMarkdown`
24976
+ */
24977
+ const MARKDOWN_REFERENCE_TEXT_MASK_PLACEHOLDER_PREFIX = '@@PROMPTBOOK_MARKDOWN_REFERENCE_TEXT_MASK_PLACEHOLDER__';
24978
+ /**
24979
+ * Pattern matching markdown text-segment placeholders.
24592
24980
  *
24593
- * Images are intentionally captured separately and left unchanged by the replacement helper.
24981
+ * @private utility of `renderMarkdown`
24982
+ */
24983
+ const MARKDOWN_REFERENCE_TEXT_MASK_PLACEHOLDER_REGEX = new RegExp(`${MARKDOWN_REFERENCE_TEXT_MASK_PLACEHOLDER_PREFIX}(\\d+)__`, 'g');
24984
+ /**
24985
+ * Pattern matching markdown links and images together with their raw target.
24986
+ *
24987
+ * @private utility of `renderMarkdown`
24988
+ */
24989
+ const MARKDOWN_LINK_REGEX = /(!?)\[([^\]\r\n]*)\]\(\s*(<[^>\r\n]*>|[^()\s]+)(?:\s+(?:"[^"]*"|'[^']*'))?\s*\)/g;
24990
+ /**
24991
+ * Pattern matching bare `http(s)` URLs written directly into markdown text.
24992
+ *
24993
+ * @private utility of `renderMarkdown`
24994
+ */
24995
+ const BARE_URL_REGEX = /(^|\s)(https?:\/\/[^\s<>()[\]"']+)/g;
24996
+ /**
24997
+ * Sentence punctuation which trails a bare URL instead of belonging to it.
24998
+ *
24999
+ * @private utility of `renderMarkdown`
25000
+ */
25001
+ const BARE_URL_TRAILING_PUNCTUATION_REGEX = /[.,;:!?]+$/;
25002
+ /**
25003
+ * Pattern splitting one URL into its scheme, host and remaining part.
24594
25004
  *
24595
25005
  * @private utility of `renderMarkdown`
24596
25006
  */
24597
- const MARKDOWN_INLINE_REFERENCE_LINK_REGEX = /(!?)\[([^\]\r\n]*)\]\(\s*(<[^>\r\n]+>|[^)\s]+)(?:\s+(?:"[^"\r\n]*"|'[^'\r\n]*'|\([^)]*\)))?\s*\)/g;
25007
+ const ABSOLUTE_URL_REGEX = /^[a-z][a-z0-9+.-]*:\/\/([^/?#]*)(.*)$/i;
24598
25008
  /**
24599
25009
  * Collection of math delimiter definitions.
24600
25010
  */
@@ -24819,12 +25229,11 @@ const CHAT_MARKDOWN_CONVERTER = createChatMarkdownConverter();
24819
25229
  * outer `<details>` and optional `<summary>` markup untouched.
24820
25230
  *
24821
25231
  * @param detailsBlock - Raw `<details>...</details>` HTML captured from markdown.
24822
- * @param options - Markdown rendering options to reuse for the details body.
24823
25232
  * @returns `<details>` HTML whose body has been converted from markdown to HTML.
24824
25233
  *
24825
25234
  * @private utility of `renderMarkdown`
24826
25235
  */
24827
- function renderDetailsBlock(detailsBlock, options) {
25236
+ function renderDetailsBlock(detailsBlock) {
24828
25237
  var _a, _b;
24829
25238
  const openTagMatch = detailsBlock.match(/^<details\b[^>]*>/i);
24830
25239
  const closeTagMatch = detailsBlock.match(/<\/details\s*>$/i);
@@ -24837,7 +25246,7 @@ function renderDetailsBlock(detailsBlock, options) {
24837
25246
  const summaryMatch = innerContent.match(/^(\s*<summary\b[^>]*>[\s\S]*?<\/summary\s*>)([\s\S]*)$/i);
24838
25247
  const summaryHtml = (_a = summaryMatch === null || summaryMatch === void 0 ? void 0 : summaryMatch[1]) !== null && _a !== void 0 ? _a : '';
24839
25248
  const bodyMarkdown = ((_b = summaryMatch === null || summaryMatch === void 0 ? void 0 : summaryMatch[2]) !== null && _b !== void 0 ? _b : innerContent);
24840
- const renderedBody = renderMarkdown(bodyMarkdown, options);
25249
+ const renderedBody = renderMarkdown(bodyMarkdown);
24841
25250
  return `${openTag}${summaryHtml}${renderedBody}${closeTag}`;
24842
25251
  }
24843
25252
  /**
@@ -24869,22 +25278,52 @@ function maskMarkdownCodeSegments(markdown) {
24869
25278
  },
24870
25279
  };
24871
25280
  }
25281
+ /**
25282
+ * Masks markdown links, images and bare URLs while plain-text reference aliases are resolved.
25283
+ *
25284
+ * A matching display name inside an unrelated link label must keep that original link instead of
25285
+ * producing a nested chip inside its anchor.
25286
+ *
25287
+ * @param markdown - Markdown without code segments.
25288
+ * @returns Masked markdown and a restore helper.
25289
+ *
25290
+ * @private utility of `renderMarkdown`
25291
+ */
25292
+ function maskMarkdownLinksAndBareUrls(markdown) {
25293
+ const segments = [];
25294
+ const addPlaceholder = (segment) => {
25295
+ const placeholder = `${MARKDOWN_REFERENCE_TEXT_MASK_PLACEHOLDER_PREFIX}${segments.length}__`;
25296
+ segments.push(segment);
25297
+ return placeholder;
25298
+ };
25299
+ MARKDOWN_LINK_REGEX.lastIndex = 0;
25300
+ let masked = markdown.replace(MARKDOWN_LINK_REGEX, (match) => addPlaceholder(match));
25301
+ BARE_URL_REGEX.lastIndex = 0;
25302
+ masked = masked.replace(BARE_URL_REGEX, (_match, leadingWhitespace, rawUrl) => {
25303
+ return `${leadingWhitespace}${addPlaceholder(rawUrl)}`;
25304
+ });
25305
+ return {
25306
+ masked,
25307
+ restore(value) {
25308
+ return value.replace(MARKDOWN_REFERENCE_TEXT_MASK_PLACEHOLDER_REGEX, (_match, index) => { var _a; return (_a = segments[Number(index)]) !== null && _a !== void 0 ? _a : ''; });
25309
+ },
25310
+ };
25311
+ }
24872
25312
  /**
24873
25313
  * Masks `<details>...</details>` blocks in the markdown source so that Showdown never
24874
25314
  * processes their content.
24875
25315
  *
24876
25316
  * @param markdown - Markdown text that may contain raw HTML `<details>` blocks.
24877
- * @param options - Markdown rendering options to reuse for the details body.
24878
25317
  * @returns Masked markdown and a restore helper that returns `string_html`.
24879
25318
  *
24880
25319
  * @private utility of `renderMarkdown`
24881
25320
  */
24882
- function maskDetailsBlocks(markdown, options) {
25321
+ function maskDetailsBlocks(markdown) {
24883
25322
  const blocks = [];
24884
25323
  DETAILS_BLOCK_REGEX.lastIndex = 0;
24885
25324
  const masked = markdown.replace(DETAILS_BLOCK_REGEX, (match) => {
24886
25325
  const placeholder = `${DETAILS_PLACEHOLDER_PREFIX}${blocks.length}__`;
24887
- blocks.push(renderDetailsBlock(match, options));
25326
+ blocks.push(renderDetailsBlock(match));
24888
25327
  return placeholder;
24889
25328
  });
24890
25329
  return {
@@ -24966,6 +25405,17 @@ function escapeHtml$2(value) {
24966
25405
  function normalizeMarkdownInlineReferenceKey(value) {
24967
25406
  return value.trim().toLowerCase();
24968
25407
  }
25408
+ /**
25409
+ * Lists all token keys which can identify one inline reference.
25410
+ *
25411
+ * @param reference - Inline reference with its stable key and optional display-name aliases.
25412
+ * @returns Keys recognized inside `[[...]]` tokens.
25413
+ *
25414
+ * @private utility of `renderMarkdown`
25415
+ */
25416
+ function listMarkdownInlineReferenceKeys(reference) {
25417
+ return [reference.reference, ...(reference.sourceTextAliases || [])];
25418
+ }
24969
25419
  /**
24970
25420
  * Builds a lookup of inline markdown references keyed by the authored `[[reference]]` text.
24971
25421
  *
@@ -24977,86 +25427,214 @@ function normalizeMarkdownInlineReferenceKey(value) {
24977
25427
  function createMarkdownInlineReferenceByKey(references) {
24978
25428
  const referenceByKey = new Map();
24979
25429
  for (const reference of references) {
24980
- const normalizedReference = normalizeMarkdownInlineReferenceKey(reference.reference);
24981
- if (!normalizedReference || referenceByKey.has(normalizedReference)) {
24982
- continue;
25430
+ for (const referenceKey of listMarkdownInlineReferenceKeys(reference)) {
25431
+ const normalizedReference = normalizeMarkdownInlineReferenceKey(referenceKey);
25432
+ if (!normalizedReference || referenceByKey.has(normalizedReference)) {
25433
+ continue;
25434
+ }
25435
+ referenceByKey.set(normalizedReference, reference);
24983
25436
  }
24984
- referenceByKey.set(normalizedReference, reference);
24985
25437
  }
24986
25438
  return referenceByKey;
24987
25439
  }
24988
25440
  /**
24989
- * Returns whether a href starts with a configured source href prefix.
25441
+ * Escapes text before embedding it into a regular expression.
24990
25442
  *
24991
- * @param href - Markdown link destination.
24992
- * @param sourceHrefPrefix - Configured source href prefix.
24993
- * @returns Whether the href belongs to the source prefix.
25443
+ * @param value - Literal text to match.
25444
+ * @returns Regular-expression-safe text.
24994
25445
  *
24995
25446
  * @private utility of `renderMarkdown`
24996
25447
  */
24997
- function doesHrefStartWithSourceHrefPrefix(href, sourceHrefPrefix) {
24998
- if (href === sourceHrefPrefix) {
24999
- return true;
25448
+ function escapeRegularExpression(value) {
25449
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
25450
+ }
25451
+ /**
25452
+ * Creates non-ambiguous display-name matchers for inline references.
25453
+ *
25454
+ * Longer aliases are matched first so a project named `Prague Map` wins over a project named `Map`.
25455
+ * An alias shared by more than one reference is deliberately ignored instead of linking to an arbitrary project.
25456
+ *
25457
+ * @param references - References available to this markdown render.
25458
+ * @returns Plain-text matchers ordered from longest to shortest alias.
25459
+ *
25460
+ * @private utility of `renderMarkdown`
25461
+ */
25462
+ function createMarkdownInlineReferenceTextMatchers(references) {
25463
+ const matcherByNormalizedAlias = new Map();
25464
+ for (const reference of references) {
25465
+ for (const sourceTextAliasCandidate of reference.sourceTextAliases || []) {
25466
+ const sourceTextAlias = sourceTextAliasCandidate.trim();
25467
+ const normalizedAlias = normalizeMarkdownInlineReferenceKey(sourceTextAlias);
25468
+ if (!normalizedAlias) {
25469
+ continue;
25470
+ }
25471
+ const existingMatcher = matcherByNormalizedAlias.get(normalizedAlias);
25472
+ if (existingMatcher === undefined) {
25473
+ matcherByNormalizedAlias.set(normalizedAlias, { reference, sourceTextAlias });
25474
+ }
25475
+ else if (existingMatcher !== null && existingMatcher.reference !== reference) {
25476
+ matcherByNormalizedAlias.set(normalizedAlias, null);
25477
+ }
25478
+ }
25479
+ }
25480
+ return Array.from(matcherByNormalizedAlias.values())
25481
+ .filter((matcher) => matcher !== null)
25482
+ .sort((firstMatcher, secondMatcher) => secondMatcher.sourceTextAlias.length - firstMatcher.sourceTextAlias.length ||
25483
+ firstMatcher.sourceTextAlias.localeCompare(secondMatcher.sourceTextAlias));
25484
+ }
25485
+ /**
25486
+ * Creates a regular expression matching one plain-text alias with optional bold markdown around it.
25487
+ *
25488
+ * @param sourceTextAlias - Literal display name to match.
25489
+ * @param isMarkdownFormattingMatched - Whether matching `**alias**` and `__alias__` form.
25490
+ * @returns Unicode-aware whole-text regular expression.
25491
+ *
25492
+ * @private utility of `renderMarkdown`
25493
+ */
25494
+ function createMarkdownInlineReferenceTextAliasRegex(sourceTextAlias, isMarkdownFormattingMatched) {
25495
+ const escapedAlias = escapeRegularExpression(sourceTextAlias);
25496
+ const boundaryCharacterClass = '\\p{L}\\p{N}_-';
25497
+ const boundaryPattern = `[^${boundaryCharacterClass}]`;
25498
+ const aliasPattern = isMarkdownFormattingMatched ? `(?:\\*\\*|__)${escapedAlias}(?:\\*\\*|__)` : escapedAlias;
25499
+ return new RegExp(`(^|${boundaryPattern})${aliasPattern}(?=$|${boundaryPattern})`, 'giu');
25500
+ }
25501
+ /**
25502
+ * Replaces known project display names in agent markdown with inline-reference placeholders.
25503
+ *
25504
+ * Bold aliases are replaced first so an older message such as `**Prague Murders Map**` becomes one
25505
+ * chip rather than a chip nested inside formatting markup.
25506
+ *
25507
+ * @param markdown - Markdown with code and links already masked.
25508
+ * @param matchers - Non-ambiguous display-name aliases available to this render.
25509
+ * @param createPlaceholder - Renders a matched reference into a placeholder.
25510
+ * @returns Markdown containing inline-reference placeholders.
25511
+ *
25512
+ * @private utility of `renderMarkdown`
25513
+ */
25514
+ function replaceMarkdownInlineReferenceTextAliases(markdown, matchers, createPlaceholder) {
25515
+ let referencedMarkdown = markdown;
25516
+ for (const matcher of matchers) {
25517
+ for (const isMarkdownFormattingMatched of [true, false]) {
25518
+ const aliasRegex = createMarkdownInlineReferenceTextAliasRegex(matcher.sourceTextAlias, isMarkdownFormattingMatched);
25519
+ referencedMarkdown = referencedMarkdown.replace(aliasRegex, (_match, leadingBoundary) => {
25520
+ return `${leadingBoundary || ''}${createPlaceholder(matcher.reference)}`;
25521
+ });
25522
+ }
25000
25523
  }
25001
- const normalizedSourceHrefPrefix = sourceHrefPrefix.endsWith('/') ? sourceHrefPrefix : `${sourceHrefPrefix}/`;
25002
- return href.startsWith(normalizedSourceHrefPrefix);
25524
+ return referencedMarkdown;
25003
25525
  }
25004
25526
  /**
25005
- * Returns a comparable path for an absolute href when the configured source prefix is relative.
25527
+ * Decodes percent-encoded characters without failing on malformed input.
25006
25528
  *
25007
- * @param href - Href to normalize.
25008
- * @returns Absolute URL pathname or the original href when it is relative/invalid.
25529
+ * @param value - Raw URL part.
25530
+ * @returns Decoded value, or the original value when it cannot be decoded.
25009
25531
  *
25010
25532
  * @private utility of `renderMarkdown`
25011
25533
  */
25012
- function resolveAbsoluteHrefPath(href) {
25534
+ function decodeUrlPartSafely(value) {
25013
25535
  try {
25014
- return new URL(href).pathname;
25536
+ return decodeURIComponent(value);
25015
25537
  }
25016
25538
  catch (_a) {
25017
- return href;
25539
+ return value;
25018
25540
  }
25019
25541
  }
25020
25542
  /**
25021
- * Returns whether one markdown link destination belongs to one inline reference.
25543
+ * Normalizes one URL path so that encoding, casing and trailing slashes do not break matching.
25022
25544
  *
25023
- * Relative project paths also match absolute URLs on the current server, which keeps
25024
- * server-generated relative links and model-generated absolute links consistent.
25545
+ * @param path - Raw path including an optional query and hash.
25546
+ * @returns Comparable path.
25547
+ *
25548
+ * @private utility of `renderMarkdown`
25549
+ */
25550
+ function normalizeUrlPathForComparison(path) {
25551
+ const pathWithoutQuery = path.split(/[?#]/, 1)[0] || '';
25552
+ return decodeUrlPartSafely(pathWithoutQuery).toLowerCase().replace(/\/+$/, '');
25553
+ }
25554
+ /**
25555
+ * Splits one absolute URL or application path into its comparable parts.
25025
25556
  *
25026
- * @param reference - Candidate inline reference.
25027
- * @param href - Markdown link destination.
25028
- * @returns Whether the href should render as the reference chip.
25557
+ * @param url - Raw link target written in markdown.
25558
+ * @returns Comparable URL parts, or `null` when the value cannot address a reference.
25029
25559
  *
25030
25560
  * @private utility of `renderMarkdown`
25031
25561
  */
25032
- function doesMarkdownInlineReferenceMatchHref(reference, href) {
25033
- const normalizedHref = href.trim();
25034
- return (reference.sourceHrefPrefixes || []).some((sourceHrefPrefix) => {
25035
- const normalizedSourceHrefPrefix = sourceHrefPrefix.trim();
25036
- if (!normalizedSourceHrefPrefix) {
25037
- return false;
25038
- }
25039
- if (doesHrefStartWithSourceHrefPrefix(normalizedHref, normalizedSourceHrefPrefix)) {
25040
- return true;
25041
- }
25042
- const isRelativeSourceHrefPrefix = !/^[a-z][a-z0-9+.-]*:/i.test(normalizedSourceHrefPrefix);
25043
- const isAbsoluteHref = /^[a-z][a-z0-9+.-]*:/i.test(normalizedHref);
25044
- return (isRelativeSourceHrefPrefix &&
25045
- isAbsoluteHref &&
25046
- doesHrefStartWithSourceHrefPrefix(resolveAbsoluteHrefPath(normalizedHref), normalizedSourceHrefPrefix));
25047
- });
25562
+ function createComparableUrlParts(url) {
25563
+ const trimmedUrl = url
25564
+ .trim()
25565
+ .replace(/^<([\s\S]*)>$/, '$1')
25566
+ .trim();
25567
+ if (trimmedUrl === '') {
25568
+ return null;
25569
+ }
25570
+ const absoluteUrlMatch = trimmedUrl.match(ABSOLUTE_URL_REGEX);
25571
+ if (absoluteUrlMatch) {
25572
+ return {
25573
+ host: absoluteUrlMatch[1].toLowerCase(),
25574
+ path: normalizeUrlPathForComparison(absoluteUrlMatch[2] || ''),
25575
+ };
25576
+ }
25577
+ if (!trimmedUrl.startsWith('/')) {
25578
+ return null;
25579
+ }
25580
+ return {
25581
+ host: '',
25582
+ path: normalizeUrlPathForComparison(trimmedUrl),
25583
+ };
25584
+ }
25585
+ /**
25586
+ * Returns whether one URL points into one reference source prefix.
25587
+ *
25588
+ * @param url - Comparable parts of the link target written in markdown.
25589
+ * @param prefix - Comparable parts of one reference source prefix.
25590
+ * @returns `true` when the URL belongs to the reference.
25591
+ *
25592
+ * @private utility of `renderMarkdown`
25593
+ */
25594
+ function isUrlWithinReferencePrefix(url, prefix) {
25595
+ if (prefix.host !== '' && prefix.host !== url.host) {
25596
+ return false;
25597
+ }
25598
+ if (prefix.path === '') {
25599
+ // Note: A prefix without a path covers the whole host, a prefix without both would cover everything
25600
+ return prefix.host !== '';
25601
+ }
25602
+ return url.path === prefix.path || url.path.startsWith(`${prefix.path}/`);
25603
+ }
25604
+ /**
25605
+ * Builds matchers for references which can also be written as a markdown link or a bare URL.
25606
+ *
25607
+ * @param references - References available to this markdown render.
25608
+ * @returns Matchers of references declaring at least one usable source prefix.
25609
+ *
25610
+ * @private utility of `renderMarkdown`
25611
+ */
25612
+ function createMarkdownInlineReferenceHrefMatchers(references) {
25613
+ return references
25614
+ .map((reference) => ({
25615
+ reference,
25616
+ sourceHrefPrefixes: (reference.sourceHrefPrefixes || [])
25617
+ .map((sourceHrefPrefix) => createComparableUrlParts(sourceHrefPrefix))
25618
+ .filter((sourceHrefPrefix) => sourceHrefPrefix !== null),
25619
+ }))
25620
+ .filter((matcher) => matcher.sourceHrefPrefixes.length !== 0);
25048
25621
  }
25049
25622
  /**
25050
- * Finds the inline reference represented by a markdown link destination.
25623
+ * Finds the reference which owns one link target.
25051
25624
  *
25052
- * @param references - Inline references available to the markdown renderer.
25053
- * @param href - Markdown link destination.
25054
- * @returns Matching reference or `undefined` when the href is unrelated.
25625
+ * @param href - Raw link target written in markdown.
25626
+ * @param matchers - Reference matchers of this markdown render.
25627
+ * @returns Matching reference or `null`.
25055
25628
  *
25056
25629
  * @private utility of `renderMarkdown`
25057
25630
  */
25058
- function findMarkdownInlineReferenceByHref(references, href) {
25059
- return references.find((reference) => doesMarkdownInlineReferenceMatchHref(reference, href));
25631
+ function findMarkdownInlineReferenceForHref(href, matchers) {
25632
+ const urlParts = createComparableUrlParts(href);
25633
+ if (urlParts === null) {
25634
+ return null;
25635
+ }
25636
+ const matcher = matchers.find((candidateMatcher) => candidateMatcher.sourceHrefPrefixes.some((sourceHrefPrefix) => isUrlWithinReferencePrefix(urlParts, sourceHrefPrefix)));
25637
+ return (matcher === null || matcher === void 0 ? void 0 : matcher.reference) || null;
25060
25638
  }
25061
25639
  /**
25062
25640
  * Renders one inline reference as raw HTML that is sanitized by the shared markdown sanitizer.
@@ -25071,11 +25649,44 @@ function renderMarkdownInlineReferenceHtml(reference, className) {
25071
25649
  if (reference.menu) {
25072
25650
  return renderMarkdownInlineReferenceMenuHtml(reference, className);
25073
25651
  }
25074
- const escapedClassName = escapeHtml$2(className);
25652
+ const escapedClassName = escapeHtml$2(createMarkdownInlineReferenceClassName(reference, className));
25075
25653
  const escapedHref = escapeHtml$2(reference.href);
25076
25654
  const escapedLabel = escapeHtml$2(reference.label);
25077
25655
  const escapedTitle = escapeHtml$2(reference.title || reference.label);
25078
- return `<a class="${escapedClassName}" href="${escapedHref}" title="${escapedTitle}">${escapedLabel}</a>`;
25656
+ const iconHtml = renderMarkdownInlineReferenceIconHtml(reference.icon);
25657
+ return `<a class="${escapedClassName}" href="${escapedHref}" title="${escapedTitle}">${iconHtml}<span>${escapedLabel}</span></a>`;
25658
+ }
25659
+ /**
25660
+ * Adds the icon marker class only to references which provide icon metadata.
25661
+ *
25662
+ * @param reference - Inline reference being rendered.
25663
+ * @param className - Base chip class name.
25664
+ * @returns Complete class name for the rendered chip.
25665
+ *
25666
+ * @private utility of `renderMarkdown`
25667
+ */
25668
+ function createMarkdownInlineReferenceClassName(reference, className) {
25669
+ return reference.icon ? `${className} inlineReferenceChip--with-icon` : className;
25670
+ }
25671
+ /**
25672
+ * Renders one inline-reference favicon with a text fallback.
25673
+ *
25674
+ * @param icon - Optional icon metadata.
25675
+ * @returns Safe icon markup, or an empty string when no icon is configured.
25676
+ *
25677
+ * @private utility of `renderMarkdown`
25678
+ */
25679
+ function renderMarkdownInlineReferenceIconHtml(icon) {
25680
+ if (!icon) {
25681
+ return '';
25682
+ }
25683
+ const escapedFallbackText = escapeHtml$2(icon.fallbackText);
25684
+ const fallbackHtml = `<span class="inlineReferenceIconFallback">${escapedFallbackText}</span>`;
25685
+ if (!icon.src) {
25686
+ return `<span class="inlineReferenceIcon" aria-hidden="true">${fallbackHtml}</span>`;
25687
+ }
25688
+ const escapedSrc = escapeHtml$2(icon.src);
25689
+ return `<span class="inlineReferenceIcon" aria-hidden="true">${fallbackHtml}<img ${MARKDOWN_INLINE_REFERENCE_ICON_ATTRIBUTE} src="${escapedSrc}" alt=""></span>`;
25079
25690
  }
25080
25691
  /**
25081
25692
  * Renders one inline reference with an expandable menu as raw HTML sanitized by the markdown sanitizer.
@@ -25091,27 +25702,36 @@ function renderMarkdownInlineReferenceMenuHtml(reference, className) {
25091
25702
  if (!menu) {
25092
25703
  return renderMarkdownInlineReferenceHtml({ ...reference, menu: undefined }, className);
25093
25704
  }
25094
- const escapedClassName = escapeHtml$2(className);
25705
+ const escapedClassName = escapeHtml$2(createMarkdownInlineReferenceClassName(reference, className));
25095
25706
  const escapedLabel = escapeHtml$2(reference.label);
25096
25707
  const escapedTitle = escapeHtml$2(reference.title || reference.label);
25097
25708
  const escapedStatusLabel = escapeHtml$2(menu.status.label);
25098
25709
  const statusClassName = menu.status.isActive
25099
25710
  ? 'inlineReferenceMenuStatus inlineReferenceMenuStatus--active'
25100
- : 'inlineReferenceMenuStatus';
25101
- const optionsHtml = menu.options.map((option) => renderMarkdownInlineReferenceMenuOptionHtml(option)).join('');
25102
- return `<details class="${escapedClassName}" title="${escapedTitle}"><summary><span>${escapedLabel}</span><span class="${statusClassName}" title="${escapedStatusLabel}"></span></summary><div><span class="${statusClassName}">${escapedStatusLabel}</span>${optionsHtml}</div></details>`;
25711
+ : 'inlineReferenceMenuStatus inlineReferenceMenuStatus--inactive';
25712
+ const iconHtml = renderMarkdownInlineReferenceIconHtml(reference.icon);
25713
+ const optionsHtml = menu.options
25714
+ .map((option) => renderMarkdownInlineReferenceMenuOptionHtml(reference, option))
25715
+ .join('');
25716
+ return `<details class="${escapedClassName}" title="${escapedTitle}"><summary>${iconHtml}<span>${escapedLabel}</span><span class="${statusClassName}" title="${escapedStatusLabel}"></span></summary><div><span class="${statusClassName}">${escapedStatusLabel}</span>${optionsHtml}</div></details>`;
25103
25717
  }
25104
25718
  /**
25105
25719
  * Renders one option in an expandable markdown inline reference menu.
25106
25720
  *
25721
+ * @param reference - Inline reference which owns the option.
25107
25722
  * @param option - Menu option definition.
25108
25723
  * @returns HTML anchor or disabled label markup.
25109
25724
  *
25110
25725
  * @private utility of `renderMarkdown`
25111
25726
  */
25112
- function renderMarkdownInlineReferenceMenuOptionHtml(option) {
25727
+ function renderMarkdownInlineReferenceMenuOptionHtml(reference, option) {
25113
25728
  const escapedLabel = escapeHtml$2(option.label);
25114
25729
  const escapedTitle = escapeHtml$2(option.title || option.label);
25730
+ if (option.action) {
25731
+ const escapedActionId = escapeHtml$2(option.action.id);
25732
+ const escapedReference = escapeHtml$2(reference.reference);
25733
+ return `<button type="button" ${MARKDOWN_INLINE_REFERENCE_MENU_ACTION_ATTRIBUTE}="${escapedActionId}" ${MARKDOWN_INLINE_REFERENCE_MENU_ACTION_REFERENCE_ATTRIBUTE}="${escapedReference}" class="inlineReferenceMenuOption" title="${escapedTitle}">${escapedLabel}</button>`;
25734
+ }
25115
25735
  if (option.href === null) {
25116
25736
  return `<span class="inlineReferenceMenuOption inlineReferenceMenuOption--disabled" title="${escapedTitle}">${escapedLabel}</span>`;
25117
25737
  }
@@ -25119,37 +25739,114 @@ function renderMarkdownInlineReferenceMenuOptionHtml(option) {
25119
25739
  return `<a ${INLINE_REFERENCE_MENU_OPTION_MARKER_ATTRIBUTE} class="inlineReferenceMenuOption" href="${escapedHref}" title="${escapedTitle}" target="${MARKDOWN_SANITIZER_NEW_TAB_TARGET}" rel="noopener noreferrer">${escapedLabel}</a>`;
25120
25740
  }
25121
25741
  /**
25122
- * Replaces known `[[reference]]` tokens with link chips while leaving unknown tokens unchanged.
25742
+ * Replaces known `[[reference]]` tokens with chip placeholders while leaving unknown tokens unchanged.
25123
25743
  *
25124
25744
  * @param markdown - Markdown content after code masking.
25125
- * @param options - Markdown render options.
25126
- * @returns Markdown with known inline references rendered as HTML anchors.
25745
+ * @param references - References available to this markdown render.
25746
+ * @param createPlaceholder - Renders one matched reference into a placeholder.
25747
+ * @returns Markdown with known reference tokens replaced by placeholders.
25127
25748
  *
25128
25749
  * @private utility of `renderMarkdown`
25129
25750
  */
25130
- function applyMarkdownInlineReferences(markdown, options) {
25131
- const references = options === null || options === void 0 ? void 0 : options.inlineReferences;
25132
- const className = (options === null || options === void 0 ? void 0 : options.inlineReferenceClassName) || DEFAULT_INLINE_REFERENCE_CLASS_NAME;
25133
- if (!references || references.length === 0) {
25134
- return markdown;
25135
- }
25751
+ function replaceMarkdownInlineReferenceTokens(markdown, references, createPlaceholder) {
25136
25752
  const referenceByKey = createMarkdownInlineReferenceByKey(references);
25137
25753
  if (referenceByKey.size === 0) {
25138
25754
  return markdown;
25139
25755
  }
25140
- const markdownWithInlineReferenceTokens = markdown.replace(INLINE_REFERENCE_REGEX, (match, rawReference) => {
25756
+ return markdown.replace(INLINE_REFERENCE_REGEX, (match, rawReference) => {
25141
25757
  const reference = referenceByKey.get(normalizeMarkdownInlineReferenceKey(rawReference));
25142
- return reference ? renderMarkdownInlineReferenceHtml(reference, className) : match;
25758
+ return reference ? createPlaceholder(reference) : match;
25143
25759
  });
25144
- return markdownWithInlineReferenceTokens.replace(MARKDOWN_INLINE_REFERENCE_LINK_REGEX, (match, imageMarker, _linkLabel, rawHref) => {
25145
- if (imageMarker) {
25760
+ }
25761
+ /**
25762
+ * Replaces markdown links pointing to a known reference with chip placeholders.
25763
+ *
25764
+ * Images keep their original markdown so that pictures served by a reference stay visible.
25765
+ *
25766
+ * @param markdown - Markdown content after code masking.
25767
+ * @param matchers - Reference matchers of this markdown render.
25768
+ * @param createPlaceholder - Renders one matched reference into a placeholder.
25769
+ * @returns Markdown with known reference links replaced by placeholders.
25770
+ *
25771
+ * @private utility of `renderMarkdown`
25772
+ */
25773
+ function replaceMarkdownInlineReferenceLinks(markdown, matchers, createPlaceholder) {
25774
+ return markdown.replace(MARKDOWN_LINK_REGEX, (match, imageMarker, _label, rawHref) => {
25775
+ if (imageMarker !== '') {
25146
25776
  return match;
25147
25777
  }
25148
- const href = rawHref.replace(/^<|>$/g, '');
25149
- const reference = findMarkdownInlineReferenceByHref(references, href);
25150
- return reference ? renderMarkdownInlineReferenceHtml(reference, className) : match;
25778
+ const reference = findMarkdownInlineReferenceForHref(rawHref, matchers);
25779
+ return reference ? createPlaceholder(reference) : match;
25780
+ });
25781
+ }
25782
+ /**
25783
+ * Replaces bare URLs of known references with chip placeholders.
25784
+ *
25785
+ * @param markdown - Markdown content after reference links were replaced.
25786
+ * @param matchers - Reference matchers of this markdown render.
25787
+ * @param createPlaceholder - Renders one matched reference into a placeholder.
25788
+ * @returns Markdown with known reference URLs replaced by placeholders.
25789
+ *
25790
+ * @private utility of `renderMarkdown`
25791
+ */
25792
+ function replaceMarkdownInlineReferenceBareUrls(markdown, matchers, createPlaceholder) {
25793
+ return markdown.replace(BARE_URL_REGEX, (match, leadingWhitespace, rawUrl) => {
25794
+ var _a;
25795
+ const trailingPunctuation = ((_a = rawUrl.match(BARE_URL_TRAILING_PUNCTUATION_REGEX)) === null || _a === void 0 ? void 0 : _a[0]) || '';
25796
+ const url = rawUrl.slice(0, rawUrl.length - trailingPunctuation.length);
25797
+ const reference = findMarkdownInlineReferenceForHref(url, matchers);
25798
+ return reference ? `${leadingWhitespace}${createPlaceholder(reference)}${trailingPunctuation}` : match;
25151
25799
  });
25152
25800
  }
25801
+ /**
25802
+ * Restores chips which replaced references during the reference passes.
25803
+ *
25804
+ * @param markdown - Markdown containing reference placeholders.
25805
+ * @param renderedChips - Chip HTML indexed by placeholder number.
25806
+ * @returns Markdown with inline references rendered as HTML chips.
25807
+ *
25808
+ * @private utility of `renderMarkdown`
25809
+ */
25810
+ function restoreMarkdownInlineReferenceChips(markdown, renderedChips) {
25811
+ return markdown.replace(INLINE_REFERENCE_PLACEHOLDER_REGEX, (_match, index) => { var _a; return (_a = renderedChips[Number(index)]) !== null && _a !== void 0 ? _a : ''; });
25812
+ }
25813
+ /**
25814
+ * Replaces known `[[reference]]` tokens, reference links and bare reference URLs with link chips.
25815
+ *
25816
+ * Every matched reference is first replaced by a placeholder so that the rendered chip HTML is
25817
+ * never processed again by a later pass.
25818
+ *
25819
+ * @param markdown - Markdown content after code masking.
25820
+ * @param options - Markdown render options.
25821
+ * @returns Markdown with known inline references rendered as HTML chips.
25822
+ *
25823
+ * @private utility of `renderMarkdown`
25824
+ */
25825
+ function applyMarkdownInlineReferences(markdown, options) {
25826
+ const references = options === null || options === void 0 ? void 0 : options.inlineReferences;
25827
+ const className = (options === null || options === void 0 ? void 0 : options.inlineReferenceClassName) || DEFAULT_INLINE_REFERENCE_CLASS_NAME;
25828
+ if (!references || references.length === 0) {
25829
+ return markdown;
25830
+ }
25831
+ const renderedChips = [];
25832
+ const createPlaceholder = (reference) => {
25833
+ const placeholder = `${INLINE_REFERENCE_PLACEHOLDER_PREFIX}${renderedChips.length}__`;
25834
+ renderedChips.push(renderMarkdownInlineReferenceHtml(reference, className));
25835
+ return placeholder;
25836
+ };
25837
+ const hrefMatchers = createMarkdownInlineReferenceHrefMatchers(references);
25838
+ let referencedMarkdown = replaceMarkdownInlineReferenceTokens(markdown, references, createPlaceholder);
25839
+ if (hrefMatchers.length !== 0) {
25840
+ referencedMarkdown = replaceMarkdownInlineReferenceLinks(referencedMarkdown, hrefMatchers, createPlaceholder);
25841
+ referencedMarkdown = replaceMarkdownInlineReferenceBareUrls(referencedMarkdown, hrefMatchers, createPlaceholder);
25842
+ }
25843
+ const textMatchers = createMarkdownInlineReferenceTextMatchers(references);
25844
+ if (textMatchers.length !== 0) {
25845
+ const { masked: markdownWithMaskedLinksAndUrls, restore: restoreLinksAndUrls } = maskMarkdownLinksAndBareUrls(referencedMarkdown);
25846
+ referencedMarkdown = restoreLinksAndUrls(replaceMarkdownInlineReferenceTextAliases(markdownWithMaskedLinksAndUrls, textMatchers, createPlaceholder));
25847
+ }
25848
+ return restoreMarkdownInlineReferenceChips(referencedMarkdown, renderedChips);
25849
+ }
25153
25850
  /**
25154
25851
  * Loads KaTeX CSS in browser environments that need to display math output.
25155
25852
  *
@@ -25186,7 +25883,7 @@ function renderMarkdown(markdown, options) {
25186
25883
  const converter = options ? createChatMarkdownConverter(options) : CHAT_MARKDOWN_CONVERTER;
25187
25884
  try {
25188
25885
  const normalizedMarkdown = normalizeMarkdownSublists(markdown);
25189
- const { masked: maskedMarkdown, restore: restoreDetails } = maskDetailsBlocks(normalizedMarkdown, options);
25886
+ const { masked: maskedMarkdown, restore: restoreDetails } = maskDetailsBlocks(normalizedMarkdown);
25190
25887
  const { masked: codeMaskedMarkdown, restore: restoreCode } = maskMarkdownCodeSegments(maskedMarkdown);
25191
25888
  const referencedMarkdown = applyMarkdownInlineReferences(codeMaskedMarkdown, options);
25192
25889
  const inlineReferenceMarkdown = restoreCode(referencedMarkdown);
@@ -27498,7 +28195,7 @@ function CodeBlock({ code, language, className, onCreateAgent, theme = 'LIGHT' }
27498
28195
  } })] }));
27499
28196
  }
27500
28197
 
27501
- var css_248z$5 = ".MarkdownContent-module_MarkdownContent__2JuyX{--md-text-color:var(--chat-md-text-color,inherit);--md-muted-color:var(--chat-md-muted-color,currentColor);--md-link-color:var(--chat-md-link-color,#2563eb);--md-heading-color:var(--chat-heading-text-color,var(--md-text-color));--md-heading-font-family:var(\n --chat-md-heading-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,sans-serif)\n );--md-body-font-family:var(\n --chat-md-body-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,sans-serif)\n );--md-code-font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",monospace;--md-inline-code-bg:var(--chat-md-inline-code-bg,rgba(15,23,42,.08));--md-inline-code-border:var(--chat-md-inline-code-border,rgba(15,23,42,.12));--md-inline-code-color:var(--chat-md-inline-code-color,var(--md-text-color));--md-blockquote-bg:var(--chat-md-blockquote-bg,rgba(248,250,252,.92));--md-blockquote-border:var(--chat-md-blockquote-border,rgba(59,130,246,.35));--md-table-bg:var(--chat-md-table-bg,rgba(248,250,252,.92));--md-table-row-alt-bg:var(--chat-md-table-row-alt-bg,rgba(241,245,249,.9));--md-table-head-bg:var(--chat-md-table-head-bg,rgba(226,232,240,.95));--md-table-border:var(--chat-md-table-border,rgba(148,163,184,.36));--md-citation-bg:var(--chat-md-citation-bg,rgba(59,130,246,.14));--md-citation-color:var(--chat-md-citation-color,#1d4ed8);color:var(--md-text-color);font-family:var(--md-body-font-family);font-size:inherit;letter-spacing:.002em;line-height:1.65}.MarkdownContent-module_MarkdownContent__2JuyX>:first-child{margin-top:0!important}.MarkdownContent-module_MarkdownContent__2JuyX>:last-child{margin-bottom:0!important}.MarkdownContent-module_MarkdownContent__2JuyX :is(h1,h2,h3,h4,h5,h6){text-wrap:balance;color:var(--md-heading-color);font-family:var(--md-heading-font-family);font-weight:600;letter-spacing:.01em;line-height:1.24;margin:1.4em 0 .55em;position:relative}.MarkdownContent-module_MarkdownContent__2JuyX h1{font-size:1.52rem}.MarkdownContent-module_MarkdownContent__2JuyX h2{font-size:1.4rem}.MarkdownContent-module_MarkdownContent__2JuyX h3{font-size:1.26rem}.MarkdownContent-module_MarkdownContent__2JuyX h4{font-size:1.14rem}.MarkdownContent-module_MarkdownContent__2JuyX h5{font-size:1.04rem}.MarkdownContent-module_MarkdownContent__2JuyX h6{font-size:.98rem}.MarkdownContent-module_MarkdownContent__2JuyX p{text-wrap:pretty;margin:0 0 .9em}.MarkdownContent-module_MarkdownContent__2JuyX p:empty{display:none}.MarkdownContent-module_MarkdownContent__2JuyX :is(ul,ol){display:grid;gap:.35em;margin:.65em 0 1em;padding-inline-start:1.35rem}.MarkdownContent-module_MarkdownContent__2JuyX ul{list-style:disc}.MarkdownContent-module_MarkdownContent__2JuyX ol{list-style:decimal}.MarkdownContent-module_MarkdownContent__2JuyX li{line-height:1.58}.MarkdownContent-module_MarkdownContent__2JuyX li>:is(ul,ol){margin-bottom:0;margin-top:.45em}.MarkdownContent-module_MarkdownContent__2JuyX ul:has(>li>[data-chat-progress-marker]){list-style:none;padding-inline-start:0}.MarkdownContent-module_MarkdownContent__2JuyX ul:has(>li>[data-chat-progress-marker])>li{list-style:none}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker]{border-radius:999px;color:var(--md-link-color);display:inline-flex;height:1rem;margin-right:.58rem;transform-origin:center;vertical-align:text-bottom;width:1rem}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker=pending]{animation:MarkdownContent-module_chatProgressMarkerSpin__TpoKr .85s linear infinite;border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-top-color:currentcolor;box-sizing:border-box}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker=completed]{align-items:center;background:color-mix(in srgb,currentColor 12%,transparent);border:2px solid;box-sizing:border-box;justify-content:center}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker=completed]:before{border-bottom:2px solid;border-right:2px solid;box-sizing:border-box;content:\"\";display:block;height:.5rem;margin-top:-.06rem;transform:rotate(45deg);width:.26rem}@keyframes MarkdownContent-module_chatProgressMarkerSpin__TpoKr{to{transform:rotate(1turn)}}.MarkdownContent-module_MarkdownContent__2JuyX a{color:var(--md-link-color);text-decoration-color:currentColor;text-decoration-line:underline;text-decoration-thickness:1.4px;text-underline-offset:.16em;transition:opacity .2s ease,text-decoration-thickness .2s ease}.MarkdownContent-module_MarkdownContent__2JuyX a:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX a:hover{opacity:.92;text-decoration-thickness:2px}.MarkdownContent-module_MarkdownContent__2JuyX a.MarkdownContent-module_inlineReferenceChip__o-WIB,.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary{align-items:center;background:color-mix(in srgb,var(--md-link-color) 9%,hsla(0,0%,100%,.9));border:1px solid color-mix(in srgb,var(--md-link-color) 28%,rgba(148,163,184,.45));border-radius:8px;box-shadow:0 1px 2px rgba(15,23,42,.08);color:var(--md-link-color);display:inline-flex;font-size:.92em;font-weight:650;gap:.42em;line-height:1.35;max-width:100%;padding:.16em .58em;text-decoration:none;vertical-align:baseline;white-space:nowrap}.MarkdownContent-module_MarkdownContent__2JuyX a.MarkdownContent-module_inlineReferenceChip__o-WIB{margin:0 .08em}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB{display:inline-block;margin:0 .08em;max-width:100%;position:relative;vertical-align:baseline}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary{cursor:pointer;list-style:none}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary::-webkit-details-marker{display:none}.MarkdownContent-module_MarkdownContent__2JuyX :is(a.MarkdownContent-module_inlineReferenceChip__o-WIB,details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary):before{border:1.8px solid;border-radius:.16em;box-sizing:border-box;content:\"\";display:inline-block;flex:0 0 auto;height:.62em;opacity:.86;transform:translateY(.03em);width:.9em}.MarkdownContent-module_MarkdownContent__2JuyX :is(a.MarkdownContent-module_inlineReferenceChip__o-WIB,details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary):focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX :is(a.MarkdownContent-module_inlineReferenceChip__o-WIB,details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary):hover{background:color-mix(in srgb,var(--md-link-color) 14%,hsla(0,0%,100%,.94));border-color:color-mix(in srgb,var(--md-link-color) 52%,rgba(148,163,184,.35));opacity:1}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>div{background:color-mix(in srgb,var(--md-table-bg) 92%,#fff);border:1px solid color-mix(in srgb,var(--md-link-color) 22%,rgba(148,163,184,.45));border-radius:.65rem;box-shadow:0 10px 24px rgba(15,23,42,.16);display:grid;left:0;min-width:15rem;padding:.45rem;position:absolute;top:calc(100% + .45em);z-index:20}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuStatus{align-items:center;color:var(--md-muted-color);display:inline-flex;font-size:.78em;font-weight:650;gap:.38em}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary .inlineReferenceMenuStatus{background:color-mix(in srgb,var(--md-muted-color) 55%,transparent);border-radius:999px;height:.52em;margin-left:.05em;width:.52em}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuStatus--active{color:#047857}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary .inlineReferenceMenuStatus--active{background:#10b981;box-shadow:0 0 0 .16em color-mix(in srgb,#10b981 20%,transparent)}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuStatus:before{background:currentColor;border-radius:999px;content:\"\";height:.55em;width:.55em}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary .inlineReferenceMenuStatus:before{display:none}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuOption{border-radius:.4rem;color:var(--md-link-color);display:block;font-size:.82em;font-weight:650;line-height:1.35;padding:.45rem .55rem;text-decoration:none}.MarkdownContent-module_MarkdownContent__2JuyX a.inlineReferenceMenuOption:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX a.inlineReferenceMenuOption:hover{background:color-mix(in srgb,var(--md-link-color) 10%,transparent);text-decoration:none}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuOption--disabled{color:var(--md-muted-color);cursor:not-allowed}.MarkdownContent-module_MarkdownContent__2JuyX img{border-radius:14px;display:block;height:auto;margin:.95em 0;max-width:100%}.MarkdownContent-module_MarkdownContent__2JuyX blockquote,.MarkdownContent-module_MarkdownContent__2JuyX hr,.MarkdownContent-module_MarkdownContent__2JuyX pre,.MarkdownContent-module_MarkdownContent__2JuyX table{margin:.95em 0}.MarkdownContent-module_MarkdownContent__2JuyX pre{background:transparent;border:none;border-radius:12px;box-shadow:none;display:block;overflow:visible;padding:0}.MarkdownContent-module_MarkdownContent__2JuyX blockquote{background:var(--md-blockquote-bg);border:none;border-left:3px solid var(--md-blockquote-border);border-radius:12px;box-shadow:none;color:var(--md-muted-color);display:block;padding:.72em .96em}.MarkdownContent-module_MarkdownContent__2JuyX blockquote>:last-child{margin-bottom:0}.MarkdownContent-module_MarkdownContent__2JuyX code{background:var(--md-inline-code-bg);border:1px solid var(--md-inline-code-border);border-radius:8px;color:var(--md-inline-code-color);font-family:var(--md-code-font-family);font-size:.88em;line-height:1.45;margin:0;padding:.14em .42em;word-break:break-word}.MarkdownContent-module_MarkdownContent__2JuyX pre code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:normal}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg{background:#181c23;border:1px solid rgba(148,163,184,.35);border-radius:12px;box-shadow:0 6px 18px rgba(2,6,23,.28);color:#f8fafc;font-family:var(--md-code-font-family);font-size:14px;line-height:1.6;overflow-x:auto}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:normal}.MarkdownContent-module_MarkdownContent__2JuyX table{background:var(--md-table-bg);border:1px solid var(--md-table-border);border-collapse:separate;border-radius:12px;border-spacing:0;box-shadow:0 2px 8px rgba(15,23,42,.1);color:inherit;font-size:.93em;overflow:hidden;width:100%}.MarkdownContent-module_MarkdownContent__2JuyX td,.MarkdownContent-module_MarkdownContent__2JuyX th{background:none;border-bottom:1px solid var(--md-table-border);color:inherit;padding:.58em .72em;text-align:left;vertical-align:top}.MarkdownContent-module_MarkdownContent__2JuyX th{background:var(--md-table-head-bg);font-weight:600}.MarkdownContent-module_MarkdownContent__2JuyX tr:last-child td{border-bottom:none}.MarkdownContent-module_MarkdownContent__2JuyX tr:nth-child(2n) td{background:var(--md-table-row-alt-bg)}.MarkdownContent-module_MarkdownContent__2JuyX hr{border:none;border-top:1px solid var(--md-table-border);opacity:.8}.MarkdownContent-module_MarkdownContent__2JuyX details{background:color-mix(in srgb,var(--md-table-bg) 82%,hsla(0,0%,100%,.3) 18%);border:1px solid var(--md-table-border);border-radius:16px;box-shadow:0 8px 22px rgba(15,23,42,.08);margin:.95em 0;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.MarkdownContent-module_MarkdownContent__2JuyX details:focus-within,.MarkdownContent-module_MarkdownContent__2JuyX details:hover{border-color:color-mix(in srgb,var(--md-link-color) 24%,var(--md-table-border) 76%);box-shadow:0 12px 28px rgba(15,23,42,.12)}.MarkdownContent-module_MarkdownContent__2JuyX details>summary{align-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--md-table-head-bg) 88%,hsla(0,0%,100%,.85) 12%),color-mix(in srgb,var(--md-table-bg) 82%,hsla(0,0%,100%,.7) 18%));color:var(--md-link-color);cursor:pointer;display:flex;font-weight:600;gap:.72rem;list-style:none;padding:.9em 1.05em;transition:background .18s ease,color .18s ease;user-select:none}.MarkdownContent-module_MarkdownContent__2JuyX details>summary:before{border-bottom:2px solid;border-right:2px solid;content:\"\";flex:0 0 auto;height:.62rem;margin-top:-.04rem;opacity:.82;transform:rotate(-45deg);transition:transform .18s ease,opacity .18s ease;width:.62rem}.MarkdownContent-module_MarkdownContent__2JuyX details>summary:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX details>summary:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--md-table-head-bg) 76%,hsla(0,0%,100%,.95) 24%),color-mix(in srgb,var(--md-table-bg) 74%,hsla(0,0%,100%,.82) 26%))}.MarkdownContent-module_MarkdownContent__2JuyX details>summary:focus-visible{outline:2px solid color-mix(in srgb,var(--md-link-color) 52%,transparent);outline-offset:-2px}.MarkdownContent-module_MarkdownContent__2JuyX details>summary::-webkit-details-marker{display:none}.MarkdownContent-module_MarkdownContent__2JuyX details[open]>summary{border-bottom:1px solid color-mix(in srgb,var(--md-table-border) 88%,transparent)}.MarkdownContent-module_MarkdownContent__2JuyX details[open]>summary:before{opacity:1;transform:rotate(45deg)}.MarkdownContent-module_MarkdownContent__2JuyX details>:not(summary){margin-left:1.05em;margin-right:1.05em}.MarkdownContent-module_MarkdownContent__2JuyX details>summary+*{margin-top:.95em}.MarkdownContent-module_MarkdownContent__2JuyX details>:last-child{margin-bottom:1.05em}.MarkdownContent-module_MarkdownContent__2JuyX strong{font-weight:650}.MarkdownContent-module_MarkdownContent__2JuyX em{font-style:italic}.MarkdownContent-module_citationRef__fKqaT,.MarkdownContent-module_citation__11SMw{align-items:center;background:var(--md-citation-bg);border-radius:999px;color:var(--md-citation-color);display:inline-flex;font-size:.74em;font-weight:700;justify-content:center;line-height:1.45;margin:0 .1em;min-width:1.4em;padding:0 .35em;vertical-align:super}.MarkdownContent-module_MarkdownContent__2JuyX sup[data-citation-footnote]{color:currentColor;display:inline;font-size:.72em;font-weight:700;line-height:1;margin:0 .7em 0 .08em;vertical-align:super}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1hcmtkb3duQ29udGVudC5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUNJLGlEQUFtRCxDQUNuRCx3REFBMEQsQ0FDMUQsaURBQW1ELENBQ25ELHNFQUF3RSxDQUN4RTs7S0FHQyxDQUNEOztLQUdDLENBQ0QsbUdBQTBHLENBQzFHLG9FQUEwRSxDQUMxRSw0RUFBa0YsQ0FDbEYsNEVBQThFLENBQzlFLHFFQUEyRSxDQUMzRSw0RUFBa0YsQ0FDbEYsMkRBQWlFLENBQ2pFLDBFQUFnRixDQUNoRixxRUFBMkUsQ0FDM0UsbUVBQXlFLENBQ3pFLGdFQUFzRSxDQUN0RSx5REFBMkQsQ0FFM0QsMEJBQTJCLENBQzNCLHNDQUF1QyxDQUN2QyxpQkFBa0IsQ0FFbEIscUJBQXVCLENBRHZCLGdCQUVKLENBRUEsNERBQ0ksc0JBQ0osQ0FFQSwyREFDSSx5QkFDSixDQUVBLHNFQVFJLGlCQUFrQixDQUxsQiw2QkFBOEIsQ0FDOUIseUNBQTBDLENBQzFDLGVBQWdCLENBRWhCLG9CQUFzQixDQUR0QixnQkFBaUIsQ0FKakIsb0JBQXNCLENBRHRCLGlCQVFKLENBRUEsa0RBQ0ksaUJBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLGtEQUNJLGlCQUNKLENBRUEsa0RBQ0ksaUJBQ0osQ0FFQSxrREFDSSxpQkFDSixDQUVBLGtEQUNJLGdCQUNKLENBRUEsaURBRUksZ0JBQWlCLENBRGpCLGVBRUosQ0FFQSx1REFDSSxZQUNKLENBRUEsMERBR0ksWUFBYSxDQUNiLFNBQVcsQ0FIWCxrQkFBb0IsQ0FDcEIsNEJBR0osQ0FFQSxrREFDSSxlQUNKLENBRUEsa0RBQ0ksa0JBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLDZEQUVJLGVBQWdCLENBRGhCLGdCQUVKLENBRUEsdUZBQ0ksZUFBZ0IsQ0FDaEIsc0JBQ0osQ0FFQSwwRkFDSSxlQUNKLENBRUEsMkVBTUksbUJBQW9CLENBQ3BCLDBCQUEyQixDQU4zQixtQkFBb0IsQ0FFcEIsV0FBWSxDQUNaLG1C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QUN0Rix5Q0FDSixDQUVBLCtEQUVJLGtCQUFtQixDQVFuQiwwS0FJQyxDQU5ELDBCQUEyQixDQUgzQixjQUFlLENBSmYsWUFBYSxDQUtiLGVBQWdCLENBSGhCLFVBQVksQ0FNWixlQUFnQixDQUxoQixtQkFBcUIsQ0FXckIsK0NBQW1ELENBUm5ELGdCQVNKLENBRUEsc0VBT0ksdUJBQXFDLENBRHJDLHNCQUFvQyxDQUxwQyxVQUFXLENBR1gsYUFBYyxDQURkLGFBQWUsQ0FFZixrQkFBb0IsQ0FJcEIsV0FBYSxDQURiLHdCQUF5QixDQUV6QixnREFBb0QsQ0FScEQsWUFTSixDQUVBLGtKQUVJLDJLQUtKLENBRUEsNkVBQ0kseUVBQTRFLENBQzVFLG1CQUNKLENBRUEsdUZBQ0ksWUFDSixDQUVBLHFFQUNJLGlGQUNKLENBRUEsNEVBRUksU0FBVSxDQURWLHVCQUVKLENBRUEscUVBQ0ksa0JBQW1CLENBQ25CLG1CQUNKLENBRUEsaUVBQ0ksZ0JBQ0osQ0FFQSxtRUFDSSxvQkFDSixDQUVBLHNEQUNJLGVBQ0osQ0FFQSxrREFDSSxpQkFDSixDQWtCQSxtRkFFSSxrQkFBbUIsQ0FXbkIsZ0NBQWlDLENBTmpDLG1CQUFvQixDQUtwQiw4QkFBK0IsQ0FYL0IsbUJBQW9CLENBT3BCLGVBQWlCLENBQ2pCLGVBQWdCLENBTmhCLHNCQUF1QixDQU92QixnQkFBaUIsQ0FMakIsYUFBZSxDQURmLGVBQWdCLENBRWhCLGVBQWlCLENBS2pCLG9CQUdKLENBRUEsMkVBT0ksa0JBQW1CLENBTm5CLGNBQWUsQ0FFZixlQUFpQixDQUNqQixlQUFnQixDQUNoQixhQUFjLENBSGQscUJBQXdCLENBSXhCLG9CQUVKIiwiZmlsZSI6Ik1hcmtkb3duQ29udGVudC5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLk1hcmtkb3duQ29udGVudCB7XG4gICAgLS1tZC10ZXh0LWNvbG9yOiB2YXIoLS1jaGF0LW1kLXRleHQtY29sb3IsIGluaGVyaXQpO1xuICAgIC0tbWQtbXV0ZWQtY29sb3I6IHZhcigtLWNoYXQtbWQtbXV0ZWQtY29sb3IsIGN1cnJlbnRDb2xvcik7XG4gICAgLS1tZC1saW5rLWNvbG9yOiB2YXIoLS1jaGF0LW1kLWxpbmstY29sb3IsICMyNTYzZWIpO1xuICAgIC0tbWQtaGVhZGluZy1jb2xvcjogdmFyKC0tY2hhdC1oZWFkaW5nLXRleHQtY29sb3IsIHZhcigtLW1kLXRleHQtY29sb3IpKTtcbiAgICAtLW1kLWhlYWRpbmctZm9udC1mYW1pbHk6IHZhcihcbiAgICAgICAgLS1jaGF0LW1kLWhlYWRpbmctZm9udC1mYW1pbHksXG4gICAgICAgIHZhcigtLWZvbnQtcG9wcGlucywgJ1BvcHBpbnMnLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYpXG4gICAgKTtcbiAgICAtLW1kLWJvZHktZm9udC1mYW1pbHk6IHZhcihcbiAgICAgICAgLS1jaGF0LW1kLWJvZHktZm9udC1mYW1pbHksXG4gICAgICAgIHZhcigtLWZvbnQtcG9wcGlucywgJ1BvcHBpbnMnLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYpXG4gICAgKTtcbiAgICAtLW1kLWNvZGUtZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlO1xuICAgIC0tbWQtaW5saW5lLWNvZGUtYmc6IHZhcigtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmcsIHJnYmEoMTUsIDIzLCA0MiwgMC4wOCkpO1xuICAgIC0tbWQtaW5saW5lLWNvZGUtYm9yZGVyOiB2YXIoLS1jaGF0LW1kLWlubGluZS1jb2RlLWJvcmRlciwgcmdiYSgxNSwgMjMsIDQyLCAwLjEyKSk7XG4gICAgLS1tZC1pbmxpbmUtY29kZS1jb2xvcjogdmFyKC0tY2hhdC1tZC1pbmxpbmUtY29kZS1jb2xvciwgdmFyKC0tbWQtdGV4dC1jb2xvcikpO1xuICAgIC0tbWQtYmxvY2txdW90ZS1iZzogdmFyKC0tY2hhdC1tZC1ibG9ja3F1b3RlLWJnLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTIpKTtcbiAgICAtLW1kLWJsb2NrcXVvdGUtYm9yZGVyOiB2YXIoLS1jaGF0LW1kLWJsb2NrcXVvdGUtYm9yZGVyLCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zNSkpO1xuICAgIC0tbWQtdGFibGUtYmc6IHZhcigtLWNoYXQtbWQtdGFibGUtYmcsIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45MikpO1xuICAgIC0tbWQtdGFibGUtcm93LWFsdC1iZzogdmFyKC0tY2hhdC1tZC10YWJsZS1yb3ctYWx0LWJnLCByZ2JhKDI0MSwgMjQ1LCAyNDksIDAuOSkpO1xuICAgIC0tbWQtdGFibGUtaGVhZC1iZzogdmFyKC0tY2hhdC1tZC10YWJsZS1oZWFkLWJnLCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOTUpKTtcbiAgICAtLW1kLXRhYmxlLWJvcmRlcjogdmFyKC0tY2hhdC1tZC10YWJsZS1ib3JkZXIsIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNikpO1xuICAgIC0tbWQtY2l0YXRpb24tYmc6IHZhcigtLWNoYXQtbWQtY2l0YXRpb24tYmcsIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjE0KSk7XG4gICAgLS1tZC1jaXRhdGlvbi1jb2xvcjogdmFyKC0tY2hhdC1tZC1jaXRhdGlvbi1jb2xvciwgIzFkNGVkOCk7XG5cbiAgICBjb2xvcjogdmFyKC0tbWQtdGV4dC1jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLW1kLWJvZHktZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMDJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uTWFya2Rvd25Db250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6aXMoaDEsIGgyLCBoMywgaDQsIGg1LCBoNikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDEuNGVtIDAgMC41NWVtO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1oZWFkaW5nLWNvbG9yKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbWQtaGVhZGluZy1mb250LWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoMSB7XG4gICAgZm9udC1zaXplOiAxLjUycmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjI2cmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGg0IHtcbiAgICBmb250LXNpemU6IDEuMTRyZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4wNHJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoNiB7XG4gICAgZm9udC1zaXplOiAwLjk4cmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHAge1xuICAgIG1hcmdpbjogMCAwIDAuOWVtO1xuICAgIHRleHQtd3JhcDogcHJldHR5O1xufVxuXG4uTWFya2Rvd25Db250ZW50IHA6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgOmlzKHVsLCBvbCkge1xuICAgIG1hcmdpbjogMC42NWVtIDAgMWVtO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAxLjM1cmVtO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwLjM1ZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xufVxuXG4uTWFya2Rvd25Db250ZW50IGxpID4gOmlzKHVsLCBvbCkge1xuICAgIG1hcmdpbi10b3A6IDAuNDVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHVsOmhhcyg+IGxpID4gW2RhdGEtY2hhdC1wcm9ncmVzcy1tYXJrZXJdKSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbn1cblxuLk1hcmtkb3duQ29udGVudCB1bDpoYXMoPiBsaSA+IFtkYXRhLWNoYXQtcHJvZ3Jlc3MtbWFya2VyXSkgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBbZGF0YS1jaGF0LXByb2dyZXNzLW1hcmtlcl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNThyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGNvbG9yOiB2YXIoLS1tZC1saW5rLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgW2RhdGEtY2hhdC1wcm9ncmVzcy1tYXJrZXI9J3BlbmRpbmcnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgY3VycmVudENvbG9yIDIyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBhbmltYXRpb246IGNoYXRQcm9ncmVzc01hcmtlclNwaW4gMC44NXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IFtkYXRhLWNoYXQtcHJvZ3Jlc3MtbWFya2VyPSdjb21wbGV0ZWQnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgY3VycmVudENvbG9yIDEyJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IFtkYXRhLWNoYXQtcHJvZ3Jlc3MtbWFya2VyPSdjb21wbGV0ZWQnXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAwLjI2cmVtO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjA2cmVtO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuQGtleWZyYW1lcyBjaGF0UHJvZ3Jlc3NNYXJrZXJTcGluIHtcbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4uTWFya2Rvd25Db250ZW50IGEge1xuICAgIGNvbG9yOiB2YXIoLS1tZC1saW5rLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDEuNHB4O1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xNmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzIDAuMnMgZWFzZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBhOmhvdmVyLFxuLk1hcmtkb3duQ29udGVudCBhOmZvY3VzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDAuOTI7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMnB4O1xufVxuXG4uTWFya2Rvd25Db250ZW50IGEuaW5saW5lUmVmZXJlbmNlQ2hpcCxcbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscy5pbmxpbmVSZWZlcmVuY2VDaGlwID4gc3VtbWFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjQyZW07XG4gICAgcGFkZGluZzogMC4xNmVtIDAuNThlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtbGluay1jb2xvcikgMjglLCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNDUpKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLWxpbmstY29sb3IpIDklLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkpO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1saW5rLWNvbG9yKTtcbiAgICBmb250LXNpemU6IDAuOTJlbTtcbiAgICBmb250LXdlaWdodDogNjUwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBhLmlubGluZVJlZmVyZW5jZUNoaXAge1xuICAgIG1hcmdpbjogMCAwLjA4ZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscy5pbmxpbmVSZWZlcmVuY2VDaGlwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMC4wOGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uTWFya2Rvd25Db250ZW50IDppcyhhLmlubGluZVJlZmVyZW5jZUNoaXAsIGRldGFpbHMuaW5saW5lUmVmZXJlbmNlQ2hpcCA+IHN1bW1hcnkpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAwLjllbTtcbiAgICBoZWlnaHQ6IDAuNjJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBib3JkZXI6IDEuOHB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE2ZW07XG4gICAgb3BhY2l0eTogMC44NjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4wM2VtKTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6aXMoYS5pbmxpbmVSZWZlcmVuY2VDaGlwLCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5KTpob3Zlcixcbi5NYXJrZG93bkNvbnRlbnQgOmlzKGEuaW5saW5lUmVmZXJlbmNlQ2hpcCwgZGV0YWlscy5pbmxpbmVSZWZlcmVuY2VDaGlwID4gc3VtbWFyeSk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtbGluay1jb2xvcikgNTIlLCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpKTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtbGluay1jb2xvcikgMTQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTQpKTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMuaW5saW5lUmVmZXJlbmNlQ2hpcCA+IGRpdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHRvcDogY2FsYygxMDAlICsgMC40NWVtKTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgbWluLXdpZHRoOiAxNXJlbTtcbiAgICBwYWRkaW5nOiAwLjQ1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC1saW5rLWNvbG9yKSAyMiUsIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC40NSkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNjVyZW07XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWJnKSA5MiUsIHdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVTdGF0dXMpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4zOGVtO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1tdXRlZC1jb2xvcik7XG4gICAgZm9udC1zaXplOiAwLjc4ZW07XG4gICAgZm9udC13ZWlnaHQ6IDY1MDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVTdGF0dXMpIHtcbiAgICB3aWR0aDogMC41MmVtO1xuICAgIGhlaWdodDogMC41MmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjA1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLW11dGVkLWNvbG9yKSA1NSUsIHRyYW5zcGFyZW50KTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6Z2xvYmFsKC5pbmxpbmVSZWZlcmVuY2VNZW51U3RhdHVzLS1hY3RpdmUpIHtcbiAgICBjb2xvcjogIzA0Nzg1Nztcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVTdGF0dXMtLWFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQ6ICMxMGI5ODE7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4xNmVtIGNvbG9yLW1peChpbiBzcmdiLCAjMTBiOTgxIDIwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVTdGF0dXMpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAwLjU1ZW07XG4gICAgaGVpZ2h0OiAwLjU1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMuaW5saW5lUmVmZXJlbmNlQ2hpcCA+IHN1bW1hcnkgOmdsb2JhbCguaW5saW5lUmVmZXJlbmNlTWVudVN0YXR1cyk6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6Z2xvYmFsKC5pbmxpbmVSZWZlcmVuY2VNZW51T3B0aW9uKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC40NXJlbSAwLjU1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgICBjb2xvcjogdmFyKC0tbWQtbGluay1jb2xvcik7XG4gICAgZm9udC1zaXplOiAwLjgyZW07XG4gICAgZm9udC13ZWlnaHQ6IDY1MDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgYTpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVPcHRpb24pOmhvdmVyLFxuLk1hcmtkb3duQ29udGVudCBhOmdsb2JhbCguaW5saW5lUmVmZXJlbmNlTWVudU9wdGlvbik6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLWxpbmstY29sb3IpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6Z2xvYmFsKC5pbmxpbmVSZWZlcmVuY2VNZW51T3B0aW9uLS1kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgY29sb3I6IHZhcigtLW1kLW11dGVkLWNvbG9yKTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBtYXJnaW46IDAuOTVlbSAwO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHByZSxcbi5NYXJrZG93bkNvbnRlbnQgYmxvY2txdW90ZSxcbi5NYXJrZG93bkNvbnRlbnQgdGFibGUsXG4uTWFya2Rvd25Db250ZW50IGhyIHtcbiAgICBtYXJnaW46IDAuOTVlbSAwO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHByZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGJsb2NrcXVvdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLW1kLWJsb2NrcXVvdGUtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtYmxvY2txdW90ZS1iZyk7XG4gICAgY29sb3I6IHZhcigtLW1kLW11dGVkLWNvbG9yKTtcbiAgICBwYWRkaW5nOiAwLjcyZW0gMC45NmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGJsb2NrcXVvdGUgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBjb2RlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC4xNGVtIDAuNDJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tZC1pbmxpbmUtY29kZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC1pbmxpbmUtY29kZS1iZyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLW1kLWNvZGUtZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogMC44OGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIGNvbG9yOiB2YXIoLS1tZC1pbmxpbmUtY29kZS1jb2xvcik7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBwcmUgY29kZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgLmNoYXQtY29kZS1ibG9jayB7XG4gICAgYmFja2dyb3VuZDogIzE4MWMyMztcbiAgICBjb2xvcjogI2Y4ZmFmYztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMiwgNiwgMjMsIDAuMjgpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1tZC1jb2RlLWZvbnQtZmFtaWx5KTtcbn1cblxuLk1hcmtkb3duQ29udGVudCAuY2hhdC1jb2RlLWJsb2NrIGNvZGUge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1kLXRhYmxlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLXRhYmxlLWJnKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEpO1xuICAgIGZvbnQtc2l6ZTogMC45M2VtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uTWFya2Rvd25Db250ZW50IHRoLFxuLk1hcmtkb3duQ29udGVudCB0ZCB7XG4gICAgcGFkZGluZzogMC41OGVtIDAuNzJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWQtdGFibGUtYm9yZGVyKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCB0aCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtdGFibGUtaGVhZC1iZyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLk1hcmtkb3duQ29udGVudCB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHRyOm50aC1jaGlsZChldmVuKSB0ZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtdGFibGUtcm93LWFsdC1iZyk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaHIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbWQtdGFibGUtYm9yZGVyKTtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyB7XG4gICAgbWFyZ2luOiAwLjk1ZW0gMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tZC10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWJnKSA4MiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSAxOCUpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDIycHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE4cyBlYXNlLCBib3gtc2hhZG93IDAuMThzIGVhc2UsIHRyYW5zZm9ybSAwLjE4cyBlYXNlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHM6aG92ZXIsXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHM6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC1saW5rLWNvbG9yKSAyNCUsIHZhcigtLW1kLXRhYmxlLWJvcmRlcikgNzYlKTtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMjhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMgPiBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjcycmVtO1xuICAgIHBhZGRpbmc6IDAuOWVtIDEuMDVlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tbWQtbGluay1jb2xvcik7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWhlYWQtYmcpIDg4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSAxMiUpLFxuICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtdGFibGUtYmcpIDgyJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpIDE4JSlcbiAgICApO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xOHMgZWFzZSwgY29sb3IgMC4xOHMgZWFzZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMC42MnJlbTtcbiAgICBoZWlnaHQ6IDAuNjJyZW07XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTAuMDRyZW07XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwLjgyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE4cyBlYXNlLCBvcGFjaXR5IDAuMThzIGVhc2U7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyA+IHN1bW1hcnk6aG92ZXIsXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMgPiBzdW1tYXJ5OmZvY3VzLXZpc2libGUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtdGFibGUtaGVhZC1iZykgNzYlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpIDI0JSksXG4gICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC10YWJsZS1iZykgNzQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpIDI2JSlcbiAgICApO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMgPiBzdW1tYXJ5OmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtbGluay1jb2xvcikgNTIlLCB0cmFuc3BhcmVudCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyA+IHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtdGFibGUtYm9yZGVyKSA4OCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzW29wZW5dID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gOm5vdChzdW1tYXJ5KSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMDVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMDVlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gc3VtbWFyeSArICoge1xuICAgIG1hcmdpbi10b3A6IDAuOTVlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMDVlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2NTA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZW0ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmNpdGF0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMS40ZW07XG4gICAgbWFyZ2luOiAwIDAuMWVtO1xuICAgIHBhZGRpbmc6IDAgMC4zNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMC43NGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1jaXRhdGlvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtY2l0YXRpb24tYmcpO1xufVxuXG4uY2l0YXRpb25SZWYge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxLjRlbTtcbiAgICBtYXJnaW46IDAgMC4xZW07XG4gICAgcGFkZGluZzogMCAwLjM1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAwLjc0ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgY29sb3I6IHZhcigtLW1kLWNpdGF0aW9uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC1jaXRhdGlvbi1iZyk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgc3VwW2RhdGEtY2l0YXRpb24tZm9vdG5vdGVdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwIDAuN2VtIDAgMC4wOGVtO1xuICAgIGZvbnQtc2l6ZTogMC43MmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4iXX0= */";
28198
+ var css_248z$5 = ".MarkdownContent-module_MarkdownContent__2JuyX{--md-text-color:var(--chat-md-text-color,inherit);--md-muted-color:var(--chat-md-muted-color,currentColor);--md-link-color:var(--chat-md-link-color,#2563eb);--md-heading-color:var(--chat-heading-text-color,var(--md-text-color));--md-heading-font-family:var(\n --chat-md-heading-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,sans-serif)\n );--md-body-font-family:var(\n --chat-md-body-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,sans-serif)\n );--md-code-font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",monospace;--md-inline-code-bg:var(--chat-md-inline-code-bg,rgba(15,23,42,.08));--md-inline-code-border:var(--chat-md-inline-code-border,rgba(15,23,42,.12));--md-inline-code-color:var(--chat-md-inline-code-color,var(--md-text-color));--md-blockquote-bg:var(--chat-md-blockquote-bg,rgba(248,250,252,.92));--md-blockquote-border:var(--chat-md-blockquote-border,rgba(59,130,246,.35));--md-table-bg:var(--chat-md-table-bg,rgba(248,250,252,.92));--md-table-row-alt-bg:var(--chat-md-table-row-alt-bg,rgba(241,245,249,.9));--md-table-head-bg:var(--chat-md-table-head-bg,rgba(226,232,240,.95));--md-table-border:var(--chat-md-table-border,rgba(148,163,184,.36));--md-citation-bg:var(--chat-md-citation-bg,rgba(59,130,246,.14));--md-citation-color:var(--chat-md-citation-color,#1d4ed8);color:var(--md-text-color);font-family:var(--md-body-font-family);font-size:inherit;letter-spacing:.002em;line-height:1.65}.MarkdownContent-module_MarkdownContent__2JuyX>:first-child{margin-top:0!important}.MarkdownContent-module_MarkdownContent__2JuyX>:last-child{margin-bottom:0!important}.MarkdownContent-module_MarkdownContent__2JuyX :is(h1,h2,h3,h4,h5,h6){text-wrap:balance;color:var(--md-heading-color);font-family:var(--md-heading-font-family);font-weight:600;letter-spacing:.01em;line-height:1.24;margin:1.4em 0 .55em;position:relative}.MarkdownContent-module_MarkdownContent__2JuyX h1{font-size:1.52rem}.MarkdownContent-module_MarkdownContent__2JuyX h2{font-size:1.4rem}.MarkdownContent-module_MarkdownContent__2JuyX h3{font-size:1.26rem}.MarkdownContent-module_MarkdownContent__2JuyX h4{font-size:1.14rem}.MarkdownContent-module_MarkdownContent__2JuyX h5{font-size:1.04rem}.MarkdownContent-module_MarkdownContent__2JuyX h6{font-size:.98rem}.MarkdownContent-module_MarkdownContent__2JuyX p{text-wrap:pretty;margin:0 0 .9em}.MarkdownContent-module_MarkdownContent__2JuyX p:empty{display:none}.MarkdownContent-module_MarkdownContent__2JuyX :is(ul,ol){display:grid;gap:.35em;margin:.65em 0 1em;padding-inline-start:1.35rem}.MarkdownContent-module_MarkdownContent__2JuyX ul{list-style:disc}.MarkdownContent-module_MarkdownContent__2JuyX ol{list-style:decimal}.MarkdownContent-module_MarkdownContent__2JuyX li{line-height:1.58}.MarkdownContent-module_MarkdownContent__2JuyX li>:is(ul,ol){margin-bottom:0;margin-top:.45em}.MarkdownContent-module_MarkdownContent__2JuyX ul:has(>li>[data-chat-progress-marker]){list-style:none;padding-inline-start:0}.MarkdownContent-module_MarkdownContent__2JuyX ul:has(>li>[data-chat-progress-marker])>li{list-style:none}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker]{border-radius:999px;color:var(--md-link-color);display:inline-flex;height:1rem;margin-right:.58rem;transform-origin:center;vertical-align:text-bottom;width:1rem}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker=pending]{animation:MarkdownContent-module_chatProgressMarkerSpin__TpoKr .85s linear infinite;border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-top-color:currentcolor;box-sizing:border-box}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker=completed]{align-items:center;background:color-mix(in srgb,currentColor 12%,transparent);border:2px solid;box-sizing:border-box;justify-content:center}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker=completed]:before{border-bottom:2px solid;border-right:2px solid;box-sizing:border-box;content:\"\";display:block;height:.5rem;margin-top:-.06rem;transform:rotate(45deg);width:.26rem}@keyframes MarkdownContent-module_chatProgressMarkerSpin__TpoKr{to{transform:rotate(1turn)}}.MarkdownContent-module_MarkdownContent__2JuyX a{color:var(--md-link-color);text-decoration-color:currentColor;text-decoration-line:underline;text-decoration-thickness:1.4px;text-underline-offset:.16em;transition:opacity .2s ease,text-decoration-thickness .2s ease}.MarkdownContent-module_MarkdownContent__2JuyX a:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX a:hover{opacity:.92;text-decoration-thickness:2px}.MarkdownContent-module_MarkdownContent__2JuyX a.MarkdownContent-module_inlineReferenceChip__o-WIB,.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary{align-items:center;background:color-mix(in srgb,var(--md-link-color) 9%,hsla(0,0%,100%,.9));border:1px solid color-mix(in srgb,var(--md-link-color) 28%,rgba(148,163,184,.45));border-radius:8px;box-shadow:0 1px 2px rgba(15,23,42,.08);color:var(--md-link-color);display:inline-flex;font-size:.92em;font-weight:650;gap:.42em;line-height:1.35;max-width:100%;padding:.16em .58em;text-decoration:none;vertical-align:baseline;white-space:nowrap}.MarkdownContent-module_MarkdownContent__2JuyX a.MarkdownContent-module_inlineReferenceChip__o-WIB{margin:0 .08em}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB{display:inline-block;margin:0 .08em;max-width:100%;position:relative;vertical-align:baseline}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary{cursor:pointer;list-style:none}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary::-webkit-details-marker{display:none}.MarkdownContent-module_MarkdownContent__2JuyX :is(a.MarkdownContent-module_inlineReferenceChip__o-WIB,details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary):before{border:1.8px solid;border-radius:.16em;box-sizing:border-box;content:\"\";display:inline-block;flex:0 0 auto;height:.62em;opacity:.86;transform:translateY(.03em);width:.9em}.MarkdownContent-module_MarkdownContent__2JuyX :is(a.MarkdownContent-module_inlineReferenceChip__o-WIB.inlineReferenceChip--with-icon,details.MarkdownContent-module_inlineReferenceChip__o-WIB.inlineReferenceChip--with-icon>summary):before{display:none}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceIcon{align-items:center;background:color-mix(in srgb,var(--md-link-color) 10%,#fff);border:1px solid color-mix(in srgb,var(--md-link-color) 22%,transparent);border-radius:.24em;display:inline-flex;flex:0 0 auto;font-size:.86em;height:1.1em;justify-content:center;line-height:1;overflow:hidden;position:relative;width:1.1em}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceIconFallback{color:var(--md-link-color);font-size:.48em;font-weight:750;letter-spacing:-.04em;max-width:100%;overflow:hidden;white-space:nowrap}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceIcon img{background:color-mix(in srgb,var(--md-link-color) 7%,#fff);border-radius:0;display:block;height:100%;inset:0;margin:0;max-width:none;object-fit:contain;position:absolute;width:100%}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceIcon img[hidden]{display:none}.MarkdownContent-module_MarkdownContent__2JuyX :is(a.MarkdownContent-module_inlineReferenceChip__o-WIB,details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary):focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX :is(a.MarkdownContent-module_inlineReferenceChip__o-WIB,details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary):hover{background:color-mix(in srgb,var(--md-link-color) 14%,hsla(0,0%,100%,.94));border-color:color-mix(in srgb,var(--md-link-color) 52%,rgba(148,163,184,.35));opacity:1}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>div{background:color-mix(in srgb,var(--md-table-bg) 92%,#fff);border:1px solid color-mix(in srgb,var(--md-link-color) 22%,rgba(148,163,184,.45));border-radius:.65rem;box-shadow:0 10px 24px rgba(15,23,42,.16);display:grid;left:0;min-width:15rem;padding:.45rem;position:absolute;top:calc(100% + .45em);z-index:20}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuStatus{align-items:center;color:#b91c1c;display:inline-flex;font-size:.78em;font-weight:650;gap:.38em}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary .inlineReferenceMenuStatus{background:#ef4444;border-radius:999px;box-shadow:0 0 0 .16em color-mix(in srgb,#ef4444 18%,transparent);height:.52em;margin-left:.05em;width:.52em}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuStatus--active{color:#047857}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary .inlineReferenceMenuStatus--active{background:#10b981;box-shadow:0 0 0 .16em color-mix(in srgb,#10b981 20%,transparent)}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuStatus:before{background:currentColor;border-radius:999px;content:\"\";height:.55em;width:.55em}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary .inlineReferenceMenuStatus:before{display:none}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuOption{background:transparent;border:0;border-radius:.4rem;color:var(--md-link-color);display:block;font-family:inherit;font-size:.82em;font-weight:650;line-height:1.35;padding:.45rem .55rem;text-align:left;text-decoration:none;width:100%}.MarkdownContent-module_MarkdownContent__2JuyX a.inlineReferenceMenuOption:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX a.inlineReferenceMenuOption:hover,.MarkdownContent-module_MarkdownContent__2JuyX button.inlineReferenceMenuOption:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX button.inlineReferenceMenuOption:hover{background:color-mix(in srgb,var(--md-link-color) 10%,transparent);text-decoration:none}.MarkdownContent-module_MarkdownContent__2JuyX button.inlineReferenceMenuOption{cursor:pointer}.MarkdownContent-module_MarkdownContent__2JuyX button.inlineReferenceMenuOption:disabled{cursor:wait;opacity:.55}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuOption--disabled{color:var(--md-muted-color);cursor:not-allowed}.MarkdownContent-module_MarkdownContent__2JuyX img{border-radius:14px;display:block;height:auto;margin:.95em 0;max-width:100%}.MarkdownContent-module_MarkdownContent__2JuyX blockquote,.MarkdownContent-module_MarkdownContent__2JuyX hr,.MarkdownContent-module_MarkdownContent__2JuyX pre,.MarkdownContent-module_MarkdownContent__2JuyX table{margin:.95em 0}.MarkdownContent-module_MarkdownContent__2JuyX pre{background:transparent;border:none;border-radius:12px;box-shadow:none;display:block;overflow:visible;padding:0}.MarkdownContent-module_MarkdownContent__2JuyX blockquote{background:var(--md-blockquote-bg);border:none;border-left:3px solid var(--md-blockquote-border);border-radius:12px;box-shadow:none;color:var(--md-muted-color);display:block;padding:.72em .96em}.MarkdownContent-module_MarkdownContent__2JuyX blockquote>:last-child{margin-bottom:0}.MarkdownContent-module_MarkdownContent__2JuyX code{background:var(--md-inline-code-bg);border:1px solid var(--md-inline-code-border);border-radius:8px;color:var(--md-inline-code-color);font-family:var(--md-code-font-family);font-size:.88em;line-height:1.45;margin:0;padding:.14em .42em;word-break:break-word}.MarkdownContent-module_MarkdownContent__2JuyX pre code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:normal}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg{background:#181c23;border:1px solid rgba(148,163,184,.35);border-radius:12px;box-shadow:0 6px 18px rgba(2,6,23,.28);color:#f8fafc;font-family:var(--md-code-font-family);font-size:14px;line-height:1.6;overflow-x:auto}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:normal}.MarkdownContent-module_MarkdownContent__2JuyX table{background:var(--md-table-bg);border:1px solid var(--md-table-border);border-collapse:separate;border-radius:12px;border-spacing:0;box-shadow:0 2px 8px rgba(15,23,42,.1);color:inherit;font-size:.93em;overflow:hidden;width:100%}.MarkdownContent-module_MarkdownContent__2JuyX td,.MarkdownContent-module_MarkdownContent__2JuyX th{background:none;border-bottom:1px solid var(--md-table-border);color:inherit;padding:.58em .72em;text-align:left;vertical-align:top}.MarkdownContent-module_MarkdownContent__2JuyX th{background:var(--md-table-head-bg);font-weight:600}.MarkdownContent-module_MarkdownContent__2JuyX tr:last-child td{border-bottom:none}.MarkdownContent-module_MarkdownContent__2JuyX tr:nth-child(2n) td{background:var(--md-table-row-alt-bg)}.MarkdownContent-module_MarkdownContent__2JuyX hr{border:none;border-top:1px solid var(--md-table-border);opacity:.8}.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB){background:color-mix(in srgb,var(--md-table-bg) 82%,hsla(0,0%,100%,.3) 18%);border:1px solid var(--md-table-border);border-radius:16px;box-shadow:0 8px 22px rgba(15,23,42,.08);margin:.95em 0;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB):focus-within,.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB):hover{border-color:color-mix(in srgb,var(--md-link-color) 24%,var(--md-table-border) 76%);box-shadow:0 12px 28px rgba(15,23,42,.12)}.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB)>summary{align-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--md-table-head-bg) 88%,hsla(0,0%,100%,.85) 12%),color-mix(in srgb,var(--md-table-bg) 82%,hsla(0,0%,100%,.7) 18%));color:var(--md-link-color);cursor:pointer;display:flex;font-weight:600;gap:.72rem;list-style:none;padding:.9em 1.05em;transition:background .18s ease,color .18s ease;user-select:none}.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB)>summary:before{border-bottom:2px solid;border-right:2px solid;content:\"\";flex:0 0 auto;height:.62rem;margin-top:-.04rem;opacity:.82;transform:rotate(-45deg);transition:transform .18s ease,opacity .18s ease;width:.62rem}.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB)>summary:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB)>summary:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--md-table-head-bg) 76%,hsla(0,0%,100%,.95) 24%),color-mix(in srgb,var(--md-table-bg) 74%,hsla(0,0%,100%,.82) 26%))}.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB)>summary:focus-visible{outline:2px solid color-mix(in srgb,var(--md-link-color) 52%,transparent);outline-offset:-2px}.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB)>summary::-webkit-details-marker{display:none}.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB)[open]>summary{border-bottom:1px solid color-mix(in srgb,var(--md-table-border) 88%,transparent)}.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB)[open]>summary:before{opacity:1;transform:rotate(45deg)}.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB)>:not(summary){margin-left:1.05em;margin-right:1.05em}.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB)>summary+*{margin-top:.95em}.MarkdownContent-module_MarkdownContent__2JuyX details:not(.MarkdownContent-module_inlineReferenceChip__o-WIB)>:last-child{margin-bottom:1.05em}.MarkdownContent-module_MarkdownContent__2JuyX strong{font-weight:650}.MarkdownContent-module_MarkdownContent__2JuyX em{font-style:italic}.MarkdownContent-module_citationRef__fKqaT,.MarkdownContent-module_citation__11SMw{align-items:center;background:var(--md-citation-bg);border-radius:999px;color:var(--md-citation-color);display:inline-flex;font-size:.74em;font-weight:700;justify-content:center;line-height:1.45;margin:0 .1em;min-width:1.4em;padding:0 .35em;vertical-align:super}.MarkdownContent-module_MarkdownContent__2JuyX sup[data-citation-footnote]{color:currentColor;display:inline;font-size:.72em;font-weight:700;line-height:1;margin:0 .7em 0 .08em;vertical-align:super}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1hcmtkb3duQ29udGVudC5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUNJLGlEQUFtRCxDQUNuRCx3REFBMEQsQ0FDMUQsaURBQW1ELENBQ25ELHNFQUF3RSxDQUN4RTs7S0FHQyxDQUNEOztLQUdDLENBQ0QsbUdBQTBHLENBQzFHLG9FQUEwRSxDQUMxRSw0RUFBa0YsQ0FDbEYsNEVBQThFLENBQzlFLHFFQUEyRSxDQUMzRSw0RUFBa0YsQ0FDbEYsMkRBQWlFLENBQ2pFLDBFQUFnRixDQUNoRixxRUFBMkUsQ0FDM0UsbUVBQXlFLENBQ3pFLGdFQUFzRSxDQUN0RSx5REFBMkQsQ0FFM0QsMEJBQTJCLENBQzNCLHNDQUF1QyxDQUN2QyxpQkFBa0IsQ0FFbEIscUJBQXVCLENBRHZCLGdCQUVKLENBRUEsNERBQ0ksc0JBQ0osQ0FFQSwyREFDSSx5QkFDSixDQUVBLHNFQVFJLGlCQUFrQixDQUxsQiw2QkFBOEIsQ0FDOUIseUNBQTBDLENBQzFDLGVBQWdCLENBRWhCLG9CQUFzQixDQUR0QixnQkFBaUIsQ0FKakIsb0JBQXNCLENBRHRCLGlCQVFKLENBRUEsa0RBQ0ksaUJBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLGtEQUNJLGlCQUNKLENBRUEsa0RBQ0ksaUJBQ0osQ0FFQSxrREFDSSxpQkFDSixDQUVBLGtEQUNJLGdCQUNKLENBRUEsaURBRUksZ0JBQWlCLENBRGpCLGVBRUosQ0FFQSx1REFDSSxZQUNKLENBRUEsMERBR0ksWUFBYSxDQUNiLFNBQVcsQ0FIWCxrQkFBb0IsQ0FDcEIsNEJBR0osQ0FFQSxrREFDSSxlQUNKLENBRUEsa0RBQ0ksa0JBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLDZEQUVJLGVBQWdCLENBRGhCLGdCQUVKLENBRUEsdUZBQ0ksZUFBZ0IsQ0FDaEIsc0JBQ0osQ0FFQSwwRkFDSSxlQUNKLENBRUEsMkVBTUksbUJBQW9CLENBQ3BCLDBCQUEyQixDQU4zQixtQkFBb0IsQ0FFcEIsV0FBWSxDQUNaLG1C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QixDQUNuQixtQkFDSixDQUVBLHlIQUNJLGdCQUNKLENBRUEsMkhBQ0ksb0JBQ0osQ0FFQSxzREFDSSxlQUNKLENBRUEsa0RBQ0ksaUJBQ0osQ0FrQkEsbUZBRUksa0JBQW1CLENBV25CLGdDQUFpQyxDQU5qQyxtQkFBb0IsQ0FLcEIsOEJBQStCLENBWC9CLG1CQUFvQixDQU9wQixlQUFpQixDQUNqQixlQUFnQixDQU5oQixzQkFBdUIsQ0FPdkIsZ0JBQWlCLENBTGpCLGFBQWUsQ0FEZixlQUFnQixDQUVoQixlQUFpQixDQUtqQixvQkFHSixDQUVBLDJFQU9JLGtCQUFtQixDQU5uQixjQUFlLENBRWYsZUFBaUIsQ0FDakIsZUFBZ0IsQ0FDaEIsYUFBYyxDQUhkLHFCQUF3QixDQUl4QixvQkFFSiIsImZpbGUiOiJNYXJrZG93bkNvbnRlbnQubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5NYXJrZG93bkNvbnRlbnQge1xuICAgIC0tbWQtdGV4dC1jb2xvcjogdmFyKC0tY2hhdC1tZC10ZXh0LWNvbG9yLCBpbmhlcml0KTtcbiAgICAtLW1kLW11dGVkLWNvbG9yOiB2YXIoLS1jaGF0LW1kLW11dGVkLWNvbG9yLCBjdXJyZW50Q29sb3IpO1xuICAgIC0tbWQtbGluay1jb2xvcjogdmFyKC0tY2hhdC1tZC1saW5rLWNvbG9yLCAjMjU2M2ViKTtcbiAgICAtLW1kLWhlYWRpbmctY29sb3I6IHZhcigtLWNoYXQtaGVhZGluZy10ZXh0LWNvbG9yLCB2YXIoLS1tZC10ZXh0LWNvbG9yKSk7XG4gICAgLS1tZC1oZWFkaW5nLWZvbnQtZmFtaWx5OiB2YXIoXG4gICAgICAgIC0tY2hhdC1tZC1oZWFkaW5nLWZvbnQtZmFtaWx5LFxuICAgICAgICB2YXIoLS1mb250LXBvcHBpbnMsICdQb3BwaW5zJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmKVxuICAgICk7XG4gICAgLS1tZC1ib2R5LWZvbnQtZmFtaWx5OiB2YXIoXG4gICAgICAgIC0tY2hhdC1tZC1ib2R5LWZvbnQtZmFtaWx5LFxuICAgICAgICB2YXIoLS1mb250LXBvcHBpbnMsICdQb3BwaW5zJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmKVxuICAgICk7XG4gICAgLS1tZC1jb2RlLWZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIG1vbm9zcGFjZTtcbiAgICAtLW1kLWlubGluZS1jb2RlLWJnOiB2YXIoLS1jaGF0LW1kLWlubGluZS1jb2RlLWJnLCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpKTtcbiAgICAtLW1kLWlubGluZS1jb2RlLWJvcmRlcjogdmFyKC0tY2hhdC1tZC1pbmxpbmUtY29kZS1ib3JkZXIsIHJnYmEoMTUsIDIzLCA0MiwgMC4xMikpO1xuICAgIC0tbWQtaW5saW5lLWNvZGUtY29sb3I6IHZhcigtLWNoYXQtbWQtaW5saW5lLWNvZGUtY29sb3IsIHZhcigtLW1kLXRleHQtY29sb3IpKTtcbiAgICAtLW1kLWJsb2NrcXVvdGUtYmc6IHZhcigtLWNoYXQtbWQtYmxvY2txdW90ZS1iZywgcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjkyKSk7XG4gICAgLS1tZC1ibG9ja3F1b3RlLWJvcmRlcjogdmFyKC0tY2hhdC1tZC1ibG9ja3F1b3RlLWJvcmRlciwgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMzUpKTtcbiAgICAtLW1kLXRhYmxlLWJnOiB2YXIoLS1jaGF0LW1kLXRhYmxlLWJnLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTIpKTtcbiAgICAtLW1kLXRhYmxlLXJvdy1hbHQtYmc6IHZhcigtLWNoYXQtbWQtdGFibGUtcm93LWFsdC1iZywgcmdiYSgyNDEsIDI0NSwgMjQ5LCAwLjkpKTtcbiAgICAtLW1kLXRhYmxlLWhlYWQtYmc6IHZhcigtLWNoYXQtbWQtdGFibGUtaGVhZC1iZywgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjk1KSk7XG4gICAgLS1tZC10YWJsZS1ib3JkZXI6IHZhcigtLWNoYXQtbWQtdGFibGUtYm9yZGVyLCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzYpKTtcbiAgICAtLW1kLWNpdGF0aW9uLWJnOiB2YXIoLS1jaGF0LW1kLWNpdGF0aW9uLWJnLCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xNCkpO1xuICAgIC0tbWQtY2l0YXRpb24tY29sb3I6IHZhcigtLWNoYXQtbWQtY2l0YXRpb24tY29sb3IsICMxZDRlZDgpO1xuXG4gICAgY29sb3I6IHZhcigtLW1kLXRleHQtY29sb3IpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1tZC1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDAyZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLk1hcmtkb3duQ29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgOmlzKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxLjRlbSAwIDAuNTVlbTtcbiAgICBjb2xvcjogdmFyKC0tbWQtaGVhZGluZy1jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLW1kLWhlYWRpbmctZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaDEge1xuICAgIGZvbnQtc2l6ZTogMS41MnJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoMiB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4yNnJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoNCB7XG4gICAgZm9udC1zaXplOiAxLjE0cmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGg1IHtcbiAgICBmb250LXNpemU6IDEuMDRyZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaDYge1xuICAgIGZvbnQtc2l6ZTogMC45OHJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBwIHtcbiAgICBtYXJnaW46IDAgMCAwLjllbTtcbiAgICB0ZXh0LXdyYXA6IHByZXR0eTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBwOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uTWFya2Rvd25Db250ZW50IDppcyh1bCwgb2wpIHtcbiAgICBtYXJnaW46IDAuNjVlbSAwIDFlbTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMS4zNXJlbTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMC4zNWVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xufVxuXG4uTWFya2Rvd25Db250ZW50IG9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS41ODtcbn1cblxuLk1hcmtkb3duQ29udGVudCBsaSA+IDppcyh1bCwgb2wpIHtcbiAgICBtYXJnaW4tdG9wOiAwLjQ1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLk1hcmtkb3duQ29udGVudCB1bDpoYXMoPiBsaSA+IFtkYXRhLWNoYXQtcHJvZ3Jlc3MtbWFya2VyXSkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdWw6aGFzKD4gbGkgPiBbZGF0YS1jaGF0LXByb2dyZXNzLW1hcmtlcl0pID4gbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgW2RhdGEtY2hhdC1wcm9ncmVzcy1tYXJrZXJdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjU4cmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBjb2xvcjogdmFyKC0tbWQtbGluay1jb2xvcik7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG4uTWFya2Rvd25Db250ZW50IFtkYXRhLWNoYXQtcHJvZ3Jlc3MtbWFya2VyPSdwZW5kaW5nJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiAycHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIGN1cnJlbnRDb2xvciAyMiUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgYW5pbWF0aW9uOiBjaGF0UHJvZ3Jlc3NNYXJrZXJTcGluIDAuODVzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBbZGF0YS1jaGF0LXByb2dyZXNzLW1hcmtlcj0nY29tcGxldGVkJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIGN1cnJlbnRDb2xvciAxMiUsIHRyYW5zcGFyZW50KTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBbZGF0YS1jaGF0LXByb2dyZXNzLW1hcmtlcj0nY29tcGxldGVkJ106OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMC4yNnJlbTtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC4wNnJlbTtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbkBrZXlmcmFtZXMgY2hhdFByb2dyZXNzTWFya2VyU3BpbiB7XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuLk1hcmtkb3duQ29udGVudCBhIHtcbiAgICBjb2xvcjogdmFyKC0tbWQtbGluay1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxLjRweDtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMTZlbTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcyAwLjJzIGVhc2U7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgYTpob3Zlcixcbi5NYXJrZG93bkNvbnRlbnQgYTpmb2N1cy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAwLjkyO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDJweDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBhLmlubGluZVJlZmVyZW5jZUNoaXAsXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMuaW5saW5lUmVmZXJlbmNlQ2hpcCA+IHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC40MmVtO1xuICAgIHBhZGRpbmc6IDAuMTZlbSAwLjU4ZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLWxpbmstY29sb3IpIDI4JSwgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQ1KSk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC1saW5rLWNvbG9yKSA5JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpKTtcbiAgICBjb2xvcjogdmFyKC0tbWQtbGluay1jb2xvcik7XG4gICAgZm9udC1zaXplOiAwLjkyZW07XG4gICAgZm9udC13ZWlnaHQ6IDY1MDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgYS5pbmxpbmVSZWZlcmVuY2VDaGlwIHtcbiAgICBtYXJnaW46IDAgMC4wOGVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMuaW5saW5lUmVmZXJlbmNlQ2hpcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAuMDhlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscy5pbmxpbmVSZWZlcmVuY2VDaGlwID4gc3VtbWFyeSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscy5pbmxpbmVSZWZlcmVuY2VDaGlwID4gc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6aXMoYS5pbmxpbmVSZWZlcmVuY2VDaGlwLCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5KTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMC45ZW07XG4gICAgaGVpZ2h0OiAwLjYyZW07XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgYm9yZGVyOiAxLjhweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xNmVtO1xuICAgIG9wYWNpdHk6IDAuODY7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuMDNlbSk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnRcbiAgICA6aXMoXG4gICAgICAgIGEuaW5saW5lUmVmZXJlbmNlQ2hpcDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZUNoaXAtLXdpdGgtaWNvbiksXG4gICAgICAgIGRldGFpbHMuaW5saW5lUmVmZXJlbmNlQ2hpcDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZUNoaXAtLXdpdGgtaWNvbikgPiBzdW1tYXJ5XG4gICAgKTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uTWFya2Rvd25Db250ZW50IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZUljb24pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgd2lkdGg6IDEuMWVtO1xuICAgIGhlaWdodDogMS4xZW07XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC1saW5rLWNvbG9yKSAyMiUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI0ZW07XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLWxpbmstY29sb3IpIDEwJSwgd2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogMC44NmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uTWFya2Rvd25Db250ZW50IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZUljb25GYWxsYmFjaykge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1saW5rLWNvbG9yKTtcbiAgICBmb250LXNpemU6IDAuNDhlbTtcbiAgICBmb250LXdlaWdodDogNzUwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgOmdsb2JhbCguaW5saW5lUmVmZXJlbmNlSWNvbikgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtbGluay1jb2xvcikgNyUsIHdoaXRlKTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uTWFya2Rvd25Db250ZW50IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZUljb24pIGltZ1toaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uTWFya2Rvd25Db250ZW50IDppcyhhLmlubGluZVJlZmVyZW5jZUNoaXAsIGRldGFpbHMuaW5saW5lUmVmZXJlbmNlQ2hpcCA+IHN1bW1hcnkpOmhvdmVyLFxuLk1hcmtkb3duQ29udGVudCA6aXMoYS5pbmxpbmVSZWZlcmVuY2VDaGlwLCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5KTpmb2N1cy12aXNpYmxlIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC1saW5rLWNvbG9yKSA1MiUsIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSkpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC1saW5rLWNvbG9yKSAxNCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NCkpO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscy5pbmxpbmVSZWZlcmVuY2VDaGlwID4gZGl2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjA7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyAwLjQ1ZW0pO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBtaW4td2lkdGg6IDE1cmVtO1xuICAgIHBhZGRpbmc6IDAuNDVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLWxpbmstY29sb3IpIDIyJSwgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQ1KSk7XG4gICAgYm9yZGVyLXJhZGl1czogMC42NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtdGFibGUtYmcpIDkyJSwgd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNik7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgOmdsb2JhbCguaW5saW5lUmVmZXJlbmNlTWVudVN0YXR1cykge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjM4ZW07XG4gICAgY29sb3I6ICNiOTFjMWM7XG4gICAgZm9udC1zaXplOiAwLjc4ZW07XG4gICAgZm9udC13ZWlnaHQ6IDY1MDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVTdGF0dXMpIHtcbiAgICB3aWR0aDogMC41MmVtO1xuICAgIGhlaWdodDogMC41MmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjA1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogI2VmNDQ0NDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjE2ZW0gY29sb3ItbWl4KGluIHNyZ2IsICNlZjQ0NDQgMTglLCB0cmFuc3BhcmVudCk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgOmdsb2JhbCguaW5saW5lUmVmZXJlbmNlTWVudVN0YXR1cy0tYWN0aXZlKSB7XG4gICAgY29sb3I6ICMwNDc4NTc7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscy5pbmxpbmVSZWZlcmVuY2VDaGlwID4gc3VtbWFyeSA6Z2xvYmFsKC5pbmxpbmVSZWZlcmVuY2VNZW51U3RhdHVzLS1hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTBiOTgxO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMTZlbSBjb2xvci1taXgoaW4gc3JnYiwgIzEwYjk4MSAyMCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6Z2xvYmFsKC5pbmxpbmVSZWZlcmVuY2VNZW51U3RhdHVzKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMC41NWVtO1xuICAgIGhlaWdodDogMC41NWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVTdGF0dXMpOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgOmdsb2JhbCguaW5saW5lUmVmZXJlbmNlTWVudU9wdGlvbikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuNDVyZW0gMC41NXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1tZC1saW5rLWNvbG9yKTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDAuODJlbTtcbiAgICBmb250LXdlaWdodDogNjUwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGE6Z2xvYmFsKC5pbmxpbmVSZWZlcmVuY2VNZW51T3B0aW9uKTpob3Zlcixcbi5NYXJrZG93bkNvbnRlbnQgYTpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVPcHRpb24pOmZvY3VzLXZpc2libGUsXG4uTWFya2Rvd25Db250ZW50IGJ1dHRvbjpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVPcHRpb24pOmhvdmVyLFxuLk1hcmtkb3duQ29udGVudCBidXR0b246Z2xvYmFsKC5pbmxpbmVSZWZlcmVuY2VNZW51T3B0aW9uKTpmb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtbGluay1jb2xvcikgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGJ1dHRvbjpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVPcHRpb24pIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgYnV0dG9uOmdsb2JhbCguaW5saW5lUmVmZXJlbmNlTWVudU9wdGlvbik6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogd2FpdDtcbiAgICBvcGFjaXR5OiAwLjU1O1xufVxuXG4uTWFya2Rvd25Db250ZW50IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVPcHRpb24tLWRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBjb2xvcjogdmFyKC0tbWQtbXV0ZWQtY29sb3IpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIG1hcmdpbjogMC45NWVtIDA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgcHJlLFxuLk1hcmtkb3duQ29udGVudCBibG9ja3F1b3RlLFxuLk1hcmtkb3duQ29udGVudCB0YWJsZSxcbi5NYXJrZG93bkNvbnRlbnQgaHIge1xuICAgIG1hcmdpbjogMC45NWVtIDA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgcHJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgYmxvY2txdW90ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tbWQtYmxvY2txdW90ZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC1ibG9ja3F1b3RlLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tbWQtbXV0ZWQtY29sb3IpO1xuICAgIHBhZGRpbmc6IDAuNzJlbSAwLjk2ZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgYmxvY2txdW90ZSA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGNvZGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjE0ZW0gMC40MmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1kLWlubGluZS1jb2RlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLWlubGluZS1jb2RlLWJnKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbWQtY29kZS1mb250LWZhbWlseSk7XG4gICAgZm9udC1zaXplOiAwLjg4ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgY29sb3I6IHZhcigtLW1kLWlubGluZS1jb2RlLWNvbG9yKTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHByZSBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLk1hcmtkb3duQ29udGVudCAuY2hhdC1jb2RlLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTgxYzIzO1xuICAgIGNvbG9yOiAjZjhmYWZjO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgyLCA2LCAyMywgMC4yOCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLW1kLWNvZGUtZm9udC1mYW1pbHkpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IC5jaGF0LWNvZGUtYmxvY2sgY29kZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWQtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtdGFibGUtYmcpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDE1LCAyMywgNDIsIDAuMSk7XG4gICAgZm9udC1zaXplOiAwLjkzZW07XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdGgsXG4uTWFya2Rvd25Db250ZW50IHRkIHtcbiAgICBwYWRkaW5nOiAwLjU4ZW0gMC43MmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tZC10YWJsZS1ib3JkZXIpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHRoIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC10YWJsZS1oZWFkLWJnKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC10YWJsZS1yb3ctYWx0LWJnKTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBociB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1tZC10YWJsZS1ib3JkZXIpO1xuICAgIG9wYWNpdHk6IDAuODtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzOm5vdCguaW5saW5lUmVmZXJlbmNlQ2hpcCkge1xuICAgIG1hcmdpbjogMC45NWVtIDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWQtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC10YWJsZS1iZykgODIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgMTglKTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xOHMgZWFzZSwgYm94LXNoYWRvdyAwLjE4cyBlYXNlLCB0cmFuc2Zvcm0gMC4xOHMgZWFzZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzOm5vdCguaW5saW5lUmVmZXJlbmNlQ2hpcCk6aG92ZXIsXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHM6bm90KC5pbmxpbmVSZWZlcmVuY2VDaGlwKTpmb2N1cy13aXRoaW4ge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLWxpbmstY29sb3IpIDI0JSwgdmFyKC0tbWQtdGFibGUtYm9yZGVyKSA3NiUpO1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAyOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMik7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlsczpub3QoLmlubGluZVJlZmVyZW5jZUNoaXApID4gc3VtbWFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC43MnJlbTtcbiAgICBwYWRkaW5nOiAwLjllbSAxLjA1ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLW1kLWxpbmstY29sb3IpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxODBkZWcsXG4gICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC10YWJsZS1oZWFkLWJnKSA4OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSkgMTIlKSxcbiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWJnKSA4MiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAxOCUpXG4gICAgKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMThzIGVhc2UsIGNvbG9yIDAuMThzIGVhc2U7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlsczpub3QoLmlubGluZVJlZmVyZW5jZUNoaXApID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMC42MnJlbTtcbiAgICBoZWlnaHQ6IDAuNjJyZW07XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTAuMDRyZW07XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwLjgyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE4cyBlYXNlLCBvcGFjaXR5IDAuMThzIGVhc2U7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlsczpub3QoLmlubGluZVJlZmVyZW5jZUNoaXApID4gc3VtbWFyeTpob3Zlcixcbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlsczpub3QoLmlubGluZVJlZmVyZW5jZUNoaXApID4gc3VtbWFyeTpmb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWhlYWQtYmcpIDc2JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSAyNCUpLFxuICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtdGFibGUtYmcpIDc0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgyKSAyNiUpXG4gICAgKTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzOm5vdCguaW5saW5lUmVmZXJlbmNlQ2hpcCkgPiBzdW1tYXJ5OmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtbGluay1jb2xvcikgNTIlLCB0cmFuc3BhcmVudCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlsczpub3QoLmlubGluZVJlZmVyZW5jZUNoaXApID4gc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzOm5vdCguaW5saW5lUmVmZXJlbmNlQ2hpcClbb3Blbl0gPiBzdW1tYXJ5IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWJvcmRlcikgODglLCB0cmFuc3BhcmVudCk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlsczpub3QoLmlubGluZVJlZmVyZW5jZUNoaXApW29wZW5dID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzOm5vdCguaW5saW5lUmVmZXJlbmNlQ2hpcCkgPiA6bm90KHN1bW1hcnkpIHtcbiAgICBtYXJnaW4tbGVmdDogMS4wNWVtO1xuICAgIG1hcmdpbi1yaWdodDogMS4wNWVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHM6bm90KC5pbmxpbmVSZWZlcmVuY2VDaGlwKSA+IHN1bW1hcnkgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAwLjk1ZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlsczpub3QoLmlubGluZVJlZmVyZW5jZUNoaXApID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMDVlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2NTA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZW0ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmNpdGF0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMS40ZW07XG4gICAgbWFyZ2luOiAwIDAuMWVtO1xuICAgIHBhZGRpbmc6IDAgMC4zNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMC43NGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1jaXRhdGlvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtY2l0YXRpb24tYmcpO1xufVxuXG4uY2l0YXRpb25SZWYge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxLjRlbTtcbiAgICBtYXJnaW46IDAgMC4xZW07XG4gICAgcGFkZGluZzogMCAwLjM1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAwLjc0ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgY29sb3I6IHZhcigtLW1kLWNpdGF0aW9uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC1jaXRhdGlvbi1iZyk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgc3VwW2RhdGEtY2l0YXRpb24tZm9vdG5vdGVdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwIDAuN2VtIDAgMC4wOGVtO1xuICAgIGZvbnQtc2l6ZTogMC43MmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4iXX0= */";
27502
28199
  var styles$5 = {"MarkdownContent":"MarkdownContent-module_MarkdownContent__2JuyX","chatProgressMarkerSpin":"MarkdownContent-module_chatProgressMarkerSpin__TpoKr","inlineReferenceChip":"MarkdownContent-module_inlineReferenceChip__o-WIB","chat-code-block":"MarkdownContent-module_chat-code-block__ZffFg","citation":"MarkdownContent-module_citation__11SMw","citationRef":"MarkdownContent-module_citationRef__fKqaT"};
27503
28200
  styleInject(css_248z$5);
27504
28201
 
@@ -27508,6 +28205,18 @@ styleInject(css_248z$5);
27508
28205
  * @private utility of `MarkdownContent` component
27509
28206
  */
27510
28207
  const DETAILS_SUMMARY_SELECTOR = 'summary';
28208
+ /**
28209
+ * Selector matching client-action buttons rendered inside inline-reference menus.
28210
+ *
28211
+ * @private utility of `MarkdownContent` component
28212
+ */
28213
+ const INLINE_REFERENCE_MENU_ACTION_SELECTOR = `[${MARKDOWN_INLINE_REFERENCE_MENU_ACTION_ATTRIBUTE}]`;
28214
+ /**
28215
+ * Selector matching inline-reference favicon images which need a broken-image fallback.
28216
+ *
28217
+ * @private utility of `MarkdownContent` component
28218
+ */
28219
+ const INLINE_REFERENCE_ICON_SELECTOR = `img[${MARKDOWN_INLINE_REFERENCE_ICON_ATTRIBUTE}]`;
27511
28220
  /**
27512
28221
  * Resolves the active document theme when a host application does not pass an explicit theme.
27513
28222
  *
@@ -27574,6 +28283,38 @@ function resolveClickedDetailsElement(target, container) {
27574
28283
  const details = summary.closest('details');
27575
28284
  return details instanceof HTMLDetailsElement ? details : null;
27576
28285
  }
28286
+ /**
28287
+ * Resolves the configured callback for one rendered inline-reference menu action.
28288
+ *
28289
+ * @param actionButton - Clicked menu action button.
28290
+ * @param inlineReferences - References available to the markdown content.
28291
+ * @returns Matching action callback, or `null` when the rendered marker is stale.
28292
+ *
28293
+ * @private utility of `MarkdownContent` component
28294
+ */
28295
+ function resolveInlineReferenceMenuAction(actionButton, inlineReferences) {
28296
+ var _a, _b;
28297
+ const actionId = actionButton.getAttribute(MARKDOWN_INLINE_REFERENCE_MENU_ACTION_ATTRIBUTE);
28298
+ const referenceId = actionButton.getAttribute(MARKDOWN_INLINE_REFERENCE_MENU_ACTION_REFERENCE_ATTRIBUTE);
28299
+ if (!actionId || !referenceId || !inlineReferences) {
28300
+ return null;
28301
+ }
28302
+ const reference = inlineReferences.find((candidateReference) => candidateReference.reference === referenceId);
28303
+ const option = (_a = reference === null || reference === void 0 ? void 0 : reference.menu) === null || _a === void 0 ? void 0 : _a.options.find((candidateOption) => { var _a; return ((_a = candidateOption.action) === null || _a === void 0 ? void 0 : _a.id) === actionId; });
28304
+ return ((_b = option === null || option === void 0 ? void 0 : option.action) === null || _b === void 0 ? void 0 : _b.onSelect) || null;
28305
+ }
28306
+ /**
28307
+ * Hides a favicon when it has completed without loading any pixels.
28308
+ *
28309
+ * @param faviconImage - Inline-reference favicon to inspect.
28310
+ *
28311
+ * @private utility of `MarkdownContent` component
28312
+ */
28313
+ function hideBrokenInlineReferenceIcon(faviconImage) {
28314
+ if (faviconImage.complete && faviconImage.naturalWidth === 0) {
28315
+ faviconImage.hidden = true;
28316
+ }
28317
+ }
27577
28318
  /**
27578
28319
  * Renders markdown content with support for code highlighting, math, and tables.
27579
28320
  *
@@ -27656,8 +28397,50 @@ const MarkdownContent = memo(function MarkdownContent(props) {
27656
28397
  }, 0);
27657
28398
  pendingToggleFallbackTimeoutIds.add(fallbackTimeoutId);
27658
28399
  };
28400
+ /**
28401
+ * Executes one delegated inline-reference menu action without allowing the click to reach
28402
+ * surrounding chat message handlers.
28403
+ */
28404
+ const handleInlineReferenceMenuActionClick = (event) => {
28405
+ const targetElement = event.target instanceof Element ? event.target : null;
28406
+ const actionButton = targetElement === null || targetElement === void 0 ? void 0 : targetElement.closest(INLINE_REFERENCE_MENU_ACTION_SELECTOR);
28407
+ if (!(actionButton instanceof HTMLButtonElement) || !containerElement.contains(actionButton)) {
28408
+ return;
28409
+ }
28410
+ const action = resolveInlineReferenceMenuAction(actionButton, inlineReferences);
28411
+ if (!action || actionButton.disabled) {
28412
+ return;
28413
+ }
28414
+ event.preventDefault();
28415
+ event.stopPropagation();
28416
+ actionButton.disabled = true;
28417
+ actionButton.setAttribute('aria-busy', 'true');
28418
+ void Promise.resolve()
28419
+ .then(action)
28420
+ .catch((error) => {
28421
+ console.error('Inline reference menu action failed:', error);
28422
+ })
28423
+ .finally(() => {
28424
+ if (!actionButton.isConnected) {
28425
+ return;
28426
+ }
28427
+ actionButton.disabled = false;
28428
+ actionButton.removeAttribute('aria-busy');
28429
+ });
28430
+ };
27659
28431
  containerElement.addEventListener('toggle', handleToggle, true);
27660
28432
  containerElement.addEventListener('click', handleSummaryClick);
28433
+ containerElement.addEventListener('click', handleInlineReferenceMenuActionClick);
28434
+ const inlineReferenceIconImages = containerElement.querySelectorAll(INLINE_REFERENCE_ICON_SELECTOR);
28435
+ const handleInlineReferenceIconError = (event) => {
28436
+ if (event.currentTarget instanceof HTMLImageElement) {
28437
+ event.currentTarget.hidden = true;
28438
+ }
28439
+ };
28440
+ inlineReferenceIconImages.forEach((faviconImage) => {
28441
+ hideBrokenInlineReferenceIcon(faviconImage);
28442
+ faviconImage.addEventListener('error', handleInlineReferenceIconError);
28443
+ });
27661
28444
  const preElements = containerElement.querySelectorAll('pre');
27662
28445
  preElements.forEach((pre) => {
27663
28446
  // Check if it is a code block (has code element)
@@ -27688,12 +28471,16 @@ const MarkdownContent = memo(function MarkdownContent(props) {
27688
28471
  return () => {
27689
28472
  containerElement.removeEventListener('toggle', handleToggle, true);
27690
28473
  containerElement.removeEventListener('click', handleSummaryClick);
28474
+ containerElement.removeEventListener('click', handleInlineReferenceMenuActionClick);
28475
+ inlineReferenceIconImages.forEach((faviconImage) => {
28476
+ faviconImage.removeEventListener('error', handleInlineReferenceIconError);
28477
+ });
27691
28478
  pendingToggleFallbackTimeoutIds.forEach((timeoutId) => window.clearTimeout(timeoutId));
27692
28479
  pendingToggleFallbackTimeoutIds.clear();
27693
28480
  rootsRef.current.forEach((root) => root.unmount());
27694
28481
  rootsRef.current = [];
27695
28482
  };
27696
- }, [htmlContent, resolvedTheme]);
28483
+ }, [htmlContent, inlineReferences, resolvedTheme]);
27697
28484
  return (jsx("div", { ref: containerRef, className: classNames(styles$5.MarkdownContent, className), dangerouslySetInnerHTML: {
27698
28485
  __html: htmlContent,
27699
28486
  } }));
@@ -32283,10 +33070,10 @@ function createPointOfInterestMarker(leaflet, feature, latlng) {
32283
33070
  : '';
32284
33071
  const icon = leaflet.divIcon({
32285
33072
  className: styles$2.poiMarkerIcon,
32286
- html: `
32287
- <span class="${styles$2.poiMarkerPulse}" aria-hidden="true"></span>
32288
- ${initialHtml}
32289
- `.trim(),
33073
+ html: spaceTrim$1((block) => `
33074
+ <span class="${styles$2.poiMarkerPulse}" aria-hidden="true"></span>
33075
+ ${block(initialHtml)}
33076
+ `).trim(),
32290
33077
  iconSize: [POI_MARKER_CONFIG.size, POI_MARKER_CONFIG.size],
32291
33078
  iconAnchor: POI_MARKER_CONFIG.anchor,
32292
33079
  });
@@ -33251,6 +34038,261 @@ function buildCitationKey(citation, origin) {
33251
34038
  return `${origin.label}:${citation.id}:${citation.source}`;
33252
34039
  }
33253
34040
 
34041
+ /**
34042
+ * Validates one already-parsed JSON value as a project change.
34043
+ *
34044
+ * @param value - Raw serialized project change.
34045
+ * @returns The typed project change, or `null` when the value does not match the expected shape,
34046
+ * so consumers can silently skip foreign or malformed entries.
34047
+ *
34048
+ * @private internal utility of the agent-message runtime
34049
+ */
34050
+ function normalizeAgentMessageProjectChange(value) {
34051
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
34052
+ return null;
34053
+ }
34054
+ const candidate = value;
34055
+ if (!isNonEmptyString(candidate.projectName) || !isNonEmptyString(candidate.commitHash)) {
34056
+ return null;
34057
+ }
34058
+ if (!isNonEmptyString(candidate.committedAt) || !Number.isFinite(Date.parse(candidate.committedAt))) {
34059
+ return null;
34060
+ }
34061
+ if (!Array.isArray(candidate.changedFiles)) {
34062
+ return null;
34063
+ }
34064
+ const changedFiles = candidate.changedFiles.map((changedFile) => normalizeAgentMessageProjectChangedFile(changedFile));
34065
+ if (changedFiles.some((changedFile) => changedFile === null)) {
34066
+ return null;
34067
+ }
34068
+ if (!isChangeCount(candidate.insertionCount) || !isChangeCount(candidate.deletionCount)) {
34069
+ return null;
34070
+ }
34071
+ if (typeof candidate.diff !== 'string' || typeof candidate.isDiffTruncated !== 'boolean') {
34072
+ return null;
34073
+ }
34074
+ return {
34075
+ projectName: candidate.projectName.trim(),
34076
+ commitHash: candidate.commitHash.trim(),
34077
+ committedAt: candidate.committedAt,
34078
+ changedFiles: changedFiles,
34079
+ insertionCount: candidate.insertionCount,
34080
+ deletionCount: candidate.deletionCount,
34081
+ diff: candidate.diff,
34082
+ isDiffTruncated: candidate.isDiffTruncated,
34083
+ };
34084
+ }
34085
+ /**
34086
+ * Validates one already-parsed JSON value as a changed project file.
34087
+ *
34088
+ * @param value - Raw serialized changed file.
34089
+ * @returns The typed changed file, or `null` when the value does not match the expected shape.
34090
+ *
34091
+ * @private internal helper of `normalizeAgentMessageProjectChange`
34092
+ */
34093
+ function normalizeAgentMessageProjectChangedFile(value) {
34094
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
34095
+ return null;
34096
+ }
34097
+ const candidate = value;
34098
+ if (!isNonEmptyString(candidate.path)) {
34099
+ return null;
34100
+ }
34101
+ if (!isChangeCount(candidate.insertionCount) || !isChangeCount(candidate.deletionCount)) {
34102
+ return null;
34103
+ }
34104
+ return {
34105
+ path: candidate.path.trim(),
34106
+ insertionCount: candidate.insertionCount,
34107
+ deletionCount: candidate.deletionCount,
34108
+ };
34109
+ }
34110
+ /**
34111
+ * Checks that one value is a usable non-empty string.
34112
+ *
34113
+ * @param value - Raw serialized value.
34114
+ * @returns Whether the value is a string carrying content.
34115
+ *
34116
+ * @private internal helper of `normalizeAgentMessageProjectChange`
34117
+ */
34118
+ function isNonEmptyString(value) {
34119
+ return typeof value === 'string' && value.trim().length > 0;
34120
+ }
34121
+ /**
34122
+ * Checks that one value is a line count git could have reported.
34123
+ *
34124
+ * @param value - Raw serialized value.
34125
+ * @returns Whether the value is a non-negative finite number.
34126
+ *
34127
+ * @private internal helper of `normalizeAgentMessageProjectChange`
34128
+ */
34129
+ function isChangeCount(value) {
34130
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0;
34131
+ }
34132
+
34133
+ /**
34134
+ * Synthetic tool name used for agent-project chips in chat UI.
34135
+ *
34136
+ * The Agents Server emits one such tool call per project an answer viewed or edited, so the chat
34137
+ * shows which projects the agent worked with below the message that touched them.
34138
+ *
34139
+ * @private internal chat-ui marker for touched agent projects
34140
+ */
34141
+ const AGENT_PROJECT_TOOL_CALL_NAME = 'agent_project_touched';
34142
+ /**
34143
+ * Parses the project-chip payload from one tool result.
34144
+ *
34145
+ * @param result - Raw tool result payload.
34146
+ * @returns Parsed project metadata, or `null` when the result describes no project.
34147
+ *
34148
+ * @private internal helper reused by chip and modal rendering
34149
+ */
34150
+ function parseAgentProjectToolCallResult(result) {
34151
+ if (!result || typeof result !== 'object' || Array.isArray(result)) {
34152
+ return null;
34153
+ }
34154
+ const candidate = result;
34155
+ if (typeof candidate.projectName !== 'string' || candidate.projectName.trim().length === 0) {
34156
+ return null;
34157
+ }
34158
+ const change = normalizeAgentMessageProjectChange(candidate.change);
34159
+ return {
34160
+ projectName: candidate.projectName.trim(),
34161
+ ...pickTrimmedText('displayName', candidate.displayName),
34162
+ ...pickTrimmedText('description', candidate.description),
34163
+ ...pickTrimmedText('projectHref', candidate.projectHref),
34164
+ ...pickTrimmedText('projectUrl', candidate.projectUrl),
34165
+ ...pickTrimmedText('runtimeStatusLabel', candidate.runtimeStatusLabel),
34166
+ ...pickTrimmedText('sizeLabel', candidate.sizeLabel),
34167
+ ...(typeof candidate.isRunning === 'boolean' ? { isRunning: candidate.isRunning } : {}),
34168
+ ...(typeof candidate.isGitRepository === 'boolean' ? { isGitRepository: candidate.isGitRepository } : {}),
34169
+ ...(typeof candidate.fileCount === 'number' && Number.isFinite(candidate.fileCount) && candidate.fileCount >= 0
34170
+ ? { fileCount: candidate.fileCount }
34171
+ : {}),
34172
+ ...(change ? { change } : {}),
34173
+ };
34174
+ }
34175
+ /**
34176
+ * Keeps one optional text field only when it carries content.
34177
+ *
34178
+ * @param fieldName - Name of the payload field.
34179
+ * @param value - Raw field value.
34180
+ * @returns Object holding the trimmed field, or an empty object.
34181
+ *
34182
+ * @private internal helper of `parseAgentProjectToolCallResult`
34183
+ */
34184
+ function pickTrimmedText(fieldName, value) {
34185
+ if (typeof value !== 'string' || value.trim().length === 0) {
34186
+ return {};
34187
+ }
34188
+ return { [fieldName]: value.trim() };
34189
+ }
34190
+ /**
34191
+ * Resolves the chip label of one touched agent project.
34192
+ *
34193
+ * @param projectResult - Parsed project metadata.
34194
+ * @returns Human-readable project name.
34195
+ *
34196
+ * @private internal helper reused by chip and modal rendering
34197
+ */
34198
+ function resolveAgentProjectToolCallLabel(projectResult) {
34199
+ return projectResult.displayName || projectResult.projectName;
34200
+ }
34201
+ // Note: [💞] Ignore a discrepancy between file name and entity name
34202
+
34203
+ /**
34204
+ * Validates one already-parsed JSON value as a touched external source.
34205
+ *
34206
+ * @param value - Raw serialized source.
34207
+ * @returns The typed source, or `null` when the value does not match the expected shape, so
34208
+ * consumers can silently skip foreign or malformed entries.
34209
+ *
34210
+ * @private internal utility of the agent-message runtime
34211
+ */
34212
+ function normalizeAgentMessageTouchedExternalSource(value) {
34213
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
34214
+ return null;
34215
+ }
34216
+ const candidate = value;
34217
+ if (!isAgentMessageTouchedExternalSourceKind(candidate.kind)) {
34218
+ return null;
34219
+ }
34220
+ if (typeof candidate.name !== 'string' || candidate.name.trim().length === 0) {
34221
+ return null;
34222
+ }
34223
+ return {
34224
+ kind: candidate.kind,
34225
+ name: candidate.name.trim(),
34226
+ ...(typeof candidate.url === 'string' && candidate.url.trim().length > 0 ? { url: candidate.url.trim() } : {}),
34227
+ };
34228
+ }
34229
+ /**
34230
+ * Checks that one value is a known external source category.
34231
+ *
34232
+ * @param value - Raw serialized kind.
34233
+ * @returns Whether the value names one of the supported categories.
34234
+ *
34235
+ * @private internal helper of `normalizeAgentMessageTouchedExternalSource`
34236
+ */
34237
+ function isAgentMessageTouchedExternalSourceKind(value) {
34238
+ return value === 'integration' || value === 'website' || value === 'search';
34239
+ }
34240
+
34241
+ /**
34242
+ * Synthetic tool name used for external-source chips in chat UI.
34243
+ *
34244
+ * The Agents Server emits one such tool call per source outside the agent an answer viewed or
34245
+ * edited, so the chat shows which services, websites and searches the agent really reached below
34246
+ * the message that touched them. Work the agent does inside itself emits nothing.
34247
+ *
34248
+ * @private internal chat-ui marker for touched external sources
34249
+ */
34250
+ const EXTERNAL_SOURCE_TOOL_CALL_NAME = 'external_source_touched';
34251
+ /**
34252
+ * Emoji shown in the chip of each external source category.
34253
+ *
34254
+ * @private internal chat-ui constant for touched external sources
34255
+ */
34256
+ const EXTERNAL_SOURCE_EMOJI_BY_KIND = {
34257
+ integration: '🔌',
34258
+ website: '🌐',
34259
+ search: '🔎',
34260
+ };
34261
+ /**
34262
+ * Parses the external-source chip payload from one tool result.
34263
+ *
34264
+ * @param result - Raw tool result payload.
34265
+ * @returns Parsed source metadata, or `null` when the result describes no external source.
34266
+ *
34267
+ * @private internal helper reused by chip and modal rendering
34268
+ */
34269
+ function parseExternalSourceToolCallResult(result) {
34270
+ return normalizeAgentMessageTouchedExternalSource(result);
34271
+ }
34272
+ /**
34273
+ * Resolves the chip label of one touched external source.
34274
+ *
34275
+ * @param externalSource - Parsed source metadata.
34276
+ * @returns User-facing name of the source.
34277
+ *
34278
+ * @private internal helper reused by chip and modal rendering
34279
+ */
34280
+ function resolveExternalSourceToolCallLabel(externalSource) {
34281
+ return externalSource.name;
34282
+ }
34283
+ /**
34284
+ * Resolves the chip emoji of one touched external source.
34285
+ *
34286
+ * @param externalSource - Parsed source metadata.
34287
+ * @returns Emoji telling apart an integration, a website and a search.
34288
+ *
34289
+ * @private internal helper reused by chip and modal rendering
34290
+ */
34291
+ function resolveExternalSourceToolCallEmoji(externalSource) {
34292
+ return EXTERNAL_SOURCE_EMOJI_BY_KIND[externalSource.kind];
34293
+ }
34294
+ // Note: [💞] Ignore a discrepancy between file name and entity name
34295
+
33254
34296
  /**
33255
34297
  * Seconds in one minute.
33256
34298
  *
@@ -33371,12 +34413,34 @@ function formatToolCallTranslationTemplate(template, variables) {
33371
34413
  return Object.entries(variables).reduce((formatted, [key, value]) => formatted.replace(new RegExp(`\\{${key}\\}`, 'g'), String(value)), template);
33372
34414
  }
33373
34415
 
34416
+ /**
34417
+ * Tool name of one scheduled wake-up, used by every producer of timeout chips.
34418
+ *
34419
+ * @private internal timeout-chat constant
34420
+ */
34421
+ const SET_TIMEOUT_TOOL_CALL_NAME = 'set_timeout';
34422
+ /**
34423
+ * Tool name of one re-planned wake-up, used by every producer of timeout chips.
34424
+ *
34425
+ * @private internal timeout-chat constant
34426
+ */
34427
+ const UPDATE_TIMEOUT_TOOL_CALL_NAME = 'update_timeout';
34428
+ /**
34429
+ * Tool name of one cancelled wake-up, used by every producer of timeout chips.
34430
+ *
34431
+ * @private internal timeout-chat constant
34432
+ */
34433
+ const CANCEL_TIMEOUT_TOOL_CALL_NAME = 'cancel_timeout';
33374
34434
  /**
33375
34435
  * Tool names handled by timeout-specific chat presentation.
33376
34436
  *
33377
34437
  * @private internal timeout-chat constant
33378
34438
  */
33379
- const TIMEOUT_TOOL_NAMES = ['set_timeout', 'cancel_timeout'];
34439
+ const TIMEOUT_TOOL_NAMES = [
34440
+ SET_TIMEOUT_TOOL_CALL_NAME,
34441
+ UPDATE_TIMEOUT_TOOL_CALL_NAME,
34442
+ CANCEL_TIMEOUT_TOOL_CALL_NAME,
34443
+ ];
33380
34444
  /**
33381
34445
  * Milliseconds in one second.
33382
34446
  *
@@ -33418,7 +34482,7 @@ const SECONDS_VISIBILITY_THRESHOLD_SECONDS = 3 * MINUTE_IN_SECONDS;
33418
34482
  *
33419
34483
  * @private internal utility of `<Chat/>`
33420
34484
  */
33421
- function isTimeoutToolCallName$1(toolName) {
34485
+ function isTimeoutToolCallName(toolName) {
33422
34486
  return TIMEOUT_TOOL_NAMES.includes(toolName);
33423
34487
  }
33424
34488
  /**
@@ -33428,7 +34492,7 @@ function isTimeoutToolCallName$1(toolName) {
33428
34492
  */
33429
34493
  function resolveTimeoutToolCallPresentation(options) {
33430
34494
  const { toolCallName, args, resultRaw, locale } = options;
33431
- if (!isTimeoutToolCallName$1(toolCallName)) {
34495
+ if (!isTimeoutToolCallName(toolCallName)) {
33432
34496
  return null;
33433
34497
  }
33434
34498
  const timeoutToolCallCoreData = resolveTimeoutToolCallCoreData({
@@ -33542,7 +34606,13 @@ function formatTimeoutDurationCompact(milliseconds) {
33542
34606
  /**
33543
34607
  * Converts timeout duration into natural language sentence fragments.
33544
34608
  *
33545
- * @private internal timeout-chat helper
34609
+ * Shared by every timeout surface: the chat chips, the goal-chat planned messages of the Agents
34610
+ * Server, and the planned-message prompt section of the agent-folder runner.
34611
+ *
34612
+ * @param milliseconds - Duration or repeat interval in milliseconds.
34613
+ * @returns Label such as `5 minutes` or `1 hour 30 minutes`.
34614
+ *
34615
+ * @private internal utility of `<Chat/>` and the Agents Server planned messages
33546
34616
  */
33547
34617
  function formatTimeoutDurationHuman(milliseconds) {
33548
34618
  const normalizedMilliseconds = Math.max(0, Math.floor(milliseconds));
@@ -34057,6 +35127,8 @@ const MEMORY_TOOL_CALL_NAMES = new Set(['retrieve_user_memory', 'store_user_memo
34057
35127
  */
34058
35128
  const SPECIALIZED_TOOL_CALL_CHIPLET_RESOLVERS = [
34059
35129
  resolveWalletCredentialChipletInfo,
35130
+ resolveAgentProjectToolCallChipletInfo,
35131
+ resolveExternalSourceToolCallChipletInfo,
34060
35132
  resolveTeamToolCallChipletInfo,
34061
35133
  resolveTimeToolCallChipletInfo,
34062
35134
  resolveEmailToolCallChipletInfo,
@@ -34083,6 +35155,8 @@ function buildToolCallChipText(chipletInfo) {
34083
35155
  const TOOL_TITLES = {
34084
35156
  [ASSISTANT_PREPARATION_TOOL_CALL_NAME]: { title: 'Preparing agent', emoji: '✨' },
34085
35157
  [WALLET_CREDENTIAL_TOOL_CALL_NAME]: { title: 'Credential used', emoji: '🔐' },
35158
+ [AGENT_PROJECT_TOOL_CALL_NAME]: { title: 'Project', emoji: '📁' },
35159
+ [EXTERNAL_SOURCE_TOOL_CALL_NAME]: { title: 'External source', emoji: '🌐' },
34086
35160
  'self-learning': { title: 'self-learning', emoji: '🧠' },
34087
35161
  retrieve_user_memory: { title: 'Reading memory', emoji: '🧠' },
34088
35162
  store_user_memory: { title: 'Storing memory', emoji: '🧠' },
@@ -34210,7 +35284,7 @@ function resolveToolCallEmoji(toolName) {
34210
35284
  * @private utility of `<Chat/>`
34211
35285
  */
34212
35286
  function resolveToolCallChipletTimeoutPresentation(toolName, args, resultRaw, locale) {
34213
- if (!isTimeoutToolCallName$1(toolName)) {
35287
+ if (!isTimeoutToolCallName(toolName)) {
34214
35288
  return null;
34215
35289
  }
34216
35290
  return resolveTimeoutToolCallPresentation({
@@ -34236,6 +35310,47 @@ function resolveWalletCredentialChipletInfo(context) {
34236
35310
  }
34237
35311
  return createEmojiToolCallChipletInfo(context, walletCredentialResult.credentialName);
34238
35312
  }
35313
+ /**
35314
+ * Resolves the project-name chip label for touched agent projects.
35315
+ *
35316
+ * @param context - Shared chiplet resolution context.
35317
+ * @returns Chiplet info when the tool call marks a touched project, otherwise `null`.
35318
+ *
35319
+ * @private utility of `<Chat/>`
35320
+ */
35321
+ function resolveAgentProjectToolCallChipletInfo(context) {
35322
+ if (context.toolCall.name !== AGENT_PROJECT_TOOL_CALL_NAME) {
35323
+ return null;
35324
+ }
35325
+ const projectResult = parseAgentProjectToolCallResult(context.resultRaw);
35326
+ if (!projectResult) {
35327
+ return null;
35328
+ }
35329
+ return createEmojiToolCallChipletInfo(context, resolveAgentProjectToolCallLabel(projectResult));
35330
+ }
35331
+ /**
35332
+ * Resolves the source-name chip label for touched external sources.
35333
+ *
35334
+ * The emoji tells apart an integration, a website and a search, so it overrides the single emoji
35335
+ * registered for the tool name itself.
35336
+ *
35337
+ * @param context - Shared chiplet resolution context.
35338
+ * @returns Chiplet info when the tool call marks a touched external source, otherwise `null`.
35339
+ *
35340
+ * @private utility of `<Chat/>`
35341
+ */
35342
+ function resolveExternalSourceToolCallChipletInfo(context) {
35343
+ if (context.toolCall.name !== EXTERNAL_SOURCE_TOOL_CALL_NAME) {
35344
+ return null;
35345
+ }
35346
+ const externalSource = parseExternalSourceToolCallResult(context.resultRaw);
35347
+ if (!externalSource) {
35348
+ return null;
35349
+ }
35350
+ return {
35351
+ text: `${resolveExternalSourceToolCallEmoji(externalSource)} ${resolveExternalSourceToolCallLabel(externalSource)}`,
35352
+ };
35353
+ }
34239
35354
  /**
34240
35355
  * Resolves a chip label and agent metadata for TEAM tool calls.
34241
35356
  *
@@ -36034,7 +37149,7 @@ function createAdvancedToolCallPayloadSections(toolCall, availableTools) {
36034
37149
  { id: 'available-tools', title: 'Available tools', payload: availableTools !== null && availableTools !== void 0 ? availableTools : [] },
36035
37150
  { id: 'event', title: 'Full event', payload: toolCall },
36036
37151
  ];
36037
- if (isTimeoutToolCallName$1(toolCall.name)) {
37152
+ if (isTimeoutToolCallName(toolCall.name)) {
36038
37153
  const timeoutPresentation = resolveTimeoutToolCallPresentation({
36039
37154
  toolCallName: toolCall.name,
36040
37155
  args: parsedArguments,
@@ -36208,6 +37323,124 @@ function getToolCallTimestamp(toolCall) {
36208
37323
  return Number.isNaN(date.getTime()) ? null : date;
36209
37324
  }
36210
37325
 
37326
+ /**
37327
+ * Line prefixes of unified-diff metadata, which is shown dimmed instead of as a change.
37328
+ */
37329
+ const AGENT_PROJECT_DIFF_META_LINE_PREFIXES = [
37330
+ 'diff ',
37331
+ 'index ',
37332
+ '--- ',
37333
+ '+++ ',
37334
+ 'new file',
37335
+ 'deleted file',
37336
+ 'old mode',
37337
+ 'new mode',
37338
+ 'similarity index',
37339
+ 'rename from',
37340
+ 'rename to',
37341
+ 'Binary files',
37342
+ '\\ No newline',
37343
+ ];
37344
+ /**
37345
+ * Renders one unified diff with added, removed and context lines told apart.
37346
+ *
37347
+ * @param options - Diff text and whether it holds only the beginning of the real diff.
37348
+ * @returns Readable diff block.
37349
+ *
37350
+ * @private function of ChatToolCallModal
37351
+ */
37352
+ function renderAgentProjectDiff(options) {
37353
+ const diffLines = options.diff.split(/\r?\n/u);
37354
+ return (jsxs("div", { className: styles$7.agentProjectDiff, children: [jsx("pre", { className: styles$7.agentProjectDiffCode, children: diffLines.map((diffLine, diffLineIndex) => (jsx("span", { className: classNames(styles$7.agentProjectDiffLine, resolveAgentProjectDiffLineStyle(diffLine)), children: diffLine === '' ? ' ' : diffLine }, `${diffLineIndex}-${diffLine}`))) }), options.isDiffTruncated && (jsx("p", { className: styles$7.agentProjectDiffTruncated, children: "The change is too large to show in full \u2014 open the project to see the rest." }))] }));
37355
+ }
37356
+ /**
37357
+ * Resolves the style of one diff line from its unified-diff prefix.
37358
+ *
37359
+ * @param diffLine - One raw diff line.
37360
+ * @returns Class name of the line, or `undefined` for plain context lines.
37361
+ *
37362
+ * @private function of ChatToolCallModal
37363
+ */
37364
+ function resolveAgentProjectDiffLineStyle(diffLine) {
37365
+ if (AGENT_PROJECT_DIFF_META_LINE_PREFIXES.some((metaLinePrefix) => diffLine.startsWith(metaLinePrefix))) {
37366
+ return styles$7.agentProjectDiffLineMeta;
37367
+ }
37368
+ if (diffLine.startsWith('@@')) {
37369
+ return styles$7.agentProjectDiffLineHunk;
37370
+ }
37371
+ if (diffLine.startsWith('+')) {
37372
+ return styles$7.agentProjectDiffLineAdded;
37373
+ }
37374
+ if (diffLine.startsWith('-')) {
37375
+ return styles$7.agentProjectDiffLineRemoved;
37376
+ }
37377
+ return undefined;
37378
+ }
37379
+
37380
+ /**
37381
+ * Length of the commit hash shown in the change summary.
37382
+ */
37383
+ const AGENT_PROJECT_COMMIT_HASH_DISPLAY_LENGTH = 7;
37384
+ /**
37385
+ * Renders the detail view of one project the answer worked with.
37386
+ *
37387
+ * The card answers the two questions a project chip raises: what this project is right now — its
37388
+ * runtime state and where to open it — and what this very message did to it.
37389
+ *
37390
+ * @param options - Parsed project chip payload.
37391
+ * @returns Project details section for the tool modal.
37392
+ *
37393
+ * @private function of ChatToolCallModal
37394
+ */
37395
+ function renderAgentProjectToolCallDetails(options) {
37396
+ const { project } = options;
37397
+ return (jsxs(Fragment, { children: [jsxs("header", { className: styles$7.toolCallHeader, children: [jsx("span", { className: styles$7.toolCallIcon, "aria-hidden": "true", children: "\uD83D\uDCC1" }), jsxs("div", { className: styles$7.toolCallHeaderMeta, children: [jsx("p", { className: styles$7.toolCallModalLabel, children: "Project" }), jsx("h3", { className: styles$7.toolCallTitle, children: resolveAgentProjectToolCallLabel(project) }), jsx("p", { className: styles$7.toolCallSubtitle, children: project.description || 'Here is what the agent worked with.' })] })] }), jsxs("div", { className: styles$7.toolCallGrid, children: [renderAgentProjectStatusPanel(project), renderAgentProjectFactsPanel(project)] }), renderAgentProjectChangeSection(project.change)] }));
37398
+ }
37399
+ /**
37400
+ * Renders the runtime state of the project together with the ways to open it.
37401
+ *
37402
+ * @param project - Parsed project chip payload.
37403
+ * @returns Status panel.
37404
+ *
37405
+ * @private function of ChatToolCallModal
37406
+ */
37407
+ function renderAgentProjectStatusPanel(project) {
37408
+ const isRunning = project.isRunning === true;
37409
+ // Note: A chip written before projects reported their state knows nothing, which must not be
37410
+ // shown as a project that is stopped
37411
+ const isRuntimeStateKnown = project.isRunning !== undefined || project.runtimeStatusLabel !== undefined;
37412
+ return (jsxs("section", { className: styles$7.toolCallPanel, children: [jsx("p", { className: styles$7.toolCallPanelTitle, children: "Status" }), isRuntimeStateKnown && (jsxs("p", { className: classNames(styles$7.agentProjectStatus, isRunning ? styles$7.agentProjectStatusRunning : styles$7.agentProjectStatusStopped), children: [jsx("span", { className: styles$7.agentProjectStatusDot, "aria-hidden": "true" }), project.runtimeStatusLabel || (isRunning ? 'Running' : 'Not running')] })), jsxs("div", { className: styles$7.agentProjectLinks, children: [project.projectUrl && (jsx("a", { className: styles$7.agentProjectLink, href: project.projectUrl, target: "_blank", rel: "noreferrer", title: isRunning
37413
+ ? 'Open the project in a new tab'
37414
+ : 'The project must run before it can be opened.', children: "Open the project \u2197" })), project.projectHref && (jsx("a", { className: styles$7.agentProjectLink, href: project.projectHref, target: "_blank", rel: "noreferrer", children: "Open the project page \u2197" }))] })] }));
37415
+ }
37416
+ /**
37417
+ * Renders the project facts shown in the header of the project page.
37418
+ *
37419
+ * @param project - Parsed project chip payload.
37420
+ * @returns Facts panel.
37421
+ *
37422
+ * @private function of ChatToolCallModal
37423
+ */
37424
+ function renderAgentProjectFactsPanel(project) {
37425
+ return (jsxs("section", { className: styles$7.toolCallPanel, children: [jsx("p", { className: styles$7.toolCallPanelTitle, children: "Project" }), jsxs("ul", { className: styles$7.toolCallList, children: [jsxs("li", { className: styles$7.toolCallItem, children: [jsx("span", { className: styles$7.toolCallItemLabel, children: "Folder" }), jsx("span", { className: styles$7.toolCallItemValue, children: project.projectName })] }), project.sizeLabel && (jsxs("li", { className: styles$7.toolCallItem, children: [jsx("span", { className: styles$7.toolCallItemLabel, children: "Size" }), jsxs("span", { className: styles$7.toolCallItemValue, children: [project.sizeLabel, typeof project.fileCount === 'number' &&
37426
+ ` in ${project.fileCount} ${project.fileCount === 1 ? 'file' : 'files'}`] })] })), project.isGitRepository !== undefined && (jsxs("li", { className: styles$7.toolCallItem, children: [jsx("span", { className: styles$7.toolCallItemLabel, children: "Version control" }), jsx("span", { className: styles$7.toolCallItemValue, children: project.isGitRepository ? 'Git repository' : 'Not a git repository' })] }))] })] }));
37427
+ }
37428
+ /**
37429
+ * Renders what this very message changed in the project.
37430
+ *
37431
+ * @param change - Commit the answered message created, when it changed anything.
37432
+ * @returns Change section.
37433
+ *
37434
+ * @private function of ChatToolCallModal
37435
+ */
37436
+ function renderAgentProjectChangeSection(change) {
37437
+ if (!change) {
37438
+ return (jsxs("div", { className: styles$7.agentProjectChange, children: [jsx("p", { className: styles$7.toolCallPanelTitle, children: "Changes in this message" }), jsx("p", { className: styles$7.toolCallEmpty, children: "This message did not change anything in the project." })] }));
37439
+ }
37440
+ return (jsxs("div", { className: styles$7.agentProjectChange, children: [jsx("p", { className: styles$7.toolCallPanelTitle, children: "Changes in this message" }), jsxs("div", { className: styles$7.agentProjectChangeSummary, children: [jsxs("span", { className: styles$7.toolCallSummaryMetaBadge, children: [change.changedFiles.length, " ", change.changedFiles.length === 1 ? 'file' : 'files'] }), jsxs("span", { className: classNames(styles$7.agentProjectChangeCount, styles$7.agentProjectChangeCountAdded), children: ["+", change.insertionCount] }), jsxs("span", { className: classNames(styles$7.agentProjectChangeCount, styles$7.agentProjectChangeCountRemoved), children: ["\u2212", change.deletionCount] }), jsxs("span", { className: styles$7.agentProjectCommit, children: ["commit ", change.commitHash.slice(0, AGENT_PROJECT_COMMIT_HASH_DISPLAY_LENGTH), " \u00B7", ' ', new Date(change.committedAt).toLocaleString()] })] }), change.changedFiles.length > 0 && (jsx("ul", { className: styles$7.agentProjectChangedFiles, children: change.changedFiles.map((changedFile) => (jsxs("li", { className: styles$7.agentProjectChangedFile, children: [jsx("span", { className: styles$7.agentProjectChangedFilePath, children: changedFile.path }), jsxs("span", { className: styles$7.agentProjectChangedFileCounts, children: [jsxs("span", { className: styles$7.agentProjectChangeCountAdded, children: ["+", changedFile.insertionCount] }), ' ', jsxs("span", { className: styles$7.agentProjectChangeCountRemoved, children: ["\u2212", changedFile.deletionCount] })] })] }, changedFile.path))) })), change.diff.trim().length > 0 &&
37441
+ renderAgentProjectDiff({ diff: change.diff, isDiffTruncated: change.isDiffTruncated })] }));
37442
+ }
37443
+
36211
37444
  /**
36212
37445
  * Renders an email/envelope icon.
36213
37446
  *
@@ -37992,6 +39225,10 @@ function renderToolCallDetails(options) {
37992
39225
  if (memoryView) {
37993
39226
  return memoryView;
37994
39227
  }
39228
+ const agentProjectResult = toolCall.name === AGENT_PROJECT_TOOL_CALL_NAME ? parseAgentProjectToolCallResult(resultRaw) : null;
39229
+ if (agentProjectResult) {
39230
+ return renderAgentProjectToolCallDetails({ project: agentProjectResult });
39231
+ }
37995
39232
  const walletCredentialResult = toolCall.name === WALLET_CREDENTIAL_TOOL_CALL_NAME ? parseWalletCredentialToolCallResult(resultRaw) : null;
37996
39233
  if (walletCredentialResult) {
37997
39234
  return renderWalletCredentialToolCallDetails({
@@ -38121,17 +39358,6 @@ function isSearchToolCallName(toolName) {
38121
39358
  function isTimeToolCallName(toolName) {
38122
39359
  return toolName === 'get_current_time' || toolName === 'useTime';
38123
39360
  }
38124
- /**
38125
- * Checks whether a tool name should use the timeout renderer.
38126
- *
38127
- * @param toolName - Raw tool name.
38128
- * @returns `true` when the tool is a timeout-like tool.
38129
- *
38130
- * @private function of ChatToolCallModal
38131
- */
38132
- function isTimeoutToolCallName(toolName) {
38133
- return toolName === 'set_timeout' || toolName === 'cancel_timeout';
38134
- }
38135
39361
  /**
38136
39362
  * Checks whether a tool name should use the email renderer.
38137
39363
  *
@@ -38453,6 +39679,26 @@ const PauseIcon = ({ size = 16 }) => (jsx("svg", { width: size, height: size, vi
38453
39679
  */
38454
39680
  const PlayIcon = ({ size = 16 }) => (jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "currentColor", role: "img", "aria-label": "Play", children: jsx("path", { d: "M8 5v14l11-7L8 5z" }) }));
38455
39681
 
39682
+ /**
39683
+ * Provides stable identifiers for mocked messages that omit them.
39684
+ *
39685
+ * Incremental typing changes the message content on every word. A stable id
39686
+ * lets the chat renderer preserve the message element instead of treating
39687
+ * every content update as a new message.
39688
+ *
39689
+ * @private function of `MockedChat`
39690
+ */
39691
+ function ensureMockedChatMessageIds(messages) {
39692
+ return messages.map((message, messageIndex) => {
39693
+ if (message.id) {
39694
+ return message;
39695
+ }
39696
+ return {
39697
+ ...message,
39698
+ id: `mocked-chat-message-${messageIndex}`,
39699
+ };
39700
+ });
39701
+ }
38456
39702
  /**
38457
39703
  * Resolves one delay value, including random ranges.
38458
39704
  *
@@ -38733,7 +39979,8 @@ async function simulateMockedChatPlayback(props) {
38733
39979
  * @public exported from `@promptbook/components`
38734
39980
  */
38735
39981
  function MockedChat(props) {
38736
- const { delayConfig, messages: originalMessages, isResettable = true, isPausable = true, messageOffsetsMs, appendMessagesLocallyOnSend = false, onSimulationComplete, isSaveButtonEnabled = true, ...chatProps } = props;
39982
+ const { delayConfig, messages: sourceMessages, isResettable = true, isPausable = true, messageOffsetsMs, appendMessagesLocallyOnSend = false, onSimulationComplete, isSaveButtonEnabled = true, ...chatProps } = props;
39983
+ const originalMessages = useMemo(() => ensureMockedChatMessageIds(sourceMessages), [sourceMessages]);
38737
39984
  const delays = {
38738
39985
  ...MOCKED_CHAT_DELAY_CONFIGS.NORMAL_FLOW,
38739
39986
  ...delayConfig,
@@ -48457,18 +49704,6 @@ function createBasicAgentModelRequirements(agentName) {
48457
49704
  }
48458
49705
  // TODO: [🐤] Deduplicate `AgentModelRequirements` and `ModelRequirements` model requirements
48459
49706
 
48460
- /**
48461
- * Gets a commitment definition by its type
48462
- *
48463
- * @param type The commitment type to look up
48464
- * @returns The commitment definition or null if not found
48465
- *
48466
- * @public exported from `@promptbook/core`
48467
- */
48468
- function getCommitmentDefinition(type) {
48469
- return COMMITMENT_REGISTRY.find((commitmentDefinition) => commitmentDefinition.type === type) || null;
48470
- }
48471
-
48472
49707
  /**
48473
49708
  * Commitment types whose content may contain compact agent references that must be resolved before applying the commitment.
48474
49709
  *
@@ -48775,7 +50010,8 @@ async function augmentAgentModelRequirementsFromSource(requirements, parseResult
48775
50010
  requirements = await importReferencedFiles(requirements);
48776
50011
  requirements = appendMcpServers(requirements, agentSource);
48777
50012
  requirements = appendNonCommitmentContent(requirements, parseResult);
48778
- return appendExampleInteractions(requirements, parseResult);
50013
+ requirements = appendExampleInteractions(requirements, parseResult);
50014
+ return appendUnknownCommitmentContent(requirements, parseResult);
48779
50015
  }
48780
50016
  /**
48781
50017
  * Imports text files referenced by IMPORT commitments and appends their transformed content to the system message.
@@ -48897,6 +50133,36 @@ function appendNonCommitmentContent(requirements, parseResult) {
48897
50133
  }
48898
50134
  return appendSystemMessageSection(requirements, nonCommitmentContent);
48899
50135
  }
50136
+ /**
50137
+ * Appends unknown commitment blocks as final extra context without applying commitment side effects.
50138
+ *
50139
+ * @param requirements - Current requirements snapshot.
50140
+ * @param parseResult - Parsed source including unknown commitment blocks.
50141
+ * @returns Requirements with unknown commitment context appended at the end of the system message.
50142
+ *
50143
+ * @private internal utility of `augmentAgentModelRequirementsFromSource`
50144
+ */
50145
+ function appendUnknownCommitmentContent(requirements, parseResult) {
50146
+ const unknownCommitmentContent = getUnknownCommitmentContent(parseResult);
50147
+ if (!unknownCommitmentContent) {
50148
+ return requirements;
50149
+ }
50150
+ return appendSystemMessageSection(requirements, unknownCommitmentContent);
50151
+ }
50152
+ /**
50153
+ * Joins unknown commitment blocks into their final extra-context representation.
50154
+ *
50155
+ * @param parseResult - Parsed source including unknown commitment blocks.
50156
+ * @returns Unknown commitment source blocks in their original order.
50157
+ *
50158
+ * @private internal utility of `appendUnknownCommitmentContent`
50159
+ */
50160
+ function getUnknownCommitmentContent(parseResult) {
50161
+ return parseResult.unknownCommitments
50162
+ .map((commitment) => commitment.source)
50163
+ .filter(Boolean)
50164
+ .join('\n\n');
50165
+ }
48900
50166
  /**
48901
50167
  * Collects plain-text lines that were not parsed as commitments and should still become part of the final system message.
48902
50168
  *
@@ -49224,6 +50490,245 @@ function stripInlineKnowledgeMetadata(metadata) {
49224
50490
  return Object.keys(rest).length > 0 ? rest : undefined;
49225
50491
  }
49226
50492
 
50493
+ /**
50494
+ * Pattern matching a markdown section heading (`## Title`) that separates system-message sections
50495
+ *
50496
+ * @private internal constant of `deduplicateSystemMessage`
50497
+ */
50498
+ const SYSTEM_MESSAGE_SECTION_HEADING_PATTERN = /^##(?!#)\s*(.+?)\s*$/;
50499
+ /**
50500
+ * Pattern matching a fenced code block delimiter which suspends section and block splitting
50501
+ *
50502
+ * @private internal constant of `deduplicateSystemMessage`
50503
+ */
50504
+ const CODE_FENCE_PATTERN = /^\s*(?:```|~~~)/;
50505
+ /**
50506
+ * Pattern matching a markdown list item which keeps merged bullet lists visually compact
50507
+ *
50508
+ * @private internal constant of `deduplicateSystemMessage`
50509
+ */
50510
+ const LIST_ITEM_PATTERN = /^\s*(?:[-*+]|\d+[.)])\s/;
50511
+ /**
50512
+ * Removes duplicated instructions from a generated system message
50513
+ *
50514
+ * Commitments are applied one by one, so a commitment used multiple times in one book repeats its whole
50515
+ * section, including the shared guidance preamble. For example two `WRITING RULES` commitments emit the
50516
+ * `## Writing rules` heading and its guidance paragraph twice. This function merges all sections sharing
50517
+ * one heading into the position of their first occurrence and keeps every identical block only once.
50518
+ *
50519
+ * @param systemMessage The assembled system message which may contain repeated sections and blocks
50520
+ * @returns The system message where each section heading and each identical block appears exactly once
50521
+ *
50522
+ * @private internal utility of `createAgentModelRequirementsWithCommitments`
50523
+ */
50524
+ function deduplicateSystemMessage(systemMessage) {
50525
+ if (!systemMessage.trim()) {
50526
+ return systemMessage;
50527
+ }
50528
+ return splitSystemMessageIntoRegions(systemMessage)
50529
+ .reduce(mergeRegionSharingHeading, [])
50530
+ .map(removeDuplicateBlocksFromRegion)
50531
+ .map(renderRegion)
50532
+ .filter((renderedRegion) => renderedRegion !== '')
50533
+ .join('\n\n');
50534
+ }
50535
+ /**
50536
+ * Splits the system message into the intro region and one region per `## Title` section
50537
+ *
50538
+ * @param systemMessage The system message to split
50539
+ * @returns Regions in their original order, without empty ones
50540
+ *
50541
+ * @private internal utility of `deduplicateSystemMessage`
50542
+ */
50543
+ function splitSystemMessageIntoRegions(systemMessage) {
50544
+ const regions = [];
50545
+ let headingLine = null;
50546
+ let bodyLines = [];
50547
+ let isInsideCodeFence = false;
50548
+ for (const line of systemMessage.split(/\r?\n/)) {
50549
+ if (CODE_FENCE_PATTERN.test(line)) {
50550
+ isInsideCodeFence = !isInsideCodeFence;
50551
+ }
50552
+ if (isInsideCodeFence || !SYSTEM_MESSAGE_SECTION_HEADING_PATTERN.test(line)) {
50553
+ bodyLines.push(line);
50554
+ continue;
50555
+ }
50556
+ regions.push(createRegion(headingLine, bodyLines));
50557
+ headingLine = line;
50558
+ bodyLines = [];
50559
+ }
50560
+ regions.push(createRegion(headingLine, bodyLines));
50561
+ return regions.filter((region) => region.headingLine !== null || region.blocks.length > 0);
50562
+ }
50563
+ /**
50564
+ * Creates one region from its heading line and its raw body lines
50565
+ *
50566
+ * @param headingLine The original `## Title` line, or `null` for the intro before the first heading
50567
+ * @param bodyLines The raw lines following the heading line
50568
+ * @returns The region with its body already split into blocks
50569
+ *
50570
+ * @private internal utility of `splitSystemMessageIntoRegions`
50571
+ */
50572
+ function createRegion(headingLine, bodyLines) {
50573
+ return {
50574
+ titleKey: headingLine === null ? null : normalizeSectionTitle(headingLine),
50575
+ headingLine,
50576
+ isBodySeparatedByBlankLine: bodyLines[0] !== undefined && bodyLines[0].trim() === '',
50577
+ blocks: splitBodyIntoBlocks(bodyLines),
50578
+ };
50579
+ }
50580
+ /**
50581
+ * Normalizes a heading line into a key usable for matching sections which belong together
50582
+ *
50583
+ * @param headingLine The original `## Title` line
50584
+ * @returns Lowercased title without the markdown heading prefix
50585
+ *
50586
+ * @private internal utility of `createRegion`
50587
+ */
50588
+ function normalizeSectionTitle(headingLine) {
50589
+ var _a, _b;
50590
+ return ((_b = (_a = SYSTEM_MESSAGE_SECTION_HEADING_PATTERN.exec(headingLine)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : headingLine).toLowerCase();
50591
+ }
50592
+ /**
50593
+ * Splits raw body lines into blocks separated by blank lines while keeping fenced code blocks intact
50594
+ *
50595
+ * @param bodyLines The raw lines of one region body
50596
+ * @returns Non-empty blocks in their original order
50597
+ *
50598
+ * @private internal utility of `createRegion`
50599
+ */
50600
+ function splitBodyIntoBlocks(bodyLines) {
50601
+ const blockTexts = [];
50602
+ let blockLines = [];
50603
+ let isInsideCodeFence = false;
50604
+ for (const line of bodyLines) {
50605
+ if (CODE_FENCE_PATTERN.test(line)) {
50606
+ isInsideCodeFence = !isInsideCodeFence;
50607
+ }
50608
+ if (!isInsideCodeFence && line.trim() === '') {
50609
+ blockTexts.push(blockLines.join('\n'));
50610
+ blockLines = [];
50611
+ continue;
50612
+ }
50613
+ blockLines.push(line);
50614
+ }
50615
+ blockTexts.push(blockLines.join('\n'));
50616
+ return blockTexts
50617
+ .filter((blockText) => blockText.trim() !== '')
50618
+ .map((blockText) => ({ text: blockText, isOpeningMergedSection: false }));
50619
+ }
50620
+ /**
50621
+ * Appends one region to the already merged regions, merging it into an earlier region with the same heading
50622
+ *
50623
+ * @param mergedRegions Regions merged so far, used as the reducer accumulator
50624
+ * @param region The next region in original order
50625
+ * @returns The accumulator with the region either appended or merged into its earlier twin
50626
+ *
50627
+ * @private internal utility of `deduplicateSystemMessage`
50628
+ */
50629
+ function mergeRegionSharingHeading(mergedRegions, region) {
50630
+ const existingRegionIndex = mergedRegions.findIndex((mergedRegion) => region.titleKey !== null && mergedRegion.titleKey === region.titleKey);
50631
+ if (existingRegionIndex === -1) {
50632
+ return [...mergedRegions, region];
50633
+ }
50634
+ return mergedRegions.map((mergedRegion, index) => index !== existingRegionIndex
50635
+ ? mergedRegion
50636
+ : {
50637
+ ...mergedRegion,
50638
+ blocks: [...mergedRegion.blocks, ...markFirstBlockAsOpeningMergedSection(region.blocks)],
50639
+ });
50640
+ }
50641
+ /**
50642
+ * Marks the first block of a merged section occurrence so the merge seam can be rendered as one list
50643
+ *
50644
+ * @param blocks The blocks of the section occurrence being merged into an earlier section
50645
+ * @returns The same blocks with the first one marked as opening a merged section
50646
+ *
50647
+ * @private internal utility of `mergeRegionSharingHeading`
50648
+ */
50649
+ function markFirstBlockAsOpeningMergedSection(blocks) {
50650
+ return blocks.map((block, index) => (index === 0 ? { ...block, isOpeningMergedSection: true } : block));
50651
+ }
50652
+ /**
50653
+ * Keeps only the first occurrence of every identical block inside one region
50654
+ *
50655
+ * @param region The region whose blocks may repeat
50656
+ * @returns The region without repeated blocks
50657
+ *
50658
+ * @private internal utility of `deduplicateSystemMessage`
50659
+ */
50660
+ function removeDuplicateBlocksFromRegion(region) {
50661
+ const alreadyRenderedTexts = new Set();
50662
+ const uniqueBlocks = [];
50663
+ let isMergeSeamPending = false;
50664
+ for (const block of region.blocks) {
50665
+ if (alreadyRenderedTexts.has(block.text)) {
50666
+ // Note: A removed block must still hand its merge seam over to the next block which survives
50667
+ isMergeSeamPending = isMergeSeamPending || block.isOpeningMergedSection;
50668
+ continue;
50669
+ }
50670
+ alreadyRenderedTexts.add(block.text);
50671
+ uniqueBlocks.push({
50672
+ text: block.text,
50673
+ isOpeningMergedSection: block.isOpeningMergedSection || isMergeSeamPending,
50674
+ });
50675
+ isMergeSeamPending = false;
50676
+ }
50677
+ return { ...region, blocks: uniqueBlocks };
50678
+ }
50679
+ /**
50680
+ * Renders one region back into its markdown representation
50681
+ *
50682
+ * @param region The region to render
50683
+ * @returns The heading line together with its joined blocks
50684
+ *
50685
+ * @private internal utility of `deduplicateSystemMessage`
50686
+ */
50687
+ function renderRegion(region) {
50688
+ const body = joinBlocks(region.blocks);
50689
+ if (region.headingLine === null) {
50690
+ return body;
50691
+ }
50692
+ if (body === '') {
50693
+ return region.headingLine;
50694
+ }
50695
+ return `${region.headingLine}${region.isBodySeparatedByBlankLine ? '\n\n' : '\n'}${body}`;
50696
+ }
50697
+ /**
50698
+ * Joins blocks of one region back together
50699
+ *
50700
+ * @param blocks The blocks to join in their original order
50701
+ * @returns The joined body of one region
50702
+ *
50703
+ * @private internal utility of `renderRegion`
50704
+ */
50705
+ function joinBlocks(blocks) {
50706
+ return blocks
50707
+ .map((block, index) => index === 0 ? block.text : `${createBlockSeparator(blocks[index - 1], block)}${block.text}`)
50708
+ .join('');
50709
+ }
50710
+ /**
50711
+ * Chooses the separator between two neighboring blocks
50712
+ *
50713
+ * Blocks are normally separated by a blank line, exactly as they were written. Only where two sections were
50714
+ * merged together their lists are joined into one compact list instead of two separate ones.
50715
+ *
50716
+ * @param previousBlock The block rendered before the separator
50717
+ * @param nextBlock The block rendered after the separator
50718
+ * @returns Either a single or a double newline
50719
+ *
50720
+ * @private internal utility of `joinBlocks`
50721
+ */
50722
+ function createBlockSeparator(previousBlock, nextBlock) {
50723
+ if (!nextBlock.isOpeningMergedSection) {
50724
+ return '\n\n';
50725
+ }
50726
+ const previousBlockLines = previousBlock.text.split('\n');
50727
+ const isListContinuing = LIST_ITEM_PATTERN.test(previousBlockLines[previousBlockLines.length - 1]) &&
50728
+ LIST_ITEM_PATTERN.test(nextBlock.text.split('\n')[0]);
50729
+ return isListContinuing ? '\n' : '\n\n';
50730
+ }
50731
+
49227
50732
  /**
49228
50733
  * Removes single-hash comment lines (`# Comment`) from a system message
49229
50734
  * This is used to clean up the final system message before sending it to the AI model
@@ -49297,14 +50802,14 @@ function createInitialAgentModelRequirements(agentName, modelName) {
49297
50802
  * Performs the final system-message cleanup pass after all other augmentation steps are complete.
49298
50803
  *
49299
50804
  * @param requirements - Fully built requirements before final cleanup.
49300
- * @returns Requirements with comment lines removed from the final system message.
50805
+ * @returns Requirements with comment lines removed and repeated instructions deduplicated in the final system message.
49301
50806
  *
49302
50807
  * @private internal utility of `createAgentModelRequirementsWithCommitments`
49303
50808
  */
49304
50809
  function finalizeRequirements(requirements) {
49305
50810
  return {
49306
50811
  ...requirements,
49307
- systemMessage: removeCommentsFromSystemMessage(requirements.systemMessage),
50812
+ systemMessage: deduplicateSystemMessage(removeCommentsFromSystemMessage(requirements.systemMessage)),
49308
50813
  };
49309
50814
  }
49310
50815
 
@@ -49831,28 +51336,28 @@ function parseToolExecutionEnvelope(rawValue) {
49831
51336
  */
49832
51337
  function buildToolInvocationScript(options) {
49833
51338
  const { functionName, functionArgsExpression } = options;
49834
- return `
49835
- const args = ${functionArgsExpression};
49836
- const runtimeContextRaw =
49837
- typeof ${TOOL_RUNTIME_CONTEXT_PARAMETER} === 'undefined'
49838
- ? undefined
49839
- : ${TOOL_RUNTIME_CONTEXT_PARAMETER};
51339
+ return spaceTrim$1((block) => `
51340
+ const args = ${block(functionArgsExpression)};
51341
+ const runtimeContextRaw =
51342
+ typeof ${TOOL_RUNTIME_CONTEXT_PARAMETER} === 'undefined'
51343
+ ? undefined
51344
+ : ${TOOL_RUNTIME_CONTEXT_PARAMETER};
49840
51345
 
49841
- if (runtimeContextRaw !== undefined && args && typeof args === 'object' && !Array.isArray(args)) {
49842
- args.${TOOL_RUNTIME_CONTEXT_ARGUMENT} = runtimeContextRaw;
49843
- }
51346
+ if (runtimeContextRaw !== undefined && args && typeof args === 'object' && !Array.isArray(args)) {
51347
+ args.${TOOL_RUNTIME_CONTEXT_ARGUMENT} = runtimeContextRaw;
51348
+ }
49844
51349
 
49845
- const toolProgressTokenRaw =
49846
- typeof ${TOOL_PROGRESS_TOKEN_PARAMETER} === 'undefined'
49847
- ? undefined
49848
- : ${TOOL_PROGRESS_TOKEN_PARAMETER};
51350
+ const toolProgressTokenRaw =
51351
+ typeof ${TOOL_PROGRESS_TOKEN_PARAMETER} === 'undefined'
51352
+ ? undefined
51353
+ : ${TOOL_PROGRESS_TOKEN_PARAMETER};
49849
51354
 
49850
- if (toolProgressTokenRaw !== undefined && args && typeof args === 'object' && !Array.isArray(args)) {
49851
- args.${TOOL_PROGRESS_TOKEN_ARGUMENT} = toolProgressTokenRaw;
49852
- }
51355
+ if (toolProgressTokenRaw !== undefined && args && typeof args === 'object' && !Array.isArray(args)) {
51356
+ args.${TOOL_PROGRESS_TOKEN_ARGUMENT} = toolProgressTokenRaw;
51357
+ }
49853
51358
 
49854
- return await ${functionName}(args);
49855
- `;
51359
+ return await ${functionName}(args);
51360
+ `);
49856
51361
  }
49857
51362
 
49858
51363
  /**