diff --git a/CoreAIChat.xcodeproj/project.pbxproj b/CoreAIChat.xcodeproj/project.pbxproj index 58d66ef..7241795 100644 --- a/CoreAIChat.xcodeproj/project.pbxproj +++ b/CoreAIChat.xcodeproj/project.pbxproj @@ -7,7 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 25053A1B2FDB367C00BE6A46 /* CoreAILM in Frameworks */ = {isa = PBXBuildFile; productRef = 25053A1A2FDB367C00BE6A46 /* CoreAILM */; }; + 250EFA772FE19D2B00C6C26F /* CoreAILM in Frameworks */ = {isa = PBXBuildFile; productRef = 250EFA762FE19D2B00C6C26F /* CoreAILM */; }; 25538FA02FDC63CE00BD3A07 /* Icon.icon in Resources */ = {isa = PBXBuildFile; fileRef = 25538F9F2FDC63CE00BD3A07 /* Icon.icon */; }; 25F558A92FDC15D80024FCB3 /* gemma_3_4b_it_4bit_dynamic in Resources */ = {isa = PBXBuildFile; fileRef = 25F558A82FDC15D50024FCB3 /* gemma_3_4b_it_4bit_dynamic */; }; /* End PBXBuildFile section */ @@ -30,7 +30,7 @@ 2597A74E2FD874DA00808542 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; files = ( - 25053A1B2FDB367C00BE6A46 /* CoreAILM in Frameworks */, + 250EFA772FE19D2B00C6C26F /* CoreAILM in Frameworks */, ); }; /* End PBXFrameworksBuildPhase section */ @@ -72,7 +72,7 @@ ); name = CoreAIChat; packageProductDependencies = ( - 25053A1A2FDB367C00BE6A46 /* CoreAILM */, + 250EFA762FE19D2B00C6C26F /* CoreAILM */, ); productName = CoreAIChat; productReference = 2597A7512FD874DA00808542 /* CoreAIChat.app */; @@ -103,7 +103,7 @@ mainGroup = 2597A7482FD874DA00808542; minimizedProjectReferenceProxies = 1; packageReferences = ( - 25053A192FDB367C00BE6A46 /* XCRemoteSwiftPackageReference "coreai-models" */, + 250EFA752FE19D2B00C6C26F /* XCRemoteSwiftPackageReference "coreai-models" */, ); preferredProjectObjectVersion = 77; productRefGroup = 2597A7522FD874DA00808542 /* Products */; @@ -346,20 +346,20 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 25053A192FDB367C00BE6A46 /* XCRemoteSwiftPackageReference "coreai-models" */ = { + 250EFA752FE19D2B00C6C26F /* XCRemoteSwiftPackageReference "coreai-models" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/apple/coreai-models.git"; requirement = { - kind = upToNextMajorVersion; - minimumVersion = 0.1.0; + branch = main; + kind = branch; }; }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 25053A1A2FDB367C00BE6A46 /* CoreAILM */ = { + 250EFA762FE19D2B00C6C26F /* CoreAILM */ = { isa = XCSwiftPackageProductDependency; - package = 25053A192FDB367C00BE6A46 /* XCRemoteSwiftPackageReference "coreai-models" */; + package = 250EFA752FE19D2B00C6C26F /* XCRemoteSwiftPackageReference "coreai-models" */; productName = CoreAILM; }; /* End XCSwiftPackageProductDependency section */ diff --git a/README.md b/README.md index 61033e3..af0eac9 100644 --- a/README.md +++ b/README.md @@ -12,9 +12,6 @@ **Beta notice:** This project currently relies on beta versions of Apple's development tools and frameworks. Many components are still under active development, so APIs, behavior, and setup instructions may change. -**Known issue:** Due to a [tokenizer issue](https://github.com/apple/coreai-models/issues/25), the `` token is not reliably recognized when using the Gemma 3 model as shown in this example. -As a result, it may continue generating beyond the intended end of a response. Follow [Replace the generated tokenizer](#replace-the-generated-tokenizer) to apply the included workaround. - ## Setup ### Prepare the export tools @@ -69,19 +66,6 @@ gemma_3_4b_it_4bit_dynamic/ └── tokenizer/ ``` -### Replace the generated tokenizer - -The tokenizer generated for the Gemma 3 example may not reliably recognize the `` token. This repository includes a corrected tokenizer in `tokenizer_overrides/tokenizer`. - -After copying the exported model into the repository, replace its generated `tokenizer` directory from the repository root: - -```bash -rm -rf gemma_3_4b_it_4bit_dynamic/tokenizer -cp -R tokenizer_overrides/tokenizer gemma_3_4b_it_4bit_dynamic/tokenizer -``` - -The corrected tokenizer remains tracked in `tokenizer_overrides`, while the copy inside `gemma_3_4b_it_4bit_dynamic` is ignored as part of the local model files. - ### Run the app Select the `CoreAIChat` scheme in Xcode and run the app. Loading the model may take a short while, especially on the first launch. diff --git a/tokenizer_overrides/tokenizer/added_tokens.json b/tokenizer_overrides/tokenizer/added_tokens.json deleted file mode 100644 index e17bde0..0000000 --- a/tokenizer_overrides/tokenizer/added_tokens.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "": 262144 -} diff --git a/tokenizer_overrides/tokenizer/chat_template.jinja b/tokenizer_overrides/tokenizer/chat_template.jinja deleted file mode 100644 index 1117055..0000000 --- a/tokenizer_overrides/tokenizer/chat_template.jinja +++ /dev/null @@ -1,47 +0,0 @@ -{{ bos_token }} -{%- if messages[0]['role'] == 'system' -%} - {%- if messages[0]['content'] is string -%} - {%- set first_user_prefix = messages[0]['content'] + ' - -' -%} - {%- else -%} - {%- set first_user_prefix = messages[0]['content'][0]['text'] + ' - -' -%} - {%- endif -%} - {%- set loop_messages = messages[1:] -%} -{%- else -%} - {%- set first_user_prefix = "" -%} - {%- set loop_messages = messages -%} -{%- endif -%} -{%- for message in loop_messages -%} - {%- if (message['role'] == 'user') != (loop.index0 % 2 == 0) -%} - {{ raise_exception("Conversation roles must alternate user/assistant/user/assistant/...") }} - {%- endif -%} - {%- if (message['role'] == 'assistant') -%} - {%- set role = "model" -%} - {%- else -%} - {%- set role = message['role'] -%} - {%- endif -%} - {{ '' + role + ' -' + (first_user_prefix if loop.first else "") }} - {%- if message['content'] is string -%} - {{ message['content'] | trim }} - {%- elif message['content'] is iterable -%} - {%- for item in message['content'] -%} - {%- if item['type'] == 'image' -%} - {{ '' }} - {%- elif item['type'] == 'text' -%} - {{ item['text'] | trim }} - {%- endif -%} - {%- endfor -%} - {%- else -%} - {{ raise_exception("Invalid content type") }} - {%- endif -%} - {{ ' -' }} -{%- endfor -%} -{%- if add_generation_prompt -%} - {{'model -'}} -{%- endif -%} diff --git a/tokenizer_overrides/tokenizer/special_tokens_map.json b/tokenizer_overrides/tokenizer/special_tokens_map.json deleted file mode 100644 index bdd437b..0000000 --- a/tokenizer_overrides/tokenizer/special_tokens_map.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "boi_token": "", - "bos_token": { - "content": "", - "lstrip": false, - "normalized": false, - "rstrip": false, - "single_word": false - }, - "eoi_token": "", - "eos_token": { - "content": "", - "lstrip": false, - "normalized": false, - "rstrip": false, - "single_word": false - }, - "image_token": "", - "pad_token": { - "content": "", - "lstrip": false, - "normalized": false, - "rstrip": false, - "single_word": false - }, - "unk_token": { - "content": "", - "lstrip": false, - "normalized": false, - "rstrip": false, - "single_word": false - } -} diff --git a/tokenizer_overrides/tokenizer/tokenizer.json b/tokenizer_overrides/tokenizer/tokenizer.json deleted file mode 100644 index 298fb15..0000000 --- a/tokenizer_overrides/tokenizer/tokenizer.json +++ /dev/null @@ -1,2379611 +0,0 @@ -{ - "version": "1.0", - "truncation": null, - "padding": null, - "added_tokens": [ - { - "id": 0, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": true - }, - { - "id": 1, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": true - }, - { - "id": 2, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": true - }, - { - "id": 3, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": true - }, - { - "id": 4, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 5, - "content": "[multimodal]", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 6, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 7, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 8, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 9, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 10, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 11, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 12, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 13, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 14, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 15, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 16, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 17, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 18, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 19, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 20, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 21, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 22, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 23, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 24, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 25, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 26, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 27, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 28, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 29, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 30, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 31, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 32, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 33, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 34, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 35, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 36, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 37, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 38, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 39, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 40, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 41, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 42, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 43, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 44, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 45, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 46, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 47, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 48, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 49, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 50, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 51, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 52, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 53, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 54, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 55, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 56, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 57, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 58, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 59, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 60, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 61, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 62, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 63, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 64, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 65, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 66, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 67, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 68, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 69, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 70, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 71, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 72, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 73, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 74, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 75, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 76, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 77, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 78, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 79, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 80, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 81, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 82, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 83, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 84, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 85, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 86, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 87, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 88, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 89, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 90, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 91, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 92, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 93, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 94, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 95, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 96, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 97, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 98, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 99, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 100, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 101, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 102, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 103, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 104, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 105, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": true - }, - { - "id": 106, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": true - }, - { - "id": 107, - "content": "\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 108, - "content": "\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 109, - "content": "\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 110, - "content": "\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 111, - "content": "\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 112, - "content": "\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 113, - "content": "\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 114, - "content": "\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 115, - "content": "\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 116, - "content": "\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 117, - "content": "\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 118, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 119, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 120, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 121, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 122, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 123, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 124, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 125, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 126, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 127, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 128, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 129, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 130, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 131, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 132, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 133, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 134, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 135, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 136, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 137, - "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 138, - "content": "▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 139, - "content": "▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 140, - "content": "▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 141, - "content": "▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 142, - "content": "▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 143, - "content": "▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 144, - "content": "▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 145, - "content": "▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 146, - "content": "▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 147, - "content": "▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 148, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 149, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 150, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 151, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 152, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 153, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 154, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 155, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 156, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 157, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 158, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 159, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 160, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 161, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 162, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 163, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 164, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 165, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 166, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 167, - "content": "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 168, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 169, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 171, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 172, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 173, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 174, - "content": "
", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 170, - "content": "
", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 175, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 176, - "content": "
", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 177, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 178, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 179, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 180, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 181, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 182, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 183, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 184, - "content": "

", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 185, - "content": "

", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 186, - "content": "

", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 187, - "content": "

", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 188, - "content": "

", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 189, - "content": "
", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 190, - "content": "
", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 191, - "content": "
", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 192, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 193, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 194, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 195, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 196, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 197, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 198, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 199, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 200, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 201, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 202, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 203, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 204, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 205, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 206, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 207, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 208, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 209, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 210, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 211, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 212, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 213, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 214, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 215, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 216, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 217, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 218, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 219, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 220, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 221, - "content": "", - "single_word": false, - "lstrip": false, - "rstrip": false, - "normalized": false, - "special": false - }, - { - "id": 222, - "content": "