xinference 1.1.0__py3-none-any.whl → 1.2.0__py3-none-any.whl
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.
Potentially problematic release.
This version of xinference might be problematic. Click here for more details.
- xinference/_compat.py +2 -0
- xinference/_version.py +3 -3
- xinference/api/restful_api.py +72 -66
- xinference/core/model.py +78 -25
- xinference/core/supervisor.py +81 -10
- xinference/core/utils.py +12 -8
- xinference/core/worker.py +32 -0
- xinference/model/audio/core.py +5 -0
- xinference/model/audio/cosyvoice.py +25 -3
- xinference/model/audio/f5tts.py +15 -10
- xinference/model/audio/f5tts_mlx.py +260 -0
- xinference/model/audio/fish_speech.py +35 -111
- xinference/model/audio/model_spec.json +19 -3
- xinference/model/audio/model_spec_modelscope.json +9 -0
- xinference/model/audio/utils.py +32 -0
- xinference/model/image/core.py +69 -1
- xinference/model/image/model_spec.json +145 -4
- xinference/model/image/model_spec_modelscope.json +150 -4
- xinference/model/image/stable_diffusion/core.py +45 -13
- xinference/model/llm/__init__.py +2 -0
- xinference/model/llm/llm_family.json +143 -0
- xinference/model/llm/llm_family.py +15 -36
- xinference/model/llm/llm_family_modelscope.json +148 -0
- xinference/model/llm/mlx/core.py +37 -32
- xinference/model/llm/transformers/cogagent.py +272 -0
- xinference/model/llm/transformers/core.py +2 -0
- xinference/model/llm/transformers/qwen2_vl.py +12 -1
- xinference/model/llm/utils.py +28 -3
- xinference/model/llm/vllm/core.py +48 -9
- xinference/model/llm/vllm/xavier/__init__.py +13 -0
- xinference/model/llm/vllm/xavier/allocator.py +74 -0
- xinference/model/llm/vllm/xavier/block.py +112 -0
- xinference/model/llm/vllm/xavier/block_manager.py +71 -0
- xinference/model/llm/vllm/xavier/block_tracker.py +116 -0
- xinference/model/llm/vllm/xavier/engine.py +247 -0
- xinference/model/llm/vllm/xavier/executor.py +132 -0
- xinference/model/llm/vllm/xavier/scheduler.py +422 -0
- xinference/model/llm/vllm/xavier/test/__init__.py +13 -0
- xinference/model/llm/vllm/xavier/test/test_xavier.py +122 -0
- xinference/model/llm/vllm/xavier/transfer.py +298 -0
- xinference/model/video/diffusers.py +14 -0
- xinference/model/video/model_spec.json +15 -0
- xinference/model/video/model_spec_modelscope.json +16 -0
- xinference/thirdparty/cosyvoice/bin/average_model.py +92 -0
- xinference/thirdparty/cosyvoice/bin/export_jit.py +12 -2
- xinference/thirdparty/cosyvoice/bin/export_onnx.py +112 -0
- xinference/thirdparty/cosyvoice/bin/export_trt.sh +9 -0
- xinference/thirdparty/cosyvoice/bin/inference.py +5 -7
- xinference/thirdparty/cosyvoice/bin/train.py +42 -8
- xinference/thirdparty/cosyvoice/cli/cosyvoice.py +96 -25
- xinference/thirdparty/cosyvoice/cli/frontend.py +77 -30
- xinference/thirdparty/cosyvoice/cli/model.py +330 -80
- xinference/thirdparty/cosyvoice/dataset/dataset.py +6 -2
- xinference/thirdparty/cosyvoice/dataset/processor.py +76 -14
- xinference/thirdparty/cosyvoice/flow/decoder.py +92 -13
- xinference/thirdparty/cosyvoice/flow/flow.py +99 -9
- xinference/thirdparty/cosyvoice/flow/flow_matching.py +110 -13
- xinference/thirdparty/cosyvoice/flow/length_regulator.py +5 -4
- xinference/thirdparty/cosyvoice/hifigan/discriminator.py +140 -0
- xinference/thirdparty/cosyvoice/hifigan/generator.py +58 -42
- xinference/thirdparty/cosyvoice/hifigan/hifigan.py +67 -0
- xinference/thirdparty/cosyvoice/llm/llm.py +139 -6
- xinference/thirdparty/cosyvoice/tokenizer/assets/multilingual_zh_ja_yue_char_del.tiktoken +58836 -0
- xinference/thirdparty/cosyvoice/tokenizer/tokenizer.py +279 -0
- xinference/thirdparty/cosyvoice/transformer/embedding.py +2 -2
- xinference/thirdparty/cosyvoice/transformer/encoder_layer.py +7 -7
- xinference/thirdparty/cosyvoice/transformer/upsample_encoder.py +318 -0
- xinference/thirdparty/cosyvoice/utils/common.py +28 -1
- xinference/thirdparty/cosyvoice/utils/executor.py +69 -7
- xinference/thirdparty/cosyvoice/utils/file_utils.py +2 -12
- xinference/thirdparty/cosyvoice/utils/frontend_utils.py +9 -5
- xinference/thirdparty/cosyvoice/utils/losses.py +20 -0
- xinference/thirdparty/cosyvoice/utils/scheduler.py +1 -2
- xinference/thirdparty/cosyvoice/utils/train_utils.py +101 -45
- xinference/thirdparty/fish_speech/fish_speech/conversation.py +94 -83
- xinference/thirdparty/fish_speech/fish_speech/models/text2semantic/llama.py +63 -20
- xinference/thirdparty/fish_speech/fish_speech/text/clean.py +1 -26
- xinference/thirdparty/fish_speech/fish_speech/text/spliter.py +1 -1
- xinference/thirdparty/fish_speech/fish_speech/tokenizer.py +152 -0
- xinference/thirdparty/fish_speech/fish_speech/train.py +2 -2
- xinference/thirdparty/fish_speech/fish_speech/webui/manage.py +1 -1
- xinference/thirdparty/fish_speech/tools/{post_api.py → api_client.py} +7 -13
- xinference/thirdparty/fish_speech/tools/api_server.py +98 -0
- xinference/thirdparty/fish_speech/tools/download_models.py +5 -5
- xinference/thirdparty/fish_speech/tools/fish_e2e.py +2 -2
- xinference/thirdparty/fish_speech/tools/inference_engine/__init__.py +192 -0
- xinference/thirdparty/fish_speech/tools/inference_engine/reference_loader.py +125 -0
- xinference/thirdparty/fish_speech/tools/inference_engine/utils.py +39 -0
- xinference/thirdparty/fish_speech/tools/inference_engine/vq_manager.py +57 -0
- xinference/thirdparty/fish_speech/tools/llama/eval_in_context.py +2 -2
- xinference/thirdparty/fish_speech/tools/llama/generate.py +117 -89
- xinference/thirdparty/fish_speech/tools/run_webui.py +104 -0
- xinference/thirdparty/fish_speech/tools/schema.py +11 -28
- xinference/thirdparty/fish_speech/tools/server/agent/__init__.py +57 -0
- xinference/thirdparty/fish_speech/tools/server/agent/generate.py +119 -0
- xinference/thirdparty/fish_speech/tools/server/agent/generation_utils.py +122 -0
- xinference/thirdparty/fish_speech/tools/server/agent/pre_generation_utils.py +72 -0
- xinference/thirdparty/fish_speech/tools/server/api_utils.py +75 -0
- xinference/thirdparty/fish_speech/tools/server/exception_handler.py +27 -0
- xinference/thirdparty/fish_speech/tools/server/inference.py +45 -0
- xinference/thirdparty/fish_speech/tools/server/model_manager.py +122 -0
- xinference/thirdparty/fish_speech/tools/server/model_utils.py +129 -0
- xinference/thirdparty/fish_speech/tools/server/views.py +246 -0
- xinference/thirdparty/fish_speech/tools/webui/__init__.py +173 -0
- xinference/thirdparty/fish_speech/tools/webui/inference.py +91 -0
- xinference/thirdparty/fish_speech/tools/webui/variables.py +14 -0
- xinference/thirdparty/matcha/utils/utils.py +2 -2
- xinference/types.py +13 -0
- xinference/web/ui/build/asset-manifest.json +6 -6
- xinference/web/ui/build/index.html +1 -1
- xinference/web/ui/build/static/css/main.51a587ff.css +2 -0
- xinference/web/ui/build/static/css/main.51a587ff.css.map +1 -0
- xinference/web/ui/build/static/js/main.1eb206d1.js +3 -0
- xinference/web/ui/build/static/js/main.1eb206d1.js.map +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/03c4052f1b91f6ba0c5389bdcf49c43319b4076c08e4b8585dab312538ae290a.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/1786b83003b8e9605a0f5f855a185d4d16e38fc893dfb326a2a9cca206b4240a.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/17cbc181dd674b9150b80c73ed6a82656de0082d857f6e5f66d9716129ac0b38.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/185ceb8872d562e032b47e79df6a45670e06345b8ed70aad1a131e0476783c5c.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/2213d49de260e1f67c888081b18f120f5225462b829ae57c9e05a05cec83689d.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/26b8c9f34b0bed789b3a833767672e39302d1e0c09b4276f4d58d1df7b6bd93b.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/2b484da66c724d0d56a40849c109327408796a668b1381511b6e9e03baa48658.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/2cbbbce9b84df73330d4c42b82436ed881b3847628f2fbc346aa62e2859fd88c.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/2ec9b14431ed33ce6901bf9f27007be4e6e472709c99d6e22b50ce528e4b78ee.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/3b966db018f96be4a055d6ca205f0990d4d0b370e2980c17d8bca2c9a021819c.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/3eefb411b24c2b3ce053570ef50daccf154022f0e168be5ed0fec21394baf9f4.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/522b229e3cac219123f0d69673f5570e191c2d2a505dc65b312d336eae2279c0.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/52e45f17ba300580ea3fcc9f9228ccba194bb092b76f25e9255af311f8b05aab.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/5a0bc4631f936459afc1a3b1d3ec2420118b1f00e11f60ccac3e08088f3f27a8.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/611fa2c6c53b66039991d06dfb0473b5ab37fc63b4564e0f6e1718523768a045.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/6329bc76c406fe5eb305412383fbde5950f847bb5e43261f73f37622c365acb4.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/63c8e07687ea53a4f8a910ee5e42e0eb26cd1acbfbe820f3e3248a786ee51401.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/69b2d5001684174ec9da57e07914eed3eac4960018bceb6cbfa801d861301d7c.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/710c1acda69e561e30a933b98c6a56d50197868b15c21e2aad55ab6d46649eb6.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/720deca1fce5a1dc5056048fa8258fd138a82ea855f350b6613f104a73fb761f.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/76a23b92d26a499c57e61eea2b895fbc9771bd0849a72e66f8e633192017978b.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/858063f23b34dfe600254eb5afd85518b0002ec4b30b7386616c45600826e3b2.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/920b82c1c89124cf217109eeedbfcd3aae3b917be50c9dfb6bbb4ce26bdfd2e7.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/94d8b7aeb0076f2ce07db598cea0e87b13bc8d5614eb530b8d6e696c2daf6f88.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/9e917fe7022d01b2ccbe5cc0ce73d70bb72bee584ff293bad71bdff6695dee28.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/9f28fdb8399f1d0474f0aca86f1658dc94f5bf0c90f6146352de150692de8862.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/a0dfafa06b2bb7cba8cad41c482503f61944f759f4318139362602ef5cc47ccb.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/afb8084f539534cd594755ea2205ecd5bd1f62dddcfdf75a2eace59a28131278.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/b57b1438b77294c1f3f6cfce12ac487d8106c6f016975ba0aec94d98997e2e1e.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/b9917b0bf8e4d55ccbac1c334aa04d6ff3c5b6ed9e5d38b9ea2c687fa7d3f5a9.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/bbcc94b0149963d1d6f267ee1f4f03d3925b758392ce2f516c3fe8af0e0169fc.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/bdee44abeadc4abc17d41c52eb49c6e19a4b1a267b6e16876ce91bdeeebfc52d.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/beb112b70f4a56db95920a9e20efb6c97c37b68450716730217a9ee1a9ae92be.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/c88db97be0cdf440193b3995996e83510a04cb00048135485fc0e26d197e80b5.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/d49e5314d34310a62d01a03067ce1bec5da00abce84c5196aa9c6842fa79a430.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/d7664d18c4ddbad9c3a6a31b91f7c00fb0dde804608674a9860ee50f33e54708.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/d9072c318b819b7c90a0f7e9cc0b6413b4dbeb8e9859898e53d75ea882fcde99.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/db16a983bc08a05f0439cc61ca0840e49e1d8400eef678909f16c032a418a3d6.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/dc249829767b8abcbc3677e0b07b6d3ecbfdfe6d08cfe23a665eb33373a9aa9d.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/e242c583c2dbc2784f0fcf513523975f7d5df447e106c1c17e49e8578a6fc3ed.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/eac5f1296513e69e4b96f750ddccd4d0264e2bae4e4c449144e83274a48698d9.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/ed57202cb79649bb716400436590245547df241988fc7c8e1d85d132299542d2.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/f125bf72e773a14cdaebd0c343e80adb909d12e317ee5c00cd4a57442fbe2c62.json +1 -0
- xinference/web/ui/node_modules/.cache/babel-loader/f91af913d7f91c410719ab13136aaed3aaf0f8dda06652f25c42cb5231587398.json +1 -0
- xinference/web/ui/node_modules/.package-lock.json +67 -3
- xinference/web/ui/node_modules/@babel/runtime/package.json +592 -538
- xinference/web/ui/node_modules/html-parse-stringify/package.json +50 -0
- xinference/web/ui/node_modules/i18next/dist/esm/package.json +1 -0
- xinference/web/ui/node_modules/i18next/package.json +129 -0
- xinference/web/ui/node_modules/react-i18next/.eslintrc.json +74 -0
- xinference/web/ui/node_modules/react-i18next/dist/es/package.json +1 -0
- xinference/web/ui/node_modules/react-i18next/package.json +162 -0
- xinference/web/ui/node_modules/void-elements/package.json +34 -0
- xinference/web/ui/package-lock.json +69 -3
- xinference/web/ui/package.json +2 -0
- xinference/web/ui/src/locales/en.json +186 -0
- xinference/web/ui/src/locales/zh.json +186 -0
- {xinference-1.1.0.dist-info → xinference-1.2.0.dist-info}/METADATA +19 -11
- {xinference-1.1.0.dist-info → xinference-1.2.0.dist-info}/RECORD +178 -111
- xinference/thirdparty/cosyvoice/bin/__init__.py +0 -0
- xinference/thirdparty/cosyvoice/bin/export_trt.py +0 -8
- xinference/thirdparty/cosyvoice/flow/__init__.py +0 -0
- xinference/thirdparty/cosyvoice/hifigan/__init__.py +0 -0
- xinference/thirdparty/cosyvoice/llm/__init__.py +0 -0
- xinference/thirdparty/fish_speech/tools/__init__.py +0 -0
- xinference/thirdparty/fish_speech/tools/api.py +0 -943
- xinference/thirdparty/fish_speech/tools/msgpack_api.py +0 -95
- xinference/thirdparty/fish_speech/tools/webui.py +0 -548
- xinference/web/ui/build/static/css/main.5061c4c3.css +0 -2
- xinference/web/ui/build/static/css/main.5061c4c3.css.map +0 -1
- xinference/web/ui/build/static/js/main.4eb4ee80.js +0 -3
- xinference/web/ui/build/static/js/main.4eb4ee80.js.map +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/07ce9e632e6aff24d7aa3ad8e48224433bbfeb0d633fca723453f1fcae0c9f1c.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/1130403f9e46f5738a23b45ac59b57de8f360c908c713e2c0670c2cce9bd367a.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/131091b25d26b17cdca187d7542a21475c211138d900cf667682260e76ef9463.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/1f269fb2a368363c1cb2237825f1dba093b6bdd8c44cc05954fd19ec2c1fff03.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/331312668fa8bd3d7401818f4a25fa98135d7f61371cd6bfff78b18cf4fbdd92.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/40f17338fc75ae095de7d2b4d8eae0d5ca0193a7e2bcece4ee745b22a7a2f4b7.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/4de9a6942c5f1749d6cbfdd54279699975f16016b182848bc253886f52ec2ec3.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/822586ed1077201b64b954f12f25e3f9b45678c1acbabe53d8af3ca82ca71f33.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/8c5eeb02f772d02cbe8b89c05428d0dd41a97866f75f7dc1c2164a67f5a1cf98.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/8d33354bd2100c8602afc3341f131a88cc36aaeecd5a4b365ed038514708e350.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/9375a35b05d56989b2755bf72161fa707c92f28569d33765a75f91a568fda6e9.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/a158a9ffa0c9b169aee53dd4a0c44501a596755b4e4f6ede7746d65a72e2a71f.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/c7bf40bab396765f67d0fed627ed3665890608b2d0edaa3e8cb7cfc96310db45.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/d6c643278a0b28320e6f33a60f5fb64c053997cbdc39a60e53ccc574688ade9e.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/e42b72d4cc1ea412ebecbb8d040dc6c6bfee462c33903c2f1f3facb602ad742e.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/e64b7e8cedcf43d4c95deba60ec1341855c887705805bb62431693118b870c69.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/f5039ddbeb815c51491a1989532006b96fc3ae49c6c60e3c097f875b4ae915ae.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/f72f011744c4649fabddca6f7a9327861ac0a315a89b1a2e62a39774e7863845.json +0 -1
- xinference/web/ui/node_modules/.cache/babel-loader/feabb04b4aa507102da0a64398a40818e878fd1df9b75dda8461b3e1e7ff3f11.json +0 -1
- /xinference/web/ui/build/static/js/{main.4eb4ee80.js.LICENSE.txt → main.1eb206d1.js.LICENSE.txt} +0 -0
- {xinference-1.1.0.dist-info → xinference-1.2.0.dist-info}/LICENSE +0 -0
- {xinference-1.1.0.dist-info → xinference-1.2.0.dist-info}/WHEEL +0 -0
- {xinference-1.1.0.dist-info → xinference-1.2.0.dist-info}/entry_points.txt +0 -0
- {xinference-1.1.0.dist-info → xinference-1.2.0.dist-info}/top_level.txt +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"ast":null,"code":"import _toConsumableArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";import _defineProperty from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";import _objectSpread from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _regeneratorRuntime from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js\";import _asyncToGenerator from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import'./styles/registerModelStyle.css';import Cancel from'@mui/icons-material/Cancel';import CheckCircleIcon from'@mui/icons-material/CheckCircle';import KeyboardDoubleArrowRightIcon from'@mui/icons-material/KeyboardDoubleArrowRight';import NotesIcon from'@mui/icons-material/Notes';import OpenInFullIcon from'@mui/icons-material/OpenInFull';import{Alert,Autocomplete,Box,Button,Checkbox,Chip,Dialog,DialogActions,DialogContent,DialogTitle,FormControl,FormControlLabel,InputLabel,MenuItem,Radio,RadioGroup,Select,Stack,Switch,TextField,Tooltip}from'@mui/material';import nunjucks from'nunjucks';import React,{useContext,useEffect,useRef,useState}from'react';import{useCookies}from'react-cookie';import{useNavigate,useParams}from'react-router-dom';import{ApiContext}from'../../components/apiContext';import CopyComponent from'../../components/copyComponent/copyComponent';import fetchWrapper from'../../components/fetchWrapper';import{isValidBearerToken}from'../../components/utils';import AddControlnet from'./components/addControlnet';import AddModelSpecs from'./components/addModelSpecs';import AddStop from'./components/addStop';import languages from'./data/languages';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";import{Fragment as _Fragment}from\"react/jsx-runtime\";var SUPPORTED_LANGUAGES_DICT={en:'English',zh:'Chinese'};var SUPPORTED_FEATURES=['Generate','Chat','Vision','Tools'];var messages=[{role:'assistant',content:'This is the message content replied by the assistant previously'},{role:'user',content:'This is the message content sent by the user currently'}];// Convert dictionary of supported languages into list\nvar SUPPORTED_LANGUAGES=Object.keys(SUPPORTED_LANGUAGES_DICT);var RegisterModelComponent=function RegisterModelComponent(_ref){var _formData$model_abili3,_formData$model_abili4,_formData$model_abili5,_formData$model_lang,_formData$language,_formData$model_abili6;var modelType=_ref.modelType,customData=_ref.customData;var endPoint=useContext(ApiContext).endPoint;var _useContext=useContext(ApiContext),setErrorMsg=_useContext.setErrorMsg;var _useState=useState(customData),_useState2=_slicedToArray(_useState,2),formData=_useState2[0],setFormData=_useState2[1];var _useState3=useState([]),_useState4=_slicedToArray(_useState3,2),promptStyles=_useState4[0],setPromptStyles=_useState4[1];var _useState5=useState({}),_useState6=_slicedToArray(_useState5,2),family=_useState6[0],setFamily=_useState6[1];var _useState7=useState([]),_useState8=_slicedToArray(_useState7,2),languagesArr=_useState8[0],setLanguagesArr=_useState8[1];var _useState9=useState(false),_useState10=_slicedToArray(_useState9,2),isContextLengthAlert=_useState10[0],setIsContextLengthAlert=_useState10[1];var _useState11=useState(false),_useState12=_slicedToArray(_useState11,2),isDimensionsAlert=_useState12[0],setIsDimensionsAlert=_useState12[1];var _useState13=useState(false),_useState14=_slicedToArray(_useState13,2),isMaxTokensAlert=_useState14[0],setIsMaxTokensAlert=_useState14[1];var _useState15=useState(''),_useState16=_slicedToArray(_useState15,2),jsonData=_useState16[0],setJsonData=_useState16[1];var _useState17=useState(false),_useState18=_slicedToArray(_useState17,2),isSpecsArrError=_useState18[0],setIsSpecsArrError=_useState18[1];var _useState19=useState(false),_useState20=_slicedToArray(_useState19,2),isValidLauncherArgsAlert=_useState20[0],setIsValidLauncherArgsAlert=_useState20[1];var scrollRef=useRef(null);var _useCookies=useCookies(['token']),_useCookies2=_slicedToArray(_useCookies,1),cookie=_useCookies2[0];var navigate=useNavigate();var _useParams=useParams(),registerModelType=_useParams.registerModelType,model_name=_useParams.model_name;var _useState21=useState(model_name?true:false),_useState22=_slicedToArray(_useState21,2),isShow=_useState22[0],setIsShow=_useState22[1];var _useState23=useState(model_name?JSON.parse(sessionStorage.getItem('customJsonData')).model_specs:[]),_useState24=_slicedToArray(_useState23,2),specsArr=_useState24[0],setSpecsArr=_useState24[1];var _useState25=useState(model_name?JSON.parse(sessionStorage.getItem('customJsonData')).controlnet:[]),_useState26=_slicedToArray(_useState25,2),controlnetArr=_useState26[0],setControlnetArr=_useState26[1];var _useState27=useState({}),_useState28=_slicedToArray(_useState27,2),contrastObj=_useState28[0],setContrastObj=_useState28[1];var _useState29=useState(true),_useState30=_slicedToArray(_useState29,2),isEqual=_useState30[0],setIsEqual=_useState30[1];var _useState31=useState(''),_useState32=_slicedToArray(_useState31,2),testRes=_useState32[0],setTestRes=_useState32[1];var _useState33=useState(false),_useState34=_slicedToArray(_useState33,2),isOpenMessages=_useState34[0],setIsOpenMessages=_useState34[1];var _useState35=useState(''),_useState36=_slicedToArray(_useState35,2),testErrorInfo=_useState36[0],setTestErrorInfo=_useState36[1];var _useState37=useState(false),_useState38=_slicedToArray(_useState37,2),isStopTokenIdsAlert=_useState38[0],setIsStopTokenIdsAlert=_useState38[1];var _useState39=useState([]),_useState40=_slicedToArray(_useState39,2),familyOptions=_useState40[0],setFamilyOptions=_useState40[1];var _useState41=useState(true),_useState42=_slicedToArray(_useState41,2),isEditableFamily=_useState42[0],setIsEditableFamily=_useState42[1];useEffect(function(){if(model_name){var data=JSON.parse(sessionStorage.getItem('customJsonData'));if(modelType==='LLM'){var lagArr=data.model_lang.filter(function(item){return item!=='en'&&item!=='zh';});setLanguagesArr(lagArr);var version=data.version,_model_name=data.model_name,model_description=data.model_description,context_length=data.context_length,model_lang=data.model_lang,model_ability=data.model_ability,model_family=data.model_family,model_specs=data.model_specs,chat_template=data.chat_template,stop_token_ids=data.stop_token_ids,stop=data.stop;var specsDataArr=model_specs.map(function(item){var model_uri=item.model_uri,model_size_in_billions=item.model_size_in_billions,model_format=item.model_format,quantizations=item.quantizations,model_file_name_template=item.model_file_name_template;return{model_uri:model_uri,model_size_in_billions:model_size_in_billions,model_format:model_format,quantizations:quantizations,model_file_name_template:model_file_name_template};});var llmData={version:version,model_name:_model_name,model_description:model_description,context_length:context_length,model_lang:model_lang,model_ability:model_ability,model_family:model_family,model_specs:specsDataArr,chat_template:chat_template,stop_token_ids:stop_token_ids,stop:stop};setFormData(llmData);setContrastObj(llmData);setSpecsArr(specsDataArr);}else{if(modelType==='embedding'){var _lagArr=data.language.filter(function(item){return item!=='en'&&item!=='zh';});setLanguagesArr(_lagArr);var _model_name2=data.model_name,dimensions=data.dimensions,max_tokens=data.max_tokens,model_uri=data.model_uri,language=data.language;var embeddingData={model_name:_model_name2,dimensions:dimensions,max_tokens:max_tokens,model_uri:model_uri,language:language};setFormData(embeddingData);setContrastObj(embeddingData);}else if(modelType==='rerank'){var _lagArr2=data.language.filter(function(item){return item!=='en'&&item!=='zh';});setLanguagesArr(_lagArr2);var _model_name3=data.model_name,_model_uri=data.model_uri,_language=data.language;var rerankData={model_name:_model_name3,model_uri:_model_uri,language:_language};setFormData(rerankData);setContrastObj(rerankData);}else if(modelType==='image'){var _model_name4=data.model_name,_model_uri2=data.model_uri,_model_family=data.model_family,controlnet=data.controlnet;var _controlnetArr=controlnet.map(function(item){var model_name=item.model_name,model_uri=item.model_uri,model_family=item.model_family;return{model_name:model_name,model_uri:model_uri,model_family:model_family};});var imageData={model_name:_model_name4,model_uri:_model_uri2,model_family:_model_family,controlnet:_controlnetArr};setFormData(imageData);setContrastObj(imageData);setControlnetArr(_controlnetArr);}else if(modelType==='audio'){var _model_name5=data.model_name,_model_uri3=data.model_uri,multilingual=data.multilingual,_model_family2=data.model_family;var audioData={model_name:_model_name5,model_uri:_model_uri3,multilingual:multilingual,model_family:_model_family2};setFormData(audioData);setContrastObj(audioData);}else if(modelType==='flexible'){var _model_name6=data.model_name,_model_uri4=data.model_uri,_model_description=data.model_description,launcher=data.launcher,launcher_args=data.launcher_args;var flexibleData={model_name:_model_name6,model_uri:_model_uri4,model_description:_model_description,launcher:launcher,launcher_args:launcher_args};setFormData(flexibleData);setContrastObj(flexibleData);}}}},[model_name]);useEffect(function(){if(sessionStorage.getItem('auth')==='true'&&!isValidBearerToken(sessionStorage.getItem('token'))&&!isValidBearerToken(cookie.token)){navigate('/login',{replace:true});return;}var getBuiltinFamilies=/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var response,errorData,data,key;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return fetch(endPoint+'/v1/models/families',{method:'GET',headers:{'Content-Type':'application/json'}});case 2:response=_context.sent;if(response.ok){_context.next=10;break;}_context.next=6;return response.json();case 6:errorData=_context.sent;// Assuming the server returns error details in JSON format\nsetErrorMsg(\"Server error: \".concat(response.status,\" - \").concat(errorData.detail||'Unknown error'));_context.next=15;break;case 10:_context.next=12;return response.json();case 12:data=_context.sent;for(key in data){data[key]=data[key].sort(function(a,b){var lowerA=a.toLowerCase();var lowerB=b.toLowerCase();if(lowerA<lowerB){return-1;}if(lowerA>lowerB){return 1;}return 0;});}setFamily(data);case 15:case\"end\":return _context.stop();}},_callee);}));return function getBuiltinFamilies(){return _ref2.apply(this,arguments);};}();var getBuiltInPromptStyles=/*#__PURE__*/function(){var _ref3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(){var response,errorData,data,res,key,v;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return fetch(endPoint+'/v1/models/prompts',{method:'GET',headers:{'Content-Type':'application/json'}});case 2:response=_context2.sent;if(response.ok){_context2.next=10;break;}_context2.next=6;return response.json();case 6:errorData=_context2.sent;// Assuming the server returns error details in JSON format\nsetErrorMsg(\"Server error: \".concat(response.status,\" - \").concat(errorData.detail||'Unknown error'));_context2.next=16;break;case 10:_context2.next=12;return response.json();case 12:data=_context2.sent;res=[];for(key in data){v=data[key];v['name']=key;res.push(v);}setPromptStyles(res);case 16:case\"end\":return _context2.stop();}},_callee2);}));return function getBuiltInPromptStyles(){return _ref3.apply(this,arguments);};}();if(Object.prototype.hasOwnProperty.call(customData,'model_ability')&&Object.prototype.hasOwnProperty.call(customData,'model_family')){if(promptStyles.length===0){getBuiltInPromptStyles().catch(function(error){setErrorMsg(error.message||'An unexpected error occurred when getting builtin prompt styles.');console.error('Error: ',error);});}if((family===null||family===void 0?void 0:family.chat)===undefined){getBuiltinFamilies().catch(function(error){setErrorMsg(error.message||'An unexpected error occurred when getting builtin prompt styles.');console.error('Error: ',error);});}}},[cookie.token]);useEffect(function(){var _family$chat;setJsonData(JSON.stringify(formData,customReplacer,4));if(contrastObj.model_name){deepEqual(contrastObj,formData)?setIsEqual(true):setIsEqual(false);}if(family!==null&&family!==void 0&&(_family$chat=family.chat)!==null&&_family$chat!==void 0&&_family$chat.length)handleFamilyOptions(formData.model_ability);},[formData]);useEffect(function(){var _family$chat2;if(family!==null&&family!==void 0&&(_family$chat2=family.chat)!==null&&_family$chat2!==void 0&&_family$chat2.length)handleFamilyOptions(formData.model_ability);},[family]);var customReplacer=function customReplacer(key,value){if(key==='chat_template'&&value){return value.replace(/\\\\n/g,'\\n');}return value;};var handleClick=/*#__PURE__*/function(){var _ref4=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var key,type;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.t0=_regeneratorRuntime().keys(formData);case 1:if((_context3.t1=_context3.t0()).done){_context3.next=9;break;}key=_context3.t1.value;type=Object.prototype.toString.call(formData[key]).slice(8,-1);if(!(key!=='model_description'&&(type==='Array'&&key!=='controlnet'&&key!=='stop_token_ids'&&key!=='stop'&&formData[key].length===0||type==='String'&&formData[key]===''||type==='Number'&&formData[key]<=0))){_context3.next=7;break;}setErrorMsg('Please fill in valid value for all fields');return _context3.abrupt(\"return\");case 7:_context3.next=1;break;case 9:if(!(isSpecsArrError||isContextLengthAlert||isDimensionsAlert||isMaxTokensAlert)){_context3.next=12;break;}setErrorMsg('Please fill in valid value for all fields');return _context3.abrupt(\"return\");case 12:try{fetchWrapper.post(\"/v1/model_registrations/\".concat(modelType),{model:JSON.stringify(formData,customReplacer),persist:true}).then(function(){navigate(\"/launch_model/custom/\".concat(modelType.toLowerCase()));sessionStorage.setItem('modelType','/launch_model/custom/llm');sessionStorage.setItem('subType',\"/launch_model/custom/\".concat(modelType.toLowerCase()));}).catch(function(error){console.error('Error:',error);if(error.response.status!==403&&error.response.status!==401){setErrorMsg(error.message);}});}catch(error){console.error('There was a problem with the fetch operation:',error);setErrorMsg(error.message||'An unexpected error occurred.');}case 13:case\"end\":return _context3.stop();}},_callee3);}));return function handleClick(){return _ref4.apply(this,arguments);};}();var handleNumber=function handleNumber(value,parameterName){setIsContextLengthAlert(false);setIsDimensionsAlert(false);setIsMaxTokensAlert(false);setFormData(_objectSpread(_objectSpread({},formData),{},_defineProperty({},parameterName,value)));if(value!==''&&(!Number(value)||Number(value)<=0||parseInt(value)!==parseFloat(value))){parameterName==='context_length'?setIsContextLengthAlert(true):'';parameterName==='dimensions'?setIsDimensionsAlert(true):'';parameterName==='max_tokens'?setIsMaxTokensAlert(true):'';}else if(value!==''){setFormData(_objectSpread(_objectSpread({},formData),{},_defineProperty({},parameterName,Number(value))));}};var toggleLanguage=function toggleLanguage(lang){if(modelType==='LLM'){if(formData.model_lang.includes(lang)){setFormData(_objectSpread(_objectSpread({},formData),{},{model_lang:formData.model_lang.filter(function(l){return l!==lang;})}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{model_lang:[].concat(_toConsumableArray(formData.model_lang),[lang])}));}}else{if(formData.language.includes(lang)){setFormData(_objectSpread(_objectSpread({},formData),{},{language:formData.language.filter(function(l){return l!==lang;})}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{language:[].concat(_toConsumableArray(formData.language),[lang])}));}}};var toggleAbility=function toggleAbility(ability){var obj=JSON.parse(JSON.stringify(formData));if(formData.model_ability.includes(ability)){delete obj.chat_template;delete obj.stop_token_ids;delete obj.stop;setFormData(_objectSpread(_objectSpread({},obj),{},{model_ability:formData.model_ability.filter(function(item){if(ability==='chat'){return item!=='chat'&&item!=='vision'&&item!=='tools';}return item!==ability;}),model_family:''}));}else{var model_ability=[];if(ability==='chat'||['vision','tools'].includes(ability)&&!formData.model_ability.includes('chat')){var _family$chat3;if(formData.model_family!==''&&family!==null&&family!==void 0&&(_family$chat3=family.chat)!==null&&_family$chat3!==void 0&&_family$chat3.includes(formData.model_family)){var _data$,_data$2,_data$3;var data=promptStyles.filter(function(item){return item.name===formData.model_family;});obj.chat_template=((_data$=data[0])===null||_data$===void 0?void 0:_data$.chat_template)||null;obj.stop_token_ids=((_data$2=data[0])===null||_data$2===void 0?void 0:_data$2.stop_token_ids)||[];obj.stop=((_data$3=data[0])===null||_data$3===void 0?void 0:_data$3.stop)||[];}else{obj.chat_template='';obj.stop_token_ids=[];obj.stop=[];}ability==='chat'?model_ability=[].concat(_toConsumableArray(formData.model_ability),[ability]):model_ability=[].concat(_toConsumableArray(formData.model_ability),['chat',ability]);}else{if(ability==='vision'&&formData.model_ability.includes('tools')){model_ability=[].concat(_toConsumableArray(formData.model_ability.filter(function(item){return item!=='tools';})),['chat',ability]);}else if(ability==='tools'&&formData.model_ability.includes('vision')){model_ability=[].concat(_toConsumableArray(formData.model_ability.filter(function(item){return item!=='vision';})),['chat',ability]);}else{model_ability=[].concat(_toConsumableArray(formData.model_ability),[ability]);}}delete obj.chat_template;delete obj.stop_token_ids;delete obj.stop;setFormData(_objectSpread(_objectSpread({},obj),{},{model_family:'',model_ability:model_ability}));}};var handleFamily=function handleFamily(value){if(formData.model_ability.includes('chat')){var _family$chat4;if(family!==null&&family!==void 0&&(_family$chat4=family.chat)!==null&&_family$chat4!==void 0&&_family$chat4.includes(value)){var _data$4,_data$5,_data$6;var data=promptStyles.filter(function(item){return item.name===value;});setFormData(_objectSpread(_objectSpread({},formData),{},{model_family:value,chat_template:((_data$4=data[0])===null||_data$4===void 0?void 0:_data$4.chat_template)||null,stop_token_ids:((_data$5=data[0])===null||_data$5===void 0?void 0:_data$5.stop_token_ids)||[],stop:((_data$6=data[0])===null||_data$6===void 0?void 0:_data$6.stop)||[]}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{model_family:value,chat_template:'',stop_token_ids:[],stop:[]}));}}else{setFormData(_objectSpread(_objectSpread({},formData),{},{model_family:value}));}};var handleSelectLanguages=function handleSelectLanguages(value){var arr=[].concat(_toConsumableArray(languagesArr),[value]);setLanguagesArr(arr);if(modelType==='LLM'){setFormData(_objectSpread(_objectSpread({},formData),{},{model_lang:Array.from(new Set([].concat(_toConsumableArray(formData.model_lang),_toConsumableArray(arr))))}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{language:Array.from(new Set([].concat(_toConsumableArray(formData.language),_toConsumableArray(arr))))}));}};var handleDeleteLanguages=function handleDeleteLanguages(item){var arr=languagesArr.filter(function(subItem){return subItem!==item;});setLanguagesArr(arr);if(modelType==='LLM'){setFormData(_objectSpread(_objectSpread({},formData),{},{model_lang:formData.model_lang.filter(function(subItem){return subItem!==item;})}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{language:formData.language.filter(function(subItem){return subItem!==item;})}));}};var getSpecsArr=function getSpecsArr(arr,isSpecsArrError){setFormData(_objectSpread(_objectSpread({},formData),{},{model_specs:arr}));setIsSpecsArrError(isSpecsArrError);};var getControlnetArr=function getControlnetArr(arr){setFormData(_objectSpread(_objectSpread({},formData),{},{controlnet:arr}));};var handleCancel=function handleCancel(){navigate(\"/launch_model/custom/\".concat(registerModelType));};var handleEdit=function handleEdit(){fetchWrapper.delete(\"/v1/model_registrations/\".concat(registerModelType==='llm'?'LLM':registerModelType,\"/\").concat(model_name)).then(function(){return handleClick();}).catch(function(error){console.error('Error:',error);if(error.response.status!==403&&error.response.status!==401){setErrorMsg(error.message);}});};var deepEqual=function deepEqual(obj1,obj2){if(obj1===obj2)return true;if(typeof obj1!=='object'||typeof obj2!=='object'||obj1==null||obj2==null){return false;}var keysA=Object.keys(obj1);var keysB=Object.keys(obj2);if(keysA.length!==keysB.length)return false;for(var _i=0,_keysA=keysA;_i<_keysA.length;_i++){var key=_keysA[_i];if(!keysB.includes(key)||!deepEqual(obj1[key],obj2[key])){return false;}}return true;};var handleTest=function handleTest(){setTestRes('');if(formData.chat_template){try{nunjucks.configure({autoescape:false});var test_res=nunjucks.renderString(formData.chat_template,{messages:messages});if(test_res===''){setTestRes(test_res);setTestErrorInfo('error');}else{setTestRes(test_res);setTestErrorInfo('');}}catch(error){setTestErrorInfo(\"\".concat(error));}}};var getStopTokenIds=function getStopTokenIds(value){if(value.length===1&&value[0]===''){setFormData(_objectSpread(_objectSpread({},formData),{},{stop_token_ids:[]}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{stop_token_ids:value}));}};var getStop=function getStop(value){if(value.length===1&&value[0]===''){setFormData(_objectSpread(_objectSpread({},formData),{},{stop:[]}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{stop:value}));}};var handleFamilyAlert=function handleFamilyAlert(){var _formData$model_abili,_family$vision,_formData$model_abili2,_family$tools;if((_formData$model_abili=formData.model_ability)!==null&&_formData$model_abili!==void 0&&_formData$model_abili.includes('vision')&&!(family!==null&&family!==void 0&&(_family$vision=family.vision)!==null&&_family$vision!==void 0&&_family$vision.includes(formData.model_family))){return true;}else if((_formData$model_abili2=formData.model_ability)!==null&&_formData$model_abili2!==void 0&&_formData$model_abili2.includes('tools')&&!(family!==null&&family!==void 0&&(_family$tools=family.tools)!==null&&_family$tools!==void 0&&_family$tools.includes(formData.model_family))){return true;}return false;};var handleChatTemplateAlert=function handleChatTemplateAlert(){if((familyOptions===null||familyOptions===void 0?void 0:familyOptions.filter(function(item){return item.id===formData.model_family;}).length)===0&&!formData.chat_template){return true;}return false;};var handleFamilyOptions=function handleFamilyOptions(model_ability){if(model_ability.includes('vision')){var _family$vision2;setIsEditableFamily(false);setFamilyOptions(family===null||family===void 0?void 0:(_family$vision2=family.vision)===null||_family$vision2===void 0?void 0:_family$vision2.map(function(item){return{id:item,label:item};}));}else if(model_ability.includes('tools')){var _family$tools2;setIsEditableFamily(false);setFamilyOptions(family===null||family===void 0?void 0:(_family$tools2=family.tools)===null||_family$tools2===void 0?void 0:_family$tools2.map(function(item){return{id:item,label:item};}));}else if(model_ability.includes('chat')){var _family$chat5;setIsEditableFamily(true);setFamilyOptions(family===null||family===void 0?void 0:(_family$chat5=family.chat)===null||_family$chat5===void 0?void 0:_family$chat5.map(function(item){return{id:item,label:item};}));}else if(model_ability.includes('generate')){var _family$generate;setIsEditableFamily(true);setFamilyOptions(family===null||family===void 0?void 0:(_family$generate=family.generate)===null||_family$generate===void 0?void 0:_family$generate.map(function(item){return{id:item,label:item};}));}else{setIsEditableFamily(true);setFamilyOptions([]);}};return/*#__PURE__*/_jsxs(Box,{style:{display:'flex',overFlow:'hidden',maxWidth:'100%'},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"show-json\",children:[/*#__PURE__*/_jsx(\"p\",{children:\"Show custom json config used by api\"}),isShow?/*#__PURE__*/_jsx(Tooltip,{title:\"Pack up\",placement:\"top\",children:/*#__PURE__*/_jsx(KeyboardDoubleArrowRightIcon,{className:\"icon arrow\",onClick:function onClick(){return setIsShow(!isShow);}})}):/*#__PURE__*/_jsx(Tooltip,{title:\"Unfold\",placement:\"top\",children:/*#__PURE__*/_jsx(NotesIcon,{className:\"icon notes\",onClick:function onClick(){return setIsShow(!isShow);}})})]}),/*#__PURE__*/_jsxs(\"div\",{ref:scrollRef,className:isShow?'formBox':'formBox broaden',children:[/*#__PURE__*/_jsxs(FormControl,{style:{width:'100%'},children:[customData.model_name&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Model Name\",error:formData.model_name?false:true,value:formData.model_name,size:\"small\",helperText:\"Alphanumeric characters with properly placed hyphens and underscores. Must not match any built-in model names.\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{model_name:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.model_description&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Model Description (Optional)\",value:formData.model_description,size:\"small\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{model_description:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.context_length&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{error:Number(formData.context_length)>0?false:true,label:\"Context Length\",value:formData.context_length,size:\"small\",onChange:function onChange(event){handleNumber(event.target.value,'context_length');}}),isContextLengthAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:\"Please enter an integer greater than 0.\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.dimensions&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Dimensions\",error:Number(formData.dimensions)>0?false:true,value:formData.dimensions,size:\"small\",onChange:function onChange(event){handleNumber(event.target.value,'dimensions');}}),isDimensionsAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:\"Please enter an integer greater than 0.\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.max_tokens&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Max Tokens\",error:Number(formData.max_tokens)>0?false:true,value:formData.max_tokens,size:\"small\",onChange:function onChange(event){handleNumber(event.target.value,'max_tokens');}}),isMaxTokensAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:\"Please enter an integer greater than 0.\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.model_uri&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Model Path\",error:formData.model_uri?false:true,value:formData.model_uri,size:\"small\",helperText:\"Provide the model directory path.\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{model_uri:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),(customData.model_lang||customData.language)&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5,color:modelType==='LLM'?formData.model_lang.length===0?'#d32f2f':'inherit':formData.language.length===0?'#d32f2f':'inherit'},children:\"Model Languages\"}),/*#__PURE__*/_jsxs(Box,{className:\"checkboxWrapper\",children:[SUPPORTED_LANGUAGES.map(function(lang){return/*#__PURE__*/_jsx(Box,{sx:{marginRight:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{control:/*#__PURE__*/_jsx(Checkbox,{checked:modelType==='LLM'?formData.model_lang.includes(lang):formData.language.includes(lang),onChange:function onChange(){return toggleLanguage(lang);},name:lang}),label:SUPPORTED_LANGUAGES_DICT[lang],style:{paddingLeft:10}})},lang);}),/*#__PURE__*/_jsxs(FormControl,{sx:{m:1,minWidth:120},size:\"small\",children:[/*#__PURE__*/_jsx(InputLabel,{children:\"Languages\"}),/*#__PURE__*/_jsx(Select,{value:'',label:\"Languages\",onChange:function onChange(e){return handleSelectLanguages(e.target.value);},MenuProps:{PaperProps:{style:{maxHeight:'20vh'}}},children:languages.filter(function(item){return!languagesArr.includes(item.code);}).map(function(item){return/*#__PURE__*/_jsx(MenuItem,{value:item.code,children:item.code},item.code);})})]})]}),/*#__PURE__*/_jsx(Stack,{direction:\"row\",spacing:1,style:{marginLeft:'10px'},children:languagesArr.map(function(item){return/*#__PURE__*/_jsx(Chip,{label:item,variant:\"outlined\",size:\"small\",color:\"primary\",onDelete:function onDelete(){return handleDeleteLanguages(item);}},item);})}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),'multilingual'in customData&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5},children:\"Multilingual\"}),/*#__PURE__*/_jsx(FormControlLabel,{style:{marginLeft:0,width:50},control:/*#__PURE__*/_jsx(Switch,{checked:formData.multilingual}),onChange:function onChange(e){return setFormData(_objectSpread(_objectSpread({},formData),{},{multilingual:e.target.checked}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.model_ability&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5,color:formData.model_ability.length==0?'#d32f2f':'inherit'},children:\"Model Abilities\"}),/*#__PURE__*/_jsx(Box,{className:\"checkboxWrapper\",children:SUPPORTED_FEATURES.map(function(ability){return/*#__PURE__*/_jsx(Box,{sx:{marginRight:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{control:/*#__PURE__*/_jsx(Checkbox,{checked:formData.model_ability.includes(ability.toLowerCase()),onChange:function onChange(){return toggleAbility(ability.toLowerCase());},name:ability}),label:ability,style:{paddingLeft:10}})},ability);})}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),(customData.model_family===''||customData.model_family)&&/*#__PURE__*/_jsxs(_Fragment,{children:[modelType==='LLM'&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Autocomplete,{id:\"free-solo-demo\",freeSolo:isEditableFamily,options:familyOptions||[],size:\"small\",renderInput:function renderInput(params){return/*#__PURE__*/_jsx(TextField,_objectSpread(_objectSpread({},params),{},{helperText:isEditableFamily?'You can choose from the built-in models or input your own.':'You can only choose from the built-in models.',InputProps:_objectSpread(_objectSpread({},params.InputProps),{},{disabled:!isEditableFamily}),label:\"Model Family\"}));},value:formData.model_family,onChange:function onChange(_,newValue){handleFamily(newValue===null||newValue===void 0?void 0:newValue.id);},onInputChange:function onInputChange(_,newInputValue){if(isEditableFamily){handleFamily(newInputValue);}}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),(modelType==='image'||modelType==='audio')&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(FormControl,{children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5,color:'inherit'},children:\"Model Family\"}),/*#__PURE__*/_jsx(RadioGroup,{value:formData.model_family,children:/*#__PURE__*/_jsx(Box,{className:\"checkboxWrapper\",style:{paddingLeft:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{value:formData.model_family,checked:true,control:/*#__PURE__*/_jsx(Radio,{}),label:formData.model_family})})})]}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]})]}),((_formData$model_abili3=formData.model_ability)===null||_formData$model_abili3===void 0?void 0:_formData$model_abili3.includes('chat'))&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{className:\"chat_template_box\",children:[/*#__PURE__*/_jsx(TextField,{label:\"Chat Template\",error:handleChatTemplateAlert(),value:formData.chat_template||'',size:\"small\",helperText:\"Please make sure this chat_template passes the test by clicking the TEST button on the right. Please note that this test may not cover all cases and will only be used for the most basic case.\",multiline:true,rows:6,onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{chat_template:event.target.value}));},style:{flex:1}}),/*#__PURE__*/_jsx(Button,{variant:\"contained\",onClick:handleTest,style:{marginTop:50},children:\"test\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"chat_template_test\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"chat_template_test_mainBox\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:'flex',alignItems:'center',gap:5},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:16},children:\"messages example\"}),/*#__PURE__*/_jsx(OpenInFullIcon,{onClick:function onClick(){return setIsOpenMessages(true);},style:{fontSize:14,color:'#666',cursor:'pointer'}})]}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:'flex',alignItems:'center',gap:10,fontSize:16},children:[\"test result\",testErrorInfo?/*#__PURE__*/_jsx(Cancel,{style:{color:'red'}}):testRes?/*#__PURE__*/_jsx(CheckCircleIcon,{style:{color:'rgb(46, 125, 50)'}}):'']}),/*#__PURE__*/_jsx(\"div\",{className:\"test_res_box\",style:{backgroundColor:testErrorInfo===''?testRes?'rgb(237, 247, 237)':'':'rgb(253, 237, 237)'},children:testErrorInfo!==''?testErrorInfo:testRes?testRes:'No test results...'})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"chat_template_test_tip\",style:{color:testErrorInfo===''?'':'#d32f2f'},children:\"Please note that failure to pass test may prevent chats from working properly.\"})]})]}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),((_formData$model_abili4=formData.model_ability)===null||_formData$model_abili4===void 0?void 0:_formData$model_abili4.includes('chat'))&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddStop,{label:\"Stop Token Ids\",arrItemType:\"number\",formData:formData.stop_token_ids,onGetData:getStopTokenIds,onGetError:function onGetError(value){if(value.includes('false')){setIsStopTokenIdsAlert(true);}else{setIsStopTokenIdsAlert(false);}},helperText:\"int type, used to control the stopping of chat models\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),((_formData$model_abili5=formData.model_ability)===null||_formData$model_abili5===void 0?void 0:_formData$model_abili5.includes('chat'))&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddStop,{label:\"Stop\",arrItemType:\"string\",formData:formData.stop,onGetData:getStop,helperText:\"string type, used to control the stopping of chat models\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.model_specs&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddModelSpecs,{isJump:model_name?true:false,formData:customData.model_specs[0],specsDataArr:specsArr,onGetArr:getSpecsArr,scrollRef:scrollRef}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.controlnet&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddControlnet,{controlnetDataArr:controlnetArr,onGetControlnetArr:getControlnetArr,scrollRef:scrollRef}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.launcher&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Launcher\",error:formData.launcher?false:true,value:formData.launcher,size:\"small\",helperText:\"Provide the model launcher.\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{launcher:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.launcher_args&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:\"Launcher Arguments (Optional)\",value:formData.launcher_args,size:\"small\",helperText:\"A JSON-formatted dictionary representing the arguments passed to the Launcher.\",onChange:function onChange(event){try{JSON.parse(event.target.value);setIsValidLauncherArgsAlert(false);}catch(_unused){setIsValidLauncherArgsAlert(true);}return setFormData(_objectSpread(_objectSpread({},formData),{},{launcher_args:event.target.value}));},multiline:true,rows:4}),isValidLauncherArgsAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:\"Please enter the JSON-formatted dictionary.\"}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]})]}),model_name?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Button,{variant:\"contained\",color:\"primary\",type:\"submit\",onClick:handleEdit,disabled:isEqual,children:\"Edit\"}),/*#__PURE__*/_jsx(Button,{style:{marginLeft:30},variant:\"outlined\",color:\"primary\",type:\"submit\",onClick:handleCancel,children:\"Cancel\"})]}):/*#__PURE__*/_jsx(Box,{width:'100%',children:/*#__PURE__*/_jsx(Button,{variant:\"contained\",color:\"primary\",type:\"submit\",onClick:handleClick,disabled:isContextLengthAlert||isDimensionsAlert||isMaxTokensAlert||((_formData$model_lang=formData.model_lang)===null||_formData$model_lang===void 0?void 0:_formData$model_lang.length)===0||((_formData$language=formData.language)===null||_formData$language===void 0?void 0:_formData$language.length)===0||((_formData$model_abili6=formData.model_ability)===null||_formData$model_abili6===void 0?void 0:_formData$model_abili6.length)===0||modelType==='LLM'&&!formData.model_family||isStopTokenIdsAlert||handleFamilyAlert(),children:\"Register Model\"})})]}),/*#__PURE__*/_jsxs(Dialog,{open:isOpenMessages,onClose:function onClose(){return setIsOpenMessages(false);},\"aria-labelledby\":\"alert-dialog-title\",\"aria-describedby\":\"alert-dialog-description\",children:[/*#__PURE__*/_jsx(DialogTitle,{id:\"alert-dialog-title\",children:\"Messages Example\"}),/*#__PURE__*/_jsx(DialogContent,{children:/*#__PURE__*/_jsx(\"textarea\",{readOnly:true,className:\"textarea\",style:{width:500,height:200},value:JSON.stringify(messages,null,4)})}),/*#__PURE__*/_jsx(DialogActions,{children:/*#__PURE__*/_jsx(Button,{variant:\"contained\",onClick:function onClick(){return setIsOpenMessages(false);},style:{marginRight:15,marginBottom:15},children:\"OK\"})})]}),/*#__PURE__*/_jsxs(\"div\",{className:isShow?'jsonBox':'jsonBox hide',children:[/*#__PURE__*/_jsxs(\"div\",{className:\"jsonBox-header\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"jsonBox-title\",children:\"JSON Format\"}),/*#__PURE__*/_jsx(CopyComponent,{tip:'Copy all',text:jsonData})]}),/*#__PURE__*/_jsx(\"textarea\",{readOnly:true,className:\"textarea\",value:jsonData})]})]});};export default RegisterModelComponent;","map":{"version":3,"names":["Cancel","CheckCircleIcon","KeyboardDoubleArrowRightIcon","NotesIcon","OpenInFullIcon","Alert","Autocomplete","Box","Button","Checkbox","Chip","Dialog","DialogActions","DialogContent","DialogTitle","FormControl","FormControlLabel","InputLabel","MenuItem","Radio","RadioGroup","Select","Stack","Switch","TextField","Tooltip","nunjucks","React","useContext","useEffect","useRef","useState","useCookies","useNavigate","useParams","ApiContext","CopyComponent","fetchWrapper","isValidBearerToken","AddControlnet","AddModelSpecs","AddStop","languages","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SUPPORTED_LANGUAGES_DICT","en","zh","SUPPORTED_FEATURES","messages","role","content","SUPPORTED_LANGUAGES","Object","keys","RegisterModelComponent","_ref","_formData$model_abili3","_formData$model_abili4","_formData$model_abili5","_formData$model_lang","_formData$language","_formData$model_abili6","modelType","customData","endPoint","_useContext","setErrorMsg","_useState","_useState2","_slicedToArray","formData","setFormData","_useState3","_useState4","promptStyles","setPromptStyles","_useState5","_useState6","family","setFamily","_useState7","_useState8","languagesArr","setLanguagesArr","_useState9","_useState10","isContextLengthAlert","setIsContextLengthAlert","_useState11","_useState12","isDimensionsAlert","setIsDimensionsAlert","_useState13","_useState14","isMaxTokensAlert","setIsMaxTokensAlert","_useState15","_useState16","jsonData","setJsonData","_useState17","_useState18","isSpecsArrError","setIsSpecsArrError","_useState19","_useState20","isValidLauncherArgsAlert","setIsValidLauncherArgsAlert","scrollRef","_useCookies","_useCookies2","cookie","navigate","_useParams","registerModelType","model_name","_useState21","_useState22","isShow","setIsShow","_useState23","JSON","parse","sessionStorage","getItem","model_specs","_useState24","specsArr","setSpecsArr","_useState25","controlnet","_useState26","controlnetArr","setControlnetArr","_useState27","_useState28","contrastObj","setContrastObj","_useState29","_useState30","isEqual","setIsEqual","_useState31","_useState32","testRes","setTestRes","_useState33","_useState34","isOpenMessages","setIsOpenMessages","_useState35","_useState36","testErrorInfo","setTestErrorInfo","_useState37","_useState38","isStopTokenIdsAlert","setIsStopTokenIdsAlert","_useState39","_useState40","familyOptions","setFamilyOptions","_useState41","_useState42","isEditableFamily","setIsEditableFamily","data","lagArr","model_lang","filter","item","version","model_description","context_length","model_ability","model_family","chat_template","stop_token_ids","stop","specsDataArr","map","model_uri","model_size_in_billions","model_format","quantizations","model_file_name_template","llmData","language","dimensions","max_tokens","embeddingData","rerankData","imageData","multilingual","audioData","launcher","launcher_args","flexibleData","token","replace","getBuiltinFamilies","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","errorData","key","wrap","_callee$","_context","prev","next","fetch","method","headers","sent","ok","json","concat","status","detail","sort","a","b","lowerA","toLowerCase","lowerB","apply","arguments","getBuiltInPromptStyles","_ref3","_callee2","res","v","_callee2$","_context2","push","prototype","hasOwnProperty","call","length","catch","error","message","console","chat","undefined","_family$chat","stringify","customReplacer","deepEqual","handleFamilyOptions","_family$chat2","value","handleClick","_ref4","_callee3","type","_callee3$","_context3","t0","t1","done","toString","slice","abrupt","post","model","persist","then","setItem","handleNumber","parameterName","_objectSpread","_defineProperty","Number","parseInt","parseFloat","toggleLanguage","lang","includes","l","_toConsumableArray","toggleAbility","ability","obj","_family$chat3","_data$","_data$2","_data$3","name","handleFamily","_family$chat4","_data$4","_data$5","_data$6","handleSelectLanguages","arr","Array","from","Set","handleDeleteLanguages","subItem","getSpecsArr","getControlnetArr","handleCancel","handleEdit","delete","obj1","obj2","keysA","keysB","_i","_keysA","handleTest","configure","autoescape","test_res","renderString","getStopTokenIds","getStop","handleFamilyAlert","_formData$model_abili","_family$vision","_formData$model_abili2","_family$tools","vision","tools","handleChatTemplateAlert","id","_family$vision2","label","_family$tools2","_family$chat5","_family$generate","generate","style","display","overFlow","maxWidth","children","className","title","placement","onClick","ref","width","size","helperText","onChange","event","target","padding","severity","paddingLeft","color","sx","marginRight","control","checked","m","minWidth","e","MenuProps","PaperProps","maxHeight","code","direction","spacing","marginLeft","variant","onDelete","freeSolo","options","renderInput","params","InputProps","disabled","_","newValue","onInputChange","newInputValue","multiline","rows","flex","marginTop","alignItems","gap","fontSize","cursor","backgroundColor","arrItemType","onGetData","onGetError","isJump","onGetArr","controlnetDataArr","onGetControlnetArr","_unused","open","onClose","readOnly","height","marginBottom","tip","text"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/register_model/registerModel.js"],"sourcesContent":["import './styles/registerModelStyle.css'\n\nimport Cancel from '@mui/icons-material/Cancel'\nimport CheckCircleIcon from '@mui/icons-material/CheckCircle'\nimport KeyboardDoubleArrowRightIcon from '@mui/icons-material/KeyboardDoubleArrowRight'\nimport NotesIcon from '@mui/icons-material/Notes'\nimport OpenInFullIcon from '@mui/icons-material/OpenInFull'\nimport {\n Alert,\n Autocomplete,\n Box,\n Button,\n Checkbox,\n Chip,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n FormControl,\n FormControlLabel,\n InputLabel,\n MenuItem,\n Radio,\n RadioGroup,\n Select,\n Stack,\n Switch,\n TextField,\n Tooltip,\n} from '@mui/material'\nimport nunjucks from 'nunjucks'\nimport React, { useContext, useEffect, useRef, useState } from 'react'\nimport { useCookies } from 'react-cookie'\nimport { useNavigate, useParams } from 'react-router-dom'\n\nimport { ApiContext } from '../../components/apiContext'\nimport CopyComponent from '../../components/copyComponent/copyComponent'\nimport fetchWrapper from '../../components/fetchWrapper'\nimport { isValidBearerToken } from '../../components/utils'\nimport AddControlnet from './components/addControlnet'\nimport AddModelSpecs from './components/addModelSpecs'\nimport AddStop from './components/addStop'\nimport languages from './data/languages'\nconst SUPPORTED_LANGUAGES_DICT = { en: 'English', zh: 'Chinese' }\nconst SUPPORTED_FEATURES = ['Generate', 'Chat', 'Vision', 'Tools']\nconst messages = [\n {\n role: 'assistant',\n content: 'This is the message content replied by the assistant previously',\n },\n {\n role: 'user',\n content: 'This is the message content sent by the user currently',\n },\n]\n\n// Convert dictionary of supported languages into list\nconst SUPPORTED_LANGUAGES = Object.keys(SUPPORTED_LANGUAGES_DICT)\n\nconst RegisterModelComponent = ({ modelType, customData }) => {\n const endPoint = useContext(ApiContext).endPoint\n const { setErrorMsg } = useContext(ApiContext)\n const [formData, setFormData] = useState(customData)\n const [promptStyles, setPromptStyles] = useState([])\n const [family, setFamily] = useState({})\n const [languagesArr, setLanguagesArr] = useState([])\n const [isContextLengthAlert, setIsContextLengthAlert] = useState(false)\n const [isDimensionsAlert, setIsDimensionsAlert] = useState(false)\n const [isMaxTokensAlert, setIsMaxTokensAlert] = useState(false)\n const [jsonData, setJsonData] = useState('')\n const [isSpecsArrError, setIsSpecsArrError] = useState(false)\n const [isValidLauncherArgsAlert, setIsValidLauncherArgsAlert] =\n useState(false)\n const scrollRef = useRef(null)\n const [cookie] = useCookies(['token'])\n const navigate = useNavigate()\n\n const { registerModelType, model_name } = useParams()\n const [isShow, setIsShow] = useState(model_name ? true : false)\n const [specsArr, setSpecsArr] = useState(\n model_name\n ? JSON.parse(sessionStorage.getItem('customJsonData')).model_specs\n : []\n )\n const [controlnetArr, setControlnetArr] = useState(\n model_name\n ? JSON.parse(sessionStorage.getItem('customJsonData')).controlnet\n : []\n )\n const [contrastObj, setContrastObj] = useState({})\n const [isEqual, setIsEqual] = useState(true)\n const [testRes, setTestRes] = useState('')\n const [isOpenMessages, setIsOpenMessages] = useState(false)\n const [testErrorInfo, setTestErrorInfo] = useState('')\n const [isStopTokenIdsAlert, setIsStopTokenIdsAlert] = useState(false)\n const [familyOptions, setFamilyOptions] = useState([])\n const [isEditableFamily, setIsEditableFamily] = useState(true)\n\n useEffect(() => {\n if (model_name) {\n const data = JSON.parse(sessionStorage.getItem('customJsonData'))\n\n if (modelType === 'LLM') {\n const lagArr = data.model_lang.filter(\n (item) => item !== 'en' && item !== 'zh'\n )\n setLanguagesArr(lagArr)\n\n const {\n version,\n model_name,\n model_description,\n context_length,\n model_lang,\n model_ability,\n model_family,\n model_specs,\n chat_template,\n stop_token_ids,\n stop,\n } = data\n const specsDataArr = model_specs.map((item) => {\n const {\n model_uri,\n model_size_in_billions,\n model_format,\n quantizations,\n model_file_name_template,\n } = item\n return {\n model_uri,\n model_size_in_billions,\n model_format,\n quantizations,\n model_file_name_template,\n }\n })\n const llmData = {\n version,\n model_name,\n model_description,\n context_length,\n model_lang,\n model_ability,\n model_family,\n model_specs: specsDataArr,\n chat_template,\n stop_token_ids,\n stop,\n }\n setFormData(llmData)\n setContrastObj(llmData)\n setSpecsArr(specsDataArr)\n } else {\n if (modelType === 'embedding') {\n const lagArr = data.language.filter(\n (item) => item !== 'en' && item !== 'zh'\n )\n setLanguagesArr(lagArr)\n\n const { model_name, dimensions, max_tokens, model_uri, language } =\n data\n const embeddingData = {\n model_name,\n dimensions,\n max_tokens,\n model_uri,\n language,\n }\n setFormData(embeddingData)\n setContrastObj(embeddingData)\n } else if (modelType === 'rerank') {\n const lagArr = data.language.filter(\n (item) => item !== 'en' && item !== 'zh'\n )\n setLanguagesArr(lagArr)\n\n const { model_name, model_uri, language } = data\n const rerankData = {\n model_name,\n model_uri,\n language,\n }\n setFormData(rerankData)\n setContrastObj(rerankData)\n } else if (modelType === 'image') {\n const { model_name, model_uri, model_family, controlnet } = data\n const controlnetArr = controlnet.map((item) => {\n const { model_name, model_uri, model_family } = item\n return {\n model_name,\n model_uri,\n model_family,\n }\n })\n const imageData = {\n model_name,\n model_uri,\n model_family,\n controlnet: controlnetArr,\n }\n setFormData(imageData)\n setContrastObj(imageData)\n setControlnetArr(controlnetArr)\n } else if (modelType === 'audio') {\n const { model_name, model_uri, multilingual, model_family } = data\n const audioData = {\n model_name,\n model_uri,\n multilingual,\n model_family,\n }\n setFormData(audioData)\n setContrastObj(audioData)\n } else if (modelType === 'flexible') {\n const {\n model_name,\n model_uri,\n model_description,\n launcher,\n launcher_args,\n } = data\n const flexibleData = {\n model_name,\n model_uri,\n model_description,\n launcher,\n launcher_args,\n }\n setFormData(flexibleData)\n setContrastObj(flexibleData)\n }\n }\n }\n }, [model_name])\n\n useEffect(() => {\n if (\n sessionStorage.getItem('auth') === 'true' &&\n !isValidBearerToken(sessionStorage.getItem('token')) &&\n !isValidBearerToken(cookie.token)\n ) {\n navigate('/login', { replace: true })\n return\n }\n\n const getBuiltinFamilies = async () => {\n const response = await fetch(endPoint + '/v1/models/families', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n if (!response.ok) {\n const errorData = await response.json() // Assuming the server returns error details in JSON format\n setErrorMsg(\n `Server error: ${response.status} - ${\n errorData.detail || 'Unknown error'\n }`\n )\n } else {\n const data = await response.json()\n for (let key in data) {\n data[key] = data[key].sort(function (a, b) {\n let lowerA = a.toLowerCase()\n let lowerB = b.toLowerCase()\n\n if (lowerA < lowerB) {\n return -1\n }\n if (lowerA > lowerB) {\n return 1\n }\n return 0\n })\n }\n setFamily(data)\n }\n }\n\n const getBuiltInPromptStyles = async () => {\n const response = await fetch(endPoint + '/v1/models/prompts', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n if (!response.ok) {\n const errorData = await response.json() // Assuming the server returns error details in JSON format\n setErrorMsg(\n `Server error: ${response.status} - ${\n errorData.detail || 'Unknown error'\n }`\n )\n } else {\n const data = await response.json()\n let res = []\n for (const key in data) {\n let v = data[key]\n v['name'] = key\n res.push(v)\n }\n setPromptStyles(res)\n }\n }\n\n if (\n Object.prototype.hasOwnProperty.call(customData, 'model_ability') &&\n Object.prototype.hasOwnProperty.call(customData, 'model_family')\n ) {\n if (promptStyles.length === 0) {\n getBuiltInPromptStyles().catch((error) => {\n setErrorMsg(\n error.message ||\n 'An unexpected error occurred when getting builtin prompt styles.'\n )\n console.error('Error: ', error)\n })\n }\n if (family?.chat === undefined) {\n getBuiltinFamilies().catch((error) => {\n setErrorMsg(\n error.message ||\n 'An unexpected error occurred when getting builtin prompt styles.'\n )\n console.error('Error: ', error)\n })\n }\n }\n }, [cookie.token])\n\n useEffect(() => {\n setJsonData(JSON.stringify(formData, customReplacer, 4))\n if (contrastObj.model_name) {\n deepEqual(contrastObj, formData) ? setIsEqual(true) : setIsEqual(false)\n }\n if (family?.chat?.length) handleFamilyOptions(formData.model_ability)\n }, [formData])\n\n useEffect(() => {\n if (family?.chat?.length) handleFamilyOptions(formData.model_ability)\n }, [family])\n\n const customReplacer = (key, value) => {\n if (key === 'chat_template' && value) {\n return value.replace(/\\\\n/g, '\\n')\n }\n return value\n }\n\n const handleClick = async () => {\n for (let key in formData) {\n const type = Object.prototype.toString.call(formData[key]).slice(8, -1)\n if (\n key !== 'model_description' &&\n ((type === 'Array' &&\n key !== 'controlnet' &&\n key !== 'stop_token_ids' &&\n key !== 'stop' &&\n formData[key].length === 0) ||\n (type === 'String' && formData[key] === '') ||\n (type === 'Number' && formData[key] <= 0))\n ) {\n setErrorMsg('Please fill in valid value for all fields')\n return\n }\n }\n\n if (\n isSpecsArrError ||\n isContextLengthAlert ||\n isDimensionsAlert ||\n isMaxTokensAlert\n ) {\n setErrorMsg('Please fill in valid value for all fields')\n return\n }\n\n try {\n fetchWrapper\n .post(`/v1/model_registrations/${modelType}`, {\n model: JSON.stringify(formData, customReplacer),\n persist: true,\n })\n .then(() => {\n navigate(`/launch_model/custom/${modelType.toLowerCase()}`)\n sessionStorage.setItem('modelType', '/launch_model/custom/llm')\n sessionStorage.setItem(\n 'subType',\n `/launch_model/custom/${modelType.toLowerCase()}`\n )\n })\n .catch((error) => {\n console.error('Error:', error)\n if (error.response.status !== 403 && error.response.status !== 401) {\n setErrorMsg(error.message)\n }\n })\n } catch (error) {\n console.error('There was a problem with the fetch operation:', error)\n setErrorMsg(error.message || 'An unexpected error occurred.')\n }\n }\n\n const handleNumber = (value, parameterName) => {\n setIsContextLengthAlert(false)\n setIsDimensionsAlert(false)\n setIsMaxTokensAlert(false)\n setFormData({ ...formData, [parameterName]: value })\n\n if (\n value !== '' &&\n (!Number(value) ||\n Number(value) <= 0 ||\n parseInt(value) !== parseFloat(value))\n ) {\n parameterName === 'context_length' ? setIsContextLengthAlert(true) : ''\n parameterName === 'dimensions' ? setIsDimensionsAlert(true) : ''\n parameterName === 'max_tokens' ? setIsMaxTokensAlert(true) : ''\n } else if (value !== '') {\n setFormData({ ...formData, [parameterName]: Number(value) })\n }\n }\n\n const toggleLanguage = (lang) => {\n if (modelType === 'LLM') {\n if (formData.model_lang.includes(lang)) {\n setFormData({\n ...formData,\n model_lang: formData.model_lang.filter((l) => l !== lang),\n })\n } else {\n setFormData({\n ...formData,\n model_lang: [...formData.model_lang, lang],\n })\n }\n } else {\n if (formData.language.includes(lang)) {\n setFormData({\n ...formData,\n language: formData.language.filter((l) => l !== lang),\n })\n } else {\n setFormData({\n ...formData,\n language: [...formData.language, lang],\n })\n }\n }\n }\n\n const toggleAbility = (ability) => {\n const obj = JSON.parse(JSON.stringify(formData))\n if (formData.model_ability.includes(ability)) {\n delete obj.chat_template\n delete obj.stop_token_ids\n delete obj.stop\n setFormData({\n ...obj,\n model_ability: formData.model_ability.filter((item) => {\n if (ability === 'chat') {\n return item !== 'chat' && item !== 'vision' && item !== 'tools'\n }\n return item !== ability\n }),\n model_family: '',\n })\n } else {\n let model_ability = []\n if (\n ability === 'chat' ||\n (['vision', 'tools'].includes(ability) &&\n !formData.model_ability.includes('chat'))\n ) {\n if (\n formData.model_family !== '' &&\n family?.chat?.includes(formData.model_family)\n ) {\n const data = promptStyles.filter(\n (item) => item.name === formData.model_family\n )\n obj.chat_template = data[0]?.chat_template || null\n obj.stop_token_ids = data[0]?.stop_token_ids || []\n obj.stop = data[0]?.stop || []\n } else {\n obj.chat_template = ''\n obj.stop_token_ids = []\n obj.stop = []\n }\n ability === 'chat'\n ? (model_ability = [...formData.model_ability, ability])\n : (model_ability = [...formData.model_ability, 'chat', ability])\n } else {\n if (ability === 'vision' && formData.model_ability.includes('tools')) {\n model_ability = [\n ...formData.model_ability.filter((item) => item !== 'tools'),\n 'chat',\n ability,\n ]\n } else if (\n ability === 'tools' &&\n formData.model_ability.includes('vision')\n ) {\n model_ability = [\n ...formData.model_ability.filter((item) => item !== 'vision'),\n 'chat',\n ability,\n ]\n } else {\n model_ability = [...formData.model_ability, ability]\n }\n }\n delete obj.chat_template\n delete obj.stop_token_ids\n delete obj.stop\n setFormData({\n ...obj,\n model_family: '',\n model_ability: model_ability,\n })\n }\n }\n\n const handleFamily = (value) => {\n if (formData.model_ability.includes('chat')) {\n if (family?.chat?.includes(value)) {\n const data = promptStyles.filter((item) => {\n return item.name === value\n })\n setFormData({\n ...formData,\n model_family: value,\n chat_template: data[0]?.chat_template || null,\n stop_token_ids: data[0]?.stop_token_ids || [],\n stop: data[0]?.stop || [],\n })\n } else {\n setFormData({\n ...formData,\n model_family: value,\n chat_template: '',\n stop_token_ids: [],\n stop: [],\n })\n }\n } else {\n setFormData({\n ...formData,\n model_family: value,\n })\n }\n }\n\n const handleSelectLanguages = (value) => {\n const arr = [...languagesArr, value]\n setLanguagesArr(arr)\n if (modelType === 'LLM') {\n setFormData({\n ...formData,\n model_lang: Array.from(new Set([...formData.model_lang, ...arr])),\n })\n } else {\n setFormData({\n ...formData,\n language: Array.from(new Set([...formData.language, ...arr])),\n })\n }\n }\n\n const handleDeleteLanguages = (item) => {\n const arr = languagesArr.filter((subItem) => subItem !== item)\n setLanguagesArr(arr)\n if (modelType === 'LLM') {\n setFormData({\n ...formData,\n model_lang: formData.model_lang.filter((subItem) => subItem !== item),\n })\n } else {\n setFormData({\n ...formData,\n language: formData.language.filter((subItem) => subItem !== item),\n })\n }\n }\n\n const getSpecsArr = (arr, isSpecsArrError) => {\n setFormData({ ...formData, model_specs: arr })\n setIsSpecsArrError(isSpecsArrError)\n }\n\n const getControlnetArr = (arr) => {\n setFormData({ ...formData, controlnet: arr })\n }\n\n const handleCancel = () => {\n navigate(`/launch_model/custom/${registerModelType}`)\n }\n\n const handleEdit = () => {\n fetchWrapper\n .delete(\n `/v1/model_registrations/${\n registerModelType === 'llm' ? 'LLM' : registerModelType\n }/${model_name}`\n )\n .then(() => handleClick())\n .catch((error) => {\n console.error('Error:', error)\n if (error.response.status !== 403 && error.response.status !== 401) {\n setErrorMsg(error.message)\n }\n })\n }\n\n const deepEqual = (obj1, obj2) => {\n if (obj1 === obj2) return true\n if (\n typeof obj1 !== 'object' ||\n typeof obj2 !== 'object' ||\n obj1 == null ||\n obj2 == null\n ) {\n return false\n }\n\n let keysA = Object.keys(obj1)\n let keysB = Object.keys(obj2)\n if (keysA.length !== keysB.length) return false\n for (let key of keysA) {\n if (!keysB.includes(key) || !deepEqual(obj1[key], obj2[key])) {\n return false\n }\n }\n return true\n }\n\n const handleTest = () => {\n setTestRes('')\n if (formData.chat_template) {\n try {\n nunjucks.configure({ autoescape: false })\n const test_res = nunjucks.renderString(formData.chat_template, {\n messages: messages,\n })\n if (test_res === '') {\n setTestRes(test_res)\n setTestErrorInfo('error')\n } else {\n setTestRes(test_res)\n setTestErrorInfo('')\n }\n } catch (error) {\n setTestErrorInfo(`${error}`)\n }\n }\n }\n\n const getStopTokenIds = (value) => {\n if (value.length === 1 && value[0] === '') {\n setFormData({\n ...formData,\n stop_token_ids: [],\n })\n } else {\n setFormData({\n ...formData,\n stop_token_ids: value,\n })\n }\n }\n\n const getStop = (value) => {\n if (value.length === 1 && value[0] === '') {\n setFormData({\n ...formData,\n stop: [],\n })\n } else {\n setFormData({\n ...formData,\n stop: value,\n })\n }\n }\n\n const handleFamilyAlert = () => {\n if (\n formData.model_ability?.includes('vision') &&\n !family?.vision?.includes(formData.model_family)\n ) {\n return true\n } else if (\n formData.model_ability?.includes('tools') &&\n !family?.tools?.includes(formData.model_family)\n ) {\n return true\n }\n return false\n }\n\n const handleChatTemplateAlert = () => {\n if (\n familyOptions?.filter((item) => item.id === formData.model_family)\n .length === 0 &&\n !formData.chat_template\n ) {\n return true\n }\n return false\n }\n\n const handleFamilyOptions = (model_ability) => {\n if (model_ability.includes('vision')) {\n setIsEditableFamily(false)\n setFamilyOptions(\n family?.vision?.map((item) => {\n return {\n id: item,\n label: item,\n }\n })\n )\n } else if (model_ability.includes('tools')) {\n setIsEditableFamily(false)\n setFamilyOptions(\n family?.tools?.map((item) => {\n return {\n id: item,\n label: item,\n }\n })\n )\n } else if (model_ability.includes('chat')) {\n setIsEditableFamily(true)\n setFamilyOptions(\n family?.chat?.map((item) => {\n return {\n id: item,\n label: item,\n }\n })\n )\n } else if (model_ability.includes('generate')) {\n setIsEditableFamily(true)\n setFamilyOptions(\n family?.generate?.map((item) => {\n return {\n id: item,\n label: item,\n }\n })\n )\n } else {\n setIsEditableFamily(true)\n setFamilyOptions([])\n }\n }\n\n return (\n <Box style={{ display: 'flex', overFlow: 'hidden', maxWidth: '100%' }}>\n <div className=\"show-json\">\n <p>Show custom json config used by api</p>\n {isShow ? (\n <Tooltip title=\"Pack up\" placement=\"top\">\n <KeyboardDoubleArrowRightIcon\n className=\"icon arrow\"\n onClick={() => setIsShow(!isShow)}\n />\n </Tooltip>\n ) : (\n <Tooltip title=\"Unfold\" placement=\"top\">\n <NotesIcon\n className=\"icon notes\"\n onClick={() => setIsShow(!isShow)}\n />\n </Tooltip>\n )}\n </div>\n <div ref={scrollRef} className={isShow ? 'formBox' : 'formBox broaden'}>\n {/* Base Information */}\n <FormControl style={{ width: '100%' }}>\n {/* name */}\n {customData.model_name && (\n <>\n <TextField\n label=\"Model Name\"\n error={formData.model_name ? false : true}\n value={formData.model_name}\n size=\"small\"\n helperText=\"Alphanumeric characters with properly placed hyphens and underscores. Must not match any built-in model names.\"\n onChange={(event) =>\n setFormData({ ...formData, model_name: event.target.value })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* description */}\n {customData.model_description && (\n <>\n <TextField\n label=\"Model Description (Optional)\"\n value={formData.model_description}\n size=\"small\"\n onChange={(event) =>\n setFormData({\n ...formData,\n model_description: event.target.value,\n })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* Context Length */}\n {customData.context_length && (\n <>\n <TextField\n error={Number(formData.context_length) > 0 ? false : true}\n label=\"Context Length\"\n value={formData.context_length}\n size=\"small\"\n onChange={(event) => {\n handleNumber(event.target.value, 'context_length')\n }}\n />\n {isContextLengthAlert && (\n <Alert severity=\"error\">\n Please enter an integer greater than 0.\n </Alert>\n )}\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* dimensions */}\n {customData.dimensions && (\n <>\n <TextField\n label=\"Dimensions\"\n error={Number(formData.dimensions) > 0 ? false : true}\n value={formData.dimensions}\n size=\"small\"\n onChange={(event) => {\n handleNumber(event.target.value, 'dimensions')\n }}\n />\n {isDimensionsAlert && (\n <Alert severity=\"error\">\n Please enter an integer greater than 0.\n </Alert>\n )}\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* Max Tokens */}\n {customData.max_tokens && (\n <>\n <TextField\n label=\"Max Tokens\"\n error={Number(formData.max_tokens) > 0 ? false : true}\n value={formData.max_tokens}\n size=\"small\"\n onChange={(event) => {\n handleNumber(event.target.value, 'max_tokens')\n }}\n />\n {isMaxTokensAlert && (\n <Alert severity=\"error\">\n Please enter an integer greater than 0.\n </Alert>\n )}\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* path */}\n {customData.model_uri && (\n <>\n <TextField\n label=\"Model Path\"\n error={formData.model_uri ? false : true}\n value={formData.model_uri}\n size=\"small\"\n helperText=\"Provide the model directory path.\"\n onChange={(event) =>\n setFormData({ ...formData, model_uri: event.target.value })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* model_lang */}\n {(customData.model_lang || customData.language) && (\n <>\n <label\n style={{\n paddingLeft: 5,\n color:\n modelType === 'LLM'\n ? formData.model_lang.length === 0\n ? '#d32f2f'\n : 'inherit'\n : formData.language.length === 0\n ? '#d32f2f'\n : 'inherit',\n }}\n >\n Model Languages\n </label>\n <Box className=\"checkboxWrapper\">\n {SUPPORTED_LANGUAGES.map((lang) => (\n <Box key={lang} sx={{ marginRight: '10px' }}>\n <FormControlLabel\n control={\n <Checkbox\n checked={\n modelType === 'LLM'\n ? formData.model_lang.includes(lang)\n : formData.language.includes(lang)\n }\n onChange={() => toggleLanguage(lang)}\n name={lang}\n />\n }\n label={SUPPORTED_LANGUAGES_DICT[lang]}\n style={{\n paddingLeft: 10,\n }}\n />\n </Box>\n ))}\n <FormControl sx={{ m: 1, minWidth: 120 }} size=\"small\">\n <InputLabel>Languages</InputLabel>\n <Select\n value={''}\n label=\"Languages\"\n onChange={(e) => handleSelectLanguages(e.target.value)}\n MenuProps={{\n PaperProps: {\n style: { maxHeight: '20vh' },\n },\n }}\n >\n {languages\n .filter((item) => !languagesArr.includes(item.code))\n .map((item) => (\n <MenuItem key={item.code} value={item.code}>\n {item.code}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Box>\n <Stack direction=\"row\" spacing={1} style={{ marginLeft: '10px' }}>\n {languagesArr.map((item) => (\n <Chip\n key={item}\n label={item}\n variant=\"outlined\"\n size=\"small\"\n color=\"primary\"\n onDelete={() => handleDeleteLanguages(item)}\n />\n ))}\n </Stack>\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* multilingual */}\n {'multilingual' in customData && (\n <>\n <label\n style={{\n paddingLeft: 5,\n }}\n >\n Multilingual\n </label>\n <FormControlLabel\n style={{ marginLeft: 0, width: 50 }}\n control={<Switch checked={formData.multilingual} />}\n onChange={(e) =>\n setFormData({ ...formData, multilingual: e.target.checked })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* abilities */}\n {customData.model_ability && (\n <>\n <label\n style={{\n paddingLeft: 5,\n color:\n formData.model_ability.length == 0 ? '#d32f2f' : 'inherit',\n }}\n >\n Model Abilities\n </label>\n <Box className=\"checkboxWrapper\">\n {SUPPORTED_FEATURES.map((ability) => (\n <Box key={ability} sx={{ marginRight: '10px' }}>\n <FormControlLabel\n control={\n <Checkbox\n checked={formData.model_ability.includes(\n ability.toLowerCase()\n )}\n onChange={() => toggleAbility(ability.toLowerCase())}\n name={ability}\n />\n }\n label={ability}\n style={{\n paddingLeft: 10,\n }}\n />\n </Box>\n ))}\n </Box>\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* family */}\n {(customData.model_family === '' || customData.model_family) && (\n <>\n {modelType === 'LLM' && (\n <>\n <Autocomplete\n id=\"free-solo-demo\"\n freeSolo={isEditableFamily}\n options={familyOptions || []}\n size=\"small\"\n renderInput={(params) => (\n <TextField\n {...params}\n helperText={\n isEditableFamily\n ? 'You can choose from the built-in models or input your own.'\n : 'You can only choose from the built-in models.'\n }\n InputProps={{\n ...params.InputProps,\n disabled: !isEditableFamily,\n }}\n label=\"Model Family\"\n />\n )}\n value={formData.model_family}\n onChange={(_, newValue) => {\n handleFamily(newValue?.id)\n }}\n onInputChange={(_, newInputValue) => {\n if (isEditableFamily) {\n handleFamily(newInputValue)\n }\n }}\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n {(modelType === 'image' || modelType === 'audio') && (\n <>\n <FormControl>\n <label\n style={{\n paddingLeft: 5,\n color: 'inherit',\n }}\n >\n Model Family\n </label>\n <RadioGroup value={formData.model_family}>\n <Box\n className=\"checkboxWrapper\"\n style={{ paddingLeft: '10px' }}\n >\n <FormControlLabel\n value={formData.model_family}\n checked\n control={<Radio />}\n label={formData.model_family}\n />\n </Box>\n </RadioGroup>\n </FormControl>\n <Box padding=\"15px\"></Box>\n </>\n )}\n </>\n )}\n\n {/* chat_template */}\n {formData.model_ability?.includes('chat') && (\n <>\n <div className=\"chat_template_box\">\n <TextField\n label=\"Chat Template\"\n error={handleChatTemplateAlert()}\n value={formData.chat_template || ''}\n size=\"small\"\n helperText=\"Please make sure this chat_template passes the test by clicking the TEST button on the right. Please note that this test may not cover all cases and will only be used for the most basic case.\"\n multiline\n rows={6}\n onChange={(event) =>\n setFormData({\n ...formData,\n chat_template: event.target.value,\n })\n }\n style={{ flex: 1 }}\n />\n <Button\n variant=\"contained\"\n onClick={handleTest}\n style={{ marginTop: 50 }}\n >\n test\n </Button>\n <div className=\"chat_template_test\">\n <div className=\"chat_template_test_mainBox\">\n <div\n style={{ display: 'flex', alignItems: 'center', gap: 5 }}\n >\n <span style={{ fontSize: 16 }}>messages example</span>\n <OpenInFullIcon\n onClick={() => setIsOpenMessages(true)}\n style={{\n fontSize: 14,\n color: '#666',\n cursor: 'pointer',\n }}\n />\n </div>\n <div>\n <span\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 10,\n fontSize: 16,\n }}\n >\n test result\n {testErrorInfo ? (\n <Cancel style={{ color: 'red' }} />\n ) : testRes ? (\n <CheckCircleIcon\n style={{ color: 'rgb(46, 125, 50)' }}\n />\n ) : (\n ''\n )}\n </span>\n <div\n className=\"test_res_box\"\n style={{\n backgroundColor:\n testErrorInfo === ''\n ? testRes\n ? 'rgb(237, 247, 237)'\n : ''\n : 'rgb(253, 237, 237)',\n }}\n >\n {testErrorInfo !== ''\n ? testErrorInfo\n : testRes\n ? testRes\n : 'No test results...'}\n </div>\n </div>\n </div>\n <div\n className=\"chat_template_test_tip\"\n style={{ color: testErrorInfo === '' ? '' : '#d32f2f' }}\n >\n Please note that failure to pass test may prevent chats from\n working properly.\n </div>\n </div>\n </div>\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* stop_token_ids */}\n {formData.model_ability?.includes('chat') && (\n <>\n <AddStop\n label=\"Stop Token Ids\"\n arrItemType=\"number\"\n formData={formData.stop_token_ids}\n onGetData={getStopTokenIds}\n onGetError={(value) => {\n if (value.includes('false')) {\n setIsStopTokenIdsAlert(true)\n } else {\n setIsStopTokenIdsAlert(false)\n }\n }}\n helperText=\"int type, used to control the stopping of chat models\"\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* stop */}\n {formData.model_ability?.includes('chat') && (\n <>\n <AddStop\n label=\"Stop\"\n arrItemType=\"string\"\n formData={formData.stop}\n onGetData={getStop}\n helperText=\"string type, used to control the stopping of chat models\"\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* specs */}\n {customData.model_specs && (\n <>\n <AddModelSpecs\n isJump={model_name ? true : false}\n formData={customData.model_specs[0]}\n specsDataArr={specsArr}\n onGetArr={getSpecsArr}\n scrollRef={scrollRef}\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* controlnet */}\n {customData.controlnet && (\n <>\n <AddControlnet\n controlnetDataArr={controlnetArr}\n onGetControlnetArr={getControlnetArr}\n scrollRef={scrollRef}\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* launcher */}\n {customData.launcher && (\n <>\n <TextField\n label=\"Launcher\"\n error={formData.launcher ? false : true}\n value={formData.launcher}\n size=\"small\"\n helperText=\"Provide the model launcher.\"\n onChange={(event) =>\n setFormData({ ...formData, launcher: event.target.value })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* launcher_args */}\n {customData.launcher_args && (\n <>\n <TextField\n label=\"Launcher Arguments (Optional)\"\n value={formData.launcher_args}\n size=\"small\"\n helperText=\"A JSON-formatted dictionary representing the arguments passed to the Launcher.\"\n onChange={(event) => {\n try {\n JSON.parse(event.target.value)\n setIsValidLauncherArgsAlert(false)\n } catch {\n setIsValidLauncherArgsAlert(true)\n }\n return setFormData({\n ...formData,\n launcher_args: event.target.value,\n })\n }}\n multiline\n rows={4}\n />\n {isValidLauncherArgsAlert && (\n <Alert severity=\"error\">\n Please enter the JSON-formatted dictionary.\n </Alert>\n )}\n <Box padding=\"15px\"></Box>\n </>\n )}\n </FormControl>\n\n {model_name ? (\n <>\n <Button\n variant=\"contained\"\n color=\"primary\"\n type=\"submit\"\n onClick={handleEdit}\n disabled={isEqual}\n >\n Edit\n </Button>\n <Button\n style={{ marginLeft: 30 }}\n variant=\"outlined\"\n color=\"primary\"\n type=\"submit\"\n onClick={handleCancel}\n >\n Cancel\n </Button>\n </>\n ) : (\n <Box width={'100%'}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n type=\"submit\"\n onClick={handleClick}\n disabled={\n isContextLengthAlert ||\n isDimensionsAlert ||\n isMaxTokensAlert ||\n formData.model_lang?.length === 0 ||\n formData.language?.length === 0 ||\n formData.model_ability?.length === 0 ||\n (modelType === 'LLM' && !formData.model_family) ||\n isStopTokenIdsAlert ||\n handleFamilyAlert()\n }\n >\n Register Model\n </Button>\n </Box>\n )}\n </div>\n\n <Dialog\n open={isOpenMessages}\n onClose={() => setIsOpenMessages(false)}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n <DialogTitle id=\"alert-dialog-title\">Messages Example</DialogTitle>\n <DialogContent>\n <textarea\n readOnly\n className=\"textarea\"\n style={{ width: 500, height: 200 }}\n value={JSON.stringify(messages, null, 4)}\n />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n onClick={() => setIsOpenMessages(false)}\n style={{ marginRight: 15, marginBottom: 15 }}\n >\n OK\n </Button>\n </DialogActions>\n </Dialog>\n\n {/* JSON */}\n <div className={isShow ? 'jsonBox' : 'jsonBox hide'}>\n <div className=\"jsonBox-header\">\n <div className=\"jsonBox-title\">JSON Format</div>\n <CopyComponent tip={'Copy all'} text={jsonData} />\n </div>\n <textarea readOnly className=\"textarea\" value={jsonData} />\n </div>\n </Box>\n )\n}\n\nexport default RegisterModelComponent\n"],"mappings":"u2BAAA,MAAO,iCAAiC,CAExC,MAAO,CAAAA,MAAM,KAAM,4BAA4B,CAC/C,MAAO,CAAAC,eAAe,KAAM,iCAAiC,CAC7D,MAAO,CAAAC,4BAA4B,KAAM,8CAA8C,CACvF,MAAO,CAAAC,SAAS,KAAM,2BAA2B,CACjD,MAAO,CAAAC,cAAc,KAAM,gCAAgC,CAC3D,OACEC,KAAK,CACLC,YAAY,CACZC,GAAG,CACHC,MAAM,CACNC,QAAQ,CACRC,IAAI,CACJC,MAAM,CACNC,aAAa,CACbC,aAAa,CACbC,WAAW,CACXC,WAAW,CACXC,gBAAgB,CAChBC,UAAU,CACVC,QAAQ,CACRC,KAAK,CACLC,UAAU,CACVC,MAAM,CACNC,KAAK,CACLC,MAAM,CACNC,SAAS,CACTC,OAAO,KACF,eAAe,CACtB,MAAO,CAAAC,QAAQ,KAAM,UAAU,CAC/B,MAAO,CAAAC,KAAK,EAAIC,UAAU,CAAEC,SAAS,CAAEC,MAAM,CAAEC,QAAQ,KAAQ,OAAO,CACtE,OAASC,UAAU,KAAQ,cAAc,CACzC,OAASC,WAAW,CAAEC,SAAS,KAAQ,kBAAkB,CAEzD,OAASC,UAAU,KAAQ,6BAA6B,CACxD,MAAO,CAAAC,aAAa,KAAM,8CAA8C,CACxE,MAAO,CAAAC,YAAY,KAAM,+BAA+B,CACxD,OAASC,kBAAkB,KAAQ,wBAAwB,CAC3D,MAAO,CAAAC,aAAa,KAAM,4BAA4B,CACtD,MAAO,CAAAC,aAAa,KAAM,4BAA4B,CACtD,MAAO,CAAAC,OAAO,KAAM,sBAAsB,CAC1C,MAAO,CAAAC,SAAS,KAAM,kBAAkB,QAAAC,GAAA,IAAAC,IAAA,gCAAAC,IAAA,IAAAC,KAAA,gCAAAC,QAAA,IAAAC,SAAA,yBACxC,GAAM,CAAAC,wBAAwB,CAAG,CAAEC,EAAE,CAAE,SAAS,CAAEC,EAAE,CAAE,SAAU,CAAC,CACjE,GAAM,CAAAC,kBAAkB,CAAG,CAAC,UAAU,CAAE,MAAM,CAAE,QAAQ,CAAE,OAAO,CAAC,CAClE,GAAM,CAAAC,QAAQ,CAAG,CACf,CACEC,IAAI,CAAE,WAAW,CACjBC,OAAO,CAAE,iEACX,CAAC,CACD,CACED,IAAI,CAAE,MAAM,CACZC,OAAO,CAAE,wDACX,CAAC,CACF,CAED;AACA,GAAM,CAAAC,mBAAmB,CAAGC,MAAM,CAACC,IAAI,CAACT,wBAAwB,CAAC,CAEjE,GAAM,CAAAU,sBAAsB,CAAG,QAAzB,CAAAA,sBAAsBA,CAAAC,IAAA,CAAkC,KAAAC,sBAAA,CAAAC,sBAAA,CAAAC,sBAAA,CAAAC,oBAAA,CAAAC,kBAAA,CAAAC,sBAAA,IAA5B,CAAAC,SAAS,CAAAP,IAAA,CAATO,SAAS,CAAEC,UAAU,CAAAR,IAAA,CAAVQ,UAAU,CACrD,GAAM,CAAAC,QAAQ,CAAGzC,UAAU,CAACO,UAAU,CAAC,CAACkC,QAAQ,CAChD,IAAAC,WAAA,CAAwB1C,UAAU,CAACO,UAAU,CAAC,CAAtCoC,WAAW,CAAAD,WAAA,CAAXC,WAAW,CACnB,IAAAC,SAAA,CAAgCzC,QAAQ,CAACqC,UAAU,CAAC,CAAAK,UAAA,CAAAC,cAAA,CAAAF,SAAA,IAA7CG,QAAQ,CAAAF,UAAA,IAAEG,WAAW,CAAAH,UAAA,IAC5B,IAAAI,UAAA,CAAwC9C,QAAQ,CAAC,EAAE,CAAC,CAAA+C,UAAA,CAAAJ,cAAA,CAAAG,UAAA,IAA7CE,YAAY,CAAAD,UAAA,IAAEE,eAAe,CAAAF,UAAA,IACpC,IAAAG,UAAA,CAA4BlD,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAAmD,UAAA,CAAAR,cAAA,CAAAO,UAAA,IAAjCE,MAAM,CAAAD,UAAA,IAAEE,SAAS,CAAAF,UAAA,IACxB,IAAAG,UAAA,CAAwCtD,QAAQ,CAAC,EAAE,CAAC,CAAAuD,UAAA,CAAAZ,cAAA,CAAAW,UAAA,IAA7CE,YAAY,CAAAD,UAAA,IAAEE,eAAe,CAAAF,UAAA,IACpC,IAAAG,UAAA,CAAwD1D,QAAQ,CAAC,KAAK,CAAC,CAAA2D,WAAA,CAAAhB,cAAA,CAAAe,UAAA,IAAhEE,oBAAoB,CAAAD,WAAA,IAAEE,uBAAuB,CAAAF,WAAA,IACpD,IAAAG,WAAA,CAAkD9D,QAAQ,CAAC,KAAK,CAAC,CAAA+D,WAAA,CAAApB,cAAA,CAAAmB,WAAA,IAA1DE,iBAAiB,CAAAD,WAAA,IAAEE,oBAAoB,CAAAF,WAAA,IAC9C,IAAAG,WAAA,CAAgDlE,QAAQ,CAAC,KAAK,CAAC,CAAAmE,WAAA,CAAAxB,cAAA,CAAAuB,WAAA,IAAxDE,gBAAgB,CAAAD,WAAA,IAAEE,mBAAmB,CAAAF,WAAA,IAC5C,IAAAG,WAAA,CAAgCtE,QAAQ,CAAC,EAAE,CAAC,CAAAuE,WAAA,CAAA5B,cAAA,CAAA2B,WAAA,IAArCE,QAAQ,CAAAD,WAAA,IAAEE,WAAW,CAAAF,WAAA,IAC5B,IAAAG,WAAA,CAA8C1E,QAAQ,CAAC,KAAK,CAAC,CAAA2E,WAAA,CAAAhC,cAAA,CAAA+B,WAAA,IAAtDE,eAAe,CAAAD,WAAA,IAAEE,kBAAkB,CAAAF,WAAA,IAC1C,IAAAG,WAAA,CACE9E,QAAQ,CAAC,KAAK,CAAC,CAAA+E,WAAA,CAAApC,cAAA,CAAAmC,WAAA,IADVE,wBAAwB,CAAAD,WAAA,IAAEE,2BAA2B,CAAAF,WAAA,IAE5D,GAAM,CAAAG,SAAS,CAAGnF,MAAM,CAAC,IAAI,CAAC,CAC9B,IAAAoF,WAAA,CAAiBlF,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAAmF,YAAA,CAAAzC,cAAA,CAAAwC,WAAA,IAA/BE,MAAM,CAAAD,YAAA,IACb,GAAM,CAAAE,QAAQ,CAAGpF,WAAW,CAAC,CAAC,CAE9B,IAAAqF,UAAA,CAA0CpF,SAAS,CAAC,CAAC,CAA7CqF,iBAAiB,CAAAD,UAAA,CAAjBC,iBAAiB,CAAEC,UAAU,CAAAF,UAAA,CAAVE,UAAU,CACrC,IAAAC,WAAA,CAA4B1F,QAAQ,CAACyF,UAAU,CAAG,IAAI,CAAG,KAAK,CAAC,CAAAE,WAAA,CAAAhD,cAAA,CAAA+C,WAAA,IAAxDE,MAAM,CAAAD,WAAA,IAAEE,SAAS,CAAAF,WAAA,IACxB,IAAAG,WAAA,CAAgC9F,QAAQ,CACtCyF,UAAU,CACNM,IAAI,CAACC,KAAK,CAACC,cAAc,CAACC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAACC,WAAW,CAChE,EACN,CAAC,CAAAC,WAAA,CAAAzD,cAAA,CAAAmD,WAAA,IAJMO,QAAQ,CAAAD,WAAA,IAAEE,WAAW,CAAAF,WAAA,IAK5B,IAAAG,WAAA,CAA0CvG,QAAQ,CAChDyF,UAAU,CACNM,IAAI,CAACC,KAAK,CAACC,cAAc,CAACC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAACM,UAAU,CAC/D,EACN,CAAC,CAAAC,WAAA,CAAA9D,cAAA,CAAA4D,WAAA,IAJMG,aAAa,CAAAD,WAAA,IAAEE,gBAAgB,CAAAF,WAAA,IAKtC,IAAAG,WAAA,CAAsC5G,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA6G,WAAA,CAAAlE,cAAA,CAAAiE,WAAA,IAA3CE,WAAW,CAAAD,WAAA,IAAEE,cAAc,CAAAF,WAAA,IAClC,IAAAG,WAAA,CAA8BhH,QAAQ,CAAC,IAAI,CAAC,CAAAiH,WAAA,CAAAtE,cAAA,CAAAqE,WAAA,IAArCE,OAAO,CAAAD,WAAA,IAAEE,UAAU,CAAAF,WAAA,IAC1B,IAAAG,WAAA,CAA8BpH,QAAQ,CAAC,EAAE,CAAC,CAAAqH,WAAA,CAAA1E,cAAA,CAAAyE,WAAA,IAAnCE,OAAO,CAAAD,WAAA,IAAEE,UAAU,CAAAF,WAAA,IAC1B,IAAAG,WAAA,CAA4CxH,QAAQ,CAAC,KAAK,CAAC,CAAAyH,WAAA,CAAA9E,cAAA,CAAA6E,WAAA,IAApDE,cAAc,CAAAD,WAAA,IAAEE,iBAAiB,CAAAF,WAAA,IACxC,IAAAG,WAAA,CAA0C5H,QAAQ,CAAC,EAAE,CAAC,CAAA6H,WAAA,CAAAlF,cAAA,CAAAiF,WAAA,IAA/CE,aAAa,CAAAD,WAAA,IAAEE,gBAAgB,CAAAF,WAAA,IACtC,IAAAG,WAAA,CAAsDhI,QAAQ,CAAC,KAAK,CAAC,CAAAiI,WAAA,CAAAtF,cAAA,CAAAqF,WAAA,IAA9DE,mBAAmB,CAAAD,WAAA,IAAEE,sBAAsB,CAAAF,WAAA,IAClD,IAAAG,WAAA,CAA0CpI,QAAQ,CAAC,EAAE,CAAC,CAAAqI,WAAA,CAAA1F,cAAA,CAAAyF,WAAA,IAA/CE,aAAa,CAAAD,WAAA,IAAEE,gBAAgB,CAAAF,WAAA,IACtC,IAAAG,WAAA,CAAgDxI,QAAQ,CAAC,IAAI,CAAC,CAAAyI,WAAA,CAAA9F,cAAA,CAAA6F,WAAA,IAAvDE,gBAAgB,CAAAD,WAAA,IAAEE,mBAAmB,CAAAF,WAAA,IAE5C3I,SAAS,CAAC,UAAM,CACd,GAAI2F,UAAU,CAAE,CACd,GAAM,CAAAmD,IAAI,CAAG7C,IAAI,CAACC,KAAK,CAACC,cAAc,CAACC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAEjE,GAAI9D,SAAS,GAAK,KAAK,CAAE,CACvB,GAAM,CAAAyG,MAAM,CAAGD,IAAI,CAACE,UAAU,CAACC,MAAM,CACnC,SAACC,IAAI,QAAK,CAAAA,IAAI,GAAK,IAAI,EAAIA,IAAI,GAAK,IAAI,EAC1C,CAAC,CACDvF,eAAe,CAACoF,MAAM,CAAC,CAEvB,GACE,CAAAI,OAAO,CAWLL,IAAI,CAXNK,OAAO,CACPxD,WAAU,CAURmD,IAAI,CAVNnD,UAAU,CACVyD,iBAAiB,CASfN,IAAI,CATNM,iBAAiB,CACjBC,cAAc,CAQZP,IAAI,CARNO,cAAc,CACdL,UAAU,CAORF,IAAI,CAPNE,UAAU,CACVM,aAAa,CAMXR,IAAI,CANNQ,aAAa,CACbC,YAAY,CAKVT,IAAI,CALNS,YAAY,CACZlD,WAAW,CAITyC,IAAI,CAJNzC,WAAW,CACXmD,aAAa,CAGXV,IAAI,CAHNU,aAAa,CACbC,cAAc,CAEZX,IAAI,CAFNW,cAAc,CACdC,IAAI,CACFZ,IAAI,CADNY,IAAI,CAEN,GAAM,CAAAC,YAAY,CAAGtD,WAAW,CAACuD,GAAG,CAAC,SAACV,IAAI,CAAK,CAC7C,GACE,CAAAW,SAAS,CAKPX,IAAI,CALNW,SAAS,CACTC,sBAAsB,CAIpBZ,IAAI,CAJNY,sBAAsB,CACtBC,YAAY,CAGVb,IAAI,CAHNa,YAAY,CACZC,aAAa,CAEXd,IAAI,CAFNc,aAAa,CACbC,wBAAwB,CACtBf,IAAI,CADNe,wBAAwB,CAE1B,MAAO,CACLJ,SAAS,CAATA,SAAS,CACTC,sBAAsB,CAAtBA,sBAAsB,CACtBC,YAAY,CAAZA,YAAY,CACZC,aAAa,CAAbA,aAAa,CACbC,wBAAwB,CAAxBA,wBACF,CAAC,CACH,CAAC,CAAC,CACF,GAAM,CAAAC,OAAO,CAAG,CACdf,OAAO,CAAPA,OAAO,CACPxD,UAAU,CAAVA,WAAU,CACVyD,iBAAiB,CAAjBA,iBAAiB,CACjBC,cAAc,CAAdA,cAAc,CACdL,UAAU,CAAVA,UAAU,CACVM,aAAa,CAAbA,aAAa,CACbC,YAAY,CAAZA,YAAY,CACZlD,WAAW,CAAEsD,YAAY,CACzBH,aAAa,CAAbA,aAAa,CACbC,cAAc,CAAdA,cAAc,CACdC,IAAI,CAAJA,IACF,CAAC,CACD3G,WAAW,CAACmH,OAAO,CAAC,CACpBjD,cAAc,CAACiD,OAAO,CAAC,CACvB1D,WAAW,CAACmD,YAAY,CAAC,CAC3B,CAAC,IAAM,CACL,GAAIrH,SAAS,GAAK,WAAW,CAAE,CAC7B,GAAM,CAAAyG,OAAM,CAAGD,IAAI,CAACqB,QAAQ,CAAClB,MAAM,CACjC,SAACC,IAAI,QAAK,CAAAA,IAAI,GAAK,IAAI,EAAIA,IAAI,GAAK,IAAI,EAC1C,CAAC,CACDvF,eAAe,CAACoF,OAAM,CAAC,CAEvB,GAAQ,CAAApD,YAAU,CAChBmD,IAAI,CADEnD,UAAU,CAAEyE,UAAU,CAC5BtB,IAAI,CADcsB,UAAU,CAAEC,UAAU,CACxCvB,IAAI,CAD0BuB,UAAU,CAAER,SAAS,CACnDf,IAAI,CADsCe,SAAS,CAAEM,QAAQ,CAC7DrB,IAAI,CADiDqB,QAAQ,CAE/D,GAAM,CAAAG,aAAa,CAAG,CACpB3E,UAAU,CAAVA,YAAU,CACVyE,UAAU,CAAVA,UAAU,CACVC,UAAU,CAAVA,UAAU,CACVR,SAAS,CAATA,SAAS,CACTM,QAAQ,CAARA,QACF,CAAC,CACDpH,WAAW,CAACuH,aAAa,CAAC,CAC1BrD,cAAc,CAACqD,aAAa,CAAC,CAC/B,CAAC,IAAM,IAAIhI,SAAS,GAAK,QAAQ,CAAE,CACjC,GAAM,CAAAyG,QAAM,CAAGD,IAAI,CAACqB,QAAQ,CAAClB,MAAM,CACjC,SAACC,IAAI,QAAK,CAAAA,IAAI,GAAK,IAAI,EAAIA,IAAI,GAAK,IAAI,EAC1C,CAAC,CACDvF,eAAe,CAACoF,QAAM,CAAC,CAEvB,GAAQ,CAAApD,YAAU,CAA0BmD,IAAI,CAAxCnD,UAAU,CAAEkE,UAAS,CAAef,IAAI,CAA5Be,SAAS,CAAEM,SAAQ,CAAKrB,IAAI,CAAjBqB,QAAQ,CACvC,GAAM,CAAAI,UAAU,CAAG,CACjB5E,UAAU,CAAVA,YAAU,CACVkE,SAAS,CAATA,UAAS,CACTM,QAAQ,CAARA,SACF,CAAC,CACDpH,WAAW,CAACwH,UAAU,CAAC,CACvBtD,cAAc,CAACsD,UAAU,CAAC,CAC5B,CAAC,IAAM,IAAIjI,SAAS,GAAK,OAAO,CAAE,CAChC,GAAQ,CAAAqD,YAAU,CAA0CmD,IAAI,CAAxDnD,UAAU,CAAEkE,WAAS,CAA+Bf,IAAI,CAA5Ce,SAAS,CAAEN,aAAY,CAAiBT,IAAI,CAAjCS,YAAY,CAAE7C,UAAU,CAAKoC,IAAI,CAAnBpC,UAAU,CACvD,GAAM,CAAAE,cAAa,CAAGF,UAAU,CAACkD,GAAG,CAAC,SAACV,IAAI,CAAK,CAC7C,GAAQ,CAAAvD,UAAU,CAA8BuD,IAAI,CAA5CvD,UAAU,CAAEkE,SAAS,CAAmBX,IAAI,CAAhCW,SAAS,CAAEN,YAAY,CAAKL,IAAI,CAArBK,YAAY,CAC3C,MAAO,CACL5D,UAAU,CAAVA,UAAU,CACVkE,SAAS,CAATA,SAAS,CACTN,YAAY,CAAZA,YACF,CAAC,CACH,CAAC,CAAC,CACF,GAAM,CAAAiB,SAAS,CAAG,CAChB7E,UAAU,CAAVA,YAAU,CACVkE,SAAS,CAATA,WAAS,CACTN,YAAY,CAAZA,aAAY,CACZ7C,UAAU,CAAEE,cACd,CAAC,CACD7D,WAAW,CAACyH,SAAS,CAAC,CACtBvD,cAAc,CAACuD,SAAS,CAAC,CACzB3D,gBAAgB,CAACD,cAAa,CAAC,CACjC,CAAC,IAAM,IAAItE,SAAS,GAAK,OAAO,CAAE,CAChC,GAAQ,CAAAqD,YAAU,CAA4CmD,IAAI,CAA1DnD,UAAU,CAAEkE,WAAS,CAAiCf,IAAI,CAA9Ce,SAAS,CAAEY,YAAY,CAAmB3B,IAAI,CAAnC2B,YAAY,CAAElB,cAAY,CAAKT,IAAI,CAArBS,YAAY,CACzD,GAAM,CAAAmB,SAAS,CAAG,CAChB/E,UAAU,CAAVA,YAAU,CACVkE,SAAS,CAATA,WAAS,CACTY,YAAY,CAAZA,YAAY,CACZlB,YAAY,CAAZA,cACF,CAAC,CACDxG,WAAW,CAAC2H,SAAS,CAAC,CACtBzD,cAAc,CAACyD,SAAS,CAAC,CAC3B,CAAC,IAAM,IAAIpI,SAAS,GAAK,UAAU,CAAE,CACnC,GACE,CAAAqD,YAAU,CAKRmD,IAAI,CALNnD,UAAU,CACVkE,WAAS,CAIPf,IAAI,CAJNe,SAAS,CACTT,kBAAiB,CAGfN,IAAI,CAHNM,iBAAiB,CACjBuB,QAAQ,CAEN7B,IAAI,CAFN6B,QAAQ,CACRC,aAAa,CACX9B,IAAI,CADN8B,aAAa,CAEf,GAAM,CAAAC,YAAY,CAAG,CACnBlF,UAAU,CAAVA,YAAU,CACVkE,SAAS,CAATA,WAAS,CACTT,iBAAiB,CAAjBA,kBAAiB,CACjBuB,QAAQ,CAARA,QAAQ,CACRC,aAAa,CAAbA,aACF,CAAC,CACD7H,WAAW,CAAC8H,YAAY,CAAC,CACzB5D,cAAc,CAAC4D,YAAY,CAAC,CAC9B,CACF,CACF,CACF,CAAC,CAAE,CAAClF,UAAU,CAAC,CAAC,CAEhB3F,SAAS,CAAC,UAAM,CACd,GACEmG,cAAc,CAACC,OAAO,CAAC,MAAM,CAAC,GAAK,MAAM,EACzC,CAAC3F,kBAAkB,CAAC0F,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,EACpD,CAAC3F,kBAAkB,CAAC8E,MAAM,CAACuF,KAAK,CAAC,CACjC,CACAtF,QAAQ,CAAC,QAAQ,CAAE,CAAEuF,OAAO,CAAE,IAAK,CAAC,CAAC,CACrC,OACF,CAEA,GAAM,CAAAC,kBAAkB,6BAAAC,KAAA,CAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QAAA,MAAAC,QAAA,CAAAC,SAAA,CAAAzC,IAAA,CAAA0C,GAAA,QAAAL,mBAAA,GAAAM,IAAA,UAAAC,SAAAC,QAAA,iBAAAA,QAAA,CAAAC,IAAA,CAAAD,QAAA,CAAAE,IAAA,SAAAF,QAAA,CAAAE,IAAA,SACF,CAAAC,KAAK,CAACtJ,QAAQ,CAAG,qBAAqB,CAAE,CAC7DuJ,MAAM,CAAE,KAAK,CACbC,OAAO,CAAE,CACP,cAAc,CAAE,kBAClB,CACF,CAAC,CAAC,QALIV,QAAQ,CAAAK,QAAA,CAAAM,IAAA,IAMTX,QAAQ,CAACY,EAAE,EAAAP,QAAA,CAAAE,IAAA,WAAAF,QAAA,CAAAE,IAAA,SACU,CAAAP,QAAQ,CAACa,IAAI,CAAC,CAAC,QAAjCZ,SAAS,CAAAI,QAAA,CAAAM,IAAA,CAAyB;AACxCvJ,WAAW,kBAAA0J,MAAA,CACQd,QAAQ,CAACe,MAAM,QAAAD,MAAA,CAC9Bb,SAAS,CAACe,MAAM,EAAI,eAAe,CAEvC,CAAC,CAAAX,QAAA,CAAAE,IAAA,kBAAAF,QAAA,CAAAE,IAAA,UAEkB,CAAAP,QAAQ,CAACa,IAAI,CAAC,CAAC,SAA5BrD,IAAI,CAAA6C,QAAA,CAAAM,IAAA,CACV,IAAST,GAAG,GAAI,CAAA1C,IAAI,CAAE,CACpBA,IAAI,CAAC0C,GAAG,CAAC,CAAG1C,IAAI,CAAC0C,GAAG,CAAC,CAACe,IAAI,CAAC,SAAUC,CAAC,CAAEC,CAAC,CAAE,CACzC,GAAI,CAAAC,MAAM,CAAGF,CAAC,CAACG,WAAW,CAAC,CAAC,CAC5B,GAAI,CAAAC,MAAM,CAAGH,CAAC,CAACE,WAAW,CAAC,CAAC,CAE5B,GAAID,MAAM,CAAGE,MAAM,CAAE,CACnB,MAAO,CAAC,CAAC,CACX,CACA,GAAIF,MAAM,CAAGE,MAAM,CAAE,CACnB,MAAO,EAAC,CACV,CACA,MAAO,EAAC,CACV,CAAC,CAAC,CACJ,CACArJ,SAAS,CAACuF,IAAI,CAAC,0BAAA6C,QAAA,CAAAjC,IAAA,MAAA2B,OAAA,GAElB,kBAhCK,CAAAL,kBAAkBA,CAAA,SAAAC,KAAA,CAAA4B,KAAA,MAAAC,SAAA,OAgCvB,CAED,GAAM,CAAAC,sBAAsB,6BAAAC,KAAA,CAAA9B,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAA6B,SAAA,MAAA3B,QAAA,CAAAC,SAAA,CAAAzC,IAAA,CAAAoE,GAAA,CAAA1B,GAAA,CAAA2B,CAAA,QAAAhC,mBAAA,GAAAM,IAAA,UAAA2B,UAAAC,SAAA,iBAAAA,SAAA,CAAAzB,IAAA,CAAAyB,SAAA,CAAAxB,IAAA,SAAAwB,SAAA,CAAAxB,IAAA,SACN,CAAAC,KAAK,CAACtJ,QAAQ,CAAG,oBAAoB,CAAE,CAC5DuJ,MAAM,CAAE,KAAK,CACbC,OAAO,CAAE,CACP,cAAc,CAAE,kBAClB,CACF,CAAC,CAAC,QALIV,QAAQ,CAAA+B,SAAA,CAAApB,IAAA,IAMTX,QAAQ,CAACY,EAAE,EAAAmB,SAAA,CAAAxB,IAAA,WAAAwB,SAAA,CAAAxB,IAAA,SACU,CAAAP,QAAQ,CAACa,IAAI,CAAC,CAAC,QAAjCZ,SAAS,CAAA8B,SAAA,CAAApB,IAAA,CAAyB;AACxCvJ,WAAW,kBAAA0J,MAAA,CACQd,QAAQ,CAACe,MAAM,QAAAD,MAAA,CAC9Bb,SAAS,CAACe,MAAM,EAAI,eAAe,CAEvC,CAAC,CAAAe,SAAA,CAAAxB,IAAA,kBAAAwB,SAAA,CAAAxB,IAAA,UAEkB,CAAAP,QAAQ,CAACa,IAAI,CAAC,CAAC,SAA5BrD,IAAI,CAAAuE,SAAA,CAAApB,IAAA,CACNiB,GAAG,CAAG,EAAE,CACZ,IAAW1B,GAAG,GAAI,CAAA1C,IAAI,CAAE,CAClBqE,CAAC,CAAGrE,IAAI,CAAC0C,GAAG,CAAC,CACjB2B,CAAC,CAAC,MAAM,CAAC,CAAG3B,GAAG,CACf0B,GAAG,CAACI,IAAI,CAACH,CAAC,CAAC,CACb,CACAhK,eAAe,CAAC+J,GAAG,CAAC,0BAAAG,SAAA,CAAA3D,IAAA,MAAAuD,QAAA,GAEvB,kBAxBK,CAAAF,sBAAsBA,CAAA,SAAAC,KAAA,CAAAH,KAAA,MAAAC,SAAA,OAwB3B,CAED,GACElL,MAAM,CAAC2L,SAAS,CAACC,cAAc,CAACC,IAAI,CAAClL,UAAU,CAAE,eAAe,CAAC,EACjEX,MAAM,CAAC2L,SAAS,CAACC,cAAc,CAACC,IAAI,CAAClL,UAAU,CAAE,cAAc,CAAC,CAChE,CACA,GAAIW,YAAY,CAACwK,MAAM,GAAK,CAAC,CAAE,CAC7BX,sBAAsB,CAAC,CAAC,CAACY,KAAK,CAAC,SAACC,KAAK,CAAK,CACxClL,WAAW,CACTkL,KAAK,CAACC,OAAO,EACX,kEACJ,CAAC,CACDC,OAAO,CAACF,KAAK,CAAC,SAAS,CAAEA,KAAK,CAAC,CACjC,CAAC,CAAC,CACJ,CACA,GAAI,CAAAtK,MAAM,SAANA,MAAM,iBAANA,MAAM,CAAEyK,IAAI,IAAKC,SAAS,CAAE,CAC9BhD,kBAAkB,CAAC,CAAC,CAAC2C,KAAK,CAAC,SAACC,KAAK,CAAK,CACpClL,WAAW,CACTkL,KAAK,CAACC,OAAO,EACX,kEACJ,CAAC,CACDC,OAAO,CAACF,KAAK,CAAC,SAAS,CAAEA,KAAK,CAAC,CACjC,CAAC,CAAC,CACJ,CACF,CACF,CAAC,CAAE,CAACrI,MAAM,CAACuF,KAAK,CAAC,CAAC,CAElB9K,SAAS,CAAC,UAAM,KAAAiO,YAAA,CACdtJ,WAAW,CAACsB,IAAI,CAACiI,SAAS,CAACpL,QAAQ,CAAEqL,cAAc,CAAE,CAAC,CAAC,CAAC,CACxD,GAAInH,WAAW,CAACrB,UAAU,CAAE,CAC1ByI,SAAS,CAACpH,WAAW,CAAElE,QAAQ,CAAC,CAAGuE,UAAU,CAAC,IAAI,CAAC,CAAGA,UAAU,CAAC,KAAK,CAAC,CACzE,CACA,GAAI/D,MAAM,SAANA,MAAM,YAAA2K,YAAA,CAAN3K,MAAM,CAAEyK,IAAI,UAAAE,YAAA,WAAZA,YAAA,CAAcP,MAAM,CAAEW,mBAAmB,CAACvL,QAAQ,CAACwG,aAAa,CAAC,CACvE,CAAC,CAAE,CAACxG,QAAQ,CAAC,CAAC,CAEd9C,SAAS,CAAC,UAAM,KAAAsO,aAAA,CACd,GAAIhL,MAAM,SAANA,MAAM,YAAAgL,aAAA,CAANhL,MAAM,CAAEyK,IAAI,UAAAO,aAAA,WAAZA,aAAA,CAAcZ,MAAM,CAAEW,mBAAmB,CAACvL,QAAQ,CAACwG,aAAa,CAAC,CACvE,CAAC,CAAE,CAAChG,MAAM,CAAC,CAAC,CAEZ,GAAM,CAAA6K,cAAc,CAAG,QAAjB,CAAAA,cAAcA,CAAI3C,GAAG,CAAE+C,KAAK,CAAK,CACrC,GAAI/C,GAAG,GAAK,eAAe,EAAI+C,KAAK,CAAE,CACpC,MAAO,CAAAA,KAAK,CAACxD,OAAO,CAAC,MAAM,CAAE,IAAI,CAAC,CACpC,CACA,MAAO,CAAAwD,KAAK,CACd,CAAC,CAED,GAAM,CAAAC,WAAW,6BAAAC,KAAA,CAAAvD,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAsD,SAAA,MAAAlD,GAAA,CAAAmD,IAAA,QAAAxD,mBAAA,GAAAM,IAAA,UAAAmD,UAAAC,SAAA,iBAAAA,SAAA,CAAAjD,IAAA,CAAAiD,SAAA,CAAAhD,IAAA,SAAAgD,SAAA,CAAAC,EAAA,CAAA3D,mBAAA,GAAAtJ,IAAA,CACFiB,QAAQ,aAAA+L,SAAA,CAAAE,EAAA,CAAAF,SAAA,CAAAC,EAAA,IAAAE,IAAA,EAAAH,SAAA,CAAAhD,IAAA,UAAfL,GAAG,CAAAqD,SAAA,CAAAE,EAAA,CAAAR,KAAA,CACJI,IAAI,CAAG/M,MAAM,CAAC2L,SAAS,CAAC0B,QAAQ,CAACxB,IAAI,CAAC3K,QAAQ,CAAC0I,GAAG,CAAC,CAAC,CAAC0D,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,MAErE1D,GAAG,GAAK,mBAAmB,GACzBmD,IAAI,GAAK,OAAO,EAChBnD,GAAG,GAAK,YAAY,EACpBA,GAAG,GAAK,gBAAgB,EACxBA,GAAG,GAAK,MAAM,EACd1I,QAAQ,CAAC0I,GAAG,CAAC,CAACkC,MAAM,GAAK,CAAC,EACzBiB,IAAI,GAAK,QAAQ,EAAI7L,QAAQ,CAAC0I,GAAG,CAAC,GAAK,EAAG,EAC1CmD,IAAI,GAAK,QAAQ,EAAI7L,QAAQ,CAAC0I,GAAG,CAAC,EAAI,CAAE,CAAC,GAAAqD,SAAA,CAAAhD,IAAA,UAE5CnJ,WAAW,CAAC,2CAA2C,CAAC,QAAAmM,SAAA,CAAAM,MAAA,kBAAAN,SAAA,CAAAhD,IAAA,qBAM1D/G,eAAe,EACfhB,oBAAoB,EACpBI,iBAAiB,EACjBI,gBAAgB,GAAAuK,SAAA,CAAAhD,IAAA,WAEhBnJ,WAAW,CAAC,2CAA2C,CAAC,QAAAmM,SAAA,CAAAM,MAAA,mBAI1D,GAAI,CACF3O,YAAY,CACT4O,IAAI,4BAAAhD,MAAA,CAA4B9J,SAAS,EAAI,CAC5C+M,KAAK,CAAEpJ,IAAI,CAACiI,SAAS,CAACpL,QAAQ,CAAEqL,cAAc,CAAC,CAC/CmB,OAAO,CAAE,IACX,CAAC,CAAC,CACDC,IAAI,CAAC,UAAM,CACV/J,QAAQ,yBAAA4G,MAAA,CAAyB9J,SAAS,CAACqK,WAAW,CAAC,CAAC,CAAE,CAAC,CAC3DxG,cAAc,CAACqJ,OAAO,CAAC,WAAW,CAAE,0BAA0B,CAAC,CAC/DrJ,cAAc,CAACqJ,OAAO,CACpB,SAAS,yBAAApD,MAAA,CACe9J,SAAS,CAACqK,WAAW,CAAC,CAAC,CACjD,CAAC,CACH,CAAC,CAAC,CACDgB,KAAK,CAAC,SAACC,KAAK,CAAK,CAChBE,OAAO,CAACF,KAAK,CAAC,QAAQ,CAAEA,KAAK,CAAC,CAC9B,GAAIA,KAAK,CAACtC,QAAQ,CAACe,MAAM,GAAK,GAAG,EAAIuB,KAAK,CAACtC,QAAQ,CAACe,MAAM,GAAK,GAAG,CAAE,CAClE3J,WAAW,CAACkL,KAAK,CAACC,OAAO,CAAC,CAC5B,CACF,CAAC,CAAC,CACN,CAAE,MAAOD,KAAK,CAAE,CACdE,OAAO,CAACF,KAAK,CAAC,+CAA+C,CAAEA,KAAK,CAAC,CACrElL,WAAW,CAACkL,KAAK,CAACC,OAAO,EAAI,+BAA+B,CAAC,CAC/D,CAAC,yBAAAgB,SAAA,CAAAnF,IAAA,MAAAgF,QAAA,GACF,kBApDK,CAAAF,WAAWA,CAAA,SAAAC,KAAA,CAAA5B,KAAA,MAAAC,SAAA,OAoDhB,CAED,GAAM,CAAA2C,YAAY,CAAG,QAAf,CAAAA,YAAYA,CAAIlB,KAAK,CAAEmB,aAAa,CAAK,CAC7C3L,uBAAuB,CAAC,KAAK,CAAC,CAC9BI,oBAAoB,CAAC,KAAK,CAAC,CAC3BI,mBAAmB,CAAC,KAAK,CAAC,CAC1BxB,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IAAM7M,QAAQ,KAAA8M,eAAA,IAAGF,aAAa,CAAGnB,KAAK,EAAE,CAAC,CAEpD,GACEA,KAAK,GAAK,EAAE,GACX,CAACsB,MAAM,CAACtB,KAAK,CAAC,EACbsB,MAAM,CAACtB,KAAK,CAAC,EAAI,CAAC,EAClBuB,QAAQ,CAACvB,KAAK,CAAC,GAAKwB,UAAU,CAACxB,KAAK,CAAC,CAAC,CACxC,CACAmB,aAAa,GAAK,gBAAgB,CAAG3L,uBAAuB,CAAC,IAAI,CAAC,CAAG,EAAE,CACvE2L,aAAa,GAAK,YAAY,CAAGvL,oBAAoB,CAAC,IAAI,CAAC,CAAG,EAAE,CAChEuL,aAAa,GAAK,YAAY,CAAGnL,mBAAmB,CAAC,IAAI,CAAC,CAAG,EAAE,CACjE,CAAC,IAAM,IAAIgK,KAAK,GAAK,EAAE,CAAE,CACvBxL,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IAAM7M,QAAQ,KAAA8M,eAAA,IAAGF,aAAa,CAAGG,MAAM,CAACtB,KAAK,CAAC,EAAE,CAAC,CAC9D,CACF,CAAC,CAED,GAAM,CAAAyB,cAAc,CAAG,QAAjB,CAAAA,cAAcA,CAAIC,IAAI,CAAK,CAC/B,GAAI3N,SAAS,GAAK,KAAK,CAAE,CACvB,GAAIQ,QAAQ,CAACkG,UAAU,CAACkH,QAAQ,CAACD,IAAI,CAAC,CAAE,CACtClN,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACXkG,UAAU,CAAElG,QAAQ,CAACkG,UAAU,CAACC,MAAM,CAAC,SAACkH,CAAC,QAAK,CAAAA,CAAC,GAAKF,IAAI,GAAC,EAC1D,CAAC,CACJ,CAAC,IAAM,CACLlN,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACXkG,UAAU,IAAAoD,MAAA,CAAAgE,kBAAA,CAAMtN,QAAQ,CAACkG,UAAU,GAAEiH,IAAI,EAAC,EAC3C,CAAC,CACJ,CACF,CAAC,IAAM,CACL,GAAInN,QAAQ,CAACqH,QAAQ,CAAC+F,QAAQ,CAACD,IAAI,CAAC,CAAE,CACpClN,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACXqH,QAAQ,CAAErH,QAAQ,CAACqH,QAAQ,CAAClB,MAAM,CAAC,SAACkH,CAAC,QAAK,CAAAA,CAAC,GAAKF,IAAI,GAAC,EACtD,CAAC,CACJ,CAAC,IAAM,CACLlN,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACXqH,QAAQ,IAAAiC,MAAA,CAAAgE,kBAAA,CAAMtN,QAAQ,CAACqH,QAAQ,GAAE8F,IAAI,EAAC,EACvC,CAAC,CACJ,CACF,CACF,CAAC,CAED,GAAM,CAAAI,aAAa,CAAG,QAAhB,CAAAA,aAAaA,CAAIC,OAAO,CAAK,CACjC,GAAM,CAAAC,GAAG,CAAGtK,IAAI,CAACC,KAAK,CAACD,IAAI,CAACiI,SAAS,CAACpL,QAAQ,CAAC,CAAC,CAChD,GAAIA,QAAQ,CAACwG,aAAa,CAAC4G,QAAQ,CAACI,OAAO,CAAC,CAAE,CAC5C,MAAO,CAAAC,GAAG,CAAC/G,aAAa,CACxB,MAAO,CAAA+G,GAAG,CAAC9G,cAAc,CACzB,MAAO,CAAA8G,GAAG,CAAC7G,IAAI,CACf3G,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACNY,GAAG,MACNjH,aAAa,CAAExG,QAAQ,CAACwG,aAAa,CAACL,MAAM,CAAC,SAACC,IAAI,CAAK,CACrD,GAAIoH,OAAO,GAAK,MAAM,CAAE,CACtB,MAAO,CAAApH,IAAI,GAAK,MAAM,EAAIA,IAAI,GAAK,QAAQ,EAAIA,IAAI,GAAK,OAAO,CACjE,CACA,MAAO,CAAAA,IAAI,GAAKoH,OAAO,CACzB,CAAC,CAAC,CACF/G,YAAY,CAAE,EAAE,EACjB,CAAC,CACJ,CAAC,IAAM,CACL,GAAI,CAAAD,aAAa,CAAG,EAAE,CACtB,GACEgH,OAAO,GAAK,MAAM,EACjB,CAAC,QAAQ,CAAE,OAAO,CAAC,CAACJ,QAAQ,CAACI,OAAO,CAAC,EACpC,CAACxN,QAAQ,CAACwG,aAAa,CAAC4G,QAAQ,CAAC,MAAM,CAAE,CAC3C,KAAAM,aAAA,CACA,GACE1N,QAAQ,CAACyG,YAAY,GAAK,EAAE,EAC5BjG,MAAM,SAANA,MAAM,YAAAkN,aAAA,CAANlN,MAAM,CAAEyK,IAAI,UAAAyC,aAAA,WAAZA,aAAA,CAAcN,QAAQ,CAACpN,QAAQ,CAACyG,YAAY,CAAC,CAC7C,KAAAkH,MAAA,CAAAC,OAAA,CAAAC,OAAA,CACA,GAAM,CAAA7H,IAAI,CAAG5F,YAAY,CAAC+F,MAAM,CAC9B,SAACC,IAAI,QAAK,CAAAA,IAAI,CAAC0H,IAAI,GAAK9N,QAAQ,CAACyG,YAAY,EAC/C,CAAC,CACDgH,GAAG,CAAC/G,aAAa,CAAG,EAAAiH,MAAA,CAAA3H,IAAI,CAAC,CAAC,CAAC,UAAA2H,MAAA,iBAAPA,MAAA,CAASjH,aAAa,GAAI,IAAI,CAClD+G,GAAG,CAAC9G,cAAc,CAAG,EAAAiH,OAAA,CAAA5H,IAAI,CAAC,CAAC,CAAC,UAAA4H,OAAA,iBAAPA,OAAA,CAASjH,cAAc,GAAI,EAAE,CAClD8G,GAAG,CAAC7G,IAAI,CAAG,EAAAiH,OAAA,CAAA7H,IAAI,CAAC,CAAC,CAAC,UAAA6H,OAAA,iBAAPA,OAAA,CAASjH,IAAI,GAAI,EAAE,CAChC,CAAC,IAAM,CACL6G,GAAG,CAAC/G,aAAa,CAAG,EAAE,CACtB+G,GAAG,CAAC9G,cAAc,CAAG,EAAE,CACvB8G,GAAG,CAAC7G,IAAI,CAAG,EAAE,CACf,CACA4G,OAAO,GAAK,MAAM,CACbhH,aAAa,IAAA8C,MAAA,CAAAgE,kBAAA,CAAOtN,QAAQ,CAACwG,aAAa,GAAEgH,OAAO,EAAC,CACpDhH,aAAa,IAAA8C,MAAA,CAAAgE,kBAAA,CAAOtN,QAAQ,CAACwG,aAAa,GAAE,MAAM,CAAEgH,OAAO,EAAE,CACpE,CAAC,IAAM,CACL,GAAIA,OAAO,GAAK,QAAQ,EAAIxN,QAAQ,CAACwG,aAAa,CAAC4G,QAAQ,CAAC,OAAO,CAAC,CAAE,CACpE5G,aAAa,IAAA8C,MAAA,CAAAgE,kBAAA,CACRtN,QAAQ,CAACwG,aAAa,CAACL,MAAM,CAAC,SAACC,IAAI,QAAK,CAAAA,IAAI,GAAK,OAAO,GAAC,GAC5D,MAAM,CACNoH,OAAO,EACR,CACH,CAAC,IAAM,IACLA,OAAO,GAAK,OAAO,EACnBxN,QAAQ,CAACwG,aAAa,CAAC4G,QAAQ,CAAC,QAAQ,CAAC,CACzC,CACA5G,aAAa,IAAA8C,MAAA,CAAAgE,kBAAA,CACRtN,QAAQ,CAACwG,aAAa,CAACL,MAAM,CAAC,SAACC,IAAI,QAAK,CAAAA,IAAI,GAAK,QAAQ,GAAC,GAC7D,MAAM,CACNoH,OAAO,EACR,CACH,CAAC,IAAM,CACLhH,aAAa,IAAA8C,MAAA,CAAAgE,kBAAA,CAAOtN,QAAQ,CAACwG,aAAa,GAAEgH,OAAO,EAAC,CACtD,CACF,CACA,MAAO,CAAAC,GAAG,CAAC/G,aAAa,CACxB,MAAO,CAAA+G,GAAG,CAAC9G,cAAc,CACzB,MAAO,CAAA8G,GAAG,CAAC7G,IAAI,CACf3G,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACNY,GAAG,MACNhH,YAAY,CAAE,EAAE,CAChBD,aAAa,CAAEA,aAAa,EAC7B,CAAC,CACJ,CACF,CAAC,CAED,GAAM,CAAAuH,YAAY,CAAG,QAAf,CAAAA,YAAYA,CAAItC,KAAK,CAAK,CAC9B,GAAIzL,QAAQ,CAACwG,aAAa,CAAC4G,QAAQ,CAAC,MAAM,CAAC,CAAE,KAAAY,aAAA,CAC3C,GAAIxN,MAAM,SAANA,MAAM,YAAAwN,aAAA,CAANxN,MAAM,CAAEyK,IAAI,UAAA+C,aAAA,WAAZA,aAAA,CAAcZ,QAAQ,CAAC3B,KAAK,CAAC,CAAE,KAAAwC,OAAA,CAAAC,OAAA,CAAAC,OAAA,CACjC,GAAM,CAAAnI,IAAI,CAAG5F,YAAY,CAAC+F,MAAM,CAAC,SAACC,IAAI,CAAK,CACzC,MAAO,CAAAA,IAAI,CAAC0H,IAAI,GAAKrC,KAAK,CAC5B,CAAC,CAAC,CACFxL,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACXyG,YAAY,CAAEgF,KAAK,CACnB/E,aAAa,CAAE,EAAAuH,OAAA,CAAAjI,IAAI,CAAC,CAAC,CAAC,UAAAiI,OAAA,iBAAPA,OAAA,CAASvH,aAAa,GAAI,IAAI,CAC7CC,cAAc,CAAE,EAAAuH,OAAA,CAAAlI,IAAI,CAAC,CAAC,CAAC,UAAAkI,OAAA,iBAAPA,OAAA,CAASvH,cAAc,GAAI,EAAE,CAC7CC,IAAI,CAAE,EAAAuH,OAAA,CAAAnI,IAAI,CAAC,CAAC,CAAC,UAAAmI,OAAA,iBAAPA,OAAA,CAASvH,IAAI,GAAI,EAAE,EAC1B,CAAC,CACJ,CAAC,IAAM,CACL3G,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACXyG,YAAY,CAAEgF,KAAK,CACnB/E,aAAa,CAAE,EAAE,CACjBC,cAAc,CAAE,EAAE,CAClBC,IAAI,CAAE,EAAE,EACT,CAAC,CACJ,CACF,CAAC,IAAM,CACL3G,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACXyG,YAAY,CAAEgF,KAAK,EACpB,CAAC,CACJ,CACF,CAAC,CAED,GAAM,CAAA2C,qBAAqB,CAAG,QAAxB,CAAAA,qBAAqBA,CAAI3C,KAAK,CAAK,CACvC,GAAM,CAAA4C,GAAG,IAAA/E,MAAA,CAAAgE,kBAAA,CAAO1M,YAAY,GAAE6K,KAAK,EAAC,CACpC5K,eAAe,CAACwN,GAAG,CAAC,CACpB,GAAI7O,SAAS,GAAK,KAAK,CAAE,CACvBS,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACXkG,UAAU,CAAEoI,KAAK,CAACC,IAAI,CAAC,GAAI,CAAAC,GAAG,IAAAlF,MAAA,CAAAgE,kBAAA,CAAKtN,QAAQ,CAACkG,UAAU,EAAAoH,kBAAA,CAAKe,GAAG,EAAC,CAAC,CAAC,EAClE,CAAC,CACJ,CAAC,IAAM,CACLpO,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACXqH,QAAQ,CAAEiH,KAAK,CAACC,IAAI,CAAC,GAAI,CAAAC,GAAG,IAAAlF,MAAA,CAAAgE,kBAAA,CAAKtN,QAAQ,CAACqH,QAAQ,EAAAiG,kBAAA,CAAKe,GAAG,EAAC,CAAC,CAAC,EAC9D,CAAC,CACJ,CACF,CAAC,CAED,GAAM,CAAAI,qBAAqB,CAAG,QAAxB,CAAAA,qBAAqBA,CAAIrI,IAAI,CAAK,CACtC,GAAM,CAAAiI,GAAG,CAAGzN,YAAY,CAACuF,MAAM,CAAC,SAACuI,OAAO,QAAK,CAAAA,OAAO,GAAKtI,IAAI,GAAC,CAC9DvF,eAAe,CAACwN,GAAG,CAAC,CACpB,GAAI7O,SAAS,GAAK,KAAK,CAAE,CACvBS,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACXkG,UAAU,CAAElG,QAAQ,CAACkG,UAAU,CAACC,MAAM,CAAC,SAACuI,OAAO,QAAK,CAAAA,OAAO,GAAKtI,IAAI,GAAC,EACtE,CAAC,CACJ,CAAC,IAAM,CACLnG,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACXqH,QAAQ,CAAErH,QAAQ,CAACqH,QAAQ,CAAClB,MAAM,CAAC,SAACuI,OAAO,QAAK,CAAAA,OAAO,GAAKtI,IAAI,GAAC,EAClE,CAAC,CACJ,CACF,CAAC,CAED,GAAM,CAAAuI,WAAW,CAAG,QAAd,CAAAA,WAAWA,CAAIN,GAAG,CAAErM,eAAe,CAAK,CAC5C/B,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IAAM7M,QAAQ,MAAEuD,WAAW,CAAE8K,GAAG,EAAE,CAAC,CAC9CpM,kBAAkB,CAACD,eAAe,CAAC,CACrC,CAAC,CAED,GAAM,CAAA4M,gBAAgB,CAAG,QAAnB,CAAAA,gBAAgBA,CAAIP,GAAG,CAAK,CAChCpO,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IAAM7M,QAAQ,MAAE4D,UAAU,CAAEyK,GAAG,EAAE,CAAC,CAC/C,CAAC,CAED,GAAM,CAAAQ,YAAY,CAAG,QAAf,CAAAA,YAAYA,CAAA,CAAS,CACzBnM,QAAQ,yBAAA4G,MAAA,CAAyB1G,iBAAiB,CAAE,CAAC,CACvD,CAAC,CAED,GAAM,CAAAkM,UAAU,CAAG,QAAb,CAAAA,UAAUA,CAAA,CAAS,CACvBpR,YAAY,CACTqR,MAAM,4BAAAzF,MAAA,CAEH1G,iBAAiB,GAAK,KAAK,CAAG,KAAK,CAAGA,iBAAiB,MAAA0G,MAAA,CACrDzG,UAAU,CAChB,CAAC,CACA4J,IAAI,CAAC,iBAAM,CAAAf,WAAW,CAAC,CAAC,GAAC,CACzBb,KAAK,CAAC,SAACC,KAAK,CAAK,CAChBE,OAAO,CAACF,KAAK,CAAC,QAAQ,CAAEA,KAAK,CAAC,CAC9B,GAAIA,KAAK,CAACtC,QAAQ,CAACe,MAAM,GAAK,GAAG,EAAIuB,KAAK,CAACtC,QAAQ,CAACe,MAAM,GAAK,GAAG,CAAE,CAClE3J,WAAW,CAACkL,KAAK,CAACC,OAAO,CAAC,CAC5B,CACF,CAAC,CAAC,CACN,CAAC,CAED,GAAM,CAAAO,SAAS,CAAG,QAAZ,CAAAA,SAASA,CAAI0D,IAAI,CAAEC,IAAI,CAAK,CAChC,GAAID,IAAI,GAAKC,IAAI,CAAE,MAAO,KAAI,CAC9B,GACE,MAAO,CAAAD,IAAI,GAAK,QAAQ,EACxB,MAAO,CAAAC,IAAI,GAAK,QAAQ,EACxBD,IAAI,EAAI,IAAI,EACZC,IAAI,EAAI,IAAI,CACZ,CACA,MAAO,MAAK,CACd,CAEA,GAAI,CAAAC,KAAK,CAAGpQ,MAAM,CAACC,IAAI,CAACiQ,IAAI,CAAC,CAC7B,GAAI,CAAAG,KAAK,CAAGrQ,MAAM,CAACC,IAAI,CAACkQ,IAAI,CAAC,CAC7B,GAAIC,KAAK,CAACtE,MAAM,GAAKuE,KAAK,CAACvE,MAAM,CAAE,MAAO,MAAK,CAC/C,QAAAwE,EAAA,GAAAC,MAAA,CAAgBH,KAAK,CAAAE,EAAA,CAAAC,MAAA,CAAAzE,MAAA,CAAAwE,EAAA,GAAE,CAAlB,GAAI,CAAA1G,GAAG,CAAA2G,MAAA,CAAAD,EAAA,EACV,GAAI,CAACD,KAAK,CAAC/B,QAAQ,CAAC1E,GAAG,CAAC,EAAI,CAAC4C,SAAS,CAAC0D,IAAI,CAACtG,GAAG,CAAC,CAAEuG,IAAI,CAACvG,GAAG,CAAC,CAAC,CAAE,CAC5D,MAAO,MAAK,CACd,CACF,CACA,MAAO,KAAI,CACb,CAAC,CAED,GAAM,CAAA4G,UAAU,CAAG,QAAb,CAAAA,UAAUA,CAAA,CAAS,CACvB3K,UAAU,CAAC,EAAE,CAAC,CACd,GAAI3E,QAAQ,CAAC0G,aAAa,CAAE,CAC1B,GAAI,CACF3J,QAAQ,CAACwS,SAAS,CAAC,CAAEC,UAAU,CAAE,KAAM,CAAC,CAAC,CACzC,GAAM,CAAAC,QAAQ,CAAG1S,QAAQ,CAAC2S,YAAY,CAAC1P,QAAQ,CAAC0G,aAAa,CAAE,CAC7DhI,QAAQ,CAAEA,QACZ,CAAC,CAAC,CACF,GAAI+Q,QAAQ,GAAK,EAAE,CAAE,CACnB9K,UAAU,CAAC8K,QAAQ,CAAC,CACpBtK,gBAAgB,CAAC,OAAO,CAAC,CAC3B,CAAC,IAAM,CACLR,UAAU,CAAC8K,QAAQ,CAAC,CACpBtK,gBAAgB,CAAC,EAAE,CAAC,CACtB,CACF,CAAE,MAAO2F,KAAK,CAAE,CACd3F,gBAAgB,IAAAmE,MAAA,CAAIwB,KAAK,CAAE,CAAC,CAC9B,CACF,CACF,CAAC,CAED,GAAM,CAAA6E,eAAe,CAAG,QAAlB,CAAAA,eAAeA,CAAIlE,KAAK,CAAK,CACjC,GAAIA,KAAK,CAACb,MAAM,GAAK,CAAC,EAAIa,KAAK,CAAC,CAAC,CAAC,GAAK,EAAE,CAAE,CACzCxL,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACX2G,cAAc,CAAE,EAAE,EACnB,CAAC,CACJ,CAAC,IAAM,CACL1G,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACX2G,cAAc,CAAE8E,KAAK,EACtB,CAAC,CACJ,CACF,CAAC,CAED,GAAM,CAAAmE,OAAO,CAAG,QAAV,CAAAA,OAAOA,CAAInE,KAAK,CAAK,CACzB,GAAIA,KAAK,CAACb,MAAM,GAAK,CAAC,EAAIa,KAAK,CAAC,CAAC,CAAC,GAAK,EAAE,CAAE,CACzCxL,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACX4G,IAAI,CAAE,EAAE,EACT,CAAC,CACJ,CAAC,IAAM,CACL3G,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACX4G,IAAI,CAAE6E,KAAK,EACZ,CAAC,CACJ,CACF,CAAC,CAED,GAAM,CAAAoE,iBAAiB,CAAG,QAApB,CAAAA,iBAAiBA,CAAA,CAAS,KAAAC,qBAAA,CAAAC,cAAA,CAAAC,sBAAA,CAAAC,aAAA,CAC9B,GACE,CAAAH,qBAAA,CAAA9P,QAAQ,CAACwG,aAAa,UAAAsJ,qBAAA,WAAtBA,qBAAA,CAAwB1C,QAAQ,CAAC,QAAQ,CAAC,EAC1C,EAAC5M,MAAM,SAANA,MAAM,YAAAuP,cAAA,CAANvP,MAAM,CAAE0P,MAAM,UAAAH,cAAA,WAAdA,cAAA,CAAgB3C,QAAQ,CAACpN,QAAQ,CAACyG,YAAY,CAAC,EAChD,CACA,MAAO,KAAI,CACb,CAAC,IAAM,IACL,CAAAuJ,sBAAA,CAAAhQ,QAAQ,CAACwG,aAAa,UAAAwJ,sBAAA,WAAtBA,sBAAA,CAAwB5C,QAAQ,CAAC,OAAO,CAAC,EACzC,EAAC5M,MAAM,SAANA,MAAM,YAAAyP,aAAA,CAANzP,MAAM,CAAE2P,KAAK,UAAAF,aAAA,WAAbA,aAAA,CAAe7C,QAAQ,CAACpN,QAAQ,CAACyG,YAAY,CAAC,EAC/C,CACA,MAAO,KAAI,CACb,CACA,MAAO,MAAK,CACd,CAAC,CAED,GAAM,CAAA2J,uBAAuB,CAAG,QAA1B,CAAAA,uBAAuBA,CAAA,CAAS,CACpC,GACE,CAAA1K,aAAa,SAAbA,aAAa,iBAAbA,aAAa,CAAES,MAAM,CAAC,SAACC,IAAI,QAAK,CAAAA,IAAI,CAACiK,EAAE,GAAKrQ,QAAQ,CAACyG,YAAY,GAAC,CAC/DmE,MAAM,IAAK,CAAC,EACf,CAAC5K,QAAQ,CAAC0G,aAAa,CACvB,CACA,MAAO,KAAI,CACb,CACA,MAAO,MAAK,CACd,CAAC,CAED,GAAM,CAAA6E,mBAAmB,CAAG,QAAtB,CAAAA,mBAAmBA,CAAI/E,aAAa,CAAK,CAC7C,GAAIA,aAAa,CAAC4G,QAAQ,CAAC,QAAQ,CAAC,CAAE,KAAAkD,eAAA,CACpCvK,mBAAmB,CAAC,KAAK,CAAC,CAC1BJ,gBAAgB,CACdnF,MAAM,SAANA,MAAM,kBAAA8P,eAAA,CAAN9P,MAAM,CAAE0P,MAAM,UAAAI,eAAA,iBAAdA,eAAA,CAAgBxJ,GAAG,CAAC,SAACV,IAAI,CAAK,CAC5B,MAAO,CACLiK,EAAE,CAAEjK,IAAI,CACRmK,KAAK,CAAEnK,IACT,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,IAAM,IAAII,aAAa,CAAC4G,QAAQ,CAAC,OAAO,CAAC,CAAE,KAAAoD,cAAA,CAC1CzK,mBAAmB,CAAC,KAAK,CAAC,CAC1BJ,gBAAgB,CACdnF,MAAM,SAANA,MAAM,kBAAAgQ,cAAA,CAANhQ,MAAM,CAAE2P,KAAK,UAAAK,cAAA,iBAAbA,cAAA,CAAe1J,GAAG,CAAC,SAACV,IAAI,CAAK,CAC3B,MAAO,CACLiK,EAAE,CAAEjK,IAAI,CACRmK,KAAK,CAAEnK,IACT,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,IAAM,IAAII,aAAa,CAAC4G,QAAQ,CAAC,MAAM,CAAC,CAAE,KAAAqD,aAAA,CACzC1K,mBAAmB,CAAC,IAAI,CAAC,CACzBJ,gBAAgB,CACdnF,MAAM,SAANA,MAAM,kBAAAiQ,aAAA,CAANjQ,MAAM,CAAEyK,IAAI,UAAAwF,aAAA,iBAAZA,aAAA,CAAc3J,GAAG,CAAC,SAACV,IAAI,CAAK,CAC1B,MAAO,CACLiK,EAAE,CAAEjK,IAAI,CACRmK,KAAK,CAAEnK,IACT,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,IAAM,IAAII,aAAa,CAAC4G,QAAQ,CAAC,UAAU,CAAC,CAAE,KAAAsD,gBAAA,CAC7C3K,mBAAmB,CAAC,IAAI,CAAC,CACzBJ,gBAAgB,CACdnF,MAAM,SAANA,MAAM,kBAAAkQ,gBAAA,CAANlQ,MAAM,CAAEmQ,QAAQ,UAAAD,gBAAA,iBAAhBA,gBAAA,CAAkB5J,GAAG,CAAC,SAACV,IAAI,CAAK,CAC9B,MAAO,CACLiK,EAAE,CAAEjK,IAAI,CACRmK,KAAK,CAAEnK,IACT,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,IAAM,CACLL,mBAAmB,CAAC,IAAI,CAAC,CACzBJ,gBAAgB,CAAC,EAAE,CAAC,CACtB,CACF,CAAC,CAED,mBACExH,KAAA,CAACvC,GAAG,EAACgV,KAAK,CAAE,CAAEC,OAAO,CAAE,MAAM,CAAEC,QAAQ,CAAE,QAAQ,CAAEC,QAAQ,CAAE,MAAO,CAAE,CAAAC,QAAA,eACpE7S,KAAA,QAAK8S,SAAS,CAAC,WAAW,CAAAD,QAAA,eACxB/S,IAAA,MAAA+S,QAAA,CAAG,qCAAmC,CAAG,CAAC,CACzChO,MAAM,cACL/E,IAAA,CAACnB,OAAO,EAACoU,KAAK,CAAC,SAAS,CAACC,SAAS,CAAC,KAAK,CAAAH,QAAA,cACtC/S,IAAA,CAAC1C,4BAA4B,EAC3B0V,SAAS,CAAC,YAAY,CACtBG,OAAO,CAAE,SAAAA,QAAA,QAAM,CAAAnO,SAAS,CAAC,CAACD,MAAM,CAAC,EAAC,CACnC,CAAC,CACK,CAAC,cAEV/E,IAAA,CAACnB,OAAO,EAACoU,KAAK,CAAC,QAAQ,CAACC,SAAS,CAAC,KAAK,CAAAH,QAAA,cACrC/S,IAAA,CAACzC,SAAS,EACRyV,SAAS,CAAC,YAAY,CACtBG,OAAO,CAAE,SAAAA,QAAA,QAAM,CAAAnO,SAAS,CAAC,CAACD,MAAM,CAAC,EAAC,CACnC,CAAC,CACK,CACV,EACE,CAAC,cACN7E,KAAA,QAAKkT,GAAG,CAAE/O,SAAU,CAAC2O,SAAS,CAAEjO,MAAM,CAAG,SAAS,CAAG,iBAAkB,CAAAgO,QAAA,eAErE7S,KAAA,CAAC/B,WAAW,EAACwU,KAAK,CAAE,CAAEU,KAAK,CAAE,MAAO,CAAE,CAAAN,QAAA,EAEnCvR,UAAU,CAACoD,UAAU,eACpB1E,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACpB,SAAS,EACR0T,KAAK,CAAC,YAAY,CAClBzF,KAAK,CAAE9K,QAAQ,CAAC6C,UAAU,CAAG,KAAK,CAAG,IAAK,CAC1C4I,KAAK,CAAEzL,QAAQ,CAAC6C,UAAW,CAC3B0O,IAAI,CAAC,OAAO,CACZC,UAAU,CAAC,gHAAgH,CAC3HC,QAAQ,CAAE,SAAAA,SAACC,KAAK,QACd,CAAAzR,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IAAM7M,QAAQ,MAAE6C,UAAU,CAAE6O,KAAK,CAACC,MAAM,CAAClG,KAAK,EAAE,CAAC,EAC7D,CACF,CAAC,cACFxN,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGAnS,UAAU,CAAC6G,iBAAiB,eAC3BnI,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACpB,SAAS,EACR0T,KAAK,CAAC,8BAA8B,CACpC9E,KAAK,CAAEzL,QAAQ,CAACsG,iBAAkB,CAClCiL,IAAI,CAAC,OAAO,CACZE,QAAQ,CAAE,SAAAA,SAACC,KAAK,QACd,CAAAzR,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACXsG,iBAAiB,CAAEoL,KAAK,CAACC,MAAM,CAAClG,KAAK,EACtC,CAAC,EACH,CACF,CAAC,cACFxN,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGAnS,UAAU,CAAC8G,cAAc,eACxBpI,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACpB,SAAS,EACRiO,KAAK,CAAEiC,MAAM,CAAC/M,QAAQ,CAACuG,cAAc,CAAC,CAAG,CAAC,CAAG,KAAK,CAAG,IAAK,CAC1DgK,KAAK,CAAC,gBAAgB,CACtB9E,KAAK,CAAEzL,QAAQ,CAACuG,cAAe,CAC/BgL,IAAI,CAAC,OAAO,CACZE,QAAQ,CAAE,SAAAA,SAACC,KAAK,CAAK,CACnB/E,YAAY,CAAC+E,KAAK,CAACC,MAAM,CAAClG,KAAK,CAAE,gBAAgB,CAAC,CACpD,CAAE,CACH,CAAC,CACDzK,oBAAoB,eACnB/C,IAAA,CAACvC,KAAK,EAACmW,QAAQ,CAAC,OAAO,CAAAb,QAAA,CAAC,yCAExB,CAAO,CACR,cACD/S,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGAnS,UAAU,CAAC6H,UAAU,eACpBnJ,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACpB,SAAS,EACR0T,KAAK,CAAC,YAAY,CAClBzF,KAAK,CAAEiC,MAAM,CAAC/M,QAAQ,CAACsH,UAAU,CAAC,CAAG,CAAC,CAAG,KAAK,CAAG,IAAK,CACtDmE,KAAK,CAAEzL,QAAQ,CAACsH,UAAW,CAC3BiK,IAAI,CAAC,OAAO,CACZE,QAAQ,CAAE,SAAAA,SAACC,KAAK,CAAK,CACnB/E,YAAY,CAAC+E,KAAK,CAACC,MAAM,CAAClG,KAAK,CAAE,YAAY,CAAC,CAChD,CAAE,CACH,CAAC,CACDrK,iBAAiB,eAChBnD,IAAA,CAACvC,KAAK,EAACmW,QAAQ,CAAC,OAAO,CAAAb,QAAA,CAAC,yCAExB,CAAO,CACR,cACD/S,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGAnS,UAAU,CAAC8H,UAAU,eACpBpJ,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACpB,SAAS,EACR0T,KAAK,CAAC,YAAY,CAClBzF,KAAK,CAAEiC,MAAM,CAAC/M,QAAQ,CAACuH,UAAU,CAAC,CAAG,CAAC,CAAG,KAAK,CAAG,IAAK,CACtDkE,KAAK,CAAEzL,QAAQ,CAACuH,UAAW,CAC3BgK,IAAI,CAAC,OAAO,CACZE,QAAQ,CAAE,SAAAA,SAACC,KAAK,CAAK,CACnB/E,YAAY,CAAC+E,KAAK,CAACC,MAAM,CAAClG,KAAK,CAAE,YAAY,CAAC,CAChD,CAAE,CACH,CAAC,CACDjK,gBAAgB,eACfvD,IAAA,CAACvC,KAAK,EAACmW,QAAQ,CAAC,OAAO,CAAAb,QAAA,CAAC,yCAExB,CAAO,CACR,cACD/S,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGAnS,UAAU,CAACsH,SAAS,eACnB5I,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACpB,SAAS,EACR0T,KAAK,CAAC,YAAY,CAClBzF,KAAK,CAAE9K,QAAQ,CAAC+G,SAAS,CAAG,KAAK,CAAG,IAAK,CACzC0E,KAAK,CAAEzL,QAAQ,CAAC+G,SAAU,CAC1BwK,IAAI,CAAC,OAAO,CACZC,UAAU,CAAC,mCAAmC,CAC9CC,QAAQ,CAAE,SAAAA,SAACC,KAAK,QACd,CAAAzR,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IAAM7M,QAAQ,MAAE+G,SAAS,CAAE2K,KAAK,CAACC,MAAM,CAAClG,KAAK,EAAE,CAAC,EAC5D,CACF,CAAC,cACFxN,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGA,CAACnS,UAAU,CAACyG,UAAU,EAAIzG,UAAU,CAAC4H,QAAQ,gBAC5ClJ,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,UACE2S,KAAK,CAAE,CACLkB,WAAW,CAAE,CAAC,CACdC,KAAK,CACHvS,SAAS,GAAK,KAAK,CACfQ,QAAQ,CAACkG,UAAU,CAAC0E,MAAM,GAAK,CAAC,CAC9B,SAAS,CACT,SAAS,CACX5K,QAAQ,CAACqH,QAAQ,CAACuD,MAAM,GAAK,CAAC,CAC9B,SAAS,CACT,SACR,CAAE,CAAAoG,QAAA,CACH,iBAED,CAAO,CAAC,cACR7S,KAAA,CAACvC,GAAG,EAACqV,SAAS,CAAC,iBAAiB,CAAAD,QAAA,EAC7BnS,mBAAmB,CAACiI,GAAG,CAAC,SAACqG,IAAI,qBAC5BlP,IAAA,CAACrC,GAAG,EAAYoW,EAAE,CAAE,CAAEC,WAAW,CAAE,MAAO,CAAE,CAAAjB,QAAA,cAC1C/S,IAAA,CAAC5B,gBAAgB,EACf6V,OAAO,cACLjU,IAAA,CAACnC,QAAQ,EACPqW,OAAO,CACL3S,SAAS,GAAK,KAAK,CACfQ,QAAQ,CAACkG,UAAU,CAACkH,QAAQ,CAACD,IAAI,CAAC,CAClCnN,QAAQ,CAACqH,QAAQ,CAAC+F,QAAQ,CAACD,IAAI,CACpC,CACDsE,QAAQ,CAAE,SAAAA,SAAA,QAAM,CAAAvE,cAAc,CAACC,IAAI,CAAC,EAAC,CACrCW,IAAI,CAAEX,IAAK,CACZ,CACF,CACDoD,KAAK,CAAEjS,wBAAwB,CAAC6O,IAAI,CAAE,CACtCyD,KAAK,CAAE,CACLkB,WAAW,CAAE,EACf,CAAE,CACH,CAAC,EAjBM3E,IAkBL,CAAC,EACP,CAAC,cACFhP,KAAA,CAAC/B,WAAW,EAAC4V,EAAE,CAAE,CAAEI,CAAC,CAAE,CAAC,CAAEC,QAAQ,CAAE,GAAI,CAAE,CAACd,IAAI,CAAC,OAAO,CAAAP,QAAA,eACpD/S,IAAA,CAAC3B,UAAU,EAAA0U,QAAA,CAAC,WAAS,CAAY,CAAC,cAClC/S,IAAA,CAACvB,MAAM,EACL+O,KAAK,CAAE,EAAG,CACV8E,KAAK,CAAC,WAAW,CACjBkB,QAAQ,CAAE,SAAAA,SAACa,CAAC,QAAK,CAAAlE,qBAAqB,CAACkE,CAAC,CAACX,MAAM,CAAClG,KAAK,CAAC,EAAC,CACvD8G,SAAS,CAAE,CACTC,UAAU,CAAE,CACV5B,KAAK,CAAE,CAAE6B,SAAS,CAAE,MAAO,CAC7B,CACF,CAAE,CAAAzB,QAAA,CAEDjT,SAAS,CACPoI,MAAM,CAAC,SAACC,IAAI,QAAK,CAACxF,YAAY,CAACwM,QAAQ,CAAChH,IAAI,CAACsM,IAAI,CAAC,GAAC,CACnD5L,GAAG,CAAC,SAACV,IAAI,qBACRnI,IAAA,CAAC1B,QAAQ,EAAiBkP,KAAK,CAAErF,IAAI,CAACsM,IAAK,CAAA1B,QAAA,CACxC5K,IAAI,CAACsM,IAAI,EADGtM,IAAI,CAACsM,IAEV,CAAC,EACZ,CAAC,CACE,CAAC,EACE,CAAC,EACX,CAAC,cACNzU,IAAA,CAACtB,KAAK,EAACgW,SAAS,CAAC,KAAK,CAACC,OAAO,CAAE,CAAE,CAAChC,KAAK,CAAE,CAAEiC,UAAU,CAAE,MAAO,CAAE,CAAA7B,QAAA,CAC9DpQ,YAAY,CAACkG,GAAG,CAAC,SAACV,IAAI,qBACrBnI,IAAA,CAAClC,IAAI,EAEHwU,KAAK,CAAEnK,IAAK,CACZ0M,OAAO,CAAC,UAAU,CAClBvB,IAAI,CAAC,OAAO,CACZQ,KAAK,CAAC,SAAS,CACfgB,QAAQ,CAAE,SAAAA,SAAA,QAAM,CAAAtE,qBAAqB,CAACrI,IAAI,CAAC,EAAC,EALvCA,IAMN,CAAC,EACH,CAAC,CACG,CAAC,cACRnI,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGA,cAAc,EAAI,CAAAnS,UAAU,eAC3BtB,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,UACE2S,KAAK,CAAE,CACLkB,WAAW,CAAE,CACf,CAAE,CAAAd,QAAA,CACH,cAED,CAAO,CAAC,cACR/S,IAAA,CAAC5B,gBAAgB,EACfuU,KAAK,CAAE,CAAEiC,UAAU,CAAE,CAAC,CAAEvB,KAAK,CAAE,EAAG,CAAE,CACpCY,OAAO,cAAEjU,IAAA,CAACrB,MAAM,EAACuV,OAAO,CAAEnS,QAAQ,CAAC2H,YAAa,CAAE,CAAE,CACpD8J,QAAQ,CAAE,SAAAA,SAACa,CAAC,QACV,CAAArS,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IAAM7M,QAAQ,MAAE2H,YAAY,CAAE2K,CAAC,CAACX,MAAM,CAACQ,OAAO,EAAE,CAAC,EAC7D,CACF,CAAC,cACFlU,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGAnS,UAAU,CAAC+G,aAAa,eACvBrI,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,UACE2S,KAAK,CAAE,CACLkB,WAAW,CAAE,CAAC,CACdC,KAAK,CACH/R,QAAQ,CAACwG,aAAa,CAACoE,MAAM,EAAI,CAAC,CAAG,SAAS,CAAG,SACrD,CAAE,CAAAoG,QAAA,CACH,iBAED,CAAO,CAAC,cACR/S,IAAA,CAACrC,GAAG,EAACqV,SAAS,CAAC,iBAAiB,CAAAD,QAAA,CAC7BvS,kBAAkB,CAACqI,GAAG,CAAC,SAAC0G,OAAO,qBAC9BvP,IAAA,CAACrC,GAAG,EAAeoW,EAAE,CAAE,CAAEC,WAAW,CAAE,MAAO,CAAE,CAAAjB,QAAA,cAC7C/S,IAAA,CAAC5B,gBAAgB,EACf6V,OAAO,cACLjU,IAAA,CAACnC,QAAQ,EACPqW,OAAO,CAAEnS,QAAQ,CAACwG,aAAa,CAAC4G,QAAQ,CACtCI,OAAO,CAAC3D,WAAW,CAAC,CACtB,CAAE,CACF4H,QAAQ,CAAE,SAAAA,SAAA,QAAM,CAAAlE,aAAa,CAACC,OAAO,CAAC3D,WAAW,CAAC,CAAC,CAAC,EAAC,CACrDiE,IAAI,CAAEN,OAAQ,CACf,CACF,CACD+C,KAAK,CAAE/C,OAAQ,CACfoD,KAAK,CAAE,CACLkB,WAAW,CAAE,EACf,CAAE,CACH,CAAC,EAfMtE,OAgBL,CAAC,EACP,CAAC,CACC,CAAC,cACNvP,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGA,CAACnS,UAAU,CAACgH,YAAY,GAAK,EAAE,EAAIhH,UAAU,CAACgH,YAAY,gBACzDtI,KAAA,CAAAE,SAAA,EAAA2S,QAAA,EACGxR,SAAS,GAAK,KAAK,eAClBrB,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACtC,YAAY,EACX0U,EAAE,CAAC,gBAAgB,CACnB2C,QAAQ,CAAElN,gBAAiB,CAC3BmN,OAAO,CAAEvN,aAAa,EAAI,EAAG,CAC7B6L,IAAI,CAAC,OAAO,CACZ2B,WAAW,CAAE,SAAAA,YAACC,MAAM,qBAClBlV,IAAA,CAACpB,SAAS,CAAAgQ,aAAA,CAAAA,aAAA,IACJsG,MAAM,MACV3B,UAAU,CACR1L,gBAAgB,CACZ,4DAA4D,CAC5D,+CACL,CACDsN,UAAU,CAAAvG,aAAA,CAAAA,aAAA,IACLsG,MAAM,CAACC,UAAU,MACpBC,QAAQ,CAAE,CAACvN,gBAAgB,EAC3B,CACFyK,KAAK,CAAC,cAAc,EACrB,CAAC,EACF,CACF9E,KAAK,CAAEzL,QAAQ,CAACyG,YAAa,CAC7BgL,QAAQ,CAAE,SAAAA,SAAC6B,CAAC,CAAEC,QAAQ,CAAK,CACzBxF,YAAY,CAACwF,QAAQ,SAARA,QAAQ,iBAARA,QAAQ,CAAElD,EAAE,CAAC,CAC5B,CAAE,CACFmD,aAAa,CAAE,SAAAA,cAACF,CAAC,CAAEG,aAAa,CAAK,CACnC,GAAI3N,gBAAgB,CAAE,CACpBiI,YAAY,CAAC0F,aAAa,CAAC,CAC7B,CACF,CAAE,CACH,CAAC,cACFxV,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CACA,CAACpS,SAAS,GAAK,OAAO,EAAIA,SAAS,GAAK,OAAO,gBAC9CrB,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE7S,KAAA,CAAC/B,WAAW,EAAA4U,QAAA,eACV/S,IAAA,UACE2S,KAAK,CAAE,CACLkB,WAAW,CAAE,CAAC,CACdC,KAAK,CAAE,SACT,CAAE,CAAAf,QAAA,CACH,cAED,CAAO,CAAC,cACR/S,IAAA,CAACxB,UAAU,EAACgP,KAAK,CAAEzL,QAAQ,CAACyG,YAAa,CAAAuK,QAAA,cACvC/S,IAAA,CAACrC,GAAG,EACFqV,SAAS,CAAC,iBAAiB,CAC3BL,KAAK,CAAE,CAAEkB,WAAW,CAAE,MAAO,CAAE,CAAAd,QAAA,cAE/B/S,IAAA,CAAC5B,gBAAgB,EACfoP,KAAK,CAAEzL,QAAQ,CAACyG,YAAa,CAC7B0L,OAAO,MACPD,OAAO,cAAEjU,IAAA,CAACzB,KAAK,GAAE,CAAE,CACnB+T,KAAK,CAAEvQ,QAAQ,CAACyG,YAAa,CAC9B,CAAC,CACC,CAAC,CACI,CAAC,EACF,CAAC,cACdxI,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,EACD,CACH,CAGA,EAAA1S,sBAAA,CAAAc,QAAQ,CAACwG,aAAa,UAAAtH,sBAAA,iBAAtBA,sBAAA,CAAwBkO,QAAQ,CAAC,MAAM,CAAC,gBACvCjP,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE7S,KAAA,QAAK8S,SAAS,CAAC,mBAAmB,CAAAD,QAAA,eAChC/S,IAAA,CAACpB,SAAS,EACR0T,KAAK,CAAC,eAAe,CACrBzF,KAAK,CAAEsF,uBAAuB,CAAC,CAAE,CACjC3E,KAAK,CAAEzL,QAAQ,CAAC0G,aAAa,EAAI,EAAG,CACpC6K,IAAI,CAAC,OAAO,CACZC,UAAU,CAAC,iMAAiM,CAC5MkC,SAAS,MACTC,IAAI,CAAE,CAAE,CACRlC,QAAQ,CAAE,SAAAA,SAACC,KAAK,QACd,CAAAzR,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACN7M,QAAQ,MACX0G,aAAa,CAAEgL,KAAK,CAACC,MAAM,CAAClG,KAAK,EAClC,CAAC,EACH,CACDmF,KAAK,CAAE,CAAEgD,IAAI,CAAE,CAAE,CAAE,CACpB,CAAC,cACF3V,IAAA,CAACpC,MAAM,EACLiX,OAAO,CAAC,WAAW,CACnB1B,OAAO,CAAE9B,UAAW,CACpBsB,KAAK,CAAE,CAAEiD,SAAS,CAAE,EAAG,CAAE,CAAA7C,QAAA,CAC1B,MAED,CAAQ,CAAC,cACT7S,KAAA,QAAK8S,SAAS,CAAC,oBAAoB,CAAAD,QAAA,eACjC7S,KAAA,QAAK8S,SAAS,CAAC,4BAA4B,CAAAD,QAAA,eACzC7S,KAAA,QACEyS,KAAK,CAAE,CAAEC,OAAO,CAAE,MAAM,CAAEiD,UAAU,CAAE,QAAQ,CAAEC,GAAG,CAAE,CAAE,CAAE,CAAA/C,QAAA,eAEzD/S,IAAA,SAAM2S,KAAK,CAAE,CAAEoD,QAAQ,CAAE,EAAG,CAAE,CAAAhD,QAAA,CAAC,kBAAgB,CAAM,CAAC,cACtD/S,IAAA,CAACxC,cAAc,EACb2V,OAAO,CAAE,SAAAA,QAAA,QAAM,CAAArM,iBAAiB,CAAC,IAAI,CAAC,EAAC,CACvC6L,KAAK,CAAE,CACLoD,QAAQ,CAAE,EAAE,CACZjC,KAAK,CAAE,MAAM,CACbkC,MAAM,CAAE,SACV,CAAE,CACH,CAAC,EACC,CAAC,cACN9V,KAAA,QAAA6S,QAAA,eACE7S,KAAA,SACEyS,KAAK,CAAE,CACLC,OAAO,CAAE,MAAM,CACfiD,UAAU,CAAE,QAAQ,CACpBC,GAAG,CAAE,EAAE,CACPC,QAAQ,CAAE,EACZ,CAAE,CAAAhD,QAAA,EACH,aAEC,CAAC9L,aAAa,cACZjH,IAAA,CAAC5C,MAAM,EAACuV,KAAK,CAAE,CAAEmB,KAAK,CAAE,KAAM,CAAE,CAAE,CAAC,CACjCrN,OAAO,cACTzG,IAAA,CAAC3C,eAAe,EACdsV,KAAK,CAAE,CAAEmB,KAAK,CAAE,kBAAmB,CAAE,CACtC,CAAC,CAEF,EACD,EACG,CAAC,cACP9T,IAAA,QACEgT,SAAS,CAAC,cAAc,CACxBL,KAAK,CAAE,CACLsD,eAAe,CACbhP,aAAa,GAAK,EAAE,CAChBR,OAAO,CACL,oBAAoB,CACpB,EAAE,CACJ,oBACR,CAAE,CAAAsM,QAAA,CAED9L,aAAa,GAAK,EAAE,CACjBA,aAAa,CACbR,OAAO,CACPA,OAAO,CACP,oBAAoB,CACrB,CAAC,EACH,CAAC,EACH,CAAC,cACNzG,IAAA,QACEgT,SAAS,CAAC,wBAAwB,CAClCL,KAAK,CAAE,CAAEmB,KAAK,CAAE7M,aAAa,GAAK,EAAE,CAAG,EAAE,CAAG,SAAU,CAAE,CAAA8L,QAAA,CACzD,gFAGD,CAAK,CAAC,EACH,CAAC,EACH,CAAC,cACN/S,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGA,EAAAzS,sBAAA,CAAAa,QAAQ,CAACwG,aAAa,UAAArH,sBAAA,iBAAtBA,sBAAA,CAAwBiO,QAAQ,CAAC,MAAM,CAAC,gBACvCjP,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACH,OAAO,EACNyS,KAAK,CAAC,gBAAgB,CACtB4D,WAAW,CAAC,QAAQ,CACpBnU,QAAQ,CAAEA,QAAQ,CAAC2G,cAAe,CAClCyN,SAAS,CAAEzE,eAAgB,CAC3B0E,UAAU,CAAE,SAAAA,WAAC5I,KAAK,CAAK,CACrB,GAAIA,KAAK,CAAC2B,QAAQ,CAAC,OAAO,CAAC,CAAE,CAC3B7H,sBAAsB,CAAC,IAAI,CAAC,CAC9B,CAAC,IAAM,CACLA,sBAAsB,CAAC,KAAK,CAAC,CAC/B,CACF,CAAE,CACFiM,UAAU,CAAC,uDAAuD,CACnE,CAAC,cACFvT,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGA,EAAAxS,sBAAA,CAAAY,QAAQ,CAACwG,aAAa,UAAApH,sBAAA,iBAAtBA,sBAAA,CAAwBgO,QAAQ,CAAC,MAAM,CAAC,gBACvCjP,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACH,OAAO,EACNyS,KAAK,CAAC,MAAM,CACZ4D,WAAW,CAAC,QAAQ,CACpBnU,QAAQ,CAAEA,QAAQ,CAAC4G,IAAK,CACxBwN,SAAS,CAAExE,OAAQ,CACnB4B,UAAU,CAAC,0DAA0D,CACtE,CAAC,cACFvT,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGAnS,UAAU,CAAC8D,WAAW,eACrBpF,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACJ,aAAa,EACZyW,MAAM,CAAEzR,UAAU,CAAG,IAAI,CAAG,KAAM,CAClC7C,QAAQ,CAAEP,UAAU,CAAC8D,WAAW,CAAC,CAAC,CAAE,CACpCsD,YAAY,CAAEpD,QAAS,CACvB8Q,QAAQ,CAAE5F,WAAY,CACtBrM,SAAS,CAAEA,SAAU,CACtB,CAAC,cACFrE,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGAnS,UAAU,CAACmE,UAAU,eACpBzF,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACL,aAAa,EACZ4W,iBAAiB,CAAE1Q,aAAc,CACjC2Q,kBAAkB,CAAE7F,gBAAiB,CACrCtM,SAAS,CAAEA,SAAU,CACtB,CAAC,cACFrE,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGAnS,UAAU,CAACoI,QAAQ,eAClB1J,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACpB,SAAS,EACR0T,KAAK,CAAC,UAAU,CAChBzF,KAAK,CAAE9K,QAAQ,CAAC6H,QAAQ,CAAG,KAAK,CAAG,IAAK,CACxC4D,KAAK,CAAEzL,QAAQ,CAAC6H,QAAS,CACzB0J,IAAI,CAAC,OAAO,CACZC,UAAU,CAAC,6BAA6B,CACxCC,QAAQ,CAAE,SAAAA,SAACC,KAAK,QACd,CAAAzR,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IAAM7M,QAAQ,MAAE6H,QAAQ,CAAE6J,KAAK,CAACC,MAAM,CAAClG,KAAK,EAAE,CAAC,EAC3D,CACF,CAAC,cACFxN,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,CAGAnS,UAAU,CAACqI,aAAa,eACvB3J,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACpB,SAAS,EACR0T,KAAK,CAAC,+BAA+B,CACrC9E,KAAK,CAAEzL,QAAQ,CAAC8H,aAAc,CAC9ByJ,IAAI,CAAC,OAAO,CACZC,UAAU,CAAC,gFAAgF,CAC3FC,QAAQ,CAAE,SAAAA,SAACC,KAAK,CAAK,CACnB,GAAI,CACFvO,IAAI,CAACC,KAAK,CAACsO,KAAK,CAACC,MAAM,CAAClG,KAAK,CAAC,CAC9BpJ,2BAA2B,CAAC,KAAK,CAAC,CACpC,CAAE,MAAAqS,OAAA,CAAM,CACNrS,2BAA2B,CAAC,IAAI,CAAC,CACnC,CACA,MAAO,CAAApC,WAAW,CAAA4M,aAAA,CAAAA,aAAA,IACb7M,QAAQ,MACX8H,aAAa,CAAE4J,KAAK,CAACC,MAAM,CAAClG,KAAK,EAClC,CAAC,CACJ,CAAE,CACFiI,SAAS,MACTC,IAAI,CAAE,CAAE,CACT,CAAC,CACDvR,wBAAwB,eACvBnE,IAAA,CAACvC,KAAK,EAACmW,QAAQ,CAAC,OAAO,CAAAb,QAAA,CAAC,6CAExB,CAAO,CACR,cACD/S,IAAA,CAACrC,GAAG,EAACgW,OAAO,CAAC,MAAM,CAAM,CAAC,EAC1B,CACH,EACU,CAAC,CAEb/O,UAAU,cACT1E,KAAA,CAAAE,SAAA,EAAA2S,QAAA,eACE/S,IAAA,CAACpC,MAAM,EACLiX,OAAO,CAAC,WAAW,CACnBf,KAAK,CAAC,SAAS,CACflG,IAAI,CAAC,QAAQ,CACbuF,OAAO,CAAEtC,UAAW,CACpBuE,QAAQ,CAAE/O,OAAQ,CAAA0M,QAAA,CACnB,MAED,CAAQ,CAAC,cACT/S,IAAA,CAACpC,MAAM,EACL+U,KAAK,CAAE,CAAEiC,UAAU,CAAE,EAAG,CAAE,CAC1BC,OAAO,CAAC,UAAU,CAClBf,KAAK,CAAC,SAAS,CACflG,IAAI,CAAC,QAAQ,CACbuF,OAAO,CAAEvC,YAAa,CAAAmC,QAAA,CACvB,QAED,CAAQ,CAAC,EACT,CAAC,cAEH/S,IAAA,CAACrC,GAAG,EAAC0V,KAAK,CAAE,MAAO,CAAAN,QAAA,cACjB/S,IAAA,CAACpC,MAAM,EACLiX,OAAO,CAAC,WAAW,CACnBf,KAAK,CAAC,SAAS,CACflG,IAAI,CAAC,QAAQ,CACbuF,OAAO,CAAE1F,WAAY,CACrB2H,QAAQ,CACNrS,oBAAoB,EACpBI,iBAAiB,EACjBI,gBAAgB,EAChB,EAAAnC,oBAAA,CAAAW,QAAQ,CAACkG,UAAU,UAAA7G,oBAAA,iBAAnBA,oBAAA,CAAqBuL,MAAM,IAAK,CAAC,EACjC,EAAAtL,kBAAA,CAAAU,QAAQ,CAACqH,QAAQ,UAAA/H,kBAAA,iBAAjBA,kBAAA,CAAmBsL,MAAM,IAAK,CAAC,EAC/B,EAAArL,sBAAA,CAAAS,QAAQ,CAACwG,aAAa,UAAAjH,sBAAA,iBAAtBA,sBAAA,CAAwBqL,MAAM,IAAK,CAAC,EACnCpL,SAAS,GAAK,KAAK,EAAI,CAACQ,QAAQ,CAACyG,YAAa,EAC/CnB,mBAAmB,EACnBuK,iBAAiB,CAAC,CACnB,CAAAmB,QAAA,CACF,gBAED,CAAQ,CAAC,CACN,CACN,EACE,CAAC,cAEN7S,KAAA,CAACnC,MAAM,EACL2Y,IAAI,CAAE7P,cAAe,CACrB8P,OAAO,CAAE,SAAAA,QAAA,QAAM,CAAA7P,iBAAiB,CAAC,KAAK,CAAC,EAAC,CACxC,kBAAgB,oBAAoB,CACpC,mBAAiB,0BAA0B,CAAAiM,QAAA,eAE3C/S,IAAA,CAAC9B,WAAW,EAACkU,EAAE,CAAC,oBAAoB,CAAAW,QAAA,CAAC,kBAAgB,CAAa,CAAC,cACnE/S,IAAA,CAAC/B,aAAa,EAAA8U,QAAA,cACZ/S,IAAA,aACE4W,QAAQ,MACR5D,SAAS,CAAC,UAAU,CACpBL,KAAK,CAAE,CAAEU,KAAK,CAAE,GAAG,CAAEwD,MAAM,CAAE,GAAI,CAAE,CACnCrJ,KAAK,CAAEtI,IAAI,CAACiI,SAAS,CAAC1M,QAAQ,CAAE,IAAI,CAAE,CAAC,CAAE,CAC1C,CAAC,CACW,CAAC,cAChBT,IAAA,CAAChC,aAAa,EAAA+U,QAAA,cACZ/S,IAAA,CAACpC,MAAM,EACLiX,OAAO,CAAC,WAAW,CACnB1B,OAAO,CAAE,SAAAA,QAAA,QAAM,CAAArM,iBAAiB,CAAC,KAAK,CAAC,EAAC,CACxC6L,KAAK,CAAE,CAAEqB,WAAW,CAAE,EAAE,CAAE8C,YAAY,CAAE,EAAG,CAAE,CAAA/D,QAAA,CAC9C,IAED,CAAQ,CAAC,CACI,CAAC,EACV,CAAC,cAGT7S,KAAA,QAAK8S,SAAS,CAAEjO,MAAM,CAAG,SAAS,CAAG,cAAe,CAAAgO,QAAA,eAClD7S,KAAA,QAAK8S,SAAS,CAAC,gBAAgB,CAAAD,QAAA,eAC7B/S,IAAA,QAAKgT,SAAS,CAAC,eAAe,CAAAD,QAAA,CAAC,aAAW,CAAK,CAAC,cAChD/S,IAAA,CAACR,aAAa,EAACuX,GAAG,CAAE,UAAW,CAACC,IAAI,CAAErT,QAAS,CAAE,CAAC,EAC/C,CAAC,cACN3D,IAAA,aAAU4W,QAAQ,MAAC5D,SAAS,CAAC,UAAU,CAACxF,KAAK,CAAE7J,QAAS,CAAE,CAAC,EACxD,CAAC,EACH,CAAC,CAEV,CAAC,CAED,cAAe,CAAA5C,sBAAsB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"ast":null,"code":"import _regeneratorRuntime from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js\";import _asyncToGenerator from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";import _toConsumableArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import{Box,Chip,FormControl,InputLabel,MenuItem,Select}from'@mui/material';import React,{useContext,useEffect,useState}from'react';import{ApiContext}from'../../components/apiContext';import fetchWrapper from'../../components/fetchWrapper';import HotkeyFocusTextField from'../../components/hotkeyFocusTextField';import ModelCard from'./modelCard';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var LaunchModelComponent=function LaunchModelComponent(_ref){var modelType=_ref.modelType,gpuAvailable=_ref.gpuAvailable;var endPoint=useContext(ApiContext).endPoint;var _useState=useState([]),_useState2=_slicedToArray(_useState,2),registrationData=_useState2[0],setRegistrationData=_useState2[1];var _useState3=useState(''),_useState4=_slicedToArray(_useState3,2),searchTerm=_useState4[0],setSearchTerm=_useState4[1];var _useState5=useState(''),_useState6=_slicedToArray(_useState5,2),status=_useState6[0],setStatus=_useState6[1];var _useState7=useState([]),_useState8=_slicedToArray(_useState7,2),completeDeleteArr=_useState8[0],setCompleteDeleteArr=_useState8[1];var _useState9=useState([]),_useState10=_slicedToArray(_useState9,2),collectionArr=_useState10[0],setCollectionArr=_useState10[1];var _useState11=useState([]),_useState12=_slicedToArray(_useState11,2),filterArr=_useState12[0],setFilterArr=_useState12[1];var _useContext=useContext(ApiContext),isCallingApi=_useContext.isCallingApi,setIsCallingApi=_useContext.setIsCallingApi;var _useContext2=useContext(ApiContext),isUpdatingModel=_useContext2.isUpdatingModel;var filter=function filter(registration){if(searchTerm!==''){if(!registration||typeof searchTerm!=='string')return false;var modelName=registration.model_name?registration.model_name.toLowerCase():'';if(!modelName.includes(searchTerm.toLowerCase())){return false;}}if(completeDeleteArr.includes(registration.model_name)){registration.cache_status=Array.isArray(registration.cache_status)?[false]:false;}if(filterArr.length===1){if(filterArr[0]==='cached'){return registration.cache_status&&!completeDeleteArr.includes(registration.model_name);}else{return collectionArr===null||collectionArr===void 0?void 0:collectionArr.includes(registration.model_name);}}else if(filterArr.length>1){return registration.cache_status&&!completeDeleteArr.includes(registration.model_name)&&(collectionArr===null||collectionArr===void 0?void 0:collectionArr.includes(registration.model_name));}return true;};var handleCompleteDelete=function handleCompleteDelete(model_name){setCompleteDeleteArr([].concat(_toConsumableArray(completeDeleteArr),[model_name]));};var update=/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:if(!(isCallingApi||isUpdatingModel)){_context.next=2;break;}return _context.abrupt(\"return\");case 2:try{setIsCallingApi(true);fetchWrapper.get(\"/v1/model_registrations/\".concat(modelType,\"?detailed=true\")).then(function(data){var builtinModels=data.filter(function(v){return v.is_builtin;});setRegistrationData(builtinModels);var collectionData=JSON.parse(localStorage.getItem('collectionArr'));setCollectionArr(collectionData);});}catch(error){console.error('Error:',error);}finally{setIsCallingApi(false);}case 3:case\"end\":return _context.stop();}},_callee);}));return function update(){return _ref2.apply(this,arguments);};}();useEffect(function(){update();},[]);var getCollectionArr=function getCollectionArr(data){setCollectionArr(data);};var handleChangeFilter=function handleChangeFilter(value){setStatus(value);var arr=[].concat(_toConsumableArray(filterArr.filter(function(item){return item!==value;})),[value]);setFilterArr(arr);};var handleDeleteChip=function handleDeleteChip(item){setFilterArr(filterArr.filter(function(subItem){return subItem!==item;}));if(item===status)setStatus('');};return/*#__PURE__*/_jsxs(Box,{m:\"20px\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:'grid',gridTemplateColumns:'150px 1fr',columnGap:'20px',margin:'30px 2rem'},children:[/*#__PURE__*/_jsxs(FormControl,{sx:{marginTop:2,minWidth:120},size:\"small\",children:[/*#__PURE__*/_jsx(InputLabel,{id:\"select-status\",children:\"Status\"}),/*#__PURE__*/_jsxs(Select,{id:\"status\",labelId:\"select-status\",label:\"Status\",onChange:function onChange(e){return handleChangeFilter(e.target.value);},value:status,size:\"small\",sx:{width:'150px'},children:[/*#__PURE__*/_jsx(MenuItem,{value:\"cached\",children:\"cached\"}),/*#__PURE__*/_jsx(MenuItem,{value:\"favorite\",children:\"favorite\"})]})]}),/*#__PURE__*/_jsx(FormControl,{variant:\"outlined\",margin:\"normal\",children:/*#__PURE__*/_jsx(HotkeyFocusTextField,{id:\"search\",type:\"search\",label:\"Search for \".concat(modelType,\" model name\"),value:searchTerm,onChange:function onChange(e){return setSearchTerm(e.target.value);},size:\"small\",hotkey:\"/\"})})]}),/*#__PURE__*/_jsx(\"div\",{style:{margin:'0 0 30px 30px'},children:filterArr.map(function(item,index){return/*#__PURE__*/_jsx(Chip,{label:item,variant:\"outlined\",size:\"small\",color:\"primary\",style:{marginRight:10},onDelete:function onDelete(){return handleDeleteChip(item);}},index);})}),/*#__PURE__*/_jsx(\"div\",{style:{display:'grid',gridTemplateColumns:'repeat(auto-fill, minmax(300px, 1fr))',paddingLeft:'2rem',gridGap:'2rem 0rem'},children:registrationData.filter(function(registration){return filter(registration);}).map(function(filteredRegistration){return/*#__PURE__*/_jsx(ModelCard,{url:endPoint,modelData:filteredRegistration,modelType:modelType,gpuAvailable:gpuAvailable,onHandleCompleteDelete:handleCompleteDelete,onGetCollectionArr:getCollectionArr},filteredRegistration.model_name);})})]});};export default LaunchModelComponent;","map":{"version":3,"names":["Box","Chip","FormControl","InputLabel","MenuItem","Select","React","useContext","useEffect","useState","ApiContext","fetchWrapper","HotkeyFocusTextField","ModelCard","jsx","_jsx","jsxs","_jsxs","LaunchModelComponent","_ref","modelType","gpuAvailable","endPoint","_useState","_useState2","_slicedToArray","registrationData","setRegistrationData","_useState3","_useState4","searchTerm","setSearchTerm","_useState5","_useState6","status","setStatus","_useState7","_useState8","completeDeleteArr","setCompleteDeleteArr","_useState9","_useState10","collectionArr","setCollectionArr","_useState11","_useState12","filterArr","setFilterArr","_useContext","isCallingApi","setIsCallingApi","_useContext2","isUpdatingModel","filter","registration","modelName","model_name","toLowerCase","includes","cache_status","Array","isArray","length","handleCompleteDelete","concat","_toConsumableArray","update","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","get","then","data","builtinModels","v","is_builtin","collectionData","JSON","parse","localStorage","getItem","error","console","stop","apply","arguments","getCollectionArr","handleChangeFilter","value","arr","item","handleDeleteChip","subItem","m","children","style","display","gridTemplateColumns","columnGap","margin","sx","marginTop","minWidth","size","id","labelId","label","onChange","e","target","width","variant","type","hotkey","map","index","color","marginRight","onDelete","paddingLeft","gridGap","filteredRegistration","url","modelData","onHandleCompleteDelete","onGetCollectionArr"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/launch_model/LaunchModelComponent.js"],"sourcesContent":["import {\n Box,\n Chip,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n} from '@mui/material'\nimport React, { useContext, useEffect, useState } from 'react'\n\nimport { ApiContext } from '../../components/apiContext'\nimport fetchWrapper from '../../components/fetchWrapper'\nimport HotkeyFocusTextField from '../../components/hotkeyFocusTextField'\nimport ModelCard from './modelCard'\n\nconst LaunchModelComponent = ({ modelType, gpuAvailable }) => {\n let endPoint = useContext(ApiContext).endPoint\n const [registrationData, setRegistrationData] = useState([])\n const [searchTerm, setSearchTerm] = useState('')\n const [status, setStatus] = useState('')\n const [completeDeleteArr, setCompleteDeleteArr] = useState([])\n const [collectionArr, setCollectionArr] = useState([])\n const [filterArr, setFilterArr] = useState([])\n\n const { isCallingApi, setIsCallingApi } = useContext(ApiContext)\n const { isUpdatingModel } = useContext(ApiContext)\n\n const filter = (registration) => {\n if (searchTerm !== '') {\n if (!registration || typeof searchTerm !== 'string') return false\n const modelName = registration.model_name\n ? registration.model_name.toLowerCase()\n : ''\n if (!modelName.includes(searchTerm.toLowerCase())) {\n return false\n }\n }\n\n if (completeDeleteArr.includes(registration.model_name)) {\n registration.cache_status = Array.isArray(registration.cache_status)\n ? [false]\n : false\n }\n\n if (filterArr.length === 1) {\n if (filterArr[0] === 'cached') {\n return (\n registration.cache_status &&\n !completeDeleteArr.includes(registration.model_name)\n )\n } else {\n return collectionArr?.includes(registration.model_name)\n }\n } else if (filterArr.length > 1) {\n return (\n registration.cache_status &&\n !completeDeleteArr.includes(registration.model_name) &&\n collectionArr?.includes(registration.model_name)\n )\n }\n\n return true\n }\n\n const handleCompleteDelete = (model_name) => {\n setCompleteDeleteArr([...completeDeleteArr, model_name])\n }\n\n const update = async () => {\n if (isCallingApi || isUpdatingModel) return\n\n try {\n setIsCallingApi(true)\n\n fetchWrapper\n .get(`/v1/model_registrations/${modelType}?detailed=true`)\n .then((data) => {\n const builtinModels = data.filter((v) => {\n return v.is_builtin\n })\n setRegistrationData(builtinModels)\n const collectionData = JSON.parse(\n localStorage.getItem('collectionArr')\n )\n setCollectionArr(collectionData)\n })\n } catch (error) {\n console.error('Error:', error)\n } finally {\n setIsCallingApi(false)\n }\n }\n\n useEffect(() => {\n update()\n }, [])\n\n const getCollectionArr = (data) => {\n setCollectionArr(data)\n }\n\n const handleChangeFilter = (value) => {\n setStatus(value)\n const arr = [\n ...filterArr.filter((item) => {\n return item !== value\n }),\n value,\n ]\n setFilterArr(arr)\n }\n\n const handleDeleteChip = (item) => {\n setFilterArr(\n filterArr.filter((subItem) => {\n return subItem !== item\n })\n )\n\n if (item === status) setStatus('')\n }\n\n return (\n <Box m=\"20px\">\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: '150px 1fr',\n columnGap: '20px',\n margin: '30px 2rem',\n }}\n >\n <FormControl sx={{ marginTop: 2, minWidth: 120 }} size=\"small\">\n <InputLabel id=\"select-status\">Status</InputLabel>\n <Select\n id=\"status\"\n labelId=\"select-status\"\n label=\"Status\"\n onChange={(e) => handleChangeFilter(e.target.value)}\n value={status}\n size=\"small\"\n sx={{ width: '150px' }}\n >\n <MenuItem value=\"cached\">cached</MenuItem>\n <MenuItem value=\"favorite\">favorite</MenuItem>\n </Select>\n </FormControl>\n <FormControl variant=\"outlined\" margin=\"normal\">\n <HotkeyFocusTextField\n id=\"search\"\n type=\"search\"\n label={`Search for ${modelType} model name`}\n value={searchTerm}\n onChange={(e) => setSearchTerm(e.target.value)}\n size=\"small\"\n hotkey=\"/\"\n />\n </FormControl>\n </div>\n <div style={{ margin: '0 0 30px 30px' }}>\n {filterArr.map((item, index) => (\n <Chip\n key={index}\n label={item}\n variant=\"outlined\"\n size=\"small\"\n color=\"primary\"\n style={{ marginRight: 10 }}\n onDelete={() => handleDeleteChip(item)}\n />\n ))}\n </div>\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fill, minmax(300px, 1fr))',\n paddingLeft: '2rem',\n gridGap: '2rem 0rem',\n }}\n >\n {registrationData\n .filter((registration) => filter(registration))\n .map((filteredRegistration) => (\n <ModelCard\n key={filteredRegistration.model_name}\n url={endPoint}\n modelData={filteredRegistration}\n modelType={modelType}\n gpuAvailable={gpuAvailable}\n onHandleCompleteDelete={handleCompleteDelete}\n onGetCollectionArr={getCollectionArr}\n />\n ))}\n </div>\n </Box>\n )\n}\n\nexport default LaunchModelComponent\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"ast":null,"code":"import _toConsumableArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";import AddIcon from'@mui/icons-material/Add';import DeleteIcon from'@mui/icons-material/Delete';import{Alert,Button,TextField}from'@mui/material';import React from'react';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";import{Fragment as _Fragment}from\"react/jsx-runtime\";var regex=/^-?[0-9]\\d*$/;var AddStop=function AddStop(_ref){var label=_ref.label,onGetData=_ref.onGetData,arrItemType=_ref.arrItemType,formData=_ref.formData,onGetError=_ref.onGetError,helperText=_ref.helperText;var handleChange=function handleChange(value,index){var arr=_toConsumableArray(formData);arr[index]=value;if(arrItemType==='number'){var newDataArr=arr.map(function(item){if(item&®ex.test(item)){arr.push('true');return Number(item);}if(item&&!regex.test(item))arr.push('false');return item;});onGetError(arr);onGetData(newDataArr);}else{onGetData(_toConsumableArray(arr));}};var handleAdd=function handleAdd(){if(formData[formData.length-1]){onGetData([].concat(_toConsumableArray(formData),['']));}};var handleDelete=function handleDelete(index){onGetData(formData.filter(function(_,subIndex){return index!==subIndex;}));};var handleShowAlert=function handleShowAlert(item){return item!==''&&!regex.test(item)&&arrItemType==='number';};return/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:'flex',alignItems:'center',marginBottom:10},children:[/*#__PURE__*/_jsx(\"label\",{style:{width:'100px'},children:label}),/*#__PURE__*/_jsx(Button,{variant:\"contained\",size:\"small\",endIcon:/*#__PURE__*/_jsx(AddIcon,{}),className:\"addBtn\",onClick:handleAdd,children:\"more\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:'flex',flexDirection:'column',gap:10,marginInline:50,padding:20,backgroundColor:'#eee',borderRadius:10},children:(formData!==null&&formData!==void 0&&formData.length?formData:['']).map(function(item,index){return/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:'flex',alignItems:'center',gap:5},children:[/*#__PURE__*/_jsx(TextField,{value:item,onChange:function onChange(e){return handleChange(e.target.value,index);},label:helperText,size:\"small\",style:{width:'100%'}}),(formData===null||formData===void 0?void 0:formData.length)>1&&/*#__PURE__*/_jsx(DeleteIcon,{onClick:function onClick(){return handleDelete(index);},style:{cursor:'pointer',color:'#1976d2'}})]}),handleShowAlert(item)&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:\"Please enter an integer.\"})]},index);})})]})});};export default AddStop;","map":{"version":3,"names":["AddIcon","DeleteIcon","Alert","Button","TextField","React","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","regex","AddStop","_ref","label","onGetData","arrItemType","formData","onGetError","helperText","handleChange","value","index","arr","_toConsumableArray","newDataArr","map","item","test","push","Number","handleAdd","length","concat","handleDelete","filter","_","subIndex","handleShowAlert","children","style","display","alignItems","marginBottom","width","variant","size","endIcon","className","onClick","flexDirection","gap","marginInline","padding","backgroundColor","borderRadius","onChange","e","target","cursor","color","severity"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/register_model/components/addStop.js"],"sourcesContent":["import AddIcon from '@mui/icons-material/Add'\nimport DeleteIcon from '@mui/icons-material/Delete'\nimport { Alert, Button, TextField } from '@mui/material'\nimport React from 'react'\n\nconst regex = /^-?[0-9]\\d*$/\n\nconst AddStop = ({\n label,\n onGetData,\n arrItemType,\n formData,\n onGetError,\n helperText,\n}) => {\n const handleChange = (value, index) => {\n const arr = [...formData]\n arr[index] = value\n if (arrItemType === 'number') {\n const newDataArr = arr.map((item) => {\n if (item && regex.test(item)) {\n arr.push('true')\n return Number(item)\n }\n if (item && !regex.test(item)) arr.push('false')\n return item\n })\n onGetError(arr)\n onGetData(newDataArr)\n } else {\n onGetData([...arr])\n }\n }\n\n const handleAdd = () => {\n if (formData[formData.length - 1]) {\n onGetData([...formData, ''])\n }\n }\n\n const handleDelete = (index) => {\n onGetData(formData.filter((_, subIndex) => index !== subIndex))\n }\n\n const handleShowAlert = (item) => {\n return item !== '' && !regex.test(item) && arrItemType === 'number'\n }\n\n return (\n <>\n <div>\n <div\n style={{ display: 'flex', alignItems: 'center', marginBottom: 10 }}\n >\n <label style={{ width: '100px' }}>{label}</label>\n <Button\n variant=\"contained\"\n size=\"small\"\n endIcon={<AddIcon />}\n className=\"addBtn\"\n onClick={handleAdd}\n >\n more\n </Button>\n </div>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: 10,\n marginInline: 50,\n padding: 20,\n backgroundColor: '#eee',\n borderRadius: 10,\n }}\n >\n {(formData?.length ? formData : ['']).map((item, index) => (\n <div key={index}>\n <div style={{ display: 'flex', alignItems: 'center', gap: 5 }}>\n <TextField\n value={item}\n onChange={(e) => handleChange(e.target.value, index)}\n label={helperText}\n size=\"small\"\n style={{ width: '100%' }}\n />\n {formData?.length > 1 && (\n <DeleteIcon\n onClick={() => handleDelete(index)}\n style={{ cursor: 'pointer', color: '#1976d2' }}\n />\n )}\n </div>\n\n {handleShowAlert(item) && (\n <Alert severity=\"error\">Please enter an integer.</Alert>\n )}\n </div>\n ))}\n </div>\n </div>\n </>\n )\n}\n\nexport default AddStop\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"ast":null,"code":"import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import ExitToAppIcon from'@mui/icons-material/ExitToApp';import{Box,Stack,Typography}from'@mui/material';import Button from'@mui/material/Button';import{useCookies}from'react-cookie';import{useNavigate}from'react-router-dom';import{isValidBearerToken}from'./utils';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var Title=function Title(_ref){var title=_ref.title;var _useCookies=useCookies(['token']),_useCookies2=_slicedToArray(_useCookies,3),cookie=_useCookies2[0],removeCookie=_useCookies2[2];var navigate=useNavigate();var handleLogout=function handleLogout(){removeCookie('token',{path:'/'});sessionStorage.removeItem('token');sessionStorage.removeItem('auth');sessionStorage.removeItem('modelType');sessionStorage.removeItem('lastActiveUrl');sessionStorage.removeItem('runningModelType');sessionStorage.removeItem('registerModelType');navigate('/login',{replace:true});};return/*#__PURE__*/_jsx(Box,{mb:\"30px\",children:/*#__PURE__*/_jsxs(Stack,{direction:\"row\",alignItems:\"center\",justifyContent:\"space-between\",children:[/*#__PURE__*/_jsx(Typography,{variant:\"h2\",color:\"#141414\",fontWeight:\"bold\",sx:{m:'0 0 5px 0'},children:title}),(isValidBearerToken(cookie.token)||isValidBearerToken(sessionStorage.getItem('token')))&&/*#__PURE__*/_jsx(Button,{variant:\"outlined\",size:\"large\",onClick:handleLogout,startIcon:/*#__PURE__*/_jsx(ExitToAppIcon,{}),children:\"LOG OUT\"})]})});};export default Title;","map":{"version":3,"names":["ExitToAppIcon","Box","Stack","Typography","Button","useCookies","useNavigate","isValidBearerToken","jsx","_jsx","jsxs","_jsxs","Title","_ref","title","_useCookies","_useCookies2","_slicedToArray","cookie","removeCookie","navigate","handleLogout","path","sessionStorage","removeItem","replace","mb","children","direction","alignItems","justifyContent","variant","color","fontWeight","sx","m","token","getItem","size","onClick","startIcon"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/components/Title.js"],"sourcesContent":["import ExitToAppIcon from '@mui/icons-material/ExitToApp'\nimport { Box, Stack, Typography } from '@mui/material'\nimport Button from '@mui/material/Button'\nimport { useCookies } from 'react-cookie'\nimport { useNavigate } from 'react-router-dom'\n\nimport { isValidBearerToken } from './utils'\n\nconst Title = ({ title }) => {\n const [cookie, , removeCookie] = useCookies(['token'])\n const navigate = useNavigate()\n\n const handleLogout = () => {\n removeCookie('token', { path: '/' })\n sessionStorage.removeItem('token')\n sessionStorage.removeItem('auth')\n sessionStorage.removeItem('modelType')\n sessionStorage.removeItem('lastActiveUrl')\n sessionStorage.removeItem('runningModelType')\n sessionStorage.removeItem('registerModelType')\n navigate('/login', { replace: true })\n }\n\n return (\n <Box mb=\"30px\">\n <Stack direction=\"row\" alignItems=\"center\" justifyContent=\"space-between\">\n <Typography\n variant=\"h2\"\n color=\"#141414\"\n fontWeight=\"bold\"\n sx={{ m: '0 0 5px 0' }}\n >\n {title}\n </Typography>\n {(isValidBearerToken(cookie.token) ||\n isValidBearerToken(sessionStorage.getItem('token'))) && (\n <Button\n variant=\"outlined\"\n size=\"large\"\n onClick={handleLogout}\n startIcon={<ExitToAppIcon />}\n >\n LOG OUT\n </Button>\n )}\n </Stack>\n </Box>\n )\n}\n\nexport default Title\n"],"mappings":"6IAAA,MAAO,CAAAA,aAAa,KAAM,+BAA+B,CACzD,OAASC,GAAG,CAAEC,KAAK,CAAEC,UAAU,KAAQ,eAAe,CACtD,MAAO,CAAAC,MAAM,KAAM,sBAAsB,CACzC,OAASC,UAAU,KAAQ,cAAc,CACzC,OAASC,WAAW,KAAQ,kBAAkB,CAE9C,OAASC,kBAAkB,KAAQ,SAAS,QAAAC,GAAA,IAAAC,IAAA,gCAAAC,IAAA,IAAAC,KAAA,yBAE5C,GAAM,CAAAC,KAAK,CAAG,QAAR,CAAAA,KAAKA,CAAAC,IAAA,CAAkB,IAAZ,CAAAC,KAAK,CAAAD,IAAA,CAALC,KAAK,CACpB,IAAAC,WAAA,CAAiCV,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAAW,YAAA,CAAAC,cAAA,CAAAF,WAAA,IAA/CG,MAAM,CAAAF,YAAA,IAAIG,YAAY,CAAAH,YAAA,IAC7B,GAAM,CAAAI,QAAQ,CAAGd,WAAW,CAAC,CAAC,CAE9B,GAAM,CAAAe,YAAY,CAAG,QAAf,CAAAA,YAAYA,CAAA,CAAS,CACzBF,YAAY,CAAC,OAAO,CAAE,CAAEG,IAAI,CAAE,GAAI,CAAC,CAAC,CACpCC,cAAc,CAACC,UAAU,CAAC,OAAO,CAAC,CAClCD,cAAc,CAACC,UAAU,CAAC,MAAM,CAAC,CACjCD,cAAc,CAACC,UAAU,CAAC,WAAW,CAAC,CACtCD,cAAc,CAACC,UAAU,CAAC,eAAe,CAAC,CAC1CD,cAAc,CAACC,UAAU,CAAC,kBAAkB,CAAC,CAC7CD,cAAc,CAACC,UAAU,CAAC,mBAAmB,CAAC,CAC9CJ,QAAQ,CAAC,QAAQ,CAAE,CAAEK,OAAO,CAAE,IAAK,CAAC,CAAC,CACvC,CAAC,CAED,mBACEhB,IAAA,CAACR,GAAG,EAACyB,EAAE,CAAC,MAAM,CAAAC,QAAA,cACZhB,KAAA,CAACT,KAAK,EAAC0B,SAAS,CAAC,KAAK,CAACC,UAAU,CAAC,QAAQ,CAACC,cAAc,CAAC,eAAe,CAAAH,QAAA,eACvElB,IAAA,CAACN,UAAU,EACT4B,OAAO,CAAC,IAAI,CACZC,KAAK,CAAC,SAAS,CACfC,UAAU,CAAC,MAAM,CACjBC,EAAE,CAAE,CAAEC,CAAC,CAAE,WAAY,CAAE,CAAAR,QAAA,CAEtBb,KAAK,CACI,CAAC,CACZ,CAACP,kBAAkB,CAACW,MAAM,CAACkB,KAAK,CAAC,EAChC7B,kBAAkB,CAACgB,cAAc,CAACc,OAAO,CAAC,OAAO,CAAC,CAAC,gBACnD5B,IAAA,CAACL,MAAM,EACL2B,OAAO,CAAC,UAAU,CAClBO,IAAI,CAAC,OAAO,CACZC,OAAO,CAAElB,YAAa,CACtBmB,SAAS,cAAE/B,IAAA,CAACT,aAAa,GAAE,CAAE,CAAA2B,QAAA,CAC9B,SAED,CAAQ,CACT,EACI,CAAC,CACL,CAAC,CAEV,CAAC,CAED,cAAe,CAAAf,KAAK","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"ast":null,"code":"import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import{TabContext,TabList,TabPanel}from'@mui/lab';import{Box,Tab}from'@mui/material';import React,{useEffect}from'react';import{useCookies}from'react-cookie';import{useNavigate}from'react-router-dom';import ErrorMessageSnackBar from'../../components/errorMessageSnackBar';import Title from'../../components/Title';import{isValidBearerToken}from'../../components/utils';import RegisterModelComponent from'./registerModel';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var RegisterModel=function RegisterModel(){var _React$useState=React.useState(sessionStorage.getItem('registerModelType')?sessionStorage.getItem('registerModelType'):'/register_model/llm'),_React$useState2=_slicedToArray(_React$useState,2),tabValue=_React$useState2[0],setTabValue=_React$useState2[1];var _useCookies=useCookies(['token']),_useCookies2=_slicedToArray(_useCookies,1),cookie=_useCookies2[0];var navigate=useNavigate();useEffect(function(){if(sessionStorage.getItem('auth')==='true'&&!isValidBearerToken(sessionStorage.getItem('token'))&&!isValidBearerToken(cookie.token)){navigate('/login',{replace:true});}},[cookie.token]);var handleTabChange=function handleTabChange(_,newValue){setTabValue(newValue);navigate(newValue);sessionStorage.setItem('registerModelType',newValue);};return/*#__PURE__*/_jsxs(Box,{m:\"20px\",style:{overflow:'hidden'},children:[/*#__PURE__*/_jsx(Title,{title:\"Register Model\"}),/*#__PURE__*/_jsx(ErrorMessageSnackBar,{}),/*#__PURE__*/_jsxs(TabContext,{value:tabValue,children:[/*#__PURE__*/_jsx(Box,{sx:{borderBottom:1,borderColor:'divider'},children:/*#__PURE__*/_jsxs(TabList,{value:tabValue,onChange:handleTabChange,\"aria-label\":\"tabs\",children:[/*#__PURE__*/_jsx(Tab,{label:\"Language Model\",value:\"/register_model/llm\"}),/*#__PURE__*/_jsx(Tab,{label:\"Embedding Model\",value:\"/register_model/embedding\"}),/*#__PURE__*/_jsx(Tab,{label:\"Rerank Model\",value:\"/register_model/rerank\"}),/*#__PURE__*/_jsx(Tab,{label:\"Image Model\",value:\"/register_model/image\"}),/*#__PURE__*/_jsx(Tab,{label:\"Audio Model\",value:\"/register_model/audio\"}),/*#__PURE__*/_jsx(Tab,{label:\"Flexible Model\",value:\"/register_model/flexible\"})]})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/register_model/llm\",sx:{padding:0},children:/*#__PURE__*/_jsx(RegisterModelComponent,{modelType:\"LLM\",customData:{version:1,model_name:'custom-llm',model_description:'This is a custom model description.',context_length:2048,model_lang:['en'],model_ability:['generate'],model_specs:[{model_uri:'/path/to/llama-1',model_size_in_billions:7,model_format:'pytorch',quantizations:['none']}],model_family:'your_custom_model'}})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/register_model/embedding\",sx:{padding:0},children:/*#__PURE__*/_jsx(RegisterModelComponent,{modelType:\"embedding\",customData:{model_name:'custom-embedding',dimensions:768,max_tokens:512,model_uri:'/path/to/embedding-model',language:['en']}})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/register_model/rerank\",sx:{padding:0},children:/*#__PURE__*/_jsx(RegisterModelComponent,{modelType:\"rerank\",customData:{model_name:'custom-rerank',model_uri:'/path/to/rerank-model',language:['en']}})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/register_model/image\",sx:{padding:0},children:/*#__PURE__*/_jsx(RegisterModelComponent,{modelType:\"image\",customData:{model_name:'custom-image',model_uri:'/path/to/image-model',model_family:'stable_diffusion',controlnet:[]}})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/register_model/audio\",sx:{padding:0},children:/*#__PURE__*/_jsx(RegisterModelComponent,{modelType:\"audio\",customData:{model_name:'custom-audio',model_uri:'/path/to/audio-model',multilingual:false,model_family:'whisper'}})}),/*#__PURE__*/_jsx(TabPanel,{value:\"/register_model/flexible\",sx:{padding:0},children:/*#__PURE__*/_jsx(RegisterModelComponent,{modelType:\"flexible\",customData:{model_name:'flexible-model',model_description:'This is a model description.',model_uri:'/path/to/model',launcher:'xinference.model.flexible.launchers.transformers',launcher_args:'{}'}})})]})]});};export default RegisterModel;","map":{"version":3,"names":["TabContext","TabList","TabPanel","Box","Tab","React","useEffect","useCookies","useNavigate","ErrorMessageSnackBar","Title","isValidBearerToken","RegisterModelComponent","jsx","_jsx","jsxs","_jsxs","RegisterModel","_React$useState","useState","sessionStorage","getItem","_React$useState2","_slicedToArray","tabValue","setTabValue","_useCookies","_useCookies2","cookie","navigate","token","replace","handleTabChange","_","newValue","setItem","m","style","overflow","children","title","value","sx","borderBottom","borderColor","onChange","label","padding","modelType","customData","version","model_name","model_description","context_length","model_lang","model_ability","model_specs","model_uri","model_size_in_billions","model_format","quantizations","model_family","dimensions","max_tokens","language","controlnet","multilingual","launcher","launcher_args"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/register_model/index.js"],"sourcesContent":["import { TabContext, TabList, TabPanel } from '@mui/lab'\nimport { Box, Tab } from '@mui/material'\nimport React, { useEffect } from 'react'\nimport { useCookies } from 'react-cookie'\nimport { useNavigate } from 'react-router-dom'\n\nimport ErrorMessageSnackBar from '../../components/errorMessageSnackBar'\nimport Title from '../../components/Title'\nimport { isValidBearerToken } from '../../components/utils'\nimport RegisterModelComponent from './registerModel'\n\nconst RegisterModel = () => {\n const [tabValue, setTabValue] = React.useState(\n sessionStorage.getItem('registerModelType')\n ? sessionStorage.getItem('registerModelType')\n : '/register_model/llm'\n )\n const [cookie] = useCookies(['token'])\n const navigate = useNavigate()\n\n useEffect(() => {\n if (\n sessionStorage.getItem('auth') === 'true' &&\n !isValidBearerToken(sessionStorage.getItem('token')) &&\n !isValidBearerToken(cookie.token)\n ) {\n navigate('/login', { replace: true })\n }\n }, [cookie.token])\n\n const handleTabChange = (_, newValue) => {\n setTabValue(newValue)\n navigate(newValue)\n sessionStorage.setItem('registerModelType', newValue)\n }\n\n return (\n <Box m=\"20px\" style={{ overflow: 'hidden' }}>\n <Title title=\"Register Model\" />\n <ErrorMessageSnackBar />\n <TabContext value={tabValue}>\n <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>\n <TabList\n value={tabValue}\n onChange={handleTabChange}\n aria-label=\"tabs\"\n >\n <Tab label=\"Language Model\" value=\"/register_model/llm\" />\n <Tab label=\"Embedding Model\" value=\"/register_model/embedding\" />\n <Tab label=\"Rerank Model\" value=\"/register_model/rerank\" />\n <Tab label=\"Image Model\" value=\"/register_model/image\" />\n <Tab label=\"Audio Model\" value=\"/register_model/audio\" />\n <Tab label=\"Flexible Model\" value=\"/register_model/flexible\" />\n </TabList>\n </Box>\n <TabPanel value=\"/register_model/llm\" sx={{ padding: 0 }}>\n <RegisterModelComponent\n modelType=\"LLM\"\n customData={{\n version: 1,\n model_name: 'custom-llm',\n model_description: 'This is a custom model description.',\n context_length: 2048,\n model_lang: ['en'],\n model_ability: ['generate'],\n model_specs: [\n {\n model_uri: '/path/to/llama-1',\n model_size_in_billions: 7,\n model_format: 'pytorch',\n quantizations: ['none'],\n },\n ],\n model_family: 'your_custom_model',\n }}\n />\n </TabPanel>\n <TabPanel value=\"/register_model/embedding\" sx={{ padding: 0 }}>\n <RegisterModelComponent\n modelType=\"embedding\"\n customData={{\n model_name: 'custom-embedding',\n dimensions: 768,\n max_tokens: 512,\n model_uri: '/path/to/embedding-model',\n language: ['en'],\n }}\n />\n </TabPanel>\n <TabPanel value=\"/register_model/rerank\" sx={{ padding: 0 }}>\n <RegisterModelComponent\n modelType=\"rerank\"\n customData={{\n model_name: 'custom-rerank',\n model_uri: '/path/to/rerank-model',\n language: ['en'],\n }}\n />\n </TabPanel>\n <TabPanel value=\"/register_model/image\" sx={{ padding: 0 }}>\n <RegisterModelComponent\n modelType=\"image\"\n customData={{\n model_name: 'custom-image',\n model_uri: '/path/to/image-model',\n model_family: 'stable_diffusion',\n controlnet: [],\n }}\n />\n </TabPanel>\n <TabPanel value=\"/register_model/audio\" sx={{ padding: 0 }}>\n <RegisterModelComponent\n modelType=\"audio\"\n customData={{\n model_name: 'custom-audio',\n model_uri: '/path/to/audio-model',\n multilingual: false,\n model_family: 'whisper',\n }}\n />\n </TabPanel>\n <TabPanel value=\"/register_model/flexible\" sx={{ padding: 0 }}>\n <RegisterModelComponent\n modelType=\"flexible\"\n customData={{\n model_name: 'flexible-model',\n model_description: 'This is a model description.',\n model_uri: '/path/to/model',\n launcher: 'xinference.model.flexible.launchers.transformers',\n launcher_args: '{}',\n }}\n />\n </TabPanel>\n </TabContext>\n </Box>\n )\n}\n\nexport default RegisterModel\n"],"mappings":"6IAAA,OAASA,UAAU,CAAEC,OAAO,CAAEC,QAAQ,KAAQ,UAAU,CACxD,OAASC,GAAG,CAAEC,GAAG,KAAQ,eAAe,CACxC,MAAO,CAAAC,KAAK,EAAIC,SAAS,KAAQ,OAAO,CACxC,OAASC,UAAU,KAAQ,cAAc,CACzC,OAASC,WAAW,KAAQ,kBAAkB,CAE9C,MAAO,CAAAC,oBAAoB,KAAM,uCAAuC,CACxE,MAAO,CAAAC,KAAK,KAAM,wBAAwB,CAC1C,OAASC,kBAAkB,KAAQ,wBAAwB,CAC3D,MAAO,CAAAC,sBAAsB,KAAM,iBAAiB,QAAAC,GAAA,IAAAC,IAAA,gCAAAC,IAAA,IAAAC,KAAA,yBAEpD,GAAM,CAAAC,aAAa,CAAG,QAAhB,CAAAA,aAAaA,CAAA,CAAS,CAC1B,IAAAC,eAAA,CAAgCb,KAAK,CAACc,QAAQ,CAC5CC,cAAc,CAACC,OAAO,CAAC,mBAAmB,CAAC,CACvCD,cAAc,CAACC,OAAO,CAAC,mBAAmB,CAAC,CAC3C,qBACN,CAAC,CAAAC,gBAAA,CAAAC,cAAA,CAAAL,eAAA,IAJMM,QAAQ,CAAAF,gBAAA,IAAEG,WAAW,CAAAH,gBAAA,IAK5B,IAAAI,WAAA,CAAiBnB,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAAoB,YAAA,CAAAJ,cAAA,CAAAG,WAAA,IAA/BE,MAAM,CAAAD,YAAA,IACb,GAAM,CAAAE,QAAQ,CAAGrB,WAAW,CAAC,CAAC,CAE9BF,SAAS,CAAC,UAAM,CACd,GACEc,cAAc,CAACC,OAAO,CAAC,MAAM,CAAC,GAAK,MAAM,EACzC,CAACV,kBAAkB,CAACS,cAAc,CAACC,OAAO,CAAC,OAAO,CAAC,CAAC,EACpD,CAACV,kBAAkB,CAACiB,MAAM,CAACE,KAAK,CAAC,CACjC,CACAD,QAAQ,CAAC,QAAQ,CAAE,CAAEE,OAAO,CAAE,IAAK,CAAC,CAAC,CACvC,CACF,CAAC,CAAE,CAACH,MAAM,CAACE,KAAK,CAAC,CAAC,CAElB,GAAM,CAAAE,eAAe,CAAG,QAAlB,CAAAA,eAAeA,CAAIC,CAAC,CAAEC,QAAQ,CAAK,CACvCT,WAAW,CAACS,QAAQ,CAAC,CACrBL,QAAQ,CAACK,QAAQ,CAAC,CAClBd,cAAc,CAACe,OAAO,CAAC,mBAAmB,CAAED,QAAQ,CAAC,CACvD,CAAC,CAED,mBACElB,KAAA,CAACb,GAAG,EAACiC,CAAC,CAAC,MAAM,CAACC,KAAK,CAAE,CAAEC,QAAQ,CAAE,QAAS,CAAE,CAAAC,QAAA,eAC1CzB,IAAA,CAACJ,KAAK,EAAC8B,KAAK,CAAC,gBAAgB,CAAE,CAAC,cAChC1B,IAAA,CAACL,oBAAoB,GAAE,CAAC,cACxBO,KAAA,CAAChB,UAAU,EAACyC,KAAK,CAAEjB,QAAS,CAAAe,QAAA,eAC1BzB,IAAA,CAACX,GAAG,EAACuC,EAAE,CAAE,CAAEC,YAAY,CAAE,CAAC,CAAEC,WAAW,CAAE,SAAU,CAAE,CAAAL,QAAA,cACnDvB,KAAA,CAACf,OAAO,EACNwC,KAAK,CAAEjB,QAAS,CAChBqB,QAAQ,CAAEb,eAAgB,CAC1B,aAAW,MAAM,CAAAO,QAAA,eAEjBzB,IAAA,CAACV,GAAG,EAAC0C,KAAK,CAAC,gBAAgB,CAACL,KAAK,CAAC,qBAAqB,CAAE,CAAC,cAC1D3B,IAAA,CAACV,GAAG,EAAC0C,KAAK,CAAC,iBAAiB,CAACL,KAAK,CAAC,2BAA2B,CAAE,CAAC,cACjE3B,IAAA,CAACV,GAAG,EAAC0C,KAAK,CAAC,cAAc,CAACL,KAAK,CAAC,wBAAwB,CAAE,CAAC,cAC3D3B,IAAA,CAACV,GAAG,EAAC0C,KAAK,CAAC,aAAa,CAACL,KAAK,CAAC,uBAAuB,CAAE,CAAC,cACzD3B,IAAA,CAACV,GAAG,EAAC0C,KAAK,CAAC,aAAa,CAACL,KAAK,CAAC,uBAAuB,CAAE,CAAC,cACzD3B,IAAA,CAACV,GAAG,EAAC0C,KAAK,CAAC,gBAAgB,CAACL,KAAK,CAAC,0BAA0B,CAAE,CAAC,EACxD,CAAC,CACP,CAAC,cACN3B,IAAA,CAACZ,QAAQ,EAACuC,KAAK,CAAC,qBAAqB,CAACC,EAAE,CAAE,CAAEK,OAAO,CAAE,CAAE,CAAE,CAAAR,QAAA,cACvDzB,IAAA,CAACF,sBAAsB,EACrBoC,SAAS,CAAC,KAAK,CACfC,UAAU,CAAE,CACVC,OAAO,CAAE,CAAC,CACVC,UAAU,CAAE,YAAY,CACxBC,iBAAiB,CAAE,qCAAqC,CACxDC,cAAc,CAAE,IAAI,CACpBC,UAAU,CAAE,CAAC,IAAI,CAAC,CAClBC,aAAa,CAAE,CAAC,UAAU,CAAC,CAC3BC,WAAW,CAAE,CACX,CACEC,SAAS,CAAE,kBAAkB,CAC7BC,sBAAsB,CAAE,CAAC,CACzBC,YAAY,CAAE,SAAS,CACvBC,aAAa,CAAE,CAAC,MAAM,CACxB,CAAC,CACF,CACDC,YAAY,CAAE,mBAChB,CAAE,CACH,CAAC,CACM,CAAC,cACX/C,IAAA,CAACZ,QAAQ,EAACuC,KAAK,CAAC,2BAA2B,CAACC,EAAE,CAAE,CAAEK,OAAO,CAAE,CAAE,CAAE,CAAAR,QAAA,cAC7DzB,IAAA,CAACF,sBAAsB,EACrBoC,SAAS,CAAC,WAAW,CACrBC,UAAU,CAAE,CACVE,UAAU,CAAE,kBAAkB,CAC9BW,UAAU,CAAE,GAAG,CACfC,UAAU,CAAE,GAAG,CACfN,SAAS,CAAE,0BAA0B,CACrCO,QAAQ,CAAE,CAAC,IAAI,CACjB,CAAE,CACH,CAAC,CACM,CAAC,cACXlD,IAAA,CAACZ,QAAQ,EAACuC,KAAK,CAAC,wBAAwB,CAACC,EAAE,CAAE,CAAEK,OAAO,CAAE,CAAE,CAAE,CAAAR,QAAA,cAC1DzB,IAAA,CAACF,sBAAsB,EACrBoC,SAAS,CAAC,QAAQ,CAClBC,UAAU,CAAE,CACVE,UAAU,CAAE,eAAe,CAC3BM,SAAS,CAAE,uBAAuB,CAClCO,QAAQ,CAAE,CAAC,IAAI,CACjB,CAAE,CACH,CAAC,CACM,CAAC,cACXlD,IAAA,CAACZ,QAAQ,EAACuC,KAAK,CAAC,uBAAuB,CAACC,EAAE,CAAE,CAAEK,OAAO,CAAE,CAAE,CAAE,CAAAR,QAAA,cACzDzB,IAAA,CAACF,sBAAsB,EACrBoC,SAAS,CAAC,OAAO,CACjBC,UAAU,CAAE,CACVE,UAAU,CAAE,cAAc,CAC1BM,SAAS,CAAE,sBAAsB,CACjCI,YAAY,CAAE,kBAAkB,CAChCI,UAAU,CAAE,EACd,CAAE,CACH,CAAC,CACM,CAAC,cACXnD,IAAA,CAACZ,QAAQ,EAACuC,KAAK,CAAC,uBAAuB,CAACC,EAAE,CAAE,CAAEK,OAAO,CAAE,CAAE,CAAE,CAAAR,QAAA,cACzDzB,IAAA,CAACF,sBAAsB,EACrBoC,SAAS,CAAC,OAAO,CACjBC,UAAU,CAAE,CACVE,UAAU,CAAE,cAAc,CAC1BM,SAAS,CAAE,sBAAsB,CACjCS,YAAY,CAAE,KAAK,CACnBL,YAAY,CAAE,SAChB,CAAE,CACH,CAAC,CACM,CAAC,cACX/C,IAAA,CAACZ,QAAQ,EAACuC,KAAK,CAAC,0BAA0B,CAACC,EAAE,CAAE,CAAEK,OAAO,CAAE,CAAE,CAAE,CAAAR,QAAA,cAC5DzB,IAAA,CAACF,sBAAsB,EACrBoC,SAAS,CAAC,UAAU,CACpBC,UAAU,CAAE,CACVE,UAAU,CAAE,gBAAgB,CAC5BC,iBAAiB,CAAE,8BAA8B,CACjDK,SAAS,CAAE,gBAAgB,CAC3BU,QAAQ,CAAE,kDAAkD,CAC5DC,aAAa,CAAE,IACjB,CAAE,CACH,CAAC,CACM,CAAC,EACD,CAAC,EACV,CAAC,CAEV,CAAC,CAED,cAAe,CAAAnD,aAAa","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"ast":null,"code":"import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import{Box}from'@mui/material';import Paper from'@mui/material/Paper';import Grid from'@mui/material/Unstable_Grid2';import React,{useContext,useEffect}from'react';import{useCookies}from'react-cookie';import{useNavigate}from'react-router-dom';import{ApiContext}from'../../components/apiContext';import TableTitle from'../../components/tableTitle';import Title from'../../components/Title';import{isValidBearerToken}from'../../components/utils';import NodeInfo from'./nodeInfo';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var ClusterInfo=function ClusterInfo(){var endPoint=useContext(ApiContext).endPoint;var _useCookies=useCookies(['token']),_useCookies2=_slicedToArray(_useCookies,1),cookie=_useCookies2[0];var navigate=useNavigate();useEffect(function(){if(sessionStorage.getItem('auth')==='true'&&!isValidBearerToken(sessionStorage.getItem('token'))&&!isValidBearerToken(cookie.token)){navigate('/login',{replace:true});}},[cookie.token]);var handleGoBack=function handleGoBack(){var lastUrl=sessionStorage.getItem('lastActiveUrl');if(lastUrl==='launch_model'){navigate(sessionStorage.getItem('modelType'));}else if(lastUrl==='running_models'){navigate(sessionStorage.getItem('runningModelType'));}else if(lastUrl==='register_model'){navigate(sessionStorage.getItem('registerModelType'));}else{navigate('/launch_model/llm');}};return/*#__PURE__*/_jsxs(Box,{sx:{height:'100%',width:'100%',padding:'20px 20px 0 20px'},children:[/*#__PURE__*/_jsx(Title,{title:\"Cluster Information\"}),/*#__PURE__*/_jsxs(Grid,{container:true,spacing:3,style:{width:'100%'},children:[/*#__PURE__*/_jsx(Grid,{item:true,xs:12,children:/*#__PURE__*/_jsxs(Paper,{sx:{padding:2,display:'flex',overflow:'auto',flexDirection:'column'},children:[/*#__PURE__*/_jsx(TableTitle,{children:\"Supervisor\"}),/*#__PURE__*/_jsx(NodeInfo,{nodeRole:\"Supervisor\",endpoint:endPoint,cookie:cookie,handleGoBack:handleGoBack})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:12,children:/*#__PURE__*/_jsxs(Paper,{sx:{padding:2,display:'flex',overflow:'auto',flexDirection:'column'},children:[/*#__PURE__*/_jsx(TableTitle,{children:\"Workers\"}),/*#__PURE__*/_jsx(NodeInfo,{nodeRole:\"Worker\",endpoint:endPoint,cookie:cookie,handleGoBack:handleGoBack})]})}),/*#__PURE__*/_jsx(Grid,{item:true,xs:12,children:/*#__PURE__*/_jsxs(Paper,{sx:{padding:2,display:'flex',overflow:'auto',flexDirection:'column'},children:[/*#__PURE__*/_jsx(TableTitle,{children:\"Worker Details\"}),/*#__PURE__*/_jsx(NodeInfo,{nodeRole:\"Worker-Details\",endpoint:endPoint,cookie:cookie,handleGoBack:handleGoBack})]})})]})]});};export default ClusterInfo;","map":{"version":3,"names":["Box","Paper","Grid","React","useContext","useEffect","useCookies","useNavigate","ApiContext","TableTitle","Title","isValidBearerToken","NodeInfo","jsx","_jsx","jsxs","_jsxs","ClusterInfo","endPoint","_useCookies","_useCookies2","_slicedToArray","cookie","navigate","sessionStorage","getItem","token","replace","handleGoBack","lastUrl","sx","height","width","padding","children","title","container","spacing","style","item","xs","display","overflow","flexDirection","nodeRole","endpoint"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/scenes/cluster_info/index.js"],"sourcesContent":["import { Box } from '@mui/material'\nimport Paper from '@mui/material/Paper'\nimport Grid from '@mui/material/Unstable_Grid2'\nimport React, { useContext, useEffect } from 'react'\nimport { useCookies } from 'react-cookie'\nimport { useNavigate } from 'react-router-dom'\n\nimport { ApiContext } from '../../components/apiContext'\nimport TableTitle from '../../components/tableTitle'\nimport Title from '../../components/Title'\nimport { isValidBearerToken } from '../../components/utils'\nimport NodeInfo from './nodeInfo'\n\nconst ClusterInfo = () => {\n const endPoint = useContext(ApiContext).endPoint\n const [cookie] = useCookies(['token'])\n const navigate = useNavigate()\n\n useEffect(() => {\n if (\n sessionStorage.getItem('auth') === 'true' &&\n !isValidBearerToken(sessionStorage.getItem('token')) &&\n !isValidBearerToken(cookie.token)\n ) {\n navigate('/login', { replace: true })\n }\n }, [cookie.token])\n\n const handleGoBack = () => {\n const lastUrl = sessionStorage.getItem('lastActiveUrl')\n if (lastUrl === 'launch_model') {\n navigate(sessionStorage.getItem('modelType'))\n } else if (lastUrl === 'running_models') {\n navigate(sessionStorage.getItem('runningModelType'))\n } else if (lastUrl === 'register_model') {\n navigate(sessionStorage.getItem('registerModelType'))\n } else {\n navigate('/launch_model/llm')\n }\n }\n\n return (\n <Box\n sx={{\n height: '100%',\n width: '100%',\n padding: '20px 20px 0 20px',\n }}\n >\n <Title title=\"Cluster Information\" />\n <Grid container spacing={3} style={{ width: '100%' }}>\n <Grid item xs={12}>\n <Paper\n sx={{\n padding: 2,\n display: 'flex',\n overflow: 'auto',\n flexDirection: 'column',\n }}\n >\n <TableTitle>Supervisor</TableTitle>\n <NodeInfo\n nodeRole=\"Supervisor\"\n endpoint={endPoint}\n cookie={cookie}\n handleGoBack={handleGoBack}\n />\n </Paper>\n </Grid>\n <Grid item xs={12}>\n <Paper\n sx={{\n padding: 2,\n display: 'flex',\n overflow: 'auto',\n flexDirection: 'column',\n }}\n >\n <TableTitle>Workers</TableTitle>\n <NodeInfo\n nodeRole=\"Worker\"\n endpoint={endPoint}\n cookie={cookie}\n handleGoBack={handleGoBack}\n />\n </Paper>\n </Grid>\n <Grid item xs={12}>\n <Paper\n sx={{\n padding: 2,\n display: 'flex',\n overflow: 'auto',\n flexDirection: 'column',\n }}\n >\n <TableTitle>Worker Details</TableTitle>\n <NodeInfo\n nodeRole=\"Worker-Details\"\n endpoint={endPoint}\n cookie={cookie}\n handleGoBack={handleGoBack}\n />\n </Paper>\n </Grid>\n </Grid>\n </Box>\n )\n}\n\nexport default ClusterInfo\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"ast":null,"code":"import _objectSpread from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import _objectWithoutProperties from\"/home/runner/work/inference/inference/xinference/web/ui/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";var _excluded=[\"label\",\"value\",\"onChange\",\"hotkey\"];import{TextField}from'@mui/material';import InputAdornment from'@mui/material/InputAdornment';import Typography from'@mui/material/Typography';import React,{useEffect,useRef,useState}from'react';import{jsxs as _jsxs}from\"react/jsx-runtime\";import{jsx as _jsx}from\"react/jsx-runtime\";var HotkeyFocusTextField=function HotkeyFocusTextField(_ref){var label=_ref.label,value=_ref.value,onChange=_ref.onChange,_ref$hotkey=_ref.hotkey,hotkey=_ref$hotkey===void 0?'/':_ref$hotkey,props=_objectWithoutProperties(_ref,_excluded);var _useState=useState(false),_useState2=_slicedToArray(_useState,2),isFocused=_useState2[0],setIsFocused=_useState2[1];var textFieldRef=useRef(null);var handleKeyDown=function handleKeyDown(event){if(event.key===hotkey&&document.activeElement!==textFieldRef.current){var _textFieldRef$current;event.preventDefault();setIsFocused(true);(_textFieldRef$current=textFieldRef.current)===null||_textFieldRef$current===void 0?void 0:_textFieldRef$current.focus();}};useEffect(function(){document.addEventListener('keydown',handleKeyDown);return function(){document.removeEventListener('keydown',handleKeyDown);};},[hotkey]);return/*#__PURE__*/_jsx(TextField,_objectSpread(_objectSpread({},props),{},{label:label,value:value,onChange:onChange,inputRef:textFieldRef,autoFocus:isFocused,onBlur:function onBlur(){return setIsFocused(false);},onFocus:function onFocus(){return setIsFocused(true);},InputProps:{endAdornment:!isFocused&&!value?/*#__PURE__*/_jsx(InputAdornment,{position:\"end\",children:/*#__PURE__*/_jsxs(Typography,{color:\"textSecondary\",style:{fontSize:'inherit'},children:[\"Type \",hotkey,\" to search\"]})}):null}}));};export default HotkeyFocusTextField;","map":{"version":3,"names":["TextField","InputAdornment","Typography","React","useEffect","useRef","useState","jsxs","_jsxs","jsx","_jsx","HotkeyFocusTextField","_ref","label","value","onChange","_ref$hotkey","hotkey","props","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","isFocused","setIsFocused","textFieldRef","handleKeyDown","event","key","document","activeElement","current","_textFieldRef$current","preventDefault","focus","addEventListener","removeEventListener","_objectSpread","inputRef","autoFocus","onBlur","onFocus","InputProps","endAdornment","position","children","color","style","fontSize"],"sources":["/home/runner/work/inference/inference/xinference/web/ui/src/components/hotkeyFocusTextField.js"],"sourcesContent":["import { TextField } from '@mui/material'\nimport InputAdornment from '@mui/material/InputAdornment'\nimport Typography from '@mui/material/Typography'\nimport React, { useEffect, useRef, useState } from 'react'\n\nconst HotkeyFocusTextField = ({\n label,\n value,\n onChange,\n hotkey = '/',\n ...props\n}) => {\n const [isFocused, setIsFocused] = useState(false)\n const textFieldRef = useRef(null)\n const handleKeyDown = (event) => {\n if (\n event.key === hotkey &&\n document.activeElement !== textFieldRef.current\n ) {\n event.preventDefault()\n setIsFocused(true)\n textFieldRef.current?.focus()\n }\n }\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown)\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n }\n }, [hotkey])\n\n return (\n <TextField\n {...props}\n label={label}\n value={value}\n onChange={onChange}\n inputRef={textFieldRef}\n autoFocus={isFocused}\n onBlur={() => setIsFocused(false)}\n onFocus={() => setIsFocused(true)}\n InputProps={{\n endAdornment:\n !isFocused && !value ? (\n <InputAdornment position=\"end\">\n <Typography color=\"textSecondary\" style={{ fontSize: 'inherit' }}>\n Type {hotkey} to search\n </Typography>\n </InputAdornment>\n ) : null,\n }}\n />\n )\n}\n\nexport default HotkeyFocusTextField\n"],"mappings":"8eAAA,OAASA,SAAS,KAAQ,eAAe,CACzC,MAAO,CAAAC,cAAc,KAAM,8BAA8B,CACzD,MAAO,CAAAC,UAAU,KAAM,0BAA0B,CACjD,MAAO,CAAAC,KAAK,EAAIC,SAAS,CAAEC,MAAM,CAAEC,QAAQ,KAAQ,OAAO,QAAAC,IAAA,IAAAC,KAAA,gCAAAC,GAAA,IAAAC,IAAA,yBAE1D,GAAM,CAAAC,oBAAoB,CAAG,QAAvB,CAAAA,oBAAoBA,CAAAC,IAAA,CAMpB,IALJ,CAAAC,KAAK,CAAAD,IAAA,CAALC,KAAK,CACLC,KAAK,CAAAF,IAAA,CAALE,KAAK,CACLC,QAAQ,CAAAH,IAAA,CAARG,QAAQ,CAAAC,WAAA,CAAAJ,IAAA,CACRK,MAAM,CAANA,MAAM,CAAAD,WAAA,UAAG,GAAG,CAAAA,WAAA,CACTE,KAAK,CAAAC,wBAAA,CAAAP,IAAA,CAAAQ,SAAA,EAER,IAAAC,SAAA,CAAkCf,QAAQ,CAAC,KAAK,CAAC,CAAAgB,UAAA,CAAAC,cAAA,CAAAF,SAAA,IAA1CG,SAAS,CAAAF,UAAA,IAAEG,YAAY,CAAAH,UAAA,IAC9B,GAAM,CAAAI,YAAY,CAAGrB,MAAM,CAAC,IAAI,CAAC,CACjC,GAAM,CAAAsB,aAAa,CAAG,QAAhB,CAAAA,aAAaA,CAAIC,KAAK,CAAK,CAC/B,GACEA,KAAK,CAACC,GAAG,GAAKZ,MAAM,EACpBa,QAAQ,CAACC,aAAa,GAAKL,YAAY,CAACM,OAAO,CAC/C,KAAAC,qBAAA,CACAL,KAAK,CAACM,cAAc,CAAC,CAAC,CACtBT,YAAY,CAAC,IAAI,CAAC,CAClB,CAAAQ,qBAAA,CAAAP,YAAY,CAACM,OAAO,UAAAC,qBAAA,iBAApBA,qBAAA,CAAsBE,KAAK,CAAC,CAAC,CAC/B,CACF,CAAC,CAED/B,SAAS,CAAC,UAAM,CACd0B,QAAQ,CAACM,gBAAgB,CAAC,SAAS,CAAET,aAAa,CAAC,CAEnD,MAAO,WAAM,CACXG,QAAQ,CAACO,mBAAmB,CAAC,SAAS,CAAEV,aAAa,CAAC,CACxD,CAAC,CACH,CAAC,CAAE,CAACV,MAAM,CAAC,CAAC,CAEZ,mBACEP,IAAA,CAACV,SAAS,CAAAsC,aAAA,CAAAA,aAAA,IACJpB,KAAK,MACTL,KAAK,CAAEA,KAAM,CACbC,KAAK,CAAEA,KAAM,CACbC,QAAQ,CAAEA,QAAS,CACnBwB,QAAQ,CAAEb,YAAa,CACvBc,SAAS,CAAEhB,SAAU,CACrBiB,MAAM,CAAE,SAAAA,OAAA,QAAM,CAAAhB,YAAY,CAAC,KAAK,CAAC,EAAC,CAClCiB,OAAO,CAAE,SAAAA,QAAA,QAAM,CAAAjB,YAAY,CAAC,IAAI,CAAC,EAAC,CAClCkB,UAAU,CAAE,CACVC,YAAY,CACV,CAACpB,SAAS,EAAI,CAACV,KAAK,cAClBJ,IAAA,CAACT,cAAc,EAAC4C,QAAQ,CAAC,KAAK,CAAAC,QAAA,cAC5BtC,KAAA,CAACN,UAAU,EAAC6C,KAAK,CAAC,eAAe,CAACC,KAAK,CAAE,CAAEC,QAAQ,CAAE,SAAU,CAAE,CAAAH,QAAA,EAAC,OAC3D,CAAC7B,MAAM,CAAC,YACf,EAAY,CAAC,CACC,CAAC,CACf,IACR,CAAE,EACH,CAAC,CAEN,CAAC,CAED,cAAe,CAAAN,oBAAoB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
/xinference/web/ui/build/static/js/{main.4eb4ee80.js.LICENSE.txt → main.1eb206d1.js.LICENSE.txt}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|