node-llama-cpp 3.0.0-beta.14 → 3.0.0-beta.16
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.
- package/README.md +1 -1
- package/dist/ChatWrapper.js +4 -0
- package/dist/ChatWrapper.js.map +1 -1
- package/dist/bindings/AddonTypes.d.ts +23 -0
- package/dist/bindings/Llama.d.ts +11 -0
- package/dist/bindings/Llama.js +56 -4
- package/dist/bindings/Llama.js.map +1 -1
- package/dist/bindings/getLlama.d.ts +20 -2
- package/dist/bindings/getLlama.js +15 -5
- package/dist/bindings/getLlama.js.map +1 -1
- package/dist/bindings/types.d.ts +15 -0
- package/dist/bindings/types.js +27 -2
- package/dist/bindings/types.js.map +1 -1
- package/dist/bindings/utils/MemoryOrchestrator.d.ts +21 -0
- package/dist/bindings/utils/MemoryOrchestrator.js +49 -0
- package/dist/bindings/utils/MemoryOrchestrator.js.map +1 -0
- package/dist/bindings/utils/cloneLlamaCppRepo.d.ts +1 -1
- package/dist/bindings/utils/cloneLlamaCppRepo.js +26 -25
- package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
- package/dist/bindings/utils/compileLLamaCpp.js +2 -2
- package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
- package/dist/bindings/utils/getLlamaWithoutBackend.d.ts +5 -0
- package/dist/bindings/utils/getLlamaWithoutBackend.js +27 -0
- package/dist/bindings/utils/getLlamaWithoutBackend.js.map +1 -0
- package/dist/bindings/utils/resolveCustomCmakeOptions.js +2 -2
- package/dist/bindings/utils/resolveCustomCmakeOptions.js.map +1 -1
- package/dist/chatWrappers/AlpacaChatWrapper.d.ts +2 -1
- package/dist/chatWrappers/AlpacaChatWrapper.js +9 -2
- package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -1
- package/dist/chatWrappers/ChatMLChatWrapper.js +12 -10
- package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -1
- package/dist/chatWrappers/FalconChatWrapper.d.ts +2 -1
- package/dist/chatWrappers/FalconChatWrapper.js +28 -11
- package/dist/chatWrappers/FalconChatWrapper.js.map +1 -1
- package/dist/chatWrappers/FunctionaryChatWrapper.js +59 -45
- package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
- package/dist/chatWrappers/GemmaChatWrapper.js +9 -7
- package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -1
- package/dist/chatWrappers/GeneralChatWrapper.d.ts +2 -1
- package/dist/chatWrappers/GeneralChatWrapper.js +35 -12
- package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -1
- package/dist/chatWrappers/LlamaChatWrapper.d.ts +7 -0
- package/dist/chatWrappers/LlamaChatWrapper.js +26 -8
- package/dist/chatWrappers/LlamaChatWrapper.js.map +1 -1
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.d.ts +73 -0
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js +355 -0
- package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -0
- package/dist/{TemplateChatWrapper.d.ts → chatWrappers/generic/TemplateChatWrapper.d.ts} +6 -9
- package/dist/{TemplateChatWrapper.js → chatWrappers/generic/TemplateChatWrapper.js} +31 -69
- package/dist/chatWrappers/generic/TemplateChatWrapper.js.map +1 -0
- package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.d.ts +33 -0
- package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.js +45 -0
- package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.js.map +1 -0
- package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.d.ts +4 -0
- package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js +206 -0
- package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js.map +1 -0
- package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +67 -0
- package/dist/chatWrappers/utils/resolveChatWrapper.js +208 -0
- package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -0
- package/dist/cli/cli.js +1 -1
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands/BuildCommand.js +1 -1
- package/dist/cli/commands/BuildCommand.js.map +1 -1
- package/dist/cli/commands/ChatCommand.d.ts +9 -5
- package/dist/cli/commands/ChatCommand.js +203 -118
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/ClearCommand.d.ts +1 -1
- package/dist/cli/commands/ClearCommand.js +5 -5
- package/dist/cli/commands/ClearCommand.js.map +1 -1
- package/dist/cli/commands/CompleteCommand.d.ts +5 -3
- package/dist/cli/commands/CompleteCommand.js +136 -85
- package/dist/cli/commands/CompleteCommand.js.map +1 -1
- package/dist/cli/commands/DebugCommand.js +4 -4
- package/dist/cli/commands/DownloadCommand.js +3 -4
- package/dist/cli/commands/DownloadCommand.js.map +1 -1
- package/dist/cli/commands/InfillCommand.d.ts +5 -3
- package/dist/cli/commands/InfillCommand.js +138 -89
- package/dist/cli/commands/InfillCommand.js.map +1 -1
- package/dist/cli/commands/{InspectCommand.d.ts → inspect/InspectCommand.d.ts} +1 -4
- package/dist/cli/commands/inspect/InspectCommand.js +17 -0
- package/dist/cli/commands/inspect/InspectCommand.js.map +1 -0
- package/dist/cli/commands/inspect/commands/InspectGgufCommand.d.ts +11 -0
- package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +121 -0
- package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -0
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.d.ts +4 -0
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +136 -0
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -0
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +15 -0
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +579 -0
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -0
- package/dist/cli/recommendedModels.d.ts +2 -0
- package/dist/cli/recommendedModels.js +281 -0
- package/dist/cli/recommendedModels.js.map +1 -0
- package/dist/cli/utils/ConsoleInteraction.d.ts +23 -0
- package/dist/cli/utils/ConsoleInteraction.js +122 -0
- package/dist/cli/utils/ConsoleInteraction.js.map +1 -0
- package/dist/cli/utils/ConsoleTable.d.ts +23 -0
- package/dist/cli/utils/ConsoleTable.js +86 -0
- package/dist/cli/utils/ConsoleTable.js.map +1 -0
- package/dist/cli/utils/basicChooseFromListConsoleInteraction.d.ts +13 -0
- package/dist/cli/utils/basicChooseFromListConsoleInteraction.js +111 -0
- package/dist/cli/utils/basicChooseFromListConsoleInteraction.js.map +1 -0
- package/dist/cli/utils/consolePromptQuestion.d.ts +5 -0
- package/dist/cli/utils/consolePromptQuestion.js +80 -0
- package/dist/cli/utils/consolePromptQuestion.js.map +1 -0
- package/dist/cli/utils/getReadablePath.d.ts +1 -0
- package/dist/cli/utils/getReadablePath.js +14 -0
- package/dist/cli/utils/getReadablePath.js.map +1 -0
- package/dist/cli/utils/printCommonInfoLines.d.ts +9 -0
- package/dist/cli/utils/printCommonInfoLines.js +70 -0
- package/dist/cli/utils/printCommonInfoLines.js.map +1 -0
- package/dist/cli/utils/printInfoLine.d.ts +12 -0
- package/dist/cli/utils/printInfoLine.js +54 -0
- package/dist/cli/utils/printInfoLine.js.map +1 -0
- package/dist/cli/utils/resolveCommandGgufPath.d.ts +2 -0
- package/dist/cli/utils/resolveCommandGgufPath.js +494 -0
- package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -0
- package/dist/cli/utils/resolveHeaderFlag.d.ts +1 -0
- package/dist/cli/utils/resolveHeaderFlag.js +21 -0
- package/dist/cli/utils/resolveHeaderFlag.js.map +1 -0
- package/dist/cli/utils/resolveModelRecommendationFileOptions.d.ts +19 -0
- package/dist/cli/utils/resolveModelRecommendationFileOptions.js +7 -0
- package/dist/cli/utils/resolveModelRecommendationFileOptions.js.map +1 -0
- package/dist/cli/utils/splitAnsiToLines.d.ts +1 -0
- package/dist/cli/utils/splitAnsiToLines.js +17 -0
- package/dist/cli/utils/splitAnsiToLines.js.map +1 -0
- package/dist/config.d.ts +5 -0
- package/dist/config.js +11 -2
- package/dist/config.js.map +1 -1
- package/dist/consts.d.ts +2 -0
- package/dist/consts.js +8 -0
- package/dist/consts.js.map +1 -1
- package/dist/evaluator/LlamaChat/LlamaChat.d.ts +8 -1
- package/dist/evaluator/LlamaChat/LlamaChat.js +15 -6
- package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +9 -2
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +5 -3
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
- package/dist/evaluator/LlamaCompletion.d.ts +9 -2
- package/dist/evaluator/LlamaCompletion.js +11 -6
- package/dist/evaluator/LlamaCompletion.js.map +1 -1
- package/dist/evaluator/LlamaContext/LlamaContext.d.ts +30 -3
- package/dist/evaluator/LlamaContext/LlamaContext.js +227 -102
- package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
- package/dist/evaluator/LlamaContext/types.d.ts +57 -6
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/firstInFirstOutStrategy.js.map +1 -0
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/maximumParallelismStrategy.js.map +1 -0
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizationStrategy.d.ts +2 -0
- package/dist/evaluator/LlamaContext/utils/{resolveBatchItemsPrioritizingStrategy.js → resolveBatchItemsPrioritizationStrategy.js} +4 -4
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizationStrategy.js.map +1 -0
- package/dist/evaluator/LlamaEmbeddingContext.d.ts +23 -2
- package/dist/evaluator/LlamaEmbeddingContext.js +4 -5
- package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
- package/dist/evaluator/LlamaGrammar.d.ts +3 -2
- package/dist/evaluator/LlamaGrammar.js +3 -2
- package/dist/evaluator/LlamaGrammar.js.map +1 -1
- package/dist/evaluator/LlamaModel.d.ts +56 -6
- package/dist/evaluator/LlamaModel.js +99 -7
- package/dist/evaluator/LlamaModel.js.map +1 -1
- package/dist/evaluator/TokenBias.d.ts +22 -0
- package/dist/evaluator/TokenBias.js +33 -0
- package/dist/evaluator/TokenBias.js.map +1 -0
- package/dist/evaluator/TokenMeter.d.ts +54 -0
- package/dist/evaluator/TokenMeter.js +86 -0
- package/dist/evaluator/TokenMeter.js.map +1 -0
- package/dist/gguf/consts.d.ts +3 -0
- package/dist/gguf/consts.js +8 -0
- package/dist/gguf/consts.js.map +1 -0
- package/dist/gguf/errors/InvalidGgufMagicError.d.ts +3 -0
- package/dist/gguf/errors/InvalidGgufMagicError.js +6 -0
- package/dist/gguf/errors/InvalidGgufMagicError.js.map +1 -0
- package/dist/gguf/errors/UnsupportedGgufValueTypeError.d.ts +4 -0
- package/dist/gguf/errors/UnsupportedGgufValueTypeError.js +9 -0
- package/dist/gguf/errors/UnsupportedGgufValueTypeError.js.map +1 -0
- package/dist/gguf/fileReaders/GgufFileReader.d.ts +33 -0
- package/dist/gguf/fileReaders/GgufFileReader.js +76 -0
- package/dist/gguf/fileReaders/GgufFileReader.js.map +1 -0
- package/dist/gguf/fileReaders/GgufFsFileReader.d.ts +17 -0
- package/dist/gguf/fileReaders/GgufFsFileReader.js +45 -0
- package/dist/gguf/fileReaders/GgufFsFileReader.js.map +1 -0
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.d.ts +22 -0
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js +63 -0
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -0
- package/dist/gguf/insights/GgufInsights.d.ts +42 -0
- package/dist/gguf/insights/GgufInsights.js +361 -0
- package/dist/gguf/insights/GgufInsights.js.map +1 -0
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +87 -0
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +136 -0
- package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -0
- package/dist/gguf/insights/utils/resolveContextContextSizeOption.d.ts +18 -0
- package/dist/gguf/insights/utils/resolveContextContextSizeOption.js +52 -0
- package/dist/gguf/insights/utils/resolveContextContextSizeOption.js.map +1 -0
- package/dist/gguf/insights/utils/resolveModelGpuLayersOption.d.ts +14 -0
- package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js +177 -0
- package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js.map +1 -0
- package/dist/gguf/insights/utils/scoreLevels.d.ts +5 -0
- package/dist/gguf/insights/utils/scoreLevels.js +16 -0
- package/dist/gguf/insights/utils/scoreLevels.js.map +1 -0
- package/dist/gguf/parser/GgufV2Parser.d.ts +19 -0
- package/dist/gguf/parser/GgufV2Parser.js +115 -0
- package/dist/gguf/parser/GgufV2Parser.js.map +1 -0
- package/dist/gguf/parser/GgufV3Parser.d.ts +3 -0
- package/dist/gguf/parser/GgufV3Parser.js +4 -0
- package/dist/gguf/parser/GgufV3Parser.js.map +1 -0
- package/dist/gguf/parser/parseGguf.d.ts +8 -0
- package/dist/gguf/parser/parseGguf.js +58 -0
- package/dist/gguf/parser/parseGguf.js.map +1 -0
- package/dist/gguf/readGgufFileInfo.d.ts +30 -0
- package/dist/gguf/readGgufFileInfo.js +38 -0
- package/dist/gguf/readGgufFileInfo.js.map +1 -0
- package/dist/gguf/types/GgufFileInfoTypes.d.ts +52 -0
- package/dist/gguf/types/GgufFileInfoTypes.js +18 -0
- package/dist/gguf/types/GgufFileInfoTypes.js.map +1 -0
- package/dist/gguf/types/GgufMetadataTypes.d.ts +330 -0
- package/dist/gguf/types/GgufMetadataTypes.js +86 -0
- package/dist/gguf/types/GgufMetadataTypes.js.map +1 -0
- package/dist/gguf/types/GgufTensorInfoTypes.d.ts +37 -0
- package/dist/gguf/types/GgufTensorInfoTypes.js +33 -0
- package/dist/gguf/types/GgufTensorInfoTypes.js.map +1 -0
- package/dist/gguf/utils/GgufReadOffset.d.ts +6 -0
- package/dist/gguf/utils/GgufReadOffset.js +18 -0
- package/dist/gguf/utils/GgufReadOffset.js.map +1 -0
- package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.d.ts +5 -0
- package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js +38 -0
- package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js.map +1 -0
- package/dist/gguf/utils/getGgufFileTypeName.d.ts +4 -0
- package/dist/gguf/utils/getGgufFileTypeName.js +13 -0
- package/dist/gguf/utils/getGgufFileTypeName.js.map +1 -0
- package/dist/gguf/utils/getGgufMetadataArchitectureData.d.ts +3 -0
- package/dist/gguf/utils/getGgufMetadataArchitectureData.js +4 -0
- package/dist/gguf/utils/getGgufMetadataArchitectureData.js.map +1 -0
- package/dist/gguf/utils/normalizeGgufDownloadUrl.d.ts +1 -0
- package/dist/gguf/utils/normalizeGgufDownloadUrl.js +16 -0
- package/dist/gguf/utils/normalizeGgufDownloadUrl.js.map +1 -0
- package/dist/index.d.ts +14 -7
- package/dist/index.js +12 -6
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/utils/InsufficientMemoryError.d.ts +3 -0
- package/dist/utils/InsufficientMemoryError.js +6 -0
- package/dist/utils/InsufficientMemoryError.js.map +1 -0
- package/dist/utils/LlamaText.d.ts +25 -10
- package/dist/utils/LlamaText.js +205 -23
- package/dist/utils/LlamaText.js.map +1 -1
- package/dist/utils/StopGenerationDetector.js +3 -1
- package/dist/utils/StopGenerationDetector.js.map +1 -1
- package/dist/utils/findBestOption.d.ts +4 -0
- package/dist/utils/findBestOption.js +15 -0
- package/dist/utils/findBestOption.js.map +1 -0
- package/dist/utils/getConsoleLogPrefix.js +1 -1
- package/dist/utils/getQueuedTokensBeforeStopTrigger.js +3 -3
- package/dist/utils/getQueuedTokensBeforeStopTrigger.js.map +1 -1
- package/dist/utils/getReadableContextSize.d.ts +1 -0
- package/dist/utils/getReadableContextSize.js +7 -0
- package/dist/utils/getReadableContextSize.js.map +1 -0
- package/dist/utils/gitReleaseBundles.js +68 -1
- package/dist/utils/gitReleaseBundles.js.map +1 -1
- package/dist/utils/isToken.d.ts +2 -0
- package/dist/utils/isToken.js +4 -0
- package/dist/utils/isToken.js.map +1 -0
- package/dist/utils/isUrl.d.ts +1 -0
- package/dist/utils/isUrl.js +15 -0
- package/dist/utils/isUrl.js.map +1 -0
- package/dist/utils/mergeUnionTypes.d.ts +4 -0
- package/dist/utils/parseModelFileName.d.ts +1 -0
- package/dist/utils/parseModelFileName.js +6 -1
- package/dist/utils/parseModelFileName.js.map +1 -1
- package/dist/utils/prettyPrintObject.d.ts +10 -1
- package/dist/utils/prettyPrintObject.js +57 -13
- package/dist/utils/prettyPrintObject.js.map +1 -1
- package/dist/utils/spawnCommand.js.map +1 -1
- package/dist/utils/tokenizeInput.d.ts +1 -1
- package/dist/utils/tokenizeInput.js +6 -3
- package/dist/utils/tokenizeInput.js.map +1 -1
- package/dist/utils/withOra.d.ts +2 -0
- package/dist/utils/withOra.js +14 -8
- package/dist/utils/withOra.js.map +1 -1
- package/dist/utils/withProgressLog.d.ts +23 -0
- package/dist/utils/withProgressLog.js +211 -0
- package/dist/utils/withProgressLog.js.map +1 -0
- package/dist/utils/withStatusLogs.js +1 -1
- package/dist/utils/withStatusLogs.js.map +1 -1
- package/llama/CMakeLists.txt +5 -5
- package/llama/addon.cpp +159 -9
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/gpuInfo/cuda-gpu-info.cu +21 -0
- package/llama/gpuInfo/cuda-gpu-info.h +3 -0
- package/llama/gpuInfo/metal-gpu-info.h +4 -1
- package/llama/gpuInfo/metal-gpu-info.mm +14 -1
- package/llama/gpuInfo/vulkan-gpu-info.cpp +20 -2
- package/llama/gpuInfo/vulkan-gpu-info.h +2 -0
- package/llama/grammars/README.md +10 -0
- package/llama/llama.cpp.info.json +1 -1
- package/llama/toolchains/win32.host-x64.target-arm64.cmake +41 -0
- package/llamaBins/linux-arm64/_nlcBuildMetadata.json +1 -1
- package/llamaBins/linux-arm64/llama-addon.node +0 -0
- package/llamaBins/linux-armv7l/_nlcBuildMetadata.json +1 -1
- package/llamaBins/linux-armv7l/llama-addon.node +0 -0
- package/llamaBins/linux-x64/_nlcBuildMetadata.json +1 -1
- package/llamaBins/linux-x64/llama-addon.node +0 -0
- package/llamaBins/linux-x64-cuda/_nlcBuildMetadata.json +1 -1
- package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
- package/llamaBins/linux-x64-vulkan/_nlcBuildMetadata.json +1 -1
- package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
- package/llamaBins/mac-arm64-metal/_nlcBuildMetadata.json +1 -1
- package/llamaBins/mac-arm64-metal/default.metallib +0 -0
- package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
- package/llamaBins/mac-x64/_nlcBuildMetadata.json +1 -1
- package/llamaBins/mac-x64/llama-addon.node +0 -0
- package/llamaBins/win-arm64/_nlcBuildMetadata.json +1 -0
- package/llamaBins/win-arm64/llama-addon.exp +0 -0
- package/llamaBins/win-arm64/llama-addon.lib +0 -0
- package/llamaBins/win-arm64/llama-addon.node +0 -0
- package/llamaBins/win-x64/_nlcBuildMetadata.json +1 -1
- package/llamaBins/win-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64-cuda/_nlcBuildMetadata.json +1 -1
- package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
- package/llamaBins/win-x64-vulkan/_nlcBuildMetadata.json +1 -1
- package/llamaBins/win-x64-vulkan/llama-addon.node +0 -0
- package/package.json +15 -12
- package/dist/TemplateChatWrapper.js.map +0 -1
- package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.d.ts +0 -33
- package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js +0 -49
- package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js.map +0 -1
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +0 -13
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +0 -63
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +0 -1
- package/dist/cli/commands/InspectCommand.js +0 -113
- package/dist/cli/commands/InspectCommand.js.map +0 -1
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js.map +0 -1
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js.map +0 -1
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.d.ts +0 -2
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js.map +0 -1
- package/dist/gguf/GGUFInsights.d.ts +0 -28
- package/dist/gguf/GGUFInsights.js +0 -58
- package/dist/gguf/GGUFInsights.js.map +0 -1
- package/dist/gguf/GGUFMetadata.d.ts +0 -19
- package/dist/gguf/GGUFMetadata.js +0 -38
- package/dist/gguf/GGUFMetadata.js.map +0 -1
- package/dist/gguf/errors/InvalidGGUFMagicError.d.ts +0 -3
- package/dist/gguf/errors/InvalidGGUFMagicError.js +0 -6
- package/dist/gguf/errors/InvalidGGUFMagicError.js.map +0 -1
- package/dist/gguf/errors/MetadataNotParsedYetError.d.ts +0 -3
- package/dist/gguf/errors/MetadataNotParsedYetError.js +0 -6
- package/dist/gguf/errors/MetadataNotParsedYetError.js.map +0 -1
- package/dist/gguf/errors/MissingNodeLlamaError.d.ts +0 -3
- package/dist/gguf/errors/MissingNodeLlamaError.js +0 -6
- package/dist/gguf/errors/MissingNodeLlamaError.js.map +0 -1
- package/dist/gguf/errors/ModelScore/NotEnoughVRamError.d.ts +0 -5
- package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js +0 -11
- package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js.map +0 -1
- package/dist/gguf/errors/UnsupportedMetadataTypeError.d.ts +0 -4
- package/dist/gguf/errors/UnsupportedMetadataTypeError.js +0 -8
- package/dist/gguf/errors/UnsupportedMetadataTypeError.js.map +0 -1
- package/dist/gguf/ggufParser/GGUFParser.d.ts +0 -18
- package/dist/gguf/ggufParser/GGUFParser.js +0 -123
- package/dist/gguf/ggufParser/GGUFParser.js.map +0 -1
- package/dist/gguf/ggufParser/GGUFTypes.d.ts +0 -257
- package/dist/gguf/ggufParser/GGUFTypes.js +0 -2
- package/dist/gguf/ggufParser/GGUFTypes.js.map +0 -1
- package/dist/gguf/ggufParser/checkArchitecture.d.ts +0 -14
- package/dist/gguf/ggufParser/checkArchitecture.js +0 -74
- package/dist/gguf/ggufParser/checkArchitecture.js.map +0 -1
- package/dist/gguf/ggufParser/stream/GGUFBaseStream.d.ts +0 -38
- package/dist/gguf/ggufParser/stream/GGUFBaseStream.js +0 -83
- package/dist/gguf/ggufParser/stream/GGUFBaseStream.js.map +0 -1
- package/dist/gguf/ggufParser/stream/GGUFFetchStream.d.ts +0 -14
- package/dist/gguf/ggufParser/stream/GGUFFetchStream.js +0 -35
- package/dist/gguf/ggufParser/stream/GGUFFetchStream.js.map +0 -1
- package/dist/gguf/ggufParser/stream/GGUFReadStream.d.ts +0 -15
- package/dist/gguf/ggufParser/stream/GGUFReadStream.js +0 -40
- package/dist/gguf/ggufParser/stream/GGUFReadStream.js.map +0 -1
- package/dist/utils/parseModelTypeDescription.d.ts +0 -6
- package/dist/utils/parseModelTypeDescription.js +0 -9
- package/dist/utils/parseModelTypeDescription.js.map +0 -1
- package/dist/utils/resolveChatWrapper.d.ts +0 -4
- package/dist/utils/resolveChatWrapper.js +0 -16
- package/dist/utils/resolveChatWrapper.js.map +0 -1
- /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/firstInFirstOutStrategy.d.ts +0 -0
- /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/firstInFirstOutStrategy.js +0 -0
- /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/maximumParallelismStrategy.d.ts +0 -0
- /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/maximumParallelismStrategy.js +0 -0
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { CommandModule } from "yargs";
|
|
2
2
|
import { LlamaGrammar } from "../../evaluator/LlamaGrammar.js";
|
|
3
|
-
import {
|
|
3
|
+
import { SpecializedChatWrapperTypeName } from "../../chatWrappers/utils/resolveChatWrapper.js";
|
|
4
4
|
type ChatCommand = {
|
|
5
|
-
|
|
5
|
+
modelPath?: string;
|
|
6
|
+
header?: string[];
|
|
6
7
|
systemInfo: boolean;
|
|
7
8
|
systemPrompt: string;
|
|
8
9
|
systemPromptFile?: string;
|
|
9
10
|
prompt?: string;
|
|
10
11
|
promptFile?: string;
|
|
11
|
-
wrapper:
|
|
12
|
-
|
|
12
|
+
wrapper: SpecializedChatWrapperTypeName | "auto";
|
|
13
|
+
noJinja?: boolean;
|
|
14
|
+
contextSize?: number;
|
|
13
15
|
batchSize?: number;
|
|
16
|
+
noTrimWhitespace: boolean;
|
|
14
17
|
grammar: "text" | Parameters<typeof LlamaGrammar.getFor>[1];
|
|
15
18
|
jsonSchemaGrammarFile?: string;
|
|
16
19
|
threads: number;
|
|
@@ -27,7 +30,8 @@ type ChatCommand = {
|
|
|
27
30
|
maxTokens: number;
|
|
28
31
|
noHistory: boolean;
|
|
29
32
|
environmentFunctions: boolean;
|
|
30
|
-
|
|
33
|
+
debug: boolean;
|
|
34
|
+
meter: boolean;
|
|
31
35
|
printTimings: boolean;
|
|
32
36
|
};
|
|
33
37
|
export declare const ChatCommand: CommandModule<object, ChatCommand>;
|
|
@@ -6,33 +6,43 @@ import fs from "fs-extra";
|
|
|
6
6
|
import { chatCommandHistoryFilePath, defaultChatSystemPrompt } from "../../config.js";
|
|
7
7
|
import { getIsInDocumentationMode } from "../../state.js";
|
|
8
8
|
import { ReplHistory } from "../../utils/ReplHistory.js";
|
|
9
|
-
import withStatusLogs from "../../utils/withStatusLogs.js";
|
|
10
9
|
import { defineChatSessionFunction } from "../../evaluator/LlamaChatSession/utils/defineChatSessionFunction.js";
|
|
11
10
|
import { getLlama } from "../../bindings/getLlama.js";
|
|
12
11
|
import { LlamaGrammar } from "../../evaluator/LlamaGrammar.js";
|
|
13
12
|
import { LlamaChatSession } from "../../evaluator/LlamaChatSession/LlamaChatSession.js";
|
|
14
13
|
import { LlamaJsonSchemaGrammar } from "../../evaluator/LlamaJsonSchemaGrammar.js";
|
|
15
|
-
import { LlamaLogLevel } from "../../bindings/types.js";
|
|
16
|
-
import
|
|
14
|
+
import { LlamaLogLevel, LlamaLogLevelGreaterThan } from "../../bindings/types.js";
|
|
15
|
+
import withOra from "../../utils/withOra.js";
|
|
16
|
+
import { TokenMeter } from "../../evaluator/TokenMeter.js";
|
|
17
|
+
import { printInfoLine } from "../utils/printInfoLine.js";
|
|
18
|
+
import { resolveChatWrapper, specializedChatWrapperTypeNames } from "../../chatWrappers/utils/resolveChatWrapper.js";
|
|
19
|
+
import { GeneralChatWrapper } from "../../chatWrappers/GeneralChatWrapper.js";
|
|
20
|
+
import { printCommonInfoLines } from "../utils/printCommonInfoLines.js";
|
|
21
|
+
import { resolveCommandGgufPath } from "../utils/resolveCommandGgufPath.js";
|
|
22
|
+
import { withProgressLog } from "../../utils/withProgressLog.js";
|
|
23
|
+
import { resolveHeaderFlag } from "../utils/resolveHeaderFlag.js";
|
|
17
24
|
export const ChatCommand = {
|
|
18
|
-
command: "chat",
|
|
25
|
+
command: "chat [modelPath]",
|
|
19
26
|
describe: "Chat with a Llama model",
|
|
20
27
|
builder(yargs) {
|
|
21
28
|
const isInDocumentationMode = getIsInDocumentationMode();
|
|
22
29
|
return yargs
|
|
23
|
-
.option("
|
|
24
|
-
alias: "m",
|
|
30
|
+
.option("modelPath", {
|
|
31
|
+
alias: ["m", "model", "path", "url"],
|
|
25
32
|
type: "string",
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
33
|
+
description: "Llama model file to use for the chat. Can be a path to a local file or a URL of a model file to download"
|
|
34
|
+
})
|
|
35
|
+
.option("header", {
|
|
36
|
+
alias: ["H"],
|
|
37
|
+
type: "string",
|
|
38
|
+
array: true,
|
|
39
|
+
description: "Headers to use when downloading a model from a URL, in the format `key: value`. You can pass this option multiple times to add multiple headers."
|
|
29
40
|
})
|
|
30
41
|
.option("systemInfo", {
|
|
31
42
|
alias: "i",
|
|
32
43
|
type: "boolean",
|
|
33
44
|
default: false,
|
|
34
|
-
description: "Print llama.cpp system info"
|
|
35
|
-
group: "Optional:"
|
|
45
|
+
description: "Print llama.cpp system info"
|
|
36
46
|
})
|
|
37
47
|
.option("systemPrompt", {
|
|
38
48
|
alias: "s",
|
|
@@ -40,175 +50,169 @@ export const ChatCommand = {
|
|
|
40
50
|
default: defaultChatSystemPrompt,
|
|
41
51
|
defaultDescription: " ",
|
|
42
52
|
description: "System prompt to use against the model" +
|
|
43
|
-
(isInDocumentationMode ? "" : (". [default value: " + defaultChatSystemPrompt.split("\n").join(" ") + "]"))
|
|
44
|
-
group: "Optional:"
|
|
53
|
+
(isInDocumentationMode ? "" : (". [default value: " + defaultChatSystemPrompt.split("\n").join(" ") + "]"))
|
|
45
54
|
})
|
|
46
55
|
.option("systemPromptFile", {
|
|
47
56
|
type: "string",
|
|
48
|
-
description: "Path to a file to load text from and use as as the model system prompt"
|
|
49
|
-
group: "Optional:"
|
|
57
|
+
description: "Path to a file to load text from and use as as the model system prompt"
|
|
50
58
|
})
|
|
51
59
|
.option("prompt", {
|
|
52
60
|
type: "string",
|
|
53
|
-
description: "First prompt to automatically send to the model when starting the chat"
|
|
54
|
-
group: "Optional:"
|
|
61
|
+
description: "First prompt to automatically send to the model when starting the chat"
|
|
55
62
|
})
|
|
56
63
|
.option("promptFile", {
|
|
57
64
|
type: "string",
|
|
58
|
-
description: "Path to a file to load text from and use as a first prompt to automatically send to the model when starting the chat"
|
|
59
|
-
group: "Optional:"
|
|
65
|
+
description: "Path to a file to load text from and use as a first prompt to automatically send to the model when starting the chat"
|
|
60
66
|
})
|
|
61
67
|
.option("wrapper", {
|
|
62
68
|
alias: "w",
|
|
63
69
|
type: "string",
|
|
64
70
|
default: "auto",
|
|
65
|
-
choices:
|
|
66
|
-
description: "Chat wrapper to use. Use `auto` to automatically select a wrapper based on the model's BOS token"
|
|
67
|
-
|
|
71
|
+
choices: ["auto", ...specializedChatWrapperTypeNames],
|
|
72
|
+
description: "Chat wrapper to use. Use `auto` to automatically select a wrapper based on the model's BOS token"
|
|
73
|
+
})
|
|
74
|
+
.option("noJinja", {
|
|
75
|
+
type: "boolean",
|
|
76
|
+
default: false,
|
|
77
|
+
description: "Don't use a Jinja wrapper, even if it's the best option for the model"
|
|
68
78
|
})
|
|
69
79
|
.option("contextSize", {
|
|
70
80
|
alias: "c",
|
|
71
81
|
type: "number",
|
|
72
|
-
default: 1024 * 4,
|
|
73
82
|
description: "Context size to use for the model context",
|
|
74
|
-
|
|
83
|
+
default: -1,
|
|
84
|
+
defaultDescription: "Automatically determined based on the available VRAM"
|
|
75
85
|
})
|
|
76
86
|
.option("batchSize", {
|
|
77
87
|
alias: "b",
|
|
78
88
|
type: "number",
|
|
79
|
-
description: "Batch size to use for the model context. The default value is the context size"
|
|
80
|
-
|
|
89
|
+
description: "Batch size to use for the model context. The default value is the context size"
|
|
90
|
+
})
|
|
91
|
+
.option("noTrimWhitespace", {
|
|
92
|
+
type: "boolean",
|
|
93
|
+
alias: ["noTrim"],
|
|
94
|
+
default: false,
|
|
95
|
+
description: "Don't trim whitespaces from the model response"
|
|
81
96
|
})
|
|
82
97
|
.option("grammar", {
|
|
83
98
|
alias: "g",
|
|
84
99
|
type: "string",
|
|
85
100
|
default: "text",
|
|
86
101
|
choices: ["text", "json", "list", "arithmetic", "japanese", "chess"],
|
|
87
|
-
description: "Restrict the model response to a specific grammar, like JSON for example"
|
|
88
|
-
group: "Optional:"
|
|
102
|
+
description: "Restrict the model response to a specific grammar, like JSON for example"
|
|
89
103
|
})
|
|
90
104
|
.option("jsonSchemaGrammarFile", {
|
|
91
105
|
alias: ["jsgf"],
|
|
92
106
|
type: "string",
|
|
93
|
-
description: "File path to a JSON schema file, to restrict the model response to only generate output that conforms to the JSON schema"
|
|
94
|
-
group: "Optional:"
|
|
107
|
+
description: "File path to a JSON schema file, to restrict the model response to only generate output that conforms to the JSON schema"
|
|
95
108
|
})
|
|
96
109
|
.option("threads", {
|
|
97
110
|
type: "number",
|
|
98
111
|
default: 6,
|
|
99
|
-
description: "Number of threads to use for the evaluation of tokens"
|
|
100
|
-
group: "Optional:"
|
|
112
|
+
description: "Number of threads to use for the evaluation of tokens"
|
|
101
113
|
})
|
|
102
114
|
.option("temperature", {
|
|
103
115
|
alias: "t",
|
|
104
116
|
type: "number",
|
|
105
117
|
default: 0,
|
|
106
|
-
description: "Temperature is a hyperparameter that controls the randomness of the generated text. It affects the probability distribution of the model's output tokens. A higher temperature (e.g., 1.5) makes the output more random and creative, while a lower temperature (e.g., 0.5) makes the output more focused, deterministic, and conservative. The suggested temperature is 0.8, which provides a balance between randomness and determinism. At the extreme, a temperature of 0 will always pick the most likely next token, leading to identical outputs in each run. Set to `0` to disable."
|
|
107
|
-
group: "Optional:"
|
|
118
|
+
description: "Temperature is a hyperparameter that controls the randomness of the generated text. It affects the probability distribution of the model's output tokens. A higher temperature (e.g., 1.5) makes the output more random and creative, while a lower temperature (e.g., 0.5) makes the output more focused, deterministic, and conservative. The suggested temperature is 0.8, which provides a balance between randomness and determinism. At the extreme, a temperature of 0 will always pick the most likely next token, leading to identical outputs in each run. Set to `0` to disable."
|
|
108
119
|
})
|
|
109
120
|
.option("minP", {
|
|
110
121
|
alias: "mp",
|
|
111
122
|
type: "number",
|
|
112
123
|
default: 0,
|
|
113
|
-
description: "From the next token candidates, discard the percentage of tokens with the lowest probability. For example, if set to `0.05`, 5% of the lowest probability tokens will be discarded. This is useful for generating more high-quality results when using a high temperature. Set to a value between `0` and `1` to enable. Only relevant when `temperature` is set to a value greater than `0`."
|
|
114
|
-
group: "Optional:"
|
|
124
|
+
description: "From the next token candidates, discard the percentage of tokens with the lowest probability. For example, if set to `0.05`, 5% of the lowest probability tokens will be discarded. This is useful for generating more high-quality results when using a high temperature. Set to a value between `0` and `1` to enable. Only relevant when `temperature` is set to a value greater than `0`."
|
|
115
125
|
})
|
|
116
126
|
.option("topK", {
|
|
117
127
|
alias: "k",
|
|
118
128
|
type: "number",
|
|
119
129
|
default: 40,
|
|
120
|
-
description: "Limits the model to consider only the K most likely next tokens for sampling at each step of sequence generation. An integer number between `1` and the size of the vocabulary. Set to `0` to disable (which uses the full vocabulary). Only relevant when `temperature` is set to a value greater than 0."
|
|
121
|
-
group: "Optional:"
|
|
130
|
+
description: "Limits the model to consider only the K most likely next tokens for sampling at each step of sequence generation. An integer number between `1` and the size of the vocabulary. Set to `0` to disable (which uses the full vocabulary). Only relevant when `temperature` is set to a value greater than 0."
|
|
122
131
|
})
|
|
123
132
|
.option("topP", {
|
|
124
133
|
alias: "p",
|
|
125
134
|
type: "number",
|
|
126
135
|
default: 0.95,
|
|
127
|
-
description: "Dynamically selects the smallest set of tokens whose cumulative probability exceeds the threshold P, and samples the next token only from this set. A float number between `0` and `1`. Set to `1` to disable. Only relevant when `temperature` is set to a value greater than `0`."
|
|
128
|
-
group: "Optional:"
|
|
136
|
+
description: "Dynamically selects the smallest set of tokens whose cumulative probability exceeds the threshold P, and samples the next token only from this set. A float number between `0` and `1`. Set to `1` to disable. Only relevant when `temperature` is set to a value greater than `0`."
|
|
129
137
|
})
|
|
130
138
|
.option("gpuLayers", {
|
|
131
139
|
alias: "gl",
|
|
132
140
|
type: "number",
|
|
133
141
|
description: "number of layers to store in VRAM",
|
|
134
|
-
|
|
142
|
+
default: -1,
|
|
143
|
+
defaultDescription: "Automatically determined based on the available VRAM"
|
|
135
144
|
})
|
|
136
145
|
.option("repeatPenalty", {
|
|
137
146
|
alias: "rp",
|
|
138
147
|
type: "number",
|
|
139
148
|
default: 1.1,
|
|
140
|
-
description: "Prevent the model from repeating the same token too much. Set to `1` to disable."
|
|
141
|
-
group: "Optional:"
|
|
149
|
+
description: "Prevent the model from repeating the same token too much. Set to `1` to disable."
|
|
142
150
|
})
|
|
143
151
|
.option("lastTokensRepeatPenalty", {
|
|
144
152
|
alias: "rpn",
|
|
145
153
|
type: "number",
|
|
146
154
|
default: 64,
|
|
147
|
-
description: "Number of recent tokens generated by the model to apply penalties to repetition of"
|
|
148
|
-
group: "Optional:"
|
|
155
|
+
description: "Number of recent tokens generated by the model to apply penalties to repetition of"
|
|
149
156
|
})
|
|
150
157
|
.option("penalizeRepeatingNewLine", {
|
|
151
158
|
alias: "rpnl",
|
|
152
159
|
type: "boolean",
|
|
153
160
|
default: true,
|
|
154
|
-
description: "Penalize new line tokens. set
|
|
155
|
-
group: "Optional:"
|
|
161
|
+
description: "Penalize new line tokens. set `--no-penalizeRepeatingNewLine` or `--no-rpnl` to disable"
|
|
156
162
|
})
|
|
157
163
|
.option("repeatFrequencyPenalty", {
|
|
158
164
|
alias: "rfp",
|
|
159
165
|
type: "number",
|
|
160
|
-
description: "For n time a token is in the `punishTokens` array, lower its probability by `n * repeatFrequencyPenalty`. Set to a value between `0` and `1` to enable."
|
|
161
|
-
group: "Optional:"
|
|
166
|
+
description: "For n time a token is in the `punishTokens` array, lower its probability by `n * repeatFrequencyPenalty`. Set to a value between `0` and `1` to enable."
|
|
162
167
|
})
|
|
163
168
|
.option("repeatPresencePenalty", {
|
|
164
169
|
alias: "rpp",
|
|
165
170
|
type: "number",
|
|
166
|
-
description: "Lower the probability of all the tokens in the `punishTokens` array by `repeatPresencePenalty`. Set to a value between `0` and `1` to enable."
|
|
167
|
-
group: "Optional:"
|
|
171
|
+
description: "Lower the probability of all the tokens in the `punishTokens` array by `repeatPresencePenalty`. Set to a value between `0` and `1` to enable."
|
|
168
172
|
})
|
|
169
173
|
.option("maxTokens", {
|
|
170
174
|
alias: "mt",
|
|
171
175
|
type: "number",
|
|
172
176
|
default: 0,
|
|
173
|
-
description: "Maximum number of tokens to generate in responses. Set to `0` to disable. Set to `-1` to set to the context size"
|
|
174
|
-
group: "Optional:"
|
|
177
|
+
description: "Maximum number of tokens to generate in responses. Set to `0` to disable. Set to `-1` to set to the context size"
|
|
175
178
|
})
|
|
176
179
|
.option("noHistory", {
|
|
177
180
|
alias: "nh",
|
|
178
181
|
type: "boolean",
|
|
179
182
|
default: false,
|
|
180
|
-
description: "Don't load or save chat history"
|
|
181
|
-
group: "Optional:"
|
|
183
|
+
description: "Don't load or save chat history"
|
|
182
184
|
})
|
|
183
185
|
.option("environmentFunctions", {
|
|
184
186
|
alias: "ef",
|
|
185
187
|
type: "boolean",
|
|
186
188
|
default: false,
|
|
187
|
-
description: "Provide access to environment functions like `getDate` and `getTime`"
|
|
188
|
-
|
|
189
|
+
description: "Provide access to environment functions like `getDate` and `getTime`"
|
|
190
|
+
})
|
|
191
|
+
.option("debug", {
|
|
192
|
+
alias: "d",
|
|
193
|
+
type: "boolean",
|
|
194
|
+
default: false,
|
|
195
|
+
description: "Print llama.cpp info and debug logs"
|
|
189
196
|
})
|
|
190
|
-
.option("
|
|
191
|
-
alias: "nl",
|
|
197
|
+
.option("meter", {
|
|
192
198
|
type: "boolean",
|
|
193
199
|
default: false,
|
|
194
|
-
description: "
|
|
195
|
-
group: "Optional:"
|
|
200
|
+
description: "Print how many tokens were used as input and output for each response"
|
|
196
201
|
})
|
|
197
202
|
.option("printTimings", {
|
|
198
203
|
alias: "pt",
|
|
199
204
|
type: "boolean",
|
|
200
205
|
default: false,
|
|
201
|
-
description: "Print llama.cpp timings after each response"
|
|
202
|
-
group: "Optional:"
|
|
206
|
+
description: "Print llama.cpp timings after each response"
|
|
203
207
|
});
|
|
204
208
|
},
|
|
205
|
-
async handler({
|
|
209
|
+
async handler({ modelPath, header, systemInfo, systemPrompt, systemPromptFile, prompt, promptFile, wrapper, noJinja, contextSize, batchSize, noTrimWhitespace, grammar, jsonSchemaGrammarFile, threads, temperature, minP, topK, topP, gpuLayers, repeatPenalty, lastTokensRepeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, noHistory, environmentFunctions, debug, meter, printTimings }) {
|
|
206
210
|
try {
|
|
207
211
|
await RunChat({
|
|
208
|
-
|
|
209
|
-
grammar, jsonSchemaGrammarFile, threads, temperature, minP, topK, topP, gpuLayers,
|
|
210
|
-
repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens,
|
|
211
|
-
noHistory, environmentFunctions,
|
|
212
|
+
modelPath, header, systemInfo, systemPrompt, systemPromptFile, prompt, promptFile, wrapper, noJinja, contextSize, batchSize,
|
|
213
|
+
noTrimWhitespace, grammar, jsonSchemaGrammarFile, threads, temperature, minP, topK, topP, gpuLayers,
|
|
214
|
+
lastTokensRepeatPenalty, repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens,
|
|
215
|
+
noHistory, environmentFunctions, debug, meter, printTimings
|
|
212
216
|
});
|
|
213
217
|
}
|
|
214
218
|
catch (err) {
|
|
@@ -218,15 +222,23 @@ export const ChatCommand = {
|
|
|
218
222
|
}
|
|
219
223
|
}
|
|
220
224
|
};
|
|
221
|
-
async function RunChat({
|
|
222
|
-
if (
|
|
223
|
-
|
|
225
|
+
async function RunChat({ modelPath: modelArg, header: headerArg, systemInfo, systemPrompt, systemPromptFile, prompt, promptFile, wrapper, noJinja, contextSize, batchSize, noTrimWhitespace, grammar: grammarArg, jsonSchemaGrammarFile: jsonSchemaGrammarFilePath, threads, temperature, minP, topK, topP, gpuLayers, lastTokensRepeatPenalty, repeatPenalty, penalizeRepeatingNewLine, repeatFrequencyPenalty, repeatPresencePenalty, maxTokens, noHistory, environmentFunctions, debug, meter, printTimings }) {
|
|
226
|
+
if (contextSize === -1)
|
|
227
|
+
contextSize = undefined;
|
|
228
|
+
if (gpuLayers === -1)
|
|
229
|
+
gpuLayers = undefined;
|
|
230
|
+
const headers = resolveHeaderFlag(headerArg);
|
|
231
|
+
const trimWhitespace = !noTrimWhitespace;
|
|
232
|
+
if (debug)
|
|
233
|
+
console.info(`${chalk.yellow("Log level:")} debug`);
|
|
234
|
+
const llamaLogLevel = debug
|
|
235
|
+
? LlamaLogLevel.debug
|
|
236
|
+
: LlamaLogLevel.warn;
|
|
224
237
|
const llama = await getLlama("lastBuild", {
|
|
225
|
-
logLevel:
|
|
226
|
-
? LlamaLogLevel.warn
|
|
227
|
-
: LlamaLogLevel.debug
|
|
238
|
+
logLevel: llamaLogLevel
|
|
228
239
|
});
|
|
229
240
|
const logBatchSize = batchSize != null;
|
|
241
|
+
const resolvedModelPath = await resolveCommandGgufPath(modelArg, llama, headers);
|
|
230
242
|
if (systemInfo)
|
|
231
243
|
console.log(llama.systemInfo);
|
|
232
244
|
if (systemPromptFile != null && systemPromptFile !== "") {
|
|
@@ -239,24 +251,39 @@ async function RunChat({ model: modelArg, systemInfo, systemPrompt, systemPrompt
|
|
|
239
251
|
console.warn(chalk.yellow("Both `prompt` and `promptFile` were specified. `promptFile` will be used."));
|
|
240
252
|
prompt = await fs.readFile(path.resolve(process.cwd(), promptFile), "utf8");
|
|
241
253
|
}
|
|
242
|
-
if (batchSize
|
|
243
|
-
batchSize = contextSize;
|
|
244
|
-
else if (batchSize > contextSize) {
|
|
254
|
+
if (batchSize != null && contextSize != null && batchSize > contextSize) {
|
|
245
255
|
console.warn(chalk.yellow("Batch size is greater than the context size. Batch size will be set to the context size."));
|
|
246
256
|
batchSize = contextSize;
|
|
247
257
|
}
|
|
248
258
|
let initialPrompt = prompt ?? null;
|
|
249
|
-
const model = await
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
259
|
+
const model = await withProgressLog({
|
|
260
|
+
loadingText: chalk.blue.bold("Loading model"),
|
|
261
|
+
successText: chalk.blue("Model loaded"),
|
|
262
|
+
failText: chalk.blue("Failed to load model"),
|
|
263
|
+
liveUpdates: !debug,
|
|
264
|
+
noProgress: debug,
|
|
265
|
+
liveCtrlCSendsAbortSignal: true
|
|
266
|
+
}, async (progressUpdater) => {
|
|
254
267
|
try {
|
|
255
268
|
return await llama.loadModel({
|
|
256
|
-
modelPath:
|
|
257
|
-
gpuLayers: gpuLayers != null
|
|
269
|
+
modelPath: resolvedModelPath,
|
|
270
|
+
gpuLayers: gpuLayers != null
|
|
271
|
+
? gpuLayers
|
|
272
|
+
: contextSize != null
|
|
273
|
+
? { fitContext: { contextSize } }
|
|
274
|
+
: undefined,
|
|
275
|
+
ignoreMemorySafetyChecks: gpuLayers != null,
|
|
276
|
+
onLoadProgress(loadProgress) {
|
|
277
|
+
progressUpdater.setProgress(loadProgress);
|
|
278
|
+
},
|
|
279
|
+
loadSignal: progressUpdater.abortSignal
|
|
258
280
|
});
|
|
259
281
|
}
|
|
282
|
+
catch (err) {
|
|
283
|
+
if (err === progressUpdater.abortSignal?.reason)
|
|
284
|
+
process.exit(0);
|
|
285
|
+
throw err;
|
|
286
|
+
}
|
|
260
287
|
finally {
|
|
261
288
|
if (llama.logLevel === LlamaLogLevel.debug) {
|
|
262
289
|
await new Promise((accept) => setTimeout(accept, 0)); // wait for logs to finish printing
|
|
@@ -264,16 +291,18 @@ async function RunChat({ model: modelArg, systemInfo, systemPrompt, systemPrompt
|
|
|
264
291
|
}
|
|
265
292
|
}
|
|
266
293
|
});
|
|
267
|
-
const context = await
|
|
294
|
+
const context = await withOra({
|
|
268
295
|
loading: chalk.blue("Creating context"),
|
|
269
296
|
success: chalk.blue("Context created"),
|
|
270
|
-
fail: chalk.blue("Failed to create context")
|
|
297
|
+
fail: chalk.blue("Failed to create context"),
|
|
298
|
+
useStatusLogs: debug
|
|
271
299
|
}, async () => {
|
|
272
300
|
try {
|
|
273
301
|
return await model.createContext({
|
|
274
|
-
contextSize,
|
|
275
|
-
batchSize,
|
|
276
|
-
threads
|
|
302
|
+
contextSize: contextSize != null ? contextSize : undefined,
|
|
303
|
+
batchSize: batchSize != null ? batchSize : undefined,
|
|
304
|
+
threads,
|
|
305
|
+
ignoreMemorySafetyChecks: gpuLayers != null || contextSize != null
|
|
277
306
|
});
|
|
278
307
|
}
|
|
279
308
|
finally {
|
|
@@ -288,44 +317,72 @@ async function RunChat({ model: modelArg, systemInfo, systemPrompt, systemPrompt
|
|
|
288
317
|
: grammarArg !== "text"
|
|
289
318
|
? await LlamaGrammar.getFor(llama, grammarArg)
|
|
290
319
|
: undefined;
|
|
291
|
-
const
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
bosString: bos,
|
|
320
|
+
const chatWrapper = resolveChatWrapper({
|
|
321
|
+
type: wrapper,
|
|
322
|
+
bosString: model.tokens.bosString,
|
|
295
323
|
filename: model.filename,
|
|
296
|
-
|
|
297
|
-
|
|
324
|
+
fileInfo: model.fileInfo,
|
|
325
|
+
tokenizer: model.tokenize,
|
|
326
|
+
noJinja
|
|
327
|
+
}) ?? new GeneralChatWrapper();
|
|
328
|
+
const contextSequence = context.getSequence();
|
|
298
329
|
const session = new LlamaChatSession({
|
|
299
|
-
contextSequence
|
|
330
|
+
contextSequence,
|
|
300
331
|
systemPrompt,
|
|
301
332
|
chatWrapper: chatWrapper
|
|
302
333
|
});
|
|
334
|
+
let lastTokenMeterState = contextSequence.tokenMeter.getState();
|
|
303
335
|
await new Promise((accept) => setTimeout(accept, 0)); // wait for logs to finish printing
|
|
304
336
|
if (grammarArg != "text" && jsonSchemaGrammarFilePath != null)
|
|
305
337
|
console.warn(chalk.yellow("Both `grammar` and `jsonSchemaGrammarFile` were specified. `jsonSchemaGrammarFile` will be used."));
|
|
306
|
-
console.info(`${chalk.yellow("Context size:")} ${context.contextSize}`);
|
|
307
|
-
if (logBatchSize)
|
|
308
|
-
console.info(`${chalk.yellow("Batch size:")} ${context.batchSize}`);
|
|
309
|
-
console.info(`${chalk.yellow("Train context size:")} ${model.trainContextSize}`);
|
|
310
|
-
console.info(`${chalk.yellow("Model type:")} ${model.typeDescription}`);
|
|
311
|
-
console.info(`${chalk.yellow("BOS:")} ${bos}`);
|
|
312
|
-
console.info(`${chalk.yellow("EOS:")} ${eos}`);
|
|
313
|
-
console.info(`${chalk.yellow("Chat wrapper:")} ${chatWrapper.wrapperName}`);
|
|
314
|
-
console.info(`${chalk.yellow("Repeat penalty:")} ${repeatPenalty} (apply to last ${lastTokensRepeatPenalty} tokens)`);
|
|
315
|
-
if (repeatFrequencyPenalty != null)
|
|
316
|
-
console.info(`${chalk.yellow("Repeat frequency penalty:")} ${repeatFrequencyPenalty}`);
|
|
317
|
-
if (repeatPresencePenalty != null)
|
|
318
|
-
console.info(`${chalk.yellow("Repeat presence penalty:")} ${repeatPresencePenalty}`);
|
|
319
|
-
if (!penalizeRepeatingNewLine)
|
|
320
|
-
console.info(`${chalk.yellow("Penalize repeating new line:")} disabled`);
|
|
321
|
-
if (jsonSchemaGrammarFilePath != null)
|
|
322
|
-
console.info(`${chalk.yellow("JSON schema grammar file:")} ${path.relative(process.cwd(), path.resolve(process.cwd(), jsonSchemaGrammarFilePath))}`);
|
|
323
|
-
else if (grammarArg !== "text")
|
|
324
|
-
console.info(`${chalk.yellow("Grammar:")} ${grammarArg}`);
|
|
325
338
|
if (environmentFunctions && grammar != null) {
|
|
326
339
|
console.warn(chalk.yellow("Environment functions are disabled since a grammar is already specified"));
|
|
327
340
|
environmentFunctions = false;
|
|
328
341
|
}
|
|
342
|
+
const padTitle = "Context".length + 1;
|
|
343
|
+
printCommonInfoLines({
|
|
344
|
+
context,
|
|
345
|
+
minTitleLength: padTitle,
|
|
346
|
+
printBos: true,
|
|
347
|
+
printEos: true,
|
|
348
|
+
logBatchSize,
|
|
349
|
+
tokenMeterEnabled: meter
|
|
350
|
+
});
|
|
351
|
+
printInfoLine({
|
|
352
|
+
title: "Chat",
|
|
353
|
+
padTitle: padTitle,
|
|
354
|
+
info: [{
|
|
355
|
+
title: "Wrapper",
|
|
356
|
+
value: chatWrapper.wrapperName
|
|
357
|
+
}, {
|
|
358
|
+
title: "Repeat penalty",
|
|
359
|
+
value: `${repeatPenalty} (apply to last ${lastTokensRepeatPenalty} tokens)`
|
|
360
|
+
}, {
|
|
361
|
+
show: repeatFrequencyPenalty != null,
|
|
362
|
+
title: "Repeat frequency penalty",
|
|
363
|
+
value: String(repeatFrequencyPenalty)
|
|
364
|
+
}, {
|
|
365
|
+
show: repeatPresencePenalty != null,
|
|
366
|
+
title: "Repeat presence penalty",
|
|
367
|
+
value: String(repeatPresencePenalty)
|
|
368
|
+
}, {
|
|
369
|
+
show: !penalizeRepeatingNewLine,
|
|
370
|
+
title: "Penalize repeating new line",
|
|
371
|
+
value: "disabled"
|
|
372
|
+
}, {
|
|
373
|
+
show: jsonSchemaGrammarFilePath != null,
|
|
374
|
+
title: "JSON schema grammar file",
|
|
375
|
+
value: () => path.relative(process.cwd(), path.resolve(process.cwd(), jsonSchemaGrammarFilePath ?? ""))
|
|
376
|
+
}, {
|
|
377
|
+
show: jsonSchemaGrammarFilePath == null && grammarArg !== "text",
|
|
378
|
+
title: "Grammar",
|
|
379
|
+
value: grammarArg
|
|
380
|
+
}, {
|
|
381
|
+
show: environmentFunctions,
|
|
382
|
+
title: "Environment functions",
|
|
383
|
+
value: "enabled"
|
|
384
|
+
}]
|
|
385
|
+
});
|
|
329
386
|
// this is for ora to not interfere with readline
|
|
330
387
|
await new Promise(resolve => setTimeout(resolve, 1));
|
|
331
388
|
const replHistory = await ReplHistory.load(chatCommandHistoryFilePath, !noHistory);
|
|
@@ -341,6 +398,8 @@ async function RunChat({ model: modelArg, systemInfo, systemPrompt, systemPrompt
|
|
|
341
398
|
}
|
|
342
399
|
// eslint-disable-next-line no-constant-condition
|
|
343
400
|
while (true) {
|
|
401
|
+
let hadNoWhitespaceTextInThisIteration = false;
|
|
402
|
+
let nextPrintLeftovers = "";
|
|
344
403
|
const input = initialPrompt != null
|
|
345
404
|
? initialPrompt
|
|
346
405
|
: await getPrompt();
|
|
@@ -374,16 +433,42 @@ async function RunChat({ model: modelArg, systemInfo, systemPrompt, systemPrompt
|
|
|
374
433
|
? undefined
|
|
375
434
|
: maxTokens,
|
|
376
435
|
onToken(chunk) {
|
|
377
|
-
|
|
436
|
+
let text = nextPrintLeftovers + model.detokenize(chunk);
|
|
437
|
+
nextPrintLeftovers = "";
|
|
438
|
+
if (trimWhitespace) {
|
|
439
|
+
if (!hadNoWhitespaceTextInThisIteration) {
|
|
440
|
+
text = text.trimStart();
|
|
441
|
+
if (text.length > 0)
|
|
442
|
+
hadNoWhitespaceTextInThisIteration = true;
|
|
443
|
+
}
|
|
444
|
+
const textWithTrimmedEnd = text.trimEnd();
|
|
445
|
+
if (textWithTrimmedEnd.length < text.length) {
|
|
446
|
+
nextPrintLeftovers = text.slice(textWithTrimmedEnd.length);
|
|
447
|
+
text = textWithTrimmedEnd;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
process.stdout.write(text);
|
|
378
451
|
},
|
|
379
452
|
functions: (grammar == null && environmentFunctions)
|
|
380
453
|
? defaultEnvironmentFunctions
|
|
381
|
-
: undefined
|
|
454
|
+
: undefined,
|
|
455
|
+
trimWhitespaceSuffix: trimWhitespace
|
|
382
456
|
});
|
|
383
457
|
process.stdout.write(endColor);
|
|
384
458
|
console.log();
|
|
385
|
-
if (printTimings)
|
|
459
|
+
if (printTimings) {
|
|
460
|
+
if (LlamaLogLevelGreaterThan(llama.logLevel, LlamaLogLevel.info))
|
|
461
|
+
llama.logLevel = LlamaLogLevel.info;
|
|
386
462
|
await context.printTimings();
|
|
463
|
+
await new Promise((accept) => setTimeout(accept, 0)); // wait for logs to finish printing
|
|
464
|
+
llama.logLevel = llamaLogLevel;
|
|
465
|
+
}
|
|
466
|
+
if (meter) {
|
|
467
|
+
const newTokenMeterState = contextSequence.tokenMeter.getState();
|
|
468
|
+
const tokenMeterDiff = TokenMeter.diff(newTokenMeterState, lastTokenMeterState);
|
|
469
|
+
lastTokenMeterState = newTokenMeterState;
|
|
470
|
+
console.info(`${chalk.dim("Input tokens:")} ${String(tokenMeterDiff.usedInputTokens).padEnd(5, " ")} ${chalk.dim("Output tokens:")} ${tokenMeterDiff.usedOutputTokens}`);
|
|
471
|
+
}
|
|
387
472
|
}
|
|
388
473
|
}
|
|
389
474
|
const defaultEnvironmentFunctions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/ChatCommand.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChatCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/ChatCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,0BAA0B,EAAE,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAC,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAC,yBAAyB,EAAC,MAAM,qEAAqE,CAAC;AAC9G,OAAO,EAAC,QAAQ,EAAC,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,sDAAsD,CAAC;AACtF,OAAO,EAAC,sBAAsB,EAAC,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAC,aAAa,EAAE,wBAAwB,EAAC,MAAM,yBAAyB,CAAC;AAChF,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EACH,kBAAkB,EAAkC,+BAA+B,EACtF,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAC,kBAAkB,EAAC,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAC,oBAAoB,EAAC,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAoChE,MAAM,CAAC,MAAM,WAAW,GAAuC;IAC3D,OAAO,EAAE,kBAAkB;IAC3B,QAAQ,EAAE,yBAAyB;IACnC,OAAO,CAAC,KAAK;QACT,MAAM,qBAAqB,GAAG,wBAAwB,EAAE,CAAC;QAEzD,OAAO,KAAK;aACP,MAAM,CAAC,WAAW,EAAE;YACjB,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;YACpC,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0GAA0G;SAC1H,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YACd,KAAK,EAAE,CAAC,GAAG,CAAC;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,kJAAkJ;SAClK,CAAC;aACD,MAAM,CAAC,YAAY,EAAE;YAClB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,6BAA6B;SAC7C,CAAC;aACD,MAAM,CAAC,cAAc,EAAE;YACpB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAuB;YAChC,kBAAkB,EAAE,GAAG;YACvB,WAAW,EACP,wCAAwC;gBACxC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAClH,CAAC;aACD,MAAM,CAAC,kBAAkB,EAAE;YACxB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wEAAwE;SACxF,CAAC;aACD,MAAM,CAAC,QAAQ,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wEAAwE;SACxF,CAAC;aACD,MAAM,CAAC,YAAY,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sHAAsH;SACtI,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACf,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAgC;YACzC,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,+BAA+B,CAAU;YAC9D,WAAW,EAAE,kGAAkG;SAClH,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,uEAAuE;SACvF,CAAC;aACD,MAAM,CAAC,aAAa,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2CAA2C;YACxD,OAAO,EAAE,CAAC,CAAC;YACX,kBAAkB,EAAE,sDAAsD;SAC7E,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACjB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gFAAgF;SAChG,CAAC;aACD,MAAM,CAAC,kBAAkB,EAAE;YACxB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,CAAC,QAAQ,CAAC;YACjB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,gDAAgD;SAChE,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACf,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAgC;YACzC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAoC;YACvG,WAAW,EAAE,0EAA0E;SAC1F,CAAC;aACD,MAAM,CAAC,uBAAuB,EAAE;YAC7B,KAAK,EAAE,CAAC,MAAM,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0HAA0H;SAC1I,CAAC;aACD,MAAM,CAAC,SAAS,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,uDAAuD;SACvE,CAAC;aACD,MAAM,CAAC,aAAa,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,6jBAA6jB;SAC7kB,CAAC;aACD,MAAM,CAAC,MAAM,EAAE;YACZ,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,+XAA+X;SAC/Y,CAAC;aACD,MAAM,CAAC,MAAM,EAAE;YACZ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,4SAA4S;SAC5T,CAAC;aACD,MAAM,CAAC,MAAM,EAAE;YACZ,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,qRAAqR;SACrS,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACjB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,mCAAmC;YAChD,OAAO,EAAE,CAAC,CAAC;YACX,kBAAkB,EAAE,sDAAsD;SAC7E,CAAC;aACD,MAAM,CAAC,eAAe,EAAE;YACrB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,kFAAkF;SAClG,CAAC;aACD,MAAM,CAAC,yBAAyB,EAAE;YAC/B,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,oFAAoF;SACpG,CAAC;aACD,MAAM,CAAC,0BAA0B,EAAE;YAChC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,yFAAyF;SACzG,CAAC;aACD,MAAM,CAAC,wBAAwB,EAAE;YAC9B,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yJAAyJ;SACzK,CAAC;aACD,MAAM,CAAC,uBAAuB,EAAE;YAC7B,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+IAA+I;SAC/J,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACjB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,kHAAkH;SAClI,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACjB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,iCAAiC;SACjD,CAAC;aACD,MAAM,CAAC,sBAAsB,EAAE;YAC5B,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,sEAAsE;SACtF,CAAC;aACD,MAAM,CAAC,OAAO,EAAE;YACb,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,qCAAqC;SACrD,CAAC;aACD,MAAM,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,uEAAuE;SACvF,CAAC;aACD,MAAM,CAAC,cAAc,EAAE;YACpB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,6CAA6C;SAC7D,CAAC,CAAC;IACX,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,EACV,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EACrE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EACpD,gBAAgB,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAClF,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,uBAAuB,EAAE,wBAAwB,EACjF,sBAAsB,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EACnE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EACnD;QACG,IAAI;YACA,MAAM,OAAO,CAAC;gBACV,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS;gBAC3H,gBAAgB,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS;gBACnG,uBAAuB,EAAE,aAAa,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,SAAS;gBAC1H,SAAS,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY;aAC9D,CAAC,CAAC;SACN;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;YACzF,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnB;IACL,CAAC;CACJ,CAAC;AAGF,KAAK,UAAU,OAAO,CAAC,EACnB,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EACrI,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EACpI,IAAI,EAAE,SAAS,EAAE,uBAAuB,EAAE,aAAa,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,qBAAqB,EAChI,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAC5D;IACV,IAAI,WAAW,KAAK,CAAC,CAAC;QAAE,WAAW,GAAG,SAAS,CAAC;IAChD,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,SAAS,GAAG,SAAS,CAAC;IAE5C,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,CAAC,gBAAgB,CAAC;IAEzC,IAAI,KAAK;QACL,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,KAAK;QACvB,CAAC,CAAC,aAAa,CAAC,KAAK;QACrB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;IACzB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE;QACtC,QAAQ,EAAE,aAAa;KAC1B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,SAAS,IAAI,IAAI,CAAC;IAEvC,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAEjF,IAAI,UAAU;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAElC,IAAI,gBAAgB,IAAI,IAAI,IAAI,gBAAgB,KAAK,EAAE,EAAE;QACrD,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,KAAK,EAAE,IAAI,YAAY,KAAK,uBAAuB;YACvF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,6FAA6F,CAAC,CAAC,CAAC;QAE9H,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;KAC3F;IAED,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,EAAE,EAAE;QACzC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,EAAE;YAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,2EAA2E,CAAC,CAAC,CAAC;QAE5G,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;KAC/E;IAED,IAAI,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,GAAG,WAAW,EAAE;QACrE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,0FAA0F,CAAC,CAAC,CAAC;QACvH,SAAS,GAAG,WAAW,CAAC;KAC3B;IAED,IAAI,aAAa,GAAG,MAAM,IAAI,IAAI,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC;QAChC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;QACvC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAC5C,WAAW,EAAE,CAAC,KAAK;QACnB,UAAU,EAAE,KAAK;QACjB,yBAAyB,EAAE,IAAI;KAClC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE;QACzB,IAAI;YACA,OAAO,MAAM,KAAK,CAAC,SAAS,CAAC;gBACzB,SAAS,EAAE,iBAAiB;gBAC5B,SAAS,EAAE,SAAS,IAAI,IAAI;oBACxB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,WAAW,IAAI,IAAI;wBACjB,CAAC,CAAC,EAAC,UAAU,EAAE,EAAC,WAAW,EAAC,EAAC;wBAC7B,CAAC,CAAC,SAAS;gBACnB,wBAAwB,EAAE,SAAS,IAAI,IAAI;gBAC3C,cAAc,CAAC,YAAoB;oBAC/B,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAC9C,CAAC;gBACD,UAAU,EAAE,eAAe,CAAC,WAAW;aAC1C,CAAC,CAAC;SACN;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,KAAK,eAAe,CAAC,WAAW,EAAE,MAAM;gBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,MAAM,GAAG,CAAC;SACb;gBAAS;YACN,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,KAAK,EAAE;gBACxC,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;gBACzF,OAAO,CAAC,IAAI,EAAE,CAAC;aAClB;SACJ;IACL,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;QAC1B,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACvC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACtC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC;QAC5C,aAAa,EAAE,KAAK;KACvB,EAAE,KAAK,IAAI,EAAE;QACV,IAAI;YACA,OAAO,MAAM,KAAK,CAAC,aAAa,CAAC;gBAC7B,WAAW,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBAC1D,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBACpD,OAAO;gBACP,wBAAwB,EAAE,SAAS,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI;aACrE,CAAC,CAAC;SACN;gBAAS;YACN,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,KAAK,EAAE;gBACxC,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;gBACzF,OAAO,CAAC,IAAI,EAAE,CAAC;aAClB;SACJ;IACL,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,yBAAyB,IAAI,IAAI;QAC7C,CAAC,CAAC,IAAI,sBAAsB,CACxB,KAAK,EACL,MAAM,EAAE,CAAC,QAAQ,CACb,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,yBAAyB,CAAC,CACzD,CACJ;QACD,CAAC,CAAC,UAAU,KAAK,MAAM;YACnB,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;IACpB,MAAM,WAAW,GAAG,kBAAkB,CAAC;QACnC,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;QACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,OAAO;KACV,CAAC,IAAI,IAAI,kBAAkB,EAAE,CAAC;IAC/B,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;QACjC,eAAe;QACf,YAAY;QACZ,WAAW,EAAE,WAAW;KAC3B,CAAC,CAAC;IACH,IAAI,mBAAmB,GAAG,eAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAEhE,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;IAEzF,IAAI,UAAU,IAAI,MAAM,IAAI,yBAAyB,IAAI,IAAI;QACzD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kGAAkG,CAAC,CAAC,CAAC;IAEnI,IAAI,oBAAoB,IAAI,OAAO,IAAI,IAAI,EAAE;QACzC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,yEAAyE,CAAC,CAAC,CAAC;QACtG,oBAAoB,GAAG,KAAK,CAAC;KAChC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,oBAAoB,CAAC;QACjB,OAAO;QACP,cAAc,EAAE,QAAQ;QACxB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,YAAY;QACZ,iBAAiB,EAAE,KAAK;KAC3B,CAAC,CAAC;IACH,aAAa,CAAC;QACV,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,CAAC;gBACH,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,WAAW,CAAC,WAAW;aACjC,EAAE;gBACC,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,GAAG,aAAa,mBAAmB,uBAAuB,UAAU;aAC9E,EAAE;gBACC,IAAI,EAAE,sBAAsB,IAAI,IAAI;gBACpC,KAAK,EAAE,0BAA0B;gBACjC,KAAK,EAAE,MAAM,CAAC,sBAAsB,CAAC;aACxC,EAAE;gBACC,IAAI,EAAE,qBAAqB,IAAI,IAAI;gBACnC,KAAK,EAAE,yBAAyB;gBAChC,KAAK,EAAE,MAAM,CAAC,qBAAqB,CAAC;aACvC,EAAE;gBACC,IAAI,EAAE,CAAC,wBAAwB;gBAC/B,KAAK,EAAE,6BAA6B;gBACpC,KAAK,EAAE,UAAU;aACpB,EAAE;gBACC,IAAI,EAAE,yBAAyB,IAAI,IAAI;gBACvC,KAAK,EAAE,0BAA0B;gBACjC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,yBAAyB,IAAI,EAAE,CAAC,CAAC;aAC1G,EAAE;gBACC,IAAI,EAAE,yBAAyB,IAAI,IAAI,IAAI,UAAU,KAAK,MAAM;gBAChE,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,UAAU;aACpB,EAAE;gBACC,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,uBAAuB;gBAC9B,KAAK,EAAE,SAAS;aACnB,CAAC;KACL,CAAC,CAAC;IAEH,iDAAiD;IACjD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,SAAS,CAAC,CAAC;IAEnF,KAAK,UAAU,SAAS;QACpB,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE;SACvC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAW,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3F,EAAE,CAAC,KAAK,EAAE,CAAC;QAEX,OAAO,GAAG,CAAC;IACf,CAAC;IAED,iDAAiD;IACjD,OAAO,IAAI,EAAE;QACT,IAAI,kCAAkC,GAAG,KAAK,CAAC;QAC/C,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,aAAa,IAAI,IAAI;YAC/B,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC;QAExB,IAAI,aAAa,IAAI,IAAI,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YAC/C,aAAa,GAAG,IAAI,CAAC;SACxB;;YACG,MAAM,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,KAAK,KAAK,OAAO;YACjB,MAAM;QAEV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3C,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE;YACxB,OAAO,EAAE,OAAoB;YAC7B,WAAW;YACX,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,aAAa,EAAE;gBACX,OAAO,EAAE,aAAa;gBACtB,gBAAgB,EAAE,sBAAsB,IAAI,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS;gBACrF,eAAe,EAAE,qBAAqB,IAAI,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;gBAClF,eAAe,EAAE,wBAAwB;gBACzC,UAAU,EAAE,uBAAuB;aACtC;YACD,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC;gBACvB,CAAC,CAAC,OAAO,CAAC,WAAW;gBACrB,CAAC,CAAC,SAAS,IAAI,CAAC;oBACZ,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,SAAS;YACnB,OAAO,CAAC,KAAK;gBACT,IAAI,IAAI,GAAG,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACxD,kBAAkB,GAAG,EAAE,CAAC;gBAExB,IAAI,cAAc,EAAE;oBAChB,IAAI,CAAC,kCAAkC,EAAE;wBACrC,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;wBAExB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;4BACf,kCAAkC,GAAG,IAAI,CAAC;qBACjD;oBAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;oBAE1C,IAAI,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;wBACzC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;wBAC3D,IAAI,GAAG,kBAAkB,CAAC;qBAC7B;iBACJ;gBAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACD,SAAS,EAAE,CAAC,OAAO,IAAI,IAAI,IAAI,oBAAoB,CAAC;gBAChD,CAAC,CAAC,2BAA2B;gBAC7B,CAAC,CAAC,SAAS;YACf,oBAAoB,EAAE,cAAc;SACvC,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAI,YAAY,EAAE;YACd,IAAI,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC;gBAC5D,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC;YAExC,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;YAEzF,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC;SAClC;QAED,IAAI,KAAK,EAAE;YACP,MAAM,kBAAkB,GAAG,eAAe,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACjE,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;YAChF,mBAAmB,GAAG,kBAAkB,CAAC;YAEzC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC7K;KACJ;AACL,CAAC;AAED,MAAM,2BAA2B,GAAG;IAChC,OAAO,EAAE,yBAAyB,CAAC;QAC/B,WAAW,EAAE,2BAA2B;QACxC,OAAO;YACH,OAAO,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAC3C,CAAC;KACJ,CAAC;IACF,OAAO,EAAE,yBAAyB,CAAC;QAC/B,WAAW,EAAE,2BAA2B;QACxC,OAAO;YACH,OAAO,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAC3C,CAAC;KACJ,CAAC;CACL,CAAC"}
|