hancheolp commited on
Commit
a12b2b1
·
verified ·
1 Parent(s): da936bc

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
LICENSE CHANGED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Upstage Solar License
2
+
3
+ # Preamble
4
+
5
+ The 'Upstage Solar License' (hereinafter referred to as "this License") was established by Upstage Co., Ltd., incorporated under the laws of the Republic of Korea, to encourage the development of open-source software using Solar AI models, and is not affiliated with the Apache Software Foundation.
6
+
7
+ This License basically adopts all provisions of the Apache License, Version 2.0 (hereinafter referred to as "Apache License 2.0"), including the principle of allowing commercial use, but prescribes minimum strategic conditions for the global expansion of AI technology and the sustainable development of the AI ecosystem.
8
+
9
+ The key additional condition, as specified in Section 4(e), is that if you distribute a "Derivative AI Model" based on the "Work", you must specify the 'Solar' brand. This applies as an exception to Section 6 (Trademarks) of the Apache License 2.0.
10
+
11
+ # TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
12
+
13
+ 1\. Definitions.
14
+
15
+ "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
16
+
17
+ "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
18
+
19
+ "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
20
+
21
+ "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
22
+
23
+ "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
24
+
25
+ "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
26
+
27
+ "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
28
+
29
+ "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
30
+
31
+ "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
32
+
33
+ "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
34
+
35
+ 2\. Grant of Copyright License.
36
+ Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
37
+
38
+ 3\. Grant of Patent License.
39
+ Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
40
+
41
+ 4\. Redistribution.
42
+ You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
43
+
44
+ (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
45
+ (b) You must cause any modified files to carry prominent notices stating that You changed the files; and
46
+ (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
47
+ (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
48
+ (e) If You distribute or make available a Derivative Work that is an artificial intelligence model created, trained, fine-tuned, or otherwise improved using the Work (the "Derivative AI Model"), You must adhere to the following conditions:
49
+ (i) The name of such Derivative AI Model must begin with "Solar" (e.g., "Solar-MyModel-v1"); and
50
+ (ii) You must prominently display the phrase "Built with Solar" in any related websites, user interfaces, or documentation associated with the Derivative AI Model; and
51
+ (iii) You must provide a copy of this License, including the original copyright notice and NOTICE file as included in the distribution of the Works, alongside the Derivative AI Model.
52
+
53
+ You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
54
+
55
+ 5\. Submission of Contributions.
56
+ Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
57
+
58
+ 6\. Trademarks.
59
+ This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work, reproducing the content of the NOTICE file, and as explicitly required for attribution in Section 4(e) of this License.
60
+ Any use of the “Solar” name under this License must not imply any sponsorship, endorsement, certification, or official relationship with the Licensor, nor mislead users into believing that a Derivative AI Model is an official product of the Licensor.
61
+
62
+ 7\. Disclaimer of Warranty.
63
+ Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
64
+
65
+ 8\. Limitation of Liability.
66
+ In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
67
+
68
+ 9\. Accepting Warranty or Additional Liability.
69
+ While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
70
+
71
+ END OF TERMS AND CONDITIONS
72
+
73
+ # APPENDIX: How to apply the Upstage Solar License to your work.
74
+
75
+ To apply the Upstage Solar License to your work, attach the following boilerplate notice, with the fields enclosed by brackets replaced with your own identifying information. (Don't include the brackets\!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
76
+
77
+ Copyright \[yyyy\] \[Upstage AI (or other copyright owner)\]
78
+
79
+ Licensed under the Upstage Solar License (the "License");
80
+ you may not use this file except in compliance with the License.
81
+ You may obtain a copy of the License at
82
+
83
+ https://huggingface.co/Upstage/Solar-Open-100B/blob/main/LICENSE
84
+
85
+ Unless required by applicable law or agreed to in writing, software
86
+ distributed under the License is distributed on an "AS IS" BASIS,
87
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
88
+ See the License for the specific language governing permissions and
89
+ limitations under the License.
90
+
91
+ This work is based on or derived from materials licensed under the
92
+ Upstage Solar License.
93
+ If you distribute or make available a Derivative AI Model (as defined
94
+ in Section 4(e) of the License), your model name must begin with "Solar"
95
+ and you must prominently display "Built with Solar" in associated
96
+ documentation or interfaces.
README.md CHANGED
@@ -1,5 +1,157 @@
1
- ---
2
- license: other
3
- license_name: upstage-solar-license
4
- license_link: LICENSE
5
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - en
4
+ - ko
5
+ library_name: transformers
6
+ license: other
7
+ license_name: upstage-solar-license
8
+ pipeline_tag: text-generation
9
+ tags:
10
+ - upstage
11
+ - solar
12
+ - moe
13
+ - 100b
14
+ - llm
15
+ - nota
16
+ - quantization
17
+ ---
18
+
19
+ # **Solar-Open-100B-Nota-FP8**
20
+
21
+ This repository provides an FP8-quantized version of **Upstage’s flagship model, [Solar-Open-100B](https://huggingface.co/upstage/Solar-Open-100B)**.
22
+
23
+ ## Overview
24
+
25
+ - **Base model:** [Solar-Open-100B](https://huggingface.co/upstage/Solar-Open-100B)
26
+ - **Quantization:** FP8 (weight: per-channel/static, activation: per-token/dynamic)
27
+ - **Hardware Requirements:**
28
+ * **Minimum:** 2 x NVIDIA A100 (80GB)
29
+
30
+ ## License
31
+ This repository contains both model weights and code,
32
+ which are licensed under different terms:
33
+
34
+ 1. MODEL WEIGHTS (*.safetensors)
35
+ Licensed under **Upstage Solar License**
36
+ See: https://huggingface.co/upstage/Solar-Open-100B/blob/main/LICENSE
37
+
38
+ 2. CODE (*.py, *.json, *.jinja files)
39
+ Licensed under **Apache License 2.0**
40
+ See: https://www.apache.org/licenses/LICENSE-2.0
41
+
42
+
43
+ ## Performance
44
+
45
+ - English
46
+
47
+ | |**Solar-Open-100B**|**Nota FP8 (Ours)**|
48
+ |--- | --- | --- |
49
+ |PPL (WikiText-2)↓|6.06 |6.06 |
50
+ |PPL (C4)↓ |20.37 |20.62 |
51
+ |PIQA↑ |82.37 |81.94 |
52
+ |BoolQ↑ |84.89 |85.14 |
53
+ |ARC-E↑ |87.25 |87.08 |
54
+ |ARC-C↑ |61.43 |61.60 |
55
+ |TruthfulQA↑ |59.25 |59.29 |
56
+ |WinoGrande↑ |76.09 |76.01 |
57
+
58
+ - Korean
59
+
60
+ | |**Solar-Open-100B**|**Nota FP8 (Ours)**|
61
+ |--- | --- | --- |
62
+ |HRM8K↑ |81.52 |81.54 |
63
+ |MMLU-ProX-Lite↑ |55.44 |54.86 |
64
+ |KoBEST↑ |62.00 |62.00 |
65
+ |CLiCK↑ |71.33 |71.28 |
66
+
67
+ - Model weigth memory footprint
68
+
69
+ |**Solar-Open-100B**|**Nota MoE Quantization (Ours)**|
70
+ | --- | --- |
71
+ |191.2 GB |97.2 GB |
72
+
73
+
74
+ * Note
75
+ - ↑ / ↓ denote the direction of improvement: higher is better (↑), lower is better (↓).
76
+ - Because we used a smaller thinking budget, the results for HRM8K and CLiCK are slightly lower than the numbers reported in the original Solar-Open-100B repository.
77
+ - Memory refers to the pure VRAM footprint occupied only by the model weights.
78
+
79
+ ## Inference
80
+ ### Transformers
81
+
82
+ Install the required dependencies:
83
+
84
+ ```bash
85
+ pip install -U transformers kernels torch accelerate
86
+ ```
87
+
88
+ Run inference with the following code:
89
+
90
+ ```python
91
+ import torch
92
+ from transformers import AutoModelForCausalLM, AutoTokenizer
93
+
94
+ MODEL_ID = "nota-ai/Solar-Open-100B-Nota-FP8"
95
+
96
+ # Load model and tokenizer
97
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
98
+
99
+ model = AutoModelForCausalLM.from_pretrained(
100
+ pretrained_model_name_or_path=MODEL_ID,
101
+ torch_dtype=torch.bfloat16,
102
+ device_map="auto",
103
+ trust_remote_code=True,
104
+ )
105
+
106
+ # Prepare input
107
+ messages = [{"role": "user", "content": "who are you?"}]
108
+ inputs = tokenizer.apply_chat_template(
109
+ messages,
110
+ tokenize=True,
111
+ add_generation_prompt=True,
112
+ return_dict=True,
113
+ return_tensors="pt",
114
+ )
115
+ inputs = inputs.to(model.device)
116
+
117
+ # Generate response
118
+ generated_ids = model.generate(
119
+ **inputs,
120
+ max_new_tokens=4096,
121
+ temperature=0.8,
122
+ top_p=0.95,
123
+ top_k=50,
124
+ do_sample=True,
125
+ )
126
+ generated_text = tokenizer.decode(generated_ids[0][inputs.input_ids.shape[1] :])
127
+ print(generated_text)
128
+ ```
129
+
130
+ ### vLLM
131
+ Create and activate a Python virtual environment
132
+ ```bash
133
+ uv venv --python 3.12 --seed
134
+ source .venv/bin/activate
135
+ ```
136
+
137
+ Install Solar Open's optimized vLLM
138
+ ```bash
139
+ VLLM_PRECOMPILED_WHEEL_LOCATION="https://github.com/vllm-project/vllm/releases/download/v0.12.0/vllm-0.12.0-cp38-abi3-manylinux_2_31_x86_64.whl" \
140
+ VLLM_USE_PRECOMPILED=1 \
141
+ uv pip install git+https://github.com/UpstageAI/vllm.git@v0.12.0-solar-open
142
+ ```
143
+
144
+ Start the vLLM server (For 2 GPUs)
145
+ ```bash
146
+ PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
147
+ vllm serve nota-ai/Solar-Open-100B-Nota-FP8 \
148
+ --trust-remote-code \
149
+ --enable-auto-tool-choice \
150
+ --tool-call-parser solar_open \
151
+ --reasoning-parser solar_open \
152
+ --logits-processors vllm.model_executor.models.parallel_tool_call_logits_processor:ParallelToolCallLogitsProcessor \
153
+ --logits-processors vllm.model_executor.models.solar_open_logits_processor:SolarOpenTemplateLogitsProcessor \
154
+ --tensor-parallel-size 2 \
155
+ --max-num-seqs 64 \
156
+ --gpu-memory-utilization 0.8
157
+ ```
chat_template.jinja ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {#- ======== Template Parameters ======== #}
2
+ {%- set add_generation_prompt = add_generation_prompt if add_generation_prompt is defined else true %}
3
+ {%- set default_system_prompt = default_system_prompt if default_system_prompt is defined else true %}
4
+ {%- set reasoning_effort = reasoning_effort if reasoning_effort is defined else "high" %}
5
+ {%- set think_render_option = think_render_option if think_render_option is defined else "lastthink" %}
6
+
7
+ {#- ======== System Block State ======== #}
8
+ {%- set sys_ns = namespace(is_first_block=true) -%}
9
+
10
+ {#- ======== Find last user message index ======== #}
11
+ {%- set last_user_idx = namespace(value=-1) -%}
12
+ {%- for message in messages -%}
13
+ {%- if message.role == 'user' -%}
14
+ {%- set last_user_idx.value = loop.index0 -%}
15
+ {%- endif -%}
16
+ {%- endfor -%}
17
+
18
+ {#- ======== System messages renderers ======== #}
19
+ {%- macro render_system_message(user_system_messages) %}
20
+ {%- if default_system_prompt %}
21
+ {%- if not sys_ns.is_first_block %}{{- "\n\n" }}{%- endif %}
22
+ {%- set sys_ns.is_first_block = false %}
23
+ {{- "## Provider System Prompt\n\nYou are Solar Open 100B, a large language model trained by Upstage AI, a Korean startup. Your knowledge cutoff is 2025-07. The current date is " + strftime_now("%Y-%m-%d") + "." }}
24
+ {%- endif -%}
25
+ {%- if user_system_messages %}
26
+ {%- if not sys_ns.is_first_block %}{{- "\n\n" }}{%- endif %}
27
+ {%- set sys_ns.is_first_block = false %}
28
+ {{- "## System Prompt" }}
29
+ {%- for system_message in user_system_messages %}
30
+ {{- "\n\n" }}
31
+ {{- system_message }}
32
+ {%- endfor %}
33
+ {%- endif -%}
34
+ {%- endmacro %}
35
+
36
+ {%- macro render_tool_instruction(tools) %}
37
+ {%- if not sys_ns.is_first_block %}{{- "\n\n" }}{%- endif %}
38
+ {%- set sys_ns.is_first_block = false %}
39
+ {{- "## Tools\n\n### Tool Call Instruction" }}
40
+ {{- "\nYou may invoke one or more tools to assist with the user's query. Available tools are provided in JSON Schema format: <|tools:begin|><|tool:begin|><tools-json-object><|tool:end|>...<|tools:end|>\n" }}
41
+ {{- "\n### Available Tools\n" }}
42
+ {{- "<|tools:begin|>" }}
43
+ {%- for tool in tools %}
44
+ {{- "<|tool:begin|>" }}
45
+ {{- tool.function | tojson }}
46
+ {{- "<|tool:end|>" }}
47
+ {%- endfor %}
48
+ {{- "<|tools:end|>\n" }}
49
+ {{- "\n### Tool Call Format\n" }}
50
+ {{- "For each tool call, return a JSON object with the following structure, enclosed within <|tool_call:begin|> and <|tool_call:end|> tags: \n<|tool_call:begin|><tool-call-id><|tool_call:name|><tool-name><|tool_call:args|><args-json-object><|tool_call:end|>\n" }}
51
+ {{- "- The <tool-call-id> must be a randomly generated string consisting of 10 lowercase letters (a-z) and/or digits (0-9) (e.g., a1b2c3d4e5)\n" }}
52
+ {{- "\n### Tool Response Format\n" }}
53
+ {{- "Each tool is responded by `tool` with the following structure:\n<|tool_response:id|><tool-call-id><|tool_response:name|><tool-name><|tool_response:result|><results><|tool_response:end|>\n" }}
54
+ {{- "- Ensure the <tool-call-id> matches the corresponding tool call" -}}
55
+ {%- endmacro %}
56
+
57
+ {%- macro render_json_response_format_instruction(response_format) %}
58
+ {%- if not sys_ns.is_first_block %}{{- "\n\n" }}{%- endif %}
59
+ {%- set sys_ns.is_first_block = false %}
60
+ {{- "## Output Format Constraint" }}
61
+ {{- "\n\nYour final response should follow the JSON schema: \n[Start of schema]" }}
62
+ {{- response_format }}
63
+ {{- "\n[End of schema]\nPlease ensure your answers adhere to this format and do not contain any unnecessary text." }}
64
+ {%- endmacro %}
65
+
66
+ {%- macro get_tool_name(messages, tool_call_id) %}
67
+ {%- for msg in messages -%}
68
+ {%- if msg.role == 'assistant' and msg.tool_calls -%}
69
+ {%- for tool_call in msg.tool_calls -%}
70
+ {%- if tool_call.id == tool_call_id -%}
71
+ {{- tool_call.function.name }}
72
+ {%- endif -%}
73
+ {%- endfor -%}
74
+ {%- endif -%}
75
+ {%- endfor -%}
76
+ {%- endmacro %}
77
+
78
+ {%- macro render_tool_arguments(tool_arguments) %}
79
+ {%- if tool_arguments is mapping -%}
80
+ {{- tool_arguments | tojson }}
81
+ {%- else -%}
82
+ {{- tool_arguments }}
83
+ {%- endif -%}
84
+ {%- endmacro %}
85
+
86
+ {#- ======== Render system message ======== #}
87
+ {%- set ns = namespace(system_messages=[]) -%}
88
+ {%- for message in messages -%}
89
+ {%- if message.role == 'system' -%}
90
+ {%- set ns.system_messages = ns.system_messages + [message.content] -%}
91
+ {%- endif -%}
92
+ {%- endfor -%}
93
+
94
+ {%- if ns.system_messages or default_system_prompt or tools or response_format -%}
95
+ {{- "<|begin|>system<|content|>" }}
96
+ {{- render_system_message(ns.system_messages) }}
97
+ {%- if tools -%}
98
+ {{- render_tool_instruction(tools) }}
99
+ {%- endif %}
100
+ {%- if response_format -%}
101
+ {{- render_json_response_format_instruction(response_format) }}
102
+ {%- endif %}
103
+ {{- "<|end|>" }}
104
+ {%- endif -%}
105
+
106
+ {#- ======== Render main messages ======== #}
107
+ {%- for message in messages -%}
108
+ {%- if message.role == 'user' -%}
109
+ {{- "<|begin|>user<|content|>" + message.content + "<|end|>" }}
110
+ {%- elif message.role == 'tool' -%}
111
+ {%- set prev_is_tool = loop.index0 > 0 and messages[loop.index0 - 1].role == 'tool' -%}
112
+ {%- set next_is_tool = loop.index0 < (messages | length - 1) and messages[loop.index0 + 1].role == 'tool' -%}
113
+ {%- if not prev_is_tool -%}
114
+ {{- "<|begin|>tool<|tool_response|>" }}
115
+ {%- endif -%}
116
+ {{- "<|tool_response:begin|>" + message.tool_call_id + "<|tool_response:name|>" }}
117
+ {{- get_tool_name(messages, message.tool_call_id) }}
118
+ {{- "<|tool_response:result|>" }}
119
+ {{- message.content }}
120
+ {{- "<|tool_response:end|>" }}
121
+ {%- if not next_is_tool -%}
122
+ {{- "<|end|>" }}
123
+ {%- endif -%}
124
+ {%- elif message.role == 'assistant' -%}
125
+ {#- ======== Assistant Thinking ======== #}
126
+ {%- if think_render_option == "all" -%}
127
+ {%- if message.reasoning -%}
128
+ {{- "<|begin|>assistant<|think|>" + message.reasoning + "<|end|>" }}
129
+ {%- endif -%}
130
+ {%- elif think_render_option == "lastthink" -%}
131
+ {%- if message.reasoning and loop.index0 > last_user_idx.value -%}
132
+ {{- "<|begin|>assistant<|think|>" + message.reasoning + "<|end|>" }}
133
+ {%- endif -%}
134
+ {%- endif -%}
135
+
136
+ {#- ======== Assistant Messages ======== #}
137
+ {%- if message.tool_calls -%}
138
+ {{- "<|begin|>assistant<|tool_calls|>" }}
139
+ {%- for tool_call in message.tool_calls -%}
140
+ {{- "<|tool_call:begin|>" + tool_call.id +"<|tool_call:name|>" + tool_call.function.name + "<|tool_call:args|>" }}
141
+ {{- render_tool_arguments(tool_call.function.arguments) }}
142
+ {{- "<|tool_call:end|>" }}
143
+ {%- endfor -%}
144
+ {{- "<|calls|>" }}
145
+ {%- else -%}
146
+ {{- "<|begin|>assistant<|content|>" + message.content + "<|end|>" }}
147
+ {%- endif -%}
148
+ {%- endif -%}
149
+ {%- endfor -%}
150
+
151
+ {%- if add_generation_prompt -%}
152
+ {%- if reasoning_effort in ["low", "minimal"] -%}
153
+ {{- "<|begin|>assistant<|think|><|end|>" }}
154
+ {%- endif -%}
155
+ {{- "<|begin|>assistant" }}
156
+ {%- endif -%}
config.json ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "SolarOpenForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "auto_map": {
8
+ "AutoConfig": "configuration_solar_open.SolarOpenConfig",
9
+ "AutoModel": "modeling_solar_open.SolarOpenModel",
10
+ "AutoModelForCausalLM": "modeling_solar_open.SolarOpenForCausalLM"
11
+ },
12
+ "bos_token_id": 1,
13
+ "dtype": "bfloat16",
14
+ "eos_token_id": 2,
15
+ "first_k_dense_replace": 0,
16
+ "head_dim": 128,
17
+ "hidden_act": "silu",
18
+ "hidden_size": 4096,
19
+ "initializer_range": 0.02,
20
+ "intermediate_size": 10240,
21
+ "max_position_embeddings": 131072,
22
+ "model_type": "solar_open",
23
+ "moe_intermediate_size": 1280,
24
+ "n_group": 1,
25
+ "n_routed_experts": 128,
26
+ "n_shared_experts": 1,
27
+ "norm_topk_prob": true,
28
+ "num_attention_heads": 64,
29
+ "num_experts_per_tok": 8,
30
+ "num_hidden_layers": 48,
31
+ "num_key_value_heads": 8,
32
+ "pad_token_id": 2,
33
+ "partial_rotary_factor": 1.0,
34
+ "quantization_config": {
35
+ "config_groups": {
36
+ "group_0": {
37
+ "format": "float-quantized",
38
+ "input_activations": {
39
+ "actorder": null,
40
+ "block_structure": null,
41
+ "dynamic": true,
42
+ "group_size": null,
43
+ "num_bits": 8,
44
+ "observer": null,
45
+ "observer_kwargs": {},
46
+ "strategy": "token",
47
+ "symmetric": true,
48
+ "type": "float"
49
+ },
50
+ "output_activations": null,
51
+ "targets": [
52
+ "Linear"
53
+ ],
54
+ "weights": {
55
+ "actorder": null,
56
+ "block_structure": null,
57
+ "dynamic": false,
58
+ "group_size": null,
59
+ "num_bits": 8,
60
+ "observer": "minmax",
61
+ "observer_kwargs": {},
62
+ "strategy": "channel",
63
+ "symmetric": true,
64
+ "type": "float"
65
+ }
66
+ }
67
+ },
68
+ "format": "float-quantized",
69
+ "global_compression_ratio": null,
70
+ "ignore": [
71
+ "lm_head"
72
+ ],
73
+ "kv_cache_scheme": null,
74
+ "quant_method": "compressed-tensors",
75
+ "quantization_status": "compressed",
76
+ "sparsity_config": {},
77
+ "transform_config": {},
78
+ "version": "0.12.2"
79
+ },
80
+ "rms_norm_eps": 1e-05,
81
+ "rope_scaling": {
82
+ "factor": 2.0,
83
+ "original_max_position_embeddings": 65536,
84
+ "rope_type": "yarn",
85
+ "type": "yarn"
86
+ },
87
+ "rope_theta": 1000000,
88
+ "routed_scaling_factor": 1.0,
89
+ "tie_word_embeddings": false,
90
+ "topk_group": 1,
91
+ "transformers_version": "4.57.3",
92
+ "use_cache": true,
93
+ "use_qk_norm": false,
94
+ "vocab_size": 196608
95
+ }
configuration_solar_open.py ADDED
@@ -0,0 +1,242 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # coding=utf-8
2
+ # Copyright 2025 Upstage AI.
3
+ # Copyright 2025 The ZhipuAI Inc. team and HuggingFace Inc. team.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ # This file has been modified by Upstage AI including
18
+ # - Hyperparameter Adjustments: Modified the model architecture by increasing vocab_size and num_hidden_layers, while decreasing num_attention_heads, intermediate_size, and moe_intermediate_size.
19
+ # RoPE Configuration: Replaced the generic rope_parameters argument with explicit rope_theta and rope_scaling parameters to define Rotary Positional Embeddings settings.
20
+ #
21
+ # Based on code from: https://github.com/huggingface/transformers/blob/main/src/transformers/models/glm4_moe/configuration_glm4_moe.py
22
+
23
+ from transformers.configuration_utils import PretrainedConfig
24
+ from transformers.modeling_rope_utils import rope_config_validation
25
+
26
+
27
+ class SolarOpenConfig(PretrainedConfig):
28
+ r"""
29
+ This is the configuration class to store the configuration of a [`SolarOpenModel`]. It is used to instantiate a
30
+ SolarOpen model according to the specified arguments, defining the model architecture.
31
+
32
+ Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
33
+ documentation from [`PretrainedConfig`] for more information.
34
+
35
+
36
+ Args:
37
+ vocab_size (`int`, *optional*, defaults to 196608):
38
+ Vocabulary size of the SolarOpen model. Defines the number of different tokens that can be represented by the
39
+ `inputs_ids` passed when calling [`SolarOpenModel`]
40
+ hidden_size (`int`, *optional*, defaults to 4096):
41
+ Dimension of the hidden representations.
42
+ intermediate_size (`int`, *optional*, defaults to 10240):
43
+ Dimension of the MLP representations.
44
+ num_hidden_layers (`int`, *optional*, defaults to 48):
45
+ Number of hidden layers in the Transformer encoder.
46
+ num_attention_heads (`int`, *optional*, defaults to 64):
47
+ Number of attention heads for each attention layer in the Transformer encoder.
48
+ partial_rotary_factor (`float`, *optional*, defaults to 1.0):
49
+ The factor of the partial rotary position.
50
+ num_key_value_heads (`int`, *optional*, defaults to 8):
51
+ This is the number of key_value heads that should be used to implement Grouped Query Attention. If
52
+ `num_key_value_heads=num_attention_heads`, the model will use Multi Head Attention (MHA), if
53
+ `num_key_value_heads=1` the model will use Multi Query Attention (MQA) otherwise GQA is used. When
54
+ converting a multi-head checkpoint to a GQA checkpoint, each group key and value head should be constructed
55
+ by meanpooling all the original heads within that group. For more details, check out [this
56
+ paper](https://huggingface.co/papers/2305.13245). If it is not specified, will default to `32`.
57
+
58
+ hidden_act (`str` or `function`, *optional*, defaults to `"silu"`):
59
+ The non-linear activation function (function or string) in the decoder.
60
+ max_position_embeddings (`int`, *optional*, defaults to 131072):
61
+ The maximum sequence length that this model might ever be used with.
62
+ initializer_range (`float`, *optional*, defaults to 0.02):
63
+ The standard deviation of the truncated_normal_initializer for initializing all weight matrices.
64
+ rms_norm_eps (`float`, *optional*, defaults to 1e-05):
65
+ The epsilon used by the rms normalization layers.
66
+ use_cache (`bool`, *optional*, defaults to `True`):
67
+ Whether or not the model should return the last key/values attentions (not used by all models). Only
68
+ relevant if `config.is_decoder=True`.
69
+ tie_word_embeddings (`bool`, *optional*, defaults to `False`):
70
+ Whether the model's input and output word embeddings should be tied.
71
+ rope_theta (`float`, *optional*, defaults to 1000000.0):
72
+ The base period of the RoPE embeddings.
73
+ rope_scaling (`Dict`, *optional*):
74
+ Dictionary containing the scaling configuration for the RoPE embeddings. NOTE: if you apply new rope type
75
+ and you expect the model to work on longer `max_position_embeddings`, we recommend you to update this value
76
+ accordingly.
77
+ Expected contents:
78
+ `rope_type` (`str`):
79
+ The sub-variant of RoPE to use. Can be one of ['default', 'linear', 'dynamic', 'yarn', 'longrope',
80
+ 'llama3'], with 'default' being the original RoPE implementation.
81
+ `factor` (`float`, *optional*):
82
+ Used with all rope types except 'default'. The scaling factor to apply to the RoPE embeddings. In
83
+ most scaling types, a `factor` of x will enable the model to handle sequences of length x *
84
+ original maximum pre-trained length.
85
+ `original_max_position_embeddings` (`int`, *optional*):
86
+ Used with 'dynamic', 'longrope' and 'llama3'. The original max position embeddings used during
87
+ pretraining.
88
+ `attention_factor` (`float`, *optional*):
89
+ Used with 'yarn' and 'longrope'. The scaling factor to be applied on the attention
90
+ computation. If unspecified, it defaults to value recommended by the implementation, using the
91
+ `factor` field to infer the suggested value.
92
+ `beta_fast` (`float`, *optional*):
93
+ Only used with 'yarn'. Parameter to set the boundary for extrapolation (only) in the linear
94
+ ramp function. If unspecified, it defaults to 32.
95
+ `beta_slow` (`float`, *optional*):
96
+ Only used with 'yarn'. Parameter to set the boundary for interpolation (only) in the linear
97
+ ramp function. If unspecified, it defaults to 1.
98
+ `short_factor` (`list[float]`, *optional*):
99
+ Only used with 'longrope'. The scaling factor to be applied to short contexts (<
100
+ `original_max_position_embeddings`). Must be a list of numbers with the same length as the hidden
101
+ size divided by the number of attention heads divided by 2
102
+ `long_factor` (`list[float]`, *optional*):
103
+ Only used with 'longrope'. The scaling factor to be applied to long contexts (<
104
+ `original_max_position_embeddings`). Must be a list of numbers with the same length as the hidden
105
+ size divided by the number of attention heads divided by 2
106
+ `low_freq_factor` (`float`, *optional*):
107
+ Only used with 'llama3'. Scaling factor applied to low frequency components of the RoPE
108
+ `high_freq_factor` (`float`, *optional*):
109
+ Only used with 'llama3'. Scaling factor applied to high frequency components of the RoPE
110
+ attention_bias (`bool`, defaults to `False`, *optional*, defaults to `False`):
111
+ Whether to use a bias in the query, key, value and output projection layers during self-attention.
112
+ attention_dropout (`float`, *optional*, defaults to 0.0):
113
+ The dropout ratio for the attention probabilities.
114
+ moe_intermediate_size (`int`, *optional*, defaults to 1280):
115
+ Intermediate size of the routed expert.
116
+ num_experts_per_tok (`int`, *optional*, defaults to 8):
117
+ number of experts per token.
118
+ n_shared_experts (`int`, *optional*, defaults to 1):
119
+ Number of shared experts.
120
+ n_routed_experts (`int`, *optional*, defaults to 128):
121
+ Number of routed experts.
122
+ routed_scaling_factor (`float`, *optional*, defaults to 1.0):
123
+ Scaling factor or routed experts.
124
+ n_group (`int`, *optional*, defaults to 1):
125
+ Number of groups for routed experts.
126
+ topk_group (`int`, *optional*, defaults to 1):
127
+ Number of selected groups for each token(for each token, ensuring the selected experts is only within `topk_group` groups).
128
+ first_k_dense_replace (`int`, *optional*, defaults to 0):
129
+ Number of dense layers in shallow layers(embed->dense->dense->...->dense->moe->moe...->lm_head).
130
+ \--k dense layers--/
131
+ norm_topk_prob (`bool`, *optional*, defaults to `True`):
132
+ Whether to normalize the topk probabilities.
133
+ use_qk_norm (`bool`, *optional*, defaults to `False`):
134
+ Whether to use query-key normalization in the attention
135
+ ```python
136
+ >>> from transformers import SolarOpenModel, SolarOpenConfig
137
+
138
+ >>> # Initializing a SolarOpen style configuration
139
+ >>> configuration = SolarOpenConfig()
140
+
141
+ >>> # Initializing a model from the SolarOpen style configuration
142
+ >>> model = SolarOpenModel(configuration)
143
+
144
+ >>> # Accessing the model configuration
145
+ >>> configuration = model.config
146
+ ```"""
147
+
148
+ model_type = "solar_open"
149
+ keys_to_ignore_at_inference = ["past_key_values"]
150
+
151
+ # Default tensor parallel plan for base model `SolarOpen`
152
+ base_model_tp_plan = {
153
+ "layers.*.self_attn.q_proj": "colwise",
154
+ "layers.*.self_attn.k_proj": "colwise",
155
+ "layers.*.self_attn.v_proj": "colwise",
156
+ "layers.*.self_attn.o_proj": "rowwise",
157
+ "layers.*.mlp.experts.*.gate_proj": "colwise",
158
+ "layers.*.mlp.experts.*.up_proj": "colwise",
159
+ "layers.*.mlp.experts.*.down_proj": "rowwise",
160
+ "layers.*.mlp.gate_proj": "colwise",
161
+ "layers.*.mlp.up_proj": "colwise",
162
+ "layers.*.mlp.down_proj": "rowwise",
163
+ }
164
+ base_model_pp_plan = {
165
+ "embed_tokens": (["input_ids"], ["inputs_embeds"]),
166
+ "layers": (["hidden_states", "attention_mask"], ["hidden_states"]),
167
+ "norm": (["hidden_states"], ["hidden_states"]),
168
+ }
169
+
170
+ def __init__(
171
+ self,
172
+ vocab_size=196608,
173
+ hidden_size=4096,
174
+ intermediate_size=10240,
175
+ num_hidden_layers=48,
176
+ num_attention_heads=64,
177
+ partial_rotary_factor=1.0,
178
+ num_key_value_heads=8,
179
+ hidden_act="silu",
180
+ max_position_embeddings=131072,
181
+ initializer_range=0.02,
182
+ rms_norm_eps=1e-5,
183
+ use_cache=True,
184
+ tie_word_embeddings=False,
185
+ rope_theta=1000000.0,
186
+ rope_scaling=None,
187
+ attention_bias=False,
188
+ attention_dropout=0.0,
189
+ moe_intermediate_size=1280,
190
+ num_experts_per_tok=8,
191
+ n_shared_experts=1,
192
+ n_routed_experts=128,
193
+ routed_scaling_factor=1.0,
194
+ n_group=1,
195
+ topk_group=1,
196
+ first_k_dense_replace=0,
197
+ norm_topk_prob=True,
198
+ use_qk_norm=False,
199
+ **kwargs,
200
+ ):
201
+ self.vocab_size = vocab_size
202
+ self.max_position_embeddings = max_position_embeddings
203
+ self.hidden_size = hidden_size
204
+ self.intermediate_size = intermediate_size
205
+ self.num_hidden_layers = num_hidden_layers
206
+ self.num_attention_heads = num_attention_heads
207
+ self.partial_rotary_factor = partial_rotary_factor
208
+
209
+ self.num_key_value_heads = num_key_value_heads
210
+ self.hidden_act = hidden_act
211
+ self.initializer_range = initializer_range
212
+ self.rms_norm_eps = rms_norm_eps
213
+ self.use_cache = use_cache
214
+ self.rope_theta = rope_theta
215
+ self.rope_scaling = rope_scaling
216
+ self.attention_bias = attention_bias
217
+ self.attention_dropout = attention_dropout
218
+ # Validate the correctness of rotary position embeddings parameters
219
+ # BC: if there is a 'type' field, move it to 'rope_type'.
220
+ if self.rope_scaling is not None and "type" in self.rope_scaling:
221
+ self.rope_scaling["rope_type"] = self.rope_scaling["type"]
222
+ rope_config_validation(self)
223
+
224
+ # MoE arguments
225
+ self.moe_intermediate_size = moe_intermediate_size
226
+ self.num_experts_per_tok = num_experts_per_tok
227
+ self.n_group = n_group
228
+ self.topk_group = topk_group
229
+ self.n_shared_experts = n_shared_experts
230
+ self.n_routed_experts = n_routed_experts
231
+ self.routed_scaling_factor = routed_scaling_factor
232
+ self.first_k_dense_replace = first_k_dense_replace
233
+ self.norm_topk_prob = norm_topk_prob
234
+ self.use_qk_norm = use_qk_norm
235
+
236
+ super().__init__(
237
+ tie_word_embeddings=tie_word_embeddings,
238
+ **kwargs,
239
+ )
240
+
241
+
242
+ __all__ = ["SolarOpenConfig"]
generation_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 1,
4
+ "do_sample": true,
5
+ "eos_token_id": [
6
+ 2,
7
+ 24,
8
+ 25
9
+ ],
10
+ "pad_token_id": 2,
11
+ "temperature": 0.8,
12
+ "top_p": 0.95,
13
+ "transformers_version": "4.57.3"
14
+ }
model-00001-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9586b3be358f339676b372ed5f4289ff39380bbf92cb56dd0fef10242bcfaf60
3
+ size 4995235552
model-00002-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e1e9365d8a28629c2dee00b2c6317f0c41d9a09268ac0082989058728ff631e7
3
+ size 4996690936
model-00003-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e82fd02c72f5eada7fe9ebbb98968f8d68790b3d3dfd43b63f76b072f5c85a59
3
+ size 4999816264
model-00004-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7fa5fb7f30bfd8c8c53ff1b1864ca2ad70e8fbb952192f08a5d8f52b00c97d2a
3
+ size 4996685016
model-00005-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f3ced072884417a61020aa20562bbfafb9661a39e45f948dcb014891e9db12d0
3
+ size 4999816816
model-00006-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:13614da79690c9b219215ab82d31652e1f226f5e4a3feaed4151d17326453df1
3
+ size 4996692512
model-00007-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4f1faa47c5e5ac2fee9e46a8f4aeb45dc42d88117eb2ff569443a15c3d6491b8
3
+ size 4996692584
model-00008-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:efcfa17725c41cdfad05ae38375a16c8192f2732e4f746740b96a75e85f78a8d
3
+ size 4999818096
model-00009-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3ef73bb9f0eb35a908b5b63159bae79d7d44cb3b02fa242e8c789eaf1b54d8dc
3
+ size 4996686888
model-00010-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:276d8872f6cae6aff5eb4f7de66e23d750960c6be9945d7850f6413118b8d2af
3
+ size 4996692768
model-00011-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:332accec25bc4250d1f23bf36888fb8a9829e8324fcbf66f38ad2f9806a64ca5
3
+ size 4999818096
model-00012-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:24d253fe8393b739286dfd383e5a9a60bdf07e5b6abe01f868bd5b2e6d67de19
3
+ size 4996692520
model-00013-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f737fd8f8f4ae88e1f2cf0b990ed3c33d83b5302d81cf59f34c6fea2ab009a7a
3
+ size 4999818056
model-00014-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:219d5cc7613b882d3ba9b94de2ff3eb0d30c9080fb22974779ceb4b743ae0313
3
+ size 4996686848
model-00015-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ce00ebf3c5b756f7acc00be9449f6f1e3bf8bb35deb54717891ff50d55dcefdf
3
+ size 4996692544
model-00016-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bb7820a429541a95fd49e62a9f52f81632a655eb0ea71a86e44746eb13b99a32
3
+ size 4999818096
model-00017-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7c852d36b2e6a22d7241330d078bb352bf4599706a3bf03a6b0486cf6ba481b5
3
+ size 4996692520
model-00018-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1a92366f4492dbcf37fb26558794a1da97683af125c90f9762ef2e754a186b5d
3
+ size 4996687088
model-00019-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:74cfe23838f84c6214f7565404dc2b93b5c4d1d81306a7ba4aaf95cacb9fa8bf
3
+ size 4999818096
model-00020-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f60372452506d9f675834b2a538151d142e95a8e63920064224b2b55c5f15572
3
+ size 4996692520
model-00021-of-00021.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e853d76650d786c88cd4baa699e2095191d022de358965409ef8c62f9e17be14
3
+ size 4422268360
model.safetensors.index.json ADDED
The diff for this file is too large to render. See raw diff
 
modeling_solar_open.py ADDED
@@ -0,0 +1,605 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # coding=utf-8
2
+ # Copyright 2025 Upstage AI.
3
+ # Copyright 2025 The GLM4 & ZhipuAI team and HuggingFace Inc. team.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ # This file has been modified by Upstage AI including:
18
+ # - Hybrid MoE Architecture: Replaced the standard dense structure with a depth-dependent Hybrid MoE, adding `SolarOpenMoE` and `SolarOpenTopkRouter` classes.
19
+ # - RoPE Strategy: Changed the rotary position embedding strategy from GLM4's interleaved rotation to Llama-style block rotation (via modified `rotate_half`).
20
+ # - Normalization Logic: Simplified the layer normalization structure by removing GLM4's extra post-operation norms and adding optional Query-Key Normalization (`use_qk_norm`).
21
+ #
22
+ # Based on code from: https://github.com/huggingface/transformers/blob/main/src/transformers/models/glm4/modeling_glm4.py
23
+
24
+ from typing import Callable, Optional, Union
25
+
26
+ import torch
27
+ import torch.nn.functional as F
28
+ from torch import nn
29
+
30
+ from transformers.activations import ACT2FN
31
+ from transformers.cache_utils import Cache, DynamicCache
32
+ from transformers.generation import GenerationMixin
33
+ from transformers.integrations import use_kernel_forward_from_hub
34
+ from transformers.masking_utils import create_causal_mask
35
+ from transformers.modeling_flash_attention_utils import FlashAttentionKwargs
36
+ from transformers.modeling_layers import GradientCheckpointingLayer
37
+ from transformers.modeling_outputs import BaseModelOutputWithPast, CausalLMOutputWithPast
38
+ from transformers.modeling_rope_utils import ROPE_INIT_FUNCTIONS, dynamic_rope_update
39
+ from transformers.modeling_utils import ALL_ATTENTION_FUNCTIONS, PreTrainedModel
40
+ from transformers.processing_utils import Unpack
41
+ from transformers.utils import TransformersKwargs, auto_docstring, can_return_tuple
42
+ from transformers.utils.deprecation import deprecate_kwarg
43
+ from transformers.utils.generic import check_model_inputs
44
+ from .configuration_solar_open import SolarOpenConfig
45
+
46
+
47
+ def repeat_kv(hidden_states: torch.Tensor, n_rep: int) -> torch.Tensor:
48
+ """
49
+ This is the equivalent of torch.repeat_interleave(x, dim=1, repeats=n_rep). The hidden states go from (batch,
50
+ num_key_value_heads, seqlen, head_dim) to (batch, num_attention_heads, seqlen, head_dim)
51
+ """
52
+ batch, num_key_value_heads, slen, head_dim = hidden_states.shape
53
+ if n_rep == 1:
54
+ return hidden_states
55
+ hidden_states = hidden_states[:, :, None, :, :].expand(batch, num_key_value_heads, n_rep, slen, head_dim)
56
+ return hidden_states.reshape(batch, num_key_value_heads * n_rep, slen, head_dim)
57
+
58
+
59
+ def eager_attention_forward(
60
+ module: nn.Module,
61
+ query: torch.Tensor,
62
+ key: torch.Tensor,
63
+ value: torch.Tensor,
64
+ attention_mask: Optional[torch.Tensor],
65
+ scaling: float,
66
+ dropout: float = 0.0,
67
+ **kwargs: Unpack[TransformersKwargs],
68
+ ):
69
+ key_states = repeat_kv(key, module.num_key_value_groups)
70
+ value_states = repeat_kv(value, module.num_key_value_groups)
71
+
72
+ attn_weights = torch.matmul(query, key_states.transpose(2, 3)) * scaling
73
+ if attention_mask is not None:
74
+ causal_mask = attention_mask[:, :, :, : key_states.shape[-2]]
75
+ attn_weights = attn_weights + causal_mask
76
+
77
+ attn_weights = nn.functional.softmax(attn_weights, dim=-1, dtype=torch.float32).to(query.dtype)
78
+ attn_weights = nn.functional.dropout(attn_weights, p=dropout, training=module.training)
79
+ attn_output = torch.matmul(attn_weights, value_states)
80
+ attn_output = attn_output.transpose(1, 2).contiguous()
81
+
82
+ return attn_output, attn_weights
83
+
84
+
85
+ def rotate_half(x):
86
+ """Rotates half the hidden dims of the input."""
87
+ x1 = x[..., : x.shape[-1] // 2]
88
+ x2 = x[..., x.shape[-1] // 2 :]
89
+ return torch.cat((-x2, x1), dim=-1)
90
+
91
+
92
+ def apply_rotary_pos_emb(q, k, cos, sin, position_ids=None, unsqueeze_dim=1):
93
+ """Applies Rotary Position Embedding to the query and key tensors.
94
+
95
+ Args:
96
+ q (`torch.Tensor`): The query tensor.
97
+ k (`torch.Tensor`): The key tensor.
98
+ cos (`torch.Tensor`): The cosine part of the rotary embedding.
99
+ sin (`torch.Tensor`): The sine part of the rotary embedding.
100
+ position_ids (`torch.Tensor`, *optional*):
101
+ Deprecated and unused.
102
+ unsqueeze_dim (`int`, *optional*, defaults to 1):
103
+ The 'unsqueeze_dim' argument specifies the dimension along which to unsqueeze cos[position_ids] and
104
+ sin[position_ids] so that they can be properly broadcasted to the dimensions of q and k. For example, note
105
+ that cos[position_ids] and sin[position_ids] have the shape [batch_size, seq_len, head_dim]. Then, if q and
106
+ k have the shape [batch_size, heads, seq_len, head_dim], then setting unsqueeze_dim=1 makes
107
+ cos[position_ids] and sin[position_ids] broadcastable to the shapes of q and k. Similarly, if q and k have
108
+ the shape [batch_size, seq_len, heads, head_dim], then set unsqueeze_dim=2.
109
+ Returns:
110
+ `tuple(torch.Tensor)` comprising of the query and key tensors rotated using the Rotary Position Embedding.
111
+ """
112
+ cos = cos.unsqueeze(unsqueeze_dim)
113
+ sin = sin.unsqueeze(unsqueeze_dim)
114
+
115
+ # Keep half or full tensor for later concatenation
116
+ rotary_dim = cos.shape[-1]
117
+ q_rot, q_pass = q[..., :rotary_dim], q[..., rotary_dim:]
118
+ k_rot, k_pass = k[..., :rotary_dim], k[..., rotary_dim:]
119
+
120
+ # Apply rotary embeddings on the first half or full tensor
121
+ q_embed = (q_rot * cos) + (rotate_half(q_rot) * sin)
122
+ k_embed = (k_rot * cos) + (rotate_half(k_rot) * sin)
123
+
124
+ # Concatenate back to full shape
125
+ q_embed = torch.cat([q_embed, q_pass], dim=-1)
126
+ k_embed = torch.cat([k_embed, k_pass], dim=-1)
127
+ return q_embed, k_embed
128
+
129
+
130
+ class SolarOpenAttention(nn.Module):
131
+ """Multi-headed attention from 'Attention Is All You Need' paper"""
132
+
133
+ def __init__(self, config: SolarOpenConfig, layer_idx: Optional[int] = None):
134
+ super().__init__()
135
+ self.config = config
136
+ self.layer_idx = layer_idx
137
+ self.head_dim = getattr(config, "head_dim", config.hidden_size // config.num_attention_heads)
138
+ self.num_key_value_groups = config.num_attention_heads // config.num_key_value_heads
139
+ self.scaling = self.head_dim**-0.5
140
+ self.rope_scaling = config.rope_scaling
141
+ self.attention_dropout = config.attention_dropout
142
+ self.is_causal = True
143
+
144
+ self.q_proj = nn.Linear(
145
+ config.hidden_size, config.num_attention_heads * self.head_dim, bias=config.attention_bias
146
+ )
147
+ self.k_proj = nn.Linear(
148
+ config.hidden_size, config.num_key_value_heads * self.head_dim, bias=config.attention_bias
149
+ )
150
+ self.v_proj = nn.Linear(
151
+ config.hidden_size, config.num_key_value_heads * self.head_dim, bias=config.attention_bias
152
+ )
153
+ self.o_proj = nn.Linear(config.num_attention_heads * self.head_dim, config.hidden_size, bias=False)
154
+ self.use_qk_norm = config.use_qk_norm
155
+ if self.use_qk_norm:
156
+ self.q_norm = SolarOpenRMSNorm(self.head_dim, eps=config.rms_norm_eps)
157
+ self.k_norm = SolarOpenRMSNorm(self.head_dim, eps=config.rms_norm_eps)
158
+
159
+ @deprecate_kwarg("past_key_value", new_name="past_key_values", version="4.58")
160
+ def forward(
161
+ self,
162
+ hidden_states: torch.Tensor,
163
+ position_embeddings: tuple[torch.Tensor, torch.Tensor],
164
+ attention_mask: Optional[torch.Tensor],
165
+ past_key_values: Optional[Cache] = None,
166
+ cache_position: Optional[torch.LongTensor] = None,
167
+ **kwargs: Unpack[FlashAttentionKwargs],
168
+ ) -> tuple[torch.Tensor, Optional[torch.Tensor]]:
169
+ input_shape = hidden_states.shape[:-1]
170
+ hidden_shape = (*input_shape, -1, self.head_dim)
171
+
172
+ query_states = self.q_proj(hidden_states).view(hidden_shape)
173
+ key_states = self.k_proj(hidden_states).view(hidden_shape)
174
+ value_states = self.v_proj(hidden_states).view(hidden_shape)
175
+
176
+ if self.use_qk_norm: # main diff from Llama
177
+ query_states = self.q_norm(query_states)
178
+ key_states = self.k_norm(key_states)
179
+
180
+ query_states = query_states.transpose(1, 2)
181
+ key_states = key_states.transpose(1, 2)
182
+ value_states = value_states.transpose(1, 2)
183
+
184
+ cos, sin = position_embeddings
185
+ query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin)
186
+
187
+ if past_key_values is not None:
188
+ # sin and cos are specific to RoPE models; position_ids needed for the static cache
189
+ cache_kwargs = {"sin": sin, "cos": cos, "cache_position": cache_position}
190
+ key_states, value_states = past_key_values.update(key_states, value_states, self.layer_idx, cache_kwargs)
191
+
192
+ attention_interface: Callable = eager_attention_forward
193
+ if self.config._attn_implementation != "eager":
194
+ attention_interface = ALL_ATTENTION_FUNCTIONS[self.config._attn_implementation]
195
+
196
+ attn_output, attn_weights = attention_interface(
197
+ self,
198
+ query_states,
199
+ key_states,
200
+ value_states,
201
+ attention_mask,
202
+ dropout=0.0 if not self.training else self.attention_dropout,
203
+ scaling=self.scaling,
204
+ **kwargs,
205
+ )
206
+
207
+ attn_output = attn_output.reshape(*input_shape, -1).contiguous()
208
+ attn_output = self.o_proj(attn_output)
209
+ return attn_output, attn_weights
210
+
211
+
212
+ class SolarOpenMLP(nn.Module):
213
+ def __init__(self, config, hidden_size=None, intermediate_size=None):
214
+ super().__init__()
215
+ self.config = config
216
+ self.hidden_size = config.hidden_size if hidden_size is None else hidden_size
217
+ self.intermediate_size = config.intermediate_size if intermediate_size is None else intermediate_size
218
+
219
+ self.gate_proj = nn.Linear(self.hidden_size, self.intermediate_size, bias=False)
220
+ self.up_proj = nn.Linear(self.hidden_size, self.intermediate_size, bias=False)
221
+ self.down_proj = nn.Linear(self.intermediate_size, self.hidden_size, bias=False)
222
+ self.act_fn = ACT2FN[config.hidden_act]
223
+
224
+ def forward(self, x):
225
+ down_proj = self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x))
226
+ return down_proj
227
+
228
+
229
+ class SolarOpenTopkRouter(nn.Module):
230
+ def __init__(self, config: SolarOpenConfig):
231
+ super().__init__()
232
+ self.config = config
233
+ self.top_k = config.num_experts_per_tok
234
+ self.n_routed_experts = config.n_routed_experts
235
+ self.routed_scaling_factor = config.routed_scaling_factor
236
+ self.n_group = config.n_group
237
+ self.topk_group = config.topk_group
238
+ self.norm_topk_prob = config.norm_topk_prob
239
+
240
+ self.weight = nn.Parameter(torch.empty((self.n_routed_experts, config.hidden_size)))
241
+ self.e_score_correction_bias = nn.Parameter(
242
+ torch.zeros((self.n_routed_experts), dtype=torch.float32))
243
+
244
+ @torch.no_grad()
245
+ def get_topk_indices(self, scores):
246
+ scores_for_choice = scores.view(-1, self.n_routed_experts) + self.e_score_correction_bias.unsqueeze(0)
247
+ group_scores = (
248
+ scores_for_choice.view(-1, self.n_group, self.n_routed_experts // self.n_group)
249
+ .topk(2, dim=-1)[0]
250
+ .sum(dim=-1)
251
+ )
252
+ group_idx = torch.topk(group_scores, k=self.topk_group, dim=-1, sorted=False)[1]
253
+ group_mask = torch.zeros_like(group_scores)
254
+ group_mask.scatter_(1, group_idx, 1)
255
+ score_mask = (
256
+ group_mask.unsqueeze(-1)
257
+ .expand(-1, self.n_group, self.n_routed_experts // self.n_group)
258
+ .reshape(-1, self.n_routed_experts)
259
+ )
260
+ scores_for_choice = scores_for_choice.masked_fill(~score_mask.bool(), 0.0)
261
+ topk_indices = torch.topk(scores_for_choice, k=self.top_k, dim=-1, sorted=False)[1]
262
+ return topk_indices
263
+
264
+ def forward(self, hidden_states):
265
+ hidden_states = hidden_states.view(-1, self.config.hidden_size)
266
+ router_logits = F.linear(hidden_states.type(torch.float32), self.weight.type(torch.float32))
267
+ scores = router_logits.sigmoid()
268
+ topk_indices = self.get_topk_indices(scores)
269
+ topk_weights = scores.gather(1, topk_indices)
270
+ if self.norm_topk_prob:
271
+ denominator = topk_weights.sum(dim=-1, keepdim=True) + 1e-20
272
+ topk_weights /= denominator
273
+ topk_weights = topk_weights * self.routed_scaling_factor
274
+ return topk_indices, topk_weights
275
+
276
+
277
+ @use_kernel_forward_from_hub("RMSNorm")
278
+ class SolarOpenRMSNorm(nn.Module):
279
+ def __init__(self, hidden_size, eps=1e-6):
280
+ """
281
+ SolarOpenRMSNorm is equivalent to T5LayerNorm
282
+ """
283
+ super().__init__()
284
+ self.weight = nn.Parameter(torch.ones(hidden_size))
285
+ self.variance_epsilon = eps
286
+
287
+ def forward(self, hidden_states):
288
+ input_dtype = hidden_states.dtype
289
+ hidden_states = hidden_states.to(torch.float32)
290
+ variance = hidden_states.pow(2).mean(-1, keepdim=True)
291
+ hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon)
292
+ return self.weight * hidden_states.to(input_dtype)
293
+
294
+ def extra_repr(self):
295
+ return f"{tuple(self.weight.shape)}, eps={self.variance_epsilon}"
296
+
297
+
298
+ class SolarOpenMoE(nn.Module):
299
+ """
300
+ A mixed expert module containing shared experts.
301
+ """
302
+
303
+ def __init__(self, config):
304
+ super().__init__()
305
+ self.config = config
306
+ self.experts = nn.ModuleList(
307
+ [
308
+ SolarOpenMLP(config, intermediate_size=config.moe_intermediate_size)
309
+ for _ in range(config.n_routed_experts)
310
+ ]
311
+ )
312
+ self.gate = SolarOpenTopkRouter(config)
313
+ self.shared_experts = SolarOpenMLP(
314
+ config=config, intermediate_size=config.moe_intermediate_size * config.n_shared_experts
315
+ )
316
+
317
+ @torch.compiler.disable()
318
+ def moe(self, hidden_states: torch.Tensor, topk_indices: torch.Tensor, topk_weights: torch.Tensor):
319
+ r"""
320
+ MoE forward pass that only executes selected experts.
321
+ Uses @torch.compiler.disable() to allow dynamic shape operations.
322
+ Requires --enforce-eager flag when serving with vLLM.
323
+ """
324
+ final_hidden_states = torch.zeros_like(hidden_states)
325
+
326
+ for expert_idx in range(len(self.experts)):
327
+ expert = self.experts[expert_idx]
328
+
329
+ # Find positions where this expert was selected
330
+ batch_idx, topk_pos = torch.where(topk_indices == expert_idx)
331
+
332
+ if batch_idx.numel() == 0:
333
+ continue
334
+
335
+ # Extract only the tokens routed to this expert
336
+ expert_input = hidden_states[batch_idx]
337
+ expert_output = expert(expert_input)
338
+
339
+ # Apply weights and accumulate results
340
+ weights = topk_weights[batch_idx, topk_pos].unsqueeze(-1)
341
+ final_hidden_states.index_add_(0, batch_idx, (expert_output * weights).to(hidden_states.dtype))
342
+
343
+ return final_hidden_states
344
+
345
+ def forward(self, hidden_states):
346
+ residuals = hidden_states
347
+ orig_shape = hidden_states.shape
348
+ topk_indices, topk_weights = self.gate(hidden_states)
349
+ hidden_states = hidden_states.view(-1, hidden_states.shape[-1])
350
+ hidden_states = self.moe(hidden_states, topk_indices, topk_weights).view(*orig_shape)
351
+ hidden_states = hidden_states + self.shared_experts(residuals)
352
+ return hidden_states
353
+
354
+
355
+ class SolarOpenDecoderLayer(GradientCheckpointingLayer):
356
+ def __init__(self, config: SolarOpenConfig, layer_idx: int):
357
+ super().__init__()
358
+ self.hidden_size = config.hidden_size
359
+
360
+ self.self_attn = SolarOpenAttention(config=config, layer_idx=layer_idx)
361
+
362
+ if layer_idx >= config.first_k_dense_replace:
363
+ self.mlp = SolarOpenMoE(config)
364
+ else:
365
+ self.mlp = SolarOpenMLP(config)
366
+
367
+ self.input_layernorm = SolarOpenRMSNorm(config.hidden_size, eps=config.rms_norm_eps)
368
+ self.post_attention_layernorm = SolarOpenRMSNorm(config.hidden_size, eps=config.rms_norm_eps)
369
+
370
+ @deprecate_kwarg("past_key_value", new_name="past_key_values", version="4.58")
371
+ def forward(
372
+ self,
373
+ hidden_states: torch.Tensor,
374
+ attention_mask: Optional[torch.Tensor] = None,
375
+ position_ids: Optional[torch.LongTensor] = None,
376
+ past_key_values: Optional[Cache] = None,
377
+ use_cache: Optional[bool] = False,
378
+ cache_position: Optional[torch.LongTensor] = None,
379
+ position_embeddings: Optional[tuple[torch.Tensor, torch.Tensor]] = None, # necessary, but kept here for BC
380
+ **kwargs: Unpack[TransformersKwargs],
381
+ ) -> torch.Tensor:
382
+ residual = hidden_states
383
+ hidden_states = self.input_layernorm(hidden_states)
384
+ # Self Attention
385
+ hidden_states, _ = self.self_attn(
386
+ hidden_states=hidden_states,
387
+ attention_mask=attention_mask,
388
+ position_ids=position_ids,
389
+ past_key_values=past_key_values,
390
+ use_cache=use_cache,
391
+ cache_position=cache_position,
392
+ position_embeddings=position_embeddings,
393
+ **kwargs,
394
+ )
395
+ hidden_states = residual + hidden_states
396
+
397
+ # Fully Connected
398
+ residual = hidden_states
399
+ hidden_states = self.post_attention_layernorm(hidden_states)
400
+ hidden_states = self.mlp(hidden_states)
401
+ hidden_states = residual + hidden_states
402
+ return hidden_states
403
+
404
+
405
+ @auto_docstring
406
+ class SolarOpenPreTrainedModel(PreTrainedModel):
407
+ config: SolarOpenConfig
408
+ base_model_prefix = "model"
409
+ supports_gradient_checkpointing = True
410
+ _no_split_modules = ["SolarOpenDecoderLayer"]
411
+ _skip_keys_device_placement = ["past_key_values"]
412
+ _supports_flash_attn = True
413
+ _supports_sdpa = True
414
+ _supports_flex_attn = True
415
+ _can_compile_fullgraph = False
416
+ _supports_attention_backend = True
417
+ _can_record_outputs = {
418
+ "hidden_states": SolarOpenDecoderLayer,
419
+ "attentions": SolarOpenAttention,
420
+ }
421
+
422
+ def _init_weights(self, module):
423
+ super()._init_weights(module)
424
+ if isinstance(module, SolarOpenTopkRouter):
425
+ module.weight.data.normal_(mean=0.0, std=self.config.initializer_range)
426
+
427
+
428
+ class SolarOpenRotaryEmbedding(nn.Module):
429
+ inv_freq: torch.Tensor # fix linting for `register_buffer`
430
+
431
+ def __init__(self, config: SolarOpenConfig, device=None):
432
+ super().__init__()
433
+ # BC: "rope_type" was originally "type"
434
+ if hasattr(config, "rope_scaling") and isinstance(config.rope_scaling, dict):
435
+ self.rope_type = config.rope_scaling.get("rope_type", config.rope_scaling.get("type"))
436
+ else:
437
+ self.rope_type = "default"
438
+ self.max_seq_len_cached = config.max_position_embeddings
439
+ self.original_max_seq_len = config.max_position_embeddings
440
+
441
+ self.config = config
442
+ self.rope_init_fn = ROPE_INIT_FUNCTIONS[self.rope_type]
443
+
444
+ inv_freq, self.attention_scaling = self.rope_init_fn(self.config, device)
445
+ self.register_buffer("inv_freq", inv_freq, persistent=False)
446
+ self.original_inv_freq = self.inv_freq
447
+
448
+ @torch.no_grad()
449
+ @dynamic_rope_update # power user: used with advanced RoPE types (e.g. dynamic rope)
450
+ def forward(self, x, position_ids):
451
+ inv_freq_expanded = self.inv_freq[None, :, None].float().expand(position_ids.shape[0], -1, 1).to(x.device)
452
+ position_ids_expanded = position_ids[:, None, :].float()
453
+
454
+ device_type = x.device.type if isinstance(x.device.type, str) and x.device.type != "mps" else "cpu"
455
+ with torch.autocast(device_type=device_type, enabled=False): # Force float32
456
+ freqs = (inv_freq_expanded.float() @ position_ids_expanded.float()).transpose(1, 2)
457
+ emb = torch.cat((freqs, freqs), dim=-1)
458
+ cos = emb.cos() * self.attention_scaling
459
+ sin = emb.sin() * self.attention_scaling
460
+
461
+ return cos.to(dtype=x.dtype), sin.to(dtype=x.dtype)
462
+
463
+
464
+ @auto_docstring
465
+ class SolarOpenModel(SolarOpenPreTrainedModel):
466
+ _keys_to_ignore_on_load_unexpected = [r"model\.layers\.92.*", r"model\.layers\.46.*"]
467
+
468
+ def __init__(self, config: SolarOpenConfig):
469
+ super().__init__(config)
470
+ self.padding_idx = config.pad_token_id
471
+ self.vocab_size = config.vocab_size
472
+
473
+ self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, self.padding_idx)
474
+ self.layers = nn.ModuleList(
475
+ [SolarOpenDecoderLayer(config, layer_idx) for layer_idx in range(config.num_hidden_layers)]
476
+ )
477
+ self.norm = SolarOpenRMSNorm(config.hidden_size, eps=config.rms_norm_eps)
478
+ self.rotary_emb = SolarOpenRotaryEmbedding(config=config)
479
+ self.gradient_checkpointing = False
480
+
481
+ # Initialize weights and apply final processing
482
+ self.post_init()
483
+
484
+ @check_model_inputs()
485
+ @auto_docstring
486
+ def forward(
487
+ self,
488
+ input_ids: Optional[torch.LongTensor] = None,
489
+ attention_mask: Optional[torch.Tensor] = None,
490
+ position_ids: Optional[torch.LongTensor] = None,
491
+ past_key_values: Optional[Cache] = None,
492
+ inputs_embeds: Optional[torch.FloatTensor] = None,
493
+ cache_position: Optional[torch.LongTensor] = None,
494
+ use_cache: Optional[bool] = None,
495
+ **kwargs: Unpack[TransformersKwargs],
496
+ ) -> BaseModelOutputWithPast:
497
+ if (input_ids is None) ^ (inputs_embeds is not None):
498
+ raise ValueError("You must specify exactly one of input_ids or inputs_embeds")
499
+
500
+ if inputs_embeds is None:
501
+ inputs_embeds: torch.Tensor = self.embed_tokens(input_ids)
502
+
503
+ if use_cache and past_key_values is None:
504
+ past_key_values = DynamicCache(config=self.config)
505
+
506
+ if cache_position is None:
507
+ past_seen_tokens = past_key_values.get_seq_length() if past_key_values is not None else 0
508
+ cache_position: torch.Tensor = torch.arange(
509
+ past_seen_tokens, past_seen_tokens + inputs_embeds.shape[1], device=inputs_embeds.device
510
+ )
511
+
512
+ if position_ids is None:
513
+ position_ids = cache_position.unsqueeze(0)
514
+
515
+ causal_mask = create_causal_mask(
516
+ config=self.config,
517
+ input_embeds=inputs_embeds,
518
+ attention_mask=attention_mask,
519
+ cache_position=cache_position,
520
+ past_key_values=past_key_values,
521
+ position_ids=position_ids,
522
+ )
523
+
524
+ hidden_states = inputs_embeds
525
+ position_embeddings = self.rotary_emb(hidden_states, position_ids)
526
+
527
+ for decoder_layer in self.layers[: self.config.num_hidden_layers]:
528
+ hidden_states = decoder_layer(
529
+ hidden_states,
530
+ attention_mask=causal_mask,
531
+ position_ids=position_ids,
532
+ past_key_values=past_key_values,
533
+ cache_position=cache_position,
534
+ position_embeddings=position_embeddings,
535
+ **kwargs,
536
+ )
537
+
538
+ hidden_states = self.norm(hidden_states)
539
+ return BaseModelOutputWithPast(
540
+ last_hidden_state=hidden_states,
541
+ past_key_values=past_key_values,
542
+ )
543
+
544
+
545
+ @auto_docstring
546
+ class SolarOpenForCausalLM(SolarOpenPreTrainedModel, GenerationMixin):
547
+ _tied_weights_keys = ["lm_head.weight"]
548
+ _tp_plan = {"lm_head": "colwise_rep"}
549
+ _pp_plan = {"lm_head": (["hidden_states"], ["logits"])}
550
+
551
+ def __init__(self, config):
552
+ super().__init__(config)
553
+ self.model = SolarOpenModel(config)
554
+ self.vocab_size = config.vocab_size
555
+ self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False)
556
+
557
+ # Initialize weights and apply final processing
558
+ self.post_init()
559
+
560
+ @can_return_tuple
561
+ @auto_docstring
562
+ def forward(
563
+ self,
564
+ input_ids: Optional[torch.LongTensor] = None,
565
+ attention_mask: Optional[torch.Tensor] = None,
566
+ position_ids: Optional[torch.LongTensor] = None,
567
+ past_key_values: Optional[Cache] = None,
568
+ inputs_embeds: Optional[torch.FloatTensor] = None,
569
+ labels: Optional[torch.LongTensor] = None,
570
+ use_cache: Optional[bool] = None,
571
+ cache_position: Optional[torch.LongTensor] = None,
572
+ logits_to_keep: Union[int, torch.Tensor] = 0,
573
+ **kwargs: Unpack[TransformersKwargs],
574
+ ) -> CausalLMOutputWithPast:
575
+
576
+ outputs: BaseModelOutputWithPast = self.model(
577
+ input_ids=input_ids,
578
+ attention_mask=attention_mask,
579
+ position_ids=position_ids,
580
+ past_key_values=past_key_values,
581
+ inputs_embeds=inputs_embeds,
582
+ use_cache=use_cache,
583
+ cache_position=cache_position,
584
+ **kwargs,
585
+ )
586
+
587
+ hidden_states = outputs.last_hidden_state
588
+ # Only compute necessary logits, and do not upcast them to float if we are not computing the loss
589
+ slice_indices = slice(-logits_to_keep, None) if isinstance(logits_to_keep, int) else logits_to_keep
590
+ logits = self.lm_head(hidden_states[:, slice_indices, :])
591
+
592
+ loss = None
593
+ if labels is not None:
594
+ loss = self.loss_function(logits=logits, labels=labels, vocab_size=self.config.vocab_size, **kwargs)
595
+
596
+ return CausalLMOutputWithPast(
597
+ loss=loss,
598
+ logits=logits,
599
+ past_key_values=outputs.past_key_values,
600
+ hidden_states=outputs.hidden_states,
601
+ attentions=outputs.attentions,
602
+ )
603
+
604
+
605
+ __all__ = ["SolarOpenPreTrainedModel", "SolarOpenModel", "SolarOpenForCausalLM"]
recipe.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ default_stage:
2
+ default_modifiers:
3
+ QuantizationModifier:
4
+ targets: [Linear]
5
+ ignore: [lm_head]
6
+ scheme: FP8_DYNAMIC
special_tokens_map.json ADDED
@@ -0,0 +1,4006 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<unk>",
4
+ "<|startoftext|>",
5
+ "<|endoftext|>",
6
+ "<|fim_prefix|>",
7
+ "<|fim_middle|>",
8
+ "<|fim_suffix|>",
9
+ "<|special_6|>",
10
+ "<|special_7|>",
11
+ "<|special_8|>",
12
+ "<|special_9|>",
13
+ "<|special_10|>",
14
+ "<|special_11|>",
15
+ "<|special_12|>",
16
+ "<|special_13|>",
17
+ "<|special_14|>",
18
+ "<|special_15|>",
19
+ "<|special_16|>",
20
+ "<|special_17|>",
21
+ "<|special_18|>",
22
+ "<|special_19|>",
23
+ "<|flush|>",
24
+ "<|calls|>",
25
+ "<|tools:begin|>",
26
+ "<|tools:end|>",
27
+ "<|tool:begin|>",
28
+ "<|tool:end|>",
29
+ "<|tool_response|>",
30
+ "<|tool_response:begin|>",
31
+ "<|tool_response:end|>",
32
+ "<|tool_response:name|>",
33
+ "<|tool_response:result|>",
34
+ "<|special_40|>",
35
+ "<|special_41|>",
36
+ "<|special_42|>",
37
+ "<|special_43|>",
38
+ "<|special_44|>",
39
+ "<|special_45|>",
40
+ "<|special_46|>",
41
+ "<|special_47|>",
42
+ "<|special_48|>",
43
+ "<|special_49|>",
44
+ "<|special_50|>",
45
+ "<|special_51|>",
46
+ "<|special_52|>",
47
+ "<|special_53|>",
48
+ "<|special_54|>",
49
+ "<|special_55|>",
50
+ "<|special_56|>",
51
+ "<|special_57|>",
52
+ "<|special_58|>",
53
+ "<|special_59|>",
54
+ "<|special_60|>",
55
+ "<|special_61|>",
56
+ "<|special_62|>",
57
+ "<|special_63|>",
58
+ "<|special_64|>",
59
+ "<|special_65|>",
60
+ "<|special_66|>",
61
+ "<|special_67|>",
62
+ "<|special_68|>",
63
+ "<|special_69|>",
64
+ "<|special_70|>",
65
+ "<|special_71|>",
66
+ "<|special_72|>",
67
+ "<|special_73|>",
68
+ "<|special_74|>",
69
+ "<|special_75|>",
70
+ "<|special_76|>",
71
+ "<|special_77|>",
72
+ "<|special_78|>",
73
+ "<|special_79|>",
74
+ "<|special_80|>",
75
+ "<|special_81|>",
76
+ "<|special_82|>",
77
+ "<|special_83|>",
78
+ "<|special_84|>",
79
+ "<|special_85|>",
80
+ "<|special_86|>",
81
+ "<|special_87|>",
82
+ "<|special_88|>",
83
+ "<|special_89|>",
84
+ "<|special_90|>",
85
+ "<|special_91|>",
86
+ "<|special_92|>",
87
+ "<|special_93|>",
88
+ "<|special_94|>",
89
+ "<|special_95|>",
90
+ "<|special_96|>",
91
+ "<|special_97|>",
92
+ "<|special_98|>",
93
+ "<|special_99|>",
94
+ "<|special_100|>",
95
+ "<|special_101|>",
96
+ "<|special_102|>",
97
+ "<|special_103|>",
98
+ "<|special_104|>",
99
+ "<|special_105|>",
100
+ "<|special_106|>",
101
+ "<|special_107|>",
102
+ "<|special_108|>",
103
+ "<|special_109|>",
104
+ "<|special_110|>",
105
+ "<|special_111|>",
106
+ "<|special_112|>",
107
+ "<|special_113|>",
108
+ "<|special_114|>",
109
+ "<|special_115|>",
110
+ "<|special_116|>",
111
+ "<|special_117|>",
112
+ "<|special_118|>",
113
+ "<|special_119|>",
114
+ "<|special_120|>",
115
+ "<|special_121|>",
116
+ "<|special_122|>",
117
+ "<|special_123|>",
118
+ "<|special_124|>",
119
+ "<|special_125|>",
120
+ "<|special_126|>",
121
+ "<|special_127|>",
122
+ "<|special_128|>",
123
+ "<|special_129|>",
124
+ "<|special_130|>",
125
+ "<|special_131|>",
126
+ "<|special_132|>",
127
+ "<|special_133|>",
128
+ "<|special_134|>",
129
+ "<|special_135|>",
130
+ "<|special_136|>",
131
+ "<|special_137|>",
132
+ "<|special_138|>",
133
+ "<|special_139|>",
134
+ "<|special_140|>",
135
+ "<|special_141|>",
136
+ "<|special_142|>",
137
+ "<|special_143|>",
138
+ "<|special_144|>",
139
+ "<|special_145|>",
140
+ "<|special_146|>",
141
+ "<|special_147|>",
142
+ "<|special_148|>",
143
+ "<|special_149|>",
144
+ "<|special_150|>",
145
+ "<|special_151|>",
146
+ "<|special_152|>",
147
+ "<|special_153|>",
148
+ "<|special_154|>",
149
+ "<|special_155|>",
150
+ "<|special_156|>",
151
+ "<|special_157|>",
152
+ "<|special_158|>",
153
+ "<|special_159|>",
154
+ "<|special_160|>",
155
+ "<|special_161|>",
156
+ "<|special_162|>",
157
+ "<|special_163|>",
158
+ "<|special_164|>",
159
+ "<|special_165|>",
160
+ "<|special_166|>",
161
+ "<|special_167|>",
162
+ "<|special_168|>",
163
+ "<|special_169|>",
164
+ "<|special_170|>",
165
+ "<|special_171|>",
166
+ "<|special_172|>",
167
+ "<|special_173|>",
168
+ "<|special_174|>",
169
+ "<|special_175|>",
170
+ "<|special_176|>",
171
+ "<|special_177|>",
172
+ "<|special_178|>",
173
+ "<|special_179|>",
174
+ "<|special_180|>",
175
+ "<|special_181|>",
176
+ "<|special_182|>",
177
+ "<|special_183|>",
178
+ "<|special_184|>",
179
+ "<|special_185|>",
180
+ "<|special_186|>",
181
+ "<|special_187|>",
182
+ "<|special_188|>",
183
+ "<|special_189|>",
184
+ "<|special_190|>",
185
+ "<|special_191|>",
186
+ "<|special_192|>",
187
+ "<|special_193|>",
188
+ "<|special_194|>",
189
+ "<|special_195|>",
190
+ "<|special_196|>",
191
+ "<|special_197|>",
192
+ "<|special_198|>",
193
+ "<|special_199|>",
194
+ "<|special_200|>",
195
+ "<|special_201|>",
196
+ "<|special_202|>",
197
+ "<|special_203|>",
198
+ "<|special_204|>",
199
+ "<|special_205|>",
200
+ "<|special_206|>",
201
+ "<|special_207|>",
202
+ "<|special_208|>",
203
+ "<|special_209|>",
204
+ "<|special_210|>",
205
+ "<|special_211|>",
206
+ "<|special_212|>",
207
+ "<|special_213|>",
208
+ "<|special_214|>",
209
+ "<|special_215|>",
210
+ "<|special_216|>",
211
+ "<|special_217|>",
212
+ "<|special_218|>",
213
+ "<|special_219|>",
214
+ "<|special_220|>",
215
+ "<|special_221|>",
216
+ "<|special_222|>",
217
+ "<|special_223|>",
218
+ "<|special_224|>",
219
+ "<|special_225|>",
220
+ "<|special_226|>",
221
+ "<|special_227|>",
222
+ "<|special_228|>",
223
+ "<|special_229|>",
224
+ "<|special_230|>",
225
+ "<|special_231|>",
226
+ "<|special_232|>",
227
+ "<|special_233|>",
228
+ "<|special_234|>",
229
+ "<|special_235|>",
230
+ "<|special_236|>",
231
+ "<|special_237|>",
232
+ "<|special_238|>",
233
+ "<|special_239|>",
234
+ "<|special_240|>",
235
+ "<|special_241|>",
236
+ "<|special_242|>",
237
+ "<|special_243|>",
238
+ "<|special_244|>",
239
+ "<|special_245|>",
240
+ "<|special_246|>",
241
+ "<|special_247|>",
242
+ "<|special_248|>",
243
+ "<|special_249|>",
244
+ "<|special_250|>",
245
+ "<|special_251|>",
246
+ "<|special_252|>",
247
+ "<|special_253|>",
248
+ "<|special_254|>",
249
+ "<|special_255|>",
250
+ "<|special_256|>",
251
+ "<|special_257|>",
252
+ "<|special_258|>",
253
+ "<|special_259|>",
254
+ "<|special_260|>",
255
+ "<|special_261|>",
256
+ "<|special_262|>",
257
+ "<|special_263|>",
258
+ "<|special_264|>",
259
+ "<|special_265|>",
260
+ "<|special_266|>",
261
+ "<|special_267|>",
262
+ "<|special_268|>",
263
+ "<|special_269|>",
264
+ "<|special_270|>",
265
+ "<|special_271|>",
266
+ "<|special_272|>",
267
+ "<|special_273|>",
268
+ "<|special_274|>",
269
+ "<|special_275|>",
270
+ "<|special_276|>",
271
+ "<|special_277|>",
272
+ "<|special_278|>",
273
+ "<|special_279|>",
274
+ "<|special_280|>",
275
+ "<|special_281|>",
276
+ "<|special_282|>",
277
+ "<|special_283|>",
278
+ "<|special_284|>",
279
+ "<|special_285|>",
280
+ "<|special_286|>",
281
+ "<|special_287|>",
282
+ "<|special_288|>",
283
+ "<|special_289|>",
284
+ "<|special_290|>",
285
+ "<|special_291|>",
286
+ "<|special_292|>",
287
+ "<|special_293|>",
288
+ "<|special_294|>",
289
+ "<|special_295|>",
290
+ "<|special_296|>",
291
+ "<|special_297|>",
292
+ "<|special_298|>",
293
+ "<|special_299|>",
294
+ "<|special_300|>",
295
+ "<|special_301|>",
296
+ "<|special_302|>",
297
+ "<|special_303|>",
298
+ "<|special_304|>",
299
+ "<|special_305|>",
300
+ "<|special_306|>",
301
+ "<|special_307|>",
302
+ "<|special_308|>",
303
+ "<|special_309|>",
304
+ "<|special_310|>",
305
+ "<|special_311|>",
306
+ "<|special_312|>",
307
+ "<|special_313|>",
308
+ "<|special_314|>",
309
+ "<|special_315|>",
310
+ "<|special_316|>",
311
+ "<|special_317|>",
312
+ "<|special_318|>",
313
+ "<|special_319|>",
314
+ "<|special_320|>",
315
+ "<|special_321|>",
316
+ "<|special_322|>",
317
+ "<|special_323|>",
318
+ "<|special_324|>",
319
+ "<|special_325|>",
320
+ "<|special_326|>",
321
+ "<|special_327|>",
322
+ "<|special_328|>",
323
+ "<|special_329|>",
324
+ "<|special_330|>",
325
+ "<|special_331|>",
326
+ "<|special_332|>",
327
+ "<|special_333|>",
328
+ "<|special_334|>",
329
+ "<|special_335|>",
330
+ "<|special_336|>",
331
+ "<|special_337|>",
332
+ "<|special_338|>",
333
+ "<|special_339|>",
334
+ "<|special_340|>",
335
+ "<|special_341|>",
336
+ "<|special_342|>",
337
+ "<|special_343|>",
338
+ "<|special_344|>",
339
+ "<|special_345|>",
340
+ "<|special_346|>",
341
+ "<|special_347|>",
342
+ "<|special_348|>",
343
+ "<|special_349|>",
344
+ "<|special_350|>",
345
+ "<|special_351|>",
346
+ "<|special_352|>",
347
+ "<|special_353|>",
348
+ "<|special_354|>",
349
+ "<|special_355|>",
350
+ "<|special_356|>",
351
+ "<|special_357|>",
352
+ "<|special_358|>",
353
+ "<|special_359|>",
354
+ "<|special_360|>",
355
+ "<|special_361|>",
356
+ "<|special_362|>",
357
+ "<|special_363|>",
358
+ "<|special_364|>",
359
+ "<|special_365|>",
360
+ "<|special_366|>",
361
+ "<|special_367|>",
362
+ "<|special_368|>",
363
+ "<|special_369|>",
364
+ "<|special_370|>",
365
+ "<|special_371|>",
366
+ "<|special_372|>",
367
+ "<|special_373|>",
368
+ "<|special_374|>",
369
+ "<|special_375|>",
370
+ "<|special_376|>",
371
+ "<|special_377|>",
372
+ "<|special_378|>",
373
+ "<|special_379|>",
374
+ "<|special_380|>",
375
+ "<|special_381|>",
376
+ "<|special_382|>",
377
+ "<|special_383|>",
378
+ "<|special_384|>",
379
+ "<|special_385|>",
380
+ "<|special_386|>",
381
+ "<|special_387|>",
382
+ "<|special_388|>",
383
+ "<|special_389|>",
384
+ "<|special_390|>",
385
+ "<|special_391|>",
386
+ "<|special_392|>",
387
+ "<|special_393|>",
388
+ "<|special_394|>",
389
+ "<|special_395|>",
390
+ "<|special_396|>",
391
+ "<|special_397|>",
392
+ "<|special_398|>",
393
+ "<|special_399|>",
394
+ "<|special_400|>",
395
+ "<|special_401|>",
396
+ "<|special_402|>",
397
+ "<|special_403|>",
398
+ "<|special_404|>",
399
+ "<|special_405|>",
400
+ "<|special_406|>",
401
+ "<|special_407|>",
402
+ "<|special_408|>",
403
+ "<|special_409|>",
404
+ "<|special_410|>",
405
+ "<|special_411|>",
406
+ "<|special_412|>",
407
+ "<|special_413|>",
408
+ "<|special_414|>",
409
+ "<|special_415|>",
410
+ "<|special_416|>",
411
+ "<|special_417|>",
412
+ "<|special_418|>",
413
+ "<|special_419|>",
414
+ "<|special_420|>",
415
+ "<|special_421|>",
416
+ "<|special_422|>",
417
+ "<|special_423|>",
418
+ "<|special_424|>",
419
+ "<|special_425|>",
420
+ "<|special_426|>",
421
+ "<|special_427|>",
422
+ "<|special_428|>",
423
+ "<|special_429|>",
424
+ "<|special_430|>",
425
+ "<|special_431|>",
426
+ "<|special_432|>",
427
+ "<|special_433|>",
428
+ "<|special_434|>",
429
+ "<|special_435|>",
430
+ "<|special_436|>",
431
+ "<|special_437|>",
432
+ "<|special_438|>",
433
+ "<|special_439|>",
434
+ "<|special_440|>",
435
+ "<|special_441|>",
436
+ "<|special_442|>",
437
+ "<|special_443|>",
438
+ "<|special_444|>",
439
+ "<|special_445|>",
440
+ "<|special_446|>",
441
+ "<|special_447|>",
442
+ "<|special_448|>",
443
+ "<|special_449|>",
444
+ "<|special_450|>",
445
+ "<|special_451|>",
446
+ "<|special_452|>",
447
+ "<|special_453|>",
448
+ "<|special_454|>",
449
+ "<|special_455|>",
450
+ "<|special_456|>",
451
+ "<|special_457|>",
452
+ "<|special_458|>",
453
+ "<|special_459|>",
454
+ "<|special_460|>",
455
+ "<|special_461|>",
456
+ "<|special_462|>",
457
+ "<|special_463|>",
458
+ "<|special_464|>",
459
+ "<|special_465|>",
460
+ "<|special_466|>",
461
+ "<|special_467|>",
462
+ "<|special_468|>",
463
+ "<|special_469|>",
464
+ "<|special_470|>",
465
+ "<|special_471|>",
466
+ "<|special_472|>",
467
+ "<|special_473|>",
468
+ "<|special_474|>",
469
+ "<|special_475|>",
470
+ "<|special_476|>",
471
+ "<|special_477|>",
472
+ "<|special_478|>",
473
+ "<|special_479|>",
474
+ "<|special_480|>",
475
+ "<|special_481|>",
476
+ "<|special_482|>",
477
+ "<|special_483|>",
478
+ "<|special_484|>",
479
+ "<|special_485|>",
480
+ "<|special_486|>",
481
+ "<|special_487|>",
482
+ "<|special_488|>",
483
+ "<|special_489|>",
484
+ "<|special_490|>",
485
+ "<|special_491|>",
486
+ "<|special_492|>",
487
+ "<|special_493|>",
488
+ "<|special_494|>",
489
+ "<|special_495|>",
490
+ "<|special_496|>",
491
+ "<|special_497|>",
492
+ "<|special_498|>",
493
+ "<|special_499|>",
494
+ "<|special_500|>",
495
+ "<|special_501|>",
496
+ "<|special_502|>",
497
+ "<|special_503|>",
498
+ "<|special_504|>",
499
+ "<|special_505|>",
500
+ "<|special_506|>",
501
+ "<|special_507|>",
502
+ "<|special_508|>",
503
+ "<|special_509|>",
504
+ "<|special_510|>",
505
+ "<|special_511|>",
506
+ "<|special_625|>",
507
+ "<|special_626|>",
508
+ "<|special_627|>",
509
+ "<|special_628|>",
510
+ "<|special_629|>",
511
+ "<|special_630|>",
512
+ "<|special_631|>",
513
+ "<|special_632|>",
514
+ "<|special_633|>",
515
+ "<|special_634|>",
516
+ "<|special_635|>",
517
+ "<|special_636|>",
518
+ "<|special_637|>",
519
+ "<|special_638|>",
520
+ "<|special_639|>",
521
+ "<|special_640|>",
522
+ "<|special_641|>",
523
+ "<|special_642|>",
524
+ "<|special_643|>",
525
+ "<|special_644|>",
526
+ "<|special_645|>",
527
+ "<|special_646|>",
528
+ "<|special_647|>",
529
+ "<|special_648|>",
530
+ "<|special_649|>",
531
+ "<|special_650|>",
532
+ "<|special_651|>",
533
+ "<|special_652|>",
534
+ "<|special_653|>",
535
+ "<|special_654|>",
536
+ "<|special_655|>",
537
+ "<|special_656|>",
538
+ "<|special_657|>",
539
+ "<|special_658|>",
540
+ "<|special_659|>",
541
+ "<|special_660|>",
542
+ "<|special_661|>",
543
+ "<|special_662|>",
544
+ "<|special_663|>",
545
+ "<|special_664|>",
546
+ "<|special_665|>",
547
+ "<|special_666|>",
548
+ "<|special_667|>",
549
+ "<|special_668|>",
550
+ "<|special_669|>",
551
+ "<|special_670|>",
552
+ "<|special_671|>",
553
+ "<|special_672|>",
554
+ "<|special_673|>",
555
+ "<|special_674|>",
556
+ "<|special_675|>",
557
+ "<|special_676|>",
558
+ "<|special_677|>",
559
+ "<|special_678|>",
560
+ "<|special_679|>",
561
+ "<|special_680|>",
562
+ "<|special_681|>",
563
+ "<|special_682|>",
564
+ "<|special_683|>",
565
+ "<|special_684|>",
566
+ "<|special_685|>",
567
+ "<|special_686|>",
568
+ "<|special_687|>",
569
+ "<|special_688|>",
570
+ "<|special_689|>",
571
+ "<|special_690|>",
572
+ "<|special_691|>",
573
+ "<|special_692|>",
574
+ "<|special_693|>",
575
+ "<|special_694|>",
576
+ "<|special_695|>",
577
+ "<|special_696|>",
578
+ "<|special_697|>",
579
+ "<|special_698|>",
580
+ "<|special_699|>",
581
+ "<|special_700|>",
582
+ "<|special_701|>",
583
+ "<|special_702|>",
584
+ "<|special_703|>",
585
+ "<|special_704|>",
586
+ "<|special_705|>",
587
+ "<|special_706|>",
588
+ "<|special_707|>",
589
+ "<|special_708|>",
590
+ "<|special_709|>",
591
+ "<|special_710|>",
592
+ "<|special_711|>",
593
+ "<|special_712|>",
594
+ "<|special_713|>",
595
+ "<|special_714|>",
596
+ "<|special_715|>",
597
+ "<|special_716|>",
598
+ "<|special_717|>",
599
+ "<|special_718|>",
600
+ "<|special_719|>",
601
+ "<|special_720|>",
602
+ "<|special_721|>",
603
+ "<|special_722|>",
604
+ "<|special_723|>",
605
+ "<|special_724|>",
606
+ "<|special_725|>",
607
+ "<|special_726|>",
608
+ "<|special_727|>",
609
+ "<|special_728|>",
610
+ "<|special_729|>",
611
+ "<|special_730|>",
612
+ "<|special_731|>",
613
+ "<|special_732|>",
614
+ "<|special_733|>",
615
+ "<|special_734|>",
616
+ "<|special_735|>",
617
+ "<|special_736|>",
618
+ "<|special_737|>",
619
+ "<|special_738|>",
620
+ "<|special_739|>",
621
+ "<|special_740|>",
622
+ "<|special_741|>",
623
+ "<|special_742|>",
624
+ "<|special_743|>",
625
+ "<|special_744|>",
626
+ "<|special_745|>",
627
+ "<|special_746|>",
628
+ "<|special_747|>",
629
+ "<|special_748|>",
630
+ "<|special_749|>",
631
+ "<|special_750|>",
632
+ "<|special_751|>",
633
+ "<|special_752|>",
634
+ "<|special_753|>",
635
+ "<|special_754|>",
636
+ "<|special_755|>",
637
+ "<|special_756|>",
638
+ "<|special_757|>",
639
+ "<|special_758|>",
640
+ "<|special_759|>",
641
+ "<|special_760|>",
642
+ "<|special_761|>",
643
+ "<|special_762|>",
644
+ "<|special_763|>",
645
+ "<|special_764|>",
646
+ "<|special_765|>",
647
+ "<|special_766|>",
648
+ "<|special_767|>",
649
+ "<|special_768|>",
650
+ "<|special_769|>",
651
+ "<|special_770|>",
652
+ "<|special_771|>",
653
+ "<|special_772|>",
654
+ "<|special_773|>",
655
+ "<|special_774|>",
656
+ "<|special_775|>",
657
+ "<|special_776|>",
658
+ "<|special_777|>",
659
+ "<|special_778|>",
660
+ "<|special_779|>",
661
+ "<|special_780|>",
662
+ "<|special_781|>",
663
+ "<|special_782|>",
664
+ "<|special_783|>",
665
+ "<|special_784|>",
666
+ "<|special_785|>",
667
+ "<|special_786|>",
668
+ "<|special_787|>",
669
+ "<|special_788|>",
670
+ "<|special_789|>",
671
+ "<|special_790|>",
672
+ "<|special_791|>",
673
+ "<|special_792|>",
674
+ "<|special_793|>",
675
+ "<|special_794|>",
676
+ "<|special_795|>",
677
+ "<|special_796|>",
678
+ "<|special_797|>",
679
+ "<|special_798|>",
680
+ "<|special_799|>",
681
+ "<|special_800|>",
682
+ "<|special_801|>",
683
+ "<|special_802|>",
684
+ "<|special_803|>",
685
+ "<|special_804|>",
686
+ "<|special_805|>",
687
+ "<|special_806|>",
688
+ "<|special_807|>",
689
+ "<|special_808|>",
690
+ "<|special_809|>",
691
+ "<|special_810|>",
692
+ "<|special_811|>",
693
+ "<|special_812|>",
694
+ "<|special_813|>",
695
+ "<|special_814|>",
696
+ "<|special_815|>",
697
+ "<|special_816|>",
698
+ "<|special_817|>",
699
+ "<|special_818|>",
700
+ "<|special_819|>",
701
+ "<|special_820|>",
702
+ "<|special_821|>",
703
+ "<|special_822|>",
704
+ "<|special_823|>",
705
+ "<|special_824|>",
706
+ "<|special_825|>",
707
+ "<|special_826|>",
708
+ "<|special_827|>",
709
+ "<|special_828|>",
710
+ "<|special_829|>",
711
+ "<|special_830|>",
712
+ "<|special_831|>",
713
+ "<|special_832|>",
714
+ "<|special_833|>",
715
+ "<|special_834|>",
716
+ "<|special_835|>",
717
+ "<|special_836|>",
718
+ "<|special_837|>",
719
+ "<|special_838|>",
720
+ "<|special_839|>",
721
+ "<|special_840|>",
722
+ "<|special_841|>",
723
+ "<|special_842|>",
724
+ "<|special_843|>",
725
+ "<|special_844|>",
726
+ "<|special_845|>",
727
+ "<|special_846|>",
728
+ "<|special_847|>",
729
+ "<|special_848|>",
730
+ "<|special_849|>",
731
+ "<|special_850|>",
732
+ "<|special_851|>",
733
+ "<|special_852|>",
734
+ "<|special_853|>",
735
+ "<|special_854|>",
736
+ "<|special_855|>",
737
+ "<|special_856|>",
738
+ "<|special_857|>",
739
+ "<|special_858|>",
740
+ "<|special_859|>",
741
+ "<|special_860|>",
742
+ "<|special_861|>",
743
+ "<|special_862|>",
744
+ "<|special_863|>",
745
+ "<|special_864|>",
746
+ "<|special_865|>",
747
+ "<|special_866|>",
748
+ "<|special_867|>",
749
+ "<|special_868|>",
750
+ "<|special_869|>",
751
+ "<|special_870|>",
752
+ "<|special_871|>",
753
+ "<|special_872|>",
754
+ "<|special_873|>",
755
+ "<|special_874|>",
756
+ "<|special_875|>",
757
+ "<|special_876|>",
758
+ "<|special_877|>",
759
+ "<|special_878|>",
760
+ "<|special_879|>",
761
+ "<|special_880|>",
762
+ "<|special_881|>",
763
+ "<|special_882|>",
764
+ "<|special_883|>",
765
+ "<|special_884|>",
766
+ "<|special_885|>",
767
+ "<|special_886|>",
768
+ "<|special_887|>",
769
+ "<|special_888|>",
770
+ "<|special_889|>",
771
+ "<|special_890|>",
772
+ "<|special_891|>",
773
+ "<|special_892|>",
774
+ "<|special_893|>",
775
+ "<|special_894|>",
776
+ "<|special_895|>",
777
+ "<|special_896|>",
778
+ "<|special_897|>",
779
+ "<|special_898|>",
780
+ "<|special_899|>",
781
+ "<|special_900|>",
782
+ "<|special_901|>",
783
+ "<|special_902|>",
784
+ "<|special_903|>",
785
+ "<|special_904|>",
786
+ "<|special_905|>",
787
+ "<|special_906|>",
788
+ "<|special_907|>",
789
+ "<|special_908|>",
790
+ "<|special_909|>",
791
+ "<|special_910|>",
792
+ "<|special_911|>",
793
+ "<|special_912|>",
794
+ "<|special_913|>",
795
+ "<|special_914|>",
796
+ "<|special_915|>",
797
+ "<|special_916|>",
798
+ "<|special_917|>",
799
+ "<|special_918|>",
800
+ "<|special_919|>",
801
+ "<|special_920|>",
802
+ "<|special_921|>",
803
+ "<|special_922|>",
804
+ "<|special_923|>",
805
+ "<|special_924|>",
806
+ "<|special_925|>",
807
+ "<|special_926|>",
808
+ "<|special_927|>",
809
+ "<|special_928|>",
810
+ "<|special_929|>",
811
+ "<|special_930|>",
812
+ "<|special_931|>",
813
+ "<|special_932|>",
814
+ "<|special_933|>",
815
+ "<|special_934|>",
816
+ "<|special_935|>",
817
+ "<|special_936|>",
818
+ "<|special_937|>",
819
+ "<|special_938|>",
820
+ "<|special_939|>",
821
+ "<|special_940|>",
822
+ "<|special_941|>",
823
+ "<|special_942|>",
824
+ "<|special_943|>",
825
+ "<|special_944|>",
826
+ "<|special_945|>",
827
+ "<|special_946|>",
828
+ "<|special_947|>",
829
+ "<|special_948|>",
830
+ "<|special_949|>",
831
+ "<|special_950|>",
832
+ "<|special_951|>",
833
+ "<|special_952|>",
834
+ "<|special_953|>",
835
+ "<|special_954|>",
836
+ "<|special_955|>",
837
+ "<|special_956|>",
838
+ "<|special_957|>",
839
+ "<|special_958|>",
840
+ "<|special_959|>",
841
+ "<|special_960|>",
842
+ "<|special_961|>",
843
+ "<|special_962|>",
844
+ "<|special_963|>",
845
+ "<|special_964|>",
846
+ "<|special_965|>",
847
+ "<|special_966|>",
848
+ "<|special_967|>",
849
+ "<|special_968|>",
850
+ "<|special_969|>",
851
+ "<|special_970|>",
852
+ "<|special_971|>",
853
+ "<|special_972|>",
854
+ "<|special_973|>",
855
+ "<|special_974|>",
856
+ "<|special_975|>",
857
+ "<|special_976|>",
858
+ "<|special_977|>",
859
+ "<|special_978|>",
860
+ "<|special_979|>",
861
+ "<|special_980|>",
862
+ "<|special_981|>",
863
+ "<|special_982|>",
864
+ "<|special_983|>",
865
+ "<|special_984|>",
866
+ "<|special_985|>",
867
+ "<|special_986|>",
868
+ "<|special_987|>",
869
+ "<|special_988|>",
870
+ "<|special_989|>",
871
+ "<|special_990|>",
872
+ "<|special_991|>",
873
+ "<|special_992|>",
874
+ "<|special_993|>",
875
+ "<|special_994|>",
876
+ "<|special_995|>",
877
+ "<|special_996|>",
878
+ "<|special_997|>",
879
+ "<|special_998|>",
880
+ "<|special_999|>",
881
+ "<|special_1000|>",
882
+ "<|special_1001|>",
883
+ "<|special_1002|>",
884
+ "<|special_1003|>",
885
+ "<|special_1004|>",
886
+ "<|special_1005|>",
887
+ "<|special_1006|>",
888
+ "<|special_1007|>",
889
+ "<|special_1008|>",
890
+ "<|special_1009|>",
891
+ "<|special_1010|>",
892
+ "<|special_1011|>",
893
+ "<|special_1012|>",
894
+ "<|special_1013|>",
895
+ "<|special_1014|>",
896
+ "<|special_1015|>",
897
+ "<|special_1016|>",
898
+ "<|special_1017|>",
899
+ "<|special_1018|>",
900
+ "<|special_1019|>",
901
+ "<|special_1020|>",
902
+ "<|special_1021|>",
903
+ "<|special_1022|>",
904
+ "<|special_1023|>",
905
+ "<|special_1024|>",
906
+ "<|special_1025|>",
907
+ "<|special_1026|>",
908
+ "<|special_1027|>",
909
+ "<|special_1028|>",
910
+ "<|special_1029|>",
911
+ "<|special_1030|>",
912
+ "<|special_1031|>",
913
+ "<|special_1032|>",
914
+ "<|special_1033|>",
915
+ "<|special_1034|>",
916
+ "<|special_1035|>",
917
+ "<|special_1036|>",
918
+ "<|special_1037|>",
919
+ "<|special_1038|>",
920
+ "<|special_1039|>",
921
+ "<|special_1040|>",
922
+ "<|special_1041|>",
923
+ "<|special_1042|>",
924
+ "<|special_1043|>",
925
+ "<|special_1044|>",
926
+ "<|special_1045|>",
927
+ "<|special_1046|>",
928
+ "<|special_1047|>",
929
+ "<|special_1048|>",
930
+ "<|special_1049|>",
931
+ "<|special_1050|>",
932
+ "<|special_1051|>",
933
+ "<|special_1052|>",
934
+ "<|special_1053|>",
935
+ "<|special_1054|>",
936
+ "<|special_1055|>",
937
+ "<|special_1056|>",
938
+ "<|special_1057|>",
939
+ "<|special_1058|>",
940
+ "<|special_1059|>",
941
+ "<|special_1060|>",
942
+ "<|special_1061|>",
943
+ "<|special_1062|>",
944
+ "<|special_1063|>",
945
+ "<|special_1064|>",
946
+ "<|special_1065|>",
947
+ "<|special_1066|>",
948
+ "<|special_1067|>",
949
+ "<|special_1068|>",
950
+ "<|special_1069|>",
951
+ "<|special_1070|>",
952
+ "<|special_1071|>",
953
+ "<|special_1072|>",
954
+ "<|special_1073|>",
955
+ "<|special_1074|>",
956
+ "<|special_1075|>",
957
+ "<|special_1076|>",
958
+ "<|special_1077|>",
959
+ "<|special_1078|>",
960
+ "<|special_1079|>",
961
+ "<|special_1080|>",
962
+ "<|special_1081|>",
963
+ "<|special_1082|>",
964
+ "<|special_1083|>",
965
+ "<|special_1084|>",
966
+ "<|special_1085|>",
967
+ "<|special_1086|>",
968
+ "<|special_1087|>",
969
+ "<|special_1088|>",
970
+ "<|special_1089|>",
971
+ "<|special_1090|>",
972
+ "<|special_1091|>",
973
+ "<|special_1092|>",
974
+ "<|special_1093|>",
975
+ "<|special_1094|>",
976
+ "<|special_1095|>",
977
+ "<|special_1096|>",
978
+ "<|special_1097|>",
979
+ "<|special_1098|>",
980
+ "<|special_1099|>",
981
+ "<|special_1100|>",
982
+ "<|special_1101|>",
983
+ "<|special_1102|>",
984
+ "<|special_1103|>",
985
+ "<|special_1104|>",
986
+ "<|special_1105|>",
987
+ "<|special_1106|>",
988
+ "<|special_1107|>",
989
+ "<|special_1108|>",
990
+ "<|special_1109|>",
991
+ "<|special_1110|>",
992
+ "<|special_1111|>",
993
+ "<|special_1112|>",
994
+ "<|special_1113|>",
995
+ "<|special_1114|>",
996
+ "<|special_1115|>",
997
+ "<|special_1116|>",
998
+ "<|special_1117|>",
999
+ "<|special_1118|>",
1000
+ "<|special_1119|>",
1001
+ "<|special_1120|>",
1002
+ "<|special_1121|>",
1003
+ "<|special_1122|>",
1004
+ "<|special_1123|>",
1005
+ "<|special_1124|>",
1006
+ "<|special_1125|>",
1007
+ "<|special_1126|>",
1008
+ "<|special_1127|>",
1009
+ "<|special_1128|>",
1010
+ "<|special_1129|>",
1011
+ "<|special_1130|>",
1012
+ "<|special_1131|>",
1013
+ "<|special_1132|>",
1014
+ "<|special_1133|>",
1015
+ "<|special_1134|>",
1016
+ "<|special_1135|>",
1017
+ "<|special_1136|>",
1018
+ "<|special_1137|>",
1019
+ "<|special_1138|>",
1020
+ "<|special_1139|>",
1021
+ "<|special_1140|>",
1022
+ "<|special_1141|>",
1023
+ "<|special_1142|>",
1024
+ "<|special_1143|>",
1025
+ "<|special_1144|>",
1026
+ "<|special_1145|>",
1027
+ "<|special_1146|>",
1028
+ "<|special_1147|>",
1029
+ "<|special_1148|>",
1030
+ "<|special_1149|>",
1031
+ "<|special_1150|>",
1032
+ "<|special_1151|>",
1033
+ "<|special_1152|>",
1034
+ "<|special_1153|>",
1035
+ "<|special_1154|>",
1036
+ "<|special_1155|>",
1037
+ "<|special_1156|>",
1038
+ "<|special_1157|>",
1039
+ "<|special_1158|>",
1040
+ "<|special_1159|>",
1041
+ "<|special_1160|>",
1042
+ "<|special_1161|>",
1043
+ "<|special_1162|>",
1044
+ "<|special_1163|>",
1045
+ "<|special_1164|>",
1046
+ "<|special_1165|>",
1047
+ "<|special_1166|>",
1048
+ "<|special_1167|>",
1049
+ "<|special_1168|>",
1050
+ "<|special_1169|>",
1051
+ "<|special_1170|>",
1052
+ "<|special_1171|>",
1053
+ "<|special_1172|>",
1054
+ "<|special_1173|>",
1055
+ "<|special_1174|>",
1056
+ "<|special_1175|>",
1057
+ "<|special_1176|>",
1058
+ "<|special_1177|>",
1059
+ "<|special_1178|>",
1060
+ "<|special_1179|>",
1061
+ "<|special_1180|>",
1062
+ "<|special_1181|>",
1063
+ "<|special_1182|>",
1064
+ "<|special_1183|>",
1065
+ "<|special_1184|>",
1066
+ "<|special_1185|>",
1067
+ "<|special_1186|>",
1068
+ "<|special_1187|>",
1069
+ "<|special_1188|>",
1070
+ "<|special_1189|>",
1071
+ "<|special_1190|>",
1072
+ "<|special_1191|>",
1073
+ "<|special_1192|>",
1074
+ "<|special_1193|>",
1075
+ "<|special_1194|>",
1076
+ "<|special_1195|>",
1077
+ "<|special_1196|>",
1078
+ "<|special_1197|>",
1079
+ "<|special_1198|>",
1080
+ "<|special_1199|>",
1081
+ "<|special_1200|>",
1082
+ "<|special_1201|>",
1083
+ "<|special_1202|>",
1084
+ "<|special_1203|>",
1085
+ "<|special_1204|>",
1086
+ "<|special_1205|>",
1087
+ "<|special_1206|>",
1088
+ "<|special_1207|>",
1089
+ "<|special_1208|>",
1090
+ "<|special_1209|>",
1091
+ "<|special_1210|>",
1092
+ "<|special_1211|>",
1093
+ "<|special_1212|>",
1094
+ "<|special_1213|>",
1095
+ "<|special_1214|>",
1096
+ "<|special_1215|>",
1097
+ "<|special_1216|>",
1098
+ "<|special_1217|>",
1099
+ "<|special_1218|>",
1100
+ "<|special_1219|>",
1101
+ "<|special_1220|>",
1102
+ "<|special_1221|>",
1103
+ "<|special_1222|>",
1104
+ "<|special_1223|>",
1105
+ "<|special_1224|>",
1106
+ "<|special_1225|>",
1107
+ "<|special_1226|>",
1108
+ "<|special_1227|>",
1109
+ "<|special_1228|>",
1110
+ "<|special_1229|>",
1111
+ "<|special_1230|>",
1112
+ "<|special_1231|>",
1113
+ "<|special_1232|>",
1114
+ "<|special_1233|>",
1115
+ "<|special_1234|>",
1116
+ "<|special_1235|>",
1117
+ "<|special_1236|>",
1118
+ "<|special_1237|>",
1119
+ "<|special_1238|>",
1120
+ "<|special_1239|>",
1121
+ "<|special_1240|>",
1122
+ "<|special_1241|>",
1123
+ "<|special_1242|>",
1124
+ "<|special_1243|>",
1125
+ "<|special_1244|>",
1126
+ "<|special_1245|>",
1127
+ "<|special_1246|>",
1128
+ "<|special_1247|>",
1129
+ "<|special_1248|>",
1130
+ "<|special_1249|>",
1131
+ "<|special_1250|>",
1132
+ "<|special_1251|>",
1133
+ "<|special_1252|>",
1134
+ "<|special_1253|>",
1135
+ "<|special_1254|>",
1136
+ "<|special_1255|>",
1137
+ "<|special_1256|>",
1138
+ "<|special_1257|>",
1139
+ "<|special_1258|>",
1140
+ "<|special_1259|>",
1141
+ "<|special_1260|>",
1142
+ "<|special_1261|>",
1143
+ "<|special_1262|>",
1144
+ "<|special_1263|>",
1145
+ "<|special_1264|>",
1146
+ "<|special_1265|>",
1147
+ "<|special_1266|>",
1148
+ "<|special_1267|>",
1149
+ "<|special_1268|>",
1150
+ "<|special_1269|>",
1151
+ "<|special_1270|>",
1152
+ "<|special_1271|>",
1153
+ "<|special_1272|>",
1154
+ "<|special_1273|>",
1155
+ "<|special_1274|>",
1156
+ "<|special_1275|>",
1157
+ "<|special_1276|>",
1158
+ "<|special_1277|>",
1159
+ "<|special_1278|>",
1160
+ "<|special_1279|>",
1161
+ "<|special_1280|>",
1162
+ "<|special_1281|>",
1163
+ "<|special_1282|>",
1164
+ "<|special_1283|>",
1165
+ "<|special_1284|>",
1166
+ "<|special_1285|>",
1167
+ "<|special_1286|>",
1168
+ "<|special_1287|>",
1169
+ "<|special_1288|>",
1170
+ "<|special_1289|>",
1171
+ "<|special_1290|>",
1172
+ "<|special_1291|>",
1173
+ "<|special_1292|>",
1174
+ "<|special_1293|>",
1175
+ "<|special_1294|>",
1176
+ "<|special_1295|>",
1177
+ "<|special_1296|>",
1178
+ "<|special_1297|>",
1179
+ "<|special_1298|>",
1180
+ "<|special_1299|>",
1181
+ "<|special_1300|>",
1182
+ "<|special_1301|>",
1183
+ "<|special_1302|>",
1184
+ "<|special_1303|>",
1185
+ "<|special_1304|>",
1186
+ "<|special_1305|>",
1187
+ "<|special_1306|>",
1188
+ "<|special_1307|>",
1189
+ "<|special_1308|>",
1190
+ "<|special_1309|>",
1191
+ "<|special_1310|>",
1192
+ "<|special_1311|>",
1193
+ "<|special_1312|>",
1194
+ "<|special_1313|>",
1195
+ "<|special_1314|>",
1196
+ "<|special_1315|>",
1197
+ "<|special_1316|>",
1198
+ "<|special_1317|>",
1199
+ "<|special_1318|>",
1200
+ "<|special_1319|>",
1201
+ "<|special_1320|>",
1202
+ "<|special_1321|>",
1203
+ "<|special_1322|>",
1204
+ "<|special_1323|>",
1205
+ "<|special_1324|>",
1206
+ "<|special_1325|>",
1207
+ "<|special_1326|>",
1208
+ "<|special_1327|>",
1209
+ "<|special_1328|>",
1210
+ "<|special_1329|>",
1211
+ "<|special_1330|>",
1212
+ "<|special_1331|>",
1213
+ "<|special_1332|>",
1214
+ "<|special_1333|>",
1215
+ "<|special_1334|>",
1216
+ "<|special_1335|>",
1217
+ "<|special_1336|>",
1218
+ "<|special_1337|>",
1219
+ "<|special_1338|>",
1220
+ "<|special_1339|>",
1221
+ "<|special_1340|>",
1222
+ "<|special_1341|>",
1223
+ "<|special_1342|>",
1224
+ "<|special_1343|>",
1225
+ "<|special_1344|>",
1226
+ "<|special_1345|>",
1227
+ "<|special_1346|>",
1228
+ "<|special_1347|>",
1229
+ "<|special_1348|>",
1230
+ "<|special_1349|>",
1231
+ "<|special_1350|>",
1232
+ "<|special_1351|>",
1233
+ "<|special_1352|>",
1234
+ "<|special_1353|>",
1235
+ "<|special_1354|>",
1236
+ "<|special_1355|>",
1237
+ "<|special_1356|>",
1238
+ "<|special_1357|>",
1239
+ "<|special_1358|>",
1240
+ "<|special_1359|>",
1241
+ "<|special_1360|>",
1242
+ "<|special_1361|>",
1243
+ "<|special_1362|>",
1244
+ "<|special_1363|>",
1245
+ "<|special_1364|>",
1246
+ "<|special_1365|>",
1247
+ "<|special_1366|>",
1248
+ "<|special_1367|>",
1249
+ "<|special_1368|>",
1250
+ "<|special_1369|>",
1251
+ "<|special_1370|>",
1252
+ "<|special_1371|>",
1253
+ "<|special_1372|>",
1254
+ "<|special_1373|>",
1255
+ "<|special_1374|>",
1256
+ "<|special_1375|>",
1257
+ "<|special_1376|>",
1258
+ "<|special_1377|>",
1259
+ "<|special_1378|>",
1260
+ "<|special_1379|>",
1261
+ "<|special_1380|>",
1262
+ "<|special_1381|>",
1263
+ "<|special_1382|>",
1264
+ "<|special_1383|>",
1265
+ "<|special_1384|>",
1266
+ "<|special_1385|>",
1267
+ "<|special_1386|>",
1268
+ "<|special_1387|>",
1269
+ "<|special_1388|>",
1270
+ "<|special_1389|>",
1271
+ "<|special_1390|>",
1272
+ "<|special_1391|>",
1273
+ "<|special_1392|>",
1274
+ "<|special_1393|>",
1275
+ "<|special_1394|>",
1276
+ "<|special_1395|>",
1277
+ "<|special_1396|>",
1278
+ "<|special_1397|>",
1279
+ "<|special_1398|>",
1280
+ "<|special_1399|>",
1281
+ "<|special_1400|>",
1282
+ "<|special_1401|>",
1283
+ "<|special_1402|>",
1284
+ "<|special_1403|>",
1285
+ "<|special_1404|>",
1286
+ "<|special_1405|>",
1287
+ "<|special_1406|>",
1288
+ "<|special_1407|>",
1289
+ "<|special_1408|>",
1290
+ "<|special_1409|>",
1291
+ "<|special_1410|>",
1292
+ "<|special_1411|>",
1293
+ "<|special_1412|>",
1294
+ "<|special_1413|>",
1295
+ "<|special_1414|>",
1296
+ "<|special_1415|>",
1297
+ "<|special_1416|>",
1298
+ "<|special_1417|>",
1299
+ "<|special_1418|>",
1300
+ "<|special_1419|>",
1301
+ "<|special_1420|>",
1302
+ "<|special_1421|>",
1303
+ "<|special_1422|>",
1304
+ "<|special_1423|>",
1305
+ "<|special_1424|>",
1306
+ "<|special_1425|>",
1307
+ "<|special_1426|>",
1308
+ "<|special_1427|>",
1309
+ "<|special_1428|>",
1310
+ "<|special_1429|>",
1311
+ "<|special_1430|>",
1312
+ "<|special_1431|>",
1313
+ "<|special_1432|>",
1314
+ "<|special_1433|>",
1315
+ "<|special_1434|>",
1316
+ "<|special_1435|>",
1317
+ "<|special_1436|>",
1318
+ "<|special_1437|>",
1319
+ "<|special_1438|>",
1320
+ "<|special_1439|>",
1321
+ "<|special_1440|>",
1322
+ "<|special_1441|>",
1323
+ "<|special_1442|>",
1324
+ "<|special_1443|>",
1325
+ "<|special_1444|>",
1326
+ "<|special_1445|>",
1327
+ "<|special_1446|>",
1328
+ "<|special_1447|>",
1329
+ "<|special_1448|>",
1330
+ "<|special_1449|>",
1331
+ "<|special_1450|>",
1332
+ "<|special_1451|>",
1333
+ "<|special_1452|>",
1334
+ "<|special_1453|>",
1335
+ "<|special_1454|>",
1336
+ "<|special_1455|>",
1337
+ "<|special_1456|>",
1338
+ "<|special_1457|>",
1339
+ "<|special_1458|>",
1340
+ "<|special_1459|>",
1341
+ "<|special_1460|>",
1342
+ "<|special_1461|>",
1343
+ "<|special_1462|>",
1344
+ "<|special_1463|>",
1345
+ "<|special_1464|>",
1346
+ "<|special_1465|>",
1347
+ "<|special_1466|>",
1348
+ "<|special_1467|>",
1349
+ "<|special_1468|>",
1350
+ "<|special_1469|>",
1351
+ "<|special_1470|>",
1352
+ "<|special_1471|>",
1353
+ "<|special_1472|>",
1354
+ "<|special_1473|>",
1355
+ "<|special_1474|>",
1356
+ "<|special_1475|>",
1357
+ "<|special_1476|>",
1358
+ "<|special_1477|>",
1359
+ "<|special_1478|>",
1360
+ "<|special_1479|>",
1361
+ "<|special_1480|>",
1362
+ "<|special_1481|>",
1363
+ "<|special_1482|>",
1364
+ "<|special_1483|>",
1365
+ "<|special_1484|>",
1366
+ "<|special_1485|>",
1367
+ "<|special_1486|>",
1368
+ "<|special_1487|>",
1369
+ "<|special_1488|>",
1370
+ "<|special_1489|>",
1371
+ "<|special_1490|>",
1372
+ "<|special_1491|>",
1373
+ "<|special_1492|>",
1374
+ "<|special_1493|>",
1375
+ "<|special_1494|>",
1376
+ "<|special_1495|>",
1377
+ "<|special_1496|>",
1378
+ "<|special_1497|>",
1379
+ "<|special_1498|>",
1380
+ "<|special_1499|>",
1381
+ "<|special_1500|>",
1382
+ "<|special_1501|>",
1383
+ "<|special_1502|>",
1384
+ "<|special_1503|>",
1385
+ "<|special_1504|>",
1386
+ "<|special_1505|>",
1387
+ "<|special_1506|>",
1388
+ "<|special_1507|>",
1389
+ "<|special_1508|>",
1390
+ "<|special_1509|>",
1391
+ "<|special_1510|>",
1392
+ "<|special_1511|>",
1393
+ "<|special_1512|>",
1394
+ "<|special_1513|>",
1395
+ "<|special_1514|>",
1396
+ "<|special_1515|>",
1397
+ "<|special_1516|>",
1398
+ "<|special_1517|>",
1399
+ "<|special_1518|>",
1400
+ "<|special_1519|>",
1401
+ "<|special_1520|>",
1402
+ "<|special_1521|>",
1403
+ "<|special_1522|>",
1404
+ "<|special_1523|>",
1405
+ "<|special_1524|>",
1406
+ "<|special_1525|>",
1407
+ "<|special_1526|>",
1408
+ "<|special_1527|>",
1409
+ "<|special_1528|>",
1410
+ "<|special_1529|>",
1411
+ "<|special_1530|>",
1412
+ "<|special_1531|>",
1413
+ "<|special_1532|>",
1414
+ "<|special_1533|>",
1415
+ "<|special_1534|>",
1416
+ "<|special_1535|>",
1417
+ "<|special_1536|>",
1418
+ "<|special_1537|>",
1419
+ "<|special_1538|>",
1420
+ "<|special_1539|>",
1421
+ "<|special_1540|>",
1422
+ "<|special_1541|>",
1423
+ "<|special_1542|>",
1424
+ "<|special_1543|>",
1425
+ "<|special_1544|>",
1426
+ "<|special_1545|>",
1427
+ "<|special_1546|>",
1428
+ "<|special_1547|>",
1429
+ "<|special_1548|>",
1430
+ "<|special_1549|>",
1431
+ "<|special_1550|>",
1432
+ "<|special_1551|>",
1433
+ "<|special_1552|>",
1434
+ "<|special_1553|>",
1435
+ "<|special_1554|>",
1436
+ "<|special_1555|>",
1437
+ "<|special_1556|>",
1438
+ "<|special_1557|>",
1439
+ "<|special_1558|>",
1440
+ "<|special_1559|>",
1441
+ "<|special_1560|>",
1442
+ "<|special_1561|>",
1443
+ "<|special_1562|>",
1444
+ "<|special_1563|>",
1445
+ "<|special_1564|>",
1446
+ "<|special_1565|>",
1447
+ "<|special_1566|>",
1448
+ "<|special_1567|>",
1449
+ "<|special_1568|>",
1450
+ "<|special_1569|>",
1451
+ "<|special_1570|>",
1452
+ "<|special_1571|>",
1453
+ "<|special_1572|>",
1454
+ "<|special_1573|>",
1455
+ "<|special_1574|>",
1456
+ "<|special_1575|>",
1457
+ "<|special_1576|>",
1458
+ "<|special_1577|>",
1459
+ "<|special_1578|>",
1460
+ "<|special_1579|>",
1461
+ "<|special_1580|>",
1462
+ "<|special_1581|>",
1463
+ "<|special_1582|>",
1464
+ "<|special_1583|>",
1465
+ "<|special_1584|>",
1466
+ "<|special_1585|>",
1467
+ "<|special_1586|>",
1468
+ "<|special_1587|>",
1469
+ "<|special_1588|>",
1470
+ "<|special_1589|>",
1471
+ "<|special_1590|>",
1472
+ "<|special_1591|>",
1473
+ "<|special_1592|>",
1474
+ "<|special_1593|>",
1475
+ "<|special_1594|>",
1476
+ "<|special_1595|>",
1477
+ "<|special_1596|>",
1478
+ "<|special_1597|>",
1479
+ "<|special_1598|>",
1480
+ "<|special_1599|>",
1481
+ "<|special_1600|>",
1482
+ "<|special_1601|>",
1483
+ "<|special_1602|>",
1484
+ "<|special_1603|>",
1485
+ "<|special_1604|>",
1486
+ "<|special_1605|>",
1487
+ "<|special_1606|>",
1488
+ "<|special_1607|>",
1489
+ "<|special_1608|>",
1490
+ "<|special_1609|>",
1491
+ "<|special_1610|>",
1492
+ "<|special_1611|>",
1493
+ "<|special_1612|>",
1494
+ "<|special_1613|>",
1495
+ "<|special_1614|>",
1496
+ "<|special_1615|>",
1497
+ "<|special_1616|>",
1498
+ "<|special_1617|>",
1499
+ "<|special_1618|>",
1500
+ "<|special_1619|>",
1501
+ "<|special_1620|>",
1502
+ "<|special_1621|>",
1503
+ "<|special_1622|>",
1504
+ "<|special_1623|>",
1505
+ "<|special_1624|>",
1506
+ "<|special_1625|>",
1507
+ "<|special_1626|>",
1508
+ "<|special_1627|>",
1509
+ "<|special_1628|>",
1510
+ "<|special_1629|>",
1511
+ "<|special_1630|>",
1512
+ "<|special_1631|>",
1513
+ "<|special_1632|>",
1514
+ "<|special_1633|>",
1515
+ "<|special_1634|>",
1516
+ "<|special_1635|>",
1517
+ "<|special_1636|>",
1518
+ "<|special_1637|>",
1519
+ "<|special_1638|>",
1520
+ "<|special_1639|>",
1521
+ "<|special_1640|>",
1522
+ "<|special_1641|>",
1523
+ "<|special_1642|>",
1524
+ "<|special_1643|>",
1525
+ "<|special_1644|>",
1526
+ "<|special_1645|>",
1527
+ "<|special_1646|>",
1528
+ "<|special_1647|>",
1529
+ "<|special_1648|>",
1530
+ "<|special_1649|>",
1531
+ "<|special_1650|>",
1532
+ "<|special_1651|>",
1533
+ "<|special_1652|>",
1534
+ "<|special_1653|>",
1535
+ "<|special_1654|>",
1536
+ "<|special_1655|>",
1537
+ "<|special_1656|>",
1538
+ "<|special_1657|>",
1539
+ "<|special_1658|>",
1540
+ "<|special_1659|>",
1541
+ "<|special_1660|>",
1542
+ "<|special_1661|>",
1543
+ "<|special_1662|>",
1544
+ "<|special_1663|>",
1545
+ "<|special_1664|>",
1546
+ "<|special_1665|>",
1547
+ "<|special_1666|>",
1548
+ "<|special_1667|>",
1549
+ "<|special_1668|>",
1550
+ "<|special_1669|>",
1551
+ "<|special_1670|>",
1552
+ "<|special_1671|>",
1553
+ "<|special_1672|>",
1554
+ "<|special_1673|>",
1555
+ "<|special_1674|>",
1556
+ "<|special_1675|>",
1557
+ "<|special_1676|>",
1558
+ "<|special_1677|>",
1559
+ "<|special_1678|>",
1560
+ "<|special_1679|>",
1561
+ "<|special_1680|>",
1562
+ "<|special_1681|>",
1563
+ "<|special_1682|>",
1564
+ "<|special_1683|>",
1565
+ "<|special_1684|>",
1566
+ "<|special_1685|>",
1567
+ "<|special_1686|>",
1568
+ "<|special_1687|>",
1569
+ "<|special_1688|>",
1570
+ "<|special_1689|>",
1571
+ "<|special_1690|>",
1572
+ "<|special_1691|>",
1573
+ "<|special_1692|>",
1574
+ "<|special_1693|>",
1575
+ "<|special_1694|>",
1576
+ "<|special_1695|>",
1577
+ "<|special_1696|>",
1578
+ "<|special_1697|>",
1579
+ "<|special_1698|>",
1580
+ "<|special_1699|>",
1581
+ "<|special_1700|>",
1582
+ "<|special_1701|>",
1583
+ "<|special_1702|>",
1584
+ "<|special_1703|>",
1585
+ "<|special_1704|>",
1586
+ "<|special_1705|>",
1587
+ "<|special_1706|>",
1588
+ "<|special_1707|>",
1589
+ "<|special_1708|>",
1590
+ "<|special_1709|>",
1591
+ "<|special_1710|>",
1592
+ "<|special_1711|>",
1593
+ "<|special_1712|>",
1594
+ "<|special_1713|>",
1595
+ "<|special_1714|>",
1596
+ "<|special_1715|>",
1597
+ "<|special_1716|>",
1598
+ "<|special_1717|>",
1599
+ "<|special_1718|>",
1600
+ "<|special_1719|>",
1601
+ "<|special_1720|>",
1602
+ "<|special_1721|>",
1603
+ "<|special_1722|>",
1604
+ "<|special_1723|>",
1605
+ "<|special_1724|>",
1606
+ "<|special_1725|>",
1607
+ "<|special_1726|>",
1608
+ "<|special_1727|>",
1609
+ "<|special_1728|>",
1610
+ "<|special_1729|>",
1611
+ "<|special_1730|>",
1612
+ "<|special_1731|>",
1613
+ "<|special_1732|>",
1614
+ "<|special_1733|>",
1615
+ "<|special_1734|>",
1616
+ "<|special_1735|>",
1617
+ "<|special_1736|>",
1618
+ "<|special_1737|>",
1619
+ "<|special_1738|>",
1620
+ "<|special_1739|>",
1621
+ "<|special_1740|>",
1622
+ "<|special_1741|>",
1623
+ "<|special_1742|>",
1624
+ "<|special_1743|>",
1625
+ "<|special_1744|>",
1626
+ "<|special_1745|>",
1627
+ "<|special_1746|>",
1628
+ "<|special_1747|>",
1629
+ "<|special_1748|>",
1630
+ "<|special_1749|>",
1631
+ "<|special_1750|>",
1632
+ "<|special_1751|>",
1633
+ "<|special_1752|>",
1634
+ "<|special_1753|>",
1635
+ "<|special_1754|>",
1636
+ "<|special_1755|>",
1637
+ "<|special_1756|>",
1638
+ "<|special_1757|>",
1639
+ "<|special_1758|>",
1640
+ "<|special_1759|>",
1641
+ "<|special_1760|>",
1642
+ "<|special_1761|>",
1643
+ "<|special_1762|>",
1644
+ "<|special_1763|>",
1645
+ "<|special_1764|>",
1646
+ "<|special_1765|>",
1647
+ "<|special_1766|>",
1648
+ "<|special_1767|>",
1649
+ "<|special_1768|>",
1650
+ "<|special_1769|>",
1651
+ "<|special_1770|>",
1652
+ "<|special_1771|>",
1653
+ "<|special_1772|>",
1654
+ "<|special_1773|>",
1655
+ "<|special_1774|>",
1656
+ "<|special_1775|>",
1657
+ "<|special_1776|>",
1658
+ "<|special_1777|>",
1659
+ "<|special_1778|>",
1660
+ "<|special_1779|>",
1661
+ "<|special_1780|>",
1662
+ "<|special_1781|>",
1663
+ "<|special_1782|>",
1664
+ "<|special_1783|>",
1665
+ "<|special_1784|>",
1666
+ "<|special_1785|>",
1667
+ "<|special_1786|>",
1668
+ "<|special_1787|>",
1669
+ "<|special_1788|>",
1670
+ "<|special_1789|>",
1671
+ "<|special_1790|>",
1672
+ "<|special_1791|>",
1673
+ "<|special_1792|>",
1674
+ "<|special_1793|>",
1675
+ "<|special_1794|>",
1676
+ "<|special_1795|>",
1677
+ "<|special_1796|>",
1678
+ "<|special_1797|>",
1679
+ "<|special_1798|>",
1680
+ "<|special_1799|>",
1681
+ "<|special_1800|>",
1682
+ "<|special_1801|>",
1683
+ "<|special_1802|>",
1684
+ "<|special_1803|>",
1685
+ "<|special_1804|>",
1686
+ "<|special_1805|>",
1687
+ "<|special_1806|>",
1688
+ "<|special_1807|>",
1689
+ "<|special_1808|>",
1690
+ "<|special_1809|>",
1691
+ "<|special_1810|>",
1692
+ "<|special_1811|>",
1693
+ "<|special_1812|>",
1694
+ "<|special_1813|>",
1695
+ "<|special_1814|>",
1696
+ "<|special_1815|>",
1697
+ "<|special_1816|>",
1698
+ "<|special_1817|>",
1699
+ "<|special_1818|>",
1700
+ "<|special_1819|>",
1701
+ "<|special_1820|>",
1702
+ "<|special_1821|>",
1703
+ "<|special_1822|>",
1704
+ "<|special_1823|>",
1705
+ "<|special_1824|>",
1706
+ "<|special_1825|>",
1707
+ "<|special_1826|>",
1708
+ "<|special_1827|>",
1709
+ "<|special_1828|>",
1710
+ "<|special_1829|>",
1711
+ "<|special_1830|>",
1712
+ "<|special_1831|>",
1713
+ "<|special_1832|>",
1714
+ "<|special_1833|>",
1715
+ "<|special_1834|>",
1716
+ "<|special_1835|>",
1717
+ "<|special_1836|>",
1718
+ "<|special_1837|>",
1719
+ "<|special_1838|>",
1720
+ "<|special_1839|>",
1721
+ "<|special_1840|>",
1722
+ "<|special_1841|>",
1723
+ "<|special_1842|>",
1724
+ "<|special_1843|>",
1725
+ "<|special_1844|>",
1726
+ "<|special_1845|>",
1727
+ "<|special_1846|>",
1728
+ "<|special_1847|>",
1729
+ "<|special_1848|>",
1730
+ "<|special_1849|>",
1731
+ "<|special_1850|>",
1732
+ "<|special_1851|>",
1733
+ "<|special_1852|>",
1734
+ "<|special_1853|>",
1735
+ "<|special_1854|>",
1736
+ "<|special_1855|>",
1737
+ "<|special_1856|>",
1738
+ "<|special_1857|>",
1739
+ "<|special_1858|>",
1740
+ "<|special_1859|>",
1741
+ "<|special_1860|>",
1742
+ "<|special_1861|>",
1743
+ "<|special_1862|>",
1744
+ "<|special_1863|>",
1745
+ "<|special_1864|>",
1746
+ "<|special_1865|>",
1747
+ "<|special_1866|>",
1748
+ "<|special_1867|>",
1749
+ "<|special_1868|>",
1750
+ "<|special_1869|>",
1751
+ "<|special_1870|>",
1752
+ "<|special_1871|>",
1753
+ "<|special_1872|>",
1754
+ "<|special_1873|>",
1755
+ "<|special_1874|>",
1756
+ "<|special_1875|>",
1757
+ "<|special_1876|>",
1758
+ "<|special_1877|>",
1759
+ "<|special_1878|>",
1760
+ "<|special_1879|>",
1761
+ "<|special_1880|>",
1762
+ "<|special_1881|>",
1763
+ "<|special_1882|>",
1764
+ "<|special_1883|>",
1765
+ "<|special_1884|>",
1766
+ "<|special_1885|>",
1767
+ "<|special_1886|>",
1768
+ "<|special_1887|>",
1769
+ "<|special_1888|>",
1770
+ "<|special_1889|>",
1771
+ "<|special_1890|>",
1772
+ "<|special_1891|>",
1773
+ "<|special_1892|>",
1774
+ "<|special_1893|>",
1775
+ "<|special_1894|>",
1776
+ "<|special_1895|>",
1777
+ "<|special_1896|>",
1778
+ "<|special_1897|>",
1779
+ "<|special_1898|>",
1780
+ "<|special_1899|>",
1781
+ "<|special_1900|>",
1782
+ "<|special_1901|>",
1783
+ "<|special_1902|>",
1784
+ "<|special_1903|>",
1785
+ "<|special_1904|>",
1786
+ "<|special_1905|>",
1787
+ "<|special_1906|>",
1788
+ "<|special_1907|>",
1789
+ "<|special_1908|>",
1790
+ "<|special_1909|>",
1791
+ "<|special_1910|>",
1792
+ "<|special_1911|>",
1793
+ "<|special_1912|>",
1794
+ "<|special_1913|>",
1795
+ "<|special_1914|>",
1796
+ "<|special_1915|>",
1797
+ "<|special_1916|>",
1798
+ "<|special_1917|>",
1799
+ "<|special_1918|>",
1800
+ "<|special_1919|>",
1801
+ "<|special_1920|>",
1802
+ "<|special_1921|>",
1803
+ "<|special_1922|>",
1804
+ "<|special_1923|>",
1805
+ "<|special_1924|>",
1806
+ "<|special_1925|>",
1807
+ "<|special_1926|>",
1808
+ "<|special_1927|>",
1809
+ "<|special_1928|>",
1810
+ "<|special_1929|>",
1811
+ "<|special_1930|>",
1812
+ "<|special_1931|>",
1813
+ "<|special_1932|>",
1814
+ "<|special_1933|>",
1815
+ "<|special_1934|>",
1816
+ "<|special_1935|>",
1817
+ "<|special_1936|>",
1818
+ "<|special_1937|>",
1819
+ "<|special_1938|>",
1820
+ "<|special_1939|>",
1821
+ "<|special_1940|>",
1822
+ "<|special_1941|>",
1823
+ "<|special_1942|>",
1824
+ "<|special_1943|>",
1825
+ "<|special_1944|>",
1826
+ "<|special_1945|>",
1827
+ "<|special_1946|>",
1828
+ "<|special_1947|>",
1829
+ "<|special_1948|>",
1830
+ "<|special_1949|>",
1831
+ "<|special_1950|>",
1832
+ "<|special_1951|>",
1833
+ "<|special_1952|>",
1834
+ "<|special_1953|>",
1835
+ "<|special_1954|>",
1836
+ "<|special_1955|>",
1837
+ "<|special_1956|>",
1838
+ "<|special_1957|>",
1839
+ "<|special_1958|>",
1840
+ "<|special_1959|>",
1841
+ "<|special_1960|>",
1842
+ "<|special_1961|>",
1843
+ "<|special_1962|>",
1844
+ "<|special_1963|>",
1845
+ "<|special_1964|>",
1846
+ "<|special_1965|>",
1847
+ "<|special_1966|>",
1848
+ "<|special_1967|>",
1849
+ "<|special_1968|>",
1850
+ "<|special_1969|>",
1851
+ "<|special_1970|>",
1852
+ "<|special_1971|>",
1853
+ "<|special_1972|>",
1854
+ "<|special_1973|>",
1855
+ "<|special_1974|>",
1856
+ "<|special_1975|>",
1857
+ "<|special_1976|>",
1858
+ "<|special_1977|>",
1859
+ "<|special_1978|>",
1860
+ "<|special_1979|>",
1861
+ "<|special_1980|>",
1862
+ "<|special_1981|>",
1863
+ "<|special_1982|>",
1864
+ "<|special_1983|>",
1865
+ "<|special_1984|>",
1866
+ "<|special_1985|>",
1867
+ "<|special_1986|>",
1868
+ "<|special_1987|>",
1869
+ "<|special_1988|>",
1870
+ "<|special_1989|>",
1871
+ "<|special_1990|>",
1872
+ "<|special_1991|>",
1873
+ "<|special_1992|>",
1874
+ "<|special_1993|>",
1875
+ "<|special_1994|>",
1876
+ "<|special_1995|>",
1877
+ "<|special_1996|>",
1878
+ "<|special_1997|>",
1879
+ "<|special_1998|>",
1880
+ "<|special_1999|>",
1881
+ "<|special_2000|>",
1882
+ "<|special_2001|>",
1883
+ "<|special_2002|>",
1884
+ "<|special_2003|>",
1885
+ "<|special_2004|>",
1886
+ "<|special_2005|>",
1887
+ "<|special_2006|>",
1888
+ "<|special_2007|>",
1889
+ "<|special_2008|>",
1890
+ "<|special_2009|>",
1891
+ "<|special_2010|>",
1892
+ "<|special_2011|>",
1893
+ "<|special_2012|>",
1894
+ "<|special_2013|>",
1895
+ "<|special_2014|>",
1896
+ "<|special_2015|>",
1897
+ "<|special_2016|>",
1898
+ "<|special_2017|>",
1899
+ "<|special_2018|>",
1900
+ "<|special_2019|>",
1901
+ "<|special_2020|>",
1902
+ "<|special_2021|>",
1903
+ "<|special_2022|>",
1904
+ "<|special_2023|>",
1905
+ "<|special_2024|>",
1906
+ "<|special_2025|>",
1907
+ "<|special_2026|>",
1908
+ "<|special_2027|>",
1909
+ "<|special_2028|>",
1910
+ "<|special_2029|>",
1911
+ "<|special_2030|>",
1912
+ "<|special_2031|>",
1913
+ "<|special_2032|>",
1914
+ "<|special_2033|>",
1915
+ "<|special_2034|>",
1916
+ "<|special_2035|>",
1917
+ "<|special_2036|>",
1918
+ "<|special_2037|>",
1919
+ "<|special_2038|>",
1920
+ "<|special_2039|>",
1921
+ "<|special_2040|>",
1922
+ "<|special_2041|>",
1923
+ "<|special_2042|>",
1924
+ "<|special_2043|>",
1925
+ "<|special_2044|>",
1926
+ "<|special_2045|>",
1927
+ "<|special_2046|>",
1928
+ "<|special_2047|>",
1929
+ "<|special_2048|>",
1930
+ "<|special_2049|>",
1931
+ "<|special_2050|>",
1932
+ "<|special_2051|>",
1933
+ "<|special_2052|>",
1934
+ "<|special_2053|>",
1935
+ "<|special_2054|>",
1936
+ "<|special_2055|>",
1937
+ "<|special_2056|>",
1938
+ "<|special_2057|>",
1939
+ "<|special_2058|>",
1940
+ "<|special_2059|>",
1941
+ "<|special_2060|>",
1942
+ "<|special_2061|>",
1943
+ "<|special_2062|>",
1944
+ "<|special_2063|>",
1945
+ "<|special_2064|>",
1946
+ "<|special_2065|>",
1947
+ "<|special_2066|>",
1948
+ "<|special_2067|>",
1949
+ "<|special_2068|>",
1950
+ "<|special_2069|>",
1951
+ "<|special_2070|>",
1952
+ "<|special_2071|>",
1953
+ "<|special_2072|>",
1954
+ "<|special_2073|>",
1955
+ "<|special_2074|>",
1956
+ "<|special_2075|>",
1957
+ "<|special_2076|>",
1958
+ "<|special_2077|>",
1959
+ "<|special_2078|>",
1960
+ "<|special_2079|>",
1961
+ "<|special_2080|>",
1962
+ "<|special_2081|>",
1963
+ "<|special_2082|>",
1964
+ "<|special_2083|>",
1965
+ "<|special_2084|>",
1966
+ "<|special_2085|>",
1967
+ "<|special_2086|>",
1968
+ "<|special_2087|>",
1969
+ "<|special_2088|>",
1970
+ "<|special_2089|>",
1971
+ "<|special_2090|>",
1972
+ "<|special_2091|>",
1973
+ "<|special_2092|>",
1974
+ "<|special_2093|>",
1975
+ "<|special_2094|>",
1976
+ "<|special_2095|>",
1977
+ "<|special_2096|>",
1978
+ "<|special_2097|>",
1979
+ "<|special_2098|>",
1980
+ "<|special_2099|>",
1981
+ "<|special_2100|>",
1982
+ "<|special_2101|>",
1983
+ "<|special_2102|>",
1984
+ "<|special_2103|>",
1985
+ "<|special_2104|>",
1986
+ "<|special_2105|>",
1987
+ "<|special_2106|>",
1988
+ "<|special_2107|>",
1989
+ "<|special_2108|>",
1990
+ "<|special_2109|>",
1991
+ "<|special_2110|>",
1992
+ "<|special_2111|>",
1993
+ "<|special_2112|>",
1994
+ "<|special_2113|>",
1995
+ "<|special_2114|>",
1996
+ "<|special_2115|>",
1997
+ "<|special_2116|>",
1998
+ "<|special_2117|>",
1999
+ "<|special_2118|>",
2000
+ "<|special_2119|>",
2001
+ "<|special_2120|>",
2002
+ "<|special_2121|>",
2003
+ "<|special_2122|>",
2004
+ "<|special_2123|>",
2005
+ "<|special_2124|>",
2006
+ "<|special_2125|>",
2007
+ "<|special_2126|>",
2008
+ "<|special_2127|>",
2009
+ "<|special_2128|>",
2010
+ "<|special_2129|>",
2011
+ "<|special_2130|>",
2012
+ "<|special_2131|>",
2013
+ "<|special_2132|>",
2014
+ "<|special_2133|>",
2015
+ "<|special_2134|>",
2016
+ "<|special_2135|>",
2017
+ "<|special_2136|>",
2018
+ "<|special_2137|>",
2019
+ "<|special_2138|>",
2020
+ "<|special_2139|>",
2021
+ "<|special_2140|>",
2022
+ "<|special_2141|>",
2023
+ "<|special_2142|>",
2024
+ "<|special_2143|>",
2025
+ "<|special_2144|>",
2026
+ "<|special_2145|>",
2027
+ "<|special_2146|>",
2028
+ "<|special_2147|>",
2029
+ "<|special_2148|>",
2030
+ "<|special_2149|>",
2031
+ "<|special_2150|>",
2032
+ "<|special_2151|>",
2033
+ "<|special_2152|>",
2034
+ "<|special_2153|>",
2035
+ "<|special_2154|>",
2036
+ "<|special_2155|>",
2037
+ "<|special_2156|>",
2038
+ "<|special_2157|>",
2039
+ "<|special_2158|>",
2040
+ "<|special_2159|>",
2041
+ "<|special_2160|>",
2042
+ "<|special_2161|>",
2043
+ "<|special_2162|>",
2044
+ "<|special_2163|>",
2045
+ "<|special_2164|>",
2046
+ "<|special_2165|>",
2047
+ "<|special_2166|>",
2048
+ "<|special_2167|>",
2049
+ "<|special_2168|>",
2050
+ "<|special_2169|>",
2051
+ "<|special_2170|>",
2052
+ "<|special_2171|>",
2053
+ "<|special_2172|>",
2054
+ "<|special_2173|>",
2055
+ "<|special_2174|>",
2056
+ "<|special_2175|>",
2057
+ "<|special_2176|>",
2058
+ "<|special_2177|>",
2059
+ "<|special_2178|>",
2060
+ "<|special_2179|>",
2061
+ "<|special_2180|>",
2062
+ "<|special_2181|>",
2063
+ "<|special_2182|>",
2064
+ "<|special_2183|>",
2065
+ "<|special_2184|>",
2066
+ "<|special_2185|>",
2067
+ "<|special_2186|>",
2068
+ "<|special_2187|>",
2069
+ "<|special_2188|>",
2070
+ "<|special_2189|>",
2071
+ "<|special_2190|>",
2072
+ "<|special_2191|>",
2073
+ "<|special_2192|>",
2074
+ "<|special_2193|>",
2075
+ "<|special_2194|>",
2076
+ "<|special_2195|>",
2077
+ "<|special_2196|>",
2078
+ "<|special_2197|>",
2079
+ "<|special_2198|>",
2080
+ "<|special_2199|>",
2081
+ "<|special_2200|>",
2082
+ "<|special_2201|>",
2083
+ "<|special_2202|>",
2084
+ "<|special_2203|>",
2085
+ "<|special_2204|>",
2086
+ "<|special_2205|>",
2087
+ "<|special_2206|>",
2088
+ "<|special_2207|>",
2089
+ "<|special_2208|>",
2090
+ "<|special_2209|>",
2091
+ "<|special_2210|>",
2092
+ "<|special_2211|>",
2093
+ "<|special_2212|>",
2094
+ "<|special_2213|>",
2095
+ "<|special_2214|>",
2096
+ "<|special_2215|>",
2097
+ "<|special_2216|>",
2098
+ "<|special_2217|>",
2099
+ "<|special_2218|>",
2100
+ "<|special_2219|>",
2101
+ "<|special_2220|>",
2102
+ "<|special_2221|>",
2103
+ "<|special_2222|>",
2104
+ "<|special_2223|>",
2105
+ "<|special_2224|>",
2106
+ "<|special_2225|>",
2107
+ "<|special_2226|>",
2108
+ "<|special_2227|>",
2109
+ "<|special_2228|>",
2110
+ "<|special_2229|>",
2111
+ "<|special_2230|>",
2112
+ "<|special_2231|>",
2113
+ "<|special_2232|>",
2114
+ "<|special_2233|>",
2115
+ "<|special_2234|>",
2116
+ "<|special_2235|>",
2117
+ "<|special_2236|>",
2118
+ "<|special_2237|>",
2119
+ "<|special_2238|>",
2120
+ "<|special_2239|>",
2121
+ "<|special_2240|>",
2122
+ "<|special_2241|>",
2123
+ "<|special_2242|>",
2124
+ "<|special_2243|>",
2125
+ "<|special_2244|>",
2126
+ "<|special_2245|>",
2127
+ "<|special_2246|>",
2128
+ "<|special_2247|>",
2129
+ "<|special_2248|>",
2130
+ "<|special_2249|>",
2131
+ "<|special_2250|>",
2132
+ "<|special_2251|>",
2133
+ "<|special_2252|>",
2134
+ "<|special_2253|>",
2135
+ "<|special_2254|>",
2136
+ "<|special_2255|>",
2137
+ "<|special_2256|>",
2138
+ "<|special_2257|>",
2139
+ "<|special_2258|>",
2140
+ "<|special_2259|>",
2141
+ "<|special_2260|>",
2142
+ "<|special_2261|>",
2143
+ "<|special_2262|>",
2144
+ "<|special_2263|>",
2145
+ "<|special_2264|>",
2146
+ "<|special_2265|>",
2147
+ "<|special_2266|>",
2148
+ "<|special_2267|>",
2149
+ "<|special_2268|>",
2150
+ "<|special_2269|>",
2151
+ "<|special_2270|>",
2152
+ "<|special_2271|>",
2153
+ "<|special_2272|>",
2154
+ "<|special_2273|>",
2155
+ "<|special_2274|>",
2156
+ "<|special_2275|>",
2157
+ "<|special_2276|>",
2158
+ "<|special_2277|>",
2159
+ "<|special_2278|>",
2160
+ "<|special_2279|>",
2161
+ "<|special_2280|>",
2162
+ "<|special_2281|>",
2163
+ "<|special_2282|>",
2164
+ "<|special_2283|>",
2165
+ "<|special_2284|>",
2166
+ "<|special_2285|>",
2167
+ "<|special_2286|>",
2168
+ "<|special_2287|>",
2169
+ "<|special_2288|>",
2170
+ "<|special_2289|>",
2171
+ "<|special_2290|>",
2172
+ "<|special_2291|>",
2173
+ "<|special_2292|>",
2174
+ "<|special_2293|>",
2175
+ "<|special_2294|>",
2176
+ "<|special_2295|>",
2177
+ "<|special_2296|>",
2178
+ "<|special_2297|>",
2179
+ "<|special_2298|>",
2180
+ "<|special_2299|>",
2181
+ "<|special_2300|>",
2182
+ "<|special_2301|>",
2183
+ "<|special_2302|>",
2184
+ "<|special_2303|>",
2185
+ "<|special_2304|>",
2186
+ "<|special_2305|>",
2187
+ "<|special_2306|>",
2188
+ "<|special_2307|>",
2189
+ "<|special_2308|>",
2190
+ "<|special_2309|>",
2191
+ "<|special_2310|>",
2192
+ "<|special_2311|>",
2193
+ "<|special_2312|>",
2194
+ "<|special_2313|>",
2195
+ "<|special_2314|>",
2196
+ "<|special_2315|>",
2197
+ "<|special_2316|>",
2198
+ "<|special_2317|>",
2199
+ "<|special_2318|>",
2200
+ "<|special_2319|>",
2201
+ "<|special_2320|>",
2202
+ "<|special_2321|>",
2203
+ "<|special_2322|>",
2204
+ "<|special_2323|>",
2205
+ "<|special_2324|>",
2206
+ "<|special_2325|>",
2207
+ "<|special_2326|>",
2208
+ "<|special_2327|>",
2209
+ "<|special_2328|>",
2210
+ "<|special_2329|>",
2211
+ "<|special_2330|>",
2212
+ "<|special_2331|>",
2213
+ "<|special_2332|>",
2214
+ "<|special_2333|>",
2215
+ "<|special_2334|>",
2216
+ "<|special_2335|>",
2217
+ "<|special_2336|>",
2218
+ "<|special_2337|>",
2219
+ "<|special_2338|>",
2220
+ "<|special_2339|>",
2221
+ "<|special_2340|>",
2222
+ "<|special_2341|>",
2223
+ "<|special_2342|>",
2224
+ "<|special_2343|>",
2225
+ "<|special_2344|>",
2226
+ "<|special_2345|>",
2227
+ "<|special_2346|>",
2228
+ "<|special_2347|>",
2229
+ "<|special_2348|>",
2230
+ "<|special_2349|>",
2231
+ "<|special_2350|>",
2232
+ "<|special_2351|>",
2233
+ "<|special_2352|>",
2234
+ "<|special_2353|>",
2235
+ "<|special_2354|>",
2236
+ "<|special_2355|>",
2237
+ "<|special_2356|>",
2238
+ "<|special_2357|>",
2239
+ "<|special_2358|>",
2240
+ "<|special_2359|>",
2241
+ "<|special_2360|>",
2242
+ "<|special_2361|>",
2243
+ "<|special_2362|>",
2244
+ "<|special_2363|>",
2245
+ "<|special_2364|>",
2246
+ "<|special_2365|>",
2247
+ "<|special_2366|>",
2248
+ "<|special_2367|>",
2249
+ "<|special_2368|>",
2250
+ "<|special_2369|>",
2251
+ "<|special_2370|>",
2252
+ "<|special_2371|>",
2253
+ "<|special_2372|>",
2254
+ "<|special_2373|>",
2255
+ "<|special_2374|>",
2256
+ "<|special_2375|>",
2257
+ "<|special_2376|>",
2258
+ "<|special_2377|>",
2259
+ "<|special_2378|>",
2260
+ "<|special_2379|>",
2261
+ "<|special_2380|>",
2262
+ "<|special_2381|>",
2263
+ "<|special_2382|>",
2264
+ "<|special_2383|>",
2265
+ "<|special_2384|>",
2266
+ "<|special_2385|>",
2267
+ "<|special_2386|>",
2268
+ "<|special_2387|>",
2269
+ "<|special_2388|>",
2270
+ "<|special_2389|>",
2271
+ "<|special_2390|>",
2272
+ "<|special_2391|>",
2273
+ "<|special_2392|>",
2274
+ "<|special_2393|>",
2275
+ "<|special_2394|>",
2276
+ "<|special_2395|>",
2277
+ "<|special_2396|>",
2278
+ "<|special_2397|>",
2279
+ "<|special_2398|>",
2280
+ "<|special_2399|>",
2281
+ "<|special_2400|>",
2282
+ "<|special_2401|>",
2283
+ "<|special_2402|>",
2284
+ "<|special_2403|>",
2285
+ "<|special_2404|>",
2286
+ "<|special_2405|>",
2287
+ "<|special_2406|>",
2288
+ "<|special_2407|>",
2289
+ "<|special_2408|>",
2290
+ "<|special_2409|>",
2291
+ "<|special_2410|>",
2292
+ "<|special_2411|>",
2293
+ "<|special_2412|>",
2294
+ "<|special_2413|>",
2295
+ "<|special_2414|>",
2296
+ "<|special_2415|>",
2297
+ "<|special_2416|>",
2298
+ "<|special_2417|>",
2299
+ "<|special_2418|>",
2300
+ "<|special_2419|>",
2301
+ "<|special_2420|>",
2302
+ "<|special_2421|>",
2303
+ "<|special_2422|>",
2304
+ "<|special_2423|>",
2305
+ "<|special_2424|>",
2306
+ "<|special_2425|>",
2307
+ "<|special_2426|>",
2308
+ "<|special_2427|>",
2309
+ "<|special_2428|>",
2310
+ "<|special_2429|>",
2311
+ "<|special_2430|>",
2312
+ "<|special_2431|>",
2313
+ "<|special_2432|>",
2314
+ "<|special_2433|>",
2315
+ "<|special_2434|>",
2316
+ "<|special_2435|>",
2317
+ "<|special_2436|>",
2318
+ "<|special_2437|>",
2319
+ "<|special_2438|>",
2320
+ "<|special_2439|>",
2321
+ "<|special_2440|>",
2322
+ "<|special_2441|>",
2323
+ "<|special_2442|>",
2324
+ "<|special_2443|>",
2325
+ "<|special_2444|>",
2326
+ "<|special_2445|>",
2327
+ "<|special_2446|>",
2328
+ "<|special_2447|>",
2329
+ "<|special_2448|>",
2330
+ "<|special_2449|>",
2331
+ "<|special_2450|>",
2332
+ "<|special_2451|>",
2333
+ "<|special_2452|>",
2334
+ "<|special_2453|>",
2335
+ "<|special_2454|>",
2336
+ "<|special_2455|>",
2337
+ "<|special_2456|>",
2338
+ "<|special_2457|>",
2339
+ "<|special_2458|>",
2340
+ "<|special_2459|>",
2341
+ "<|special_2460|>",
2342
+ "<|special_2461|>",
2343
+ "<|special_2462|>",
2344
+ "<|special_2463|>",
2345
+ "<|special_2464|>",
2346
+ "<|special_2465|>",
2347
+ "<|special_2466|>",
2348
+ "<|special_2467|>",
2349
+ "<|special_2468|>",
2350
+ "<|special_2469|>",
2351
+ "<|special_2470|>",
2352
+ "<|special_2471|>",
2353
+ "<|special_2472|>",
2354
+ "<|special_2473|>",
2355
+ "<|special_2474|>",
2356
+ "<|special_2475|>",
2357
+ "<|special_2476|>",
2358
+ "<|special_2477|>",
2359
+ "<|special_2478|>",
2360
+ "<|special_2479|>",
2361
+ "<|special_2480|>",
2362
+ "<|special_2481|>",
2363
+ "<|special_2482|>",
2364
+ "<|special_2483|>",
2365
+ "<|special_2484|>",
2366
+ "<|special_2485|>",
2367
+ "<|special_2486|>",
2368
+ "<|special_2487|>",
2369
+ "<|special_2488|>",
2370
+ "<|special_2489|>",
2371
+ "<|special_2490|>",
2372
+ "<|special_2491|>",
2373
+ "<|special_2492|>",
2374
+ "<|special_2493|>",
2375
+ "<|special_2494|>",
2376
+ "<|special_2495|>",
2377
+ "<|special_2496|>",
2378
+ "<|special_2497|>",
2379
+ "<|special_2498|>",
2380
+ "<|special_2499|>",
2381
+ "<|special_2500|>",
2382
+ "<|special_2501|>",
2383
+ "<|special_2502|>",
2384
+ "<|special_2503|>",
2385
+ "<|special_2504|>",
2386
+ "<|special_2505|>",
2387
+ "<|special_2506|>",
2388
+ "<|special_2507|>",
2389
+ "<|special_2508|>",
2390
+ "<|special_2509|>",
2391
+ "<|special_2510|>",
2392
+ "<|special_2511|>",
2393
+ "<|special_2512|>",
2394
+ "<|special_2513|>",
2395
+ "<|special_2514|>",
2396
+ "<|special_2515|>",
2397
+ "<|special_2516|>",
2398
+ "<|special_2517|>",
2399
+ "<|special_2518|>",
2400
+ "<|special_2519|>",
2401
+ "<|special_2520|>",
2402
+ "<|special_2521|>",
2403
+ "<|special_2522|>",
2404
+ "<|special_2523|>",
2405
+ "<|special_2524|>",
2406
+ "<|special_2525|>",
2407
+ "<|special_2526|>",
2408
+ "<|special_2527|>",
2409
+ "<|special_2528|>",
2410
+ "<|special_2529|>",
2411
+ "<|special_2530|>",
2412
+ "<|special_2531|>",
2413
+ "<|special_2532|>",
2414
+ "<|special_2533|>",
2415
+ "<|special_2534|>",
2416
+ "<|special_2535|>",
2417
+ "<|special_2536|>",
2418
+ "<|special_2537|>",
2419
+ "<|special_2538|>",
2420
+ "<|special_2539|>",
2421
+ "<|special_2540|>",
2422
+ "<|special_2541|>",
2423
+ "<|special_2542|>",
2424
+ "<|special_2543|>",
2425
+ "<|special_2544|>",
2426
+ "<|special_2545|>",
2427
+ "<|special_2546|>",
2428
+ "<|special_2547|>",
2429
+ "<|special_2548|>",
2430
+ "<|special_2549|>",
2431
+ "<|special_2550|>",
2432
+ "<|special_2551|>",
2433
+ "<|special_2552|>",
2434
+ "<|special_2553|>",
2435
+ "<|special_2554|>",
2436
+ "<|special_2555|>",
2437
+ "<|special_2556|>",
2438
+ "<|special_2557|>",
2439
+ "<|special_2558|>",
2440
+ "<|special_2559|>",
2441
+ "<|special_2560|>",
2442
+ "<|special_2561|>",
2443
+ "<|special_2562|>",
2444
+ "<|special_2563|>",
2445
+ "<|special_2564|>",
2446
+ "<|special_2565|>",
2447
+ "<|special_2566|>",
2448
+ "<|special_2567|>",
2449
+ "<|special_2568|>",
2450
+ "<|special_2569|>",
2451
+ "<|special_2570|>",
2452
+ "<|special_2571|>",
2453
+ "<|special_2572|>",
2454
+ "<|special_2573|>",
2455
+ "<|special_2574|>",
2456
+ "<|special_2575|>",
2457
+ "<|special_2576|>",
2458
+ "<|special_2577|>",
2459
+ "<|special_2578|>",
2460
+ "<|special_2579|>",
2461
+ "<|special_2580|>",
2462
+ "<|special_2581|>",
2463
+ "<|special_2582|>",
2464
+ "<|special_2583|>",
2465
+ "<|special_2584|>",
2466
+ "<|special_2585|>",
2467
+ "<|special_2586|>",
2468
+ "<|special_2587|>",
2469
+ "<|special_2588|>",
2470
+ "<|special_2589|>",
2471
+ "<|special_2590|>",
2472
+ "<|special_2591|>",
2473
+ "<|special_2592|>",
2474
+ "<|special_2593|>",
2475
+ "<|special_2594|>",
2476
+ "<|special_2595|>",
2477
+ "<|special_2596|>",
2478
+ "<|special_2597|>",
2479
+ "<|special_2598|>",
2480
+ "<|special_2599|>",
2481
+ "<|special_2600|>",
2482
+ "<|special_2601|>",
2483
+ "<|special_2602|>",
2484
+ "<|special_2603|>",
2485
+ "<|special_2604|>",
2486
+ "<|special_2605|>",
2487
+ "<|special_2606|>",
2488
+ "<|special_2607|>",
2489
+ "<|special_2608|>",
2490
+ "<|special_2609|>",
2491
+ "<|special_2610|>",
2492
+ "<|special_2611|>",
2493
+ "<|special_2612|>",
2494
+ "<|special_2613|>",
2495
+ "<|special_2614|>",
2496
+ "<|special_2615|>",
2497
+ "<|special_2616|>",
2498
+ "<|special_2617|>",
2499
+ "<|special_2618|>",
2500
+ "<|special_2619|>",
2501
+ "<|special_2620|>",
2502
+ "<|special_2621|>",
2503
+ "<|special_2622|>",
2504
+ "<|special_2623|>",
2505
+ "<|special_2624|>",
2506
+ "<|special_2625|>",
2507
+ "<|special_2626|>",
2508
+ "<|special_2627|>",
2509
+ "<|special_2628|>",
2510
+ "<|special_2629|>",
2511
+ "<|special_2630|>",
2512
+ "<|special_2631|>",
2513
+ "<|special_2632|>",
2514
+ "<|special_2633|>",
2515
+ "<|special_2634|>",
2516
+ "<|special_2635|>",
2517
+ "<|special_2636|>",
2518
+ "<|special_2637|>",
2519
+ "<|special_2638|>",
2520
+ "<|special_2639|>",
2521
+ "<|special_2640|>",
2522
+ "<|special_2641|>",
2523
+ "<|special_2642|>",
2524
+ "<|special_2643|>",
2525
+ "<|special_2644|>",
2526
+ "<|special_2645|>",
2527
+ "<|special_2646|>",
2528
+ "<|special_2647|>",
2529
+ "<|special_2648|>",
2530
+ "<|special_2649|>",
2531
+ "<|special_2650|>",
2532
+ "<|special_2651|>",
2533
+ "<|special_2652|>",
2534
+ "<|special_2653|>",
2535
+ "<|special_2654|>",
2536
+ "<|special_2655|>",
2537
+ "<|special_2656|>",
2538
+ "<|special_2657|>",
2539
+ "<|special_2658|>",
2540
+ "<|special_2659|>",
2541
+ "<|special_2660|>",
2542
+ "<|special_2661|>",
2543
+ "<|special_2662|>",
2544
+ "<|special_2663|>",
2545
+ "<|special_2664|>",
2546
+ "<|special_2665|>",
2547
+ "<|special_2666|>",
2548
+ "<|special_2667|>",
2549
+ "<|special_2668|>",
2550
+ "<|special_2669|>",
2551
+ "<|special_2670|>",
2552
+ "<|special_2671|>",
2553
+ "<|special_2672|>",
2554
+ "<|special_2673|>",
2555
+ "<|special_2674|>",
2556
+ "<|special_2675|>",
2557
+ "<|special_2676|>",
2558
+ "<|special_2677|>",
2559
+ "<|special_2678|>",
2560
+ "<|special_2679|>",
2561
+ "<|special_2680|>",
2562
+ "<|special_2681|>",
2563
+ "<|special_2682|>",
2564
+ "<|special_2683|>",
2565
+ "<|special_2684|>",
2566
+ "<|special_2685|>",
2567
+ "<|special_2686|>",
2568
+ "<|special_2687|>",
2569
+ "<|special_2688|>",
2570
+ "<|special_2689|>",
2571
+ "<|special_2690|>",
2572
+ "<|special_2691|>",
2573
+ "<|special_2692|>",
2574
+ "<|special_2693|>",
2575
+ "<|special_2694|>",
2576
+ "<|special_2695|>",
2577
+ "<|special_2696|>",
2578
+ "<|special_2697|>",
2579
+ "<|special_2698|>",
2580
+ "<|special_2699|>",
2581
+ "<|special_2700|>",
2582
+ "<|special_2701|>",
2583
+ "<|special_2702|>",
2584
+ "<|special_2703|>",
2585
+ "<|special_2704|>",
2586
+ "<|special_2705|>",
2587
+ "<|special_2706|>",
2588
+ "<|special_2707|>",
2589
+ "<|special_2708|>",
2590
+ "<|special_2709|>",
2591
+ "<|special_2710|>",
2592
+ "<|special_2711|>",
2593
+ "<|special_2712|>",
2594
+ "<|special_2713|>",
2595
+ "<|special_2714|>",
2596
+ "<|special_2715|>",
2597
+ "<|special_2716|>",
2598
+ "<|special_2717|>",
2599
+ "<|special_2718|>",
2600
+ "<|special_2719|>",
2601
+ "<|special_2720|>",
2602
+ "<|special_2721|>",
2603
+ "<|special_2722|>",
2604
+ "<|special_2723|>",
2605
+ "<|special_2724|>",
2606
+ "<|special_2725|>",
2607
+ "<|special_2726|>",
2608
+ "<|special_2727|>",
2609
+ "<|special_2728|>",
2610
+ "<|special_2729|>",
2611
+ "<|special_2730|>",
2612
+ "<|special_2731|>",
2613
+ "<|special_2732|>",
2614
+ "<|special_2733|>",
2615
+ "<|special_2734|>",
2616
+ "<|special_2735|>",
2617
+ "<|special_2736|>",
2618
+ "<|special_2737|>",
2619
+ "<|special_2738|>",
2620
+ "<|special_2739|>",
2621
+ "<|special_2740|>",
2622
+ "<|special_2741|>",
2623
+ "<|special_2742|>",
2624
+ "<|special_2743|>",
2625
+ "<|special_2744|>",
2626
+ "<|special_2745|>",
2627
+ "<|special_2746|>",
2628
+ "<|special_2747|>",
2629
+ "<|special_2748|>",
2630
+ "<|special_2749|>",
2631
+ "<|special_2750|>",
2632
+ "<|special_2751|>",
2633
+ "<|special_2752|>",
2634
+ "<|special_2753|>",
2635
+ "<|special_2754|>",
2636
+ "<|special_2755|>",
2637
+ "<|special_2756|>",
2638
+ "<|special_2757|>",
2639
+ "<|special_2758|>",
2640
+ "<|special_2759|>",
2641
+ "<|special_2760|>",
2642
+ "<|special_2761|>",
2643
+ "<|special_2762|>",
2644
+ "<|special_2763|>",
2645
+ "<|special_2764|>",
2646
+ "<|special_2765|>",
2647
+ "<|special_2766|>",
2648
+ "<|special_2767|>",
2649
+ "<|special_2768|>",
2650
+ "<|special_2769|>",
2651
+ "<|special_2770|>",
2652
+ "<|special_2771|>",
2653
+ "<|special_2772|>",
2654
+ "<|special_2773|>",
2655
+ "<|special_2774|>",
2656
+ "<|special_2775|>",
2657
+ "<|special_2776|>",
2658
+ "<|special_2777|>",
2659
+ "<|special_2778|>",
2660
+ "<|special_2779|>",
2661
+ "<|special_2780|>",
2662
+ "<|special_2781|>",
2663
+ "<|special_2782|>",
2664
+ "<|special_2783|>",
2665
+ "<|special_2784|>",
2666
+ "<|special_2785|>",
2667
+ "<|special_2786|>",
2668
+ "<|special_2787|>",
2669
+ "<|special_2788|>",
2670
+ "<|special_2789|>",
2671
+ "<|special_2790|>",
2672
+ "<|special_2791|>",
2673
+ "<|special_2792|>",
2674
+ "<|special_2793|>",
2675
+ "<|special_2794|>",
2676
+ "<|special_2795|>",
2677
+ "<|special_2796|>",
2678
+ "<|special_2797|>",
2679
+ "<|special_2798|>",
2680
+ "<|special_2799|>",
2681
+ "<|special_2800|>",
2682
+ "<|special_2801|>",
2683
+ "<|special_2802|>",
2684
+ "<|special_2803|>",
2685
+ "<|special_2804|>",
2686
+ "<|special_2805|>",
2687
+ "<|special_2806|>",
2688
+ "<|special_2807|>",
2689
+ "<|special_2808|>",
2690
+ "<|special_2809|>",
2691
+ "<|special_2810|>",
2692
+ "<|special_2811|>",
2693
+ "<|special_2812|>",
2694
+ "<|special_2813|>",
2695
+ "<|special_2814|>",
2696
+ "<|special_2815|>",
2697
+ "<|special_2816|>",
2698
+ "<|special_2817|>",
2699
+ "<|special_2818|>",
2700
+ "<|special_2819|>",
2701
+ "<|special_2820|>",
2702
+ "<|special_2821|>",
2703
+ "<|special_2822|>",
2704
+ "<|special_2823|>",
2705
+ "<|special_2824|>",
2706
+ "<|special_2825|>",
2707
+ "<|special_2826|>",
2708
+ "<|special_2827|>",
2709
+ "<|special_2828|>",
2710
+ "<|special_2829|>",
2711
+ "<|special_2830|>",
2712
+ "<|special_2831|>",
2713
+ "<|special_2832|>",
2714
+ "<|special_2833|>",
2715
+ "<|special_2834|>",
2716
+ "<|special_2835|>",
2717
+ "<|special_2836|>",
2718
+ "<|special_2837|>",
2719
+ "<|special_2838|>",
2720
+ "<|special_2839|>",
2721
+ "<|special_2840|>",
2722
+ "<|special_2841|>",
2723
+ "<|special_2842|>",
2724
+ "<|special_2843|>",
2725
+ "<|special_2844|>",
2726
+ "<|special_2845|>",
2727
+ "<|special_2846|>",
2728
+ "<|special_2847|>",
2729
+ "<|special_2848|>",
2730
+ "<|special_2849|>",
2731
+ "<|special_2850|>",
2732
+ "<|special_2851|>",
2733
+ "<|special_2852|>",
2734
+ "<|special_2853|>",
2735
+ "<|special_2854|>",
2736
+ "<|special_2855|>",
2737
+ "<|special_2856|>",
2738
+ "<|special_2857|>",
2739
+ "<|special_2858|>",
2740
+ "<|special_2859|>",
2741
+ "<|special_2860|>",
2742
+ "<|special_2861|>",
2743
+ "<|special_2862|>",
2744
+ "<|special_2863|>",
2745
+ "<|special_2864|>",
2746
+ "<|special_2865|>",
2747
+ "<|special_2866|>",
2748
+ "<|special_2867|>",
2749
+ "<|special_2868|>",
2750
+ "<|special_2869|>",
2751
+ "<|special_2870|>",
2752
+ "<|special_2871|>",
2753
+ "<|special_2872|>",
2754
+ "<|special_2873|>",
2755
+ "<|special_2874|>",
2756
+ "<|special_2875|>",
2757
+ "<|special_2876|>",
2758
+ "<|special_2877|>",
2759
+ "<|special_2878|>",
2760
+ "<|special_2879|>",
2761
+ "<|special_2880|>",
2762
+ "<|special_2881|>",
2763
+ "<|special_2882|>",
2764
+ "<|special_2883|>",
2765
+ "<|special_2884|>",
2766
+ "<|special_2885|>",
2767
+ "<|special_2886|>",
2768
+ "<|special_2887|>",
2769
+ "<|special_2888|>",
2770
+ "<|special_2889|>",
2771
+ "<|special_2890|>",
2772
+ "<|special_2891|>",
2773
+ "<|special_2892|>",
2774
+ "<|special_2893|>",
2775
+ "<|special_2894|>",
2776
+ "<|special_2895|>",
2777
+ "<|special_2896|>",
2778
+ "<|special_2897|>",
2779
+ "<|special_2898|>",
2780
+ "<|special_2899|>",
2781
+ "<|special_2900|>",
2782
+ "<|special_2901|>",
2783
+ "<|special_2902|>",
2784
+ "<|special_2903|>",
2785
+ "<|special_2904|>",
2786
+ "<|special_2905|>",
2787
+ "<|special_2906|>",
2788
+ "<|special_2907|>",
2789
+ "<|special_2908|>",
2790
+ "<|special_2909|>",
2791
+ "<|special_2910|>",
2792
+ "<|special_2911|>",
2793
+ "<|special_2912|>",
2794
+ "<|special_2913|>",
2795
+ "<|special_2914|>",
2796
+ "<|special_2915|>",
2797
+ "<|special_2916|>",
2798
+ "<|special_2917|>",
2799
+ "<|special_2918|>",
2800
+ "<|special_2919|>",
2801
+ "<|special_2920|>",
2802
+ "<|special_2921|>",
2803
+ "<|special_2922|>",
2804
+ "<|special_2923|>",
2805
+ "<|special_2924|>",
2806
+ "<|special_2925|>",
2807
+ "<|special_2926|>",
2808
+ "<|special_2927|>",
2809
+ "<|special_2928|>",
2810
+ "<|special_2929|>",
2811
+ "<|special_2930|>",
2812
+ "<|special_2931|>",
2813
+ "<|special_2932|>",
2814
+ "<|special_2933|>",
2815
+ "<|special_2934|>",
2816
+ "<|special_2935|>",
2817
+ "<|special_2936|>",
2818
+ "<|special_2937|>",
2819
+ "<|special_2938|>",
2820
+ "<|special_2939|>",
2821
+ "<|special_2940|>",
2822
+ "<|special_2941|>",
2823
+ "<|special_2942|>",
2824
+ "<|special_2943|>",
2825
+ "<|special_2944|>",
2826
+ "<|special_2945|>",
2827
+ "<|special_2946|>",
2828
+ "<|special_2947|>",
2829
+ "<|special_2948|>",
2830
+ "<|special_2949|>",
2831
+ "<|special_2950|>",
2832
+ "<|special_2951|>",
2833
+ "<|special_2952|>",
2834
+ "<|special_2953|>",
2835
+ "<|special_2954|>",
2836
+ "<|special_2955|>",
2837
+ "<|special_2956|>",
2838
+ "<|special_2957|>",
2839
+ "<|special_2958|>",
2840
+ "<|special_2959|>",
2841
+ "<|special_2960|>",
2842
+ "<|special_2961|>",
2843
+ "<|special_2962|>",
2844
+ "<|special_2963|>",
2845
+ "<|special_2964|>",
2846
+ "<|special_2965|>",
2847
+ "<|special_2966|>",
2848
+ "<|special_2967|>",
2849
+ "<|special_2968|>",
2850
+ "<|special_2969|>",
2851
+ "<|special_2970|>",
2852
+ "<|special_2971|>",
2853
+ "<|special_2972|>",
2854
+ "<|special_2973|>",
2855
+ "<|special_2974|>",
2856
+ "<|special_2975|>",
2857
+ "<|special_2976|>",
2858
+ "<|special_2977|>",
2859
+ "<|special_2978|>",
2860
+ "<|special_2979|>",
2861
+ "<|special_2980|>",
2862
+ "<|special_2981|>",
2863
+ "<|special_2982|>",
2864
+ "<|special_2983|>",
2865
+ "<|special_2984|>",
2866
+ "<|special_2985|>",
2867
+ "<|special_2986|>",
2868
+ "<|special_2987|>",
2869
+ "<|special_2988|>",
2870
+ "<|special_2989|>",
2871
+ "<|special_2990|>",
2872
+ "<|special_2991|>",
2873
+ "<|special_2992|>",
2874
+ "<|special_2993|>",
2875
+ "<|special_2994|>",
2876
+ "<|special_2995|>",
2877
+ "<|special_2996|>",
2878
+ "<|special_2997|>",
2879
+ "<|special_2998|>",
2880
+ "<|special_2999|>",
2881
+ "<|special_3000|>",
2882
+ "<|special_3001|>",
2883
+ "<|special_3002|>",
2884
+ "<|special_3003|>",
2885
+ "<|special_3004|>",
2886
+ "<|special_3005|>",
2887
+ "<|special_3006|>",
2888
+ "<|special_3007|>",
2889
+ "<|special_3008|>",
2890
+ "<|special_3009|>",
2891
+ "<|special_3010|>",
2892
+ "<|special_3011|>",
2893
+ "<|special_3012|>",
2894
+ "<|special_3013|>",
2895
+ "<|special_3014|>",
2896
+ "<|special_3015|>",
2897
+ "<|special_3016|>",
2898
+ "<|special_3017|>",
2899
+ "<|special_3018|>",
2900
+ "<|special_3019|>",
2901
+ "<|special_3020|>",
2902
+ "<|special_3021|>",
2903
+ "<|special_3022|>",
2904
+ "<|special_3023|>",
2905
+ "<|special_3024|>",
2906
+ "<|special_3025|>",
2907
+ "<|special_3026|>",
2908
+ "<|special_3027|>",
2909
+ "<|special_3028|>",
2910
+ "<|special_3029|>",
2911
+ "<|special_3030|>",
2912
+ "<|special_3031|>",
2913
+ "<|special_3032|>",
2914
+ "<|special_3033|>",
2915
+ "<|special_3034|>",
2916
+ "<|special_3035|>",
2917
+ "<|special_3036|>",
2918
+ "<|special_3037|>",
2919
+ "<|special_3038|>",
2920
+ "<|special_3039|>",
2921
+ "<|special_3040|>",
2922
+ "<|special_3041|>",
2923
+ "<|special_3042|>",
2924
+ "<|special_3043|>",
2925
+ "<|special_3044|>",
2926
+ "<|special_3045|>",
2927
+ "<|special_3046|>",
2928
+ "<|special_3047|>",
2929
+ "<|special_3048|>",
2930
+ "<|special_3049|>",
2931
+ "<|special_3050|>",
2932
+ "<|special_3051|>",
2933
+ "<|special_3052|>",
2934
+ "<|special_3053|>",
2935
+ "<|special_3054|>",
2936
+ "<|special_3055|>",
2937
+ "<|special_3056|>",
2938
+ "<|special_3057|>",
2939
+ "<|special_3058|>",
2940
+ "<|special_3059|>",
2941
+ "<|special_3060|>",
2942
+ "<|special_3061|>",
2943
+ "<|special_3062|>",
2944
+ "<|special_3063|>",
2945
+ "<|special_3064|>",
2946
+ "<|special_3065|>",
2947
+ "<|special_3066|>",
2948
+ "<|special_3067|>",
2949
+ "<|special_3068|>",
2950
+ "<|special_3069|>",
2951
+ "<|special_3070|>",
2952
+ "<|special_3071|>",
2953
+ "<|special_3072|>",
2954
+ "<|special_3073|>",
2955
+ "<|special_3074|>",
2956
+ "<|special_3075|>",
2957
+ "<|special_3076|>",
2958
+ "<|special_3077|>",
2959
+ "<|special_3078|>",
2960
+ "<|special_3079|>",
2961
+ "<|special_3080|>",
2962
+ "<|special_3081|>",
2963
+ "<|special_3082|>",
2964
+ "<|special_3083|>",
2965
+ "<|special_3084|>",
2966
+ "<|special_3085|>",
2967
+ "<|special_3086|>",
2968
+ "<|special_3087|>",
2969
+ "<|special_3088|>",
2970
+ "<|special_3089|>",
2971
+ "<|special_3090|>",
2972
+ "<|special_3091|>",
2973
+ "<|special_3092|>",
2974
+ "<|special_3093|>",
2975
+ "<|special_3094|>",
2976
+ "<|special_3095|>",
2977
+ "<|special_3096|>",
2978
+ "<|special_3097|>",
2979
+ "<|special_3098|>",
2980
+ "<|special_3099|>",
2981
+ "<|special_3100|>",
2982
+ "<|special_3101|>",
2983
+ "<|special_3102|>",
2984
+ "<|special_3103|>",
2985
+ "<|special_3104|>",
2986
+ "<|special_3105|>",
2987
+ "<|special_3106|>",
2988
+ "<|special_3107|>",
2989
+ "<|special_3108|>",
2990
+ "<|special_3109|>",
2991
+ "<|special_3110|>",
2992
+ "<|special_3111|>",
2993
+ "<|special_3112|>",
2994
+ "<|special_3113|>",
2995
+ "<|special_3114|>",
2996
+ "<|special_3115|>",
2997
+ "<|special_3116|>",
2998
+ "<|special_3117|>",
2999
+ "<|special_3118|>",
3000
+ "<|special_3119|>",
3001
+ "<|special_3120|>",
3002
+ "<|special_3121|>",
3003
+ "<|special_3122|>",
3004
+ "<|special_3123|>",
3005
+ "<|special_3124|>",
3006
+ "<|special_3125|>",
3007
+ "<|special_3126|>",
3008
+ "<|special_3127|>",
3009
+ "<|special_3128|>",
3010
+ "<|special_3129|>",
3011
+ "<|special_3130|>",
3012
+ "<|special_3131|>",
3013
+ "<|special_3132|>",
3014
+ "<|special_3133|>",
3015
+ "<|special_3134|>",
3016
+ "<|special_3135|>",
3017
+ "<|special_3136|>",
3018
+ "<|special_3137|>",
3019
+ "<|special_3138|>",
3020
+ "<|special_3139|>",
3021
+ "<|special_3140|>",
3022
+ "<|special_3141|>",
3023
+ "<|special_3142|>",
3024
+ "<|special_3143|>",
3025
+ "<|special_3144|>",
3026
+ "<|special_3145|>",
3027
+ "<|special_3146|>",
3028
+ "<|special_3147|>",
3029
+ "<|special_3148|>",
3030
+ "<|special_3149|>",
3031
+ "<|special_3150|>",
3032
+ "<|special_3151|>",
3033
+ "<|special_3152|>",
3034
+ "<|special_3153|>",
3035
+ "<|special_3154|>",
3036
+ "<|special_3155|>",
3037
+ "<|special_3156|>",
3038
+ "<|special_3157|>",
3039
+ "<|special_3158|>",
3040
+ "<|special_3159|>",
3041
+ "<|special_3160|>",
3042
+ "<|special_3161|>",
3043
+ "<|special_3162|>",
3044
+ "<|special_3163|>",
3045
+ "<|special_3164|>",
3046
+ "<|special_3165|>",
3047
+ "<|special_3166|>",
3048
+ "<|special_3167|>",
3049
+ "<|special_3168|>",
3050
+ "<|special_3169|>",
3051
+ "<|special_3170|>",
3052
+ "<|special_3171|>",
3053
+ "<|special_3172|>",
3054
+ "<|special_3173|>",
3055
+ "<|special_3174|>",
3056
+ "<|special_3175|>",
3057
+ "<|special_3176|>",
3058
+ "<|special_3177|>",
3059
+ "<|special_3178|>",
3060
+ "<|special_3179|>",
3061
+ "<|special_3180|>",
3062
+ "<|special_3181|>",
3063
+ "<|special_3182|>",
3064
+ "<|special_3183|>",
3065
+ "<|special_3184|>",
3066
+ "<|special_3185|>",
3067
+ "<|special_3186|>",
3068
+ "<|special_3187|>",
3069
+ "<|special_3188|>",
3070
+ "<|special_3189|>",
3071
+ "<|special_3190|>",
3072
+ "<|special_3191|>",
3073
+ "<|special_3192|>",
3074
+ "<|special_3193|>",
3075
+ "<|special_3194|>",
3076
+ "<|special_3195|>",
3077
+ "<|special_3196|>",
3078
+ "<|special_3197|>",
3079
+ "<|special_3198|>",
3080
+ "<|special_3199|>",
3081
+ "<|special_3200|>",
3082
+ "<|special_3201|>",
3083
+ "<|special_3202|>",
3084
+ "<|special_3203|>",
3085
+ "<|special_3204|>",
3086
+ "<|special_3205|>",
3087
+ "<|special_3206|>",
3088
+ "<|special_3207|>",
3089
+ "<|special_3208|>",
3090
+ "<|special_3209|>",
3091
+ "<|special_3210|>",
3092
+ "<|special_3211|>",
3093
+ "<|special_3212|>",
3094
+ "<|special_3213|>",
3095
+ "<|special_3214|>",
3096
+ "<|special_3215|>",
3097
+ "<|special_3216|>",
3098
+ "<|special_3217|>",
3099
+ "<|special_3218|>",
3100
+ "<|special_3219|>",
3101
+ "<|special_3220|>",
3102
+ "<|special_3221|>",
3103
+ "<|special_3222|>",
3104
+ "<|special_3223|>",
3105
+ "<|special_3224|>",
3106
+ "<|special_3225|>",
3107
+ "<|special_3226|>",
3108
+ "<|special_3227|>",
3109
+ "<|special_3228|>",
3110
+ "<|special_3229|>",
3111
+ "<|special_3230|>",
3112
+ "<|special_3231|>",
3113
+ "<|special_3232|>",
3114
+ "<|special_3233|>",
3115
+ "<|special_3234|>",
3116
+ "<|special_3235|>",
3117
+ "<|special_3236|>",
3118
+ "<|special_3237|>",
3119
+ "<|special_3238|>",
3120
+ "<|special_3239|>",
3121
+ "<|special_3240|>",
3122
+ "<|special_3241|>",
3123
+ "<|special_3242|>",
3124
+ "<|special_3243|>",
3125
+ "<|special_3244|>",
3126
+ "<|special_3245|>",
3127
+ "<|special_3246|>",
3128
+ "<|special_3247|>",
3129
+ "<|special_3248|>",
3130
+ "<|special_3249|>",
3131
+ "<|special_3250|>",
3132
+ "<|special_3251|>",
3133
+ "<|special_3252|>",
3134
+ "<|special_3253|>",
3135
+ "<|special_3254|>",
3136
+ "<|special_3255|>",
3137
+ "<|special_3256|>",
3138
+ "<|special_3257|>",
3139
+ "<|special_3258|>",
3140
+ "<|special_3259|>",
3141
+ "<|special_3260|>",
3142
+ "<|special_3261|>",
3143
+ "<|special_3262|>",
3144
+ "<|special_3263|>",
3145
+ "<|special_3264|>",
3146
+ "<|special_3265|>",
3147
+ "<|special_3266|>",
3148
+ "<|special_3267|>",
3149
+ "<|special_3268|>",
3150
+ "<|special_3269|>",
3151
+ "<|special_3270|>",
3152
+ "<|special_3271|>",
3153
+ "<|special_3272|>",
3154
+ "<|special_3273|>",
3155
+ "<|special_3274|>",
3156
+ "<|special_3275|>",
3157
+ "<|special_3276|>",
3158
+ "<|special_3277|>",
3159
+ "<|special_3278|>",
3160
+ "<|special_3279|>",
3161
+ "<|special_3280|>",
3162
+ "<|special_3281|>",
3163
+ "<|special_3282|>",
3164
+ "<|special_3283|>",
3165
+ "<|special_3284|>",
3166
+ "<|special_3285|>",
3167
+ "<|special_3286|>",
3168
+ "<|special_3287|>",
3169
+ "<|special_3288|>",
3170
+ "<|special_3289|>",
3171
+ "<|special_3290|>",
3172
+ "<|special_3291|>",
3173
+ "<|special_3292|>",
3174
+ "<|special_3293|>",
3175
+ "<|special_3294|>",
3176
+ "<|special_3295|>",
3177
+ "<|special_3296|>",
3178
+ "<|special_3297|>",
3179
+ "<|special_3298|>",
3180
+ "<|special_3299|>",
3181
+ "<|special_3300|>",
3182
+ "<|special_3301|>",
3183
+ "<|special_3302|>",
3184
+ "<|special_3303|>",
3185
+ "<|special_3304|>",
3186
+ "<|special_3305|>",
3187
+ "<|special_3306|>",
3188
+ "<|special_3307|>",
3189
+ "<|special_3308|>",
3190
+ "<|special_3309|>",
3191
+ "<|special_3310|>",
3192
+ "<|special_3311|>",
3193
+ "<|special_3312|>",
3194
+ "<|special_3313|>",
3195
+ "<|special_3314|>",
3196
+ "<|special_3315|>",
3197
+ "<|special_3316|>",
3198
+ "<|special_3317|>",
3199
+ "<|special_3318|>",
3200
+ "<|special_3319|>",
3201
+ "<|special_3320|>",
3202
+ "<|special_3321|>",
3203
+ "<|special_3322|>",
3204
+ "<|special_3323|>",
3205
+ "<|special_3324|>",
3206
+ "<|special_3325|>",
3207
+ "<|special_3326|>",
3208
+ "<|special_3327|>",
3209
+ "<|special_3328|>",
3210
+ "<|special_3329|>",
3211
+ "<|special_3330|>",
3212
+ "<|special_3331|>",
3213
+ "<|special_3332|>",
3214
+ "<|special_3333|>",
3215
+ "<|special_3334|>",
3216
+ "<|special_3335|>",
3217
+ "<|special_3336|>",
3218
+ "<|special_3337|>",
3219
+ "<|special_3338|>",
3220
+ "<|special_3339|>",
3221
+ "<|special_3340|>",
3222
+ "<|special_3341|>",
3223
+ "<|special_3342|>",
3224
+ "<|special_3343|>",
3225
+ "<|special_3344|>",
3226
+ "<|special_3345|>",
3227
+ "<|special_3346|>",
3228
+ "<|special_3347|>",
3229
+ "<|special_3348|>",
3230
+ "<|special_3349|>",
3231
+ "<|special_3350|>",
3232
+ "<|special_3351|>",
3233
+ "<|special_3352|>",
3234
+ "<|special_3353|>",
3235
+ "<|special_3354|>",
3236
+ "<|special_3355|>",
3237
+ "<|special_3356|>",
3238
+ "<|special_3357|>",
3239
+ "<|special_3358|>",
3240
+ "<|special_3359|>",
3241
+ "<|special_3360|>",
3242
+ "<|special_3361|>",
3243
+ "<|special_3362|>",
3244
+ "<|special_3363|>",
3245
+ "<|special_3364|>",
3246
+ "<|special_3365|>",
3247
+ "<|special_3366|>",
3248
+ "<|special_3367|>",
3249
+ "<|special_3368|>",
3250
+ "<|special_3369|>",
3251
+ "<|special_3370|>",
3252
+ "<|special_3371|>",
3253
+ "<|special_3372|>",
3254
+ "<|special_3373|>",
3255
+ "<|special_3374|>",
3256
+ "<|special_3375|>",
3257
+ "<|special_3376|>",
3258
+ "<|special_3377|>",
3259
+ "<|special_3378|>",
3260
+ "<|special_3379|>",
3261
+ "<|special_3380|>",
3262
+ "<|special_3381|>",
3263
+ "<|special_3382|>",
3264
+ "<|special_3383|>",
3265
+ "<|special_3384|>",
3266
+ "<|special_3385|>",
3267
+ "<|special_3386|>",
3268
+ "<|special_3387|>",
3269
+ "<|special_3388|>",
3270
+ "<|special_3389|>",
3271
+ "<|special_3390|>",
3272
+ "<|special_3391|>",
3273
+ "<|special_3392|>",
3274
+ "<|special_3393|>",
3275
+ "<|special_3394|>",
3276
+ "<|special_3395|>",
3277
+ "<|special_3396|>",
3278
+ "<|special_3397|>",
3279
+ "<|special_3398|>",
3280
+ "<|special_3399|>",
3281
+ "<|special_3400|>",
3282
+ "<|special_3401|>",
3283
+ "<|special_3402|>",
3284
+ "<|special_3403|>",
3285
+ "<|special_3404|>",
3286
+ "<|special_3405|>",
3287
+ "<|special_3406|>",
3288
+ "<|special_3407|>",
3289
+ "<|special_3408|>",
3290
+ "<|special_3409|>",
3291
+ "<|special_3410|>",
3292
+ "<|special_3411|>",
3293
+ "<|special_3412|>",
3294
+ "<|special_3413|>",
3295
+ "<|special_3414|>",
3296
+ "<|special_3415|>",
3297
+ "<|special_3416|>",
3298
+ "<|special_3417|>",
3299
+ "<|special_3418|>",
3300
+ "<|special_3419|>",
3301
+ "<|special_3420|>",
3302
+ "<|special_3421|>",
3303
+ "<|special_3422|>",
3304
+ "<|special_3423|>",
3305
+ "<|special_3424|>",
3306
+ "<|special_3425|>",
3307
+ "<|special_3426|>",
3308
+ "<|special_3427|>",
3309
+ "<|special_3428|>",
3310
+ "<|special_3429|>",
3311
+ "<|special_3430|>",
3312
+ "<|special_3431|>",
3313
+ "<|special_3432|>",
3314
+ "<|special_3433|>",
3315
+ "<|special_3434|>",
3316
+ "<|special_3435|>",
3317
+ "<|special_3436|>",
3318
+ "<|special_3437|>",
3319
+ "<|special_3438|>",
3320
+ "<|special_3439|>",
3321
+ "<|special_3440|>",
3322
+ "<|special_3441|>",
3323
+ "<|special_3442|>",
3324
+ "<|special_3443|>",
3325
+ "<|special_3444|>",
3326
+ "<|special_3445|>",
3327
+ "<|special_3446|>",
3328
+ "<|special_3447|>",
3329
+ "<|special_3448|>",
3330
+ "<|special_3449|>",
3331
+ "<|special_3450|>",
3332
+ "<|special_3451|>",
3333
+ "<|special_3452|>",
3334
+ "<|special_3453|>",
3335
+ "<|special_3454|>",
3336
+ "<|special_3455|>",
3337
+ "<|special_3456|>",
3338
+ "<|special_3457|>",
3339
+ "<|special_3458|>",
3340
+ "<|special_3459|>",
3341
+ "<|special_3460|>",
3342
+ "<|special_3461|>",
3343
+ "<|special_3462|>",
3344
+ "<|special_3463|>",
3345
+ "<|special_3464|>",
3346
+ "<|special_3465|>",
3347
+ "<|special_3466|>",
3348
+ "<|special_3467|>",
3349
+ "<|special_3468|>",
3350
+ "<|special_3469|>",
3351
+ "<|special_3470|>",
3352
+ "<|special_3471|>",
3353
+ "<|special_3472|>",
3354
+ "<|special_3473|>",
3355
+ "<|special_3474|>",
3356
+ "<|special_3475|>",
3357
+ "<|special_3476|>",
3358
+ "<|special_3477|>",
3359
+ "<|special_3478|>",
3360
+ "<|special_3479|>",
3361
+ "<|special_3480|>",
3362
+ "<|special_3481|>",
3363
+ "<|special_3482|>",
3364
+ "<|special_3483|>",
3365
+ "<|special_3484|>",
3366
+ "<|special_3485|>",
3367
+ "<|special_3486|>",
3368
+ "<|special_3487|>",
3369
+ "<|special_3488|>",
3370
+ "<|special_3489|>",
3371
+ "<|special_3490|>",
3372
+ "<|special_3491|>",
3373
+ "<|special_3492|>",
3374
+ "<|special_3493|>",
3375
+ "<|special_3494|>",
3376
+ "<|special_3495|>",
3377
+ "<|special_3496|>",
3378
+ "<|special_3497|>",
3379
+ "<|special_3498|>",
3380
+ "<|special_3499|>",
3381
+ "<|special_3500|>",
3382
+ "<|special_3501|>",
3383
+ "<|special_3502|>",
3384
+ "<|special_3503|>",
3385
+ "<|special_3504|>",
3386
+ "<|special_3505|>",
3387
+ "<|special_3506|>",
3388
+ "<|special_3507|>",
3389
+ "<|special_3508|>",
3390
+ "<|special_3509|>",
3391
+ "<|special_3510|>",
3392
+ "<|special_3511|>",
3393
+ "<|special_3512|>",
3394
+ "<|special_3513|>",
3395
+ "<|special_3514|>",
3396
+ "<|special_3515|>",
3397
+ "<|special_3516|>",
3398
+ "<|special_3517|>",
3399
+ "<|special_3518|>",
3400
+ "<|special_3519|>",
3401
+ "<|special_3520|>",
3402
+ "<|special_3521|>",
3403
+ "<|special_3522|>",
3404
+ "<|special_3523|>",
3405
+ "<|special_3524|>",
3406
+ "<|special_3525|>",
3407
+ "<|special_3526|>",
3408
+ "<|special_3527|>",
3409
+ "<|special_3528|>",
3410
+ "<|special_3529|>",
3411
+ "<|special_3530|>",
3412
+ "<|special_3531|>",
3413
+ "<|special_3532|>",
3414
+ "<|special_3533|>",
3415
+ "<|special_3534|>",
3416
+ "<|special_3535|>",
3417
+ "<|special_3536|>",
3418
+ "<|special_3537|>",
3419
+ "<|special_3538|>",
3420
+ "<|special_3539|>",
3421
+ "<|special_3540|>",
3422
+ "<|special_3541|>",
3423
+ "<|special_3542|>",
3424
+ "<|special_3543|>",
3425
+ "<|special_3544|>",
3426
+ "<|special_3545|>",
3427
+ "<|special_3546|>",
3428
+ "<|special_3547|>",
3429
+ "<|special_3548|>",
3430
+ "<|special_3549|>",
3431
+ "<|special_3550|>",
3432
+ "<|special_3551|>",
3433
+ "<|special_3552|>",
3434
+ "<|special_3553|>",
3435
+ "<|special_3554|>",
3436
+ "<|special_3555|>",
3437
+ "<|special_3556|>",
3438
+ "<|special_3557|>",
3439
+ "<|special_3558|>",
3440
+ "<|special_3559|>",
3441
+ "<|special_3560|>",
3442
+ "<|special_3561|>",
3443
+ "<|special_3562|>",
3444
+ "<|special_3563|>",
3445
+ "<|special_3564|>",
3446
+ "<|special_3565|>",
3447
+ "<|special_3566|>",
3448
+ "<|special_3567|>",
3449
+ "<|special_3568|>",
3450
+ "<|special_3569|>",
3451
+ "<|special_3570|>",
3452
+ "<|special_3571|>",
3453
+ "<|special_3572|>",
3454
+ "<|special_3573|>",
3455
+ "<|special_3574|>",
3456
+ "<|special_3575|>",
3457
+ "<|special_3576|>",
3458
+ "<|special_3577|>",
3459
+ "<|special_3578|>",
3460
+ "<|special_3579|>",
3461
+ "<|special_3580|>",
3462
+ "<|special_3581|>",
3463
+ "<|special_3582|>",
3464
+ "<|special_3583|>",
3465
+ "<|special_3584|>",
3466
+ "<|special_3585|>",
3467
+ "<|special_3586|>",
3468
+ "<|special_3587|>",
3469
+ "<|special_3588|>",
3470
+ "<|special_3589|>",
3471
+ "<|special_3590|>",
3472
+ "<|special_3591|>",
3473
+ "<|special_3592|>",
3474
+ "<|special_3593|>",
3475
+ "<|special_3594|>",
3476
+ "<|special_3595|>",
3477
+ "<|special_3596|>",
3478
+ "<|special_3597|>",
3479
+ "<|special_3598|>",
3480
+ "<|special_3599|>",
3481
+ "<|special_3600|>",
3482
+ "<|special_3601|>",
3483
+ "<|special_3602|>",
3484
+ "<|special_3603|>",
3485
+ "<|special_3604|>",
3486
+ "<|special_3605|>",
3487
+ "<|special_3606|>",
3488
+ "<|special_3607|>",
3489
+ "<|special_3608|>",
3490
+ "<|special_3609|>",
3491
+ "<|special_3610|>",
3492
+ "<|special_3611|>",
3493
+ "<|special_3612|>",
3494
+ "<|special_3613|>",
3495
+ "<|special_3614|>",
3496
+ "<|special_3615|>",
3497
+ "<|special_3616|>",
3498
+ "<|special_3617|>",
3499
+ "<|special_3618|>",
3500
+ "<|special_3619|>",
3501
+ "<|special_3620|>",
3502
+ "<|special_3621|>",
3503
+ "<|special_3622|>",
3504
+ "<|special_3623|>",
3505
+ "<|special_3624|>",
3506
+ "<|special_3625|>",
3507
+ "<|special_3626|>",
3508
+ "<|special_3627|>",
3509
+ "<|special_3628|>",
3510
+ "<|special_3629|>",
3511
+ "<|special_3630|>",
3512
+ "<|special_3631|>",
3513
+ "<|special_3632|>",
3514
+ "<|special_3633|>",
3515
+ "<|special_3634|>",
3516
+ "<|special_3635|>",
3517
+ "<|special_3636|>",
3518
+ "<|special_3637|>",
3519
+ "<|special_3638|>",
3520
+ "<|special_3639|>",
3521
+ "<|special_3640|>",
3522
+ "<|special_3641|>",
3523
+ "<|special_3642|>",
3524
+ "<|special_3643|>",
3525
+ "<|special_3644|>",
3526
+ "<|special_3645|>",
3527
+ "<|special_3646|>",
3528
+ "<|special_3647|>",
3529
+ "<|special_3648|>",
3530
+ "<|special_3649|>",
3531
+ "<|special_3650|>",
3532
+ "<|special_3651|>",
3533
+ "<|special_3652|>",
3534
+ "<|special_3653|>",
3535
+ "<|special_3654|>",
3536
+ "<|special_3655|>",
3537
+ "<|special_3656|>",
3538
+ "<|special_3657|>",
3539
+ "<|special_3658|>",
3540
+ "<|special_3659|>",
3541
+ "<|special_3660|>",
3542
+ "<|special_3661|>",
3543
+ "<|special_3662|>",
3544
+ "<|special_3663|>",
3545
+ "<|special_3664|>",
3546
+ "<|special_3665|>",
3547
+ "<|special_3666|>",
3548
+ "<|special_3667|>",
3549
+ "<|special_3668|>",
3550
+ "<|special_3669|>",
3551
+ "<|special_3670|>",
3552
+ "<|special_3671|>",
3553
+ "<|special_3672|>",
3554
+ "<|special_3673|>",
3555
+ "<|special_3674|>",
3556
+ "<|special_3675|>",
3557
+ "<|special_3676|>",
3558
+ "<|special_3677|>",
3559
+ "<|special_3678|>",
3560
+ "<|special_3679|>",
3561
+ "<|special_3680|>",
3562
+ "<|special_3681|>",
3563
+ "<|special_3682|>",
3564
+ "<|special_3683|>",
3565
+ "<|special_3684|>",
3566
+ "<|special_3685|>",
3567
+ "<|special_3686|>",
3568
+ "<|special_3687|>",
3569
+ "<|special_3688|>",
3570
+ "<|special_3689|>",
3571
+ "<|special_3690|>",
3572
+ "<|special_3691|>",
3573
+ "<|special_3692|>",
3574
+ "<|special_3693|>",
3575
+ "<|special_3694|>",
3576
+ "<|special_3695|>",
3577
+ "<|special_3696|>",
3578
+ "<|special_3697|>",
3579
+ "<|special_3698|>",
3580
+ "<|special_3699|>",
3581
+ "<|special_3700|>",
3582
+ "<|special_3701|>",
3583
+ "<|special_3702|>",
3584
+ "<|special_3703|>",
3585
+ "<|special_3704|>",
3586
+ "<|special_3705|>",
3587
+ "<|special_3706|>",
3588
+ "<|special_3707|>",
3589
+ "<|special_3708|>",
3590
+ "<|special_3709|>",
3591
+ "<|special_3710|>",
3592
+ "<|special_3711|>",
3593
+ "<|special_3712|>",
3594
+ "<|special_3713|>",
3595
+ "<|special_3714|>",
3596
+ "<|special_3715|>",
3597
+ "<|special_3716|>",
3598
+ "<|special_3717|>",
3599
+ "<|special_3718|>",
3600
+ "<|special_3719|>",
3601
+ "<|special_3720|>",
3602
+ "<|special_3721|>",
3603
+ "<|special_3722|>",
3604
+ "<|special_3723|>",
3605
+ "<|special_3724|>",
3606
+ "<|special_3725|>",
3607
+ "<|special_3726|>",
3608
+ "<|special_3727|>",
3609
+ "<|special_3728|>",
3610
+ "<|special_3729|>",
3611
+ "<|special_3730|>",
3612
+ "<|special_3731|>",
3613
+ "<|special_3732|>",
3614
+ "<|special_3733|>",
3615
+ "<|special_3734|>",
3616
+ "<|special_3735|>",
3617
+ "<|special_3736|>",
3618
+ "<|special_3737|>",
3619
+ "<|special_3738|>",
3620
+ "<|special_3739|>",
3621
+ "<|special_3740|>",
3622
+ "<|special_3741|>",
3623
+ "<|special_3742|>",
3624
+ "<|special_3743|>",
3625
+ "<|special_3744|>",
3626
+ "<|special_3745|>",
3627
+ "<|special_3746|>",
3628
+ "<|special_3747|>",
3629
+ "<|special_3748|>",
3630
+ "<|special_3749|>",
3631
+ "<|special_3750|>",
3632
+ "<|special_3751|>",
3633
+ "<|special_3752|>",
3634
+ "<|special_3753|>",
3635
+ "<|special_3754|>",
3636
+ "<|special_3755|>",
3637
+ "<|special_3756|>",
3638
+ "<|special_3757|>",
3639
+ "<|special_3758|>",
3640
+ "<|special_3759|>",
3641
+ "<|special_3760|>",
3642
+ "<|special_3761|>",
3643
+ "<|special_3762|>",
3644
+ "<|special_3763|>",
3645
+ "<|special_3764|>",
3646
+ "<|special_3765|>",
3647
+ "<|special_3766|>",
3648
+ "<|special_3767|>",
3649
+ "<|special_3768|>",
3650
+ "<|special_3769|>",
3651
+ "<|special_3770|>",
3652
+ "<|special_3771|>",
3653
+ "<|special_3772|>",
3654
+ "<|special_3773|>",
3655
+ "<|special_3774|>",
3656
+ "<|special_3775|>",
3657
+ "<|special_3776|>",
3658
+ "<|special_3777|>",
3659
+ "<|special_3778|>",
3660
+ "<|special_3779|>",
3661
+ "<|special_3780|>",
3662
+ "<|special_3781|>",
3663
+ "<|special_3782|>",
3664
+ "<|special_3783|>",
3665
+ "<|special_3784|>",
3666
+ "<|special_3785|>",
3667
+ "<|special_3786|>",
3668
+ "<|special_3787|>",
3669
+ "<|special_3788|>",
3670
+ "<|special_3789|>",
3671
+ "<|special_3790|>",
3672
+ "<|special_3791|>",
3673
+ "<|special_3792|>",
3674
+ "<|special_3793|>",
3675
+ "<|special_3794|>",
3676
+ "<|special_3795|>",
3677
+ "<|special_3796|>",
3678
+ "<|special_3797|>",
3679
+ "<|special_3798|>",
3680
+ "<|special_3799|>",
3681
+ "<|special_3800|>",
3682
+ "<|special_3801|>",
3683
+ "<|special_3802|>",
3684
+ "<|special_3803|>",
3685
+ "<|special_3804|>",
3686
+ "<|special_3805|>",
3687
+ "<|special_3806|>",
3688
+ "<|special_3807|>",
3689
+ "<|special_3808|>",
3690
+ "<|special_3809|>",
3691
+ "<|special_3810|>",
3692
+ "<|special_3811|>",
3693
+ "<|special_3812|>",
3694
+ "<|special_3813|>",
3695
+ "<|special_3814|>",
3696
+ "<|special_3815|>",
3697
+ "<|special_3816|>",
3698
+ "<|special_3817|>",
3699
+ "<|special_3818|>",
3700
+ "<|special_3819|>",
3701
+ "<|special_3820|>",
3702
+ "<|special_3821|>",
3703
+ "<|special_3822|>",
3704
+ "<|special_3823|>",
3705
+ "<|special_3824|>",
3706
+ "<|special_3825|>",
3707
+ "<|special_3826|>",
3708
+ "<|special_3827|>",
3709
+ "<|special_3828|>",
3710
+ "<|special_3829|>",
3711
+ "<|special_3830|>",
3712
+ "<|special_3831|>",
3713
+ "<|special_3832|>",
3714
+ "<|special_3833|>",
3715
+ "<|special_3834|>",
3716
+ "<|special_3835|>",
3717
+ "<|special_3836|>",
3718
+ "<|special_3837|>",
3719
+ "<|special_3838|>",
3720
+ "<|special_3839|>",
3721
+ "<|special_3840|>",
3722
+ "<|special_3841|>",
3723
+ "<|special_3842|>",
3724
+ "<|special_3843|>",
3725
+ "<|special_3844|>",
3726
+ "<|special_3845|>",
3727
+ "<|special_3846|>",
3728
+ "<|special_3847|>",
3729
+ "<|special_3848|>",
3730
+ "<|special_3849|>",
3731
+ "<|special_3850|>",
3732
+ "<|special_3851|>",
3733
+ "<|special_3852|>",
3734
+ "<|special_3853|>",
3735
+ "<|special_3854|>",
3736
+ "<|special_3855|>",
3737
+ "<|special_3856|>",
3738
+ "<|special_3857|>",
3739
+ "<|special_3858|>",
3740
+ "<|special_3859|>",
3741
+ "<|special_3860|>",
3742
+ "<|special_3861|>",
3743
+ "<|special_3862|>",
3744
+ "<|special_3863|>",
3745
+ "<|special_3864|>",
3746
+ "<|special_3865|>",
3747
+ "<|special_3866|>",
3748
+ "<|special_3867|>",
3749
+ "<|special_3868|>",
3750
+ "<|special_3869|>",
3751
+ "<|special_3870|>",
3752
+ "<|special_3871|>",
3753
+ "<|special_3872|>",
3754
+ "<|special_3873|>",
3755
+ "<|special_3874|>",
3756
+ "<|special_3875|>",
3757
+ "<|special_3876|>",
3758
+ "<|special_3877|>",
3759
+ "<|special_3878|>",
3760
+ "<|special_3879|>",
3761
+ "<|special_3880|>",
3762
+ "<|special_3881|>",
3763
+ "<|special_3882|>",
3764
+ "<|special_3883|>",
3765
+ "<|special_3884|>",
3766
+ "<|special_3885|>",
3767
+ "<|special_3886|>",
3768
+ "<|special_3887|>",
3769
+ "<|special_3888|>",
3770
+ "<|special_3889|>",
3771
+ "<|special_3890|>",
3772
+ "<|special_3891|>",
3773
+ "<|special_3892|>",
3774
+ "<|special_3893|>",
3775
+ "<|special_3894|>",
3776
+ "<|special_3895|>",
3777
+ "<|special_3896|>",
3778
+ "<|special_3897|>",
3779
+ "<|special_3898|>",
3780
+ "<|special_3899|>",
3781
+ "<|special_3900|>",
3782
+ "<|special_3901|>",
3783
+ "<|special_3902|>",
3784
+ "<|special_3903|>",
3785
+ "<|special_3904|>",
3786
+ "<|special_3905|>",
3787
+ "<|special_3906|>",
3788
+ "<|special_3907|>",
3789
+ "<|special_3908|>",
3790
+ "<|special_3909|>",
3791
+ "<|special_3910|>",
3792
+ "<|special_3911|>",
3793
+ "<|special_3912|>",
3794
+ "<|special_3913|>",
3795
+ "<|special_3914|>",
3796
+ "<|special_3915|>",
3797
+ "<|special_3916|>",
3798
+ "<|special_3917|>",
3799
+ "<|special_3918|>",
3800
+ "<|special_3919|>",
3801
+ "<|special_3920|>",
3802
+ "<|special_3921|>",
3803
+ "<|special_3922|>",
3804
+ "<|special_3923|>",
3805
+ "<|special_3924|>",
3806
+ "<|special_3925|>",
3807
+ "<|special_3926|>",
3808
+ "<|special_3927|>",
3809
+ "<|special_3928|>",
3810
+ "<|special_3929|>",
3811
+ "<|special_3930|>",
3812
+ "<|special_3931|>",
3813
+ "<|special_3932|>",
3814
+ "<|special_3933|>",
3815
+ "<|special_3934|>",
3816
+ "<|special_3935|>",
3817
+ "<|special_3936|>",
3818
+ "<|special_3937|>",
3819
+ "<|special_3938|>",
3820
+ "<|special_3939|>",
3821
+ "<|special_3940|>",
3822
+ "<|special_3941|>",
3823
+ "<|special_3942|>",
3824
+ "<|special_3943|>",
3825
+ "<|special_3944|>",
3826
+ "<|special_3945|>",
3827
+ "<|special_3946|>",
3828
+ "<|special_3947|>",
3829
+ "<|special_3948|>",
3830
+ "<|special_3949|>",
3831
+ "<|special_3950|>",
3832
+ "<|special_3951|>",
3833
+ "<|special_3952|>",
3834
+ "<|special_3953|>",
3835
+ "<|special_3954|>",
3836
+ "<|special_3955|>",
3837
+ "<|special_3956|>",
3838
+ "<|special_3957|>",
3839
+ "<|special_3958|>",
3840
+ "<|special_3959|>",
3841
+ "<|special_3960|>",
3842
+ "<|special_3961|>",
3843
+ "<|special_3962|>",
3844
+ "<|special_3963|>",
3845
+ "<|special_3964|>",
3846
+ "<|special_3965|>",
3847
+ "<|special_3966|>",
3848
+ "<|special_3967|>",
3849
+ "<|special_3968|>",
3850
+ "<|special_3969|>",
3851
+ "<|special_3970|>",
3852
+ "<|special_3971|>",
3853
+ "<|special_3972|>",
3854
+ "<|special_3973|>",
3855
+ "<|special_3974|>",
3856
+ "<|special_3975|>",
3857
+ "<|special_3976|>",
3858
+ "<|special_3977|>",
3859
+ "<|special_3978|>",
3860
+ "<|special_3979|>",
3861
+ "<|special_3980|>",
3862
+ "<|special_3981|>",
3863
+ "<|special_3982|>",
3864
+ "<|special_3983|>",
3865
+ "<|special_3984|>",
3866
+ "<|special_3985|>",
3867
+ "<|special_3986|>",
3868
+ "<|special_3987|>",
3869
+ "<|special_3988|>",
3870
+ "<|special_3989|>",
3871
+ "<|special_3990|>",
3872
+ "<|special_3991|>",
3873
+ "<|special_3992|>",
3874
+ "<|special_3993|>",
3875
+ "<|special_3994|>",
3876
+ "<|special_3995|>",
3877
+ "<|special_3996|>",
3878
+ "<|special_3997|>",
3879
+ "<|special_3998|>",
3880
+ "<|special_3999|>",
3881
+ "<|special_4000|>",
3882
+ "<|special_4001|>",
3883
+ "<|special_4002|>",
3884
+ "<|special_4003|>",
3885
+ "<|special_4004|>",
3886
+ "<|special_4005|>",
3887
+ "<|special_4006|>",
3888
+ "<|special_4007|>",
3889
+ "<|special_4008|>",
3890
+ "<|special_4009|>",
3891
+ "<|special_4010|>",
3892
+ "<|special_4011|>",
3893
+ "<|special_4012|>",
3894
+ "<|special_4013|>",
3895
+ "<|special_4014|>",
3896
+ "<|special_4015|>",
3897
+ "<|special_4016|>",
3898
+ "<|special_4017|>",
3899
+ "<|special_4018|>",
3900
+ "<|special_4019|>",
3901
+ "<|special_4020|>",
3902
+ "<|special_4021|>",
3903
+ "<|special_4022|>",
3904
+ "<|special_4023|>",
3905
+ "<|special_4024|>",
3906
+ "<|special_4025|>",
3907
+ "<|special_4026|>",
3908
+ "<|special_4027|>",
3909
+ "<|special_4028|>",
3910
+ "<|special_4029|>",
3911
+ "<|special_4030|>",
3912
+ "<|special_4031|>",
3913
+ "<|special_4032|>",
3914
+ "<|special_4033|>",
3915
+ "<|special_4034|>",
3916
+ "<|special_4035|>",
3917
+ "<|special_4036|>",
3918
+ "<|special_4037|>",
3919
+ "<|special_4038|>",
3920
+ "<|special_4039|>",
3921
+ "<|special_4040|>",
3922
+ "<|special_4041|>",
3923
+ "<|special_4042|>",
3924
+ "<|special_4043|>",
3925
+ "<|special_4044|>",
3926
+ "<|special_4045|>",
3927
+ "<|special_4046|>",
3928
+ "<|special_4047|>",
3929
+ "<|special_4048|>",
3930
+ "<|special_4049|>",
3931
+ "<|special_4050|>",
3932
+ "<|special_4051|>",
3933
+ "<|special_4052|>",
3934
+ "<|special_4053|>",
3935
+ "<|special_4054|>",
3936
+ "<|special_4055|>",
3937
+ "<|special_4056|>",
3938
+ "<|special_4057|>",
3939
+ "<|special_4058|>",
3940
+ "<|special_4059|>",
3941
+ "<|special_4060|>",
3942
+ "<|special_4061|>",
3943
+ "<|special_4062|>",
3944
+ "<|special_4063|>",
3945
+ "<|special_4064|>",
3946
+ "<|special_4065|>",
3947
+ "<|special_4066|>",
3948
+ "<|special_4067|>",
3949
+ "<|special_4068|>",
3950
+ "<|special_4069|>",
3951
+ "<|special_4070|>",
3952
+ "<|special_4071|>",
3953
+ "<|special_4072|>",
3954
+ "<|special_4073|>",
3955
+ "<|special_4074|>",
3956
+ "<|special_4075|>",
3957
+ "<|special_4076|>",
3958
+ "<|special_4077|>",
3959
+ "<|special_4078|>",
3960
+ "<|special_4079|>",
3961
+ "<|special_4080|>",
3962
+ "<|special_4081|>",
3963
+ "<|special_4082|>",
3964
+ "<|special_4083|>",
3965
+ "<|special_4084|>",
3966
+ "<|special_4085|>",
3967
+ "<|special_4086|>",
3968
+ "<|special_4087|>",
3969
+ "<|special_4088|>",
3970
+ "<|special_4089|>",
3971
+ "<|special_4090|>",
3972
+ "<|special_4091|>",
3973
+ "<|special_4092|>",
3974
+ "<|special_4093|>",
3975
+ "<|special_4094|>",
3976
+ "<|special_4095|>"
3977
+ ],
3978
+ "bos_token": {
3979
+ "content": "<|startoftext|>",
3980
+ "lstrip": false,
3981
+ "normalized": false,
3982
+ "rstrip": false,
3983
+ "single_word": false
3984
+ },
3985
+ "eos_token": {
3986
+ "content": "<|endoftext|>",
3987
+ "lstrip": false,
3988
+ "normalized": false,
3989
+ "rstrip": false,
3990
+ "single_word": false
3991
+ },
3992
+ "pad_token": {
3993
+ "content": "<|endoftext|>",
3994
+ "lstrip": false,
3995
+ "normalized": false,
3996
+ "rstrip": false,
3997
+ "single_word": false
3998
+ },
3999
+ "unk_token": {
4000
+ "content": "<unk>",
4001
+ "lstrip": false,
4002
+ "normalized": false,
4003
+ "rstrip": false,
4004
+ "single_word": false
4005
+ }
4006
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b7a8c81670e4651cc290fbe0ab397e0357abfa933964b9b6f56f508557c04c19
3
+ size 16473485
tokenizer_config.json ADDED
The diff for this file is too large to render. See raw diff