diff --git a/.gitattributes b/.gitattributes index a6344aac8c09253b3b630fb776ae94478aa0275b..37e7374ee7e5382d656ff9e10b145d2b00e360ff 100644 --- a/.gitattributes +++ b/.gitattributes @@ -33,3 +33,11 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text *tfevents* filter=lfs diff=lfs merge=lfs -text +src/privacy/util/code_detect/ner/pii_inference/nermodel/pytorch_model.bin filter=lfs diff=lfs merge=lfs -text +src/privacy/util/face_detect/face_detector/res10_300x300_ssd_iter_140000.caffemodel filter=lfs diff=lfs merge=lfs -text +src/privacy/util/model/craft_mlt_25k.pth filter=lfs diff=lfs merge=lfs -text +src/privacy/util/model/english_g2.pth filter=lfs diff=lfs merge=lfs -text +src/privacy/util/face_detect/doc/10.jpg filter=lfs diff=lfs merge=lfs -text +src/privacy/util/face_detect/doc/5.jpg filter=lfs diff=lfs merge=lfs -text +src/privacy/util/face_detect/doc/8.jpg filter=lfs diff=lfs merge=lfs -text +src/privacy/util/face_detect/doc/*.jpg filter=lfs diff=lfs merge=lfs -text diff --git a/src/.env b/src/.env new file mode 100644 index 0000000000000000000000000000000000000000..aae63f26a27ffae0f0fc082d66337fc80aa2ea17 --- /dev/null +++ b/src/.env @@ -0,0 +1 @@ +FILE_NAME = "presidio_analyzer-3.0.0-py3-none-any.whl" \ No newline at end of file diff --git a/src/imageToSave.png b/src/imageToSave.png new file mode 100644 index 0000000000000000000000000000000000000000..292957da6a680b0621013aa310777e874a8b376c Binary files /dev/null and b/src/imageToSave.png differ diff --git a/src/logger.ini b/src/logger.ini new file mode 100644 index 0000000000000000000000000000000000000000..c11b7d8ab7c41841005a646b557fe99ad98b9543 --- /dev/null +++ b/src/logger.ini @@ -0,0 +1,5 @@ +[logDetails] +LOG_LEVEL=DEBUG +FILE_NAME=projectmanagementservicelogs +VERBOSE=False +LOG_DIR=/aicloud/logs \ No newline at end of file diff --git a/src/main.py b/src/main.py new file mode 100644 index 0000000000000000000000000000000000000000..c62e00237369356cb7315c2f3afac1c478d2828a --- /dev/null +++ b/src/main.py @@ -0,0 +1,141 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' +from typing import List + + +import uvicorn +from privacy.config.logger import CustomLogger +from privacy.config.config import read_config_yaml +from fastapi import Depends, FastAPI, Request, Response +from fastapi.exceptions import RequestValidationError +from starlette.exceptions import HTTPException as StarletteHTTPException +from privacy.routing.privacy_router import router +# from starlette.middleware.cors import CORSMiddleware +# from starlette.middleware import Middleware +from fastapi.responses import JSONResponse, PlainTextResponse, Response +from fastapi.middleware.cors import CORSMiddleware + +from aicloudlibs.utils.global_exception import UnSupportedMediaTypeException +from aicloudlibs.utils import global_exception_handler + + +log=CustomLogger() +## initialize the app with openapi and docs url + +## reading metadata configuration from config file + + + +app = FastAPI(**read_config_yaml('../config/metadata.yaml')) + +""" + + Adding the CORS Middleware which handles the requests from different origins + + allow_origins - A list of origins that should be permitted to make cross-origin requests. + using ['*'] to allow any origin + allow_methods - A list of HTTP methods that should be allowed for cross-origin requests. + using ['*'] to allow all standard method + allow_headers - A list of HTTP request headers that should be supported for cross-origin requests. + using ['*'] to allow all headers +""" + +# origins = [ +# 'http://10.66.155.13', +# 'http://10.66.155.13:30010', + +# ] + + +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"] + ) + +""" +FAST API raise RequestValidationError in case request contains invalid data. +A global exception handler function to handle the requests which contains the invalid data + +""" + +# @app.options("/{rest_of_path:path}") +# async def preflight_handler(request: Request, rest_of_path: str) -> Response: +# """ +# Handles OPTIONS requests to /*. +# """ +# response = Response() +# response.headers["Access-Control-Allow-Origin"] = "*" +# response.headers["Access-Control-Allow-Methods"] = "POST, GET, DELETE, PATCH, OPTIONS" +# response.headers["Access-Control-Allow-Headers"] = "Authorization, Content-Type" +# return response + +# @app.middleware("http") +# async def add_cors_header(request , call_next): +# """ +# Sets CORS headers. +# """ +# response = await call_next(request) +# response.headers["Access-Control-Allow-Origin"] = "http://10.66.155.13:30010" +# response.headers["Access-Control-Allow-Credentials"] = "true" +# response.headers["Access-Control-Allow-Methods"] = "GET, POST, PUT, DELETE, OPTIONS" +# response.headers["Access-Control-Allow-Headers"] = "Content-Type, Authorization" +# return response + +# origins = [ +# "http://10.66.155.13", +# "http://10.66.155.13:30010", +# ] + +# app.add_middleware( +# CORSMiddleware, +# allow_origins=origins, +# allow_credentials=True, +# allow_methods=["*"], +# allow_headers=["*"], +# ) + + + + + +@app.exception_handler(RequestValidationError) +async def validation_exception_handler(request: Request, exc: RequestValidationError): + return global_exception_handler.validation_error_handler(exc) + + +""" +A global exception handler function to handle the unsupported media type exception +""" +@app.exception_handler(UnSupportedMediaTypeException) +async def unsupported_mediatype_error_handler(request: Request, exc: UnSupportedMediaTypeException): + return global_exception_handler.unsupported_mediatype_error_handler(exc) + + + +""" +A global exception handler function to handle the http exception +""" +@app.exception_handler(StarletteHTTPException) +async def http_exception_handler(request, exc): + return global_exception_handler.http_exception_handler(exc) + + + +""" +incude the routing details of service +""" + +app.include_router(router, prefix='/v1', tags=["PII Privacy"]) + +if __name__ == "__main__": + uvicorn.run(app, host="0.0.0.0", port=30002) diff --git a/src/privacy/.env b/src/privacy/.env new file mode 100644 index 0000000000000000000000000000000000000000..baf9219f617a166779719dbbe7dc150e4caf5515 --- /dev/null +++ b/src/privacy/.env @@ -0,0 +1,26 @@ +# PRIVADMIN_API = "${admin}" +# PRIVADMIN_API = "http://localhost:8080" +# PRIVADMIN_API = "http://10.66.155.13:30016" +ISDB=False + + +# PRIVADMIN_API= "http://localhost:8080/api/v1/rai/admin/PrivacyDataList" +en_core_web_lg={"lang_code": "en", "model_name": "en_core_web_lg"} +en_core_web_trf={"lang_code": "en", "model_name": "en_core_web_trf"} +PRIVACY_TELEMETRY_URL = "${privacytelemetryurl}" +PRIVACY_ERROR_URL = "${privacyerrorurl}" +PRIVADMIN_API="${adminapi}" + + +AUTH_TYPE = none # Options: azure , jwt , none +SECRET_KEY = "${secretkey}" # Secret key for JWT token +AZURE_CLIENT_ID="${azureclientid}" +AZURE_TENANT_ID="${azuretenantid}" +AZURE_AD_JWKS_URL = "${azuread_jwks_url}" + +TELE_FLAG="False" +ADMIN_CONNECTION="False" +API_KEY="${api_key}" +API_ENDPOINT="${api_endpoint}" +GCS_DEVELOPER_KEY="${gcsdeveloperkey}" + diff --git a/src/privacy/__init__.py b/src/privacy/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/__pycache__/__init__.cpython-311.pyc b/src/privacy/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8c44477ae103522f4204207e314e2a5366540207 Binary files /dev/null and b/src/privacy/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/privacy/code_generator/codegeneration.py b/src/privacy/code_generator/codegeneration.py new file mode 100644 index 0000000000000000000000000000000000000000..ae5b5c8d68797b84d6535eca3568da542c364be8 --- /dev/null +++ b/src/privacy/code_generator/codegeneration.py @@ -0,0 +1,257 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import os +import subprocess +import shutil +# from dotenv import load_dotenv +# load_dotenv() + +# def test(): +# print(os.environ) +# #test = os.environ["FILE_NAME"] +# #print(test) + +# print(os.getenv('FILE_NAME')) + + +# FILE CREATION +def create_new_recognizer_file(file_name, regex_expression): + template_file = "template_recognizer.py" # Assign the template file name directly + # Get the absolute path of the current script's directory + script_dir = os.path.dirname(os.path.abspath(__file__)) + # print(script_dir) + # Construct the full path to the template file + template_file_path = os.path.join(script_dir, template_file) + #output file path + # output_directory = os.path.join(script_dir, "..\\..\\..\\..\\presidio_analyzer\\presidio_analyzer\\Infosys_presidio_analyzer\\presidio_analyzer\\presidio_analyzer\\predefined_recognizers") + output_directory = "../../presidio_analyzer/presidio_analyzer/Infosys_presidio_analyzer/presidio_analyzer/presidio_analyzer/predefined_recognizers/" + os.makedirs(output_directory, exist_ok=True) + #new file name + new_file = f"{file_name}_recognizer.py" + #combine the path + output_path = os.path.join(output_directory, new_file) + with open(template_file_path, "r") as f: + template_content = f.read() + + # Replace the placeholder values in the template + # have to start replacing the content in the template file + # Replace the class name in the template + new_content = template_content.replace("Class_Name", file_name) + # Replace the supported_entity parameter value + supported_entity = file_name.upper() + new_content = new_content.replace('supported_entity: str = "AADHAR_NUMBER"', + f'supported_entity: str = "{supported_entity}"') + # Replacing the pattern name + new_content = new_content.replace("pattern_name", f"{file_name.lower()}_pattern") + + # Replacing the regex expression + new_content = new_content.replace("REGEX_PATTERN", regex_expression) + # Write the modified content to the new file at the specified output path + with open(output_path, "w") as f: + f.write(new_content) + print(f"Created new recognizer file: {new_file}") + +# ADDING IMPORTS IN RECOGNIZERS REGISTRY + +def modify_recognizer_registry(file_name): + script_dir = os.path.dirname(os.path.abspath(__file__)) + recognizer_registry_file = os.path.join( + script_dir, + "../../../../presidio_analyzer/presidio_analyzer/Infosys_presidio_analyzer/presidio_analyzer/presidio_analyzer/recognizer_registry/recognizer_registry.py", + ) + + # Check if the class name is already imported + with open(recognizer_registry_file, "r") as f: + lines = f.readlines() + + class_name = f"class {file_name}" + existing_lines = [line.strip().lower() for line in lines] + new_import_line = f" {file_name}," + + # Check if the class name is already imported + is_imported = any(class_name.lower() == line.lower().strip() for line in existing_lines) + + # If the class name is already imported, skip the addition + if is_imported: + print(f"Skipping addition: Import for {file_name} already exists") + return + + # Find the position to insert the new import line + import_section_start = existing_lines.index("from presidio_analyzer.predefined_recognizers import (") + 1 + import_section_end = existing_lines.index(")", import_section_start) + + en_section_start = lines.index(" \"en\": [\n") # Find the start of the 'en' section + en_section_end = lines.index(" ],\n", en_section_start) # Find the end of the 'en' section + + # Check if the import statement already exists in the 'en' section + is_imported_en = any(file_name.lower() in line.lower().strip() for line in existing_lines[en_section_start:en_section_end]) + + # If the import statement already exists in the 'en' section, skip the addition + if is_imported_en: + print(f"Skipping addition: Import for {file_name} already exists in the 'en' section") + return + + # Add the filename import to the 'en' section + lines.insert(en_section_end, f" {file_name},\n") + # Insert the new import line before the closing parenthesis + lines.insert(import_section_end, new_import_line + "\n") + + # Write the modified content back to the file + with open(recognizer_registry_file, "w") as f: + f.writelines(lines) + + print(f"Modified recognizer_registry.py: Added import for {file_name}") + + +# def modify_recognizer_registry(file_name): +# script_dir = os.path.dirname(os.path.abspath(__file__)) +# recognizer_registry_file = os.path.join(script_dir, "../Packages/presidio_analyzer/presidio_analyzer/presidio_analyzer/presidio_analyzer/presidio_analyzer/recognizer_registry/recognizer_registry.py") + +# # Check if the class name is already imported +# with open(recognizer_registry_file, "r") as f: +# lines = f.readlines() + + +# class_name = f"class {file_name}" +# existing_lines = [line.strip().lower() for line in lines] +# new_import_line = f" {file_name}," + + +# # Check if the class name is already imported +# is_imported = any(class_name.lower() == line.lower().strip() for line in existing_lines) + +# # If the class name is already imported, skip the addition +# if is_imported: +# print(f"Skipping addition: Import for {file_name} already exists") +# return + +# # Find the position to insert the new import line +# import_section_start = existing_lines.index("from presidio_analyzer.predefined_recognizers import (") + 1 +# import_section_end = existing_lines.index(")", import_section_start) +# en_section_start = lines.index(" \"en\": [\n") # Find the start of the 'en' section +# en_section_end = lines.index(" ],\n", en_section_start) # Find the end of the 'en' section +# # Add the filename import to the 'en' section +# lines.insert(en_section_end, f" {file_name},\n") +# # Insert the new import line before the closing parenthesis +# lines.insert(import_section_end, new_import_line + "\n") + +# # Write the modified content back to the file +# with open(recognizer_registry_file, "w") as f: +# f.writelines(lines) + +# print(f"Modified recognizer_registry.py: Added import for {file_name}") + +# Adding import in initpy of predefined recognizers + +def modify_init_py(file_name): + script_dir = os.path.dirname(os.path.abspath(__file__)) + init_py_file = os.path.join(script_dir, "../../../../presidio_analyzer/presidio_analyzer/Infosys_presidio_analyzer/presidio_analyzer/presidio_analyzer/predefined_recognizers/__init__.py") + + # Check if the import statement is already present + with open(init_py_file, "r") as f: + lines = f.readlines() + + import_line = f"from .{file_name}_recognizer import {file_name}\n" + + # Check if the import statement is already present, skip the addition + is_imported = any(import_line.strip() == line.strip() for line in lines) + + if is_imported: + print(f"Skipping addition: Import for {file_name} already exists in __init__.py") + return + + # Find the position to insert the new import line + import_section_end = next(i for i, line in enumerate(lines) if not line.startswith("from ")) + + # Insert the new import line after the last import statement + lines.insert(import_section_end + 1, import_line) + # Write the modified content back to the file + with open(init_py_file, "w") as f: + f.writelines(lines) + + print(f"Modified __init__.py: Added import for {file_name}") + + +# MAKING OF WHEEL FILES + + +import os + +def run_wheel_creation_commands(): + + script_dir = os.path.dirname(os.path.abspath(__file__)) + directory = os.path.join(script_dir, "../../../../presidio_analyzer/presidio_analyzer/Infosys_presidio_analyzer") + # Specify the directory where you want to run the commands + + # Change to the specified directory + os.chdir(directory) + + # Command 1: pip install pyc_wheel build + command1 = "pip install pyc_wheel build" + subprocess.run(command1, shell=True, check=True) + + # Command 2: python create_wheel_file.py + command2 = "python create_wheel_file.py" + subprocess.run(command2, shell=True, check=True) + + +def copy_wheel_file(): + script_dirsourcewheel = os.path.dirname(os.path.abspath(__file__)) + script_dirdestinationwheel = os.path.dirname(os.path.abspath(__file__)) + + source_directory = os.path.join(script_dirsourcewheel, "../../../../presidio_analyzer/presidio_analyzer/Infosys_presidio_analyzer") + # Get the path of the wheel file + source_wheel_file = os.path.join(source_directory, "dist", "presidio_analyzer-4.0.5-py3-none-any.whl") + + destination_directory = os.path.join(script_dirdestinationwheel, "../../../lib") + + # Get the path of the destination wheel file + destination_wheel_file = os.path.join(destination_directory, "presidio_analyzer-4.0.5-py3-none-any.whl") + + # Remove the destination wheel file if it already exists + if os.path.exists(destination_wheel_file): + os.remove(destination_wheel_file) + + # Copy the wheel file to the destination directory + shutil.copy2(source_wheel_file, destination_wheel_file) + + # Change to the destination directory + os.chdir(destination_directory) + + # Uninstall the previous version of presidio_analyzer + uninstall_command = "pip uninstall -y presidio_analyzer-4.0.5-py3-none-any.whl" + subprocess.run(uninstall_command, shell=True, check=True) + + # Install the new version of presidio_analyzer + install_command = "pip install presidio_analyzer-4.0.5-py3-none-any.whl" + subprocess.run(install_command, shell=True, check=True) + + print("Wheel file copied and installed successfully.") + + +# # Call the function with the specified directory +# run_wheel_creation_commands(directory) + + + + + + + + + + + + + + + + diff --git a/src/privacy/code_generator/template_recognizer.py b/src/privacy/code_generator/template_recognizer.py new file mode 100644 index 0000000000000000000000000000000000000000..5ca03d9a4b04afaf57d0dc63e851c2ed9f31c12a --- /dev/null +++ b/src/privacy/code_generator/template_recognizer.py @@ -0,0 +1,56 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +from typing import Optional, List + +from presidio_analyzer import Pattern, PatternRecognizer + + +class Class_Name(PatternRecognizer): + """ + Recognizes US bank number using regex. + + :param patterns: List of patterns to be used by this recognizer + :param context: List of context words to increase confidence in detection + :param supported_language: Language this recognizer supports + :param supported_entity: The entity this recognizer can detect + """ + + PATTERNS = [ + Pattern(name="pattern_name", regex="REGEX_PATTERN", score=0.5), + ] + + CONTEXT = [ + "bank" + # Task #603: Support keyphrases: change to "checking account" + # as part of keyphrase change + "check", + "account", + "account#", + "acct", + "save", + "debit", + ] + + def __init__( + self, + patterns: Optional[List[Pattern]] = None, + context: Optional[List[str]] = None, + supported_language: str = "en", + supported_entity: str = "Class_Name", + ): + patterns = patterns if patterns else self.PATTERNS + context = context if context else self.CONTEXT + super().__init__( + supported_entity=supported_entity, + patterns=patterns, + context=context, + supported_language=supported_language, + ) diff --git a/src/privacy/config/__init__.py b/src/privacy/config/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/config/__pycache__/__init__.cpython-311.pyc b/src/privacy/config/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..789560663657be27d53c26f3863998640481cd3e Binary files /dev/null and b/src/privacy/config/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/privacy/config/__pycache__/config.cpython-311.pyc b/src/privacy/config/__pycache__/config.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1bb26d4085dffe600bac6df813f450ea4d12157e Binary files /dev/null and b/src/privacy/config/__pycache__/config.cpython-311.pyc differ diff --git a/src/privacy/config/__pycache__/logger.cpython-311.pyc b/src/privacy/config/__pycache__/logger.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..16c7f016c5438db9a4eabea95c4681f24a68a1c1 Binary files /dev/null and b/src/privacy/config/__pycache__/logger.cpython-311.pyc differ diff --git a/src/privacy/config/config.py b/src/privacy/config/config.py new file mode 100644 index 0000000000000000000000000000000000000000..7582ee5837c4f59d600a7ebd819f365bd167c79e --- /dev/null +++ b/src/privacy/config/config.py @@ -0,0 +1,36 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +from configparser import ConfigParser +import yaml + + +def readConfig(section,filename): + # create a parser + parser = ConfigParser() + # read config file + parser.read(filename) + + # get section, default to postgresql + db = {} + if parser.has_section(section): + params = parser.items(section) + for param in params: + db[param[0]] = param[1] + else: + raise Exception('Section {0} not found in the {1} file'.format(section, filename)) + + return db + + +def read_config_yaml(filename): + with open(filename) as config_file: + config_details = yaml.safe_load(config_file) + return config_details diff --git a/src/privacy/config/logger.py b/src/privacy/config/logger.py new file mode 100644 index 0000000000000000000000000000000000000000..d25692175b1b38fe495e04085b0343dc97837134 --- /dev/null +++ b/src/privacy/config/logger.py @@ -0,0 +1,221 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import datetime +import logging +import os +import sys + +import httpx +from .config import readConfig +import http +import contextvars +# from request_id_store import request_ids + +import uuid +# class UserLogger(logging.getLoggerClass()): +# def makeRecord(self, name, level, fn, lno, msg, args, exc_info, func=None, extra=None, sinfo=None): +# if extra is None: +# extra = {} +# extra['user_id'] = self.user_id +# return super().makeRecord(name, level, fn, lno, msg, args, exc_info, func, extra, sinfo) +request_ids=[] +request_id_var = contextvars.ContextVar("request_id_var") + +class CustomLogger(logging.getLoggerClass()): + # UserLogger(__) + + # def __init__(self, user_id): + # self.user_id = user_id + # super().__init__(self) + + # def makeRecord(self, name, level, fn, lno, msg, args, exc_info, func=None, extra=None, sinfo=None): + # if extra is None: + # extra = {} + # print("self===",self) + # extra['user_id'] = self.user_id + # return super().makeRecord(name, level, fn, lno, msg, args, exc_info, func, extra, sinfo) + + for request_id in request_ids: + print("request_id400000000==========",request_id) + # print("logging.getLoggerClass()",logging.getLoggerClass()) + def __init__(self): + """Create a custom logger with the specified `name`. When `log_dir` is None, a simple + console logger is created. Otherwise, a file logger is created in addition to the console + logger. + + By default, the five standard logging levels (DEBUG through CRITICAL) only display + information in the log file if a file handler is added to the logger, but **not** to the + console. + :param name: name for the logger + :param verbose: bool: whether the logging should be verbose; if True, then all messages get + logged both to stdout and to the log file (if `log_dir` is specified); if False, then + messages only get logged to the log file (if `log_dir` is specified) + :param log_dir: str: (optional) the directory for the log file; if not present, no log file + is created + """ + + # print("self=====",self) + # Create custom logger logging all five levels + BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + log_cfg_path = os.path.join(BASE_DIR, 'logger.ini') + # print("log_cfg_path======",log_cfg_path) + log_params = readConfig('logDetails', log_cfg_path) + # print("log_params======",log_params) + + name = log_params['file_name'] + # user_id = log_params['user_id'] + try: + verbose = bool(log_params['verbose']) + except: + verbose = False + + log_dir = str(log_params['log_dir']) + + super().__init__(name) + self.setLevel(logging.DEBUG) + + # Add new logging level + logging.addLevelName(logging.INFO, 'INFO') + + # Determine verbosity settings + self.verbose = verbose + + # Create stream handler for logging to stdout (log all five levels) + self.stdout_handler = logging.StreamHandler(sys.stdout) + self.stdout_handler.setLevel(logging.DEBUG) + self.stdout_handler.setFormatter(logging.Formatter('%(message)s')) + # self.stdout_handler.setFormatter(logging.Formatter('%(user_id)s')) + self.enable_console_output() + user_id=12345 + # self.user_id =user_id + self.file_handler = None + if log_dir: + text="Hello WOrld" + # self.add_file_handler(text, log_dir) + # self.add_file_handler(user_id,log_dir) + self.add_file_handler(name, log_dir) + + + + + + + def add_file_handler(self, name, log_dir): + + """Add a file handler for this logger with the specified `name` (and store the log file + under `log_dir`).""" + # Format for file log + # heloo = "h" + # print("self=====",self.user_id) + # print("log_dir======",user_id) + # UserLogger(__name__) + # CustomLogger.user_id = 1 + fmt = '%(asctime)s | %(levelname)9s | %(filename)s:%(lineno)d | %(user_id)s | %(message)s ' + formatter = logging.Formatter(fmt) + + # Determine log path and file name; create log path if it does not exist + now = datetime.datetime.now().strftime('%Y%m%d_%H%M%S') + log_name = f'{str(name).replace(" ", "_")}_{now}' + if not os.path.exists(log_dir): + try: + os.makedirs(log_dir) + except: + print(f'{self.__class__.__name__}: Cannot create directory {log_dir}. ', + end='', file=sys.stderr) + log_dir = '/tmp' if sys.platform.startswith('linux') else '.' + print(f'Defaulting to {log_dir}.', file=sys.stderr) + + log_file = os.path.join(log_dir, log_name) + '.log' + + # Create file handler for logging to a file (log all five levels) + self.file_handler = logging.FileHandler(log_file) + self.file_handler.setLevel(logging.DEBUG) + self.file_handler.setFormatter(formatter) + self.addHandler(self.file_handler) + + def has_console_handler(self): + return len([h for h in self.handlers if type(h) == logging.StreamHandler]) > 0 + + def has_file_handler(self): + return len([h for h in self.handlers if isinstance(h, logging.FileHandler)]) > 0 + + def disable_console_output(self): + if not self.has_console_handler(): + return + self.removeHandler(self.stdout_handler) + + def enable_console_output(self): + if self.has_console_handler(): + return + self.addHandler(self.stdout_handler) + + def disable_file_output(self): + if not self.has_file_handler(): + return + self.removeHandler(self.file_handler) + + def enable_file_output(self): + if self.has_file_handler(): + return + self.addHandler(self.file_handler) + + def framework(self, msg, *args, **kwargs): + """Logging method for the FRAMEWORK level. The `msg` gets logged both to stdout and to file + (if a file handler is present), irrespective of verbosity settings.""" + return super().info(msg, *args, **kwargs) + + def _custom_log(self, func, msg, *args, **kwargs): + """Helper method for logging DEBUG through CRITICAL messages by calling the appropriate + `func()` from the base class.""" + # Log normally if verbosity is on + if self.verbose: + return func(msg, *args, **kwargs) + + # If verbosity is off and there is no file handler, there is nothing left to do + if not self.has_file_handler(): + return + + # If verbosity is off and a file handler is present, then disable stdout logging, log, and + # finally reenable stdout logging + self.disable_console_output() + func(msg, *args, **kwargs) + self.enable_console_output() + + def getSeesionId(): + # print("request_ids186=========",request_ids) + request_id = request_id_var.get() + # print("request_id=========",request_id) + + + + return request_id + + + + def debug(self, msg, *args, **kwargs ): + self._custom_log(super().debug, msg,extra = {'user_id':CustomLogger.getSeesionId()}, *args, **kwargs) + + def info(self, msg, *args, **kwargs): + self._custom_log(super().info, msg,extra = {'user_id':CustomLogger.getSeesionId()}, *args, **kwargs) + + def warning(self, msg,user_id=None, *args, **kwargs): + self._custom_log(super().warning, msg,extra = {'user_id':CustomLogger.getSeesionId()}, *args, **kwargs) + + def error(self, msg,user_id=None, *args, **kwargs): + self._custom_log(super().error, msg,extra = {'user_id':CustomLogger.getSeesionId()}, *args, **kwargs) + + def critical(self, msg,user_id=None, *args, **kwargs): + self._custom_log(super().critical, msg,extra = {'user_id':CustomLogger.getSeesionId()}, *args, **kwargs) + + +if __name__ == "__main__": + logger= CustomLogger() + diff --git a/src/privacy/constants/__init__.py b/src/privacy/constants/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/constants/__pycache__/__init__.cpython-311.pyc b/src/privacy/constants/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f3fa178bb331aa9df74e8c3bfbfcfeba570eba3d Binary files /dev/null and b/src/privacy/constants/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/privacy/constants/__pycache__/local_constants.cpython-311.pyc b/src/privacy/constants/__pycache__/local_constants.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a9a4aeabf7ce9895f2a1e370051e0ab143d0ce17 Binary files /dev/null and b/src/privacy/constants/__pycache__/local_constants.cpython-311.pyc differ diff --git a/src/privacy/constants/local_constants.py b/src/privacy/constants/local_constants.py new file mode 100644 index 0000000000000000000000000000000000000000..2f3e8b804cf7b9fab6acad51b392b58ccc261676 --- /dev/null +++ b/src/privacy/constants/local_constants.py @@ -0,0 +1,21 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +""" +fileName: local_constants.py +description: Local constants for usecase module +""" + +DELTED_SUCCESS_MESSAGE="Successfully deleted the usecase :" +USECASE_ALREADY_EXISTS= "Usecase with name PLACEHOLDER_TEXT already exists" +USECASE_NOT_FOUND_ERROR="Usecase id PLACEHOLDER_TEXT Not Found" +USECASE_NAME_VALIDATION_ERROR="Usecase name should not be empty" +SPACE_DELIMITER=" " +PLACEHOLDER_TEXT="PLACEHOLDER_TEXT" \ No newline at end of file diff --git a/src/privacy/dao/AccDataGrpMappingDb.py b/src/privacy/dao/AccDataGrpMappingDb.py new file mode 100644 index 0000000000000000000000000000000000000000..b9f2d4cb3037b6bac330ed69c65ab24900ce2e0b --- /dev/null +++ b/src/privacy/dao/AccDataGrpMappingDb.py @@ -0,0 +1,75 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import pymongo +import datetime,time +from privacy.dao.DatabaseConnection import DB +from dotenv import load_dotenv +from privacy.config.logger import CustomLogger + +load_dotenv() +log = CustomLogger() + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +mydb=DB.connect() + + +class AccDataGrpDb: + mycol = mydb["AccDataGrp"] + def findOne(id): + values=AccDataGrpDb.mycol.find({"_id":id},{})[0] + # print(values) + values=AttributeDict(values) + return values + def findall(query): + value_list=[] + values=AccDataGrpDb.mycol.find(query,{}) + for v in values: + + v=AttributeDict(v) + value_list.append(v) + return value_list + def create(value): + value=AttributeDict(value) + localTime = time.time() + mydoc = { + "_id":localTime, + "accMasterId":value.Aid, + "dataRecogGrpId":value.Did, + "isActive":"Y", + "isHashify":False, + "isCreated":"Not Started", + "CreatedDateTime": datetime.datetime.now(), + "LastUpdatedDateTime": datetime.datetime.now(), + } + PtrnRecogCreatedData = AccDataGrpDb.mycol.insert_one(mydoc) + return PtrnRecogCreatedData.acknowledged + + def update(query,value:dict): + + newvalues = { "$set": value } + + PtrnRecogUpdatedData=AccDataGrpDb.mycol.update_one(query,newvalues) + log.debug(str(newvalues)) + return PtrnRecogUpdatedData.acknowledged + + def delete(id): + return AccDataGrpDb.mycol.delete_many({"dataRecogGrpId":id}).acknowledged + # DocProcDtl.mycol.delete_many({}) + # Docpagedtl.mycol.delete_many({}) + def deleteMany(query): + return AccDataGrpDb.mycol.delete_many(query).acknowledged + + \ No newline at end of file diff --git a/src/privacy/dao/AccMasterDb.py b/src/privacy/dao/AccMasterDb.py new file mode 100644 index 0000000000000000000000000000000000000000..4ff978ff42c1ba2dd6a493b669cb4439e0b96984 --- /dev/null +++ b/src/privacy/dao/AccMasterDb.py @@ -0,0 +1,73 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import pymongo +import datetime,time +from privacy.dao.DatabaseConnection import DB +from dotenv import load_dotenv +from privacy.config.logger import CustomLogger + +load_dotenv() +log = CustomLogger() + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +mydb=DB.connect() + + +class AccMasterDb: + mycol = mydb["AccMaster"] + def findOne(id): + values=AccMasterDb.mycol.find({"_id":id},{})[0] + # print(values) + values=AttributeDict(values) + return values + def findall(query): + value_list=[] + values=AccMasterDb.mycol.find(query,{}) + for v in values: + + v=AttributeDict(v) + value_list.append(v) + return value_list + def create(value): + value=AttributeDict(value) + localTime = time.time() + mydoc = { + "_id":localTime, + "accMasterId":localTime, + "portfolio":value.AName, + "account":value.SName, + "ThresholdScore":0.85, + "isActive":"Y", + "isCreated":"Not Started", + "CreatedDateTime": datetime.datetime.now(), + "LastUpdatedDateTime": datetime.datetime.now(), + } + PtrnRecogCreatedData = AccMasterDb.mycol.insert_one(mydoc) + return PtrnRecogCreatedData.inserted_id + + def update(id,value:dict): + + newvalues = { "$set": value } + PtrnRecogUpdatedData=AccMasterDb.mycol.update_one({"_id":id},newvalues) + log.debug(str(newvalues)) + return PtrnRecogUpdatedData.acknowledged + + def delete(id): + return AccMasterDb.mycol.delete_many({"_id":id}).acknowledged + # DocProcDtl.mycol.delete_many({}) + # Docpagedtl.mycol.delete_many({}) + + \ No newline at end of file diff --git a/src/privacy/dao/AccPtrnMappingDb.py b/src/privacy/dao/AccPtrnMappingDb.py new file mode 100644 index 0000000000000000000000000000000000000000..404f60270ac9eace1fb64f99545dad681fc6f261 --- /dev/null +++ b/src/privacy/dao/AccPtrnMappingDb.py @@ -0,0 +1,71 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import pymongo +import datetime,time +from privacy.dao.DatabaseConnection import DB +from dotenv import load_dotenv +from privacy.config.logger import CustomLogger + +load_dotenv() +log = CustomLogger() + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +mydb=DB.connect() + + +class AccPtrnDb: + mycol = mydb["AccPtrn"] + def findOne(id): + values=AccPtrnDb.mycol.find({"_id":id},{})[0] + # print(values) + values=AttributeDict(values) + return values + def findall(query): + value_list=[] + values=AccPtrnDb.mycol.find(query,{}) + for v in values: + + v=AttributeDict(v) + value_list.append(v) + return value_list + def create(value): + value=AttributeDict(value) + localTime = time.time() + mydoc = { + "_id":localTime, + "accMasterId":value.Aid, + "ptrnRecId":value.Pid, + "isActive":"Y", + "isCreated":"Not Started", + "CreatedDateTime": datetime.datetime.now(), + "LastUpdatedDateTime": datetime.datetime.now(), + } + PtrnRecogCreatedData = AccPtrnDb.mycol.insert_one(mydoc) + return PtrnRecogCreatedData.inserted_id + + def update(id,value:dict): + + newvalues = { "$set": value } + PtrnRecogUpdatedData=AccPtrnDb.mycol.update_one({"_id":id},newvalues) + log.debug(str(newvalues)) + return PtrnRecogUpdatedData.acknowledged + + def delete(id): + AccPtrnDb.mycol.delete_many({"_id":id}) + # DocProcDtl.mycol.delete_many({}) + # Docpagedtl.mycol.delete_many({}) + + \ No newline at end of file diff --git a/src/privacy/dao/DataRecogdb.py b/src/privacy/dao/DataRecogdb.py new file mode 100644 index 0000000000000000000000000000000000000000..0a626fcd143cdfbabd3345ab2a7ffbd55d791d6b --- /dev/null +++ b/src/privacy/dao/DataRecogdb.py @@ -0,0 +1,78 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import pymongo +import datetime,time +from privacy.dao.DatabaseConnection import DB +from dotenv import load_dotenv +from privacy.config.logger import CustomLogger + +load_dotenv() +log = CustomLogger() + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +mydb=DB.connect() + + + +class RecogDb: + mycol = mydb["Recog"] + def findOne(id): + values=RecogDb.mycol.find({"_id":id},{})[0] + # print(values) + values=AttributeDict(values) + return values + def findall(query): + value_list=[] + values=RecogDb.mycol.find(query,{}) + for v in values: + + v=AttributeDict(v) + value_list.append(v) + return value_list + def create(value): + value=AttributeDict(value) + localTime = time.time() + mydoc = { + "_id":localTime, + "RecogId":localTime, + "RecogName":value.Name, + "supported_entity":value.entity, + "RecogType":value.type, + "Score":value.score, + "Context":value.context, + "isEditable":value.edit, + "isPreDefined":value.define, + "isActive":"Y", + "isCreated":"Not Started", + "CreatedDateTime": datetime.datetime.now(), + "LastUpdatedDateTime": datetime.datetime.now(), + } + PtrnRecogCreatedData = RecogDb.mycol.insert_one(mydoc) + return PtrnRecogCreatedData.inserted_id + + def update(id,value:dict): + + newvalues = { "$set": value } + PtrnRecogUpdatedData=RecogDb.mycol.update_one({"_id":id},newvalues) + log.debug(str(newvalues)) + return PtrnRecogUpdatedData.acknowledged + + def delete(id): + RecogDb.mycol.delete_many({"_id":id}) + # DocProcDtl.mycol.delete_many({}) + # Docpagedtl.mycol.delete_many({}) + + \ No newline at end of file diff --git a/src/privacy/dao/DatabaseConnection.py b/src/privacy/dao/DatabaseConnection.py new file mode 100644 index 0000000000000000000000000000000000000000..ada29313c2d9dc7828881611e3e2dc0642977a0a --- /dev/null +++ b/src/privacy/dao/DatabaseConnection.py @@ -0,0 +1,32 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + + +import os +import pymongo + +from dotenv import load_dotenv +from privacy.config.logger import CustomLogger +import sys +load_dotenv() + +log = CustomLogger() + + +class DB: + def connect(): + try: + myclient = pymongo.MongoClient(os.getenv("MONGO_PATH")) + mydb = myclient[os.getenv("DB_NAME")] + return mydb + except Exception as e: + log.info(str(e)) + sys.exit() + \ No newline at end of file diff --git a/src/privacy/dao/EntityDb.py b/src/privacy/dao/EntityDb.py new file mode 100644 index 0000000000000000000000000000000000000000..84bc2a4dde163a37b1d38154fb77ee56adb726a4 --- /dev/null +++ b/src/privacy/dao/EntityDb.py @@ -0,0 +1,70 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import pymongo +import datetime,time +from privacy.dao.DatabaseConnection import DB +from dotenv import load_dotenv +from privacy.config.logger import CustomLogger + +load_dotenv() +log = CustomLogger() + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +mydb=DB.connect() + + +class EntityDb: + mycol = mydb["Entity"] + def findOne(id): + values=EntityDb.mycol.find({"_id":id},{})[0] + # print(values) + values=AttributeDict(values) + return values + def findall(query): + value_list=[] + values=EntityDb.mycol.find(query,{}) + for v in values: + + v=AttributeDict(v) + value_list.append(v) + return value_list + def create(value): + value=AttributeDict(value) + localTime = time.time() + mydoc = { + "_id":localTime, + "EntityId":localTime, + "EntityName":value.Name, + "RecogId":value.dgid, + } + PtrnRecogCreatedData = EntityDb.mycol.insert_one(mydoc) + return PtrnRecogCreatedData.acknowledged + + def update(id,value:dict): + + newvalues = { "$set": value } + PtrnRecogUpdatedData=EntityDb.mycol.update_one({"_id":id},newvalues) + log.debug(str(newvalues)) + return PtrnRecogUpdatedData.acknowledged + + def delete(id): + x=EntityDb.mycol.delete_many({"_id":id}) + return x.acknowledged + # DocProcDtl.mycol.delete_many({}) + # Docpagedtl.mycol.delete_many({}) + def deleteMany(query): + x=EntityDb.mycol.delete_many(query) + return x.acknowledged \ No newline at end of file diff --git a/src/privacy/dao/TelemetryFlagDb.py b/src/privacy/dao/TelemetryFlagDb.py new file mode 100644 index 0000000000000000000000000000000000000000..864b36cf508769e507942122a2d99d306763d6b2 --- /dev/null +++ b/src/privacy/dao/TelemetryFlagDb.py @@ -0,0 +1,70 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import pymongo +import datetime,time +from privacy.dao.DatabaseConnection import DB +from dotenv import load_dotenv +from privacy.config.logger import CustomLogger + +load_dotenv() +log = CustomLogger() + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +mydb=DB.connect() + + + +class TelemetryFlag: + mycol = mydb["TelemetryFlag"] + def findOne(id): + values=TelemetryFlag.mycol.find({"_id":id},{})[0] + # print(values) + values=AttributeDict(values) + return values + def findall(query): + value_list=[] + values=TelemetryFlag.mycol.find(query,{}) + for v in values: + + v=AttributeDict(v) + value_list.append(v) + return value_list + def create(value): + value=AttributeDict(value) + localTime = time.time() + mydoc = { + "_id":localTime, + "Module":value.module, + "TelemetryFlag":False, + "CreatedDateTime": datetime.datetime.now(), + "LastUpdatedDateTime": datetime.datetime.now(), + } + PtrnRecogCreatedData = TelemetryFlag.mycol.insert_one(mydoc) + return PtrnRecogCreatedData.inserted_id + + def update(id,value:dict): + + newvalues = { "$set": value } + PtrnRecogUpdatedData=TelemetryFlag.mycol.update_one({"_id":id},newvalues) + log.debug(str(newvalues)) + return PtrnRecogUpdatedData.acknowledged + + def delete(id): + TelemetryFlag.mycol.delete_many({"_id":id}) + # DocProcDtl.mycol.delete_many({}) + # Docpagedtl.mycol.delete_many({}) + + \ No newline at end of file diff --git a/src/privacy/dao/__init__.py b/src/privacy/dao/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/dao/privacy/DatabaseConnection.py b/src/privacy/dao/privacy/DatabaseConnection.py new file mode 100644 index 0000000000000000000000000000000000000000..dddcd44ca6fe45b6b2622ae8bceb34615a54eb5f --- /dev/null +++ b/src/privacy/dao/privacy/DatabaseConnection.py @@ -0,0 +1,27 @@ +''' +© <2023> Infosys Limited, Bangalore, India. All Rights Reserved. + Version: +Except for any free or open source software components embedded in this Infosys proprietary software program (“Program”), this Program is protected by copyright laws, international treaties and other pending or existing intellectual property rights in India, the United States and other countries. Except as expressly permitted, any unauthorized reproduction, storage, transmission in any form or by any means (including without limitation electronic, mechanical, printing, photocopying, recording or otherwise), or any distribution of this Program, or any portion of it, may result in severe civil and criminal penalties, and will be prosecuted to the maximum extent possible under the law. +''' + +import os +import pymongo + +from dotenv import load_dotenv +from privacy.config.logger import CustomLogger +import sys +load_dotenv() + +log = CustomLogger() + + +class DB: + def connect(): + try: + myclient = pymongo.MongoClient(os.getenv("MONGO_PATH")) + mydb = myclient[os.getenv("PRIVACY_DB_NAME")] + return mydb + except Exception as e: + log.info(str(e)) + sys.exit() + \ No newline at end of file diff --git a/src/privacy/dao/privacy/PrivacyException.py b/src/privacy/dao/privacy/PrivacyException.py new file mode 100644 index 0000000000000000000000000000000000000000..e5438f6eb3fd21908c4eff091c5601e21a6cb4d5 --- /dev/null +++ b/src/privacy/dao/privacy/PrivacyException.py @@ -0,0 +1,67 @@ +''' +© <2023> Infosys Limited, Bangalore, India. All Rights Reserved. + Version: +Except for any free or open source software components embedded in this Infosys proprietary software program (“Program”), this Program is protected by copyright laws, international treaties and other pending or existing intellectual property rights in India, the United States and other countries. Except as expressly permitted, any unauthorized reproduction, storage, transmission in any form or by any means (including without limitation electronic, mechanical, printing, photocopying, recording or otherwise), or any distribution of this Program, or any portion of it, may result in severe civil and criminal penalties, and will be prosecuted to the maximum extent possible under the law. +''' +import pymongo +import datetime,time +from privacy.dao.privacy.DatabaseConnection import DB +from dotenv import load_dotenv +from privacy.config.logger import CustomLogger + +load_dotenv() +log = CustomLogger() + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +mydb=DB.connect() + + + +class ExceptionDb: + mycol = mydb["PrivacyException"] + def findOne(id): + values=ExceptionDb.mycol.find({"_id":id},{})[0] + # print(values) + values=AttributeDict(values) + return values + def findall(query): + value_list=[] + values=ExceptionDb.mycol.find(query,{}) + for v in values: + + v=AttributeDict(v) + value_list.append(v) + return value_list + def create(value): + value=AttributeDict(value) + localTime = time.time() + mydoc = { + "_id":localTime, + "ExceptionId":localTime, + "UUID":value.UUID, + "function":value.function, + "msg":value.msg, + "description":value.description, + "CreatedDateTime": datetime.datetime.now(), + } + PtrnRecogCreatedData = ExceptionDb.mycol.insert_one(mydoc) + return PtrnRecogCreatedData.inserted_id + + def update(id,value:dict): + + newvalues = { "$set": value } + PtrnRecogUpdatedData=ExceptionDb.mycol.update_one({"_id":id},newvalues) + log.debug(str(newvalues)) + return PtrnRecogUpdatedData.acknowledged + + def delete(id): + ExceptionDb.mycol.delete_many({"_id":id}) + # DocProcDtl.mycol.delete_many({}) + # Docpagedtl.mycol.delete_many({}) + + \ No newline at end of file diff --git a/src/privacy/dao/privacy/TelemetryDb.py b/src/privacy/dao/privacy/TelemetryDb.py new file mode 100644 index 0000000000000000000000000000000000000000..caf351b680e53147f34cc5a1bbf3c0cc1a65e4ca --- /dev/null +++ b/src/privacy/dao/privacy/TelemetryDb.py @@ -0,0 +1,70 @@ +''' +© <2023> Infosys Limited, Bangalore, India. All Rights Reserved. + Version: +Except for any free or open source software components embedded in this Infosys proprietary software program (“Program”), this Program is protected by copyright laws, international treaties and other pending or existing intellectual property rights in India, the United States and other countries. Except as expressly permitted, any unauthorized reproduction, storage, transmission in any form or by any means (including without limitation electronic, mechanical, printing, photocopying, recording or otherwise), or any distribution of this Program, or any portion of it, may result in severe civil and criminal penalties, and will be prosecuted to the maximum extent possible under the law. +''' +import pymongo +import datetime,time +from privacy.dao.privacy.DatabaseConnection import DB +from dotenv import load_dotenv +from privacy.config.logger import CustomLogger + +load_dotenv() +log = CustomLogger() + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +mydb=DB.connect() + + + +class TelemetryDb: + mycol = mydb["PrivacyTelemetry"] + def findOne(id): + values=TelemetryDb.mycol.find({"_id":id},{})[0] + # print(values) + values=AttributeDict(values) + return values + def findall(query): + value_list=[] + values=TelemetryDb.mycol.find(query,{}) + for v in values: + v=AttributeDict(v) + value_list.append(v) + return value_list + def create(value): + log.debug("Create telemetry data") + value=AttributeDict(value) + localTime = time.time() + mydoc = { + "_id":localTime, + "uniqueid":value.uniqueid, + "tenant":value.tenant, + "apiname":value.apiname, + "user":value.user, + "lotNumber": value.lotNumber, + # "exclusionList":value.exclusionList, + "date": value.date, + "request":value.request, + "response":value.response, + } + PtrnRecogCreatedData = TelemetryDb.mycol.insert_one(mydoc) + return PtrnRecogCreatedData.inserted_id + + def update(id,value:dict): + + newvalues = { "$set": value } + PtrnRecogUpdatedData=TelemetryDb.mycol.update_one({"_id":id},newvalues) + log.debug(str(newvalues)) + return PtrnRecogUpdatedData.acknowledged + + def delete(id): + TelemetryDb.mycol.delete_many({"_id":id}) + # DocProcDtl.mycol.delete_many({}) + # Docpagedtl.mycol.delete_many({}) + + \ No newline at end of file diff --git a/src/privacy/dao/temp.txt b/src/privacy/dao/temp.txt new file mode 100644 index 0000000000000000000000000000000000000000..0f8456b69f6fd7b4dd52813ef3a86098696e985d --- /dev/null +++ b/src/privacy/dao/temp.txt @@ -0,0 +1,24 @@ +fastapi +pydantic +uvicorn +certifi +FastAPI-SQLAlchemy +pip +PyYAML +pandas +python-multipart +pymongo +python-dotenv +requests +requests-file +setuptools +SQLAlchemy +starlette +typer +typing_extensions +urllib3 +wasabi +#https://huggingface.co/spacy/en_core_web_lg/resolve/main/en_core_web_lg-any-py3-none-any.whl +#../lib/presidio_analyzer-4.0.6-py3-none-any.whl +../lib/aicloudlibs-0.1.0-py3-none-any.whl +#../lib/en_core_web_lg-any-py3-none-any.whl diff --git a/src/privacy/exception/__init__.py b/src/privacy/exception/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/exception/__pycache__/__init__.cpython-311.pyc b/src/privacy/exception/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9b16d7b79376b28d3ef340ed373c2ff9fbc43538 Binary files /dev/null and b/src/privacy/exception/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/privacy/exception/__pycache__/exception.cpython-311.pyc b/src/privacy/exception/__pycache__/exception.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cd8fb76dcee7ed27b4c18f527394b9fc2b5d6127 Binary files /dev/null and b/src/privacy/exception/__pycache__/exception.cpython-311.pyc differ diff --git a/src/privacy/exception/exception.py b/src/privacy/exception/exception.py new file mode 100644 index 0000000000000000000000000000000000000000..84704a7c5d022d1c8bc3220fe246926bab45426e --- /dev/null +++ b/src/privacy/exception/exception.py @@ -0,0 +1,50 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +""" +fileName: exception.py +description: handles usecase module specific exception +""" + +import sys, traceback + +from privacy.constants.local_constants import SPACE_DELIMITER,PLACEHOLDER_TEXT,USECASE_ALREADY_EXISTS,USECASE_NOT_FOUND_ERROR,USECASE_NAME_VALIDATION_ERROR + +from aicloudlibs.constants import constants as global_constants +from abc import ABC + + +class PrivacyException(Exception, ABC): + """ + dscription: Abstract base class of UsecaseException. + """ + + def __init__(self, detail: str) -> None: + self.status_code = global_constants.HTTP_STATUS_BAD_REQUEST + super().__init__(detail) + + +class PrivacyNotFoundError(PrivacyException): + """ + description: UsecaseNotFoundError thrown by usecase service + when the requested usecase details not found for a specific user. + """ + def __init__(self,name): + self.status_code = global_constants.HTTP_STATUS_NOT_FOUND + self.detail = USECASE_NOT_FOUND_ERROR.replace(PLACEHOLDER_TEXT,name) + +class PrivacyNameNotEmptyError(PrivacyException): + """ + description: UsecaseNameNotEmptyError thrown by create usecase service + when the requested usecase details not having usecase name. + """ + def __init__(self,name): + self.status_code = global_constants.HTTP_STATUS_409_CODE + self.detail = USECASE_NAME_VALIDATION_ERROR diff --git a/src/privacy/mappers/__init__.py b/src/privacy/mappers/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/mappers/__pycache__/__init__.cpython-311.pyc b/src/privacy/mappers/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0d41eb334f234ee2d30b459d0d82b2bf934c9c87 Binary files /dev/null and b/src/privacy/mappers/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/privacy/mappers/__pycache__/mappers.cpython-311.pyc b/src/privacy/mappers/__pycache__/mappers.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ec5e9953ea8ca2bbf14185112cecb5b6a0cc9682 Binary files /dev/null and b/src/privacy/mappers/__pycache__/mappers.cpython-311.pyc differ diff --git a/src/privacy/mappers/mappers.py b/src/privacy/mappers/mappers.py new file mode 100644 index 0000000000000000000000000000000000000000..bbe42cb046fe26bd7fc6f88ccb7a9d76bc3f8aba --- /dev/null +++ b/src/privacy/mappers/mappers.py @@ -0,0 +1,177 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +""" +fileName: mappers.py +description: A Pydantic model object for usecase entity model + which maps the data model to the usecase entity schema +""" + +from pydantic import BaseModel, Field +from datetime import datetime +from typing import Optional,Union, List + +""" +description: piiEntity +params: +""" + + +class PIIEntity(BaseModel): + type: Optional[str] = Field(example="US_SSN") + beginOffset: Optional[int] = Field(example=19) + endOffset: Optional[int] = Field(example=28) + score:Optional[float]=Field(example=1.1) + responseText:Optional[str]=Field(example="012884567") + + class Config: + orm_mode = True + +class PIIItems(BaseModel): + start: Optional[int] = Field(example=19) + end: Optional[int] = Field(example=28) + entity_type: Optional[str] = Field(example="US_SSN") + text:Optional[str]=Field(example="John Smith's SSN is 012884567") + operator:Optional[str]= Field(example="encrypt") + + class Config: + orm_mode = True + +class PIIImageEntity(BaseModel): + type: str = Field(example="US_SSN") + + class Config: + orm_mode = True + +class PIIAnalyzeRequest(BaseModel): + inputText: str = Field(example="John Smith's SSN is 012884567") + # entity_type: Optional[str] = Field(example="COMPANY_NAME") + portfolio:Optional[str] = Field(example="string") + account:Optional[str] = Field(example="string") + exclusionList:Optional[str] = Field(example="Karan,Infosys") + user: Optional[str] = Field(None) + lotNumber:Optional[str] = Field(None) + +class PIIEncryptResponse(BaseModel): + text: str = Field(example="John Smith's SSN is 012884567") + items: List[PIIItems] + + class Config: + orm_mode = True + +class PIIDecryptRequest(BaseModel): + text: str = Field(example="John Smith's SSN is 012884567") + items: List[PIIItems] + +class PIIAnalyzeResponse(BaseModel): + PIIEntities: List[PIIEntity] + + class Config: + orm_mode = True + + +class PIIAnonymizeRequest(BaseModel): + inputText: str = Field(example="John Smith's SSN is 012884567") + portfolio:Optional[str] = Field(example="string") + account:Optional[str] = Field(example="string") + exclusionList:Optional[str] = Field(example="Karan,Infosys") + piiEntitiesToBeRedacted: Optional[list] = Field(example=["US_SSN"]) + redactionType: Optional[str] = Field(example='replace') + user: Optional[str] = Field(example = None) + lotNumber:Optional[str] = Field(example = None) + fakeData: Optional[bool] = Field(example = False) + + + +class PIIAnonymizeResponse(BaseModel): + anonymizedText: str = Field(example="John Smith's SSN is ") + + class Config: + orm_mode = True + +class PIIDecryptResponse(BaseModel): + decryptedText: str = Field(example="John Smith's SSN is ") + + class Config: + orm_mode = True + +#class Image +class PIIImageAnalyzeRequest(BaseModel): + class Config: + orm_mode = True + +class PIIImageAnonymizeResponse(BaseModel): + base64text: str=Field(example="kshdbfbfwbedhbaskjbakbsakjnalhbsfsfvslkjdnlkjdsnkdsbflkjsbdsklakbkdb") + + class Config: + orm_mode = True + +class PIIImageEntity(BaseModel): + type: str = Field(example="US_SSN") + + class Config: + orm_mode = True + +class PIIImageAnalyzeResponse(BaseModel): + PIIEntities: List[PIIImageEntity] + + class Config: + orm_mode = True + +class PIIMultipleImageAnalyzeResponse(BaseModel): + PIIEntities: List[List[PIIImageEntity]] + + class Config: + orm_mode = True + + + +class PIIPrivacyShieldRequest(BaseModel): + inputText: str = Field(example="John Smith's SSN is 012884567") + # entity_type: Optional[str] = Field(example="COMPANY_NAME") + portfolio:Optional[str] = Field(example="string") + account:Optional[str] = Field(example="string") + + + + + +class PrivacyShield(BaseModel): + entitiesRecognised:list = Field(example=["US_SSN"]) + entitiesConfigured :list = Field(example=["US_SSN"]) + result:str ="" + +class PIIPrivacyShieldResponse(BaseModel): + privacyCheck: List[PrivacyShield] + + class Config: + orm_mode = True + + + +class LogoHidingResponse(BaseModel): + base64text: str=Field(example="kshdbfbfwbedhbaskjbakbsakjnalhbsfsfvslkjdnlkjdsnkdsbflkjsbdsklakbkdb") + + class Config: + orm_mode = True + +class Telemetry(BaseModel): + Module:str= Field(example = "Privacy") + TelemetryFlagValue : bool = Field(example=True) + + +class TelemetryResponse(BaseModel): + result : List[Telemetry] + + class Config: + orm_mode = True + +class PIICodeDetectRequest(BaseModel): + inputText: str = Field(example="John Smith's SSN is 012884567") diff --git a/src/privacy/routing/__init__.py b/src/privacy/routing/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/routing/__pycache__/__init__.cpython-311.pyc b/src/privacy/routing/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7d78e90e85e0e4a407d116852416dcd321803668 Binary files /dev/null and b/src/privacy/routing/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/privacy/routing/__pycache__/privacy_router.cpython-311.pyc b/src/privacy/routing/__pycache__/privacy_router.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..baf184210ad6706e543d2f4be213f926df0458bf Binary files /dev/null and b/src/privacy/routing/__pycache__/privacy_router.cpython-311.pyc differ diff --git a/src/privacy/routing/privacy_router.py b/src/privacy/routing/privacy_router.py new file mode 100644 index 0000000000000000000000000000000000000000..1f37af02edabdd1e25b25172ffc3519aa7455894 --- /dev/null +++ b/src/privacy/routing/privacy_router.py @@ -0,0 +1,1747 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +from io import BytesIO +from tempfile import NamedTemporaryFile +import threading +import time +import uuid + +import requests +from privacy.util.code_detect.ner.pii_inference.netcustom import code_detect_ner +from privacy.util.code_detect.ner.CodePIINER import codeNer +# from privacy.dao.TelemetryFlagDb import TelemetryFlag +from fastapi import Depends, Query,Request,APIRouter, HTTPException, WebSocket,websockets,FastAPI,Cookie,Body +from typing import List, Union + +from privacy.service.privacytelemetryservice import PrivacyTelemetryRequest +from privacy.service.Video_service import * + +from fastapi.params import Form +from privacy.mappers.mappers import * +#from privacy.mappers.mappers import PIIEntity, PIIAnalyzeRequest, PIIAnonymizeResponse, PIIAnonymizeRequest,PIIAnalyzeResponse,PIIImageAnonymizeResponse,PIIImageAnalyzeResponse,PIIImageAnalyzeRequest + + +from privacy.service.Video_service import VideoService +# from privacy.service.logo_service import Logo +from privacy.service.code_detect_service import * +from privacy.service.excel_service import Excel + +from privacy.exception.exception import PrivacyException +from privacy.config.logger import CustomLogger + +from fastapi import FastAPI, UploadFile,File +from fastapi.responses import FileResponse +from datetime import date +import concurrent.futures +from fastapi import Request +from fastapi.responses import StreamingResponse +from privacy.util.code_detect.ner.pii_inference.netcustom import * +# from privacy.util.face_detect.mask_detect_video import mask_video +import logging +# from privacy.code_generator.codegeneration import create_new_recognizer_file,modify_recognizer_registry,modify_init_py,run_wheel_creation_commands, copy_wheel_file,test +# from privacy.dao.privacy.PrivacyException import ExceptionDb +# from privacy.dao.privacy.TelemetryDb import TelemetryDb +from privacy.service.api_req import * +from privacy.service.__init__ import * +from privacy.service.textPrivacy import TextPrivacy,Shield +from privacy.service.imagePrivacy import ImagePrivacy +from privacy.service.dicomPrivacy import DICOMPrivacy +import cv2 +import numpy as np +router = APIRouter() +# user_id=1234 +log=CustomLogger() +app = FastAPI() + +fileRouter=APIRouter() +# logger = UserLogger() + +import tracemalloc +from transformers import AutoModelForTokenClassification, AutoTokenizer +#@router.post('/privacy/text/analyze', response_model= PIIAnalyzeResponse) +today = date.today() +from datetime import datetime +import asyncio +from dotenv import load_dotenv +load_dotenv() +# import gc +import os +from uuid import UUID, uuid4 +# from fastapi_sessions.backends.implementations import InMemoryBackend +# from fastapi_sessions.frontends.implementations import SessionCookie, CookieParameters +# from request_id_store import request_ids +from privacy.config.logger import request_id_var +import traceback +from fastapi import APIRouter, HTTPException, Request, Depends +from pydantic import BaseModel +from fastapi.responses import JSONResponse +from privacy.util.auth.auth_client_id import get_auth_client_id +from privacy.util.auth.auth_jwt import get_auth_jwt +from privacy.util.auth.auth_none import get_auth_none + +# from fastapi.se + +# from fastapi_session import get_session +# returns current date and time +now = datetime.now() +# from memory_profiler import profile +# telFlagData = TelemetryFlag.findall({})[0] +# tel_Falg = telFlagData["TelemetryFlag"] +# telFlagData = TelemetryFlag.findall({"Module":"Privacy"}) +# print("Teldata==",telFlagData) +# if(len(telFlagData) == 0): + # telData = TelemetryFlag.create({"module":"Privacy"}) + # print("telData===",telData) +magMap = {"True": True, "False": False,"true": True, "false": False} +tel_Falg=os.getenv("TELE_FLAG") +tel_Falg=magMap[tel_Falg] +# tel_Falg = os.getenv("TELE_FLAG", "False") # Default to "False" if TELE_FLAG is not set +# tel_Falg = magMap.get(tel_Falg, False) # Use .get() to safely access the dictionary and default to False if the key doesn't exist +# print("===============",tel_Falg,type(tel_Falg)) +privacytelemetryurl = os.getenv("PRIVACY_TELEMETRY_URL") +privacyerrorteleurl = os.getenv("PRIVACY_ERROR_URL") + +# print("tel_falg===",tel_Falg) +# Load the model and tokenizer for CODEFILE API +local_model_directory = "privacy/util/code_detect/ner/pii_inference/nermodel" +model = AutoModelForTokenClassification.from_pretrained(local_model_directory) +tokenizer = AutoTokenizer.from_pretrained(local_model_directory, model_max_length=10000) + + + +class NoAccountException(Exception): + pass + +class NoAdminConnException(Exception): + pass + + + +## FUNCTION FOR FAIL_SAFE TELEMETRY +def send_telemetry_request(privacy_telemetry_request): + id = uuid.uuid4().hex + request_id_var.set("telemetry") + + try: + # print("==",privacy_telemetry_request) + log.debug("teleReq="+str(privacy_telemetry_request)) + + response = requests.post(privacytelemetryurl, json=privacy_telemetry_request) + # print/("===,",response) + response.raise_for_status() + response_data = response.json() + log.debug("tele data response: "+ str(response)) + # print(response_data) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"send_telemetry_requestFunction","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + + +class Telemetry: + def error_telemetry_request(errobj,id): + request_id_var.set(id) + + try: + # print("==",privacy_telemetry_request) + log.debug("teleReq="+str(errobj)) + if(tel_Falg): + + response = requests.post(privacyerrorteleurl, json=errobj) + # print("===,",response) + response.raise_for_status() + response_data = response.json() + log.debug("tele error response: "+ str(response)) + # print(response_data) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"send_telemetry_requestFunction","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + + + +# Authentication + +auth_type = os.environ.get("AUTH_TYPE") + +if auth_type == "azure": + auth = get_auth_client_id() +elif auth_type == "jwt": + auth = get_auth_jwt() + +elif auth_type == 'none': + auth = get_auth_none() +else: + raise HTTPException(status_code=500, detail="Invalid authentication type configured") + + +router = APIRouter() + + +@router.post('/privacy/text/analyze', response_model= PIIAnalyzeResponse) +# @profile +def analyze(payload: PIIAnalyzeRequest,auth= Depends(auth)): + + # gc.collect() + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered into analyze routing method" ) + + try: + log.debug("request payload: "+ str(payload)) + startTime = time.time() + log.debug("Entered into analyze function") + tracemalloc.start() + # raise Exception() + response = TextPrivacy.analyze(payload) + ApiCall.delAdminList() + tracemalloc.stop() + log.debug("Returned from analyze function") + endTime = time.time() + totalTime = endTime - startTime + + log.info("Total Time taken "+str(totalTime)) + if(response==None): + # print("Inside Raise Exception") + # return "Portfolio/Account Is Incorrect" + raise NoAccountException + # print("---",response.admin) + if(response==404): + raise NoAdminConnException + # raise HTTPException( + # status_code=430, + # detail="Portfolio/Account Is Incorrect", + # headers={"X-Error": "There goes my error"}, + + # ) + + log.debug("response : "+ str(response)) + log.info("exit create from analyze routing method") + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + log.debug("TelFlag==="+ str(tel_Falg)) + # TelemetryDb.create({"UUID":id,"tenant":"privacy","apiName":analyze.__name__,"portfolio":payload.portfolio,"accountName":payload.account,"exclusion_list":payload.exclusionList,"entityrecognised":"Text"}) + if(tel_Falg == True): + responseList = list(map(lambda obj: obj.__dict__, response.PIIEntities)) + requestList = payload.__dict__ + requestObj = { + "portfolio_name": payload.portfolio if payload.portfolio is not None else "None", + "account_name": payload.account if payload.account is not None else "None", + "inputText": requestList["inputText"], + "exclusion_list": requestList["exclusionList"].split(',') if requestList["exclusionList"] is not None else [], + } + # lotNumber = 0 # Initialize lotNumber with a default value + # if payload.lotNumber is not None: + # lotNumber = payload.lotNumber + + telemetryPayload = { + "uniqueid": id, + "tenant": "privacy", + "apiname": analyze.__name__, + "user": payload.user if payload.user is not None else "None", + "date":now.isoformat(), + "lotNumber": payload.lotNumber if payload.lotNumber is not None else "None", + # "exclusionList": payload.exclusionList, + "request": requestObj, + "response": responseList + } + # TelemetryDb.create(telemetryPayload) + + # Trigger the API call asynchronously using a separate thread + with concurrent.futures.ThreadPoolExecutor() as executor: + executor.submit(send_telemetry_request, telemetryPayload) + log.info("******TELEMETRY REQUEST COMPLETED********") + # responseprivacytelemetry = requests.post(privacytelemetryurl, json=privacy_telemetry_request.__dict__) + # gc.collect() + return response + except PrivacyException as cie: + log.debug("Exception for analyze") + log.error(cie.__dict__) + + er=[{"UUID":request_id_var.get(),"function":"textAnalyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + # + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + # ExceptionDb.create({"UUID":id,"function":"textAnalyzeRouter","msg":cie.__dict__,"description":cie.__dict__}) + # print(cie) + # print(cie.__dict__) + log.error(cie, exc_info=True) + log.info("exit create from analyze routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except NoAdminConnException: + raise HTTPException( + status_code=435, + detail=" Accounts and Portfolio not available with the Subscription!!", + headers={"X-Error": "Admin Connection is not established,"}, + ) + except Exception as e: + log.error(str(e)) + # print(error_dict) + er=[{"UUID":request_id_var.get(),"function":"textAnalyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + # + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"textAnalyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + +@router.post('/privacy/text/anonymize', response_model= PIIAnonymizeResponse) +def anonymize(payload: PIIAnonymizeRequest,auth= Depends(auth)): + + id = uuid.uuid4().hex + request_id_var.set(id) + + log.info("Entered create into anonymize routing method") + try: + # log.info("Entered create usecase routing method" ) + log.debug("request payload: "+ str(payload)) + startTime = time.time() + log.debug("Entered into anonymize function") + response = TextPrivacy.anonymize(payload) + ApiCall.delAdminList() + log.debug("Returned from anonymize function") + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + if(response==None): + raise NoAccountException + if(response==404): + raise NoAdminConnException + # raise HTTPException( + # status_code=430, + # detail="Portfolio/Account Is Incorrect", + # headers={"X-Error": "There goes my error"}, + # ) + # log.info("after invoking create usecase service ") + log.debug("response : "+ str(response)) + log.info("exit create from anonymize routing method") + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + # log.debug("Tel Flag==="+ str(tel_Falg)) + if(tel_Falg == True): + log.debug("Inside Telemetry Flag") + requestList = payload.__dict__ + requestObj = { + "portfolio_name": payload.portfolio if payload.portfolio is not None else "None", + "account_name": payload.account if payload.account is not None else "None", + "inputText": requestList["inputText"], + "exclusion_list": requestList["exclusionList"].split(',') if requestList["exclusionList"] is not None else [], + } + responseObj = { + "type": "None", + "beginOffset": 0, + "endOffset": 0, + "score": 0, + "responseText": response.anonymizedText + } + # lotNumber = 0 # Initialize lotNumber with a default value + # if payload.lotNumber is not None: + # lotNumber = payload.lotNumber + telemetryPayload = { + "uniqueid": id, + "tenant": "privacy", + "apiname": anonymize.__name__, + "user": payload.user if payload.user is not None else "None", + "date":now.isoformat(), + "lotNumber": payload.lotNumber if payload.lotNumber is not None else "None", + # "exclusionList": payload.exclusionList, + "request": requestObj, + "response": [responseObj] + } + # TelemetryDb.create(telemetryPayload) + + + # Trigger the API call asynchronously using a separate thread + + with concurrent.futures.ThreadPoolExecutor() as executor: + executor.submit(send_telemetry_request, telemetryPayload) + log.info("******TELEMETRY REQUEST COMPLETED********") + return response + except PrivacyException as cie: + log.error("Exception for anonymize") + log.error(cie.__dict__) + er=[{"UUID":id,"function":"textAnonimyzeRouter","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + # + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + log.error(cie, exc_info=True) + log.info("exit create from anonymize routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except NoAdminConnException: + raise HTTPException( + status_code=435, + detail=" Accounts and Portfolio not available with the Subscription!!", + headers={"X-Error": "Admin Connection is not established,"}, + ) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"textAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + er=[{"UUID":request_id_var.get(),"function":"textAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + # + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + +@router.post('/privacy/text/encrpyt',response_model=PIIEncryptResponse) +def encrypt(payload: PIIAnonymizeRequest,auth= Depends(auth)): + id = uuid.uuid4().hex + request_id_var.set(id) + + log.info("Entered create into encrypt routing method") + try: + log.debug("request payload: "+ str(payload)) + startTime = time.time() + log.debug("Entered into encrypt function") + response = TextPrivacy.encrypt(payload) + log.debug("Returned from encrypt function") + endTime = time.time() + totalTime = endTime - startTime + print("response=======",response) + log.info("Total Time taken "+str(totalTime)) + + if(response==None): + raise NoAccountException + + # log.debug("response : "+ str(response)) + log.info("exit create from encrypt routing method") + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + # log.debug("Tel Flag==="+ str(tel_Falg)) + if(tel_Falg == True): + log.debug("Inside Telemetry Flag") + requestList = payload.__dict__ + requestObj = { + "portfolio_name": payload.portfolio if payload.portfolio is not None else "None", + "account_name": payload.account if payload.account is not None else "None", + "inputText": requestList["inputText"], + "exclusion_list": requestList["exclusionList"].split(',') if requestList["exclusionList"] is not None else [], + } + responseObj = { + "type": "None", + "beginOffset": 0, + "endOffset": 0, + "score": 0, + "responseText": response.text + } + # lotNumber = 0 # Initialize lotNumber with a default value + # if payload.lotNumber is not None: + # lotNumber = payload.lotNumber + telemetryPayload = { + "uniqueid": id, + "tenant": "privacy", + "apiname": anonymize.__name__, + "user": payload.user if payload.user is not None else "None", + "date":now.isoformat(), + "lotNumber": payload.lotNumber if payload.lotNumber is not None else "None", + # "exclusionList": payload.exclusionList, + "request": requestObj, + "response": [responseObj] + } + # TelemetryDb.create(telemetryPayload) + + + # Trigger the API call asynchronously using a separate thread + + with concurrent.futures.ThreadPoolExecutor() as executor: + executor.submit(send_telemetry_request, telemetryPayload) + log.info("******TELEMETRY REQUEST COMPLETED********") + return response + + except PrivacyException as cie: + log.error("Exception for encrypt") + log.error(cie.__dict__) + er=[{"UUID":id,"function":"textEncryptRouter","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + # + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + log.error(cie, exc_info=True) + log.info("exit create from encrypt routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"textAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + er=[{"UUID":request_id_var.get(),"function":"textAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + +@router.post('/privacy/text/decrpyt',response_model= PIIDecryptResponse) +def decrypt(payload: PIIDecryptRequest,auth= Depends(auth)): + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into decrypt routing method") + try: + log.debug("request payload: "+ str(payload)) + startTime = time.time() + log.debug("Entered into decrypt function") + response = TextPrivacy.decryption(payload) + log.debug("Returned from decrypt function") + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + return response + except PrivacyException as cie: + log.error("Exception for decrypt") + log.error(cie.__dict__) + er=[{"UUID":id,"function":"textDecryptRouter","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + # + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + log.error(cie, exc_info=True) + log.info("exit create from decrypt routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"textAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + er=[{"UUID":request_id_var.get(),"function":"textAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + +@router.post('/privacy/image/analyze', response_model= PIIImageAnalyzeResponse) +def image_analyze(ocr: str = Query('Tesseract', enum=['Tesseract',"EasyOcr","ComputerVision"]),magnification:str=Form(...),rotationFlag:str=Form(...),image: UploadFile = File(...),portfolio:Optional[str]=Form(None),account:Optional[str]=Form(None),exclusionList:Optional[str]=Form(None),auth= Depends(auth)): + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into image_analyze routing method") + try: + + payload={"easyocr":ocr,"mag_ratio":magMap[magnification],"rotationFlag":magMap[rotationFlag],"image":image,"portfolio":portfolio,"account":account,"exclusion":exclusionList} + log.debug("Requested payload" + str(payload)) + startTime = time.time() + log.debug("Entered into image_analyze function") + response = ImagePrivacy.image_analyze(payload) + ApiCall.delAdminList() + log.debug("Returned from image_analyze function") + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + if(response==None): + raise NoAccountException + if(response==404): + raise NoAdminConnException + # raise HTTPException( + # status_code=430, + # detail="Portfolio/Account Is Incorrect", + # headers={"X-Error": "There goes my error"}, + # ) + + log.info("exit create from image_analyze routing method") + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + log.debug("tel_Flag==="+str(tel_Falg)) + # responseList = list(map(lambda obj: obj.__dict__, response.PIIEntities)) + # requestList = payload.__dict__ + if(tel_Falg == True): + log.debug("Inside Telemetry Flag") + # telemetryPayload = { + # "uniqueid": id, + # "tenant": "privacy", + # "apiName": image_analyze.__name__, + # # "portfolio": portfolio, + # # "accountName": account, + # # "exclusion_list": exclusionList, + # "request": requestList, + # "response": responseList + # } + # TelemetryDb.create(telemetryPayload) + + # Trigger the API call asynchronously using a separate thread + # with concurrent.futures.ThreadPoolExecutor() as executor: + # executor.submit(send_telemetry_request, privacy_telemetry_request) + log.info("******TELEMETRY REQUEST COMPLETED********") + return response + + except PrivacyException as cie: + log.error("Exception for image_analyze") + log.error(cie.__dict__) + # ExceptionDb.create({"UUID":id,"function":"imageAnalyzeRouter","msg":cie.__dict__,"description":cie.__dict__}) + er=[{"UUID":request_id_var.get(),"function":"imageAnalyzeRouter","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + log.error(cie, exc_info=True) + log.info("exit create from image_analyze routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except NoAdminConnException: + raise HTTPException( + status_code=435, + detail=" Accounts and Portfolio not available with the Subscription!!", + headers={"X-Error": "Admin Connection is not established,"}, + ) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"imageAnalyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + er=[{"UUID":request_id_var.get(),"function":"imageAnalyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + +@router.post('/privacy/image/anonymize') +def image_anonymize(ocr: str = Query('Tesseract', enum=['Tesseract',"EasyOcr","ComputerVision"]),magnification:str=Form(...),rotationFlag:str=Form(...),image: UploadFile = File(...),portfolio:Optional[str]=Form(None),account:Optional[str]=Form(None),exclusionList:Optional[str]=Form(None),auth= Depends(auth)): + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into image_anonymize routing method" ) + try: + + payload={"easyocr":ocr,"mag_ratio":magMap[magnification],"rotationFlag":magMap[rotationFlag],"image":image,"portfolio":portfolio,"account":account,"exclusion":exclusionList} + log.debug("Payload:"+str(payload)) + startTime = time.time() + log.debug("Entered into image_anonymize function") + response = ImagePrivacy.image_anonymize(payload) + ApiCall.delAdminList() + log.debug("Returned from image_anonymize function") + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + if(response==None): + raise NoAccountException + if(response==404): + raise NoAdminConnException + # raise HTTPException( + # status_code=430, + # detail="Portfolio/Account Is Incorrect", + # headers={"X-Error": "There goes my error"}, + # ) + + + log.info("exit create from image_anonymize routing method") + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + log.debug("tel_Flag==="+str(tel_Falg)) + # responseList = list(map(lambda obj: obj.__dict__, response.PIIEntities)) + # requestList = payload.__dict__ + if(tel_Falg == True): + log.debug("Inside Telemetry Flag") + # telemetryPayload = { + # "uniqueid": id, + # "tenant": "privacy", + # "apiName": image_anonymize.__name__, + # # "portfolio": portfolio, + # # "accountName": account, + # # "exclusion_list": exclusionList, + # "request": requestList, + # "response": responseList + # } + # TelemetryDb.create(telemetryPayload) + + # Trigger the API call asynchronously using a separate thread + # with concurrent.futures.ThreadPoolExecutor() as executor: + # executor.submit(send_telemetry_request, privacy_telemetry_request) + log.info("******TELEMETRY REQUEST COMPLETED********") + return response + + except PrivacyException as cie: + log.error("Exception for image_anonymize") + log.error(cie.__dict__) + # ExceptionDb.create({"UUID":id,"function":"imageAnonimyzeRouter","msg":cie.__dict__,"description":cie.__dict__}) + er=[{"UUID":request_id_var.get(),"function":"imageAnonimyzeRouter","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + log.error(cie, exc_info=True) + log.info("exit create usecase routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except NoAdminConnException: + raise HTTPException( + status_code=435, + detail=" Accounts and Portfolio not available with the Subscription!!", + headers={"X-Error": "Admin Connection is not established,"}, + ) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"imageAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + er=[{"UUID":request_id_var.get(),"function":"imageAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + +@router.post('/privacy/image/masking') +async def image_mask(media: UploadFile = File(...), template: UploadFile = File(...),auth= Depends(auth)): + try: + # log.info("before invoking create usecase service ") + main_image_content = await media.read() + nparr = np.fromstring(main_image_content, np.uint8) + main_image = cv2.imdecode(nparr, cv2.IMREAD_COLOR) + + template_image_content = await template.read() + nparr = np.fromstring(template_image_content, np.uint8) + template_image = cv2.imdecode(nparr, cv2.IMREAD_COLOR) + if template_image.shape[0] > main_image.shape[0] or template_image.shape[1] > main_image.shape[1]: + raise HTTPException(status_code=400, detail ="Mask image must be smaller or equal in size to the main image") + response = await ImagePrivacy.image_masking(main_image,template_image) + # log.info("after invoking image masking service") + is_success, buffer = cv2.imencode(".png", response) + + # Create a StreamingResponse from the image buffer + return StreamingResponse(io.BytesIO(buffer.tobytes()), media_type="image/png") + except PrivacyException as cie: + log.error(cie.__dict__) + log.info("exit create usecase routing method") + raise HTTPException(**cie.__dict__) +# @router.post('/privacy/pii/image/anonymize/zip') #########@#@@#@#$@ +# def image_anonymize(payload: UploadFile): +# try: +# log.info("Entered create usecase routing method" ) +# response = service.zipimage_anonymize(payload) +# if(response==None): +# raise HTTPException( +# status_code=430, +# detail="Portfolio/Account Is Incorrect", +# headers={"X-Error": "There goes my error"}, +# ) +# log.info("after invoking create usecase service ") + +# log.info("exit create usecase routing method") +# return response + +# except PrivacyException as cie: +# log.error(cie.__dict__) +# log.info("exit create usecase routing method") +# raise HTTPException(**cie.__dict__) + + +# @router.post('/privacy/pii/image/anonymize/multiple') +# def image_anonymize(payload: List[UploadFile] = File(...)): +# try: +# log.info("Entered create usecase routing method" ) +# response=[] +# for image in payload: +# response.append(service.image_anonymize(image)) + +# log.info("after invoking create usecase service ") + +# log.info("exit create usecase routing method") +# return response + +# except PrivacyException as cie: +# log.error(cie.__dict__) +# log.info("exit create usecase routing method") +# raise HTTPException(**cie.__dict__) + +# @router.post('/privacy/pii/image/analyze/multiple')#,response_model=PIIMultipleImageAnalyzeResponse) +# def image_analyze(payload: List[UploadFile] = File(...)): +# try: +# log.info("Entered create usecase routing method" ) +# response=[] +# for image in payload: +# response.append(service.temp(image)) + +# log.info("after invoking create usecase service ") + +# log.info("exit create usecase routing method") +# return response + +# except PrivacyException as cie: +# log.error(cie.__dict__) +# log.info("exit create usecase routing method") +# raise HTTPException(**cie.__dict__) + + +@router.post('/privacy/image/verify') +def image_verify(image: UploadFile = File(...),portfolio:Optional[str]=Form(None),account:Optional[str]=Form(None),exclusionList:Optional[str]=Form(None),auth= Depends(auth)): + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into image_verify routing method" ) + try: + payload={"image":image,"portfolio":portfolio,"account":account,"exclusion":exclusionList} + log.debug("request payload: "+str(payload)) + startTime = time.time() + log.debug("Entered into image_verify function") + response = ImagePrivacy.image_verify(payload) + ApiCall.delAdminList() + log.debug("Returned from image_verify function") + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + if(response==None): + raise NoAccountException + if(response==404): + raise NoAdminConnException + # raise HTTPException( + # status_code=430, + # detail="Portfolio/Account Is Incorrect", + # headers={"X-Error": "There goes my error"}, + # ) + + + log.info("exit create from image_verify routing method") + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + log.debug("tel_Flag==="+ str(tel_Falg)) + # responseList = list(map(lambda obj: obj.__dict__, response.PIIEntities)) + if(tel_Falg == True): + log.debug("Inside Telemetry Flag") + # telemetryPayload = { + # "uniqueid": id, + # "tenant": "privacy", + # "apiName": image_verify.__name__, + # # "portfolio": portfolio, + # # "accountName": account, + # # "exclusion_list": exclusionList, + # "request": payload, + # "response": response + # } + # TelemetryDb.create(telemetryPayload) + + # Trigger the API call asynchronously using a separate thread + # with concurrent.futures.ThreadPoolExecutor() as executor: + # executor.submit(send_telemetry_request, privacy_telemetry_request) + log.info("******TELEMETRY REQUEST COMPLETED********") + return response + + except PrivacyException as cie: + log.error("Exception for image_verify") + log.error(cie.__dict__) + # ExceptionDb.create({"UUID":id,"function":"imageVerifyRouter","msg":cie.__dict__,"description":cie.__dict__}) + er=[{"UUID":request_id_var.get(),"function":"imageVerifyRouter","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + log.error(cie, exc_info=True) + log.info("exit create from image_verify routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except NoAdminConnException: + raise HTTPException( + status_code=435, + detail=" Accounts and Portfolio not available with the Subscription!!", + headers={"X-Error": "Admin Connection is not established,"}, + ) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"imageVerifyRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + er=[{"UUID":request_id_var.get(),"function":"imageVerifyRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + + +@router.post('/privacy/image/hashify') +def image_hashify(ocr: str = Query('Tesseract', enum=['Tesseract',"EasyOcr","ComputerVision"]),magnification:str=Form(...),rotationFlag:str=Form(...),image: UploadFile = File(...),portfolio:Optional[str]=Form(None),account:Optional[str]=Form(None),exclusionList:Optional[str]=Form(None),auth= Depends(auth)): + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into imageEncryption routing method" ) + try: + payload={"easyocr":ocr,"mag_ratio":magMap[magnification],"rotationFlag":magMap[rotationFlag],"image":image,"portfolio":portfolio,"account":account,"exclusion":exclusionList} + log.debug("request payload: "+str(payload)) + startTime = time.time() + log.debug("Entered into imageEncryption function") + response = ImagePrivacy.imageEncryption(payload) + ApiCall.delAdminList() + log.debug("Returned from imageEncryption function") + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + if(response==None): + raise NoAccountException + if(response==404): + raise NoAdminConnException + # raise HTTPException( + # status_code=430, + # detail="Portfolio/Account Is Incorrect", + # headers={"X-Error": "There goes my error"}, + # ) + log.info("exit create from into imageEncryption routing method") + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + log.debug("tel_Flag==="+str(tel_Falg)) + # requestList = payload.__dict__ + if(tel_Falg == True): + log.debug("Inside Telemetry Flag") + # telemetryPayload = { + # "uniqueid": id, + # "tenant": "privacy", + # "apiName": image_verify.__name__, + # # "portfolio": portfolio, + # # "accountName": account, + # # "exclusion_list": exclusionList, + # "request": requestList, + # "response": response + # } + # TelemetryDb.create(telemetryPayload) + + # Trigger the API call asynchronously using a separate thread + # with concurrent.futures.ThreadPoolExecutor() as executor: + # executor.submit(send_telemetry_request, privacy_telemetry_request) + log.info("******TELEMETRY REQUEST COMPLETED********") + return response + + except PrivacyException as cie: + log.error("Exception for imageEncryption") + log.error(cie.__dict__) + # ExceptionDb.create({"UUID":id,"function":"imageHashifyRouter","msg":cie.__dict__,"description":cie.__dict__}) + er=[{"UUID":request_id_var.get(),"function":"imageHashifyRouter","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + log.error(cie, exc_info=True) + log.info("exit create usecase routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except NoAdminConnException: + raise HTTPException( + status_code=435, + detail=" Accounts and Portfolio not available with the Subscription!!", + headers={"X-Error": "Admin Connection is not established,"}, + ) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"imageHashifyRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + er=[{"UUID":request_id_var.get(),"function":"imageHashifyRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + + + +@router.post('/privacy/privacyShield', response_model= PIIPrivacyShieldResponse) +def privacy_shield(payload: PIIPrivacyShieldRequest,auth= Depends(auth)): + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into privacyShield routing method") + try: + # log.info("Entered create usecase routing method" ) + log.debug("request payload: "+ str(payload)) + startTime = time.time() + log.debug("Entered into privacyShield function") + response = Shield.privacyShield(payload) + ApiCall.delAdminList() + log.debug("Returned from privacyShield function") + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + if(response==None): + raise NoAccountException + if(response==404): + raise NoAdminConnException + # raise HTTPException( + # status_code=430, + # detail="Portfolio/Account Is Incorrect", + # headers={"X-Error": "There goes my error"}, + # ) + # log.info("after invoking create usecase service ") + log.debug("response : "+ str(response)) + log.info("exit create from privacyShield routing method") + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + log.debug("tel_Flag==="+str(tel_Falg)) + # responseList = response.privacyCheck + # requestList = payload.__dict__ + if(tel_Falg == True): + log.debug("Inside Telemetry Flag") + # telemetryPayload = { + # "uniqueid": id, + # "tenant": "privacy", + # "apiName": "privacyshield", + # # "portfolio": payload.portfolio, + # # "accountName": payload.account, + # # "exclusion_list": "None", + # "request": requestList, + # "response": responseList + # } + # TelemetryDb.create(telemetryPayload) + + # Trigger the API call asynchronously using a separate thread + # with concurrent.futures.ThreadPoolExecutor() as executor: + # executor.submit(send_telemetry_request, privacy_telemetry_request) + log.info("******TELEMETRY REQUEST COMPLETED********") + return response + except PrivacyException as cie: + log.error("Exception for privacyShield") + log.error(cie.__dict__) + # ExceptionDb.create({"UUID":id,"function":"privacyShield","msg":cie.__dict__,"description":cie.__dict__}) + er=[{"UUID":request_id_var.get(),"function":"privacyShield","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + log.error(cie, exc_info=True) + log.info("exit create from privacyShield routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except NoAdminConnException: + raise HTTPException( + status_code=435, + detail=" Accounts and Portfolio not available with the Subscription!!", + headers={"X-Error": "Admin Connection is not established,"}, + ) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"privacyShield","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + er=[{"UUID":request_id_var.get(),"function":"privacyShield","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + +# from privacy.service.dicom_service import DICOM +# @router.get('/privacy/pii/dicom/anonymize') +# def image_anonymize(): +# try: +# log.info("Entered create usecase routing method" ) +# # payload={"image":image,"portfolio":portfolio,"account":account,"exclusion":exclusionList} +# # log.info(str(payload)) +# # response = service.image_anonymize(payload) +# response=DICOM.dicomReader() +# # print(response) + +# # if(response==None): +# # raise HTTPException( +# # status_code=430, +# # detail="Portfolio/Account Is Incorrect", +# # headers={"X-Error": "There goes my error"}, +# # ) +# log.info("after invoking create usecase service ") + +# log.info("exit create usecase routing method") +# return response + +# except PrivacyException as cie: +# log.error(cie.__dict__) +# log.info("exit create usecase routing method") +# raise HTTPException(**cie.__dict__) + + +@router.post('/privacy/dicom/anonymize') +def dicom_anonymize(payload: UploadFile = File(...),auth= Depends(auth)): + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into readDicom routing method" ) + try: + # payload={"image":image,"portfolio":portfolio,"account":account,"exclusion":exclusionList} + startTime = time.time() + log.debug("Entered into readDicom function") + response =DICOMPrivacy.readDicom(payload) + log.debug("Returned from readDicom function") + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + if(response==None): + raise NoAccountException + if(response==404): + raise NoAdminConnException + # raise HTTPException( + # status_code=430, + # detail="Portfolio/Account Is Incorrect", + # headers={"X-Error": "There goes my error"}, + # ) + + + log.info("exit create from readDicom routing method") + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + log.debug("tel_Flag==="+str(tel_Falg)) + # responseList = list(map(lambda obj: obj.__dict__, response.PIIEntities)) + # requestList = payload.__dict__ + if(tel_Falg == True): + log.debug("Inside Telemetry Flag") + # telemetryPayload = { + # "uniqueid": id, + # "tenant": "privacy", + # "apiName": "DICOMIMAGE", + # # "portfolio": "None", + # # "accountName": "None", + # # "exclusion_list": "None", + # "request": requestList, + # "response": responseList + # } + # TelemetryDb.create(telemetryPayload) + + # Trigger the API call asynchronously using a separate thread + # with concurrent.futures.ThreadPoolExecutor() as executor: + # executor.submit(send_telemetry_request, privacy_telemetry_request) + log.info("******TELEMETRY REQUEST COMPLETED********") + return response + + except PrivacyException as cie: + log.error("Exception for readDicom") + log.error(cie.__dict__) + # ExceptionDb.create({"UUID":id,"function":"DICOMAnonimyzeRouter","msg":cie.__dict__,"description":cie.__dict__}) + er=[{"UUID":request_id_var.get(),"function":"DICOMAnonimyzeRouter","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + log.error(cie, exc_info=True) + log.info("exit create from readDicom routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except NoAdminConnException: + raise HTTPException( + status_code=435, + detail=" Accounts and Portfolio not available with the Subscription!!", + headers={"X-Error": "Admin Connection is not established,"}, + ) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"DICOMAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + er=[{"UUID":request_id_var.get(),"function":"DICOMAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + +@fileRouter.post('/privacy-files/excel/anonymize') +def logo_anonymize(excel: UploadFile = File(...),auth= Depends(auth)): + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into excelanonymize routing method" ) + try: + payload={"excel":excel} + print("payload==",payload) + # print("type==",excel.file.content_type) + startTime = time.time() + log.debug("Entered into excelanonymize function") + response = Excel.excelanonymize(payload) + log.debug("Returned from excelanonymize function") + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + if(response==None): + raise NoAccountException + if(response==404): + raise NoAdminConnException + + # raise HTTPException( + # status_code=430, + # detail="Portfolio/Account Is Incorrect", + # headers={"X-Error": "There goes my error"}, + # ) + + log.info("exit create from excelanonymize routing method") + log.debug("response===="+str(response)) + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + log.debug("tel_Flag==="+str(tel_Falg)) + # responseList = list(map(lambda obj: obj.__dict__, response.PIIEntities)) + # requestList = payload.__dict__ + if(tel_Falg == True): + log.debug("Inside Telemetry Flag") + # telemetryPayload = { + # "uniqueid": id, + # "tenant": "privacy", + # "apiName": "Excel_Anonymize", + # # "portfolio": "None", + # # "accountName": "None", + # # "exclusion_list": "None", + # "request": requestList, + # "response": responseList + # } + # TelemetryDb.create(telemetryPayload) + + # Trigger the API call asynchronously using a separate thread + # with concurrent.futures.ThreadPoolExecutor() as executor: + # executor.submit(send_telemetry_request, privacy_telemetry_request) + log.info("******TELEMETRY REQUEST COMPLETED********") + return FileResponse(response,media_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") + # return response + + except PrivacyException as cie: + log.error("Exception for excelanonymize") + log.error(cie.__dict__) + # ExceptionDb.create({"UUID":id,"function":"excelAnonimyzeRouter","msg":cie.__dict__,"description":cie.__dict__}) + er=[{"UUID":request_id_var.get(),"function":"excelAnonimyzeRouter","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + log.error(cie, exc_info=True) + log.info("exit create usecase routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except NoAdminConnException: + raise HTTPException( + status_code=435, + detail=" Accounts and Portfolio not available with the Subscription!!", + headers={"X-Error": "Admin Connection is not established,"}, + ) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"excelAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + er=[{"UUID":request_id_var.get(),"function":"excelAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + +## PAYLOAD CHANGED TO ACCEPT TEXT IN A STRUCTURED FORMAT AND GET RESPONSE FOR THE SAME +from starlette.responses import PlainTextResponse +@router.post('/privacy/code/anonymize',response_class=PlainTextResponse) +async def code_redaction(payload_text: str = Body(..., media_type="text/plain", description="The code to be anonymized"),auth= Depends(auth)): + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into textner routing method") + try: + log.debug("payload==" + str(payload_text)) + + startTime = time.time() + log.debug("Entered into textner function") + response = codeNer.codeText(payload_text,model, tokenizer) + log.debug("Returned from textner function") + + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken " + str(totalTime)) + log.debug("response" + str(response)) + + if response is None: + raise NoAccountException + + log.info("exit create from textner routing method") + # Return the response as plain text, maintaining the format + return PlainTextResponse(content=response) + except PrivacyException as cie: + log.error("Exception for code anonymize") + raise cie + +from io import BytesIO + +@router.post('/privacy/codefile/anonymize') +async def code_anonymize(code_file: UploadFile = File(...)): + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into filener routing method" ) + try: + # Read the file content from the UploadFile object + code_content = await code_file.read() + print("code_content==",code_content) + # Perform code redaction + startTime = time.time() + log.debug("Entered into filener function") + redacted_content, output_code_file = codeNer.codeFile(code_content, code_file.filename,model, tokenizer) + log.debug("Returned from filener function") + if isinstance(redacted_content, str): + redacted_content = redacted_content.encode('utf-8') + print(redacted_content,"REDACTED CONTENT") + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + headers = { + "Content-Disposition": f"attachment; filename={output_code_file}", + "Access-Control-Expose-Headers": "Content-Disposition" + } + + # Delete the uploaded file + await code_file.close() + # filepath = os.path.join('', code_file.filename) + output_code_file = os.path.splitext(code_file.filename)[0] + "_redacted" + os.path.splitext(code_file.filename)[1] + os.remove(output_code_file) + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + # responseList = list(map(lambda obj: obj.__dict__, response.PIIEntities)) + # requestList = payload.__dict__ + if(tel_Falg == True): + log.debug("Inside Telemetry Flag") + # telemetryPayload = { + # "uniqueid": id, + # "tenant": "privacy", + # "apiName": code_anonymize.__name__, + # # "portfolio": "None", + # # "accountName": "None", + # # "exclusion_list": "None", + # "request": requestList, + # "response": responseList + # } + # TelemetryDb.create(telemetryPayload) + + # Trigger the API call asynchronously using a separate thread + # with concurrent.futures.ThreadPoolExecutor() as executor: + # executor.submit(send_telemetry_request, privacy_telemetry_request) + log.info("******TELEMETRY REQUEST COMPLETED********") + + # Return the redacted code content as a response with the correct filename + return StreamingResponse(BytesIO(redacted_content), media_type="application/octet-stream", headers=headers) + except PrivacyException as cie: + log.error("Exception for filener") + log.error(cie, exc_info=True) + # ExceptionDb.create({"UUID":id,"function":"codeFileAnonimyzeRouter","msg":cie.__dict__,"description":cie.__dict__}) + er=[{"UUID":request_id_var.get(),"function":"codeFileAnonimyzeRouter","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise cie + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"codeFileAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + er=[{"UUID":request_id_var.get(),"function":"codeFileAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + + + + +# # from privacy.service.test import Test +# @router.get('/privacy/pii/video/anonymizea') +# async def image_analyze(): +# try: +# log.info("Entered create usecase routing method" ) +# # payload={"image":image,"portfolio":portfolio,"account":account,"exclusion":exclusionList} +# # response =VideoAnalyzer.anonymize(payload) +# # print(response) +# # if(response==None): +# # raise HTTPException( +# # status_code=430, +# # detail="Portfolio/Account Is Incorrect", +# # headers={"X-Error": "There goes my error"}, +# # ) +# # log.info("after invoking create usecase service ") +# # x=[] +# x=Test.work() +# # for i in x: +# # print(i) +# # log.info("exit create usecase routing method") +# return StreamingResponse(x,media_type="plain/text") + + +# except PrivacyException as cie: +# log.error(cie.__dict__) +# log.info("exit create usecase routing method") +# raise HTTPException(**cie.__dict__) +# app=FastAPI() +# cc=set() +# @app.websocket("/ws") +# async def check(websocket:WebSocket): +# await websocket.accept() +# cc.add(websocket) +# try: +# while True: +# m="asdasdasdasdasd" +# await websocket.send_text(m) +# await asyncio.sleep(1) +# except: +# cc.remove(websocket) + + + +from privacy.service.diffrentialPrivacy import DiffPrivacy +@router.post('/privacy/DifferentialPrivacy/file') +def diff_privacy_file(dataset: UploadFile = File(...),auth= Depends(auth)): + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into uploadFIle routing method" ) + try: + # payload={"excel":excel} + # print("payload==",payload) + # print("type==",excel.file.content_type) + startTime = time.time() + log.debug("Entered into uploadFIle function") + response = DiffPrivacy.uploadFIle(dataset) + log.debug("Returned from uploadFIle function") + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + if(response==None): + raise NoAccountException + # raise HTTPException( + # status_code=430, + # detail="Portfolio/Account Is Incorrect", + # headers={"X-Error": "There goes my error"}, + # ) + # log.info("after invoking create usecase service ") + + log.info("exit create from uploadFIle routing method") + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + # print("tel_Flag===",tel_Falg) + # if(tel_Falg == True): + # print("Inside Telemetry Flag") + # + # # Trigger the API call asynchronously using a separate thread + # with concurrent.futures.ThreadPoolExecutor() as executor: + # executor.submit(send_telemetry_request, privacy_telemetry_request) + return response + except PrivacyException as cie: + log.error("Exception for uploadFIle") + log.error(cie.__dict__) + # ExceptionDb.create({"UUID":id,"function":"diffPrivacyFileRouter","msg":cie.__dict__,"description":cie.__dict__}) + er=[{"UUID":request_id_var.get(),"function":"diffPrivacyFileRouter","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + log.error(cie, exc_info=True) + log.info("exit create from uploadFIle routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"diffPrivacyFileRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + er=[{"UUID":request_id_var.get(),"function":"diffPrivacyFileRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + +from privacy.service.diffrentialPrivacy import DiffPrivacy +@router.post('/privacy/DifferentialPrivacy/anonymize') +def diff_privacy_anonymize(suppression:Optional[str]=Form(""),noiselist:Optional[str]=Form(""),binarylist:Optional[str]=Form(""),rangeList:Optional[str]=Form(""),auth= Depends(auth)): + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into diffPrivacy routing method" ) + try: + # log.info("Entered create usecase routing method" ) + # payload={"excel":excel} + # print("payload==",payload) + payload={"suppression":suppression,"noiselist":noiselist,"binarylist":binarylist,"rangelist":rangeList} + # print("type==",excel.file.content_type) + startTime = time.time() + log.debug("Entered into diffPrivacy function") + response = DiffPrivacy.diffPrivacy(payload) + log.debug("Returned from diffPrivacy function") + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + if(response==None): + raise NoAccountException + # raise HTTPException( + # status_code=430, + # detail="Portfolio/Account Is Incorrect", + # headers={"X-Error": "There goes my error"}, + # ) + # log.info("after invoking create usecase service ") + + log.info("exit create from diffPrivacy routing method") + log.debug("res===="+str(response)) + # telFlagData = TelemetryFlag.findall({"Module":"Privacy"})[0] + # tel_Falg = telFlagData["TelemetryFlag"] + # print("tel_Flag===",tel_Falg) + # if(tel_Falg == True): + # print("Inside Telemetry Flag") + # + # # Trigger the API call asynchronously using a separate thread + # with concurrent.futures.ThreadPoolExecutor() as executor: + # executor.submit(send_telemetry_request, privacy_telemetry_request) + # return response + headers = {"Content-Disposition": f"attachment; filename=x.csv"} + return StreamingResponse(response, media_type="text/csv", headers=headers) + except PrivacyException as cie: + log.error("Exception for diffPrivacy") + log.error(cie.__dict__) + # ExceptionDb.create({"UUID":id,"function":"diffPrivacyAnonimyzeRouter","msg":cie.__dict__,"description":cie.__dict__}) + er=[{"UUID":request_id_var.get(),"function":"diffPrivacyAnonimyzeRouter","msg":cie.__dict__,"description":cie.__dict__}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + if request_id_var.get() in error_dict: + del error_dict[id] + log.error(cie, exc_info=True) + log.info("exit create usecase routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except Exception as e: + log.error(str(e)) + # er={"UUID":request_id_var.get(),"function":"diffPrivacyAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er=[{"UUID":request_id_var.get(),"function":"diffPrivacyAnonimyzeRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}] + er.extend(error_dict[request_id_var.get()] if request_id_var.get() in error_dict else []) + logobj = {"uniqueid":id,"error":er} + + if len(er)!=0: + thread = threading.Thread(target=Telemetry.error_telemetry_request, args=(logobj,id)) + thread.start() + + if request_id_var.get() in error_dict: + del error_dict[id] + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) + +@fileRouter.post('/privacy-files/video/anonymize') +async def videoPrivacy(ocr: str = Query('Tesseract', enum=['Tesseract',"EasyOcr","ComputerVision"]),magnification:str=Form(...),rotationFlag:str=Form(...),video: UploadFile = File(...),portfolio:Optional[str]=Form(None),account:Optional[str]=Form(None),exclusionList:Optional[str]=Form(None),auth= Depends(auth)): + # payload = {"video": video, "easyocr": ocr} + id = uuid.uuid4().hex + request_id_var.set(id) + log.info("Entered create into image_anonymize routing method" ) + try: + payload={"easyocr":ocr,"mag_ratio":magMap[magnification],"rotationFlag":magMap[rotationFlag],"video":video,"portfolio":portfolio,"account":account,"exclusion":exclusionList} + startTime = time.time() + response = await VideoService.videoPrivacy(payload) + endTime = time.time() + totalTime = endTime - startTime + log.info("Total Time taken "+str(totalTime)) + if(response==None): + raise NoAccountException + + + log.info("exit create from image_anonymize routing method") + return response + + except PrivacyException as cie: + log.error("Exception for video_privacy") + log.error(cie.__dict__) + # ExceptionDb.create({"UUID":id,"function":"videoPrivacyRouter","msg":cie.__dict__,"description":cie.__dict__}) + + log.error(cie, exc_info=True) + log.info("exit create usecase routing method") + raise HTTPException(**cie.__dict__) + except NoAccountException: + raise HTTPException( + status_code=430, + detail="Portfolio/Account Is Incorrect", + headers={"X-Error": "There goes my error"}, + ) + except Exception as e: + log.error(str(e)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"videoPrivacyRouter","msg":str(e),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise HTTPException( + status_code=500, + detail="Please check with administration!!", + headers={"X-Error": "Please check with administration!!"}) diff --git a/src/privacy/service/Video_service.py b/src/privacy/service/Video_service.py new file mode 100644 index 0000000000000000000000000000000000000000..cc1f9c2d2e63c689ce7852a16ae84244995ff343 --- /dev/null +++ b/src/privacy/service/Video_service.py @@ -0,0 +1,207 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import base64 +import io +from typing import Tuple +import cv2 +from PIL import Image +from privacy.service.imagePrivacy import AttributeDict, ImagePrivacy +import numpy as np +from privacy.config.logger import request_id_var +from privacy.config.logger import CustomLogger +import os +import shutil +import threading +import time +import uuid + +log = CustomLogger() + +path="../video/" +error_dict={} + +class VideoService: + def frameAnonymization(payload,frame,indx,procFrame,request_id): + try: + # request_id_var.set(request_id) + id = uuid.uuid4().hex + request_id_var.set(id) + ipath=path+str(request_id)+"/"+str(indx)+".jpg" + # print(ipath) + # Convert the frame to PIL Image + # base64.b64encode(frame).decode() + # Image.open(base64.b64encode(frame).decode()) + # print(type(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))) + imagef = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) + imagef.save(ipath) + # image=open("test.jpg","rb") + # print(type(imagef)) + image={"file":ipath} + image=AttributeDict(image) + payload["image"]=image + # ocr=None + # global imageAnalyzerEngine + + # imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + # imageRedactorEngine = ImageRedactorEngine(image_analyzer_engine=imageAnalyzerEngine) + # redacted_image = imageRedactorEngine.redact(image, (255, 192, 203)) + # payload={"easyocr":"Tesseract","mag_ratio":False,"rotationFlag":False,"image":image,"portfolio":None,"account":None,"exclusion":None} + + redacted_image=ImagePrivacy.image_anonymize(payload) + decoded_bytes = base64.b64decode(redacted_image) + + # Create a BytesIO object to simulate a file-like object + bio = io.BytesIO(decoded_bytes) + + # Use OpenCV (assuming it's an image) or other libraries to load the image from the BytesIO object + img = cv2.imdecode(np.fromstring(bio.getvalue(), np.uint8), cv2.IMREAD_COLOR) + + # Convert the PIL Image back to OpenCV frame + frame = cv2.cvtColor(img, cv2.COLOR_RGB2BGR) + procFrame[indx]=frame + return (frame,indx) + # Write the frame into the file 'output.avi' + # out.write(frame) + + # else: + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + # error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"VideoAnalyzeMainFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"textAnalyzeMainFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + # break + + + async def videoPrivacy(payload) -> Tuple[str, str]: + error_dict[request_id_var.get()]=[] + try: + payload=AttributeDict(payload) + upload_file = payload.video + filename=upload_file.filename + + id = uuid.uuid4().hex + request_id_var.set(id) + _path=path+str(id) + if(not os.path.exists(_path)): + os.makedirs(_path) + video_data = await upload_file.read() + s=time.time() + temp_file_path = path+"input.pm4" + output_file_path =path+"output3.mp4" + with open(temp_file_path, "wb") as temp_file: + temp_file.write(video_data) + video = cv2.VideoCapture(temp_file_path) + # Get video properties + width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH)) + height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT)) + fps = video.get(cv2.CAP_PROP_FPS) + sampling_rate=int(fps*0.3) + # Define the codec and create a VideoWriter object + fourcc = cv2.VideoWriter_fourcc(*'XVID') + out = cv2.VideoWriter(output_file_path, fourcc, fps, (width, height)) + frameList=[] + indxList=[] + first=True + count=0 + last_frame=None + log.debug("samp "+str(sampling_rate)) + + + # audio_fps = video.get(cv2.CAP_PROP_FPS) + # fourcc = int(video.get(cv2.CAP_PROP_FOURCC)) + # print("aud",audio_fps,fourcc) + # sampling_rate=1 + while(video.isOpened()): + ret, frame = video.read() + # print(ret) + if ret==True: + if first: + frameList.append(frame) + indxList.append(count) + first=False + else: + if count % sampling_rate == 0: + frameList.append(frame) + indxList.append(count) + # else: + # frameList.append(None) + last_frame=frame + count+=1 + else: + break + if(count%sampling_rate!=0): + frameList.append(last_frame) + indxList.append(count) + log.debug("totalFrame:"+str(count)) + # print(indxList,len(indxList)) + log.debug("after sampling"+str(len(frameList))) + rcount=len(frameList) + framecopy=frameList.copy() + procFrame=[None]*(count+1) + # print(len(procFrame)) + # indx=0 + while framecopy: + threads = [] + for _ in range(min(6, len(framecopy))): # Limit calls to remaining arguments + arg = framecopy.pop(0) # Get the first argument and remove it + indx=indxList.pop(0) + thread = threading.Thread(target=VideoService.frameAnonymization, args=(payload,arg,indx,procFrame,request_id_var.get())) + thread.start() + threads.append(thread) + # print(thread) + indx+=1 + # Wait for all threads in the current set to finish + + log.debug("remaining:"+str(rcount-len(framecopy))+"/"+str(rcount)) + for thread in threads: + thread.join() + # print("===",procFrame) + # Release everything when job is finished + # print(procFrame) + lstFrame=None + for frm in procFrame: + # print(frm,frm.any()) + # print(frm,frm.all()) + if(lstFrame is None): + lstFrame=frm + if(frm is not None): + lstFrame=frm + else: + frm=lstFrame + out.write(frm) + video.release() + out.release() + # Remove temporary file + # os.remove(temp_file_path) + # Read the processed video file + with open(output_file_path, "rb") as video_file: + video_data = video_file.read() + # Convert the video to base64 + video_str = base64.b64encode(video_data).decode() + # Remove the output file + # os.remove(output_file_path) + # log.debug(path) + shutil.rmtree(_path) + # log.debug("====",time.time()-s) + del procFrame + del indxList + del frameList + return video_str + + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"VideoAnonymizeMainFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"textAnalyzeMainFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) diff --git a/src/privacy/service/__init__.py b/src/privacy/service/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..ceccb356a4a7a76396a1e1b2ff1ec488720556e7 --- /dev/null +++ b/src/privacy/service/__init__.py @@ -0,0 +1,51 @@ +import contextvars +from presidio_analyzer import Pattern, PatternRecognizer, AnalyzerEngine, RecognizerRegistry,predefined_recognizers +from presidio_anonymizer import AnonymizerEngine, DeanonymizeEngine +from presidio_anonymizer.entities import (RecognizerResult, + OperatorResult, + OperatorConfig) +from privacy.config.logger import CustomLogger +from presidio_image_redactor import ImageRedactorEngine,ImageAnalyzerEngine,ImagePiiVerifyEngine +from presidio_image_redactor import DicomImageRedactorEngine + +from privacy.util.encrypt import EncryptImage +from privacy.config.logger import CustomLogger +log = CustomLogger() +print("===========init==========") +error_dict={} +admin_par={} +session_dict = contextvars.ContextVar('session_dict', default={}) + +# Example usage: +def update_session_dict(key, value): + session_dict.get()[key] = value + +def get_session_dict(): + return session_dict.get() + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + +registry = RecognizerRegistry() +# log.info("============2a") +# analyzer = AnalyzerEngine(registry=registry) +# log.debug("============2b") +anonymizer = AnonymizerEngine() +# Create NLP engine based on configuration +# flair_recognizer = ( +# FlairRecognizer() +# ) +# registry.add_recognizer(flair_recognizer) +# provider = NlpEngineProvider(nlp_configuration=configuration) +analyzer = AnalyzerEngine(registry=registry) +imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer) +imageRedactorEngine = ImageRedactorEngine(image_analyzer_engine=imageAnalyzerEngine) +imagePiiVerifyEngine = ImagePiiVerifyEngine(image_analyzer_engine=imageAnalyzerEngine) +encryptImageEngin=EncryptImage(image_analyzer_engine=imageAnalyzerEngine) +deanonymizer = DeanonymizeEngine() +DicomEngine = DicomImageRedactorEngine() +registry.load_predefined_recognizers() + + diff --git a/src/privacy/service/api_req.py b/src/privacy/service/api_req.py new file mode 100644 index 0000000000000000000000000000000000000000..99fdf8d576e1c9ebd5f49d21f8c96daf35e95657 --- /dev/null +++ b/src/privacy/service/api_req.py @@ -0,0 +1,88 @@ +import os +from dotenv import load_dotenv +from privacy.config.logger import CustomLogger,request_id_var +log = CustomLogger() +from privacy.service.__init__ import * +import time +import requests +load_dotenv() +class ApiCall: + # records=[] + # encryptionList=[] + # scoreTreshold= 0.0 + def request(data): + try: + # admin_par[request_id_var]={} + # raise Exception() + # print("==================",os.getenv("ADMIN_CONNECTION")) + # print("==================",os.getenv("ADMIN_CONNECTION")=="False") + + if(os.getenv("ADMIN_CONNECTION")=="False" or os.getenv("ADMIN_CONNECTION")=="false"): + + # print("--------------------------------------------------------------") + return 404 + # ApiCall.records.clear() + # ApiCall.encryptionList.clear() + payload=AttributeDict({"portfolio":data.portfolio,"account":data.account}) + + # payload={"accName":"Infosys","subAccName":"Impact"} + api_url = os.getenv("PRIVADMIN_API") + + # print(api_url) + t=time.time() + + # aurl="http://10.66.155.13:30016/api/v1/rai/admin/PrivacyDataList" + aurl=api_url + # log.debug(aurl) + # log.debug(str(type(aurl))) + log.debug("Calling Admin Api ======") + # log.debug("api payload:"+str(payload)) + # print(payload) + response1 = requests.post( + url=aurl + , headers={'Content-Type': "application/json", + 'accept': "application/json"} + , json=payload + ) + # print(response1.content[0]) + # response1=httpx.post(aurl, json=payload) + # response1=httpx.post('http://10.66.155.13:30016/api/v1/rai/admin/PrivacyDataList', json=payload) + # log.debug("response="+str(response1)) + # log.debug("response11="+str(response1.text)) + # response1=PrivacyData.getDataList(payload) + entityType,datalist,preEntity,records,encryptionList,scoreTreshold=response1.json()["datalist"] + # print("=========================",time.time()-t) + log.debug("data fetched") + if(len(records)==0): + return None + log.debug("entityType="+str(entityType)) + admin_par[request_id_var.get()]={"encryptionList":encryptionList,"records":records,"scoreTreshold":scoreTreshold[0]} + # print("===============",len(admin_par)) + # ApiCall.encryptionList.extend(encryptionList) + # ApiCall.records.extend(records) + # ApiCall.scoreTreshold=scoreTreshold[0] + return(entityType,datalist,preEntity) + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + # print("------------------------------",request_id_var.get()) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"ApiRequestFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"ApiRequestFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + # print("err",error_dict,error_dict[request_id_var.get()]) + + return Exception(e) + # raise Exception(e) + + + # record=[ele for ele in records if ele.RecogName=="PASSPORT"][0] + + def getRecord(name): + # log.debug("name="+str(name)) + # log.debug("ApiCall.records="+str(ApiCall.records)) + record=[ele for ele in admin_par[request_id_var.get()]["records"] if ele["RecogName"]==name][0] + return record + def delAdminList(): + id=request_id_var.get() + if id in admin_par: + del admin_par[id] diff --git a/src/privacy/service/azureComputerVision.py b/src/privacy/service/azureComputerVision.py new file mode 100644 index 0000000000000000000000000000000000000000..be169afd74b28a908a77842e046622636db3a75f --- /dev/null +++ b/src/privacy/service/azureComputerVision.py @@ -0,0 +1,137 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +# from privacy.util.encrypt import EncryptImage + +from presidio_image_redactor import ImageRedactorEngine,ImageAnalyzerEngine,ImagePiiVerifyEngine,OCR +# from privacy.service import easyocr_analyzer +from dotenv import load_dotenv +from privacy.config.logger import CustomLogger +# pytesseract.pytesseract.tesseract_cmd = r"C:\Users\amitumamaheshwar.h\AppData\Local\Programs\Tesseract-OCR" +import time +load_dotenv() +import os +import sys +import requests + +from PIL import Image +from io import BytesIO + +log = CustomLogger() + +# log = CustomLogger() +# output_type = easyocr.Reader(['en'],model_storage_directory=r"privacy/util/model",download_enabled=False) + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ +class Data: + encrypted_text=[] + +apikey=os.getenv("API_KEY") +apiendpint=os.getenv("API_ENDPOINT") +# image_path=r"C:\WORK\GIT\responsible-ai-admin\responsible-ai-admin\src\rai_admin\temp\MicrosoftTeams-image (4).png" +# # Read the image into a byte array +# image_data = open(image_path, "rb").read() +# Set Content-Type to octet-stream +headers = {'Ocp-Apim-Subscription-Key': apikey, 'Content-Type': 'application/octet-stream'} +params = {'language': 'en', 'detectOrientation': 'true','features':['read']} +class ComputerVision(OCR): + + def process(a): + return a + + + + + # def perform_ocr(self, image: object, **kwargs) -> dict: + # # output_type = easyocr.Reader(['en']) + # s=time.time() + # # response(code) + + # textmap={"text":[],"left":[],"top":[],"width":[],"height":[],"conf":[]} + # buffer = BytesIO() + + # # Save the image to the in-memory buffer in PNG format + # image.save(buffer, "PNG") + + # # Get the binary data from the buffer (seek to the beginning) + # binary_data = buffer.getvalue() + # image_data = binary_data + # # put the byte array into your post request + # response = requests.post(apiendpint, headers=headers, params=params, data = image_data) + + # response.raise_for_status() + + # analysis = response.json() + # line_infos = [region["lines"] for region in analysis["regions"]] + # word_infos = [] + # for line in line_infos: + # for word_metadata in line: + # for word_info in word_metadata["words"]: + # word_infos.append(word_info) + + # for val in word_infos: + # boxval=val["boundingBox"].split(',') + # textmap["text"].append(val["text"]) + # textmap["left"].append(int(boxval[0])) + # textmap["top"].append(int(boxval[1])) + # textmap["width"].append(int(boxval[2])) + # textmap["height"].append(int(boxval[3])) + # # textmap["conf"].append(val["conf"]) + # # text.append(val["text"]) + # # left.append(min(val['coordinates'][0][0],val["coordinates"][3][0])) + # # top.append(min(val['coordinates'][0][1],val["coordinates"][1][1])) + # # width.append(abs(val['coordinates'][1][0]-val["coordinates"][0][0])) + # # height.append(abs(val['coordinates'][3][1]-val["coordinates"][0][1])) + # # conf.append(val["conf"]) + # print(textmap) + # log.warn("time======="+str(time.time()-s)) + # return textmap + + + def perform_ocr(self, image: object, **kwargs) -> dict: + # output_type = easyocr.Reader(['en']) + s=time.time() + # response(code) + + textmap={"text":[],"left":[],"top":[],"width":[],"height":[],"conf":[]} + buffer = BytesIO() + + # Save the image to the in-memory buffer in PNG format + image.save(buffer, "PNG") + + # Get the binary data from the buffer (seek to the beginning) + binary_data = buffer.getvalue() + image_data = binary_data + # put the byte array into your post request + response = requests.post(apiendpint, headers=headers, params=params, data = image_data) + + response.raise_for_status() + + analysis = response.json() + print(analysis) + line_infos = [region["lines"] for region in analysis["readResult"]["blocks"]] + textmap={"text":[],"left":[],"top":[],"width":[],"height":[],"conf":[]} + for line in line_infos: + for word_metadata in line: + for val in word_metadata["words"]: + # word_infos.append(val) + textmap["text"].append(val["text"]) + textmap["left"].append(min(val['boundingPolygon'][0]['x'],val["boundingPolygon"][3]['x'])) + textmap["top"].append(min(val['boundingPolygon'][0]['y'],val["boundingPolygon"][1]['y'])) + textmap["width"].append(abs(val['boundingPolygon'][1]['x']-val["boundingPolygon"][0]['x'])) + textmap["height"].append(abs(val['boundingPolygon'][3]['y']-val["boundingPolygon"][0]['y'])) + textmap["conf"].append(val["confidence"]) + print(textmap) + log.warn("time======="+str(time.time()-s)) + return textmap + diff --git a/src/privacy/service/code_detect_service.py b/src/privacy/service/code_detect_service.py new file mode 100644 index 0000000000000000000000000000000000000000..9105b3ad1075a197b9fccad0e14ee86296a01bb2 --- /dev/null +++ b/src/privacy/service/code_detect_service.py @@ -0,0 +1,51 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + + +import base64 +import json +import io, base64 +from PIL import Image +import requests +import pandas as pd +from privacy.mappers.mappers import * +import os + +from privacy.config.logger import CustomLogger +from privacy.util.code_detect import * +from privacy.util.code_detect.regexdetection import * +import json +from privacy.util.code_detect.ner.pii_inference.netcustom import code_detect_ner +log = CustomLogger() + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +class CodeDetect: + def codeDetectRegex(payload)->PIICodeDetectRequest: + payload=AttributeDict(payload) + print("Text===",payload) + #finalpayload=str(payload) + #ouputjson=json.loads(payload) + output_code=code_detect.codeDetectRegex(payload.inputText) + print("output_code===",output_code) + return output_code + + def codeDetectNerText(payload)->PIICodeDetectRequest: + payload=AttributeDict(payload) + print("Text===",payload) + #finalpayload=str(payload) + #ouputjson=json.loads(payload) + output_code=code_detect_ner.textner(payload.inputText) + print("output_code===",output_code) + return output_code diff --git a/src/privacy/service/dicomPrivacy.py b/src/privacy/service/dicomPrivacy.py new file mode 100644 index 0000000000000000000000000000000000000000..df1cd89ec028b4c87e4e2db27e8a65816cce3fc5 --- /dev/null +++ b/src/privacy/service/dicomPrivacy.py @@ -0,0 +1,70 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' +import base64 +import io +import matplotlib.pyplot as plt +import pydicom +from PIL import Image +from privacy.service.__init__ import * +from privacy.service.api_req import ApiCall +from privacy.config.logger import request_id_var + + + +class DICOMPrivacy: + def dcmToPng(dcmObj): + plt.clf() + plt.imshow(dcmObj.pixel_array,cmap=plt.cm.bone) + plt.axis('off') + buffer=io.BytesIO() + plt.savefig(buffer,format='png', bbox_inches='tight', pad_inches=0) + buffer.seek(0) + return base64.b64encode(buffer.getvalue()) + + + + + def readDicom(payload): + error_dict[request_id_var.get()]=[] + log.debug("Entering in readDicom function") + try: + # print(type(payload)) + # print(payload.file) + + # predefined_recognizers.data_recognizer.DataList.entity.clear() + # predefined_recognizers.data_recognizer.DataList.resetData() + DicomEngine = DicomImageRedactorEngine() + dicom_instance = pydicom.dcmread(payload.file) + # print(type(dicom_instance)) + redacted_dicom_instance = DicomEngine.redact(dicom_instance, fill="contrast") + original=DICOMPrivacy.dcmToPng(dicom_instance) + redacted=DICOMPrivacy.dcmToPng(redacted_dicom_instance) + + obj={"original":original,"anonymize":redacted} + log.debug("Returning from readDicom function") + return obj + + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"readDICOMFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + + + +class saveImage: + def saveImg(img_data): + + + with open("file.png", "wb") as fh: + fh.write(base64.decodebytes(img_data)) + \ No newline at end of file diff --git a/src/privacy/service/dicom_service.py b/src/privacy/service/dicom_service.py new file mode 100644 index 0000000000000000000000000000000000000000..cb6dc6d0dc51adeb7fcacaa4e4f457c80813ad8c --- /dev/null +++ b/src/privacy/service/dicom_service.py @@ -0,0 +1,110 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' +import base64 +import glob +from pathlib import Path +import matplotlib.pyplot as plt +import pydicom +from PIL import Image +from presidio_image_redactor import DicomImageRedactorEngine +import cv2 +from io import BytesIO +# def compare_dicom_images( +# instance_original: pydicom.dataset.FileDataset, +# instance_redacted: pydicom.dataset.FileDataset, +# figsize: tuple = (11, 11) +# ) -> None: +# """Display the DICOM pixel arrays of both original and redacted as images. + +# Args: +# instance_original (pydicom.dataset.FileDataset): A single DICOM instance (with text PHI). +# instance_redacted (pydicom.dataset.FileDataset): A single DICOM instance (redacted PHI). +# figsize (tuple): Figure size in inches (width, height). +# """ +# _, ax = plt.subplots(1, 2, figsize=figsize) +# print("DICOM") +# ax[0].imshow(instance_original.pixel_array, cmap="gray") +# ax[0].set_title('Original') +# ax[1].imshow(instance_redacted.pixel_array, cmap="gray") +# print(instance_redacted) +# ax[1].set_title('Redacted') +# plt.imshow(instance_redacted.pixel_array, cmap=plt.cm.bone) # set the color map to bone +# plt.show() + + +class DICOM: + def dcmToPng(dcmObj): + plt.imshow(dcmObj.pixel_array,cmap=plt.cm.bone) + plt.axis('off') + b=BytesIO() + plt.savefig(b,format='png', bbox_inches='tight', pad_inches=0) + b.seek(0) + return base64.b64encode(b.getvalue()) + + # def dicomReader(): + # engine = DicomImageRedactorEngine() + # op=r"C:\WORK\GIT\responsible-ai-privacy\responsible-ai-privacy\src\privacy\temp\0_ORIGINAL.dcm" + # dicom_instance = pydicom.dcmread(op) + # print(type(dicom_instance)) + # redacted_dicom_instance = engine.redact(dicom_instance, fill="contrast") + # # compare_dicom_images(dicom_instance, redacted_dicom_instance) + # # print(type(redacted_dicom_instance)) + # # plt.imshow(redacted_dicom_instance.pixel_array, cmap=plt.cm.bone) # set the color map to bone + # # plt.show() + # # dd=BytesIO() + # # redacted_dicom_instance.save_as(dd) + # image = redacted_dicom_instance.pixel_array + # # x=Image.fromarray(image) + # p=r"C:\WORK\GIT\responsible-ai-privacy\responsible-ai-privacy\src\dicomResult.png" + # o=r"C:\WORK\GIT\responsible-ai-privacy\responsible-ai-privacy\src\dicomInput.png" + + # # plt.imsave(p,image,cmap=plt.cm.bone) + # # plt.imsave(o,dicom_instance.pixel_array,cmap=plt.cm.bone) + # plt.imshow(dicom_instance.pixel_array,cmap=plt.cm.bone) + # b=BytesIO() + # plt.savefig(b,format='png') + # b.seek(0) + # # image=Image.open(b) + # # image.show() + # print(image) + # # d=redacted_dicom_instance.tobytes() + # # f=open(p,'rb') + # # of=open(o,'rb') + # print(b.getvalue()) + # redicated=base64.b64encode(b.getvalue()) + # # original=base64.b64encode(of.read()) + # saveImage.saveImg(redicated) + # obj=image + # # obj={"original":original,"anonymize":redicated} + # return redicated + + def readDicom(payload): + # print(type(payload)) + # print(payload.file) + engine = DicomImageRedactorEngine() + dicom_instance = pydicom.dcmread(payload.file) + print(type(dicom_instance)) + redacted_dicom_instance = engine.redact(dicom_instance, fill="contrast") + # compare_dicom_images(dicom_instance, redacted_dicom_instance) + + original=DICOM.dcmToPng(dicom_instance) + redacted=DICOM.dcmToPng(redacted_dicom_instance) + + obj={"original":original,"anonymize":redacted} + return obj + + +class saveImage: + def saveImg(img_data): + + + with open("file.png", "wb") as fh: + fh.write(base64.decodebytes(img_data)) + \ No newline at end of file diff --git a/src/privacy/service/diffrentialPrivacy.py b/src/privacy/service/diffrentialPrivacy.py new file mode 100644 index 0000000000000000000000000000000000000000..6c9ebcb7c4d2dc4debcc4186317f317ef9af73e7 --- /dev/null +++ b/src/privacy/service/diffrentialPrivacy.py @@ -0,0 +1,261 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import json +import io, base64 +import random +from privacy.config.logger import request_id_var +import pandas as pd +from privacy.service.easy import EasyOCR +# from privacy.dao.TelemetryFlagDb import TelemetryFlag +from privacy.mappers.mappers import * +# from privacy.util.nltk_recog import CustomNltkNlpEngine +from diffprivlib.mechanisms import binary +from privacy.util.encrypt import EncryptImage + +from typing import List +from privacy.constants.local_constants import (DELTED_SUCCESS_MESSAGE) +from privacy.config.logger import CustomLogger +import base64 +import io +from dotenv import load_dotenv +from privacy.service.__init__ import error_dict +from diffprivlib.mechanisms import snapping +from diffprivlib.mechanisms import laplace +from diffprivlib.mechanisms import gaussian +load_dotenv() +import numpy as np +import math +log = CustomLogger() + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + +class DiffPrivacy: + headder=["a","b"] + df=pd.DataFrame() + + + def noiseAdd(df,col): + log.info("noiseAdd Function called........") + epsilon = 1.0 # Privacy parameter for differential privacy + sensitivity = 1 # Sensitivity of the age values + scale = sensitivity / epsilon + laplace_noise = np.random.laplace(loc=0, scale=scale, size=len(df)) + # print(laplace_noise) + # keyList=[] + if(df[col].dtypes=='int64'): + df[col] += laplace_noise + df[col]=df[col].astype(int) + # keyList.append(math.ceil(laplace_noise)) + else: + # keyList.append(laplace_noise) + df[col] += laplace_noise + # DiffPrivacy.key[col]={"value":False,"key":keyList} + + def binaryCheck(df,col): + log.info("BinaryCheck Function") + data=list(df[col].unique()) + # print(data) + # keyList=[] + mechanism = binary.Binary(epsilon=1.0,value0=data[0],value1=data[1]) + for d in range(len(df[col])): + temp=df.loc[d,col] + # print("==/",temp) + res=mechanism.randomise(temp) + # keyList.append(int(temp==res)) + df.loc[d,col]=res + # DiffPrivacy.key[col]={"value":data,"key":keyList} + + + + def rangeAdd(df,col): + log.info("range Adding Function") + import math + minv=df[col].min() + maxv=df[col].max() + + base=10 + maxrange=math.ceil(maxv / base) * base + minrange=round(minv/base)*base + + range_magnitude = abs(maxrange - minrange) + # print(range_magnitude) + # Determine the number of ranges based on the magnitude`` + num_ranges = max(range_magnitude // 10, 1) # Assuming a minimum range size of 10 + + # Calculate the interval + interval = range_magnitude / num_ranges + binlist=set() + lablelist=[] + + for i in range(num_ranges): + start = minrange + i * interval + end = minrange + (i + 1) * interval + if(i==num_ranges-1): + # print(i) + end=maxrange + binlist.add(start) + binlist.add(end) + lablelist.append(f"{start}-{end}") + # ranges.append((start, end)) + binlist=sorted(list(binlist)) + df[col]=pd.cut(df[col], bins=binlist, labels=lablelist) + + + def gaussianFunc(df,col): + log.info("gaussian Function......") + gaussianVal=gaussian.GaussianAnalytic(epsilon=1,delta=1,sensitivity=2) + # keyList=[] + for d in range(len(df[col])): + temp=df.loc[d,col] + # print("==/",temp) + res=gaussianVal.randomise(temp) + if(df[col].dtypes=='int64'): + # keyList.append(math.ceil((temp-res))) + df.loc[d,col]=int(res) + else: + # keyList.append((temp-res)) + df.loc[d,col]=res + # DiffPrivacy.key[col]={"value":False,"key":keyList} + + + def laplaceFunc(df,col): + log.info("Laplace Function......") + minv=df[col].min()-5 + maxv=df[col].max()+5 + # keyList=[] + laplaceVar=laplace.LaplaceTruncated(epsilon=1,delta=0,sensitivity=1,lower=minv,upper=maxv) + for d in range(len(df[col])): + temp=df.loc[d,col] + # print("==/",temp) + res=laplaceVar.randomise(temp) + if(df[col].dtypes=='int64'): + # keyList.append(math.ceil((temp-res))) + df.loc[d,col]=int(res) + else: + # keyList.append((temp-res)) + df.loc[d,col]=res + # DiffPrivacy.key[col]={"value":False,"key":keyList} + + def snappingFunc(df,col): + log.info("Snapping Function......") + # print(df) + # print(col) + # print(df[col]) + # print(df[col].min()) + + minv=df[col].min()-5 + maxv=df[col].max()+5 + # keyList=[] + snappingVar=snapping.Snapping(epsilon=1,sensitivity=1,lower=minv,upper=maxv) + for d in range(len(df[col])): + temp=df.loc[d,col] + # print("==/",temp) + res=snappingVar.randomise(temp) + if(df[col].dtypes=='int64'): + # keyList.append(math.ceil((temp-res))) + df.loc[d,col]=int(res) + else: + # keyList.append((temp-res)) + df.loc[d,col]=res + # DiffPrivacy.key[col]={"value":False,"key":keyList} + + + + + + def uploadFIle(file): + error_dict[request_id_var.get()]=[] + log.info("Entering in uploadFIle function") + # print(file.file.read()) + try: + df=pd.read_csv(file.file) + # df=pd.read_csv(file) + DiffPrivacy.df=df + headders=df.columns + print(headders) + numaricHeadder=df.select_dtypes(include = ['int64',"float64"]) + print(numaricHeadder) + DiffPrivacy.headder.extend(headders) + binaryList=[] + for c in df.columns: + # pr int(s) + if(len(df[c].unique())==2): + binaryList.append(c) + log.info("Returning from uploadFIle function") + + return {"allHeadders":list(headders),"numaricHeadder":list(numaricHeadder.columns),"binaryHeadder":list(binaryList)} + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"textAnalyzeMainFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"textAnalyzeMainFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + def listParser(listdata): + if(listdata[0]==""): + + return [] + return listdata + def diffPrivacy(payload): + error_dict[request_id_var.get()]=[] + log.info("Entering in diffPrivacy function") + try: + log.debug(payload) + log.debug(payload["suppression"]) + df=DiffPrivacy.df + + suppressHedder=DiffPrivacy.listParser(payload["suppression"].split(",")) + # if(suppressHedder[0]==""): + # suppressHedder=[] + + noiseHeadder=DiffPrivacy.listParser(payload["noiselist"].split(",")) + binaryHeadder=DiffPrivacy.listParser(payload["binarylist"].split(",")) + rangeHeadder=DiffPrivacy.listParser(payload["rangelist"].split(",")) + log.debug(df) + log.debug(suppressHedder) + # print(h) + noiseList=["laplaceFunc","noiseAdd","gaussianFunc","snappingFunc"] + + noiseVar = getattr(DiffPrivacy, random.choice(noiseList)) + if(suppressHedder is not []): + df = df.drop(suppressHedder, axis=1) + for noise in noiseHeadder: + # DiffPrivacy.noiseAdd(df,noise) + noiseVar(df,noise) + + for bcol in binaryHeadder: + DiffPrivacy.binaryCheck(df,bcol) + + for rcol in rangeHeadder: + DiffPrivacy.rangeAdd(df,rcol) + log.debug(df) + + + buffer = io.BytesIO() + + df.to_csv(buffer,index=False) + # csv=csvData.encode() + buffer.seek(0) + + log.info("Returning from diffPrivacy function") + # return [df,DiffPrivacy.key] + return buffer + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"textAnalyzeMainFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"textAnalyzeMainFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) \ No newline at end of file diff --git a/src/privacy/service/easy.py b/src/privacy/service/easy.py new file mode 100644 index 0000000000000000000000000000000000000000..0da87b02313cb71c6eef1c45650757dda2382658 --- /dev/null +++ b/src/privacy/service/easy.py @@ -0,0 +1,113 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import json +import io, base64 +from PIL import Image +import requests +import pandas as pd +# from privacy.mappers.mappers import * +import os +import httpx +from presidio_image_redactor.entities import ImageRecognizerResult + +# from privacy.util.encrypt import EncryptImage + +from typing import List +# from privacy.constants.local_constants import (DELTED_SUCCESS_MESSAGE) +# from privacy.exception.exception import PrivacyNameNotEmptyError, PrivacyException, PrivacyNotFoundError +from presidio_analyzer import Pattern, PatternRecognizer, AnalyzerEngine, RecognizerRegistry,predefined_recognizers +from presidio_anonymizer import AnonymizerEngine, DeanonymizeEngine +from presidio_anonymizer.entities import (RecognizerResult, + OperatorResult, + OperatorConfig) +# from privacy.config.logger import CustomLogger +from presidio_image_redactor import ImageRedactorEngine,ImageAnalyzerEngine,ImagePiiVerifyEngine,OCR +# from privacy.service import easyocr_analyzer +from fastapi import FastAPI, UploadFile +from fastapi.responses import FileResponse +from PIL import Image +import base64 +import io +import os +import re +#import zipfile +from zipfile import ZipFile,is_zipfile +from dotenv import load_dotenv +import tempfile +import easyocr +import numpy as np +from difflib import SequenceMatcher +from privacy.config.logger import CustomLogger +import pytesseract +# pytesseract.pytesseract.tesseract_cmd = r"C:\Users\amitumamaheshwar.h\AppData\Local\Programs\Tesseract-OCR" +import time +load_dotenv() + + +log = CustomLogger() + +# log = CustomLogger() +output_type = easyocr.Reader(['en'],model_storage_directory=r"privacy/util/model",download_enabled=False) + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ +class Data: + encrypted_text=[] +class EasyOCR(OCR): + mag_ratio=1 + def process(a): + return a + def setMag(ratio): + if ratio: + EasyOCR.mag_ratio=10 + else: + EasyOCR.mag_ratio=1 + + + + def perform_ocr(self, image: object, **kwargs) -> dict: + # output_type = easyocr.Reader(['en']) + s=time.time() + image=np.array(image) + log.warn("==========================="+str(EasyOCR.mag_ratio)) + res=output_type.readtext(image,mag_ratio=EasyOCR.mag_ratio,width_ths=0.2,batch_size=10) + print(res) + #print(res) + df = pd.DataFrame(res,columns=['coordinates','text','conf']) + res_dict=df.to_dict(orient='records') + # print(res_dict) + # text=[] + # left=[] + # top=[] + # width=[] + # height=[] + # conf=[] + textmap={"text":[],"left":[],"top":[],"width":[],"height":[],"conf":[]} + + for val in res_dict: + textmap["text"].append(val["text"]) + textmap["left"].append(min(val['coordinates'][0][0],val["coordinates"][3][0])) + textmap["top"].append(min(val['coordinates'][0][1],val["coordinates"][1][1])) + textmap["width"].append(abs(val['coordinates'][1][0]-val["coordinates"][0][0])) + textmap["height"].append(abs(val['coordinates'][3][1]-val["coordinates"][0][1])) + textmap["conf"].append(val["conf"]) + # text.append(val["text"]) + # left.append(min(val['coordinates'][0][0],val["coordinates"][3][0])) + # top.append(min(val['coordinates'][0][1],val["coordinates"][1][1])) + # width.append(abs(val['coordinates'][1][0]-val["coordinates"][0][0])) + # height.append(abs(val['coordinates'][3][1]-val["coordinates"][0][1])) + # conf.append(val["conf"]) + # print(textmap) + log.warn("time======="+str(time.time()-s)) + return textmap + diff --git a/src/privacy/service/excel_service.py b/src/privacy/service/excel_service.py new file mode 100644 index 0000000000000000000000000000000000000000..de6d61342866b01230916cfc5638c46123cd8db3 --- /dev/null +++ b/src/privacy/service/excel_service.py @@ -0,0 +1,109 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import base64 +import json +import io, base64 +from PIL import Image +import requests +import pandas as pd +from privacy.mappers.mappers import * +from privacy.service.textPrivacy import * +import os +import openpyxl +from openpyxl.reader.excel import load_workbook +import xlsxwriter + +from privacy.config.logger import CustomLogger +from privacy.service.textPrivacy import TextPrivacy +log = CustomLogger() + +class AttributeDict(dict): + __getattr__ = dict.__getitem__ + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + +import shutil + +class Excel: + + @staticmethod + def excelanonymize(payload): + payload = AttributeDict(payload) + + # Create a secure temporary directory + temp_dir = "temp_excel_files" + os.makedirs(temp_dir, exist_ok=True) + + # Generate a unique filename + temp_filename = f"temp_{os.urandom(16).hex()}.xlsx" + temp_filepath = os.path.join(temp_dir, temp_filename) + + try: + with open(temp_filepath, "wb") as f: + shutil.copyfileobj(payload.excel.file, f) + + wrkbk = openpyxl.load_workbook(temp_filepath) + sh = wrkbk.active + + x = "" + s = "" + row = 0 + col = 0 + path = os.path.join(temp_dir, "ExcelOutput.xlsx") + workbook = xlsxwriter.Workbook(path) + worksheet = workbook.add_worksheet() + r = 0 + list = [] + i = 0 + + for row in sh.iter_rows(min_row=1, min_col=1): + for cell in row: + cell_coor = cell.coordinate + print("cell", cell.coordinate) + print("cell_value=====", cell.value) + payload1 = {"inputText": str(cell.value), "exclusionList": None, "portfolio": None, "account": None,"fakeData":False} + payload1 = AttributeDict(payload1) + + temp = TextPrivacy.anonymize(payload1) + print("response===", temp.anonymizedText) + + print("Old cell value===", str(cell.value)) + sh[str(cell_coor)] = temp.anonymizedText + print("New cell value===", str(cell.value)) + + output_filepath = os.path.join(temp_dir, "x.xlsx") + wrkbk.save(filename=output_filepath) + print("temp====", s) + print("x=====", x) + print("Workbook==", workbook) + workbook.close() + return output_filepath + + except Exception as e: + log.error(f"Error in excelanonymize: {e}") + raise + + finally: + if os.path.exists(temp_filepath): + try: + os.remove(temp_filepath) + except Exception as e: + log.error(f"Error removing temporary file: {str(e)}") + + + @staticmethod + def createExcel(s, x, row, col, worksheet): + print("row187===", row) + + for x in s.split(';*'): + worksheet.write(row, col, x) + col += 1 + diff --git a/src/privacy/service/imagePrivacy.py b/src/privacy/service/imagePrivacy.py new file mode 100644 index 0000000000000000000000000000000000000000..157a1666a01cbe978bcccbc442d5ab5bbf5f9806 --- /dev/null +++ b/src/privacy/service/imagePrivacy.py @@ -0,0 +1,550 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + + +import io, base64 +from PIL import Image +from privacy.service.easy import EasyOCR +from privacy.service.azureComputerVision import ComputerVision +# from privacy.dao.TelemetryFlagDb import TelemetryFlag +from privacy.mappers.mappers import * +from privacy.util.encrypt import EncryptImage +from typing import List +from privacy.constants.local_constants import (DELTED_SUCCESS_MESSAGE) +from privacy.config.logger import CustomLogger +#import zipfile +from zipfile import ZipFile,is_zipfile +from dotenv import load_dotenv +from privacy.config.logger import request_id_var +load_dotenv() +import numpy as np +import cv2 +# from privacy.util.flair_recognizer import FlairRecognizer +log = CustomLogger() +import time +import pytesseract +from scipy import ndimage +from PIL import Image as im +from privacy.util.special_recognizers.DataListRecognizer import DataListRecognizer +# global error_dict +from privacy.service.__init__ import * +from privacy.service.api_req import ApiCall + +class ImageRotation: + def float_convertor(x): + if x.isdigit(): + out= float(x) + else: + out= x + return out + def getAngle(image): + k = pytesseract.image_to_osd(image) + out = {i.split(":")[0]: ImageRotation.float_convertor(i.split(":")[-1].strip()) for i in k.rstrip().split("\n")} + return out["Rotate"] + def rotateImage(image,preAngle=0): + angle=0 + # t=time.time() + if(preAngle==0): + angle=ImageRotation.getAngle(image) + # print("angle:",time.time()-t) + if(preAngle==angle): + return (image,angle) + img_rotated = ndimage.rotate(image, preAngle-angle) + image = im.fromarray(img_rotated) + return (image,angle) + +class ImagePrivacy: + def image_analyze(payload): + error_dict[request_id_var.get()]=[] + try: + log.debug("Entering in image_analyze function") + payload=AttributeDict(payload) + image = Image.open(payload.image.file) + + # analyzer,registry=ConfModle.getAnalyzerEngin("en_core_web_lg") + angle=0 + if(payload.rotationFlag): + image,angle=ImageRotation.rotateImage(image) + + ocr=None + global imageAnalyzerEngine + if(payload.easyocr=="EasyOcr"): + ocr=EasyOCR() + EasyOCR.setMag(payload.mag_ratio) + tt=time.time() + imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + # print(time.time()-tt) + if(payload.easyocr=="ComputerVision"): + ocr=ComputerVision() + # EasyOCR.setMag(payload.mag_ratio) + + imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + # imageRedactorEngine = ImageRedactorEngine(image_analyzer_engine=imageAnalyzerEngine) + + log.debug("payload="+str(payload)) + if(payload.exclusion == None): + exclusionList=[] + else: + exclusionList=payload.exclusion.split(",") + if(payload.portfolio== None): + results = imageAnalyzerEngine.analyze(image, allow_list=exclusionList) + else: + result=[] + preEntity=[] + response_value=ApiCall.request(payload) + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + return response_value + entityType,datalist,preEntity=response_value + # entityType,datalist,preEntity=ApiCall.request(payload) + # preEntity=["PERSON"] + for d in range(len(datalist)): + record=ApiCall.getRecord(entityType[d]) + record=AttributeDict(record) + # log.debug("Record ======"+str(record)) + + if(record.RecogType=="Data"): + dataRecog=(DataListRecognizer(terms=datalist[d],entitie=[entityType[d]])) + registry.add_recognizer(dataRecog) + # log.debug("++++++"+str(entityType[d])) + # results = engine.analyze(image,entities=[entityType[d]]) + # result.extend(results) + elif(record.RecogType=="Pattern" and record.isPreDefined=="No"): + contextObj=record.Context.split(',') + pattern="|".join(datalist[d]) + log.debug("pattern="+str(pattern)) + patternObj = Pattern(name=entityType[d], + regex=pattern, + score=record.Score) + patternRecog = PatternRecognizer(supported_entity=entityType[d], + patterns=[patternObj],context=contextObj) + registry.add_recognizer(patternRecog) + # log.debug("==========="+str(entityType[d])) + # results = engine.analyze(image,entities=[entityType[d]]) + # result.extend(results) + results = imageAnalyzerEngine.analyze(image,entities=entityType+preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + result.extend(results) + # results = PrivacyService.__analyze(text=payload.inputText,accName=accMasterid.accMasterId) + # if(len(preEntity)>0): + # results = imageAnalyzerEngine.analyze(image,entities=preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # preEntity.clear() + # result.extend(results) + results=result + + #log.debug(f"results: {results}") + + list_PIIEntity = [] + for result in results: + log.debug(f"result: {result}") + obj_PIIEntity = PIIEntity(type=result.entity_type, + beginOffset=result.start, + endOffset=result.end, + score=result.score) + log.debug(f"obj_PIIEntity: {obj_PIIEntity}") + list_PIIEntity.append(obj_PIIEntity) + del obj_PIIEntity + + log.debug(f"list_PIIEntity: {list_PIIEntity}") + objPIIAnalyzeResponse = PIIAnalyzeResponse + objPIIAnalyzeResponse.PIIEntities = list_PIIEntity + + log.debug("Returning from image_analyze function") + # ApiCall.encryptionList.clear() + return objPIIAnalyzeResponse + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"imageAnalyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + + + def temp(payload): + engine = ImageAnalyzerEngine() + + image = Image.open(payload.file) + results = engine.analyze(image) + #log.debug(f"results: {results}") + list_PIIEntity = [] + for result in results: + log.debug(f"result: {result}") + list_PIIEntity.append(result.entity_type) + + + + + return list_PIIEntity + + + + def image_anonymize(payload): + log.debug("Entering in image_anonymize function") + error_dict[request_id_var.get()]=[] + try: + payload=AttributeDict(payload) + # analyzer,registry=ConfModle.getAnalyzerEngin("en_core_web_lg") + ocr=None + global imageRedactorEngine + if(payload.easyocr=="EasyOcr"): + ocr=EasyOCR() + EasyOCR.setMag(payload.mag_ratio) + + imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + imageRedactorEngine = ImageRedactorEngine(image_analyzer_engine=imageAnalyzerEngine) + if(payload.easyocr=="ComputerVision"): + ocr=ComputerVision() + # EasyOCR.setMag(payload.mag_ratio) + + imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + imageRedactorEngine = ImageRedactorEngine(image_analyzer_engine=imageAnalyzerEngine) + # engine = ImageRedactorEngine() + payload=AttributeDict(payload) + image = Image.open(payload.image.file) + + + angle=0 + if(payload.rotationFlag): + image,angle=ImageRotation.rotateImage(image) + + # registry.load_predefined_recognizers() + # log.debug("payload.image.file====="+str(payload.image.file)) + if(payload.exclusion == None): + exclusionList=[] + else: + exclusionList=payload.exclusion.split(",") + if(payload.portfolio== None): + redacted_image = imageRedactorEngine.redact(image, (255, 192, 203), allow_list=exclusionList) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + else: + result=[] + preEntity=[] + response_value=ApiCall.request(payload) + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + return response_value + entityType,datalist,preEntity=response_value + # entityType,datalist,preEntity=ApiCall.request(payload) + for d in range(len(datalist)): + record=ApiCall.getRecord(entityType[d]) + record=AttributeDict(record) + # log.debug("Record=="+str(record)) + + if(record.RecogType=="Data"): + dataRecog=(DataListRecognizer(terms=datalist[d],entitie=[entityType[d]])) + registry.add_recognizer(dataRecog) + # log.debug("++++++"+str(entityType[d])) + # results = engine.analyze(image,entities=[entityType[d]]) + # redacted_image = engine.redact(image, (255, 192, 203),entities=[entityType[d]]) + # processed_image_stream = io.BytesIO() + # redacted_image.save(processed_image_stream, format='PNG') + elif(record.RecogType=="Pattern" and record.isPreDefined=="No"): + contextObj=record.Context.split(',') + pattern="|".join(datalist[d]) + log.debug("pattern="+str(pattern)) + patternObj = Pattern(name=entityType[d], + regex=pattern, + score=record.Score) + patternRecog = PatternRecognizer(supported_entity=entityType[d], + patterns=[patternObj],context=contextObj) + registry.add_recognizer(patternRecog) + # log.debug("=="+str(entityType[d])) + # results = engine.analyze(image,entities=[entityType[d]]) + redacted_image = imageRedactorEngine.redact(image, (255, 192, 203),entities=entityType+preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # log.debug("redacted_image=="+str(redacted_image)) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + # log.debug("redacted_image="+str(redacted_image)) + image=redacted_image + # results = PrivacyService.__analyze(text=payload.inputText,accName=accMasterid.accMasterId) + # if(len(preEntity)>0): + # redacted_image = imageRedactorEngine.redact(image, (255, 192, 203),entities=preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # processed_image_stream = io.BytesIO() + # redacted_image.save(processed_image_stream, format='PNG') + # preEntity.clear() + if(angle!=0 and payload.rotationFlag==True): + redacted_image,angle=ImageRotation.rotateImage(redacted_image,angle) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + # redacted_image.show() + # redacted_image = engine.redact(image, (255, 192, 203),entities=preEntity) + # processed_image_stream = io.BytesIO() + # redacted_image.save(processed_image_stream, format='PNG') + processed_image_bytes = processed_image_stream.getvalue() + base64_encoded_image=base64.b64encode(processed_image_bytes) + # saveImage.saveImg(base64_encoded_image) + saveImage.saveImg(base64_encoded_image) + log.debug("Returning from image_anonymize function") + # ApiCall.encryptionList.clear() + return base64_encoded_image + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"imageAnonimyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + async def image_masking(main_image,template_image): + template_gray = cv2.cvtColor(template_image, cv2.COLOR_BGR2GRAY) + # Threshold the template image to create a binary mask + _, template_mask = cv2.threshold(template_gray, 1, 255, cv2.THRESH_BINARY) + + # Perform template matching + result = cv2.matchTemplate(main_image, template_image, cv2.TM_CCOEFF_NORMED) + _, max_val, _, max_loc = cv2.minMaxLoc(result) + + # Get the dimensions of the template image + template_height, template_width = template_image.shape[:2] + + # Create a mask with the same size as the main image + mask = np.zeros(main_image.shape[:2], dtype=np.uint8) + + # Set the region of interest (ROI) in the mask based on the template location + mask[max_loc[1]:max_loc[1] + template_height, max_loc[0]:max_loc[0] + template_width] = 255 + + # Apply the mask to the main image + result_with_mask = cv2.bitwise_and(main_image, main_image, mask=cv2.bitwise_not(mask)) + + return result_with_mask + + def zipimage_anonymize(payload): #$$$$$$$$$$$$ + result=[] + in_memory_file=io.BytesIO(payload.file.read()) + + engine = ImageRedactorEngine() + log.debug("=="+str(is_zipfile(payload.file))) + + with ZipFile(in_memory_file, 'r') as zObject: + for file_name in zObject.namelist(): + + log.debug(zObject.namelist()) + log.debug("=="+str(type(zObject))) + file_data=zObject.read(file_name) + image=Image.open(io.BytesIO(file_data)) + redacted_image = engine.redact(image, (255, 192, 203)) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + processed_image_bytes = processed_image_stream.getvalue() + base64_encoded_image=base64.b64encode(processed_image_bytes) + result.append(base64_encoded_image) + return result + + def image_verify(payload): + error_dict[request_id_var.get()]=[] + log.debug("Entering in image_verify function") + try: + # analyzer,registry=ConfModle.getAnalyzerEngin("en_core_web_lg") + # engine1 = ImageAnalyzerEngine(analyzer_engine=analyzer) + # imagePiiVerifyEngine = ImagePiiVerifyEngine(image_analyzer_engine=imageAnalyzerEngine) + # enginex=EncryptImage(image_analyzer_engine=engine1) + global imagePiiVerifyEngine + payload=AttributeDict(payload) + image = Image.open(payload.image.file) + # registry.load_predefined_recognizers() + if(payload.exclusion == None): + exclusionList=[] + else: + exclusionList=payload.exclusion.split(",") + + if(payload.portfolio== None): + verify_image = imagePiiVerifyEngine.verify(image, allow_list=exclusionList) + processed_image_stream = io.BytesIO() + verify_image.save(processed_image_stream, format='PNG') + + else: + result=[] + preEntity=[] + response_value=ApiCall.request(payload) + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + return response_value + entityType,datalist,preEntity=response_value + + # Al=ApiCall.encryptionList + for d in range(len(datalist)): + record=ApiCall.getRecord(entityType[d]) + record=AttributeDict(record) + + if(record.RecogType=="Data"): + dataRecog=(DataListRecognizer(terms=datalist[d],entitie=[entityType[d]])) + registry.add_recognizer(dataRecog) + elif(record.RecogType=="Pattern" and record.isPreDefined=="No"): + contextObj=record.Context.split(',') + pattern="|".join(datalist[d]) + log.debug("pattern="+str(pattern)) + patternObj = Pattern(name=entityType[d], + regex=pattern, + score=record.Score) + patternRecog = PatternRecognizer(supported_entity=entityType[d], + patterns=[patternObj],context=contextObj) + registry.add_recognizer(patternRecog) + verify_image = imagePiiVerifyEngine.verify(image,entities=entityType+preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # verify_image = enginex.encrypt(image,encryptionList=Al,entities=[entityType[d]], allow_list=exclusionList) + processed_image_stream = io.BytesIO() + verify_image.save(processed_image_stream, format='PNG') + # log.debug("redacted_image="+str(redacted_image)) + image=verify_image + # results = PrivacyService.__analyze(text=payload.inputText,accName=accMasterid.accMasterId) + # if(len(preEntity)>0): + + # verify_image = imagePiiVerifyEngine.verify(image,entities=preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # # verify_image = enginex.encrypt(image,encryptionList=Al,entities=preEntity, allow_list=exclusionList) + + + # processed_image_stream = io.BytesIO() + # verify_image.save(processed_image_stream, format='PNG') + # preEntity.clear() + + processed_image_bytes = processed_image_stream.getvalue() + base64_encoded_image=base64.b64encode(processed_image_bytes) + saveImage.saveImg(base64_encoded_image) + log.debug("Returning from image_verify function") + # ApiCall.encryptionList.clear() + return base64_encoded_image + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"imageVeryFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + def imageEncryption(payload): + error_dict[request_id_var.get()]=[] + log.debug("Entering in imageEncryption function") + try: + payload=AttributeDict(payload) + EncryptImage.entity.clear() + # analyzer,registry=ConfModle.getAnalyzerEngin("en_core_web_lg") + + ocr=None + global encryptImageEngin + if(payload.easyocr=="EasyOcr"): + ocr=EasyOCR() + EasyOCR.setMag(payload.mag_ratio) + imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + encryptImageEngin=EncryptImage(image_analyzer_engine=imageAnalyzerEngine) # + if(payload.easyocr=="ComputerVision"): + ocr=ComputerVision() + # EasyOCR.setMag(payload.mag_ratio) + + imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + encryptImageEngin=EncryptImage(image_analyzer_engine=imageAnalyzerEngine) + # engine = ImageRedactorEngine(image_analyzer_engine=engine1) + # engine = ImageRedactorEngine() + payload=AttributeDict(payload) + image = Image.open(payload.image.file) + angle=0 + if(payload.rotationFlag): + image,angle=ImageRotation.rotateImage(image) + # registry.load_predefined_recognizers() + # log.debug("payload.image.file====="+str(payload.image.file)) + encryptMapper=[] + if(payload.exclusion == None): + exclusionList=[] + else: + exclusionList=payload.exclusion.split(",") + encryptImageEngin.getText(image) + if(payload.portfolio== None): + # redacted_image = engine.redact(image, (255, 192, 203), allow_list=exclusionList) + redacted_image = encryptImageEngin.imageAnonimyze(image, (255, 192, 203), allow_list=exclusionList) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + else: + result=[] + preEntity=[] + response_value=ApiCall.request(payload) + # encryptionList=ApiCall.encryptionList + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + return response_value + encryptionList=admin_par[request_id_var.get()]["encryptionList"] + entityType,datalist,preEntity=response_value + # entityType,datalist,preEntity=ApiCall.request(payload) + for d in range(len(datalist)): + record=ApiCall.getRecord(entityType[d]) + record=AttributeDict(record) + # log.debug("Record=="+str(record)) + + if(record.RecogType=="Data"): + dataRecog=(DataListRecognizer(terms=datalist[d],entitie=[entityType[d]])) + registry.add_recognizer(dataRecog) + # log.debug("++++++"+str(entityType[d])) + # results = engine.analyze(image,entities=[entityType[d]]) + # redacted_image = engine.redact(image, (255, 192, 203),entities=[entityType[d]]) + # processed_image_stream = io.BytesIO() + # redacted_image.save(processed_image_stream, format='PNG') + elif(record.RecogType=="Pattern" and record.isPreDefined=="No"): + contextObj=record.Context.split(',') + pattern="|".join(datalist[d]) + log.debug("pattern="+str(pattern)) + patternObj = Pattern(name=entityType[d], + regex=pattern, + score=record.Score) + patternRecog = PatternRecognizer(supported_entity=entityType[d], + patterns=[patternObj],context=contextObj) + registry.add_recognizer(patternRecog) + # log.debug("=="+str(entityType[d])) + # results = engine.analyze(image,entities=[entityType[d]]) + redacted_image = encryptImageEngin.imageAnonimyze(image, (255, 192, 203),encryptionList=encryptionList,entities=entityType+preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # log.debug("redacted_image=="+str(redacted_image)) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + # log.debug("redacted_image="+str(redacted_image)) + image=redacted_image + # results = PrivacyService.__analyze(text=payload.inputText,accName=accMasterid.accMasterId) + # if(len(preEntity)>0): + # redacted_image = encryptImageEngin.imageAnonimyze(image, (255, 192, 203),encryptionList=encryptionList,entities=preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # processed_image_stream = io.BytesIO() + # redacted_image.save(processed_image_stream, format='PNG') + # preEntity.clear() + + EncryptImage.dis() + res=encryptImageEngin.encrypt(redacted_image,encryptionList=encryptionList) + redacted_image=res[0] + encryptMapper=res[1] + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + + if(angle!=0 and payload.rotationFlag==True): + redacted_image,angle=ImageRotation.rotateImage(redacted_image,angle) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + # redacted_image = engine.redact(image, (255, 192, 203),entities=preEntity) + # processed_image_stream = io.BytesIO() + # redacted_image.save(processed_image_stream, format='PNG') + processed_image_bytes = processed_image_stream.getvalue() + base64_encoded_image=base64.b64encode(processed_image_bytes) + # saveImage.saveImg(base64_encoded_image) + saveImage.saveImg(base64_encoded_image) + obj={"map":encryptMapper,"img":base64_encoded_image} + log.debug("Returning from imageEncryption function") + # ApiCall.encryptionList.clear() + return obj + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"imageHashifyFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) +class saveImage: + def saveImg(img_data): + + + with open("imageToSave.png", "wb") as fh: + fh.write(base64.decodebytes(img_data)) \ No newline at end of file diff --git a/src/privacy/service/logo_service.py b/src/privacy/service/logo_service.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/service/privacytelemetryservice.py b/src/privacy/service/privacytelemetryservice.py new file mode 100644 index 0000000000000000000000000000000000000000..6ddd8fbefd1040e3a90c7abd98d1faf5bce5a9da --- /dev/null +++ b/src/privacy/service/privacytelemetryservice.py @@ -0,0 +1,29 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' +class PrivacyTelemetryRequest: + def __init__(self, tenant, apiname, date,user,beginOffset,endOffset,score,responseText,restype, portfolio=None, accountname=None, exclusion_list=None, entityrecognised=None,inputText=None): + self.tenant = tenant + self.apiname = apiname + self.date = date + self.user = user + self.privacy_requests = { + 'portfolio_name': str(portfolio) if portfolio is not None else "None", + 'account_name': str(accountname) if accountname is not None else "None", + 'exclusion_list': exclusion_list.split(',') if exclusion_list is not None else [], + 'inputText': str(inputText) if inputText is not None else "None", + } + self.privacy_response = { + 'type': str(restype) if restype is not None else "None", + 'beginOffset': float(beginOffset) if beginOffset is not None else 0, + 'endOffset': float(endOffset) if endOffset is not None else 0, + 'score': float(score) if score is not None else "None", + 'responseText': str(responseText) if responseText is not None else "None", + + } \ No newline at end of file diff --git a/src/privacy/service/service.ipynb b/src/privacy/service/service.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..08bf2b9e910f0a09de0e605d7ef3e13eecaa5500 --- /dev/null +++ b/src/privacy/service/service.ipynb @@ -0,0 +1,93 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'privacy'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\src\\privacy\\service\\service.ipynb Cell 1\u001b[0m line \u001b[0;36m6\n\u001b[0;32m 2\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mre\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpresidio_anonymizer\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mentities\u001b[39;00m \u001b[39mimport\u001b[39;00m (RecognizerResult,\n\u001b[0;32m 4\u001b[0m OperatorResult,\n\u001b[0;32m 5\u001b[0m OperatorConfig)\n\u001b[1;32m----> 6\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mservice\u001b[39;00m \u001b[39mimport\u001b[39;00m PrivacyService\n", + "File \u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\src\\privacy\\service\\service.py:13\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mrequests\u001b[39;00m\n\u001b[0;32m 12\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mpandas\u001b[39;00m \u001b[39mas\u001b[39;00m \u001b[39mpd\u001b[39;00m\n\u001b[1;32m---> 13\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mprivacy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mservice\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39measy\u001b[39;00m \u001b[39mimport\u001b[39;00m EasyOCR\n\u001b[0;32m 14\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mprivacy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mdao\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mTelemetryFlagDb\u001b[39;00m \u001b[39mimport\u001b[39;00m TelemetryFlag\n\u001b[0;32m 15\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mprivacy\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mmappers\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mmappers\u001b[39;00m \u001b[39mimport\u001b[39;00m \u001b[39m*\u001b[39m\n", + "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'privacy'" + ] + } + ], + "source": [ + "import numpy as np\n", + "import re\n", + "from presidio_anonymizer.entities import (RecognizerResult,\n", + " OperatorResult,\n", + " OperatorConfig)\n", + "from service import PrivacyService" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from presidio_anonymizer import AnonymizerEngine\n", + "\n", + "# Initialize the anonymizer engine\n", + "anonymizer = AnonymizerEngine()\n", + "\n", + "# Define the text containing PII\n", + "text = \"My email is john.doe@example.com\"\n", + "\n", + "# Apply differential privacy to the PII value\n", + "epsilon = 0.1 # Privacy parameter for differential privacy\n", + "sensitivity = 1 # Sensitivity of the PII value\n", + "delta = 1e-6 # Privacy parameter for differential privacy\n", + "\n", + "# Calculate the noise to be added\n", + "scale = sensitivity / epsilon\n", + "laplace_noise = np.random.laplace(loc=0, scale=scale)\n", + "\n", + "# Add the noise to the PII value\n", + "noisy_value = 1234567890 + laplace_noise\n", + "results = PrivacyService.__analyze(text=text)\n", + "# Anonymize the noisy value using Presidio\n", + "anonymized_text = anonymizer.anonymize(\n", + " text,\n", + " analyzer_results=results,\n", + " operators=\n", + " {\"Email\": OperatorConfig({\"type\": \"replace\", \"value\": str(noisy_value)})}\n", + " ,\n", + ")\n", + "\n", + "# Print the anonymized text\n", + "print(anonymized_text)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "myenv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/privacy/service/test_service.py b/src/privacy/service/test_service.py new file mode 100644 index 0000000000000000000000000000000000000000..61cf95c22b1784a0b84b88ebaaf7c275af01358c --- /dev/null +++ b/src/privacy/service/test_service.py @@ -0,0 +1,1324 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' +#from privacy.mappers.mappers import PIIEntity, PIIAnalyzeRequest, PIIAnalyzeResponse,PIIAnonymizeRequest,PIIAnonymizeResponse,PIIImageAnonymizeResponse,PIIImageAnalyzeResponse,PIIImageAnalyzeRequest +#from privacy.mappers.mappers import PIIEntity, PIIAnalyzeRequest, PIIAnalyzeResponse,PIIAnonymizeRequest,PIIAnonymizeResponse,PIIImageAnonymizeResponse,PIIImageAnalyzeResponse,PIIImageAnalyzeRequest +import json +import io, base64 +import random +from PIL import Image +import requests +import pandas as pd +from privacy.service.easy import EasyOCR +from privacy.service.azureComputerVision import ComputerVision +# from privacy.dao.TelemetryFlagDb import TelemetryFlag +from privacy.mappers.mappers import * +import os +# from privacy.dao.privacy.PrivacyException import ExceptionDb +import httpx +# from privacy.util.nltk_recog import CustomNltkNlpEngine + +from privacy.util.encrypt import EncryptImage + +from typing import List +from privacy.constants.local_constants import (DELTED_SUCCESS_MESSAGE) +from privacy.exception.exception import PrivacyNameNotEmptyError, PrivacyException, PrivacyNotFoundError +from presidio_analyzer import Pattern, PatternRecognizer, AnalyzerEngine, RecognizerRegistry,predefined_recognizers +from presidio_anonymizer import AnonymizerEngine, DeanonymizeEngine +from presidio_anonymizer.entities import (RecognizerResult, + OperatorResult, + OperatorConfig) +from privacy.config.logger import CustomLogger +from presidio_image_redactor import ImageRedactorEngine,ImageAnalyzerEngine,ImagePiiVerifyEngine +from fastapi import FastAPI, UploadFile +from fastapi.responses import FileResponse +from PIL import Image +import base64 +import io +import os +#import zipfile +from zipfile import ZipFile,is_zipfile +from dotenv import load_dotenv +import tempfile +import glob +from pathlib import Path +import matplotlib.pyplot as plt +import pydicom +from presidio_image_redactor import DicomImageRedactorEngine +from presidio_analyzer.nlp_engine import NlpEngineProvider +from privacy.util.conf.conf import ConfModle +# from privacy.dao.AccDataGrpMappingDb import AccDataGrpDb +# from privacy.dao.DataRecogdb import RecogDb +# from privacy.dao.EntityDb import EntityDb +# from privacy.dao.AccMasterDb import AccMasterDb +# from privacy.dao.privacy.PrivacyException import ExceptionDb +from privacy.config.logger import request_id_var +load_dotenv() +import numpy as np +import cv2 +import re +from faker import Faker +fake = Faker() + +from privacy.util.fakerEntities import FakeData +# from privacy.util.flair_recognizer import FlairRecognizer + +log = CustomLogger() +import time +# import gc +# importing the library +# from memory_profiler import profile +import cv2 +import pytesseract +from scipy import ndimage +from PIL import Image as im +from privacy.util.special_recognizers.DataListRecognizer import DataListRecognizer +# global error_dict +from privacy.service.__init__ import * +from privacy.service.api_req import ApiCall + +from xeger import Xeger +x = Xeger() + +import contextvars + +# session_dict = contextvars.ContextVar('session_dict', default={}) + +# # Example usage: +# def update_session_dict(key, value): +# session_dict.get()[key] = value + +# def get_session_dict(): +# return session_dict.get() + + + +# t=x.xeger(p) +# print(t) + +# # global error_dict +# error_dict={} +# admin_par={} + + +class ImageRotation: + def float_convertor(x): + if x.isdigit(): + out= float(x) + else: + out= x + return out + def getAngle(image): + k = pytesseract.image_to_osd(image) + out = {i.split(":")[0]: ImageRotation.float_convertor(i.split(":")[-1].strip()) for i in k.rstrip().split("\n")} + return out["Rotate"] + def rotateImage(image,preAngle=0): + angle=0 + # t=time.time() + if(preAngle==0): + angle=ImageRotation.getAngle(image) + # print("angle:",time.time()-t) + if(preAngle==angle): + return (image,angle) + img_rotated = ndimage.rotate(image, preAngle-angle) + image = im.fromarray(img_rotated) + return (image,angle) + + +# class AttributeDict(dict): +# __getattr__ = dict.__getitem__ +# __setattr__ = dict.__setitem__ +# __delattr__ = dict.__delitem__ +# class Data: +# encrypted_text=[] +# # log.info("============2") +# registry = RecognizerRegistry() +# # log.info("============2a") +# # analyzer = AnalyzerEngine(registry=registry) +# # log.debug("============2b") +# anonymizer = AnonymizerEngine() +# # Create NLP engine based on configuration +# # flair_recognizer = ( +# # FlairRecognizer() +# # ) +# # registry.add_recognizer(flair_recognizer) +# # provider = NlpEngineProvider(nlp_configuration=configuration) +# analyzer = AnalyzerEngine(registry=registry) +# imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer) +# imageRedactorEngine = ImageRedactorEngine(image_analyzer_engine=imageAnalyzerEngine) +# imagePiiVerifyEngine = ImagePiiVerifyEngine(image_analyzer_engine=imageAnalyzerEngine) +# encryptImageEngin=EncryptImage(image_analyzer_engine=imageAnalyzerEngine) +# deanonymizer = DeanonymizeEngine() +# registry.load_predefined_recognizers() + + +class PrivacyService: + # @profile + + def analyze(payload: PIIAnalyzeRequest) -> PIIAnalyzeResponse: + error_dict[request_id_var.get()]=[] + log.debug("Entering in analyze function") + # gc.collect() + log.debug(f"payload: {payload}") + try: + if(payload.exclusionList == None): + exclusionList=[] + else: + exclusionList=payload.exclusionList + + if(payload.portfolio== None): + results = PrivacyService.__analyze(text=payload.inputText,exclusion=exclusionList) + else: + results = PrivacyService.__analyze(text=payload.inputText,accName=payload,exclusion=exclusionList) + if results == None: + return None + if( results== 404): + return results + list_PIIEntity = [] + results=sorted(results, key=lambda i: i.start) + + for result in results: + log.debug(f"result: {result}") + obj_PIIEntity = PIIEntity(type=result.entity_type, + beginOffset=result.start, + endOffset=result.end, + score=result.score, + responseText=payload.inputText[result.start:result.end]) + log.debug(f"obj_PIIEntity: {obj_PIIEntity}") + list_PIIEntity.append(obj_PIIEntity) + del obj_PIIEntity + + log.debug(f"list_PIIEntity: {list_PIIEntity}") + objPIIAnalyzeResponse = PIIAnalyzeResponse + objPIIAnalyzeResponse.PIIEntities = list_PIIEntity + # gc.collect() + log.debug("Returning from analyze function") + return objPIIAnalyzeResponse + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"textAnalyzeMainFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"textAnalyzeMainFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + # @profile + + def __analyze(text: str,accName:any=None,exclusion:any=None): + result=[] + + + try: + if(accName==None): + # print("result------",PIIAnalyzeRequest.language) + # ent_pattern=[] + result = analyzer.analyze(text=text,language="en",allow_list=exclusion,return_decision_process = True) + # print("result------",result) + # print("result====192====",result) + + + # #score_threshold reference + # # gc.collect() + # print("ent_pattern list====",ent_pattern) + + else: + preEntity=[] + # entityType,datalist,preEntity=admin_par[request_id_var.get()]["scoreTreshold"].request(accName) + # entityType,datalist,preEntity=ApiCall.request(accName) + dataistEnt = [] + + response_value=ApiCall.request(accName) + + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + return response_value + + entityType,datalist,preEntity=response_value + #print('=====',datalist) + for d in range(len(datalist)): + record=ApiCall.getRecord(entityType[d]) + record=AttributeDict(record) + log.debug("Record====="+str(record)) + + # predefined_recognizers.data_recognizer.DataList.entity.clear() + # predefined_recognizers.data_recognizer.DataList.resetData() + if(record.RecogType=="Data"): + + dataRecog=(DataListRecognizer(terms=datalist[d],entitie=[entityType[d]])) + registry.add_recognizer(dataRecog) + # predefined_recognizers.data_recognizer.DataList.entity.append(entityType[d]) + # predefined_recognizers.data_recognizer.DataList.setData(datalist[d]) + #print("EntityTye226===",entityType[d]) + #print("datalist===",datalist[d]) + update_session_dict(entityType[d], datalist[d]) + data = {entityType[d]: datalist[d]} + dataistEnt.append(data) + + elif(record.RecogType=="Pattern" and record.isPreDefined=="No"): + contextObj=record.Context.split(',') + pattern="|".join(datalist[d]) + # print("=",pattern) + log.debug("pattern="+str(pattern)) + patternObj = Pattern(name=entityType[d], + regex=pattern, + score=record.Score) + patternRecog = PatternRecognizer(supported_entity=entityType[d], + patterns=[patternObj],context=contextObj) + registry.add_recognizer(patternRecog) + + # result.clear() + # print(";;",entityType) + results = analyzer.analyze(text=text, language="en",entities=entityType+preEntity,allow_list=exclusion,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # entityType.remove(preEntity) + result.extend(results) + # preEntity.clear() + # if len(preEntity) > 0: + # results = analyzer.analyze(text=text, language="en",entities=preEntity,allow_list=exclusion,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # preEntity.clear() + # result.extend(results) + # predefined_recognizers.data_recognizer.DataList.entity.clear() + # predefined_recognizers.data_recognizer.DataList.resetData() + + log.debug(f"results: {results}") + log.debug(f"type results: {type(results)}") + # result.extend(results) + # gc.collect() + # del analyzer + # del registry + # ApiCall.encryptionList.clear() + log.debug("result="+str(result)) + + return result + except Exception as e: + log.error(str(e)) + # print("======================",error_dict) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"textAnalyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"textAnalyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + def anonymize(payload: PIIAnonymizeRequest): + error_dict[request_id_var.get()]=[] + log.debug("Entering in anonymize function") + try: + Data.encrypted_text.clear() + # print("list",registry) + # print("list",registry.recognizers) + if(payload.exclusionList == None): + exclusionList=[] + else: + exclusionList=payload.exclusionList + if(payload.portfolio== None): + results = PrivacyService.__analyze(text=payload.inputText,exclusion=exclusionList) + else: + results = PrivacyService.__analyze(text=payload.inputText,accName=payload,exclusion=exclusionList) + + ent_pattern=[] + if results == None: + return None + + if(results==404): + # print( response_value) + return results + dict_operators = {} + if payload.fakeData == True: + # fakeDataGeneration() used for generating fakeData for the entities whcih return dict containg the fake data is replaced with entity.... + fake_dict_operator = FakeDataGenerate.fakeDataGeneration(results,payload.inputText) + dict_operators.update(fake_dict_operator) + + + encryptionList=[] + if(payload.portfolio!= None ): + + encryptionList=admin_par[request_id_var.get()]["encryptionList"] + # print("==============================",encryptionList) + if encryptionList is not None and len(encryptionList) >0 : + for entity in encryptionList: + print("---------------------------") + dict_operators.update({entity: OperatorConfig("hash", {"hash-type": 'md5'})}) + # else: + # dict_operators = None + + # ApiCall.encryptionList.clear() + anonymize_text = anonymizer.anonymize(text=payload.inputText, + operators=dict_operators, + analyzer_results=results) + + + log.debug(f"anonymize_text: {anonymize_text}") + log.debug(f"anonymize_text_item"+ str(anonymize_text.items)) + + obj_PIIAnonymizeResponse = PIIAnonymizeResponse + obj_PIIAnonymizeResponse.anonymizedText = anonymize_text.text + log.debug("Returning from anonymize function") + + return obj_PIIAnonymizeResponse + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"textAnonimyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + def encrypt(payload: PIIAnonymizeRequest): + log.debug("Entering in encrypt function") + + try: + Data.encrypted_text.clear() + + if(payload.exclusionList == None): + exclusionList=[] + else: + exclusionList=payload.exclusionList + if(payload.portfolio== None): + results = PrivacyService.__analyze(text=payload.inputText,exclusion=exclusionList) + else: + results = PrivacyService.__analyze(text=payload.inputText,accName=payload,exclusion=exclusionList) + + if results == None: + return None + dict_operators = {} + + crypto_key = "WmZq4t7w!z%C&F)J" + + for i in results: + dict_operators.update({i.entity_type : OperatorConfig("encrypt", {"key": crypto_key})}) + + anonymize_text = anonymizer.anonymize(text=payload.inputText, + operators=dict_operators, + analyzer_results=results) + + log.debug(f"anonymize_text: {anonymize_text}") + log.debug(f"anonymize_text_item"+ str(anonymize_text.items)) + + obj_PIIEncryptResponse = PIIEncryptResponse + obj_PIIEncryptResponse.text = anonymize_text.text + obj_PIIEncryptResponse.items= anonymize_text.items + log.debug("Returning from encrypt function") + + return obj_PIIEncryptResponse + + + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"textAnonimyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + def decryption(payload: PIIDecryptRequest): + log.debug("Entering in decrypt function") + # payload=AttributeDict(payload) + print("payload=====",payload) + try: + anonymized_text = payload.text + anonymized_entities = payload.items + + crypto_key = "WmZq4t7w!z%C&F)J" + list_ent= [] + for item in anonymized_entities: + list_ent.append(OperatorResult(start=item.start, + end=item.end , + entity_type= item.entity_type, + text= item.text, + operator= item.operator,)) + anonymized_entities=list_ent + + deanonymized_result = deanonymizer.deanonymize(text=anonymized_text, + entities=anonymized_entities, + operators={"DEFAULT": OperatorConfig("decrypt", {"key": crypto_key})},) + + obj_PIIDecryptResponse = PIIDecryptResponse + obj_PIIDecryptResponse.decryptedText = deanonymized_result.text + log.debug("Returning from anonymize function") + + return obj_PIIDecryptResponse + + + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"textAnonimyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + + def image_analyze(payload): + error_dict[request_id_var.get()]=[] + try: + log.debug("Entering in image_analyze function") + payload=AttributeDict(payload) + image = Image.open(payload.image.file) + + # analyzer,registry=ConfModle.getAnalyzerEngin("en_core_web_lg") + angle=0 + if(payload.rotationFlag): + image,angle=ImageRotation.rotateImage(image) + + ocr=None + global imageAnalyzerEngine + if(payload.easyocr=="EasyOcr"): + ocr=EasyOCR() + EasyOCR.setMag(payload.mag_ratio) + tt=time.time() + imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + # print(time.time()-tt) + if(payload.easyocr=="ComputerVision"): + ocr=ComputerVision() + # EasyOCR.setMag(payload.mag_ratio) + + imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + # imageRedactorEngine = ImageRedactorEngine(image_analyzer_engine=imageAnalyzerEngine) + + log.debug("payload="+str(payload)) + if(payload.exclusion == None): + exclusionList=[] + else: + exclusionList=payload.exclusion.split(",") + if(payload.portfolio== None): + results = imageAnalyzerEngine.analyze(image, allow_list=exclusionList) + else: + result=[] + preEntity=[] + response_value=ApiCall.request(payload) + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + return response_value + entityType,datalist,preEntity=response_value + # entityType,datalist,preEntity=ApiCall.request(payload) + # preEntity=["PERSON"] + for d in range(len(datalist)): + record=ApiCall.getRecord(entityType[d]) + record=AttributeDict(record) + # log.debug("Record ======"+str(record)) + + if(record.RecogType=="Data"): + dataRecog=(DataListRecognizer(terms=datalist[d],entitie=[entityType[d]])) + registry.add_recognizer(dataRecog) + # log.debug("++++++"+str(entityType[d])) + # results = engine.analyze(image,entities=[entityType[d]]) + # result.extend(results) + elif(record.RecogType=="Pattern" and record.isPreDefined=="No"): + contextObj=record.Context.split(',') + pattern="|".join(datalist[d]) + log.debug("pattern="+str(pattern)) + patternObj = Pattern(name=entityType[d], + regex=pattern, + score=record.Score) + patternRecog = PatternRecognizer(supported_entity=entityType[d], + patterns=[patternObj],context=contextObj) + registry.add_recognizer(patternRecog) + # log.debug("==========="+str(entityType[d])) + # results = engine.analyze(image,entities=[entityType[d]]) + # result.extend(results) + results = imageAnalyzerEngine.analyze(image,entities=entityType+preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + result.extend(results) + # results = PrivacyService.__analyze(text=payload.inputText,accName=accMasterid.accMasterId) + # if(len(preEntity)>0): + # results = imageAnalyzerEngine.analyze(image,entities=preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # preEntity.clear() + # result.extend(results) + results=result + + #log.debug(f"results: {results}") + + list_PIIEntity = [] + for result in results: + log.debug(f"result: {result}") + obj_PIIEntity = PIIEntity(type=result.entity_type, + beginOffset=result.start, + endOffset=result.end, + score=result.score) + log.debug(f"obj_PIIEntity: {obj_PIIEntity}") + list_PIIEntity.append(obj_PIIEntity) + del obj_PIIEntity + + log.debug(f"list_PIIEntity: {list_PIIEntity}") + objPIIAnalyzeResponse = PIIAnalyzeResponse + objPIIAnalyzeResponse.PIIEntities = list_PIIEntity + + log.debug("Returning from image_analyze function") + # ApiCall.encryptionList.clear() + return objPIIAnalyzeResponse + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"imageAnalyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + + + def temp(payload): + engine = ImageAnalyzerEngine() + + image = Image.open(payload.file) + results = engine.analyze(image) + #log.debug(f"results: {results}") + list_PIIEntity = [] + for result in results: + log.debug(f"result: {result}") + list_PIIEntity.append(result.entity_type) + + + + + return list_PIIEntity + + + + def image_anonymize(payload): + log.debug("Entering in image_anonymize function") + error_dict[request_id_var.get()]=[] + try: + payload=AttributeDict(payload) + # analyzer,registry=ConfModle.getAnalyzerEngin("en_core_web_lg") + ocr=None + global imageRedactorEngine + if(payload.easyocr=="EasyOcr"): + ocr=EasyOCR() + EasyOCR.setMag(payload.mag_ratio) + + imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + imageRedactorEngine = ImageRedactorEngine(image_analyzer_engine=imageAnalyzerEngine) + if(payload.easyocr=="ComputerVision"): + ocr=ComputerVision() + # EasyOCR.setMag(payload.mag_ratio) + + imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + imageRedactorEngine = ImageRedactorEngine(image_analyzer_engine=imageAnalyzerEngine) + # engine = ImageRedactorEngine() + payload=AttributeDict(payload) + image = Image.open(payload.image.file) + + + angle=0 + if(payload.rotationFlag): + image,angle=ImageRotation.rotateImage(image) + + # registry.load_predefined_recognizers() + # log.debug("payload.image.file====="+str(payload.image.file)) + if(payload.exclusion == None): + exclusionList=[] + else: + exclusionList=payload.exclusion.split(",") + if(payload.portfolio== None): + redacted_image = imageRedactorEngine.redact(image, (255, 192, 203), allow_list=exclusionList) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + else: + result=[] + preEntity=[] + response_value=ApiCall.request(payload) + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + return response_value + entityType,datalist,preEntity=response_value + # entityType,datalist,preEntity=ApiCall.request(payload) + for d in range(len(datalist)): + record=ApiCall.getRecord(entityType[d]) + record=AttributeDict(record) + # log.debug("Record=="+str(record)) + + if(record.RecogType=="Data"): + dataRecog=(DataListRecognizer(terms=datalist[d],entitie=[entityType[d]])) + registry.add_recognizer(dataRecog) + # log.debug("++++++"+str(entityType[d])) + # results = engine.analyze(image,entities=[entityType[d]]) + # redacted_image = engine.redact(image, (255, 192, 203),entities=[entityType[d]]) + # processed_image_stream = io.BytesIO() + # redacted_image.save(processed_image_stream, format='PNG') + elif(record.RecogType=="Pattern" and record.isPreDefined=="No"): + contextObj=record.Context.split(',') + pattern="|".join(datalist[d]) + log.debug("pattern="+str(pattern)) + patternObj = Pattern(name=entityType[d], + regex=pattern, + score=record.Score) + patternRecog = PatternRecognizer(supported_entity=entityType[d], + patterns=[patternObj],context=contextObj) + registry.add_recognizer(patternRecog) + # log.debug("=="+str(entityType[d])) + # results = engine.analyze(image,entities=[entityType[d]]) + redacted_image = imageRedactorEngine.redact(image, (255, 192, 203),entities=entityType+preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # log.debug("redacted_image=="+str(redacted_image)) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + # log.debug("redacted_image="+str(redacted_image)) + image=redacted_image + # results = PrivacyService.__analyze(text=payload.inputText,accName=accMasterid.accMasterId) + # if(len(preEntity)>0): + # redacted_image = imageRedactorEngine.redact(image, (255, 192, 203),entities=preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # processed_image_stream = io.BytesIO() + # redacted_image.save(processed_image_stream, format='PNG') + # preEntity.clear() + if(angle!=0 and payload.rotationFlag==True): + redacted_image,angle=ImageRotation.rotateImage(redacted_image,angle) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + # redacted_image.show() + # redacted_image = engine.redact(image, (255, 192, 203),entities=preEntity) + # processed_image_stream = io.BytesIO() + # redacted_image.save(processed_image_stream, format='PNG') + processed_image_bytes = processed_image_stream.getvalue() + base64_encoded_image=base64.b64encode(processed_image_bytes) + # saveImage.saveImg(base64_encoded_image) + saveImage.saveImg(base64_encoded_image) + log.debug("Returning from image_anonymize function") + # ApiCall.encryptionList.clear() + return base64_encoded_image + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"imageAnonimyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + async def image_masking(main_image,template_image): + template_gray = cv2.cvtColor(template_image, cv2.COLOR_BGR2GRAY) + # Threshold the template image to create a binary mask + _, template_mask = cv2.threshold(template_gray, 1, 255, cv2.THRESH_BINARY) + + # Perform template matching + result = cv2.matchTemplate(main_image, template_image, cv2.TM_CCOEFF_NORMED) + _, max_val, _, max_loc = cv2.minMaxLoc(result) + + # Get the dimensions of the template image + template_height, template_width = template_image.shape[:2] + + # Create a mask with the same size as the main image + mask = np.zeros(main_image.shape[:2], dtype=np.uint8) + + # Set the region of interest (ROI) in the mask based on the template location + mask[max_loc[1]:max_loc[1] + template_height, max_loc[0]:max_loc[0] + template_width] = 255 + + # Apply the mask to the main image + result_with_mask = cv2.bitwise_and(main_image, main_image, mask=cv2.bitwise_not(mask)) + + return result_with_mask + + def zipimage_anonymize(payload): #$$$$$$$$$$$$ + result=[] + in_memory_file=io.BytesIO(payload.file.read()) + + engine = ImageRedactorEngine() + log.debug("=="+str(is_zipfile(payload.file))) + + with ZipFile(in_memory_file, 'r') as zObject: + for file_name in zObject.namelist(): + + log.debug(zObject.namelist()) + log.debug("=="+str(type(zObject))) + file_data=zObject.read(file_name) + image=Image.open(io.BytesIO(file_data)) + redacted_image = engine.redact(image, (255, 192, 203)) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + processed_image_bytes = processed_image_stream.getvalue() + base64_encoded_image=base64.b64encode(processed_image_bytes) + result.append(base64_encoded_image) + return result + + def image_verify(payload): + error_dict[request_id_var.get()]=[] + log.debug("Entering in image_verify function") + try: + # analyzer,registry=ConfModle.getAnalyzerEngin("en_core_web_lg") + # engine1 = ImageAnalyzerEngine(analyzer_engine=analyzer) + # imagePiiVerifyEngine = ImagePiiVerifyEngine(image_analyzer_engine=imageAnalyzerEngine) + # enginex=EncryptImage(image_analyzer_engine=engine1) + global imagePiiVerifyEngine + payload=AttributeDict(payload) + image = Image.open(payload.image.file) + # registry.load_predefined_recognizers() + if(payload.exclusion == None): + exclusionList=[] + else: + exclusionList=payload.exclusion.split(",") + + if(payload.portfolio== None): + verify_image = imagePiiVerifyEngine.verify(image, allow_list=exclusionList) + processed_image_stream = io.BytesIO() + verify_image.save(processed_image_stream, format='PNG') + + else: + result=[] + preEntity=[] + response_value=ApiCall.request(payload) + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + return response_value + entityType,datalist,preEntity=response_value + + # Al=ApiCall.encryptionList + for d in range(len(datalist)): + record=ApiCall.getRecord(entityType[d]) + record=AttributeDict(record) + + if(record.RecogType=="Data"): + dataRecog=(DataListRecognizer(terms=datalist[d],entitie=[entityType[d]])) + registry.add_recognizer(dataRecog) + elif(record.RecogType=="Pattern" and record.isPreDefined=="No"): + contextObj=record.Context.split(',') + pattern="|".join(datalist[d]) + log.debug("pattern="+str(pattern)) + patternObj = Pattern(name=entityType[d], + regex=pattern, + score=record.Score) + patternRecog = PatternRecognizer(supported_entity=entityType[d], + patterns=[patternObj],context=contextObj) + registry.add_recognizer(patternRecog) + verify_image = imagePiiVerifyEngine.verify(image,entities=entityType+preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # verify_image = enginex.encrypt(image,encryptionList=Al,entities=[entityType[d]], allow_list=exclusionList) + processed_image_stream = io.BytesIO() + verify_image.save(processed_image_stream, format='PNG') + # log.debug("redacted_image="+str(redacted_image)) + image=verify_image + # results = PrivacyService.__analyze(text=payload.inputText,accName=accMasterid.accMasterId) + # if(len(preEntity)>0): + + # verify_image = imagePiiVerifyEngine.verify(image,entities=preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # # verify_image = enginex.encrypt(image,encryptionList=Al,entities=preEntity, allow_list=exclusionList) + + + # processed_image_stream = io.BytesIO() + # verify_image.save(processed_image_stream, format='PNG') + # preEntity.clear() + + processed_image_bytes = processed_image_stream.getvalue() + base64_encoded_image=base64.b64encode(processed_image_bytes) + saveImage.saveImg(base64_encoded_image) + log.debug("Returning from image_verify function") + # ApiCall.encryptionList.clear() + return base64_encoded_image + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"imageVeryFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + def imageEncryption(payload): + error_dict[request_id_var.get()]=[] + log.debug("Entering in imageEncryption function") + try: + payload=AttributeDict(payload) + EncryptImage.entity.clear() + # analyzer,registry=ConfModle.getAnalyzerEngin("en_core_web_lg") + + ocr=None + global encryptImageEngin + if(payload.easyocr=="EasyOcr"): + ocr=EasyOCR() + EasyOCR.setMag(payload.mag_ratio) + imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + encryptImageEngin=EncryptImage(image_analyzer_engine=imageAnalyzerEngine) # + if(payload.easyocr=="ComputerVision"): + ocr=ComputerVision() + # EasyOCR.setMag(payload.mag_ratio) + + imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) + encryptImageEngin=EncryptImage(image_analyzer_engine=imageAnalyzerEngine) + # engine = ImageRedactorEngine(image_analyzer_engine=engine1) + # engine = ImageRedactorEngine() + payload=AttributeDict(payload) + image = Image.open(payload.image.file) + angle=0 + if(payload.rotationFlag): + image,angle=ImageRotation.rotateImage(image) + # registry.load_predefined_recognizers() + # log.debug("payload.image.file====="+str(payload.image.file)) + encryptMapper=[] + if(payload.exclusion == None): + exclusionList=[] + else: + exclusionList=payload.exclusion.split(",") + encryptImageEngin.getText(image) + if(payload.portfolio== None): + # redacted_image = engine.redact(image, (255, 192, 203), allow_list=exclusionList) + redacted_image = encryptImageEngin.imageAnonimyze(image, (255, 192, 203), allow_list=exclusionList) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + else: + result=[] + preEntity=[] + response_value=ApiCall.request(payload) + # encryptionList=ApiCall.encryptionList + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + return response_value + encryptionList=admin_par[request_id_var.get()]["encryptionList"] + entityType,datalist,preEntity=response_value + # entityType,datalist,preEntity=ApiCall.request(payload) + for d in range(len(datalist)): + record=ApiCall.getRecord(entityType[d]) + record=AttributeDict(record) + # log.debug("Record=="+str(record)) + + if(record.RecogType=="Data"): + dataRecog=(DataListRecognizer(terms=datalist[d],entitie=[entityType[d]])) + registry.add_recognizer(dataRecog) + # log.debug("++++++"+str(entityType[d])) + # results = engine.analyze(image,entities=[entityType[d]]) + # redacted_image = engine.redact(image, (255, 192, 203),entities=[entityType[d]]) + # processed_image_stream = io.BytesIO() + # redacted_image.save(processed_image_stream, format='PNG') + elif(record.RecogType=="Pattern" and record.isPreDefined=="No"): + contextObj=record.Context.split(',') + pattern="|".join(datalist[d]) + log.debug("pattern="+str(pattern)) + patternObj = Pattern(name=entityType[d], + regex=pattern, + score=record.Score) + patternRecog = PatternRecognizer(supported_entity=entityType[d], + patterns=[patternObj],context=contextObj) + registry.add_recognizer(patternRecog) + # log.debug("=="+str(entityType[d])) + # results = engine.analyze(image,entities=[entityType[d]]) + redacted_image = encryptImageEngin.imageAnonimyze(image, (255, 192, 203),encryptionList=encryptionList,entities=entityType+preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # log.debug("redacted_image=="+str(redacted_image)) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + # log.debug("redacted_image="+str(redacted_image)) + image=redacted_image + # results = PrivacyService.__analyze(text=payload.inputText,accName=accMasterid.accMasterId) + # if(len(preEntity)>0): + # redacted_image = encryptImageEngin.imageAnonimyze(image, (255, 192, 203),encryptionList=encryptionList,entities=preEntity, allow_list=exclusionList,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # processed_image_stream = io.BytesIO() + # redacted_image.save(processed_image_stream, format='PNG') + # preEntity.clear() + + EncryptImage.dis() + res=encryptImageEngin.encrypt(redacted_image,encryptionList=encryptionList) + redacted_image=res[0] + encryptMapper=res[1] + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + + if(angle!=0 and payload.rotationFlag==True): + redacted_image,angle=ImageRotation.rotateImage(redacted_image,angle) + processed_image_stream = io.BytesIO() + redacted_image.save(processed_image_stream, format='PNG') + # redacted_image = engine.redact(image, (255, 192, 203),entities=preEntity) + # processed_image_stream = io.BytesIO() + # redacted_image.save(processed_image_stream, format='PNG') + processed_image_bytes = processed_image_stream.getvalue() + base64_encoded_image=base64.b64encode(processed_image_bytes) + # saveImage.saveImg(base64_encoded_image) + saveImage.saveImg(base64_encoded_image) + obj={"map":encryptMapper,"img":base64_encoded_image} + log.debug("Returning from imageEncryption function") + # ApiCall.encryptionList.clear() + return obj + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"imageHashifyFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + + + + + + def privacyShield(payload: PIIPrivacyShieldRequest) -> PIIPrivacyShieldResponse: + log.debug("Entering in privacyShield function") + log.debug(f"payload: {payload}") + + res = [] + totEnt=[] + enres=[] + query={} + + log.debug("response="+str(res)) + if(payload.portfolio== None): + response_value=ApiCall.request(payload) + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + + return response_value + entityType,datalist,preEntity=response_value + # entityType,datalist,preEntity=ApiCall.request(payload) + results = PrivacyService.__analyze(text=payload.inputText) + # entity=RecogDb.findall({}) + record=[ele for ele in admin_par[request_id_var.get()]["records"] if ele["isPreDefined"]=="Yes"] + + for i in record: + i=AttributeDict(i) + totEnt.append(i.RecogName) + pass + else: + # entityType,datalist,preEntity=ApiCall.request(payload) + response_value=ApiCall.request(payload) + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + return response_value + entityType,datalist,preEntity=response_value + + to=[] + # log.debug("entityTyope="+str(entityType)) + # log.debug("preEntity="+str(preEntity)) + entityType.extend(preEntity) + # log.debug("entity="+str(entityType)) + totEnt=entityType + + results = PrivacyService.__analyze(text=payload.inputText,accName=payload) + # log.debug("total recoed="+str(totEnt)) + + value=payload.inputText + list_PIIEntity = [] + results=sorted(results, key=lambda i: i.start) + for result in results: + log.debug(f"result: {result}") + enres.append({"type":result.entity_type,"start":result.start,"end":result.end,"value":value[result.start:result.end]}) + # obj_PIIEntity = PIIEntity(type=result.entity_type, + # beginOffset=result.start, + # endOffset=result.end) + log.debug(f"obj_PIIEntity: {enres}") + # list_PIIEntity.append(enres) + # del obj_PIIEntity + + if(len(enres)==0): + temp= "Passed" + else: + temp="Failed" + + objent = PrivacyShield( + entitiesRecognised=enres, + entitiesConfigured= totEnt, + result=temp + ) + list_PIIEntity.append(objent) + log.debug(f"list_PIIEntity: {list_PIIEntity}") + + objPIIAnalyzeResponse = PIIPrivacyShieldResponse + objPIIAnalyzeResponse.privacyCheck = list_PIIEntity + + + log.debug("objPIIAnalyzeResponse="+str(objPIIAnalyzeResponse.privacyCheck)) + log.debug("Returning from privacyShield function") + return objPIIAnalyzeResponse + # return res + +class FakeDataGenerate: + def fakeDataGeneration(results,inputText): + fakeData_Dict = {} + for i in results: + if hasattr(FakeData, i.entity_type): + ent = getattr(FakeData, i.entity_type) + fakeData_Dict.update({i.entity_type: OperatorConfig("replace", {"new_value": ent()})}) + elif i.entity_type in get_session_dict(): + entValue =get_session_dict()[i.entity_type] + # log.debug("result=" + log.debug("Value of entValue 342========"+str(entValue)) + text = str(inputText[i.start:i.end]) + print("text===",text) + random_data="" + while True: + if text in entValue: + random_data = random.choice(entValue) + print("RNDAOM dATA 348===",random_data) + if random_data.lower() != str(inputText[i.start:i.end]).lower() : + fakeData_Dict.update({i.entity_type: OperatorConfig("replace", {"new_value": random_data})}) + entValue.remove(random_data) + break + else: + break + print("Value of entValue 344========",text) + # random_data = DataList + # random_data = random.choice([item for item in entValue if str(item).lower() != text.lower()]) + # random_dataList.append(random_data) + # entValue.remove(random_data) + fakeData_Dict.update({i.entity_type: OperatorConfig("replace", {"new_value": random_data})}) + #print("ent_value after removing====",dict_operators) + # Rest of your code + else: + # Handle the case when ent does not exist + decision_process = i.analysis_explanation + # log.debug("decision process======"+str(decision_process)) + if(decision_process==None): + continue + pattern = decision_process.pattern + # Add function to generate fakeData using regex pattern + t=x.xeger(pattern) + p=r'[\x00-\x1F\x7F-\xFF]' + # p= r"^\ [^]" + t1=re.sub(p, ' ', t) + # print("t1====",t1) + fakeData_Dict.update({i.entity_type: OperatorConfig("replace", {"new_value": t1})}) + + + + return fakeData_Dict + +class DICOM: + def dcmToPng(dcmObj): + plt.clf() + plt.imshow(dcmObj.pixel_array,cmap=plt.cm.bone) + plt.axis('off') + buffer=io.BytesIO() + plt.savefig(buffer,format='png', bbox_inches='tight', pad_inches=0) + buffer.seek(0) + return base64.b64encode(buffer.getvalue()) + + + + + def readDicom(payload): + error_dict[request_id_var.get()]=[] + log.debug("Entering in readDicom function") + try: + # print(type(payload)) + # print(payload.file) + EncryptImage.entity.clear() + # predefined_recognizers.data_recognizer.DataList.entity.clear() + # predefined_recognizers.data_recognizer.DataList.resetData() + DicomEngine = DicomImageRedactorEngine() + dicom_instance = pydicom.dcmread(payload.file) + # print(type(dicom_instance)) + redacted_dicom_instance = DicomEngine.redact(dicom_instance, fill="contrast") + original=DICOM.dcmToPng(dicom_instance) + redacted=DICOM.dcmToPng(redacted_dicom_instance) + + obj={"original":original,"anonymize":redacted} + log.debug("Returning from readDicom function") + return obj + + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"readDICOMFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + + + + + +class saveImage: + def saveImg(img_data): + + + with open("imageToSave.png", "wb") as fh: + fh.write(base64.decodebytes(img_data)) + + + + +# class PrivacyData: +# def getDataList(payload)->dict: +# try: +# accName=None +# if(payload.portfolio!=None): +# payload=AttributeDict(payload) +# # query={"portfolio":payload.portfolio,"account":payload.account} +# query=payload +# accMasterid=AccMasterDb.findall(query) +# if(len(accMasterid)==0): +# obj=([],[],[],[],[],[]) +# return obj +# # print(accMasterid) + +# accName=accMasterid[0].accMasterId +# thresholdScore= accMasterid[0].ThresholdScore + +# datalsit=[] +# newEntityType=[] +# preEntity=[] +# recogList=[] +# encrList=[] + +# # score=[] +# if(accName!=None): +# # print("=====",accName) +# # accMasterid=AccMasterDb.findall({"accMasterName":accName})[0] +# accdata=AccDataGrpDb.findall({"accMasterId":accName}) +# # print(accdata) +# for i in accdata: +# # print("===",i.dataRecogGrpId) +# record=RecogDb.findOne(i.dataRecogGrpId) +# # print(record) +# record=AttributeDict(record) + +# recogList.append(record) +# # print(recogList) +# if(i.isHashify==True): +# encrList.append(record.RecogName) +# if(record.isPreDefined=="No"): +# newEntityType.append(record.RecogName) +# datalsit.append(EntityDb.mycol.distinct("EntityName",{"RecogId":i.dataRecogGrpId})) +# else: +# preEntity.append(record.RecogName) +# # entityType= +# else: +# recogList=RecogDb.findall({}) +# # print(newEntityType) +# # print(preEntity) +# # print(datalsit) +# # print(recogList) + +# obj=(newEntityType,datalsit,preEntity,recogList,encrList,[thresholdScore]) +# return obj +# except Exception as e: + +# log.error(str(e)) +# log.error("Line No:"+str(e.__traceback__.tb_lineno)) +# log.error(str(e.__traceback__.tb_frame)) +# ExceptionDb.create({"UUID":request_id_var.get(),"function":"getDataListFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) +# raise Exception(e) + + + +# class TelemetryFlagData: +# def getTelFlagData(): +# log.debug("Entering in getTelFlagData function") +# try: +# res =[] +# telFlagData = TelemetryFlag.findall({})[0] +# log.debug("telFlagData===="+str(telFlagData)) + +# object = Telemetry( +# Module=telFlagData["Module"], +# TelemetryFlagValue = telFlagData["TelemetryFlag"] +# ) +# res.append(object) + +# obj = TelemetryResponse +# obj.result=res +# # obj.Module = telFlagData["Module"] +# # obj.TelemetryFlagValue = telFlagData["TelemetryFlag"] +# log.debug("Returning from getTelFlagData function") +# return obj +# except Exception as e: +# log.error(str(e)) +# log.error("Line No:"+str(e.__traceback__.tb_lineno)) +# log.error(str(e.__traceback__.tb_frame)) +# # ExceptionDb.create({"UUID":request_id_var.get(),"function":"getTelFlagDataFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) +# raise Exception(e) + +# class ApiCall: +# # records=[] +# # encryptionList=[] +# # scoreTreshold= 0.0 +# def request(data): +# try: +# # admin_par[request_id_var]={} +# # raise Exception() +# # print("==================",os.getenv("ADMIN_CONNECTION")) +# # print("==================",os.getenv("ADMIN_CONNECTION")=="False") + +# if(os.getenv("ADMIN_CONNECTION")=="False" or os.getenv("ADMIN_CONNECTION")=="false"): + +# # print("--------------------------------------------------------------") +# return 404 +# # ApiCall.records.clear() +# # ApiCall.encryptionList.clear() +# payload=AttributeDict({"portfolio":data.portfolio,"account":data.account}) + +# # payload={"accName":"Infosys","subAccName":"Impact"} +# api_url = os.getenv("PRIVADMIN_API") + +# # print(api_url) +# t=time.time() + +# # aurl="http://10.66.155.13:30016/api/v1/rai/admin/PrivacyDataList" +# aurl=api_url +# # log.debug(aurl) +# # log.debug(str(type(aurl))) +# log.debug("Calling Admin Api ======") +# # log.debug("api payload:"+str(payload)) +# # print(payload) +# response1 = requests.post( +# url=aurl +# , headers={'Content-Type': "application/json", +# 'accept': "application/json"} +# , json=payload +# ) +# # print(response1.content[0]) +# # response1=httpx.post(aurl, json=payload) +# # response1=httpx.post('http://10.66.155.13:30016/api/v1/rai/admin/PrivacyDataList', json=payload) +# # log.debug("response="+str(response1)) +# # log.debug("response11="+str(response1.text)) +# # response1=PrivacyData.getDataList(payload) +# entityType,datalist,preEntity,records,encryptionList,scoreTreshold=response1.json()["datalist"] +# # print("=========================",time.time()-t) +# log.debug("data fetched") +# if(len(records)==0): +# return None +# log.debug("entityType="+str(entityType)) +# admin_par[request_id_var.get()]={"encryptionList":encryptionList,"records":records,"scoreTreshold":scoreTreshold[0]} +# # print("===============",len(admin_par)) +# # ApiCall.encryptionList.extend(encryptionList) +# # ApiCall.records.extend(records) +# # ApiCall.scoreTreshold=scoreTreshold[0] +# return(entityType,datalist,preEntity) +# except Exception as e: +# log.error(str(e)) +# log.error("Line No:"+str(e.__traceback__.tb_lineno)) +# log.error(str(e.__traceback__.tb_frame)) +# # print("------------------------------",request_id_var.get()) +# # ExceptionDb.create({"UUID":request_id_var.get(),"function":"ApiRequestFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) +# error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"ApiRequestFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) +# # print("err",error_dict,error_dict[request_id_var.get()]) + +# return Exception(e) +# # raise Exception(e) + + +# # record=[ele for ele in records if ele.RecogName=="PASSPORT"][0] + +# def getRecord(name): +# # log.debug("name="+str(name)) +# # log.debug("ApiCall.records="+str(ApiCall.records)) +# record=[ele for ele in admin_par[request_id_var.get()]["records"] if ele["RecogName"]==name][0] +# return record +# def delAdminList(): +# id=request_id_var.get() +# if id in admin_par: +# del admin_par[id] + + +# class CheckData: +# def check(text,values,key="11111111"): +# # print("PrivacyService.encrypted_text",Data.encrypted_text) +# # text=Data.encrypted_text[0] +# print("=========",text) +# result=[] +# for v in values: +# value=Encrypt.encryptData(key,v) +# if(value in text): +# x=True +# else: +# x=False +# result.append({"value":v,"isPresent":x}) +# print(result) +# return result + + + + + + + diff --git a/src/privacy/service/textPrivacy.py b/src/privacy/service/textPrivacy.py new file mode 100644 index 0000000000000000000000000000000000000000..075e345f6a5530e4af74c15066ff67bcff0386eb --- /dev/null +++ b/src/privacy/service/textPrivacy.py @@ -0,0 +1,410 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + + + +# from privacy.dao.TelemetryFlagDb import TelemetryFlag +from privacy.mappers.mappers import * + +from typing import List +from privacy.constants.local_constants import (DELTED_SUCCESS_MESSAGE) +from privacy.exception.exception import PrivacyNameNotEmptyError, PrivacyException, PrivacyNotFoundError + +from privacy.config.logger import CustomLogger +log = CustomLogger() +from dotenv import load_dotenv +from privacy.config.logger import request_id_var +load_dotenv() +from faker import Faker +fake = Faker() + +from privacy.util.special_recognizers.DataListRecognizer import DataListRecognizer +# global error_dict +from privacy.service.__init__ import * +from privacy.service.api_req import ApiCall + +from privacy.util.special_recognizers.fakeData import FakeDataGenerate +from privacy.service.__init__ import * +from privacy.service.api_req import ApiCall + + +class TextPrivacy: + def analyze(payload: PIIAnalyzeRequest) -> PIIAnalyzeResponse: + error_dict[request_id_var.get()]=[] + log.debug("Entering in analyze function") + # gc.collect() + log.debug(f"payload: {payload}") + try: + if(payload.exclusionList == None): + exclusionList=[] + else: + exclusionList=payload.exclusionList + + if(payload.portfolio== None): + results = TextPrivacy.__analyze(text=payload.inputText,exclusion=exclusionList) + else: + results = TextPrivacy.__analyze(text=payload.inputText,accName=payload,exclusion=exclusionList) + if results == None: + return None + if( results== 404): + return results + list_PIIEntity = [] + results=sorted(results, key=lambda i: i.start) + + for result in results: + log.debug(f"result: {result}") + obj_PIIEntity = PIIEntity(type=result.entity_type, + beginOffset=result.start, + endOffset=result.end, + score=result.score, + responseText=payload.inputText[result.start:result.end]) + log.debug(f"obj_PIIEntity: {obj_PIIEntity}") + list_PIIEntity.append(obj_PIIEntity) + del obj_PIIEntity + + log.debug(f"list_PIIEntity: {list_PIIEntity}") + objPIIAnalyzeResponse = PIIAnalyzeResponse + objPIIAnalyzeResponse.PIIEntities = list_PIIEntity + # gc.collect() + log.debug("Returning from analyze function") + return objPIIAnalyzeResponse + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"textAnalyzeMainFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"textAnalyzeMainFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + # @profile + + def __analyze(text: str,accName:any=None,exclusion:any=None): + result=[] + + + try: + if(accName==None): + # print("result------",PIIAnalyzeRequest.language) + # ent_pattern=[] + result = analyzer.analyze(text=text,language="en",allow_list=exclusion,return_decision_process = True) + # print("result------",result) + # print("result====192====",result) + + + # #score_threshold reference + # # gc.collect() + # print("ent_pattern list====",ent_pattern) + + else: + preEntity=[] + # entityType,datalist,preEntity=admin_par[request_id_var.get()]["scoreTreshold"].request(accName) + # entityType,datalist,preEntity=ApiCall.request(accName) + dataistEnt = [] + + response_value=ApiCall.request(accName) + + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + return response_value + + entityType,datalist,preEntity=response_value + #print('=====',datalist) + for d in range(len(datalist)): + record=ApiCall.getRecord(entityType[d]) + record=AttributeDict(record) + log.debug("Record====="+str(record)) + + # predefined_recognizers.data_recognizer.DataList.entity.clear() + # predefined_recognizers.data_recognizer.DataList.resetData() + if(record.RecogType=="Data"): + + dataRecog=(DataListRecognizer(terms=datalist[d],entitie=[entityType[d]])) + registry.add_recognizer(dataRecog) + # predefined_recognizers.data_recognizer.DataList.entity.append(entityType[d]) + # predefined_recognizers.data_recognizer.DataList.setData(datalist[d]) + #print("EntityTye226===",entityType[d]) + #print("datalist===",datalist[d]) + update_session_dict(entityType[d], datalist[d]) + data = {entityType[d]: datalist[d]} + dataistEnt.append(data) + + elif(record.RecogType=="Pattern" and record.isPreDefined=="No"): + contextObj=record.Context.split(',') + pattern="|".join(datalist[d]) + # print("=",pattern) + log.debug("pattern="+str(pattern)) + patternObj = Pattern(name=entityType[d], + regex=pattern, + score=record.Score) + patternRecog = PatternRecognizer(supported_entity=entityType[d], + patterns=[patternObj],context=contextObj) + registry.add_recognizer(patternRecog) + + # result.clear() + # print(";;",entityType) + results = analyzer.analyze(text=text, language="en",entities=entityType+preEntity,allow_list=exclusion,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # entityType.remove(preEntity) + result.extend(results) + # preEntity.clear() + # if len(preEntity) > 0: + # results = analyzer.analyze(text=text, language="en",entities=preEntity,allow_list=exclusion,score_threshold=admin_par[request_id_var.get()]["scoreTreshold"]) + # preEntity.clear() + # result.extend(results) + # predefined_recognizers.data_recognizer.DataList.entity.clear() + # predefined_recognizers.data_recognizer.DataList.resetData() + + log.debug(f"results: {results}") + log.debug(f"type results: {type(results)}") + # result.extend(results) + # gc.collect() + # del analyzer + # del registry + # ApiCall.encryptionList.clear() + log.debug("result="+str(result)) + + return result + except Exception as e: + log.error(str(e)) + # print("======================",error_dict) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + # ExceptionDb.create({"UUID":request_id_var.get(),"function":"textAnalyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"textAnalyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + def anonymize(payload: PIIAnonymizeRequest): + error_dict[request_id_var.get()]=[] + log.debug("Entering in anonymize function") + try: + # Data.encrypted_text.clear() + # print("list",registry) + # print("list",registry.recognizers) + if(payload.exclusionList == None): + exclusionList=[] + else: + exclusionList=payload.exclusionList + if(payload.portfolio== None): + results = TextPrivacy.__analyze(text=payload.inputText,exclusion=exclusionList) + else: + results = TextPrivacy.__analyze(text=payload.inputText,accName=payload,exclusion=exclusionList) + + ent_pattern=[] + if results == None: + return None + + if(results==404): + # print( response_value) + return results + dict_operators = {} + if payload.fakeData == True: + # fakeDataGeneration() used for generating fakeData for the entities whcih return dict containg the fake data is replaced with entity.... + fake_dict_operator = FakeDataGenerate.fakeDataGeneration(results,payload.inputText) + dict_operators.update(fake_dict_operator) + + + encryptionList=[] + if(payload.portfolio!= None ): + + encryptionList=admin_par[request_id_var.get()]["encryptionList"] + # print("==============================",encryptionList) + if encryptionList is not None and len(encryptionList) >0 : + for entity in encryptionList: + print("---------------------------") + dict_operators.update({entity: OperatorConfig("hash", {"hash-type": 'md5'})}) + # else: + # dict_operators = None + + # ApiCall.encryptionList.clear() + anonymize_text = anonymizer.anonymize(text=payload.inputText, + operators=dict_operators, + analyzer_results=results) + + + log.debug(f"anonymize_text: {anonymize_text}") + log.debug(f"anonymize_text_item"+ str(anonymize_text.items)) + + obj_PIIAnonymizeResponse = PIIAnonymizeResponse + obj_PIIAnonymizeResponse.anonymizedText = anonymize_text.text + log.debug("Returning from anonymize function") + + return obj_PIIAnonymizeResponse + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"textAnonimyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + def encrypt(payload: PIIAnonymizeRequest): + log.debug("Entering in encrypt function") + + try: + # Data.encrypted_text.clear() + + if(payload.exclusionList == None): + exclusionList=[] + else: + exclusionList=payload.exclusionList + if(payload.portfolio== None): + results = TextPrivacy.__analyze(text=payload.inputText,exclusion=exclusionList) + else: + results = TextPrivacy.__analyze(text=payload.inputText,accName=payload,exclusion=exclusionList) + + if results == None: + return None + dict_operators = {} + + crypto_key = "WmZq4t7w!z%C&F)J" + + for i in results: + dict_operators.update({i.entity_type : OperatorConfig("encrypt", {"key": crypto_key})}) + + anonymize_text = anonymizer.anonymize(text=payload.inputText, + operators=dict_operators, + analyzer_results=results) + + log.debug(f"anonymize_text: {anonymize_text}") + log.debug(f"anonymize_text_item"+ str(anonymize_text.items)) + + obj_PIIEncryptResponse = PIIEncryptResponse + obj_PIIEncryptResponse.text = anonymize_text.text + obj_PIIEncryptResponse.items= anonymize_text.items + log.debug("Returning from encrypt function") + + return obj_PIIEncryptResponse + + + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"textAnonimyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + + def decryption(payload: PIIDecryptRequest): + log.debug("Entering in decrypt function") + # payload=AttributeDict(payload) + print("payload=====",payload) + try: + anonymized_text = payload.text + anonymized_entities = payload.items + + crypto_key = "WmZq4t7w!z%C&F)J" + list_ent= [] + for item in anonymized_entities: + list_ent.append(OperatorResult(start=item.start, + end=item.end , + entity_type= item.entity_type, + text= item.text, + operator= item.operator,)) + anonymized_entities=list_ent + + deanonymized_result = deanonymizer.deanonymize(text=anonymized_text, + entities=anonymized_entities, + operators={"DEFAULT": OperatorConfig("decrypt", {"key": crypto_key})},) + + obj_PIIDecryptResponse = PIIDecryptResponse + obj_PIIDecryptResponse.decryptedText = deanonymized_result.text + log.debug("Returning from anonymize function") + + return obj_PIIDecryptResponse + + + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + log.error(str(e.__traceback__.tb_frame)) + error_dict[request_id_var.get()].append({"UUID":request_id_var.get(),"function":"textAnonimyzeFunction","msg":str(e.__class__.__name__),"description":str(e)+"Line No:"+str(e.__traceback__.tb_lineno)}) + raise Exception(e) + +class Shield: + def privacyShield(payload: PIIPrivacyShieldRequest) -> PIIPrivacyShieldResponse: + log.debug("Entering in privacyShield function") + log.debug(f"payload: {payload}") + + res = [] + totEnt=[] + enres=[] + query={} + + log.debug("response="+str(res)) + if(payload.portfolio== None): + response_value=ApiCall.request(payload) + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + + return response_value + entityType,datalist,preEntity=response_value + # entityType,datalist,preEntity=ApiCall.request(payload) + results = TextPrivacy.__analyze(text=payload.inputText) + # entity=RecogDb.findall({}) + record=[ele for ele in admin_par[request_id_var.get()]["records"] if ele["isPreDefined"]=="Yes"] + + for i in record: + i=AttributeDict(i) + totEnt.append(i.RecogName) + pass + else: + # entityType,datalist,preEntity=ApiCall.request(payload) + response_value=ApiCall.request(payload) + if(response_value==None): + return None + if(response_value==404): + # print( response_value) + return response_value + entityType,datalist,preEntity=response_value + + to=[] + # log.debug("entityTyope="+str(entityType)) + # log.debug("preEntity="+str(preEntity)) + entityType.extend(preEntity) + # log.debug("entity="+str(entityType)) + totEnt=entityType + + results = TextPrivacy.__analyze(text=payload.inputText,accName=payload) + # log.debug("total recoed="+str(totEnt)) + + value=payload.inputText + list_PIIEntity = [] + results=sorted(results, key=lambda i: i.start) + for result in results: + log.debug(f"result: {result}") + enres.append({"type":result.entity_type,"start":result.start,"end":result.end,"value":value[result.start:result.end]}) + # obj_PIIEntity = PIIEntity(type=result.entity_type, + # beginOffset=result.start, + # endOffset=result.end) + log.debug(f"obj_PIIEntity: {enres}") + # list_PIIEntity.append(enres) + # del obj_PIIEntity + + if(len(enres)==0): + temp= "Passed" + else: + temp="Failed" + + objent = PrivacyShield( + entitiesRecognised=enres, + entitiesConfigured= totEnt, + result=temp + ) + list_PIIEntity.append(objent) + log.debug(f"list_PIIEntity: {list_PIIEntity}") + + objPIIAnalyzeResponse = PIIPrivacyShieldResponse + objPIIAnalyzeResponse.privacyCheck = list_PIIEntity + + + log.debug("objPIIAnalyzeResponse="+str(objPIIAnalyzeResponse.privacyCheck)) + log.debug("Returning from privacyShield function") + return objPIIAnalyzeResponse + \ No newline at end of file diff --git a/src/privacy/temp/PreDefinedRecg.csv b/src/privacy/temp/PreDefinedRecg.csv new file mode 100644 index 0000000000000000000000000000000000000000..af5d9ca8b0fc07c4f257e5ba73f5e4ad7a4cd018 --- /dev/null +++ b/src/privacy/temp/PreDefinedRecg.csv @@ -0,0 +1,28 @@ +Name,, +AU_ABN,, +AU_ACN,, +AADHAR_NUMBER,, +AU_MEDICARE,, +AU_TFN,, +CREDIT_CARD,, +CRYPTO,, +DATE_TIME,, +EMAIL_ADDRESS,, +ES_NIF,, +IBAN_CODE,, +IP_ADDRESS,, +IT_DRIVER_LICENSE,, +IT_FISCAL_CODE,, +IT_IDENTITY_CARD,, +IT_PASSPORT,, +IT_VAT_CODE,, +MEDICAL_LICENSE,, +PAN_Number,, +PHONE_NUMBER,, +SG_NRIC_FIN,, +UK_NHS,, +URL,, +PASSPORT,, +US_ITIN,, +US_PASSPORT,, +US_SSN,, diff --git a/src/privacy/util/auth/__init__.py b/src/privacy/util/auth/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/util/auth/auth_client_id.py b/src/privacy/util/auth/auth_client_id.py new file mode 100644 index 0000000000000000000000000000000000000000..0c4443ead9e971baca780b6d15376102af365bcc --- /dev/null +++ b/src/privacy/util/auth/auth_client_id.py @@ -0,0 +1,73 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + + +# # src/privacy/util/auth/auth_client_id.py +from fastapi import Depends, HTTPException, status +from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials +from jose import jwt, ExpiredSignatureError, JWTError +import os +from dotenv import load_dotenv +import requests +import logging + +load_dotenv() + +AZURE_TENANT_ID = os.getenv('AZURE_TENANT_ID') +AZURE_CLIENT_ID = os.getenv('AZURE_CLIENT_ID') + +# Security scheme for HTTP Bearer token +security = HTTPBearer() +log = logging.getLogger(__name__) +def get_public_keys(): + jwks_url = os.getenv('AZURE_AD_JWKS_URL') + response = requests.get(jwks_url) + if response.status_code != 200: + log.error(f"Failed to fetch JWKS: HTTP {response.status_code}") + raise HTTPException(status_code=500, detail="Failed to fetch JWKS") + + jwks = response.json() + if 'keys' not in jwks: + log.error("JWKS response does not contain 'keys'") + raise HTTPException(status_code=500, detail="JWKS response format is invalid") + #print("keys is :",jwks['keys']) + log.info(f"JWKS response: {jwks}") + return {key['kid']: key for key in jwks['keys']} + + +def authenticate_client_id(credentials: HTTPAuthorizationCredentials = Depends(security)): + authorization = credentials.credentials + headers = {'Authorization': f"Bearer {authorization}"} + if authorization: + try: + header = jwt.get_unverified_header(authorization) + kid = header['kid'] + keys = get_public_keys() + key = keys[kid] + decoded_token = jwt.decode(authorization, key, algorithms=['RS256'], audience=AZURE_CLIENT_ID, options={"verify_signature": True}) + #print("decoded token is :",decoded_token) + log.info(f"Valid token: {decoded_token}") + log.info(f"Issuer: {decoded_token.get('iss')}") + log.info(f"Client ID: {decoded_token.get('aud')}") + log.info(f"Tenant ID: {decoded_token.get('tid')}") + + except ExpiredSignatureError as e: + log.error(f"Token has expired: {e}") + raise HTTPException(status_code=401, detail="Token has expired") + except JWTError as e: + log.error(f"Invalid token: {e}") + raise HTTPException(status_code=401, detail="Invalid token") + except Exception as e: + log.error(f"Unexpected error: {e}") + raise HTTPException(status_code=500, detail="Unexpected error") + +def get_auth_client_id(): + return authenticate_client_id + diff --git a/src/privacy/util/auth/auth_jwt.py b/src/privacy/util/auth/auth_jwt.py new file mode 100644 index 0000000000000000000000000000000000000000..297768cb2f3b315dfcba02c89757486f772c6f3c --- /dev/null +++ b/src/privacy/util/auth/auth_jwt.py @@ -0,0 +1,53 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +# # src/privacy/util/auth/auth_jwt.py + +from fastapi import Depends, HTTPException, status +from fastapi.security import HTTPBearer +import os +import jwt +from dotenv import load_dotenv +from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials +from jose import jwt, ExpiredSignatureError, JWTError +import logging +import traceback + +load_dotenv() +log = logging.getLogger(__name__) +security = HTTPBearer() +secret_key = os.environ.get("SECRET_KEY") + +def authenticate_jwt(credentials: HTTPAuthorizationCredentials = Depends(security)): + token = credentials.credentials + try: + payload = jwt.decode(token, secret_key, algorithms=["HS256"],options={"verify_signature": False, "verify_aud": False}) + except jwt.ExpiredSignatureError: + raise HTTPException( + status_code=status.HTTP_401_UNAUTHORIZED, + detail="Token expired", + headers={"WWW-Authenticate": "Bearer"}, + ) + except jwt.JWTError: + raise HTTPException( + status_code=status.HTTP_401_UNAUTHORIZED, + detail="Invalid token", + headers={"WWW-Authenticate": "Bearer"}, + ) + + except Exception as e: + log.error(f"Unexpected error: {e}") + log.error(str(traceback.extract_tb(e.__traceback__)[0].lineno)) + raise HTTPException(status_code=500, detail="Unexpected error") + + return payload + +def get_auth_jwt(): + return authenticate_jwt \ No newline at end of file diff --git a/src/privacy/util/auth/auth_none.py b/src/privacy/util/auth/auth_none.py new file mode 100644 index 0000000000000000000000000000000000000000..974fb035299cff118ef18eb5089be532b0f87916 --- /dev/null +++ b/src/privacy/util/auth/auth_none.py @@ -0,0 +1,19 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +# # src/privacy/util/auth/auth_none.py + +from fastapi import Depends + +def authenticate_none(): + return True + +def get_auth_none(): + return authenticate_none \ No newline at end of file diff --git a/src/privacy/util/code_detect/README.md b/src/privacy/util/code_detect/README.md new file mode 100644 index 0000000000000000000000000000000000000000..63d1a2007d6f0e8417a24ff36a2ee0289dbf32d8 --- /dev/null +++ b/src/privacy/util/code_detect/README.md @@ -0,0 +1,38 @@ +# PII detection and redaction for code datasets + +We provide code to detect Names, Emails, IP addresses, Passwords API/SSH keys in text datasets (in particular datasets of source code). +## NER approach +For the **NER** model based approach (e.g [StarPII](https://huggingface.co/bigcode/starpii)), please go to the `ner` folder. + +We provide the code used for training a PII NER model to detect : Names, Emails, Keys, Passwords & IP addresses (more details in our paper: [StarCoder: May The Source Be With You](https://drive.google.com/file/d/1cN-b9GnWtHzQRoE7M7gAEyivY0kl4BYs/view)). You will also find the code (and `slurm` scripts) used for running PII Inference on [StarCoderData](https://huggingface.co/datasets/bigcode/starcoderdata), we were able to detect PII in 800GB of text in 800 GPU-hours on A100 80GB. To replace secrets we used teh following tokens: +`, , , ` +To mask IP addresses, we randomly selected an IP address from 5~synthetic, private, non-internet-facing IP addresses of the same type. + +## Regex approach +Below we explain the regex based approach to dectect Emails, IP addresses adn keys only: +We use regexes for emails and IP addresses (they are adapted from [BigScience PII pipeline](https://github.com/bigscience-workshop/data-preparation/tree/main/preprocessing/training/02_pii)). And we use [detect-secrets](https://github.com/Yelp/detect-secrets) for finding secrets keys. We additionally implement some filters on top to reduce the number of false positives. There is also some evaluation code to test the pipeline on a PII benchmark we annotated. + +## Usage of the regex approach +``` +pip install -r requirements.txt +``` +Also make sure to have `git lfs` installed, and login to your `huggingface-hub` account with +```` +huggingface-cli login +```` +* `main.py` is the main script to run the pipeline. It takes as input a dataset and outputs a new dataset with the PII removed and some additional column containing the secrets found and their statistics. + +For example, you can use the following command to run the pipeline on the python subset of the-stack-smol while saving manual shards (to push directly to hub use `--save_mode hub` and to use random replacements use `--load_replacements False`): +``` +python main.py --dataset_name bigcode/the-stack-smol --subset data/python --batch_size 1000 --num_proc 64 --target_dataset stack-smol-python-pii --load_replacements True --save_mode_checks manual_shards --save_mode manual_shards +``` + +Make sure you have the `gibberish_data` folder in the same directory as the script. It contains a [gibberish-detector](https://github.com/domanchi/gibberish-detector) that we use for the filters for keys. + +* `pii_detection.py` contains the code to perform PII detection. +* `pii_redaction.py` contains the code to redact the PII. +* `utils/evaluation.py` contains the code to evaluate the PII detection on our annotated benchmark, with `tests` containing some test cases. (TODO: add script for automatic evaluation on the benchmark) + +## Notebooks +* `example.ipynb` is an example notebook to show how to use the pipeline. +* there are several notebooks in `notebooks` folder with some of our experiments. diff --git a/src/privacy/util/code_detect/example.ipynb b/src/privacy/util/code_detect/example.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..7e63788d70fe6136e349ef8c51c44ae59a1dc4b3 --- /dev/null +++ b/src/privacy/util/code_detect/example.ipynb @@ -0,0 +1,354 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "bce5cb53", + "metadata": {}, + "source": [ + "### Example for running PII detection and anonymization" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4b66801c", + "metadata": {}, + "outputs": [ + { + "ename": "FileNotFoundError", + "evalue": "Couldn't find a dataset script at C:\\New folder\\bigcode-dataset\\pii\\bigcode\\pii-for-code\\pii-for-code.py or any data file in the same directory. Couldn't find 'bigcode/pii-for-code' on the Hugging Face Hub either: FileNotFoundError: Dataset 'bigcode/pii-for-code' doesn't exist on the Hub", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[1], line 6\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpii_detection\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m scan_pii_batch\n\u001b[0;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpii_redaction\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m redact_pii_batch, random_replacements\n\u001b[1;32m----> 6\u001b[0m ds \u001b[38;5;241m=\u001b[39m \u001b[43mload_dataset\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mbigcode/pii-for-code\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msplit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtrain\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n", + "File \u001b[1;32mC:\\python39\\lib\\site-packages\\datasets\\load.py:2129\u001b[0m, in \u001b[0;36mload_dataset\u001b[1;34m(path, name, data_dir, data_files, split, cache_dir, features, download_config, download_mode, verification_mode, ignore_verifications, keep_in_memory, save_infos, revision, token, use_auth_token, task, streaming, num_proc, storage_options, **config_kwargs)\u001b[0m\n\u001b[0;32m 2124\u001b[0m verification_mode \u001b[38;5;241m=\u001b[39m VerificationMode(\n\u001b[0;32m 2125\u001b[0m (verification_mode \u001b[38;5;129;01mor\u001b[39;00m VerificationMode\u001b[38;5;241m.\u001b[39mBASIC_CHECKS) \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m save_infos \u001b[38;5;28;01melse\u001b[39;00m VerificationMode\u001b[38;5;241m.\u001b[39mALL_CHECKS\n\u001b[0;32m 2126\u001b[0m )\n\u001b[0;32m 2128\u001b[0m \u001b[38;5;66;03m# Create a dataset builder\u001b[39;00m\n\u001b[1;32m-> 2129\u001b[0m builder_instance \u001b[38;5;241m=\u001b[39m load_dataset_builder(\n\u001b[0;32m 2130\u001b[0m path\u001b[38;5;241m=\u001b[39mpath,\n\u001b[0;32m 2131\u001b[0m name\u001b[38;5;241m=\u001b[39mname,\n\u001b[0;32m 2132\u001b[0m data_dir\u001b[38;5;241m=\u001b[39mdata_dir,\n\u001b[0;32m 2133\u001b[0m data_files\u001b[38;5;241m=\u001b[39mdata_files,\n\u001b[0;32m 2134\u001b[0m cache_dir\u001b[38;5;241m=\u001b[39mcache_dir,\n\u001b[0;32m 2135\u001b[0m features\u001b[38;5;241m=\u001b[39mfeatures,\n\u001b[0;32m 2136\u001b[0m download_config\u001b[38;5;241m=\u001b[39mdownload_config,\n\u001b[0;32m 2137\u001b[0m download_mode\u001b[38;5;241m=\u001b[39mdownload_mode,\n\u001b[0;32m 2138\u001b[0m revision\u001b[38;5;241m=\u001b[39mrevision,\n\u001b[0;32m 2139\u001b[0m token\u001b[38;5;241m=\u001b[39mtoken,\n\u001b[0;32m 2140\u001b[0m storage_options\u001b[38;5;241m=\u001b[39mstorage_options,\n\u001b[0;32m 2141\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mconfig_kwargs,\n\u001b[0;32m 2142\u001b[0m )\n\u001b[0;32m 2144\u001b[0m \u001b[38;5;66;03m# Return iterable dataset in case of streaming\u001b[39;00m\n\u001b[0;32m 2145\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m streaming:\n", + "File \u001b[1;32mC:\\python39\\lib\\site-packages\\datasets\\load.py:1815\u001b[0m, in \u001b[0;36mload_dataset_builder\u001b[1;34m(path, name, data_dir, data_files, cache_dir, features, download_config, download_mode, revision, token, use_auth_token, storage_options, **config_kwargs)\u001b[0m\n\u001b[0;32m 1813\u001b[0m download_config \u001b[38;5;241m=\u001b[39m download_config\u001b[38;5;241m.\u001b[39mcopy() \u001b[38;5;28;01mif\u001b[39;00m download_config \u001b[38;5;28;01melse\u001b[39;00m DownloadConfig()\n\u001b[0;32m 1814\u001b[0m download_config\u001b[38;5;241m.\u001b[39mstorage_options\u001b[38;5;241m.\u001b[39mupdate(storage_options)\n\u001b[1;32m-> 1815\u001b[0m dataset_module \u001b[38;5;241m=\u001b[39m \u001b[43mdataset_module_factory\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 1816\u001b[0m \u001b[43m \u001b[49m\u001b[43mpath\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1817\u001b[0m \u001b[43m \u001b[49m\u001b[43mrevision\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrevision\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1818\u001b[0m \u001b[43m \u001b[49m\u001b[43mdownload_config\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdownload_config\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1819\u001b[0m \u001b[43m \u001b[49m\u001b[43mdownload_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdownload_mode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1820\u001b[0m \u001b[43m \u001b[49m\u001b[43mdata_dir\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdata_dir\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1821\u001b[0m \u001b[43m \u001b[49m\u001b[43mdata_files\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdata_files\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 1822\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1823\u001b[0m \u001b[38;5;66;03m# Get dataset builder class from the processing script\u001b[39;00m\n\u001b[0;32m 1824\u001b[0m builder_kwargs \u001b[38;5;241m=\u001b[39m dataset_module\u001b[38;5;241m.\u001b[39mbuilder_kwargs\n", + "File \u001b[1;32mC:\\python39\\lib\\site-packages\\datasets\\load.py:1508\u001b[0m, in \u001b[0;36mdataset_module_factory\u001b[1;34m(path, revision, download_config, download_mode, dynamic_modules_path, data_dir, data_files, **download_kwargs)\u001b[0m\n\u001b[0;32m 1506\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e1 \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m 1507\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(e1, \u001b[38;5;167;01mFileNotFoundError\u001b[39;00m):\n\u001b[1;32m-> 1508\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mFileNotFoundError\u001b[39;00m(\n\u001b[0;32m 1509\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCouldn\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt find a dataset script at \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mrelative_to_absolute_path(combined_path)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m or any data file in the same directory. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1510\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCouldn\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt find \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mpath\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m on the Hugging Face Hub either: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mtype\u001b[39m(e1)\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00me1\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 1511\u001b[0m ) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m 1512\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e1 \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m 1513\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", + "\u001b[1;31mFileNotFoundError\u001b[0m: Couldn't find a dataset script at C:\\New folder\\bigcode-dataset\\pii\\bigcode\\pii-for-code\\pii-for-code.py or any data file in the same directory. Couldn't find 'bigcode/pii-for-code' on the Hugging Face Hub either: FileNotFoundError: Dataset 'bigcode/pii-for-code' doesn't exist on the Hub" + ] + } + ], + "source": [ + "from datasets import load_dataset\n", + "\n", + "from pii_detection import scan_pii_batch\n", + "from pii_redaction import redact_pii_batch, random_replacements\n", + "\n", + "ds = load_dataset(\"bigcode/pii-for-code\", split=\"train\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f76c9e5f", + "metadata": {}, + "outputs": [], + "source": [ + "ds_pii = ds.map(scan_pii_batch, batched=True, batch_size=100, num_proc=12)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "06d15f83", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dataset after PII detection:\n", + "Dataset({\n", + " features: ['content', 'language', 'license', 'path', 'annotation_id', 'pii', 'pii_modified', 'id', 'secrets', 'has_secrets', 'number_secrets'],\n", + " num_rows: 400\n", + "})\n", + "Number of samples that contained PII: 211\n", + "Total number of secrets found: 336\n" + ] + } + ], + "source": [ + "print(f\"Dataset after PII detection:\\n{ds_pii}\")\n", + "print(f\"Number of samples that contained PII: {sum(ds_pii['has_secrets'])}\")\n", + "print(f\"Total number of secrets found: {sum(ds_pii['number_secrets'])}\")" + ] + }, + { + "cell_type": "markdown", + "id": "b54c5044", + "metadata": {}, + "source": [ + "#### About the detection and anonymization:\n", + "* we detect secret keys with detect-secrets and mask them with keys from these 4 randomly generated sequences -they can change in each execution on a new dataset-: \n", + " ```\n", + " ['q8jtgev49gw1un9427qd9afza5vpuemo',\n", + " 'pj82ffu65gt9sh9v8n9s2fyupslmlcq4',\n", + " 'efijcf8z7r7pn0r25wfuh5vmpbrhoxkv',\n", + " '1dgjoc8ebhmhzfxhcbmlh4ndb81gqeoe']\n", + " ```\n", + " \n", + "* we detect email addresses and mask them with one of these 4 emails (first part was randomly generated) -they can change in each execution on a new dataset-:\n", + " ```\n", + " ['mynbi@email.com',\n", + " 'qpmzj@email.com',\n", + " 'plsgq@email.com',\n", + " 'ejeyd@email.com']\n", + " ```\n", + "\n", + "* we detect IP addresses (and DNS servers) and mask them with the random private addresses below (they are fixed). Note that private IP addresses aren't masked (we use `ipaddress` python library to determine if they are private or not):\n", + "```\n", + "{'IPv4': ['172.16.31.10',\n", + " '172.16.58.3',\n", + " '192.168.127.12',\n", + " '192.168.3.11'],\n", + "'IPv6': ['fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b',\n", + " 'fc00:e968:6179::de52:7100',\n", + " 'fc00:db20:35b:7399::5',\n", + " 'fdf8:f53e:61e4::18']},\n", + "```\n", + "\n", + "Remarks:\n", + "* If the same secret appears multiple times in a file, we use the same replacement each time.\n", + "* To solve issue with dns servers being versions, we only detect an address in format x.x.x.x where x is one digit, if the words \"dns\" or \"sever\" appear in the near context." + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "68669831", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'EMAIL': ['mynbi@email.com',\n", + " 'qpmzj@email.com',\n", + " 'plsgq@email.com',\n", + " 'ejeyd@email.com'],\n", + " 'IP_ADDRESS': {'IPv4': ['172.16.31.10',\n", + " '172.16.58.3',\n", + " '192.168.127.12',\n", + " '192.168.3.11'],\n", + " 'IPv6': ['fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b',\n", + " 'fc00:e968:6179::de52:7100',\n", + " 'fc00:db20:35b:7399::5',\n", + " 'fdf8:f53e:61e4::18']},\n", + " 'KEY': ['q8jtgev49gw1un9427qd9afza5vpuemo',\n", + " 'pj82ffu65gt9sh9v8n9s2fyupslmlcq4',\n", + " 'efijcf8z7r7pn0r25wfuh5vmpbrhoxkv',\n", + " '1dgjoc8ebhmhzfxhcbmlh4ndb81gqeoe']}\n" + ] + } + ], + "source": [ + "# redaction\n", + "import random\n", + "from pprint import pprint\n", + "random.seed(0)\n", + "\n", + "replacements = random_replacements()\n", + "pprint(replacements)\n", + "ds_redacted = ds_pii.map(lambda x: redact_pii_batch(x, replacements), batched=True, batch_size=100, num_proc=12, load_from_cache_file=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "e060ed7e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Dataset({\n", + " features: ['content', 'language', 'license', 'path', 'annotation_id', 'pii', 'pii_modified', 'id', 'secrets', 'has_secrets', 'number_secrets', 'new_content', 'redaction_refs'],\n", + " num_rows: 400\n", + "})" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ds_redacted" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "294a9083", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "\n", + "for e in ds_redacted:\n", + " secrets = json.loads(e[\"secrets\"])\n", + " if len(secrets) >= 3:\n", + " print(e[\"id\"])" + ] + }, + { + "cell_type": "markdown", + "id": "259f9759", + "metadata": {}, + "source": [ + "example 16" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d5a37524", + "metadata": {}, + "outputs": [], + "source": [ + "ds_redacted[16][\"secrets\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "04f7e74d", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Old text:\")\n", + "print(ds_redacted[16][\"content\"][1190:1500])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "470bf3aa", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"New text:\")\n", + "print(ds_redacted[16][\"new_content\"][1190:1500])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "897b7ebf", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"New text with delimietrs (for visualization in a space):\")\n", + "print(ds_redacted[16][\"redaction_refs\"][1190:1500])" + ] + }, + { + "cell_type": "markdown", + "id": "39e051da", + "metadata": {}, + "source": [ + "example 27" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c129f763", + "metadata": {}, + "outputs": [], + "source": [ + "ds_redacted[27][\"secrets\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "35977e2c", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Old text:\")\n", + "# we don't replace private Ips like 0.0.0.0\n", + "print(ds_redacted[27][\"content\"][150:250])\n", + "\n", + "print(\"\\nNew text:\")\n", + "print(ds_redacted[27][\"new_content\"][150:250])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d081f2ea", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Old text:\")\n", + "print(ds_redacted[27][\"content\"][270:670])\n", + "\n", + "print(\"\\nNew text:\")\n", + "# here the first part of the key was detected and replaced with pj82ffu65gt9sh9v8n9s2fyupslmlcq\n", + "print(ds_redacted[27][\"new_content\"][270:470])" + ] + }, + { + "cell_type": "markdown", + "id": "0661335f", + "metadata": {}, + "source": [ + "example 49" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8f332863", + "metadata": {}, + "outputs": [], + "source": [ + "ds_redacted[49][\"secrets\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8e2248f1", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Old text:\")\n", + "print(ds_redacted[49][\"content\"][30:70])\n", + "\n", + "print(\"\\nNew text:\")\n", + "# here the first part of the key was detected and replaced with pj82ffu65gt9sh9v8n9s2fyupslmlcq\n", + "print(ds_redacted[49][\"new_content\"][30:70])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.8" + }, + "vscode": { + "interpreter": { + "hash": "fd8fde6f83dada9276d12fdb71d773558994168ed1b3bea457b8db38c02aa2e1" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/src/privacy/util/code_detect/gibberish_data/big.model b/src/privacy/util/code_detect/gibberish_data/big.model new file mode 100644 index 0000000000000000000000000000000000000000..8a026929cae0cf66e1b8f824fe31d278593a0ec4 --- /dev/null +++ b/src/privacy/util/code_detect/gibberish_data/big.model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b361c35a129ce5498d09cc1fcb316d14404913ca3903403bda7b6998f6770ef0 +size 26295 diff --git a/src/privacy/util/code_detect/input.py b/src/privacy/util/code_detect/input.py new file mode 100644 index 0000000000000000000000000000000000000000..4a83dafe52a2a5edd747a139d210df45b1015bd9 --- /dev/null +++ b/src/privacy/util/code_detect/input.py @@ -0,0 +1 @@ +## DUMP diff --git a/src/privacy/util/code_detect/main.py b/src/privacy/util/code_detect/main.py new file mode 100644 index 0000000000000000000000000000000000000000..3331ab020b846dfc7f9b5ad5dbc2fa54af65628e --- /dev/null +++ b/src/privacy/util/code_detect/main.py @@ -0,0 +1,275 @@ +"""Here we detect PII: Emails, IP addresses, and keys (SSH/API) and redact/anonymize them + * we use one regex for emails and one for IP addresses + * for keys we use detect-secrets tool, which is a combination of multiple plugins (regexes, entropy..) + * we also add some filters on top of each tool to decrease the number of false positives +This script is adapted from https://github.com/bigscience-workshop/data-preparation/blob/main/preprocessing/training/02_pii/pii_processor.py +""" + +import argparse +import random +import json +import logging +from pprint import pformat +from functools import partial + +from datasets.utils.logging import set_verbosity_info +from datasets import load_dataset + +from pii_detection import scan_pii_batch +from pii_redaction import redact_pii_batch, random_replacements +from utils.manual_sharding import save_manual_shards + +def parseArgs(): + parser = argparse.ArgumentParser(description="PII detection and redaction") + parser.add_argument( + "--dataset_name", + default="bigcode/pii-for-code", + type=str, + help="HF repo name/path of the dataset.", + ) + parser.add_argument( + "--subset", + default="data/", + type=str, + help="Data subset to use.", + ) + parser.add_argument( + "--text_column", + default="content", + type=str, + help="Text column to use, if will be renamed to content", + ) + parser.add_argument( + "--split", + default="train", + type=str, + help="Dataset split to process", + ) + parser.add_argument( + "--batch_size", + default=100, + type=int, + help="Batch size for the PII detection/redaction", + ) + parser.add_argument( + "--seed", + default=0, + type=int, + help="Seed for random", + ) + parser.add_argument( + "--num_proc", + default=96, + type=int, + help="Number of processes to use for the PII detection/redaction", + ) + parser.add_argument( + "--no_redaction", + action="store_true", + help="If set, we don't perform redaction", + ) + parser.add_argument( + "--load_replacements", + default=True, + help="If set, we load the replacements from file replacements.json", + ) + parser.add_argument( + "--add_reference_text", + default=True, + type=bool, + help="If True we add the reference text with PII between delimiters \ + in the redacted text -used for visualization-", + ) + parser.add_argument( + "--check_all_files", + action="store_true", + help="If set, we check all files, not only the ones that contain PII", + ) + parser.add_argument( + "--check_sampling_size", + default=0, + type=int, + help="Number of samples to check for PII", + ) + # for saving the dataset: either push to HF or save locally with datasets or save manual shards + parser.add_argument( + "--save_mode", + default="manual_shards", + type=str, + choices=["hub", "local", "manual_shards"], + help="How to save the dataset", + ) + parser.add_argument( + "--save_mode_checks", + default="hub", + type=str, + choices=["hub", "local", "manual_shards"], + help="How to save the checks dataset", + ) + # add argument for name of dataset on the hub + parser.add_argument( + "--target_dataset", + default="bigcode-pii-pjj", + type=str, + help="HF repo name of the target dataset in save_mode=hub.", + ) + parser.add_argument( + "--hub_username", + default="loubnabnl", + type=str, + help="Username for the hub", + ) + parser.add_argument( + "--save_path_disk", + default="bigcode-pii-pjj-local", + type=str, + help="Path to save the dataset on disk in save_mode=local.", + ) + parser.add_argument( + # TODO: investigate issue to remove this arg + "--remove_columns_the_stack", + default=True, + type=bool, + help="The Stack v1.1 has many columns and this can cause an issue during processing of large subsets.", + ) + # add an option of evaluating the pipeline on the PII benchmark we built + return parser.parse_args() + + +def get_check_ds(ds, args): + if not args.check_all_files: + ds_checks = ds.filter( + lambda exs: exs["modified"], + batched=True, + batch_size=args.batch_size, + num_proc=args.num_proc + ) + else: + ds_checks = ds + if not args.check_sampling_size: + sampling_size = len(ds_checks) + idx_samples = random.sample(range(len(ds_checks)), min(len(ds_checks), sampling_size)) + ds_checks = ds_checks.select(idx_samples) + + return ds_checks + + +def main(): + set_verbosity_info() + logger = logging.getLogger(__name__) + logger.setLevel(logging.INFO) + logging.basicConfig( + format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", + datefmt="%m/%d/%Y %H:%M:%S", + level=logging.INFO, + handlers=[ + logging.FileHandler("pii.log"), + logging.StreamHandler() + ] + ) + args = parseArgs() + logger.info(f"** The job is running with the following arguments: **\n{args}\n **** ") + + logger.info(f" ===== Loading {args.dataset_name} =====") + ds = load_dataset(args.dataset_name, data_dir=args.subset, split=args.split, use_auth_token=True) + if args.text_column != "content": + ds = ds.rename_column(args.text_column, "content") + # if args.remove_columns_the_stack: + # logger.info("removing extra columns from The Stack") + # # columns = [ 'max_stars_repo_head_hexsha', 'max_stars_repo_licenses', 'max_stars_repo_stars_event_min_datetime',\ + # # 'max_stars_repo_stars_event_max_datetime', 'max_issues_repo_path', 'max_issues_repo_name', 'max_issues_repo_head_hexsha',\ + # # 'max_issues_repo_licenses', 'max_issues_count', 'max_issues_repo_issues_event_min_datetime', 'max_issues_repo_issues_event_max_datetime', \ + # # 'max_forks_repo_path', 'max_forks_repo_name', 'max_forks_repo_head_hexsha', \ + # # 'max_forks_repo_licenses', 'max_forks_count', 'max_forks_repo_forks_event_min_datetime', 'max_forks_repo_forks_event_max_datetime'] + # ds = ds.remove_columns(columns) + # logger.info(f"New dataset fomat: {ds}") + # add id column to dataset + logger.info(f" ===== Adding an index column =====") + ds = ds.add_column("index", list(range(len(ds)))) + + logger.info(f" ===== Applying PII detection =====") + ds_pii = ds.map( + scan_pii_batch, batched=True, batch_size=args.batch_size, num_proc=args.num_proc, load_from_cache_file=False + ) + logger.info(f"Dataset info after PII detection:\n{ds_pii}") + logger.info(f"Number of samples that contained PII: {sum(ds_pii['has_secrets'])}") + logger.info(f"Total number of secrets found: {sum(ds_pii['number_secrets'])}") + + # redact PII in the dataset + if not args.no_redaction: + logger.info(f" ===== Applying PII redaction =====") + random.seed(args.seed) + + # we use random replacements by default + if args.load_replacements: + with open("replacements.json", "r") as f: + replacements = json.load(f) + else: + replacements = random_replacements() + with open("random_replacements.json", "w") as f: + json.dump(replacements, f) + logging.info(f"Using the following replacements:\n{pformat(replacements)}") + ds_pii = ds_pii.map( + partial(redact_pii_batch, replacements=replacements, add_references=args.add_reference_text), + batched=True, + batch_size=args.batch_size, + num_proc=args.num_proc, + load_from_cache_file=False + ) + logging.info(f"Dataset info after PII redaction:\n{ds_pii}") + + # check the dataset + logger.info(f" ===== Checking {args.check_sampling_size} samples from those modified in the dataset =====") + ds_checks = get_check_ds(ds_pii, args) + + # save checks dataset + # if len(ds_checks) == 0: + # logger.info("Dataset was empty. Not saving anything.") + # else: + # logger.info(f"Checks dataset info {ds_checks}") + # if args.save_mode_checks == "hub": + # logger.info(f"Pushing the checks dataset to the Hub as {args.target_dataset}_checks") + # ds_checks.push_to_hub(args.target_dataset + "_checks") + + # elif args.save_mode_checks == "local": + # logger.info(f"Saving the checks dataset to disk") + # ds_checks.save_to_disk(args.save_path_disk + "_checks",format="json") + #elif args.save_mode == "local": + logger.info(f" ===== Saving the dataset to disk as JSON =====") + ds_pii_df = ds_pii.to_pandas() + ds_pii_df.to_json(args.save_path_disk + ".json", orient='records', lines=True) + + + # elif args.save_mode_checks == "manual_shards": + # logger.info(f"Saving the checks dataset in manual shards") + # save_manual_shards(ds_checks, user=args.hub_username, remote_dataset_repo=args.target_dataset + "_checks") + + logger.info("Removing columns that are not needed for the final dataset") + columns = ["content", "modified", "secrets", "has_secrets", "number_secrets"] + if args.add_reference_text: + columns.append("references") + ds_pii = ds_pii.remove_columns(columns) + ds_pii = ds_pii.rename_column("new_content", "content") + logger.info(f"Dataset info after removing columns:\n{ds_pii}") + + # save the final dataset + if args.save_mode == "hub": + logger.info(f" ===== Pushing the dataset to the Hub as: {args.target_dataset} =====") + ds_pii.push_to_hub(args.target_dataset) + + # elif args.save_mode == "local": + # logger.info(f" ===== Saving the dataset to disk =====") + # ds_pii.save_to_disk(args.save_path_disk) + elif args.save_mode == "local": + logger.info(f" ===== Saving the dataset to disk as JSON =====") + ds_pii_df = ds_pii.to_pandas() + ds_pii_df.to_json(args.save_path_disk + ".json", orient='records', lines=True) + + elif args.save_mode == "manual_shards": + logger.info(f" ===== Saving the dataset in manual shards =====") + save_manual_shards(ds_pii, user=args.hub_username, remote_dataset_repo=args.target_dataset) + + logger.info(f" ===== Dataset saved successfully =====") + +if __name__ == "__main__": + main() diff --git a/src/privacy/util/code_detect/ner/CodePIINER.py b/src/privacy/util/code_detect/ner/CodePIINER.py new file mode 100644 index 0000000000000000000000000000000000000000..759cd70cd18887659f3ca2fb8343c7fec7b96756 --- /dev/null +++ b/src/privacy/util/code_detect/ner/CodePIINER.py @@ -0,0 +1,166 @@ +import torch +from transformers import AutoModelForTokenClassification, AutoTokenizer +# from pii_inference.utils import PiiNERPipeline +from datasets import Dataset +# from pii_redaction.utils import get_replacements, redact_pii_batch +from privacy.util.code_detect.ner.pii_redaction.utils import get_replacements, redact_pii_batch +import json +import re +import os +from privacy.util.code_detect.ner.pii_inference.utils.pipeline import PiiNERPipeline +class codeNer: + def codeFile(code, filename,model,tokenizer): + # Specify the path to your local model and input code file + # model_path = "pii_inference/nermodel" + # code_file_path = "1.txt" + # redacted_code_file_path = "1_redacted.txt" + # Load the model and tokenizers + # model = AutoModelForTokenClassification.from_pretrained(model1) + # tokenizer = AutoTokenizer.from_pretrained(tokenizer1) + + # If code is a bytes object, decode it to a string + if isinstance(code, bytes): + code = code.decode('utf-8') + print(code, "CODE") + # Create the NER pipeline + pipeline = PiiNERPipeline( + model, + tokenizer=tokenizer, + batch_size=1024, + window_size=512, + device=torch.device("cuda" if torch.cuda.is_available() else "cpu"), + num_workers=1, + id_to_label=model.config.id2label, + window_overlap=False, + bf16=True + ) + + # # Read the input code file + # with open(code_file_path, "r",encoding="utf-8") as file: + # code = file.read() + + # Split the code into sentences + # sentences = code.split(". ") + sentences = re.split('(?<=\. )(?!$|[a-z])', code) + # sentences = code + print(sentences, "############SENTENCES#########") + + # Create an id list + ids = list(range(len(sentences))) + + # Create a Dataset object from the sentences + dataset = Dataset.from_dict({"content": sentences, "id": ids}) + + replacements = get_replacements() + + # Process the sentences with the NER pipeline + result = pipeline(dataset) + + # Convert the generator to a list and print the results + results = list(result) + print(results, "RESULT") + + # # Check the structure of each result + # for res in results: + # print(res) + + # Prepare the examples for redaction + examples = { + "content": [res["content"] for res in results], + "entities": [res["entities"] for res in results] + } + + # Print examples for debugging + # print(examples, "EXAMPLES") + + # Redact PII in the batch of examples + redacted_results = redact_pii_batch(examples, replacements) + print(redacted_results, "redacted_code_parts") + # Extract the redacted code from the results + redacted_code_parts = redacted_results["new_content"] + print(redacted_code_parts, "redacted_code_parts") + # redacted_code = "".join(redacted_code_parts) + # print(redacted_code, "redacted_code") + # print(redacted_code1, "redacted_code1") + # Save the redacted code into a new file + # Generate the output file name based on the input file name + output_code_file = os.path.splitext(filename)[0] + "_redacted" + os.path.splitext(filename)[1] + try: + # with open(output_code_file, "w") as file: + # for part in redacted_code_parts: + # file.write(part) + # print(part, "part") + # print(part, "part") + with open(output_code_file, "w") as file: + # Join all the parts into a single string + content = ''.join(redacted_code_parts) + # Write the content to the file + file.write(content) + print(content, "content") + # with open(output_code_file, "r") as file: + # content = file.read() + # print(content,"content from function") + # file.write(redacted_code_parts) + except Exception as e: + print(f"An error occurred while writing to the file: {e}") + + return content, output_code_file + + def codeText(code, model, tokenizer): + # If code is a bytes object, decode it to a string + if isinstance(code, bytes): + code = code.decode('utf-8') + print(code, "CODE") + # Create the NER pipeline + pipeline = PiiNERPipeline( + model, + tokenizer=tokenizer, + batch_size=1024, + window_size=512, + device=torch.device("cuda" if torch.cuda.is_available() else "cpu"), + num_workers=1, + id_to_label=model.config.id2label, + window_overlap=False, + bf16=True + ) + + # Split the code into sentences + sentences = re.split('(?<=\. )(?!$|[a-z])', code) + print(sentences, "############SENTENCES#########") + + # Create an id list + ids = list(range(len(sentences))) + + # Create a Dataset object from the sentences + dataset = Dataset.from_dict({"content": sentences, "id": ids}) + + replacements = get_replacements() + + # Process the sentences with the NER pipeline + result = pipeline(dataset) + + # Convert the generator to a list and print the results + results = list(result) + print(results, "RESULT") + + # Prepare the examples for redaction + examples = { + "content": [res["content"] for res in results], + "entities": [res["entities"] for res in results] + } + + # Redact PII in the batch of examples + redacted_results = redact_pii_batch(examples, replacements) + print(redacted_results, "redacted_code_parts") + # Extract the redacted code from the results + redacted_code_parts = redacted_results["new_content"] + print(redacted_code_parts, "redacted_code_parts") + + # Join all the parts into a single string + redacted_code = ''.join(redacted_code_parts) + print(redacted_code, "redacted_code") + + return redacted_code + +# if __name__ == "__main__": +# main() \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/README.md b/src/privacy/util/code_detect/ner/README.md new file mode 100644 index 0000000000000000000000000000000000000000..ca39f427df8198ed6950db33c3377fc566d961e9 --- /dev/null +++ b/src/privacy/util/code_detect/ner/README.md @@ -0,0 +1,7 @@ +# PII detection and Redaction using an NER model +Here we provide code to: +- fine-tune an encoder model (like [StarEncoder](https://huggingface.co/bigcode/starencoder)) for the task of PII detection (NER): see folder `pii_train_ner` +- run inference with our fine-tuned [StarPII](https://huggingface.co/bigcode/starpii) for PII detection on multiple GPUs: see folder `pii_inference` +- redact/mask PII detected with the model: see folder `pii_redaction` + +This is the code we used for PII anonymization in the 800GB dataset [StarCoderData](https://huggingface.co/datasets/bigcode/starcoderdata). \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/ner_inference.py b/src/privacy/util/code_detect/ner/ner_inference.py new file mode 100644 index 0000000000000000000000000000000000000000..11825c13aa041d75da25b8f622f86ee263d87bfe --- /dev/null +++ b/src/privacy/util/code_detect/ner/ner_inference.py @@ -0,0 +1,153 @@ +# import os +# from dataclasses import dataclass, field +# from tqdm import tqdm + +# import pandas as pd +# import torch +# from torch.utils.data import DataLoader +# import datasets +# from datasets import load_dataset, Dataset +# from accelerate import Accelerator +# from transformers import HfArgumentParser +# from transformers import AutoModelForTokenClassification, AutoTokenizer +# from typing import Optional +# from utils import PiiNERPipeline +# import time + +# @dataclass +# class PipelineArgs: +# model_name: Optional[str] = field(default="./", metadata={"help": "the model name"}) +# process_batch_size: int = field(default=10_000, metadata={"help": "files per worker"}) +# batch_size: Optional[int] = field(default=1024, metadata={"help": "batch size"}) +# dataset: Optional[str] = field(default="./", metadata={"help": "dataset"}) +# subset: Optional[str] = field(default="data/python/", metadata={"help": "dataset subdirectory"}) +# out_path: Optional[str] = field(default="./results/", metadata={"help": "path for output"}) + +# email= "abhi@gmail.com" +# def main(): +# """launch code +# >>>> accelerate config +# >>>> accelerate launch ner_inference.py --process_batch_size=8 --out_path=processed_dataset +# """ +# parser = HfArgumentParser(PipelineArgs) +# args = parser.parse_args() + +# accelerator = Accelerator() + +# out_dir = f"{args.out_path}{args.subset.strip('/').split('/')[-2]}" +# if accelerator.is_main_process: +# if not os.path.exists(out_dir): +# os.mkdir(out_dir) + +# dataset = load_dataset(args.dataset, data_dir=args.subset, use_auth_token=True, split="train", num_proc=12) +# dataset = dataset.map( +# lambda example, idx: { +# "id": f"{idx}", +# "max_stars_count": example["max_stars_count"] if example["max_stars_count"] is not None else 0 +# }, +# with_indices=True, num_proc=12) + +# shard_size = (len(dataset))/8 +# if shard_size > 1_000_000: +# process_batch_size = 200_000 +# elif shard_size > 100_000: +# process_batch_size = 100_000 +# else: +# process_batch_size = 10_000 + +# model = AutoModelForTokenClassification.from_pretrained(args.model_name, use_auth_token=True) +# id_to_label = model.config.id2label +# tokenizer = AutoTokenizer.from_pretrained(args.model_name, use_auth_token=True) + +# columns = dataset.column_names +# dataset = dataset.remove_columns([col for col in columns if col not in ["content", "id", "max_stars_repo_name", "max_stars_repo_path", "max_stars_count"]]) + +# dataloader = DataLoader(dataset, batch_size=process_batch_size, shuffle=False, num_workers=4) + +# model, dataloader = accelerator.prepare(model, dataloader) + +# pipeline = PiiNERPipeline( +# model, +# tokenizer=tokenizer, +# batch_size=args.batch_size, +# window_size=512, +# device=accelerator.local_process_index, +# num_workers=1, +# use_auth_token=True, +# id_to_label=id_to_label, +# window_overlap=False, +# bf16=True +# ) +# num_samples = 0 +# for i, batch in enumerate(tqdm(dataloader)): +# # last batches are filled - remove filling +# if i==len(dataloader)-1 and int(batch["id"][0])>int(batch["id"][-1]): +# for j in range(len(batch["id"])-1): +# if int(batch["id"][j])>int(batch["id"][j+1]): +# stop_index = j+1 +# for key in batch: +# batch[key] = batch[key][:stop_index] +# result = list(pipeline(datasets.Dataset.from_dict(batch))) + +# # add original data +# for k, element in enumerate(result): +# for key in batch: +# element[key] = batch[key][k] + +# processed_dataset = Dataset.from_dict(pd.DataFrame(result)) +# processed_dataset.to_parquet(f"{out_dir}/job_{accelerator.process_index}_{i}.parquet") + +# if __name__ == "__main__": +# main() + +# import torch +# from transformers import AutoModelForTokenClassification, AutoTokenizer +# from privacy.util.code_detect.ner.ner_inference import PiiNERPipeline +# from datasets import Dataset +# from privacy.util.code_detect.ner.pii_redaction.utils import get_replacements, redact_pii_batch +# def main(): +# # Specify the path to your local model and input code file +# model_path = "pii_inference/nermodel" +# code_file_path = "input_code.java" + +# # Load the model and tokenizer +# model = AutoModelForTokenClassification.from_pretrained(model_path) +# tokenizer = AutoTokenizer.from_pretrained(model_path) + +# # Create the NER pipeline +# pipeline = PiiNERPipeline( +# model, +# tokenizer=tokenizer, +# batch_size=1024, +# window_size=512, +# device=torch.device("cuda" if torch.cuda.is_available() else "cpu"), +# num_workers=1, +# id_to_label=model.config.id2label, +# window_overlap=False, +# bf16=True +# ) + +# # Read the input code file +# with open(code_file_path, "r") as file: +# code = file.read() + +# # Split the code into sentences +# sentences = code.split(". ") +# print(sentences, "SENTENCES") +# # Create an id list +# ids = list(range(len(sentences))) +# # Create a Dataset object from the sentences +# dataset = Dataset.from_dict({"content": sentences, "id": ids}) + +# # Process the sentences with the NER pipeline +# result = pipeline(dataset) +# replacements = get_replacements() +# # Convert the generator to a list and print the results +# results = list(result) +# print(results, "RESULT") +# # Redact the PII from the results +# redacted_results = redact_pii_batch(results, replacements) +# print(redacted_results, "redacted_results") + +# if __name__ == "__main__": +# main() diff --git a/src/privacy/util/code_detect/ner/pii_inference/README.md b/src/privacy/util/code_detect/ner/pii_inference/README.md new file mode 100644 index 0000000000000000000000000000000000000000..bbd5700a5b85203651f185e94af760c1f91050ef --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/README.md @@ -0,0 +1,11 @@ +## Run NER inference +Here we provide the code used for training [StarPII](https://huggingface.co/bigcode/starpii) and NER model for PII detection. We also provide the code (and `slurm` scripts) used for running Inference on [StarCoderData](https://huggingface.co/datasets/bigcode/starcoderdata), we were able to detect PII in ~800GB of text in 800 GPU hours on A100 80GB. +``` +accelerate config +accelerate launch ner_inference.py --process_batch_size=100000 --out_path=processed_dataset +``` +To replace secrets with this [code] in StarCoderData we used the following tokens: +``` +, , , +``` +To mask IP addresses, we randomly selected an IP address from 5~synthetic, private, non-internet-facing IP addresses of the same type. diff --git a/src/privacy/util/code_detect/ner/pii_inference/__init__.py b/src/privacy/util/code_detect/ner/pii_inference/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/util/code_detect/ner/pii_inference/big.txt b/src/privacy/util/code_detect/ner/pii_inference/big.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/util/code_detect/ner/pii_inference/custominferencing.py b/src/privacy/util/code_detect/ner/pii_inference/custominferencing.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/util/code_detect/ner/pii_inference/data/python/data.json b/src/privacy/util/code_detect/ner/pii_inference/data/python/data.json new file mode 100644 index 0000000000000000000000000000000000000000..67fdaae739c274c283f443f61616a570362963bd --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/data/python/data.json @@ -0,0 +1,3 @@ +[ + {"content": "from transformers import AutoModelForTokenClassification, AutoTokenizer import torch secretkey= \"cmVnrGtuOjAxOjE3MjEyODUwMjg6M0RrNjVMVGZEaGd6T0RiZ09FR3M5MEV5Tk0z\" ipadress= \"15.3.1.186\" email=\"abhi@gmail.com\"", "lang": "Python"} +] diff --git a/src/privacy/util/code_detect/ner/pii_inference/infer.slurm b/src/privacy/util/code_detect/ner/pii_inference/infer.slurm new file mode 100644 index 0000000000000000000000000000000000000000..10a7a1545a37785f036d8d99479dcd4bdca6aaf6 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/infer.slurm @@ -0,0 +1,84 @@ +#!/bin/bash +#SBATCH --nodes=1 +#SBATCH --ntasks-per-node=1 # crucial - only 1 task per dist per node! +#SBATCH --cpus-per-task=96 +#SBATCH --gres=gpu:8 +#SBATCH --exclusive +#SBATCH --partition=production-cluster +#SBATCH --output=/fsx/leandro/logs/bigcode/%x-%j.out + +set -x -e + +source /admin/home/leandro/.bashrc + +conda activate trl + + +# Training setup +GPUS_PER_NODE=8 +# so processes know who to talk to +MASTER_ADDR=$(scontrol show hostnames $SLURM_JOB_NODELIST | head -n 1) +MASTER_PORT=6000 +NNODES=$SLURM_NNODES +NODE_RANK=$SLURM_PROCID +WORLD_SIZE=$(($GPUS_PER_NODE*$NNODES)) + + +export HF_DATASETS_CACHE="/fsx/leandro/.cache" + +PATH_TO_LOG=/fsx/leandro/logs/bigcode +LOG_PATH=$PATH_TO_LOG/main_log.txt +LANGUAGE=$1 + +echo "START TIME: $(date) with LANG: $LANGUAGE" + + +cd /fsx/leandro/git/bigcode-dataset-fork/bigcode-dataset/pii/ner_model_training + +CMD=" \ + ner_inference.py \ + --model_name bigcode/bigcode-encoder-pii-ner-v2 \ + --dataset parquet \ + --subset /fsx/leandro/data/bigcode/the-stack-march/data/$LANGUAGE \ + --out_path /fsx/leandro/data/pii_result/ \ + --process_batch_size 100000 \ + " + +export LAUNCHER="accelerate launch \ + --num_processes 8 \ + " + +# hide duplicated errors using this hack - will be properly fixed in pt-1.12 +# export TORCHELASTIC_ERROR_FILE=/tmp/torch-elastic-error.json + +# force crashing on nccl issues like hanging broadcast +export NCCL_ASYNC_ERROR_HANDLING=1 +# export NCCL_DEBUG=INFO +# export NCCL_DEBUG_SUBSYS=COLL +# export NCCL_SOCKET_NTHREADS=1 +# export NCCL_NSOCKS_PERTHREAD=1 +# export CUDA_LAUNCH_BLOCKING=1 + +# AWS specific +export NCCL_PROTO=simple +export RDMAV_FORK_SAFE=1 +export FI_EFA_FORK_SAFE=1 +export FI_EFA_USE_DEVICE_RDMA=1 +export FI_PROVIDER=efa +export FI_LOG_LEVEL=1 +export NCCL_IB_DISABLE=1 +export NCCL_SOCKET_IFNAME=ens + +export CUDA_HOME=/usr/local/cuda-11.6 +export LD_PRELOAD=$CUDA_HOME/lib/libnccl.so +export LD_LIBRARY_PATH=$CUDA_HOME/efa/lib:$CUDA_HOME/lib:$CUDA_HOME/lib64:$LD_LIBRARY_PATH + +SRUN_ARGS=" \ + --wait=60 \ + --kill-on-bad-exit=1 \ + " + +# py-spy top -s -i -n -- $LAUNCHER --node_rank $SLURM_PROCID --role $SLURMD_NODENAME: $CMD +clear; srun $SRUN_ARGS --jobid $SLURM_JOB_ID bash -c "$LAUNCHER --role \$SLURMD_NODENAME: $CMD" 2>&1 | tee $LOG_PATH + +echo "END TIME: $(date)" \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/pii_inference/infer_special.slurm b/src/privacy/util/code_detect/ner/pii_inference/infer_special.slurm new file mode 100644 index 0000000000000000000000000000000000000000..9775f67bdff4c89760dcf0548744cb89a3bd4364 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/infer_special.slurm @@ -0,0 +1,84 @@ +#!/bin/bash +#SBATCH --nodes=1 +#SBATCH --ntasks-per-node=1 # crucial - only 1 task per dist per node! +#SBATCH --cpus-per-task=96 +#SBATCH --gres=gpu:8 +#SBATCH --exclusive +#SBATCH --partition=production-cluster +#SBATCH --output=/fsx/leandro/logs/bigcode/%x-%j.out + +set -x -e + +source /admin/home/leandro/.bashrc + +conda activate trl + + +# Training setup +GPUS_PER_NODE=8 +# so processes know who to talk to +MASTER_ADDR=$(scontrol show hostnames $SLURM_JOB_NODELIST | head -n 1) +MASTER_PORT=6000 +NNODES=$SLURM_NNODES +NODE_RANK=$SLURM_PROCID +WORLD_SIZE=$(($GPUS_PER_NODE*$NNODES)) + + +export HF_DATASETS_CACHE="/fsx/leandro/.cache" + +PATH_TO_LOG=/fsx/leandro/logs/bigcode +LOG_PATH=$PATH_TO_LOG/main_log.txt +LANGUAGE=$1 + +echo "START TIME: $(date) with LANG: $LANGUAGE" + + +cd /fsx/leandro/git/bigcode-dataset-fork/bigcode-dataset/pii/ner_model_training + +CMD=" \ + ner_inference.py \ + --model_name bigcode/bigcode-encoder-pii-ner-v2 \ + --dataset parquet \ + --subset /fsx/leandro/data/bigcode/$LANGUAGE/data \ + --out_path /fsx/leandro/data/pii_result/ \ + --process_batch_size 100000 \ + " + +export LAUNCHER="accelerate launch \ + --num_processes 8 \ + " + +# hide duplicated errors using this hack - will be properly fixed in pt-1.12 +# export TORCHELASTIC_ERROR_FILE=/tmp/torch-elastic-error.json + +# force crashing on nccl issues like hanging broadcast +export NCCL_ASYNC_ERROR_HANDLING=1 +# export NCCL_DEBUG=INFO +# export NCCL_DEBUG_SUBSYS=COLL +# export NCCL_SOCKET_NTHREADS=1 +# export NCCL_NSOCKS_PERTHREAD=1 +# export CUDA_LAUNCH_BLOCKING=1 + +# AWS specific +export NCCL_PROTO=simple +export RDMAV_FORK_SAFE=1 +export FI_EFA_FORK_SAFE=1 +export FI_EFA_USE_DEVICE_RDMA=1 +export FI_PROVIDER=efa +export FI_LOG_LEVEL=1 +export NCCL_IB_DISABLE=1 +export NCCL_SOCKET_IFNAME=ens + +export CUDA_HOME=/usr/local/cuda-11.6 +export LD_PRELOAD=$CUDA_HOME/lib/libnccl.so +export LD_LIBRARY_PATH=$CUDA_HOME/efa/lib:$CUDA_HOME/lib:$CUDA_HOME/lib64:$LD_LIBRARY_PATH + +SRUN_ARGS=" \ + --wait=60 \ + --kill-on-bad-exit=1 \ + " + +# py-spy top -s -i -n -- $LAUNCHER --node_rank $SLURM_PROCID --role $SLURMD_NODENAME: $CMD +clear; srun $SRUN_ARGS --jobid $SLURM_JOB_ID bash -c "$LAUNCHER --role \$SLURMD_NODENAME: $CMD" 2>&1 | tee $LOG_PATH + +echo "END TIME: $(date)" \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/pii_inference/input.py b/src/privacy/util/code_detect/ner/pii_inference/input.py new file mode 100644 index 0000000000000000000000000000000000000000..1db2f13835ef45294609e4723d4587315118e174 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/input.py @@ -0,0 +1,6 @@ +from transformers import AutoModelForTokenClassification, AutoTokenizer +import torch +secretkey=" " +ipadress=" " +email=" " +useraccountname=" " diff --git a/src/privacy/util/code_detect/ner/pii_inference/ner_inference.py b/src/privacy/util/code_detect/ner/pii_inference/ner_inference.py new file mode 100644 index 0000000000000000000000000000000000000000..21c4cdd470235df94d487dbbccd850cc4cdcc308 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/ner_inference.py @@ -0,0 +1,153 @@ +# import os +# from dataclasses import dataclass, field +# from tqdm import tqdm + +# import pandas as pd +# import torch +# from torch.utils.data import DataLoader +# import datasets +# from datasets import load_dataset, Dataset +# from accelerate import Accelerator +# from transformers import HfArgumentParser +# from transformers import AutoModelForTokenClassification, AutoTokenizer +# from typing import Optional +# from utils import PiiNERPipeline +# import time + +# @dataclass +# class PipelineArgs: +# model_name: Optional[str] = field(default="./", metadata={"help": "the model name"}) +# process_batch_size: int = field(default=10_000, metadata={"help": "files per worker"}) +# batch_size: Optional[int] = field(default=1024, metadata={"help": "batch size"}) +# dataset: Optional[str] = field(default="./", metadata={"help": "dataset"}) +# subset: Optional[str] = field(default="data/python/", metadata={"help": "dataset subdirectory"}) +# out_path: Optional[str] = field(default="./results/", metadata={"help": "path for output"}) + +# email= "abhi@gmail.com" +# def main(): +# """launch code +# >>>> accelerate config +# >>>> accelerate launch ner_inference.py --process_batch_size=8 --out_path=processed_dataset +# """ +# parser = HfArgumentParser(PipelineArgs) +# args = parser.parse_args() + +# accelerator = Accelerator() + +# out_dir = f"{args.out_path}{args.subset.strip('/').split('/')[-2]}" +# if accelerator.is_main_process: +# if not os.path.exists(out_dir): +# os.mkdir(out_dir) + +# dataset = load_dataset(args.dataset, data_dir=args.subset, use_auth_token=True, split="train", num_proc=12) +# dataset = dataset.map( +# lambda example, idx: { +# "id": f"{idx}", +# "max_stars_count": example["max_stars_count"] if example["max_stars_count"] is not None else 0 +# }, +# with_indices=True, num_proc=12) + +# shard_size = (len(dataset))/8 +# if shard_size > 1_000_000: +# process_batch_size = 200_000 +# elif shard_size > 100_000: +# process_batch_size = 100_000 +# else: +# process_batch_size = 10_000 + +# model = AutoModelForTokenClassification.from_pretrained(args.model_name, use_auth_token=True) +# id_to_label = model.config.id2label +# tokenizer = AutoTokenizer.from_pretrained(args.model_name, use_auth_token=True) + +# columns = dataset.column_names +# dataset = dataset.remove_columns([col for col in columns if col not in ["content", "id", "max_stars_repo_name", "max_stars_repo_path", "max_stars_count"]]) + +# dataloader = DataLoader(dataset, batch_size=process_batch_size, shuffle=False, num_workers=4) + +# model, dataloader = accelerator.prepare(model, dataloader) + +# pipeline = PiiNERPipeline( +# model, +# tokenizer=tokenizer, +# batch_size=args.batch_size, +# window_size=512, +# device=accelerator.local_process_index, +# num_workers=1, +# use_auth_token=True, +# id_to_label=id_to_label, +# window_overlap=False, +# bf16=True +# ) +# num_samples = 0 +# for i, batch in enumerate(tqdm(dataloader)): +# # last batches are filled - remove filling +# if i==len(dataloader)-1 and int(batch["id"][0])>int(batch["id"][-1]): +# for j in range(len(batch["id"])-1): +# if int(batch["id"][j])>int(batch["id"][j+1]): +# stop_index = j+1 +# for key in batch: +# batch[key] = batch[key][:stop_index] +# result = list(pipeline(datasets.Dataset.from_dict(batch))) + +# # add original data +# for k, element in enumerate(result): +# for key in batch: +# element[key] = batch[key][k] + +# processed_dataset = Dataset.from_dict(pd.DataFrame(result)) +# processed_dataset.to_parquet(f"{out_dir}/job_{accelerator.process_index}_{i}.parquet") + +# if __name__ == "__main__": +# main() + +import torch +from transformers import AutoModelForTokenClassification, AutoTokenizer +from utils import PiiNERPipeline +from datasets import Dataset +from pii_redaction.utils import redact_pii_batch, get_replacements +def main(): + # Specify the path to your local model and input code file + model_path = "pii_inference/nermodel" + code_file_path = "input_code.java" + + # Load the model and tokenizer + model = AutoModelForTokenClassification.from_pretrained(model_path) + tokenizer = AutoTokenizer.from_pretrained(model_path) + + # Create the NER pipeline + pipeline = PiiNERPipeline( + model, + tokenizer=tokenizer, + batch_size=1024, + window_size=512, + device=torch.device("cuda" if torch.cuda.is_available() else "cpu"), + num_workers=1, + id_to_label=model.config.id2label, + window_overlap=False, + bf16=True + ) + + # Read the input code file + with open(code_file_path, "r") as file: + code = file.read() + + # Split the code into sentences + sentences = code.split(". ") + print(sentences, "SENTENCES") + # Create an id list + ids = list(range(len(sentences))) + # Create a Dataset object from the sentences + dataset = Dataset.from_dict({"content": sentences, "id": ids}) + + # Process the sentences with the NER pipeline + result = pipeline(dataset) + replacements = get_replacements() + # Convert the generator to a list and print the results + results = list(result) + print(results, "RESULT") + # Redact the PII from the results + redacted_results = redact_pii_batch(results, replacements) + print(redacted_results, "redacted_results") + +if __name__ == "__main__": + main() diff --git a/src/privacy/util/code_detect/ner/pii_inference/nermodel/README.md b/src/privacy/util/code_detect/ner/pii_inference/nermodel/README.md new file mode 100644 index 0000000000000000000000000000000000000000..0b67d8e95ede29cca999c080df6f8eaa3625e57e --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/nermodel/README.md @@ -0,0 +1,104 @@ +--- +datasets: +- bigcode/pii-annotated-toloka-donwsample-emails +- bigcode/pseudo-labeled-python-data-pii-detection-filtered +metrics: +- f1 +pipeline_tag: token-classification +language: +- code +extra_gated_prompt: >- + ## Terms of Use for the model + + + This is an NER model trained to detect Personal Identifiable Information (PII) + in code datasets. We ask that you read and agree to the following Terms of Use + before using the model: + + 1. You agree that you will not use the model for any purpose other than PII + detection for the purpose of removing PII from datasets. + + 2. You agree that you will not share the model or any modified versions for + whatever purpose. + + 3. Unless required by applicable law or agreed to in writing, the model is + provided 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 the model, and assume any risks associated with your + exercise of permissions under these Terms of Use. + + 4. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MODEL OR THE USE OR + OTHER DEALINGS IN THE MODEL. +extra_gated_fields: + Email: text + I have read the License and agree with its terms: checkbox +--- + +# StarPII + +## Model description + +This is an NER model trained to detect Personal Identifiable Information (PII) in code datasets. We fine-tuned [bigcode-encoder](https://huggingface.co/bigcode/bigcode-encoder) +on a PII dataset we annotated, available with gated access at [bigcode-pii-dataset](https://huggingface.co/datasets/bigcode/pii-annotated-toloka-donwsample-emails) (see [bigcode-pii-dataset-training](https://huggingface.co/datasets/bigcode/bigcode-pii-dataset-training) for the exact data splits). +We added a linear layer as a token classification head on top of the encoder model, with 6 target classes: Names, Emails, Keys, Passwords, IP addresses and Usernames. + + +## Dataset + +### Fine-tuning on the annotated dataset +The finetuning dataset contains 20961 secrets and 31 programming languages, but the base encoder model was pre-trained on 88 +programming languages from [The Stack](https://huggingface.co/datasets/bigcode/the-stack) dataset. + +### Initial training on a pseudo-labelled dataset +To enhance model performance on some rare PII entities like keys, we initially trained on a pseudo-labeled dataset before fine-tuning on the annotated dataset. +The method involves training a model on a small set of labeled data and subsequently generating predictions for a larger set of unlabeled data. + +Specifically, we annotated 18,000 files available at [bigcode-pii-ppseudo-labeled](https://huggingface.co/datasets/bigcode/pseudo-labeled-python-data-pii-detection-filtered) +using an ensemble of two encoder models [Deberta-v3-large](https://huggingface.co/microsoft/deberta-v3-large) and [stanford-deidentifier-base](StanfordAIMI/stanford-deidentifier-base) + which were fine-tuned on an intern previously labeled PII [dataset](https://huggingface.co/datasets/bigcode/pii-for-code) for code with 400 files from this [work](https://arxiv.org/abs/2301.03988). + To select good-quality pseudo-labels, we computed the average probability logits between the models and filtered based on a minimum score. + After inspection, we observed a high rate of false positives for Keys and Passwords, hence we retained only the entities that had a trigger word like `key`, `auth` and `pwd` in the surrounding context. + Training on this synthetic dataset prior to fine-tuning on the annotated one yielded superior results for all PII categories, +as demonstrated in the table in the following section. + + +### Performance + +This model is respresented in the last row (NER + pseudo labels ) +- Emails, IP addresses and Keys + +| Method | Email address | | | IP address | | | Key | | | +| ------------------ | -------------- | ---- | ---- | ---------- | ---- | ---- | ----- | ---- | ---- | +| | Prec. | Recall | F1 | Prec. | Recall | F1 | Prec. | Recall | F1 | +| Regex | 69.8% | 98.8% | 81.8% | 65.9% | 78% | 71.7% | 2.8% | 46.9% | 5.3% | +| NER | 94.01% | 98.10% | 96.01% | 88.95% | *94.43%* | 91.61% | 60.37% | 53.38% | 56.66% | +| + pseudo labels | **97.73%** | **98.94%** | **98.15%** | **90.10%** | 93.86% | **91.94%** | **62.38%** | **80.81%** | **70.41%** | + +- Names, Usernames and Passwords + +| Method | Name | | | Username | | | Password | | | +| ------------------ | -------- | ---- | ---- | -------- | ---- | ---- | -------- | ---- | ---- | +| | Prec. | Recall | F1 | Prec. | Recall | F1 | Prec. | Recall | F1 | +| NER | 83.66% | 95.52% | 89.19% | 48.93% | *75.55%* | 59.39% | 59.16% | *96.62%* | 73.39%| +| + pseudo labels | **86.45%** | **97.38%** | **91.59%** | **52.20%** | 74.81% | **61.49%** | **70.94%** | 95.96% | **81.57%** | + +We used this model to mask PII in the bigcode large model training. We dropped usernames since they resulted in many false positives and negatives. +For the other PII types, we added the following post-processing that we recommend for future uses of the model (the code is also available on GitHub): + +- Ignore secrets with less than 4 characters. +- Detect full names only. +- Ignore detected keys with less than 9 characters or that are not gibberish using a [gibberish-detector](https://github.com/domanchi/gibberish-detector). +- Ignore IP addresses that aren't valid or are private (non-internet facing) using the `ipaddress` python package. We also ignore IP addresses from popular DNS servers. +We use the same list as in this [paper](https://huggingface.co/bigcode/santacoder). + +# Considerations for Using the Model + +While using this model, please be aware that there may be potential risks associated with its application. +There is a possibility of false positives and negatives, which could lead to unintended consequences when processing sensitive data. +Moreover, the model's performance may vary across different data types and programming languages, necessitating validation and fine-tuning for specific use cases. +Researchers and developers are expected to uphold ethical standards and data protection measures when using the model. By making it openly accessible, +our aim is to encourage the development of privacy-preserving AI technologies while remaining vigilant of potential risks associated with PII. \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/pii_inference/nermodel/added_tokens.json b/src/privacy/util/code_detect/ner/pii_inference/nermodel/added_tokens.json new file mode 100644 index 0000000000000000000000000000000000000000..6171268210b71f1a402aefb5f70a0aa7f85e58ba --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/nermodel/added_tokens.json @@ -0,0 +1,3 @@ +{ + "[PAD]": 49152 +} diff --git a/src/privacy/util/code_detect/ner/pii_inference/nermodel/config.json b/src/privacy/util/code_detect/ner/pii_inference/nermodel/config.json new file mode 100644 index 0000000000000000000000000000000000000000..37a10e6833a5a40712795480399a23a47cbdcc97 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/nermodel/config.json @@ -0,0 +1,59 @@ +{ + "_name_or_path": "/data3/monty/bigcode-encoder-pretrained-lr2e-5/checkpoint-7200", + "architectures": [ + "BertForTokenClassification" + ], + "attention_probs_dropout_prob": 0.1, + "classifier_dropout": null, + "hidden_act": "gelu", + "hidden_dropout_prob": 0.1, + "hidden_size": 768, + "id2label": { + "0": "O", + "1": "B-AMBIGUOUS", + "2": "I-AMBIGUOUS", + "3": "B-EMAIL", + "4": "I-EMAIL", + "5": "B-IP_ADDRESS", + "6": "I-IP_ADDRESS", + "7": "B-KEY", + "8": "I-KEY", + "9": "B-NAME", + "10": "I-NAME", + "11": "B-PASSWORD", + "12": "I-PASSWORD", + "13": "B-USERNAME", + "14": "I-USERNAME" + }, + "initializer_range": 0.02, + "intermediate_size": 3072, + "label2id": { + "B-AMBIGUOUS": 1, + "B-EMAIL": 3, + "B-IP_ADDRESS": 5, + "B-KEY": 7, + "B-NAME": 9, + "B-PASSWORD": 11, + "B-USERNAME": 13, + "I-AMBIGUOUS": 2, + "I-EMAIL": 4, + "I-IP_ADDRESS": 6, + "I-KEY": 8, + "I-NAME": 10, + "I-PASSWORD": 12, + "I-USERNAME": 14, + "O": 0 + }, + "layer_norm_eps": 1e-12, + "max_position_embeddings": 1024, + "model_type": "bert", + "num_attention_heads": 12, + "num_hidden_layers": 12, + "pad_token_id": 49152, + "position_embedding_type": "absolute", + "torch_dtype": "float32", + "transformers_version": "4.21.3", + "type_vocab_size": 2, + "use_cache": true, + "vocab_size": 49153 +} diff --git a/src/privacy/util/code_detect/ner/pii_inference/nermodel/gitattributes b/src/privacy/util/code_detect/ner/pii_inference/nermodel/gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..c7d9f3332a950355d5a77d85000f05e6f45435ea --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/nermodel/gitattributes @@ -0,0 +1,34 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text diff --git a/src/privacy/util/code_detect/ner/pii_inference/nermodel/merges.txt b/src/privacy/util/code_detect/ner/pii_inference/nermodel/merges.txt new file mode 100644 index 0000000000000000000000000000000000000000..9698576bccc16b90674462c938f33ea46626bec7 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/nermodel/merges.txt @@ -0,0 +1,48892 @@ +#version: 0.2 - Trained by `huggingface/tokenizers` +Ġ Ġ +ĠĠ ĠĠ +ĠĠĠĠ ĠĠĠĠ +ĠĠ Ġ +e r +i n +o n +r e +a t +s t +o r +e n +Ġ t +l e +Ċ ĠĠĠĠ +Ċ ĠĠĠĠĠĠĠĠ +s e +a n +a l +Ġ = +Ġ c +a r +i t +Ċ ĠĠĠ +i on +d e +- - +c t +m e +r o +ĊĠĠĠĠ ĠĠĠ +h e +) ; +ĉ ĉ +i c +Ġ f +i s +Ġ p +in g +g e +Ġ { +a s +u t +en t +u r +/ / +e s +Ġ ( +Ġ s +Ġ n +u n +Ġ a +Ġ " +i d +l o +Ġ re +m p +e d +Ġ * +Ġ } +a me +Ġt he +Ġ b +ĊĠĠĠĠĠĠĠĠ ĠĠĠ +i f +* * +e x +Ġ in +a c +Ġ ' +c o +at e +Ġ < +Ċ Ġ +i l +-- -- +Ġ o +u l +a d +u e +Ġ w +e l +Ġ d +r i +Ġ m +( ) += " +p e +t h +as s +ĠĠĠĠ ĠĠĠ +u s +ĊĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ +Ġ v +Ċ ĉĉ +u b +Ċ ĉ +Ġ S +t r +a b +Ġt h +o l +an d +e t +i g +o t +at ion +a p +c e +' , +ge t +Ġt o +or t +l i +ur n +Ġ st +< / +u m += = +c h +a ge +ct ion +I n +h t +p t +l ass +i v +on t +t urn +Ġ C +t er +" , +e w +Ġ T +a y +- > +ĊĠĠĠĠ Ġ +Ġ $ +Ġ A +ĊĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ +at a +o de +: : +a m +e m +l ic +ex t +Ġ se +Ġ de +in t +y pe +e ct +" > +i le +Ġ if +en d +u p +o m +s p +Ġ h +i mp +s s +ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ +v er +i z +n ame +i st +Ġ [ +Ġ - +---- ---- +o d +Ġo f +# # +Ġ // +R e +Ġf or +č Ċ +Ġ is +Ġ I +( " +o w +Ġre turn +Ġc lass +ab le +e st +Ċ ĊĠĠĠ +Ġ P +q u +i m +it h +** ** +t o +a v +c k +ul t +Ġ l +Ġc on +Ġth is +ac k +a se +Ġ and +p er +( ' +al l +imp ort +st r +pt ion +c on +m ent +se t +) , +al ue +( ); +Ġ + +Ġ D +i r +Ġ @ +Ċ Ċ +k e +ub lic +a g +in e +er s +Ġ e +Ġ g +f f +l f +Ġ M +Ġ N +) ) +t p +j ect +d er +or m +ro m +us er +. . +Ġ L +Ġ : +o s +S t +ar t +es s +a in +_ _ +Ġ F +d iv +co m +s er +p ro +== == +i me +u re +ul l +o ur +Ġ E +Ġ / +iz e +t e +o p +I N +tr ing +Ġ | +p ut +ht tp +Ġb e +E R +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ +Ġ ` +er r +un ction +Ġ= > +Ġ y +Ġp ro +q ue +a ct +Ġn ew +Ġ ex +u se +Ġ r +o ut +o c +it y +Ġ on +s c +Ġ O +) . +i re +Ġ & +at h +Ġ B +in d +čĊ č +Ġt r +: // +Ġ or +p l +N ame +Ġ R +ac e +Ġ it +Ġp ublic +" : +i al +ic e +n t +O N +p ar +Ġ* / +Ġ G +E x +` ` +c l +un t +re s +Ġ< / +Ċĉĉ ĉĉ +th is +f o +o id +er t +f ig +d d +Ċ ĊĠĠĠĠĠĠĠ +b ject +a re +v e +Ġ # +de f +P ro +r r +o mp +p p +Ġ j +Ġ i +Ġst r +Ġ me +Ġ lo +f orm +Ġ an +re turn +que st +Ċĉĉ ĉ +o o +d ata +I d +a il +-------- -------- +C on +Ġ= = +l l +re f +R E +] , +s h +ĊĠĠĠĠĠĠĠĠ Ġ +Ġ _ +t y +Ġ as +T ype +**** **** +Ġ get +Ġw ith +Ġ W +p ort +ar g +ig n +or y +Ġin t +Ġse lf +l y +Ġ U +a st +C ont +S T +Ġn ame +i ew +Ġ . +i p +Ġw h +http s +un d +ro w +o u +Ġf rom +Ġn ot +ĠĠĠĠ Ġ +a x +o st +ode l +de x +S tring +Ġ ! +v ent +or d +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ +" ) +on e +it e +Ġcon st +iv e +sp an +Ġc h +Ċ ĠĠ +Ġde f +c ont +Ġf unction +li st +ad d +c ess +t d +ar y +i el +u ct +u st +Ġ V +Ġ H +ke y +v ice +al se +t ype +an ge +' ) +iel d +D e +o re +co de +Ġth at +at ic +b er +ã ģ +an t +an s +ig ht +v al +m l +it ion +b ut +user name +b u +Ġ In +or k +our ce +ar d +T o +Ġd ata +Ġ un +f t +Ġ el +[ ' +) : +Ġc ont +b o +re ss +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ +i o +at or +E N +Ċ ĊĠ +L ist +R es +A T +an ce +" ); +ap p +A L +le ment +il l +] ( +le t +err or +i es +at ed +re ate +e c +Ġre s +č ĊĠĠĠ +y st +Ġse t +a ult +lo w +an g +Ġ al +Ġn ull +Ġd o +at ch +er e +co l +en er +D ata +lo g +il d +par am +j s +ri v +// // +a mp +O R +yst em +u le +f ile +s o +Ġv oid +in k +## ## +Ġ \ +Ġc om +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġ -- +d ate +g r +> < +Ġv ar +a k +m o +E n +p r +it le +I D +I T +==== ==== +i x +A R +se lf +' ] +Ġv alue +Ġs h +on g +av e +um ent +le ct +U L +Ġ use +( $ +u de +sc ri +ä ¸ +s ion +riv ate +str ing +Ġ} , +Ġstr ing +Ġf ile +Ġ id +i de +he ck +S E +ce ption +lo ck +Ġb y +S er +a w +Ġel se +ab el +L E +Ġ x +o g +č ĊĠĠĠĠĠĠĠ +en g +ad er +Ġ at +ro up +c lass +on se +o ul +li ent +Ġt ype +C h +Ġ ) +ri but +Ġ k +oul d +p h +er y +} , +u d +cl ude +en se +b r +th od +y n +o me +p o +Ġy ou +at us +ar r +rr or +Ġ > +ri g +re ad +in al +D E +v alue +T r +> +th er +amp le +] ; +Ġ J +re e +Ġ up +F ile +b ack +Ġh ref +on ent +p y +f or +co mp +de d +C omp +p ath +Ex ception +ption s +ack age +od ule +ers ion +st ance +rig ht +l ay +******** ******** +ation s +r y +m and +Ġw e +] . +co unt +Ġ le +ĉĉ ĉĉ +p re +ind ow +t ime +ar ch +ar get +T est +w ork +u c +r ame +" " +I t +f er +R O +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ +Ġa dd +I ON +in clude +Ġ ? +ro ll +an n +per ty +Ġ/ ** +M E +Ġ li +Ġ: = +() , +T h +o f +u al +el l +T ext +u es +UL L +ã Ģ +() ); +s um +if i +if ic +Ð ¾ +ut il +o ck +lo at +T ime +Ġ u +A n ++ + +o unt +Ġ error +r ite +č ĊĠĠĠĠĠĠĠĠĠĠĠ +re am +o ol +o und +t ing +in dex +Ġres ult += ' +c he +m ary +rr ay +U n +a ke +Con fig +Ċ ĊĠĠĠĠĠĠĠĠĠĠĠ +ic ense +pl ay +r ap +U T +p s +f rom +v iew +ç ļ +le an +V iew +i e +A t +çļ Ħ +St ate +Ġb u +ame ter +Ð µ +p x +B y +od y +ess age +Ġor g +ar k +or g +l ate +ĊĠĠĠĠĠĠĠĠ ĠĠĠĠĠ +c es +re d +Ġ ); +it em +it ial +č Ċĉ +It em +Ġw ill +A S +il ter +Ġ-- > +I C +A dd +Re quest +Ġs er +---------------- ---------------- +oc ument +ect or +/ * +m ap +le te +w ord +s ub +. _ +Ġ* * +ir st +v oid +Ġ ro +yn c +In fo +ï¼ Į +Ġ} ); +Ġa pp +ff er +i se +f unction +p en +Ð ° +um n +] ) +in put +arg s +Ġt ime +a it +Ġc ase +t ribut +Ġ err +ire ct +F F +n g +a ction +ut e +le ction +//// //// +lo b +in ter +if y +Ġp r +Ġ list +o int +E vent +c c +g ist +oo k +s on +Ġ __ +() ) +Ġf inal +Ġh ave +m odel +f ace +( ( +con fig +P I +at ure +sp ace +str uct +Ġn e +Ġ all +b y +ĠS ystem +l abel +c a +or der +M essage +F ield +ĠL icense +[ ] +.. . +l er +ĠN ULL +' s +Ser vice +r it +ri de +A C +ub le +Ġ import +S h +ic h +iz ed +A D +op y +O T +', ' +at es +C O +ro l +d b +sp onse +Ġ assert +Ġ key +v el +l ink +Ġre quire +n ot +Ġ let +M ap +ag er +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +m on +N ode +ur ation +Ġd is +P ath +pr int +qu ery +E T +g le +c re +p es +Cont ext +n ing +Ġ K +f e +ic k +C ode +"> < +ic es +Ġt ext +E D +Ġan y +n o +ĠTh is +t a +De f +Ġch ar +ain er +at ive +w h +up port +li b +re quest +ex port +Ġcon fig +Ġ imp +Ġs ub +F O +g roup +q l +[ " +st art +sum mary +and le +an k +Ġy our +( { +us h +a z +Ġs pec +are nt +w e +uth or +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ +Ċĉĉĉĉ ĉ +p ress +l d +t he +Ġj ava +n er +ust om +U p +roll er +d uct +Ġw ork +ĠG et +id er +IN G +to p +Res ult +Ġsh ould +w are +Res ponse +ce pt +Ġa b +M A +Ġh as +V al +ent er +Ġ( ) +C H +Ġp re +T O +S ER +d o +Ġ Y +Ġme thod +Ġwh en +U N +ag s +Ð ½ +scri ption +Ġ array +Ġst yle +O f +Ġr un +t s +Ġth row +scri pt +Ġex pect +' ), +Ġin ter +d oc +In t +Ġ( ! +Ġa c +m is +M e +te mp +I G +m age +me ssage +and ler +EN T +b ase +Ġin st +in ed +n d +lic k +fo re +å Ī +" ] +Ġ ext +ãĢ Ĥ +m ax +D es +Ġn umber +bu g +en sion +Ġ+ = +ol d +M P +tribut e +../ ../ +Ġpr int +E X +", " +am s +æ ľ +se s +A s +I L +B e +ĠĠĠĠĠĠĠĠ ĠĠĠ +en u +c ord +Ġ using +Ġ} ; +o bject +Ġme ssage +L e +Ġc all +Ġst art +ib le +d f +ne ction +Ġ ] +## # +t x +O n +Ñ Ģ +C lient +Ġc reate +Ċĉĉĉĉ ĉĉ +col or +n b +Ġre ad +\ " +po int +end s +f ield +о Ð +ro und +o ver +ww w +mo ve +bo x +ä º +Ġv ersion +A l +Ġc heck +ch o +it s +tr ue +Ġin put +Ġwh ich +) { +O ut +ĠD e +Col or +d ir +n um +st atus +it or +Ġp ath +Ñ ģ +b lock +Ġo b +g in +Ġ" "" +a de +p ost +O r +t n +i able +st d +Ġun der +Ġc l +St atus +C ount +ail s +def ault +c ur +o v +Ġch ange +} } +Ġn ode +Ġm odel +ting s +Ġa d +tr ans +i k +D ate +b ody +a f +Ġc urrent +b l +a le +c heck +W ith +t il +uc cess +ot al +ect ed +-- - +Ġb ool +Ġs rc +F or +> ( +G roup +ĠT r +ic on +e vent +ĊĠĠĠĠ ĠĠ +. / +ug in +os ition +Man ager +lo se +st atic +re n +à ¡ +ann el +ic al +ut ton +c lient +l ang +re g +C L +ic ro +ass word +s w +lob al +m an +IN FO +A c +Ġon e +t es +Ġ X +ch ar +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġtr y +Ġw as +S ystem +T able +Ġf ield +m t +ut ion +Ġst ate +Ġo ther +Ġ[ ] +i ent +L oc +at ab +! -- +end er +gist er +In put +se lect +A G +Ġth en +å IJ +s rc +ol der +Ġcont ext +th on +st yle +I s +Ġit em +ç Ķ +Qu ery +Ġb reak +ver t +Ġl ine +Ġs ome +Ġtr ans +Ġm ay +b ar +ro id +so le +å ® +č Ċĉĉ +p age +Ġ arg +ifi ed +but ton +mp ty +à ¸ +form at +w idth +p ng +In ter +m odule +ver sion +iz ation +Ġin dex +at er +( & +Pro perty +Ġuse d +nb sp +{ { +l en +I mage +Ġ Ċ +u age +å ħ +u x +Ġ ent +in it +ĠN one +ser v +$ { +per t +W indow +ĠI f +Ġstr uct +Ġm y +Ġd ist +] [ +H E +op en +oo gle +Ġ https +M L +D O +Ġ/ > +ĠL ist +ĠU n +w ait +so ft +atab ase +Ċ ĊĠĠĠĠĠ +Ġout put +app end +y pes +r a +Ġe vent +n ull +ast er +Ġb ase +loc al +ä ½ +v ide +è ¿ +c urrent +ot e +act ory +mis sion +g o +B ox +S S +u i +is h +ĠC lass +T Y +A ction +Ġa ct +T E +B utton +ameter s +p lo +Ġ , +a pe +o ff +Ġ= == +S ub +Comp onent +pl y +D I +C ON +D is +Ġu int +ment s +c s +. > +à ¼ +S tr +str ong +( [ +ser t +name space +u ch +Bu ffer +Ġa wait +posit ory +Ġcom mand +Ġth ere +p ush +Com mand +Ġc re +set s +Ġf l +N o +out put +a int +Ġext ends +I P +S ource +f ilter +ĠI t +O ptions +ĠF ile +ĠĠĠĠĠĠĠĠ Ġ +he d +h ost +rit er +Ġ :: +Ġ} } +/ > +h as +ang uage +per ation +Ġc lient +Def ault +U S +if t +Ġm od +p ri +~ ~ +p art +r t +ing s +Ð » +Ġimp lement +p rivate +le m +ĠS er +sign ed +Ser ver +G L +t om +V ersion +Ġ qu +Ġdo uble +Ġn p +n ect +ob j +Ġd i +Ġl en +end if +ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ +x f +ol ic +Ġpro ject +Ġo ptions +ms g +lic ense +Ġval ues +c ss +Ġval id +u me +Ġ ; +t ual +Re f +Ġp o +v o +c d +orm al +å Ĭ +ust er +Ġ right +č ĊĠĠĠĠĠ +Ġf a +re t +ct x +à ³ +çĶ ¨ +Ġc o +Ġ ar +imp le +M ode +En d +w o +ap ache +it ies +en e +Ġ[ ' +ĠT est +O F +Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +he ader +Ä ± +" ), +our ces +Ġ ed +a uthor +S C +ow er +H el +unt ime +en v +ser vice +S I +Ġli ke +Ġa ction +Ġof f +de t +ap t +Ġrequire d +St art +" )) +param s +D et +F l +l ast +F rame +Col umn +row s +un k +C heck +A A +t ag +P r +er o +Ġser ver +E L +AB LE +ĠS e +Ġ{ } +Q L +arg in +Ġre t +an el +Ġwh ere +Ġr ange +Ġo pen +st ore +ap h +l t +press ion +c f +in ition +Ġb lock +Ġpro cess +C l +S p +om ain +L abel +Ġdist ribut +ĊĠĠĠĠ ĊĠĠĠ +n umber +n av +f r +n ow +g oogle +( _ +) ] +g ener +Ġfor mat +doc s +Ġ args +Ġc al +C K +o ptions +An d +f ont +def ined +' ], +í ķ +bo ard +ĠIn itialized +Ġse lect +Ġs upport +ĠO bject +b ot +Ġlo cal +Ġs c +ĠC ON +iv ity +m ail +C C +Ġv iew +ER R +x y +U rl +######## ######## +Form at +par se +y m +A M +č ĊĠĠĠĠ +At tribute +ç » +F actory +o pt +Ent ity +H ttp +Ġwh ile +c p +br ary +List ener +ĠA dd +K E +Ġ ass +ent ity +čĊč ĊĠĠĠ +B lock +e qual +Ġd if +Re ad +S P +f irst +ref er +Ġfor m +C o +v ed +UL T +st ream +ref ix +ve lo +ĠO F +image s +un it +ĠA n +sh ow +O b +T ask +Ġe cho +å ľ +pro ject +t t +ĠC omp +H O +ver y +gr aph +Col lection +g ress +Ġj ust +Equal s +Ġp oint +.. .. +() : +by te +ĠĠĠĠĠĠĠĠ ĠĠ +iz er +Ġl abel +Ġa uto +Ġw ould +s v +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ä¸ Ģ +Th is +he ight +le ss +St yle +Ġfile s +u mp +m ut +ĠD E +Ġex ample +et a +com mon +Ġ$ { +U I +s pec +ar ning +Ġst atus +Ġo ver +M em +Ġf ind +Res ource +comp onent +ial og +c ard +res h +" . +Ġm odule +Ġm ust +Ġex ec +ad min +Out put +m er +Val id +util s +Ġin clude +iv en +Ġex ist +æĺ ¯ +il ename +de scription +è ® +e f +Ġs ol +g n +r ad +et work +Ġl a +Ġse e +TY PE +AL L +a a +Ġo s +p g +Config uration +in st +à § +er n +T P +Ġal so +ĠA PI +I M +ail able +Up date +Ġm an +æ Ĺ +le g +U s +I O +che d +Ġd ate +vir on +ch ange +čĊ čĊ +Lay out +IT E +è ¡ +U M +F ilter +Ġme m +Ġg roup +æķ ° +R ow +in es +Ġn ext +Ġpro vide +n p +Ġf ont +ex pect +L ink +, " +Ġj son +enc y +ck et +Ġp ost +ri ver +add ing +{ " +Ġc atch +x x +ĠN OT +a h +in s +S to +S c +y thon +ant s +Ġ> = +ST R +Ġpro b +L ength +a ded +å Ń +P RO +Ġhe ight +Ġc ount +in stance +temp late +ro ot +ĠC opy +c enter +re act +y mb +a uth +che ma +; & +M O +at tern +ĠD ata +EX T +b it +Ġl ast +v ector +re q +Ġto ken +c ast +io us +ĠĠĠĠĠĠĠĠ ĠĠĠĠ +ens or +be gin +T emp +ess ion +Ġfollow ing +UR L +d ing +ĠS h +pro cess +Ġ ... +U P +z ure +bo ol +Ġf ix +Cont rol +p ack +T ypes +n s +OR T +Ġiss ue +å º +l ight +Ġ" / +Ġf ound +Ġs ame +pro perty +ĠV AL +cont rol +U B +at tr +Add ress +olic y +Ġa v +ol s +Ġh ere +Ġinst all +W h +pro duct +c r +F unction +ĠY ou += > +tribut es +ud io +d ist +r ag +Ġlo ad +o ther +cri ption +ic le +x b +M odule +c ent +a j +qu ot +ry pt +Ġn ow +v en +() -> +Ġ query +add ress +ĠA S +Ġo ption +Ġin formation +t en +' . +NA ME +o se +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ +à ¤ +V E +c y +act ive +n own +R out +et ch +ĠI D +а Ð +å Ľ +i er +Ġre f +w ard +d ition +Ġm at +Ġ que +ex ec +at form +B ack +s a +ãģ ® +Ġas ync +lo t +c b +com mand +) ( +Ġdis play +Ġe ach +Ġ ], +l n +l it +ES S +BU G +": " +Ġ< = +ult ip +! [ +S H +as ses +ty pes +rap per +g en +Ġsh ow +a use +N one +Ġpro tected +Ġ Z +j oin +=" # +J son +O ff +å ° +R un +Ġm atch +i an +Ġor der +================ ================ +str act +Ġs w +file s +{ } +W rite +b ind +Ċ Ċĉĉ +` . +he l +e lement +p arent +ff ect +re move +Ġp ub +f s +Ġcon sole +Ġ' ', +A pi +Ġl ink +Ñ ĥ +A PI +D o +ĠE n +ac es +r on +me t +de lete +ĠC ol +b tn +g ing +č Ċĉĉĉ +un ter +å ¼ +N um +Ġinter face +R AN +Pro vider +Ġthrow s +or ld +M od +idd en +Ġm ain +N O +Ġcomp onent +å į +c at +v ices +d ated +r ing +Ġbe en +read y +on ly +ãĢ ģ +Ġlo c +Ġ ), + ł +m aster +W R +col umn +x ml +s ol +W eb +Ġs ign +C ache +ad o +Ġs uper +an e +Ġp ort +s ql +Ġand roid +Ġt ag +ap ter +âĶ Ģ +ĊĠĠĠĠĠĠĠĠ ĠĠ +Ġal low +b ook +)) ) +W idth +on s +c ache +ĠT o +Ġclass Name +ĠF or +re en +ot o +ĠW h +f ull +U ES +o use +Ġcol umn +Ġh ow +Ġab out +P re +do uble +viron ment +ĠA rray +cont ainer +IN SERT +d t +T ag +o le +x e +O S +Ġw ant +an ch +P art +ĠCopy right +ĠIN TO +Ġ em +Ġv er +He ader +loc ation +Ġc orre +struct or +ĠC reate +le vel +Ex ec +P tr +Ġp ackage +b a +V is +C lick +Le vel +-------------------------------- -------------------------------- +ä¸ ª +Ch ar +is s +ch ild +ĠL og +Ġto p +Ġs ystem +di ct +é Ģ +CT ION +bu ffer +arg ument +Ġbe fore +s ide +M enu +i que +Ġp h +p atch +Ġw eb +Ġvar iable +Ġ q +c lose +ĠU ser +A uth +ma ke +ãĥ ¼ +Ġo verride +Ġa fter +indow s +in ce +ĠW e +p resent +ain ing +; , +ith er +Ġser vice +Z E +ire ction +ent ial +Ġli mit +st amp +Ex t +Ġ( ' +App lication +Ġdistribut ed +cre en +A Y +P osition +C ase +am b +h er +âĢ Ļ +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ĠB u +Ġc ur +M S +( * +Ġ< !-- +ĠVAL UES +P L +ĠR eturn +Ġb et +ĊĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠ +Ġp osition +Ġde t +æ ī +ann ot +dis play +ĠA l +as ic +t ri +Util s +ĠI S +ca le +st ri +En um +tx t +Ġf ilter +Hel per +ex ample +ĠC om +em ent +E mpty +wh ere +ĠT ype +Ġwh at +ĠS o +Ġf n +ĠU p +ĠP R +A b +Con st +ge st +n der +Par ams +Ġlo ok +Sto re +R em +app ing +ĠE X +Ġth an +R L +] : +Ġf eature +G ET +Ñ ı +f ul +Ac cess +ë ĭ +Ġarg ument +li p +t ask +pl ugin +I f +Con nection +Ġexpect ed +Ġd on +il y +ĠS ee +Ġpar ams +Ġpro perty +? : +er m +ar i +re l +ult i +val ues +de bug +d ocument +Ġ es +à ¶ +Ġin itial +m ode +y nt +Ġspec ific +Ġit s +D i +ĠD ate +P h +ĠT O +scri be +Par ser +M M +c le +O ption +е Ð +Ġob j +ĊĊ Ċ +ex p +h ome +Ġre g +Ġd own +pro t +a uto +Ġch ild +Window s +m m +Ġle ft +ar n +Ġ? > +yn am +im er +frame work +' )) +se ssion +RO M +ĠĠĠĠĠĠĠĠ ĠĠĠĠĠ +s ite +C ore +s ave +ĠIn t +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ +ymb ol +Ġac cess +c or +me ta +ent ic +Pro cess +p ub +V ector +l ish +ce iv +Ġw rite +[ : +t mp +Ġres ource +Ġw rit +Or der +m atch +rom ise +) & +Cont ainer +c ul +off set +b b +P RE +Ġ( " +H ash +D raw +Ġh andle +h ash +Ċĉĉĉĉĉĉ ĉ +ĠT HE +R eturn +Ñ ĭ +AT ION +ĠA s +p assword +FA ULT +DE BUG +Ġl anguage +Ġt ask +B ar +d at +ut or +ers on +< !-- +C ell +à £ +che s +Ġre nder +åľ ¨ +Ġex p +ut om +g it +I con +Ġg r +X X +T ER +IT Y +D D +Ġo pt +l ing +ol ve +T arget +> (); +Loc ation +x a +Ġm ode +u ction +M in +de vice +ERR OR +Ch ild +Ġso ftware +ĠTr ue +al ign +Ġp arent +qu ence +if f +d ic +z e +Ġex cept +Ġ* ) +c lick +ug h +mo unt +$ ( +s ystem +r u +Ser ial +print f +O K +emp ty +I F +Ġthe y +Ġ ê +C P +h andle +con f +py thon +Ġb o +s or +O pen +pro ps +Set tings +ĠAN Y +Ġadd ress +u ff +und le +Ġst ore +b reak +se e +Ġ et +er ge +an sp +") ); +čĊč ĊĠĠĠĠĠĠĠ +D ir +im al +P R +Ġn on +ad ers +As ync +M at +y p +we en +ã o +W ork +let ed +c ustom +o perator +in ue +co py +Ġo ur +"" " +ä¸ Ń +f d +P os +st ep +sp lit +t otal +ay load +Ġs k +er a +Ġ" , +AR T +Ġ' ./ +b lob +t ab +å ¯ +ure s +Un it +b ed +Par ameter +Lo ad +Ġal ign +en ces +å Ĩ +ĊĊ ĠĠ +sh ot +' > +N S +Th read +Ġapp lication +row ser +He ight +ĠW AR +Ġthe m +Ċĉ Ċ +item s +ĠH T +ent ifier +Ġp ri +li ed +De vice +st ack +æľ ī +ĠV ersion +Ġ[ " +ent ry +m enu +v ious +Inter face +ĠR E +in ate +a i +ist s +w n +ä¸ į +Ġde scription +Ġhe lp +B ody +Ġro ot +plo y +Q ue +ock er +G E +Ġ' / +I B +Ġv is +C urrent +v ol +In teger +ut er +Ġ( : +ri es +Ġc ould +Ġde lete +ĠD es +OR D +å ĩ +mission s +ĠDe f +j pg +w ay +å ¾ +l a +and ard +x c +x d +Ġtemp late +Arg s +ĠE rror +Ġd b +ĊĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ +ock et +im um +lay out +ï¼ ļ +Ġ{ @ +Ġo p +se cond +S ec +D ocument +g u +æ Ŀ +il er +or ies +Ġp ass +oc i +Ġin fo +Ġse cond +he ll +æ ł +C M +Ġl ength +h av +imp l +. " +to String +Ġcon s +ĠM e +Ġst ep +Ġbu ffer +St ack +ĠAN D +Ġc ustom +ot ype +Ġs uccess +Ġf rame +ro ugh +ph a +R ender +W e +IN E +Ġm sg +âĶĢ âĶĢ +x ff +s uccess +el y +-------- ---- +a ise +at t +ern el +_ . +Ġt wo +S ession +ĠN ew +ve c +ä ¼ +ĠN o +expect ed +g h +res ource +Ġb tn +ist ory +Ġb l +å Į +in ation +ĊĊ ĊĊ +v m +L IC +an ces +Ġl ay +c ategory +Ġe ither +T op +ix el +Re cord +sc he +up le +P ost +é ĩ +ĉĉ ĉ +sh ould +app lication +Ġ ~ +i or +p th +Ġb order +ren der +ca use +" ` +in ary +T itle +p k +ĠA ssert +ed it +ĠF alse +Ġdif fer +ĠA p +Par am +S D +ĠN ot +B O +H ER +Ġpar se +EN SE +T D +} / +ĠG ener +ach ine +Ġspec ified +Se arch +Ġle vel +ĠG L +A RE +Pro ject +DI R +R ange +L L +e ad +ule s +! ! +Ġb r +A SE +co ding +S cript +__ ( +Ġback ground +c loud +d s +D own +] ] +By Id +WR ITE +in sert +Re pository +Ġreturn s +Ġor ig +Ġin it +f inal +in line +l ong +Ġw indow +i as +add r +Ġ ge +re place +Ġ' \ +sh ape +In st +ank s +ension s +Ġse arch +Des cription +p op +Ġ est +ch annel +av ax +tr ain +Ġs end +al y +t ree +ãģ Ļ +str uction +j ob +l s +(' / +li mit +) -> +rig ger +t ed +ĠÐ ¿ +%% %% +() { +return s +Ġ( * +ynt ax +n a +in ternal +act or +Ġs cript +ç Ľ +i us +g lobal +J SON +AC E +L ast +ĠEx ception +Ċĉ ĠĠĠ +ĠN ame +A ssert +Ġcre ated +Ob j +fe ature +Ð º +Ġresult s +AC K +ĠD o +Ġme t +un g +as on +Ġthe se +Ġ âĢ +A g +EN D +Ñ Į +s ample +ĠWAR RAN +Pro perties +str aint +o us +we ight +N ULL +ition al +Ġm argin +Call back +H andle +Ġde vice +f ix +Re ader +Ġbe cause +AS S +m ar +Ġav ailable +ynam ic +r ate +KE Y +c el +Ġcall back +ut f +Ġ+ + +Ġtest s +Bu ild +F L +r ation +de st +re gister +ãĤ Ĵ +ĠT ext +Ġc ache +Ġ č +g gle +s ort +IN D +Loc al +Ġ! == +Ġa x +Ġ% } +ed ia +Ġ" " +gist ry +um b +Ġf un +++ ; +Ġ{ { +AT H +inter face +Ġhe ader +Re g +Ġp e +Ac count +čĊ ĠĠ +is hed +á » +Ġre move +Ġre d +M B +; ; +AN D +T ree +per s +Ġw ay +N ext +Val ues +a o +th en +ack et +M et +f n +U RE +Ġb ody +Ġd irectory +Ġi o +SI ZE +gr id +ĠC O +ĠA ll +d ay +in ner +\ + +b ad +Ġal t +Def inition +c an +com mit +c ell +Ġpar ameters +model s +ĠA zure +Ġt otal +us r +ä¸ º +ĠCon fig +cur ity +ex pr +is ion +Ġcon nection +S ign +ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ +Ġd one +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ +Ġ â +sp ring +g or +Ġpar ameter +ultip le +O p +ĠJ SON +plo t +Ġp os +Ġoff set +C ustom +n ap +Ġchange s +u ally +G raph +æ ³ +Ġh ost +Pro duct +De lete +ide o +C RE +il t +Ġent ry +p ol +im ation +Ġdef ined +u k +reg ion +Ġf unc +A r +idd le +ur i +. * +Ġal ready +th read +)) . +lic e +P C +ut ure +val u +Ġby te +åı ¯ +s i +med ia +ĠW IT +P ort +Ġs m +" ], +ar io +Ġ à +Temp late +Ġst ream +=" {{ +ä» ¥ +æ ŀ +Ġ{ " +m un +Ġdiffer ent +ç ½ +} { +ab ility +ib ility +Ġbut ton +d c +ĠC heck +Off set +tr ic +MA X +Ġpro gram +æ İ +bot tom +h o +' m +co der +Ġde st +Ġpo ss +Ġa cc +Ġun defined +AG E +mo v +F irst +s cope +e cho +ĠRe act +AT A +module s +b order +IG N +M ENT +style s +Imp l +eng ine +Arg ument +OR M +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ +Ex pression +Ġconfig uration +Pro to +'] ) +: \ +ub e +Ġb it +key s +C re +Ġf ore +Ġac count +Ġcont rol +f c +Ġd atabase +Ġv irtual +Ġe mpty +ro ss +à ® +P layer +å ½ +f in +ä ¿ +am l +æ Ķ +C al +as sets +d r +е н +c md +ĠM ap +con nect +w indow +Ġby tes +am era +CO DE +e ed +Ġse ssion +ac count +Ch annel +Ġde pend +component s +al s +De bug +æ į +u a +ir m +St ep +d im +v as +Ġf ull +" /> +M on +FI LE +Ġth ink +Ġ license +ser ial +action s +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +è ¦ +re m +Ġf ail +i od +am ily +set tings +S A +G rid +S QL +ip el +Ġde l +ĠTr ans +i ct +al loc +velo p +ac cess +D R +é Ĺ +in c +Re ference +ver se +St orage +N E +Ġin ternal +pe ed +Ġcon f +< < +Rout e +In it +equal s +N et +refer ence +al le +Ġsw itch +Ed it +g ment +Ø § +O ne +Ġname space +ĥ ½ +r ange +ĠA d +Ġapp lic +C ard +b f +b c +æ Ģ +s upport +S ION +Ġw ord +F ound +ab s +j o +è § +im ent +bo ve +Ġ Ñģ +LO G +æĹ ¶ +w s +po se +H P +f ilename +bo ot +(' # +Ġo ld +ĠI s +" } +mo ck +En g +log in +Ġre q +ign ore +gor ith +Ġp y +W N +Ġre lease +Ġun signed +Ġthe ir +P ORT +c ap +g ame +Ġre cord +ater ial +S O +ction ary +id s +Ġs um +a e +Ġm ark +Ġc ard +Ġr aise +Item s +Ġe very +Ġre port +Ġad ded +ĠE N +Ġpro to +i i +By tes +ĠD is +è¡ Į +com ment +require d +Ġg lobal +Change d +by tes +% ; +To ol +Ġs ure +P T +mem ber +d l +av as +ĠO ption +M ock +Ġob t +) ), +H ost +Ġth read +M atch +r s +. __ +Ġpl ace +P anel +F loat +A re +sv g +ur ity +S Y +Par ameters +ut es +Ġh ash +ĠM odel +Le ft +Act ivity +Ġj avax +LE CT +avas cript +Ġa bove +e q +//////////////// //////////////// +P ER +Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +R el +at al +Ġt mp +Ġc tx +Ġd oc +S chema +ang le +Ð ² +c rypt +D F +Us ers +Ġcon dition +Ġ ĊĠĠĠ +Ġk now +Log ger +ĠW eb +PO ST +Ġn et +us ers +Ġprob lem +Ġat t +å ¹ +Eng ine +l ap +F ont +Ġp adding +b ers +B l +ĠT ime +c ar +TI ES +ĠF orm +oc us +RE WRITE +n ative +al k +ĠS ub +B ind +^ ^ +D ialog +U ID +* ) +s ys +to ol +Ġbet ween +re port +D el +( - +k nown +Ġt ypes +_ , +h older +Ġf ree +w ays +ro y +Ġsize of +str ap +C S +Ġd er +e k +co me +or ch +Ġs uch +Ġf in +ĠF ROM +C R +ãĤ ĭ +Ġex ception +å ¸ +M y +ĠReturn s +Ġs im +L i +az ure +W idget +urre n +TE ST +c pp +w ise +are a +P o +Ġ' @ +G ame +ĠB ase +k it +O peration +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ +Ġ> > +Ġm on +Ġ" < +re lease +n on +con n +J ob +export s +=" / +m icrosoft +L icense +ĠM icrosoft +Ġassert Equals +inst all +ath er +U D +trans form +ac ity +æ Ń +k a +Ġa uth +Re quire +d rop +æĸ ĩ +~~ ~~ +de sc +å · +Ġfa iled +sc ale +ä» ¶ +g a +ð Ł +l ation +Ġcorre ct +A p +') -> +m ath +Ġ[ [ +i ant +c lear +å® ļ +In valid +Var iable +V ert +ó n +A CT +o om +Ġcal led +er ial +al t +Ġch annel +T e +'] ; +Ġfield s +") ] +or ig +ãģ « +Ġen um +ĠU RL +Ġo k +( ! +è Ģ +ge s +File s +play er +con nection +R ule +v id +Ġs ort +} " +ĠV alue +red ential +A ME +ĠS T +Ġit er +Ġcont ainer +ĠÐ ² +I ter +w idget +r andom +un signed +Ġh igh +Str uct +ĠSo ftware +Ġa m +ipel ine +amb da +E ach +h idden +enc ies +Ex p +mod al +en um +[ $ +c ed +av ig +Ġd irect +ì Ĺ +pl it +y y +i um +age ment +Ġerror s +Ġat tribute +w j +d uc +Ġp assword +b s +Ġ í +ra ft +ge d +d raw +ãģ Ĺ +prot otype +ter m +Ġ Key +Ġlo aded +ex ception +Ġloc ation +M T +Ġpar a +vo ke +S L +ul ation +I R +ĠWARRAN TIES +ar m +ĠE vent +ëĭ ¤ +: ( +I ST +ĠL O +N OT +Ġre gister +N on +ire d +S w +Pro ps +h s +Ġex press +iter al +ff ic +" }, +Ġth rough +Ġv ol +lo y +par ser +te gr +G B +r m +que ue +ĠO pen +ãĥ ³ +tr ics +By te +j unit +Ġg u +Dis play +Ġt ri +h r +r ic +e ded +proto buf +äº Ĩ +ĠAp ache +Ġ" $ +IT ION +Ġprovide d +Ġt er +i os +Ġitem s +Ġ ke +print ln +(' . +Ñ ĩ +W S +L ong +point s +D atabase +aw s +è¦ ģ +; "> +det ails +pro file +Ġ im +t ip +Ġg l +t ags +Ġs ample +m ask +O ver +ou gh +sche ma +z ip +Ġ` `` +Ð ¼ +f mt +Ġpl ugin +Ġrun ning +Ġde s +W riter +me di +p ull +P ri +Ġm is +( : +Ġs ingle +ay ment +Ġn etwork +use d +fo o +cript or +li de +I E +En abled +Ġm erge +Ġj ob +H as +f ree +Ġr andom +Ġg raph +n n +Ġbe ing +T ab +ĠUp date +C opy +F R +ìĿ ´ +ĠN ode +: +word s +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġset tings +w rap +c m +log ger +du ce +Do uble +se mb +Act ive +l g +sc al +{ \ +Ġa uthor +Ġlog ger += \" +Que ue +ĠD O +Ċĉĉ Ċĉ +Ñģ ÑĤ +w ner +ĠC re +M sg +Ġh and +LIC ENSE +ur ing +co ver +Ċĉ Ġ +Ġ email +Met adata +pen ame += $ +fo ot +ĠDef ault +Ġ` ` +hav ior +} \ +ag n +serv ed +ĠV ector +n one +Name s +ud ent +ad ow +D L +_ ; +( () +æ Į +d omain +Ġmem ory +Ġpar ser +iv es +(" # +Ġre ference +Ġbase d +spring framework +k w +Ġa pi +c v +Ġwrit ing +E ST +un try +V L +Ġs ave +å Ģ +re cord +Ġo perator +D S +é Ļ +it es +Ġst ack +FF FF +Field s +ç § +Ġd id +Ġ< ? +Re port +Ġ' < +T W +nap shot +t w +at om +ign ment +field s +Pl ugin +E E +el f +back ground +op s +f ill +ĠP RO +Ġ html +ro s +Mat rix +Ġp ut +Ġdoes n +bu ilder +) / +Ġex port +S o +"> & +Ġse ction +col lection +Ġ âĶ +rag ment +C lose +Ġinst ead +ĠM ath +ann er +ar s +> { +ĠA ct +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġg ame +RE F +H EN +b d +ĠS ome +P AR +ĠT ask +license s +lang uage +sh ared +Ad min +e g +Ġc enter +ĠR em +Ġposs ible +Imp ort +ĠWIT HOUT +P ool +( ` +Ġ um +Ġun it +æĪ IJ +Ġro le +Ġst ill +d ocker +F unc +(" / +he ther +Ġargument s +x ffff +ĠP er +Ġo peration +t f +de cl +se c +D oc +ä½ ¿ +wj gl +st orage +C ategory +ç ī +Ġ ĉ +ad a +Ġobt ain +******************************** ******************************** +ĠSer ver +Ġper missions +F eature +m ac +Ġc lose +è¿ Ļ +M eta +Ġc lear +Ġm ov +> : +)) ); +ĠIn put +P S +ĠA nd +Ġbe gin +O UT +/ ) +name s +un ch +Ġdet ails +C I +Ġ' ' +P olicy +ST AT +Ġus ers +() ). +R R +Ġli brary +p refix +serv ices +ac ing +Ġs a +log y +j avascript +d ot +ĠB e +Ġp ython +ä ¾ +Ġap pro +¦ Ĥ +test ing +Ġfore ach +ĠV al +Ġ icon +G R +оР² +čĊ čĊč +ĠIn st +Ġag re +error s +Time out +An y +Collection s +he s +to ols +Ġs imple +Y ou +Ġread only +? > +IL ITY +]( # +æį ® +Ġ ĊĠĠĠĠĠĠĠĠĠĠĠ +-- > +Pro file +ä¸ ĭ +In ternal +C ur +A X +result s +ĠTO DO +a iled +ro le +å¯ ¹ +ĠM y +ãģĹ ãģ +Ġn ormal +V er +Ġcont ains +or ity +ĠO ut +PE CT +Ġpro perties +E rr += ( +Sh ow +Ġ[ ]; +hel per +åĪ ° +re p +Trans action +. , +ex tern +al ys +Ġ" ", +n ess +Ġp lease +Ġex it +Ġselect ed +r am +ook s +Des criptor +ĠV iew +Re gister +annot ation +Ġo per +in itial +Ġdocument ation +ll um +Ġbo th +Ġa utom +ĠR out +view s +li ance +e ver +ceiv ed +f b +ch ron +ot tom +Ġt ree +Ġp as +select ed +Ġel if +B r +.... .... +ro ute +ëĬ Ķ +å Ĵ +ĠP y +ï » +Ġpar am +Ð ´ +M ain +on y +A uthor +ĠI mage +Ġp layer +h igh +Det ails +p b +é ¡ +R ect +Ġ čĊč +Ġo wn +) } +user content +ick er +se curity +Ġcon structor +A ST +Ġb ox +Ġ .. +av ed +alys is +ï» ¿ +anc el +n ormal +call back +O B +æĸ ¹ +HER E +ir d +č ĊĠĠĠĠĠĠĠĠĠ +ĠH e +tr ack +U se +llum inate +ĠI O +ç ão +Ġm ock +as ync +X ml +b oolean +S upport +################ ################ +ĠIn teger +ĠC ode +Form s +ĠA c +Ġg over +Ġd im +je ction +ol ution +RE AD +w d +S uccess +i pp +al th +. ", +pr ice +DE F +ĠU se +de pend +d ates +Ad apter +ad ing +Ġent ity +D C +HT ML +ol ver +f p +c imal +ĠS QL +le ep +k t +ON E +b atch +P arent +en code +ĠN O +Ġper form +č ĊĠĠĠĠĠĠĠĠ +Ġmethod s +Select or +è¡ ¨ +j i +Ġfunction s +U AL +Ġe ven +C an +lin es +Ġin line +ĠRe quest +s ure +Ġgener ate +Ġd iv +a u +it ter +å İ +G lobal +Ġ ĊĠĠĠĠĠĠĠ +pri mary +sc reen +Ġup dated +R T +ri p +up load +w in +bo und +Ġw ait +con sole +Ġname s +W ORD +å ¿ +Test s +ãģ § +è ĥ½ +ĠK IND +l at +åĴ Į +iss ues +E mail +am a +Ġg en +Par se +ub y +! ( +Ġcon vert +' re +s im +h y +Ġw ell +github usercontent +ĠR un +å ¦Ĥ +Ġcol lection +i ón +è ¾ +M ark +On ly +D ist +Ġde cl +åĪ Ĩ +M icrosoft +Ġimp lied +z er +var iable +> . +Ġsh ort +gorith m +r b +ì Ħ +ä¸ Ĭ +E CT +j ust +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ +Ġ Ċĉ +íķ ĺ +w er +é Ŀ +AN T +ĠB y +AR Y +met adata +d k +S U +Ġtrans form +Ġact ive +cre ated +ç İ +exec ute +Ġ util +Ġw ere +` ) +VER SION +h andler +e a +Ġen v +re set +p a +m argin +m i +c li +R ole +ĠF unction +S k +D irectory +re al +Select ed +fl ags +IC E +E M +y ear +Ġmodel s +Ġf mt +Ġser ial +Ġpre vious +Ġed it +lo ader +fl ag +Ġapplic able +log ic +Ġs ince +Ġto ol +Tr ack +ãĥ Ī +Ġtr ack +as ure +. ' +\ ": +du ction +Ġcon n +al low +å ± +A V +G e +{ % +net work +ri ct +Ġimplement s +Ġs cope +ä¸Ģ 个 +ĠM essage +per iment +å ī +ĠD B +d x +Ġcom mit +urren cy +ç IJ +) * +B it +Ġde bug +á º +To String +ĠL oc +Mem ber +ĠA t +quest ion +j a +=" ../../ +st at +AL SE +H ub +ĠI P +D ATA +RE S +d atabase +ateg ories +ol y +â ĸ +Cl uster +ir cle +Ġm ultiple +ansp ort +en ded +ä½ ľ +LI ST +ang o +S creen +ome try +p ass +Ġs ent +ç½ ® +SE LECT +' ll +ĠA rg +Draw ing +J S +H ome +Ġp red +cont roller +ãĤ ¹ +Fl ags +Ġm ost +L ock +sol ute +à ¹ +end ar +valid ate +s n +f g +Ġ( _ +her it +sw itch +pro p +pro perties +W E +Ġgo od +to ggle +') ); +ĠO r +Ġact ual +get Element +ĠÐ ¸ +ce ive +pk g +Ġass oci +Ġp lay +Ġfl ag +I m +B E +ex ists +Ġv ert +Ġsome thing +the me +sh al +K ind +ĠP romise +ĠL e +F E +ut ter +h and +z z +ĠÐ ½ +CON T +W rapper +ver ter +Ġan other +ur face +u ite +pre c +In itial +g y +co unter +â ķ +p df +M IN +Ġobject s +er ic +æ³ ķ +cf g +ĠH ttp +r untime +使 ç͍ +Ġin v +t k +am ent +FL AG +A v +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ +| | +f it +ap ply +cs v +__ _ +Ġelement s +ĠRes ult +it al +Ġset up +Ġen vironment +Ġorig inal +è ĩ +B oolean +p anel +N etwork +Ġv ec +if def +ump y +R I +B ound +Ġreturn ed +ac c +Ġst op +ĠE nd +al led +d om +Ġgener ated +/ . +it o +Ġp op +or iz +F ull +Ġv ia +ç ¨ +) " +im it +RE G +N T +Sh ape +Ġimplement ation +sub mit +re st +, $ +Ġwork ing +A uto +cond ition +Ġh app +ar p +ç ® +w ik +P UT +ash board +Ġi p +k er +Ġright s +cont ains +ight s +T otal +Ġs ite +he lp +å ij +B R +Ġst orage +oo se +ĠR ed +ĠLicense d +' ve +S ync +m k +C D +B undle +ug gest +x FF +sa fe +res sed +Lay er +N ET +Ġc md +ex it +Ð ¿ +: ** +en ch +Å Ł +L INE +, , +åı ĸ +lin ux +ĠM an +l ab +ĠF OR +leg ate +v i +x t +Tr ace +Ġ img +al ert +ĠSt art +Ġbe low +Ġo cc +Ġm ight +Ġwith in +sh ip +Ġcont ain +( @ +ri ef +çIJ Ĩ +ĠIn ter +TI ME +foot er +M apping +in ess +ĠHT TP +Ġs creen +Ġsol id +Model s +> ; +Ġ æ +Ext ension +Gener ator +v c +so cket +Ġt ake +Po inter +cl asses +Ġ< - +Ed itor +it ive +ON T +Ġ" - +Ġhe aders +re at +resh old +ì ł +âĢ Ŀ +ĠI mp +ul er +i ed +cre t +Ġb ug +b on +yn chron +age d +æķ° æį® +id ent +ĠRe ad +Ġin d +G r +Ġf older +Ġbu f +a ut +Ġwork s +u f +v s +com m +ĠSer vice +Date Time +ç ± +ë ¥ +U SE +ak ing +lo sed +RE Q +Trans form +ru pt +av ing +Ġe as +S end +à § +ĠP ython +b g +ag ent +F ind +D ITION +Ġf ilename +Ġap ply +} > +mat rix +np m +re c +åĩ º +а н +Ġt ab +ag ing +F T +Ġcan not +test s +if act +sm all +ë ¡ +Ġvariable s +velop ment +Lo ader +em s +at tribute +b us +Text ure +al pha +wh ite +x s +ĠE d +it ude +en able +Ġh andler +L S +( [' +'] [' +d iff +Ġcl uster +Ġexist ing +Ġbu ilder +o od +t ml +Ġn one +R ad +p m +(" % +Rem ove +** : +child ren +Ġp erson +f aces +r f +co ll +V ENT +Ġd ir +ale s +c mp +CH AR +ĠT ABLE +Not Null +Ġl aw +AB ILITY +C F +n il +ãģ ¯ +ertific ate +ĠI d +S um +fore ach +ãģ Ħ +Ġf r +full y +Ġ" . +R C +ir c +Ġcom mon +gr ad +gr ade +h a +Ġw hether +Ġy ear +se q +ĠJ ava +Ġ_ , +è ½ +co s +Ġcomp liance +v es +J ECT +Ġpo inter +é ¢ +Ġin dic +MO DE +ĠA b +ĠC OL +h pp +Ġ' ../ +P H +app ed +F IG +е ÑĢ +sd k +à ¤ +ĠĠ ĊĠĠ +ĠH ow +? . +in ux +Th at +U SER +F ail +c n +ched ule +ĠB AS +h i +Ġpoint s +æĪ ij +assert Equals +down load +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ +Ġke ep +( \ +ĠT e +D ER +å¤ § +Ġin teger +g re +M edia +s ig +ĠEX PECT +P U +P y +ĠW HERE +ä¼ ļ +vide o +ìĹ IJ +vir tual +} ) +ĠN umber +ì ļ +B B +ĠÐ º +M D +TW ARE +det ail +Ġb ind +OF TWARE +Ġinstance of +d en +" + +ê ° +th rows +'] ); +Ġagre ed +ĠBAS IS +Ġ" "; +Ġsp ace +g i +ateg y +A fter +S ave +Ġre sp +ç º +P op +ĠCON DITION +h ir +Ġgover ning +Ġto o +pl atform +Sp ace +st ats +H R +par ameters +type of +f etch +D b +G en +sum er +ation al +c py +AS K +Ġin cl +ro me +) ]( +ìĿ Ħ +> :: +Con n +B L +Ġs up +ts ch +() )) +ass ign +Ġcal cul +w p +styles heet +n i +iter ator +Ġar ia +ud ing +get Name +Ġnode s +Ġrequest s +Ġa mount +Ġm ove +ĠRes ponse +Ġd raw +boot strap +ï¼ Ī +est ed +ab il +cl uster +P Y +po ol +Ġt y +CH E +ĠCONDITION S +Ġal ways +Ġlimit ations +ad os +f x +ĠP r +åŃ Ĺ +Sec urity +åIJ į +ak er +Con f +æľ ¬ +Ġstruct ure +agn ost +P lay +po ch +S ample +not ation +let ion +j ango +sw er +Ġp refix +STR ING +Ġid ent +Ġc ap +S ort +s ync +if est +Ġs ide +p air +LE TE +ces sed +> \ +Ġhe l +Ġre served +Ġevent s +Not e +Ġmessage s +Ġd at +ĠN S +Q U +D irection +ĠT R +b log +in a +ĠÐ ¾ +al ance +ee k +Const ants +E Y +et s +ver s +& # +S cale +Ġ ĊĠ +ç « +Ġs ys +ĠBu ild +Ġt f +Com mon +D ATE +Ġprint f +re sp +p are +ĠA ction +Ġf e +Ġs cale +li brary +A zure +mb ers +Ġuse s +our s +Ġfix ed +Ġb atch +____ ____ +ç Ĥ +Ġp attern +Ġlo op +] )) +Fl ag +th row +at io +/ { +S ocket +r v +s uper +in f +ĠP O +Ġm enu +ar ies +A rt +\ / +Ġb est +Ġcont ribut +r ule +C md +pl ac +æ ı +Ġre fer +Pro gress +p adding +Ġd a +ĠâĶ Ĥ +res olve +ic a +Ġ ## +Det ail +F ailed +AN G +_ { +S imple +Ġv e +oriz ont +ĠP lease +Ġsol ution +Ġc ore +Ex ample +Ġb inary +assert Equal +Ġab le +option al +Ġoption al +åı ij +Ġ ^ +b rief +ud o +Ġ' # +F C +t re +r al +I LE +ĠS H +Ġass ign +ct or +av en +ĠU I +ub er +Ġf ill +v a +type def +kw args +pro tected +late st +Log in +} ` +u it +. \ +Ñ ħ +velo per +Ġ{ }; +åº ¦ +Id s +re qu +r d +Ġ" ' +op le +Des c +Ġre pository +cre ment +ç ¬ +Ġchar acter +ĠÐ ´ +co gn +S ql +åĬ ł +ro t +Be an +ç¨ ĭ +Ġne eded +d river +Ġmod ify +Ġen able +icon s +Ġ$ ('# +ĠĠ Ċ +Con dition +LO CK +p ag +Ġfeature s +g s +ur al +st and +AD D +ãĤ ¤ +Ġs chema +t ar +p ed +. "); +Ċĉĉĉĉĉĉĉĉ ĉ +log o +b ash +Ġchange d +F in +Se lection +Ġexist s +for Each +h l +Re gistry +res ources +ĠP ath +ĠVal id +D im +Ġsub ject +Ġ ĊĠĠĠĠ +N U +le v +Ġre m +Ġadd itional +Ġ$ _ +t l +ĠD ep +Pro xy +ĠMe thod +Ġnot ice +=" _ +proto col +if orm +Ġì ŀ +ot a +ter s +è¿ ĩ +] ), +ed itor +low er +Ġ Ø +Iter ator +X ML +Ġsh ift +leg al +R P +Ġfl ags +ver age +is m +Å ¾ +object s +Ġlog ging +Ġexec ute +Ġpl t +Ġe ffect +L en +Ġassoci ated +Pro gram +Ġset ting +Ġc ause +Ġr ule +I VE +uber net +ãĤ ¯ +T F +ch a +F ragment +Inter val +roll ers +Ġhe ad +Ġ rows +Ù Ħ +CO MP +Ġp ur +our se +s z +not e +V S +ĠIn itial +Ġ' , +Back ground +ãģ ¾ +c ry +St ats +Ġet c +M ove +ĠLO G +ubernet es +ĠV er +qu iv +ĠHT ML +: ` +r or +on es +pro gram +ro uter +Wh en +ç Ń +Ġw orld +éĹ ´ +in valid +(" . +f actory +i j +T A +] [' +I AL +Ġp ayload +ĠS ET +Ġun ique +serv able +Ġk ernel +ĠTh ere +Ġautom atic +N N +ro ad +ĠP h +DE FAULT +Ġd ay +Ġmem ber +iv ers +at ar +ol l +Re lease +Ġ arch +s y +Ġmis sing +in v +ific ations +ì Ĭ +dis able +ar ge +Ġdown load +inte ger +Mod al +sc roll +ĠO b +L imit +h ide +l ished +ĠN ote +O rig +ig ration +ot ion +MA P +is on +ch art +lo op +Å Ļ +Ġdif f +Ġp ush +Ġ. / +Un known +at tributes +> " +Ġin tegr +act ers +à ¯ +stri ct +== = +ĠM at +çĤ ¹ +Ġstring s +Ġbe havior +ed ge +å Ļ +> ` +SC R +y cle +Ġs v +w orld +ä¿ ¡ +b le +t ure +ri ve +Ġr ad +pro xy +Ġre po +Ġtime out +AA AA +Cont act +At tr +z en +W HEN +ap er +LO W +Li brary +-------------------------------- ---------------- +Ġother wise +ay be +Ġd omain +Ġ' '' +h ip +te am +à ª +ĠJ son +Ġrel ated +Ġen abled +and o +Ġres olve +Ġdata set +M I +Ġs cal +lo aded +vo ice +ĠT EST +čĊč ĊĠ +Se quence +comp lete +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ĠE RR +qu are +Bind ing +ĠM on +mon th +feature s +Ġì Ŀ +EQ UAL +_ ( +Node s +w indows +Ġt ags +Ġ- = +LO C +s ent +VAL ID +Name space +l int +F ONT +label s +âķIJ âķIJ +čĊč Ċĉ +èĩ ª +Ġ arr +ob ile +R et +Å Ĥ +Ġcurrent ly +sw ing +Ġd uring +in i +UT H +Ġcont roller +åĻ ¨ +Ġz ero +åĬ ¨ +Frame work +du mp +ĠEx ample +TH ER +Ġtype of +Ġm ask +Be gin +em o +St at +Ġ ðŁ +A mount +N ormal +ìĿ ĺ +++ ++ +ĠW rite +Ġare a +d ialog +Ġal ert +con vert +Ġter ms +x E +B ool +ĠC l +STAT US +b its +sk ip +l ambda +alle l +Ġinclude d +Not Found +Ġre ason +Ġw arning +ĠH REF +ĠT emp +V ec +L anguage +St atic +Ġde c +d p +VAL UE +D IS +æī Ģ +ro om +: - +Ġf s +p or +and id +config uration +\ ", +ĠIN T +and s +mo b +å ŀ +Ġ( { +B us +P ublic +b eta +ç ľ +utor ial +A F +ang er +Ġnot e +em on +struct ure +w t +ck er +S im +for med +S V +P erson +rad ius +& & +c lean +me an +Ä ħ +ic ip +ĠP age +Ġax is +om ite +Ġcl asses +T EXT +æ ± +åĢ ¼ +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ += [ +=" "> +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ +UN T +Ġsh ape +mun ity +EL D +Ġv ideo +ĠC ustom +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ +Ġ × +Y PE +é ģ +od o +M ouse +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ +wh en +CRE ATE +p olicy +omite mpty +' } +i pe +Ġvalid ate +ĠD et +T L +y aml +å® ŀ +ac ión +à ł +ant ity +ur s +li k +En v +m c +Res ources +comp are +-------- -- +column s +Ġme ans +ĠA L +so me +ĠG ame +Reg ion +Ġexec ution +ĠO THER +Ī ëĭ¤ +ache d +A cc +ty pename +: % +u ario +res ses +cri be +pl t +sh are +av el +V ideo +mer ge +: ' +pe t +Ġ\ \ +con v +F r +` : +S ymbol +Ġbet ter +Ġres ources +anc ed +ãģĻ ãĤĭ +Ġme ta +Ġcolumn s +Ġr untime +Ġp air +Ġthe me +pe ar +éĢ ļ +R andom +mp loy +G o +s lice +in o +Ġex pression +W AR +ST ATE +lo or +è® ¾ +aly t +Ġi de +L ight +Ġre st +ĠE nt +t body +or n +Ġ' " +de c +Ġs b +ĠL ink +åĬ ¡ +arg v +Ġre view +gist ration +Ġp d +Ġs plit +script or +d ays +Ġl ater +p ad +Ġ' '; +S B +P ass +Ġe valu +ĠU SE += % +é Ķ +N ative +æģ ¯ +Exec ution +] ], +ĠC HE +S l +UN D +Ġtrans action +E C +Ag ent +Ġver ify +co ut +ĠGener al +Ġl ight +uff ix +aw n +Ex pr +ĠU s +co very +Ġcomp lete +o per +] + +æĸĩ ä»¶ +Ġal loc +z ero +is set +ĠHel per +d n +riter ia +ç ¼ +De pend +Ġc op +Ex port +å » +c raft +L EN +âĸ Ī +se l +ch at +ex ternal +col lect +f older +Ġbl ack +B ASE +Ġs ur +ĠI lluminate +ĠWh at +Ġ{ % +() ), +iz ing +Ġarg v +ç ´ +Ġk ind +Ġre ader +æĪ · +R aw +č Ċĉĉĉĉĉ +CON FIG +** . +g b +Ñ İ +S up +D uration +ul ate +åĨ ħ +at iv +c us +Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +code d +z a +ĠAn y +çĶ Ł +Ġact iv +Ġlog in +Y Y +å¼ Ģ +ĠCHE CK +ĠD ocument +re view +Ġcur sor +ick et +Ġc ategory +Ġst andard +IN CL +A I +ribut ion +Con tract +M ulti +Ġunt il +O O +COL OR +Ġle ast +æĢ § +ĠA uth +li ke +CHE CK +Ġne cess +atom ic +| . +Ġ il +Ġs ocket +oc ial +Ġse ems +Ġincl uding +âĶĢâĶĢ âĶĢâĶĢ +at ter +aw ait +T ip +N d +D rop +ul a +igh b +medi ate +Ð ± +ãĤ Į +J oin +sub ject +ен и +åŀ ĭ +Not ification +æ ĥ +ĠV is +ĠCont ent +on d +RE CT +ĠA uthor +çł ģ +UT F +Ġ( [ +p ayload +fo und +B Y +T erm +He aders +mut able +mun ic +sing le +D T +ĠG ET +éĿ ¢ +Ġpro file +M ask +S ingle +Ġre pro +Ġd rop +**************************************************************** ******** +D ay +cp u +serial ize +CO MM +Ġ}} \ +æ ¬ +ĠIO Exception +Ī ĺ +der r +m as +Ġcons ider +é ħ +Ġ' ../../ +d st +de pth +è¯ · +al ity +ced ure +l u +çĽ ® +Ġy et +c ut +AN CE +re ader +con struct +mp t +ĠO k +Valid ation +Ġ" ${ +Ġst at +Com ment +vent ory +Ch art +ĠS upport +re pository +p id +i ally +Ġcorre spon +R UN +ĠIt em +Ġtest ing +]( ../ +ri end +å Ł +ig r +En vironment +ul um +group s +UR I +M aterial +gn ore +v let +ĠW ork +åIJ Ī +Ġcomponent s +ook ie +Ġtime stamp +æ ² +In v +F D +Ù ħ +Ġc ar +è ¨ +Menu Item +ĠD i +Ġcommand s +ce ed +Ġ Ñ +Ax is +if e +ĠIn c +S m +# [ +cl one +ĠL ong +second s +inc ip +**** ** +opt s +Ġuse ful +refer ences +Ġth ings +ãĥ ª +up dated +Ġc over +Ġ[ ` +Ġlay out +æľ Ģ +TR UE +ĠS ource +ĠM em +un defined +Ġspec ify +s ch +å Ŀ +de mo +f un +Ġdo cker +RES ULT +Message s +pro vider +r and +r uby +Control s +ul ator +b asic +ac le +id ual +is Empty +Ġre ally +å° ± +è¿ Ľ +о ÑĢ +gener ated +é ľ +ĠM ake +ĠP ost +è ° +ĠC al +st mt +íķ ľ +åį ķ +ĠU N +Ġê ° +te ction +Ġopt s +include s +ar ation +h over +lo ok +ĠI l +per son +M is +. ', +wik i +O per +T imer +ĠIn dex +ĠS to +Ġm ac +ach ment +re po +ud a +ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠ +In d +L A +ĠP oint +åº Ķ +R o +ast ic +Set up +Ġn umpy +st er +FI X +F UN +Ġdepend encies +H tml +Ġp ers +st ar +O wner +Ġc ert +h istory +FI ELD +[ - +s f +c ip +Ġп ÑĢ +bu cket +g g +è · +ser ve +; < +> ' +Ġde scri +Ġ utf +valid ation +ar row +Render er +åı Ĥ +$ $ +Ġsub mit +ĠG raph +================================ ================================ +ĠW ith +Sh ould +Ġ' - +V ICE +ãĥ¼ ãĤ +S R +k ernel +AS SERT +ceiv er +Co unter +ĠRem ove +оР´ +ĠPro perty +]( ../../ +ss l +¸ ° +Sp an +W ait +Ġt x +Ġ$ ("# +) | +å ¥ +------------ - +Ġrel ative +Ġlabel s +ãģ ª +" ]. +S top +Ġtime s +ĠCon sole +Ġte am +P e +ãĥ ĥ +Ġper mission +u ce +in ates +ĠS w +) ? +b i +scal a +L ib +å¤ ļ +O rg +ä r +ĠTo ken +R IGHT +Ġm aster +N e +UE ST +Ġin side +Ġh o +Con verter +AT CH +d m +lip se +Ġst rict +Ġb ig +^^ ^^ +; / +P rivate +fe ed +N ow +Ed ge +Ġf ig +The me +Gener ated +èĢ ħ +OR S +B atch +F ore +Ġpro gress +Ġc ome +T AG +Ġ ---------------------------------------------------------------- +TR IB +T C +č ĊĠĠĠĠĠĠ +En ter +t m +Ġb el +ĠS ession +assert True +Ġb asic +App end +Ġopt im +} ", +trans action +g reen +Ġre moved +r ank +del ta +Ġ Ä +Ġwh o +Th row +Ġrem ote +: / +ĠG lobal +en abled +us ion +Pro p +X FF +e val +all en +Ġex tract +u uid +Ġp ixel +P lease +ĠB lock +SCR IP +ĠS pec +I X +f ast +high light +å ĵ +TR Y +] -> +Ġre ceived +IN ST +br anch +re ct +B ook +w atch +Ġl wjgl +at o +Ġ| = += - +Ġex ternal +Ġt rigger +Ġc b +ĠG oogle +struction s +à ¥ +M C +En able +åIJ Į +] * +comp any +e fficient +In formation +An imation +ĠSe lect +ĠS elf +è İ +Ġ' % +Ġ enter +Ġse quence +W I +Ġl atest +set Text +Y ear +ol ved +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ +() ` +Ġcont aining +ch an +ul k +se m +æĹ ¥ +pre t +il li +in u +Ġ  +Âł Âł +te ch +и ÑĤ +ĠL anguage +ong o +n c +D river +z y +Ġwrit ten +ation ship +Ġ" @ +ap se +ĠO S +Ġwr ong +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġ Query +N av +S yntax +S pr +pr agma +er c +ä» ¬ +Ġm achine +] } +pro gress +Ġstep s +s imple +l ers +Ġb ad +i et +Ġallow ed +ĠS te +r x +Ġ{ }, +O FF +date time +ĠDate Time +ifi ers +Al low +M ake +F ix +Ġf hir +Ġpub lish +ĠP art +Ġc or +M IT +ikari Config +Ġc v +rie ve +Ġle ss +g z +j query +get Value +Ġser vices +atal og +SU CCESS +st e +ĠApp lication +ĠM ain +åĪ Ĺ +se ss +DE LETE +Object s +Ġsim ilar +End point +B C +load ing +Ġh is +et c +Ġreg ion +ĠS tr +Task s +åĮ ĸ +]( / +Ġc ref +H istory +k g +or th +W orld +ad or +nav bar +cur s +Ġ] ); +Ġinst alled +m ing +g dat +ĠD atabase +Ġex tra +av or +MO D +Con vert +alyt ics +P ub +Ġact ually +L ower +T x +R ot +ü tsch +ext ension +Id entity +å½ ĵ +Ġed ge +gu ide +Ġm s +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġde sign +---- - +D OT +In sert +'. $ +{ $ +ĠInst all +å» º +ë ĵ +ĠB E +> {{ +m ine +ĠAS SERT +at is +c lo +æ ¨ +T ags +Ä Ļ +---- -- +Con nect +RE C +let on +Ġ" + +ick s +S cal +H older +Ġy ield +Add r +h w +se ct +Ġh ome +iz able +Z one +P ower +tr l +red it +ou ch +Us age +MB ER +ud it +D iv +éħ į +File Name +ĠH i +ĠEx ec +at ile +Event Listener +li m +Ġgo ing +Ġh ard +Ġm b +ĠI MP +up y +ĠDe lete +pro c +C lear +Ġsecond s +Ġcase s +Ġs core +B A +Vol ume +Nd Ex +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ +ill a +é ĥ +t ensor +~~~~ ~~~~ +H and +l and +Ġ ). +po inter +| -- +{ }, +Id x +ci pe +ĠS ie +Ġmon th +Comp at +g p +Null able +in herit +che me +å° Ĩ +åħ ³ +ĉĉĉĉ ĉĉĉĉ +V O +c art +Ġb ottom +am ma +(' ./ +aj ax +Ġh idden +li es +ĠE lement +P acket +ĠLo ad +an te +={ { +ĠPro cess +Point s +Ġar ound +ë ¦ +z on +fl utter +оР¼ +ot lin +Pl atform +Ä Ľ +åľ ° +m ulti +o res +ĠG MT +PO SE +Ø ± +fl at +Ġvalid ation +IO Exception +Ġw idget +TRIB UT +un e +po sed +if ies +j ar +s r +As set +Ġp od +Process or +var s +Ġ engine +Ġvol ume +ĠD A +Ġb us +Ġp lot +Ġ ### +Ġdis abled +AP P +éľ Ģ +Sh ort +Cre ated +l an +o h +unk nown +Re al +ÑĢ Ð°Ð +Ġ, " +FLAG S +Char acter +Ġp acket +F S +Ù Ĩ +Ġaction s +Ġus age +Ġpro vider +l as +çİ ° +" ]) +act ivity +Ġcre ating +h ow +[: , +Ġbu ilt +HE AD ++ ' +I MP +In s +Ġset s +! = +U ST +ys ical +A udio +N C +ĠS c +ly ph +ĠS k +nav ig +Ġ" ../ +ile s +em bed +Ġ{ \ +Å ¡ +Ġs ig +Ġwh y +l r +un ded +Ġs uggest +am az +loc ale +ch or +ade s +Ġautomatic ally +ĊĊ ĊĠĠĠĠĠĠĠ +ĠCont roller +Ġt urn +h ref +Ġp ool +Ñ Ĩ +iv ed +d uration +cl s +ĠDo uble +Ġd ays +ĠB Y +Ġis instance +M esh +th at +> () +un to +Ġinst ances +ä» £ +èİ · +\ ' +orig in +T ABLE +e ax +he x +ĠCre ated +æĽ ´ +é ĺ +T ri +B inary +N ING +c ategories +Ġlo s +er ies +Ġm ulti +ìĦ ľ +M ASK +w rit +ĠÐ ¼ +quest ions +éĩ ı +æĮ ĩ +ver ify +л и +M ES +Return s +Ġin c +Ġallow s +l v +m u +able s +dest roy +Ġs ymbol +UD ING +sc an +T T +< >(); +< ' +Ġd irection +Input Stream +Ġf eed +Ċĉĉ ĠĠĠ +ĠG NU +ĠA D +c ert +G O +Ġ ÑĤ +ar ing +comp ile +al i +ĠO UT +Re st +D irect +Ġend point +н Ñĭ +Ġ question +rem ote +Ġf ew +bin ary +r ules +id o +U CT +p ay +graph ics +( / +s ymbol +en k +Ġed itor +ĠRe gister +prec ated +w r +F ree +cur sor +Ġpro p +Ġr ules +h ere +bl ack +Ġco unter +é Ľ +Ġpe ople +ur ch +m ore +* , +C ancel +Ġdirect ly +Ġb its +å § +d y +æł ĩ +P ixel +co untry +unt u +Ġm aterial +St rip +), ( +Per mission +Ġversion s +UT O +Rout er +S core +Ġs ender +Ġon Click +list s +åĽ ¾ +ĠCont ext +Ġe v +ĠG roup +gr pc +Ġc od +ì§ Ģ +UB LE +C enter +Ġas set +C apt +g on +Ġsign al +get Id +Ġf uture +Valid ator +ĠL ine +Ġs i +ag ger +Load ing +mo use +get String +y ml +Ac cept +requ ency +dis abled +ĠC ar +p ing +ãĥ Ĺ +\ "; +Ġle s +Ġproto col +an it +Ġre p +ĠEN D +Exec ute +Ġre place +Set ting +I p +ĠF ix +sample s +ĠLoc al +M achine +Ġmax imum +iss ue +v ue +Ġd ynamic +support ed +Ġe q +RE D +ĠArg ument +B asic +S UB +gener ator +s in +. """ +re et +Action s +o verride +Ġstore d +A MP +ĠC os +Array List +p d +Ġd st +ĠFound ation +head ing +Sh ader +Ġsk ip +N ESS +L D +: \" +Ġa ut +I I +ê° Ģ +custom er +ĠGet s +Ġchar acters +Ch unk +go od +b rowser +C amera +co ok +ĠM IT +p f +h ook +y es +Ġc apt +ĠRout e +ĠUn it +Ġdate time +ĠLog ger +Ġj oin +ĠB ut +index Of +G EN +. ") +O perator +T S +dis patch +> = +check ed +bad ge +pro b +Ġne ver +Ġex act +; } +ĠS imple +Ĥ ¬ +Ù Ī +ì ĭ +s heet +Ġì ł +UL AR +S hell +t b +OR K +Ġadd ing +IM IT +Di ct +loc ity +Ġp ower +Ġ" ); +Ġrequire s +v ing +p in +me sh +K it +Ġsh ared +de sign +ĠE rr +Dis patch +I gnore +ĠF rame +g ov +D ynamic +ched uler +Ġ" [ +âĢ ľ +ĠG e +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ +amaz on +ch unk +mit ive +éĥ ¨ +Ġ qual +u ck +Ġg oto +de s +Ġ( - +id ad +c am +j et +stri p +p at +Inst all +U DE +Ġre main +F IL +c ircle +ä¾ ĭ +Ġ" ; +ulum i +pub lish +t imer +sh adow +Å ¼ +_ ); +Ġlo wer +DE X +M ov +}} ' +par ator +ĠSec urity +Ġd ig +C ar +um an +Ġte ch +agnost ics +ex cept +red irect +qu ote +Bu f +F ALSE +S napshot +ĠC ore +Ġle arn +Ġun less +Error s +def er +d irection +pl ain +âĸĪ âĸĪ +Mon th +Ġa void +ĠE ng +Ġpart ial +Ġb ot +' " +ction s +å ģ +a udio +L in +Ġprovide s +b n +urn al +p ower +Comp lete +const expr +Ġoper ations +- ( +Ġc lo +ĠCol lection +Ġal pha +Ġdis able +Ġinitial ize +b ig +th umb +Ġorig in +ST ART +uplic ate +ens ity +Ġfor ward +ä½ ł +Ġn g +se ed +def inition +co res +Ser vlet +trans late +Ġn av +Ġb in +Ġs imp +Ġ}} " +ang ing +Ġcall s +ĠAb stract +A IN +ĠX ML +L a +/ ' +ĠA ss +ĠSer ial +ç» Ħ +Imp lement +A K +Ġm akes +ĠB utton +ĠU RI +pi pe +E P +âĢ Ķ +V AR +Cur sor +Ch ain +Ġs it +CL ASS +r ust +ĠSe arch +Ġo wner +Ġ. = +` ]( +get Instance +S ide +o peration +Vis ual +Al loc +ĠS ign +Sh ared +Ġdistribut ion +Man y +ãģ Ł +ve y +a ção +ist ence +step s +ĠGit Hub +plac ement +Ġvar iant +Ġc y +Ġme dia +ĠL IMIT +ĠF ALSE +. ) +_ -> +drop down +Ġc a +"> {{ +Element s +P M +Ext ensions +* - +Ġspec ial +Ph one +Ġpri mary +Ġd uration +ĠO ff +Ġlo w +ĠM ax +ãĥ © +Sub mit +xffff ffff +ĠL IC +I Z +ab out +e ffect +ä¹ ĭ +B ig +$ . +Time stamp +ĠP re +Ġ? ? +Ġse g +ĠF ind +us ic +ĠV ec +p an +Ġb g +ĠM AX +N G +ag ic +trans lation +( [] +Write Line +Se e +t rigger +log ging +app s +th ers +h d +ac cept +Down load +Ġd ialog +Lo op +CO UNT +Ġsc roll +ĠC urrent +h icle +ĠM ock +Ġlist ener +Ġsuccess fully +cont inue +Ġnecess ary +ĠM in +se quence +d ark +ut able +Ġs aved +sp ot +un wrap +', $ +Ġnum bers +C UR +ĠS in +oot er +MA G +Ġdis patch +am age +ab ric +import ant +web kit +ĠRow Box +ct rl +p ow +Ġne g +py x +Ex ists +cre ase +IN IT +Ġwe ight +m ysql +åº ı +ç ³ +ĠSt ream +l iteral +åĮ º +à µ +Ð ¹ +Ġun a +for ward +å¦Ĥ æŀľ +size of +G it +p n +Ġpl an +DE CL +ool s +ĠM ER +li ct +Ġno thing +H igh +Ġn ative +Option al +======== ==== +O k +In f +T X +oot strap +Ġm o +ç» ĵ +è ± +Ġch art +er ature +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ +inter val +in y +Ch at +à º +w riter +æĸ¹ æ³ķ +/* ! +P ane +ãģ ĵ +ãĢĢ ãĢĢ +ĠC loud +A ut +L P +Ġd om +Ġre ct +We ight +Exec utor +ĠI m +Ġimplement ed +ĠB ack +ĠB it +ed u +Re p +IS ION +Ġan swer +ag raph +element s +U UID +Ġcomp ute +PAR AM +t v +Ġpackage s +cul ate +) ` +F n +Ġstate ment +P ACK +;; ;; +Ġw on +up per +sc ene +ãĥ « +Ġ' _ +Ġp or +CH ANT +e lem +ition s +ex tra +ĠLIC ENSE +Ġs ay +Ġb ook +Ġassert That +K EN +command s +Ġl arge +Ġup load +Ġg ive +tw itter +I l +Column s +de scribe +Ġh old +fig ure +Ġr c +cour se +Con sole +! / +Re q +åĪ ¶ +ic ally +W IN +æ¨ ¡ +Child ren +UR POSE +__ , +k y +B D +ĠG o +" \ +PI O +Ġunder stand +P G +Ġfor ce +IF T +Ġs ync +æĪ ĸ +N V +LI B +hel lo +ity Engine +Ġre ject +Ġimp ro +Ġas k +Ġpr ice +() ] +Ġse curity +Ġpro xy +ME TH +ench mark +Ġtry ing +use s +Ġag ent +s peed +Ġw ire +ex pression +n ama +FF ER +vid ers +link s +A E +Ġl at +ĠOr der +Ġ mp +r ift +Ġtr aining +Ġ ir +Ä ĩ +pe g +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ +ĠCh ar +ĠPro duct +x fe +Ġ} ). +the ad +Ġr ate +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ +ĠM O +Ġat temp +Ġh aving +De cimal +'] )) +Ġlo ss +Expect ed +ĠB l +md i +ĠM odule +L Y +lap ack +ç Ļ +Se gment +at an +V e +div idual +ind ices +IT NESS +Ġde pth +æı IJ +Ġdel ta +åŃ IJ +> '; +b um +get Message +L IN +A rr +RE E +ĠCol umn +ĠBu ffer +Ġvis it +er ation +fr ag +(( ( +.* ; +Ġdoc s +es ome +G oogle +wh at +as m +Ġis n +ĠB UT +ĠP ARTIC +ress ion +[ {" +m ult +lear n +Ġload ing +Ġp ol +Ġm ath +f ocus +Ġ" ") +mob ile +)) )) +ak en +ĠJ S +Al ignment +CHANT ABILITY +t orch +Per iod +ĠP URPOSE +us s +av es +ĠB ig +éĩ į +L ook +g oto +ID TH +Ġf actory +sub scribe +com ing +ĠTh en +Ġw rapper +Ġre ceive +mis s +] = +Ġh ikariConfig +Ġbo ard +m x +F ac +Ġup dates +os er +Ġs n +ĠM ark +B ER +Ġlook s +dir name +hy per +´ ë +Å Ľ +Sign ature +os ite +code s +Ġ" ) +RO OT +p ixel +Ġh er +Sec ret +ĠTR UE +sl ug +qu ent +ঠ¾ +ap is +Ġse lection +config ure +ĠTh read +Ġprob ably +D at +D om +V irtual +å½ ķ +Ġinput s +R GB +Ġde lay +Que st +Ċĉ ĠĠĠĠĠ +UR N +d anger +ĠCont rol +={ " +fa iled +Ñ Ī +g res +Ġro und +ĠE num +ss ue +rypt o +y e +ĠF ree +) - +ä½ į +Ġ Î +re marks +present ation +Ġfail ure +m id +') : +D iff +éĻ ¤ +ig en +ĠG rid +le ms +ç͍ æĪ· +< ! +` ; +s leep +Ġp atch +Ġpath s +de lay +in voke +Up load +( % +Ġc ost +ĠPARTIC ULAR +I A +ĠâĢ ľ +F ace +ä¿¡ æģ¯ +Ġpage s +d ashboard +ĠPro p +ĠS P +> "; +c nt +ĠO ther +ic ular +xx xx +à ¨ +AR D +lo ts +create Element +Ar ch +Ġget ting +x C +At om +Di ctionary +Ġperform ance +E MP +base d +èİ· åıĸ +Ġ! [ +g if +AS H +back end +; " +new s +B ottom +ĠRe g +s hell +Ġman ager +G ui +Ali as +db c +en o +Ġin s +Ġu i +vis ible +Ġcl one +ĠERR OR +F ill +id entifier +Ġmodule s +T rigger +Ġinter val +example s +wh ich +Ġcol lect +ipp ing +P red +m al +check box +cd n +ì ľ +ĠRe f +al ias +me mbers +em it +_ ) +Ġth ing +ĠSh ow +Ġ" -- +о ÑĤ +åIJ ¦ +Ġper iod +s ym +re gex +REQ UEST +LI ED +To ols +comp ute +ct l +Pl an +n orm +æ ¡ +T ensor +ĠMER CHANTABILITY +Com mit +Con structor +aj or +Sw itch +P ayload +tern et +Ġtoken s +Col lect +y per +Custom er +ç³ » +An notation +ìļ © +graph y +% " +ĠL inux +Ġal ong +p ayment +var iant +ĠL ay +oc ation +Act iv +ê ² +k o +d w +Ġin form +Style s +ĠBu ilder +ĠCon st +En coding +Fail ure +br aries +al og +andid ate +P romise +ar ison +н о +ĠH andle +ur ther +ĠC OP +u v +ri b +л Ñı +S chedule +act ual +Ġab solute +Ġend if +ist ing +He ad +v endor +Run ner +me trics +g ers +ĠA uto +-------- --- +end point +inte gr +an ded +@ @ +Ġp anel +Ġany thing +è¿ Ķ +pp ed +x ref +me s +Ġm apping +ĠÐ · +æ Ł¥ +M ac +ait s +Ġmat ches +hav i +v anced +De legate +int o +... ) +Ġexp licit +Ġrepro duce +L ATE +// ! +g ht +as y +form ance +pl or +Ġit self +capt ion +ire s +dist ance +Ġth ree +ìĬ ¤ +as i +ex e +ir t +An gle +f ol +ĠN e +av is +De pth +: { +co st +can vas +ĠRe quire +Cl asses +Ġ$ \ +Ġb ro +Ġent ries +MS G +F atal +Z ero +Ġg reat +Content s +road cast +ĠBy te +F N +b t +ref s +à ½ +rad io +Ġstart ing +Ġdest ination +} }, +ĠO p +ĠTh at +éĢ ī +E VENT +Ġg rad +Ġd ot +Ġf i +ĠA pi +ãĤ ¢ +å¾ Ĺ +Ċ ĊĠĠĠĠ +Ġ ): +åĽ ½ +è± ¡ +mb ed +Û Į +Work er +T ile +ist r +X Y +str ument +ĠIn valid +Ġgener al +input s +ĊĊĊĊ ĊĊĊĊ +n ail +content s +h ot +ĠG r +éľĢ è¦ģ +Ġconst ant +ĠPO ST +c urrency +ĠG u +Ġde termin +m r +* ( +Str ategy +St andard +ĠDe bug +ĠL i +($ _ +SER VER +ne g +it tle +P ush +Al ert +B tn +F ocus +re peat +é s +ĠAnd roid +Sum mary +Ġbu cket +Ġsp an +ĠA M +ĠF ITNESS +and box +ĠĠ Ċĉ +Ġsepar ate +Ex it +Ġdo ing +å¹ ¶ +Comp iler +å¹ ´ +Ġf ast +ĠCOP Y +s ince +ĠU INT +script s +AR GET +æľ į +è° ĥ +ĠCon vert +set ting +Wh ere +Ġde leted +} ' +Ġlog ic +A VE +se g +** * +af ka +G RO +string ify +Ġcheck ed +e ch +a is +O wn +:: $ +Ġh istory +ist o +s yntax +ĠConfig uration +D P +channel s +g dx +AT ED +'] [ +c ancel +m n +Ġword s +ie ce +C V +] ^ +Ġf it +Ġf ails +ĠN etwork +ult ure +Auth entication +re ater +v g +x B +Ġ$ . +ı n +P HP +Component s +\ . +ĠA g +S elf +/ ? +ï ¿ +ĠF loat +Ġuint ptr +åĬ Ł +S peed +ç © +ä¸ » +b ine +Ġvis ual +SO URCE +ab c +Ġc ross +CM D +Ġ ut +Ġagain st +ref resh +Ġname d +y l +Ġsign ature +h old +æ¬ ¡ +Ġ ul +Ġem bed +incip al +Wh at +õ es +ê ¸° +re gistry +ff ers +Ġprocess ing +B ag +ĠThe se +ER N +Ġt w +Ċĉĉĉ Ċĉĉ +L iteral +Ġwe ek +Ġ uri +Del ay +map s +еР´ +b at +Ġlo t +lay ers +Ġ> >> +Ġal gorithm +æľ º +ac er +col s +F ixed +__ ) +post s +Ġm oment +Ġde velopment +Ġs peed +st derr +ĠR P +aw t +mon itor +on ce +ext end +order ed +I lluminate +ç ķ +Te am +decl are +function s +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ +Ġch ain +AC C +ا Ø +Ġtr ace +De ploy +task s +is k +Ġcomp at +æĶ ¹ +Ġcan cel +ces ses +ä¹ Ł +Ġtask s +Hash Map +åı · +Sub ject +H ow +ĠAc cess +........ ........ +F uture +éĹ ® +s ender +Ġper mit +Ġ íķ +TR AN +ä» ĸ +Ġin ner +t wo +bad logic +rg b +Ġqu ick +Ġexample s +ain ers +] { +vis it +Ġcall ing +Ġc he +h u +Hel lo +æ± Ĥ +ex tract +bu ilt +text ure +Ġv an +Bound s +MA KE +ĠF ilter +log s +Ġre cent +-------- - +Ġm aint +ord ing +pre d +Top ic +Ġfin ally +Tr y +]( ./ +Ġp ick +argument s +Ġt ip +ĠA CTION +. | +EN CE +gener al +mploy ee +s op +M ESS +Argument Exception +Th ere +оР³ +opt im +P ython +å§ ĭ +At A +um ul +Ġp i +ag ram +è Ĭ +se lection +ec lipse +Ġtr a +ĠHash Map +Ġ ãĥ +ĠI ter +d ers +é¢ ĺ +de ep +p ic +Ġcomp ile +Serial ization +P ress +le y +ME M +de cor +ue l +t ile +S heet +ot es +ation Token +ĠTh row +Re c +Ġup per +C pp +æ Ļ +Ġs yntax +PO S +con current +Ġn n +Ġt s +ĠPar ameters +Ġgroup s +string s +ĠM et +Inst ances +Ġro om +NA MES +F eed +r pc +ĠM ar +g al +Ġframe work +line ar +web pack +t ty +Re view +b undle +P oly +a N +common s +ê³ ł +ঠ° +Ñ ī +æĹ¶ éĹ´ +Ġ! ! +æ³ ¨ +å· ¥ +j sp +n l +Ġf ire +Ġse ver +O ther +Ġse c +set State +Ex ternal +par k +P ipeline +gr ay +ca pe +b p +U X +m v +ou ght +ict ure +Ġf ine +token s +u ed +st udent +Rad ius +]) ^ +Ġwh ite +V C +Ġp at +ud y +b as +at ory +P ers +Con s +çĽ ¸ +Ġpart icular +enk ins +åħ ¨ +PRE SS +mar shal +Ġp tr +Ġth ough +product s +å¸ ¸ +B ad +Ġc ourse +igr ations +R oom +ement s +Ġë ° +Ġb ir +condition s +ast e +Al ign +CL C +Stack Trace +Ġse gment +iv er +Ġfr ont +Bo ard +Ġf act +Ġcorrespon ding +Ġpar sed +ĠP ort +per iod +HO ME +* . +ï¿ ½ +ser ies +re ply +Ġc fg +G P +Ġcom ments +w arn +Ġen ough +M AC +Ġdepend ency +BU FFER +ĠE VENT +CL I +çľ ĭ +ID E +Ġtop ic +Dist ance +mut ex +Ġm ouse +OB JECT +ĠIMP LIED +n x +g ui +Ġcorrect ly +m os +Author ization +N ONE +') }} +Class Name +m en +Ġcon tract +HO ST +W in +} ") +cl a +Ġp ot +// ---------------------------------------------------------------- +path s +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ +Ġv s +äº ĭ +Ġt ensor +De v +I ZE +Ġchar set +amp ler +Lin q +Ġconfig ure +ĠLIMIT ED +ant ed +un der +] ). +Ġ' $ +h ub +r w +Cont rollers +o i +é » +el come +ĠP HP +/ _ +ion es +aa aa +åĮ ħ +ut down +)) { +Ġì ķ +Ġv m +In clude +res ize +Can vas +ge o +ĠO ne +Ġend l +UB LIC +Ġ? > [ +m ul +annot ations +è¯ ¥ +Q ual +y out +Ġ ]) +ain ed +e poch +ri er +Ġ( ); +Ġhigh light +é ļ +s ur +et ing +Ġrequest ed +Ġmod ified +ìĿ Ģ +cent age +ĠVis ual +ĠWIT H +M o +_ [ +Ġf ace +é Ĥ +conf irm +DO M +Ġtri ed +not ification +lo ur +yp ed +Sub scription +ĠDO UBLE +crypt o +ĠC or +Res p +Ġdecl are +è® ¡ +ma zon +P in +Ġcomp are +H AND +ener gy +; \ +Ġtrans fer +Det alle +è¾ ĵ +loc file +å¾ ® +Are Equal +ĊĊ ĊĠ +Ġê ² +ĠâĢ ĵ +temp lates +P K +Ġt ell +pre vious +' }, +not es +| ; +Ġw in +ì ķ +query Selector +Method s +M ore +xffff ff +LO B +S PE +gorith ms +ĠA DD +G uid +Des ign +Ċ Ċĉĉĉĉ +åıĤ æķ° +l b +ĊĠĠĠĠĠĠ ĊĠĠĠĠĠ +Ġfunction ality +ĠÄ ij +Ġcol ab +æľį åĬ¡ +W T +ĠRout er +qu ip +ĠProp Types +ĠN AME +Ġimport ant +b ank +F ER +D ao +è® ¤ +end region +con tract +red uce +Ġp ack +ĠF ont +ä¸ İ +T uple +Ġtext ure +æ ¸ +Ġint ent +Ġlong er +arch ive +Ġ' { +exp and +": [ +mat ches +ĠN E +o th +ot or +side bar +j ax +user Id +a led +ph i +é ĸ +Ġv i +TE GER +cur r +C ast +f w +Ġe ar +Ð ³ +itect ure +vent ion +оР± +allen ge +ç» Ł +sh all +ĠIl legal +View Model +ĠInitial ize +ĠT ry +å ¢ +æ ¶ +VID ED +br a +ĠTH IS +Ġ__ _ +ç ĥ +Ġk nown +change d +{ }) +ar er +Ġsc an +ç¬ ¬ +Co efficient +-> { +ãģ ĭ +çŃ ī +Ġh it +åĪ Ļ +vis ual +Ġcomp iler +åı £ +Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ĠAdd ress +enc ed +åŃ ¦ +Ġdis cus +il ation +Com bo +Ġevery thing +Bl ue +w all +ph oto +P ACE +ĠCOPY RIGHT +N EXT +c amera +ong s +------------ -- +Ġme mbers +ac ed +Bu cket +ca de +select or +P ack +P resent +cl us +ĠLI ABILITY +F e +Orig in +d ynamic +Ġcl s +Con straint +ĠSet s +AR K +A utom +up s +S ound +Ġm aking +Ġf ar +Check ed +Pri mary +á n +Second s +St ar +Ġa udio +t ot +T M +l c +z u +Hel p +s aved +Up dated +ĠB U +B ot +ĠAc count +A UTH +H ave +Ġbuild ing +cr umb +s lot +ĠT op +ĠS chema +ĠSh ould +Ġ" ^ +ĠA WS +ons ive +Di agnostics +æĥ ħ +v b +W M +">\ ( +TO KEN +BO OL +i NdEx +аРº +ĠIN CL +ref lect +Ġblock s +de p +p ip +T er +L at +t or +I ME +Ġo u +e valu +F ROM +Ġ ĊĠĠ +O RE +Over flow +Q t +m g +Ġs hell +B in +Ġdid n +/ "> +ĠJ ust +t ax +Ass ign +ĠN ow +ext ensions +ĠRe port +ä¿ Ŀ +t ion +Mis sing +Ġcan vas +ا ÙĦ +P icker +s uite +ĠAd ded +åı ª +ient s +Ø ¯ +Ġtrans ition +ĠCont ainer +Ref resh +G TH +Ġc d +SD K +c lock +Ġc s +Ġl as +ip her += ${ +Ġmerge d +Ġj upy +D one +Re act +ç ões +N D +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ +ir a +Ex tra +å· ² +i pt +ĠS ty +Con sumer +' + +LO AT +Ġ" > +f loor +åĪ Ľ +ĠA rt +Ġse ed +ĠD ec +Ġ article +ĠPro to +ĠAd min +ce eded +ĠT ag +navig ation +ar a +æ ĵ +Ob server +ER S +Ġappro priate +Ċĉĉ Ġ +st andard +or ary +File Path +Me tric +Ġ' ') +Ġde p +pe ated +ĠDe vice +ĠD own +method s +ĠP ri +åı ĺ +ent ries +scri ptions +we et +æĢ ģ +R ules +Ġy es +Ġauth entication +N avigation +anc ell +> / +F amily +Ġback end +value Of +!! !! +/ ${ +imp lement +] ", +Ġv o +F actor +Ġcalcul ate +! (" +å ķ +E st +Ġch oose +ç½ ij +Ġread ing +Ġs pr +ĠEx pect += / +NO DE +ĠP REC +ĉĉĉĉ ĉ +Ġselect or +Con straints +so ck +Pl ace +B T +r ase +ill ing +Del ta +ivers ity +In tegr +** , +IN DEX +ĠPr int +Ġc li +Ġnot ification +Valid ate +per mission +ĠO K +ĠImp ort +Ġd r +Ġp our +Ġc p +ĠM aybe +ĠJ ob +Ġp a +And roid +USE D +Ġan alysis +cl c +filter s +Ġrecord s +b ro +Ġf oo +Ġmatch ing +и м +pre vent +Ġro uter +ãģĹãģ ¾ +ent e +or ph +Ġp t +ab e +Ġr s +eb ook +Ġw x +Ġnp m +Ġvert ex +iz ers +led ge +å¤ Ħ +z n +Ġin f +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ç¬ ¦ +en vironment +fl ash +CON ST +Ċĉĉĉĉĉĉĉĉ ĉĉĉ +g c +Ġde vices +ç±» åŀĭ +Ġp x +ent ities +>< ? +". " +p ipeline +௠į +ard ing +Ġap pear +pri se +CM ake +++ ){ +Ġl ambda +Ġan imation +Ġth anks +Ġsub st +refer red +Re ply +æĺ¯ åIJ¦ +ĠB asic +Ġter min +w x +Ġapplic ations +ãĥ Ń +pre pare +Ġacc ording +V R +U Int +Ġg oogle +trans ition +è £ +Ser ies +O C +P ut +ĠSt andard +depend ency +Ġ/ > $ +Ġ< > +C trl +n r +Ġ ãĤ +Ġb as +=" ${ +Ġser ies +> (" +y a +ARR AY +ан и +ĠM ac +S lot +lic a +BU ILD +q a +ĠRe ference +ic ht +Ġ{ $ +for ge +Ù ĩ +Ġd as +ĠR andom +) $ +/ : +x be +Me trics +R PC +Serial ize +ç® Ĺ +de b +ol id +ip s +c url +l on +app le +Run ning +U sing +ox y +D rag +Ge ometry +Ġdis k +er ved +TO P +æĹ ł +duc ed +^ { +Ġst udent +Ġme sh +ĠH ome +Ø ª +Ġ ------------------------------------------------ +havi our +F P +[ [ +Ġem it +cook ie +rel ative +is ation +ĠD ocker +if ec +f ake +ĠH ere +Ġver bose +ĠCO MM +al o +METH OD +F B +] =" +Ġapp lied +C ertificate +è¯ ´ +ä¹ Ī +R ST +Ġd w +Ġpri or +Feature s +Ġbe come +al ent +"] [" +red is +Ġì Ĺ +led ger +version s +åħ ĥ +æĶ ¯ +SESS ION +Ġp in +ĠF ire +Ġsupport s +LEN GTH +sign ature +Ġl ittle +lect ron +MESS AGE +at ur +Change s +Ġweb site +x D +Ġconfig ured +variable s +as c +Ġy y +Ġpub lished +weight s +æĮ ģ +Ð ¶ +Ġcre ates +Ġl l +be ans +" { +éħį ç½® +IC ATION +ĠD ATA +'' ' +) ** +Id ent +St age +To ggle +In struction +Ġj e +text area +NE CTION +> ", +Ġ" __ +k otlin +Image s +od b +ĠU sing +P A +Ġle arning +CE PT +B rowser +an imation +Ġcol ors +tr ansport +ç ¡ +c uda +en n +Ġt ile +ĠC ount +y ou +el low +NAMES PACE +ï¼ Ł +Ġal tern +Ġex periment +W A +Ġf ür +A IL +ĠRE AD +SCRIP TION +C ert +Ġcomp let +r st +ER O +String s +u j +í Ĭ +Ġsh a +urre d +Ġsimp ly +SH IFT +Ġsc ene +over flow +Ġt re +ie ve +OL DER +Ġv on +str cpy +M R +E B +Ġ[ - +Path s +Ġf ac +Mem bers +="../../ ../ +IM ARY +ifec ycle +ĠJava Script +Ġ )) +L AY +un its +Ġp s +Ġ$ $ +" / +de scriptor +ĠEx p +f uture +Ġre gex +Ġid s +ç© º +(" [ +pend ing +Depend ency +ht m +DI RECT +\", \" +T y +X R +velo pers +f ac +depend ent +Pub lish +T ARGET +ĠC I +ä» İ +d ll +Ġf urther +ĠR et +u ro +u pt +Found ation +P ASS +n v +in ator +ĠD im +Time s +Ġlook ing +Ġcustom er +request s +s quare +get Class +av atar +Ġa pt +V EL +cy cl +DE P +ĠString Builder +ĠP ackage +/ % +D Y +Ġd type +C r +Ġc ss +å¿ ħ +çº ¿ +ro les +Ġ` < +sl ider +S K +par a +- . +face book +Ġ_ . +ĠA fter +SE D +part ment +, % +о н +í Ħ +st ock +V k +ë § +li ve +Ġg reen +p w +it a +è ¶ +Ġref resh +éĽ Ĩ +p lier +æł ¼ +() } +D ig +é ª +part y +An alysis +J o +Th anks +ĠPro perties +dest ination +Ġgener ator +f ort +C ould +ĠB O +äº Ľ +Ġw atch +="# "> +P ol +é¡ ¹ +P IN +Ġb oost +VS OP +w ar +S G +/ $ +ë © +Ġc lock +Ġad v +qu ant +collection s +Command s +start ed +ä» » +x A +no logy +ä¹ ī +æ · +const ants +Ġpart ition +GRO UP +ament o +ĠSt ack +F inal +ail y +P atch +mis sing +pri ority +XX X +ä¿ ® +Ġp ad +L AB +f u +Ġrun s +t ail +Access or +[ ]) +` ); +a ur +æľ Ł +Ġ` / +ãģ į +Ġsample s +c u +ĠRe cord +Ġw rap +ĠM B +ĠH as +Ġn orm +Ġprob lems +L et +Ġex pr +Ġm t +Ġs in +By Name +Ġ/ >< +èĬ Ĥ +St ub +az z +__ . +Ġp riv +enc ia +ĠM edia +cr ate +ĠSt orage +H ook +ING S +ç« ¯ +i ro +n ed +av sop +Ġshow s +im ated +ĠA UTO +re verse +row se +ient ation +Ġph one +æ ´ +ĠS m +ig o +Im g +, \ +FUN CTION +Ġde code +Ġwh ole +Ġho pe +ĠO ver +Ġc out +Ġs lot +state ment +Mod ified +é« ĺ +ë ł +In dic +frag ment +he alth +MOD ULE +PRE FIX +id ade +el s +s udo +Ġa avsop +stri ction +D AT +PO INT +part ial +Ġde scriptor +qu ation +U int +curs ive +ĠVar iable +S IGN +ĠC ell +g pu +work flow +ĠS ave +Ġo l +Ġx s +Up per +å® ī +zer os +s un +re v +Dim ension +Ġsa id +valid ator +pro jection +è· ¯ +Sh arp +work er +n é +Event Handler +w eek +RO P +Data Type +uff le +åį ļ +Ġ" ../../ +ost ream +Ġf d +LE MENT +ys ics +So ftware +Ap ply +ub untu +) ' +prevent Default +ri ent +Ġì Ħ +Ġsh all +k n +ĠG en +Ġ& # +P a +Ġb undle +Ent ries +è ī +Ĥ ¨ +ch r +ĠPro gram +anch or +Ġde termine +b al +ĠSet tings +âķIJâķIJ âķIJâķIJ +Ñģ Ñı +CT YPE +Quest ion +k l +T ex +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ +åĽ ł +urch ase +Ġhand ling +Ġs ound +ĠIN FO +Ġc ast +ĠRed ist +Conn ector +NotFound Exception +Conf irm +un icode +CP U +ë IJ +Pro b +ç§ į +Ġimp l +gener ic +ç ¾ +as ing +Vis ibility +ĠThrow able +Ġp res +ĠC ategory +lic ations +os en +} _ +ĠAt tribute +Ġpri ority +att ach +Ġhe x +åĩ ½ +Initial ize +è¿Ľ è¡Į +ĠC R +à§ į +t utorial +Ġe val +e th +="# " +C tx +ext ends +var i +Ġover flow +ipp ed +ĠB ox +ic i +Ċĉ ĠĠĠĠ +Array s +medi um +l st +åĨ Ļ +it ation +ust ers +ãĤ ī +Ġcur r +bind ing +d AtA +PRO TO +ĠINCL UDING +ĠS C +Ġun its +shield s +anc er +PL AY +c x +positor ies +ĠM enu +Tr ansport +on o +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ +W rap +Lower Case +Ġvar i +ans wer +pi ct +i h +N ON +serv let +n u +ĠUn ityEngine +Ġm it +[ ], +ac on +Ġass ume +sh arp +agnost ic +Ġ questions +ĠT ool +Ġst age +Ġa st +Ġme tric +Ġstyle s +Ġpro cedure +ĠE mail +D ot +ar b +Ġ( % +AC H +Ġmark er +B I +part s +Ġiter ator +He alth +De cor +c er +S em +íĬ ¸ +K ernel +iv o +< = +åĪĽ 建 +az ione +Ġsh own +Ì ģ +ET HER +A U +} ', +null able +ĠDA MAGES +add Class +Ġs s +Ġproduct s +Sh adow +å® Į +all back +: ] +ĠT arget +Ġme di +ĠRe set +h ard +Ġsa fe +L ER +ag r +Ġcre ation +ĠĠ ĊĠĠĠ +Ġst ates +Ex tract += & +so und +ĠC LI +Ġdefault s +ĠPRO VIDED +ĠEng ine +av g +process or +Ġst roke +Non Null +Ġappro ach +SS L +Ġdest roy +Ġline ar +ers hip +Ap pro +Ġth reshold +ĊĠĠĠĠĠĠĠĠ ĊĠĠĠ +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ +Ġbl ue +Ġre levant +conn ected +Ġin dividual +ĠValue Error +ĠImp lement +v t +Br anch +n an +E q +spec ial +Ġs chedule +rit ical +ĠY es +plot lib +fo x +C redentials +t ur +Ġscript s +E mit +Ġoutput s +íķ ´ +Tool Strip +çĬ ¶ +Ġchar ge +Fr ont +Doc s +Ġtest ed +TE MP +к а +i am +ing er +ge ometry +An chor +Click Listener +look up +ĠF ixed +W rit +num eric +pos al +w i +Ġd ump +L ONG +Ġrequire ments +à ¥ +++++ ++++ +isto gram +pe ech +Ġmin utes +Look up +ann ing +Table s +ik i +Ġgener ic +ÑĨ и +CONT RO +STR UCT +In line +BU F +å¼ ķ +į ä½ľ +æľ Ī +Ġsuccess ful +æº IJ +Ġm ult +ap sed +Ġwork flow +> ', +ãģĹãģ¾ ãģĻ +Ġre verse +Ġres pect +OFF SET +åŁ º +Ġac ross +ĠU P +ĠIn it +vert ical +à ´ +Variable s +Ġa z +HP P +éĢļ è¿ĩ +ç¼ ĸ +ĠI con +R S +t od +Ġnot es +mk dir +管 çIJĨ +Ġa ws +ĠA V +ĠD raw +i q +Ġd s +back up +| [ +| - +ĠSH ALL +t z +C he +char acter +ä¸Ń çļĦ +Un ique +ĠEX PRESS +Ġpre tty +IN F +Ġind ices +Ġr m +Y our +é Ĵ +pre ter +(' ../ +comp iler +IS ING +sp ark +æł · +Un expected +Ġsever al +åĩ½ æķ° +S cheme +A sp +çĦ ¶ +E O +Sh ift +ĠW ord +non atomic +h adoop +Ġp oly +Text Field +è¯ ķ +Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ĠC PU +Ġinter est +ĠC N +en a +User Id +ouse l +è¿Ļ 个 +Ġref lect +H ex +Ġde velop +? ) +READ ME +Ġc url +ãģ Ĩ +è ģ +ÃŃ t +ic ult +v r +append Child +çĥ Ń +R ound +F ilename +de li +* >( +ar c +Ġcon cept +ĠV AR +Ġde cimal +ĠSE LECT +ap es +oo th +Equal To +Json Property +ĠL et +Ġplugin s +(" @ +n h +' \ +if fer +err y +S UP +dot net +RT X +cal c +Helper s +IE W +he t +spec ific +spon d +T w +ĠHe ader +äº Į +document ation +inner HTML +get Type +Ġproper ly +čĊč ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ach er +ĠForm at +IST S +ä¼ ł +ab or +") : +in ject +Ġc ertificate +oc ab +Ġp b +ĠS cript +Ġ: ) +h al +Ġman ually +b gn +Ġf ragment +S lice +ĠEx pression +Ġrepresent ation +aly zer +ç» ı +è½ ¬ +Ġvar ious +ul let +out h +dis k +F LOAT +Ġignore d +Ġdescri bed +c gi +Ġj est +Ġkw args +Print ln +Ġm icro +U A +ĠS ER +ug ht +B alance +Ġe lem +ĠCON TRACT +plor er +sp acing +ip pet +umul ative +Ġa uf +Ġh im +s al +B LOCK +Support ed +k top +sc r +Pri ority +im ing +ro py +Ġp romise +LE D +job s +Base d +run ning +Sh are +place holder +Request s +n umpy +Ġtype def +Ġle g +run ner +Ġuse State +è ª +Ġtable s +CMake Files +P adding +B al +g ree +B IN +ĠB r +bind ir +at ial +y r +Ġimp licit +re ason +Ġt cp +pe er +b an +n op +(" - +anc y +c lip +Ġpe er +ĠD IS +it ution +Ġf actor +Ġwork er +Decl aration +Ġ; ; +to s +>< !-- +ãĥ Ĩ +åIJ ij +e ep +(" < +Ġlist s +em y +uc er +ĠF in +ĠE l +m aven +Ġw er +WI SE +MA IN +æ¶ Ī +(' < +Ex periment +gr ams +Ġp ay +ord ers +ĠLI ABLE +K S +Ġm ention +I MAGE +W D +ĠD river +Ġ` . +? ? +ĠS U +:: :: +T ick +b alance +th reshold +Ġ çļĦ +еРº +C lip +B lob +attr s +Ġch o +ĠIn formation +count s +s il +vers ation +Q UE +node js +sw ap +Ġregister ed +Ġ| > +Is Null +g ateway +Ġ* ** +ĠC ache +аР² +Ġrad ius +INCRE MENT +t odo +Ġs napshot +ĠC ard +Ġ$ ('. +h h +âĢ ¦ +WAR NING +T K +ĠH OLDER +fol io +ĠDi ctionary +ob ot +Ġs yn +B reak +Ġ* = +Ġ[ ( +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ +Ġ( \ +V RTX +ex clude +DO WN +Ġm en +file Name +Al gorithm +m ag +DE V +ĠS ch +S ender +Re ason +mod ified +Act or +är nd +ribut ions +ärnd ütsch +thread s +ĠArg s +u an +T ouch +NUM BER +vol ution +× Ļ +ĠWH ETHER +ens itive +å® ĥ +æ¯ Ķ +S ent +Ġcom o +fl uid +ĠM ulti +Ġcom bin +Ġt xt +Ġadd s +Ġr and +ĠAR ISING +Ġi ç +P od +æī § +Rot ation +Y W +ĠUs age +Ġandroid x +AL TER +tab s +è½ ½ +k in +For ce +E valu +xx x +to LowerCase +> ] +c ross +K HR +Ent ities +st one +DO CTYPE +exec ution +Ġc at +å¤ ĸ +G F +ke ep +Gener ate +br and +M argin +ER T +CP P +im a +m iddle +Ġcomp any +rel ated +default s +crypt ed +Ġintegr ation +Ġcoord inates +M ON +RE NT +st ub +cre te +ĠOb servable +Ġ}} "> +qu o +Ġind ent +r um +Set s +OP TION +ver bose +ro bot +ĠE L +Vis itor +m ong +ĠS UB +J s +Ġ} )); +o logy +Ġn avigation +DE VICE +all s +Ġuser Id +cal endar +ìľ ¼ +ëĵ ľ +Ġ) { +mac ro +Ġs us +Ġfor ms +Z X +ãĥ ķ +Ġì ĭ +ol ang +amp ling +b x +f name +ĠC A +Ġm er +Ġorg an +Aut ow +O ld +j peg +U sed +Ġdif ference +Back end +cycl er +Ġp ag +ynchron ous +Ġs ense +cache d +Ver ify +čĊĉĉ čĊĉ +ĠEn vironment +W IDTH +la unch +g d +m f +ĊĠĠĠĠ ĉ +Ġf printf +get Logger +G UI +Copy right +Ġfilter s +j ack +b en +Ġìŀ Ī +un iform +qu ick +M IS +} ] +/ ", +Ġst uff +Ġle an +Read y +æŀ Ħ +è¯ ģ +Ġd ans +t el +} $ +se ll +S CO +ĠD at +åij ½ +Ġh ide +ĠY our +Ġreg ular +Ġre mov +íĦ ° +ĠD irectory +ĠEd it +ĊĠĠĠĠĠĠĠĠ ĉ +W r +-- ; +Ġcod ing +"> ( +st ates +Comp are +vol atile +Ġpred ict +icip ant +å¥ ½ +d yn +Me asure +Pre view +ĠìĿ ´ +Ġid entity +Ġ[ # +get Text +gn u +l azy +h orizontal +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ +Ge o +G G +ĠLoc ation +Ġc e +ed List +å¤ į +": {" +Ġc c +k an +Ġex plo +æīĢ æľī +åİ Ł +spot ify +A WS +Ġon Change +Ġrefer ences +ĠTe ch +j enkins +arg o +Scal ar +Ġl iteral +ĠLog in +N eg +Lo aded +M AN +à ± +Ä ģ +ore m +Ġrg ba +entic ated +ighb or +h m +čĊĠĠĠĠ čĊĠĠĠ +åİ ¿ +Ġrepresent s +EX PORT +trans fer +iv ing +Ġcomp uter +ç§ ° +Color s +çī ¹ +] )); +Th reshold +s ocial +Ġc redentials +Ġp rom +å¤ ± +ĠL a +R atio +Sup press +ĠOTHER WISE +Th en +Ġ" : +St d +c losed +Asp Net +оРº +l bl +TEXT URE +Ġ* ( +Ġvert ical +ол ÑĮ +. ( +} : +Ġad apter +Ġ" { +Ġ' + +к и +ĠQ t +ĠMan ager +Ġenum erate +ent s +tr aining +CT RL +Ġde li +P ending +ĠM ay +æī§ è¡Į +a C +Ġc os +Ġstyle d +Ġo thers +çī Ī +V oid +gu ard +Ġs uc +Ġterm inal +ĠS um +:: { +release s +æĵ įä½ľ +Error Code +tr as +ĠAs ync +t ick +Part ition +LE VEL +ãĤ · +Ġph p +ĠD el +ìŀ IJ +v p +iz z +sub scription +Ġsystem s +Ġto ggle +ul ated +Con v +ãģ Ĥ +ãĥ § +ra structure +r int +do e +id i +PRO PER +ĠM ode +ãĤ Ī +Ġup grade +L IL +Ġto gether +the ta +--- | +C ookie +f ollow +ĠA UTH +ĠF r +ĠT ORT +Sign al +Ġg reater +co d +ãĤ ° +pers istence +LE FT +TO DO +åħ ¬ +Ġexec uted +Ġco untry +Page s +cat alog +o auth +Ġp ip +Ġwait ing +åº ĵ +Ġsub scription +Query Parser +j avax +Ġ" "); +C lean +sp i +MB OL +ip edia +R F +man ifest +Autow ired +set Attribute +( ", +Ġb i +Ġz one +ĠStr uct +Spr ite +Ġc irc +] ): +n f +Ġmod al +E lem +ur acy +s napshot +Ġse ll +čĊč Ċĉĉ +port al +ut ine +b ined +Ġ@ @ +ĠAl low +En code +ail ability +н а +y c +n om +IT ER +ĠT HEN +Ġcache d +FA ILED +U i +p ace +Ġd é +ĠSet up +/ @ +ĠN um +at map +Ass oci +cl k +re w +PRO C +Ġon click +"} ], +B OT +Var iant +ten ded +view port +S ys +Trans ition +ĠD WORD +w g +in ct +ĠTemp late +G ateway +IN PUT +"> [ +D M +OUT PUT +== ' +G rad +çĶ ± +Ġret rieve +Ġdes ired +Ġs ources +ex periment +Re gex +à¸ Ļ +control s +] \ +Test ing +St udent +Ġ ÑĢ +Ġa verage +Ġde mo +ĠN et +,, ,, +Ġpixel s +[ ]; +ĠP AR +Print f +u ation +inter pret +ë ³ +Ġm ail +HEAD ER +Ġfe el +ìĸ ´ ++ - +Ġm ount +LE S +en ing +CT L +As sembly +Ġadd ition +Ġre gistry +P UBLIC +sub str +æĮĩ å®ļ +DE D +Ġ ĉĉ +man age +sk ill +iz ar +Ġth ought +NOT E +Ġad just +ĠS pr +In ner +h alf +Ġc pu +ĠW orld +q q +ne ed +work space +Ġe poch +ĠPar ameter +Index QueryParser +IndexQueryParser Tests +× ķ +Function s +M illis +S uite +u str +ri o +cal led +Token s +Ġli ve +Us uario +Co untry +Ġm obile +Re ceived +Ġexport s +ĠS O +ĠĠĊĠĠ Ċ +(" "); +H ere +Y es +CLI ENT +Æ ° +Ġse en +Ġh ar +app ings +as InstanceOf +il ing +f ed +output s +Ġsol ve +OP EN +RET URN +em ber +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Project s +st able +d ash +Ġr gb +ITE M +on ical +Å ¯ +sh ader +ĠGener ate +sc ape +Ġcol span +Des erial +Ġdeploy ment +depend encies +is ode +Ġpl us +de sktop +qu antity +ce ipt +代 çłģ +sol ution +CO PY +re ng +ĠF ILE +ĠN ext +Ġë § +An swer +éĻ IJ +и Ñģ +Per missions +r is +Ġd ol +in voice +Ġth ird +ist or +N s +čĊĠĠĠĠĠĠĠĠ čĊĠĠĠĠĠĠĠ +ĠS TD +æĿ ĥ +O IN +Ġ( & +A H +St ates +ĠR EQ +ENT ER +df s +ro utes +'), ( +Al pha +Ġfig ure +Ġs anit +% "> +ist ant +Ġscal a +lyph icon +xb d +ĠJ ul +Ġfix es +IT S +case s +th rough +Ġfeed back +a res +pe ak +b el +çī ĩ +Ġneg ative +Ġë ³ +M ultip +AME TER +Ġ(! ( +on al +ĠR ect +Ġ Ñĩ +Ġ(! $ +Ġassign ed +y d +Ġro utes +c orrect +K NO +Ġs he +ir th +Ġadd resses +Į Ģ +Ġop acity +Ġchannel s +ãĤ ¿ +ĠO ptions +d jango +ĠCh annel +çĽ ´ +ĠPl ugin +Ad ded +pro j +æ® µ +ST EM +$ " +over view +ĠC lear +ĠRe lease +mer ce +ĠP erson +è¿ ĺ +Ġe c +f as +Ġa ux +ad ded +f req +Act ual +* > +E F +() +G S +Ġcol l +M iddleware +Å ij +ol ation +Ġsup p +Ġdisplay ed +Ġim mediate +S uper +W eek +M s +ĠE ach +Ġa w +ĠB ad +Wh ite +m ultip +ä¸ ī +Ġc ookie +\ "> +ãĥ ĩ +log ical +L ive +e ven +âĢ ĵ +e u +Ġde ep +Ġin herit +Ġo pp +Ġgu ess +Ġ" ( +Cl one +ĠSte p +reng th +set Value +H Y +ĠB o +Ġun e +elastic search +ĠIn ternal +record s +p al +Ġ à® +Ġ[ ]) +ìĿ ¸ +Th an +Record s +Ġs ensor +Ġattemp t +Ġapp s +ĠH O +ãĤ £ +FR S +j p +! " +Button s +Ġpos itive +Cal cul +por ation +str a +g ular +Ġ ö +De ep +u med +表 示 +Ġret rie +ĠR ES +Ġi OS +ĠR ight +Ġ" * +p ulumi +ĠA cc +or se +ri st +D emo +get Data +ĠA re +ĠTh ank +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +m ic +Ġext ensions +æĶ ¶ +Ġlay ers +P res +ç Ł¥ +ivers al +ĠLe vel +Ġfollow s +Ġb lob +}} " +F un +re ject +op ens +Ġconst expr +Ġk lass +")) . +Ob servable +po ses +arg er +ĠEn able +ĠS IZE +xf d +B P +bus iness +ame l +Not ify +Ġman ifest +Ġ" ( +P at +Ġto day +^^^^ ^^^^ +qu ences +integr ation +åĬ Ľ +Ġbound s +ĠDes cribe +ĠIn stance +M Q +r ating +j b +ĠL ear +:: _ +D U +Link s +åĵ ģ +Ġm ar +ab a +conn ector +l ated +Ġb a +Ġm ix +Ġh ours +ĠTrans form +">< ? +ĠQ uest +ic ing +ic io +Ġd ummy +ĠA mazon +get C +Add itional +h dr +P OL +l gl += _ +er as +ĠSty le +Ġcal c +s id +per cent +La unch +D ocker +b all +Ĩ Ĵ +Ġch oice +Ġpre pare +entic ate +Ġ( [] +Ġkey word +ad as +ag en +Ġprint ln +Git Hub +Ġpur pose +Ġre duce +ge ms +par agraph +Ġon es +Back up +ToolStrip MenuItem +Ñ Ħ +ed ges +Ŀ ¼ + +ff e +d on +ç³» 绣 +P ES +D N +Ġst ub +Ġno except +org an +Ġ اÙĦ +Element Definition +Ġwarning s +Ġre start +íķĺ ëĬĶ +t ls +P lot +о Ñģ +S afe +Ġlet ter +G l +dim ension +INTER FACE +b abel +Mod ifier +Pre vious +SY MBOL +Dis abled +Ġj Query +di ctionary +or row +L T +; , +ĠP e +ut ral +Ġpar sing +Ġen counter +i br +f act +LA UL +ĠT uple +Re ceive +е Ñģ +Ġso on +De coder +ë© ´ +c id +qu ential +ı r +in formation +Get ter +Ġe en +ĠTrans action +M ultiple +are n +get Key +å¯ Ĩ +Ġconf lict +es cape +ĠCon nect +L U +/* . +e z +Ġm ag +M X +at ural +j av +Ġent ities +Ġcon version +åĪł éϤ +on ed +Ġì ĥ +Ġgener ation +~ / +pp ing +Ġnot ify +clus ive +Ġ// ! +h am +ĠRE G +auth entication +h ar +ĠDes ign +sig ma +èī ² +Ġattr s +Ġb ash +Ġtri m +ĠP lay +Ġ ../ +Ex ist +Ġexp and +a utom +ĠCh rome +éª Į +Ġm u +Step Shape +Ġt i +Ġbl ank +remove Class +v w +inherit doc +G V +n io +Rel ative +è¯ Ń +T MP +į ° +Ġs om +Ñ ĸ +Filter s +duc es +G N +ĠR o +ç´ ł +on line +AT URE +q s +à¸ Ń +Ġqu eries +ĠInt ent +copy right +Ċĉ ĠĠ +pop up +as p +æĪIJ åĬŁ +ä¸ ¤ +é»ĺ 认 +ĠL E +$ ('# +Ġn ice +AspNet Core +ãĥ ¬ +Ġhe alth +C riteria +Ġpr act +G H +S ensor +ãĤ ³ +C fg +Pop ulation +t ake +Ġn ested +O rient +ìĭ ľ +ëı Ħ +Ġ& = +as ci +b readcrumb +at able +Ġb eta +n ers +Ġl ua +bit r +ĠNo thing +Ġf p +Group Name +Ġen coded +parse Int +coord s +Att achment +. ') +CO RE +VER T +Ġp ayment +M Y +G INE +Î ± +block List +F W +çĬ¶ æĢģ +CONT ENT +ë ² +rot ation +Ġpair s +end section +ens ors +sec ure +T yped +Ġm iddle +Document s +ĠC lick +ĠW idget +Ġman age +åħ · +ĠSH A +D oxy +=" [ +çº § +elli j +com munity +an ia +ĠA LL +ll a +De code +language s +pict ure +Ġconsider ed +aw esome +ï¼ ¯ +å¤ © +Capt ure +Ġview s +Ġp ÅĻ +Conn ected +Fix ture +fail ure +Ġv k +c irc +ĠS ort +Ġle ave +M ount +Ġin crement +C AP +ĠN ON +Ġlocal Var +ec es +ec ause +Rad io +CF G +per missions +ÑĤ о +ĠB SD +Ġcom munity +Ġcan cell +ĠF inal +Ex change +op acity +at i +p ared +Ġevalu ation +M vc +w alk +Ġm id +å¿ ĥ +D er +Ġc ut +ĠC lose +Ġse em +Config ure +Ġfl at +Ġdistribut e +} - +RE EN +b ench +) }, +riter ion +Vert ical +Ġm x +ĠE D +class List +ĠRes erved +out er +Ġsend ing +S PI +Z W +ĠM aterial +employ ee +Ġ( @ +Comp letion +ĠP osition +Ġal i +Ġpar allel +Ab out +log ies +Un iform +sort ed +åŃŠ符 +j oint +out line +è¯ ¢ +Ġt t +Match er +D ays +ver ity +UM N +fin ite +ĠO peration +Art ifact +? ( +Code s +dis miss +ĠÑ į +p le +get Time +bo k +se to +. '); +mo ji +Ġh ook +ĠExpect ed +u z +de leted +vide os +>> > +') [ +Ġc as +Ġf riend +Ġ?> " +S ig +cover ed +í Ļ +Ġ) ); +ĠA tom +ĠW ait +xf b +types cript +IC ES +fl ux +:: __ +oc used +}{ \ +ĠM eta +pol l +Ġindic ates +F K +G UID +W H +IT LE +ĠS ince +Ġtyp ing +L ow +Ġb oot +ev t +Ġp an +un def +es p +ĠHel lo +ament e +ĠT ensor +W ITH +(" ./ +Ġder ived +b anner +Ġp ulumi +Ġa way +ent a +d type +ĠâĢ Ķ +ĠW indow +Ġvol atile +Un able +и н +ov ed +๠ī +c umulative +P riv +ĠC ase +Ġh our +ãģĹãģ Ł +cont rib +AL IST +Ġ ĊĊ +B M +ancell ationToken +View s +ĠD on +Ġarg c +Ġ% > +] " +Ġbutton s +Var s +widget s +S F +. ** +ĠT w +ĠD ES +ph ase +Ġed ges +l ator +Ab solute +Ġm ultip +Ġd ark +Ġv irt +Ġreg arding +Ġxml ns +ertific ates +A IM +Ġarray s +Ġp p +C SS +Li ke +Ph oto +éĹ® é¢ĺ +Ġ= ================================================================ +is er +ĠF unc +resp onsive +leme try +Man ifest +we ak +Enumer ator +Ġ", ", +Ġres olution +M igration +ãģ ı +Warning s +Ex press +mal ink +ĠVer ify +ĠOff set +Ġf our +Ġin crease +re gist +Ġt d +» åĬł +me asure +Deploy ment +an im +TRAN S +Ġorg anization +re cv +un used +Ġfull y +Ġeas ier +il led +p ause +I o +resh ape +str cmp +æŃ ¥ +w ind +s ites +Ĥ ĺ +')) . +Ġex tern +C ulture +C urrency +Ġstr ong +f ect +Ġre act +ĠF uture +Cur ve +el if +ĠDO M +w b +Ġse d +------------ --- +RE AM +Ġrel ationship +ç´ ¢ +ĠNOT E +âĶĢâĶĢâĶĢâĶĢ âĶĢâĶĢâĶĢâĶĢ +KNO WN +b id +h int +in crement +un a +Ġan s +ĠCl uster +Ġparse Int +al gorithm +to oth +å¹ ³ +C ircle +un nel +) < +d up +W allet +'] : +ob s +ĠS ample +ab bit +à¹ Ī +ĠIllegal ArgumentException +Ġhe t +ĠEX ISTS +ìĬ µ +ĠCont act +q p +( | +V IS +I ES +PRO JECT +Track er +åĪĹ è¡¨ +al ways +оР· +CON SP +ER Y +ë ° +brid ge +st roke +ide d +{ ' +as sed +MA IL +å ĥ +" => +layout s +Ġthrow n +{ - +åĪ « +èµ · +Pl us +g ate +l ations +Ġ ess +ok u +m ust +od d +s lf +ĠB G +B ank +Render ing +im ize +ym m +De vices +ĉĉĉĉ ĉĉ +inst ances +L inux +ĠCon s +BE GIN +ĠS olution +add itional +åĪ Ŀ +ÑĢ Ñĥ +Ġr t +pro duction +th ree +ìľ¼ ë¡ľ += \ +G PIO +de velopment +') { +Ġm m +ä¾ Ľ +F ast +int ellij +Ġin ject +éĤ £ +Ġm ind +Ġdis claimer +R ank +åij ĺ +grad le +Own Property +SCRIP T +Ġd x +` ), +M ARK +R pc +Ġconnection s +Pri mitive +ĠDocument ation +Ġelse if +get User +list en +Part ial +CL K +ient o +Ġhigh er +ate ly +æĽ´ æĸ° +al so +ĠF ailed +Ġо б +Ph ase +f ade +U V +R A +Ġdef in +éĢ ģ +d ns +. (* +AL IGN +get Item +Per cent +am an +Module s +post gres +Tab Index +ÑģÑĤ в +Ġ/ . +Ġqu ite +Ġlink ed +P F +Ġ** [ +ĠCON FIG +COMM AND +ĠM atch +book s +Exp and +host name +ภģ +card s +ĠPar ser +Ġgo al +et ime +man aged +Ġ{} ", +at ype +ĠI E +Ġge o +Comp lex +Ġperson al +S i +Ġof ten +Le g +I CT +ativ o +w allet +EX P +Over lay +Ġeas ily +art ist +soft ware +C ent +âĶ Ĥ +Ġn avig +Log ic +ip pe +ĠS ql +Ġc lip +d to +ip v +Ġf ade +IC K +P aint +ĠC UR +E m +ens us +Inter faces +Ġë ª +Ġ( / +img ur +red ux +lin eno +thumb nail +| \ +åı Ĭ +Ġ' '), +ĠS top +ir y +ĠLe ft +f v +Comp any +æĺ ¾ +TYPE DEF +ç¡ ® +ho od +ä¿® æĶ¹ +PROPER TY +ge om +vert ices +b m +Sl ider +Ġ roll +Part s +åĨħ 容 +D WORD +g uid +mark et +uf act +me ter +Ġes lint +h ooks +Ġocc urred +get Current +std io +ĠD est +plan ation +S ur +v nd +Ġ} . +Rel ation +ADD RESS +al bum +INCL UDING +if rame +ãģ £ +DE SC +ann ed +ph ere +Code Attribute +íķ ł +F ault +Ġm ajor +Ġset Timeout +SD L +i w +t id +Re try +Ġn or +') ] +A ge +Ġext end +read only +n ÃŃ +f m +å®ļ ä¹ī +T CP +p v +æ Ł +Ġi i +ĠV ol +DI F +? ; +Key board +LOB AL +Ġu id +Ġch anging +Comp ute +vis or +å½ĵ åīį +Ġ" \" +ĠS ingle +Gu ard +Ġwer den +A nt +Instance State +ĠS PE +æī ĵ +Ġatt ach +ir med +Ġconst ants +Ġcell s +( ? +Man aged +Ref lection +wik ipedia +e per +ĠLo ader +èµ Ħ +go ing +Ġne ar +Ġ{ ... +ĠP rivate +am i +ac l +о ÑģÑĤ +Ġin struction +S uc +ctr ine +p aper +py test +Ġex perience +us uario +Ġident ify +In ventory +æķ ´ +Ġc urrency +proto c +Fl at +ĠO per +k ota +ĠF low +s uffix +Def ined +Spr ing +Ġequal s +ог о +S N +ĠA tt +St mt +Ġdep ends +ĠM o +Ġt ill +å¾ Ī +ĠIn clude +ĠRE ST +GEN ER +ĠT erm +sem antic +ĠIn fo +Ġv ers +Off ice +Ġt alk +ĠS l +Ġart ifact +target s +Or Empty +an alytics +ci ence +comp ress +b az +be an +ĠS ymbol +v et +INST ANCE +V P +: ', +ACC ESS +[ ^ +j dk +æ » +an ches +Ġg lob +k ube +Ġclient s +Ġp ure +D ROP +k v +is ing +to c +ĠM T +lap sed +Sm all +Indic ator +а Ñģ +Ġcon sumer +load s +w ater +Ġв Ñĭ +( < +c g +Ġinc orrect +Ġe mp +e quiv +acion es += ', +tr ait +Ġpre cision +ĠQ String +i ot +Ġr atio +ail ing +oh n +ĠX ml +; ">< +pect or +Ġ Ċĉĉĉ +ĠN on +b ing +Ġp id +ĠS W +FUN C +Ġmat plotlib +ac ement +V o +Ġap lic +Com ments +man ual +View er +' >< +T ax +ì ĥ +Ġst ride +SY S +TR A +Ar row +ì ² +ĠT ab +={ ' +Ġp aper +ick y +åķ Ĩ +or al +con cept +Ġm igrations +Implement ed +bet ween +up dates +ĠB us +ex ist +ĠST AT +Ġan im +j k +а ÑĢ +Ġstd out +è°ĥ ç͍ +p romise +Ġl ife +Ġ& [ +s urface +éĿ ŀ +ri al +n ombre +=" ./ +W ill +ĠN G +Ġf f +ĠB ug +Ġrelease d +P i +ific ant +d os +C AL +TI M +| , +Ġs printf +Ġresp ons +Byte Array +% , +C U +gre es +Ġcl aim +} ( +q t +Ġn ão +om ial +Ġ** / +m ultiple +Display Name +A udit +Ġloc ally +A INT +Ġcontrol s +A w +ĠP assword +( ', +uss ian +H i +ĠL ess +ĠTr ack +åİ » +d g +f re +w est +={ () +æł ¹ +J ust +Ġcon tr +Ġb log +ĠM P +li x +Ass ignment +Ġbus iness +ig u +apt ic +K B +ĠDep end +se p +encode d +Dis able +éģ ĵ +LE ASE +ãĤ¤ ãĥ³ +s ensor +cam atan +;;;; ;;;; +. { +(' - +Ġp g +Ġnull able +Cre ation +x cc +rel ation +F IN +shot s + · +=" , +ĠL ook +ites pace +msg s +b ib +ĠC ould +m ak +ĠU SB +Ġus ize +c redentials +Ġon line +ен ÑĤ +co v +deploy ment +z t +qu id +ĠM ore +IC AL +O G +ĠS uccess +)) ] +d ater +ent ly +se parator +feed back +$ / +Get Value +ĠTe am +Serial izable +Ġp andas +BY TE +g ulp +log out +Ġd ados +ĠC lo +Ġre striction +è¿ ŀ +Ġcoord inate +Ġtip o +x fa +Ġm iddleware +with out +å®ŀ çݰ +Number Of +| : +iv ery +e ction +ST AMP +C OR +U nt +(' -- +} ). +ri ends +ke camatan +Ġcode s +He ap +ó w +ĠGener ic +=" $ +ient e +\ , +ĠS DL +Definition s +Ġr é +ĠType Error +Trans lation +ĠVAL IGN +Ġrepresent ing +ĠN UM +Ġup on +ç¨ĭ åºı +word press +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġde precated +Pred icate +> . * +Ġdol or +Ġe ase +box es +in ventory +Al so +Ġn b +fix ture +") ), +)? ; +ĠF L +normal ize +ĠU tf +Ġlog ged +Ġsw ap +å±ŀ æĢ§ +block quote +pre di +µ ¬ +æµ ģ +Ġmaterial s +Ġs af +Rect angle +St amp +Ġip sum +Ġnum s +ĠI Enumerable +<< << +Ġs on +Al t +ç µ +CK ET +è Ļ +Ġh r +as ons +ĠCon struct +ени е +P ad +ĠS em +b untu +". $ +distribut e +! (). +å°± æĺ¯ +Ġ ĊĠĠĠĠĠĠĠĠ +Ġp ow +Ġgo es +Un lock +avor ite +b j +lo quent +Opt s +t ures +åĨ į +w y +Ġro unded +M icro +Ġcon straint +> - +Un its +Ġt ax +Ġpers ons +ĠN ative +ac ao +v d +std lib +ĠMod ified +bitr ary +) "> +v n +ass oci +åı ° +Cap acity +Ġsk learn +Ġdim ensions +ĠMan agement +s at +] ]) +ion i +åIJį ç§° +re name +IL L +Ġstr len +Ġclean up +Ġscal ar +x er +ma jor +ON Y +C WE +ber n +V K +Ġrecomm end +om as +decor ation +Ġme chan +Ġz oom +( . +í ĸ +ĠSym fony +ativ ely +FFFF FF +re ceive +per m +Ð Ł +ĠSh ared +el t +ck s +ĠV K +ST REAM +sw agger +M F +Code c +н и +Ġsc enario +Rel ationship +st ride +é e +Ġtrans lation +Ġjob s +ĠCor poration +P B +Ġ -------------------------------- +Ġdefinition s +SP ACE +Ġpro cesses +red ito +TR ACE +ind ic +Ġ"/ " +F ake +Meta Data +limit er +o ct +Ġk ö +FO UND +Ġd y +Ġopen ed +Ġ' [ +ĠInter face +Ġe ine +be am +in tr +Ġt ail +dev ices +de m +, : +í ĺ +Ġo c +unc ated +Ċĉĉĉ ĠĠĠ +åIJ « +l ify +ĠM is +ith y +Ġw s +bl k +FR AME +char ge +Mut ex +****** / +Ġc ó +El se +tensor flow +eng er +ra ise +Ġactiv ation +é ¦ +Ġvert ices +g allery +l ig +x ef +pro mpt +xb f +Ġre search +cip ient +A UTO +ĠG PIO +M AT +Ġpe g +åĿ Ģ +key board +ãĥ¼ãĤ ¿ +ann o +Ġman ual +ĠBO OL +in et +Ġre dis +Ġlo mbok +ĠUtil s +and atory +è¥ ¿ +Get String +pag ination +ĠD irect +Ġhard ware +Ġpass ing +M aybe +ro zen +ĠA ng +Ġl and +sched uler +Ġa u +hl js +Ġs uite +è¾ĵ åħ¥ +Ġunder lying +")) ); +h c +Ġw allet +Bus iness +ighb ors +( :: +D r +Ġ( __ +L ess +Ġc ps +ĠB OO +/ ). +Ġv ous +ĠF UN +D UCT +Ġimmediate ly +[ @ +Ġup dating +g lob +=" +) "); +AP H +now ledge +cl uding +et ur +åIJ ¯ +ĠW in +Ġì ĺ +Ġ ur +RE ST +att achment +Ġcon straints +Sample s +ãĥ ¡ +ĠRuntime Exception +FIL TER +t u +Ġposs ib +Ind ices +lic h +ĠLi brary +Ġa met +un i +Util ities +Ġevalu ate +èĬĤ çĤ¹ +à ¸ +ĠP ATH +ĠT ypes +ĠCON NECTION +å® ¢ +ĠA udio +ĠT EXT +Ġ$ (' +Bag Constraints +N P +Ġw ater +ĠP attern +f h +re vision +RAN GE +Ġexplicit ly +Arc cosX +t ower +ĠM S +ĠAPI s +Ġlearned at +++ ] +Ġvalid ator +Frame s +æ £ +Ġdef er +, ' +rig gers +loc ations +Ġf requency +tr aits +map per +. & +å¸ ĥ +âĸĪâĸĪ âĸĪâĸĪ +c z +Ġro les +n es +ĠAct ivity +p rom +B ridge +end en +H ide +ĠE C +Stat istics +vis ibility +Ġex c +hand off +Ind ent +ä¸ ² +am in +**** * +limit s +B AR +s ales +è¯ ¯ +Ġ ĊĠĠĠĠĠĠĠĠĠ +o ss +Ġp ode +es lint +Ġw alk +h its +Ġus ually +p on +cont rollers +ĠW ill +sw ers +Ġ ---------- +Ġr w +for um +ĠText ure +B IND +S ol +ĠA utom +\" \ +> "); +st ory +e le +Ġde ad +Ph ysical +if etime +ãĤ µ +à µ +ľ âĶĢâĶĢ +MO VE +ĠMet adata +ĠF ull +, _ +Ġp ipe +Ġtr ansparent +Ġsubst ant +Ġhere by +ãĥ ¥ +Fin ish +l ace +Ġl d +Ġt ar +Ġ* ************************************************************************ +Ġfor k +äº § +B ro +V enta +git commit +ORM AL +server s +st ation +le et +ĠCOMM ENT +S ch +ro tt +if ference +P icture +Ġper formed +IMP ORT +Re gist +re try +id ence +let ing +we i +Ġwant ed +Ġw ays +Ġre ceiver +ĠDet ails +аР· +Z ip +Ġo d +ĠD NS +ir ing +Ġwork space +VO ID +al a +ĠN ormal +Ġs cheduler +De leted +Ġinitial ization +work ing +open locfile +source gitcommit +openlocfile hash +to Have +ri a +Th umb +... " +to k +Ġtemp erature +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ +q r +Ġx y +ĠP ER +Word s +Ġc mp +im o +Ġrender ing +, & +Ġse ss +Check Box +f riend +Ġarch ive +ĠRem ote +Ġserver s +it ed +* } +ING E +client s +aptic Population +tp l +Ġab ility +track er +F oo +Ġt ro +ĠUp dated +Con struct +fore ign +Ġ èİ·åıĸ +R x +è´ ¥ +x de +`, ` +g zip +ĠI ssue +last handoff +C losed +Ġcollection s +} "); +sche me +S olution +is a +ĠSe ction +ë Ŀ¼ +аР¿ +R B +Ġtech n +se quent +th ere +Ġ'/ ' +Ġas sets +Ġmov ed +: = +ar ations +Or Default +================================ ================ +[ \ +č ĊĠĠĠĠĠĠĠĠĠĠ +ag o +IN FR +x z +H z +Ġhandle s +In to +ag a +ay a +content locale +Ġcons ult +ĠCONTRIBUT ORS +ĠCon f +L ite +T urn +ig hest +ë ¶ +ĠV irtual +Ġ ht +ç ¦ +ĠM achine +Te ch +ĠF ace +Ġown ership +row n +ĠV ER +Ġl azy +Ġbegin ning +Ġd amage +c ite +Ġr v +© ëĭĪëĭ¤ +Ġh i +cl aim +ç§ » +AD ER +LI MIT +ĠY ii +ust ed +Ù ģ +Ġ! ( +U C +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ +STR AINT +Ġstr ategy +up on +Ġ[ ** +(" -- +TH READ +h aps +ĠD ialog +Ġwh ose +evalu ate +ĠRe st +ynam ics +! ", +Ġ" ] +Ċĉĉĉĉ Ċĉĉĉ +N ER +($ " +an de +up iter +re pr +ĠR ule +ro pped +Ġbel ieve +L ex +ĠIN C +![ ]( +Ġo ps +cl usion +G ood +Ġê° Ģ +d rive +Input s +Ġper cent +ed a +Par allel +ĠS M +ĠÑģ ÑĤ +Y X +ĊĠĠĠĠ ĊĠĠĠĠĠĠĠ +B AD +à¹ Ģ +Ġk B +qual ity +ĠO rg +an ie +et o +Ġclo sing +Ġ ÑĢаР+Ġn x +get Default +g ender +Î ½ +ul ia +Ġe quivalent +artifact Id +I ss +Ġhand led +re cognized +L ab +u y +(( * +ìĬµ ëĭĪëĭ¤ +In itialized +ret val +Ġport ions +P t +ĠAL IGN +ht docs +level s +Ġto do +Pl ane +S ince +Ġre peat +Ġth umb +v in +éĶ ® +Ġb old +az e +ĠRun ning +C redential +ad just +H idden +m alloc +Ġret ain +Ġfont Size +IN TEGER +De c +report s +P unto +T ITLE +ì Ĩ +mit ted +lap se +L aw +Ġv el +ĠPro b +Inv ocation +C ategories +ot ing +b ur +Comp ile +AAAA AAAA +are st +Ġocc ur +Ġpot ential +R ay +Y PT +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +lo od +æĮ ī +Ġsupp lied +ç Ī +ot s +ĠSh ort +Ġcap acity +WE B +Dis pose +Arch ive +s cores +Ġass ignment +amazon aws +> ? +Base ldytsch +C orre +t age +M OT +ĠO pt +×ķ × +R ating +In crement +ĠM PI +Ġ ]. +ist a +os h +do es +ab et +/ ( +re pos +ch apter +INGE MENT +">& # +AT IVE +f aster +Ġcomp iled +al one +Ch o +R aise +ist ed +ched ul +re main +Ġ' * +Ġu k +и в +j q +call s +Ġj ump +col Last +Ġt m +il ities +:: ~ +Inter ceptor +e h +ĠA C +w m +Ñ Ĭ +oc r +mar shall +if o +Ġput s +ĠA li +ìĿ ¼ +Ġas sembly +Ch oice +ng inx +ar ia +ac o +ê² Į +Y G +re nd +Ġì § +ï¸ ı +ç Ŀ +ĠI o +File System +Ġf amily +CHAN GE +up grade +atern ion +RE SET +rec ip +å¢ ŀ +Ġde tection +aj e +ĠBl ue +Ġpro duce +do jo +Ġw ird +rg ba +cap acity +Ġwire Type +DI V +pro viders +cl ine +ĊĊ ĊĊĊ +ภ± +Ġcontribut or +Ġ\ ' +BO O +WIN DO +D W +Ø ¨ +US H +Ġf re +ĠÑ Ħ +èĢ ĥ +Spec ification +A Q +Ġw y +g ap +ĠNot es +ĠM erge +E moji +b z +c ing +start sWith +ĠJ o +çİ ¯ +Ġc i +Ġexec utor +get All +| :- +ĠK ubernetes +Ignore Case +H o +Ġsp aces +xb c +View Controller +ĠEn try +CUR RENT +inter est +Emit ter +Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġal ter +pre dic +e quation +open api +Ġobt aining +ĠLine ar +ĠR ole +V i +ĠP ut +ĠIn ternet +ĠV S +g amma +Ġser ve +ภĩ +c orre +g m +BO X +Ġmk dir +op enc +ĠG PU +" < +FFFF FFFF +CONT EXT ++- +- +xe a +Ø ³ +con verter +ĠS ite +Ġì ľ +; ", +av ity +(" ", +ĠDep loy +Ġbuild s +ĠV k +temp t +require s +S ym +t icket +Ġext ended +v im +ak a +da o +Ġev t +anti ate +WR AP +M ixin +Z ERO +Ġbe haviour +ect l +Orient ation +' >( } +ĠW R +bu d +D en +er min +ư á» +uc ation +: [ +iffer ent +ump tion +åij½ 令 +th rift +ne utral +Ġauthor s +oper ations +Rout es +V B +Ċĉĉĉ Ġ +Ġax ios +Ġcop ied +:: < +> @ +alloc ator +Ġde mon +STAT IC +Per formance +Ġcompat ibility +Ċ ĊĠĠĠĠĠĠ +ĠW IDTH +ĠCON T +' # +čĊč ĊĠĠĠĠĠ +Ġcomp arison +) ]) +f printf +æĬ ¥ +con c +( -- +ç Ł +ĠS ocket +C MAKE +S ales +Ġshow ing +ãĥ¼ ãĥĪ +S IG +Ġs f +built in +R obot +Ġport s +B log +assert False +Ġar m +ĠAp ply +Te le +ĠCustom er +à ¦ +re y +Ġs ublic +Ġcom munication +Num bers +er ical +hard ware +de coder +IS O +L R +Ex tended +ret ch +G reen +Ġtrans actions +Ġcr ash +Ġst udy +DO C +h ance +Ġm g +ĠNON INFRINGEMENT +G PU +/ >< +ĠE m +ÑĢ Ð¾Ð² +ĠP L +çīĪ æľ¬ +Unt il +Ġsublic ense +C orrect +TIME STAMP +Ġst ri +ĠB ootstrap +ĠCal culate +Ġlist en +ber g +EX PECT +Ġmin or +Sim ulation +íķľ ëĭ¤ +ãĥĹ ãĥŃ +" ' +Y O +ĠE mpty +right ness +Do es +H ours +Re store +åį Ĺ +ĠG R +ed er +C b +ms dn +Rel ated +Ġdirect ories +C ACHE +as se +Ġin vol +Re v +v ault +ĠM ongo +ĠSp an +ĠG uid +Ġt ot +j it +sh ake +it t +Ġpl ain +? > >( +Ġagre ements +Ġrefer enced +N u +Ġ( ** +ĠO PT +Ġ íķĺ +Ġcount s +Ġres ize +T LS +q ty +"> . +ä¸ Ķ +sub title +Mut ation +Ġed u +Ġbackground Color +ĠV R +Ġun expected +Feed back +Associ ation +P ref +Ġe ps +n ested +sp arse +Ġn d +:: : +sp here +(" ../ +` ). +Link ed +Ġp iece +ĠGener ator +De precated +ĠEx pr +Ġsc r +Ġun icode +vid ence +V y +ad oc +Ġfloat ing +Collect or +Ġw p +Ġd ire +å· ± +get Int +Double s +Class ifier +serv ations +VAR I +un pack +ìļ ° +Ġcancell ationToken +m oney +ãĥ ŀ +Part y +C nt +Ġy ii +IB LE +ä»Ģ ä¹Ī +else if +ME DI +bar s +fl u +ĊĊ ĊĠĠĠĠĠĠĠĠĠĠĠ +ãĥ ĸ +Ġare n +CHAN NEL +N R +Ø ¹ +Ġ ãĤĴ +Ù Ĥ +Public Key +agr ant +am os +el d +Ġsent ence +H y +Tree Node +Ġdemon str +D ump +] () +is Array +Ġn ome +ab ling +\", \ +//////////////////////////////////////////////////////////////// //////// +Ġ' & +Ġh w +Ġpro jection +ĠW rit +ãĢĤ # +null ptr +ĠPower Shell +Ġaltern ative +ĠP rep +èģ Ķ +Ġp en +mock ito +Ġdi ag +Ġc oin +un ity +Or d +Ġ ç +user data +tri p +缮 å½ķ +) "; +X P +"] [ +ĠEns ure +att ack +Ġspr ite +O i +f hir +id u +upy ter +JSON Object +S Z +com merce +Ġtrack ing +Hand lers +writ ten +Loc ations +Ġte le +l il +Un ityEngine +á rio +tern ational +Ġend s +Temp lates +Account s +C AT +Ġoperator s +Qual ity +Ġg p +Ġen coder +inf os +Ġcor ner +ĠF etch +x aa +inter p +A wait +B ootstrap +r ar +| ` +CON TRIBUT +ż y +an imate +Ġ' ( +Call ing +asset id +us hed +Ġe qu +jet brains +Ġc atalog +ĠSum mary +res olution +ĠTest ing +ĠĠĠĠĠĠĠĠ ĠĊ +ERR UP +ĠCurrent ly +SPE C +c wd +ĠC SV +ĠF actory +ĠPro gress +ঠ¨ +\ < +n od +em ale +Ġb ias +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ +Ġbit map +Ġ iv +DIS ABLE +char At +ĠDe velopment +li me +Opt im +dir s +Ġb ootstrap +cur ve +A ws +N L +c ps +ifi able +ĠM ust +ĠÐ Ł +Start ing +H ASH +U K +e very +re ceived +Type Id +TY PES +ĠApp le +Ġp ou +ĠC EL +o e +ĠT ools +not ifications +ĠPro xy +åł´ åIJĪ +S py +Up dates +- \ +Ġve locity +HO W +N ORMAL +Date Format +è¿ŀ æİ¥ +ĠPar a +:%.* ]] +Ġun used +Ġp m +Ġ{ - +Ġto ok +Ġre member +ĠB atch +res olved +Person al +bu ffers +LE AN +_ " +ĠProto col +Refer ences +Ġh older +Ġcause s +../../ ../ +serial ized +Ġalloc ated +ĠVert ex +w heel +Ġre ach +ĠNot Implemented +sprint f +Ċĉĉ Ċ +S al +vo y +tool bar +èĩª å·± +h ib +res olver +M ass +er d +Ġs pect +Ġst able +__ ); +Ġrun ner +A verage +ĠC RE +ĠE qual +filter ed +UT C +R W +not ice +mong odb +GR AM +display Name +ĠH RESULT +MEM ORY +sp awn +âĢ ¢ +part ner +Ġmov ie +k al +St e +ãĥ³ ãĥĪ +ker as +bas ename +Pro jection +ST OP +member NameLink +ãģĵ ãģ® +f requency +Ġp ref +Request Mapping +Ġë ĮĢ +Ġqu antity +ĠREQ UIRE +ĠC S +ĠL P +Http Response +pattern s +pro vide +L ua +Sign ed +G ap +m box +** / +Ġwork around +v an +ĠPro vider +а еÑĤ +R AM +Ġ{ !! +Ġfil led +Coll ision +ĠEL SE +p urchase +ap id +av y +fe cha +Code Dom +Ġconn ector +m usic +lic ity +Vert ices +x df +ag ue +Non User +sch ool +F ULL +ĠM L +/ \/ +x i +config s +ro uting +Per formed +] }, +T icket +Gu ide +P URE +Ġc x +find One +Ġhel ps +sv c +ĠSw itch +Ġde signed +pro f +ĠÐ µ +Ġuse Effect +è Ń +Ġp k +T mp +ol t +ä¸į èĥ½ +ĉ Ċ +Ċĉĉ ĠĠ +Debugger NonUser +ภ¥ +al tern +pl aces +k es +Ġ/// < +DO UBLE +ĊĠ Ċ +Ġal le +æķ° ç»Ħ +cent ral +ĠP ull +AL LOC +à ¬ +he art +Ċĉ Ċĉ +set Name +: $ +f ork +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ +amp p +v ia +me ga +Ġunit test +p ent +Ġë ¶ +IST ER +arg a +ĠLOG GER +Ã Ł +Ġse l +ĠP oly +ĠU rl +Ġen crypted +ĠArgument s +ar th +PACK AGE +RE SP +g iven +v tk +om a +AD MIN +z ione +Ġhapp y +ĠF ail +Ġes cape +et te +Ġspec ifies +comp ressed +cl ang +comp letion +D ark +æ IJ +æ° ij +c ube +B ug +c ampaign +s uc +style d +Ġge m +AT TER +Index Of +} ') +>: ]< +or i +Url s +Result Set +ST ORE +ar ily +Ġoutput Id +C AR +Ġlog o +ag g +go al +ular ity +čĊčĊ čĊč +!!!! !!!! +d atab +Ġw ish +ee ded +es is +ãĤ ¸ +EXT INF +ln k +we ather +" % +/ '.$ +Ġt vg +Ġf am +ode ga +ET CH +Ġexpress ions +æł¹ æį® +Th ank +èº « +ÑĤ и +Ġhost name +Ġre cur +Ġnot ifications +ภ¡ +æĶ ¿ +ë ª +us pend +ĠA RE +Lay ers +u o +ĠP ORT +Fin der +Ġear ly +M otor +par s +i OS +pro cedure +build ing +Sp acing +ĠS UM +St rict +j Query +ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠ +ĠMy SQL +M ATCH +è·¯ å¾Ħ +M PI +Object Type +ĠId entity +Med ium +IsNull OrEmpty +B G +Ġjupy ter +N om +ache s +į°ìĿ´ íĦ° +' { +] ` +Ġre placement +bind ings +l isp +clo sure +/ - +ment e +que e +CH O +pret ty +r n +ĠC amera +min i +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ +ĠRed is +P an +accur acy +D ock +el le +Ġjava fx +af ari +xd c +ĠAs set +d ie +Ġs cores +Ġad apt +host s +M K +Ġs ays +Sm art +ĠF ast +="{{ $ +æ¡ Ī +Ġcon ver +Ġtr ait +contains Key +ĠD er +Ġreport ing +g id +ic er +Ġg ap +Ġr an +ĠExample s +:"- "` +ĠOn ce +Ġproto impl +Map s +Pointer Exception +M ess +Ġa o +ĠF ORE +Or ders +Ġr f +Fl ush +åĨ µ +pe m +no ise +require ments +as ide +åIJ Ħ +S ingleton +ĠSt Object +Ġd rive +">< !-- +x ampp +è§ Ĵ +Ġg t +Message Type +TO OL +ı nd +Ġ< % +OPTION S +) % +! ") +/ ` +Ġf ooter +ĠRE FER +ĠB L +Ġmark et +Ġeffect s +æ Ĥ¨ +st aff +start swith +n th +Sub scribe +åĭ ķ +Ġinter action +"> = '); +l hs +ar avel +cor por +stack overflow +Ġprogram ming +Ġlog ical +c amp +x ab +ĠO f +Capt ion +Int ro +Ġact or +Ġv ocê +æ£ Ģ +ĠS uper +ibr ation +D EN +Ġmin ute +h ang +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġrep lic +ĠSpr ing +Ġd ur +") [ +j wt +Ġ@ " +type param +} ". +op code +Det ection +Ġbox es +Full Name +s ass +Ġ` [ +) ((( +spec ifier +T s +util ities +ĠGraph ics +äºĭ ä»¶ +F x +enc ing +chart s +ak s +L orem +Ġr ay +lock ed +Ġc ri +Des cri +Trans late +Br ush +Ġ= ~ +ĠCh art +sh utdown +---------------------------------------------------------------- ---------- +gre y +F requency +ĠC ALL +Ex act +Byte String +V w +g an +g ene +ĠCh at +Ġ lic +ĠF ri +Ġp Ã¥ +UST OM +ĠA ST +ph rase +re ceiver +ĠG ithub +static method +线 ç¨ĭ +---| ---| +i y +ul us +ĊĠĠ ĊĠĠĠ +Ġdig its +ĠL imit +CRE T +t alk +ase d +ib m +Ġro utine +Ġc t +Oper and +ole c +iment o +r ails +Ï Ħ +je kt +ä» ĺ +mut ed +bit map +"> , { +ĠCHAR SET +P en +ĠI DE +c red +Ġp referred +ĠTr ace +Ġgu ard +S izes +Ġmark down +mat ched +Publish er +itel ist +ex am +Id le +pag ation +(' '); +Ċĉĉ ĠĠĠĠ +č Ċĉĉĉĉĉĉĉĉ +gov uk +ĠDoc s +ĠA ut +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġcon sectetur +Ġb io +ĠT imer +ĠAdd itional +/ , +_ % +it i +Ch anging +Min utes +å¢ ĥ +per c +ĠL D +å® Ł +reg ular +Ġcoord s +k h +ë Ĥĺ +æµĭ è¯ķ +çħ § +on us +ĠC apt +out il +çĶ » +xb b +Vis it +Ġsig ma +Ġprob ability +Char Field +åij Ĭ +Ġstart up +Ġde tailed +bo th +Bu y +æİ ¨ +Char s +Sp awn +Ġjo urnal +g w +q i +__ () +fil led +Ġin dependent +Ġl bl +ı ÅŁ +ins ic +é £ +ĠA nt +S yn +v ements +Al ready +S pl +Ġnew ly +Ġmem cpy +CONTRIBUT ING +s ink +ad j +ãģ ¿ +Ġad ipis +Ġro uting +Ġsome times +ĠOff ice +Ġtra ffic +n ex +è © +ĠI C +页 éĿ¢ +M ongo +m gr +Ġg round +ĠG er +Ġkey words +Ġno qa +нÑĭ е +Ġv endor +Ġthere fore +uplic ates +: \\ +Ġget Name +ax i +ä nd +x da +ver sed +d ar +v ocab +................ ................ +moz illa +r ich +cre ator +rows ers +Ġbefore Each +er able +has Next +æľįåĬ¡ åύ +effect s +ĠUP DATE +ĠCO DE +Ġg uid +Ġnumber Of +p ane +ĠDef inition +Ġhold s +onom y +l ite +Ġ ä¸Ń +[] > +Cover age +_ ' +SER IAL +Sort ed +Access Token +lar avel +çİ ĩ +ulk an +f its +al ty +Ġh ack +i ate +env s +')}} " +T ES +At trib +{{ $ +spec s +Ġcalcul ated +REG ION +x db +Ġb es +lat itude +Ġpur ch +Ġedit ing +AC KE +Ġë IJ +th ink +ide os +Loc ator +a es +} & +Ġon Create +ķ Į +Ġst rip +======== = +time line +T od +il on +NN NN +D ie +In c +RE L +ĠU int +theme s +Be arer +T V +ĠV ULKAN +Ġun iform +}/ ${ +Dim ensions +>{{ $ +(' : +Not ifications +ĠS ide +Ġsub sequent +j c +open ssl +ç¾ İ +u h +Ġstruct ures +Ġover lay +H over +og en +Ġyour self +Ġpro duced +Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +re nt +Ġcl azz +ĠCo ord +Ġr a +I VER +IM G +ĠFORE IGN +Ġ' =', +ĠT wo +Ġel im +Ġstudent s +ĠU buntu +E poch +ret ty +min imum +ĠComp any +ac ute +s nap +ed x +Ġle af +chedul ing +[ ! +x cd +O ffer +Ġcon d +set ter +d pi +Ġ{ . +tr ust +Ġ{} ". +g lyphicon +Ġre spond +pect ive +Ġëª ¨ +or ientation +max imum +Ġmedi um +Ġsub process +Ġvector s +Re presentation +=> { +M g +ok emon +ĠUn ion +P AY +tr anspose +ĠH o +ĠN ov +sub scriptions +Ñĥ Ñİ +Spec ific +ro te +Ġch ance +LI BR +pl ate +res a +sm ithy +Ú © +Ġa zure +Ġm c +St ation +ãģ Ĭ +pair s +ma int +ox el +Ï ĥ +ç ı +ĠS n +ol lo +With Context +åĮ Ĺ +p it +Ġinter ested +y label +ut m +ut s +'] ), +Ġcombin ation +comp act +Rot ate +C ENTER +DEF INE +Ġ #### +ĠO FF +Ġ} )) +Ġw orth +ĠP air +è® ¿ +IO S +Ġи з +LAP ACKE +o ffer +er ase +L and +i ar +ĠA PP +UN USED +Ġpro pri +ĠCal endar +Ġc uda +Sec ure +ภļ +uro pe +acon da +Q String +pe ople +Cre ating +h q +Ġc trl +Ġsp awn +Ġatt achment +IR Q +Ġserial izer +Ġbind ings +Ġbig int +ww v +ub ic +ĠE valu +align ed +inger print +åı Ĺ +==== === +Ġcon ven +======== === +az ioni +G iven +in el +sp lice +ãĥ ł +. [ +n of +over n +get Content +Lo ss +Ġacc el +Ġver w +ĠMon itor +g as +be e +Ġinvok ed +Ġapp lies +ĠSt udent +x cf +Ġmin imal +aa a +Ġpop up +optim izer +Ġbecome s +ĠSTAT US +K eep +che my +Extract or +> ". +m igration +Ġchar s +Des cript +Ġm alloc +è ĥ +In flater +Ġme s +add on +模 å¼ı +çĿ Ģ +Image View +Ġd m +cc c +apro ject +p olicies +as hes +ch k +Ġarg parse +Ġre ached +ĠC ap +View port +a udit +Ġapp reci +Sub scriber +stat istics +AB C +u je +Ġcho ices +è¨Ń å®ļ +Ġst mt +ĠD uration +Ġg ateway +Le an +`` . +x path +is co +mem cpy +it é +è¾ĵ åĩº +ĠD one +ĠRe place +Ġe le +Ġ?> "> +ov y +åıĺ éĩı +ut c +é n +åŃĹ æ®µ +ãĥ ij +ci ón +un ix +Ġ* ); +lect ric +ra ises +Ġvis ibility +Ġ åľ¨ +Ġs d +ane ous +Ġinterest ing +Column Name +еР³ +S y +connection s +WA IT +Ġtr ade +Ġtrack er +Ġ# -} +J NI +>> , +x cb +ang an +Ġu v +ç ª +) ]; +ĠÐ Ĵ +Co lour +S CHE +m irror +å ĸ +ĠO perator +Ġget All +ĠSe quence +position s +B ulk +ĠT IME +Ġ}} > +Ġwon der +Ġinvest ig +ĠF ore +port folio +Tr ade +Un supported +Inter action +g row +Ġ čĊĠĠĠĠĠĠĠ +Per fil +st a +Ġ} ] +ĠW HEN +dis count +it r +Ġappro x +æı ı +INTER NAL +ãģĭ ãĤī +% ^ +ac a +Screen shot +Ġ'../../ ../ +Ġg er +Ġfile path +ĠInt el +BU S +ìĻ Ģ +V ED +PE G +nd array +BIT S +ĠBit map +âķIJâķIJâķIJâķIJ âķIJâķIJâķIJâķIJ +åĪ ĩ +éĥ¨ åĪĨ +cre ation +ĠDes criptor +CON NECTION +util ity +RGB A +g old +Ġso ft +Ġê ·¸ +ĠL ength +=' # +Man age +ëIJ ĺ +PROTO BUF +ric ao +Ġtrigger ed +Power Shell +Ġqual ified +E mp +è Į +Connection s +Ġ ign +ug i +DO MAIN +Ġbug s +Ġll vm +Ġr ating +ant ics +Ġgl m +} '. +ĠC annot +Ġnot ebook +âĶ ģ +Ġoptim ization +x sd +un set +ĠO Auth +// # +Al location +B i +ST IT +Add resses +Ġpr incipal +C AN +table Name +Y P +% \ +G LE +u u +Ġch osen +we ep +ĠIn dic +Ġfail ing +Ġoper ating +ĠP IN +Ġcons ume +Ġt en +gin x +Ġre peated +B old +ĠT LS +R ing +FI RST +| } +B K +G est +s ale +Ġf all +ĠD ump +pro files +Ġcom bine +Ġ} ], +The se +ç« ł +b idden +=" + +Ġan no +Ġpri me +ä¸į åIJĮ +bud get +PRIV ATE +ia o +qu er +agn itude +é¡ » +Ġpredi ction +x label +Ġest ab +Ġ gest +Ġn ombre +Ter ms +ĠA SC +ĠW arning +SEQU ENTIAL +Ġf o +ag ers +Draw er +xa e +Collect ors +lcs Status +l ane +m aybe +and ra +igu ous +Ġp aint +os c +AC L +Ar m +COMM ENT +k m +* )( +Al tern +l x +st ere +Ġport al +çķ Į +ac cord +ãģ Ŀ +ç ģ +Ġin strument +æĥħ åĨµ +T enant +X L +IC O +ĠBe fore +ĠHel p +A ES +ib us +h ren +Ġj ed +EN U +C irc +ĠN av +ps z +ĠBuffer ed +Ġr ing +toHave Been +top ics +term inal +Ġquick ly +te ams +C y +ĠCon tract +å¿ « +npm js +T rip +j ump +Per f +Ġexec uting +ex act +Un safe +Upper Case +Y S +ĠF I +ĠG ood +ance led +Ġar bitrary +SP AN +] ** +str y +Set ter +match er +BO DY +Ġ ---- +Ġme ant +ãģ ij +Tr ait +draw able +Document ation +il a +and a +ĠEx ternal +RE SOURCE +Contract s +r ices +Ġg c +cus sion +={ ` +ĠAn alytics +J T +mail to +Ġvis itor +dump s +P ose +ë§ Į +E G +Ġcom bined +}` ; +Ġa i +Ġl v +ĠM obile +no op +Ġbu y +Ġknow ledge +li e +án ÃŃ +A ck +ell ig +Ġwas n +Ġde serialize +Test Method +e ah +ow l +est er +Ġbe hind +pat ient +st reet +Ġgraph ql +sel ves +Ġ å¦Ĥæŀľ +Rem oved +ìŀ ¥ +ĠT X +dd y +ĠPar am +å·² ç»ı +Assert ions +ĠS ound +Ġdig it +W HERE +ad vanced +qu it +ĠPl an +ĠFeature s +å®Į æĪIJ +B roadcast +Ġt abs +es i +å¼Ģ åıij +è¶ ħ +P iece +Ġp ing +cor ded +CR IP +åıij éĢģ +============ = +de serialize +Ġwh atever +e i +| { +Ġmechan ism +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +NA P +b irth +g uest +Ġ" ." +m ongo +Ï ģ +DE L +æ¡ Ĩ +tr ade +Ġal s +Ġk h +vi ation +ali ases +RE N +ĠTh u +LOC ATION +Ġc ame +Dis card +un ge +Ġe mploy +Ġ"# { +Pers istent +ufact urer +Ġin ventory +ext ended +ä»» åĬ¡ +æĬ Ģ +A sc +How ever +ĠREFER ENCES +ĠC P +Ġun able +b roadcast +Ġw elcome +ĠD ay +rupted Exception +Ġg as +sol ver +pl at +ve al +Ġsq rt +D lg +ame s +pc ion +Coord inate +å®ī è£ħ +E V +c ab +pro duce +à ² +ble ms +ĠAss ign +ac ji +uto ff +Is Valid +P ID +T abs +Ġh ouse +ĠOR DER +ĠP a +Ġre load +(' @ +__ / +Me an +Ġí Ļ +Ġear lier +" }; +s is +Ġt enant +Ch an +à® ¿ +r h +Ġr u +Mock ito +N g +Ġs aving +(). __ +track ing +ĠSte ps +j en +Ġsub str +check er +>> >> +ĠA x +á» ĩ +Ġdecl ared +COM PI +ĠSPE CIAL +View Holder +inter active +Change Listener +ah a +plo ts +Xml Element +Ġan t +play list +Qu ant +ĠSe gment +å Ĥ¨ +Ġp df +ĠC ity +ĠB ot +Ġen c +PR I +n fs +train ed +> $ +ĠR ot +Ġk o +App s +Ġorder ed +seto f +on a +Ge om +x ac +æ ¥ +Ġco efficient +Ġup stream +Ġseg ments +aaaa aaaa +Qu ote +Atom ic +k kit +check point +Ġco uple +TEMP LATE +len ium +éĢ ł +definition s +C X +Ġpri mitive +âĢĵ âĢĵ +__ | +T B +Neg ative +Sh ip +sing leton +long itude +ab y +Ġassert NotNull +ĠCh ild +Ġres olver +book ing +Ġw arn +Pro viders +Ġf allback +ter ra +c ion +t ac +ĠB US +Ġse aled +ith metic +iv a +Ġpro viders +ere quis +Se quential +ç¼ ĵ +Hash Set +Ġk otlin +æŃ ¢ +éªĮ è¯ģ +Ġr is +Ġpl aced +ĠCon n +à¸ Ķ +å Ķ +me l +ue de +ĠS TY +State Exception +Ġdon nées +P NG +T odo +ĠC G +ĠDIS CL +x html +mp i +ĠS park +In noDB +ĠU TC +ĠC OT +ve z +Ġdec ision +x fer +Com bine +Le af +CA DE +Deserial ize +est s +¹ Ħ +Direct ive +ar is +Ġthe ta +Ġse quences +Ġle d +format s +AT OM +Ġindex es +Q R +ĠL eg +Ġc am +mp eg +sh ipping +ĠSk ip +PROC ESS +O Auth +d an +P referred +ĠG rad +ĠS K +čĊĉ ĠĠĠ +currentTime Millis +Ġ* >( +BIND ING +ĠH ead +Ġper fect +WAR D +WAR N +Ġdown loaded +Ġspecify ing +Ġìĭ ľ +W AY +Ġal gorithms +mit ives +ìĹ ¬ +R oll +T re +b ulk +Ġ' {} +Ġhelp ful +c in +ĠSh ape +. ` +ro b +SE CRET +Ġk ube +è¿Ļ éĩĮ +id l +;& # +ç ² +ph y +Ag gregate +r ss +v f +sp h +all Emoji +F lex +ĠBus iness +T xt +W ave +Ġoff icial +Ġobtain ed +C VE +ĠN A +Ġsub set +ĊĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠ +document s +ipel ines +Ġ' \\ +j f +Hand ling +ĠCheck s +ĠBig Decimal +Ġm agic +ãĥ Ŀ +Ġdetermin istic +M usic +å½ ± +Compat ible +ç ĭ +re views +Ġs ites +ĠRe fer +c les +ĠR PC +Rec order +íĻ Ķ +Ġs r +Ġu u +é¦ ĸ +Ġsob re +D ummy +is Required +hyper link +m ay +Ġ" $( +ell a +b ill +Ġ$ @ +Ġ[ ![ +Bu ffers +ado res +Ġsl ug +Ġt a +ct ree +k d +Ä Ĺ +Back Color +x or +co t +Ġlocal Storage +%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% +l am +in ja +as a +Dis covery +DebuggerNonUser CodeAttribute +Iter able +GR APH +Ġ( ~ +un recognized +Target s +T OT +| " +at en +il ine +") -> +Ġgener ating +ç o +An alytics +Action Listener +Gener ation +Ġfind ing +PARAM S +F AT +tr ansparent +Table Row +ic he +Ġman ip +ĠH ub +is Null +semb le +toHaveBeen Called +ro utine +id os +Con cat +ä» · +Ġde coded +ç» ľ +Go al +Q P +Ġ' ,' +register ed +D st +S ampler +x ce +um ing +ST OR +linked in +Match ers +C MS +P rom +Ġì ¶ +local Var +Ġfunction al +Ġbu ffers +ĠP ers +as is +set Title +ĠN eed +Service Provider +è®° å½ķ +u w +ch oose +FO RE +ĠA RR +ĠH and +ãģ Ľ +pri m +pk t +ĠURL s +Ġ ĊĠĠĠĠĠĠ +ĠS ent +ĠD irection +ĠInt ro +Ġg ui +aur ant +r at +Ġal most +Bind ings +CR YPT +ĠI T +OR IZ +ĠBind ing +est ing +fl are +æł¼ å¼ı +èĩ ´ +F oot +ort e +ĠPRO F +ĠIP v +Ġol der +b enchmark +An alyzer +Ġbu mp +ÃŃ c +$ \ +D H +ĠDim ension +Ġê µ¬ +pa lette +Ty pography +访 éĹ® +ĠAn alysis +z el +Ġo g +As pect +Ġdocument ed +an h +Ġn u +Ġg lyphicon +ĠL ooks +id le +åĽł 为 +- ${ +s bin +assert That +FE ATURE +Not Empty +C ube +qu eries +x j +ab it +ĠL ib +stand ing +ĠD r +vert ed +ĠD emo +ĠM ail +ĠF AIL +py plot +D NS +Ġimplement ations +au ge +( # +/ < +Ġkö nn +ĠCHAR ACTER +Pres enter +Ä ĥ +Ġpro f +ush ort +ঠ¬ +ç½ij 绾 +temp erature +(& ( +AG ES +Ġm ul +ü n +Ġax es +Coord s +ul ations +cri min +? ** +f our +RO LE +è§ ģ +bro ker +Ġk ill +Ġtrans formation +ĠĠ č +ĠC ASE +Ġme mo +ĠId ent +èĩª åĬ¨ +ren a +Ġfilter ing +ĠâĶ ľâĶĢâĶĢ +Ġregist ers +Ad vanced +ĠDE F +ee e +Ġa mp +Ġ* __ +Ġplatform s +Ġinter act +J ul +re start +lo dash +dat ac +S q +Ġre asons +as n +Ġ$ " +DE SCRIPTION +set Property +u arios +re spond +el apsed +еР· +W s +ĊĊ ĊĊĠĠĠ +Ġb enchmark +Ġm usic +ĠPub lish +Tr aits +L d +ĠLo op +Register ed +C s +de velop +stri ctions +S aved +Ġend points +Example s +Prot otype +re search +ĠD iv +ak o +Ġre curs +Ġen cryption +Log ical +ä¾ Ŀ +Activ ation +H old +i ri +} ], +st m +Ġgover ned +od a +ĠP at +ĠN u +Tr uncated +INIT IAL +Condition s +unknown Fields +éĸ ĭ +P ager +ENABLE D +Ġstart Time +K V +st yl +ĠUn ity +Ġt reat +De ad +Ġm oney +è¾ ij +In strument +AS C +Ġform ula +ê ·¸ +ĠP UBLIC +å¿ħ é¡» +n at +id ades +ac i +app y +Ġiter ations +re moved +ĠA rc +system s +Ġa udit +E s +Ġb le +author s +Ġsepar ator +j u +ad c +Ġespec ially +Ġor ders +URE MENT +orre nt +Sc enario +pth read +gp io +ass istant +ĠM sg +Ġav atar +E v +ON SE +ma le +g ar +çĻ» å½ķ +Ġ/ ^ +Blue print +pent aho +'] )-> +ma z +ĠInt Ptr +Decor ator +z ax +Ġ" {{ +sp ath +Sup plier +Ġh l +class method +check s +ĠDis able +Bl ur +AS CADE +TO M +limit ed +k at +Ġa ck +ĠCON SEQUENTIAL +éĢ Ł +CA ST +ed i +lev ation +Ġsubmit ted +n ie +gr p +è į +n py +Ġ[ < +L j +Ġ------------------------------------------------ -------- +Ġs orry +get Resource +am en +æīĢ ä»¥ +ĠE very +se par +unc heck +ĠIN DIRECT +å¤ ī +ent r +ä¿Ŀ åŃĺ +merc ial +Ġf loor +! . +t it +ĠM esh +Buffer ed +Value Type +å± Ģ +Cap abilities +Ġl n +čĊč Ċĉĉĉ +Pro cedure +non ce +Ġam ong +ĠField s +() - +Let ter +Ġf requ +ĠE igen +Ġnormal ized +a ug +d ro +Ġ-- > +Th rough +bit Field +](../../ ../ +Pixel s +as pect +Ġb c +è® ¢ +注 æĦı +s he +Ġhost s +é¢ Ħ +Callback s +get Parameter +e o +CHAR ACTER +ĠEng lish +min or +S olver +Ġcover ed +ĠBad Request +T AC +tr ap +Ġaccess ible +Ġhash Code +ut a +PE D +Post s +ĠAb out +al ter +Ġs sl +åĵ į +ĠL ive +pro be +< _ +Ġnew Value +ĠAuthor ization +unt il +Check box +Ġins pect +implement ed +ĠLE FT +Ċĉ ĠĠĠĠĠĠ +x ad +im ag +EX PR +ĠFix es +I Q +Ġus uario +l ag +× Ķ +CS V +è¾ ¹ +bl ur +å®ŀ ä¾ĭ +Th ree +L n +Ġg ene +game s +ĠSTY LE +sc atter +Ġdi agnostic +Ġreg ions +以 ä¸ĭ +âĶģ âĶģ +ÑĤ ÑĮ +ic an +is se +Ġinsert ed +Ġent re +Work ing +Mac ro +V ault +Ġsol ver +è´ ¹ +K R +e j +ĠSh are +FOR CE +å·¥ ä½ľ +s an +æİ§ åζ +åΤ æĸŃ +x ls +j est +Ġch an +ìŀ ħ +ê n +Ġre ward +ĠF ill +Call s +Ġkönn en +B id +Descript ors +ĠL ED +ãĤ § +ĠTrans fer +ft ime +Ġconc ern +ATE G +æĿ ¿ +me th +Ġp oll +Ġm v +Ġen s +ĠComp uter +Ġf rag +ine se +ĠEST ADO +coord inates +Ġ' ); +Ġo dd +Suc ceeded +J ump +ab ort +git lab +] ]. +Ġsh utdown +Proto s +serial ization +ĠReg ion +luc ene +en ate +Ġ* **************************************************************** +log ged +RT C +ĠHttp Response +· · +quee ze +Ġ@ { +ĠA DC +对 åºĶ +ĠD ig +sc enario +ĠStart ed +B enchmark +li o +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ +ĊĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠ +× ľ +Ġdeli ver +l abs +ĠP od +of s +vis ions +ĠEvent s +xxxx xxxx +P ur +Ġstop ped +build s +ĠLO SS +du k +Source File +Ġc ool +Ġf ood +SE ARCH +Start Time +BIN ARY +sh uffle +AS F +Ġpop ulation +ĠDepend ency +¡ ° +Î » +Ġas c +se qu +ic ast +bin s +e lectron +Ġ" :" +Ġin i +(" : +Ġan aly +ì² ´ +ĠA rr +Res olved +и Ñĩ +zax xer +"> ) (), +re ceipt +B X +é c +Work s +ĠProb lem +V oice +Ġ' .$ +($ ( +dig its +ĠSpec ial +Ġa vec +W ay +Ref lect +',' ',' +COMP ONENT +(" ") +ĠF oo +Ġcomp ut +No thing +Pos itive +GL IGENCE +Ġs rv +Ġdo or +åľ º +ĠOr acle +U tf +ãģª ãģĦ +Nav Bar +en umber +Bl end +Ġb ring +pl aintext +AL I +ĠCON ST +short cut +ĠGame Object +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ +________________ ________________ +' / +oo g +D ll +in n +de velopers +C os +Media Type +D uplicate +__ ": +Ċĉĉĉĉ Ġ +inter op +img s +Sp ell +anno unce +C ut +Ġ[ % +se ctor +ile ge +Ġpat ient +à º +En ergy +ĠAS F +UT ION +M z +DB G +ar able +err er +cont inu +'] ] +ĠÑģ л +Ġmaint ain +ìĿ Į +Ġw all +ĠN avigation +ĠRe gex +Ġder iv +s anit +ch allenge +Ġfile Path +Ġí ģ +iver se +Stream ing +el a +Ġgener ates +Ġmov es +ĠC alled +os o +Tr ust +ceed s +T AB +En coded +æĺ ĵ +Ġb odega +Ġcl usters +á ¹ +Ġgl sl +ĠC V +Ġìĥ Ŀ +C redit +w f +Ap pearance +Py x +>( < +èµĦ æºIJ +Ġtr ust +Stream s +* +al ax +Ġd ates +Con current +Ġcomp uting +Ġë ķĮ +det ach +Attr s +ain ter +Ġcomp ression +Pl ain +! ) +ĠS ol +ĠP acket +uble shoot +Sp ot +ĠMod al +Ġsit uation +p ac +ĠE SP +ĠAD VISED +parent Node +R AD +en de +Ġm ás +get S +Ġ ĉĉĉ +in str +Fore ground +terra form +H ouse +Watch er +re ed +=" @ +ĠIn s +format ted +åĽ Ľ +Ġf req +ĠC ancellationToken +ĠF ollow +lo ut +ve edor +ìķ Ħ +ĠS IG +Ġê² ½ +P x +r q +× ¨ +Ġde sktop +($ { +Ġup loaded +set Data +`` , +Ġ Âł +com bo +Ċĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉ +CLO SE +Pat ient +ĠM AC +Ġres ol +AT ER +Ġj avascript +d aily +sess ions +ĠSP DX +G a +ENT ITY +ĠSub ject +åĬł è½½ +¯ ¸ +In jection +Ġ` _ +get Parent +Or Null +ç» ´ +Ġs ix +Ġo mp +ĠM ask +Ġfr action +Ġsl ider +red ient +{ }; +Ġex planation +assert Null +do or +Ġaff ected +Ġre nd +Ġcap abilities +ĠC riteria +cl usters +REF ER +Ver ification +C am +AI MED +File Type +ĠED IT +HttpServlet Request +Ġ# ' +å¦Ĥ ä½ķ +Ù ĥ +get X +ãĢ ĭ +config ur +SM ALL +Ġrecent ly +ãĥĨ ãĤ£ +åĪĿå§ĭ åĮĸ +ãĥ ģ +Inter op +f y +Ġb und +ĠR aise +FIL ENAME +Ġf ault +Re ject +WE VER +in p +Ġw ants +k p +set Enabled +ĠG O +class ifier +客 æĪ· +ĠPOSS IBILITY +code gen +align ment +L azy +an ion +Ġc ipher +Al ter +Ġgr ant +M j +ĠSm art +ĠSU CCESS +Ġk om +Ġpar agraph +An not +ä¸Ģ äºĽ +Org an +Ġn ie +ce an +Qu ad +и к +ĠFl ag +m ol +Ġ* )( +L IGHT +Data Table +ĠSub scription +åİ Ĩ +ass andra +Tr uth +Ġover all +=> ' +install ation +Ġdescri bes +F riend +d bo +re ward +al arm +ĠComp are +- & +M aker +bound ary +P ARE +ĠI I +ĠF ake +Ġen crypt +Ġatt ention +Ò Ĩ +ĠP ur +Ġget User +find All +ba idu +Ġident ified +ĠByte Array +æĿ¡ ä»¶ +Ġa ug +ĠP TR +Ġc ritical +z ier +Contact s +* \ +s nd +ĠS yn +ĠIt ems +Ġt il +Ġde coder +Per form +W W +l or +commit s +Ġdevelop ed +Ġleg end +accord ion +ĠT ile +ĠAdd ing +ĠS D +ĠAct ual +Ali ve +H Z +Ġpro posal +ĠSystem s +Ġte ams +in form +set OnClickListener +Ġch rome +Un iversal +tt l +Ġcap ital +Ġencounter ed +b v +æ § +LE CTION +callback s +r z +Ġ{ }); +Ġa ware +Ġse p +we ets +Require ments +ëŁ ¬ +ATTER N +Ġr d +两 个 +m ir +al er +>& # +Primary Key +QUE UE +i ction +o y +q c +ĠM C +çļĦ æķ°æį® +ĠBUS INESS +D IG +f all +p as +ĠV ari +Ġwhen ever +Ġ quest +App lications +ph ysical +æľ ¯ +ë ¬¸ +ĠL ua +ĠArgument NullException +оÑĤ оÑĢ +ĠA ir +Ġpop ulate +ĠS plit +ĠPh one +Ġread able +Ġfl ask +fix tures ++ ---------------- +x m +¤ ij +ĠC art +ĠC Make +Ġinter active +dim ensions +IMP L +ĠAv ailable +éŁ ³ +n en +om i +ãģ Ī +unit test +ĠHO WEVER +Ġy o +ãĤĪ ãģĨ +Ġc redit +олÑĮз ов +F und +ĠS ame +h op +Ġ%} { % +Bound ary +and er +quantit ativo +H alf +Ġp f +Ġp aste +ĠC ross +ภ§ +è¾ ĥ +Scal ing +ĠSc roll +G ot +D ollar +Ġpan ic +da emon +Ġmac OS +) ') +: {} +ĠL at +={ ( +Chunk Name +rott le +EMPL ARY +c ve +ĠB et +Func iones +иÑĤ е +ĠSerial izable +() + +Ġaccept s +Ġnavig ate +Ġhe art +Field Type +ĠTest Case +Ġill ustr +es c +Ġein er +ĠIter able +Ġretrie ved +C ause +Ġn ight +mark up +}} "> +ĠGL enum +Ġbr anches +ĠS A +inal g +ir an +Ġr id +ĠE ffect +! '); +K e +Ġv im +sp ell +field Name +IGN ED +ç ¶ +c riteria +); // +ĠD id +ĠD MA +ru it +å¿ħ è¦ģ +Ġview port +Ġoper and +ĠPROC UREMENT +æ ļ +get Column +ist er +Ġgu ild +jac ent +comp iled +ĠSUB STITUTE +run s +sl ack +ĠStruct ure +ĠEX EMPLARY +Ġda emon +bru ik +L ens +h or +ĠC Y +if ul +ĊĊĊĊ ĊĊ +ĠHe alth +PRE FER +ĠA CT +$ (". +Q T +Q i +ĠTHE ORY +' /> +J an +ë į +st rength +lic ated +DI ST +Ins pector +Ġìł ľ +Ġt k +Ġdi gest +éĺ Ł +M u +ĠI ss +enter prise +parent s +DECL ARE +K nown +f ord +ĠR ust +ro cket +ro uge +() " +ãĥĩ ãĥ¼ãĤ¿ +r an +Ġg ain +Home address +_ | +ut ive +Ġn an +ĠRe ader +ĠUp dates +Ġwebpack ChunkName +Ġc in +ur b +Ġl ap +Form ats +ا ÙĨ +Ġevery one +Ġs aw +Ġl r +fig ur +Runtime Exception +f q +Ċĉĉĉĉ ĠĠĠ +Ġnot iced +plus plus +ä¹ ¦ +Over view +â Ĺ +ãĤ ½ +ler i +man ent +Ġscal ing +ĠINTERRUP TION +at ches +Ġpacket s +Ġs dk +Ġin tr +initial izer +ек ÑĤ +/ \ +Ġd ensity +Ġhe ading +Ġhas attr +ìĦ ¸ +c j +Some thing +Ġsyn apse +C as +e ql +v iz +=" < +ĠP RE +set Item +Ġtri p +HAND LER +ĠCA USED +Q S +R ob +ĠT AG +ug o +ĠHe aders +Ġrect angle +ĠR AM +Message Info +Ġì ļ +Bad Request +ĠOB JECT +ff t +jo y +F d +Y ES +c ad +Ġ- & +ĠG RO +Ġcheck sum +Ġimplement ing +å·¥ åħ· +.. \ +arch itecture +lib c +>{ @ +co lo +Ph ysics +Ġfore ign +Ġper haps +ĠAn imation +sv n +Ġ~ /. +Ġside bar +implement ation +% ); +Ġf air +err it +NO RE +Ġ čĊĠ +ĠG C +fil ing +{- # +ant age +Ġthink ing +leet code +Ġin verse +Thread Pool +ìł Ħ +In herit +oc c +ĠìĦ ¤ +ĠDat en +En crypt +Check s +ĠOPT ION +U IT +Ġ*/ , +ĠSTR ING +èĮ ĥ +et ic +Ġlet ters +Index es +Ġcopy ing +Ġe ax +Ġorder ing +Ġmode s +TA IL +gener ation +Ġwrit es +Ġп еÑĢ +EE E +Ġm as +Temp erature +PL Y +ĠClo sing +S HOW +St and +ĠCont ains +T ail +ATION S +[$ ] +Ñħ од +P or +f id +v ui +ĠG ateway +ld ap +ĠDes erial +PLAY ER +Ġ čĊĠĠĠĠ +ĠP Y +Ġsup ply +s ms +Ġ á +er i +b illing +Ġ" {} +present s +ĠRem ov +Ġguide lines +ĠD ir +ans ible +ç» Ń +Web Socket +ĠImp ro +C andidate +a os +Ġb box +sub mission +Al bum +Ġpost gres +ĠHttp Servlet +USER NAME +S olid +d ca +red ients +Å Ħ +Ġf unk +Ġse ar +VE CTOR +но ÑģÑĤ +Ġw heel +ĠInst ead +mk r +c argo +Ġtw ice +SS H +Ġtemplate Url +('/ ', +I i +ĠH ey +g x +Ġref actor +bc m +N Y +t up +ĠG P +à¸ Ĺ +Tri angle +Ġsol ved +{ @ +Ġc ada +ĠW ORK +wh o +ÑĢ Ð¸ +Part icipant +ĠComponent s +e in +ine craft +hold ers +ue vo +To Props +Ġare as +Ġerr no +Ġop code +ĠS afari +ãĤ « +Inter rupt +è IJ +Ġ ĊĊĠĠĠ +ĠB CM +Ġi x +N m +oo oo +ĠLo ading +se x +ĠS ys +che f +T Z +Ġcon versation +con version +A st +g ain +s int +val or +> ()); +z x +ul ary +ĠS cale +ĠS cience +Inter pol +Ġsee ing +Cap ability +Ġp v +duc ing +ĠM ost +ĠValid ator +ĠC U +Ġem bod +Ä « +Ġë © +ĠCO M +math bf +Q A +S ing +c amel +uc le +inter pol +c rc +d q +t icks +Un ix +H IGH +P al +/ ******/ +< & +ĠZ ero +ĠL td +ĠB i +col group +LOG IC +ĠA I +ST Y +Ġ{} '. +Ġ? : +ĠSign al +ĠIN IT +Ġpart icle +B io +que lize +ç»Ħ ä»¶ +experiment al +> ): +R ATE +è® © +Ġraise d +d ur +Ġf lip +Form ation +start ing +Ġtransform s +Ġpick le +: ]) +n or +Data GridView +ific ar +Ġfail ures +postgres ql +Ġcomp utation +S phere +="# ">< +áº Ń +.| __ +A rena +ĠName d +EXTERNAL SYM +Re comm +ceed ings +AMP LE +ìķ ¼ +V D +n w +ì ħ +Fac ade +Ġìķ Ĭ +ĠH istory +sol ve +ĠOn Init +Ġunderstand ing +ĠR oom +Logger Factory +S ale +S END +ask ell +py torch +z m +im iento +ĠP atch +ĠR F +å¸ ¦ +Conf lict +ĠF FFF +ĠIn f +æĸ Ļ +ĠAct iv +Ġp uede +ing u +æī į +tri bs +user Name +ĠP in +å± ± +ĠD art +ãĤ ª +cip her +d ense +'' '' +Ġreg ard +Ġpag ination +ĠWR ITE +F our +al ib +d ue +çĽ ij +Ġdat as +B ill +ĠM Q +Evalu ation +A jax +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ver ified +Error Kind +ä h +Ġalign ed +ĠDISCL AIMED +s imp +y b +ad apt +to ur +os cal ++ \ +Ġs at +riv en +start up +embed ded +Ġsuit able +ff d +y k +let able +read s +ĠJ oin +cre ating +get Status +click ed +Ġmut ation +ĠPer form +POS ITION +ALIST P +å· ¦ +IFI ER +: , +Ġd ro +us c +et ype +Mark down +RESP ONSE +Has Been +ĠResult s +- _ +co eff +Sh utdown +web socket +ĠCre ating +ĠSerial ize +Range s +Ġí ĺ +ongs To +ĠIS O +ठ¾ +dig ital +ãĤĬ ãģ¾ãģĻ +C op +el m +J ohn +g v +is sion +ht able +pri mitive +D em +æĢ Ŀ +c err +y ll +get State +get Bytes +={ } +Ġgame s +ĠId entifier +Ġca using +Ġpossib ly +=" $( +New Line +Ġintro duced +Ġin ternet +Ġde limiter +erm ine +Ġexp onent +wr ong +P ic +ĠG od +ant a +yst ick +Ġsp in +send Message +Game Object +ĠScal ar +erra form +Ġshort cut +E le +E lastic +W nd +] ]; +re dd +he matic +Ġn l +get Object +De p +gl m +Ġdec ide +âĢĶâĢĶ âĢĶâĢĶ +r k +ck o +ĠF E +Ġcol lapse +Ap ache +Ġsubmit ting +s ampler +Ġl g +sign up +ç» Ĩ +Ġdraw ing +en z +-> " +è¯ į +ĠW ed +what wg +Ġt bl +ĠIn ject +Ġcom m +doc utils +Call er +R V +f ifo +ç ¯ +S parse +l ifecycle +screen shot +T ET +w iz +Ġ Ċĉĉĉĉ +get Client +ĠSV G +D G +Ġkernel spec +icult y +§ º +Ġem o +åĢ ¤ +pro of +WN ER +ëĬ ¥ +á Ģ +Ġt em +Ġwh itespace +ĠCol lect +">{{ $ +h ol +(' ../../ +å¦Ĥ ä¸ĭ +Ġplay ing +ĠSign ature +说 æĺİ +ut t +ec x +m igrations +TER M +Append Line +dir ty +k ubectl +at ie +Ġ[ @ +ĠN a +ãģ © +ĠRe p +Ġ~ / +æľĢ 大 +H AVE +h en +match ing +ا ر +缸 åħ³ +ĠRet rieve +Ġp ul +Tr aining +Group Id +EXT ENSION +Ġcó digo +Ġge om +ÑĪ Ð¸ +Ġ iz +access or +åij ¨ +n orth +Cont ainers +Ġâ §º +math bb +L ife +P ing +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ +"} ]} +Ġdetermin ed +> ") +ak ed +arch ives +cho ices +W heel +Out come +Start up +Ġpost Index +sub net +war ded +Ad apt +Ġenable s +DEFIN ED +Ġt ries +Ġn atural +ir s +AC COUNT +Buffer Size +ĠVariable s +Ġf avor +Ġj wt +Ġget Id +DE CRE +Av g +A ware +Sp inner +FOL DER +w Y +Ġbro ker +ERN EL +Y ii +ut y +Ġa y +greg ator +à ¹ +ĠGet ting +ĠBl ack +Ġd raft +ĠB reak +iter ation +> ); +re serve +} ${ +Ġcl Set +Met er +ich ael +IF ICATION +n k +Cont ain +Tr an +min ute +I j +U ART +w elcome +ĠSub L +cons ume +å¯ ¾ +Edit ing +li min +ĠW S +... "); +ĠState ment +Ġì§ Ģ +åı ¥ +mac ros +Pag o +Ġcapt ion +S ynchron +S ymbols +a ad +st udy +H K +Ġr isk +Ġcontent Type +åĩ ł +y ond +Ø ´ +ĠD T +Ġm achines +Ġap lik +Ġserial VersionUID +Col s +cs i +è¯ ¦ +SC REEN +ĠComp lex +Ġsaved InstanceState +lcs Setup ++ $ +S ocial +s se +Ġre positories +ĠA SP +per centage +dis pose +ins ide +zz le +ĠMod ify +Ġin ser +Ġg ulp +M ARY +it ar +Ġv en +O m +ĠP anel +æŁ IJ +z c +ĊĠĠĠ ĊĠĠ +Ġtr ailing +Pro f +De leg +AN K +fl ight +m apped +ĠEx cel +Ġfl ux +an on +Ġ= ================ +Ġb p +**** */ +predi ction +erequis ites +Ġs andbox +qu i +é es +es Module +B IG +S OR +SC ALE +aut iful +Ġw rote +ĠL ANGUAGE +н ой +ÅĻ ÃŃ +Ġaff ili +ĠImplement ation +in cluding +Ġw ww +æĹ¥ å¿Ĺ +Ġan swers +ant idad +Read ing +range s +ãģĮ ãģĤ +sil on +h anced +new command +ä¸Ń åĽ½ +seg ments +Ġintro duce +:::: :::: +global s +grid BagConstraints +W K +is hes +sp aced +Cont inu +Int Array +ĠErr Invalid +Ex clude +Ġurl s +warning s +d uplicate +g son +| ' +Ġdata Source +export er +è¿Ļ æł· +ro g +ĠD ashboard +po ssible +Ġac cessed +entic ator +poly gon +ë ĮĢ +Ġst ay +Ġoverride s +F UL +Ġto k +ID X +################################################################ ######## +m ate +(/ \ +deb ian +read ing +ne cessary +ALPH A +LIBR ARY +b ab +ĠB log +ĠVR Type +Ġl ift +æ¡ £ +Ġwe ather +ĠZ ERO +Rem aining +k bd +it Ãł +ense mb +atom s +normal ized +ĠG ENER +ĠPro ps +ile stone +Ġ\ < +Default Value +?> " +Ġextract ed +Ġbu ff +ffic i +! ', +P oll +l us +fa q +½ Ķ +ĠR UN +ĠEx change +Ġtool bar +Initial izer + +an z +Ġp ushed +In sets +ĠD S +д а +Ġpoly gon +id ers +Author ity +de vel +ĠM utable +][ < +ĠìĿ ¸ +J ar +FI FO +Pre cision +(* ) +Bar rier +A rial +¡ ãĤ¤ãĥ« +at on +li braries +Ġde dic +to ctree +set Color +IL ayout +local Storage +Ġsc anner +ç¾ ¤ +bu kkit +ภĦ +agent o +fold ers +P ai +ĠS hell +ĠVER SION +ĠI gnore +ç»ĵ æŀĦ +Pers istence +Ġschedule d +w al +Ġv ote +Ġ` ( +eng lish +fin der +SNAP SHOT +H N +>/ < +get Y +Class Loader +ĠPR s +Ġsk ipped +ä½ľ èĢħ +abe led +p aste +y ing +Ġm ist +Ġis Valid +Ġwork ers +Ġver ified +ë¡ Ŀ +pro metheus +mo ke +Ġbound ing +ĠFire base +assign ed +appro x +A utor +ภ¢ +DIF Y +Ġsp acing +Ġcell spacing +ni ques +Ġr ust +ë¶ Ģ +Ġs en +end points +Ġpro j +Ġin voice +ĠT rigger +Ġ[ [' +im ap +Ġlet s +Ġlook ed +Im mediate +eli hood +re aded +ĠSh ader +Ġcoll ision +In variant +Te X +PROTO COL +Ġk ont +*) & +Ạ¥ +Framework s + » +es m +dd d +Get ting +RO UT +Ġerror Message +str ar +dpi Mode +ach in +Sl ug +ĠPort al +with in +STR ONG +navig ate +D AL +æ° ´ +sur vey +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +le ccion +Ġlist ening +Field Name +Ġë° © +ı ¬ +be havior +Ġ] ] +S at +w ers +Ġs park +Ġar c +Ġs lots +SE CTION +cr on +sn ippet +m F +Tool Tip +Ġ'- ' +Ġo ct +ĠC F +Ġend raw +sl ave +hel m +rx js +P retty +j n +ĠE T +Pro tection +}, " +Ġë ĵ +Ġpl ug +DAT ABASE +m ot +Ġre cv +Ġm al +D TD +p itch +File Info +Ġ}} / +Ġvol upt +ани е +istor ical +P END +i u +ľ ç´¢ +ĠB IT +prop Types +r sa +Ġ( = +Ġu ży +ĠWh ich +ACT IV +p ast +Ġ" ... +i loc +ï¼ī ï¼Į +% ', +Ġinter pre +Link edList +} _{ +riv ial +tx n +Ġìŀ Īëĭ¤ +s ar +Ġdef initely +H yper +T oo +Ġsh uffle +pos ure +pre m +Ñĥ ÑĤ +NET WORK +Ġcheck box +cb c +AX B +` | +z es +ion ic +ĠN avig +ĠR ails +ĠCom munity +% ) +c rt +Comp ression +FORM ATION +Ġfire base +arx iv +Ġ{ /* +ĠI p +Ġe lectron +ĠIN PUT +ä¸Ģ 次 +ç» Ī +RI X +å¼Ĥ 常 +b ene +ĠApp end +alle st +CONT AIN +Ġк оÑĤоÑĢ +ut ures +Ġs ampling +ile ges +Json Object +Ext end +ĠDis k +coord inate +çݯ å¢ĥ +cl r +>> (); +Auto Size +Ġp olicies +ĠT i +ä» ½ +Ġre li +Set Value +Ġpublish er +/ "/> +ĠS ans +Ġup gr +ĠAss oci +Ġb ag +ãģŁ ãĤģ +iv os +pri or +tag Helper +dr v +Report er +Pag ination +X O +q b +Ġan v +ffff ffff +Ġcorrespon d +ĠA ws +Ġdecl arations +p lease +enc ryption +ta u +Ġcon vention +Al arm +Ġmatch er +Ġtyp ed +Ġpro duces +Ġlog out +ĠA B +ends with +monitor ing +I de +g ather +Ġv ulner +Ġsub scribe +inf ra +F il +:: *; +Ġconfigur able +l z +Ġdiv ision +C are +ĠC WE +ir us +ĠR NA +}, {" +Ġd AtA +j ira +al chemy +Order ed +Ġali ases +: * +G round +l ife +ì ¶ +Ġ 使ç͍ +Ġf x +ĠArt icle +ri os +son ic +the docs +Ġassoci ation +Ġf el +Ġde leting +lf w +Ġon Changed +c ertificates +(); "); +ĠO verride +ĠW ould +bad ges +à® ° +à® ķ +fedor aproject +cloud flare +DIRECT ORY +ig er +Auth enticated +Ġme g +ภ« +ĠQ ual +Ġcall able +spec ies +synt hesize +L V +Sh ard +Sub string +am il +Ġk ter +>( & +Ġë ¬¸ +f lix +=" ", +float ing +First Name +Fr action +åŁ İ +embed ding +xabab abab +Client s +gin a +ater al +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ +Ġab c +sk in +Ġsign als +Ġdefin ing +get Connection +quiv o +Export s +Ġpres yn +atic ally +(( - +E t +M IL +Ġch ip +Object Id +ĠAs sembly +Min us +M aint +ĠRe gistry +Anim ator +STOR AGE ++ / +D ense +attach ments +SCHE MA +I k +saved InstanceState +v u +REQ UIRE +DIS PLAY +TIM ER +ir l +Ġload s +ĠWe ight +ĠThere fore +C Q +bug s +PL ATFORM +ĠPr ice +ĠSec ret +encrypt ed +re strict +ĠC md +sp inner +ĠCh ain +Key Down +ĠMe tric +Cal culate +ĠH ard +Ġslight ly +C FLAGS +r ub +M d +P si +et ition +Ġpost syn +Ġest imate +s To +Ġt ur +ĠT y +ax ios +Ġlat itude +Ġcontinu ous +Ġtr ab +% . +Ġs am +bo unce +Ġover view +enum s +ìĭ Ŀ +ĠArr ange +? ', +B anner +Ġd ar +ĠL ET +Ġres ume +XY Z +B RE +m otion +Ġf ive +r abbit +Ġbreak s +dom ains +SING LE +Ġg pu +ST EP +ĠIn voke +Ġdis cord +DI E +ĠSh op +break ing +Ċĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉ +re served +Ġcorrespon ds +m ixed +de part +Ġpres ence +j am +j ure +Ġr ich +og ener +о Ñĩ +ĠNE W +ĠP HY +Ġsome where +Get Current +Access ible +_ $ +} `) +Ġac comp +zon al +Big Decimal +ĠIntegr ation +Re positories +ther net +设 å¤ĩ +C pu +c plusplus +str ftime +ess ions +assert Same +Sp in +Ġsk ill +ç ¿ +z ones +CO ORD +next Int +íķ ©ëĭĪëĭ¤ +A k +Case s +UST ER +sp atial +ĠB ro +ET H +ynam o +md ash +OT O +room s +Ġstr aight +Ġqu is +S CH +ad i +com bin +ĠB er +Comp arer +Ġparent s +S ibling +!! ! +C e +Ġz ur +VAL UES +Ġreceiv ing +ä» ĭ +Ġ"- " +\+\_\+ \+ +ĠMis sing +y ii +Ġt im +TE L +J OB +M ID +Ġinter section +ä¸ĭ è½½ +' < +link y +S park +n ical +Ġre cipient +String Builder +Ġpre CellId +ĠSer ies +Ġpost CellId +åĨħ åŃĺ +DECRE F +Ġpresyn apticPopulation +Ġpostsyn apticPopulation +> ${ +Ġ( + +Ġg i +çļĦ æĺ¯ +start Time +Enum s +mg mt +Ġscr atch +: ${ +â Ī +eb ooks +Le arning +P df +ĠT F +Ġse u +av ail +Ġ*) & +Ġsup posed +ĠT M +ify ing +Ġac quire +ĠAR M +H ar +ex tras +ĠT ri +av adoc +Ġcomp ress +Qu eries +ĠPrep are +Ġ ------ +is l +Ġexp anded +m h +m achines +X F +Ġd l +ĠIN D +Ġп ол +éģ ¸ +Get s +ro st +ent ropy +reg ions +SP ACING +, \" +C i +th an +nu get +tod os +ffici ency +to Int +Ø Ń +ĠP AGE +per l +Ġx hr +Format ted +ĠTR ACE +c q +'] = +Le arn +æµ · +ॠį +CON D +ĠTime out +ITER ATOR +ASCI I +E H +re interpret +Ġs ão +Ġg cc +Ġ[] ); +) ^ +co co +D Q +cl azz +check sum +Ġass umed +Ġdirect ive +Ġels if +UD P +M es +l inalg +} () +Ġf ocused +An other +wait For +CS R +e ur +ĠB T +Virtual Machine +quis ition +åı ¸ +We ak +Ġdec ided +;;;;;;;; ;;;;;;;; +ç¦ » +ĠE TH +ĠRes p +Gr ant +Ġp ivot +ansp aren +border ed +åķĨ åĵģ +ĠEN V +Ġsess ions +{{ -- +m V +Ġì ° +ends With +å¼ ł +Decor ation +S AL +ĠJ e +Ġdiffer ences +Sk in +Ġo cr +ĠE OF +ific a +Ġgr ab +Import s +H ist +Z F +Ġd up +ĠL ambda +op p +ome tric +it an +ri an +ĠL LC +F rag +Ġde ps +Ġj q +AS M +Ġoff sets +SH ADER +ä¾ ¿ +' }} +ap a +solution s +g is +Ġc ookies +C ATEG +d ifference +Ġassert ion +Ġident ical +ĠInitial izes +m ad +s x +ê ± +ch ai +Ġh ooks +name spaces +ĠUNS IGNED +Ġs ont +G allery +ĠMark down +Ġc ategor +ภķ +VID EO +m ux +Ch oose +аР± +Wait ing +Lex er +Ġinvol ved +H V +p ressed +Require s +对 äºİ +sup plier +L M +o z +å ² +ar ı +int el +Ġdis covery +field set +Byte Buffer +Serialized Name +c N +r fc +it ches +sp ital +ĠIn to +'] -> +bl as +å£ ° +H B +urn ame +ĠIn struction +ill ion +ĠOn line +ĠG a +ĠLink edList +ãĥĹ ãĥª +i ert +ex ion +Br and +ipher al +Ġa ud +Ġal though +Ġpre ced +na ire +Deserial izer +Ġflat ten +Ġf ich +ĠP review +Ġmost ly +ĠS an +dist rict +å¹ ¿ +Ass unto +In ternet +ÅĽ Äĩ +Ġâĸ Ī +is ate +Ġm otion +ĠM a +wait ing +wr apped +cer pt +- ' +c redential +gr ant +л а +Server Error +wo od +C NT +List ing +P id +Ġм ож +ãģ£ ãģ¦ +ĠG B +EN O +SE S +cap ed +ĠEnd point +ãĤ ± +л Ñİ +Ġë³ ´ +ost on +LI K +Ġsupport ing +ĠTH REE +ĠRef resh +h dfs +ĠM ultiple +os ing +n am +Ġcontribut e +m ero +de sk +OT HER +([ [ +Ġdi agram +cap ital +Ġexport ed +Front end +D s +W G +own ed +ãĢ ij +Ġblock ing +ĠAL T +ac ht +Ċĉĉ ĠĠĠĠĠ +è¯ Ħ +")) { +R Y +Ġcondition al +F loor +i per +RO LL +ü m +Ġб Ñĭ +Data Member +read thedocs +Code d +CONST ANT +ĠCUR LOPT +Ġuser Name +ëł ¥ +M n +Ġturn ed +V ote +Ġre pl +Con versation +Ġext ent +' ))) +G PL +ĠO ld +Ser v +Ġk i +ൠį +ensit ivity +Ġv ary +ãĢ IJ +Ġregex p +. : +Ġf resh +ĠK ernel +Ġac company +? \ +c df +Ġse crets +om o +Ġein en +LAY ER +j Button +pr inter +Ġcon str +čĊĉ Ġ +enc ent +Or Builder +sourceLine No +ĠT ARGET +M m +M ux +ç ĸ +ĠA lex +iz za +dec ay +注 åĨĮ +J E +ic ated +ic ken +text s +Gr ay +I jo +Com m +App Data +Report s +H G +H Q +Ġs ind +Ġ& _ +Pro pagation +'] ). +Ġm ent +Ġcre ator +ĠNot ice +æ² » +end ance +Ġmet av +Activ ate +æĻ ¯ +Discard Unknown +Ġg iving +L K +Ġs é +im i +dd b +AG ER +EO A +Cho oser +t ain +ĊĠĠĠĠ ĊĠ +ĠDis patch +scal ing +tw ig +Ġsem antic +å¡ « +b ird +User Info +Ret ention +P AD +] _ +ic as +print Line +tra ffic +Ġfe at +æıı è¿° +q dm +Ġk v +Mov ement +Ġcodigo Assunto +ĠcodigoAssunto Pai +T ube +Z BOT +y ang +=" // +tom l +READ Y +าภ£ +Ġpurch ase +allen ges +M irror +ob server +eg g +转 æį¢ +s peech +Ġv ocab +fr action +ĠWork flow +Ġvisit ed +WH ITE +; ) +B CM +n is +Ġh ierarchy +pen s +Ġcell padding +Ġcirc uit +CL R +g ms +de ck +ff ee +list eners +ĠKey board +Ġke pt +Ver b +HasBeen Set +M ime +client e +Check ing +Ġauth enticate +Ġpers istent +åį ı +ãģ« ãģ¯ +éĹ Ń +H RESULT +st orm +ĠF S +Up dater +pack ed +ëŀ ĺ +ĠC OR +ĠC ancel +PRE C +E asy +Pro files +ä¸ ĸ +lar ı +ADD ING +cook ies +G NU +\ "" +#### ### +Ġk tó +Ġcomp ressed +mov es +M ENU +t weet +Ġh istogram +Ġsist ema +ĠĠĠ Ċ +yn b +Ġcl k +feature d +coll ision +PIX EL +li ps +"> @ +F ETCH +start s +Ġreject ed +pw m +X N +ä½ľ 为 +uent a +Ġìĭ ¤ +Ġv or +Cont ribut +real m +h k +ext ent +base Url +PO WER +Ġsound s +Ġex am +ĠU LONG +Ġdo lo +CO S +emon ic +Install ation +Ġ: , +Ġcol labor +Ġa ä +.. ... +ĠUn ique +du ino +stri pe +debug ger +Ġclo sure +w end +æľĢ åIJİ +rand int +ab spath +Re peated +Ġl u +ĠÐ Ķ +ierarch ical +Ġgram mar +DR IVER +free ze +J WT +Ġì Ĩ +Server s +H uman +Re cyclerView +DE LAY +Ip v +Ġp ressed +are house +Ġcl EOA +J P +c ate +IN ET +ĠEx periment +/** */ +% | +le ge +Ġs ampler +int p +ĠFor ce +Writ able +serv ing +Generic Class +| ** +á ļ +ateg ies +gre SQL +ĠTree Node +H AS +Ġ= ================================================ +ĠS un +ĠT yped +Ġartifact s +Seg ments +s ynchron +get Width +to ast +TR I +å¾ Į +Ġâ ī +Global s +ĠE ither +PL U +Present ation +Ġt iming +Ġre strict +VE C +RAN CH +datab ind +P olicies +st s +ĠF O +fig size +Ġprint ed +native place +Rep lication +d ol +Ġpro tein +Ġas p +Ġpr zy +source forge +PRO FILE +Ñĭ в +ĠCan vas +ĠOUT PUT +ĠíĮ Į +l é +Ġm ongo +get Config +Ġ$ __ +)) )); +op h +и ÑģÑĤ +Trans formation +ĠGe ometry +S u +off sets +Ġpost ed +éĩ Ĭ +edit able +ĠÑĩ ÑĤо +al p +ĠA m +Ġl it +ĠM E +off setof +Ġspecific ally +ac ob +Ġë ² +ah an +Car bon +Ġsin on +ĠErrInvalid Length +q f +ur u +CO VER +Ġë§ Į +< ( +H istogram +Ġg old +Regression Test +ellig ence +(" * +mem set +Ġmod ern +Mouse Event +` ? +Ġn r +ĠGL uint +ĠEN ABLE +. '; +× ª +Ġb all +++ + +Mode s +fw link +G ram +J L +Ġn ginx +Ġin fer +ÑĢ ÐµÐ´ +mem Item +éĢ Ĵ +Current ly +alloc ated +MEDI A +Ġbuilt in +S vg +un ordered +Ġde lla +ĊĊĉ Ġ +Main Window +Ġtech nology +O A +O st +Ġd aily +AN E +red uc +Success ful +Ġë³ Ģ +à ¶ +Ġ& ( +und ant +Dig it +æĴ Ń +j r +dis covery +Generated CodeAttribute +qu art +Ġget Value +Is In +ĠNew s +Type Info +Add ing +Big Integer +h g +q w +Ġst oring +add Child +æĿ Ł +BO ARD +; "> +ĠIn ternational +Ġìł Ħ +Ġ Ċĉĉĉĉĉ +Ġd ont +ĠI V +Ġtyp ings +Ġê° Ļ +ãģķ ãģĦ +yout u +на Ñĩ +ĊĠĠĠĠ Ċ +ĠB ASE +ĠJ ohn +inter action +Action Bar +PO INTER +A pr +d na +ap os +iz en +dat os +Ġ^ = +ä»» ä½ķ +co sm +Ġg uest +R aster +m vc +s ible +im on +ĠD rag +Pro filer +Un authorized +full screen +çĻ ½ +Ġcollect ed +P ATTERN +Ġb ulk +end ors +Claim s +N b +al con +Ġ" } +pl ug +ĠRe produce +IC Ag +vid or +Jo urnal +ar ded +); } +ee per +Av ailability +S un +~ |', +Æ ¡ +tre es +Ġep isode +ise ase +Global Namespace +DOT OMP +ĠP si +emp lo +Edit able +set Id +ĠInter val +Ġre cover +Ġal bum +ĠClass ification +Ġauto complete +ession al +J U +ad in +Ġd ies +sc ue +ĠR FC +Log out +Ġinherit ed +Y Z +ĠH H +ä» Ĭ +std in +Ġtrans formed +Cor ner +Ð ł +Ġt riggers +RO ID +Ġnum ero +We ights +i prot +Ġn ach +set Font +ĠN aN +Ġ'+ ', +Ġscen arios +in ion +in ode +Ġ* > +il ir +Ġfor got +Ġl b +te k +æĺ¯ ä¸Ģ个 +Ñī и +d ings +r idden +re ement +Ġz e +Ġinter pret +Ġt amb +str Homeaddress +æĸĩ 竳 +clo sing +ĠIllegal StateException +Ġprot otype +get Active +stri ped +éĶ ģ +ĠпÑĢ Ð¾ +Ġl ack +е ÑģÑĤ +Ġhighlight er +contract s +ç´¢ å¼ķ +y un +ig a +t iles +v ation +ĠE mployee +date Time +IT AL +ĠTr a +" ', +co uld +ĠR ate +Ġpage Size +Character istic +lo de +Ġan imated +ĠS can +LL U +Ġagre ement +ĠAre a +Ġ är +ĠâĢ ŀ +ĠEqual s +W B +cip es +Ġaw esome +í Į +Ġs ufficient +Drop Down +C sv +E VAL +in de +le ader +Ġv l +CO LL +IP v +{} { +Ġ « +, ) +æ © +AL OG +ãģ¦ãģĦ ãĤĭ +w asm +Ġre n +que t +so ap +Table Cell +R ename +n ak +Ġsh aring +Response Writer +Ġacc ur +ĠDES C +Ġvot re +C ERT +K A +ĠP ag +af ety +Ġíķ ´ +ogener ated +' % +I ENT +IN TR +Õ¡ Õ +Ġb ooks +ĠT ake +Condition al +scr atch +ĠBig Integer +ãģĹãģ¦ ãģĦ +s us +ĠW rapper +ĠDis pose +Con vention +Ġch r +ans wers +aw ay +back ward +mon y +Ġwidget s +Ed m +ĠPar ams +ž e +ansparen cy +co lour +ĠF un +Request Body +Ġm igr +ĠS afe +SETT ING +just ify +ĠTerm inal +L N +le ter +ĠC UDA +ID S +Sub scriptions +web p +Design er +ани Ñı +Ġi e +Ġmin i +Ref s +ĠDes ktop +ws z +Val or +Method Name +success ful +F a +M andatory +r er +ut ors +ãģ ³ +labelled by +C UP +ome ter +Ġspec ies +ĠY AML +B illing +se lenium +og o +âĸ ij +S ong +er al +Ġpre g +KEY S +MIS SION +ast a +chunk s +ĠPri ority +S coped +In form +Ġ` { +Con d +Var i +ĠQ U +è¿ĩ ç¨ĭ +ĠOb j +Ñĥ д +); \ +h v +Ġc make +Ġre write +Ġd yn +ĠE q +DC ALL +Ì Ģ +OR ITY +exec utable +Cell Value +ek yll +H ero +Ġp á +ANCE L +ĠLogger Factory +bas is +ĠCUR RENT +o ssible +error Message +read me +ĠIN ST +MOT E +A mb +ew idth +Le ader +m il +as ı +Product o +Ġhold ing +Wr apped +N z +Ġpro ceed +ä» ħ +äº ij +Ġb ib +... ") +Ġback ward +Ġcons ists +Red uce +Ġæ Ł¥ +# > +par ation +add Widget +éĸ ĵ +Args Constructor +æĸĩ æ¡£ +Ġbe yond +ĠData Type +Iter ation +get Selected +av our +To Lower +Of Type +Der ived +Ġre mo +(" ( +AD S +Ġnon ce +Ġmark up +ced ures +o val +el er +ig id +ĠD iff +eth ere +w izard +Un def +Web View +Mon ad +track s +ĠWork er +s uch +SE rror +éĻ ħ +m z +ind s +Layout Params +ĠSw ift +订 åįķ +achin ery +ie ved +大 å°ı +pag inate +Ġз ап +b ac +Ġ Ñı +Ġp ic +pt ide +A mer +in ar +ĠL ab + *{ +Do ctrine +custom ers +è§£ åĨ³ +Radio Button +get Height +Token izer +Ġmis match +styl us +G amma +ri val +Ġread me +Ġ"\ [ +tr uth +Get Object +]) -> +ĠK on +åIJ ¬ +ĠNot ify +Multip licity +a str +re ordered +ert ext +iter ations +Ġpart icles +tri al +ĠProcess ing +åŁº æľ¬ +Ġid le +ash ing +access Token +Marshal er +Ġf ul +Ġin ference +Ġy arn +ne ighbor +ons or +Ġsub scriber +CK ER +Ġassume s +^^^^^^^^ ^^^^^^^^ +it z +base url +Ġo w +ĠÐ ŀ +Ġconnect ing +Ġevalu ated +Ins ight +S ector +č čĊ +om aly +'] [$ +Se verity +New object +ĠA w +Ġevent Type +ãģ§ãģį ãģ¾ãģĻ +W as +tr ash +åĩº çݰ +Ġre qu +Ġqu it +se mp +ur on +sk u +æķ° éĩı +MO V +Char acters +éĢ Ĥ +F ade +se cs +ut zer +Ġto pology +import s +not ebook +Element Type +REQ UIRED +ĠSto ck +Real m +al ready +local s +Dis posable +Ġs g +Ġm olec +ard en +pre g +Ġclick ing +H U +Ġa ã +ĠCO UNT +ĠìŀĪ ëĬĶ +ĠíĶĦ ë¡ľ +AD ATA +Layout Manager +SUPPORT ED +: & +lo k +ĠR oll +sy scall +se crets +an to +tri angle +" }); +ig s +ĠP ress +Ġ: + +Ġz eros +du stry +call er +ĠTime Unit +ĠM UST +gr a +è§ Ī +Export er +F ood +th m +Ġcon current +Ch apter +func s +éĩ ĩ +T utorial +Ġpro tection +ffff fff +Ċĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉ +Ï Ģ +Comp ress +%% % +åıĸ å¾Ĺ +ĠChange d +å®ī åħ¨ +Y I +Ġs parse +ĠC ourse +Pro tected +Ġk l +View Group +Ġq s +ĠTe le +recip ient +Navig ator +LE M +pb erry +Ġb ins +Ġwe ird +b atis +de ath +Ġf riends +Ġdynamic ally +ENS OR +ĠB enchmark +data Provider +stream ing +ãĥ¼ãĤ · +Ġepoch s +ĠDeprec ated +L IT +k ol +ÑĢ Ð°Ð½ +BO SE +R N +SI MP +Min or +çĤ¹ åĩ» +h f +ĠD an +ph ys +DO CS +Ġplay list +adv ance +% ", +Ġ< : +scri bers +upt ools +A i ++-+- +-+- +ak si +Ġо п +ĠM c +ĠB ank +string stream +has is +Ġpr ze +pa id +iet y +n j +un expected +)) ))) +Ġtri angle +Ġturn s +h um +ri k +Ġhe ld +åĬ © +ĠA ES +Ġ@ _; +pert arget +open shift +evalu ation +ĠìŀĪ ìĬµëĭĪëĭ¤ +jav ase +Ġn aming +ĠT x +am t +to pology +OR G +author ize +p references +est ado +Ġg lyph +ax e +Ġob servation +get Request +gt k +Reg ions +. ]( +o ber +o ft +p refs +Ġpro ducer +Action Result +first name +ĠCheck list +Ġweek s +MARK ER +f type +Ġde letion +Sh ipping +trim Data +Rep lica +; ', +x FE +gr up +Response s +Per m +//////////////// //////// +åѦ ä¹ł +Ġ[ \ +ĠW atch +product o +Pre set +T im +ĠC ertificate +Ġname of +Ġend for +List en +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ +ĠMe asure +ä½ł çļĦ +ĠA z +Ġde mand +Ġpro x +cd ot +White Space +ref lection +Ġen hance +R AT +] == +re covery +Ġ( ^ +Ġcon sum +Sk y +Launch er +> ') +L on +ĠMessage s +Ġp ac +ĠY ork +cd c +D SL +Ġm igrate +Ġv ideos +Re start +sc i +Ġshould Be +Ñİ ÑĤ +is Active +ĠB oot +En gl +Ġarea Code +B a +en queue +ĠD ot +IT CH +%; " +CB C +Fetch er +//////////////////////////////////////////////////////////////////////// //// += # +g db +j on +min der +vo ices +PY R +Play ing +èĩª å®ļä¹ī +m ixin +t ada +ì £¼ +acc umulator +Ġupper case +ãģı ãģł +Ġintern ally +Form ula +Ġemo ji +F Q +Ġs oc +ĠI K +Ġpro jet +Start Date +ĠFor ward +Ġserial ization +( ...) +s amp +z p +Ġ__ ( +IZ ED +bel ongsTo +In side +Context s +Class ification +Play back +cons ult +Ġinf rastructure +Ġv p +Ġ@ $ +ภĽ +ঠ² +conf irmed +agent s +Appro ved +J C +eb x +game Object +B ooks +C ategor +ĠT Type +list a +Ġauth enticated +writ able +ĠDeploy ment +ĠMongo DB +Ġm appings +to Json +Ġy s +Ġarea Name +Static s +ĠCur sor +Ġs po +ne eded +äº Ķ +rt l +Ġsk ills +Ġa md +St udy +are na +user Info +xls x +Ġê²½ ìļ° +! ') +C ritical +V V +ĠJ un +AD IE +U O +ě [ +local ization +* ); +E FF +r ace +Ġp itch +sp a +Ġspr ing +A ug +dis cussion +Filter ed +Ġutil ities +Ġê° ľ +at ars +ĠE mit +UN K +ĠRE AL +ðŁ Ķ +ha ust +è´ ¦ +ro fit +te er +Ġcont in +模 åĿĹ +at trib +Ġ// @ +S and +ĠD en +Last Error +BL ACK +S ID +Ġd in +---------------------------------------------------------------- ------ +ĠAssert ion +. } +í ħ +Text Color +ens ibility +Ġfield Name +havi ors +Ġrespect ively +Ġa pr +Ġe gy +Ġmut ex +lu ÅŁ +ĠDist ributed +B ullet +Ġf oot +Ġ% { +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ +ah l +cor pus +èĢ ģ +Ġæ ı +Sim ilar +Ġa ê +ĠB I +... , +real time +示 ä¾ĭ +_ * +int Value +ĠB est +Ġentire ly +() ): +ĠR ich +Op code +Cap s +Ġpredict ed += . +J Label +INTER VAL +SAMP LE +TOT AL +Ġh ab +qu a +Action Performed +Ġoff line +à « +ĠS urface +block ing +SPE ED +N AT +Y aml +ĠS IM +Service Impl +Ġì £¼ +Ord inal +K afka +t ros +w get +Ġk ann +Ġus u +(_ , +Inline Data +ow e +åĨ Ľ +Release d +s ans +is ms +VER B +Ġport ion +cogn izer +ãĤ¯ ãĥĪ +Ġalloc ator +MON TH +Ġreceiv es +Ġsee k +CUR ITY +% > +Ġk n +author ity +ç§ Ĵ +Ġm aj +ĠIN VALID +Last Name +Internal s +Register Type +ä½ İ +mod s +Visual Studio +Ġclaim s +C Sharp +E ven +R ich +ij ľ +me ster +Ġl da +(' ', +IN VAL +err ing +Dat um +J OR +} /> +× © +á c +ular io +`. ` +over lap +Ġpoint ing +ĠSub mit +there um +H F +ĠS R +Re covery +ime d +und a +ne k +Ġgr an +Expression UUID +B V +Ċ Ċĉĉĉĉĉĉ +ĠNS Object +uplic ated +/ __ +ĠCh unk +ĠCall ing +Ġcross origin +(" \\ +ĠF ORM +ĠF lat +trans lations +> --}} +ĠB ORDER +date picker +ãģıãģł ãģķãģĦ +, # +if ts +Ġl argest +__ (( +Ch allenge +ĠM art +Ġ: ] +lin ing +ÃŃ st +Ġaw k +> ) {$ +Comp ressed +ĠS core +Ġen ded +Ġsub class +Content View +conf lict +T v +W izard +k le +ĠC AP +To File +lit ude +Message Box +Ġw or +Ġident ifiers +M illi +oo keeper +pop ulate +ur an +åĽ ´ +Web site +Ġparse Float +ê° Ħ +ĠFL AG +mess aging +H dr +P g +[ ` +ic os +Ġreduc ed +Ġ( )) +ĠV oid +Ġsh util +<<<< <<<< +s ampling +Ġm irror +Inter section +STR ICT +@@ @@ +ĠProto Message +æİĴ åºı +b ec +in fer +sp ort +ia lect +EE K +主 è¦ģ +Ġcomplex ity +æĥħ åł± +ĠOpt im +ig t +Ġcon verts +wa res +Ġm andatory +iz ação +Ġinter ceptor +Ġa an +ãĥĥ ãĥĹ +Embed ded +CE LL +ĠAR G +Monitor ing +W V +Ġre named +Ġro l +ĠLog ging +Ġconstruct ed +t ier +me ans +ow a +ĠR ound +ĠPer formance +get Next +ast ro +page Size +Pair s +x hr +ĠA Z +ĠG em +emp h +Leg acy +im show +Ph rase +ĠModel s +SK IP +p om +Ġ( ; +Ġe quation +K ERNEL +ĠC ulture +Ġel astic +so lete +Sub st +DB us +GL enum +ĠZ ip +ä¾ĭ å¦Ĥ +Ġocr text +ĊĠĠĠĠ ĊĠĠĠĠĊĠĠĠ +Ġ== > +check ing +M en +Off sets +inv ite +Ġcs rf +nest js +N ome +Ġt ap +enum erate +cons istent +客æĪ· 端 +Ġt ak +cy c +rs quo +æĸ° çļĦ +Ġsay ing +pit est +C DR +b or +} ^ +Ġb ed +Ġlist Of +CO D +Ġpop ular +ê ncia +move To +cs r +Ġfiles ystem +Ġpi eces +Ġre views +rom ium +ref errer +roll ing +item ap +sub scriber +inf late +month ly +b pm +ĠS al +ak et +Ġdisplay Name +Ġtermin ate +W i +v j +ing ress +Ex plo +Se p +Ġli bc +Un less +Run With +c rit +Al ways +ĠRel ated +x o +ç Ĺ +ภ° +Ġmod ifications +****** */ +T p +l ude +Ġw ind +Ġtr ad +Ġro b +Open ed +Ret rieve +@ \ +ĠT im +Ġdedic ated +Ġrecord ing +Cancel led +ĠC ERT +qu eda +Ġx fer +UN SIGNED +Ġexpect s +ê² ½ +W J +Ġg s +pi ed +Ġinter mediate +an alyzer +Ġd ropped +Ġst ars +ME TR +Ġlast Name +ĠVAL UE +еÑĤ ÑģÑı +ĠP A +ĠP ool +Ġsign ing +éĢ Ģ +åħ ī +Internal Frame +ĠGen Inst +à± į +re ts +ert ütsch +state ments +sch wiz +Ost schwiz +Ostschwiz ertütsch +Ġj a +Ċĉĉĉ Ċĉ +ĠRe presents +Ġdis cover +CH ANG +gram mar +PO OL +End points +l ings +č Ċĉĉĉĉĉĉĉĉĉ +ĠTh us +GL uint +ICO DE +us ive +qu iz +Ġpro g +rol led +ĠMET HO +YE AR +Ġrout ines +Ġr ho +Ex c +ik it +Axis Alignment +âĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢ âĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢ +DEFIN ITION +ãĥ¼ãĤ· ãĥ§ãĥ³ +In verse +ĠUn icode +tt f +met al +Ñĭ й +K K +title s +font Size +аР¶ +y ling +åį ° +Ġappro ved +Fire base +ff old +Ġsig u +Ġdiscus sed +Ġthumb nail +ac redit +ĠL orem +Ġexp ires +ĠUtil ity +PK G +I STR +ĠP H +Key words +C ash +C ipher +M ont +g ent +p ie +ur ance +if s +Ġsca led +G lyph +end ant +Int Overflow +ra pe +ĠSQL Exception +é¢ Ŀ +ĠNe ither +N r +S SE +pp y +Api Model +g fx +m oid +± оÑĤ +Ġf az +pro vision +ve h +Ġë Ķ +ĠNull PointerException +[ + +de crypt +ĠT om +Ġde g +mat ter +en es +Ġan onymous +key Code +Ġso lo +å· ŀ +ú mero +ĠD avid +op unto +Ġi outil +bo b +og gle +äº « +Ġapply ing +marshall er +ĠDig ital +acredit opunto +F lip +J et +yst al +Par ame +LO OP +se at +ne o +zu ot +ubleshoot ing +st em +um s +Trans lator +Ġ~ = +an other +Ġs ales +Ġre use +Ġfor get +box ed +Ph i +ĠLoc ale +ĠP ot +Ġit emp +ard own +Par agraph +ĠSt ats +Review er +')}} "> +Ġdiscus s +Ġregard less +Ġ .... +Ġd to +con j +Ġco lo +ĠSubL Object +r ack +get Entity +ĠT er +pre set +ĠBU ILD +Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ĠD C +RE V +SE TP +aw k +ãĥ³ ãĥī +cdn js +A ud +M illiseconds +VER IFY +Ġt l +Ġ( ), +ĠC M +ĠGL float +ro c +Ġpro files +ĠMap s +Confirm ation +mutation test +t al +if th +ĠA DIE +Ġpr inter +× IJ +el en +Ġh ist +Re cipient +sh apes +Ġ! $ +Ġdis connect +Com munity +Sp atial +ĠVis it +ĠSm all +Ġpress ure +ĠMov ie +k lass +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +re mark +Ġt gt +Re ceipt +ir al +data Type +cre st +Inst alled +íķĺ ìŬ +d ock +Ġc pp +Ġs ich +Ġinterpol ation +ail er +ãģĦ ãģ¦ +Ġkeep ing +direct ive +ĠCONT ENT +Ġp references +ĠA X +B ed +ĠW M +Ġ(! _ +has il +è½ ¯ +Clo sure +ĠDESCRIP TION +d sl +aj o +con struction +Spec ified +att ice +ĠDo ctrine +ĠRead Only +ınd a +Sub mission +replace All +z Äħ +ĠM I +pro blems +Fl ight +DD L +Ġঠķ +FIL L +Ġcomp osite +artifact s +ĠM ut +circ uit +U m +ĠP en +Ġfix ing +dot s +Writ ten += @ +pro v +Ġ*/ } +transform er +Ġc decl +Ex plorer +ĠCon ference +ĠUn able +ĠØ ª +çŃ ĸ +flat Map +Physical Device +Ġan imate +Ġк ак +ĠIm Gui +REN DER +i Pago +st ash +out ines +database s +Play list +è¶ ³ +alib aba +Ġp reference +os ome +Ġperform ing +Ġdriver s +add To +add ons +ĠK e +CH AIN +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +get env +pt ember +ĠC MD +Ġex pl +RO S +As sessment +Ġк он +flash data +Sem antic +C rypt +us ize +Ġget Current +Ġ> " +g rep +Ġb il +get Component +am iento +ww dc +GL BINDING +>` _ +ĠÄ į +R FC +ë Ħ +div ision +е ÑģÑĤв +Layout Panel +To One +base line +default Value +ĠEn v +interopRequire Default +cl amp +Ġcomp oser +LOG IN +Ġcontribut ing +Ġeps ilon +d ac +th y +ĠR ay +ãĥ Ļ +text Box +express ions +P et +Ġde b +'] .' +ĠDet ail +ãģķãĤĮ ãģŁ +ĠLa unch +N an +mp l +ê° ľ +Ġf on +Ġn os +ĠRout es +ĠRequire ments +æ© Ł +: ") +Trace back +ĠØ ¯ +ĠDec imal +Dig ital +Lim its +h ore +j vm +ĠP or +ĠM apping +ib il +Ġ>> = +Fix es +iPago OrdenCompra +C MP +Gu ild +èª į +ĠCEL L +N ATIVE +d be +j boss +ect o +j h +o thers +on ym +:: - +ঠ¹ +Float ing +student s +ĠCons ider +re lay +Ġstart Index +á» Ļ +slide s +L AS +Ġs nap +Ġh undred +od s +ĠR obot +Engl ish +f ers +ĠG PL +ell en +sub plot +Code Gen +Ġpo se +gress ive +cert s +Ġs x +Ġ$ (" +ĠB ärndütsch +X G +b cd +ĠI B +qu ir +set Timeout +Ġu w +å¤ ª +ic ia +Ġ} : +clear fix +м и +Program ming +Fact ura +Ġimpro vements +D t +Ġinst ant +Ġreason able +TRANS FORM +ĠT RAN +ĠÐ ļ +ĠStart ing +confirm ation +ap an +Ġde partment +AM ES +ĠAn swer +report ing +Progress Bar +Ġcar acter +ĠOper ating +cosm os +R m +work load +Ġprint ing +Sign er +Ġperform s +å¥ ³ +ãĤ¢ ãĥĹãĥª +Ġt icks +ar ner +ĠM TL +} ! +à ī +Ġh op +sc p +设 计 +Wait For +m ical +en ation +Ġb ur +group Box +åĿ ĩ +Ġaccording ly +Ġìĥ ģ +Ġtypings Slinky +, < +ĠM EM +orn ia +REC ORD +Ġbus y +Leg end +g lyph +id ity +end error +Ġi ÅŁ +key Set +Ġk od +Ġblock ed +Ġlocal ized +Ġkull an +Autor iPagoOrdenCompra +p ager +Ġ åĪĽå»º +Ġst ops +ud ies +ĠTr ansport +Ġview Box +graph s +drop out +ol ar +ĠN eg +ĠAd apter +Ġsi ÄĻ +ĠErr IntOverflow +A cl +Ġx x +IS WING +TI F +Ġpers ist +Review ed +En sure +S AN +yg ul +C ARD +y ahoo +id unt +ĠG UID +äº Ĵ +Ġincre asing +Ġv ue +"> " +ĠR C +ob ar +ret ain +Ġpresent ation +imate ly +Ġbene fit +S sl +d ifferent +off line +olic it +aj a +ĠLink s +Ġexperiment al +ĠElastic search +al location +Ġp ert +pro ducer +Ġsp atial +æĬ ¤ +Tod ay +R azor +e qu +ay er +> +Write String +Ġtx n +pay ments +launch er +- ", +Ġc ook +Ġd B +Un do +Ġart ist +Aw esome +Ġ lect +ĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠ +Ġfl uid +} ^{ +il en +array s +red hat +éķ¿ åº¦ +! ; +C UDA +ĠĠ čĊč +ĠM AP +Ġ` , +find ById +á» ģ +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +çľ ģ +ĠSUM MARY +s outh +"> $ +RO UND +Po ssible +s j +Ġv it +ub es +Get Name +为 空 +Ġgover n +i log +Ġedit able +lo v +il ib +Com bin +alert s +ouch er +X T +ol ated +av ailability +set ObjectName +Par sing +ç§ ij +Ġ' {{ +Ġth rift +ĠB oth +Not Exist +cord ova +Hard ware +X B +Ġr ng +Pro veedor +Ġlo ops +ĠìĹ Ĩ +z b +Ġde ck +set Up +ĠD ATE +Ġmod ifiers +à§ ģ +ĠBr anch +Ġ ../../ +ins n +review er +Evalu ator +çı ¾ +: ], +W l +ë £ +un link +ĠJ Label +Z e +Ġì Ĭ +ĠM M +ĠSpec ify +Ġvari ants +ition ally +ĠAL TER +RESULT S +Clo sing +flu ence +f atal + ° +ĠS pl +get Max +åĪĨ ç±» +I r +w ow +} "> +post inc +With Type +pop ulation +des ired +ĠFail ure +Ġauthor ized +Ġimpro ved +ĠC over +up stream +ĠJ avascript +Ġmat rices +f eb +Ġh uge +Ġas m +å· ® +ðĿ ij +SECON D +MySQL Parser +Ġfam iliar +Ġin deed +ab ove +ĠW ORD +gu ess +к Ñĥ +sb t +è¿Ľ ç¨ĭ +need s +ĠNUM BER +à · +Ġd ass +Ġinter preter +Ġfont s +UB E +Exp anded +bro ken +Ġprot ect +P w +Ġd la +List Of +DE TAIL +source Code +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ +Ġpri m +ops is +Ġf h +count ries +Def s +"] )) +Wh ich +ãģ¾ ãģŁ +redd it +l te +ç» § +met ro +Ġ× IJ +workflow s +ant es +Ġ\ _ +SE G +B RANCH +lo p +PRO G +rect angle +ĠOver view +x FFFFFFFF +Ġn ast +Ġevent ually +Build Context +; | +H M +to o +ĠAS N +it as +ĠO h +ale x +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ +ĠWindows Error +Ġfact ors +M GR +T iming +j v +Ï ħ +Key Code +Mem o +License d +se quences +ime dia +has Class +Sup ply +i id +ĠM any +Ġs ua +Ġfor ma +Ġì ² +Ġ[[ ` +Ġhigh ly +navig ator +ĠÑį ÑĤ +E cho +ï ½ +Me as +æķ° åŃĹ +ðŁ ĩ +Ġembed ding +% ' +M apped +Q ty +der e +app lic +AM D +Exp iration +Ġopp ort +T or +from Json +Ġexp iration +缮 æłĩ +Ġpod s +)) ). +CLE AR +k f +ĠC ast +assert Raises +y ro +os is +check Box +Tag Helper +program ming +ĠÑĤ ак +Ġtre ated +f df +á ¼ +un able +ĠT yp +Ġ'@ / +compare To +Ġph rase +upper case +p db +Ġb udget +T ED +W y +čĊ čĊčĊĠĠĠ +ĠM aven +ĠComp ile +dat um +Te ams +B one +Ġan n +At tempt +а Ñı +appro ved +аÑģ Ñģ +Undef Or +Ġs nd +Exec utable +Graph ic +Ġre corded +Ġ@ __ +En velope +DE S +Ġtest Get +Ġfirst Name +t iming +Ġget Default +Ġsit u +Dot Net +ĠLook up +çļĦ å̼ +ĠConfig ur +Ġsum mar +r ax +In g +ĠJ et +HE L +\ ) +ãĥ ¢ +ĠK ind +Ġpl acement +Ġview er +ĠUN ION +\ ', +a ec +d amage +l ift +t gl +al ing +ri pple +ĠI List +Pro posal +sub s +G REEN +get Result +Ġu it +An gular +inst agram +Ġaccess ing +èĭ ± +METHO DCALL +! "; +; - +en ix +": [" +Instance Id +ĠUp grade +Ġpy game +x v +Ġob serve +tag Name +ĠDef ines +Ġtw itter +F illed +Q E +z s +div ide +ãĥ³ ãĤ° +C red +ê µ¬ +Ġ ----------- +Ġj et +Api Key +к о +Q UAL +w v +all a +ĠL azy +cloud front +æĭ ī +Ġìŀ ij +luÅŁ tur +ĠC la +Ġ}} ">  +Th ird +m otor +datat ables +" - +P ix +p ul +at las +ĠT odo +Ġh its +') ( +ĠText Style +Ġi b +mem name +Ġcy cles +ĠEl se +: _ +r aster +Ġ{ // +([ ^ +ĠâĶĶ âĶĢâĶĢ +Ġitemp rop +M UX +å ¦ +ĠEx tra +lat ex +ĠTemp lates +AU DIO +h ole +z mdi +Ġde ll +Ġsh apes +Multip lier +Y K +Ġpart icipant +ĠCommand s +ĠProduct s +Ġrespect ive +Ġ Ø§Ø +ST AND +(( { +Ġfont size +contribut ors +J e +Application Model +handle s +åºĶ 该 +读 åıĸ +Ġ ubuntu +get Child +any ch +if ornia +get Code +Par sed +cre ative +part icipant +Ġil legal +å¼ķ ç͍ +SETT INGS +d ry +Unit Test +Local ized +ĠBase d +M k +me mitem +Ġs coped +Re placement +Pre pared +cap np +Qual ified +ĠHE AD +ro ut +co a +Ġo h +ty Object +exp ire +Ġask ing +ĠSpr ite +éĵ¾ æİ¥ +Ñ § +Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġ è¿ĶåĽŀ +ĠA us +De ath +Ġz ap +Face book +ĠìĦ ľ +Ġmg os +ing en +Ġtime line +IG IN +full Name +Ġkeep s +Ġden om +Mo zilla +intro duction +ensemb le +ĠE asy +Ġy a +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ +DOWN LOAD +N im +Ġh ero +ĠD a +As sembler +No ise +guide s +y w +Ġcl ar +Ġdet ector +ĠOrg anization +Iss uer +CATEG ORY +< :: +P ure +U F +co ffee +E c +i op +ob serve +Service Client +BL UE +M ixed +å Ħ +Ġre open +Ġz x +ĠY eah +Ġblock chain +Ġê° Ĵ +hw nd +åħ³ éĹŃ +j in +Ġre ordered +Ġg zip +Ph p +Ġâ ķ +ĠQu ant +V tbl +ur m +lo an +è¿ ľ +Ġautom ated +H ID +æ ¦Ĥ +ĠDE C +ĠPR INT +Tool kit +Ġ< $ +ab br +Ġr db +Ġtro uble +çª Ĺ +Ġde sp +Con struction +IC Y +tribut ion +SU FF +Ġcon sequ +Ġk a +Ġany where +KEY CODE +priv acy +D ns +L b +ss i +åı ¦ +{} . +c ats +in tern +Text ures +ä¹ĭ éĹ´ +ãģķãĤĮ ãĤĭ +C p +sc c +AT UR +bb b +æł ¡ +ĠPo ssible +", [ +ĠJ Button +ĠSe verity +Thumb nail +t ight +add Listener +D ue +Ġf ly +ĠCon sumer +entry Set +quick start +set String +Ċĉĉĉ ĠĠĠĠ +sh m +lin space +SA VE +H IR +åį ¡ +Good s +c db +f usion +al ia +sc m +ĠR OM +mode s +Å¡ ÃŃ +è re +ĠDel ay +[ * +pr incipal +start Date +Ġconcept s +лÑİ Ñĩ +P itch +T unnel +ĠÑģ п +al d +ĠC rypto +ĠT OP +ĠW r +Ġback wards +SA CTION +Ġdetermin es +g om +ĠApp s +Ġfont Weight +Ġcr é +åŁº äºİ +Ġc wd +Ġë Ĥĺ +Qual ifier +ĠSc anner +num ero +SW IG +A J +é Į +un es +Ġb unch +TH ROW +Ġcount ries +Wh y +rep lic +j m +Ġc ampaign +Ġn ature +eng an +Ġge bruik +Handle s +ĠC as +mat plotlib +ìħ ĺ +ì ° +Ġt uples +Ġde ath +ä¹ĭ åīį +Ġ" << +are as +Ġan alytics +year s +ĠAM F +Ġvirt ue +K h +Ð ľ +ĠA no +oo per +post Index +ĠMan aged +>? [< +ç¢ º +w ap +ÃŃ vel +ĠI EEE +ÑĤ е +urren ces +star ter +D ash +G J +ĉ ĠĠ +atic s +()) -> +Im Gui +D ifference +ver ification +Ġtrans mit +çº ¦ +åıĤ èĢĥ +ĠElement s +Serialize Field +fade In +æĬĢ æľ¯ +W IT +De cision +test er +Ġঠª +iz ado +wh y +F allback +ĠA mount +Dis connect +Imp licit +Ġconf idence +SHARE D +p andas +in active +Ġ` \ +Ġé t +G i +j w +ĠB in +}} ) +transform s +writ el +Ġkull anı +r isk +en ed +ĠT Value +Ġal arm +Ġal phabet +Ġoption ally +Ġword t +Ġreal m +Div ider +" _ +P W +ĠE dition +Ġthrow able +Ġext reme +Ñĭ е +Ġsuc ceed +è¯Ń è¨Ģ +ìĽ IJ +ĠC lock +type Name +Ġasync io +æī © +r pm +Ġs peak +fl t +ภĤ +dat atype +v env +Ġ æĺ¯ +Pro duction +FR ONT +ĠDep artment +ĠBack end +è§Ĵ èī² +B GR +Ġ ãģ« +R en +ëĭ Ī +Di agram +Ġmaint enance +Z y +(' * +ĠW ire +public ation +Ġhas n +ĠRet rie +éĴ Ī +% '; +Con tr +Ġacc um +bucket s +ĠDest roy +Ġ -------- +get Size +ĠR x +Ġstd in +ĠPro f +Ġpart icip +Ġà ¥ +>. < +ĠMin imum +Ġdom ains +O h +R s +Get All +Ġcl a +ĠError s +Ġre build +tr avel +Ġr er +add Item +Ġwe apon +Ġqu ando +éĥ½ æĺ¯ +M b +P assed +u ção +st icky +Ġ| [ +ĠU DP +char acters +ĠSer vlet +i om +ar am +ĠP ick +ĠF T +out come +ive c +roll back +ik er +å® ĺ +л ен +QU OT +q n +Ġg ö +unct uation +B TC +S cheduling +ce stor +åħ į +PL US +('/ ') +éĩį æĸ° +B el +me ters +Ġip v +//---------------------------------------------------------------- -------------- +оз д +LET ED +½Ķ ëĵľ +d ire +to Match +Sh ot +ĠSt ar +ĠCh rist +up al +Ġbe i +ĠEx tended +é se +TEST S +Ġsym fony +ĠHyper ledger +Y L +or um +Ġ} ** +E sc +T om +scala js +Ø§Ø ª +Oi J +U tc +d td +Read Write +i est +p eng +Ġ Ñħ +get Color +Ġtype Name +IR T +åħ¬ åı¸ +ë² ķ +ãģ£ ãģŁ +G tk +ĠT EMP +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ +ĠWeb site +Ġmo ż +de limiter +me k +Or Update +spl ash +de pt +Ġh or +valid ators +Ġoff ers +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ +vector s +Accept ed +ĠMark et +Ġinform ación +C u +E mploy +Ġs peech +Ġin p +ĠRe store +Ġcol on +++ ); +æľ Ľ +Cur r +Ġdiv ide +(@ " +members hip ++ ) +L m +ma de +CODE S +dar win +ent i +ĠF P +Ġi os +Ġmethod Name +ä¸Ĭ çļĦ +Ġи ли +M ULT +r si +Ġs age +(" & +r ut +Re load +Ġ` # +Ġpro be +ĠG reat +aint y +A mp +I gn +k om +** */ +user Data +Tag Helpers +ĠEX IT +us a +ans i +altern ate +Ľ i +pe p +DO UT +TE CT +property Name +å¹¶ ä¸Ķ +y z +am o +ord ion +á» ĥ +Ġconf irmed +ĠBe an +Contains Key +s av +Ġf open +co vid +Ġm anner +Ġtag ged +ond on +Ġoptim ized +Ġseparate ly +çĪ ¶ +; ' +B J +S in +S an +g loss +it os +de scri +Ġ' } +BO OT +Ġser vidor +sub plots +ĠUn ix +cd r +Mod ifiers +Ġadv antage +R K +p ci +v á +Ġde i +bl ade +ç»ĵ æĿŁ +C LOCK +x FFFF +ĠE MP +'] ], +ĠPri mary +ĠRemov es +B W +[ ** +Ċĉ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +MA JOR +ä ll +Ġf g +ĠFl utter +æīĵ å¼Ģ +D ONE +M igrations +c ies +Ġaction Expression +è· ³ +ĠByte Buffer +N orth +åı Ī +MA STER +ĠLi ke +y f +st en +Ċĉĉĉĉĉ Ġ +std int +Read Line +cr ud +Ġsever ity +orph ic +Tra ffic +or ian +en velope +ER E +act ic +ãĤ ı +HX LINE +I so +N v +T iles +ĠP aint +ĠB oston +Ali ases +f oto +ber os +To Many +Ġtrans lated +ĠInter rupt +ìĬ¤ íĬ¸ +f el +Ġ{ [ +ìĭ ł +Ġrelationship s +ĠP G +ĠTr avis +Create Info +Option Pane +è§ Ĥ +Autom atic +Greater Than +pl ant +ä¸ ĩ +new Value +Sh a +Ġenum erable +semb lies +ĠFl ash +` =' +ob js +FI ED +End Time +Ġhome page +); & +ãĤ Ħ +V N +() == +ĠC irc +Ġselect ing +CALL BACK +Ġp lots +Ġb d +In finity +ĠC atalog +ĠH Y +Change Event +cap abilities +Ġim m +ĠCo untry +çŃ Ķ +ap k +Ġh on +Ġon Error +Ġcontext s +Ġactiv ated +n al +ON ES +RE PORT +Ġpart ner +ĠHT MLElement +"/> . +d ut +f ps +z sh +** ) +ĠP ASS +=' '> +ëĭ ¹ +B oost +D aily +ĠP et +Api Client +greg ated +çķ Ļ +æ· ± +Ġw enn +App lic +ÅĤ a +åħ³ éĶ® +uzz y +le cc +TR L +Or Create +Sw ift +va adin +Ġsuc ceeded +ĠAno ther +ĠS napshot +Ġtr avel +right arrow +Ġob servations +Ġsock addr +p j +Ġp name +Ġ\ $ +Ġfile Type +а ли +Ġinter cept +Ġи м +Gr ade +ĠCH ANGE +Phone Number +or ia +Ġ- ( +ĠM SG +__ (' +Ex am +RE PLACE +mo j +å¸ Ī +åIJĮ æĹ¶ +friend ly +B ene +last name +Ġbig ger +ìľ Ħ +ĠIss ues +Ġc el +Ġa ë +ĠS uite +Ġto ast +Ġset ter +save fig +âĸ Ħ +n P +os it +ĠW ide +ey a +Is olation +ĠFin ally +Y Q +Ġa ì +if ty +ĠI cons +ãĥ £ +sub tract +press ure +å° Ķ +ĠRequest s +Ġঠ¤ +hint s +AB B +ĠCon verts +á rios +TH IS +Cent ral +èĪ ¬ +Ġthe ory +Ġw get +ON U +En c +Rem ov +Ġk ubectl +Ġ}) } +Format ting +mer ch +ric ht +D raft +Ġs copes +pro tection +auto complete +âĸĪâĸĪâĸĪâĸĪ âĸĪâĸĪâĸĪâĸĪ +ä¸ ¾ +AD J +Ġap ache +Page Size +oriz on +Ġp z +ex cerpt +ĠOn Next +Ġconf usion +Ġ' ^ +Comp ilation +Ġ~ & +ij n +P IC +c lf +j int +ER C +ãģĤ ãĤĭ +S z +Ġre covery +ãģ ° +... \ +Column Type +Ġfun ct +Ġâ Ħ +SA ME +schedule d +Ġvirt u +ãģĽ ãĤĵ +Ġanv änd +S he +q x +av i +Ġcomp il +field name +reg ar +Author ized +è´ Ł +',[' ../ +st aging +Ġe ye +De ferred +ob by +ĠJ AXB +/ ~ +W a +ĠT ENT +ĠW ater +Ġli bs +Query Builder +Ġexec ut +uk an +Make file +b ol +j Panel +m ont +Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +in as +is c +(' ') +ĠE G +CL AS +Ġund o +Ġcommunic ate +ĠV ault +Ġì ¢ +det allenotacreditopunto +Rem ark +G AME +get Body +ide a +action Expression +Ġcons istency +ĠMQ TT +AVAIL ABLE +tr uncate +Ġsh allow +ade cimal +åħ ģ +Äħ c +t icker +v lan +ĠL ex +An n +The ta +Ġknow s +åĮħ æĭ¬ +ĠIndic ates +z ap +it ched +per fil +à¸ Ī +Ġsk in +è· Ł +sil ent +get M +get Image +H op +get Service +]) ] +Ġview Model +Dat os +EVENT S +Ġtermin ated +P WD +Ġre vert +Ġcreated At +](../../ ../../ +nick name +f at +Ñ ij +Ġlink ing +coll ate +åĵ ª +çĭ ¬ +u ir +Ġf irmware +pro cesses +Ġ\ & +åĽł æŃ¤ +P okemon +ag ain +cess o +ec s +gn ome +Ġbit Field +Ġve h +. '. +F ork +X i +Ġ' :' +im en +Request Param +Ġref ers +ĠQu aternion +% ">< +id as +Ġo luÅŁtur +ĠM UL +ĠU m +End Point +Logged In +n ÄĽ +comp arison +AS N +render ing +ðŁ ij +Ġadmin istrator +men us +< { +C d +D ensity +s lim +av atars +ĠF abric +Ġun lock +'] =$ +Test Suite +pass port +ĠConf irm +ĠIntro duction +st acle +an aly +pro posal +Ġnew line +Ġj ak +Ġus ando +dist inct +cha ft +" $ +F U +ot ify +Inter est +Dir s +NE G +Ro pe +Writ ing +Ġê³ µ +è§Ħ åĪĻ +èŃ ¦ +G row +ar o +ĠG ui +ãģĻãĤĭ ãģĵãģ¨ +ĠUN IQUE +ĠScal a +cont ain +du it +Part ner +Ġinform ações +ĠA udit +ĠD rive +Ġch i +ĠNew tonsoft +Ġappreci ate +get Source +ãĥ ¯ +An onymous +NO UN +ĠAd just +ĠSec ure +shop ping +Ġscroll ing +dh cp +Ġint ention +ard u +Ġঠ¸ +Ġcancel led +t ions +__ ). +ĠG reen +Ġform Data +à® ² +ent y +Ġo larak +() ))); +ĠS ales +et t +ay ı +ĠP T +Ġser vi +æĭ Ł +ENC Y +Q Name +fl ake +vari ants +YG ON +S essions +Ġb rief +Ser ve +åĪ Ĵ +light s +Anchor Styles +S IDE +re veal +AR N +sql parser +еÑĢ Ð¶ +Language s +ĠHandle s +ê ¹ +Ġe a +Ġet t +N ick +scroll Top +ĠM ESS +header link +gen de +ĠGL sizei +Ġ ub +api Key +Ġê tre +s lick +on i +Ġin place +ĠRe cyclerView +Ġdir ty +Ġconven ience +ĠìĥĿ ìĦ± +B all +O l +st uff +([ ], +ASS IGN +, $( +Re cv +op lay +Ġlow est +M c +U ses +e ase +Ġa utor +ag le +Ġg tk +ath an +clo ak +Ġpack ed +L java +Ġre scue +ĠF igure +read line +Not ebook +ĠìĿ ¼ +Normal ize +R ULE +Pub lished +íĺ Ħ +# __ +block chain +è¿ĺ æĺ¯ +uzz le +åĮ¹ éħį +P ed +Ġcon duct +") } +Ġcomp osition +comp l +æ» ¡ +s impl +Ġ{ # +get First +ĠE B +Ġr ap +Http Status +s copes +Ġ ug +re a +ist e +unt a +èµ ĸ +ĠCN WS +get Block +ĠT or +RE MOTE +ak u +Path Variable +sg i +rid ay +Microsoft Docs +<% @ +A j +E ither +Ġp print +Ġch rom +gr unt +pc m +Ġcorre ction +но е +} }; +se a +Ġ" ? +Ġ\ "" +AV X +COMP LETE +Fac et +Quest ions +N y +f ce +Ġt el +ĠI MAGE +ĠI BM +ll d +ĠH ex +Add on +CL USTER +ĠLO CAL +ãĤ¹ ãĤ¿ +ĠContent s +ĠJo urnal +G CC +h un +Ġst rength +ĠE s +RO T +åĽŀ è°ĥ +datas ource +, { +Ġr r +â̦ â̦ +èĹ ı +N i +S po +t gz +co digo +Code Analysis +Ġ|| = +Web Kit +.* , +Ġden ied +ĠMem bers +ưỠ£ +P kg +R d +q e +s ia +è ¼ +ĠÐ ĺ +ier ung +YO UR +ë ¹Ħ +Ġa á +ĠI sl +Ġel ler +Pl ug +quot a +PACK ET +- [ +f usc +g oog +l ands +p ct +re member +to JSON +Ġ<< " +off icial +END OR +ĠпÑĢ ÐµÐ´ +Ġattemp ting +L y +md b +ian o +Te lemetry +ĠNO MOR +Beatmap Level +/ + +T k +v int +í ĶĦ +Ġl c +Pro j +Ġen im +iler plate +为 äºĨ +ãĤĪãģĨ ãģ« +Referencia Personal +T Key +è ² +get Full +ঠ¯ +Ġvalid ated +Prop Types +W ell +c ı +net ic +ĠCh oose +>: < +ĠпÑĢ Ð¸ +Ġconcept ual +B onus +N IC +z M +ron o +Del im +] ") +is True +Ġp et +Ġh at +IMP LEMENT +J DK +S orry +X M +ì ¦ +Ġì Ľ +å° Ħ +ĠLog ic +ĠAs sets +åİ ĭ +Dom ains +C DF +I ID +TO C +Pri me +Ġvari ance +Ġhy pre +Ġrecurs os +it ness +Ġd g +am ond +ĠMe trics +Ġide al +ĠW allet +ĠâĢ ¦ +Mis c +ĠUnsupported OperationException +m art +ar cs +lo d +"> : | +In str +fig caption +Ġmin us +EL DS +EM R +Oper ating +ĠBack up +H EX +set Image +Ġjob builder +Db Context +dimension al +Illegal ArgumentException +a ac +as r +Ġhe ar +ng x +Async Result +Ġown ed +оÑĢ Ð¼ +ĠMenu Item +measure ment +"}]} ], +ĠTENT ANG +b link +Ġpl ans +Resource Group +Ġ · +C n +× ł +ee ee +,,,, ,,,, +SQL ite +ict ures +Ġmon o +breadcrumb s +s ix +Ġt z +im mediate +ĠW eek +pr icing +Override s +Ġ\" % +inf rastructure +Z l +t ie +Ġdisplay ing +n lp +Ġs ale +Format Exception +is is +inter cept +fl d +US AGE +Max Length +Ġcost s +ĠStat istics +) }) +F am +w u +Ġ= ================================ +Ġm ux +RE MOVE +íķ ¨ +ãĤ³ ãĥ³ +C CE +D u +get Session +ĠC ASCADE +Ġinter sect +inner Text +Ġhost ed +ĠDet ect +Clip board +Ġ( ($ +ĠN g +ĠF riend +pos als +\+ :: +Host s +Ġresp onsive +ĠGrid BagConstraints +Ġdestroy ed +l ens +ĠP ID +ĠM UT +ĠBlock s +k ap +ic mp +ä¸ ĵ +TR ACK +Layout Inflater +å¾ · +aff e +C IP +F REQ +K on +ient es +æī ¹ +ĠResource Manager +ãģĵ ãĤĮ +ĠEdge Insets +T G +ĠS ep +ĠH AND +To Be +Cre ates +Z Y +Not ifier +ä ng +Frame buffer +Load Balancer +W est +ç Į +Ġb ul +db l +Str ong +ĠTO KEN +Ġcollect or +N W +Ġc types +ĠC our +con versation +fo obar +AS Y +Ġok ay +M W +g op +Ċĉ ĊĉĊ +Ġser de +urren cies +Parse Exception +ê³ µ +Ġcontr ast +B er +ch mod +ĠG ot +data Tables +[' _ +ĠCon straint +Sub system +Ġgr ade +Record ing +ĠGener ation +] :: +` < +v or +Ġd urch +N ear +T ang +Ġ rom +Item Stack +Ġz k +ìŀ ij +guide lines +Ġmembers hip +ĠProgram ming +MAT RIX +] '). +get Target +Ġim mutable +corre lation +gro ovy +H DR +Ġr ates +Data Array +Ġsh ut +enc i +Inter active +ero us +'> ; +alax y +C ancellationToken +r di +mp tr +api Version +UN ION +Ġreview ed +Ġexperiment s +íĺ ¸ +J l +Ġt on +timestamp s +F ly +ĠU ses +Check sum +åº ķ +Char set +Ġalign Items +Direct ories +S MS +=" {% +Ġstr ange +TR IG +ç» ĥ +(/ ^ +Ġens ures +GeneratedMessage V +Ġs id +Ġinst antiate +å¾ ª +Ax es +Sim ulator +P USH +An no +æĸ ¯ +Ġpe ak +Ġmis sed +Ġthought s +í Ķ +ĠC T +Ġ> -( +ĠSh ift +STAT S +lo ve +ĠB al +Key Event +Property Value +ĠDep th +Ġtech niques +ch n +Ġpl anning +Ġover load +help viewer +Ġ---------------------------------------------------------------- ---------------- +Ġgp io +æ£Ģ æŁ¥ +ĠðŁij į +H IST +par ing +bar ang +Seed er +stell en +Ġíķ¨ ìĪĺ +N PY +Î º +è ħ +um en +Ġr aster +Ġcol lation +On Init +Call Back +Ġcomponent Did +WORK DIR +Ġsem antics +V G +f arm +Ä ĵ +é ¥ +ĠS am +æĸĩ æľ¬ +( (" +ss on +ĠInst antiate +ĠCl asses +istor ic +v it +Ġb cm +Ġv Ãł +ĠL aravel +Ġ_ (" +Text Input +Ad s +Ġref lection +ĠPh ase +Ġsaf ety +ĠPur pose +" ", +h is +ex plorer +ĠD W +ĠB IG +Ġj Label +arg ar +Ġname spaces +att ention +mov ing +Ġrotate X +ĠUser name +make Text +xffffff fe +Ġkotlin x +' "; +t in +ĠG U +ÑĢ Ð¾Ñģ +ra id +Ġsp ent +ĠForm s +Ġrandom ly +N OR +T orch +b ff +ct s +Ġst amp +err al +ðŁ Ĵ +ĠBlue tooth +M SC +Ġin sp +ap pe +sec utive +log its +mit re +ä¸Ģ ä¸ĭ +Ġoper ands +Acc uracy +éĤ ® +PAY MENT +Ġad ams +ĠEn cryption +ĠSM ALL +Q C +b ecause +on load +Ġre action +ĠP OS +os m +ive au +NA MIC +ĠInstall ing +Own ed +sal ary +ãĤ° ãĥ© +å¢ŀ åĬł +. âĢĿ +a us +Ġv eya +Time Zone +ĠOpen GL +Counter s +en ess +en ne +Ġh ence +pre tt +æĬ ķ +st ores +ar ma +ĠB ottom +Sent ence +ĠDAT ABASE +ment ion +cc b +remove EventListener +F ocused +ar ative +um i +Ġl ub +Ġle aves +Di ag +ĠEvent Emitter +ĠDist ribution +Ġexclude d +Ġfriend ly +/ "; +Ġf atal +ack er +Ġk afka +ld quo +Ġgroup Id +ru ption +baz el +c andidates +an imated +set CellValue +ER A +Ġan imal +Ġmargin Top +">\ (\ +A UX +T olerance +h om +s quared +de posit +ĠW riter +Ġtest er +Ġ'\ ' +ĠC VE +STATE FUL +ĠCOMM AND +sph inx +f emale +r ical +ri r +pre p +Ġ/> } +ãģ« ãĤĪ +ĠSTO RE +Q g +e os +Ġb ullet +Ġin corpor +ec all +Null PointerException +Ġimpro vement +Ġìĺ Ī +Ð Ĺ +ul ates +ab d +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ag gregation +created At +ĠGe cko +c ors +ĠL EN +__ */ +BU IL +Ġinit ially +ĠHttp Request +ANG LE +K G +ss o +ĠP OP +ĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊ ĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊ +or no +ĠC od +dd dd +ĠRe ading +Ġthread ing +capt cha +inv est +ĠMock ito +æIJ ľç´¢ +Ġc lic +un ame +ĠS WT +ĠT L +Ġcon crete +De ps +COUN TER +Text String +( \" +; "); +=" . +br az +ĠRe verse +token izer +à° ° +ĠLL VM +ĊĊ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ert a +ĠPage s +l aw +æ Ĥ +Ġ[ . +od ies +ĠP P +ĠB N +ik o +Ġnum erical +ane se +Ġwrit able +Ġrep lication +sur f +æī¾ åΰ +R NA +Ġ ä¸į +text tt +URI Component +built ins +Ġp wd +ãĥ ĭ +Set Name +Get Instance +man de +Ġborder Radius +ĠPAR AMETER +h on +Ð ķ +in flux +Ġ" >< +list dir +Com munication +Exp licit +Ġæ Ľ +Ġcoefficient s +V H +at tribs +No Such +Ġinterval s +Sn ippet +Da emon +åħģ 许 +n ement +y x +ì ¡° +ED GE +á z +è§ ¦ +ĠSub st +ĠContribut ors +J R +er ce +ol i +Ġì ¤ij +Min i +Ġoper ate +] ') +Ġs vc +Ġbase s +current User +ĠRem oved +ĠLD AP +separ ated +f ocused +v ens +Ġtr acing +ven ance +Ġacc ident +Att ached +ĠRuntime Error +Factura Proveedor +G auge +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ +=' ', +DO CKER +Sp aces +Top Level +,, , +第 äºĮ +Configure Await +Ġmeas ured +azel cast +REFER ENCE +K T +Ġp icker +comp ound +S outh +f ib +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +at l +ap ollo +Ġh dr +Ġcustom ize +SY N +Ġinc ident +([] ); +e or +ĠĠ ĊĊ +Ġt olerance +Ġh ay +Ġ// } +Ġcom ando +âĶ ľâĶĢâĶĢ +ĊĊĠĠ Ċ +æľī æķĪ +Ġinit i +concat enate +GRO UND +ĠDepend encies +B s +Ġn v +ly n +ĠRe ason +ĠUn fortunately +Sch ool +ãĤŃ ãĥ¥ +lock s +END POINT +Tex Coord +æ¯Ķ è¾ĥ +Ġ åĪĨ +Ġis o +Ġg fx +AL G +reg ression +ĠComp osite +under line +Ġrotate Y +Ġl Ãł +Ġr p +ml abel +Qu aternion +BU CKET +iet f +Ġaltern ate +V u +IN A +a uc +Ġ` ' +add Group +riv es +, * +T en +c da +w off +× ĥ +Ġn ur +Ġb lo +Ġend Time +weight ed +spon ge +Ġarr ange +" ( +H dpiMode +q m +s as +w ing +on ing +ĠM usic +over write +web hook +AP IC +member of +WINDO WS +B RO +L atch +R ol +un ist +Ġde scriptors +pl d +RE CTION +Dis p +lv l +éĩį è¦ģ +WIT HOUT +ardu ino +Y o +Ġp ix +Ġle aving +çİ ĭ +Ġscreen shots +ĠíĻ ķ +c ust +Ġst reet +Ġde crease +Ġpro te +Ñĥ ж +noop ener +es ch +ĠRe ceive +Ġadd Criterion +State ments +AD V +Check point +ĠCOL SPAN +åıij å¸ĥ +èİ· å¾Ĺ +Ġsus pend +D n +L X +() * +Ġset Is +Ġq r +Ġcap ability +æ¸ ¸ +m ute +Ġre pr +ĠL INE +Stat istic +orn ers +Occ urred +Ġch k +Get Mapping +decl ared +PH Y +. "), +b ay +c ub +l apping +Ð £ +Ġv ale +ER TY +ifi k +Client Id +Ġpost er +M ob +aw ai +é¡ º +Ġ× ľ +/' + +ĠDump ing +` - +v infos +ĠS peed +Ġcont en +Ġph ys +Ġaccur ate +A f +K i +Ã Ĺ +Ġrotate Z +MAN AGER +Ġcirc ular +ам и +MET ADATA +Ġc rc +get Repository +'] ." +Ġsim ulate +ĠEngine ering +ë² Ī +Ġnavig ator +nos cript +E qu +Ġb anner +iv ari +Ġl ifetime +Rout ine +Bounding Box +E igen +L CD +\ ">\ +e ce +l tr +Ġp seudo +der ef +Ġcomp licated +第 ä¸Ģ +j g +Sur vey +G em +Service Name +Sh apes +Ġno translate +Ġ'/ ', +Ġgraph s +Ġtransform er +^{ - +Gram mar +at tempt +Ġv ý +ĠString Utils +и Ñı +๠Ħ +Section s +ĠLI KE +ä¾Ŀ èµĸ +ar ab +е ÑĪ +Ġover ridden +IDENT IFIER +Ġdecor ator +/ > +U buntu +d ados +// $ +Ġstatus Code +PRO XY +Ġkind s +ĠSim ilar +Ġmedi an +Ġc map +set Type +ĠB ay +Pro v +oo le +post er +Inv oker +Experiment al +Foot print +i ctionary +ap ed +ĠF rank +Ġintegr ate +ĠItem Stack +ý ch +M H +re z +Ġk b +Ġsc atter +ĠRE C +ĠInst ant +à§ Ł +organ izations +; $ +ãĥ » +ash ion +Inject or +Ġa by +Ġ} }, +Ġd ari +ĠE ner +Ġ% # +ĠData Source +Ġsk y +Ġfilename s +rd quo +d ad +at ura +co g +Ġm ens +Ġcom mod +Ġimp lode +open id +Action Type +Ġmark s +à¯ Ī +Ġlat ency +ç¼ĸ è¾ij +å Ĥ +Ġt body +In Progress +Ñĥ п +Report e +mak ed +b cc +f riends +Ø µ +as array +Ġd z +ĠT ouch +od ium +ill age +UN DER +æıIJ 交 +ç¡ Ģ +H its +R h +Ġs yst +rc x +*/ ) +TX T +Ġt weet +Ġestab lish +% } +( .. +ì ¤ +get Location +Ġor ient +ĠW i +Ġtoken izer +čĊĠĠ čĊĠ +ا Ùħ +ñ o +z ing +on click +ĠD X +ost at +uc umber +Pl ant +ঠ¸ +hand ling +land ing +ĠArgument Exception +')}} "> +ä¼ ģ +ĠBase ldytsch +ni h +plat onic +ĠM AT +Ġget Item +Error Handler +> '. +is NaN +Ġse ason +ĠP resent +im agen +release d +Ġexplo re +me mp +ĠT C +Ġcon volution +'] } +ı z +parame tri +; # +ex ercise +th ode +ĠB OT +Check out +Should Be +Detalle FacturaProveedor +Accessor Table +B SP +p iran +data store +Fore st +sh rink +Ġvar iety +ware house +Ġstart Activity +Ġus b +H p +Y AML +Re LU +Ġ> ( +Base line +Top ics +ãĤĴ 使ç͍ +Ġfetch ing +B urn +L ifetime +P as +p el +Ġw l +ĠA k +ile ged +Data Store +Ġqu ad +Ġ<% = +Dll Import +A u +v ac +v ised +am er +Ġadd ressed +Account Id +der iv +ST S +Ġun supported +open stack +æ± Ł +éļ ¾ +ĠCent ral +Jg W +br anches +ĠRe vision +Ġcomp ound +Ġcl oned +á» ¥ +Ġdescri ptions +s now +Ġin complete +ĠA verage +est imate +set Status +Ġ) ( +Get Bytes +rap er +ts x +writ es +ĠO C +link id +á m +tang gal +èıľ åįķ +woo commerce +W ide +s ers +Ġt ol +ĠL and +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġcontact s +ĠDist ance +D x +F MT +Ġem ails +Ġsim ulator +Import er +Xml Schema +Ġdat i +uest a +ĠPh oto +Ġmeasure ments +E UR +exp iration +BRE AK +Ġe e +ĠM ag +__ : +ĠF loor +ĠH uman +е е +EX ISTS +sk b +Ġass uming +Ġman aging +Che f +m all +/** /*. +ÃŃ n +ĠEvent Handler +: |: +Ġm aven +RE PO +'] )); +Ġu z +db us +block ed +ĠAl pha +reat ment +è´ Ń +Ġdesign er +CONTAIN ER +IN FORMATION +âĢ ĭ +Ġcl asse +Connection String +ĠProject s +Owner Id +ä¸ļ åĬ¡ +) =>{ +E ye +X S +k Si +ĠB R +æĺ Ł +ĠEX T +Ġmock ed +policy Definitions +Evalu ate +ĠAlloc ator +W ar +p list +Val s +UI e +åħ¶ ä¸Ń +Ġpat ches +I AN +ar ly +get Model +ms dyn +Ġindic ated +I iw +un an +ĠI ts +ĠP ark +ĠD ao +CO MB +step func +Game s +R p +se ason +an za +vent s +Ġk r +DE SCRIPT +Ġro z +unk tion +k ie +in coming +Ġc amb +Ġdraw n +Scroll Bar +IZ ATION +ê± ° +ĠW EB +èĦ ļ +M p +S nap +Ġ ï¼Ī +Ġd fs +Text Area +ock s +Ġsub scriptions +init With +Ġc rit +un mer +é£ İ +Ļ ĭ +Ġl atter +ĠH old +for ced +иÑĤ елÑĮ +Inject able +Configur ations +Ö Ģ +IN NER +Pro x +inter preter +bl ah +OF zf +Gr avity +ì§ Ħ +dy lib +Ġjo ined +oscal ing +getSimple Name +# . +re UIe +Ġc ms +Ġl ag +ĠL ONG +loc ate +Do or +PT cN +Book ing +Ġlower case +ĠAgre ement +JgW VA +kSi PTcN +reUIe JgWVA +kSiPTcN reUIeJgWVA +S rv +T N +T a +[ , +l ating +li v +pro bs +ĠG l +') " +ÑĢ Ñĭ +board s +ĠBu cket +ĠDet ermin +Less Than +s peaker +he mer +ul as +Ġd ual +tr ay +ĠC li +ome tri +={ [ +******************************** ************************ +Ġop inion +Rule Context +D UP +\ "> ¶ }} +ãĥ Ĭ +Ro ad +smart y +âĤ ģ +xtreem fs +st ick +Ġdo ub +pre load +include graphics +last IndexOf +custom ize +Ġclear ly +Created At +è « +Ġr ub +agent a +PHP Excel +Ġes se +Download s +will Return +C mp +M UT +In active +á» į +Ġglobal s +Ind irect +I W +An aly +ĠRes olve +ãĥ³ ãĤ¹ +ĠPost greSQL +åºı åĪĹ +fac et +E OS +O X +Ġp kt +bo y +(( (( +call able +Sto pped +ĠTrans lation +LP ADDING +ĠCEL LPADDING +O pp +Ġv c +ĠC MS +Ġtext Align +Fl uid +Ġbl end +blue print +ĠAx is +ĠÐ ľ +method Result +rows HTML +Proto buf +adapter s +T b +á ı +ch tml +File NotFoundException +Ġobj eto +idi omas +S us +l ux +in validate +ex perience +ad m +', ` +St aff +Ġal one +do ctype +ĠInst itute +Sem aphore +autom ation +en emy +ast ers +Display ed +activ ities +Ġ× Ļ +对åºĶ çļĦ +K eeper +Z ONE +v pn +() }, +ĠMe an +ny a +Throw n +Ġtrace back +Ġdevelop ing +] ++; +n ano +re placement +ĠA CL +set Default +dec ision +cop ies +!!!!!!!! !!!!!!!! +Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ĠA h +oo b +Attach ments +Ġconven ient +an ci +Ġd ic +con gr +ph inx +Ġbase Url +VID ER +Ġca ught +uml ah +- { +St orm +Ġtr aits +Be low +еР¶ +éĶ Ģ +Ġul ong +b attery +n oc +ess or +ĠB a +ust o +ĠH it +Ġres idual +Ġdis card +Or WhiteSpace +A lex +d cb +u ate +v iv +Ġd engan +ri se +Ġex ceed +Ġpr z +wh itelist +Des cr +æī ¿ +DR V +Ġconf using +Ġkon figur +Cod ing +maked irs +S r +is NotEmpty +Ġd uplicates +ĊĊ ĊĠĠĠĠĠ +IN V +Ġnull a +Ġdo g +Ġassert Null +Ġmod s +S ans +å ¨ +ij IJ +Ġd ash +Ċĉ ĠĠĠĠĠĠĠĠ +Ch ip +åº ľ +Ġput ting +об ав +Ġprec ise +Ġf avorite +(" ' +ĠG T +dd f +md l +for der +map box +ts v +Ġ"- // +Ne ighbor +ĠPartial Eq +ŀ ĺ +Ġon Press +cl ub +--- + +exp Data +åıª æľī +J avascript +Sign ing +Ġro ugh +ca ught +Inst anti +Ġparticular ly +âĸij âĸij +L it +j udge +Ġf ort +',' = +Ġz z +éĺ ² +åģ ĩ +J OIN +ar ang +he ses +ot er +åħ ħ +Ġarch ivo +appro val +N ama +Ġre call +Type Def +Spec s +ĠLocal Date +Ġ'_ ' +Ġej ec +Ġestab lished +ypot hesis +Recomm end +í İ +Ġd ao +ĠE lectron +AL T +enc er +åĽ ¢ +çĻ ¾ +íķ´ ìĦľ +is ma +ĠD CHECK +ĠL AT +ĠRe try +ok es +Control Point +Argument NullException +Coll ider +st ories +ĠM ED +Ġex plor +ìł IJ +ç¥ ŀ +n ec +Ġb one +Ġd h +em os +cl js +res se +ãģ ¹ +Ġcomp anies +bit coin +B ur +in ference +Ġu ygul +ç½ ² +EX IST +anch er +AND ROID +ìŀ ¬ +X Path +Ġf etched +Ġs cience +Ġst ick +ĠD M +pro filer +ĠRe gistration +æĪ ¿ +è® Ń +(` / +Ġfon ction +S ell +r Log +st ars +he ast +Ġsh rink +Or Fail +char Code +SO C +Bus y +pl er +Graph QL +ĠSelect or +Ġbg color +Ġclip board +Ġë¶ Ģ +) ãĢĤ +[ # +m illiseconds +u ar +а ÑģÑĤ +и д +Ġtext o +Resource Manager +ARE A +Ġpublish ing +æĶ¯ ä»ĺ +POL ICY +Ġfre ed +ol g +pt o +De crypt +Add Range +Le ad +ä½ Ļ +Token Type +æĹ ı +ched ules +Ġred ucer +%; "> +ĠDest ination +è§Ĩ é¢ij +Ġíģ ´ë +ce p +sh im +col ate +ä¸Ģ èά +Ġcamp o +×ĥ ", +Q M +f cc +ĠT AH +ĠApp Compat +gen ome +æĬ ŀ +ĠVAR I +ë² Ħ +Ġdiag onal +ĠMESS AGE +Ġf ish +Ġa uch +ĠS MS +ĠL C +ĠL IN +Ġle ads +Ġar ma +Ġintegr ated +volume s +Ŀ ì²´ +Ġc ab +ĊĠĠĠ ĊĠĠĠ +ic ation +// } +ĠC SL +Ġen cour +Ġcor pus +à¸Ń à¸ĩ +Ġsaf ecall +ĠAlloc ate +ivari ate +N at +Ġs ymlink +Ġb ill +Ġnot ation +Data Object +Rel ational +Ġgood s +Led ger +G old +] --> +i ção +ĉĉ Ċĉ +ĠC AT +ĠW rap +Ġset Value +Ġband width +Ġderiv ative +` ] +c ro +ĊĠ ĊĠĠĠ +row d +ĠDe code +write String +Web hook +ĠImage s +éģ¸ æĬŀ +Ġf id +ĠD L +Ex planation +Ġgr af +Ġmode lo +stat uses +Stat uses +Ġìķ Į +ì¶ ľ +c ame +v otes +Ġst uck +Ġif rame +Ġcom mercial +rep lication +Ġre stricted +Ġjustify Content +åħ· ä½ĵ +Ġc ulture +ction aries +sc re +Ġchange log +ĠCh romium +çŁ¥ éģĵ +Ġ(~ > +× ĵ +Ġ" // +IN UE +ec d +tt family +decor ator +Ġaplic ación +Ġappreci ated +Ġre ss +ed String +Ġun isim +comp osite +So ap +è´ ¨ +Protocol s +ĠInformation en +L ik +N tk +am ap +int l +Ġun def +method Name +LL VM +à° ¿ +éĴ ® +G RAN +Ġout going +ĠK ing +éĢī 项 +Ġpick ed +GU ILayout +D h +M orph +Ġb are +Ġl é +div id +UN ET +XXXX XXXX +w is +AD ING +Ġpy lint +ATT ACH +PARE NT +v components +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +JSON Array +Simple IndexQueryParserTests +Ip Address +ĠNetwork s +ĠOper ations +CHANG ED +d if +de mand +ext ensibility +RE CE +Ġhas hes +ĠNo Such +Multi ply +S lf +S UR +Ref und +short s +Ġgen ome +G OO +K I +Ġn ec +ĠO rient +Query String +Ġjson Object +Ġposs ibility +Ġorigin ally +ĠìĦ ł +ĠREQ UEST +cks db +ct ime +ad ir +Ċĉĉ Ċĉĉ +ap l +ap ons +te or +az a +Ġauthor ity +Ġtell s +ãģķãĤĮ ãģ¾ãģĻ +Ġcle ared +< (), +W ind +w ake +ĠS td +ort ex +Ġex clusive +cl in +ÑĤ оÑĢ +car s +Ġp est +ĠK C +íķĺ ë©´ +P Q +Z U +Error Response +Ġsub title +Query Params +ĠWord Press +ĠTAH UN +R igid +j ud +Ġv ault +Ġh ang +Read All +cor p +ĠIndex es +Guard ar +t ell +µ ľ +=' + +Int el +æĿ Ĥ +Import ant +clip board +Ġpou ž +X E +ì Ĥ +in dividual +Ġr l +Ġsub tract +open ed +PER IOD +G ONE +T REE +b q +ļ ł +st y +bo unc +',' - +event Name +æĻ ® +Fold ers +L W +b son +à ® +Time Unit +iter able +mer chant +Red uc +çł Ķ +B eta +ame d +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ +mail er +Mov ing +ĠAli as +Ġhint s +B as +Ġb ags +get Index +IS A +cip ients +H u +N ever +at z +ro k +ĠS ing +ĠM ini +do ctor +æľ ĥ +Ġtitle s +Vector s +ı è§Ī +ath on +DE T +index ed +che vron +Ġz o +ĠRes er +л ем +ines is +Art ist +SIGN AL +Ġmag na +a an +Ġn úmero +lass ian +ĠN il +Ġpro pose +ĠTest ed +fd c +los ses +ad f +Ġw a +ĠD ex +Ġ# : +class ic +čĊčĊ čĊčĊ +Wh o +Ġappro val +ĠControl s +æ¯Ķ å¦Ĥ +Compact TextString +ĠSIGN AL +DESCRIPT OR +K ill +h oliday +re present +get Method +ĠO VER +Ġk m +ĠQ R +Long itude +Ġsear ched +Ġf oi +ĠP FN +Ġk omp +Ġstart Date +Dis cord +Ġmov ies +éĢļ çŁ¥ +god ot +In dividual +ll ong +be ats +PRO VIDED +math rm +Serialization Error +Ġatom s +V el +t lement +str conv +cond s +ĠPAR SER +recip es +) }} +S id +ul u +sp b +ult aneous +con e +ĠR OS +App ointment +S ampling +m or +r ac +ãģ ĺ +UL ES +>( () +Ġpriv acy +Ġanim ations +æĮī éĴ® +r tp +Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠ +as pberry +key up +Ġcomp iling +Ġvalid ators +à® Ł +à° ¾ +pf cp +Alert s +COR RECT +Ġstand alone +Ġgrow th +âĢĵâĢĵ âĢĵâĢĵ +} @ +uk tur +ìĦ ł +Built in +åįı è®® +' - +[ {{ +is che +() ]) +ĠTh ree +ãĤ¢ ãĤ¯ +tele gram +Descri ptions +Ġrepl acing +C tl +S HE +d avid +re play +at ó +ĠC SR +Re cognition +ĠN orth +sub process +length s +Ġdist ances +Per Page +ëł Ī +ĠÂł ĠÂł +C W +C ANCEL +K O +f avorite +oc s +Comp ose +Service Model +ÑģÑĤ ан +Ġconnect ivity +ĠSw ap +sanit ize +EntityFramework Core +g ence +le ast +Get User +unc hed +ĠPR IV +NotFound Error +Ġvi ol +Ġappear ance +ạ i +æ ¹ +ar ms +ĠM ultip +ĠR ules +ĠK it +Ġdel le +é¢ Ĩ +QU A +ÑĨи и +ĠDesign er +éĿŀ 常 +SERIAL E +F abric +H w +Ġo mit +ĠS F +,' '),( +ull ong +log rus +Ġinitial State +Sw agger +Extension Registry +ãģ¾ ãģĽãĤĵ +Ġaug ment +v ect +Î ¯ +ĠS anit +put Extra +add Attribute +Ġno v +vert ising +Ġbl k +Ġdie se +BOT TOM +¦ãĥ¼ãĤ¶ ãĥ¼ +, ), +p T +ĠM ix +Ġ& $ +ĠU R +Ġthrough out +co tt +ĠI PT +Ġe vidence +Ġindex ing +EDIT OR +Ġpou vez +Adv ance +Ġm agnitude +=" "> ()) +B en +j x +v z +ë ¬ +Ġ ull +ĠM ass +": [{" +ne j +Del imit +~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ +SUFF IX +! =' +K t +Ġs phere +oo f +be g +Access ibility +åıij çĶŁ +ĠCos mos +Ġíķ Ħ +Ġt an +Ġ= ' +Ġh s +Re play +UL ONG +Ġhe at +table block +CRE ATED +ĠOr d +Vi olation +cem ber +E FI +Ġso v +Ġgl Vertex +Ġcomment ed +áļ ĭ +âĸĦ âĸĦ +ĠF OL +File Dialog +Return Type +å®ŀ éĻħ +ĠR ID +Ġtrans itions +Ġopen s +watch er +缸 åIJĮ += ? +> % +] | +x aml +Ġde coding +é ho +Ġmaint ained +V ENDOR +X J +n as +t if +le ading +Ġout bound +) }; +j ab +j pa +q h +č Ċĉĉĉĉĉĉĉĉĉĉ +Ġ ice +que ued +bu mp +ES P +AS P +ado be +Ġbound aries +Art icles +Ġ § +N t +Ġ ÃŃ +Ġw orry +() / +ch ap +ĠM IME +Ċĉĉĉ ĠĠĠĠĠĠ +ĠV B +error Code +bar code +zen ia +ĠExec utor +çµ IJ +F o +J wt +S AM +ĠS UP +get Action +EN GINE +... ", +thing s +Ġ:: : +PAR SER +íķĺ ì§Ģ +)| [ +h df +ĊĠ ĊĠ +The ory +visual studio +Ġhex adecimal +S ending +` \ +v endors +ĠC orre +set Current +__ )) +VER BOSE +Ġsup plier +CHECK S +Ġpers pective +ี à¹Ī +D og +e core +g ab +ê · +Ġc argo +it u +ĠH ide +ĠJ upyter +ĠList Node +ö g +CR C +Ġclean ed +ĠOrg an +COD ING +R a +en voy +Ġf ib +ess oa +be ee +Comp osition +af d +Search Result +Ġsup press +Ġaut of +Pod s +PRI ORITY +get Boolean +åı Į +Ġflex ible +éĺ ³ +M AR +c ce +ĠS uggest +mo lec +sub subsection +gen re +容 åύ +J a +Info f +bit bucket +Ġ( >= +() ", +get Activity +ist io +Ġl iter +ant t +fl ask +Box es +rep lica +Gr pc +æīĭ æľº +alp ine +f z +ļ Į +() ))) +In Bytes +av o +set Description +select All +limit ations +track ed +Ạ§ +ĠON LY +merch ants +/ ../ +D an +E ast +V ulkan +is Present +Ġp ed +project Id +Ġph ysics +ìĹ ħ +sn printf +ĠëIJ ĺ +B Q +U x +[] ): +ó s +Ġcombin ations +DOCS IS +ê Ļĭ +Ġf an +get Resources +On Error +Ġpart ir +fa hren +SC AL +åĩ ı +' ^ +. "] +j un +le z +() `. +Ġ[ {" +Ġun checked +ä nder +ĠEn code +Reg Exp +PC I +aut ogen +BL K +VAR CHAR +Pause d +recomm end +á¹ ĥ +Ġlap top +P ivot +Å « +Ġas ci +Ġus ual +cr ash +="# [ +Ins pect +tax onomy +ĠMETHO D +S vc +× ¢ +Ġ$ "{ +di agnostics +Ġrel ations +Valid ators +Ñĥ Ñģ +æĸ° å¢ŀ +NNNN NNNN +unge on +Ġasc ending +unist d +S aving +b sl +r nn +ed b +ãĥ ļ +emp o +Group Box +gener ators +Ġ<$ > +n ey +p Next +u ix +he m +Ġre serve +(' { +ir on +mem cmp +CM OF +c utoff +st l +Ġ{ | +Ġe f +OR IGIN +ĠJ VS +Ġq t +Author ize +Ġ---------------------------------------------------------------- ------------ +Ġ{: . +->{ ' +nes day +| > +ë ¯¸ +iv il +ang erous +AG ENT +exp onent +à§ ĭ +Fin ally +Sig ma +ĠL es +py ri +Ġexec utes +S ms +m appings +Ġin vention +Ġse a +Ġlo se +lick r +Ġret ries +ier a +week ly +Reser vation +ĠHttpServlet Response +> --> +b os +as df +est im +igh th +ãĥ¼ ãĤ¯ +lb k +ĠSER VER +GENER AL +D J +S ites +Inter ruptedException +Method Call +ins ights +Ġcontrol led +IsNull OrWhiteSpace +int s +De posit +Ġover head +tip s +Ġme mb +Ġset Name +Ġlocal s +'> " +ĠÑĦ ай +pens ive +b is +f cf +Error Action +j Äħ +o ch +ãĥ ĵ +Col lapse +Ġ/* #__ +Sign In +ĠMod ifier +) :: +ver tx +ĠL G +ãĥ Ķ +а ем +æĢ İ +s pe +th r +user ID +que l +pr ices +Ġout file +work bench +By Val +ĠZ end +ç§ ¯ +scroll bar +FIX ED +atell ite +L aravel +y er +re action +at son +Ġt tl +Ġp ts +un register +Ġo sc +Ġdistribut ions +ĠCom ments +ho z +month s +agr ams +"> . +{} ", +Unit ed +åıĸ æ¶Ī +Circ uit +L ost +ĠC lip +ĠM ont +Ex ceeded +Ġsh ipping +ãĥ į +obj c +OF T +Ġnecess arily +mid ine +Ġexemp lo +ãģĮãģĤ ãĤĬãģ¾ãģĻ +} "/> +Qu it +anc ia +Ġmodify ing +ĠRef lection +Ġ ä¸Ĭ +an ime +ĠP refix +IT ICAL +ĠRe po +Un available +LO Y +draw ing +ĠSw agger +Ġguarante e +ĠBuffered Reader +Ġusu ário +Z O +á ½ +orm ap +Un implemented +sign als +Ab sent +Ġng x +ĠRef lect +ISH ED +Ø · +Work load +s ip +ë ħ +C ookies +C ASCADE +m tx +in ternet +is y +ĠC X +ĠEN DIF +k j +is an +Ġre base +fe a +Ġap k +Ġco res +ĠìĹ ° +âķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJ âķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJ +ap or +ov ánÃŃ +remove All +Min imal +è§ ī +yy Dollar +Ġpol ling +Ġë° ĺ +f is +ĠR S +Ġqu iet +ham crest +Suggest ion +ĠWrit ing +Ġguarante ed +tr unc +ĠT od +Ġan g +}} / +Ġdi agnostics +GE O +éĿ Ļ +pod cast +ál ó +Ġrob ust +P DO +b am +r ans +is In +ĠA rm +lang s +subject s +Inv ite +Pers ist +E INVAL +G ro +li ot +å® ¡ +Ag ain +as ar +Ġb abel +if old +Ġun ix +Ġdis posit +IS S +di agram +bar rier +Ġsent ences +Visual Style +SEL F +ĠEm ber +ëª ħ +Ġaccel eration +. \+ +T UR +f ro +q os +re x +Ġin ode +get Children +ĠP ending +gr and +Test Harness +":" "," +Ġproperty Name +Ġmis sion +çī Į +pass wd +åĨħ éĥ¨ +ĠProcess or +ORIZ ONTAL +b right +ĠĠĠĠ ĊĠĠĠĠĠĠĠ +Ġs int +Ġn isi +Ġun install +Book mark +M r +c nn +z Hj +é ¾ +Ġ} // +Ġtime d +remove Child +Rel ations +æĪij çļĦ +Ġcr ashes +ĠUnit ed +Ġess ere +Vw D +K U +b db +ĠM al +add Field +ie vement +çº ¢ +story book +Ġsatisf ied +Ġw d +tr aj +Arg b +Ġvalid ates +Run s +MM C +ĠGu ard +c ir +Ġt ee +Ġc ov +ĠS on +to po +ĠG CC +ref und +En crypted +not Null +Ġqu er +Ġcons ensus +inv ocation +Align ed +parametri ze +pyri midine +] "); +mp tom +//// // +Or Else +SC re +ĠDel ta +Ġtear Down +at os +Ġf m +set Message +child Nodes +Ġinsert ion +Ġcancell ation +Ġdolo re +G t +a ab +g host +ĠC URL +ĠL N +ense d +ann a +Ġì Ļ +ins pection +T ween +b ell +p refer +Ċ ĊĠĠĠĠĠĠĠĠĠĠ +ro i +ex tr +ab bre +ll er +B j +f link +Ġ' ~ +ĠD P +pos ix +代 çIJĨ +Ġincrease d +PEND ING +J A +Y XR +c aster +ĠT utorial +ĠL ic +bo unded +be f +Ġz ijn +æİ Ī +ж е +Ġfrag ments +P AL +S ect +Ġin vert +Ġerror Code +éĢ » +éĻ į +[{" -", +ĠArch ive +MOT OR +PLI O +Marshall er +ĠA PR +em sp +est imator +Ġmin x +Ġí ĥ +GO JT +hgl BI +zHj ZQW +S am +c dd +sp acer +Ġk in +cmd s +çĤ º +Ġemploy ees +| -------------------------------------------------------------------------- +ch ors +client Id +Ep isode +> ), +I US +n atural +ct est +back trace +Ġpl ural +dis posing +Ġno op +åIJ Ĺ +Ġpe ut +Spring Boot +b rightness +Ġc ertific +get View +ĠD LL +Ġpro mp +Time Span +Me eting +|| ( +ĠMon ad +æıIJ 示 +ĠOFF SET +; ` +T ier +T TL +Ġ ÙĨ +In lining +back slash +ta pe +Cl us +Lat ency +ñ a +ĠRo ad +Ġa dopt +mp p +Ġy ö +ild a +render ed +åī ² +D AC +Ġ[ / +ĠString s +[] } +Ġdirection s +C AD +il de +Ġ/ \. +Ġal ive +ok ument +Ġsm allest +WE IGHT +Ġtra verse +Ġprevent s +f no +se gu +ĠC LO +ir is +IN DIR +ĠSt ation +FI ELDS +avel ength +r ases +Re action +ve is +Sh own +čĊĉĉĉĉ čĊĉĉĉ +Scal a +, ', +E vidence +Ġse ct +Ġg id +Test Class +off s +cap ability +ĠMake file +Chunk s +Ġangle s +In ference +Ġis Empty +ind x +Node List +Inter sect +ĠLO W +XML Schema +COMP ARE +Install ing +G pu +s coped +Ġs pend +Ġm ine +Ġpr ices +ĠID S +ĠAd apt +в еÑĢ +Ġæ · +Ġsignature s +Anim ated +Ġìľ ł +ĠDeep Copy +ĠEner gy +B ond +x n +Pro duces +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ĠH W +sub menu +Ġpath name +ĠX X +Ġdist ribu +Ġassoci ate +Cor outine +èĩªå·± çļĦ +in dependent +an j +"; '} +åĪ ¥ +abor ator +ĠSl ider +Outer Class +B CD +Ġb az +Ġde posit +Ġh og +ĠM ichael +Ġr am +Ġj ako +ĠW enn +æİ ī +IR C +Internal ServerError +å± ı +II I +Exact ly +tagHelper ExecutionContext +G X +u char +| @ +ar á +Ġ< ! +Ġh om +Ġint ensity +Ġk ay +Key Id +Ġrequest ing +ings Enum +Vis ion +Ġdir s +æİ¥ æĶ¶ +compat ibility +Ġsus pect +ĠLIB ERTY +Invariant Culture +id f +io ctl +ens ation +TO S +Out side +je ky +ĠCom munication +Ġfore cast +Ġbas ename +SCH ED +éĢ» è¾ij +O w +m ann +Ġiss ued +cd s +éļ IJ +/ "} +Ġv ac +list ed +script ive +ĠComp uting +ĠSh ot +{} \ +ge ben +ĠP CI +fil m +S AT +ĠS RC +Ġë Ħ +ASS OC +Account Name +IE EE +Ġmonth ly +çĦ ¡ +Å º +es se +lo ž +ĠC at +ĠList ener +jeky ll +* < +D ur +D ial +K r +L uc +me x +get Local +ack s +ĠM arch +art s +mo jo +inst itution +Ġwonder ing +H or +ĠT utor +Add To +cal lee +rid ing +Custom ers +follow ing +Navig ate +Q r +Ġ å°ı +Ġ æł¹æį® +de struct +Ġn eces +Ġo ss +ĠL in +__ .__ +ynam odb +Ġlength s +ĠImage View +MQ TT +Ġtalk ing +MethodImpl Options +f uel +l id +ĠN U +": { +PE AT +ĠLog o +\": {\" +ĠExt ensions +Ġìĺ ¤ +C able +st retch +pack er +Ġprotocol s +Integr al +Ġmount ed +d am +g sub +Ġ ult +Ġg ib +ĠW P +fore ground +HO OK +Ġìŀ ħ +Bus queda +èĬ ± +Ġmé todo +Optim izer +D realtime +_ ), +t own +Ġp sy +Ġo t +Data Service +ink s +read Line +ภ³ +Ġdist ingu +Ġgu ys +GD AL +à±ģ '), +ApiModel Property +Drealtime hot +s ensitive +Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġde ze +čĊĠ č +Ġtext ures +cf n +Sk u +Ġweight ed +d nn +"> - +Ġi pc +éĺ ¶ +is son +Ġb ere +ap pear +Ġg rey +Ġg arbage +ĠR ank +Ġimport ing +Ġ($ _ +Ġref s +Host ing +MODE M +Ġcalcul ations +ãģĹãģ¦ ãģıãģłãģķãģĦ +descri pcion +m time +oo led +ãģ ¸ +ĠIn form +Ġcomp anion +å° ģ +Assign able +ĠC atch +Ġ[ -- +Ġal go +Ġen abling +å® ½ +CON N +CON S +hl sl +J avadoc +S on +w q +Ġf arm +Ġb illing +Ġg db +Ġi Phone +Ġ\ | +Item Id +Of Work +æŃ£ 常 +ĠAttribute Error +Ġ 为 +(" ^ +Ġne bo +è·¯ çͱ +ĠArch itecture +bru ary +f db +Ġb rightness +ĠM or +bug zilla +Ġad vice +device Id +.' " +Provide s +Scroll Pane +ê² ° +Ġadipis cing +ĠAmer ica +Ġvit ae +. ] +G att +Z h +g Y +p referred +and Expect +Ġ| \ +ĠIn ner +]( {{ +Base Url +Ġte lemetry +Ġarch itect +B attle +Q s +i ke +Ġì ¡° +Activ ated +DY NAMIC +ĠGa ussian +H d +me ld +el ist +up pet +ภĬ +Property Type +fa a +has ht +Ġ'../../ ../../ +Ġê° Ŀì²´ +ë§ ¤ +æ¥ ¼ +âĶģâĶģ âĶģâĶģ +# ' +a ic +') }}> ; +Ġco up +ram id +RUN TIME +ĠBig Number +PRINT F +ì nh +Ġvolupt ate +P J +Ġt old +Ġre versed +ol ine +ce c +end ian +Render Target +Ġhost ing +REG EX +Ġchart s +Ġak ka +ĠPoly gon +ThreadPool Executor +/ [ +l ater +Ġt unnel +Ġin dustry +co red +get List +te lemetry +Ġ\ [ +fe f +Ġassign ments +zhi hu +U t +V l +Ġt ier +RE M +Array Of +DB Instance +}` } +Ġeffect ively +ĠEMP TY +rLog Util +C ron +d ab +Ġa é +Ġ" | +() }} +be it +ee f +uch sia +Web pack +ê° ģ +à° ® +Fact ories +sym fony +T f +k now +ass is +http Client +ĠLog s +ha us +ĠNull able +U r +ĠP adding +Ġch amp +post al +af b +Ġfin ancial +Ġclick s +D y +Ġ" )) +Ġto po +ĠP EM +Ġget State +Part icles +Part itions +Include d +ĠRel ative +u its +un shift +ĠT ur +sig s +market place +çĽij åIJ¬ +' _ +N aming +el ite +ĠS EQ +em i +og g +Ġend Date +Inter cept +Ġcre ature +Ġde be +Ġset Id +aw a +cc d +л ÑĮ +ä¸Ń å¿ĥ +ĠPRO P +ĠAUTH OR +* $ +b lo +th o +ĠH P +]) ), +Ġus o +ঠ¦ +ĠSub scribe +ĠAt tr +curr Pos +Ġsubst itution +in l +Ġd v +ĠIn crement +ãĥ Ł +book mark +éĢ £ +ighb ours +ĠArgument Error +>@ [+ +>@[+ ][< +Ġc riterion +set Content +Con sent +Man ip +context s +pack ing +oper ands +isp iel +ĠíĮĮ ìĿ¼ +) ! +P aste +\ "] +g ps +į Ķ +create Text +æķ ħ +has er +Ġsv n +THRESH OLD +Amer ica +E ACH +E quipment +b les +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +st ret +ĠC op +ĠH y +include d +à® µ +ĠRead s +Ġfac et +KS GE +Provide d +Mg mt +SCre ature +A y +Ġ åıª +ut en +co w +ĠL PC +Con sum +Is Empty +End Of +COL LECTION +Ġaccept able +circ ular +( .* +B ATCH +K Y +Ġa le +Ġd ost +åħ ¸ +ãģ« ãģ¤ãģĦãģ¦ +è¨ Ī +Month ly +MACH INE +J PG +á st +center ed +URL Connection +Exp onent +sn ake +ĠpÅĻ ÃŃ +Ġspect rum +un subscribe +Ġb onus +sh er +é d +Ġaction Performed +å¾ Ģ +æĶ » +ulner ability +VisualStyle BackColor +t st +w z +Use VisualStyleBackColor +Ġtheme s +d pkg +ĠC TRL +Status OK +ĠPh ysical +Regex p +ĠاÙĦ Ùħ +Ġglob ally +Regist ers +p reference +Ġ{ _ +User Service +Ġtemp file +建 ç«ĭ +Ġз наÑĩ +wend ung +/ ") +e lems +set Size +St rength +ĠApp lications +cell ent +Rest Controller +: ) +` ï¼Į +d ub +or er +Ġt ent +Ġn as +Ġun i +AS ON +Unknown Fields +( + +N Z +Z IP +f ilt +Ġb n +om ic +To Json +ID LE +cc ión +Ġdis pid +Ġpart e +Ptr Output +ç§ ģ +å¾Ī å¤ļ +vertise ment +ĠĠ ĊĠĠĠĠĠ +el ix +Ġpro metheus +čĊč ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ph o +rt f +msg Types +ef b +Ġgl Get +mask ed +inherit ance +ĠAss ignment +Ġ%> % +congr uent +S ORT +x k +x FC +Ċ ĊĠĠĠĠĊĠĠĠ +Ġ ion +Ġs ns +Ġre pe +() ', +get Input +set Position +User Guide +Char Array +ãĤ¯ ãĥ© +æŀĦ éĢł +ĠEc lipse +at u +Ġd it +ff a +Ġraise s +å®ļ çļĦ +Ġsl ash +" ?", +Ġo il +ĠIn line +text ures +и и +é¢ ľ +=\ "" +ĠImmutable List +ONES IA +循 çݯ +Z END +í ĭ +ut r +Ġs qu +Ġlo ca +key down +select ors +gen es +fix es +Ġpract ices +Y y +c sp +Ġn ou +Ġ" =" +Ġre boot +ĠT ax +ĠO m +ĠRe c +AC ION +App Id +Line Number +Ġæ ¨ +Ġc it +Ġà ĸ +à® ¯ +sys log +æµ ıè§Ī +åIJĮ æŃ¥ +CLO UD +ĠCNW SCreature +suggest ion +get Position +Ġ_ ( +Ġ> :: +nd im +sha res +Mov ies +bat ches +Ġregist ro +categor ia +Ġconj unto +V pn +is file +and y +ĠP OL +LOW ER +el im +eb en +DI CT +Spec ies +Enter prise +Pres ence +产 åĵģ +ä¸įåIJĮ çļĦ +h ad +r ice +Ġb on +tr ail +Ġtrack ed +gg ler +Ġíķ ł +ç¼ĸ çłģ +nix pkgs +Ġìļ Ķ +DIP SETTING +in en +ic ao +Ġf ut +Ġre cognize +Ġin flater +par cel +State Machine +Ġtable t +ĠData Types +pub sub +Ġest im +ĠTensor Flow +á»§ a +Z n +p is +id ata +ĠT Table +ĠA rial +ĠM ess +ĠF re +ll en +RO WS +ĠView Group +|| || +ĠCapt ion +K M +re servation +ĠF IR +pl uck +On R +ĠCont inu +sim ulate +Coord inator +ãģ§ãģį ãĤĭ +ĠìĦ¤ ìłķ +ic ates +Ġw ild +get Title +******************************** **************** +scal er +Ġclear fix +TRANS FER +ugi at +ogn itive +R H +Ġt ang +Ġf ö +Ġle xer +Un marshaller +IP V +NOT IFICATION +ĠঠĨ +Ġstandard s +Ġgrup o +P EN +z L +ĠĠĠĠ Ċ +Ġd n +ĠT re +ĠT ermin +int ensity +Ġj p +ĠX code +Ġside s +ĠConstruct s +â Ĩ +ex istent +li z +di agnostic +ts d +den om +Ġless on +en det +Ġf wd +is Open +Ġ}} ">{{ +Non ce +ĠCre ation +ament al +Normal ized +Packet s +Ġir ule +åķ ı +Std out +em l +temp orary +Ġsome what +build ers +display Property +Ġexp ressed +mask s +E g +j Label +ĠL ang +lib erty +æĺ ł +Reg s +ĠUtil ities +Ġseg uint +éĺŁ åĪĹ +D uring +g os +w lp +ë Ķ +al Ä±ÅŁ +ac les +ĠO WNER +sub j +ĠPar allel +Local ization +ан д +sheet s +Ġattach ments +pres ence +P ast +h ugo +Ġn m +ĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠ +dis card +Out bound +ĠÃ Ĺ +)) [ +ĠList View +Ġrel atively +bootstrap cdn +Ġtimestamp s +J Q +r ail +Ġf rm +key ed +draw er +Ġve z +ĠиÑģп олÑĮзов +N x +T m +V r +e fa +o j +en ia +ver e +Up dating +Ġpe lo +Ġreport er +ãĤ¤ ãĥĪ +Ġframework s +ĠRecord s +çŁ Ń +ex clusive +arg ing +IT OR +read String +ĠDO WN +Ġæ Ĭ +Could n +ĠLear n +` ): +un ary +get Root +art en +com munication +Ġpro ve +line To +ell ido +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ +auto load +Send Message +on Error +ke it +wh itespace +object ive +system d +Ġplay ed +phone Number +Dependency Injection +d B +g ive +act s +ĠO wn +ant is +Ġat ribut +base s +Des ired +idx s +BB B +>() (( +Ġb attery +ĠI AM +ĠO bit +arg max +Ġsp read +á» Ľi +Ġcap s +Ġ× ij +horizontal Layout +ĠOrig in +J vm +Ġs aves +iv y +IN TEL +Ġ& ___ +Ġpath lib +with draw +Cell Style +è¿Ľ åħ¥ +æ¼ Ķ +M aven +R abbit +Ġh h +User Profile +UN ICODE +][ $ +Ġpart icipants +RL P +Ġâ Ĩ +ĠTe ams +è´ § +Fe cha +ĠImport Error +M ale +Ġc sr +Ġa h +Ġa es +ĠR SA +public Key +åį Ī +PL L +cv ename +Ġwr apping +VARI ANT +C Z +Ġm int +tr acing +get System +Ġfor um +ert s +ĠW J +ĠW ay +ĠH at +AL WAYS +Mut ate +ìĤ ° +k as +Ġ{ {{ +om s +emp resa +pack ets +resource GroupName +ãĥ¼ãĥ IJ +Ġintegr al +Ġsimilar ity +L ittle +de scribed +ol ves +(" + +com mod +čĊč ĊĠĠĠĠ +EN A +not a +Ġfore ground +ĠãĤ ³ +ế t +# - +T URE +Ġw izard +Re search +Ġsub s +ignore d +lat ency +Ġhel m ++" ' +ĠJson Object +recomm ends +Ġw ifi +Ġh är +ĠP YG +class name +PO SIX +exp ired +FR AG +Ġcmd let +stand alone +åĿ IJ +Ø§Ø ¯ +` ' +Le gal +font awesome +bind gen +Div ision +ĠOp code +æŃ£ åľ¨ +å®Į åħ¨ +Ġembodiment s +get Length +pro tein +ime s +DI FF +******************************** ******** +token ize +ãģ® ãģ§ +Ag gressive +BIT MAP +Ġconsult e +ĠIND ONESIA +: + +ë į° +ro red +Ġd ag +Test Category +ams ung +å¼ ¹ +ĠCR YPT +ê¹ Į +T ls +in ches +li br +ĠO l +Get Item +Th ickness +uint ptr +sol r +share point +ĠAllow s +Corre ction +C tor +get Row +-> __ +ĠD uplicate +Config ured +Ġsn printf +Ġsatisf y +èĥ Į +A mt +b ios +Ø ² +ĠP ACK +Ġ~ ( +pk l +Ġо д +ĠÑ Ĩ +Ġroom s +Ġc k +Ġd ice +os gi +čĊč Ċĉĉĉĉ +ĠG est +dl g +tool Strip +ura ção +å½± åĵį +w ish +ig ible +get Token +Ġ_ (' +so up +Mis sion +decor ate +æŀĦ 建 +L ot +~ /. +get Url +\\ / +NO W +è¿Ļ æĺ¯ +Ġsha res +ĠвÑĭ п +è ij +Ġc á»§a +un ed +Ġa e +assert ion +ues day +As k +Dist ributed +onto logy +Ñĥн к +Ġull am +$ ", +J u +O j +a io +b are +Ġex e +åħ Ń +DI AN +Ġgo als +vo ir +Sort ing +Ġ"* " +WEB PACK +Asc ii +=-=- =-=- +BAS IC +` ** +p ipelines +in ser +Con str +ĠJ ack +å¿ µ +好 çļĦ +associ ate +STAND ARD +C Windows +T ess +É Ļ +ĠC rypt +ĠP our +Co lo +æłĩ é¢ĺ +Ġë° ı +N IM +l ifetime +r te +Ġl ng +db a +Ġtrans ient +blue tooth +ĠSpec ification +æŃ£ ç¡® +calcul ator +äh len +E AR +M x +l sp +Ġn ib +ĠP res +let ters +At tempts +Ġapp arent +BL AS +Ġadjust ed +categor ical +JNI Env +T IN +i ÅŁ +Ġto das +Ġstr cpy +ump tions +Ġpa id +Ġincre ases +Delim iter +tr acer +)) / +art e +oid s +Ġdef s +ber o +Ġclient Id +'> "; +Network ing +AAAAAAAA AAAAAAAA += : +M sk +ĠB el +bu ddy +ĠY O +kt or +Ġt au +get opt +Un i +Ġte k +ä¹ IJ +Ġcons ent +sn mp +----- | +ĠAw esome +Ġsitu ations +ĠPYG LOW +L os +j ul +ĠS B +ch alk +ĠV o +inst ant +lik es +ç¼ º +ãĥĹãĥŃ ãĤ°ãĥ© +) `. +st re +ut z +== > +ĠC trl +pro grams +ID C +ç» į +Try GetValue +ĠCapt ure +/ '; +Ex perience +čĊĉ ĠĠĠĠĠĠĠ +ĠDe legate +Buffer Exception +UP D +WN r +sched ul +Ġìł Ģ +Press ure +visual ization +Ġmultip lier +Ġ'{} ' +ĠRefer ences +Ġìĭ¤ íĸī +E u +get Table +ne arest +Ġpre set +mock s +ATUR AN +ĠN L +SE VER +By Type +Ġpr agma +enc ias +ĠRes olver +Build ers +Exp iry +čĊĠĠĠĠĠĠĠĠĠĠĠĠ čĊĠĠĠĠĠĠĠĠĠĠĠ +ç¥ ¨ +do be +vey or +atur day +иÑĩ еÑģ +Ġresol ves +ĠæŁ¥ 询 +ĠMUL TI +ŀĺ ìĬ¤ +n ails +get Total +ĠN AT +Ġk ick +Ġresource Culture +fin ance +ãĥ¼ãĥ ł +"=> $ +haust ive +Ġf ired +Ġf ingerprint +is ch +Ġp si +ĠT AB +og ene +New Value +Ġder ive +Ġhand s +ĠChange log +Compiler Services +Y s +e se +ment ions +EX CL +ik ipedia +Scroll View +åħ¨ éĥ¨ +D up +I List +f ad +g io +ĠB oost +Ġall a +by e +Ġhas zn +ĠArt ifact +claim s +EXPECT ED +H er +I am +K W +K in +P c +u ž +Ġc ad +ri ction +get F +Ġpro ces +Ex ercise +def in +Com bined +CON V +ste am +ç© ¶ +nix os +èĻ ļ +OPER ATOR +ç§» åĬ¨ +Ġinterpre ted +s peak +ĠP D +Ġun changed +Ġdo k +Ġen caps +âĶĢ âĶ +ìļ ´ +nv im +åºĶç͍ ç¨ĭåºı +B ib +b be +f acing +ĠI G +base Path +Ent ropy +Ġaccess ibility +por cion +tech net +Ġcontract s +J v +T EX +ĠP V +ĊĠĠ ĊĊĠĠ +Ġle ak +pre processor +ren ce +edit ing +Ġvi ene +Ġba ÅŁ +ĠÑį ÑĤо +ĠAutom ation +Ġrecurs ively +P AS +b ak +t orrent +Ġ ################################ +Ġ= ======== +err Handler +PRO M +sd ay +Ġalloc a +datac atalog +Ġannot ated +Ġf close +ĠT ex +ĠM aint +Ċĉĉĉĉ Ċĉĉ +Integer Field +Display Mode +ãĤ¹ ãĥĨ +HTTP S +ãģĬ ãĤĪ +V b +me eting +Ġre connect +Ġk it +Be am +Is Set +mod ifiable +tag ged +ĠStyle Sheet +Ġmá qu +D ynamics +b cf +p z +ent al +Ġb son +ĠM otion +Ġtr ick +ĠJ une +round ing +Ġapi Key +ĠNotImplemented Exception +T ID +b attle +ss ize +Ġl abeled +ĠM ot +pro visioning +Box Layout +ĠTask s +Ġind irect +>' + +M alloc +b il +g ad +| ---|---| +Ġ 大 +Ġc err +es ium +im ity +Ġcon ex +ĠE mp +SE CURITY +itch en +Ġem itter +ĠOp Const +C g +ĠS TE +ĠS outh +aa S +" & +S quared +W ID +á Ł +at lassian +Ġg ar +ĠF IN +ER IC +ĠW C +String To +Access Control +ĠKey word +Accessor Impl +ĠHE ADER +ĠApr il +IMPORT ED +HttpServlet Response +Cool down +ĠQual ity +C ENT +K er +ĠC PP +Ġmod o +pri mer +IR A +I ll +f rozen +Ġl uck +'] ]], +ঠĩ +ç¦ ģ +p apers +Ġf ight +Ġe co +ĠE duc +TR AIN +server less +Ġë ¦ +SO CK +Ġ)) } +íĥ ľ +acob ian +L BL +W AL +` } +at m +Sm ooth +U k +g lo +Ġs ut +Sto res +ĠPer missions +Ġæ ¯ +ĠPa ul +E vt +F re +f bb +k ick +in ant +ss id +Ġdo ck +н ом +Ġad res +Mapping URL +prob ability +Ġopp osite +lich en +THE ME +ĠMOD ULE +ãģĬãĤĪ ãģ³ +Y m +ap anese +Ġcon form +и ÑĢов +ë³ ¸ +is Set +app ointment +Block State +Pre c +bet ter +Sol dier +Ġfor th +Ġe get +ĠV PN +node Name +á f +HO UR +mut ations +cr uit +ai ro +Ġbr ackets +Material s +ĠMTL K +H ref +N AN +v ul +de letion +ic ios +ĠT rip +ĠW A +( "> +B KSGE +ob ody +not ices +man ufacturer +cor outines +à° ķ +Ġinvestig ate +A o +C ER +Ġg ere +Ġme ter +Ġcl Object +fb pfcp +Priv ilege +Ġë¶ Ħ +Ġperfect ly +Ġfich ier +Ġs ensors +Ġz h +Al gorithms +Status Bar +Tx n +LD AP +pat ched +implement s +Ġfac ilit +T bl +b cb +x doc +Ġn em +() +" +ĠE arth +De pt +rc he +first Child +math cal +Ġvol tage +Pool Size +/# / +defer red +extract or +Ġf its +Ġ" = +Ġre places +Ġ* ******** +Ġin compatible +Ġd uplicated +model ing +ĠSt ri +web app +Command Buffer +tmp dir +ĠFl uent +Install er +Qt Core +Ġìĸ ´ë +u ing +set Icon +ĠZ oom +session Id +Ġfunc ion +ìłģ ìľ¼ë¡ľ +F u +J ack +f use +en st +Ġp ulse +Ġs ono +un iq +ig ma +Pay Order +bal ancer +Ġretrie ving +аÑĨи и +PLI ER +V p +] }" +j z +Ġre actor +ac f +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġtext area +Ret ries +Mail box +ĠExp and +ãĤ³ ãĥ¼ãĥī +Ġtreat ment +æıĴ åħ¥ +B k +D Z +R ATION +Ġproject Id +Ġcons umed +Include s +picture Box +ĠGrad le +ĠcomponentDid Mount +p Data +ĠA void +Up loader +lp Vtbl +Api Response +Sq rt +M ol +V a +o prot +ne er +Message End +Dis position +Ġsc anning +Ġq w +Ġgr p +Ġchart Instance +Ġз а +mv n +ĠHard ware +J PEG +R b +S en +Ġd anych +pt est +ĠF it +ert ia +ĠU nt +Ġ% "> +ĠNe ural +çͱ äºİ +regist ers +Ġaffect s +GY RO +ä¼ģ ä¸ļ +Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ĠA BI +Ġe levation +Ġan alyzer +Ġstyle Urls +Date time +OL A +Ġover written +PRE V +ĠMan ifest +LD FLAGS +Ġseed s +tick ets +. */ +P oker +[ ]( +d it +d ial +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġd al +ĠP t +Ġl ac +ST A +ST O +emp t +Message Handler +len e +amb ur +entry point +zz a +ĠInitialize Component +Elastic search +Ġopport unity +è®Ń ç»ĥ +B ecause +S keleton +t ub +-- "> +he it +ภ¹ +run e +handle Change +Sk ills +PROPER TIES +Ġconc ise +Ġëĭ¤ ìĿĮ +Ġextreme ly +l iterals +m orph +is Directory +ap y +ĠD ense +form Data +ctx t +Ġcal ibration +Ġplay back +Try Parse +è¯Ń åı¥ +en arios +om ics +List Box +map api +è¯ ¾ +æĽ´ å¤ļ +Graphics Unit +Ġconstruct ors +tid y +S ay +Ġp ued +as ma +ĠT ell +Ġli ves +ffer o +... ') +He at +Ġfl utter +>\ (\ +Ġtech nologies +YW dl +Ġà¦ķ র +amp ing +ca ffe +Ġcheck list +format ting +ç» Ŀ +Ġte acher +é¡ ¶ +Ġtip s +Ġe igen +éĢļ 常 +缮 åīį +åĨĻ åħ¥ +Ġbene fits +Ġaspect s +B ay +S s +g us +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġ ÙĦ +Ġf ilt +н Ñı +Room s +NON NULL +Ġex pert +dd s +Ġadd on +fore st +Ċĉĉĉĉĉĉ Ċĉĉĉĉĉ +conf idence +screen shots +Ġsql alchemy +TRAN SACTION +第 ä¸Ģ个 +é¢ľ èī² +U z +Ġn pc +end Time +Un handled +={ < +Ġsource MappingURL +Temp oral +Ġв оз +Ġdirect ives +ĠWork s +DISABLE D +F g +Ġ eta +col on +á ln +ãģ¨ ãģĹãģ¦ +Syntax Kind +Ġcounter s +MAG IC +Ġexecutor Service +f pga +ĠS ca +Ġj SON +") ( +For Each +éĢ Ļ +èµ ° +ili ation +ãĥª ãĥĨãĤ£ +Ins ights +ĠFeed back +ing redients +Ġ( :: +up loaded +ĠW est +ec i +RO L +current Page +les cope +Ġselect ors +FD RE +Est imate +åĶ ¯ +lecc ione +M GL +] ]( +Ġ{ *} +In et +Message State +cs html +Fl uent +ĠRE PUB +ĠPRO PER +vk Cmd +F t +e er +f W +ab lish +ĠW elcome +From Text +æĹ ¢ +ĠSome thing +Ġë° ° +TOP p +Der iv +ilo ver +Ġinstanti ated +K D +Ġh ip +ĠM F +St derr +ĠE H +Ġas n +ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠ +ĠCh apter +And Set +Struct End +ĠØ ± +Tip s +åĵ Ī +ëł ¤ +·· ·· +C ov +E CD +in place +\\ \" +sv p +ĠìĿ ĺ +]\ : +ãĤ» ãĤ¹ +Relationship s +Ġrend ers +S copes +n ia +un likely +Ġ' .. +ĠS lice +Ġh d +act ed +ĠRe active +Ġcre ar +Http Method +Protocol BufferException +Diff iculty +Ġtre nd +ĠREPUB LIK +< ()> +v ille +Ġth ous +ch dir +let ions +æĪ ª +--------- | +Ġб Ñĥд +ĠLimit ed +ĠвÑģ е +de leg +Ġst aging +Ġh an +IN O +//// / +Ġexp iry +åij ¢ +platform s +éĻIJ åζ +D AG +G od +ur ons +ĠA CE +ĠA ffero +ff b +ĠSt ill +New Guid +ret ries +RES OL +Termin ate +C RL +F an +J X +M v +M as +h ue +n br +Ġ é»ĺ认 +get Header +ĠC redit +Ġ$ < +Ġof s +ĠM ATCH +ĠL V +Ag gregator +Over lap +å¾® ä¿¡ +; ( +d ice +Ġ čĊĠĠĠĠĠ +Ġ æķ°æį® +Ġ" (" +id ue +Ġin validate +set Is +Ġint el +String Len +Ġel t +SE CT +we ise +job form +Ġsm ithy +Ġiter tools +Struct Begin +Ġí ı¬ +clo jure +IZ ER +bas ics +unce ment +TOOL S +D NA +T ar +_ ", +m so +ĠÐ ¢ +Op aque +Has Value +urs al +Pack ed +åł´åIJĪ ãģ¯ +ượ c +@ $( +is olate +ur istic +ĠN om +out lined +Ġen contr +check list +FA CTOR +ian a +Mis match +predict ed +contribut ing +Ġdemonstr ate +ĠEvalu ate +Ġfair ly +I z +un iversal +gr an +Ġpr é +group By +dat ap +à® ª +Ġhand shake +ĠPoint s +Ġdot s +agem aker +ãĥķãĤ © +Ġ åıij +Ġp ok +Ġre lay +Ġre visions +ĠT s +ĠM ON +os able +ĊĠĠ Ċ +go e +Ñĭ Ñħ +Ġsk ippy +ae a +ĠUN PROVIDED +å¤į æĿĤ +c ancellationToken +Ġset ContentView +Sh ar +MO USE +ĠDes cri +"], " +ìł Ģ +DAT ETIME +P LE +Ġw char +ch amp +up dater +ult y +be en +Request Builder +Ġ** ` +âĢ ¯ +pri mitives +cd k +ĠAssert ions +big int +Ġvary ing +av ings +rap id +IS C +Date Picker +tri ple +Ġfe et +Cas cade +R ID +Ġ Å¡ +in ement +if d +Ġ' {" +ĠP ure +ft ext +Ġloc ator +hib it +ĠDeb ian +apim achinery +L G +m rm +ar ith +Ġd ial +am qp +Ġnew State +ĠW E +the y +cy an +rm i +Support s +Sl ack +åį³ åı¯ +D ifferent +E j +M Z +p ump +ur sday +// ------------------------------------------------ +tr ainer +"> // +sp read +assert Not +=' % +IC ATE +Ġ/> ; +Ġold Value +Changed EventArgs +munic ations +f ine +t te +no va +ĠRequest Method +Ġinv ite +åŃĹ èĬĤ +Ġ× Ķ +BASE PATH +ãĤ¸ ãĤ§ +E uler +H um +y al +ļ ¨ +Ġ: ( +Ġas sembler +Hel vetica +Iter ations +ĠLo ss +Volume s +æ¡Ĩ æŀ¶ +\ @ +g static +Ġw m +Ġser ious +write Int +board ing +к аз +Ġâ ĩĴ +quid ity +SEQU ENCE +C c +Y z +m Context +Î ´ +pe ers +out side +и п +Al go +GR ID +rec order +à° ² +pod s +Ġ:- ) +c de +ic l +Ġ' '). +List Response +ne go +ific ial +Ġque ues +Ġes caped +DIR S +ĠPh ysics +Ġcover s +Y ellow +{ # +is Visible +ĠT I +oc cup +ĠR oman +the ory +NS Object +)} > +Maint enance +/ "+ +V an +get Address +Ġan al +ps r +Ad venture +Ġform er +Ġred undant +æ» ¤ +getElementsBy ClassName +maint enance +Ġservi ço +T Q +W d +msg id +Co upon +Ġexist ence +ĠWe ak +NE AR +Ġconsider ing +c decl +d av +as sessment +ĠC AL +ind o +ĠW ave +($ "{ +Lo an +Pl aces +annot ate +ëĭ ¨ +R DD +Ġ åıĤæķ° +Ľ Ħ +ac d +get Transaction +Ġl ights +ES H +Item Selected +ning s +Ob s +Ġ'\ '' +Ġgen es +Ġpriv ileges +SCO PES +导 èĩ´ +L ater +Ġ( )); +ĠS EXP +aff ected +aud ience +semp io +i outil +t ic +x h +Ġit alic +Ġj mp +($ ('# +Get Int +Ġob ter +OS X +insert Before +ĠÑ Ī +deli vr +G MT +L ING +S f +Ġc ul +ing roup +qu ark +br tc +Key Pair +show Message +д ел +E MB +R t +Ġm ont +ind igo +sol ut +Auth enticator +mc ps +Wire Format +conc ile +èĦļ æľ¬ +Ġ ]( +Ġf ps +ĠS a +ĠP WM +ca o +LI KE +Fl ux +Ġopen ssl +.... .. +Ignore d +Cons ensus +a utor +is ations +ot ypes +Ġus able +Ġpo or +SI Z +apro xy +Dem and +R ace +b ir +Ġ ĉĉĉĉ +Ġtr unc +Ġcomp aring +CON DITION +Ġgr ace +Ġdeal ing +ĠSim ulation +ACH ED +robot s +h xx +Å ± +it ulo +Ġth ickness +Comp oser +ĠVe hicle +B LOB +B OLD +H ORIZONTAL +S imp +Z ones +f dd +ĺ IJ +ĠP ipe +File Size +Ġli m +Ġport folio +Ġemit ted +ë© ° +åİŁ åĽł +################################################################ ################ +pref etch +! ] +l un +Ġde letes +ĠI h +debug ging +maz ing +h us +Ġc ette +ĠOpen SSL +è me +Ġrespons ibility +ç Ĩ +re spon +Ġst ages +== ( +ĠF LOAT +En queue +Le ast +Use Case +Ġæ ĭ +protocol s +gal ax +/ $( +D p +at ts +Ġ$ ('< +set Header +ĠD AN +Ġon Close +ĠU SING +execute Query +绣 计 +ĠSem antic +Ġmemo ized +ĠGENER ATED +Sand ia +] ">& +Ġe quip +ĠN orm +). ( +---------------- -- +As ia +[: ] +bb c +ADD RLP +Ident ification +Ġdeliver ed +ĠFORM AT +q v +ĉ Ċĉĉ +ol ist +Ġe quipment +Ġwork load +hold s +ĠOct ober +ĠClean up +K y +T iny +ro to +ĠN IL +Type List +LE EP +ph il +Ġdefault dict +ĠX amarin +nav List +empty List +inc ident +ãģķãĤĮ ãģ¦ãģĦãĤĭ +charCode At +B n +r ations +y en +â Ŀ +Ġn iveau +Ġ$ {{ +ec b +js delivr +Ġmain ly +prec io +Submit ted +Ġsaf ely +Stri pe +N or +st u +pro duk +]) { +Ġì µľ +Ġhttp Client +SC ALL +å¾ ģ +ĠResult Set +spl its +ä»ĭ ç»į +IRT UAL +ĠJAXB Element +hlsl pp +ĠN D +rap pe +SI MD +Pr act +exp iry +cade mic +详 ç»Ĩ +C ancellation +R Q +ĠĠĠ ĊĠĠĠĠĠĠĠ +() [' +ĠB eta +With draw +Method Info +ä¸Ģ èĩ´ +Order ing +Invalid ProtocolBufferException +IR ON +åħ³ äºİ +ÙĪ Ø± +Ġverw endet +K IND +W b +d sc +Ġb atches +=" ); +ĠS quare +Ġex posing +HE LP +Sub set +ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĉ +Spec ify +bon d +Ġalert s +å¼Ģ åIJ¯ +alam at +Concat enation +Ġëĵ ± +確 èªį +C ad +x FD +lo ver +IN ITY +Ġbreak point +dev ops +ä¹ ° +æĸ¹ æ¡Ī +Fe el +Ġcirc um +ạ n +v cf +x u +{ ", +un icip +Ġen ctype +bb bb +Dim s +Mouse Down +ĠSY STEM +C yc +E urope +L ights +c map +ac ci +ĠF HIR +pro fit +gr avity +Ġen joy +AB S +BO UN +direct or +ĠMac ro +оÑģ л +è » +ĠG REEN +Se leccion +({ }) +ible s +ALL Y +Global ization +ĠMan age +Conf irmed +Ġcap able +Ġidentify ing +L H +k ont +z lib +ĠG M +ĠG ive +ant en +CH ILD +Ġiss uer +Cre ature +Mon ster +ĠHel vetica +jac ency +B ob +M iss +M oment +R isk +Ġ ż +Ġm ó +ĠC e +text width +Ad am +Ġed ition +Anim ations +ĠFe el +similar ity +! : +B Z +G IS +Ġp refs +get Month +con vention +ĠL arge +Ġcomp lement +Ġu a +ĠNot ebook +Ġtypes cript +ÅĤ ad +ĠWith out +Ġtot ally +>>>> >>>> +b df +ur us +und erscore +ĠRe ceived +Ġso up +head line +èĥ½ å¤Ł +REG S +minecraft forge +B readcrumb +W ould +iv ar +ĠD ROP +Ġget Instance +add ir +ä¸ ´ +Ġtext s +Wh itespace +INCLUDE D +ĠFI FO +_ )); +r ors +Ä IJ +ce a +Ġok http +ĠDO C +Selected Index +Ġamount s +éĩį å¤į +Ġsnapshot s +â Ļ +Ġ= & +comp anies +Ag reement +å¸ ® +Ġmis c +ĠStream ing +éķ ĩ +cod ings +Ġslide s +) \\ +I Data +e lect +h ass +cl am +ĠU E +comp ilation +а Ñĩ +ĠCon verter +Ċĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉ +Ġyap ı +D ic +H ack +L ane +er k +id y +param type +Ġinst itution +éĺ ¿ +clus ions +' }; +J h +Ġst retch +str ation +current ly +ঠª +rel ax +Ġrefer red +fast a +C aching +N H +Ġt rivial +get field +ĠD NA +dd l +List a +uc lide +Ġad jacent +Ġact s +ĠQ Name +And View +ĠData Set +Ñĥ Ñī +ãĥ¼ ãģ® +ĠRE F +Ġident ification +Mer chant +ĠGN UNET +T icker +ĠS lide +eb b +ONG O +experiment s +B ubble +Z P +ĠC am +gle s +off icer +Ġsc ientific +ung an +ĠPRO JECT +Ver ified +åij ¼ +ÅĻ ed +ed ition +ĠB its +Ġi ot +Ġun available +Ġk s +Ġbuffer ed +F Y +p X +Ġ åĪłéϤ +Ġs ymbolic +Re present +Ċĉĉĉĉ ĠĠĠĠ +å¤ ¹ +Ġed ucation +Ġdat um +lix ir +```` ```` +ðŁĶ ħ +# : +I v +T u +Ġv t +ĠE in +Ġor acle +Id List +"" "" +With Error +к е +к лÑİÑĩ +Ġãĥ ĩ +ĠCoord inate +Ġ Ùģ +Ġme l +br ush +))) ), +')) ); +Ġcache s +âĤ Ĥ +g j +ĠA sk +Ġit r +Data Model +Get Size +Ġro ck +has hes +ĠWh o +cell row +E W +Ġ ĊĊĠ +In come +ag y +Pro vision +Pro visioning +Ġi k +ip ay +++ ]; +CO OKIE +Ġcertain ly +Ġaltern atives +æ´» åĬ¨ +Ġë§Į ëĵ¤ +Ġgovern ment +B EN +c ities +st encil +Ġex ceeded +ED URE +Mov es +Ġvari ation +Ġakt iv +cellrow border +E k +J un +Ġs cheduling +tr usted +ĠB ear +ST AGE +The y +Sub title +ict im +Del iver +Crypto graphy +pok emon +F k +N h +r vm +at um +con ference +Ġset Interval +> +dist ances +sort able +Li braries +AST ER +ÅĽ li +F emale +m av +cc f +IS upport +go als +parse Float +AX IS +Ġty po +Ġess entially +ĠShare Point +$ (' += } +ĠS lot +Ġe ius +Ġuser Info +Ġab bre +ÑĢаР· +uel le +Ġtom orrow +) }. +R w +T el +V c +Ġp es +Ġst icky +ĠC FG +af c +ĠAN SI +Ġmax Width +SI ST +PR ICE +ĠAr duino +ny ch +plan et +sq r +xE F +Fore Color +Ġexplain ed +çģ « +get Start +Ġ. _ +open ing +Mov ed +ĠInvalid OperationException +ÃŃc ÃŃ +> _ +J TextField +lic ed +Ġz n +Ġ"/ ", +other wise +side Y +æĢ§ èĥ½ +PG A +Touch able +ĠDel ivery +ĠRO W +íĺ ķ +ĠOPTION AL +as mine +Ġse mp +end ants +act ors +ĠB B +Ġvalid ity +mov ement +ãģª ãĤĭ +delay ed +ĠÏ Ħ +ce e +Port folio +Ġutil is +íĥ Ģ +B w +re use +de scriptors +ĠSt and +Spec ifier +ĠPAR AM +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġком п +h result +st ors +Ġo mn +ĠP article +ĠD R +Ġun cert +Ġser á +Ġconf used +agn osis +Ġappro aches +ativ a +ç½ij ç«Ļ +GLOBAL S +g ens +Ġb ars +ac z +li pped +set Parameter +Ġg olang +RO SS +EL LOW +Ġrow header +Local DateTime +Ġà ľ +Artifact s +l ü +in jection +(); ?> +Ġex erc +for me +cs d +lit tle +LL ER +Ġstop ping +æ° Ķ +ĠIR Q +- / +B asis +T errain +b erry +ly ft +ĠInput s +æľĢ å°ı +Cr ash +Ġsca les +Ġign oring +ĠGrad ient +F AR +Ġf fi +ĠS uch +ĠN ested +Pro cesses +ost er +amp lify +for Name +roll up +ç͍ æĿ¥ +Ġfind en +(\ ' +Ġhead line +Ġç alÄ±ÅŁ +аеÑĤ ÑģÑı +K HTML +S X +w ang +me md +Ġn ue +ĠA jax +key frames +ix a +ĠString Comparison +á r +OP ATH +端 åı£ +ĠÏ ĥ +iline ar +mist ry +, @ +m ach +s ax +Ĩ ł +ap m +Ġe yes +Ex pose +ific acion +Ne ighbors +æłĩ åĩĨ +hot el +Ġorgan izations +ĠFUN C +Ġmeas ures +Ġyo ung +rabbit mq +Ded icated +M t +ĠA mb +to Throw +ĠM ajor +Ġan tl +ĠH ero +ĠIn strument +CH IP +dot env +GR AY +ĠHttp Status +ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉ +ĠAutom atic +Ġud p +V z +Z k +Ġd ü +ot t +ĠT cl +Ġh x +St able +Ġz ones +ĠX P +Entity Manager +Exp ires +Ġmar shal +ĠRetrie ves +E f +O WNER +Ġb crypt +get Version +play ing +lt k +now rap +Ġsee med +á» ĭ +CRE D +Ġ× ŀ +Ã¥ n +Nu Get +in crease +on ia +Ġc raft +Ġ' > +', @ +read Only +loc ales +Ġdec isions +ĠJan uary +# ---------------------------------------------------------------- +E limin +Ġt ut +Ġtr uncate +Ġj int +åĽ º +ĠZ rLogUtil +ĠWe ather +Ġbr ain +ĠNode s +=$ _ +Arch itecture +Delay ed +éĴ ¥ +ĠPY THON +ro gate +Ġn es +Ġm f +ĠB ere +ign e +app en +query Params +fe ats +MA PP +root s +}\ ) , +Ġqu ot +Ġcur s +Ġpreced ence +F ence +R l +t ow +z ie +st ud +is Debug +Ġw arm +set f +ãĥ ¦ãĥ¼ãĤ¶ãĥ¼ +HE AP +EQ UI +<< ( +Ġ"- ", +Bal anco +ınd an +éģį åİĨ +C amel +G ITHUB +co ck +ri bb +Ġex traction +Ex tras +Ġun zip +aw are +UN LOCK +Ġinter p +trans aksi +mt lk +åħ « +SC M +chan ism +T U +Ġn arrow +get Server +ĠD RI +æĪ ı +rows able +Ġvis ion +vol ved +ĠIcon Data +ä¼ĺ åĮĸ +cot ic +E VT +G c +b olt +Ġb rowse +ĠA bc +Ġex its +Be at +DD S +ĠPl us +Cpp Guid +ĠCla im +ãĤŃãĥ¥ ãĥªãĥĨãĤ£ +D art +O mega +R ON +[ \" +r data +Ġc ub +Ġe conom +oc heck +we is +"] ] +find all +ĠSH IFT +clean ed +Ġrepro duc +ç¡® å®ļ +M l +S alt +ĠB ill +db name +ĠComp letion +Ġdate Time +product Id +ier z +wp db +Ġ{: ?}", +pn l +ĠJul y +ynamo DB +ãĤ± ãĥ¼ãĤ·ãĥ§ãĥ³ +' $ +M ng +Ġse mi +ãĥ Ħ +PRO V +cent os +ĠDIS ABLE +Ġba ÄŁ +Ġti ene +Ġìłķ ë³´ +G AN +Ġ" :: +id ge +get Description +qu iry +Ġtr usted +UL A +time delta +è® ² +iss uer +Normal ization +Live Data +Ġf elt +ĠR ing +trans lated +xml ns +install ing +Struct ures +ĠPRO TO +Animation Frame +ĠLocal DateTime +Fetch ing +ॠĩ +ELAB SCOPES +ç»ij å®ļ +s atisf +de a +Ġf tp +ex po +get Player +od i +ãĥ ľ +Ġno vel +Ġpre t +Ġgroup ing +Ġfin ite +Ġauthor ize +ĠNO I +heroku app +C m +J Button +T weet +f al +Ġd ll +Ex cept +ĠK nown +ra ud +cf d +Internal MessageInfo +Chart s +Ġinform ations +strn cmp +E CC +L ic +r ick +assert ArrayEquals +(! ( +continu ous +? ). +p lex +r if +Ġ ushort +Ġin set +Ġser vlet +Up loaded +=> $ +att ached +car ded +è Ĵ +ĠĠ ĊĊĠĠ +in in +me teor +ĠL UA +ĠB IN +"] = +cast le +cb i +à¸²à¸ Ļ +?, ?, +ĠusÅĤ ugi +Z I +re mo +get Count +ph yr +Table Entry +Pre m +Ġservice Name +CR ITICAL +yy y +trim Balanco +cons ent +Pub Key +Associ ated +Ġverw enden +Õ ¥ +at k +ĠS heet +Re pr +ภŀ +ĠAdd itionally +Ġparse From +ceed ing +Direct or +A UT +Q UI +T EN +n ore +Ġ" ** +Ġg od +Ġan ti +ST L +ml ink +AR C +ĠTr ade +Ġsession Id +Exp ansion +fail ures +ĠÎ ¼ +Pa id +í ı¬ +Ġb road +ĠS pe +test data +from String +ĠY o +ĠUn its +EL Y +Ġorder By +ĠRout ing +ãĥĹãĥŃãĤ°ãĥ© ãĥł +P ulse +ed d +Ġse qu +pl ans +ĠJ OptionPane +Ġpri mer +hal ten +Ġдан нÑĭÑħ +x lim +ç ¹ +Ġre de +Ġw inner +In crease +Ġh ole +Ġ! !! +IT IES +GL int +Det ected +Fl utter +ĠLog ical +rel ations +Ġroot s +Init Struct +Batch Norm +Pred iction +Ġconstruct s +ãĥĩ ãĤ£ +F b +F ig +O SC +f ancy +ĉ ĠĠĠĠ +Ġ ĊĊĠĠĠĠĠĠĠ +Ġde e +ãĤ º +TI BLE +æł ı +('/ '); +ĠDB G +MD W +åĬł åħ¥ +Decl are +curs ively +FOR WARD +Ġmaint ainers +Ġhim self +Parallel Group +PART ITION +ĠLG TM +J y +me et +ĠF ocus +Ġch am +çļĦ æĸĩä»¶ +table t +ÑĢ ÐµÐ¼ +Host Name +Ġpers istence +ä¹Ł æĺ¯ +Ġì¶Ķ ê°Ģ +j is +í ŀ +Ġk ur +pi eces +open qa +Dis posed +Render Pass +Resp onder +ãĤ¤ãĥ³ ãĤ¹ãĥĪ +å£ « +Ġmeaning ful +Ġupgr aded +M ensaje +m desc +Ġ= ======= +Ġc ats +Ġe z +app Name +aw an +ĠJ DK +Ġli ving +Bl ade +ga uge +Ġmut ations +Ġ"{ \" +Ġ문 ìłľ +çŃĸ çķ¥ +ãĤ¸ãĤ§ ãĤ¯ãĥĪ +% ] +R u +t ank +Ġa im +(' " +ĠD em +'] [] +ud nn +current Index +Ġë ¡ +cr m +å¥ Ĺ +ì§Ģ ë§Į +Ld ap +? $ +C String +get cwd +ĠN ONE +ĠR AD +RO UTE +Ċĉĉĉĉĉ ĠĠ +MA Y +Ġmodel Builder +ĠX unit +serv es +SW ITCH +Hex String +ĠPe ople +fade Out +ĠMatch er +Ġreplic ate +S g +b ubble +Ġv ul +Ġh c +trans act +part icipants +tool box +åIJ¦ åĪĻ +Ġfol genden +cccc cc +thy cotic +A ch +M ot +in proceedings +st v +Ġn ic +Ġ" ), +ĠD IM +Ġint val +Ġconfig uring +df d +Block ed +Ġcons umption +åħ¥ åĬĽ +çĪ ± +Ġ'* ', +h askell +Õ ¶ +co ins +ri j +right s +çĶ · +Ġgr and +ĠPer l +ĠØ ¹ +ĠWork space +Ġindent ation +s weep +it ere +ĠS ure +get text +Ġ# ( +Ġcomp osed +File Reader +rt m +á» © +ĠInitial ization +AF TER +ени й +Ġstat istic +ĠPe aking +ä¸ĸ çķĮ +* & +e ight +j Q +al phabet +Ġf ed +Ġb orrow +(" ../../ +ind i +aw l +ĠRe v +]) [ +Gener ating +Email Address +plan es +ĠReg ular +V en +e try +Ġin come +Ġo id +.. " +Ġnew Node +cond ensed +ĠCont inue +Web API +Ġnetwork ing +[{" {", +å¤į åζ +Ġëĭ ¨ +># < +ĠRot ation +ibil idad +X l +Ù ī +est yle +ĠB ible +ĠV i +local ized +\_ \_ +Ġstrict ly +Year s +environ ments +Ġë°© ë²ķ +Ġful fill +M inecraft +P ie +^ ( +Ġ ew +ge ar +get Long +use State +read lines +Ġcomp et +trans formation +å® Ŀ +require NonNull +sl v +Ġinitial izing +SB G +Ġdrop out +dispatch Event +ĠRequire s +Ġsear ches +v ip +Ċ Ċĉĉĉĉĉĉĉ +Ġ ath +uc ión +create ParallelGroup +Ed ucation +Sc atter +gest ion +Security Group +çŃī å¾ħ +Ġincorrect ly +Ġtick ets +accel eration +f resh +} =( +ĠT PM +(& _ +tra verse +Te acher +Deep Equal +Doxy Code +if eq +th ickness +Ġuse Callback +App lied +ven ience +{} {} +ãĥ¼ ãĤĴ +sort By +alloc a +ĠForm Data +Cluster Manager +snapshot s +(', ', +Pretty Printer +çªĹ åı£ +' ', ++ ="< +C Ptr +S ex +or na +ap at +Ġtr ading +Ġme hr +To Remove +Ġelse where +assert ions +ĠRe q +New Request +Ġ++ ; +æŀ Ĺ +hy d +yt img +第 ä¸ī +U w +Ġ( (" +Ġy eah +table LayoutPanel +Ġcurrent User +ĠEn coder +Spec ifies +COMP AT +Ġhighlight ed +Ġencode Varint +Q V +in ent +ut os +Ġm qtt +Object ive +no se +Be ans +Resource GroupName +Ġsign er +mar ies +Home Page +yt vo +Ġfade In +memItem Left +memItem Right +ĠPRIV ATE +G x +P seudo +Ġ( ... +Ġs lope +ĠD IST +Ġ@ _ +ĠM AN +Ġch xj +Ġuser Service +create From +loud Formation +ĠObject Mapper +ĠâĸĪ âĸĪ +> `, +K J +O Data +c mt +u ator +// @ +ĠF ifth +Ġch own +>( _ +dest len +Ġtid ak +E Z +R ds +ac cent +"> ', +ĠG son +Pro vince +ĠCh allenge +Ġhere in +Ph otos +should Be +Ġupdated At +åıĤ çħ§ +Ġgrad le +Ġãĥ ķ +cred s +gom ock +G s +q z +á İ +ut ron +Ġm ů +De g +Get Device +over load +ĠData Table +ä¹ ħ +Ġobt ener +onom ous + § +Ġ čĊĠĠ +re wards +Ġif ace +EX E +(* ( +Ġcmd s +од а +DEP END +å®ĥ 们 +interpol ate +y um +st ones +um bo +Group ID +lim ate +j ad +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +le k +=" ">< +get to +Ġ// //////////////////////////////// +ast ore +Ġcom me +ep ass +Text s +Log File +group ed +Ġcount ing +Ġcenter ed +Ġmask s +"/ >< +entr ant +b rides +s om +ent ro +ĠC Type +ĠC ATCH +ĠD EL +ber e +Res izable +pr c +Ġk Instruction +cp us +aut ore +pm wiki +how to +Period o +altern ative +B ORDER +I y +U Y +e led +g lfw +Ġs lower +Ġb ubble +Ġcode base +sl a +Ġque ued +aut os +direct ives +CUR SOR +c um +c rawler +j InternalFrame +n ump +get Event +ng o +Ġass umption +integr al +mos aic +Hint s +èĻ ij +Ga ussian +L TE +k hr +re ib +ĠR and +ĠU t +ĠH ERE +mo on +test ify +Al most +æ± ł +æīĢæľī çļĦ +P n +S d +Ġre pre +ĠW as +class path +son ar +MP U +Base Type +âĸ Ĵ +quiv al +f stream +i ers +j dt +Ù ¾ +if low +Ġm illion +ty ping +br ace +Get Response +á vel +bin der +Ġdiv isor +ĠMethod Info +ĠDet ection +Pay ments +P ET +W Y +re cycler +Re ach +(" `. +D URATION +X Q +k az +ĠA u +ĠL ife +IN STR +net beans +ĠDE V +ÑĮ Ñİ +rest aurant +Unknown FieldSet +æ° ¸ +Ġincrement al +ĠWIN API +pup pet +erse y +J ax +h dc +i load +i én +n ux +n vidia +Ġf ft +Ġn est +tr ailing +ck editor +sh u +ĠV PC +ĠH ouse +text Input +erm al +Ġsim ultaneous +Est ado +ĠGOO GLE +V ocab +c riterion +m ui +å ĺ +th am +Tr anspose +ell ar +Sp read +Ġem b +ĠSk ill +ÙĬ Ø© +D sl +G ather +s itemap +w inner +Ġb iz +=" ) +user Agent +ink er +dis cover +Ġwas m +Ġsp éc +Select ors +Bar s +é¡ Į +ĠLe af +è· Ŀ +Ġaut ogenerated +>* < +s keleton +w ild +Ġf er +Ġp pc +od er +Ġis Loading +RE SER +print k +DI ALOG +Ñı з +ĠOpen API +ĠWORK B +ÑģÑĤан ов +K b +à ľ +is Loading +Ġ" "), +Ġb rew +ĠP ing +ĠL U +ĠF ood +cc a +Field Builder +seq id +Validation Exception +Ġir q +, )) += */ +L f +X V +n ist +ĠP aper +Ġi a +Up stream +ĠX SD +cons ider +ãģĻãĤĭ ãģ¨ +\' ', +Ġinject ed +={` ${ +getFull Year +D SP +F ails +s aml +Î ¬ +ap ic +As m +Status Message +Full Screen +次 ãģ® +Ġwatch er +C id +g rib +t abel +ì ¤ij +ST EST +Ġ! _ +Item List +Ġwhere as +ĠLog Level +íķĺ ê²Į +Ant i +AWSC loudFormation +R g +t j +} | +è ¸ +Ġ åı¯ä»¥ +(" \" +ĠB S +Ġtr aces +Ġx p +File Descriptor +++ . +ENT S +UP LOAD +Auth enticate +PL AIN +PRE SENT +MIN US +æ¬ ¢ +ĠVM s +áĥ ĺ +Ġstrong ly +Ġasynchronous ly +En ded +run ners +VER SE +pg sql +cover alls +ĠPath s +Annot ated +Ġmor ning +w string +Ġg lfw +Ġget ters +ear ly +Ġ; ) +Ġ'/ ') +submit ted +Ġfr ac +Sup p +æĶ¹ åıĺ +Ġë° Ķ +ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ +Tre es +Heart beat +Ġrequ iring +Ġantl r +ĺ 리 +lo pen +em ap +ĠI Enumerator +res net +Ġprocess ors +fr ica +=[ ], +å» ¶ +review able +mouse over +Ġsegment ation +Resp ond +Ġrecur sion +Spo on +U v +c itation +g lib +g ogo +p wsz +Box Data +DIS K +v space +{ !! +Ġde viation +op end +mo od +Be Null +With Value +Web Server +м ен +Ġsb t +æ©Ł èĥ½ +$ - +r ctx +Ġre pet +str pos +ref r +cont ribution +ud c +mb H +Ġsub string +ö n +Ġbr acket +Down loading +ĠTemp erature +éł ħ +ĠHAND LE +Ġarma zen +T int +j ian +Ġ[ * +Ġ% + +Ġ<< < +sm ith +:" "; +ĠSe ptember +å¹ ² +requ is +Public ation +Ġwrap s +ĠWIN DO +ĠWrit es +CONNECT ED +> "+ +_ ## +ro ach +Ġs Äħ +per mit +UL D +Error Exception +For Key +reg orian +gt m +ĠDE P +ĊĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠ +SR V +IMPORT ANT +ç¶ ļ ++ ). +de mos +Ġy um +read Int +no log +admin s +aug ment +t ender +get StatusCode +ĠC losed +ĠP NG +Form Field +ok it +Ġuser Data +ÑĤ обÑĭ +ç os +Ġfund s +++++++++++++++++ ++++++++++++++++ +Ġë¡ ľ +F ul +J i +n id +Ġy outube +ms i +Ġpre load +á» Ń +Fire wall +ãģĹãģ¦ãģĦ ãĤĭ +D PR +O H +q k +r uct +Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġd pi +Ġun o +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +sign er +Ġus r +Det ermin +blob s +čĊĠĠ č +WI FI +Ġld ap +Ġsimpl ified +ĠOrdered Dict +: ~ += #{ +I w +X A +e fe +p and +s moke +æ ĩ +er b +get Global +ĠP B +Ġme ters +assert In +Comp iled +EX AMPLE +Image Data +Fun ctor +éĸ¢ æķ° +ĠíĻķ ìĿ¸ +OutOfRange Exception +Z H +Ġc uenta +Ġp ile +Ġwh itelist +Se goe +ann ers +sup press +Cour ses +c rawl +p ins +Ġ ~~ +() "); +err s +gr aded +DI RECTION +sg s +>> ) +Tri al +J k +] }) +re striction +Ġon der +Con currency +ĠÑģ озд +ĠNO WRAP +Expect ing +Execute Command +Äį ÃŃ +ÑĪ Ðµ +deep copy +PARAMETER S +í Ĥ¤ +le q +get Cell +ãģ ļ +ME TRY +Com ma +Ġad c +æľī ä¸Ģ个 +Ġmargin Bottom +ĠAct ually +Bucket s +Ġach ieved +ExtensionRegistry Lite +íĭ ° +un supported +Ġ' =' +Ġd atab +Ġdata GridView +ĠGet All +Call Option +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ +Ġsa ÄŁ +Ġown ers +ãģĦ ãģĨ +Effect ive +Hand led +ĠQt Gui +ĠPat ient +F LI +N atural +s Type +co efficient +Tr avel +pre trained +struct s +do ctrine +rep air +Month s +ĠAss istant +ĠTrack er +" << +F AC +Text Changed +Add s +ized Buffer +Op Codes +SM C +å·¥ ç¨ĭ +contribut or +Follow ing +ĠFore ign +alax ies +áºŃ p +Ġmaj ority +e quipment +int f +IP H +ĠDE VICE +Ġpackage Name +ĠGL FW +çIJ ĥ +Ġprefix es +æı Ľ +åĮº åŁŁ +ĠTool kit +Ġretrie val +ĠSanit izers +K a +Ï ī +Ġ" =", +ed en +th in +ist an +der ived +Ġ# $ +ne q +ĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠ +е ли +core v +SO UND +PH YS +Ġpur ge +Inc ident +DoxyCompact List +c str +h one +cp kg +Parent s +DATA SET +ARG P +аÑĤ оÑĢ +им еÑĢ +ĠCount y +Ġsuc ceeds +ĠìĨ Į +T c +w ick +Ġ ata +is dir +OR ITH +net lify +sk ipped +Det ailed +Invalid ate +Func s +建 è®® +Altern ative +ĠInject able +$ } +F ort +T ro +Ġw el +Ġnot ed +cont our +sign ing +äº ļ +next Token +ĠFile InputStream +cv t +cos q +Ġsubject s +³³ Âł +Ġplan et +employ ees +bur st +R ng +T ot +W o +Ġ* +ph on +Get Pin +ĠJ AVA +App ender +Ċĉĉĉĉĉĉ Ġ +pc ap +hed ron +Ph il +tab lename +sort ing +Ġer ase +Ġaut oc +ĠPlugin s +ĠDrop down +dead line +) ?. +E lectron +L ap +N uevo +U DIO +Ġ ä»İ +ab cd +Ġ// //////////////////////////////////////////////////////////////// +Ġ+ " +Ġun ary +order Id +={ }, +Le ase +æ³ ¢ +äºĭ åĬ¡ +SCO RE +æīĵ åį° +ĠDetermin es +arcsin L +å͝ ä¸Ģ +TypedDataSet Generator +// ************************************************************************ +tp aram +Ġch ose +EN E +Data Loader +({ \ +Sub tract +Ġar ithmetic +SC I +ÅĻ e +Pe ak +feed s +mid i +Ġguid ance +B road +Q I +Z u +t ensors +ĠB es +ĠG old +Ġup loading +da a +fa ir +Ġmod ific +PL AN +Min Value +Compat ibility +Refer enced +TOP IC +产 çĶŁ +Ġc tor +Ġ{ >, +sp onsor +ĠO cc +ĠW ar +ee a +Read s +Ġsw ift +rel ational +è¿Ļ ä¸Ģ +ÅŁ aģı +cip h +Ġdelay ed +ÑĢÑĥ г +Reser ve +Continu ous +uran ça +request Id +ld ots +Valid ity +à§ Ģ +Configur ator +Ġcu ando +OO OO +ĠSup plier +ĠAug ust +Ġnd array +B AL +I on +d cc +´ Ī +Ġre cognition +Ġb is +us p +Error Type +ca a +NA V +ĠLO AD +è© ³ +MOTOR OLA +) +" +E y +U ENCE +Ġ åij½ä»¤ +on nx +Ġ" ")) +ac b +ew ire +Ġ$ ? +Ġ// // +per ms +current Color +proto s +Pol it +stub s +Ġì¶ ľ +ashing ton +T rig +un u +Ġin et +ĠC redentials +ĠD amage +ff mpeg +ĠB ur +sh i +ak ash +UN IQUE +Ġinput Stream +If Not +Ġfun ção +Has hes +Join Column +Ġaus ge +Ġimag ine +phan um +ĠĠĠĠĠĠĠĠ Ċ +Ġcon cent +ĠL im +app lied +Get Next +wh ole +EX PRESS +Http StatusCode +к ов +Mark ers +sent inel +ĠCal c +z Åij +or u +ĠD og +ers cript +po ke +Ġpart ially +Tree View +ĠOut look +ĠPy Err +Ġlos ses +Ġmetav ar +n ice +Ġ era +Ġ éħįç½® +In i +ke h +ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġfind All +UM NS +Ġdb g +ĠView Model +radio Button +anim ations +èĪ ª +ãĥ¼ãĥĵ ãĤ¹ +O sc +p ción +z l +on acci +sp el +ĠIn structions +Ġli br +Item ize +ĠDef ender +ĠAb ort +ĠCell ID +Ġpromise s +ĠTransform er +diag onal +ãĤ¢ãĥĹãĥª ãĤ±ãĥ¼ãĤ·ãĥ§ãĥ³ +d ob +ct p +ĠC amp +to ggler +set Maximum +Ġj u +Data Row +Ġread Only +Cre ative +å®ŀ ä½ĵ +Ġtermin ation +ĠBlue print +M ysql +at ore +get OrElse +sp rites +Ġr st +pl anning +Ġget Token +Ġint s +read Field +The test +pop per +ĠModel Mapper +Selected Item +Scal er +ĠOverride s +Ġprojet o +Clus Cfg +G host +g errit +m io +Ġc utoff +th ought +Ġv ed +ff set +ĠE val +trans mit +No Un +CONT ACT +ĠQuest ions +, *) +: ": +ĠG mbH +ou d +ĠV ulkan +Ġexpect ation +Dis cover +åΰ äºĨ +rb ac +ĠSp awn +wrapper s +Ġplot ting +Does NotExist +åĪĩ æį¢ +s agemaker +ge vens +Ġv otes +ot iation +sp ar +Query Result +inc orrect +ĠPost gres +SEC URE +ĠConstruct ors +EPS G +PREC ATED +" [ +M q +[ [' +` ${ +it ations +Ġm tl +Ġg ql +ĠE I +Ġpro visioning +RE PEAT +ST AR +list Of +Data Reader +ov at +require ment +Pr or +Ġfree ze +çIJĨ è§£ +æµ İ +Ġinterrupt s +VERT ICAL +Q Y +t riggers +ĠC K +ĠT T +ĠR SS +ip hy +api pe +Ġsw itches +ãģĻ ãģ¹ +docker file +Gen re +black list +ĠColumn Vector +åĽ½ å®¶ +æł· å¼ı +Ġlin ewidth +ë° ĺ +Ġvale ur +igens chaft +L ANGUAGE +N BT +d cd +r dx +t uples +Ġon Success +ĠG ro +ec f +rc v +и ÑĢ +åĪ · +Ġem ission +Ġpri mar +access ible +Parse Tree +Ġtransform ations +Ġsn ake +ĠImplement s +ĠByteArray OutputStream +ĠCalling Convention +ASY NC +mrm q +D RE +m ma +tp s +gr ading +db f +PE C +ik ube +sa i +Web Request +')) -> +Ġear th +grow th +ĠAssertion Error +S v +X iv +r angle +Ġw b +nt l +): ** +Ġuse Ref +ĠÐ ł +ĠJ on +Is Active +ĠComp at +Ġph y +Ġ'- ', +Remov ing +TRIG GER +K otlin +q us +ĠS ingleton +... ', +ĠK otlin +Ġno va +Ġlocal ization +ĠEX EC +----------- + +vari ation +Occ urs +EXEC UTE +Ġ" ": +(" {} +ĠG DAL +"] } +{{ < +ĠComp arator +SUP ER +explo re +Spl ash +x AA +Ġ" ". +Ġm ic +str actions +List Node +Ġhe ard +Group Data +å¼ ± +ĠAd v +ĠÑģ еÑĢ +yy pt +>: ][< +PH ONE +Ġsup pose +YY Y +Cho ices +顺 åºı +WireFormat Lite +> |< +L iv +h all +m j +s ongs +} // +Ġt ty +al ian +ĠC ACHE +ĠD ar +Value Of +ĠName s +Socket Address +Ġbro ught +ĠRaise s +pract ice +详 æĥħ +P SS +s age +ter rain +ĠD F +ĠN PM +Ġ# !/ +class ify +Event Loop +SC SI +Ġass ist +{} '. +Ġ---------------------------------------------------------------- ------ +CCCC FF +ul y +Data List +Create Time +SP LIT +Invalid ArgumentException +Pri m +ĠHe ap +Nav bar +нÑĭ м +) '); +L sp +b de +Ġm ai +up dating +Ġ}, \ +Se ason +Th rift +Ġitem Id +FI RM +equal ity +Close st +VO KE +Ġcare ful +ĠDocker file +Inherit ed +O g +ac ct +ab ic +ĠI CON +Ġg m +ĠG S +fig ures +ĠDef ined +found ry +optim ization +ë° ľ +Cod er +Ġpropag ate +R gb +m ss +Ġv ä +') +up d +Ġcont our +Ġat ol +gl ue +AM O +SP A +è¡ ¥ +Bl k +ĠWait ing +Pur pose ++ =" +H r +ot ic +end i +ĠI ID +Pro tein +ak k +File system +Ġu ž +ci ó +ffff f +ĠSh ip +Ġê ± +éĻ Ħ +Ġæ µ +Ġcap ac +Owner Account +ĠSC IP +Assignable From +$ [ +W arehouse +de cess +ĠI II +ow anie +ĠP DO +ĠN an +RE PLY +min imize +Ġmax im +mem cached +cf b +Ġbar code +(', ') +F Z +U CTION +Ġp unto +ge mm +ĠM inecraft +Type Code +ĠW all +ip a +AN CHO +ne z +ret rie +Resource Name +Ġet cd +ead y +âĶĢâĶĢâĶĢâĶĢ âĶĢâĶĢ +H dfs +N ight +O id +d ynamodb +l rd +n pos +Ġ" )" +Ġ' [' +ĠC Exo +Ġ+ - +Ġe os +ore t +Ġpar cel +line Edit +url Path +File Stream +not Nullable +Array Type +Not Implemented +HT MLElement +в еÑĤ +ident ifiers +SW AP +Modal Label +MY SQL +Ġpropri ed +Ġfunct ools +Ġcommod o +B rightness +` () +z ookeeper +× ¤ +Ġ' *. +ĠV I +ĠCon version +Ġcurrent Time +Return ed +D ar +l ama +re versed +Ġs lices +ĠS OL +ĠT CL +ĠA MD +Data Size +и г +fa e +ãĥŀ ãĥ³ãĥī +Ġequ ations +k nowledge +t rig +Ġ Ùĩ +ot ive +ĠN AMES +ĠF il +app ender +AM B +Ġpost ing +ĠUser Service +Ġtabel a +Dead line +Buffered Reader +# $ +B NS +Ġt erraform +Ġf utures +ag ged +Ġj Button +ĠJ ekyll +Ġdis posed +cur ses +Ġco eff +SC C +ceiv ing +ĠSm ith +Ġtiny int +Ġdies er +. ". +t am +in vent +Ġp ipelines +to urnament +ĠF TP +Ġan te +ens i +ĠID X +以 ä¸Ĭ +ĠLe ave +fire fox +ãĥĥ ãĥī +interval s +orph an +ustr alia +pur ge +uns queeze +Ġét é +G PS +L s +d ce +Ġf oc +sp readsheet +IN I +ust ain +Ġk illed +py py +of ill +ĠComp arison +Ġexit ed +ĠPublic Key +ĠÑĦай л +ĠвÑĭп олн +P VRTX +out e +Ġser ves +Index er +Base Path +ba e +Met al +ĠAct ivation +Ġ.. @ +wer k +optim ized +kl ad +S b +a af +ap ods +ĠC ss +ĠT ITLE +IN CT +Ġbe have +Ġx range +item Id +ĠIN LINE +>( +O URCE +j ComboBox +w ed +ib ase +post css +Ġevent o +ĠID C +"} }, +Ass istant +Ġclean ing +ĠJson Convert +bund ler +pract ices +solut ely +Ġm age +ax os +comp liance +Th unk +ĠRE MOVE +Sql List +B ID +M agento +W ildcard +d ynamics +v il +ĠS AM +ĠT ASK +ĠI Collection +Ġent rada +xy gen +cb a +ĠCommon s +lst m +pot ential +A FF +I u +W ARE +re usable +Ġd isease +ĠD IG +Ġob js +web driver +ready brides +yy VAL +ros pect +ĠRed ux +ĠOBJECT S +K d +T LE +¡ ´ +re li +', " +ĠD ue +Ġex ceeds +ĠJ ump +An imate +ET A +man agers +Ġsample d +(", "); +Altern ate +S impl +\ : +or ama +Ġf av +as semble +ĠS ong +String Buffer +AR IES +ree k +Window Manager +Ġfac ility +Ġslide show +a ine +c assandra +f lickr +p st +ĠM AIN +min o +Get Method +]) / +Ġuser ID +Log Error +az o +stack s +foot notes +ĠÄ ° +CHANGE LOG +hance ment +Ġpul led +Bene fit +) ... +B PM +G ED +P d +V W +Ġ ä¿®æĶ¹ +us i +In tern +sp am +ĠP icture +Ġl ens +List ening +Is Enabled +Action Button +mov d +Ġocc urrence +Ġattemp ted +Pol ler +exclude d +st on +or ida +em otion +EN DED +Ġco ef +And Get +åıĺ åĮĸ +}- ${ +ĠCMake Files +N in +O E +O WL +S print +v ld +ç Ĵ +in file +ĠP IL +trace back +& \ +s df +ed Mode +get Project +Ġst m +ĠF und +ä¸ ĥ +Ġby pass +... @ +From Argb +ü gen +Post al +Convert F +Ġround ing +nable Reference +UIT ests +reduc ed +GetPin nableReference +# , +z v +Ġcon ventions +Ex clusive +net flix +ATE LL +ĠCom bo +๠Į +ĠBit coin +æĮī çħ§ +ACTIV ITY +HIST ORY +Ġwur de +e ac +m agnitude +Å ¥ +se mi +In bound +Ġse cs +ĠK ar +Ġselect s +æĪIJ åijĺ +WE EN +使ç͍ çļĦ +è¿ĩ 滤 +Ġhead s +Merge d +Ġdr ug +tim ers +getExec SqlList +F J +K ar +V Q +z g +ç £ +Ġf ru +:// " +ĠĠĠĠĠ ĊĠĠĠĠ +Ġch allenges +Ġare na +FF T +Out let +Ġpart ies +Fl avor +ìĹ Ī +ĠInter action +ĠSty led +Ġce il +fact ors +Ġоб ÑĬ +ĠTrack ing +associ ated +ĠRot ate +ĠAltern atively +G id +M it +or ough +Ġc iph +Ġm ole +ĠN N +ĠB and +SP AR +aa e +Ġsw itched +Ġweb sites +ga ussian +Rate Limit +Generated Value +ĠRef actor +éķ ľ +prepare Statement +?? ?? +ĠSolution s +'''' '''' +t at +ĠG PS +Ġcorrect ed +ĠMain Window +ĠCLI ENT +ॠ¤ +èĢĥ èĻij +U IC +â ģ +in ception +lo x +ĠR M +Ġser ving +ĠEx perience +ld r +real path +throw able +ìŀ Ħ +ĠPart y +fac ility +Tipo ProrrateoImpor +Ġê³ ł +k ir +Ġw f +get Mock +In Memory +ĠP ok +all close +Ġg host +Name spaces +Ġj dbc +Test Base +ĠEx ercise +als y +access ibility +ä¸ĭ çļĦ +åĪĨ éħį +å§ Ķ +Ġface book +reject ed +å¼Ĥ æŃ¥ +ĠExecution Context +ë¸ Į +ĠíķĦ ìļĶ +X code +le ague +li ver +ĠL CD +Ġun managed +Ġab straction +Ref Count +ĠLO C +Desc ending +Ġenter ing +ĠPop up +Corre lation +Ġ å½ĵ +av al +__ ; +Ġbe g +Ġpre p +CL S +Block Size +Ġrad ians +Ġyy S +Ġattack er +* = +ex plain +ue ba +ĠP F +---------------- ---- +ĠV ision +List Entry +ĠPro duction +gl Vertex +ç±» ä¼¼ +ž ete +sy lius +Mo jo +Ġinf ra +Amb ient +ĠðŁĽ ij +b fe +imp act +ĠRe covery +Ġcomp utes +TE C +Ġdet ach +ä¾ Ĩ +Gr up ++' > () +record ing +éĻ Ĩ +Ạ¯ +ÅĤ Äħc +Ġmask ed +Ġhab en +CIP HER +åĿIJ æłĩ +D ex +S now +w on +Ï Į +Ġd od +Ġse lenium +ĠM ARK +art z +Ġor i +Ġstr ategies +Ġ\ ) +size cache +ĠÐ Ĺ +åı « +jo ined +CONFIG URATION +Ġperiod ic +Ġopp onent +spro j +} ',' +Ġ ######## +is String +Ġre lies +Ġw t +ĠF B +Ġent r +SY SCALL +ĠRun s +fit ness +åĽ¾ åĥı +Tra versal +ĠChe f +keyed Literal +NoUn keyedLiteral +ATELL ITE +R am +f ml +Ġp ak +ĠP rec +Ġk ap +Ġ? = +а Ñħ +gress or +ä¸Ģ å®ļ +ĠBe autiful +ĠMed ium +íŀ Ī +G K +G rib +_ - +e eb +o cop +lo ops +Ġre cipes +ot i +St uff +pro per +Ġdo ctor +count y +()) ), +Is Not +Ġhttp Request +ìĹIJ ëĬĶ +ĠDec ision +ĠHO ST +Deep Copy +ĠHD Insight +? "); +Y j +p edia +Ġ ich +Ġ æľī +Ġh ass +ĠP ART +ĠB LE +ĠV an +log istics +âĢ ķ +á ny +---------------------------------------------------------------- ---------------------------------------------------------------- +Many ToOne +Ġgrad ients +oct et +Ġåıij 表 +ed By +Ġb ob +Ġ: --- +Ġbe came +dd c +amb le +Ġshort er +Cpp I +Ġworkflow s +ä¼ł åħ¥ +ĠëķĮ 문 +æļ Ĥ +? (: +F og +G n +T es +or bit +an td +Ġa ç +Ġ: " +ĠV oice +uc lear +TO O +ĠTr aits +sol ar +bb f +ê° Ĵ +Assign ments +Ing redient +; % +p name +ac os +Ġcon currency +`` : +pen sion +GL FW +ĠTrans itional +ĠPh il +gold en +ç»§ ç»Ń +L es +d ana +t cl +he atmap +ĠS parse +to ByteArray +Ġ@ } +Ġex cess +Ġrow span +Red uction +bg p +ĠFl ush +CASE LIST +Ġpen alty +ĠPRE FIX +F printf +J w +W CHAR +Å Ī +Ġp addle +Ġm ue +Ġm other +Cont our +åĪ » +Ġback ing +ĠTH ROW +ĠSL OT +Ġpref etch +OutOfBounds Exception +E arth +p ca +se min +is Checked +ĠS cr +get Document +Re views +est ib +Un set +Table View +ĠUp dating +Admin istr +ĠQu ad +Å¡ t +Ġdetermin ing +}: ${ +ĠEvery thing +) >> +V t +Y i +s st +Ġ 请æ±Ĥ +it ud +ĠA ck +Ġg yro +ĠH ack +Ġro c +Ġz end +Ġno us +service Name +RES SED +ĠAb solute +nom inal +ĠìĤ¬ìļ© ìŀIJ +íĶ Į +# ( +/ ; +u dd +u ere +Ġre minder +Ġto ur +ise lect +On Change +Ġed x +Ġexit ing +éģ © +Ne arest +)))) )) +ENC IL +Ġess ential +T TY +Z C +Ġt al +Ġb odies +ĠC ool +fl en +ü l +Post Mapping +Ġfe es +Ġstat uses +Decor ated +Trip le +ĠBuilt in +Scheduling Simulation +; _ +l ake +get Output +ess er +ĠH AS +AD A +Ġper o +wh l +Ġsol ving +rad ians +åī Ĭ +Ġpush ing +BT N +Ġtrad itional +A DED +L TA +Y ield +b rown +Ð Ľ +Ġ že +Ġp q +set Location +add i +EN CODING +Get env +=' ' +=' < +ä» ĵ +no update +AP PRO +sample d +ĠDis covery +ament als +MI X +æĮĩ éĴĪ +CCE EDED +Ġhog y +- * +F c +K l +L abs +V otes +d ou +ist ream +string Value +pen alty +Ob js +=> " +Ġinitial izes +åĪĨ å¸ĥ +Gr ab +IDENT ITY +Ġfol ks +combo Box +B H +J VM +J UST +V irt +f af +k id +k ub +ag i +Ġex tras +Ġr h +Create Instance +ठ¨ +$$ $$ +ĠOS X +ĠDec or +ĠInclude s +N pc +d X +Ġc amel +tr ansp +code haus +ĠRe member +ik es +Cl k +æľº åύ +Ġpad r +Ġpad ded +rating s +Ġdemonstr ates +Spl ine +Ġkh ông +lips is +C xx +T Protocol +a ip +ĠD SL +EN CRYPT +red uction +trans it +met ab +dr ain +PER ATURAN +fill Style +ĠPy Array +ales ce +ĠFIR ST +g orm +ĠT D +Ġde structor +to Date +Ġj enkins +View Models +Ġprob abilities +Ġte a +ä¸Ń æĸĩ +æĮĩ 令 +Cons ume +Connector s +ĠFI ELD +LCJ wYWNrYWdl +C rit +H al +P ump +T ou +Ġ rigid +re build +ex ercises +Ġg RPC +Ġun related +SE ED +ich en +bl ast +ĠComp leted +Ġla unched +ö l +exp ense +ĠUs uario +´ë ³ +ĠRel ay +าภ¢ +DEL TA +Ġaud ience +b asket +er ometer +Ġb anco +Ġv ent +able View +á ch +light ning +æĿ İ +Ġacc ordance +dr ug +convert ed +Ġpers isted +prom otion +ĠConn ected +reactiv ex +( /* +, âĢĿ +ac me +ĠR en +Ġtype Of +own ers +ne on +ĠOutput Stream +Ġdatas ource +h j +re map +Ġt ort +State Change +Ġcomponent Will +ĠAd am +Instrument ation +èį IJ +K el +W ant +b af +à ² +lo pt +Ġcon secutive +set Bounds +min er +Ġu art +An si +Ġkey of +Imp act +Ġborder Color +Editor s +Ġ× ¢ +INF INITY +Ġì° ¸ +G antt +en za +id at +', [ +AL TO +FO C +lin ewidth +Ġret rofit +inst on +foot note +)/ $( +ĠState ful +Ġak tual +Ġeng ines +lio graphy +F q +Ġpro ced +gl ing +Ġ[" / +FL AT +&& ( +ä½ł åı¯ä»¥ +ĠSUB SETP +Ġpode m +clam ation +V oxel +e be +h yp +sp her +ĠD IAL +ĠF ort +che ss +ĠYou Tube +Ġquery set +container id +ен ÑĮ +Screen shots +SIGN ATURE +oned DateTime +Ġê°Ģ ëĬ¥ +Ġga ia +Ġkter é +FRAG MENT +B p +D jango +Ġp db +ĠP as +import er +ĊĊ ĊĊĠ +Man agers +Component Private +pub key +Pri mitives +å°± åı¯ä»¥ +eval cond +ĠFunc iones +ç¾İ åĽ½ +it ative +ĠP iece +é ny +home brew +force ment +åħ· æľī +Ġsing ular +P aging +ĊĠĠĠĠ ĊĊĠĠĠ +ĠU SD +cont en +ĠAction Result +Ġaccept ing +Ġjo urney +Ġorgan isation +ĠBOO LEAN +Coded OutputStream +Ġcaracter es +I mm +al m +Ch ance +ph er +cent roid +"/> .- < +. ")] +K ing +T Value +\ { +-> $ +Ġh ur +to i +Ġl y +Ġg ü +ĠG allery +sub total +ins i +Has Key +TW O +ĠSp atial +人 åijĺ +ĠSerial izer +Ġress ources +; ++ +d riven +f ns +Ġno str +ĠCh inese +Ġmap Dispatch +Ġshow ed +Api Exception +Ġreg ards +Ġfunc ión +APP LE +bib info +t aken +Ġt slint +un reachable +ĠS ATELLITE +sh int +Ġcont a +Ġpack aging +health y +س ت +ROUT INE +B c +K u +P late +U y +W IP +Ġdis crete +Rem oval +Ġâ Ŀ +Ġsanit ize +*)( * +Ġmanip ulate +Ġresol ving +prett ier +Indenting NewLine +V ideos +] {\ +_ () +at tempts +Ġv ill +ĠI gn +pr t +'] "). +test ed +ï¼ İ +ific ador +Ġob lig +Ġfloat s +sk etch +Ġfl avor +ĠFile Utils +Mem cpy +ол ж +Connect ivity +I rp +Q q +h os +è ¤ +un load +mp ot +Ġex pt +fig ht +form a +class names +д ал +Ne o +FIL MA +ÑĪи б +Tran script +ĠFOL DEF +Gatt Characteristic +a eb +e W +h arga +mp y +Ġbe autiful +FF E +PR ON +ĠBe low +allow s +Scroll bar +ĠCall s +crypto compare +Ġbund les +Ġobvious ly +ĠIp sum +ĠAppCompat Activity +WID GET +ORITH M +Ġt ensors +ed ata +Ġ} " +Ġ' = +Ġis Active +sum mer +Sub Element +msg str +MS K +bf b +SO LE +("# { +abil ir +multip lier +åģľ æŃ¢ +N OP +m th +p data +x g +it k +get Param +ĠR abbit +âĢ Į +special chars +Popup Menu +ĠSur vey +Q n +re new +Ġs quares +Ġg g +ĠIn et +Ġk nex +çļĦ è¯Ŀ +Ġë ħ +Start s +entity Manager +Width s +ĠVersion s +ĠDA O +uck s +åħ¶ å®ŀ +ë§ ģ +">[ ); +access ing +ĠHel m +åĬł å¯Ĩ +>` ; +. ), +J ulia +m ensaje +Ò ĥ +Ġj our +ĠU K +String Var +Tr usted +pack aging +arn a +Ġmaint ainer +èª ¬ +Ġë§ ¤ +prem ium +ogene ous +B und +assert InstanceOf +Ġno referrer +Ġus uarios +ĠQ A +require js +EL L +STR IB +ict or +ðŁ ĺ +ĠChar Sequence +ç¼ĸ åı· +â n +æİ¨ èįIJ +ëIJĺ ëĬĶ +fusc ated +G b +M ip +v oxel +Ġ åΤæĸŃ +ar ial +Ġb attle +Ġ< -- +() ]); +ĠF all +def ines +lock m +ĠDe velopers +Ġtrans lator +åħ ´ +ĠUn defined +ı s +Assert Equal +Ġdeploy ing +Ġfour th +nim iq +æ¥ Ń +lez ion +> ({ +D w +G CP +t ptest +get OwnProperty +str tolower +ĊĊ Ċĉĉ +ĠF AQ +ON D +io v +Key Press +Test Fixture +ÑĤ Ñĥ +Ġ[] ). +IB M +ĠTool bar +ìłģ ìĿ¸ +ĠFR AME +EEEE FF +i ou +n aming +Ġc ác +(); // +Ġsub classes + [] +A a +s ir +Ġn ella +ĠC ategories +ĠR ating +ĠV C +create Class +primary Key +Ġcor por +Ġvi olation +á»ĩ n +Ġlé tre +c lic +f ba +es sel +Ċĉ ĊĠĠĠ +ab f +Re ality +ĠP rl +Ġj unit +ĠY M +sl t +Process ors +dat atable +Show ing +г о +aman ho +zd GF +ĠHo pe +ĠImpro ve +Ġmü ssen +) '], +@ % +l ord +er l +Ġf ashion +un ref +un named +() ?> +Pro ceedings +çļĦ æĹ¶éĹ´ +org ot +Ġad a +Ġhttp Response +admin istrator +Border Color +éĢŁ 度 +Ġìŀħ ëł¥ +D iffer +u ke +w itch +Ġf v +Ġin j +el in +us ually +tr aces +pt ic +__ ), +Ġlo b +ob served +Get Text +Field Error +trans ient +ĠSer if +Ġprob le +addr s +si ón +Ġacc umulator +Ġfore st +//---------------------------------------------------------------- ------------ +ĠTool tip +ÑĨи Ñı +ì¤ Ģ +Ġeius mod +, __ +G ive +l ka +ist ema +Value Changed +view Model +Trans lations +cell aneous +Ġdiv ider +termin ated +cons ensus +Ġsocket s +ï¼Ł ]( +æ´ ¾ +ĠSO URCE +SCHE ME +Grib Collection +A bove +I AB +R sp +Z V +c ie +Ġt weets +Ġm orph +th readed +um d +Ġen velope +ä¸į éľĢè¦ģ +ĠPost s +Ġappropriate ly +ĠSort ed +Culture Info +Ġcoin s +Mongo DB +ĠMart in +Ġwor st +lott ed +M ood +Ġ --------- +he ter +Ġin divid +Ġ$ ($ +pr g +ARE NT +="/ "> +Ġtri angles +uf en +Ġfeed s +Ġë§ Ī +getDefault Instance +toMatch Snapshot +F WD +Q UEST +n vm +ct f +Ġse quential +Ġde lt +Re pair +Ġstr tolower +Ġ. $ +([ { +л аÑģÑģ +ĠPl ane +Err no +Ġ"+ ", +Ġм еÑĤ +Ġfew er +ĠLabel s +quad r +ĠReview able +oscal er +CLAS SES +D j +Ġt Button +Ġf ab +Ġa id +Ġd bo +ifi que +Client Rect +std call +Ġmodel ing +vo us +light box +VL D +âķ ij +Ġঠı +x w +ut ar +get Page +get Declared +ort ion +ĠC DN +od bc +ag ree +Ġbe haviors +out bound +). " +Ġget Content +String Ptr +Ġun reachable +be hind +Comp arable +enu ation +ĠCh ina +čĊĠĠĠĠ č +Web App +Ġincl usion +SV C +ĉĉĉĉĉĉĉĉ ĉ +MAC RO +æķ´ æķ° +Am z +aaaaaaaa aaaaaaaa +Z i +d T +z uf +ass o +Ġstr pos +Ġget Random +Ch rom +Ġap art +Ġmap StateToProps +Ġformat o +P v +Ġse in +ĠF ork +Ġpro pagation +Text Appearance +Ġav ail +Ġest imation +('. ') +æĬ ½ +Experiment Env +Experiment ResultSet +Callable Wrapper +ĠBinding Flags +a acute +m illis +Ġc offee +et Code +em acs +ver al +ag gle +ind ers +ve cs +With Default +Command Output +private Key +Api Operation +Web Driver +ĠPl ug +Ġautom odule +Ġinform azioni +Cast Exception +åij½ åIJį +æķ´ 个 +Ġnick name +Z v +al ah +me g +ic orp +ind en +Ġk lient +cb f +mm c +Open CV +Custom izer +Ġcharacter istic +person a +ĠAng le +rend ers +Ġay ar +METR IC +w aves +z et +} ")] +le to +Ġp st +Ġre map +ort o +ĠD as +ast ian +Get Property +Un qualified +Ġп аÑĢамеÑĤ +Ġatt end +Gr anted +cid r +ãĥ¼ãĤ¸ ãĥ§ãĥ³ +Ġperm ite +ighth ouse +H IB +L l +w char +Ġn op +un j +In sn +RE ASON +') ], +By Version +Server Name +NAME D +copy Of +icol on +V ent +h ay +al gebra +Ġa mazing +Ġr ain +Ġj Panel +add Index +ĠH aving +Ġsub type +æĹ © +ãģĹãģ ª +serialize Op +ĠMo zilla +Termin ation +IRON MENT ++ ") +d ap +k B +q g +t iff +Ġm illi +Ġstr at +current Thread +enum eration +Fragment Manager +kernel s +Ġland scape +ĠPrep ared +ĠиÑģп олÑĮз +abup aten +A FT +d uplicates +f ingerprint +j umlah +st ro +de z +Ġs weep +az ine +Inter p +Ġdeploy ments +Ġë° ľ +æŁIJ 个 +Ġvocab ulary +L ooper +S ter +ex haustive +ac ja +Un managed +Com CallableWrapper +Ġread ers +Table Model +CON TRACT +Imp ro +ym metric +column Name +Ġsym metric +è¨ ¼ +Ã¥ r +..\ ..\ +) => +G FX +Ġ" ")); +ig ar +ant ages +INT ERRUP +ĠFile OutputStream +å¹ ķ +Direction s +Ġlock ing +cons istency +Ġdesc ending +ĠIter ate +Ġ[\ # +F y +` "}], +b fd +c fa +p md +â Ł +if fs +De letes +Sh uffle +open apiv +left Join +VE LO +Ġgr av +ĠBase Class +ĠOrder ing +Pol ynomial +Ġquest o +j el +r á +ĠT Y +em an +ĠL abor +out going +sc enes +RE DIS +State Manager +CH UNK +EX PI +bottom navigation +ĠScript s +Ġnear ly +Ġìĺ ģ +éĵ¾ 表 +Ġelastic search +Ġsan ity +g log +ĠS leep +get Window +ref man +rit t +ĠSt udy +gen esis +ãĥ¼ ãĥ³ +Bar code +see also +ili h +hap us +ļł ï¸ı +J H +X p +Ġ åĪĿå§ĭåĮĸ +Ġm ê +ĠH A +ID L +Search Results +Ġcor r +Ġnast ÄĻ +' "> +Z K +_ )) +Ġd angerous +ĠP ause +span s +čĊĉ čĊĉ +Invalid Argument +æĸ¹ åIJij +aff old +DIS PATCH +éĺ » +Every thing +H WND +` / +s urname +ĊĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ +Ġd il +Ġd word +tr ac +Ġy ük +De b +emp l +ĠX Path +DB M +Any thing +TA IN +................................ ................................ +CAM ERA +ĠSubst itute +$ ', +E b +S IS +h ender +ic ago +ĠF REE +ĠJ NI +Un iversity +DD D +DC MAKE +Hand shake +forum s +kar ma +Care t +å¸Į æľĽ +_ (" +t olerance +} */ +ë Ĥ +Ġ ãģ¨ +Ġs api +ĠT A +Tr ay +Ġcl in +tri als +Ġtri ple +ĠBuild s +ming w +pict ures +night ly +çŁ ³ +Ġserv icio +/ '); +V Y +b sp +Ġc q +com mission +Ġ\ { +loc s +over all +ĠRun ner +Ġsup orte +jet o +lst listing +Margin s +ãĤ½ ãĥ¼ãĤ¹ +ĠLN ControlPoint +ĠITE M +f cd +Ġh align +Ġcon ference +Ġg pg +ĠB roadcast +Ġel m +ib ilities +Ġresult Set +и е +"] ` +module Name +Sub Type +Http Get +Ġboard s +ç¡® 认 +corpor a +Ġkube let +* ", ++ ". +` /` +an al +ĠT akes +Ġis Open +ĠP AS +ir able +admin istration +MM MM +ĠForm Control +ãģ¾ ãģĹãģŁ +HEAD ERS +Ġconsult a +éļı æľº +ĠCSR F +O dbc +R n +c ake +l amb +ĠA CC +Ġe lection +ĠG overnment +çļĦ æĸ¹å¼ı +Man ufacturer +Ġì Ī +round s +Ġ(( __ +TI MI +VER Y +ĠPl ain +Ġconnect s +poly fill +Ġtranslate Y +Ġbes ch +owa Äĩ +a iflow +ê ´Ģ +or c +Ġt errain +is False +Ġ( _. +Ġs keleton +qu arter +Ġor ange +ĠH I +(( [ +Ġsub tree +For um +reg a +Ġо Ñģ +è° ¢ +æĻ º +fact s +ĠOrient ation +) -( +C AS +W z +X H +æ ª +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +te c +Ġnew est +): ${ +AT ING +LE ADING +ob i +Ġnode js +Filter ing +If Exists +ä¸į åΰ +internal s +Mark s +è¶ħ è¿ĩ +Ġпол ÑĥÑĩ +ĠíĬ ¹ +W hether +r uctor +Ġf uel +is in +ĠS ed +ĠS vg +ĠW iki +ore o +yst ate +Ġchar Array +group Name +([ - +buffer ed +Ġgr avity +Ġâ Ł +ĠKey Event +lower case +éģ ĩ +Ġ'" ' +Ġsur f +缮 çļĦ +ĠEditor GUILayout +increment al +ATTRIBUT ES +Ġtempor arily +åľº æĻ¯ +oooo oooo +li quid +In Seconds +ĠT oo +Ġh ier +set default +ĠD IR +ĠM es +http d +Set Up +User Details +IS I +ĠPro tected +Version Number +ĠTest Bed +Proto Lens +lat able +ev in +æłĩ è®° +ĠÑĦ Ñĥнк +Ġclause s +Ġgest ure += (' +N Q +t led +es caped +Ġin vent +lic ken +Ġh od +ĠN X +CR M +Ġim agen +Ġrot ated +tot ypes +ĠLayout Inflater +Nom inal +nost i +è¯Ħ 论 +%;" "> +R CC +V PC +d in +d de +or able +al most +", "" +av x +ĠH IGH +cur so +CL ICK +NS Array +Ar ithmetic +Ar duino +Ġ---------------------------------------------------------------- --------- +rank ing +Ġм Ñĭ +Commit s +AUTH OR +Ġyy pt +Ġinvol ves +explo de +Ġreplic as +ĠDIAL OG +P WR +m angled +o cean +s ad +č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +if a +ĠA ud +Ex plain +Ġi h +br ass +ES C +FI RE +US R +vm x +ĠOb server +åĬ¨ çĶ» +Ġfig size +æĹ¥ æľ¬ +ĠJul ia +nex us +r spec +s uit +AT I +Ġstring ify +Test Util +mon ster +Ġdist rict +Page Token +lab eled +Ġdraw able +Ġpract ical +ĠAtt ack +çı Ń +REGISTR Y +J Y +X I +d cl +l ain +Ġ( ? +Ġw sz +Ġm ilestone +In ser +ĠT a +data GridView +ill um +Data store +En tr +Ġpl aintext +FO S +(& : +gl u +ĠCh oice +stat istic +ठ¤ +Ġfe els +ĠAcc ording +Shop ping +ĠMA KE +FRAME BUFFER +rott ling +% "), +g ency +Ġ ust +Į ìĿ´ +re minder +is Defined +Ġs che +ame t +Re stricted +Ġis olate +)) ( +ly b +for all +]. ( +Method Type +US N +sa as +Ġcalcul ator +Ġbook mark +Cons ider +ìķ ½ +sound s +Ġrecur so +ĠDer ived +èIJ ¥ +f ung +i ene +Ġv ÃŃ +Ġsuper class +Ġour selves +Ġequal To +ĠOPTION S +*)(* @\ +G w +p ap +ke ley +Ġpath Params +For Testing +Update Time +Ġquery Params +ho lo +mac os +Ġëĭ¤ 른 +Employ ees +estim ators +galax y +at x +it et +get Min +Name Hash +for got +Ġí ĸ +Ġreview ers +ĠGlobal Namespace +ë¦ ½ +integr ations +period ic +kn ife +ÐŁ ÑĢ +ĠAlert Dialog +Ġ모 ëĵł +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +c ant +è ĵ +Ġp ictures +Ġs unt +Ġin format +ri ers +ĠR aspberry +Ġstr error +br k +App Name +Not In +Ġtarget ed +Cl r +Empty String +ĠTime line +BE FORE +åIJİ åı° +Ġfig ures +ĠWr ong +memp roto +memd oc +S olve +th unk +ĠS impl +ĠS TOP +test ation +Time Series +IC lus +Ġimport ance +Ġnum er +fast q +ç͍æĪ· åIJį +ä¿Ŀ è¯ģ +Ġdecimal s +FOUND ATION +ĠNov ember +IClus Cfg +. ); +g cm +Ġ= $ +), " +index ing +char m +task Id +END ER +Ġfr Ã¥n +Day OfWeek +Pref ab +ytvo ÅĻ +N n +m ens +p dev +u F +to ÅĽÄĩ +è¡Į 为 +NOT ES +ĠRed uce +IV ED +åīį 端 +éĺ µ +ulo s +ĠPHP Unit +Qt Gui +åĸ ľ +. ${ +d store +get ID +op aque +be acon +Be zier +sing ular +Http s +åľ ĭ +git ignore +car rier +Del aborator +ĠQu antity +ADO OP +Ġ"] "}], +) '; +D ice +V INT +å ³ +Ġin verted +Ġm ud +ĠP eter +)) ', +be zier +... ] +TO MCAT +Ġover riding +inst ell +cr s +WORD S +ĠUN IX +ĠMain Activity +ĠìĹ IJ +CLO SED +DEC IMAL +ATTACH MENT +B iz +m mb +u um +u able +} ? +ĠT cp +Ġg ues +"" ", +=' ../ +ĠInter preter +ativ os +ĠæĽ´ æĸ° +b tree +k ers +r db +Ġc ubic +Ġs ongs +Ġ} ` +Ċĉ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +ĠU IT +cont oso +pr s +Ġuse Styles +AN SI +red o +ĠEx act +web sites +Ġgraph ic +Ġdie sem +Ġ"' " +Ġinc id +Ġblue tooth +Ġcho osing +ãģ¦ãģĦ ãģ¾ãģĻ +Ġ[& ]( +b ie +v cs +ĠI Command +fl uttify +ĠPro c +For ge +Function Name +Ġfull name +Ġwatch ing +ĠChannel s +interpol ation +createText Node +P our +_ = +w nd +as ion +Ġb ij +Ġl f +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Or ange +éĢ ı +Application Exception +Ġsk ew +Db Type +Move Next +ÑĢаР¶ +Ġlin ha +ál is +Optim ization +Ġbench marks +á»Ļ t +詳 ç´° +L obby +f one +p V +ac rit +Ġan tes +AD AP +äº Ī +?? ? +ĠSPE C +sis wa +setWindow Position +åİĨ åı² +M VC +e ux +om id +ĠE p +ĠU V +CH AT +åĪ ļ +uit on +<' _ +abstract method +íķ´ ìķ¼ +ĠÑį леменÑĤ +influx db +F TP +s ut +ĊĠĠĠĠ ĉĉĉ +is Object +Ġn ix +Ġto ward +iz met +ĠJ ames +ĠK ont +и Ñħ +the se +std c +Cl ub +non null +ĠNS Array +Ġcar bon +ĠIndex ed +Ġö zel +J IT +n atur +Ġ ãģĮ +ut ch +str and +Th ings +Event Queue +Ġso us +ÑģÑĤ ÑĮ +SM TP +ãĤĮ ãĤĭ +munic ator +Fac ility +sym metric +é» Ħ +contr ast +tenant Id +- ) +s ensors +Ġde ser +ĠP urchase +ĠE ste +query set +Ġ/> \ +Ġfix tures +Exp ire +LS B +Ġscre ens +> : +PO CH +parent Element +Ġmut ate +ĠMet eor +ëıĦ ë¡Ŀ +Ġе Ñģли +ATOM IC +ĠNavig ate +" ? +P wd +t encent +in icio +at ra +Ġf og +ed c +ss d +pro fil +Ġcom fort +AR S +own ership +ĠTh ings +ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ñģ л +Ġê ¸ +]] ] +inf ty +sf Event +Ġwire less +Await er +OPS IS +* ' +D ialect +le ak +un ning +am al +to ut +import ed +ĠL S +ĠTh ose +Ġall Classes +Ġpre served +Ġhelp ing +ını z +Ġcomput ers +ĠAssoci ation +âĢķ âĢķ +A void +C esium +T ICK +le ÅŁtir +it ing +Ġ` ; +Ġlo kal +'] / +ren te +SP R +Ġsm tp +Edit ar +ĠJson Response +isto grams +ĠINTER NAL +Contribut or +n ique +get Option +ĠF amily +ĠH EL +ĠIn crease +'] ): +Tr ading +User Role +Ġimp er +Ġinstall s +æī « +diff iculty +ÙĪ Ø¯ +Ġsubst itute +è¿ĺ æľī +Ġö n +Ġprimar ily +L ST +W EST +b fa +Ġf st +Ġ' // +get Number +out dir +ĠB as +ĠG EN +åı¯ ç͍ +é¡ ŀ +Raw Data +ĠToken Type +ĠCor p +Ġabort ed +street map +Ġpostgres ql +QUOT E +J W +c ia +x code +Ġ= ) +Ġs outh +Ġw orse +Re venue +Ġdis posing +icon st +Ġstruct s +ÃŃ f +Ġbo y +uby te +hy brid +Ãł i +çī¹ å¾ģ +çµ Ĥ +a G +d ct +n ab +s le +ing o +() \ +tr x +tr uiton +Ġis Set +Ġch alk +ÃŃ ch +å®ļ 義 +Ġreal ize +ì§ ij +Ġscan f +Appro x +Tw ig +å¿« éĢŁ +Interpol ator +BROW SER +C UBE +T OR +i oc +í ļĮ +Ġf ir +Ġo wl +ĠD AY +ĠF ilename +ĠG E +List By +birth day +ĠFunciones Swing +P addle +p aging +=" \ +Ġsim ulated +pull s +ĠNS URL +Ġlayout s +ĠUN KNOWN +ĠNe o +multip lied +Flat ten +Ġê°Ļ ìĿĢ +ĠNAV BAR +hender it +; "; +] (" +p cre +om g +im ic +(' + +ime ter +que en +ãģ Ķ +amp ening +RO ME +ĠX Element +fr act +ĠRE PLACE +Ġest imator +acion al +dia lect +Ġhighlight ing +Already Exists +COLL ATION +Ġmarshall er += \' +a Class +er vice +is instance +un de +ĠC a +Ġh u +name spaced +ĠD ET +Ġch aining +To Object +Ġpar â +ĠJ DBC +GL SL +Ġref und +Gu ess +éĢļ ä¿¡ +Lat in +EFF ECT +: "; +E w +Z z +s entry +th rottle +am at +to Object +Ġe bp +Ġj class +aw ns +Ġpl anned +Ġë ¹ +ĠError Code +REF RESH +Ġн ов +scroll To +ĠAv atar +×ķ× ª +FOL LOW +ÅŁaģı daki +F PL +O Y +Y ELLOW +ĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ +Ġd ialect +get Application +Ġh v +ĠP retty +to Contain +set WindowListener +sh ade +Data Annotations +po le +Tr ail +ME AS +play ground +Ġfl uent +ĠOr ders +Ġcalcul ates +ê m +ìĭ ¬ +Ġpol ar +Ġmen us +Gl ut +buy er +LIK ELY +' ! +) }}" +V x +x en +y el +Ġre in +ig ation +Ġl an +ĠL aw +ĠRe start +SI F +Ġoff setof +Ġhelp ed +Ġpy torch +ãģ« éĸ¢ +Fix tures +次 æķ° +overn ance +Acceleration Structure +creative commons +ĠEduc ation +N ational +W ake +w it +Ġc ds +Ġs amp +Ġg f +ĠG tk +Ġ() { +non zero +ĠTemp orary +JsonProperty Name +g il +he me +ĠB SP +ĠR ol +man ip +equal To +kw ds +Ġclear Timeout +selected Index +Parse Error +Ġeas iest +å°± ä¼ļ +ĠBack bone +beam Y +Ġamp litude +è´¦ åı· +STE MS +r av +ĠI IS +ĠR W +çļĦ ä¸Ģ +App State +Of Day +CON J +ĠValue Type +ony ms +Pe ptide +sock s +ein sum +Interpol ation +Ġven iam +éĿĻ æĢģ +F PS +G LES +] *) +b om +ĠI Disposable +str mojo +te a +op x +Add Field +ĠEx clude +PH X +Pop over +itel isted +Ġstri pe +/ ]( +V n +i ac +Ġ ãĢĤ +ed EventArgs +Ġw omen +ĠM utation +load ers +Ġper mutation +the w +ĠAdd r +pack s +Ġsk u +äºĨ è§£ +Active Record +tw img +Track ed +çľ ¼ +åħ³ èģĶ +POINT S +Ġrecommend ation +s co +Ġt pl +Ġs uff +Ġn aj +Ġv oxel +am m +ver ifier +Ġend highlight +ĠTh ird +ĠJ IT +Form Group +ld a +Response Type +}} ); +Ġ[] ), +Inter mediate +call ing +ĠпÑĢ Ð¸Ð»Ð¾Ð¶ +Fire fox +Ġpin ned +èģĶ ç³» +Ġbund led +e lection +x in +é ¼ +ad der +to upper +http Request +Ġpro du +Ġdef p +ĠRe cognition +IS P +reg type +serv o +resource manager +SELECT ED +orn ado +photo Url +ĠSO CK +ĠTIME STAMP +pho enix +Ġprost ÅĻed +F all +J pa +r anks +} ->{ +ĠS ociety +get Log +Ġto wn +Ġe cc +IN ATION +ial i +ĠG H +pr une +ĠSt rict +Is Im +ĠAn chor +side s +Ġprogram a +ĠPr erequisites +Art work +CRIP T +F H +L ift +Ġt á +Ġ( -- +Ġs olicit +Ġb right +em ark +Ġg ir +Ġg alaxies +Ġ# % +Sh ares +ĠEx isting +any a +Var iation +ç» ĩ +Ġreg s +": 1101, + "IC": 1102, + "Add": 1103, + "Request": 1104, + "Ġser": 1105, + "--------------------------------": 1106, + "ocument": 1107, + "ector": 1108, + "/*": 1109, + "map": 1110, + "lete": 1111, + "word": 1112, + "sub": 1113, + "._": 1114, + "Ġ**": 1115, + "irst": 1116, + "void": 1117, + "Ġro": 1118, + "ync": 1119, + "Info": 1120, + "ï¼Į": 1121, + "Ġ});": 1122, + "Ġapp": 1123, + "ffer": 1124, + "ise": 1125, + "function": 1126, + "pen": 1127, + "а": 1128, + "umn": 1129, + "])": 1130, + "input": 1131, + "args": 1132, + "Ġtime": 1133, + "ait": 1134, + "Ġcase": 1135, + "tribut": 1136, + "Ġerr": 1137, + "irect": 1138, + "FF": 1139, + "ng": 1140, + "action": 1141, + "ute": 1142, + "lection": 1143, + "////////": 1144, + "lob": 1145, + "inter": 1146, + "ify": 1147, + "Ġpr": 1148, + "Ġlist": 1149, + "oint": 1150, + "Event": 1151, + "cc": 1152, + "gist": 1153, + "ook": 1154, + "son": 1155, + "Ġ__": 1156, + "())": 1157, + "Ġfinal": 1158, + "Ġhave": 1159, + "model": 1160, + "face": 1161, + "((": 1162, + "config": 1163, + "PI": 1164, + "ature": 1165, + "space": 1166, + "struct": 1167, + "Ġne": 1168, + "Ġall": 1169, + "by": 1170, + "ĠSystem": 1171, + "label": 1172, + "ca": 1173, + "order": 1174, + "Message": 1175, + "Field": 1176, + "ĠLicense": 1177, + "[]": 1178, + "...": 1179, + "ler": 1180, + "ĠNULL": 1181, + "'s": 1182, + "Service": 1183, + "rit": 1184, + "ride": 1185, + "AC": 1186, + "uble": 1187, + "Ġimport": 1188, + "Sh": 1189, + "ich": 1190, + "ized": 1191, + "AD": 1192, + "opy": 1193, + "OT": 1194, + "','": 1195, + "ates": 1196, + "CO": 1197, + "rol": 1198, + "db": 1199, + "sponse": 1200, + "Ġassert": 1201, + "Ġkey": 1202, + "vel": 1203, + "link": 1204, + "Ġrequire": 1205, + "not": 1206, + "Ġlet": 1207, + "Map": 1208, + "ager": 1209, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1210, + "mon": 1211, + "Node": 1212, + "uration": 1213, + "Ġdis": 1214, + "Path": 1215, + "print": 1216, + "query": 1217, + "ET": 1218, + "gle": 1219, + "cre": 1220, + "pes": 1221, + "Context": 1222, + "ning": 1223, + "ĠK": 1224, + "fe": 1225, + "ick": 1226, + "Code": 1227, + "\"><": 1342, + "ices": 1343, + "Ġtext": 1344, + "ED": 1345, + "Ġany": 1346, + "no": 1347, + "ĠThis": 1348, + "ta": 1349, + "Def": 1350, + "Ġchar": 1351, + "ainer": 1352, + "ative": 1353, + "wh": 1354, + "upport": 1355, + "lib": 1356, + "request": 1357, + "export": 1358, + "Ġconfig": 1359, + "Ġimp": 1360, + "Ġsub": 1361, + "FO": 1362, + "group": 1363, + "ql": 1364, + "[\"": 1365, + "start": 1366, + "summary": 1367, + "andle": 1368, + "ank": 1369, + "Ġyour": 1370, + "({": 1371, + "ush": 1372, + "az": 1373, + "Ġspec": 1374, + "arent": 1375, + "we": 1376, + "uthor": 1377, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1378, + "Ċĉĉĉĉĉ": 1379, + "press": 1380, + "ld": 1381, + "the": 1382, + "Ġjava": 1383, + "ner": 1384, + "ustom": 1385, + "Up": 1386, + "roller": 1387, + "duct": 1388, + "Ġwork": 1389, + "ĠGet": 1390, + "ider": 1391, + "ING": 1392, + "top": 1393, + "Result": 1394, + "Ġshould": 1395, + "ware": 1396, + "Response": 1397, + "cept": 1398, + "Ġab": 1399, + "MA": 1400, + "Ġhas": 1401, + "Val": 1402, + "enter": 1403, + "Ġ()": 1404, + "CH": 1405, + "Ġpre": 1406, + "TO": 1407, + "SER": 1408, + "do": 1409, + "ĠY": 1410, + "Ġmethod": 1411, + "Ġwhen": 1412, + "UN": 1413, + "ags": 1414, + "н": 1415, + "scription": 1416, + "Ġarray": 1417, + "Ġstyle": 1418, + "Of": 1419, + "Ġrun": 1420, + "ts": 1421, + "Ġthrow": 1422, + "script": 1423, + "Ġexpect": 1424, + "'),": 1425, + "Ġinter": 1426, + "doc": 1427, + "Int": 1428, + "Ġ(!": 1429, + "Ġac": 1430, + "mis": 1431, + "Me": 1432, + "temp": 1433, + "IG": 1434, + "mage": 1435, + "message": 1436, + "andler": 1437, + "ENT": 1438, + "base": 1439, + "Ġinst": 1440, + "ined": 1441, + "nd": 1442, + "lick": 1443, + "fore": 1444, + "åĪ": 1445, + "\"]": 1446, + "Ġext": 1447, + "ãĢĤ": 1448, + "max": 1449, + "Des": 1450, + "Ġnumber": 1451, + "bug": 1452, + "ension": 1453, + "Ġ+=": 1454, + "old": 1455, + "MP": 1456, + "tribute": 1457, + "../../": 1458, + "Ġprint": 1459, + "EX": 1460, + "\",\"": 1461, + "ams": 1462, + "æľ": 1463, + "ses": 1464, + "As": 1465, + "IL": 1466, + "Be": 1467, + "ĠĠĠĠĠĠĠĠĠĠĠ": 1468, + "enu": 1469, + "cord": 1470, + "Ġusing": 1471, + "Ġ};": 1472, + "object": 1473, + "Ġmessage": 1474, + "Le": 1475, + "Ġcall": 1476, + "Ġstart": 1477, + "ible": 1478, + "df": 1479, + "nection": 1480, + "Ġ]": 1481, + "###": 1482, + "tx": 1483, + "On": 1484, + "ÑĢ": 1485, + "Client": 1486, + "Ġcreate": 1487, + "Ċĉĉĉĉĉĉ": 1488, + "color": 1489, + "nb": 1490, + "Ġread": 1491, + "\\\"": 1492, + "point": 1493, + "ends": 1494, + "field": 1495, + "оÐ": 1496, + "round": 1497, + "over": 1498, + "www": 1499, + "move": 1500, + "box": 1501, + "äº": 1502, + "Ġversion": 1503, + "Al": 1504, + "Ġcheck": 1505, + "cho": 1506, + "its": 1507, + "true": 1508, + "Ġinput": 1509, + "Ġwhich": 1510, + "){": 1511, + "Out": 1512, + "ĠDe": 1513, + "Color": 1514, + "dir": 1515, + "num": 1516, + "status": 1517, + "itor": 1518, + "Ġpath": 1519, + "Ñģ": 1520, + "block": 1521, + "Ġob": 1522, + "gin": 1523, + "Ġ\"\"\"": 1524, + "ade": 1525, + "post": 1526, + "Or": 1527, + "tn": 1528, + "iable": 1529, + "std": 1530, + "Ġunder": 1531, + "Ġcl": 1532, + "Status": 1533, + "Count": 1534, + "ails": 1535, + "default": 1536, + "cur": 1537, + "ov": 1538, + "Ġchange": 1539, + "}}": 1540, + "Ġnode": 1541, + "Ġmodel": 1542, + "tings": 1543, + "Ġad": 1544, + "trans": 1545, + "ik": 1546, + "Date": 1547, + "body": 1548, + "af": 1549, + "Ġcurrent": 1550, + "bl": 1551, + "ale": 1552, + "check": 1553, + "With": 1554, + "til": 1555, + "uccess": 1556, + "otal": 1557, + "ected": 1558, + "---": 1559, + "Ġbool": 1560, + "Ġsrc": 1561, + "For": 1562, + ">(": 1563, + "Group": 1564, + "ĠTr": 1565, + "icon": 1566, + "event": 1567, + "ĊĠĠĠĠĠĠ": 1568, + "./": 1569, + "ugin": 1570, + "osition": 1571, + "Manager": 1572, + "lose": 1573, + "static": 1574, + "ren": 1575, + "á": 1576, + "annel": 1577, + "ical": 1578, + "utton": 1579, + "client": 1580, + "lang": 1581, + "reg": 1582, + "CL": 1583, + "icro": 1584, + "assword": 1585, + "sw": 1586, + "lobal": 1587, + "man": 1588, + "INFO": 1589, + "Ac": 1590, + "Ġone": 1591, + "tes": 1592, + "ĠX": 1593, + "char": 1594, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1595, + "Ġtry": 1596, + "Ġwas": 1597, + "System": 1598, + "Table": 1599, + "Ġfield": 1600, + "mt": 1601, + "ution": 1602, + "Ġstate": 1603, + "Ġother": 1604, + "Ġ[]": 1605, + "ient": 1606, + "Loc": 1607, + "atab": 1608, + "!--": 1609, + "ender": 1610, + "gister": 1611, + "Input": 1612, + "select": 1613, + "AG": 1614, + "Ġthen": 1615, + "åIJ": 1616, + "src": 1617, + "older": 1618, + "Ġcontext": 1619, + "thon": 1620, + "style": 1621, + "Is": 1622, + "Ġitem": 1623, + "çĶ": 1624, + "Query": 1625, + "Ġbreak": 1626, + "vert": 1627, + "Ġline": 1628, + "Ġsome": 1629, + "Ġtrans": 1630, + "Ġmay": 1631, + "bar": 1632, + "roid": 1633, + "sole": 1634, + "å®": 1635, + "čĊĉĉ": 1636, + "page": 1637, + "Ġarg": 1638, + "ified": 1639, + "button": 1640, + "mpty": 1641, + "à¸": 1642, + "format": 1643, + "width": 1644, + "png": 1645, + "Inter": 1646, + "module": 1647, + "version": 1648, + "ization": 1649, + "Ġindex": 1650, + "ater": 1651, + "(&": 1652, + "Property": 1653, + "Ġused": 1654, + "nbsp": 1655, + "{{": 1656, + "len": 1657, + "Image": 1658, + "ĠĊ": 1659, + "uage": 1660, + "åħ": 1661, + "ux": 1662, + "Ġent": 1663, + "init": 1664, + "ĠNone": 1665, + "serv": 1666, + "${": 1667, + "pert": 1668, + "Window": 1669, + "ĠIf": 1670, + "Ġstruct": 1671, + "Ġmy": 1672, + "Ġdist": 1673, + "][": 1674, + "HE": 1675, + "open": 1676, + "oogle": 1677, + "Ġhttps": 1678, + "ML": 1679, + "DO": 1680, + "Ġ/>": 1681, + "ĠList": 1682, + "ĠUn": 1683, + "wait": 1684, + "soft": 1685, + "atabase": 1686, + "ĊĊĠĠĠĠĠ": 1687, + "Ġoutput": 1688, + "append": 1689, + "ypes": 1690, + "ra": 1691, + "Ġevent": 1692, + "null": 1693, + "aster": 1694, + "Ġbase": 1695, + "local": 1696, + "ä½": 1697, + "vide": 1698, + "è¿": 1699, + "current": 1700, + "ote": 1701, + "actory": 1702, + "mission": 1703, + "go": 1704, + "Box": 1705, + "SS": 1706, + "ui": 1707, + "ish": 1708, + "ĠClass": 1709, + "TY": 1710, + "Action": 1711, + "Ġact": 1712, + "TE": 1713, + "Button": 1714, + "ameters": 1715, + "plo": 1716, + "Ġ,": 1717, + "ape": 1718, + "off": 1719, + "Ġ===": 1720, + "Sub": 1721, + "Component": 1722, + "ply": 1723, + "DI": 1724, + "CON": 1725, + "Dis": 1726, + "Ġuint": 1727, + "ments": 1728, + "cs": 1729, + ".>": 2005, + "ü": 2006, + "Str": 2007, + "strong": 2008, + "([": 2009, + "sert": 2010, + "namespace": 2011, + "uch": 2012, + "Buffer": 2013, + "Ġawait": 2014, + "pository": 2015, + "Ġcommand": 2016, + "Ġthere": 2017, + "push": 2018, + "Command": 2019, + "Ġcre": 2020, + "sets": 2021, + "Ġfl": 2022, + "No": 2023, + "output": 2024, + "aint": 2025, + "Ġextends": 2026, + "IP": 2027, + "Source": 2028, + "filter": 2029, + "ĠIt": 2030, + "Options": 2031, + "ĠFile": 2032, + "ĠĠĠĠĠĠĠĠĠ": 2033, + "hed": 2034, + "host": 2035, + "riter": 2036, + "Ġ::": 2037, + "Ġ}}": 2038, + "/>": 2039, + "has": 2040, + "anguage": 2041, + "peration": 2042, + "Ġclient": 2043, + "Default": 2044, + "US": 2045, + "ift": 2046, + "Ġmod": 2047, + "pri": 2048, + "~~": 2049, + "part": 2050, + "rt": 2051, + "ings": 2052, + "л": 2053, + "Ġimplement": 2054, + "private": 2055, + "lem": 2056, + "ĠSer": 2057, + "signed": 2058, + "Server": 2059, + "GL": 2060, + "tom": 2061, + "Version": 2062, + "Ġqu": 2063, + "Ġdouble": 2064, + "Ġnp": 2065, + "nect": 2066, + "obj": 2067, + "Ġdi": 2068, + "Ġlen": 2069, + "endif": 2070, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2071, + "xf": 2072, + "olic": 2073, + "Ġproject": 2074, + "Ġoptions": 2075, + "msg": 2076, + "license": 2077, + "Ġvalues": 2078, + "css": 2079, + "Ġvalid": 2080, + "ume": 2081, + "Ġ;": 2082, + "tual": 2083, + "Ref": 2084, + "Ġpo": 2085, + "vo": 2086, + "cd": 2087, + "ormal": 2088, + "åĬ": 2089, + "uster": 2090, + "Ġright": 2091, + "čĊĠĠĠĠĠ": 2092, + "Ġfa": 2093, + "ret": 2094, + "ctx": 2095, + "ó": 2096, + "ç͍": 2097, + "Ġco": 2098, + "Ġar": 2099, + "imple": 2100, + "Mode": 2101, + "End": 2102, + "wo": 2103, + "apache": 2104, + "ities": 2105, + "ene": 2106, + "Ġ['": 2107, + "ĠTest": 2108, + "OF": 2109, + "ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2110, + "header": 2111, + "ı": 2112, + "\"),": 2113, + "ources": 2114, + "Ġed": 2115, + "author": 2116, + "SC": 2117, + "ower": 2118, + "Hel": 2119, + "untime": 2120, + "env": 2121, + "service": 2122, + "SI": 2123, + "Ġlike": 2124, + "Ġaction": 2125, + "Ġoff": 2126, + "det": 2127, + "apt": 2128, + "Ġrequired": 2129, + "Start": 2130, + "\"))": 2131, + "params": 2132, + "Det": 2133, + "Fl": 2134, + "last": 2135, + "Frame": 2136, + "Column": 2137, + "rows": 2138, + "unk": 2139, + "Check": 2140, + "AA": 2141, + "tag": 2142, + "Pr": 2143, + "ero": 2144, + "Ġserver": 2145, + "EL": 2146, + "ABLE": 2147, + "ĠSe": 2148, + "Ġ{}": 2149, + "QL": 2150, + "argin": 2151, + "Ġret": 2152, + "anel": 2153, + "Ġwhere": 2154, + "Ġrange": 2155, + "Ġopen": 2156, + "store": 2157, + "aph": 2158, + "lt": 2159, + "pression": 2160, + "cf": 2161, + "inition": 2162, + "Ġblock": 2163, + "Ġprocess": 2164, + "Cl": 2165, + "Sp": 2166, + "omain": 2167, + "Label": 2168, + "Ġdistribut": 2169, + "ĊĠĠĠĠĊĠĠĠ": 2170, + "number": 2171, + "nav": 2172, + "fr": 2173, + "now": 2174, + "google": 2175, + "(_": 2176, + ")]": 2177, + "gener": 2178, + "Ġformat": 2179, + "docs": 2180, + "Ġargs": 2181, + "Ġcal": 2182, + "CK": 2183, + "options": 2184, + "And": 2185, + "font": 2186, + "defined": 2187, + "'],": 2188, + "íķ": 2189, + "board": 2190, + "ĠInitialized": 2191, + "Ġselect": 2192, + "Ġsupport": 2193, + "ĠObject": 2194, + "bot": 2195, + "Ġlocal": 2196, + "Ġsc": 2197, + "ĠCON": 2198, + "ivity": 2199, + "mail": 2200, + "CC": 2201, + "Ġview": 2202, + "ERR": 2203, + "xy": 2204, + "Url": 2205, + "################": 2206, + "Format": 2207, + "parse": 2208, + "ym": 2209, + "AM": 2210, + "čĊĠĠĠĠ": 2211, + "Attribute": 2212, + "ç»": 2213, + "Factory": 2214, + "opt": 2215, + "Entity": 2216, + "Http": 2217, + "Ġwhile": 2218, + "cp": 2219, + "brary": 2220, + "Listener": 2221, + "ĠAdd": 2222, + "KE": 2223, + "Ġass": 2224, + "entity": 2225, + "čĊčĊĠĠĠ": 2226, + "Block": 2227, + "equal": 2228, + "Ġdif": 2229, + "Read": 2230, + "SP": 2231, + "first": 2232, + "refer": 2233, + "Ġform": 2234, + "Co": 2235, + "ved": 2236, + "ULT": 2237, + "stream": 2238, + "refix": 2239, + "velo": 2240, + "ĠOF": 2241, + "images": 2242, + "unit": 2243, + "ĠAn": 2244, + "show": 2245, + "Ob": 2246, + "Task": 2247, + "Ġecho": 2248, + "åľ": 2249, + "project": 2250, + "tt": 2251, + "ĠComp": 2252, + "HO": 2253, + "very": 2254, + "graph": 2255, + "Collection": 2256, + "gress": 2257, + "Ġjust": 2258, + "Equals": 2259, + "Ġpoint": 2260, + "....": 2261, + "():": 2262, + "byte": 2263, + "ĠĠĠĠĠĠĠĠĠĠ": 2264, + "izer": 2265, + "Ġlabel": 2266, + "Ġauto": 2267, + "Ġwould": 2268, + "sv": 2269, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2270, + "ä¸Ģ": 2271, + "This": 2272, + "height": 2273, + "less": 2274, + "Style": 2275, + "Ġfiles": 2276, + "ump": 2277, + "mut": 2278, + "ĠDE": 2279, + "Ġexample": 2280, + "eta": 2281, + "common": 2282, + "Ġ${": 2283, + "UI": 2284, + "spec": 2285, + "arning": 2286, + "Ġstatus": 2287, + "Ġover": 2288, + "Mem": 2289, + "Ġfind": 2290, + "Resource": 2291, + "component": 2292, + "ialog": 2293, + "card": 2294, + "resh": 2295, + "\".": 2296, + "Ġmodule": 2297, + "Ġmust": 2298, + "Ġexec": 2299, + "admin": 2300, + "Output": 2301, + "mer": 2302, + "Valid": 2303, + "utils": 2304, + "Ġinclude": 2305, + "iven": 2306, + "Ġexist": 2307, + "æĺ¯": 2308, + "ilename": 2309, + "description": 2310, + "è®": 2311, + "ef": 2312, + "Ġsol": 2313, + "gn": 2314, + "rad": 2315, + "etwork": 2316, + "Ġla": 2317, + "Ġsee": 2318, + "TYPE": 2319, + "ALL": 2320, + "aa": 2321, + "Ġos": 2322, + "pg": 2323, + "Configuration": 2324, + "inst": 2325, + "ç": 2326, + "ern": 2327, + "TP": 2328, + "Ġalso": 2329, + "ĠAPI": 2330, + "IM": 2331, + "ailable": 2332, + "Update": 2333, + "Ġman": 2334, + "æĹ": 2335, + "leg": 2336, + "Us": 2337, + "IO": 2338, + "ched": 2339, + "Ġdate": 2340, + "viron": 2341, + "change": 2342, + "čĊčĊ": 2343, + "Layout": 2344, + "ITE": 2345, + "è¡": 2346, + "UM": 2347, + "Filter": 2348, + "Ġmem": 2349, + "Ġgroup": 2350, + "æķ°": 2351, + "Row": 2352, + "ines": 2353, + "Ġnext": 2354, + "Ġprovide": 2355, + "np": 2356, + "Ġfont": 2357, + "expect": 2358, + "Link": 2359, + ",\"": 2360, + "Ġjson": 2361, + "ency": 2362, + "cket": 2363, + "Ġpost": 2364, + "river": 2365, + "adding": 2366, + "{\"": 2367, + "Ġcatch": 2368, + "xx": 2369, + "ĠNOT": 2370, + "ah": 2371, + "ins": 2372, + "Sto": 2373, + "Sc": 2374, + "ython": 2375, + "ants": 2376, + "Ġ>=": 2377, + "STR": 2378, + "Ġprob": 2379, + "Length": 2380, + "aded": 2381, + "åŃ": 2382, + "PRO": 2383, + "Ġheight": 2384, + "Ġcount": 2385, + "instance": 2386, + "template": 2387, + "root": 2388, + "ĠCopy": 2389, + "center": 2390, + "react": 2391, + "ymb": 2392, + "auth": 2393, + "chema": 2394, + ";&": 2395, + "MO": 2396, + "attern": 2397, + "ĠData": 2398, + "EXT": 2399, + "bit": 2400, + "Ġlast": 2401, + "vector": 2402, + "req": 2403, + "Ġtoken": 2404, + "cast": 2405, + "ious": 2406, + "ĠĠĠĠĠĠĠĠĠĠĠĠ": 2407, + "ensor": 2408, + "begin": 2409, + "Temp": 2410, + "ession": 2411, + "Ġfollowing": 2412, + "URL": 2413, + "ding": 2414, + "ĠSh": 2415, + "process": 2416, + "Ġ...": 2417, + "UP": 2418, + "zure": 2419, + "bool": 2420, + "Ġfix": 2421, + "Control": 2422, + "pack": 2423, + "Types": 2424, + "ns": 2425, + "ORT": 2426, + "Ġissue": 2427, + "åº": 2428, + "light": 2429, + "Ġ\"/": 2430, + "Ġfound": 2431, + "Ġsame": 2432, + "property": 2433, + "ĠVAL": 2434, + "control": 2435, + "UB": 2436, + "attr": 2437, + "Address": 2438, + "olicy": 2439, + "Ġav": 2440, + "ols": 2441, + "Ġhere": 2442, + "Ġinstall": 2443, + "Wh": 2444, + "product": 2445, + "cr": 2446, + "Function": 2447, + "ĠYou": 2448, + "=>": 2449, + "tributes": 2450, + "udio": 2451, + "dist": 2452, + "rag": 2453, + "Ġload": 2454, + "other": 2455, + "cription": 2456, + "icle": 2457, + "xb": 2458, + "Module": 2459, + "cent": 2460, + "aj": 2461, + "quot": 2462, + "rypt": 2463, + "Ġnow": 2464, + "ven": 2465, + "()->": 2466, + "Ġquery": 2467, + "address": 2468, + "ĠAS": 2469, + "Ġoption": 2470, + "Ġinformation": 2471, + "ten": 2472, + "'.": 2473, + "NAME": 2474, + "ose": 2475, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2476, + "ä": 2477, + "VE": 2478, + "cy": 2479, + "active": 2480, + "nown": 2481, + "Rout": 2482, + "etch": 2483, + "ĠID": 2484, + "аÐ": 2485, + "åĽ": 2486, + "ier": 2487, + "Ġref": 2488, + "ward": 2489, + "dition": 2490, + "Ġmat": 2491, + "Ġque": 2492, + "exec": 2493, + "atform": 2494, + "Back": 2495, + "sa": 2496, + "ãģ®": 2497, + "Ġasync": 2498, + "lot": 2499, + "cb": 2500, + "command": 2501, + ")(": 2502, + "Ġdisplay": 2503, + "Ġeach": 2504, + "Ġ],": 2505, + "ln": 2506, + "lit": 2507, + "ESS": 2508, + "BUG": 2509, + "\":\"": 2510, + "Ġ<=": 2511, + "ultip": 2512, + "![": 2513, + "SH": 2514, + "asses": 2515, + "types": 2516, + "rapper": 2517, + "gen": 2518, + "Ġshow": 2519, + "ause": 2520, + "None": 2521, + "Ġprotected": 2522, + "ĠZ": 2523, + "join": 2524, + "=\"#": 2525, + "Json": 2526, + "Off": 2527, + "å°": 2528, + "Run": 2529, + "Ġmatch": 2530, + "ian": 2531, + "Ġorder": 2532, + "================================": 2533, + "stract": 2534, + "Ġsw": 2535, + "files": 2536, + "{}": 2537, + "Write": 2538, + "bind": 2539, + "ĊĊĉĉ": 2540, + "`.": 2541, + "hel": 2542, + "element": 2543, + "parent": 2544, + "ffect": 2545, + "remove": 2546, + "Ġpub": 2547, + "fs": 2548, + "Ġconsole": 2549, + "Ġ'',": 2550, + "Api": 2551, + "Ġlink": 2552, + "Ñĥ": 2553, + "API": 2554, + "Do": 2555, + "ĠEn": 2556, + "aces": 2557, + "ron": 2558, + "met": 2559, + "delete": 2560, + "ĠCol": 2561, + "btn": 2562, + "ging": 2563, + "čĊĉĉĉ": 2564, + "unter": 2565, + "å¼": 2566, + "Num": 2567, + "Ġinterface": 2568, + "RAN": 2569, + "Provider": 2570, + "Ġthrows": 2571, + "orld": 2572, + "Mod": 2573, + "idden": 2574, + "Ġmain": 2575, + "NO": 2576, + "Ġcomponent": 2577, + "åį": 2578, + "cat": 2579, + "vices": 2580, + "dated": 2581, + "ring": 2582, + "Ġbeen": 2583, + "ready": 2584, + "only": 2585, + "ãĢģ": 2586, + "Ġloc": 2587, + "Ġ),": 2588, + "Âł": 2589, + "master": 2590, + "WR": 2591, + "column": 2592, + "xml": 2593, + "sol": 2594, + "Web": 2595, + "Ġsign": 2596, + "Cache": 2597, + "ado": 2598, + "Ġsuper": 2599, + "ane": 2600, + "Ġport": 2601, + "sql": 2602, + "Ġandroid": 2603, + "Ġtag": 2604, + "apter": 2605, + "âĶĢ": 2606, + "ĊĠĠĠĠĠĠĠĠĠĠ": 2607, + "Ġallow": 2608, + "book": 2609, + ")))": 2610, + "Width": 2611, + "ons": 2612, + "cache": 2613, + "ĠTo": 2614, + "ĠclassName": 2615, + "ĠFor": 2616, + "reen": 2617, + "oto": 2618, + "ĠWh": 2619, + "full": 2620, + "UES": 2621, + "ouse": 2622, + "Ġcolumn": 2623, + "Ġhow": 2624, + "Ġabout": 2625, + "Pre": 2626, + "double": 2627, + "vironment": 2628, + "ĠArray": 2629, + "container": 2630, + "INSERT": 2631, + "dt": 2632, + "Tag": 2633, + "ole": 2634, + "xe": 2635, + "OS": 2636, + "Ġwant": 2637, + "anch": 2638, + "Part": 2639, + "ĠCopyright": 2640, + "ĠINTO": 2641, + "Ġem": 2642, + "Ġver": 2643, + "Header": 2644, + "location": 2645, + "Ġcorre": 2646, + "structor": 2647, + "ĠCreate": 2648, + "level": 2649, + "Exec": 2650, + "Ptr": 2651, + "Ġpackage": 2652, + "ba": 2653, + "Vis": 2654, + "Click": 2655, + "Level": 2656, + "----------------------------------------------------------------": 2657, + "个": 2658, + "Char": 2659, + "iss": 2660, + "child": 2661, + "ĠLog": 2662, + "Ġtop": 2663, + "Ġsystem": 2664, + "dict": 2665, + "éĢ": 2666, + "CTION": 2667, + "buffer": 2668, + "argument": 2669, + "Ġbefore": 2670, + "side": 2671, + "Menu": 2672, + "ique": 2673, + "Ġph": 2674, + "patch": 2675, + "Ġweb": 2676, + "Ġvariable": 2677, + "Ġq": 2678, + "close": 2679, + "ĠUser": 2680, + "Auth": 2681, + "make": 2682, + "ãĥ¼": 2683, + "Ġoverride": 2684, + "Ġafter": 2685, + "indows": 2686, + "ince": 2687, + "ĠWe": 2688, + "present": 2689, + "aining": 2690, + ";,": 2717, + "ither": 2718, + "Ġservice": 2719, + "ZE": 2720, + "irection": 2721, + "ential": 2722, + "Ġlimit": 2723, + "stamp": 2724, + "Ext": 2725, + "Ġ('": 2726, + "Application": 2727, + "Ġdistributed": 2728, + "creen": 2729, + "AY": 2730, + "Position": 2731, + "Case": 2732, + "amb": 2733, + "her": 2734, + "âĢĻ": 2735, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2736, + "ĠBu": 2737, + "Ġcur": 2738, + "MS": 2739, + "(*": 2740, + "Ġ": 4289, + "Profile": 4290, + "ä¸ĭ": 4291, + "Internal": 4292, + "Cur": 4293, + "AX": 4294, + "results": 4295, + "ĠTODO": 4296, + "ailed": 4297, + "role": 4298, + "对": 4299, + "ĠMy": 4300, + "ãģĹãģ": 4301, + "Ġnormal": 4302, + "Ver": 4303, + "Ġcontains": 4304, + "ority": 4305, + "ĠOut": 4306, + "PECT": 4307, + "Ġproperties": 4308, + "Err": 4309, + "=(": 4310, + "Show": 4311, + "Ġ[];": 4312, + "helper": 4313, + "åΰ": 4314, + "rep": 4315, + "Transaction": 4316, + ".,": 4317, + "extern": 4318, + "alys": 4319, + "Ġ\"\",": 4320, + "ness": 4321, + "Ġplease": 4322, + "Ġexit": 4323, + "Ġselected": 4324, + "ram": 4325, + "ooks": 4326, + "Descriptor": 4327, + "ĠView": 4328, + "Register": 4329, + "annotation": 4330, + "Ġoper": 4331, + "initial": 4332, + "Ġdocumentation": 4333, + "llum": 4334, + "Ġboth": 4335, + "Ġautom": 4336, + "ĠRout": 4337, + "views": 4338, + "liance": 4339, + "ever": 4340, + "ceived": 4341, + "fb": 4342, + "chron": 4343, + "ottom": 4344, + "Ġtree": 4345, + "Ġpas": 4346, + "selected": 4347, + "Ġelif": 4348, + "Br": 4349, + "........": 4350, + "route": 4351, + "ëĬĶ": 4352, + "åĴ": 4353, + "ĠPy": 4354, + "ï»": 4355, + "Ġparam": 4356, + "д": 4357, + "Main": 4358, + "ony": 4359, + "Author": 4360, + "ĠImage": 4361, + "Ġplayer": 4362, + "high": 4363, + "Details": 4364, + "pb": 4365, + "é¡": 4366, + "Rect": 4367, + "ĠčĊč": 4368, + "Ġown": 4369, + ")}": 4370, + "usercontent": 4371, + "icker": 4372, + "security": 4373, + "Ġconstructor": 4374, + "AST": 4375, + "Ġbox": 4376, + "Ġ..": 4377, + "aved": 4378, + "alysis": 4379, + "": 4380, + "ancel": 4381, + "normal": 4382, + "callback": 4383, + "OB": 4384, + "æĸ¹": 4385, + "HERE": 4386, + "ird": 4387, + "čĊĠĠĠĠĠĠĠĠĠ": 4388, + "ĠHe": 4389, + "track": 4390, + "Use": 4391, + "lluminate": 4392, + "ĠIO": 4393, + "ção": 4394, + "Ġmock": 4395, + "async": 4396, + "Xml": 4397, + "boolean": 4398, + "Support": 4399, + "################################": 4400, + "ĠInteger": 4401, + "ĠCode": 4402, + "Forms": 4403, + "ĠAc": 4404, + "Ġgover": 4405, + "Ġdim": 4406, + "jection": 4407, + "olution": 4408, + "READ": 4409, + "wd": 4410, + "Success": 4411, + "ipp": 4412, + "alth": 4413, + ".\",": 4414, + "price": 4415, + "DEF": 4416, + "ĠUse": 4417, + "depend": 4418, + "dates": 4419, + "Adapter": 4420, + "ading": 4421, + "Ġentity": 4422, + "DC": 4423, + "HTML": 4424, + "olver": 4425, + "fp": 4426, + "cimal": 4427, + "ĠSQL": 4428, + "leep": 4429, + "kt": 4430, + "ONE": 4431, + "batch": 4432, + "Parent": 4433, + "encode": 4434, + "ĠNO": 4435, + "Ġperform": 4436, + "čĊĠĠĠĠĠĠĠĠ": 4437, + "Ġmethods": 4438, + "Selector": 4439, + "表": 4440, + "ji": 4441, + "Ġfunctions": 4442, + "UAL": 4443, + "Ġeven": 4444, + "Can": 4445, + "lines": 4446, + "Ġinline": 4447, + "ĠRequest": 4448, + "sure": 4449, + "Ġgenerate": 4450, + "Ġdiv": 4451, + "au": 4452, + "itter": 4453, + "åİ": 4454, + "Global": 4455, + "ĠĊĠĠĠĠĠĠĠ": 4456, + "primary": 4457, + "screen": 4458, + "Ġupdated": 4459, + "RT": 4460, + "rip": 4461, + "upload": 4462, + "win": 4463, + "bound": 4464, + "Ġwait": 4465, + "console": 4466, + "Ġnames": 4467, + "WORD": 4468, + "å¿": 4469, + "Tests": 4470, + "ãģ§": 4471, + "èĥ½": 4472, + "ĠKIND": 4473, + "lat": 4474, + "åĴĮ": 4475, + "issues": 4476, + "Email": 4477, + "ama": 4478, + "Ġgen": 4479, + "Parse": 4480, + "uby": 4481, + "!(": 4482, + "Ġconvert": 4483, + "'re": 4484, + "sim": 4485, + "hy": 4486, + "Ġwell": 4487, + "githubusercontent": 4488, + "ĠRun": 4489, + "å¦Ĥ": 4490, + "Ġcollection": 4491, + "ión": 4492, + "è¾": 4493, + "Mark": 4494, + "Only": 4495, + "Dist": 4496, + "Ġdecl": 4497, + "åĪĨ": 4498, + "Microsoft": 4499, + "Ġimplied": 4500, + "zer": 4501, + "variable": 4502, + ">.": 4503, + "Ġshort": 4504, + "gorithm": 4505, + "rb": 4506, + "ìĦ": 4507, + "ä¸Ĭ": 4508, + "ECT": 4509, + "just": 4510, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 4511, + "ĠĊĉ": 4512, + "íķĺ": 4513, + "wer": 4514, + "éĿ": 4515, + "ANT": 4516, + "ĠBy": 4517, + "ARY": 4518, + "metadata": 4519, + "dk": 4520, + "SU": 4521, + "Ġtransform": 4522, + "Ġactive": 4523, + "created": 4524, + "çİ": 4525, + "execute": 4526, + "Ġutil": 4527, + "Ġwere": 4528, + "`)": 4529, + "VERSION": 4530, + "handler": 4531, + "ea": 4532, + "Ġenv": 4533, + "reset": 4534, + "pa": 4535, + "margin": 4536, + "mi": 4537, + "cli": 4538, + "Role": 4539, + "ĠFunction": 4540, + "Sk": 4541, + "Directory": 4542, + "real": 4543, + "Selected": 4544, + "flags": 4545, + "ICE": 4546, + "EM": 4547, + "year": 4548, + "Ġmodels": 4549, + "Ġfmt": 4550, + "Ġserial": 4551, + "Ġprevious": 4552, + "Ġedit": 4553, + "loader": 4554, + "flag": 4555, + "Ġapplicable": 4556, + "logic": 4557, + "Ġsince": 4558, + "Ġtool": 4559, + "Track": 4560, + "ãĥĪ": 4561, + "Ġtrack": 4562, + "asure": 4563, + ".'": 4564, + "\\\":": 4565, + "duction": 4566, + "Ġconn": 4567, + "allow": 4568, + "å±": 4569, + "AV": 4570, + "Ge": 4571, + "{%": 4572, + "network": 4573, + "rict": 4574, + "Ġimplements": 4575, + "Ġscope": 4576, + "ä¸Ģ个": 4577, + "ĠMessage": 4578, + "periment": 4579, + "åī": 4580, + "ĠDB": 4581, + "dx": 4582, + "Ġcommit": 4583, + "urrency": 4584, + "çIJ": 4585, + ")*": 4586, + "Bit": 4587, + "Ġdebug": 4588, + "áº": 4589, + "ToString": 4590, + "ĠLoc": 4591, + "Member": 4592, + "ĠAt": 4593, + "question": 4594, + "ja": 4595, + "=\"../../": 4596, + "stat": 4597, + "ALSE": 4598, + "Hub": 4599, + "ĠIP": 4600, + "DATA": 4601, + "RES": 4602, + "database": 4603, + "ategories": 4604, + "oly": 4605, + "âĸ": 4606, + "Cluster": 4607, + "ircle": 4608, + "Ġmultiple": 4609, + "ansport": 4610, + "ended": 4611, + "ä½ľ": 4612, + "LIST": 4613, + "ango": 4614, + "Screen": 4615, + "ometry": 4616, + "pass": 4617, + "Ġsent": 4618, + "ç½®": 4619, + "SELECT": 4620, + "'ll": 4621, + "ĠArg": 4622, + "Drawing": 4623, + "JS": 4624, + "Home": 4625, + "Ġpred": 4626, + "controller": 4627, + "ãĤ¹": 4628, + "Flags": 4629, + "Ġmost": 4630, + "Lock": 4631, + "solute": 4632, + "à¹": 4633, + "endar": 4634, + "validate": 4635, + "sn": 4636, + "fg": 4637, + "Ġ(_": 4638, + "herit": 4639, + "switch": 4640, + "prop": 4641, + "properties": 4642, + "WE": 4643, + "Ġgood": 4644, + "toggle": 4645, + "'));": 4646, + "ĠOr": 4647, + "Ġactual": 4648, + "getElement": 4649, + "Ġи": 4650, + "ceive": 4651, + "pkg": 4652, + "Ġassoci": 4653, + "Ġplay": 4654, + "Ġflag": 4655, + "Im": 4656, + "BE": 4657, + "exists": 4658, + "Ġvert": 4659, + "Ġsomething": 4660, + "theme": 4661, + "shal": 4662, + "Kind": 4663, + "ĠPromise": 4664, + "ĠLe": 4665, + "FE": 4666, + "utter": 4667, + "hand": 4668, + "zz": 4669, + "Ġн": 4670, + "CONT": 4671, + "Wrapper": 4672, + "verter": 4673, + "Ġanother": 4674, + "urface": 4675, + "uite": 4676, + "prec": 4677, + "Initial": 4678, + "gy": 4679, + "counter": 4680, + "âķ": 4681, + "pdf": 4682, + "MIN": 4683, + "Ġobjects": 4684, + "eric": 4685, + "æ³ķ": 4686, + "cfg": 4687, + "ĠHttp": 4688, + "runtime": 4689, + "使ç͍": 4690, + "Ġinv": 4691, + "tk": 4692, + "ament": 4693, + "FLAG": 4694, + "Av": 4695, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 4696, + "||": 4697, + "fit": 4698, + "apply": 4699, + "csv": 4700, + "___": 4701, + "Ġelements": 4702, + "ĠResult": 4703, + "ital": 4704, + "Ġsetup": 4705, + "Ġenvironment": 4706, + "Ġoriginal": 4707, + "èĩ": 4708, + "Boolean": 4709, + "panel": 4710, + "Network": 4711, + "Ġvec": 4712, + "ifdef": 4713, + "umpy": 4714, + "RI": 4715, + "Bound": 4716, + "Ġreturned": 4717, + "acc": 4718, + "Ġstop": 4719, + "ĠEnd": 4720, + "alled": 4721, + "dom": 4722, + "Ġgenerated": 4723, + "/.": 4724, + "ito": 4725, + "Ġpop": 4726, + "oriz": 4727, + "Full": 4728, + "Ġvia": 4729, + "ç¨": 4730, + ")\"": 4731, + "imit": 4732, + "REG": 4733, + "NT": 4734, + "Shape": 4735, + "Ġimplementation": 4736, + "submit": 4737, + "rest": 4738, + ",$": 4739, + "Ġworking": 4740, + "Auto": 4741, + "condition": 4742, + "Ġhapp": 4743, + "arp": 4744, + "ç®": 4745, + "wik": 4746, + "PUT": 4747, + "ashboard": 4748, + "Ġip": 4749, + "ker": 4750, + "Ġrights": 4751, + "contains": 4752, + "ights": 4753, + "Total": 4754, + "Ġsite": 4755, + "help": 4756, + "åij": 4757, + "BR": 4758, + "Ġstorage": 4759, + "oose": 4760, + "ĠRed": 4761, + "ĠLicensed": 4762, + "'ve": 4763, + "Sync": 4764, + "mk": 4765, + "CD": 4766, + "Bundle": 4767, + "uggest": 4768, + "xFF": 4769, + "safe": 4770, + "ressed": 4771, + "Layer": 4772, + "NET": 4773, + "Ġcmd": 4774, + "exit": 4775, + "п": 4776, + ":**": 4777, + "ench": 4778, + "ÅŁ": 4779, + "LINE": 4780, + ",,": 4781, + "åıĸ": 4782, + "linux": 4783, + "ĠMan": 4784, + "lab": 4785, + "ĠFOR": 4786, + "legate": 4787, + "vi": 4788, + "xt": 4789, + "Trace": 4790, + "Ġimg": 4791, + "alert": 4792, + "ĠStart": 4793, + "Ġbelow": 4794, + "Ġocc": 4795, + "Ġmight": 4796, + "Ġwithin": 4797, + "ship": 4798, + "Ġcontain": 4799, + "(@": 4800, + "rief": 4801, + "çIJĨ": 4802, + "ĠInter": 4803, + "TIME": 4804, + "footer": 4805, + "Mapping": 4806, + "iness": 4807, + "ĠHTTP": 4808, + "Ġscreen": 4809, + "Ġsolid": 4810, + "Models": 4811, + ">;": 4812, + "Ġæ": 4813, + "Extension": 4814, + "Generator": 4815, + "vc": 4816, + "socket": 4817, + "Ġtake": 4818, + "Pointer": 4819, + "classes": 4820, + "Ġ<-": 4821, + "Editor": 4822, + "itive": 4823, + "ONT": 4824, + "Ġ\"-": 4825, + "Ġheaders": 4826, + "reat": 4827, + "reshold": 4828, + "ìł": 4829, + "âĢĿ": 4830, + "ĠImp": 4831, + "uler": 4832, + "ied": 4833, + "cret": 4834, + "Ġbug": 4835, + "bon": 4836, + "ynchron": 4837, + "aged": 4838, + "æķ°æį®": 4839, + "ident": 4840, + "ĠRead": 4841, + "Ġind": 4842, + "Gr": 4843, + "Ġfolder": 4844, + "Ġbuf": 4845, + "aut": 4846, + "Ġworks": 4847, + "uf": 4848, + "vs": 4849, + "comm": 4850, + "ĠService": 4851, + "DateTime": 4852, + "ç±": 4853, + "ë¥": 4854, + "USE": 4855, + "aking": 4856, + "losed": 4857, + "REQ": 4858, + "Transform": 4859, + "rupt": 4860, + "aving": 4861, + "Ġeas": 4862, + "Send": 4863, + "à§": 4864, + "ĠPython": 4865, + "bg": 4866, + "agent": 4867, + "Find": 4868, + "DITION": 4869, + "Ġfilename": 4870, + "Ġapply": 4871, + "}>": 4872, + "matrix": 4873, + "npm": 4874, + "rec": 4875, + "åĩº": 4876, + "ан": 4877, + "Ġtab": 4878, + "aging": 4879, + "FT": 4880, + "Ġcannot": 4881, + "tests": 4882, + "ifact": 4883, + "small": 4884, + "ë¡": 4885, + "Ġvariables": 4886, + "velopment": 4887, + "Loader": 4888, + "ems": 4889, + "attribute": 4890, + "bus": 4891, + "Texture": 4892, + "alpha": 4893, + "white": 4894, + "xs": 4895, + "ĠEd": 4896, + "itude": 4897, + "enable": 4898, + "Ġhandler": 4899, + "LS": 4900, + "(['": 4901, + "']['": 4902, + "diff": 4903, + "Ġcluster": 4904, + "Ġexisting": 4905, + "Ġbuilder": 4906, + "ood": 4907, + "tml": 4908, + "Ġnone": 4909, + "Rad": 4910, + "pm": 4911, + "(\"%": 4912, + "Remove": 4913, + "**:": 4914, + "children": 4915, + "Ġperson": 4916, + "faces": 4917, + "rf": 4918, + "coll": 4919, + "VENT": 4920, + "Ġdir": 4921, + "ales": 4922, + "cmp": 4923, + "CHAR": 4924, + "ĠTABLE": 4925, + "NotNull": 4926, + "Ġlaw": 4927, + "ABILITY": 4928, + "CF": 4929, + "nil": 4930, + "ãģ¯": 4931, + "ertificate": 4932, + "ĠId": 4933, + "Sum": 4934, + "foreach": 4935, + "ãģĦ": 4936, + "Ġfr": 4937, + "fully": 4938, + "Ġ\".": 4939, + "RC": 4940, + "irc": 4941, + "Ġcommon": 4942, + "grad": 4943, + "grade": 4944, + "ha": 4945, + "Ġwhether": 4946, + "Ġyear": 4947, + "seq": 4948, + "ĠJava": 4949, + "Ġ_,": 4950, + "è½": 4951, + "cos": 4952, + "Ġcompliance": 4953, + "ves": 4954, + "JECT": 4955, + "Ġpointer": 4956, + "é¢": 4957, + "Ġindic": 4958, + "MODE": 4959, + "ĠAb": 4960, + "ĠCOL": 4961, + "hpp": 4962, + "Ġ'../": 4963, + "PH": 4964, + "apped": 4965, + "FIG": 4966, + "еÑĢ": 4967, + "sdk": 4968, + "à¤": 4969, + "ĠĠĊĠĠ": 4970, + "ĠHow": 4971, + "?.": 4972, + "inux": 4973, + "That": 4974, + "USER": 4975, + "Fail": 4976, + "cn": 4977, + "chedule": 4978, + "ĠBAS": 4979, + "hi": 4980, + "Ġpoints": 4981, + "æĪij": 4982, + "assertEquals": 4983, + "download": 4984, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 4985, + "Ġkeep": 4986, + "(\\": 4987, + "ĠTe": 4988, + "DER": 4989, + "大": 4990, + "Ġinteger": 4991, + "gre": 4992, + "Media": 4993, + "sig": 4994, + "ĠEXPECT": 4995, + "PU": 4996, + "Py": 4997, + "ĠWHERE": 4998, + "ä¼ļ": 4999, + "video": 5000, + "ìĹIJ": 5001, + "virtual": 5002, + "})": 5103, + "ĠNumber": 5104, + "ìļ": 5105, + "BB": 5106, + "Ġк": 5107, + "MD": 5108, + "TWARE": 5109, + "detail": 5110, + "Ġbind": 5111, + "OFTWARE": 5112, + "Ġinstanceof": 5113, + "den": 5114, + "\"+": 5115, + "ê°": 5116, + "throws": 5117, + "']);": 5118, + "Ġagreed": 5119, + "ĠBASIS": 5120, + "Ġ\"\";": 5121, + "Ġspace": 5122, + "gi": 5123, + "ategy": 5124, + "After": 5125, + "Save": 5126, + "Ġresp": 5127, + "çº": 5128, + "Pop": 5129, + "ĠCONDITION": 5130, + "hir": 5131, + "Ġgoverning": 5132, + "Ġtoo": 5133, + "platform": 5134, + "Space": 5135, + "stats": 5136, + "HR": 5137, + "parameters": 5138, + "typeof": 5139, + "fetch": 5140, + "Db": 5141, + "Gen": 5142, + "sumer": 5143, + "ational": 5144, + "cpy": 5145, + "ASK": 5146, + "Ġincl": 5147, + "rome": 5148, + ")](": 5149, + "ìĿĦ": 5150, + ">::": 5151, + "Conn": 5152, + "BL": 5153, + "Ġsup": 5154, + "tsch": 5155, + "()))": 5156, + "assign": 5157, + "Ġcalcul": 5158, + "wp": 5159, + "stylesheet": 5160, + "ni": 5161, + "iterator": 5162, + "Ġaria": 5163, + "uding": 5164, + "getName": 5165, + "Ġnodes": 5166, + "Ġrequests": 5167, + "Ġamount": 5168, + "Ġmove": 5169, + "ĠResponse": 5170, + "Ġdraw": 5171, + "bootstrap": 5172, + "ï¼Ī": 5173, + "ested": 5174, + "abil": 5175, + "cluster": 5176, + "PY": 5177, + "pool": 5178, + "Ġty": 5179, + "CHE": 5180, + "ĠCONDITIONS": 5181, + "Ġalways": 5182, + "Ġlimitations": 5183, + "ados": 5184, + "fx": 5185, + "ĠPr": 5186, + "åŃĹ": 5187, + "Security": 5188, + "åIJį": 5189, + "aker": 5190, + "Conf": 5191, + "æľ¬": 5192, + "Ġstructure": 5193, + "agnost": 5194, + "Play": 5195, + "poch": 5196, + "Sample": 5197, + "notation": 5198, + "letion": 5199, + "jango": 5200, + "swer": 5201, + "Ġprefix": 5202, + "STRING": 5203, + "Ġident": 5204, + "Ġcap": 5205, + "Sort": 5206, + "sync": 5207, + "ifest": 5208, + "Ġside": 5209, + "pair": 5210, + "LETE": 5211, + "cessed": 5212, + ">\\": 5213, + "Ġhel": 5214, + "Ġreserved": 5215, + "Ġevents": 5216, + "Note": 5217, + "Ġmessages": 5218, + "Ġdat": 5219, + "ĠNS": 5220, + "QU": 5221, + "Direction": 5222, + "ĠTR": 5223, + "blog": 5224, + "ina": 5225, + "Ġо": 5226, + "alance": 5227, + "eek": 5228, + "Constants": 5229, + "EY": 5230, + "ets": 5231, + "vers": 5232, + "&#": 5233, + "Scale": 5234, + "ĠĊĠ": 5235, + "ç«": 5236, + "Ġsys": 5237, + "ĠBuild": 5238, + "Ġtf": 5239, + "Common": 5240, + "DATE": 5241, + "Ġprintf": 5242, + "resp": 5243, + "pare": 5244, + "ĠAction": 5245, + "Ġfe": 5246, + "Ġscale": 5247, + "library": 5248, + "Azure": 5249, + "mbers": 5250, + "Ġuses": 5251, + "ours": 5252, + "Ġfixed": 5253, + "Ġbatch": 5254, + "________": 5255, + "çĤ": 5256, + "Ġpattern": 5257, + "Ġloop": 5258, + "]))": 5259, + "Flag": 5260, + "throw": 5261, + "atio": 5262, + "/{": 5263, + "Socket": 5264, + "rv": 5265, + "super": 5266, + "inf": 5267, + "ĠPO": 5268, + "Ġmenu": 5269, + "aries": 5270, + "Art": 5271, + "\\/": 5272, + "Ġbest": 5273, + "Ġcontribut": 5274, + "rule": 5275, + "Cmd": 5276, + "plac": 5277, + "æı": 5278, + "Ġrefer": 5279, + "Progress": 5280, + "padding": 5281, + "Ġda": 5282, + "ĠâĶĤ": 5283, + "resolve": 5284, + "ica": 5285, + "Ġ##": 5286, + "Detail": 5287, + "Failed": 5288, + "ANG": 5289, + "_{": 5290, + "Simple": 5291, + "Ġve": 5292, + "orizont": 5293, + "ĠPlease": 5294, + "Ġsolution": 5295, + "Ġcore": 5296, + "Example": 5297, + "Ġbinary": 5298, + "assertEqual": 5299, + "Ġable": 5300, + "optional": 5301, + "Ġoptional": 5302, + "åıij": 5303, + "Ġ^": 5304, + "brief": 5305, + "udo": 5306, + "Ġ'#": 5307, + "FC": 5308, + "tre": 5309, + "ral": 5310, + "ILE": 5311, + "ĠSH": 5312, + "Ġassign": 5313, + "ctor": 5314, + "aven": 5315, + "ĠUI": 5316, + "uber": 5317, + "Ġfill": 5318, + "va": 5319, + "typedef": 5320, + "kwargs": 5321, + "protected": 5322, + "latest": 5323, + "Login": 5324, + "}`": 5325, + "uit": 5326, + ".\\": 5327, + "Ñħ": 5328, + "veloper": 5329, + "Ġ{};": 5330, + "度": 5331, + "Ids": 5332, + "requ": 5333, + "rd": 5334, + "Ġ\"'": 5335, + "ople": 5336, + "Desc": 5337, + "Ġrepository": 5338, + "crement": 5339, + "ç¬": 5340, + "Ġcharacter": 5341, + "Ġд": 5342, + "cogn": 5343, + "Sql": 5344, + "åĬł": 5345, + "rot": 5346, + "Bean": 5347, + "ç¨ĭ": 5348, + "Ġneeded": 5349, + "driver": 5350, + "Ġmodify": 5351, + "Ġenable": 5352, + "icons": 5353, + "Ġ$('#": 5354, + "ĠĠĊ": 5355, + "Condition": 5356, + "LOCK": 5357, + "pag": 5358, + "Ġfeatures": 5359, + "gs": 5360, + "ural": 5361, + "stand": 5362, + "ADD": 5363, + "ãĤ¤": 5364, + "Ġschema": 5365, + "tar": 5366, + "ped": 5367, + ".\");": 5368, + "Ċĉĉĉĉĉĉĉĉĉ": 5369, + "logo": 5370, + "bash": 5371, + "Ġchanged": 5372, + "Fin": 5373, + "Selection": 5374, + "Ġexists": 5375, + "forEach": 5376, + "hl": 5377, + "Registry": 5378, + "resources": 5379, + "ĠPath": 5380, + "ĠValid": 5381, + "Dim": 5382, + "Ġsubject": 5383, + "ĠĊĠĠĠĠ": 5384, + "NU": 5385, + "lev": 5386, + "Ġrem": 5387, + "Ġadditional": 5388, + "Ġ$_": 5389, + "tl": 5390, + "ĠDep": 5391, + "Proxy": 5392, + "ĠMethod": 5393, + "Ġnotice": 5394, + "=\"_": 5720, + "protocol": 5721, + "iform": 5722, + "Ġìŀ": 5723, + "ota": 5724, + "ters": 5725, + "è¿ĩ": 5726, + "]),": 5727, + "editor": 5728, + "lower": 5729, + "ĠØ": 5730, + "Iterator": 5731, + "XML": 5732, + "Ġshift": 5733, + "legal": 5734, + "RP": 5735, + "Ġflags": 5736, + "verage": 5737, + "ism": 5738, + "ž": 5739, + "objects": 5740, + "Ġlogging": 5741, + "Ġexecute": 5742, + "Ġplt": 5743, + "Ġeffect": 5744, + "Len": 5745, + "Ġassociated": 5746, + "Program": 5747, + "Ġsetting": 5748, + "Ġcause": 5749, + "Ġrule": 5750, + "IVE": 5751, + "ubernet": 5752, + "ãĤ¯": 5753, + "TF": 5754, + "cha": 5755, + "Fragment": 5756, + "Interval": 5757, + "rollers": 5758, + "Ġhead": 5759, + "Ġrows": 5760, + "ÙĦ": 5761, + "COMP": 5762, + "Ġpur": 5763, + "ourse": 5764, + "sz": 5765, + "note": 5766, + "VS": 5767, + "ĠInitial": 5768, + "Ġ',": 5769, + "Background": 5770, + "ãģ¾": 5771, + "cry": 5772, + "Stats": 5773, + "Ġetc": 5774, + "Move": 5775, + "ĠLOG": 5776, + "ubernetes": 5777, + "ĠVer": 5778, + "quiv": 5779, + "ĠHTML": 5780, + ":`": 5781, + "ror": 5782, + "ones": 5783, + "program": 5784, + "router": 5785, + "When": 5786, + "çŃ": 5787, + "Ġworld": 5788, + "éĹ´": 5789, + "invalid": 5790, + "(\".": 5791, + "factory": 5792, + "ij": 5793, + "TA": 5794, + "]['": 5795, + "IAL": 5796, + "Ġpayload": 5797, + "ĠSET": 5798, + "Ġunique": 5799, + "servable": 5800, + "Ġkernel": 5801, + "ĠThere": 5802, + "Ġautomatic": 5803, + "NN": 5804, + "road": 5805, + "ĠPh": 5806, + "DEFAULT": 5807, + "Ġday": 5808, + "Ġmember": 5809, + "ivers": 5810, + "atar": 5811, + "oll": 5812, + "Release": 5813, + "Ġarch": 5814, + "sy": 5815, + "Ġmissing": 5816, + "inv": 5817, + "ifications": 5818, + "ìĬ": 5819, + "disable": 5820, + "arge": 5821, + "Ġdownload": 5822, + "integer": 5823, + "Modal": 5824, + "scroll": 5825, + "ĠOb": 5826, + "Limit": 5827, + "hide": 5828, + "lished": 5829, + "ĠNote": 5830, + "Orig": 5831, + "igration": 5832, + "otion": 5833, + "MAP": 5834, + "ison": 5835, + "chart": 5836, + "loop": 5837, + "ÅĻ": 5838, + "Ġdiff": 5839, + "Ġpush": 5840, + "Ġ./": 5841, + "Unknown": 5842, + "attributes": 5843, + ">\"": 5844, + "Ġintegr": 5845, + "acters": 5846, + "à¯": 5847, + "strict": 5848, + "===": 5849, + "ĠMat": 5850, + "çĤ¹": 5851, + "Ġstrings": 5852, + "Ġbehavior": 5853, + "edge": 5854, + "åĻ": 5855, + ">`": 5856, + "SCR": 5857, + "ycle": 5858, + "Ġsv": 5859, + "world": 5860, + "ä¿¡": 5861, + "ble": 5862, + "ture": 5863, + "rive": 5864, + "Ġrad": 5865, + "proxy": 5866, + "Ġrepo": 5867, + "Ġtimeout": 5868, + "AAAA": 5869, + "Contact": 5870, + "Attr": 5871, + "zen": 5872, + "WHEN": 5873, + "aper": 5874, + "LOW": 5875, + "Library": 5876, + "------------------------------------------------": 5877, + "Ġotherwise": 5878, + "aybe": 5879, + "Ġdomain": 5880, + "Ġ'''": 5881, + "hip": 5882, + "team": 5883, + "ê": 5884, + "ĠJson": 5885, + "Ġrelated": 5886, + "Ġenabled": 5887, + "ando": 5888, + "Ġresolve": 5889, + "Ġdataset": 5890, + "MI": 5891, + "Ġscal": 5892, + "loaded": 5893, + "voice": 5894, + "ĠTEST": 5895, + "čĊčĊĠ": 5896, + "Sequence": 5897, + "complete": 5898, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 5899, + "ĠERR": 5900, + "quare": 5901, + "Binding": 5902, + "ĠMon": 5903, + "month": 5904, + "features": 5905, + "ĠìĿ": 5906, + "EQUAL": 5907, + "_(": 5908, + "Nodes": 5909, + "windows": 5910, + "Ġtags": 5911, + "Ġ-=": 5912, + "LOC": 5913, + "sent": 5914, + "VALID": 5915, + "Namespace": 5916, + "lint": 5917, + "FONT": 5918, + "labels": 5919, + "âķIJâķIJ": 5920, + "čĊčĊĉ": 5921, + "èĩª": 5922, + "Ġarr": 5923, + "obile": 5924, + "Ret": 5925, + "ÅĤ": 5926, + "Ġcurrently": 5927, + "swing": 5928, + "Ġduring": 5929, + "ini": 5930, + "UTH": 5931, + "Ġcontroller": 5932, + "åύ": 5933, + "Ġzero": 5934, + "åĬ¨": 5935, + "Framework": 5936, + "dump": 5937, + "ĠExample": 5938, + "THER": 5939, + "Ġtypeof": 5940, + "Ġmask": 5941, + "Begin": 5942, + "emo": 5943, + "Stat": 5944, + "ĠðŁ": 5945, + "Amount": 5946, + "Normal": 5947, + "ìĿĺ": 5948, + "++++": 5949, + "ĠWrite": 5950, + "Ġarea": 5951, + "dialog": 5952, + "Ġalert": 5953, + "convert": 5954, + "Ġterms": 5955, + "xE": 5956, + "Bool": 5957, + "ĠCl": 5958, + "STATUS": 5959, + "bits": 5960, + "skip": 5961, + "lambda": 5962, + "allel": 5963, + "Ġincluded": 5964, + "NotFound": 5965, + "Ġreason": 5966, + "Ġwarning": 5967, + "ĠHREF": 5968, + "ĠTemp": 5969, + "Vec": 5970, + "Language": 5971, + "Static": 5972, + "Ġdec": 5973, + "dp": 5974, + "VALUE": 5975, + "DIS": 5976, + "æīĢ": 5977, + "room": 5978, + ":-": 5979, + "Ġfs": 5980, + "por": 5981, + "andid": 5982, + "configuration": 5983, + "\\\",": 5984, + "ĠINT": 5985, + "ands": 5986, + "mob": 5987, + "åŀ": 5988, + "Ġ({": 5989, + "Bus": 5990, + "Public": 5991, + "beta": 5992, + "çľ": 5993, + "utorial": 5994, + "AF": 5995, + "anger": 5996, + "Ġnote": 5997, + "emon": 5998, + "structure": 5999, + "wt": 6000, + "cker": 6001, + "Sim": 6002, + "formed": 6003, + "SV": 6004, + "Person": 6005, + "radius": 6006, + "&&": 6007, + "clean": 6008, + "mean": 6009, + "Äħ": 6010, + "icip": 6011, + "ĠPage": 6012, + "Ġaxis": 6013, + "omite": 6014, + "Ġclasses": 6015, + "TEXT": 6016, + "æ±": 6017, + "å̼": 6018, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 6019, + "=[": 6020, + "=\"\">": 6021, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 6022, + "UNT": 6023, + "Ġshape": 6024, + "munity": 6025, + "ELD": 6026, + "Ġvideo": 6027, + "ĠCustom": 6028, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 6029, + "Ġ×": 6030, + "YPE": 6031, + "éģ": 6032, + "odo": 6033, + "Mouse": 6034, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 6035, + "when": 6036, + "CREATE": 6037, + "policy": 6038, + "omitempty": 6039, + "'}": 6040, + "ipe": 6041, + "Ġvalidate": 6042, + "ĠDet": 6043, + "TL": 6044, + "yaml": 6045, + "å®ŀ": 6046, + "ación": 6047, + "Ãł": 6048, + "antity": 6049, + "urs": 6050, + "lik": 6051, + "Env": 6052, + "mc": 6053, + "Resources": 6054, + "compare": 6055, + "----------": 6056, + "columns": 6057, + "Ġmeans": 6058, + "ĠAL": 6059, + "some": 6060, + "ĠGame": 6061, + "Region": 6062, + "Ġexecution": 6063, + "ĠOTHER": 6064, + "Īëĭ¤": 6065, + "ached": 6066, + "Acc": 6067, + "typename": 6068, + ":%": 6069, + "uario": 6070, + "resses": 6071, + "cribe": 6072, + "plt": 6073, + "share": 6074, + "avel": 6075, + "Video": 6076, + "merge": 6077, + ":'": 6078, + "pet": 6079, + "Ġ\\\\": 6080, + "conv": 6081, + "Fr": 6082, + "`:": 6083, + "Symbol": 6084, + "Ġbetter": 6085, + "Ġresources": 6086, + "anced": 6087, + "ãģĻãĤĭ": 6088, + "Ġmeta": 6089, + "Ġcolumns": 6090, + "Ġruntime": 6091, + "Ġpair": 6092, + "Ġtheme": 6093, + "pear": 6094, + "éĢļ": 6095, + "Random": 6096, + "mploy": 6097, + "Go": 6098, + "slice": 6099, + "ino": 6100, + "Ġexpression": 6101, + "WAR": 6102, + "STATE": 6103, + "loor": 6104, + "设": 6105, + "alyt": 6106, + "Ġide": 6107, + "Light": 6108, + "Ġrest": 6109, + "ĠEnt": 6110, + "tbody": 6111, + "orn": 6112, + "Ġ'\"": 6113, + "dec": 6114, + "Ġsb": 6115, + "ĠLink": 6116, + "åĬ¡": 6117, + "argv": 6118, + "Ġreview": 6119, + "gistration": 6120, + "Ġpd": 6121, + "Ġsplit": 6122, + "scriptor": 6123, + "days": 6124, + "Ġlater": 6125, + "pad": 6126, + "Ġ'';": 6127, + "SB": 6128, + "Pass": 6129, + "Ġevalu": 6130, + "ĠUSE": 6131, + "=%": 6132, + "éĶ": 6133, + "Native": 6134, + "æģ¯": 6135, + "Execution": 6136, + "]],": 6137, + "ĠCHE": 6138, + "Sl": 6139, + "UND": 6140, + "Ġtransaction": 6141, + "EC": 6142, + "Agent": 6143, + "Ġverify": 6144, + "cout": 6145, + "ĠGeneral": 6146, + "Ġlight": 6147, + "uffix": 6148, + "awn": 6149, + "Expr": 6150, + "ĠUs": 6151, + "covery": 6152, + "Ġcomplete": 6153, + "oper": 6154, + "]+": 6155, + "æĸĩä»¶": 6156, + "Ġalloc": 6157, + "zero": 6158, + "isset": 6159, + "ĠHelper": 6160, + "dn": 6161, + "riteria": 6162, + "ç¼": 6163, + "Depend": 6164, + "Ġcop": 6165, + "Export": 6166, + "å»": 6167, + "craft": 6168, + "LEN": 6169, + "âĸĪ": 6170, + "sel": 6171, + "chat": 6172, + "external": 6173, + "collect": 6174, + "folder": 6175, + "Ġblack": 6176, + "BASE": 6177, + "Ġsur": 6178, + "ĠIlluminate": 6179, + "ĠWhat": 6180, + "Ġ{%": 6181, + "()),": 6182, + "izing": 6183, + "Ġargv": 6184, + "ç´": 6185, + "Ġkind": 6186, + "Ġreader": 6187, + "æĪ·": 6188, + "Raw": 6189, + "čĊĉĉĉĉĉ": 6190, + "CONFIG": 6191, + "**.": 6192, + "gb": 6193, + "Ñİ": 6194, + "Sup": 6195, + "Duration": 6196, + "ulate": 6197, + "åĨħ": 6198, + "ativ": 6199, + "cus": 6200, + "ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 6201, + "coded": 6202, + "za": 6203, + "ĠAny": 6204, + "çĶŁ": 6205, + "Ġactiv": 6206, + "Ġlogin": 6207, + "YY": 6208, + "å¼Ģ": 6209, + "ĠCHECK": 6210, + "ĠDocument": 6211, + "review": 6212, + "Ġcursor": 6213, + "icket": 6214, + "Ġcategory": 6215, + "Ġstandard": 6216, + "INCL": 6217, + "AI": 6218, + "ribution": 6219, + "Contract": 6220, + "Multi": 6221, + "Ġuntil": 6222, + "OO": 6223, + "COLOR": 6224, + "Ġleast": 6225, + "æĢ§": 6226, + "ĠAuth": 6227, + "like": 6228, + "CHECK": 6229, + "Ġnecess": 6230, + "atomic": 6231, + "|.": 6232, + "Ġil": 6233, + "Ġsocket": 6234, + "ocial": 6235, + "Ġseems": 6236, + "Ġincluding": 6237, + "âĶĢâĶĢâĶĢâĶĢ": 6238, + "atter": 6239, + "await": 6240, + "Tip": 6241, + "Nd": 6242, + "Drop": 6243, + "ula": 6244, + "ighb": 6245, + "mediate": 6246, + "б": 6247, + "ãĤĮ": 6248, + "Join": 6249, + "subject": 6250, + "ени": 6251, + "åŀĭ": 6252, + "Notification": 6253, + "æĥ": 6254, + "ĠVis": 6255, + "ĠContent": 6256, + "ond": 6257, + "RECT": 6258, + "ĠAuthor": 6259, + "çłģ": 6260, + "UTF": 6261, + "Ġ([": 6262, + "payload": 6263, + "found": 6264, + "BY": 6265, + "Term": 6266, + "Headers": 6267, + "mutable": 6268, + "munic": 6269, + "single": 6270, + "DT": 6271, + "ĠGET": 6272, + "éĿ¢": 6273, + "Ġprofile": 6274, + "Mask": 6275, + "Single": 6276, + "Ġrepro": 6277, + "Ġdrop": 6278, + "************************************************************************": 6279, + "Day": 6280, + "cpu": 6281, + "serialize": 6282, + "COMM": 6283, + "Ġ}}\\": 6289, + "æ¬": 6290, + "ĠIOException": 6291, + "Īĺ": 6292, + "derr": 6293, + "mas": 6294, + "Ġconsider": 6295, + "éħ": 6296, + "Ġ'../../": 6297, + "dst": 6298, + "depth": 6299, + "请": 6300, + "ality": 6301, + "cedure": 6302, + "lu": 6303, + "缮": 6304, + "Ġyet": 6305, + "cut": 6306, + "ANCE": 6307, + "reader": 6308, + "construct": 6309, + "mpt": 6310, + "ĠOk": 6311, + "Validation": 6312, + "Ġ\"${": 6313, + "Ġstat": 6314, + "Comment": 6315, + "ventory": 6316, + "Chart": 6317, + "ĠSupport": 6318, + "repository": 6319, + "pid": 6320, + "ially": 6321, + "Ġcorrespon": 6322, + "RUN": 6323, + "ĠItem": 6324, + "Ġtesting": 6325, + "](../": 6326, + "riend": 6327, + "åŁ": 6328, + "igr": 6329, + "Environment": 6330, + "ulum": 6331, + "groups": 6332, + "URI": 6333, + "Material": 6334, + "gnore": 6335, + "vlet": 6336, + "ĠWork": 6337, + "åIJĪ": 6338, + "Ġcomponents": 6339, + "ookie": 6340, + "Ġtimestamp": 6341, + "æ²": 6342, + "Inv": 6343, + "FD": 6344, + "Ùħ": 6345, + "Ġcar": 6346, + "è¨": 6347, + "MenuItem": 6348, + "ĠDi": 6349, + "Ġcommands": 6350, + "ceed": 6351, + "ĠÑ": 6352, + "Axis": 6353, + "ife": 6354, + "ĠInc": 6355, + "Sm": 6356, + "#[": 6357, + "clone": 6358, + "ĠLong": 6359, + "seconds": 6360, + "incip": 6361, + "******": 6362, + "opts": 6363, + "Ġuseful": 6364, + "references": 6365, + "Ġthings": 6366, + "ãĥª": 6367, + "updated": 6368, + "Ġcover": 6369, + "Ġ[`": 6370, + "Ġlayout": 6371, + "æľĢ": 6372, + "TRUE": 6373, + "ĠSource": 6374, + "ĠMem": 6375, + "undefined": 6376, + "Ġspecify": 6377, + "sch": 6378, + "åĿ": 6379, + "demo": 6380, + "fun": 6381, + "Ġdocker": 6382, + "RESULT": 6383, + "Messages": 6384, + "provider": 6385, + "rand": 6386, + "ruby": 6387, + "Controls": 6388, + "ulator": 6389, + "basic": 6390, + "acle": 6391, + "idual": 6392, + "isEmpty": 6393, + "Ġreally": 6394, + "å°±": 6395, + "è¿Ľ": 6396, + "оÑĢ": 6397, + "generated": 6398, + "éľ": 6399, + "ĠMake": 6400, + "ĠPost": 6401, + "è°": 6402, + "ĠCal": 6403, + "stmt": 6404, + "íķľ": 6405, + "åįķ": 6406, + "ĠUN": 6407, + "Ġê°": 6408, + "tection": 6409, + "Ġopts": 6410, + "includes": 6411, + "aration": 6412, + "hover": 6413, + "look": 6414, + "ĠIl": 6415, + "person": 6416, + "Mis": 6417, + ".',": 6418, + "wiki": 6419, + "Oper": 6420, + "Timer": 6421, + "ĠIndex": 6422, + "ĠSto": 6423, + "Ġmac": 6424, + "achment": 6425, + "repo": 6426, + "uda": 6427, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ": 6428, + "Ind": 6429, + "LA": 6430, + "ĠPoint": 6431, + "åºĶ": 6432, + "Ro": 6433, + "astic": 6434, + "Setup": 6435, + "Ġnumpy": 6436, + "ster": 6437, + "FIX": 6438, + "FUN": 6439, + "Ġdependencies": 6440, + "Html": 6441, + "Ġpers": 6442, + "star": 6443, + "Owner": 6444, + "Ġcert": 6445, + "history": 6446, + "FIELD": 6447, + "[-": 6448, + "sf": 6449, + "cip": 6450, + "ĠпÑĢ": 6451, + "bucket": 6452, + "gg": 6453, + "è·": 6454, + "serve": 6455, + ";<": 6456, + ">'": 6457, + "Ġdescri": 6458, + "Ġutf": 6459, + "validation": 6460, + "arrow": 6461, + "Renderer": 6462, + "åıĤ": 6463, + "$$": 6464, + "Ġsubmit": 6465, + "ĠGraph": 6466, + "================================================================": 6467, + "ĠWith": 6468, + "Should": 6469, + "Ġ'-": 6470, + "VICE": 6471, + "ãĥ¼ãĤ": 6472, + "SR": 6473, + "kernel": 6474, + "ASSERT": 6475, + "ceiver": 6476, + "Counter": 6477, + "ĠRemove": 6478, + "од": 6479, + "ĠProperty": 6480, + "](../../": 6481, + "ssl": 6482, + "¸°": 6483, + "Span": 6484, + "Wait": 6485, + "Ġtx": 6486, + "Ġ$(\"#": 6487, + ")|": 6488, + "å¥": 6489, + "-------------": 6490, + "Ġrelative": 6491, + "Ġlabels": 6492, + "ãģª": 6493, + "\"].": 6494, + "Stop": 6495, + "Ġtimes": 6496, + "ĠConsole": 6497, + "Ġteam": 6498, + "Pe": 6499, + "ãĥĥ": 6500, + "Ġpermission": 6501, + "uce": 6502, + "inates": 6503, + "ĠSw": 6504, + ")?": 6505, + "bi": 6506, + "scala": 6507, + "Lib": 6508, + "å¤ļ": 6509, + "Org": 6510, + "är": 6511, + "ĠToken": 6512, + "RIGHT": 6513, + "Ġmaster": 6514, + "Ne": 6515, + "UEST": 6516, + "Ġinside": 6517, + "Ġho": 6518, + "Converter": 6519, + "ATCH": 6520, + "dm": 6521, + "lipse": 6522, + "Ġstrict": 6523, + "Ġbig": 6524, + "^^^^": 6525, + ";/": 6526, + "Private": 6527, + "feed": 6528, + "Now": 6529, + "Edge": 6530, + "Ġfig": 6531, + "Theme": 6532, + "Generated": 6533, + "èĢħ": 6534, + "ORS": 6535, + "Batch": 6536, + "Fore": 6537, + "Ġprogress": 6538, + "Ġcome": 6539, + "TAG": 6540, + "Ġ----------------------------------------------------------------": 6541, + "TRIB": 6542, + "TC": 6543, + "čĊĠĠĠĠĠĠ": 6544, + "Enter": 6545, + "tm": 6546, + "Ġbel": 6547, + "ĠSession": 6548, + "assertTrue": 6549, + "Ġbasic": 6550, + "Append": 6551, + "Ġoptim": 6552, + "}\",": 6553, + "transaction": 6554, + "green": 6555, + "Ġremoved": 6556, + "rank": 6557, + "delta": 6558, + "ĠÄ": 6559, + "Ġwho": 6560, + "Throw": 6561, + "Ġremote": 6562, + ":/": 6563, + "ĠGlobal": 6564, + "enabled": 6565, + "usion": 6566, + "Prop": 6567, + "XFF": 6568, + "eval": 6569, + "allen": 6570, + "Ġextract": 6571, + "uuid": 6572, + "Ġpixel": 6573, + "Please": 6574, + "ĠBlock": 6575, + "SCRIP": 6576, + "ĠSpec": 6577, + "IX": 6578, + "fast": 6579, + "highlight": 6580, + "åĵ": 6581, + "TRY": 6582, + "]->": 6583, + "Ġreceived": 6584, + "INST": 6585, + "branch": 6586, + "rect": 6587, + "Book": 6588, + "watch": 6589, + "Ġlwjgl": 6590, + "ato": 6591, + "Ġ|=": 6592, + "=-": 6593, + "Ġexternal": 6594, + "Ġtrigger": 6595, + "Ġcb": 6596, + "ĠGoogle": 6597, + "structions": 6598, + "Ã¥": 6599, + "MC": 6600, + "Enable": 6601, + "åIJĮ": 6602, + "]*": 6603, + "company": 6604, + "efficient": 6605, + "Information": 6606, + "Animation": 6607, + "ĠSelect": 6608, + "ĠSelf": 6609, + "èİ": 6610, + "Ġ'%": 6611, + "Ġenter": 6612, + "Ġsequence": 6613, + "WI": 6614, + "Ġlatest": 6615, + "setText": 6616, + "Year": 6617, + "olved": 6618, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 6619, + "()`": 6620, + "Ġcontaining": 6621, + "chan": 6622, + "ulk": 6623, + "sem": 6624, + "æĹ¥": 6625, + "pret": 6626, + "illi": 6627, + "inu": 6628, + "ĠÂ": 6629, + "³³": 6630, + "tech": 6631, + "иÑĤ": 6632, + "ĠLanguage": 6633, + "ongo": 6634, + "nc": 6635, + "Driver": 6636, + "zy": 6637, + "Ġwritten": 6638, + "ationship": 6639, + "Ġ\"@": 6640, + "apse": 6641, + "ĠOS": 6642, + "Ġwrong": 6643, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 6644, + "ĠQuery": 6645, + "Nav": 6646, + "Syntax": 6647, + "Spr": 6648, + "pragma": 6649, + "erc": 6650, + "们": 6651, + "Ġmachine": 6652, + "]}": 6653, + "progress": 6654, + "Ġsteps": 6655, + "simple": 6656, + "lers": 6657, + "Ġbad": 6658, + "iet": 6659, + "Ġallowed": 6660, + "ĠSte": 6661, + "rx": 6662, + "Ġ{},": 6663, + "OFF": 6664, + "datetime": 6665, + "ĠDateTime": 6666, + "ifiers": 6667, + "Allow": 6668, + "Make": 6669, + "Fix": 6670, + "Ġfhir": 6671, + "Ġpublish": 6672, + "ĠPart": 6673, + "Ġcor": 6674, + "MIT": 6675, + "ikariConfig": 6676, + "Ġcv": 6677, + "rieve": 6678, + "Ġless": 6679, + "gz": 6680, + "jquery": 6681, + "getValue": 6682, + "Ġservices": 6683, + "atalog": 6684, + "SUCCESS": 6685, + "ste": 6686, + "ĠApplication": 6687, + "ĠMain": 6688, + "åĪĹ": 6689, + "sess": 6690, + "DELETE": 6691, + "Objects": 6692, + "Ġsimilar": 6693, + "Endpoint": 6694, + "BC": 6695, + "loading": 6696, + "Ġhis": 6697, + "etc": 6698, + "Ġregion": 6699, + "ĠStr": 6700, + "Tasks": 6701, + "åĮĸ": 6702, + "](/": 6703, + "Ġcref": 6704, + "History": 6705, + "kg": 6706, + "orth": 6707, + "World": 6708, + "ador": 6709, + "navbar": 6710, + "curs": 6711, + "Ġ]);": 6712, + "Ġinstalled": 6713, + "ming": 6714, + "gdat": 6715, + "ĠDatabase": 6716, + "Ġextra": 6717, + "avor": 6718, + "MOD": 6719, + "Convert": 6720, + "alytics": 6721, + "Pub": 6722, + "Ġactually": 6723, + "Lower": 6724, + "Tx": 6725, + "Rot": 6726, + "ütsch": 6727, + "extension": 6728, + "Identity": 6729, + "å½ĵ": 6730, + "Ġedge": 6731, + "guide": 6732, + "Ġms": 6733, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠ": 6734, + "Ġdesign": 6735, + "-----": 6736, + "DOT": 6737, + "Insert": 6738, + "'.$": 6739, + "{$": 6740, + "ĠInstall": 6741, + "建": 6742, + "ëĵ": 6743, + "ĠBE": 6744, + ">{{": 6745, + "mine": 6746, + "ĠASSERT": 6747, + "atis": 6748, + "clo": 6749, + "æ¨": 6750, + "Tags": 6751, + "ÄĻ": 6752, + "------": 6753, + "Connect": 6754, + "REC": 6755, + "leton": 6756, + "Ġ\"+": 6757, + "icks": 6758, + "Scal": 6759, + "Holder": 6760, + "Ġyield": 6761, + "Addr": 6762, + "hw": 6763, + "sect": 6764, + "Ġhome": 6765, + "izable": 6766, + "Zone": 6767, + "Power": 6768, + "trl": 6769, + "redit": 6770, + "ouch": 6771, + "Usage": 6772, + "MBER": 6773, + "udit": 6774, + "Div": 6775, + "éħį": 6776, + "FileName": 6777, + "ĠHi": 6778, + "ĠExec": 6779, + "atile": 6780, + "EventListener": 6781, + "lim": 6782, + "Ġgoing": 6783, + "Ġhard": 6784, + "Ġmb": 6785, + "ĠIMP": 6786, + "upy": 6787, + "ĠDelete": 6788, + "proc": 6789, + "Clear": 6790, + "Ġseconds": 6791, + "Ġcases": 6792, + "Ġscore": 6793, + "BA": 6794, + "Volume": 6795, + "NdEx": 6796, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 6797, + "illa": 6798, + "éĥ": 6799, + "tensor": 6800, + "~~~~~~~~": 6801, + "Hand": 6802, + "land": 6803, + "Ġ).": 6804, + "pointer": 6805, + "|--": 6806, + "{},": 6807, + "Idx": 6808, + "cipe": 6809, + "ĠSie": 6810, + "Ġmonth": 6811, + "Compat": 6812, + "gp": 6813, + "Nullable": 6814, + "inherit": 6815, + "cheme": 6816, + "å°Ĩ": 6817, + "åħ³": 6818, + "ĉĉĉĉĉĉĉĉ": 6819, + "VO": 6820, + "cart": 6821, + "Ġbottom": 6822, + "amma": 6823, + "('./": 6824, + "ajax": 6825, + "Ġhidden": 6826, + "lies": 6827, + "ĠElement": 6828, + "Packet": 6829, + "ĠLoad": 6830, + "ante": 6831, + "={{": 6832, + "ĠProcess": 6833, + "Points": 6834, + "Ġaround": 6835, + "ë¦": 6836, + "zon": 6837, + "flutter": 6838, + "ом": 6839, + "otlin": 6840, + "Platform": 6841, + "ÄĽ": 6842, + "åľ°": 6843, + "multi": 6844, + "ores": 6845, + "ĠGMT": 6846, + "POSE": 6847, + "ر": 6848, + "flat": 6849, + "Ġvalidation": 6850, + "IOException": 6851, + "Ġwidget": 6852, + "TRIBUT": 6853, + "une": 6854, + "posed": 6855, + "ifies": 6856, + "jar": 6857, + "sr": 6858, + "Asset": 6859, + "Ġpod": 6860, + "Processor": 6861, + "vars": 6862, + "Ġengine": 6863, + "Ġvolume": 6864, + "ĠDA": 6865, + "Ġbus": 6866, + "Ġplot": 6867, + "Ġ###": 6868, + "Ġdisabled": 6869, + "APP": 6870, + "éľĢ": 6871, + "Short": 6872, + "Created": 6873, + "lan": 6874, + "oh": 6875, + "unknown": 6876, + "Real": 6877, + "ÑĢаÐ": 6878, + "Ġ,\"": 6879, + "FLAGS": 6880, + "Character": 6881, + "Ġpacket": 6882, + "FS": 6883, + "ÙĨ": 6884, + "Ġactions": 6885, + "Ġusage": 6886, + "Ġprovider": 6887, + "las": 6888, + "çݰ": 6889, + "\"])": 6890, + "activity": 6891, + "Ġcreating": 6892, + "how": 6893, + "[:,": 6894, + "Ġbuilt": 6895, + "HEAD": 6896, + "+'": 6897, + "IMP": 6898, + "Ins": 6899, + "Ġsets": 6900, + "!=": 6901, + "UST": 6902, + "ysical": 6903, + "Audio": 6904, + "NC": 6905, + "ĠSc": 6906, + "lyph": 6907, + "ĠSk": 6908, + "navig": 6909, + "Ġ\"../": 6910, + "iles": 6911, + "embed": 6912, + "Ġ{\\": 6913, + "Å¡": 6914, + "Ġsig": 6915, + "Ġwhy": 6916, + "lr": 6917, + "unded": 6918, + "Ġsuggest": 6919, + "amaz": 6920, + "locale": 6921, + "chor": 6922, + "ades": 6923, + "Ġautomatically": 6924, + "ĊĊĊĠĠĠĠĠĠĠ": 6925, + "ĠController": 6926, + "Ġturn": 6927, + "href": 6928, + "Ġpool": 6929, + "ÑĨ": 6930, + "ived": 6931, + "duration": 6932, + "cls": 6933, + "ĠDouble": 6934, + "Ġdays": 6935, + "ĠBY": 6936, + "Ġisinstance": 6937, + "Mesh": 6938, + "that": 6939, + ">()": 6940, + "unto": 6941, + "Ġinstances": 6942, + "代": 6943, + "èİ·": 6944, + "\\'": 6945, + "origin": 6946, + "TABLE": 6947, + "eax": 6948, + "hex": 6949, + "ĠCreated": 6950, + "æĽ´": 6951, + "éĺ": 6952, + "Tri": 6953, + "Binary": 6954, + "NING": 6955, + "categories": 6956, + "Ġlos": 6957, + "eries": 6958, + "Ġmulti": 6959, + "ìĦľ": 6960, + "MASK": 6961, + "writ": 6962, + "Ġм": 6963, + "questions": 6964, + "éĩı": 6965, + "æĮĩ": 6966, + "verify": 6967, + "ли": 6968, + "MES": 6969, + "Returns": 6970, + "Ġinc": 6971, + "Ġallows": 6972, + "lv": 6973, + "mu": 6974, + "ables": 6975, + "destroy": 6976, + "Ġsymbol": 6977, + "UDING": 6978, + "scan": 6979, + "TT": 6980, + "<>();": 6981, + "<'": 6982, + "Ġdirection": 6983, + "InputStream": 6984, + "Ġfeed": 6985, + "ĊĉĉĠĠĠ": 6986, + "ĠGNU": 6987, + "ĠAD": 6988, + "cert": 6989, + "GO": 6990, + "ĠÑĤ": 6991, + "aring": 6992, + "compile": 6993, + "ali": 6994, + "ĠOUT": 6995, + "Rest": 6996, + "Direct": 6997, + "Ġendpoint": 6998, + "нÑĭ": 6999, + "Ġquestion": 7000, + "remote": 7001, + "Ġfew": 7002, + "binary": 7003, + "rules": 7004, + "ido": 7005, + "UCT": 7006, + "pay": 7007, + "graphics": 7008, + "(/": 7009, + "symbol": 7010, + "enk": 7011, + "Ġeditor": 7012, + "ĠRegister": 7013, + "precated": 7014, + "wr": 7015, + "Free": 7016, + "cursor": 7017, + "Ġprop": 7018, + "Ġrules": 7019, + "here": 7020, + "black": 7021, + "Ġcounter": 7022, + "éĽ": 7023, + "Ġpeople": 7024, + "urch": 7025, + "more": 7026, + "*,": 7027, + "Cancel": 7028, + "Ġdirectly": 7029, + "Ġbits": 7030, + "å§": 7031, + "dy": 7032, + "æłĩ": 7033, + "Pixel": 7034, + "country": 7035, + "untu": 7036, + "Ġmaterial": 7037, + "Strip": 7038, + "),(": 7039, + "Permission": 7040, + "Ġversions": 7041, + "UTO": 7042, + "Router": 7043, + "Score": 7044, + "Ġsender": 7045, + "ĠonClick": 7046, + "lists": 7047, + "åĽ¾": 7048, + "ĠContext": 7049, + "Ġev": 7050, + "ĠGroup": 7051, + "grpc": 7052, + "Ġcod": 7053, + "ì§Ģ": 7054, + "UBLE": 7055, + "Center": 7056, + "Ġasset": 7057, + "Capt": 7058, + "gon": 7059, + "Ġsignal": 7060, + "getId": 7061, + "Ġfuture": 7062, + "Validator": 7063, + "ĠLine": 7064, + "Ġsi": 7065, + "agger": 7066, + "Loading": 7067, + "mouse": 7068, + "getString": 7069, + "yml": 7070, + "Accept": 7071, + "requency": 7072, + "disabled": 7073, + "ĠCar": 7074, + "ping": 7075, + "ãĥĹ": 7076, + "\\\";": 7077, + "Ġles": 7078, + "Ġprotocol": 7079, + "anit": 7080, + "Ġrep": 7081, + "ĠEND": 7082, + "Execute": 7083, + "Ġreplace": 7084, + "Setting": 7085, + "Ip": 7086, + "ĠFix": 7087, + "samples": 7088, + "ĠLocal": 7089, + "Machine": 7090, + "Ġmaximum": 7091, + "issue": 7092, + "vue": 7093, + "Ġdynamic": 7094, + "supported": 7095, + "Ġeq": 7096, + "RED": 7097, + "ĠArgument": 7098, + "Basic": 7099, + "SUB": 7100, + "generator": 7101, + "sin": 7102, + ".\"\"\"": 7103, + "reet": 7104, + "Actions": 7105, + "override": 7106, + "Ġstored": 7107, + "AMP": 7108, + "ĠCos": 7109, + "ArrayList": 7110, + "pd": 7111, + "Ġdst": 7112, + "ĠFoundation": 7113, + "heading": 7114, + "Shader": 7115, + "Ġskip": 7116, + "NESS": 7117, + "LD": 7118, + ":\\\"": 7119, + "Ġaut": 7120, + "II": 7121, + "ê°Ģ": 7122, + "customer": 7123, + "ĠGets": 7124, + "Ġcharacters": 7125, + "Chunk": 7126, + "good": 7127, + "browser": 7128, + "Camera": 7129, + "cook": 7130, + "ĠMIT": 7131, + "pf": 7132, + "hook": 7133, + "yes": 7134, + "Ġcapt": 7135, + "ĠRoute": 7136, + "ĠUnit": 7137, + "Ġdatetime": 7138, + "ĠLogger": 7139, + "Ġjoin": 7140, + "ĠBut": 7141, + "indexOf": 7142, + "GEN": 7143, + ".\")": 7144, + "Operator": 7145, + "TS": 7146, + "dispatch": 7147, + ">=": 7148, + "checked": 7149, + "badge": 7150, + "prob": 7151, + "Ġnever": 7152, + "Ġexact": 7153, + ";}": 7154, + "ĠSimple": 7155, + "Ĥ¬": 7156, + "ÙĪ": 7157, + "ìĭ": 7158, + "sheet": 7159, + "Ġìł": 7160, + "ULAR": 7161, + "Shell": 7162, + "tb": 7163, + "ORK": 7164, + "Ġadding": 7165, + "IMIT": 7166, + "Dict": 7167, + "locity": 7168, + "Ġpower": 7169, + "Ġ\");": 7170, + "Ġrequires": 7171, + "ving": 7172, + "pin": 7173, + "mesh": 7174, + "Kit": 7175, + "Ġshared": 7176, + "design": 7177, + "ĠErr": 7178, + "Dispatch": 7179, + "Ignore": 7180, + "ĠFrame": 7181, + "gov": 7182, + "Dynamic": 7183, + "cheduler": 7184, + "Ġ\"[": 7185, + "âĢľ": 7186, + "ĠGe": 7187, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 7188, + "amazon": 7189, + "chunk": 7190, + "mitive": 7191, + "éĥ¨": 7192, + "Ġqual": 7193, + "uck": 7194, + "Ġgoto": 7195, + "des": 7196, + "Ġ(-": 7197, + "idad": 7198, + "cam": 7199, + "jet": 7200, + "strip": 7201, + "pat": 7202, + "Install": 7203, + "UDE": 7204, + "Ġremain": 7205, + "FIL": 7206, + "circle": 7207, + "ä¾ĭ": 7208, + "Ġ\";": 7209, + "ulumi": 7210, + "publish": 7211, + "timer": 7212, + "shadow": 7213, + "ż": 7214, + "_);": 7215, + "Ġlower": 7216, + "DEX": 7217, + "Mov": 7218, + "}}'": 7335, + "parator": 7336, + "ĠSecurity": 7337, + "Ġdig": 7338, + "Car": 7339, + "uman": 7340, + "Ġtech": 7341, + "agnostics": 7342, + "except": 7343, + "redirect": 7344, + "quote": 7345, + "Buf": 7346, + "FALSE": 7347, + "Snapshot": 7348, + "ĠCore": 7349, + "Ġlearn": 7350, + "Ġunless": 7351, + "Errors": 7352, + "defer": 7353, + "direction": 7354, + "plain": 7355, + "âĸĪâĸĪ": 7356, + "Month": 7357, + "Ġavoid": 7358, + "ĠEng": 7359, + "Ġpartial": 7360, + "Ġbot": 7361, + "'\"": 7362, + "ctions": 7363, + "åģ": 7364, + "audio": 7365, + "Lin": 7366, + "Ġprovides": 7367, + "bn": 7368, + "urnal": 7369, + "power": 7370, + "Complete": 7371, + "constexpr": 7372, + "Ġoperations": 7373, + "-(": 7374, + "Ġclo": 7375, + "ĠCollection": 7376, + "Ġalpha": 7377, + "Ġdisable": 7378, + "Ġinitialize": 7379, + "big": 7380, + "thumb": 7381, + "Ġorigin": 7382, + "START": 7383, + "uplicate": 7384, + "ensity": 7385, + "Ġforward": 7386, + "ä½ł": 7387, + "Ġng": 7388, + "seed": 7389, + "definition": 7390, + "cores": 7391, + "Servlet": 7392, + "translate": 7393, + "Ġnav": 7394, + "Ġbin": 7395, + "Ġsimp": 7396, + "Ġ}}\"": 7397, + "anging": 7398, + "Ġcalls": 7399, + "ĠAbstract": 7400, + "AIN": 7401, + "ĠXML": 7402, + "La": 7403, + "/'": 7404, + "ĠAss": 7405, + "ĠSerial": 7406, + "ç»Ħ": 7407, + "Implement": 7408, + "AK": 7409, + "Ġmakes": 7410, + "ĠButton": 7411, + "ĠURI": 7412, + "pipe": 7413, + "EP": 7414, + "âĢĶ": 7415, + "VAR": 7416, + "Cursor": 7417, + "Chain": 7418, + "Ġsit": 7419, + "CLASS": 7420, + "rust": 7421, + "ĠSearch": 7422, + "Ġowner": 7423, + "Ġ.=": 7424, + "`](": 7425, + "getInstance": 7426, + "Side": 7427, + "operation": 7428, + "Visual": 7429, + "Alloc": 7430, + "ĠSign": 7431, + "Shared": 7432, + "Ġdistribution": 7433, + "Many": 7434, + "ãģŁ": 7435, + "vey": 7436, + "ação": 7437, + "istence": 7438, + "steps": 7439, + "ĠGitHub": 7440, + "placement": 7441, + "Ġvariant": 7442, + "Ġcy": 7443, + "Ġmedia": 7444, + "ĠLIMIT": 7445, + "ĠFALSE": 7446, + ".)": 7447, + "_->": 7448, + "dropdown": 7449, + "Ġca": 7450, + "\">{{": 7451, + "Elements": 7452, + "PM": 7453, + "Extensions": 7454, + "*-": 7455, + "Ġspecial": 7456, + "Phone": 7457, + "Ġprimary": 7458, + "Ġduration": 7459, + "ĠOff": 7460, + "Ġlow": 7461, + "ĠMax": 7462, + "ãĥ©": 7463, + "Submit": 7464, + "xffffffff": 7465, + "ĠLIC": 7466, + "IZ": 7467, + "about": 7468, + "effect": 7469, + "ä¹ĭ": 7470, + "Big": 7471, + "$.": 7472, + "Timestamp": 7473, + "ĠPre": 7474, + "Ġ??": 7475, + "Ġseg": 7476, + "ĠFind": 7477, + "usic": 7478, + "ĠVec": 7479, + "pan": 7480, + "Ġbg": 7481, + "ĠMAX": 7482, + "NG": 7483, + "agic": 7484, + "translation": 7485, + "([]": 7486, + "WriteLine": 7487, + "See": 7488, + "trigger": 7489, + "logging": 7490, + "apps": 7491, + "thers": 7492, + "hd": 7493, + "accept": 7494, + "Download": 7495, + "Ġdialog": 7496, + "Loop": 7497, + "COUNT": 7498, + "Ġscroll": 7499, + "ĠCurrent": 7500, + "hicle": 7501, + "ĠMock": 7502, + "Ġlistener": 7503, + "Ġsuccessfully": 7504, + "continue": 7505, + "Ġnecessary": 7506, + "ĠMin": 7507, + "sequence": 7508, + "dark": 7509, + "utable": 7510, + "Ġsaved": 7511, + "spot": 7512, + "unwrap": 7513, + "',$": 7514, + "Ġnumbers": 7515, + "CUR": 7516, + "ĠSin": 7517, + "ooter": 7518, + "MAG": 7519, + "Ġdispatch": 7520, + "amage": 7521, + "abric": 7522, + "important": 7523, + "webkit": 7524, + "ĠRowBox": 7525, + "ctrl": 7526, + "pow": 7527, + "Ġneg": 7528, + "pyx": 7529, + "Exists": 7530, + "crease": 7531, + "INIT": 7532, + "Ġweight": 7533, + "mysql": 7534, + "åºı": 7535, + "ç³": 7536, + "ĠStream": 7537, + "literal": 7538, + "åĮº": 7539, + "õ": 7540, + "й": 7541, + "Ġuna": 7542, + "forward": 7543, + "å¦Ĥæŀľ": 7544, + "sizeof": 7545, + "Git": 7546, + "pn": 7547, + "Ġplan": 7548, + "DECL": 7549, + "ools": 7550, + "ĠMER": 7551, + "lict": 7552, + "Ġnothing": 7553, + "High": 7554, + "Ġnative": 7555, + "Optional": 7556, + "============": 7557, + "Ok": 7558, + "Inf": 7559, + "TX": 7560, + "ootstrap": 7561, + "Ġmo": 7562, + "ç»ĵ": 7563, + "è±": 7564, + "Ġchart": 7565, + "erature": 7566, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 7567, + "interval": 7568, + "iny": 7569, + "Chat": 7570, + "ú": 7571, + "writer": 7572, + "æĸ¹æ³ķ": 7573, + "/*!": 7574, + "Pane": 7575, + "ãģĵ": 7576, + "ãĢĢãĢĢ": 7577, + "ĠCloud": 7578, + "Aut": 7579, + "LP": 7580, + "Ġdom": 7581, + "Ġrect": 7582, + "Weight": 7583, + "Executor": 7584, + "ĠIm": 7585, + "Ġimplemented": 7586, + "ĠBack": 7587, + "ĠBit": 7588, + "edu": 7589, + "Rep": 7590, + "ISION": 7591, + "Ġanswer": 7592, + "agraph": 7593, + "elements": 7594, + "UUID": 7595, + "Ġcompute": 7596, + "PARAM": 7597, + "tv": 7598, + "Ġpackages": 7599, + "culate": 7600, + ")`": 7601, + "Fn": 7602, + "Ġstatement": 7603, + "PACK": 7604, + ";;;;": 7605, + "Ġwon": 7606, + "upper": 7607, + "scene": 7608, + "ãĥ«": 7609, + "Ġ'_": 7610, + "Ġpor": 7611, + "CHANT": 7612, + "elem": 7613, + "itions": 7614, + "extra": 7615, + "ĠLICENSE": 7616, + "Ġsay": 7617, + "Ġbook": 7618, + "ĠassertThat": 7619, + "KEN": 7620, + "commands": 7621, + "Ġlarge": 7622, + "Ġupload": 7623, + "Ġgive": 7624, + "twitter": 7625, + "Il": 7626, + "Columns": 7627, + "describe": 7628, + "Ġhold": 7629, + "figure": 7630, + "Ġrc": 7631, + "course": 7632, + "Console": 7633, + "!/": 7634, + "Req": 7635, + "åζ": 7636, + "ically": 7637, + "WIN": 7638, + "模": 7639, + "Children": 7640, + "URPOSE": 7641, + "__,": 7642, + "ky": 7643, + "BD": 7644, + "ĠGo": 7645, + "\"\\": 7646, + "PIO": 7647, + "Ġunderstand": 7648, + "PG": 7649, + "Ġforce": 7650, + "IFT": 7651, + "Ġsync": 7652, + "æĪĸ": 7653, + "NV": 7654, + "LIB": 7655, + "hello": 7656, + "ityEngine": 7657, + "Ġreject": 7658, + "Ġimpro": 7659, + "Ġask": 7660, + "Ġprice": 7661, + "()]": 7662, + "Ġsecurity": 7663, + "Ġproxy": 7664, + "METH": 7665, + "enchmark": 7666, + "Ġtrying": 7667, + "uses": 7668, + "Ġagent": 7669, + "speed": 7670, + "Ġwire": 7671, + "expression": 7672, + "nama": 7673, + "FFER": 7674, + "viders": 7675, + "links": 7676, + "AE": 7677, + "Ġlat": 7678, + "ĠOrder": 7679, + "Ġmp": 7680, + "rift": 7681, + "Ġtraining": 7682, + "Ġir": 7683, + "Äĩ": 7684, + "peg": 7685, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 7686, + "ĠChar": 7687, + "ĠProduct": 7688, + "xfe": 7689, + "Ġ}).": 7690, + "thead": 7691, + "Ġrate": 7692, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 7693, + "ĠMO": 7694, + "Ġattemp": 7695, + "Ġhaving": 7696, + "Decimal": 7697, + "']))": 7698, + "Ġloss": 7699, + "Expected": 7700, + "ĠBl": 7701, + "mdi": 7702, + "ĠModule": 7703, + "LY": 7704, + "lapack": 7705, + "çĻ": 7706, + "Segment": 7707, + "atan": 7708, + "Ve": 7709, + "dividual": 7710, + "indices": 7711, + "ITNESS": 7712, + "Ġdepth": 7713, + "æıIJ": 7714, + "Ġdelta": 7715, + "åŃIJ": 7716, + ">';": 7717, + "bum": 7718, + "getMessage": 7719, + "LIN": 7720, + "Arr": 7721, + "REE": 7722, + "ĠColumn": 7723, + "ĠBuffer": 7724, + "Ġvisit": 7725, + "eration": 7726, + "frag": 7727, + "(((": 7728, + ".*;": 7729, + "Ġdocs": 7730, + "esome": 7731, + "Google": 7732, + "what": 7733, + "asm": 7734, + "Ġisn": 7735, + "ĠBUT": 7736, + "ĠPARTIC": 7737, + "ression": 7738, + "[{\"": 7739, + "mult": 7740, + "learn": 7741, + "Ġloading": 7742, + "Ġpol": 7743, + "Ġmath": 7744, + "focus": 7745, + "Ġ\"\")": 7746, + "mobile": 7747, + "))))": 7748, + "aken": 7749, + "ĠJS": 7750, + "Alignment": 7751, + "CHANTABILITY": 7752, + "torch": 7753, + "Period": 7754, + "ĠPURPOSE": 7755, + "uss": 7756, + "aves": 7757, + "ĠBig": 7758, + "éĩį": 7759, + "Look": 7760, + "goto": 7761, + "IDTH": 7762, + "Ġfactory": 7763, + "subscribe": 7764, + "coming": 7765, + "ĠThen": 7766, + "Ġwrapper": 7767, + "Ġreceive": 7768, + "miss": 7769, + "]=": 7770, + "ĠhikariConfig": 7771, + "Ġboard": 7772, + "mx": 7773, + "Fac": 7774, + "Ġupdates": 7775, + "oser": 7776, + "Ġsn": 7777, + "ĠMark": 7778, + "BER": 7779, + "Ġlooks": 7780, + "dirname": 7781, + "hyper": 7782, + "´ë": 7783, + "ÅĽ": 7784, + "Signature": 7785, + "osite": 7786, + "codes": 7787, + "Ġ\")": 7788, + "ROOT": 7789, + "pixel": 7790, + "Ġher": 7791, + "Secret": 7792, + "ĠTRUE": 7793, + "slug": 7794, + "quent": 7795, + "া": 7796, + "apis": 7797, + "Ġselection": 7798, + "configure": 7799, + "ĠThread": 7800, + "Ġprobably": 7801, + "Dat": 7802, + "Dom": 7803, + "Virtual": 7804, + "å½ķ": 7805, + "Ġinputs": 7806, + "RGB": 7807, + "Ġdelay": 7808, + "Quest": 7809, + "ĊĉĠĠĠĠĠ": 7810, + "URN": 7811, + "danger": 7812, + "ĠControl": 7813, + "={\"": 7814, + "failed": 7815, + "ÑĪ": 7816, + "gres": 7817, + "Ġround": 7818, + "ĠEnum": 7819, + "ssue": 7820, + "rypto": 7821, + "ye": 7822, + "ĠFree": 7823, + ")-": 7824, + "ä½į": 7825, + "ĠÎ": 7826, + "remarks": 7827, + "presentation": 7828, + "Ġfailure": 7829, + "mid": 7830, + "'):": 7831, + "Diff": 7832, + "éϤ": 7833, + "igen": 7834, + "ĠGrid": 7835, + "lems": 7836, + "ç͍æĪ·": 7837, + "\";": 7857, + "cnt": 7858, + "ĠOther": 7859, + "icular": 7860, + "xxxx": 7861, + "è": 7862, + "ARD": 7863, + "lots": 7864, + "createElement": 7865, + "Arch": 7866, + "Ġgetting": 7867, + "xC": 7868, + "Atom": 7869, + "Dictionary": 7870, + "Ġperformance": 7871, + "EMP": 7872, + "based": 7873, + "èİ·åıĸ": 7874, + "Ġ![": 7875, + "gif": 7876, + "ASH": 7877, + "backend": 7878, + ";\"": 7879, + "news": 7880, + "Bottom": 7881, + "ĠReg": 7882, + "shell": 7883, + "Ġmanager": 7884, + "Gui": 7885, + "Alias": 7886, + "dbc": 7887, + "eno": 7888, + "Ġins": 7889, + "Ġui": 7890, + "visible": 7891, + "Ġclone": 7892, + "ĠERROR": 7893, + "Fill": 7894, + "identifier": 7895, + "Ġmodules": 7896, + "Trigger": 7897, + "Ġinterval": 7898, + "examples": 7899, + "which": 7900, + "Ġcollect": 7901, + "ipping": 7902, + "Pred": 7903, + "mal": 7904, + "checkbox": 7905, + "cdn": 7906, + "ìľ": 7907, + "ĠRef": 7908, + "alias": 7909, + "members": 7910, + "emit": 7911, + "_)": 7912, + "Ġthing": 7913, + "ĠShow": 7914, + "Ġ\"--": 7915, + "оÑĤ": 7916, + "åIJ¦": 7917, + "Ġperiod": 7918, + "sym": 7919, + "regex": 7920, + "REQUEST": 7921, + "LIED": 7922, + "Tools": 7923, + "compute": 7924, + "ctl": 7925, + "Plan": 7926, + "norm": 7927, + "æ¡": 7928, + "Tensor": 7929, + "ĠMERCHANTABILITY": 7930, + "Commit": 7931, + "Constructor": 7932, + "ajor": 7933, + "Switch": 7934, + "Payload": 7935, + "ternet": 7936, + "Ġtokens": 7937, + "Collect": 7938, + "yper": 7939, + "Customer": 7940, + "ç³»": 7941, + "Annotation": 7942, + "ìļ©": 7943, + "graphy": 7944, + "%\"": 7945, + "ĠLinux": 7946, + "Ġalong": 7947, + "payment": 7948, + "variant": 7949, + "ĠLay": 7950, + "ocation": 7951, + "Activ": 7952, + "ê²": 7953, + "ko": 7954, + "dw": 7955, + "Ġinform": 7956, + "Styles": 7957, + "ĠBuilder": 7958, + "ĠConst": 7959, + "Encoding": 7960, + "Failure": 7961, + "braries": 7962, + "alog": 7963, + "andidate": 7964, + "Promise": 7965, + "arison": 7966, + "но": 7967, + "ĠHandle": 7968, + "urther": 7969, + "ĠCOP": 7970, + "uv": 7971, + "rib": 7972, + "лÑı": 7973, + "Schedule": 7974, + "actual": 7975, + "Ġabsolute": 7976, + "Ġendif": 7977, + "isting": 7978, + "Head": 7979, + "vendor": 7980, + "Runner": 7981, + "metrics": 7982, + "gers": 7983, + "ĠAuto": 7984, + "-----------": 7985, + "endpoint": 7986, + "integr": 7987, + "anded": 7988, + "@@": 7989, + "Ġpanel": 7990, + "Ġanything": 7991, + "è¿Ķ": 7992, + "pped": 7993, + "xref": 7994, + "mes": 7995, + "Ġmapping": 7996, + "Ġз": 7997, + "æŁ¥": 7998, + "Mac": 7999, + "aits": 8000, + "Ġmatches": 8001, + "havi": 8002, + "vanced": 8003, + "Delegate": 8004, + "into": 8005, + "...)": 8006, + "Ġexplicit": 8007, + "Ġreproduce": 8008, + "LATE": 8009, + "//!": 8010, + "ght": 8011, + "asy": 8012, + "formance": 8013, + "plor": 8014, + "Ġitself": 8015, + "caption": 8016, + "ires": 8017, + "distance": 8018, + "Ġthree": 8019, + "ìĬ¤": 8020, + "asi": 8021, + "exe": 8022, + "irt": 8023, + "Angle": 8024, + "fol": 8025, + "ĠNe": 8026, + "avis": 8027, + "Depth": 8028, + ":{": 8029, + "cost": 8030, + "canvas": 8031, + "ĠRequire": 8032, + "Classes": 8033, + "Ġ$\\": 8034, + "Ġbro": 8035, + "Ġentries": 8036, + "MSG": 8037, + "Fatal": 8038, + "Zero": 8039, + "Ġgreat": 8040, + "Contents": 8041, + "roadcast": 8042, + "ĠByte": 8043, + "FN": 8044, + "bt": 8045, + "refs": 8046, + "ý": 8047, + "radio": 8048, + "Ġstarting": 8049, + "Ġdestination": 8050, + "}},": 8051, + "ĠOp": 8052, + "ĠThat": 8053, + "éĢī": 8054, + "EVENT": 8055, + "Ġgrad": 8056, + "Ġdot": 8057, + "Ġfi": 8058, + "ĠApi": 8059, + "ãĤ¢": 8060, + "å¾Ĺ": 8061, + "ĊĊĠĠĠĠ": 8062, + "Ġ):": 8063, + "åĽ½": 8064, + "象": 8065, + "mbed": 8066, + "ÛĮ": 8067, + "Worker": 8068, + "Tile": 8069, + "istr": 8070, + "XY": 8071, + "strument": 8072, + "ĠInvalid": 8073, + "Ġgeneral": 8074, + "inputs": 8075, + "ĊĊĊĊĊĊĊĊ": 8076, + "nail": 8077, + "contents": 8078, + "hot": 8079, + "ĠGr": 8080, + "éľĢè¦ģ": 8081, + "Ġconstant": 8082, + "ĠPOST": 8083, + "currency": 8084, + "ĠGu": 8085, + "Ġdetermin": 8086, + "mr": 8087, + "*(": 8088, + "Strategy": 8089, + "Standard": 8090, + "ĠDebug": 8091, + "ĠLi": 8092, + "($_": 8093, + "SERVER": 8094, + "neg": 8095, + "ittle": 8096, + "Push": 8097, + "Alert": 8098, + "Btn": 8099, + "Focus": 8100, + "repeat": 8101, + "és": 8102, + "ĠAndroid": 8103, + "Summary": 8104, + "Ġbucket": 8105, + "Ġspan": 8106, + "ĠAM": 8107, + "ĠFITNESS": 8108, + "andbox": 8109, + "ĠĠĊĉ": 8110, + "Ġseparate": 8111, + "Exit": 8112, + "Ġdoing": 8113, + "å¹¶": 8114, + "Compiler": 8115, + "å¹´": 8116, + "Ġfast": 8117, + "ĠCOPY": 8118, + "since": 8119, + "ĠUINT": 8120, + "scripts": 8121, + "ARGET": 8122, + "æľį": 8123, + "è°ĥ": 8124, + "ĠConvert": 8125, + "setting": 8126, + "Where": 8127, + "Ġdeleted": 8128, + "}'": 8129, + "Ġlogic": 8130, + "AVE": 8131, + "seg": 8132, + "***": 8133, + "afka": 8134, + "GRO": 8135, + "stringify": 8136, + "Ġchecked": 8137, + "ech": 8138, + "ais": 8139, + "Own": 8140, + "::$": 8141, + "Ġhistory": 8142, + "isto": 8143, + "syntax": 8144, + "ĠConfiguration": 8145, + "DP": 8146, + "channels": 8147, + "gdx": 8148, + "ATED": 8149, + "'][": 8150, + "cancel": 8151, + "mn": 8152, + "Ġwords": 8153, + "iece": 8154, + "CV": 8155, + "]^": 8156, + "Ġfit": 8157, + "Ġfails": 8158, + "ĠNetwork": 8159, + "ulture": 8160, + "Authentication": 8161, + "reater": 8162, + "vg": 8163, + "xB": 8164, + "Ġ$.": 8165, + "ın": 8166, + "PHP": 8167, + "Components": 8168, + "\\.": 8169, + "ĠAg": 8170, + "Self": 8171, + "/?": 8172, + "ï¿": 8173, + "ĠFloat": 8174, + "Ġuintptr": 8175, + "åĬŁ": 8176, + "Speed": 8177, + "ç©": 8178, + "主": 8179, + "bine": 8180, + "Ġvisual": 8181, + "SOURCE": 8182, + "abc": 8183, + "Ġcross": 8184, + "CMD": 8185, + "Ġut": 8186, + "Ġagainst": 8187, + "refresh": 8188, + "Ġnamed": 8189, + "yl": 8190, + "Ġsignature": 8191, + "hold": 8192, + "次": 8193, + "Ġul": 8194, + "Ġembed": 8195, + "incipal": 8196, + "What": 8197, + "ões": 8198, + "기": 8199, + "registry": 8200, + "ffers": 8201, + "Ġprocessing": 8202, + "Bag": 8203, + "ĠThese": 8204, + "ERN": 8205, + "Ġtw": 8206, + "ĊĉĉĉĊĉĉ": 8207, + "Literal": 8208, + "Ġweek": 8209, + "Ġuri": 8210, + "Delay": 8211, + "maps": 8212, + "ед": 8213, + "bat": 8214, + "Ġlot": 8215, + "layers": 8216, + "Ġ>>>": 8217, + "Ġalgorithm": 8218, + "æľº": 8219, + "acer": 8220, + "cols": 8221, + "Fixed": 8222, + "__)": 8223, + "posts": 8224, + "Ġmoment": 8225, + "Ġdevelopment": 8226, + "Ġspeed": 8227, + "stderr": 8228, + "ĠRP": 8229, + "awt": 8230, + "monitor": 8231, + "once": 8232, + "extend": 8233, + "ordered": 8234, + "Illuminate": 8235, + "çķ": 8236, + "Team": 8237, + "declare": 8238, + "functions": 8239, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 8240, + "Ġchain": 8241, + "ACC": 8242, + "اØ": 8243, + "Ġtrace": 8244, + "Deploy": 8245, + "tasks": 8246, + "isk": 8247, + "Ġcompat": 8248, + "æĶ¹": 8249, + "Ġcancel": 8250, + "cesses": 8251, + "ä¹Ł": 8252, + "Ġtasks": 8253, + "HashMap": 8254, + "åı·": 8255, + "Subject": 8256, + "How": 8257, + "ĠAccess": 8258, + "................": 8259, + "Future": 8260, + "éĹ®": 8261, + "sender": 8262, + "Ġpermit": 8263, + "Ġíķ": 8264, + "TRAN": 8265, + "ä»ĸ": 8266, + "Ġinner": 8267, + "two": 8268, + "badlogic": 8269, + "rgb": 8270, + "Ġquick": 8271, + "Ġexamples": 8272, + "ainers": 8273, + "]{": 8274, + "visit": 8275, + "Ġcalling": 8276, + "Ġche": 8277, + "hu": 8278, + "Hello": 8279, + "æ±Ĥ": 8280, + "extract": 8281, + "built": 8282, + "texture": 8283, + "Ġvan": 8284, + "Bounds": 8285, + "MAKE": 8286, + "ĠFilter": 8287, + "logs": 8288, + "Ġrecent": 8289, + "---------": 8290, + "Ġmaint": 8291, + "ording": 8292, + "pred": 8293, + "Topic": 8294, + "Ġfinally": 8295, + "Try": 8296, + "](./": 8297, + "Ġpick": 8298, + "arguments": 8299, + "Ġtip": 8300, + "ĠACTION": 8301, + ".|": 8302, + "ENCE": 8303, + "general": 8304, + "mployee": 8305, + "sop": 8306, + "MESS": 8307, + "ArgumentException": 8308, + "There": 8309, + "ог": 8310, + "optim": 8311, + "Python": 8312, + "å§ĭ": 8313, + "AtA": 8314, + "umul": 8315, + "Ġpi": 8316, + "agram": 8317, + "èĬ": 8318, + "selection": 8319, + "eclipse": 8320, + "Ġtra": 8321, + "ĠHashMap": 8322, + "Ġãĥ": 8323, + "ĠIter": 8324, + "ders": 8325, + "é¢ĺ": 8326, + "deep": 8327, + "pic": 8328, + "Ġcompile": 8329, + "Serialization": 8330, + "Press": 8331, + "ley": 8332, + "MEM": 8333, + "decor": 8334, + "uel": 8335, + "tile": 8336, + "Sheet": 8337, + "otes": 8338, + "ationToken": 8339, + "ĠThrow": 8340, + "Rec": 8341, + "Ġupper": 8342, + "Cpp": 8343, + "æĻ": 8344, + "Ġsyntax": 8345, + "POS": 8346, + "concurrent": 8347, + "Ġnn": 8348, + "Ġts": 8349, + "ĠParameters": 8350, + "Ġgroups": 8351, + "strings": 8352, + "ĠMet": 8353, + "Instances": 8354, + "Ġroom": 8355, + "NAMES": 8356, + "Feed": 8357, + "rpc": 8358, + "ĠMar": 8359, + "gal": 8360, + "Ġframework": 8361, + "linear": 8362, + "webpack": 8363, + "tty": 8364, + "Review": 8365, + "bundle": 8366, + "Poly": 8367, + "aN": 8368, + "commons": 8369, + "ê³ł": 8370, + "র": 8371, + "Ñī": 8372, + "æĹ¶éĹ´": 8373, + "Ġ!!": 8374, + "注": 8375, + "å·¥": 8376, + "jsp": 8377, + "nl": 8378, + "Ġfire": 8379, + "Ġsever": 8380, + "Other": 8381, + "Ġsec": 8382, + "setState": 8383, + "External": 8384, + "park": 8385, + "Pipeline": 8386, + "gray": 8387, + "cape": 8388, + "bp": 8389, + "UX": 8390, + "mv": 8391, + "ought": 8392, + "icture": 8393, + "Ġfine": 8394, + "tokens": 8395, + "ued": 8396, + "student": 8397, + "Radius": 8398, + "])^": 8399, + "Ġwhite": 8400, + "VC": 8401, + "Ġpat": 8402, + "udy": 8403, + "bas": 8404, + "atory": 8405, + "Pers": 8406, + "Cons": 8407, + "缸": 8408, + "Ġparticular": 8409, + "enkins": 8410, + "åħ¨": 8411, + "PRESS": 8412, + "marshal": 8413, + "Ġptr": 8414, + "Ġthough": 8415, + "products": 8416, + "常": 8417, + "Bad": 8418, + "Ġcourse": 8419, + "igrations": 8420, + "Room": 8421, + "ements": 8422, + "Ġë°": 8423, + "Ġbir": 8424, + "conditions": 8425, + "aste": 8426, + "Align": 8427, + "CLC": 8428, + "StackTrace": 8429, + "Ġsegment": 8430, + "iver": 8431, + "Ġfront": 8432, + "Board": 8433, + "Ġfact": 8434, + "Ġcorresponding": 8435, + "Ġparsed": 8436, + "ĠPort": 8437, + "period": 8438, + "HOME": 8439, + "*.": 8440, + "�": 8441, + "series": 8442, + "reply": 8443, + "Ġcfg": 8444, + "GP": 8445, + "Ġcomments": 8446, + "warn": 8447, + "Ġenough": 8448, + "MAC": 8449, + "Ġdependency": 8450, + "BUFFER": 8451, + "ĠEVENT": 8452, + "CLI": 8453, + "çľĭ": 8454, + "IDE": 8455, + "Ġtopic": 8456, + "Distance": 8457, + "mutex": 8458, + "Ġmouse": 8459, + "OBJECT": 8460, + "ĠIMPLIED": 8461, + "nx": 8462, + "gui": 8463, + "Ġcorrectly": 8464, + "mos": 8465, + "Authorization": 8466, + "NONE": 8467, + "')}}": 8468, + "ClassName": 8469, + "men": 8470, + "Ġcontract": 8471, + "HOST": 8472, + "Win": 8473, + "}\")": 8474, + "cla": 8475, + "Ġpot": 8476, + "//----------------------------------------------------------------": 8477, + "paths": 8478, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 8479, + "Ġvs": 8480, + "äºĭ": 8481, + "Ġtensor": 8482, + "Dev": 8483, + "IZE": 8484, + "Ġcharset": 8485, + "ampler": 8486, + "Linq": 8487, + "Ġconfigure": 8488, + "ĠLIMITED": 8489, + "anted": 8490, + "under": 8491, + "]).": 8492, + "Ġ'$": 8493, + "hub": 8494, + "rw": 8495, + "Controllers": 8496, + "oi": 8497, + "é»": 8498, + "elcome": 8499, + "ĠPHP": 8500, + "/_": 8501, + "iones": 8502, + "aaaa": 8503, + "åĮħ": 8504, + "utdown": 8505, + ")){": 8506, + "Ġìķ": 8507, + "Ġvm": 8508, + "Include": 8509, + "resize": 8510, + "Canvas": 8511, + "geo": 8512, + "ĠOne": 8513, + "Ġendl": 8514, + "UBLIC": 8515, + "Ġ?>[": 8828, + "mul": 8829, + "annotations": 8830, + "该": 8831, + "Qual": 8832, + "yout": 8833, + "Ġ])": 8834, + "ained": 8835, + "epoch": 8836, + "rier": 8837, + "Ġ();": 8838, + "Ġhighlight": 8839, + "éļ": 8840, + "sur": 8841, + "eting": 8842, + "Ġrequested": 8843, + "Ġmodified": 8844, + "ìĿĢ": 8845, + "centage": 8846, + "ĠVisual": 8847, + "ĠWITH": 8848, + "Mo": 8849, + "_[": 8850, + "Ġface": 8851, + "éĤ": 8852, + "confirm": 8853, + "DOM": 8854, + "Ġtried": 8855, + "notification": 8856, + "lour": 8857, + "yped": 8858, + "Subscription": 8859, + "ĠDOUBLE": 8860, + "crypto": 8861, + "ĠCor": 8862, + "Resp": 8863, + "Ġdeclare": 8864, + "计": 8865, + "mazon": 8866, + "Pin": 8867, + "Ġcompare": 8868, + "HAND": 8869, + "energy": 8870, + ";\\": 8871, + "Ġtransfer": 8872, + "Detalle": 8873, + "è¾ĵ": 8874, + "locfile": 8875, + "å¾®": 8876, + "AreEqual": 8877, + "ĊĊĊĠ": 8878, + "Ġê²": 8879, + "ĠâĢĵ": 8880, + "templates": 8881, + "PK": 8882, + "Ġtell": 8883, + "previous": 8884, + "'},": 8885, + "notes": 8886, + "|;": 8887, + "Ġwin": 8888, + "ìķ": 8889, + "querySelector": 8890, + "Methods": 8891, + "More": 8892, + "xffffff": 8893, + "LOB": 8894, + "SPE": 8895, + "gorithms": 8896, + "ĠADD": 8897, + "Guid": 8898, + "Design": 8899, + "ĊĊĉĉĉĉ": 8900, + "åıĤæķ°": 8901, + "lb": 8902, + "ĊĠĠĠĠĠĠĊĠĠĠĠĠ": 8903, + "Ġfunctionality": 8904, + "ĠÄij": 8905, + "Ġcolab": 8906, + "æľįåĬ¡": 8907, + "WT": 8908, + "ĠRouter": 8909, + "quip": 8910, + "ĠPropTypes": 8911, + "ĠNAME": 8912, + "Ġimportant": 8913, + "bank": 8914, + "FER": 8915, + "Dao": 8916, + "认": 8917, + "endregion": 8918, + "contract": 8919, + "reduce": 8920, + "Ġpack": 8921, + "ĠFont": 8922, + "ä¸İ": 8923, + "Tuple": 8924, + "Ġtexture": 8925, + "æ¸": 8926, + "Ġintent": 8927, + "Ġlonger": 8928, + "archive": 8929, + "Ġ'{": 8930, + "expand": 8931, + "\":[": 8932, + "matches": 8933, + "ĠNE": 8934, + "oth": 8935, + "otor": 8936, + "sidebar": 8937, + "jax": 8938, + "userId": 8939, + "aled": 8940, + "phi": 8941, + "éĸ": 8942, + "Ġvi": 8943, + "TEGER": 8944, + "curr": 8945, + "Cast": 8946, + "fw": 8947, + "Ġear": 8948, + "г": 8949, + "itecture": 8950, + "vention": 8951, + "об": 8952, + "allenge": 8953, + "绣": 8954, + "shall": 8955, + "ĠIllegal": 8956, + "ViewModel": 8957, + "ĠInitialize": 8958, + "ĠTry": 8959, + "å¢": 8960, + "æ¶": 8961, + "VIDED": 8962, + "bra": 8963, + "ĠTHIS": 8964, + "Ġ___": 8965, + "çĥ": 8966, + "Ġknown": 8967, + "changed": 8968, + "{})": 8969, + "arer": 8970, + "Ġscan": 8971, + "第": 8972, + "Coefficient": 8973, + "->{": 8974, + "ãģĭ": 8975, + "çŃī": 8976, + "Ġhit": 8977, + "åĪĻ": 8978, + "visual": 8979, + "Ġcompiler": 8980, + "åı£": 8981, + "ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 8982, + "ĠAddress": 8983, + "enced": 8984, + "åѦ": 8985, + "Ġdiscus": 8986, + "ilation": 8987, + "Combo": 8988, + "Ġeverything": 8989, + "Blue": 8990, + "wall": 8991, + "photo": 8992, + "PACE": 8993, + "ĠCOPYRIGHT": 8994, + "NEXT": 8995, + "camera": 8996, + "ongs": 8997, + "--------------": 8998, + "Ġmembers": 8999, + "aced": 9000, + "Bucket": 9001, + "cade": 9002, + "selector": 9003, + "Pack": 9004, + "Present": 9005, + "clus": 9006, + "ĠLIABILITY": 9007, + "Fe": 9008, + "Origin": 9009, + "dynamic": 9010, + "Ġcls": 9011, + "Constraint": 9012, + "ĠSets": 9013, + "ARK": 9014, + "Autom": 9015, + "ups": 9016, + "Sound": 9017, + "Ġmaking": 9018, + "Ġfar": 9019, + "Checked": 9020, + "Primary": 9021, + "án": 9022, + "Seconds": 9023, + "Star": 9024, + "Ġaudio": 9025, + "tot": 9026, + "TM": 9027, + "lc": 9028, + "zu": 9029, + "Help": 9030, + "saved": 9031, + "Updated": 9032, + "ĠBU": 9033, + "Bot": 9034, + "ĠAccount": 9035, + "AUTH": 9036, + "Have": 9037, + "Ġbuilding": 9038, + "crumb": 9039, + "slot": 9040, + "ĠTop": 9041, + "ĠSchema": 9042, + "ĠShould": 9043, + "Ġ\"^": 9044, + "ĠAWS": 9045, + "onsive": 9046, + "Diagnostics": 9047, + "æĥħ": 9048, + "vb": 9049, + "WM": 9050, + "\">\\(": 9051, + "TOKEN": 9052, + "BOOL": 9053, + "iNdEx": 9054, + "ак": 9055, + "ĠINCL": 9056, + "reflect": 9057, + "Ġblocks": 9058, + "dep": 9059, + "pip": 9060, + "Ter": 9061, + "Lat": 9062, + "tor": 9063, + "IME": 9064, + "Ġou": 9065, + "evalu": 9066, + "FROM": 9067, + "ĠĊĠĠ": 9068, + "ORE": 9069, + "Overflow": 9070, + "Qt": 9071, + "mg": 9072, + "Ġshell": 9073, + "Bin": 9074, + "Ġdidn": 9075, + "/\">": 9076, + "ĠJust": 9077, + "tax": 9078, + "Assign": 9079, + "ĠNow": 9080, + "extensions": 9081, + "ĠReport": 9082, + "ä¿Ŀ": 9083, + "tion": 9084, + "Missing": 9085, + "Ġcanvas": 9086, + "اÙĦ": 9087, + "Picker": 9088, + "suite": 9089, + "ĠAdded": 9090, + "åıª": 9091, + "ients": 9092, + "د": 9093, + "Ġtransition": 9094, + "ĠContainer": 9095, + "Refresh": 9096, + "GTH": 9097, + "Ġcd": 9098, + "SDK": 9099, + "clock": 9100, + "Ġcs": 9101, + "Ġlas": 9102, + "ipher": 9103, + "=${": 9104, + "Ġmerged": 9105, + "Ġjupy": 9106, + "Done": 9107, + "React": 9108, + "ções": 9109, + "ND": 9110, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 9111, + "ira": 9112, + "Extra": 9113, + "å·²": 9114, + "ipt": 9115, + "ĠSty": 9116, + "Consumer": 9117, + "'+": 9118, + "LOAT": 9119, + "Ġ\">": 9120, + "floor": 9121, + "åĪĽ": 9122, + "ĠArt": 9123, + "Ġseed": 9124, + "ĠDec": 9125, + "Ġarticle": 9126, + "ĠProto": 9127, + "ĠAdmin": 9128, + "ceeded": 9129, + "ĠTag": 9130, + "navigation": 9131, + "ara": 9132, + "æĵ": 9133, + "Observer": 9134, + "ERS": 9135, + "Ġappropriate": 9136, + "ĊĉĉĠ": 9137, + "standard": 9138, + "orary": 9139, + "FilePath": 9140, + "Metric": 9141, + "Ġ'')": 9142, + "Ġdep": 9143, + "peated": 9144, + "ĠDevice": 9145, + "ĠDown": 9146, + "methods": 9147, + "ĠPri": 9148, + "åıĺ": 9149, + "entries": 9150, + "scriptions": 9151, + "weet": 9152, + "æĢģ": 9153, + "Rules": 9154, + "Ġyes": 9155, + "Ġauthentication": 9156, + "Navigation": 9157, + "ancell": 9158, + ">/": 9159, + "Family": 9160, + "Ġbackend": 9161, + "valueOf": 9162, + "!!!!": 9163, + "/${": 9164, + "implement": 9165, + "]\",": 9166, + "Ġvo": 9167, + "Factor": 9168, + "Ġcalculate": 9169, + "!(\"": 9170, + "åķ": 9171, + "Est": 9172, + "Ġchoose": 9173, + "ç½ij": 9174, + "Ġreading": 9175, + "Ġspr": 9176, + "ĠExpect": 9177, + "=/": 9178, + "NODE": 9179, + "ĠPREC": 9180, + "ĉĉĉĉĉ": 9181, + "Ġselector": 9182, + "Constraints": 9183, + "sock": 9184, + "Place": 9185, + "BT": 9186, + "rase": 9187, + "illing": 9188, + "Delta": 9189, + "iversity": 9190, + "Integr": 9191, + "**,": 9192, + "INDEX": 9193, + "ĠPrint": 9194, + "Ġcli": 9195, + "Ġnotification": 9196, + "Validate": 9197, + "permission": 9198, + "ĠOK": 9199, + "ĠImport": 9200, + "Ġdr": 9201, + "Ġpour": 9202, + "Ġcp": 9203, + "ĠMaybe": 9204, + "ĠJob": 9205, + "Ġpa": 9206, + "Android": 9207, + "USED": 9208, + "Ġanalysis": 9209, + "clc": 9210, + "filters": 9211, + "Ġrecords": 9212, + "bro": 9213, + "Ġfoo": 9214, + "Ġmatching": 9215, + "им": 9216, + "prevent": 9217, + "Ġrouter": 9218, + "ãģĹãģ¾": 9219, + "ente": 9220, + "orph": 9221, + "Ġpt": 9222, + "abe": 9223, + "Ġrs": 9224, + "ebook": 9225, + "Ġwx": 9226, + "Ġnpm": 9227, + "Ġvertex": 9228, + "izers": 9229, + "ledge": 9230, + "å¤Ħ": 9231, + "zn": 9232, + "Ġinf": 9233, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 9234, + "符": 9235, + "environment": 9236, + "flash": 9237, + "CONST": 9238, + "Ċĉĉĉĉĉĉĉĉĉĉĉ": 9239, + "gc": 9240, + "Ġdevices": 9241, + "ç±»åŀĭ": 9242, + "Ġpx": 9243, + "entities": 9244, + ">$": 9477, + "Ġ<>": 9478, + "Ctrl": 9479, + "nr": 9480, + "ĠãĤ": 9481, + "Ġbas": 9482, + "=\"${": 9483, + "Ġseries": 9484, + ">(\"": 9485, + "ya": 9486, + "ARRAY": 9487, + "ани": 9488, + "ĠMac": 9489, + "Slot": 9490, + "lica": 9491, + "BUILD": 9492, + "qa": 9493, + "ĠReference": 9494, + "icht": 9495, + "Ġ{$": 9496, + "forge": 9497, + "Ùĩ": 9498, + "Ġdas": 9499, + "ĠRandom": 9500, + ")$": 9501, + "/:": 9502, + "xbe": 9503, + "Metrics": 9504, + "RPC": 9505, + "Serialize": 9506, + "ç®Ĺ": 9507, + "deb": 9508, + "olid": 9509, + "ips": 9510, + "curl": 9511, + "lon": 9512, + "apple": 9513, + "Running": 9514, + "Using": 9515, + "oxy": 9516, + "Drag": 9517, + "Geometry": 9518, + "Ġdisk": 9519, + "erved": 9520, + "TOP": 9521, + "æĹł": 9522, + "duced": 9523, + "^{": 9524, + "Ġstudent": 9525, + "Ġmesh": 9526, + "ĠHome": 9527, + "ت": 9528, + "Ġ------------------------------------------------": 9529, + "haviour": 9530, + "FP": 9531, + "[[": 9532, + "Ġemit": 9533, + "cookie": 9534, + "relative": 9535, + "isation": 9536, + "ĠDocker": 9537, + "ifec": 9538, + "fake": 9539, + "ĠHere": 9540, + "Ġverbose": 9541, + "ĠCOMM": 9542, + "alo": 9543, + "METHOD": 9544, + "FB": 9545, + "]=\"": 9546, + "Ġapplied": 9547, + "Certificate": 9548, + "说": 9549, + "ä¹Ī": 9550, + "RST": 9551, + "Ġdw": 9552, + "Ġprior": 9553, + "Features": 9554, + "Ġbecome": 9555, + "alent": 9556, + "\"][\"": 9557, + "redis": 9558, + "ĠìĹ": 9559, + "ledger": 9560, + "versions": 9561, + "åħĥ": 9562, + "æĶ¯": 9563, + "SESSION": 9564, + "Ġpin": 9565, + "ĠFire": 9566, + "Ġsupports": 9567, + "LENGTH": 9568, + "signature": 9569, + "Ġlittle": 9570, + "lectron": 9571, + "MESSAGE": 9572, + "atur": 9573, + "Changes": 9574, + "Ġwebsite": 9575, + "xD": 9576, + "Ġconfigured": 9577, + "variables": 9578, + "asc": 9579, + "Ġyy": 9580, + "Ġpublished": 9581, + "weights": 9582, + "æĮģ": 9583, + "ж": 9584, + "Ġcreates": 9585, + "Ġll": 9586, + "beans": 9587, + "\"{": 9588, + "éħįç½®": 9589, + "ICATION": 9590, + "ĠDATA": 9591, + "'''": 9592, + ")**": 9593, + "Ident": 9594, + "Stage": 9595, + "Toggle": 9596, + "Instruction": 9597, + "Ġje": 9598, + "textarea": 9599, + "NECTION": 9600, + ">\",": 9601, + "Ġ\"__": 9602, + "kotlin": 9603, + "Images": 9604, + "odb": 9605, + "ĠUsing": 9606, + "PA": 9607, + "Ġlearning": 9608, + "CEPT": 9609, + "Browser": 9610, + "animation": 9611, + "Ġcolors": 9612, + "transport": 9613, + "ç¡": 9614, + "cuda": 9615, + "enn": 9616, + "Ġtile": 9617, + "ĠCount": 9618, + "you": 9619, + "ellow": 9620, + "NAMESPACE": 9621, + "ï¼Ł": 9622, + "Ġaltern": 9623, + "Ġexperiment": 9624, + "WA": 9625, + "Ġfür": 9626, + "AIL": 9627, + "ĠREAD": 9628, + "SCRIPTION": 9629, + "Cert": 9630, + "Ġcomplet": 9631, + "rst": 9632, + "ERO": 9633, + "Strings": 9634, + "uj": 9635, + "íĬ": 9636, + "Ġsha": 9637, + "urred": 9638, + "Ġsimply": 9639, + "SHIFT": 9640, + "Ġscene": 9641, + "overflow": 9642, + "Ġtre": 9643, + "ieve": 9644, + "OLDER": 9645, + "Ġvon": 9646, + "strcpy": 9647, + "MR": 9648, + "EB": 9649, + "Ġ[-": 9650, + "Paths": 9651, + "Ġfac": 9652, + "Members": 9653, + "=\"../../../": 9654, + "IMARY": 9655, + "ifecycle": 9656, + "ĠJavaScript": 9657, + "Ġ))": 9658, + "LAY": 9659, + "units": 9660, + "Ġps": 9661, + "Ġ$$": 9662, + "\"/": 9663, + "descriptor": 9664, + "ĠExp": 9665, + "future": 9666, + "Ġregex": 9667, + "Ġids": 9668, + "空": 9669, + "(\"[": 9670, + "pending": 9671, + "Dependency": 9672, + "htm": 9673, + "DIRECT": 9674, + "\\\",\\\"": 9675, + "Ty": 9676, + "XR": 9677, + "velopers": 9678, + "fac": 9679, + "dependent": 9680, + "Publish": 9681, + "TARGET": 9682, + "ĠCI": 9683, + "ä»İ": 9684, + "dll": 9685, + "Ġfurther": 9686, + "ĠRet": 9687, + "uro": 9688, + "upt": 9689, + "Foundation": 9690, + "PASS": 9691, + "nv": 9692, + "inator": 9693, + "ĠDim": 9694, + "Times": 9695, + "Ġlooking": 9696, + "Ġcustomer": 9697, + "requests": 9698, + "square": 9699, + "getClass": 9700, + "avatar": 9701, + "Ġapt": 9702, + "VEL": 9703, + "cycl": 9704, + "DEP": 9705, + "ĠStringBuilder": 9706, + "ĠPackage": 9707, + "/%": 9708, + "DY": 9709, + "Ġdtype": 9710, + "Cr": 9711, + "Ġcss": 9712, + "å¿ħ": 9713, + "线": 9714, + "roles": 9715, + "Ġ`<": 9716, + "slider": 9717, + "SK": 9718, + "para": 9719, + "-.": 9720, + "facebook": 9721, + "Ġ_.": 9722, + "ĠAfter": 9723, + "SED": 9724, + "partment": 9725, + ",%": 9726, + "он": 9727, + "íĦ": 9728, + "stock": 9729, + "Vk": 9730, + "ë§": 9731, + "live": 9732, + "Ġgreen": 9733, + "pw": 9734, + "ita": 9735, + "è¶": 9736, + "Ġrefresh": 9737, + "éĽĨ": 9738, + "plier": 9739, + "æł¼": 9740, + "()}": 9741, + "Dig": 9742, + "éª": 9743, + "party": 9744, + "Analysis": 9745, + "Jo": 9746, + "Thanks": 9747, + "ĠProperties": 9748, + "destination": 9749, + "Ġgenerator": 9750, + "fort": 9751, + "Could": 9752, + "ĠBO": 9753, + "äºĽ": 9754, + "Ġwatch": 9755, + "=\"#\">": 9756, + "Pol": 9757, + "项": 9758, + "PIN": 9759, + "Ġboost": 9760, + "VSOP": 9761, + "war": 9762, + "SG": 9763, + "/$": 9764, + "ë©": 9765, + "Ġclock": 9766, + "Ġadv": 9767, + "quant": 9768, + "collections": 9769, + "Commands": 9770, + "started": 9771, + "ä»»": 9772, + "xA": 9773, + "nology": 9774, + "ä¹ī": 9775, + "æ·": 9776, + "constants": 9777, + "Ġpartition": 9778, + "GROUP": 9779, + "amento": 9780, + "ĠStack": 9781, + "Final": 9782, + "aily": 9783, + "Patch": 9784, + "missing": 9785, + "priority": 9786, + "XXX": 9787, + "ä¿®": 9788, + "Ġpad": 9789, + "LAB": 9790, + "fu": 9791, + "Ġruns": 9792, + "tail": 9793, + "Accessor": 9794, + "[])": 9795, + "`);": 9796, + "aur": 9797, + "æľŁ": 9798, + "Ġ`/": 9799, + "ãģį": 9800, + "Ġsamples": 9801, + "cu": 9802, + "ĠRecord": 9803, + "Ġwrap": 9804, + "ĠMB": 9805, + "ĠHas": 9806, + "Ġnorm": 9807, + "Ġproblems": 9808, + "Let": 9809, + "Ġexpr": 9810, + "Ġmt": 9811, + "Ġsin": 9812, + "ByName": 9813, + "Ġ/><": 9814, + "èĬĤ": 9815, + "Stub": 9816, + "azz": 9817, + "__.": 9818, + "Ġpriv": 9819, + "encia": 9820, + "ĠMedia": 9821, + "crate": 9822, + "ĠStorage": 9823, + "Hook": 9824, + "INGS": 9825, + "端": 9826, + "iro": 9827, + "ned": 9828, + "avsop": 9829, + "Ġshows": 9830, + "imated": 9831, + "ĠAUTO": 9832, + "reverse": 9833, + "rowse": 9834, + "ientation": 9835, + "Ġphone": 9836, + "æ´": 9837, + "ĠSm": 9838, + "igo": 9839, + "Img": 9840, + ",\\": 9841, + "FUNCTION": 9842, + "Ġdecode": 9843, + "Ġwhole": 9844, + "Ġhope": 9845, + "ĠOver": 9846, + "Ġcout": 9847, + "Ġslot": 9848, + "statement": 9849, + "Modified": 9850, + "é«ĺ": 9851, + "ëł": 9852, + "Indic": 9853, + "fragment": 9854, + "health": 9855, + "MODULE": 9856, + "PREFIX": 9857, + "idade": 9858, + "els": 9859, + "sudo": 9860, + "Ġaavsop": 9861, + "striction": 9862, + "DAT": 9863, + "POINT": 9864, + "partial": 9865, + "Ġdescriptor": 9866, + "quation": 9867, + "Uint": 9868, + "cursive": 9869, + "ĠVariable": 9870, + "SIGN": 9871, + "ĠCell": 9872, + "gpu": 9873, + "workflow": 9874, + "ĠSave": 9875, + "Ġol": 9876, + "Ġxs": 9877, + "Upper": 9878, + "å®ī": 9879, + "zeros": 9880, + "sun": 9881, + "rev": 9882, + "Dimension": 9883, + "Ġsaid": 9884, + "validator": 9885, + "projection": 9886, + "è·¯": 9887, + "Sharp": 9888, + "worker": 9889, + "né": 9890, + "EventHandler": 9891, + "week": 9892, + "ROP": 9893, + "DataType": 9894, + "uffle": 9895, + "åįļ": 9896, + "Ġ\"../../": 9897, + "ostream": 9898, + "Ġfd": 9899, + "LEMENT": 9900, + "ysics": 9901, + "Software": 9902, + "Apply": 9903, + "ubuntu": 9904, + ")'": 9905, + "preventDefault": 9906, + "rient": 9907, + "ĠìĦ": 9908, + "Ġshall": 9909, + "kn": 9910, + "ĠGen": 9911, + "Ġ&#": 9912, + "Pa": 9913, + "Ġbundle": 9914, + "Entries": 9915, + "èī": 9916, + "Ĥ¨": 9917, + "chr": 9918, + "ĠProgram": 9919, + "anchor": 9920, + "Ġdetermine": 9921, + "bal": 9922, + "ĠSettings": 9923, + "âķIJâķIJâķIJâķIJ": 9924, + "ÑģÑı": 9925, + "CTYPE": 9926, + "Question": 9927, + "kl": 9928, + "Tex": 9929, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 9930, + "åĽł": 9931, + "urchase": 9932, + "Ġhandling": 9933, + "Ġsound": 9934, + "ĠINFO": 9935, + "Ġcast": 9936, + "ĠRedist": 9937, + "Connector": 9938, + "NotFoundException": 9939, + "Confirm": 9940, + "unicode": 9941, + "CPU": 9942, + "ëIJ": 9943, + "Prob": 9944, + "ç§į": 9945, + "Ġimpl": 9946, + "generic": 9947, + "ç¾": 9948, + "asing": 9949, + "Visibility": 9950, + "ĠThrowable": 9951, + "Ġpres": 9952, + "ĠCategory": 9953, + "lications": 9954, + "osen": 9955, + "}_": 9956, + "ĠAttribute": 9957, + "Ġpriority": 9958, + "attach": 9959, + "Ġhex": 9960, + "åĩ½": 9961, + "Initialize": 9962, + "è¿Ľè¡Į": 9963, + "ĠCR": 9964, + "à§į": 9965, + "tutorial": 9966, + "Ġeval": 9967, + "eth": 9968, + "=\"#\"": 9969, + "Ctx": 9970, + "extends": 9971, + "vari": 9972, + "Ġoverflow": 9973, + "ipped": 9974, + "ĠBox": 9975, + "ici": 9976, + "ĊĉĠĠĠĠ": 9977, + "Arrays": 9978, + "medium": 9979, + "lst": 9980, + "åĨĻ": 9981, + "itation": 9982, + "usters": 9983, + "ãĤī": 9984, + "Ġcurr": 9985, + "binding": 9986, + "dAtA": 9987, + "PROTO": 9988, + "ĠINCLUDING": 9989, + "ĠSC": 9990, + "Ġunits": 9991, + "shields": 9992, + "ancer": 9993, + "PLAY": 9994, + "cx": 9995, + "positories": 9996, + "ĠMenu": 9997, + "Transport": 9998, + "ono": 9999, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 10000, + "Wrap": 10001, + "LowerCase": 10002, + "Ġvari": 10003, + "answer": 10004, + "pict": 10005, + "ih": 10006, + "NON": 10007, + "servlet": 10008, + "nu": 10009, + "ĠUnityEngine": 10010, + "Ġmit": 10011, + "[],": 10012, + "acon": 10013, + "Ġassume": 10014, + "sharp": 10015, + "agnostic": 10016, + "Ġquestions": 10017, + "ĠTool": 10018, + "Ġstage": 10019, + "Ġast": 10020, + "Ġmetric": 10021, + "Ġstyles": 10022, + "Ġprocedure": 10023, + "ĠEmail": 10024, + "Dot": 10025, + "arb": 10026, + "Ġ(%": 10027, + "ACH": 10028, + "Ġmarker": 10029, + "BI": 10030, + "parts": 10031, + "Ġiterator": 10032, + "Health": 10033, + "Decor": 10034, + "cer": 10035, + "Sem": 10036, + "íĬ¸": 10037, + "Kernel": 10038, + "ivo": 10039, + "<=": 10040, + "åĪĽå»º": 10041, + "azione": 10042, + "Ġshown": 10043, + "Ìģ": 10044, + "ETHER": 10045, + "AU": 10046, + "}',": 10047, + "nullable": 10048, + "ĠDAMAGES": 10049, + "addClass": 10050, + "Ġss": 10051, + "Ġproducts": 10052, + "Shadow": 10053, + "å®Į": 10054, + "allback": 10055, + ":]": 10056, + "ĠTarget": 10057, + "Ġmedi": 10058, + "ĠReset": 10059, + "hard": 10060, + "Ġsafe": 10061, + "LER": 10062, + "agr": 10063, + "Ġcreation": 10064, + "ĠĠĊĠĠĠ": 10065, + "Ġstates": 10066, + "Extract": 10067, + "=&": 10068, + "sound": 10069, + "ĠCLI": 10070, + "Ġdefaults": 10071, + "ĠPROVIDED": 10072, + "ĠEngine": 10073, + "avg": 10074, + "processor": 10075, + "Ġstroke": 10076, + "NonNull": 10077, + "Ġapproach": 10078, + "SSL": 10079, + "Ġdestroy": 10080, + "Ġlinear": 10081, + "ership": 10082, + "Appro": 10083, + "Ġthreshold": 10084, + "ĊĠĠĠĠĠĠĠĠĊĠĠĠ": 10085, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 10086, + "Ġblue": 10087, + "Ġrelevant": 10088, + "connected": 10089, + "Ġindividual": 10090, + "ĠValueError": 10091, + "ĠImplement": 10092, + "vt": 10093, + "Branch": 10094, + "nan": 10095, + "Eq": 10096, + "special": 10097, + "Ġschedule": 10098, + "ritical": 10099, + "ĠYes": 10100, + "plotlib": 10101, + "fox": 10102, + "Credentials": 10103, + "tur": 10104, + "Ġscripts": 10105, + "Emit": 10106, + "Ġoutputs": 10107, + "íķ´": 10108, + "ToolStrip": 10109, + "çĬ¶": 10110, + "Ġcharge": 10111, + "Front": 10112, + "Docs": 10113, + "Ġtested": 10114, + "TEMP": 10115, + "ка": 10116, + "iam": 10117, + "inger": 10118, + "geometry": 10119, + "Anchor": 10120, + "ClickListener": 10121, + "lookup": 10122, + "ĠFixed": 10123, + "Writ": 10124, + "numeric": 10125, + "posal": 10126, + "wi": 10127, + "Ġdump": 10128, + "LONG": 10129, + "Ġrequirements": 10130, + "à¥": 10131, + "++++++++": 10132, + "istogram": 10133, + "peech": 10134, + "Ġminutes": 10135, + "Lookup": 10136, + "anning": 10137, + "Tables": 10138, + "iki": 10139, + "Ġgeneric": 10140, + "ÑĨи": 10141, + "CONTRO": 10142, + "STRUCT": 10143, + "Inline": 10144, + "BUF": 10145, + "å¼ķ": 10146, + "įä½ľ": 10147, + "æľĪ": 10148, + "Ġsuccessful": 10149, + "æºIJ": 10150, + "Ġmult": 10151, + "apsed": 10152, + "Ġworkflow": 10153, + ">',": 10154, + "ãģĹãģ¾ãģĻ": 10155, + "Ġreverse": 10156, + "Ġrespect": 10157, + "OFFSET": 10158, + "åŁº": 10159, + "Ġacross": 10160, + "ĠUP": 10161, + "ĠInit": 10162, + "vertical": 10163, + "ô": 10164, + "Variables": 10165, + "Ġaz": 10166, + "HPP": 10167, + "éĢļè¿ĩ": 10168, + "ç¼ĸ": 10169, + "ĠIcon": 10170, + "RS": 10171, + "tod": 10172, + "Ġnotes": 10173, + "mkdir": 10174, + "管çIJĨ": 10175, + "Ġaws": 10176, + "ĠAV": 10177, + "ĠDraw": 10178, + "iq": 10179, + "Ġds": 10180, + "backup": 10181, + "|[": 10182, + "|-": 10183, + "ĠSHALL": 10184, + "tz": 10185, + "Che": 10186, + "character": 10187, + "ä¸ŃçļĦ": 10188, + "Unique": 10189, + "ĠEXPRESS": 10190, + "Ġpretty": 10191, + "INF": 10192, + "Ġindices": 10193, + "Ġrm": 10194, + "Your": 10195, + "éĴ": 10196, + "preter": 10197, + "('../": 10198, + "compiler": 10199, + "ISING": 10200, + "spark": 10201, + "æł·": 10202, + "Unexpected": 10203, + "Ġseveral": 10204, + "åĩ½æķ°": 10205, + "Scheme": 10206, + "Asp": 10207, + "çĦ¶": 10208, + "EO": 10209, + "Shift": 10210, + "ĠWord": 10211, + "nonatomic": 10212, + "hadoop": 10213, + "Ġpoly": 10214, + "TextField": 10215, + "è¯ķ": 10216, + "ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 10217, + "ĠCPU": 10218, + "Ġinterest": 10219, + "ĠCN": 10220, + "ena": 10221, + "UserId": 10222, + "ousel": 10223, + "è¿Ļ个": 10224, + "Ġreflect": 10225, + "Hex": 10226, + "Ġdevelop": 10227, + "?)": 10228, + "README": 10229, + "Ġcurl": 10230, + "ãģĨ": 10231, + "èģ": 10232, + "ÃŃt": 10233, + "icult": 10234, + "vr": 10235, + "appendChild": 10236, + "çĥŃ": 10237, + "Round": 10238, + "Filename": 10239, + "deli": 10240, + "*>(": 10241, + "arc": 10242, + "Ġconcept": 10243, + "ĠVAR": 10244, + "Ġdecimal": 10245, + "ĠSELECT": 10246, + "apes": 10247, + "ooth": 10248, + "EqualTo": 10249, + "JsonProperty": 10250, + "ĠLet": 10251, + "Ġplugins": 10252, + "(\"@": 10253, + "nh": 10254, + "'\\": 10255, + "iffer": 10256, + "erry": 10257, + "SUP": 10258, + "dotnet": 10259, + "RTX": 10260, + "calc": 10261, + "Helpers": 10262, + "IEW": 10263, + "het": 10264, + "specific": 10265, + "spond": 10266, + "Tw": 10267, + "ĠHeader": 10268, + "äºĮ": 10269, + "documentation": 10270, + "innerHTML": 10271, + "getType": 10272, + "Ġproperly": 10273, + "čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 10274, + "acher": 10275, + "ĠFormat": 10276, + "ISTS": 10277, + "ä¼ł": 10278, + "abor": 10279, + "\"):": 10280, + "inject": 10281, + "Ġcertificate": 10282, + "ocab": 10283, + "Ġpb": 10284, + "ĠScript": 10285, + "Ġ:)": 10286, + "hal": 10287, + "Ġmanually": 10288, + "bgn": 10289, + "Ġfragment": 10290, + "Slice": 10291, + "ĠExpression": 10292, + "Ġrepresentation": 10293, + "alyzer": 10294, + "ç»ı": 10295, + "转": 10296, + "Ġvarious": 10297, + "ullet": 10298, + "outh": 10299, + "disk": 10300, + "FLOAT": 10301, + "Ġignored": 10302, + "Ġdescribed": 10303, + "cgi": 10304, + "Ġjest": 10305, + "Ġkwargs": 10306, + "Println": 10307, + "Ġmicro": 10308, + "UA": 10309, + "ĠSER": 10310, + "ught": 10311, + "Balance": 10312, + "Ġelem": 10313, + "ĠCONTRACT": 10314, + "plorer": 10315, + "spacing": 10316, + "ippet": 10317, + "umulative": 10318, + "Ġauf": 10319, + "Ġhim": 10320, + "sal": 10321, + "BLOCK": 10322, + "Supported": 10323, + "ktop": 10324, + "scr": 10325, + "Priority": 10326, + "iming": 10327, + "ropy": 10328, + "Ġpromise": 10329, + "LED": 10330, + "jobs": 10331, + "Based": 10332, + "running": 10333, + "Share": 10334, + "placeholder": 10335, + "Requests": 10336, + "numpy": 10337, + "Ġtypedef": 10338, + "Ġleg": 10339, + "runner": 10340, + "ĠuseState": 10341, + "èª": 10342, + "Ġtables": 10343, + "CMakeFiles": 10344, + "Padding": 10345, + "Bal": 10346, + "gree": 10347, + "BIN": 10348, + "ĠBr": 10349, + "bindir": 10350, + "atial": 10351, + "yr": 10352, + "Ġimplicit": 10353, + "reason": 10354, + "Ġtcp": 10355, + "peer": 10356, + "ban": 10357, + "nop": 10358, + "(\"-": 10359, + "ancy": 10360, + "clip": 10361, + "Ġpeer": 10362, + "ĠDIS": 10363, + "itution": 10364, + "Ġfactor": 10365, + "Ġworker": 10366, + "Declaration": 10367, + "Ġ;;": 10368, + "tos": 10369, + ">": 17748, + "Through": 17749, + "bitField": 17750, + "](../../../": 17751, + "Pixels": 17752, + "aspect": 17753, + "Ġbc": 17754, + "订": 17755, + "注æĦı": 17756, + "she": 17757, + "Ġhosts": 17758, + "é¢Ħ": 17759, + "Callbacks": 17760, + "getParameter": 17761, + "eo": 17762, + "CHARACTER": 17763, + "ĠEnglish": 17764, + "minor": 17765, + "Solver": 17766, + "Ġcovered": 17767, + "ĠBadRequest": 17768, + "TAC": 17769, + "trap": 17770, + "Ġaccessible": 17771, + "ĠhashCode": 17772, + "uta": 17773, + "PED": 17774, + "Posts": 17775, + "ĠAbout": 17776, + "alter": 17777, + "Ġssl": 17778, + "åĵį": 17779, + "ĠLive": 17780, + "probe": 17781, + "<_": 17782, + "ĠnewValue": 17783, + "ĠAuthorization": 17784, + "until": 17785, + "Checkbox": 17786, + "Ġinspect": 17787, + "implemented": 17788, + "ĠLEFT": 17789, + "ĊĉĠĠĠĠĠĠ": 17790, + "xad": 17791, + "imag": 17792, + "EXPR": 17793, + "ĠFixes": 17794, + "IQ": 17795, + "Ġusuario": 17796, + "lag": 17797, + "×Ķ": 17798, + "CSV": 17799, + "è¾¹": 17800, + "blur": 17801, + "å®ŀä¾ĭ": 17802, + "Three": 17803, + "Ln": 17804, + "Ġgene": 17805, + "games": 17806, + "ĠSTYLE": 17807, + "scatter": 17808, + "Ġdiagnostic": 17809, + "Ġregions": 17810, + "以ä¸ĭ": 17811, + "âĶģâĶģ": 17812, + "ÑĤÑĮ": 17813, + "ican": 17814, + "isse": 17815, + "Ġinserted": 17816, + "Ġentre": 17817, + "Working": 17818, + "Macro": 17819, + "Vault": 17820, + "Ġsolver": 17821, + "è´¹": 17822, + "KR": 17823, + "ej": 17824, + "ĠShare": 17825, + "FORCE": 17826, + "å·¥ä½ľ": 17827, + "san": 17828, + "æİ§åζ": 17829, + "åΤæĸŃ": 17830, + "xls": 17831, + "jest": 17832, + "Ġchan": 17833, + "ìŀħ": 17834, + "ên": 17835, + "Ġreward": 17836, + "ĠFill": 17837, + "Calls": 17838, + "Ġkönnen": 17839, + "Bid": 17840, + "Descriptors": 17841, + "ĠLED": 17842, + "ãĤ§": 17843, + "ĠTransfer": 17844, + "ftime": 17845, + "Ġconcern": 17846, + "ATEG": 17847, + "æĿ¿": 17848, + "meth": 17849, + "Ġpoll": 17850, + "Ġmv": 17851, + "Ġens": 17852, + "ĠComputer": 17853, + "Ġfrag": 17854, + "inese": 17855, + "ĠESTADO": 17856, + "coordinates": 17857, + "Ġ');": 17858, + "Ġodd": 17859, + "Succeeded": 17860, + "Jump": 17861, + "abort": 17862, + "gitlab": 17863, + "]].": 17864, + "Ġshutdown": 17865, + "Protos": 17866, + "serialization": 17867, + "ĠRegion": 17868, + "lucene": 17869, + "enate": 17870, + "Ġ*****************************************************************": 17871, + "logged": 17872, + "RTC": 17873, + "ĠHttpResponse": 17874, + "··": 17875, + "queeze": 17876, + "Ġ@{": 17877, + "ĠADC": 17878, + "对åºĶ": 17879, + "ĠDig": 17880, + "scenario": 17881, + "ĠStarted": 17882, + "Benchmark": 17883, + "lio": 17884, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 17885, + "ĊĠĠĠĠĠĠĊĠĠĠĠĠĠĠ": 17886, + "׾": 17887, + "Ġdeliver": 17888, + "labs": 17889, + "ĠPod": 17890, + "ofs": 17891, + "visions": 17892, + "ĠEvents": 17893, + "xxxxxxxx": 17894, + "Pur": 17895, + "Ġstopped": 17896, + "builds": 17897, + "ĠLOSS": 17898, + "duk": 17899, + "SourceFile": 17900, + "Ġcool": 17901, + "Ġfood": 17902, + "SEARCH": 17903, + "StartTime": 17904, + "BINARY": 17905, + "shuffle": 17906, + "ASF": 17907, + "Ġpopulation": 17908, + "ĠDependency": 17909, + "¡°": 17910, + "λ": 17911, + "Ġasc": 17912, + "sequ": 17913, + "icast": 17914, + "bins": 17915, + "electron": 17916, + "Ġ\":\"": 17917, + "Ġini": 17918, + "(\":": 17919, + "Ġanaly": 17920, + "ì²´": 17921, + "ĠArr": 17922, + "Resolved": 17923, + "иÑĩ": 17924, + "zaxxer": 17925, + "\">)(),": 17971, + "receipt": 17972, + "BX": 17973, + "éc": 17974, + "Works": 17975, + "ĠProblem": 17976, + "Voice": 17977, + "Ġ'.$": 17978, + "($(": 17979, + "digits": 17980, + "ĠSpecial": 17981, + "Ġavec": 17982, + "Way": 17983, + "Reflect": 17984, + "','','": 17985, + "COMPONENT": 17986, + "(\"\")": 17987, + "ĠFoo": 17988, + "Ġcomput": 17989, + "Nothing": 17990, + "Positive": 17991, + "GLIGENCE": 17992, + "Ġsrv": 17993, + "Ġdoor": 17994, + "åľº": 17995, + "ĠOracle": 17996, + "Utf": 17997, + "ãģªãģĦ": 17998, + "NavBar": 17999, + "enumber": 18000, + "Blend": 18001, + "Ġbring": 18002, + "plaintext": 18003, + "ALI": 18004, + "ĠCONST": 18005, + "shortcut": 18006, + "ĠGameObject": 18007, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 18008, + "________________________________": 18009, + "'/": 18010, + "oog": 18011, + "Dll": 18012, + "inn": 18013, + "developers": 18014, + "Cos": 18015, + "MediaType": 18016, + "Duplicate": 18017, + "__\":": 18018, + "ĊĉĉĉĉĠ": 18019, + "interop": 18020, + "imgs": 18021, + "Spell": 18022, + "announce": 18023, + "Cut": 18024, + "Ġ[%": 18025, + "sector": 18026, + "ilege": 18027, + "Ġpatient": 18028, + "àº": 18029, + "Energy": 18030, + "ĠASF": 18031, + "UTION": 18032, + "Mz": 18033, + "DBG": 18034, + "arable": 18035, + "errer": 18036, + "continu": 18037, + "']]": 18038, + "ĠÑģл": 18039, + "Ġmaintain": 18040, + "ìĿĮ": 18041, + "Ġwall": 18042, + "ĠNavigation": 18043, + "ĠRegex": 18044, + "Ġderiv": 18045, + "sanit": 18046, + "challenge": 18047, + "ĠfilePath": 18048, + "Ġíģ": 18049, + "iverse": 18050, + "Streaming": 18051, + "ela": 18052, + "Ġgenerates": 18053, + "Ġmoves": 18054, + "ĠCalled": 18055, + "oso": 18056, + "Trust": 18057, + "ceeds": 18058, + "TAB": 18059, + "Encoded": 18060, + "æĺĵ": 18061, + "Ġbodega": 18062, + "Ġclusters": 18063, + "á¹": 18064, + "Ġglsl": 18065, + "ĠCV": 18066, + "ĠìĥĿ": 18067, + "Credit": 18068, + "wf": 18069, + "Appearance": 18070, + "Pyx": 18071, + ">(<": 18072, + "èµĦæºIJ": 18073, + "Ġtrust": 18074, + "Streams": 18075, + "*": 18717, + "alax": 18718, + "Ġdates": 18719, + "Concurrent": 18720, + "Ġcomputing": 18721, + "ĠëķĮ": 18722, + "detach": 18723, + "Attrs": 18724, + "ainter": 18725, + "Ġcompression": 18726, + "Plain": 18727, + "!)": 18728, + "ĠSol": 18729, + "ĠPacket": 18730, + "ubleshoot": 18731, + "Spot": 18732, + "ĠModal": 18733, + "Ġsituation": 18734, + "pac": 18735, + "ĠESP": 18736, + "ĠADVISED": 18737, + "parentNode": 18738, + "RAD": 18739, + "ende": 18740, + "Ġmás": 18741, + "getS": 18742, + "Ġĉĉĉ": 18743, + "instr": 18744, + "Foreground": 18745, + "terraform": 18746, + "House": 18747, + "Watcher": 18748, + "reed": 18749, + "=\"@": 18750, + "ĠIns": 18751, + "formatted": 18752, + "åĽĽ": 18753, + "Ġfreq": 18754, + "ĠCancellationToken": 18755, + "ĠFollow": 18756, + "lout": 18757, + "veedor": 18758, + "ìķĦ": 18759, + "ĠSIG": 18760, + "Ġê²½": 18761, + "Px": 18762, + "rq": 18763, + "ר": 18764, + "Ġdesktop": 18765, + "(${": 18766, + "Ġuploaded": 18767, + "setData": 18768, + "``,": 18769, + "ĠÂł": 18770, + "combo": 18771, + "Ċĉĉĉĉĉĉĉĉĉĉĉĉĉĉ": 18772, + "CLOSE": 18773, + "Patient": 18774, + "ĠMAC": 18775, + "Ġresol": 18776, + "ATER": 18777, + "Ġjavascript": 18778, + "daily": 18779, + "sessions": 18780, + "ĠSPDX": 18781, + "Ga": 18782, + "ENTITY": 18783, + "ĠSubject": 18784, + "åĬłè½½": 18785, + "¯¸": 18786, + "Injection": 18787, + "Ġ`_": 18788, + "getParent": 18789, + "OrNull": 18790, + "ç»´": 18791, + "Ġsix": 18792, + "Ġomp": 18793, + "ĠMask": 18794, + "Ġfraction": 18795, + "Ġslider": 18796, + "redient": 18797, + "{};": 18798, + "Ġexplanation": 18799, + "assertNull": 18800, + "door": 18801, + "Ġaffected": 18802, + "Ġrend": 18803, + "Ġcapabilities": 18804, + "ĠCriteria": 18805, + "clusters": 18806, + "REFER": 18807, + "Verification": 18808, + "Cam": 18809, + "AIMED": 18810, + "FileType": 18811, + "ĠEDIT": 18812, + "HttpServletRequest": 18813, + "Ġ#'": 18814, + "å¦Ĥä½ķ": 18815, + "Ùĥ": 18816, + "getX": 18817, + "ãĢĭ": 18818, + "configur": 18819, + "SMALL": 18820, + "Ġrecently": 18821, + "ãĥĨãĤ£": 18822, + "åĪĿå§ĭåĮĸ": 18823, + "ãĥģ": 18824, + "Interop": 18825, + "fy": 18826, + "Ġbund": 18827, + "ĠRaise": 18828, + "FILENAME": 18829, + "Ġfault": 18830, + "Reject": 18831, + "WEVER": 18832, + "inp": 18833, + "Ġwants": 18834, + "kp": 18835, + "setEnabled": 18836, + "ĠGO": 18837, + "classifier": 18838, + "客æĪ·": 18839, + "ĠPOSSIBILITY": 18840, + "codegen": 18841, + "alignment": 18842, + "Lazy": 18843, + "anion": 18844, + "Ġcipher": 18845, + "Alter": 18846, + "Ġgrant": 18847, + "Mj": 18848, + "ĠSmart": 18849, + "ĠSUCCESS": 18850, + "Ġkom": 18851, + "Ġparagraph": 18852, + "Annot": 18853, + "ä¸ĢäºĽ": 18854, + "Organ": 18855, + "Ġnie": 18856, + "cean": 18857, + "Quad": 18858, + "ик": 18859, + "ĠFlag": 18860, + "mol": 18861, + "Ġ*)(": 18862, + "LIGHT": 18863, + "DataTable": 18864, + "ĠSubscription": 18865, + "åİĨ": 18866, + "assandra": 18867, + "Truth": 18868, + "Ġoverall": 18869, + "=>'": 18870, + "installation": 18871, + "Ġdescribes": 18872, + "Friend": 18873, + "dbo": 18874, + "reward": 18875, + "alarm": 18876, + "ĠCompare": 18877, + "-&": 18878, + "Maker": 18879, + "boundary": 18880, + "PARE": 18881, + "ĠII": 18882, + "ĠFake": 18883, + "Ġencrypt": 18884, + "Ġattention": 18885, + "ÒĨ": 18886, + "ĠPur": 18887, + "ĠgetUser": 18888, + "findAll": 18889, + "baidu": 18890, + "Ġidentified": 18891, + "ĠByteArray": 18892, + "æĿ¡ä»¶": 18893, + "Ġaug": 18894, + "ĠPTR": 18895, + "Ġcritical": 18896, + "zier": 18897, + "Contacts": 18898, + "*\\": 18899, + "snd": 18900, + "ĠSyn": 18901, + "ĠItems": 18902, + "Ġtil": 18903, + "Ġdecoder": 18904, + "Perform": 18905, + "WW": 18906, + "lor": 18907, + "commits": 18908, + "Ġdeveloped": 18909, + "Ġlegend": 18910, + "accordion": 18911, + "ĠTile": 18912, + "ĠAdding": 18913, + "ĠSD": 18914, + "ĠActual": 18915, + "Alive": 18916, + "HZ": 18917, + "Ġproposal": 18918, + "ĠSystems": 18919, + "Ġteams": 18920, + "inform": 18921, + "setOnClickListener": 18922, + "Ġchrome": 18923, + "Universal": 18924, + "ttl": 18925, + "Ġcapital": 18926, + "Ġencountered": 18927, + "bv": 18928, + "æ§": 18929, + "LECTION": 18930, + "callbacks": 18931, + "rz": 18932, + "Ġ{});": 18933, + "Ġaware": 18934, + "Ġsep": 18935, + "weets": 18936, + "Requirements": 18937, + "룬": 18938, + "ATTERN": 18939, + "Ġrd": 18940, + "两个": 18941, + "mir": 18942, + "aler": 18943, + ">&#": 18944, + "PrimaryKey": 18945, + "QUEUE": 18946, + "iction": 18947, + "oy": 18948, + "qc": 18949, + "ĠMC": 18950, + "çļĦæķ°æį®": 18951, + "ĠBUSINESS": 18952, + "DIG": 18953, + "fall": 18954, + "pas": 18955, + "ĠVari": 18956, + "Ġwhenever": 18957, + "Ġquest": 18958, + "Applications": 18959, + "physical": 18960, + "æľ¯": 18961, + "문": 18962, + "ĠLua": 18963, + "ĠArgumentNullException": 18964, + "оÑĤоÑĢ": 18965, + "ĠAir": 18966, + "Ġpopulate": 18967, + "ĠSplit": 18968, + "ĠPhone": 18969, + "Ġreadable": 18970, + "Ġflask": 18971, + "fixtures": 18972, + "+----------------": 18973, + "xm": 18974, + "¤ij": 18975, + "ĠCart": 18976, + "ĠCMake": 18977, + "Ġinteractive": 18978, + "dimensions": 18979, + "IMPL": 18980, + "ĠAvailable": 18981, + "éŁ³": 18982, + "nen": 18983, + "omi": 18984, + "ãģĪ": 18985, + "unittest": 18986, + "ĠHOWEVER": 18987, + "Ġyo": 18988, + "ãĤĪãģĨ": 18989, + "Ġcredit": 18990, + "олÑĮзов": 18991, + "Fund": 18992, + "ĠSame": 18993, + "hop": 18994, + "Ġ%}{%": 19171, + "Boundary": 19172, + "ander": 19173, + "quantitativo": 19174, + "Half": 19175, + "Ġpf": 19176, + "Ġpaste": 19177, + "ĠCross": 19178, + "ว": 19179, + "è¾ĥ": 19180, + "Scaling": 19181, + "ĠScroll": 19182, + "Got": 19183, + "Dollar": 19184, + "Ġpanic": 19185, + "daemon": 19186, + "ĠmacOS": 19187, + ")')": 19188, + ":{}": 19189, + "ĠLat": 19190, + "={(": 19191, + "ChunkName": 19192, + "rottle": 19193, + "EMPLARY": 19194, + "cve": 19195, + "ĠBet": 19196, + "Funciones": 19197, + "иÑĤе": 19198, + "ĠSerializable": 19199, + "()+": 19200, + "Ġaccepts": 19201, + "Ġnavigate": 19202, + "Ġheart": 19203, + "FieldType": 19204, + "ĠTestCase": 19205, + "Ġillustr": 19206, + "esc": 19207, + "Ġeiner": 19208, + "ĠIterable": 19209, + "Ġretrieved": 19210, + "Cause": 19211, + "Ġnight": 19212, + "markup": 19213, + "}}\">": 19214, + "ĠGLenum": 19215, + "Ġbranches": 19216, + "ĠSA": 19217, + "inalg": 19218, + "iran": 19219, + "Ġrid": 19220, + "ĠEffect": 19221, + "!');": 19222, + "Ke": 19223, + "Ġvim": 19224, + "spell": 19225, + "fieldName": 19226, + "IGNED": 19227, + "ç¶": 19228, + "criteria": 19229, + ");//": 19230, + "ĠDid": 19231, + "ĠDMA": 19232, + "ruit": 19233, + "å¿ħè¦ģ": 19234, + "Ġviewport": 19235, + "Ġoperand": 19236, + "ĠPROCUREMENT": 19237, + "æļ": 19238, + "getColumn": 19239, + "ister": 19240, + "Ġguild": 19241, + "jacent": 19242, + "compiled": 19243, + "ĠSUBSTITUTE": 19244, + "runs": 19245, + "slack": 19246, + "ĠStructure": 19247, + "ĠEXEMPLARY": 19248, + "Ġdaemon": 19249, + "bruik": 19250, + "Lens": 19251, + "hor": 19252, + "ĠCY": 19253, + "iful": 19254, + "ĊĊĊĊĊĊ": 19255, + "ĠHealth": 19256, + "PREFER": 19257, + "ĠACT": 19258, + "$(\".": 19259, + "QT": 19260, + "Qi": 19261, + "ĠTHEORY": 19262, + "'/>": 19263, + "Jan": 19264, + "ëį": 19265, + "strength": 19266, + "licated": 19267, + "DIST": 19268, + "Inspector": 19269, + "Ġìłľ": 19270, + "Ġtk": 19271, + "Ġdigest": 19272, + "éĺŁ": 19273, + "Mu": 19274, + "ĠIss": 19275, + "enterprise": 19276, + "parents": 19277, + "DECLARE": 19278, + "Known": 19279, + "ford": 19280, + "ĠRust": 19281, + "rocket": 19282, + "rouge": 19283, + "()\"": 19284, + "ãĥĩãĥ¼ãĤ¿": 19285, + "ran": 19286, + "Ġgain": 19287, + "Homeaddress": 19288, + "_|": 19289, + "utive": 19290, + "Ġnan": 19291, + "ĠReader": 19292, + "ĠUpdates": 19293, + "ĠwebpackChunkName": 19294, + "Ġcin": 19295, + "urb": 19296, + "Ġlap": 19297, + "Formats": 19298, + "اÙĨ": 19299, + "Ġeveryone": 19300, + "Ġsaw": 19301, + "Ġlr": 19302, + "figur": 19303, + "RuntimeException": 19304, + "fq": 19305, + "ĊĉĉĉĉĠĠĠ": 19306, + "Ġnoticed": 19307, + "plusplus": 19308, + "书": 19309, + "Overview": 19310, + "âĹ": 19311, + "ãĤ½": 19312, + "leri": 19313, + "manent": 19314, + "Ġscaling": 19315, + "ĠINTERRUPTION": 19316, + "atches": 19317, + "Ġpackets": 19318, + "Ġsdk": 19319, + "Ġintr": 19320, + "initializer": 19321, + "екÑĤ": 19322, + "/\\": 19323, + "Ġdensity": 19324, + "Ġheading": 19325, + "Ġhasattr": 19326, + "ìĦ¸": 19327, + "cj": 19328, + "Something": 19329, + "Ġsynapse": 19330, + "Cas": 19331, + "eql": 19332, + "viz": 19333, + "=\"<": 19334, + "ĠPRE": 19335, + "setItem": 19336, + "Ġtrip": 19337, + "HANDLER": 19338, + "ĠCAUSED": 19339, + "QS": 19340, + "Rob": 19341, + "ĠTAG": 19342, + "ugo": 19343, + "ĠHeaders": 19344, + "Ġrectangle": 19345, + "ĠRAM": 19346, + "MessageInfo": 19347, + "Ġìļ": 19348, + "BadRequest": 19349, + "ĠOBJECT": 19350, + "fft": 19351, + "joy": 19352, + "Fd": 19353, + "YES": 19354, + "cad": 19355, + "Ġ-&": 19356, + "ĠGRO": 19357, + "Ġchecksum": 19358, + "Ġimplementing": 19359, + "å·¥åħ·": 19360, + "..\\": 19361, + "architecture": 19362, + "libc": 19363, + ">{@": 19364, + "colo": 19365, + "Physics": 19366, + "Ġforeign": 19367, + "Ġperhaps": 19368, + "ĠAnimation": 19369, + "svn": 19370, + "Ġ~/.": 19371, + "Ġsidebar": 19372, + "implementation": 19373, + "%);": 19374, + "Ġfair": 19375, + "errit": 19376, + "NORE": 19377, + "ĠčĊĠ": 19378, + "ĠGC": 19379, + "filing": 19380, + "{-#": 19381, + "antage": 19382, + "Ġthinking": 19383, + "leetcode": 19384, + "Ġinverse": 19385, + "ThreadPool": 19386, + "ìłĦ": 19387, + "Inherit": 19388, + "occ": 19389, + "ĠìĦ¤": 19390, + "ĠDaten": 19391, + "Encrypt": 19392, + "Checks": 19393, + "ĠOPTION": 19394, + "UIT": 19395, + "Ġ*/,": 19396, + "ĠSTRING": 19397, + "èĮĥ": 19398, + "etic": 19399, + "Ġletters": 19400, + "Indexes": 19401, + "Ġcopying": 19402, + "Ġeax": 19403, + "Ġordering": 19404, + "Ġmodes": 19405, + "TAIL": 19406, + "generation": 19407, + "Ġwrites": 19408, + "ĠпеÑĢ": 19409, + "EEE": 19410, + "Ġmas": 19411, + "Temperature": 19412, + "PLY": 19413, + "ĠClosing": 19414, + "SHOW": 19415, + "Stand": 19416, + "ĠContains": 19417, + "Tail": 19418, + "ATIONS": 19419, + "[$]": 19420, + "Ñħод": 19421, + "Por": 19422, + "fid": 19423, + "vui": 19424, + "ĠGateway": 19425, + "ldap": 19426, + "ĠDeserial": 19427, + "PLAYER": 19428, + "ĠčĊĠĠĠĠ": 19429, + "ĠPY": 19430, + "Ġsupply": 19431, + "sms": 19432, + "Ġá": 19433, + "eri": 19434, + "billing": 19435, + "Ġ\"{}": 19436, + "presents": 19437, + "ĠRemov": 19438, + "Ġguidelines": 19439, + "ĠDir": 19440, + "ansible": 19441, + "ç»Ń": 19442, + "WebSocket": 19443, + "ĠImpro": 19444, + "Candidate": 19445, + "aos": 19446, + "Ġbbox": 19447, + "submission": 19448, + "Album": 19449, + "Ġpostgres": 19450, + "ĠHttpServlet": 19451, + "USERNAME": 19452, + "Solid": 19453, + "dca": 19454, + "redients": 19455, + "ÅĦ": 19456, + "Ġfunk": 19457, + "Ġsear": 19458, + "VECTOR": 19459, + "ноÑģÑĤ": 19460, + "Ġwheel": 19461, + "ĠInstead": 19462, + "mkr": 19463, + "cargo": 19464, + "Ġtwice": 19465, + "SSH": 19466, + "ĠtemplateUrl": 19467, + "('/',": 19468, + "Ii": 19469, + "ĠHey": 19470, + "gx": 19471, + "Ġrefactor": 19472, + "bcm": 19473, + "NY": 19474, + "tup": 19475, + "ĠGP": 19476, + "à¸Ĺ": 19477, + "Triangle": 19478, + "Ġsolved": 19479, + "{@": 19480, + "Ġcada": 19481, + "ĠWORK": 19482, + "who": 19483, + "ÑĢи": 19484, + "Participant": 19485, + "ĠComponents": 19486, + "ein": 19487, + "inecraft": 19488, + "holders": 19489, + "uevo": 19490, + "ToProps": 19491, + "Ġareas": 19492, + "Ġerrno": 19493, + "Ġopcode": 19494, + "ĠSafari": 19495, + "ãĤ«": 19496, + "Interrupt": 19497, + "èIJ": 19498, + "ĠĊĊĠĠĠ": 19499, + "ĠBCM": 19500, + "Ġix": 19501, + "Nm": 19502, + "oooo": 19503, + "ĠLoading": 19504, + "sex": 19505, + "ĠSys": 19506, + "chef": 19507, + "TZ": 19508, + "Ġconversation": 19509, + "conversion": 19510, + "Ast": 19511, + "gain": 19512, + "sint": 19513, + "valor": 19514, + ">());": 19515, + "zx": 19516, + "ulary": 19517, + "ĠScale": 19518, + "ĠScience": 19519, + "Interpol": 19520, + "Ġseeing": 19521, + "Capability": 19522, + "Ġpv": 19523, + "ducing": 19524, + "ĠMost": 19525, + "ĠValidator": 19526, + "ĠCU": 19527, + "Ġembod": 19528, + "Ä«": 19529, + "Ġë©": 19530, + "ĠCOM": 19531, + "mathbf": 19532, + "QA": 19533, + "Sing": 19534, + "camel": 19535, + "ucle": 19536, + "interpol": 19537, + "crc": 19538, + "dq": 19539, + "ticks": 19540, + "Unix": 19541, + "HIGH": 19542, + "Pal": 19543, + "/******/": 19544, + "<&": 19545, + "ĠZero": 19546, + "ĠLtd": 19547, + "ĠBi": 19548, + "colgroup": 19549, + "LOGIC": 19550, + "ĠAI": 19551, + "STY": 19552, + "Ġ{}'.": 19553, + "Ġ?:": 19554, + "ĠSignal": 19555, + "ĠINIT": 19556, + "Ġparticle": 19557, + "Bio": 19558, + "quelize": 19559, + "ç»Ħä»¶": 19560, + "experimental": 19561, + ">):": 19562, + "RATE": 19563, + "让": 19564, + "Ġraised": 19565, + "dur": 19566, + "Ġflip": 19567, + "Formation": 19568, + "starting": 19569, + "Ġtransforms": 19570, + "Ġpickle": 19571, + ":])": 19572, + "nor": 19573, + "DataGridView": 19574, + "ificar": 19575, + "Ġfailures": 19576, + "postgresql": 19577, + "Ġcomputation": 19578, + "Sphere": 19579, + "=\"#\"><": 19580, + "áºŃ": 19581, + ".|__": 19582, + "Arena": 19583, + "ĠNamed": 19584, + "EXTERNALSYM": 19585, + "Recomm": 19586, + "ceedings": 19587, + "AMPLE": 19588, + "ìķ¼": 19589, + "VD": 19590, + "nw": 19591, + "ìħ": 19592, + "Facade": 19593, + "ĠìķĬ": 19594, + "ĠHistory": 19595, + "solve": 19596, + "ĠOnInit": 19597, + "Ġunderstanding": 19598, + "ĠRoom": 19599, + "LoggerFactory": 19600, + "Sale": 19601, + "SEND": 19602, + "askell": 19603, + "pytorch": 19604, + "zm": 19605, + "imiento": 19606, + "ĠPatch": 19607, + "ĠRF": 19608, + "带": 19609, + "Conflict": 19610, + "ĠFFFF": 19611, + "ĠInf": 19612, + "æĸĻ": 19613, + "ĠActiv": 19614, + "Ġpuede": 19615, + "ingu": 19616, + "æīį": 19617, + "tribs": 19618, + "userName": 19619, + "ĠPin": 19620, + "å±±": 19621, + "ĠDart": 19622, + "ãĤª": 19623, + "cipher": 19624, + "dense": 19625, + "''''": 19626, + "Ġregard": 19627, + "Ġpagination": 19628, + "ĠWRITE": 19629, + "Four": 19630, + "alib": 19631, + "due": 19632, + "çĽij": 19633, + "Ġdatas": 19634, + "Bill": 19635, + "ĠMQ": 19636, + "Evaluation": 19637, + "Ajax": 19638, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 19639, + "verified": 19640, + "ErrorKind": 19641, + "äh": 19642, + "Ġaligned": 19643, + "ĠDISCLAIMED": 19644, + "simp": 19645, + "yb": 19646, + "adapt": 19647, + "tour": 19648, + "oscal": 19649, + "+\\": 19650, + "Ġsat": 19651, + "riven": 19652, + "startup": 19653, + "embedded": 19654, + "Ġsuitable": 19655, + "ffd": 19656, + "yk": 19657, + "letable": 19658, + "reads": 19659, + "ĠJoin": 19660, + "creating": 19661, + "getStatus": 19662, + "clicked": 19663, + "Ġmutation": 19664, + "ĠPerform": 19665, + "POSITION": 19666, + "ALISTP": 19667, + "å·¦": 19668, + "IFIER": 19669, + ":,": 19670, + "Ġdro": 19671, + "usc": 19672, + "etype": 19673, + "Markdown": 19674, + "RESPONSE": 19675, + "HasBeen": 19676, + "ĠResults": 19677, + "-_": 19678, + "coeff": 19679, + "Shutdown": 19680, + "websocket": 19681, + "ĠCreating": 19682, + "ĠSerialize": 19683, + "Ranges": 19684, + "Ġíĺ": 19685, + "ongsTo": 19686, + "ĠISO": 19687, + "ा": 19688, + "digital": 19689, + "ãĤĬãģ¾ãģĻ": 19690, + "Cop": 19691, + "elm": 19692, + "John": 19693, + "gv": 19694, + "ission": 19695, + "htable": 19696, + "primitive": 19697, + "Dem": 19698, + "æĢĿ": 19699, + "cerr": 19700, + "yll": 19701, + "getState": 19702, + "getBytes": 19703, + "={}": 19704, + "Ġgames": 19705, + "ĠIdentifier": 19706, + "Ġcausing": 19707, + "Ġpossibly": 19708, + "=\"$(": 19709, + "NewLine": 19710, + "Ġintroduced": 19711, + "Ġinternet": 19712, + "Ġdelimiter": 19713, + "ermine": 19714, + "Ġexponent": 19715, + "wrong": 19716, + "Pic": 19717, + "ĠGod": 19718, + "anta": 19719, + "ystick": 19720, + "Ġspin": 19721, + "sendMessage": 19722, + "GameObject": 19723, + "ĠScalar": 19724, + "erraform": 19725, + "Ġshortcut": 19726, + "Ele": 19727, + "Elastic": 19728, + "Wnd": 19729, + "]];": 19730, + "redd": 19731, + "hematic": 19732, + "Ġnl": 19733, + "getObject": 19734, + "Dep": 19735, + "glm": 19736, + "Ġdecide": 19737, + "âĢĶâĢĶâĢĶâĢĶ": 19738, + "rk": 19739, + "cko": 19740, + "ĠFE": 19741, + "Ġcollapse": 19742, + "Apache": 19743, + "Ġsubmitting": 19744, + "sampler": 19745, + "Ġlg": 19746, + "signup": 19747, + "ç»Ĩ": 19748, + "Ġdrawing": 19749, + "enz": 19750, + "->\"": 19751, + "è¯į": 19752, + "ĠWed": 19753, + "whatwg": 19754, + "Ġtbl": 19755, + "ĠInject": 19756, + "Ġcomm": 19757, + "docutils": 19758, + "Caller": 19759, + "RV": 19760, + "fifo": 19761, + "ç¯": 19762, + "Sparse": 19763, + "lifecycle": 19764, + "screenshot": 19765, + "TET": 19766, + "wiz": 19767, + "ĠĊĉĉĉĉ": 19768, + "getClient": 19769, + "ĠSVG": 19770, + "DG": 19771, + "Ġkernelspec": 19772, + "iculty": 19773, + "§º": 19774, + "Ġemo": 19775, + "å̤": 19776, + "proof": 19777, + "WNER": 19778, + "ëĬ¥": 19779, + "áĢ": 19780, + "Ġtem": 19781, + "Ġwhitespace": 19782, + "ĠCollect": 19783, + "\">{{$": 19784, + "hol": 19785, + "('../../": 19786, + "å¦Ĥä¸ĭ": 19787, + "Ġplaying": 19788, + "ĠSignature": 19789, + "说æĺİ": 19790, + "utt": 19791, + "ecx": 19792, + "migrations": 19793, + "TERM": 19794, + "AppendLine": 19795, + "dirty": 19796, + "kubectl": 19797, + "atie": 19798, + "Ġ[@": 19799, + "ĠNa": 19800, + "ãģ©": 19801, + "ĠRep": 19802, + "Ġ~/": 19803, + "æľĢ大": 19804, + "HAVE": 19805, + "hen": 19806, + "matching": 19807, + "ار": 19808, + "缸åħ³": 19809, + "ĠRetrieve": 19810, + "Ġpul": 19811, + "Training": 19812, + "GroupId": 19813, + "EXTENSION": 19814, + "Ġcódigo": 19815, + "Ġgeom": 19816, + "ÑĪи": 19817, + "Ġiz": 19818, + "accessor": 19819, + "åij¨": 19820, + "north": 19821, + "Containers": 19822, + "Ġ⧺": 19823, + "mathbb": 19824, + "Life": 19825, + "Ping": 19826, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 19827, + "\"}]}": 19828, + "Ġdetermined": 19829, + ">\")": 19830, + "aked": 19831, + "archives": 19832, + "choices": 19833, + "Wheel": 19834, + "Outcome": 19835, + "Startup": 19836, + "ĠpostIndex": 19837, + "subnet": 19838, + "warded": 19839, + "Adapt": 19840, + "Ġenables": 19841, + "DEFINED": 19842, + "Ġtries": 19843, + "Ġnatural": 19844, + "irs": 19845, + "ACCOUNT": 19846, + "BufferSize": 19847, + "ĠVariables": 19848, + "Ġfavor": 19849, + "Ġjwt": 19850, + "ĠgetId": 19851, + "DECRE": 19852, + "Avg": 19853, + "Aware": 19854, + "Spinner": 19855, + "FOLDER": 19856, + "wY": 19857, + "Ġbroker": 19858, + "ERNEL": 19859, + "Yii": 19860, + "uty": 19861, + "Ġay": 19862, + "gregator": 19863, + "ù": 19864, + "ĠGetting": 19865, + "ĠBlack": 19866, + "Ġdraft": 19867, + "ĠBreak": 19868, + "iteration": 19869, + ">);": 19870, + "reserve": 19871, + "}${": 19872, + "ĠclSet": 19873, + "Meter": 19874, + "ichael": 19875, + "IFICATION": 19876, + "nk": 19877, + "Contain": 19878, + "Tran": 19879, + "minute": 19880, + "Ij": 19881, + "UART": 19882, + "welcome": 19883, + "ĠSubL": 19884, + "consume": 19885, + "対": 19886, + "Editing": 19887, + "limin": 19888, + "ĠWS": 19889, + "...\");": 19890, + "ĠStatement": 19891, + "Ġì§Ģ": 19892, + "åı¥": 19893, + "macros": 19894, + "Pago": 19895, + "Ġcaption": 19896, + "Synchron": 19897, + "Symbols": 19898, + "aad": 19899, + "study": 19900, + "HK": 19901, + "Ġrisk": 19902, + "ĠcontentType": 19903, + "åĩł": 19904, + "yond": 19905, + "Ø´": 19906, + "ĠDT": 19907, + "Ġmachines": 19908, + "Ġaplik": 19909, + "ĠserialVersionUID": 19910, + "Cols": 19911, + "csi": 19912, + "详": 19913, + "SCREEN": 19914, + "ĠComplex": 19915, + "ĠsavedInstanceState": 19916, + "lcsSetup": 19917, + "+$": 19918, + "Social": 19919, + "sse": 19920, + "Ġrepositories": 19921, + "ĠASP": 19922, + "percentage": 19923, + "dispose": 19924, + "inside": 19925, + "zzle": 19926, + "ĠModify": 19927, + "Ġinser": 19928, + "Ġgulp": 19929, + "MARY": 19930, + "itar": 19931, + "Ġven": 19932, + "Om": 19933, + "ĠPanel": 19934, + "æŁIJ": 19935, + "zc": 19936, + "ĊĠĠĠĊĠĠ": 19937, + "Ġtrailing": 19938, + "Prof": 19939, + "Deleg": 19940, + "ANK": 19941, + "flight": 19942, + "mapped": 19943, + "ĠExcel": 19944, + "Ġflux": 19945, + "anon": 19946, + "Ġ=================": 19947, + "Ġbp": 19948, + "*****/": 19949, + "prediction": 19950, + "erequisites": 19951, + "Ġsandbox": 19952, + "qui": 19953, + "ées": 19954, + "esModule": 19955, + "BIG": 19956, + "SOR": 19957, + "SCALE": 19958, + "autiful": 19959, + "Ġwrote": 19960, + "ĠLANGUAGE": 19961, + "ной": 19962, + "ÅĻÃŃ": 19963, + "Ġaffili": 19964, + "ĠImplementation": 19965, + "including": 19966, + "Ġwww": 19967, + "æĹ¥å¿Ĺ": 19968, + "Ġanswers": 19969, + "antidad": 19970, + "Reading": 19971, + "ranges": 19972, + "ãģĮãģĤ": 19973, + "silon": 19974, + "hanced": 19975, + "newcommand": 19976, + "ä¸ŃåĽ½": 19977, + "segments": 19978, + "Ġintroduce": 19979, + "::::::::": 19980, + "globals": 19981, + "gridBagConstraints": 19982, + "WK": 19983, + "ishes": 19984, + "spaced": 19985, + "Continu": 19986, + "IntArray": 19987, + "ĠErrInvalid": 19988, + "Exclude": 19989, + "Ġurls": 19990, + "warnings": 19991, + "duplicate": 19992, + "gson": 19993, + "|'": 19994, + "ĠdataSource": 19995, + "exporter": 19996, + "è¿Ļæł·": 19997, + "rog": 19998, + "ĠDashboard": 19999, + "possible": 20000, + "Ġaccessed": 20001, + "enticator": 20002, + "polygon": 20003, + "ëĮĢ": 20004, + "Ġstay": 20005, + "Ġoverrides": 20006, + "FUL": 20007, + "Ġtok": 20008, + "IDX": 20009, + "########################################################################": 20010, + "mate": 20011, + "(/\\": 20012, + "debian": 20013, + "reading": 20014, + "necessary": 20015, + "ALPHA": 20016, + "LIBRARY": 20017, + "bab": 20018, + "ĠBlog": 20019, + "ĠVRType": 20020, + "Ġlift": 20021, + "æ¡£": 20022, + "Ġweather": 20023, + "ĠZERO": 20024, + "Remaining": 20025, + "kbd": 20026, + "itÃł": 20027, + "ensemb": 20028, + "atoms": 20029, + "normalized": 20030, + "ĠGENER": 20031, + "ĠProps": 20032, + "ilestone": 20033, + "Ġ\\<": 20034, + "DefaultValue": 20035, + "?>\"": 20036, + "Ġextracted": 20037, + "Ġbuff": 20038, + "ffici": 20039, + "!',": 20040, + "Poll": 20041, + "lus": 20042, + "faq": 20043, + "½Ķ": 20044, + "ĠRUN": 20045, + "ĠExchange": 20046, + "Ġtoolbar": 20047, + "Initializer": 20048, + "": 27633, + "ição": 27634, + "ĉĉĊĉ": 27635, + "ĠCAT": 27636, + "ĠWrap": 27637, + "ĠsetValue": 27638, + "Ġbandwidth": 27639, + "Ġderivative": 27640, + "`]": 27641, + "cro": 27642, + "ĊĠĊĠĠĠ": 27643, + "rowd": 27644, + "ĠDecode": 27645, + "writeString": 27646, + "Webhook": 27647, + "ĠImages": 27648, + "é쏿Ĭŀ": 27649, + "Ġfid": 27650, + "ĠDL": 27651, + "Explanation": 27652, + "Ġgraf": 27653, + "Ġmodelo": 27654, + "statuses": 27655, + "Statuses": 27656, + "ĠìķĮ": 27657, + "ì¶ľ": 27658, + "came": 27659, + "votes": 27660, + "Ġstuck": 27661, + "Ġiframe": 27662, + "Ġcommercial": 27663, + "replication": 27664, + "Ġrestricted": 27665, + "ĠjustifyContent": 27666, + "åħ·ä½ĵ": 27667, + "Ġculture": 27668, + "ctionaries": 27669, + "scre": 27670, + "Ġchangelog": 27671, + "ĠChromium": 27672, + "çŁ¥éģĵ": 27673, + "Ġ(~>": 27674, + "×ĵ": 27675, + "Ġ\"//": 27676, + "INUE": 27677, + "ecd": 27678, + "ttfamily": 27679, + "decorator": 27680, + "Ġaplicación": 27681, + "Ġappreciated": 27682, + "Ġress": 27683, + "edString": 27684, + "Ġunisim": 27685, + "composite": 27686, + "Soap": 27687, + "è´¨": 27688, + "Protocols": 27689, + "ĠInformationen": 27690, + "Lik": 27691, + "Ntk": 27692, + "amap": 27693, + "intl": 27694, + "Ġundef": 27695, + "methodName": 27696, + "LLVM": 27697, + "à°¿": 27698, + "éĴ®": 27699, + "GRAN": 27700, + "Ġoutgoing": 27701, + "ĠKing": 27702, + "éĢī项": 27703, + "Ġpicked": 27704, + "GUILayout": 27705, + "Dh": 27706, + "Morph": 27707, + "Ġbare": 27708, + "Ġlé": 27709, + "divid": 27710, + "UNET": 27711, + "XXXXXXXX": 27712, + "wis": 27713, + "ADING": 27714, + "Ġpylint": 27715, + "ATTACH": 27716, + "PARENT": 27717, + "vcomponents": 27718, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 27719, + "JSONArray": 27720, + "SimpleIndexQueryParserTests": 27721, + "IpAddress": 27722, + "ĠNetworks": 27723, + "ĠOperations": 27724, + "CHANGED": 27725, + "dif": 27726, + "demand": 27727, + "extensibility": 27728, + "RECE": 27729, + "Ġhashes": 27730, + "ĠNoSuch": 27731, + "Multiply": 27732, + "Slf": 27733, + "SUR": 27734, + "Refund": 27735, + "shorts": 27736, + "Ġgenome": 27737, + "GOO": 27738, + "KI": 27739, + "Ġnec": 27740, + "ĠOrient": 27741, + "QueryString": 27742, + "ĠjsonObject": 27743, + "Ġpossibility": 27744, + "Ġoriginally": 27745, + "ĠìĦł": 27746, + "ĠREQUEST": 27747, + "cksdb": 27748, + "ctime": 27749, + "adir": 27750, + "ĊĉĉĊĉĉ": 27751, + "apl": 27752, + "apons": 27753, + "teor": 27754, + "aza": 27755, + "Ġauthority": 27756, + "Ġtells": 27757, + "ãģķãĤĮãģ¾ãģĻ": 27758, + "Ġcleared": 27759, + "<(),": 27760, + "Wind": 27761, + "wake": 27762, + "ĠStd": 27763, + "ortex": 27764, + "Ġexclusive": 27765, + "clin": 27766, + "ÑĤоÑĢ": 27767, + "cars": 27768, + "Ġpest": 27769, + "ĠKC": 27770, + "íķĺë©´": 27771, + "PQ": 27772, + "ZU": 27773, + "ErrorResponse": 27774, + "Ġsubtitle": 27775, + "QueryParams": 27776, + "ĠWordPress": 27777, + "ĠTAHUN": 27778, + "Rigid": 27779, + "jud": 27780, + "Ġvault": 27781, + "Ġhang": 27782, + "ReadAll": 27783, + "corp": 27784, + "ĠIndexes": 27785, + "Guardar": 27786, + "tell": 27787, + "µľ": 27788, + "='+": 27789, + "Intel": 27790, + "æĿĤ": 27791, + "Important": 27792, + "clipboard": 27793, + "Ġpouž": 27794, + "XE": 27795, + "ìĤ": 27796, + "individual": 27797, + "Ġrl": 27798, + "Ġsubtract": 27799, + "opened": 27800, + "PERIOD": 27801, + "GONE": 27802, + "TREE": 27803, + "bq": 27804, + "ļł": 27805, + "sty": 27806, + "bounc": 27807, + "','-": 27808, + "eventName": 27809, + "æĻ®": 27810, + "Folders": 27811, + "LW": 27812, + "bson": 27813, + "î": 27814, + "TimeUnit": 27815, + "iterable": 27816, + "merchant": 27817, + "Reduc": 27818, + "çłĶ": 27819, + "Beta": 27820, + "amed": 27821, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 27822, + "mailer": 27823, + "Moving": 27824, + "ĠAlias": 27825, + "Ġhints": 27826, + "Bas": 27827, + "Ġbags": 27828, + "getIndex": 27829, + "ISA": 27830, + "cipients": 27831, + "Hu": 27832, + "Never": 27833, + "atz": 27834, + "rok": 27835, + "ĠSing": 27836, + "ĠMini": 27837, + "doctor": 27838, + "æľĥ": 27839, + "Ġtitles": 27840, + "Vectors": 27841, + "ıè§Ī": 27842, + "athon": 27843, + "DET": 27844, + "indexed": 27845, + "chevron": 27846, + "Ġzo": 27847, + "ĠReser": 27848, + "лем": 27849, + "inesis": 27850, + "Artist": 27851, + "SIGNAL": 27852, + "Ġmagna": 27853, + "aan": 27854, + "Ġnúmero": 27855, + "lassian": 27856, + "ĠNil": 27857, + "Ġpropose": 27858, + "ĠTested": 27859, + "fdc": 27860, + "losses": 27861, + "adf": 27862, + "Ġwa": 27863, + "ĠDex": 27864, + "Ġ#:": 27865, + "classic": 27866, + "čĊčĊčĊčĊ": 27867, + "Who": 27868, + "Ġapproval": 27869, + "ĠControls": 27870, + "æ¯Ķå¦Ĥ": 27871, + "CompactTextString": 27872, + "ĠSIGNAL": 27873, + "DESCRIPTOR": 27874, + "Kill": 27875, + "holiday": 27876, + "represent": 27877, + "getMethod": 27878, + "ĠOVER": 27879, + "Ġkm": 27880, + "ĠQR": 27881, + "Longitude": 27882, + "Ġsearched": 27883, + "Ġfoi": 27884, + "ĠPFN": 27885, + "Ġkomp": 27886, + "ĠstartDate": 27887, + "Discord": 27888, + "Ġmovies": 27889, + "éĢļçŁ¥": 27890, + "godot": 27891, + "Individual": 27892, + "llong": 27893, + "beats": 27894, + "PROVIDED": 27895, + "mathrm": 27896, + "SerializationError": 27897, + "Ġatoms": 27898, + "Vel": 27899, + "tlement": 27900, + "strconv": 27901, + "conds": 27902, + "ĠPARSER": 27903, + "recipes": 27904, + ")}}": 27905, + "Sid": 27906, + "ulu": 27907, + "spb": 27908, + "ultaneous": 27909, + "cone": 27910, + "ĠROS": 27911, + "Appointment": 27912, + "Sampling": 27913, + "mor": 27914, + "rac": 27915, + "ãģĺ": 27916, + "ULES": 27917, + ">(()": 27918, + "Ġprivacy": 27919, + "Ġanimations": 27920, + "æĮīéĴ®": 27921, + "rtp": 27922, + "ĊĊĠĠĠĠĠĠĠĠĠĠĠĠ": 27923, + "aspberry": 27924, + "keyup": 27925, + "Ġcompiling": 27926, + "Ġvalidators": 27927, + "à®Ł": 27928, + "à°¾": 27929, + "pfcp": 27930, + "Alerts": 27931, + "CORRECT": 27932, + "Ġstandalone": 27933, + "Ġgrowth": 27934, + "âĢĵâĢĵâĢĵâĢĵ": 27935, + "}@": 27936, + "uktur": 27937, + "ìĦł": 27938, + "Builtin": 27939, + "åįıè®®": 27940, + "'-": 27941, + "[{{": 27942, + "ische": 27943, + "()])": 27944, + "ĠThree": 27945, + "ãĤ¢ãĤ¯": 27946, + "telegram": 27947, + "Descriptions": 27948, + "Ġreplacing": 27949, + "Ctl": 27950, + "SHE": 27951, + "david": 27952, + "replay": 27953, + "ató": 27954, + "ĠCSR": 27955, + "Recognition": 27956, + "ĠNorth": 27957, + "subprocess": 27958, + "lengths": 27959, + "Ġdistances": 27960, + "PerPage": 27961, + "ëłĪ": 27962, + "ĠÂłĠÂł": 27963, + "CW": 27964, + "CANCEL": 27965, + "KO": 27966, + "favorite": 27967, + "ocs": 27968, + "Compose": 27969, + "ServiceModel": 27970, + "ÑģÑĤан": 27971, + "Ġconnectivity": 27972, + "ĠSwap": 27973, + "sanitize": 27974, + "EntityFrameworkCore": 27975, + "gence": 27976, + "least": 27977, + "GetUser": 27978, + "unched": 27979, + "ĠPRIV": 27980, + "NotFoundError": 27981, + "Ġviol": 27982, + "Ġappearance": 27983, + "ại": 27984, + "æ¹": 27985, + "arms": 27986, + "ĠMultip": 27987, + "ĠRules": 27988, + "ĠKit": 27989, + "Ġdelle": 27990, + "é¢Ĩ": 27991, + "QUA": 27992, + "ÑĨии": 27993, + "ĠDesigner": 27994, + "éĿŀ常": 27995, + "SERIALE": 27996, + "Fabric": 27997, + "Hw": 27998, + "Ġomit": 27999, + "ĠSF": 28000, + ",''),(": 28001, + "ullong": 28002, + "logrus": 28003, + "ĠinitialState": 28004, + "Swagger": 28005, + "ExtensionRegistry": 28006, + "ãģ¾ãģĽãĤĵ": 28007, + "Ġaugment": 28008, + "vect": 28009, + "ί": 28010, + "ĠSanit": 28011, + "putExtra": 28012, + "addAttribute": 28013, + "Ġnov": 28014, + "vertising": 28015, + "Ġblk": 28016, + "Ġdiese": 28017, + "BOTTOM": 28018, + "¦ãĥ¼ãĤ¶ãĥ¼": 28019, + ",),": 28020, + "pT": 28021, + "ĠMix": 28022, + "Ġ&$": 28023, + "ĠUR": 28024, + "Ġthroughout": 28025, + "cott": 28026, + "ĠIPT": 28027, + "Ġevidence": 28028, + "Ġindexing": 28029, + "EDITOR": 28030, + "Ġpouvez": 28031, + "Advance": 28032, + "Ġmagnitude": 28033, + "=\"\">())": 28045, + "Ben": 28046, + "jx": 28047, + "vz": 28048, + "ë¬": 28049, + "Ġull": 28050, + "ĠMass": 28051, + "\":[{\"": 28052, + "nej": 28053, + "Delimit": 28054, + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~": 28055, + "SUFFIX": 28056, + "!='": 28057, + "Kt": 28058, + "Ġsphere": 28059, + "oof": 28060, + "beg": 28061, + "Accessibility": 28062, + "åıijçĶŁ": 28063, + "ĠCosmos": 28064, + "ĠíķĦ": 28065, + "Ġtan": 28066, + "Ġ='": 28067, + "Ġhs": 28068, + "Replay": 28069, + "ULONG": 28070, + "Ġheat": 28071, + "tableblock": 28072, + "CREATED": 28073, + "ĠOrd": 28074, + "Violation": 28075, + "cember": 28076, + "EFI": 28077, + "Ġsov": 28078, + "ĠglVertex": 28079, + "Ġcommented": 28080, + "áļĭ": 28081, + "âĸĦâĸĦ": 28082, + "ĠFOL": 28083, + "FileDialog": 28084, + "ReturnType": 28085, + "å®ŀéĻħ": 28086, + "ĠRID": 28087, + "Ġtransitions": 28088, + "Ġopens": 28089, + "watcher": 28090, + "缸åIJĮ": 28091, + "=?": 28092, + ">%": 28093, + "]|": 28094, + "xaml": 28095, + "Ġdecoding": 28096, + "ého": 28097, + "Ġmaintained": 28098, + "VENDOR": 28099, + "XJ": 28100, + "nas": 28101, + "tif": 28102, + "leading": 28103, + "Ġoutbound": 28104, + ")};": 28105, + "jab": 28106, + "jpa": 28107, + "qh": 28108, + "čĊĉĉĉĉĉĉĉĉĉĉ": 28109, + "Ġice": 28110, + "queued": 28111, + "bump": 28112, + "ESP": 28113, + "ASP": 28114, + "adobe": 28115, + "Ġboundaries": 28116, + "Articles": 28117, + "Ġ§": 28118, + "Nt": 28119, + "ĠÃŃ": 28120, + "Ġworry": 28121, + "()/": 28122, + "chap": 28123, + "ĠMIME": 28124, + "ĊĉĉĉĠĠĠĠĠĠ": 28125, + "ĠVB": 28126, + "errorCode": 28127, + "barcode": 28128, + "zenia": 28129, + "ĠExecutor": 28130, + "çµIJ": 28131, + "Fo": 28132, + "Jwt": 28133, + "SAM": 28134, + "ĠSUP": 28135, + "getAction": 28136, + "ENGINE": 28137, + "...\",": 28138, + "things": 28139, + "Ġ:::": 28140, + "PARSER": 28141, + "íķĺì§Ģ": 28142, + ")|[": 28143, + "hdf": 28144, + "ĊĠĊĠ": 28145, + "Theory": 28146, + "visualstudio": 28147, + "Ġhexadecimal": 28148, + "Sending": 28149, + "`\\": 28150, + "vendors": 28151, + "ĠCorre": 28152, + "setCurrent": 28153, + "__))": 28154, + "VERBOSE": 28155, + "Ġsupplier": 28156, + "CHECKS": 28157, + "Ġperspective": 28158, + "ีà¹Ī": 28159, + "Dog": 28160, + "ecore": 28161, + "gab": 28162, + "ê·": 28163, + "Ġcargo": 28164, + "itu": 28165, + "ĠHide": 28166, + "ĠJupyter": 28167, + "ĠListNode": 28168, + "ög": 28169, + "CRC": 28170, + "Ġcleaned": 28171, + "ĠOrgan": 28172, + "CODING": 28173, + "Ra": 28174, + "envoy": 28175, + "Ġfib": 28176, + "essoa": 28177, + "beee": 28178, + "Composition": 28179, + "afd": 28180, + "SearchResult": 28181, + "Ġsuppress": 28182, + "Ġautof": 28183, + "Pods": 28184, + "PRIORITY": 28185, + "getBoolean": 28186, + "åıĮ": 28187, + "Ġflexible": 28188, + "éĺ³": 28189, + "MAR": 28190, + "cce": 28191, + "ĠSuggest": 28192, + "molec": 28193, + "subsubsection": 28194, + "genre": 28195, + "容åύ": 28196, + "Ja": 28197, + "Infof": 28198, + "bitbucket": 28199, + "Ġ(>=": 28200, + "()\",": 28201, + "getActivity": 28202, + "istio": 28203, + "Ġliter": 28204, + "antt": 28205, + "flask": 28206, + "Boxes": 28207, + "replica": 28208, + "Grpc": 28209, + "æīĭæľº": 28210, + "alpine": 28211, + "fz": 28212, + "ļĮ": 28213, + "())))": 28214, + "InBytes": 28215, + "avo": 28216, + "setDescription": 28217, + "selectAll": 28218, + "limitations": 28219, + "tracked": 28220, + "ầ": 28221, + "ĠONLY": 28222, + "merchants": 28223, + "/../": 28224, + "Dan": 28225, + "East": 28226, + "Vulkan": 28227, + "isPresent": 28228, + "Ġped": 28229, + "projectId": 28230, + "Ġphysics": 28231, + "ìĹħ": 28232, + "snprintf": 28233, + "ĠëIJĺ": 28234, + "BQ": 28235, + "Ux": 28236, + "[]):": 28237, + "ós": 28238, + "Ġcombinations": 28239, + "DOCSIS": 28240, + "êĻĭ": 28241, + "Ġfan": 28242, + "getResources": 28243, + "OnError": 28244, + "Ġpartir": 28245, + "fahren": 28246, + "SCAL": 28247, + "åĩı": 28248, + "'^": 28249, + ".\"]": 28250, + "jun": 28251, + "lez": 28252, + "()`.": 28253, + "Ġ[{\"": 28254, + "Ġunchecked": 28255, + "änder": 28256, + "ĠEncode": 28257, + "RegExp": 28258, + "PCI": 28259, + "autogen": 28260, + "BLK": 28261, + "VARCHAR": 28262, + "Paused": 28263, + "recommend": 28264, + "á¹ĥ": 28265, + "Ġlaptop": 28266, + "Pivot": 28267, + "Å«": 28268, + "Ġasci": 28269, + "Ġusual": 28270, + "crash": 28271, + "=\"#[": 28272, + "Inspect": 28273, + "taxonomy": 28274, + "ĠMETHOD": 28275, + "Svc": 28276, + "×¢": 28277, + "Ġ$\"{": 28278, + "diagnostics": 28279, + "Ġrelations": 28280, + "Validators": 28281, + "ÑĥÑģ": 28282, + "æĸ°å¢ŀ": 28283, + "NNNNNNNN": 28284, + "ungeon": 28285, + "Ġascending": 28286, + "unistd": 28287, + "Saving": 28288, + "bsl": 28289, + "rnn": 28290, + "edb": 28291, + "ãĥļ": 28292, + "empo": 28293, + "GroupBox": 28294, + "generators": 28295, + "Ġ<$>": 28296, + "ney": 28297, + "pNext": 28298, + "uix": 28299, + "hem": 28300, + "Ġreserve": 28301, + "('{": 28302, + "iron": 28303, + "memcmp": 28304, + "CMOF": 28305, + "cutoff": 28306, + "stl": 28307, + "Ġ{|": 28308, + "Ġef": 28309, + "ORIGIN": 28310, + "ĠJVS": 28311, + "Ġqt": 28312, + "Authorize": 28313, + "Ġ----------------------------------------------------------------------------": 28314, + "Ġ{:.": 28315, + "->{'": 28316, + "nesday": 28317, + "|>": 28318, + "미": 28319, + "ivil": 28320, + "angerous": 28321, + "AGENT": 28322, + "exponent": 28323, + "à§ĭ": 28324, + "Finally": 28325, + "Sigma": 28326, + "ĠLes": 28327, + "pyri": 28328, + "Ġexecutes": 28329, + "Sms": 28330, + "mappings": 28331, + "Ġinvention": 28332, + "Ġsea": 28333, + "Ġlose": 28334, + "lickr": 28335, + "Ġretries": 28336, + "iera": 28337, + "weekly": 28338, + "Reservation": 28339, + "ĠHttpServletResponse": 28340, + ">-->": 28341, + "bos": 28342, + "asdf": 28343, + "estim": 28344, + "ighth": 28345, + "ãĥ¼ãĤ¯": 28346, + "lbk": 28347, + "ĠSERVER": 28348, + "GENERAL": 28349, + "DJ": 28350, + "Sites": 28351, + "InterruptedException": 28352, + "MethodCall": 28353, + "insights": 28354, + "Ġcontrolled": 28355, + "IsNullOrWhiteSpace": 28356, + "ints": 28357, + "Deposit": 28358, + "Ġoverhead": 28359, + "tips": 28360, + "Ġmemb": 28361, + "ĠsetName": 28362, + "Ġlocals": 28363, + "'>\"": 28364, + "ĠÑĦай": 28365, + "pensive": 28366, + "bis": 28367, + "fcf": 28368, + "ErrorAction": 28369, + "jÄħ": 28370, + "och": 28371, + "ãĥĵ": 28372, + "Collapse": 28373, + "Ġ/*#__": 28374, + "SignIn": 28375, + "ĠModifier": 28376, + ")::": 28377, + "vertx": 28378, + "ĠLG": 28379, + "ãĥĶ": 28380, + "аем": 28381, + "æĢİ": 28382, + "spe": 28383, + "thr": 28384, + "userID": 28385, + "quel": 28386, + "prices": 28387, + "Ġoutfile": 28388, + "workbench": 28389, + "ByVal": 28390, + "ĠZend": 28391, + "积": 28392, + "scrollbar": 28393, + "FIXED": 28394, + "atellite": 28395, + "Laravel": 28396, + "yer": 28397, + "reaction": 28398, + "atson": 28399, + "Ġttl": 28400, + "Ġpts": 28401, + "unregister": 28402, + "Ġosc": 28403, + "Ġdistributions": 28404, + "ĠComments": 28405, + "hoz": 28406, + "months": 28407, + "agrams": 28408, + "\">.": 28733, + "{}\",": 28734, + "United": 28735, + "åıĸæ¶Ī": 28736, + "Circuit": 28737, + "Lost": 28738, + "ĠClip": 28739, + "ĠMont": 28740, + "Exceeded": 28741, + "Ġshipping": 28742, + "ãĥį": 28743, + "objc": 28744, + "OFT": 28745, + "Ġnecessarily": 28746, + "midine": 28747, + "Ġexemplo": 28748, + "ãģĮãģĤãĤĬãģ¾ãģĻ": 28749, + "}\"/>": 28750, + "Quit": 28751, + "ancia": 28752, + "Ġmodifying": 28753, + "ĠReflection": 28754, + "Ġä¸Ĭ": 28755, + "anime": 28756, + "ĠPrefix": 28757, + "ITICAL": 28758, + "ĠRepo": 28759, + "Unavailable": 28760, + "LOY": 28761, + "drawing": 28762, + "ĠSwagger": 28763, + "Ġguarantee": 28764, + "ĠBufferedReader": 28765, + "Ġusuário": 28766, + "ZO": 28767, + "á½": 28768, + "ormap": 28769, + "Unimplemented": 28770, + "signals": 28771, + "Absent": 28772, + "Ġngx": 28773, + "ĠReflect": 28774, + "ISHED": 28775, + "Ø·": 28776, + "Workload": 28777, + "sip": 28778, + "ëħ": 28779, + "Cookies": 28780, + "CASCADE": 28781, + "mtx": 28782, + "internet": 28783, + "isy": 28784, + "ĠCX": 28785, + "ĠENDIF": 28786, + "kj": 28787, + "isan": 28788, + "Ġrebase": 28789, + "fea": 28790, + "Ġapk": 28791, + "Ġcores": 28792, + "ĠìŰ": 28793, + "âķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJ": 28794, + "apor": 28795, + "ovánÃŃ": 28796, + "removeAll": 28797, + "Minimal": 28798, + "è§ī": 28799, + "yyDollar": 28800, + "Ġpolling": 28801, + "Ġë°ĺ": 28802, + "fis": 28803, + "ĠRS": 28804, + "Ġquiet": 28805, + "hamcrest": 28806, + "Suggestion": 28807, + "ĠWriting": 28808, + "Ġguaranteed": 28809, + "trunc": 28810, + "ĠTod": 28811, + "Ġang": 28812, + "}}/": 28813, + "Ġdiagnostics": 28814, + "GEO": 28815, + "éĿĻ": 28816, + "podcast": 28817, + "áló": 28818, + "Ġrobust": 28819, + "PDO": 28820, + "bam": 28821, + "rans": 28822, + "isIn": 28823, + "ĠArm": 28824, + "langs": 28825, + "subjects": 28826, + "Invite": 28827, + "Persist": 28828, + "EINVAL": 28829, + "Gro": 28830, + "liot": 28831, + "审": 28832, + "Again": 28833, + "asar": 28834, + "Ġbabel": 28835, + "ifold": 28836, + "Ġunix": 28837, + "Ġdisposit": 28838, + "ISS": 28839, + "diagram": 28840, + "barrier": 28841, + "Ġsentences": 28842, + "VisualStyle": 28843, + "SELF": 28844, + "ĠEmber": 28845, + "ëªħ": 28846, + "Ġacceleration": 28847, + ".\\+": 28848, + "TUR": 28849, + "fro": 28850, + "qos": 28851, + "rex": 28852, + "Ġinode": 28853, + "getChildren": 28854, + "ĠPending": 28855, + "grand": 28856, + "TestHarness": 28857, + "\":\"\",\"": 28858, + "ĠpropertyName": 28859, + "Ġmission": 28860, + "çīĮ": 28861, + "passwd": 28862, + "åĨħéĥ¨": 28863, + "ĠProcessor": 28864, + "ORIZONTAL": 28865, + "bright": 28866, + "ĠĠĠĠĊĠĠĠĠĠĠĠ": 28867, + "Ġsint": 28868, + "Ġnisi": 28869, + "Ġuninstall": 28870, + "Bookmark": 28871, + "Mr": 28872, + "cnn": 28873, + "zHj": 28874, + "é¾": 28875, + "Ġ}//": 28876, + "Ġtimed": 28877, + "removeChild": 28878, + "Relations": 28879, + "æĪijçļĦ": 28880, + "Ġcrashes": 28881, + "ĠUnited": 28882, + "Ġessere": 28883, + "VwD": 28884, + "KU": 28885, + "bdb": 28886, + "ĠMal": 28887, + "addField": 28888, + "ievement": 28889, + "红": 28890, + "storybook": 28891, + "Ġsatisfied": 28892, + "Ġwd": 28893, + "traj": 28894, + "Argb": 28895, + "Ġvalidates": 28896, + "Runs": 28897, + "MMC": 28898, + "ĠGuard": 28899, + "cir": 28900, + "Ġtee": 28901, + "Ġcov": 28902, + "ĠSon": 28903, + "topo": 28904, + "ĠGCC": 28905, + "refund": 28906, + "Encrypted": 28907, + "notNull": 28908, + "Ġquer": 28909, + "Ġconsensus": 28910, + "invocation": 28911, + "Aligned": 28912, + "parametrize": 28913, + "pyrimidine": 28914, + "]\");": 28915, + "mptom": 28916, + "//////": 28917, + "OrElse": 28918, + "SCre": 28919, + "ĠDelta": 28920, + "ĠtearDown": 28921, + "atos": 28922, + "Ġfm": 28923, + "setMessage": 28924, + "childNodes": 28925, + "Ġinsertion": 28926, + "Ġcancellation": 28927, + "Ġdolore": 28928, + "Gt": 28929, + "aab": 28930, + "ghost": 28931, + "ĠCURL": 28932, + "ĠLN": 28933, + "ensed": 28934, + "anna": 28935, + "ĠìĻ": 28936, + "inspection": 28937, + "Tween": 28938, + "bell": 28939, + "prefer": 28940, + "ĊĊĠĠĠĠĠĠĠĠĠĠ": 28941, + "roi": 28942, + "extr": 28943, + "abbre": 28944, + "ller": 28945, + "Bj": 28946, + "flink": 28947, + "Ġ'~": 28948, + "ĠDP": 28949, + "posix": 28950, + "代çIJĨ": 28951, + "Ġincreased": 28952, + "PENDING": 28953, + "JA": 28954, + "YXR": 28955, + "caster": 28956, + "ĠTutorial": 28957, + "ĠLic": 28958, + "bounded": 28959, + "bef": 28960, + "Ġzijn": 28961, + "æİĪ": 28962, + "же": 28963, + "Ġfragments": 28964, + "PAL": 28965, + "Sect": 28966, + "Ġinvert": 28967, + "ĠerrorCode": 28968, + "éĢ»": 28969, + "éĻį": 28970, + "[{\"-\",": 28971, + "ĠArchive": 28972, + "MOTOR": 28973, + "PLIO": 28974, + "Marshaller": 28975, + "ĠAPR": 28976, + "emsp": 28977, + "estimator": 28978, + "Ġminx": 28979, + "Ġíĥ": 28980, + "GOJT": 28981, + "hglBI": 28982, + "zHjZQW": 28983, + "Sam": 28984, + "cdd": 28985, + "spacer": 28986, + "Ġkin": 28987, + "cmds": 28988, + "çĤº": 28989, + "Ġemployees": 28990, + "|--------------------------------------------------------------------------": 28991, + "chors": 28992, + "clientId": 28993, + "Episode": 28994, + ">),": 28995, + "IUS": 28996, + "natural": 28997, + "ctest": 28998, + "backtrace": 28999, + "Ġplural": 29000, + "disposing": 29001, + "Ġnoop": 29002, + "åIJĹ": 29003, + "Ġpeut": 29004, + "SpringBoot": 29005, + "brightness": 29006, + "Ġcertific": 29007, + "getView": 29008, + "ĠDLL": 29009, + "Ġpromp": 29010, + "TimeSpan": 29011, + "Meeting": 29012, + "||(": 29013, + "ĠMonad": 29014, + "æıIJ示": 29015, + "ĠOFFSET": 29016, + ";`": 29017, + "Tier": 29018, + "TTL": 29019, + "ĠÙĨ": 29020, + "Inlining": 29021, + "backslash": 29022, + "tape": 29023, + "Clus": 29024, + "Latency": 29025, + "ña": 29026, + "ĠRoad": 29027, + "Ġadopt": 29028, + "mpp": 29029, + "Ġyö": 29030, + "ilda": 29031, + "rendered": 29032, + "åī²": 29033, + "DAC": 29034, + "Ġ[/": 29035, + "ĠStrings": 29036, + "[]}": 29037, + "Ġdirections": 29038, + "CAD": 29039, + "ilde": 29040, + "Ġ/\\.": 29041, + "Ġalive": 29042, + "okument": 29043, + "Ġsmallest": 29044, + "WEIGHT": 29045, + "Ġtraverse": 29046, + "Ġprevents": 29047, + "fno": 29048, + "segu": 29049, + "ĠCLO": 29050, + "iris": 29051, + "INDIR": 29052, + "ĠStation": 29053, + "FIELDS": 29054, + "avelength": 29055, + "rases": 29056, + "Reaction": 29057, + "veis": 29058, + "Shown": 29059, + "čĊĉĉĉĉčĊĉĉĉ": 29060, + "Scala": 29061, + ",',": 29062, + "Evidence": 29063, + "Ġsect": 29064, + "Ġgid": 29065, + "TestClass": 29066, + "offs": 29067, + "capability": 29068, + "ĠMakefile": 29069, + "Chunks": 29070, + "Ġangles": 29071, + "Inference": 29072, + "ĠisEmpty": 29073, + "indx": 29074, + "NodeList": 29075, + "Intersect": 29076, + "ĠLOW": 29077, + "XMLSchema": 29078, + "COMPARE": 29079, + "Installing": 29080, + "Gpu": 29081, + "scoped": 29082, + "Ġspend": 29083, + "Ġmine": 29084, + "Ġprices": 29085, + "ĠIDS": 29086, + "ĠAdapt": 29087, + "веÑĢ": 29088, + "Ġæ·": 29089, + "Ġsignatures": 29090, + "Animated": 29091, + "Ġìľł": 29092, + "ĠDeepCopy": 29093, + "ĠEnergy": 29094, + "Bond": 29095, + "xn": 29096, + "Produces": 29097, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 29098, + "ĠHW": 29099, + "submenu": 29100, + "Ġpathname": 29101, + "ĠXX": 29102, + "Ġdistribu": 29103, + "Ġassociate": 29104, + "Coroutine": 29105, + "èĩªå·±çļĦ": 29106, + "independent": 29107, + "anj": 29108, + "\";'}": 29109, + "åĪ¥": 29110, + "aborator": 29111, + "ĠSlider": 29112, + "OuterClass": 29113, + "BCD": 29114, + "Ġbaz": 29115, + "Ġdeposit": 29116, + "Ġhog": 29117, + "ĠMichael": 29118, + "Ġram": 29119, + "Ġjako": 29120, + "ĠWenn": 29121, + "æİī": 29122, + "IRC": 29123, + "InternalServerError": 29124, + "å±ı": 29125, + "III": 29126, + "Exactly": 29127, + "tagHelperExecutionContext": 29128, + "GX": 29129, + "uchar": 29130, + "|@": 29131, + "ará": 29132, + "Ġ-": 29273, + "Ġipc": 29274, + "éĺ¶": 29275, + "isson": 29276, + "Ġbere": 29277, + "appear": 29278, + "Ġgrey": 29279, + "Ġgarbage": 29280, + "ĠRank": 29281, + "Ġimporting": 29282, + "Ġ($_": 29283, + "Ġrefs": 29284, + "Hosting": 29285, + "MODEM": 29286, + "Ġcalculations": 29287, + "ãģĹãģ¦ãģıãģłãģķãģĦ": 29288, + "descripcion": 29289, + "mtime": 29290, + "ooled": 29291, + "ãģ¸": 29292, + "ĠInform": 29293, + "Ġcompanion": 29294, + "å°ģ": 29295, + "Assignable": 29296, + "ĠCatch": 29297, + "Ġ[--": 29298, + "Ġalgo": 29299, + "Ġenabling": 29300, + "宽": 29301, + "CONN": 29302, + "CONS": 29303, + "hlsl": 29304, + "Javadoc": 29305, + "Son": 29306, + "wq": 29307, + "Ġfarm": 29308, + "Ġbilling": 29309, + "Ġgdb": 29310, + "ĠiPhone": 29311, + "Ġ\\|": 29312, + "ItemId": 29313, + "OfWork": 29314, + "æŃ£å¸¸": 29315, + "ĠAttributeError": 29316, + "Ġ为": 29317, + "(\"^": 29318, + "Ġnebo": 29319, + "è·¯çͱ": 29320, + "ĠArchitecture": 29321, + "bruary": 29322, + "fdb": 29323, + "Ġbrightness": 29324, + "ĠMor": 29325, + "bugzilla": 29326, + "Ġadvice": 29327, + "deviceId": 29328, + ".'\"": 29329, + "Provides": 29330, + "ScrollPane": 29331, + "ê²°": 29332, + "Ġadipiscing": 29333, + "ĠAmerica": 29334, + "Ġvitae": 29335, + ".]": 29336, + "Gatt": 29337, + "Zh": 29338, + "gY": 29339, + "preferred": 29340, + "andExpect": 29341, + "Ġ|\\": 29342, + "ĠInner": 29343, + "]({{": 29344, + "BaseUrl": 29345, + "Ġtelemetry": 29346, + "Ġarchitect": 29347, + "Battle": 29348, + "Qs": 29349, + "ike": 29350, + "Ġì¡°": 29351, + "Activated": 29352, + "DYNAMIC": 29353, + "ĠGaussian": 29354, + "Hd": 29355, + "meld": 29356, + "elist": 29357, + "uppet": 29358, + "à¸Ĭ": 29359, + "PropertyType": 29360, + "faa": 29361, + "hasht": 29362, + "Ġ'../../../../": 29363, + "Ġê°Ŀì²´": 29364, + "매": 29365, + "楼": 29366, + "âĶģâĶģâĶģâĶģ": 29367, + "#'": 29368, + "aic": 29369, + "')}}>;": 29380, + "Ġcoup": 29381, + "ramid": 29382, + "RUNTIME": 29383, + "ĠBigNumber": 29384, + "PRINTF": 29385, + "ình": 29386, + "Ġvoluptate": 29387, + "PJ": 29388, + "Ġtold": 29389, + "Ġreversed": 29390, + "oline": 29391, + "cec": 29392, + "endian": 29393, + "RenderTarget": 29394, + "Ġhosting": 29395, + "REGEX": 29396, + "Ġcharts": 29397, + "Ġakka": 29398, + "ĠPolygon": 29399, + "ThreadPoolExecutor": 29400, + "/[": 29401, + "later": 29402, + "Ġtunnel": 29403, + "Ġindustry": 29404, + "cored": 29405, + "getList": 29406, + "telemetry": 29407, + "Ġ\\[": 29408, + "fef": 29409, + "Ġassignments": 29410, + "zhihu": 29411, + "Ut": 29412, + "Vl": 29413, + "Ġtier": 29414, + "REM": 29415, + "ArrayOf": 29416, + "DBInstance": 29417, + "}`}": 29418, + "Ġeffectively": 29419, + "ĠEMPTY": 29420, + "rLogUtil": 29421, + "Cron": 29422, + "dab": 29423, + "Ġaé": 29424, + "Ġ\"|": 29425, + "()}}": 29426, + "beit": 29427, + "eef": 29428, + "uchsia": 29429, + "Webpack": 29430, + "ê°ģ": 29431, + "à°®": 29432, + "Factories": 29433, + "symfony": 29434, + "Tf": 29435, + "know": 29436, + "assis": 29437, + "httpClient": 29438, + "ĠLogs": 29439, + "haus": 29440, + "ĠNullable": 29441, + "Ur": 29442, + "ĠPadding": 29443, + "Ġchamp": 29444, + "postal": 29445, + "afb": 29446, + "Ġfinancial": 29447, + "Ġclicks": 29448, + "Dy": 29449, + "Ġ\"))": 29450, + "Ġtopo": 29451, + "ĠPEM": 29452, + "ĠgetState": 29453, + "Particles": 29454, + "Partitions": 29455, + "Included": 29456, + "ĠRelative": 29457, + "uits": 29458, + "unshift": 29459, + "ĠTur": 29460, + "sigs": 29461, + "marketplace": 29462, + "çĽijåIJ¬": 29463, + "'_": 29464, + "Naming": 29465, + "elite": 29466, + "ĠSEQ": 29467, + "emi": 29468, + "ogg": 29469, + "ĠendDate": 29470, + "Intercept": 29471, + "Ġcreature": 29472, + "Ġdebe": 29473, + "ĠsetId": 29474, + "awa": 29475, + "ccd": 29476, + "лÑĮ": 29477, + "ä¸Ńå¿ĥ": 29478, + "ĠPROP": 29479, + "ĠAUTHOR": 29480, + "*$": 29481, + "blo": 29482, + "tho": 29483, + "ĠHP": 29484, + "])),": 29485, + "Ġuso": 29486, + "দ": 29487, + "ĠSubscribe": 29488, + "ĠAttr": 29489, + "currPos": 29490, + "Ġsubstitution": 29491, + "inl": 29492, + "Ġdv": 29493, + "ĠIncrement": 29494, + "ãĥŁ": 29495, + "bookmark": 29496, + "éĢ£": 29497, + "ighbours": 29498, + "ĠArgumentError": 29499, + ">@[+": 29500, + ">@[+][<": 29501, + "Ġcriterion": 29502, + "setContent": 29503, + "Consent": 29504, + "Manip": 29505, + "contexts": 29506, + "packing": 29507, + "operands": 29508, + "ispiel": 29509, + "ĠíĮĮìĿ¼": 29510, + ")!": 29511, + "Paste": 29512, + "\\\"]": 29513, + "gps": 29514, + "įĶ": 29515, + "createText": 29516, + "æķħ": 29517, + "haser": 29518, + "Ġsvn": 29519, + "THRESHOLD": 29520, + "America": 29521, + "EACH": 29522, + "Equipment": 29523, + "bles": 29524, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 29525, + "stret": 29526, + "ĠCop": 29527, + "ĠHy": 29528, + "included": 29529, + "வ": 29530, + "ĠReads": 29531, + "Ġfacet": 29532, + "KSGE": 29533, + "Provided": 29534, + "Mgmt": 29535, + "SCreature": 29536, + "Ay": 29537, + "Ġåıª": 29538, + "uten": 29539, + "cow": 29540, + "ĠLPC": 29541, + "Consum": 29542, + "IsEmpty": 29543, + "EndOf": 29544, + "COLLECTION": 29545, + "Ġacceptable": 29546, + "circular": 29547, + "(.*": 29548, + "BATCH": 29549, + "KY": 29550, + "Ġale": 29551, + "Ġdost": 29552, + "åħ¸": 29553, + "ãģ«ãģ¤ãģĦãģ¦": 29554, + "è¨Ī": 29555, + "Monthly": 29556, + "MACHINE": 29557, + "JPG": 29558, + "ást": 29559, + "centered": 29560, + "URLConnection": 29561, + "Exponent": 29562, + "snake": 29563, + "ĠpÅĻÃŃ": 29564, + "Ġspectrum": 29565, + "unsubscribe": 29566, + "Ġbonus": 29567, + "sher": 29568, + "éd": 29569, + "ĠactionPerformed": 29570, + "å¾Ģ": 29571, + "æĶ»": 29572, + "ulnerability": 29573, + "VisualStyleBackColor": 29574, + "tst": 29575, + "wz": 29576, + "UseVisualStyleBackColor": 29577, + "Ġthemes": 29578, + "dpkg": 29579, + "ĠCTRL": 29580, + "StatusOK": 29581, + "ĠPhysical": 29582, + "Regexp": 29583, + "ĠاÙĦÙħ": 29584, + "Ġglobally": 29585, + "Registers": 29586, + "preference": 29587, + "Ġ{_": 29588, + "UserService": 29589, + "Ġtempfile": 29590, + "建ç«ĭ": 29591, + "ĠзнаÑĩ": 29592, + "wendung": 29593, + "/\")": 29594, + "elems": 29595, + "setSize": 29596, + "Strength": 29597, + "ĠApplications": 29598, + "cellent": 29599, + "RestController": 29600, + ":)": 29601, + "`ï¼Į": 29602, + "dub": 29603, + "orer": 29604, + "Ġtent": 29605, + "Ġnas": 29606, + "Ġuni": 29607, + "ASON": 29608, + "UnknownFields": 29609, + "(+": 29610, + "NZ": 29611, + "ZIP": 29612, + "filt": 29613, + "Ġbn": 29614, + "omic": 29615, + "ToJson": 29616, + "IDLE": 29617, + "cción": 29618, + "Ġdispid": 29619, + "Ġparte": 29620, + "PtrOutput": 29621, + "ç§ģ": 29622, + "å¾Īå¤ļ": 29623, + "vertisement": 29624, + "ĠĠĊĠĠĠĠĠ": 29625, + "elix": 29626, + "Ġprometheus": 29627, + "čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 29628, + "pho": 29629, + "rtf": 29630, + "msgTypes": 29631, + "efb": 29632, + "ĠglGet": 29633, + "masked": 29634, + "inheritance": 29635, + "ĠAssignment": 29636, + "Ġ%>%": 29637, + "congruent": 29638, + "SORT": 29639, + "xk": 29640, + "xFC": 29641, + "ĊĊĠĠĠĠĊĠĠĠ": 29642, + "Ġion": 29643, + "Ġsns": 29644, + "Ġrepe": 29645, + "()',": 29646, + "getInput": 29647, + "setPosition": 29648, + "UserGuide": 29649, + "CharArray": 29650, + "ãĤ¯ãĥ©": 29651, + "æŀĦéĢł": 29652, + "ĠEclipse": 29653, + "atu": 29654, + "Ġdit": 29655, + "ffa": 29656, + "Ġraises": 29657, + "å®ļçļĦ": 29658, + "Ġslash": 29659, + "\"?\",": 29660, + "Ġoil": 29661, + "ĠInline": 29662, + "textures": 29663, + "ии": 29664, + "é¢ľ": 29665, + "=\\\"\"": 29666, + "ĠImmutableList": 29667, + "ONESIA": 29668, + "循çݯ": 29669, + "ZEND": 29670, + "íĭ": 29671, + "utr": 29672, + "Ġsqu": 29673, + "Ġloca": 29674, + "keydown": 29675, + "selectors": 29676, + "genes": 29677, + "fixes": 29678, + "Ġpractices": 29679, + "Yy": 29680, + "csp": 29681, + "Ġnou": 29682, + "Ġ\"=\"": 29683, + "Ġreboot": 29684, + "ĠTax": 29685, + "ĠOm": 29686, + "ĠRec": 29687, + "ACION": 29688, + "AppId": 29689, + "LineNumber": 29690, + "Ġæ¨": 29691, + "Ġcit": 29692, + "ĠÃĸ": 29693, + "ய": 29694, + "syslog": 29695, + "æµıè§Ī": 29696, + "åIJĮæŃ¥": 29697, + "CLOUD": 29698, + "ĠCNWSCreature": 29699, + "suggestion": 29700, + "getPosition": 29701, + "Ġ_(": 29702, + "Ġ>::": 29703, + "ndim": 29704, + "shares": 29705, + "Movies": 29706, + "batches": 29707, + "Ġregistro": 29708, + "categoria": 29709, + "Ġconjunto": 29710, + "Vpn": 29711, + "isfile": 29712, + "andy": 29713, + "ĠPOL": 29714, + "LOWER": 29715, + "elim": 29716, + "eben": 29717, + "DICT": 29718, + "Species": 29719, + "Enterprise": 29720, + "Presence": 29721, + "产åĵģ": 29722, + "ä¸įåIJĮçļĦ": 29723, + "had": 29724, + "rice": 29725, + "Ġbon": 29726, + "trail": 29727, + "Ġtracked": 29728, + "ggler": 29729, + "Ġíķł": 29730, + "ç¼ĸçłģ": 29731, + "nixpkgs": 29732, + "ĠìļĶ": 29733, + "DIPSETTING": 29734, + "inen": 29735, + "icao": 29736, + "Ġfut": 29737, + "Ġrecognize": 29738, + "Ġinflater": 29739, + "parcel": 29740, + "StateMachine": 29741, + "Ġtablet": 29742, + "ĠDataTypes": 29743, + "pubsub": 29744, + "Ġestim": 29745, + "ĠTensorFlow": 29746, + "á»§a": 29747, + "Zn": 29748, + "pis": 29749, + "idata": 29750, + "ĠTTable": 29751, + "ĠArial": 29752, + "ĠMess": 29753, + "ĠFre": 29754, + "llen": 29755, + "ROWS": 29756, + "ĠViewGroup": 29757, + "||||": 29758, + "ĠCaption": 29759, + "KM": 29760, + "reservation": 29761, + "ĠFIR": 29762, + "pluck": 29763, + "OnR": 29764, + "ĠContinu": 29765, + "simulate": 29766, + "Coordinator": 29767, + "ãģ§ãģįãĤĭ": 29768, + "ĠìĦ¤ìłķ": 29769, + "icates": 29770, + "Ġwild": 29771, + "getTitle": 29772, + "************************************************": 29773, + "scaler": 29774, + "Ġclearfix": 29775, + "TRANSFER": 29776, + "ugiat": 29777, + "ognitive": 29778, + "RH": 29779, + "Ġtang": 29780, + "Ġfö": 29781, + "Ġlexer": 29782, + "Unmarshaller": 29783, + "IPV": 29784, + "NOTIFICATION": 29785, + "Ġà¦Ĩ": 29786, + "Ġstandards": 29787, + "Ġgrupo": 29788, + "PEN": 29789, + "zL": 29790, + "ĠĠĠĠĊ": 29791, + "Ġdn": 29792, + "ĠTre": 29793, + "ĠTermin": 29794, + "intensity": 29795, + "Ġjp": 29796, + "ĠXcode": 29797, + "Ġsides": 29798, + "ĠConstructs": 29799, + "âĨ": 29800, + "existent": 29801, + "liz": 29802, + "diagnostic": 29803, + "tsd": 29804, + "denom": 29805, + "Ġlesson": 29806, + "endet": 29807, + "Ġfwd": 29808, + "isOpen": 29809, + "Ġ}}\">{{": 29810, + "Nonce": 29811, + "ĠCreation": 29812, + "amental": 29813, + "Normalized": 29814, + "Packets": 29815, + "Ġirule": 29816, + "åķı": 29817, + "Stdout": 29818, + "eml": 29819, + "temporary": 29820, + "Ġsomewhat": 29821, + "builders": 29822, + "displayProperty": 29823, + "Ġexpressed": 29824, + "masks": 29825, + "Eg": 29826, + "jLabel": 29827, + "ĠLang": 29828, + "liberty": 29829, + "æĺł": 29830, + "Regs": 29831, + "ĠUtilities": 29832, + "Ġseguint": 29833, + "éĺŁåĪĹ": 29834, + "During": 29835, + "gos": 29836, + "wlp": 29837, + "ëĶ": 29838, + "alÄ±ÅŁ": 29839, + "acles": 29840, + "ĠOWNER": 29841, + "subj": 29842, + "ĠParallel": 29843, + "Localization": 29844, + "анд": 29845, + "sheets": 29846, + "Ġattachments": 29847, + "presence": 29848, + "Past": 29849, + "hugo": 29850, + "Ġnm": 29851, + "ĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ": 29852, + "discard": 29853, + "Outbound": 29854, + "ĠÃĹ": 29855, + "))[": 29856, + "ĠListView": 29857, + "Ġrelatively": 29858, + "bootstrapcdn": 29859, + "Ġtimestamps": 29860, + "JQ": 29861, + "rail": 29862, + "Ġfrm": 29863, + "keyed": 29864, + "drawer": 29865, + "Ġvez": 29866, + "ĠиÑģполÑĮзов": 29867, + "Nx": 29868, + "Tm": 29869, + "Vr": 29870, + "efa": 29871, + "oj": 29872, + "enia": 29873, + "vere": 29874, + "Updating": 29875, + "Ġpelo": 29876, + "Ġreporter": 29877, + "ãĤ¤ãĥĪ": 29878, + "Ġframeworks": 29879, + "ĠRecords": 29880, + "çŁŃ": 29881, + "exclusive": 29882, + "arging": 29883, + "ITOR": 29884, + "readString": 29885, + "ĠDOWN": 29886, + "ĠæĬ": 29887, + "Couldn": 29888, + "ĠLearn": 29889, + "`):": 29890, + "unary": 29891, + "getRoot": 29892, + "arten": 29893, + "communication": 29894, + "Ġprove": 29895, + "lineTo": 29896, + "ellido": 29897, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 29898, + "autoload": 29899, + "SendMessage": 29900, + "onError": 29901, + "keit": 29902, + "whitespace": 29903, + "objective": 29904, + "systemd": 29905, + "Ġplayed": 29906, + "phoneNumber": 29907, + "DependencyInjection": 29908, + "dB": 29909, + "give": 29910, + "acts": 29911, + "ĠOwn": 29912, + "antis": 29913, + "Ġatribut": 29914, + "bases": 29915, + "Desired": 29916, + "idxs": 29917, + "BBB": 29918, + ">()((": 29953, + "Ġbattery": 29954, + "ĠIAM": 29955, + "ĠObit": 29956, + "argmax": 29957, + "Ġspread": 29958, + "Ỽi": 29959, + "Ġcaps": 29960, + "Ġ×ij": 29961, + "horizontalLayout": 29962, + "ĠOrigin": 29963, + "Jvm": 29964, + "Ġsaves": 29965, + "ivy": 29966, + "INTEL": 29967, + "Ġ&___": 29968, + "Ġpathlib": 29969, + "withdraw": 29970, + "CellStyle": 29971, + "è¿Ľåħ¥": 29972, + "æ¼Ķ": 29973, + "Maven": 29974, + "Rabbit": 29975, + "Ġhh": 29976, + "UserProfile": 29977, + "UNICODE": 29978, + "][$": 29979, + "Ġparticipants": 29980, + "RLP": 29981, + "ĠâĨ": 29982, + "ĠTeams": 29983, + "è´§": 29984, + "Fecha": 29985, + "ĠImportError": 29986, + "Male": 29987, + "Ġcsr": 29988, + "Ġah": 29989, + "Ġaes": 29990, + "ĠRSA": 29991, + "publicKey": 29992, + "åįĪ": 29993, + "PLL": 29994, + "cvename": 29995, + "Ġwrapping": 29996, + "VARIANT": 29997, + "CZ": 29998, + "Ġmint": 29999, + "tracing": 30000, + "getSystem": 30001, + "Ġforum": 30002, + "erts": 30003, + "ĠWJ": 30004, + "ĠWay": 30005, + "ĠHat": 30006, + "ALWAYS": 30007, + "Mutate": 30008, + "ìĤ°": 30009, + "kas": 30010, + "Ġ{{{": 30011, + "oms": 30012, + "empresa": 30013, + "packets": 30014, + "resourceGroupName": 30015, + "ãĥ¼ãĥIJ": 30016, + "Ġintegral": 30017, + "Ġsimilarity": 30018, + "Little": 30019, + "described": 30020, + "olves": 30021, + "(\"+": 30022, + "commod": 30023, + "čĊčĊĠĠĠĠ": 30024, + "ENA": 30025, + "nota": 30026, + "Ġforeground": 30027, + "ĠãĤ³": 30028, + "ết": 30029, + "#-": 30030, + "TURE": 30031, + "Ġwizard": 30032, + "Research": 30033, + "Ġsubs": 30034, + "ignored": 30035, + "latency": 30036, + "Ġhelm": 30037, + "+\"'": 30038, + "ĠJsonObject": 30039, + "recommends": 30040, + "Ġwifi": 30041, + "Ġhär": 30042, + "ĠPYG": 30043, + "classname": 30044, + "POSIX": 30045, + "expired": 30046, + "FRAG": 30047, + "Ġcmdlet": 30048, + "standalone": 30049, + "åĿIJ": 30050, + "اد": 30051, + "`'": 30052, + "Legal": 30053, + "fontawesome": 30054, + "bindgen": 30055, + "Division": 30056, + "ĠOpcode": 30057, + "æŃ£åľ¨": 30058, + "å®Įåħ¨": 30059, + "Ġembodiments": 30060, + "getLength": 30061, + "protein": 30062, + "imes": 30063, + "DIFF": 30064, + "****************************************": 30065, + "tokenize": 30066, + "ãģ®ãģ§": 30067, + "Aggressive": 30068, + "BITMAP": 30069, + "Ġconsulte": 30070, + "ĠINDONESIA": 30071, + ":+": 30072, + "ëį°": 30073, + "rored": 30074, + "Ġdag": 30075, + "TestCategory": 30076, + "amsung": 30077, + "å¼¹": 30078, + "ĠCRYPT": 30079, + "ê¹Į": 30080, + "Tls": 30081, + "inches": 30082, + "libr": 30083, + "ĠOl": 30084, + "GetItem": 30085, + "Thickness": 30086, + "uintptr": 30087, + "solr": 30088, + "sharepoint": 30089, + "ĠAllows": 30090, + "Correction": 30091, + "Ctor": 30092, + "getRow": 30093, + "->__": 30094, + "ĠDuplicate": 30095, + "Configured": 30096, + "Ġsnprintf": 30097, + "Ġsatisfy": 30098, + "èĥĮ": 30099, + "Amt": 30100, + "bios": 30101, + "ز": 30102, + "ĠPACK": 30103, + "Ġ~(": 30104, + "pkl": 30105, + "Ġод": 30106, + "ĠÑĨ": 30107, + "Ġrooms": 30108, + "Ġck": 30109, + "Ġdice": 30110, + "osgi": 30111, + "čĊčĊĉĉĉĉ": 30112, + "ĠGest": 30113, + "dlg": 30114, + "toolStrip": 30115, + "uração": 30116, + "å½±åĵį": 30117, + "wish": 30118, + "igible": 30119, + "getToken": 30120, + "Ġ_('": 30121, + "soup": 30122, + "Mission": 30123, + "decorate": 30124, + "æŀĦ建": 30125, + "Lot": 30126, + "~/.": 30127, + "getUrl": 30128, + "\\\\/": 30129, + "NOW": 30130, + "è¿Ļæĺ¯": 30131, + "Ġshares": 30132, + "ĠвÑĭп": 30133, + "èij": 30134, + "Ġcá»§a": 30135, + "uned": 30136, + "Ġae": 30137, + "assertion": 30138, + "uesday": 30139, + "Ask": 30140, + "Distributed": 30141, + "ontology": 30142, + "Ñĥнк": 30143, + "Ġullam": 30144, + "$\",": 30145, + "Ju": 30146, + "Oj": 30147, + "aio": 30148, + "bare": 30149, + "Ġexe": 30150, + "åħŃ": 30151, + "DIAN": 30152, + "Ġgoals": 30153, + "voir": 30154, + "Sorting": 30155, + "Ġ\"*\"": 30156, + "WEBPACK": 30157, + "Ascii": 30158, + "=-=-=-=-": 30159, + "BASIC": 30160, + "`**": 30161, + "pipelines": 30162, + "inser": 30163, + "Constr": 30164, + "ĠJack": 30165, + "念": 30166, + "好çļĦ": 30167, + "associate": 30168, + "STANDARD": 30169, + "CWindows": 30170, + "Tess": 30171, + "ÉĻ": 30172, + "ĠCrypt": 30173, + "ĠPour": 30174, + "Colo": 30175, + "æłĩé¢ĺ": 30176, + "Ġë°ı": 30177, + "NIM": 30178, + "lifetime": 30179, + "rte": 30180, + "Ġlng": 30181, + "dba": 30182, + "Ġtransient": 30183, + "bluetooth": 30184, + "ĠSpecification": 30185, + "æŃ£ç¡®": 30186, + "calculator": 30187, + "ählen": 30188, + "EAR": 30189, + "Mx": 30190, + "lsp": 30191, + "Ġnib": 30192, + "ĠPres": 30193, + "letters": 30194, + "Attempts": 30195, + "Ġapparent": 30196, + "BLAS": 30197, + "Ġadjusted": 30198, + "categorical": 30199, + "JNIEnv": 30200, + "TIN": 30201, + "iÅŁ": 30202, + "Ġtodas": 30203, + "Ġstrcpy": 30204, + "umptions": 30205, + "Ġpaid": 30206, + "Ġincreases": 30207, + "Delimiter": 30208, + "tracer": 30209, + "))/": 30210, + "arte": 30211, + "oids": 30212, + "Ġdefs": 30213, + "bero": 30214, + "ĠclientId": 30215, + "'>\";": 30216, + "Networking": 30217, + "AAAAAAAAAAAAAAAA": 30218, + "=:": 30219, + "Msk": 30220, + "ĠBel": 30221, + "buddy": 30222, + "ĠYO": 30223, + "ktor": 30224, + "Ġtau": 30225, + "getopt": 30226, + "Uni": 30227, + "Ġtek": 30228, + "ä¹IJ": 30229, + "Ġconsent": 30230, + "snmp": 30231, + "-----|": 30232, + "ĠAwesome": 30233, + "Ġsituations": 30234, + "ĠPYGLOW": 30235, + "Los": 30236, + "jul": 30237, + "ĠSB": 30238, + "chalk": 30239, + "ĠVo": 30240, + "instant": 30241, + "likes": 30242, + "缺": 30243, + "ãĥĹãĥŃãĤ°ãĥ©": 30244, + ")`.": 30245, + "stre": 30246, + "utz": 30247, + "==>": 30248, + "ĠCtrl": 30249, + "programs": 30250, + "IDC": 30251, + "ç»į": 30252, + "TryGetValue": 30253, + "ĠCapture": 30254, + "/';": 30255, + "Experience": 30256, + "čĊĉĠĠĠĠĠĠĠ": 30257, + "ĠDelegate": 30258, + "BufferException": 30259, + "UPD": 30260, + "WNr": 30261, + "schedul": 30262, + "ĠìłĢ": 30263, + "Pressure": 30264, + "visualization": 30265, + "Ġmultiplier": 30266, + "Ġ'{}'": 30267, + "ĠReferences": 30268, + "Ġìĭ¤íĸī": 30269, + "Eu": 30270, + "getTable": 30271, + "nearest": 30272, + "Ġpreset": 30273, + "mocks": 30274, + "ATURAN": 30275, + "ĠNL": 30276, + "SEVER": 30277, + "ByType": 30278, + "Ġpragma": 30279, + "encias": 30280, + "ĠResolver": 30281, + "Builders": 30282, + "Expiry": 30283, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠčĊĠĠĠĠĠĠĠĠĠĠĠ": 30284, + "票": 30285, + "dobe": 30286, + "veyor": 30287, + "aturday": 30288, + "иÑĩеÑģ": 30289, + "Ġresolves": 30290, + "ĠæŁ¥è¯¢": 30291, + "ĠMULTI": 30292, + "ŀĺìĬ¤": 30293, + "nails": 30294, + "getTotal": 30295, + "ĠNAT": 30296, + "Ġkick": 30297, + "ĠresourceCulture": 30298, + "finance": 30299, + "ãĥ¼ãĥł": 30300, + "\"=>$": 30301, + "haustive": 30302, + "Ġfired": 30303, + "Ġfingerprint": 30304, + "isch": 30305, + "Ġpsi": 30306, + "ĠTAB": 30307, + "ogene": 30308, + "NewValue": 30309, + "Ġderive": 30310, + "Ġhands": 30311, + "ĠChangelog": 30312, + "CompilerServices": 30313, + "Ys": 30314, + "ese": 30315, + "mentions": 30316, + "EXCL": 30317, + "ikipedia": 30318, + "ScrollView": 30319, + "åħ¨éĥ¨": 30320, + "Dup": 30321, + "IList": 30322, + "fad": 30323, + "gio": 30324, + "ĠBoost": 30325, + "Ġalla": 30326, + "bye": 30327, + "Ġhaszn": 30328, + "ĠArtifact": 30329, + "claims": 30330, + "EXPECTED": 30331, + "Her": 30332, + "Iam": 30333, + "KW": 30334, + "Kin": 30335, + "Pc": 30336, + "už": 30337, + "Ġcad": 30338, + "riction": 30339, + "getF": 30340, + "Ġproces": 30341, + "Exercise": 30342, + "defin": 30343, + "Combined": 30344, + "CONV": 30345, + "steam": 30346, + "ç©¶": 30347, + "nixos": 30348, + "èĻļ": 30349, + "OPERATOR": 30350, + "ç§»åĬ¨": 30351, + "Ġinterpreted": 30352, + "speak": 30353, + "ĠPD": 30354, + "Ġunchanged": 30355, + "Ġdok": 30356, + "Ġencaps": 30357, + "âĶĢâĶ": 30358, + "ìļ´": 30359, + "nvim": 30360, + "åºĶç͍ç¨ĭåºı": 30361, + "Bib": 30362, + "bbe": 30363, + "facing": 30364, + "ĠIG": 30365, + "basePath": 30366, + "Entropy": 30367, + "Ġaccessibility": 30368, + "porcion": 30369, + "technet": 30370, + "Ġcontracts": 30371, + "Jv": 30372, + "TEX": 30373, + "ĠPV": 30374, + "ĊĠĠĊĊĠĠ": 30375, + "Ġleak": 30376, + "preprocessor": 30377, + "rence": 30378, + "editing": 30379, + "Ġviene": 30380, + "ĠbaÅŁ": 30381, + "ĠÑįÑĤо": 30382, + "ĠAutomation": 30383, + "Ġrecursively": 30384, + "PAS": 30385, + "bak": 30386, + "torrent": 30387, + "Ġ################################": 30388, + "Ġ=========": 30389, + "errHandler": 30390, + "PROM": 30391, + "sday": 30392, + "Ġalloca": 30393, + "datacatalog": 30394, + "Ġannotated": 30395, + "Ġfclose": 30396, + "ĠTex": 30397, + "ĠMaint": 30398, + "ĊĉĉĉĉĊĉĉ": 30399, + "IntegerField": 30400, + "DisplayMode": 30401, + "ãĤ¹ãĥĨ": 30402, + "HTTPS": 30403, + "ãģĬãĤĪ": 30404, + "Vb": 30405, + "meeting": 30406, + "Ġreconnect": 30407, + "Ġkit": 30408, + "Beam": 30409, + "IsSet": 30410, + "modifiable": 30411, + "tagged": 30412, + "ĠStyleSheet": 30413, + "Ġmáqu": 30414, + "Dynamics": 30415, + "bcf": 30416, + "pz": 30417, + "ental": 30418, + "Ġbson": 30419, + "ĠMotion": 30420, + "Ġtrick": 30421, + "ĠJune": 30422, + "rounding": 30423, + "ĠapiKey": 30424, + "ĠNotImplementedException": 30425, + "TID": 30426, + "battle": 30427, + "ssize": 30428, + "Ġlabeled": 30429, + "ĠMot": 30430, + "provisioning": 30431, + "BoxLayout": 30432, + "ĠTasks": 30433, + "Ġindirect": 30434, + ">'+": 30435, + "Malloc": 30436, + "bil": 30437, + "gad": 30438, + "|---|---|": 30439, + "Ġ大": 30440, + "Ġcerr": 30441, + "esium": 30442, + "imity": 30443, + "Ġconex": 30444, + "ĠEmp": 30445, + "SECURITY": 30446, + "itchen": 30447, + "Ġemitter": 30448, + "ĠOpConst": 30449, + "Cg": 30450, + "ĠSTE": 30451, + "ĠSouth": 30452, + "aaS": 30453, + "\"&": 30454, + "Squared": 30455, + "WID": 30456, + "áŁ": 30457, + "atlassian": 30458, + "Ġgar": 30459, + "ĠFIN": 30460, + "ERIC": 30461, + "ĠWC": 30462, + "StringTo": 30463, + "AccessControl": 30464, + "ĠKeyword": 30465, + "AccessorImpl": 30466, + "ĠHEADER": 30467, + "ĠApril": 30468, + "IMPORTED": 30469, + "HttpServletResponse": 30470, + "Cooldown": 30471, + "ĠQuality": 30472, + "CENT": 30473, + "Ker": 30474, + "ĠCPP": 30475, + "Ġmodo": 30476, + "primer": 30477, + "IRA": 30478, + "Ill": 30479, + "frozen": 30480, + "Ġluck": 30481, + "']]],": 30482, + "à¦ĩ": 30483, + "ç¦ģ": 30484, + "papers": 30485, + "Ġfight": 30486, + "Ġeco": 30487, + "ĠEduc": 30488, + "TRAIN": 30489, + "serverless": 30490, + "Ġë¦": 30491, + "SOCK": 30492, + "Ġ))}": 30493, + "íĥľ": 30494, + "acobian": 30495, + "LBL": 30496, + "WAL": 30497, + "`}": 30498, + "atm": 30499, + "Smooth": 30500, + "Uk": 30501, + "glo": 30502, + "Ġsut": 30503, + "Stores": 30504, + "ĠPermissions": 30505, + "Ġæ¯": 30506, + "ĠPaul": 30507, + "Evt": 30508, + "Fre": 30509, + "fbb": 30510, + "kick": 30511, + "inant": 30512, + "ssid": 30513, + "Ġdock": 30514, + "ном": 30515, + "Ġadres": 30516, + "MappingURL": 30517, + "probability": 30518, + "Ġopposite": 30519, + "lichen": 30520, + "THEME": 30521, + "ĠMODULE": 30522, + "ãģĬãĤĪãģ³": 30523, + "Ym": 30524, + "apanese": 30525, + "Ġconform": 30526, + "иÑĢов": 30527, + "본": 30528, + "isSet": 30529, + "appointment": 30530, + "BlockState": 30531, + "Prec": 30532, + "better": 30533, + "Soldier": 30534, + "Ġforth": 30535, + "Ġeget": 30536, + "ĠVPN": 30537, + "nodeName": 30538, + "áf": 30539, + "HOUR": 30540, + "mutations": 30541, + "cruit": 30542, + "airo": 30543, + "Ġbrackets": 30544, + "Materials": 30545, + "ĠMTLK": 30546, + "Href": 30547, + "NAN": 30548, + "vul": 30549, + "deletion": 30550, + "icios": 30551, + "ĠTrip": 30552, + "ĠWA": 30553, + "(\">": 30554, + "BKSGE": 30555, + "obody": 30556, + "notices": 30557, + "manufacturer": 30558, + "coroutines": 30559, + "à°ķ": 30560, + "Ġinvestigate": 30561, + "Ao": 30562, + "CER": 30563, + "Ġgere": 30564, + "Ġmeter": 30565, + "ĠclObject": 30566, + "fbpfcp": 30567, + "Privilege": 30568, + "Ġë¶Ħ": 30569, + "Ġperfectly": 30570, + "Ġfichier": 30571, + "Ġsensors": 30572, + "Ġzh": 30573, + "Algorithms": 30574, + "StatusBar": 30575, + "Txn": 30576, + "LDAP": 30577, + "patched": 30578, + "implements": 30579, + "Ġfacilit": 30580, + "Tbl": 30581, + "bcb": 30582, + "xdoc": 30583, + "Ġnem": 30584, + "()+\"": 30585, + "ĠEarth": 30586, + "Dept": 30587, + "rche": 30588, + "firstChild": 30589, + "mathcal": 30590, + "Ġvoltage": 30591, + "PoolSize": 30592, + "/#/": 30593, + "deferred": 30594, + "extractor": 30595, + "Ġfits": 30596, + "Ġ\"=": 30597, + "Ġreplaces": 30598, + "Ġ*********": 30599, + "Ġincompatible": 30600, + "Ġduplicated": 30601, + "modeling": 30602, + "ĠStri": 30603, + "webapp": 30604, + "CommandBuffer": 30605, + "tmpdir": 30606, + "ĠFluent": 30607, + "Installer": 30608, + "QtCore": 30609, + "Ġìĸ´ë": 30610, + "uing": 30611, + "setIcon": 30612, + "ĠZoom": 30613, + "sessionId": 30614, + "Ġfuncion": 30615, + "ìłģìľ¼ë¡ľ": 30616, + "Fu": 30617, + "Jack": 30618, + "fuse": 30619, + "enst": 30620, + "Ġpulse": 30621, + "Ġsono": 30622, + "uniq": 30623, + "igma": 30624, + "PayOrder": 30625, + "balancer": 30626, + "Ġretrieving": 30627, + "аÑĨии": 30628, + "PLIER": 30629, + "Vp": 30630, + "]}\"": 30631, + "jz": 30632, + "Ġreactor": 30633, + "acf": 30634, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 30635, + "Ġtextarea": 30636, + "Retries": 30637, + "Mailbox": 30638, + "ĠExpand": 30639, + "ãĤ³ãĥ¼ãĥī": 30640, + "Ġtreatment": 30641, + "æıĴåħ¥": 30642, + "Bk": 30643, + "DZ": 30644, + "RATION": 30645, + "ĠprojectId": 30646, + "Ġconsumed": 30647, + "Includes": 30648, + "pictureBox": 30649, + "ĠGradle": 30650, + "ĠcomponentDidMount": 30651, + "pData": 30652, + "ĠAvoid": 30653, + "Uploader": 30654, + "lpVtbl": 30655, + "ApiResponse": 30656, + "Sqrt": 30657, + "Mol": 30658, + "Va": 30659, + "oprot": 30660, + "neer": 30661, + "MessageEnd": 30662, + "Disposition": 30663, + "Ġscanning": 30664, + "Ġqw": 30665, + "Ġgrp": 30666, + "ĠchartInstance": 30667, + "Ġза": 30668, + "mvn": 30669, + "ĠHardware": 30670, + "JPEG": 30671, + "Rb": 30672, + "Sen": 30673, + "Ġdanych": 30674, + "ptest": 30675, + "ĠFit": 30676, + "ertia": 30677, + "ĠUnt": 30678, + "Ġ%\">": 30785, + "ĠNeural": 30786, + "çͱäºİ": 30787, + "registers": 30788, + "Ġaffects": 30789, + "GYRO": 30790, + "ä¼ģä¸ļ": 30791, + "ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 30792, + "ĠABI": 30793, + "Ġelevation": 30794, + "Ġanalyzer": 30795, + "ĠstyleUrls": 30796, + "Datetime": 30797, + "OLA": 30798, + "Ġoverwritten": 30799, + "PREV": 30800, + "ĠManifest": 30801, + "LDFLAGS": 30802, + "Ġseeds": 30803, + "tickets": 30804, + ".*/": 30805, + "Poker": 30806, + "[](": 30807, + "dit": 30808, + "dial": 30809, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 30810, + "Ġdal": 30811, + "ĠPt": 30812, + "Ġlac": 30813, + "STA": 30814, + "STO": 30815, + "empt": 30816, + "MessageHandler": 30817, + "lene": 30818, + "ambur": 30819, + "entrypoint": 30820, + "zza": 30821, + "ĠInitializeComponent": 30822, + "Elasticsearch": 30823, + "Ġopportunity": 30824, + "è®Ńç»ĥ": 30825, + "Because": 30826, + "Skeleton": 30827, + "tub": 30828, + "--\">": 30829, + "heit": 30830, + "ู": 30831, + "rune": 30832, + "handleChange": 30833, + "Skills": 30834, + "PROPERTIES": 30835, + "Ġconcise": 30836, + "Ġëĭ¤ìĿĮ": 30837, + "Ġextremely": 30838, + "literals": 30839, + "morph": 30840, + "isDirectory": 30841, + "apy": 30842, + "ĠDense": 30843, + "formData": 30844, + "ctxt": 30845, + "Ġcalibration": 30846, + "Ġplayback": 30847, + "TryParse": 30848, + "è¯Ńåı¥": 30849, + "enarios": 30850, + "omics": 30851, + "ListBox": 30852, + "mapapi": 30853, + "课": 30854, + "æĽ´å¤ļ": 30855, + "GraphicsUnit": 30856, + "Ġconstructors": 30857, + "tidy": 30858, + "Say": 30859, + "Ġpued": 30860, + "asma": 30861, + "ĠTell": 30862, + "Ġlives": 30863, + "ffero": 30864, + "...')": 30865, + "Heat": 30866, + "Ġflutter": 30867, + ">\\(\\": 30868, + "Ġtechnologies": 30869, + "YWdl": 30870, + "Ġà¦ķর": 30871, + "amping": 30872, + "caffe": 30873, + "Ġchecklist": 30874, + "formatting": 30875, + "ç»Ŀ": 30876, + "Ġteacher": 30877, + "é¡¶": 30878, + "Ġtips": 30879, + "Ġeigen": 30880, + "éĢļ常": 30881, + "缮åīį": 30882, + "åĨĻåħ¥": 30883, + "Ġbenefits": 30884, + "Ġaspects": 30885, + "Bay": 30886, + "Ss": 30887, + "gus": 30888, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 30889, + "ĠÙĦ": 30890, + "Ġfilt": 30891, + "нÑı": 30892, + "Rooms": 30893, + "NONNULL": 30894, + "Ġexpert": 30895, + "dds": 30896, + "Ġaddon": 30897, + "forest": 30898, + "ĊĉĉĉĉĉĉĊĉĉĉĉĉ": 30899, + "confidence": 30900, + "screenshots": 30901, + "Ġsqlalchemy": 30902, + "TRANSACTION": 30903, + "第ä¸Ģ个": 30904, + "é¢ľèī²": 30905, + "Uz": 30906, + "Ġnpc": 30907, + "endTime": 30908, + "Unhandled": 30909, + "={<": 30910, + "ĠsourceMappingURL": 30911, + "Temporal": 30912, + "Ġвоз": 30913, + "Ġdirectives": 30914, + "ĠWorks": 30915, + "DISABLED": 30916, + "Fg": 30917, + "Ġeta": 30918, + "colon": 30919, + "áln": 30920, + "ãģ¨ãģĹãģ¦": 30921, + "SyntaxKind": 30922, + "Ġcounters": 30923, + "MAGIC": 30924, + "ĠexecutorService": 30925, + "fpga": 30926, + "ĠSca": 30927, + "ĠjSON": 30928, + "\")(": 30929, + "ForEach": 30930, + "éĢĻ": 30931, + "èµ°": 30932, + "iliation": 30933, + "ãĥªãĥĨãĤ£": 30934, + "Insights": 30935, + "ĠFeedback": 30936, + "ingredients": 30937, + "Ġ(::": 30938, + "uploaded": 30939, + "ĠWest": 30940, + "eci": 30941, + "ROL": 30942, + "currentPage": 30943, + "lescope": 30944, + "Ġselectors": 30945, + "FDRE": 30946, + "Estimate": 30947, + "å͝": 30948, + "leccione": 30949, + "MGL": 30950, + "]](": 30951, + "Ġ{*}": 30952, + "Inet": 30953, + "MessageState": 30954, + "cshtml": 30955, + "Fluent": 30956, + "ĠREPUB": 30957, + "ĠPROPER": 30958, + "vkCmd": 30959, + "Ft": 30960, + "eer": 30961, + "fW": 30962, + "ablish": 30963, + "ĠWelcome": 30964, + "FromText": 30965, + "æĹ¢": 30966, + "ĠSomething": 30967, + "Ġë°°": 30968, + "TOPp": 30969, + "Deriv": 30970, + "ilover": 30971, + "Ġinstantiated": 30972, + "KD": 30973, + "Ġhip": 30974, + "ĠMF": 30975, + "Stderr": 30976, + "ĠEH": 30977, + "Ġasn": 30978, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠ": 30979, + "ĠChapter": 30980, + "AndSet": 30981, + "StructEnd": 30982, + "Ġر": 30983, + "Tips": 30984, + "åĵĪ": 30985, + "볤": 30986, + "····": 30987, + "Cov": 30988, + "ECD": 30989, + "inplace": 30990, + "\\\\\\\"": 30991, + "svp": 30992, + "ĠìĿĺ": 30993, + "]\\:": 30994, + "ãĤ»ãĤ¹": 30995, + "Relationships": 30996, + "Ġrenders": 30997, + "Scopes": 30998, + "nia": 30999, + "unlikely": 31000, + "Ġ'..": 31001, + "ĠSlice": 31002, + "Ġhd": 31003, + "acted": 31004, + "ĠReactive": 31005, + "Ġcrear": 31006, + "HttpMethod": 31007, + "ProtocolBufferException": 31008, + "Difficulty": 31009, + "Ġtrend": 31010, + "ĠREPUBLIK": 31011, + "<()>": 31012, + "ville": 31013, + "Ġthous": 31014, + "chdir": 31015, + "letions": 31016, + "æĪª": 31017, + "---------|": 31018, + "ĠбÑĥд": 31019, + "ĠLimited": 31020, + "ĠвÑģе": 31021, + "deleg": 31022, + "Ġstaging": 31023, + "Ġhan": 31024, + "INO": 31025, + "/////": 31026, + "Ġexpiry": 31027, + "åij¢": 31028, + "platforms": 31029, + "éĻIJåζ": 31030, + "DAG": 31031, + "God": 31032, + "urons": 31033, + "ĠACE": 31034, + "ĠAffero": 31035, + "ffb": 31036, + "ĠStill": 31037, + "NewGuid": 31038, + "retries": 31039, + "RESOL": 31040, + "Terminate": 31041, + "CRL": 31042, + "Fan": 31043, + "JX": 31044, + "Mv": 31045, + "Mas": 31046, + "hue": 31047, + "nbr": 31048, + "Ġé»ĺ认": 31049, + "getHeader": 31050, + "ĠCredit": 31051, + "Ġ$<": 31052, + "Ġofs": 31053, + "ĠMATCH": 31054, + "ĠLV": 31055, + "Aggregator": 31056, + "Overlap": 31057, + "微信": 31058, + ";(": 31059, + "dice": 31060, + "ĠčĊĠĠĠĠĠ": 31061, + "Ġæķ°æį®": 31062, + "Ġ\"(\"": 31063, + "idue": 31064, + "Ġinvalidate": 31065, + "setIs": 31066, + "Ġintel": 31067, + "StringLen": 31068, + "Ġelt": 31069, + "SECT": 31070, + "weise": 31071, + "jobform": 31072, + "Ġsmithy": 31073, + "Ġitertools": 31074, + "StructBegin": 31075, + "Ġíı¬": 31076, + "clojure": 31077, + "IZER": 31078, + "basics": 31079, + "uncement": 31080, + "TOOLS": 31081, + "DNA": 31082, + "Tar": 31083, + "_\",": 31084, + "mso": 31085, + "ĠТ": 31086, + "Opaque": 31087, + "HasValue": 31088, + "ursal": 31089, + "Packed": 31090, + "åł´åIJĪãģ¯": 31091, + "ược": 31092, + "@$(": 31093, + "isolate": 31094, + "uristic": 31095, + "ĠNom": 31096, + "outlined": 31097, + "Ġencontr": 31098, + "checklist": 31099, + "FACTOR": 31100, + "iana": 31101, + "Mismatch": 31102, + "predicted": 31103, + "contributing": 31104, + "Ġdemonstrate": 31105, + "ĠEvaluate": 31106, + "Ġfairly": 31107, + "Iz": 31108, + "universal": 31109, + "gran": 31110, + "Ġpré": 31111, + "groupBy": 31112, + "datap": 31113, + "ப": 31114, + "Ġhandshake": 31115, + "ĠPoints": 31116, + "Ġdots": 31117, + "agemaker": 31118, + "ãĥķãĤ©": 31119, + "Ġåıij": 31120, + "Ġpok": 31121, + "Ġrelay": 31122, + "Ġrevisions": 31123, + "ĠTs": 31124, + "ĠMON": 31125, + "osable": 31126, + "ĊĠĠĊ": 31127, + "goe": 31128, + "ÑĭÑħ": 31129, + "Ġskippy": 31130, + "aea": 31131, + "ĠUNPROVIDED": 31132, + "å¤įæĿĤ": 31133, + "cancellationToken": 31134, + "ĠsetContentView": 31135, + "Shar": 31136, + "MOUSE": 31137, + "ĠDescri": 31138, + "\"],\"": 31139, + "ìłĢ": 31140, + "DATETIME": 31141, + "PLE": 31142, + "Ġwchar": 31143, + "champ": 31144, + "updater": 31145, + "ulty": 31146, + "been": 31147, + "RequestBuilder": 31148, + "Ġ**`": 31149, + "â̝": 31150, + "primitives": 31151, + "cdk": 31152, + "ĠAssertions": 31153, + "bigint": 31154, + "Ġvarying": 31155, + "avings": 31156, + "rapid": 31157, + "ISC": 31158, + "DatePicker": 31159, + "triple": 31160, + "Ġfeet": 31161, + "Cascade": 31162, + "RID": 31163, + "ĠÅ¡": 31164, + "inement": 31165, + "ifd": 31166, + "Ġ'{\"": 31167, + "ĠPure": 31168, + "ftext": 31169, + "Ġlocator": 31170, + "hibit": 31171, + "ĠDebian": 31172, + "apimachinery": 31173, + "LG": 31174, + "mrm": 31175, + "arith": 31176, + "Ġdial": 31177, + "amqp": 31178, + "ĠnewState": 31179, + "ĠWE": 31180, + "they": 31181, + "cyan": 31182, + "rmi": 31183, + "Supports": 31184, + "Slack": 31185, + "åį³åı¯": 31186, + "Different": 31187, + "Ej": 31188, + "MZ": 31189, + "pump": 31190, + "ursday": 31191, + "//------------------------------------------------": 31192, + "trainer": 31193, + "\">//": 31194, + "spread": 31195, + "assertNot": 31196, + "='%": 31197, + "ICATE": 31198, + "Ġ/>;": 31199, + "ĠoldValue": 31200, + "ChangedEventArgs": 31201, + "munications": 31202, + "fine": 31203, + "tte": 31204, + "nova": 31205, + "ĠRequestMethod": 31206, + "Ġinvite": 31207, + "åŃĹèĬĤ": 31208, + "Ġ×Ķ": 31209, + "BASEPATH": 31210, + "ãĤ¸ãĤ§": 31211, + "Euler": 31212, + "Hum": 31213, + "yal": 31214, + "ļ¨": 31215, + "Ġ:(": 31216, + "Ġassembler": 31217, + "Helvetica": 31218, + "Iterations": 31219, + "ĠLoss": 31220, + "Volumes": 31221, + "æ¡Ĩæŀ¶": 31222, + "\\@": 31223, + "gstatic": 31224, + "Ġwm": 31225, + "Ġserious": 31226, + "writeInt": 31227, + "boarding": 31228, + "каз": 31229, + "ĠâĩĴ": 31230, + "quidity": 31231, + "SEQUENCE": 31232, + "Cc": 31233, + "Yz": 31234, + "mContext": 31235, + "δ": 31236, + "peers": 31237, + "outside": 31238, + "ип": 31239, + "Algo": 31240, + "GRID": 31241, + "recorder": 31242, + "à°²": 31243, + "pods": 31244, + "Ġ:-)": 31245, + "cde": 31246, + "icl": 31247, + "Ġ'').": 31248, + "ListResponse": 31249, + "nego": 31250, + "ificial": 31251, + "Ġqueues": 31252, + "Ġescaped": 31253, + "DIRS": 31254, + "ĠPhysics": 31255, + "Ġcovers": 31256, + "Yellow": 31257, + "{#": 31258, + "isVisible": 31259, + "ĠTI": 31260, + "occup": 31261, + "ĠRoman": 31262, + "theory": 31263, + "NSObject": 31264, + ")}>": 31265, + "Maintenance": 31266, + "/\"+": 31267, + "Van": 31268, + "getAddress": 31269, + "Ġanal": 31270, + "psr": 31271, + "Adventure": 31272, + "Ġformer": 31273, + "Ġredundant": 31274, + "滤": 31275, + "getElementsByClassName": 31276, + "maintenance": 31277, + "Ġserviço": 31278, + "TQ": 31279, + "Wd": 31280, + "msgid": 31281, + "Coupon": 31282, + "Ġexistence": 31283, + "ĠWeak": 31284, + "NEAR": 31285, + "Ġconsidering": 31286, + "cdecl": 31287, + "dav": 31288, + "assessment": 31289, + "ĠCAL": 31290, + "indo": 31291, + "ĠWave": 31292, + "($\"{": 31293, + "Loan": 31294, + "Places": 31295, + "annotate": 31296, + "ëĭ¨": 31297, + "RDD": 31298, + "ĠåıĤæķ°": 31299, + "ĽĦ": 31300, + "acd": 31301, + "getTransaction": 31302, + "Ġlights": 31303, + "ESH": 31304, + "ItemSelected": 31305, + "nings": 31306, + "Obs": 31307, + "Ġ'\\''": 31308, + "Ġgenes": 31309, + "Ġprivileges": 31310, + "SCOPES": 31311, + "导èĩ´": 31312, + "Later": 31313, + "Ġ());": 31314, + "ĠSEXP": 31315, + "affected": 31316, + "audience": 31317, + "sempio": 31318, + "ioutil": 31319, + "tic": 31320, + "xh": 31321, + "Ġitalic": 31322, + "Ġjmp": 31323, + "($('#": 31324, + "GetInt": 31325, + "Ġobter": 31326, + "OSX": 31327, + "insertBefore": 31328, + "ĠÑĪ": 31329, + "delivr": 31330, + "GMT": 31331, + "LING": 31332, + "Sf": 31333, + "Ġcul": 31334, + "ingroup": 31335, + "quark": 31336, + "brtc": 31337, + "KeyPair": 31338, + "showMessage": 31339, + "дел": 31340, + "EMB": 31341, + "Rt": 31342, + "Ġmont": 31343, + "indigo": 31344, + "solut": 31345, + "Authenticator": 31346, + "mcps": 31347, + "WireFormat": 31348, + "concile": 31349, + "èĦļæľ¬": 31350, + "Ġ](": 31351, + "Ġfps": 31352, + "ĠSa": 31353, + "ĠPWM": 31354, + "cao": 31355, + "LIKE": 31356, + "Flux": 31357, + "Ġopenssl": 31358, + "......": 31359, + "Ignored": 31360, + "Consensus": 31361, + "autor": 31362, + "isations": 31363, + "otypes": 31364, + "Ġusable": 31365, + "Ġpoor": 31366, + "SIZ": 31367, + "aproxy": 31368, + "Demand": 31369, + "Race": 31370, + "bir": 31371, + "Ġĉĉĉĉ": 31372, + "Ġtrunc": 31373, + "Ġcomparing": 31374, + "CONDITION": 31375, + "Ġgrace": 31376, + "Ġdealing": 31377, + "ĠSimulation": 31378, + "ACHED": 31379, + "robots": 31380, + "hxx": 31381, + "ű": 31382, + "itulo": 31383, + "Ġthickness": 31384, + "Composer": 31385, + "ĠVehicle": 31386, + "BLOB": 31387, + "BOLD": 31388, + "HORIZONTAL": 31389, + "Simp": 31390, + "Zones": 31391, + "fdd": 31392, + "ĺIJ": 31393, + "ĠPipe": 31394, + "FileSize": 31395, + "Ġlim": 31396, + "Ġportfolio": 31397, + "Ġemitted": 31398, + "ë©°": 31399, + "åİŁåĽł": 31400, + "################################################################################": 31401, + "prefetch": 31402, + "!]": 31403, + "lun": 31404, + "Ġdeletes": 31405, + "ĠIh": 31406, + "debugging": 31407, + "mazing": 31408, + "hus": 31409, + "Ġcette": 31410, + "ĠOpenSSL": 31411, + "ème": 31412, + "Ġresponsibility": 31413, + "çĨ": 31414, + "respon": 31415, + "Ġstages": 31416, + "==(": 31417, + "ĠFLOAT": 31418, + "Enqueue": 31419, + "Least": 31420, + "UseCase": 31421, + "Ġæĭ": 31422, + "protocols": 31423, + "galax": 31424, + "/$(": 31425, + "Dp": 31426, + "atts": 31427, + "Ġ$('<": 31428, + "setHeader": 31429, + "ĠDAN": 31430, + "ĠonClose": 31431, + "ĠUSING": 31432, + "executeQuery": 31433, + "ç»Łè®¡": 31434, + "ĠSemantic": 31435, + "Ġmemoized": 31436, + "ĠGENERATED": 31437, + "Sandia": 31438, + "]\">&": 31439, + "Ġequip": 31440, + "ĠNorm": 31441, + ").(": 31442, + "------------------": 31443, + "Asia": 31444, + "[:]": 31445, + "bbc": 31446, + "ADDRLP": 31447, + "Identification": 31448, + "Ġdelivered": 31449, + "ĠFORMAT": 31450, + "qv": 31451, + "ĉĊĉĉ": 31452, + "olist": 31453, + "Ġequipment": 31454, + "Ġworkload": 31455, + "holds": 31456, + "ĠOctober": 31457, + "ĠCleanup": 31458, + "Ky": 31459, + "Tiny": 31460, + "roto": 31461, + "ĠNIL": 31462, + "TypeList": 31463, + "LEEP": 31464, + "phil": 31465, + "Ġdefaultdict": 31466, + "ĠXamarin": 31467, + "navList": 31468, + "emptyList": 31469, + "incident": 31470, + "ãģķãĤĮãģ¦ãģĦãĤĭ": 31471, + "charCodeAt": 31472, + "Bn": 31473, + "rations": 31474, + "yen": 31475, + "âĿ": 31476, + "Ġniveau": 31477, + "Ġ${{": 31478, + "ecb": 31479, + "jsdelivr": 31480, + "Ġmainly": 31481, + "precio": 31482, + "Submitted": 31483, + "Ġsafely": 31484, + "Stripe": 31485, + "Nor": 31486, + "stu": 31487, + "produk": 31488, + "]){": 31489, + "Ġìµľ": 31490, + "ĠhttpClient": 31491, + "SCALL": 31492, + "å¾ģ": 31493, + "ĠResultSet": 31494, + "splits": 31495, + "ä»ĭç»į": 31496, + "IRTUAL": 31497, + "ĠJAXBElement": 31498, + "hlslpp": 31499, + "ĠND": 31500, + "rappe": 31501, + "SIMD": 31502, + "Pract": 31503, + "expiry": 31504, + "cademic": 31505, + "详ç»Ĩ": 31506, + "Cancellation": 31507, + "RQ": 31508, + "ĠĠĠĊĠĠĠĠĠĠĠ": 31509, + "()['": 31510, + "ĠBeta": 31511, + "Withdraw": 31512, + "MethodInfo": 31513, + "ä¸Ģèĩ´": 31514, + "Ordering": 31515, + "InvalidProtocolBufferException": 31516, + "IRON": 31517, + "åħ³äºİ": 31518, + "ÙĪØ±": 31519, + "Ġverwendet": 31520, + "KIND": 31521, + "Wb": 31522, + "dsc": 31523, + "Ġbatches": 31524, + "=\");": 31525, + "ĠSquare": 31526, + "Ġexposing": 31527, + "HELP": 31528, + "Subset": 31529, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĉ": 31530, + "Specify": 31531, + "bond": 31532, + "Ġalerts": 31533, + "å¼ĢåIJ¯": 31534, + "alamat": 31535, + "Concatenation": 31536, + "Ġëĵ±": 31537, + "確èªį": 31538, + "Cad": 31539, + "xFD": 31540, + "lover": 31541, + "INITY": 31542, + "Ġbreakpoint": 31543, + "devops": 31544, + "ä¹°": 31545, + "æĸ¹æ¡Ī": 31546, + "Feel": 31547, + "Ġcircum": 31548, + "ạn": 31549, + "vcf": 31550, + "xu": 31551, + "{\",": 31552, + "unicip": 31553, + "Ġenctype": 31554, + "bbbb": 31555, + "Dims": 31556, + "MouseDown": 31557, + "ĠSYSTEM": 31558, + "Cyc": 31559, + "Europe": 31560, + "Lights": 31561, + "cmap": 31562, + "acci": 31563, + "ĠFHIR": 31564, + "profit": 31565, + "gravity": 31566, + "Ġenjoy": 31567, + "ABS": 31568, + "BOUN": 31569, + "director": 31570, + "ĠMacro": 31571, + "оÑģл": 31572, + "è»": 31573, + "ĠGREEN": 31574, + "Seleccion": 31575, + "({})": 31576, + "ibles": 31577, + "ALLY": 31578, + "Globalization": 31579, + "ĠManage": 31580, + "Confirmed": 31581, + "Ġcapable": 31582, + "Ġidentifying": 31583, + "LH": 31584, + "kont": 31585, + "zlib": 31586, + "ĠGM": 31587, + "ĠGive": 31588, + "anten": 31589, + "CHILD": 31590, + "Ġissuer": 31591, + "Creature": 31592, + "Monster": 31593, + "ĠHelvetica": 31594, + "jacency": 31595, + "Bob": 31596, + "Miss": 31597, + "Moment": 31598, + "Risk": 31599, + "Ġż": 31600, + "Ġmó": 31601, + "ĠCe": 31602, + "textwidth": 31603, + "Adam": 31604, + "Ġedition": 31605, + "Animations": 31606, + "ĠFeel": 31607, + "similarity": 31608, + "!:": 31609, + "BZ": 31610, + "GIS": 31611, + "Ġprefs": 31612, + "getMonth": 31613, + "convention": 31614, + "ĠLarge": 31615, + "Ġcomplement": 31616, + "Ġua": 31617, + "ĠNotebook": 31618, + "Ġtypescript": 31619, + "ÅĤad": 31620, + "ĠWithout": 31621, + "Ġtotally": 31622, + ">>>>>>>>": 31623, + "bdf": 31624, + "urus": 31625, + "underscore": 31626, + "ĠReceived": 31627, + "Ġsoup": 31628, + "headline": 31629, + "èĥ½å¤Ł": 31630, + "REGS": 31631, + "minecraftforge": 31632, + "Breadcrumb": 31633, + "Would": 31634, + "ivar": 31635, + "ĠDROP": 31636, + "ĠgetInstance": 31637, + "addir": 31638, + "临": 31639, + "Ġtexts": 31640, + "Whitespace": 31641, + "INCLUDED": 31642, + "ĠFIFO": 31643, + "_));": 31644, + "rors": 31645, + "ÄIJ": 31646, + "cea": 31647, + "Ġokhttp": 31648, + "ĠDOC": 31649, + "SelectedIndex": 31650, + "Ġamounts": 31651, + "éĩįå¤į": 31652, + "Ġsnapshots": 31653, + "âĻ": 31654, + "Ġ=&": 31655, + "companies": 31656, + "Agreement": 31657, + "帮": 31658, + "Ġmisc": 31659, + "ĠStreaming": 31660, + "éķĩ": 31661, + "codings": 31662, + "Ġslides": 31663, + ")\\\\": 31664, + "IData": 31665, + "elect": 31666, + "hass": 31667, + "clam": 31668, + "ĠUE": 31669, + "compilation": 31670, + "аÑĩ": 31671, + "ĠConverter": 31672, + "Ċĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ": 31673, + "Ġyapı": 31674, + "Dic": 31675, + "Hack": 31676, + "Lane": 31677, + "erk": 31678, + "idy": 31679, + "paramtype": 31680, + "Ġinstitution": 31681, + "éĺ¿": 31682, + "clusions": 31683, + "'};": 31684, + "Jh": 31685, + "Ġstretch": 31686, + "stration": 31687, + "currently": 31688, + "প": 31689, + "relax": 31690, + "Ġreferred": 31691, + "fasta": 31692, + "Caching": 31693, + "NH": 31694, + "Ġtrivial": 31695, + "getfield": 31696, + "ĠDNA": 31697, + "ddl": 31698, + "Lista": 31699, + "uclide": 31700, + "Ġadjacent": 31701, + "Ġacts": 31702, + "ĠQName": 31703, + "AndView": 31704, + "ĠDataSet": 31705, + "ÑĥÑī": 31706, + "ãĥ¼ãģ®": 31707, + "ĠREF": 31708, + "Ġidentification": 31709, + "Merchant": 31710, + "ĠGNUNET": 31711, + "Ticker": 31712, + "ĠSlide": 31713, + "ebb": 31714, + "ONGO": 31715, + "experiments": 31716, + "Bubble": 31717, + "ZP": 31718, + "ĠCam": 31719, + "gles": 31720, + "officer": 31721, + "Ġscientific": 31722, + "ungan": 31723, + "ĠPROJECT": 31724, + "Verified": 31725, + "åij¼": 31726, + "ÅĻed": 31727, + "edition": 31728, + "ĠBits": 31729, + "Ġiot": 31730, + "Ġunavailable": 31731, + "Ġks": 31732, + "Ġbuffered": 31733, + "FY": 31734, + "pX": 31735, + "ĠåĪłéϤ": 31736, + "Ġsymbolic": 31737, + "Represent": 31738, + "ĊĉĉĉĉĠĠĠĠ": 31739, + "夹": 31740, + "Ġeducation": 31741, + "Ġdatum": 31742, + "lixir": 31743, + "````````": 31744, + "ðŁĶħ": 31745, + "#:": 31746, + "Iv": 31747, + "Tu": 31748, + "Ġvt": 31749, + "ĠEin": 31750, + "Ġoracle": 31751, + "IdList": 31752, + "\"\"\"\"": 31753, + "WithError": 31754, + "ке": 31755, + "клÑİÑĩ": 31756, + "Ġãĥĩ": 31757, + "ĠCoordinate": 31758, + "ĠÙģ": 31759, + "Ġmel": 31760, + "brush": 31761, + ")))),": 31762, + "')));": 31763, + "Ġcaches": 31764, + "âĤĤ": 31765, + "gj": 31766, + "ĠAsk": 31767, + "Ġitr": 31768, + "DataModel": 31769, + "GetSize": 31770, + "Ġrock": 31771, + "hashes": 31772, + "ĠWho": 31773, + "cellrow": 31774, + "EW": 31775, + "ĠĊĊĠ": 31776, + "Income": 31777, + "agy": 31778, + "Provision": 31779, + "Provisioning": 31780, + "Ġik": 31781, + "ipay": 31782, + "++];": 31783, + "COOKIE": 31784, + "Ġcertainly": 31785, + "Ġalternatives": 31786, + "æ´»åĬ¨": 31787, + "Ġë§Įëĵ¤": 31788, + "Ġgovernment": 31789, + "BEN": 31790, + "cities": 31791, + "stencil": 31792, + "Ġexceeded": 31793, + "EDURE": 31794, + "Moves": 31795, + "Ġvariation": 31796, + "Ġaktiv": 31797, + "cellrowborder": 31798, + "Ek": 31799, + "Jun": 31800, + "Ġscheduling": 31801, + "trusted": 31802, + "ĠBear": 31803, + "STAGE": 31804, + "They": 31805, + "Subtitle": 31806, + "ictim": 31807, + "Deliver": 31808, + "Cryptography": 31809, + "pokemon": 31810, + "Fk": 31811, + "Nh": 31812, + "rvm": 31813, + "atum": 31814, + "conference": 31815, + "ĠsetInterval": 31816, + ">": 31817, + "distances": 31818, + "sortable": 31819, + "Libraries": 31820, + "ASTER": 31821, + "ÅĽli": 31822, + "Female": 31823, + "mav": 31824, + "ccf": 31825, + "ISupport": 31826, + "goals": 31827, + "parseFloat": 31828, + "AXIS": 31829, + "Ġtypo": 31830, + "Ġessentially": 31831, + "ĠSharePoint": 31832, + "$('": 31833, + "=}": 31834, + "ĠSlot": 31835, + "Ġeius": 31836, + "ĠuserInfo": 31837, + "Ġabbre": 31838, + "ÑĢаз": 31839, + "uelle": 31840, + "Ġtomorrow": 31841, + ")}.": 31842, + "Rw": 31843, + "Tel": 31844, + "Vc": 31845, + "Ġpes": 31846, + "Ġsticky": 31847, + "ĠCFG": 31848, + "afc": 31849, + "ĠANSI": 31850, + "ĠmaxWidth": 31851, + "SIST": 31852, + "PRICE": 31853, + "ĠArduino": 31854, + "nych": 31855, + "planet": 31856, + "sqr": 31857, + "xEF": 31858, + "ForeColor": 31859, + "Ġexplained": 31860, + "çģ«": 31861, + "getStart": 31862, + "Ġ._": 31863, + "opening": 31864, + "Moved": 31865, + "ĠInvalidOperationException": 31866, + "ÃŃcÃŃ": 31867, + ">_": 31868, + "JTextField": 31869, + "liced": 31870, + "Ġzn": 31871, + "Ġ\"/\",": 31872, + "otherwise": 31873, + "sideY": 31874, + "æĢ§èĥ½": 31875, + "PGA": 31876, + "Touchable": 31877, + "ĠDelivery": 31878, + "ĠROW": 31879, + "íĺķ": 31880, + "ĠOPTIONAL": 31881, + "asmine": 31882, + "Ġsemp": 31883, + "endants": 31884, + "actors": 31885, + "ĠBB": 31886, + "Ġvalidity": 31887, + "movement": 31888, + "ãģªãĤĭ": 31889, + "delayed": 31890, + "ĠÏĦ": 31891, + "cee": 31892, + "Portfolio": 31893, + "Ġutilis": 31894, + "íĥĢ": 31895, + "Bw": 31896, + "reuse": 31897, + "descriptors": 31898, + "ĠStand": 31899, + "Specifier": 31900, + "ĠPARAM": 31901, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 31902, + "Ġкомп": 31903, + "hresult": 31904, + "stors": 31905, + "Ġomn": 31906, + "ĠParticle": 31907, + "ĠDR": 31908, + "Ġuncert": 31909, + "Ġserá": 31910, + "Ġconfused": 31911, + "agnosis": 31912, + "Ġapproaches": 31913, + "ativa": 31914, + "ç½ijç«Ļ": 31915, + "GLOBALS": 31916, + "gens": 31917, + "Ġbars": 31918, + "acz": 31919, + "lipped": 31920, + "setParameter": 31921, + "Ġgolang": 31922, + "ROSS": 31923, + "ELLOW": 31924, + "Ġrowheader": 31925, + "LocalDateTime": 31926, + "ĠÃľ": 31927, + "Artifacts": 31928, + "lü": 31929, + "injection": 31930, + "();?>": 31931, + "Ġexerc": 31932, + "forme": 31933, + "csd": 31934, + "little": 31935, + "LLER": 31936, + "Ġstopping": 31937, + "æ°Ķ": 31938, + "ĠIRQ": 31939, + "-/": 31940, + "Basis": 31941, + "Terrain": 31942, + "berry": 31943, + "lyft": 31944, + "ĠInputs": 31945, + "æľĢå°ı": 31946, + "Crash": 31947, + "Ġscales": 31948, + "Ġignoring": 31949, + "ĠGradient": 31950, + "FAR": 31951, + "Ġffi": 31952, + "ĠSuch": 31953, + "ĠNested": 31954, + "Processes": 31955, + "oster": 31956, + "amplify": 31957, + "forName": 31958, + "rollup": 31959, + "ç͍æĿ¥": 31960, + "Ġfinden": 31961, + "(\\'": 31962, + "Ġheadline": 31963, + "ĠçalÄ±ÅŁ": 31964, + "аеÑĤÑģÑı": 31965, + "KHTML": 31966, + "SX": 31967, + "wang": 31968, + "memd": 31969, + "Ġnue": 31970, + "ĠAjax": 31971, + "keyframes": 31972, + "ixa": 31973, + "ĠStringComparison": 31974, + "ár": 31975, + "OPATH": 31976, + "端åı£": 31977, + "ĠÏĥ": 31978, + "ilinear": 31979, + "mistry": 31980, + ",@": 31981, + "mach": 31982, + "sax": 31983, + "Ĩł": 31984, + "apm": 31985, + "Ġeyes": 31986, + "Expose": 31987, + "ificacion": 31988, + "Neighbors": 31989, + "æłĩåĩĨ": 31990, + "hotel": 31991, + "Ġorganizations": 31992, + "ĠFUNC": 31993, + "Ġmeasures": 31994, + "Ġyoung": 31995, + "rabbitmq": 31996, + "Dedicated": 31997, + "Mt": 31998, + "ĠAmb": 31999, + "toThrow": 32000, + "ĠMajor": 32001, + "Ġantl": 32002, + "ĠHero": 32003, + "ĠInstrument": 32004, + "CHIP": 32005, + "dotenv": 32006, + "GRAY": 32007, + "ĠHttpStatus": 32008, + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ": 32009, + "ĠAutomatic": 32010, + "Ġudp": 32011, + "Vz": 32012, + "Zk": 32013, + "Ġdü": 32014, + "ott": 32015, + "ĠTcl": 32016, + "Ġhx": 32017, + "Stable": 32018, + "Ġzones": 32019, + "ĠXP": 32020, + "EntityManager": 32021, + "Expires": 32022, + "Ġmarshal": 32023, + "ĠRetrieves": 32024, + "Ef": 32025, + "OWNER": 32026, + "Ġbcrypt": 32027, + "getVersion": 32028, + "playing": 32029, + "ltk": 32030, + "nowrap": 32031, + "Ġseemed": 32032, + "á»ĭ": 32033, + "CRED": 32034, + "Ġ×ŀ": 32035, + "Ã¥n": 32036, + "NuGet": 32037, + "increase": 32038, + "onia": 32039, + "Ġcraft": 32040, + "Ġ'>": 32041, + "',@": 32042, + "readOnly": 32043, + "locales": 32044, + "Ġdecisions": 32045, + "ĠJanuary": 32046, + "#----------------------------------------------------------------": 32047, + "Elimin": 32048, + "Ġtut": 32049, + "Ġtruncate": 32050, + "Ġjint": 32051, + "åĽº": 32052, + "ĠZrLogUtil": 32053, + "ĠWeather": 32054, + "Ġbrain": 32055, + "ĠNodes": 32056, + "=$_": 32057, + "Architecture": 32058, + "Delayed": 32059, + "éĴ¥": 32060, + "ĠPYTHON": 32061, + "rogate": 32062, + "Ġnes": 32063, + "Ġmf": 32064, + "ĠBere": 32065, + "igne": 32066, + "appen": 32067, + "queryParams": 32068, + "feats": 32069, + "MAPP": 32070, + "roots": 32071, + "}\\),": 32784, + "Ġquot": 32785, + "Ġcurs": 32786, + "Ġprecedence": 32787, + "Fence": 32788, + "Rl": 32789, + "tow": 32790, + "zie": 32791, + "stud": 32792, + "isDebug": 32793, + "Ġwarm": 32794, + "setf": 32795, + "ãĥ¦ãĥ¼ãĤ¶ãĥ¼": 32796, + "HEAP": 32797, + "EQUI": 32798, + "<<(": 32799, + "Ġ\"-\",": 32800, + "Balanco": 32801, + "ından": 32802, + "éģįåİĨ": 32803, + "Camel": 32804, + "GITHUB": 32805, + "cock": 32806, + "ribb": 32807, + "Ġextraction": 32808, + "Extras": 32809, + "Ġunzip": 32810, + "aware": 32811, + "UNLOCK": 32812, + "Ġinterp": 32813, + "transaksi": 32814, + "mtlk": 32815, + "åħ«": 32816, + "SCM": 32817, + "chanism": 32818, + "TU": 32819, + "Ġnarrow": 32820, + "getServer": 32821, + "ĠDRI": 32822, + "æĪı": 32823, + "rowsable": 32824, + "Ġvision": 32825, + "volved": 32826, + "ĠIconData": 32827, + "ä¼ĺåĮĸ": 32828, + "cotic": 32829, + "EVT": 32830, + "Gc": 32831, + "bolt": 32832, + "Ġbrowse": 32833, + "ĠAbc": 32834, + "Ġexits": 32835, + "Beat": 32836, + "DDS": 32837, + "ĠPlus": 32838, + "CppGuid": 32839, + "ĠClaim": 32840, + "ãĤŃãĥ¥ãĥªãĥĨãĤ£": 32841, + "Dart": 32842, + "Omega": 32843, + "RON": 32844, + "[\\\"": 32845, + "rdata": 32846, + "Ġcub": 32847, + "Ġeconom": 32848, + "ocheck": 32849, + "weis": 32850, + "\"]]": 32851, + "findall": 32852, + "ĠSHIFT": 32853, + "cleaned": 32854, + "Ġreproduc": 32855, + "ç¡®å®ļ": 32856, + "Ml": 32857, + "Salt": 32858, + "ĠBill": 32859, + "dbname": 32860, + "ĠCompletion": 32861, + "ĠdateTime": 32862, + "productId": 32863, + "ierz": 32864, + "wpdb": 32865, + "Ġ{:?}\",": 32866, + "pnl": 32867, + "ĠJuly": 32868, + "ynamoDB": 32869, + "ãĤ±ãĥ¼ãĤ·ãĥ§ãĥ³": 32870, + "'$": 32871, + "Mng": 32872, + "Ġsemi": 32873, + "ãĥĦ": 32874, + "PROV": 32875, + "centos": 32876, + "ĠDISABLE": 32877, + "ĠbaÄŁ": 32878, + "Ġtiene": 32879, + "Ġìłķë³´": 32880, + "GAN": 32881, + "Ġ\"::": 32882, + "idge": 32883, + "getDescription": 32884, + "quiry": 32885, + "Ġtrusted": 32886, + "ULA": 32887, + "timedelta": 32888, + "讲": 32889, + "issuer": 32890, + "Normalization": 32891, + "LiveData": 32892, + "Ġfelt": 32893, + "ĠRing": 32894, + "translated": 32895, + "xmlns": 32896, + "installing": 32897, + "Structures": 32898, + "ĠPROTO": 32899, + "AnimationFrame": 32900, + "ĠLocalDateTime": 32901, + "Fetching": 32902, + "à¥ĩ": 32903, + "ELABSCOPES": 32904, + "ç»ijå®ļ": 32905, + "satisf": 32906, + "dea": 32907, + "Ġftp": 32908, + "expo": 32909, + "getPlayer": 32910, + "odi": 32911, + "ãĥľ": 32912, + "Ġnovel": 32913, + "Ġpret": 32914, + "Ġgrouping": 32915, + "Ġfinite": 32916, + "Ġauthorize": 32917, + "ĠNOI": 32918, + "herokuapp": 32919, + "Cm": 32920, + "JButton": 32921, + "Tweet": 32922, + "fal": 32923, + "Ġdll": 32924, + "Except": 32925, + "ĠKnown": 32926, + "raud": 32927, + "cfd": 32928, + "InternalMessageInfo": 32929, + "Charts": 32930, + "Ġinformations": 32931, + "strncmp": 32932, + "ECC": 32933, + "Lic": 32934, + "rick": 32935, + "assertArrayEquals": 32936, + "(!(": 32937, + "continuous": 32938, + "?).": 32939, + "plex": 32940, + "rif": 32941, + "Ġushort": 32942, + "Ġinset": 32943, + "Ġservlet": 32944, + "Uploaded": 32945, + "=>$": 32946, + "attached": 32947, + "carded": 32948, + "èĴ": 32949, + "ĠĠĊĊĠĠ": 32950, + "inin": 32951, + "meteor": 32952, + "ĠLUA": 32953, + "ĠBIN": 32954, + "\"]=": 32955, + "castle": 32956, + "cbi": 32957, + "าà¸Ļ": 32958, + "?,?,": 32959, + "ĠusÅĤugi": 32960, + "ZI": 32961, + "remo": 32962, + "getCount": 32963, + "phyr": 32964, + "TableEntry": 32965, + "Prem": 32966, + "ĠserviceName": 32967, + "CRITICAL": 32968, + "yyy": 32969, + "trimBalanco": 32970, + "consent": 32971, + "PubKey": 32972, + "Associated": 32973, + "Ġverwenden": 32974, + "Õ¥": 32975, + "atk": 32976, + "ĠSheet": 32977, + "Repr": 32978, + "à¸ŀ": 32979, + "ĠAdditionally": 32980, + "ĠparseFrom": 32981, + "ceeding": 32982, + "Director": 32983, + "AUT": 32984, + "QUI": 32985, + "TEN": 32986, + "nore": 32987, + "Ġ\"**": 32988, + "Ġgod": 32989, + "Ġanti": 32990, + "STL": 32991, + "mlink": 32992, + "ARC": 32993, + "ĠTrade": 32994, + "ĠsessionId": 32995, + "Expansion": 32996, + "failures": 32997, + "Ġμ": 32998, + "Paid": 32999, + "íı¬": 33000, + "Ġbroad": 33001, + "ĠSpe": 33002, + "testdata": 33003, + "fromString": 33004, + "ĠYo": 33005, + "ĠUnits": 33006, + "ELY": 33007, + "ĠorderBy": 33008, + "ĠRouting": 33009, + "ãĥĹãĥŃãĤ°ãĥ©ãĥł": 33010, + "Pulse": 33011, + "edd": 33012, + "Ġsequ": 33013, + "plans": 33014, + "ĠJOptionPane": 33015, + "Ġprimer": 33016, + "halten": 33017, + "ĠданнÑĭÑħ": 33018, + "xlim": 33019, + "ç¹": 33020, + "Ġrede": 33021, + "Ġwinner": 33022, + "Increase": 33023, + "Ġhole": 33024, + "Ġ!!!": 33025, + "ITIES": 33026, + "GLint": 33027, + "Detected": 33028, + "Flutter": 33029, + "ĠLogical": 33030, + "relations": 33031, + "Ġroots": 33032, + "InitStruct": 33033, + "BatchNorm": 33034, + "Prediction": 33035, + "Ġconstructs": 33036, + "ãĥĩãĤ£": 33037, + "Fb": 33038, + "Fig": 33039, + "OSC": 33040, + "fancy": 33041, + "ĉĠĠĠĠ": 33042, + "ĠĊĊĠĠĠĠĠĠĠ": 33043, + "Ġdee": 33044, + "ãĤº": 33045, + "TIBLE": 33046, + "æłı": 33047, + "('/');": 33048, + "ĠDBG": 33049, + "MDW": 33050, + "åĬłåħ¥": 33051, + "Declare": 33052, + "cursively": 33053, + "FORWARD": 33054, + "Ġmaintainers": 33055, + "Ġhimself": 33056, + "ParallelGroup": 33057, + "PARTITION": 33058, + "ĠLGTM": 33059, + "Jy": 33060, + "meet": 33061, + "ĠFocus": 33062, + "Ġcham": 33063, + "çļĦæĸĩä»¶": 33064, + "tablet": 33065, + "ÑĢем": 33066, + "HostName": 33067, + "Ġpersistence": 33068, + "ä¹Łæĺ¯": 33069, + "Ġì¶Ķê°Ģ": 33070, + "jis": 33071, + "íŀ": 33072, + "Ġkur": 33073, + "pieces": 33074, + "openqa": 33075, + "Disposed": 33076, + "RenderPass": 33077, + "Responder": 33078, + "ãĤ¤ãĥ³ãĤ¹ãĥĪ": 33079, + "士": 33080, + "Ġmeaningful": 33081, + "Ġupgraded": 33082, + "Mensaje": 33083, + "mdesc": 33084, + "Ġ========": 33085, + "Ġcats": 33086, + "Ġez": 33087, + "appName": 33088, + "awan": 33089, + "ĠJDK": 33090, + "Ġliving": 33091, + "Blade": 33092, + "gauge": 33093, + "Ġmutations": 33094, + "Ġ\"{\\\"": 33095, + "Ġë¬¸ìłľ": 33096, + "çŃĸçķ¥": 33097, + "ãĤ¸ãĤ§ãĤ¯ãĥĪ": 33098, + "%]": 33099, + "Ru": 33100, + "tank": 33101, + "Ġaim": 33102, + "('\"": 33103, + "ĠDem": 33104, + "'][]": 33105, + "udnn": 33106, + "currentIndex": 33107, + "Ġë¡": 33108, + "crm": 33109, + "å¥Ĺ": 33110, + "ì§Ģë§Į": 33111, + "Ldap": 33112, + "?$": 33113, + "CString": 33114, + "getcwd": 33115, + "ĠNONE": 33116, + "ĠRAD": 33117, + "ROUTE": 33118, + "ĊĉĉĉĉĉĠĠ": 33119, + "MAY": 33120, + "ĠmodelBuilder": 33121, + "ĠXunit": 33122, + "serves": 33123, + "SWITCH": 33124, + "HexString": 33125, + "ĠPeople": 33126, + "fadeOut": 33127, + "ĠMatcher": 33128, + "Ġreplicate": 33129, + "Sg": 33130, + "bubble": 33131, + "Ġvul": 33132, + "Ġhc": 33133, + "transact": 33134, + "participants": 33135, + "toolbox": 33136, + "åIJ¦åĪĻ": 33137, + "Ġfolgenden": 33138, + "cccccc": 33139, + "thycotic": 33140, + "Ach": 33141, + "Mot": 33142, + "inproceedings": 33143, + "stv": 33144, + "Ġnic": 33145, + "Ġ\"),": 33146, + "ĠDIM": 33147, + "Ġintval": 33148, + "Ġconfiguring": 33149, + "dfd": 33150, + "Blocked": 33151, + "Ġconsumption": 33152, + "åħ¥åĬĽ": 33153, + "çα": 33154, + "Ġ'*',": 33155, + "haskell": 33156, + "Õ¶": 33157, + "coins": 33158, + "rij": 33159, + "rights": 33160, + "çĶ·": 33161, + "Ġgrand": 33162, + "ĠPerl": 33163, + "Ġع": 33164, + "ĠWorkspace": 33165, + "Ġindentation": 33166, + "sweep": 33167, + "itere": 33168, + "ĠSure": 33169, + "gettext": 33170, + "Ġ#(": 33171, + "Ġcomposed": 33172, + "FileReader": 33173, + "rtm": 33174, + "ứ": 33175, + "ĠInitialization": 33176, + "AFTER": 33177, + "ений": 33178, + "Ġstatistic": 33179, + "ĠPeaking": 33180, + "ä¸ĸçķĮ": 33181, + "*&": 33182, + "eight": 33183, + "jQ": 33184, + "alphabet": 33185, + "Ġfed": 33186, + "Ġborrow": 33187, + "(\"../../": 33188, + "indi": 33189, + "awl": 33190, + "ĠRev": 33191, + "])[": 33192, + "Generating": 33193, + "EmailAddress": 33194, + "planes": 33195, + "ĠRegular": 33196, + "Ven": 33197, + "etry": 33198, + "Ġincome": 33199, + "Ġoid": 33200, + "..\"": 33201, + "ĠnewNode": 33202, + "condensed": 33203, + "ĠContinue": 33204, + "WebAPI": 33205, + "Ġnetworking": 33206, + "[{\"{\",": 33207, + "å¤įåζ": 33208, + "Ġëĭ¨": 33209, + ">#<": 33210, + "ĠRotation": 33211, + "ibilidad": 33212, + "Xl": 33213, + "Ùī": 33214, + "estyle": 33215, + "ĠBible": 33216, + "ĠVi": 33217, + "localized": 33218, + "\\_\\_": 33219, + "Ġstrictly": 33220, + "Years": 33221, + "environments": 33222, + "Ġë°©ë²ķ": 33223, + "Ġfulfill": 33224, + "Minecraft": 33225, + "Pie": 33226, + "^(": 33227, + "Ġew": 33228, + "gear": 33229, + "getLong": 33230, + "useState": 33231, + "readlines": 33232, + "Ġcompet": 33233, + "transformation": 33234, + "å®Ŀ": 33235, + "requireNonNull": 33236, + "slv": 33237, + "Ġinitializing": 33238, + "SBG": 33239, + "Ġdropout": 33240, + "dispatchEvent": 33241, + "ĠRequires": 33242, + "Ġsearches": 33243, + "vip": 33244, + "ĊĊĉĉĉĉĉĉĉ": 33245, + "Ġath": 33246, + "ución": 33247, + "createParallelGroup": 33248, + "Education": 33249, + "Scatter": 33250, + "gestion": 33251, + "SecurityGroup": 33252, + "çŃīå¾ħ": 33253, + "Ġincorrectly": 33254, + "Ġtickets": 33255, + "acceleration": 33256, + "fresh": 33257, + "}=(": 33258, + "ĠTPM": 33259, + "(&_": 33260, + "traverse": 33261, + "Teacher": 33262, + "DeepEqual": 33263, + "DoxyCode": 33264, + "ifeq": 33265, + "thickness": 33266, + "ĠuseCallback": 33267, + "Applied": 33268, + "venience": 33269, + "{}{}": 33270, + "ãĥ¼ãĤĴ": 33271, + "sortBy": 33272, + "alloca": 33273, + "ĠFormData": 33274, + "ClusterManager": 33275, + "snapshots": 33276, + "(',',": 33277, + "PrettyPrinter": 33278, + "çªĹåı£": 33279, + "'',": 33280, + "+=\"<": 33281, + "CPtr": 33282, + "Sex": 33283, + "orna": 33284, + "apat": 33285, + "Ġtrading": 33286, + "Ġmehr": 33287, + "ToRemove": 33288, + "Ġelsewhere": 33289, + "assertions": 33290, + "ĠReq": 33291, + "NewRequest": 33292, + "Ġ++;": 33293, + "æŀĹ": 33294, + "hyd": 33295, + "ytimg": 33296, + "第ä¸ī": 33297, + "Uw": 33298, + "Ġ((\"": 33299, + "Ġyeah": 33300, + "tableLayoutPanel": 33301, + "ĠcurrentUser": 33302, + "ĠEncoder": 33303, + "Specifies": 33304, + "COMPAT": 33305, + "Ġhighlighted": 33306, + "ĠencodeVarint": 33307, + "QV": 33308, + "inent": 33309, + "utos": 33310, + "Ġmqtt": 33311, + "Objective": 33312, + "nose": 33313, + "Beans": 33314, + "ResourceGroupName": 33315, + "Ġsigner": 33316, + "maries": 33317, + "HomePage": 33318, + "ytvo": 33319, + "ĠfadeIn": 33320, + "memItemLeft": 33321, + "memItemRight": 33322, + "ĠPRIVATE": 33323, + "Gx": 33324, + "Pseudo": 33325, + "Ġ(...": 33326, + "Ġslope": 33327, + "ĠDIST": 33328, + "Ġ@_": 33329, + "ĠMAN": 33330, + "Ġchxj": 33331, + "ĠuserService": 33332, + "createFrom": 33333, + "loudFormation": 33334, + "ĠObjectMapper": 33335, + "ĠâĸĪâĸĪ": 33336, + ">`,": 33337, + "KJ": 33338, + "OData": 33339, + "cmt": 33340, + "uator": 33341, + "//@": 33342, + "ĠFifth": 33343, + "Ġchown": 33344, + ">(_": 33345, + "destlen": 33346, + "Ġtidak": 33347, + "EZ": 33348, + "Rds": 33349, + "accent": 33350, + "\">',": 33351, + "ĠGson": 33352, + "Province": 33353, + "ĠChallenge": 33354, + "Ġherein": 33355, + "Photos": 33356, + "shouldBe": 33357, + "ĠupdatedAt": 33358, + "åıĤçħ§": 33359, + "Ġgradle": 33360, + "Ġãĥķ": 33361, + "creds": 33362, + "gomock": 33363, + "Gs": 33364, + "qz": 33365, + "áİ": 33366, + "utron": 33367, + "Ġmů": 33368, + "Deg": 33369, + "GetDevice": 33370, + "overload": 33371, + "ĠDataTable": 33372, + "ä¹ħ": 33373, + "Ġobtener": 33374, + "onomous": 33375, + "§": 33376, + "ĠčĊĠĠ": 33377, + "rewards": 33378, + "Ġiface": 33379, + "EXE": 33380, + "(*(": 33381, + "Ġcmds": 33382, + "ода": 33383, + "DEPEND": 33384, + "å®ĥ们": 33385, + "interpolate": 33386, + "yum": 33387, + "stones": 33388, + "umbo": 33389, + "GroupID": 33390, + "limate": 33391, + "jad": 33392, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 33393, + "lek": 33394, + "=\"\"><": 33395, + "getto": 33396, + "Ġ//////////////////////////////////": 33397, + "astore": 33398, + "Ġcomme": 33399, + "epass": 33400, + "Texts": 33401, + "LogFile": 33402, + "grouped": 33403, + "Ġcounting": 33404, + "Ġcentered": 33405, + "Ġmasks": 33406, + "\"/><": 33407, + "entrant": 33408, + "brides": 33409, + "som": 33410, + "entro": 33411, + "ĠCType": 33412, + "ĠCATCH": 33413, + "ĠDEL": 33414, + "bere": 33415, + "Resizable": 33416, + "prc": 33417, + "ĠkInstruction": 33418, + "cpus": 33419, + "autore": 33420, + "pmwiki": 33421, + "howto": 33422, + "Periodo": 33423, + "alternative": 33424, + "BORDER": 33425, + "Iy": 33426, + "UY": 33427, + "eled": 33428, + "glfw": 33429, + "Ġslower": 33430, + "Ġbubble": 33431, + "Ġcodebase": 33432, + "sla": 33433, + "Ġqueued": 33434, + "autos": 33435, + "directives": 33436, + "CURSOR": 33437, + "cum": 33438, + "crawler": 33439, + "jInternalFrame": 33440, + "nump": 33441, + "getEvent": 33442, + "ngo": 33443, + "Ġassumption": 33444, + "integral": 33445, + "mosaic": 33446, + "Hints": 33447, + "èĻij": 33448, + "Gaussian": 33449, + "LTE": 33450, + "khr": 33451, + "reib": 33452, + "ĠRand": 33453, + "ĠUt": 33454, + "ĠHERE": 33455, + "moon": 33456, + "testify": 33457, + "Almost": 33458, + "æ±ł": 33459, + "æīĢæľīçļĦ": 33460, + "Pn": 33461, + "Sd": 33462, + "Ġrepre": 33463, + "ĠWas": 33464, + "classpath": 33465, + "sonar": 33466, + "MPU": 33467, + "BaseType": 33468, + "âĸĴ": 33469, + "quival": 33470, + "fstream": 33471, + "iers": 33472, + "jdt": 33473, + "Ù¾": 33474, + "iflow": 33475, + "Ġmillion": 33476, + "typing": 33477, + "brace": 33478, + "GetResponse": 33479, + "ável": 33480, + "binder": 33481, + "Ġdivisor": 33482, + "ĠMethodInfo": 33483, + "ĠDetection": 33484, + "Payments": 33485, + "PET": 33486, + "WY": 33487, + "recycler": 33488, + "Reach": 33489, + "(\"`.": 33517, + "DURATION": 33518, + "XQ": 33519, + "kaz": 33520, + "ĠAu": 33521, + "ĠLife": 33522, + "INSTR": 33523, + "netbeans": 33524, + "ĠDEV": 33525, + "ÑĮÑİ": 33526, + "restaurant": 33527, + "UnknownFieldSet": 33528, + "æ°¸": 33529, + "Ġincremental": 33530, + "ĠWINAPI": 33531, + "puppet": 33532, + "ersey": 33533, + "Jax": 33534, + "hdc": 33535, + "iload": 33536, + "ién": 33537, + "nux": 33538, + "nvidia": 33539, + "Ġfft": 33540, + "Ġnest": 33541, + "trailing": 33542, + "ckeditor": 33543, + "shu": 33544, + "ĠVPC": 33545, + "ĠHouse": 33546, + "textInput": 33547, + "ermal": 33548, + "Ġsimultaneous": 33549, + "Estado": 33550, + "ĠGOOGLE": 33551, + "Vocab": 33552, + "criterion": 33553, + "mui": 33554, + "åĺ": 33555, + "tham": 33556, + "Transpose": 33557, + "ellar": 33558, + "Spread": 33559, + "Ġemb": 33560, + "ĠSkill": 33561, + "ÙĬØ©": 33562, + "Dsl": 33563, + "Gather": 33564, + "sitemap": 33565, + "winner": 33566, + "Ġbiz": 33567, + "=\")": 33568, + "userAgent": 33569, + "inker": 33570, + "discover": 33571, + "Ġwasm": 33572, + "Ġspéc": 33573, + "Selectors": 33574, + "Bars": 33575, + "é¡Į": 33576, + "ĠLeaf": 33577, + "è·Ŀ": 33578, + "Ġautogenerated": 33579, + ">*<": 33675, + "skeleton": 33676, + "wild": 33677, + "Ġfer": 33678, + "Ġppc": 33679, + "oder": 33680, + "ĠisLoading": 33681, + "RESER": 33682, + "printk": 33683, + "DIALOG": 33684, + "Ñıз": 33685, + "ĠOpenAPI": 33686, + "ĠWORKB": 33687, + "ÑģÑĤанов": 33688, + "Kb": 33689, + "Ãľ": 33690, + "isLoading": 33691, + "Ġ\"\"),": 33692, + "Ġbrew": 33693, + "ĠPing": 33694, + "ĠLU": 33695, + "ĠFood": 33696, + "cca": 33697, + "FieldBuilder": 33698, + "seqid": 33699, + "ValidationException": 33700, + "Ġirq": 33701, + ",))": 33702, + "=*/": 33703, + "Lf": 33704, + "XV": 33705, + "nist": 33706, + "ĠPaper": 33707, + "Ġia": 33708, + "Upstream": 33709, + "ĠXSD": 33710, + "consider": 33711, + "ãģĻãĤĭãģ¨": 33712, + "\\'',": 33713, + "Ġinjected": 33714, + "={`${": 33715, + "getFullYear": 33716, + "DSP": 33717, + "Fails": 33718, + "saml": 33719, + "ά": 33720, + "apic": 33721, + "Asm": 33722, + "StatusMessage": 33723, + "FullScreen": 33724, + "次ãģ®": 33725, + "Ġwatcher": 33726, + "Cid": 33727, + "grib": 33728, + "tabel": 33729, + "ì¤ij": 33730, + "STEST": 33731, + "Ġ!_": 33732, + "ItemList": 33733, + "Ġwhereas": 33734, + "ĠLogLevel": 33735, + "íķĺê²Į": 33736, + "Anti": 33737, + "AWSCloudFormation": 33738, + "Rg": 33739, + "tj": 33740, + "}|": 33741, + "è¸": 33742, + "Ġåı¯ä»¥": 33743, + "(\"\\\"": 33744, + "ĠBS": 33745, + "Ġtraces": 33746, + "Ġxp": 33747, + "FileDescriptor": 33748, + "++.": 33749, + "ENTS": 33750, + "UPLOAD": 33751, + "Authenticate": 33752, + "PLAIN": 33753, + "PRESENT": 33754, + "MINUS": 33755, + "欢": 33756, + "ĠVMs": 33757, + "áĥĺ": 33758, + "Ġstrongly": 33759, + "Ġasynchronously": 33760, + "Ended": 33761, + "runners": 33762, + "VERSE": 33763, + "pgsql": 33764, + "coveralls": 33765, + "ĠPaths": 33766, + "Annotated": 33767, + "Ġmorning": 33768, + "wstring": 33769, + "Ġglfw": 33770, + "Ġgetters": 33771, + "early": 33772, + "Ġ;)": 33773, + "Ġ'/')": 33774, + "submitted": 33775, + "Ġfrac": 33776, + "Supp": 33777, + "æĶ¹åıĺ": 33778, + "Ġë°Ķ": 33779, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 33780, + "Trees": 33781, + "Heartbeat": 33782, + "Ġrequiring": 33783, + "Ġantlr": 33784, + "ĺ리": 33785, + "lopen": 33786, + "emap": 33787, + "ĠIEnumerator": 33788, + "resnet": 33789, + "Ġprocessors": 33790, + "frica": 33791, + "=[],": 33792, + "å»¶": 33793, + "reviewable": 33794, + "mouseover": 33795, + "Ġsegmentation": 33796, + "Respond": 33797, + "Ġrecursion": 33798, + "Spoon": 33799, + "Uv": 33800, + "citation": 33801, + "glib": 33802, + "gogo": 33803, + "pwsz": 33804, + "BoxData": 33805, + "DISK": 33806, + "vspace": 33807, + "{!!": 33808, + "Ġdeviation": 33809, + "opend": 33810, + "mood": 33811, + "BeNull": 33812, + "WithValue": 33813, + "WebServer": 33814, + "мен": 33815, + "Ġsbt": 33816, + "æ©Łèĥ½": 33817, + "$-": 33818, + "rctx": 33819, + "Ġrepet": 33820, + "strpos": 33821, + "refr": 33822, + "contribution": 33823, + "udc": 33824, + "mbH": 33825, + "Ġsubstring": 33826, + "ön": 33827, + "Ġbracket": 33828, + "Downloading": 33829, + "ĠTemperature": 33830, + "éłħ": 33831, + "ĠHANDLE": 33832, + "Ġarmazen": 33833, + "Tint": 33834, + "jian": 33835, + "Ġ[*": 33836, + "Ġ%+": 33837, + "Ġ<<<": 33838, + "smith": 33839, + ":\"\";": 33840, + "ĠSeptember": 33841, + "å¹²": 33842, + "requis": 33843, + "Publication": 33844, + "Ġwraps": 33845, + "ĠWINDO": 33846, + "ĠWrites": 33847, + "CONNECTED": 33848, + ">\"+": 33849, + "_##": 33850, + "roach": 33851, + "ĠsÄħ": 33852, + "permit": 33853, + "ULD": 33854, + "ErrorException": 33855, + "ForKey": 33856, + "regorian": 33857, + "gtm": 33858, + "ĠDEP": 33859, + "ĊĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠ": 33860, + "SRV": 33861, + "IMPORTANT": 33862, + "ç¶ļ": 33863, + "+).": 33909, + "demos": 33910, + "Ġyum": 33911, + "readInt": 33912, + "nolog": 33913, + "admins": 33914, + "augment": 33915, + "tender": 33916, + "getStatusCode": 33917, + "ĠClosed": 33918, + "ĠPNG": 33919, + "FormField": 33920, + "okit": 33921, + "ĠuserData": 33922, + "ÑĤобÑĭ": 33923, + "ços": 33924, + "Ġfunds": 33925, + "++++++++++++++++++++++++++++++++": 33926, + "Ġë¡ľ": 33927, + "Ful": 33928, + "Ji": 33929, + "nid": 33930, + "Ġyoutube": 33931, + "msi": 33932, + "Ġpreload": 33933, + "á»Ń": 33934, + "Firewall": 33935, + "ãģĹãģ¦ãģĦãĤĭ": 33936, + "DPR": 33937, + "OH": 33938, + "qk": 33939, + "ruct": 33940, + "ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 33941, + "Ġdpi": 33942, + "Ġuno": 33943, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 33944, + "signer": 33945, + "Ġusr": 33946, + "Determin": 33947, + "blobs": 33948, + "čĊĠĠč": 33949, + "WIFI": 33950, + "Ġldap": 33951, + "Ġsimplified": 33952, + "ĠOrderedDict": 33953, + ":~": 33954, + "=#{": 33955, + "Iw": 33956, + "XA": 33957, + "efe": 33958, + "pand": 33959, + "smoke": 33960, + "æĩ": 33961, + "erb": 33962, + "getGlobal": 33963, + "ĠPB": 33964, + "Ġmeters": 33965, + "assertIn": 33966, + "Compiled": 33967, + "EXAMPLE": 33968, + "ImageData": 33969, + "Functor": 33970, + "éĸ¢æķ°": 33971, + "ĠíĻķìĿ¸": 33972, + "OutOfRangeException": 33973, + "ZH": 33974, + "Ġcuenta": 33975, + "Ġpile": 33976, + "Ġwhitelist": 33977, + "Segoe": 33978, + "anners": 33979, + "suppress": 33980, + "Courses": 33981, + "crawl": 33982, + "pins": 33983, + "Ġ~~": 33984, + "()\");": 33985, + "errs": 33986, + "graded": 33987, + "DIRECTION": 33988, + "sgs": 33989, + ">>)": 33990, + "Trial": 33991, + "Jk": 33992, + "]})": 33993, + "restriction": 33994, + "Ġonder": 33995, + "Concurrency": 33996, + "ĠÑģозд": 33997, + "ĠNOWRAP": 33998, + "Expecting": 33999, + "ExecuteCommand": 34000, + "ÄįÃŃ": 34001, + "ÑĪе": 34002, + "deepcopy": 34003, + "PARAMETERS": 34004, + "íĤ¤": 34005, + "leq": 34006, + "getCell": 34007, + "ãģļ": 34008, + "METRY": 34009, + "Comma": 34010, + "Ġadc": 34011, + "æľīä¸Ģ个": 34012, + "ĠmarginBottom": 34013, + "ĠActually": 34014, + "Buckets": 34015, + "Ġachieved": 34016, + "ExtensionRegistryLite": 34017, + "íĭ°": 34018, + "unsupported": 34019, + "Ġ'='": 34020, + "Ġdatab": 34021, + "ĠdataGridView": 34022, + "ĠGetAll": 34023, + "CallOption": 34024, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 34025, + "ĠsaÄŁ": 34026, + "Ġowners": 34027, + "ãģĦãģĨ": 34028, + "Effective": 34029, + "Handled": 34030, + "ĠQtGui": 34031, + "ĠPatient": 34032, + "FLI": 34033, + "Natural": 34034, + "sType": 34035, + "coefficient": 34036, + "Travel": 34037, + "pretrained": 34038, + "structs": 34039, + "doctrine": 34040, + "repair": 34041, + "Months": 34042, + "ĠAssistant": 34043, + "ĠTracker": 34044, + "\"<<": 34045, + "FAC": 34046, + "TextChanged": 34047, + "Adds": 34048, + "izedBuffer": 34049, + "OpCodes": 34050, + "SMC": 34051, + "å·¥ç¨ĭ": 34052, + "contributor": 34053, + "Following": 34054, + "ĠForeign": 34055, + "alaxies": 34056, + "áºŃp": 34057, + "Ġmajority": 34058, + "equipment": 34059, + "intf": 34060, + "IPH": 34061, + "ĠDEVICE": 34062, + "ĠpackageName": 34063, + "ĠGLFW": 34064, + "çIJĥ": 34065, + "Ġprefixes": 34066, + "æıĽ": 34067, + "åĮºåŁŁ": 34068, + "ĠToolkit": 34069, + "Ġretrieval": 34070, + "ĠSanitizers": 34071, + "Ka": 34072, + "Ïī": 34073, + "Ġ\"=\",": 34074, + "eden": 34075, + "thin": 34076, + "istan": 34077, + "derived": 34078, + "Ġ#$": 34079, + "neq": 34080, + "ĠĠĠĠĠĠĊĠĠĠĠĠĠĠ": 34081, + "ели": 34082, + "corev": 34083, + "SOUND": 34084, + "PHYS": 34085, + "Ġpurge": 34086, + "Incident": 34087, + "DoxyCompactList": 34088, + "cstr": 34089, + "hone": 34090, + "cpkg": 34091, + "Parents": 34092, + "DATASET": 34093, + "ARGP": 34094, + "аÑĤоÑĢ": 34095, + "имеÑĢ": 34096, + "ĠCounty": 34097, + "Ġsucceeds": 34098, + "ĠìĨĮ": 34099, + "Tc": 34100, + "wick": 34101, + "Ġata": 34102, + "isdir": 34103, + "ORITH": 34104, + "netlify": 34105, + "skipped": 34106, + "Detailed": 34107, + "Invalidate": 34108, + "Funcs": 34109, + "建议": 34110, + "Alternative": 34111, + "ĠInjectable": 34112, + "$}": 34113, + "Fort": 34114, + "Tro": 34115, + "Ġwel": 34116, + "Ġnoted": 34117, + "contour": 34118, + "signing": 34119, + "äºļ": 34120, + "nextToken": 34121, + "ĠFileInputStream": 34122, + "cvt": 34123, + "cosq": 34124, + "Ġsubjects": 34125, + "³³³": 34126, + "Ġplanet": 34127, + "employees": 34128, + "burst": 34129, + "Rng": 34130, + "Tot": 34131, + "Wo": 34132, + "Ġ*": 34417, + "phon": 34418, + "GetPin": 34419, + "ĠJAVA": 34420, + "Appender": 34421, + "ĊĉĉĉĉĉĉĠ": 34422, + "pcap": 34423, + "hedron": 34424, + "Phil": 34425, + "tablename": 34426, + "sorting": 34427, + "Ġerase": 34428, + "Ġautoc": 34429, + "ĠPlugins": 34430, + "ĠDropdown": 34431, + "deadline": 34432, + ")?.": 34433, + "Electron": 34434, + "Lap": 34435, + "Nuevo": 34436, + "UDIO": 34437, + "Ġä»İ": 34438, + "abcd": 34439, + "Ġ//////////////////////////////////////////////////////////////////": 34440, + "Ġ+\"": 34441, + "Ġunary": 34442, + "orderId": 34443, + "={},": 34444, + "Lease": 34445, + "æ³¢": 34446, + "äºĭåĬ¡": 34447, + "SCORE": 34448, + "æīĵåį°": 34449, + "ĠDetermines": 34450, + "arcsinL": 34451, + "å͝ä¸Ģ": 34452, + "TypedDataSetGenerator": 34453, + "//************************************************************************": 34454, + "tparam": 34455, + "Ġchose": 34456, + "ENE": 34457, + "DataLoader": 34458, + "({\\": 34459, + "Subtract": 34460, + "Ġarithmetic": 34461, + "SCI": 34462, + "ÅĻe": 34463, + "Peak": 34464, + "feeds": 34465, + "midi": 34466, + "Ġguidance": 34467, + "Broad": 34468, + "QI": 34469, + "Zu": 34470, + "tensors": 34471, + "ĠBes": 34472, + "ĠGold": 34473, + "Ġuploading": 34474, + "daa": 34475, + "fair": 34476, + "Ġmodific": 34477, + "PLAN": 34478, + "MinValue": 34479, + "Compatibility": 34480, + "Referenced": 34481, + "TOPIC": 34482, + "产çĶŁ": 34483, + "Ġctor": 34484, + "Ġ{>,": 34568, + "sponsor": 34569, + "ĠOcc": 34570, + "ĠWar": 34571, + "eea": 34572, + "Reads": 34573, + "Ġswift": 34574, + "relational": 34575, + "è¿Ļä¸Ģ": 34576, + "ÅŁaģı": 34577, + "ciph": 34578, + "Ġdelayed": 34579, + "ÑĢÑĥг": 34580, + "Reserve": 34581, + "Continuous": 34582, + "urança": 34583, + "requestId": 34584, + "ldots": 34585, + "Validity": 34586, + "à§Ģ": 34587, + "Configurator": 34588, + "Ġcuando": 34589, + "OOOO": 34590, + "ĠSupplier": 34591, + "ĠAugust": 34592, + "Ġndarray": 34593, + "BAL": 34594, + "Ion": 34595, + "dcc": 34596, + "´Ī": 34597, + "Ġrecognition": 34598, + "Ġbis": 34599, + "usp": 34600, + "ErrorType": 34601, + "caa": 34602, + "NAV": 34603, + "ĠLOAD": 34604, + "詳": 34605, + "MOTOROLA": 34606, + ")+\"": 34607, + "Ey": 34608, + "UENCE": 34609, + "Ġåij½ä»¤": 34610, + "onnx": 34611, + "Ġ\"\"))": 34612, + "acb": 34613, + "ewire": 34614, + "Ġ$?": 34615, + "Ġ////": 34616, + "perms": 34617, + "currentColor": 34618, + "protos": 34619, + "Polit": 34620, + "stubs": 34621, + "Ġì¶ľ": 34622, + "ashington": 34623, + "Trig": 34624, + "unu": 34625, + "Ġinet": 34626, + "ĠCredentials": 34627, + "ĠDamage": 34628, + "ffmpeg": 34629, + "ĠBur": 34630, + "shi": 34631, + "akash": 34632, + "UNIQUE": 34633, + "ĠinputStream": 34634, + "IfNot": 34635, + "Ġfunção": 34636, + "Hashes": 34637, + "JoinColumn": 34638, + "Ġausge": 34639, + "Ġimagine": 34640, + "phanum": 34641, + "ĠĠĠĠĠĠĠĠĊ": 34642, + "Ġconcent": 34643, + "ĠLim": 34644, + "applied": 34645, + "GetNext": 34646, + "whole": 34647, + "EXPRESS": 34648, + "HttpStatusCode": 34649, + "ков": 34650, + "Markers": 34651, + "sentinel": 34652, + "ĠCalc": 34653, + "zÅij": 34654, + "oru": 34655, + "ĠDog": 34656, + "erscript": 34657, + "poke": 34658, + "Ġpartially": 34659, + "TreeView": 34660, + "ĠOutlook": 34661, + "ĠPyErr": 34662, + "Ġlosses": 34663, + "Ġmetavar": 34664, + "nice": 34665, + "Ġera": 34666, + "Ġéħįç½®": 34667, + "Ini": 34668, + "keh": 34669, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 34670, + "ĠfindAll": 34671, + "UMNS": 34672, + "Ġdbg": 34673, + "ĠViewModel": 34674, + "radioButton": 34675, + "animations": 34676, + "èĪª": 34677, + "ãĥ¼ãĥĵãĤ¹": 34678, + "Osc": 34679, + "pción": 34680, + "zl": 34681, + "onacci": 34682, + "spel": 34683, + "ĠInstructions": 34684, + "Ġlibr": 34685, + "Itemize": 34686, + "ĠDefender": 34687, + "ĠAbort": 34688, + "ĠCellID": 34689, + "Ġpromises": 34690, + "ĠTransformer": 34691, + "diagonal": 34692, + "ãĤ¢ãĥĹãĥªãĤ±ãĥ¼ãĤ·ãĥ§ãĥ³": 34693, + "dob": 34694, + "ctp": 34695, + "ĠCamp": 34696, + "toggler": 34697, + "setMaximum": 34698, + "Ġju": 34699, + "DataRow": 34700, + "ĠreadOnly": 34701, + "Creative": 34702, + "å®ŀä½ĵ": 34703, + "Ġtermination": 34704, + "ĠBlueprint": 34705, + "Mysql": 34706, + "atore": 34707, + "getOrElse": 34708, + "sprites": 34709, + "Ġrst": 34710, + "planning": 34711, + "ĠgetToken": 34712, + "Ġints": 34713, + "readField": 34714, + "Thetest": 34715, + "popper": 34716, + "ĠModelMapper": 34717, + "SelectedItem": 34718, + "Scaler": 34719, + "ĠOverrides": 34720, + "Ġprojeto": 34721, + "ClusCfg": 34722, + "Ghost": 34723, + "gerrit": 34724, + "mio": 34725, + "Ġcutoff": 34726, + "thought": 34727, + "Ġved": 34728, + "ffset": 34729, + "ĠEval": 34730, + "transmit": 34731, + "NoUn": 34732, + "CONTACT": 34733, + "ĠQuestions": 34734, + ",*)": 34735, + ":\":": 34736, + "ĠGmbH": 34737, + "oud": 34738, + "ĠVulkan": 34739, + "Ġexpectation": 34740, + "Discover": 34741, + "åΰäºĨ": 34742, + "rbac": 34743, + "ĠSpawn": 34744, + "wrappers": 34745, + "Ġplotting": 34746, + "DoesNotExist": 34747, + "åĪĩæį¢": 34748, + "sagemaker": 34749, + "gevens": 34750, + "Ġvotes": 34751, + "otiation": 34752, + "spar": 34753, + "QueryResult": 34754, + "incorrect": 34755, + "ĠPostgres": 34756, + "SECURE": 34757, + "ĠConstructors": 34758, + "EPSG": 34759, + "PRECATED": 34760, + "\"[": 34761, + "Mq": 34762, + "[['": 34763, + "`${": 34764, + "itations": 34765, + "Ġmtl": 34766, + "Ġgql": 34767, + "ĠEI": 34768, + "Ġprovisioning": 34769, + "REPEAT": 34770, + "STAR": 34771, + "listOf": 34772, + "DataReader": 34773, + "ovat": 34774, + "requirement": 34775, + "Pror": 34776, + "Ġfreeze": 34777, + "çIJĨè§£": 34778, + "æµİ": 34779, + "Ġinterrupts": 34780, + "VERTICAL": 34781, + "QY": 34782, + "triggers": 34783, + "ĠCK": 34784, + "ĠTT": 34785, + "ĠRSS": 34786, + "iphy": 34787, + "apipe": 34788, + "Ġswitches": 34789, + "ãģĻãģ¹": 34790, + "dockerfile": 34791, + "Genre": 34792, + "blacklist": 34793, + "ĠColumnVector": 34794, + "åĽ½å®¶": 34795, + "æł·å¼ı": 34796, + "Ġlinewidth": 34797, + "ë°ĺ": 34798, + "Ġvaleur": 34799, + "igenschaft": 34800, + "LANGUAGE": 34801, + "NBT": 34802, + "dcd": 34803, + "rdx": 34804, + "tuples": 34805, + "ĠonSuccess": 34806, + "ĠGro": 34807, + "ecf": 34808, + "rcv": 34809, + "иÑĢ": 34810, + "åĪ·": 34811, + "Ġemission": 34812, + "Ġprimar": 34813, + "accessible": 34814, + "ParseTree": 34815, + "Ġtransformations": 34816, + "Ġsnake": 34817, + "ĠImplements": 34818, + "ĠByteArrayOutputStream": 34819, + "ĠCallingConvention": 34820, + "ASYNC": 34821, + "mrmq": 34822, + "DRE": 34823, + "mma": 34824, + "tps": 34825, + "grading": 34826, + "dbf": 34827, + "PEC": 34828, + "ikube": 34829, + "sai": 34830, + "WebRequest": 34831, + "'))->": 34832, + "Ġearth": 34833, + "growth": 34834, + "ĠAssertionError": 34835, + "Sv": 34836, + "Xiv": 34837, + "rangle": 34838, + "Ġwb": 34839, + "ntl": 34840, + "):**": 34841, + "ĠuseRef": 34842, + "ĠÐł": 34843, + "ĠJon": 34844, + "IsActive": 34845, + "ĠCompat": 34846, + "Ġphy": 34847, + "Ġ'-',": 34848, + "Removing": 34849, + "TRIGGER": 34850, + "Kotlin": 34851, + "qus": 34852, + "ĠSingleton": 34853, + "...',": 34854, + "ĠKotlin": 34855, + "Ġnova": 34856, + "Ġlocalization": 34857, + "ĠEXEC": 34858, + "-----------+": 34859, + "variation": 34860, + "Occurs": 34861, + "EXECUTE": 34862, + "Ġ\"\":": 34863, + "(\"{}": 34864, + "ĠGDAL": 34865, + "\"]}": 34866, + "{{<": 34867, + "ĠComparator": 34868, + "SUPER": 34869, + "explore": 34870, + "Splash": 34871, + "xAA": 34872, + "Ġ\"\".": 34873, + "Ġmic": 34874, + "stractions": 34875, + "ListNode": 34876, + "Ġheard": 34877, + "GroupData": 34878, + "å¼±": 34879, + "ĠAdv": 34880, + "ĠÑģеÑĢ": 34881, + "yypt": 34882, + ">:][<": 34883, + "PHONE": 34884, + "Ġsuppose": 34885, + "YYY": 34886, + "Choices": 34887, + "顺åºı": 34888, + "WireFormatLite": 34889, + ">|<": 34890, + "Liv": 34891, + "hall": 34892, + "mj": 34893, + "songs": 34894, + "}//": 34895, + "Ġtty": 34896, + "alian": 34897, + "ĠCACHE": 34898, + "ĠDar": 34899, + "ValueOf": 34900, + "ĠNames": 34901, + "SocketAddress": 34902, + "Ġbrought": 34903, + "ĠRaises": 34904, + "practice": 34905, + "详æĥħ": 34906, + "PSS": 34907, + "sage": 34908, + "terrain": 34909, + "ĠDF": 34910, + "ĠNPM": 34911, + "Ġ#!/": 34912, + "classify": 34913, + "EventLoop": 34914, + "SCSI": 34915, + "Ġassist": 34916, + "{}'.": 34917, + "Ġ----------------------------------------------------------------------": 34918, + "CCCCFF": 34919, + "uly": 34920, + "DataList": 34921, + "CreateTime": 34922, + "SPLIT": 34923, + "InvalidArgumentException": 34924, + "Prim": 34925, + "ĠHeap": 34926, + "Navbar": 34927, + "нÑĭм": 34928, + ")');": 34929, + "Lsp": 34930, + "bde": 34931, + "Ġmai": 34932, + "updating": 34933, + "Ġ},\\": 34934, + "Season": 34935, + "Thrift": 34936, + "ĠitemId": 34937, + "FIRM": 34938, + "equality": 34939, + "Closest": 34940, + "VOKE": 34941, + "Ġcareful": 34942, + "ĠDockerfile": 34943, + "Inherited": 34944, + "Og": 34945, + "acct": 34946, + "abic": 34947, + "ĠICON": 34948, + "Ġgm": 34949, + "ĠGS": 34950, + "figures": 34951, + "ĠDefined": 34952, + "foundry": 34953, + "optimization": 34954, + "ë°ľ": 34955, + "Coder": 34956, + "Ġpropagate": 34957, + "Rgb": 34958, + "mss": 34959, + "Ġvä": 34960, + "')": 35009, + "upd": 35010, + "Ġcontour": 35011, + "Ġatol": 35012, + "glue": 35013, + "AMO": 35014, + "SPA": 35015, + "è¡¥": 35016, + "Blk": 35017, + "ĠWaiting": 35018, + "Purpose": 35019, + "+=\"": 35020, + "Hr": 35021, + "otic": 35022, + "endi": 35023, + "ĠIID": 35024, + "Protein": 35025, + "akk": 35026, + "Filesystem": 35027, + "Ġuž": 35028, + "ció": 35029, + "fffff": 35030, + "ĠShip": 35031, + "Ġê±": 35032, + "éĻĦ": 35033, + "Ġæµ": 35034, + "Ġcapac": 35035, + "OwnerAccount": 35036, + "ĠSCIP": 35037, + "AssignableFrom": 35038, + "$[": 35039, + "Warehouse": 35040, + "decess": 35041, + "ĠIII": 35042, + "owanie": 35043, + "ĠPDO": 35044, + "ĠNan": 35045, + "REPLY": 35046, + "minimize": 35047, + "Ġmaxim": 35048, + "memcached": 35049, + "cfb": 35050, + "Ġbarcode": 35051, + "(',')": 35052, + "FZ": 35053, + "UCTION": 35054, + "Ġpunto": 35055, + "gemm": 35056, + "ĠMinecraft": 35057, + "TypeCode": 35058, + "ĠWall": 35059, + "ipa": 35060, + "ANCHO": 35061, + "nez": 35062, + "retrie": 35063, + "ResourceName": 35064, + "Ġetcd": 35065, + "eady": 35066, + "âĶĢâĶĢâĶĢâĶĢâĶĢâĶĢ": 35067, + "Hdfs": 35068, + "Night": 35069, + "Oid": 35070, + "dynamodb": 35071, + "lrd": 35072, + "npos": 35073, + "Ġ\")\"": 35074, + "Ġ'['": 35075, + "ĠCExo": 35076, + "Ġ+-": 35077, + "Ġeos": 35078, + "oret": 35079, + "Ġparcel": 35080, + "lineEdit": 35081, + "urlPath": 35082, + "FileStream": 35083, + "notNullable": 35084, + "ArrayType": 35085, + "NotImplemented": 35086, + "HTMLElement": 35087, + "веÑĤ": 35088, + "identifiers": 35089, + "SWAP": 35090, + "ModalLabel": 35091, + "MYSQL": 35092, + "Ġpropried": 35093, + "Ġfunctools": 35094, + "Ġcommodo": 35095, + "Brightness": 35096, + "`()": 35097, + "zookeeper": 35098, + "פ": 35099, + "Ġ'*.": 35100, + "ĠVI": 35101, + "ĠConversion": 35102, + "ĠcurrentTime": 35103, + "Returned": 35104, + "Dar": 35105, + "lama": 35106, + "reversed": 35107, + "Ġslices": 35108, + "ĠSOL": 35109, + "ĠTCL": 35110, + "ĠAMD": 35111, + "DataSize": 35112, + "иг": 35113, + "fae": 35114, + "ãĥŀãĥ³ãĥī": 35115, + "Ġequations": 35116, + "knowledge": 35117, + "trig": 35118, + "ĠÙĩ": 35119, + "otive": 35120, + "ĠNAMES": 35121, + "ĠFil": 35122, + "appender": 35123, + "AMB": 35124, + "Ġposting": 35125, + "ĠUserService": 35126, + "Ġtabela": 35127, + "Deadline": 35128, + "BufferedReader": 35129, + "#$": 35130, + "BNS": 35131, + "Ġterraform": 35132, + "Ġfutures": 35133, + "agged": 35134, + "ĠjButton": 35135, + "ĠJekyll": 35136, + "Ġdisposed": 35137, + "curses": 35138, + "Ġcoeff": 35139, + "SCC": 35140, + "ceiving": 35141, + "ĠSmith": 35142, + "Ġtinyint": 35143, + "Ġdieser": 35144, + ".\".": 35145, + "tam": 35146, + "invent": 35147, + "Ġpipelines": 35148, + "tournament": 35149, + "ĠFTP": 35150, + "Ġante": 35151, + "ensi": 35152, + "ĠIDX": 35153, + "以ä¸Ĭ": 35154, + "ĠLeave": 35155, + "firefox": 35156, + "ãĥĥãĥī": 35157, + "intervals": 35158, + "orphan": 35159, + "ustralia": 35160, + "purge": 35161, + "unsqueeze": 35162, + "Ġété": 35163, + "GPS": 35164, + "Ls": 35165, + "dce": 35166, + "Ġfoc": 35167, + "spreadsheet": 35168, + "INI": 35169, + "ustain": 35170, + "Ġkilled": 35171, + "pypy": 35172, + "ofill": 35173, + "ĠComparison": 35174, + "Ġexited": 35175, + "ĠPublicKey": 35176, + "ĠÑĦайл": 35177, + "ĠвÑĭполн": 35178, + "PVRTX": 35179, + "oute": 35180, + "Ġserves": 35181, + "Indexer": 35182, + "BasePath": 35183, + "bae": 35184, + "Metal": 35185, + "ĠActivation": 35186, + "Ġ..@": 35187, + "werk": 35188, + "optimized": 35189, + "klad": 35190, + "Sb": 35191, + "aaf": 35192, + "apods": 35193, + "ĠCss": 35194, + "ĠTITLE": 35195, + "INCT": 35196, + "Ġbehave": 35197, + "Ġxrange": 35198, + "itemId": 35199, + "ĠINLINE": 35200, + ">(": 35254, + "OURCE": 35255, + "jComboBox": 35256, + "wed": 35257, + "ibase": 35258, + "postcss": 35259, + "Ġevento": 35260, + "ĠIDC": 35261, + "\"}},": 35262, + "Assistant": 35263, + "Ġcleaning": 35264, + "ĠJsonConvert": 35265, + "bundler": 35266, + "practices": 35267, + "solutely": 35268, + "Ġmage": 35269, + "axos": 35270, + "compliance": 35271, + "Thunk": 35272, + "ĠREMOVE": 35273, + "SqlList": 35274, + "BID": 35275, + "Magento": 35276, + "Wildcard": 35277, + "dynamics": 35278, + "vil": 35279, + "ĠSAM": 35280, + "ĠTASK": 35281, + "ĠICollection": 35282, + "Ġentrada": 35283, + "xygen": 35284, + "cba": 35285, + "ĠCommons": 35286, + "lstm": 35287, + "potential": 35288, + "AFF": 35289, + "Iu": 35290, + "WARE": 35291, + "reusable": 35292, + "Ġdisease": 35293, + "ĠDIG": 35294, + "Ġobjs": 35295, + "webdriver": 35296, + "readybrides": 35297, + "yyVAL": 35298, + "rospect": 35299, + "ĠRedux": 35300, + "ĠOBJECTS": 35301, + "Kd": 35302, + "TLE": 35303, + "¡´": 35304, + "reli": 35305, + "',\"": 35306, + "ĠDue": 35307, + "Ġexceeds": 35308, + "ĠJump": 35309, + "Animate": 35310, + "ETA": 35311, + "managers": 35312, + "Ġsampled": 35313, + "(\",\");": 35314, + "Alternate": 35315, + "Simpl": 35316, + "\\:": 35317, + "orama": 35318, + "Ġfav": 35319, + "assemble": 35320, + "ĠSong": 35321, + "StringBuffer": 35322, + "ARIES": 35323, + "reek": 35324, + "WindowManager": 35325, + "Ġfacility": 35326, + "Ġslideshow": 35327, + "aine": 35328, + "cassandra": 35329, + "flickr": 35330, + "pst": 35331, + "ĠMAIN": 35332, + "mino": 35333, + "GetMethod": 35334, + "])/": 35335, + "ĠuserID": 35336, + "LogError": 35337, + "azo": 35338, + "stacks": 35339, + "footnotes": 35340, + "Ġİ": 35341, + "CHANGELOG": 35342, + "hancement": 35343, + "Ġpulled": 35344, + "Benefit": 35345, + ")...": 35346, + "BPM": 35347, + "GED": 35348, + "Pd": 35349, + "VW": 35350, + "Ġä¿®æĶ¹": 35351, + "usi": 35352, + "Intern": 35353, + "spam": 35354, + "ĠPicture": 35355, + "Ġlens": 35356, + "Listening": 35357, + "IsEnabled": 35358, + "ActionButton": 35359, + "movd": 35360, + "Ġoccurrence": 35361, + "Ġattempted": 35362, + "Poller": 35363, + "excluded": 35364, + "ston": 35365, + "orida": 35366, + "emotion": 35367, + "ENDED": 35368, + "Ġcoef": 35369, + "AndGet": 35370, + "åıĺåĮĸ": 35371, + "}-${": 35372, + "ĠCMakeFiles": 35373, + "Nin": 35374, + "OE": 35375, + "OWL": 35376, + "Sprint": 35377, + "vld": 35378, + "çĴ": 35379, + "infile": 35380, + "ĠPIL": 35381, + "traceback": 35382, + "&\\": 35383, + "sdf": 35384, + "edMode": 35385, + "getProject": 35386, + "Ġstm": 35387, + "ĠFund": 35388, + "ä¸ĥ": 35389, + "Ġbypass": 35390, + "...@": 35391, + "FromArgb": 35392, + "ügen": 35393, + "Postal": 35394, + "ConvertF": 35395, + "Ġrounding": 35396, + "nableReference": 35397, + "UITests": 35398, + "reduced": 35399, + "GetPinnableReference": 35400, + "#,": 35401, + "zv": 35402, + "Ġconventions": 35403, + "Exclusive": 35404, + "netflix": 35405, + "ATELL": 35406, + "ĠCombo": 35407, + "à¹Į": 35408, + "ĠBitcoin": 35409, + "æĮīçħ§": 35410, + "ACTIVITY": 35411, + "HISTORY": 35412, + "Ġwurde": 35413, + "eac": 35414, + "magnitude": 35415, + "Å¥": 35416, + "semi": 35417, + "Inbound": 35418, + "Ġsecs": 35419, + "ĠKar": 35420, + "Ġselects": 35421, + "æĪIJåijĺ": 35422, + "WEEN": 35423, + "使ç͍çļĦ": 35424, + "è¿ĩ滤": 35425, + "Ġheads": 35426, + "Merged": 35427, + "Ġdrug": 35428, + "timers": 35429, + "getExecSqlList": 35430, + "FJ": 35431, + "Kar": 35432, + "VQ": 35433, + "zg": 35434, + "ç£": 35435, + "Ġfru": 35436, + "://\"": 35437, + "ĠĠĠĠĠĊĠĠĠĠ": 35438, + "Ġchallenges": 35439, + "Ġarena": 35440, + "FFT": 35441, + "Outlet": 35442, + "Ġparties": 35443, + "Flavor": 35444, + "ìĹĪ": 35445, + "ĠInteraction": 35446, + "ĠStyled": 35447, + "Ġceil": 35448, + "factors": 35449, + "ĠобÑĬ": 35450, + "ĠTracking": 35451, + "associated": 35452, + "ĠRotate": 35453, + "ĠAlternatively": 35454, + "Gid": 35455, + "Mit": 35456, + "orough": 35457, + "Ġciph": 35458, + "Ġmole": 35459, + "ĠNN": 35460, + "ĠBand": 35461, + "SPAR": 35462, + "aae": 35463, + "Ġswitched": 35464, + "Ġwebsites": 35465, + "gaussian": 35466, + "RateLimit": 35467, + "GeneratedValue": 35468, + "ĠRefactor": 35469, + "éķľ": 35470, + "prepareStatement": 35471, + "????": 35472, + "ĠSolutions": 35473, + "''''''''": 35474, + "tat": 35475, + "ĠGPS": 35476, + "Ġcorrected": 35477, + "ĠMainWindow": 35478, + "ĠCLIENT": 35479, + "।": 35480, + "èĢĥèĻij": 35481, + "UIC": 35482, + "âģ": 35483, + "inception": 35484, + "lox": 35485, + "ĠRM": 35486, + "Ġserving": 35487, + "ĠExperience": 35488, + "ldr": 35489, + "realpath": 35490, + "throwable": 35491, + "ìŀĦ": 35492, + "ĠParty": 35493, + "facility": 35494, + "TipoProrrateoImpor": 35495, + "Ġê³ł": 35496, + "kir": 35497, + "Ġwf": 35498, + "getMock": 35499, + "InMemory": 35500, + "ĠPok": 35501, + "allclose": 35502, + "Ġghost": 35503, + "Namespaces": 35504, + "Ġjdbc": 35505, + "TestBase": 35506, + "ĠExercise": 35507, + "alsy": 35508, + "accessibility": 35509, + "ä¸ĭçļĦ": 35510, + "åĪĨéħį": 35511, + "å§Ķ": 35512, + "Ġfacebook": 35513, + "rejected": 35514, + "å¼ĤæŃ¥": 35515, + "ĠExecutionContext": 35516, + "ë¸Į": 35517, + "ĠíķĦìļĶ": 35518, + "Xcode": 35519, + "league": 35520, + "liver": 35521, + "ĠLCD": 35522, + "Ġunmanaged": 35523, + "Ġabstraction": 35524, + "RefCount": 35525, + "ĠLOC": 35526, + "Descending": 35527, + "Ġentering": 35528, + "ĠPopup": 35529, + "Correlation": 35530, + "Ġå½ĵ": 35531, + "aval": 35532, + "__;": 35533, + "Ġbeg": 35534, + "Ġprep": 35535, + "CLS": 35536, + "BlockSize": 35537, + "Ġradians": 35538, + "ĠyyS": 35539, + "Ġattacker": 35540, + "*=": 35541, + "explain": 35542, + "ueba": 35543, + "ĠPF": 35544, + "--------------------": 35545, + "ĠVision": 35546, + "ListEntry": 35547, + "ĠProduction": 35548, + "glVertex": 35549, + "类似": 35550, + "žete": 35551, + "sylius": 35552, + "Mojo": 35553, + "Ġinfra": 35554, + "Ambient": 35555, + "ĠðŁĽij": 35556, + "bfe": 35557, + "impact": 35558, + "ĠRecovery": 35559, + "Ġcomputes": 35560, + "TEC": 35561, + "Ġdetach": 35562, + "ä¾Ĩ": 35563, + "Grup": 35564, + "+'>()": 35660, + "recording": 35661, + "éĻĨ": 35662, + "ắ": 35663, + "ÅĤÄħc": 35664, + "Ġmasked": 35665, + "Ġhaben": 35666, + "CIPHER": 35667, + "åĿIJæłĩ": 35668, + "Dex": 35669, + "Snow": 35670, + "won": 35671, + "ÏĮ": 35672, + "Ġdod": 35673, + "Ġselenium": 35674, + "ĠMARK": 35675, + "artz": 35676, + "Ġori": 35677, + "Ġstrategies": 35678, + "Ġ\\)": 35679, + "sizecache": 35680, + "ĠÐĹ": 35681, + "åı«": 35682, + "joined": 35683, + "CONFIGURATION": 35684, + "Ġperiodic": 35685, + "Ġopponent": 35686, + "sproj": 35687, + "}','": 35688, + "Ġ########": 35689, + "isString": 35690, + "Ġrelies": 35691, + "Ġwt": 35692, + "ĠFB": 35693, + "Ġentr": 35694, + "SYSCALL": 35695, + "ĠRuns": 35696, + "fitness": 35697, + "åĽ¾åĥı": 35698, + "Traversal": 35699, + "ĠChef": 35700, + "keyedLiteral": 35701, + "NoUnkeyedLiteral": 35702, + "ATELLITE": 35703, + "Ram": 35704, + "fml": 35705, + "Ġpak": 35706, + "ĠPrec": 35707, + "Ġkap": 35708, + "Ġ?=": 35709, + "аÑħ": 35710, + "gressor": 35711, + "ä¸Ģå®ļ": 35712, + "ĠBeautiful": 35713, + "ĠMedium": 35714, + "íŀĪ": 35715, + "GK": 35716, + "Grib": 35717, + "_-": 35718, + "eeb": 35719, + "ocop": 35720, + "loops": 35721, + "Ġrecipes": 35722, + "oti": 35723, + "Stuff": 35724, + "proper": 35725, + "Ġdoctor": 35726, + "county": 35727, + "())),": 35728, + "IsNot": 35729, + "ĠhttpRequest": 35730, + "ìĹIJëĬĶ": 35731, + "ĠDecision": 35732, + "ĠHOST": 35733, + "DeepCopy": 35734, + "ĠHDInsight": 35735, + "?\");": 35736, + "Yj": 35737, + "pedia": 35738, + "Ġich": 35739, + "Ġæľī": 35740, + "Ġhass": 35741, + "ĠPART": 35742, + "ĠBLE": 35743, + "ĠVan": 35744, + "logistics": 35745, + "âĢķ": 35746, + "ány": 35747, + "--------------------------------------------------------------------------------------------------------------------------------": 35748, + "ManyToOne": 35749, + "Ġgradients": 35750, + "octet": 35751, + "Ġåıij表": 35752, + "edBy": 35753, + "Ġbob": 35754, + "Ġ:---": 35755, + "Ġbecame": 35756, + "ddc": 35757, + "amble": 35758, + "Ġshorter": 35759, + "CppI": 35760, + "Ġworkflows": 35761, + "ä¼łåħ¥": 35762, + "ĠëķĮ문": 35763, + "æļĤ": 35764, + "?(:": 35765, + "Fog": 35766, + "Gn": 35767, + "Tes": 35768, + "orbit": 35769, + "antd": 35770, + "Ġaç": 35771, + "Ġ:\"": 35772, + "ĠVoice": 35773, + "uclear": 35774, + "TOO": 35775, + "ĠTraits": 35776, + "solar": 35777, + "bbf": 35778, + "ê°Ĵ": 35779, + "Assignments": 35780, + "Ingredient": 35781, + ";%": 35782, + "pname": 35783, + "acos": 35784, + "Ġconcurrency": 35785, + "``:": 35786, + "pension": 35787, + "GLFW": 35788, + "ĠTransitional": 35789, + "ĠPhil": 35790, + "golden": 35791, + "ç»§ç»Ń": 35792, + "Les": 35793, + "dana": 35794, + "tcl": 35795, + "heatmap": 35796, + "ĠSparse": 35797, + "toByteArray": 35798, + "Ġ@}": 35799, + "Ġexcess": 35800, + "Ġrowspan": 35801, + "Reduction": 35802, + "bgp": 35803, + "ĠFlush": 35804, + "CASELIST": 35805, + "Ġpenalty": 35806, + "ĠPREFIX": 35807, + "Fprintf": 35808, + "Jw": 35809, + "WCHAR": 35810, + "ÅĪ": 35811, + "Ġpaddle": 35812, + "Ġmue": 35813, + "Ġmother": 35814, + "Contour": 35815, + "åĪ»": 35816, + "Ġbacking": 35817, + "ĠTHROW": 35818, + "ĠSLOT": 35819, + "Ġprefetch": 35820, + "OutOfBoundsException": 35821, + "Earth": 35822, + "pca": 35823, + "semin": 35824, + "isChecked": 35825, + "ĠScr": 35826, + "getDocument": 35827, + "Reviews": 35828, + "estib": 35829, + "Unset": 35830, + "TableView": 35831, + "ĠUpdating": 35832, + "Administr": 35833, + "ĠQuad": 35834, + "Å¡t": 35835, + "Ġdetermining": 35836, + "}:${": 35837, + "ĠEverything": 35838, + ")>>": 35839, + "Vt": 35840, + "Yi": 35841, + "sst": 35842, + "Ġ请æ±Ĥ": 35843, + "itud": 35844, + "ĠAck": 35845, + "Ġgyro": 35846, + "ĠHack": 35847, + "Ġroc": 35848, + "Ġzend": 35849, + "Ġnous": 35850, + "serviceName": 35851, + "RESSED": 35852, + "ĠAbsolute": 35853, + "nominal": 35854, + "ĠìĤ¬ìļ©ìŀIJ": 35855, + "íĶĮ": 35856, + "#(": 35857, + "/;": 35858, + "udd": 35859, + "uere": 35860, + "Ġreminder": 35861, + "Ġtour": 35862, + "iselect": 35863, + "OnChange": 35864, + "Ġedx": 35865, + "Ġexiting": 35866, + "éģ©": 35867, + "Nearest": 35868, + "))))))": 35869, + "ENCIL": 35870, + "Ġessential": 35871, + "TTY": 35872, + "ZC": 35873, + "Ġtal": 35874, + "Ġbodies": 35875, + "ĠCool": 35876, + "flen": 35877, + "ül": 35878, + "PostMapping": 35879, + "Ġfees": 35880, + "Ġstatuses": 35881, + "Decorated": 35882, + "Triple": 35883, + "ĠBuiltin": 35884, + "SchedulingSimulation": 35885, + ";_": 35886, + "lake": 35887, + "getOutput": 35888, + "esser": 35889, + "ĠHAS": 35890, + "ADA": 35891, + "Ġpero": 35892, + "whl": 35893, + "Ġsolving": 35894, + "radians": 35895, + "åīĬ": 35896, + "Ġpushing": 35897, + "BTN": 35898, + "Ġtraditional": 35899, + "ADED": 35900, + "LTA": 35901, + "Yield": 35902, + "brown": 35903, + "ÐĽ": 35904, + "Ġže": 35905, + "Ġpq": 35906, + "setLocation": 35907, + "addi": 35908, + "ENCODING": 35909, + "Getenv": 35910, + "=''": 35911, + "='<": 35912, + "ä»ĵ": 35913, + "noupdate": 35914, + "APPRO": 35915, + "sampled": 35916, + "ĠDiscovery": 35917, + "amentals": 35918, + "MIX": 35919, + "æĮĩéĴĪ": 35920, + "CCEEDED": 35921, + "Ġhogy": 35922, + "-*": 35923, + "Fc": 35924, + "Kl": 35925, + "Labs": 35926, + "Votes": 35927, + "dou": 35928, + "istream": 35929, + "stringValue": 35930, + "penalty": 35931, + "Objs": 35932, + "=>\"": 35933, + "Ġinitializes": 35934, + "åĪĨå¸ĥ": 35935, + "Grab": 35936, + "IDENTITY": 35937, + "Ġfolks": 35938, + "comboBox": 35939, + "BH": 35940, + "JVM": 35941, + "JUST": 35942, + "Virt": 35943, + "faf": 35944, + "kid": 35945, + "kub": 35946, + "agi": 35947, + "Ġextras": 35948, + "Ġrh": 35949, + "CreateInstance": 35950, + "न": 35951, + "$$$$": 35952, + "ĠOSX": 35953, + "ĠDecor": 35954, + "ĠIncludes": 35955, + "Npc": 35956, + "dX": 35957, + "Ġcamel": 35958, + "transp": 35959, + "codehaus": 35960, + "ĠRemember": 35961, + "ikes": 35962, + "Clk": 35963, + "æľºåύ": 35964, + "Ġpadr": 35965, + "Ġpadded": 35966, + "ratings": 35967, + "Ġdemonstrates": 35968, + "Spline": 35969, + "Ġkhông": 35970, + "lipsis": 35971, + "Cxx": 35972, + "TProtocol": 35973, + "aip": 35974, + "ĠDSL": 35975, + "ENCRYPT": 35976, + "reduction": 35977, + "transit": 35978, + "metab": 35979, + "drain": 35980, + "PERATURAN": 35981, + "fillStyle": 35982, + "ĠPyArray": 35983, + "alesce": 35984, + "ĠFIRST": 35985, + "gorm": 35986, + "ĠTD": 35987, + "Ġdestructor": 35988, + "toDate": 35989, + "Ġjenkins": 35990, + "ViewModels": 35991, + "Ġprobabilities": 35992, + "Ġtea": 35993, + "ä¸Ńæĸĩ": 35994, + "æĮĩ令": 35995, + "Consume": 35996, + "Connectors": 35997, + "ĠFIELD": 35998, + "LCJwYWNrYWdl": 35999, + "Crit": 36000, + "Hal": 36001, + "Pump": 36002, + "Tou": 36003, + "Ġrigid": 36004, + "rebuild": 36005, + "exercises": 36006, + "ĠgRPC": 36007, + "Ġunrelated": 36008, + "SEED": 36009, + "ichen": 36010, + "blast": 36011, + "ĠCompleted": 36012, + "Ġlaunched": 36013, + "öl": 36014, + "expense": 36015, + "ĠUsuario": 36016, + "´ë³": 36017, + "ĠRelay": 36018, + "าย": 36019, + "DELTA": 36020, + "Ġaudience": 36021, + "basket": 36022, + "erometer": 36023, + "Ġbanco": 36024, + "Ġvent": 36025, + "ableView": 36026, + "ách": 36027, + "lightning": 36028, + "æĿİ": 36029, + "Ġaccordance": 36030, + "drug": 36031, + "converted": 36032, + "Ġpersisted": 36033, + "promotion": 36034, + "ĠConnected": 36035, + "reactivex": 36036, + "(/*": 36037, + ",âĢĿ": 36038, + "acme": 36039, + "ĠRen": 36040, + "ĠtypeOf": 36041, + "owners": 36042, + "neon": 36043, + "ĠOutputStream": 36044, + "Ġdatasource": 36045, + "hj": 36046, + "remap": 36047, + "Ġtort": 36048, + "StateChange": 36049, + "ĠcomponentWill": 36050, + "ĠAdam": 36051, + "Instrumentation": 36052, + "èįIJ": 36053, + "Kel": 36054, + "Want": 36055, + "baf": 36056, + "à²": 36057, + "lopt": 36058, + "Ġconsecutive": 36059, + "setBounds": 36060, + "miner": 36061, + "Ġuart": 36062, + "Ansi": 36063, + "Ġkeyof": 36064, + "Impact": 36065, + "ĠborderColor": 36066, + "Editors": 36067, + "Ġ×¢": 36068, + "INFINITY": 36069, + "Ġì°¸": 36070, + "Gantt": 36071, + "enza": 36072, + "idat": 36073, + "',[": 36074, + "ALTO": 36075, + "FOC": 36076, + "linewidth": 36077, + "Ġretrofit": 36078, + "inston": 36079, + "footnote": 36080, + ")/$(": 36081, + "ĠStateful": 36082, + "Ġaktual": 36083, + "Ġengines": 36084, + "liography": 36085, + "Fq": 36086, + "Ġproced": 36087, + "gling": 36088, + "Ġ[\"/": 36089, + "FLAT": 36090, + "&&(": 36091, + "ä½łåı¯ä»¥": 36092, + "ĠSUBSETP": 36093, + "Ġpodem": 36094, + "clamation": 36095, + "Voxel": 36096, + "ebe": 36097, + "hyp": 36098, + "spher": 36099, + "ĠDIAL": 36100, + "ĠFort": 36101, + "chess": 36102, + "ĠYouTube": 36103, + "Ġqueryset": 36104, + "containerid": 36105, + "енÑĮ": 36106, + "Screenshots": 36107, + "SIGNATURE": 36108, + "onedDateTime": 36109, + "Ġê°ĢëĬ¥": 36110, + "Ġgaia": 36111, + "Ġkteré": 36112, + "FRAGMENT": 36113, + "Bp": 36114, + "Django": 36115, + "Ġpdb": 36116, + "ĠPas": 36117, + "importer": 36118, + "ĊĊĊĊĠ": 36119, + "Managers": 36120, + "ComponentPrivate": 36121, + "pubkey": 36122, + "Primitives": 36123, + "å°±åı¯ä»¥": 36124, + "evalcond": 36125, + "ĠFunciones": 36126, + "ç¾İåĽ½": 36127, + "itative": 36128, + "ĠPiece": 36129, + "ény": 36130, + "homebrew": 36131, + "forcement": 36132, + "åħ·æľī": 36133, + "Ġsingular": 36134, + "Paging": 36135, + "ĊĠĠĠĠĊĊĠĠĠ": 36136, + "ĠUSD": 36137, + "conten": 36138, + "ĠActionResult": 36139, + "Ġaccepting": 36140, + "Ġjourney": 36141, + "Ġorganisation": 36142, + "ĠBOOLEAN": 36143, + "CodedOutputStream": 36144, + "Ġcaracteres": 36145, + "Imm": 36146, + "alm": 36147, + "Chance": 36148, + "pher": 36149, + "centroid": 36150, + "\"/>.-<": 36398, + ".\")]": 36399, + "King": 36400, + "TValue": 36401, + "\\{": 36402, + "->$": 36403, + "Ġhur": 36404, + "toi": 36405, + "Ġly": 36406, + "Ġgü": 36407, + "ĠGallery": 36408, + "subtotal": 36409, + "insi": 36410, + "HasKey": 36411, + "TWO": 36412, + "ĠSpatial": 36413, + "人åijĺ": 36414, + "ĠSerializer": 36415, + "Ġressources": 36416, + ";++": 36417, + "driven": 36418, + "fns": 36419, + "Ġnostr": 36420, + "ĠChinese": 36421, + "ĠmapDispatch": 36422, + "Ġshowed": 36423, + "ApiException": 36424, + "Ġregards": 36425, + "Ġfunción": 36426, + "APPLE": 36427, + "bibinfo": 36428, + "taken": 36429, + "Ġtslint": 36430, + "unreachable": 36431, + "ĠSATELLITE": 36432, + "shint": 36433, + "Ġconta": 36434, + "Ġpackaging": 36435, + "healthy": 36436, + "ست": 36437, + "ROUTINE": 36438, + "Bc": 36439, + "Ku": 36440, + "Plate": 36441, + "Uy": 36442, + "WIP": 36443, + "Ġdiscrete": 36444, + "Removal": 36445, + "ĠâĿ": 36446, + "Ġsanitize": 36447, + "*)(*": 36448, + "Ġmanipulate": 36449, + "Ġresolving": 36450, + "prettier": 36451, + "IndentingNewLine": 36452, + "Videos": 36453, + "]{\\": 36454, + "_()": 36455, + "attempts": 36456, + "Ġvill": 36457, + "ĠIgn": 36458, + "prt": 36459, + "']\").": 36460, + "tested": 36461, + "ï¼İ": 36462, + "ificador": 36463, + "Ġoblig": 36464, + "Ġfloats": 36465, + "sketch": 36466, + "Ġflavor": 36467, + "ĠFileUtils": 36468, + "Memcpy": 36469, + "олж": 36470, + "Connectivity": 36471, + "Irp": 36472, + "Qq": 36473, + "hos": 36474, + "è¤": 36475, + "unload": 36476, + "mpot": 36477, + "Ġexpt": 36478, + "fight": 36479, + "forma": 36480, + "classnames": 36481, + "дал": 36482, + "Neo": 36483, + "FILMA": 36484, + "ÑĪиб": 36485, + "Transcript": 36486, + "ĠFOLDEF": 36487, + "GattCharacteristic": 36488, + "aeb": 36489, + "eW": 36490, + "harga": 36491, + "mpy": 36492, + "Ġbeautiful": 36493, + "FFE": 36494, + "PRON": 36495, + "ĠBelow": 36496, + "allows": 36497, + "Scrollbar": 36498, + "ĠCalls": 36499, + "cryptocompare": 36500, + "Ġbundles": 36501, + "Ġobviously": 36502, + "ĠIpsum": 36503, + "ĠAppCompatActivity": 36504, + "WIDGET": 36505, + "ORITHM": 36506, + "Ġtensors": 36507, + "edata": 36508, + "Ġ}\"": 36509, + "Ġ'=": 36510, + "ĠisActive": 36511, + "summer": 36512, + "SubElement": 36513, + "msgstr": 36514, + "MSK": 36515, + "bfb": 36516, + "SOLE": 36517, + "(\"#{": 36518, + "abilir": 36519, + "multiplier": 36520, + "åģľæŃ¢": 36521, + "NOP": 36522, + "mth": 36523, + "pdata": 36524, + "xg": 36525, + "itk": 36526, + "getParam": 36527, + "ĠRabbit": 36528, + "âĢĮ": 36529, + "specialchars": 36530, + "PopupMenu": 36531, + "ĠSurvey": 36532, + "Qn": 36533, + "renew": 36534, + "Ġsquares": 36535, + "Ġgg": 36536, + "ĠInet": 36537, + "Ġknex": 36538, + "çļĦè¯Ŀ": 36539, + "Ġëħ": 36540, + "Starts": 36541, + "entityManager": 36542, + "Widths": 36543, + "ĠVersions": 36544, + "ĠDAO": 36545, + "ucks": 36546, + "åħ¶å®ŀ": 36547, + "ë§ģ": 36548, + "\">[);": 36599, + "accessing": 36600, + "ĠHelm": 36601, + "åĬłå¯Ĩ": 36602, + ">`;": 36603, + ".),": 36604, + "Julia": 36605, + "mensaje": 36606, + "Òĥ": 36607, + "Ġjour": 36608, + "ĠUK": 36609, + "StringVar": 36610, + "Trusted": 36611, + "packaging": 36612, + "arna": 36613, + "Ġmaintainer": 36614, + "説": 36615, + "Ġ매": 36616, + "premium": 36617, + "ogeneous": 36618, + "Bund": 36619, + "assertInstanceOf": 36620, + "Ġnoreferrer": 36621, + "Ġusuarios": 36622, + "ĠQA": 36623, + "requirejs": 36624, + "ELL": 36625, + "STRIB": 36626, + "ictor": 36627, + "ðŁĺ": 36628, + "ĠCharSequence": 36629, + "ç¼ĸåı·": 36630, + "ân": 36631, + "æİ¨èįIJ": 36632, + "ëIJĺëĬĶ": 36633, + "fuscated": 36634, + "Gb": 36635, + "Mip": 36636, + "voxel": 36637, + "ĠåΤæĸŃ": 36638, + "arial": 36639, + "Ġbattle": 36640, + "Ġ<--": 36641, + "()]);": 36642, + "ĠFall": 36643, + "defines": 36644, + "lockm": 36645, + "ĠDevelopers": 36646, + "Ġtranslator": 36647, + "åħ´": 36648, + "ĠUndefined": 36649, + "ıs": 36650, + "AssertEqual": 36651, + "Ġdeploying": 36652, + "Ġfourth": 36653, + "nimiq": 36654, + "æ¥Ń": 36655, + "lezion": 36656, + ">({": 36657, + "Dw": 36658, + "GCP": 36659, + "tptest": 36660, + "getOwnProperty": 36661, + "strtolower": 36662, + "ĊĊĊĉĉ": 36663, + "ĠFAQ": 36664, + "OND": 36665, + "iov": 36666, + "KeyPress": 36667, + "TestFixture": 36668, + "ÑĤÑĥ": 36669, + "Ġ[]).": 36670, + "IBM": 36671, + "ĠToolbar": 36672, + "ìłģìĿ¸": 36673, + "ĠFRAME": 36674, + "EEEEFF": 36675, + "iou": 36676, + "naming": 36677, + "Ġcác": 36678, + "();//": 36679, + "Ġsubclasses": 36680, + "[]": 36704, + "Aa": 36705, + "sir": 36706, + "Ġnella": 36707, + "ĠCategories": 36708, + "ĠRating": 36709, + "ĠVC": 36710, + "createClass": 36711, + "primaryKey": 36712, + "Ġcorpor": 36713, + "Ġviolation": 36714, + "á»ĩn": 36715, + "Ġlétre": 36716, + "clic": 36717, + "fba": 36718, + "essel": 36719, + "ĊĉĊĠĠĠ": 36720, + "abf": 36721, + "Reality": 36722, + "ĠPrl": 36723, + "Ġjunit": 36724, + "ĠYM": 36725, + "slt": 36726, + "Processors": 36727, + "datatable": 36728, + "Showing": 36729, + "го": 36730, + "amanho": 36731, + "zdGF": 36732, + "ĠHope": 36733, + "ĠImprove": 36734, + "Ġmüssen": 36735, + ")'],": 36736, + "@%": 36737, + "lord": 36738, + "erl": 36739, + "Ġfashion": 36740, + "unref": 36741, + "unnamed": 36742, + "()?>": 36743, + "Proceedings": 36744, + "çļĦæĹ¶éĹ´": 36745, + "orgot": 36746, + "Ġada": 36747, + "ĠhttpResponse": 36748, + "administrator": 36749, + "BorderColor": 36750, + "éĢŁåº¦": 36751, + "Ġìŀħëł¥": 36752, + "Differ": 36753, + "uke": 36754, + "witch": 36755, + "Ġfv": 36756, + "Ġinj": 36757, + "elin": 36758, + "usually": 36759, + "traces": 36760, + "ptic": 36761, + "__),": 36762, + "Ġlob": 36763, + "observed": 36764, + "GetText": 36765, + "FieldError": 36766, + "transient": 36767, + "ĠSerif": 36768, + "Ġproble": 36769, + "addrs": 36770, + "sión": 36771, + "Ġaccumulator": 36772, + "Ġforest": 36773, + "//----------------------------------------------------------------------------": 36774, + "ĠTooltip": 36775, + "ÑĨиÑı": 36776, + "ì¤Ģ": 36777, + "Ġeiusmod": 36778, + ",__": 36779, + "Give": 36780, + "lka": 36781, + "istema": 36782, + "ValueChanged": 36783, + "viewModel": 36784, + "Translations": 36785, + "cellaneous": 36786, + "Ġdivider": 36787, + "terminated": 36788, + "consensus": 36789, + "Ġsockets": 36790, + "ï¼Ł](": 36791, + "æ´¾": 36792, + "ĠSOURCE": 36793, + "SCHEME": 36794, + "GribCollection": 36795, + "Above": 36796, + "IAB": 36797, + "Rsp": 36798, + "ZV": 36799, + "cie": 36800, + "Ġtweets": 36801, + "Ġmorph": 36802, + "threaded": 36803, + "umd": 36804, + "Ġenvelope": 36805, + "ä¸įéľĢè¦ģ": 36806, + "ĠPosts": 36807, + "Ġappropriately": 36808, + "ĠSorted": 36809, + "CultureInfo": 36810, + "Ġcoins": 36811, + "MongoDB": 36812, + "ĠMartin": 36813, + "Ġworst": 36814, + "lotted": 36815, + "Mood": 36816, + "Ġ---------": 36817, + "heter": 36818, + "Ġindivid": 36819, + "Ġ$($": 36820, + "prg": 36821, + "ARENT": 36822, + "=\"/\">": 36823, + "Ġtriangles": 36824, + "ufen": 36825, + "Ġfeeds": 36826, + "Ġë§Ī": 36827, + "getDefaultInstance": 36828, + "toMatchSnapshot": 36829, + "FWD": 36830, + "QUEST": 36831, + "nvm": 36832, + "ctf": 36833, + "Ġsequential": 36834, + "Ġdelt": 36835, + "Repair": 36836, + "Ġstrtolower": 36837, + "Ġ.$": 36838, + "([{": 36839, + "лаÑģÑģ": 36840, + "ĠPlane": 36841, + "Errno": 36842, + "Ġ\"+\",": 36843, + "ĠмеÑĤ": 36844, + "Ġfewer": 36845, + "ĠLabels": 36846, + "quadr": 36847, + "ĠReviewable": 36848, + "oscaler": 36849, + "CLASSES": 36850, + "Dj": 36851, + "ĠtButton": 36852, + "Ġfab": 36853, + "Ġaid": 36854, + "Ġdbo": 36855, + "ifique": 36856, + "ClientRect": 36857, + "stdcall": 36858, + "Ġmodeling": 36859, + "vous": 36860, + "lightbox": 36861, + "VLD": 36862, + "âķij": 36863, + "Ġà¦ı": 36864, + "xw": 36865, + "utar": 36866, + "getPage": 36867, + "getDeclared": 36868, + "ortion": 36869, + "ĠCDN": 36870, + "odbc": 36871, + "agree": 36872, + "Ġbehaviors": 36873, + "outbound": 36874, + ").\"": 36875, + "ĠgetContent": 36876, + "StringPtr": 36877, + "Ġunreachable": 36878, + "behind": 36879, + "Comparable": 36880, + "enuation": 36881, + "ĠChina": 36882, + "čĊĠĠĠĠč": 36883, + "WebApp": 36884, + "Ġinclusion": 36885, + "SVC": 36886, + "ĉĉĉĉĉĉĉĉĉ": 36887, + "MACRO": 36888, + "æķ´æķ°": 36889, + "Amz": 36890, + "aaaaaaaaaaaaaaaa": 36891, + "Zi": 36892, + "dT": 36893, + "zuf": 36894, + "asso": 36895, + "Ġstrpos": 36896, + "ĠgetRandom": 36897, + "Chrom": 36898, + "Ġapart": 36899, + "ĠmapStateToProps": 36900, + "Ġformato": 36901, + "Pv": 36902, + "Ġsein": 36903, + "ĠFork": 36904, + "Ġpropagation": 36905, + "TextAppearance": 36906, + "Ġavail": 36907, + "Ġestimation": 36908, + "('.')": 36909, + "æĬ½": 36910, + "ExperimentEnv": 36911, + "ExperimentResultSet": 36912, + "CallableWrapper": 36913, + "ĠBindingFlags": 36914, + "aacute": 36915, + "millis": 36916, + "Ġcoffee": 36917, + "etCode": 36918, + "emacs": 36919, + "veral": 36920, + "aggle": 36921, + "inders": 36922, + "vecs": 36923, + "WithDefault": 36924, + "CommandOutput": 36925, + "privateKey": 36926, + "ApiOperation": 36927, + "WebDriver": 36928, + "ĠPlug": 36929, + "Ġautomodule": 36930, + "Ġinformazioni": 36931, + "CastException": 36932, + "åij½åIJį": 36933, + "æķ´ä¸ª": 36934, + "Ġnickname": 36935, + "Zv": 36936, + "alah": 36937, + "meg": 36938, + "icorp": 36939, + "inden": 36940, + "Ġklient": 36941, + "cbf": 36942, + "mmc": 36943, + "OpenCV": 36944, + "Customizer": 36945, + "Ġcharacteristic": 36946, + "persona": 36947, + "ĠAngle": 36948, + "renders": 36949, + "Ġayar": 36950, + "METRIC": 36951, + "waves": 36952, + "zet": 36953, + "}\")]": 36954, + "leto": 36955, + "Ġpst": 36956, + "Ġremap": 36957, + "orto": 36958, + "ĠDas": 36959, + "astian": 36960, + "GetProperty": 36961, + "Unqualified": 36962, + "ĠпаÑĢамеÑĤ": 36963, + "Ġattend": 36964, + "Granted": 36965, + "cidr": 36966, + "ãĥ¼ãĤ¸ãĥ§ãĥ³": 36967, + "Ġpermite": 36968, + "ighthouse": 36969, + "HIB": 36970, + "Ll": 36971, + "wchar": 36972, + "Ġnop": 36973, + "unj": 36974, + "Insn": 36975, + "REASON": 36976, + "')],": 36977, + "ByVersion": 36978, + "ServerName": 36979, + "NAMED": 36980, + "copyOf": 36981, + "icolon": 36982, + "Vent": 36983, + "hay": 36984, + "algebra": 36985, + "Ġamazing": 36986, + "Ġrain": 36987, + "ĠjPanel": 36988, + "addIndex": 36989, + "ĠHaving": 36990, + "Ġsubtype": 36991, + "æĹ©": 36992, + "ãģĹãģª": 36993, + "serializeOp": 36994, + "ĠMozilla": 36995, + "Termination": 36996, + "IRONMENT": 36997, + "+\")": 36998, + "dap": 36999, + "kB": 37000, + "qg": 37001, + "tiff": 37002, + "Ġmilli": 37003, + "Ġstrat": 37004, + "currentThread": 37005, + "enumeration": 37006, + "FragmentManager": 37007, + "kernels": 37008, + "Ġlandscape": 37009, + "ĠPrepared": 37010, + "ĠиÑģполÑĮз": 37011, + "abupaten": 37012, + "AFT": 37013, + "duplicates": 37014, + "fingerprint": 37015, + "jumlah": 37016, + "stro": 37017, + "dez": 37018, + "Ġsweep": 37019, + "azine": 37020, + "Interp": 37021, + "Ġdeployments": 37022, + "Ġë°ľ": 37023, + "æŁIJ个": 37024, + "Ġvocabulary": 37025, + "Looper": 37026, + "Ster": 37027, + "exhaustive": 37028, + "acja": 37029, + "Unmanaged": 37030, + "ComCallableWrapper": 37031, + "Ġreaders": 37032, + "TableModel": 37033, + "CONTRACT": 37034, + "Impro": 37035, + "ymmetric": 37036, + "columnName": 37037, + "Ġsymmetric": 37038, + "証": 37039, + "Ã¥r": 37040, + "..\\..\\": 37041, + ")=>": 37042, + "GFX": 37043, + "Ġ\"\"));": 37044, + "igar": 37045, + "antages": 37046, + "INTERRUP": 37047, + "ĠFileOutputStream": 37048, + "å¹ķ": 37049, + "Directions": 37050, + "Ġlocking": 37051, + "consistency": 37052, + "Ġdescending": 37053, + "ĠIterate": 37054, + "Ġ[\\#": 37055, + "Fy": 37056, + "`\"}],": 37057, + "bfd": 37058, + "cfa": 37059, + "pmd": 37060, + "âŁ": 37061, + "iffs": 37062, + "Deletes": 37063, + "Shuffle": 37064, + "openapiv": 37065, + "leftJoin": 37066, + "VELO": 37067, + "Ġgrav": 37068, + "ĠBaseClass": 37069, + "ĠOrdering": 37070, + "Polynomial": 37071, + "Ġquesto": 37072, + "jel": 37073, + "rá": 37074, + "ĠTY": 37075, + "eman": 37076, + "ĠLabor": 37077, + "outgoing": 37078, + "scenes": 37079, + "REDIS": 37080, + "StateManager": 37081, + "CHUNK": 37082, + "EXPI": 37083, + "bottomnavigation": 37084, + "ĠScripts": 37085, + "Ġnearly": 37086, + "Ġìĺģ": 37087, + "éĵ¾è¡¨": 37088, + "Ġelasticsearch": 37089, + "Ġsanity": 37090, + "glog": 37091, + "ĠSleep": 37092, + "getWindow": 37093, + "refman": 37094, + "ritt": 37095, + "ĠStudy": 37096, + "genesis": 37097, + "ãĥ¼ãĥ³": 37098, + "Barcode": 37099, + "seealso": 37100, + "ilih": 37101, + "hapus": 37102, + "ļłï¸ı": 37103, + "JH": 37104, + "Xp": 37105, + "ĠåĪĿå§ĭåĮĸ": 37106, + "Ġmê": 37107, + "ĠHA": 37108, + "IDL": 37109, + "SearchResults": 37110, + "Ġcorr": 37111, + "ĠnastÄĻ": 37112, + "'\">": 37113, + "ZK": 37114, + "_))": 37115, + "Ġdangerous": 37116, + "ĠPause": 37117, + "spans": 37118, + "čĊĉčĊĉ": 37119, + "InvalidArgument": 37120, + "æĸ¹åIJij": 37121, + "affold": 37122, + "DISPATCH": 37123, + "éĺ»": 37124, + "Everything": 37125, + "HWND": 37126, + "`/": 37127, + "surname": 37128, + "ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ": 37129, + "Ġdil": 37130, + "Ġdword": 37131, + "trac": 37132, + "Ġyük": 37133, + "Deb": 37134, + "empl": 37135, + "ĠXPath": 37136, + "DBM": 37137, + "Anything": 37138, + "TAIN": 37139, + "................................................................": 37140, + "CAMERA": 37141, + "ĠSubstitute": 37142, + "$',": 37143, + "Eb": 37144, + "SIS": 37145, + "hender": 37146, + "icago": 37147, + "ĠFREE": 37148, + "ĠJNI": 37149, + "University": 37150, + "DDD": 37151, + "DCMAKE": 37152, + "Handshake": 37153, + "forums": 37154, + "karma": 37155, + "Caret": 37156, + "å¸ĮæľĽ": 37157, + "_(\"": 37158, + "tolerance": 37159, + "}*/": 37160, + "ëĤ": 37161, + "Ġãģ¨": 37162, + "Ġsapi": 37163, + "ĠTA": 37164, + "Tray": 37165, + "Ġclin": 37166, + "trials": 37167, + "Ġtriple": 37168, + "ĠBuilds": 37169, + "mingw": 37170, + "pictures": 37171, + "nightly": 37172, + "çŁ³": 37173, + "Ġservicio": 37174, + "/');": 37175, + "VY": 37176, + "bsp": 37177, + "Ġcq": 37178, + "commission": 37179, + "Ġ\\{": 37180, + "locs": 37181, + "overall": 37182, + "ĠRunner": 37183, + "Ġsuporte": 37184, + "jeto": 37185, + "lstlisting": 37186, + "Margins": 37187, + "ãĤ½ãĥ¼ãĤ¹": 37188, + "ĠLNControlPoint": 37189, + "ĠITEM": 37190, + "fcd": 37191, + "Ġhalign": 37192, + "Ġconference": 37193, + "Ġgpg": 37194, + "ĠBroadcast": 37195, + "Ġelm": 37196, + "ibilities": 37197, + "ĠresultSet": 37198, + "ие": 37199, + "\"]`": 37200, + "moduleName": 37201, + "SubType": 37202, + "HttpGet": 37203, + "Ġboards": 37204, + "确认": 37205, + "corpora": 37206, + "Ġkubelet": 37207, + "*\",": 37208, + "+\".": 37209, + "`/`": 37210, + "anal": 37211, + "ĠTakes": 37212, + "ĠisOpen": 37213, + "ĠPAS": 37214, + "irable": 37215, + "administration": 37216, + "MMMM": 37217, + "ĠFormControl": 37218, + "ãģ¾ãģĹãģŁ": 37219, + "HEADERS": 37220, + "Ġconsulta": 37221, + "éļıæľº": 37222, + "ĠCSRF": 37223, + "Odbc": 37224, + "Rn": 37225, + "cake": 37226, + "lamb": 37227, + "ĠACC": 37228, + "Ġelection": 37229, + "ĠGovernment": 37230, + "çļĦæĸ¹å¼ı": 37231, + "Manufacturer": 37232, + "ĠìĪ": 37233, + "rounds": 37234, + "Ġ((__": 37235, + "TIMI": 37236, + "VERY": 37237, + "ĠPlain": 37238, + "Ġconnects": 37239, + "polyfill": 37240, + "ĠtranslateY": 37241, + "Ġbesch": 37242, + "owaÄĩ": 37243, + "aiflow": 37244, + "ê´Ģ": 37245, + "orc": 37246, + "Ġterrain": 37247, + "isFalse": 37248, + "Ġ(_.": 37249, + "Ġskeleton": 37250, + "quarter": 37251, + "Ġorange": 37252, + "ĠHI": 37253, + "(([": 37254, + "Ġsubtree": 37255, + "Forum": 37256, + "rega": 37257, + "ĠоÑģ": 37258, + "è°¢": 37259, + "æĻº": 37260, + "facts": 37261, + "ĠOrientation": 37262, + ")-(": 37263, + "CAS": 37264, + "Wz": 37265, + "XH": 37266, + "æª": 37267, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 37268, + "tec": 37269, + "Ġnewest": 37270, + "):${": 37285, + "ATING": 37286, + "LEADING": 37287, + "obi": 37288, + "Ġnodejs": 37289, + "Filtering": 37290, + "IfExists": 37291, + "ä¸įåΰ": 37292, + "internals": 37293, + "Marks": 37294, + "è¶ħè¿ĩ": 37295, + "ĠполÑĥÑĩ": 37296, + "ĠíĬ¹": 37297, + "Whether": 37298, + "ructor": 37299, + "Ġfuel": 37300, + "isin": 37301, + "ĠSed": 37302, + "ĠSvg": 37303, + "ĠWiki": 37304, + "oreo": 37305, + "ystate": 37306, + "ĠcharArray": 37307, + "groupName": 37308, + "([-": 37309, + "buffered": 37310, + "Ġgravity": 37311, + "ĠâŁ": 37312, + "ĠKeyEvent": 37313, + "lowercase": 37314, + "éģĩ": 37315, + "Ġ'\"'": 37316, + "Ġsurf": 37317, + "缮çļĦ": 37318, + "ĠEditorGUILayout": 37319, + "incremental": 37320, + "ATTRIBUTES": 37321, + "Ġtemporarily": 37322, + "åľºæĻ¯": 37323, + "oooooooo": 37324, + "liquid": 37325, + "InSeconds": 37326, + "ĠToo": 37327, + "Ġhier": 37328, + "setdefault": 37329, + "ĠDIR": 37330, + "ĠMes": 37331, + "httpd": 37332, + "SetUp": 37333, + "UserDetails": 37334, + "ISI": 37335, + "ĠProtected": 37336, + "VersionNumber": 37337, + "ĠTestBed": 37338, + "ProtoLens": 37339, + "latable": 37340, + "evin": 37341, + "æłĩè®°": 37342, + "ĠÑĦÑĥнк": 37343, + "Ġclauses": 37344, + "Ġgesture": 37345, + "=('": 37346, + "NQ": 37347, + "tled": 37348, + "escaped": 37349, + "Ġinvent": 37350, + "licken": 37351, + "Ġhod": 37352, + "ĠNX": 37353, + "CRM": 37354, + "Ġimagen": 37355, + "Ġrotated": 37356, + "totypes": 37357, + "ĠLayoutInflater": 37358, + "Nominal": 37359, + "nosti": 37360, + "è¯Ħ论": 37361, + "%;\"\">": 37362, + "RCC": 37363, + "VPC": 37364, + "din": 37365, + "dde": 37366, + "orable": 37367, + "almost": 37368, + "\",\"\"": 37369, + "avx": 37370, + "ĠHIGH": 37371, + "curso": 37372, + "CLICK": 37373, + "NSArray": 37374, + "Arithmetic": 37375, + "Arduino": 37376, + "Ġ-------------------------------------------------------------------------": 37377, + "ranking": 37378, + "ĠмÑĭ": 37379, + "Commits": 37380, + "AUTHOR": 37381, + "Ġyypt": 37382, + "Ġinvolves": 37383, + "explode": 37384, + "Ġreplicas": 37385, + "ĠDIALOG": 37386, + "PWR": 37387, + "mangled": 37388, + "ocean": 37389, + "sad": 37390, + "čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 37391, + "ifa": 37392, + "ĠAud": 37393, + "Explain": 37394, + "Ġih": 37395, + "brass": 37396, + "ESC": 37397, + "FIRE": 37398, + "USR": 37399, + "vmx": 37400, + "ĠObserver": 37401, + "åĬ¨çĶ»": 37402, + "Ġfigsize": 37403, + "æĹ¥æľ¬": 37404, + "ĠJulia": 37405, + "nexus": 37406, + "rspec": 37407, + "suit": 37408, + "ATI": 37409, + "Ġstringify": 37410, + "TestUtil": 37411, + "monster": 37412, + "Ġdistrict": 37413, + "PageToken": 37414, + "labeled": 37415, + "Ġdrawable": 37416, + "Ġpractical": 37417, + "ĠAttack": 37418, + "çıŃ": 37419, + "REGISTRY": 37420, + "JY": 37421, + "XI": 37422, + "dcl": 37423, + "lain": 37424, + "Ġ(?": 37425, + "Ġwsz": 37426, + "Ġmilestone": 37427, + "Inser": 37428, + "ĠTa": 37429, + "dataGridView": 37430, + "illum": 37431, + "Datastore": 37432, + "Entr": 37433, + "Ġplaintext": 37434, + "FOS": 37435, + "(&:": 37436, + "glu": 37437, + "ĠChoice": 37438, + "statistic": 37439, + "त": 37440, + "Ġfeels": 37441, + "ĠAccording": 37442, + "Shopping": 37443, + "ĠMAKE": 37444, + "FRAMEBUFFER": 37445, + "rottling": 37446, + "%\"),": 37447, + "gency": 37448, + "Ġust": 37449, + "ĮìĿ´": 37450, + "reminder": 37451, + "isDefined": 37452, + "Ġsche": 37453, + "amet": 37454, + "Restricted": 37455, + "Ġisolate": 37456, + "))(": 37457, + "lyb": 37458, + "forall": 37459, + "].(": 37460, + "MethodType": 37461, + "USN": 37462, + "saas": 37463, + "Ġcalculator": 37464, + "Ġbookmark": 37465, + "Consider": 37466, + "ìķ½": 37467, + "sounds": 37468, + "Ġrecurso": 37469, + "ĠDerived": 37470, + "èIJ¥": 37471, + "fung": 37472, + "iene": 37473, + "ĠvÃŃ": 37474, + "Ġsuperclass": 37475, + "Ġourselves": 37476, + "ĠequalTo": 37477, + "ĠOPTIONS": 37478, + "*)(*@\\": 37479, + "Gw": 37480, + "pap": 37481, + "keley": 37482, + "ĠpathParams": 37483, + "ForTesting": 37484, + "UpdateTime": 37485, + "ĠqueryParams": 37486, + "holo": 37487, + "macos": 37488, + "Ġëĭ¤ë¥¸": 37489, + "Employees": 37490, + "estimators": 37491, + "galaxy": 37492, + "atx": 37493, + "itet": 37494, + "getMin": 37495, + "NameHash": 37496, + "forgot": 37497, + "Ġíĸ": 37498, + "Ġreviewers": 37499, + "ĠGlobalNamespace": 37500, + "립": 37501, + "integrations": 37502, + "periodic": 37503, + "knife": 37504, + "ÐŁÑĢ": 37505, + "ĠAlertDialog": 37506, + "Ġ모ëĵł": 37507, + "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%": 37508, + "cant": 37509, + "èĵ": 37510, + "Ġpictures": 37511, + "Ġsunt": 37512, + "Ġinformat": 37513, + "riers": 37514, + "ĠRaspberry": 37515, + "Ġstrerror": 37516, + "brk": 37517, + "AppName": 37518, + "NotIn": 37519, + "Ġtargeted": 37520, + "Clr": 37521, + "EmptyString": 37522, + "ĠTimeline": 37523, + "BEFORE": 37524, + "åIJİåı°": 37525, + "Ġfigures": 37526, + "ĠWrong": 37527, + "memproto": 37528, + "memdoc": 37529, + "Solve": 37530, + "thunk": 37531, + "ĠSimpl": 37532, + "ĠSTOP": 37533, + "testation": 37534, + "TimeSeries": 37535, + "IClus": 37536, + "Ġimportance": 37537, + "Ġnumer": 37538, + "fastq": 37539, + "ç͍æĪ·åIJį": 37540, + "ä¿Ŀè¯ģ": 37541, + "Ġdecimals": 37542, + "FOUNDATION": 37543, + "ĠNovember": 37544, + "IClusCfg": 37545, + ".);": 37546, + "gcm": 37547, + "Ġ=$": 37548, + "),\"": 37549, + "indexing": 37550, + "charm": 37551, + "taskId": 37552, + "ENDER": 37553, + "ĠfrÃ¥n": 37554, + "DayOfWeek": 37555, + "Prefab": 37556, + "ytvoÅĻ": 37557, + "Nn": 37558, + "mens": 37559, + "pdev": 37560, + "uF": 37561, + "toÅĽÄĩ": 37562, + "è¡Į为": 37563, + "NOTES": 37564, + "ĠReduce": 37565, + "IVED": 37566, + "åīį端": 37567, + "éĺµ": 37568, + "ulos": 37569, + "ĠPHPUnit": 37570, + "QtGui": 37571, + "åĸľ": 37572, + ".${": 37573, + "dstore": 37574, + "getID": 37575, + "opaque": 37576, + "beacon": 37577, + "Bezier": 37578, + "singular": 37579, + "Https": 37580, + "åľĭ": 37581, + "gitignore": 37582, + "carrier": 37583, + "Delaborator": 37584, + "ĠQuantity": 37585, + "ADOOP": 37586, + "Ġ\"]\"}],": 37587, + ")';": 37588, + "Dice": 37589, + "VINT": 37590, + "å³": 37591, + "Ġinverted": 37592, + "Ġmud": 37593, + "ĠPeter": 37594, + "))',": 37595, + "bezier": 37596, + "...]": 37597, + "TOMCAT": 37598, + "Ġoverriding": 37599, + "instell": 37600, + "crs": 37601, + "WORDS": 37602, + "ĠUNIX": 37603, + "ĠMainActivity": 37604, + "ĠìĹIJ": 37605, + "CLOSED": 37606, + "DECIMAL": 37607, + "ATTACHMENT": 37608, + "Biz": 37609, + "mmb": 37610, + "uum": 37611, + "uable": 37612, + "}?": 37613, + "ĠTcp": 37614, + "Ġgues": 37615, + "\"\"\",": 37616, + "='../": 37617, + "ĠInterpreter": 37618, + "ativos": 37619, + "ĠæĽ´æĸ°": 37620, + "btree": 37621, + "kers": 37622, + "rdb": 37623, + "Ġcubic": 37624, + "Ġsongs": 37625, + "Ġ}`": 37626, + "ĊĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 37627, + "ĠUIT": 37628, + "contoso": 37629, + "prs": 37630, + "ĠuseStyles": 37631, + "ANSI": 37632, + "redo": 37633, + "ĠExact": 37634, + "websites": 37635, + "Ġgraphic": 37636, + "Ġdiesem": 37637, + "Ġ\"'\"": 37638, + "Ġincid": 37639, + "Ġbluetooth": 37640, + "Ġchoosing": 37641, + "ãģ¦ãģĦãģ¾ãģĻ": 37642, + "Ġ[&](": 37643, + "bie": 37644, + "vcs": 37645, + "ĠICommand": 37646, + "fluttify": 37647, + "ĠProc": 37648, + "Forge": 37649, + "FunctionName": 37650, + "Ġfullname": 37651, + "Ġwatching": 37652, + "ĠChannels": 37653, + "interpolation": 37654, + "createTextNode": 37655, + "Pour": 37656, + "_=": 37657, + "wnd": 37658, + "asion": 37659, + "Ġbij": 37660, + "Ġlf": 37661, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 37662, + "Orange": 37663, + "éĢı": 37664, + "ApplicationException": 37665, + "Ġskew": 37666, + "DbType": 37667, + "MoveNext": 37668, + "ÑĢаж": 37669, + "Ġlinha": 37670, + "ális": 37671, + "Optimization": 37672, + "Ġbenchmarks": 37673, + "á»Ļt": 37674, + "詳細": 37675, + "Lobby": 37676, + "fone": 37677, + "pV": 37678, + "acrit": 37679, + "Ġantes": 37680, + "ADAP": 37681, + "äºĪ": 37682, + "???": 37683, + "ĠSPEC": 37684, + "siswa": 37685, + "setWindowPosition": 37686, + "åİĨåı²": 37687, + "MVC": 37688, + "eux": 37689, + "omid": 37690, + "ĠEp": 37691, + "ĠUV": 37692, + "CHAT": 37693, + "åĪļ": 37694, + "uiton": 37695, + "<'_": 37696, + "abstractmethod": 37697, + "íķ´ìķ¼": 37698, + "ĠÑįлеменÑĤ": 37699, + "influxdb": 37700, + "FTP": 37701, + "sut": 37702, + "ĊĠĠĠĠĉĉĉ": 37703, + "isObject": 37704, + "Ġnix": 37705, + "Ġtoward": 37706, + "izmet": 37707, + "ĠJames": 37708, + "ĠKont": 37709, + "иÑħ": 37710, + "these": 37711, + "stdc": 37712, + "Club": 37713, + "nonnull": 37714, + "ĠNSArray": 37715, + "Ġcarbon": 37716, + "ĠIndexed": 37717, + "Ġözel": 37718, + "JIT": 37719, + "natur": 37720, + "ĠãģĮ": 37721, + "utch": 37722, + "strand": 37723, + "Things": 37724, + "EventQueue": 37725, + "Ġsous": 37726, + "ÑģÑĤÑĮ": 37727, + "SMTP": 37728, + "ãĤĮãĤĭ": 37729, + "municator": 37730, + "Facility": 37731, + "symmetric": 37732, + "é»Ħ": 37733, + "contrast": 37734, + "tenantId": 37735, + "-)": 37736, + "sensors": 37737, + "Ġdeser": 37738, + "ĠPurchase": 37739, + "ĠEste": 37740, + "queryset": 37741, + "Ġ/>\\": 37742, + "Ġfixtures": 37743, + "Expire": 37744, + "LSB": 37745, + "Ġscreens": 37746, + ">:": 37818, + "POCH": 37819, + "parentElement": 37820, + "Ġmutate": 37821, + "ĠMeteor": 37822, + "ëıĦë¡Ŀ": 37823, + "ĠеÑģли": 37824, + "ATOMIC": 37825, + "ĠNavigate": 37826, + "\"?": 37827, + "Pwd": 37828, + "tencent": 37829, + "inicio": 37830, + "atra": 37831, + "Ġfog": 37832, + "edc": 37833, + "ssd": 37834, + "profil": 37835, + "Ġcomfort": 37836, + "ARS": 37837, + "ownership": 37838, + "ĠThings": 37839, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 37840, + "Ñģл": 37841, + "Ġê¸": 37842, + "]]]": 37843, + "infty": 37844, + "sfEvent": 37845, + "Ġwireless": 37846, + "Awaiter": 37847, + "OPSIS": 37848, + "*'": 37849, + "Dialect": 37850, + "leak": 37851, + "unning": 37852, + "amal": 37853, + "tout": 37854, + "imported": 37855, + "ĠLS": 37856, + "ĠThose": 37857, + "ĠallClasses": 37858, + "Ġpreserved": 37859, + "Ġhelping": 37860, + "ınız": 37861, + "Ġcomputers": 37862, + "ĠAssociation": 37863, + "âĢķâĢķ": 37864, + "Avoid": 37865, + "Cesium": 37866, + "TICK": 37867, + "leÅŁtir": 37868, + "iting": 37869, + "Ġ`;": 37870, + "Ġlokal": 37871, + "']/": 37872, + "rente": 37873, + "SPR": 37874, + "Ġsmtp": 37875, + "Editar": 37876, + "ĠJsonResponse": 37877, + "istograms": 37878, + "ĠINTERNAL": 37879, + "Contributor": 37880, + "nique": 37881, + "getOption": 37882, + "ĠFamily": 37883, + "ĠHEL": 37884, + "ĠIncrease": 37885, + "']):": 37886, + "Trading": 37887, + "UserRole": 37888, + "Ġimper": 37889, + "Ġinstalls": 37890, + "æī«": 37891, + "difficulty": 37892, + "ÙĪØ¯": 37893, + "Ġsubstitute": 37894, + "è¿ĺæľī": 37895, + "Ġön": 37896, + "Ġprimarily": 37897, + "LST": 37898, + "WEST": 37899, + "bfa": 37900, + "Ġfst": 37901, + "Ġ'//": 37902, + "getNumber": 37903, + "outdir": 37904, + "ĠBas": 37905, + "ĠGEN": 37906, + "åı¯ç͍": 37907, + "é¡ŀ": 37908, + "RawData": 37909, + "ĠTokenType": 37910, + "ĠCorp": 37911, + "Ġaborted": 37912, + "streetmap": 37913, + "Ġpostgresql": 37914, + "QUOTE": 37915, + "JW": 37916, + "cia": 37917, + "xcode": 37918, + "Ġ=)": 37919, + "Ġsouth": 37920, + "Ġworse": 37921, + "Revenue": 37922, + "Ġdisposing": 37923, + "iconst": 37924, + "Ġstructs": 37925, + "ÃŃf": 37926, + "Ġboy": 37927, + "ubyte": 37928, + "hybrid": 37929, + "Ãłi": 37930, + "çī¹å¾ģ": 37931, + "çµĤ": 37932, + "aG": 37933, + "dct": 37934, + "nab": 37935, + "sle": 37936, + "ingo": 37937, + "()\\": 37938, + "trx": 37939, + "truiton": 37940, + "ĠisSet": 37941, + "Ġchalk": 37942, + "ÃŃch": 37943, + "å®ļ義": 37944, + "Ġrealize": 37945, + "ì§ij": 37946, + "Ġscanf": 37947, + "Approx": 37948, + "Twig": 37949, + "å¿«éĢŁ": 37950, + "Interpolator": 37951, + "BROWSER": 37952, + "CUBE": 37953, + "TOR": 37954, + "ioc": 37955, + "íļĮ": 37956, + "Ġfir": 37957, + "Ġowl": 37958, + "ĠDAY": 37959, + "ĠFilename": 37960, + "ĠGE": 37961, + "ListBy": 37962, + "birthday": 37963, + "ĠFuncionesSwing": 37964, + "Paddle": 37965, + "paging": 37966, + "=\"\\": 37967, + "Ġsimulated": 37968, + "pulls": 37969, + "ĠNSURL": 37970, + "Ġlayouts": 37971, + "ĠUNKNOWN": 37972, + "ĠNeo": 37973, + "multiplied": 37974, + "Flatten": 37975, + "Ġê°ĻìĿĢ": 37976, + "ĠNAVBAR": 37977, + "henderit": 37978, + ";\";": 37979, + "](\"": 37980, + "pcre": 37981, + "omg": 37982, + "imic": 37983, + "('+": 37984, + "imeter": 37985, + "queen": 37986, + "ãģĶ": 37987, + "ampening": 37988, + "ROME": 37989, + "ĠXElement": 37990, + "fract": 37991, + "ĠREPLACE": 37992, + "Ġestimator": 37993, + "acional": 37994, + "dialect": 37995, + "Ġhighlighting": 37996, + "AlreadyExists": 37997, + "COLLATION": 37998, + "Ġmarshaller": 37999, + "=\\'": 38000, + "aClass": 38001, + "ervice": 38002, + "isinstance": 38003, + "unde": 38004, + "ĠCa": 38005, + "Ġhu": 38006, + "namespaced": 38007, + "ĠDET": 38008, + "Ġchaining": 38009, + "ToObject": 38010, + "Ġparâ": 38011, + "ĠJDBC": 38012, + "GLSL": 38013, + "Ġrefund": 38014, + "Guess": 38015, + "éĢļä¿¡": 38016, + "Latin": 38017, + "EFFECT": 38018, + ":\";": 38019, + "Ew": 38020, + "Zz": 38021, + "sentry": 38022, + "throttle": 38023, + "amat": 38024, + "toObject": 38025, + "Ġebp": 38026, + "Ġjclass": 38027, + "awns": 38028, + "Ġplanned": 38029, + "Ġë¹": 38030, + "ĠErrorCode": 38031, + "REFRESH": 38032, + "Ġнов": 38033, + "scrollTo": 38034, + "ĠAvatar": 38035, + "×ķת": 38036, + "FOLLOW": 38037, + "ÅŁaģıdaki": 38038, + "FPL": 38039, + "OY": 38040, + "YELLOW": 38041, + "ĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 38042, + "Ġdialect": 38043, + "getApplication": 38044, + "Ġhv": 38045, + "ĠPretty": 38046, + "toContain": 38047, + "setWindowListener": 38048, + "shade": 38049, + "DataAnnotations": 38050, + "pole": 38051, + "Trail": 38052, + "MEAS": 38053, + "playground": 38054, + "Ġfluent": 38055, + "ĠOrders": 38056, + "Ġcalculates": 38057, + "êm": 38058, + "ìĭ¬": 38059, + "Ġpolar": 38060, + "Ġmenus": 38061, + "Glut": 38062, + "buyer": 38063, + "LIKELY": 38064, + "'!": 38065, + ")}}\"": 38066, + "Vx": 38067, + "xen": 38068, + "yel": 38069, + "Ġrein": 38070, + "igation": 38071, + "Ġlan": 38072, + "ĠLaw": 38073, + "ĠRestart": 38074, + "SIF": 38075, + "Ġoffsetof": 38076, + "Ġhelped": 38077, + "Ġpytorch": 38078, + "ãģ«éĸ¢": 38079, + "Fixtures": 38080, + "次æķ°": 38081, + "overnance": 38082, + "AccelerationStructure": 38083, + "creativecommons": 38084, + "ĠEducation": 38085, + "National": 38086, + "Wake": 38087, + "wit": 38088, + "Ġcds": 38089, + "Ġsamp": 38090, + "Ġgf": 38091, + "ĠGtk": 38092, + "Ġ(){": 38093, + "nonzero": 38094, + "ĠTemporary": 38095, + "JsonPropertyName": 38096, + "gil": 38097, + "heme": 38098, + "ĠBSP": 38099, + "ĠRol": 38100, + "manip": 38101, + "equalTo": 38102, + "kwds": 38103, + "ĠclearTimeout": 38104, + "selectedIndex": 38105, + "ParseError": 38106, + "Ġeasiest": 38107, + "å°±ä¼ļ": 38108, + "ĠBackbone": 38109, + "beamY": 38110, + "Ġamplitude": 38111, + "è´¦åı·": 38112, + "STEMS": 38113, + "rav": 38114, + "ĠIIS": 38115, + "ĠRW": 38116, + "çļĦä¸Ģ": 38117, + "AppState": 38118, + "OfDay": 38119, + "CONJ": 38120, + "ĠValueType": 38121, + "onyms": 38122, + "Peptide": 38123, + "socks": 38124, + "einsum": 38125, + "Interpolation": 38126, + "Ġveniam": 38127, + "éĿĻæĢģ": 38128, + "FPS": 38129, + "GLES": 38130, + "]*)": 38131, + "bom": 38132, + "ĠIDisposable": 38133, + "strmojo": 38134, + "tea": 38135, + "opx": 38136, + "AddField": 38137, + "ĠExclude": 38138, + "PHX": 38139, + "Popover": 38140, + "itelisted": 38141, + "Ġstripe": 38142, + "/](": 38143, + "Vn": 38144, + "iac": 38145, + "ĠãĢĤ": 38146, + "edEventArgs": 38147, + "Ġwomen": 38148, + "ĠMutation": 38149, + "loaders": 38150, + "Ġpermutation": 38151, + "thew": 38152, + "ĠAddr": 38153, + "packs": 38154, + "Ġsku": 38155, + "äºĨè§£": 38156, + "ActiveRecord": 38157, + "twimg": 38158, + "Tracked": 38159, + "çľ¼": 38160, + "åħ³èģĶ": 38161, + "POINTS": 38162, + "Ġrecommendation": 38163, + "sco": 38164, + "Ġtpl": 38165, + "Ġsuff": 38166, + "Ġnaj": 38167, + "Ġvoxel": 38168, + "amm": 38169, + "verifier": 38170, + "Ġendhighlight": 38171, + "ĠThird": 38172, + "ĠJIT": 38173, + "FormGroup": 38174, + "lda": 38175, + "ResponseType": 38176, + "}});": 38177, + "Ġ[]),": 38178, + "Intermediate": 38179, + "calling": 38180, + "ĠпÑĢилож": 38181, + "Firefox": 38182, + "Ġpinned": 38183, + "èģĶç³»": 38184, + "Ġbundled": 38185, + "election": 38186, + "xin": 38187, + "é¼": 38188, + "adder": 38189, + "toupper": 38190, + "httpRequest": 38191, + "Ġprodu": 38192, + "Ġdefp": 38193, + "ĠRecognition": 38194, + "ISP": 38195, + "regtype": 38196, + "servo": 38197, + "resourcemanager": 38198, + "SELECTED": 38199, + "ornado": 38200, + "photoUrl": 38201, + "ĠSOCK": 38202, + "ĠTIMESTAMP": 38203, + "phoenix": 38204, + "ĠprostÅĻed": 38205, + "Fall": 38206, + "Jpa": 38207, + "ranks": 38208, + "}->{": 38209, + "ĠSociety": 38210, + "getLog": 38211, + "Ġtown": 38212, + "Ġecc": 38213, + "INATION": 38214, + "iali": 38215, + "ĠGH": 38216, + "prune": 38217, + "ĠStrict": 38218, + "IsIm": 38219, + "ĠAnchor": 38220, + "sides": 38221, + "Ġprograma": 38222, + "ĠPrerequisites": 38223, + "Artwork": 38224, + "CRIPT": 38225, + "FH": 38226, + "Lift": 38227, + "Ġtá": 38228, + "Ġ(--": 38229, + "Ġsolicit": 38230, + "Ġbright": 38231, + "emark": 38232, + "Ġgir": 38233, + "Ġgalaxies": 38234, + "Ġ#%": 38235, + "Shares": 38236, + "ĠExisting": 38237, + "anya": 38238, + "Variation": 38239, + "ç»ĩ": 38240, + "Ġregs": 38241, + "": 47756, + "Ġwast": 47757, + "omorphic": 47758, + "ĠLR": 47759, + "ĠLGPL": 47760, + "ĠBD": 47761, + "Ġresistance": 47762, + "amper": 47763, + "fileInfo": 47764, + "minify": 47765, + "ItemName": 47766, + "IsMutable": 47767, + "VERSAL": 47768, + "CheckIndex": 47769, + "ĠReturned": 47770, + "accounting": 47771, + "ल": 47772, + "ĠRegistered": 47773, + "Ġreplies": 47774, + "Ġinspection": 47775, + "ë³µ": 47776, + "Ġconcatenate": 47777, + ")(\"": 47778, + "Ago": 47779, + "Mong": 47780, + "WATER": 47781, + "yv": 47782, + "é¹": 47783, + "Ġcask": 47784, + "Ġsake": 47785, + "ilies": 47786, + "getDevice": 47787, + "ĠNight": 47788, + "ĠLas": 47789, + "ĠLIGHT": 47790, + "ĠonLoad": 47791, + "Colon": 47792, + "AddChild": 47793, + "())[": 47794, + "UNITS": 47795, + "}}$": 47796, + "Workbench": 47797, + "Ġaccent": 47798, + "Ġenumerator": 47799, + "ĠCodec": 47800, + "स": 47801, + "Ġ¿": 47802, + "ĠOverall": 47803, + "æĥ³è¦ģ": 47804, + "ç¶²": 47805, + "]\\\\": 47806, + "åµ": 47807, + "ĵ°": 47808, + "Ġcrawl": 47809, + "urers": 47810, + "Ġ}})": 47811, + "cocos": 47812, + "getContainer": 47813, + "ĠAsp": 47814, + "ĠBETWEEN": 47815, + "DataContract": 47816, + "Enh": 47817, + "textField": 47818, + "Ġvalore": 47819, + "Ġcompiles": 47820, + "posits": 47821, + "backoff": 47822, + "architect": 47823, + "Its": 47824, + "dbName": 47825, + "Ġobserv": 47826, + "ajar": 47827, + "executed": 47828, + "Ġdesar": 47829, + "Ġназ": 47830, + "zaW": 47831, + "entelemetry": 47832, + "synapse": 47833, + "ĠDatum": 47834, + "Ġpredictor": 47835, + "ĠTwig": 47836, + "Pilot": 47837, + "ï½ŀ": 47838, + "constrained": 47839, + "ãĥ©ãĥ¡ãĥ¼ãĤ¿": 47840, + "Dag": 47841, + "HAB": 47842, + "RTE": 47843, + "Yh": 47844, + "ĠĊĉĠĠĠ": 47845, + "inj": 47846, + "quake": 47847, + "Ġbecoming": 47848, + "Keyframe": 47849, + "mds": 47850, + "computation": 47851, + "Desde": 47852, + "Ġadı": 47853, + "ĠcurrentIndex": 47854, + "NewEncoder": 47855, + "centric": 47856, + "cbs": 47857, + "Prep": 47858, + "ProductId": 47859, + "éĻĪ": 47860, + "passive": 47861, + "----------|": 47862, + "Ġpodr": 47863, + "saldo": 47864, + "CountryCode": 47865, + "ðĿĻ": 47866, + "Ġbringing": 47867, + "SMALLINT": 47868, + "ĠStatelessWidget": 47869, + "áĥĶáĥ": 47870, + "toISOString": 47871, + "ĠMENTERI": 47872, + "wat": 47873, + "Ġtune": 47874, + "Ġtheoret": 47875, + "ĠvÅ¡": 47876, + "getOwner": 47877, + "ĠFString": 47878, + "scs": 47879, + "ĠBre": 47880, + "ertino": 47881, + "Ġcontiguous": 47882, + "DataMap": 47883, + "Ġ<<-": 47884, + "dish": 47885, + "createUser": 47886, + "ĠGetName": 47887, + "UNSPECIFIED": 47888, + "ÃŃveis": 47889, + "Clickable": 47890, + "offsetHeight": 47891, + "CallbackInfo": 47892, + "ĠViewBag": 47893, + "Sqlite": 47894, + "ãĥªãĤ½ãĥ¼ãĤ¹": 47895, + "highlighted": 47896, + "лиÑĩ": 47897, + "Actualizar": 47898, + "Privileges": 47899, + "ÑģÑĤва": 47900, + "spyOn": 47901, + "QiOiJ": 47902, + "ĠMessaging": 47903, + "åĽºå®ļ": 47904, + "ĠмеÑĤод": 47905, + "Ġprettier": 47906, + "!';": 47907, + "pLocal": 47908, + "raf": 47909, + "inverted": 47910, + "sealed": 47911, + "Ġ'||": 47912, + "ĠSeb": 47913, + "ĠSMB": 47914, + "Ink": 47915, + "ĠDies": 47916, + "Ġgoog": 47917, + "ĠFish": 47918, + "IdRef": 47919, + "addView": 47920, + "ĠHMAC": 47921, + "udah": 47922, + "ItemGroup": 47923, + "conduct": 47924, + "ĠstartPosition": 47925, + "ColorBrush": 47926, + "Ġadm": 47927, + "currentItem": 47928, + "goTo": 47929, + "ĠDoor": 47930, + "Ġgrids": 47931, + "Dominant": 47932, + "ĠAccessibility": 47933, + "港": 47934, + "QtWidgets": 47935, + "æľĪåįģ": 47936, + "PictureBox": 47937, + "ĠPKCS": 47938, + "Ġaugue": 47939, + "ĠìĦ¤ì¹ĺ": 47940, + "Synchronize": 47941, + "critic": 47942, + "ĠSicherheits": 47943, + "eúdo": 47944, + "Duck": 47945, + "IED": 47946, + "PPE": 47947, + "Zd": 47948, + "]};": 47949, + "eig": 47950, + "econom": 47951, + "unstyled": 47952, + "mpz": 47953, + "Ġvd": 47954, + "Ġvet": 47955, + "getCanonical": 47956, + "quic": 47957, + "Ġgle": 47958, + "ureka": 47959, + "čĊčĊĠĠĠĠĠĠĠĠ": 47960, + "Ġcommunities": 47961, + "September": 47962, + "Parsers": 47963, + "Ġenddo": 47964, + "UNE": 47965, + "pageNumber": 47966, + "helloworld": 47967, + "metis": 47968, + "copyFrom": 47969, + "Ġsums": 47970, + "Ġвид": 47971, + "Ġoccasion": 47972, + "à°¨": 47973, + "sophy": 47974, + "Ġtellus": 47975, + "Convex": 47976, + "databinding": 47977, + "еÑģÑĤво": 47978, + ")[\"": 47979, + "Veto": 47980, + "hread": 47981, + "=\"<%=": 47982, + "Inbox": 47983, + "ĠCUP": 47984, + "ĠisArray": 47985, + "ĠFlip": 47986, + "Ġ|--": 47987, + "\")\"": 47988, + "DEMO": 47989, + "GetState": 47990, + "Ġlea": 47991, + "((_,": 47992, + "createObject": 47993, + "swiffy": 47994, + "elementType": 47995, + "ÑĥÑģÑĤ": 47996, + "Ġwebdriver": 47997, + "Ġaccessors": 47998, + "Ġblind": 47999, + "OpCode": 48000, + "Ġpypi": 48001, + "JobStatus": 48002, + "ĠCreative": 48003, + "âķĹ": 48004, + "Grace": 48005, + "stylesheets": 48006, + "Confidence": 48007, + "Intervals": 48008, + "å¤ļå°ij": 48009, + "ĠFonts": 48010, + "Ġinvokes": 48011, + "ï¼ģï¼ģ": 48012, + "Ġrepeatedly": 48013, + "Ġparagraphs": 48014, + "Ġ\"{}\",": 48015, + ")#": 48016, + "Falsy": 48017, + "Lr": 48018, + "faction": 48019, + "frappe": 48020, + "wLj": 48021, + "etl": 48022, + "cestors": 48023, + "ĠCri": 48024, + "Ġlite": 48025, + "errcode": 48026, + "čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 48027, + "ĠVip": 48028, + "keystone": 48029, + "Ġshlw": 48030, + "textbox": 48031, + "ĠJapanese": 48032, + "timetable": 48033, + "ByUser": 48034, + "ĠExcept": 48035, + "OutputFile": 48036, + "GBP": 48037, + "纪": 48038, + "NormalTok": 48039, + "hubs": 48040, + "balances": 48041, + "}$,": 48042, + "splunk": 48043, + "ĠìĥĪ": 48044, + "Ġ목": 48045, + "clauses": 48046, + "ungee": 48047, + "ĠAFTER": 48048, + "Compressor": 48049, + "ĠíĥĢ": 48050, + "ĠCompatibility": 48051, + "Electric": 48052, + "FSharp": 48053, + "Kx": 48054, + "RIG": 48055, + "Symbolic": 48056, + "YR": 48057, + "secp": 48058, + "Ġinn": 48059, + "adjacent": 48060, + "Ġmidi": 48061, + "ĠAlice": 48062, + "('../../../": 48063, + "Ġeof": 48064, + "Sticky": 48065, + "refactor": 48066, + "ĠgetUrl": 48067, + "subservice": 48068, + "ADR": 48069, + "álat": 48070, + "Ġqq": 48071, + "Databases": 48072, + "Ġgotten": 48073, + "luck": 48074, + "ĠInvalidArgumentException": 48075, + "Ġpaired": 48076, + "è¿IJç®Ĺ": 48077, + "Ġ(^)(": 48078, + "Ġvirtuális": 48079, + "(..)": 48080, + "Ġæĭī": 48081, + "getValorProporcion": 48082, + "/'.": 48083, + "DID": 48084, + "arXiv": 48085, + "getVar": 48086, + "Ġdex": 48087, + "Ġhmac": 48088, + "Ġether": 48089, + "roman": 48090, + "NameSpace": 48091, + "shifts": 48092, + "Ġlever": 48093, + "ĠGetHashCode": 48094, + "Ġ]}": 48095, + "(&$": 48096, + "headless": 48097, + "splitter": 48098, + "------------+": 48099, + "categoryId": 48100, + "ãĤĴè¡Į": 48101, + "HTTPResponse": 48102, + "JavaUtil": 48103, + "Neon": 48104, + "ĠEngland": 48105, + "ĠFiltering": 48106, + "Ġpatched": 48107, + "TexImage": 48108, + "æīĭåĬ¨": 48109, + "/******************************************************************************": 48110, + "érer": 48111, + "ĠInstantiateClassGenerator": 48112, + "?[": 48113, + "Hnd": 48114, + "HDFS": 48115, + "Kq": 48116, + "vap": 48117, + "ÐŃ": 48118, + "eron": 48119, + "otiate": 48120, + "ĠCSharp": 48121, + "Rebuild": 48122, + "ĠImm": 48123, + "toFloat": 48124, + "permanent": 48125, + "concrete": 48126, + "ĠNginx": 48127, + "shkar": 48128, + "Dealer": 48129, + "bei": 48130, + "ãĤĩ": 48131, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 48132, + "azer": 48133, + "ĠUndo": 48134, + "devDependencies": 48135, + "distr": 48136, + "ãĤĴåıĤçħ§": 48137, + "Accounting": 48138, + "ĠCanada": 48139, + "Ġélé": 48140, + "windowsazure": 48141, + "одеÑĢж": 48142, + "Neural": 48143, + "ĠMerged": 48144, + "ì¹´": 48145, + "ĠíĻľ": 48146, + ")+'": 48147, + "Hang": 48148, + "JAR": 48149, + "UFF": 48150, + "mig": 48151, + "mfc": 48152, + "ufe": 48153, + "ximo": 48154, + "reprise": 48155, + "isRunning": 48156, + "Ġdj": 48157, + "Ġdrives": 48158, + "setTag": 48159, + "ĠDraft": 48160, + "ĠNumpy": 48161, + "ĠRepresent": 48162, + "MapAccess": 48163, + "Ġcharges": 48164, + "ĠarrayOf": 48165, + "APB": 48166, + "tractor": 48167, + "optype": 48168, + "Liquid": 48169, + "ĠCocoa": 48170, + "Freeze": 48171, + "ĠRequirement": 48172, + "Ġappearing": 48173, + "Ġcasting": 48174, + "Multimap": 48175, + "é»ĺ认为": 48176, + "ãģĪãĤĭ": 48177, + "WiFi": 48178, + "á»įc": 48179, + "<#": 48180, + "GAIN": 48181, + "Having": 48182, + "Happy": 48183, + "LAX": 48184, + "MUST": 48185, + "nft": 48186, + "northeast": 48187, + "ĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ": 48188, + "alar": 48189, + "getCache": 48190, + "ĠTKey": 48191, + "ĠTYP": 48192, + "Ġ[^": 48193, + "Ġldc": 48194, + "agtail": 48195, + "ĠFYI": 48196, + "ĠVim": 48197, + "ieurs": 48198, + "ĠcreateState": 48199, + "Ġfauc": 48200, + "ĠSepar": 48201, + "Obsolete": 48202, + "WebApi": 48203, + "Ġgems": 48204, + "CRUD": 48205, + "JobId": 48206, + "Flows": 48207, + "éϤäºĨ": 48208, + "ãĤ½ãĥķãĥĪ": 48209, + "Instantiation": 48210, + "Ġzobraz": 48211, + "Lbl": 48212, + "Vlan": 48213, + "hamburger": 48214, + "nasa": 48215, + "Ġ============": 48216, + "rose": 48217, + "ripsi": 48218, + "=\".$": 48219, + "ontab": 48220, + "Ġdelim": 48221, + "Ġhadoop": 48222, + "Ġconversations": 48223, + "strat": 48224, + "ĠLite": 48225, + "ĠRigid": 48226, + "------------------------------": 48227, + "ĠHol": 48228, + "logstash": 48229, + "bey": 48230, + "ugas": 48231, + "computing": 48232, + "ãĢĤ**": 48233, + "TableHeadingColor": 48234, + "ServerContext": 48235, + "Ġretained": 48236, + "generating": 48237, + "ätt": 48238, + "ClickHouse": 48239, + "Ġbounded": 48240, + "ĠVerified": 48241, + "ús": 48242, + "ĠApiResponse": 48243, + "èĢĮä¸įæĺ¯": 48244, + "employment": 48245, + "ç¼ĸåĨĻ": 48246, + "FINISHED": 48247, + "Ġpowers": 48248, + "Ġtechnically": 48249, + "Campos": 48250, + "humidity": 48251, + "grupo": 48252, + "ĠÑģпиÑģ": 48253, + "APIClient": 48254, + "SpringBootTest": 48255, + ".'''": 48256, + "culture": 48257, + "oup": 48258, + "zem": 48259, + "Ġnjs": 48260, + "Ġavez": 48261, + "ĠLens": 48262, + "ĠBun": 48263, + "ĠGamma": 48264, + "locker": 48265, + "ibt": 48266, + "ĠStmt": 48267, + "phpunit": 48268, + "ĠcreateElement": 48269, + "EnumMember": 48270, + "splitext": 48271, + "Iterate": 48272, + "Ġtrials": 48273, + "Passport": 48274, + "municate": 48275, + "Neutral": 48276, + "à¥ģ": 48277, + "Ġcele": 48278, + "Ġnearby": 48279, + "Ġtaxonomy": 48280, + "qrcode": 48281, + "ĠOperators": 48282, + "Ġlectus": 48283, + "ืà¹Ī": 48284, + "Ġtangent": 48285, + "Sint": 48286, + "Sine": 48287, + "Trivia": 48288, + "Xx": 48289, + "ejs": 48290, + "yq": 48291, + "ččĊĠĠĠ": 48292, + "seats": 48293, + "Ġaster": 48294, + "Ġbun": 48295, + "Ġvirus": 48296, + "Ġlsp": 48297, + "Ġgom": 48298, + "Ġgreatest": 48299, + "ĠRTE": 48300, + "charges": 48301, + "Bases": 48302, + "partners": 48303, + "ĠAlle": 48304, + "GEST": 48305, + "ClusterId": 48306, + "kerhets": 48307, + "ÅŁÄ±": 48308, + "ĠTeal": 48309, + "ODY": 48310, + "petition": 48311, + "ThrowIf": 48312, + "Periods": 48313, + "Datap": 48314, + "WAKE": 48315, + "calledOnce": 48316, + "Ġconvex": 48317, + "beamer": 48318, + "Promo": 48319, + "Ġclaimed": 48320, + "Ġmonospace": 48321, + "Ġìłģìļ©": 48322, + "ittrLoremipumdolorsitametconsecteturadipiscingelitIntegervelvel": 48323, + "Faction": 48324, + "aires": 48325, + "nand": 48326, + "dew": 48327, + "enth": 48328, + "ĠvỼi": 48329, + "getOrder": 48330, + "ĠMiddle": 48331, + "useEffect": 48332, + "ĠGuest": 48333, + "ĠThrough": 48334, + "Ġdisco": 48335, + "Formal": 48336, + "Ġyours": 48337, + "CLAMP": 48338, + "selectable": 48339, + "USING": 48340, + "removeAttr": 48341, + "tabPage": 48342, + "pki": 48343, + "ĠCOMB": 48344, + "ISTIC": 48345, + "macOS": 48346, + "째": 48347, + "isoner": 48348, + "\"])(": 48349, + "Ġsuggesting": 48350, + "Ġbaud": 48351, + "Ġversión": 48352, + "导èĪª": 48353, + "ĠVERBOSE": 48354, + "ĠWritten": 48355, + "provides": 48356, + "ĠBTREE": 48357, + "Ġ:+:": 48358, + "Ġannual": 48359, + "pulsar": 48360, + "Ġoccupied": 48361, + "´ë³´": 48362, + "é½IJ": 48363, + "HKLM": 48364, + "fuchsia": 48365, + "Ġnesting": 48366, + "Ġbones": 48367, + "**)&": 48368, + "Ġvoting": 48369, + "ĠtoJson": 48370, + "Ġgist": 48371, + "tdc": 48372, + "ToAction": 48373, + "backups": 48374, + "azi": 48375, + "DateRange": 48376, + "ĠUnauthorized": 48377, + "ĠpageTitle": 48378, + "ReadString": 48379, + "ẽ": 48380, + "ÑĨен": 48381, + "ĠArtist": 48382, + "Indicators": 48383, + "ALIGNMENT": 48384, + "Ġordinary": 48385, + "á»iji": 48386, + "ëħĦ": 48387, + "Ġnouvel": 48388, + "BOUNDED": 48389, + "ristopher": 48390, + "decessor": 48391, + "Bre": 48392, + "FIT": 48393, + "James": 48394, + "}']": 48395, + "ëĤ´": 48396, + "Ġåĩ½æķ°": 48397, + "Ġcite": 48398, + "Ġsic": 48399, + "Ġbasket": 48400, + "Ġ'>',": 48401, + "();\">": 48402, + "ĠNim": 48403, + "ĠLUT": 48404, + "Ġtruly": 48405, + "Ġierr": 48406, + "ipAddress": 48407, + "ANCED": 48408, + "KeyStroke": 48409, + "Tested": 48410, + "azu": 48411, + "Ġpresets": 48412, + "PROPN": 48413, + "cleared": 48414, + "cloudinary": 48415, + "MODES": 48416, + "functor": 48417, + "ĠThreadPool": 48418, + "integrity": 48419, + "ĠObservableCollection": 48420, + "CompareTo": 48421, + "ComputeV": 48422, + "predicates": 48423, + "SimulationProtos": 48424, + "Ġcampos": 48425, + "July": 48426, + "Ġfelis": 48427, + "Ezsign": 48428, + "ĠMountain": 48429, + "atório": 48430, + "responder": 48431, + "ĠMangeshkar": 48432, + "'||": 48433, + ")();": 48434, + "Bins": 48435, + "RUnlock": 48436, + "dpp": 48437, + "migr": 48438, + "pain": 48439, + "Ġ)))": 48440, + "ĊĠĠĠĉ": 48441, + "Ġsod": 48442, + "Ġbem": 48443, + "Ġderef": 48444, + "Ġ+----------------------------------------------------------------------": 48445, + "Ġyer": 48446, + "ĠRi": 48447, + "Ġanomaly": 48448, + "-----------------------": 48449, + "ĠVagrant": 48450, + "ĠIncoming": 48451, + "Trades": 48452, + "ĠKeras": 48453, + "Disc": 48454, + "cdt": 48455, + "ĠZüritüütsch": 48456, + "otope": 48457, + "ä¹±": 48458, + "corn": 48459, + "Ġpassage": 48460, + "sorter": 48461, + "Ġcardinality": 48462, + "}.${": 48463, + "Solo": 48464, + "kerja": 48465, + "ĠLOGIN": 48466, + "fortawesome": 48467, + "xxxxxxxxxxxxxxxx": 48468, + "ãĤ½ãĥĥãĥī": 48469, + "ĠìĦľë²Ħ": 48470, + "HIDDEN": 48471, + "Tangent": 48472, + "Ġä¸ĭåįĪ": 48473, + "ısı": 48474, + "Cake": 48475, + "latch": 48476, + "Ġamazon": 48477, + "Ġbol": 48478, + "Ġintra": 48479, + "rique": 48480, + "Ġvmax": 48481, + "putate": 48482, + "ĠRPM": 48483, + "addFunction": 48484, + "antro": 48485, + "acha": 48486, + "ĠKen": 48487, + "ResponseStatus": 48488, + "USART": 48489, + "fontFamily": 48490, + "UPP": 48491, + "Prevent": 48492, + "zech": 48493, + "confusion": 48494, + "ClusterSimulationProtos": 48495, + "fetcher": 48496, + "å̼çļĦ": 48497, + "uento": 48498, + "Ġmpl": 48499, + "ÙĬÙĨ": 48500, + "çĸij": 48501, + "ifikasi": 48502, + "Ġfreedom": 48503, + "Ġparamètre": 48504, + "CMSG": 48505, + "bst": 48506, + "dtypes": 48507, + "furnished": 48508, + "Ġtox": 48509, + "Ġhalt": 48510, + "portional": 48511, + "ĠVm": 48512, + "ALERT": 48513, + "prest": 48514, + "ĠKevin": 48515, + "æĸ¼": 48516, + "CELER": 48517, + "lastModified": 48518, + "Ġverifier": 48519, + "gitbook": 48520, + "MAXIMUM": 48521, + "AXI": 48522, + "è½´": 48523, + "PyUnicode": 48524, + "ARGV": 48525, + "=[];": 48526, + "lasse": 48527, + "ĠÑĥказ": 48528, + "Ġllam": 48529, + "Ġempresa": 48530, + "millimeters": 48531, + "é±¼": 48532, + "mnopqrst": 48533, + "HIG": 48534, + "dop": 48535, + "hpi": 48536, + "âĭ": 48537, + "resets": 48538, + "Ġtj": 48539, + "Ġfq": 48540, + "Ġmales": 48541, + "lijk": 48542, + "ĠCServer": 48543, + "endis": 48544, + "ĠPulse": 48545, + "Ġproposals": 48546, + "ĠGrow": 48547, + "Trunc": 48548, + "epic": 48549, + "subNav": 48550, + "diet": 48551, + "dfn": 48552, + "ikk": 48553, + "WithData": 48554, + "ĠShutdown": 48555, + "Ġaccesskey": 48556, + "waypoint": 48557, + "Ġdocstring": 48558, + "ĠmethodsFor": 48559, + "æĸ°ãģĹãģĦ": 48560, + "Ġsieci": 48561, + "ÅĽwiet": 48562, + "Deployments": 48563, + "bouncycastle": 48564, + "SPARSE": 48565, + "ãģ«éĸ¢ãģĻãĤĭ": 48566, + "KX": 48567, + "XSS": 48568, + "xBC": 48569, + "ĠmCurrent": 48570, + "getTimestamp": 48571, + "ĠAval": 48572, + "ĠDays": 48573, + "ĠMong": 48574, + "ourcing": 48575, + "ĠGRPC": 48576, + "Ġassemb": 48577, + "')`": 48578, + "lowest": 48579, + "akit": 48580, + "ĠKi": 48581, + "ĠcreateTime": 48582, + "TELE": 48583, + "ernary": 48584, + "Ġmetus": 48585, + "ãĤĴ使": 48586, + "GridLayout": 48587, + "ĠSubtract": 48588, + "JobRequest": 48589, + "å®ļæĹ¶": 48590, + "BLT": 48591, + "Masks": 48592, + "Ġclouds": 48593, + "гÑĢ": 48594, + "ãģĹãģ¾ãģĹãģŁ": 48595, + "æºIJçłģ": 48596, + "Ġaliquam": 48597, + "ĠDirective": 48598, + "Fitness": 48599, + "embali": 48600, + "strHomeaddressLive": 48601, + "Ġже": 48602, + "ĠÑģледÑĥÑİ": 48603, + "/\".$": 48604, + "Hq": 48605, + "Sew": 48606, + "kq": 48607, + "®": 48608, + "etree": 48609, + "orted": 48610, + "ĠGlyph": 48611, + "Ġ)\"": 48612, + "Addition": 48613, + "({{": 48614, + "ĠmessageId": 48615, + "ĠUndeclared": 48616, + "currentNode": 48617, + "instancemethod": 48618, + "bindung": 48619, + "ĠwriteTo": 48620, + "Posture": 48621, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 48622, + "NEON": 48623, + "Ġlooping": 48624, + "ĠOSF": 48625, + "Ġbots": 48626, + "Ġsynced": 48627, + "Ġmaintains": 48628, + "understand": 48629, + "ásá": 48630, + "ĠAttributeSet": 48631, + "ĠëĺIJëĬĶ": 48632, + "ĠFrancisco": 48633, + "UENCY": 48634, + "onav": 48635, + "Ġfu": 48636, + "//'": 48637, + "Ġnobody": 48638, + "getModule": 48639, + "ĠMENU": 48640, + "scrape": 48641, + "Ġjenv": 48642, + "boat": 48643, + "varName": 48644, + "ibody": 48645, + "playbook": 48646, + "ĠKin": 48647, + "STRI": 48648, + "twitch": 48649, + "avenÃŃ": 48650, + "ĠDecrypt": 48651, + "POLY": 48652, + "Ġsatisfies": 48653, + "ĠìłķìĿĺ": 48654, + "abyte": 48655, + "ĠEEPROM": 48656, + "busybox": 48657, + "Ġobiekt": 48658, + ".\\\"": 48659, + "Kz": 48660, + "Lerp": 48661, + "nem": 48662, + "yB": 48663, + "yj": 48664, + "Ġrelying": 48665, + "abile": 48666, + "ĠCLEAR": 48667, + "ĠPAL": 48668, + "allis": 48669, + "parallax": 48670, + "ielded": 48671, + "ĠIncluding": 48672, + "ATAN": 48673, + "Ġkt": 48674, + "DECODE": 48675, + "GetCustom": 48676, + "Ġspecular": 48677, + "StatusPointer": 48678, + "DISTRIB": 48679, + "Permiso": 48680, + "Ġquel": 48681, + "SHUT": 48682, + "ĊĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ": 48683, + "!!}": 48684, + "\"}]": 48685, + "влÑı": 48686, + "ĠgameObject": 48687, + "PyExc": 48688, + "ĠARGS": 48689, + "Converted": 48690, + "Ġмен": 48691, + "Ġcapturing": 48692, + "ĠStreams": 48693, + "ĠDisplayName": 48694, + "ĠиÑģполÑĮзÑĥ": 48695, + "Cors": 48696, + "Ie": 48697, + "RHS": 48698, + "Tow": 48699, + "TING": 48700, + "ierr": 48701, + "keterangan": 48702, + "meme": 48703, + "Ġ{}}": 48704, + "()?.": 48705, + "getSchema": 48706, + "ĠCBC": 48707, + "setDecorated": 48708, + "ĠDol": 48709, + "ĠonUpdate": 48710, + "Ġtraj": 48711, + "ĠGra": 48712, + "=''><": 48713, + "linking": 48714, + "coreos": 48715, + "NAM": 48716, + "DBY": 48717, + "ApiError": 48718, + "dicts": 48719, + "ĠTextBox": 48720, + "perspective": 48721, + "ĠÃĦ": 48722, + "MainMenu": 48723, + "ìłij": 48724, + "ĠClause": 48725, + "Ġcodice": 48726, + "Promises": 48727, + "Consumption": 48728, + "обÑĢаж": 48729, + "!(\"{}\",": 48730, + "PAUSE": 48731, + "ìĽĶ": 48732, + "apidll": 48733, + "Ġanalyzed": 48734, + "RefNanny": 48735, + "Cj": 48736, + "Lor": 48737, + "dust": 48738, + "sTipo": 48739, + "vrf": 48740, + "Ġmute": 48741, + "()[\"": 48742, + "TypeMap": 48743, + "Ġnamemap": 48744, + "typeNameLink": 48745, + "SetInput": 48746, + "Ġoutlined": 48747, + "='\".$": 48748, + "ISAM": 48749, + "NotBlank": 48750, + "faut": 48751, + "Ġmargins": 48752, + "ãĤĴå®Łè¡Į": 48753, + "Initi": 48754, + "gamepad": 48755, + "shortcode": 48756, + "evil": 48757, + "SocketChannel": 48758, + "COMPL": 48759, + "ĠprogressBar": 48760, + "GINX": 48761, + "Ġ''){": 48762, + "ник": 48763, + "recipients": 48764, + "ĠкоÑĤоÑĢÑĭе": 48765, + "Ġshlwapidll": 48766, + "Epic": 48767, + "غ": 48768, + "staking": 48769, + "Ġtcs": 48770, + "geb": 48771, + "ĠPEP": 48772, + "ĠDash": 48773, + "Ġgre": 48774, + "):\\": 48775, + "Environments": 48776, + "Collabor": 48777, + "Unified": 48778, + "...>": 48779, + "Ġimporter": 48780, + "encial": 48781, + "Readonly": 48782, + "Precondition": 48783, + "fulfilled": 48784, + "latent": 48785, + "RemoveAt": 48786, + "Äįe": 48787, + "Ġ\"\"){": 48788, + "Ġinformace": 48789, + "Ġconflicting": 48790, + "Measured": 48791, + "ĠcKVisitor": 48792, + "èĵĿ": 48793, + "ADAPTER": 48794, + "ĠпомоÑīÑĮÑİ": 48795, + "WQ": 48796, + "jarg": 48797, + "jne": 48798, + "lts": 48799, + "nus": 48800, + "tts": 48801, + "reactions": 48802, + "ifiz": 48803, + "ĠSar": 48804, + "ĠSul": 48805, + "Ġdeprec": 48806, + "endix": 48807, + "setAttr": 48808, + "Ġenvoy": 48809, + "ĠThough": 48810, + "disconnected": 48811, + "ronos": 48812, + "?:\\": 48813, + "PUART": 48814, + "Ġìŀ¬": 48815, + "Ġ--------------------------------------------------------------------": 48816, + "าà¸ĩ": 48817, + "ÏĦε": 48818, + "ĠMouseEvent": 48819, + "ESCAPE": 48820, + "packagist": 48821, + "Fis": 48822, + "Nest": 48823, + "Pul": 48824, + "Tape": 48825, + "jem": 48826, + "vable": 48827, + "Ġsó": 48828, + "ĠSORT": 48829, + "estrel": 48830, + "ĠNb": 48831, + "ĠBor": 48832, + "defthm": 48833, + "osten": 48834, + "StringUtil": 48835, + "ĠHover": 48836, + "Ġkü": 48837, + "ucion": 48838, + "bypass": 48839, + "ĠlogMessage": 48840, + "ĠStaff": 48841, + "ClientResponse": 48842, + "Translated": 48843, + "airport": 48844, + "Ġwebapp": 48845, + "arius": 48846, + "dropDown": 48847, + "dropna": 48848, + "cognit": 48849, + "prevSize": 48850, + "ĠMonday": 48851, + "Ġimproves": 48852, + "Collected": 48853, + "Ġ-------------------": 48854, + "èīº": 48855, + "æİ§åζåύ": 48856, + "cjÄĻ": 48857, + "opilot": 48858, + ")}\"": 48859, + "nA": 48860, + "vY": 48861, + "ĠĊĉĠ": 48862, + "onStart": 48863, + "Ġreorder": 48864, + "Ġrealloc": 48865, + "chastic": 48866, + "ĠDAL": 48867, + "irical": 48868, + "lform": 48869, + "ĠMASTER": 48870, + "oidc": 48871, + "GetId": 48872, + "TimeIn": 48873, + "çļĦ代çłģ": 48874, + "ĠGetLastError": 48875, + "æľ¨": 48876, + "evento": 48877, + "å®Ī": 48878, + "Interior": 48879, + "ĠListing": 48880, + "downcase": 48881, + "msglen": 48882, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 48883, + "incubator": 48884, + "ĠPyQt": 48885, + "ĠSpin": 48886, + "peaks": 48887, + "MixedReality": 48888, + "\"${": 48889, + "'')": 48890, + "+')": 48891, + "Forgot": 48892, + "wand": 48893, + "Ġà¹Ģ": 48894, + "getEntry": 48895, + "getInteger": 48896, + "ĠCookies": 48897, + "amu": 48898, + "agri": 48899, + "ĠMREQ": 48900, + "Ġ:------": 48901, + "ĠEQUAL": 48902, + "-------------------------": 48903, + "Conversions": 48904, + "ATS": 48905, + "appengine": 48906, + "ĠsetError": 48907, + "Sea": 48908, + "MElement": 48909, + "Ġ**-": 48910, + "Ġprece": 48911, + "ĠApplies": 48912, + "ĠOnPropertyChanged": 48913, + "Ġnonlinear": 48914, + "Ġþ": 48915, + "TFS": 48916, + "BindingEncoder": 48917, + "å½ĵçĦ¶": 48918, + "Ġterminating": 48919, + "ĠCOMMIT": 48920, + "Deserialization": 48921, + "ĠReleased": 48922, + "ĠPLATFORM": 48923, + "CUSTOMER": 48924, + "Ġuzys": 48925, + "Ġultimately": 48926, + "Ġseguinte": 48927, + "Ġspécifi": 48928, + "Ġseguida": 48929, + "Có": 48930, + "HDF": 48931, + "Nbr": 48932, + "Rod": 48933, + "Ress": 48934, + "reform": 48935, + "anç": 48936, + "Ġbail": 48937, + "ĠTweet": 48938, + "Ġligne": 48939, + "ĠDyn": 48940, + "ĠMad": 48941, + "並": 48942, + "ĠQQ": 48943, + "PointF": 48944, + "Ġarcu": 48945, + "Ġrefused": 48946, + "homeassistant": 48947, + "Ġâļłï¸ı": 48948, + "shipment": 48949, + "ĠÎĶ": 48950, + "ĊĉĠĠĠĠĊĉĠĠĠ": 48951, + "Embedding": 48952, + "æĶ¶éĽĨ": 48953, + "ĠDISCLAIM": 48954, + "ĠTEMPLATE": 48955, + "ê±°ëĤĺ": 48956, + "Ġgibt": 48957, + "Rip": 48958, + "Une": 48959, + "nss": 48960, + "unsplash": 48961, + "Ġafu": 48962, + "thor": 48963, + "ĠTZ": 48964, + "Ġhall": 48965, + "Recycler": 48966, + "struts": 48967, + "Ġlogist": 48968, + "ignum": 48969, + "asty": 48970, + "antor": 48971, + "itioner": 48972, + "bui": 48973, + "ĠsetStatus": 48974, + "DataStream": 48975, + "SEM": 48976, + "çļĦä¸Ģ个": 48977, + "ĠProvisioning": 48978, + "Defin": 48979, + "OrThrow": 48980, + "SSR": 48981, + "downloaded": 48982, + "CreateTable": 48983, + "ApiVersion": 48984, + "ĠAsia": 48985, + "ĠmergeFrom": 48986, + "Ġeros": 48987, + "Fixer": 48988, + "wrapping": 48989, + "raspberry": 48990, + "ĠDeclaration": 48991, + "Eo": 48992, + "FAB": 48993, + "Kj": 48994, + "KILL": 48995, + "]?.": 48996, + "bmatrix": 48997, + "mst": 48998, + "mur": 48999, + "xBA": 49000, + "ĠÙ¾": 49001, + "stc": 49002, + "univ": 49003, + "ubi": 49004, + "getHours": 49005, + "Ġ&::": 49006, + "Produce": 49007, + "ORA": 49008, + "jsonrpc": 49009, + "Noto": 49010, + "UNSUPPORTED": 49011, + "ĠChen": 49012, + "SPORTE": 49013, + "GRPC": 49014, + "produto": 49015, + "Ġweren": 49016, + "corrected": 49017, + "iguity": 49018, + "wantErr": 49019, + "ìϏ": 49020, + "BidRequest": 49021, + "Ġquesta": 49022, + "BlockingQueue": 49023, + "Recursion": 49024, + "Ġviolations": 49025, + "ãģ«ãģ¤ãģĦãģ¦ãģ¯": 49026, + "*>&": 49027, + "Epsilon": 49028, + "Fax": 49029, + "Labeled": 49030, + "]\").": 49031, + "reb": 49032, + "decrease": 49033, + "Ġfires": 49034, + "entification": 49035, + "Ġthá»ĥ": 49036, + "ĠMil": 49037, + "ĠMIC": 49038, + "Ġraising": 49039, + "adda": 49040, + "ĠHall": 49041, + "DataTo": 49042, + "SEEK": 49043, + "ĠTheory": 49044, + "bodyParser": 49045, + "Ġimagem": 49046, + "ĠQList": 49047, + "NOC": 49048, + "mmio": 49049, + "ypad": 49050, + "Ġ\"\"},": 49051, + "æŀļ": 49052, + "価": 49053, + "ä¸ĬéĿ¢": 49054, + "ç¨ĭå¼ı": 49055, + "ĠObtain": 49056, + "à´¨": 49057, + "ĠRemoteException": 49058, + "ãģłãģij": 49059, + "----------------------------------------------------------------------===//": 49060, + "ĠÑģообÑī": 49061, + "RECEIVE": 49062, + "ãĥ¼ãĥIJãĥ¼": 49063, + "psrld": 49064, + "Vous": 49065, + "fpr": 49066, + "lä": 49067, + "Ġfifty": 49068, + "unmanaged": 49069, + "idr": 49070, + "Ġselecion": 49071, + "ĠdeÄŁ": 49072, + "ĠEconom": 49073, + "Ġexcluding": 49074, + "buzz": 49075, + "Seat": 49076, + "Ġhely": 49077, + "ĠDeck": 49078, + "ĠCharge": 49079, + "ancies": 49080, + "DBL": 49081, + "haszn": 49082, + "cdots": 49083, + "SPC": 49084, + "npz": 49085, + "rootDir": 49086, + "JsonArray": 49087, + "mune": 49088, + "\"}\\": 49089, + "Structural": 49090, + "ĠapiClient": 49091, + "æĭħ": 49092, + "Ġbuiltins": 49093, + "Ġpooling": 49094, + "selections": 49095, + "акеÑĤ": 49096, + "Ġmulticast": 49097, + "Ġpipes": 49098, + "combinator": 49099, + "Ġexploration": 49100, + "ĠPEMER": 49101, + "GTK": 49102, + "WPF": 49103, + "evidence": 49104, + "hut": 49105, + "smp": 49106, + "tB": 49107, + "}]}": 49108, + "Ġtense": 49109, + "ĠCouch": 49110, + "queness": 49111, + "Ġconcerning": 49112, + "ĠNixOS": 49113, + "scsi": 49114, + "resolves": 49115, + "Ġchaque": 49116, + "Ġunread": 49117, + "ystack": 49118, + "Champ": 49119, + "textView": 49120, + "ConfigPath": 49121, + "configuring": 49122, + "OPC": 49123, + "Websocket": 49124, + "Ġscripting": 49125, + "ĠCODEC": 49126, + "æ³Ľ": 49127, + "^^^": 49128, + "('.');": 49129, + "PARA": 49130, + "Ġæĵ": 49131, + "EditorBrowsable": 49132, + "rdp": 49133, + "ĠUNICODE": 49134, + "符åIJĪ": 49135, + "æ··": 49136, + "HLJ": 49137, + "Ġaplikace": 49138, + "Ġgroupe": 49139, + "Ġãĥĩãĥ¼ãĤ¿": 49140, + "iecutter": 49141, + "CJ": 49142, + "JOptionPane": 49143, + "MDL": 49144, + "dL": 49145, + "sliced": 49146, + "reas": 49147, + "loot": 49148, + "mpath": 49149, + "ĠSIP": 49150, + "getOptions": 49151 + }, + "merges": [ + "Ġ Ġ", + "ĠĠ ĠĠ", + "ĠĠĠĠ ĠĠĠĠ", + "ĠĠ Ġ", + "e r", + "i n", + "o n", + "r e", + "a t", + "s t", + "o r", + "e n", + "Ġ t", + "l e", + "Ċ ĠĠĠĠ", + "Ċ ĠĠĠĠĠĠĠĠ", + "s e", + "a n", + "a l", + "Ġ =", + "Ġ c", + "a r", + "i t", + "Ċ ĠĠĠ", + "i on", + "d e", + "- -", + "c t", + "m e", + "r o", + "ĊĠĠĠĠ ĠĠĠ", + "h e", + ") ;", + "ĉ ĉ", + "i c", + "Ġ f", + "i s", + "Ġ p", + "in g", + "g e", + "Ġ {", + "a s", + "u t", + "en t", + "u r", + "/ /", + "e s", + "Ġ (", + "Ġ s", + "Ġ n", + "u n", + "Ġ a", + "Ġ \"", + "i d", + "l o", + "Ġ re", + "m p", + "e d", + "Ġ *", + "Ġ }", + "a me", + "Ġt he", + "Ġ b", + "ĊĠĠĠĠĠĠĠĠ ĠĠĠ", + "i f", + "* *", + "e x", + "Ġ in", + "a c", + "Ġ '", + "c o", + "at e", + "Ġ <", + "Ċ Ġ", + "i l", + "-- --", + "Ġ o", + "u l", + "a d", + "u e", + "Ġ w", + "e l", + "Ġ d", + "r i", + "Ġ m", + "( )", + "= \"", + "p e", + "t h", + "as s", + "ĠĠĠĠ ĠĠĠ", + "u s", + "ĊĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "Ġ v", + "Ċ ĉĉ", + "u b", + "Ċ ĉ", + "Ġ S", + "t r", + "a b", + "Ġt h", + "o l", + "an d", + "e t", + "i g", + "o t", + "at ion", + "a p", + "c e", + "' ,", + "ge t", + "Ġt o", + "or t", + "l i", + "ur n", + "Ġ st", + "< /", + "u m", + "= =", + "c h", + "a ge", + "ct ion", + "I n", + "h t", + "p t", + "l ass", + "i v", + "on t", + "t urn", + "Ġ C", + "t er", + "\" ,", + "e w", + "Ġ T", + "a y", + "- >", + "ĊĠĠĠĠ Ġ", + "Ġ $", + "Ġ A", + "ĊĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "at a", + "o de", + ": :", + "a m", + "e m", + "l ic", + "ex t", + "Ġ se", + "Ġ de", + "in t", + "y pe", + "e ct", + "\" >", + "i le", + "Ġ if", + "en d", + "u p", + "o m", + "s p", + "Ġ h", + "i mp", + "s s", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "v er", + "i z", + "n ame", + "i st", + "Ġ [", + "Ġ -", + "---- ----", + "o d", + "Ġo f", + "# #", + "Ġ //", + "R e", + "Ġf or", + "č Ċ", + "Ġ is", + "Ġ I", + "( \"", + "o w", + "Ġre turn", + "Ġc lass", + "ab le", + "e st", + "Ċ ĊĠĠĠ", + "Ġ P", + "q u", + "i m", + "it h", + "** **", + "t o", + "a v", + "c k", + "ul t", + "Ġ l", + "Ġc on", + "Ġth is", + "ac k", + "a se", + "Ġ and", + "p er", + "( '", + "al l", + "imp ort", + "st r", + "pt ion", + "c on", + "m ent", + "se t", + ") ,", + "al ue", + "( );", + "Ġ +", + "Ġ D", + "i r", + "Ġ @", + "Ċ Ċ", + "k e", + "ub lic", + "a g", + "in e", + "er s", + "Ġ e", + "Ġ g", + "f f", + "l f", + "Ġ M", + "Ġ N", + ") )", + "t p", + "j ect", + "d er", + "or m", + "ro m", + "us er", + ". .", + "Ġ L", + "Ġ :", + "o s", + "S t", + "ar t", + "es s", + "a in", + "_ _", + "Ġ F", + "d iv", + "co m", + "s er", + "p ro", + "== ==", + "i me", + "u re", + "ul l", + "o ur", + "Ġ E", + "Ġ /", + "iz e", + "t e", + "o p", + "I N", + "tr ing", + "Ġ |", + "p ut", + "ht tp", + "Ġb e", + "E R", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "Ġ `", + "er r", + "un ction", + "Ġ= >", + "Ġ y", + "Ġp ro", + "q ue", + "a ct", + "Ġn ew", + "Ġ ex", + "u se", + "Ġ r", + "o ut", + "o c", + "it y", + "Ġ on", + "s c", + "Ġ O", + ") .", + "i re", + "Ġ &", + "at h", + "Ġ B", + "in d", + "čĊ č", + "Ġt r", + ": //", + "Ġ or", + "p l", + "N ame", + "Ġ R", + "ac e", + "Ġ it", + "Ġp ublic", + "\" :", + "i al", + "ic e", + "n t", + "O N", + "p ar", + "Ġ* /", + "Ġ G", + "E x", + "` `", + "c l", + "un t", + "re s", + "Ġ< /", + "Ċĉĉ ĉĉ", + "th is", + "f o", + "o id", + "er t", + "f ig", + "d d", + "Ċ ĊĠĠĠĠĠĠĠ", + "b ject", + "a re", + "v e", + "Ġ #", + "de f", + "P ro", + "r r", + "o mp", + "p p", + "Ġ j", + "Ġ i", + "Ġst r", + "Ġ me", + "Ġ lo", + "f orm", + "Ġ an", + "re turn", + "que st", + "Ċĉĉ ĉ", + "o o", + "d ata", + "I d", + "a il", + "-------- --------", + "C on", + "Ġ= =", + "l l", + "re f", + "R E", + "] ,", + "s h", + "ĊĠĠĠĠĠĠĠĠ Ġ", + "Ġ _", + "t y", + "Ġ as", + "T ype", + "**** ****", + "Ġ get", + "Ġw ith", + "Ġ W", + "p ort", + "ar g", + "ig n", + "or y", + "Ġin t", + "Ġse lf", + "l y", + "Ġ U", + "a st", + "C ont", + "S T", + "Ġn ame", + "i ew", + "Ġ .", + "i p", + "Ġw h", + "http s", + "un d", + "ro w", + "o u", + "Ġf rom", + "Ġn ot", + "ĠĠĠĠ Ġ", + "a x", + "o st", + "ode l", + "de x", + "S tring", + "Ġ !", + "v ent", + "or d", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "\" )", + "on e", + "it e", + "Ġcon st", + "iv e", + "sp an", + "Ġc h", + "Ċ ĠĠ", + "Ġde f", + "c ont", + "Ġf unction", + "li st", + "ad d", + "c ess", + "t d", + "ar y", + "i el", + "u ct", + "u st", + "Ġ V", + "Ġ H", + "ke y", + "v ice", + "al se", + "t ype", + "an ge", + "' )", + "iel d", + "D e", + "o re", + "co de", + "Ġth at", + "at ic", + "b er", + "ã ģ", + "an t", + "an s", + "ig ht", + "v al", + "m l", + "it ion", + "b ut", + "user name", + "b u", + "Ġ In", + "or k", + "our ce", + "ar d", + "T o", + "Ġd ata", + "Ġ un", + "f t", + "Ġ el", + "[ '", + ") :", + "Ġc ont", + "b o", + "re ss", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "i o", + "at or", + "E N", + "Ċ ĊĠ", + "L ist", + "R es", + "A T", + "an ce", + "\" );", + "ap p", + "A L", + "le ment", + "il l", + "] (", + "le t", + "err or", + "i es", + "at ed", + "re ate", + "e c", + "Ġre s", + "č ĊĠĠĠ", + "y st", + "Ġse t", + "a ult", + "lo w", + "an g", + "Ġ al", + "Ġn ull", + "Ġd o", + "at ch", + "er e", + "co l", + "en er", + "D ata", + "lo g", + "il d", + "par am", + "j s", + "ri v", + "// //", + "a mp", + "O R", + "yst em", + "u le", + "f ile", + "s o", + "Ġv oid", + "in k", + "## ##", + "Ġ \\", + "Ġc om", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġ --", + "d ate", + "g r", + "> <", + "Ġv ar", + "a k", + "m o", + "E n", + "p r", + "it le", + "I D", + "I T", + "==== ====", + "i x", + "A R", + "se lf", + "' ]", + "Ġv alue", + "Ġs h", + "on g", + "av e", + "um ent", + "le ct", + "U L", + "Ġ use", + "( $", + "u de", + "sc ri", + "ä ¸", + "s ion", + "riv ate", + "str ing", + "Ġ} ,", + "Ġstr ing", + "Ġf ile", + "Ġ id", + "i de", + "he ck", + "S E", + "ce ption", + "lo ck", + "Ġb y", + "S er", + "a w", + "Ġel se", + "ab el", + "L E", + "Ġ x", + "o g", + "č ĊĠĠĠĠĠĠĠ", + "en g", + "ad er", + "Ġ at", + "ro up", + "c lass", + "on se", + "o ul", + "li ent", + "Ġt ype", + "C h", + "Ġ )", + "ri but", + "Ġ k", + "oul d", + "p h", + "er y", + "} ,", + "u d", + "cl ude", + "en se", + "b r", + "th od", + "y n", + "o me", + "p o", + "Ġy ou", + "at us", + "ar r", + "rr or", + "Ġ >", + "ri g", + "re ad", + "in al", + "D E", + "v alue", + "T r", + "> ", + "th er", + "amp le", + "] ;", + "Ġ J", + "re e", + "Ġ up", + "F ile", + "b ack", + "Ġh ref", + "on ent", + "p y", + "f or", + "co mp", + "de d", + "C omp", + "p ath", + "Ex ception", + "ption s", + "ack age", + "od ule", + "ers ion", + "st ance", + "rig ht", + "l ay", + "******** ********", + "ation s", + "r y", + "m and", + "Ġw e", + "] .", + "co unt", + "Ġ le", + "ĉĉ ĉĉ", + "p re", + "ind ow", + "t ime", + "ar ch", + "ar get", + "T est", + "w ork", + "u c", + "r ame", + "\" \"", + "I t", + "f er", + "R O", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "Ġa dd", + "I ON", + "in clude", + "Ġ ?", + "ro ll", + "an n", + "per ty", + "Ġ/ **", + "M E", + "Ġ li", + "Ġ: =", + "() ,", + "T h", + "o f", + "u al", + "el l", + "T ext", + "u es", + "UL L", + "ã Ģ", + "() );", + "s um", + "if i", + "if ic", + "Ð ¾", + "ut il", + "o ck", + "lo at", + "T ime", + "Ġ u", + "A n", + "+ +", + "o unt", + "Ġ error", + "r ite", + "č ĊĠĠĠĠĠĠĠĠĠĠĠ", + "re am", + "o ol", + "o und", + "t ing", + "in dex", + "Ġres ult", + "= '", + "c he", + "m ary", + "rr ay", + "U n", + "a ke", + "Con fig", + "Ċ ĊĠĠĠĠĠĠĠĠĠĠĠ", + "ic ense", + "pl ay", + "r ap", + "U T", + "p s", + "f rom", + "v iew", + "ç ļ", + "le an", + "V iew", + "i e", + "A t", + "çļ Ħ", + "St ate", + "Ġb u", + "ame ter", + "Ð µ", + "p x", + "B y", + "od y", + "ess age", + "Ġor g", + "ar k", + "or g", + "l ate", + "ĊĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "c es", + "re d", + "Ġ );", + "it em", + "it ial", + "č Ċĉ", + "It em", + "Ġw ill", + "A S", + "il ter", + "Ġ-- >", + "I C", + "A dd", + "Re quest", + "Ġs er", + "---------------- ----------------", + "oc ument", + "ect or", + "/ *", + "m ap", + "le te", + "w ord", + "s ub", + ". _", + "Ġ* *", + "ir st", + "v oid", + "Ġ ro", + "yn c", + "In fo", + "ï¼ Į", + "Ġ} );", + "Ġa pp", + "ff er", + "i se", + "f unction", + "p en", + "Ð °", + "um n", + "] )", + "in put", + "arg s", + "Ġt ime", + "a it", + "Ġc ase", + "t ribut", + "Ġ err", + "ire ct", + "F F", + "n g", + "a ction", + "ut e", + "le ction", + "//// ////", + "lo b", + "in ter", + "if y", + "Ġp r", + "Ġ list", + "o int", + "E vent", + "c c", + "g ist", + "oo k", + "s on", + "Ġ __", + "() )", + "Ġf inal", + "Ġh ave", + "m odel", + "f ace", + "( (", + "con fig", + "P I", + "at ure", + "sp ace", + "str uct", + "Ġn e", + "Ġ all", + "b y", + "ĠS ystem", + "l abel", + "c a", + "or der", + "M essage", + "F ield", + "ĠL icense", + "[ ]", + ".. .", + "l er", + "ĠN ULL", + "' s", + "Ser vice", + "r it", + "ri de", + "A C", + "ub le", + "Ġ import", + "S h", + "ic h", + "iz ed", + "A D", + "op y", + "O T", + "', '", + "at es", + "C O", + "ro l", + "d b", + "sp onse", + "Ġ assert", + "Ġ key", + "v el", + "l ink", + "Ġre quire", + "n ot", + "Ġ let", + "M ap", + "ag er", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "m on", + "N ode", + "ur ation", + "Ġd is", + "P ath", + "pr int", + "qu ery", + "E T", + "g le", + "c re", + "p es", + "Cont ext", + "n ing", + "Ġ K", + "f e", + "ic k", + "C ode", + "\"> <", + "ic es", + "Ġt ext", + "E D", + "Ġan y", + "n o", + "ĠTh is", + "t a", + "De f", + "Ġch ar", + "ain er", + "at ive", + "w h", + "up port", + "li b", + "re quest", + "ex port", + "Ġcon fig", + "Ġ imp", + "Ġs ub", + "F O", + "g roup", + "q l", + "[ \"", + "st art", + "sum mary", + "and le", + "an k", + "Ġy our", + "( {", + "us h", + "a z", + "Ġs pec", + "are nt", + "w e", + "uth or", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "Ċĉĉĉĉ ĉ", + "p ress", + "l d", + "t he", + "Ġj ava", + "n er", + "ust om", + "U p", + "roll er", + "d uct", + "Ġw ork", + "ĠG et", + "id er", + "IN G", + "to p", + "Res ult", + "Ġsh ould", + "w are", + "Res ponse", + "ce pt", + "Ġa b", + "M A", + "Ġh as", + "V al", + "ent er", + "Ġ( )", + "C H", + "Ġp re", + "T O", + "S ER", + "d o", + "Ġ Y", + "Ġme thod", + "Ġwh en", + "U N", + "ag s", + "Ð ½", + "scri ption", + "Ġ array", + "Ġst yle", + "O f", + "Ġr un", + "t s", + "Ġth row", + "scri pt", + "Ġex pect", + "' ),", + "Ġin ter", + "d oc", + "In t", + "Ġ( !", + "Ġa c", + "m is", + "M e", + "te mp", + "I G", + "m age", + "me ssage", + "and ler", + "EN T", + "b ase", + "Ġin st", + "in ed", + "n d", + "lic k", + "fo re", + "å Ī", + "\" ]", + "Ġ ext", + "ãĢ Ĥ", + "m ax", + "D es", + "Ġn umber", + "bu g", + "en sion", + "Ġ+ =", + "ol d", + "M P", + "tribut e", + "../ ../", + "Ġpr int", + "E X", + "\", \"", + "am s", + "æ ľ", + "se s", + "A s", + "I L", + "B e", + "ĠĠĠĠĠĠĠĠ ĠĠĠ", + "en u", + "c ord", + "Ġ using", + "Ġ} ;", + "o bject", + "Ġme ssage", + "L e", + "Ġc all", + "Ġst art", + "ib le", + "d f", + "ne ction", + "Ġ ]", + "## #", + "t x", + "O n", + "Ñ Ģ", + "C lient", + "Ġc reate", + "Ċĉĉĉĉ ĉĉ", + "col or", + "n b", + "Ġre ad", + "\\ \"", + "po int", + "end s", + "f ield", + "о Ð", + "ro und", + "o ver", + "ww w", + "mo ve", + "bo x", + "ä º", + "Ġv ersion", + "A l", + "Ġc heck", + "ch o", + "it s", + "tr ue", + "Ġin put", + "Ġwh ich", + ") {", + "O ut", + "ĠD e", + "Col or", + "d ir", + "n um", + "st atus", + "it or", + "Ġp ath", + "Ñ ģ", + "b lock", + "Ġo b", + "g in", + "Ġ\" \"\"", + "a de", + "p ost", + "O r", + "t n", + "i able", + "st d", + "Ġun der", + "Ġc l", + "St atus", + "C ount", + "ail s", + "def ault", + "c ur", + "o v", + "Ġch ange", + "} }", + "Ġn ode", + "Ġm odel", + "ting s", + "Ġa d", + "tr ans", + "i k", + "D ate", + "b ody", + "a f", + "Ġc urrent", + "b l", + "a le", + "c heck", + "W ith", + "t il", + "uc cess", + "ot al", + "ect ed", + "-- -", + "Ġb ool", + "Ġs rc", + "F or", + "> (", + "G roup", + "ĠT r", + "ic on", + "e vent", + "ĊĠĠĠĠ ĠĠ", + ". /", + "ug in", + "os ition", + "Man ager", + "lo se", + "st atic", + "re n", + "à ¡", + "ann el", + "ic al", + "ut ton", + "c lient", + "l ang", + "re g", + "C L", + "ic ro", + "ass word", + "s w", + "lob al", + "m an", + "IN FO", + "A c", + "Ġon e", + "t es", + "Ġ X", + "ch ar", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġtr y", + "Ġw as", + "S ystem", + "T able", + "Ġf ield", + "m t", + "ut ion", + "Ġst ate", + "Ġo ther", + "Ġ[ ]", + "i ent", + "L oc", + "at ab", + "! --", + "end er", + "gist er", + "In put", + "se lect", + "A G", + "Ġth en", + "å IJ", + "s rc", + "ol der", + "Ġcont ext", + "th on", + "st yle", + "I s", + "Ġit em", + "ç Ķ", + "Qu ery", + "Ġb reak", + "ver t", + "Ġl ine", + "Ġs ome", + "Ġtr ans", + "Ġm ay", + "b ar", + "ro id", + "so le", + "å ®", + "č Ċĉĉ", + "p age", + "Ġ arg", + "ifi ed", + "but ton", + "mp ty", + "à ¸", + "form at", + "w idth", + "p ng", + "In ter", + "m odule", + "ver sion", + "iz ation", + "Ġin dex", + "at er", + "( &", + "Pro perty", + "Ġuse d", + "nb sp", + "{ {", + "l en", + "I mage", + "Ġ Ċ", + "u age", + "å ħ", + "u x", + "Ġ ent", + "in it", + "ĠN one", + "ser v", + "$ {", + "per t", + "W indow", + "ĠI f", + "Ġstr uct", + "Ġm y", + "Ġd ist", + "] [", + "H E", + "op en", + "oo gle", + "Ġ https", + "M L", + "D O", + "Ġ/ >", + "ĠL ist", + "ĠU n", + "w ait", + "so ft", + "atab ase", + "Ċ ĊĠĠĠĠĠ", + "Ġout put", + "app end", + "y pes", + "r a", + "Ġe vent", + "n ull", + "ast er", + "Ġb ase", + "loc al", + "ä ½", + "v ide", + "è ¿", + "c urrent", + "ot e", + "act ory", + "mis sion", + "g o", + "B ox", + "S S", + "u i", + "is h", + "ĠC lass", + "T Y", + "A ction", + "Ġa ct", + "T E", + "B utton", + "ameter s", + "p lo", + "Ġ ,", + "a pe", + "o ff", + "Ġ= ==", + "S ub", + "Comp onent", + "pl y", + "D I", + "C ON", + "D is", + "Ġu int", + "ment s", + "c s", + ". >", + "à ¼", + "S tr", + "str ong", + "( [", + "ser t", + "name space", + "u ch", + "Bu ffer", + "Ġa wait", + "posit ory", + "Ġcom mand", + "Ġth ere", + "p ush", + "Com mand", + "Ġc re", + "set s", + "Ġf l", + "N o", + "out put", + "a int", + "Ġext ends", + "I P", + "S ource", + "f ilter", + "ĠI t", + "O ptions", + "ĠF ile", + "ĠĠĠĠĠĠĠĠ Ġ", + "he d", + "h ost", + "rit er", + "Ġ ::", + "Ġ} }", + "/ >", + "h as", + "ang uage", + "per ation", + "Ġc lient", + "Def ault", + "U S", + "if t", + "Ġm od", + "p ri", + "~ ~", + "p art", + "r t", + "ing s", + "Ð »", + "Ġimp lement", + "p rivate", + "le m", + "ĠS er", + "sign ed", + "Ser ver", + "G L", + "t om", + "V ersion", + "Ġ qu", + "Ġdo uble", + "Ġn p", + "n ect", + "ob j", + "Ġd i", + "Ġl en", + "end if", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "x f", + "ol ic", + "Ġpro ject", + "Ġo ptions", + "ms g", + "lic ense", + "Ġval ues", + "c ss", + "Ġval id", + "u me", + "Ġ ;", + "t ual", + "Re f", + "Ġp o", + "v o", + "c d", + "orm al", + "å Ĭ", + "ust er", + "Ġ right", + "č ĊĠĠĠĠĠ", + "Ġf a", + "re t", + "ct x", + "à ³", + "çĶ ¨", + "Ġc o", + "Ġ ar", + "imp le", + "M ode", + "En d", + "w o", + "ap ache", + "it ies", + "en e", + "Ġ[ '", + "ĠT est", + "O F", + "Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "he ader", + "Ä ±", + "\" ),", + "our ces", + "Ġ ed", + "a uthor", + "S C", + "ow er", + "H el", + "unt ime", + "en v", + "ser vice", + "S I", + "Ġli ke", + "Ġa ction", + "Ġof f", + "de t", + "ap t", + "Ġrequire d", + "St art", + "\" ))", + "param s", + "D et", + "F l", + "l ast", + "F rame", + "Col umn", + "row s", + "un k", + "C heck", + "A A", + "t ag", + "P r", + "er o", + "Ġser ver", + "E L", + "AB LE", + "ĠS e", + "Ġ{ }", + "Q L", + "arg in", + "Ġre t", + "an el", + "Ġwh ere", + "Ġr ange", + "Ġo pen", + "st ore", + "ap h", + "l t", + "press ion", + "c f", + "in ition", + "Ġb lock", + "Ġpro cess", + "C l", + "S p", + "om ain", + "L abel", + "Ġdist ribut", + "ĊĠĠĠĠ ĊĠĠĠ", + "n umber", + "n av", + "f r", + "n ow", + "g oogle", + "( _", + ") ]", + "g ener", + "Ġfor mat", + "doc s", + "Ġ args", + "Ġc al", + "C K", + "o ptions", + "An d", + "f ont", + "def ined", + "' ],", + "í ķ", + "bo ard", + "ĠIn itialized", + "Ġse lect", + "Ġs upport", + "ĠO bject", + "b ot", + "Ġlo cal", + "Ġs c", + "ĠC ON", + "iv ity", + "m ail", + "C C", + "Ġv iew", + "ER R", + "x y", + "U rl", + "######## ########", + "Form at", + "par se", + "y m", + "A M", + "č ĊĠĠĠĠ", + "At tribute", + "ç »", + "F actory", + "o pt", + "Ent ity", + "H ttp", + "Ġwh ile", + "c p", + "br ary", + "List ener", + "ĠA dd", + "K E", + "Ġ ass", + "ent ity", + "čĊč ĊĠĠĠ", + "B lock", + "e qual", + "Ġd if", + "Re ad", + "S P", + "f irst", + "ref er", + "Ġfor m", + "C o", + "v ed", + "UL T", + "st ream", + "ref ix", + "ve lo", + "ĠO F", + "image s", + "un it", + "ĠA n", + "sh ow", + "O b", + "T ask", + "Ġe cho", + "å ľ", + "pro ject", + "t t", + "ĠC omp", + "H O", + "ver y", + "gr aph", + "Col lection", + "g ress", + "Ġj ust", + "Equal s", + "Ġp oint", + ".. ..", + "() :", + "by te", + "ĠĠĠĠĠĠĠĠ ĠĠ", + "iz er", + "Ġl abel", + "Ġa uto", + "Ġw ould", + "s v", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ä¸ Ģ", + "Th is", + "he ight", + "le ss", + "St yle", + "Ġfile s", + "u mp", + "m ut", + "ĠD E", + "Ġex ample", + "et a", + "com mon", + "Ġ$ {", + "U I", + "s pec", + "ar ning", + "Ġst atus", + "Ġo ver", + "M em", + "Ġf ind", + "Res ource", + "comp onent", + "ial og", + "c ard", + "res h", + "\" .", + "Ġm odule", + "Ġm ust", + "Ġex ec", + "ad min", + "Out put", + "m er", + "Val id", + "util s", + "Ġin clude", + "iv en", + "Ġex ist", + "æĺ ¯", + "il ename", + "de scription", + "è ®", + "e f", + "Ġs ol", + "g n", + "r ad", + "et work", + "Ġl a", + "Ġse e", + "TY PE", + "AL L", + "a a", + "Ġo s", + "p g", + "Config uration", + "in st", + "à §", + "er n", + "T P", + "Ġal so", + "ĠA PI", + "I M", + "ail able", + "Up date", + "Ġm an", + "æ Ĺ", + "le g", + "U s", + "I O", + "che d", + "Ġd ate", + "vir on", + "ch ange", + "čĊ čĊ", + "Lay out", + "IT E", + "è ¡", + "U M", + "F ilter", + "Ġme m", + "Ġg roup", + "æķ °", + "R ow", + "in es", + "Ġn ext", + "Ġpro vide", + "n p", + "Ġf ont", + "ex pect", + "L ink", + ", \"", + "Ġj son", + "enc y", + "ck et", + "Ġp ost", + "ri ver", + "add ing", + "{ \"", + "Ġc atch", + "x x", + "ĠN OT", + "a h", + "in s", + "S to", + "S c", + "y thon", + "ant s", + "Ġ> =", + "ST R", + "Ġpro b", + "L ength", + "a ded", + "å Ń", + "P RO", + "Ġhe ight", + "Ġc ount", + "in stance", + "temp late", + "ro ot", + "ĠC opy", + "c enter", + "re act", + "y mb", + "a uth", + "che ma", + "; &", + "M O", + "at tern", + "ĠD ata", + "EX T", + "b it", + "Ġl ast", + "v ector", + "re q", + "Ġto ken", + "c ast", + "io us", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ens or", + "be gin", + "T emp", + "ess ion", + "Ġfollow ing", + "UR L", + "d ing", + "ĠS h", + "pro cess", + "Ġ ...", + "U P", + "z ure", + "bo ol", + "Ġf ix", + "Cont rol", + "p ack", + "T ypes", + "n s", + "OR T", + "Ġiss ue", + "å º", + "l ight", + "Ġ\" /", + "Ġf ound", + "Ġs ame", + "pro perty", + "ĠV AL", + "cont rol", + "U B", + "at tr", + "Add ress", + "olic y", + "Ġa v", + "ol s", + "Ġh ere", + "Ġinst all", + "W h", + "pro duct", + "c r", + "F unction", + "ĠY ou", + "= >", + "tribut es", + "ud io", + "d ist", + "r ag", + "Ġlo ad", + "o ther", + "cri ption", + "ic le", + "x b", + "M odule", + "c ent", + "a j", + "qu ot", + "ry pt", + "Ġn ow", + "v en", + "() ->", + "Ġ query", + "add ress", + "ĠA S", + "Ġo ption", + "Ġin formation", + "t en", + "' .", + "NA ME", + "o se", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "à ¤", + "V E", + "c y", + "act ive", + "n own", + "R out", + "et ch", + "ĠI D", + "а Ð", + "å Ľ", + "i er", + "Ġre f", + "w ard", + "d ition", + "Ġm at", + "Ġ que", + "ex ec", + "at form", + "B ack", + "s a", + "ãģ ®", + "Ġas ync", + "lo t", + "c b", + "com mand", + ") (", + "Ġdis play", + "Ġe ach", + "Ġ ],", + "l n", + "l it", + "ES S", + "BU G", + "\": \"", + "Ġ< =", + "ult ip", + "! [", + "S H", + "as ses", + "ty pes", + "rap per", + "g en", + "Ġsh ow", + "a use", + "N one", + "Ġpro tected", + "Ġ Z", + "j oin", + "=\" #", + "J son", + "O ff", + "å °", + "R un", + "Ġm atch", + "i an", + "Ġor der", + "================ ================", + "str act", + "Ġs w", + "file s", + "{ }", + "W rite", + "b ind", + "Ċ Ċĉĉ", + "` .", + "he l", + "e lement", + "p arent", + "ff ect", + "re move", + "Ġp ub", + "f s", + "Ġcon sole", + "Ġ' ',", + "A pi", + "Ġl ink", + "Ñ ĥ", + "A PI", + "D o", + "ĠE n", + "ac es", + "r on", + "me t", + "de lete", + "ĠC ol", + "b tn", + "g ing", + "č Ċĉĉĉ", + "un ter", + "å ¼", + "N um", + "Ġinter face", + "R AN", + "Pro vider", + "Ġthrow s", + "or ld", + "M od", + "idd en", + "Ġm ain", + "N O", + "Ġcomp onent", + "å į", + "c at", + "v ices", + "d ated", + "r ing", + "Ġbe en", + "read y", + "on ly", + "ãĢ ģ", + "Ġlo c", + "Ġ ),", + " ł", + "m aster", + "W R", + "col umn", + "x ml", + "s ol", + "W eb", + "Ġs ign", + "C ache", + "ad o", + "Ġs uper", + "an e", + "Ġp ort", + "s ql", + "Ġand roid", + "Ġt ag", + "ap ter", + "âĶ Ģ", + "ĊĠĠĠĠĠĠĠĠ ĠĠ", + "Ġal low", + "b ook", + ")) )", + "W idth", + "on s", + "c ache", + "ĠT o", + "Ġclass Name", + "ĠF or", + "re en", + "ot o", + "ĠW h", + "f ull", + "U ES", + "o use", + "Ġcol umn", + "Ġh ow", + "Ġab out", + "P re", + "do uble", + "viron ment", + "ĠA rray", + "cont ainer", + "IN SERT", + "d t", + "T ag", + "o le", + "x e", + "O S", + "Ġw ant", + "an ch", + "P art", + "ĠCopy right", + "ĠIN TO", + "Ġ em", + "Ġv er", + "He ader", + "loc ation", + "Ġc orre", + "struct or", + "ĠC reate", + "le vel", + "Ex ec", + "P tr", + "Ġp ackage", + "b a", + "V is", + "C lick", + "Le vel", + "-------------------------------- --------------------------------", + "ä¸ ª", + "Ch ar", + "is s", + "ch ild", + "ĠL og", + "Ġto p", + "Ġs ystem", + "di ct", + "é Ģ", + "CT ION", + "bu ffer", + "arg ument", + "Ġbe fore", + "s ide", + "M enu", + "i que", + "Ġp h", + "p atch", + "Ġw eb", + "Ġvar iable", + "Ġ q", + "c lose", + "ĠU ser", + "A uth", + "ma ke", + "ãĥ ¼", + "Ġo verride", + "Ġa fter", + "indow s", + "in ce", + "ĠW e", + "p resent", + "ain ing", + "; ,", + "ith er", + "Ġser vice", + "Z E", + "ire ction", + "ent ial", + "Ġli mit", + "st amp", + "Ex t", + "Ġ( '", + "App lication", + "Ġdistribut ed", + "cre en", + "A Y", + "P osition", + "C ase", + "am b", + "h er", + "âĢ Ļ", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠB u", + "Ġc ur", + "M S", + "( *", + "Ġ< !--", + "ĠVAL UES", + "P L", + "ĠR eturn", + "Ġb et", + "ĊĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠ", + "Ġp osition", + "Ġde t", + "æ ī", + "ann ot", + "dis play", + "ĠA l", + "as ic", + "t ri", + "Util s", + "ĠI S", + "ca le", + "st ri", + "En um", + "tx t", + "Ġf ilter", + "Hel per", + "ex ample", + "ĠC om", + "em ent", + "E mpty", + "wh ere", + "ĠT ype", + "Ġwh at", + "ĠS o", + "Ġf n", + "ĠU p", + "ĠP R", + "A b", + "Con st", + "ge st", + "n der", + "Par ams", + "Ġlo ok", + "Sto re", + "R em", + "app ing", + "ĠE X", + "Ġth an", + "R L", + "] :", + "Ġf eature", + "G ET", + "Ñ ı", + "f ul", + "Ac cess", + "ë ĭ", + "Ġarg ument", + "li p", + "t ask", + "pl ugin", + "I f", + "Con nection", + "Ġexpect ed", + "Ġd on", + "il y", + "ĠS ee", + "Ġpar ams", + "Ġpro perty", + "? :", + "er m", + "ar i", + "re l", + "ult i", + "val ues", + "de bug", + "d ocument", + "Ġ es", + "à ¶", + "Ġin itial", + "m ode", + "y nt", + "Ġspec ific", + "Ġit s", + "D i", + "ĠD ate", + "P h", + "ĠT O", + "scri be", + "Par ser", + "M M", + "c le", + "O ption", + "е Ð", + "Ġob j", + "ĊĊ Ċ", + "ex p", + "h ome", + "Ġre g", + "Ġd own", + "pro t", + "a uto", + "Ġch ild", + "Window s", + "m m", + "Ġle ft", + "ar n", + "Ġ? >", + "yn am", + "im er", + "frame work", + "' ))", + "se ssion", + "RO M", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "s ite", + "C ore", + "s ave", + "ĠIn t", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ymb ol", + "Ġac cess", + "c or", + "me ta", + "ent ic", + "Pro cess", + "p ub", + "V ector", + "l ish", + "ce iv", + "Ġw rite", + "[ :", + "t mp", + "Ġres ource", + "Ġw rit", + "Or der", + "m atch", + "rom ise", + ") &", + "Cont ainer", + "c ul", + "off set", + "b b", + "P RE", + "Ġ( \"", + "H ash", + "D raw", + "Ġh andle", + "h ash", + "Ċĉĉĉĉĉĉ ĉ", + "ĠT HE", + "R eturn", + "Ñ ĭ", + "AT ION", + "ĠA s", + "p assword", + "FA ULT", + "DE BUG", + "Ġl anguage", + "Ġt ask", + "B ar", + "d at", + "ut or", + "ers on", + "< !--", + "C ell", + "à £", + "che s", + "Ġre nder", + "åľ ¨", + "Ġex p", + "ut om", + "g it", + "I con", + "Ġg r", + "X X", + "T ER", + "IT Y", + "D D", + "Ġo pt", + "l ing", + "ol ve", + "T arget", + "> ();", + "Loc ation", + "x a", + "Ġm ode", + "u ction", + "M in", + "de vice", + "ERR OR", + "Ch ild", + "Ġso ftware", + "ĠTr ue", + "al ign", + "Ġp arent", + "qu ence", + "if f", + "d ic", + "z e", + "Ġex cept", + "Ġ* )", + "c lick", + "ug h", + "mo unt", + "$ (", + "s ystem", + "r u", + "Ser ial", + "print f", + "O K", + "emp ty", + "I F", + "Ġthe y", + "Ġ ê", + "C P", + "h andle", + "con f", + "py thon", + "Ġb o", + "s or", + "O pen", + "pro ps", + "Set tings", + "ĠAN Y", + "Ġadd ress", + "u ff", + "und le", + "Ġst ore", + "b reak", + "se e", + "Ġ et", + "er ge", + "an sp", + "\") );", + "čĊč ĊĠĠĠĠĠĠĠ", + "D ir", + "im al", + "P R", + "Ġn on", + "ad ers", + "As ync", + "M at", + "y p", + "we en", + "ã o", + "W ork", + "let ed", + "c ustom", + "o perator", + "in ue", + "co py", + "Ġo ur", + "\"\" \"", + "ä¸ Ń", + "f d", + "P os", + "st ep", + "sp lit", + "t otal", + "ay load", + "Ġs k", + "er a", + "Ġ\" ,", + "AR T", + "Ġ' ./", + "b lob", + "t ab", + "å ¯", + "ure s", + "Un it", + "b ed", + "Par ameter", + "Lo ad", + "Ġal ign", + "en ces", + "å Ĩ", + "ĊĊ ĠĠ", + "sh ot", + "' >", + "N S", + "Th read", + "Ġapp lication", + "row ser", + "He ight", + "ĠW AR", + "Ġthe m", + "Ċĉ Ċ", + "item s", + "ĠH T", + "ent ifier", + "Ġp ri", + "li ed", + "De vice", + "st ack", + "æľ ī", + "ĠV ersion", + "Ġ[ \"", + "ent ry", + "m enu", + "v ious", + "Inter face", + "ĠR E", + "in ate", + "a i", + "ist s", + "w n", + "ä¸ į", + "Ġde scription", + "Ġhe lp", + "B ody", + "Ġro ot", + "plo y", + "Q ue", + "ock er", + "G E", + "Ġ' /", + "I B", + "Ġv is", + "C urrent", + "v ol", + "In teger", + "ut er", + "Ġ( :", + "ri es", + "Ġc ould", + "Ġde lete", + "ĠD es", + "OR D", + "å ĩ", + "mission s", + "ĠDe f", + "j pg", + "w ay", + "å ¾", + "l a", + "and ard", + "x c", + "x d", + "Ġtemp late", + "Arg s", + "ĠE rror", + "Ġd b", + "ĊĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ock et", + "im um", + "lay out", + "ï¼ ļ", + "Ġ{ @", + "Ġo p", + "se cond", + "S ec", + "D ocument", + "g u", + "æ Ŀ", + "il er", + "or ies", + "Ġp ass", + "oc i", + "Ġin fo", + "Ġse cond", + "he ll", + "æ ł", + "C M", + "Ġl ength", + "h av", + "imp l", + ". \"", + "to String", + "Ġcon s", + "ĠM e", + "Ġst ep", + "Ġbu ffer", + "St ack", + "ĠAN D", + "Ġc ustom", + "ot ype", + "Ġs uccess", + "Ġf rame", + "ro ugh", + "ph a", + "R ender", + "W e", + "IN E", + "Ġm sg", + "âĶĢ âĶĢ", + "x ff", + "s uccess", + "el y", + "-------- ----", + "a ise", + "at t", + "ern el", + "_ .", + "Ġt wo", + "S ession", + "ĠN ew", + "ve c", + "ä ¼", + "ĠN o", + "expect ed", + "g h", + "res ource", + "Ġb tn", + "ist ory", + "Ġb l", + "å Į", + "in ation", + "ĊĊ ĊĊ", + "v m", + "L IC", + "an ces", + "Ġl ay", + "c ategory", + "Ġe ither", + "T op", + "ix el", + "Re cord", + "sc he", + "up le", + "P ost", + "é ĩ", + "ĉĉ ĉ", + "sh ould", + "app lication", + "Ġ ~", + "i or", + "p th", + "Ġb order", + "ren der", + "ca use", + "\" `", + "in ary", + "T itle", + "p k", + "ĠA ssert", + "ed it", + "ĠF alse", + "Ġdif fer", + "ĠA p", + "Par am", + "S D", + "ĠN ot", + "B O", + "H ER", + "Ġpar se", + "EN SE", + "T D", + "} /", + "ĠG ener", + "ach ine", + "Ġspec ified", + "Se arch", + "Ġle vel", + "ĠG L", + "A RE", + "Pro ject", + "DI R", + "R ange", + "L L", + "e ad", + "ule s", + "! !", + "Ġb r", + "A SE", + "co ding", + "S cript", + "__ (", + "Ġback ground", + "c loud", + "d s", + "D own", + "] ]", + "By Id", + "WR ITE", + "in sert", + "Re pository", + "Ġreturn s", + "Ġor ig", + "Ġin it", + "f inal", + "in line", + "l ong", + "Ġw indow", + "i as", + "add r", + "Ġ ge", + "re place", + "Ġ' \\", + "sh ape", + "In st", + "ank s", + "ension s", + "Ġse arch", + "Des cription", + "p op", + "Ġ est", + "ch annel", + "av ax", + "tr ain", + "Ġs end", + "al y", + "t ree", + "ãģ Ļ", + "str uction", + "j ob", + "l s", + "(' /", + "li mit", + ") ->", + "rig ger", + "t ed", + "ĠÐ ¿", + "%% %%", + "() {", + "return s", + "Ġ( *", + "ynt ax", + "n a", + "in ternal", + "act or", + "Ġs cript", + "ç Ľ", + "i us", + "g lobal", + "J SON", + "AC E", + "L ast", + "ĠEx ception", + "Ċĉ ĠĠĠ", + "ĠN ame", + "A ssert", + "Ġcre ated", + "Ob j", + "fe ature", + "Ð º", + "Ġresult s", + "AC K", + "ĠD o", + "Ġme t", + "un g", + "as on", + "Ġthe se", + "Ġ âĢ", + "A g", + "EN D", + "Ñ Į", + "s ample", + "ĠWAR RAN", + "Pro perties", + "str aint", + "o us", + "we ight", + "N ULL", + "ition al", + "Ġm argin", + "Call back", + "H andle", + "Ġde vice", + "f ix", + "Re ader", + "Ġbe cause", + "AS S", + "m ar", + "Ġav ailable", + "ynam ic", + "r ate", + "KE Y", + "c el", + "Ġcall back", + "ut f", + "Ġ+ +", + "Ġtest s", + "Bu ild", + "F L", + "r ation", + "de st", + "re gister", + "ãĤ Ĵ", + "ĠT ext", + "Ġc ache", + "Ġ č", + "g gle", + "s ort", + "IN D", + "Loc al", + "Ġ! ==", + "Ġa x", + "Ġ% }", + "ed ia", + "Ġ\" \"", + "gist ry", + "um b", + "Ġf un", + "++ ;", + "Ġ{ {", + "AT H", + "inter face", + "Ġhe ader", + "Re g", + "Ġp e", + "Ac count", + "čĊ ĠĠ", + "is hed", + "á »", + "Ġre move", + "Ġre d", + "M B", + "; ;", + "AN D", + "T ree", + "per s", + "Ġw ay", + "N ext", + "Val ues", + "a o", + "th en", + "ack et", + "M et", + "f n", + "U RE", + "Ġb ody", + "Ġd irectory", + "Ġi o", + "SI ZE", + "gr id", + "ĠC O", + "ĠA ll", + "d ay", + "in ner", + "\\ +", + "b ad", + "Ġal t", + "Def inition", + "c an", + "com mit", + "c ell", + "Ġpar ameters", + "model s", + "ĠA zure", + "Ġt otal", + "us r", + "ä¸ º", + "ĠCon fig", + "cur ity", + "ex pr", + "is ion", + "Ġcon nection", + "S ign", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "Ġd one", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "Ġ â", + "sp ring", + "g or", + "Ġpar ameter", + "ultip le", + "O p", + "ĠJ SON", + "plo t", + "Ġp os", + "Ġoff set", + "C ustom", + "n ap", + "Ġchange s", + "u ally", + "G raph", + "æ ³", + "Ġh ost", + "Pro duct", + "De lete", + "ide o", + "C RE", + "il t", + "Ġent ry", + "p ol", + "im ation", + "Ġdef ined", + "u k", + "reg ion", + "Ġf unc", + "A r", + "idd le", + "ur i", + ". *", + "Ġal ready", + "th read", + ")) .", + "lic e", + "P C", + "ut ure", + "val u", + "Ġby te", + "åı ¯", + "s i", + "med ia", + "ĠW IT", + "P ort", + "Ġs m", + "\" ],", + "ar io", + "Ġ Ã", + "Temp late", + "Ġst ream", + "=\" {{", + "ä» ¥", + "æ ŀ", + "Ġ{ \"", + "m un", + "Ġdiffer ent", + "ç ½", + "} {", + "ab ility", + "ib ility", + "Ġbut ton", + "d c", + "ĠC heck", + "Off set", + "tr ic", + "MA X", + "Ġpro gram", + "æ İ", + "bot tom", + "h o", + "' m", + "co der", + "Ġde st", + "Ġpo ss", + "Ġa cc", + "Ġun defined", + "AG E", + "mo v", + "F irst", + "s cope", + "e cho", + "ĠRe act", + "AT A", + "module s", + "b order", + "IG N", + "M ENT", + "style s", + "Imp l", + "eng ine", + "Arg ument", + "OR M", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "Ex pression", + "Ġconfig uration", + "Pro to", + "'] )", + ": \\", + "ub e", + "Ġb it", + "key s", + "C re", + "Ġf ore", + "Ġac count", + "Ġcont rol", + "f c", + "Ġd atabase", + "Ġv irtual", + "Ġe mpty", + "ro ss", + "à ®", + "P layer", + "å ½", + "f in", + "ä ¿", + "am l", + "æ Ķ", + "C al", + "as sets", + "d r", + "е н", + "c md", + "ĠM ap", + "con nect", + "w indow", + "Ġby tes", + "am era", + "CO DE", + "e ed", + "Ġse ssion", + "ac count", + "Ch annel", + "Ġde pend", + "component s", + "al s", + "De bug", + "æ į", + "u a", + "ir m", + "St ep", + "d im", + "v as", + "Ġf ull", + "\" />", + "M on", + "FI LE", + "Ġth ink", + "Ġ license", + "ser ial", + "action s", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "è ¦", + "re m", + "Ġf ail", + "i od", + "am ily", + "set tings", + "S A", + "G rid", + "S QL", + "ip el", + "Ġde l", + "ĠTr ans", + "i ct", + "al loc", + "velo p", + "ac cess", + "D R", + "é Ĺ", + "in c", + "Re ference", + "ver se", + "St orage", + "N E", + "Ġin ternal", + "pe ed", + "Ġcon f", + "< <", + "Rout e", + "In it", + "equal s", + "N et", + "refer ence", + "al le", + "Ġsw itch", + "Ed it", + "g ment", + "Ø §", + "O ne", + "Ġname space", + "ĥ ½", + "r ange", + "ĠA d", + "Ġapp lic", + "C ard", + "b f", + "b c", + "æ Ģ", + "s upport", + "S ION", + "Ġw ord", + "F ound", + "ab s", + "j o", + "è §", + "im ent", + "bo ve", + "Ġ Ñģ", + "LO G", + "æĹ ¶", + "w s", + "po se", + "H P", + "f ilename", + "bo ot", + "(' #", + "Ġo ld", + "ĠI s", + "\" }", + "mo ck", + "En g", + "log in", + "Ġre q", + "ign ore", + "gor ith", + "Ġp y", + "W N", + "Ġre lease", + "Ġun signed", + "Ġthe ir", + "P ORT", + "c ap", + "g ame", + "Ġre cord", + "ater ial", + "S O", + "ction ary", + "id s", + "Ġs um", + "a e", + "Ġm ark", + "Ġc ard", + "Ġr aise", + "Item s", + "Ġe very", + "Ġre port", + "Ġad ded", + "ĠE N", + "Ġpro to", + "i i", + "By tes", + "ĠD is", + "è¡ Į", + "com ment", + "require d", + "Ġg lobal", + "Change d", + "by tes", + "% ;", + "To ol", + "Ġs ure", + "P T", + "mem ber", + "d l", + "av as", + "ĠO ption", + "M ock", + "Ġob t", + ") ),", + "H ost", + "Ġth read", + "M atch", + "r s", + ". __", + "Ġpl ace", + "P anel", + "F loat", + "A re", + "sv g", + "ur ity", + "S Y", + "Par ameters", + "ut es", + "Ġh ash", + "ĠM odel", + "Le ft", + "Act ivity", + "Ġj avax", + "LE CT", + "avas cript", + "Ġa bove", + "e q", + "//////////////// ////////////////", + "P ER", + "Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "R el", + "at al", + "Ġt mp", + "Ġc tx", + "Ġd oc", + "S chema", + "ang le", + "Ð ²", + "c rypt", + "D F", + "Us ers", + "Ġcon dition", + "Ġ ĊĠĠĠ", + "Ġk now", + "Log ger", + "ĠW eb", + "PO ST", + "Ġn et", + "us ers", + "Ġprob lem", + "Ġat t", + "å ¹", + "Eng ine", + "l ap", + "F ont", + "Ġp adding", + "b ers", + "B l", + "ĠT ime", + "c ar", + "TI ES", + "ĠF orm", + "oc us", + "RE WRITE", + "n ative", + "al k", + "ĠS ub", + "B ind", + "^ ^", + "D ialog", + "U ID", + "* )", + "s ys", + "to ol", + "Ġbet ween", + "re port", + "D el", + "( -", + "k nown", + "Ġt ypes", + "_ ,", + "h older", + "Ġf ree", + "w ays", + "ro y", + "Ġsize of", + "str ap", + "C S", + "Ġd er", + "e k", + "co me", + "or ch", + "Ġs uch", + "Ġf in", + "ĠF ROM", + "C R", + "ãĤ ĭ", + "Ġex ception", + "å ¸", + "M y", + "ĠReturn s", + "Ġs im", + "L i", + "az ure", + "W idget", + "urre n", + "TE ST", + "c pp", + "w ise", + "are a", + "P o", + "Ġ' @", + "G ame", + "ĠB ase", + "k it", + "O peration", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ> >", + "Ġm on", + "Ġ\" <", + "re lease", + "n on", + "con n", + "J ob", + "export s", + "=\" /", + "m icrosoft", + "L icense", + "ĠM icrosoft", + "Ġassert Equals", + "inst all", + "ath er", + "U D", + "trans form", + "ac ity", + "æ Ń", + "k a", + "Ġa uth", + "Re quire", + "d rop", + "æĸ ĩ", + "~~ ~~", + "de sc", + "å ·", + "Ġfa iled", + "sc ale", + "ä» ¶", + "g a", + "ð Ł", + "l ation", + "Ġcorre ct", + "A p", + "') ->", + "m ath", + "Ġ[ [", + "i ant", + "c lear", + "å® ļ", + "In valid", + "Var iable", + "V ert", + "ó n", + "A CT", + "o om", + "Ġcal led", + "er ial", + "al t", + "Ġch annel", + "T e", + "'] ;", + "Ġfield s", + "\") ]", + "or ig", + "ãģ «", + "Ġen um", + "ĠU RL", + "Ġo k", + "( !", + "è Ģ", + "ge s", + "File s", + "play er", + "con nection", + "R ule", + "v id", + "Ġs ort", + "} \"", + "ĠV alue", + "red ential", + "A ME", + "ĠS T", + "Ġit er", + "Ġcont ainer", + "ĠÐ ²", + "I ter", + "w idget", + "r andom", + "un signed", + "Ġh igh", + "Str uct", + "ĠSo ftware", + "Ġa m", + "ipel ine", + "amb da", + "E ach", + "h idden", + "enc ies", + "Ex p", + "mod al", + "en um", + "[ $", + "c ed", + "av ig", + "Ġd irect", + "ì Ĺ", + "pl it", + "y y", + "i um", + "age ment", + "Ġerror s", + "Ġat tribute", + "w j", + "d uc", + "Ġp assword", + "b s", + "Ġ í", + "ra ft", + "ge d", + "d raw", + "ãģ Ĺ", + "prot otype", + "ter m", + "Ġ Key", + "Ġlo aded", + "ex ception", + "Ġloc ation", + "M T", + "Ġpar a", + "vo ke", + "S L", + "ul ation", + "I R", + "ĠWARRAN TIES", + "ar m", + "ĠE vent", + "ëĭ ¤", + ": (", + "I ST", + "ĠL O", + "N OT", + "Ġre gister", + "N on", + "ire d", + "S w", + "Pro ps", + "h s", + "Ġex press", + "iter al", + "ff ic", + "\" },", + "Ġth rough", + "Ġv ol", + "lo y", + "par ser", + "te gr", + "G B", + "r m", + "que ue", + "ĠO pen", + "ãĥ ³", + "tr ics", + "By te", + "j unit", + "Ġg u", + "Dis play", + "Ġt ri", + "h r", + "r ic", + "e ded", + "proto buf", + "äº Ĩ", + "ĠAp ache", + "Ġ\" $", + "IT ION", + "Ġprovide d", + "Ġt er", + "i os", + "Ġitem s", + "Ġ ke", + "print ln", + "(' .", + "Ñ ĩ", + "W S", + "L ong", + "point s", + "D atabase", + "aw s", + "è¦ ģ", + "; \">", + "det ails", + "pro file", + "Ġ im", + "t ip", + "Ġg l", + "t ags", + "Ġs ample", + "m ask", + "O ver", + "ou gh", + "sche ma", + "z ip", + "Ġ` ``", + "Ð ¼", + "f mt", + "Ġpl ugin", + "Ġrun ning", + "Ġde s", + "W riter", + "me di", + "p ull", + "P ri", + "Ġm is", + "( :", + "Ġs ingle", + "ay ment", + "Ġn etwork", + "use d", + "fo o", + "cript or", + "li de", + "I E", + "En abled", + "Ġm erge", + "Ġj ob", + "H as", + "f ree", + "Ġr andom", + "Ġg raph", + "n n", + "Ġbe ing", + "T ab", + "ĠUp date", + "C opy", + "F R", + "ìĿ ´", + "ĠN ode", + ": ", + "word s", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġset tings", + "w rap", + "c m", + "log ger", + "du ce", + "Do uble", + "se mb", + "Act ive", + "l g", + "sc al", + "{ \\", + "Ġa uthor", + "Ġlog ger", + "= \\\"", + "Que ue", + "ĠD O", + "Ċĉĉ Ċĉ", + "Ñģ ÑĤ", + "w ner", + "ĠC re", + "M sg", + "Ġh and", + "LIC ENSE", + "ur ing", + "co ver", + "Ċĉ Ġ", + "Ġ email", + "Met adata", + "pen ame", + "= $", + "fo ot", + "ĠDef ault", + "Ġ` `", + "hav ior", + "} \\", + "ag n", + "serv ed", + "ĠV ector", + "n one", + "Name s", + "ud ent", + "ad ow", + "D L", + "_ ;", + "( ()", + "æ Į", + "d omain", + "Ġmem ory", + "Ġpar ser", + "iv es", + "(\" #", + "Ġre ference", + "Ġbase d", + "spring framework", + "k w", + "Ġa pi", + "c v", + "Ġwrit ing", + "E ST", + "un try", + "V L", + "Ġs ave", + "å Ģ", + "re cord", + "Ġo perator", + "D S", + "é Ļ", + "it es", + "Ġst ack", + "FF FF", + "Field s", + "ç §", + "Ġd id", + "Ġ< ?", + "Re port", + "Ġ' <", + "T W", + "nap shot", + "t w", + "at om", + "ign ment", + "field s", + "Pl ugin", + "E E", + "el f", + "back ground", + "op s", + "f ill", + "ĠP RO", + "Ġ html", + "ro s", + "Mat rix", + "Ġp ut", + "Ġdoes n", + "bu ilder", + ") /", + "Ġex port", + "S o", + "\"> &", + "Ġse ction", + "col lection", + "Ġ âĶ", + "rag ment", + "C lose", + "Ġinst ead", + "ĠM ath", + "ann er", + "ar s", + "> {", + "ĠA ct", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġg ame", + "RE F", + "H EN", + "b d", + "ĠS ome", + "P AR", + "ĠT ask", + "license s", + "lang uage", + "sh ared", + "Ad min", + "e g", + "Ġc enter", + "ĠR em", + "Ġposs ible", + "Imp ort", + "ĠWIT HOUT", + "P ool", + "( `", + "Ġ um", + "Ġun it", + "æĪ IJ", + "Ġro le", + "Ġst ill", + "d ocker", + "F unc", + "(\" /", + "he ther", + "Ġargument s", + "x ffff", + "ĠP er", + "Ġo peration", + "t f", + "de cl", + "se c", + "D oc", + "ä½ ¿", + "wj gl", + "st orage", + "C ategory", + "ç ī", + "Ġ ĉ", + "ad a", + "Ġobt ain", + "******************************** ********************************", + "ĠSer ver", + "Ġper missions", + "F eature", + "m ac", + "Ġc lose", + "è¿ Ļ", + "M eta", + "Ġc lear", + "Ġm ov", + "> :", + ")) );", + "ĠIn put", + "P S", + "ĠA nd", + "Ġbe gin", + "O UT", + "/ )", + "name s", + "un ch", + "Ġdet ails", + "C I", + "Ġ' '", + "P olicy", + "ST AT", + "Ġus ers", + "() ).", + "R R", + "Ġli brary", + "p refix", + "serv ices", + "ac ing", + "Ġs a", + "log y", + "j avascript", + "d ot", + "ĠB e", + "Ġp ython", + "ä ¾", + "Ġap pro", + "¦ Ĥ", + "test ing", + "Ġfore ach", + "ĠV al", + "Ġ icon", + "G R", + "оР²", + "čĊ čĊč", + "ĠIn st", + "Ġag re", + "error s", + "Time out", + "An y", + "Collection s", + "he s", + "to ols", + "Ġs imple", + "Y ou", + "Ġread only", + "? >", + "IL ITY", + "]( #", + "æį ®", + "Ġ ĊĠĠĠĠĠĠĠĠĠĠĠ", + "-- >", + "Pro file", + "ä¸ ĭ", + "In ternal", + "C ur", + "A X", + "result s", + "ĠTO DO", + "a iled", + "ro le", + "å¯ ¹", + "ĠM y", + "ãģĹ ãģ", + "Ġn ormal", + "V er", + "Ġcont ains", + "or ity", + "ĠO ut", + "PE CT", + "Ġpro perties", + "E rr", + "= (", + "Sh ow", + "Ġ[ ];", + "hel per", + "åĪ °", + "re p", + "Trans action", + ". ,", + "ex tern", + "al ys", + "Ġ\" \",", + "n ess", + "Ġp lease", + "Ġex it", + "Ġselect ed", + "r am", + "ook s", + "Des criptor", + "ĠV iew", + "Re gister", + "annot ation", + "Ġo per", + "in itial", + "Ġdocument ation", + "ll um", + "Ġbo th", + "Ġa utom", + "ĠR out", + "view s", + "li ance", + "e ver", + "ceiv ed", + "f b", + "ch ron", + "ot tom", + "Ġt ree", + "Ġp as", + "select ed", + "Ġel if", + "B r", + ".... ....", + "ro ute", + "ëĬ Ķ", + "å Ĵ", + "ĠP y", + "ï »", + "Ġpar am", + "Ð ´", + "M ain", + "on y", + "A uthor", + "ĠI mage", + "Ġp layer", + "h igh", + "Det ails", + "p b", + "é ¡", + "R ect", + "Ġ čĊč", + "Ġo wn", + ") }", + "user content", + "ick er", + "se curity", + "Ġcon structor", + "A ST", + "Ġb ox", + "Ġ ..", + "av ed", + "alys is", + "ï» ¿", + "anc el", + "n ormal", + "call back", + "O B", + "æĸ ¹", + "HER E", + "ir d", + "č ĊĠĠĠĠĠĠĠĠĠ", + "ĠH e", + "tr ack", + "U se", + "llum inate", + "ĠI O", + "ç ão", + "Ġm ock", + "as ync", + "X ml", + "b oolean", + "S upport", + "################ ################", + "ĠIn teger", + "ĠC ode", + "Form s", + "ĠA c", + "Ġg over", + "Ġd im", + "je ction", + "ol ution", + "RE AD", + "w d", + "S uccess", + "i pp", + "al th", + ". \",", + "pr ice", + "DE F", + "ĠU se", + "de pend", + "d ates", + "Ad apter", + "ad ing", + "Ġent ity", + "D C", + "HT ML", + "ol ver", + "f p", + "c imal", + "ĠS QL", + "le ep", + "k t", + "ON E", + "b atch", + "P arent", + "en code", + "ĠN O", + "Ġper form", + "č ĊĠĠĠĠĠĠĠĠ", + "Ġmethod s", + "Select or", + "è¡ ¨", + "j i", + "Ġfunction s", + "U AL", + "Ġe ven", + "C an", + "lin es", + "Ġin line", + "ĠRe quest", + "s ure", + "Ġgener ate", + "Ġd iv", + "a u", + "it ter", + "å İ", + "G lobal", + "Ġ ĊĠĠĠĠĠĠĠ", + "pri mary", + "sc reen", + "Ġup dated", + "R T", + "ri p", + "up load", + "w in", + "bo und", + "Ġw ait", + "con sole", + "Ġname s", + "W ORD", + "å ¿", + "Test s", + "ãģ §", + "è ĥ½", + "ĠK IND", + "l at", + "åĴ Į", + "iss ues", + "E mail", + "am a", + "Ġg en", + "Par se", + "ub y", + "! (", + "Ġcon vert", + "' re", + "s im", + "h y", + "Ġw ell", + "github usercontent", + "ĠR un", + "å ¦Ĥ", + "Ġcol lection", + "i ón", + "è ¾", + "M ark", + "On ly", + "D ist", + "Ġde cl", + "åĪ Ĩ", + "M icrosoft", + "Ġimp lied", + "z er", + "var iable", + "> .", + "Ġsh ort", + "gorith m", + "r b", + "ì Ħ", + "ä¸ Ĭ", + "E CT", + "j ust", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ġ Ċĉ", + "íķ ĺ", + "w er", + "é Ŀ", + "AN T", + "ĠB y", + "AR Y", + "met adata", + "d k", + "S U", + "Ġtrans form", + "Ġact ive", + "cre ated", + "ç İ", + "exec ute", + "Ġ util", + "Ġw ere", + "` )", + "VER SION", + "h andler", + "e a", + "Ġen v", + "re set", + "p a", + "m argin", + "m i", + "c li", + "R ole", + "ĠF unction", + "S k", + "D irectory", + "re al", + "Select ed", + "fl ags", + "IC E", + "E M", + "y ear", + "Ġmodel s", + "Ġf mt", + "Ġser ial", + "Ġpre vious", + "Ġed it", + "lo ader", + "fl ag", + "Ġapplic able", + "log ic", + "Ġs ince", + "Ġto ol", + "Tr ack", + "ãĥ Ī", + "Ġtr ack", + "as ure", + ". '", + "\\ \":", + "du ction", + "Ġcon n", + "al low", + "å ±", + "A V", + "G e", + "{ %", + "net work", + "ri ct", + "Ġimplement s", + "Ġs cope", + "ä¸Ģ 个", + "ĠM essage", + "per iment", + "å ī", + "ĠD B", + "d x", + "Ġcom mit", + "urren cy", + "ç IJ", + ") *", + "B it", + "Ġde bug", + "á º", + "To String", + "ĠL oc", + "Mem ber", + "ĠA t", + "quest ion", + "j a", + "=\" ../../", + "st at", + "AL SE", + "H ub", + "ĠI P", + "D ATA", + "RE S", + "d atabase", + "ateg ories", + "ol y", + "â ĸ", + "Cl uster", + "ir cle", + "Ġm ultiple", + "ansp ort", + "en ded", + "ä½ ľ", + "LI ST", + "ang o", + "S creen", + "ome try", + "p ass", + "Ġs ent", + "ç½ ®", + "SE LECT", + "' ll", + "ĠA rg", + "Draw ing", + "J S", + "H ome", + "Ġp red", + "cont roller", + "ãĤ ¹", + "Fl ags", + "Ġm ost", + "L ock", + "sol ute", + "à ¹", + "end ar", + "valid ate", + "s n", + "f g", + "Ġ( _", + "her it", + "sw itch", + "pro p", + "pro perties", + "W E", + "Ġgo od", + "to ggle", + "') );", + "ĠO r", + "Ġact ual", + "get Element", + "ĠÐ ¸", + "ce ive", + "pk g", + "Ġass oci", + "Ġp lay", + "Ġfl ag", + "I m", + "B E", + "ex ists", + "Ġv ert", + "Ġsome thing", + "the me", + "sh al", + "K ind", + "ĠP romise", + "ĠL e", + "F E", + "ut ter", + "h and", + "z z", + "ĠÐ ½", + "CON T", + "W rapper", + "ver ter", + "Ġan other", + "ur face", + "u ite", + "pre c", + "In itial", + "g y", + "co unter", + "â ķ", + "p df", + "M IN", + "Ġobject s", + "er ic", + "æ³ ķ", + "cf g", + "ĠH ttp", + "r untime", + "使 ç͍", + "Ġin v", + "t k", + "am ent", + "FL AG", + "A v", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "| |", + "f it", + "ap ply", + "cs v", + "__ _", + "Ġelement s", + "ĠRes ult", + "it al", + "Ġset up", + "Ġen vironment", + "Ġorig inal", + "è ĩ", + "B oolean", + "p anel", + "N etwork", + "Ġv ec", + "if def", + "ump y", + "R I", + "B ound", + "Ġreturn ed", + "ac c", + "Ġst op", + "ĠE nd", + "al led", + "d om", + "Ġgener ated", + "/ .", + "it o", + "Ġp op", + "or iz", + "F ull", + "Ġv ia", + "ç ¨", + ") \"", + "im it", + "RE G", + "N T", + "Sh ape", + "Ġimplement ation", + "sub mit", + "re st", + ", $", + "Ġwork ing", + "A uto", + "cond ition", + "Ġh app", + "ar p", + "ç ®", + "w ik", + "P UT", + "ash board", + "Ġi p", + "k er", + "Ġright s", + "cont ains", + "ight s", + "T otal", + "Ġs ite", + "he lp", + "å ij", + "B R", + "Ġst orage", + "oo se", + "ĠR ed", + "ĠLicense d", + "' ve", + "S ync", + "m k", + "C D", + "B undle", + "ug gest", + "x FF", + "sa fe", + "res sed", + "Lay er", + "N ET", + "Ġc md", + "ex it", + "Ð ¿", + ": **", + "en ch", + "Å Ł", + "L INE", + ", ,", + "åı ĸ", + "lin ux", + "ĠM an", + "l ab", + "ĠF OR", + "leg ate", + "v i", + "x t", + "Tr ace", + "Ġ img", + "al ert", + "ĠSt art", + "Ġbe low", + "Ġo cc", + "Ġm ight", + "Ġwith in", + "sh ip", + "Ġcont ain", + "( @", + "ri ef", + "çIJ Ĩ", + "ĠIn ter", + "TI ME", + "foot er", + "M apping", + "in ess", + "ĠHT TP", + "Ġs creen", + "Ġsol id", + "Model s", + "> ;", + "Ġ æ", + "Ext ension", + "Gener ator", + "v c", + "so cket", + "Ġt ake", + "Po inter", + "cl asses", + "Ġ< -", + "Ed itor", + "it ive", + "ON T", + "Ġ\" -", + "Ġhe aders", + "re at", + "resh old", + "ì ł", + "âĢ Ŀ", + "ĠI mp", + "ul er", + "i ed", + "cre t", + "Ġb ug", + "b on", + "yn chron", + "age d", + "æķ° æį®", + "id ent", + "ĠRe ad", + "Ġin d", + "G r", + "Ġf older", + "Ġbu f", + "a ut", + "Ġwork s", + "u f", + "v s", + "com m", + "ĠSer vice", + "Date Time", + "ç ±", + "ë ¥", + "U SE", + "ak ing", + "lo sed", + "RE Q", + "Trans form", + "ru pt", + "av ing", + "Ġe as", + "S end", + "à §", + "ĠP ython", + "b g", + "ag ent", + "F ind", + "D ITION", + "Ġf ilename", + "Ġap ply", + "} >", + "mat rix", + "np m", + "re c", + "åĩ º", + "а н", + "Ġt ab", + "ag ing", + "F T", + "Ġcan not", + "test s", + "if act", + "sm all", + "ë ¡", + "Ġvariable s", + "velop ment", + "Lo ader", + "em s", + "at tribute", + "b us", + "Text ure", + "al pha", + "wh ite", + "x s", + "ĠE d", + "it ude", + "en able", + "Ġh andler", + "L S", + "( ['", + "'] ['", + "d iff", + "Ġcl uster", + "Ġexist ing", + "Ġbu ilder", + "o od", + "t ml", + "Ġn one", + "R ad", + "p m", + "(\" %", + "Rem ove", + "** :", + "child ren", + "Ġp erson", + "f aces", + "r f", + "co ll", + "V ENT", + "Ġd ir", + "ale s", + "c mp", + "CH AR", + "ĠT ABLE", + "Not Null", + "Ġl aw", + "AB ILITY", + "C F", + "n il", + "ãģ ¯", + "ertific ate", + "ĠI d", + "S um", + "fore ach", + "ãģ Ħ", + "Ġf r", + "full y", + "Ġ\" .", + "R C", + "ir c", + "Ġcom mon", + "gr ad", + "gr ade", + "h a", + "Ġw hether", + "Ġy ear", + "se q", + "ĠJ ava", + "Ġ_ ,", + "è ½", + "co s", + "Ġcomp liance", + "v es", + "J ECT", + "Ġpo inter", + "é ¢", + "Ġin dic", + "MO DE", + "ĠA b", + "ĠC OL", + "h pp", + "Ġ' ../", + "P H", + "app ed", + "F IG", + "е ÑĢ", + "sd k", + "à ¤", + "ĠĠ ĊĠĠ", + "ĠH ow", + "? .", + "in ux", + "Th at", + "U SER", + "F ail", + "c n", + "ched ule", + "ĠB AS", + "h i", + "Ġpoint s", + "æĪ ij", + "assert Equals", + "down load", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "Ġke ep", + "( \\", + "ĠT e", + "D ER", + "å¤ §", + "Ġin teger", + "g re", + "M edia", + "s ig", + "ĠEX PECT", + "P U", + "P y", + "ĠW HERE", + "ä¼ ļ", + "vide o", + "ìĹ IJ", + "vir tual", + "} )", + "ĠN umber", + "ì ļ", + "B B", + "ĠÐ º", + "M D", + "TW ARE", + "det ail", + "Ġb ind", + "OF TWARE", + "Ġinstance of", + "d en", + "\" +", + "ê °", + "th rows", + "'] );", + "Ġagre ed", + "ĠBAS IS", + "Ġ\" \";", + "Ġsp ace", + "g i", + "ateg y", + "A fter", + "S ave", + "Ġre sp", + "ç º", + "P op", + "ĠCON DITION", + "h ir", + "Ġgover ning", + "Ġto o", + "pl atform", + "Sp ace", + "st ats", + "H R", + "par ameters", + "type of", + "f etch", + "D b", + "G en", + "sum er", + "ation al", + "c py", + "AS K", + "Ġin cl", + "ro me", + ") ](", + "ìĿ Ħ", + "> ::", + "Con n", + "B L", + "Ġs up", + "ts ch", + "() ))", + "ass ign", + "Ġcal cul", + "w p", + "styles heet", + "n i", + "iter ator", + "Ġar ia", + "ud ing", + "get Name", + "Ġnode s", + "Ġrequest s", + "Ġa mount", + "Ġm ove", + "ĠRes ponse", + "Ġd raw", + "boot strap", + "ï¼ Ī", + "est ed", + "ab il", + "cl uster", + "P Y", + "po ol", + "Ġt y", + "CH E", + "ĠCONDITION S", + "Ġal ways", + "Ġlimit ations", + "ad os", + "f x", + "ĠP r", + "åŃ Ĺ", + "Sec urity", + "åIJ į", + "ak er", + "Con f", + "æľ ¬", + "Ġstruct ure", + "agn ost", + "P lay", + "po ch", + "S ample", + "not ation", + "let ion", + "j ango", + "sw er", + "Ġp refix", + "STR ING", + "Ġid ent", + "Ġc ap", + "S ort", + "s ync", + "if est", + "Ġs ide", + "p air", + "LE TE", + "ces sed", + "> \\", + "Ġhe l", + "Ġre served", + "Ġevent s", + "Not e", + "Ġmessage s", + "Ġd at", + "ĠN S", + "Q U", + "D irection", + "ĠT R", + "b log", + "in a", + "ĠÐ ¾", + "al ance", + "ee k", + "Const ants", + "E Y", + "et s", + "ver s", + "& #", + "S cale", + "Ġ ĊĠ", + "ç «", + "Ġs ys", + "ĠBu ild", + "Ġt f", + "Com mon", + "D ATE", + "Ġprint f", + "re sp", + "p are", + "ĠA ction", + "Ġf e", + "Ġs cale", + "li brary", + "A zure", + "mb ers", + "Ġuse s", + "our s", + "Ġfix ed", + "Ġb atch", + "____ ____", + "ç Ĥ", + "Ġp attern", + "Ġlo op", + "] ))", + "Fl ag", + "th row", + "at io", + "/ {", + "S ocket", + "r v", + "s uper", + "in f", + "ĠP O", + "Ġm enu", + "ar ies", + "A rt", + "\\ /", + "Ġb est", + "Ġcont ribut", + "r ule", + "C md", + "pl ac", + "æ ı", + "Ġre fer", + "Pro gress", + "p adding", + "Ġd a", + "ĠâĶ Ĥ", + "res olve", + "ic a", + "Ġ ##", + "Det ail", + "F ailed", + "AN G", + "_ {", + "S imple", + "Ġv e", + "oriz ont", + "ĠP lease", + "Ġsol ution", + "Ġc ore", + "Ex ample", + "Ġb inary", + "assert Equal", + "Ġab le", + "option al", + "Ġoption al", + "åı ij", + "Ġ ^", + "b rief", + "ud o", + "Ġ' #", + "F C", + "t re", + "r al", + "I LE", + "ĠS H", + "Ġass ign", + "ct or", + "av en", + "ĠU I", + "ub er", + "Ġf ill", + "v a", + "type def", + "kw args", + "pro tected", + "late st", + "Log in", + "} `", + "u it", + ". \\", + "Ñ ħ", + "velo per", + "Ġ{ };", + "åº ¦", + "Id s", + "re qu", + "r d", + "Ġ\" '", + "op le", + "Des c", + "Ġre pository", + "cre ment", + "ç ¬", + "Ġchar acter", + "ĠÐ ´", + "co gn", + "S ql", + "åĬ ł", + "ro t", + "Be an", + "ç¨ ĭ", + "Ġne eded", + "d river", + "Ġmod ify", + "Ġen able", + "icon s", + "Ġ$ ('#", + "ĠĠ Ċ", + "Con dition", + "LO CK", + "p ag", + "Ġfeature s", + "g s", + "ur al", + "st and", + "AD D", + "ãĤ ¤", + "Ġs chema", + "t ar", + "p ed", + ". \");", + "Ċĉĉĉĉĉĉĉĉ ĉ", + "log o", + "b ash", + "Ġchange d", + "F in", + "Se lection", + "Ġexist s", + "for Each", + "h l", + "Re gistry", + "res ources", + "ĠP ath", + "ĠVal id", + "D im", + "Ġsub ject", + "Ġ ĊĠĠĠĠ", + "N U", + "le v", + "Ġre m", + "Ġadd itional", + "Ġ$ _", + "t l", + "ĠD ep", + "Pro xy", + "ĠMe thod", + "Ġnot ice", + "=\" _", + "proto col", + "if orm", + "Ġì ŀ", + "ot a", + "ter s", + "è¿ ĩ", + "] ),", + "ed itor", + "low er", + "Ġ Ø", + "Iter ator", + "X ML", + "Ġsh ift", + "leg al", + "R P", + "Ġfl ags", + "ver age", + "is m", + "Å ¾", + "object s", + "Ġlog ging", + "Ġexec ute", + "Ġpl t", + "Ġe ffect", + "L en", + "Ġassoci ated", + "Pro gram", + "Ġset ting", + "Ġc ause", + "Ġr ule", + "I VE", + "uber net", + "ãĤ ¯", + "T F", + "ch a", + "F ragment", + "Inter val", + "roll ers", + "Ġhe ad", + "Ġ rows", + "Ù Ħ", + "CO MP", + "Ġp ur", + "our se", + "s z", + "not e", + "V S", + "ĠIn itial", + "Ġ' ,", + "Back ground", + "ãģ ¾", + "c ry", + "St ats", + "Ġet c", + "M ove", + "ĠLO G", + "ubernet es", + "ĠV er", + "qu iv", + "ĠHT ML", + ": `", + "r or", + "on es", + "pro gram", + "ro uter", + "Wh en", + "ç Ń", + "Ġw orld", + "éĹ ´", + "in valid", + "(\" .", + "f actory", + "i j", + "T A", + "] ['", + "I AL", + "Ġp ayload", + "ĠS ET", + "Ġun ique", + "serv able", + "Ġk ernel", + "ĠTh ere", + "Ġautom atic", + "N N", + "ro ad", + "ĠP h", + "DE FAULT", + "Ġd ay", + "Ġmem ber", + "iv ers", + "at ar", + "ol l", + "Re lease", + "Ġ arch", + "s y", + "Ġmis sing", + "in v", + "ific ations", + "ì Ĭ", + "dis able", + "ar ge", + "Ġdown load", + "inte ger", + "Mod al", + "sc roll", + "ĠO b", + "L imit", + "h ide", + "l ished", + "ĠN ote", + "O rig", + "ig ration", + "ot ion", + "MA P", + "is on", + "ch art", + "lo op", + "Å Ļ", + "Ġdif f", + "Ġp ush", + "Ġ. /", + "Un known", + "at tributes", + "> \"", + "Ġin tegr", + "act ers", + "à ¯", + "stri ct", + "== =", + "ĠM at", + "çĤ ¹", + "Ġstring s", + "Ġbe havior", + "ed ge", + "å Ļ", + "> `", + "SC R", + "y cle", + "Ġs v", + "w orld", + "ä¿ ¡", + "b le", + "t ure", + "ri ve", + "Ġr ad", + "pro xy", + "Ġre po", + "Ġtime out", + "AA AA", + "Cont act", + "At tr", + "z en", + "W HEN", + "ap er", + "LO W", + "Li brary", + "-------------------------------- ----------------", + "Ġother wise", + "ay be", + "Ġd omain", + "Ġ' ''", + "h ip", + "te am", + "à ª", + "ĠJ son", + "Ġrel ated", + "Ġen abled", + "and o", + "Ġres olve", + "Ġdata set", + "M I", + "Ġs cal", + "lo aded", + "vo ice", + "ĠT EST", + "čĊč ĊĠ", + "Se quence", + "comp lete", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠE RR", + "qu are", + "Bind ing", + "ĠM on", + "mon th", + "feature s", + "Ġì Ŀ", + "EQ UAL", + "_ (", + "Node s", + "w indows", + "Ġt ags", + "Ġ- =", + "LO C", + "s ent", + "VAL ID", + "Name space", + "l int", + "F ONT", + "label s", + "âķIJ âķIJ", + "čĊč Ċĉ", + "èĩ ª", + "Ġ arr", + "ob ile", + "R et", + "Å Ĥ", + "Ġcurrent ly", + "sw ing", + "Ġd uring", + "in i", + "UT H", + "Ġcont roller", + "åĻ ¨", + "Ġz ero", + "åĬ ¨", + "Frame work", + "du mp", + "ĠEx ample", + "TH ER", + "Ġtype of", + "Ġm ask", + "Be gin", + "em o", + "St at", + "Ġ ðŁ", + "A mount", + "N ormal", + "ìĿ ĺ", + "++ ++", + "ĠW rite", + "Ġare a", + "d ialog", + "Ġal ert", + "con vert", + "Ġter ms", + "x E", + "B ool", + "ĠC l", + "STAT US", + "b its", + "sk ip", + "l ambda", + "alle l", + "Ġinclude d", + "Not Found", + "Ġre ason", + "Ġw arning", + "ĠH REF", + "ĠT emp", + "V ec", + "L anguage", + "St atic", + "Ġde c", + "d p", + "VAL UE", + "D IS", + "æī Ģ", + "ro om", + ": -", + "Ġf s", + "p or", + "and id", + "config uration", + "\\ \",", + "ĠIN T", + "and s", + "mo b", + "å ŀ", + "Ġ( {", + "B us", + "P ublic", + "b eta", + "ç ľ", + "utor ial", + "A F", + "ang er", + "Ġnot e", + "em on", + "struct ure", + "w t", + "ck er", + "S im", + "for med", + "S V", + "P erson", + "rad ius", + "& &", + "c lean", + "me an", + "Ä ħ", + "ic ip", + "ĠP age", + "Ġax is", + "om ite", + "Ġcl asses", + "T EXT", + "æ ±", + "åĢ ¼", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "= [", + "=\" \">", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "UN T", + "Ġsh ape", + "mun ity", + "EL D", + "Ġv ideo", + "ĠC ustom", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ġ ×", + "Y PE", + "é ģ", + "od o", + "M ouse", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "wh en", + "CRE ATE", + "p olicy", + "omite mpty", + "' }", + "i pe", + "Ġvalid ate", + "ĠD et", + "T L", + "y aml", + "å® ŀ", + "ac ión", + "à ł", + "ant ity", + "ur s", + "li k", + "En v", + "m c", + "Res ources", + "comp are", + "-------- --", + "column s", + "Ġme ans", + "ĠA L", + "so me", + "ĠG ame", + "Reg ion", + "Ġexec ution", + "ĠO THER", + "Ī ëĭ¤", + "ache d", + "A cc", + "ty pename", + ": %", + "u ario", + "res ses", + "cri be", + "pl t", + "sh are", + "av el", + "V ideo", + "mer ge", + ": '", + "pe t", + "Ġ\\ \\", + "con v", + "F r", + "` :", + "S ymbol", + "Ġbet ter", + "Ġres ources", + "anc ed", + "ãģĻ ãĤĭ", + "Ġme ta", + "Ġcolumn s", + "Ġr untime", + "Ġp air", + "Ġthe me", + "pe ar", + "éĢ ļ", + "R andom", + "mp loy", + "G o", + "s lice", + "in o", + "Ġex pression", + "W AR", + "ST ATE", + "lo or", + "è® ¾", + "aly t", + "Ġi de", + "L ight", + "Ġre st", + "ĠE nt", + "t body", + "or n", + "Ġ' \"", + "de c", + "Ġs b", + "ĠL ink", + "åĬ ¡", + "arg v", + "Ġre view", + "gist ration", + "Ġp d", + "Ġs plit", + "script or", + "d ays", + "Ġl ater", + "p ad", + "Ġ' ';", + "S B", + "P ass", + "Ġe valu", + "ĠU SE", + "= %", + "é Ķ", + "N ative", + "æģ ¯", + "Exec ution", + "] ],", + "ĠC HE", + "S l", + "UN D", + "Ġtrans action", + "E C", + "Ag ent", + "Ġver ify", + "co ut", + "ĠGener al", + "Ġl ight", + "uff ix", + "aw n", + "Ex pr", + "ĠU s", + "co very", + "Ġcomp lete", + "o per", + "] +", + "æĸĩ ä»¶", + "Ġal loc", + "z ero", + "is set", + "ĠHel per", + "d n", + "riter ia", + "ç ¼", + "De pend", + "Ġc op", + "Ex port", + "å »", + "c raft", + "L EN", + "âĸ Ī", + "se l", + "ch at", + "ex ternal", + "col lect", + "f older", + "Ġbl ack", + "B ASE", + "Ġs ur", + "ĠI lluminate", + "ĠWh at", + "Ġ{ %", + "() ),", + "iz ing", + "Ġarg v", + "ç ´", + "Ġk ind", + "Ġre ader", + "æĪ ·", + "R aw", + "č Ċĉĉĉĉĉ", + "CON FIG", + "** .", + "g b", + "Ñ İ", + "S up", + "D uration", + "ul ate", + "åĨ ħ", + "at iv", + "c us", + "Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "code d", + "z a", + "ĠAn y", + "çĶ Ł", + "Ġact iv", + "Ġlog in", + "Y Y", + "å¼ Ģ", + "ĠCHE CK", + "ĠD ocument", + "re view", + "Ġcur sor", + "ick et", + "Ġc ategory", + "Ġst andard", + "IN CL", + "A I", + "ribut ion", + "Con tract", + "M ulti", + "Ġunt il", + "O O", + "COL OR", + "Ġle ast", + "æĢ §", + "ĠA uth", + "li ke", + "CHE CK", + "Ġne cess", + "atom ic", + "| .", + "Ġ il", + "Ġs ocket", + "oc ial", + "Ġse ems", + "Ġincl uding", + "âĶĢâĶĢ âĶĢâĶĢ", + "at ter", + "aw ait", + "T ip", + "N d", + "D rop", + "ul a", + "igh b", + "medi ate", + "Ð ±", + "ãĤ Į", + "J oin", + "sub ject", + "ен и", + "åŀ ĭ", + "Not ification", + "æ ĥ", + "ĠV is", + "ĠCont ent", + "on d", + "RE CT", + "ĠA uthor", + "çł ģ", + "UT F", + "Ġ( [", + "p ayload", + "fo und", + "B Y", + "T erm", + "He aders", + "mut able", + "mun ic", + "sing le", + "D T", + "ĠG ET", + "éĿ ¢", + "Ġpro file", + "M ask", + "S ingle", + "Ġre pro", + "Ġd rop", + "**************************************************************** ********", + "D ay", + "cp u", + "serial ize", + "CO MM", + "Ġ}} \\", + "æ ¬", + "ĠIO Exception", + "Ī ĺ", + "der r", + "m as", + "Ġcons ider", + "é ħ", + "Ġ' ../../", + "d st", + "de pth", + "è¯ ·", + "al ity", + "ced ure", + "l u", + "çĽ ®", + "Ġy et", + "c ut", + "AN CE", + "re ader", + "con struct", + "mp t", + "ĠO k", + "Valid ation", + "Ġ\" ${", + "Ġst at", + "Com ment", + "vent ory", + "Ch art", + "ĠS upport", + "re pository", + "p id", + "i ally", + "Ġcorre spon", + "R UN", + "ĠIt em", + "Ġtest ing", + "]( ../", + "ri end", + "å Ł", + "ig r", + "En vironment", + "ul um", + "group s", + "UR I", + "M aterial", + "gn ore", + "v let", + "ĠW ork", + "åIJ Ī", + "Ġcomponent s", + "ook ie", + "Ġtime stamp", + "æ ²", + "In v", + "F D", + "Ù ħ", + "Ġc ar", + "è ¨", + "Menu Item", + "ĠD i", + "Ġcommand s", + "ce ed", + "Ġ Ñ", + "Ax is", + "if e", + "ĠIn c", + "S m", + "# [", + "cl one", + "ĠL ong", + "second s", + "inc ip", + "**** **", + "opt s", + "Ġuse ful", + "refer ences", + "Ġth ings", + "ãĥ ª", + "up dated", + "Ġc over", + "Ġ[ `", + "Ġlay out", + "æľ Ģ", + "TR UE", + "ĠS ource", + "ĠM em", + "un defined", + "Ġspec ify", + "s ch", + "å Ŀ", + "de mo", + "f un", + "Ġdo cker", + "RES ULT", + "Message s", + "pro vider", + "r and", + "r uby", + "Control s", + "ul ator", + "b asic", + "ac le", + "id ual", + "is Empty", + "Ġre ally", + "å° ±", + "è¿ Ľ", + "о ÑĢ", + "gener ated", + "é ľ", + "ĠM ake", + "ĠP ost", + "è °", + "ĠC al", + "st mt", + "íķ ľ", + "åį ķ", + "ĠU N", + "Ġê °", + "te ction", + "Ġopt s", + "include s", + "ar ation", + "h over", + "lo ok", + "ĠI l", + "per son", + "M is", + ". ',", + "wik i", + "O per", + "T imer", + "ĠIn dex", + "ĠS to", + "Ġm ac", + "ach ment", + "re po", + "ud a", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠ", + "In d", + "L A", + "ĠP oint", + "åº Ķ", + "R o", + "ast ic", + "Set up", + "Ġn umpy", + "st er", + "FI X", + "F UN", + "Ġdepend encies", + "H tml", + "Ġp ers", + "st ar", + "O wner", + "Ġc ert", + "h istory", + "FI ELD", + "[ -", + "s f", + "c ip", + "Ġп ÑĢ", + "bu cket", + "g g", + "è ·", + "ser ve", + "; <", + "> '", + "Ġde scri", + "Ġ utf", + "valid ation", + "ar row", + "Render er", + "åı Ĥ", + "$ $", + "Ġsub mit", + "ĠG raph", + "================================ ================================", + "ĠW ith", + "Sh ould", + "Ġ' -", + "V ICE", + "ãĥ¼ ãĤ", + "S R", + "k ernel", + "AS SERT", + "ceiv er", + "Co unter", + "ĠRem ove", + "оР´", + "ĠPro perty", + "]( ../../", + "ss l", + "¸ °", + "Sp an", + "W ait", + "Ġt x", + "Ġ$ (\"#", + ") |", + "å ¥", + "------------ -", + "Ġrel ative", + "Ġlabel s", + "ãģ ª", + "\" ].", + "S top", + "Ġtime s", + "ĠCon sole", + "Ġte am", + "P e", + "ãĥ ĥ", + "Ġper mission", + "u ce", + "in ates", + "ĠS w", + ") ?", + "b i", + "scal a", + "L ib", + "å¤ ļ", + "O rg", + "ä r", + "ĠTo ken", + "R IGHT", + "Ġm aster", + "N e", + "UE ST", + "Ġin side", + "Ġh o", + "Con verter", + "AT CH", + "d m", + "lip se", + "Ġst rict", + "Ġb ig", + "^^ ^^", + "; /", + "P rivate", + "fe ed", + "N ow", + "Ed ge", + "Ġf ig", + "The me", + "Gener ated", + "èĢ ħ", + "OR S", + "B atch", + "F ore", + "Ġpro gress", + "Ġc ome", + "T AG", + "Ġ ----------------------------------------------------------------", + "TR IB", + "T C", + "č ĊĠĠĠĠĠĠ", + "En ter", + "t m", + "Ġb el", + "ĠS ession", + "assert True", + "Ġb asic", + "App end", + "Ġopt im", + "} \",", + "trans action", + "g reen", + "Ġre moved", + "r ank", + "del ta", + "Ġ Ä", + "Ġwh o", + "Th row", + "Ġrem ote", + ": /", + "ĠG lobal", + "en abled", + "us ion", + "Pro p", + "X FF", + "e val", + "all en", + "Ġex tract", + "u uid", + "Ġp ixel", + "P lease", + "ĠB lock", + "SCR IP", + "ĠS pec", + "I X", + "f ast", + "high light", + "å ĵ", + "TR Y", + "] ->", + "Ġre ceived", + "IN ST", + "br anch", + "re ct", + "B ook", + "w atch", + "Ġl wjgl", + "at o", + "Ġ| =", + "= -", + "Ġex ternal", + "Ġt rigger", + "Ġc b", + "ĠG oogle", + "struction s", + "à ¥", + "M C", + "En able", + "åIJ Į", + "] *", + "comp any", + "e fficient", + "In formation", + "An imation", + "ĠSe lect", + "ĠS elf", + "è İ", + "Ġ' %", + "Ġ enter", + "Ġse quence", + "W I", + "Ġl atest", + "set Text", + "Y ear", + "ol ved", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "() `", + "Ġcont aining", + "ch an", + "ul k", + "se m", + "æĹ ¥", + "pre t", + "il li", + "in u", + "Ġ Â", + "Âł Âł", + "te ch", + "и ÑĤ", + "ĠL anguage", + "ong o", + "n c", + "D river", + "z y", + "Ġwrit ten", + "ation ship", + "Ġ\" @", + "ap se", + "ĠO S", + "Ġwr ong", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġ Query", + "N av", + "S yntax", + "S pr", + "pr agma", + "er c", + "ä» ¬", + "Ġm achine", + "] }", + "pro gress", + "Ġstep s", + "s imple", + "l ers", + "Ġb ad", + "i et", + "Ġallow ed", + "ĠS te", + "r x", + "Ġ{ },", + "O FF", + "date time", + "ĠDate Time", + "ifi ers", + "Al low", + "M ake", + "F ix", + "Ġf hir", + "Ġpub lish", + "ĠP art", + "Ġc or", + "M IT", + "ikari Config", + "Ġc v", + "rie ve", + "Ġle ss", + "g z", + "j query", + "get Value", + "Ġser vices", + "atal og", + "SU CCESS", + "st e", + "ĠApp lication", + "ĠM ain", + "åĪ Ĺ", + "se ss", + "DE LETE", + "Object s", + "Ġsim ilar", + "End point", + "B C", + "load ing", + "Ġh is", + "et c", + "Ġreg ion", + "ĠS tr", + "Task s", + "åĮ ĸ", + "]( /", + "Ġc ref", + "H istory", + "k g", + "or th", + "W orld", + "ad or", + "nav bar", + "cur s", + "Ġ] );", + "Ġinst alled", + "m ing", + "g dat", + "ĠD atabase", + "Ġex tra", + "av or", + "MO D", + "Con vert", + "alyt ics", + "P ub", + "Ġact ually", + "L ower", + "T x", + "R ot", + "ü tsch", + "ext ension", + "Id entity", + "å½ ĵ", + "Ġed ge", + "gu ide", + "Ġm s", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġde sign", + "---- -", + "D OT", + "In sert", + "'. $", + "{ $", + "ĠInst all", + "å» º", + "ë ĵ", + "ĠB E", + "> {{", + "m ine", + "ĠAS SERT", + "at is", + "c lo", + "æ ¨", + "T ags", + "Ä Ļ", + "---- --", + "Con nect", + "RE C", + "let on", + "Ġ\" +", + "ick s", + "S cal", + "H older", + "Ġy ield", + "Add r", + "h w", + "se ct", + "Ġh ome", + "iz able", + "Z one", + "P ower", + "tr l", + "red it", + "ou ch", + "Us age", + "MB ER", + "ud it", + "D iv", + "éħ į", + "File Name", + "ĠH i", + "ĠEx ec", + "at ile", + "Event Listener", + "li m", + "Ġgo ing", + "Ġh ard", + "Ġm b", + "ĠI MP", + "up y", + "ĠDe lete", + "pro c", + "C lear", + "Ġsecond s", + "Ġcase s", + "Ġs core", + "B A", + "Vol ume", + "Nd Ex", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ill a", + "é ĥ", + "t ensor", + "~~~~ ~~~~", + "H and", + "l and", + "Ġ ).", + "po inter", + "| --", + "{ },", + "Id x", + "ci pe", + "ĠS ie", + "Ġmon th", + "Comp at", + "g p", + "Null able", + "in herit", + "che me", + "å° Ĩ", + "åħ ³", + "ĉĉĉĉ ĉĉĉĉ", + "V O", + "c art", + "Ġb ottom", + "am ma", + "(' ./", + "aj ax", + "Ġh idden", + "li es", + "ĠE lement", + "P acket", + "ĠLo ad", + "an te", + "={ {", + "ĠPro cess", + "Point s", + "Ġar ound", + "ë ¦", + "z on", + "fl utter", + "оР¼", + "ot lin", + "Pl atform", + "Ä Ľ", + "åľ °", + "m ulti", + "o res", + "ĠG MT", + "PO SE", + "Ø ±", + "fl at", + "Ġvalid ation", + "IO Exception", + "Ġw idget", + "TRIB UT", + "un e", + "po sed", + "if ies", + "j ar", + "s r", + "As set", + "Ġp od", + "Process or", + "var s", + "Ġ engine", + "Ġvol ume", + "ĠD A", + "Ġb us", + "Ġp lot", + "Ġ ###", + "Ġdis abled", + "AP P", + "éľ Ģ", + "Sh ort", + "Cre ated", + "l an", + "o h", + "unk nown", + "Re al", + "ÑĢ Ð°Ð", + "Ġ, \"", + "FLAG S", + "Char acter", + "Ġp acket", + "F S", + "Ù Ĩ", + "Ġaction s", + "Ġus age", + "Ġpro vider", + "l as", + "çİ °", + "\" ])", + "act ivity", + "Ġcre ating", + "h ow", + "[: ,", + "Ġbu ilt", + "HE AD", + "+ '", + "I MP", + "In s", + "Ġset s", + "! =", + "U ST", + "ys ical", + "A udio", + "N C", + "ĠS c", + "ly ph", + "ĠS k", + "nav ig", + "Ġ\" ../", + "ile s", + "em bed", + "Ġ{ \\", + "Å ¡", + "Ġs ig", + "Ġwh y", + "l r", + "un ded", + "Ġs uggest", + "am az", + "loc ale", + "ch or", + "ade s", + "Ġautomatic ally", + "ĊĊ ĊĠĠĠĠĠĠĠ", + "ĠCont roller", + "Ġt urn", + "h ref", + "Ġp ool", + "Ñ Ĩ", + "iv ed", + "d uration", + "cl s", + "ĠDo uble", + "Ġd ays", + "ĠB Y", + "Ġis instance", + "M esh", + "th at", + "> ()", + "un to", + "Ġinst ances", + "ä» £", + "èİ ·", + "\\ '", + "orig in", + "T ABLE", + "e ax", + "he x", + "ĠCre ated", + "æĽ ´", + "é ĺ", + "T ri", + "B inary", + "N ING", + "c ategories", + "Ġlo s", + "er ies", + "Ġm ulti", + "ìĦ ľ", + "M ASK", + "w rit", + "ĠÐ ¼", + "quest ions", + "éĩ ı", + "æĮ ĩ", + "ver ify", + "л и", + "M ES", + "Return s", + "Ġin c", + "Ġallow s", + "l v", + "m u", + "able s", + "dest roy", + "Ġs ymbol", + "UD ING", + "sc an", + "T T", + "< >();", + "< '", + "Ġd irection", + "Input Stream", + "Ġf eed", + "Ċĉĉ ĠĠĠ", + "ĠG NU", + "ĠA D", + "c ert", + "G O", + "Ġ ÑĤ", + "ar ing", + "comp ile", + "al i", + "ĠO UT", + "Re st", + "D irect", + "Ġend point", + "н Ñĭ", + "Ġ question", + "rem ote", + "Ġf ew", + "bin ary", + "r ules", + "id o", + "U CT", + "p ay", + "graph ics", + "( /", + "s ymbol", + "en k", + "Ġed itor", + "ĠRe gister", + "prec ated", + "w r", + "F ree", + "cur sor", + "Ġpro p", + "Ġr ules", + "h ere", + "bl ack", + "Ġco unter", + "é Ľ", + "Ġpe ople", + "ur ch", + "m ore", + "* ,", + "C ancel", + "Ġdirect ly", + "Ġb its", + "å §", + "d y", + "æł ĩ", + "P ixel", + "co untry", + "unt u", + "Ġm aterial", + "St rip", + "), (", + "Per mission", + "Ġversion s", + "UT O", + "Rout er", + "S core", + "Ġs ender", + "Ġon Click", + "list s", + "åĽ ¾", + "ĠCont ext", + "Ġe v", + "ĠG roup", + "gr pc", + "Ġc od", + "ì§ Ģ", + "UB LE", + "C enter", + "Ġas set", + "C apt", + "g on", + "Ġsign al", + "get Id", + "Ġf uture", + "Valid ator", + "ĠL ine", + "Ġs i", + "ag ger", + "Load ing", + "mo use", + "get String", + "y ml", + "Ac cept", + "requ ency", + "dis abled", + "ĠC ar", + "p ing", + "ãĥ Ĺ", + "\\ \";", + "Ġle s", + "Ġproto col", + "an it", + "Ġre p", + "ĠEN D", + "Exec ute", + "Ġre place", + "Set ting", + "I p", + "ĠF ix", + "sample s", + "ĠLoc al", + "M achine", + "Ġmax imum", + "iss ue", + "v ue", + "Ġd ynamic", + "support ed", + "Ġe q", + "RE D", + "ĠArg ument", + "B asic", + "S UB", + "gener ator", + "s in", + ". \"\"\"", + "re et", + "Action s", + "o verride", + "Ġstore d", + "A MP", + "ĠC os", + "Array List", + "p d", + "Ġd st", + "ĠFound ation", + "head ing", + "Sh ader", + "Ġsk ip", + "N ESS", + "L D", + ": \\\"", + "Ġa ut", + "I I", + "ê° Ģ", + "custom er", + "ĠGet s", + "Ġchar acters", + "Ch unk", + "go od", + "b rowser", + "C amera", + "co ok", + "ĠM IT", + "p f", + "h ook", + "y es", + "Ġc apt", + "ĠRout e", + "ĠUn it", + "Ġdate time", + "ĠLog ger", + "Ġj oin", + "ĠB ut", + "index Of", + "G EN", + ". \")", + "O perator", + "T S", + "dis patch", + "> =", + "check ed", + "bad ge", + "pro b", + "Ġne ver", + "Ġex act", + "; }", + "ĠS imple", + "Ĥ ¬", + "Ù Ī", + "ì ĭ", + "s heet", + "Ġì ł", + "UL AR", + "S hell", + "t b", + "OR K", + "Ġadd ing", + "IM IT", + "Di ct", + "loc ity", + "Ġp ower", + "Ġ\" );", + "Ġrequire s", + "v ing", + "p in", + "me sh", + "K it", + "Ġsh ared", + "de sign", + "ĠE rr", + "Dis patch", + "I gnore", + "ĠF rame", + "g ov", + "D ynamic", + "ched uler", + "Ġ\" [", + "âĢ ľ", + "ĠG e", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "amaz on", + "ch unk", + "mit ive", + "éĥ ¨", + "Ġ qual", + "u ck", + "Ġg oto", + "de s", + "Ġ( -", + "id ad", + "c am", + "j et", + "stri p", + "p at", + "Inst all", + "U DE", + "Ġre main", + "F IL", + "c ircle", + "ä¾ ĭ", + "Ġ\" ;", + "ulum i", + "pub lish", + "t imer", + "sh adow", + "Å ¼", + "_ );", + "Ġlo wer", + "DE X", + "M ov", + "}} '", + "par ator", + "ĠSec urity", + "Ġd ig", + "C ar", + "um an", + "Ġte ch", + "agnost ics", + "ex cept", + "red irect", + "qu ote", + "Bu f", + "F ALSE", + "S napshot", + "ĠC ore", + "Ġle arn", + "Ġun less", + "Error s", + "def er", + "d irection", + "pl ain", + "âĸĪ âĸĪ", + "Mon th", + "Ġa void", + "ĠE ng", + "Ġpart ial", + "Ġb ot", + "' \"", + "ction s", + "å ģ", + "a udio", + "L in", + "Ġprovide s", + "b n", + "urn al", + "p ower", + "Comp lete", + "const expr", + "Ġoper ations", + "- (", + "Ġc lo", + "ĠCol lection", + "Ġal pha", + "Ġdis able", + "Ġinitial ize", + "b ig", + "th umb", + "Ġorig in", + "ST ART", + "uplic ate", + "ens ity", + "Ġfor ward", + "ä½ ł", + "Ġn g", + "se ed", + "def inition", + "co res", + "Ser vlet", + "trans late", + "Ġn av", + "Ġb in", + "Ġs imp", + "Ġ}} \"", + "ang ing", + "Ġcall s", + "ĠAb stract", + "A IN", + "ĠX ML", + "L a", + "/ '", + "ĠA ss", + "ĠSer ial", + "ç» Ħ", + "Imp lement", + "A K", + "Ġm akes", + "ĠB utton", + "ĠU RI", + "pi pe", + "E P", + "âĢ Ķ", + "V AR", + "Cur sor", + "Ch ain", + "Ġs it", + "CL ASS", + "r ust", + "ĠSe arch", + "Ġo wner", + "Ġ. =", + "` ](", + "get Instance", + "S ide", + "o peration", + "Vis ual", + "Al loc", + "ĠS ign", + "Sh ared", + "Ġdistribut ion", + "Man y", + "ãģ Ł", + "ve y", + "a ção", + "ist ence", + "step s", + "ĠGit Hub", + "plac ement", + "Ġvar iant", + "Ġc y", + "Ġme dia", + "ĠL IMIT", + "ĠF ALSE", + ". )", + "_ ->", + "drop down", + "Ġc a", + "\"> {{", + "Element s", + "P M", + "Ext ensions", + "* -", + "Ġspec ial", + "Ph one", + "Ġpri mary", + "Ġd uration", + "ĠO ff", + "Ġlo w", + "ĠM ax", + "ãĥ ©", + "Sub mit", + "xffff ffff", + "ĠL IC", + "I Z", + "ab out", + "e ffect", + "ä¹ ĭ", + "B ig", + "$ .", + "Time stamp", + "ĠP re", + "Ġ? ?", + "Ġse g", + "ĠF ind", + "us ic", + "ĠV ec", + "p an", + "Ġb g", + "ĠM AX", + "N G", + "ag ic", + "trans lation", + "( []", + "Write Line", + "Se e", + "t rigger", + "log ging", + "app s", + "th ers", + "h d", + "ac cept", + "Down load", + "Ġd ialog", + "Lo op", + "CO UNT", + "Ġsc roll", + "ĠC urrent", + "h icle", + "ĠM ock", + "Ġlist ener", + "Ġsuccess fully", + "cont inue", + "Ġnecess ary", + "ĠM in", + "se quence", + "d ark", + "ut able", + "Ġs aved", + "sp ot", + "un wrap", + "', $", + "Ġnum bers", + "C UR", + "ĠS in", + "oot er", + "MA G", + "Ġdis patch", + "am age", + "ab ric", + "import ant", + "web kit", + "ĠRow Box", + "ct rl", + "p ow", + "Ġne g", + "py x", + "Ex ists", + "cre ase", + "IN IT", + "Ġwe ight", + "m ysql", + "åº ı", + "ç ³", + "ĠSt ream", + "l iteral", + "åĮ º", + "à µ", + "Ð ¹", + "Ġun a", + "for ward", + "å¦Ĥ æŀľ", + "size of", + "G it", + "p n", + "Ġpl an", + "DE CL", + "ool s", + "ĠM ER", + "li ct", + "Ġno thing", + "H igh", + "Ġn ative", + "Option al", + "======== ====", + "O k", + "In f", + "T X", + "oot strap", + "Ġm o", + "ç» ĵ", + "è ±", + "Ġch art", + "er ature", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "inter val", + "in y", + "Ch at", + "à º", + "w riter", + "æĸ¹ æ³ķ", + "/* !", + "P ane", + "ãģ ĵ", + "ãĢĢ ãĢĢ", + "ĠC loud", + "A ut", + "L P", + "Ġd om", + "Ġre ct", + "We ight", + "Exec utor", + "ĠI m", + "Ġimplement ed", + "ĠB ack", + "ĠB it", + "ed u", + "Re p", + "IS ION", + "Ġan swer", + "ag raph", + "element s", + "U UID", + "Ġcomp ute", + "PAR AM", + "t v", + "Ġpackage s", + "cul ate", + ") `", + "F n", + "Ġstate ment", + "P ACK", + ";; ;;", + "Ġw on", + "up per", + "sc ene", + "ãĥ «", + "Ġ' _", + "Ġp or", + "CH ANT", + "e lem", + "ition s", + "ex tra", + "ĠLIC ENSE", + "Ġs ay", + "Ġb ook", + "Ġassert That", + "K EN", + "command s", + "Ġl arge", + "Ġup load", + "Ġg ive", + "tw itter", + "I l", + "Column s", + "de scribe", + "Ġh old", + "fig ure", + "Ġr c", + "cour se", + "Con sole", + "! /", + "Re q", + "åĪ ¶", + "ic ally", + "W IN", + "æ¨ ¡", + "Child ren", + "UR POSE", + "__ ,", + "k y", + "B D", + "ĠG o", + "\" \\", + "PI O", + "Ġunder stand", + "P G", + "Ġfor ce", + "IF T", + "Ġs ync", + "æĪ ĸ", + "N V", + "LI B", + "hel lo", + "ity Engine", + "Ġre ject", + "Ġimp ro", + "Ġas k", + "Ġpr ice", + "() ]", + "Ġse curity", + "Ġpro xy", + "ME TH", + "ench mark", + "Ġtry ing", + "use s", + "Ġag ent", + "s peed", + "Ġw ire", + "ex pression", + "n ama", + "FF ER", + "vid ers", + "link s", + "A E", + "Ġl at", + "ĠOr der", + "Ġ mp", + "r ift", + "Ġtr aining", + "Ġ ir", + "Ä ĩ", + "pe g", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠCh ar", + "ĠPro duct", + "x fe", + "Ġ} ).", + "the ad", + "Ġr ate", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠM O", + "Ġat temp", + "Ġh aving", + "De cimal", + "'] ))", + "Ġlo ss", + "Expect ed", + "ĠB l", + "md i", + "ĠM odule", + "L Y", + "lap ack", + "ç Ļ", + "Se gment", + "at an", + "V e", + "div idual", + "ind ices", + "IT NESS", + "Ġde pth", + "æı IJ", + "Ġdel ta", + "åŃ IJ", + "> ';", + "b um", + "get Message", + "L IN", + "A rr", + "RE E", + "ĠCol umn", + "ĠBu ffer", + "Ġvis it", + "er ation", + "fr ag", + "(( (", + ".* ;", + "Ġdoc s", + "es ome", + "G oogle", + "wh at", + "as m", + "Ġis n", + "ĠB UT", + "ĠP ARTIC", + "ress ion", + "[ {\"", + "m ult", + "lear n", + "Ġload ing", + "Ġp ol", + "Ġm ath", + "f ocus", + "Ġ\" \")", + "mob ile", + ")) ))", + "ak en", + "ĠJ S", + "Al ignment", + "CHANT ABILITY", + "t orch", + "Per iod", + "ĠP URPOSE", + "us s", + "av es", + "ĠB ig", + "éĩ į", + "L ook", + "g oto", + "ID TH", + "Ġf actory", + "sub scribe", + "com ing", + "ĠTh en", + "Ġw rapper", + "Ġre ceive", + "mis s", + "] =", + "Ġh ikariConfig", + "Ġbo ard", + "m x", + "F ac", + "Ġup dates", + "os er", + "Ġs n", + "ĠM ark", + "B ER", + "Ġlook s", + "dir name", + "hy per", + "´ ë", + "Å Ľ", + "Sign ature", + "os ite", + "code s", + "Ġ\" )", + "RO OT", + "p ixel", + "Ġh er", + "Sec ret", + "ĠTR UE", + "sl ug", + "qu ent", + "ঠ¾", + "ap is", + "Ġse lection", + "config ure", + "ĠTh read", + "Ġprob ably", + "D at", + "D om", + "V irtual", + "å½ ķ", + "Ġinput s", + "R GB", + "Ġde lay", + "Que st", + "Ċĉ ĠĠĠĠĠ", + "UR N", + "d anger", + "ĠCont rol", + "={ \"", + "fa iled", + "Ñ Ī", + "g res", + "Ġro und", + "ĠE num", + "ss ue", + "rypt o", + "y e", + "ĠF ree", + ") -", + "ä½ į", + "Ġ Î", + "re marks", + "present ation", + "Ġfail ure", + "m id", + "') :", + "D iff", + "éĻ ¤", + "ig en", + "ĠG rid", + "le ms", + "ç͍ æĪ·", + "< !", + "` ;", + "s leep", + "Ġp atch", + "Ġpath s", + "de lay", + "in voke", + "Up load", + "( %", + "Ġc ost", + "ĠPARTIC ULAR", + "I A", + "ĠâĢ ľ", + "F ace", + "ä¿¡ æģ¯", + "Ġpage s", + "d ashboard", + "ĠPro p", + "ĠS P", + "> \";", + "c nt", + "ĠO ther", + "ic ular", + "xx xx", + "à ¨", + "AR D", + "lo ts", + "create Element", + "Ar ch", + "Ġget ting", + "x C", + "At om", + "Di ctionary", + "Ġperform ance", + "E MP", + "base d", + "èİ· åıĸ", + "Ġ! [", + "g if", + "AS H", + "back end", + "; \"", + "new s", + "B ottom", + "ĠRe g", + "s hell", + "Ġman ager", + "G ui", + "Ali as", + "db c", + "en o", + "Ġin s", + "Ġu i", + "vis ible", + "Ġcl one", + "ĠERR OR", + "F ill", + "id entifier", + "Ġmodule s", + "T rigger", + "Ġinter val", + "example s", + "wh ich", + "Ġcol lect", + "ipp ing", + "P red", + "m al", + "check box", + "cd n", + "ì ľ", + "ĠRe f", + "al ias", + "me mbers", + "em it", + "_ )", + "Ġth ing", + "ĠSh ow", + "Ġ\" --", + "о ÑĤ", + "åIJ ¦", + "Ġper iod", + "s ym", + "re gex", + "REQ UEST", + "LI ED", + "To ols", + "comp ute", + "ct l", + "Pl an", + "n orm", + "æ ¡", + "T ensor", + "ĠMER CHANTABILITY", + "Com mit", + "Con structor", + "aj or", + "Sw itch", + "P ayload", + "tern et", + "Ġtoken s", + "Col lect", + "y per", + "Custom er", + "ç³ »", + "An notation", + "ìļ ©", + "graph y", + "% \"", + "ĠL inux", + "Ġal ong", + "p ayment", + "var iant", + "ĠL ay", + "oc ation", + "Act iv", + "ê ²", + "k o", + "d w", + "Ġin form", + "Style s", + "ĠBu ilder", + "ĠCon st", + "En coding", + "Fail ure", + "br aries", + "al og", + "andid ate", + "P romise", + "ar ison", + "н о", + "ĠH andle", + "ur ther", + "ĠC OP", + "u v", + "ri b", + "л Ñı", + "S chedule", + "act ual", + "Ġab solute", + "Ġend if", + "ist ing", + "He ad", + "v endor", + "Run ner", + "me trics", + "g ers", + "ĠA uto", + "-------- ---", + "end point", + "inte gr", + "an ded", + "@ @", + "Ġp anel", + "Ġany thing", + "è¿ Ķ", + "pp ed", + "x ref", + "me s", + "Ġm apping", + "ĠÐ ·", + "æ Ł¥", + "M ac", + "ait s", + "Ġmat ches", + "hav i", + "v anced", + "De legate", + "int o", + "... )", + "Ġexp licit", + "Ġrepro duce", + "L ATE", + "// !", + "g ht", + "as y", + "form ance", + "pl or", + "Ġit self", + "capt ion", + "ire s", + "dist ance", + "Ġth ree", + "ìĬ ¤", + "as i", + "ex e", + "ir t", + "An gle", + "f ol", + "ĠN e", + "av is", + "De pth", + ": {", + "co st", + "can vas", + "ĠRe quire", + "Cl asses", + "Ġ$ \\", + "Ġb ro", + "Ġent ries", + "MS G", + "F atal", + "Z ero", + "Ġg reat", + "Content s", + "road cast", + "ĠBy te", + "F N", + "b t", + "ref s", + "à ½", + "rad io", + "Ġstart ing", + "Ġdest ination", + "} },", + "ĠO p", + "ĠTh at", + "éĢ ī", + "E VENT", + "Ġg rad", + "Ġd ot", + "Ġf i", + "ĠA pi", + "ãĤ ¢", + "å¾ Ĺ", + "Ċ ĊĠĠĠĠ", + "Ġ ):", + "åĽ ½", + "è± ¡", + "mb ed", + "Û Į", + "Work er", + "T ile", + "ist r", + "X Y", + "str ument", + "ĠIn valid", + "Ġgener al", + "input s", + "ĊĊĊĊ ĊĊĊĊ", + "n ail", + "content s", + "h ot", + "ĠG r", + "éľĢ è¦ģ", + "Ġconst ant", + "ĠPO ST", + "c urrency", + "ĠG u", + "Ġde termin", + "m r", + "* (", + "Str ategy", + "St andard", + "ĠDe bug", + "ĠL i", + "($ _", + "SER VER", + "ne g", + "it tle", + "P ush", + "Al ert", + "B tn", + "F ocus", + "re peat", + "é s", + "ĠAnd roid", + "Sum mary", + "Ġbu cket", + "Ġsp an", + "ĠA M", + "ĠF ITNESS", + "and box", + "ĠĠ Ċĉ", + "Ġsepar ate", + "Ex it", + "Ġdo ing", + "å¹ ¶", + "Comp iler", + "å¹ ´", + "Ġf ast", + "ĠCOP Y", + "s ince", + "ĠU INT", + "script s", + "AR GET", + "æľ į", + "è° ĥ", + "ĠCon vert", + "set ting", + "Wh ere", + "Ġde leted", + "} '", + "Ġlog ic", + "A VE", + "se g", + "** *", + "af ka", + "G RO", + "string ify", + "Ġcheck ed", + "e ch", + "a is", + "O wn", + ":: $", + "Ġh istory", + "ist o", + "s yntax", + "ĠConfig uration", + "D P", + "channel s", + "g dx", + "AT ED", + "'] [", + "c ancel", + "m n", + "Ġword s", + "ie ce", + "C V", + "] ^", + "Ġf it", + "Ġf ails", + "ĠN etwork", + "ult ure", + "Auth entication", + "re ater", + "v g", + "x B", + "Ġ$ .", + "ı n", + "P HP", + "Component s", + "\\ .", + "ĠA g", + "S elf", + "/ ?", + "ï ¿", + "ĠF loat", + "Ġuint ptr", + "åĬ Ł", + "S peed", + "ç ©", + "ä¸ »", + "b ine", + "Ġvis ual", + "SO URCE", + "ab c", + "Ġc ross", + "CM D", + "Ġ ut", + "Ġagain st", + "ref resh", + "Ġname d", + "y l", + "Ġsign ature", + "h old", + "æ¬ ¡", + "Ġ ul", + "Ġem bed", + "incip al", + "Wh at", + "õ es", + "ê ¸°", + "re gistry", + "ff ers", + "Ġprocess ing", + "B ag", + "ĠThe se", + "ER N", + "Ġt w", + "Ċĉĉĉ Ċĉĉ", + "L iteral", + "Ġwe ek", + "Ġ uri", + "Del ay", + "map s", + "еР´", + "b at", + "Ġlo t", + "lay ers", + "Ġ> >>", + "Ġal gorithm", + "æľ º", + "ac er", + "col s", + "F ixed", + "__ )", + "post s", + "Ġm oment", + "Ġde velopment", + "Ġs peed", + "st derr", + "ĠR P", + "aw t", + "mon itor", + "on ce", + "ext end", + "order ed", + "I lluminate", + "ç ķ", + "Te am", + "decl are", + "function s", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "Ġch ain", + "AC C", + "ا Ø", + "Ġtr ace", + "De ploy", + "task s", + "is k", + "Ġcomp at", + "æĶ ¹", + "Ġcan cel", + "ces ses", + "ä¹ Ł", + "Ġtask s", + "Hash Map", + "åı ·", + "Sub ject", + "H ow", + "ĠAc cess", + "........ ........", + "F uture", + "éĹ ®", + "s ender", + "Ġper mit", + "Ġ íķ", + "TR AN", + "ä» ĸ", + "Ġin ner", + "t wo", + "bad logic", + "rg b", + "Ġqu ick", + "Ġexample s", + "ain ers", + "] {", + "vis it", + "Ġcall ing", + "Ġc he", + "h u", + "Hel lo", + "æ± Ĥ", + "ex tract", + "bu ilt", + "text ure", + "Ġv an", + "Bound s", + "MA KE", + "ĠF ilter", + "log s", + "Ġre cent", + "-------- -", + "Ġm aint", + "ord ing", + "pre d", + "Top ic", + "Ġfin ally", + "Tr y", + "]( ./", + "Ġp ick", + "argument s", + "Ġt ip", + "ĠA CTION", + ". |", + "EN CE", + "gener al", + "mploy ee", + "s op", + "M ESS", + "Argument Exception", + "Th ere", + "оР³", + "opt im", + "P ython", + "å§ ĭ", + "At A", + "um ul", + "Ġp i", + "ag ram", + "è Ĭ", + "se lection", + "ec lipse", + "Ġtr a", + "ĠHash Map", + "Ġ ãĥ", + "ĠI ter", + "d ers", + "é¢ ĺ", + "de ep", + "p ic", + "Ġcomp ile", + "Serial ization", + "P ress", + "le y", + "ME M", + "de cor", + "ue l", + "t ile", + "S heet", + "ot es", + "ation Token", + "ĠTh row", + "Re c", + "Ġup per", + "C pp", + "æ Ļ", + "Ġs yntax", + "PO S", + "con current", + "Ġn n", + "Ġt s", + "ĠPar ameters", + "Ġgroup s", + "string s", + "ĠM et", + "Inst ances", + "Ġro om", + "NA MES", + "F eed", + "r pc", + "ĠM ar", + "g al", + "Ġframe work", + "line ar", + "web pack", + "t ty", + "Re view", + "b undle", + "P oly", + "a N", + "common s", + "ê³ ł", + "ঠ°", + "Ñ ī", + "æĹ¶ éĹ´", + "Ġ! !", + "æ³ ¨", + "å· ¥", + "j sp", + "n l", + "Ġf ire", + "Ġse ver", + "O ther", + "Ġse c", + "set State", + "Ex ternal", + "par k", + "P ipeline", + "gr ay", + "ca pe", + "b p", + "U X", + "m v", + "ou ght", + "ict ure", + "Ġf ine", + "token s", + "u ed", + "st udent", + "Rad ius", + "]) ^", + "Ġwh ite", + "V C", + "Ġp at", + "ud y", + "b as", + "at ory", + "P ers", + "Con s", + "çĽ ¸", + "Ġpart icular", + "enk ins", + "åħ ¨", + "PRE SS", + "mar shal", + "Ġp tr", + "Ġth ough", + "product s", + "å¸ ¸", + "B ad", + "Ġc ourse", + "igr ations", + "R oom", + "ement s", + "Ġë °", + "Ġb ir", + "condition s", + "ast e", + "Al ign", + "CL C", + "Stack Trace", + "Ġse gment", + "iv er", + "Ġfr ont", + "Bo ard", + "Ġf act", + "Ġcorrespon ding", + "Ġpar sed", + "ĠP ort", + "per iod", + "HO ME", + "* .", + "ï¿ ½", + "ser ies", + "re ply", + "Ġc fg", + "G P", + "Ġcom ments", + "w arn", + "Ġen ough", + "M AC", + "Ġdepend ency", + "BU FFER", + "ĠE VENT", + "CL I", + "çľ ĭ", + "ID E", + "Ġtop ic", + "Dist ance", + "mut ex", + "Ġm ouse", + "OB JECT", + "ĠIMP LIED", + "n x", + "g ui", + "Ġcorrect ly", + "m os", + "Author ization", + "N ONE", + "') }}", + "Class Name", + "m en", + "Ġcon tract", + "HO ST", + "W in", + "} \")", + "cl a", + "Ġp ot", + "// ----------------------------------------------------------------", + "path s", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "Ġv s", + "äº ĭ", + "Ġt ensor", + "De v", + "I ZE", + "Ġchar set", + "amp ler", + "Lin q", + "Ġconfig ure", + "ĠLIMIT ED", + "ant ed", + "un der", + "] ).", + "Ġ' $", + "h ub", + "r w", + "Cont rollers", + "o i", + "é »", + "el come", + "ĠP HP", + "/ _", + "ion es", + "aa aa", + "åĮ ħ", + "ut down", + ")) {", + "Ġì ķ", + "Ġv m", + "In clude", + "res ize", + "Can vas", + "ge o", + "ĠO ne", + "Ġend l", + "UB LIC", + "Ġ? > [", + "m ul", + "annot ations", + "è¯ ¥", + "Q ual", + "y out", + "Ġ ])", + "ain ed", + "e poch", + "ri er", + "Ġ( );", + "Ġhigh light", + "é ļ", + "s ur", + "et ing", + "Ġrequest ed", + "Ġmod ified", + "ìĿ Ģ", + "cent age", + "ĠVis ual", + "ĠWIT H", + "M o", + "_ [", + "Ġf ace", + "é Ĥ", + "conf irm", + "DO M", + "Ġtri ed", + "not ification", + "lo ur", + "yp ed", + "Sub scription", + "ĠDO UBLE", + "crypt o", + "ĠC or", + "Res p", + "Ġdecl are", + "è® ¡", + "ma zon", + "P in", + "Ġcomp are", + "H AND", + "ener gy", + "; \\", + "Ġtrans fer", + "Det alle", + "è¾ ĵ", + "loc file", + "å¾ ®", + "Are Equal", + "ĊĊ ĊĠ", + "Ġê ²", + "ĠâĢ ĵ", + "temp lates", + "P K", + "Ġt ell", + "pre vious", + "' },", + "not es", + "| ;", + "Ġw in", + "ì ķ", + "query Selector", + "Method s", + "M ore", + "xffff ff", + "LO B", + "S PE", + "gorith ms", + "ĠA DD", + "G uid", + "Des ign", + "Ċ Ċĉĉĉĉ", + "åıĤ æķ°", + "l b", + "ĊĠĠĠĠĠĠ ĊĠĠĠĠĠ", + "Ġfunction ality", + "ĠÄ ij", + "Ġcol ab", + "æľį åĬ¡", + "W T", + "ĠRout er", + "qu ip", + "ĠProp Types", + "ĠN AME", + "Ġimport ant", + "b ank", + "F ER", + "D ao", + "è® ¤", + "end region", + "con tract", + "red uce", + "Ġp ack", + "ĠF ont", + "ä¸ İ", + "T uple", + "Ġtext ure", + "æ ¸", + "Ġint ent", + "Ġlong er", + "arch ive", + "Ġ' {", + "exp and", + "\": [", + "mat ches", + "ĠN E", + "o th", + "ot or", + "side bar", + "j ax", + "user Id", + "a led", + "ph i", + "é ĸ", + "Ġv i", + "TE GER", + "cur r", + "C ast", + "f w", + "Ġe ar", + "Ð ³", + "itect ure", + "vent ion", + "оР±", + "allen ge", + "ç» Ł", + "sh all", + "ĠIl legal", + "View Model", + "ĠInitial ize", + "ĠT ry", + "å ¢", + "æ ¶", + "VID ED", + "br a", + "ĠTH IS", + "Ġ__ _", + "ç ĥ", + "Ġk nown", + "change d", + "{ })", + "ar er", + "Ġsc an", + "ç¬ ¬", + "Co efficient", + "-> {", + "ãģ ĭ", + "çŃ ī", + "Ġh it", + "åĪ Ļ", + "vis ual", + "Ġcomp iler", + "åı £", + "Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠAdd ress", + "enc ed", + "åŃ ¦", + "Ġdis cus", + "il ation", + "Com bo", + "Ġevery thing", + "Bl ue", + "w all", + "ph oto", + "P ACE", + "ĠCOPY RIGHT", + "N EXT", + "c amera", + "ong s", + "------------ --", + "Ġme mbers", + "ac ed", + "Bu cket", + "ca de", + "select or", + "P ack", + "P resent", + "cl us", + "ĠLI ABILITY", + "F e", + "Orig in", + "d ynamic", + "Ġcl s", + "Con straint", + "ĠSet s", + "AR K", + "A utom", + "up s", + "S ound", + "Ġm aking", + "Ġf ar", + "Check ed", + "Pri mary", + "á n", + "Second s", + "St ar", + "Ġa udio", + "t ot", + "T M", + "l c", + "z u", + "Hel p", + "s aved", + "Up dated", + "ĠB U", + "B ot", + "ĠAc count", + "A UTH", + "H ave", + "Ġbuild ing", + "cr umb", + "s lot", + "ĠT op", + "ĠS chema", + "ĠSh ould", + "Ġ\" ^", + "ĠA WS", + "ons ive", + "Di agnostics", + "æĥ ħ", + "v b", + "W M", + "\">\\ (", + "TO KEN", + "BO OL", + "i NdEx", + "аРº", + "ĠIN CL", + "ref lect", + "Ġblock s", + "de p", + "p ip", + "T er", + "L at", + "t or", + "I ME", + "Ġo u", + "e valu", + "F ROM", + "Ġ ĊĠĠ", + "O RE", + "Over flow", + "Q t", + "m g", + "Ġs hell", + "B in", + "Ġdid n", + "/ \">", + "ĠJ ust", + "t ax", + "Ass ign", + "ĠN ow", + "ext ensions", + "ĠRe port", + "ä¿ Ŀ", + "t ion", + "Mis sing", + "Ġcan vas", + "ا ÙĦ", + "P icker", + "s uite", + "ĠAd ded", + "åı ª", + "ient s", + "Ø ¯", + "Ġtrans ition", + "ĠCont ainer", + "Ref resh", + "G TH", + "Ġc d", + "SD K", + "c lock", + "Ġc s", + "Ġl as", + "ip her", + "= ${", + "Ġmerge d", + "Ġj upy", + "D one", + "Re act", + "ç ões", + "N D", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ir a", + "Ex tra", + "å· ²", + "i pt", + "ĠS ty", + "Con sumer", + "' +", + "LO AT", + "Ġ\" >", + "f loor", + "åĪ Ľ", + "ĠA rt", + "Ġse ed", + "ĠD ec", + "Ġ article", + "ĠPro to", + "ĠAd min", + "ce eded", + "ĠT ag", + "navig ation", + "ar a", + "æ ĵ", + "Ob server", + "ER S", + "Ġappro priate", + "Ċĉĉ Ġ", + "st andard", + "or ary", + "File Path", + "Me tric", + "Ġ' ')", + "Ġde p", + "pe ated", + "ĠDe vice", + "ĠD own", + "method s", + "ĠP ri", + "åı ĺ", + "ent ries", + "scri ptions", + "we et", + "æĢ ģ", + "R ules", + "Ġy es", + "Ġauth entication", + "N avigation", + "anc ell", + "> /", + "F amily", + "Ġback end", + "value Of", + "!! !!", + "/ ${", + "imp lement", + "] \",", + "Ġv o", + "F actor", + "Ġcalcul ate", + "! (\"", + "å ķ", + "E st", + "Ġch oose", + "ç½ ij", + "Ġread ing", + "Ġs pr", + "ĠEx pect", + "= /", + "NO DE", + "ĠP REC", + "ĉĉĉĉ ĉ", + "Ġselect or", + "Con straints", + "so ck", + "Pl ace", + "B T", + "r ase", + "ill ing", + "Del ta", + "ivers ity", + "In tegr", + "** ,", + "IN DEX", + "ĠPr int", + "Ġc li", + "Ġnot ification", + "Valid ate", + "per mission", + "ĠO K", + "ĠImp ort", + "Ġd r", + "Ġp our", + "Ġc p", + "ĠM aybe", + "ĠJ ob", + "Ġp a", + "And roid", + "USE D", + "Ġan alysis", + "cl c", + "filter s", + "Ġrecord s", + "b ro", + "Ġf oo", + "Ġmatch ing", + "и м", + "pre vent", + "Ġro uter", + "ãģĹãģ ¾", + "ent e", + "or ph", + "Ġp t", + "ab e", + "Ġr s", + "eb ook", + "Ġw x", + "Ġnp m", + "Ġvert ex", + "iz ers", + "led ge", + "å¤ Ħ", + "z n", + "Ġin f", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ç¬ ¦", + "en vironment", + "fl ash", + "CON ST", + "Ċĉĉĉĉĉĉĉĉ ĉĉĉ", + "g c", + "Ġde vices", + "ç±» åŀĭ", + "Ġp x", + "ent ities", + ">< ?", + "\". \"", + "p ipeline", + "௠į", + "ard ing", + "Ġap pear", + "pri se", + "CM ake", + "++ ){", + "Ġl ambda", + "Ġan imation", + "Ġth anks", + "Ġsub st", + "refer red", + "Re ply", + "æĺ¯ åIJ¦", + "ĠB asic", + "Ġter min", + "w x", + "Ġapplic ations", + "ãĥ Ń", + "pre pare", + "Ġacc ording", + "V R", + "U Int", + "Ġg oogle", + "trans ition", + "è £", + "Ser ies", + "O C", + "P ut", + "ĠSt andard", + "depend ency", + "Ġ/ > $", + "Ġ< >", + "C trl", + "n r", + "Ġ ãĤ", + "Ġb as", + "=\" ${", + "Ġser ies", + "> (\"", + "y a", + "ARR AY", + "ан и", + "ĠM ac", + "S lot", + "lic a", + "BU ILD", + "q a", + "ĠRe ference", + "ic ht", + "Ġ{ $", + "for ge", + "Ù ĩ", + "Ġd as", + "ĠR andom", + ") $", + "/ :", + "x be", + "Me trics", + "R PC", + "Serial ize", + "ç® Ĺ", + "de b", + "ol id", + "ip s", + "c url", + "l on", + "app le", + "Run ning", + "U sing", + "ox y", + "D rag", + "Ge ometry", + "Ġdis k", + "er ved", + "TO P", + "æĹ ł", + "duc ed", + "^ {", + "Ġst udent", + "Ġme sh", + "ĠH ome", + "Ø ª", + "Ġ ------------------------------------------------", + "havi our", + "F P", + "[ [", + "Ġem it", + "cook ie", + "rel ative", + "is ation", + "ĠD ocker", + "if ec", + "f ake", + "ĠH ere", + "Ġver bose", + "ĠCO MM", + "al o", + "METH OD", + "F B", + "] =\"", + "Ġapp lied", + "C ertificate", + "è¯ ´", + "ä¹ Ī", + "R ST", + "Ġd w", + "Ġpri or", + "Feature s", + "Ġbe come", + "al ent", + "\"] [\"", + "red is", + "Ġì Ĺ", + "led ger", + "version s", + "åħ ĥ", + "æĶ ¯", + "SESS ION", + "Ġp in", + "ĠF ire", + "Ġsupport s", + "LEN GTH", + "sign ature", + "Ġl ittle", + "lect ron", + "MESS AGE", + "at ur", + "Change s", + "Ġweb site", + "x D", + "Ġconfig ured", + "variable s", + "as c", + "Ġy y", + "Ġpub lished", + "weight s", + "æĮ ģ", + "Ð ¶", + "Ġcre ates", + "Ġl l", + "be ans", + "\" {", + "éħį ç½®", + "IC ATION", + "ĠD ATA", + "'' '", + ") **", + "Id ent", + "St age", + "To ggle", + "In struction", + "Ġj e", + "text area", + "NE CTION", + "> \",", + "Ġ\" __", + "k otlin", + "Image s", + "od b", + "ĠU sing", + "P A", + "Ġle arning", + "CE PT", + "B rowser", + "an imation", + "Ġcol ors", + "tr ansport", + "ç ¡", + "c uda", + "en n", + "Ġt ile", + "ĠC ount", + "y ou", + "el low", + "NAMES PACE", + "ï¼ Ł", + "Ġal tern", + "Ġex periment", + "W A", + "Ġf ür", + "A IL", + "ĠRE AD", + "SCRIP TION", + "C ert", + "Ġcomp let", + "r st", + "ER O", + "String s", + "u j", + "í Ĭ", + "Ġsh a", + "urre d", + "Ġsimp ly", + "SH IFT", + "Ġsc ene", + "over flow", + "Ġt re", + "ie ve", + "OL DER", + "Ġv on", + "str cpy", + "M R", + "E B", + "Ġ[ -", + "Path s", + "Ġf ac", + "Mem bers", + "=\"../../ ../", + "IM ARY", + "ifec ycle", + "ĠJava Script", + "Ġ ))", + "L AY", + "un its", + "Ġp s", + "Ġ$ $", + "\" /", + "de scriptor", + "ĠEx p", + "f uture", + "Ġre gex", + "Ġid s", + "ç© º", + "(\" [", + "pend ing", + "Depend ency", + "ht m", + "DI RECT", + "\\\", \\\"", + "T y", + "X R", + "velo pers", + "f ac", + "depend ent", + "Pub lish", + "T ARGET", + "ĠC I", + "ä» İ", + "d ll", + "Ġf urther", + "ĠR et", + "u ro", + "u pt", + "Found ation", + "P ASS", + "n v", + "in ator", + "ĠD im", + "Time s", + "Ġlook ing", + "Ġcustom er", + "request s", + "s quare", + "get Class", + "av atar", + "Ġa pt", + "V EL", + "cy cl", + "DE P", + "ĠString Builder", + "ĠP ackage", + "/ %", + "D Y", + "Ġd type", + "C r", + "Ġc ss", + "å¿ ħ", + "çº ¿", + "ro les", + "Ġ` <", + "sl ider", + "S K", + "par a", + "- .", + "face book", + "Ġ_ .", + "ĠA fter", + "SE D", + "part ment", + ", %", + "о н", + "í Ħ", + "st ock", + "V k", + "ë §", + "li ve", + "Ġg reen", + "p w", + "it a", + "è ¶", + "Ġref resh", + "éĽ Ĩ", + "p lier", + "æł ¼", + "() }", + "D ig", + "é ª", + "part y", + "An alysis", + "J o", + "Th anks", + "ĠPro perties", + "dest ination", + "Ġgener ator", + "f ort", + "C ould", + "ĠB O", + "äº Ľ", + "Ġw atch", + "=\"# \">", + "P ol", + "é¡ ¹", + "P IN", + "Ġb oost", + "VS OP", + "w ar", + "S G", + "/ $", + "ë ©", + "Ġc lock", + "Ġad v", + "qu ant", + "collection s", + "Command s", + "start ed", + "ä» »", + "x A", + "no logy", + "ä¹ ī", + "æ ·", + "const ants", + "Ġpart ition", + "GRO UP", + "ament o", + "ĠSt ack", + "F inal", + "ail y", + "P atch", + "mis sing", + "pri ority", + "XX X", + "ä¿ ®", + "Ġp ad", + "L AB", + "f u", + "Ġrun s", + "t ail", + "Access or", + "[ ])", + "` );", + "a ur", + "æľ Ł", + "Ġ` /", + "ãģ į", + "Ġsample s", + "c u", + "ĠRe cord", + "Ġw rap", + "ĠM B", + "ĠH as", + "Ġn orm", + "Ġprob lems", + "L et", + "Ġex pr", + "Ġm t", + "Ġs in", + "By Name", + "Ġ/ ><", + "èĬ Ĥ", + "St ub", + "az z", + "__ .", + "Ġp riv", + "enc ia", + "ĠM edia", + "cr ate", + "ĠSt orage", + "H ook", + "ING S", + "ç« ¯", + "i ro", + "n ed", + "av sop", + "Ġshow s", + "im ated", + "ĠA UTO", + "re verse", + "row se", + "ient ation", + "Ġph one", + "æ ´", + "ĠS m", + "ig o", + "Im g", + ", \\", + "FUN CTION", + "Ġde code", + "Ġwh ole", + "Ġho pe", + "ĠO ver", + "Ġc out", + "Ġs lot", + "state ment", + "Mod ified", + "é« ĺ", + "ë ł", + "In dic", + "frag ment", + "he alth", + "MOD ULE", + "PRE FIX", + "id ade", + "el s", + "s udo", + "Ġa avsop", + "stri ction", + "D AT", + "PO INT", + "part ial", + "Ġde scriptor", + "qu ation", + "U int", + "curs ive", + "ĠVar iable", + "S IGN", + "ĠC ell", + "g pu", + "work flow", + "ĠS ave", + "Ġo l", + "Ġx s", + "Up per", + "å® ī", + "zer os", + "s un", + "re v", + "Dim ension", + "Ġsa id", + "valid ator", + "pro jection", + "è· ¯", + "Sh arp", + "work er", + "n é", + "Event Handler", + "w eek", + "RO P", + "Data Type", + "uff le", + "åį ļ", + "Ġ\" ../../", + "ost ream", + "Ġf d", + "LE MENT", + "ys ics", + "So ftware", + "Ap ply", + "ub untu", + ") '", + "prevent Default", + "ri ent", + "Ġì Ħ", + "Ġsh all", + "k n", + "ĠG en", + "Ġ& #", + "P a", + "Ġb undle", + "Ent ries", + "è ī", + "Ĥ ¨", + "ch r", + "ĠPro gram", + "anch or", + "Ġde termine", + "b al", + "ĠSet tings", + "âķIJâķIJ âķIJâķIJ", + "Ñģ Ñı", + "CT YPE", + "Quest ion", + "k l", + "T ex", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "åĽ ł", + "urch ase", + "Ġhand ling", + "Ġs ound", + "ĠIN FO", + "Ġc ast", + "ĠRed ist", + "Conn ector", + "NotFound Exception", + "Conf irm", + "un icode", + "CP U", + "ë IJ", + "Pro b", + "ç§ į", + "Ġimp l", + "gener ic", + "ç ¾", + "as ing", + "Vis ibility", + "ĠThrow able", + "Ġp res", + "ĠC ategory", + "lic ations", + "os en", + "} _", + "ĠAt tribute", + "Ġpri ority", + "att ach", + "Ġhe x", + "åĩ ½", + "Initial ize", + "è¿Ľ è¡Į", + "ĠC R", + "à§ į", + "t utorial", + "Ġe val", + "e th", + "=\"# \"", + "C tx", + "ext ends", + "var i", + "Ġover flow", + "ipp ed", + "ĠB ox", + "ic i", + "Ċĉ ĠĠĠĠ", + "Array s", + "medi um", + "l st", + "åĨ Ļ", + "it ation", + "ust ers", + "ãĤ ī", + "Ġcur r", + "bind ing", + "d AtA", + "PRO TO", + "ĠINCL UDING", + "ĠS C", + "Ġun its", + "shield s", + "anc er", + "PL AY", + "c x", + "positor ies", + "ĠM enu", + "Tr ansport", + "on o", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "W rap", + "Lower Case", + "Ġvar i", + "ans wer", + "pi ct", + "i h", + "N ON", + "serv let", + "n u", + "ĠUn ityEngine", + "Ġm it", + "[ ],", + "ac on", + "Ġass ume", + "sh arp", + "agnost ic", + "Ġ questions", + "ĠT ool", + "Ġst age", + "Ġa st", + "Ġme tric", + "Ġstyle s", + "Ġpro cedure", + "ĠE mail", + "D ot", + "ar b", + "Ġ( %", + "AC H", + "Ġmark er", + "B I", + "part s", + "Ġiter ator", + "He alth", + "De cor", + "c er", + "S em", + "íĬ ¸", + "K ernel", + "iv o", + "< =", + "åĪĽ 建", + "az ione", + "Ġsh own", + "Ì ģ", + "ET HER", + "A U", + "} ',", + "null able", + "ĠDA MAGES", + "add Class", + "Ġs s", + "Ġproduct s", + "Sh adow", + "å® Į", + "all back", + ": ]", + "ĠT arget", + "Ġme di", + "ĠRe set", + "h ard", + "Ġsa fe", + "L ER", + "ag r", + "Ġcre ation", + "ĠĠ ĊĠĠĠ", + "Ġst ates", + "Ex tract", + "= &", + "so und", + "ĠC LI", + "Ġdefault s", + "ĠPRO VIDED", + "ĠEng ine", + "av g", + "process or", + "Ġst roke", + "Non Null", + "Ġappro ach", + "SS L", + "Ġdest roy", + "Ġline ar", + "ers hip", + "Ap pro", + "Ġth reshold", + "ĊĠĠĠĠĠĠĠĠ ĊĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "Ġbl ue", + "Ġre levant", + "conn ected", + "Ġin dividual", + "ĠValue Error", + "ĠImp lement", + "v t", + "Br anch", + "n an", + "E q", + "spec ial", + "Ġs chedule", + "rit ical", + "ĠY es", + "plot lib", + "fo x", + "C redentials", + "t ur", + "Ġscript s", + "E mit", + "Ġoutput s", + "íķ ´", + "Tool Strip", + "çĬ ¶", + "Ġchar ge", + "Fr ont", + "Doc s", + "Ġtest ed", + "TE MP", + "к а", + "i am", + "ing er", + "ge ometry", + "An chor", + "Click Listener", + "look up", + "ĠF ixed", + "W rit", + "num eric", + "pos al", + "w i", + "Ġd ump", + "L ONG", + "Ġrequire ments", + "à ¥", + "++++ ++++", + "isto gram", + "pe ech", + "Ġmin utes", + "Look up", + "ann ing", + "Table s", + "ik i", + "Ġgener ic", + "ÑĨ и", + "CONT RO", + "STR UCT", + "In line", + "BU F", + "å¼ ķ", + "į ä½ľ", + "æľ Ī", + "Ġsuccess ful", + "æº IJ", + "Ġm ult", + "ap sed", + "Ġwork flow", + "> ',", + "ãģĹãģ¾ ãģĻ", + "Ġre verse", + "Ġres pect", + "OFF SET", + "åŁ º", + "Ġac ross", + "ĠU P", + "ĠIn it", + "vert ical", + "à ´", + "Variable s", + "Ġa z", + "HP P", + "éĢļ è¿ĩ", + "ç¼ ĸ", + "ĠI con", + "R S", + "t od", + "Ġnot es", + "mk dir", + "管 çIJĨ", + "Ġa ws", + "ĠA V", + "ĠD raw", + "i q", + "Ġd s", + "back up", + "| [", + "| -", + "ĠSH ALL", + "t z", + "C he", + "char acter", + "ä¸Ń çļĦ", + "Un ique", + "ĠEX PRESS", + "Ġpre tty", + "IN F", + "Ġind ices", + "Ġr m", + "Y our", + "é Ĵ", + "pre ter", + "(' ../", + "comp iler", + "IS ING", + "sp ark", + "æł ·", + "Un expected", + "Ġsever al", + "åĩ½ æķ°", + "S cheme", + "A sp", + "çĦ ¶", + "E O", + "Sh ift", + "ĠW ord", + "non atomic", + "h adoop", + "Ġp oly", + "Text Field", + "è¯ ķ", + "Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠC PU", + "Ġinter est", + "ĠC N", + "en a", + "User Id", + "ouse l", + "è¿Ļ 个", + "Ġref lect", + "H ex", + "Ġde velop", + "? )", + "READ ME", + "Ġc url", + "ãģ Ĩ", + "è ģ", + "ÃŃ t", + "ic ult", + "v r", + "append Child", + "çĥ Ń", + "R ound", + "F ilename", + "de li", + "* >(", + "ar c", + "Ġcon cept", + "ĠV AR", + "Ġde cimal", + "ĠSE LECT", + "ap es", + "oo th", + "Equal To", + "Json Property", + "ĠL et", + "Ġplugin s", + "(\" @", + "n h", + "' \\", + "if fer", + "err y", + "S UP", + "dot net", + "RT X", + "cal c", + "Helper s", + "IE W", + "he t", + "spec ific", + "spon d", + "T w", + "ĠHe ader", + "äº Į", + "document ation", + "inner HTML", + "get Type", + "Ġproper ly", + "čĊč ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ach er", + "ĠForm at", + "IST S", + "ä¼ ł", + "ab or", + "\") :", + "in ject", + "Ġc ertificate", + "oc ab", + "Ġp b", + "ĠS cript", + "Ġ: )", + "h al", + "Ġman ually", + "b gn", + "Ġf ragment", + "S lice", + "ĠEx pression", + "Ġrepresent ation", + "aly zer", + "ç» ı", + "è½ ¬", + "Ġvar ious", + "ul let", + "out h", + "dis k", + "F LOAT", + "Ġignore d", + "Ġdescri bed", + "c gi", + "Ġj est", + "Ġkw args", + "Print ln", + "Ġm icro", + "U A", + "ĠS ER", + "ug ht", + "B alance", + "Ġe lem", + "ĠCON TRACT", + "plor er", + "sp acing", + "ip pet", + "umul ative", + "Ġa uf", + "Ġh im", + "s al", + "B LOCK", + "Support ed", + "k top", + "sc r", + "Pri ority", + "im ing", + "ro py", + "Ġp romise", + "LE D", + "job s", + "Base d", + "run ning", + "Sh are", + "place holder", + "Request s", + "n umpy", + "Ġtype def", + "Ġle g", + "run ner", + "Ġuse State", + "è ª", + "Ġtable s", + "CMake Files", + "P adding", + "B al", + "g ree", + "B IN", + "ĠB r", + "bind ir", + "at ial", + "y r", + "Ġimp licit", + "re ason", + "Ġt cp", + "pe er", + "b an", + "n op", + "(\" -", + "anc y", + "c lip", + "Ġpe er", + "ĠD IS", + "it ution", + "Ġf actor", + "Ġwork er", + "Decl aration", + "Ġ; ;", + "to s", + ">< !--", + "ãĥ Ĩ", + "åIJ ij", + "e ep", + "(\" <", + "Ġlist s", + "em y", + "uc er", + "ĠF in", + "ĠE l", + "m aven", + "Ġw er", + "WI SE", + "MA IN", + "æ¶ Ī", + "(' <", + "Ex periment", + "gr ams", + "Ġp ay", + "ord ers", + "ĠLI ABLE", + "K S", + "Ġm ention", + "I MAGE", + "W D", + "ĠD river", + "Ġ` .", + "? ?", + "ĠS U", + ":: ::", + "T ick", + "b alance", + "th reshold", + "Ġ çļĦ", + "еРº", + "C lip", + "B lob", + "attr s", + "Ġch o", + "ĠIn formation", + "count s", + "s il", + "vers ation", + "Q UE", + "node js", + "sw ap", + "Ġregister ed", + "Ġ| >", + "Is Null", + "g ateway", + "Ġ* **", + "ĠC ache", + "аР²", + "Ġrad ius", + "INCRE MENT", + "t odo", + "Ġs napshot", + "ĠC ard", + "Ġ$ ('.", + "h h", + "âĢ ¦", + "WAR NING", + "T K", + "ĠH OLDER", + "fol io", + "ĠDi ctionary", + "ob ot", + "Ġs yn", + "B reak", + "Ġ* =", + "Ġ[ (", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "Ġ( \\", + "V RTX", + "ex clude", + "DO WN", + "Ġm en", + "file Name", + "Al gorithm", + "m ag", + "DE V", + "ĠS ch", + "S ender", + "Re ason", + "mod ified", + "Act or", + "är nd", + "ribut ions", + "ärnd ütsch", + "thread s", + "ĠArg s", + "u an", + "T ouch", + "NUM BER", + "vol ution", + "× Ļ", + "ĠWH ETHER", + "ens itive", + "å® ĥ", + "æ¯ Ķ", + "S ent", + "Ġcom o", + "fl uid", + "ĠM ulti", + "Ġcom bin", + "Ġt xt", + "Ġadd s", + "Ġr and", + "ĠAR ISING", + "Ġi ç", + "P od", + "æī §", + "Rot ation", + "Y W", + "ĠUs age", + "Ġandroid x", + "AL TER", + "tab s", + "è½ ½", + "k in", + "For ce", + "E valu", + "xx x", + "to LowerCase", + "> ]", + "c ross", + "K HR", + "Ent ities", + "st one", + "DO CTYPE", + "exec ution", + "Ġc at", + "å¤ ĸ", + "G F", + "ke ep", + "Gener ate", + "br and", + "M argin", + "ER T", + "CP P", + "im a", + "m iddle", + "Ġcomp any", + "rel ated", + "default s", + "crypt ed", + "Ġintegr ation", + "Ġcoord inates", + "M ON", + "RE NT", + "st ub", + "cre te", + "ĠOb servable", + "Ġ}} \">", + "qu o", + "Ġind ent", + "r um", + "Set s", + "OP TION", + "ver bose", + "ro bot", + "ĠE L", + "Vis itor", + "m ong", + "ĠS UB", + "J s", + "Ġ} ));", + "o logy", + "Ġn avigation", + "DE VICE", + "all s", + "Ġuser Id", + "cal endar", + "ìľ ¼", + "ëĵ ľ", + "Ġ) {", + "mac ro", + "Ġs us", + "Ġfor ms", + "Z X", + "ãĥ ķ", + "Ġì ĭ", + "ol ang", + "amp ling", + "b x", + "f name", + "ĠC A", + "Ġm er", + "Ġorg an", + "Aut ow", + "O ld", + "j peg", + "U sed", + "Ġdif ference", + "Back end", + "cycl er", + "Ġp ag", + "ynchron ous", + "Ġs ense", + "cache d", + "Ver ify", + "čĊĉĉ čĊĉ", + "ĠEn vironment", + "W IDTH", + "la unch", + "g d", + "m f", + "ĊĠĠĠĠ ĉ", + "Ġf printf", + "get Logger", + "G UI", + "Copy right", + "Ġfilter s", + "j ack", + "b en", + "Ġìŀ Ī", + "un iform", + "qu ick", + "M IS", + "} ]", + "/ \",", + "Ġst uff", + "Ġle an", + "Read y", + "æŀ Ħ", + "è¯ ģ", + "Ġd ans", + "t el", + "} $", + "se ll", + "S CO", + "ĠD at", + "åij ½", + "Ġh ide", + "ĠY our", + "Ġreg ular", + "Ġre mov", + "íĦ °", + "ĠD irectory", + "ĠEd it", + "ĊĠĠĠĠĠĠĠĠ ĉ", + "W r", + "-- ;", + "Ġcod ing", + "\"> (", + "st ates", + "Comp are", + "vol atile", + "Ġpred ict", + "icip ant", + "å¥ ½", + "d yn", + "Me asure", + "Pre view", + "ĠìĿ ´", + "Ġid entity", + "Ġ[ #", + "get Text", + "gn u", + "l azy", + "h orizontal", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "Ge o", + "G G", + "ĠLoc ation", + "Ġc e", + "ed List", + "å¤ į", + "\": {\"", + "Ġc c", + "k an", + "Ġex plo", + "æīĢ æľī", + "åİ Ł", + "spot ify", + "A WS", + "Ġon Change", + "Ġrefer ences", + "ĠTe ch", + "j enkins", + "arg o", + "Scal ar", + "Ġl iteral", + "ĠLog in", + "N eg", + "Lo aded", + "M AN", + "à ±", + "Ä ģ", + "ore m", + "Ġrg ba", + "entic ated", + "ighb or", + "h m", + "čĊĠĠĠĠ čĊĠĠĠ", + "åİ ¿", + "Ġrepresent s", + "EX PORT", + "trans fer", + "iv ing", + "Ġcomp uter", + "ç§ °", + "Color s", + "çī ¹", + "] ));", + "Th reshold", + "s ocial", + "Ġc redentials", + "Ġp rom", + "å¤ ±", + "ĠL a", + "R atio", + "Sup press", + "ĠOTHER WISE", + "Th en", + "Ġ\" :", + "St d", + "c losed", + "Asp Net", + "оРº", + "l bl", + "TEXT URE", + "Ġ* (", + "Ġvert ical", + "ол ÑĮ", + ". (", + "} :", + "Ġad apter", + "Ġ\" {", + "Ġ' +", + "к и", + "ĠQ t", + "ĠMan ager", + "Ġenum erate", + "ent s", + "tr aining", + "CT RL", + "Ġde li", + "P ending", + "ĠM ay", + "æī§ è¡Į", + "a C", + "Ġc os", + "Ġstyle d", + "Ġo thers", + "çī Ī", + "V oid", + "gu ard", + "Ġs uc", + "Ġterm inal", + "ĠS um", + ":: {", + "release s", + "æĵ įä½ľ", + "Error Code", + "tr as", + "ĠAs ync", + "t ick", + "Part ition", + "LE VEL", + "ãĤ ·", + "Ġph p", + "ĠD el", + "ìŀ IJ", + "v p", + "iz z", + "sub scription", + "Ġsystem s", + "Ġto ggle", + "ul ated", + "Con v", + "ãģ Ĥ", + "ãĥ §", + "ra structure", + "r int", + "do e", + "id i", + "PRO PER", + "ĠM ode", + "ãĤ Ī", + "Ġup grade", + "L IL", + "Ġto gether", + "the ta", + "--- |", + "C ookie", + "f ollow", + "ĠA UTH", + "ĠF r", + "ĠT ORT", + "Sign al", + "Ġg reater", + "co d", + "ãĤ °", + "pers istence", + "LE FT", + "TO DO", + "åħ ¬", + "Ġexec uted", + "Ġco untry", + "Page s", + "cat alog", + "o auth", + "Ġp ip", + "Ġwait ing", + "åº ĵ", + "Ġsub scription", + "Query Parser", + "j avax", + "Ġ\" \");", + "C lean", + "sp i", + "MB OL", + "ip edia", + "R F", + "man ifest", + "Autow ired", + "set Attribute", + "( \",", + "Ġb i", + "Ġz one", + "ĠStr uct", + "Spr ite", + "Ġc irc", + "] ):", + "n f", + "Ġmod al", + "E lem", + "ur acy", + "s napshot", + "Ġse ll", + "čĊč Ċĉĉ", + "port al", + "ut ine", + "b ined", + "Ġ@ @", + "ĠAl low", + "En code", + "ail ability", + "н а", + "y c", + "n om", + "IT ER", + "ĠT HEN", + "Ġcache d", + "FA ILED", + "U i", + "p ace", + "Ġd é", + "ĠSet up", + "/ @", + "ĠN um", + "at map", + "Ass oci", + "cl k", + "re w", + "PRO C", + "Ġon click", + "\"} ],", + "B OT", + "Var iant", + "ten ded", + "view port", + "S ys", + "Trans ition", + "ĠD WORD", + "w g", + "in ct", + "ĠTemp late", + "G ateway", + "IN PUT", + "\"> [", + "D M", + "OUT PUT", + "== '", + "G rad", + "çĶ ±", + "Ġret rieve", + "Ġdes ired", + "Ġs ources", + "ex periment", + "Re gex", + "ภĻ", + "control s", + "] \\", + "Test ing", + "St udent", + "Ġ ÑĢ", + "Ġa verage", + "Ġde mo", + "ĠN et", + ",, ,,", + "Ġpixel s", + "[ ];", + "ĠP AR", + "Print f", + "u ation", + "inter pret", + "ë ³", + "Ġm ail", + "HEAD ER", + "Ġfe el", + "ìĸ ´", + "+ -", + "Ġm ount", + "LE S", + "en ing", + "CT L", + "As sembly", + "Ġadd ition", + "Ġre gistry", + "P UBLIC", + "sub str", + "æĮĩ å®ļ", + "DE D", + "Ġ ĉĉ", + "man age", + "sk ill", + "iz ar", + "Ġth ought", + "NOT E", + "Ġad just", + "ĠS pr", + "In ner", + "h alf", + "Ġc pu", + "ĠW orld", + "q q", + "ne ed", + "work space", + "Ġe poch", + "ĠPar ameter", + "Index QueryParser", + "IndexQueryParser Tests", + "× ķ", + "Function s", + "M illis", + "S uite", + "u str", + "ri o", + "cal led", + "Token s", + "Ġli ve", + "Us uario", + "Co untry", + "Ġm obile", + "Re ceived", + "Ġexport s", + "ĠS O", + "ĠĠĊĠĠ Ċ", + "(\" \");", + "H ere", + "Y es", + "CLI ENT", + "Æ °", + "Ġse en", + "Ġh ar", + "app ings", + "as InstanceOf", + "il ing", + "f ed", + "output s", + "Ġsol ve", + "OP EN", + "RET URN", + "em ber", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Project s", + "st able", + "d ash", + "Ġr gb", + "ITE M", + "on ical", + "Å ¯", + "sh ader", + "ĠGener ate", + "sc ape", + "Ġcol span", + "Des erial", + "Ġdeploy ment", + "depend encies", + "is ode", + "Ġpl us", + "de sktop", + "qu antity", + "ce ipt", + "代 çłģ", + "sol ution", + "CO PY", + "re ng", + "ĠF ILE", + "ĠN ext", + "Ġë §", + "An swer", + "éĻ IJ", + "и Ñģ", + "Per missions", + "r is", + "Ġd ol", + "in voice", + "Ġth ird", + "ist or", + "N s", + "čĊĠĠĠĠĠĠĠĠ čĊĠĠĠĠĠĠĠ", + "ĠS TD", + "æĿ ĥ", + "O IN", + "Ġ( &", + "A H", + "St ates", + "ĠR EQ", + "ENT ER", + "df s", + "ro utes", + "'), (", + "Al pha", + "Ġfig ure", + "Ġs anit", + "% \">", + "ist ant", + "Ġscal a", + "lyph icon", + "xb d", + "ĠJ ul", + "Ġfix es", + "IT S", + "case s", + "th rough", + "Ġfeed back", + "a res", + "pe ak", + "b el", + "çī ĩ", + "Ġneg ative", + "Ġë ³", + "M ultip", + "AME TER", + "Ġ(! (", + "on al", + "ĠR ect", + "Ġ Ñĩ", + "Ġ(! $", + "Ġassign ed", + "y d", + "Ġro utes", + "c orrect", + "K NO", + "Ġs he", + "ir th", + "Ġadd resses", + "Į Ģ", + "Ġop acity", + "Ġchannel s", + "ãĤ ¿", + "ĠO ptions", + "d jango", + "ĠCh annel", + "çĽ ´", + "ĠPl ugin", + "Ad ded", + "pro j", + "æ® µ", + "ST EM", + "$ \"", + "over view", + "ĠC lear", + "ĠRe lease", + "mer ce", + "ĠP erson", + "è¿ ĺ", + "Ġe c", + "f as", + "Ġa ux", + "ad ded", + "f req", + "Act ual", + "* >", + "E F", + "() ", + "G S", + "Ġcol l", + "M iddleware", + "Å ij", + "ol ation", + "Ġsup p", + "Ġdisplay ed", + "Ġim mediate", + "S uper", + "W eek", + "M s", + "ĠE ach", + "Ġa w", + "ĠB ad", + "Wh ite", + "m ultip", + "ä¸ ī", + "Ġc ookie", + "\\ \">", + "ãĥ ĩ", + "log ical", + "L ive", + "e ven", + "âĢ ĵ", + "e u", + "Ġde ep", + "Ġin herit", + "Ġo pp", + "Ġgu ess", + "Ġ\" (", + "Cl one", + "ĠSte p", + "reng th", + "set Value", + "H Y", + "ĠB o", + "Ġun e", + "elastic search", + "ĠIn ternal", + "record s", + "p al", + "Ġ à®", + "Ġ[ ])", + "ìĿ ¸", + "Th an", + "Record s", + "Ġs ensor", + "Ġattemp t", + "Ġapp s", + "ĠH O", + "ãĤ £", + "FR S", + "j p", + "! \"", + "Button s", + "Ġpos itive", + "Cal cul", + "por ation", + "str a", + "g ular", + "Ġ ö", + "De ep", + "u med", + "表 示", + "Ġret rie", + "ĠR ES", + "Ġi OS", + "ĠR ight", + "Ġ\" *", + "p ulumi", + "ĠA cc", + "or se", + "ri st", + "D emo", + "get Data", + "ĠA re", + "ĠTh ank", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "m ic", + "Ġext ensions", + "æĶ ¶", + "Ġlay ers", + "P res", + "ç Ł¥", + "ivers al", + "ĠLe vel", + "Ġfollow s", + "Ġb lob", + "}} \"", + "F un", + "re ject", + "op ens", + "Ġconst expr", + "Ġk lass", + "\")) .", + "Ob servable", + "po ses", + "arg er", + "ĠEn able", + "ĠS IZE", + "xf d", + "B P", + "bus iness", + "ame l", + "Not ify", + "Ġman ifest", + "Ġ\" (", + "P at", + "Ġto day", + "^^^^ ^^^^", + "qu ences", + "integr ation", + "åĬ Ľ", + "Ġbound s", + "ĠDes cribe", + "ĠIn stance", + "M Q", + "r ating", + "j b", + "ĠL ear", + ":: _", + "D U", + "Link s", + "åĵ ģ", + "Ġm ar", + "ab a", + "conn ector", + "l ated", + "Ġb a", + "Ġm ix", + "Ġh ours", + "ĠTrans form", + "\">< ?", + "ĠQ uest", + "ic ing", + "ic io", + "Ġd ummy", + "ĠA mazon", + "get C", + "Add itional", + "h dr", + "P OL", + "l gl", + "= _", + "er as", + "ĠSty le", + "Ġcal c", + "s id", + "per cent", + "La unch", + "D ocker", + "b all", + "Ĩ Ĵ", + "Ġch oice", + "Ġpre pare", + "entic ate", + "Ġ( []", + "Ġkey word", + "ad as", + "ag en", + "Ġprint ln", + "Git Hub", + "Ġpur pose", + "Ġre duce", + "ge ms", + "par agraph", + "Ġon es", + "Back up", + "ToolStrip MenuItem", + "Ñ Ħ", + "ed ges", + "Ŀ ¼", + "", + "ff e", + "d on", + "ç³» 绣", + "P ES", + "D N", + "Ġst ub", + "Ġno except", + "org an", + "Ġ اÙĦ", + "Element Definition", + "Ġwarning s", + "Ġre start", + "íķĺ ëĬĶ", + "t ls", + "P lot", + "о Ñģ", + "S afe", + "Ġlet ter", + "G l", + "dim ension", + "INTER FACE", + "b abel", + "Mod ifier", + "Pre vious", + "SY MBOL", + "Dis abled", + "Ġj Query", + "di ctionary", + "or row", + "L T", + "; ,", + "ĠP e", + "ut ral", + "Ġpar sing", + "Ġen counter", + "i br", + "f act", + "LA UL", + "ĠT uple", + "Re ceive", + "е Ñģ", + "Ġso on", + "De coder", + "ë© ´", + "c id", + "qu ential", + "ı r", + "in formation", + "Get ter", + "Ġe en", + "ĠTrans action", + "M ultiple", + "are n", + "get Key", + "å¯ Ĩ", + "Ġconf lict", + "es cape", + "ĠCon nect", + "L U", + "/* .", + "e z", + "Ġm ag", + "M X", + "at ural", + "j av", + "Ġent ities", + "Ġcon version", + "åĪł éϤ", + "on ed", + "Ġì ĥ", + "Ġgener ation", + "~ /", + "pp ing", + "Ġnot ify", + "clus ive", + "Ġ// !", + "h am", + "ĠRE G", + "auth entication", + "h ar", + "ĠDes ign", + "sig ma", + "èī ²", + "Ġattr s", + "Ġb ash", + "Ġtri m", + "ĠP lay", + "Ġ ../", + "Ex ist", + "Ġexp and", + "a utom", + "ĠCh rome", + "éª Į", + "Ġm u", + "Step Shape", + "Ġt i", + "Ġbl ank", + "remove Class", + "v w", + "inherit doc", + "G V", + "n io", + "Rel ative", + "è¯ Ń", + "T MP", + "į °", + "Ġs om", + "Ñ ĸ", + "Filter s", + "duc es", + "G N", + "ĠR o", + "ç´ ł", + "on line", + "AT URE", + "q s", + "ภŃ", + "Ġqu eries", + "ĠInt ent", + "copy right", + "Ċĉ ĠĠ", + "pop up", + "as p", + "æĪIJ åĬŁ", + "ä¸ ¤", + "é»ĺ 认", + "ĠL E", + "$ ('#", + "Ġn ice", + "AspNet Core", + "ãĥ ¬", + "Ġhe alth", + "C riteria", + "Ġpr act", + "G H", + "S ensor", + "ãĤ ³", + "C fg", + "Pop ulation", + "t ake", + "Ġn ested", + "O rient", + "ìĭ ľ", + "ëı Ħ", + "Ġ& =", + "as ci", + "b readcrumb", + "at able", + "Ġb eta", + "n ers", + "Ġl ua", + "bit r", + "ĠNo thing", + "Ġf p", + "Group Name", + "Ġen coded", + "parse Int", + "coord s", + "Att achment", + ". ')", + "CO RE", + "VER T", + "Ġp ayment", + "M Y", + "G INE", + "Î ±", + "block List", + "F W", + "çĬ¶ æĢģ", + "CONT ENT", + "ë ²", + "rot ation", + "Ġpair s", + "end section", + "ens ors", + "sec ure", + "T yped", + "Ġm iddle", + "Document s", + "ĠC lick", + "ĠW idget", + "Ġman age", + "åħ ·", + "ĠSH A", + "D oxy", + "=\" [", + "çº §", + "elli j", + "com munity", + "an ia", + "ĠA LL", + "ll a", + "De code", + "language s", + "pict ure", + "Ġconsider ed", + "aw esome", + "ï¼ ¯", + "å¤ ©", + "Capt ure", + "Ġview s", + "Ġp ÅĻ", + "Conn ected", + "Fix ture", + "fail ure", + "Ġv k", + "c irc", + "ĠS ort", + "Ġle ave", + "M ount", + "Ġin crement", + "C AP", + "ĠN ON", + "Ġlocal Var", + "ec es", + "ec ause", + "Rad io", + "CF G", + "per missions", + "ÑĤ о", + "ĠB SD", + "Ġcom munity", + "Ġcan cell", + "ĠF inal", + "Ex change", + "op acity", + "at i", + "p ared", + "Ġevalu ation", + "M vc", + "w alk", + "Ġm id", + "å¿ ĥ", + "D er", + "Ġc ut", + "ĠC lose", + "Ġse em", + "Config ure", + "Ġfl at", + "Ġdistribut e", + "} -", + "RE EN", + "b ench", + ") },", + "riter ion", + "Vert ical", + "Ġm x", + "ĠE D", + "class List", + "ĠRes erved", + "out er", + "Ġsend ing", + "S PI", + "Z W", + "ĠM aterial", + "employ ee", + "Ġ( @", + "Comp letion", + "ĠP osition", + "Ġal i", + "Ġpar allel", + "Ab out", + "log ies", + "Un iform", + "sort ed", + "åŃŠ符", + "j oint", + "out line", + "è¯ ¢", + "Ġt t", + "Match er", + "D ays", + "ver ity", + "UM N", + "fin ite", + "ĠO peration", + "Art ifact", + "? (", + "Code s", + "dis miss", + "ĠÑ į", + "p le", + "get Time", + "bo k", + "se to", + ". ');", + "mo ji", + "Ġh ook", + "ĠExpect ed", + "u z", + "de leted", + "vide os", + ">> >", + "') [", + "Ġc as", + "Ġf riend", + "Ġ?> \"", + "S ig", + "cover ed", + "í Ļ", + "Ġ) );", + "ĠA tom", + "ĠW ait", + "xf b", + "types cript", + "IC ES", + "fl ux", + ":: __", + "oc used", + "}{ \\", + "ĠM eta", + "pol l", + "Ġindic ates", + "F K", + "G UID", + "W H", + "IT LE", + "ĠS ince", + "Ġtyp ing", + "L ow", + "Ġb oot", + "ev t", + "Ġp an", + "un def", + "es p", + "ĠHel lo", + "ament e", + "ĠT ensor", + "W ITH", + "(\" ./", + "Ġder ived", + "b anner", + "Ġp ulumi", + "Ġa way", + "ent a", + "d type", + "ĠâĢ Ķ", + "ĠW indow", + "Ġvol atile", + "Un able", + "и н", + "ov ed", + "๠ī", + "c umulative", + "P riv", + "ĠC ase", + "Ġh our", + "ãģĹãģ Ł", + "cont rib", + "AL IST", + "Ġ ĊĊ", + "B M", + "ancell ationToken", + "View s", + "ĠD on", + "Ġarg c", + "Ġ% >", + "] \"", + "Ġbutton s", + "Var s", + "widget s", + "S F", + ". **", + "ĠT w", + "ĠD ES", + "ph ase", + "Ġed ges", + "l ator", + "Ab solute", + "Ġm ultip", + "Ġd ark", + "Ġv irt", + "Ġreg arding", + "Ġxml ns", + "ertific ates", + "A IM", + "Ġarray s", + "Ġp p", + "C SS", + "Li ke", + "Ph oto", + "éĹ® é¢ĺ", + "Ġ= ================================================================", + "is er", + "ĠF unc", + "resp onsive", + "leme try", + "Man ifest", + "we ak", + "Enumer ator", + "Ġ\", \",", + "Ġres olution", + "M igration", + "ãģ ı", + "Warning s", + "Ex press", + "mal ink", + "ĠVer ify", + "ĠOff set", + "Ġf our", + "Ġin crease", + "re gist", + "Ġt d", + "» åĬł", + "me asure", + "Deploy ment", + "an im", + "TRAN S", + "Ġorg anization", + "re cv", + "un used", + "Ġfull y", + "Ġeas ier", + "il led", + "p ause", + "I o", + "resh ape", + "str cmp", + "æŃ ¥", + "w ind", + "s ites", + "Ĥ ĺ", + "')) .", + "Ġex tern", + "C ulture", + "C urrency", + "Ġstr ong", + "f ect", + "Ġre act", + "ĠF uture", + "Cur ve", + "el if", + "ĠDO M", + "w b", + "Ġse d", + "------------ ---", + "RE AM", + "Ġrel ationship", + "ç´ ¢", + "ĠNOT E", + "âĶĢâĶĢâĶĢâĶĢ âĶĢâĶĢâĶĢâĶĢ", + "KNO WN", + "b id", + "h int", + "in crement", + "un a", + "Ġan s", + "ĠCl uster", + "Ġparse Int", + "al gorithm", + "to oth", + "å¹ ³", + "C ircle", + "un nel", + ") <", + "d up", + "W allet", + "'] :", + "ob s", + "ĠS ample", + "ab bit", + "๠Ī", + "ĠIllegal ArgumentException", + "Ġhe t", + "ĠEX ISTS", + "ìĬ µ", + "ĠCont act", + "q p", + "( |", + "V IS", + "I ES", + "PRO JECT", + "Track er", + "åĪĹ è¡¨", + "al ways", + "оР·", + "CON SP", + "ER Y", + "ë °", + "brid ge", + "st roke", + "ide d", + "{ '", + "as sed", + "MA IL", + "å ĥ", + "\" =>", + "layout s", + "Ġthrow n", + "{ -", + "åĪ «", + "èµ ·", + "Pl us", + "g ate", + "l ations", + "Ġ ess", + "ok u", + "m ust", + "od d", + "s lf", + "ĠB G", + "B ank", + "Render ing", + "im ize", + "ym m", + "De vices", + "ĉĉĉĉ ĉĉ", + "inst ances", + "L inux", + "ĠCon s", + "BE GIN", + "ĠS olution", + "add itional", + "åĪ Ŀ", + "ÑĢ Ñĥ", + "Ġr t", + "pro duction", + "th ree", + "ìľ¼ ë¡ľ", + "= \\", + "G PIO", + "de velopment", + "') {", + "Ġm m", + "ä¾ Ľ", + "F ast", + "int ellij", + "Ġin ject", + "éĤ £", + "Ġm ind", + "Ġdis claimer", + "R ank", + "åij ĺ", + "grad le", + "Own Property", + "SCRIP T", + "Ġd x", + "` ),", + "M ARK", + "R pc", + "Ġconnection s", + "Pri mitive", + "ĠDocument ation", + "Ġelse if", + "get User", + "list en", + "Part ial", + "CL K", + "ient o", + "Ġhigh er", + "ate ly", + "æĽ´ æĸ°", + "al so", + "ĠF ailed", + "Ġо б", + "Ph ase", + "f ade", + "U V", + "R A", + "Ġdef in", + "éĢ ģ", + "d ns", + ". (*", + "AL IGN", + "get Item", + "Per cent", + "am an", + "Module s", + "post gres", + "Tab Index", + "ÑģÑĤ в", + "Ġ/ .", + "Ġqu ite", + "Ġlink ed", + "P F", + "Ġ** [", + "ĠCON FIG", + "COMM AND", + "ĠM atch", + "book s", + "Exp and", + "host name", + "ภģ", + "card s", + "ĠPar ser", + "Ġgo al", + "et ime", + "man aged", + "Ġ{} \",", + "at ype", + "ĠI E", + "Ġge o", + "Comp lex", + "Ġperson al", + "S i", + "Ġof ten", + "Le g", + "I CT", + "ativ o", + "w allet", + "EX P", + "Over lay", + "Ġeas ily", + "art ist", + "soft ware", + "C ent", + "âĶ Ĥ", + "Ġn avig", + "Log ic", + "ip pe", + "ĠS ql", + "Ġc lip", + "d to", + "ip v", + "Ġf ade", + "IC K", + "P aint", + "ĠC UR", + "E m", + "ens us", + "Inter faces", + "Ġë ª", + "Ġ( /", + "img ur", + "red ux", + "lin eno", + "thumb nail", + "| \\", + "åı Ĭ", + "Ġ' '),", + "ĠS top", + "ir y", + "ĠLe ft", + "f v", + "Comp any", + "æĺ ¾", + "TYPE DEF", + "ç¡ ®", + "ho od", + "ä¿® æĶ¹", + "PROPER TY", + "ge om", + "vert ices", + "b m", + "Sl ider", + "Ġ roll", + "Part s", + "åĨħ 容", + "D WORD", + "g uid", + "mark et", + "uf act", + "me ter", + "Ġes lint", + "h ooks", + "Ġocc urred", + "get Current", + "std io", + "ĠD est", + "plan ation", + "S ur", + "v nd", + "Ġ} .", + "Rel ation", + "ADD RESS", + "al bum", + "INCL UDING", + "if rame", + "ãģ £", + "DE SC", + "ann ed", + "ph ere", + "Code Attribute", + "íķ ł", + "F ault", + "Ġm ajor", + "Ġset Timeout", + "SD L", + "i w", + "t id", + "Re try", + "Ġn or", + "') ]", + "A ge", + "Ġext end", + "read only", + "n ÃŃ", + "f m", + "å®ļ ä¹ī", + "T CP", + "p v", + "æ Ł", + "Ġi i", + "ĠV ol", + "DI F", + "? ;", + "Key board", + "LOB AL", + "Ġu id", + "Ġch anging", + "Comp ute", + "vis or", + "å½ĵ åīį", + "Ġ\" \\\"", + "ĠS ingle", + "Gu ard", + "Ġwer den", + "A nt", + "Instance State", + "ĠS PE", + "æī ĵ", + "Ġatt ach", + "ir med", + "Ġconst ants", + "Ġcell s", + "( ?", + "Man aged", + "Ref lection", + "wik ipedia", + "e per", + "ĠLo ader", + "èµ Ħ", + "go ing", + "Ġne ar", + "Ġ{ ...", + "ĠP rivate", + "am i", + "ac l", + "о ÑģÑĤ", + "Ġin struction", + "S uc", + "ctr ine", + "p aper", + "py test", + "Ġex perience", + "us uario", + "Ġident ify", + "In ventory", + "æķ ´", + "Ġc urrency", + "proto c", + "Fl at", + "ĠO per", + "k ota", + "ĠF low", + "s uffix", + "Def ined", + "Spr ing", + "Ġequal s", + "ог о", + "S N", + "ĠA tt", + "St mt", + "Ġdep ends", + "ĠM o", + "Ġt ill", + "å¾ Ī", + "ĠIn clude", + "ĠRE ST", + "GEN ER", + "ĠT erm", + "sem antic", + "ĠIn fo", + "Ġv ers", + "Off ice", + "Ġt alk", + "ĠS l", + "Ġart ifact", + "target s", + "Or Empty", + "an alytics", + "ci ence", + "comp ress", + "b az", + "be an", + "ĠS ymbol", + "v et", + "INST ANCE", + "V P", + ": ',", + "ACC ESS", + "[ ^", + "j dk", + "æ »", + "an ches", + "Ġg lob", + "k ube", + "Ġclient s", + "Ġp ure", + "D ROP", + "k v", + "is ing", + "to c", + "ĠM T", + "lap sed", + "Sm all", + "Indic ator", + "а Ñģ", + "Ġcon sumer", + "load s", + "w ater", + "Ġв Ñĭ", + "( <", + "c g", + "Ġinc orrect", + "Ġe mp", + "e quiv", + "acion es", + "= ',", + "tr ait", + "Ġpre cision", + "ĠQ String", + "i ot", + "Ġr atio", + "ail ing", + "oh n", + "ĠX ml", + "; \"><", + "pect or", + "Ġ Ċĉĉĉ", + "ĠN on", + "b ing", + "Ġp id", + "ĠS W", + "FUN C", + "Ġmat plotlib", + "ac ement", + "V o", + "Ġap lic", + "Com ments", + "man ual", + "View er", + "' ><", + "T ax", + "ì ĥ", + "Ġst ride", + "SY S", + "TR A", + "Ar row", + "ì ²", + "ĠT ab", + "={ '", + "Ġp aper", + "ick y", + "åķ Ĩ", + "or al", + "con cept", + "Ġm igrations", + "Implement ed", + "bet ween", + "up dates", + "ĠB us", + "ex ist", + "ĠST AT", + "Ġan im", + "j k", + "а ÑĢ", + "Ġstd out", + "è°ĥ ç͍", + "p romise", + "Ġl ife", + "Ġ& [", + "s urface", + "éĿ ŀ", + "ri al", + "n ombre", + "=\" ./", + "W ill", + "ĠN G", + "Ġf f", + "ĠB ug", + "Ġrelease d", + "P i", + "ific ant", + "d os", + "C AL", + "TI M", + "| ,", + "Ġs printf", + "Ġresp ons", + "Byte Array", + "% ,", + "C U", + "gre es", + "Ġcl aim", + "} (", + "q t", + "Ġn ão", + "om ial", + "Ġ** /", + "m ultiple", + "Display Name", + "A udit", + "Ġloc ally", + "A INT", + "Ġcontrol s", + "A w", + "ĠP assword", + "( ',", + "uss ian", + "H i", + "ĠL ess", + "ĠTr ack", + "åİ »", + "d g", + "f re", + "w est", + "={ ()", + "æł ¹", + "J ust", + "Ġcon tr", + "Ġb log", + "ĠM P", + "li x", + "Ass ignment", + "Ġbus iness", + "ig u", + "apt ic", + "K B", + "ĠDep end", + "se p", + "encode d", + "Dis able", + "éģ ĵ", + "LE ASE", + "ãĤ¤ ãĥ³", + "s ensor", + "cam atan", + ";;;; ;;;;", + ". {", + "(' -", + "Ġp g", + "Ġnull able", + "Cre ation", + "x cc", + "rel ation", + "F IN", + "shot s", + " ·", + "=\" ,", + "ĠL ook", + "ites pace", + "msg s", + "b ib", + "ĠC ould", + "m ak", + "ĠU SB", + "Ġus ize", + "c redentials", + "Ġon line", + "ен ÑĤ", + "co v", + "deploy ment", + "z t", + "qu id", + "ĠM ore", + "IC AL", + "O G", + "ĠS uccess", + ")) ]", + "d ater", + "ent ly", + "se parator", + "feed back", + "$ /", + "Get Value", + "ĠTe am", + "Serial izable", + "Ġp andas", + "BY TE", + "g ulp", + "log out", + "Ġd ados", + "ĠC lo", + "Ġre striction", + "è¿ ŀ", + "Ġcoord inate", + "Ġtip o", + "x fa", + "Ġm iddleware", + "with out", + "å®ŀ çݰ", + "Number Of", + "| :", + "iv ery", + "e ction", + "ST AMP", + "C OR", + "U nt", + "(' --", + "} ).", + "ri ends", + "ke camatan", + "Ġcode s", + "He ap", + "ó w", + "ĠGener ic", + "=\" $", + "ient e", + "\\ ,", + "ĠS DL", + "Definition s", + "Ġr é", + "ĠType Error", + "Trans lation", + "ĠVAL IGN", + "Ġrepresent ing", + "ĠN UM", + "Ġup on", + "ç¨ĭ åºı", + "word press", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġde precated", + "Pred icate", + "> . *", + "Ġdol or", + "Ġe ase", + "box es", + "in ventory", + "Al so", + "Ġn b", + "fix ture", + "\") ),", + ")? ;", + "ĠF L", + "normal ize", + "ĠU tf", + "Ġlog ged", + "Ġsw ap", + "å±ŀ æĢ§", + "block quote", + "pre di", + "µ ¬", + "æµ ģ", + "Ġmaterial s", + "Ġs af", + "Rect angle", + "St amp", + "Ġip sum", + "Ġnum s", + "ĠI Enumerable", + "<< <<", + "Ġs on", + "Al t", + "ç µ", + "CK ET", + "è Ļ", + "Ġh r", + "as ons", + "ĠCon struct", + "ени е", + "P ad", + "ĠS em", + "b untu", + "\". $", + "distribut e", + "! ().", + "å°± æĺ¯", + "Ġ ĊĠĠĠĠĠĠĠĠ", + "Ġp ow", + "Ġgo es", + "Un lock", + "avor ite", + "b j", + "lo quent", + "Opt s", + "t ures", + "åĨ į", + "w y", + "Ġro unded", + "M icro", + "Ġcon straint", + "> -", + "Un its", + "Ġt ax", + "Ġpers ons", + "ĠN ative", + "ac ao", + "v d", + "std lib", + "ĠMod ified", + "bitr ary", + ") \">", + "v n", + "ass oci", + "åı °", + "Cap acity", + "Ġsk learn", + "Ġdim ensions", + "ĠMan agement", + "s at", + "] ])", + "ion i", + "åIJį ç§°", + "re name", + "IL L", + "Ġstr len", + "Ġclean up", + "Ġscal ar", + "x er", + "ma jor", + "ON Y", + "C WE", + "ber n", + "V K", + "Ġrecomm end", + "om as", + "decor ation", + "Ġme chan", + "Ġz oom", + "( .", + "í ĸ", + "ĠSym fony", + "ativ ely", + "FFFF FF", + "re ceive", + "per m", + "Ð Ł", + "ĠSh ared", + "el t", + "ck s", + "ĠV K", + "ST REAM", + "sw agger", + "M F", + "Code c", + "н и", + "Ġsc enario", + "Rel ationship", + "st ride", + "é e", + "Ġtrans lation", + "Ġjob s", + "ĠCor poration", + "P B", + "Ġ --------------------------------", + "Ġdefinition s", + "SP ACE", + "Ġpro cesses", + "red ito", + "TR ACE", + "ind ic", + "Ġ\"/ \"", + "F ake", + "Meta Data", + "limit er", + "o ct", + "Ġk ö", + "FO UND", + "Ġd y", + "Ġopen ed", + "Ġ' [", + "ĠInter face", + "Ġe ine", + "be am", + "in tr", + "Ġt ail", + "dev ices", + "de m", + ", :", + "í ĺ", + "Ġo c", + "unc ated", + "Ċĉĉĉ ĠĠĠ", + "åIJ «", + "l ify", + "ĠM is", + "ith y", + "Ġw s", + "bl k", + "FR AME", + "char ge", + "Mut ex", + "****** /", + "Ġc ó", + "El se", + "tensor flow", + "eng er", + "ra ise", + "Ġactiv ation", + "é ¦", + "Ġvert ices", + "g allery", + "l ig", + "x ef", + "pro mpt", + "xb f", + "Ġre search", + "cip ient", + "A UTO", + "ĠG PIO", + "M AT", + "Ġpe g", + "åĿ Ģ", + "key board", + "ãĥ¼ãĤ ¿", + "ann o", + "Ġman ual", + "ĠBO OL", + "in et", + "Ġre dis", + "Ġlo mbok", + "ĠUtil s", + "and atory", + "è¥ ¿", + "Get String", + "pag ination", + "ĠD irect", + "Ġhard ware", + "Ġpass ing", + "M aybe", + "ro zen", + "ĠA ng", + "Ġl and", + "sched uler", + "Ġa u", + "hl js", + "Ġs uite", + "è¾ĵ åħ¥", + "Ġunder lying", + "\")) );", + "h c", + "Ġw allet", + "Bus iness", + "ighb ors", + "( ::", + "D r", + "Ġ( __", + "L ess", + "Ġc ps", + "ĠB OO", + "/ ).", + "Ġv ous", + "ĠF UN", + "D UCT", + "Ġimmediate ly", + "[ @", + "Ġup dating", + "g lob", + "=\"", + ") \");", + "AP H", + "now ledge", + "cl uding", + "et ur", + "åIJ ¯", + "ĠW in", + "Ġì ĺ", + "Ġ ur", + "RE ST", + "att achment", + "Ġcon straints", + "Sample s", + "ãĥ ¡", + "ĠRuntime Exception", + "FIL TER", + "t u", + "Ġposs ib", + "Ind ices", + "lic h", + "ĠLi brary", + "Ġa met", + "un i", + "Util ities", + "Ġevalu ate", + "èĬĤ çĤ¹", + "à ¸", + "ĠP ATH", + "ĠT ypes", + "ĠCON NECTION", + "å® ¢", + "ĠA udio", + "ĠT EXT", + "Ġ$ ('", + "Bag Constraints", + "N P", + "Ġw ater", + "ĠP attern", + "f h", + "re vision", + "RAN GE", + "Ġexplicit ly", + "Arc cosX", + "t ower", + "ĠM S", + "ĠAPI s", + "Ġlearned at", + "++ ]", + "Ġvalid ator", + "Frame s", + "æ £", + "Ġdef er", + ", '", + "rig gers", + "loc ations", + "Ġf requency", + "tr aits", + "map per", + ". &", + "å¸ ĥ", + "âĸĪâĸĪ âĸĪâĸĪ", + "c z", + "Ġro les", + "n es", + "ĠAct ivity", + "p rom", + "B ridge", + "end en", + "H ide", + "ĠE C", + "Stat istics", + "vis ibility", + "Ġex c", + "hand off", + "Ind ent", + "ä¸ ²", + "am in", + "**** *", + "limit s", + "B AR", + "s ales", + "è¯ ¯", + "Ġ ĊĠĠĠĠĠĠĠĠĠ", + "o ss", + "Ġp ode", + "es lint", + "Ġw alk", + "h its", + "Ġus ually", + "p on", + "cont rollers", + "ĠW ill", + "sw ers", + "Ġ ----------", + "Ġr w", + "for um", + "ĠText ure", + "B IND", + "S ol", + "ĠA utom", + "\\\" \\", + "> \");", + "st ory", + "e le", + "Ġde ad", + "Ph ysical", + "if etime", + "ãĤ µ", + "à µ", + "ľ âĶĢâĶĢ", + "MO VE", + "ĠMet adata", + "ĠF ull", + ", _", + "Ġp ipe", + "Ġtr ansparent", + "Ġsubst ant", + "Ġhere by", + "ãĥ ¥", + "Fin ish", + "l ace", + "Ġl d", + "Ġt ar", + "Ġ* ************************************************************************", + "Ġfor k", + "äº §", + "B ro", + "V enta", + "git commit", + "ORM AL", + "server s", + "st ation", + "le et", + "ĠCOMM ENT", + "S ch", + "ro tt", + "if ference", + "P icture", + "Ġper formed", + "IMP ORT", + "Re gist", + "re try", + "id ence", + "let ing", + "we i", + "Ġwant ed", + "Ġw ays", + "Ġre ceiver", + "ĠDet ails", + "аР·", + "Z ip", + "Ġo d", + "ĠD NS", + "ir ing", + "Ġwork space", + "VO ID", + "al a", + "ĠN ormal", + "Ġs cheduler", + "De leted", + "Ġinitial ization", + "work ing", + "open locfile", + "source gitcommit", + "openlocfile hash", + "to Have", + "ri a", + "Th umb", + "... \"", + "to k", + "Ġtemp erature", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "q r", + "Ġx y", + "ĠP ER", + "Word s", + "Ġc mp", + "im o", + "Ġrender ing", + ", &", + "Ġse ss", + "Check Box", + "f riend", + "Ġarch ive", + "ĠRem ote", + "Ġserver s", + "it ed", + "* }", + "ING E", + "client s", + "aptic Population", + "tp l", + "Ġab ility", + "track er", + "F oo", + "Ġt ro", + "ĠUp dated", + "Con struct", + "fore ign", + "Ġ èİ·åıĸ", + "R x", + "è´ ¥", + "x de", + "`, `", + "g zip", + "ĠI ssue", + "last handoff", + "C losed", + "Ġcollection s", + "} \");", + "sche me", + "S olution", + "is a", + "ĠSe ction", + "ë Ŀ¼", + "аР¿", + "R B", + "Ġtech n", + "se quent", + "th ere", + "Ġ'/ '", + "Ġas sets", + "Ġmov ed", + ": =", + "ar ations", + "Or Default", + "================================ ================", + "[ \\", + "č ĊĠĠĠĠĠĠĠĠĠĠ", + "ag o", + "IN FR", + "x z", + "H z", + "Ġhandle s", + "In to", + "ag a", + "ay a", + "content locale", + "Ġcons ult", + "ĠCONTRIBUT ORS", + "ĠCon f", + "L ite", + "T urn", + "ig hest", + "ë ¶", + "ĠV irtual", + "Ġ ht", + "ç ¦", + "ĠM achine", + "Te ch", + "ĠF ace", + "Ġown ership", + "row n", + "ĠV ER", + "Ġl azy", + "Ġbegin ning", + "Ġd amage", + "c ite", + "Ġr v", + "© ëĭĪëĭ¤", + "Ġh i", + "cl aim", + "ç§ »", + "AD ER", + "LI MIT", + "ĠY ii", + "ust ed", + "Ù ģ", + "Ġ! (", + "U C", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "STR AINT", + "Ġstr ategy", + "up on", + "Ġ[ **", + "(\" --", + "TH READ", + "h aps", + "ĠD ialog", + "Ġwh ose", + "evalu ate", + "ĠRe st", + "ynam ics", + "! \",", + "Ġ\" ]", + "Ċĉĉĉĉ Ċĉĉĉ", + "N ER", + "($ \"", + "an de", + "up iter", + "re pr", + "ĠR ule", + "ro pped", + "Ġbel ieve", + "L ex", + "ĠIN C", + "![ ](", + "Ġo ps", + "cl usion", + "G ood", + "Ġê° Ģ", + "d rive", + "Input s", + "Ġper cent", + "ed a", + "Par allel", + "ĠS M", + "ĠÑģ ÑĤ", + "Y X", + "ĊĠĠĠĠ ĊĠĠĠĠĠĠĠ", + "B AD", + "๠Ģ", + "Ġk B", + "qual ity", + "ĠO rg", + "an ie", + "et o", + "Ġclo sing", + "Ġ ÑĢаÐ", + "Ġn x", + "get Default", + "g ender", + "Î ½", + "ul ia", + "Ġe quivalent", + "artifact Id", + "I ss", + "Ġhand led", + "re cognized", + "L ab", + "u y", + "(( *", + "ìĬµ ëĭĪëĭ¤", + "In itialized", + "ret val", + "Ġport ions", + "P t", + "ĠAL IGN", + "ht docs", + "level s", + "Ġto do", + "Pl ane", + "S ince", + "Ġre peat", + "Ġth umb", + "v in", + "éĶ ®", + "Ġb old", + "az e", + "ĠRun ning", + "C redential", + "ad just", + "H idden", + "m alloc", + "Ġret ain", + "Ġfont Size", + "IN TEGER", + "De c", + "report s", + "P unto", + "T ITLE", + "ì Ĩ", + "mit ted", + "lap se", + "L aw", + "Ġv el", + "ĠPro b", + "Inv ocation", + "C ategories", + "ot ing", + "b ur", + "Comp ile", + "AAAA AAAA", + "are st", + "Ġocc ur", + "Ġpot ential", + "R ay", + "Y PT", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "lo od", + "æĮ ī", + "Ġsupp lied", + "ç Ī", + "ot s", + "ĠSh ort", + "Ġcap acity", + "WE B", + "Dis pose", + "Arch ive", + "s cores", + "Ġass ignment", + "amazon aws", + "> ?", + "Base ldytsch", + "C orre", + "t age", + "M OT", + "ĠO pt", + "×ķ ×", + "R ating", + "In crement", + "ĠM PI", + "Ġ ].", + "ist a", + "os h", + "do es", + "ab et", + "/ (", + "re pos", + "ch apter", + "INGE MENT", + "\">& #", + "AT IVE", + "f aster", + "Ġcomp iled", + "al one", + "Ch o", + "R aise", + "ist ed", + "ched ul", + "re main", + "Ġ' *", + "Ġu k", + "и в", + "j q", + "call s", + "Ġj ump", + "col Last", + "Ġt m", + "il ities", + ":: ~", + "Inter ceptor", + "e h", + "ĠA C", + "w m", + "Ñ Ĭ", + "oc r", + "mar shall", + "if o", + "Ġput s", + "ĠA li", + "ìĿ ¼", + "Ġas sembly", + "Ch oice", + "ng inx", + "ar ia", + "ac o", + "ê² Į", + "Y G", + "re nd", + "Ġì §", + "ï¸ ı", + "ç Ŀ", + "ĠI o", + "File System", + "Ġf amily", + "CHAN GE", + "up grade", + "atern ion", + "RE SET", + "rec ip", + "å¢ ŀ", + "Ġde tection", + "aj e", + "ĠBl ue", + "Ġpro duce", + "do jo", + "Ġw ird", + "rg ba", + "cap acity", + "Ġwire Type", + "DI V", + "pro viders", + "cl ine", + "ĊĊ ĊĊĊ", + "ภ±", + "Ġcontribut or", + "Ġ\\ '", + "BO O", + "WIN DO", + "D W", + "Ø ¨", + "US H", + "Ġf re", + "ĠÑ Ħ", + "èĢ ĥ", + "Spec ification", + "A Q", + "Ġw y", + "g ap", + "ĠNot es", + "ĠM erge", + "E moji", + "b z", + "c ing", + "start sWith", + "ĠJ o", + "çİ ¯", + "Ġc i", + "Ġexec utor", + "get All", + "| :-", + "ĠK ubernetes", + "Ignore Case", + "H o", + "Ġsp aces", + "xb c", + "View Controller", + "ĠEn try", + "CUR RENT", + "inter est", + "Emit ter", + "Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġal ter", + "pre dic", + "e quation", + "open api", + "Ġobt aining", + "ĠLine ar", + "ĠR ole", + "V i", + "ĠP ut", + "ĠIn ternet", + "ĠV S", + "g amma", + "Ġser ve", + "ภĩ", + "c orre", + "g m", + "BO X", + "Ġmk dir", + "op enc", + "ĠG PU", + "\" <", + "FFFF FFFF", + "CONT EXT", + "+- +-", + "xe a", + "Ø ³", + "con verter", + "ĠS ite", + "Ġì ľ", + "; \",", + "av ity", + "(\" \",", + "ĠDep loy", + "Ġbuild s", + "ĠV k", + "temp t", + "require s", + "S ym", + "t icket", + "Ġext ended", + "v im", + "ak a", + "da o", + "Ġev t", + "anti ate", + "WR AP", + "M ixin", + "Z ERO", + "Ġbe haviour", + "ect l", + "Orient ation", + "' >( }", + "ĠW R", + "bu d", + "D en", + "er min", + "ư á»", + "uc ation", + ": [", + "iffer ent", + "ump tion", + "åij½ 令", + "th rift", + "ne utral", + "Ġauthor s", + "oper ations", + "Rout es", + "V B", + "Ċĉĉĉ Ġ", + "Ġax ios", + "Ġcop ied", + ":: <", + "> @", + "alloc ator", + "Ġde mon", + "STAT IC", + "Per formance", + "Ġcompat ibility", + "Ċ ĊĠĠĠĠĠĠ", + "ĠW IDTH", + "ĠCON T", + "' #", + "čĊč ĊĠĠĠĠĠ", + "Ġcomp arison", + ") ])", + "f printf", + "æĬ ¥", + "con c", + "( --", + "ç Ł", + "ĠS ocket", + "C MAKE", + "S ales", + "Ġshow ing", + "ãĥ¼ ãĥĪ", + "S IG", + "Ġs f", + "built in", + "R obot", + "Ġport s", + "B log", + "assert False", + "Ġar m", + "ĠAp ply", + "Te le", + "ĠCustom er", + "à ¦", + "re y", + "Ġs ublic", + "Ġcom munication", + "Num bers", + "er ical", + "hard ware", + "de coder", + "IS O", + "L R", + "Ex tended", + "ret ch", + "G reen", + "Ġtrans actions", + "Ġcr ash", + "Ġst udy", + "DO C", + "h ance", + "Ġm g", + "ĠNON INFRINGEMENT", + "G PU", + "/ ><", + "ĠE m", + "ÑĢ Ð¾Ð²", + "ĠP L", + "çīĪ æľ¬", + "Unt il", + "Ġsublic ense", + "C orrect", + "TIME STAMP", + "Ġst ri", + "ĠB ootstrap", + "ĠCal culate", + "Ġlist en", + "ber g", + "EX PECT", + "Ġmin or", + "Sim ulation", + "íķľ ëĭ¤", + "ãĥĹ ãĥŃ", + "\" '", + "Y O", + "ĠE mpty", + "right ness", + "Do es", + "H ours", + "Re store", + "åį Ĺ", + "ĠG R", + "ed er", + "C b", + "ms dn", + "Rel ated", + "Ġdirect ories", + "C ACHE", + "as se", + "Ġin vol", + "Re v", + "v ault", + "ĠM ongo", + "ĠSp an", + "ĠG uid", + "Ġt ot", + "j it", + "sh ake", + "it t", + "Ġpl ain", + "? > >(", + "Ġagre ements", + "Ġrefer enced", + "N u", + "Ġ( **", + "ĠO PT", + "Ġ íķĺ", + "Ġcount s", + "Ġres ize", + "T LS", + "q ty", + "\"> .", + "ä¸ Ķ", + "sub title", + "Mut ation", + "Ġed u", + "Ġbackground Color", + "ĠV R", + "Ġun expected", + "Feed back", + "Associ ation", + "P ref", + "Ġe ps", + "n ested", + "sp arse", + "Ġn d", + ":: :", + "sp here", + "(\" ../", + "` ).", + "Link ed", + "Ġp iece", + "ĠGener ator", + "De precated", + "ĠEx pr", + "Ġsc r", + "Ġun icode", + "vid ence", + "V y", + "ad oc", + "Ġfloat ing", + "Collect or", + "Ġw p", + "Ġd ire", + "å· ±", + "get Int", + "Double s", + "Class ifier", + "serv ations", + "VAR I", + "un pack", + "ìļ °", + "Ġcancell ationToken", + "m oney", + "ãĥ ŀ", + "Part y", + "C nt", + "Ġy ii", + "IB LE", + "ä»Ģ ä¹Ī", + "else if", + "ME DI", + "bar s", + "fl u", + "ĊĊ ĊĠĠĠĠĠĠĠĠĠĠĠ", + "ãĥ ĸ", + "Ġare n", + "CHAN NEL", + "N R", + "Ø ¹", + "Ġ ãĤĴ", + "Ù Ĥ", + "Public Key", + "agr ant", + "am os", + "el d", + "Ġsent ence", + "H y", + "Tree Node", + "Ġdemon str", + "D ump", + "] ()", + "is Array", + "Ġn ome", + "ab ling", + "\\\", \\", + "//////////////////////////////////////////////////////////////// ////////", + "Ġ' &", + "Ġh w", + "Ġpro jection", + "ĠW rit", + "ãĢĤ #", + "null ptr", + "ĠPower Shell", + "Ġaltern ative", + "ĠP rep", + "èģ Ķ", + "Ġp en", + "mock ito", + "Ġdi ag", + "Ġc oin", + "un ity", + "Or d", + "Ġ ç", + "user data", + "tri p", + "缮 å½ķ", + ") \";", + "X P", + "\"] [", + "ĠEns ure", + "att ack", + "Ġspr ite", + "O i", + "f hir", + "id u", + "upy ter", + "JSON Object", + "S Z", + "com merce", + "Ġtrack ing", + "Hand lers", + "writ ten", + "Loc ations", + "Ġte le", + "l il", + "Un ityEngine", + "á rio", + "tern ational", + "Ġend s", + "Temp lates", + "Account s", + "C AT", + "Ġoperator s", + "Qual ity", + "Ġg p", + "Ġen coder", + "inf os", + "Ġcor ner", + "ĠF etch", + "x aa", + "inter p", + "A wait", + "B ootstrap", + "r ar", + "| `", + "CON TRIBUT", + "ż y", + "an imate", + "Ġ' (", + "Call ing", + "asset id", + "us hed", + "Ġe qu", + "jet brains", + "Ġc atalog", + "ĠSum mary", + "res olution", + "ĠTest ing", + "ĠĠĠĠĠĠĠĠ ĠĊ", + "ERR UP", + "ĠCurrent ly", + "SPE C", + "c wd", + "ĠC SV", + "ĠF actory", + "ĠPro gress", + "ঠ¨", + "\\ <", + "n od", + "em ale", + "Ġb ias", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġbit map", + "Ġ iv", + "DIS ABLE", + "char At", + "ĠDe velopment", + "li me", + "Opt im", + "dir s", + "Ġb ootstrap", + "cur ve", + "A ws", + "N L", + "c ps", + "ifi able", + "ĠM ust", + "ĠÐ Ł", + "Start ing", + "H ASH", + "U K", + "e very", + "re ceived", + "Type Id", + "TY PES", + "ĠApp le", + "Ġp ou", + "ĠC EL", + "o e", + "ĠT ools", + "not ifications", + "ĠPro xy", + "åł´ åIJĪ", + "S py", + "Up dates", + "- \\", + "Ġve locity", + "HO W", + "N ORMAL", + "Date Format", + "è¿ŀ æİ¥", + "ĠPar a", + ":%.* ]]", + "Ġun used", + "Ġp m", + "Ġ{ -", + "Ġto ok", + "Ġre member", + "ĠB atch", + "res olved", + "Person al", + "bu ffers", + "LE AN", + "_ \"", + "ĠProto col", + "Refer ences", + "Ġh older", + "Ġcause s", + "../../ ../", + "serial ized", + "Ġalloc ated", + "ĠVert ex", + "w heel", + "Ġre ach", + "ĠNot Implemented", + "sprint f", + "Ċĉĉ Ċ", + "S al", + "vo y", + "tool bar", + "èĩª å·±", + "h ib", + "res olver", + "M ass", + "er d", + "Ġs pect", + "Ġst able", + "__ );", + "Ġrun ner", + "A verage", + "ĠC RE", + "ĠE qual", + "filter ed", + "UT C", + "R W", + "not ice", + "mong odb", + "GR AM", + "display Name", + "ĠH RESULT", + "MEM ORY", + "sp awn", + "âĢ ¢", + "part ner", + "Ġmov ie", + "k al", + "St e", + "ãĥ³ ãĥĪ", + "ker as", + "bas ename", + "Pro jection", + "ST OP", + "member NameLink", + "ãģĵ ãģ®", + "f requency", + "Ġp ref", + "Request Mapping", + "Ġë ĮĢ", + "Ġqu antity", + "ĠREQ UIRE", + "ĠC S", + "ĠL P", + "Http Response", + "pattern s", + "pro vide", + "L ua", + "Sign ed", + "G ap", + "m box", + "** /", + "Ġwork around", + "v an", + "ĠPro vider", + "а еÑĤ", + "R AM", + "Ġ{ !!", + "Ġfil led", + "Coll ision", + "ĠEL SE", + "p urchase", + "ap id", + "av y", + "fe cha", + "Code Dom", + "Ġconn ector", + "m usic", + "lic ity", + "Vert ices", + "x df", + "ag ue", + "Non User", + "sch ool", + "F ULL", + "ĠM L", + "/ \\/", + "x i", + "config s", + "ro uting", + "Per formed", + "] },", + "T icket", + "Gu ide", + "P URE", + "Ġc x", + "find One", + "Ġhel ps", + "sv c", + "ĠSw itch", + "Ġde signed", + "pro f", + "ĠÐ µ", + "Ġuse Effect", + "è Ń", + "Ġp k", + "T mp", + "ol t", + "ä¸į èĥ½", + "ĉ Ċ", + "Ċĉĉ ĠĠ", + "Debugger NonUser", + "ภ¥", + "al tern", + "pl aces", + "k es", + "Ġ/// <", + "DO UBLE", + "ĊĠ Ċ", + "Ġal le", + "æķ° ç»Ħ", + "cent ral", + "ĠP ull", + "AL LOC", + "à ¬", + "he art", + "Ċĉ Ċĉ", + "set Name", + ": $", + "f ork", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "amp p", + "v ia", + "me ga", + "Ġunit test", + "p ent", + "Ġë ¶", + "IST ER", + "arg a", + "ĠLOG GER", + "à Ł", + "Ġse l", + "ĠP oly", + "ĠU rl", + "Ġen crypted", + "ĠArgument s", + "ar th", + "PACK AGE", + "RE SP", + "g iven", + "v tk", + "om a", + "AD MIN", + "z ione", + "Ġhapp y", + "ĠF ail", + "Ġes cape", + "et te", + "Ġspec ifies", + "comp ressed", + "cl ang", + "comp letion", + "D ark", + "æ IJ", + "æ° ij", + "c ube", + "B ug", + "c ampaign", + "s uc", + "style d", + "Ġge m", + "AT TER", + "Index Of", + "} ')", + ">: ]<", + "or i", + "Url s", + "Result Set", + "ST ORE", + "ar ily", + "Ġoutput Id", + "C AR", + "Ġlog o", + "ag g", + "go al", + "ular ity", + "čĊčĊ čĊč", + "!!!! !!!!", + "d atab", + "Ġw ish", + "ee ded", + "es is", + "ãĤ ¸", + "EXT INF", + "ln k", + "we ather", + "\" %", + "/ '.$", + "Ġt vg", + "Ġf am", + "ode ga", + "ET CH", + "Ġexpress ions", + "æł¹ æį®", + "Th ank", + "èº «", + "ÑĤ и", + "Ġhost name", + "Ġre cur", + "Ġnot ifications", + "ภ¡", + "æĶ ¿", + "ë ª", + "us pend", + "ĠA RE", + "Lay ers", + "u o", + "ĠP ORT", + "Fin der", + "Ġear ly", + "M otor", + "par s", + "i OS", + "pro cedure", + "build ing", + "Sp acing", + "ĠS UM", + "St rict", + "j Query", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠ", + "ĠMy SQL", + "M ATCH", + "è·¯ å¾Ħ", + "M PI", + "Object Type", + "ĠId entity", + "Med ium", + "IsNull OrEmpty", + "B G", + "Ġjupy ter", + "N om", + "ache s", + "į°ìĿ´ íĦ°", + "' {", + "] `", + "Ġre placement", + "bind ings", + "l isp", + "clo sure", + "/ -", + "ment e", + "que e", + "CH O", + "pret ty", + "r n", + "ĠC amera", + "min i", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠRed is", + "P an", + "accur acy", + "D ock", + "el le", + "Ġjava fx", + "af ari", + "xd c", + "ĠAs set", + "d ie", + "Ġs cores", + "Ġad apt", + "host s", + "M K", + "Ġs ays", + "Sm art", + "ĠF ast", + "=\"{{ $", + "æ¡ Ī", + "Ġcon ver", + "Ġtr ait", + "contains Key", + "ĠD er", + "Ġreport ing", + "g id", + "ic er", + "Ġg ap", + "Ġr an", + "ĠExample s", + ":\"- \"`", + "ĠOn ce", + "Ġproto impl", + "Map s", + "Pointer Exception", + "M ess", + "Ġa o", + "ĠF ORE", + "Or ders", + "Ġr f", + "Fl ush", + "åĨ µ", + "pe m", + "no ise", + "require ments", + "as ide", + "åIJ Ħ", + "S ingleton", + "ĠSt Object", + "Ġd rive", + "\">< !--", + "x ampp", + "è§ Ĵ", + "Ġg t", + "Message Type", + "TO OL", + "ı nd", + "Ġ< %", + "OPTION S", + ") %", + "! \")", + "/ `", + "Ġf ooter", + "ĠRE FER", + "ĠB L", + "Ġmark et", + "Ġeffect s", + "æ Ĥ¨", + "st aff", + "start swith", + "n th", + "Sub scribe", + "åĭ ķ", + "Ġinter action", + "\"> = ');", + "l hs", + "ar avel", + "cor por", + "stack overflow", + "Ġprogram ming", + "Ġlog ical", + "c amp", + "x ab", + "ĠO f", + "Capt ion", + "Int ro", + "Ġact or", + "Ġv ocê", + "æ£ Ģ", + "ĠS uper", + "ibr ation", + "D EN", + "Ġmin ute", + "h ang", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġrep lic", + "ĠSpr ing", + "Ġd ur", + "\") [", + "j wt", + "Ġ@ \"", + "type param", + "} \".", + "op code", + "Det ection", + "Ġbox es", + "Full Name", + "s ass", + "Ġ` [", + ") (((", + "spec ifier", + "T s", + "util ities", + "ĠGraph ics", + "äºĭ ä»¶", + "F x", + "enc ing", + "chart s", + "ak s", + "L orem", + "Ġr ay", + "lock ed", + "Ġc ri", + "Des cri", + "Trans late", + "Br ush", + "Ġ= ~", + "ĠCh art", + "sh utdown", + "---------------------------------------------------------------- ----------", + "gre y", + "F requency", + "ĠC ALL", + "Ex act", + "Byte String", + "V w", + "g an", + "g ene", + "ĠCh at", + "Ġ lic", + "ĠF ri", + "Ġp Ã¥", + "UST OM", + "ĠA ST", + "ph rase", + "re ceiver", + "ĠG ithub", + "static method", + "线 ç¨ĭ", + "---| ---|", + "i y", + "ul us", + "ĊĠĠ ĊĠĠĠ", + "Ġdig its", + "ĠL imit", + "CRE T", + "t alk", + "ase d", + "ib m", + "Ġro utine", + "Ġc t", + "Oper and", + "ole c", + "iment o", + "r ails", + "Ï Ħ", + "je kt", + "ä» ĺ", + "mut ed", + "bit map", + "\"> , {", + "ĠCHAR SET", + "P en", + "ĠI DE", + "c red", + "Ġp referred", + "ĠTr ace", + "Ġgu ard", + "S izes", + "Ġmark down", + "mat ched", + "Publish er", + "itel ist", + "ex am", + "Id le", + "pag ation", + "(' ');", + "Ċĉĉ ĠĠĠĠ", + "č Ċĉĉĉĉĉĉĉĉ", + "gov uk", + "ĠDoc s", + "ĠA ut", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġcon sectetur", + "Ġb io", + "ĠT imer", + "ĠAdd itional", + "/ ,", + "_ %", + "it i", + "Ch anging", + "Min utes", + "å¢ ĥ", + "per c", + "ĠL D", + "å® Ł", + "reg ular", + "Ġcoord s", + "k h", + "ë Ĥĺ", + "æµĭ è¯ķ", + "çħ §", + "on us", + "ĠC apt", + "out il", + "çĶ »", + "xb b", + "Vis it", + "Ġsig ma", + "Ġprob ability", + "Char Field", + "åij Ĭ", + "Ġstart up", + "Ġde tailed", + "bo th", + "Bu y", + "æİ ¨", + "Char s", + "Sp awn", + "Ġjo urnal", + "g w", + "q i", + "__ ()", + "fil led", + "Ġin dependent", + "Ġl bl", + "ı ÅŁ", + "ins ic", + "é £", + "ĠA nt", + "S yn", + "v ements", + "Al ready", + "S pl", + "Ġnew ly", + "Ġmem cpy", + "CONTRIBUT ING", + "s ink", + "ad j", + "ãģ ¿", + "Ġad ipis", + "Ġro uting", + "Ġsome times", + "ĠOff ice", + "Ġtra ffic", + "n ex", + "è ©", + "ĠI C", + "页 éĿ¢", + "M ongo", + "m gr", + "Ġg round", + "ĠG er", + "Ġkey words", + "Ġno qa", + "нÑĭ е", + "Ġv endor", + "Ġthere fore", + "uplic ates", + ": \\\\", + "Ġget Name", + "ax i", + "ä nd", + "x da", + "ver sed", + "d ar", + "v ocab", + "................ ................", + "moz illa", + "r ich", + "cre ator", + "rows ers", + "Ġbefore Each", + "er able", + "has Next", + "æľįåĬ¡ åύ", + "effect s", + "ĠUP DATE", + "ĠCO DE", + "Ġg uid", + "Ġnumber Of", + "p ane", + "ĠDef inition", + "Ġhold s", + "onom y", + "l ite", + "Ġ ä¸Ń", + "[] >", + "Cover age", + "_ '", + "SER IAL", + "Sort ed", + "Access Token", + "lar avel", + "çİ ĩ", + "ulk an", + "f its", + "al ty", + "Ġh ack", + "i ate", + "env s", + "')}} \"", + "T ES", + "At trib", + "{{ $", + "spec s", + "Ġcalcul ated", + "REG ION", + "x db", + "Ġb es", + "lat itude", + "Ġpur ch", + "Ġedit ing", + "AC KE", + "Ġë IJ", + "th ink", + "ide os", + "Loc ator", + "a es", + "} &", + "Ġon Create", + "ķ Į", + "Ġst rip", + "======== =", + "time line", + "T od", + "il on", + "NN NN", + "D ie", + "In c", + "RE L", + "ĠU int", + "theme s", + "Be arer", + "T V", + "ĠV ULKAN", + "Ġun iform", + "}/ ${", + "Dim ensions", + ">{{ $", + "(' :", + "Not ifications", + "ĠS ide", + "Ġsub sequent", + "j c", + "open ssl", + "ç¾ İ", + "u h", + "Ġstruct ures", + "Ġover lay", + "H over", + "og en", + "Ġyour self", + "Ġpro duced", + "Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "re nt", + "Ġcl azz", + "ĠCo ord", + "Ġr a", + "I VER", + "IM G", + "ĠFORE IGN", + "Ġ' =',", + "ĠT wo", + "Ġel im", + "Ġstudent s", + "ĠU buntu", + "E poch", + "ret ty", + "min imum", + "ĠComp any", + "ac ute", + "s nap", + "ed x", + "Ġle af", + "chedul ing", + "[ !", + "x cd", + "O ffer", + "Ġcon d", + "set ter", + "d pi", + "Ġ{ .", + "tr ust", + "Ġ{} \".", + "g lyphicon", + "Ġre spond", + "pect ive", + "Ġëª ¨", + "or ientation", + "max imum", + "Ġmedi um", + "Ġsub process", + "Ġvector s", + "Re presentation", + "=> {", + "M g", + "ok emon", + "ĠUn ion", + "P AY", + "tr anspose", + "ĠH o", + "ĠN ov", + "sub scriptions", + "Ñĥ Ñİ", + "Spec ific", + "ro te", + "Ġch ance", + "LI BR", + "pl ate", + "res a", + "sm ithy", + "Ú ©", + "Ġa zure", + "Ġm c", + "St ation", + "ãģ Ĭ", + "pair s", + "ma int", + "ox el", + "Ï ĥ", + "ç ı", + "ĠS n", + "ol lo", + "With Context", + "åĮ Ĺ", + "p it", + "Ġinter ested", + "y label", + "ut m", + "ut s", + "'] ),", + "Ġcombin ation", + "comp act", + "Rot ate", + "C ENTER", + "DEF INE", + "Ġ ####", + "ĠO FF", + "Ġ} ))", + "Ġw orth", + "ĠP air", + "è® ¿", + "IO S", + "Ġи з", + "LAP ACKE", + "o ffer", + "er ase", + "L and", + "i ar", + "ĠA PP", + "UN USED", + "Ġpro pri", + "ĠCal endar", + "Ġc uda", + "Sec ure", + "ภļ", + "uro pe", + "acon da", + "Q String", + "pe ople", + "Cre ating", + "h q", + "Ġc trl", + "Ġsp awn", + "Ġatt achment", + "IR Q", + "Ġserial izer", + "Ġbind ings", + "Ġbig int", + "ww v", + "ub ic", + "ĠE valu", + "align ed", + "inger print", + "åı Ĺ", + "==== ===", + "Ġcon ven", + "======== ===", + "az ioni", + "G iven", + "in el", + "sp lice", + "ãĥ ł", + ". [", + "n of", + "over n", + "get Content", + "Lo ss", + "Ġacc el", + "Ġver w", + "ĠMon itor", + "g as", + "be e", + "Ġinvok ed", + "Ġapp lies", + "ĠSt udent", + "x cf", + "Ġmin imal", + "aa a", + "Ġpop up", + "optim izer", + "Ġbecome s", + "ĠSTAT US", + "K eep", + "che my", + "Extract or", + "> \".", + "m igration", + "Ġchar s", + "Des cript", + "Ġm alloc", + "è ĥ", + "In flater", + "Ġme s", + "add on", + "模 å¼ı", + "çĿ Ģ", + "Image View", + "Ġd m", + "cc c", + "apro ject", + "p olicies", + "as hes", + "ch k", + "Ġarg parse", + "Ġre ached", + "ĠC ap", + "View port", + "a udit", + "Ġapp reci", + "Sub scriber", + "stat istics", + "AB C", + "u je", + "Ġcho ices", + "è¨Ń å®ļ", + "Ġst mt", + "ĠD uration", + "Ġg ateway", + "Le an", + "`` .", + "x path", + "is co", + "mem cpy", + "it é", + "è¾ĵ åĩº", + "ĠD one", + "ĠRe place", + "Ġe le", + "Ġ?> \">", + "ov y", + "åıĺ éĩı", + "ut c", + "é n", + "åŃĹ æ®µ", + "ãĥ ij", + "ci ón", + "un ix", + "Ġ* );", + "lect ric", + "ra ises", + "Ġvis ibility", + "Ġ åľ¨", + "Ġs d", + "ane ous", + "Ġinterest ing", + "Column Name", + "еР³", + "S y", + "connection s", + "WA IT", + "Ġtr ade", + "Ġtrack er", + "Ġ# -}", + "J NI", + ">> ,", + "x cb", + "ang an", + "Ġu v", + "ç ª", + ") ];", + "ĠÐ Ĵ", + "Co lour", + "S CHE", + "m irror", + "å ĸ", + "ĠO perator", + "Ġget All", + "ĠSe quence", + "position s", + "B ulk", + "ĠT IME", + "Ġ}} >", + "Ġwon der", + "Ġinvest ig", + "ĠF ore", + "port folio", + "Tr ade", + "Un supported", + "Inter action", + "g row", + "Ġ čĊĠĠĠĠĠĠĠ", + "Per fil", + "st a", + "Ġ} ]", + "ĠW HEN", + "dis count", + "it r", + "Ġappro x", + "æı ı", + "INTER NAL", + "ãģĭ ãĤī", + "% ^", + "ac a", + "Screen shot", + "Ġ'../../ ../", + "Ġg er", + "Ġfile path", + "ĠInt el", + "BU S", + "ìĻ Ģ", + "V ED", + "PE G", + "nd array", + "BIT S", + "ĠBit map", + "âķIJâķIJâķIJâķIJ âķIJâķIJâķIJâķIJ", + "åĪ ĩ", + "éĥ¨ åĪĨ", + "cre ation", + "ĠDes criptor", + "CON NECTION", + "util ity", + "RGB A", + "g old", + "Ġso ft", + "Ġê ·¸", + "ĠL ength", + "=' #", + "Man age", + "ëIJ ĺ", + "PROTO BUF", + "ric ao", + "Ġtrigger ed", + "Power Shell", + "Ġqual ified", + "E mp", + "è Į", + "Connection s", + "Ġ ign", + "ug i", + "DO MAIN", + "Ġbug s", + "Ġll vm", + "Ġr ating", + "ant ics", + "Ġgl m", + "} '.", + "ĠC annot", + "Ġnot ebook", + "âĶ ģ", + "Ġoptim ization", + "x sd", + "un set", + "ĠO Auth", + "// #", + "Al location", + "B i", + "ST IT", + "Add resses", + "Ġpr incipal", + "C AN", + "table Name", + "Y P", + "% \\", + "G LE", + "u u", + "Ġch osen", + "we ep", + "ĠIn dic", + "Ġfail ing", + "Ġoper ating", + "ĠP IN", + "Ġcons ume", + "Ġt en", + "gin x", + "Ġre peated", + "B old", + "ĠT LS", + "R ing", + "FI RST", + "| }", + "B K", + "G est", + "s ale", + "Ġf all", + "ĠD ump", + "pro files", + "Ġcom bine", + "Ġ} ],", + "The se", + "ç« ł", + "b idden", + "=\" +", + "Ġan no", + "Ġpri me", + "ä¸į åIJĮ", + "bud get", + "PRIV ATE", + "ia o", + "qu er", + "agn itude", + "é¡ »", + "Ġpredi ction", + "x label", + "Ġest ab", + "Ġ gest", + "Ġn ombre", + "Ter ms", + "ĠA SC", + "ĠW arning", + "SEQU ENTIAL", + "Ġf o", + "ag ers", + "Draw er", + "xa e", + "Collect ors", + "lcs Status", + "l ane", + "m aybe", + "and ra", + "igu ous", + "Ġp aint", + "os c", + "AC L", + "Ar m", + "COMM ENT", + "k m", + "* )(", + "Al tern", + "l x", + "st ere", + "Ġport al", + "çķ Į", + "ac cord", + "ãģ Ŀ", + "ç ģ", + "Ġin strument", + "æĥħ åĨµ", + "T enant", + "X L", + "IC O", + "ĠBe fore", + "ĠHel p", + "A ES", + "ib us", + "h ren", + "Ġj ed", + "EN U", + "C irc", + "ĠN av", + "ps z", + "ĠBuffer ed", + "Ġr ing", + "toHave Been", + "top ics", + "term inal", + "Ġquick ly", + "te ams", + "C y", + "ĠCon tract", + "å¿ «", + "npm js", + "T rip", + "j ump", + "Per f", + "Ġexec uting", + "ex act", + "Un safe", + "Upper Case", + "Y S", + "ĠF I", + "ĠG ood", + "ance led", + "Ġar bitrary", + "SP AN", + "] **", + "str y", + "Set ter", + "match er", + "BO DY", + "Ġ ----", + "Ġme ant", + "ãģ ij", + "Tr ait", + "draw able", + "Document ation", + "il a", + "and a", + "ĠEx ternal", + "RE SOURCE", + "Contract s", + "r ices", + "Ġg c", + "cus sion", + "={ `", + "ĠAn alytics", + "J T", + "mail to", + "Ġvis itor", + "dump s", + "P ose", + "ë§ Į", + "E G", + "Ġcom bined", + "}` ;", + "Ġa i", + "Ġl v", + "ĠM obile", + "no op", + "Ġbu y", + "Ġknow ledge", + "li e", + "án ÃŃ", + "A ck", + "ell ig", + "Ġwas n", + "Ġde serialize", + "Test Method", + "e ah", + "ow l", + "est er", + "Ġbe hind", + "pat ient", + "st reet", + "Ġgraph ql", + "sel ves", + "Ġ å¦Ĥæŀľ", + "Rem oved", + "ìŀ ¥", + "ĠT X", + "dd y", + "ĠPar am", + "å·² ç»ı", + "Assert ions", + "ĠS ound", + "Ġdig it", + "W HERE", + "ad vanced", + "qu it", + "ĠPl an", + "ĠFeature s", + "å®Į æĪIJ", + "B roadcast", + "Ġt abs", + "es i", + "å¼Ģ åıij", + "è¶ ħ", + "P iece", + "Ġp ing", + "cor ded", + "CR IP", + "åıij éĢģ", + "============ =", + "de serialize", + "Ġwh atever", + "e i", + "| {", + "Ġmechan ism", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "NA P", + "b irth", + "g uest", + "Ġ\" .\"", + "m ongo", + "Ï ģ", + "DE L", + "æ¡ Ĩ", + "tr ade", + "Ġal s", + "Ġk h", + "vi ation", + "ali ases", + "RE N", + "ĠTh u", + "LOC ATION", + "Ġc ame", + "Dis card", + "un ge", + "Ġe mploy", + "Ġ\"# {", + "Pers istent", + "ufact urer", + "Ġin ventory", + "ext ended", + "ä»» åĬ¡", + "æĬ Ģ", + "A sc", + "How ever", + "ĠREFER ENCES", + "ĠC P", + "Ġun able", + "b roadcast", + "Ġw elcome", + "ĠD ay", + "rupted Exception", + "Ġg as", + "sol ver", + "pl at", + "ve al", + "Ġsq rt", + "D lg", + "ame s", + "pc ion", + "Coord inate", + "å®ī è£ħ", + "E V", + "c ab", + "pro duce", + "à ²", + "ble ms", + "ĠAss ign", + "ac ji", + "uto ff", + "Is Valid", + "P ID", + "T abs", + "Ġh ouse", + "ĠOR DER", + "ĠP a", + "Ġre load", + "(' @", + "__ /", + "Me an", + "Ġí Ļ", + "Ġear lier", + "\" };", + "s is", + "Ġt enant", + "Ch an", + "à® ¿", + "r h", + "Ġr u", + "Mock ito", + "N g", + "Ġs aving", + "(). __", + "track ing", + "ĠSte ps", + "j en", + "Ġsub str", + "check er", + ">> >>", + "ĠA x", + "á» ĩ", + "Ġdecl ared", + "COM PI", + "ĠSPE CIAL", + "View Holder", + "inter active", + "Change Listener", + "ah a", + "plo ts", + "Xml Element", + "Ġan t", + "play list", + "Qu ant", + "ĠSe gment", + "å Ĥ¨", + "Ġp df", + "ĠC ity", + "ĠB ot", + "Ġen c", + "PR I", + "n fs", + "train ed", + "> $", + "ĠR ot", + "Ġk o", + "App s", + "Ġorder ed", + "seto f", + "on a", + "Ge om", + "x ac", + "æ ¥", + "Ġco efficient", + "Ġup stream", + "Ġseg ments", + "aaaa aaaa", + "Qu ote", + "Atom ic", + "k kit", + "check point", + "Ġco uple", + "TEMP LATE", + "len ium", + "éĢ ł", + "definition s", + "C X", + "Ġpri mitive", + "âĢĵ âĢĵ", + "__ |", + "T B", + "Neg ative", + "Sh ip", + "sing leton", + "long itude", + "ab y", + "Ġassert NotNull", + "ĠCh ild", + "Ġres olver", + "book ing", + "Ġw arn", + "Pro viders", + "Ġf allback", + "ter ra", + "c ion", + "t ac", + "ĠB US", + "Ġse aled", + "ith metic", + "iv a", + "Ġpro viders", + "ere quis", + "Se quential", + "ç¼ ĵ", + "Hash Set", + "Ġk otlin", + "æŃ ¢", + "éªĮ è¯ģ", + "Ġr is", + "Ġpl aced", + "ĠCon n", + "ภĶ", + "å Ķ", + "me l", + "ue de", + "ĠS TY", + "State Exception", + "Ġdon nées", + "P NG", + "T odo", + "ĠC G", + "ĠDIS CL", + "x html", + "mp i", + "ĠS park", + "In noDB", + "ĠU TC", + "ĠC OT", + "ve z", + "Ġdec ision", + "x fer", + "Com bine", + "Le af", + "CA DE", + "Deserial ize", + "est s", + "¹ Ħ", + "Direct ive", + "ar is", + "Ġthe ta", + "Ġse quences", + "Ġle d", + "format s", + "AT OM", + "Ġindex es", + "Q R", + "ĠL eg", + "Ġc am", + "mp eg", + "sh ipping", + "ĠSk ip", + "PROC ESS", + "O Auth", + "d an", + "P referred", + "ĠG rad", + "ĠS K", + "čĊĉ ĠĠĠ", + "currentTime Millis", + "Ġ* >(", + "BIND ING", + "ĠH ead", + "Ġper fect", + "WAR D", + "WAR N", + "Ġdown loaded", + "Ġspecify ing", + "Ġìĭ ľ", + "W AY", + "Ġal gorithms", + "mit ives", + "ìĹ ¬", + "R oll", + "T re", + "b ulk", + "Ġ' {}", + "Ġhelp ful", + "c in", + "ĠSh ape", + ". `", + "ro b", + "SE CRET", + "Ġk ube", + "è¿Ļ éĩĮ", + "id l", + ";& #", + "ç ²", + "ph y", + "Ag gregate", + "r ss", + "v f", + "sp h", + "all Emoji", + "F lex", + "ĠBus iness", + "T xt", + "W ave", + "Ġoff icial", + "Ġobtain ed", + "C VE", + "ĠN A", + "Ġsub set", + "ĊĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠ", + "document s", + "ipel ines", + "Ġ' \\\\", + "j f", + "Hand ling", + "ĠCheck s", + "ĠBig Decimal", + "Ġm agic", + "ãĥ Ŀ", + "Ġdetermin istic", + "M usic", + "å½ ±", + "Compat ible", + "ç ĭ", + "re views", + "Ġs ites", + "ĠRe fer", + "c les", + "ĠR PC", + "Rec order", + "íĻ Ķ", + "Ġs r", + "Ġu u", + "é¦ ĸ", + "Ġsob re", + "D ummy", + "is Required", + "hyper link", + "m ay", + "Ġ\" $(", + "ell a", + "b ill", + "Ġ$ @", + "Ġ[ ![", + "Bu ffers", + "ado res", + "Ġsl ug", + "Ġt a", + "ct ree", + "k d", + "Ä Ĺ", + "Back Color", + "x or", + "co t", + "Ġlocal Storage", + "%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%", + "l am", + "in ja", + "as a", + "Dis covery", + "DebuggerNonUser CodeAttribute", + "Iter able", + "GR APH", + "Ġ( ~", + "un recognized", + "Target s", + "T OT", + "| \"", + "at en", + "il ine", + "\") ->", + "Ġgener ating", + "ç o", + "An alytics", + "Action Listener", + "Gener ation", + "Ġfind ing", + "PARAM S", + "F AT", + "tr ansparent", + "Table Row", + "ic he", + "Ġman ip", + "ĠH ub", + "is Null", + "semb le", + "toHaveBeen Called", + "ro utine", + "id os", + "Con cat", + "ä» ·", + "Ġde coded", + "ç» ľ", + "Go al", + "Q P", + "Ġ' ,'", + "register ed", + "D st", + "S ampler", + "x ce", + "um ing", + "ST OR", + "linked in", + "Match ers", + "C MS", + "P rom", + "Ġì ¶", + "local Var", + "Ġfunction al", + "Ġbu ffers", + "ĠP ers", + "as is", + "set Title", + "ĠN eed", + "Service Provider", + "è®° å½ķ", + "u w", + "ch oose", + "FO RE", + "ĠA RR", + "ĠH and", + "ãģ Ľ", + "pri m", + "pk t", + "ĠURL s", + "Ġ ĊĠĠĠĠĠĠ", + "ĠS ent", + "ĠD irection", + "ĠInt ro", + "Ġg ui", + "aur ant", + "r at", + "Ġal most", + "Bind ings", + "CR YPT", + "ĠI T", + "OR IZ", + "ĠBind ing", + "est ing", + "fl are", + "æł¼ å¼ı", + "èĩ ´", + "F oot", + "ort e", + "ĠPRO F", + "ĠIP v", + "Ġol der", + "b enchmark", + "An alyzer", + "Ġbu mp", + "ÃŃ c", + "$ \\", + "D H", + "ĠDim ension", + "Ġê µ¬", + "pa lette", + "Ty pography", + "访 éĹ®", + "ĠAn alysis", + "z el", + "Ġo g", + "As pect", + "Ġdocument ed", + "an h", + "Ġn u", + "Ġg lyphicon", + "ĠL ooks", + "id le", + "åĽł 为", + "- ${", + "s bin", + "assert That", + "FE ATURE", + "Not Empty", + "C ube", + "qu eries", + "x j", + "ab it", + "ĠL ib", + "stand ing", + "ĠD r", + "vert ed", + "ĠD emo", + "ĠM ail", + "ĠF AIL", + "py plot", + "D NS", + "Ġimplement ations", + "au ge", + "( #", + "/ <", + "Ġkö nn", + "ĠCHAR ACTER", + "Pres enter", + "Ä ĥ", + "Ġpro f", + "ush ort", + "ঠ¬", + "ç½ij 绾", + "temp erature", + "(& (", + "AG ES", + "Ġm ul", + "ü n", + "Ġax es", + "Coord s", + "ul ations", + "cri min", + "? **", + "f our", + "RO LE", + "è§ ģ", + "bro ker", + "Ġk ill", + "Ġtrans formation", + "ĠĠ č", + "ĠC ASE", + "Ġme mo", + "ĠId ent", + "èĩª åĬ¨", + "ren a", + "Ġfilter ing", + "ĠâĶ ľâĶĢâĶĢ", + "Ġregist ers", + "Ad vanced", + "ĠDE F", + "ee e", + "Ġa mp", + "Ġ* __", + "Ġplatform s", + "Ġinter act", + "J ul", + "re start", + "lo dash", + "dat ac", + "S q", + "Ġre asons", + "as n", + "Ġ$ \"", + "DE SCRIPTION", + "set Property", + "u arios", + "re spond", + "el apsed", + "еР·", + "W s", + "ĊĊ ĊĊĠĠĠ", + "Ġb enchmark", + "Ġm usic", + "ĠPub lish", + "Tr aits", + "L d", + "ĠLo op", + "Register ed", + "C s", + "de velop", + "stri ctions", + "S aved", + "Ġend points", + "Example s", + "Prot otype", + "re search", + "ĠD iv", + "ak o", + "Ġre curs", + "Ġen cryption", + "Log ical", + "ä¾ Ŀ", + "Activ ation", + "H old", + "i ri", + "} ],", + "st m", + "Ġgover ned", + "od a", + "ĠP at", + "ĠN u", + "Tr uncated", + "INIT IAL", + "Condition s", + "unknown Fields", + "éĸ ĭ", + "P ager", + "ENABLE D", + "Ġstart Time", + "K V", + "st yl", + "ĠUn ity", + "Ġt reat", + "De ad", + "Ġm oney", + "è¾ ij", + "In strument", + "AS C", + "Ġform ula", + "ê ·¸", + "ĠP UBLIC", + "å¿ħ é¡»", + "n at", + "id ades", + "ac i", + "app y", + "Ġiter ations", + "re moved", + "ĠA rc", + "system s", + "Ġa udit", + "E s", + "Ġb le", + "author s", + "Ġsepar ator", + "j u", + "ad c", + "Ġespec ially", + "Ġor ders", + "URE MENT", + "orre nt", + "Sc enario", + "pth read", + "gp io", + "ass istant", + "ĠM sg", + "Ġav atar", + "E v", + "ON SE", + "ma le", + "g ar", + "çĻ» å½ķ", + "Ġ/ ^", + "Blue print", + "pent aho", + "'] )->", + "ma z", + "ĠInt Ptr", + "Decor ator", + "z ax", + "Ġ\" {{", + "sp ath", + "Sup plier", + "Ġh l", + "class method", + "check s", + "ĠDis able", + "Bl ur", + "AS CADE", + "TO M", + "limit ed", + "k at", + "Ġa ck", + "ĠCON SEQUENTIAL", + "éĢ Ł", + "CA ST", + "ed i", + "lev ation", + "Ġsubmit ted", + "n ie", + "gr p", + "è į", + "n py", + "Ġ[ <", + "L j", + "Ġ------------------------------------------------ --------", + "Ġs orry", + "get Resource", + "am en", + "æīĢ ä»¥", + "ĠE very", + "se par", + "unc heck", + "ĠIN DIRECT", + "å¤ ī", + "ent r", + "ä¿Ŀ åŃĺ", + "merc ial", + "Ġf loor", + "! .", + "t it", + "ĠM esh", + "Buffer ed", + "Value Type", + "å± Ģ", + "Cap abilities", + "Ġl n", + "čĊč Ċĉĉĉ", + "Pro cedure", + "non ce", + "Ġam ong", + "ĠField s", + "() -", + "Let ter", + "Ġf requ", + "ĠE igen", + "Ġnormal ized", + "a ug", + "d ro", + "Ġ-- >", + "Th rough", + "bit Field", + "](../../ ../", + "Pixel s", + "as pect", + "Ġb c", + "è® ¢", + "注 æĦı", + "s he", + "Ġhost s", + "é¢ Ħ", + "Callback s", + "get Parameter", + "e o", + "CHAR ACTER", + "ĠEng lish", + "min or", + "S olver", + "Ġcover ed", + "ĠBad Request", + "T AC", + "tr ap", + "Ġaccess ible", + "Ġhash Code", + "ut a", + "PE D", + "Post s", + "ĠAb out", + "al ter", + "Ġs sl", + "åĵ į", + "ĠL ive", + "pro be", + "< _", + "Ġnew Value", + "ĠAuthor ization", + "unt il", + "Check box", + "Ġins pect", + "implement ed", + "ĠLE FT", + "Ċĉ ĠĠĠĠĠĠ", + "x ad", + "im ag", + "EX PR", + "ĠFix es", + "I Q", + "Ġus uario", + "l ag", + "× Ķ", + "CS V", + "è¾ ¹", + "bl ur", + "å®ŀ ä¾ĭ", + "Th ree", + "L n", + "Ġg ene", + "game s", + "ĠSTY LE", + "sc atter", + "Ġdi agnostic", + "Ġreg ions", + "以 ä¸ĭ", + "âĶģ âĶģ", + "ÑĤ ÑĮ", + "ic an", + "is se", + "Ġinsert ed", + "Ġent re", + "Work ing", + "Mac ro", + "V ault", + "Ġsol ver", + "è´ ¹", + "K R", + "e j", + "ĠSh are", + "FOR CE", + "å·¥ ä½ľ", + "s an", + "æİ§ åζ", + "åΤ æĸŃ", + "x ls", + "j est", + "Ġch an", + "ìŀ ħ", + "ê n", + "Ġre ward", + "ĠF ill", + "Call s", + "Ġkönn en", + "B id", + "Descript ors", + "ĠL ED", + "ãĤ §", + "ĠTrans fer", + "ft ime", + "Ġconc ern", + "ATE G", + "æĿ ¿", + "me th", + "Ġp oll", + "Ġm v", + "Ġen s", + "ĠComp uter", + "Ġf rag", + "ine se", + "ĠEST ADO", + "coord inates", + "Ġ' );", + "Ġo dd", + "Suc ceeded", + "J ump", + "ab ort", + "git lab", + "] ].", + "Ġsh utdown", + "Proto s", + "serial ization", + "ĠReg ion", + "luc ene", + "en ate", + "Ġ* ****************************************************************", + "log ged", + "RT C", + "ĠHttp Response", + "· ·", + "quee ze", + "Ġ@ {", + "ĠA DC", + "对 åºĶ", + "ĠD ig", + "sc enario", + "ĠStart ed", + "B enchmark", + "li o", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĊĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠ", + "× ľ", + "Ġdeli ver", + "l abs", + "ĠP od", + "of s", + "vis ions", + "ĠEvent s", + "xxxx xxxx", + "P ur", + "Ġstop ped", + "build s", + "ĠLO SS", + "du k", + "Source File", + "Ġc ool", + "Ġf ood", + "SE ARCH", + "Start Time", + "BIN ARY", + "sh uffle", + "AS F", + "Ġpop ulation", + "ĠDepend ency", + "¡ °", + "Î »", + "Ġas c", + "se qu", + "ic ast", + "bin s", + "e lectron", + "Ġ\" :\"", + "Ġin i", + "(\" :", + "Ġan aly", + "ì² ´", + "ĠA rr", + "Res olved", + "и Ñĩ", + "zax xer", + "\"> ) (),", + "re ceipt", + "B X", + "é c", + "Work s", + "ĠProb lem", + "V oice", + "Ġ' .$", + "($ (", + "dig its", + "ĠSpec ial", + "Ġa vec", + "W ay", + "Ref lect", + "',' ','", + "COMP ONENT", + "(\" \")", + "ĠF oo", + "Ġcomp ut", + "No thing", + "Pos itive", + "GL IGENCE", + "Ġs rv", + "Ġdo or", + "åľ º", + "ĠOr acle", + "U tf", + "ãģª ãģĦ", + "Nav Bar", + "en umber", + "Bl end", + "Ġb ring", + "pl aintext", + "AL I", + "ĠCON ST", + "short cut", + "ĠGame Object", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "________________ ________________", + "' /", + "oo g", + "D ll", + "in n", + "de velopers", + "C os", + "Media Type", + "D uplicate", + "__ \":", + "Ċĉĉĉĉ Ġ", + "inter op", + "img s", + "Sp ell", + "anno unce", + "C ut", + "Ġ[ %", + "se ctor", + "ile ge", + "Ġpat ient", + "à º", + "En ergy", + "ĠAS F", + "UT ION", + "M z", + "DB G", + "ar able", + "err er", + "cont inu", + "'] ]", + "ĠÑģ л", + "Ġmaint ain", + "ìĿ Į", + "Ġw all", + "ĠN avigation", + "ĠRe gex", + "Ġder iv", + "s anit", + "ch allenge", + "Ġfile Path", + "Ġí ģ", + "iver se", + "Stream ing", + "el a", + "Ġgener ates", + "Ġmov es", + "ĠC alled", + "os o", + "Tr ust", + "ceed s", + "T AB", + "En coded", + "æĺ ĵ", + "Ġb odega", + "Ġcl usters", + "á ¹", + "Ġgl sl", + "ĠC V", + "Ġìĥ Ŀ", + "C redit", + "w f", + "Ap pearance", + "Py x", + ">( <", + "èµĦ æºIJ", + "Ġtr ust", + "Stream s", + "* ", + "al ax", + "Ġd ates", + "Con current", + "Ġcomp uting", + "Ġë ķĮ", + "det ach", + "Attr s", + "ain ter", + "Ġcomp ression", + "Pl ain", + "! )", + "ĠS ol", + "ĠP acket", + "uble shoot", + "Sp ot", + "ĠMod al", + "Ġsit uation", + "p ac", + "ĠE SP", + "ĠAD VISED", + "parent Node", + "R AD", + "en de", + "Ġm ás", + "get S", + "Ġ ĉĉĉ", + "in str", + "Fore ground", + "terra form", + "H ouse", + "Watch er", + "re ed", + "=\" @", + "ĠIn s", + "format ted", + "åĽ Ľ", + "Ġf req", + "ĠC ancellationToken", + "ĠF ollow", + "lo ut", + "ve edor", + "ìķ Ħ", + "ĠS IG", + "Ġê² ½", + "P x", + "r q", + "× ¨", + "Ġde sktop", + "($ {", + "Ġup loaded", + "set Data", + "`` ,", + "Ġ Âł", + "com bo", + "Ċĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉ", + "CLO SE", + "Pat ient", + "ĠM AC", + "Ġres ol", + "AT ER", + "Ġj avascript", + "d aily", + "sess ions", + "ĠSP DX", + "G a", + "ENT ITY", + "ĠSub ject", + "åĬł è½½", + "¯ ¸", + "In jection", + "Ġ` _", + "get Parent", + "Or Null", + "ç» ´", + "Ġs ix", + "Ġo mp", + "ĠM ask", + "Ġfr action", + "Ġsl ider", + "red ient", + "{ };", + "Ġex planation", + "assert Null", + "do or", + "Ġaff ected", + "Ġre nd", + "Ġcap abilities", + "ĠC riteria", + "cl usters", + "REF ER", + "Ver ification", + "C am", + "AI MED", + "File Type", + "ĠED IT", + "HttpServlet Request", + "Ġ# '", + "å¦Ĥ ä½ķ", + "Ù ĥ", + "get X", + "ãĢ ĭ", + "config ur", + "SM ALL", + "Ġrecent ly", + "ãĥĨ ãĤ£", + "åĪĿå§ĭ åĮĸ", + "ãĥ ģ", + "Inter op", + "f y", + "Ġb und", + "ĠR aise", + "FIL ENAME", + "Ġf ault", + "Re ject", + "WE VER", + "in p", + "Ġw ants", + "k p", + "set Enabled", + "ĠG O", + "class ifier", + "客 æĪ·", + "ĠPOSS IBILITY", + "code gen", + "align ment", + "L azy", + "an ion", + "Ġc ipher", + "Al ter", + "Ġgr ant", + "M j", + "ĠSm art", + "ĠSU CCESS", + "Ġk om", + "Ġpar agraph", + "An not", + "ä¸Ģ äºĽ", + "Org an", + "Ġn ie", + "ce an", + "Qu ad", + "и к", + "ĠFl ag", + "m ol", + "Ġ* )(", + "L IGHT", + "Data Table", + "ĠSub scription", + "åİ Ĩ", + "ass andra", + "Tr uth", + "Ġover all", + "=> '", + "install ation", + "Ġdescri bes", + "F riend", + "d bo", + "re ward", + "al arm", + "ĠComp are", + "- &", + "M aker", + "bound ary", + "P ARE", + "ĠI I", + "ĠF ake", + "Ġen crypt", + "Ġatt ention", + "Ò Ĩ", + "ĠP ur", + "Ġget User", + "find All", + "ba idu", + "Ġident ified", + "ĠByte Array", + "æĿ¡ ä»¶", + "Ġa ug", + "ĠP TR", + "Ġc ritical", + "z ier", + "Contact s", + "* \\", + "s nd", + "ĠS yn", + "ĠIt ems", + "Ġt il", + "Ġde coder", + "Per form", + "W W", + "l or", + "commit s", + "Ġdevelop ed", + "Ġleg end", + "accord ion", + "ĠT ile", + "ĠAdd ing", + "ĠS D", + "ĠAct ual", + "Ali ve", + "H Z", + "Ġpro posal", + "ĠSystem s", + "Ġte ams", + "in form", + "set OnClickListener", + "Ġch rome", + "Un iversal", + "tt l", + "Ġcap ital", + "Ġencounter ed", + "b v", + "æ §", + "LE CTION", + "callback s", + "r z", + "Ġ{ });", + "Ġa ware", + "Ġse p", + "we ets", + "Require ments", + "ëŁ ¬", + "ATTER N", + "Ġr d", + "两 个", + "m ir", + "al er", + ">& #", + "Primary Key", + "QUE UE", + "i ction", + "o y", + "q c", + "ĠM C", + "çļĦ æķ°æį®", + "ĠBUS INESS", + "D IG", + "f all", + "p as", + "ĠV ari", + "Ġwhen ever", + "Ġ quest", + "App lications", + "ph ysical", + "æľ ¯", + "ë ¬¸", + "ĠL ua", + "ĠArgument NullException", + "оÑĤ оÑĢ", + "ĠA ir", + "Ġpop ulate", + "ĠS plit", + "ĠPh one", + "Ġread able", + "Ġfl ask", + "fix tures", + "+ ----------------", + "x m", + "¤ ij", + "ĠC art", + "ĠC Make", + "Ġinter active", + "dim ensions", + "IMP L", + "ĠAv ailable", + "éŁ ³", + "n en", + "om i", + "ãģ Ī", + "unit test", + "ĠHO WEVER", + "Ġy o", + "ãĤĪ ãģĨ", + "Ġc redit", + "олÑĮз ов", + "F und", + "ĠS ame", + "h op", + "Ġ%} { %", + "Bound ary", + "and er", + "quantit ativo", + "H alf", + "Ġp f", + "Ġp aste", + "ĠC ross", + "ภ§", + "è¾ ĥ", + "Scal ing", + "ĠSc roll", + "G ot", + "D ollar", + "Ġpan ic", + "da emon", + "Ġmac OS", + ") ')", + ": {}", + "ĠL at", + "={ (", + "Chunk Name", + "rott le", + "EMPL ARY", + "c ve", + "ĠB et", + "Func iones", + "иÑĤ е", + "ĠSerial izable", + "() +", + "Ġaccept s", + "Ġnavig ate", + "Ġhe art", + "Field Type", + "ĠTest Case", + "Ġill ustr", + "es c", + "Ġein er", + "ĠIter able", + "Ġretrie ved", + "C ause", + "Ġn ight", + "mark up", + "}} \">", + "ĠGL enum", + "Ġbr anches", + "ĠS A", + "inal g", + "ir an", + "Ġr id", + "ĠE ffect", + "! ');", + "K e", + "Ġv im", + "sp ell", + "field Name", + "IGN ED", + "ç ¶", + "c riteria", + "); //", + "ĠD id", + "ĠD MA", + "ru it", + "å¿ħ è¦ģ", + "Ġview port", + "Ġoper and", + "ĠPROC UREMENT", + "æ ļ", + "get Column", + "ist er", + "Ġgu ild", + "jac ent", + "comp iled", + "ĠSUB STITUTE", + "run s", + "sl ack", + "ĠStruct ure", + "ĠEX EMPLARY", + "Ġda emon", + "bru ik", + "L ens", + "h or", + "ĠC Y", + "if ul", + "ĊĊĊĊ ĊĊ", + "ĠHe alth", + "PRE FER", + "ĠA CT", + "$ (\".", + "Q T", + "Q i", + "ĠTHE ORY", + "' />", + "J an", + "ë į", + "st rength", + "lic ated", + "DI ST", + "Ins pector", + "Ġìł ľ", + "Ġt k", + "Ġdi gest", + "éĺ Ł", + "M u", + "ĠI ss", + "enter prise", + "parent s", + "DECL ARE", + "K nown", + "f ord", + "ĠR ust", + "ro cket", + "ro uge", + "() \"", + "ãĥĩ ãĥ¼ãĤ¿", + "r an", + "Ġg ain", + "Home address", + "_ |", + "ut ive", + "Ġn an", + "ĠRe ader", + "ĠUp dates", + "Ġwebpack ChunkName", + "Ġc in", + "ur b", + "Ġl ap", + "Form ats", + "ا ÙĨ", + "Ġevery one", + "Ġs aw", + "Ġl r", + "fig ur", + "Runtime Exception", + "f q", + "Ċĉĉĉĉ ĠĠĠ", + "Ġnot iced", + "plus plus", + "ä¹ ¦", + "Over view", + "â Ĺ", + "ãĤ ½", + "ler i", + "man ent", + "Ġscal ing", + "ĠINTERRUP TION", + "at ches", + "Ġpacket s", + "Ġs dk", + "Ġin tr", + "initial izer", + "ек ÑĤ", + "/ \\", + "Ġd ensity", + "Ġhe ading", + "Ġhas attr", + "ìĦ ¸", + "c j", + "Some thing", + "Ġsyn apse", + "C as", + "e ql", + "v iz", + "=\" <", + "ĠP RE", + "set Item", + "Ġtri p", + "HAND LER", + "ĠCA USED", + "Q S", + "R ob", + "ĠT AG", + "ug o", + "ĠHe aders", + "Ġrect angle", + "ĠR AM", + "Message Info", + "Ġì ļ", + "Bad Request", + "ĠOB JECT", + "ff t", + "jo y", + "F d", + "Y ES", + "c ad", + "Ġ- &", + "ĠG RO", + "Ġcheck sum", + "Ġimplement ing", + "å·¥ åħ·", + ".. \\", + "arch itecture", + "lib c", + ">{ @", + "co lo", + "Ph ysics", + "Ġfore ign", + "Ġper haps", + "ĠAn imation", + "sv n", + "Ġ~ /.", + "Ġside bar", + "implement ation", + "% );", + "Ġf air", + "err it", + "NO RE", + "Ġ čĊĠ", + "ĠG C", + "fil ing", + "{- #", + "ant age", + "Ġthink ing", + "leet code", + "Ġin verse", + "Thread Pool", + "ìł Ħ", + "In herit", + "oc c", + "ĠìĦ ¤", + "ĠDat en", + "En crypt", + "Check s", + "ĠOPT ION", + "U IT", + "Ġ*/ ,", + "ĠSTR ING", + "èĮ ĥ", + "et ic", + "Ġlet ters", + "Index es", + "Ġcopy ing", + "Ġe ax", + "Ġorder ing", + "Ġmode s", + "TA IL", + "gener ation", + "Ġwrit es", + "Ġп еÑĢ", + "EE E", + "Ġm as", + "Temp erature", + "PL Y", + "ĠClo sing", + "S HOW", + "St and", + "ĠCont ains", + "T ail", + "ATION S", + "[$ ]", + "Ñħ од", + "P or", + "f id", + "v ui", + "ĠG ateway", + "ld ap", + "ĠDes erial", + "PLAY ER", + "Ġ čĊĠĠĠĠ", + "ĠP Y", + "Ġsup ply", + "s ms", + "Ġ á", + "er i", + "b illing", + "Ġ\" {}", + "present s", + "ĠRem ov", + "Ġguide lines", + "ĠD ir", + "ans ible", + "ç» Ń", + "Web Socket", + "ĠImp ro", + "C andidate", + "a os", + "Ġb box", + "sub mission", + "Al bum", + "Ġpost gres", + "ĠHttp Servlet", + "USER NAME", + "S olid", + "d ca", + "red ients", + "Å Ħ", + "Ġf unk", + "Ġse ar", + "VE CTOR", + "но ÑģÑĤ", + "Ġw heel", + "ĠInst ead", + "mk r", + "c argo", + "Ġtw ice", + "SS H", + "Ġtemplate Url", + "('/ ',", + "I i", + "ĠH ey", + "g x", + "Ġref actor", + "bc m", + "N Y", + "t up", + "ĠG P", + "ภĹ", + "Tri angle", + "Ġsol ved", + "{ @", + "Ġc ada", + "ĠW ORK", + "wh o", + "ÑĢ Ð¸", + "Part icipant", + "ĠComponent s", + "e in", + "ine craft", + "hold ers", + "ue vo", + "To Props", + "Ġare as", + "Ġerr no", + "Ġop code", + "ĠS afari", + "ãĤ «", + "Inter rupt", + "è IJ", + "Ġ ĊĊĠĠĠ", + "ĠB CM", + "Ġi x", + "N m", + "oo oo", + "ĠLo ading", + "se x", + "ĠS ys", + "che f", + "T Z", + "Ġcon versation", + "con version", + "A st", + "g ain", + "s int", + "val or", + "> ());", + "z x", + "ul ary", + "ĠS cale", + "ĠS cience", + "Inter pol", + "Ġsee ing", + "Cap ability", + "Ġp v", + "duc ing", + "ĠM ost", + "ĠValid ator", + "ĠC U", + "Ġem bod", + "Ä «", + "Ġë ©", + "ĠCO M", + "math bf", + "Q A", + "S ing", + "c amel", + "uc le", + "inter pol", + "c rc", + "d q", + "t icks", + "Un ix", + "H IGH", + "P al", + "/ ******/", + "< &", + "ĠZ ero", + "ĠL td", + "ĠB i", + "col group", + "LOG IC", + "ĠA I", + "ST Y", + "Ġ{} '.", + "Ġ? :", + "ĠSign al", + "ĠIN IT", + "Ġpart icle", + "B io", + "que lize", + "ç»Ħ ä»¶", + "experiment al", + "> ):", + "R ATE", + "è® ©", + "Ġraise d", + "d ur", + "Ġf lip", + "Form ation", + "start ing", + "Ġtransform s", + "Ġpick le", + ": ])", + "n or", + "Data GridView", + "ific ar", + "Ġfail ures", + "postgres ql", + "Ġcomp utation", + "S phere", + "=\"# \"><", + "ẠŃ", + ".| __", + "A rena", + "ĠName d", + "EXTERNAL SYM", + "Re comm", + "ceed ings", + "AMP LE", + "ìķ ¼", + "V D", + "n w", + "ì ħ", + "Fac ade", + "Ġìķ Ĭ", + "ĠH istory", + "sol ve", + "ĠOn Init", + "Ġunderstand ing", + "ĠR oom", + "Logger Factory", + "S ale", + "S END", + "ask ell", + "py torch", + "z m", + "im iento", + "ĠP atch", + "ĠR F", + "å¸ ¦", + "Conf lict", + "ĠF FFF", + "ĠIn f", + "æĸ Ļ", + "ĠAct iv", + "Ġp uede", + "ing u", + "æī į", + "tri bs", + "user Name", + "ĠP in", + "å± ±", + "ĠD art", + "ãĤ ª", + "cip her", + "d ense", + "'' ''", + "Ġreg ard", + "Ġpag ination", + "ĠWR ITE", + "F our", + "al ib", + "d ue", + "çĽ ij", + "Ġdat as", + "B ill", + "ĠM Q", + "Evalu ation", + "A jax", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ver ified", + "Error Kind", + "ä h", + "Ġalign ed", + "ĠDISCL AIMED", + "s imp", + "y b", + "ad apt", + "to ur", + "os cal", + "+ \\", + "Ġs at", + "riv en", + "start up", + "embed ded", + "Ġsuit able", + "ff d", + "y k", + "let able", + "read s", + "ĠJ oin", + "cre ating", + "get Status", + "click ed", + "Ġmut ation", + "ĠPer form", + "POS ITION", + "ALIST P", + "å· ¦", + "IFI ER", + ": ,", + "Ġd ro", + "us c", + "et ype", + "Mark down", + "RESP ONSE", + "Has Been", + "ĠResult s", + "- _", + "co eff", + "Sh utdown", + "web socket", + "ĠCre ating", + "ĠSerial ize", + "Range s", + "Ġí ĺ", + "ongs To", + "ĠIS O", + "ठ¾", + "dig ital", + "ãĤĬ ãģ¾ãģĻ", + "C op", + "el m", + "J ohn", + "g v", + "is sion", + "ht able", + "pri mitive", + "D em", + "æĢ Ŀ", + "c err", + "y ll", + "get State", + "get Bytes", + "={ }", + "Ġgame s", + "ĠId entifier", + "Ġca using", + "Ġpossib ly", + "=\" $(", + "New Line", + "Ġintro duced", + "Ġin ternet", + "Ġde limiter", + "erm ine", + "Ġexp onent", + "wr ong", + "P ic", + "ĠG od", + "ant a", + "yst ick", + "Ġsp in", + "send Message", + "Game Object", + "ĠScal ar", + "erra form", + "Ġshort cut", + "E le", + "E lastic", + "W nd", + "] ];", + "re dd", + "he matic", + "Ġn l", + "get Object", + "De p", + "gl m", + "Ġdec ide", + "âĢĶâĢĶ âĢĶâĢĶ", + "r k", + "ck o", + "ĠF E", + "Ġcol lapse", + "Ap ache", + "Ġsubmit ting", + "s ampler", + "Ġl g", + "sign up", + "ç» Ĩ", + "Ġdraw ing", + "en z", + "-> \"", + "è¯ į", + "ĠW ed", + "what wg", + "Ġt bl", + "ĠIn ject", + "Ġcom m", + "doc utils", + "Call er", + "R V", + "f ifo", + "ç ¯", + "S parse", + "l ifecycle", + "screen shot", + "T ET", + "w iz", + "Ġ Ċĉĉĉĉ", + "get Client", + "ĠSV G", + "D G", + "Ġkernel spec", + "icult y", + "§ º", + "Ġem o", + "åĢ ¤", + "pro of", + "WN ER", + "ëĬ ¥", + "á Ģ", + "Ġt em", + "Ġwh itespace", + "ĠCol lect", + "\">{{ $", + "h ol", + "(' ../../", + "å¦Ĥ ä¸ĭ", + "Ġplay ing", + "ĠSign ature", + "说 æĺİ", + "ut t", + "ec x", + "m igrations", + "TER M", + "Append Line", + "dir ty", + "k ubectl", + "at ie", + "Ġ[ @", + "ĠN a", + "ãģ ©", + "ĠRe p", + "Ġ~ /", + "æľĢ 大", + "H AVE", + "h en", + "match ing", + "ا ر", + "缸 åħ³", + "ĠRet rieve", + "Ġp ul", + "Tr aining", + "Group Id", + "EXT ENSION", + "Ġcó digo", + "Ġge om", + "ÑĪ Ð¸", + "Ġ iz", + "access or", + "åij ¨", + "n orth", + "Cont ainers", + "Ġâ §º", + "math bb", + "L ife", + "P ing", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "\"} ]}", + "Ġdetermin ed", + "> \")", + "ak ed", + "arch ives", + "cho ices", + "W heel", + "Out come", + "Start up", + "Ġpost Index", + "sub net", + "war ded", + "Ad apt", + "Ġenable s", + "DEFIN ED", + "Ġt ries", + "Ġn atural", + "ir s", + "AC COUNT", + "Buffer Size", + "ĠVariable s", + "Ġf avor", + "Ġj wt", + "Ġget Id", + "DE CRE", + "Av g", + "A ware", + "Sp inner", + "FOL DER", + "w Y", + "Ġbro ker", + "ERN EL", + "Y ii", + "ut y", + "Ġa y", + "greg ator", + "à ¹", + "ĠGet ting", + "ĠBl ack", + "Ġd raft", + "ĠB reak", + "iter ation", + "> );", + "re serve", + "} ${", + "Ġcl Set", + "Met er", + "ich ael", + "IF ICATION", + "n k", + "Cont ain", + "Tr an", + "min ute", + "I j", + "U ART", + "w elcome", + "ĠSub L", + "cons ume", + "å¯ ¾", + "Edit ing", + "li min", + "ĠW S", + "... \");", + "ĠState ment", + "Ġì§ Ģ", + "åı ¥", + "mac ros", + "Pag o", + "Ġcapt ion", + "S ynchron", + "S ymbols", + "a ad", + "st udy", + "H K", + "Ġr isk", + "Ġcontent Type", + "åĩ ł", + "y ond", + "Ø ´", + "ĠD T", + "Ġm achines", + "Ġap lik", + "Ġserial VersionUID", + "Col s", + "cs i", + "è¯ ¦", + "SC REEN", + "ĠComp lex", + "Ġsaved InstanceState", + "lcs Setup", + "+ $", + "S ocial", + "s se", + "Ġre positories", + "ĠA SP", + "per centage", + "dis pose", + "ins ide", + "zz le", + "ĠMod ify", + "Ġin ser", + "Ġg ulp", + "M ARY", + "it ar", + "Ġv en", + "O m", + "ĠP anel", + "æŁ IJ", + "z c", + "ĊĠĠĠ ĊĠĠ", + "Ġtr ailing", + "Pro f", + "De leg", + "AN K", + "fl ight", + "m apped", + "ĠEx cel", + "Ġfl ux", + "an on", + "Ġ= ================", + "Ġb p", + "**** */", + "predi ction", + "erequis ites", + "Ġs andbox", + "qu i", + "é es", + "es Module", + "B IG", + "S OR", + "SC ALE", + "aut iful", + "Ġw rote", + "ĠL ANGUAGE", + "н ой", + "ÅĻ ÃŃ", + "Ġaff ili", + "ĠImplement ation", + "in cluding", + "Ġw ww", + "æĹ¥ å¿Ĺ", + "Ġan swers", + "ant idad", + "Read ing", + "range s", + "ãģĮ ãģĤ", + "sil on", + "h anced", + "new command", + "ä¸Ń åĽ½", + "seg ments", + "Ġintro duce", + ":::: ::::", + "global s", + "grid BagConstraints", + "W K", + "is hes", + "sp aced", + "Cont inu", + "Int Array", + "ĠErr Invalid", + "Ex clude", + "Ġurl s", + "warning s", + "d uplicate", + "g son", + "| '", + "Ġdata Source", + "export er", + "è¿Ļ æł·", + "ro g", + "ĠD ashboard", + "po ssible", + "Ġac cessed", + "entic ator", + "poly gon", + "ë ĮĢ", + "Ġst ay", + "Ġoverride s", + "F UL", + "Ġto k", + "ID X", + "################################################################ ########", + "m ate", + "(/ \\", + "deb ian", + "read ing", + "ne cessary", + "ALPH A", + "LIBR ARY", + "b ab", + "ĠB log", + "ĠVR Type", + "Ġl ift", + "æ¡ £", + "Ġwe ather", + "ĠZ ERO", + "Rem aining", + "k bd", + "it Ãł", + "ense mb", + "atom s", + "normal ized", + "ĠG ENER", + "ĠPro ps", + "ile stone", + "Ġ\\ <", + "Default Value", + "?> \"", + "Ġextract ed", + "Ġbu ff", + "ffic i", + "! ',", + "P oll", + "l us", + "fa q", + "½ Ķ", + "ĠR UN", + "ĠEx change", + "Ġtool bar", + "Initial izer", + "", + "an z", + "Ġp ushed", + "In sets", + "ĠD S", + "д а", + "Ġpoly gon", + "id ers", + "Author ity", + "de vel", + "ĠM utable", + "][ <", + "ĠìĿ ¸", + "J ar", + "FI FO", + "Pre cision", + "(* )", + "Bar rier", + "A rial", + "¡ ãĤ¤ãĥ«", + "at on", + "li braries", + "Ġde dic", + "to ctree", + "set Color", + "IL ayout", + "local Storage", + "Ġsc anner", + "ç¾ ¤", + "bu kkit", + "ภĦ", + "agent o", + "fold ers", + "P ai", + "ĠS hell", + "ĠVER SION", + "ĠI gnore", + "ç»ĵ æŀĦ", + "Pers istence", + "Ġschedule d", + "w al", + "Ġv ote", + "Ġ` (", + "eng lish", + "fin der", + "SNAP SHOT", + "H N", + ">/ <", + "get Y", + "Class Loader", + "ĠPR s", + "Ġsk ipped", + "ä½ľ èĢħ", + "abe led", + "p aste", + "y ing", + "Ġm ist", + "Ġis Valid", + "Ġwork ers", + "Ġver ified", + "ë¡ Ŀ", + "pro metheus", + "mo ke", + "Ġbound ing", + "ĠFire base", + "assign ed", + "appro x", + "A utor", + "ภ¢", + "DIF Y", + "Ġsp acing", + "Ġcell spacing", + "ni ques", + "Ġr ust", + "ë¶ Ģ", + "Ġs en", + "end points", + "Ġpro j", + "Ġin voice", + "ĠT rigger", + "Ġ[ ['", + "im ap", + "Ġlet s", + "Ġlook ed", + "Im mediate", + "eli hood", + "re aded", + "ĠSh ader", + "Ġcoll ision", + "In variant", + "Te X", + "PROTO COL", + "Ġk ont", + "*) &", + "Ạ¥", + "Framework s", + " »", + "es m", + "dd d", + "Get ting", + "RO UT", + "Ġerror Message", + "str ar", + "dpi Mode", + "ach in", + "Sl ug", + "ĠPort al", + "with in", + "STR ONG", + "navig ate", + "D AL", + "æ° ´", + "sur vey", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "le ccion", + "Ġlist ening", + "Field Name", + "Ġë° ©", + "ı ¬", + "be havior", + "Ġ] ]", + "S at", + "w ers", + "Ġs park", + "Ġar c", + "Ġs lots", + "SE CTION", + "cr on", + "sn ippet", + "m F", + "Tool Tip", + "Ġ'- '", + "Ġo ct", + "ĠC F", + "Ġend raw", + "sl ave", + "hel m", + "rx js", + "P retty", + "j n", + "ĠE T", + "Pro tection", + "}, \"", + "Ġë ĵ", + "Ġpl ug", + "DAT ABASE", + "m ot", + "Ġre cv", + "Ġm al", + "D TD", + "p itch", + "File Info", + "Ġ}} /", + "Ġvol upt", + "ани е", + "istor ical", + "P END", + "i u", + "ľ ç´¢", + "ĠB IT", + "prop Types", + "r sa", + "Ġ( =", + "Ġu ży", + "ĠWh ich", + "ACT IV", + "p ast", + "Ġ\" ...", + "i loc", + "ï¼ī ï¼Į", + "% ',", + "Ġinter pre", + "Link edList", + "} _{", + "riv ial", + "tx n", + "Ġìŀ Īëĭ¤", + "s ar", + "Ġdef initely", + "H yper", + "T oo", + "Ġsh uffle", + "pos ure", + "pre m", + "Ñĥ ÑĤ", + "NET WORK", + "Ġcheck box", + "cb c", + "AX B", + "` |", + "z es", + "ion ic", + "ĠN avig", + "ĠR ails", + "ĠCom munity", + "% )", + "c rt", + "Comp ression", + "FORM ATION", + "Ġfire base", + "arx iv", + "Ġ{ /*", + "ĠI p", + "Ġe lectron", + "ĠIN PUT", + "ä¸Ģ 次", + "ç» Ī", + "RI X", + "å¼Ĥ 常", + "b ene", + "ĠApp end", + "alle st", + "CONT AIN", + "Ġк оÑĤоÑĢ", + "ut ures", + "Ġs ampling", + "ile ges", + "Json Object", + "Ext end", + "ĠDis k", + "coord inate", + "çݯ å¢ĥ", + "cl r", + ">> ();", + "Auto Size", + "Ġp olicies", + "ĠT i", + "ä» ½", + "Ġre li", + "Set Value", + "Ġpublish er", + "/ \"/>", + "ĠS ans", + "Ġup gr", + "ĠAss oci", + "Ġb ag", + "ãģŁ ãĤģ", + "iv os", + "pri or", + "tag Helper", + "dr v", + "Report er", + "Pag ination", + "X O", + "q b", + "Ġan v", + "ffff ffff", + "Ġcorrespon d", + "ĠA ws", + "Ġdecl arations", + "p lease", + "enc ryption", + "ta u", + "Ġcon vention", + "Al arm", + "Ġmatch er", + "Ġtyp ed", + "Ġpro duces", + "Ġlog out", + "ĠA B", + "ends with", + "monitor ing", + "I de", + "g ather", + "Ġv ulner", + "Ġsub scribe", + "inf ra", + "F il", + ":: *;", + "Ġconfigur able", + "l z", + "Ġdiv ision", + "C are", + "ĠC WE", + "ir us", + "ĠR NA", + "}, {\"", + "Ġd AtA", + "j ira", + "al chemy", + "Order ed", + "Ġali ases", + ": *", + "G round", + "l ife", + "ì ¶", + "Ġ 使ç͍", + "Ġf x", + "ĠArt icle", + "ri os", + "son ic", + "the docs", + "Ġassoci ation", + "Ġf el", + "Ġde leting", + "lf w", + "Ġon Changed", + "c ertificates", + "(); \");", + "ĠO verride", + "ĠW ould", + "bad ges", + "à® °", + "à® ķ", + "fedor aproject", + "cloud flare", + "DIRECT ORY", + "ig er", + "Auth enticated", + "Ġme g", + "ภ«", + "ĠQ ual", + "Ġcall able", + "spec ies", + "synt hesize", + "L V", + "Sh ard", + "Sub string", + "am il", + "Ġk ter", + ">( &", + "Ġë ¬¸", + "f lix", + "=\" \",", + "float ing", + "First Name", + "Fr action", + "åŁ İ", + "embed ding", + "xabab abab", + "Client s", + "gin a", + "ater al", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "Ġab c", + "sk in", + "Ġsign als", + "Ġdefin ing", + "get Connection", + "quiv o", + "Export s", + "Ġpres yn", + "atic ally", + "(( -", + "E t", + "M IL", + "Ġch ip", + "Object Id", + "ĠAs sembly", + "Min us", + "M aint", + "ĠRe gistry", + "Anim ator", + "STOR AGE", + "+ /", + "D ense", + "attach ments", + "SCHE MA", + "I k", + "saved InstanceState", + "v u", + "REQ UIRE", + "DIS PLAY", + "TIM ER", + "ir l", + "Ġload s", + "ĠWe ight", + "ĠThere fore", + "C Q", + "bug s", + "PL ATFORM", + "ĠPr ice", + "ĠSec ret", + "encrypt ed", + "re strict", + "ĠC md", + "sp inner", + "ĠCh ain", + "Key Down", + "ĠMe tric", + "Cal culate", + "ĠH ard", + "Ġslight ly", + "C FLAGS", + "r ub", + "M d", + "P si", + "et ition", + "Ġpost syn", + "Ġest imate", + "s To", + "Ġt ur", + "ĠT y", + "ax ios", + "Ġlat itude", + "Ġcontinu ous", + "Ġtr ab", + "% .", + "Ġs am", + "bo unce", + "Ġover view", + "enum s", + "ìĭ Ŀ", + "ĠArr ange", + "? ',", + "B anner", + "Ġd ar", + "ĠL ET", + "Ġres ume", + "XY Z", + "B RE", + "m otion", + "Ġf ive", + "r abbit", + "Ġbreak s", + "dom ains", + "SING LE", + "Ġg pu", + "ST EP", + "ĠIn voke", + "Ġdis cord", + "DI E", + "ĠSh op", + "break ing", + "Ċĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉ", + "re served", + "Ġcorrespon ds", + "m ixed", + "de part", + "Ġpres ence", + "j am", + "j ure", + "Ġr ich", + "og ener", + "о Ñĩ", + "ĠNE W", + "ĠP HY", + "Ġsome where", + "Get Current", + "Access ible", + "_ $", + "} `)", + "Ġac comp", + "zon al", + "Big Decimal", + "ĠIntegr ation", + "Re positories", + "ther net", + "设 å¤ĩ", + "C pu", + "c plusplus", + "str ftime", + "ess ions", + "assert Same", + "Sp in", + "Ġsk ill", + "ç ¿", + "z ones", + "CO ORD", + "next Int", + "íķ ©ëĭĪëĭ¤", + "A k", + "Case s", + "UST ER", + "sp atial", + "ĠB ro", + "ET H", + "ynam o", + "md ash", + "OT O", + "room s", + "Ġstr aight", + "Ġqu is", + "S CH", + "ad i", + "com bin", + "ĠB er", + "Comp arer", + "Ġparent s", + "S ibling", + "!! !", + "C e", + "Ġz ur", + "VAL UES", + "Ġreceiv ing", + "ä» ĭ", + "Ġ\"- \"", + "\\+\\_\\+ \\+", + "ĠMis sing", + "y ii", + "Ġt im", + "TE L", + "J OB", + "M ID", + "Ġinter section", + "ä¸ĭ è½½", + "' <", + "link y", + "S park", + "n ical", + "Ġre cipient", + "String Builder", + "Ġpre CellId", + "ĠSer ies", + "Ġpost CellId", + "åĨħ åŃĺ", + "DECRE F", + "Ġpresyn apticPopulation", + "Ġpostsyn apticPopulation", + "> ${", + "Ġ( +", + "Ġg i", + "çļĦ æĺ¯", + "start Time", + "Enum s", + "mg mt", + "Ġscr atch", + ": ${", + "â Ī", + "eb ooks", + "Le arning", + "P df", + "ĠT F", + "Ġse u", + "av ail", + "Ġ*) &", + "Ġsup posed", + "ĠT M", + "ify ing", + "Ġac quire", + "ĠAR M", + "H ar", + "ex tras", + "ĠT ri", + "av adoc", + "Ġcomp ress", + "Qu eries", + "ĠPrep are", + "Ġ ------", + "is l", + "Ġexp anded", + "m h", + "m achines", + "X F", + "Ġd l", + "ĠIN D", + "Ġп ол", + "éģ ¸", + "Get s", + "ro st", + "ent ropy", + "reg ions", + "SP ACING", + ", \\\"", + "C i", + "th an", + "nu get", + "tod os", + "ffici ency", + "to Int", + "Ø Ń", + "ĠP AGE", + "per l", + "Ġx hr", + "Format ted", + "ĠTR ACE", + "c q", + "'] =", + "Le arn", + "æµ ·", + "ॠį", + "CON D", + "ĠTime out", + "ITER ATOR", + "ASCI I", + "E H", + "re interpret", + "Ġs ão", + "Ġg cc", + "Ġ[] );", + ") ^", + "co co", + "D Q", + "cl azz", + "check sum", + "Ġass umed", + "Ġdirect ive", + "Ġels if", + "UD P", + "M es", + "l inalg", + "} ()", + "Ġf ocused", + "An other", + "wait For", + "CS R", + "e ur", + "ĠB T", + "Virtual Machine", + "quis ition", + "åı ¸", + "We ak", + "Ġdec ided", + ";;;;;;;; ;;;;;;;;", + "ç¦ »", + "ĠE TH", + "ĠRes p", + "Gr ant", + "Ġp ivot", + "ansp aren", + "border ed", + "åķĨ åĵģ", + "ĠEN V", + "Ġsess ions", + "{{ --", + "m V", + "Ġì °", + "ends With", + "å¼ ł", + "Decor ation", + "S AL", + "ĠJ e", + "Ġdiffer ences", + "Sk in", + "Ġo cr", + "ĠE OF", + "ific a", + "Ġgr ab", + "Import s", + "H ist", + "Z F", + "Ġd up", + "ĠL ambda", + "op p", + "ome tric", + "it an", + "ri an", + "ĠL LC", + "F rag", + "Ġde ps", + "Ġj q", + "AS M", + "Ġoff sets", + "SH ADER", + "ä¾ ¿", + "' }}", + "ap a", + "solution s", + "g is", + "Ġc ookies", + "C ATEG", + "d ifference", + "Ġassert ion", + "Ġident ical", + "ĠInitial izes", + "m ad", + "s x", + "ê ±", + "ch ai", + "Ġh ooks", + "name spaces", + "ĠUNS IGNED", + "Ġs ont", + "G allery", + "ĠMark down", + "Ġc ategor", + "ภķ", + "VID EO", + "m ux", + "Ch oose", + "аР±", + "Wait ing", + "Lex er", + "Ġinvol ved", + "H V", + "p ressed", + "Require s", + "对 äºİ", + "sup plier", + "L M", + "o z", + "å ²", + "ar ı", + "int el", + "Ġdis covery", + "field set", + "Byte Buffer", + "Serialized Name", + "c N", + "r fc", + "it ches", + "sp ital", + "ĠIn to", + "'] ->", + "bl as", + "å£ °", + "H B", + "urn ame", + "ĠIn struction", + "ill ion", + "ĠOn line", + "ĠG a", + "ĠLink edList", + "ãĥĹ ãĥª", + "i ert", + "ex ion", + "Br and", + "ipher al", + "Ġa ud", + "Ġal though", + "Ġpre ced", + "na ire", + "Deserial izer", + "Ġflat ten", + "Ġf ich", + "ĠP review", + "Ġmost ly", + "ĠS an", + "dist rict", + "å¹ ¿", + "Ass unto", + "In ternet", + "ÅĽ Äĩ", + "Ġâĸ Ī", + "is ate", + "Ġm otion", + "ĠM a", + "wait ing", + "wr apped", + "cer pt", + "- '", + "c redential", + "gr ant", + "л а", + "Server Error", + "wo od", + "C NT", + "List ing", + "P id", + "Ġм ож", + "ãģ£ ãģ¦", + "ĠG B", + "EN O", + "SE S", + "cap ed", + "ĠEnd point", + "ãĤ ±", + "л Ñİ", + "Ġë³ ´", + "ost on", + "LI K", + "Ġsupport ing", + "ĠTH REE", + "ĠRef resh", + "h dfs", + "ĠM ultiple", + "os ing", + "n am", + "Ġcontribut e", + "m ero", + "de sk", + "OT HER", + "([ [", + "Ġdi agram", + "cap ital", + "Ġexport ed", + "Front end", + "D s", + "W G", + "own ed", + "ãĢ ij", + "Ġblock ing", + "ĠAL T", + "ac ht", + "Ċĉĉ ĠĠĠĠĠ", + "è¯ Ħ", + "\")) {", + "R Y", + "Ġcondition al", + "F loor", + "i per", + "RO LL", + "ü m", + "Ġб Ñĭ", + "Data Member", + "read thedocs", + "Code d", + "CONST ANT", + "ĠCUR LOPT", + "Ġuser Name", + "ëł ¥", + "M n", + "Ġturn ed", + "V ote", + "Ġre pl", + "Con versation", + "Ġext ent", + "' )))", + "G PL", + "ĠO ld", + "Ser v", + "Ġk i", + "ൠį", + "ensit ivity", + "Ġv ary", + "ãĢ IJ", + "Ġregex p", + ". :", + "Ġf resh", + "ĠK ernel", + "Ġac company", + "? \\", + "c df", + "Ġse crets", + "om o", + "Ġein en", + "LAY ER", + "j Button", + "pr inter", + "Ġcon str", + "čĊĉ Ġ", + "enc ent", + "Or Builder", + "sourceLine No", + "ĠT ARGET", + "M m", + "M ux", + "ç ĸ", + "ĠA lex", + "iz za", + "dec ay", + "注 åĨĮ", + "J E", + "ic ated", + "ic ken", + "text s", + "Gr ay", + "I jo", + "Com m", + "App Data", + "Report s", + "H G", + "H Q", + "Ġs ind", + "Ġ& _", + "Pro pagation", + "'] ).", + "Ġm ent", + "Ġcre ator", + "ĠNot ice", + "æ² »", + "end ance", + "Ġmet av", + "Activ ate", + "æĻ ¯", + "Discard Unknown", + "Ġg iving", + "L K", + "Ġs é", + "im i", + "dd b", + "AG ER", + "EO A", + "Cho oser", + "t ain", + "ĊĠĠĠĠ ĊĠ", + "ĠDis patch", + "scal ing", + "tw ig", + "Ġsem antic", + "å¡ «", + "b ird", + "User Info", + "Ret ention", + "P AD", + "] _", + "ic as", + "print Line", + "tra ffic", + "Ġfe at", + "æıı è¿°", + "q dm", + "Ġk v", + "Mov ement", + "Ġcodigo Assunto", + "ĠcodigoAssunto Pai", + "T ube", + "Z BOT", + "y ang", + "=\" //", + "tom l", + "READ Y", + "าภ£", + "Ġpurch ase", + "allen ges", + "M irror", + "ob server", + "eg g", + "转 æį¢", + "s peech", + "Ġv ocab", + "fr action", + "ĠWork flow", + "Ġvisit ed", + "WH ITE", + "; )", + "B CM", + "n is", + "Ġh ierarchy", + "pen s", + "Ġcell padding", + "Ġcirc uit", + "CL R", + "g ms", + "de ck", + "ff ee", + "list eners", + "ĠKey board", + "Ġke pt", + "Ver b", + "HasBeen Set", + "M ime", + "client e", + "Check ing", + "Ġauth enticate", + "Ġpers istent", + "åį ı", + "ãģ« ãģ¯", + "éĹ Ń", + "H RESULT", + "st orm", + "ĠF S", + "Up dater", + "pack ed", + "ëŀ ĺ", + "ĠC OR", + "ĠC ancel", + "PRE C", + "E asy", + "Pro files", + "ä¸ ĸ", + "lar ı", + "ADD ING", + "cook ies", + "G NU", + "\\ \"\"", + "#### ###", + "Ġk tó", + "Ġcomp ressed", + "mov es", + "M ENU", + "t weet", + "Ġh istogram", + "Ġsist ema", + "ĠĠĠ Ċ", + "yn b", + "Ġcl k", + "feature d", + "coll ision", + "PIX EL", + "li ps", + "\"> @", + "F ETCH", + "start s", + "Ġreject ed", + "pw m", + "X N", + "ä½ľ 为", + "uent a", + "Ġìĭ ¤", + "Ġv or", + "Cont ribut", + "real m", + "h k", + "ext ent", + "base Url", + "PO WER", + "Ġsound s", + "Ġex am", + "ĠU LONG", + "Ġdo lo", + "CO S", + "emon ic", + "Install ation", + "Ġ: ,", + "Ġcol labor", + "Ġa ä", + ".. ...", + "ĠUn ique", + "du ino", + "stri pe", + "debug ger", + "Ġclo sure", + "w end", + "æľĢ åIJİ", + "rand int", + "ab spath", + "Re peated", + "Ġl u", + "ĠÐ Ķ", + "ierarch ical", + "Ġgram mar", + "DR IVER", + "free ze", + "J WT", + "Ġì Ĩ", + "Server s", + "H uman", + "Re cyclerView", + "DE LAY", + "Ip v", + "Ġp ressed", + "are house", + "Ġcl EOA", + "J P", + "c ate", + "IN ET", + "ĠEx periment", + "/** */", + "% |", + "le ge", + "Ġs ampler", + "int p", + "ĠFor ce", + "Writ able", + "serv ing", + "Generic Class", + "| **", + "á ļ", + "ateg ies", + "gre SQL", + "ĠTree Node", + "H AS", + "Ġ= ================================================", + "ĠS un", + "ĠT yped", + "Ġartifact s", + "Seg ments", + "s ynchron", + "get Width", + "to ast", + "TR I", + "å¾ Į", + "Ġâ ī", + "Global s", + "ĠE ither", + "PL U", + "Present ation", + "Ġt iming", + "Ġre strict", + "VE C", + "RAN CH", + "datab ind", + "P olicies", + "st s", + "ĠF O", + "fig size", + "Ġprint ed", + "native place", + "Rep lication", + "d ol", + "Ġpro tein", + "Ġas p", + "Ġpr zy", + "source forge", + "PRO FILE", + "Ñĭ в", + "ĠCan vas", + "ĠOUT PUT", + "ĠíĮ Į", + "l é", + "Ġm ongo", + "get Config", + "Ġ$ __", + ")) ));", + "op h", + "и ÑģÑĤ", + "Trans formation", + "ĠGe ometry", + "S u", + "off sets", + "Ġpost ed", + "éĩ Ĭ", + "edit able", + "ĠÑĩ ÑĤо", + "al p", + "ĠA m", + "Ġl it", + "ĠM E", + "off setof", + "Ġspecific ally", + "ac ob", + "Ġë ²", + "ah an", + "Car bon", + "Ġsin on", + "ĠErrInvalid Length", + "q f", + "ur u", + "CO VER", + "Ġë§ Į", + "< (", + "H istogram", + "Ġg old", + "Regression Test", + "ellig ence", + "(\" *", + "mem set", + "Ġmod ern", + "Mouse Event", + "` ?", + "Ġn r", + "ĠGL uint", + "ĠEN ABLE", + ". ';", + "× ª", + "Ġb all", + "++ +", + "Mode s", + "fw link", + "G ram", + "J L", + "Ġn ginx", + "Ġin fer", + "ÑĢ ÐµÐ´", + "mem Item", + "éĢ Ĵ", + "Current ly", + "alloc ated", + "MEDI A", + "Ġbuilt in", + "S vg", + "un ordered", + "Ġde lla", + "ĊĊĉ Ġ", + "Main Window", + "Ġtech nology", + "O A", + "O st", + "Ġd aily", + "AN E", + "red uc", + "Success ful", + "Ġë³ Ģ", + "à ¶", + "Ġ& (", + "und ant", + "Dig it", + "æĴ Ń", + "j r", + "dis covery", + "Generated CodeAttribute", + "qu art", + "Ġget Value", + "Is In", + "ĠNew s", + "Type Info", + "Add ing", + "Big Integer", + "h g", + "q w", + "Ġst oring", + "add Child", + "æĿ Ł", + "BO ARD", + "; \">", + "ĠIn ternational", + "Ġìł Ħ", + "Ġ Ċĉĉĉĉĉ", + "Ġd ont", + "ĠI V", + "Ġtyp ings", + "Ġê° Ļ", + "ãģķ ãģĦ", + "yout u", + "на Ñĩ", + "ĊĠĠĠĠ Ċ", + "ĠB ASE", + "ĠJ ohn", + "inter action", + "Action Bar", + "PO INTER", + "A pr", + "d na", + "ap os", + "iz en", + "dat os", + "Ġ^ =", + "ä»» ä½ķ", + "co sm", + "Ġg uest", + "R aster", + "m vc", + "s ible", + "im on", + "ĠD rag", + "Pro filer", + "Un authorized", + "full screen", + "çĻ ½", + "Ġcollect ed", + "P ATTERN", + "Ġb ulk", + "end ors", + "Claim s", + "N b", + "al con", + "Ġ\" }", + "pl ug", + "ĠRe produce", + "IC Ag", + "vid or", + "Jo urnal", + "ar ded", + "); }", + "ee per", + "Av ailability", + "S un", + "~ |',", + "Æ ¡", + "tre es", + "Ġep isode", + "ise ase", + "Global Namespace", + "DOT OMP", + "ĠP si", + "emp lo", + "Edit able", + "set Id", + "ĠInter val", + "Ġre cover", + "Ġal bum", + "ĠClass ification", + "Ġauto complete", + "ession al", + "J U", + "ad in", + "Ġd ies", + "sc ue", + "ĠR FC", + "Log out", + "Ġinherit ed", + "Y Z", + "ĠH H", + "ä» Ĭ", + "std in", + "Ġtrans formed", + "Cor ner", + "Ð ł", + "Ġt riggers", + "RO ID", + "Ġnum ero", + "We ights", + "i prot", + "Ġn ach", + "set Font", + "ĠN aN", + "Ġ'+ ',", + "Ġscen arios", + "in ion", + "in ode", + "Ġ* >", + "il ir", + "Ġfor got", + "Ġl b", + "te k", + "æĺ¯ ä¸Ģ个", + "Ñī и", + "d ings", + "r idden", + "re ement", + "Ġz e", + "Ġinter pret", + "Ġt amb", + "str Homeaddress", + "æĸĩ 竳", + "clo sing", + "ĠIllegal StateException", + "Ġprot otype", + "get Active", + "stri ped", + "éĶ ģ", + "ĠпÑĢ Ð¾", + "Ġl ack", + "е ÑģÑĤ", + "Ġhighlight er", + "contract s", + "ç´¢ å¼ķ", + "y un", + "ig a", + "t iles", + "v ation", + "ĠE mployee", + "date Time", + "IT AL", + "ĠTr a", + "\" ',", + "co uld", + "ĠR ate", + "Ġpage Size", + "Character istic", + "lo de", + "Ġan imated", + "ĠS can", + "LL U", + "Ġagre ement", + "ĠAre a", + "Ġ är", + "ĠâĢ ŀ", + "ĠEqual s", + "W B", + "cip es", + "Ġaw esome", + "í Į", + "Ġs ufficient", + "Drop Down", + "C sv", + "E VAL", + "in de", + "le ader", + "Ġv l", + "CO LL", + "IP v", + "{} {", + "Ġ «", + ", )", + "æ ©", + "AL OG", + "ãģ¦ãģĦ ãĤĭ", + "w asm", + "Ġre n", + "que t", + "so ap", + "Table Cell", + "R ename", + "n ak", + "Ġsh aring", + "Response Writer", + "Ġacc ur", + "ĠDES C", + "Ġvot re", + "C ERT", + "K A", + "ĠP ag", + "af ety", + "Ġíķ ´", + "ogener ated", + "' %", + "I ENT", + "IN TR", + "Õ¡ Õ", + "Ġb ooks", + "ĠT ake", + "Condition al", + "scr atch", + "ĠBig Integer", + "ãģĹãģ¦ ãģĦ", + "s us", + "ĠW rapper", + "ĠDis pose", + "Con vention", + "Ġch r", + "ans wers", + "aw ay", + "back ward", + "mon y", + "Ġwidget s", + "Ed m", + "ĠPar ams", + "ž e", + "ansparen cy", + "co lour", + "ĠF un", + "Request Body", + "Ġm igr", + "ĠS afe", + "SETT ING", + "just ify", + "ĠTerm inal", + "L N", + "le ter", + "ĠC UDA", + "ID S", + "Sub scriptions", + "web p", + "Design er", + "ани Ñı", + "Ġi e", + "Ġmin i", + "Ref s", + "ĠDes ktop", + "ws z", + "Val or", + "Method Name", + "success ful", + "F a", + "M andatory", + "r er", + "ut ors", + "ãģ ³", + "labelled by", + "C UP", + "ome ter", + "Ġspec ies", + "ĠY AML", + "B illing", + "se lenium", + "og o", + "âĸ ij", + "S ong", + "er al", + "Ġpre g", + "KEY S", + "MIS SION", + "ast a", + "chunk s", + "ĠPri ority", + "S coped", + "In form", + "Ġ` {", + "Con d", + "Var i", + "ĠQ U", + "è¿ĩ ç¨ĭ", + "ĠOb j", + "Ñĥ д", + "); \\", + "h v", + "Ġc make", + "Ġre write", + "Ġd yn", + "ĠE q", + "DC ALL", + "Ì Ģ", + "OR ITY", + "exec utable", + "Cell Value", + "ek yll", + "H ero", + "Ġp á", + "ANCE L", + "ĠLogger Factory", + "bas is", + "ĠCUR RENT", + "o ssible", + "error Message", + "read me", + "ĠIN ST", + "MOT E", + "A mb", + "ew idth", + "Le ader", + "m il", + "as ı", + "Product o", + "Ġhold ing", + "Wr apped", + "N z", + "Ġpro ceed", + "ä» ħ", + "äº ij", + "Ġb ib", + "... \")", + "Ġback ward", + "Ġcons ists", + "Red uce", + "Ġæ Ł¥", + "# >", + "par ation", + "add Widget", + "éĸ ĵ", + "Args Constructor", + "æĸĩ æ¡£", + "Ġbe yond", + "ĠData Type", + "Iter ation", + "get Selected", + "av our", + "To Lower", + "Of Type", + "Der ived", + "Ġre mo", + "(\" (", + "AD S", + "Ġnon ce", + "Ġmark up", + "ced ures", + "o val", + "el er", + "ig id", + "ĠD iff", + "eth ere", + "w izard", + "Un def", + "Web View", + "Mon ad", + "track s", + "ĠWork er", + "s uch", + "SE rror", + "éĻ ħ", + "m z", + "ind s", + "Layout Params", + "ĠSw ift", + "订 åįķ", + "achin ery", + "ie ved", + "大 å°ı", + "pag inate", + "Ġз ап", + "b ac", + "Ġ Ñı", + "Ġp ic", + "pt ide", + "A mer", + "in ar", + "ĠL ab", + " *{", + "Do ctrine", + "custom ers", + "è§£ åĨ³", + "Radio Button", + "get Height", + "Token izer", + "Ġmis match", + "styl us", + "G amma", + "ri val", + "Ġread me", + "Ġ\"\\ [", + "tr uth", + "Get Object", + "]) ->", + "ĠK on", + "åIJ ¬", + "ĠNot ify", + "Multip licity", + "a str", + "re ordered", + "ert ext", + "iter ations", + "Ġpart icles", + "tri al", + "ĠProcess ing", + "åŁº æľ¬", + "Ġid le", + "ash ing", + "access Token", + "Marshal er", + "Ġf ul", + "Ġin ference", + "Ġy arn", + "ne ighbor", + "ons or", + "Ġsub scriber", + "CK ER", + "Ġassume s", + "^^^^^^^^ ^^^^^^^^", + "it z", + "base url", + "Ġo w", + "ĠÐ ŀ", + "Ġconnect ing", + "Ġevalu ated", + "Ins ight", + "S ector", + "č čĊ", + "om aly", + "'] [$", + "Se verity", + "New object", + "ĠA w", + "Ġevent Type", + "ãģ§ãģį ãģ¾ãģĻ", + "W as", + "tr ash", + "åĩº çݰ", + "Ġre qu", + "Ġqu it", + "se mp", + "ur on", + "sk u", + "æķ° éĩı", + "MO V", + "Char acters", + "éĢ Ĥ", + "F ade", + "se cs", + "ut zer", + "Ġto pology", + "import s", + "not ebook", + "Element Type", + "REQ UIRED", + "ĠSto ck", + "Real m", + "al ready", + "local s", + "Dis posable", + "Ġs g", + "Ġm olec", + "ard en", + "pre g", + "Ġclick ing", + "H U", + "Ġa ã", + "ĠCO UNT", + "ĠìŀĪ ëĬĶ", + "ĠíĶĦ ë¡ľ", + "AD ATA", + "Layout Manager", + "SUPPORT ED", + ": &", + "lo k", + "ĠR oll", + "sy scall", + "se crets", + "an to", + "tri angle", + "\" });", + "ig s", + "ĠP ress", + "Ġ: +", + "Ġz eros", + "du stry", + "call er", + "ĠTime Unit", + "ĠM UST", + "gr a", + "è§ Ī", + "Export er", + "F ood", + "th m", + "Ġcon current", + "Ch apter", + "func s", + "éĩ ĩ", + "T utorial", + "Ġpro tection", + "ffff fff", + "Ċĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉ", + "Ï Ģ", + "Comp ress", + "%% %", + "åıĸ å¾Ĺ", + "ĠChange d", + "å®ī åħ¨", + "Y I", + "Ġs parse", + "ĠC ourse", + "Pro tected", + "Ġk l", + "View Group", + "Ġq s", + "ĠTe le", + "recip ient", + "Navig ator", + "LE M", + "pb erry", + "Ġb ins", + "Ġwe ird", + "b atis", + "de ath", + "Ġf riends", + "Ġdynamic ally", + "ENS OR", + "ĠB enchmark", + "data Provider", + "stream ing", + "ãĥ¼ãĤ ·", + "Ġepoch s", + "ĠDeprec ated", + "L IT", + "k ol", + "ÑĢ Ð°Ð½", + "BO SE", + "R N", + "SI MP", + "Min or", + "çĤ¹ åĩ»", + "h f", + "ĠD an", + "ph ys", + "DO CS", + "Ġplay list", + "adv ance", + "% \",", + "Ġ< :", + "scri bers", + "upt ools", + "A i", + "+-+- +-+-", + "ak si", + "Ġо п", + "ĠM c", + "ĠB ank", + "string stream", + "has is", + "Ġpr ze", + "pa id", + "iet y", + "n j", + "un expected", + ")) )))", + "Ġtri angle", + "Ġturn s", + "h um", + "ri k", + "Ġhe ld", + "åĬ ©", + "ĠA ES", + "Ġ@ _;", + "pert arget", + "open shift", + "evalu ation", + "ĠìŀĪ ìĬµëĭĪëĭ¤", + "jav ase", + "Ġn aming", + "ĠT x", + "am t", + "to pology", + "OR G", + "author ize", + "p references", + "est ado", + "Ġg lyph", + "ax e", + "Ġob servation", + "get Request", + "gt k", + "Reg ions", + ". ](", + "o ber", + "o ft", + "p refs", + "Ġpro ducer", + "Action Result", + "first name", + "ĠCheck list", + "Ġweek s", + "MARK ER", + "f type", + "Ġde letion", + "Sh ipping", + "trim Data", + "Rep lica", + "; ',", + "x FE", + "gr up", + "Response s", + "Per m", + "//////////////// ////////", + "åѦ ä¹ł", + "Ġ[ \\", + "ĠW atch", + "product o", + "Pre set", + "T im", + "ĠC ertificate", + "Ġname of", + "Ġend for", + "List en", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠMe asure", + "ä½ł çļĦ", + "ĠA z", + "Ġde mand", + "Ġpro x", + "cd ot", + "White Space", + "ref lection", + "Ġen hance", + "R AT", + "] ==", + "re covery", + "Ġ( ^", + "Ġcon sum", + "Sk y", + "Launch er", + "> ')", + "L on", + "ĠMessage s", + "Ġp ac", + "ĠY ork", + "cd c", + "D SL", + "Ġm igrate", + "Ġv ideos", + "Re start", + "sc i", + "Ġshould Be", + "Ñİ ÑĤ", + "is Active", + "ĠB oot", + "En gl", + "Ġarea Code", + "B a", + "en queue", + "ĠD ot", + "IT CH", + "%; \"", + "CB C", + "Fetch er", + "//////////////////////////////////////////////////////////////////////// ////", + "= #", + "g db", + "j on", + "min der", + "vo ices", + "PY R", + "Play ing", + "èĩª å®ļä¹ī", + "m ixin", + "t ada", + "ì £¼", + "acc umulator", + "Ġupper case", + "ãģı ãģł", + "Ġintern ally", + "Form ula", + "Ġemo ji", + "F Q", + "Ġs oc", + "ĠI K", + "Ġpro jet", + "Start Date", + "ĠFor ward", + "Ġserial ization", + "( ...)", + "s amp", + "z p", + "Ġ__ (", + "IZ ED", + "bel ongsTo", + "In side", + "Context s", + "Class ification", + "Play back", + "cons ult", + "Ġinf rastructure", + "Ġv p", + "Ġ@ $", + "ภĽ", + "ঠ²", + "conf irmed", + "agent s", + "Appro ved", + "J C", + "eb x", + "game Object", + "B ooks", + "C ategor", + "ĠT Type", + "list a", + "Ġauth enticated", + "writ able", + "ĠDeploy ment", + "ĠMongo DB", + "Ġm appings", + "to Json", + "Ġy s", + "Ġarea Name", + "Static s", + "ĠCur sor", + "Ġs po", + "ne eded", + "äº Ķ", + "rt l", + "Ġsk ills", + "Ġa md", + "St udy", + "are na", + "user Info", + "xls x", + "Ġê²½ ìļ°", + "! ')", + "C ritical", + "V V", + "ĠJ un", + "AD IE", + "U O", + "ě [", + "local ization", + "* );", + "E FF", + "r ace", + "Ġp itch", + "sp a", + "Ġspr ing", + "A ug", + "dis cussion", + "Filter ed", + "Ġutil ities", + "Ġê° ľ", + "at ars", + "ĠE mit", + "UN K", + "ĠRE AL", + "ðŁ Ķ", + "ha ust", + "è´ ¦", + "ro fit", + "te er", + "Ġcont in", + "模 åĿĹ", + "at trib", + "Ġ// @", + "S and", + "ĠD en", + "Last Error", + "BL ACK", + "S ID", + "Ġd in", + "---------------------------------------------------------------- ------", + "ĠAssert ion", + ". }", + "í ħ", + "Text Color", + "ens ibility", + "Ġfield Name", + "havi ors", + "Ġrespect ively", + "Ġa pr", + "Ġe gy", + "Ġmut ex", + "lu ÅŁ", + "ĠDist ributed", + "B ullet", + "Ġf oot", + "Ġ% {", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ah l", + "cor pus", + "èĢ ģ", + "Ġæ ı", + "Sim ilar", + "Ġa ê", + "ĠB I", + "... ,", + "real time", + "示 ä¾ĭ", + "_ *", + "int Value", + "ĠB est", + "Ġentire ly", + "() ):", + "ĠR ich", + "Op code", + "Cap s", + "Ġpredict ed", + "= .", + "J Label", + "INTER VAL", + "SAMP LE", + "TOT AL", + "Ġh ab", + "qu a", + "Action Performed", + "Ġoff line", + "à «", + "ĠS urface", + "block ing", + "SPE ED", + "N AT", + "Y aml", + "ĠS IM", + "Service Impl", + "Ġì £¼", + "Ord inal", + "K afka", + "t ros", + "w get", + "Ġk ann", + "Ġus u", + "(_ ,", + "Inline Data", + "ow e", + "åĨ Ľ", + "Release d", + "s ans", + "is ms", + "VER B", + "Ġport ion", + "cogn izer", + "ãĤ¯ ãĥĪ", + "Ġalloc ator", + "MON TH", + "Ġreceiv es", + "Ġsee k", + "CUR ITY", + "% >", + "Ġk n", + "author ity", + "ç§ Ĵ", + "Ġm aj", + "ĠIN VALID", + "Last Name", + "Internal s", + "Register Type", + "ä½ İ", + "mod s", + "Visual Studio", + "Ġclaim s", + "C Sharp", + "E ven", + "R ich", + "ij ľ", + "me ster", + "Ġl da", + "(' ',", + "IN VAL", + "err ing", + "Dat um", + "J OR", + "} />", + "× ©", + "á c", + "ular io", + "`. `", + "over lap", + "Ġpoint ing", + "ĠSub mit", + "there um", + "H F", + "ĠS R", + "Re covery", + "ime d", + "und a", + "ne k", + "Ġgr an", + "Expression UUID", + "B V", + "Ċ Ċĉĉĉĉĉĉ", + "ĠNS Object", + "uplic ated", + "/ __", + "ĠCh unk", + "ĠCall ing", + "Ġcross origin", + "(\" \\\\", + "ĠF ORM", + "ĠF lat", + "trans lations", + "> --}}", + "ĠB ORDER", + "date picker", + "ãģıãģł ãģķãģĦ", + ", #", + "if ts", + "Ġl argest", + "__ ((", + "Ch allenge", + "ĠM art", + "Ġ: ]", + "lin ing", + "ÃŃ st", + "Ġaw k", + "> ) {$", + "Comp ressed", + "ĠS core", + "Ġen ded", + "Ġsub class", + "Content View", + "conf lict", + "T v", + "W izard", + "k le", + "ĠC AP", + "To File", + "lit ude", + "Message Box", + "Ġw or", + "Ġident ifiers", + "M illi", + "oo keeper", + "pop ulate", + "ur an", + "åĽ ´", + "Web site", + "Ġparse Float", + "ê° Ħ", + "ĠFL AG", + "mess aging", + "H dr", + "P g", + "[ `", + "ic os", + "Ġreduc ed", + "Ġ( ))", + "ĠV oid", + "Ġsh util", + "<<<< <<<<", + "s ampling", + "Ġm irror", + "Inter section", + "STR ICT", + "@@ @@", + "ĠProto Message", + "æİĴ åºı", + "b ec", + "in fer", + "sp ort", + "ia lect", + "EE K", + "主 è¦ģ", + "Ġcomplex ity", + "æĥħ åł±", + "ĠOpt im", + "ig t", + "Ġcon verts", + "wa res", + "Ġm andatory", + "iz ação", + "Ġinter ceptor", + "Ġa an", + "ãĥĥ ãĥĹ", + "Embed ded", + "CE LL", + "ĠAR G", + "Monitor ing", + "W V", + "Ġre named", + "Ġro l", + "ĠLog ging", + "Ġconstruct ed", + "t ier", + "me ans", + "ow a", + "ĠR ound", + "ĠPer formance", + "get Next", + "ast ro", + "page Size", + "Pair s", + "x hr", + "ĠA Z", + "ĠG em", + "emp h", + "Leg acy", + "im show", + "Ph rase", + "ĠModel s", + "SK IP", + "p om", + "Ġ( ;", + "Ġe quation", + "K ERNEL", + "ĠC ulture", + "Ġel astic", + "so lete", + "Sub st", + "DB us", + "GL enum", + "ĠZ ip", + "ä¾ĭ å¦Ĥ", + "Ġocr text", + "ĊĠĠĠĠ ĊĠĠĠĠĊĠĠĠ", + "Ġ== >", + "check ing", + "M en", + "Off sets", + "inv ite", + "Ġcs rf", + "nest js", + "N ome", + "Ġt ap", + "enum erate", + "cons istent", + "客æĪ· 端", + "Ġt ak", + "cy c", + "rs quo", + "æĸ° çļĦ", + "Ġsay ing", + "pit est", + "C DR", + "b or", + "} ^", + "Ġb ed", + "Ġlist Of", + "CO D", + "Ġpop ular", + "ê ncia", + "move To", + "cs r", + "Ġfiles ystem", + "Ġpi eces", + "Ġre views", + "rom ium", + "ref errer", + "roll ing", + "item ap", + "sub scriber", + "inf late", + "month ly", + "b pm", + "ĠS al", + "ak et", + "Ġdisplay Name", + "Ġtermin ate", + "W i", + "v j", + "ing ress", + "Ex plo", + "Se p", + "Ġli bc", + "Un less", + "Run With", + "c rit", + "Al ways", + "ĠRel ated", + "x o", + "ç Ĺ", + "ภ°", + "Ġmod ifications", + "****** */", + "T p", + "l ude", + "Ġw ind", + "Ġtr ad", + "Ġro b", + "Open ed", + "Ret rieve", + "@ \\", + "ĠT im", + "Ġdedic ated", + "Ġrecord ing", + "Cancel led", + "ĠC ERT", + "qu eda", + "Ġx fer", + "UN SIGNED", + "Ġexpect s", + "ê² ½", + "W J", + "Ġg s", + "pi ed", + "Ġinter mediate", + "an alyzer", + "Ġd ropped", + "Ġst ars", + "ME TR", + "Ġlast Name", + "ĠVAL UE", + "еÑĤ ÑģÑı", + "ĠP A", + "ĠP ool", + "Ġsign ing", + "éĢ Ģ", + "åħ ī", + "Internal Frame", + "ĠGen Inst", + "à± į", + "re ts", + "ert ütsch", + "state ments", + "sch wiz", + "Ost schwiz", + "Ostschwiz ertütsch", + "Ġj a", + "Ċĉĉĉ Ċĉ", + "ĠRe presents", + "Ġdis cover", + "CH ANG", + "gram mar", + "PO OL", + "End points", + "l ings", + "č Ċĉĉĉĉĉĉĉĉĉ", + "ĠTh us", + "GL uint", + "ICO DE", + "us ive", + "qu iz", + "Ġpro g", + "rol led", + "ĠMET HO", + "YE AR", + "Ġrout ines", + "Ġr ho", + "Ex c", + "ik it", + "Axis Alignment", + "âĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢ âĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢâĶĢ", + "DEFIN ITION", + "ãĥ¼ãĤ· ãĥ§ãĥ³", + "In verse", + "ĠUn icode", + "tt f", + "met al", + "Ñĭ й", + "K K", + "title s", + "font Size", + "аР¶", + "y ling", + "åį °", + "Ġappro ved", + "Fire base", + "ff old", + "Ġsig u", + "Ġdiscus sed", + "Ġthumb nail", + "ac redit", + "ĠL orem", + "Ġexp ires", + "ĠUtil ity", + "PK G", + "I STR", + "ĠP H", + "Key words", + "C ash", + "C ipher", + "M ont", + "g ent", + "p ie", + "ur ance", + "if s", + "Ġsca led", + "G lyph", + "end ant", + "Int Overflow", + "ra pe", + "ĠSQL Exception", + "é¢ Ŀ", + "ĠNe ither", + "N r", + "S SE", + "pp y", + "Api Model", + "g fx", + "m oid", + "± оÑĤ", + "Ġf az", + "pro vision", + "ve h", + "Ġë Ķ", + "ĠNull PointerException", + "[ +", + "de crypt", + "ĠT om", + "Ġde g", + "mat ter", + "en es", + "Ġan onymous", + "key Code", + "Ġso lo", + "å· ŀ", + "ú mero", + "ĠD avid", + "op unto", + "Ġi outil", + "bo b", + "og gle", + "äº «", + "Ġapply ing", + "marshall er", + "ĠDig ital", + "acredit opunto", + "F lip", + "J et", + "yst al", + "Par ame", + "LO OP", + "se at", + "ne o", + "zu ot", + "ubleshoot ing", + "st em", + "um s", + "Trans lator", + "Ġ~ =", + "an other", + "Ġs ales", + "Ġre use", + "Ġfor get", + "box ed", + "Ph i", + "ĠLoc ale", + "ĠP ot", + "Ġit emp", + "ard own", + "Par agraph", + "ĠSt ats", + "Review er", + "')}} \">", + "Ġdiscus s", + "Ġregard less", + "Ġ ....", + "Ġd to", + "con j", + "Ġco lo", + "ĠSubL Object", + "r ack", + "get Entity", + "ĠT er", + "pre set", + "ĠBU ILD", + "Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠD C", + "RE V", + "SE TP", + "aw k", + "ãĥ³ ãĥī", + "cdn js", + "A ud", + "M illiseconds", + "VER IFY", + "Ġt l", + "Ġ( ),", + "ĠC M", + "ĠGL float", + "ro c", + "Ġpro files", + "ĠMap s", + "Confirm ation", + "mutation test", + "t al", + "if th", + "ĠA DIE", + "Ġpr inter", + "× IJ", + "el en", + "Ġh ist", + "Re cipient", + "sh apes", + "Ġ! $", + "Ġdis connect", + "Com munity", + "Sp atial", + "ĠVis it", + "ĠSm all", + "Ġpress ure", + "ĠMov ie", + "k lass", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "re mark", + "Ġt gt", + "Re ceipt", + "ir al", + "data Type", + "cre st", + "Inst alled", + "íķĺ ìŬ", + "d ock", + "Ġc pp", + "Ġs ich", + "Ġinterpol ation", + "ail er", + "ãģĦ ãģ¦", + "Ġkeep ing", + "direct ive", + "ĠCONT ENT", + "Ġp references", + "ĠA X", + "B ed", + "ĠW M", + "Ġ(! _", + "has il", + "è½ ¯", + "Clo sure", + "ĠDESCRIP TION", + "d sl", + "aj o", + "con struction", + "Spec ified", + "att ice", + "ĠDo ctrine", + "ĠRead Only", + "ınd a", + "Sub mission", + "replace All", + "z Äħ", + "ĠM I", + "pro blems", + "Fl ight", + "DD L", + "Ġঠķ", + "FIL L", + "Ġcomp osite", + "artifact s", + "ĠM ut", + "circ uit", + "U m", + "ĠP en", + "Ġfix ing", + "dot s", + "Writ ten", + "= @", + "pro v", + "Ġ*/ }", + "transform er", + "Ġc decl", + "Ex plorer", + "ĠCon ference", + "ĠUn able", + "ĠØ ª", + "çŃ ĸ", + "flat Map", + "Physical Device", + "Ġan imate", + "Ġк ак", + "ĠIm Gui", + "REN DER", + "i Pago", + "st ash", + "out ines", + "database s", + "Play list", + "è¶ ³", + "alib aba", + "Ġp reference", + "os ome", + "Ġperform ing", + "Ġdriver s", + "add To", + "add ons", + "ĠK e", + "CH AIN", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "get env", + "pt ember", + "ĠC MD", + "Ġex pl", + "RO S", + "As sessment", + "Ġк он", + "flash data", + "Sem antic", + "C rypt", + "us ize", + "Ġget Current", + "Ġ> \"", + "g rep", + "Ġb il", + "get Component", + "am iento", + "ww dc", + "GL BINDING", + ">` _", + "ĠÄ į", + "R FC", + "ë Ħ", + "div ision", + "е ÑģÑĤв", + "Layout Panel", + "To One", + "base line", + "default Value", + "ĠEn v", + "interopRequire Default", + "cl amp", + "Ġcomp oser", + "LOG IN", + "Ġcontribut ing", + "Ġeps ilon", + "d ac", + "th y", + "ĠR ay", + "ãĥ Ļ", + "text Box", + "express ions", + "P et", + "Ġde b", + "'] .'", + "ĠDet ail", + "ãģķãĤĮ ãģŁ", + "ĠLa unch", + "N an", + "mp l", + "ê° ľ", + "Ġf on", + "Ġn os", + "ĠRout es", + "ĠRequire ments", + "æ© Ł", + ": \")", + "Trace back", + "ĠØ ¯", + "ĠDec imal", + "Dig ital", + "Lim its", + "h ore", + "j vm", + "ĠP or", + "ĠM apping", + "ib il", + "Ġ>> =", + "Fix es", + "iPago OrdenCompra", + "C MP", + "Gu ild", + "èª į", + "ĠCEL L", + "N ATIVE", + "d be", + "j boss", + "ect o", + "j h", + "o thers", + "on ym", + ":: -", + "ঠ¹", + "Float ing", + "student s", + "ĠCons ider", + "re lay", + "Ġstart Index", + "á» Ļ", + "slide s", + "L AS", + "Ġs nap", + "Ġh undred", + "od s", + "ĠR obot", + "Engl ish", + "f ers", + "ĠG PL", + "ell en", + "sub plot", + "Code Gen", + "Ġpo se", + "gress ive", + "cert s", + "Ġs x", + "Ġ$ (\"", + "ĠB ärndütsch", + "X G", + "b cd", + "ĠI B", + "qu ir", + "set Timeout", + "Ġu w", + "å¤ ª", + "ic ia", + "Ġ} :", + "clear fix", + "м и", + "Program ming", + "Fact ura", + "Ġimpro vements", + "D t", + "Ġinst ant", + "Ġreason able", + "TRANS FORM", + "ĠT RAN", + "ĠÐ ļ", + "ĠStart ing", + "confirm ation", + "ap an", + "Ġde partment", + "AM ES", + "ĠAn swer", + "report ing", + "Progress Bar", + "Ġcar acter", + "ĠOper ating", + "cosm os", + "R m", + "work load", + "Ġprint ing", + "Sign er", + "Ġperform s", + "å¥ ³", + "ãĤ¢ ãĥĹãĥª", + "Ġt icks", + "ar ner", + "ĠM TL", + "} !", + "à ī", + "Ġh op", + "sc p", + "设 计", + "Wait For", + "m ical", + "en ation", + "Ġb ur", + "group Box", + "åĿ ĩ", + "Ġaccording ly", + "Ġìĥ ģ", + "Ġtypings Slinky", + ", <", + "ĠM EM", + "orn ia", + "REC ORD", + "Ġbus y", + "Leg end", + "g lyph", + "id ity", + "end error", + "Ġi ÅŁ", + "key Set", + "Ġk od", + "Ġblock ed", + "Ġlocal ized", + "Ġkull an", + "Autor iPagoOrdenCompra", + "p ager", + "Ġ åĪĽå»º", + "Ġst ops", + "ud ies", + "ĠTr ansport", + "Ġview Box", + "graph s", + "drop out", + "ol ar", + "ĠN eg", + "ĠAd apter", + "Ġsi ÄĻ", + "ĠErr IntOverflow", + "A cl", + "Ġx x", + "IS WING", + "TI F", + "Ġpers ist", + "Review ed", + "En sure", + "S AN", + "yg ul", + "C ARD", + "y ahoo", + "id unt", + "ĠG UID", + "äº Ĵ", + "Ġincre asing", + "Ġv ue", + "\"> \"", + "ĠR C", + "ob ar", + "ret ain", + "Ġpresent ation", + "imate ly", + "Ġbene fit", + "S sl", + "d ifferent", + "off line", + "olic it", + "aj a", + "ĠLink s", + "Ġexperiment al", + "ĠElastic search", + "al location", + "Ġp ert", + "pro ducer", + "Ġsp atial", + "æĬ ¤", + "Tod ay", + "R azor", + "e qu", + "ay er", + ">", + "Write String", + "Ġtx n", + "pay ments", + "launch er", + "- \",", + "Ġc ook", + "Ġd B", + "Un do", + "Ġart ist", + "Aw esome", + "Ġ lect", + "ĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠ", + "Ġfl uid", + "} ^{", + "il en", + "array s", + "red hat", + "éķ¿ åº¦", + "! ;", + "C UDA", + "ĠĠ čĊč", + "ĠM AP", + "Ġ` ,", + "find ById", + "á» ģ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "çľ ģ", + "ĠSUM MARY", + "s outh", + "\"> $", + "RO UND", + "Po ssible", + "s j", + "Ġv it", + "ub es", + "Get Name", + "为 空", + "Ġgover n", + "i log", + "Ġedit able", + "lo v", + "il ib", + "Com bin", + "alert s", + "ouch er", + "X T", + "ol ated", + "av ailability", + "set ObjectName", + "Par sing", + "ç§ ij", + "Ġ' {{", + "Ġth rift", + "ĠB oth", + "Not Exist", + "cord ova", + "Hard ware", + "X B", + "Ġr ng", + "Pro veedor", + "Ġlo ops", + "ĠìĹ Ĩ", + "z b", + "Ġde ck", + "set Up", + "ĠD ATE", + "Ġmod ifiers", + "à§ ģ", + "ĠBr anch", + "Ġ ../../", + "ins n", + "review er", + "Evalu ator", + "çı ¾", + ": ],", + "W l", + "ë £", + "un link", + "ĠJ Label", + "Z e", + "Ġì Ĭ", + "ĠM M", + "ĠSpec ify", + "Ġvari ants", + "ition ally", + "ĠAL TER", + "RESULT S", + "Clo sing", + "flu ence", + "f atal", + " °", + "ĠS pl", + "get Max", + "åĪĨ ç±»", + "I r", + "w ow", + "} \">", + "post inc", + "With Type", + "pop ulation", + "des ired", + "ĠFail ure", + "Ġauthor ized", + "Ġimpro ved", + "ĠC over", + "up stream", + "ĠJ avascript", + "Ġmat rices", + "f eb", + "Ġh uge", + "Ġas m", + "å· ®", + "ðĿ ij", + "SECON D", + "MySQL Parser", + "Ġfam iliar", + "Ġin deed", + "ab ove", + "ĠW ORD", + "gu ess", + "к Ñĥ", + "sb t", + "è¿Ľ ç¨ĭ", + "need s", + "ĠNUM BER", + "à ·", + "Ġd ass", + "Ġinter preter", + "Ġfont s", + "UB E", + "Exp anded", + "bro ken", + "Ġprot ect", + "P w", + "Ġd la", + "List Of", + "DE TAIL", + "source Code", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "Ġpri m", + "ops is", + "Ġf h", + "count ries", + "Def s", + "\"] ))", + "Wh ich", + "ãģ¾ ãģŁ", + "redd it", + "l te", + "ç» §", + "met ro", + "Ġ× IJ", + "workflow s", + "ant es", + "Ġ\\ _", + "SE G", + "B RANCH", + "lo p", + "PRO G", + "rect angle", + "ĠOver view", + "x FFFFFFFF", + "Ġn ast", + "Ġevent ually", + "Build Context", + "; |", + "H M", + "to o", + "ĠAS N", + "it as", + "ĠO h", + "ale x", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠWindows Error", + "Ġfact ors", + "M GR", + "T iming", + "j v", + "Ï ħ", + "Key Code", + "Mem o", + "License d", + "se quences", + "ime dia", + "has Class", + "Sup ply", + "i id", + "ĠM any", + "Ġs ua", + "Ġfor ma", + "Ġì ²", + "Ġ[[ `", + "Ġhigh ly", + "navig ator", + "ĠÑį ÑĤ", + "E cho", + "ï ½", + "Me as", + "æķ° åŃĹ", + "ðŁ ĩ", + "Ġembed ding", + "% '", + "M apped", + "Q ty", + "der e", + "app lic", + "AM D", + "Exp iration", + "Ġopp ort", + "T or", + "from Json", + "Ġexp iration", + "缮 æłĩ", + "Ġpod s", + ")) ).", + "CLE AR", + "k f", + "ĠC ast", + "assert Raises", + "y ro", + "os is", + "check Box", + "Tag Helper", + "program ming", + "ĠÑĤ ак", + "Ġtre ated", + "f df", + "á ¼", + "un able", + "ĠT yp", + "Ġ'@ /", + "compare To", + "Ġph rase", + "upper case", + "p db", + "Ġb udget", + "T ED", + "W y", + "čĊ čĊčĊĠĠĠ", + "ĠM aven", + "ĠComp ile", + "dat um", + "Te ams", + "B one", + "Ġan n", + "At tempt", + "а Ñı", + "appro ved", + "аÑģ Ñģ", + "Undef Or", + "Ġs nd", + "Exec utable", + "Graph ic", + "Ġre corded", + "Ġ@ __", + "En velope", + "DE S", + "Ġtest Get", + "Ġfirst Name", + "t iming", + "Ġget Default", + "Ġsit u", + "Dot Net", + "ĠLook up", + "çļĦ å̼", + "ĠConfig ur", + "Ġsum mar", + "r ax", + "In g", + "ĠJ et", + "HE L", + "\\ )", + "ãĥ ¢", + "ĠK ind", + "Ġpl acement", + "Ġview er", + "ĠUN ION", + "\\ ',", + "a ec", + "d amage", + "l ift", + "t gl", + "al ing", + "ri pple", + "ĠI List", + "Pro posal", + "sub s", + "G REEN", + "get Result", + "Ġu it", + "An gular", + "inst agram", + "Ġaccess ing", + "èĭ ±", + "METHO DCALL", + "! \";", + "; -", + "en ix", + "\": [\"", + "Instance Id", + "ĠUp grade", + "Ġpy game", + "x v", + "Ġob serve", + "tag Name", + "ĠDef ines", + "Ġtw itter", + "F illed", + "Q E", + "z s", + "div ide", + "ãĥ³ ãĤ°", + "C red", + "ê µ¬", + "Ġ -----------", + "Ġj et", + "Api Key", + "к о", + "Q UAL", + "w v", + "all a", + "ĠL azy", + "cloud front", + "æĭ ī", + "Ġìŀ ij", + "luÅŁ tur", + "ĠC la", + "Ġ}} \"> Â", + "Th ird", + "m otor", + "datat ables", + "\" -", + "P ix", + "p ul", + "at las", + "ĠT odo", + "Ġh its", + "') (", + "ĠText Style", + "Ġi b", + "mem name", + "Ġcy cles", + "ĠEl se", + ": _", + "r aster", + "Ġ{ //", + "([ ^", + "ĠâĶĶ âĶĢâĶĢ", + "Ġitemp rop", + "M UX", + "å ¦", + "ĠEx tra", + "lat ex", + "ĠTemp lates", + "AU DIO", + "h ole", + "z mdi", + "Ġde ll", + "Ġsh apes", + "Multip lier", + "Y K", + "Ġpart icipant", + "ĠCommand s", + "ĠProduct s", + "Ġrespect ive", + "Ġ اØ", + "ST AND", + "(( {", + "Ġfont size", + "contribut ors", + "J e", + "Application Model", + "handle s", + "åºĶ 该", + "读 åıĸ", + "Ġ ubuntu", + "get Child", + "any ch", + "if ornia", + "get Code", + "Par sed", + "cre ative", + "part icipant", + "Ġil legal", + "å¼ķ ç͍", + "SETT INGS", + "d ry", + "Unit Test", + "Local ized", + "ĠBase d", + "M k", + "me mitem", + "Ġs coped", + "Re placement", + "Pre pared", + "cap np", + "Qual ified", + "ĠHE AD", + "ro ut", + "co a", + "Ġo h", + "ty Object", + "exp ire", + "Ġask ing", + "ĠSpr ite", + "éĵ¾ æİ¥", + "Ñ §", + "Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġ è¿ĶåĽŀ", + "ĠA us", + "De ath", + "Ġz ap", + "Face book", + "ĠìĦ ľ", + "Ġmg os", + "ing en", + "Ġtime line", + "IG IN", + "full Name", + "Ġkeep s", + "Ġden om", + "Mo zilla", + "intro duction", + "ensemb le", + "ĠE asy", + "Ġy a", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "DOWN LOAD", + "N im", + "Ġh ero", + "ĠD a", + "As sembler", + "No ise", + "guide s", + "y w", + "Ġcl ar", + "Ġdet ector", + "ĠOrg anization", + "Iss uer", + "CATEG ORY", + "< ::", + "P ure", + "U F", + "co ffee", + "E c", + "i op", + "ob serve", + "Service Client", + "BL UE", + "M ixed", + "å Ħ", + "Ġre open", + "Ġz x", + "ĠY eah", + "Ġblock chain", + "Ġê° Ĵ", + "hw nd", + "åħ³ éĹŃ", + "j in", + "Ġre ordered", + "Ġg zip", + "Ph p", + "Ġâ ķ", + "ĠQu ant", + "V tbl", + "ur m", + "lo an", + "è¿ ľ", + "Ġautom ated", + "H ID", + "æ ¦Ĥ", + "ĠDE C", + "ĠPR INT", + "Tool kit", + "Ġ< $", + "ab br", + "Ġr db", + "Ġtro uble", + "çª Ĺ", + "Ġde sp", + "Con struction", + "IC Y", + "tribut ion", + "SU FF", + "Ġcon sequ", + "Ġk a", + "Ġany where", + "KEY CODE", + "priv acy", + "D ns", + "L b", + "ss i", + "åı ¦", + "{} .", + "c ats", + "in tern", + "Text ures", + "ä¹ĭ éĹ´", + "ãģķãĤĮ ãĤĭ", + "C p", + "sc c", + "AT UR", + "bb b", + "æł ¡", + "ĠPo ssible", + "\", [", + "ĠJ Button", + "ĠSe verity", + "Thumb nail", + "t ight", + "add Listener", + "D ue", + "Ġf ly", + "ĠCon sumer", + "entry Set", + "quick start", + "set String", + "Ċĉĉĉ ĠĠĠĠ", + "sh m", + "lin space", + "SA VE", + "H IR", + "åį ¡", + "Good s", + "c db", + "f usion", + "al ia", + "sc m", + "ĠR OM", + "mode s", + "Å¡ ÃŃ", + "è re", + "ĠDel ay", + "[ *", + "pr incipal", + "start Date", + "Ġconcept s", + "лÑİ Ñĩ", + "P itch", + "T unnel", + "ĠÑģ п", + "al d", + "ĠC rypto", + "ĠT OP", + "ĠW r", + "Ġback wards", + "SA CTION", + "Ġdetermin es", + "g om", + "ĠApp s", + "Ġfont Weight", + "Ġcr é", + "åŁº äºİ", + "Ġc wd", + "Ġë Ĥĺ", + "Qual ifier", + "ĠSc anner", + "num ero", + "SW IG", + "A J", + "é Į", + "un es", + "Ġb unch", + "TH ROW", + "Ġcount ries", + "Wh y", + "rep lic", + "j m", + "Ġc ampaign", + "Ġn ature", + "eng an", + "Ġge bruik", + "Handle s", + "ĠC as", + "mat plotlib", + "ìħ ĺ", + "ì °", + "Ġt uples", + "Ġde ath", + "ä¹ĭ åīį", + "Ġ\" <<", + "are as", + "Ġan alytics", + "year s", + "ĠAM F", + "Ġvirt ue", + "K h", + "Ð ľ", + "ĠA no", + "oo per", + "post Index", + "ĠMan aged", + ">? [<", + "ç¢ º", + "w ap", + "ÃŃ vel", + "ĠI EEE", + "ÑĤ е", + "urren ces", + "star ter", + "D ash", + "G J", + "ĉ ĠĠ", + "atic s", + "()) ->", + "Im Gui", + "D ifference", + "ver ification", + "Ġtrans mit", + "çº ¦", + "åıĤ èĢĥ", + "ĠElement s", + "Serialize Field", + "fade In", + "æĬĢ æľ¯", + "W IT", + "De cision", + "test er", + "Ġঠª", + "iz ado", + "wh y", + "F allback", + "ĠA mount", + "Dis connect", + "Imp licit", + "Ġconf idence", + "SHARE D", + "p andas", + "in active", + "Ġ` \\", + "Ġé t", + "G i", + "j w", + "ĠB in", + "}} )", + "transform s", + "writ el", + "Ġkull anı", + "r isk", + "en ed", + "ĠT Value", + "Ġal arm", + "Ġal phabet", + "Ġoption ally", + "Ġword t", + "Ġreal m", + "Div ider", + "\" _", + "P W", + "ĠE dition", + "Ġthrow able", + "Ġext reme", + "Ñĭ е", + "Ġsuc ceed", + "è¯Ń è¨Ģ", + "ìĽ IJ", + "ĠC lock", + "type Name", + "Ġasync io", + "æī ©", + "r pm", + "Ġs peak", + "fl t", + "ภĤ", + "dat atype", + "v env", + "Ġ æĺ¯", + "Pro duction", + "FR ONT", + "ĠDep artment", + "ĠBack end", + "è§Ĵ èī²", + "B GR", + "Ġ ãģ«", + "R en", + "ëĭ Ī", + "Di agram", + "Ġmaint enance", + "Z y", + "(' *", + "ĠW ire", + "public ation", + "Ġhas n", + "ĠRet rie", + "éĴ Ī", + "% ';", + "Con tr", + "Ġacc um", + "bucket s", + "ĠDest roy", + "Ġ --------", + "get Size", + "ĠR x", + "Ġstd in", + "ĠPro f", + "Ġpart icip", + "Ġà ¥", + ">. <", + "ĠMin imum", + "Ġdom ains", + "O h", + "R s", + "Get All", + "Ġcl a", + "ĠError s", + "Ġre build", + "tr avel", + "Ġr er", + "add Item", + "Ġwe apon", + "Ġqu ando", + "éĥ½ æĺ¯", + "M b", + "P assed", + "u ção", + "st icky", + "Ġ| [", + "ĠU DP", + "char acters", + "ĠSer vlet", + "i om", + "ar am", + "ĠP ick", + "ĠF T", + "out come", + "ive c", + "roll back", + "ik er", + "å® ĺ", + "л ен", + "QU OT", + "q n", + "Ġg ö", + "unct uation", + "B TC", + "S cheduling", + "ce stor", + "åħ į", + "PL US", + "('/ ')", + "éĩį æĸ°", + "B el", + "me ters", + "Ġip v", + "//---------------------------------------------------------------- --------------", + "оз д", + "LET ED", + "½Ķ ëĵľ", + "d ire", + "to Match", + "Sh ot", + "ĠSt ar", + "ĠCh rist", + "up al", + "Ġbe i", + "ĠEx tended", + "é se", + "TEST S", + "Ġsym fony", + "ĠHyper ledger", + "Y L", + "or um", + "Ġ} **", + "E sc", + "T om", + "scala js", + "Ø§Ø ª", + "Oi J", + "U tc", + "d td", + "Read Write", + "i est", + "p eng", + "Ġ Ñħ", + "get Color", + "Ġtype Name", + "IR T", + "åħ¬ åı¸", + "ë² ķ", + "ãģ£ ãģŁ", + "G tk", + "ĠT EMP", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠWeb site", + "Ġmo ż", + "de limiter", + "me k", + "Or Update", + "spl ash", + "de pt", + "Ġh or", + "valid ators", + "Ġoff ers", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "vector s", + "Accept ed", + "ĠMark et", + "Ġinform ación", + "C u", + "E mploy", + "Ġs peech", + "Ġin p", + "ĠRe store", + "Ġcol on", + "++ );", + "æľ Ľ", + "Cur r", + "Ġdiv ide", + "(@ \"", + "members hip", + "+ )", + "L m", + "ma de", + "CODE S", + "dar win", + "ent i", + "ĠF P", + "Ġi os", + "Ġmethod Name", + "ä¸Ĭ çļĦ", + "Ġи ли", + "M ULT", + "r si", + "Ġs age", + "(\" &", + "r ut", + "Re load", + "Ġ` #", + "Ġpro be", + "ĠG reat", + "aint y", + "A mp", + "I gn", + "k om", + "** */", + "user Data", + "Tag Helpers", + "ĠEX IT", + "us a", + "ans i", + "altern ate", + "Ľ i", + "pe p", + "DO UT", + "TE CT", + "property Name", + "å¹¶ ä¸Ķ", + "y z", + "am o", + "ord ion", + "á» ĥ", + "Ġconf irmed", + "ĠBe an", + "Contains Key", + "s av", + "Ġf open", + "co vid", + "Ġm anner", + "Ġtag ged", + "ond on", + "Ġoptim ized", + "Ġseparate ly", + "çĪ ¶", + "; '", + "B J", + "S in", + "S an", + "g loss", + "it os", + "de scri", + "Ġ' }", + "BO OT", + "Ġser vidor", + "sub plots", + "ĠUn ix", + "cd r", + "Mod ifiers", + "Ġadv antage", + "R K", + "p ci", + "v á", + "Ġde i", + "bl ade", + "ç»ĵ æĿŁ", + "C LOCK", + "x FFFF", + "ĠE MP", + "'] ],", + "ĠPri mary", + "ĠRemov es", + "B W", + "[ **", + "Ċĉ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "MA JOR", + "ä ll", + "Ġf g", + "ĠFl utter", + "æīĵ å¼Ģ", + "D ONE", + "M igrations", + "c ies", + "Ġaction Expression", + "è· ³", + "ĠByte Buffer", + "N orth", + "åı Ī", + "MA STER", + "ĠLi ke", + "y f", + "st en", + "Ċĉĉĉĉĉ Ġ", + "std int", + "Read Line", + "cr ud", + "Ġsever ity", + "orph ic", + "Tra ffic", + "or ian", + "en velope", + "ER E", + "act ic", + "ãĤ ı", + "HX LINE", + "I so", + "N v", + "T iles", + "ĠP aint", + "ĠB oston", + "Ali ases", + "f oto", + "ber os", + "To Many", + "Ġtrans lated", + "ĠInter rupt", + "ìĬ¤ íĬ¸", + "f el", + "Ġ{ [", + "ìĭ ł", + "Ġrelationship s", + "ĠP G", + "ĠTr avis", + "Create Info", + "Option Pane", + "è§ Ĥ", + "Autom atic", + "Greater Than", + "pl ant", + "ä¸ ĩ", + "new Value", + "Sh a", + "Ġenum erable", + "semb lies", + "ĠFl ash", + "` ='", + "ob js", + "FI ED", + "End Time", + "Ġhome page", + "); &", + "ãĤ Ħ", + "V N", + "() ==", + "ĠC irc", + "Ġselect ing", + "CALL BACK", + "Ġp lots", + "Ġb d", + "In finity", + "ĠC atalog", + "ĠH Y", + "Change Event", + "cap abilities", + "Ġim m", + "ĠCo untry", + "çŃ Ķ", + "ap k", + "Ġh on", + "Ġon Error", + "Ġcontext s", + "Ġactiv ated", + "n al", + "ON ES", + "RE PORT", + "Ġpart ner", + "ĠHT MLElement", + "\"/> .", + "d ut", + "f ps", + "z sh", + "** )", + "ĠP ASS", + "=' '>", + "ëĭ ¹", + "B oost", + "D aily", + "ĠP et", + "Api Client", + "greg ated", + "çķ Ļ", + "æ· ±", + "Ġw enn", + "App lic", + "ÅĤ a", + "åħ³ éĶ®", + "uzz y", + "le cc", + "TR L", + "Or Create", + "Sw ift", + "va adin", + "Ġsuc ceeded", + "ĠAno ther", + "ĠS napshot", + "Ġtr avel", + "right arrow", + "Ġob servations", + "Ġsock addr", + "p j", + "Ġp name", + "Ġ\\ $", + "Ġfile Type", + "а ли", + "Ġinter cept", + "Ġи м", + "Gr ade", + "ĠCH ANGE", + "Phone Number", + "or ia", + "Ġ- (", + "ĠM SG", + "__ ('", + "Ex am", + "RE PLACE", + "mo j", + "å¸ Ī", + "åIJĮ æĹ¶", + "friend ly", + "B ene", + "last name", + "Ġbig ger", + "ìľ Ħ", + "ĠIss ues", + "Ġc el", + "Ġa ë", + "ĠS uite", + "Ġto ast", + "Ġset ter", + "save fig", + "âĸ Ħ", + "n P", + "os it", + "ĠW ide", + "ey a", + "Is olation", + "ĠFin ally", + "Y Q", + "Ġa ì", + "if ty", + "ĠI cons", + "ãĥ £", + "sub tract", + "press ure", + "å° Ķ", + "ĠRequest s", + "Ġঠ¤", + "hint s", + "AB B", + "ĠCon verts", + "á rios", + "TH IS", + "Cent ral", + "èĪ ¬", + "Ġthe ory", + "Ġw get", + "ON U", + "En c", + "Rem ov", + "Ġk ubectl", + "Ġ}) }", + "Format ting", + "mer ch", + "ric ht", + "D raft", + "Ġs copes", + "pro tection", + "auto complete", + "âĸĪâĸĪâĸĪâĸĪ âĸĪâĸĪâĸĪâĸĪ", + "ä¸ ¾", + "AD J", + "Ġap ache", + "Page Size", + "oriz on", + "Ġp z", + "ex cerpt", + "ĠOn Next", + "Ġconf usion", + "Ġ' ^", + "Comp ilation", + "Ġ~ &", + "ij n", + "P IC", + "c lf", + "j int", + "ER C", + "ãģĤ ãĤĭ", + "S z", + "Ġre covery", + "ãģ °", + "... \\", + "Column Type", + "Ġfun ct", + "Ġâ Ħ", + "SA ME", + "schedule d", + "Ġvirt u", + "ãģĽ ãĤĵ", + "Ġanv änd", + "S he", + "q x", + "av i", + "Ġcomp il", + "field name", + "reg ar", + "Author ized", + "è´ Ł", + "',[' ../", + "st aging", + "Ġe ye", + "De ferred", + "ob by", + "ĠJ AXB", + "/ ~", + "W a", + "ĠT ENT", + "ĠW ater", + "Ġli bs", + "Query Builder", + "Ġexec ut", + "uk an", + "Make file", + "b ol", + "j Panel", + "m ont", + "Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "in as", + "is c", + "(' ')", + "ĠE G", + "CL AS", + "Ġund o", + "Ġcommunic ate", + "ĠV ault", + "Ġì ¢", + "det allenotacreditopunto", + "Rem ark", + "G AME", + "get Body", + "ide a", + "action Expression", + "Ġcons istency", + "ĠMQ TT", + "AVAIL ABLE", + "tr uncate", + "Ġsh allow", + "ade cimal", + "åħ ģ", + "Äħ c", + "t icker", + "v lan", + "ĠL ex", + "An n", + "The ta", + "Ġknow s", + "åĮħ æĭ¬", + "ĠIndic ates", + "z ap", + "it ched", + "per fil", + "ภĪ", + "Ġsk in", + "è· Ł", + "sil ent", + "get M", + "get Image", + "H op", + "get Service", + "]) ]", + "Ġview Model", + "Dat os", + "EVENT S", + "Ġtermin ated", + "P WD", + "Ġre vert", + "Ġcreated At", + "](../../ ../../", + "nick name", + "f at", + "Ñ ij", + "Ġlink ing", + "coll ate", + "åĵ ª", + "çĭ ¬", + "u ir", + "Ġf irmware", + "pro cesses", + "Ġ\\ &", + "åĽł æŃ¤", + "P okemon", + "ag ain", + "cess o", + "ec s", + "gn ome", + "Ġbit Field", + "Ġve h", + ". '.", + "F ork", + "X i", + "Ġ' :'", + "im en", + "Request Param", + "Ġref ers", + "ĠQu aternion", + "% \"><", + "id as", + "Ġo luÅŁtur", + "ĠM UL", + "ĠU m", + "End Point", + "Logged In", + "n ÄĽ", + "comp arison", + "AS N", + "render ing", + "ðŁ ij", + "Ġadmin istrator", + "men us", + "< {", + "C d", + "D ensity", + "s lim", + "av atars", + "ĠF abric", + "Ġun lock", + "'] =$", + "Test Suite", + "pass port", + "ĠConf irm", + "ĠIntro duction", + "st acle", + "an aly", + "pro posal", + "Ġnew line", + "Ġj ak", + "Ġus ando", + "dist inct", + "cha ft", + "\" $", + "F U", + "ot ify", + "Inter est", + "Dir s", + "NE G", + "Ro pe", + "Writ ing", + "Ġê³ µ", + "è§Ħ åĪĻ", + "èŃ ¦", + "G row", + "ar o", + "ĠG ui", + "ãģĻãĤĭ ãģĵãģ¨", + "ĠUN IQUE", + "ĠScal a", + "cont ain", + "du it", + "Part ner", + "Ġinform ações", + "ĠA udit", + "ĠD rive", + "Ġch i", + "ĠNew tonsoft", + "Ġappreci ate", + "get Source", + "ãĥ ¯", + "An onymous", + "NO UN", + "ĠAd just", + "ĠSec ure", + "shop ping", + "Ġscroll ing", + "dh cp", + "Ġint ention", + "ard u", + "Ġঠ¸", + "Ġcancel led", + "t ions", + "__ ).", + "ĠG reen", + "Ġform Data", + "à® ²", + "ent y", + "Ġo larak", + "() )));", + "ĠS ales", + "et t", + "ay ı", + "ĠP T", + "Ġser vi", + "æĭ Ł", + "ENC Y", + "Q Name", + "fl ake", + "vari ants", + "YG ON", + "S essions", + "Ġb rief", + "Ser ve", + "åĪ Ĵ", + "light s", + "Anchor Styles", + "S IDE", + "re veal", + "AR N", + "sql parser", + "еÑĢ Ð¶", + "Language s", + "ĠHandle s", + "ê ¹", + "Ġe a", + "Ġet t", + "N ick", + "scroll Top", + "ĠM ESS", + "header link", + "gen de", + "ĠGL sizei", + "Ġ ub", + "api Key", + "Ġê tre", + "s lick", + "on i", + "Ġin place", + "ĠRe cyclerView", + "Ġdir ty", + "Ġconven ience", + "ĠìĥĿ ìĦ±", + "B all", + "O l", + "st uff", + "([ ],", + "ASS IGN", + ", $(", + "Re cv", + "op lay", + "Ġlow est", + "M c", + "U ses", + "e ase", + "Ġa utor", + "ag le", + "Ġg tk", + "ath an", + "clo ak", + "Ġpack ed", + "L java", + "Ġre scue", + "ĠF igure", + "read line", + "Not ebook", + "ĠìĿ ¼", + "Normal ize", + "R ULE", + "Pub lished", + "íĺ Ħ", + "# __", + "block chain", + "è¿ĺ æĺ¯", + "uzz le", + "åĮ¹ éħį", + "P ed", + "Ġcon duct", + "\") }", + "Ġcomp osition", + "comp l", + "æ» ¡", + "s impl", + "Ġ{ #", + "get First", + "ĠE B", + "Ġr ap", + "Http Status", + "s copes", + "Ġ ug", + "re a", + "ist e", + "unt a", + "èµ ĸ", + "ĠCN WS", + "get Block", + "ĠT or", + "RE MOTE", + "ak u", + "Path Variable", + "sg i", + "rid ay", + "Microsoft Docs", + "<% @", + "A j", + "E ither", + "Ġp print", + "Ġch rom", + "gr unt", + "pc m", + "Ġcorre ction", + "но е", + "} };", + "se a", + "Ġ\" ?", + "Ġ\\ \"\"", + "AV X", + "COMP LETE", + "Fac et", + "Quest ions", + "N y", + "f ce", + "Ġt el", + "ĠI MAGE", + "ĠI BM", + "ll d", + "ĠH ex", + "Add on", + "CL USTER", + "ĠLO CAL", + "ãĤ¹ ãĤ¿", + "ĠContent s", + "ĠJo urnal", + "G CC", + "h un", + "Ġst rength", + "ĠE s", + "RO T", + "åĽŀ è°ĥ", + "datas ource", + ", {", + "Ġr r", + "â̦ â̦", + "èĹ ı", + "N i", + "S po", + "t gz", + "co digo", + "Code Analysis", + "Ġ|| =", + "Web Kit", + ".* ,", + "Ġden ied", + "ĠMem bers", + "ưỠ£", + "P kg", + "R d", + "q e", + "s ia", + "è ¼", + "ĠÐ ĺ", + "ier ung", + "YO UR", + "ë ¹Ħ", + "Ġa á", + "ĠI sl", + "Ġel ler", + "Pl ug", + "quot a", + "PACK ET", + "- [", + "f usc", + "g oog", + "l ands", + "p ct", + "re member", + "to JSON", + "Ġ<< \"", + "off icial", + "END OR", + "ĠпÑĢ ÐµÐ´", + "Ġattemp ting", + "L y", + "md b", + "ian o", + "Te lemetry", + "ĠNO MOR", + "Beatmap Level", + "/ +", + "T k", + "v int", + "í ĶĦ", + "Ġl c", + "Pro j", + "Ġen im", + "iler plate", + "为 äºĨ", + "ãĤĪãģĨ ãģ«", + "Referencia Personal", + "T Key", + "è ²", + "get Full", + "ঠ¯", + "Ġvalid ated", + "Prop Types", + "W ell", + "c ı", + "net ic", + "ĠCh oose", + ">: <", + "ĠпÑĢ Ð¸", + "Ġconcept ual", + "B onus", + "N IC", + "z M", + "ron o", + "Del im", + "] \")", + "is True", + "Ġp et", + "Ġh at", + "IMP LEMENT", + "J DK", + "S orry", + "X M", + "ì ¦", + "Ġì Ľ", + "å° Ħ", + "ĠLog ic", + "ĠAs sets", + "åİ ĭ", + "Dom ains", + "C DF", + "I ID", + "TO C", + "Pri me", + "Ġvari ance", + "Ġhy pre", + "Ġrecurs os", + "it ness", + "Ġd g", + "am ond", + "ĠMe trics", + "Ġide al", + "ĠW allet", + "ĠâĢ ¦", + "Mis c", + "ĠUnsupported OperationException", + "m art", + "ar cs", + "lo d", + "\"> : |", + "In str", + "fig caption", + "Ġmin us", + "EL DS", + "EM R", + "Oper ating", + "ĠBack up", + "H EX", + "set Image", + "Ġjob builder", + "Db Context", + "dimension al", + "Illegal ArgumentException", + "a ac", + "as r", + "Ġhe ar", + "ng x", + "Async Result", + "Ġown ed", + "оÑĢ Ð¼", + "ĠMenu Item", + "measure ment", + "\"}]} ],", + "ĠTENT ANG", + "b link", + "Ġpl ans", + "Resource Group", + "Ġ ·", + "C n", + "× ł", + "ee ee", + ",,,, ,,,,", + "SQL ite", + "ict ures", + "Ġmon o", + "breadcrumb s", + "s ix", + "Ġt z", + "im mediate", + "ĠW eek", + "pr icing", + "Override s", + "Ġ\\\" %", + "inf rastructure", + "Z l", + "t ie", + "Ġdisplay ing", + "n lp", + "Ġs ale", + "Format Exception", + "is is", + "inter cept", + "fl d", + "US AGE", + "Max Length", + "Ġcost s", + "ĠStat istics", + ") })", + "F am", + "w u", + "Ġ= ================================", + "Ġm ux", + "RE MOVE", + "íķ ¨", + "ãĤ³ ãĥ³", + "C CE", + "D u", + "get Session", + "ĠC ASCADE", + "Ġinter sect", + "inner Text", + "Ġhost ed", + "ĠDet ect", + "Clip board", + "Ġ( ($", + "ĠN g", + "ĠF riend", + "pos als", + "\\+ ::", + "Host s", + "Ġresp onsive", + "ĠGrid BagConstraints", + "Ġdestroy ed", + "l ens", + "ĠP ID", + "ĠM UT", + "ĠBlock s", + "k ap", + "ic mp", + "ä¸ ĵ", + "TR ACK", + "Layout Inflater", + "å¾ ·", + "aff e", + "C IP", + "F REQ", + "K on", + "ient es", + "æī ¹", + "ĠResource Manager", + "ãģĵ ãĤĮ", + "ĠEdge Insets", + "T G", + "ĠS ep", + "ĠH AND", + "To Be", + "Cre ates", + "Z Y", + "Not ifier", + "ä ng", + "Frame buffer", + "Load Balancer", + "W est", + "ç Į", + "Ġb ul", + "db l", + "Str ong", + "ĠTO KEN", + "Ġcollect or", + "N W", + "Ġc types", + "ĠC our", + "con versation", + "fo obar", + "AS Y", + "Ġok ay", + "M W", + "g op", + "Ċĉ ĊĉĊ", + "Ġser de", + "urren cies", + "Parse Exception", + "ê³ µ", + "Ġcontr ast", + "B er", + "ch mod", + "ĠG ot", + "data Tables", + "[' _", + "ĠCon straint", + "Sub system", + "Ġgr ade", + "Record ing", + "ĠGener ation", + "] ::", + "` <", + "v or", + "Ġd urch", + "N ear", + "T ang", + "Ġ rom", + "Item Stack", + "Ġz k", + "ìŀ ij", + "guide lines", + "Ġmembers hip", + "ĠProgram ming", + "MAT RIX", + "] ').", + "get Target", + "Ġim mutable", + "corre lation", + "gro ovy", + "H DR", + "Ġr ates", + "Data Array", + "Ġsh ut", + "enc i", + "Inter active", + "ero us", + "'> ;", + "alax y", + "C ancellationToken", + "r di", + "mp tr", + "api Version", + "UN ION", + "Ġreview ed", + "Ġexperiment s", + "íĺ ¸", + "J l", + "Ġt on", + "timestamp s", + "F ly", + "ĠU ses", + "Check sum", + "åº ķ", + "Char set", + "Ġalign Items", + "Direct ories", + "S MS", + "=\" {%", + "Ġstr ange", + "TR IG", + "ç» ĥ", + "(/ ^", + "Ġens ures", + "GeneratedMessage V", + "Ġs id", + "Ġinst antiate", + "å¾ ª", + "Ax es", + "Sim ulator", + "P USH", + "An no", + "æĸ ¯", + "Ġpe ak", + "Ġmis sed", + "Ġthought s", + "í Ķ", + "ĠC T", + "Ġ> -(", + "ĠSh ift", + "STAT S", + "lo ve", + "ĠB al", + "Key Event", + "Property Value", + "ĠDep th", + "Ġtech niques", + "ch n", + "Ġpl anning", + "Ġover load", + "help viewer", + "Ġ---------------------------------------------------------------- ----------------", + "Ġgp io", + "æ£Ģ æŁ¥", + "ĠðŁij į", + "H IST", + "par ing", + "bar ang", + "Seed er", + "stell en", + "Ġíķ¨ ìĪĺ", + "N PY", + "Î º", + "è ħ", + "um en", + "Ġr aster", + "Ġcol lation", + "On Init", + "Call Back", + "Ġcomponent Did", + "WORK DIR", + "Ġsem antics", + "V G", + "f arm", + "Ä ĵ", + "é ¥", + "ĠS am", + "æĸĩ æľ¬", + "( (\"", + "ss on", + "ĠInst antiate", + "ĠCl asses", + "istor ic", + "v it", + "Ġb cm", + "Ġv Ãł", + "ĠL aravel", + "Ġ_ (\"", + "Text Input", + "Ad s", + "Ġref lection", + "ĠPh ase", + "Ġsaf ety", + "ĠPur pose", + "\" \",", + "h is", + "ex plorer", + "ĠD W", + "ĠB IG", + "Ġj Label", + "arg ar", + "Ġname spaces", + "att ention", + "mov ing", + "Ġrotate X", + "ĠUser name", + "make Text", + "xffffff fe", + "Ġkotlin x", + "' \";", + "t in", + "ĠG U", + "ÑĢ Ð¾Ñģ", + "ra id", + "Ġsp ent", + "ĠForm s", + "Ġrandom ly", + "N OR", + "T orch", + "b ff", + "ct s", + "Ġst amp", + "err al", + "ðŁ Ĵ", + "ĠBlue tooth", + "M SC", + "Ġin sp", + "ap pe", + "sec utive", + "log its", + "mit re", + "ä¸Ģ ä¸ĭ", + "Ġoper ands", + "Acc uracy", + "éĤ ®", + "PAY MENT", + "Ġad ams", + "ĠEn cryption", + "ĠSM ALL", + "Q C", + "b ecause", + "on load", + "Ġre action", + "ĠP OS", + "os m", + "ive au", + "NA MIC", + "ĠInstall ing", + "Own ed", + "sal ary", + "ãĤ° ãĥ©", + "å¢ŀ åĬł", + ". âĢĿ", + "a us", + "Ġv eya", + "Time Zone", + "ĠOpen GL", + "Counter s", + "en ess", + "en ne", + "Ġh ence", + "pre tt", + "æĬ ķ", + "st ores", + "ar ma", + "ĠB ottom", + "Sent ence", + "ĠDAT ABASE", + "ment ion", + "cc b", + "remove EventListener", + "F ocused", + "ar ative", + "um i", + "Ġl ub", + "Ġle aves", + "Di ag", + "ĠEvent Emitter", + "ĠDist ribution", + "Ġexclude d", + "Ġfriend ly", + "/ \";", + "Ġf atal", + "ack er", + "Ġk afka", + "ld quo", + "Ġgroup Id", + "ru ption", + "baz el", + "c andidates", + "an imated", + "set CellValue", + "ER A", + "Ġan imal", + "Ġmargin Top", + "\">\\ (\\", + "A UX", + "T olerance", + "h om", + "s quared", + "de posit", + "ĠW riter", + "Ġtest er", + "Ġ'\\ '", + "ĠC VE", + "STATE FUL", + "ĠCOMM AND", + "sph inx", + "f emale", + "r ical", + "ri r", + "pre p", + "Ġ/> }", + "ãģ« ãĤĪ", + "ĠSTO RE", + "Q g", + "e os", + "Ġb ullet", + "Ġin corpor", + "ec all", + "Null PointerException", + "Ġimpro vement", + "Ġìĺ Ī", + "Ð Ĺ", + "ul ates", + "ab d", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ag gregation", + "created At", + "ĠGe cko", + "c ors", + "ĠL EN", + "__ */", + "BU IL", + "Ġinit ially", + "ĠHttp Request", + "ANG LE", + "K G", + "ss o", + "ĠP OP", + "ĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊ ĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊ", + "or no", + "ĠC od", + "dd dd", + "ĠRe ading", + "Ġthread ing", + "capt cha", + "inv est", + "ĠMock ito", + "æIJ ľç´¢", + "Ġc lic", + "un ame", + "ĠS WT", + "ĠT L", + "Ġcon crete", + "De ps", + "COUN TER", + "Text String", + "( \\\"", + "; \");", + "=\" .", + "br az", + "ĠRe verse", + "token izer", + "à° °", + "ĠLL VM", + "ĊĊ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ert a", + "ĠPage s", + "l aw", + "æ Ĥ", + "Ġ[ .", + "od ies", + "ĠP P", + "ĠB N", + "ik o", + "Ġnum erical", + "ane se", + "Ġwrit able", + "Ġrep lication", + "sur f", + "æī¾ åΰ", + "R NA", + "Ġ ä¸į", + "text tt", + "URI Component", + "built ins", + "Ġp wd", + "ãĥ ĭ", + "Set Name", + "Get Instance", + "man de", + "Ġborder Radius", + "ĠPAR AMETER", + "h on", + "Ð ķ", + "in flux", + "Ġ\" ><", + "list dir", + "Com munication", + "Exp licit", + "Ġæ Ľ", + "Ġcoefficient s", + "V H", + "at tribs", + "No Such", + "Ġinterval s", + "Sn ippet", + "Da emon", + "åħģ 许", + "n ement", + "y x", + "ì ¡°", + "ED GE", + "á z", + "è§ ¦", + "ĠSub st", + "ĠContribut ors", + "J R", + "er ce", + "ol i", + "Ġì ¤ij", + "Min i", + "Ġoper ate", + "] ')", + "Ġs vc", + "Ġbase s", + "current User", + "ĠRem oved", + "ĠLD AP", + "separ ated", + "f ocused", + "v ens", + "Ġtr acing", + "ven ance", + "Ġacc ident", + "Att ached", + "ĠRuntime Error", + "Factura Proveedor", + "G auge", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "=' ',", + "DO CKER", + "Sp aces", + "Top Level", + ",, ,", + "第 äºĮ", + "Configure Await", + "Ġmeas ured", + "azel cast", + "REFER ENCE", + "K T", + "Ġp icker", + "comp ound", + "S outh", + "f ib", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "at l", + "ap ollo", + "Ġh dr", + "Ġcustom ize", + "SY N", + "Ġinc ident", + "([] );", + "e or", + "ĠĠ ĊĊ", + "Ġt olerance", + "Ġh ay", + "Ġ// }", + "Ġcom ando", + "âĶ ľâĶĢâĶĢ", + "ĊĊĠĠ Ċ", + "æľī æķĪ", + "Ġinit i", + "concat enate", + "GRO UND", + "ĠDepend encies", + "B s", + "Ġn v", + "ly n", + "ĠRe ason", + "ĠUn fortunately", + "Sch ool", + "ãĤŃ ãĥ¥", + "lock s", + "END POINT", + "Tex Coord", + "æ¯Ķ è¾ĥ", + "Ġ åĪĨ", + "Ġis o", + "Ġg fx", + "AL G", + "reg ression", + "ĠComp osite", + "under line", + "Ġrotate Y", + "Ġl Ãł", + "Ġr p", + "ml abel", + "Qu aternion", + "BU CKET", + "iet f", + "Ġaltern ate", + "V u", + "IN A", + "a uc", + "Ġ` '", + "add Group", + "riv es", + ", *", + "T en", + "c da", + "w off", + "× ĥ", + "Ġn ur", + "Ġb lo", + "Ġend Time", + "weight ed", + "spon ge", + "Ġarr ange", + "\" (", + "H dpiMode", + "q m", + "s as", + "w ing", + "on ing", + "ĠM usic", + "over write", + "web hook", + "AP IC", + "member of", + "WINDO WS", + "B RO", + "L atch", + "R ol", + "un ist", + "Ġde scriptors", + "pl d", + "RE CTION", + "Dis p", + "lv l", + "éĩį è¦ģ", + "WIT HOUT", + "ardu ino", + "Y o", + "Ġp ix", + "Ġle aving", + "çİ ĭ", + "Ġscreen shots", + "ĠíĻ ķ", + "c ust", + "Ġst reet", + "Ġde crease", + "Ġpro te", + "Ñĥ ж", + "noop ener", + "es ch", + "ĠRe ceive", + "Ġadd Criterion", + "State ments", + "AD V", + "Check point", + "ĠCOL SPAN", + "åıij å¸ĥ", + "èİ· å¾Ĺ", + "Ġsus pend", + "D n", + "L X", + "() *", + "Ġset Is", + "Ġq r", + "Ġcap ability", + "æ¸ ¸", + "m ute", + "Ġre pr", + "ĠL INE", + "Stat istic", + "orn ers", + "Occ urred", + "Ġch k", + "Get Mapping", + "decl ared", + "PH Y", + ". \"),", + "b ay", + "c ub", + "l apping", + "Ð £", + "Ġv ale", + "ER TY", + "ifi k", + "Client Id", + "Ġpost er", + "M ob", + "aw ai", + "é¡ º", + "Ġ× ľ", + "/' +", + "ĠDump ing", + "` -", + "v infos", + "ĠS peed", + "Ġcont en", + "Ġph ys", + "Ġaccur ate", + "A f", + "K i", + "à Ĺ", + "Ġrotate Z", + "MAN AGER", + "Ġcirc ular", + "ам и", + "MET ADATA", + "Ġc rc", + "get Repository", + "'] .\"", + "Ġsim ulate", + "ĠEngine ering", + "ë² Ī", + "Ġnavig ator", + "nos cript", + "E qu", + "Ġb anner", + "iv ari", + "Ġl ifetime", + "Rout ine", + "Bounding Box", + "E igen", + "L CD", + "\\ \">\\", + "e ce", + "l tr", + "Ġp seudo", + "der ef", + "Ġcomp licated", + "第 ä¸Ģ", + "j g", + "Sur vey", + "G em", + "Service Name", + "Sh apes", + "Ġno translate", + "Ġ'/ ',", + "Ġgraph s", + "Ġtransform er", + "^{ -", + "Gram mar", + "at tempt", + "Ġv ý", + "ĠString Utils", + "и Ñı", + "๠Ħ", + "Section s", + "ĠLI KE", + "ä¾Ŀ èµĸ", + "ar ab", + "е ÑĪ", + "Ġover ridden", + "IDENT IFIER", + "Ġdecor ator", + "/ >", + "U buntu", + "d ados", + "// $", + "Ġstatus Code", + "PRO XY", + "Ġkind s", + "ĠSim ilar", + "Ġmedi an", + "Ġc map", + "set Type", + "ĠB ay", + "Pro v", + "oo le", + "post er", + "Inv oker", + "Experiment al", + "Foot print", + "i ctionary", + "ap ed", + "ĠF rank", + "Ġintegr ate", + "ĠItem Stack", + "ý ch", + "M H", + "re z", + "Ġk b", + "Ġsc atter", + "ĠRE C", + "ĠInst ant", + "à§ Ł", + "organ izations", + "; $", + "ãĥ »", + "ash ion", + "Inject or", + "Ġa by", + "Ġ} },", + "Ġd ari", + "ĠE ner", + "Ġ% #", + "ĠData Source", + "Ġsk y", + "Ġfilename s", + "rd quo", + "d ad", + "at ura", + "co g", + "Ġm ens", + "Ġcom mod", + "Ġimp lode", + "open id", + "Action Type", + "Ġmark s", + "௠Ī", + "Ġlat ency", + "ç¼ĸ è¾ij", + "å Ĥ", + "Ġt body", + "In Progress", + "Ñĥ п", + "Report e", + "mak ed", + "b cc", + "f riends", + "Ø µ", + "as array", + "Ġd z", + "ĠT ouch", + "od ium", + "ill age", + "UN DER", + "æıIJ 交", + "ç¡ Ģ", + "H its", + "R h", + "Ġs yst", + "rc x", + "*/ )", + "TX T", + "Ġt weet", + "Ġestab lish", + "% }", + "( ..", + "ì ¤", + "get Location", + "Ġor ient", + "ĠW i", + "Ġtoken izer", + "čĊĠĠ čĊĠ", + "ا Ùħ", + "ñ o", + "z ing", + "on click", + "ĠD X", + "ost at", + "uc umber", + "Pl ant", + "ঠ¸", + "hand ling", + "land ing", + "ĠArgument Exception", + "')}} \">", + "ä¼ ģ", + "ĠBase ldytsch", + "ni h", + "plat onic", + "ĠM AT", + "Ġget Item", + "Error Handler", + "> '.", + "is NaN", + "Ġse ason", + "ĠP resent", + "im agen", + "release d", + "Ġexplo re", + "me mp", + "ĠT C", + "Ġcon volution", + "'] }", + "ı z", + "parame tri", + "; #", + "ex ercise", + "th ode", + "ĠB OT", + "Check out", + "Should Be", + "Detalle FacturaProveedor", + "Accessor Table", + "B SP", + "p iran", + "data store", + "Fore st", + "sh rink", + "Ġvar iety", + "ware house", + "Ġstart Activity", + "Ġus b", + "H p", + "Y AML", + "Re LU", + "Ġ> (", + "Base line", + "Top ics", + "ãĤĴ 使ç͍", + "Ġfetch ing", + "B urn", + "L ifetime", + "P as", + "p el", + "Ġw l", + "ĠA k", + "ile ged", + "Data Store", + "Ġqu ad", + "Ġ<% =", + "Dll Import", + "A u", + "v ac", + "v ised", + "am er", + "Ġadd ressed", + "Account Id", + "der iv", + "ST S", + "Ġun supported", + "open stack", + "æ± Ł", + "éļ ¾", + "ĠCent ral", + "Jg W", + "br anches", + "ĠRe vision", + "Ġcomp ound", + "Ġcl oned", + "á» ¥", + "Ġdescri ptions", + "s now", + "Ġin complete", + "ĠA verage", + "est imate", + "set Status", + "Ġ) (", + "Get Bytes", + "rap er", + "ts x", + "writ es", + "ĠO C", + "link id", + "á m", + "tang gal", + "èıľ åįķ", + "woo commerce", + "W ide", + "s ers", + "Ġt ol", + "ĠL and", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġcontact s", + "ĠDist ance", + "D x", + "F MT", + "Ġem ails", + "Ġsim ulator", + "Import er", + "Xml Schema", + "Ġdat i", + "uest a", + "ĠPh oto", + "Ġmeasure ments", + "E UR", + "exp iration", + "BRE AK", + "Ġe e", + "ĠM ag", + "__ :", + "ĠF loor", + "ĠH uman", + "е е", + "EX ISTS", + "sk b", + "Ġass uming", + "Ġman aging", + "Che f", + "m all", + "/** /*.", + "ÃŃ n", + "ĠEvent Handler", + ": |:", + "Ġm aven", + "RE PO", + "'] ));", + "Ġu z", + "db us", + "block ed", + "ĠAl pha", + "reat ment", + "è´ Ń", + "Ġdesign er", + "CONTAIN ER", + "IN FORMATION", + "âĢ ĭ", + "Ġcl asse", + "Connection String", + "ĠProject s", + "Owner Id", + "ä¸ļ åĬ¡", + ") =>{", + "E ye", + "X S", + "k Si", + "ĠB R", + "æĺ Ł", + "ĠEX T", + "Ġmock ed", + "policy Definitions", + "Evalu ate", + "ĠAlloc ator", + "W ar", + "p list", + "Val s", + "UI e", + "åħ¶ ä¸Ń", + "Ġpat ches", + "I AN", + "ar ly", + "get Model", + "ms dyn", + "Ġindic ated", + "I iw", + "un an", + "ĠI ts", + "ĠP ark", + "ĠD ao", + "CO MB", + "step func", + "Game s", + "R p", + "se ason", + "an za", + "vent s", + "Ġk r", + "DE SCRIPT", + "Ġro z", + "unk tion", + "k ie", + "in coming", + "Ġc amb", + "Ġdraw n", + "Scroll Bar", + "IZ ATION", + "ê± °", + "ĠW EB", + "èĦ ļ", + "M p", + "S nap", + "Ġ ï¼Ī", + "Ġd fs", + "Text Area", + "ock s", + "Ġsub scriptions", + "init With", + "Ġc rit", + "un mer", + "é£ İ", + "Ļ ĭ", + "Ġl atter", + "ĠH old", + "for ced", + "иÑĤ елÑĮ", + "Inject able", + "Configur ations", + "Ö Ģ", + "IN NER", + "Pro x", + "inter preter", + "bl ah", + "OF zf", + "Gr avity", + "ì§ Ħ", + "dy lib", + "Ġjo ined", + "oscal ing", + "getSimple Name", + "# .", + "re UIe", + "Ġc ms", + "Ġl ag", + "ĠL ONG", + "loc ate", + "Do or", + "PT cN", + "Book ing", + "Ġlower case", + "ĠAgre ement", + "JgW VA", + "kSi PTcN", + "reUIe JgWVA", + "kSiPTcN reUIeJgWVA", + "S rv", + "T N", + "T a", + "[ ,", + "l ating", + "li v", + "pro bs", + "ĠG l", + "') \"", + "ÑĢ Ñĭ", + "board s", + "ĠBu cket", + "ĠDet ermin", + "Less Than", + "s peaker", + "he mer", + "ul as", + "Ġd ual", + "tr ay", + "ĠC li", + "ome tri", + "={ [", + "******************************** ************************", + "Ġop inion", + "Rule Context", + "D UP", + "\\ \"> ¶ }}", + "ãĥ Ĭ", + "Ro ad", + "smart y", + "âĤ ģ", + "xtreem fs", + "st ick", + "Ġdo ub", + "pre load", + "include graphics", + "last IndexOf", + "custom ize", + "Ġclear ly", + "Created At", + "è «", + "Ġr ub", + "agent a", + "PHP Excel", + "Ġes se", + "Download s", + "will Return", + "C mp", + "M UT", + "In active", + "á» į", + "Ġglobal s", + "Ind irect", + "I W", + "An aly", + "ĠRes olve", + "ãĥ³ ãĤ¹", + "ĠPost greSQL", + "åºı åĪĹ", + "fac et", + "E OS", + "O X", + "Ġp kt", + "bo y", + "(( ((", + "call able", + "Sto pped", + "ĠTrans lation", + "LP ADDING", + "ĠCEL LPADDING", + "O pp", + "Ġv c", + "ĠC MS", + "Ġtext Align", + "Fl uid", + "Ġbl end", + "blue print", + "ĠAx is", + "ĠÐ ľ", + "method Result", + "rows HTML", + "Proto buf", + "adapter s", + "T b", + "á ı", + "ch tml", + "File NotFoundException", + "Ġobj eto", + "idi omas", + "S us", + "l ux", + "in validate", + "ex perience", + "ad m", + "', `", + "St aff", + "Ġal one", + "do ctype", + "ĠInst itute", + "Sem aphore", + "autom ation", + "en emy", + "ast ers", + "Display ed", + "activ ities", + "Ġ× Ļ", + "对åºĶ çļĦ", + "K eeper", + "Z ONE", + "v pn", + "() },", + "ĠMe an", + "ny a", + "Throw n", + "Ġtrace back", + "Ġdevelop ing", + "] ++;", + "n ano", + "re placement", + "ĠA CL", + "set Default", + "dec ision", + "cop ies", + "!!!!!!!! !!!!!!!!", + "Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠA h", + "oo b", + "Attach ments", + "Ġconven ient", + "an ci", + "Ġd ic", + "con gr", + "ph inx", + "Ġbase Url", + "VID ER", + "Ġca ught", + "uml ah", + "- {", + "St orm", + "Ġtr aits", + "Be low", + "еР¶", + "éĶ Ģ", + "Ġul ong", + "b attery", + "n oc", + "ess or", + "ĠB a", + "ust o", + "ĠH it", + "Ġres idual", + "Ġdis card", + "Or WhiteSpace", + "A lex", + "d cb", + "u ate", + "v iv", + "Ġd engan", + "ri se", + "Ġex ceed", + "Ġpr z", + "wh itelist", + "Des cr", + "æī ¿", + "DR V", + "Ġconf using", + "Ġkon figur", + "Cod ing", + "maked irs", + "S r", + "is NotEmpty", + "Ġd uplicates", + "ĊĊ ĊĠĠĠĠĠ", + "IN V", + "Ġnull a", + "Ġdo g", + "Ġassert Null", + "Ġmod s", + "S ans", + "å ¨", + "ij IJ", + "Ġd ash", + "Ċĉ ĠĠĠĠĠĠĠĠ", + "Ch ip", + "åº ľ", + "Ġput ting", + "об ав", + "Ġprec ise", + "Ġf avorite", + "(\" '", + "ĠG T", + "dd f", + "md l", + "for der", + "map box", + "ts v", + "Ġ\"- //", + "Ne ighbor", + "ĠPartial Eq", + "ŀ ĺ", + "Ġon Press", + "cl ub", + "--- +", + "exp Data", + "åıª æľī", + "J avascript", + "Sign ing", + "Ġro ugh", + "ca ught", + "Inst anti", + "Ġparticular ly", + "âĸij âĸij", + "L it", + "j udge", + "Ġf ort", + "',' =", + "Ġz z", + "éĺ ²", + "åģ ĩ", + "J OIN", + "ar ang", + "he ses", + "ot er", + "åħ ħ", + "Ġarch ivo", + "appro val", + "N ama", + "Ġre call", + "Type Def", + "Spec s", + "ĠLocal Date", + "Ġ'_ '", + "Ġej ec", + "Ġestab lished", + "ypot hesis", + "Recomm end", + "í İ", + "Ġd ao", + "ĠE lectron", + "AL T", + "enc er", + "åĽ ¢", + "çĻ ¾", + "íķ´ ìĦľ", + "is ma", + "ĠD CHECK", + "ĠL AT", + "ĠRe try", + "ok es", + "Control Point", + "Argument NullException", + "Coll ider", + "st ories", + "ĠM ED", + "Ġex plor", + "ìł IJ", + "ç¥ ŀ", + "n ec", + "Ġb one", + "Ġd h", + "em os", + "cl js", + "res se", + "ãģ ¹", + "Ġcomp anies", + "bit coin", + "B ur", + "in ference", + "Ġu ygul", + "ç½ ²", + "EX IST", + "anch er", + "AND ROID", + "ìŀ ¬", + "X Path", + "Ġf etched", + "Ġs cience", + "Ġst ick", + "ĠD M", + "pro filer", + "ĠRe gistration", + "æĪ ¿", + "è® Ń", + "(` /", + "Ġfon ction", + "S ell", + "r Log", + "st ars", + "he ast", + "Ġsh rink", + "Or Fail", + "char Code", + "SO C", + "Bus y", + "pl er", + "Graph QL", + "ĠSelect or", + "Ġbg color", + "Ġclip board", + "Ġë¶ Ģ", + ") ãĢĤ", + "[ #", + "m illiseconds", + "u ar", + "а ÑģÑĤ", + "и д", + "Ġtext o", + "Resource Manager", + "ARE A", + "Ġpublish ing", + "æĶ¯ ä»ĺ", + "POL ICY", + "Ġfre ed", + "ol g", + "pt o", + "De crypt", + "Add Range", + "Le ad", + "ä½ Ļ", + "Token Type", + "æĹ ı", + "ched ules", + "Ġred ucer", + "%; \">", + "ĠDest ination", + "è§Ĩ é¢ij", + "Ġíģ ´ë", + "ce p", + "sh im", + "col ate", + "ä¸Ģ èά", + "Ġcamp o", + "×ĥ \",", + "Q M", + "f cc", + "ĠT AH", + "ĠApp Compat", + "gen ome", + "æĬ ŀ", + "ĠVAR I", + "ë² Ħ", + "Ġdiag onal", + "ĠMESS AGE", + "Ġf ish", + "Ġa uch", + "ĠS MS", + "ĠL C", + "ĠL IN", + "Ġle ads", + "Ġar ma", + "Ġintegr ated", + "volume s", + "Ŀ ì²´", + "Ġc ab", + "ĊĠĠĠ ĊĠĠĠ", + "ic ation", + "// }", + "ĠC SL", + "Ġen cour", + "Ġcor pus", + "à¸Ń à¸ĩ", + "Ġsaf ecall", + "ĠAlloc ate", + "ivari ate", + "N at", + "Ġs ymlink", + "Ġb ill", + "Ġnot ation", + "Data Object", + "Rel ational", + "Ġgood s", + "Led ger", + "G old", + "] -->", + "i ção", + "ĉĉ Ċĉ", + "ĠC AT", + "ĠW rap", + "Ġset Value", + "Ġband width", + "Ġderiv ative", + "` ]", + "c ro", + "ĊĠ ĊĠĠĠ", + "row d", + "ĠDe code", + "write String", + "Web hook", + "ĠImage s", + "éģ¸ æĬŀ", + "Ġf id", + "ĠD L", + "Ex planation", + "Ġgr af", + "Ġmode lo", + "stat uses", + "Stat uses", + "Ġìķ Į", + "ì¶ ľ", + "c ame", + "v otes", + "Ġst uck", + "Ġif rame", + "Ġcom mercial", + "rep lication", + "Ġre stricted", + "Ġjustify Content", + "åħ· ä½ĵ", + "Ġc ulture", + "ction aries", + "sc re", + "Ġchange log", + "ĠCh romium", + "çŁ¥ éģĵ", + "Ġ(~ >", + "× ĵ", + "Ġ\" //", + "IN UE", + "ec d", + "tt family", + "decor ator", + "Ġaplic ación", + "Ġappreci ated", + "Ġre ss", + "ed String", + "Ġun isim", + "comp osite", + "So ap", + "è´ ¨", + "Protocol s", + "ĠInformation en", + "L ik", + "N tk", + "am ap", + "int l", + "Ġun def", + "method Name", + "LL VM", + "à° ¿", + "éĴ ®", + "G RAN", + "Ġout going", + "ĠK ing", + "éĢī 项", + "Ġpick ed", + "GU ILayout", + "D h", + "M orph", + "Ġb are", + "Ġl é", + "div id", + "UN ET", + "XXXX XXXX", + "w is", + "AD ING", + "Ġpy lint", + "ATT ACH", + "PARE NT", + "v components", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "JSON Array", + "Simple IndexQueryParserTests", + "Ip Address", + "ĠNetwork s", + "ĠOper ations", + "CHANG ED", + "d if", + "de mand", + "ext ensibility", + "RE CE", + "Ġhas hes", + "ĠNo Such", + "Multi ply", + "S lf", + "S UR", + "Ref und", + "short s", + "Ġgen ome", + "G OO", + "K I", + "Ġn ec", + "ĠO rient", + "Query String", + "Ġjson Object", + "Ġposs ibility", + "Ġorigin ally", + "ĠìĦ ł", + "ĠREQ UEST", + "cks db", + "ct ime", + "ad ir", + "Ċĉĉ Ċĉĉ", + "ap l", + "ap ons", + "te or", + "az a", + "Ġauthor ity", + "Ġtell s", + "ãģķãĤĮ ãģ¾ãģĻ", + "Ġcle ared", + "< (),", + "W ind", + "w ake", + "ĠS td", + "ort ex", + "Ġex clusive", + "cl in", + "ÑĤ оÑĢ", + "car s", + "Ġp est", + "ĠK C", + "íķĺ ë©´", + "P Q", + "Z U", + "Error Response", + "Ġsub title", + "Query Params", + "ĠWord Press", + "ĠTAH UN", + "R igid", + "j ud", + "Ġv ault", + "Ġh ang", + "Read All", + "cor p", + "ĠIndex es", + "Guard ar", + "t ell", + "µ ľ", + "=' +", + "Int el", + "æĿ Ĥ", + "Import ant", + "clip board", + "Ġpou ž", + "X E", + "ì Ĥ", + "in dividual", + "Ġr l", + "Ġsub tract", + "open ed", + "PER IOD", + "G ONE", + "T REE", + "b q", + "ļ ł", + "st y", + "bo unc", + "',' -", + "event Name", + "æĻ ®", + "Fold ers", + "L W", + "b son", + "à ®", + "Time Unit", + "iter able", + "mer chant", + "Red uc", + "çł Ķ", + "B eta", + "ame d", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "mail er", + "Mov ing", + "ĠAli as", + "Ġhint s", + "B as", + "Ġb ags", + "get Index", + "IS A", + "cip ients", + "H u", + "N ever", + "at z", + "ro k", + "ĠS ing", + "ĠM ini", + "do ctor", + "æľ ĥ", + "Ġtitle s", + "Vector s", + "ı è§Ī", + "ath on", + "DE T", + "index ed", + "che vron", + "Ġz o", + "ĠRes er", + "л ем", + "ines is", + "Art ist", + "SIGN AL", + "Ġmag na", + "a an", + "Ġn úmero", + "lass ian", + "ĠN il", + "Ġpro pose", + "ĠTest ed", + "fd c", + "los ses", + "ad f", + "Ġw a", + "ĠD ex", + "Ġ# :", + "class ic", + "čĊčĊ čĊčĊ", + "Wh o", + "Ġappro val", + "ĠControl s", + "æ¯Ķ å¦Ĥ", + "Compact TextString", + "ĠSIGN AL", + "DESCRIPT OR", + "K ill", + "h oliday", + "re present", + "get Method", + "ĠO VER", + "Ġk m", + "ĠQ R", + "Long itude", + "Ġsear ched", + "Ġf oi", + "ĠP FN", + "Ġk omp", + "Ġstart Date", + "Dis cord", + "Ġmov ies", + "éĢļ çŁ¥", + "god ot", + "In dividual", + "ll ong", + "be ats", + "PRO VIDED", + "math rm", + "Serialization Error", + "Ġatom s", + "V el", + "t lement", + "str conv", + "cond s", + "ĠPAR SER", + "recip es", + ") }}", + "S id", + "ul u", + "sp b", + "ult aneous", + "con e", + "ĠR OS", + "App ointment", + "S ampling", + "m or", + "r ac", + "ãģ ĺ", + "UL ES", + ">( ()", + "Ġpriv acy", + "Ġanim ations", + "æĮī éĴ®", + "r tp", + "Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠ", + "as pberry", + "key up", + "Ġcomp iling", + "Ġvalid ators", + "à® Ł", + "à° ¾", + "pf cp", + "Alert s", + "COR RECT", + "Ġstand alone", + "Ġgrow th", + "âĢĵâĢĵ âĢĵâĢĵ", + "} @", + "uk tur", + "ìĦ ł", + "Built in", + "åįı è®®", + "' -", + "[ {{", + "is che", + "() ])", + "ĠTh ree", + "ãĤ¢ ãĤ¯", + "tele gram", + "Descri ptions", + "Ġrepl acing", + "C tl", + "S HE", + "d avid", + "re play", + "at ó", + "ĠC SR", + "Re cognition", + "ĠN orth", + "sub process", + "length s", + "Ġdist ances", + "Per Page", + "ëł Ī", + "ĠÂł ĠÂł", + "C W", + "C ANCEL", + "K O", + "f avorite", + "oc s", + "Comp ose", + "Service Model", + "ÑģÑĤ ан", + "Ġconnect ivity", + "ĠSw ap", + "sanit ize", + "EntityFramework Core", + "g ence", + "le ast", + "Get User", + "unc hed", + "ĠPR IV", + "NotFound Error", + "Ġvi ol", + "Ġappear ance", + "ạ i", + "æ ¹", + "ar ms", + "ĠM ultip", + "ĠR ules", + "ĠK it", + "Ġdel le", + "é¢ Ĩ", + "QU A", + "ÑĨи и", + "ĠDesign er", + "éĿŀ 常", + "SERIAL E", + "F abric", + "H w", + "Ġo mit", + "ĠS F", + ",' '),(", + "ull ong", + "log rus", + "Ġinitial State", + "Sw agger", + "Extension Registry", + "ãģ¾ ãģĽãĤĵ", + "Ġaug ment", + "v ect", + "Î ¯", + "ĠS anit", + "put Extra", + "add Attribute", + "Ġno v", + "vert ising", + "Ġbl k", + "Ġdie se", + "BOT TOM", + "¦ãĥ¼ãĤ¶ ãĥ¼", + ", ),", + "p T", + "ĠM ix", + "Ġ& $", + "ĠU R", + "Ġthrough out", + "co tt", + "ĠI PT", + "Ġe vidence", + "Ġindex ing", + "EDIT OR", + "Ġpou vez", + "Adv ance", + "Ġm agnitude", + "=\" \"> ())", + "B en", + "j x", + "v z", + "ë ¬", + "Ġ ull", + "ĠM ass", + "\": [{\"", + "ne j", + "Del imit", + "~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~", + "SUFF IX", + "! ='", + "K t", + "Ġs phere", + "oo f", + "be g", + "Access ibility", + "åıij çĶŁ", + "ĠCos mos", + "Ġíķ Ħ", + "Ġt an", + "Ġ= '", + "Ġh s", + "Re play", + "UL ONG", + "Ġhe at", + "table block", + "CRE ATED", + "ĠOr d", + "Vi olation", + "cem ber", + "E FI", + "Ġso v", + "Ġgl Vertex", + "Ġcomment ed", + "áļ ĭ", + "âĸĦ âĸĦ", + "ĠF OL", + "File Dialog", + "Return Type", + "å®ŀ éĻħ", + "ĠR ID", + "Ġtrans itions", + "Ġopen s", + "watch er", + "缸 åIJĮ", + "= ?", + "> %", + "] |", + "x aml", + "Ġde coding", + "é ho", + "Ġmaint ained", + "V ENDOR", + "X J", + "n as", + "t if", + "le ading", + "Ġout bound", + ") };", + "j ab", + "j pa", + "q h", + "č Ċĉĉĉĉĉĉĉĉĉĉ", + "Ġ ice", + "que ued", + "bu mp", + "ES P", + "AS P", + "ado be", + "Ġbound aries", + "Art icles", + "Ġ §", + "N t", + "Ġ ÃŃ", + "Ġw orry", + "() /", + "ch ap", + "ĠM IME", + "Ċĉĉĉ ĠĠĠĠĠĠ", + "ĠV B", + "error Code", + "bar code", + "zen ia", + "ĠExec utor", + "çµ IJ", + "F o", + "J wt", + "S AM", + "ĠS UP", + "get Action", + "EN GINE", + "... \",", + "thing s", + "Ġ:: :", + "PAR SER", + "íķĺ ì§Ģ", + ")| [", + "h df", + "ĊĠ ĊĠ", + "The ory", + "visual studio", + "Ġhex adecimal", + "S ending", + "` \\", + "v endors", + "ĠC orre", + "set Current", + "__ ))", + "VER BOSE", + "Ġsup plier", + "CHECK S", + "Ġpers pective", + "ี à¹Ī", + "D og", + "e core", + "g ab", + "ê ·", + "Ġc argo", + "it u", + "ĠH ide", + "ĠJ upyter", + "ĠList Node", + "ö g", + "CR C", + "Ġclean ed", + "ĠOrg an", + "COD ING", + "R a", + "en voy", + "Ġf ib", + "ess oa", + "be ee", + "Comp osition", + "af d", + "Search Result", + "Ġsup press", + "Ġaut of", + "Pod s", + "PRI ORITY", + "get Boolean", + "åı Į", + "Ġflex ible", + "éĺ ³", + "M AR", + "c ce", + "ĠS uggest", + "mo lec", + "sub subsection", + "gen re", + "容 åύ", + "J a", + "Info f", + "bit bucket", + "Ġ( >=", + "() \",", + "get Activity", + "ist io", + "Ġl iter", + "ant t", + "fl ask", + "Box es", + "rep lica", + "Gr pc", + "æīĭ æľº", + "alp ine", + "f z", + "ļ Į", + "() )))", + "In Bytes", + "av o", + "set Description", + "select All", + "limit ations", + "track ed", + "Ạ§", + "ĠON LY", + "merch ants", + "/ ../", + "D an", + "E ast", + "V ulkan", + "is Present", + "Ġp ed", + "project Id", + "Ġph ysics", + "ìĹ ħ", + "sn printf", + "ĠëIJ ĺ", + "B Q", + "U x", + "[] ):", + "ó s", + "Ġcombin ations", + "DOCS IS", + "ê Ļĭ", + "Ġf an", + "get Resources", + "On Error", + "Ġpart ir", + "fa hren", + "SC AL", + "åĩ ı", + "' ^", + ". \"]", + "j un", + "le z", + "() `.", + "Ġ[ {\"", + "Ġun checked", + "ä nder", + "ĠEn code", + "Reg Exp", + "PC I", + "aut ogen", + "BL K", + "VAR CHAR", + "Pause d", + "recomm end", + "á¹ ĥ", + "Ġlap top", + "P ivot", + "Å «", + "Ġas ci", + "Ġus ual", + "cr ash", + "=\"# [", + "Ins pect", + "tax onomy", + "ĠMETHO D", + "S vc", + "× ¢", + "Ġ$ \"{", + "di agnostics", + "Ġrel ations", + "Valid ators", + "Ñĥ Ñģ", + "æĸ° å¢ŀ", + "NNNN NNNN", + "unge on", + "Ġasc ending", + "unist d", + "S aving", + "b sl", + "r nn", + "ed b", + "ãĥ ļ", + "emp o", + "Group Box", + "gener ators", + "Ġ<$ >", + "n ey", + "p Next", + "u ix", + "he m", + "Ġre serve", + "(' {", + "ir on", + "mem cmp", + "CM OF", + "c utoff", + "st l", + "Ġ{ |", + "Ġe f", + "OR IGIN", + "ĠJ VS", + "Ġq t", + "Author ize", + "Ġ---------------------------------------------------------------- ------------", + "Ġ{: .", + "->{ '", + "nes day", + "| >", + "ë ¯¸", + "iv il", + "ang erous", + "AG ENT", + "exp onent", + "à§ ĭ", + "Fin ally", + "Sig ma", + "ĠL es", + "py ri", + "Ġexec utes", + "S ms", + "m appings", + "Ġin vention", + "Ġse a", + "Ġlo se", + "lick r", + "Ġret ries", + "ier a", + "week ly", + "Reser vation", + "ĠHttpServlet Response", + "> -->", + "b os", + "as df", + "est im", + "igh th", + "ãĥ¼ ãĤ¯", + "lb k", + "ĠSER VER", + "GENER AL", + "D J", + "S ites", + "Inter ruptedException", + "Method Call", + "ins ights", + "Ġcontrol led", + "IsNull OrWhiteSpace", + "int s", + "De posit", + "Ġover head", + "tip s", + "Ġme mb", + "Ġset Name", + "Ġlocal s", + "'> \"", + "ĠÑĦ ай", + "pens ive", + "b is", + "f cf", + "Error Action", + "j Äħ", + "o ch", + "ãĥ ĵ", + "Col lapse", + "Ġ/* #__", + "Sign In", + "ĠMod ifier", + ") ::", + "ver tx", + "ĠL G", + "ãĥ Ķ", + "а ем", + "æĢ İ", + "s pe", + "th r", + "user ID", + "que l", + "pr ices", + "Ġout file", + "work bench", + "By Val", + "ĠZ end", + "ç§ ¯", + "scroll bar", + "FIX ED", + "atell ite", + "L aravel", + "y er", + "re action", + "at son", + "Ġt tl", + "Ġp ts", + "un register", + "Ġo sc", + "Ġdistribut ions", + "ĠCom ments", + "ho z", + "month s", + "agr ams", + "\"> .", + "{} \",", + "Unit ed", + "åıĸ æ¶Ī", + "Circ uit", + "L ost", + "ĠC lip", + "ĠM ont", + "Ex ceeded", + "Ġsh ipping", + "ãĥ į", + "obj c", + "OF T", + "Ġnecess arily", + "mid ine", + "Ġexemp lo", + "ãģĮãģĤ ãĤĬãģ¾ãģĻ", + "} \"/>", + "Qu it", + "anc ia", + "Ġmodify ing", + "ĠRef lection", + "Ġ ä¸Ĭ", + "an ime", + "ĠP refix", + "IT ICAL", + "ĠRe po", + "Un available", + "LO Y", + "draw ing", + "ĠSw agger", + "Ġguarante e", + "ĠBuffered Reader", + "Ġusu ário", + "Z O", + "á ½", + "orm ap", + "Un implemented", + "sign als", + "Ab sent", + "Ġng x", + "ĠRef lect", + "ISH ED", + "Ø ·", + "Work load", + "s ip", + "ë ħ", + "C ookies", + "C ASCADE", + "m tx", + "in ternet", + "is y", + "ĠC X", + "ĠEN DIF", + "k j", + "is an", + "Ġre base", + "fe a", + "Ġap k", + "Ġco res", + "ĠìĹ °", + "âķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJ âķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJ", + "ap or", + "ov ánÃŃ", + "remove All", + "Min imal", + "è§ ī", + "yy Dollar", + "Ġpol ling", + "Ġë° ĺ", + "f is", + "ĠR S", + "Ġqu iet", + "ham crest", + "Suggest ion", + "ĠWrit ing", + "Ġguarante ed", + "tr unc", + "ĠT od", + "Ġan g", + "}} /", + "Ġdi agnostics", + "GE O", + "éĿ Ļ", + "pod cast", + "ál ó", + "Ġrob ust", + "P DO", + "b am", + "r ans", + "is In", + "ĠA rm", + "lang s", + "subject s", + "Inv ite", + "Pers ist", + "E INVAL", + "G ro", + "li ot", + "å® ¡", + "Ag ain", + "as ar", + "Ġb abel", + "if old", + "Ġun ix", + "Ġdis posit", + "IS S", + "di agram", + "bar rier", + "Ġsent ences", + "Visual Style", + "SEL F", + "ĠEm ber", + "ëª ħ", + "Ġaccel eration", + ". \\+", + "T UR", + "f ro", + "q os", + "re x", + "Ġin ode", + "get Children", + "ĠP ending", + "gr and", + "Test Harness", + "\":\" \",\"", + "Ġproperty Name", + "Ġmis sion", + "çī Į", + "pass wd", + "åĨħ éĥ¨", + "ĠProcess or", + "ORIZ ONTAL", + "b right", + "ĠĠĠĠ ĊĠĠĠĠĠĠĠ", + "Ġs int", + "Ġn isi", + "Ġun install", + "Book mark", + "M r", + "c nn", + "z Hj", + "é ¾", + "Ġ} //", + "Ġtime d", + "remove Child", + "Rel ations", + "æĪij çļĦ", + "Ġcr ashes", + "ĠUnit ed", + "Ġess ere", + "Vw D", + "K U", + "b db", + "ĠM al", + "add Field", + "ie vement", + "çº ¢", + "story book", + "Ġsatisf ied", + "Ġw d", + "tr aj", + "Arg b", + "Ġvalid ates", + "Run s", + "MM C", + "ĠGu ard", + "c ir", + "Ġt ee", + "Ġc ov", + "ĠS on", + "to po", + "ĠG CC", + "ref und", + "En crypted", + "not Null", + "Ġqu er", + "Ġcons ensus", + "inv ocation", + "Align ed", + "parametri ze", + "pyri midine", + "] \");", + "mp tom", + "//// //", + "Or Else", + "SC re", + "ĠDel ta", + "Ġtear Down", + "at os", + "Ġf m", + "set Message", + "child Nodes", + "Ġinsert ion", + "Ġcancell ation", + "Ġdolo re", + "G t", + "a ab", + "g host", + "ĠC URL", + "ĠL N", + "ense d", + "ann a", + "Ġì Ļ", + "ins pection", + "T ween", + "b ell", + "p refer", + "Ċ ĊĠĠĠĠĠĠĠĠĠĠ", + "ro i", + "ex tr", + "ab bre", + "ll er", + "B j", + "f link", + "Ġ' ~", + "ĠD P", + "pos ix", + "代 çIJĨ", + "Ġincrease d", + "PEND ING", + "J A", + "Y XR", + "c aster", + "ĠT utorial", + "ĠL ic", + "bo unded", + "be f", + "Ġz ijn", + "æİ Ī", + "ж е", + "Ġfrag ments", + "P AL", + "S ect", + "Ġin vert", + "Ġerror Code", + "éĢ »", + "éĻ į", + "[{\" -\",", + "ĠArch ive", + "MOT OR", + "PLI O", + "Marshall er", + "ĠA PR", + "em sp", + "est imator", + "Ġmin x", + "Ġí ĥ", + "GO JT", + "hgl BI", + "zHj ZQW", + "S am", + "c dd", + "sp acer", + "Ġk in", + "cmd s", + "çĤ º", + "Ġemploy ees", + "| --------------------------------------------------------------------------", + "ch ors", + "client Id", + "Ep isode", + "> ),", + "I US", + "n atural", + "ct est", + "back trace", + "Ġpl ural", + "dis posing", + "Ġno op", + "åIJ Ĺ", + "Ġpe ut", + "Spring Boot", + "b rightness", + "Ġc ertific", + "get View", + "ĠD LL", + "Ġpro mp", + "Time Span", + "Me eting", + "|| (", + "ĠMon ad", + "æıIJ 示", + "ĠOFF SET", + "; `", + "T ier", + "T TL", + "Ġ ÙĨ", + "In lining", + "back slash", + "ta pe", + "Cl us", + "Lat ency", + "ñ a", + "ĠRo ad", + "Ġa dopt", + "mp p", + "Ġy ö", + "ild a", + "render ed", + "åī ²", + "D AC", + "Ġ[ /", + "ĠString s", + "[] }", + "Ġdirection s", + "C AD", + "il de", + "Ġ/ \\.", + "Ġal ive", + "ok ument", + "Ġsm allest", + "WE IGHT", + "Ġtra verse", + "Ġprevent s", + "f no", + "se gu", + "ĠC LO", + "ir is", + "IN DIR", + "ĠSt ation", + "FI ELDS", + "avel ength", + "r ases", + "Re action", + "ve is", + "Sh own", + "čĊĉĉĉĉ čĊĉĉĉ", + "Scal a", + ", ',", + "E vidence", + "Ġse ct", + "Ġg id", + "Test Class", + "off s", + "cap ability", + "ĠMake file", + "Chunk s", + "Ġangle s", + "In ference", + "Ġis Empty", + "ind x", + "Node List", + "Inter sect", + "ĠLO W", + "XML Schema", + "COMP ARE", + "Install ing", + "G pu", + "s coped", + "Ġs pend", + "Ġm ine", + "Ġpr ices", + "ĠID S", + "ĠAd apt", + "в еÑĢ", + "Ġæ ·", + "Ġsignature s", + "Anim ated", + "Ġìľ ł", + "ĠDeep Copy", + "ĠEner gy", + "B ond", + "x n", + "Pro duces", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠH W", + "sub menu", + "Ġpath name", + "ĠX X", + "Ġdist ribu", + "Ġassoci ate", + "Cor outine", + "èĩªå·± çļĦ", + "in dependent", + "an j", + "\"; '}", + "åĪ ¥", + "abor ator", + "ĠSl ider", + "Outer Class", + "B CD", + "Ġb az", + "Ġde posit", + "Ġh og", + "ĠM ichael", + "Ġr am", + "Ġj ako", + "ĠW enn", + "æİ ī", + "IR C", + "Internal ServerError", + "å± ı", + "II I", + "Exact ly", + "tagHelper ExecutionContext", + "G X", + "u char", + "| @", + "ar á", + "Ġ< !", + "Ġh om", + "Ġint ensity", + "Ġk ay", + "Key Id", + "Ġrequest ing", + "ings Enum", + "Vis ion", + "Ġdir s", + "æİ¥ æĶ¶", + "compat ibility", + "Ġsus pect", + "ĠLIB ERTY", + "Invariant Culture", + "id f", + "io ctl", + "ens ation", + "TO S", + "Out side", + "je ky", + "ĠCom munication", + "Ġfore cast", + "Ġbas ename", + "SCH ED", + "éĢ» è¾ij", + "O w", + "m ann", + "Ġiss ued", + "cd s", + "éļ IJ", + "/ \"}", + "Ġv ac", + "list ed", + "script ive", + "ĠComp uting", + "ĠSh ot", + "{} \\", + "ge ben", + "ĠP CI", + "fil m", + "S AT", + "ĠS RC", + "Ġë Ħ", + "ASS OC", + "Account Name", + "IE EE", + "Ġmonth ly", + "çĦ ¡", + "Å º", + "es se", + "lo ž", + "ĠC at", + "ĠList ener", + "jeky ll", + "* <", + "D ur", + "D ial", + "K r", + "L uc", + "me x", + "get Local", + "ack s", + "ĠM arch", + "art s", + "mo jo", + "inst itution", + "Ġwonder ing", + "H or", + "ĠT utor", + "Add To", + "cal lee", + "rid ing", + "Custom ers", + "follow ing", + "Navig ate", + "Q r", + "Ġ å°ı", + "Ġ æł¹æį®", + "de struct", + "Ġn eces", + "Ġo ss", + "ĠL in", + "__ .__", + "ynam odb", + "Ġlength s", + "ĠImage View", + "MQ TT", + "Ġtalk ing", + "MethodImpl Options", + "f uel", + "l id", + "ĠN U", + "\": {", + "PE AT", + "ĠLog o", + "\\\": {\\\"", + "ĠExt ensions", + "Ġìĺ ¤", + "C able", + "st retch", + "pack er", + "Ġprotocol s", + "Integr al", + "Ġmount ed", + "d am", + "g sub", + "Ġ ult", + "Ġg ib", + "ĠW P", + "fore ground", + "HO OK", + "Ġìŀ ħ", + "Bus queda", + "èĬ ±", + "Ġmé todo", + "Optim izer", + "D realtime", + "_ ),", + "t own", + "Ġp sy", + "Ġo t", + "Data Service", + "ink s", + "read Line", + "ภ³", + "Ġdist ingu", + "Ġgu ys", + "GD AL", + "à±ģ '),", + "ApiModel Property", + "Drealtime hot", + "s ensitive", + "Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġde ze", + "čĊĠ č", + "Ġtext ures", + "cf n", + "Sk u", + "Ġweight ed", + "d nn", + "\"> -", + "Ġi pc", + "éĺ ¶", + "is son", + "Ġb ere", + "ap pear", + "Ġg rey", + "Ġg arbage", + "ĠR ank", + "Ġimport ing", + "Ġ($ _", + "Ġref s", + "Host ing", + "MODE M", + "Ġcalcul ations", + "ãģĹãģ¦ ãģıãģłãģķãģĦ", + "descri pcion", + "m time", + "oo led", + "ãģ ¸", + "ĠIn form", + "Ġcomp anion", + "å° ģ", + "Assign able", + "ĠC atch", + "Ġ[ --", + "Ġal go", + "Ġen abling", + "å® ½", + "CON N", + "CON S", + "hl sl", + "J avadoc", + "S on", + "w q", + "Ġf arm", + "Ġb illing", + "Ġg db", + "Ġi Phone", + "Ġ\\ |", + "Item Id", + "Of Work", + "æŃ£ 常", + "ĠAttribute Error", + "Ġ 为", + "(\" ^", + "Ġne bo", + "è·¯ çͱ", + "ĠArch itecture", + "bru ary", + "f db", + "Ġb rightness", + "ĠM or", + "bug zilla", + "Ġad vice", + "device Id", + ".' \"", + "Provide s", + "Scroll Pane", + "ê² °", + "Ġadipis cing", + "ĠAmer ica", + "Ġvit ae", + ". ]", + "G att", + "Z h", + "g Y", + "p referred", + "and Expect", + "Ġ| \\", + "ĠIn ner", + "]( {{", + "Base Url", + "Ġte lemetry", + "Ġarch itect", + "B attle", + "Q s", + "i ke", + "Ġì ¡°", + "Activ ated", + "DY NAMIC", + "ĠGa ussian", + "H d", + "me ld", + "el ist", + "up pet", + "ภĬ", + "Property Type", + "fa a", + "has ht", + "Ġ'../../ ../../", + "Ġê° Ŀì²´", + "ë§ ¤", + "æ¥ ¼", + "âĶģâĶģ âĶģâĶģ", + "# '", + "a ic", + "') }}> ;", + "Ġco up", + "ram id", + "RUN TIME", + "ĠBig Number", + "PRINT F", + "ì nh", + "Ġvolupt ate", + "P J", + "Ġt old", + "Ġre versed", + "ol ine", + "ce c", + "end ian", + "Render Target", + "Ġhost ing", + "REG EX", + "Ġchart s", + "Ġak ka", + "ĠPoly gon", + "ThreadPool Executor", + "/ [", + "l ater", + "Ġt unnel", + "Ġin dustry", + "co red", + "get List", + "te lemetry", + "Ġ\\ [", + "fe f", + "Ġassign ments", + "zhi hu", + "U t", + "V l", + "Ġt ier", + "RE M", + "Array Of", + "DB Instance", + "}` }", + "Ġeffect ively", + "ĠEMP TY", + "rLog Util", + "C ron", + "d ab", + "Ġa é", + "Ġ\" |", + "() }}", + "be it", + "ee f", + "uch sia", + "Web pack", + "ê° ģ", + "à° ®", + "Fact ories", + "sym fony", + "T f", + "k now", + "ass is", + "http Client", + "ĠLog s", + "ha us", + "ĠNull able", + "U r", + "ĠP adding", + "Ġch amp", + "post al", + "af b", + "Ġfin ancial", + "Ġclick s", + "D y", + "Ġ\" ))", + "Ġto po", + "ĠP EM", + "Ġget State", + "Part icles", + "Part itions", + "Include d", + "ĠRel ative", + "u its", + "un shift", + "ĠT ur", + "sig s", + "market place", + "çĽij åIJ¬", + "' _", + "N aming", + "el ite", + "ĠS EQ", + "em i", + "og g", + "Ġend Date", + "Inter cept", + "Ġcre ature", + "Ġde be", + "Ġset Id", + "aw a", + "cc d", + "л ÑĮ", + "ä¸Ń å¿ĥ", + "ĠPRO P", + "ĠAUTH OR", + "* $", + "b lo", + "th o", + "ĠH P", + "]) ),", + "Ġus o", + "ঠ¦", + "ĠSub scribe", + "ĠAt tr", + "curr Pos", + "Ġsubst itution", + "in l", + "Ġd v", + "ĠIn crement", + "ãĥ Ł", + "book mark", + "éĢ £", + "ighb ours", + "ĠArgument Error", + ">@ [+", + ">@[+ ][<", + "Ġc riterion", + "set Content", + "Con sent", + "Man ip", + "context s", + "pack ing", + "oper ands", + "isp iel", + "ĠíĮĮ ìĿ¼", + ") !", + "P aste", + "\\ \"]", + "g ps", + "į Ķ", + "create Text", + "æķ ħ", + "has er", + "Ġsv n", + "THRESH OLD", + "Amer ica", + "E ACH", + "E quipment", + "b les", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "st ret", + "ĠC op", + "ĠH y", + "include d", + "à® µ", + "ĠRead s", + "Ġfac et", + "KS GE", + "Provide d", + "Mg mt", + "SCre ature", + "A y", + "Ġ åıª", + "ut en", + "co w", + "ĠL PC", + "Con sum", + "Is Empty", + "End Of", + "COL LECTION", + "Ġaccept able", + "circ ular", + "( .*", + "B ATCH", + "K Y", + "Ġa le", + "Ġd ost", + "åħ ¸", + "ãģ« ãģ¤ãģĦãģ¦", + "è¨ Ī", + "Month ly", + "MACH INE", + "J PG", + "á st", + "center ed", + "URL Connection", + "Exp onent", + "sn ake", + "ĠpÅĻ ÃŃ", + "Ġspect rum", + "un subscribe", + "Ġb onus", + "sh er", + "é d", + "Ġaction Performed", + "å¾ Ģ", + "æĶ »", + "ulner ability", + "VisualStyle BackColor", + "t st", + "w z", + "Use VisualStyleBackColor", + "Ġtheme s", + "d pkg", + "ĠC TRL", + "Status OK", + "ĠPh ysical", + "Regex p", + "ĠاÙĦ Ùħ", + "Ġglob ally", + "Regist ers", + "p reference", + "Ġ{ _", + "User Service", + "Ġtemp file", + "建 ç«ĭ", + "Ġз наÑĩ", + "wend ung", + "/ \")", + "e lems", + "set Size", + "St rength", + "ĠApp lications", + "cell ent", + "Rest Controller", + ": )", + "` ï¼Į", + "d ub", + "or er", + "Ġt ent", + "Ġn as", + "Ġun i", + "AS ON", + "Unknown Fields", + "( +", + "N Z", + "Z IP", + "f ilt", + "Ġb n", + "om ic", + "To Json", + "ID LE", + "cc ión", + "Ġdis pid", + "Ġpart e", + "Ptr Output", + "ç§ ģ", + "å¾Ī å¤ļ", + "vertise ment", + "ĠĠ ĊĠĠĠĠĠ", + "el ix", + "Ġpro metheus", + "čĊč ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ph o", + "rt f", + "msg Types", + "ef b", + "Ġgl Get", + "mask ed", + "inherit ance", + "ĠAss ignment", + "Ġ%> %", + "congr uent", + "S ORT", + "x k", + "x FC", + "Ċ ĊĠĠĠĠĊĠĠĠ", + "Ġ ion", + "Ġs ns", + "Ġre pe", + "() ',", + "get Input", + "set Position", + "User Guide", + "Char Array", + "ãĤ¯ ãĥ©", + "æŀĦ éĢł", + "ĠEc lipse", + "at u", + "Ġd it", + "ff a", + "Ġraise s", + "å®ļ çļĦ", + "Ġsl ash", + "\" ?\",", + "Ġo il", + "ĠIn line", + "text ures", + "и и", + "é¢ ľ", + "=\\ \"\"", + "ĠImmutable List", + "ONES IA", + "循 çݯ", + "Z END", + "í ĭ", + "ut r", + "Ġs qu", + "Ġlo ca", + "key down", + "select ors", + "gen es", + "fix es", + "Ġpract ices", + "Y y", + "c sp", + "Ġn ou", + "Ġ\" =\"", + "Ġre boot", + "ĠT ax", + "ĠO m", + "ĠRe c", + "AC ION", + "App Id", + "Line Number", + "Ġæ ¨", + "Ġc it", + "Ġà ĸ", + "à® ¯", + "sys log", + "æµ ıè§Ī", + "åIJĮ æŃ¥", + "CLO UD", + "ĠCNW SCreature", + "suggest ion", + "get Position", + "Ġ_ (", + "Ġ> ::", + "nd im", + "sha res", + "Mov ies", + "bat ches", + "Ġregist ro", + "categor ia", + "Ġconj unto", + "V pn", + "is file", + "and y", + "ĠP OL", + "LOW ER", + "el im", + "eb en", + "DI CT", + "Spec ies", + "Enter prise", + "Pres ence", + "产 åĵģ", + "ä¸įåIJĮ çļĦ", + "h ad", + "r ice", + "Ġb on", + "tr ail", + "Ġtrack ed", + "gg ler", + "Ġíķ ł", + "ç¼ĸ çłģ", + "nix pkgs", + "Ġìļ Ķ", + "DIP SETTING", + "in en", + "ic ao", + "Ġf ut", + "Ġre cognize", + "Ġin flater", + "par cel", + "State Machine", + "Ġtable t", + "ĠData Types", + "pub sub", + "Ġest im", + "ĠTensor Flow", + "á»§ a", + "Z n", + "p is", + "id ata", + "ĠT Table", + "ĠA rial", + "ĠM ess", + "ĠF re", + "ll en", + "RO WS", + "ĠView Group", + "|| ||", + "ĠCapt ion", + "K M", + "re servation", + "ĠF IR", + "pl uck", + "On R", + "ĠCont inu", + "sim ulate", + "Coord inator", + "ãģ§ãģį ãĤĭ", + "ĠìĦ¤ ìłķ", + "ic ates", + "Ġw ild", + "get Title", + "******************************** ****************", + "scal er", + "Ġclear fix", + "TRANS FER", + "ugi at", + "ogn itive", + "R H", + "Ġt ang", + "Ġf ö", + "Ġle xer", + "Un marshaller", + "IP V", + "NOT IFICATION", + "ĠঠĨ", + "Ġstandard s", + "Ġgrup o", + "P EN", + "z L", + "ĠĠĠĠ Ċ", + "Ġd n", + "ĠT re", + "ĠT ermin", + "int ensity", + "Ġj p", + "ĠX code", + "Ġside s", + "ĠConstruct s", + "â Ĩ", + "ex istent", + "li z", + "di agnostic", + "ts d", + "den om", + "Ġless on", + "en det", + "Ġf wd", + "is Open", + "Ġ}} \">{{", + "Non ce", + "ĠCre ation", + "ament al", + "Normal ized", + "Packet s", + "Ġir ule", + "åķ ı", + "Std out", + "em l", + "temp orary", + "Ġsome what", + "build ers", + "display Property", + "Ġexp ressed", + "mask s", + "E g", + "j Label", + "ĠL ang", + "lib erty", + "æĺ ł", + "Reg s", + "ĠUtil ities", + "Ġseg uint", + "éĺŁ åĪĹ", + "D uring", + "g os", + "w lp", + "ë Ķ", + "al Ä±ÅŁ", + "ac les", + "ĠO WNER", + "sub j", + "ĠPar allel", + "Local ization", + "ан д", + "sheet s", + "Ġattach ments", + "pres ence", + "P ast", + "h ugo", + "Ġn m", + "ĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠ", + "dis card", + "Out bound", + "Ġà Ĺ", + ")) [", + "ĠList View", + "Ġrel atively", + "bootstrap cdn", + "Ġtimestamp s", + "J Q", + "r ail", + "Ġf rm", + "key ed", + "draw er", + "Ġve z", + "ĠиÑģп олÑĮзов", + "N x", + "T m", + "V r", + "e fa", + "o j", + "en ia", + "ver e", + "Up dating", + "Ġpe lo", + "Ġreport er", + "ãĤ¤ ãĥĪ", + "Ġframework s", + "ĠRecord s", + "çŁ Ń", + "ex clusive", + "arg ing", + "IT OR", + "read String", + "ĠDO WN", + "Ġæ Ĭ", + "Could n", + "ĠLear n", + "` ):", + "un ary", + "get Root", + "art en", + "com munication", + "Ġpro ve", + "line To", + "ell ido", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "auto load", + "Send Message", + "on Error", + "ke it", + "wh itespace", + "object ive", + "system d", + "Ġplay ed", + "phone Number", + "Dependency Injection", + "d B", + "g ive", + "act s", + "ĠO wn", + "ant is", + "Ġat ribut", + "base s", + "Des ired", + "idx s", + "BB B", + ">() ((", + "Ġb attery", + "ĠI AM", + "ĠO bit", + "arg max", + "Ġsp read", + "á» Ľi", + "Ġcap s", + "Ġ× ij", + "horizontal Layout", + "ĠOrig in", + "J vm", + "Ġs aves", + "iv y", + "IN TEL", + "Ġ& ___", + "Ġpath lib", + "with draw", + "Cell Style", + "è¿Ľ åħ¥", + "æ¼ Ķ", + "M aven", + "R abbit", + "Ġh h", + "User Profile", + "UN ICODE", + "][ $", + "Ġpart icipants", + "RL P", + "Ġâ Ĩ", + "ĠTe ams", + "è´ §", + "Fe cha", + "ĠImport Error", + "M ale", + "Ġc sr", + "Ġa h", + "Ġa es", + "ĠR SA", + "public Key", + "åį Ī", + "PL L", + "cv ename", + "Ġwr apping", + "VARI ANT", + "C Z", + "Ġm int", + "tr acing", + "get System", + "Ġfor um", + "ert s", + "ĠW J", + "ĠW ay", + "ĠH at", + "AL WAYS", + "Mut ate", + "ìĤ °", + "k as", + "Ġ{ {{", + "om s", + "emp resa", + "pack ets", + "resource GroupName", + "ãĥ¼ãĥ IJ", + "Ġintegr al", + "Ġsimilar ity", + "L ittle", + "de scribed", + "ol ves", + "(\" +", + "com mod", + "čĊč ĊĠĠĠĠ", + "EN A", + "not a", + "Ġfore ground", + "ĠãĤ ³", + "ế t", + "# -", + "T URE", + "Ġw izard", + "Re search", + "Ġsub s", + "ignore d", + "lat ency", + "Ġhel m", + "+\" '", + "ĠJson Object", + "recomm ends", + "Ġw ifi", + "Ġh är", + "ĠP YG", + "class name", + "PO SIX", + "exp ired", + "FR AG", + "Ġcmd let", + "stand alone", + "åĿ IJ", + "Ø§Ø ¯", + "` '", + "Le gal", + "font awesome", + "bind gen", + "Div ision", + "ĠOp code", + "æŃ£ åľ¨", + "å®Į åħ¨", + "Ġembodiment s", + "get Length", + "pro tein", + "ime s", + "DI FF", + "******************************** ********", + "token ize", + "ãģ® ãģ§", + "Ag gressive", + "BIT MAP", + "Ġconsult e", + "ĠIND ONESIA", + ": +", + "ë į°", + "ro red", + "Ġd ag", + "Test Category", + "ams ung", + "å¼ ¹", + "ĠCR YPT", + "ê¹ Į", + "T ls", + "in ches", + "li br", + "ĠO l", + "Get Item", + "Th ickness", + "uint ptr", + "sol r", + "share point", + "ĠAllow s", + "Corre ction", + "C tor", + "get Row", + "-> __", + "ĠD uplicate", + "Config ured", + "Ġsn printf", + "Ġsatisf y", + "èĥ Į", + "A mt", + "b ios", + "Ø ²", + "ĠP ACK", + "Ġ~ (", + "pk l", + "Ġо д", + "ĠÑ Ĩ", + "Ġroom s", + "Ġc k", + "Ġd ice", + "os gi", + "čĊč Ċĉĉĉĉ", + "ĠG est", + "dl g", + "tool Strip", + "ura ção", + "å½± åĵį", + "w ish", + "ig ible", + "get Token", + "Ġ_ ('", + "so up", + "Mis sion", + "decor ate", + "æŀĦ 建", + "L ot", + "~ /.", + "get Url", + "\\\\ /", + "NO W", + "è¿Ļ æĺ¯", + "Ġsha res", + "ĠвÑĭ п", + "è ij", + "Ġc á»§a", + "un ed", + "Ġa e", + "assert ion", + "ues day", + "As k", + "Dist ributed", + "onto logy", + "Ñĥн к", + "Ġull am", + "$ \",", + "J u", + "O j", + "a io", + "b are", + "Ġex e", + "åħ Ń", + "DI AN", + "Ġgo als", + "vo ir", + "Sort ing", + "Ġ\"* \"", + "WEB PACK", + "Asc ii", + "=-=- =-=-", + "BAS IC", + "` **", + "p ipelines", + "in ser", + "Con str", + "ĠJ ack", + "å¿ µ", + "好 çļĦ", + "associ ate", + "STAND ARD", + "C Windows", + "T ess", + "É Ļ", + "ĠC rypt", + "ĠP our", + "Co lo", + "æłĩ é¢ĺ", + "Ġë° ı", + "N IM", + "l ifetime", + "r te", + "Ġl ng", + "db a", + "Ġtrans ient", + "blue tooth", + "ĠSpec ification", + "æŃ£ ç¡®", + "calcul ator", + "äh len", + "E AR", + "M x", + "l sp", + "Ġn ib", + "ĠP res", + "let ters", + "At tempts", + "Ġapp arent", + "BL AS", + "Ġadjust ed", + "categor ical", + "JNI Env", + "T IN", + "i ÅŁ", + "Ġto das", + "Ġstr cpy", + "ump tions", + "Ġpa id", + "Ġincre ases", + "Delim iter", + "tr acer", + ")) /", + "art e", + "oid s", + "Ġdef s", + "ber o", + "Ġclient Id", + "'> \";", + "Network ing", + "AAAAAAAA AAAAAAAA", + "= :", + "M sk", + "ĠB el", + "bu ddy", + "ĠY O", + "kt or", + "Ġt au", + "get opt", + "Un i", + "Ġte k", + "ä¹ IJ", + "Ġcons ent", + "sn mp", + "----- |", + "ĠAw esome", + "Ġsitu ations", + "ĠPYG LOW", + "L os", + "j ul", + "ĠS B", + "ch alk", + "ĠV o", + "inst ant", + "lik es", + "ç¼ º", + "ãĥĹãĥŃ ãĤ°ãĥ©", + ") `.", + "st re", + "ut z", + "== >", + "ĠC trl", + "pro grams", + "ID C", + "ç» į", + "Try GetValue", + "ĠCapt ure", + "/ ';", + "Ex perience", + "čĊĉ ĠĠĠĠĠĠĠ", + "ĠDe legate", + "Buffer Exception", + "UP D", + "WN r", + "sched ul", + "Ġìł Ģ", + "Press ure", + "visual ization", + "Ġmultip lier", + "Ġ'{} '", + "ĠRefer ences", + "Ġìĭ¤ íĸī", + "E u", + "get Table", + "ne arest", + "Ġpre set", + "mock s", + "ATUR AN", + "ĠN L", + "SE VER", + "By Type", + "Ġpr agma", + "enc ias", + "ĠRes olver", + "Build ers", + "Exp iry", + "čĊĠĠĠĠĠĠĠĠĠĠĠĠ čĊĠĠĠĠĠĠĠĠĠĠĠ", + "ç¥ ¨", + "do be", + "vey or", + "atur day", + "иÑĩ еÑģ", + "Ġresol ves", + "ĠæŁ¥ 询", + "ĠMUL TI", + "ŀĺ ìĬ¤", + "n ails", + "get Total", + "ĠN AT", + "Ġk ick", + "Ġresource Culture", + "fin ance", + "ãĥ¼ãĥ ł", + "\"=> $", + "haust ive", + "Ġf ired", + "Ġf ingerprint", + "is ch", + "Ġp si", + "ĠT AB", + "og ene", + "New Value", + "Ġder ive", + "Ġhand s", + "ĠChange log", + "Compiler Services", + "Y s", + "e se", + "ment ions", + "EX CL", + "ik ipedia", + "Scroll View", + "åħ¨ éĥ¨", + "D up", + "I List", + "f ad", + "g io", + "ĠB oost", + "Ġall a", + "by e", + "Ġhas zn", + "ĠArt ifact", + "claim s", + "EXPECT ED", + "H er", + "I am", + "K W", + "K in", + "P c", + "u ž", + "Ġc ad", + "ri ction", + "get F", + "Ġpro ces", + "Ex ercise", + "def in", + "Com bined", + "CON V", + "ste am", + "ç© ¶", + "nix os", + "èĻ ļ", + "OPER ATOR", + "ç§» åĬ¨", + "Ġinterpre ted", + "s peak", + "ĠP D", + "Ġun changed", + "Ġdo k", + "Ġen caps", + "âĶĢ âĶ", + "ìļ ´", + "nv im", + "åºĶç͍ ç¨ĭåºı", + "B ib", + "b be", + "f acing", + "ĠI G", + "base Path", + "Ent ropy", + "Ġaccess ibility", + "por cion", + "tech net", + "Ġcontract s", + "J v", + "T EX", + "ĠP V", + "ĊĠĠ ĊĊĠĠ", + "Ġle ak", + "pre processor", + "ren ce", + "edit ing", + "Ġvi ene", + "Ġba ÅŁ", + "ĠÑį ÑĤо", + "ĠAutom ation", + "Ġrecurs ively", + "P AS", + "b ak", + "t orrent", + "Ġ ################################", + "Ġ= ========", + "err Handler", + "PRO M", + "sd ay", + "Ġalloc a", + "datac atalog", + "Ġannot ated", + "Ġf close", + "ĠT ex", + "ĠM aint", + "Ċĉĉĉĉ Ċĉĉ", + "Integer Field", + "Display Mode", + "ãĤ¹ ãĥĨ", + "HTTP S", + "ãģĬ ãĤĪ", + "V b", + "me eting", + "Ġre connect", + "Ġk it", + "Be am", + "Is Set", + "mod ifiable", + "tag ged", + "ĠStyle Sheet", + "Ġmá qu", + "D ynamics", + "b cf", + "p z", + "ent al", + "Ġb son", + "ĠM otion", + "Ġtr ick", + "ĠJ une", + "round ing", + "Ġapi Key", + "ĠNotImplemented Exception", + "T ID", + "b attle", + "ss ize", + "Ġl abeled", + "ĠM ot", + "pro visioning", + "Box Layout", + "ĠTask s", + "Ġind irect", + ">' +", + "M alloc", + "b il", + "g ad", + "| ---|---|", + "Ġ 大", + "Ġc err", + "es ium", + "im ity", + "Ġcon ex", + "ĠE mp", + "SE CURITY", + "itch en", + "Ġem itter", + "ĠOp Const", + "C g", + "ĠS TE", + "ĠS outh", + "aa S", + "\" &", + "S quared", + "W ID", + "á Ł", + "at lassian", + "Ġg ar", + "ĠF IN", + "ER IC", + "ĠW C", + "String To", + "Access Control", + "ĠKey word", + "Accessor Impl", + "ĠHE ADER", + "ĠApr il", + "IMPORT ED", + "HttpServlet Response", + "Cool down", + "ĠQual ity", + "C ENT", + "K er", + "ĠC PP", + "Ġmod o", + "pri mer", + "IR A", + "I ll", + "f rozen", + "Ġl uck", + "'] ]],", + "ঠĩ", + "ç¦ ģ", + "p apers", + "Ġf ight", + "Ġe co", + "ĠE duc", + "TR AIN", + "server less", + "Ġë ¦", + "SO CK", + "Ġ)) }", + "íĥ ľ", + "acob ian", + "L BL", + "W AL", + "` }", + "at m", + "Sm ooth", + "U k", + "g lo", + "Ġs ut", + "Sto res", + "ĠPer missions", + "Ġæ ¯", + "ĠPa ul", + "E vt", + "F re", + "f bb", + "k ick", + "in ant", + "ss id", + "Ġdo ck", + "н ом", + "Ġad res", + "Mapping URL", + "prob ability", + "Ġopp osite", + "lich en", + "THE ME", + "ĠMOD ULE", + "ãģĬãĤĪ ãģ³", + "Y m", + "ap anese", + "Ġcon form", + "и ÑĢов", + "ë³ ¸", + "is Set", + "app ointment", + "Block State", + "Pre c", + "bet ter", + "Sol dier", + "Ġfor th", + "Ġe get", + "ĠV PN", + "node Name", + "á f", + "HO UR", + "mut ations", + "cr uit", + "ai ro", + "Ġbr ackets", + "Material s", + "ĠMTL K", + "H ref", + "N AN", + "v ul", + "de letion", + "ic ios", + "ĠT rip", + "ĠW A", + "( \">", + "B KSGE", + "ob ody", + "not ices", + "man ufacturer", + "cor outines", + "à° ķ", + "Ġinvestig ate", + "A o", + "C ER", + "Ġg ere", + "Ġme ter", + "Ġcl Object", + "fb pfcp", + "Priv ilege", + "Ġë¶ Ħ", + "Ġperfect ly", + "Ġfich ier", + "Ġs ensors", + "Ġz h", + "Al gorithms", + "Status Bar", + "Tx n", + "LD AP", + "pat ched", + "implement s", + "Ġfac ilit", + "T bl", + "b cb", + "x doc", + "Ġn em", + "() +\"", + "ĠE arth", + "De pt", + "rc he", + "first Child", + "math cal", + "Ġvol tage", + "Pool Size", + "/# /", + "defer red", + "extract or", + "Ġf its", + "Ġ\" =", + "Ġre places", + "Ġ* ********", + "Ġin compatible", + "Ġd uplicated", + "model ing", + "ĠSt ri", + "web app", + "Command Buffer", + "tmp dir", + "ĠFl uent", + "Install er", + "Qt Core", + "Ġìĸ ´ë", + "u ing", + "set Icon", + "ĠZ oom", + "session Id", + "Ġfunc ion", + "ìłģ ìľ¼ë¡ľ", + "F u", + "J ack", + "f use", + "en st", + "Ġp ulse", + "Ġs ono", + "un iq", + "ig ma", + "Pay Order", + "bal ancer", + "Ġretrie ving", + "аÑĨи и", + "PLI ER", + "V p", + "] }\"", + "j z", + "Ġre actor", + "ac f", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġtext area", + "Ret ries", + "Mail box", + "ĠExp and", + "ãĤ³ ãĥ¼ãĥī", + "Ġtreat ment", + "æıĴ åħ¥", + "B k", + "D Z", + "R ATION", + "Ġproject Id", + "Ġcons umed", + "Include s", + "picture Box", + "ĠGrad le", + "ĠcomponentDid Mount", + "p Data", + "ĠA void", + "Up loader", + "lp Vtbl", + "Api Response", + "Sq rt", + "M ol", + "V a", + "o prot", + "ne er", + "Message End", + "Dis position", + "Ġsc anning", + "Ġq w", + "Ġgr p", + "Ġchart Instance", + "Ġз а", + "mv n", + "ĠHard ware", + "J PEG", + "R b", + "S en", + "Ġd anych", + "pt est", + "ĠF it", + "ert ia", + "ĠU nt", + "Ġ% \">", + "ĠNe ural", + "çͱ äºİ", + "regist ers", + "Ġaffect s", + "GY RO", + "ä¼ģ ä¸ļ", + "Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠA BI", + "Ġe levation", + "Ġan alyzer", + "Ġstyle Urls", + "Date time", + "OL A", + "Ġover written", + "PRE V", + "ĠMan ifest", + "LD FLAGS", + "Ġseed s", + "tick ets", + ". */", + "P oker", + "[ ](", + "d it", + "d ial", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġd al", + "ĠP t", + "Ġl ac", + "ST A", + "ST O", + "emp t", + "Message Handler", + "len e", + "amb ur", + "entry point", + "zz a", + "ĠInitialize Component", + "Elastic search", + "Ġopport unity", + "è®Ń ç»ĥ", + "B ecause", + "S keleton", + "t ub", + "-- \">", + "he it", + "ภ¹", + "run e", + "handle Change", + "Sk ills", + "PROPER TIES", + "Ġconc ise", + "Ġëĭ¤ ìĿĮ", + "Ġextreme ly", + "l iterals", + "m orph", + "is Directory", + "ap y", + "ĠD ense", + "form Data", + "ctx t", + "Ġcal ibration", + "Ġplay back", + "Try Parse", + "è¯Ń åı¥", + "en arios", + "om ics", + "List Box", + "map api", + "è¯ ¾", + "æĽ´ å¤ļ", + "Graphics Unit", + "Ġconstruct ors", + "tid y", + "S ay", + "Ġp ued", + "as ma", + "ĠT ell", + "Ġli ves", + "ffer o", + "... ')", + "He at", + "Ġfl utter", + ">\\ (\\", + "Ġtech nologies", + "YW dl", + "Ġà¦ķ র", + "amp ing", + "ca ffe", + "Ġcheck list", + "format ting", + "ç» Ŀ", + "Ġte acher", + "é¡ ¶", + "Ġtip s", + "Ġe igen", + "éĢļ 常", + "缮 åīį", + "åĨĻ åħ¥", + "Ġbene fits", + "Ġaspect s", + "B ay", + "S s", + "g us", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġ ÙĦ", + "Ġf ilt", + "н Ñı", + "Room s", + "NON NULL", + "Ġex pert", + "dd s", + "Ġadd on", + "fore st", + "Ċĉĉĉĉĉĉ Ċĉĉĉĉĉ", + "conf idence", + "screen shots", + "Ġsql alchemy", + "TRAN SACTION", + "第 ä¸Ģ个", + "é¢ľ èī²", + "U z", + "Ġn pc", + "end Time", + "Un handled", + "={ <", + "Ġsource MappingURL", + "Temp oral", + "Ġв оз", + "Ġdirect ives", + "ĠWork s", + "DISABLE D", + "F g", + "Ġ eta", + "col on", + "á ln", + "ãģ¨ ãģĹãģ¦", + "Syntax Kind", + "Ġcounter s", + "MAG IC", + "Ġexecutor Service", + "f pga", + "ĠS ca", + "Ġj SON", + "\") (", + "For Each", + "éĢ Ļ", + "èµ °", + "ili ation", + "ãĥª ãĥĨãĤ£", + "Ins ights", + "ĠFeed back", + "ing redients", + "Ġ( ::", + "up loaded", + "ĠW est", + "ec i", + "RO L", + "current Page", + "les cope", + "Ġselect ors", + "FD RE", + "Est imate", + "åĶ ¯", + "lecc ione", + "M GL", + "] ](", + "Ġ{ *}", + "In et", + "Message State", + "cs html", + "Fl uent", + "ĠRE PUB", + "ĠPRO PER", + "vk Cmd", + "F t", + "e er", + "f W", + "ab lish", + "ĠW elcome", + "From Text", + "æĹ ¢", + "ĠSome thing", + "Ġë° °", + "TOP p", + "Der iv", + "ilo ver", + "Ġinstanti ated", + "K D", + "Ġh ip", + "ĠM F", + "St derr", + "ĠE H", + "Ġas n", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠCh apter", + "And Set", + "Struct End", + "ĠØ ±", + "Tip s", + "åĵ Ī", + "ëł ¤", + "·· ··", + "C ov", + "E CD", + "in place", + "\\\\ \\\"", + "sv p", + "ĠìĿ ĺ", + "]\\ :", + "ãĤ» ãĤ¹", + "Relationship s", + "Ġrend ers", + "S copes", + "n ia", + "un likely", + "Ġ' ..", + "ĠS lice", + "Ġh d", + "act ed", + "ĠRe active", + "Ġcre ar", + "Http Method", + "Protocol BufferException", + "Diff iculty", + "Ġtre nd", + "ĠREPUB LIK", + "< ()>", + "v ille", + "Ġth ous", + "ch dir", + "let ions", + "æĪ ª", + "--------- |", + "Ġб Ñĥд", + "ĠLimit ed", + "ĠвÑģ е", + "de leg", + "Ġst aging", + "Ġh an", + "IN O", + "//// /", + "Ġexp iry", + "åij ¢", + "platform s", + "éĻIJ åζ", + "D AG", + "G od", + "ur ons", + "ĠA CE", + "ĠA ffero", + "ff b", + "ĠSt ill", + "New Guid", + "ret ries", + "RES OL", + "Termin ate", + "C RL", + "F an", + "J X", + "M v", + "M as", + "h ue", + "n br", + "Ġ é»ĺ认", + "get Header", + "ĠC redit", + "Ġ$ <", + "Ġof s", + "ĠM ATCH", + "ĠL V", + "Ag gregator", + "Over lap", + "å¾® ä¿¡", + "; (", + "d ice", + "Ġ čĊĠĠĠĠĠ", + "Ġ æķ°æį®", + "Ġ\" (\"", + "id ue", + "Ġin validate", + "set Is", + "Ġint el", + "String Len", + "Ġel t", + "SE CT", + "we ise", + "job form", + "Ġsm ithy", + "Ġiter tools", + "Struct Begin", + "Ġí ı¬", + "clo jure", + "IZ ER", + "bas ics", + "unce ment", + "TOOL S", + "D NA", + "T ar", + "_ \",", + "m so", + "ĠÐ ¢", + "Op aque", + "Has Value", + "urs al", + "Pack ed", + "åł´åIJĪ ãģ¯", + "ượ c", + "@ $(", + "is olate", + "ur istic", + "ĠN om", + "out lined", + "Ġen contr", + "check list", + "FA CTOR", + "ian a", + "Mis match", + "predict ed", + "contribut ing", + "Ġdemonstr ate", + "ĠEvalu ate", + "Ġfair ly", + "I z", + "un iversal", + "gr an", + "Ġpr é", + "group By", + "dat ap", + "à® ª", + "Ġhand shake", + "ĠPoint s", + "Ġdot s", + "agem aker", + "ãĥķãĤ ©", + "Ġ åıij", + "Ġp ok", + "Ġre lay", + "Ġre visions", + "ĠT s", + "ĠM ON", + "os able", + "ĊĠĠ Ċ", + "go e", + "Ñĭ Ñħ", + "Ġsk ippy", + "ae a", + "ĠUN PROVIDED", + "å¤į æĿĤ", + "c ancellationToken", + "Ġset ContentView", + "Sh ar", + "MO USE", + "ĠDes cri", + "\"], \"", + "ìł Ģ", + "DAT ETIME", + "P LE", + "Ġw char", + "ch amp", + "up dater", + "ult y", + "be en", + "Request Builder", + "Ġ** `", + "âĢ ¯", + "pri mitives", + "cd k", + "ĠAssert ions", + "big int", + "Ġvary ing", + "av ings", + "rap id", + "IS C", + "Date Picker", + "tri ple", + "Ġfe et", + "Cas cade", + "R ID", + "Ġ Å¡", + "in ement", + "if d", + "Ġ' {\"", + "ĠP ure", + "ft ext", + "Ġloc ator", + "hib it", + "ĠDeb ian", + "apim achinery", + "L G", + "m rm", + "ar ith", + "Ġd ial", + "am qp", + "Ġnew State", + "ĠW E", + "the y", + "cy an", + "rm i", + "Support s", + "Sl ack", + "åį³ åı¯", + "D ifferent", + "E j", + "M Z", + "p ump", + "ur sday", + "// ------------------------------------------------", + "tr ainer", + "\"> //", + "sp read", + "assert Not", + "=' %", + "IC ATE", + "Ġ/> ;", + "Ġold Value", + "Changed EventArgs", + "munic ations", + "f ine", + "t te", + "no va", + "ĠRequest Method", + "Ġinv ite", + "åŃĹ èĬĤ", + "Ġ× Ķ", + "BASE PATH", + "ãĤ¸ ãĤ§", + "E uler", + "H um", + "y al", + "ļ ¨", + "Ġ: (", + "Ġas sembler", + "Hel vetica", + "Iter ations", + "ĠLo ss", + "Volume s", + "æ¡Ĩ æŀ¶", + "\\ @", + "g static", + "Ġw m", + "Ġser ious", + "write Int", + "board ing", + "к аз", + "Ġâ ĩĴ", + "quid ity", + "SEQU ENCE", + "C c", + "Y z", + "m Context", + "Î ´", + "pe ers", + "out side", + "и п", + "Al go", + "GR ID", + "rec order", + "à° ²", + "pod s", + "Ġ:- )", + "c de", + "ic l", + "Ġ' ').", + "List Response", + "ne go", + "ific ial", + "Ġque ues", + "Ġes caped", + "DIR S", + "ĠPh ysics", + "Ġcover s", + "Y ellow", + "{ #", + "is Visible", + "ĠT I", + "oc cup", + "ĠR oman", + "the ory", + "NS Object", + ")} >", + "Maint enance", + "/ \"+", + "V an", + "get Address", + "Ġan al", + "ps r", + "Ad venture", + "Ġform er", + "Ġred undant", + "æ» ¤", + "getElementsBy ClassName", + "maint enance", + "Ġservi ço", + "T Q", + "W d", + "msg id", + "Co upon", + "Ġexist ence", + "ĠWe ak", + "NE AR", + "Ġconsider ing", + "c decl", + "d av", + "as sessment", + "ĠC AL", + "ind o", + "ĠW ave", + "($ \"{", + "Lo an", + "Pl aces", + "annot ate", + "ëĭ ¨", + "R DD", + "Ġ åıĤæķ°", + "Ľ Ħ", + "ac d", + "get Transaction", + "Ġl ights", + "ES H", + "Item Selected", + "ning s", + "Ob s", + "Ġ'\\ ''", + "Ġgen es", + "Ġpriv ileges", + "SCO PES", + "导 èĩ´", + "L ater", + "Ġ( ));", + "ĠS EXP", + "aff ected", + "aud ience", + "semp io", + "i outil", + "t ic", + "x h", + "Ġit alic", + "Ġj mp", + "($ ('#", + "Get Int", + "Ġob ter", + "OS X", + "insert Before", + "ĠÑ Ī", + "deli vr", + "G MT", + "L ING", + "S f", + "Ġc ul", + "ing roup", + "qu ark", + "br tc", + "Key Pair", + "show Message", + "д ел", + "E MB", + "R t", + "Ġm ont", + "ind igo", + "sol ut", + "Auth enticator", + "mc ps", + "Wire Format", + "conc ile", + "èĦļ æľ¬", + "Ġ ](", + "Ġf ps", + "ĠS a", + "ĠP WM", + "ca o", + "LI KE", + "Fl ux", + "Ġopen ssl", + ".... ..", + "Ignore d", + "Cons ensus", + "a utor", + "is ations", + "ot ypes", + "Ġus able", + "Ġpo or", + "SI Z", + "apro xy", + "Dem and", + "R ace", + "b ir", + "Ġ ĉĉĉĉ", + "Ġtr unc", + "Ġcomp aring", + "CON DITION", + "Ġgr ace", + "Ġdeal ing", + "ĠSim ulation", + "ACH ED", + "robot s", + "h xx", + "Å ±", + "it ulo", + "Ġth ickness", + "Comp oser", + "ĠVe hicle", + "B LOB", + "B OLD", + "H ORIZONTAL", + "S imp", + "Z ones", + "f dd", + "ĺ IJ", + "ĠP ipe", + "File Size", + "Ġli m", + "Ġport folio", + "Ġemit ted", + "ë© °", + "åİŁ åĽł", + "################################################################ ################", + "pref etch", + "! ]", + "l un", + "Ġde letes", + "ĠI h", + "debug ging", + "maz ing", + "h us", + "Ġc ette", + "ĠOpen SSL", + "è me", + "Ġrespons ibility", + "ç Ĩ", + "re spon", + "Ġst ages", + "== (", + "ĠF LOAT", + "En queue", + "Le ast", + "Use Case", + "Ġæ ĭ", + "protocol s", + "gal ax", + "/ $(", + "D p", + "at ts", + "Ġ$ ('<", + "set Header", + "ĠD AN", + "Ġon Close", + "ĠU SING", + "execute Query", + "绣 计", + "ĠSem antic", + "Ġmemo ized", + "ĠGENER ATED", + "Sand ia", + "] \">&", + "Ġe quip", + "ĠN orm", + "). (", + "---------------- --", + "As ia", + "[: ]", + "bb c", + "ADD RLP", + "Ident ification", + "Ġdeliver ed", + "ĠFORM AT", + "q v", + "ĉ Ċĉĉ", + "ol ist", + "Ġe quipment", + "Ġwork load", + "hold s", + "ĠOct ober", + "ĠClean up", + "K y", + "T iny", + "ro to", + "ĠN IL", + "Type List", + "LE EP", + "ph il", + "Ġdefault dict", + "ĠX amarin", + "nav List", + "empty List", + "inc ident", + "ãģķãĤĮ ãģ¦ãģĦãĤĭ", + "charCode At", + "B n", + "r ations", + "y en", + "â Ŀ", + "Ġn iveau", + "Ġ$ {{", + "ec b", + "js delivr", + "Ġmain ly", + "prec io", + "Submit ted", + "Ġsaf ely", + "Stri pe", + "N or", + "st u", + "pro duk", + "]) {", + "Ġì µľ", + "Ġhttp Client", + "SC ALL", + "å¾ ģ", + "ĠResult Set", + "spl its", + "ä»ĭ ç»į", + "IRT UAL", + "ĠJAXB Element", + "hlsl pp", + "ĠN D", + "rap pe", + "SI MD", + "Pr act", + "exp iry", + "cade mic", + "详 ç»Ĩ", + "C ancellation", + "R Q", + "ĠĠĠ ĊĠĠĠĠĠĠĠ", + "() ['", + "ĠB eta", + "With draw", + "Method Info", + "ä¸Ģ èĩ´", + "Order ing", + "Invalid ProtocolBufferException", + "IR ON", + "åħ³ äºİ", + "ÙĪ Ø±", + "Ġverw endet", + "K IND", + "W b", + "d sc", + "Ġb atches", + "=\" );", + "ĠS quare", + "Ġex posing", + "HE LP", + "Sub set", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĉ", + "Spec ify", + "bon d", + "Ġalert s", + "å¼Ģ åIJ¯", + "alam at", + "Concat enation", + "Ġëĵ ±", + "確 èªį", + "C ad", + "x FD", + "lo ver", + "IN ITY", + "Ġbreak point", + "dev ops", + "ä¹ °", + "æĸ¹ æ¡Ī", + "Fe el", + "Ġcirc um", + "ạ n", + "v cf", + "x u", + "{ \",", + "un icip", + "Ġen ctype", + "bb bb", + "Dim s", + "Mouse Down", + "ĠSY STEM", + "C yc", + "E urope", + "L ights", + "c map", + "ac ci", + "ĠF HIR", + "pro fit", + "gr avity", + "Ġen joy", + "AB S", + "BO UN", + "direct or", + "ĠMac ro", + "оÑģ л", + "è »", + "ĠG REEN", + "Se leccion", + "({ })", + "ible s", + "ALL Y", + "Global ization", + "ĠMan age", + "Conf irmed", + "Ġcap able", + "Ġidentify ing", + "L H", + "k ont", + "z lib", + "ĠG M", + "ĠG ive", + "ant en", + "CH ILD", + "Ġiss uer", + "Cre ature", + "Mon ster", + "ĠHel vetica", + "jac ency", + "B ob", + "M iss", + "M oment", + "R isk", + "Ġ ż", + "Ġm ó", + "ĠC e", + "text width", + "Ad am", + "Ġed ition", + "Anim ations", + "ĠFe el", + "similar ity", + "! :", + "B Z", + "G IS", + "Ġp refs", + "get Month", + "con vention", + "ĠL arge", + "Ġcomp lement", + "Ġu a", + "ĠNot ebook", + "Ġtypes cript", + "ÅĤ ad", + "ĠWith out", + "Ġtot ally", + ">>>> >>>>", + "b df", + "ur us", + "und erscore", + "ĠRe ceived", + "Ġso up", + "head line", + "èĥ½ å¤Ł", + "REG S", + "minecraft forge", + "B readcrumb", + "W ould", + "iv ar", + "ĠD ROP", + "Ġget Instance", + "add ir", + "ä¸ ´", + "Ġtext s", + "Wh itespace", + "INCLUDE D", + "ĠFI FO", + "_ ));", + "r ors", + "Ä IJ", + "ce a", + "Ġok http", + "ĠDO C", + "Selected Index", + "Ġamount s", + "éĩį å¤į", + "Ġsnapshot s", + "â Ļ", + "Ġ= &", + "comp anies", + "Ag reement", + "å¸ ®", + "Ġmis c", + "ĠStream ing", + "éķ ĩ", + "cod ings", + "Ġslide s", + ") \\\\", + "I Data", + "e lect", + "h ass", + "cl am", + "ĠU E", + "comp ilation", + "а Ñĩ", + "ĠCon verter", + "Ċĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉ", + "Ġyap ı", + "D ic", + "H ack", + "L ane", + "er k", + "id y", + "param type", + "Ġinst itution", + "éĺ ¿", + "clus ions", + "' };", + "J h", + "Ġst retch", + "str ation", + "current ly", + "ঠª", + "rel ax", + "Ġrefer red", + "fast a", + "C aching", + "N H", + "Ġt rivial", + "get field", + "ĠD NA", + "dd l", + "List a", + "uc lide", + "Ġad jacent", + "Ġact s", + "ĠQ Name", + "And View", + "ĠData Set", + "Ñĥ Ñī", + "ãĥ¼ ãģ®", + "ĠRE F", + "Ġident ification", + "Mer chant", + "ĠGN UNET", + "T icker", + "ĠS lide", + "eb b", + "ONG O", + "experiment s", + "B ubble", + "Z P", + "ĠC am", + "gle s", + "off icer", + "Ġsc ientific", + "ung an", + "ĠPRO JECT", + "Ver ified", + "åij ¼", + "ÅĻ ed", + "ed ition", + "ĠB its", + "Ġi ot", + "Ġun available", + "Ġk s", + "Ġbuffer ed", + "F Y", + "p X", + "Ġ åĪłéϤ", + "Ġs ymbolic", + "Re present", + "Ċĉĉĉĉ ĠĠĠĠ", + "å¤ ¹", + "Ġed ucation", + "Ġdat um", + "lix ir", + "```` ````", + "ðŁĶ ħ", + "# :", + "I v", + "T u", + "Ġv t", + "ĠE in", + "Ġor acle", + "Id List", + "\"\" \"\"", + "With Error", + "к е", + "к лÑİÑĩ", + "Ġãĥ ĩ", + "ĠCoord inate", + "Ġ Ùģ", + "Ġme l", + "br ush", + "))) ),", + "')) );", + "Ġcache s", + "âĤ Ĥ", + "g j", + "ĠA sk", + "Ġit r", + "Data Model", + "Get Size", + "Ġro ck", + "has hes", + "ĠWh o", + "cell row", + "E W", + "Ġ ĊĊĠ", + "In come", + "ag y", + "Pro vision", + "Pro visioning", + "Ġi k", + "ip ay", + "++ ];", + "CO OKIE", + "Ġcertain ly", + "Ġaltern atives", + "æ´» åĬ¨", + "Ġë§Į ëĵ¤", + "Ġgovern ment", + "B EN", + "c ities", + "st encil", + "Ġex ceeded", + "ED URE", + "Mov es", + "Ġvari ation", + "Ġakt iv", + "cellrow border", + "E k", + "J un", + "Ġs cheduling", + "tr usted", + "ĠB ear", + "ST AGE", + "The y", + "Sub title", + "ict im", + "Del iver", + "Crypto graphy", + "pok emon", + "F k", + "N h", + "r vm", + "at um", + "con ference", + "Ġset Interval", + ">", + "dist ances", + "sort able", + "Li braries", + "AST ER", + "ÅĽ li", + "F emale", + "m av", + "cc f", + "IS upport", + "go als", + "parse Float", + "AX IS", + "Ġty po", + "Ġess entially", + "ĠShare Point", + "$ ('", + "= }", + "ĠS lot", + "Ġe ius", + "Ġuser Info", + "Ġab bre", + "ÑĢаР·", + "uel le", + "Ġtom orrow", + ") }.", + "R w", + "T el", + "V c", + "Ġp es", + "Ġst icky", + "ĠC FG", + "af c", + "ĠAN SI", + "Ġmax Width", + "SI ST", + "PR ICE", + "ĠAr duino", + "ny ch", + "plan et", + "sq r", + "xE F", + "Fore Color", + "Ġexplain ed", + "çģ «", + "get Start", + "Ġ. _", + "open ing", + "Mov ed", + "ĠInvalid OperationException", + "ÃŃc ÃŃ", + "> _", + "J TextField", + "lic ed", + "Ġz n", + "Ġ\"/ \",", + "other wise", + "side Y", + "æĢ§ èĥ½", + "PG A", + "Touch able", + "ĠDel ivery", + "ĠRO W", + "íĺ ķ", + "ĠOPTION AL", + "as mine", + "Ġse mp", + "end ants", + "act ors", + "ĠB B", + "Ġvalid ity", + "mov ement", + "ãģª ãĤĭ", + "delay ed", + "ĠÏ Ħ", + "ce e", + "Port folio", + "Ġutil is", + "íĥ Ģ", + "B w", + "re use", + "de scriptors", + "ĠSt and", + "Spec ifier", + "ĠPAR AM", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġком п", + "h result", + "st ors", + "Ġo mn", + "ĠP article", + "ĠD R", + "Ġun cert", + "Ġser á", + "Ġconf used", + "agn osis", + "Ġappro aches", + "ativ a", + "ç½ij ç«Ļ", + "GLOBAL S", + "g ens", + "Ġb ars", + "ac z", + "li pped", + "set Parameter", + "Ġg olang", + "RO SS", + "EL LOW", + "Ġrow header", + "Local DateTime", + "Ġà ľ", + "Artifact s", + "l ü", + "in jection", + "(); ?>", + "Ġex erc", + "for me", + "cs d", + "lit tle", + "LL ER", + "Ġstop ping", + "æ° Ķ", + "ĠIR Q", + "- /", + "B asis", + "T errain", + "b erry", + "ly ft", + "ĠInput s", + "æľĢ å°ı", + "Cr ash", + "Ġsca les", + "Ġign oring", + "ĠGrad ient", + "F AR", + "Ġf fi", + "ĠS uch", + "ĠN ested", + "Pro cesses", + "ost er", + "amp lify", + "for Name", + "roll up", + "ç͍ æĿ¥", + "Ġfind en", + "(\\ '", + "Ġhead line", + "Ġç alÄ±ÅŁ", + "аеÑĤ ÑģÑı", + "K HTML", + "S X", + "w ang", + "me md", + "Ġn ue", + "ĠA jax", + "key frames", + "ix a", + "ĠString Comparison", + "á r", + "OP ATH", + "端 åı£", + "ĠÏ ĥ", + "iline ar", + "mist ry", + ", @", + "m ach", + "s ax", + "Ĩ ł", + "ap m", + "Ġe yes", + "Ex pose", + "ific acion", + "Ne ighbors", + "æłĩ åĩĨ", + "hot el", + "Ġorgan izations", + "ĠFUN C", + "Ġmeas ures", + "Ġyo ung", + "rabbit mq", + "Ded icated", + "M t", + "ĠA mb", + "to Throw", + "ĠM ajor", + "Ġan tl", + "ĠH ero", + "ĠIn strument", + "CH IP", + "dot env", + "GR AY", + "ĠHttp Status", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉ", + "ĠAutom atic", + "Ġud p", + "V z", + "Z k", + "Ġd ü", + "ot t", + "ĠT cl", + "Ġh x", + "St able", + "Ġz ones", + "ĠX P", + "Entity Manager", + "Exp ires", + "Ġmar shal", + "ĠRetrie ves", + "E f", + "O WNER", + "Ġb crypt", + "get Version", + "play ing", + "lt k", + "now rap", + "Ġsee med", + "á» ĭ", + "CRE D", + "Ġ× ŀ", + "Ã¥ n", + "Nu Get", + "in crease", + "on ia", + "Ġc raft", + "Ġ' >", + "', @", + "read Only", + "loc ales", + "Ġdec isions", + "ĠJan uary", + "# ----------------------------------------------------------------", + "E limin", + "Ġt ut", + "Ġtr uncate", + "Ġj int", + "åĽ º", + "ĠZ rLogUtil", + "ĠWe ather", + "Ġbr ain", + "ĠNode s", + "=$ _", + "Arch itecture", + "Delay ed", + "éĴ ¥", + "ĠPY THON", + "ro gate", + "Ġn es", + "Ġm f", + "ĠB ere", + "ign e", + "app en", + "query Params", + "fe ats", + "MA PP", + "root s", + "}\\ ) ,", + "Ġqu ot", + "Ġcur s", + "Ġpreced ence", + "F ence", + "R l", + "t ow", + "z ie", + "st ud", + "is Debug", + "Ġw arm", + "set f", + "ãĥ ¦ãĥ¼ãĤ¶ãĥ¼", + "HE AP", + "EQ UI", + "<< (", + "Ġ\"- \",", + "Bal anco", + "ınd an", + "éģį åİĨ", + "C amel", + "G ITHUB", + "co ck", + "ri bb", + "Ġex traction", + "Ex tras", + "Ġun zip", + "aw are", + "UN LOCK", + "Ġinter p", + "trans aksi", + "mt lk", + "åħ «", + "SC M", + "chan ism", + "T U", + "Ġn arrow", + "get Server", + "ĠD RI", + "æĪ ı", + "rows able", + "Ġvis ion", + "vol ved", + "ĠIcon Data", + "ä¼ĺ åĮĸ", + "cot ic", + "E VT", + "G c", + "b olt", + "Ġb rowse", + "ĠA bc", + "Ġex its", + "Be at", + "DD S", + "ĠPl us", + "Cpp Guid", + "ĠCla im", + "ãĤŃãĥ¥ ãĥªãĥĨãĤ£", + "D art", + "O mega", + "R ON", + "[ \\\"", + "r data", + "Ġc ub", + "Ġe conom", + "oc heck", + "we is", + "\"] ]", + "find all", + "ĠSH IFT", + "clean ed", + "Ġrepro duc", + "ç¡® å®ļ", + "M l", + "S alt", + "ĠB ill", + "db name", + "ĠComp letion", + "Ġdate Time", + "product Id", + "ier z", + "wp db", + "Ġ{: ?}\",", + "pn l", + "ĠJul y", + "ynamo DB", + "ãĤ± ãĥ¼ãĤ·ãĥ§ãĥ³", + "' $", + "M ng", + "Ġse mi", + "ãĥ Ħ", + "PRO V", + "cent os", + "ĠDIS ABLE", + "Ġba ÄŁ", + "Ġti ene", + "Ġìłķ ë³´", + "G AN", + "Ġ\" ::", + "id ge", + "get Description", + "qu iry", + "Ġtr usted", + "UL A", + "time delta", + "è® ²", + "iss uer", + "Normal ization", + "Live Data", + "Ġf elt", + "ĠR ing", + "trans lated", + "xml ns", + "install ing", + "Struct ures", + "ĠPRO TO", + "Animation Frame", + "ĠLocal DateTime", + "Fetch ing", + "ॠĩ", + "ELAB SCOPES", + "ç»ij å®ļ", + "s atisf", + "de a", + "Ġf tp", + "ex po", + "get Player", + "od i", + "ãĥ ľ", + "Ġno vel", + "Ġpre t", + "Ġgroup ing", + "Ġfin ite", + "Ġauthor ize", + "ĠNO I", + "heroku app", + "C m", + "J Button", + "T weet", + "f al", + "Ġd ll", + "Ex cept", + "ĠK nown", + "ra ud", + "cf d", + "Internal MessageInfo", + "Chart s", + "Ġinform ations", + "strn cmp", + "E CC", + "L ic", + "r ick", + "assert ArrayEquals", + "(! (", + "continu ous", + "? ).", + "p lex", + "r if", + "Ġ ushort", + "Ġin set", + "Ġser vlet", + "Up loaded", + "=> $", + "att ached", + "car ded", + "è Ĵ", + "ĠĠ ĊĊĠĠ", + "in in", + "me teor", + "ĠL UA", + "ĠB IN", + "\"] =", + "cast le", + "cb i", + "าภĻ", + "?, ?,", + "ĠusÅĤ ugi", + "Z I", + "re mo", + "get Count", + "ph yr", + "Table Entry", + "Pre m", + "Ġservice Name", + "CR ITICAL", + "yy y", + "trim Balanco", + "cons ent", + "Pub Key", + "Associ ated", + "Ġverw enden", + "Õ ¥", + "at k", + "ĠS heet", + "Re pr", + "ภŀ", + "ĠAdd itionally", + "Ġparse From", + "ceed ing", + "Direct or", + "A UT", + "Q UI", + "T EN", + "n ore", + "Ġ\" **", + "Ġg od", + "Ġan ti", + "ST L", + "ml ink", + "AR C", + "ĠTr ade", + "Ġsession Id", + "Exp ansion", + "fail ures", + "ĠÎ ¼", + "Pa id", + "í ı¬", + "Ġb road", + "ĠS pe", + "test data", + "from String", + "ĠY o", + "ĠUn its", + "EL Y", + "Ġorder By", + "ĠRout ing", + "ãĥĹãĥŃãĤ°ãĥ© ãĥł", + "P ulse", + "ed d", + "Ġse qu", + "pl ans", + "ĠJ OptionPane", + "Ġpri mer", + "hal ten", + "Ġдан нÑĭÑħ", + "x lim", + "ç ¹", + "Ġre de", + "Ġw inner", + "In crease", + "Ġh ole", + "Ġ! !!", + "IT IES", + "GL int", + "Det ected", + "Fl utter", + "ĠLog ical", + "rel ations", + "Ġroot s", + "Init Struct", + "Batch Norm", + "Pred iction", + "Ġconstruct s", + "ãĥĩ ãĤ£", + "F b", + "F ig", + "O SC", + "f ancy", + "ĉ ĠĠĠĠ", + "Ġ ĊĊĠĠĠĠĠĠĠ", + "Ġde e", + "ãĤ º", + "TI BLE", + "æł ı", + "('/ ');", + "ĠDB G", + "MD W", + "åĬł åħ¥", + "Decl are", + "curs ively", + "FOR WARD", + "Ġmaint ainers", + "Ġhim self", + "Parallel Group", + "PART ITION", + "ĠLG TM", + "J y", + "me et", + "ĠF ocus", + "Ġch am", + "çļĦ æĸĩä»¶", + "table t", + "ÑĢ ÐµÐ¼", + "Host Name", + "Ġpers istence", + "ä¹Ł æĺ¯", + "Ġì¶Ķ ê°Ģ", + "j is", + "í ŀ", + "Ġk ur", + "pi eces", + "open qa", + "Dis posed", + "Render Pass", + "Resp onder", + "ãĤ¤ãĥ³ ãĤ¹ãĥĪ", + "å£ «", + "Ġmeaning ful", + "Ġupgr aded", + "M ensaje", + "m desc", + "Ġ= =======", + "Ġc ats", + "Ġe z", + "app Name", + "aw an", + "ĠJ DK", + "Ġli ving", + "Bl ade", + "ga uge", + "Ġmut ations", + "Ġ\"{ \\\"", + "Ġ문 ìłľ", + "çŃĸ çķ¥", + "ãĤ¸ãĤ§ ãĤ¯ãĥĪ", + "% ]", + "R u", + "t ank", + "Ġa im", + "(' \"", + "ĠD em", + "'] []", + "ud nn", + "current Index", + "Ġë ¡", + "cr m", + "å¥ Ĺ", + "ì§Ģ ë§Į", + "Ld ap", + "? $", + "C String", + "get cwd", + "ĠN ONE", + "ĠR AD", + "RO UTE", + "Ċĉĉĉĉĉ ĠĠ", + "MA Y", + "Ġmodel Builder", + "ĠX unit", + "serv es", + "SW ITCH", + "Hex String", + "ĠPe ople", + "fade Out", + "ĠMatch er", + "Ġreplic ate", + "S g", + "b ubble", + "Ġv ul", + "Ġh c", + "trans act", + "part icipants", + "tool box", + "åIJ¦ åĪĻ", + "Ġfol genden", + "cccc cc", + "thy cotic", + "A ch", + "M ot", + "in proceedings", + "st v", + "Ġn ic", + "Ġ\" ),", + "ĠD IM", + "Ġint val", + "Ġconfig uring", + "df d", + "Block ed", + "Ġcons umption", + "åħ¥ åĬĽ", + "çĪ ±", + "Ġ'* ',", + "h askell", + "Õ ¶", + "co ins", + "ri j", + "right s", + "çĶ ·", + "Ġgr and", + "ĠPer l", + "ĠØ ¹", + "ĠWork space", + "Ġindent ation", + "s weep", + "it ere", + "ĠS ure", + "get text", + "Ġ# (", + "Ġcomp osed", + "File Reader", + "rt m", + "á» ©", + "ĠInitial ization", + "AF TER", + "ени й", + "Ġstat istic", + "ĠPe aking", + "ä¸ĸ çķĮ", + "* &", + "e ight", + "j Q", + "al phabet", + "Ġf ed", + "Ġb orrow", + "(\" ../../", + "ind i", + "aw l", + "ĠRe v", + "]) [", + "Gener ating", + "Email Address", + "plan es", + "ĠReg ular", + "V en", + "e try", + "Ġin come", + "Ġo id", + ".. \"", + "Ġnew Node", + "cond ensed", + "ĠCont inue", + "Web API", + "Ġnetwork ing", + "[{\" {\",", + "å¤į åζ", + "Ġëĭ ¨", + "># <", + "ĠRot ation", + "ibil idad", + "X l", + "Ù ī", + "est yle", + "ĠB ible", + "ĠV i", + "local ized", + "\\_ \\_", + "Ġstrict ly", + "Year s", + "environ ments", + "Ġë°© ë²ķ", + "Ġful fill", + "M inecraft", + "P ie", + "^ (", + "Ġ ew", + "ge ar", + "get Long", + "use State", + "read lines", + "Ġcomp et", + "trans formation", + "å® Ŀ", + "require NonNull", + "sl v", + "Ġinitial izing", + "SB G", + "Ġdrop out", + "dispatch Event", + "ĠRequire s", + "Ġsear ches", + "v ip", + "Ċ Ċĉĉĉĉĉĉĉ", + "Ġ ath", + "uc ión", + "create ParallelGroup", + "Ed ucation", + "Sc atter", + "gest ion", + "Security Group", + "çŃī å¾ħ", + "Ġincorrect ly", + "Ġtick ets", + "accel eration", + "f resh", + "} =(", + "ĠT PM", + "(& _", + "tra verse", + "Te acher", + "Deep Equal", + "Doxy Code", + "if eq", + "th ickness", + "Ġuse Callback", + "App lied", + "ven ience", + "{} {}", + "ãĥ¼ ãĤĴ", + "sort By", + "alloc a", + "ĠForm Data", + "Cluster Manager", + "snapshot s", + "(', ',", + "Pretty Printer", + "çªĹ åı£", + "' ',", + "+ =\"<", + "C Ptr", + "S ex", + "or na", + "ap at", + "Ġtr ading", + "Ġme hr", + "To Remove", + "Ġelse where", + "assert ions", + "ĠRe q", + "New Request", + "Ġ++ ;", + "æŀ Ĺ", + "hy d", + "yt img", + "第 ä¸ī", + "U w", + "Ġ( (\"", + "Ġy eah", + "table LayoutPanel", + "Ġcurrent User", + "ĠEn coder", + "Spec ifies", + "COMP AT", + "Ġhighlight ed", + "Ġencode Varint", + "Q V", + "in ent", + "ut os", + "Ġm qtt", + "Object ive", + "no se", + "Be ans", + "Resource GroupName", + "Ġsign er", + "mar ies", + "Home Page", + "yt vo", + "Ġfade In", + "memItem Left", + "memItem Right", + "ĠPRIV ATE", + "G x", + "P seudo", + "Ġ( ...", + "Ġs lope", + "ĠD IST", + "Ġ@ _", + "ĠM AN", + "Ġch xj", + "Ġuser Service", + "create From", + "loud Formation", + "ĠObject Mapper", + "ĠâĸĪ âĸĪ", + "> `,", + "K J", + "O Data", + "c mt", + "u ator", + "// @", + "ĠF ifth", + "Ġch own", + ">( _", + "dest len", + "Ġtid ak", + "E Z", + "R ds", + "ac cent", + "\"> ',", + "ĠG son", + "Pro vince", + "ĠCh allenge", + "Ġhere in", + "Ph otos", + "should Be", + "Ġupdated At", + "åıĤ çħ§", + "Ġgrad le", + "Ġãĥ ķ", + "cred s", + "gom ock", + "G s", + "q z", + "á İ", + "ut ron", + "Ġm ů", + "De g", + "Get Device", + "over load", + "ĠData Table", + "ä¹ ħ", + "Ġobt ener", + "onom ous", + " §", + "Ġ čĊĠĠ", + "re wards", + "Ġif ace", + "EX E", + "(* (", + "Ġcmd s", + "од а", + "DEP END", + "å®ĥ 们", + "interpol ate", + "y um", + "st ones", + "um bo", + "Group ID", + "lim ate", + "j ad", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "le k", + "=\" \"><", + "get to", + "Ġ// ////////////////////////////////", + "ast ore", + "Ġcom me", + "ep ass", + "Text s", + "Log File", + "group ed", + "Ġcount ing", + "Ġcenter ed", + "Ġmask s", + "\"/ ><", + "entr ant", + "b rides", + "s om", + "ent ro", + "ĠC Type", + "ĠC ATCH", + "ĠD EL", + "ber e", + "Res izable", + "pr c", + "Ġk Instruction", + "cp us", + "aut ore", + "pm wiki", + "how to", + "Period o", + "altern ative", + "B ORDER", + "I y", + "U Y", + "e led", + "g lfw", + "Ġs lower", + "Ġb ubble", + "Ġcode base", + "sl a", + "Ġque ued", + "aut os", + "direct ives", + "CUR SOR", + "c um", + "c rawler", + "j InternalFrame", + "n ump", + "get Event", + "ng o", + "Ġass umption", + "integr al", + "mos aic", + "Hint s", + "èĻ ij", + "Ga ussian", + "L TE", + "k hr", + "re ib", + "ĠR and", + "ĠU t", + "ĠH ERE", + "mo on", + "test ify", + "Al most", + "æ± ł", + "æīĢæľī çļĦ", + "P n", + "S d", + "Ġre pre", + "ĠW as", + "class path", + "son ar", + "MP U", + "Base Type", + "âĸ Ĵ", + "quiv al", + "f stream", + "i ers", + "j dt", + "Ù ¾", + "if low", + "Ġm illion", + "ty ping", + "br ace", + "Get Response", + "á vel", + "bin der", + "Ġdiv isor", + "ĠMethod Info", + "ĠDet ection", + "Pay ments", + "P ET", + "W Y", + "re cycler", + "Re ach", + "(\" `.", + "D URATION", + "X Q", + "k az", + "ĠA u", + "ĠL ife", + "IN STR", + "net beans", + "ĠDE V", + "ÑĮ Ñİ", + "rest aurant", + "Unknown FieldSet", + "æ° ¸", + "Ġincrement al", + "ĠWIN API", + "pup pet", + "erse y", + "J ax", + "h dc", + "i load", + "i én", + "n ux", + "n vidia", + "Ġf ft", + "Ġn est", + "tr ailing", + "ck editor", + "sh u", + "ĠV PC", + "ĠH ouse", + "text Input", + "erm al", + "Ġsim ultaneous", + "Est ado", + "ĠGOO GLE", + "V ocab", + "c riterion", + "m ui", + "å ĺ", + "th am", + "Tr anspose", + "ell ar", + "Sp read", + "Ġem b", + "ĠSk ill", + "ÙĬ Ø©", + "D sl", + "G ather", + "s itemap", + "w inner", + "Ġb iz", + "=\" )", + "user Agent", + "ink er", + "dis cover", + "Ġwas m", + "Ġsp éc", + "Select ors", + "Bar s", + "é¡ Į", + "ĠLe af", + "è· Ŀ", + "Ġaut ogenerated", + ">* <", + "s keleton", + "w ild", + "Ġf er", + "Ġp pc", + "od er", + "Ġis Loading", + "RE SER", + "print k", + "DI ALOG", + "Ñı з", + "ĠOpen API", + "ĠWORK B", + "ÑģÑĤан ов", + "K b", + "à ľ", + "is Loading", + "Ġ\" \"),", + "Ġb rew", + "ĠP ing", + "ĠL U", + "ĠF ood", + "cc a", + "Field Builder", + "seq id", + "Validation Exception", + "Ġir q", + ", ))", + "= */", + "L f", + "X V", + "n ist", + "ĠP aper", + "Ġi a", + "Up stream", + "ĠX SD", + "cons ider", + "ãģĻãĤĭ ãģ¨", + "\\' ',", + "Ġinject ed", + "={` ${", + "getFull Year", + "D SP", + "F ails", + "s aml", + "Î ¬", + "ap ic", + "As m", + "Status Message", + "Full Screen", + "次 ãģ®", + "Ġwatch er", + "C id", + "g rib", + "t abel", + "ì ¤ij", + "ST EST", + "Ġ! _", + "Item List", + "Ġwhere as", + "ĠLog Level", + "íķĺ ê²Į", + "Ant i", + "AWSC loudFormation", + "R g", + "t j", + "} |", + "è ¸", + "Ġ åı¯ä»¥", + "(\" \\\"", + "ĠB S", + "Ġtr aces", + "Ġx p", + "File Descriptor", + "++ .", + "ENT S", + "UP LOAD", + "Auth enticate", + "PL AIN", + "PRE SENT", + "MIN US", + "æ¬ ¢", + "ĠVM s", + "áĥ ĺ", + "Ġstrong ly", + "Ġasynchronous ly", + "En ded", + "run ners", + "VER SE", + "pg sql", + "cover alls", + "ĠPath s", + "Annot ated", + "Ġmor ning", + "w string", + "Ġg lfw", + "Ġget ters", + "ear ly", + "Ġ; )", + "Ġ'/ ')", + "submit ted", + "Ġfr ac", + "Sup p", + "æĶ¹ åıĺ", + "Ġë° Ķ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "Tre es", + "Heart beat", + "Ġrequ iring", + "Ġantl r", + "ĺ 리", + "lo pen", + "em ap", + "ĠI Enumerator", + "res net", + "Ġprocess ors", + "fr ica", + "=[ ],", + "å» ¶", + "review able", + "mouse over", + "Ġsegment ation", + "Resp ond", + "Ġrecur sion", + "Spo on", + "U v", + "c itation", + "g lib", + "g ogo", + "p wsz", + "Box Data", + "DIS K", + "v space", + "{ !!", + "Ġde viation", + "op end", + "mo od", + "Be Null", + "With Value", + "Web Server", + "м ен", + "Ġsb t", + "æ©Ł èĥ½", + "$ -", + "r ctx", + "Ġre pet", + "str pos", + "ref r", + "cont ribution", + "ud c", + "mb H", + "Ġsub string", + "ö n", + "Ġbr acket", + "Down loading", + "ĠTemp erature", + "éł ħ", + "ĠHAND LE", + "Ġarma zen", + "T int", + "j ian", + "Ġ[ *", + "Ġ% +", + "Ġ<< <", + "sm ith", + ":\" \";", + "ĠSe ptember", + "å¹ ²", + "requ is", + "Public ation", + "Ġwrap s", + "ĠWIN DO", + "ĠWrit es", + "CONNECT ED", + "> \"+", + "_ ##", + "ro ach", + "Ġs Äħ", + "per mit", + "UL D", + "Error Exception", + "For Key", + "reg orian", + "gt m", + "ĠDE P", + "ĊĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠ", + "SR V", + "IMPORT ANT", + "ç¶ ļ", + "+ ).", + "de mos", + "Ġy um", + "read Int", + "no log", + "admin s", + "aug ment", + "t ender", + "get StatusCode", + "ĠC losed", + "ĠP NG", + "Form Field", + "ok it", + "Ġuser Data", + "ÑĤ обÑĭ", + "ç os", + "Ġfund s", + "++++++++++++++++ ++++++++++++++++", + "Ġë¡ ľ", + "F ul", + "J i", + "n id", + "Ġy outube", + "ms i", + "Ġpre load", + "á» Ń", + "Fire wall", + "ãģĹãģ¦ãģĦ ãĤĭ", + "D PR", + "O H", + "q k", + "r uct", + "Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġd pi", + "Ġun o", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "sign er", + "Ġus r", + "Det ermin", + "blob s", + "čĊĠĠ č", + "WI FI", + "Ġld ap", + "Ġsimpl ified", + "ĠOrdered Dict", + ": ~", + "= #{", + "I w", + "X A", + "e fe", + "p and", + "s moke", + "æ ĩ", + "er b", + "get Global", + "ĠP B", + "Ġme ters", + "assert In", + "Comp iled", + "EX AMPLE", + "Image Data", + "Fun ctor", + "éĸ¢ æķ°", + "ĠíĻķ ìĿ¸", + "OutOfRange Exception", + "Z H", + "Ġc uenta", + "Ġp ile", + "Ġwh itelist", + "Se goe", + "ann ers", + "sup press", + "Cour ses", + "c rawl", + "p ins", + "Ġ ~~", + "() \");", + "err s", + "gr aded", + "DI RECTION", + "sg s", + ">> )", + "Tri al", + "J k", + "] })", + "re striction", + "Ġon der", + "Con currency", + "ĠÑģ озд", + "ĠNO WRAP", + "Expect ing", + "Execute Command", + "Äį ÃŃ", + "ÑĪ Ðµ", + "deep copy", + "PARAMETER S", + "í Ĥ¤", + "le q", + "get Cell", + "ãģ ļ", + "ME TRY", + "Com ma", + "Ġad c", + "æľī ä¸Ģ个", + "Ġmargin Bottom", + "ĠAct ually", + "Bucket s", + "Ġach ieved", + "ExtensionRegistry Lite", + "íĭ °", + "un supported", + "Ġ' ='", + "Ġd atab", + "Ġdata GridView", + "ĠGet All", + "Call Option", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "Ġsa ÄŁ", + "Ġown ers", + "ãģĦ ãģĨ", + "Effect ive", + "Hand led", + "ĠQt Gui", + "ĠPat ient", + "F LI", + "N atural", + "s Type", + "co efficient", + "Tr avel", + "pre trained", + "struct s", + "do ctrine", + "rep air", + "Month s", + "ĠAss istant", + "ĠTrack er", + "\" <<", + "F AC", + "Text Changed", + "Add s", + "ized Buffer", + "Op Codes", + "SM C", + "å·¥ ç¨ĭ", + "contribut or", + "Follow ing", + "ĠFore ign", + "alax ies", + "áºŃ p", + "Ġmaj ority", + "e quipment", + "int f", + "IP H", + "ĠDE VICE", + "Ġpackage Name", + "ĠGL FW", + "çIJ ĥ", + "Ġprefix es", + "æı Ľ", + "åĮº åŁŁ", + "ĠTool kit", + "Ġretrie val", + "ĠSanit izers", + "K a", + "Ï ī", + "Ġ\" =\",", + "ed en", + "th in", + "ist an", + "der ived", + "Ġ# $", + "ne q", + "ĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠ", + "е ли", + "core v", + "SO UND", + "PH YS", + "Ġpur ge", + "Inc ident", + "DoxyCompact List", + "c str", + "h one", + "cp kg", + "Parent s", + "DATA SET", + "ARG P", + "аÑĤ оÑĢ", + "им еÑĢ", + "ĠCount y", + "Ġsuc ceeds", + "ĠìĨ Į", + "T c", + "w ick", + "Ġ ata", + "is dir", + "OR ITH", + "net lify", + "sk ipped", + "Det ailed", + "Invalid ate", + "Func s", + "建 è®®", + "Altern ative", + "ĠInject able", + "$ }", + "F ort", + "T ro", + "Ġw el", + "Ġnot ed", + "cont our", + "sign ing", + "äº ļ", + "next Token", + "ĠFile InputStream", + "cv t", + "cos q", + "Ġsubject s", + "³³ Âł", + "Ġplan et", + "employ ees", + "bur st", + "R ng", + "T ot", + "W o", + "Ġ* ", + "ph on", + "Get Pin", + "ĠJ AVA", + "App ender", + "Ċĉĉĉĉĉĉ Ġ", + "pc ap", + "hed ron", + "Ph il", + "tab lename", + "sort ing", + "Ġer ase", + "Ġaut oc", + "ĠPlugin s", + "ĠDrop down", + "dead line", + ") ?.", + "E lectron", + "L ap", + "N uevo", + "U DIO", + "Ġ ä»İ", + "ab cd", + "Ġ// ////////////////////////////////////////////////////////////////", + "Ġ+ \"", + "Ġun ary", + "order Id", + "={ },", + "Le ase", + "æ³ ¢", + "äºĭ åĬ¡", + "SCO RE", + "æīĵ åį°", + "ĠDetermin es", + "arcsin L", + "å͝ ä¸Ģ", + "TypedDataSet Generator", + "// ************************************************************************", + "tp aram", + "Ġch ose", + "EN E", + "Data Loader", + "({ \\", + "Sub tract", + "Ġar ithmetic", + "SC I", + "ÅĻ e", + "Pe ak", + "feed s", + "mid i", + "Ġguid ance", + "B road", + "Q I", + "Z u", + "t ensors", + "ĠB es", + "ĠG old", + "Ġup loading", + "da a", + "fa ir", + "Ġmod ific", + "PL AN", + "Min Value", + "Compat ibility", + "Refer enced", + "TOP IC", + "产 çĶŁ", + "Ġc tor", + "Ġ{ >,", + "sp onsor", + "ĠO cc", + "ĠW ar", + "ee a", + "Read s", + "Ġsw ift", + "rel ational", + "è¿Ļ ä¸Ģ", + "ÅŁ aģı", + "cip h", + "Ġdelay ed", + "ÑĢÑĥ г", + "Reser ve", + "Continu ous", + "uran ça", + "request Id", + "ld ots", + "Valid ity", + "à§ Ģ", + "Configur ator", + "Ġcu ando", + "OO OO", + "ĠSup plier", + "ĠAug ust", + "Ġnd array", + "B AL", + "I on", + "d cc", + "´ Ī", + "Ġre cognition", + "Ġb is", + "us p", + "Error Type", + "ca a", + "NA V", + "ĠLO AD", + "è© ³", + "MOTOR OLA", + ") +\"", + "E y", + "U ENCE", + "Ġ åij½ä»¤", + "on nx", + "Ġ\" \"))", + "ac b", + "ew ire", + "Ġ$ ?", + "Ġ// //", + "per ms", + "current Color", + "proto s", + "Pol it", + "stub s", + "Ġì¶ ľ", + "ashing ton", + "T rig", + "un u", + "Ġin et", + "ĠC redentials", + "ĠD amage", + "ff mpeg", + "ĠB ur", + "sh i", + "ak ash", + "UN IQUE", + "Ġinput Stream", + "If Not", + "Ġfun ção", + "Has hes", + "Join Column", + "Ġaus ge", + "Ġimag ine", + "phan um", + "ĠĠĠĠĠĠĠĠ Ċ", + "Ġcon cent", + "ĠL im", + "app lied", + "Get Next", + "wh ole", + "EX PRESS", + "Http StatusCode", + "к ов", + "Mark ers", + "sent inel", + "ĠCal c", + "z Åij", + "or u", + "ĠD og", + "ers cript", + "po ke", + "Ġpart ially", + "Tree View", + "ĠOut look", + "ĠPy Err", + "Ġlos ses", + "Ġmetav ar", + "n ice", + "Ġ era", + "Ġ éħįç½®", + "In i", + "ke h", + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġfind All", + "UM NS", + "Ġdb g", + "ĠView Model", + "radio Button", + "anim ations", + "èĪ ª", + "ãĥ¼ãĥĵ ãĤ¹", + "O sc", + "p ción", + "z l", + "on acci", + "sp el", + "ĠIn structions", + "Ġli br", + "Item ize", + "ĠDef ender", + "ĠAb ort", + "ĠCell ID", + "Ġpromise s", + "ĠTransform er", + "diag onal", + "ãĤ¢ãĥĹãĥª ãĤ±ãĥ¼ãĤ·ãĥ§ãĥ³", + "d ob", + "ct p", + "ĠC amp", + "to ggler", + "set Maximum", + "Ġj u", + "Data Row", + "Ġread Only", + "Cre ative", + "å®ŀ ä½ĵ", + "Ġtermin ation", + "ĠBlue print", + "M ysql", + "at ore", + "get OrElse", + "sp rites", + "Ġr st", + "pl anning", + "Ġget Token", + "Ġint s", + "read Field", + "The test", + "pop per", + "ĠModel Mapper", + "Selected Item", + "Scal er", + "ĠOverride s", + "Ġprojet o", + "Clus Cfg", + "G host", + "g errit", + "m io", + "Ġc utoff", + "th ought", + "Ġv ed", + "ff set", + "ĠE val", + "trans mit", + "No Un", + "CONT ACT", + "ĠQuest ions", + ", *)", + ": \":", + "ĠG mbH", + "ou d", + "ĠV ulkan", + "Ġexpect ation", + "Dis cover", + "åΰ äºĨ", + "rb ac", + "ĠSp awn", + "wrapper s", + "Ġplot ting", + "Does NotExist", + "åĪĩ æį¢", + "s agemaker", + "ge vens", + "Ġv otes", + "ot iation", + "sp ar", + "Query Result", + "inc orrect", + "ĠPost gres", + "SEC URE", + "ĠConstruct ors", + "EPS G", + "PREC ATED", + "\" [", + "M q", + "[ ['", + "` ${", + "it ations", + "Ġm tl", + "Ġg ql", + "ĠE I", + "Ġpro visioning", + "RE PEAT", + "ST AR", + "list Of", + "Data Reader", + "ov at", + "require ment", + "Pr or", + "Ġfree ze", + "çIJĨ è§£", + "æµ İ", + "Ġinterrupt s", + "VERT ICAL", + "Q Y", + "t riggers", + "ĠC K", + "ĠT T", + "ĠR SS", + "ip hy", + "api pe", + "Ġsw itches", + "ãģĻ ãģ¹", + "docker file", + "Gen re", + "black list", + "ĠColumn Vector", + "åĽ½ å®¶", + "æł· å¼ı", + "Ġlin ewidth", + "ë° ĺ", + "Ġvale ur", + "igens chaft", + "L ANGUAGE", + "N BT", + "d cd", + "r dx", + "t uples", + "Ġon Success", + "ĠG ro", + "ec f", + "rc v", + "и ÑĢ", + "åĪ ·", + "Ġem ission", + "Ġpri mar", + "access ible", + "Parse Tree", + "Ġtransform ations", + "Ġsn ake", + "ĠImplement s", + "ĠByteArray OutputStream", + "ĠCalling Convention", + "ASY NC", + "mrm q", + "D RE", + "m ma", + "tp s", + "gr ading", + "db f", + "PE C", + "ik ube", + "sa i", + "Web Request", + "')) ->", + "Ġear th", + "grow th", + "ĠAssertion Error", + "S v", + "X iv", + "r angle", + "Ġw b", + "nt l", + "): **", + "Ġuse Ref", + "ĠÐ ł", + "ĠJ on", + "Is Active", + "ĠComp at", + "Ġph y", + "Ġ'- ',", + "Remov ing", + "TRIG GER", + "K otlin", + "q us", + "ĠS ingleton", + "... ',", + "ĠK otlin", + "Ġno va", + "Ġlocal ization", + "ĠEX EC", + "----------- +", + "vari ation", + "Occ urs", + "EXEC UTE", + "Ġ\" \":", + "(\" {}", + "ĠG DAL", + "\"] }", + "{{ <", + "ĠComp arator", + "SUP ER", + "explo re", + "Spl ash", + "x AA", + "Ġ\" \".", + "Ġm ic", + "str actions", + "List Node", + "Ġhe ard", + "Group Data", + "å¼ ±", + "ĠAd v", + "ĠÑģ еÑĢ", + "yy pt", + ">: ][<", + "PH ONE", + "Ġsup pose", + "YY Y", + "Cho ices", + "顺 åºı", + "WireFormat Lite", + "> |<", + "L iv", + "h all", + "m j", + "s ongs", + "} //", + "Ġt ty", + "al ian", + "ĠC ACHE", + "ĠD ar", + "Value Of", + "ĠName s", + "Socket Address", + "Ġbro ught", + "ĠRaise s", + "pract ice", + "详 æĥħ", + "P SS", + "s age", + "ter rain", + "ĠD F", + "ĠN PM", + "Ġ# !/", + "class ify", + "Event Loop", + "SC SI", + "Ġass ist", + "{} '.", + "Ġ---------------------------------------------------------------- ------", + "CCCC FF", + "ul y", + "Data List", + "Create Time", + "SP LIT", + "Invalid ArgumentException", + "Pri m", + "ĠHe ap", + "Nav bar", + "нÑĭ м", + ") ');", + "L sp", + "b de", + "Ġm ai", + "up dating", + "Ġ}, \\", + "Se ason", + "Th rift", + "Ġitem Id", + "FI RM", + "equal ity", + "Close st", + "VO KE", + "Ġcare ful", + "ĠDocker file", + "Inherit ed", + "O g", + "ac ct", + "ab ic", + "ĠI CON", + "Ġg m", + "ĠG S", + "fig ures", + "ĠDef ined", + "found ry", + "optim ization", + "ë° ľ", + "Cod er", + "Ġpropag ate", + "R gb", + "m ss", + "Ġv ä", + "') ", + "up d", + "Ġcont our", + "Ġat ol", + "gl ue", + "AM O", + "SP A", + "è¡ ¥", + "Bl k", + "ĠWait ing", + "Pur pose", + "+ =\"", + "H r", + "ot ic", + "end i", + "ĠI ID", + "Pro tein", + "ak k", + "File system", + "Ġu ž", + "ci ó", + "ffff f", + "ĠSh ip", + "Ġê ±", + "éĻ Ħ", + "Ġæ µ", + "Ġcap ac", + "Owner Account", + "ĠSC IP", + "Assignable From", + "$ [", + "W arehouse", + "de cess", + "ĠI II", + "ow anie", + "ĠP DO", + "ĠN an", + "RE PLY", + "min imize", + "Ġmax im", + "mem cached", + "cf b", + "Ġbar code", + "(', ')", + "F Z", + "U CTION", + "Ġp unto", + "ge mm", + "ĠM inecraft", + "Type Code", + "ĠW all", + "ip a", + "AN CHO", + "ne z", + "ret rie", + "Resource Name", + "Ġet cd", + "ead y", + "âĶĢâĶĢâĶĢâĶĢ âĶĢâĶĢ", + "H dfs", + "N ight", + "O id", + "d ynamodb", + "l rd", + "n pos", + "Ġ\" )\"", + "Ġ' ['", + "ĠC Exo", + "Ġ+ -", + "Ġe os", + "ore t", + "Ġpar cel", + "line Edit", + "url Path", + "File Stream", + "not Nullable", + "Array Type", + "Not Implemented", + "HT MLElement", + "в еÑĤ", + "ident ifiers", + "SW AP", + "Modal Label", + "MY SQL", + "Ġpropri ed", + "Ġfunct ools", + "Ġcommod o", + "B rightness", + "` ()", + "z ookeeper", + "× ¤", + "Ġ' *.", + "ĠV I", + "ĠCon version", + "Ġcurrent Time", + "Return ed", + "D ar", + "l ama", + "re versed", + "Ġs lices", + "ĠS OL", + "ĠT CL", + "ĠA MD", + "Data Size", + "и г", + "fa e", + "ãĥŀ ãĥ³ãĥī", + "Ġequ ations", + "k nowledge", + "t rig", + "Ġ Ùĩ", + "ot ive", + "ĠN AMES", + "ĠF il", + "app ender", + "AM B", + "Ġpost ing", + "ĠUser Service", + "Ġtabel a", + "Dead line", + "Buffered Reader", + "# $", + "B NS", + "Ġt erraform", + "Ġf utures", + "ag ged", + "Ġj Button", + "ĠJ ekyll", + "Ġdis posed", + "cur ses", + "Ġco eff", + "SC C", + "ceiv ing", + "ĠSm ith", + "Ġtiny int", + "Ġdies er", + ". \".", + "t am", + "in vent", + "Ġp ipelines", + "to urnament", + "ĠF TP", + "Ġan te", + "ens i", + "ĠID X", + "以 ä¸Ĭ", + "ĠLe ave", + "fire fox", + "ãĥĥ ãĥī", + "interval s", + "orph an", + "ustr alia", + "pur ge", + "uns queeze", + "Ġét é", + "G PS", + "L s", + "d ce", + "Ġf oc", + "sp readsheet", + "IN I", + "ust ain", + "Ġk illed", + "py py", + "of ill", + "ĠComp arison", + "Ġexit ed", + "ĠPublic Key", + "ĠÑĦай л", + "ĠвÑĭп олн", + "P VRTX", + "out e", + "Ġser ves", + "Index er", + "Base Path", + "ba e", + "Met al", + "ĠAct ivation", + "Ġ.. @", + "wer k", + "optim ized", + "kl ad", + "S b", + "a af", + "ap ods", + "ĠC ss", + "ĠT ITLE", + "IN CT", + "Ġbe have", + "Ġx range", + "item Id", + "ĠIN LINE", + ">( ", + "O URCE", + "j ComboBox", + "w ed", + "ib ase", + "post css", + "Ġevent o", + "ĠID C", + "\"} },", + "Ass istant", + "Ġclean ing", + "ĠJson Convert", + "bund ler", + "pract ices", + "solut ely", + "Ġm age", + "ax os", + "comp liance", + "Th unk", + "ĠRE MOVE", + "Sql List", + "B ID", + "M agento", + "W ildcard", + "d ynamics", + "v il", + "ĠS AM", + "ĠT ASK", + "ĠI Collection", + "Ġent rada", + "xy gen", + "cb a", + "ĠCommon s", + "lst m", + "pot ential", + "A FF", + "I u", + "W ARE", + "re usable", + "Ġd isease", + "ĠD IG", + "Ġob js", + "web driver", + "ready brides", + "yy VAL", + "ros pect", + "ĠRed ux", + "ĠOBJECT S", + "K d", + "T LE", + "¡ ´", + "re li", + "', \"", + "ĠD ue", + "Ġex ceeds", + "ĠJ ump", + "An imate", + "ET A", + "man agers", + "Ġsample d", + "(\", \");", + "Altern ate", + "S impl", + "\\ :", + "or ama", + "Ġf av", + "as semble", + "ĠS ong", + "String Buffer", + "AR IES", + "ree k", + "Window Manager", + "Ġfac ility", + "Ġslide show", + "a ine", + "c assandra", + "f lickr", + "p st", + "ĠM AIN", + "min o", + "Get Method", + "]) /", + "Ġuser ID", + "Log Error", + "az o", + "stack s", + "foot notes", + "ĠÄ °", + "CHANGE LOG", + "hance ment", + "Ġpul led", + "Bene fit", + ") ...", + "B PM", + "G ED", + "P d", + "V W", + "Ġ ä¿®æĶ¹", + "us i", + "In tern", + "sp am", + "ĠP icture", + "Ġl ens", + "List ening", + "Is Enabled", + "Action Button", + "mov d", + "Ġocc urrence", + "Ġattemp ted", + "Pol ler", + "exclude d", + "st on", + "or ida", + "em otion", + "EN DED", + "Ġco ef", + "And Get", + "åıĺ åĮĸ", + "}- ${", + "ĠCMake Files", + "N in", + "O E", + "O WL", + "S print", + "v ld", + "ç Ĵ", + "in file", + "ĠP IL", + "trace back", + "& \\", + "s df", + "ed Mode", + "get Project", + "Ġst m", + "ĠF und", + "ä¸ ĥ", + "Ġby pass", + "... @", + "From Argb", + "ü gen", + "Post al", + "Convert F", + "Ġround ing", + "nable Reference", + "UIT ests", + "reduc ed", + "GetPin nableReference", + "# ,", + "z v", + "Ġcon ventions", + "Ex clusive", + "net flix", + "ATE LL", + "ĠCom bo", + "๠Į", + "ĠBit coin", + "æĮī çħ§", + "ACTIV ITY", + "HIST ORY", + "Ġwur de", + "e ac", + "m agnitude", + "Å ¥", + "se mi", + "In bound", + "Ġse cs", + "ĠK ar", + "Ġselect s", + "æĪIJ åijĺ", + "WE EN", + "使ç͍ çļĦ", + "è¿ĩ 滤", + "Ġhead s", + "Merge d", + "Ġdr ug", + "tim ers", + "getExec SqlList", + "F J", + "K ar", + "V Q", + "z g", + "ç £", + "Ġf ru", + ":// \"", + "ĠĠĠĠĠ ĊĠĠĠĠ", + "Ġch allenges", + "Ġare na", + "FF T", + "Out let", + "Ġpart ies", + "Fl avor", + "ìĹ Ī", + "ĠInter action", + "ĠSty led", + "Ġce il", + "fact ors", + "Ġоб ÑĬ", + "ĠTrack ing", + "associ ated", + "ĠRot ate", + "ĠAltern atively", + "G id", + "M it", + "or ough", + "Ġc iph", + "Ġm ole", + "ĠN N", + "ĠB and", + "SP AR", + "aa e", + "Ġsw itched", + "Ġweb sites", + "ga ussian", + "Rate Limit", + "Generated Value", + "ĠRef actor", + "éķ ľ", + "prepare Statement", + "?? ??", + "ĠSolution s", + "'''' ''''", + "t at", + "ĠG PS", + "Ġcorrect ed", + "ĠMain Window", + "ĠCLI ENT", + "ॠ¤", + "èĢĥ èĻij", + "U IC", + "â ģ", + "in ception", + "lo x", + "ĠR M", + "Ġser ving", + "ĠEx perience", + "ld r", + "real path", + "throw able", + "ìŀ Ħ", + "ĠPart y", + "fac ility", + "Tipo ProrrateoImpor", + "Ġê³ ł", + "k ir", + "Ġw f", + "get Mock", + "In Memory", + "ĠP ok", + "all close", + "Ġg host", + "Name spaces", + "Ġj dbc", + "Test Base", + "ĠEx ercise", + "als y", + "access ibility", + "ä¸ĭ çļĦ", + "åĪĨ éħį", + "å§ Ķ", + "Ġface book", + "reject ed", + "å¼Ĥ æŃ¥", + "ĠExecution Context", + "ë¸ Į", + "ĠíķĦ ìļĶ", + "X code", + "le ague", + "li ver", + "ĠL CD", + "Ġun managed", + "Ġab straction", + "Ref Count", + "ĠLO C", + "Desc ending", + "Ġenter ing", + "ĠPop up", + "Corre lation", + "Ġ å½ĵ", + "av al", + "__ ;", + "Ġbe g", + "Ġpre p", + "CL S", + "Block Size", + "Ġrad ians", + "Ġyy S", + "Ġattack er", + "* =", + "ex plain", + "ue ba", + "ĠP F", + "---------------- ----", + "ĠV ision", + "List Entry", + "ĠPro duction", + "gl Vertex", + "ç±» ä¼¼", + "ž ete", + "sy lius", + "Mo jo", + "Ġinf ra", + "Amb ient", + "ĠðŁĽ ij", + "b fe", + "imp act", + "ĠRe covery", + "Ġcomp utes", + "TE C", + "Ġdet ach", + "ä¾ Ĩ", + "Gr up", + "+' > ()", + "record ing", + "éĻ Ĩ", + "Ạ¯", + "ÅĤ Äħc", + "Ġmask ed", + "Ġhab en", + "CIP HER", + "åĿIJ æłĩ", + "D ex", + "S now", + "w on", + "Ï Į", + "Ġd od", + "Ġse lenium", + "ĠM ARK", + "art z", + "Ġor i", + "Ġstr ategies", + "Ġ\\ )", + "size cache", + "ĠÐ Ĺ", + "åı «", + "jo ined", + "CONFIG URATION", + "Ġperiod ic", + "Ġopp onent", + "spro j", + "} ','", + "Ġ ########", + "is String", + "Ġre lies", + "Ġw t", + "ĠF B", + "Ġent r", + "SY SCALL", + "ĠRun s", + "fit ness", + "åĽ¾ åĥı", + "Tra versal", + "ĠChe f", + "keyed Literal", + "NoUn keyedLiteral", + "ATELL ITE", + "R am", + "f ml", + "Ġp ak", + "ĠP rec", + "Ġk ap", + "Ġ? =", + "а Ñħ", + "gress or", + "ä¸Ģ å®ļ", + "ĠBe autiful", + "ĠMed ium", + "íŀ Ī", + "G K", + "G rib", + "_ -", + "e eb", + "o cop", + "lo ops", + "Ġre cipes", + "ot i", + "St uff", + "pro per", + "Ġdo ctor", + "count y", + "()) ),", + "Is Not", + "Ġhttp Request", + "ìĹIJ ëĬĶ", + "ĠDec ision", + "ĠHO ST", + "Deep Copy", + "ĠHD Insight", + "? \");", + "Y j", + "p edia", + "Ġ ich", + "Ġ æľī", + "Ġh ass", + "ĠP ART", + "ĠB LE", + "ĠV an", + "log istics", + "âĢ ķ", + "á ny", + "---------------------------------------------------------------- ----------------------------------------------------------------", + "Many ToOne", + "Ġgrad ients", + "oct et", + "Ġåıij 表", + "ed By", + "Ġb ob", + "Ġ: ---", + "Ġbe came", + "dd c", + "amb le", + "Ġshort er", + "Cpp I", + "Ġworkflow s", + "ä¼ł åħ¥", + "ĠëķĮ 문", + "æļ Ĥ", + "? (:", + "F og", + "G n", + "T es", + "or bit", + "an td", + "Ġa ç", + "Ġ: \"", + "ĠV oice", + "uc lear", + "TO O", + "ĠTr aits", + "sol ar", + "bb f", + "ê° Ĵ", + "Assign ments", + "Ing redient", + "; %", + "p name", + "ac os", + "Ġcon currency", + "`` :", + "pen sion", + "GL FW", + "ĠTrans itional", + "ĠPh il", + "gold en", + "ç»§ ç»Ń", + "L es", + "d ana", + "t cl", + "he atmap", + "ĠS parse", + "to ByteArray", + "Ġ@ }", + "Ġex cess", + "Ġrow span", + "Red uction", + "bg p", + "ĠFl ush", + "CASE LIST", + "Ġpen alty", + "ĠPRE FIX", + "F printf", + "J w", + "W CHAR", + "Å Ī", + "Ġp addle", + "Ġm ue", + "Ġm other", + "Cont our", + "åĪ »", + "Ġback ing", + "ĠTH ROW", + "ĠSL OT", + "Ġpref etch", + "OutOfBounds Exception", + "E arth", + "p ca", + "se min", + "is Checked", + "ĠS cr", + "get Document", + "Re views", + "est ib", + "Un set", + "Table View", + "ĠUp dating", + "Admin istr", + "ĠQu ad", + "Å¡ t", + "Ġdetermin ing", + "}: ${", + "ĠEvery thing", + ") >>", + "V t", + "Y i", + "s st", + "Ġ 请æ±Ĥ", + "it ud", + "ĠA ck", + "Ġg yro", + "ĠH ack", + "Ġro c", + "Ġz end", + "Ġno us", + "service Name", + "RES SED", + "ĠAb solute", + "nom inal", + "ĠìĤ¬ìļ© ìŀIJ", + "íĶ Į", + "# (", + "/ ;", + "u dd", + "u ere", + "Ġre minder", + "Ġto ur", + "ise lect", + "On Change", + "Ġed x", + "Ġexit ing", + "éģ ©", + "Ne arest", + ")))) ))", + "ENC IL", + "Ġess ential", + "T TY", + "Z C", + "Ġt al", + "Ġb odies", + "ĠC ool", + "fl en", + "ü l", + "Post Mapping", + "Ġfe es", + "Ġstat uses", + "Decor ated", + "Trip le", + "ĠBuilt in", + "Scheduling Simulation", + "; _", + "l ake", + "get Output", + "ess er", + "ĠH AS", + "AD A", + "Ġper o", + "wh l", + "Ġsol ving", + "rad ians", + "åī Ĭ", + "Ġpush ing", + "BT N", + "Ġtrad itional", + "A DED", + "L TA", + "Y ield", + "b rown", + "Ð Ľ", + "Ġ že", + "Ġp q", + "set Location", + "add i", + "EN CODING", + "Get env", + "=' '", + "=' <", + "ä» ĵ", + "no update", + "AP PRO", + "sample d", + "ĠDis covery", + "ament als", + "MI X", + "æĮĩ éĴĪ", + "CCE EDED", + "Ġhog y", + "- *", + "F c", + "K l", + "L abs", + "V otes", + "d ou", + "ist ream", + "string Value", + "pen alty", + "Ob js", + "=> \"", + "Ġinitial izes", + "åĪĨ å¸ĥ", + "Gr ab", + "IDENT ITY", + "Ġfol ks", + "combo Box", + "B H", + "J VM", + "J UST", + "V irt", + "f af", + "k id", + "k ub", + "ag i", + "Ġex tras", + "Ġr h", + "Create Instance", + "ठ¨", + "$$ $$", + "ĠOS X", + "ĠDec or", + "ĠInclude s", + "N pc", + "d X", + "Ġc amel", + "tr ansp", + "code haus", + "ĠRe member", + "ik es", + "Cl k", + "æľº åύ", + "Ġpad r", + "Ġpad ded", + "rating s", + "Ġdemonstr ates", + "Spl ine", + "Ġkh ông", + "lips is", + "C xx", + "T Protocol", + "a ip", + "ĠD SL", + "EN CRYPT", + "red uction", + "trans it", + "met ab", + "dr ain", + "PER ATURAN", + "fill Style", + "ĠPy Array", + "ales ce", + "ĠFIR ST", + "g orm", + "ĠT D", + "Ġde structor", + "to Date", + "Ġj enkins", + "View Models", + "Ġprob abilities", + "Ġte a", + "ä¸Ń æĸĩ", + "æĮĩ 令", + "Cons ume", + "Connector s", + "ĠFI ELD", + "LCJ wYWNrYWdl", + "C rit", + "H al", + "P ump", + "T ou", + "Ġ rigid", + "re build", + "ex ercises", + "Ġg RPC", + "Ġun related", + "SE ED", + "ich en", + "bl ast", + "ĠComp leted", + "Ġla unched", + "ö l", + "exp ense", + "ĠUs uario", + "´ë ³", + "ĠRel ay", + "าภ¢", + "DEL TA", + "Ġaud ience", + "b asket", + "er ometer", + "Ġb anco", + "Ġv ent", + "able View", + "á ch", + "light ning", + "æĿ İ", + "Ġacc ordance", + "dr ug", + "convert ed", + "Ġpers isted", + "prom otion", + "ĠConn ected", + "reactiv ex", + "( /*", + ", âĢĿ", + "ac me", + "ĠR en", + "Ġtype Of", + "own ers", + "ne on", + "ĠOutput Stream", + "Ġdatas ource", + "h j", + "re map", + "Ġt ort", + "State Change", + "Ġcomponent Will", + "ĠAd am", + "Instrument ation", + "èį IJ", + "K el", + "W ant", + "b af", + "à ²", + "lo pt", + "Ġcon secutive", + "set Bounds", + "min er", + "Ġu art", + "An si", + "Ġkey of", + "Imp act", + "Ġborder Color", + "Editor s", + "Ġ× ¢", + "INF INITY", + "Ġì° ¸", + "G antt", + "en za", + "id at", + "', [", + "AL TO", + "FO C", + "lin ewidth", + "Ġret rofit", + "inst on", + "foot note", + ")/ $(", + "ĠState ful", + "Ġak tual", + "Ġeng ines", + "lio graphy", + "F q", + "Ġpro ced", + "gl ing", + "Ġ[\" /", + "FL AT", + "&& (", + "ä½ł åı¯ä»¥", + "ĠSUB SETP", + "Ġpode m", + "clam ation", + "V oxel", + "e be", + "h yp", + "sp her", + "ĠD IAL", + "ĠF ort", + "che ss", + "ĠYou Tube", + "Ġquery set", + "container id", + "ен ÑĮ", + "Screen shots", + "SIGN ATURE", + "oned DateTime", + "Ġê°Ģ ëĬ¥", + "Ġga ia", + "Ġkter é", + "FRAG MENT", + "B p", + "D jango", + "Ġp db", + "ĠP as", + "import er", + "ĊĊ ĊĊĠ", + "Man agers", + "Component Private", + "pub key", + "Pri mitives", + "å°± åı¯ä»¥", + "eval cond", + "ĠFunc iones", + "ç¾İ åĽ½", + "it ative", + "ĠP iece", + "é ny", + "home brew", + "force ment", + "åħ· æľī", + "Ġsing ular", + "P aging", + "ĊĠĠĠĠ ĊĊĠĠĠ", + "ĠU SD", + "cont en", + "ĠAction Result", + "Ġaccept ing", + "Ġjo urney", + "Ġorgan isation", + "ĠBOO LEAN", + "Coded OutputStream", + "Ġcaracter es", + "I mm", + "al m", + "Ch ance", + "ph er", + "cent roid", + "\"/> .- <", + ". \")]", + "K ing", + "T Value", + "\\ {", + "-> $", + "Ġh ur", + "to i", + "Ġl y", + "Ġg ü", + "ĠG allery", + "sub total", + "ins i", + "Has Key", + "TW O", + "ĠSp atial", + "人 åijĺ", + "ĠSerial izer", + "Ġress ources", + "; ++", + "d riven", + "f ns", + "Ġno str", + "ĠCh inese", + "Ġmap Dispatch", + "Ġshow ed", + "Api Exception", + "Ġreg ards", + "Ġfunc ión", + "APP LE", + "bib info", + "t aken", + "Ġt slint", + "un reachable", + "ĠS ATELLITE", + "sh int", + "Ġcont a", + "Ġpack aging", + "health y", + "س ت", + "ROUT INE", + "B c", + "K u", + "P late", + "U y", + "W IP", + "Ġdis crete", + "Rem oval", + "Ġâ Ŀ", + "Ġsanit ize", + "*)( *", + "Ġmanip ulate", + "Ġresol ving", + "prett ier", + "Indenting NewLine", + "V ideos", + "] {\\", + "_ ()", + "at tempts", + "Ġv ill", + "ĠI gn", + "pr t", + "'] \").", + "test ed", + "ï¼ İ", + "ific ador", + "Ġob lig", + "Ġfloat s", + "sk etch", + "Ġfl avor", + "ĠFile Utils", + "Mem cpy", + "ол ж", + "Connect ivity", + "I rp", + "Q q", + "h os", + "è ¤", + "un load", + "mp ot", + "Ġex pt", + "fig ht", + "form a", + "class names", + "д ал", + "Ne o", + "FIL MA", + "ÑĪи б", + "Tran script", + "ĠFOL DEF", + "Gatt Characteristic", + "a eb", + "e W", + "h arga", + "mp y", + "Ġbe autiful", + "FF E", + "PR ON", + "ĠBe low", + "allow s", + "Scroll bar", + "ĠCall s", + "crypto compare", + "Ġbund les", + "Ġobvious ly", + "ĠIp sum", + "ĠAppCompat Activity", + "WID GET", + "ORITH M", + "Ġt ensors", + "ed ata", + "Ġ} \"", + "Ġ' =", + "Ġis Active", + "sum mer", + "Sub Element", + "msg str", + "MS K", + "bf b", + "SO LE", + "(\"# {", + "abil ir", + "multip lier", + "åģľ æŃ¢", + "N OP", + "m th", + "p data", + "x g", + "it k", + "get Param", + "ĠR abbit", + "âĢ Į", + "special chars", + "Popup Menu", + "ĠSur vey", + "Q n", + "re new", + "Ġs quares", + "Ġg g", + "ĠIn et", + "Ġk nex", + "çļĦ è¯Ŀ", + "Ġë ħ", + "Start s", + "entity Manager", + "Width s", + "ĠVersion s", + "ĠDA O", + "uck s", + "åħ¶ å®ŀ", + "ë§ ģ", + "\">[ );", + "access ing", + "ĠHel m", + "åĬł å¯Ĩ", + ">` ;", + ". ),", + "J ulia", + "m ensaje", + "Ò ĥ", + "Ġj our", + "ĠU K", + "String Var", + "Tr usted", + "pack aging", + "arn a", + "Ġmaint ainer", + "èª ¬", + "Ġë§ ¤", + "prem ium", + "ogene ous", + "B und", + "assert InstanceOf", + "Ġno referrer", + "Ġus uarios", + "ĠQ A", + "require js", + "EL L", + "STR IB", + "ict or", + "ðŁ ĺ", + "ĠChar Sequence", + "ç¼ĸ åı·", + "â n", + "æİ¨ èįIJ", + "ëIJĺ ëĬĶ", + "fusc ated", + "G b", + "M ip", + "v oxel", + "Ġ åΤæĸŃ", + "ar ial", + "Ġb attle", + "Ġ< --", + "() ]);", + "ĠF all", + "def ines", + "lock m", + "ĠDe velopers", + "Ġtrans lator", + "åħ ´", + "ĠUn defined", + "ı s", + "Assert Equal", + "Ġdeploy ing", + "Ġfour th", + "nim iq", + "æ¥ Ń", + "lez ion", + "> ({", + "D w", + "G CP", + "t ptest", + "get OwnProperty", + "str tolower", + "ĊĊ Ċĉĉ", + "ĠF AQ", + "ON D", + "io v", + "Key Press", + "Test Fixture", + "ÑĤ Ñĥ", + "Ġ[] ).", + "IB M", + "ĠTool bar", + "ìłģ ìĿ¸", + "ĠFR AME", + "EEEE FF", + "i ou", + "n aming", + "Ġc ác", + "(); //", + "Ġsub classes", + " []", + "A a", + "s ir", + "Ġn ella", + "ĠC ategories", + "ĠR ating", + "ĠV C", + "create Class", + "primary Key", + "Ġcor por", + "Ġvi olation", + "á»ĩ n", + "Ġlé tre", + "c lic", + "f ba", + "es sel", + "Ċĉ ĊĠĠĠ", + "ab f", + "Re ality", + "ĠP rl", + "Ġj unit", + "ĠY M", + "sl t", + "Process ors", + "dat atable", + "Show ing", + "г о", + "aman ho", + "zd GF", + "ĠHo pe", + "ĠImpro ve", + "Ġmü ssen", + ") '],", + "@ %", + "l ord", + "er l", + "Ġf ashion", + "un ref", + "un named", + "() ?>", + "Pro ceedings", + "çļĦ æĹ¶éĹ´", + "org ot", + "Ġad a", + "Ġhttp Response", + "admin istrator", + "Border Color", + "éĢŁ 度", + "Ġìŀħ ëł¥", + "D iffer", + "u ke", + "w itch", + "Ġf v", + "Ġin j", + "el in", + "us ually", + "tr aces", + "pt ic", + "__ ),", + "Ġlo b", + "ob served", + "Get Text", + "Field Error", + "trans ient", + "ĠSer if", + "Ġprob le", + "addr s", + "si ón", + "Ġacc umulator", + "Ġfore st", + "//---------------------------------------------------------------- ------------", + "ĠTool tip", + "ÑĨи Ñı", + "ì¤ Ģ", + "Ġeius mod", + ", __", + "G ive", + "l ka", + "ist ema", + "Value Changed", + "view Model", + "Trans lations", + "cell aneous", + "Ġdiv ider", + "termin ated", + "cons ensus", + "Ġsocket s", + "ï¼Ł ](", + "æ´ ¾", + "ĠSO URCE", + "SCHE ME", + "Grib Collection", + "A bove", + "I AB", + "R sp", + "Z V", + "c ie", + "Ġt weets", + "Ġm orph", + "th readed", + "um d", + "Ġen velope", + "ä¸į éľĢè¦ģ", + "ĠPost s", + "Ġappropriate ly", + "ĠSort ed", + "Culture Info", + "Ġcoin s", + "Mongo DB", + "ĠMart in", + "Ġwor st", + "lott ed", + "M ood", + "Ġ ---------", + "he ter", + "Ġin divid", + "Ġ$ ($", + "pr g", + "ARE NT", + "=\"/ \">", + "Ġtri angles", + "uf en", + "Ġfeed s", + "Ġë§ Ī", + "getDefault Instance", + "toMatch Snapshot", + "F WD", + "Q UEST", + "n vm", + "ct f", + "Ġse quential", + "Ġde lt", + "Re pair", + "Ġstr tolower", + "Ġ. $", + "([ {", + "л аÑģÑģ", + "ĠPl ane", + "Err no", + "Ġ\"+ \",", + "Ġм еÑĤ", + "Ġfew er", + "ĠLabel s", + "quad r", + "ĠReview able", + "oscal er", + "CLAS SES", + "D j", + "Ġt Button", + "Ġf ab", + "Ġa id", + "Ġd bo", + "ifi que", + "Client Rect", + "std call", + "Ġmodel ing", + "vo us", + "light box", + "VL D", + "âķ ij", + "Ġঠı", + "x w", + "ut ar", + "get Page", + "get Declared", + "ort ion", + "ĠC DN", + "od bc", + "ag ree", + "Ġbe haviors", + "out bound", + "). \"", + "Ġget Content", + "String Ptr", + "Ġun reachable", + "be hind", + "Comp arable", + "enu ation", + "ĠCh ina", + "čĊĠĠĠĠ č", + "Web App", + "Ġincl usion", + "SV C", + "ĉĉĉĉĉĉĉĉ ĉ", + "MAC RO", + "æķ´ æķ°", + "Am z", + "aaaaaaaa aaaaaaaa", + "Z i", + "d T", + "z uf", + "ass o", + "Ġstr pos", + "Ġget Random", + "Ch rom", + "Ġap art", + "Ġmap StateToProps", + "Ġformat o", + "P v", + "Ġse in", + "ĠF ork", + "Ġpro pagation", + "Text Appearance", + "Ġav ail", + "Ġest imation", + "('. ')", + "æĬ ½", + "Experiment Env", + "Experiment ResultSet", + "Callable Wrapper", + "ĠBinding Flags", + "a acute", + "m illis", + "Ġc offee", + "et Code", + "em acs", + "ver al", + "ag gle", + "ind ers", + "ve cs", + "With Default", + "Command Output", + "private Key", + "Api Operation", + "Web Driver", + "ĠPl ug", + "Ġautom odule", + "Ġinform azioni", + "Cast Exception", + "åij½ åIJį", + "æķ´ 个", + "Ġnick name", + "Z v", + "al ah", + "me g", + "ic orp", + "ind en", + "Ġk lient", + "cb f", + "mm c", + "Open CV", + "Custom izer", + "Ġcharacter istic", + "person a", + "ĠAng le", + "rend ers", + "Ġay ar", + "METR IC", + "w aves", + "z et", + "} \")]", + "le to", + "Ġp st", + "Ġre map", + "ort o", + "ĠD as", + "ast ian", + "Get Property", + "Un qualified", + "Ġп аÑĢамеÑĤ", + "Ġatt end", + "Gr anted", + "cid r", + "ãĥ¼ãĤ¸ ãĥ§ãĥ³", + "Ġperm ite", + "ighth ouse", + "H IB", + "L l", + "w char", + "Ġn op", + "un j", + "In sn", + "RE ASON", + "') ],", + "By Version", + "Server Name", + "NAME D", + "copy Of", + "icol on", + "V ent", + "h ay", + "al gebra", + "Ġa mazing", + "Ġr ain", + "Ġj Panel", + "add Index", + "ĠH aving", + "Ġsub type", + "æĹ ©", + "ãģĹãģ ª", + "serialize Op", + "ĠMo zilla", + "Termin ation", + "IRON MENT", + "+ \")", + "d ap", + "k B", + "q g", + "t iff", + "Ġm illi", + "Ġstr at", + "current Thread", + "enum eration", + "Fragment Manager", + "kernel s", + "Ġland scape", + "ĠPrep ared", + "ĠиÑģп олÑĮз", + "abup aten", + "A FT", + "d uplicates", + "f ingerprint", + "j umlah", + "st ro", + "de z", + "Ġs weep", + "az ine", + "Inter p", + "Ġdeploy ments", + "Ġë° ľ", + "æŁIJ 个", + "Ġvocab ulary", + "L ooper", + "S ter", + "ex haustive", + "ac ja", + "Un managed", + "Com CallableWrapper", + "Ġread ers", + "Table Model", + "CON TRACT", + "Imp ro", + "ym metric", + "column Name", + "Ġsym metric", + "è¨ ¼", + "Ã¥ r", + "..\\ ..\\", + ") =>", + "G FX", + "Ġ\" \"));", + "ig ar", + "ant ages", + "INT ERRUP", + "ĠFile OutputStream", + "å¹ ķ", + "Direction s", + "Ġlock ing", + "cons istency", + "Ġdesc ending", + "ĠIter ate", + "Ġ[\\ #", + "F y", + "` \"}],", + "b fd", + "c fa", + "p md", + "â Ł", + "if fs", + "De letes", + "Sh uffle", + "open apiv", + "left Join", + "VE LO", + "Ġgr av", + "ĠBase Class", + "ĠOrder ing", + "Pol ynomial", + "Ġquest o", + "j el", + "r á", + "ĠT Y", + "em an", + "ĠL abor", + "out going", + "sc enes", + "RE DIS", + "State Manager", + "CH UNK", + "EX PI", + "bottom navigation", + "ĠScript s", + "Ġnear ly", + "Ġìĺ ģ", + "éĵ¾ 表", + "Ġelastic search", + "Ġsan ity", + "g log", + "ĠS leep", + "get Window", + "ref man", + "rit t", + "ĠSt udy", + "gen esis", + "ãĥ¼ ãĥ³", + "Bar code", + "see also", + "ili h", + "hap us", + "ļł ï¸ı", + "J H", + "X p", + "Ġ åĪĿå§ĭåĮĸ", + "Ġm ê", + "ĠH A", + "ID L", + "Search Results", + "Ġcor r", + "Ġnast ÄĻ", + "' \">", + "Z K", + "_ ))", + "Ġd angerous", + "ĠP ause", + "span s", + "čĊĉ čĊĉ", + "Invalid Argument", + "æĸ¹ åIJij", + "aff old", + "DIS PATCH", + "éĺ »", + "Every thing", + "H WND", + "` /", + "s urname", + "ĊĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ", + "Ġd il", + "Ġd word", + "tr ac", + "Ġy ük", + "De b", + "emp l", + "ĠX Path", + "DB M", + "Any thing", + "TA IN", + "................................ ................................", + "CAM ERA", + "ĠSubst itute", + "$ ',", + "E b", + "S IS", + "h ender", + "ic ago", + "ĠF REE", + "ĠJ NI", + "Un iversity", + "DD D", + "DC MAKE", + "Hand shake", + "forum s", + "kar ma", + "Care t", + "å¸Į æľĽ", + "_ (\"", + "t olerance", + "} */", + "ë Ĥ", + "Ġ ãģ¨", + "Ġs api", + "ĠT A", + "Tr ay", + "Ġcl in", + "tri als", + "Ġtri ple", + "ĠBuild s", + "ming w", + "pict ures", + "night ly", + "çŁ ³", + "Ġserv icio", + "/ ');", + "V Y", + "b sp", + "Ġc q", + "com mission", + "Ġ\\ {", + "loc s", + "over all", + "ĠRun ner", + "Ġsup orte", + "jet o", + "lst listing", + "Margin s", + "ãĤ½ ãĥ¼ãĤ¹", + "ĠLN ControlPoint", + "ĠITE M", + "f cd", + "Ġh align", + "Ġcon ference", + "Ġg pg", + "ĠB roadcast", + "Ġel m", + "ib ilities", + "Ġresult Set", + "и е", + "\"] `", + "module Name", + "Sub Type", + "Http Get", + "Ġboard s", + "ç¡® 认", + "corpor a", + "Ġkube let", + "* \",", + "+ \".", + "` /`", + "an al", + "ĠT akes", + "Ġis Open", + "ĠP AS", + "ir able", + "admin istration", + "MM MM", + "ĠForm Control", + "ãģ¾ ãģĹãģŁ", + "HEAD ERS", + "Ġconsult a", + "éļı æľº", + "ĠCSR F", + "O dbc", + "R n", + "c ake", + "l amb", + "ĠA CC", + "Ġe lection", + "ĠG overnment", + "çļĦ æĸ¹å¼ı", + "Man ufacturer", + "Ġì Ī", + "round s", + "Ġ(( __", + "TI MI", + "VER Y", + "ĠPl ain", + "Ġconnect s", + "poly fill", + "Ġtranslate Y", + "Ġbes ch", + "owa Äĩ", + "a iflow", + "ê ´Ģ", + "or c", + "Ġt errain", + "is False", + "Ġ( _.", + "Ġs keleton", + "qu arter", + "Ġor ange", + "ĠH I", + "(( [", + "Ġsub tree", + "For um", + "reg a", + "Ġо Ñģ", + "è° ¢", + "æĻ º", + "fact s", + "ĠOrient ation", + ") -(", + "C AS", + "W z", + "X H", + "æ ª", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "te c", + "Ġnew est", + "): ${", + "AT ING", + "LE ADING", + "ob i", + "Ġnode js", + "Filter ing", + "If Exists", + "ä¸į åΰ", + "internal s", + "Mark s", + "è¶ħ è¿ĩ", + "Ġпол ÑĥÑĩ", + "ĠíĬ ¹", + "W hether", + "r uctor", + "Ġf uel", + "is in", + "ĠS ed", + "ĠS vg", + "ĠW iki", + "ore o", + "yst ate", + "Ġchar Array", + "group Name", + "([ -", + "buffer ed", + "Ġgr avity", + "Ġâ Ł", + "ĠKey Event", + "lower case", + "éģ ĩ", + "Ġ'\" '", + "Ġsur f", + "缮 çļĦ", + "ĠEditor GUILayout", + "increment al", + "ATTRIBUT ES", + "Ġtempor arily", + "åľº æĻ¯", + "oooo oooo", + "li quid", + "In Seconds", + "ĠT oo", + "Ġh ier", + "set default", + "ĠD IR", + "ĠM es", + "http d", + "Set Up", + "User Details", + "IS I", + "ĠPro tected", + "Version Number", + "ĠTest Bed", + "Proto Lens", + "lat able", + "ev in", + "æłĩ è®°", + "ĠÑĦ Ñĥнк", + "Ġclause s", + "Ġgest ure", + "= ('", + "N Q", + "t led", + "es caped", + "Ġin vent", + "lic ken", + "Ġh od", + "ĠN X", + "CR M", + "Ġim agen", + "Ġrot ated", + "tot ypes", + "ĠLayout Inflater", + "Nom inal", + "nost i", + "è¯Ħ 论", + "%;\" \">", + "R CC", + "V PC", + "d in", + "d de", + "or able", + "al most", + "\", \"\"", + "av x", + "ĠH IGH", + "cur so", + "CL ICK", + "NS Array", + "Ar ithmetic", + "Ar duino", + "Ġ---------------------------------------------------------------- ---------", + "rank ing", + "Ġм Ñĭ", + "Commit s", + "AUTH OR", + "Ġyy pt", + "Ġinvol ves", + "explo de", + "Ġreplic as", + "ĠDIAL OG", + "P WR", + "m angled", + "o cean", + "s ad", + "č ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "if a", + "ĠA ud", + "Ex plain", + "Ġi h", + "br ass", + "ES C", + "FI RE", + "US R", + "vm x", + "ĠOb server", + "åĬ¨ çĶ»", + "Ġfig size", + "æĹ¥ æľ¬", + "ĠJul ia", + "nex us", + "r spec", + "s uit", + "AT I", + "Ġstring ify", + "Test Util", + "mon ster", + "Ġdist rict", + "Page Token", + "lab eled", + "Ġdraw able", + "Ġpract ical", + "ĠAtt ack", + "çı Ń", + "REGISTR Y", + "J Y", + "X I", + "d cl", + "l ain", + "Ġ( ?", + "Ġw sz", + "Ġm ilestone", + "In ser", + "ĠT a", + "data GridView", + "ill um", + "Data store", + "En tr", + "Ġpl aintext", + "FO S", + "(& :", + "gl u", + "ĠCh oice", + "stat istic", + "ठ¤", + "Ġfe els", + "ĠAcc ording", + "Shop ping", + "ĠMA KE", + "FRAME BUFFER", + "rott ling", + "% \"),", + "g ency", + "Ġ ust", + "Į ìĿ´", + "re minder", + "is Defined", + "Ġs che", + "ame t", + "Re stricted", + "Ġis olate", + ")) (", + "ly b", + "for all", + "]. (", + "Method Type", + "US N", + "sa as", + "Ġcalcul ator", + "Ġbook mark", + "Cons ider", + "ìķ ½", + "sound s", + "Ġrecur so", + "ĠDer ived", + "èIJ ¥", + "f ung", + "i ene", + "Ġv ÃŃ", + "Ġsuper class", + "Ġour selves", + "Ġequal To", + "ĠOPTION S", + "*)(* @\\", + "G w", + "p ap", + "ke ley", + "Ġpath Params", + "For Testing", + "Update Time", + "Ġquery Params", + "ho lo", + "mac os", + "Ġëĭ¤ 른", + "Employ ees", + "estim ators", + "galax y", + "at x", + "it et", + "get Min", + "Name Hash", + "for got", + "Ġí ĸ", + "Ġreview ers", + "ĠGlobal Namespace", + "ë¦ ½", + "integr ations", + "period ic", + "kn ife", + "ÐŁ ÑĢ", + "ĠAlert Dialog", + "Ġ모 ëĵł", + "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", + "c ant", + "è ĵ", + "Ġp ictures", + "Ġs unt", + "Ġin format", + "ri ers", + "ĠR aspberry", + "Ġstr error", + "br k", + "App Name", + "Not In", + "Ġtarget ed", + "Cl r", + "Empty String", + "ĠTime line", + "BE FORE", + "åIJİ åı°", + "Ġfig ures", + "ĠWr ong", + "memp roto", + "memd oc", + "S olve", + "th unk", + "ĠS impl", + "ĠS TOP", + "test ation", + "Time Series", + "IC lus", + "Ġimport ance", + "Ġnum er", + "fast q", + "ç͍æĪ· åIJį", + "ä¿Ŀ è¯ģ", + "Ġdecimal s", + "FOUND ATION", + "ĠNov ember", + "IClus Cfg", + ". );", + "g cm", + "Ġ= $", + "), \"", + "index ing", + "char m", + "task Id", + "END ER", + "Ġfr Ã¥n", + "Day OfWeek", + "Pref ab", + "ytvo ÅĻ", + "N n", + "m ens", + "p dev", + "u F", + "to ÅĽÄĩ", + "è¡Į 为", + "NOT ES", + "ĠRed uce", + "IV ED", + "åīį 端", + "éĺ µ", + "ulo s", + "ĠPHP Unit", + "Qt Gui", + "åĸ ľ", + ". ${", + "d store", + "get ID", + "op aque", + "be acon", + "Be zier", + "sing ular", + "Http s", + "åľ ĭ", + "git ignore", + "car rier", + "Del aborator", + "ĠQu antity", + "ADO OP", + "Ġ\"] \"}],", + ") ';", + "D ice", + "V INT", + "å ³", + "Ġin verted", + "Ġm ud", + "ĠP eter", + ")) ',", + "be zier", + "... ]", + "TO MCAT", + "Ġover riding", + "inst ell", + "cr s", + "WORD S", + "ĠUN IX", + "ĠMain Activity", + "ĠìĹ IJ", + "CLO SED", + "DEC IMAL", + "ATTACH MENT", + "B iz", + "m mb", + "u um", + "u able", + "} ?", + "ĠT cp", + "Ġg ues", + "\"\" \",", + "=' ../", + "ĠInter preter", + "ativ os", + "ĠæĽ´ æĸ°", + "b tree", + "k ers", + "r db", + "Ġc ubic", + "Ġs ongs", + "Ġ} `", + "Ċĉ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠU IT", + "cont oso", + "pr s", + "Ġuse Styles", + "AN SI", + "red o", + "ĠEx act", + "web sites", + "Ġgraph ic", + "Ġdie sem", + "Ġ\"' \"", + "Ġinc id", + "Ġblue tooth", + "Ġcho osing", + "ãģ¦ãģĦ ãģ¾ãģĻ", + "Ġ[& ](", + "b ie", + "v cs", + "ĠI Command", + "fl uttify", + "ĠPro c", + "For ge", + "Function Name", + "Ġfull name", + "Ġwatch ing", + "ĠChannel s", + "interpol ation", + "createText Node", + "P our", + "_ =", + "w nd", + "as ion", + "Ġb ij", + "Ġl f", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Or ange", + "éĢ ı", + "Application Exception", + "Ġsk ew", + "Db Type", + "Move Next", + "ÑĢаР¶", + "Ġlin ha", + "ál is", + "Optim ization", + "Ġbench marks", + "á»Ļ t", + "詳 ç´°", + "L obby", + "f one", + "p V", + "ac rit", + "Ġan tes", + "AD AP", + "äº Ī", + "?? ?", + "ĠSPE C", + "sis wa", + "setWindow Position", + "åİĨ åı²", + "M VC", + "e ux", + "om id", + "ĠE p", + "ĠU V", + "CH AT", + "åĪ ļ", + "uit on", + "<' _", + "abstract method", + "íķ´ ìķ¼", + "ĠÑį леменÑĤ", + "influx db", + "F TP", + "s ut", + "ĊĠĠĠĠ ĉĉĉ", + "is Object", + "Ġn ix", + "Ġto ward", + "iz met", + "ĠJ ames", + "ĠK ont", + "и Ñħ", + "the se", + "std c", + "Cl ub", + "non null", + "ĠNS Array", + "Ġcar bon", + "ĠIndex ed", + "Ġö zel", + "J IT", + "n atur", + "Ġ ãģĮ", + "ut ch", + "str and", + "Th ings", + "Event Queue", + "Ġso us", + "ÑģÑĤ ÑĮ", + "SM TP", + "ãĤĮ ãĤĭ", + "munic ator", + "Fac ility", + "sym metric", + "é» Ħ", + "contr ast", + "tenant Id", + "- )", + "s ensors", + "Ġde ser", + "ĠP urchase", + "ĠE ste", + "query set", + "Ġ/> \\", + "Ġfix tures", + "Exp ire", + "LS B", + "Ġscre ens", + "> :", + "PO CH", + "parent Element", + "Ġmut ate", + "ĠMet eor", + "ëıĦ ë¡Ŀ", + "Ġе Ñģли", + "ATOM IC", + "ĠNavig ate", + "\" ?", + "P wd", + "t encent", + "in icio", + "at ra", + "Ġf og", + "ed c", + "ss d", + "pro fil", + "Ġcom fort", + "AR S", + "own ership", + "ĠTh ings", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ñģ л", + "Ġê ¸", + "]] ]", + "inf ty", + "sf Event", + "Ġwire less", + "Await er", + "OPS IS", + "* '", + "D ialect", + "le ak", + "un ning", + "am al", + "to ut", + "import ed", + "ĠL S", + "ĠTh ose", + "Ġall Classes", + "Ġpre served", + "Ġhelp ing", + "ını z", + "Ġcomput ers", + "ĠAssoci ation", + "âĢķ âĢķ", + "A void", + "C esium", + "T ICK", + "le ÅŁtir", + "it ing", + "Ġ` ;", + "Ġlo kal", + "'] /", + "ren te", + "SP R", + "Ġsm tp", + "Edit ar", + "ĠJson Response", + "isto grams", + "ĠINTER NAL", + "Contribut or", + "n ique", + "get Option", + "ĠF amily", + "ĠH EL", + "ĠIn crease", + "'] ):", + "Tr ading", + "User Role", + "Ġimp er", + "Ġinstall s", + "æī «", + "diff iculty", + "ÙĪ Ø¯", + "Ġsubst itute", + "è¿ĺ æľī", + "Ġö n", + "Ġprimar ily", + "L ST", + "W EST", + "b fa", + "Ġf st", + "Ġ' //", + "get Number", + "out dir", + "ĠB as", + "ĠG EN", + "åı¯ ç͍", + "é¡ ŀ", + "Raw Data", + "ĠToken Type", + "ĠCor p", + "Ġabort ed", + "street map", + "Ġpostgres ql", + "QUOT E", + "J W", + "c ia", + "x code", + "Ġ= )", + "Ġs outh", + "Ġw orse", + "Re venue", + "Ġdis posing", + "icon st", + "Ġstruct s", + "ÃŃ f", + "Ġbo y", + "uby te", + "hy brid", + "Ãł i", + "çī¹ å¾ģ", + "çµ Ĥ", + "a G", + "d ct", + "n ab", + "s le", + "ing o", + "() \\", + "tr x", + "tr uiton", + "Ġis Set", + "Ġch alk", + "ÃŃ ch", + "å®ļ 義", + "Ġreal ize", + "ì§ ij", + "Ġscan f", + "Appro x", + "Tw ig", + "å¿« éĢŁ", + "Interpol ator", + "BROW SER", + "C UBE", + "T OR", + "i oc", + "í ļĮ", + "Ġf ir", + "Ġo wl", + "ĠD AY", + "ĠF ilename", + "ĠG E", + "List By", + "birth day", + "ĠFunciones Swing", + "P addle", + "p aging", + "=\" \\", + "Ġsim ulated", + "pull s", + "ĠNS URL", + "Ġlayout s", + "ĠUN KNOWN", + "ĠNe o", + "multip lied", + "Flat ten", + "Ġê°Ļ ìĿĢ", + "ĠNAV BAR", + "hender it", + "; \";", + "] (\"", + "p cre", + "om g", + "im ic", + "(' +", + "ime ter", + "que en", + "ãģ Ķ", + "amp ening", + "RO ME", + "ĠX Element", + "fr act", + "ĠRE PLACE", + "Ġest imator", + "acion al", + "dia lect", + "Ġhighlight ing", + "Already Exists", + "COLL ATION", + "Ġmarshall er", + "= \\'", + "a Class", + "er vice", + "is instance", + "un de", + "ĠC a", + "Ġh u", + "name spaced", + "ĠD ET", + "Ġch aining", + "To Object", + "Ġpar â", + "ĠJ DBC", + "GL SL", + "Ġref und", + "Gu ess", + "éĢļ ä¿¡", + "Lat in", + "EFF ECT", + ": \";", + "E w", + "Z z", + "s entry", + "th rottle", + "am at", + "to Object", + "Ġe bp", + "Ġj class", + "aw ns", + "Ġpl anned", + "Ġë ¹", + "ĠError Code", + "REF RESH", + "Ġн ов", + "scroll To", + "ĠAv atar", + "×ķ× ª", + "FOL LOW", + "ÅŁaģı daki", + "F PL", + "O Y", + "Y ELLOW", + "ĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "Ġd ialect", + "get Application", + "Ġh v", + "ĠP retty", + "to Contain", + "set WindowListener", + "sh ade", + "Data Annotations", + "po le", + "Tr ail", + "ME AS", + "play ground", + "Ġfl uent", + "ĠOr ders", + "Ġcalcul ates", + "ê m", + "ìĭ ¬", + "Ġpol ar", + "Ġmen us", + "Gl ut", + "buy er", + "LIK ELY", + "' !", + ") }}\"", + "V x", + "x en", + "y el", + "Ġre in", + "ig ation", + "Ġl an", + "ĠL aw", + "ĠRe start", + "SI F", + "Ġoff setof", + "Ġhelp ed", + "Ġpy torch", + "ãģ« éĸ¢", + "Fix tures", + "次 æķ°", + "overn ance", + "Acceleration Structure", + "creative commons", + "ĠEduc ation", + "N ational", + "W ake", + "w it", + "Ġc ds", + "Ġs amp", + "Ġg f", + "ĠG tk", + "Ġ() {", + "non zero", + "ĠTemp orary", + "JsonProperty Name", + "g il", + "he me", + "ĠB SP", + "ĠR ol", + "man ip", + "equal To", + "kw ds", + "Ġclear Timeout", + "selected Index", + "Parse Error", + "Ġeas iest", + "å°± ä¼ļ", + "ĠBack bone", + "beam Y", + "Ġamp litude", + "è´¦ åı·", + "STE MS", + "r av", + "ĠI IS", + "ĠR W", + "çļĦ ä¸Ģ", + "App State", + "Of Day", + "CON J", + "ĠValue Type", + "ony ms", + "Pe ptide", + "sock s", + "ein sum", + "Interpol ation", + "Ġven iam", + "éĿĻ æĢģ", + "F PS", + "G LES", + "] *)", + "b om", + "ĠI Disposable", + "str mojo", + "te a", + "op x", + "Add Field", + "ĠEx clude", + "PH X", + "Pop over", + "itel isted", + "Ġstri pe", + "/ ](", + "V n", + "i ac", + "Ġ ãĢĤ", + "ed EventArgs", + "Ġw omen", + "ĠM utation", + "load ers", + "Ġper mutation", + "the w", + "ĠAdd r", + "pack s", + "Ġsk u", + "äºĨ è§£", + "Active Record", + "tw img", + "Track ed", + "çľ ¼", + "åħ³ èģĶ", + "POINT S", + "Ġrecommend ation", + "s co", + "Ġt pl", + "Ġs uff", + "Ġn aj", + "Ġv oxel", + "am m", + "ver ifier", + "Ġend highlight", + "ĠTh ird", + "ĠJ IT", + "Form Group", + "ld a", + "Response Type", + "}} );", + "Ġ[] ),", + "Inter mediate", + "call ing", + "ĠпÑĢ Ð¸Ð»Ð¾Ð¶", + "Fire fox", + "Ġpin ned", + "èģĶ ç³»", + "Ġbund led", + "e lection", + "x in", + "é ¼", + "ad der", + "to upper", + "http Request", + "Ġpro du", + "Ġdef p", + "ĠRe cognition", + "IS P", + "reg type", + "serv o", + "resource manager", + "SELECT ED", + "orn ado", + "photo Url", + "ĠSO CK", + "ĠTIME STAMP", + "pho enix", + "Ġprost ÅĻed", + "F all", + "J pa", + "r anks", + "} ->{", + "ĠS ociety", + "get Log", + "Ġto wn", + "Ġe cc", + "IN ATION", + "ial i", + "ĠG H", + "pr une", + "ĠSt rict", + "Is Im", + "ĠAn chor", + "side s", + "Ġprogram a", + "ĠPr erequisites", + "Art work", + "CRIP T", + "F H", + "L ift", + "Ġt á", + "Ġ( --", + "Ġs olicit", + "Ġb right", + "em ark", + "Ġg ir", + "Ġg alaxies", + "Ġ# %", + "Sh ares", + "ĠEx isting", + "any a", + "Var iation", + "ç» ĩ", + "Ġreg s", + "":1101,"IC":1102,"Add":1103,"Request":1104,"Ġser":1105,"--------------------------------":1106,"ocument":1107,"ector":1108,"/*":1109,"map":1110,"lete":1111,"word":1112,"sub":1113,"._":1114,"Ġ**":1115,"irst":1116,"void":1117,"Ġro":1118,"ync":1119,"Info":1120,"ï¼Į":1121,"Ġ});":1122,"Ġapp":1123,"ffer":1124,"ise":1125,"function":1126,"pen":1127,"а":1128,"umn":1129,"])":1130,"input":1131,"args":1132,"Ġtime":1133,"ait":1134,"Ġcase":1135,"tribut":1136,"Ġerr":1137,"irect":1138,"FF":1139,"ng":1140,"action":1141,"ute":1142,"lection":1143,"////////":1144,"lob":1145,"inter":1146,"ify":1147,"Ġpr":1148,"Ġlist":1149,"oint":1150,"Event":1151,"cc":1152,"gist":1153,"ook":1154,"son":1155,"Ġ__":1156,"())":1157,"Ġfinal":1158,"Ġhave":1159,"model":1160,"face":1161,"((":1162,"config":1163,"PI":1164,"ature":1165,"space":1166,"struct":1167,"Ġne":1168,"Ġall":1169,"by":1170,"ĠSystem":1171,"label":1172,"ca":1173,"order":1174,"Message":1175,"Field":1176,"ĠLicense":1177,"[]":1178,"...":1179,"ler":1180,"ĠNULL":1181,"'s":1182,"Service":1183,"rit":1184,"ride":1185,"AC":1186,"uble":1187,"Ġimport":1188,"Sh":1189,"ich":1190,"ized":1191,"AD":1192,"opy":1193,"OT":1194,"','":1195,"ates":1196,"CO":1197,"rol":1198,"db":1199,"sponse":1200,"Ġassert":1201,"Ġkey":1202,"vel":1203,"link":1204,"Ġrequire":1205,"not":1206,"Ġlet":1207,"Map":1208,"ager":1209,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":1210,"mon":1211,"Node":1212,"uration":1213,"Ġdis":1214,"Path":1215,"print":1216,"query":1217,"ET":1218,"gle":1219,"cre":1220,"pes":1221,"Context":1222,"ning":1223,"ĠK":1224,"fe":1225,"ick":1226,"Code":1227,"\"><":1342,"ices":1343,"Ġtext":1344,"ED":1345,"Ġany":1346,"no":1347,"ĠThis":1348,"ta":1349,"Def":1350,"Ġchar":1351,"ainer":1352,"ative":1353,"wh":1354,"upport":1355,"lib":1356,"request":1357,"export":1358,"Ġconfig":1359,"Ġimp":1360,"Ġsub":1361,"FO":1362,"group":1363,"ql":1364,"[\"":1365,"start":1366,"summary":1367,"andle":1368,"ank":1369,"Ġyour":1370,"({":1371,"ush":1372,"az":1373,"Ġspec":1374,"arent":1375,"we":1376,"uthor":1377,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":1378,"Ċĉĉĉĉĉ":1379,"press":1380,"ld":1381,"the":1382,"Ġjava":1383,"ner":1384,"ustom":1385,"Up":1386,"roller":1387,"duct":1388,"Ġwork":1389,"ĠGet":1390,"ider":1391,"ING":1392,"top":1393,"Result":1394,"Ġshould":1395,"ware":1396,"Response":1397,"cept":1398,"Ġab":1399,"MA":1400,"Ġhas":1401,"Val":1402,"enter":1403,"Ġ()":1404,"CH":1405,"Ġpre":1406,"TO":1407,"SER":1408,"do":1409,"ĠY":1410,"Ġmethod":1411,"Ġwhen":1412,"UN":1413,"ags":1414,"н":1415,"scription":1416,"Ġarray":1417,"Ġstyle":1418,"Of":1419,"Ġrun":1420,"ts":1421,"Ġthrow":1422,"script":1423,"Ġexpect":1424,"'),":1425,"Ġinter":1426,"doc":1427,"Int":1428,"Ġ(!":1429,"Ġac":1430,"mis":1431,"Me":1432,"temp":1433,"IG":1434,"mage":1435,"message":1436,"andler":1437,"ENT":1438,"base":1439,"Ġinst":1440,"ined":1441,"nd":1442,"lick":1443,"fore":1444,"åĪ":1445,"\"]":1446,"Ġext":1447,"ãĢĤ":1448,"max":1449,"Des":1450,"Ġnumber":1451,"bug":1452,"ension":1453,"Ġ+=":1454,"old":1455,"MP":1456,"tribute":1457,"../../":1458,"Ġprint":1459,"EX":1460,"\",\"":1461,"ams":1462,"æľ":1463,"ses":1464,"As":1465,"IL":1466,"Be":1467,"ĠĠĠĠĠĠĠĠĠĠĠ":1468,"enu":1469,"cord":1470,"Ġusing":1471,"Ġ};":1472,"object":1473,"Ġmessage":1474,"Le":1475,"Ġcall":1476,"Ġstart":1477,"ible":1478,"df":1479,"nection":1480,"Ġ]":1481,"###":1482,"tx":1483,"On":1484,"ÑĢ":1485,"Client":1486,"Ġcreate":1487,"Ċĉĉĉĉĉĉ":1488,"color":1489,"nb":1490,"Ġread":1491,"\\\"":1492,"point":1493,"ends":1494,"field":1495,"оÐ":1496,"round":1497,"over":1498,"www":1499,"move":1500,"box":1501,"äº":1502,"Ġversion":1503,"Al":1504,"Ġcheck":1505,"cho":1506,"its":1507,"true":1508,"Ġinput":1509,"Ġwhich":1510,"){":1511,"Out":1512,"ĠDe":1513,"Color":1514,"dir":1515,"num":1516,"status":1517,"itor":1518,"Ġpath":1519,"Ñģ":1520,"block":1521,"Ġob":1522,"gin":1523,"Ġ\"\"\"":1524,"ade":1525,"post":1526,"Or":1527,"tn":1528,"iable":1529,"std":1530,"Ġunder":1531,"Ġcl":1532,"Status":1533,"Count":1534,"ails":1535,"default":1536,"cur":1537,"ov":1538,"Ġchange":1539,"}}":1540,"Ġnode":1541,"Ġmodel":1542,"tings":1543,"Ġad":1544,"trans":1545,"ik":1546,"Date":1547,"body":1548,"af":1549,"Ġcurrent":1550,"bl":1551,"ale":1552,"check":1553,"With":1554,"til":1555,"uccess":1556,"otal":1557,"ected":1558,"---":1559,"Ġbool":1560,"Ġsrc":1561,"For":1562,">(":1563,"Group":1564,"ĠTr":1565,"icon":1566,"event":1567,"ĊĠĠĠĠĠĠ":1568,"./":1569,"ugin":1570,"osition":1571,"Manager":1572,"lose":1573,"static":1574,"ren":1575,"á":1576,"annel":1577,"ical":1578,"utton":1579,"client":1580,"lang":1581,"reg":1582,"CL":1583,"icro":1584,"assword":1585,"sw":1586,"lobal":1587,"man":1588,"INFO":1589,"Ac":1590,"Ġone":1591,"tes":1592,"ĠX":1593,"char":1594,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":1595,"Ġtry":1596,"Ġwas":1597,"System":1598,"Table":1599,"Ġfield":1600,"mt":1601,"ution":1602,"Ġstate":1603,"Ġother":1604,"Ġ[]":1605,"ient":1606,"Loc":1607,"atab":1608,"!--":1609,"ender":1610,"gister":1611,"Input":1612,"select":1613,"AG":1614,"Ġthen":1615,"åIJ":1616,"src":1617,"older":1618,"Ġcontext":1619,"thon":1620,"style":1621,"Is":1622,"Ġitem":1623,"çĶ":1624,"Query":1625,"Ġbreak":1626,"vert":1627,"Ġline":1628,"Ġsome":1629,"Ġtrans":1630,"Ġmay":1631,"bar":1632,"roid":1633,"sole":1634,"å®":1635,"čĊĉĉ":1636,"page":1637,"Ġarg":1638,"ified":1639,"button":1640,"mpty":1641,"à¸":1642,"format":1643,"width":1644,"png":1645,"Inter":1646,"module":1647,"version":1648,"ization":1649,"Ġindex":1650,"ater":1651,"(&":1652,"Property":1653,"Ġused":1654,"nbsp":1655,"{{":1656,"len":1657,"Image":1658,"ĠĊ":1659,"uage":1660,"åħ":1661,"ux":1662,"Ġent":1663,"init":1664,"ĠNone":1665,"serv":1666,"${":1667,"pert":1668,"Window":1669,"ĠIf":1670,"Ġstruct":1671,"Ġmy":1672,"Ġdist":1673,"][":1674,"HE":1675,"open":1676,"oogle":1677,"Ġhttps":1678,"ML":1679,"DO":1680,"Ġ/>":1681,"ĠList":1682,"ĠUn":1683,"wait":1684,"soft":1685,"atabase":1686,"ĊĊĠĠĠĠĠ":1687,"Ġoutput":1688,"append":1689,"ypes":1690,"ra":1691,"Ġevent":1692,"null":1693,"aster":1694,"Ġbase":1695,"local":1696,"ä½":1697,"vide":1698,"è¿":1699,"current":1700,"ote":1701,"actory":1702,"mission":1703,"go":1704,"Box":1705,"SS":1706,"ui":1707,"ish":1708,"ĠClass":1709,"TY":1710,"Action":1711,"Ġact":1712,"TE":1713,"Button":1714,"ameters":1715,"plo":1716,"Ġ,":1717,"ape":1718,"off":1719,"Ġ===":1720,"Sub":1721,"Component":1722,"ply":1723,"DI":1724,"CON":1725,"Dis":1726,"Ġuint":1727,"ments":1728,"cs":1729,".>":2005,"ü":2006,"Str":2007,"strong":2008,"([":2009,"sert":2010,"namespace":2011,"uch":2012,"Buffer":2013,"Ġawait":2014,"pository":2015,"Ġcommand":2016,"Ġthere":2017,"push":2018,"Command":2019,"Ġcre":2020,"sets":2021,"Ġfl":2022,"No":2023,"output":2024,"aint":2025,"Ġextends":2026,"IP":2027,"Source":2028,"filter":2029,"ĠIt":2030,"Options":2031,"ĠFile":2032,"ĠĠĠĠĠĠĠĠĠ":2033,"hed":2034,"host":2035,"riter":2036,"Ġ::":2037,"Ġ}}":2038,"/>":2039,"has":2040,"anguage":2041,"peration":2042,"Ġclient":2043,"Default":2044,"US":2045,"ift":2046,"Ġmod":2047,"pri":2048,"~~":2049,"part":2050,"rt":2051,"ings":2052,"л":2053,"Ġimplement":2054,"private":2055,"lem":2056,"ĠSer":2057,"signed":2058,"Server":2059,"GL":2060,"tom":2061,"Version":2062,"Ġqu":2063,"Ġdouble":2064,"Ġnp":2065,"nect":2066,"obj":2067,"Ġdi":2068,"Ġlen":2069,"endif":2070,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":2071,"xf":2072,"olic":2073,"Ġproject":2074,"Ġoptions":2075,"msg":2076,"license":2077,"Ġvalues":2078,"css":2079,"Ġvalid":2080,"ume":2081,"Ġ;":2082,"tual":2083,"Ref":2084,"Ġpo":2085,"vo":2086,"cd":2087,"ormal":2088,"åĬ":2089,"uster":2090,"Ġright":2091,"čĊĠĠĠĠĠ":2092,"Ġfa":2093,"ret":2094,"ctx":2095,"ó":2096,"ç͍":2097,"Ġco":2098,"Ġar":2099,"imple":2100,"Mode":2101,"End":2102,"wo":2103,"apache":2104,"ities":2105,"ene":2106,"Ġ['":2107,"ĠTest":2108,"OF":2109,"ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":2110,"header":2111,"ı":2112,"\"),":2113,"ources":2114,"Ġed":2115,"author":2116,"SC":2117,"ower":2118,"Hel":2119,"untime":2120,"env":2121,"service":2122,"SI":2123,"Ġlike":2124,"Ġaction":2125,"Ġoff":2126,"det":2127,"apt":2128,"Ġrequired":2129,"Start":2130,"\"))":2131,"params":2132,"Det":2133,"Fl":2134,"last":2135,"Frame":2136,"Column":2137,"rows":2138,"unk":2139,"Check":2140,"AA":2141,"tag":2142,"Pr":2143,"ero":2144,"Ġserver":2145,"EL":2146,"ABLE":2147,"ĠSe":2148,"Ġ{}":2149,"QL":2150,"argin":2151,"Ġret":2152,"anel":2153,"Ġwhere":2154,"Ġrange":2155,"Ġopen":2156,"store":2157,"aph":2158,"lt":2159,"pression":2160,"cf":2161,"inition":2162,"Ġblock":2163,"Ġprocess":2164,"Cl":2165,"Sp":2166,"omain":2167,"Label":2168,"Ġdistribut":2169,"ĊĠĠĠĠĊĠĠĠ":2170,"number":2171,"nav":2172,"fr":2173,"now":2174,"google":2175,"(_":2176,")]":2177,"gener":2178,"Ġformat":2179,"docs":2180,"Ġargs":2181,"Ġcal":2182,"CK":2183,"options":2184,"And":2185,"font":2186,"defined":2187,"'],":2188,"íķ":2189,"board":2190,"ĠInitialized":2191,"Ġselect":2192,"Ġsupport":2193,"ĠObject":2194,"bot":2195,"Ġlocal":2196,"Ġsc":2197,"ĠCON":2198,"ivity":2199,"mail":2200,"CC":2201,"Ġview":2202,"ERR":2203,"xy":2204,"Url":2205,"################":2206,"Format":2207,"parse":2208,"ym":2209,"AM":2210,"čĊĠĠĠĠ":2211,"Attribute":2212,"ç»":2213,"Factory":2214,"opt":2215,"Entity":2216,"Http":2217,"Ġwhile":2218,"cp":2219,"brary":2220,"Listener":2221,"ĠAdd":2222,"KE":2223,"Ġass":2224,"entity":2225,"čĊčĊĠĠĠ":2226,"Block":2227,"equal":2228,"Ġdif":2229,"Read":2230,"SP":2231,"first":2232,"refer":2233,"Ġform":2234,"Co":2235,"ved":2236,"ULT":2237,"stream":2238,"refix":2239,"velo":2240,"ĠOF":2241,"images":2242,"unit":2243,"ĠAn":2244,"show":2245,"Ob":2246,"Task":2247,"Ġecho":2248,"åľ":2249,"project":2250,"tt":2251,"ĠComp":2252,"HO":2253,"very":2254,"graph":2255,"Collection":2256,"gress":2257,"Ġjust":2258,"Equals":2259,"Ġpoint":2260,"....":2261,"():":2262,"byte":2263,"ĠĠĠĠĠĠĠĠĠĠ":2264,"izer":2265,"Ġlabel":2266,"Ġauto":2267,"Ġwould":2268,"sv":2269,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":2270,"ä¸Ģ":2271,"This":2272,"height":2273,"less":2274,"Style":2275,"Ġfiles":2276,"ump":2277,"mut":2278,"ĠDE":2279,"Ġexample":2280,"eta":2281,"common":2282,"Ġ${":2283,"UI":2284,"spec":2285,"arning":2286,"Ġstatus":2287,"Ġover":2288,"Mem":2289,"Ġfind":2290,"Resource":2291,"component":2292,"ialog":2293,"card":2294,"resh":2295,"\".":2296,"Ġmodule":2297,"Ġmust":2298,"Ġexec":2299,"admin":2300,"Output":2301,"mer":2302,"Valid":2303,"utils":2304,"Ġinclude":2305,"iven":2306,"Ġexist":2307,"æĺ¯":2308,"ilename":2309,"description":2310,"è®":2311,"ef":2312,"Ġsol":2313,"gn":2314,"rad":2315,"etwork":2316,"Ġla":2317,"Ġsee":2318,"TYPE":2319,"ALL":2320,"aa":2321,"Ġos":2322,"pg":2323,"Configuration":2324,"inst":2325,"ç":2326,"ern":2327,"TP":2328,"Ġalso":2329,"ĠAPI":2330,"IM":2331,"ailable":2332,"Update":2333,"Ġman":2334,"æĹ":2335,"leg":2336,"Us":2337,"IO":2338,"ched":2339,"Ġdate":2340,"viron":2341,"change":2342,"čĊčĊ":2343,"Layout":2344,"ITE":2345,"è¡":2346,"UM":2347,"Filter":2348,"Ġmem":2349,"Ġgroup":2350,"æķ°":2351,"Row":2352,"ines":2353,"Ġnext":2354,"Ġprovide":2355,"np":2356,"Ġfont":2357,"expect":2358,"Link":2359,",\"":2360,"Ġjson":2361,"ency":2362,"cket":2363,"Ġpost":2364,"river":2365,"adding":2366,"{\"":2367,"Ġcatch":2368,"xx":2369,"ĠNOT":2370,"ah":2371,"ins":2372,"Sto":2373,"Sc":2374,"ython":2375,"ants":2376,"Ġ>=":2377,"STR":2378,"Ġprob":2379,"Length":2380,"aded":2381,"åŃ":2382,"PRO":2383,"Ġheight":2384,"Ġcount":2385,"instance":2386,"template":2387,"root":2388,"ĠCopy":2389,"center":2390,"react":2391,"ymb":2392,"auth":2393,"chema":2394,";&":2395,"MO":2396,"attern":2397,"ĠData":2398,"EXT":2399,"bit":2400,"Ġlast":2401,"vector":2402,"req":2403,"Ġtoken":2404,"cast":2405,"ious":2406,"ĠĠĠĠĠĠĠĠĠĠĠĠ":2407,"ensor":2408,"begin":2409,"Temp":2410,"ession":2411,"Ġfollowing":2412,"URL":2413,"ding":2414,"ĠSh":2415,"process":2416,"Ġ...":2417,"UP":2418,"zure":2419,"bool":2420,"Ġfix":2421,"Control":2422,"pack":2423,"Types":2424,"ns":2425,"ORT":2426,"Ġissue":2427,"åº":2428,"light":2429,"Ġ\"/":2430,"Ġfound":2431,"Ġsame":2432,"property":2433,"ĠVAL":2434,"control":2435,"UB":2436,"attr":2437,"Address":2438,"olicy":2439,"Ġav":2440,"ols":2441,"Ġhere":2442,"Ġinstall":2443,"Wh":2444,"product":2445,"cr":2446,"Function":2447,"ĠYou":2448,"=>":2449,"tributes":2450,"udio":2451,"dist":2452,"rag":2453,"Ġload":2454,"other":2455,"cription":2456,"icle":2457,"xb":2458,"Module":2459,"cent":2460,"aj":2461,"quot":2462,"rypt":2463,"Ġnow":2464,"ven":2465,"()->":2466,"Ġquery":2467,"address":2468,"ĠAS":2469,"Ġoption":2470,"Ġinformation":2471,"ten":2472,"'.":2473,"NAME":2474,"ose":2475,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":2476,"ä":2477,"VE":2478,"cy":2479,"active":2480,"nown":2481,"Rout":2482,"etch":2483,"ĠID":2484,"аÐ":2485,"åĽ":2486,"ier":2487,"Ġref":2488,"ward":2489,"dition":2490,"Ġmat":2491,"Ġque":2492,"exec":2493,"atform":2494,"Back":2495,"sa":2496,"ãģ®":2497,"Ġasync":2498,"lot":2499,"cb":2500,"command":2501,")(":2502,"Ġdisplay":2503,"Ġeach":2504,"Ġ],":2505,"ln":2506,"lit":2507,"ESS":2508,"BUG":2509,"\":\"":2510,"Ġ<=":2511,"ultip":2512,"![":2513,"SH":2514,"asses":2515,"types":2516,"rapper":2517,"gen":2518,"Ġshow":2519,"ause":2520,"None":2521,"Ġprotected":2522,"ĠZ":2523,"join":2524,"=\"#":2525,"Json":2526,"Off":2527,"å°":2528,"Run":2529,"Ġmatch":2530,"ian":2531,"Ġorder":2532,"================================":2533,"stract":2534,"Ġsw":2535,"files":2536,"{}":2537,"Write":2538,"bind":2539,"ĊĊĉĉ":2540,"`.":2541,"hel":2542,"element":2543,"parent":2544,"ffect":2545,"remove":2546,"Ġpub":2547,"fs":2548,"Ġconsole":2549,"Ġ'',":2550,"Api":2551,"Ġlink":2552,"Ñĥ":2553,"API":2554,"Do":2555,"ĠEn":2556,"aces":2557,"ron":2558,"met":2559,"delete":2560,"ĠCol":2561,"btn":2562,"ging":2563,"čĊĉĉĉ":2564,"unter":2565,"å¼":2566,"Num":2567,"Ġinterface":2568,"RAN":2569,"Provider":2570,"Ġthrows":2571,"orld":2572,"Mod":2573,"idden":2574,"Ġmain":2575,"NO":2576,"Ġcomponent":2577,"åį":2578,"cat":2579,"vices":2580,"dated":2581,"ring":2582,"Ġbeen":2583,"ready":2584,"only":2585,"ãĢģ":2586,"Ġloc":2587,"Ġ),":2588,"Âł":2589,"master":2590,"WR":2591,"column":2592,"xml":2593,"sol":2594,"Web":2595,"Ġsign":2596,"Cache":2597,"ado":2598,"Ġsuper":2599,"ane":2600,"Ġport":2601,"sql":2602,"Ġandroid":2603,"Ġtag":2604,"apter":2605,"âĶĢ":2606,"ĊĠĠĠĠĠĠĠĠĠĠ":2607,"Ġallow":2608,"book":2609,")))":2610,"Width":2611,"ons":2612,"cache":2613,"ĠTo":2614,"ĠclassName":2615,"ĠFor":2616,"reen":2617,"oto":2618,"ĠWh":2619,"full":2620,"UES":2621,"ouse":2622,"Ġcolumn":2623,"Ġhow":2624,"Ġabout":2625,"Pre":2626,"double":2627,"vironment":2628,"ĠArray":2629,"container":2630,"INSERT":2631,"dt":2632,"Tag":2633,"ole":2634,"xe":2635,"OS":2636,"Ġwant":2637,"anch":2638,"Part":2639,"ĠCopyright":2640,"ĠINTO":2641,"Ġem":2642,"Ġver":2643,"Header":2644,"location":2645,"Ġcorre":2646,"structor":2647,"ĠCreate":2648,"level":2649,"Exec":2650,"Ptr":2651,"Ġpackage":2652,"ba":2653,"Vis":2654,"Click":2655,"Level":2656,"----------------------------------------------------------------":2657,"个":2658,"Char":2659,"iss":2660,"child":2661,"ĠLog":2662,"Ġtop":2663,"Ġsystem":2664,"dict":2665,"éĢ":2666,"CTION":2667,"buffer":2668,"argument":2669,"Ġbefore":2670,"side":2671,"Menu":2672,"ique":2673,"Ġph":2674,"patch":2675,"Ġweb":2676,"Ġvariable":2677,"Ġq":2678,"close":2679,"ĠUser":2680,"Auth":2681,"make":2682,"ãĥ¼":2683,"Ġoverride":2684,"Ġafter":2685,"indows":2686,"ince":2687,"ĠWe":2688,"present":2689,"aining":2690,";,":2717,"ither":2718,"Ġservice":2719,"ZE":2720,"irection":2721,"ential":2722,"Ġlimit":2723,"stamp":2724,"Ext":2725,"Ġ('":2726,"Application":2727,"Ġdistributed":2728,"creen":2729,"AY":2730,"Position":2731,"Case":2732,"amb":2733,"her":2734,"âĢĻ":2735,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":2736,"ĠBu":2737,"Ġcur":2738,"MS":2739,"(*":2740,"Ġ":4289,"Profile":4290,"ä¸ĭ":4291,"Internal":4292,"Cur":4293,"AX":4294,"results":4295,"ĠTODO":4296,"ailed":4297,"role":4298,"对":4299,"ĠMy":4300,"ãģĹãģ":4301,"Ġnormal":4302,"Ver":4303,"Ġcontains":4304,"ority":4305,"ĠOut":4306,"PECT":4307,"Ġproperties":4308,"Err":4309,"=(":4310,"Show":4311,"Ġ[];":4312,"helper":4313,"åΰ":4314,"rep":4315,"Transaction":4316,".,":4317,"extern":4318,"alys":4319,"Ġ\"\",":4320,"ness":4321,"Ġplease":4322,"Ġexit":4323,"Ġselected":4324,"ram":4325,"ooks":4326,"Descriptor":4327,"ĠView":4328,"Register":4329,"annotation":4330,"Ġoper":4331,"initial":4332,"Ġdocumentation":4333,"llum":4334,"Ġboth":4335,"Ġautom":4336,"ĠRout":4337,"views":4338,"liance":4339,"ever":4340,"ceived":4341,"fb":4342,"chron":4343,"ottom":4344,"Ġtree":4345,"Ġpas":4346,"selected":4347,"Ġelif":4348,"Br":4349,"........":4350,"route":4351,"ëĬĶ":4352,"åĴ":4353,"ĠPy":4354,"ï»":4355,"Ġparam":4356,"д":4357,"Main":4358,"ony":4359,"Author":4360,"ĠImage":4361,"Ġplayer":4362,"high":4363,"Details":4364,"pb":4365,"é¡":4366,"Rect":4367,"ĠčĊč":4368,"Ġown":4369,")}":4370,"usercontent":4371,"icker":4372,"security":4373,"Ġconstructor":4374,"AST":4375,"Ġbox":4376,"Ġ..":4377,"aved":4378,"alysis":4379,"":4380,"ancel":4381,"normal":4382,"callback":4383,"OB":4384,"æĸ¹":4385,"HERE":4386,"ird":4387,"čĊĠĠĠĠĠĠĠĠĠ":4388,"ĠHe":4389,"track":4390,"Use":4391,"lluminate":4392,"ĠIO":4393,"ção":4394,"Ġmock":4395,"async":4396,"Xml":4397,"boolean":4398,"Support":4399,"################################":4400,"ĠInteger":4401,"ĠCode":4402,"Forms":4403,"ĠAc":4404,"Ġgover":4405,"Ġdim":4406,"jection":4407,"olution":4408,"READ":4409,"wd":4410,"Success":4411,"ipp":4412,"alth":4413,".\",":4414,"price":4415,"DEF":4416,"ĠUse":4417,"depend":4418,"dates":4419,"Adapter":4420,"ading":4421,"Ġentity":4422,"DC":4423,"HTML":4424,"olver":4425,"fp":4426,"cimal":4427,"ĠSQL":4428,"leep":4429,"kt":4430,"ONE":4431,"batch":4432,"Parent":4433,"encode":4434,"ĠNO":4435,"Ġperform":4436,"čĊĠĠĠĠĠĠĠĠ":4437,"Ġmethods":4438,"Selector":4439,"表":4440,"ji":4441,"Ġfunctions":4442,"UAL":4443,"Ġeven":4444,"Can":4445,"lines":4446,"Ġinline":4447,"ĠRequest":4448,"sure":4449,"Ġgenerate":4450,"Ġdiv":4451,"au":4452,"itter":4453,"åİ":4454,"Global":4455,"ĠĊĠĠĠĠĠĠĠ":4456,"primary":4457,"screen":4458,"Ġupdated":4459,"RT":4460,"rip":4461,"upload":4462,"win":4463,"bound":4464,"Ġwait":4465,"console":4466,"Ġnames":4467,"WORD":4468,"å¿":4469,"Tests":4470,"ãģ§":4471,"èĥ½":4472,"ĠKIND":4473,"lat":4474,"åĴĮ":4475,"issues":4476,"Email":4477,"ama":4478,"Ġgen":4479,"Parse":4480,"uby":4481,"!(":4482,"Ġconvert":4483,"'re":4484,"sim":4485,"hy":4486,"Ġwell":4487,"githubusercontent":4488,"ĠRun":4489,"å¦Ĥ":4490,"Ġcollection":4491,"ión":4492,"è¾":4493,"Mark":4494,"Only":4495,"Dist":4496,"Ġdecl":4497,"åĪĨ":4498,"Microsoft":4499,"Ġimplied":4500,"zer":4501,"variable":4502,">.":4503,"Ġshort":4504,"gorithm":4505,"rb":4506,"ìĦ":4507,"ä¸Ĭ":4508,"ECT":4509,"just":4510,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":4511,"ĠĊĉ":4512,"íķĺ":4513,"wer":4514,"éĿ":4515,"ANT":4516,"ĠBy":4517,"ARY":4518,"metadata":4519,"dk":4520,"SU":4521,"Ġtransform":4522,"Ġactive":4523,"created":4524,"çİ":4525,"execute":4526,"Ġutil":4527,"Ġwere":4528,"`)":4529,"VERSION":4530,"handler":4531,"ea":4532,"Ġenv":4533,"reset":4534,"pa":4535,"margin":4536,"mi":4537,"cli":4538,"Role":4539,"ĠFunction":4540,"Sk":4541,"Directory":4542,"real":4543,"Selected":4544,"flags":4545,"ICE":4546,"EM":4547,"year":4548,"Ġmodels":4549,"Ġfmt":4550,"Ġserial":4551,"Ġprevious":4552,"Ġedit":4553,"loader":4554,"flag":4555,"Ġapplicable":4556,"logic":4557,"Ġsince":4558,"Ġtool":4559,"Track":4560,"ãĥĪ":4561,"Ġtrack":4562,"asure":4563,".'":4564,"\\\":":4565,"duction":4566,"Ġconn":4567,"allow":4568,"å±":4569,"AV":4570,"Ge":4571,"{%":4572,"network":4573,"rict":4574,"Ġimplements":4575,"Ġscope":4576,"ä¸Ģ个":4577,"ĠMessage":4578,"periment":4579,"åī":4580,"ĠDB":4581,"dx":4582,"Ġcommit":4583,"urrency":4584,"çIJ":4585,")*":4586,"Bit":4587,"Ġdebug":4588,"áº":4589,"ToString":4590,"ĠLoc":4591,"Member":4592,"ĠAt":4593,"question":4594,"ja":4595,"=\"../../":4596,"stat":4597,"ALSE":4598,"Hub":4599,"ĠIP":4600,"DATA":4601,"RES":4602,"database":4603,"ategories":4604,"oly":4605,"âĸ":4606,"Cluster":4607,"ircle":4608,"Ġmultiple":4609,"ansport":4610,"ended":4611,"ä½ľ":4612,"LIST":4613,"ango":4614,"Screen":4615,"ometry":4616,"pass":4617,"Ġsent":4618,"ç½®":4619,"SELECT":4620,"'ll":4621,"ĠArg":4622,"Drawing":4623,"JS":4624,"Home":4625,"Ġpred":4626,"controller":4627,"ãĤ¹":4628,"Flags":4629,"Ġmost":4630,"Lock":4631,"solute":4632,"à¹":4633,"endar":4634,"validate":4635,"sn":4636,"fg":4637,"Ġ(_":4638,"herit":4639,"switch":4640,"prop":4641,"properties":4642,"WE":4643,"Ġgood":4644,"toggle":4645,"'));":4646,"ĠOr":4647,"Ġactual":4648,"getElement":4649,"Ġи":4650,"ceive":4651,"pkg":4652,"Ġassoci":4653,"Ġplay":4654,"Ġflag":4655,"Im":4656,"BE":4657,"exists":4658,"Ġvert":4659,"Ġsomething":4660,"theme":4661,"shal":4662,"Kind":4663,"ĠPromise":4664,"ĠLe":4665,"FE":4666,"utter":4667,"hand":4668,"zz":4669,"Ġн":4670,"CONT":4671,"Wrapper":4672,"verter":4673,"Ġanother":4674,"urface":4675,"uite":4676,"prec":4677,"Initial":4678,"gy":4679,"counter":4680,"âķ":4681,"pdf":4682,"MIN":4683,"Ġobjects":4684,"eric":4685,"æ³ķ":4686,"cfg":4687,"ĠHttp":4688,"runtime":4689,"使ç͍":4690,"Ġinv":4691,"tk":4692,"ament":4693,"FLAG":4694,"Av":4695,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":4696,"||":4697,"fit":4698,"apply":4699,"csv":4700,"___":4701,"Ġelements":4702,"ĠResult":4703,"ital":4704,"Ġsetup":4705,"Ġenvironment":4706,"Ġoriginal":4707,"èĩ":4708,"Boolean":4709,"panel":4710,"Network":4711,"Ġvec":4712,"ifdef":4713,"umpy":4714,"RI":4715,"Bound":4716,"Ġreturned":4717,"acc":4718,"Ġstop":4719,"ĠEnd":4720,"alled":4721,"dom":4722,"Ġgenerated":4723,"/.":4724,"ito":4725,"Ġpop":4726,"oriz":4727,"Full":4728,"Ġvia":4729,"ç¨":4730,")\"":4731,"imit":4732,"REG":4733,"NT":4734,"Shape":4735,"Ġimplementation":4736,"submit":4737,"rest":4738,",$":4739,"Ġworking":4740,"Auto":4741,"condition":4742,"Ġhapp":4743,"arp":4744,"ç®":4745,"wik":4746,"PUT":4747,"ashboard":4748,"Ġip":4749,"ker":4750,"Ġrights":4751,"contains":4752,"ights":4753,"Total":4754,"Ġsite":4755,"help":4756,"åij":4757,"BR":4758,"Ġstorage":4759,"oose":4760,"ĠRed":4761,"ĠLicensed":4762,"'ve":4763,"Sync":4764,"mk":4765,"CD":4766,"Bundle":4767,"uggest":4768,"xFF":4769,"safe":4770,"ressed":4771,"Layer":4772,"NET":4773,"Ġcmd":4774,"exit":4775,"п":4776,":**":4777,"ench":4778,"ÅŁ":4779,"LINE":4780,",,":4781,"åıĸ":4782,"linux":4783,"ĠMan":4784,"lab":4785,"ĠFOR":4786,"legate":4787,"vi":4788,"xt":4789,"Trace":4790,"Ġimg":4791,"alert":4792,"ĠStart":4793,"Ġbelow":4794,"Ġocc":4795,"Ġmight":4796,"Ġwithin":4797,"ship":4798,"Ġcontain":4799,"(@":4800,"rief":4801,"çIJĨ":4802,"ĠInter":4803,"TIME":4804,"footer":4805,"Mapping":4806,"iness":4807,"ĠHTTP":4808,"Ġscreen":4809,"Ġsolid":4810,"Models":4811,">;":4812,"Ġæ":4813,"Extension":4814,"Generator":4815,"vc":4816,"socket":4817,"Ġtake":4818,"Pointer":4819,"classes":4820,"Ġ<-":4821,"Editor":4822,"itive":4823,"ONT":4824,"Ġ\"-":4825,"Ġheaders":4826,"reat":4827,"reshold":4828,"ìł":4829,"âĢĿ":4830,"ĠImp":4831,"uler":4832,"ied":4833,"cret":4834,"Ġbug":4835,"bon":4836,"ynchron":4837,"aged":4838,"æķ°æį®":4839,"ident":4840,"ĠRead":4841,"Ġind":4842,"Gr":4843,"Ġfolder":4844,"Ġbuf":4845,"aut":4846,"Ġworks":4847,"uf":4848,"vs":4849,"comm":4850,"ĠService":4851,"DateTime":4852,"ç±":4853,"ë¥":4854,"USE":4855,"aking":4856,"losed":4857,"REQ":4858,"Transform":4859,"rupt":4860,"aving":4861,"Ġeas":4862,"Send":4863,"à§":4864,"ĠPython":4865,"bg":4866,"agent":4867,"Find":4868,"DITION":4869,"Ġfilename":4870,"Ġapply":4871,"}>":4872,"matrix":4873,"npm":4874,"rec":4875,"åĩº":4876,"ан":4877,"Ġtab":4878,"aging":4879,"FT":4880,"Ġcannot":4881,"tests":4882,"ifact":4883,"small":4884,"ë¡":4885,"Ġvariables":4886,"velopment":4887,"Loader":4888,"ems":4889,"attribute":4890,"bus":4891,"Texture":4892,"alpha":4893,"white":4894,"xs":4895,"ĠEd":4896,"itude":4897,"enable":4898,"Ġhandler":4899,"LS":4900,"(['":4901,"']['":4902,"diff":4903,"Ġcluster":4904,"Ġexisting":4905,"Ġbuilder":4906,"ood":4907,"tml":4908,"Ġnone":4909,"Rad":4910,"pm":4911,"(\"%":4912,"Remove":4913,"**:":4914,"children":4915,"Ġperson":4916,"faces":4917,"rf":4918,"coll":4919,"VENT":4920,"Ġdir":4921,"ales":4922,"cmp":4923,"CHAR":4924,"ĠTABLE":4925,"NotNull":4926,"Ġlaw":4927,"ABILITY":4928,"CF":4929,"nil":4930,"ãģ¯":4931,"ertificate":4932,"ĠId":4933,"Sum":4934,"foreach":4935,"ãģĦ":4936,"Ġfr":4937,"fully":4938,"Ġ\".":4939,"RC":4940,"irc":4941,"Ġcommon":4942,"grad":4943,"grade":4944,"ha":4945,"Ġwhether":4946,"Ġyear":4947,"seq":4948,"ĠJava":4949,"Ġ_,":4950,"è½":4951,"cos":4952,"Ġcompliance":4953,"ves":4954,"JECT":4955,"Ġpointer":4956,"é¢":4957,"Ġindic":4958,"MODE":4959,"ĠAb":4960,"ĠCOL":4961,"hpp":4962,"Ġ'../":4963,"PH":4964,"apped":4965,"FIG":4966,"еÑĢ":4967,"sdk":4968,"à¤":4969,"ĠĠĊĠĠ":4970,"ĠHow":4971,"?.":4972,"inux":4973,"That":4974,"USER":4975,"Fail":4976,"cn":4977,"chedule":4978,"ĠBAS":4979,"hi":4980,"Ġpoints":4981,"æĪij":4982,"assertEquals":4983,"download":4984,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":4985,"Ġkeep":4986,"(\\":4987,"ĠTe":4988,"DER":4989,"大":4990,"Ġinteger":4991,"gre":4992,"Media":4993,"sig":4994,"ĠEXPECT":4995,"PU":4996,"Py":4997,"ĠWHERE":4998,"ä¼ļ":4999,"video":5000,"ìĹIJ":5001,"virtual":5002,"})":5103,"ĠNumber":5104,"ìļ":5105,"BB":5106,"Ġк":5107,"MD":5108,"TWARE":5109,"detail":5110,"Ġbind":5111,"OFTWARE":5112,"Ġinstanceof":5113,"den":5114,"\"+":5115,"ê°":5116,"throws":5117,"']);":5118,"Ġagreed":5119,"ĠBASIS":5120,"Ġ\"\";":5121,"Ġspace":5122,"gi":5123,"ategy":5124,"After":5125,"Save":5126,"Ġresp":5127,"çº":5128,"Pop":5129,"ĠCONDITION":5130,"hir":5131,"Ġgoverning":5132,"Ġtoo":5133,"platform":5134,"Space":5135,"stats":5136,"HR":5137,"parameters":5138,"typeof":5139,"fetch":5140,"Db":5141,"Gen":5142,"sumer":5143,"ational":5144,"cpy":5145,"ASK":5146,"Ġincl":5147,"rome":5148,")](":5149,"ìĿĦ":5150,">::":5151,"Conn":5152,"BL":5153,"Ġsup":5154,"tsch":5155,"()))":5156,"assign":5157,"Ġcalcul":5158,"wp":5159,"stylesheet":5160,"ni":5161,"iterator":5162,"Ġaria":5163,"uding":5164,"getName":5165,"Ġnodes":5166,"Ġrequests":5167,"Ġamount":5168,"Ġmove":5169,"ĠResponse":5170,"Ġdraw":5171,"bootstrap":5172,"ï¼Ī":5173,"ested":5174,"abil":5175,"cluster":5176,"PY":5177,"pool":5178,"Ġty":5179,"CHE":5180,"ĠCONDITIONS":5181,"Ġalways":5182,"Ġlimitations":5183,"ados":5184,"fx":5185,"ĠPr":5186,"åŃĹ":5187,"Security":5188,"åIJį":5189,"aker":5190,"Conf":5191,"æľ¬":5192,"Ġstructure":5193,"agnost":5194,"Play":5195,"poch":5196,"Sample":5197,"notation":5198,"letion":5199,"jango":5200,"swer":5201,"Ġprefix":5202,"STRING":5203,"Ġident":5204,"Ġcap":5205,"Sort":5206,"sync":5207,"ifest":5208,"Ġside":5209,"pair":5210,"LETE":5211,"cessed":5212,">\\":5213,"Ġhel":5214,"Ġreserved":5215,"Ġevents":5216,"Note":5217,"Ġmessages":5218,"Ġdat":5219,"ĠNS":5220,"QU":5221,"Direction":5222,"ĠTR":5223,"blog":5224,"ina":5225,"Ġо":5226,"alance":5227,"eek":5228,"Constants":5229,"EY":5230,"ets":5231,"vers":5232,"&#":5233,"Scale":5234,"ĠĊĠ":5235,"ç«":5236,"Ġsys":5237,"ĠBuild":5238,"Ġtf":5239,"Common":5240,"DATE":5241,"Ġprintf":5242,"resp":5243,"pare":5244,"ĠAction":5245,"Ġfe":5246,"Ġscale":5247,"library":5248,"Azure":5249,"mbers":5250,"Ġuses":5251,"ours":5252,"Ġfixed":5253,"Ġbatch":5254,"________":5255,"çĤ":5256,"Ġpattern":5257,"Ġloop":5258,"]))":5259,"Flag":5260,"throw":5261,"atio":5262,"/{":5263,"Socket":5264,"rv":5265,"super":5266,"inf":5267,"ĠPO":5268,"Ġmenu":5269,"aries":5270,"Art":5271,"\\/":5272,"Ġbest":5273,"Ġcontribut":5274,"rule":5275,"Cmd":5276,"plac":5277,"æı":5278,"Ġrefer":5279,"Progress":5280,"padding":5281,"Ġda":5282,"ĠâĶĤ":5283,"resolve":5284,"ica":5285,"Ġ##":5286,"Detail":5287,"Failed":5288,"ANG":5289,"_{":5290,"Simple":5291,"Ġve":5292,"orizont":5293,"ĠPlease":5294,"Ġsolution":5295,"Ġcore":5296,"Example":5297,"Ġbinary":5298,"assertEqual":5299,"Ġable":5300,"optional":5301,"Ġoptional":5302,"åıij":5303,"Ġ^":5304,"brief":5305,"udo":5306,"Ġ'#":5307,"FC":5308,"tre":5309,"ral":5310,"ILE":5311,"ĠSH":5312,"Ġassign":5313,"ctor":5314,"aven":5315,"ĠUI":5316,"uber":5317,"Ġfill":5318,"va":5319,"typedef":5320,"kwargs":5321,"protected":5322,"latest":5323,"Login":5324,"}`":5325,"uit":5326,".\\":5327,"Ñħ":5328,"veloper":5329,"Ġ{};":5330,"度":5331,"Ids":5332,"requ":5333,"rd":5334,"Ġ\"'":5335,"ople":5336,"Desc":5337,"Ġrepository":5338,"crement":5339,"ç¬":5340,"Ġcharacter":5341,"Ġд":5342,"cogn":5343,"Sql":5344,"åĬł":5345,"rot":5346,"Bean":5347,"ç¨ĭ":5348,"Ġneeded":5349,"driver":5350,"Ġmodify":5351,"Ġenable":5352,"icons":5353,"Ġ$('#":5354,"ĠĠĊ":5355,"Condition":5356,"LOCK":5357,"pag":5358,"Ġfeatures":5359,"gs":5360,"ural":5361,"stand":5362,"ADD":5363,"ãĤ¤":5364,"Ġschema":5365,"tar":5366,"ped":5367,".\");":5368,"Ċĉĉĉĉĉĉĉĉĉ":5369,"logo":5370,"bash":5371,"Ġchanged":5372,"Fin":5373,"Selection":5374,"Ġexists":5375,"forEach":5376,"hl":5377,"Registry":5378,"resources":5379,"ĠPath":5380,"ĠValid":5381,"Dim":5382,"Ġsubject":5383,"ĠĊĠĠĠĠ":5384,"NU":5385,"lev":5386,"Ġrem":5387,"Ġadditional":5388,"Ġ$_":5389,"tl":5390,"ĠDep":5391,"Proxy":5392,"ĠMethod":5393,"Ġnotice":5394,"=\"_":5720,"protocol":5721,"iform":5722,"Ġìŀ":5723,"ota":5724,"ters":5725,"è¿ĩ":5726,"]),":5727,"editor":5728,"lower":5729,"ĠØ":5730,"Iterator":5731,"XML":5732,"Ġshift":5733,"legal":5734,"RP":5735,"Ġflags":5736,"verage":5737,"ism":5738,"ž":5739,"objects":5740,"Ġlogging":5741,"Ġexecute":5742,"Ġplt":5743,"Ġeffect":5744,"Len":5745,"Ġassociated":5746,"Program":5747,"Ġsetting":5748,"Ġcause":5749,"Ġrule":5750,"IVE":5751,"ubernet":5752,"ãĤ¯":5753,"TF":5754,"cha":5755,"Fragment":5756,"Interval":5757,"rollers":5758,"Ġhead":5759,"Ġrows":5760,"ÙĦ":5761,"COMP":5762,"Ġpur":5763,"ourse":5764,"sz":5765,"note":5766,"VS":5767,"ĠInitial":5768,"Ġ',":5769,"Background":5770,"ãģ¾":5771,"cry":5772,"Stats":5773,"Ġetc":5774,"Move":5775,"ĠLOG":5776,"ubernetes":5777,"ĠVer":5778,"quiv":5779,"ĠHTML":5780,":`":5781,"ror":5782,"ones":5783,"program":5784,"router":5785,"When":5786,"çŃ":5787,"Ġworld":5788,"éĹ´":5789,"invalid":5790,"(\".":5791,"factory":5792,"ij":5793,"TA":5794,"]['":5795,"IAL":5796,"Ġpayload":5797,"ĠSET":5798,"Ġunique":5799,"servable":5800,"Ġkernel":5801,"ĠThere":5802,"Ġautomatic":5803,"NN":5804,"road":5805,"ĠPh":5806,"DEFAULT":5807,"Ġday":5808,"Ġmember":5809,"ivers":5810,"atar":5811,"oll":5812,"Release":5813,"Ġarch":5814,"sy":5815,"Ġmissing":5816,"inv":5817,"ifications":5818,"ìĬ":5819,"disable":5820,"arge":5821,"Ġdownload":5822,"integer":5823,"Modal":5824,"scroll":5825,"ĠOb":5826,"Limit":5827,"hide":5828,"lished":5829,"ĠNote":5830,"Orig":5831,"igration":5832,"otion":5833,"MAP":5834,"ison":5835,"chart":5836,"loop":5837,"ÅĻ":5838,"Ġdiff":5839,"Ġpush":5840,"Ġ./":5841,"Unknown":5842,"attributes":5843,">\"":5844,"Ġintegr":5845,"acters":5846,"à¯":5847,"strict":5848,"===":5849,"ĠMat":5850,"çĤ¹":5851,"Ġstrings":5852,"Ġbehavior":5853,"edge":5854,"åĻ":5855,">`":5856,"SCR":5857,"ycle":5858,"Ġsv":5859,"world":5860,"ä¿¡":5861,"ble":5862,"ture":5863,"rive":5864,"Ġrad":5865,"proxy":5866,"Ġrepo":5867,"Ġtimeout":5868,"AAAA":5869,"Contact":5870,"Attr":5871,"zen":5872,"WHEN":5873,"aper":5874,"LOW":5875,"Library":5876,"------------------------------------------------":5877,"Ġotherwise":5878,"aybe":5879,"Ġdomain":5880,"Ġ'''":5881,"hip":5882,"team":5883,"ê":5884,"ĠJson":5885,"Ġrelated":5886,"Ġenabled":5887,"ando":5888,"Ġresolve":5889,"Ġdataset":5890,"MI":5891,"Ġscal":5892,"loaded":5893,"voice":5894,"ĠTEST":5895,"čĊčĊĠ":5896,"Sequence":5897,"complete":5898,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":5899,"ĠERR":5900,"quare":5901,"Binding":5902,"ĠMon":5903,"month":5904,"features":5905,"ĠìĿ":5906,"EQUAL":5907,"_(":5908,"Nodes":5909,"windows":5910,"Ġtags":5911,"Ġ-=":5912,"LOC":5913,"sent":5914,"VALID":5915,"Namespace":5916,"lint":5917,"FONT":5918,"labels":5919,"âķIJâķIJ":5920,"čĊčĊĉ":5921,"èĩª":5922,"Ġarr":5923,"obile":5924,"Ret":5925,"ÅĤ":5926,"Ġcurrently":5927,"swing":5928,"Ġduring":5929,"ini":5930,"UTH":5931,"Ġcontroller":5932,"åύ":5933,"Ġzero":5934,"åĬ¨":5935,"Framework":5936,"dump":5937,"ĠExample":5938,"THER":5939,"Ġtypeof":5940,"Ġmask":5941,"Begin":5942,"emo":5943,"Stat":5944,"ĠðŁ":5945,"Amount":5946,"Normal":5947,"ìĿĺ":5948,"++++":5949,"ĠWrite":5950,"Ġarea":5951,"dialog":5952,"Ġalert":5953,"convert":5954,"Ġterms":5955,"xE":5956,"Bool":5957,"ĠCl":5958,"STATUS":5959,"bits":5960,"skip":5961,"lambda":5962,"allel":5963,"Ġincluded":5964,"NotFound":5965,"Ġreason":5966,"Ġwarning":5967,"ĠHREF":5968,"ĠTemp":5969,"Vec":5970,"Language":5971,"Static":5972,"Ġdec":5973,"dp":5974,"VALUE":5975,"DIS":5976,"æīĢ":5977,"room":5978,":-":5979,"Ġfs":5980,"por":5981,"andid":5982,"configuration":5983,"\\\",":5984,"ĠINT":5985,"ands":5986,"mob":5987,"åŀ":5988,"Ġ({":5989,"Bus":5990,"Public":5991,"beta":5992,"çľ":5993,"utorial":5994,"AF":5995,"anger":5996,"Ġnote":5997,"emon":5998,"structure":5999,"wt":6000,"cker":6001,"Sim":6002,"formed":6003,"SV":6004,"Person":6005,"radius":6006,"&&":6007,"clean":6008,"mean":6009,"Äħ":6010,"icip":6011,"ĠPage":6012,"Ġaxis":6013,"omite":6014,"Ġclasses":6015,"TEXT":6016,"æ±":6017,"å̼":6018,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":6019,"=[":6020,"=\"\">":6021,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":6022,"UNT":6023,"Ġshape":6024,"munity":6025,"ELD":6026,"Ġvideo":6027,"ĠCustom":6028,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":6029,"Ġ×":6030,"YPE":6031,"éģ":6032,"odo":6033,"Mouse":6034,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":6035,"when":6036,"CREATE":6037,"policy":6038,"omitempty":6039,"'}":6040,"ipe":6041,"Ġvalidate":6042,"ĠDet":6043,"TL":6044,"yaml":6045,"å®ŀ":6046,"ación":6047,"Ãł":6048,"antity":6049,"urs":6050,"lik":6051,"Env":6052,"mc":6053,"Resources":6054,"compare":6055,"----------":6056,"columns":6057,"Ġmeans":6058,"ĠAL":6059,"some":6060,"ĠGame":6061,"Region":6062,"Ġexecution":6063,"ĠOTHER":6064,"Īëĭ¤":6065,"ached":6066,"Acc":6067,"typename":6068,":%":6069,"uario":6070,"resses":6071,"cribe":6072,"plt":6073,"share":6074,"avel":6075,"Video":6076,"merge":6077,":'":6078,"pet":6079,"Ġ\\\\":6080,"conv":6081,"Fr":6082,"`:":6083,"Symbol":6084,"Ġbetter":6085,"Ġresources":6086,"anced":6087,"ãģĻãĤĭ":6088,"Ġmeta":6089,"Ġcolumns":6090,"Ġruntime":6091,"Ġpair":6092,"Ġtheme":6093,"pear":6094,"éĢļ":6095,"Random":6096,"mploy":6097,"Go":6098,"slice":6099,"ino":6100,"Ġexpression":6101,"WAR":6102,"STATE":6103,"loor":6104,"设":6105,"alyt":6106,"Ġide":6107,"Light":6108,"Ġrest":6109,"ĠEnt":6110,"tbody":6111,"orn":6112,"Ġ'\"":6113,"dec":6114,"Ġsb":6115,"ĠLink":6116,"åĬ¡":6117,"argv":6118,"Ġreview":6119,"gistration":6120,"Ġpd":6121,"Ġsplit":6122,"scriptor":6123,"days":6124,"Ġlater":6125,"pad":6126,"Ġ'';":6127,"SB":6128,"Pass":6129,"Ġevalu":6130,"ĠUSE":6131,"=%":6132,"éĶ":6133,"Native":6134,"æģ¯":6135,"Execution":6136,"]],":6137,"ĠCHE":6138,"Sl":6139,"UND":6140,"Ġtransaction":6141,"EC":6142,"Agent":6143,"Ġverify":6144,"cout":6145,"ĠGeneral":6146,"Ġlight":6147,"uffix":6148,"awn":6149,"Expr":6150,"ĠUs":6151,"covery":6152,"Ġcomplete":6153,"oper":6154,"]+":6155,"æĸĩä»¶":6156,"Ġalloc":6157,"zero":6158,"isset":6159,"ĠHelper":6160,"dn":6161,"riteria":6162,"ç¼":6163,"Depend":6164,"Ġcop":6165,"Export":6166,"å»":6167,"craft":6168,"LEN":6169,"âĸĪ":6170,"sel":6171,"chat":6172,"external":6173,"collect":6174,"folder":6175,"Ġblack":6176,"BASE":6177,"Ġsur":6178,"ĠIlluminate":6179,"ĠWhat":6180,"Ġ{%":6181,"()),":6182,"izing":6183,"Ġargv":6184,"ç´":6185,"Ġkind":6186,"Ġreader":6187,"æĪ·":6188,"Raw":6189,"čĊĉĉĉĉĉ":6190,"CONFIG":6191,"**.":6192,"gb":6193,"Ñİ":6194,"Sup":6195,"Duration":6196,"ulate":6197,"åĨħ":6198,"ativ":6199,"cus":6200,"ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":6201,"coded":6202,"za":6203,"ĠAny":6204,"çĶŁ":6205,"Ġactiv":6206,"Ġlogin":6207,"YY":6208,"å¼Ģ":6209,"ĠCHECK":6210,"ĠDocument":6211,"review":6212,"Ġcursor":6213,"icket":6214,"Ġcategory":6215,"Ġstandard":6216,"INCL":6217,"AI":6218,"ribution":6219,"Contract":6220,"Multi":6221,"Ġuntil":6222,"OO":6223,"COLOR":6224,"Ġleast":6225,"æĢ§":6226,"ĠAuth":6227,"like":6228,"CHECK":6229,"Ġnecess":6230,"atomic":6231,"|.":6232,"Ġil":6233,"Ġsocket":6234,"ocial":6235,"Ġseems":6236,"Ġincluding":6237,"âĶĢâĶĢâĶĢâĶĢ":6238,"atter":6239,"await":6240,"Tip":6241,"Nd":6242,"Drop":6243,"ula":6244,"ighb":6245,"mediate":6246,"б":6247,"ãĤĮ":6248,"Join":6249,"subject":6250,"ени":6251,"åŀĭ":6252,"Notification":6253,"æĥ":6254,"ĠVis":6255,"ĠContent":6256,"ond":6257,"RECT":6258,"ĠAuthor":6259,"çłģ":6260,"UTF":6261,"Ġ([":6262,"payload":6263,"found":6264,"BY":6265,"Term":6266,"Headers":6267,"mutable":6268,"munic":6269,"single":6270,"DT":6271,"ĠGET":6272,"éĿ¢":6273,"Ġprofile":6274,"Mask":6275,"Single":6276,"Ġrepro":6277,"Ġdrop":6278,"************************************************************************":6279,"Day":6280,"cpu":6281,"serialize":6282,"COMM":6283,"Ġ}}\\":6289,"æ¬":6290,"ĠIOException":6291,"Īĺ":6292,"derr":6293,"mas":6294,"Ġconsider":6295,"éħ":6296,"Ġ'../../":6297,"dst":6298,"depth":6299,"请":6300,"ality":6301,"cedure":6302,"lu":6303,"缮":6304,"Ġyet":6305,"cut":6306,"ANCE":6307,"reader":6308,"construct":6309,"mpt":6310,"ĠOk":6311,"Validation":6312,"Ġ\"${":6313,"Ġstat":6314,"Comment":6315,"ventory":6316,"Chart":6317,"ĠSupport":6318,"repository":6319,"pid":6320,"ially":6321,"Ġcorrespon":6322,"RUN":6323,"ĠItem":6324,"Ġtesting":6325,"](../":6326,"riend":6327,"åŁ":6328,"igr":6329,"Environment":6330,"ulum":6331,"groups":6332,"URI":6333,"Material":6334,"gnore":6335,"vlet":6336,"ĠWork":6337,"åIJĪ":6338,"Ġcomponents":6339,"ookie":6340,"Ġtimestamp":6341,"æ²":6342,"Inv":6343,"FD":6344,"Ùħ":6345,"Ġcar":6346,"è¨":6347,"MenuItem":6348,"ĠDi":6349,"Ġcommands":6350,"ceed":6351,"ĠÑ":6352,"Axis":6353,"ife":6354,"ĠInc":6355,"Sm":6356,"#[":6357,"clone":6358,"ĠLong":6359,"seconds":6360,"incip":6361,"******":6362,"opts":6363,"Ġuseful":6364,"references":6365,"Ġthings":6366,"ãĥª":6367,"updated":6368,"Ġcover":6369,"Ġ[`":6370,"Ġlayout":6371,"æľĢ":6372,"TRUE":6373,"ĠSource":6374,"ĠMem":6375,"undefined":6376,"Ġspecify":6377,"sch":6378,"åĿ":6379,"demo":6380,"fun":6381,"Ġdocker":6382,"RESULT":6383,"Messages":6384,"provider":6385,"rand":6386,"ruby":6387,"Controls":6388,"ulator":6389,"basic":6390,"acle":6391,"idual":6392,"isEmpty":6393,"Ġreally":6394,"å°±":6395,"è¿Ľ":6396,"оÑĢ":6397,"generated":6398,"éľ":6399,"ĠMake":6400,"ĠPost":6401,"è°":6402,"ĠCal":6403,"stmt":6404,"íķľ":6405,"åįķ":6406,"ĠUN":6407,"Ġê°":6408,"tection":6409,"Ġopts":6410,"includes":6411,"aration":6412,"hover":6413,"look":6414,"ĠIl":6415,"person":6416,"Mis":6417,".',":6418,"wiki":6419,"Oper":6420,"Timer":6421,"ĠIndex":6422,"ĠSto":6423,"Ġmac":6424,"achment":6425,"repo":6426,"uda":6427,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ":6428,"Ind":6429,"LA":6430,"ĠPoint":6431,"åºĶ":6432,"Ro":6433,"astic":6434,"Setup":6435,"Ġnumpy":6436,"ster":6437,"FIX":6438,"FUN":6439,"Ġdependencies":6440,"Html":6441,"Ġpers":6442,"star":6443,"Owner":6444,"Ġcert":6445,"history":6446,"FIELD":6447,"[-":6448,"sf":6449,"cip":6450,"ĠпÑĢ":6451,"bucket":6452,"gg":6453,"è·":6454,"serve":6455,";<":6456,">'":6457,"Ġdescri":6458,"Ġutf":6459,"validation":6460,"arrow":6461,"Renderer":6462,"åıĤ":6463,"$$":6464,"Ġsubmit":6465,"ĠGraph":6466,"================================================================":6467,"ĠWith":6468,"Should":6469,"Ġ'-":6470,"VICE":6471,"ãĥ¼ãĤ":6472,"SR":6473,"kernel":6474,"ASSERT":6475,"ceiver":6476,"Counter":6477,"ĠRemove":6478,"од":6479,"ĠProperty":6480,"](../../":6481,"ssl":6482,"¸°":6483,"Span":6484,"Wait":6485,"Ġtx":6486,"Ġ$(\"#":6487,")|":6488,"å¥":6489,"-------------":6490,"Ġrelative":6491,"Ġlabels":6492,"ãģª":6493,"\"].":6494,"Stop":6495,"Ġtimes":6496,"ĠConsole":6497,"Ġteam":6498,"Pe":6499,"ãĥĥ":6500,"Ġpermission":6501,"uce":6502,"inates":6503,"ĠSw":6504,")?":6505,"bi":6506,"scala":6507,"Lib":6508,"å¤ļ":6509,"Org":6510,"är":6511,"ĠToken":6512,"RIGHT":6513,"Ġmaster":6514,"Ne":6515,"UEST":6516,"Ġinside":6517,"Ġho":6518,"Converter":6519,"ATCH":6520,"dm":6521,"lipse":6522,"Ġstrict":6523,"Ġbig":6524,"^^^^":6525,";/":6526,"Private":6527,"feed":6528,"Now":6529,"Edge":6530,"Ġfig":6531,"Theme":6532,"Generated":6533,"èĢħ":6534,"ORS":6535,"Batch":6536,"Fore":6537,"Ġprogress":6538,"Ġcome":6539,"TAG":6540,"Ġ----------------------------------------------------------------":6541,"TRIB":6542,"TC":6543,"čĊĠĠĠĠĠĠ":6544,"Enter":6545,"tm":6546,"Ġbel":6547,"ĠSession":6548,"assertTrue":6549,"Ġbasic":6550,"Append":6551,"Ġoptim":6552,"}\",":6553,"transaction":6554,"green":6555,"Ġremoved":6556,"rank":6557,"delta":6558,"ĠÄ":6559,"Ġwho":6560,"Throw":6561,"Ġremote":6562,":/":6563,"ĠGlobal":6564,"enabled":6565,"usion":6566,"Prop":6567,"XFF":6568,"eval":6569,"allen":6570,"Ġextract":6571,"uuid":6572,"Ġpixel":6573,"Please":6574,"ĠBlock":6575,"SCRIP":6576,"ĠSpec":6577,"IX":6578,"fast":6579,"highlight":6580,"åĵ":6581,"TRY":6582,"]->":6583,"Ġreceived":6584,"INST":6585,"branch":6586,"rect":6587,"Book":6588,"watch":6589,"Ġlwjgl":6590,"ato":6591,"Ġ|=":6592,"=-":6593,"Ġexternal":6594,"Ġtrigger":6595,"Ġcb":6596,"ĠGoogle":6597,"structions":6598,"Ã¥":6599,"MC":6600,"Enable":6601,"åIJĮ":6602,"]*":6603,"company":6604,"efficient":6605,"Information":6606,"Animation":6607,"ĠSelect":6608,"ĠSelf":6609,"èİ":6610,"Ġ'%":6611,"Ġenter":6612,"Ġsequence":6613,"WI":6614,"Ġlatest":6615,"setText":6616,"Year":6617,"olved":6618,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":6619,"()`":6620,"Ġcontaining":6621,"chan":6622,"ulk":6623,"sem":6624,"æĹ¥":6625,"pret":6626,"illi":6627,"inu":6628,"ĠÂ":6629,"³³":6630,"tech":6631,"иÑĤ":6632,"ĠLanguage":6633,"ongo":6634,"nc":6635,"Driver":6636,"zy":6637,"Ġwritten":6638,"ationship":6639,"Ġ\"@":6640,"apse":6641,"ĠOS":6642,"Ġwrong":6643,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":6644,"ĠQuery":6645,"Nav":6646,"Syntax":6647,"Spr":6648,"pragma":6649,"erc":6650,"们":6651,"Ġmachine":6652,"]}":6653,"progress":6654,"Ġsteps":6655,"simple":6656,"lers":6657,"Ġbad":6658,"iet":6659,"Ġallowed":6660,"ĠSte":6661,"rx":6662,"Ġ{},":6663,"OFF":6664,"datetime":6665,"ĠDateTime":6666,"ifiers":6667,"Allow":6668,"Make":6669,"Fix":6670,"Ġfhir":6671,"Ġpublish":6672,"ĠPart":6673,"Ġcor":6674,"MIT":6675,"ikariConfig":6676,"Ġcv":6677,"rieve":6678,"Ġless":6679,"gz":6680,"jquery":6681,"getValue":6682,"Ġservices":6683,"atalog":6684,"SUCCESS":6685,"ste":6686,"ĠApplication":6687,"ĠMain":6688,"åĪĹ":6689,"sess":6690,"DELETE":6691,"Objects":6692,"Ġsimilar":6693,"Endpoint":6694,"BC":6695,"loading":6696,"Ġhis":6697,"etc":6698,"Ġregion":6699,"ĠStr":6700,"Tasks":6701,"åĮĸ":6702,"](/":6703,"Ġcref":6704,"History":6705,"kg":6706,"orth":6707,"World":6708,"ador":6709,"navbar":6710,"curs":6711,"Ġ]);":6712,"Ġinstalled":6713,"ming":6714,"gdat":6715,"ĠDatabase":6716,"Ġextra":6717,"avor":6718,"MOD":6719,"Convert":6720,"alytics":6721,"Pub":6722,"Ġactually":6723,"Lower":6724,"Tx":6725,"Rot":6726,"ütsch":6727,"extension":6728,"Identity":6729,"å½ĵ":6730,"Ġedge":6731,"guide":6732,"Ġms":6733,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠ":6734,"Ġdesign":6735,"-----":6736,"DOT":6737,"Insert":6738,"'.$":6739,"{$":6740,"ĠInstall":6741,"建":6742,"ëĵ":6743,"ĠBE":6744,">{{":6745,"mine":6746,"ĠASSERT":6747,"atis":6748,"clo":6749,"æ¨":6750,"Tags":6751,"ÄĻ":6752,"------":6753,"Connect":6754,"REC":6755,"leton":6756,"Ġ\"+":6757,"icks":6758,"Scal":6759,"Holder":6760,"Ġyield":6761,"Addr":6762,"hw":6763,"sect":6764,"Ġhome":6765,"izable":6766,"Zone":6767,"Power":6768,"trl":6769,"redit":6770,"ouch":6771,"Usage":6772,"MBER":6773,"udit":6774,"Div":6775,"éħį":6776,"FileName":6777,"ĠHi":6778,"ĠExec":6779,"atile":6780,"EventListener":6781,"lim":6782,"Ġgoing":6783,"Ġhard":6784,"Ġmb":6785,"ĠIMP":6786,"upy":6787,"ĠDelete":6788,"proc":6789,"Clear":6790,"Ġseconds":6791,"Ġcases":6792,"Ġscore":6793,"BA":6794,"Volume":6795,"NdEx":6796,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":6797,"illa":6798,"éĥ":6799,"tensor":6800,"~~~~~~~~":6801,"Hand":6802,"land":6803,"Ġ).":6804,"pointer":6805,"|--":6806,"{},":6807,"Idx":6808,"cipe":6809,"ĠSie":6810,"Ġmonth":6811,"Compat":6812,"gp":6813,"Nullable":6814,"inherit":6815,"cheme":6816,"å°Ĩ":6817,"åħ³":6818,"ĉĉĉĉĉĉĉĉ":6819,"VO":6820,"cart":6821,"Ġbottom":6822,"amma":6823,"('./":6824,"ajax":6825,"Ġhidden":6826,"lies":6827,"ĠElement":6828,"Packet":6829,"ĠLoad":6830,"ante":6831,"={{":6832,"ĠProcess":6833,"Points":6834,"Ġaround":6835,"ë¦":6836,"zon":6837,"flutter":6838,"ом":6839,"otlin":6840,"Platform":6841,"ÄĽ":6842,"åľ°":6843,"multi":6844,"ores":6845,"ĠGMT":6846,"POSE":6847,"ر":6848,"flat":6849,"Ġvalidation":6850,"IOException":6851,"Ġwidget":6852,"TRIBUT":6853,"une":6854,"posed":6855,"ifies":6856,"jar":6857,"sr":6858,"Asset":6859,"Ġpod":6860,"Processor":6861,"vars":6862,"Ġengine":6863,"Ġvolume":6864,"ĠDA":6865,"Ġbus":6866,"Ġplot":6867,"Ġ###":6868,"Ġdisabled":6869,"APP":6870,"éľĢ":6871,"Short":6872,"Created":6873,"lan":6874,"oh":6875,"unknown":6876,"Real":6877,"ÑĢаÐ":6878,"Ġ,\"":6879,"FLAGS":6880,"Character":6881,"Ġpacket":6882,"FS":6883,"ÙĨ":6884,"Ġactions":6885,"Ġusage":6886,"Ġprovider":6887,"las":6888,"çݰ":6889,"\"])":6890,"activity":6891,"Ġcreating":6892,"how":6893,"[:,":6894,"Ġbuilt":6895,"HEAD":6896,"+'":6897,"IMP":6898,"Ins":6899,"Ġsets":6900,"!=":6901,"UST":6902,"ysical":6903,"Audio":6904,"NC":6905,"ĠSc":6906,"lyph":6907,"ĠSk":6908,"navig":6909,"Ġ\"../":6910,"iles":6911,"embed":6912,"Ġ{\\":6913,"Å¡":6914,"Ġsig":6915,"Ġwhy":6916,"lr":6917,"unded":6918,"Ġsuggest":6919,"amaz":6920,"locale":6921,"chor":6922,"ades":6923,"Ġautomatically":6924,"ĊĊĊĠĠĠĠĠĠĠ":6925,"ĠController":6926,"Ġturn":6927,"href":6928,"Ġpool":6929,"ÑĨ":6930,"ived":6931,"duration":6932,"cls":6933,"ĠDouble":6934,"Ġdays":6935,"ĠBY":6936,"Ġisinstance":6937,"Mesh":6938,"that":6939,">()":6940,"unto":6941,"Ġinstances":6942,"代":6943,"èİ·":6944,"\\'":6945,"origin":6946,"TABLE":6947,"eax":6948,"hex":6949,"ĠCreated":6950,"æĽ´":6951,"éĺ":6952,"Tri":6953,"Binary":6954,"NING":6955,"categories":6956,"Ġlos":6957,"eries":6958,"Ġmulti":6959,"ìĦľ":6960,"MASK":6961,"writ":6962,"Ġм":6963,"questions":6964,"éĩı":6965,"æĮĩ":6966,"verify":6967,"ли":6968,"MES":6969,"Returns":6970,"Ġinc":6971,"Ġallows":6972,"lv":6973,"mu":6974,"ables":6975,"destroy":6976,"Ġsymbol":6977,"UDING":6978,"scan":6979,"TT":6980,"<>();":6981,"<'":6982,"Ġdirection":6983,"InputStream":6984,"Ġfeed":6985,"ĊĉĉĠĠĠ":6986,"ĠGNU":6987,"ĠAD":6988,"cert":6989,"GO":6990,"ĠÑĤ":6991,"aring":6992,"compile":6993,"ali":6994,"ĠOUT":6995,"Rest":6996,"Direct":6997,"Ġendpoint":6998,"нÑĭ":6999,"Ġquestion":7000,"remote":7001,"Ġfew":7002,"binary":7003,"rules":7004,"ido":7005,"UCT":7006,"pay":7007,"graphics":7008,"(/":7009,"symbol":7010,"enk":7011,"Ġeditor":7012,"ĠRegister":7013,"precated":7014,"wr":7015,"Free":7016,"cursor":7017,"Ġprop":7018,"Ġrules":7019,"here":7020,"black":7021,"Ġcounter":7022,"éĽ":7023,"Ġpeople":7024,"urch":7025,"more":7026,"*,":7027,"Cancel":7028,"Ġdirectly":7029,"Ġbits":7030,"å§":7031,"dy":7032,"æłĩ":7033,"Pixel":7034,"country":7035,"untu":7036,"Ġmaterial":7037,"Strip":7038,"),(":7039,"Permission":7040,"Ġversions":7041,"UTO":7042,"Router":7043,"Score":7044,"Ġsender":7045,"ĠonClick":7046,"lists":7047,"åĽ¾":7048,"ĠContext":7049,"Ġev":7050,"ĠGroup":7051,"grpc":7052,"Ġcod":7053,"ì§Ģ":7054,"UBLE":7055,"Center":7056,"Ġasset":7057,"Capt":7058,"gon":7059,"Ġsignal":7060,"getId":7061,"Ġfuture":7062,"Validator":7063,"ĠLine":7064,"Ġsi":7065,"agger":7066,"Loading":7067,"mouse":7068,"getString":7069,"yml":7070,"Accept":7071,"requency":7072,"disabled":7073,"ĠCar":7074,"ping":7075,"ãĥĹ":7076,"\\\";":7077,"Ġles":7078,"Ġprotocol":7079,"anit":7080,"Ġrep":7081,"ĠEND":7082,"Execute":7083,"Ġreplace":7084,"Setting":7085,"Ip":7086,"ĠFix":7087,"samples":7088,"ĠLocal":7089,"Machine":7090,"Ġmaximum":7091,"issue":7092,"vue":7093,"Ġdynamic":7094,"supported":7095,"Ġeq":7096,"RED":7097,"ĠArgument":7098,"Basic":7099,"SUB":7100,"generator":7101,"sin":7102,".\"\"\"":7103,"reet":7104,"Actions":7105,"override":7106,"Ġstored":7107,"AMP":7108,"ĠCos":7109,"ArrayList":7110,"pd":7111,"Ġdst":7112,"ĠFoundation":7113,"heading":7114,"Shader":7115,"Ġskip":7116,"NESS":7117,"LD":7118,":\\\"":7119,"Ġaut":7120,"II":7121,"ê°Ģ":7122,"customer":7123,"ĠGets":7124,"Ġcharacters":7125,"Chunk":7126,"good":7127,"browser":7128,"Camera":7129,"cook":7130,"ĠMIT":7131,"pf":7132,"hook":7133,"yes":7134,"Ġcapt":7135,"ĠRoute":7136,"ĠUnit":7137,"Ġdatetime":7138,"ĠLogger":7139,"Ġjoin":7140,"ĠBut":7141,"indexOf":7142,"GEN":7143,".\")":7144,"Operator":7145,"TS":7146,"dispatch":7147,">=":7148,"checked":7149,"badge":7150,"prob":7151,"Ġnever":7152,"Ġexact":7153,";}":7154,"ĠSimple":7155,"Ĥ¬":7156,"ÙĪ":7157,"ìĭ":7158,"sheet":7159,"Ġìł":7160,"ULAR":7161,"Shell":7162,"tb":7163,"ORK":7164,"Ġadding":7165,"IMIT":7166,"Dict":7167,"locity":7168,"Ġpower":7169,"Ġ\");":7170,"Ġrequires":7171,"ving":7172,"pin":7173,"mesh":7174,"Kit":7175,"Ġshared":7176,"design":7177,"ĠErr":7178,"Dispatch":7179,"Ignore":7180,"ĠFrame":7181,"gov":7182,"Dynamic":7183,"cheduler":7184,"Ġ\"[":7185,"âĢľ":7186,"ĠGe":7187,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":7188,"amazon":7189,"chunk":7190,"mitive":7191,"éĥ¨":7192,"Ġqual":7193,"uck":7194,"Ġgoto":7195,"des":7196,"Ġ(-":7197,"idad":7198,"cam":7199,"jet":7200,"strip":7201,"pat":7202,"Install":7203,"UDE":7204,"Ġremain":7205,"FIL":7206,"circle":7207,"ä¾ĭ":7208,"Ġ\";":7209,"ulumi":7210,"publish":7211,"timer":7212,"shadow":7213,"ż":7214,"_);":7215,"Ġlower":7216,"DEX":7217,"Mov":7218,"}}'":7335,"parator":7336,"ĠSecurity":7337,"Ġdig":7338,"Car":7339,"uman":7340,"Ġtech":7341,"agnostics":7342,"except":7343,"redirect":7344,"quote":7345,"Buf":7346,"FALSE":7347,"Snapshot":7348,"ĠCore":7349,"Ġlearn":7350,"Ġunless":7351,"Errors":7352,"defer":7353,"direction":7354,"plain":7355,"âĸĪâĸĪ":7356,"Month":7357,"Ġavoid":7358,"ĠEng":7359,"Ġpartial":7360,"Ġbot":7361,"'\"":7362,"ctions":7363,"åģ":7364,"audio":7365,"Lin":7366,"Ġprovides":7367,"bn":7368,"urnal":7369,"power":7370,"Complete":7371,"constexpr":7372,"Ġoperations":7373,"-(":7374,"Ġclo":7375,"ĠCollection":7376,"Ġalpha":7377,"Ġdisable":7378,"Ġinitialize":7379,"big":7380,"thumb":7381,"Ġorigin":7382,"START":7383,"uplicate":7384,"ensity":7385,"Ġforward":7386,"ä½ł":7387,"Ġng":7388,"seed":7389,"definition":7390,"cores":7391,"Servlet":7392,"translate":7393,"Ġnav":7394,"Ġbin":7395,"Ġsimp":7396,"Ġ}}\"":7397,"anging":7398,"Ġcalls":7399,"ĠAbstract":7400,"AIN":7401,"ĠXML":7402,"La":7403,"/'":7404,"ĠAss":7405,"ĠSerial":7406,"ç»Ħ":7407,"Implement":7408,"AK":7409,"Ġmakes":7410,"ĠButton":7411,"ĠURI":7412,"pipe":7413,"EP":7414,"âĢĶ":7415,"VAR":7416,"Cursor":7417,"Chain":7418,"Ġsit":7419,"CLASS":7420,"rust":7421,"ĠSearch":7422,"Ġowner":7423,"Ġ.=":7424,"`](":7425,"getInstance":7426,"Side":7427,"operation":7428,"Visual":7429,"Alloc":7430,"ĠSign":7431,"Shared":7432,"Ġdistribution":7433,"Many":7434,"ãģŁ":7435,"vey":7436,"ação":7437,"istence":7438,"steps":7439,"ĠGitHub":7440,"placement":7441,"Ġvariant":7442,"Ġcy":7443,"Ġmedia":7444,"ĠLIMIT":7445,"ĠFALSE":7446,".)":7447,"_->":7448,"dropdown":7449,"Ġca":7450,"\">{{":7451,"Elements":7452,"PM":7453,"Extensions":7454,"*-":7455,"Ġspecial":7456,"Phone":7457,"Ġprimary":7458,"Ġduration":7459,"ĠOff":7460,"Ġlow":7461,"ĠMax":7462,"ãĥ©":7463,"Submit":7464,"xffffffff":7465,"ĠLIC":7466,"IZ":7467,"about":7468,"effect":7469,"ä¹ĭ":7470,"Big":7471,"$.":7472,"Timestamp":7473,"ĠPre":7474,"Ġ??":7475,"Ġseg":7476,"ĠFind":7477,"usic":7478,"ĠVec":7479,"pan":7480,"Ġbg":7481,"ĠMAX":7482,"NG":7483,"agic":7484,"translation":7485,"([]":7486,"WriteLine":7487,"See":7488,"trigger":7489,"logging":7490,"apps":7491,"thers":7492,"hd":7493,"accept":7494,"Download":7495,"Ġdialog":7496,"Loop":7497,"COUNT":7498,"Ġscroll":7499,"ĠCurrent":7500,"hicle":7501,"ĠMock":7502,"Ġlistener":7503,"Ġsuccessfully":7504,"continue":7505,"Ġnecessary":7506,"ĠMin":7507,"sequence":7508,"dark":7509,"utable":7510,"Ġsaved":7511,"spot":7512,"unwrap":7513,"',$":7514,"Ġnumbers":7515,"CUR":7516,"ĠSin":7517,"ooter":7518,"MAG":7519,"Ġdispatch":7520,"amage":7521,"abric":7522,"important":7523,"webkit":7524,"ĠRowBox":7525,"ctrl":7526,"pow":7527,"Ġneg":7528,"pyx":7529,"Exists":7530,"crease":7531,"INIT":7532,"Ġweight":7533,"mysql":7534,"åºı":7535,"ç³":7536,"ĠStream":7537,"literal":7538,"åĮº":7539,"õ":7540,"й":7541,"Ġuna":7542,"forward":7543,"å¦Ĥæŀľ":7544,"sizeof":7545,"Git":7546,"pn":7547,"Ġplan":7548,"DECL":7549,"ools":7550,"ĠMER":7551,"lict":7552,"Ġnothing":7553,"High":7554,"Ġnative":7555,"Optional":7556,"============":7557,"Ok":7558,"Inf":7559,"TX":7560,"ootstrap":7561,"Ġmo":7562,"ç»ĵ":7563,"è±":7564,"Ġchart":7565,"erature":7566,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":7567,"interval":7568,"iny":7569,"Chat":7570,"ú":7571,"writer":7572,"æĸ¹æ³ķ":7573,"/*!":7574,"Pane":7575,"ãģĵ":7576,"ãĢĢãĢĢ":7577,"ĠCloud":7578,"Aut":7579,"LP":7580,"Ġdom":7581,"Ġrect":7582,"Weight":7583,"Executor":7584,"ĠIm":7585,"Ġimplemented":7586,"ĠBack":7587,"ĠBit":7588,"edu":7589,"Rep":7590,"ISION":7591,"Ġanswer":7592,"agraph":7593,"elements":7594,"UUID":7595,"Ġcompute":7596,"PARAM":7597,"tv":7598,"Ġpackages":7599,"culate":7600,")`":7601,"Fn":7602,"Ġstatement":7603,"PACK":7604,";;;;":7605,"Ġwon":7606,"upper":7607,"scene":7608,"ãĥ«":7609,"Ġ'_":7610,"Ġpor":7611,"CHANT":7612,"elem":7613,"itions":7614,"extra":7615,"ĠLICENSE":7616,"Ġsay":7617,"Ġbook":7618,"ĠassertThat":7619,"KEN":7620,"commands":7621,"Ġlarge":7622,"Ġupload":7623,"Ġgive":7624,"twitter":7625,"Il":7626,"Columns":7627,"describe":7628,"Ġhold":7629,"figure":7630,"Ġrc":7631,"course":7632,"Console":7633,"!/":7634,"Req":7635,"åζ":7636,"ically":7637,"WIN":7638,"模":7639,"Children":7640,"URPOSE":7641,"__,":7642,"ky":7643,"BD":7644,"ĠGo":7645,"\"\\":7646,"PIO":7647,"Ġunderstand":7648,"PG":7649,"Ġforce":7650,"IFT":7651,"Ġsync":7652,"æĪĸ":7653,"NV":7654,"LIB":7655,"hello":7656,"ityEngine":7657,"Ġreject":7658,"Ġimpro":7659,"Ġask":7660,"Ġprice":7661,"()]":7662,"Ġsecurity":7663,"Ġproxy":7664,"METH":7665,"enchmark":7666,"Ġtrying":7667,"uses":7668,"Ġagent":7669,"speed":7670,"Ġwire":7671,"expression":7672,"nama":7673,"FFER":7674,"viders":7675,"links":7676,"AE":7677,"Ġlat":7678,"ĠOrder":7679,"Ġmp":7680,"rift":7681,"Ġtraining":7682,"Ġir":7683,"Äĩ":7684,"peg":7685,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":7686,"ĠChar":7687,"ĠProduct":7688,"xfe":7689,"Ġ}).":7690,"thead":7691,"Ġrate":7692,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":7693,"ĠMO":7694,"Ġattemp":7695,"Ġhaving":7696,"Decimal":7697,"']))":7698,"Ġloss":7699,"Expected":7700,"ĠBl":7701,"mdi":7702,"ĠModule":7703,"LY":7704,"lapack":7705,"çĻ":7706,"Segment":7707,"atan":7708,"Ve":7709,"dividual":7710,"indices":7711,"ITNESS":7712,"Ġdepth":7713,"æıIJ":7714,"Ġdelta":7715,"åŃIJ":7716,">';":7717,"bum":7718,"getMessage":7719,"LIN":7720,"Arr":7721,"REE":7722,"ĠColumn":7723,"ĠBuffer":7724,"Ġvisit":7725,"eration":7726,"frag":7727,"(((":7728,".*;":7729,"Ġdocs":7730,"esome":7731,"Google":7732,"what":7733,"asm":7734,"Ġisn":7735,"ĠBUT":7736,"ĠPARTIC":7737,"ression":7738,"[{\"":7739,"mult":7740,"learn":7741,"Ġloading":7742,"Ġpol":7743,"Ġmath":7744,"focus":7745,"Ġ\"\")":7746,"mobile":7747,"))))":7748,"aken":7749,"ĠJS":7750,"Alignment":7751,"CHANTABILITY":7752,"torch":7753,"Period":7754,"ĠPURPOSE":7755,"uss":7756,"aves":7757,"ĠBig":7758,"éĩį":7759,"Look":7760,"goto":7761,"IDTH":7762,"Ġfactory":7763,"subscribe":7764,"coming":7765,"ĠThen":7766,"Ġwrapper":7767,"Ġreceive":7768,"miss":7769,"]=":7770,"ĠhikariConfig":7771,"Ġboard":7772,"mx":7773,"Fac":7774,"Ġupdates":7775,"oser":7776,"Ġsn":7777,"ĠMark":7778,"BER":7779,"Ġlooks":7780,"dirname":7781,"hyper":7782,"´ë":7783,"ÅĽ":7784,"Signature":7785,"osite":7786,"codes":7787,"Ġ\")":7788,"ROOT":7789,"pixel":7790,"Ġher":7791,"Secret":7792,"ĠTRUE":7793,"slug":7794,"quent":7795,"া":7796,"apis":7797,"Ġselection":7798,"configure":7799,"ĠThread":7800,"Ġprobably":7801,"Dat":7802,"Dom":7803,"Virtual":7804,"å½ķ":7805,"Ġinputs":7806,"RGB":7807,"Ġdelay":7808,"Quest":7809,"ĊĉĠĠĠĠĠ":7810,"URN":7811,"danger":7812,"ĠControl":7813,"={\"":7814,"failed":7815,"ÑĪ":7816,"gres":7817,"Ġround":7818,"ĠEnum":7819,"ssue":7820,"rypto":7821,"ye":7822,"ĠFree":7823,")-":7824,"ä½į":7825,"ĠÎ":7826,"remarks":7827,"presentation":7828,"Ġfailure":7829,"mid":7830,"'):":7831,"Diff":7832,"éϤ":7833,"igen":7834,"ĠGrid":7835,"lems":7836,"ç͍æĪ·":7837,"\";":7857,"cnt":7858,"ĠOther":7859,"icular":7860,"xxxx":7861,"è":7862,"ARD":7863,"lots":7864,"createElement":7865,"Arch":7866,"Ġgetting":7867,"xC":7868,"Atom":7869,"Dictionary":7870,"Ġperformance":7871,"EMP":7872,"based":7873,"èİ·åıĸ":7874,"Ġ![":7875,"gif":7876,"ASH":7877,"backend":7878,";\"":7879,"news":7880,"Bottom":7881,"ĠReg":7882,"shell":7883,"Ġmanager":7884,"Gui":7885,"Alias":7886,"dbc":7887,"eno":7888,"Ġins":7889,"Ġui":7890,"visible":7891,"Ġclone":7892,"ĠERROR":7893,"Fill":7894,"identifier":7895,"Ġmodules":7896,"Trigger":7897,"Ġinterval":7898,"examples":7899,"which":7900,"Ġcollect":7901,"ipping":7902,"Pred":7903,"mal":7904,"checkbox":7905,"cdn":7906,"ìľ":7907,"ĠRef":7908,"alias":7909,"members":7910,"emit":7911,"_)":7912,"Ġthing":7913,"ĠShow":7914,"Ġ\"--":7915,"оÑĤ":7916,"åIJ¦":7917,"Ġperiod":7918,"sym":7919,"regex":7920,"REQUEST":7921,"LIED":7922,"Tools":7923,"compute":7924,"ctl":7925,"Plan":7926,"norm":7927,"æ¡":7928,"Tensor":7929,"ĠMERCHANTABILITY":7930,"Commit":7931,"Constructor":7932,"ajor":7933,"Switch":7934,"Payload":7935,"ternet":7936,"Ġtokens":7937,"Collect":7938,"yper":7939,"Customer":7940,"ç³»":7941,"Annotation":7942,"ìļ©":7943,"graphy":7944,"%\"":7945,"ĠLinux":7946,"Ġalong":7947,"payment":7948,"variant":7949,"ĠLay":7950,"ocation":7951,"Activ":7952,"ê²":7953,"ko":7954,"dw":7955,"Ġinform":7956,"Styles":7957,"ĠBuilder":7958,"ĠConst":7959,"Encoding":7960,"Failure":7961,"braries":7962,"alog":7963,"andidate":7964,"Promise":7965,"arison":7966,"но":7967,"ĠHandle":7968,"urther":7969,"ĠCOP":7970,"uv":7971,"rib":7972,"лÑı":7973,"Schedule":7974,"actual":7975,"Ġabsolute":7976,"Ġendif":7977,"isting":7978,"Head":7979,"vendor":7980,"Runner":7981,"metrics":7982,"gers":7983,"ĠAuto":7984,"-----------":7985,"endpoint":7986,"integr":7987,"anded":7988,"@@":7989,"Ġpanel":7990,"Ġanything":7991,"è¿Ķ":7992,"pped":7993,"xref":7994,"mes":7995,"Ġmapping":7996,"Ġз":7997,"æŁ¥":7998,"Mac":7999,"aits":8000,"Ġmatches":8001,"havi":8002,"vanced":8003,"Delegate":8004,"into":8005,"...)":8006,"Ġexplicit":8007,"Ġreproduce":8008,"LATE":8009,"//!":8010,"ght":8011,"asy":8012,"formance":8013,"plor":8014,"Ġitself":8015,"caption":8016,"ires":8017,"distance":8018,"Ġthree":8019,"ìĬ¤":8020,"asi":8021,"exe":8022,"irt":8023,"Angle":8024,"fol":8025,"ĠNe":8026,"avis":8027,"Depth":8028,":{":8029,"cost":8030,"canvas":8031,"ĠRequire":8032,"Classes":8033,"Ġ$\\":8034,"Ġbro":8035,"Ġentries":8036,"MSG":8037,"Fatal":8038,"Zero":8039,"Ġgreat":8040,"Contents":8041,"roadcast":8042,"ĠByte":8043,"FN":8044,"bt":8045,"refs":8046,"ý":8047,"radio":8048,"Ġstarting":8049,"Ġdestination":8050,"}},":8051,"ĠOp":8052,"ĠThat":8053,"éĢī":8054,"EVENT":8055,"Ġgrad":8056,"Ġdot":8057,"Ġfi":8058,"ĠApi":8059,"ãĤ¢":8060,"å¾Ĺ":8061,"ĊĊĠĠĠĠ":8062,"Ġ):":8063,"åĽ½":8064,"象":8065,"mbed":8066,"ÛĮ":8067,"Worker":8068,"Tile":8069,"istr":8070,"XY":8071,"strument":8072,"ĠInvalid":8073,"Ġgeneral":8074,"inputs":8075,"ĊĊĊĊĊĊĊĊ":8076,"nail":8077,"contents":8078,"hot":8079,"ĠGr":8080,"éľĢè¦ģ":8081,"Ġconstant":8082,"ĠPOST":8083,"currency":8084,"ĠGu":8085,"Ġdetermin":8086,"mr":8087,"*(":8088,"Strategy":8089,"Standard":8090,"ĠDebug":8091,"ĠLi":8092,"($_":8093,"SERVER":8094,"neg":8095,"ittle":8096,"Push":8097,"Alert":8098,"Btn":8099,"Focus":8100,"repeat":8101,"és":8102,"ĠAndroid":8103,"Summary":8104,"Ġbucket":8105,"Ġspan":8106,"ĠAM":8107,"ĠFITNESS":8108,"andbox":8109,"ĠĠĊĉ":8110,"Ġseparate":8111,"Exit":8112,"Ġdoing":8113,"å¹¶":8114,"Compiler":8115,"å¹´":8116,"Ġfast":8117,"ĠCOPY":8118,"since":8119,"ĠUINT":8120,"scripts":8121,"ARGET":8122,"æľį":8123,"è°ĥ":8124,"ĠConvert":8125,"setting":8126,"Where":8127,"Ġdeleted":8128,"}'":8129,"Ġlogic":8130,"AVE":8131,"seg":8132,"***":8133,"afka":8134,"GRO":8135,"stringify":8136,"Ġchecked":8137,"ech":8138,"ais":8139,"Own":8140,"::$":8141,"Ġhistory":8142,"isto":8143,"syntax":8144,"ĠConfiguration":8145,"DP":8146,"channels":8147,"gdx":8148,"ATED":8149,"'][":8150,"cancel":8151,"mn":8152,"Ġwords":8153,"iece":8154,"CV":8155,"]^":8156,"Ġfit":8157,"Ġfails":8158,"ĠNetwork":8159,"ulture":8160,"Authentication":8161,"reater":8162,"vg":8163,"xB":8164,"Ġ$.":8165,"ın":8166,"PHP":8167,"Components":8168,"\\.":8169,"ĠAg":8170,"Self":8171,"/?":8172,"ï¿":8173,"ĠFloat":8174,"Ġuintptr":8175,"åĬŁ":8176,"Speed":8177,"ç©":8178,"主":8179,"bine":8180,"Ġvisual":8181,"SOURCE":8182,"abc":8183,"Ġcross":8184,"CMD":8185,"Ġut":8186,"Ġagainst":8187,"refresh":8188,"Ġnamed":8189,"yl":8190,"Ġsignature":8191,"hold":8192,"次":8193,"Ġul":8194,"Ġembed":8195,"incipal":8196,"What":8197,"ões":8198,"기":8199,"registry":8200,"ffers":8201,"Ġprocessing":8202,"Bag":8203,"ĠThese":8204,"ERN":8205,"Ġtw":8206,"ĊĉĉĉĊĉĉ":8207,"Literal":8208,"Ġweek":8209,"Ġuri":8210,"Delay":8211,"maps":8212,"ед":8213,"bat":8214,"Ġlot":8215,"layers":8216,"Ġ>>>":8217,"Ġalgorithm":8218,"æľº":8219,"acer":8220,"cols":8221,"Fixed":8222,"__)":8223,"posts":8224,"Ġmoment":8225,"Ġdevelopment":8226,"Ġspeed":8227,"stderr":8228,"ĠRP":8229,"awt":8230,"monitor":8231,"once":8232,"extend":8233,"ordered":8234,"Illuminate":8235,"çķ":8236,"Team":8237,"declare":8238,"functions":8239,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":8240,"Ġchain":8241,"ACC":8242,"اØ":8243,"Ġtrace":8244,"Deploy":8245,"tasks":8246,"isk":8247,"Ġcompat":8248,"æĶ¹":8249,"Ġcancel":8250,"cesses":8251,"ä¹Ł":8252,"Ġtasks":8253,"HashMap":8254,"åı·":8255,"Subject":8256,"How":8257,"ĠAccess":8258,"................":8259,"Future":8260,"éĹ®":8261,"sender":8262,"Ġpermit":8263,"Ġíķ":8264,"TRAN":8265,"ä»ĸ":8266,"Ġinner":8267,"two":8268,"badlogic":8269,"rgb":8270,"Ġquick":8271,"Ġexamples":8272,"ainers":8273,"]{":8274,"visit":8275,"Ġcalling":8276,"Ġche":8277,"hu":8278,"Hello":8279,"æ±Ĥ":8280,"extract":8281,"built":8282,"texture":8283,"Ġvan":8284,"Bounds":8285,"MAKE":8286,"ĠFilter":8287,"logs":8288,"Ġrecent":8289,"---------":8290,"Ġmaint":8291,"ording":8292,"pred":8293,"Topic":8294,"Ġfinally":8295,"Try":8296,"](./":8297,"Ġpick":8298,"arguments":8299,"Ġtip":8300,"ĠACTION":8301,".|":8302,"ENCE":8303,"general":8304,"mployee":8305,"sop":8306,"MESS":8307,"ArgumentException":8308,"There":8309,"ог":8310,"optim":8311,"Python":8312,"å§ĭ":8313,"AtA":8314,"umul":8315,"Ġpi":8316,"agram":8317,"èĬ":8318,"selection":8319,"eclipse":8320,"Ġtra":8321,"ĠHashMap":8322,"Ġãĥ":8323,"ĠIter":8324,"ders":8325,"é¢ĺ":8326,"deep":8327,"pic":8328,"Ġcompile":8329,"Serialization":8330,"Press":8331,"ley":8332,"MEM":8333,"decor":8334,"uel":8335,"tile":8336,"Sheet":8337,"otes":8338,"ationToken":8339,"ĠThrow":8340,"Rec":8341,"Ġupper":8342,"Cpp":8343,"æĻ":8344,"Ġsyntax":8345,"POS":8346,"concurrent":8347,"Ġnn":8348,"Ġts":8349,"ĠParameters":8350,"Ġgroups":8351,"strings":8352,"ĠMet":8353,"Instances":8354,"Ġroom":8355,"NAMES":8356,"Feed":8357,"rpc":8358,"ĠMar":8359,"gal":8360,"Ġframework":8361,"linear":8362,"webpack":8363,"tty":8364,"Review":8365,"bundle":8366,"Poly":8367,"aN":8368,"commons":8369,"ê³ł":8370,"র":8371,"Ñī":8372,"æĹ¶éĹ´":8373,"Ġ!!":8374,"注":8375,"å·¥":8376,"jsp":8377,"nl":8378,"Ġfire":8379,"Ġsever":8380,"Other":8381,"Ġsec":8382,"setState":8383,"External":8384,"park":8385,"Pipeline":8386,"gray":8387,"cape":8388,"bp":8389,"UX":8390,"mv":8391,"ought":8392,"icture":8393,"Ġfine":8394,"tokens":8395,"ued":8396,"student":8397,"Radius":8398,"])^":8399,"Ġwhite":8400,"VC":8401,"Ġpat":8402,"udy":8403,"bas":8404,"atory":8405,"Pers":8406,"Cons":8407,"缸":8408,"Ġparticular":8409,"enkins":8410,"åħ¨":8411,"PRESS":8412,"marshal":8413,"Ġptr":8414,"Ġthough":8415,"products":8416,"常":8417,"Bad":8418,"Ġcourse":8419,"igrations":8420,"Room":8421,"ements":8422,"Ġë°":8423,"Ġbir":8424,"conditions":8425,"aste":8426,"Align":8427,"CLC":8428,"StackTrace":8429,"Ġsegment":8430,"iver":8431,"Ġfront":8432,"Board":8433,"Ġfact":8434,"Ġcorresponding":8435,"Ġparsed":8436,"ĠPort":8437,"period":8438,"HOME":8439,"*.":8440,"�":8441,"series":8442,"reply":8443,"Ġcfg":8444,"GP":8445,"Ġcomments":8446,"warn":8447,"Ġenough":8448,"MAC":8449,"Ġdependency":8450,"BUFFER":8451,"ĠEVENT":8452,"CLI":8453,"çľĭ":8454,"IDE":8455,"Ġtopic":8456,"Distance":8457,"mutex":8458,"Ġmouse":8459,"OBJECT":8460,"ĠIMPLIED":8461,"nx":8462,"gui":8463,"Ġcorrectly":8464,"mos":8465,"Authorization":8466,"NONE":8467,"')}}":8468,"ClassName":8469,"men":8470,"Ġcontract":8471,"HOST":8472,"Win":8473,"}\")":8474,"cla":8475,"Ġpot":8476,"//----------------------------------------------------------------":8477,"paths":8478,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":8479,"Ġvs":8480,"äºĭ":8481,"Ġtensor":8482,"Dev":8483,"IZE":8484,"Ġcharset":8485,"ampler":8486,"Linq":8487,"Ġconfigure":8488,"ĠLIMITED":8489,"anted":8490,"under":8491,"]).":8492,"Ġ'$":8493,"hub":8494,"rw":8495,"Controllers":8496,"oi":8497,"é»":8498,"elcome":8499,"ĠPHP":8500,"/_":8501,"iones":8502,"aaaa":8503,"åĮħ":8504,"utdown":8505,")){":8506,"Ġìķ":8507,"Ġvm":8508,"Include":8509,"resize":8510,"Canvas":8511,"geo":8512,"ĠOne":8513,"Ġendl":8514,"UBLIC":8515,"Ġ?>[":8828,"mul":8829,"annotations":8830,"该":8831,"Qual":8832,"yout":8833,"Ġ])":8834,"ained":8835,"epoch":8836,"rier":8837,"Ġ();":8838,"Ġhighlight":8839,"éļ":8840,"sur":8841,"eting":8842,"Ġrequested":8843,"Ġmodified":8844,"ìĿĢ":8845,"centage":8846,"ĠVisual":8847,"ĠWITH":8848,"Mo":8849,"_[":8850,"Ġface":8851,"éĤ":8852,"confirm":8853,"DOM":8854,"Ġtried":8855,"notification":8856,"lour":8857,"yped":8858,"Subscription":8859,"ĠDOUBLE":8860,"crypto":8861,"ĠCor":8862,"Resp":8863,"Ġdeclare":8864,"计":8865,"mazon":8866,"Pin":8867,"Ġcompare":8868,"HAND":8869,"energy":8870,";\\":8871,"Ġtransfer":8872,"Detalle":8873,"è¾ĵ":8874,"locfile":8875,"å¾®":8876,"AreEqual":8877,"ĊĊĊĠ":8878,"Ġê²":8879,"ĠâĢĵ":8880,"templates":8881,"PK":8882,"Ġtell":8883,"previous":8884,"'},":8885,"notes":8886,"|;":8887,"Ġwin":8888,"ìķ":8889,"querySelector":8890,"Methods":8891,"More":8892,"xffffff":8893,"LOB":8894,"SPE":8895,"gorithms":8896,"ĠADD":8897,"Guid":8898,"Design":8899,"ĊĊĉĉĉĉ":8900,"åıĤæķ°":8901,"lb":8902,"ĊĠĠĠĠĠĠĊĠĠĠĠĠ":8903,"Ġfunctionality":8904,"ĠÄij":8905,"Ġcolab":8906,"æľįåĬ¡":8907,"WT":8908,"ĠRouter":8909,"quip":8910,"ĠPropTypes":8911,"ĠNAME":8912,"Ġimportant":8913,"bank":8914,"FER":8915,"Dao":8916,"认":8917,"endregion":8918,"contract":8919,"reduce":8920,"Ġpack":8921,"ĠFont":8922,"ä¸İ":8923,"Tuple":8924,"Ġtexture":8925,"æ¸":8926,"Ġintent":8927,"Ġlonger":8928,"archive":8929,"Ġ'{":8930,"expand":8931,"\":[":8932,"matches":8933,"ĠNE":8934,"oth":8935,"otor":8936,"sidebar":8937,"jax":8938,"userId":8939,"aled":8940,"phi":8941,"éĸ":8942,"Ġvi":8943,"TEGER":8944,"curr":8945,"Cast":8946,"fw":8947,"Ġear":8948,"г":8949,"itecture":8950,"vention":8951,"об":8952,"allenge":8953,"绣":8954,"shall":8955,"ĠIllegal":8956,"ViewModel":8957,"ĠInitialize":8958,"ĠTry":8959,"å¢":8960,"æ¶":8961,"VIDED":8962,"bra":8963,"ĠTHIS":8964,"Ġ___":8965,"çĥ":8966,"Ġknown":8967,"changed":8968,"{})":8969,"arer":8970,"Ġscan":8971,"第":8972,"Coefficient":8973,"->{":8974,"ãģĭ":8975,"çŃī":8976,"Ġhit":8977,"åĪĻ":8978,"visual":8979,"Ġcompiler":8980,"åı£":8981,"ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":8982,"ĠAddress":8983,"enced":8984,"åѦ":8985,"Ġdiscus":8986,"ilation":8987,"Combo":8988,"Ġeverything":8989,"Blue":8990,"wall":8991,"photo":8992,"PACE":8993,"ĠCOPYRIGHT":8994,"NEXT":8995,"camera":8996,"ongs":8997,"--------------":8998,"Ġmembers":8999,"aced":9000,"Bucket":9001,"cade":9002,"selector":9003,"Pack":9004,"Present":9005,"clus":9006,"ĠLIABILITY":9007,"Fe":9008,"Origin":9009,"dynamic":9010,"Ġcls":9011,"Constraint":9012,"ĠSets":9013,"ARK":9014,"Autom":9015,"ups":9016,"Sound":9017,"Ġmaking":9018,"Ġfar":9019,"Checked":9020,"Primary":9021,"án":9022,"Seconds":9023,"Star":9024,"Ġaudio":9025,"tot":9026,"TM":9027,"lc":9028,"zu":9029,"Help":9030,"saved":9031,"Updated":9032,"ĠBU":9033,"Bot":9034,"ĠAccount":9035,"AUTH":9036,"Have":9037,"Ġbuilding":9038,"crumb":9039,"slot":9040,"ĠTop":9041,"ĠSchema":9042,"ĠShould":9043,"Ġ\"^":9044,"ĠAWS":9045,"onsive":9046,"Diagnostics":9047,"æĥħ":9048,"vb":9049,"WM":9050,"\">\\(":9051,"TOKEN":9052,"BOOL":9053,"iNdEx":9054,"ак":9055,"ĠINCL":9056,"reflect":9057,"Ġblocks":9058,"dep":9059,"pip":9060,"Ter":9061,"Lat":9062,"tor":9063,"IME":9064,"Ġou":9065,"evalu":9066,"FROM":9067,"ĠĊĠĠ":9068,"ORE":9069,"Overflow":9070,"Qt":9071,"mg":9072,"Ġshell":9073,"Bin":9074,"Ġdidn":9075,"/\">":9076,"ĠJust":9077,"tax":9078,"Assign":9079,"ĠNow":9080,"extensions":9081,"ĠReport":9082,"ä¿Ŀ":9083,"tion":9084,"Missing":9085,"Ġcanvas":9086,"اÙĦ":9087,"Picker":9088,"suite":9089,"ĠAdded":9090,"åıª":9091,"ients":9092,"د":9093,"Ġtransition":9094,"ĠContainer":9095,"Refresh":9096,"GTH":9097,"Ġcd":9098,"SDK":9099,"clock":9100,"Ġcs":9101,"Ġlas":9102,"ipher":9103,"=${":9104,"Ġmerged":9105,"Ġjupy":9106,"Done":9107,"React":9108,"ções":9109,"ND":9110,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":9111,"ira":9112,"Extra":9113,"å·²":9114,"ipt":9115,"ĠSty":9116,"Consumer":9117,"'+":9118,"LOAT":9119,"Ġ\">":9120,"floor":9121,"åĪĽ":9122,"ĠArt":9123,"Ġseed":9124,"ĠDec":9125,"Ġarticle":9126,"ĠProto":9127,"ĠAdmin":9128,"ceeded":9129,"ĠTag":9130,"navigation":9131,"ara":9132,"æĵ":9133,"Observer":9134,"ERS":9135,"Ġappropriate":9136,"ĊĉĉĠ":9137,"standard":9138,"orary":9139,"FilePath":9140,"Metric":9141,"Ġ'')":9142,"Ġdep":9143,"peated":9144,"ĠDevice":9145,"ĠDown":9146,"methods":9147,"ĠPri":9148,"åıĺ":9149,"entries":9150,"scriptions":9151,"weet":9152,"æĢģ":9153,"Rules":9154,"Ġyes":9155,"Ġauthentication":9156,"Navigation":9157,"ancell":9158,">/":9159,"Family":9160,"Ġbackend":9161,"valueOf":9162,"!!!!":9163,"/${":9164,"implement":9165,"]\",":9166,"Ġvo":9167,"Factor":9168,"Ġcalculate":9169,"!(\"":9170,"åķ":9171,"Est":9172,"Ġchoose":9173,"ç½ij":9174,"Ġreading":9175,"Ġspr":9176,"ĠExpect":9177,"=/":9178,"NODE":9179,"ĠPREC":9180,"ĉĉĉĉĉ":9181,"Ġselector":9182,"Constraints":9183,"sock":9184,"Place":9185,"BT":9186,"rase":9187,"illing":9188,"Delta":9189,"iversity":9190,"Integr":9191,"**,":9192,"INDEX":9193,"ĠPrint":9194,"Ġcli":9195,"Ġnotification":9196,"Validate":9197,"permission":9198,"ĠOK":9199,"ĠImport":9200,"Ġdr":9201,"Ġpour":9202,"Ġcp":9203,"ĠMaybe":9204,"ĠJob":9205,"Ġpa":9206,"Android":9207,"USED":9208,"Ġanalysis":9209,"clc":9210,"filters":9211,"Ġrecords":9212,"bro":9213,"Ġfoo":9214,"Ġmatching":9215,"им":9216,"prevent":9217,"Ġrouter":9218,"ãģĹãģ¾":9219,"ente":9220,"orph":9221,"Ġpt":9222,"abe":9223,"Ġrs":9224,"ebook":9225,"Ġwx":9226,"Ġnpm":9227,"Ġvertex":9228,"izers":9229,"ledge":9230,"å¤Ħ":9231,"zn":9232,"Ġinf":9233,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":9234,"符":9235,"environment":9236,"flash":9237,"CONST":9238,"Ċĉĉĉĉĉĉĉĉĉĉĉ":9239,"gc":9240,"Ġdevices":9241,"ç±»åŀĭ":9242,"Ġpx":9243,"entities":9244,">$":9477,"Ġ<>":9478,"Ctrl":9479,"nr":9480,"ĠãĤ":9481,"Ġbas":9482,"=\"${":9483,"Ġseries":9484,">(\"":9485,"ya":9486,"ARRAY":9487,"ани":9488,"ĠMac":9489,"Slot":9490,"lica":9491,"BUILD":9492,"qa":9493,"ĠReference":9494,"icht":9495,"Ġ{$":9496,"forge":9497,"Ùĩ":9498,"Ġdas":9499,"ĠRandom":9500,")$":9501,"/:":9502,"xbe":9503,"Metrics":9504,"RPC":9505,"Serialize":9506,"ç®Ĺ":9507,"deb":9508,"olid":9509,"ips":9510,"curl":9511,"lon":9512,"apple":9513,"Running":9514,"Using":9515,"oxy":9516,"Drag":9517,"Geometry":9518,"Ġdisk":9519,"erved":9520,"TOP":9521,"æĹł":9522,"duced":9523,"^{":9524,"Ġstudent":9525,"Ġmesh":9526,"ĠHome":9527,"ت":9528,"Ġ------------------------------------------------":9529,"haviour":9530,"FP":9531,"[[":9532,"Ġemit":9533,"cookie":9534,"relative":9535,"isation":9536,"ĠDocker":9537,"ifec":9538,"fake":9539,"ĠHere":9540,"Ġverbose":9541,"ĠCOMM":9542,"alo":9543,"METHOD":9544,"FB":9545,"]=\"":9546,"Ġapplied":9547,"Certificate":9548,"说":9549,"ä¹Ī":9550,"RST":9551,"Ġdw":9552,"Ġprior":9553,"Features":9554,"Ġbecome":9555,"alent":9556,"\"][\"":9557,"redis":9558,"ĠìĹ":9559,"ledger":9560,"versions":9561,"åħĥ":9562,"æĶ¯":9563,"SESSION":9564,"Ġpin":9565,"ĠFire":9566,"Ġsupports":9567,"LENGTH":9568,"signature":9569,"Ġlittle":9570,"lectron":9571,"MESSAGE":9572,"atur":9573,"Changes":9574,"Ġwebsite":9575,"xD":9576,"Ġconfigured":9577,"variables":9578,"asc":9579,"Ġyy":9580,"Ġpublished":9581,"weights":9582,"æĮģ":9583,"ж":9584,"Ġcreates":9585,"Ġll":9586,"beans":9587,"\"{":9588,"éħįç½®":9589,"ICATION":9590,"ĠDATA":9591,"'''":9592,")**":9593,"Ident":9594,"Stage":9595,"Toggle":9596,"Instruction":9597,"Ġje":9598,"textarea":9599,"NECTION":9600,">\",":9601,"Ġ\"__":9602,"kotlin":9603,"Images":9604,"odb":9605,"ĠUsing":9606,"PA":9607,"Ġlearning":9608,"CEPT":9609,"Browser":9610,"animation":9611,"Ġcolors":9612,"transport":9613,"ç¡":9614,"cuda":9615,"enn":9616,"Ġtile":9617,"ĠCount":9618,"you":9619,"ellow":9620,"NAMESPACE":9621,"ï¼Ł":9622,"Ġaltern":9623,"Ġexperiment":9624,"WA":9625,"Ġfür":9626,"AIL":9627,"ĠREAD":9628,"SCRIPTION":9629,"Cert":9630,"Ġcomplet":9631,"rst":9632,"ERO":9633,"Strings":9634,"uj":9635,"íĬ":9636,"Ġsha":9637,"urred":9638,"Ġsimply":9639,"SHIFT":9640,"Ġscene":9641,"overflow":9642,"Ġtre":9643,"ieve":9644,"OLDER":9645,"Ġvon":9646,"strcpy":9647,"MR":9648,"EB":9649,"Ġ[-":9650,"Paths":9651,"Ġfac":9652,"Members":9653,"=\"../../../":9654,"IMARY":9655,"ifecycle":9656,"ĠJavaScript":9657,"Ġ))":9658,"LAY":9659,"units":9660,"Ġps":9661,"Ġ$$":9662,"\"/":9663,"descriptor":9664,"ĠExp":9665,"future":9666,"Ġregex":9667,"Ġids":9668,"空":9669,"(\"[":9670,"pending":9671,"Dependency":9672,"htm":9673,"DIRECT":9674,"\\\",\\\"":9675,"Ty":9676,"XR":9677,"velopers":9678,"fac":9679,"dependent":9680,"Publish":9681,"TARGET":9682,"ĠCI":9683,"ä»İ":9684,"dll":9685,"Ġfurther":9686,"ĠRet":9687,"uro":9688,"upt":9689,"Foundation":9690,"PASS":9691,"nv":9692,"inator":9693,"ĠDim":9694,"Times":9695,"Ġlooking":9696,"Ġcustomer":9697,"requests":9698,"square":9699,"getClass":9700,"avatar":9701,"Ġapt":9702,"VEL":9703,"cycl":9704,"DEP":9705,"ĠStringBuilder":9706,"ĠPackage":9707,"/%":9708,"DY":9709,"Ġdtype":9710,"Cr":9711,"Ġcss":9712,"å¿ħ":9713,"线":9714,"roles":9715,"Ġ`<":9716,"slider":9717,"SK":9718,"para":9719,"-.":9720,"facebook":9721,"Ġ_.":9722,"ĠAfter":9723,"SED":9724,"partment":9725,",%":9726,"он":9727,"íĦ":9728,"stock":9729,"Vk":9730,"ë§":9731,"live":9732,"Ġgreen":9733,"pw":9734,"ita":9735,"è¶":9736,"Ġrefresh":9737,"éĽĨ":9738,"plier":9739,"æł¼":9740,"()}":9741,"Dig":9742,"éª":9743,"party":9744,"Analysis":9745,"Jo":9746,"Thanks":9747,"ĠProperties":9748,"destination":9749,"Ġgenerator":9750,"fort":9751,"Could":9752,"ĠBO":9753,"äºĽ":9754,"Ġwatch":9755,"=\"#\">":9756,"Pol":9757,"项":9758,"PIN":9759,"Ġboost":9760,"VSOP":9761,"war":9762,"SG":9763,"/$":9764,"ë©":9765,"Ġclock":9766,"Ġadv":9767,"quant":9768,"collections":9769,"Commands":9770,"started":9771,"ä»»":9772,"xA":9773,"nology":9774,"ä¹ī":9775,"æ·":9776,"constants":9777,"Ġpartition":9778,"GROUP":9779,"amento":9780,"ĠStack":9781,"Final":9782,"aily":9783,"Patch":9784,"missing":9785,"priority":9786,"XXX":9787,"ä¿®":9788,"Ġpad":9789,"LAB":9790,"fu":9791,"Ġruns":9792,"tail":9793,"Accessor":9794,"[])":9795,"`);":9796,"aur":9797,"æľŁ":9798,"Ġ`/":9799,"ãģį":9800,"Ġsamples":9801,"cu":9802,"ĠRecord":9803,"Ġwrap":9804,"ĠMB":9805,"ĠHas":9806,"Ġnorm":9807,"Ġproblems":9808,"Let":9809,"Ġexpr":9810,"Ġmt":9811,"Ġsin":9812,"ByName":9813,"Ġ/><":9814,"èĬĤ":9815,"Stub":9816,"azz":9817,"__.":9818,"Ġpriv":9819,"encia":9820,"ĠMedia":9821,"crate":9822,"ĠStorage":9823,"Hook":9824,"INGS":9825,"端":9826,"iro":9827,"ned":9828,"avsop":9829,"Ġshows":9830,"imated":9831,"ĠAUTO":9832,"reverse":9833,"rowse":9834,"ientation":9835,"Ġphone":9836,"æ´":9837,"ĠSm":9838,"igo":9839,"Img":9840,",\\":9841,"FUNCTION":9842,"Ġdecode":9843,"Ġwhole":9844,"Ġhope":9845,"ĠOver":9846,"Ġcout":9847,"Ġslot":9848,"statement":9849,"Modified":9850,"é«ĺ":9851,"ëł":9852,"Indic":9853,"fragment":9854,"health":9855,"MODULE":9856,"PREFIX":9857,"idade":9858,"els":9859,"sudo":9860,"Ġaavsop":9861,"striction":9862,"DAT":9863,"POINT":9864,"partial":9865,"Ġdescriptor":9866,"quation":9867,"Uint":9868,"cursive":9869,"ĠVariable":9870,"SIGN":9871,"ĠCell":9872,"gpu":9873,"workflow":9874,"ĠSave":9875,"Ġol":9876,"Ġxs":9877,"Upper":9878,"å®ī":9879,"zeros":9880,"sun":9881,"rev":9882,"Dimension":9883,"Ġsaid":9884,"validator":9885,"projection":9886,"è·¯":9887,"Sharp":9888,"worker":9889,"né":9890,"EventHandler":9891,"week":9892,"ROP":9893,"DataType":9894,"uffle":9895,"åįļ":9896,"Ġ\"../../":9897,"ostream":9898,"Ġfd":9899,"LEMENT":9900,"ysics":9901,"Software":9902,"Apply":9903,"ubuntu":9904,")'":9905,"preventDefault":9906,"rient":9907,"ĠìĦ":9908,"Ġshall":9909,"kn":9910,"ĠGen":9911,"Ġ&#":9912,"Pa":9913,"Ġbundle":9914,"Entries":9915,"èī":9916,"Ĥ¨":9917,"chr":9918,"ĠProgram":9919,"anchor":9920,"Ġdetermine":9921,"bal":9922,"ĠSettings":9923,"âķIJâķIJâķIJâķIJ":9924,"ÑģÑı":9925,"CTYPE":9926,"Question":9927,"kl":9928,"Tex":9929,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":9930,"åĽł":9931,"urchase":9932,"Ġhandling":9933,"Ġsound":9934,"ĠINFO":9935,"Ġcast":9936,"ĠRedist":9937,"Connector":9938,"NotFoundException":9939,"Confirm":9940,"unicode":9941,"CPU":9942,"ëIJ":9943,"Prob":9944,"ç§į":9945,"Ġimpl":9946,"generic":9947,"ç¾":9948,"asing":9949,"Visibility":9950,"ĠThrowable":9951,"Ġpres":9952,"ĠCategory":9953,"lications":9954,"osen":9955,"}_":9956,"ĠAttribute":9957,"Ġpriority":9958,"attach":9959,"Ġhex":9960,"åĩ½":9961,"Initialize":9962,"è¿Ľè¡Į":9963,"ĠCR":9964,"à§į":9965,"tutorial":9966,"Ġeval":9967,"eth":9968,"=\"#\"":9969,"Ctx":9970,"extends":9971,"vari":9972,"Ġoverflow":9973,"ipped":9974,"ĠBox":9975,"ici":9976,"ĊĉĠĠĠĠ":9977,"Arrays":9978,"medium":9979,"lst":9980,"åĨĻ":9981,"itation":9982,"usters":9983,"ãĤī":9984,"Ġcurr":9985,"binding":9986,"dAtA":9987,"PROTO":9988,"ĠINCLUDING":9989,"ĠSC":9990,"Ġunits":9991,"shields":9992,"ancer":9993,"PLAY":9994,"cx":9995,"positories":9996,"ĠMenu":9997,"Transport":9998,"ono":9999,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":10000,"Wrap":10001,"LowerCase":10002,"Ġvari":10003,"answer":10004,"pict":10005,"ih":10006,"NON":10007,"servlet":10008,"nu":10009,"ĠUnityEngine":10010,"Ġmit":10011,"[],":10012,"acon":10013,"Ġassume":10014,"sharp":10015,"agnostic":10016,"Ġquestions":10017,"ĠTool":10018,"Ġstage":10019,"Ġast":10020,"Ġmetric":10021,"Ġstyles":10022,"Ġprocedure":10023,"ĠEmail":10024,"Dot":10025,"arb":10026,"Ġ(%":10027,"ACH":10028,"Ġmarker":10029,"BI":10030,"parts":10031,"Ġiterator":10032,"Health":10033,"Decor":10034,"cer":10035,"Sem":10036,"íĬ¸":10037,"Kernel":10038,"ivo":10039,"<=":10040,"åĪĽå»º":10041,"azione":10042,"Ġshown":10043,"Ìģ":10044,"ETHER":10045,"AU":10046,"}',":10047,"nullable":10048,"ĠDAMAGES":10049,"addClass":10050,"Ġss":10051,"Ġproducts":10052,"Shadow":10053,"å®Į":10054,"allback":10055,":]":10056,"ĠTarget":10057,"Ġmedi":10058,"ĠReset":10059,"hard":10060,"Ġsafe":10061,"LER":10062,"agr":10063,"Ġcreation":10064,"ĠĠĊĠĠĠ":10065,"Ġstates":10066,"Extract":10067,"=&":10068,"sound":10069,"ĠCLI":10070,"Ġdefaults":10071,"ĠPROVIDED":10072,"ĠEngine":10073,"avg":10074,"processor":10075,"Ġstroke":10076,"NonNull":10077,"Ġapproach":10078,"SSL":10079,"Ġdestroy":10080,"Ġlinear":10081,"ership":10082,"Appro":10083,"Ġthreshold":10084,"ĊĠĠĠĠĠĠĠĠĊĠĠĠ":10085,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":10086,"Ġblue":10087,"Ġrelevant":10088,"connected":10089,"Ġindividual":10090,"ĠValueError":10091,"ĠImplement":10092,"vt":10093,"Branch":10094,"nan":10095,"Eq":10096,"special":10097,"Ġschedule":10098,"ritical":10099,"ĠYes":10100,"plotlib":10101,"fox":10102,"Credentials":10103,"tur":10104,"Ġscripts":10105,"Emit":10106,"Ġoutputs":10107,"íķ´":10108,"ToolStrip":10109,"çĬ¶":10110,"Ġcharge":10111,"Front":10112,"Docs":10113,"Ġtested":10114,"TEMP":10115,"ка":10116,"iam":10117,"inger":10118,"geometry":10119,"Anchor":10120,"ClickListener":10121,"lookup":10122,"ĠFixed":10123,"Writ":10124,"numeric":10125,"posal":10126,"wi":10127,"Ġdump":10128,"LONG":10129,"Ġrequirements":10130,"à¥":10131,"++++++++":10132,"istogram":10133,"peech":10134,"Ġminutes":10135,"Lookup":10136,"anning":10137,"Tables":10138,"iki":10139,"Ġgeneric":10140,"ÑĨи":10141,"CONTRO":10142,"STRUCT":10143,"Inline":10144,"BUF":10145,"å¼ķ":10146,"įä½ľ":10147,"æľĪ":10148,"Ġsuccessful":10149,"æºIJ":10150,"Ġmult":10151,"apsed":10152,"Ġworkflow":10153,">',":10154,"ãģĹãģ¾ãģĻ":10155,"Ġreverse":10156,"Ġrespect":10157,"OFFSET":10158,"åŁº":10159,"Ġacross":10160,"ĠUP":10161,"ĠInit":10162,"vertical":10163,"ô":10164,"Variables":10165,"Ġaz":10166,"HPP":10167,"éĢļè¿ĩ":10168,"ç¼ĸ":10169,"ĠIcon":10170,"RS":10171,"tod":10172,"Ġnotes":10173,"mkdir":10174,"管çIJĨ":10175,"Ġaws":10176,"ĠAV":10177,"ĠDraw":10178,"iq":10179,"Ġds":10180,"backup":10181,"|[":10182,"|-":10183,"ĠSHALL":10184,"tz":10185,"Che":10186,"character":10187,"ä¸ŃçļĦ":10188,"Unique":10189,"ĠEXPRESS":10190,"Ġpretty":10191,"INF":10192,"Ġindices":10193,"Ġrm":10194,"Your":10195,"éĴ":10196,"preter":10197,"('../":10198,"compiler":10199,"ISING":10200,"spark":10201,"æł·":10202,"Unexpected":10203,"Ġseveral":10204,"åĩ½æķ°":10205,"Scheme":10206,"Asp":10207,"çĦ¶":10208,"EO":10209,"Shift":10210,"ĠWord":10211,"nonatomic":10212,"hadoop":10213,"Ġpoly":10214,"TextField":10215,"è¯ķ":10216,"ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":10217,"ĠCPU":10218,"Ġinterest":10219,"ĠCN":10220,"ena":10221,"UserId":10222,"ousel":10223,"è¿Ļ个":10224,"Ġreflect":10225,"Hex":10226,"Ġdevelop":10227,"?)":10228,"README":10229,"Ġcurl":10230,"ãģĨ":10231,"èģ":10232,"ÃŃt":10233,"icult":10234,"vr":10235,"appendChild":10236,"çĥŃ":10237,"Round":10238,"Filename":10239,"deli":10240,"*>(":10241,"arc":10242,"Ġconcept":10243,"ĠVAR":10244,"Ġdecimal":10245,"ĠSELECT":10246,"apes":10247,"ooth":10248,"EqualTo":10249,"JsonProperty":10250,"ĠLet":10251,"Ġplugins":10252,"(\"@":10253,"nh":10254,"'\\":10255,"iffer":10256,"erry":10257,"SUP":10258,"dotnet":10259,"RTX":10260,"calc":10261,"Helpers":10262,"IEW":10263,"het":10264,"specific":10265,"spond":10266,"Tw":10267,"ĠHeader":10268,"äºĮ":10269,"documentation":10270,"innerHTML":10271,"getType":10272,"Ġproperly":10273,"čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":10274,"acher":10275,"ĠFormat":10276,"ISTS":10277,"ä¼ł":10278,"abor":10279,"\"):":10280,"inject":10281,"Ġcertificate":10282,"ocab":10283,"Ġpb":10284,"ĠScript":10285,"Ġ:)":10286,"hal":10287,"Ġmanually":10288,"bgn":10289,"Ġfragment":10290,"Slice":10291,"ĠExpression":10292,"Ġrepresentation":10293,"alyzer":10294,"ç»ı":10295,"转":10296,"Ġvarious":10297,"ullet":10298,"outh":10299,"disk":10300,"FLOAT":10301,"Ġignored":10302,"Ġdescribed":10303,"cgi":10304,"Ġjest":10305,"Ġkwargs":10306,"Println":10307,"Ġmicro":10308,"UA":10309,"ĠSER":10310,"ught":10311,"Balance":10312,"Ġelem":10313,"ĠCONTRACT":10314,"plorer":10315,"spacing":10316,"ippet":10317,"umulative":10318,"Ġauf":10319,"Ġhim":10320,"sal":10321,"BLOCK":10322,"Supported":10323,"ktop":10324,"scr":10325,"Priority":10326,"iming":10327,"ropy":10328,"Ġpromise":10329,"LED":10330,"jobs":10331,"Based":10332,"running":10333,"Share":10334,"placeholder":10335,"Requests":10336,"numpy":10337,"Ġtypedef":10338,"Ġleg":10339,"runner":10340,"ĠuseState":10341,"èª":10342,"Ġtables":10343,"CMakeFiles":10344,"Padding":10345,"Bal":10346,"gree":10347,"BIN":10348,"ĠBr":10349,"bindir":10350,"atial":10351,"yr":10352,"Ġimplicit":10353,"reason":10354,"Ġtcp":10355,"peer":10356,"ban":10357,"nop":10358,"(\"-":10359,"ancy":10360,"clip":10361,"Ġpeer":10362,"ĠDIS":10363,"itution":10364,"Ġfactor":10365,"Ġworker":10366,"Declaration":10367,"Ġ;;":10368,"tos":10369,">":17748,"Through":17749,"bitField":17750,"](../../../":17751,"Pixels":17752,"aspect":17753,"Ġbc":17754,"订":17755,"注æĦı":17756,"she":17757,"Ġhosts":17758,"é¢Ħ":17759,"Callbacks":17760,"getParameter":17761,"eo":17762,"CHARACTER":17763,"ĠEnglish":17764,"minor":17765,"Solver":17766,"Ġcovered":17767,"ĠBadRequest":17768,"TAC":17769,"trap":17770,"Ġaccessible":17771,"ĠhashCode":17772,"uta":17773,"PED":17774,"Posts":17775,"ĠAbout":17776,"alter":17777,"Ġssl":17778,"åĵį":17779,"ĠLive":17780,"probe":17781,"<_":17782,"ĠnewValue":17783,"ĠAuthorization":17784,"until":17785,"Checkbox":17786,"Ġinspect":17787,"implemented":17788,"ĠLEFT":17789,"ĊĉĠĠĠĠĠĠ":17790,"xad":17791,"imag":17792,"EXPR":17793,"ĠFixes":17794,"IQ":17795,"Ġusuario":17796,"lag":17797,"×Ķ":17798,"CSV":17799,"è¾¹":17800,"blur":17801,"å®ŀä¾ĭ":17802,"Three":17803,"Ln":17804,"Ġgene":17805,"games":17806,"ĠSTYLE":17807,"scatter":17808,"Ġdiagnostic":17809,"Ġregions":17810,"以ä¸ĭ":17811,"âĶģâĶģ":17812,"ÑĤÑĮ":17813,"ican":17814,"isse":17815,"Ġinserted":17816,"Ġentre":17817,"Working":17818,"Macro":17819,"Vault":17820,"Ġsolver":17821,"è´¹":17822,"KR":17823,"ej":17824,"ĠShare":17825,"FORCE":17826,"å·¥ä½ľ":17827,"san":17828,"æİ§åζ":17829,"åΤæĸŃ":17830,"xls":17831,"jest":17832,"Ġchan":17833,"ìŀħ":17834,"ên":17835,"Ġreward":17836,"ĠFill":17837,"Calls":17838,"Ġkönnen":17839,"Bid":17840,"Descriptors":17841,"ĠLED":17842,"ãĤ§":17843,"ĠTransfer":17844,"ftime":17845,"Ġconcern":17846,"ATEG":17847,"æĿ¿":17848,"meth":17849,"Ġpoll":17850,"Ġmv":17851,"Ġens":17852,"ĠComputer":17853,"Ġfrag":17854,"inese":17855,"ĠESTADO":17856,"coordinates":17857,"Ġ');":17858,"Ġodd":17859,"Succeeded":17860,"Jump":17861,"abort":17862,"gitlab":17863,"]].":17864,"Ġshutdown":17865,"Protos":17866,"serialization":17867,"ĠRegion":17868,"lucene":17869,"enate":17870,"Ġ*****************************************************************":17871,"logged":17872,"RTC":17873,"ĠHttpResponse":17874,"··":17875,"queeze":17876,"Ġ@{":17877,"ĠADC":17878,"对åºĶ":17879,"ĠDig":17880,"scenario":17881,"ĠStarted":17882,"Benchmark":17883,"lio":17884,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":17885,"ĊĠĠĠĠĠĠĊĠĠĠĠĠĠĠ":17886,"׾":17887,"Ġdeliver":17888,"labs":17889,"ĠPod":17890,"ofs":17891,"visions":17892,"ĠEvents":17893,"xxxxxxxx":17894,"Pur":17895,"Ġstopped":17896,"builds":17897,"ĠLOSS":17898,"duk":17899,"SourceFile":17900,"Ġcool":17901,"Ġfood":17902,"SEARCH":17903,"StartTime":17904,"BINARY":17905,"shuffle":17906,"ASF":17907,"Ġpopulation":17908,"ĠDependency":17909,"¡°":17910,"λ":17911,"Ġasc":17912,"sequ":17913,"icast":17914,"bins":17915,"electron":17916,"Ġ\":\"":17917,"Ġini":17918,"(\":":17919,"Ġanaly":17920,"ì²´":17921,"ĠArr":17922,"Resolved":17923,"иÑĩ":17924,"zaxxer":17925,"\">)(),":17971,"receipt":17972,"BX":17973,"éc":17974,"Works":17975,"ĠProblem":17976,"Voice":17977,"Ġ'.$":17978,"($(":17979,"digits":17980,"ĠSpecial":17981,"Ġavec":17982,"Way":17983,"Reflect":17984,"','','":17985,"COMPONENT":17986,"(\"\")":17987,"ĠFoo":17988,"Ġcomput":17989,"Nothing":17990,"Positive":17991,"GLIGENCE":17992,"Ġsrv":17993,"Ġdoor":17994,"åľº":17995,"ĠOracle":17996,"Utf":17997,"ãģªãģĦ":17998,"NavBar":17999,"enumber":18000,"Blend":18001,"Ġbring":18002,"plaintext":18003,"ALI":18004,"ĠCONST":18005,"shortcut":18006,"ĠGameObject":18007,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":18008,"________________________________":18009,"'/":18010,"oog":18011,"Dll":18012,"inn":18013,"developers":18014,"Cos":18015,"MediaType":18016,"Duplicate":18017,"__\":":18018,"ĊĉĉĉĉĠ":18019,"interop":18020,"imgs":18021,"Spell":18022,"announce":18023,"Cut":18024,"Ġ[%":18025,"sector":18026,"ilege":18027,"Ġpatient":18028,"àº":18029,"Energy":18030,"ĠASF":18031,"UTION":18032,"Mz":18033,"DBG":18034,"arable":18035,"errer":18036,"continu":18037,"']]":18038,"ĠÑģл":18039,"Ġmaintain":18040,"ìĿĮ":18041,"Ġwall":18042,"ĠNavigation":18043,"ĠRegex":18044,"Ġderiv":18045,"sanit":18046,"challenge":18047,"ĠfilePath":18048,"Ġíģ":18049,"iverse":18050,"Streaming":18051,"ela":18052,"Ġgenerates":18053,"Ġmoves":18054,"ĠCalled":18055,"oso":18056,"Trust":18057,"ceeds":18058,"TAB":18059,"Encoded":18060,"æĺĵ":18061,"Ġbodega":18062,"Ġclusters":18063,"á¹":18064,"Ġglsl":18065,"ĠCV":18066,"ĠìĥĿ":18067,"Credit":18068,"wf":18069,"Appearance":18070,"Pyx":18071,">(<":18072,"èµĦæºIJ":18073,"Ġtrust":18074,"Streams":18075,"*":18717,"alax":18718,"Ġdates":18719,"Concurrent":18720,"Ġcomputing":18721,"ĠëķĮ":18722,"detach":18723,"Attrs":18724,"ainter":18725,"Ġcompression":18726,"Plain":18727,"!)":18728,"ĠSol":18729,"ĠPacket":18730,"ubleshoot":18731,"Spot":18732,"ĠModal":18733,"Ġsituation":18734,"pac":18735,"ĠESP":18736,"ĠADVISED":18737,"parentNode":18738,"RAD":18739,"ende":18740,"Ġmás":18741,"getS":18742,"Ġĉĉĉ":18743,"instr":18744,"Foreground":18745,"terraform":18746,"House":18747,"Watcher":18748,"reed":18749,"=\"@":18750,"ĠIns":18751,"formatted":18752,"åĽĽ":18753,"Ġfreq":18754,"ĠCancellationToken":18755,"ĠFollow":18756,"lout":18757,"veedor":18758,"ìķĦ":18759,"ĠSIG":18760,"Ġê²½":18761,"Px":18762,"rq":18763,"ר":18764,"Ġdesktop":18765,"(${":18766,"Ġuploaded":18767,"setData":18768,"``,":18769,"ĠÂł":18770,"combo":18771,"Ċĉĉĉĉĉĉĉĉĉĉĉĉĉĉ":18772,"CLOSE":18773,"Patient":18774,"ĠMAC":18775,"Ġresol":18776,"ATER":18777,"Ġjavascript":18778,"daily":18779,"sessions":18780,"ĠSPDX":18781,"Ga":18782,"ENTITY":18783,"ĠSubject":18784,"åĬłè½½":18785,"¯¸":18786,"Injection":18787,"Ġ`_":18788,"getParent":18789,"OrNull":18790,"ç»´":18791,"Ġsix":18792,"Ġomp":18793,"ĠMask":18794,"Ġfraction":18795,"Ġslider":18796,"redient":18797,"{};":18798,"Ġexplanation":18799,"assertNull":18800,"door":18801,"Ġaffected":18802,"Ġrend":18803,"Ġcapabilities":18804,"ĠCriteria":18805,"clusters":18806,"REFER":18807,"Verification":18808,"Cam":18809,"AIMED":18810,"FileType":18811,"ĠEDIT":18812,"HttpServletRequest":18813,"Ġ#'":18814,"å¦Ĥä½ķ":18815,"Ùĥ":18816,"getX":18817,"ãĢĭ":18818,"configur":18819,"SMALL":18820,"Ġrecently":18821,"ãĥĨãĤ£":18822,"åĪĿå§ĭåĮĸ":18823,"ãĥģ":18824,"Interop":18825,"fy":18826,"Ġbund":18827,"ĠRaise":18828,"FILENAME":18829,"Ġfault":18830,"Reject":18831,"WEVER":18832,"inp":18833,"Ġwants":18834,"kp":18835,"setEnabled":18836,"ĠGO":18837,"classifier":18838,"客æĪ·":18839,"ĠPOSSIBILITY":18840,"codegen":18841,"alignment":18842,"Lazy":18843,"anion":18844,"Ġcipher":18845,"Alter":18846,"Ġgrant":18847,"Mj":18848,"ĠSmart":18849,"ĠSUCCESS":18850,"Ġkom":18851,"Ġparagraph":18852,"Annot":18853,"ä¸ĢäºĽ":18854,"Organ":18855,"Ġnie":18856,"cean":18857,"Quad":18858,"ик":18859,"ĠFlag":18860,"mol":18861,"Ġ*)(":18862,"LIGHT":18863,"DataTable":18864,"ĠSubscription":18865,"åİĨ":18866,"assandra":18867,"Truth":18868,"Ġoverall":18869,"=>'":18870,"installation":18871,"Ġdescribes":18872,"Friend":18873,"dbo":18874,"reward":18875,"alarm":18876,"ĠCompare":18877,"-&":18878,"Maker":18879,"boundary":18880,"PARE":18881,"ĠII":18882,"ĠFake":18883,"Ġencrypt":18884,"Ġattention":18885,"ÒĨ":18886,"ĠPur":18887,"ĠgetUser":18888,"findAll":18889,"baidu":18890,"Ġidentified":18891,"ĠByteArray":18892,"æĿ¡ä»¶":18893,"Ġaug":18894,"ĠPTR":18895,"Ġcritical":18896,"zier":18897,"Contacts":18898,"*\\":18899,"snd":18900,"ĠSyn":18901,"ĠItems":18902,"Ġtil":18903,"Ġdecoder":18904,"Perform":18905,"WW":18906,"lor":18907,"commits":18908,"Ġdeveloped":18909,"Ġlegend":18910,"accordion":18911,"ĠTile":18912,"ĠAdding":18913,"ĠSD":18914,"ĠActual":18915,"Alive":18916,"HZ":18917,"Ġproposal":18918,"ĠSystems":18919,"Ġteams":18920,"inform":18921,"setOnClickListener":18922,"Ġchrome":18923,"Universal":18924,"ttl":18925,"Ġcapital":18926,"Ġencountered":18927,"bv":18928,"æ§":18929,"LECTION":18930,"callbacks":18931,"rz":18932,"Ġ{});":18933,"Ġaware":18934,"Ġsep":18935,"weets":18936,"Requirements":18937,"룬":18938,"ATTERN":18939,"Ġrd":18940,"两个":18941,"mir":18942,"aler":18943,">&#":18944,"PrimaryKey":18945,"QUEUE":18946,"iction":18947,"oy":18948,"qc":18949,"ĠMC":18950,"çļĦæķ°æį®":18951,"ĠBUSINESS":18952,"DIG":18953,"fall":18954,"pas":18955,"ĠVari":18956,"Ġwhenever":18957,"Ġquest":18958,"Applications":18959,"physical":18960,"æľ¯":18961,"문":18962,"ĠLua":18963,"ĠArgumentNullException":18964,"оÑĤоÑĢ":18965,"ĠAir":18966,"Ġpopulate":18967,"ĠSplit":18968,"ĠPhone":18969,"Ġreadable":18970,"Ġflask":18971,"fixtures":18972,"+----------------":18973,"xm":18974,"¤ij":18975,"ĠCart":18976,"ĠCMake":18977,"Ġinteractive":18978,"dimensions":18979,"IMPL":18980,"ĠAvailable":18981,"éŁ³":18982,"nen":18983,"omi":18984,"ãģĪ":18985,"unittest":18986,"ĠHOWEVER":18987,"Ġyo":18988,"ãĤĪãģĨ":18989,"Ġcredit":18990,"олÑĮзов":18991,"Fund":18992,"ĠSame":18993,"hop":18994,"Ġ%}{%":19171,"Boundary":19172,"ander":19173,"quantitativo":19174,"Half":19175,"Ġpf":19176,"Ġpaste":19177,"ĠCross":19178,"ว":19179,"è¾ĥ":19180,"Scaling":19181,"ĠScroll":19182,"Got":19183,"Dollar":19184,"Ġpanic":19185,"daemon":19186,"ĠmacOS":19187,")')":19188,":{}":19189,"ĠLat":19190,"={(":19191,"ChunkName":19192,"rottle":19193,"EMPLARY":19194,"cve":19195,"ĠBet":19196,"Funciones":19197,"иÑĤе":19198,"ĠSerializable":19199,"()+":19200,"Ġaccepts":19201,"Ġnavigate":19202,"Ġheart":19203,"FieldType":19204,"ĠTestCase":19205,"Ġillustr":19206,"esc":19207,"Ġeiner":19208,"ĠIterable":19209,"Ġretrieved":19210,"Cause":19211,"Ġnight":19212,"markup":19213,"}}\">":19214,"ĠGLenum":19215,"Ġbranches":19216,"ĠSA":19217,"inalg":19218,"iran":19219,"Ġrid":19220,"ĠEffect":19221,"!');":19222,"Ke":19223,"Ġvim":19224,"spell":19225,"fieldName":19226,"IGNED":19227,"ç¶":19228,"criteria":19229,");//":19230,"ĠDid":19231,"ĠDMA":19232,"ruit":19233,"å¿ħè¦ģ":19234,"Ġviewport":19235,"Ġoperand":19236,"ĠPROCUREMENT":19237,"æļ":19238,"getColumn":19239,"ister":19240,"Ġguild":19241,"jacent":19242,"compiled":19243,"ĠSUBSTITUTE":19244,"runs":19245,"slack":19246,"ĠStructure":19247,"ĠEXEMPLARY":19248,"Ġdaemon":19249,"bruik":19250,"Lens":19251,"hor":19252,"ĠCY":19253,"iful":19254,"ĊĊĊĊĊĊ":19255,"ĠHealth":19256,"PREFER":19257,"ĠACT":19258,"$(\".":19259,"QT":19260,"Qi":19261,"ĠTHEORY":19262,"'/>":19263,"Jan":19264,"ëį":19265,"strength":19266,"licated":19267,"DIST":19268,"Inspector":19269,"Ġìłľ":19270,"Ġtk":19271,"Ġdigest":19272,"éĺŁ":19273,"Mu":19274,"ĠIss":19275,"enterprise":19276,"parents":19277,"DECLARE":19278,"Known":19279,"ford":19280,"ĠRust":19281,"rocket":19282,"rouge":19283,"()\"":19284,"ãĥĩãĥ¼ãĤ¿":19285,"ran":19286,"Ġgain":19287,"Homeaddress":19288,"_|":19289,"utive":19290,"Ġnan":19291,"ĠReader":19292,"ĠUpdates":19293,"ĠwebpackChunkName":19294,"Ġcin":19295,"urb":19296,"Ġlap":19297,"Formats":19298,"اÙĨ":19299,"Ġeveryone":19300,"Ġsaw":19301,"Ġlr":19302,"figur":19303,"RuntimeException":19304,"fq":19305,"ĊĉĉĉĉĠĠĠ":19306,"Ġnoticed":19307,"plusplus":19308,"书":19309,"Overview":19310,"âĹ":19311,"ãĤ½":19312,"leri":19313,"manent":19314,"Ġscaling":19315,"ĠINTERRUPTION":19316,"atches":19317,"Ġpackets":19318,"Ġsdk":19319,"Ġintr":19320,"initializer":19321,"екÑĤ":19322,"/\\":19323,"Ġdensity":19324,"Ġheading":19325,"Ġhasattr":19326,"ìĦ¸":19327,"cj":19328,"Something":19329,"Ġsynapse":19330,"Cas":19331,"eql":19332,"viz":19333,"=\"<":19334,"ĠPRE":19335,"setItem":19336,"Ġtrip":19337,"HANDLER":19338,"ĠCAUSED":19339,"QS":19340,"Rob":19341,"ĠTAG":19342,"ugo":19343,"ĠHeaders":19344,"Ġrectangle":19345,"ĠRAM":19346,"MessageInfo":19347,"Ġìļ":19348,"BadRequest":19349,"ĠOBJECT":19350,"fft":19351,"joy":19352,"Fd":19353,"YES":19354,"cad":19355,"Ġ-&":19356,"ĠGRO":19357,"Ġchecksum":19358,"Ġimplementing":19359,"å·¥åħ·":19360,"..\\":19361,"architecture":19362,"libc":19363,">{@":19364,"colo":19365,"Physics":19366,"Ġforeign":19367,"Ġperhaps":19368,"ĠAnimation":19369,"svn":19370,"Ġ~/.":19371,"Ġsidebar":19372,"implementation":19373,"%);":19374,"Ġfair":19375,"errit":19376,"NORE":19377,"ĠčĊĠ":19378,"ĠGC":19379,"filing":19380,"{-#":19381,"antage":19382,"Ġthinking":19383,"leetcode":19384,"Ġinverse":19385,"ThreadPool":19386,"ìłĦ":19387,"Inherit":19388,"occ":19389,"ĠìĦ¤":19390,"ĠDaten":19391,"Encrypt":19392,"Checks":19393,"ĠOPTION":19394,"UIT":19395,"Ġ*/,":19396,"ĠSTRING":19397,"èĮĥ":19398,"etic":19399,"Ġletters":19400,"Indexes":19401,"Ġcopying":19402,"Ġeax":19403,"Ġordering":19404,"Ġmodes":19405,"TAIL":19406,"generation":19407,"Ġwrites":19408,"ĠпеÑĢ":19409,"EEE":19410,"Ġmas":19411,"Temperature":19412,"PLY":19413,"ĠClosing":19414,"SHOW":19415,"Stand":19416,"ĠContains":19417,"Tail":19418,"ATIONS":19419,"[$]":19420,"Ñħод":19421,"Por":19422,"fid":19423,"vui":19424,"ĠGateway":19425,"ldap":19426,"ĠDeserial":19427,"PLAYER":19428,"ĠčĊĠĠĠĠ":19429,"ĠPY":19430,"Ġsupply":19431,"sms":19432,"Ġá":19433,"eri":19434,"billing":19435,"Ġ\"{}":19436,"presents":19437,"ĠRemov":19438,"Ġguidelines":19439,"ĠDir":19440,"ansible":19441,"ç»Ń":19442,"WebSocket":19443,"ĠImpro":19444,"Candidate":19445,"aos":19446,"Ġbbox":19447,"submission":19448,"Album":19449,"Ġpostgres":19450,"ĠHttpServlet":19451,"USERNAME":19452,"Solid":19453,"dca":19454,"redients":19455,"ÅĦ":19456,"Ġfunk":19457,"Ġsear":19458,"VECTOR":19459,"ноÑģÑĤ":19460,"Ġwheel":19461,"ĠInstead":19462,"mkr":19463,"cargo":19464,"Ġtwice":19465,"SSH":19466,"ĠtemplateUrl":19467,"('/',":19468,"Ii":19469,"ĠHey":19470,"gx":19471,"Ġrefactor":19472,"bcm":19473,"NY":19474,"tup":19475,"ĠGP":19476,"à¸Ĺ":19477,"Triangle":19478,"Ġsolved":19479,"{@":19480,"Ġcada":19481,"ĠWORK":19482,"who":19483,"ÑĢи":19484,"Participant":19485,"ĠComponents":19486,"ein":19487,"inecraft":19488,"holders":19489,"uevo":19490,"ToProps":19491,"Ġareas":19492,"Ġerrno":19493,"Ġopcode":19494,"ĠSafari":19495,"ãĤ«":19496,"Interrupt":19497,"èIJ":19498,"ĠĊĊĠĠĠ":19499,"ĠBCM":19500,"Ġix":19501,"Nm":19502,"oooo":19503,"ĠLoading":19504,"sex":19505,"ĠSys":19506,"chef":19507,"TZ":19508,"Ġconversation":19509,"conversion":19510,"Ast":19511,"gain":19512,"sint":19513,"valor":19514,">());":19515,"zx":19516,"ulary":19517,"ĠScale":19518,"ĠScience":19519,"Interpol":19520,"Ġseeing":19521,"Capability":19522,"Ġpv":19523,"ducing":19524,"ĠMost":19525,"ĠValidator":19526,"ĠCU":19527,"Ġembod":19528,"Ä«":19529,"Ġë©":19530,"ĠCOM":19531,"mathbf":19532,"QA":19533,"Sing":19534,"camel":19535,"ucle":19536,"interpol":19537,"crc":19538,"dq":19539,"ticks":19540,"Unix":19541,"HIGH":19542,"Pal":19543,"/******/":19544,"<&":19545,"ĠZero":19546,"ĠLtd":19547,"ĠBi":19548,"colgroup":19549,"LOGIC":19550,"ĠAI":19551,"STY":19552,"Ġ{}'.":19553,"Ġ?:":19554,"ĠSignal":19555,"ĠINIT":19556,"Ġparticle":19557,"Bio":19558,"quelize":19559,"ç»Ħä»¶":19560,"experimental":19561,">):":19562,"RATE":19563,"让":19564,"Ġraised":19565,"dur":19566,"Ġflip":19567,"Formation":19568,"starting":19569,"Ġtransforms":19570,"Ġpickle":19571,":])":19572,"nor":19573,"DataGridView":19574,"ificar":19575,"Ġfailures":19576,"postgresql":19577,"Ġcomputation":19578,"Sphere":19579,"=\"#\"><":19580,"áºŃ":19581,".|__":19582,"Arena":19583,"ĠNamed":19584,"EXTERNALSYM":19585,"Recomm":19586,"ceedings":19587,"AMPLE":19588,"ìķ¼":19589,"VD":19590,"nw":19591,"ìħ":19592,"Facade":19593,"ĠìķĬ":19594,"ĠHistory":19595,"solve":19596,"ĠOnInit":19597,"Ġunderstanding":19598,"ĠRoom":19599,"LoggerFactory":19600,"Sale":19601,"SEND":19602,"askell":19603,"pytorch":19604,"zm":19605,"imiento":19606,"ĠPatch":19607,"ĠRF":19608,"带":19609,"Conflict":19610,"ĠFFFF":19611,"ĠInf":19612,"æĸĻ":19613,"ĠActiv":19614,"Ġpuede":19615,"ingu":19616,"æīį":19617,"tribs":19618,"userName":19619,"ĠPin":19620,"å±±":19621,"ĠDart":19622,"ãĤª":19623,"cipher":19624,"dense":19625,"''''":19626,"Ġregard":19627,"Ġpagination":19628,"ĠWRITE":19629,"Four":19630,"alib":19631,"due":19632,"çĽij":19633,"Ġdatas":19634,"Bill":19635,"ĠMQ":19636,"Evaluation":19637,"Ajax":19638,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":19639,"verified":19640,"ErrorKind":19641,"äh":19642,"Ġaligned":19643,"ĠDISCLAIMED":19644,"simp":19645,"yb":19646,"adapt":19647,"tour":19648,"oscal":19649,"+\\":19650,"Ġsat":19651,"riven":19652,"startup":19653,"embedded":19654,"Ġsuitable":19655,"ffd":19656,"yk":19657,"letable":19658,"reads":19659,"ĠJoin":19660,"creating":19661,"getStatus":19662,"clicked":19663,"Ġmutation":19664,"ĠPerform":19665,"POSITION":19666,"ALISTP":19667,"å·¦":19668,"IFIER":19669,":,":19670,"Ġdro":19671,"usc":19672,"etype":19673,"Markdown":19674,"RESPONSE":19675,"HasBeen":19676,"ĠResults":19677,"-_":19678,"coeff":19679,"Shutdown":19680,"websocket":19681,"ĠCreating":19682,"ĠSerialize":19683,"Ranges":19684,"Ġíĺ":19685,"ongsTo":19686,"ĠISO":19687,"ा":19688,"digital":19689,"ãĤĬãģ¾ãģĻ":19690,"Cop":19691,"elm":19692,"John":19693,"gv":19694,"ission":19695,"htable":19696,"primitive":19697,"Dem":19698,"æĢĿ":19699,"cerr":19700,"yll":19701,"getState":19702,"getBytes":19703,"={}":19704,"Ġgames":19705,"ĠIdentifier":19706,"Ġcausing":19707,"Ġpossibly":19708,"=\"$(":19709,"NewLine":19710,"Ġintroduced":19711,"Ġinternet":19712,"Ġdelimiter":19713,"ermine":19714,"Ġexponent":19715,"wrong":19716,"Pic":19717,"ĠGod":19718,"anta":19719,"ystick":19720,"Ġspin":19721,"sendMessage":19722,"GameObject":19723,"ĠScalar":19724,"erraform":19725,"Ġshortcut":19726,"Ele":19727,"Elastic":19728,"Wnd":19729,"]];":19730,"redd":19731,"hematic":19732,"Ġnl":19733,"getObject":19734,"Dep":19735,"glm":19736,"Ġdecide":19737,"âĢĶâĢĶâĢĶâĢĶ":19738,"rk":19739,"cko":19740,"ĠFE":19741,"Ġcollapse":19742,"Apache":19743,"Ġsubmitting":19744,"sampler":19745,"Ġlg":19746,"signup":19747,"ç»Ĩ":19748,"Ġdrawing":19749,"enz":19750,"->\"":19751,"è¯į":19752,"ĠWed":19753,"whatwg":19754,"Ġtbl":19755,"ĠInject":19756,"Ġcomm":19757,"docutils":19758,"Caller":19759,"RV":19760,"fifo":19761,"ç¯":19762,"Sparse":19763,"lifecycle":19764,"screenshot":19765,"TET":19766,"wiz":19767,"ĠĊĉĉĉĉ":19768,"getClient":19769,"ĠSVG":19770,"DG":19771,"Ġkernelspec":19772,"iculty":19773,"§º":19774,"Ġemo":19775,"å̤":19776,"proof":19777,"WNER":19778,"ëĬ¥":19779,"áĢ":19780,"Ġtem":19781,"Ġwhitespace":19782,"ĠCollect":19783,"\">{{$":19784,"hol":19785,"('../../":19786,"å¦Ĥä¸ĭ":19787,"Ġplaying":19788,"ĠSignature":19789,"说æĺİ":19790,"utt":19791,"ecx":19792,"migrations":19793,"TERM":19794,"AppendLine":19795,"dirty":19796,"kubectl":19797,"atie":19798,"Ġ[@":19799,"ĠNa":19800,"ãģ©":19801,"ĠRep":19802,"Ġ~/":19803,"æľĢ大":19804,"HAVE":19805,"hen":19806,"matching":19807,"ار":19808,"缸åħ³":19809,"ĠRetrieve":19810,"Ġpul":19811,"Training":19812,"GroupId":19813,"EXTENSION":19814,"Ġcódigo":19815,"Ġgeom":19816,"ÑĪи":19817,"Ġiz":19818,"accessor":19819,"åij¨":19820,"north":19821,"Containers":19822,"Ġ⧺":19823,"mathbb":19824,"Life":19825,"Ping":19826,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":19827,"\"}]}":19828,"Ġdetermined":19829,">\")":19830,"aked":19831,"archives":19832,"choices":19833,"Wheel":19834,"Outcome":19835,"Startup":19836,"ĠpostIndex":19837,"subnet":19838,"warded":19839,"Adapt":19840,"Ġenables":19841,"DEFINED":19842,"Ġtries":19843,"Ġnatural":19844,"irs":19845,"ACCOUNT":19846,"BufferSize":19847,"ĠVariables":19848,"Ġfavor":19849,"Ġjwt":19850,"ĠgetId":19851,"DECRE":19852,"Avg":19853,"Aware":19854,"Spinner":19855,"FOLDER":19856,"wY":19857,"Ġbroker":19858,"ERNEL":19859,"Yii":19860,"uty":19861,"Ġay":19862,"gregator":19863,"ù":19864,"ĠGetting":19865,"ĠBlack":19866,"Ġdraft":19867,"ĠBreak":19868,"iteration":19869,">);":19870,"reserve":19871,"}${":19872,"ĠclSet":19873,"Meter":19874,"ichael":19875,"IFICATION":19876,"nk":19877,"Contain":19878,"Tran":19879,"minute":19880,"Ij":19881,"UART":19882,"welcome":19883,"ĠSubL":19884,"consume":19885,"対":19886,"Editing":19887,"limin":19888,"ĠWS":19889,"...\");":19890,"ĠStatement":19891,"Ġì§Ģ":19892,"åı¥":19893,"macros":19894,"Pago":19895,"Ġcaption":19896,"Synchron":19897,"Symbols":19898,"aad":19899,"study":19900,"HK":19901,"Ġrisk":19902,"ĠcontentType":19903,"åĩł":19904,"yond":19905,"Ø´":19906,"ĠDT":19907,"Ġmachines":19908,"Ġaplik":19909,"ĠserialVersionUID":19910,"Cols":19911,"csi":19912,"详":19913,"SCREEN":19914,"ĠComplex":19915,"ĠsavedInstanceState":19916,"lcsSetup":19917,"+$":19918,"Social":19919,"sse":19920,"Ġrepositories":19921,"ĠASP":19922,"percentage":19923,"dispose":19924,"inside":19925,"zzle":19926,"ĠModify":19927,"Ġinser":19928,"Ġgulp":19929,"MARY":19930,"itar":19931,"Ġven":19932,"Om":19933,"ĠPanel":19934,"æŁIJ":19935,"zc":19936,"ĊĠĠĠĊĠĠ":19937,"Ġtrailing":19938,"Prof":19939,"Deleg":19940,"ANK":19941,"flight":19942,"mapped":19943,"ĠExcel":19944,"Ġflux":19945,"anon":19946,"Ġ=================":19947,"Ġbp":19948,"*****/":19949,"prediction":19950,"erequisites":19951,"Ġsandbox":19952,"qui":19953,"ées":19954,"esModule":19955,"BIG":19956,"SOR":19957,"SCALE":19958,"autiful":19959,"Ġwrote":19960,"ĠLANGUAGE":19961,"ной":19962,"ÅĻÃŃ":19963,"Ġaffili":19964,"ĠImplementation":19965,"including":19966,"Ġwww":19967,"æĹ¥å¿Ĺ":19968,"Ġanswers":19969,"antidad":19970,"Reading":19971,"ranges":19972,"ãģĮãģĤ":19973,"silon":19974,"hanced":19975,"newcommand":19976,"ä¸ŃåĽ½":19977,"segments":19978,"Ġintroduce":19979,"::::::::":19980,"globals":19981,"gridBagConstraints":19982,"WK":19983,"ishes":19984,"spaced":19985,"Continu":19986,"IntArray":19987,"ĠErrInvalid":19988,"Exclude":19989,"Ġurls":19990,"warnings":19991,"duplicate":19992,"gson":19993,"|'":19994,"ĠdataSource":19995,"exporter":19996,"è¿Ļæł·":19997,"rog":19998,"ĠDashboard":19999,"possible":20000,"Ġaccessed":20001,"enticator":20002,"polygon":20003,"ëĮĢ":20004,"Ġstay":20005,"Ġoverrides":20006,"FUL":20007,"Ġtok":20008,"IDX":20009,"########################################################################":20010,"mate":20011,"(/\\":20012,"debian":20013,"reading":20014,"necessary":20015,"ALPHA":20016,"LIBRARY":20017,"bab":20018,"ĠBlog":20019,"ĠVRType":20020,"Ġlift":20021,"æ¡£":20022,"Ġweather":20023,"ĠZERO":20024,"Remaining":20025,"kbd":20026,"itÃł":20027,"ensemb":20028,"atoms":20029,"normalized":20030,"ĠGENER":20031,"ĠProps":20032,"ilestone":20033,"Ġ\\<":20034,"DefaultValue":20035,"?>\"":20036,"Ġextracted":20037,"Ġbuff":20038,"ffici":20039,"!',":20040,"Poll":20041,"lus":20042,"faq":20043,"½Ķ":20044,"ĠRUN":20045,"ĠExchange":20046,"Ġtoolbar":20047,"Initializer":20048,"":27633,"ição":27634,"ĉĉĊĉ":27635,"ĠCAT":27636,"ĠWrap":27637,"ĠsetValue":27638,"Ġbandwidth":27639,"Ġderivative":27640,"`]":27641,"cro":27642,"ĊĠĊĠĠĠ":27643,"rowd":27644,"ĠDecode":27645,"writeString":27646,"Webhook":27647,"ĠImages":27648,"é쏿Ĭŀ":27649,"Ġfid":27650,"ĠDL":27651,"Explanation":27652,"Ġgraf":27653,"Ġmodelo":27654,"statuses":27655,"Statuses":27656,"ĠìķĮ":27657,"ì¶ľ":27658,"came":27659,"votes":27660,"Ġstuck":27661,"Ġiframe":27662,"Ġcommercial":27663,"replication":27664,"Ġrestricted":27665,"ĠjustifyContent":27666,"åħ·ä½ĵ":27667,"Ġculture":27668,"ctionaries":27669,"scre":27670,"Ġchangelog":27671,"ĠChromium":27672,"çŁ¥éģĵ":27673,"Ġ(~>":27674,"×ĵ":27675,"Ġ\"//":27676,"INUE":27677,"ecd":27678,"ttfamily":27679,"decorator":27680,"Ġaplicación":27681,"Ġappreciated":27682,"Ġress":27683,"edString":27684,"Ġunisim":27685,"composite":27686,"Soap":27687,"è´¨":27688,"Protocols":27689,"ĠInformationen":27690,"Lik":27691,"Ntk":27692,"amap":27693,"intl":27694,"Ġundef":27695,"methodName":27696,"LLVM":27697,"à°¿":27698,"éĴ®":27699,"GRAN":27700,"Ġoutgoing":27701,"ĠKing":27702,"éĢī项":27703,"Ġpicked":27704,"GUILayout":27705,"Dh":27706,"Morph":27707,"Ġbare":27708,"Ġlé":27709,"divid":27710,"UNET":27711,"XXXXXXXX":27712,"wis":27713,"ADING":27714,"Ġpylint":27715,"ATTACH":27716,"PARENT":27717,"vcomponents":27718,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":27719,"JSONArray":27720,"SimpleIndexQueryParserTests":27721,"IpAddress":27722,"ĠNetworks":27723,"ĠOperations":27724,"CHANGED":27725,"dif":27726,"demand":27727,"extensibility":27728,"RECE":27729,"Ġhashes":27730,"ĠNoSuch":27731,"Multiply":27732,"Slf":27733,"SUR":27734,"Refund":27735,"shorts":27736,"Ġgenome":27737,"GOO":27738,"KI":27739,"Ġnec":27740,"ĠOrient":27741,"QueryString":27742,"ĠjsonObject":27743,"Ġpossibility":27744,"Ġoriginally":27745,"ĠìĦł":27746,"ĠREQUEST":27747,"cksdb":27748,"ctime":27749,"adir":27750,"ĊĉĉĊĉĉ":27751,"apl":27752,"apons":27753,"teor":27754,"aza":27755,"Ġauthority":27756,"Ġtells":27757,"ãģķãĤĮãģ¾ãģĻ":27758,"Ġcleared":27759,"<(),":27760,"Wind":27761,"wake":27762,"ĠStd":27763,"ortex":27764,"Ġexclusive":27765,"clin":27766,"ÑĤоÑĢ":27767,"cars":27768,"Ġpest":27769,"ĠKC":27770,"íķĺë©´":27771,"PQ":27772,"ZU":27773,"ErrorResponse":27774,"Ġsubtitle":27775,"QueryParams":27776,"ĠWordPress":27777,"ĠTAHUN":27778,"Rigid":27779,"jud":27780,"Ġvault":27781,"Ġhang":27782,"ReadAll":27783,"corp":27784,"ĠIndexes":27785,"Guardar":27786,"tell":27787,"µľ":27788,"='+":27789,"Intel":27790,"æĿĤ":27791,"Important":27792,"clipboard":27793,"Ġpouž":27794,"XE":27795,"ìĤ":27796,"individual":27797,"Ġrl":27798,"Ġsubtract":27799,"opened":27800,"PERIOD":27801,"GONE":27802,"TREE":27803,"bq":27804,"ļł":27805,"sty":27806,"bounc":27807,"','-":27808,"eventName":27809,"æĻ®":27810,"Folders":27811,"LW":27812,"bson":27813,"î":27814,"TimeUnit":27815,"iterable":27816,"merchant":27817,"Reduc":27818,"çłĶ":27819,"Beta":27820,"amed":27821,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":27822,"mailer":27823,"Moving":27824,"ĠAlias":27825,"Ġhints":27826,"Bas":27827,"Ġbags":27828,"getIndex":27829,"ISA":27830,"cipients":27831,"Hu":27832,"Never":27833,"atz":27834,"rok":27835,"ĠSing":27836,"ĠMini":27837,"doctor":27838,"æľĥ":27839,"Ġtitles":27840,"Vectors":27841,"ıè§Ī":27842,"athon":27843,"DET":27844,"indexed":27845,"chevron":27846,"Ġzo":27847,"ĠReser":27848,"лем":27849,"inesis":27850,"Artist":27851,"SIGNAL":27852,"Ġmagna":27853,"aan":27854,"Ġnúmero":27855,"lassian":27856,"ĠNil":27857,"Ġpropose":27858,"ĠTested":27859,"fdc":27860,"losses":27861,"adf":27862,"Ġwa":27863,"ĠDex":27864,"Ġ#:":27865,"classic":27866,"čĊčĊčĊčĊ":27867,"Who":27868,"Ġapproval":27869,"ĠControls":27870,"æ¯Ķå¦Ĥ":27871,"CompactTextString":27872,"ĠSIGNAL":27873,"DESCRIPTOR":27874,"Kill":27875,"holiday":27876,"represent":27877,"getMethod":27878,"ĠOVER":27879,"Ġkm":27880,"ĠQR":27881,"Longitude":27882,"Ġsearched":27883,"Ġfoi":27884,"ĠPFN":27885,"Ġkomp":27886,"ĠstartDate":27887,"Discord":27888,"Ġmovies":27889,"éĢļçŁ¥":27890,"godot":27891,"Individual":27892,"llong":27893,"beats":27894,"PROVIDED":27895,"mathrm":27896,"SerializationError":27897,"Ġatoms":27898,"Vel":27899,"tlement":27900,"strconv":27901,"conds":27902,"ĠPARSER":27903,"recipes":27904,")}}":27905,"Sid":27906,"ulu":27907,"spb":27908,"ultaneous":27909,"cone":27910,"ĠROS":27911,"Appointment":27912,"Sampling":27913,"mor":27914,"rac":27915,"ãģĺ":27916,"ULES":27917,">(()":27918,"Ġprivacy":27919,"Ġanimations":27920,"æĮīéĴ®":27921,"rtp":27922,"ĊĊĠĠĠĠĠĠĠĠĠĠĠĠ":27923,"aspberry":27924,"keyup":27925,"Ġcompiling":27926,"Ġvalidators":27927,"à®Ł":27928,"à°¾":27929,"pfcp":27930,"Alerts":27931,"CORRECT":27932,"Ġstandalone":27933,"Ġgrowth":27934,"âĢĵâĢĵâĢĵâĢĵ":27935,"}@":27936,"uktur":27937,"ìĦł":27938,"Builtin":27939,"åįıè®®":27940,"'-":27941,"[{{":27942,"ische":27943,"()])":27944,"ĠThree":27945,"ãĤ¢ãĤ¯":27946,"telegram":27947,"Descriptions":27948,"Ġreplacing":27949,"Ctl":27950,"SHE":27951,"david":27952,"replay":27953,"ató":27954,"ĠCSR":27955,"Recognition":27956,"ĠNorth":27957,"subprocess":27958,"lengths":27959,"Ġdistances":27960,"PerPage":27961,"ëłĪ":27962,"ĠÂłĠÂł":27963,"CW":27964,"CANCEL":27965,"KO":27966,"favorite":27967,"ocs":27968,"Compose":27969,"ServiceModel":27970,"ÑģÑĤан":27971,"Ġconnectivity":27972,"ĠSwap":27973,"sanitize":27974,"EntityFrameworkCore":27975,"gence":27976,"least":27977,"GetUser":27978,"unched":27979,"ĠPRIV":27980,"NotFoundError":27981,"Ġviol":27982,"Ġappearance":27983,"ại":27984,"æ¹":27985,"arms":27986,"ĠMultip":27987,"ĠRules":27988,"ĠKit":27989,"Ġdelle":27990,"é¢Ĩ":27991,"QUA":27992,"ÑĨии":27993,"ĠDesigner":27994,"éĿŀ常":27995,"SERIALE":27996,"Fabric":27997,"Hw":27998,"Ġomit":27999,"ĠSF":28000,",''),(":28001,"ullong":28002,"logrus":28003,"ĠinitialState":28004,"Swagger":28005,"ExtensionRegistry":28006,"ãģ¾ãģĽãĤĵ":28007,"Ġaugment":28008,"vect":28009,"ί":28010,"ĠSanit":28011,"putExtra":28012,"addAttribute":28013,"Ġnov":28014,"vertising":28015,"Ġblk":28016,"Ġdiese":28017,"BOTTOM":28018,"¦ãĥ¼ãĤ¶ãĥ¼":28019,",),":28020,"pT":28021,"ĠMix":28022,"Ġ&$":28023,"ĠUR":28024,"Ġthroughout":28025,"cott":28026,"ĠIPT":28027,"Ġevidence":28028,"Ġindexing":28029,"EDITOR":28030,"Ġpouvez":28031,"Advance":28032,"Ġmagnitude":28033,"=\"\">())":28045,"Ben":28046,"jx":28047,"vz":28048,"ë¬":28049,"Ġull":28050,"ĠMass":28051,"\":[{\"":28052,"nej":28053,"Delimit":28054,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~":28055,"SUFFIX":28056,"!='":28057,"Kt":28058,"Ġsphere":28059,"oof":28060,"beg":28061,"Accessibility":28062,"åıijçĶŁ":28063,"ĠCosmos":28064,"ĠíķĦ":28065,"Ġtan":28066,"Ġ='":28067,"Ġhs":28068,"Replay":28069,"ULONG":28070,"Ġheat":28071,"tableblock":28072,"CREATED":28073,"ĠOrd":28074,"Violation":28075,"cember":28076,"EFI":28077,"Ġsov":28078,"ĠglVertex":28079,"Ġcommented":28080,"áļĭ":28081,"âĸĦâĸĦ":28082,"ĠFOL":28083,"FileDialog":28084,"ReturnType":28085,"å®ŀéĻħ":28086,"ĠRID":28087,"Ġtransitions":28088,"Ġopens":28089,"watcher":28090,"缸åIJĮ":28091,"=?":28092,">%":28093,"]|":28094,"xaml":28095,"Ġdecoding":28096,"ého":28097,"Ġmaintained":28098,"VENDOR":28099,"XJ":28100,"nas":28101,"tif":28102,"leading":28103,"Ġoutbound":28104,")};":28105,"jab":28106,"jpa":28107,"qh":28108,"čĊĉĉĉĉĉĉĉĉĉĉ":28109,"Ġice":28110,"queued":28111,"bump":28112,"ESP":28113,"ASP":28114,"adobe":28115,"Ġboundaries":28116,"Articles":28117,"Ġ§":28118,"Nt":28119,"ĠÃŃ":28120,"Ġworry":28121,"()/":28122,"chap":28123,"ĠMIME":28124,"ĊĉĉĉĠĠĠĠĠĠ":28125,"ĠVB":28126,"errorCode":28127,"barcode":28128,"zenia":28129,"ĠExecutor":28130,"çµIJ":28131,"Fo":28132,"Jwt":28133,"SAM":28134,"ĠSUP":28135,"getAction":28136,"ENGINE":28137,"...\",":28138,"things":28139,"Ġ:::":28140,"PARSER":28141,"íķĺì§Ģ":28142,")|[":28143,"hdf":28144,"ĊĠĊĠ":28145,"Theory":28146,"visualstudio":28147,"Ġhexadecimal":28148,"Sending":28149,"`\\":28150,"vendors":28151,"ĠCorre":28152,"setCurrent":28153,"__))":28154,"VERBOSE":28155,"Ġsupplier":28156,"CHECKS":28157,"Ġperspective":28158,"ีà¹Ī":28159,"Dog":28160,"ecore":28161,"gab":28162,"ê·":28163,"Ġcargo":28164,"itu":28165,"ĠHide":28166,"ĠJupyter":28167,"ĠListNode":28168,"ög":28169,"CRC":28170,"Ġcleaned":28171,"ĠOrgan":28172,"CODING":28173,"Ra":28174,"envoy":28175,"Ġfib":28176,"essoa":28177,"beee":28178,"Composition":28179,"afd":28180,"SearchResult":28181,"Ġsuppress":28182,"Ġautof":28183,"Pods":28184,"PRIORITY":28185,"getBoolean":28186,"åıĮ":28187,"Ġflexible":28188,"éĺ³":28189,"MAR":28190,"cce":28191,"ĠSuggest":28192,"molec":28193,"subsubsection":28194,"genre":28195,"容åύ":28196,"Ja":28197,"Infof":28198,"bitbucket":28199,"Ġ(>=":28200,"()\",":28201,"getActivity":28202,"istio":28203,"Ġliter":28204,"antt":28205,"flask":28206,"Boxes":28207,"replica":28208,"Grpc":28209,"æīĭæľº":28210,"alpine":28211,"fz":28212,"ļĮ":28213,"())))":28214,"InBytes":28215,"avo":28216,"setDescription":28217,"selectAll":28218,"limitations":28219,"tracked":28220,"ầ":28221,"ĠONLY":28222,"merchants":28223,"/../":28224,"Dan":28225,"East":28226,"Vulkan":28227,"isPresent":28228,"Ġped":28229,"projectId":28230,"Ġphysics":28231,"ìĹħ":28232,"snprintf":28233,"ĠëIJĺ":28234,"BQ":28235,"Ux":28236,"[]):":28237,"ós":28238,"Ġcombinations":28239,"DOCSIS":28240,"êĻĭ":28241,"Ġfan":28242,"getResources":28243,"OnError":28244,"Ġpartir":28245,"fahren":28246,"SCAL":28247,"åĩı":28248,"'^":28249,".\"]":28250,"jun":28251,"lez":28252,"()`.":28253,"Ġ[{\"":28254,"Ġunchecked":28255,"änder":28256,"ĠEncode":28257,"RegExp":28258,"PCI":28259,"autogen":28260,"BLK":28261,"VARCHAR":28262,"Paused":28263,"recommend":28264,"á¹ĥ":28265,"Ġlaptop":28266,"Pivot":28267,"Å«":28268,"Ġasci":28269,"Ġusual":28270,"crash":28271,"=\"#[":28272,"Inspect":28273,"taxonomy":28274,"ĠMETHOD":28275,"Svc":28276,"×¢":28277,"Ġ$\"{":28278,"diagnostics":28279,"Ġrelations":28280,"Validators":28281,"ÑĥÑģ":28282,"æĸ°å¢ŀ":28283,"NNNNNNNN":28284,"ungeon":28285,"Ġascending":28286,"unistd":28287,"Saving":28288,"bsl":28289,"rnn":28290,"edb":28291,"ãĥļ":28292,"empo":28293,"GroupBox":28294,"generators":28295,"Ġ<$>":28296,"ney":28297,"pNext":28298,"uix":28299,"hem":28300,"Ġreserve":28301,"('{":28302,"iron":28303,"memcmp":28304,"CMOF":28305,"cutoff":28306,"stl":28307,"Ġ{|":28308,"Ġef":28309,"ORIGIN":28310,"ĠJVS":28311,"Ġqt":28312,"Authorize":28313,"Ġ----------------------------------------------------------------------------":28314,"Ġ{:.":28315,"->{'":28316,"nesday":28317,"|>":28318,"미":28319,"ivil":28320,"angerous":28321,"AGENT":28322,"exponent":28323,"à§ĭ":28324,"Finally":28325,"Sigma":28326,"ĠLes":28327,"pyri":28328,"Ġexecutes":28329,"Sms":28330,"mappings":28331,"Ġinvention":28332,"Ġsea":28333,"Ġlose":28334,"lickr":28335,"Ġretries":28336,"iera":28337,"weekly":28338,"Reservation":28339,"ĠHttpServletResponse":28340,">-->":28341,"bos":28342,"asdf":28343,"estim":28344,"ighth":28345,"ãĥ¼ãĤ¯":28346,"lbk":28347,"ĠSERVER":28348,"GENERAL":28349,"DJ":28350,"Sites":28351,"InterruptedException":28352,"MethodCall":28353,"insights":28354,"Ġcontrolled":28355,"IsNullOrWhiteSpace":28356,"ints":28357,"Deposit":28358,"Ġoverhead":28359,"tips":28360,"Ġmemb":28361,"ĠsetName":28362,"Ġlocals":28363,"'>\"":28364,"ĠÑĦай":28365,"pensive":28366,"bis":28367,"fcf":28368,"ErrorAction":28369,"jÄħ":28370,"och":28371,"ãĥĵ":28372,"Collapse":28373,"Ġ/*#__":28374,"SignIn":28375,"ĠModifier":28376,")::":28377,"vertx":28378,"ĠLG":28379,"ãĥĶ":28380,"аем":28381,"æĢİ":28382,"spe":28383,"thr":28384,"userID":28385,"quel":28386,"prices":28387,"Ġoutfile":28388,"workbench":28389,"ByVal":28390,"ĠZend":28391,"积":28392,"scrollbar":28393,"FIXED":28394,"atellite":28395,"Laravel":28396,"yer":28397,"reaction":28398,"atson":28399,"Ġttl":28400,"Ġpts":28401,"unregister":28402,"Ġosc":28403,"Ġdistributions":28404,"ĠComments":28405,"hoz":28406,"months":28407,"agrams":28408,"\">.":28733,"{}\",":28734,"United":28735,"åıĸæ¶Ī":28736,"Circuit":28737,"Lost":28738,"ĠClip":28739,"ĠMont":28740,"Exceeded":28741,"Ġshipping":28742,"ãĥį":28743,"objc":28744,"OFT":28745,"Ġnecessarily":28746,"midine":28747,"Ġexemplo":28748,"ãģĮãģĤãĤĬãģ¾ãģĻ":28749,"}\"/>":28750,"Quit":28751,"ancia":28752,"Ġmodifying":28753,"ĠReflection":28754,"Ġä¸Ĭ":28755,"anime":28756,"ĠPrefix":28757,"ITICAL":28758,"ĠRepo":28759,"Unavailable":28760,"LOY":28761,"drawing":28762,"ĠSwagger":28763,"Ġguarantee":28764,"ĠBufferedReader":28765,"Ġusuário":28766,"ZO":28767,"á½":28768,"ormap":28769,"Unimplemented":28770,"signals":28771,"Absent":28772,"Ġngx":28773,"ĠReflect":28774,"ISHED":28775,"Ø·":28776,"Workload":28777,"sip":28778,"ëħ":28779,"Cookies":28780,"CASCADE":28781,"mtx":28782,"internet":28783,"isy":28784,"ĠCX":28785,"ĠENDIF":28786,"kj":28787,"isan":28788,"Ġrebase":28789,"fea":28790,"Ġapk":28791,"Ġcores":28792,"ĠìŰ":28793,"âķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJâķIJ":28794,"apor":28795,"ovánÃŃ":28796,"removeAll":28797,"Minimal":28798,"è§ī":28799,"yyDollar":28800,"Ġpolling":28801,"Ġë°ĺ":28802,"fis":28803,"ĠRS":28804,"Ġquiet":28805,"hamcrest":28806,"Suggestion":28807,"ĠWriting":28808,"Ġguaranteed":28809,"trunc":28810,"ĠTod":28811,"Ġang":28812,"}}/":28813,"Ġdiagnostics":28814,"GEO":28815,"éĿĻ":28816,"podcast":28817,"áló":28818,"Ġrobust":28819,"PDO":28820,"bam":28821,"rans":28822,"isIn":28823,"ĠArm":28824,"langs":28825,"subjects":28826,"Invite":28827,"Persist":28828,"EINVAL":28829,"Gro":28830,"liot":28831,"审":28832,"Again":28833,"asar":28834,"Ġbabel":28835,"ifold":28836,"Ġunix":28837,"Ġdisposit":28838,"ISS":28839,"diagram":28840,"barrier":28841,"Ġsentences":28842,"VisualStyle":28843,"SELF":28844,"ĠEmber":28845,"ëªħ":28846,"Ġacceleration":28847,".\\+":28848,"TUR":28849,"fro":28850,"qos":28851,"rex":28852,"Ġinode":28853,"getChildren":28854,"ĠPending":28855,"grand":28856,"TestHarness":28857,"\":\"\",\"":28858,"ĠpropertyName":28859,"Ġmission":28860,"çīĮ":28861,"passwd":28862,"åĨħéĥ¨":28863,"ĠProcessor":28864,"ORIZONTAL":28865,"bright":28866,"ĠĠĠĠĊĠĠĠĠĠĠĠ":28867,"Ġsint":28868,"Ġnisi":28869,"Ġuninstall":28870,"Bookmark":28871,"Mr":28872,"cnn":28873,"zHj":28874,"é¾":28875,"Ġ}//":28876,"Ġtimed":28877,"removeChild":28878,"Relations":28879,"æĪijçļĦ":28880,"Ġcrashes":28881,"ĠUnited":28882,"Ġessere":28883,"VwD":28884,"KU":28885,"bdb":28886,"ĠMal":28887,"addField":28888,"ievement":28889,"红":28890,"storybook":28891,"Ġsatisfied":28892,"Ġwd":28893,"traj":28894,"Argb":28895,"Ġvalidates":28896,"Runs":28897,"MMC":28898,"ĠGuard":28899,"cir":28900,"Ġtee":28901,"Ġcov":28902,"ĠSon":28903,"topo":28904,"ĠGCC":28905,"refund":28906,"Encrypted":28907,"notNull":28908,"Ġquer":28909,"Ġconsensus":28910,"invocation":28911,"Aligned":28912,"parametrize":28913,"pyrimidine":28914,"]\");":28915,"mptom":28916,"//////":28917,"OrElse":28918,"SCre":28919,"ĠDelta":28920,"ĠtearDown":28921,"atos":28922,"Ġfm":28923,"setMessage":28924,"childNodes":28925,"Ġinsertion":28926,"Ġcancellation":28927,"Ġdolore":28928,"Gt":28929,"aab":28930,"ghost":28931,"ĠCURL":28932,"ĠLN":28933,"ensed":28934,"anna":28935,"ĠìĻ":28936,"inspection":28937,"Tween":28938,"bell":28939,"prefer":28940,"ĊĊĠĠĠĠĠĠĠĠĠĠ":28941,"roi":28942,"extr":28943,"abbre":28944,"ller":28945,"Bj":28946,"flink":28947,"Ġ'~":28948,"ĠDP":28949,"posix":28950,"代çIJĨ":28951,"Ġincreased":28952,"PENDING":28953,"JA":28954,"YXR":28955,"caster":28956,"ĠTutorial":28957,"ĠLic":28958,"bounded":28959,"bef":28960,"Ġzijn":28961,"æİĪ":28962,"же":28963,"Ġfragments":28964,"PAL":28965,"Sect":28966,"Ġinvert":28967,"ĠerrorCode":28968,"éĢ»":28969,"éĻį":28970,"[{\"-\",":28971,"ĠArchive":28972,"MOTOR":28973,"PLIO":28974,"Marshaller":28975,"ĠAPR":28976,"emsp":28977,"estimator":28978,"Ġminx":28979,"Ġíĥ":28980,"GOJT":28981,"hglBI":28982,"zHjZQW":28983,"Sam":28984,"cdd":28985,"spacer":28986,"Ġkin":28987,"cmds":28988,"çĤº":28989,"Ġemployees":28990,"|--------------------------------------------------------------------------":28991,"chors":28992,"clientId":28993,"Episode":28994,">),":28995,"IUS":28996,"natural":28997,"ctest":28998,"backtrace":28999,"Ġplural":29000,"disposing":29001,"Ġnoop":29002,"åIJĹ":29003,"Ġpeut":29004,"SpringBoot":29005,"brightness":29006,"Ġcertific":29007,"getView":29008,"ĠDLL":29009,"Ġpromp":29010,"TimeSpan":29011,"Meeting":29012,"||(":29013,"ĠMonad":29014,"æıIJ示":29015,"ĠOFFSET":29016,";`":29017,"Tier":29018,"TTL":29019,"ĠÙĨ":29020,"Inlining":29021,"backslash":29022,"tape":29023,"Clus":29024,"Latency":29025,"ña":29026,"ĠRoad":29027,"Ġadopt":29028,"mpp":29029,"Ġyö":29030,"ilda":29031,"rendered":29032,"åī²":29033,"DAC":29034,"Ġ[/":29035,"ĠStrings":29036,"[]}":29037,"Ġdirections":29038,"CAD":29039,"ilde":29040,"Ġ/\\.":29041,"Ġalive":29042,"okument":29043,"Ġsmallest":29044,"WEIGHT":29045,"Ġtraverse":29046,"Ġprevents":29047,"fno":29048,"segu":29049,"ĠCLO":29050,"iris":29051,"INDIR":29052,"ĠStation":29053,"FIELDS":29054,"avelength":29055,"rases":29056,"Reaction":29057,"veis":29058,"Shown":29059,"čĊĉĉĉĉčĊĉĉĉ":29060,"Scala":29061,",',":29062,"Evidence":29063,"Ġsect":29064,"Ġgid":29065,"TestClass":29066,"offs":29067,"capability":29068,"ĠMakefile":29069,"Chunks":29070,"Ġangles":29071,"Inference":29072,"ĠisEmpty":29073,"indx":29074,"NodeList":29075,"Intersect":29076,"ĠLOW":29077,"XMLSchema":29078,"COMPARE":29079,"Installing":29080,"Gpu":29081,"scoped":29082,"Ġspend":29083,"Ġmine":29084,"Ġprices":29085,"ĠIDS":29086,"ĠAdapt":29087,"веÑĢ":29088,"Ġæ·":29089,"Ġsignatures":29090,"Animated":29091,"Ġìľł":29092,"ĠDeepCopy":29093,"ĠEnergy":29094,"Bond":29095,"xn":29096,"Produces":29097,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":29098,"ĠHW":29099,"submenu":29100,"Ġpathname":29101,"ĠXX":29102,"Ġdistribu":29103,"Ġassociate":29104,"Coroutine":29105,"èĩªå·±çļĦ":29106,"independent":29107,"anj":29108,"\";'}":29109,"åĪ¥":29110,"aborator":29111,"ĠSlider":29112,"OuterClass":29113,"BCD":29114,"Ġbaz":29115,"Ġdeposit":29116,"Ġhog":29117,"ĠMichael":29118,"Ġram":29119,"Ġjako":29120,"ĠWenn":29121,"æİī":29122,"IRC":29123,"InternalServerError":29124,"å±ı":29125,"III":29126,"Exactly":29127,"tagHelperExecutionContext":29128,"GX":29129,"uchar":29130,"|@":29131,"ará":29132,"Ġ-":29273,"Ġipc":29274,"éĺ¶":29275,"isson":29276,"Ġbere":29277,"appear":29278,"Ġgrey":29279,"Ġgarbage":29280,"ĠRank":29281,"Ġimporting":29282,"Ġ($_":29283,"Ġrefs":29284,"Hosting":29285,"MODEM":29286,"Ġcalculations":29287,"ãģĹãģ¦ãģıãģłãģķãģĦ":29288,"descripcion":29289,"mtime":29290,"ooled":29291,"ãģ¸":29292,"ĠInform":29293,"Ġcompanion":29294,"å°ģ":29295,"Assignable":29296,"ĠCatch":29297,"Ġ[--":29298,"Ġalgo":29299,"Ġenabling":29300,"宽":29301,"CONN":29302,"CONS":29303,"hlsl":29304,"Javadoc":29305,"Son":29306,"wq":29307,"Ġfarm":29308,"Ġbilling":29309,"Ġgdb":29310,"ĠiPhone":29311,"Ġ\\|":29312,"ItemId":29313,"OfWork":29314,"æŃ£å¸¸":29315,"ĠAttributeError":29316,"Ġ为":29317,"(\"^":29318,"Ġnebo":29319,"è·¯çͱ":29320,"ĠArchitecture":29321,"bruary":29322,"fdb":29323,"Ġbrightness":29324,"ĠMor":29325,"bugzilla":29326,"Ġadvice":29327,"deviceId":29328,".'\"":29329,"Provides":29330,"ScrollPane":29331,"ê²°":29332,"Ġadipiscing":29333,"ĠAmerica":29334,"Ġvitae":29335,".]":29336,"Gatt":29337,"Zh":29338,"gY":29339,"preferred":29340,"andExpect":29341,"Ġ|\\":29342,"ĠInner":29343,"]({{":29344,"BaseUrl":29345,"Ġtelemetry":29346,"Ġarchitect":29347,"Battle":29348,"Qs":29349,"ike":29350,"Ġì¡°":29351,"Activated":29352,"DYNAMIC":29353,"ĠGaussian":29354,"Hd":29355,"meld":29356,"elist":29357,"uppet":29358,"à¸Ĭ":29359,"PropertyType":29360,"faa":29361,"hasht":29362,"Ġ'../../../../":29363,"Ġê°Ŀì²´":29364,"매":29365,"楼":29366,"âĶģâĶģâĶģâĶģ":29367,"#'":29368,"aic":29369,"')}}>;":29380,"Ġcoup":29381,"ramid":29382,"RUNTIME":29383,"ĠBigNumber":29384,"PRINTF":29385,"ình":29386,"Ġvoluptate":29387,"PJ":29388,"Ġtold":29389,"Ġreversed":29390,"oline":29391,"cec":29392,"endian":29393,"RenderTarget":29394,"Ġhosting":29395,"REGEX":29396,"Ġcharts":29397,"Ġakka":29398,"ĠPolygon":29399,"ThreadPoolExecutor":29400,"/[":29401,"later":29402,"Ġtunnel":29403,"Ġindustry":29404,"cored":29405,"getList":29406,"telemetry":29407,"Ġ\\[":29408,"fef":29409,"Ġassignments":29410,"zhihu":29411,"Ut":29412,"Vl":29413,"Ġtier":29414,"REM":29415,"ArrayOf":29416,"DBInstance":29417,"}`}":29418,"Ġeffectively":29419,"ĠEMPTY":29420,"rLogUtil":29421,"Cron":29422,"dab":29423,"Ġaé":29424,"Ġ\"|":29425,"()}}":29426,"beit":29427,"eef":29428,"uchsia":29429,"Webpack":29430,"ê°ģ":29431,"à°®":29432,"Factories":29433,"symfony":29434,"Tf":29435,"know":29436,"assis":29437,"httpClient":29438,"ĠLogs":29439,"haus":29440,"ĠNullable":29441,"Ur":29442,"ĠPadding":29443,"Ġchamp":29444,"postal":29445,"afb":29446,"Ġfinancial":29447,"Ġclicks":29448,"Dy":29449,"Ġ\"))":29450,"Ġtopo":29451,"ĠPEM":29452,"ĠgetState":29453,"Particles":29454,"Partitions":29455,"Included":29456,"ĠRelative":29457,"uits":29458,"unshift":29459,"ĠTur":29460,"sigs":29461,"marketplace":29462,"çĽijåIJ¬":29463,"'_":29464,"Naming":29465,"elite":29466,"ĠSEQ":29467,"emi":29468,"ogg":29469,"ĠendDate":29470,"Intercept":29471,"Ġcreature":29472,"Ġdebe":29473,"ĠsetId":29474,"awa":29475,"ccd":29476,"лÑĮ":29477,"ä¸Ńå¿ĥ":29478,"ĠPROP":29479,"ĠAUTHOR":29480,"*$":29481,"blo":29482,"tho":29483,"ĠHP":29484,"])),":29485,"Ġuso":29486,"দ":29487,"ĠSubscribe":29488,"ĠAttr":29489,"currPos":29490,"Ġsubstitution":29491,"inl":29492,"Ġdv":29493,"ĠIncrement":29494,"ãĥŁ":29495,"bookmark":29496,"éĢ£":29497,"ighbours":29498,"ĠArgumentError":29499,">@[+":29500,">@[+][<":29501,"Ġcriterion":29502,"setContent":29503,"Consent":29504,"Manip":29505,"contexts":29506,"packing":29507,"operands":29508,"ispiel":29509,"ĠíĮĮìĿ¼":29510,")!":29511,"Paste":29512,"\\\"]":29513,"gps":29514,"įĶ":29515,"createText":29516,"æķħ":29517,"haser":29518,"Ġsvn":29519,"THRESHOLD":29520,"America":29521,"EACH":29522,"Equipment":29523,"bles":29524,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":29525,"stret":29526,"ĠCop":29527,"ĠHy":29528,"included":29529,"வ":29530,"ĠReads":29531,"Ġfacet":29532,"KSGE":29533,"Provided":29534,"Mgmt":29535,"SCreature":29536,"Ay":29537,"Ġåıª":29538,"uten":29539,"cow":29540,"ĠLPC":29541,"Consum":29542,"IsEmpty":29543,"EndOf":29544,"COLLECTION":29545,"Ġacceptable":29546,"circular":29547,"(.*":29548,"BATCH":29549,"KY":29550,"Ġale":29551,"Ġdost":29552,"åħ¸":29553,"ãģ«ãģ¤ãģĦãģ¦":29554,"è¨Ī":29555,"Monthly":29556,"MACHINE":29557,"JPG":29558,"ást":29559,"centered":29560,"URLConnection":29561,"Exponent":29562,"snake":29563,"ĠpÅĻÃŃ":29564,"Ġspectrum":29565,"unsubscribe":29566,"Ġbonus":29567,"sher":29568,"éd":29569,"ĠactionPerformed":29570,"å¾Ģ":29571,"æĶ»":29572,"ulnerability":29573,"VisualStyleBackColor":29574,"tst":29575,"wz":29576,"UseVisualStyleBackColor":29577,"Ġthemes":29578,"dpkg":29579,"ĠCTRL":29580,"StatusOK":29581,"ĠPhysical":29582,"Regexp":29583,"ĠاÙĦÙħ":29584,"Ġglobally":29585,"Registers":29586,"preference":29587,"Ġ{_":29588,"UserService":29589,"Ġtempfile":29590,"建ç«ĭ":29591,"ĠзнаÑĩ":29592,"wendung":29593,"/\")":29594,"elems":29595,"setSize":29596,"Strength":29597,"ĠApplications":29598,"cellent":29599,"RestController":29600,":)":29601,"`ï¼Į":29602,"dub":29603,"orer":29604,"Ġtent":29605,"Ġnas":29606,"Ġuni":29607,"ASON":29608,"UnknownFields":29609,"(+":29610,"NZ":29611,"ZIP":29612,"filt":29613,"Ġbn":29614,"omic":29615,"ToJson":29616,"IDLE":29617,"cción":29618,"Ġdispid":29619,"Ġparte":29620,"PtrOutput":29621,"ç§ģ":29622,"å¾Īå¤ļ":29623,"vertisement":29624,"ĠĠĊĠĠĠĠĠ":29625,"elix":29626,"Ġprometheus":29627,"čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":29628,"pho":29629,"rtf":29630,"msgTypes":29631,"efb":29632,"ĠglGet":29633,"masked":29634,"inheritance":29635,"ĠAssignment":29636,"Ġ%>%":29637,"congruent":29638,"SORT":29639,"xk":29640,"xFC":29641,"ĊĊĠĠĠĠĊĠĠĠ":29642,"Ġion":29643,"Ġsns":29644,"Ġrepe":29645,"()',":29646,"getInput":29647,"setPosition":29648,"UserGuide":29649,"CharArray":29650,"ãĤ¯ãĥ©":29651,"æŀĦéĢł":29652,"ĠEclipse":29653,"atu":29654,"Ġdit":29655,"ffa":29656,"Ġraises":29657,"å®ļçļĦ":29658,"Ġslash":29659,"\"?\",":29660,"Ġoil":29661,"ĠInline":29662,"textures":29663,"ии":29664,"é¢ľ":29665,"=\\\"\"":29666,"ĠImmutableList":29667,"ONESIA":29668,"循çݯ":29669,"ZEND":29670,"íĭ":29671,"utr":29672,"Ġsqu":29673,"Ġloca":29674,"keydown":29675,"selectors":29676,"genes":29677,"fixes":29678,"Ġpractices":29679,"Yy":29680,"csp":29681,"Ġnou":29682,"Ġ\"=\"":29683,"Ġreboot":29684,"ĠTax":29685,"ĠOm":29686,"ĠRec":29687,"ACION":29688,"AppId":29689,"LineNumber":29690,"Ġæ¨":29691,"Ġcit":29692,"ĠÃĸ":29693,"ய":29694,"syslog":29695,"æµıè§Ī":29696,"åIJĮæŃ¥":29697,"CLOUD":29698,"ĠCNWSCreature":29699,"suggestion":29700,"getPosition":29701,"Ġ_(":29702,"Ġ>::":29703,"ndim":29704,"shares":29705,"Movies":29706,"batches":29707,"Ġregistro":29708,"categoria":29709,"Ġconjunto":29710,"Vpn":29711,"isfile":29712,"andy":29713,"ĠPOL":29714,"LOWER":29715,"elim":29716,"eben":29717,"DICT":29718,"Species":29719,"Enterprise":29720,"Presence":29721,"产åĵģ":29722,"ä¸įåIJĮçļĦ":29723,"had":29724,"rice":29725,"Ġbon":29726,"trail":29727,"Ġtracked":29728,"ggler":29729,"Ġíķł":29730,"ç¼ĸçłģ":29731,"nixpkgs":29732,"ĠìļĶ":29733,"DIPSETTING":29734,"inen":29735,"icao":29736,"Ġfut":29737,"Ġrecognize":29738,"Ġinflater":29739,"parcel":29740,"StateMachine":29741,"Ġtablet":29742,"ĠDataTypes":29743,"pubsub":29744,"Ġestim":29745,"ĠTensorFlow":29746,"á»§a":29747,"Zn":29748,"pis":29749,"idata":29750,"ĠTTable":29751,"ĠArial":29752,"ĠMess":29753,"ĠFre":29754,"llen":29755,"ROWS":29756,"ĠViewGroup":29757,"||||":29758,"ĠCaption":29759,"KM":29760,"reservation":29761,"ĠFIR":29762,"pluck":29763,"OnR":29764,"ĠContinu":29765,"simulate":29766,"Coordinator":29767,"ãģ§ãģįãĤĭ":29768,"ĠìĦ¤ìłķ":29769,"icates":29770,"Ġwild":29771,"getTitle":29772,"************************************************":29773,"scaler":29774,"Ġclearfix":29775,"TRANSFER":29776,"ugiat":29777,"ognitive":29778,"RH":29779,"Ġtang":29780,"Ġfö":29781,"Ġlexer":29782,"Unmarshaller":29783,"IPV":29784,"NOTIFICATION":29785,"Ġà¦Ĩ":29786,"Ġstandards":29787,"Ġgrupo":29788,"PEN":29789,"zL":29790,"ĠĠĠĠĊ":29791,"Ġdn":29792,"ĠTre":29793,"ĠTermin":29794,"intensity":29795,"Ġjp":29796,"ĠXcode":29797,"Ġsides":29798,"ĠConstructs":29799,"âĨ":29800,"existent":29801,"liz":29802,"diagnostic":29803,"tsd":29804,"denom":29805,"Ġlesson":29806,"endet":29807,"Ġfwd":29808,"isOpen":29809,"Ġ}}\">{{":29810,"Nonce":29811,"ĠCreation":29812,"amental":29813,"Normalized":29814,"Packets":29815,"Ġirule":29816,"åķı":29817,"Stdout":29818,"eml":29819,"temporary":29820,"Ġsomewhat":29821,"builders":29822,"displayProperty":29823,"Ġexpressed":29824,"masks":29825,"Eg":29826,"jLabel":29827,"ĠLang":29828,"liberty":29829,"æĺł":29830,"Regs":29831,"ĠUtilities":29832,"Ġseguint":29833,"éĺŁåĪĹ":29834,"During":29835,"gos":29836,"wlp":29837,"ëĶ":29838,"alÄ±ÅŁ":29839,"acles":29840,"ĠOWNER":29841,"subj":29842,"ĠParallel":29843,"Localization":29844,"анд":29845,"sheets":29846,"Ġattachments":29847,"presence":29848,"Past":29849,"hugo":29850,"Ġnm":29851,"ĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ":29852,"discard":29853,"Outbound":29854,"ĠÃĹ":29855,"))[":29856,"ĠListView":29857,"Ġrelatively":29858,"bootstrapcdn":29859,"Ġtimestamps":29860,"JQ":29861,"rail":29862,"Ġfrm":29863,"keyed":29864,"drawer":29865,"Ġvez":29866,"ĠиÑģполÑĮзов":29867,"Nx":29868,"Tm":29869,"Vr":29870,"efa":29871,"oj":29872,"enia":29873,"vere":29874,"Updating":29875,"Ġpelo":29876,"Ġreporter":29877,"ãĤ¤ãĥĪ":29878,"Ġframeworks":29879,"ĠRecords":29880,"çŁŃ":29881,"exclusive":29882,"arging":29883,"ITOR":29884,"readString":29885,"ĠDOWN":29886,"ĠæĬ":29887,"Couldn":29888,"ĠLearn":29889,"`):":29890,"unary":29891,"getRoot":29892,"arten":29893,"communication":29894,"Ġprove":29895,"lineTo":29896,"ellido":29897,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":29898,"autoload":29899,"SendMessage":29900,"onError":29901,"keit":29902,"whitespace":29903,"objective":29904,"systemd":29905,"Ġplayed":29906,"phoneNumber":29907,"DependencyInjection":29908,"dB":29909,"give":29910,"acts":29911,"ĠOwn":29912,"antis":29913,"Ġatribut":29914,"bases":29915,"Desired":29916,"idxs":29917,"BBB":29918,">()((":29953,"Ġbattery":29954,"ĠIAM":29955,"ĠObit":29956,"argmax":29957,"Ġspread":29958,"Ỽi":29959,"Ġcaps":29960,"Ġ×ij":29961,"horizontalLayout":29962,"ĠOrigin":29963,"Jvm":29964,"Ġsaves":29965,"ivy":29966,"INTEL":29967,"Ġ&___":29968,"Ġpathlib":29969,"withdraw":29970,"CellStyle":29971,"è¿Ľåħ¥":29972,"æ¼Ķ":29973,"Maven":29974,"Rabbit":29975,"Ġhh":29976,"UserProfile":29977,"UNICODE":29978,"][$":29979,"Ġparticipants":29980,"RLP":29981,"ĠâĨ":29982,"ĠTeams":29983,"è´§":29984,"Fecha":29985,"ĠImportError":29986,"Male":29987,"Ġcsr":29988,"Ġah":29989,"Ġaes":29990,"ĠRSA":29991,"publicKey":29992,"åįĪ":29993,"PLL":29994,"cvename":29995,"Ġwrapping":29996,"VARIANT":29997,"CZ":29998,"Ġmint":29999,"tracing":30000,"getSystem":30001,"Ġforum":30002,"erts":30003,"ĠWJ":30004,"ĠWay":30005,"ĠHat":30006,"ALWAYS":30007,"Mutate":30008,"ìĤ°":30009,"kas":30010,"Ġ{{{":30011,"oms":30012,"empresa":30013,"packets":30014,"resourceGroupName":30015,"ãĥ¼ãĥIJ":30016,"Ġintegral":30017,"Ġsimilarity":30018,"Little":30019,"described":30020,"olves":30021,"(\"+":30022,"commod":30023,"čĊčĊĠĠĠĠ":30024,"ENA":30025,"nota":30026,"Ġforeground":30027,"ĠãĤ³":30028,"ết":30029,"#-":30030,"TURE":30031,"Ġwizard":30032,"Research":30033,"Ġsubs":30034,"ignored":30035,"latency":30036,"Ġhelm":30037,"+\"'":30038,"ĠJsonObject":30039,"recommends":30040,"Ġwifi":30041,"Ġhär":30042,"ĠPYG":30043,"classname":30044,"POSIX":30045,"expired":30046,"FRAG":30047,"Ġcmdlet":30048,"standalone":30049,"åĿIJ":30050,"اد":30051,"`'":30052,"Legal":30053,"fontawesome":30054,"bindgen":30055,"Division":30056,"ĠOpcode":30057,"æŃ£åľ¨":30058,"å®Įåħ¨":30059,"Ġembodiments":30060,"getLength":30061,"protein":30062,"imes":30063,"DIFF":30064,"****************************************":30065,"tokenize":30066,"ãģ®ãģ§":30067,"Aggressive":30068,"BITMAP":30069,"Ġconsulte":30070,"ĠINDONESIA":30071,":+":30072,"ëį°":30073,"rored":30074,"Ġdag":30075,"TestCategory":30076,"amsung":30077,"å¼¹":30078,"ĠCRYPT":30079,"ê¹Į":30080,"Tls":30081,"inches":30082,"libr":30083,"ĠOl":30084,"GetItem":30085,"Thickness":30086,"uintptr":30087,"solr":30088,"sharepoint":30089,"ĠAllows":30090,"Correction":30091,"Ctor":30092,"getRow":30093,"->__":30094,"ĠDuplicate":30095,"Configured":30096,"Ġsnprintf":30097,"Ġsatisfy":30098,"èĥĮ":30099,"Amt":30100,"bios":30101,"ز":30102,"ĠPACK":30103,"Ġ~(":30104,"pkl":30105,"Ġод":30106,"ĠÑĨ":30107,"Ġrooms":30108,"Ġck":30109,"Ġdice":30110,"osgi":30111,"čĊčĊĉĉĉĉ":30112,"ĠGest":30113,"dlg":30114,"toolStrip":30115,"uração":30116,"å½±åĵį":30117,"wish":30118,"igible":30119,"getToken":30120,"Ġ_('":30121,"soup":30122,"Mission":30123,"decorate":30124,"æŀĦ建":30125,"Lot":30126,"~/.":30127,"getUrl":30128,"\\\\/":30129,"NOW":30130,"è¿Ļæĺ¯":30131,"Ġshares":30132,"ĠвÑĭп":30133,"èij":30134,"Ġcá»§a":30135,"uned":30136,"Ġae":30137,"assertion":30138,"uesday":30139,"Ask":30140,"Distributed":30141,"ontology":30142,"Ñĥнк":30143,"Ġullam":30144,"$\",":30145,"Ju":30146,"Oj":30147,"aio":30148,"bare":30149,"Ġexe":30150,"åħŃ":30151,"DIAN":30152,"Ġgoals":30153,"voir":30154,"Sorting":30155,"Ġ\"*\"":30156,"WEBPACK":30157,"Ascii":30158,"=-=-=-=-":30159,"BASIC":30160,"`**":30161,"pipelines":30162,"inser":30163,"Constr":30164,"ĠJack":30165,"念":30166,"好çļĦ":30167,"associate":30168,"STANDARD":30169,"CWindows":30170,"Tess":30171,"ÉĻ":30172,"ĠCrypt":30173,"ĠPour":30174,"Colo":30175,"æłĩé¢ĺ":30176,"Ġë°ı":30177,"NIM":30178,"lifetime":30179,"rte":30180,"Ġlng":30181,"dba":30182,"Ġtransient":30183,"bluetooth":30184,"ĠSpecification":30185,"æŃ£ç¡®":30186,"calculator":30187,"ählen":30188,"EAR":30189,"Mx":30190,"lsp":30191,"Ġnib":30192,"ĠPres":30193,"letters":30194,"Attempts":30195,"Ġapparent":30196,"BLAS":30197,"Ġadjusted":30198,"categorical":30199,"JNIEnv":30200,"TIN":30201,"iÅŁ":30202,"Ġtodas":30203,"Ġstrcpy":30204,"umptions":30205,"Ġpaid":30206,"Ġincreases":30207,"Delimiter":30208,"tracer":30209,"))/":30210,"arte":30211,"oids":30212,"Ġdefs":30213,"bero":30214,"ĠclientId":30215,"'>\";":30216,"Networking":30217,"AAAAAAAAAAAAAAAA":30218,"=:":30219,"Msk":30220,"ĠBel":30221,"buddy":30222,"ĠYO":30223,"ktor":30224,"Ġtau":30225,"getopt":30226,"Uni":30227,"Ġtek":30228,"ä¹IJ":30229,"Ġconsent":30230,"snmp":30231,"-----|":30232,"ĠAwesome":30233,"Ġsituations":30234,"ĠPYGLOW":30235,"Los":30236,"jul":30237,"ĠSB":30238,"chalk":30239,"ĠVo":30240,"instant":30241,"likes":30242,"缺":30243,"ãĥĹãĥŃãĤ°ãĥ©":30244,")`.":30245,"stre":30246,"utz":30247,"==>":30248,"ĠCtrl":30249,"programs":30250,"IDC":30251,"ç»į":30252,"TryGetValue":30253,"ĠCapture":30254,"/';":30255,"Experience":30256,"čĊĉĠĠĠĠĠĠĠ":30257,"ĠDelegate":30258,"BufferException":30259,"UPD":30260,"WNr":30261,"schedul":30262,"ĠìłĢ":30263,"Pressure":30264,"visualization":30265,"Ġmultiplier":30266,"Ġ'{}'":30267,"ĠReferences":30268,"Ġìĭ¤íĸī":30269,"Eu":30270,"getTable":30271,"nearest":30272,"Ġpreset":30273,"mocks":30274,"ATURAN":30275,"ĠNL":30276,"SEVER":30277,"ByType":30278,"Ġpragma":30279,"encias":30280,"ĠResolver":30281,"Builders":30282,"Expiry":30283,"čĊĠĠĠĠĠĠĠĠĠĠĠĠčĊĠĠĠĠĠĠĠĠĠĠĠ":30284,"票":30285,"dobe":30286,"veyor":30287,"aturday":30288,"иÑĩеÑģ":30289,"Ġresolves":30290,"ĠæŁ¥è¯¢":30291,"ĠMULTI":30292,"ŀĺìĬ¤":30293,"nails":30294,"getTotal":30295,"ĠNAT":30296,"Ġkick":30297,"ĠresourceCulture":30298,"finance":30299,"ãĥ¼ãĥł":30300,"\"=>$":30301,"haustive":30302,"Ġfired":30303,"Ġfingerprint":30304,"isch":30305,"Ġpsi":30306,"ĠTAB":30307,"ogene":30308,"NewValue":30309,"Ġderive":30310,"Ġhands":30311,"ĠChangelog":30312,"CompilerServices":30313,"Ys":30314,"ese":30315,"mentions":30316,"EXCL":30317,"ikipedia":30318,"ScrollView":30319,"åħ¨éĥ¨":30320,"Dup":30321,"IList":30322,"fad":30323,"gio":30324,"ĠBoost":30325,"Ġalla":30326,"bye":30327,"Ġhaszn":30328,"ĠArtifact":30329,"claims":30330,"EXPECTED":30331,"Her":30332,"Iam":30333,"KW":30334,"Kin":30335,"Pc":30336,"už":30337,"Ġcad":30338,"riction":30339,"getF":30340,"Ġproces":30341,"Exercise":30342,"defin":30343,"Combined":30344,"CONV":30345,"steam":30346,"ç©¶":30347,"nixos":30348,"èĻļ":30349,"OPERATOR":30350,"ç§»åĬ¨":30351,"Ġinterpreted":30352,"speak":30353,"ĠPD":30354,"Ġunchanged":30355,"Ġdok":30356,"Ġencaps":30357,"âĶĢâĶ":30358,"ìļ´":30359,"nvim":30360,"åºĶç͍ç¨ĭåºı":30361,"Bib":30362,"bbe":30363,"facing":30364,"ĠIG":30365,"basePath":30366,"Entropy":30367,"Ġaccessibility":30368,"porcion":30369,"technet":30370,"Ġcontracts":30371,"Jv":30372,"TEX":30373,"ĠPV":30374,"ĊĠĠĊĊĠĠ":30375,"Ġleak":30376,"preprocessor":30377,"rence":30378,"editing":30379,"Ġviene":30380,"ĠbaÅŁ":30381,"ĠÑįÑĤо":30382,"ĠAutomation":30383,"Ġrecursively":30384,"PAS":30385,"bak":30386,"torrent":30387,"Ġ################################":30388,"Ġ=========":30389,"errHandler":30390,"PROM":30391,"sday":30392,"Ġalloca":30393,"datacatalog":30394,"Ġannotated":30395,"Ġfclose":30396,"ĠTex":30397,"ĠMaint":30398,"ĊĉĉĉĉĊĉĉ":30399,"IntegerField":30400,"DisplayMode":30401,"ãĤ¹ãĥĨ":30402,"HTTPS":30403,"ãģĬãĤĪ":30404,"Vb":30405,"meeting":30406,"Ġreconnect":30407,"Ġkit":30408,"Beam":30409,"IsSet":30410,"modifiable":30411,"tagged":30412,"ĠStyleSheet":30413,"Ġmáqu":30414,"Dynamics":30415,"bcf":30416,"pz":30417,"ental":30418,"Ġbson":30419,"ĠMotion":30420,"Ġtrick":30421,"ĠJune":30422,"rounding":30423,"ĠapiKey":30424,"ĠNotImplementedException":30425,"TID":30426,"battle":30427,"ssize":30428,"Ġlabeled":30429,"ĠMot":30430,"provisioning":30431,"BoxLayout":30432,"ĠTasks":30433,"Ġindirect":30434,">'+":30435,"Malloc":30436,"bil":30437,"gad":30438,"|---|---|":30439,"Ġ大":30440,"Ġcerr":30441,"esium":30442,"imity":30443,"Ġconex":30444,"ĠEmp":30445,"SECURITY":30446,"itchen":30447,"Ġemitter":30448,"ĠOpConst":30449,"Cg":30450,"ĠSTE":30451,"ĠSouth":30452,"aaS":30453,"\"&":30454,"Squared":30455,"WID":30456,"áŁ":30457,"atlassian":30458,"Ġgar":30459,"ĠFIN":30460,"ERIC":30461,"ĠWC":30462,"StringTo":30463,"AccessControl":30464,"ĠKeyword":30465,"AccessorImpl":30466,"ĠHEADER":30467,"ĠApril":30468,"IMPORTED":30469,"HttpServletResponse":30470,"Cooldown":30471,"ĠQuality":30472,"CENT":30473,"Ker":30474,"ĠCPP":30475,"Ġmodo":30476,"primer":30477,"IRA":30478,"Ill":30479,"frozen":30480,"Ġluck":30481,"']]],":30482,"à¦ĩ":30483,"ç¦ģ":30484,"papers":30485,"Ġfight":30486,"Ġeco":30487,"ĠEduc":30488,"TRAIN":30489,"serverless":30490,"Ġë¦":30491,"SOCK":30492,"Ġ))}":30493,"íĥľ":30494,"acobian":30495,"LBL":30496,"WAL":30497,"`}":30498,"atm":30499,"Smooth":30500,"Uk":30501,"glo":30502,"Ġsut":30503,"Stores":30504,"ĠPermissions":30505,"Ġæ¯":30506,"ĠPaul":30507,"Evt":30508,"Fre":30509,"fbb":30510,"kick":30511,"inant":30512,"ssid":30513,"Ġdock":30514,"ном":30515,"Ġadres":30516,"MappingURL":30517,"probability":30518,"Ġopposite":30519,"lichen":30520,"THEME":30521,"ĠMODULE":30522,"ãģĬãĤĪãģ³":30523,"Ym":30524,"apanese":30525,"Ġconform":30526,"иÑĢов":30527,"본":30528,"isSet":30529,"appointment":30530,"BlockState":30531,"Prec":30532,"better":30533,"Soldier":30534,"Ġforth":30535,"Ġeget":30536,"ĠVPN":30537,"nodeName":30538,"áf":30539,"HOUR":30540,"mutations":30541,"cruit":30542,"airo":30543,"Ġbrackets":30544,"Materials":30545,"ĠMTLK":30546,"Href":30547,"NAN":30548,"vul":30549,"deletion":30550,"icios":30551,"ĠTrip":30552,"ĠWA":30553,"(\">":30554,"BKSGE":30555,"obody":30556,"notices":30557,"manufacturer":30558,"coroutines":30559,"à°ķ":30560,"Ġinvestigate":30561,"Ao":30562,"CER":30563,"Ġgere":30564,"Ġmeter":30565,"ĠclObject":30566,"fbpfcp":30567,"Privilege":30568,"Ġë¶Ħ":30569,"Ġperfectly":30570,"Ġfichier":30571,"Ġsensors":30572,"Ġzh":30573,"Algorithms":30574,"StatusBar":30575,"Txn":30576,"LDAP":30577,"patched":30578,"implements":30579,"Ġfacilit":30580,"Tbl":30581,"bcb":30582,"xdoc":30583,"Ġnem":30584,"()+\"":30585,"ĠEarth":30586,"Dept":30587,"rche":30588,"firstChild":30589,"mathcal":30590,"Ġvoltage":30591,"PoolSize":30592,"/#/":30593,"deferred":30594,"extractor":30595,"Ġfits":30596,"Ġ\"=":30597,"Ġreplaces":30598,"Ġ*********":30599,"Ġincompatible":30600,"Ġduplicated":30601,"modeling":30602,"ĠStri":30603,"webapp":30604,"CommandBuffer":30605,"tmpdir":30606,"ĠFluent":30607,"Installer":30608,"QtCore":30609,"Ġìĸ´ë":30610,"uing":30611,"setIcon":30612,"ĠZoom":30613,"sessionId":30614,"Ġfuncion":30615,"ìłģìľ¼ë¡ľ":30616,"Fu":30617,"Jack":30618,"fuse":30619,"enst":30620,"Ġpulse":30621,"Ġsono":30622,"uniq":30623,"igma":30624,"PayOrder":30625,"balancer":30626,"Ġretrieving":30627,"аÑĨии":30628,"PLIER":30629,"Vp":30630,"]}\"":30631,"jz":30632,"Ġreactor":30633,"acf":30634,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":30635,"Ġtextarea":30636,"Retries":30637,"Mailbox":30638,"ĠExpand":30639,"ãĤ³ãĥ¼ãĥī":30640,"Ġtreatment":30641,"æıĴåħ¥":30642,"Bk":30643,"DZ":30644,"RATION":30645,"ĠprojectId":30646,"Ġconsumed":30647,"Includes":30648,"pictureBox":30649,"ĠGradle":30650,"ĠcomponentDidMount":30651,"pData":30652,"ĠAvoid":30653,"Uploader":30654,"lpVtbl":30655,"ApiResponse":30656,"Sqrt":30657,"Mol":30658,"Va":30659,"oprot":30660,"neer":30661,"MessageEnd":30662,"Disposition":30663,"Ġscanning":30664,"Ġqw":30665,"Ġgrp":30666,"ĠchartInstance":30667,"Ġза":30668,"mvn":30669,"ĠHardware":30670,"JPEG":30671,"Rb":30672,"Sen":30673,"Ġdanych":30674,"ptest":30675,"ĠFit":30676,"ertia":30677,"ĠUnt":30678,"Ġ%\">":30785,"ĠNeural":30786,"çͱäºİ":30787,"registers":30788,"Ġaffects":30789,"GYRO":30790,"ä¼ģä¸ļ":30791,"ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":30792,"ĠABI":30793,"Ġelevation":30794,"Ġanalyzer":30795,"ĠstyleUrls":30796,"Datetime":30797,"OLA":30798,"Ġoverwritten":30799,"PREV":30800,"ĠManifest":30801,"LDFLAGS":30802,"Ġseeds":30803,"tickets":30804,".*/":30805,"Poker":30806,"[](":30807,"dit":30808,"dial":30809,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":30810,"Ġdal":30811,"ĠPt":30812,"Ġlac":30813,"STA":30814,"STO":30815,"empt":30816,"MessageHandler":30817,"lene":30818,"ambur":30819,"entrypoint":30820,"zza":30821,"ĠInitializeComponent":30822,"Elasticsearch":30823,"Ġopportunity":30824,"è®Ńç»ĥ":30825,"Because":30826,"Skeleton":30827,"tub":30828,"--\">":30829,"heit":30830,"ู":30831,"rune":30832,"handleChange":30833,"Skills":30834,"PROPERTIES":30835,"Ġconcise":30836,"Ġëĭ¤ìĿĮ":30837,"Ġextremely":30838,"literals":30839,"morph":30840,"isDirectory":30841,"apy":30842,"ĠDense":30843,"formData":30844,"ctxt":30845,"Ġcalibration":30846,"Ġplayback":30847,"TryParse":30848,"è¯Ńåı¥":30849,"enarios":30850,"omics":30851,"ListBox":30852,"mapapi":30853,"课":30854,"æĽ´å¤ļ":30855,"GraphicsUnit":30856,"Ġconstructors":30857,"tidy":30858,"Say":30859,"Ġpued":30860,"asma":30861,"ĠTell":30862,"Ġlives":30863,"ffero":30864,"...')":30865,"Heat":30866,"Ġflutter":30867,">\\(\\":30868,"Ġtechnologies":30869,"YWdl":30870,"Ġà¦ķর":30871,"amping":30872,"caffe":30873,"Ġchecklist":30874,"formatting":30875,"ç»Ŀ":30876,"Ġteacher":30877,"é¡¶":30878,"Ġtips":30879,"Ġeigen":30880,"éĢļ常":30881,"缮åīį":30882,"åĨĻåħ¥":30883,"Ġbenefits":30884,"Ġaspects":30885,"Bay":30886,"Ss":30887,"gus":30888,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":30889,"ĠÙĦ":30890,"Ġfilt":30891,"нÑı":30892,"Rooms":30893,"NONNULL":30894,"Ġexpert":30895,"dds":30896,"Ġaddon":30897,"forest":30898,"ĊĉĉĉĉĉĉĊĉĉĉĉĉ":30899,"confidence":30900,"screenshots":30901,"Ġsqlalchemy":30902,"TRANSACTION":30903,"第ä¸Ģ个":30904,"é¢ľèī²":30905,"Uz":30906,"Ġnpc":30907,"endTime":30908,"Unhandled":30909,"={<":30910,"ĠsourceMappingURL":30911,"Temporal":30912,"Ġвоз":30913,"Ġdirectives":30914,"ĠWorks":30915,"DISABLED":30916,"Fg":30917,"Ġeta":30918,"colon":30919,"áln":30920,"ãģ¨ãģĹãģ¦":30921,"SyntaxKind":30922,"Ġcounters":30923,"MAGIC":30924,"ĠexecutorService":30925,"fpga":30926,"ĠSca":30927,"ĠjSON":30928,"\")(":30929,"ForEach":30930,"éĢĻ":30931,"èµ°":30932,"iliation":30933,"ãĥªãĥĨãĤ£":30934,"Insights":30935,"ĠFeedback":30936,"ingredients":30937,"Ġ(::":30938,"uploaded":30939,"ĠWest":30940,"eci":30941,"ROL":30942,"currentPage":30943,"lescope":30944,"Ġselectors":30945,"FDRE":30946,"Estimate":30947,"å͝":30948,"leccione":30949,"MGL":30950,"]](":30951,"Ġ{*}":30952,"Inet":30953,"MessageState":30954,"cshtml":30955,"Fluent":30956,"ĠREPUB":30957,"ĠPROPER":30958,"vkCmd":30959,"Ft":30960,"eer":30961,"fW":30962,"ablish":30963,"ĠWelcome":30964,"FromText":30965,"æĹ¢":30966,"ĠSomething":30967,"Ġë°°":30968,"TOPp":30969,"Deriv":30970,"ilover":30971,"Ġinstantiated":30972,"KD":30973,"Ġhip":30974,"ĠMF":30975,"Stderr":30976,"ĠEH":30977,"Ġasn":30978,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠ":30979,"ĠChapter":30980,"AndSet":30981,"StructEnd":30982,"Ġر":30983,"Tips":30984,"åĵĪ":30985,"볤":30986,"····":30987,"Cov":30988,"ECD":30989,"inplace":30990,"\\\\\\\"":30991,"svp":30992,"ĠìĿĺ":30993,"]\\:":30994,"ãĤ»ãĤ¹":30995,"Relationships":30996,"Ġrenders":30997,"Scopes":30998,"nia":30999,"unlikely":31000,"Ġ'..":31001,"ĠSlice":31002,"Ġhd":31003,"acted":31004,"ĠReactive":31005,"Ġcrear":31006,"HttpMethod":31007,"ProtocolBufferException":31008,"Difficulty":31009,"Ġtrend":31010,"ĠREPUBLIK":31011,"<()>":31012,"ville":31013,"Ġthous":31014,"chdir":31015,"letions":31016,"æĪª":31017,"---------|":31018,"ĠбÑĥд":31019,"ĠLimited":31020,"ĠвÑģе":31021,"deleg":31022,"Ġstaging":31023,"Ġhan":31024,"INO":31025,"/////":31026,"Ġexpiry":31027,"åij¢":31028,"platforms":31029,"éĻIJåζ":31030,"DAG":31031,"God":31032,"urons":31033,"ĠACE":31034,"ĠAffero":31035,"ffb":31036,"ĠStill":31037,"NewGuid":31038,"retries":31039,"RESOL":31040,"Terminate":31041,"CRL":31042,"Fan":31043,"JX":31044,"Mv":31045,"Mas":31046,"hue":31047,"nbr":31048,"Ġé»ĺ认":31049,"getHeader":31050,"ĠCredit":31051,"Ġ$<":31052,"Ġofs":31053,"ĠMATCH":31054,"ĠLV":31055,"Aggregator":31056,"Overlap":31057,"微信":31058,";(":31059,"dice":31060,"ĠčĊĠĠĠĠĠ":31061,"Ġæķ°æį®":31062,"Ġ\"(\"":31063,"idue":31064,"Ġinvalidate":31065,"setIs":31066,"Ġintel":31067,"StringLen":31068,"Ġelt":31069,"SECT":31070,"weise":31071,"jobform":31072,"Ġsmithy":31073,"Ġitertools":31074,"StructBegin":31075,"Ġíı¬":31076,"clojure":31077,"IZER":31078,"basics":31079,"uncement":31080,"TOOLS":31081,"DNA":31082,"Tar":31083,"_\",":31084,"mso":31085,"ĠТ":31086,"Opaque":31087,"HasValue":31088,"ursal":31089,"Packed":31090,"åł´åIJĪãģ¯":31091,"ược":31092,"@$(":31093,"isolate":31094,"uristic":31095,"ĠNom":31096,"outlined":31097,"Ġencontr":31098,"checklist":31099,"FACTOR":31100,"iana":31101,"Mismatch":31102,"predicted":31103,"contributing":31104,"Ġdemonstrate":31105,"ĠEvaluate":31106,"Ġfairly":31107,"Iz":31108,"universal":31109,"gran":31110,"Ġpré":31111,"groupBy":31112,"datap":31113,"ப":31114,"Ġhandshake":31115,"ĠPoints":31116,"Ġdots":31117,"agemaker":31118,"ãĥķãĤ©":31119,"Ġåıij":31120,"Ġpok":31121,"Ġrelay":31122,"Ġrevisions":31123,"ĠTs":31124,"ĠMON":31125,"osable":31126,"ĊĠĠĊ":31127,"goe":31128,"ÑĭÑħ":31129,"Ġskippy":31130,"aea":31131,"ĠUNPROVIDED":31132,"å¤įæĿĤ":31133,"cancellationToken":31134,"ĠsetContentView":31135,"Shar":31136,"MOUSE":31137,"ĠDescri":31138,"\"],\"":31139,"ìłĢ":31140,"DATETIME":31141,"PLE":31142,"Ġwchar":31143,"champ":31144,"updater":31145,"ulty":31146,"been":31147,"RequestBuilder":31148,"Ġ**`":31149,"â̝":31150,"primitives":31151,"cdk":31152,"ĠAssertions":31153,"bigint":31154,"Ġvarying":31155,"avings":31156,"rapid":31157,"ISC":31158,"DatePicker":31159,"triple":31160,"Ġfeet":31161,"Cascade":31162,"RID":31163,"ĠÅ¡":31164,"inement":31165,"ifd":31166,"Ġ'{\"":31167,"ĠPure":31168,"ftext":31169,"Ġlocator":31170,"hibit":31171,"ĠDebian":31172,"apimachinery":31173,"LG":31174,"mrm":31175,"arith":31176,"Ġdial":31177,"amqp":31178,"ĠnewState":31179,"ĠWE":31180,"they":31181,"cyan":31182,"rmi":31183,"Supports":31184,"Slack":31185,"åį³åı¯":31186,"Different":31187,"Ej":31188,"MZ":31189,"pump":31190,"ursday":31191,"//------------------------------------------------":31192,"trainer":31193,"\">//":31194,"spread":31195,"assertNot":31196,"='%":31197,"ICATE":31198,"Ġ/>;":31199,"ĠoldValue":31200,"ChangedEventArgs":31201,"munications":31202,"fine":31203,"tte":31204,"nova":31205,"ĠRequestMethod":31206,"Ġinvite":31207,"åŃĹèĬĤ":31208,"Ġ×Ķ":31209,"BASEPATH":31210,"ãĤ¸ãĤ§":31211,"Euler":31212,"Hum":31213,"yal":31214,"ļ¨":31215,"Ġ:(":31216,"Ġassembler":31217,"Helvetica":31218,"Iterations":31219,"ĠLoss":31220,"Volumes":31221,"æ¡Ĩæŀ¶":31222,"\\@":31223,"gstatic":31224,"Ġwm":31225,"Ġserious":31226,"writeInt":31227,"boarding":31228,"каз":31229,"ĠâĩĴ":31230,"quidity":31231,"SEQUENCE":31232,"Cc":31233,"Yz":31234,"mContext":31235,"δ":31236,"peers":31237,"outside":31238,"ип":31239,"Algo":31240,"GRID":31241,"recorder":31242,"à°²":31243,"pods":31244,"Ġ:-)":31245,"cde":31246,"icl":31247,"Ġ'').":31248,"ListResponse":31249,"nego":31250,"ificial":31251,"Ġqueues":31252,"Ġescaped":31253,"DIRS":31254,"ĠPhysics":31255,"Ġcovers":31256,"Yellow":31257,"{#":31258,"isVisible":31259,"ĠTI":31260,"occup":31261,"ĠRoman":31262,"theory":31263,"NSObject":31264,")}>":31265,"Maintenance":31266,"/\"+":31267,"Van":31268,"getAddress":31269,"Ġanal":31270,"psr":31271,"Adventure":31272,"Ġformer":31273,"Ġredundant":31274,"滤":31275,"getElementsByClassName":31276,"maintenance":31277,"Ġserviço":31278,"TQ":31279,"Wd":31280,"msgid":31281,"Coupon":31282,"Ġexistence":31283,"ĠWeak":31284,"NEAR":31285,"Ġconsidering":31286,"cdecl":31287,"dav":31288,"assessment":31289,"ĠCAL":31290,"indo":31291,"ĠWave":31292,"($\"{":31293,"Loan":31294,"Places":31295,"annotate":31296,"ëĭ¨":31297,"RDD":31298,"ĠåıĤæķ°":31299,"ĽĦ":31300,"acd":31301,"getTransaction":31302,"Ġlights":31303,"ESH":31304,"ItemSelected":31305,"nings":31306,"Obs":31307,"Ġ'\\''":31308,"Ġgenes":31309,"Ġprivileges":31310,"SCOPES":31311,"导èĩ´":31312,"Later":31313,"Ġ());":31314,"ĠSEXP":31315,"affected":31316,"audience":31317,"sempio":31318,"ioutil":31319,"tic":31320,"xh":31321,"Ġitalic":31322,"Ġjmp":31323,"($('#":31324,"GetInt":31325,"Ġobter":31326,"OSX":31327,"insertBefore":31328,"ĠÑĪ":31329,"delivr":31330,"GMT":31331,"LING":31332,"Sf":31333,"Ġcul":31334,"ingroup":31335,"quark":31336,"brtc":31337,"KeyPair":31338,"showMessage":31339,"дел":31340,"EMB":31341,"Rt":31342,"Ġmont":31343,"indigo":31344,"solut":31345,"Authenticator":31346,"mcps":31347,"WireFormat":31348,"concile":31349,"èĦļæľ¬":31350,"Ġ](":31351,"Ġfps":31352,"ĠSa":31353,"ĠPWM":31354,"cao":31355,"LIKE":31356,"Flux":31357,"Ġopenssl":31358,"......":31359,"Ignored":31360,"Consensus":31361,"autor":31362,"isations":31363,"otypes":31364,"Ġusable":31365,"Ġpoor":31366,"SIZ":31367,"aproxy":31368,"Demand":31369,"Race":31370,"bir":31371,"Ġĉĉĉĉ":31372,"Ġtrunc":31373,"Ġcomparing":31374,"CONDITION":31375,"Ġgrace":31376,"Ġdealing":31377,"ĠSimulation":31378,"ACHED":31379,"robots":31380,"hxx":31381,"ű":31382,"itulo":31383,"Ġthickness":31384,"Composer":31385,"ĠVehicle":31386,"BLOB":31387,"BOLD":31388,"HORIZONTAL":31389,"Simp":31390,"Zones":31391,"fdd":31392,"ĺIJ":31393,"ĠPipe":31394,"FileSize":31395,"Ġlim":31396,"Ġportfolio":31397,"Ġemitted":31398,"ë©°":31399,"åİŁåĽł":31400,"################################################################################":31401,"prefetch":31402,"!]":31403,"lun":31404,"Ġdeletes":31405,"ĠIh":31406,"debugging":31407,"mazing":31408,"hus":31409,"Ġcette":31410,"ĠOpenSSL":31411,"ème":31412,"Ġresponsibility":31413,"çĨ":31414,"respon":31415,"Ġstages":31416,"==(":31417,"ĠFLOAT":31418,"Enqueue":31419,"Least":31420,"UseCase":31421,"Ġæĭ":31422,"protocols":31423,"galax":31424,"/$(":31425,"Dp":31426,"atts":31427,"Ġ$('<":31428,"setHeader":31429,"ĠDAN":31430,"ĠonClose":31431,"ĠUSING":31432,"executeQuery":31433,"ç»Łè®¡":31434,"ĠSemantic":31435,"Ġmemoized":31436,"ĠGENERATED":31437,"Sandia":31438,"]\">&":31439,"Ġequip":31440,"ĠNorm":31441,").(":31442,"------------------":31443,"Asia":31444,"[:]":31445,"bbc":31446,"ADDRLP":31447,"Identification":31448,"Ġdelivered":31449,"ĠFORMAT":31450,"qv":31451,"ĉĊĉĉ":31452,"olist":31453,"Ġequipment":31454,"Ġworkload":31455,"holds":31456,"ĠOctober":31457,"ĠCleanup":31458,"Ky":31459,"Tiny":31460,"roto":31461,"ĠNIL":31462,"TypeList":31463,"LEEP":31464,"phil":31465,"Ġdefaultdict":31466,"ĠXamarin":31467,"navList":31468,"emptyList":31469,"incident":31470,"ãģķãĤĮãģ¦ãģĦãĤĭ":31471,"charCodeAt":31472,"Bn":31473,"rations":31474,"yen":31475,"âĿ":31476,"Ġniveau":31477,"Ġ${{":31478,"ecb":31479,"jsdelivr":31480,"Ġmainly":31481,"precio":31482,"Submitted":31483,"Ġsafely":31484,"Stripe":31485,"Nor":31486,"stu":31487,"produk":31488,"]){":31489,"Ġìµľ":31490,"ĠhttpClient":31491,"SCALL":31492,"å¾ģ":31493,"ĠResultSet":31494,"splits":31495,"ä»ĭç»į":31496,"IRTUAL":31497,"ĠJAXBElement":31498,"hlslpp":31499,"ĠND":31500,"rappe":31501,"SIMD":31502,"Pract":31503,"expiry":31504,"cademic":31505,"详ç»Ĩ":31506,"Cancellation":31507,"RQ":31508,"ĠĠĠĊĠĠĠĠĠĠĠ":31509,"()['":31510,"ĠBeta":31511,"Withdraw":31512,"MethodInfo":31513,"ä¸Ģèĩ´":31514,"Ordering":31515,"InvalidProtocolBufferException":31516,"IRON":31517,"åħ³äºİ":31518,"ÙĪØ±":31519,"Ġverwendet":31520,"KIND":31521,"Wb":31522,"dsc":31523,"Ġbatches":31524,"=\");":31525,"ĠSquare":31526,"Ġexposing":31527,"HELP":31528,"Subset":31529,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĉ":31530,"Specify":31531,"bond":31532,"Ġalerts":31533,"å¼ĢåIJ¯":31534,"alamat":31535,"Concatenation":31536,"Ġëĵ±":31537,"確èªį":31538,"Cad":31539,"xFD":31540,"lover":31541,"INITY":31542,"Ġbreakpoint":31543,"devops":31544,"ä¹°":31545,"æĸ¹æ¡Ī":31546,"Feel":31547,"Ġcircum":31548,"ạn":31549,"vcf":31550,"xu":31551,"{\",":31552,"unicip":31553,"Ġenctype":31554,"bbbb":31555,"Dims":31556,"MouseDown":31557,"ĠSYSTEM":31558,"Cyc":31559,"Europe":31560,"Lights":31561,"cmap":31562,"acci":31563,"ĠFHIR":31564,"profit":31565,"gravity":31566,"Ġenjoy":31567,"ABS":31568,"BOUN":31569,"director":31570,"ĠMacro":31571,"оÑģл":31572,"è»":31573,"ĠGREEN":31574,"Seleccion":31575,"({})":31576,"ibles":31577,"ALLY":31578,"Globalization":31579,"ĠManage":31580,"Confirmed":31581,"Ġcapable":31582,"Ġidentifying":31583,"LH":31584,"kont":31585,"zlib":31586,"ĠGM":31587,"ĠGive":31588,"anten":31589,"CHILD":31590,"Ġissuer":31591,"Creature":31592,"Monster":31593,"ĠHelvetica":31594,"jacency":31595,"Bob":31596,"Miss":31597,"Moment":31598,"Risk":31599,"Ġż":31600,"Ġmó":31601,"ĠCe":31602,"textwidth":31603,"Adam":31604,"Ġedition":31605,"Animations":31606,"ĠFeel":31607,"similarity":31608,"!:":31609,"BZ":31610,"GIS":31611,"Ġprefs":31612,"getMonth":31613,"convention":31614,"ĠLarge":31615,"Ġcomplement":31616,"Ġua":31617,"ĠNotebook":31618,"Ġtypescript":31619,"ÅĤad":31620,"ĠWithout":31621,"Ġtotally":31622,">>>>>>>>":31623,"bdf":31624,"urus":31625,"underscore":31626,"ĠReceived":31627,"Ġsoup":31628,"headline":31629,"èĥ½å¤Ł":31630,"REGS":31631,"minecraftforge":31632,"Breadcrumb":31633,"Would":31634,"ivar":31635,"ĠDROP":31636,"ĠgetInstance":31637,"addir":31638,"临":31639,"Ġtexts":31640,"Whitespace":31641,"INCLUDED":31642,"ĠFIFO":31643,"_));":31644,"rors":31645,"ÄIJ":31646,"cea":31647,"Ġokhttp":31648,"ĠDOC":31649,"SelectedIndex":31650,"Ġamounts":31651,"éĩįå¤į":31652,"Ġsnapshots":31653,"âĻ":31654,"Ġ=&":31655,"companies":31656,"Agreement":31657,"帮":31658,"Ġmisc":31659,"ĠStreaming":31660,"éķĩ":31661,"codings":31662,"Ġslides":31663,")\\\\":31664,"IData":31665,"elect":31666,"hass":31667,"clam":31668,"ĠUE":31669,"compilation":31670,"аÑĩ":31671,"ĠConverter":31672,"Ċĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ":31673,"Ġyapı":31674,"Dic":31675,"Hack":31676,"Lane":31677,"erk":31678,"idy":31679,"paramtype":31680,"Ġinstitution":31681,"éĺ¿":31682,"clusions":31683,"'};":31684,"Jh":31685,"Ġstretch":31686,"stration":31687,"currently":31688,"প":31689,"relax":31690,"Ġreferred":31691,"fasta":31692,"Caching":31693,"NH":31694,"Ġtrivial":31695,"getfield":31696,"ĠDNA":31697,"ddl":31698,"Lista":31699,"uclide":31700,"Ġadjacent":31701,"Ġacts":31702,"ĠQName":31703,"AndView":31704,"ĠDataSet":31705,"ÑĥÑī":31706,"ãĥ¼ãģ®":31707,"ĠREF":31708,"Ġidentification":31709,"Merchant":31710,"ĠGNUNET":31711,"Ticker":31712,"ĠSlide":31713,"ebb":31714,"ONGO":31715,"experiments":31716,"Bubble":31717,"ZP":31718,"ĠCam":31719,"gles":31720,"officer":31721,"Ġscientific":31722,"ungan":31723,"ĠPROJECT":31724,"Verified":31725,"åij¼":31726,"ÅĻed":31727,"edition":31728,"ĠBits":31729,"Ġiot":31730,"Ġunavailable":31731,"Ġks":31732,"Ġbuffered":31733,"FY":31734,"pX":31735,"ĠåĪłéϤ":31736,"Ġsymbolic":31737,"Represent":31738,"ĊĉĉĉĉĠĠĠĠ":31739,"夹":31740,"Ġeducation":31741,"Ġdatum":31742,"lixir":31743,"````````":31744,"ðŁĶħ":31745,"#:":31746,"Iv":31747,"Tu":31748,"Ġvt":31749,"ĠEin":31750,"Ġoracle":31751,"IdList":31752,"\"\"\"\"":31753,"WithError":31754,"ке":31755,"клÑİÑĩ":31756,"Ġãĥĩ":31757,"ĠCoordinate":31758,"ĠÙģ":31759,"Ġmel":31760,"brush":31761,")))),":31762,"')));":31763,"Ġcaches":31764,"âĤĤ":31765,"gj":31766,"ĠAsk":31767,"Ġitr":31768,"DataModel":31769,"GetSize":31770,"Ġrock":31771,"hashes":31772,"ĠWho":31773,"cellrow":31774,"EW":31775,"ĠĊĊĠ":31776,"Income":31777,"agy":31778,"Provision":31779,"Provisioning":31780,"Ġik":31781,"ipay":31782,"++];":31783,"COOKIE":31784,"Ġcertainly":31785,"Ġalternatives":31786,"æ´»åĬ¨":31787,"Ġë§Įëĵ¤":31788,"Ġgovernment":31789,"BEN":31790,"cities":31791,"stencil":31792,"Ġexceeded":31793,"EDURE":31794,"Moves":31795,"Ġvariation":31796,"Ġaktiv":31797,"cellrowborder":31798,"Ek":31799,"Jun":31800,"Ġscheduling":31801,"trusted":31802,"ĠBear":31803,"STAGE":31804,"They":31805,"Subtitle":31806,"ictim":31807,"Deliver":31808,"Cryptography":31809,"pokemon":31810,"Fk":31811,"Nh":31812,"rvm":31813,"atum":31814,"conference":31815,"ĠsetInterval":31816,">":31817,"distances":31818,"sortable":31819,"Libraries":31820,"ASTER":31821,"ÅĽli":31822,"Female":31823,"mav":31824,"ccf":31825,"ISupport":31826,"goals":31827,"parseFloat":31828,"AXIS":31829,"Ġtypo":31830,"Ġessentially":31831,"ĠSharePoint":31832,"$('":31833,"=}":31834,"ĠSlot":31835,"Ġeius":31836,"ĠuserInfo":31837,"Ġabbre":31838,"ÑĢаз":31839,"uelle":31840,"Ġtomorrow":31841,")}.":31842,"Rw":31843,"Tel":31844,"Vc":31845,"Ġpes":31846,"Ġsticky":31847,"ĠCFG":31848,"afc":31849,"ĠANSI":31850,"ĠmaxWidth":31851,"SIST":31852,"PRICE":31853,"ĠArduino":31854,"nych":31855,"planet":31856,"sqr":31857,"xEF":31858,"ForeColor":31859,"Ġexplained":31860,"çģ«":31861,"getStart":31862,"Ġ._":31863,"opening":31864,"Moved":31865,"ĠInvalidOperationException":31866,"ÃŃcÃŃ":31867,">_":31868,"JTextField":31869,"liced":31870,"Ġzn":31871,"Ġ\"/\",":31872,"otherwise":31873,"sideY":31874,"æĢ§èĥ½":31875,"PGA":31876,"Touchable":31877,"ĠDelivery":31878,"ĠROW":31879,"íĺķ":31880,"ĠOPTIONAL":31881,"asmine":31882,"Ġsemp":31883,"endants":31884,"actors":31885,"ĠBB":31886,"Ġvalidity":31887,"movement":31888,"ãģªãĤĭ":31889,"delayed":31890,"ĠÏĦ":31891,"cee":31892,"Portfolio":31893,"Ġutilis":31894,"íĥĢ":31895,"Bw":31896,"reuse":31897,"descriptors":31898,"ĠStand":31899,"Specifier":31900,"ĠPARAM":31901,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":31902,"Ġкомп":31903,"hresult":31904,"stors":31905,"Ġomn":31906,"ĠParticle":31907,"ĠDR":31908,"Ġuncert":31909,"Ġserá":31910,"Ġconfused":31911,"agnosis":31912,"Ġapproaches":31913,"ativa":31914,"ç½ijç«Ļ":31915,"GLOBALS":31916,"gens":31917,"Ġbars":31918,"acz":31919,"lipped":31920,"setParameter":31921,"Ġgolang":31922,"ROSS":31923,"ELLOW":31924,"Ġrowheader":31925,"LocalDateTime":31926,"ĠÃľ":31927,"Artifacts":31928,"lü":31929,"injection":31930,"();?>":31931,"Ġexerc":31932,"forme":31933,"csd":31934,"little":31935,"LLER":31936,"Ġstopping":31937,"æ°Ķ":31938,"ĠIRQ":31939,"-/":31940,"Basis":31941,"Terrain":31942,"berry":31943,"lyft":31944,"ĠInputs":31945,"æľĢå°ı":31946,"Crash":31947,"Ġscales":31948,"Ġignoring":31949,"ĠGradient":31950,"FAR":31951,"Ġffi":31952,"ĠSuch":31953,"ĠNested":31954,"Processes":31955,"oster":31956,"amplify":31957,"forName":31958,"rollup":31959,"ç͍æĿ¥":31960,"Ġfinden":31961,"(\\'":31962,"Ġheadline":31963,"ĠçalÄ±ÅŁ":31964,"аеÑĤÑģÑı":31965,"KHTML":31966,"SX":31967,"wang":31968,"memd":31969,"Ġnue":31970,"ĠAjax":31971,"keyframes":31972,"ixa":31973,"ĠStringComparison":31974,"ár":31975,"OPATH":31976,"端åı£":31977,"ĠÏĥ":31978,"ilinear":31979,"mistry":31980,",@":31981,"mach":31982,"sax":31983,"Ĩł":31984,"apm":31985,"Ġeyes":31986,"Expose":31987,"ificacion":31988,"Neighbors":31989,"æłĩåĩĨ":31990,"hotel":31991,"Ġorganizations":31992,"ĠFUNC":31993,"Ġmeasures":31994,"Ġyoung":31995,"rabbitmq":31996,"Dedicated":31997,"Mt":31998,"ĠAmb":31999,"toThrow":32000,"ĠMajor":32001,"Ġantl":32002,"ĠHero":32003,"ĠInstrument":32004,"CHIP":32005,"dotenv":32006,"GRAY":32007,"ĠHttpStatus":32008,"ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ":32009,"ĠAutomatic":32010,"Ġudp":32011,"Vz":32012,"Zk":32013,"Ġdü":32014,"ott":32015,"ĠTcl":32016,"Ġhx":32017,"Stable":32018,"Ġzones":32019,"ĠXP":32020,"EntityManager":32021,"Expires":32022,"Ġmarshal":32023,"ĠRetrieves":32024,"Ef":32025,"OWNER":32026,"Ġbcrypt":32027,"getVersion":32028,"playing":32029,"ltk":32030,"nowrap":32031,"Ġseemed":32032,"á»ĭ":32033,"CRED":32034,"Ġ×ŀ":32035,"Ã¥n":32036,"NuGet":32037,"increase":32038,"onia":32039,"Ġcraft":32040,"Ġ'>":32041,"',@":32042,"readOnly":32043,"locales":32044,"Ġdecisions":32045,"ĠJanuary":32046,"#----------------------------------------------------------------":32047,"Elimin":32048,"Ġtut":32049,"Ġtruncate":32050,"Ġjint":32051,"åĽº":32052,"ĠZrLogUtil":32053,"ĠWeather":32054,"Ġbrain":32055,"ĠNodes":32056,"=$_":32057,"Architecture":32058,"Delayed":32059,"éĴ¥":32060,"ĠPYTHON":32061,"rogate":32062,"Ġnes":32063,"Ġmf":32064,"ĠBere":32065,"igne":32066,"appen":32067,"queryParams":32068,"feats":32069,"MAPP":32070,"roots":32071,"}\\),":32784,"Ġquot":32785,"Ġcurs":32786,"Ġprecedence":32787,"Fence":32788,"Rl":32789,"tow":32790,"zie":32791,"stud":32792,"isDebug":32793,"Ġwarm":32794,"setf":32795,"ãĥ¦ãĥ¼ãĤ¶ãĥ¼":32796,"HEAP":32797,"EQUI":32798,"<<(":32799,"Ġ\"-\",":32800,"Balanco":32801,"ından":32802,"éģįåİĨ":32803,"Camel":32804,"GITHUB":32805,"cock":32806,"ribb":32807,"Ġextraction":32808,"Extras":32809,"Ġunzip":32810,"aware":32811,"UNLOCK":32812,"Ġinterp":32813,"transaksi":32814,"mtlk":32815,"åħ«":32816,"SCM":32817,"chanism":32818,"TU":32819,"Ġnarrow":32820,"getServer":32821,"ĠDRI":32822,"æĪı":32823,"rowsable":32824,"Ġvision":32825,"volved":32826,"ĠIconData":32827,"ä¼ĺåĮĸ":32828,"cotic":32829,"EVT":32830,"Gc":32831,"bolt":32832,"Ġbrowse":32833,"ĠAbc":32834,"Ġexits":32835,"Beat":32836,"DDS":32837,"ĠPlus":32838,"CppGuid":32839,"ĠClaim":32840,"ãĤŃãĥ¥ãĥªãĥĨãĤ£":32841,"Dart":32842,"Omega":32843,"RON":32844,"[\\\"":32845,"rdata":32846,"Ġcub":32847,"Ġeconom":32848,"ocheck":32849,"weis":32850,"\"]]":32851,"findall":32852,"ĠSHIFT":32853,"cleaned":32854,"Ġreproduc":32855,"ç¡®å®ļ":32856,"Ml":32857,"Salt":32858,"ĠBill":32859,"dbname":32860,"ĠCompletion":32861,"ĠdateTime":32862,"productId":32863,"ierz":32864,"wpdb":32865,"Ġ{:?}\",":32866,"pnl":32867,"ĠJuly":32868,"ynamoDB":32869,"ãĤ±ãĥ¼ãĤ·ãĥ§ãĥ³":32870,"'$":32871,"Mng":32872,"Ġsemi":32873,"ãĥĦ":32874,"PROV":32875,"centos":32876,"ĠDISABLE":32877,"ĠbaÄŁ":32878,"Ġtiene":32879,"Ġìłķë³´":32880,"GAN":32881,"Ġ\"::":32882,"idge":32883,"getDescription":32884,"quiry":32885,"Ġtrusted":32886,"ULA":32887,"timedelta":32888,"讲":32889,"issuer":32890,"Normalization":32891,"LiveData":32892,"Ġfelt":32893,"ĠRing":32894,"translated":32895,"xmlns":32896,"installing":32897,"Structures":32898,"ĠPROTO":32899,"AnimationFrame":32900,"ĠLocalDateTime":32901,"Fetching":32902,"à¥ĩ":32903,"ELABSCOPES":32904,"ç»ijå®ļ":32905,"satisf":32906,"dea":32907,"Ġftp":32908,"expo":32909,"getPlayer":32910,"odi":32911,"ãĥľ":32912,"Ġnovel":32913,"Ġpret":32914,"Ġgrouping":32915,"Ġfinite":32916,"Ġauthorize":32917,"ĠNOI":32918,"herokuapp":32919,"Cm":32920,"JButton":32921,"Tweet":32922,"fal":32923,"Ġdll":32924,"Except":32925,"ĠKnown":32926,"raud":32927,"cfd":32928,"InternalMessageInfo":32929,"Charts":32930,"Ġinformations":32931,"strncmp":32932,"ECC":32933,"Lic":32934,"rick":32935,"assertArrayEquals":32936,"(!(":32937,"continuous":32938,"?).":32939,"plex":32940,"rif":32941,"Ġushort":32942,"Ġinset":32943,"Ġservlet":32944,"Uploaded":32945,"=>$":32946,"attached":32947,"carded":32948,"èĴ":32949,"ĠĠĊĊĠĠ":32950,"inin":32951,"meteor":32952,"ĠLUA":32953,"ĠBIN":32954,"\"]=":32955,"castle":32956,"cbi":32957,"าà¸Ļ":32958,"?,?,":32959,"ĠusÅĤugi":32960,"ZI":32961,"remo":32962,"getCount":32963,"phyr":32964,"TableEntry":32965,"Prem":32966,"ĠserviceName":32967,"CRITICAL":32968,"yyy":32969,"trimBalanco":32970,"consent":32971,"PubKey":32972,"Associated":32973,"Ġverwenden":32974,"Õ¥":32975,"atk":32976,"ĠSheet":32977,"Repr":32978,"à¸ŀ":32979,"ĠAdditionally":32980,"ĠparseFrom":32981,"ceeding":32982,"Director":32983,"AUT":32984,"QUI":32985,"TEN":32986,"nore":32987,"Ġ\"**":32988,"Ġgod":32989,"Ġanti":32990,"STL":32991,"mlink":32992,"ARC":32993,"ĠTrade":32994,"ĠsessionId":32995,"Expansion":32996,"failures":32997,"Ġμ":32998,"Paid":32999,"íı¬":33000,"Ġbroad":33001,"ĠSpe":33002,"testdata":33003,"fromString":33004,"ĠYo":33005,"ĠUnits":33006,"ELY":33007,"ĠorderBy":33008,"ĠRouting":33009,"ãĥĹãĥŃãĤ°ãĥ©ãĥł":33010,"Pulse":33011,"edd":33012,"Ġsequ":33013,"plans":33014,"ĠJOptionPane":33015,"Ġprimer":33016,"halten":33017,"ĠданнÑĭÑħ":33018,"xlim":33019,"ç¹":33020,"Ġrede":33021,"Ġwinner":33022,"Increase":33023,"Ġhole":33024,"Ġ!!!":33025,"ITIES":33026,"GLint":33027,"Detected":33028,"Flutter":33029,"ĠLogical":33030,"relations":33031,"Ġroots":33032,"InitStruct":33033,"BatchNorm":33034,"Prediction":33035,"Ġconstructs":33036,"ãĥĩãĤ£":33037,"Fb":33038,"Fig":33039,"OSC":33040,"fancy":33041,"ĉĠĠĠĠ":33042,"ĠĊĊĠĠĠĠĠĠĠ":33043,"Ġdee":33044,"ãĤº":33045,"TIBLE":33046,"æłı":33047,"('/');":33048,"ĠDBG":33049,"MDW":33050,"åĬłåħ¥":33051,"Declare":33052,"cursively":33053,"FORWARD":33054,"Ġmaintainers":33055,"Ġhimself":33056,"ParallelGroup":33057,"PARTITION":33058,"ĠLGTM":33059,"Jy":33060,"meet":33061,"ĠFocus":33062,"Ġcham":33063,"çļĦæĸĩä»¶":33064,"tablet":33065,"ÑĢем":33066,"HostName":33067,"Ġpersistence":33068,"ä¹Łæĺ¯":33069,"Ġì¶Ķê°Ģ":33070,"jis":33071,"íŀ":33072,"Ġkur":33073,"pieces":33074,"openqa":33075,"Disposed":33076,"RenderPass":33077,"Responder":33078,"ãĤ¤ãĥ³ãĤ¹ãĥĪ":33079,"士":33080,"Ġmeaningful":33081,"Ġupgraded":33082,"Mensaje":33083,"mdesc":33084,"Ġ========":33085,"Ġcats":33086,"Ġez":33087,"appName":33088,"awan":33089,"ĠJDK":33090,"Ġliving":33091,"Blade":33092,"gauge":33093,"Ġmutations":33094,"Ġ\"{\\\"":33095,"Ġë¬¸ìłľ":33096,"çŃĸçķ¥":33097,"ãĤ¸ãĤ§ãĤ¯ãĥĪ":33098,"%]":33099,"Ru":33100,"tank":33101,"Ġaim":33102,"('\"":33103,"ĠDem":33104,"'][]":33105,"udnn":33106,"currentIndex":33107,"Ġë¡":33108,"crm":33109,"å¥Ĺ":33110,"ì§Ģë§Į":33111,"Ldap":33112,"?$":33113,"CString":33114,"getcwd":33115,"ĠNONE":33116,"ĠRAD":33117,"ROUTE":33118,"ĊĉĉĉĉĉĠĠ":33119,"MAY":33120,"ĠmodelBuilder":33121,"ĠXunit":33122,"serves":33123,"SWITCH":33124,"HexString":33125,"ĠPeople":33126,"fadeOut":33127,"ĠMatcher":33128,"Ġreplicate":33129,"Sg":33130,"bubble":33131,"Ġvul":33132,"Ġhc":33133,"transact":33134,"participants":33135,"toolbox":33136,"åIJ¦åĪĻ":33137,"Ġfolgenden":33138,"cccccc":33139,"thycotic":33140,"Ach":33141,"Mot":33142,"inproceedings":33143,"stv":33144,"Ġnic":33145,"Ġ\"),":33146,"ĠDIM":33147,"Ġintval":33148,"Ġconfiguring":33149,"dfd":33150,"Blocked":33151,"Ġconsumption":33152,"åħ¥åĬĽ":33153,"çα":33154,"Ġ'*',":33155,"haskell":33156,"Õ¶":33157,"coins":33158,"rij":33159,"rights":33160,"çĶ·":33161,"Ġgrand":33162,"ĠPerl":33163,"Ġع":33164,"ĠWorkspace":33165,"Ġindentation":33166,"sweep":33167,"itere":33168,"ĠSure":33169,"gettext":33170,"Ġ#(":33171,"Ġcomposed":33172,"FileReader":33173,"rtm":33174,"ứ":33175,"ĠInitialization":33176,"AFTER":33177,"ений":33178,"Ġstatistic":33179,"ĠPeaking":33180,"ä¸ĸçķĮ":33181,"*&":33182,"eight":33183,"jQ":33184,"alphabet":33185,"Ġfed":33186,"Ġborrow":33187,"(\"../../":33188,"indi":33189,"awl":33190,"ĠRev":33191,"])[":33192,"Generating":33193,"EmailAddress":33194,"planes":33195,"ĠRegular":33196,"Ven":33197,"etry":33198,"Ġincome":33199,"Ġoid":33200,"..\"":33201,"ĠnewNode":33202,"condensed":33203,"ĠContinue":33204,"WebAPI":33205,"Ġnetworking":33206,"[{\"{\",":33207,"å¤įåζ":33208,"Ġëĭ¨":33209,">#<":33210,"ĠRotation":33211,"ibilidad":33212,"Xl":33213,"Ùī":33214,"estyle":33215,"ĠBible":33216,"ĠVi":33217,"localized":33218,"\\_\\_":33219,"Ġstrictly":33220,"Years":33221,"environments":33222,"Ġë°©ë²ķ":33223,"Ġfulfill":33224,"Minecraft":33225,"Pie":33226,"^(":33227,"Ġew":33228,"gear":33229,"getLong":33230,"useState":33231,"readlines":33232,"Ġcompet":33233,"transformation":33234,"å®Ŀ":33235,"requireNonNull":33236,"slv":33237,"Ġinitializing":33238,"SBG":33239,"Ġdropout":33240,"dispatchEvent":33241,"ĠRequires":33242,"Ġsearches":33243,"vip":33244,"ĊĊĉĉĉĉĉĉĉ":33245,"Ġath":33246,"ución":33247,"createParallelGroup":33248,"Education":33249,"Scatter":33250,"gestion":33251,"SecurityGroup":33252,"çŃīå¾ħ":33253,"Ġincorrectly":33254,"Ġtickets":33255,"acceleration":33256,"fresh":33257,"}=(":33258,"ĠTPM":33259,"(&_":33260,"traverse":33261,"Teacher":33262,"DeepEqual":33263,"DoxyCode":33264,"ifeq":33265,"thickness":33266,"ĠuseCallback":33267,"Applied":33268,"venience":33269,"{}{}":33270,"ãĥ¼ãĤĴ":33271,"sortBy":33272,"alloca":33273,"ĠFormData":33274,"ClusterManager":33275,"snapshots":33276,"(',',":33277,"PrettyPrinter":33278,"çªĹåı£":33279,"'',":33280,"+=\"<":33281,"CPtr":33282,"Sex":33283,"orna":33284,"apat":33285,"Ġtrading":33286,"Ġmehr":33287,"ToRemove":33288,"Ġelsewhere":33289,"assertions":33290,"ĠReq":33291,"NewRequest":33292,"Ġ++;":33293,"æŀĹ":33294,"hyd":33295,"ytimg":33296,"第ä¸ī":33297,"Uw":33298,"Ġ((\"":33299,"Ġyeah":33300,"tableLayoutPanel":33301,"ĠcurrentUser":33302,"ĠEncoder":33303,"Specifies":33304,"COMPAT":33305,"Ġhighlighted":33306,"ĠencodeVarint":33307,"QV":33308,"inent":33309,"utos":33310,"Ġmqtt":33311,"Objective":33312,"nose":33313,"Beans":33314,"ResourceGroupName":33315,"Ġsigner":33316,"maries":33317,"HomePage":33318,"ytvo":33319,"ĠfadeIn":33320,"memItemLeft":33321,"memItemRight":33322,"ĠPRIVATE":33323,"Gx":33324,"Pseudo":33325,"Ġ(...":33326,"Ġslope":33327,"ĠDIST":33328,"Ġ@_":33329,"ĠMAN":33330,"Ġchxj":33331,"ĠuserService":33332,"createFrom":33333,"loudFormation":33334,"ĠObjectMapper":33335,"ĠâĸĪâĸĪ":33336,">`,":33337,"KJ":33338,"OData":33339,"cmt":33340,"uator":33341,"//@":33342,"ĠFifth":33343,"Ġchown":33344,">(_":33345,"destlen":33346,"Ġtidak":33347,"EZ":33348,"Rds":33349,"accent":33350,"\">',":33351,"ĠGson":33352,"Province":33353,"ĠChallenge":33354,"Ġherein":33355,"Photos":33356,"shouldBe":33357,"ĠupdatedAt":33358,"åıĤçħ§":33359,"Ġgradle":33360,"Ġãĥķ":33361,"creds":33362,"gomock":33363,"Gs":33364,"qz":33365,"áİ":33366,"utron":33367,"Ġmů":33368,"Deg":33369,"GetDevice":33370,"overload":33371,"ĠDataTable":33372,"ä¹ħ":33373,"Ġobtener":33374,"onomous":33375,"§":33376,"ĠčĊĠĠ":33377,"rewards":33378,"Ġiface":33379,"EXE":33380,"(*(":33381,"Ġcmds":33382,"ода":33383,"DEPEND":33384,"å®ĥ们":33385,"interpolate":33386,"yum":33387,"stones":33388,"umbo":33389,"GroupID":33390,"limate":33391,"jad":33392,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":33393,"lek":33394,"=\"\"><":33395,"getto":33396,"Ġ//////////////////////////////////":33397,"astore":33398,"Ġcomme":33399,"epass":33400,"Texts":33401,"LogFile":33402,"grouped":33403,"Ġcounting":33404,"Ġcentered":33405,"Ġmasks":33406,"\"/><":33407,"entrant":33408,"brides":33409,"som":33410,"entro":33411,"ĠCType":33412,"ĠCATCH":33413,"ĠDEL":33414,"bere":33415,"Resizable":33416,"prc":33417,"ĠkInstruction":33418,"cpus":33419,"autore":33420,"pmwiki":33421,"howto":33422,"Periodo":33423,"alternative":33424,"BORDER":33425,"Iy":33426,"UY":33427,"eled":33428,"glfw":33429,"Ġslower":33430,"Ġbubble":33431,"Ġcodebase":33432,"sla":33433,"Ġqueued":33434,"autos":33435,"directives":33436,"CURSOR":33437,"cum":33438,"crawler":33439,"jInternalFrame":33440,"nump":33441,"getEvent":33442,"ngo":33443,"Ġassumption":33444,"integral":33445,"mosaic":33446,"Hints":33447,"èĻij":33448,"Gaussian":33449,"LTE":33450,"khr":33451,"reib":33452,"ĠRand":33453,"ĠUt":33454,"ĠHERE":33455,"moon":33456,"testify":33457,"Almost":33458,"æ±ł":33459,"æīĢæľīçļĦ":33460,"Pn":33461,"Sd":33462,"Ġrepre":33463,"ĠWas":33464,"classpath":33465,"sonar":33466,"MPU":33467,"BaseType":33468,"âĸĴ":33469,"quival":33470,"fstream":33471,"iers":33472,"jdt":33473,"Ù¾":33474,"iflow":33475,"Ġmillion":33476,"typing":33477,"brace":33478,"GetResponse":33479,"ável":33480,"binder":33481,"Ġdivisor":33482,"ĠMethodInfo":33483,"ĠDetection":33484,"Payments":33485,"PET":33486,"WY":33487,"recycler":33488,"Reach":33489,"(\"`.":33517,"DURATION":33518,"XQ":33519,"kaz":33520,"ĠAu":33521,"ĠLife":33522,"INSTR":33523,"netbeans":33524,"ĠDEV":33525,"ÑĮÑİ":33526,"restaurant":33527,"UnknownFieldSet":33528,"æ°¸":33529,"Ġincremental":33530,"ĠWINAPI":33531,"puppet":33532,"ersey":33533,"Jax":33534,"hdc":33535,"iload":33536,"ién":33537,"nux":33538,"nvidia":33539,"Ġfft":33540,"Ġnest":33541,"trailing":33542,"ckeditor":33543,"shu":33544,"ĠVPC":33545,"ĠHouse":33546,"textInput":33547,"ermal":33548,"Ġsimultaneous":33549,"Estado":33550,"ĠGOOGLE":33551,"Vocab":33552,"criterion":33553,"mui":33554,"åĺ":33555,"tham":33556,"Transpose":33557,"ellar":33558,"Spread":33559,"Ġemb":33560,"ĠSkill":33561,"ÙĬØ©":33562,"Dsl":33563,"Gather":33564,"sitemap":33565,"winner":33566,"Ġbiz":33567,"=\")":33568,"userAgent":33569,"inker":33570,"discover":33571,"Ġwasm":33572,"Ġspéc":33573,"Selectors":33574,"Bars":33575,"é¡Į":33576,"ĠLeaf":33577,"è·Ŀ":33578,"Ġautogenerated":33579,">*<":33675,"skeleton":33676,"wild":33677,"Ġfer":33678,"Ġppc":33679,"oder":33680,"ĠisLoading":33681,"RESER":33682,"printk":33683,"DIALOG":33684,"Ñıз":33685,"ĠOpenAPI":33686,"ĠWORKB":33687,"ÑģÑĤанов":33688,"Kb":33689,"Ãľ":33690,"isLoading":33691,"Ġ\"\"),":33692,"Ġbrew":33693,"ĠPing":33694,"ĠLU":33695,"ĠFood":33696,"cca":33697,"FieldBuilder":33698,"seqid":33699,"ValidationException":33700,"Ġirq":33701,",))":33702,"=*/":33703,"Lf":33704,"XV":33705,"nist":33706,"ĠPaper":33707,"Ġia":33708,"Upstream":33709,"ĠXSD":33710,"consider":33711,"ãģĻãĤĭãģ¨":33712,"\\'',":33713,"Ġinjected":33714,"={`${":33715,"getFullYear":33716,"DSP":33717,"Fails":33718,"saml":33719,"ά":33720,"apic":33721,"Asm":33722,"StatusMessage":33723,"FullScreen":33724,"次ãģ®":33725,"Ġwatcher":33726,"Cid":33727,"grib":33728,"tabel":33729,"ì¤ij":33730,"STEST":33731,"Ġ!_":33732,"ItemList":33733,"Ġwhereas":33734,"ĠLogLevel":33735,"íķĺê²Į":33736,"Anti":33737,"AWSCloudFormation":33738,"Rg":33739,"tj":33740,"}|":33741,"è¸":33742,"Ġåı¯ä»¥":33743,"(\"\\\"":33744,"ĠBS":33745,"Ġtraces":33746,"Ġxp":33747,"FileDescriptor":33748,"++.":33749,"ENTS":33750,"UPLOAD":33751,"Authenticate":33752,"PLAIN":33753,"PRESENT":33754,"MINUS":33755,"欢":33756,"ĠVMs":33757,"áĥĺ":33758,"Ġstrongly":33759,"Ġasynchronously":33760,"Ended":33761,"runners":33762,"VERSE":33763,"pgsql":33764,"coveralls":33765,"ĠPaths":33766,"Annotated":33767,"Ġmorning":33768,"wstring":33769,"Ġglfw":33770,"Ġgetters":33771,"early":33772,"Ġ;)":33773,"Ġ'/')":33774,"submitted":33775,"Ġfrac":33776,"Supp":33777,"æĶ¹åıĺ":33778,"Ġë°Ķ":33779,"ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ":33780,"Trees":33781,"Heartbeat":33782,"Ġrequiring":33783,"Ġantlr":33784,"ĺ리":33785,"lopen":33786,"emap":33787,"ĠIEnumerator":33788,"resnet":33789,"Ġprocessors":33790,"frica":33791,"=[],":33792,"å»¶":33793,"reviewable":33794,"mouseover":33795,"Ġsegmentation":33796,"Respond":33797,"Ġrecursion":33798,"Spoon":33799,"Uv":33800,"citation":33801,"glib":33802,"gogo":33803,"pwsz":33804,"BoxData":33805,"DISK":33806,"vspace":33807,"{!!":33808,"Ġdeviation":33809,"opend":33810,"mood":33811,"BeNull":33812,"WithValue":33813,"WebServer":33814,"мен":33815,"Ġsbt":33816,"æ©Łèĥ½":33817,"$-":33818,"rctx":33819,"Ġrepet":33820,"strpos":33821,"refr":33822,"contribution":33823,"udc":33824,"mbH":33825,"Ġsubstring":33826,"ön":33827,"Ġbracket":33828,"Downloading":33829,"ĠTemperature":33830,"éłħ":33831,"ĠHANDLE":33832,"Ġarmazen":33833,"Tint":33834,"jian":33835,"Ġ[*":33836,"Ġ%+":33837,"Ġ<<<":33838,"smith":33839,":\"\";":33840,"ĠSeptember":33841,"å¹²":33842,"requis":33843,"Publication":33844,"Ġwraps":33845,"ĠWINDO":33846,"ĠWrites":33847,"CONNECTED":33848,">\"+":33849,"_##":33850,"roach":33851,"ĠsÄħ":33852,"permit":33853,"ULD":33854,"ErrorException":33855,"ForKey":33856,"regorian":33857,"gtm":33858,"ĠDEP":33859,"ĊĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠ":33860,"SRV":33861,"IMPORTANT":33862,"ç¶ļ":33863,"+).":33909,"demos":33910,"Ġyum":33911,"readInt":33912,"nolog":33913,"admins":33914,"augment":33915,"tender":33916,"getStatusCode":33917,"ĠClosed":33918,"ĠPNG":33919,"FormField":33920,"okit":33921,"ĠuserData":33922,"ÑĤобÑĭ":33923,"ços":33924,"Ġfunds":33925,"++++++++++++++++++++++++++++++++":33926,"Ġë¡ľ":33927,"Ful":33928,"Ji":33929,"nid":33930,"Ġyoutube":33931,"msi":33932,"Ġpreload":33933,"á»Ń":33934,"Firewall":33935,"ãģĹãģ¦ãģĦãĤĭ":33936,"DPR":33937,"OH":33938,"qk":33939,"ruct":33940,"ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":33941,"Ġdpi":33942,"Ġuno":33943,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":33944,"signer":33945,"Ġusr":33946,"Determin":33947,"blobs":33948,"čĊĠĠč":33949,"WIFI":33950,"Ġldap":33951,"Ġsimplified":33952,"ĠOrderedDict":33953,":~":33954,"=#{":33955,"Iw":33956,"XA":33957,"efe":33958,"pand":33959,"smoke":33960,"æĩ":33961,"erb":33962,"getGlobal":33963,"ĠPB":33964,"Ġmeters":33965,"assertIn":33966,"Compiled":33967,"EXAMPLE":33968,"ImageData":33969,"Functor":33970,"éĸ¢æķ°":33971,"ĠíĻķìĿ¸":33972,"OutOfRangeException":33973,"ZH":33974,"Ġcuenta":33975,"Ġpile":33976,"Ġwhitelist":33977,"Segoe":33978,"anners":33979,"suppress":33980,"Courses":33981,"crawl":33982,"pins":33983,"Ġ~~":33984,"()\");":33985,"errs":33986,"graded":33987,"DIRECTION":33988,"sgs":33989,">>)":33990,"Trial":33991,"Jk":33992,"]})":33993,"restriction":33994,"Ġonder":33995,"Concurrency":33996,"ĠÑģозд":33997,"ĠNOWRAP":33998,"Expecting":33999,"ExecuteCommand":34000,"ÄįÃŃ":34001,"ÑĪе":34002,"deepcopy":34003,"PARAMETERS":34004,"íĤ¤":34005,"leq":34006,"getCell":34007,"ãģļ":34008,"METRY":34009,"Comma":34010,"Ġadc":34011,"æľīä¸Ģ个":34012,"ĠmarginBottom":34013,"ĠActually":34014,"Buckets":34015,"Ġachieved":34016,"ExtensionRegistryLite":34017,"íĭ°":34018,"unsupported":34019,"Ġ'='":34020,"Ġdatab":34021,"ĠdataGridView":34022,"ĠGetAll":34023,"CallOption":34024,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":34025,"ĠsaÄŁ":34026,"Ġowners":34027,"ãģĦãģĨ":34028,"Effective":34029,"Handled":34030,"ĠQtGui":34031,"ĠPatient":34032,"FLI":34033,"Natural":34034,"sType":34035,"coefficient":34036,"Travel":34037,"pretrained":34038,"structs":34039,"doctrine":34040,"repair":34041,"Months":34042,"ĠAssistant":34043,"ĠTracker":34044,"\"<<":34045,"FAC":34046,"TextChanged":34047,"Adds":34048,"izedBuffer":34049,"OpCodes":34050,"SMC":34051,"å·¥ç¨ĭ":34052,"contributor":34053,"Following":34054,"ĠForeign":34055,"alaxies":34056,"áºŃp":34057,"Ġmajority":34058,"equipment":34059,"intf":34060,"IPH":34061,"ĠDEVICE":34062,"ĠpackageName":34063,"ĠGLFW":34064,"çIJĥ":34065,"Ġprefixes":34066,"æıĽ":34067,"åĮºåŁŁ":34068,"ĠToolkit":34069,"Ġretrieval":34070,"ĠSanitizers":34071,"Ka":34072,"Ïī":34073,"Ġ\"=\",":34074,"eden":34075,"thin":34076,"istan":34077,"derived":34078,"Ġ#$":34079,"neq":34080,"ĠĠĠĠĠĠĊĠĠĠĠĠĠĠ":34081,"ели":34082,"corev":34083,"SOUND":34084,"PHYS":34085,"Ġpurge":34086,"Incident":34087,"DoxyCompactList":34088,"cstr":34089,"hone":34090,"cpkg":34091,"Parents":34092,"DATASET":34093,"ARGP":34094,"аÑĤоÑĢ":34095,"имеÑĢ":34096,"ĠCounty":34097,"Ġsucceeds":34098,"ĠìĨĮ":34099,"Tc":34100,"wick":34101,"Ġata":34102,"isdir":34103,"ORITH":34104,"netlify":34105,"skipped":34106,"Detailed":34107,"Invalidate":34108,"Funcs":34109,"建议":34110,"Alternative":34111,"ĠInjectable":34112,"$}":34113,"Fort":34114,"Tro":34115,"Ġwel":34116,"Ġnoted":34117,"contour":34118,"signing":34119,"äºļ":34120,"nextToken":34121,"ĠFileInputStream":34122,"cvt":34123,"cosq":34124,"Ġsubjects":34125,"³³³":34126,"Ġplanet":34127,"employees":34128,"burst":34129,"Rng":34130,"Tot":34131,"Wo":34132,"Ġ*":34417,"phon":34418,"GetPin":34419,"ĠJAVA":34420,"Appender":34421,"ĊĉĉĉĉĉĉĠ":34422,"pcap":34423,"hedron":34424,"Phil":34425,"tablename":34426,"sorting":34427,"Ġerase":34428,"Ġautoc":34429,"ĠPlugins":34430,"ĠDropdown":34431,"deadline":34432,")?.":34433,"Electron":34434,"Lap":34435,"Nuevo":34436,"UDIO":34437,"Ġä»İ":34438,"abcd":34439,"Ġ//////////////////////////////////////////////////////////////////":34440,"Ġ+\"":34441,"Ġunary":34442,"orderId":34443,"={},":34444,"Lease":34445,"æ³¢":34446,"äºĭåĬ¡":34447,"SCORE":34448,"æīĵåį°":34449,"ĠDetermines":34450,"arcsinL":34451,"å͝ä¸Ģ":34452,"TypedDataSetGenerator":34453,"//************************************************************************":34454,"tparam":34455,"Ġchose":34456,"ENE":34457,"DataLoader":34458,"({\\":34459,"Subtract":34460,"Ġarithmetic":34461,"SCI":34462,"ÅĻe":34463,"Peak":34464,"feeds":34465,"midi":34466,"Ġguidance":34467,"Broad":34468,"QI":34469,"Zu":34470,"tensors":34471,"ĠBes":34472,"ĠGold":34473,"Ġuploading":34474,"daa":34475,"fair":34476,"Ġmodific":34477,"PLAN":34478,"MinValue":34479,"Compatibility":34480,"Referenced":34481,"TOPIC":34482,"产çĶŁ":34483,"Ġctor":34484,"Ġ{>,":34568,"sponsor":34569,"ĠOcc":34570,"ĠWar":34571,"eea":34572,"Reads":34573,"Ġswift":34574,"relational":34575,"è¿Ļä¸Ģ":34576,"ÅŁaģı":34577,"ciph":34578,"Ġdelayed":34579,"ÑĢÑĥг":34580,"Reserve":34581,"Continuous":34582,"urança":34583,"requestId":34584,"ldots":34585,"Validity":34586,"à§Ģ":34587,"Configurator":34588,"Ġcuando":34589,"OOOO":34590,"ĠSupplier":34591,"ĠAugust":34592,"Ġndarray":34593,"BAL":34594,"Ion":34595,"dcc":34596,"´Ī":34597,"Ġrecognition":34598,"Ġbis":34599,"usp":34600,"ErrorType":34601,"caa":34602,"NAV":34603,"ĠLOAD":34604,"詳":34605,"MOTOROLA":34606,")+\"":34607,"Ey":34608,"UENCE":34609,"Ġåij½ä»¤":34610,"onnx":34611,"Ġ\"\"))":34612,"acb":34613,"ewire":34614,"Ġ$?":34615,"Ġ////":34616,"perms":34617,"currentColor":34618,"protos":34619,"Polit":34620,"stubs":34621,"Ġì¶ľ":34622,"ashington":34623,"Trig":34624,"unu":34625,"Ġinet":34626,"ĠCredentials":34627,"ĠDamage":34628,"ffmpeg":34629,"ĠBur":34630,"shi":34631,"akash":34632,"UNIQUE":34633,"ĠinputStream":34634,"IfNot":34635,"Ġfunção":34636,"Hashes":34637,"JoinColumn":34638,"Ġausge":34639,"Ġimagine":34640,"phanum":34641,"ĠĠĠĠĠĠĠĠĊ":34642,"Ġconcent":34643,"ĠLim":34644,"applied":34645,"GetNext":34646,"whole":34647,"EXPRESS":34648,"HttpStatusCode":34649,"ков":34650,"Markers":34651,"sentinel":34652,"ĠCalc":34653,"zÅij":34654,"oru":34655,"ĠDog":34656,"erscript":34657,"poke":34658,"Ġpartially":34659,"TreeView":34660,"ĠOutlook":34661,"ĠPyErr":34662,"Ġlosses":34663,"Ġmetavar":34664,"nice":34665,"Ġera":34666,"Ġéħįç½®":34667,"Ini":34668,"keh":34669,"ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":34670,"ĠfindAll":34671,"UMNS":34672,"Ġdbg":34673,"ĠViewModel":34674,"radioButton":34675,"animations":34676,"èĪª":34677,"ãĥ¼ãĥĵãĤ¹":34678,"Osc":34679,"pción":34680,"zl":34681,"onacci":34682,"spel":34683,"ĠInstructions":34684,"Ġlibr":34685,"Itemize":34686,"ĠDefender":34687,"ĠAbort":34688,"ĠCellID":34689,"Ġpromises":34690,"ĠTransformer":34691,"diagonal":34692,"ãĤ¢ãĥĹãĥªãĤ±ãĥ¼ãĤ·ãĥ§ãĥ³":34693,"dob":34694,"ctp":34695,"ĠCamp":34696,"toggler":34697,"setMaximum":34698,"Ġju":34699,"DataRow":34700,"ĠreadOnly":34701,"Creative":34702,"å®ŀä½ĵ":34703,"Ġtermination":34704,"ĠBlueprint":34705,"Mysql":34706,"atore":34707,"getOrElse":34708,"sprites":34709,"Ġrst":34710,"planning":34711,"ĠgetToken":34712,"Ġints":34713,"readField":34714,"Thetest":34715,"popper":34716,"ĠModelMapper":34717,"SelectedItem":34718,"Scaler":34719,"ĠOverrides":34720,"Ġprojeto":34721,"ClusCfg":34722,"Ghost":34723,"gerrit":34724,"mio":34725,"Ġcutoff":34726,"thought":34727,"Ġved":34728,"ffset":34729,"ĠEval":34730,"transmit":34731,"NoUn":34732,"CONTACT":34733,"ĠQuestions":34734,",*)":34735,":\":":34736,"ĠGmbH":34737,"oud":34738,"ĠVulkan":34739,"Ġexpectation":34740,"Discover":34741,"åΰäºĨ":34742,"rbac":34743,"ĠSpawn":34744,"wrappers":34745,"Ġplotting":34746,"DoesNotExist":34747,"åĪĩæį¢":34748,"sagemaker":34749,"gevens":34750,"Ġvotes":34751,"otiation":34752,"spar":34753,"QueryResult":34754,"incorrect":34755,"ĠPostgres":34756,"SECURE":34757,"ĠConstructors":34758,"EPSG":34759,"PRECATED":34760,"\"[":34761,"Mq":34762,"[['":34763,"`${":34764,"itations":34765,"Ġmtl":34766,"Ġgql":34767,"ĠEI":34768,"Ġprovisioning":34769,"REPEAT":34770,"STAR":34771,"listOf":34772,"DataReader":34773,"ovat":34774,"requirement":34775,"Pror":34776,"Ġfreeze":34777,"çIJĨè§£":34778,"æµİ":34779,"Ġinterrupts":34780,"VERTICAL":34781,"QY":34782,"triggers":34783,"ĠCK":34784,"ĠTT":34785,"ĠRSS":34786,"iphy":34787,"apipe":34788,"Ġswitches":34789,"ãģĻãģ¹":34790,"dockerfile":34791,"Genre":34792,"blacklist":34793,"ĠColumnVector":34794,"åĽ½å®¶":34795,"æł·å¼ı":34796,"Ġlinewidth":34797,"ë°ĺ":34798,"Ġvaleur":34799,"igenschaft":34800,"LANGUAGE":34801,"NBT":34802,"dcd":34803,"rdx":34804,"tuples":34805,"ĠonSuccess":34806,"ĠGro":34807,"ecf":34808,"rcv":34809,"иÑĢ":34810,"åĪ·":34811,"Ġemission":34812,"Ġprimar":34813,"accessible":34814,"ParseTree":34815,"Ġtransformations":34816,"Ġsnake":34817,"ĠImplements":34818,"ĠByteArrayOutputStream":34819,"ĠCallingConvention":34820,"ASYNC":34821,"mrmq":34822,"DRE":34823,"mma":34824,"tps":34825,"grading":34826,"dbf":34827,"PEC":34828,"ikube":34829,"sai":34830,"WebRequest":34831,"'))->":34832,"Ġearth":34833,"growth":34834,"ĠAssertionError":34835,"Sv":34836,"Xiv":34837,"rangle":34838,"Ġwb":34839,"ntl":34840,"):**":34841,"ĠuseRef":34842,"ĠÐł":34843,"ĠJon":34844,"IsActive":34845,"ĠCompat":34846,"Ġphy":34847,"Ġ'-',":34848,"Removing":34849,"TRIGGER":34850,"Kotlin":34851,"qus":34852,"ĠSingleton":34853,"...',":34854,"ĠKotlin":34855,"Ġnova":34856,"Ġlocalization":34857,"ĠEXEC":34858,"-----------+":34859,"variation":34860,"Occurs":34861,"EXECUTE":34862,"Ġ\"\":":34863,"(\"{}":34864,"ĠGDAL":34865,"\"]}":34866,"{{<":34867,"ĠComparator":34868,"SUPER":34869,"explore":34870,"Splash":34871,"xAA":34872,"Ġ\"\".":34873,"Ġmic":34874,"stractions":34875,"ListNode":34876,"Ġheard":34877,"GroupData":34878,"å¼±":34879,"ĠAdv":34880,"ĠÑģеÑĢ":34881,"yypt":34882,">:][<":34883,"PHONE":34884,"Ġsuppose":34885,"YYY":34886,"Choices":34887,"顺åºı":34888,"WireFormatLite":34889,">|<":34890,"Liv":34891,"hall":34892,"mj":34893,"songs":34894,"}//":34895,"Ġtty":34896,"alian":34897,"ĠCACHE":34898,"ĠDar":34899,"ValueOf":34900,"ĠNames":34901,"SocketAddress":34902,"Ġbrought":34903,"ĠRaises":34904,"practice":34905,"详æĥħ":34906,"PSS":34907,"sage":34908,"terrain":34909,"ĠDF":34910,"ĠNPM":34911,"Ġ#!/":34912,"classify":34913,"EventLoop":34914,"SCSI":34915,"Ġassist":34916,"{}'.":34917,"Ġ----------------------------------------------------------------------":34918,"CCCCFF":34919,"uly":34920,"DataList":34921,"CreateTime":34922,"SPLIT":34923,"InvalidArgumentException":34924,"Prim":34925,"ĠHeap":34926,"Navbar":34927,"нÑĭм":34928,")');":34929,"Lsp":34930,"bde":34931,"Ġmai":34932,"updating":34933,"Ġ},\\":34934,"Season":34935,"Thrift":34936,"ĠitemId":34937,"FIRM":34938,"equality":34939,"Closest":34940,"VOKE":34941,"Ġcareful":34942,"ĠDockerfile":34943,"Inherited":34944,"Og":34945,"acct":34946,"abic":34947,"ĠICON":34948,"Ġgm":34949,"ĠGS":34950,"figures":34951,"ĠDefined":34952,"foundry":34953,"optimization":34954,"ë°ľ":34955,"Coder":34956,"Ġpropagate":34957,"Rgb":34958,"mss":34959,"Ġvä":34960,"')":35009,"upd":35010,"Ġcontour":35011,"Ġatol":35012,"glue":35013,"AMO":35014,"SPA":35015,"è¡¥":35016,"Blk":35017,"ĠWaiting":35018,"Purpose":35019,"+=\"":35020,"Hr":35021,"otic":35022,"endi":35023,"ĠIID":35024,"Protein":35025,"akk":35026,"Filesystem":35027,"Ġuž":35028,"ció":35029,"fffff":35030,"ĠShip":35031,"Ġê±":35032,"éĻĦ":35033,"Ġæµ":35034,"Ġcapac":35035,"OwnerAccount":35036,"ĠSCIP":35037,"AssignableFrom":35038,"$[":35039,"Warehouse":35040,"decess":35041,"ĠIII":35042,"owanie":35043,"ĠPDO":35044,"ĠNan":35045,"REPLY":35046,"minimize":35047,"Ġmaxim":35048,"memcached":35049,"cfb":35050,"Ġbarcode":35051,"(',')":35052,"FZ":35053,"UCTION":35054,"Ġpunto":35055,"gemm":35056,"ĠMinecraft":35057,"TypeCode":35058,"ĠWall":35059,"ipa":35060,"ANCHO":35061,"nez":35062,"retrie":35063,"ResourceName":35064,"Ġetcd":35065,"eady":35066,"âĶĢâĶĢâĶĢâĶĢâĶĢâĶĢ":35067,"Hdfs":35068,"Night":35069,"Oid":35070,"dynamodb":35071,"lrd":35072,"npos":35073,"Ġ\")\"":35074,"Ġ'['":35075,"ĠCExo":35076,"Ġ+-":35077,"Ġeos":35078,"oret":35079,"Ġparcel":35080,"lineEdit":35081,"urlPath":35082,"FileStream":35083,"notNullable":35084,"ArrayType":35085,"NotImplemented":35086,"HTMLElement":35087,"веÑĤ":35088,"identifiers":35089,"SWAP":35090,"ModalLabel":35091,"MYSQL":35092,"Ġpropried":35093,"Ġfunctools":35094,"Ġcommodo":35095,"Brightness":35096,"`()":35097,"zookeeper":35098,"פ":35099,"Ġ'*.":35100,"ĠVI":35101,"ĠConversion":35102,"ĠcurrentTime":35103,"Returned":35104,"Dar":35105,"lama":35106,"reversed":35107,"Ġslices":35108,"ĠSOL":35109,"ĠTCL":35110,"ĠAMD":35111,"DataSize":35112,"иг":35113,"fae":35114,"ãĥŀãĥ³ãĥī":35115,"Ġequations":35116,"knowledge":35117,"trig":35118,"ĠÙĩ":35119,"otive":35120,"ĠNAMES":35121,"ĠFil":35122,"appender":35123,"AMB":35124,"Ġposting":35125,"ĠUserService":35126,"Ġtabela":35127,"Deadline":35128,"BufferedReader":35129,"#$":35130,"BNS":35131,"Ġterraform":35132,"Ġfutures":35133,"agged":35134,"ĠjButton":35135,"ĠJekyll":35136,"Ġdisposed":35137,"curses":35138,"Ġcoeff":35139,"SCC":35140,"ceiving":35141,"ĠSmith":35142,"Ġtinyint":35143,"Ġdieser":35144,".\".":35145,"tam":35146,"invent":35147,"Ġpipelines":35148,"tournament":35149,"ĠFTP":35150,"Ġante":35151,"ensi":35152,"ĠIDX":35153,"以ä¸Ĭ":35154,"ĠLeave":35155,"firefox":35156,"ãĥĥãĥī":35157,"intervals":35158,"orphan":35159,"ustralia":35160,"purge":35161,"unsqueeze":35162,"Ġété":35163,"GPS":35164,"Ls":35165,"dce":35166,"Ġfoc":35167,"spreadsheet":35168,"INI":35169,"ustain":35170,"Ġkilled":35171,"pypy":35172,"ofill":35173,"ĠComparison":35174,"Ġexited":35175,"ĠPublicKey":35176,"ĠÑĦайл":35177,"ĠвÑĭполн":35178,"PVRTX":35179,"oute":35180,"Ġserves":35181,"Indexer":35182,"BasePath":35183,"bae":35184,"Metal":35185,"ĠActivation":35186,"Ġ..@":35187,"werk":35188,"optimized":35189,"klad":35190,"Sb":35191,"aaf":35192,"apods":35193,"ĠCss":35194,"ĠTITLE":35195,"INCT":35196,"Ġbehave":35197,"Ġxrange":35198,"itemId":35199,"ĠINLINE":35200,">(":35254,"OURCE":35255,"jComboBox":35256,"wed":35257,"ibase":35258,"postcss":35259,"Ġevento":35260,"ĠIDC":35261,"\"}},":35262,"Assistant":35263,"Ġcleaning":35264,"ĠJsonConvert":35265,"bundler":35266,"practices":35267,"solutely":35268,"Ġmage":35269,"axos":35270,"compliance":35271,"Thunk":35272,"ĠREMOVE":35273,"SqlList":35274,"BID":35275,"Magento":35276,"Wildcard":35277,"dynamics":35278,"vil":35279,"ĠSAM":35280,"ĠTASK":35281,"ĠICollection":35282,"Ġentrada":35283,"xygen":35284,"cba":35285,"ĠCommons":35286,"lstm":35287,"potential":35288,"AFF":35289,"Iu":35290,"WARE":35291,"reusable":35292,"Ġdisease":35293,"ĠDIG":35294,"Ġobjs":35295,"webdriver":35296,"readybrides":35297,"yyVAL":35298,"rospect":35299,"ĠRedux":35300,"ĠOBJECTS":35301,"Kd":35302,"TLE":35303,"¡´":35304,"reli":35305,"',\"":35306,"ĠDue":35307,"Ġexceeds":35308,"ĠJump":35309,"Animate":35310,"ETA":35311,"managers":35312,"Ġsampled":35313,"(\",\");":35314,"Alternate":35315,"Simpl":35316,"\\:":35317,"orama":35318,"Ġfav":35319,"assemble":35320,"ĠSong":35321,"StringBuffer":35322,"ARIES":35323,"reek":35324,"WindowManager":35325,"Ġfacility":35326,"Ġslideshow":35327,"aine":35328,"cassandra":35329,"flickr":35330,"pst":35331,"ĠMAIN":35332,"mino":35333,"GetMethod":35334,"])/":35335,"ĠuserID":35336,"LogError":35337,"azo":35338,"stacks":35339,"footnotes":35340,"Ġİ":35341,"CHANGELOG":35342,"hancement":35343,"Ġpulled":35344,"Benefit":35345,")...":35346,"BPM":35347,"GED":35348,"Pd":35349,"VW":35350,"Ġä¿®æĶ¹":35351,"usi":35352,"Intern":35353,"spam":35354,"ĠPicture":35355,"Ġlens":35356,"Listening":35357,"IsEnabled":35358,"ActionButton":35359,"movd":35360,"Ġoccurrence":35361,"Ġattempted":35362,"Poller":35363,"excluded":35364,"ston":35365,"orida":35366,"emotion":35367,"ENDED":35368,"Ġcoef":35369,"AndGet":35370,"åıĺåĮĸ":35371,"}-${":35372,"ĠCMakeFiles":35373,"Nin":35374,"OE":35375,"OWL":35376,"Sprint":35377,"vld":35378,"çĴ":35379,"infile":35380,"ĠPIL":35381,"traceback":35382,"&\\":35383,"sdf":35384,"edMode":35385,"getProject":35386,"Ġstm":35387,"ĠFund":35388,"ä¸ĥ":35389,"Ġbypass":35390,"...@":35391,"FromArgb":35392,"ügen":35393,"Postal":35394,"ConvertF":35395,"Ġrounding":35396,"nableReference":35397,"UITests":35398,"reduced":35399,"GetPinnableReference":35400,"#,":35401,"zv":35402,"Ġconventions":35403,"Exclusive":35404,"netflix":35405,"ATELL":35406,"ĠCombo":35407,"à¹Į":35408,"ĠBitcoin":35409,"æĮīçħ§":35410,"ACTIVITY":35411,"HISTORY":35412,"Ġwurde":35413,"eac":35414,"magnitude":35415,"Å¥":35416,"semi":35417,"Inbound":35418,"Ġsecs":35419,"ĠKar":35420,"Ġselects":35421,"æĪIJåijĺ":35422,"WEEN":35423,"使ç͍çļĦ":35424,"è¿ĩ滤":35425,"Ġheads":35426,"Merged":35427,"Ġdrug":35428,"timers":35429,"getExecSqlList":35430,"FJ":35431,"Kar":35432,"VQ":35433,"zg":35434,"ç£":35435,"Ġfru":35436,"://\"":35437,"ĠĠĠĠĠĊĠĠĠĠ":35438,"Ġchallenges":35439,"Ġarena":35440,"FFT":35441,"Outlet":35442,"Ġparties":35443,"Flavor":35444,"ìĹĪ":35445,"ĠInteraction":35446,"ĠStyled":35447,"Ġceil":35448,"factors":35449,"ĠобÑĬ":35450,"ĠTracking":35451,"associated":35452,"ĠRotate":35453,"ĠAlternatively":35454,"Gid":35455,"Mit":35456,"orough":35457,"Ġciph":35458,"Ġmole":35459,"ĠNN":35460,"ĠBand":35461,"SPAR":35462,"aae":35463,"Ġswitched":35464,"Ġwebsites":35465,"gaussian":35466,"RateLimit":35467,"GeneratedValue":35468,"ĠRefactor":35469,"éķľ":35470,"prepareStatement":35471,"????":35472,"ĠSolutions":35473,"''''''''":35474,"tat":35475,"ĠGPS":35476,"Ġcorrected":35477,"ĠMainWindow":35478,"ĠCLIENT":35479,"।":35480,"èĢĥèĻij":35481,"UIC":35482,"âģ":35483,"inception":35484,"lox":35485,"ĠRM":35486,"Ġserving":35487,"ĠExperience":35488,"ldr":35489,"realpath":35490,"throwable":35491,"ìŀĦ":35492,"ĠParty":35493,"facility":35494,"TipoProrrateoImpor":35495,"Ġê³ł":35496,"kir":35497,"Ġwf":35498,"getMock":35499,"InMemory":35500,"ĠPok":35501,"allclose":35502,"Ġghost":35503,"Namespaces":35504,"Ġjdbc":35505,"TestBase":35506,"ĠExercise":35507,"alsy":35508,"accessibility":35509,"ä¸ĭçļĦ":35510,"åĪĨéħį":35511,"å§Ķ":35512,"Ġfacebook":35513,"rejected":35514,"å¼ĤæŃ¥":35515,"ĠExecutionContext":35516,"ë¸Į":35517,"ĠíķĦìļĶ":35518,"Xcode":35519,"league":35520,"liver":35521,"ĠLCD":35522,"Ġunmanaged":35523,"Ġabstraction":35524,"RefCount":35525,"ĠLOC":35526,"Descending":35527,"Ġentering":35528,"ĠPopup":35529,"Correlation":35530,"Ġå½ĵ":35531,"aval":35532,"__;":35533,"Ġbeg":35534,"Ġprep":35535,"CLS":35536,"BlockSize":35537,"Ġradians":35538,"ĠyyS":35539,"Ġattacker":35540,"*=":35541,"explain":35542,"ueba":35543,"ĠPF":35544,"--------------------":35545,"ĠVision":35546,"ListEntry":35547,"ĠProduction":35548,"glVertex":35549,"类似":35550,"žete":35551,"sylius":35552,"Mojo":35553,"Ġinfra":35554,"Ambient":35555,"ĠðŁĽij":35556,"bfe":35557,"impact":35558,"ĠRecovery":35559,"Ġcomputes":35560,"TEC":35561,"Ġdetach":35562,"ä¾Ĩ":35563,"Grup":35564,"+'>()":35660,"recording":35661,"éĻĨ":35662,"ắ":35663,"ÅĤÄħc":35664,"Ġmasked":35665,"Ġhaben":35666,"CIPHER":35667,"åĿIJæłĩ":35668,"Dex":35669,"Snow":35670,"won":35671,"ÏĮ":35672,"Ġdod":35673,"Ġselenium":35674,"ĠMARK":35675,"artz":35676,"Ġori":35677,"Ġstrategies":35678,"Ġ\\)":35679,"sizecache":35680,"ĠÐĹ":35681,"åı«":35682,"joined":35683,"CONFIGURATION":35684,"Ġperiodic":35685,"Ġopponent":35686,"sproj":35687,"}','":35688,"Ġ########":35689,"isString":35690,"Ġrelies":35691,"Ġwt":35692,"ĠFB":35693,"Ġentr":35694,"SYSCALL":35695,"ĠRuns":35696,"fitness":35697,"åĽ¾åĥı":35698,"Traversal":35699,"ĠChef":35700,"keyedLiteral":35701,"NoUnkeyedLiteral":35702,"ATELLITE":35703,"Ram":35704,"fml":35705,"Ġpak":35706,"ĠPrec":35707,"Ġkap":35708,"Ġ?=":35709,"аÑħ":35710,"gressor":35711,"ä¸Ģå®ļ":35712,"ĠBeautiful":35713,"ĠMedium":35714,"íŀĪ":35715,"GK":35716,"Grib":35717,"_-":35718,"eeb":35719,"ocop":35720,"loops":35721,"Ġrecipes":35722,"oti":35723,"Stuff":35724,"proper":35725,"Ġdoctor":35726,"county":35727,"())),":35728,"IsNot":35729,"ĠhttpRequest":35730,"ìĹIJëĬĶ":35731,"ĠDecision":35732,"ĠHOST":35733,"DeepCopy":35734,"ĠHDInsight":35735,"?\");":35736,"Yj":35737,"pedia":35738,"Ġich":35739,"Ġæľī":35740,"Ġhass":35741,"ĠPART":35742,"ĠBLE":35743,"ĠVan":35744,"logistics":35745,"âĢķ":35746,"ány":35747,"--------------------------------------------------------------------------------------------------------------------------------":35748,"ManyToOne":35749,"Ġgradients":35750,"octet":35751,"Ġåıij表":35752,"edBy":35753,"Ġbob":35754,"Ġ:---":35755,"Ġbecame":35756,"ddc":35757,"amble":35758,"Ġshorter":35759,"CppI":35760,"Ġworkflows":35761,"ä¼łåħ¥":35762,"ĠëķĮ문":35763,"æļĤ":35764,"?(:":35765,"Fog":35766,"Gn":35767,"Tes":35768,"orbit":35769,"antd":35770,"Ġaç":35771,"Ġ:\"":35772,"ĠVoice":35773,"uclear":35774,"TOO":35775,"ĠTraits":35776,"solar":35777,"bbf":35778,"ê°Ĵ":35779,"Assignments":35780,"Ingredient":35781,";%":35782,"pname":35783,"acos":35784,"Ġconcurrency":35785,"``:":35786,"pension":35787,"GLFW":35788,"ĠTransitional":35789,"ĠPhil":35790,"golden":35791,"ç»§ç»Ń":35792,"Les":35793,"dana":35794,"tcl":35795,"heatmap":35796,"ĠSparse":35797,"toByteArray":35798,"Ġ@}":35799,"Ġexcess":35800,"Ġrowspan":35801,"Reduction":35802,"bgp":35803,"ĠFlush":35804,"CASELIST":35805,"Ġpenalty":35806,"ĠPREFIX":35807,"Fprintf":35808,"Jw":35809,"WCHAR":35810,"ÅĪ":35811,"Ġpaddle":35812,"Ġmue":35813,"Ġmother":35814,"Contour":35815,"åĪ»":35816,"Ġbacking":35817,"ĠTHROW":35818,"ĠSLOT":35819,"Ġprefetch":35820,"OutOfBoundsException":35821,"Earth":35822,"pca":35823,"semin":35824,"isChecked":35825,"ĠScr":35826,"getDocument":35827,"Reviews":35828,"estib":35829,"Unset":35830,"TableView":35831,"ĠUpdating":35832,"Administr":35833,"ĠQuad":35834,"Å¡t":35835,"Ġdetermining":35836,"}:${":35837,"ĠEverything":35838,")>>":35839,"Vt":35840,"Yi":35841,"sst":35842,"Ġ请æ±Ĥ":35843,"itud":35844,"ĠAck":35845,"Ġgyro":35846,"ĠHack":35847,"Ġroc":35848,"Ġzend":35849,"Ġnous":35850,"serviceName":35851,"RESSED":35852,"ĠAbsolute":35853,"nominal":35854,"ĠìĤ¬ìļ©ìŀIJ":35855,"íĶĮ":35856,"#(":35857,"/;":35858,"udd":35859,"uere":35860,"Ġreminder":35861,"Ġtour":35862,"iselect":35863,"OnChange":35864,"Ġedx":35865,"Ġexiting":35866,"éģ©":35867,"Nearest":35868,"))))))":35869,"ENCIL":35870,"Ġessential":35871,"TTY":35872,"ZC":35873,"Ġtal":35874,"Ġbodies":35875,"ĠCool":35876,"flen":35877,"ül":35878,"PostMapping":35879,"Ġfees":35880,"Ġstatuses":35881,"Decorated":35882,"Triple":35883,"ĠBuiltin":35884,"SchedulingSimulation":35885,";_":35886,"lake":35887,"getOutput":35888,"esser":35889,"ĠHAS":35890,"ADA":35891,"Ġpero":35892,"whl":35893,"Ġsolving":35894,"radians":35895,"åīĬ":35896,"Ġpushing":35897,"BTN":35898,"Ġtraditional":35899,"ADED":35900,"LTA":35901,"Yield":35902,"brown":35903,"ÐĽ":35904,"Ġže":35905,"Ġpq":35906,"setLocation":35907,"addi":35908,"ENCODING":35909,"Getenv":35910,"=''":35911,"='<":35912,"ä»ĵ":35913,"noupdate":35914,"APPRO":35915,"sampled":35916,"ĠDiscovery":35917,"amentals":35918,"MIX":35919,"æĮĩéĴĪ":35920,"CCEEDED":35921,"Ġhogy":35922,"-*":35923,"Fc":35924,"Kl":35925,"Labs":35926,"Votes":35927,"dou":35928,"istream":35929,"stringValue":35930,"penalty":35931,"Objs":35932,"=>\"":35933,"Ġinitializes":35934,"åĪĨå¸ĥ":35935,"Grab":35936,"IDENTITY":35937,"Ġfolks":35938,"comboBox":35939,"BH":35940,"JVM":35941,"JUST":35942,"Virt":35943,"faf":35944,"kid":35945,"kub":35946,"agi":35947,"Ġextras":35948,"Ġrh":35949,"CreateInstance":35950,"न":35951,"$$$$":35952,"ĠOSX":35953,"ĠDecor":35954,"ĠIncludes":35955,"Npc":35956,"dX":35957,"Ġcamel":35958,"transp":35959,"codehaus":35960,"ĠRemember":35961,"ikes":35962,"Clk":35963,"æľºåύ":35964,"Ġpadr":35965,"Ġpadded":35966,"ratings":35967,"Ġdemonstrates":35968,"Spline":35969,"Ġkhông":35970,"lipsis":35971,"Cxx":35972,"TProtocol":35973,"aip":35974,"ĠDSL":35975,"ENCRYPT":35976,"reduction":35977,"transit":35978,"metab":35979,"drain":35980,"PERATURAN":35981,"fillStyle":35982,"ĠPyArray":35983,"alesce":35984,"ĠFIRST":35985,"gorm":35986,"ĠTD":35987,"Ġdestructor":35988,"toDate":35989,"Ġjenkins":35990,"ViewModels":35991,"Ġprobabilities":35992,"Ġtea":35993,"ä¸Ńæĸĩ":35994,"æĮĩ令":35995,"Consume":35996,"Connectors":35997,"ĠFIELD":35998,"LCJwYWNrYWdl":35999,"Crit":36000,"Hal":36001,"Pump":36002,"Tou":36003,"Ġrigid":36004,"rebuild":36005,"exercises":36006,"ĠgRPC":36007,"Ġunrelated":36008,"SEED":36009,"ichen":36010,"blast":36011,"ĠCompleted":36012,"Ġlaunched":36013,"öl":36014,"expense":36015,"ĠUsuario":36016,"´ë³":36017,"ĠRelay":36018,"าย":36019,"DELTA":36020,"Ġaudience":36021,"basket":36022,"erometer":36023,"Ġbanco":36024,"Ġvent":36025,"ableView":36026,"ách":36027,"lightning":36028,"æĿİ":36029,"Ġaccordance":36030,"drug":36031,"converted":36032,"Ġpersisted":36033,"promotion":36034,"ĠConnected":36035,"reactivex":36036,"(/*":36037,",âĢĿ":36038,"acme":36039,"ĠRen":36040,"ĠtypeOf":36041,"owners":36042,"neon":36043,"ĠOutputStream":36044,"Ġdatasource":36045,"hj":36046,"remap":36047,"Ġtort":36048,"StateChange":36049,"ĠcomponentWill":36050,"ĠAdam":36051,"Instrumentation":36052,"èįIJ":36053,"Kel":36054,"Want":36055,"baf":36056,"à²":36057,"lopt":36058,"Ġconsecutive":36059,"setBounds":36060,"miner":36061,"Ġuart":36062,"Ansi":36063,"Ġkeyof":36064,"Impact":36065,"ĠborderColor":36066,"Editors":36067,"Ġ×¢":36068,"INFINITY":36069,"Ġì°¸":36070,"Gantt":36071,"enza":36072,"idat":36073,"',[":36074,"ALTO":36075,"FOC":36076,"linewidth":36077,"Ġretrofit":36078,"inston":36079,"footnote":36080,")/$(":36081,"ĠStateful":36082,"Ġaktual":36083,"Ġengines":36084,"liography":36085,"Fq":36086,"Ġproced":36087,"gling":36088,"Ġ[\"/":36089,"FLAT":36090,"&&(":36091,"ä½łåı¯ä»¥":36092,"ĠSUBSETP":36093,"Ġpodem":36094,"clamation":36095,"Voxel":36096,"ebe":36097,"hyp":36098,"spher":36099,"ĠDIAL":36100,"ĠFort":36101,"chess":36102,"ĠYouTube":36103,"Ġqueryset":36104,"containerid":36105,"енÑĮ":36106,"Screenshots":36107,"SIGNATURE":36108,"onedDateTime":36109,"Ġê°ĢëĬ¥":36110,"Ġgaia":36111,"Ġkteré":36112,"FRAGMENT":36113,"Bp":36114,"Django":36115,"Ġpdb":36116,"ĠPas":36117,"importer":36118,"ĊĊĊĊĠ":36119,"Managers":36120,"ComponentPrivate":36121,"pubkey":36122,"Primitives":36123,"å°±åı¯ä»¥":36124,"evalcond":36125,"ĠFunciones":36126,"ç¾İåĽ½":36127,"itative":36128,"ĠPiece":36129,"ény":36130,"homebrew":36131,"forcement":36132,"åħ·æľī":36133,"Ġsingular":36134,"Paging":36135,"ĊĠĠĠĠĊĊĠĠĠ":36136,"ĠUSD":36137,"conten":36138,"ĠActionResult":36139,"Ġaccepting":36140,"Ġjourney":36141,"Ġorganisation":36142,"ĠBOOLEAN":36143,"CodedOutputStream":36144,"Ġcaracteres":36145,"Imm":36146,"alm":36147,"Chance":36148,"pher":36149,"centroid":36150,"\"/>.-<":36398,".\")]":36399,"King":36400,"TValue":36401,"\\{":36402,"->$":36403,"Ġhur":36404,"toi":36405,"Ġly":36406,"Ġgü":36407,"ĠGallery":36408,"subtotal":36409,"insi":36410,"HasKey":36411,"TWO":36412,"ĠSpatial":36413,"人åijĺ":36414,"ĠSerializer":36415,"Ġressources":36416,";++":36417,"driven":36418,"fns":36419,"Ġnostr":36420,"ĠChinese":36421,"ĠmapDispatch":36422,"Ġshowed":36423,"ApiException":36424,"Ġregards":36425,"Ġfunción":36426,"APPLE":36427,"bibinfo":36428,"taken":36429,"Ġtslint":36430,"unreachable":36431,"ĠSATELLITE":36432,"shint":36433,"Ġconta":36434,"Ġpackaging":36435,"healthy":36436,"ست":36437,"ROUTINE":36438,"Bc":36439,"Ku":36440,"Plate":36441,"Uy":36442,"WIP":36443,"Ġdiscrete":36444,"Removal":36445,"ĠâĿ":36446,"Ġsanitize":36447,"*)(*":36448,"Ġmanipulate":36449,"Ġresolving":36450,"prettier":36451,"IndentingNewLine":36452,"Videos":36453,"]{\\":36454,"_()":36455,"attempts":36456,"Ġvill":36457,"ĠIgn":36458,"prt":36459,"']\").":36460,"tested":36461,"ï¼İ":36462,"ificador":36463,"Ġoblig":36464,"Ġfloats":36465,"sketch":36466,"Ġflavor":36467,"ĠFileUtils":36468,"Memcpy":36469,"олж":36470,"Connectivity":36471,"Irp":36472,"Qq":36473,"hos":36474,"è¤":36475,"unload":36476,"mpot":36477,"Ġexpt":36478,"fight":36479,"forma":36480,"classnames":36481,"дал":36482,"Neo":36483,"FILMA":36484,"ÑĪиб":36485,"Transcript":36486,"ĠFOLDEF":36487,"GattCharacteristic":36488,"aeb":36489,"eW":36490,"harga":36491,"mpy":36492,"Ġbeautiful":36493,"FFE":36494,"PRON":36495,"ĠBelow":36496,"allows":36497,"Scrollbar":36498,"ĠCalls":36499,"cryptocompare":36500,"Ġbundles":36501,"Ġobviously":36502,"ĠIpsum":36503,"ĠAppCompatActivity":36504,"WIDGET":36505,"ORITHM":36506,"Ġtensors":36507,"edata":36508,"Ġ}\"":36509,"Ġ'=":36510,"ĠisActive":36511,"summer":36512,"SubElement":36513,"msgstr":36514,"MSK":36515,"bfb":36516,"SOLE":36517,"(\"#{":36518,"abilir":36519,"multiplier":36520,"åģľæŃ¢":36521,"NOP":36522,"mth":36523,"pdata":36524,"xg":36525,"itk":36526,"getParam":36527,"ĠRabbit":36528,"âĢĮ":36529,"specialchars":36530,"PopupMenu":36531,"ĠSurvey":36532,"Qn":36533,"renew":36534,"Ġsquares":36535,"Ġgg":36536,"ĠInet":36537,"Ġknex":36538,"çļĦè¯Ŀ":36539,"Ġëħ":36540,"Starts":36541,"entityManager":36542,"Widths":36543,"ĠVersions":36544,"ĠDAO":36545,"ucks":36546,"åħ¶å®ŀ":36547,"ë§ģ":36548,"\">[);":36599,"accessing":36600,"ĠHelm":36601,"åĬłå¯Ĩ":36602,">`;":36603,".),":36604,"Julia":36605,"mensaje":36606,"Òĥ":36607,"Ġjour":36608,"ĠUK":36609,"StringVar":36610,"Trusted":36611,"packaging":36612,"arna":36613,"Ġmaintainer":36614,"説":36615,"Ġ매":36616,"premium":36617,"ogeneous":36618,"Bund":36619,"assertInstanceOf":36620,"Ġnoreferrer":36621,"Ġusuarios":36622,"ĠQA":36623,"requirejs":36624,"ELL":36625,"STRIB":36626,"ictor":36627,"ðŁĺ":36628,"ĠCharSequence":36629,"ç¼ĸåı·":36630,"ân":36631,"æİ¨èįIJ":36632,"ëIJĺëĬĶ":36633,"fuscated":36634,"Gb":36635,"Mip":36636,"voxel":36637,"ĠåΤæĸŃ":36638,"arial":36639,"Ġbattle":36640,"Ġ<--":36641,"()]);":36642,"ĠFall":36643,"defines":36644,"lockm":36645,"ĠDevelopers":36646,"Ġtranslator":36647,"åħ´":36648,"ĠUndefined":36649,"ıs":36650,"AssertEqual":36651,"Ġdeploying":36652,"Ġfourth":36653,"nimiq":36654,"æ¥Ń":36655,"lezion":36656,">({":36657,"Dw":36658,"GCP":36659,"tptest":36660,"getOwnProperty":36661,"strtolower":36662,"ĊĊĊĉĉ":36663,"ĠFAQ":36664,"OND":36665,"iov":36666,"KeyPress":36667,"TestFixture":36668,"ÑĤÑĥ":36669,"Ġ[]).":36670,"IBM":36671,"ĠToolbar":36672,"ìłģìĿ¸":36673,"ĠFRAME":36674,"EEEEFF":36675,"iou":36676,"naming":36677,"Ġcác":36678,"();//":36679,"Ġsubclasses":36680,"[]":36704,"Aa":36705,"sir":36706,"Ġnella":36707,"ĠCategories":36708,"ĠRating":36709,"ĠVC":36710,"createClass":36711,"primaryKey":36712,"Ġcorpor":36713,"Ġviolation":36714,"á»ĩn":36715,"Ġlétre":36716,"clic":36717,"fba":36718,"essel":36719,"ĊĉĊĠĠĠ":36720,"abf":36721,"Reality":36722,"ĠPrl":36723,"Ġjunit":36724,"ĠYM":36725,"slt":36726,"Processors":36727,"datatable":36728,"Showing":36729,"го":36730,"amanho":36731,"zdGF":36732,"ĠHope":36733,"ĠImprove":36734,"Ġmüssen":36735,")'],":36736,"@%":36737,"lord":36738,"erl":36739,"Ġfashion":36740,"unref":36741,"unnamed":36742,"()?>":36743,"Proceedings":36744,"çļĦæĹ¶éĹ´":36745,"orgot":36746,"Ġada":36747,"ĠhttpResponse":36748,"administrator":36749,"BorderColor":36750,"éĢŁåº¦":36751,"Ġìŀħëł¥":36752,"Differ":36753,"uke":36754,"witch":36755,"Ġfv":36756,"Ġinj":36757,"elin":36758,"usually":36759,"traces":36760,"ptic":36761,"__),":36762,"Ġlob":36763,"observed":36764,"GetText":36765,"FieldError":36766,"transient":36767,"ĠSerif":36768,"Ġproble":36769,"addrs":36770,"sión":36771,"Ġaccumulator":36772,"Ġforest":36773,"//----------------------------------------------------------------------------":36774,"ĠTooltip":36775,"ÑĨиÑı":36776,"ì¤Ģ":36777,"Ġeiusmod":36778,",__":36779,"Give":36780,"lka":36781,"istema":36782,"ValueChanged":36783,"viewModel":36784,"Translations":36785,"cellaneous":36786,"Ġdivider":36787,"terminated":36788,"consensus":36789,"Ġsockets":36790,"ï¼Ł](":36791,"æ´¾":36792,"ĠSOURCE":36793,"SCHEME":36794,"GribCollection":36795,"Above":36796,"IAB":36797,"Rsp":36798,"ZV":36799,"cie":36800,"Ġtweets":36801,"Ġmorph":36802,"threaded":36803,"umd":36804,"Ġenvelope":36805,"ä¸įéľĢè¦ģ":36806,"ĠPosts":36807,"Ġappropriately":36808,"ĠSorted":36809,"CultureInfo":36810,"Ġcoins":36811,"MongoDB":36812,"ĠMartin":36813,"Ġworst":36814,"lotted":36815,"Mood":36816,"Ġ---------":36817,"heter":36818,"Ġindivid":36819,"Ġ$($":36820,"prg":36821,"ARENT":36822,"=\"/\">":36823,"Ġtriangles":36824,"ufen":36825,"Ġfeeds":36826,"Ġë§Ī":36827,"getDefaultInstance":36828,"toMatchSnapshot":36829,"FWD":36830,"QUEST":36831,"nvm":36832,"ctf":36833,"Ġsequential":36834,"Ġdelt":36835,"Repair":36836,"Ġstrtolower":36837,"Ġ.$":36838,"([{":36839,"лаÑģÑģ":36840,"ĠPlane":36841,"Errno":36842,"Ġ\"+\",":36843,"ĠмеÑĤ":36844,"Ġfewer":36845,"ĠLabels":36846,"quadr":36847,"ĠReviewable":36848,"oscaler":36849,"CLASSES":36850,"Dj":36851,"ĠtButton":36852,"Ġfab":36853,"Ġaid":36854,"Ġdbo":36855,"ifique":36856,"ClientRect":36857,"stdcall":36858,"Ġmodeling":36859,"vous":36860,"lightbox":36861,"VLD":36862,"âķij":36863,"Ġà¦ı":36864,"xw":36865,"utar":36866,"getPage":36867,"getDeclared":36868,"ortion":36869,"ĠCDN":36870,"odbc":36871,"agree":36872,"Ġbehaviors":36873,"outbound":36874,").\"":36875,"ĠgetContent":36876,"StringPtr":36877,"Ġunreachable":36878,"behind":36879,"Comparable":36880,"enuation":36881,"ĠChina":36882,"čĊĠĠĠĠč":36883,"WebApp":36884,"Ġinclusion":36885,"SVC":36886,"ĉĉĉĉĉĉĉĉĉ":36887,"MACRO":36888,"æķ´æķ°":36889,"Amz":36890,"aaaaaaaaaaaaaaaa":36891,"Zi":36892,"dT":36893,"zuf":36894,"asso":36895,"Ġstrpos":36896,"ĠgetRandom":36897,"Chrom":36898,"Ġapart":36899,"ĠmapStateToProps":36900,"Ġformato":36901,"Pv":36902,"Ġsein":36903,"ĠFork":36904,"Ġpropagation":36905,"TextAppearance":36906,"Ġavail":36907,"Ġestimation":36908,"('.')":36909,"æĬ½":36910,"ExperimentEnv":36911,"ExperimentResultSet":36912,"CallableWrapper":36913,"ĠBindingFlags":36914,"aacute":36915,"millis":36916,"Ġcoffee":36917,"etCode":36918,"emacs":36919,"veral":36920,"aggle":36921,"inders":36922,"vecs":36923,"WithDefault":36924,"CommandOutput":36925,"privateKey":36926,"ApiOperation":36927,"WebDriver":36928,"ĠPlug":36929,"Ġautomodule":36930,"Ġinformazioni":36931,"CastException":36932,"åij½åIJį":36933,"æķ´ä¸ª":36934,"Ġnickname":36935,"Zv":36936,"alah":36937,"meg":36938,"icorp":36939,"inden":36940,"Ġklient":36941,"cbf":36942,"mmc":36943,"OpenCV":36944,"Customizer":36945,"Ġcharacteristic":36946,"persona":36947,"ĠAngle":36948,"renders":36949,"Ġayar":36950,"METRIC":36951,"waves":36952,"zet":36953,"}\")]":36954,"leto":36955,"Ġpst":36956,"Ġremap":36957,"orto":36958,"ĠDas":36959,"astian":36960,"GetProperty":36961,"Unqualified":36962,"ĠпаÑĢамеÑĤ":36963,"Ġattend":36964,"Granted":36965,"cidr":36966,"ãĥ¼ãĤ¸ãĥ§ãĥ³":36967,"Ġpermite":36968,"ighthouse":36969,"HIB":36970,"Ll":36971,"wchar":36972,"Ġnop":36973,"unj":36974,"Insn":36975,"REASON":36976,"')],":36977,"ByVersion":36978,"ServerName":36979,"NAMED":36980,"copyOf":36981,"icolon":36982,"Vent":36983,"hay":36984,"algebra":36985,"Ġamazing":36986,"Ġrain":36987,"ĠjPanel":36988,"addIndex":36989,"ĠHaving":36990,"Ġsubtype":36991,"æĹ©":36992,"ãģĹãģª":36993,"serializeOp":36994,"ĠMozilla":36995,"Termination":36996,"IRONMENT":36997,"+\")":36998,"dap":36999,"kB":37000,"qg":37001,"tiff":37002,"Ġmilli":37003,"Ġstrat":37004,"currentThread":37005,"enumeration":37006,"FragmentManager":37007,"kernels":37008,"Ġlandscape":37009,"ĠPrepared":37010,"ĠиÑģполÑĮз":37011,"abupaten":37012,"AFT":37013,"duplicates":37014,"fingerprint":37015,"jumlah":37016,"stro":37017,"dez":37018,"Ġsweep":37019,"azine":37020,"Interp":37021,"Ġdeployments":37022,"Ġë°ľ":37023,"æŁIJ个":37024,"Ġvocabulary":37025,"Looper":37026,"Ster":37027,"exhaustive":37028,"acja":37029,"Unmanaged":37030,"ComCallableWrapper":37031,"Ġreaders":37032,"TableModel":37033,"CONTRACT":37034,"Impro":37035,"ymmetric":37036,"columnName":37037,"Ġsymmetric":37038,"証":37039,"Ã¥r":37040,"..\\..\\":37041,")=>":37042,"GFX":37043,"Ġ\"\"));":37044,"igar":37045,"antages":37046,"INTERRUP":37047,"ĠFileOutputStream":37048,"å¹ķ":37049,"Directions":37050,"Ġlocking":37051,"consistency":37052,"Ġdescending":37053,"ĠIterate":37054,"Ġ[\\#":37055,"Fy":37056,"`\"}],":37057,"bfd":37058,"cfa":37059,"pmd":37060,"âŁ":37061,"iffs":37062,"Deletes":37063,"Shuffle":37064,"openapiv":37065,"leftJoin":37066,"VELO":37067,"Ġgrav":37068,"ĠBaseClass":37069,"ĠOrdering":37070,"Polynomial":37071,"Ġquesto":37072,"jel":37073,"rá":37074,"ĠTY":37075,"eman":37076,"ĠLabor":37077,"outgoing":37078,"scenes":37079,"REDIS":37080,"StateManager":37081,"CHUNK":37082,"EXPI":37083,"bottomnavigation":37084,"ĠScripts":37085,"Ġnearly":37086,"Ġìĺģ":37087,"éĵ¾è¡¨":37088,"Ġelasticsearch":37089,"Ġsanity":37090,"glog":37091,"ĠSleep":37092,"getWindow":37093,"refman":37094,"ritt":37095,"ĠStudy":37096,"genesis":37097,"ãĥ¼ãĥ³":37098,"Barcode":37099,"seealso":37100,"ilih":37101,"hapus":37102,"ļłï¸ı":37103,"JH":37104,"Xp":37105,"ĠåĪĿå§ĭåĮĸ":37106,"Ġmê":37107,"ĠHA":37108,"IDL":37109,"SearchResults":37110,"Ġcorr":37111,"ĠnastÄĻ":37112,"'\">":37113,"ZK":37114,"_))":37115,"Ġdangerous":37116,"ĠPause":37117,"spans":37118,"čĊĉčĊĉ":37119,"InvalidArgument":37120,"æĸ¹åIJij":37121,"affold":37122,"DISPATCH":37123,"éĺ»":37124,"Everything":37125,"HWND":37126,"`/":37127,"surname":37128,"ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ":37129,"Ġdil":37130,"Ġdword":37131,"trac":37132,"Ġyük":37133,"Deb":37134,"empl":37135,"ĠXPath":37136,"DBM":37137,"Anything":37138,"TAIN":37139,"................................................................":37140,"CAMERA":37141,"ĠSubstitute":37142,"$',":37143,"Eb":37144,"SIS":37145,"hender":37146,"icago":37147,"ĠFREE":37148,"ĠJNI":37149,"University":37150,"DDD":37151,"DCMAKE":37152,"Handshake":37153,"forums":37154,"karma":37155,"Caret":37156,"å¸ĮæľĽ":37157,"_(\"":37158,"tolerance":37159,"}*/":37160,"ëĤ":37161,"Ġãģ¨":37162,"Ġsapi":37163,"ĠTA":37164,"Tray":37165,"Ġclin":37166,"trials":37167,"Ġtriple":37168,"ĠBuilds":37169,"mingw":37170,"pictures":37171,"nightly":37172,"çŁ³":37173,"Ġservicio":37174,"/');":37175,"VY":37176,"bsp":37177,"Ġcq":37178,"commission":37179,"Ġ\\{":37180,"locs":37181,"overall":37182,"ĠRunner":37183,"Ġsuporte":37184,"jeto":37185,"lstlisting":37186,"Margins":37187,"ãĤ½ãĥ¼ãĤ¹":37188,"ĠLNControlPoint":37189,"ĠITEM":37190,"fcd":37191,"Ġhalign":37192,"Ġconference":37193,"Ġgpg":37194,"ĠBroadcast":37195,"Ġelm":37196,"ibilities":37197,"ĠresultSet":37198,"ие":37199,"\"]`":37200,"moduleName":37201,"SubType":37202,"HttpGet":37203,"Ġboards":37204,"确认":37205,"corpora":37206,"Ġkubelet":37207,"*\",":37208,"+\".":37209,"`/`":37210,"anal":37211,"ĠTakes":37212,"ĠisOpen":37213,"ĠPAS":37214,"irable":37215,"administration":37216,"MMMM":37217,"ĠFormControl":37218,"ãģ¾ãģĹãģŁ":37219,"HEADERS":37220,"Ġconsulta":37221,"éļıæľº":37222,"ĠCSRF":37223,"Odbc":37224,"Rn":37225,"cake":37226,"lamb":37227,"ĠACC":37228,"Ġelection":37229,"ĠGovernment":37230,"çļĦæĸ¹å¼ı":37231,"Manufacturer":37232,"ĠìĪ":37233,"rounds":37234,"Ġ((__":37235,"TIMI":37236,"VERY":37237,"ĠPlain":37238,"Ġconnects":37239,"polyfill":37240,"ĠtranslateY":37241,"Ġbesch":37242,"owaÄĩ":37243,"aiflow":37244,"ê´Ģ":37245,"orc":37246,"Ġterrain":37247,"isFalse":37248,"Ġ(_.":37249,"Ġskeleton":37250,"quarter":37251,"Ġorange":37252,"ĠHI":37253,"(([":37254,"Ġsubtree":37255,"Forum":37256,"rega":37257,"ĠоÑģ":37258,"è°¢":37259,"æĻº":37260,"facts":37261,"ĠOrientation":37262,")-(":37263,"CAS":37264,"Wz":37265,"XH":37266,"æª":37267,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":37268,"tec":37269,"Ġnewest":37270,"):${":37285,"ATING":37286,"LEADING":37287,"obi":37288,"Ġnodejs":37289,"Filtering":37290,"IfExists":37291,"ä¸įåΰ":37292,"internals":37293,"Marks":37294,"è¶ħè¿ĩ":37295,"ĠполÑĥÑĩ":37296,"ĠíĬ¹":37297,"Whether":37298,"ructor":37299,"Ġfuel":37300,"isin":37301,"ĠSed":37302,"ĠSvg":37303,"ĠWiki":37304,"oreo":37305,"ystate":37306,"ĠcharArray":37307,"groupName":37308,"([-":37309,"buffered":37310,"Ġgravity":37311,"ĠâŁ":37312,"ĠKeyEvent":37313,"lowercase":37314,"éģĩ":37315,"Ġ'\"'":37316,"Ġsurf":37317,"缮çļĦ":37318,"ĠEditorGUILayout":37319,"incremental":37320,"ATTRIBUTES":37321,"Ġtemporarily":37322,"åľºæĻ¯":37323,"oooooooo":37324,"liquid":37325,"InSeconds":37326,"ĠToo":37327,"Ġhier":37328,"setdefault":37329,"ĠDIR":37330,"ĠMes":37331,"httpd":37332,"SetUp":37333,"UserDetails":37334,"ISI":37335,"ĠProtected":37336,"VersionNumber":37337,"ĠTestBed":37338,"ProtoLens":37339,"latable":37340,"evin":37341,"æłĩè®°":37342,"ĠÑĦÑĥнк":37343,"Ġclauses":37344,"Ġgesture":37345,"=('":37346,"NQ":37347,"tled":37348,"escaped":37349,"Ġinvent":37350,"licken":37351,"Ġhod":37352,"ĠNX":37353,"CRM":37354,"Ġimagen":37355,"Ġrotated":37356,"totypes":37357,"ĠLayoutInflater":37358,"Nominal":37359,"nosti":37360,"è¯Ħ论":37361,"%;\"\">":37362,"RCC":37363,"VPC":37364,"din":37365,"dde":37366,"orable":37367,"almost":37368,"\",\"\"":37369,"avx":37370,"ĠHIGH":37371,"curso":37372,"CLICK":37373,"NSArray":37374,"Arithmetic":37375,"Arduino":37376,"Ġ-------------------------------------------------------------------------":37377,"ranking":37378,"ĠмÑĭ":37379,"Commits":37380,"AUTHOR":37381,"Ġyypt":37382,"Ġinvolves":37383,"explode":37384,"Ġreplicas":37385,"ĠDIALOG":37386,"PWR":37387,"mangled":37388,"ocean":37389,"sad":37390,"čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":37391,"ifa":37392,"ĠAud":37393,"Explain":37394,"Ġih":37395,"brass":37396,"ESC":37397,"FIRE":37398,"USR":37399,"vmx":37400,"ĠObserver":37401,"åĬ¨çĶ»":37402,"Ġfigsize":37403,"æĹ¥æľ¬":37404,"ĠJulia":37405,"nexus":37406,"rspec":37407,"suit":37408,"ATI":37409,"Ġstringify":37410,"TestUtil":37411,"monster":37412,"Ġdistrict":37413,"PageToken":37414,"labeled":37415,"Ġdrawable":37416,"Ġpractical":37417,"ĠAttack":37418,"çıŃ":37419,"REGISTRY":37420,"JY":37421,"XI":37422,"dcl":37423,"lain":37424,"Ġ(?":37425,"Ġwsz":37426,"Ġmilestone":37427,"Inser":37428,"ĠTa":37429,"dataGridView":37430,"illum":37431,"Datastore":37432,"Entr":37433,"Ġplaintext":37434,"FOS":37435,"(&:":37436,"glu":37437,"ĠChoice":37438,"statistic":37439,"त":37440,"Ġfeels":37441,"ĠAccording":37442,"Shopping":37443,"ĠMAKE":37444,"FRAMEBUFFER":37445,"rottling":37446,"%\"),":37447,"gency":37448,"Ġust":37449,"ĮìĿ´":37450,"reminder":37451,"isDefined":37452,"Ġsche":37453,"amet":37454,"Restricted":37455,"Ġisolate":37456,"))(":37457,"lyb":37458,"forall":37459,"].(":37460,"MethodType":37461,"USN":37462,"saas":37463,"Ġcalculator":37464,"Ġbookmark":37465,"Consider":37466,"ìķ½":37467,"sounds":37468,"Ġrecurso":37469,"ĠDerived":37470,"èIJ¥":37471,"fung":37472,"iene":37473,"ĠvÃŃ":37474,"Ġsuperclass":37475,"Ġourselves":37476,"ĠequalTo":37477,"ĠOPTIONS":37478,"*)(*@\\":37479,"Gw":37480,"pap":37481,"keley":37482,"ĠpathParams":37483,"ForTesting":37484,"UpdateTime":37485,"ĠqueryParams":37486,"holo":37487,"macos":37488,"Ġëĭ¤ë¥¸":37489,"Employees":37490,"estimators":37491,"galaxy":37492,"atx":37493,"itet":37494,"getMin":37495,"NameHash":37496,"forgot":37497,"Ġíĸ":37498,"Ġreviewers":37499,"ĠGlobalNamespace":37500,"립":37501,"integrations":37502,"periodic":37503,"knife":37504,"ÐŁÑĢ":37505,"ĠAlertDialog":37506,"Ġ모ëĵł":37507,"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%":37508,"cant":37509,"èĵ":37510,"Ġpictures":37511,"Ġsunt":37512,"Ġinformat":37513,"riers":37514,"ĠRaspberry":37515,"Ġstrerror":37516,"brk":37517,"AppName":37518,"NotIn":37519,"Ġtargeted":37520,"Clr":37521,"EmptyString":37522,"ĠTimeline":37523,"BEFORE":37524,"åIJİåı°":37525,"Ġfigures":37526,"ĠWrong":37527,"memproto":37528,"memdoc":37529,"Solve":37530,"thunk":37531,"ĠSimpl":37532,"ĠSTOP":37533,"testation":37534,"TimeSeries":37535,"IClus":37536,"Ġimportance":37537,"Ġnumer":37538,"fastq":37539,"ç͍æĪ·åIJį":37540,"ä¿Ŀè¯ģ":37541,"Ġdecimals":37542,"FOUNDATION":37543,"ĠNovember":37544,"IClusCfg":37545,".);":37546,"gcm":37547,"Ġ=$":37548,"),\"":37549,"indexing":37550,"charm":37551,"taskId":37552,"ENDER":37553,"ĠfrÃ¥n":37554,"DayOfWeek":37555,"Prefab":37556,"ytvoÅĻ":37557,"Nn":37558,"mens":37559,"pdev":37560,"uF":37561,"toÅĽÄĩ":37562,"è¡Į为":37563,"NOTES":37564,"ĠReduce":37565,"IVED":37566,"åīį端":37567,"éĺµ":37568,"ulos":37569,"ĠPHPUnit":37570,"QtGui":37571,"åĸľ":37572,".${":37573,"dstore":37574,"getID":37575,"opaque":37576,"beacon":37577,"Bezier":37578,"singular":37579,"Https":37580,"åľĭ":37581,"gitignore":37582,"carrier":37583,"Delaborator":37584,"ĠQuantity":37585,"ADOOP":37586,"Ġ\"]\"}],":37587,")';":37588,"Dice":37589,"VINT":37590,"å³":37591,"Ġinverted":37592,"Ġmud":37593,"ĠPeter":37594,"))',":37595,"bezier":37596,"...]":37597,"TOMCAT":37598,"Ġoverriding":37599,"instell":37600,"crs":37601,"WORDS":37602,"ĠUNIX":37603,"ĠMainActivity":37604,"ĠìĹIJ":37605,"CLOSED":37606,"DECIMAL":37607,"ATTACHMENT":37608,"Biz":37609,"mmb":37610,"uum":37611,"uable":37612,"}?":37613,"ĠTcp":37614,"Ġgues":37615,"\"\"\",":37616,"='../":37617,"ĠInterpreter":37618,"ativos":37619,"ĠæĽ´æĸ°":37620,"btree":37621,"kers":37622,"rdb":37623,"Ġcubic":37624,"Ġsongs":37625,"Ġ}`":37626,"ĊĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":37627,"ĠUIT":37628,"contoso":37629,"prs":37630,"ĠuseStyles":37631,"ANSI":37632,"redo":37633,"ĠExact":37634,"websites":37635,"Ġgraphic":37636,"Ġdiesem":37637,"Ġ\"'\"":37638,"Ġincid":37639,"Ġbluetooth":37640,"Ġchoosing":37641,"ãģ¦ãģĦãģ¾ãģĻ":37642,"Ġ[&](":37643,"bie":37644,"vcs":37645,"ĠICommand":37646,"fluttify":37647,"ĠProc":37648,"Forge":37649,"FunctionName":37650,"Ġfullname":37651,"Ġwatching":37652,"ĠChannels":37653,"interpolation":37654,"createTextNode":37655,"Pour":37656,"_=":37657,"wnd":37658,"asion":37659,"Ġbij":37660,"Ġlf":37661,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":37662,"Orange":37663,"éĢı":37664,"ApplicationException":37665,"Ġskew":37666,"DbType":37667,"MoveNext":37668,"ÑĢаж":37669,"Ġlinha":37670,"ális":37671,"Optimization":37672,"Ġbenchmarks":37673,"á»Ļt":37674,"詳細":37675,"Lobby":37676,"fone":37677,"pV":37678,"acrit":37679,"Ġantes":37680,"ADAP":37681,"äºĪ":37682,"???":37683,"ĠSPEC":37684,"siswa":37685,"setWindowPosition":37686,"åİĨåı²":37687,"MVC":37688,"eux":37689,"omid":37690,"ĠEp":37691,"ĠUV":37692,"CHAT":37693,"åĪļ":37694,"uiton":37695,"<'_":37696,"abstractmethod":37697,"íķ´ìķ¼":37698,"ĠÑįлеменÑĤ":37699,"influxdb":37700,"FTP":37701,"sut":37702,"ĊĠĠĠĠĉĉĉ":37703,"isObject":37704,"Ġnix":37705,"Ġtoward":37706,"izmet":37707,"ĠJames":37708,"ĠKont":37709,"иÑħ":37710,"these":37711,"stdc":37712,"Club":37713,"nonnull":37714,"ĠNSArray":37715,"Ġcarbon":37716,"ĠIndexed":37717,"Ġözel":37718,"JIT":37719,"natur":37720,"ĠãģĮ":37721,"utch":37722,"strand":37723,"Things":37724,"EventQueue":37725,"Ġsous":37726,"ÑģÑĤÑĮ":37727,"SMTP":37728,"ãĤĮãĤĭ":37729,"municator":37730,"Facility":37731,"symmetric":37732,"é»Ħ":37733,"contrast":37734,"tenantId":37735,"-)":37736,"sensors":37737,"Ġdeser":37738,"ĠPurchase":37739,"ĠEste":37740,"queryset":37741,"Ġ/>\\":37742,"Ġfixtures":37743,"Expire":37744,"LSB":37745,"Ġscreens":37746,">:":37818,"POCH":37819,"parentElement":37820,"Ġmutate":37821,"ĠMeteor":37822,"ëıĦë¡Ŀ":37823,"ĠеÑģли":37824,"ATOMIC":37825,"ĠNavigate":37826,"\"?":37827,"Pwd":37828,"tencent":37829,"inicio":37830,"atra":37831,"Ġfog":37832,"edc":37833,"ssd":37834,"profil":37835,"Ġcomfort":37836,"ARS":37837,"ownership":37838,"ĠThings":37839,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":37840,"Ñģл":37841,"Ġê¸":37842,"]]]":37843,"infty":37844,"sfEvent":37845,"Ġwireless":37846,"Awaiter":37847,"OPSIS":37848,"*'":37849,"Dialect":37850,"leak":37851,"unning":37852,"amal":37853,"tout":37854,"imported":37855,"ĠLS":37856,"ĠThose":37857,"ĠallClasses":37858,"Ġpreserved":37859,"Ġhelping":37860,"ınız":37861,"Ġcomputers":37862,"ĠAssociation":37863,"âĢķâĢķ":37864,"Avoid":37865,"Cesium":37866,"TICK":37867,"leÅŁtir":37868,"iting":37869,"Ġ`;":37870,"Ġlokal":37871,"']/":37872,"rente":37873,"SPR":37874,"Ġsmtp":37875,"Editar":37876,"ĠJsonResponse":37877,"istograms":37878,"ĠINTERNAL":37879,"Contributor":37880,"nique":37881,"getOption":37882,"ĠFamily":37883,"ĠHEL":37884,"ĠIncrease":37885,"']):":37886,"Trading":37887,"UserRole":37888,"Ġimper":37889,"Ġinstalls":37890,"æī«":37891,"difficulty":37892,"ÙĪØ¯":37893,"Ġsubstitute":37894,"è¿ĺæľī":37895,"Ġön":37896,"Ġprimarily":37897,"LST":37898,"WEST":37899,"bfa":37900,"Ġfst":37901,"Ġ'//":37902,"getNumber":37903,"outdir":37904,"ĠBas":37905,"ĠGEN":37906,"åı¯ç͍":37907,"é¡ŀ":37908,"RawData":37909,"ĠTokenType":37910,"ĠCorp":37911,"Ġaborted":37912,"streetmap":37913,"Ġpostgresql":37914,"QUOTE":37915,"JW":37916,"cia":37917,"xcode":37918,"Ġ=)":37919,"Ġsouth":37920,"Ġworse":37921,"Revenue":37922,"Ġdisposing":37923,"iconst":37924,"Ġstructs":37925,"ÃŃf":37926,"Ġboy":37927,"ubyte":37928,"hybrid":37929,"Ãłi":37930,"çī¹å¾ģ":37931,"çµĤ":37932,"aG":37933,"dct":37934,"nab":37935,"sle":37936,"ingo":37937,"()\\":37938,"trx":37939,"truiton":37940,"ĠisSet":37941,"Ġchalk":37942,"ÃŃch":37943,"å®ļ義":37944,"Ġrealize":37945,"ì§ij":37946,"Ġscanf":37947,"Approx":37948,"Twig":37949,"å¿«éĢŁ":37950,"Interpolator":37951,"BROWSER":37952,"CUBE":37953,"TOR":37954,"ioc":37955,"íļĮ":37956,"Ġfir":37957,"Ġowl":37958,"ĠDAY":37959,"ĠFilename":37960,"ĠGE":37961,"ListBy":37962,"birthday":37963,"ĠFuncionesSwing":37964,"Paddle":37965,"paging":37966,"=\"\\":37967,"Ġsimulated":37968,"pulls":37969,"ĠNSURL":37970,"Ġlayouts":37971,"ĠUNKNOWN":37972,"ĠNeo":37973,"multiplied":37974,"Flatten":37975,"Ġê°ĻìĿĢ":37976,"ĠNAVBAR":37977,"henderit":37978,";\";":37979,"](\"":37980,"pcre":37981,"omg":37982,"imic":37983,"('+":37984,"imeter":37985,"queen":37986,"ãģĶ":37987,"ampening":37988,"ROME":37989,"ĠXElement":37990,"fract":37991,"ĠREPLACE":37992,"Ġestimator":37993,"acional":37994,"dialect":37995,"Ġhighlighting":37996,"AlreadyExists":37997,"COLLATION":37998,"Ġmarshaller":37999,"=\\'":38000,"aClass":38001,"ervice":38002,"isinstance":38003,"unde":38004,"ĠCa":38005,"Ġhu":38006,"namespaced":38007,"ĠDET":38008,"Ġchaining":38009,"ToObject":38010,"Ġparâ":38011,"ĠJDBC":38012,"GLSL":38013,"Ġrefund":38014,"Guess":38015,"éĢļä¿¡":38016,"Latin":38017,"EFFECT":38018,":\";":38019,"Ew":38020,"Zz":38021,"sentry":38022,"throttle":38023,"amat":38024,"toObject":38025,"Ġebp":38026,"Ġjclass":38027,"awns":38028,"Ġplanned":38029,"Ġë¹":38030,"ĠErrorCode":38031,"REFRESH":38032,"Ġнов":38033,"scrollTo":38034,"ĠAvatar":38035,"×ķת":38036,"FOLLOW":38037,"ÅŁaģıdaki":38038,"FPL":38039,"OY":38040,"YELLOW":38041,"ĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":38042,"Ġdialect":38043,"getApplication":38044,"Ġhv":38045,"ĠPretty":38046,"toContain":38047,"setWindowListener":38048,"shade":38049,"DataAnnotations":38050,"pole":38051,"Trail":38052,"MEAS":38053,"playground":38054,"Ġfluent":38055,"ĠOrders":38056,"Ġcalculates":38057,"êm":38058,"ìĭ¬":38059,"Ġpolar":38060,"Ġmenus":38061,"Glut":38062,"buyer":38063,"LIKELY":38064,"'!":38065,")}}\"":38066,"Vx":38067,"xen":38068,"yel":38069,"Ġrein":38070,"igation":38071,"Ġlan":38072,"ĠLaw":38073,"ĠRestart":38074,"SIF":38075,"Ġoffsetof":38076,"Ġhelped":38077,"Ġpytorch":38078,"ãģ«éĸ¢":38079,"Fixtures":38080,"次æķ°":38081,"overnance":38082,"AccelerationStructure":38083,"creativecommons":38084,"ĠEducation":38085,"National":38086,"Wake":38087,"wit":38088,"Ġcds":38089,"Ġsamp":38090,"Ġgf":38091,"ĠGtk":38092,"Ġ(){":38093,"nonzero":38094,"ĠTemporary":38095,"JsonPropertyName":38096,"gil":38097,"heme":38098,"ĠBSP":38099,"ĠRol":38100,"manip":38101,"equalTo":38102,"kwds":38103,"ĠclearTimeout":38104,"selectedIndex":38105,"ParseError":38106,"Ġeasiest":38107,"å°±ä¼ļ":38108,"ĠBackbone":38109,"beamY":38110,"Ġamplitude":38111,"è´¦åı·":38112,"STEMS":38113,"rav":38114,"ĠIIS":38115,"ĠRW":38116,"çļĦä¸Ģ":38117,"AppState":38118,"OfDay":38119,"CONJ":38120,"ĠValueType":38121,"onyms":38122,"Peptide":38123,"socks":38124,"einsum":38125,"Interpolation":38126,"Ġveniam":38127,"éĿĻæĢģ":38128,"FPS":38129,"GLES":38130,"]*)":38131,"bom":38132,"ĠIDisposable":38133,"strmojo":38134,"tea":38135,"opx":38136,"AddField":38137,"ĠExclude":38138,"PHX":38139,"Popover":38140,"itelisted":38141,"Ġstripe":38142,"/](":38143,"Vn":38144,"iac":38145,"ĠãĢĤ":38146,"edEventArgs":38147,"Ġwomen":38148,"ĠMutation":38149,"loaders":38150,"Ġpermutation":38151,"thew":38152,"ĠAddr":38153,"packs":38154,"Ġsku":38155,"äºĨè§£":38156,"ActiveRecord":38157,"twimg":38158,"Tracked":38159,"çľ¼":38160,"åħ³èģĶ":38161,"POINTS":38162,"Ġrecommendation":38163,"sco":38164,"Ġtpl":38165,"Ġsuff":38166,"Ġnaj":38167,"Ġvoxel":38168,"amm":38169,"verifier":38170,"Ġendhighlight":38171,"ĠThird":38172,"ĠJIT":38173,"FormGroup":38174,"lda":38175,"ResponseType":38176,"}});":38177,"Ġ[]),":38178,"Intermediate":38179,"calling":38180,"ĠпÑĢилож":38181,"Firefox":38182,"Ġpinned":38183,"èģĶç³»":38184,"Ġbundled":38185,"election":38186,"xin":38187,"é¼":38188,"adder":38189,"toupper":38190,"httpRequest":38191,"Ġprodu":38192,"Ġdefp":38193,"ĠRecognition":38194,"ISP":38195,"regtype":38196,"servo":38197,"resourcemanager":38198,"SELECTED":38199,"ornado":38200,"photoUrl":38201,"ĠSOCK":38202,"ĠTIMESTAMP":38203,"phoenix":38204,"ĠprostÅĻed":38205,"Fall":38206,"Jpa":38207,"ranks":38208,"}->{":38209,"ĠSociety":38210,"getLog":38211,"Ġtown":38212,"Ġecc":38213,"INATION":38214,"iali":38215,"ĠGH":38216,"prune":38217,"ĠStrict":38218,"IsIm":38219,"ĠAnchor":38220,"sides":38221,"Ġprograma":38222,"ĠPrerequisites":38223,"Artwork":38224,"CRIPT":38225,"FH":38226,"Lift":38227,"Ġtá":38228,"Ġ(--":38229,"Ġsolicit":38230,"Ġbright":38231,"emark":38232,"Ġgir":38233,"Ġgalaxies":38234,"Ġ#%":38235,"Shares":38236,"ĠExisting":38237,"anya":38238,"Variation":38239,"ç»ĩ":38240,"Ġregs":38241,"":47756,"Ġwast":47757,"omorphic":47758,"ĠLR":47759,"ĠLGPL":47760,"ĠBD":47761,"Ġresistance":47762,"amper":47763,"fileInfo":47764,"minify":47765,"ItemName":47766,"IsMutable":47767,"VERSAL":47768,"CheckIndex":47769,"ĠReturned":47770,"accounting":47771,"ल":47772,"ĠRegistered":47773,"Ġreplies":47774,"Ġinspection":47775,"ë³µ":47776,"Ġconcatenate":47777,")(\"":47778,"Ago":47779,"Mong":47780,"WATER":47781,"yv":47782,"é¹":47783,"Ġcask":47784,"Ġsake":47785,"ilies":47786,"getDevice":47787,"ĠNight":47788,"ĠLas":47789,"ĠLIGHT":47790,"ĠonLoad":47791,"Colon":47792,"AddChild":47793,"())[":47794,"UNITS":47795,"}}$":47796,"Workbench":47797,"Ġaccent":47798,"Ġenumerator":47799,"ĠCodec":47800,"स":47801,"Ġ¿":47802,"ĠOverall":47803,"æĥ³è¦ģ":47804,"ç¶²":47805,"]\\\\":47806,"åµ":47807,"ĵ°":47808,"Ġcrawl":47809,"urers":47810,"Ġ}})":47811,"cocos":47812,"getContainer":47813,"ĠAsp":47814,"ĠBETWEEN":47815,"DataContract":47816,"Enh":47817,"textField":47818,"Ġvalore":47819,"Ġcompiles":47820,"posits":47821,"backoff":47822,"architect":47823,"Its":47824,"dbName":47825,"Ġobserv":47826,"ajar":47827,"executed":47828,"Ġdesar":47829,"Ġназ":47830,"zaW":47831,"entelemetry":47832,"synapse":47833,"ĠDatum":47834,"Ġpredictor":47835,"ĠTwig":47836,"Pilot":47837,"ï½ŀ":47838,"constrained":47839,"ãĥ©ãĥ¡ãĥ¼ãĤ¿":47840,"Dag":47841,"HAB":47842,"RTE":47843,"Yh":47844,"ĠĊĉĠĠĠ":47845,"inj":47846,"quake":47847,"Ġbecoming":47848,"Keyframe":47849,"mds":47850,"computation":47851,"Desde":47852,"Ġadı":47853,"ĠcurrentIndex":47854,"NewEncoder":47855,"centric":47856,"cbs":47857,"Prep":47858,"ProductId":47859,"éĻĪ":47860,"passive":47861,"----------|":47862,"Ġpodr":47863,"saldo":47864,"CountryCode":47865,"ðĿĻ":47866,"Ġbringing":47867,"SMALLINT":47868,"ĠStatelessWidget":47869,"áĥĶáĥ":47870,"toISOString":47871,"ĠMENTERI":47872,"wat":47873,"Ġtune":47874,"Ġtheoret":47875,"ĠvÅ¡":47876,"getOwner":47877,"ĠFString":47878,"scs":47879,"ĠBre":47880,"ertino":47881,"Ġcontiguous":47882,"DataMap":47883,"Ġ<<-":47884,"dish":47885,"createUser":47886,"ĠGetName":47887,"UNSPECIFIED":47888,"ÃŃveis":47889,"Clickable":47890,"offsetHeight":47891,"CallbackInfo":47892,"ĠViewBag":47893,"Sqlite":47894,"ãĥªãĤ½ãĥ¼ãĤ¹":47895,"highlighted":47896,"лиÑĩ":47897,"Actualizar":47898,"Privileges":47899,"ÑģÑĤва":47900,"spyOn":47901,"QiOiJ":47902,"ĠMessaging":47903,"åĽºå®ļ":47904,"ĠмеÑĤод":47905,"Ġprettier":47906,"!';":47907,"pLocal":47908,"raf":47909,"inverted":47910,"sealed":47911,"Ġ'||":47912,"ĠSeb":47913,"ĠSMB":47914,"Ink":47915,"ĠDies":47916,"Ġgoog":47917,"ĠFish":47918,"IdRef":47919,"addView":47920,"ĠHMAC":47921,"udah":47922,"ItemGroup":47923,"conduct":47924,"ĠstartPosition":47925,"ColorBrush":47926,"Ġadm":47927,"currentItem":47928,"goTo":47929,"ĠDoor":47930,"Ġgrids":47931,"Dominant":47932,"ĠAccessibility":47933,"港":47934,"QtWidgets":47935,"æľĪåįģ":47936,"PictureBox":47937,"ĠPKCS":47938,"Ġaugue":47939,"ĠìĦ¤ì¹ĺ":47940,"Synchronize":47941,"critic":47942,"ĠSicherheits":47943,"eúdo":47944,"Duck":47945,"IED":47946,"PPE":47947,"Zd":47948,"]};":47949,"eig":47950,"econom":47951,"unstyled":47952,"mpz":47953,"Ġvd":47954,"Ġvet":47955,"getCanonical":47956,"quic":47957,"Ġgle":47958,"ureka":47959,"čĊčĊĠĠĠĠĠĠĠĠ":47960,"Ġcommunities":47961,"September":47962,"Parsers":47963,"Ġenddo":47964,"UNE":47965,"pageNumber":47966,"helloworld":47967,"metis":47968,"copyFrom":47969,"Ġsums":47970,"Ġвид":47971,"Ġoccasion":47972,"à°¨":47973,"sophy":47974,"Ġtellus":47975,"Convex":47976,"databinding":47977,"еÑģÑĤво":47978,")[\"":47979,"Veto":47980,"hread":47981,"=\"<%=":47982,"Inbox":47983,"ĠCUP":47984,"ĠisArray":47985,"ĠFlip":47986,"Ġ|--":47987,"\")\"":47988,"DEMO":47989,"GetState":47990,"Ġlea":47991,"((_,":47992,"createObject":47993,"swiffy":47994,"elementType":47995,"ÑĥÑģÑĤ":47996,"Ġwebdriver":47997,"Ġaccessors":47998,"Ġblind":47999,"OpCode":48000,"Ġpypi":48001,"JobStatus":48002,"ĠCreative":48003,"âķĹ":48004,"Grace":48005,"stylesheets":48006,"Confidence":48007,"Intervals":48008,"å¤ļå°ij":48009,"ĠFonts":48010,"Ġinvokes":48011,"ï¼ģï¼ģ":48012,"Ġrepeatedly":48013,"Ġparagraphs":48014,"Ġ\"{}\",":48015,")#":48016,"Falsy":48017,"Lr":48018,"faction":48019,"frappe":48020,"wLj":48021,"etl":48022,"cestors":48023,"ĠCri":48024,"Ġlite":48025,"errcode":48026,"čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":48027,"ĠVip":48028,"keystone":48029,"Ġshlw":48030,"textbox":48031,"ĠJapanese":48032,"timetable":48033,"ByUser":48034,"ĠExcept":48035,"OutputFile":48036,"GBP":48037,"纪":48038,"NormalTok":48039,"hubs":48040,"balances":48041,"}$,":48042,"splunk":48043,"ĠìĥĪ":48044,"Ġ목":48045,"clauses":48046,"ungee":48047,"ĠAFTER":48048,"Compressor":48049,"ĠíĥĢ":48050,"ĠCompatibility":48051,"Electric":48052,"FSharp":48053,"Kx":48054,"RIG":48055,"Symbolic":48056,"YR":48057,"secp":48058,"Ġinn":48059,"adjacent":48060,"Ġmidi":48061,"ĠAlice":48062,"('../../../":48063,"Ġeof":48064,"Sticky":48065,"refactor":48066,"ĠgetUrl":48067,"subservice":48068,"ADR":48069,"álat":48070,"Ġqq":48071,"Databases":48072,"Ġgotten":48073,"luck":48074,"ĠInvalidArgumentException":48075,"Ġpaired":48076,"è¿IJç®Ĺ":48077,"Ġ(^)(":48078,"Ġvirtuális":48079,"(..)":48080,"Ġæĭī":48081,"getValorProporcion":48082,"/'.":48083,"DID":48084,"arXiv":48085,"getVar":48086,"Ġdex":48087,"Ġhmac":48088,"Ġether":48089,"roman":48090,"NameSpace":48091,"shifts":48092,"Ġlever":48093,"ĠGetHashCode":48094,"Ġ]}":48095,"(&$":48096,"headless":48097,"splitter":48098,"------------+":48099,"categoryId":48100,"ãĤĴè¡Į":48101,"HTTPResponse":48102,"JavaUtil":48103,"Neon":48104,"ĠEngland":48105,"ĠFiltering":48106,"Ġpatched":48107,"TexImage":48108,"æīĭåĬ¨":48109,"/******************************************************************************":48110,"érer":48111,"ĠInstantiateClassGenerator":48112,"?[":48113,"Hnd":48114,"HDFS":48115,"Kq":48116,"vap":48117,"ÐŃ":48118,"eron":48119,"otiate":48120,"ĠCSharp":48121,"Rebuild":48122,"ĠImm":48123,"toFloat":48124,"permanent":48125,"concrete":48126,"ĠNginx":48127,"shkar":48128,"Dealer":48129,"bei":48130,"ãĤĩ":48131,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":48132,"azer":48133,"ĠUndo":48134,"devDependencies":48135,"distr":48136,"ãĤĴåıĤçħ§":48137,"Accounting":48138,"ĠCanada":48139,"Ġélé":48140,"windowsazure":48141,"одеÑĢж":48142,"Neural":48143,"ĠMerged":48144,"ì¹´":48145,"ĠíĻľ":48146,")+'":48147,"Hang":48148,"JAR":48149,"UFF":48150,"mig":48151,"mfc":48152,"ufe":48153,"ximo":48154,"reprise":48155,"isRunning":48156,"Ġdj":48157,"Ġdrives":48158,"setTag":48159,"ĠDraft":48160,"ĠNumpy":48161,"ĠRepresent":48162,"MapAccess":48163,"Ġcharges":48164,"ĠarrayOf":48165,"APB":48166,"tractor":48167,"optype":48168,"Liquid":48169,"ĠCocoa":48170,"Freeze":48171,"ĠRequirement":48172,"Ġappearing":48173,"Ġcasting":48174,"Multimap":48175,"é»ĺ认为":48176,"ãģĪãĤĭ":48177,"WiFi":48178,"á»įc":48179,"<#":48180,"GAIN":48181,"Having":48182,"Happy":48183,"LAX":48184,"MUST":48185,"nft":48186,"northeast":48187,"ĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ":48188,"alar":48189,"getCache":48190,"ĠTKey":48191,"ĠTYP":48192,"Ġ[^":48193,"Ġldc":48194,"agtail":48195,"ĠFYI":48196,"ĠVim":48197,"ieurs":48198,"ĠcreateState":48199,"Ġfauc":48200,"ĠSepar":48201,"Obsolete":48202,"WebApi":48203,"Ġgems":48204,"CRUD":48205,"JobId":48206,"Flows":48207,"éϤäºĨ":48208,"ãĤ½ãĥķãĥĪ":48209,"Instantiation":48210,"Ġzobraz":48211,"Lbl":48212,"Vlan":48213,"hamburger":48214,"nasa":48215,"Ġ============":48216,"rose":48217,"ripsi":48218,"=\".$":48219,"ontab":48220,"Ġdelim":48221,"Ġhadoop":48222,"Ġconversations":48223,"strat":48224,"ĠLite":48225,"ĠRigid":48226,"------------------------------":48227,"ĠHol":48228,"logstash":48229,"bey":48230,"ugas":48231,"computing":48232,"ãĢĤ**":48233,"TableHeadingColor":48234,"ServerContext":48235,"Ġretained":48236,"generating":48237,"ätt":48238,"ClickHouse":48239,"Ġbounded":48240,"ĠVerified":48241,"ús":48242,"ĠApiResponse":48243,"èĢĮä¸įæĺ¯":48244,"employment":48245,"ç¼ĸåĨĻ":48246,"FINISHED":48247,"Ġpowers":48248,"Ġtechnically":48249,"Campos":48250,"humidity":48251,"grupo":48252,"ĠÑģпиÑģ":48253,"APIClient":48254,"SpringBootTest":48255,".'''":48256,"culture":48257,"oup":48258,"zem":48259,"Ġnjs":48260,"Ġavez":48261,"ĠLens":48262,"ĠBun":48263,"ĠGamma":48264,"locker":48265,"ibt":48266,"ĠStmt":48267,"phpunit":48268,"ĠcreateElement":48269,"EnumMember":48270,"splitext":48271,"Iterate":48272,"Ġtrials":48273,"Passport":48274,"municate":48275,"Neutral":48276,"à¥ģ":48277,"Ġcele":48278,"Ġnearby":48279,"Ġtaxonomy":48280,"qrcode":48281,"ĠOperators":48282,"Ġlectus":48283,"ืà¹Ī":48284,"Ġtangent":48285,"Sint":48286,"Sine":48287,"Trivia":48288,"Xx":48289,"ejs":48290,"yq":48291,"ččĊĠĠĠ":48292,"seats":48293,"Ġaster":48294,"Ġbun":48295,"Ġvirus":48296,"Ġlsp":48297,"Ġgom":48298,"Ġgreatest":48299,"ĠRTE":48300,"charges":48301,"Bases":48302,"partners":48303,"ĠAlle":48304,"GEST":48305,"ClusterId":48306,"kerhets":48307,"ÅŁÄ±":48308,"ĠTeal":48309,"ODY":48310,"petition":48311,"ThrowIf":48312,"Periods":48313,"Datap":48314,"WAKE":48315,"calledOnce":48316,"Ġconvex":48317,"beamer":48318,"Promo":48319,"Ġclaimed":48320,"Ġmonospace":48321,"Ġìłģìļ©":48322,"ittrLoremipumdolorsitametconsecteturadipiscingelitIntegervelvel":48323,"Faction":48324,"aires":48325,"nand":48326,"dew":48327,"enth":48328,"ĠvỼi":48329,"getOrder":48330,"ĠMiddle":48331,"useEffect":48332,"ĠGuest":48333,"ĠThrough":48334,"Ġdisco":48335,"Formal":48336,"Ġyours":48337,"CLAMP":48338,"selectable":48339,"USING":48340,"removeAttr":48341,"tabPage":48342,"pki":48343,"ĠCOMB":48344,"ISTIC":48345,"macOS":48346,"째":48347,"isoner":48348,"\"])(":48349,"Ġsuggesting":48350,"Ġbaud":48351,"Ġversión":48352,"导èĪª":48353,"ĠVERBOSE":48354,"ĠWritten":48355,"provides":48356,"ĠBTREE":48357,"Ġ:+:":48358,"Ġannual":48359,"pulsar":48360,"Ġoccupied":48361,"´ë³´":48362,"é½IJ":48363,"HKLM":48364,"fuchsia":48365,"Ġnesting":48366,"Ġbones":48367,"**)&":48368,"Ġvoting":48369,"ĠtoJson":48370,"Ġgist":48371,"tdc":48372,"ToAction":48373,"backups":48374,"azi":48375,"DateRange":48376,"ĠUnauthorized":48377,"ĠpageTitle":48378,"ReadString":48379,"ẽ":48380,"ÑĨен":48381,"ĠArtist":48382,"Indicators":48383,"ALIGNMENT":48384,"Ġordinary":48385,"á»iji":48386,"ëħĦ":48387,"Ġnouvel":48388,"BOUNDED":48389,"ristopher":48390,"decessor":48391,"Bre":48392,"FIT":48393,"James":48394,"}']":48395,"ëĤ´":48396,"Ġåĩ½æķ°":48397,"Ġcite":48398,"Ġsic":48399,"Ġbasket":48400,"Ġ'>',":48401,"();\">":48402,"ĠNim":48403,"ĠLUT":48404,"Ġtruly":48405,"Ġierr":48406,"ipAddress":48407,"ANCED":48408,"KeyStroke":48409,"Tested":48410,"azu":48411,"Ġpresets":48412,"PROPN":48413,"cleared":48414,"cloudinary":48415,"MODES":48416,"functor":48417,"ĠThreadPool":48418,"integrity":48419,"ĠObservableCollection":48420,"CompareTo":48421,"ComputeV":48422,"predicates":48423,"SimulationProtos":48424,"Ġcampos":48425,"July":48426,"Ġfelis":48427,"Ezsign":48428,"ĠMountain":48429,"atório":48430,"responder":48431,"ĠMangeshkar":48432,"'||":48433,")();":48434,"Bins":48435,"RUnlock":48436,"dpp":48437,"migr":48438,"pain":48439,"Ġ)))":48440,"ĊĠĠĠĉ":48441,"Ġsod":48442,"Ġbem":48443,"Ġderef":48444,"Ġ+----------------------------------------------------------------------":48445,"Ġyer":48446,"ĠRi":48447,"Ġanomaly":48448,"-----------------------":48449,"ĠVagrant":48450,"ĠIncoming":48451,"Trades":48452,"ĠKeras":48453,"Disc":48454,"cdt":48455,"ĠZüritüütsch":48456,"otope":48457,"ä¹±":48458,"corn":48459,"Ġpassage":48460,"sorter":48461,"Ġcardinality":48462,"}.${":48463,"Solo":48464,"kerja":48465,"ĠLOGIN":48466,"fortawesome":48467,"xxxxxxxxxxxxxxxx":48468,"ãĤ½ãĥĥãĥī":48469,"ĠìĦľë²Ħ":48470,"HIDDEN":48471,"Tangent":48472,"Ġä¸ĭåįĪ":48473,"ısı":48474,"Cake":48475,"latch":48476,"Ġamazon":48477,"Ġbol":48478,"Ġintra":48479,"rique":48480,"Ġvmax":48481,"putate":48482,"ĠRPM":48483,"addFunction":48484,"antro":48485,"acha":48486,"ĠKen":48487,"ResponseStatus":48488,"USART":48489,"fontFamily":48490,"UPP":48491,"Prevent":48492,"zech":48493,"confusion":48494,"ClusterSimulationProtos":48495,"fetcher":48496,"å̼çļĦ":48497,"uento":48498,"Ġmpl":48499,"ÙĬÙĨ":48500,"çĸij":48501,"ifikasi":48502,"Ġfreedom":48503,"Ġparamètre":48504,"CMSG":48505,"bst":48506,"dtypes":48507,"furnished":48508,"Ġtox":48509,"Ġhalt":48510,"portional":48511,"ĠVm":48512,"ALERT":48513,"prest":48514,"ĠKevin":48515,"æĸ¼":48516,"CELER":48517,"lastModified":48518,"Ġverifier":48519,"gitbook":48520,"MAXIMUM":48521,"AXI":48522,"è½´":48523,"PyUnicode":48524,"ARGV":48525,"=[];":48526,"lasse":48527,"ĠÑĥказ":48528,"Ġllam":48529,"Ġempresa":48530,"millimeters":48531,"é±¼":48532,"mnopqrst":48533,"HIG":48534,"dop":48535,"hpi":48536,"âĭ":48537,"resets":48538,"Ġtj":48539,"Ġfq":48540,"Ġmales":48541,"lijk":48542,"ĠCServer":48543,"endis":48544,"ĠPulse":48545,"Ġproposals":48546,"ĠGrow":48547,"Trunc":48548,"epic":48549,"subNav":48550,"diet":48551,"dfn":48552,"ikk":48553,"WithData":48554,"ĠShutdown":48555,"Ġaccesskey":48556,"waypoint":48557,"Ġdocstring":48558,"ĠmethodsFor":48559,"æĸ°ãģĹãģĦ":48560,"Ġsieci":48561,"ÅĽwiet":48562,"Deployments":48563,"bouncycastle":48564,"SPARSE":48565,"ãģ«éĸ¢ãģĻãĤĭ":48566,"KX":48567,"XSS":48568,"xBC":48569,"ĠmCurrent":48570,"getTimestamp":48571,"ĠAval":48572,"ĠDays":48573,"ĠMong":48574,"ourcing":48575,"ĠGRPC":48576,"Ġassemb":48577,"')`":48578,"lowest":48579,"akit":48580,"ĠKi":48581,"ĠcreateTime":48582,"TELE":48583,"ernary":48584,"Ġmetus":48585,"ãĤĴ使":48586,"GridLayout":48587,"ĠSubtract":48588,"JobRequest":48589,"å®ļæĹ¶":48590,"BLT":48591,"Masks":48592,"Ġclouds":48593,"гÑĢ":48594,"ãģĹãģ¾ãģĹãģŁ":48595,"æºIJçłģ":48596,"Ġaliquam":48597,"ĠDirective":48598,"Fitness":48599,"embali":48600,"strHomeaddressLive":48601,"Ġже":48602,"ĠÑģледÑĥÑİ":48603,"/\".$":48604,"Hq":48605,"Sew":48606,"kq":48607,"®":48608,"etree":48609,"orted":48610,"ĠGlyph":48611,"Ġ)\"":48612,"Addition":48613,"({{":48614,"ĠmessageId":48615,"ĠUndeclared":48616,"currentNode":48617,"instancemethod":48618,"bindung":48619,"ĠwriteTo":48620,"Posture":48621,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":48622,"NEON":48623,"Ġlooping":48624,"ĠOSF":48625,"Ġbots":48626,"Ġsynced":48627,"Ġmaintains":48628,"understand":48629,"ásá":48630,"ĠAttributeSet":48631,"ĠëĺIJëĬĶ":48632,"ĠFrancisco":48633,"UENCY":48634,"onav":48635,"Ġfu":48636,"//'":48637,"Ġnobody":48638,"getModule":48639,"ĠMENU":48640,"scrape":48641,"Ġjenv":48642,"boat":48643,"varName":48644,"ibody":48645,"playbook":48646,"ĠKin":48647,"STRI":48648,"twitch":48649,"avenÃŃ":48650,"ĠDecrypt":48651,"POLY":48652,"Ġsatisfies":48653,"ĠìłķìĿĺ":48654,"abyte":48655,"ĠEEPROM":48656,"busybox":48657,"Ġobiekt":48658,".\\\"":48659,"Kz":48660,"Lerp":48661,"nem":48662,"yB":48663,"yj":48664,"Ġrelying":48665,"abile":48666,"ĠCLEAR":48667,"ĠPAL":48668,"allis":48669,"parallax":48670,"ielded":48671,"ĠIncluding":48672,"ATAN":48673,"Ġkt":48674,"DECODE":48675,"GetCustom":48676,"Ġspecular":48677,"StatusPointer":48678,"DISTRIB":48679,"Permiso":48680,"Ġquel":48681,"SHUT":48682,"ĊĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ":48683,"!!}":48684,"\"}]":48685,"влÑı":48686,"ĠgameObject":48687,"PyExc":48688,"ĠARGS":48689,"Converted":48690,"Ġмен":48691,"Ġcapturing":48692,"ĠStreams":48693,"ĠDisplayName":48694,"ĠиÑģполÑĮзÑĥ":48695,"Cors":48696,"Ie":48697,"RHS":48698,"Tow":48699,"TING":48700,"ierr":48701,"keterangan":48702,"meme":48703,"Ġ{}}":48704,"()?.":48705,"getSchema":48706,"ĠCBC":48707,"setDecorated":48708,"ĠDol":48709,"ĠonUpdate":48710,"Ġtraj":48711,"ĠGra":48712,"=''><":48713,"linking":48714,"coreos":48715,"NAM":48716,"DBY":48717,"ApiError":48718,"dicts":48719,"ĠTextBox":48720,"perspective":48721,"ĠÃĦ":48722,"MainMenu":48723,"ìłij":48724,"ĠClause":48725,"Ġcodice":48726,"Promises":48727,"Consumption":48728,"обÑĢаж":48729,"!(\"{}\",":48730,"PAUSE":48731,"ìĽĶ":48732,"apidll":48733,"Ġanalyzed":48734,"RefNanny":48735,"Cj":48736,"Lor":48737,"dust":48738,"sTipo":48739,"vrf":48740,"Ġmute":48741,"()[\"":48742,"TypeMap":48743,"Ġnamemap":48744,"typeNameLink":48745,"SetInput":48746,"Ġoutlined":48747,"='\".$":48748,"ISAM":48749,"NotBlank":48750,"faut":48751,"Ġmargins":48752,"ãĤĴå®Łè¡Į":48753,"Initi":48754,"gamepad":48755,"shortcode":48756,"evil":48757,"SocketChannel":48758,"COMPL":48759,"ĠprogressBar":48760,"GINX":48761,"Ġ''){":48762,"ник":48763,"recipients":48764,"ĠкоÑĤоÑĢÑĭе":48765,"Ġshlwapidll":48766,"Epic":48767,"غ":48768,"staking":48769,"Ġtcs":48770,"geb":48771,"ĠPEP":48772,"ĠDash":48773,"Ġgre":48774,"):\\":48775,"Environments":48776,"Collabor":48777,"Unified":48778,"...>":48779,"Ġimporter":48780,"encial":48781,"Readonly":48782,"Precondition":48783,"fulfilled":48784,"latent":48785,"RemoveAt":48786,"Äįe":48787,"Ġ\"\"){":48788,"Ġinformace":48789,"Ġconflicting":48790,"Measured":48791,"ĠcKVisitor":48792,"èĵĿ":48793,"ADAPTER":48794,"ĠпомоÑīÑĮÑİ":48795,"WQ":48796,"jarg":48797,"jne":48798,"lts":48799,"nus":48800,"tts":48801,"reactions":48802,"ifiz":48803,"ĠSar":48804,"ĠSul":48805,"Ġdeprec":48806,"endix":48807,"setAttr":48808,"Ġenvoy":48809,"ĠThough":48810,"disconnected":48811,"ronos":48812,"?:\\":48813,"PUART":48814,"Ġìŀ¬":48815,"Ġ--------------------------------------------------------------------":48816,"าà¸ĩ":48817,"ÏĦε":48818,"ĠMouseEvent":48819,"ESCAPE":48820,"packagist":48821,"Fis":48822,"Nest":48823,"Pul":48824,"Tape":48825,"jem":48826,"vable":48827,"Ġsó":48828,"ĠSORT":48829,"estrel":48830,"ĠNb":48831,"ĠBor":48832,"defthm":48833,"osten":48834,"StringUtil":48835,"ĠHover":48836,"Ġkü":48837,"ucion":48838,"bypass":48839,"ĠlogMessage":48840,"ĠStaff":48841,"ClientResponse":48842,"Translated":48843,"airport":48844,"Ġwebapp":48845,"arius":48846,"dropDown":48847,"dropna":48848,"cognit":48849,"prevSize":48850,"ĠMonday":48851,"Ġimproves":48852,"Collected":48853,"Ġ-------------------":48854,"èīº":48855,"æİ§åζåύ":48856,"cjÄĻ":48857,"opilot":48858,")}\"":48859,"nA":48860,"vY":48861,"ĠĊĉĠ":48862,"onStart":48863,"Ġreorder":48864,"Ġrealloc":48865,"chastic":48866,"ĠDAL":48867,"irical":48868,"lform":48869,"ĠMASTER":48870,"oidc":48871,"GetId":48872,"TimeIn":48873,"çļĦ代çłģ":48874,"ĠGetLastError":48875,"æľ¨":48876,"evento":48877,"å®Ī":48878,"Interior":48879,"ĠListing":48880,"downcase":48881,"msglen":48882,"ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ":48883,"incubator":48884,"ĠPyQt":48885,"ĠSpin":48886,"peaks":48887,"MixedReality":48888,"\"${":48889,"'')":48890,"+')":48891,"Forgot":48892,"wand":48893,"Ġà¹Ģ":48894,"getEntry":48895,"getInteger":48896,"ĠCookies":48897,"amu":48898,"agri":48899,"ĠMREQ":48900,"Ġ:------":48901,"ĠEQUAL":48902,"-------------------------":48903,"Conversions":48904,"ATS":48905,"appengine":48906,"ĠsetError":48907,"Sea":48908,"MElement":48909,"Ġ**-":48910,"Ġprece":48911,"ĠApplies":48912,"ĠOnPropertyChanged":48913,"Ġnonlinear":48914,"Ġþ":48915,"TFS":48916,"BindingEncoder":48917,"å½ĵçĦ¶":48918,"Ġterminating":48919,"ĠCOMMIT":48920,"Deserialization":48921,"ĠReleased":48922,"ĠPLATFORM":48923,"CUSTOMER":48924,"Ġuzys":48925,"Ġultimately":48926,"Ġseguinte":48927,"Ġspécifi":48928,"Ġseguida":48929,"Có":48930,"HDF":48931,"Nbr":48932,"Rod":48933,"Ress":48934,"reform":48935,"anç":48936,"Ġbail":48937,"ĠTweet":48938,"Ġligne":48939,"ĠDyn":48940,"ĠMad":48941,"並":48942,"ĠQQ":48943,"PointF":48944,"Ġarcu":48945,"Ġrefused":48946,"homeassistant":48947,"Ġâļłï¸ı":48948,"shipment":48949,"ĠÎĶ":48950,"ĊĉĠĠĠĠĊĉĠĠĠ":48951,"Embedding":48952,"æĶ¶éĽĨ":48953,"ĠDISCLAIM":48954,"ĠTEMPLATE":48955,"ê±°ëĤĺ":48956,"Ġgibt":48957,"Rip":48958,"Une":48959,"nss":48960,"unsplash":48961,"Ġafu":48962,"thor":48963,"ĠTZ":48964,"Ġhall":48965,"Recycler":48966,"struts":48967,"Ġlogist":48968,"ignum":48969,"asty":48970,"antor":48971,"itioner":48972,"bui":48973,"ĠsetStatus":48974,"DataStream":48975,"SEM":48976,"çļĦä¸Ģ个":48977,"ĠProvisioning":48978,"Defin":48979,"OrThrow":48980,"SSR":48981,"downloaded":48982,"CreateTable":48983,"ApiVersion":48984,"ĠAsia":48985,"ĠmergeFrom":48986,"Ġeros":48987,"Fixer":48988,"wrapping":48989,"raspberry":48990,"ĠDeclaration":48991,"Eo":48992,"FAB":48993,"Kj":48994,"KILL":48995,"]?.":48996,"bmatrix":48997,"mst":48998,"mur":48999,"xBA":49000,"ĠÙ¾":49001,"stc":49002,"univ":49003,"ubi":49004,"getHours":49005,"Ġ&::":49006,"Produce":49007,"ORA":49008,"jsonrpc":49009,"Noto":49010,"UNSUPPORTED":49011,"ĠChen":49012,"SPORTE":49013,"GRPC":49014,"produto":49015,"Ġweren":49016,"corrected":49017,"iguity":49018,"wantErr":49019,"ìϏ":49020,"BidRequest":49021,"Ġquesta":49022,"BlockingQueue":49023,"Recursion":49024,"Ġviolations":49025,"ãģ«ãģ¤ãģĦãģ¦ãģ¯":49026,"*>&":49027,"Epsilon":49028,"Fax":49029,"Labeled":49030,"]\").":49031,"reb":49032,"decrease":49033,"Ġfires":49034,"entification":49035,"Ġthá»ĥ":49036,"ĠMil":49037,"ĠMIC":49038,"Ġraising":49039,"adda":49040,"ĠHall":49041,"DataTo":49042,"SEEK":49043,"ĠTheory":49044,"bodyParser":49045,"Ġimagem":49046,"ĠQList":49047,"NOC":49048,"mmio":49049,"ypad":49050,"Ġ\"\"},":49051,"æŀļ":49052,"価":49053,"ä¸ĬéĿ¢":49054,"ç¨ĭå¼ı":49055,"ĠObtain":49056,"à´¨":49057,"ĠRemoteException":49058,"ãģłãģij":49059,"----------------------------------------------------------------------===//":49060,"ĠÑģообÑī":49061,"RECEIVE":49062,"ãĥ¼ãĥIJãĥ¼":49063,"psrld":49064,"Vous":49065,"fpr":49066,"lä":49067,"Ġfifty":49068,"unmanaged":49069,"idr":49070,"Ġselecion":49071,"ĠdeÄŁ":49072,"ĠEconom":49073,"Ġexcluding":49074,"buzz":49075,"Seat":49076,"Ġhely":49077,"ĠDeck":49078,"ĠCharge":49079,"ancies":49080,"DBL":49081,"haszn":49082,"cdots":49083,"SPC":49084,"npz":49085,"rootDir":49086,"JsonArray":49087,"mune":49088,"\"}\\":49089,"Structural":49090,"ĠapiClient":49091,"æĭħ":49092,"Ġbuiltins":49093,"Ġpooling":49094,"selections":49095,"акеÑĤ":49096,"Ġmulticast":49097,"Ġpipes":49098,"combinator":49099,"Ġexploration":49100,"ĠPEMER":49101,"GTK":49102,"WPF":49103,"evidence":49104,"hut":49105,"smp":49106,"tB":49107,"}]}":49108,"Ġtense":49109,"ĠCouch":49110,"queness":49111,"Ġconcerning":49112,"ĠNixOS":49113,"scsi":49114,"resolves":49115,"Ġchaque":49116,"Ġunread":49117,"ystack":49118,"Champ":49119,"textView":49120,"ConfigPath":49121,"configuring":49122,"OPC":49123,"Websocket":49124,"Ġscripting":49125,"ĠCODEC":49126,"æ³Ľ":49127,"^^^":49128,"('.');":49129,"PARA":49130,"Ġæĵ":49131,"EditorBrowsable":49132,"rdp":49133,"ĠUNICODE":49134,"符åIJĪ":49135,"æ··":49136,"HLJ":49137,"Ġaplikace":49138,"Ġgroupe":49139,"Ġãĥĩãĥ¼ãĤ¿":49140,"iecutter":49141,"CJ":49142,"JOptionPane":49143,"MDL":49144,"dL":49145,"sliced":49146,"reas":49147,"loot":49148,"mpath":49149,"ĠSIP":49150,"getOptions":49151} \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/pii_inference/netcustom.py b/src/privacy/util/code_detect/ner/pii_inference/netcustom.py new file mode 100644 index 0000000000000000000000000000000000000000..626c8c0f5097e3ca2daded33133417f8fd3e5461 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/netcustom.py @@ -0,0 +1,743 @@ +# from transformers import pipeline + +# classifier = pipeline("token-classification", model = "bigcode/starpii", aggregation_strategy="simple") +# classifier("Hello I'm John and my IP address is 196.780.89.78") + +# from transformers import AutoModelForTokenClassification, AutoTokenizer +# import torch + +# # Load the pre-trained model and tokenizer +# model_name = "bigcode/starpii" +# model = AutoModelForTokenClassification.from_pretrained(model_name) +# tokenizer = AutoTokenizer.from_pretrained(model_name) + +# # Prepare input text +# text = "from transformers import AutoModelForTokenClassification, AutoTokenizer import torch secretkey= cmVnrGtuOjAxOjE3MjEyODUwMjg6M0RrNjVMVGZEaGd6T0RiZ09FR3M5MEV5Tk0z ipadress= 10.83.73.87.84 email= abhi@gmail.com" +# inputs = tokenizer(text, return_tensors="pt") + +# # Perform inference +# with torch.no_grad(): +# outputs = model(**inputs) + +# # Get the predicted labels +# predicted_labels = torch.argmax(outputs.logits, dim=2) +# labels = [model.config.id2label[label_id] for label_id in predicted_labels[0].tolist()] + +# # Print the labels +# print(labels) + +# from transformers import AutoModelForTokenClassification, AutoTokenizer +# import torch + +# # Load the pre-trained model and tokenizer +# model_name = "bigcode/starpii" +# model = AutoModelForTokenClassification.from_pretrained(model_name) +# tokenizer = AutoTokenizer.from_pretrained(model_name) + +# # Prepare input text +# text = "from transformers import AutoModelForTokenClassification, AutoTokenizer import torch secretkey= cmVnrGtuOjAxOjE3MjEyODUwMjg6M0RrNjVMVGZEaGd6T0RiZ09FR3M5MEV5Tk0z ipadress= 10.83.73.87.84 email= abhi@gmail.com" +# inputs = tokenizer(text, return_tensors="pt") + +# # Perform inference +# with torch.no_grad(): +# outputs = model(**inputs) + +# # Get the predicted labels +# predicted_labels = torch.argmax(outputs.logits, dim=2) +# labels = [model.config.id2label[label_id] for label_id in predicted_labels[0].tolist()] + +# # Replace IP address with the label or "IP_ADDRESS" +# output_text = text +# current_ip = "" +# for token, label in zip(inputs["input_ids"][0], labels): +# token_text = tokenizer.decode(token).strip() +# if label == "B-EMAIL": +# current_ip += token_text +# if label == "I-EMAIL": +# current_ip += token_text +# elif current_ip: +# output_text = output_text.replace(current_ip, "EMAILID") +# current_ip = "" + +# print("output text",output_text) + + +## SAVED THE MODEL LOCALLY USING THIS CODE +## USING THIS CODE TEH HUGGINGFACE MODEL IS SAVED LOCALLY AND USED IN BELOW CODE +## FOR TEXT AS WELL AS FILE DETECTION +# from transformers import AutoModelForTokenClassification, AutoTokenizer + +# # Load the pre-trained model and tokenizer +# model_name = "bigcode/starpii" +# model = AutoModelForTokenClassification.from_pretrained(model_name) +# tokenizer = AutoTokenizer.from_pretrained(model_name) + +# # Specify the directory where you want to save the model +# local_model_directory = "./nermodel" + +# # Save the model and tokenizer to the local directory +# model.save_pretrained(local_model_directory) +# tokenizer.save_pretrained(local_model_directory) + +# print(f"Model and tokenizer saved to {local_model_directory}") + +## ABOVE COMMENTED CODE IS FOR REMOVAL!!! + +# NER MODEL DETECTION FOR TEXT +from transformers import AutoModelForTokenClassification, AutoTokenizer +import torch +import os +import autopep8 +import re +class code_detect_ner: + # def textner(text): + # # Load the model and tokenizer from the local directory + # local_model_directory = "privacy/util/code_detect/ner/pii_inference/nermodel" + # model = AutoModelForTokenClassification.from_pretrained(local_model_directory) + # tokenizer = AutoTokenizer.from_pretrained(local_model_directory) + + # # Prepare input text + # inputs = tokenizer(text, return_tensors="pt") + + # # Perform inference + # with torch.no_grad(): + # outputs = model(**inputs) + + # # Get the predicted labels + # predicted_labels = torch.argmax(outputs.logits, dim=2) + # labels = [model.config.id2label[label_id] for label_id in predicted_labels[0].tolist()] + + # # Define a mapping of entity types to placeholders + # entity_mapping = { + # "USERNAME": "", + # "EMAIL": "", + # "IP_ADDRESS": "", + # "KEY": "", + # } + + # # Initialize variables + # redacted_text = "" + # current_entity = None + # last_token_was_special = False + + # # Redact entities in the original text + # for token, label in zip(tokenizer.convert_ids_to_tokens(inputs["input_ids"][0]), labels): + # if token.startswith("Ġ"): + # last_token_was_special = True + # token = token[1:] # Remove the leading "Ġ" character if present + # else: + # last_token_was_special = False + + # if label.startswith("B-"): + # current_entity = label[2:] + # redacted_text += f" {entity_mapping.get(current_entity, current_entity)}" + # elif label.startswith("I-") and current_entity is not None: + # pass # Skip intermediate tokens of the entity + # else: + # current_entity = None + # if last_token_was_special and not token.startswith("Ġ"): + # redacted_text += " " + # redacted_text += token + + # redacted_text = redacted_text.replace("Ġ", "") + # redacted_text = redacted_text.replace("č", "") + # redacted_text = redacted_text.replace("Ċ", "") + # # redacted_text = redacted_text.replace("Ċ", "") + + + + # # Print the redacted text + # print("Redacted Text:", redacted_text.strip()) + # return redacted_text.strip() + + + def textner(text): + # Load the model and tokenizer from the local directory + local_model_directory = "privacy/util/code_detect/ner/pii_inference/nermodel" + model = AutoModelForTokenClassification.from_pretrained(local_model_directory) + tokenizer = AutoTokenizer.from_pretrained(local_model_directory) + print("textNER", text) + + # Prepare input text + inputs = tokenizer(text, return_tensors="pt") + + # Perform inference + with torch.no_grad(): + outputs = model(**inputs) + + # Get the predicted labels + predicted_labels = torch.argmax(outputs.logits, dim=2) + labels = [model.config.id2label[label_id] for label_id in predicted_labels[0].tolist()] + print(predicted_labels,"predicted_labels") + print("labels",labels) + # Define a mapping of entity types to placeholders + entity_mapping = { + "": "", + "": "", + "": "", + "": "", + } + + # Initialize variables + redacted_text = "" + current_entity = None + last_token_was_special = False + + # Redact entities in the original text + for token, label in zip(tokenizer.convert_ids_to_tokens(inputs["input_ids"][0]), labels): + if token.startswith("Ġ"): + last_token_was_special = True + token = token[1:] # Remove the leading "Ġ" character + else: + last_token_was_special = False + + if label.startswith("B-"): + current_entity = label[2:] + redacted_text += f"<{entity_mapping.get(current_entity, current_entity)}>" + elif label.startswith("I-") and current_entity is not None: + pass # Skip intermediate tokens of the entity + else: + current_entity = None + if last_token_was_special and not token.startswith("Ġ"): + redacted_text += " " + redacted_text += token + + # Print the redacted text + #code_detect_ner.filener("privacy/util/code_detect/ner/pii_inference/input_code.java") + redacted_text = redacted_text.replace("Ġ", "") + redacted_text = redacted_text.replace("č", "") + redacted_text = redacted_text.replace("Ċ", "") + print("Redacted Text:", redacted_text.strip()) + return redacted_text + + # def filener(input_code_file): + # ## NER DETECTION FROM FILE BUT FOR BIG CODE!!!!!!!!!!!!!! + # from transformers import AutoModelForTokenClassification, AutoTokenizer + # import torch + + # # Load the model and tokenizer from the local directory + # local_model_directory = "privacy/util/code_detect/ner/pii_inference/nermodel" + # model = AutoModelForTokenClassification.from_pretrained(local_model_directory) + # tokenizer = AutoTokenizer.from_pretrained(local_model_directory, model_max_length=10000) + + # # Specify the input code file + # #input_code_file = "input_code.java" + # # input_code_file = "input.py" + + # # Read the code from the file + # with open(input_code_file, "r", encoding="utf-8") as file: + # code = file.read() + # #code = input_code_file.file.read() + + # # Define a chunk size (adjust as needed) + # chunk_size = 1000 + + # # Initialize the redacted text + # redacted_text = "" + # current_entity = None + # last_token_was_special = False + + # # Split the code into chunks + # code_chunks = [code[i:i + chunk_size] for i in range(0, len(code), chunk_size)] + + # # Process each chunk + # for i, chunk in enumerate(code_chunks): + # # Prepare input text + # inputs = tokenizer(chunk, return_tensors="pt") + + # # Perform inference + # with torch.no_grad(): + # outputs = model(**inputs) + + # # Get the predicted labels + # predicted_labels = torch.argmax(outputs.logits, dim=2) + # labels = [model.config.id2label[label_id] for label_id in predicted_labels[0].tolist()] + + # # Define a mapping of entity types to placeholders + # entity_mapping = { + # "NAME": "", + # "EMAIL": "", + # "IP_ADDRESS": "", + # } + + # # Redact entities in the original text + # for token, label in zip(tokenizer.convert_ids_to_tokens(inputs["input_ids"][0]), labels): + # if token.startswith("Ġ"): + # last_token_was_special = True + # token = token[1:] # Remove the leading "Ġ" character + # else: + # last_token_was_special = False + + # # Add space if the last token was a special token and the current token does not start with "<" + # if last_token_was_special and not token.startswith("<"): + # redacted_text += " " + + # if label.startswith("B-"): + # current_entity = label[2:] + # redacted_text += f"{entity_mapping.get(current_entity, current_entity)}" + # elif label.startswith("I-") and current_entity is not None: + # pass # Skip intermediate tokens of the entity + # else: + # current_entity = None + # redacted_text += token + + # # Split the redacted text into lines and add indentation + # redacted_lines = redacted_text.split("Ċ") + # formatted_redacted_text = "" + # indentation = 0 + + # for line in redacted_lines: + # if "{" in line: + # formatted_redacted_text += " " * indentation + line + "\n" + # indentation += 1 + # elif "}" in line: + # indentation -= 1 + # formatted_redacted_text += " " * indentation + line + "\n" + # else: + # formatted_redacted_text += " " * indentation + line + "\n" + + # # Remove any remaining special characters + # formatted_redacted_text = formatted_redacted_text.replace("Ġ", "") + + # # # Write the redacted code back to the file using UTF-8 encoding + # # output_code_file = "redacted_code.java" + # # with open(output_code_file, "a", encoding="utf-8") as file: + # # file.write(formatted_redacted_text.strip()) + # # Generate the output file name based on the input file name + # output_code_file = os.path.splitext(input_code_file)[0] + "_redacted" + os.path.splitext(input_code_file)[1] + + # # Write the redacted code back to the file using UTF-8 encoding + # with open(output_code_file, "w", encoding="utf-8") as file: + # file.write(formatted_redacted_text.strip()) + # # Delete the temporary input code file + # os.remove(input_code_file) + # # Print the final redacted text + # print("Redacted Text:", formatted_redacted_text.strip()) + # return output_code_file + + + + + + # def filener(code_content, filename): + # # Load the model and tokenizer from the local directory + # local_model_directory = "privacy/util/code_detect/ner/pii_inference/nermodel" + # model = AutoModelForTokenClassification.from_pretrained(local_model_directory) + # tokenizer = AutoTokenizer.from_pretrained(local_model_directory, model_max_length=10000) + + # # Define a chunk size (adjust as needed) + # chunk_size = 1000 + + # # Initialize the redacted text + # redacted_text = "" + # current_entity = None + # last_token_was_special = False + + # # Split the code into chunks + # code_chunks = [code_content[i:i + chunk_size] for i in range(0, len(code_content), chunk_size)] + + # # Process each chunk + # for i, chunk in enumerate(code_chunks): + # # Prepare input text + # chunk_str = chunk.decode("utf-8") + # inputs = tokenizer(chunk_str, return_tensors="pt") + + # # Perform inference + # with torch.no_grad(): + # outputs = model(**inputs) + + # # Get the predicted labels + # predicted_labels = torch.argmax(outputs.logits, dim=2) + # labels = [model.config.id2label[label_id] for label_id in predicted_labels[0].tolist()] + + # # Define a mapping of entity types to placeholders + # entity_mapping = { + # "NAME": "", + # "EMAIL": "", + # "IP_ADDRESS": "", + # } + + # # Redact entities in the original text + # for token, label in zip(tokenizer.convert_ids_to_tokens(inputs["input_ids"][0]), labels): + # if token.startswith("Ġ"): + # last_token_was_special = True + # token = token[1:] # Remove the leading "Ġ" character + # else: + # last_token_was_special = False + + # # Add space if the last token was a special token and the current token does not start with "<" + # if last_token_was_special and not token.startswith("<"): + # redacted_text += " " + + # if label.startswith("B-"): + # current_entity = label[2:] + # redacted_text += f"{entity_mapping.get(current_entity, current_entity)}" + # elif label.startswith("I-") and current_entity is not None: + # pass # Skip intermediate tokens of the entity + # else: + # current_entity = None + # redacted_text += token + + # # Split the redacted text into lines and add indentation + # redacted_lines = redacted_text.split("Ċ") + # formatted_redacted_text = "" + # indentation = 0 + + # for line in redacted_lines: + # if "{" in line: + # formatted_redacted_text += " " * indentation + line + "\n" + # indentation += 1 + # elif "}" in line: + # indentation -= 1 + # formatted_redacted_text += " " * indentation + line + "\n" + # else: + # formatted_redacted_text += " " * indentation + line + "\n" + + # # Remove any remaining special characters + # formatted_redacted_text = formatted_redacted_text.replace("Ġ", "") + # formatted_redacted_text = formatted_redacted_text.replace("č", "") + # print("formatted_redacted_text",formatted_redacted_text) + # # Generate the output file name based on the input file name + # output_code_file = os.path.splitext(filename)[0] + "_redacted" + os.path.splitext(filename)[1] + + # # Write the redacted code back to the file using UTF-8 encoding + # with open(output_code_file, "w", encoding="utf-8") as file: + # file.write(formatted_redacted_text.strip()) + + # # Return the redacted text and the output code file name + # return formatted_redacted_text.strip().encode("utf-8"), output_code_file + + + + + # def filener(code_content, filename): + # # Load the model and tokenizer from the local directory + # local_model_directory = "privacy/util/code_detect/ner/pii_inference/nermodel" + # model = AutoModelForTokenClassification.from_pretrained(local_model_directory) + # tokenizer = AutoTokenizer.from_pretrained(local_model_directory, model_max_length=10000) + + # # Define a chunk size (adjust as needed) + # chunk_size = 1000 + + # # Initialize the redacted text + # redacted_text = "" + # current_entity = None + # last_token_was_special = False + + # # Split the code into chunks + # code_chunks = [code_content[i:i + chunk_size] for i in range(0, len(code_content), chunk_size)] + + # # Process each chunk + # for i, chunk in enumerate(code_chunks): + # # Prepare input text + # chunk_str = chunk.decode("utf-8") + # inputs = tokenizer(chunk_str, return_tensors="pt") + + # # Perform inference + # with torch.no_grad(): + # outputs = model(**inputs) + + # # Get the predicted labels + # predicted_labels = torch.argmax(outputs.logits, dim=2) + # labels = [model.config.id2label[label_id] for label_id in predicted_labels[0].tolist()] + + # # Define a mapping of entity types to placeholders + # entity_mapping = { + # "NAME": "", + # "EMAIL": "", + # "IP_ADDRESS": "" + # } + + # # Redact entities in the original text + # for token, label in zip(tokenizer.convert_ids_to_tokens(inputs["input_ids"][0]), labels): + # if token.startswith("Ġ"): + # last_token_was_special = True + # token = token[1:] # Remove the leading "Ġ" character + # else: + # last_token_was_special = False + + # # Add space if the last token was a special token and the current token does not start with "<" + # if last_token_was_special and not token.startswith("<"): + # redacted_text += " " + + # if label.startswith("B-"): + # current_entity = label[2:] + # redacted_text += f"{entity_mapping.get(current_entity, current_entity)}" + # elif label.startswith("I-") and current_entity is not None: + # pass # Skip intermediate tokens of the entity + # else: + # current_entity = None + # redacted_text += token + + # # Split the redacted text into lines and add indentation + # redacted_lines = redacted_text.split("Ċ") + # formatted_redacted_text = "" + # indentation = 0 + + # for line in redacted_lines: + # line = line.strip() + + # if line.startswith(" "): + # formatted_line = " " * indentation + line + "\n" + # elif line.startswith("#"): + # formatted_line = " " * indentation + line + "\n" + # else: + # formatted_line = line + "\n" + + # # Adjust indentation based on braces + # if "{" in line: + # indentation += 1 + # elif "}" in line: + # indentation = max(0, indentation - 1) + + # formatted_redacted_text += formatted_line + + # # Remove any remaining special characters + # formatted_redacted_text = formatted_redacted_text.replace("Ġ", "") + # formatted_redacted_text = formatted_redacted_text.replace("č", "") + + # # Generate the output file name based on the input file name + # output_code_file = os.path.splitext(filename)[0] + "_redacted" + os.path.splitext(filename)[1] + + # # Write the formatted redacted code back to the file using UTF-8 encoding + # with open(output_code_file, "w", encoding="utf-8") as file: + # file.write(formatted_redacted_text.strip()) + + # # Use autopep8 to format the code in-place + # with open(output_code_file, "r", encoding="utf-8") as file: + # code_content = file.read() + + # formatted_code = autopep8.fix_code( + # code_content, + # options={ + # 'aggressive': 1, + # 'max_line_length': 120, # Adjust this based on your desired line length + # } + # ) + + # # Write the formatted code back + # with open(output_code_file, "w", encoding="utf-8") as file: + # file.write(formatted_code) + + # print("FORMCODE","\n",formatted_code) + # # Return the redacted text and the output code file name + # return formatted_code.encode("utf-8"), output_code_file + + def filener(code_content, filename,model,tokenizer): + # Load the model and tokenizer from the local directory + # local_model_directory = "privacy/util/code_detect/ner/pii_inference/nermodel" + # model = AutoModelForTokenClassification.from_pretrained(local_model_directory) + # tokenizer = AutoTokenizer.from_pretrained(local_model_directory, model_max_length=10000) + + # Define a chunk size (adjust as needed) + chunk_size = 1000 + # Initialize the redacted text + redacted_text = "" + current_entity = None + last_token_was_special = False + + # Split the code into chunks + code_chunks = [code_content[i:i + chunk_size] for i in range(0, len(code_content), chunk_size)] + + # Process each chunk + for i, chunk in enumerate(code_chunks): + # Prepare input text + chunk_str = chunk.decode("utf-8") + inputs = tokenizer(chunk_str, return_tensors="pt") + + # Perform inference + with torch.no_grad(): + outputs = model(**inputs) + + # Get the predicted labels + predicted_labels = torch.argmax(outputs.logits, dim=2) + labels = [model.config.id2label[label_id] for label_id in predicted_labels[0].tolist()] + # Define a mapping of entity types to placeholders + entity_mapping = { + "USERNAME": "", + "EMAIL": "", + "IP_ADDRESS": "", + "KEY": "", + "NAME": "" + } + + # Redact entities in the original text + for token, label in zip(tokenizer.convert_ids_to_tokens(inputs["input_ids"][0]), labels): + if token.startswith("Ġ"): + last_token_was_special = True + token = token[1:] # Remove the leading "Ġ" character + else: + last_token_was_special = False + + # Add space if the last token was a special token and the current token does not start with "<" + if last_token_was_special and not token.startswith("<"): + redacted_text += " " + + if label.startswith("B-"): + current_entity = label[2:] + redacted_text += f"{entity_mapping.get(current_entity, current_entity)}" + elif label.startswith("I-") and current_entity is not None: + pass # Skip intermediate tokens of the entity + else: + current_entity = None + redacted_text += token + + # Split the redacted text into lines and add indentation + redacted_lines = redacted_text.split("Ċ") + formatted_redacted_text = "" + indentation = 0 + + for line in redacted_lines: + print("line--",line +"\n") + line = line.strip() + + if line.startswith(" "): + formatted_line = " " * indentation + line + "\n" + elif line.startswith('Ġ'): + formatted_line = " " + line + "\n" + elif line.startswith('ĉ'): + formatted_line = " " + line + "\n" + elif line.startswith("#"): + formatted_line = " " * indentation + line + "\n" + else: + formatted_line = " " + line + "\n" + print("--formatted line--",formatted_line) + # Adjust indentation based on braces + if "{" in line: + indentation += 1 + elif "}" in line: + indentation = max(0, indentation - 1) + + # Check if the line ends with a colon, indicating the start of a block + if line.endswith(":"): + indentation += 1 + + formatted_redacted_text += formatted_line + # Remove any remaining special characters + + formatted_redacted_text = formatted_redacted_text.replace("Ġ", " ") + print("to be removed chars--",formatted_redacted_text) + + formatted_redacted_text = formatted_redacted_text.replace("č", " ") + formatted_redacted_text = formatted_redacted_text.replace("ĉ", " ") + redacted_text = formatted_redacted_text.replace("Ċ", " ") + #print("formatted text",formatted_redacted_text) + # Generate the output file name based on the input file name + output_code_file = os.path.splitext(filename)[0] + "_redacted" + os.path.splitext(filename)[1] + + # Write the formatted redacted code back to the file using UTF-8 encoding + with open(output_code_file, "w", encoding="utf-8") as file: + file.write(formatted_redacted_text.strip()) + + # Use autopep8 to format the code in-place + with open(output_code_file, "r", encoding="utf-8") as file: + code_content = file.read() + + formatted_code = autopep8.fix_code( + code_content, + options={ + 'aggressive': 1, + 'max_line_length': 120, # Adjust this based on your desired line length + } + ) + + # Write the formatted code back + with open(output_code_file, "w", encoding="utf-8") as file: + file.write(formatted_code) + # print("FORMATTED CODE","\n", formatted_code) + # Return the redacted text and the output code file name + return formatted_code.encode("utf-8"), output_code_file + + + + +## FOR FILE WORKING +# from transformers import AutoModelForTokenClassification, AutoTokenizer +# import torch + +# # Load the model and tokenizer from the local directory +# local_model_directory = "./nermodel" +# model = AutoModelForTokenClassification.from_pretrained(local_model_directory) +# tokenizer = AutoTokenizer.from_pretrained(local_model_directory,model_max_length=10000) + +# # Specify the input code file +# input_code_file = "input_code.java" +# #input_code_file = "input.py" +# # Read the code from the file +# with open(input_code_file, "r", encoding="utf-8") as file: +# code = file.read() + +# # Prepare input text +# inputs = tokenizer(code, return_tensors="pt") +# # print("INPUT IDS",inputs["input_ids"].shape) +# # print("MODEL CONFIG",model.config) +# # print("TOKENIZER",tokenizer) +# # Perform inference +# with torch.no_grad(): +# outputs = model(**inputs) + +# # Get the predicted labels +# predicted_labels = torch.argmax(outputs.logits, dim=2) +# labels = [model.config.id2label[label_id] for label_id in predicted_labels[0].tolist()] + +# # Define a mapping of entity types to placeholders +# entity_mapping = { +# "NAME": "", +# "EMAIL": "", +# "IP_ADDRESS": "", +# } + +# # Initialize variables +# redacted_text = "" +# current_entity = None +# last_token_was_special = False + +# # Redact entities in the original text +# for token, label in zip(tokenizer.convert_ids_to_tokens(inputs["input_ids"][0]), labels): +# if token.startswith("Ġ"): +# last_token_was_special = True +# token = token[1:] # Remove the leading "Ġ" character +# else: +# last_token_was_special = False + +# # Add space if the last token was a special token and the current token does not start with "<" +# if last_token_was_special and not token.startswith("<"): +# redacted_text += " " + +# if label.startswith("B-"): +# current_entity = label[2:] +# redacted_text += f"{entity_mapping.get(current_entity, current_entity)}" +# elif label.startswith("I-") and current_entity is not None: +# pass # Skip intermediate tokens of the entity +# else: +# current_entity = None +# redacted_text += token + + +# # Split the redacted text into lines and add indentation +# redacted_lines = redacted_text.split("Ċ") +# formatted_redacted_text = "" +# indentation = 0 + +# for line in redacted_lines: +# if "{" in line: +# formatted_redacted_text += " " * indentation + line + "\n" +# indentation += 1 +# elif "}" in line: +# indentation -= 1 +# formatted_redacted_text += " " * indentation + line + "\n" +# else: +# formatted_redacted_text += " " * indentation + line + "\n" + +# # Remove any remaining special characters +# formatted_redacted_text = formatted_redacted_text.replace("Ġ", "") + +# # Write the redacted code back to the file using UTF-8 encoding +# output_code_file = "redacted_code.java" +# #output_code_file = "x.py" +# with open(output_code_file, "w", encoding="utf-8") as file: +# file.write(formatted_redacted_text.strip()) + +# # Print the redacted text +# print("Redacted Text:", formatted_redacted_text.strip()) + diff --git a/src/privacy/util/code_detect/ner/pii_inference/notebooks/Filter labeled-python-data-pii-detection.ipynb b/src/privacy/util/code_detect/ner/pii_inference/notebooks/Filter labeled-python-data-pii-detection.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..24660b4bcc7698696b7f11571b5a379be3fe052f --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/notebooks/Filter labeled-python-data-pii-detection.ipynb @@ -0,0 +1,4731 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Filter predictions from `bigcode/pseudo-labeled-python-data-pii-detection` to create dataset for pretraining" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from datasets import load_dataset, load_metric, Dataset, DatasetDict, load_from_disk\n", + "from huggingface_hub import notebook_login\n", + "import json\n", + "import numpy as np\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "from collections import Counter, defaultdict\n", + "import itertools\n", + "from tqdm.notebook import tqdm\n", + "sns.set_style()\n", + "sns.set_theme()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "TAG_TRIGGER_WORDS = {\n", + " 'PASSWORD':['auth','password','passphrase','passwd','pass','pwd', 'token'],\n", + " 'KEY': ['access', 'accesskey', 'accesstoken', 'account', 'api', 'apikey',\n", + " 'apisecret', 'apitoken', 'auth', 'authcode', 'authorization', 'bitcoin',\n", + " 'eth', 'hidden', 'iamauthenticator', 'keid', 'key', 'ledger', 'private',\n", + " 'pub', 'public', 'secret','sec', 'token', 'verification'],\n", + " 'NAME': ['author','copyright', 'created', 'createdby', 'edited', 'editedby', 'editor',\n", + " 'maintainer', 'modified', 'modifiedby', 'name', 'requested','requestedby',\n", + " 'todo', 'user', 'written', 'writtenby'],\n", + " 'USERNAME' : ['author', 'editor', 'facebook', 'github', 'linkedin', 'login',\n", + " 'maintainer', 'todo', 'twitter', 'user', 'username']\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "from spacy import displacy\n", + "import numpy as np\n", + "from scipy.special import softmax\n", + "from transformers import AutoModelForTokenClassification, AutoTokenizer\n", + "import re\n", + "from seqeval.metrics.sequence_labeling import get_entities\n", + "from spacy import displacy\n", + "import spacy\n", + "import string\n", + "from nltk import RegexpTokenizer\n", + "from collections import defaultdict\n", + "\n", + "\n", + "regtok = RegexpTokenizer(r'[\\w+\\.\\-]+|[\\S+]')\n", + "\n", + "def map_spans(new_spans, old_spans):\n", + " new_cursor = enumerate(span[-1] for span in new_spans)\n", + " old_cursor = enumerate(span[-1] for span in old_spans)\n", + "\n", + " i,j = 0, 0\n", + " curr_new = curr_old = (0,0)\n", + " mapping = defaultdict(list)\n", + "\n", + " while (j < len(new_spans)) or (i < len(old_spans)):\n", + "\n", + " if curr_new < curr_old:\n", + " try:\n", + " j, curr_new = next(new_cursor)\n", + " except StopIteration:\n", + " j = len(new_spans)\n", + " elif curr_new > curr_old:\n", + " try:\n", + " i, curr_old = next(old_cursor)\n", + " except StopIteration:\n", + " i = len(old_spans)\n", + " else:\n", + " try:\n", + " j, curr_new = next(new_cursor)\n", + " except StopIteration:\n", + " j = len(new_spans)\n", + "\n", + " try:\n", + " i, curr_old = next(old_cursor)\n", + " except StopIteration:\n", + " i = len(old_spans)\n", + "\n", + " if (j < len(new_spans)) and (i < len(old_spans)):\n", + " mapping[j].append(i)\n", + " \n", + " return mapping\n", + " \n", + " \n", + "def remap_logits(new_spans, old_spans, old_logits):\n", + " mapping = map_spans(new_spans, old_spans)\n", + " mapping_iter = [mapping[i] for i in range(len(mapping))]\n", + " new_logits = [np.mean([old_logits[j] for j in indices], axis=0) for indices in mapping_iter]\n", + " return np.array(new_logits)\n", + "\n", + "def retokenize_with_probas(example):\n", + " new_example = dict(**example)\n", + " new_spans = list(regtok.span_tokenize(example['content']))\n", + " new_example.update(offset_mapping=new_spans,\n", + " pred=remap_logits(new_spans, new_example.pop('offset_mapping'), new_example['pred']))\n", + " return new_example\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "dataset = load_dataset('bigcode/pseudo-labeled-python-data-pii-detection', use_auth_token=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-3614250cff452193.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-99f4e19d3d391ae2.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-1df9c1861348df58.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-15c3313606f25502.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-8140acec6d863c66.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-64909e7711f638a7.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-b7fca41ce6db4148.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-719439d479ffbaa4.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-2166d08b5d6eda33.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-30008e0c10019fee.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-d381b3fb70da4a12.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-b6df92f4897de9b2.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-5115453a6171db62.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-7751c278e45018d0.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-1ecc9231784b8b49.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-7422e2bbf368894f.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-effbb4b62dfc39a7.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-3f9b32e43979b60d.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-8998a57fd60954e7.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-482660f039f77db5.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-023a1c4e48545600.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-e2a305b62ddee191.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-3f870f098db56663.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-03336e407e8393af.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-f532df5fb9612086.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-d4871f059aed2ba2.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-024aca23ff81c3d6.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-14bd044faee7965b.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-f4fcd10936b1750c.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-7a11346fd44322c9.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-a3067570fb6c0430.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-c5361c06d6c51d00.arrow\n" + ] + } + ], + "source": [ + "dataset = dataset.map(lambda x: dict(predicted_pii=json.loads(x['predicted_pii'])), num_proc=16)\n", + "dataset = dataset.map(lambda x: dict(pii=json.loads(x['secrets'])), num_proc=16)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def check_triggers_in_prefix(entity, content, trigger_words):\n", + " prefix = content[max(entity['start']-100,0):entity['start']]\n", + " prefix = prefix.split('\\n')[-1]\n", + " prefix = re.sub('[\\s\\'\":=(){}\\[\\]_/]','',prefix).lower()\n", + "\n", + " get_distance = lambda prefix, word: (len(prefix) - (prefix.find(word)+len(word))) if prefix.find(word) > -1 else 100\n", + " distance = min([get_distance(prefix, w) for w in trigger_words])\n", + " return distance\n", + "\n", + "\n", + "def correct_mislabeling(entry):\n", + " content, predicted_pii = entry['content'], entry['predicted_pii']\n", + "\n", + " for entity in predicted_pii:\n", + " if entity['tag'] in ['PASSWORD','KEY']:\n", + " pwd_score = check_triggers_in_prefix(entity, content, TAG_TRIGGER_WORDS['PASSWORD']) \n", + " key_score = check_triggers_in_prefix(entity, content, TAG_TRIGGER_WORDS['KEY'])\n", + " entity['tag'] = 'PASSWORD' if pwd_score <= key_score else 'KEY'\n", + " \n", + " return dict(predicted_pii=predicted_pii)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-7cdb7e8ce7a404fe.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-ff4d4707114bb939.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-80610a87a821bd53.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-2ebcbfb14d9b7716.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-bfb9ec2e7c1f3469.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-d347bbcd22a81b29.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-56d3e2eeef744327.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-3f9ddf5ffbcc76f8.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-ce241df78bc855fb.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-ffed85c56749d1db.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-b770c219cc15f613.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-c227c98c8db1f8fc.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-915a7ae0e9adfc17.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-6a590e02cfbc6581.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-b15754b0c4e30a7c.arrow\n", + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-0c0720938fe202ec.arrow\n" + ] + } + ], + "source": [ + "dataset = dataset.map(correct_mislabeling, num_proc=16)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "def label_by_triggers(entry, max_char_offset = 5):\n", + " content, predicted_pii = entry['content'], entry['predicted_pii']\n", + "\n", + " for entity in predicted_pii:\n", + " if entity['tag'] in TAG_TRIGGER_WORDS:\n", + " if check_triggers_in_prefix(entity, content, TAG_TRIGGER_WORDS[entity['tag']]) <= max_char_offset:\n", + " entity['label'] = 'GOOD'\n", + " \n", + " return dict(predicted_pii=predicted_pii)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-90f2e8b74aa6230f.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-f89566d086fef8fe.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-4f66579cf4c9e624.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-0aef2ed0278a6f90.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-06cfc58ef0b1747e.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-565448bdf2b282ab.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-92a2842b56b86064.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-6c1854a35726ba55.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-563095e0aaf1d229.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-27e73afc931045fc.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-90dcda8a451b3d3d.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-aab69261da9641e5.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-77222caecea65c23.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-ff1e346bafc2eb74.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-e450e6d8456d3c95.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-3761558327b34872.arrow\n" + ] + } + ], + "source": [ + "dataset = dataset.map(label_by_triggers, num_proc=16)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-839438f37e374a4c.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-1f7cd8a0a51f5b3b.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-83dcd939b80d3a10.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-b3433b7c046a5ae6.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-5adf588fe059a1cd.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-9b5e215dae569f53.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-427ffafa60185f4f.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-33c958119ab415dc.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-6de61423f214554e.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-058daeb320c915f4.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-c7a582b43a9c9495.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-041c2c89a6b04e79.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-241421932e96cc14.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-3e1e3735fc376f42.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-cbee6e170dbfa5ac.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-61030ff82e818a7a.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-b65cb9e068b8fd4b.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-2cbf182475ebf69e.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-7868b72fc939a9c3.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-a7f018f730a48751.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-6e49ee6bfd97ae07.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-5d6bf312b3e20f95.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-caaccf6e73f153f0.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-c43dcf3f75717dcb.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-8e278125ee67d3d4.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-0e671802d3d1643d.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-c48ed5318ce4e282.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-a3767841889dc615.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-20bb0d6bd8257997.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-5507a5191688df97.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-fdd339b8fb6c32fd.arrow\n", + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-8062a300bd1cdcc9.arrow\n" + ] + } + ], + "source": [ + "thresholds_for_good = {\n", + " \"PASSWORD\":1.0,\n", + " \"KEY\":1.0,\n", + " \"NAME\":0.7,\n", + " \"USERNAME\":0.7,\n", + " \"EMAIL\":0.9,\n", + " \"IP_ADDRESS\":1.0,\n", + " 'AMBIGUOUS':1.0,\n", + "}\n", + "\n", + "thresholds_for_bad ={\n", + " \"PASSWORD\":0.0,\n", + " \"KEY\":0.0,\n", + " \"NAME\":0.6,\n", + " \"USERNAME\": 0.61,\n", + " \"EMAIL\":0.0,\n", + " \"IP_ADDRESS\":0.0,\n", + " \"AMBIGUOUS\":0.0,\n", + "}\n", + "\n", + "def threshold_good(entry):\n", + " predicted_pii = entry['predicted_pii']\n", + " for entity in predicted_pii:\n", + " entity['label'] = \"GOOD\" if thresholds_for_good[entity['tag']] <= entity['confidence'] else entity['label']\n", + " return dict(predicted_pii=predicted_pii)\n", + " \n", + " \n", + "def threshold_bad(entry):\n", + " predicted_pii = entry['predicted_pii']\n", + " for entity in predicted_pii:\n", + " if entity['label']!='GOOD':\n", + " entity['label'] = \"BAD\" if thresholds_for_bad[entity['tag']] > entity['confidence'] else entity['label']\n", + " return dict(predicted_pii=predicted_pii)\n", + " \n", + "\n", + "dataset = dataset.map(threshold_good, num_proc=16) \n", + "dataset = dataset.map(threshold_bad, num_proc=16) " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-1028021f2dc9f9e8.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-ec297d103aeab537.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-7191ce9401b7146b.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-a93ac2d90445f41b.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-c42d421b0c02b5f5.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-e4de146397322288.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-082f9244aa0270a9.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-7cc2b62d4ee9e688.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-ec246bec4a761891.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-d28e74c3a5eb7f1a.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-f6e261fb03da8c3b.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-c3988f638a96f1be.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-0fef6571aab8ada4.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-d74c4af36b58c17e.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-02afaf299f39527e.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-8f3dc526b6ed6601.arrow\n" + ] + } + ], + "source": [ + "# Discard wrongly detected KEY and PASSWORD\n", + "\n", + "filtered_dataset = dataset.map(lambda x: dict(\n", + " predicted_pii=[e for e in x['predicted_pii'] \\\n", + " if (e['tag'] not in ['KEY','PASSWORD','IP_ADDRESS','EMAIL']) or (e['label'] == 'GOOD')]\n", + " ), num_proc=16)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00000_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00001_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00002_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00003_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00004_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00005_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00006_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00007_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00008_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00009_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00010_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00011_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00012_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00013_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00014_of_00016.arrow\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/ensemble-labeled-python-data-pii-detection-final/cache-baad9bfb48b36f31_00015_of_00016.arrow\n" + ] + }, + { + "data": { + "text/plain": [ + "Dataset({\n", + " features: ['lang', 'content', 'secrets', 'id', 'predicted_pii', 'pii'],\n", + " num_rows: 37985\n", + "})" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "filtered_dataset = filtered_dataset.filter(lambda x: not any([e['label']=='BAD' for e in x['predicted_pii']]), num_proc=16)\n", + "filtered_dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "def _is_in(border, span):\n", + " return min(*span) <= border < max(*span)\n", + "\n", + "def is_overlap(span, reference_span):\n", + " return _is_in(min(*span), reference_span) or \\\n", + " _is_in(max(*span), reference_span) or \\\n", + " _is_in(min(*reference_span), span) or \\\n", + " _is_in(min(*reference_span), span) \n", + " \n", + " \n", + "def _exclude_overlaps(spans, ref_spans):\n", + " return [span for span in spans if not any([is_overlap(span, ref) for ref in ref_spans])]\n", + "\n", + "\n", + "def merge_predicted_to_pii(entry):\n", + " pii = entry['pii']\n", + " pii_spans = [(e['start'], e['end']) for e in pii]\n", + " predicted_pii=[ent for ent in entry['predicted_pii']\n", + " if not any([is_overlap((ent['start'],ent['end']), ref) for ref in pii_spans])]\n", + " \n", + " for e in pii:\n", + " e['detected_by'] = 'regex'\n", + " e['confidence'] = 1.0\n", + " for e in predicted_pii:\n", + " e['detected_by'] = 'model'\n", + " e.pop('label')\n", + " \n", + " return dict(pii = pii + predicted_pii)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " " + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9a255ae5e67c47168fbe0de263c4f761", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "#0: 0%| | 0/2375 [00:00
Copy a token from your Hugging Face\ntokens page and paste it below.
Immediately click login after copying\nyour token or it might be stored in plain text in this notebook file. " + } + }, + "5a0871be46944d6d857bf3da82bd2f85": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5abe0708ef614c7caa0f6faa10490c4b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "652a34f18e914d56b44a52844ac56f4d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6aa51965e96a48a4b73a0ae53b8e9b66": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e7d7757a758348f898a4d308695ebed7", + "placeholder": "​", + "style": "IPY_MODEL_f01c225a559f443593a0989fa78fc6cb", + "value": "Upload 1 LFS files: 100%" + } + }, + "6ead92dda89645149a5e0a7e4060bcb7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "71c2b430b94b4639bc8468c202801cca": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_74eb9205486944f7aa86db8bf940f992", + "placeholder": "​", + "style": "IPY_MODEL_4370dc13ce0a4e06b542a0b5efdbfc2c", + "value": " 0/1 [00:00<?, ?ba/s]" + } + }, + "71ce1ca715534844b501ad8c71f32091": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d5b2c76f54ae4bb78985ad253373408d", + "placeholder": "​", + "style": "IPY_MODEL_2b92ad4cafa549a4810f212976074d25", + "value": "Creating parquet from Arrow format: 100%" + } + }, + "72d64b7afb5147c5aad0416674520849": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "74eb9205486944f7aa86db8bf940f992": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "74fdd4d677294768bb63225cb4684b6d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "77a18f9c759040478fe8bc2e8abd85e3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "785502d8755f43cea3da690322f26d0d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "87a5cfe6903342b98a1ca8b8ef30f513": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_146394c42e1b4dc681bf49aa671aa3f8", + "IPY_MODEL_ad920a4cce8a4aabbbc55308c9fd7d44", + "IPY_MODEL_39505a7df3db43a89322df20f3fe4d8d" + ], + "layout": "IPY_MODEL_21cea385816e4179be0642f01bc58877" + } + }, + "8a0a661799814f809a84131c767dfda2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9491e625e9604427a640b5aa11e67745": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e0c423cb57e949f08255453100fd3e69", + "placeholder": "​", + "style": "IPY_MODEL_3bf5b65c1c9a4ce0be50e3e2fce60c87", + "value": " 1/1 [00:00<00:00, 54.85it/s]" + } + }, + "9c872cf485ad4ae8b8359c33f7c3ea65": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_72d64b7afb5147c5aad0416674520849", + "placeholder": "​", + "style": "IPY_MODEL_173b4df1dad44cec83270befa7392b1e", + "value": "100%" + } + }, + "a038ccac0d4748f0a4ff8dcd990bb7a3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a1e4b90f504e4c59ac795f8a3a6553d2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a667e03927f748ba9db38ddd77ed17b8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": "center", + "align_self": null, + "border": null, + "bottom": null, + "display": "flex", + "flex": null, + "flex_flow": "column", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "50%" + } + }, + "aa0798372ed149a18994104d7f9a3d97": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ad67045339e340a0a831369fef5bcdcf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ad920a4cce8a4aabbbc55308c9fd7d44": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_652a34f18e914d56b44a52844ac56f4d", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_74fdd4d677294768bb63225cb4684b6d", + "value": 1 + } + }, + "af2a6221808f40b4813a158e3ae91559": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b49b0dd4ac514e6b80caa2932b5d222d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b4a6bd56fccd47c88d23426c5da96930": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c2381c3d3724434c9e0299a5be8cbc22": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_daed6024f35146d9b0f1ad959e6f284e", + "IPY_MODEL_c8201ec977bd42238b3575fcb1e37450", + "IPY_MODEL_71c2b430b94b4639bc8468c202801cca" + ], + "layout": "IPY_MODEL_b4a6bd56fccd47c88d23426c5da96930" + } + }, + "c3ad5d149e0047628c3e0aefd29c7460": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "PasswordModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "PasswordModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "PasswordView", + "continuous_update": true, + "description": "Token:", + "description_tooltip": null, + "disabled": false, + "layout": "IPY_MODEL_5a0871be46944d6d857bf3da82bd2f85", + "placeholder": "​", + "style": "IPY_MODEL_6ead92dda89645149a5e0a7e4060bcb7", + "value": "" + } + }, + "c42b4b6b36944f34b0cd0027c90bc968": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c8201ec977bd42238b3575fcb1e37450": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "danger", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d2a4ecba9b364f91af3b5d13df9a7390", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_785502d8755f43cea3da690322f26d0d", + "value": 0 + } + }, + "cc05745cc3f6421f84af9a1f492bbea2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d2a4ecba9b364f91af3b5d13df9a7390": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d5b2c76f54ae4bb78985ad253373408d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d5b3dc1fa6c743e7b1e05a091c22b270": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_aa0798372ed149a18994104d7f9a3d97", + "placeholder": "​", + "style": "IPY_MODEL_3ab74c3f04634c16b24630f9b6d1798c", + "value": "\nPro Tip: If you don't already have one, you can create a dedicated\n'notebooks' token with 'write' access, that you can then easily reuse for all\nnotebooks. " + } + }, + "d72eb7bedd624133ac08ccb510ce901a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_1a5849c19ac44c5cb37de2bc04f8a8f6", + "placeholder": "​", + "style": "IPY_MODEL_a1e4b90f504e4c59ac795f8a3a6553d2", + "value": " 1/1 [00:02<00:00, 2.53s/it]" + } + }, + "da7804c13630441fbad5098822d99052": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ad67045339e340a0a831369fef5bcdcf", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_43d93313aaad4d7aa1ac513b8d69300c", + "value": 1 + } + }, + "daed6024f35146d9b0f1ad959e6f284e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4d8836ba902043358883ac3729ad621a", + "placeholder": "​", + "style": "IPY_MODEL_008ca4ebe46d48cb989e97aab9529604", + "value": " 0%" + } + }, + "e0c423cb57e949f08255453100fd3e69": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e7d7757a758348f898a4d308695ebed7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e8c5889da2b847f6ac1512ab06bdd281": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ed568e897d1c4b7a9eb2c9e69997d29b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ButtonStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "button_color": null, + "font_weight": "" + } + }, + "f01c225a559f443593a0989fa78fc6cb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f4bdbfe4a65c428bbcbb95a9dc4c6356": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f919b355bcd344059b9161e6fac7cbac": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/src/privacy/util/code_detect/ner/pii_inference/notebooks/Finetune DeBERTa-v3-base on pii-for-code.ipynb b/src/privacy/util/code_detect/ner/pii_inference/notebooks/Finetune DeBERTa-v3-base on pii-for-code.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..d7ef7c1d0e54aa3e515bc765348ac2a8af4bc199 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/notebooks/Finetune DeBERTa-v3-base on pii-for-code.ipynb @@ -0,0 +1,3974 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The second stage of training after `Train DeBERTa-v3-base on pseudo-labeled data`\n", + "Finetuning on `bigcode/pii-for-code-v2`" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from datasets import load_dataset, load_metric, Dataset, DatasetDict, load_from_disk\n", + "from huggingface_hub import notebook_login\n", + "import json\n", + "import numpy as np\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 331, + "referenced_widgets": [ + "09aec9635cf641bdb821c81a2bbdbc9f", + "571eb22bad354e94b3fba1cac59e6608", + "c3ad5d149e0047628c3e0aefd29c7460", + "2b6e7e05ba0a4419aa8fdea84fcc2354", + "2bdecb5267004d1fb534cfd5a3fea811", + "d5b3dc1fa6c743e7b1e05a091c22b270", + "a667e03927f748ba9db38ddd77ed17b8", + "318c86b9f6eb4266855180543d70399f", + "5abe0708ef614c7caa0f6faa10490c4b", + "5a0871be46944d6d857bf3da82bd2f85", + "6ead92dda89645149a5e0a7e4060bcb7", + "af2a6221808f40b4813a158e3ae91559", + "8a0a661799814f809a84131c767dfda2", + "40b4b89c55894cad9722d9c52a2af235", + "ed568e897d1c4b7a9eb2c9e69997d29b", + "aa0798372ed149a18994104d7f9a3d97", + "3ab74c3f04634c16b24630f9b6d1798c" + ] + }, + "id": "e-wI3YzurfCD", + "outputId": "5c012504-773c-44b2-9f4e-a55079ef4b26" + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5028fd915b1243feb0c2350ec98f6cb0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "VBox(children=(HTML(value='
\n", + " \n", + " \n", + " [9600/9600 2:11:07, Epoch 100/100]\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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
StepTraining LossValidation LossAvg.precisionPrecisionRecallF1EmailIp AddressKeyNamePasswordUsername
3000.0014000.0102390.9062940.5504320.6201300.5832060.9504950.4666670.3529410.7936510.8627450.360000
6000.0006000.0124670.8692340.5613500.5941560.5772870.9504950.5312500.3750000.8166670.8461540.313167
9000.0007000.0132480.8727810.5231210.5876620.5535170.9411760.5517240.3529410.7768600.8679250.290429
12000.0013000.0132980.8625040.7280000.5909090.6523300.9702970.7058820.4545450.7652170.8627450.403670
15000.0003000.0146820.8634090.6468530.6006490.6228960.9411760.8571430.2857140.8032790.8846150.347826
18000.0007000.0109920.8918440.6875000.7857140.7333330.9504950.8780490.3529410.8166670.8148150.627692
21000.0001000.0153420.8540700.5531910.5909090.5714290.8245610.6792450.3333330.7966100.9019610.313167
24000.0002000.0191160.8496980.6094280.5876620.5983470.9411760.7058820.4285710.8034190.8627450.320896
27000.0002000.0217970.8318370.6692310.5649350.6126760.9411760.6315790.4285710.7478260.8627450.352423
30000.0006000.0192960.8486940.5656250.5876620.5764330.9411760.5070420.3750000.7899160.8627450.324528
33000.0004000.0177360.8674010.7333330.5714290.6423360.9411760.7058820.3750000.7226890.8148150.415842
36000.0001000.0130480.9151610.6775360.6071430.6404110.9504950.9230770.4705880.7692310.8627450.389105
39000.0001000.0149200.9055590.6886450.6103900.6471600.9702970.9230770.5000000.7863250.8627450.384314
42000.0001000.0157990.9017620.6739130.6038960.6369860.9702970.9230770.3529410.7652170.8627450.386100
45000.0001000.0157600.9030710.6912280.6396100.6644180.9607840.9230770.4705880.8034190.8627450.430189
48000.0001000.0178780.8947850.7258060.5844160.6474820.9411760.9230770.3750000.7894740.8627450.379310
51000.0002000.0218360.8641890.7424890.5616880.6395560.9702970.9230770.3529410.7652170.8627450.342593
54000.0000000.0182390.8945010.7171310.5844160.6440070.9702970.9230770.3529410.7586210.8627450.377682
57000.0000000.0164530.8960730.6886450.6103900.6471600.9607840.9230770.4000000.7758620.8627450.398438
60000.0000000.0155730.8981200.7770030.7240260.7495800.9607840.9230770.3750000.7603310.8627450.643939
63000.0000000.0151330.9038580.7508770.6948050.7217540.9411760.9230770.4000000.7787610.8627450.583026
66000.0000000.0148650.9047440.8316500.8019480.8165290.9320390.9230770.3750000.7863250.8800000.791367
69000.0000000.0144610.9083680.8493150.8051950.8266670.9411760.9230770.3529410.8448280.8627450.791209
72000.0000000.0148840.9101990.8440680.8084420.8258710.9411760.9230770.3750000.7796610.8627450.814545
75000.0000000.0150900.9081460.8221480.7954550.8085810.9607840.9230770.3333330.7863250.5490200.830325
78000.0000000.0159390.9056870.7668920.7370130.7516560.9607840.9230770.3333330.8000000.4313730.722022
81000.0000000.0167670.9014540.7344830.6915580.7123750.9607840.9230770.3333330.8000000.3529410.649446
84000.0000000.0160550.9051490.8075600.7629870.7846410.9607840.9230770.3529410.8318580.3529410.792727
87000.0000000.0168610.8999650.7551720.7110390.7324410.9607840.9230770.3333330.8070180.3529410.691176
90000.0000000.0167550.9012990.7804050.7500000.7649010.9607840.9230770.3750000.8000000.4705880.738351
93000.0001000.0170010.8999090.7593220.7272730.7429520.9607840.9230770.3333330.8000000.3529410.717391
96000.0000000.0168930.9003810.7633330.7435060.7532890.9607840.9230770.3157890.8000000.3921570.735714

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-300\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-300/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-300/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-300/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-300/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-600\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-600/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-600/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-600/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-600/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-900\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-900/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-900/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-900/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-900/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1200\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1200/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1200/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1200/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1200/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1500\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1500/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1500/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1500/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1500/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1800\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1800/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1800/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1800/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-1800/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2100\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2100/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2100/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2100/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2100/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2400\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2400/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2400/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2400/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2400/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2700\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2700/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2700/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2700/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-2700/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3000\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3000/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3000/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3000/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3000/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3300\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3300/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3300/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3300/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3300/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3600\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3600/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3600/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3600/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3600/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3900\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3900/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3900/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3900/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-3900/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4200\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4200/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4200/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4200/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4200/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4500\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4500/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4500/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4500/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4500/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4800\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4800/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4800/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4800/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-4800/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5100\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5100/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5100/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5100/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5100/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5400\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5400/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5400/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5400/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5400/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5700\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5700/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5700/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5700/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-5700/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6000\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6000/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6000/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6000/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6000/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6300\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6300/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6300/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6300/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6300/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6600\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6600/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6600/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6600/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6600/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6900\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6900/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6900/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6900/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6900/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7200\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7200/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7200/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7200/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7200/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7500\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7500/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7500/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7500/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7500/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7800\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7800/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7800/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7800/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-7800/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8100\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8100/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8100/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8100/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8100/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8400\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8400/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8400/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8400/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8400/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8700\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8700/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8700/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8700/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-8700/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9000\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9000/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9000/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9000/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9000/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9300\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9300/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9300/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9300/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9300/special_tokens_map.json\n", + "Deleting older checkpoint [/data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-300] due to args.save_total_limit\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 513\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9600\n", + "Configuration saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9600/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9600/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9600/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-9600/special_tokens_map.json\n", + "Deleting older checkpoint [/data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-600] due to args.save_total_limit\n", + "\n", + "\n", + "Training completed. Do not forget to share your model on huggingface.co/models =)\n", + "\n", + "\n", + "Loading best model from /data3/monty/deberta-v3-base-finetuned-test-run/checkpoint-6900 (score: 0.8266666666666668).\n" + ] + }, + { + "data": { + "text/plain": [ + "TrainOutput(global_step=9600, training_loss=0.0004251273045599646, metrics={'train_runtime': 7868.4968, 'train_samples_per_second': 19.407, 'train_steps_per_second': 1.22, 'total_flos': 4.006130538500283e+16, 'train_loss': 0.0004251273045599646, 'epoch': 100.0})" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "trainer.train()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Evaluation" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "The following columns in the test set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: chunk_id, id. If chunk_id, id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Prediction *****\n", + " Num examples = 966\n", + " Batch size = 16\n" + ] + }, + { + "data": { + "text/html": [ + "\n", + "

\n", + " \n", + " \n", + " [61/61 00:16]\n", + "
\n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n" + ] + } + ], + "source": [ + "pred = trainer.predict(ner_dataset['test'])" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6a3ef70bbdcd4730b2486673a073b8e3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/100 [00:00" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "import itertools\n", + "import pandas as pd\n", + "import numpy as np\n", + "from sklearn.metrics import confusion_matrix\n", + "\n", + "true_labels = np.array(list(itertools.chain(*dev_dataset['labels'])))\n", + "pred_labels = np.argmax(list(itertools.chain(*dev_dataset['pred'])), axis=-1)\n", + "\n", + "data = confusion_matrix(true_labels, pred_labels, labels=range(len(ID2LABEL)), normalize = 'true')\n", + "df_cm = pd.DataFrame(data, columns=ID2LABEL, index = ID2LABEL)\n", + "df_cm.index.name = 'Actual'\n", + "df_cm.columns.name = 'Predicted'\n", + "\n", + "\n", + "f, ax = plt.subplots(figsize=(15, 15))\n", + "cmap = sns.cubehelix_palette(light=1, as_cmap=True)\n", + "\n", + "sns.heatmap(df_cm, cbar=False, annot=True, cmap=cmap, square=True, fmt='.1%',\n", + " annot_kws={'size': 10})\n", + "plt.title('Actuals vs Predicted')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading cached processed dataset at /data3/monty/datasets/pii-for-code-folds/train/cache-0332dd98b41f0387.arrow\n" + ] + } + ], + "source": [ + "dev_dataset = compose_chunk_predictions_with_samples(dataset['dev'], pred, ner_dataset['test']['id'], tokenizer)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "from utils.postprocessing import retokenize_with_logits" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "The `retokenize_with_logits` function re-tokenizes the `content` by RegexpTokenizer and aggregates `pred` logits for tokens which had been merged.\n", + "\n", + "__Example:__\n", + "\n", + "Let for next string:\n", + "\n", + " content = \"\\\n", + " # Created by Big Koddy McModel \n", + " 'SUPER_SECRET_KEY':'1234LjlkdslfKSLJ'\"\n", + "\n", + "we have next tokenization and logits:\n", + "\n", + " #| Created| by| Big| Ko|ddy| Mc|Model| <|big|ko|ddy|@|example|mail|.|com|> ... | - tokens\n", + " [ 0 , 0 , 0.9, .8, .9, 1., 0.97, 0, .8,.9,.9,.9, 0.89 , 1. ,1.,1.,0 ... ] - logits\n", + "\n", + "\n", + " then `retokenize_with_logits` transforms it into next:\n", + " \n", + " #| Created| by| Big| Koddy| McModel| <|bigkoddy|@|examplemail.com|>|'|SUPER_SECRET_KEY|'|:|'|1234LjlkdslfKSL|'\n", + " [ 0 , 0, 0.9, 0.95, 0.98, 0, 0.99, .9, 0.9 , 0,0, 0 ,0,0,0, 0.98 ]\n", + " \n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "034f38f274e949bc93e27bea6ab5c002", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/100 [00:00\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", + " \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", + " \n", + "
 precisionrecallf1number
AMBIGUOUS0.0%0.0%0.0%0
EMAIL96.1%96.1%96.1%51
IP_ADDRESS85.7%100.0%92.3%18
KEY42.9%37.5%40.0%8
NAME88.7%87.0%87.9%54
PASSWORD80.0%80.0%80.0%25
USERNAME86.0%69.3%76.8%150
\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "per_type_metrics = pd.DataFrame.from_dict(\n", + " {key:val for key,val in ner_metrics.items()\n", + " if key not in ['overall_precision','overall_recall','overall_f1','overall_accuracy']}\n", + ").T\n", + "per_type_metrics['number'] = per_type_metrics['number'].astype(int)\n", + "per_type_metrics.style.format({'precision': '{:.1%}', 'recall': '{:.1%}','f1': '{:.1%}'})" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\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", + "
 metric
overall_precision86.1%
overall_recall78.8%
overall_f182.3%
overall_accuracy99.8%
\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series(\n", + " {key:val for key,val in ner_metrics.items()\n", + " if key in ['overall_precision','overall_recall','overall_f1','overall_accuracy']}\n", + ").T.rename('metric').to_frame().style.format('{:.1%}')" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "provenance": [] + }, + "gpuClass": "standard", + "kernelspec": { + "display_name": "piiner", + "language": "python", + "name": "piiner" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.12" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "008ca4ebe46d48cb989e97aab9529604": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "01b07686f6094d2391fcb9fe3cf86cc9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_71ce1ca715534844b501ad8c71f32091", + "IPY_MODEL_da7804c13630441fbad5098822d99052", + "IPY_MODEL_3134633945494d709b505d5cf37a99a6" + ], + "layout": "IPY_MODEL_4987ddd85bdd4ed9a54033b58e4b31f7" + } + }, + "081f5c176332457dacd0d59d7940be0d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "09aec9635cf641bdb821c81a2bbdbc9f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "VBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "VBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_571eb22bad354e94b3fba1cac59e6608", + "IPY_MODEL_c3ad5d149e0047628c3e0aefd29c7460", + "IPY_MODEL_2b6e7e05ba0a4419aa8fdea84fcc2354", + "IPY_MODEL_2bdecb5267004d1fb534cfd5a3fea811", + "IPY_MODEL_d5b3dc1fa6c743e7b1e05a091c22b270" + ], + "layout": "IPY_MODEL_a667e03927f748ba9db38ddd77ed17b8" + } + }, + "11c41adf6b904d10b0768935709c68d1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_55253a79d100489c8512ff7e7f11f92c", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_f919b355bcd344059b9161e6fac7cbac", + "value": 1 + } + }, + "146394c42e1b4dc681bf49aa671aa3f8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_081f5c176332457dacd0d59d7940be0d", + "placeholder": "​", + "style": "IPY_MODEL_c42b4b6b36944f34b0cd0027c90bc968", + "value": "Pushing dataset shards to the dataset hub: 100%" + } + }, + "173b4df1dad44cec83270befa7392b1e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "1a5849c19ac44c5cb37de2bc04f8a8f6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "21cea385816e4179be0642f01bc58877": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2b6e7e05ba0a4419aa8fdea84fcc2354": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "CheckboxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "CheckboxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "CheckboxView", + "description": "Add token as git credential?", + "description_tooltip": null, + "disabled": false, + "indent": true, + "layout": "IPY_MODEL_af2a6221808f40b4813a158e3ae91559", + "style": "IPY_MODEL_8a0a661799814f809a84131c767dfda2", + "value": true + } + }, + "2b92ad4cafa549a4810f212976074d25": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2bdecb5267004d1fb534cfd5a3fea811": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ButtonModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ButtonView", + "button_style": "", + "description": "Login", + "disabled": false, + "icon": "", + "layout": "IPY_MODEL_40b4b89c55894cad9722d9c52a2af235", + "style": "IPY_MODEL_ed568e897d1c4b7a9eb2c9e69997d29b", + "tooltip": "" + } + }, + "3134633945494d709b505d5cf37a99a6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_cc05745cc3f6421f84af9a1f492bbea2", + "placeholder": "​", + "style": "IPY_MODEL_a038ccac0d4748f0a4ff8dcd990bb7a3", + "value": " 1/1 [00:00<00:00, 33.98ba/s]" + } + }, + "318c86b9f6eb4266855180543d70399f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "39505a7df3db43a89322df20f3fe4d8d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f4bdbfe4a65c428bbcbb95a9dc4c6356", + "placeholder": "​", + "style": "IPY_MODEL_e8c5889da2b847f6ac1512ab06bdd281", + "value": " 1/1 [00:06<00:00, 6.12s/it]" + } + }, + "3ab74c3f04634c16b24630f9b6d1798c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3b736f409161470f96160bbbeca992c9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3bf5b65c1c9a4ce0be50e3e2fce60c87": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "40b4b89c55894cad9722d9c52a2af235": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "40e9832b79644dfbbcd6cd6ea8bfc8c7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_9c872cf485ad4ae8b8359c33f7c3ea65", + "IPY_MODEL_11c41adf6b904d10b0768935709c68d1", + "IPY_MODEL_9491e625e9604427a640b5aa11e67745" + ], + "layout": "IPY_MODEL_49118a87b2204853bd81060094788a8a" + } + }, + "4370dc13ce0a4e06b542a0b5efdbfc2c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "43d93313aaad4d7aa1ac513b8d69300c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "480990aec5504b61a2c51142b677535c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3b736f409161470f96160bbbeca992c9", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b49b0dd4ac514e6b80caa2932b5d222d", + "value": 1 + } + }, + "49118a87b2204853bd81060094788a8a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4987ddd85bdd4ed9a54033b58e4b31f7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4b83358fb1b64bcd9ab3b965a77fffc9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_6aa51965e96a48a4b73a0ae53b8e9b66", + "IPY_MODEL_480990aec5504b61a2c51142b677535c", + "IPY_MODEL_d72eb7bedd624133ac08ccb510ce901a" + ], + "layout": "IPY_MODEL_77a18f9c759040478fe8bc2e8abd85e3" + } + }, + "4d8836ba902043358883ac3729ad621a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "55253a79d100489c8512ff7e7f11f92c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "571eb22bad354e94b3fba1cac59e6608": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_318c86b9f6eb4266855180543d70399f", + "placeholder": "​", + "style": "IPY_MODEL_5abe0708ef614c7caa0f6faa10490c4b", + "value": "

Copy a token from your Hugging Face\ntokens page and paste it below.
Immediately click login after copying\nyour token or it might be stored in plain text in this notebook file.
" + } + }, + "5a0871be46944d6d857bf3da82bd2f85": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5abe0708ef614c7caa0f6faa10490c4b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "652a34f18e914d56b44a52844ac56f4d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6aa51965e96a48a4b73a0ae53b8e9b66": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e7d7757a758348f898a4d308695ebed7", + "placeholder": "​", + "style": "IPY_MODEL_f01c225a559f443593a0989fa78fc6cb", + "value": "Upload 1 LFS files: 100%" + } + }, + "6ead92dda89645149a5e0a7e4060bcb7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "71c2b430b94b4639bc8468c202801cca": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_74eb9205486944f7aa86db8bf940f992", + "placeholder": "​", + "style": "IPY_MODEL_4370dc13ce0a4e06b542a0b5efdbfc2c", + "value": " 0/1 [00:00<?, ?ba/s]" + } + }, + "71ce1ca715534844b501ad8c71f32091": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d5b2c76f54ae4bb78985ad253373408d", + "placeholder": "​", + "style": "IPY_MODEL_2b92ad4cafa549a4810f212976074d25", + "value": "Creating parquet from Arrow format: 100%" + } + }, + "72d64b7afb5147c5aad0416674520849": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "74eb9205486944f7aa86db8bf940f992": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "74fdd4d677294768bb63225cb4684b6d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "77a18f9c759040478fe8bc2e8abd85e3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "785502d8755f43cea3da690322f26d0d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "87a5cfe6903342b98a1ca8b8ef30f513": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_146394c42e1b4dc681bf49aa671aa3f8", + "IPY_MODEL_ad920a4cce8a4aabbbc55308c9fd7d44", + "IPY_MODEL_39505a7df3db43a89322df20f3fe4d8d" + ], + "layout": "IPY_MODEL_21cea385816e4179be0642f01bc58877" + } + }, + "8a0a661799814f809a84131c767dfda2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9491e625e9604427a640b5aa11e67745": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e0c423cb57e949f08255453100fd3e69", + "placeholder": "​", + "style": "IPY_MODEL_3bf5b65c1c9a4ce0be50e3e2fce60c87", + "value": " 1/1 [00:00<00:00, 54.85it/s]" + } + }, + "9c872cf485ad4ae8b8359c33f7c3ea65": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_72d64b7afb5147c5aad0416674520849", + "placeholder": "​", + "style": "IPY_MODEL_173b4df1dad44cec83270befa7392b1e", + "value": "100%" + } + }, + "a038ccac0d4748f0a4ff8dcd990bb7a3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a1e4b90f504e4c59ac795f8a3a6553d2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a667e03927f748ba9db38ddd77ed17b8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": "center", + "align_self": null, + "border": null, + "bottom": null, + "display": "flex", + "flex": null, + "flex_flow": "column", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "50%" + } + }, + "aa0798372ed149a18994104d7f9a3d97": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ad67045339e340a0a831369fef5bcdcf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ad920a4cce8a4aabbbc55308c9fd7d44": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_652a34f18e914d56b44a52844ac56f4d", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_74fdd4d677294768bb63225cb4684b6d", + "value": 1 + } + }, + "af2a6221808f40b4813a158e3ae91559": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b49b0dd4ac514e6b80caa2932b5d222d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b4a6bd56fccd47c88d23426c5da96930": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c2381c3d3724434c9e0299a5be8cbc22": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_daed6024f35146d9b0f1ad959e6f284e", + "IPY_MODEL_c8201ec977bd42238b3575fcb1e37450", + "IPY_MODEL_71c2b430b94b4639bc8468c202801cca" + ], + "layout": "IPY_MODEL_b4a6bd56fccd47c88d23426c5da96930" + } + }, + "c3ad5d149e0047628c3e0aefd29c7460": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "PasswordModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "PasswordModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "PasswordView", + "continuous_update": true, + "description": "Token:", + "description_tooltip": null, + "disabled": false, + "layout": "IPY_MODEL_5a0871be46944d6d857bf3da82bd2f85", + "placeholder": "​", + "style": "IPY_MODEL_6ead92dda89645149a5e0a7e4060bcb7", + "value": "" + } + }, + "c42b4b6b36944f34b0cd0027c90bc968": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c8201ec977bd42238b3575fcb1e37450": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "danger", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d2a4ecba9b364f91af3b5d13df9a7390", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_785502d8755f43cea3da690322f26d0d", + "value": 0 + } + }, + "cc05745cc3f6421f84af9a1f492bbea2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d2a4ecba9b364f91af3b5d13df9a7390": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d5b2c76f54ae4bb78985ad253373408d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d5b3dc1fa6c743e7b1e05a091c22b270": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_aa0798372ed149a18994104d7f9a3d97", + "placeholder": "​", + "style": "IPY_MODEL_3ab74c3f04634c16b24630f9b6d1798c", + "value": "\nPro Tip: If you don't already have one, you can create a dedicated\n'notebooks' token with 'write' access, that you can then easily reuse for all\nnotebooks.
" + } + }, + "d72eb7bedd624133ac08ccb510ce901a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_1a5849c19ac44c5cb37de2bc04f8a8f6", + "placeholder": "​", + "style": "IPY_MODEL_a1e4b90f504e4c59ac795f8a3a6553d2", + "value": " 1/1 [00:02<00:00, 2.53s/it]" + } + }, + "da7804c13630441fbad5098822d99052": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ad67045339e340a0a831369fef5bcdcf", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_43d93313aaad4d7aa1ac513b8d69300c", + "value": 1 + } + }, + "daed6024f35146d9b0f1ad959e6f284e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4d8836ba902043358883ac3729ad621a", + "placeholder": "​", + "style": "IPY_MODEL_008ca4ebe46d48cb989e97aab9529604", + "value": " 0%" + } + }, + "e0c423cb57e949f08255453100fd3e69": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e7d7757a758348f898a4d308695ebed7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e8c5889da2b847f6ac1512ab06bdd281": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ed568e897d1c4b7a9eb2c9e69997d29b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ButtonStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "button_color": null, + "font_weight": "" + } + }, + "f01c225a559f443593a0989fa78fc6cb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f4bdbfe4a65c428bbcbb95a9dc4c6356": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f919b355bcd344059b9161e6fac7cbac": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/src/privacy/util/code_detect/ner/pii_inference/notebooks/Pipeline with sliding-window.ipynb b/src/privacy/util/code_detect/ner/pii_inference/notebooks/Pipeline with sliding-window.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..0ca86ed3cd82d1ce1ff483ad1c9fd33971ae5516 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/notebooks/Pipeline with sliding-window.ipynb @@ -0,0 +1,326 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "b82b7e3e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "env: CUDA_VISIBLE_DEVICES=0\n" + ] + } + ], + "source": [ + "%env CUDA_VISIBLE_DEVICES 0" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "b1d746ab", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/monty/projects/pii-ner/utils/misc.py:38: FutureWarning: load_metric is deprecated and will be removed in the next major version of datasets. Use 'evaluate.load' instead, from the new library 🤗 Evaluate: https://huggingface.co/docs/evaluate\n", + " _seqeval_metric = load_metric(\"seqeval\")\n", + "Using the latest cached version of the module from /home/monty/.cache/huggingface/modules/datasets_modules/metrics/seqeval/c8563af43bdce095d0f9e8b8b79c9c96d5ea5499b3bf66f90301c9cb82910f11 (last modified on Thu Feb 16 17:58:29 2023) since it couldn't be found locally at seqeval, or remotely on the Hugging Face Hub.\n", + "Found cached dataset parquet (/home/monty/.cache/huggingface/datasets/bigcode___parquet/bigcode--pii-for-code-v2-e4dbf8dee82c409a/0.0.0/2a3b91fbd88a2c90d1dbbb32b460cf621d31bd5b05b934492fdef7d8d6f236ec)\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "25044ad684f94e9a9ecf63ff71785fd1", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1 [00:00 512). Running this sequence through the model will result in indexing errors\n" + ] + }, + { + "data": { + "text/plain": [ + "Dataset({\n", + " features: ['content', 'language', 'license', 'path', 'annotation_id', 'pii', 'id', 'fold', 'input_ids', 'token_type_ids', 'attention_mask', 'offset_mapping', 'labels'],\n", + " num_rows: 400\n", + "})" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from utils import label_tokenized\n", + "\n", + "def tokenize_and_label(entry, tokenizer=tokenizer):\n", + " inputs = tokenizer.encode_plus(entry['content'], return_offsets_mapping=True, add_special_tokens=False)\n", + " entry.update(inputs)\n", + " return label_tokenized(entry)\n", + "\n", + "dev_dataset = dev_dataset.map(lambda x: dict(pii=json.loads(x['pii'])))\n", + "dev_dataset = dev_dataset.map(tokenize_and_label)\n", + "dev_dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4be5f3c834094bb69f39b8806d754e66", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/17678 [00:00\u001B[0;34m()\u001B[0m\n\u001B[1;32m 3\u001B[0m train_dataset \u001B[38;5;241m=\u001B[39m train_dataset\u001B[38;5;241m.\u001B[39mmap(\u001B[38;5;28;01mlambda\u001B[39;00m x: \u001B[38;5;28mdict\u001B[39m(pii\u001B[38;5;241m=\u001B[39mjson\u001B[38;5;241m.\u001B[39mloads(x[\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mpii\u001B[39m\u001B[38;5;124m'\u001B[39m])), load_from_cache_file \u001B[38;5;241m=\u001B[39m\u001B[38;5;28;01mFalse\u001B[39;00m)\n\u001B[1;32m 4\u001B[0m train_dataset \u001B[38;5;241m=\u001B[39m train_dataset\u001B[38;5;241m.\u001B[39mmap(tokenize_and_label, num_proc\u001B[38;5;241m=\u001B[39m\u001B[38;5;241m8\u001B[39m, load_from_cache_file \u001B[38;5;241m=\u001B[39m\u001B[38;5;28;01mFalse\u001B[39;00m)\n\u001B[0;32m----> 5\u001B[0m train_dataset \u001B[38;5;241m=\u001B[39m \u001B[43mchunk_dataset\u001B[49m\u001B[43m(\u001B[49m\u001B[43mtrain_dataset\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mtokenizer\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mload_from_cache_file\u001B[49m\u001B[43m \u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;28;43;01mFalse\u001B[39;49;00m\u001B[43m)\u001B[49m\n", + "\u001B[0;31mTypeError\u001B[0m: chunk_dataset() got an unexpected keyword argument 'load_from_cache_file'" + ] + } + ], + "source": [ + "from utils import chunk_dataset\n", + "\n", + "train_dataset = train_dataset.map(lambda x: dict(pii=json.loads(x['pii'])))\n", + "train_dataset = train_dataset.map(tokenize_and_label, num_proc=8)\n", + "train_dataset = chunk_dataset(train_dataset, tokenizer)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Dataset({\n", + " features: ['input_ids', 'attention_mask', 'labels', 'id', 'chunk_id'],\n", + " num_rows: 121080\n", + "})" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f536bbcf9d3f4e808068af308c6254ed", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/400 [00:00\n", + " \n", + " \n", + " [7568/7568 1:58:39, Epoch 1/1]\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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
StepTraining LossValidation LossAvg.precisionPrecisionRecallF1AmbiguousEmailIp AddressKeyNamePasswordUsername
3000.0499000.0240340.6498940.3021810.4004130.3444300.0000000.4347830.0000000.0909090.6122450.0000000.000000
6000.0661000.0250510.7277510.4348450.6233230.5122990.0000000.9336380.4230770.0520830.7582210.0000000.402277
9000.0417000.0547530.6070980.2005840.6377710.3051850.0000000.3147970.3517790.0357140.7714810.1161290.402662
12000.0215000.0199850.7926800.5289860.6780190.5943010.0000000.7953220.5555560.1842110.7500000.5436890.394973
15000.0237000.0406540.7117950.4677310.6955620.5593360.0000000.7992200.5538460.1047840.7617260.5625000.500000
18000.0172000.0290190.6953330.3763920.6976260.4889690.0000000.8111330.5865720.0321380.7803990.6000000.503093
21000.0494000.0374110.7184930.4684750.7131060.5654660.0000000.7715360.6846150.0769230.7604170.5801530.451730
24000.0170000.0329840.7762290.4267480.7244580.5371080.0000000.8507160.3957450.0679010.7984930.5371430.421900
27000.0348000.0346630.7281990.5153370.6934980.5912890.0000000.8198020.6769230.1142860.7677900.5899280.417423
30000.0305000.0387100.6732390.5533440.7172340.6247190.0000000.8046420.7521370.0925270.8007310.5793100.503018
33000.0208000.0345510.7381510.3475580.6976260.4639670.0000000.5745860.7063830.0359280.7881040.4078950.438449
36000.0348000.0199070.7767240.5036230.7172340.5917410.0000000.7370300.7563030.1140940.8142590.4640000.459459
39000.0162000.0382860.7061810.3945730.7203300.5098610.0000000.7396770.6521740.0455240.8107070.6074070.458904
42000.0190000.0275600.7615970.3875410.7254900.5052100.0000000.7101200.7258060.0437160.7964290.5263160.504780
45000.0201000.0318770.7632260.3847430.7182660.5010800.0000000.7504550.5309730.0357140.8098860.5671640.494585
48000.0195000.0335610.7341340.3849460.7389060.5061860.0000000.7495500.6642070.0448550.8073390.5637580.508227
51000.0125000.0278320.7662970.3983000.7254900.5142650.0000000.7406080.6901960.0379010.8084290.5675680.507143
54000.0127000.0381090.7376610.4048030.7306500.5209710.0000000.7392860.7355370.0486410.8330130.5815600.497278
57000.0175000.0236540.7856330.4525780.7337460.5598430.0000000.7803030.7265310.0792950.7875460.5652170.460800
60000.0175000.0329620.7210170.4644320.7007220.5586180.0000000.7357140.6848250.0725620.8090740.4242420.500000
63000.0045000.0319140.7572780.4445140.7316820.5530420.0000000.7450270.6716980.0714290.8119180.5797100.490231
66000.0302000.0276730.7566240.5105760.7223940.5982910.0000000.7582420.7142860.1039760.8230770.5846150.477718
69000.0285000.0277830.7618120.4975090.7213620.5888800.0000000.7436820.7086610.0938420.8152380.5648850.481416
72000.0135000.0296380.7575640.4388850.7151700.5439560.0000000.7477310.7148590.0712870.8206110.4242420.469983
75000.0109000.0312330.7547790.4462130.7234260.5519690.0000000.7454550.7235770.0712870.8183560.5507250.477352

" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-300\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-300/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-300/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-300/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-300/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-600\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-600/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-600/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-600/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-600/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-900\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-900/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-900/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-900/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-900/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-1200\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-1200/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-1200/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-1200/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-1200/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-1500\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-1500/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-1500/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-1500/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-1500/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-1800\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-1800/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-1800/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-1800/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-1800/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-2100\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-2100/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-2100/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-2100/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-2100/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-2400\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-2400/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-2400/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-2400/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-2400/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-2700\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-2700/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-2700/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-2700/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-2700/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-3000\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3000/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3000/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3000/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3000/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-3300\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3300/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3300/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3300/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3300/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-3600\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3600/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3600/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3600/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3600/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-3900\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3900/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3900/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3900/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-3900/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-4200\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-4200/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-4200/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-4200/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-4200/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-4500\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-4500/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-4500/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-4500/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-4500/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-4800\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-4800/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-4800/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-4800/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-4800/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-5100\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-5100/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-5100/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-5100/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-5100/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-5400\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-5400/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-5400/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-5400/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-5400/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-5700\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-5700/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-5700/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-5700/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-5700/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-6000\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6000/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6000/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6000/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6000/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-6300\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6300/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6300/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6300/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6300/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-6600\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6600/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6600/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6600/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6600/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-6900\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6900/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6900/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6900/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-6900/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-7200\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-7200/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-7200/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-7200/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-7200/special_tokens_map.json\n", + "The following columns in the evaluation set don't have a corresponding argument in `DebertaV2ForTokenClassification.forward` and have been ignored: id, chunk_id. If id, chunk_id are not expected by `DebertaV2ForTokenClassification.forward`, you can safely ignore this message.\n", + "***** Running Evaluation *****\n", + " Num examples = 2040\n", + " Batch size = 16\n", + "/data1/monty/miniconda3/lib/python3.8/site-packages/seqeval/metrics/v1.py:57: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "Saving model checkpoint to /data3/monty/deberta-v3-base-pretrained/checkpoint-7500\n", + "Configuration saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-7500/config.json\n", + "Model weights saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-7500/pytorch_model.bin\n", + "tokenizer config file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-7500/tokenizer_config.json\n", + "Special tokens file saved in /data3/monty/deberta-v3-base-pretrained/checkpoint-7500/special_tokens_map.json\n", + "\n", + "\n", + "Training completed. Do not forget to share your model on huggingface.co/models =)\n", + "\n", + "\n", + "Loading best model from /data3/monty/deberta-v3-base-pretrained/checkpoint-3000 (score: 0.6247191011235955).\n" + ] + }, + { + "data": { + "text/plain": [ + "TrainOutput(global_step=7568, training_loss=0.026313426741940336, metrics={'train_runtime': 7125.7811, 'train_samples_per_second': 16.992, 'train_steps_per_second': 1.062, 'total_flos': 3.176570305184112e+16, 'train_loss': 0.026313426741940336, 'epoch': 1.0})" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "trainer.train()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from utils.chunking import compose_chunk_predictions_with_samples\n", + "\n", + "pred = trainer.predict(ner_dataset['test'])\n", + "dev_dataset = compose_chunk_predictions_with_samples(dev_dataset['dev'], pred, ner_dataset['test']['id'], tokenizer)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "import itertools\n", + "import pandas as pd\n", + "import numpy as np\n", + "from sklearn.metrics import confusion_matrix\n", + "\n", + "true_labels = np.array(list(itertools.chain(*dev_dataset['labels'])))\n", + "pred_labels = np.argmax(list(itertools.chain(*dev_dataset['pred'])), axis=-1)\n", + "\n", + "data = confusion_matrix(true_labels, pred_labels, labels=range(len(ID2LABEL)), normalize = 'true')\n", + "df_cm = pd.DataFrame(data, columns=ID2LABEL, index = ID2LABEL)\n", + "df_cm.index.name = 'Actual'\n", + "df_cm.columns.name = 'Predicted'\n", + "\n", + "\n", + "f, ax = plt.subplots(figsize=(15, 15))\n", + "cmap = sns.cubehelix_palette(light=1, as_cmap=True)\n", + "\n", + "sns.heatmap(df_cm, cbar=False, annot=True, cmap=cmap, square=True, fmt='.1%',\n", + " annot_kws={'size': 10})\n", + "plt.title('Actuals vs Predicted')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "provenance": [] + }, + "gpuClass": "standard", + "kernelspec": { + "display_name": "piiner", + "language": "python", + "name": "piiner" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.12" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "008ca4ebe46d48cb989e97aab9529604": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "01b07686f6094d2391fcb9fe3cf86cc9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_71ce1ca715534844b501ad8c71f32091", + "IPY_MODEL_da7804c13630441fbad5098822d99052", + "IPY_MODEL_3134633945494d709b505d5cf37a99a6" + ], + "layout": "IPY_MODEL_4987ddd85bdd4ed9a54033b58e4b31f7" + } + }, + "081f5c176332457dacd0d59d7940be0d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "09aec9635cf641bdb821c81a2bbdbc9f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "VBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "VBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_571eb22bad354e94b3fba1cac59e6608", + "IPY_MODEL_c3ad5d149e0047628c3e0aefd29c7460", + "IPY_MODEL_2b6e7e05ba0a4419aa8fdea84fcc2354", + "IPY_MODEL_2bdecb5267004d1fb534cfd5a3fea811", + "IPY_MODEL_d5b3dc1fa6c743e7b1e05a091c22b270" + ], + "layout": "IPY_MODEL_a667e03927f748ba9db38ddd77ed17b8" + } + }, + "11c41adf6b904d10b0768935709c68d1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_55253a79d100489c8512ff7e7f11f92c", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_f919b355bcd344059b9161e6fac7cbac", + "value": 1 + } + }, + "146394c42e1b4dc681bf49aa671aa3f8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_081f5c176332457dacd0d59d7940be0d", + "placeholder": "​", + "style": "IPY_MODEL_c42b4b6b36944f34b0cd0027c90bc968", + "value": "Pushing dataset shards to the dataset hub: 100%" + } + }, + "173b4df1dad44cec83270befa7392b1e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "1a5849c19ac44c5cb37de2bc04f8a8f6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "21cea385816e4179be0642f01bc58877": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2b6e7e05ba0a4419aa8fdea84fcc2354": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "CheckboxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "CheckboxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "CheckboxView", + "description": "Add token as git credential?", + "description_tooltip": null, + "disabled": false, + "indent": true, + "layout": "IPY_MODEL_af2a6221808f40b4813a158e3ae91559", + "style": "IPY_MODEL_8a0a661799814f809a84131c767dfda2", + "value": true + } + }, + "2b92ad4cafa549a4810f212976074d25": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2bdecb5267004d1fb534cfd5a3fea811": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ButtonModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ButtonView", + "button_style": "", + "description": "Login", + "disabled": false, + "icon": "", + "layout": "IPY_MODEL_40b4b89c55894cad9722d9c52a2af235", + "style": "IPY_MODEL_ed568e897d1c4b7a9eb2c9e69997d29b", + "tooltip": "" + } + }, + "3134633945494d709b505d5cf37a99a6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_cc05745cc3f6421f84af9a1f492bbea2", + "placeholder": "​", + "style": "IPY_MODEL_a038ccac0d4748f0a4ff8dcd990bb7a3", + "value": " 1/1 [00:00<00:00, 33.98ba/s]" + } + }, + "318c86b9f6eb4266855180543d70399f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "39505a7df3db43a89322df20f3fe4d8d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f4bdbfe4a65c428bbcbb95a9dc4c6356", + "placeholder": "​", + "style": "IPY_MODEL_e8c5889da2b847f6ac1512ab06bdd281", + "value": " 1/1 [00:06<00:00, 6.12s/it]" + } + }, + "3ab74c3f04634c16b24630f9b6d1798c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3b736f409161470f96160bbbeca992c9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3bf5b65c1c9a4ce0be50e3e2fce60c87": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "40b4b89c55894cad9722d9c52a2af235": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "40e9832b79644dfbbcd6cd6ea8bfc8c7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_9c872cf485ad4ae8b8359c33f7c3ea65", + "IPY_MODEL_11c41adf6b904d10b0768935709c68d1", + "IPY_MODEL_9491e625e9604427a640b5aa11e67745" + ], + "layout": "IPY_MODEL_49118a87b2204853bd81060094788a8a" + } + }, + "4370dc13ce0a4e06b542a0b5efdbfc2c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "43d93313aaad4d7aa1ac513b8d69300c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "480990aec5504b61a2c51142b677535c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3b736f409161470f96160bbbeca992c9", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b49b0dd4ac514e6b80caa2932b5d222d", + "value": 1 + } + }, + "49118a87b2204853bd81060094788a8a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4987ddd85bdd4ed9a54033b58e4b31f7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4b83358fb1b64bcd9ab3b965a77fffc9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_6aa51965e96a48a4b73a0ae53b8e9b66", + "IPY_MODEL_480990aec5504b61a2c51142b677535c", + "IPY_MODEL_d72eb7bedd624133ac08ccb510ce901a" + ], + "layout": "IPY_MODEL_77a18f9c759040478fe8bc2e8abd85e3" + } + }, + "4d8836ba902043358883ac3729ad621a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "55253a79d100489c8512ff7e7f11f92c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "571eb22bad354e94b3fba1cac59e6608": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_318c86b9f6eb4266855180543d70399f", + "placeholder": "​", + "style": "IPY_MODEL_5abe0708ef614c7caa0f6faa10490c4b", + "value": "


Copy a token from your Hugging Face\ntokens page and paste it below.
Immediately click login after copying\nyour token or it might be stored in plain text in this notebook file.
" + } + }, + "5a0871be46944d6d857bf3da82bd2f85": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5abe0708ef614c7caa0f6faa10490c4b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "652a34f18e914d56b44a52844ac56f4d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6aa51965e96a48a4b73a0ae53b8e9b66": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e7d7757a758348f898a4d308695ebed7", + "placeholder": "​", + "style": "IPY_MODEL_f01c225a559f443593a0989fa78fc6cb", + "value": "Upload 1 LFS files: 100%" + } + }, + "6ead92dda89645149a5e0a7e4060bcb7": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "71c2b430b94b4639bc8468c202801cca": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_74eb9205486944f7aa86db8bf940f992", + "placeholder": "​", + "style": "IPY_MODEL_4370dc13ce0a4e06b542a0b5efdbfc2c", + "value": " 0/1 [00:00<?, ?ba/s]" + } + }, + "71ce1ca715534844b501ad8c71f32091": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d5b2c76f54ae4bb78985ad253373408d", + "placeholder": "​", + "style": "IPY_MODEL_2b92ad4cafa549a4810f212976074d25", + "value": "Creating parquet from Arrow format: 100%" + } + }, + "72d64b7afb5147c5aad0416674520849": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "74eb9205486944f7aa86db8bf940f992": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "74fdd4d677294768bb63225cb4684b6d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "77a18f9c759040478fe8bc2e8abd85e3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "785502d8755f43cea3da690322f26d0d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "87a5cfe6903342b98a1ca8b8ef30f513": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_146394c42e1b4dc681bf49aa671aa3f8", + "IPY_MODEL_ad920a4cce8a4aabbbc55308c9fd7d44", + "IPY_MODEL_39505a7df3db43a89322df20f3fe4d8d" + ], + "layout": "IPY_MODEL_21cea385816e4179be0642f01bc58877" + } + }, + "8a0a661799814f809a84131c767dfda2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9491e625e9604427a640b5aa11e67745": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e0c423cb57e949f08255453100fd3e69", + "placeholder": "​", + "style": "IPY_MODEL_3bf5b65c1c9a4ce0be50e3e2fce60c87", + "value": " 1/1 [00:00<00:00, 54.85it/s]" + } + }, + "9c872cf485ad4ae8b8359c33f7c3ea65": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_72d64b7afb5147c5aad0416674520849", + "placeholder": "​", + "style": "IPY_MODEL_173b4df1dad44cec83270befa7392b1e", + "value": "100%" + } + }, + "a038ccac0d4748f0a4ff8dcd990bb7a3": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a1e4b90f504e4c59ac795f8a3a6553d2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a667e03927f748ba9db38ddd77ed17b8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": "center", + "align_self": null, + "border": null, + "bottom": null, + "display": "flex", + "flex": null, + "flex_flow": "column", + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "50%" + } + }, + "aa0798372ed149a18994104d7f9a3d97": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ad67045339e340a0a831369fef5bcdcf": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ad920a4cce8a4aabbbc55308c9fd7d44": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_652a34f18e914d56b44a52844ac56f4d", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_74fdd4d677294768bb63225cb4684b6d", + "value": 1 + } + }, + "af2a6221808f40b4813a158e3ae91559": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b49b0dd4ac514e6b80caa2932b5d222d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b4a6bd56fccd47c88d23426c5da96930": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c2381c3d3724434c9e0299a5be8cbc22": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_daed6024f35146d9b0f1ad959e6f284e", + "IPY_MODEL_c8201ec977bd42238b3575fcb1e37450", + "IPY_MODEL_71c2b430b94b4639bc8468c202801cca" + ], + "layout": "IPY_MODEL_b4a6bd56fccd47c88d23426c5da96930" + } + }, + "c3ad5d149e0047628c3e0aefd29c7460": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "PasswordModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "PasswordModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "PasswordView", + "continuous_update": true, + "description": "Token:", + "description_tooltip": null, + "disabled": false, + "layout": "IPY_MODEL_5a0871be46944d6d857bf3da82bd2f85", + "placeholder": "​", + "style": "IPY_MODEL_6ead92dda89645149a5e0a7e4060bcb7", + "value": "" + } + }, + "c42b4b6b36944f34b0cd0027c90bc968": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c8201ec977bd42238b3575fcb1e37450": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "danger", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d2a4ecba9b364f91af3b5d13df9a7390", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_785502d8755f43cea3da690322f26d0d", + "value": 0 + } + }, + "cc05745cc3f6421f84af9a1f492bbea2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d2a4ecba9b364f91af3b5d13df9a7390": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d5b2c76f54ae4bb78985ad253373408d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d5b3dc1fa6c743e7b1e05a091c22b270": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_aa0798372ed149a18994104d7f9a3d97", + "placeholder": "​", + "style": "IPY_MODEL_3ab74c3f04634c16b24630f9b6d1798c", + "value": "\nPro Tip: If you don't already have one, you can create a dedicated\n'notebooks' token with 'write' access, that you can then easily reuse for all\nnotebooks. " + } + }, + "d72eb7bedd624133ac08ccb510ce901a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_1a5849c19ac44c5cb37de2bc04f8a8f6", + "placeholder": "​", + "style": "IPY_MODEL_a1e4b90f504e4c59ac795f8a3a6553d2", + "value": " 1/1 [00:02<00:00, 2.53s/it]" + } + }, + "da7804c13630441fbad5098822d99052": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ad67045339e340a0a831369fef5bcdcf", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_43d93313aaad4d7aa1ac513b8d69300c", + "value": 1 + } + }, + "daed6024f35146d9b0f1ad959e6f284e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4d8836ba902043358883ac3729ad621a", + "placeholder": "​", + "style": "IPY_MODEL_008ca4ebe46d48cb989e97aab9529604", + "value": " 0%" + } + }, + "e0c423cb57e949f08255453100fd3e69": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e7d7757a758348f898a4d308695ebed7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e8c5889da2b847f6ac1512ab06bdd281": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ed568e897d1c4b7a9eb2c9e69997d29b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ButtonStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ButtonStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "button_color": null, + "font_weight": "" + } + }, + "f01c225a559f443593a0989fa78fc6cb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f4bdbfe4a65c428bbcbb95a9dc4c6356": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f919b355bcd344059b9161e6fac7cbac": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/src/privacy/util/code_detect/ner/pii_inference/start_jobs.sh b/src/privacy/util/code_detect/ner/pii_inference/start_jobs.sh new file mode 100644 index 0000000000000000000000000000000000000000..6dbc84ee0505f70489a0e71b7a25aeabe402713c --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/start_jobs.sh @@ -0,0 +1,7 @@ +langs=(solidity kotlin literate-agda julia java-server-pages isabelle idris lean powershell go erlang f-sharp ada pascal perl r protocol-buffer cmake sas ruby rust rmarkdown c-sharp smalltalk haskell maple mathematica ocaml makefile lua literate-coffeescript literate-haskell restructuredtext racket standard-ml systemverilog tex awk assembly alloy agda emacs-lisp dart cuda bluespec augeas batchfile tcsh stan scala tcl stata applescript shell clojure scheme antlr sparql sql glsl elm dockerfile cpp coffeescript common-lisp elixir groovy html java javascript markdown php python typescript verilog visual-basic vhdl thrift matlab yacc zig xslt json yaml) +# css prolog c fortran) +for language in "${langs[@]}" +do + echo "Running lang $language" + sbatch -J pii-$language infer.slurm $language +done \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/pii_inference/start_jobs_special.sh b/src/privacy/util/code_detect/ner/pii_inference/start_jobs_special.sh new file mode 100644 index 0000000000000000000000000000000000000000..6fcfb7135443efae6b531697778cea9f2cd0b3ca --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/start_jobs_special.sh @@ -0,0 +1,7 @@ +langs=(github-issues-filtered-structured) # (git-commits-cleaned jupyter-scripts-dedup-filtered jupyter-structured-clean-dedup) + +for language in "${langs[@]}" +do + echo "Running lang $language" + sbatch -J pii-$language infer_special.slurm $language +done \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/pii_inference/train.py b/src/privacy/util/code_detect/ner/pii_inference/train.py new file mode 100644 index 0000000000000000000000000000000000000000..10794997cb329e1c92652e5840749d8e74aebc48 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/train.py @@ -0,0 +1,116 @@ +import json +import logging +from dataclasses import dataclass, field +from typing import Dict, List, Optional, Tuple +from datasets import load_dataset, DatasetDict +from transformers import ( + AutoTokenizer, + AutoModelForTokenClassification, + TrainingArguments, + Trainer, + DataCollatorForTokenClassification, + HfArgumentParser, + EarlyStoppingCallback +) + +from utils import compute_metrics, label_tokenized, chunk_dataset, LABEL2ID, ID2LABEL + +logger = logging.getLogger(__name__) + + +@dataclass +class ModelArguments: + model_name_or_path: str = field( + metadata={"help": "Path to pretrained model or model identifier from huggingface.co/models"} + ) + + cache_dir: Optional[str] = field( + default=None, + metadata={"help": "Where do you want to store the pretrained models downloaded from huggingface.co"}, + ) + + early_stopping_patience: int = field( + default=1, + ) + + early_stopping_threshold: int = field( + default=1e-3, + ) + + +@dataclass +class DataTrainingArguments: + train_dataset: str = field( + default="bigcode/pseudo-labeled-python-data-pii-detection-filtered", + metadata={"help": "The train dataset"} + ) + + dev_dataset: str = field( + default="bigcode/pii-for-code-v2", + metadata={"help": "The validation dataset"} + ) + + max_seq_length: int = field( + default=512, + metadata={ + "help": ( + "The maximum input sequence length after tokenization. Sequences longer " + "than this will be chunked into pieces of this length." + ) + }, + ) + + +def main(): + parser = HfArgumentParser((ModelArguments, DataTrainingArguments, TrainingArguments)) + + model_args, data_args, training_args = parser.parse_args_into_dataclasses() + + model = AutoModelForTokenClassification.from_pretrained( + model_args.model_name_or_path, + cache_dir=model_args.cache_dir, + num_labels=len(ID2LABEL) + ) + tokenizer = AutoTokenizer.from_pretrained( + model_args.model_name_or_path, + cache_dir=model_args.cache_dir, + add_prefix_space=True) + + model.config.id2label = {str(i): label for i, label in enumerate(ID2LABEL)} + model.config.label2id = LABEL2ID + + tokenizer.model_max_length = data_args.max_seq_length + + train_dataset = load_dataset(data_args.train_dataset, use_auth_token=True)['train'] + dev_dataset = load_dataset(data_args.dev_dataset, use_auth_token=True)['train'] + + def tokenize_and_label(entry, tokenizer=tokenizer): + inputs = tokenizer.encode_plus(entry['content'], return_offsets_mapping=True, add_special_tokens=False) + entry.update(inputs) + return label_tokenized(entry) + + dev_dataset = dev_dataset.map(lambda x: dict(pii=json.loads(x['pii']))) + dev_dataset = dev_dataset.map(tokenize_and_label) + + train_dataset = train_dataset.map(lambda x: dict(pii=json.loads(x['pii']))) + train_dataset = train_dataset.map(tokenize_and_label, num_proc=8) + train_dataset = chunk_dataset(train_dataset, tokenizer) + + ner_dataset = DatasetDict( + train=train_dataset, + validation=chunk_dataset(dev_dataset, tokenizer), + ) + + trainer = Trainer( + model, + training_args, + train_dataset=ner_dataset["train"], + eval_dataset=ner_dataset["validation"], + data_collator=DataCollatorForTokenClassification(tokenizer), + tokenizer=tokenizer, + compute_metrics=compute_metrics, + callbacks=[EarlyStoppingCallback(early_stopping_patience=model_args.early_stopping_patience, + early_stopping_threshold=model_args.early_stopping_threshold)] + ) + + trainer.train() diff --git a/src/privacy/util/code_detect/ner/pii_inference/utils/__init__.py b/src/privacy/util/code_detect/ner/pii_inference/utils/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..1397a8007bebf730d7bd5f4902c32947856f8811 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/utils/__init__.py @@ -0,0 +1,4 @@ +from .chunking import collate_label_chunks, collate_pred_chunks, chunk_dataset +from .misc import LABEL2ID, ID2LABEL, compute_metrics +from .span_ops import label_tokenized, convert_labels +from .pipeline import PiiNERPipeline \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/pii_inference/utils/chunking.py b/src/privacy/util/code_detect/ner/pii_inference/utils/chunking.py new file mode 100644 index 0000000000000000000000000000000000000000..2862bf50e22df7dbffd76ba8d11b680f054d157e --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/utils/chunking.py @@ -0,0 +1,200 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + + +import itertools +from typing import List, Iterable, Any, Optional + +import numpy as np +from datasets import Dataset +from scipy.special import softmax +from tqdm.notebook import tqdm +from transformers import PreTrainedTokenizer +from transformers.trainer_utils import PredictionOutput + +# from utils.misc import LABEL2ID +# from pii_inference.utils.misc import LABEL2ID +from privacy.util.code_detect.ner.pii_inference.utils.misc import LABEL2ID + + +def chunk_dataset(dataset: Dataset, tokenizer: PreTrainedTokenizer, overlap_freq: int = 0) -> Dataset: + """ + Splits every entry in the `dataset` into chunks of the specific length. + The maximum length of each chunk is set by the max_len_single_sentence attribute of the `tokenizer`. + The `overlap_freq` argument controls the amount of overlap between adjacent chunks. + If overlap_freq is 0, there is no overlap between chunks. + If overlap_freq is 1, adjacent chunks overlap by half of their length. + If overlap_freq is greater than 2, the overlap is set to a `1. / overlap_freq` fraction. + + The resulting dataset contains the following columns: `input_ids`, `attention_mask`, `labels`, `id`, and `chunk_id`. + Each row in the dataset corresponds to a single chunk of the original data, identified by its `id` and `chunk_id`. + """ + return Dataset.from_list( + list( + itertools.chain( + *(chunk_inputs(**entry, tokenizer=tokenizer, max_length=tokenizer.max_len_single_sentence, + overlap_freq=overlap_freq) for entry in tqdm(list(dataset))) + ) + ) + ) + + +def chunk_inputs(input_ids, + attention_mask, + id, + tokenizer, + max_length, + labels=None, + overlap_freq=0, + **kwargs): + """ + Processes a sequence of `input_ids`, `attention_mask`, and `labels` by dividing it + into smaller chunks to be processed by the model. The sequence is split into chunks + of a specified maximum length, with a defined overlap frequency `overlap_freq`. The function + handles special tokens that should be added to the beginning and end of the chunks. + + Returns + ------- + list of dictionaries that contain the chunked `input_ids`, `attention_mask`, `labels` + + """ + + step = _get_chunking_step(max_length, overlap_freq) + + def _chunked_seq(seq): + for i in range(len(seq) // step + 1): + if i * step < len(seq): + yield seq[i * step:i * step + max_length] + + if labels is not None: + chunks = zip(*[_chunked_seq(seq) for seq in (input_ids, attention_mask, labels)]) + chunks = (_prepare_for_model(*chunk, tokenizer=tokenizer) for chunk in chunks) + return [dict(input_ids=input_ids, + attention_mask=attention_mask, + labels=labels, + offset=i * step, + id=id, + chunk_id=i) + for i, (input_ids, attention_mask, labels) in enumerate(chunks)] + else: + chunks = zip(*[_chunked_seq(seq) for seq in (input_ids, attention_mask)]) + chunks = (_prepare_for_model(*chunk, labels=None, tokenizer=tokenizer) for chunk in chunks) + return [dict(input_ids=input_ids, + attention_mask=attention_mask, + offset=i * step, + id=id, + chunk_id=i) + for i, (input_ids, attention_mask, labels) in enumerate(chunks)] + + +def _prepare_for_model(input_ids: List[int], attention_mask: List[int], labels: Optional[List[int]] = None, *, + tokenizer: PreTrainedTokenizer, null_label_id: int = LABEL2ID['O']): + start_token_id = tokenizer.cls_token_id if tokenizer.cls_token_id is not None else tokenizer.bos_token_id + end_token_id = tokenizer.sep_token_id if tokenizer.sep_token_id is not None else tokenizer.eos_token_id + + input_ids = [start_token_id] + list(input_ids) + [end_token_id] + attention_mask = [1] + list(attention_mask) + [1] + if labels is not None: + labels = [null_label_id] + list(labels) + [null_label_id] + else: + labels = None + + return input_ids, attention_mask, labels + + +def _get_chunking_step(length: int, overlap_freq: int) -> int: + """ + Computes the step size for chunking a sequence of a given length. + + Parameters + ---------- + length : int + Length of the sequence to chunk. + overlap_freq : int + Number of chunks to overlap. Default is 0, which means no overlap. + If overlap_freq is 1, adjacent chunks overlap by half of their length. + + Returns + ------- + int + The chunking step size. + """ + step = length + if overlap_freq: + if overlap_freq > 1: + step = length // overlap_freq + else: + step = length // 2 + return step + + +def compose_chunk_predictions_with_samples(ref_dataset: Dataset, pred: PredictionOutput, entry_ids: List[int], + tokenizer: PreTrainedTokenizer, overlap_freq: int = 2) -> Dataset: + entry_ids = np.array(entry_ids) + raw_pred_probas = [collate_pred_chunks(pred.predictions[entry_ids == i], + tokenizer.max_len_single_sentence, overlap_freq=overlap_freq) + for i in sorted(set(entry_ids))] + raw_true_labels = [collate_label_chunks(pred.label_ids[entry_ids == i], + tokenizer.max_len_single_sentence, overlap_freq=overlap_freq) + for i in sorted(set(entry_ids))] + + # Remove ignored index + mask = np.array(raw_true_labels) != -100 + pred_labels = np.array(raw_pred_probas)[mask] + true_labels = np.array(raw_true_labels)[mask] + + ref_dataset = ref_dataset.map(lambda _, i: dict(labels=np.array(true_labels[i]), pred=np.array(pred_labels[i])), + with_indices=True) + return ref_dataset + + +def collate_pred_chunks(pred_chunks: np.ndarray, max_length: int, overlap_freq: int = 2) -> np.ndarray: + """ + Takes in a tensor of predicted probabilities from the model and aggregates them across chunks. + It normalizes the probabilities using softmax along the example axis. + """ + step = _get_chunking_step(max_length, overlap_freq) + # drop special tokens + pred_chunks = pred_chunks[:, 1:-1] + + # logit normalization + pred_chunks = softmax(pred_chunks, axis=-1) + + chunk_len = pred_chunks.shape[1] + length = chunk_len + (len(pred_chunks) - 1) * step + + pred_proba = np.zeros((length, pred_chunks.shape[-1])) + + for i, chunk in enumerate(pred_chunks): + pred_proba[i * step:i * step + len(chunk)] += (step / chunk_len) * chunk + + # normalization after aggregation + pred_proba = pred_proba / pred_proba.sum(-1, keepdims=True) + + return pred_proba + + +def collate_label_chunks(label_id_chunks: np.ndarray, max_length: int, overlap_freq: int = 2) -> np.ndarray: + """ + Takes in a tensor of true labels from the model and aggregates them across chunks. + """ + step = _get_chunking_step(max_length, overlap_freq) + # drop special tokens + label_id_chunks = label_id_chunks[:, 1:-1] + + chunk_len = label_id_chunks.shape[1] + length = chunk_len + (len(label_id_chunks) - 1) * step + + label_ids = -100 * np.ones(length, dtype=int) + + for i, chunk in enumerate(label_id_chunks): + label_ids[i * step:i * step + len(chunk)] = chunk + + return label_ids diff --git a/src/privacy/util/code_detect/ner/pii_inference/utils/misc.py b/src/privacy/util/code_detect/ner/pii_inference/utils/misc.py new file mode 100644 index 0000000000000000000000000000000000000000..e6aaa77a4d1814aadaef965e26fe4aed6635b90a --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/utils/misc.py @@ -0,0 +1,86 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + + +import numpy as np +from scipy.special import softmax +from sklearn.metrics import average_precision_score +from privacy.util.code_detect.ner.pii_inference.utils.seqevel_metric import Seqeval + +LABEL2ID = {'O': 0, + 'B-AMBIGUOUS': 1, + 'I-AMBIGUOUS': 2, + 'B-EMAIL': 3, + 'I-EMAIL': 4, + 'B-IP_ADDRESS': 5, + 'I-IP_ADDRESS': 6, + 'B-KEY': 7, + 'I-KEY': 8, + 'B-NAME': 9, + 'I-NAME': 10, + 'B-PASSWORD': 11, + 'I-PASSWORD': 12, + 'B-USERNAME': 13, + 'I-USERNAME': 14} + +ID2LABEL = ['O', + 'B-AMBIGUOUS', + 'I-AMBIGUOUS', + 'B-EMAIL', + 'I-EMAIL', + 'B-IP_ADDRESS', + 'I-IP_ADDRESS', + 'B-KEY', + 'I-KEY', + 'B-NAME', + 'I-NAME', + 'B-PASSWORD', + 'I-PASSWORD', + 'B-USERNAME', + 'I-USERNAME'] + +_seqeval_metric = Seqeval() + + +def compute_ap(pred, truth): + pred_proba = 1 - softmax(pred, axis=-1)[..., 0] + pred_proba, truth = pred_proba.flatten(), np.array(truth).flatten() + pred_proba = pred_proba[truth != -100] + truth = truth[truth != -100] + + return average_precision_score(truth != 0, pred_proba) + + +def compute_metrics(p): + predictions, labels = p + avg_prec = compute_ap(predictions, labels) + predictions = np.argmax(predictions, axis=2) + + # Remove ignored index (special tokens) + true_predictions = [ + [ID2LABEL[p] for (p, l) in zip(prediction, label) if l != -100] + for prediction, label in zip(predictions, labels) + ] + true_labels = [ + [ID2LABEL[l] for (p, l) in zip(prediction, label) if l != -100] + for prediction, label in zip(predictions, labels) + ] + + results = _seqeval_metric.compute(predictions=true_predictions, references=true_labels) + agg_metrics = { + "Avg.Precision": avg_prec, + "precision": results.pop("overall_precision"), + "recall": results.pop("overall_recall"), + "f1": results.pop("overall_f1"), + } + results.pop("overall_accuracy") + per_cat_metrics = {name: metrics['f1'] for name, metrics in results.items()} + + return dict(**agg_metrics, **per_cat_metrics) diff --git a/src/privacy/util/code_detect/ner/pii_inference/utils/pipeline.py b/src/privacy/util/code_detect/ner/pii_inference/utils/pipeline.py new file mode 100644 index 0000000000000000000000000000000000000000..34ac50c93e0cefc1b2a736fbb1649bb082d85660 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/utils/pipeline.py @@ -0,0 +1,331 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +from contextlib import contextmanager +from collections import UserDict +from dataclasses import dataclass +from typing import Dict, List, Any, Iterable +import contextlib + +import torch +from packaging import version +import numpy as np +from torch.utils.data import DataLoader, IterableDataset +from transformers import is_torch_available, AutoModelForTokenClassification, AutoTokenizer, \ + DataCollatorForTokenClassification +from transformers.utils import ModelOutput + +from seqeval.metrics.sequence_labeling import get_entities +from datasets import Dataset + +from .chunking import chunk_inputs +from .postprocessing import postprocess + + +class PiiNERPipeline: + def __init__( + self, + model_name_or_path, + tokenizer=None, + device: int = -1, + window_size=512, + window_overlap=True, + batch_size=None, + num_workers=1, + id_to_label=None, + fp16=False, + bf16=False, + **kwargs, + ): + assert not (fp16 and bf16), 'I only can be fp16 or bf16!' + if isinstance(model_name_or_path, str): + self.model = AutoModelForTokenClassification.from_pretrained(model_name_or_path, **kwargs) + if tokenizer is None: + tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, add_prefix_space=True, **kwargs) + self.tokenizer = tokenizer + else: + self.model = model_name_or_path + self.tokenizer = tokenizer + + if is_torch_available() and isinstance(device, torch.device): + self.device = device + else: + self.device = torch.device("cpu" if device < 0 else f"cuda:{device}") + + self.batch_size = batch_size + self.num_workers = num_workers + self.window_size = window_size + self.window_overlap = window_overlap + self.fp16 = fp16 + self.bf16 = bf16 + + self.model = self.model.to(self.device) + + if id_to_label is None: + self.id_to_label = self.model.config.id2label + else: + self.id_to_label = id_to_label + + def __call__(self, inputs: Dataset, **kwargs): + dataset_iterator = inputs.to_iterable_dataset() + predict_iterator = self._predict_iterator(inputs, batch_size=self.batch_size) + for entry, entities in zip(dataset_iterator, predict_iterator): + yield dict(entities=entities, **entry) + + @contextmanager + def device_placement(self): + if torch.cuda.is_available(): + torch.cuda.set_device(self.device) + yield + + def ensure_tensor_on_device(self, **inputs): + """ + Ensure PyTorch tensors are on the specified device. + + Args: + inputs (keyword arguments that should be `torch.Tensor`, the rest is ignored): + The tensors to place on `self.device`. + Recursive on lists **only**. + + Return: + `Dict[str, torch.Tensor]`: The same as `inputs` but on the proper device. + """ + return self._ensure_tensor_on_device(inputs, self.device) + + def _ensure_tensor_on_device(self, inputs, device): + if isinstance(inputs, ModelOutput): + return ModelOutput( + {name: self._ensure_tensor_on_device(tensor, device) for name, tensor in inputs.items()} + ) + elif isinstance(inputs, dict): + return {name: self._ensure_tensor_on_device(tensor, device) for name, tensor in inputs.items()} + elif isinstance(inputs, UserDict): + return UserDict({name: self._ensure_tensor_on_device(tensor, device) for name, tensor in inputs.items()}) + elif isinstance(inputs, list): + return [self._ensure_tensor_on_device(item, device) for item in inputs] + elif isinstance(inputs, tuple): + return tuple([self._ensure_tensor_on_device(item, device) for item in inputs]) + elif isinstance(inputs, torch.Tensor): + if device == torch.device("cpu") and inputs.dtype in {torch.float16, torch.bfloat16}: + inputs = inputs.float() + return inputs.to(device) + else: + return inputs + + def get_inference_context(self): + inference_context = ( + torch.inference_mode if version.parse(torch.__version__) >= version.parse("1.9.0") else torch.no_grad + ) + return inference_context + + def mixed_precision_context(self): + if self.fp16: + return torch.autocast("cuda", dtype=torch.float16) + elif self.bf16: + return torch.autocast("cuda", dtype=torch.bfloat16) + else: + return contextlib.nullcontext() + + def forward(self, model_inputs, **forward_params): + with self.device_placement(): + inference_context = self.get_inference_context() + with inference_context(): + with self.mixed_precision_context(): + model_inputs["input_ids"] = model_inputs["input_ids"].to(self.device) + model_inputs["attention_mask"] = model_inputs["attention_mask"].to(self.device) + model_outputs = self._forward(model_inputs, **forward_params) + model_outputs = {name: tensor.detach().to("cpu").numpy() if isinstance(tensor, torch.Tensor) else tensor + for name, tensor in model_outputs.items()} + + return model_outputs + + def _forward(self, model_inputs, **forward_params): + # Forward + input_ids = model_inputs.pop('input_ids') + attention_mask = model_inputs.pop('attention_mask') + logits = self.model(input_ids=input_ids, + attention_mask=attention_mask, + return_dict=True, + **forward_params)['logits'] + + logits = torch.softmax(logits, dim=-1) + + # drop special tokens + logits, input_ids = logits[:, 1:-1], input_ids[:, 1:-1] + + return { + "logits": logits, + "input_ids": input_ids, + **model_inputs, + } + + @staticmethod + def combine_chunks(chunks, offsets, fill_value=0, agg='none'): + assert agg in ['none', 'average'] + + total_length = np.max(offsets) + len(chunks[np.argmax(offsets)]) + total_shape = (total_length, np.shape(chunks[0])[-1]) + combined_chunks = fill_value * np.ones(total_shape, dtype=np.array(chunks[0]).dtype) + + for chunk, offset in zip(chunks, offsets): + if agg == 'average': + combined_chunks[offset:offset + len(chunk)] += chunk + else: + combined_chunks[offset:offset + len(chunk)] = chunk + + if agg == 'average': + combined_chunks = combined_chunks / combined_chunks.sum(axis=-1, keepdims=True) + + return combined_chunks + + @staticmethod + def _get_pipeline_dataloader(dataset, tokenizer, batch_size, num_workers=1, window_size=None, window_overlap=True): + iterator = PipelineIterator(dataset, tokenizer, window_size=window_size, window_overlap=window_overlap) + loader = DataLoader(iterator, + batch_size=batch_size, + num_workers=num_workers, + collate_fn=DataCollator(tokenizer)) + return loader + + def _predict_iterator(self, inputs: Dataset, batch_size: int): + loader = self._get_pipeline_dataloader(inputs, self.tokenizer, + batch_size=batch_size, + window_size=self.window_size, + window_overlap=self.window_overlap, + num_workers=self.num_workers) + + + + processing_iterator = self.process_inputs(loader) + for processed in self.combine_chunked_inputs(processing_iterator): + yield self.extract_entities(text=processed['text'], + logits=processed['logits'], + offset_mapping=processed['offset_mapping']) + + def combine_chunked_inputs(self, processing_iterator): + for group in self.group_processed_chunks(processing_iterator): + group['logits'] = self.combine_chunks(group['logits'], group['offset'], agg='average') + yield group + + @staticmethod + def group_processed_chunks(processing_iterator): + for group in iterator_group_by(processing_iterator, column='id'): + text, offset_mapping, idx = group[0]['text'], group[0]['offset_mapping'], group[0]['id'] + group = collate(group) + group.update(id=idx, text=text, offset_mapping=offset_mapping) + yield group + + def process_inputs(self, loader): + for batch in loader: + outputs = self.forward(batch) + for sample in uncollate(outputs): + yield sample + + def extract_entities(self, text, logits, offset_mapping): + + def construct_entity(tag, start, end, score): + entity = dict(tag=tag, + start=start, + end=end, + value=text[start:end], + context=text[max(start - 50, 0):min(end + 50, len(text))], + score=score) + entity = postprocess(entity) + return entity + + logits = logits[:len(offset_mapping)] + + pred_labels = np.argmax(logits, axis=-1) + pred_labels = [self.id_to_label[l] for l in pred_labels] + label_prob = np.max(logits, axis=-1) + + pred_entities = get_entities([pred_labels]) + + entities = [construct_entity( + tag=tag, + start=offset_mapping[start_idx][0], + end=offset_mapping[end_idx][-1], + score=np.mean(label_prob[start_idx:(end_idx + 1)]), + ) + for tag, start_idx, end_idx in pred_entities] + return entities + + +@dataclass +class DataCollator(DataCollatorForTokenClassification): + _dont_touch = ['text', 'offset', 'id', 'chunk_id', 'offset_mapping'] + + def torch_call(self, features): + keys = [k for k in features[0].keys() if k in self._dont_touch] + batch = {key: [feature.pop(key) for feature in features] for key in keys} + batch.update(super().torch_call(features)) + return batch + + +class PipelineIterator(IterableDataset): + def __init__(self, + dataset, + tokenizer, + text_column='content', + window_size=512, + window_overlap=True, + ): + + self.dataset = dataset + self.tokenizer = tokenizer + self.text_column = text_column + self.window_overlap = window_overlap + self.window_size = window_size + + def __len__(self): + return len(self.dataset) + + def __iter__(self): + iterator = self.dataset.to_iterable_dataset() + iterator = iterator.map(lambda x: self.tokenizer.encode_plus( + x[self.text_column], return_offsets_mapping=True, add_special_tokens=False)) + + for item in iterator: + for chunk in chunk_inputs( + **item, + tokenizer=self.tokenizer, + max_length=self.window_size, + overlap_freq=2 if self.window_overlap else 0 + ): + yield dict(**chunk, text=item[self.text_column], offset_mapping=item['offset_mapping']) + + +def uncollate(inputs: Dict[str, List[Any]]): + keys = list(inputs.keys()) + assert all([len(inputs[k]) == len(inputs[keys[0]]) for k in keys]), \ + 'All entries must be same length. Inputs lengths: ' + ', '.join([f"{k}: {len(inputs[k])}" for k in keys]) + uncollated = [dict(zip(keys, values)) for values in zip(*[inputs[k] for k in keys])] + return uncollated + + +def collate(inputs: List[Dict[str, Any]]): + keys = inputs[0].keys() + return {key: [inp[key] for inp in inputs] for key in keys} + + +def iterator_group_by(iterator: Iterable[Dict[str, Any]], column: str): + curr_id = None + grouped_items = [] + for item in iterator: + if item[column] != curr_id: + if curr_id is not None: + yield grouped_items + grouped_items = [] + + curr_id = item[column] + grouped_items.append(item) + + if len(grouped_items) > 0: + yield grouped_items diff --git a/src/privacy/util/code_detect/ner/pii_inference/utils/postprocessing.py b/src/privacy/util/code_detect/ner/pii_inference/utils/postprocessing.py new file mode 100644 index 0000000000000000000000000000000000000000..70fa6cc2def78bbc3bfd978ce3deaec119c3e116 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/utils/postprocessing.py @@ -0,0 +1,63 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +from nltk import RegexpTokenizer +import re + +# from utils.span_ops import remap_logits +# from pii_inference.utils.span_ops import remap_logits +from privacy.util.code_detect.ner.pii_inference.utils.span_ops import remap_logits + +def postprocess(pii_entry): + start, end, old_value = pii_entry['start'], pii_entry['end'], pii_entry['value'] + new_value = old_value.lstrip('!"\'()*+,-./:;<=>?[\\]^_`{|}~') + if pii_entry.get('tag') != 'KEY': + new_value = re.sub(r'[\s\W]+$', '', new_value) + new_value = new_value.strip() + + offset = old_value.find(new_value) + pii_entry['start'] = start + offset + pii_entry['end'] = pii_entry['start'] + len(new_value) + pii_entry['value'] = new_value + return pii_entry + + +def retokenize_with_logits(content, offset_mapping, pred, tokenizer_pattern=r'[\w+\.\-]+|[\S+]', **kwargs): + """ + Re-tokenizes the `content` by RegexpTokenizer and aggregates `pred` logits for tokens which had been merged. + + Example: + + Let for next string: + + content = "\ + # Created by Big Koddy McModel + 'SUPER_SECRET_KEY':'1234LjlkdslfKSLJDjd'" + + we have next tokenization and logits: + ``` + #| Created| by| Big| Ko|ddy| Mc|Model| <|big|ko|ddy|@|example|mail|.|com|>| - tokens + [ 0 , 0 , 0.9, .8, .9, 1., 0.97, 0, .8,.9,.9,.9, 0.89 , 1. ,1.,1.,0] - logits + + '|SUPER|_|SEC|RET|_|KEY|'|:|'|1234|L|j|lk|d|s|lf|K|SL|JD|jd|'" + [ 0 ,..., 0 , .94 , ... ,.96] + ``` + + then `retokenize_with_logits` transforms it into next: + ``` + #| Created| by| Big| Koddy| McModel| <|bigkoddy|@|examplemail.com|> |'|SUPER_SECRET_KEY|'|:|'|1234LjlkdslfKSLJDjd|' + [ 0 , 0, 0.9, 0.95, 0.98, 0, 0.99, .9, 0.9 , 0,0, 0 ,0,0,0, 0.98 ] + ``` + + """ + regtok = RegexpTokenizer(tokenizer_pattern) + + new_spans = list(regtok.span_tokenize(content)) + return dict(offset_mapping=new_spans, pred=remap_logits(new_spans, offset_mapping, pred)) diff --git a/src/privacy/util/code_detect/ner/pii_inference/utils/seqevel_metric.py b/src/privacy/util/code_detect/ner/pii_inference/utils/seqevel_metric.py new file mode 100644 index 0000000000000000000000000000000000000000..0894673e1c46dbf796efddf06aef8d662b20eaf0 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/utils/seqevel_metric.py @@ -0,0 +1,163 @@ +# Copyright 2020 The HuggingFace Datasets Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""seqeval metric.""" + +import importlib +from typing import List, Optional, Union + +from seqeval.metrics import accuracy_score, classification_report + +import datasets + + +_CITATION = """\ +@inproceedings{ramshaw-marcus-1995-text, + title = "Text Chunking using Transformation-Based Learning", + author = "Ramshaw, Lance and + Marcus, Mitch", + booktitle = "Third Workshop on Very Large Corpora", + year = "1995", + url = "https://www.aclweb.org/anthology/W95-0107", +} +@misc{seqeval, + title={{seqeval}: A Python framework for sequence labeling evaluation}, + url={https://github.com/chakki-works/seqeval}, + note={Software available from https://github.com/chakki-works/seqeval}, + author={Hiroki Nakayama}, + year={2018}, +} +""" + +_DESCRIPTION = """\ +seqeval is a Python framework for sequence labeling evaluation. +seqeval can evaluate the performance of chunking tasks such as named-entity recognition, part-of-speech tagging, semantic role labeling and so on. + +This is well-tested by using the Perl script conlleval, which can be used for +measuring the performance of a system that has processed the CoNLL-2000 shared task data. + +seqeval supports following formats: +IOB1 +IOB2 +IOE1 +IOE2 +IOBES + +See the [README.md] file at https://github.com/chakki-works/seqeval for more information. +""" + +_KWARGS_DESCRIPTION = """ +Produces labelling scores along with its sufficient statistics +from a source against one or more references. + +Args: + predictions: List of List of predicted labels (Estimated targets as returned by a tagger) + references: List of List of reference labels (Ground truth (correct) target values) + suffix: True if the IOB prefix is after type, False otherwise. default: False + scheme: Specify target tagging scheme. Should be one of ["IOB1", "IOB2", "IOE1", "IOE2", "IOBES", "BILOU"]. + default: None + mode: Whether to count correct entity labels with incorrect I/B tags as true positives or not. + If you want to only count exact matches, pass mode="strict". default: None. + sample_weight: Array-like of shape (n_samples,), weights for individual samples. default: None + zero_division: Which value to substitute as a metric value when encountering zero division. Should be on of 0, 1, + "warn". "warn" acts as 0, but the warning is raised. + +Returns: + 'scores': dict. Summary of the scores for overall and per type + Overall: + 'accuracy': accuracy, + 'precision': precision, + 'recall': recall, + 'f1': F1 score, also known as balanced F-score or F-measure, + Per type: + 'precision': precision, + 'recall': recall, + 'f1': F1 score, also known as balanced F-score or F-measure +Examples: + + >>> predictions = [['O', 'O', 'B-MISC', 'I-MISC', 'I-MISC', 'I-MISC', 'O'], ['B-PER', 'I-PER', 'O']] + >>> references = [['O', 'O', 'O', 'B-MISC', 'I-MISC', 'I-MISC', 'O'], ['B-PER', 'I-PER', 'O']] + >>> seqeval = datasets.load_metric("seqeval") + >>> results = seqeval.compute(predictions=predictions, references=references) + >>> print(list(results.keys())) + ['MISC', 'PER', 'overall_precision', 'overall_recall', 'overall_f1', 'overall_accuracy'] + >>> print(results["overall_f1"]) + 0.5 + >>> print(results["PER"]["f1"]) + 1.0 +""" + + +@datasets.utils.file_utils.add_start_docstrings(_DESCRIPTION, _KWARGS_DESCRIPTION) +class Seqeval(datasets.Metric): + def _info(self): + return datasets.MetricInfo( + description=_DESCRIPTION, + citation=_CITATION, + homepage="https://github.com/chakki-works/seqeval", + inputs_description=_KWARGS_DESCRIPTION, + features=datasets.Features( + { + "predictions": datasets.Sequence(datasets.Value("string", id="label"), id="sequence"), + "references": datasets.Sequence(datasets.Value("string", id="label"), id="sequence"), + } + ), + codebase_urls=["https://github.com/chakki-works/seqeval"], + reference_urls=["https://github.com/chakki-works/seqeval"], + ) + + def _compute( + self, + predictions, + references, + suffix: bool = False, + scheme: Optional[str] = None, + mode: Optional[str] = None, + sample_weight: Optional[List[int]] = None, + zero_division: Union[str, int] = "warn", + ): + if scheme is not None: + try: + scheme_module = importlib.import_module("seqeval.scheme") + scheme = getattr(scheme_module, scheme) + except AttributeError: + raise ValueError(f"Scheme should be one of [IOB1, IOB2, IOE1, IOE2, IOBES, BILOU], got {scheme}") + report = classification_report( + y_true=references, + y_pred=predictions, + suffix=suffix, + output_dict=True, + scheme=scheme, + mode=mode, + sample_weight=sample_weight, + zero_division=zero_division, + ) + report.pop("macro avg") + report.pop("weighted avg") + overall_score = report.pop("micro avg") + + scores = { + type_name: { + "precision": score["precision"], + "recall": score["recall"], + "f1": score["f1-score"], + "number": score["support"], + } + for type_name, score in report.items() + } + scores["overall_precision"] = overall_score["precision"] + scores["overall_recall"] = overall_score["recall"] + scores["overall_f1"] = overall_score["f1-score"] + scores["overall_accuracy"] = accuracy_score(y_true=references, y_pred=predictions) + + return scores \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/pii_inference/utils/span_ops.py b/src/privacy/util/code_detect/ner/pii_inference/utils/span_ops.py new file mode 100644 index 0000000000000000000000000000000000000000..94b130f9bb6359f77703e4904ecf55caac09a10b --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/utils/span_ops.py @@ -0,0 +1,166 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +from collections import defaultdict +from typing import Tuple, Dict, Any, List + +from seqeval.metrics.sequence_labeling import get_entities +import numpy as np + +# from utils.misc import ID2LABEL, LABEL2ID +# from pii_inference.utils.misc import ID2LABEL, LABEL2ID +from privacy.util.code_detect.ner.pii_inference.utils.misc import ID2LABEL, LABEL2ID + + +def is_overlap(span: Tuple[int, int], reference_span: Tuple[int, int]) -> bool: + """ + Check if two spans overlap or not. + + Args: + span: A tuple containing the start and end indices of the first span. + reference_span: A tuple containing the start and end indices of the second span. + + Returns: + A boolean value indicating whether the two spans overlap or not. + """ + l1, r1 = min(*span), max(*span) + l2, r2 = min(*reference_span), max(*reference_span) + return l1 <= l2 < r1 or l1 < r2 <= r1 or l2 <= l1 < r2 or l2 < r1 <= r2 + + +def tokenize_and_label(entry, tokenizer): + inputs = tokenizer.encode_plus(entry['content'], return_offsets_mapping=True, add_special_tokens=False) + entry.update(inputs) + return label_tokenized(entry) + + +def label_tokenized(entry: Dict, pii_column: str = 'pii') -> Dict: + """ + Label tokenized entry with PII entities. + + Args: + entry (Dict): A dictionary containing the tokenized input and PII entities. + pii_column (str): The name of the column containing PII entities in the entry dictionary. Defaults to 'pii'. + + Returns: + dict: A dictionary containing the tokenized input and corresponding PII entity labels. + """ + content, pii = entry['content'], entry[pii_column] + + if entry['offset_mapping'][-1] == (0, 0): + entry['offset_mapping'][-1] = (len(content), len(content)) + + entry['labels'] = [LABEL2ID['O']] * len(entry['offset_mapping']) + for entity in pii: + prefix = 'B-' + entity_span = (entity['start'], entity['end']) + for i, span in enumerate(entry['offset_mapping']): + if is_overlap(entity_span, span): + label = prefix + entity['tag'] + entry['labels'][i] = LABEL2ID[label] + prefix = 'I-' + return entry + + +def convert_labels(entry: Dict[str, Any]) -> Dict[str, Any]: + """ + Converts prediction logits into entity predictions and returns them as a dictionary. + + Args: + entry (Dict[str, Any]): A dictionary containing prediction logits array `pred` for each token. + + Returns: + Dict[str, List[Dict]]: A dictionary containing the list of predicted entities + and their attributes for the given text entry. + + """ + pred = np.array(entry['pred']) + pred_labels = np.argmax(pred, axis=-1) + pred_labels = [ID2LABEL[l] for l in pred_labels] + label_prob = np.max(pred, axis=-1) + + pred_entities = get_entities([pred_labels]) + + text, spans = entry['content'], entry['offset_mapping'] + predicted_pii = [dict( + tag=tag, + value=text[spans[start_idx][0]:spans[end_idx][-1]], + start=spans[start_idx][0], + end=spans[end_idx][-1], + confidence=np.mean(label_prob[start_idx:(end_idx + 1)]) + ) + for tag, start_idx, end_idx in pred_entities] + return dict(predicted_pii=predicted_pii) + + +def map_spans(new_spans: List[Tuple[int, int]], old_spans: List[Tuple[int, int]]) -> Dict: + """ + Maps the indices of old_spans to new_spans where their indices have the same corresponding offsets. + + Args: + new_spans (List[Tuple[int,int]]): The new list of spans to map to. + old_spans (List[Tuple[int,int]]): The old list of spans to map from. + + Returns: + Dict: A mapping of the indices of each span in `new_spans` to a list of corresponding indices in `old_spans`. + """ + new_cursor = enumerate(span[-1] for span in new_spans) + old_cursor = enumerate(span[-1] for span in old_spans) + + i, j = 0, 0 + curr_new = curr_old = (0, 0) + mapping = defaultdict(list) + + while (j < len(new_spans)) or (i < len(old_spans)): + + if curr_new < curr_old: + try: + j, curr_new = next(new_cursor) + except StopIteration: + j = len(new_spans) + elif curr_new > curr_old: + try: + i, curr_old = next(old_cursor) + except StopIteration: + i = len(old_spans) + else: + try: + j, curr_new = next(new_cursor) + except StopIteration: + j = len(new_spans) + + try: + i, curr_old = next(old_cursor) + except StopIteration: + i = len(old_spans) + + if (j < len(new_spans)) and (i < len(old_spans)): + mapping[j].append(i) + + return mapping + + +def remap_logits(new_spans, old_spans, old_logits): + mapping = map_spans(new_spans, old_spans) + mapping_iter = [mapping[i] for i in range(len(mapping))] + new_logits = [np.mean([old_logits[j] for j in indices], axis=0) for indices in mapping_iter] + return np.array(new_logits) + + +def _exclude_overlaps(spans, ref_spans): + return [span for span in spans if not any([is_overlap(span, ref) for ref in ref_spans])] + + +def exclude_pii_overlap(entry): + pii_spans = [(entity['start'], entity['end']) for entity in entry['pii']] + return dict( + predicted_pii=[ent for ent in entry['predicted_pii'] + if not any([is_overlap((ent['start'], ent['end']), ref) for ref in pii_spans])] + ) diff --git a/src/privacy/util/code_detect/ner/pii_inference/x.py b/src/privacy/util/code_detect/ner/pii_inference/x.py new file mode 100644 index 0000000000000000000000000000000000000000..b46b38dd594760b8da37932a27cd66f7cf917bac --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_inference/x.py @@ -0,0 +1,6 @@ +from transformers import AutoModelForTokenClassification, AutoTokenizer +import torch +secretkey= "KEY" +ipadress= "" +email= "" +useraccountname="" \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/pii_redaction/README.md b/src/privacy/util/code_detect/ner/pii_redaction/README.md new file mode 100644 index 0000000000000000000000000000000000000000..07ed2c51314fdaee5c261ca5dbf94a859702a200 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_redaction/README.md @@ -0,0 +1,14 @@ +# PII redaction + +To run PII redaction on a dataset that went though PII detection with StarPII using the code in `./pii_inference` folder: +```bash +mkdir ./logs +LANG=python +python main_redact.py --dataset_name $DATA_PATH --target_dataset $LANG-no-pii --save_path_disk $LANG-no-pii-local +``` + +To run multiple `slurm` jobs for each programming language + +```bash +python run_pii_slurm.py --start 0 --end 88 +``` diff --git a/src/privacy/util/code_detect/ner/pii_redaction/data/data.json b/src/privacy/util/code_detect/ner/pii_redaction/data/data.json new file mode 100644 index 0000000000000000000000000000000000000000..47af3be421f74887b79a485474704cee029bbdce --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_redaction/data/data.json @@ -0,0 +1,36 @@ +[ + { + "id": 1, + "content": "Hello, my name is John Doe. My email is john.doe@example.com and my phone number is 123-456-7890.", + "entities": { + "NAME": ["John Doe"], + "EMAIL": ["john.doe@example.com"], + "PHONE_NUMBER": ["123-456-7890"] + }, + "lang": "English" + }, + { + "id": 2, + "content": "Here is a Python code snippet: \n\nfrom transformers import AutoModelForTokenClassification, AutoTokenizer\nimport torch\nsecret_key = \"my_secret_key123\"", + "entities": { + "KEY": ["my_secret_key123"], + "lang": "Python" + } + }, + { + "id": 3, + "content": "IPv4 Address: 192.168.1.1\nIPv6 Address: fe80::1", + "entities": { + "IP_ADDRESS": { + "IPv4": ["192.168.1.1"], + "IPv6": ["fe80::1"] + } + } + }, + { + "id": 4, + "content": "No PII here!", + "entities": {}, + "lang": "English" + } +] diff --git a/src/privacy/util/code_detect/ner/pii_redaction/gibberish_data/big.model b/src/privacy/util/code_detect/ner/pii_redaction/gibberish_data/big.model new file mode 100644 index 0000000000000000000000000000000000000000..8a026929cae0cf66e1b8f824fe31d278593a0ec4 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_redaction/gibberish_data/big.model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b361c35a129ce5498d09cc1fcb316d14404913ca3903403bda7b6998f6770ef0 +size 26295 diff --git a/src/privacy/util/code_detect/ner/pii_redaction/logs/pii-data.log b/src/privacy/util/code_detect/ner/pii_redaction/logs/pii-data.log new file mode 100644 index 0000000000000000000000000000000000000000..fb0f7361876e69a3bd6745eaa8fc3cddb9a7f14c --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_redaction/logs/pii-data.log @@ -0,0 +1,335 @@ +11/17/2023 06:41:07 - INFO - __main__ - ** The job is running with the following arguments: ** +Namespace(dataset_name='data', add_metadata=False, num_load_proc=64, text_column='content', split='train', batch_size=100, seed=0, num_proc=96, no_redaction=False, load_replacements=True, add_reference_text=True, check_all_files=False, check_sampling_size=0, save_mode='local', save_mode_checks='hub', target_dataset='bigcode-pii2', hub_username='loubnabnl', save_path_disk='$LANG-no-pii-local') + **** +11/17/2023 06:41:07 - INFO - __main__ - ===== Loading data ===== +11/17/2023 06:41:07 - INFO - datasets.builder - Using custom data configuration default-595f2d572c9516a3 +11/17/2023 06:41:07 - INFO - datasets.info - Loading Dataset Infos from C:\codepiiworkingdataset\piienv\lib\site-packages\datasets\packaged_modules\json +11/17/2023 06:41:07 - INFO - datasets.builder - Generating dataset data (C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-595f2d572c9516a3/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96) +11/17/2023 06:41:08 - INFO - datasets.builder - Downloading and preparing dataset data/default to C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-595f2d572c9516a3/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96... +11/17/2023 06:41:08 - INFO - datasets.builder - Dataset not on Hf google storage. Downloading and preparing it from source +11/17/2023 06:41:08 - INFO - datasets.download.download_manager - Downloading took 0.0 min +11/17/2023 06:41:08 - INFO - datasets.download.download_manager - Checksum Computation took 0.0 min +11/17/2023 06:41:08 - INFO - datasets.builder - Generating train split +11/17/2023 06:41:08 - WARNING - datasets.builder - Setting num_proc from 64 back to 1 for the train split to disable multiprocessing as it only contains one shard. +11/17/2023 06:41:08 - INFO - datasets.utils.info_utils - Unable to verify splits sizes. +11/17/2023 06:41:08 - INFO - datasets.builder - Dataset data downloaded and prepared to C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-595f2d572c9516a3/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96. Subsequent calls will reuse this data. +11/17/2023 06:41:08 - INFO - __main__ - ===== Deduplicating dataset ===== +11/17/2023 06:48:32 - INFO - __main__ - ** The job is running with the following arguments: ** +Namespace(dataset_name='data', add_metadata=False, num_load_proc=64, text_column='content', split='train', batch_size=100, seed=0, num_proc=96, no_redaction=False, load_replacements=True, add_reference_text=True, check_all_files=False, check_sampling_size=0, save_mode='local', save_mode_checks='hub', target_dataset='bigcode-pii2', hub_username='loubnabnl', save_path_disk='$LANG-no-pii-local') + **** +11/17/2023 06:48:32 - INFO - __main__ - ===== Loading data ===== +11/17/2023 06:48:32 - INFO - datasets.builder - Using custom data configuration default-595f2d572c9516a3 +11/17/2023 06:48:32 - INFO - datasets.info - Loading Dataset Infos from C:\codepiiworkingdataset\piienv\lib\site-packages\datasets\packaged_modules\json +11/17/2023 06:48:32 - INFO - datasets.builder - Overwrite dataset info from restored data version if exists. +11/17/2023 06:48:32 - INFO - datasets.info - Loading Dataset info from C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-595f2d572c9516a3\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 06:48:33 - INFO - datasets.builder - Found cached dataset data (C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-595f2d572c9516a3/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96) +11/17/2023 06:48:33 - INFO - datasets.info - Loading Dataset info from C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-595f2d572c9516a3/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 06:48:33 - INFO - __main__ - ===== Applying PII redaction ===== +11/17/2023 06:48:33 - INFO - root - Using the following replacements: +{'EMAIL': [''], + 'IP_ADDRESS': {'IPv4': ['172.16.31.10', + '172.16.58.3', + '172.16.17.32', + '192.168.127.12', + '192.168.3.11'], + 'IPv6': ['fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b', + 'fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b', + 'fc00:e968:6179::de52:7100', + 'fc00:db20:35b:7399::5', + 'fdf8:f53e:61e4::18']}, + 'KEY': [''], + 'NAME': [''], + 'PASSWORD': ['']} +11/17/2023 06:49:46 - INFO - __main__ - ** The job is running with the following arguments: ** +Namespace(dataset_name='data', add_metadata=False, num_load_proc=64, text_column='content', split='train', batch_size=100, seed=0, num_proc=96, no_redaction=False, load_replacements=True, add_reference_text=True, check_all_files=False, check_sampling_size=0, save_mode='local', save_mode_checks='hub', target_dataset='bigcode-pii2', hub_username='loubnabnl', save_path_disk='$LANG-no-pii-local') + **** +11/17/2023 06:49:46 - INFO - __main__ - ===== Loading data ===== +11/17/2023 06:49:46 - INFO - datasets.builder - Using custom data configuration default-595f2d572c9516a3 +11/17/2023 06:49:46 - INFO - datasets.info - Loading Dataset Infos from C:\codepiiworkingdataset\piienv\lib\site-packages\datasets\packaged_modules\json +11/17/2023 06:49:46 - INFO - datasets.builder - Overwrite dataset info from restored data version if exists. +11/17/2023 06:49:46 - INFO - datasets.info - Loading Dataset info from C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-595f2d572c9516a3\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 06:49:47 - INFO - datasets.builder - Found cached dataset data (C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-595f2d572c9516a3/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96) +11/17/2023 06:49:47 - INFO - datasets.info - Loading Dataset info from C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-595f2d572c9516a3/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 06:49:47 - INFO - __main__ - ===== Deduplicating dataset ===== +11/17/2023 06:49:47 - INFO - __main__ - Fraction of duplicates: 0.00% +11/17/2023 06:49:47 - INFO - __main__ - Dataset: +Dataset({ + features: ['lang', 'content'], + num_rows: 1 +}) +11/17/2023 06:59:39 - INFO - __main__ - ** The job is running with the following arguments: ** +Namespace(dataset_name='data', add_metadata=False, num_load_proc=64, text_column='content', split='train', batch_size=100, seed=0, num_proc=96, no_redaction=False, load_replacements=True, add_reference_text=True, check_all_files=False, check_sampling_size=0, save_mode='local', save_mode_checks='hub', target_dataset='bigcode-pii2', hub_username='loubnabnl', save_path_disk='$LANG-no-pii-local') + **** +11/17/2023 06:59:39 - INFO - __main__ - ===== Loading data ===== +11/17/2023 06:59:39 - INFO - datasets.builder - Using custom data configuration default-595f2d572c9516a3 +11/17/2023 06:59:39 - INFO - datasets.info - Loading Dataset Infos from C:\codepiiworkingdataset\piienv\lib\site-packages\datasets\packaged_modules\json +11/17/2023 06:59:39 - INFO - datasets.builder - Overwrite dataset info from restored data version if exists. +11/17/2023 06:59:39 - INFO - datasets.info - Loading Dataset info from C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-595f2d572c9516a3\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 06:59:40 - INFO - datasets.builder - Found cached dataset data (C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-595f2d572c9516a3/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96) +11/17/2023 06:59:40 - INFO - datasets.info - Loading Dataset info from C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-595f2d572c9516a3/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 06:59:40 - INFO - __main__ - ===== Applying PII redaction ===== +11/17/2023 06:59:40 - INFO - root - Using the following replacements: +{'EMAIL': [''], + 'IP_ADDRESS': {'IPv4': ['172.16.31.10', + '172.16.58.3', + '172.16.17.32', + '192.168.127.12', + '192.168.3.11'], + 'IPv6': ['fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b', + 'fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b', + 'fc00:e968:6179::de52:7100', + 'fc00:db20:35b:7399::5', + 'fdf8:f53e:61e4::18']}, + 'KEY': [''], + 'NAME': [''], + 'PASSWORD': ['']} +11/17/2023 07:11:02 - INFO - __main__ - ** The job is running with the following arguments: ** +Namespace(dataset_name='data', add_metadata=False, num_load_proc=64, text_column='content', split='train', batch_size=100, seed=0, num_proc=96, no_redaction=False, load_replacements=True, add_reference_text=True, check_all_files=False, check_sampling_size=0, save_mode='local', save_mode_checks='hub', target_dataset='bigcode-pii2', hub_username='loubnabnl', save_path_disk='$LANG-no-pii-local') + **** +11/17/2023 07:11:02 - INFO - __main__ - ===== Loading data ===== +11/17/2023 07:11:02 - INFO - datasets.builder - Using custom data configuration default-595f2d572c9516a3 +11/17/2023 07:11:02 - INFO - datasets.info - Loading Dataset Infos from C:\codepiiworkingdataset\piienv\lib\site-packages\datasets\packaged_modules\json +11/17/2023 07:11:02 - INFO - datasets.builder - Overwrite dataset info from restored data version if exists. +11/17/2023 07:11:02 - INFO - datasets.info - Loading Dataset info from C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-595f2d572c9516a3\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 07:11:02 - INFO - datasets.builder - Found cached dataset data (C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-595f2d572c9516a3/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96) +11/17/2023 07:11:02 - INFO - datasets.info - Loading Dataset info from C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-595f2d572c9516a3/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 07:11:02 - INFO - __main__ - ===== Applying PII redaction ===== +11/17/2023 07:11:02 - INFO - root - Using the following replacements: +{'EMAIL': [''], + 'IP_ADDRESS': {'IPv4': ['172.16.31.10', + '172.16.58.3', + '172.16.17.32', + '192.168.127.12', + '192.168.3.11'], + 'IPv6': ['fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b', + 'fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b', + 'fc00:e968:6179::de52:7100', + 'fc00:db20:35b:7399::5', + 'fdf8:f53e:61e4::18']}, + 'KEY': [''], + 'NAME': [''], + 'PASSWORD': ['']} +11/17/2023 07:11:02 - WARNING - datasets.arrow_dataset - num_proc must be <= 1. Reducing num_proc to 1 for dataset of size 1. +11/17/2023 07:13:31 - INFO - __main__ - ** The job is running with the following arguments: ** +Namespace(dataset_name='data', add_metadata=False, num_load_proc=64, text_column='content', split='train', batch_size=100, seed=0, num_proc=96, no_redaction=False, load_replacements=True, add_reference_text=True, check_all_files=False, check_sampling_size=0, save_mode='local', save_mode_checks='hub', target_dataset='bigcode-pii2', hub_username='loubnabnl', save_path_disk='$LANG-no-pii-local') + **** +11/17/2023 07:13:31 - INFO - __main__ - ===== Loading data ===== +11/17/2023 07:13:31 - INFO - datasets.builder - Using custom data configuration default-2a228e061196e1f8 +11/17/2023 07:13:31 - INFO - datasets.info - Loading Dataset Infos from C:\codepiiworkingdataset\piienv\lib\site-packages\datasets\packaged_modules\json +11/17/2023 07:13:31 - INFO - datasets.builder - Generating dataset data (C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-2a228e061196e1f8/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96) +11/17/2023 07:13:31 - INFO - datasets.builder - Downloading and preparing dataset data/default to C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-2a228e061196e1f8/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96... +11/17/2023 07:13:31 - INFO - datasets.builder - Dataset not on Hf google storage. Downloading and preparing it from source +11/17/2023 07:13:31 - INFO - datasets.download.download_manager - Downloading took 0.0 min +11/17/2023 07:13:31 - INFO - datasets.download.download_manager - Checksum Computation took 0.0 min +11/17/2023 07:13:31 - INFO - datasets.builder - Generating train split +11/17/2023 07:13:31 - WARNING - datasets.builder - Setting num_proc from 64 back to 1 for the train split to disable multiprocessing as it only contains one shard. +11/17/2023 07:13:31 - INFO - datasets.utils.info_utils - Unable to verify splits sizes. +11/17/2023 07:13:31 - INFO - datasets.builder - Dataset data downloaded and prepared to C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-2a228e061196e1f8/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96. Subsequent calls will reuse this data. +11/17/2023 07:13:31 - INFO - __main__ - ===== Applying PII redaction ===== +11/17/2023 07:13:31 - INFO - root - Using the following replacements: +{'EMAIL': [''], + 'IP_ADDRESS': {'IPv4': ['172.16.31.10', + '172.16.58.3', + '172.16.17.32', + '192.168.127.12', + '192.168.3.11'], + 'IPv6': ['fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b', + 'fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b', + 'fc00:e968:6179::de52:7100', + 'fc00:db20:35b:7399::5', + 'fdf8:f53e:61e4::18']}, + 'KEY': [''], + 'NAME': [''], + 'PASSWORD': ['']} +11/17/2023 07:13:31 - WARNING - datasets.arrow_dataset - num_proc must be <= 1. Reducing num_proc to 1 for dataset of size 1. +11/17/2023 07:18:54 - INFO - __main__ - ** The job is running with the following arguments: ** +Namespace(dataset_name='data', add_metadata=False, num_load_proc=64, text_column='content', split='train', batch_size=100, seed=0, num_proc=96, no_redaction=False, load_replacements=True, add_reference_text=True, check_all_files=False, check_sampling_size=0, save_mode='local', save_mode_checks='hub', target_dataset='bigcode-pii2', hub_username='loubnabnl', save_path_disk='$LANG-no-pii-local') + **** +11/17/2023 07:18:54 - INFO - __main__ - ===== Loading data ===== +11/17/2023 07:18:54 - INFO - datasets.builder - Using custom data configuration default-2a228e061196e1f8 +11/17/2023 07:18:54 - INFO - datasets.info - Loading Dataset Infos from C:\codepiiworkingdataset\piienv\lib\site-packages\datasets\packaged_modules\json +11/17/2023 07:18:54 - INFO - datasets.builder - Overwrite dataset info from restored data version if exists. +11/17/2023 07:18:54 - INFO - datasets.info - Loading Dataset info from C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-2a228e061196e1f8\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 07:18:54 - INFO - datasets.builder - Found cached dataset data (C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-2a228e061196e1f8/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96) +11/17/2023 07:18:54 - INFO - datasets.info - Loading Dataset info from C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-2a228e061196e1f8/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 07:18:54 - INFO - __main__ - ===== Applying PII redaction ===== +11/17/2023 07:18:54 - INFO - root - Using the following replacements: +{'EMAIL': [''], + 'IP_ADDRESS': {'IPv4': ['172.16.31.10', + '172.16.58.3', + '172.16.17.32', + '192.168.127.12', + '192.168.3.11'], + 'IPv6': ['fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b', + 'fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b', + 'fc00:e968:6179::de52:7100', + 'fc00:db20:35b:7399::5', + 'fdf8:f53e:61e4::18']}, + 'KEY': [''], + 'NAME': [''], + 'PASSWORD': ['']} +11/17/2023 07:18:54 - WARNING - datasets.arrow_dataset - num_proc must be <= 1. Reducing num_proc to 1 for dataset of size 1. +11/17/2023 07:18:54 - INFO - datasets.arrow_dataset - Caching processed dataset at C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-2a228e061196e1f8\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96\cache-d2f8ccfa23db7713.arrow +11/17/2023 07:20:17 - INFO - __main__ - ** The job is running with the following arguments: ** +Namespace(dataset_name='data', add_metadata=False, num_load_proc=64, text_column='content', split='train', batch_size=100, seed=0, num_proc=96, no_redaction=False, load_replacements=True, add_reference_text=True, check_all_files=False, check_sampling_size=0, save_mode='local', save_mode_checks='hub', target_dataset='bigcode-pii2', hub_username='loubnabnl', save_path_disk='$LANG-no-pii-local') + **** +11/17/2023 07:20:17 - INFO - __main__ - ===== Loading data ===== +11/17/2023 07:20:17 - INFO - datasets.builder - Using custom data configuration default-2a228e061196e1f8 +11/17/2023 07:20:17 - INFO - datasets.info - Loading Dataset Infos from C:\codepiiworkingdataset\piienv\lib\site-packages\datasets\packaged_modules\json +11/17/2023 07:20:17 - INFO - datasets.builder - Overwrite dataset info from restored data version if exists. +11/17/2023 07:20:17 - INFO - datasets.info - Loading Dataset info from C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-2a228e061196e1f8\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 07:20:17 - INFO - datasets.builder - Found cached dataset data (C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-2a228e061196e1f8/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96) +11/17/2023 07:20:17 - INFO - datasets.info - Loading Dataset info from C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-2a228e061196e1f8/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 07:20:17 - INFO - __main__ - ===== Applying PII redaction ===== +11/17/2023 07:20:17 - INFO - root - Using the following replacements: +{'EMAIL': [''], + 'IP_ADDRESS': {'IPv4': ['172.16.31.10', + '172.16.58.3', + '172.16.17.32', + '192.168.127.12', + '192.168.3.11'], + 'IPv6': ['fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b', + 'fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b', + 'fc00:e968:6179::de52:7100', + 'fc00:db20:35b:7399::5', + 'fdf8:f53e:61e4::18']}, + 'KEY': [''], + 'NAME': [''], + 'PASSWORD': ['']} +11/17/2023 07:20:17 - WARNING - datasets.arrow_dataset - num_proc must be <= 1. Reducing num_proc to 1 for dataset of size 1. +11/17/2023 07:20:17 - INFO - datasets.arrow_dataset - Caching processed dataset at C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-2a228e061196e1f8\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96\cache-d2f8ccfa23db7713.arrow +11/17/2023 07:21:49 - INFO - __main__ - ** The job is running with the following arguments: ** +Namespace(dataset_name='data', add_metadata=False, num_load_proc=64, text_column='content', split='train', batch_size=100, seed=0, num_proc=96, no_redaction=False, load_replacements=True, add_reference_text=True, check_all_files=False, check_sampling_size=0, save_mode='local', save_mode_checks='hub', target_dataset='bigcode-pii2', hub_username='loubnabnl', save_path_disk='$LANG-no-pii-local') + **** +11/17/2023 07:21:49 - INFO - __main__ - ===== Loading data ===== +11/17/2023 07:21:49 - INFO - datasets.builder - Using custom data configuration default-72ef16022804ae0a +11/17/2023 07:21:49 - INFO - datasets.info - Loading Dataset Infos from C:\codepiiworkingdataset\piienv\lib\site-packages\datasets\packaged_modules\json +11/17/2023 07:21:49 - INFO - datasets.builder - Generating dataset data (C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-72ef16022804ae0a/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96) +11/17/2023 07:21:49 - INFO - datasets.builder - Downloading and preparing dataset data/default to C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-72ef16022804ae0a/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96... +11/17/2023 07:21:50 - INFO - datasets.builder - Dataset not on Hf google storage. Downloading and preparing it from source +11/17/2023 07:21:50 - INFO - datasets.download.download_manager - Downloading took 0.0 min +11/17/2023 07:21:50 - INFO - datasets.download.download_manager - Checksum Computation took 0.0 min +11/17/2023 07:21:50 - INFO - datasets.builder - Generating train split +11/17/2023 07:21:50 - WARNING - datasets.builder - Setting num_proc from 64 back to 1 for the train split to disable multiprocessing as it only contains one shard. +11/17/2023 07:21:50 - INFO - datasets.utils.info_utils - Unable to verify splits sizes. +11/17/2023 07:21:50 - INFO - datasets.builder - Dataset data downloaded and prepared to C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-72ef16022804ae0a/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96. Subsequent calls will reuse this data. +11/17/2023 07:21:50 - INFO - __main__ - ===== Applying PII redaction ===== +11/17/2023 07:21:50 - INFO - root - Using the following replacements: +{'EMAIL': [''], + 'IP_ADDRESS': {'IPv4': ['172.16.31.10', + '172.16.58.3', + '172.16.17.32', + '192.168.127.12', + '192.168.3.11'], + 'IPv6': ['fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b', + 'fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b', + 'fc00:e968:6179::de52:7100', + 'fc00:db20:35b:7399::5', + 'fdf8:f53e:61e4::18']}, + 'KEY': [''], + 'NAME': [''], + 'PASSWORD': ['']} +11/17/2023 07:21:50 - WARNING - datasets.arrow_dataset - num_proc must be <= 1. Reducing num_proc to 1 for dataset of size 1. +11/17/2023 07:21:50 - INFO - datasets.arrow_dataset - Caching processed dataset at C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-72ef16022804ae0a\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96\cache-30336e076ed7a285.arrow +11/17/2023 07:23:32 - INFO - __main__ - ** The job is running with the following arguments: ** +Namespace(dataset_name='data', add_metadata=False, num_load_proc=64, text_column='content', split='train', batch_size=100, seed=0, num_proc=96, no_redaction=False, load_replacements=True, add_reference_text=True, check_all_files=False, check_sampling_size=0, save_mode='local', save_mode_checks='hub', target_dataset='bigcode-pii2', hub_username='loubnabnl', save_path_disk='$LANG-no-pii-local') + **** +11/17/2023 07:23:32 - INFO - __main__ - ===== Loading data ===== +11/17/2023 07:23:32 - INFO - datasets.builder - Using custom data configuration default-f20f9f210c1171ad +11/17/2023 07:23:32 - INFO - datasets.info - Loading Dataset Infos from C:\codepiiworkingdataset\piienv\lib\site-packages\datasets\packaged_modules\json +11/17/2023 07:23:32 - INFO - datasets.builder - Generating dataset data (C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-f20f9f210c1171ad/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96) +11/17/2023 07:23:32 - INFO - datasets.builder - Downloading and preparing dataset data/default to C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-f20f9f210c1171ad/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96... +11/17/2023 07:23:32 - INFO - datasets.builder - Dataset not on Hf google storage. Downloading and preparing it from source +11/17/2023 07:23:32 - INFO - datasets.download.download_manager - Downloading took 0.0 min +11/17/2023 07:23:32 - INFO - datasets.download.download_manager - Checksum Computation took 0.0 min +11/17/2023 07:23:32 - INFO - datasets.builder - Generating train split +11/17/2023 07:23:32 - WARNING - datasets.builder - Setting num_proc from 64 back to 1 for the train split to disable multiprocessing as it only contains one shard. +11/17/2023 07:23:32 - INFO - datasets.utils.info_utils - Unable to verify splits sizes. +11/17/2023 07:23:32 - INFO - datasets.builder - Dataset data downloaded and prepared to C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-f20f9f210c1171ad/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96. Subsequent calls will reuse this data. +11/17/2023 07:23:32 - INFO - __main__ - ===== Applying PII redaction ===== +11/17/2023 07:23:32 - INFO - root - Using the following replacements: +{'EMAIL': [''], + 'IP_ADDRESS': {'IPv4': ['172.16.31.10', + '172.16.58.3', + '172.16.17.32', + '192.168.127.12', + '192.168.3.11'], + 'IPv6': ['fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b', + 'fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b', + 'fc00:e968:6179::de52:7100', + 'fc00:db20:35b:7399::5', + 'fdf8:f53e:61e4::18']}, + 'KEY': [''], + 'NAME': [''], + 'PASSWORD': ['']} +11/17/2023 07:23:32 - WARNING - datasets.arrow_dataset - num_proc must be <= 2. Reducing num_proc to 2 for dataset of size 2. +11/17/2023 07:23:32 - INFO - datasets.arrow_dataset - Process #0 will write at C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-f20f9f210c1171ad\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96\cache-6b85daca6157946e_00000_of_00002.arrow +11/17/2023 07:23:32 - INFO - datasets.arrow_dataset - Process #1 will write at C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-f20f9f210c1171ad\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96\cache-6b85daca6157946e_00001_of_00002.arrow +11/17/2023 07:23:32 - INFO - datasets.arrow_dataset - Spawning 2 processes +11/17/2023 07:25:58 - INFO - __main__ - ** The job is running with the following arguments: ** +Namespace(dataset_name='data', add_metadata=False, num_load_proc=64, text_column='content', split='train', batch_size=100, seed=0, num_proc=96, no_redaction=False, load_replacements=True, add_reference_text=True, check_all_files=False, check_sampling_size=0, save_mode='local', save_mode_checks='hub', target_dataset='bigcode-pii2', hub_username='loubnabnl', save_path_disk='$LANG-no-pii-local') + **** +11/17/2023 07:25:58 - INFO - __main__ - ===== Loading data ===== +11/17/2023 07:25:58 - INFO - datasets.builder - Using custom data configuration default-f20f9f210c1171ad +11/17/2023 07:25:58 - INFO - datasets.info - Loading Dataset Infos from C:\codepiiworkingdataset\piienv\lib\site-packages\datasets\packaged_modules\json +11/17/2023 07:25:58 - INFO - datasets.builder - Overwrite dataset info from restored data version if exists. +11/17/2023 07:25:58 - INFO - datasets.info - Loading Dataset info from C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-f20f9f210c1171ad\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 07:25:58 - INFO - datasets.builder - Found cached dataset data (C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-f20f9f210c1171ad/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96) +11/17/2023 07:25:58 - INFO - datasets.info - Loading Dataset info from C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-f20f9f210c1171ad/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96 +11/17/2023 07:25:58 - INFO - __main__ - ===== Applying PII redaction ===== +11/17/2023 07:25:58 - INFO - root - Using the following replacements: +{'EMAIL': [''], + 'IP_ADDRESS': {'IPv4': ['172.16.31.10', + '172.16.58.3', + '172.16.17.32', + '192.168.127.12', + '192.168.3.11'], + 'IPv6': ['fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b', + 'fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b', + 'fc00:e968:6179::de52:7100', + 'fc00:db20:35b:7399::5', + 'fdf8:f53e:61e4::18']}, + 'KEY': [''], + 'NAME': [''], + 'PASSWORD': ['']} +11/17/2023 07:25:58 - WARNING - datasets.arrow_dataset - num_proc must be <= 2. Reducing num_proc to 2 for dataset of size 2. +11/17/2023 07:25:58 - INFO - datasets.arrow_dataset - Process #0 will write at C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-f20f9f210c1171ad\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96\cache-6b85daca6157946e_00000_of_00002.arrow +11/17/2023 07:25:58 - INFO - datasets.arrow_dataset - Process #1 will write at C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-f20f9f210c1171ad\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96\cache-6b85daca6157946e_00001_of_00002.arrow +11/17/2023 07:25:58 - INFO - datasets.arrow_dataset - Spawning 2 processes +11/17/2023 07:28:50 - INFO - __main__ - ** The job is running with the following arguments: ** +Namespace(dataset_name='data', add_metadata=False, num_load_proc=64, text_column='content', split='train', batch_size=100, seed=0, num_proc=96, no_redaction=False, load_replacements=True, add_reference_text=True, check_all_files=False, check_sampling_size=0, save_mode='local', save_mode_checks='hub', target_dataset='bigcode-pii2', hub_username='loubnabnl', save_path_disk='$LANG-no-pii-local') + **** +11/17/2023 07:28:50 - INFO - __main__ - ===== Loading data ===== +11/17/2023 07:28:50 - INFO - datasets.builder - Using custom data configuration default-8da3a1fce936d4dc +11/17/2023 07:28:50 - INFO - datasets.info - Loading Dataset Infos from C:\codepiiworkingdataset\piienv\lib\site-packages\datasets\packaged_modules\json +11/17/2023 07:28:50 - INFO - datasets.builder - Generating dataset data (C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-8da3a1fce936d4dc/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96) +11/17/2023 07:28:50 - INFO - datasets.builder - Downloading and preparing dataset data/default to C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-8da3a1fce936d4dc/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96... +11/17/2023 07:28:50 - INFO - datasets.builder - Dataset not on Hf google storage. Downloading and preparing it from source +11/17/2023 07:28:50 - INFO - datasets.download.download_manager - Downloading took 0.0 min +11/17/2023 07:28:50 - INFO - datasets.download.download_manager - Checksum Computation took 0.0 min +11/17/2023 07:28:50 - INFO - datasets.builder - Generating train split +11/17/2023 07:28:50 - WARNING - datasets.builder - Setting num_proc from 64 back to 1 for the train split to disable multiprocessing as it only contains one shard. +11/17/2023 07:28:50 - INFO - datasets.utils.info_utils - Unable to verify splits sizes. +11/17/2023 07:28:50 - INFO - datasets.builder - Dataset data downloaded and prepared to C:/Users/abhishek.shingan/.cache/huggingface/datasets/data/default-8da3a1fce936d4dc/0.0.0/8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96. Subsequent calls will reuse this data. +11/17/2023 07:28:50 - INFO - __main__ - ===== Applying PII redaction ===== +11/17/2023 07:28:50 - INFO - root - Using the following replacements: +{'EMAIL': [''], + 'IP_ADDRESS': {'IPv4': ['172.16.31.10', + '172.16.58.3', + '172.16.17.32', + '192.168.127.12', + '192.168.3.11'], + 'IPv6': ['fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b', + 'fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b', + 'fc00:e968:6179::de52:7100', + 'fc00:db20:35b:7399::5', + 'fdf8:f53e:61e4::18']}, + 'KEY': [''], + 'NAME': [''], + 'PASSWORD': ['']} +11/17/2023 07:28:50 - WARNING - datasets.arrow_dataset - num_proc must be <= 4. Reducing num_proc to 4 for dataset of size 4. +11/17/2023 07:28:50 - INFO - datasets.arrow_dataset - Process #0 will write at C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-8da3a1fce936d4dc\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96\cache-9a672648aafe687c_00000_of_00004.arrow +11/17/2023 07:28:50 - INFO - datasets.arrow_dataset - Process #1 will write at C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-8da3a1fce936d4dc\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96\cache-9a672648aafe687c_00001_of_00004.arrow +11/17/2023 07:28:50 - INFO - datasets.arrow_dataset - Process #2 will write at C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-8da3a1fce936d4dc\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96\cache-9a672648aafe687c_00002_of_00004.arrow +11/17/2023 07:28:50 - INFO - datasets.arrow_dataset - Process #3 will write at C:\Users\abhishek.shingan\.cache\huggingface\datasets\data\default-8da3a1fce936d4dc\0.0.0\8bb11242116d547c741b2e8a1f18598ffdd40a1d4f2a2872c7a28b697434bc96\cache-9a672648aafe687c_00003_of_00004.arrow +11/17/2023 07:28:50 - INFO - datasets.arrow_dataset - Spawning 4 processes diff --git a/src/privacy/util/code_detect/ner/pii_redaction/main_redact.py b/src/privacy/util/code_detect/ner/pii_redaction/main_redact.py new file mode 100644 index 0000000000000000000000000000000000000000..a94c7a085c2f9a1f3e5b1e338b9cbb7b80c9731b --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_redaction/main_redact.py @@ -0,0 +1,340 @@ +"""Mask detected PII in a dataset. +""" + +import argparse +import json +import logging +import random +import time +import numpy as np +from functools import partial +from pprint import pformat + +from datasets import load_dataset +from datasets.utils.logging import set_verbosity_info + +from manual_sharding import save_manual_shards +from utils import get_replacements, redact_pii_batch + + +REPONAME_TOKEN = "" +FILENAME_TOKEN = "" +STARS_TOKEN = "" + + +def get_num_stars_bucket(num_stars: int) -> str: + if num_stars is None or num_stars == 0: + return "0" + elif num_stars <= 10: + return "1-10" + elif num_stars <= 100: + return "10-100" + elif num_stars <= 1000: + return "100-1000" + else: + return "1000+" + + +def content_with_meta(example): + # TODO + res = "" + # repo-name + if np.random.binomial(n=1, p=0.2): + res += f"{REPONAME_TOKEN}{example['max_stars_repo_name']}" + # file-name + if np.random.binomial(n=1, p=0.2): + res += f"{FILENAME_TOKEN}{example['max_stars_repo_path']}" + # number of stars + if np.random.binomial(n=1, p=0.2): + num_stars = get_num_stars_bucket(example["max_stars_count"]) + res += f"{STARS_TOKEN}{num_stars}" + if len(res) > 0: + res += "\n" + res += example["content"] + + return {"content_with_meta": res} + + +def parseArgs(): + parser = argparse.ArgumentParser(description="PII detection and redaction") + parser.add_argument( + "--dataset_name", + default="bigcode/pii-for-code", + type=str, + help="HF repo name/path of the dataset.", + ) + # add arg true add metadata + parser.add_argument( + "--add_metadata", + action="store_true", + help="If set, we add metadata to the text", + ) + parser.add_argument( + "--num_load_proc", + default=64, + type=int, + help="Number of processes to use for loading the dataset", + ) + parser.add_argument( + "--text_column", + default="content", + type=str, + help="Text column to use, if will be renamed to content", + ) + parser.add_argument( + "--split", + default="train", + type=str, + help="Dataset split to process", + ) + parser.add_argument( + "--batch_size", + default=100, + type=int, + help="Batch size for the PII detection/redaction", + ) + parser.add_argument( + "--seed", + default=0, + type=int, + help="Seed for random", + ) + parser.add_argument( + "--num_proc", + default=96, + type=int, + help="Number of processes to use for the PII detection/redaction", + ) + parser.add_argument( + "--no_redaction", + action="store_true", + help="If set, we don't perform redaction", + ) + parser.add_argument( + "--load_replacements", + default=True, + help="If set, we load the replacements from file replacements.json", + ) + parser.add_argument( + "--add_reference_text", + default=True, + type=bool, + help="If True we add the reference text with PII between delimiters \ + in the redacted text -used for visualization-", + ) + parser.add_argument( + "--check_all_files", + action="store_true", + help="If set, we check all files, not only the ones that contain PII", + ) + parser.add_argument( + "--check_sampling_size", + default=0, + type=int, + help="Number of samples to check for PII", + ) + # for saving the dataset: either push to HF or save locally with datasets or save manual shards + parser.add_argument( + "--save_mode", + default="manual_shards", + type=str, + choices=["hub", "local", "manual_shards"], + help="How to save the dataset", + ) + parser.add_argument( + "--save_mode_checks", + default="hub", + type=str, + choices=["hub", "local", "manual_shards"], + help="How to save the checks dataset", + ) + # add argument for name of dataset on the hub + parser.add_argument( + "--target_dataset", + default="bigcode-pii2", + type=str, + help="HF repo name of the target dataset in save_mode=hub.", + ) + parser.add_argument( + "--hub_username", + default="loubnabnl", + type=str, + help="Username for the hub", + ) + parser.add_argument( + "--save_path_disk", + default="/fsx/loubna/data/the-stack-march-no-pii", + type=str, + help="Path to save the dataset on disk in save_mode=local.", + ) + return parser.parse_args() + + +def get_check_ds(ds, args): + if not args.check_all_files: + ds_checks = ds.filter( + lambda exs: exs["modified"], + batched=True, + batch_size=args.batch_size, + num_proc=args.num_proc, + ) + else: + ds_checks = ds + if not args.check_sampling_size: + sampling_size = len(ds_checks) + idx_samples = random.sample( + range(len(ds_checks)), min(len(ds_checks), sampling_size) + ) + ds_checks = ds_checks.select(idx_samples) + + return ds_checks + + +def check_uniques(example, uniques): + """Check if current id is still in set of unique id and remove if true.""" + if example["id"] in uniques: + uniques.remove(example["id"]) + return True + else: + return False + + +def main(): + set_verbosity_info() + args = parseArgs() + logger = logging.getLogger(__name__) + logger.setLevel(logging.INFO) + logging.basicConfig( + format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", + datefmt="%m/%d/%Y %H:%M:%S", + level=logging.INFO, + handlers=[ + logging.FileHandler(f"logs/pii-{args.dataset_name.split('/')[-1]}.log"), + logging.StreamHandler(), + ], + ) + logger.info( + f"** The job is running with the following arguments: **\n{args}\n **** " + ) + + logger.info(f" ===== Loading {args.dataset_name} =====") + ds = load_dataset( + args.dataset_name, + split=args.split, + use_auth_token=True, + num_proc=args.num_load_proc, + ) + if args.text_column != "content": + ds = ds.rename_column(args.text_column, "content") + + logger.info(f" ===== Deduplicating dataset =====") + # Deduplication based on ids + uniques = set(ds["id"]) + frac = len(uniques) / len(ds) + logger.info(f"Fraction of duplicates: {1-frac:.2%}") + logger.info(f"Dataset:\n{ds}") + # Deduplicate data and apply heuristics + t_start = time.time() + ds_pii = ds.filter(check_uniques, fn_kwargs={"uniques": uniques}) + logger.info(f"Time to filter dataset: {time.time()-t_start:.2f}") + logger.info(f"Dataset after dedup:\n{ds_pii}") + + logger.info( + f"Number of samples that contained PII: {sum([1 if x['entities'] else 0 for x in ds_pii])}" + ) + # logger.info( + # f"Total number of secrets found: {sum([len(x['entities']) for x in ds_pii])}" + # ) + + # redact PII in the dataset + logger.info(f" ===== Applying PII redaction =====") + random.seed(args.seed) + + replacements = get_replacements() + with open("replacements.json", "w") as f: + json.dump(replacements, f) + logging.info(f"Using the following replacements:\n{pformat(replacements)}") + ds_pii = ds_pii.map( + partial( + redact_pii_batch, + replacements=replacements, + add_references=args.add_reference_text, + ), + batched=True, + batch_size=args.batch_size, + num_proc=args.num_proc, + ) + logging.info(f"Dataset info after PII redaction:\n{ds_pii}") + + # check the dataset + logger.info( + f" ===== Checking {args.check_sampling_size} samples from those modified in the dataset =====" + ) + ds_checks = get_check_ds(ds_pii, args) + + # save checks dataset + if len(ds_checks) == 0: + logger.info("Dataset was empty. Not saving anything.") + else: + logger.info(f"Checks dataset info {ds_checks}") + if args.save_mode_checks == "hub": + logger.info( + f"Pushing the checks dataset to the Hub as {args.target_dataset}_checks" + ) + ds_checks.push_to_hub(args.target_dataset + "_checks", private=True) + + elif args.save_mode_checks == "local": + logger.info(f"Saving the checks dataset to disk") + ds_checks.save_to_disk(args.save_path_disk + "_checks") + + elif args.save_mode_checks == "manual_shards": + logger.info(f"Saving the checks dataset in manual shards") + save_manual_shards( + ds_checks, + user=args.hub_username, + remote_dataset_repo=args.target_dataset + "_checks", + local_dir="/fsx/loubna/data/the-stack-march-no-pii_checks", + ) + + logger.info("Removing columns that are not needed for the final dataset") + columns = ["content", "modified", "entities"] + if args.add_reference_text: + columns.append("references") + ds_pii = ds_pii.remove_columns(columns) + ds_pii = ds_pii.rename_column("new_content", "content") + logger.info(f"Dataset info after removing columns:\n{ds_pii}") + + if args.add_metadata: + logger.info(f" ===== Adding metadata =====") + ds_pii = ds_pii.map( + content_with_meta, remove_columns=["content"], num_proc=args.num_proc + ) + ds_pii = ds_pii.rename_column("content_with_meta", "content") + + # save the final dataset + if args.save_mode == "hub": + logger.info( + f" ===== Pushing the dataset to the Hub as: {args.target_dataset} =====" + ) + ds_pii.push_to_hub(args.target_dataset, private=True) + + elif args.save_mode == "local": + logger.info(f" ===== Saving the dataset to disk =====") + ds_pii.save_to_disk(args.save_path_disk) + + elif args.save_mode == "manual_shards": + logger.info( + f" ===== Saving the dataset in manual shards to {args.save_path_disk} =====" + ) + save_manual_shards( + ds_pii, + user=args.hub_username, + remote_dataset_repo="the-stack-no-pii-march", + local_dir=args.save_path_disk, + ) + + logger.info(f" ===== Dataset saved successfully =====") + + +if __name__ == "__main__": + main() diff --git a/src/privacy/util/code_detect/ner/pii_redaction/manual_sharding.py b/src/privacy/util/code_detect/ner/pii_redaction/manual_sharding.py new file mode 100644 index 0000000000000000000000000000000000000000..8e9f8940bbd9caf5cfa140841dcf5fe0f24f18a2 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_redaction/manual_sharding.py @@ -0,0 +1,70 @@ +import os +import time +from multiprocessing import Pool +from tqdm import tqdm + +from huggingface_hub import Repository + + +def save_shard(shard_tuple): + """Save shard""" + filename, shard = shard_tuple + # use to_json instead to save as json file + shard.to_parquet(filename) + + +def save_manual_shards( + ds, + user="loubnabnl", + remote_dataset_repo="bigcode-pii-pjj", + local_dir="/fsx/loubna/data/the-stack-march-no-pii", +): + """Save sharded data + Args: + ds (Dataset): dataset to be saved + user (str): user name + out_path (str): path to save the shards""" + # this will create a folder OUT_PATH that is a clone of REMOTE_DATASET_REPO + # you can save the shards inside it and do git add/commit/push to push data to the hub + out_path = remote_dataset_repo if local_dir is None else local_dir + # if out path doesnt already exist + if not os.path.exists(out_path): + repo = Repository( + local_dir=out_path, + clone_from=user + "/" + remote_dataset_repo, + repo_type="dataset", + use_auth_token=True, + git_user=user, + ) + + # files will be numerous we save them in a folder called data inside out_path + os.mkdir(out_path + "/data") + SHARD_SIZE = 1000 << 20 + if ds._indices is not None: + dataset_nbytes = ds.data.nbytes * len(ds._indices) / len(ds.data) + else: + dataset_nbytes = ds.data.nbytes + num_shards = int(dataset_nbytes / SHARD_SIZE) + 1 + print(f"Number of shards: {num_shards}") + + print("sharding the dataset") + t_start = time.time() + shards = ( + ds.shard(num_shards=num_shards, index=i, contiguous=True) + for i in range(num_shards) + ) + # use f"{OUT_PATH}/data/train-{index:05d}-of-{num_shards:05d}.json" instead for json files + filenames = ( + f"{out_path}/data/train-{index:05d}-of-{num_shards:05d}.parquet" + for index in range(num_shards) + ) + + with Pool(16) as p: + list( + tqdm( + p.imap_unordered(save_shard, zip(filenames, shards), chunksize=4), + total=num_shards, + ) + ) + print(f"Time to save dataset: {time.time()-t_start:.2f}") + # to push dataset to hub do: git add/commit/push inside OUT_PATH diff --git a/src/privacy/util/code_detect/ner/pii_redaction/redact.py b/src/privacy/util/code_detect/ner/pii_redaction/redact.py new file mode 100644 index 0000000000000000000000000000000000000000..764ea54a319f514f296272f0084804c312ea9bef --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_redaction/redact.py @@ -0,0 +1,305 @@ +import argparse +import json +import logging +import random +import time +import numpy as np +from functools import partial +from pprint import pformat + +from datasets import load_dataset +from datasets.utils.logging import set_verbosity_info + +from manual_sharding import save_manual_shards +from utils import get_replacements, redact_pii_batch + + +REPONAME_TOKEN = "" +FILENAME_TOKEN = "" +STARS_TOKEN = "" + + +def get_num_stars_bucket(num_stars: int) -> str: + if num_stars is None or num_stars == 0: + return "0" + elif num_stars <= 10: + return "1-10" + elif num_stars <= 100: + return "10-100" + elif num_stars <= 1000: + return "100-1000" + else: + return "1000+" + + +def content_with_meta(example): + res = "" + if np.random.binomial(n=1, p=0.2): + res += f"{REPONAME_TOKEN}{example['max_stars_repo_name']}" + if np.random.binomial(n=1, p=0.2): + res += f"{FILENAME_TOKEN}{example['max_stars_repo_path']}" + if np.random.binomial(n=1, p=0.2): + num_stars = get_num_stars_bucket(example["max_stars_count"]) + res += f"{STARS_TOKEN}{num_stars}" + if len(res) > 0: + res += "\n" + res += example["content"] + + return {"content_with_meta": res} + + +def parseArgs(): + parser = argparse.ArgumentParser(description="PII detection and redaction") + parser.add_argument( + "--dataset_name", + default="bigcode/pii-for-code", + type=str, + help="HF repo name/path of the dataset.", + ) + # add arg true add metadata + parser.add_argument( + "--add_metadata", + action="store_true", + help="If set, we add metadata to the text", + ) + parser.add_argument( + "--num_load_proc", + default=64, + type=int, + help="Number of processes to use for loading the dataset", + ) + parser.add_argument( + "--text_column", + default="content", + type=str, + help="Text column to use, if will be renamed to content", + ) + parser.add_argument( + "--split", + default="train", + type=str, + help="Dataset split to process", + ) + parser.add_argument( + "--batch_size", + default=100, + type=int, + help="Batch size for the PII detection/redaction", + ) + parser.add_argument( + "--seed", + default=0, + type=int, + help="Seed for random", + ) + parser.add_argument( + "--num_proc", + default=96, + type=int, + help="Number of processes to use for the PII detection/redaction", + ) + parser.add_argument( + "--no_redaction", + action="store_true", + help="If set, we don't perform redaction", + ) + parser.add_argument( + "--load_replacements", + default=True, + help="If set, we load the replacements from file replacements.json", + ) + parser.add_argument( + "--add_reference_text", + default=True, + type=bool, + help="If True we add the reference text with PII between delimiters \ + in the redacted text -used for visualization-", + ) + parser.add_argument( + "--check_all_files", + action="store_true", + help="If set, we check all files, not only the ones that contain PII", + ) + parser.add_argument( + "--check_sampling_size", + default=0, + type=int, + help="Number of samples to check for PII", + ) + # for saving the dataset: either push to HF or save locally with datasets or save manual shards + parser.add_argument( + "--save_mode", + default="manual_shards", + type=str, + choices=["hub", "local", "manual_shards"], + help="How to save the dataset", + ) + parser.add_argument( + "--save_mode_checks", + default="hub", + type=str, + choices=["hub", "local", "manual_shards"], + help="How to save the checks dataset", + ) + # add argument for name of dataset on the hub + parser.add_argument( + "--target_dataset", + default="bigcode-pii2", + type=str, + help="HF repo name of the target dataset in save_mode=hub.", + ) + parser.add_argument( + "--hub_username", + default="loubnabnl", + type=str, + help="Username for the hub", + ) + parser.add_argument( + "--save_path_disk", + default="/fsx/loubna/data/the-stack-march-no-pii", + type=str, + help="Path to save the dataset on disk in save_mode=local.", + ) + return parser.parse_args() + + +def get_check_ds(ds, args): + if not args.check_all_files: + ds_checks = ds.filter( + lambda exs: exs["modified"], + batched=True, + batch_size=args.batch_size, + num_proc=args.num_proc, + ) + else: + ds_checks = ds + if not args.check_sampling_size: + sampling_size = len(ds_checks) + idx_samples = random.sample( + range(len(ds_checks)), min(len(ds_checks), sampling_size) + ) + ds_checks = ds_checks.select(idx_samples) + + return ds_checks + + +def main(): + set_verbosity_info() + args = parseArgs() + logger = logging.getLogger(__name__) + logger.setLevel(logging.INFO) + logging.basicConfig( + format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", + datefmt="%m/%d/%Y %H:%M:%S", + level=logging.INFO, + handlers=[ + logging.FileHandler(f"logs/pii-{args.dataset_name.split('/')[-1]}.log"), + logging.StreamHandler(), + ], + ) + logger.info( + f"** The job is running with the following arguments: **\n{args}\n **** " + ) + + logger.info(f" ===== Loading {args.dataset_name} =====") + ds = load_dataset( + args.dataset_name, + split=args.split, + use_auth_token=True, + num_proc=args.num_load_proc, + ) + if args.text_column != "content": + ds = ds.rename_column(args.text_column, "content") + + # redact PII in the dataset + logger.info(f" ===== Applying PII redaction =====") + random.seed(args.seed) + + replacements = get_replacements() + with open("replacements.json", "w") as f: + json.dump(replacements, f) + logging.info(f"Using the following replacements:\n{pformat(replacements)}") + ds = ds.map( + partial( + redact_pii_batch, + replacements=replacements, + add_references=args.add_reference_text, + ), + batched=True, + batch_size=args.batch_size, + num_proc=args.num_proc, + ) + logging.info(f"Dataset info after PII redaction:\n{ds}") + + # check the dataset + logger.info( + f" ===== Checking {args.check_sampling_size} samples from those modified in the dataset =====" + ) + ds_checks = get_check_ds(ds, args) + + # save checks dataset + if len(ds_checks) == 0: + logger.info("Dataset was empty. Not saving anything.") + else: + logger.info(f"Checks dataset info {ds_checks}") + if args.save_mode_checks == "hub": + logger.info( + f"Pushing the checks dataset to the Hub as {args.target_dataset}_checks" + ) + ds_checks.push_to_hub(args.target_dataset + "_checks", private=True) + + elif args.save_mode_checks == "local": + logger.info(f"Saving the checks dataset to disk") + ds_checks.save_to_disk(args.save_path_disk + "_checks") + + elif args.save_mode_checks == "manual_shards": + logger.info(f"Saving the checks dataset in manual shards") + save_manual_shards( + ds_checks, + user=args.hub_username, + remote_dataset_repo=args.target_dataset + "_checks", + local_dir="/fsx/loubna/data/the-stack-march-no-pii_checks", + ) + + logger.info("Removing columns that are not needed for the final dataset") + columns = ["content", "modified", "entities"] + if args.add_reference_text: + columns.append("references") + ds = ds.remove_columns(columns) + ds = ds.rename_column("new_content", "content") + logger.info(f"Dataset info after removing columns:\n{ds}") + + if args.add_metadata: + logger.info(f" ===== Adding metadata =====") + ds = ds.map( + content_with_meta, remove_columns=["content"], num_proc=args.num_proc + ) + ds = ds.rename_column("content_with_meta", "content") + + # save the final dataset + if args.save_mode == "hub": + logger.info( + f" ===== Pushing the dataset to the Hub as: {args.target_dataset} =====" + ) + ds.push_to_hub(args.target_dataset, private=True) + + elif args.save_mode == "local": + logger.info(f" ===== Saving the dataset to disk =====") + ds.save_to_disk(args.save_path_disk) + + elif args.save_mode == "manual_shards": + logger.info( + f" ===== Saving the dataset in manual shards to {args.save_path_disk} =====" + ) + save_manual_shards( + ds, + user=args.hub_username, + remote_dataset_repo="the-stack-no-pii-march", + local_dir=args.save_path_disk, + ) + + logger.info(f" ===== Dataset saved successfully =====") + + +if __name__ == "__main__": + main() diff --git a/src/privacy/util/code_detect/ner/pii_redaction/replacements.json b/src/privacy/util/code_detect/ner/pii_redaction/replacements.json new file mode 100644 index 0000000000000000000000000000000000000000..474eccc4776dfd9c112c7b508ab70ff680d01118 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_redaction/replacements.json @@ -0,0 +1 @@ +{"EMAIL": [""], "KEY": [""], "NAME": [""], "PASSWORD": [""], "IP_ADDRESS": {"IPv4": ["172.16.31.10", "172.16.58.3", "172.16.17.32", "192.168.127.12", "192.168.3.11"], "IPv6": ["fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b", "fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b", "fc00:e968:6179::de52:7100", "fc00:db20:35b:7399::5", "fdf8:f53e:61e4::18"]}} \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/pii_redaction/run_pii_slurm.py b/src/privacy/util/code_detect/ner/pii_redaction/run_pii_slurm.py new file mode 100644 index 0000000000000000000000000000000000000000..5aee4ab488df2675decc734758beeef667d68e16 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_redaction/run_pii_slurm.py @@ -0,0 +1,206 @@ +import os +import argparse +import subprocess + +SCRIPT_DIR = "/fsx/loubna/code/bigcode-dataset/pii/ner/pii_redaction/jobs/scripts" +def get_args(): + parser = argparse.ArgumentParser() + parser.add_argument("--start", type=int, default=0) + parser.add_argument("--end", type=int, default=10) + parser.add_argument("--text_column", type=str, default="content") + args = parser.parse_args() + return args + + +def submit_job(job, job_name="job"): + with open(f"{SCRIPT_DIR}/{job_name}.sbatch", "w") as fp: + fp.write(job) + #os.system(f"{SCRIPT_DIR}/{job_name}.sbatch") + subprocess.run(["sbatch", f"{SCRIPT_DIR}/{job_name}.sbatch"]) + + +def makejob(JOB_NAME="pii-redaction", LANG=None, TEXT_COLUMN="content"): + return f"""#!/bin/bash + +#SBATCH --job-name={JOB_NAME} +#SBATCH --nodes=1 +#SBATCH --ntasks-per-node=1 # crucial - only 1 task per dist per node! +#SBATCH --cpus-per-task=96 +#SBATCH --gres=gpu:8 +#SBATCH --partition=production-cluster +#SBATCH -o /fsx/loubna/code/bigcode-dataset/pii/ner/pii_redaction/jobs/logs/%x-%j.out +#SBATCH -e /fsx/loubna/code/bigcode-dataset/pii/ner/pii_redaction/jobs/logs/%x-%j.err + +set -x -e +source /admin/home/loubna/.bashrc +conda activate eval-harness + +# File Path setup +echo "START TIME: $(date)" + +# Experiment parameters +LANG={LANG} + +# Training Setup +GPUS_PER_NODE=8 +# so processes know who to talk to +MASTER_ADDR=$(scontrol show hostnames $SLURM_JOB_NODELIST | head -n 1) +MASTER_PORT=6000 +NNODES=$SLURM_NNODES +NODE_RANK=$SLURM_PROCID +WORLD_SIZE=$(($GPUS_PER_NODE*$NNODES)) + + + +CMD=" \ + /fsx/loubna/code/bigcode-dataset/pii/ner/pii_redaction/main_redact.py \ + --add_metadata \ + --text_column {TEXT_COLUMN} \ + --dataset_name /fsx/leandro/data/pii_result/{LANG} \ + --target_dataset the-stack-no-pii-{LANG} \ + --save_path_disk /fsx/loubna/data/the-stack-march-no-pii-test/{LANG} + " + +export LAUNCHER="python \ + " + +# force crashing on nccl issues like hanging broadcast +export NCCL_ASYNC_ERROR_HANDLING=1 +# export NCCL_DEBUG=INFO +# export NCCL_DEBUG_SUBSYS=COLL +# export NCCL_SOCKET_NTHREADS=1 +# export NCCL_NSOCKS_PERTHREAD=1 +# export CUDA_LAUNCH_BLOCKING=1 + +# AWS specific +export NCCL_PROTO=simple +export RDMAV_FORK_SAFE=1 +export FI_EFA_FORK_SAFE=1 +export FI_EFA_USE_DEVICE_RDMA=1 +export FI_PROVIDER=efa +export FI_LOG_LEVEL=1 +export NCCL_IB_DISABLE=1 +export NCCL_SOCKET_IFNAME=ens + +echo $CMD + +# srun error handling: +# --wait=60: wait 60 sec after the first task terminates before terminating all remaining tasks +# --kill-on-bad-exit=1: terminate a step if any task exits with a non-zero exit code +SRUN_ARGS=" \ + --wait=60 \ + --kill-on-bad-exit=1 \ + " + +# py-spy top -s -i -n -- $LAUNCHER --node_rank $SLURM_PROCID --role $SLURMD_NODENAME: $CMD +clear; srun $SRUN_ARGS --jobid $SLURM_JOB_ID bash -c "$LAUNCHER $CMD" 2>&1 | tee $LOG_PATH + +echo "END TIME: $(date)" +""" + + +if __name__ == "__main__": + args = get_args() + # 88 PLs + languages = [ + "markdown", + "cpp", + "java", + "c-sharp", + "php", + "assembly", + "html", + "c", + "javascript", + "python", + "haskell", + "fortran", + "typescript", + "sparql", + "antlr", + "tex", + "lean", + "literate-haskell", + "elm", + "standard-ml", + "powershell", + "stan", + "matlab", + "solidity", + "smalltalk", + "tcsh", + "idris", + "julia", + "bluespec", + "visual-basic", + "java-server-pages", + "cuda", + "yacc", + "racket", + "thrift", + "sql", + "protocol-buffer", + "elixir", + "kotlin", + "vhdl", + "scheme", + "tcl", + "isabelle", + "prolog", + "json", + "restructuredtext", + "ada", + "rmarkdown", + "clojure", + "r", + "zig", + "ruby", + "batchfile", + "erlang", + "stata", + "xslt", + "css", + "augeas", + "agda", + "awk", + "groovy", + "coffeescript", + "lua", + "systemverilog", + "common-lisp", + "scala", + "verilog", + "dart", + "maple", + "shell", + "alloy", + "rust", + "sas", + "ocaml", + "go", + "literate-coffeescript", + "emacs-lisp", + "literate-agda", + "f-sharp", + "pascal", + "applescript", + "glsl", + "yaml", + "makefile", + "perl", + "mathematica", + "dockerfile", + "cmake", + ] + for i in range(args.start, args.end + 1): + language = languages[i] + print(f"Submitting jobs for experiment on language {language}") + job_name = f"{language}-pii-redaction-idx_{i}" + job = makejob( + JOB_NAME=job_name, + LANG=language, + TEXT_COLUMN=args.text_column, + ) + # submit the job + print(f"Job for lang {language} ready and saved at jobs/{job_name}.sbatch") + submit_job(job, job_name) diff --git a/src/privacy/util/code_detect/ner/pii_redaction/utils.py b/src/privacy/util/code_detect/ner/pii_redaction/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..31482bc6a4c125641e174f5c2a44569a28671be9 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_redaction/utils.py @@ -0,0 +1,208 @@ +import ipaddress +import random +from gibberish_detector import detector +## USERNAME IS IN IGNORE BECAUSE MODEL IS DETECTING FALSE POSITIVES +## It is given in ignore list, in starCoder repo itself +IGNORE = ["USERNAME","PASSWORD","AMBIGUOUS"] +# List of random private IP addresses to use as replacements +REPLACEMENTS_IP = { + "IPv4": [ + "172.16.31.10", + "172.16.58.3", + "172.16.17.32", + "192.168.127.12", + "192.168.3.11", + ], + "IPv6": [ + "fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b", + "fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b", + "fc00:e968:6179::de52:7100", + "fc00:db20:35b:7399::5", + "fdf8:f53e:61e4::18", + ], +} + +# DNS to avoid masking +POPULAR_DNS_SERVERS = [ + "8.8.8.8", + "8.8.4.4", + "1.1.1.1", + "1.0.0.1", + "76.76.19.19", + "76.223.122.150", + "9.9.9.9", + "149.112.112.112", + "208.67.222.222", + "208.67.220.220", + "8.26.56.26", + "8.20.247.20", + "94.140.14.14", + "94.140.15.15", +] + + +def is_key(matched_str): + """Checks to make sure the PII span is long enough and is gibberish and not word like""" + # pip install gibberish-detector + # download the training corpora from https://raw.githubusercontent.com/domanchi/gibberish-detector/master/examples/big.txt + # run gibberish-detector train big.txt > big.model to generate the model (it takes 3 seconds) + Detector = detector.create_from_model( + "privacy/util/code_detect/ner/pii_redaction/gibberish_data/big.model" + ) + is_gibberish = Detector.is_gibberish(matched_str.lower()) + return is_gibberish and len(matched_str) > 8 + + +def is_secret(matched_str): + """Checks to make sure the PII span is long enough""" + return len(matched_str) > 3 + + +def is_full_name(matched_str): + """Checks if detected name is a full names and not just first or last name""" + return len(matched_str.split()) > 1 + + +def get_replacements(): + """Build dictionaries of replacements for PII (key, email, IP address, name, password)""" + ip_addresses = REPLACEMENTS_IP + return { + "EMAIL": [""], + "KEY": [""], + "NAME": [""], + "IP_ADDRESS": [""], + # "USERNAME" : [""] + } + + +# def replace_ip(value, replacements_dict): +# """Replace an IP address with a synthetic IP address of the same format""" +# try: +# ipaddress.IPv4Address(value) +# return random.choice(replacements_dict["IP_ADDRESS"]["IPv4"]) +# except ValueError: +# try: +# ipaddress.IPv6Address(value) +# return random.choice(replacements_dict["IP_ADDRESS"]["IPv6"]) +# except ValueError: +# # this doesn't happen if we already use ipaddress filter in the detection +# print("Invalid IP address") +# return value + +def replace_ip(value): + """Replace an IP address with a synthetic IP address of the same format""" + return "" + + +def is_secret_ip(ip): + """Check if an IP address is allocated for private networks (non internet facing), or is not an ip address at all""" + try: + ip = ipaddress.ip_address(ip) + except ValueError: + # not an ip address + return True + return ip.is_private + + +def redact_pii_text(text, secrets, replacements, add_references=False): + """Redact PII in a text + Args: + text (str): text to redact + secrets (list): list with the secrets to redact + replacements (dict): dictionary of replacements for each PII type + add_references (bool): whether to add references to the redacted text (delimiters to PII) + for vizualization + Returns: + text (str): new text with redacted secrets + """ + modified = False + if secrets: + secrets = sorted(secrets, key=lambda x: x["start"]) + # store the secrets that were replaced here with their replacements + replaced_secrets = {} + subparts = [] + references = [] + step = 0 + last_text = text + for secret in secrets: + # Debug: print each secret being processed + print(f"Processing secret: {secret}") + + # some post-processing + if secret["tag"] in IGNORE or not is_secret(secret["value"]): + continue + if secret["tag"] == "IP_ADDRESS": + print("IP_ADDRESS detected") + # skip if it's not actual ip address, is a popular DNS server or private IP address + if is_secret_ip(secret["value"]) or ( + secret["value"] in POPULAR_DNS_SERVERS + ): + continue + if secret["tag"] == "KEY" and not is_key(secret["value"]): + continue + if secret["tag"] == "NAME" and not is_full_name(secret["value"]): + continue + modified = True + subtext = text[step : secret["start"]] + subpart = subtext if subtext else " " + subparts.append(subpart) + # if secret is already in replaced_secrets, use the same replacement + if secret["value"] in replaced_secrets: + replacement = replaced_secrets[secret["value"]] + else: + if secret["tag"] == "IP_ADDRESS": + replacement = replace_ip(secret["value"]) + else: + replacement = random.choice(replacements[secret["tag"]]) + replaced_secrets[secret["value"]] = replacement + subparts.append(replacement) + replaced_secrets[secret["value"]] = replacement + if add_references: + references.append(subpart) + references.append(f"PI:{secret['tag']}:{replacement}END_PI") + last_text = text[secret["end"] :] + step = secret["end"] + # if subparts are not empty join them (it can be empty when all secrets were skipped) + new_text = "".join(subparts) + last_text if subparts else last_text + if add_references: + references = "".join(references) + last_text if references else "" + else: + new_text = text + references = "" + result = ( + (new_text, references, modified) if add_references else (new_text, modified) + ) + return result + + +def redact_pii_batch(examples, replacements, add_references=True): + """Anonymize PII in a batch of examples from a dataset""" + new_contents = [] + references = [] + modified = [] + for text, secrets in zip( + examples["content"], + examples["entities"], + ): + if secrets: + if add_references: + new_text, reference, modif = redact_pii_text( + text, secrets, replacements, add_references + ) + references.append(reference) + else: + new_text, modif = redact_pii_text(text, secrets, replacements) + new_contents.append(new_text) + modified.append(modif) + else: + new_contents.append(text) + references.append(text) + modified.append(False) + result = {"new_content": new_contents, "modified": modified} + if add_references: + result.update({"references": references}) + return result + + + + diff --git a/src/privacy/util/code_detect/ner/pii_train_ner/README.md b/src/privacy/util/code_detect/ner/pii_train_ner/README.md new file mode 100644 index 0000000000000000000000000000000000000000..1a976247bd0e5fb7a5c20b0b65bbc3db8669377a --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_train_ner/README.md @@ -0,0 +1,14 @@ +# Fine-tuning StarEncoder on an NER task for PII detection + +To run the training on an annotated PII dataset (`bigcode/pii-full-ds` in our case, you might need to adpat the code to fit your dataset), use the following command: +```bash +python -m torch.distributed.launch \ + --nproc_per_node number_of_gpus train.py \ + --dataset_name bigcode/pii-full-ds \ + --debug \ + --learning_rate 2e-5 \ + --train_batch_size 8 \ + --bf16 \ + --add_not_curated +``` +Note that we use a global batch size of 64 (8*8 GPUs). To use only curated dataset remove the flag `--add_not_curated`. \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/pii_train_ner/train.py b/src/privacy/util/code_detect/ner/pii_train_ner/train.py new file mode 100644 index 0000000000000000000000000000000000000000..4e764cc65643b1062f84739228cddc212dc0d647 --- /dev/null +++ b/src/privacy/util/code_detect/ner/pii_train_ner/train.py @@ -0,0 +1,251 @@ +import argparse +import os +from pprint import pprint + +from datasets import DatasetDict, load_dataset +from tqdm import tqdm +from functools import partial +from transformers import ( + AutoModelForTokenClassification, + AutoTokenizer, + DataCollatorForTokenClassification, + EarlyStoppingCallback, + Trainer, + TrainingArguments, + set_seed, + logging +) + +from utils.preprocessing import chunk_dataset, tokenize_and_label_batch +from utils.eval import compute_metrics + + +# Special tokens +MASK_TOKEN = "" +SEPARATOR_TOKEN = "" +PAD_TOKEN = "" +CLS_TOKEN = "" + +# NER tags +CATEGORIES = [ + "NAME", + "EMAIL", + "EMAIL_EXAMPLE", + "USERNAME", + "KEY", + "IP_ADDRESS", + "PASSWORD", +] +IGNORE_CLASS = ["AMBIGUOUS", "ID", "NAME_EXAMPLE", "USERNAME_EXAMPLE"] + +LABEL2ID = {"O": 0} +for cat in CATEGORIES: + LABEL2ID[f"B-{cat}"] = len(LABEL2ID) + LABEL2ID[f"I-{cat}"] = len(LABEL2ID) +ID2LABEL = {v: k for k, v in LABEL2ID.items()} + +def get_args(): + parser = argparse.ArgumentParser() + parser.add_argument("--model_ckpt", type=str, default="bigcode/bigcode-encoder") + parser.add_argument( + "--dataset_name", + type=str, + default="bigcode/pii-full-ds" + ) + # addprefix to wandb run + parser.add_argument("--prefix", type=str, default="") + parser.add_argument("--add_not_curated", action="store_true") + parser.add_argument("--train_batch_size", type=int, default=4) + parser.add_argument("--eval_batch_size", type=int, default=4) + parser.add_argument("--num_train_epochs", type=int, default=100) + + parser.add_argument("--learning_rate", type=float, default=1e-5) + parser.add_argument("--lr_scheduler_type", type=str, default="cosine") + parser.add_argument("--weight_decay", type=float, default=0.01) + parser.add_argument("--warmup_steps", type=int, default=100) + + parser.add_argument("--gradient_checkpointing", action="store_true") + parser.add_argument("--gradient_accumulation_steps", type=int, default=1) + parser.add_argument("--eval_accumulation_steps", type=int, default=1) + parser.add_argument("--num_proc", type=int, default=8) + parser.add_argument("--bf16", action="store_true") + parser.add_argument("--fp16", action="store_true") + + parser.add_argument("--local_rank", type=int, default=0) + parser.add_argument("--seed", type=int, default=0) + parser.add_argument("--num_workers", type=int, default=8) + parser.add_argument("--eval_freq", type=int, default=100) + parser.add_argument("--save_freq", type=int, default=1000) + parser.add_argument("--debug", action="store_true") + parser.add_argument("--output_dir", type=str, default="finetuned-encoder-pii") + return parser.parse_args() + + +def get_stats(data): + # get number of B-cat for cat in categories for each data split + stats = {cat: 0 for cat in CATEGORIES} + for entry in tqdm(data): + for label in entry["labels"]: + # only add labels for beginning with B- + if label > 0 and ID2LABEL[label].startswith("B-"): + stats[ID2LABEL[label][2:]] += 1 + return stats + + +def prepare_tokenizer(tokenizer): + tokenizer.add_special_tokens({"pad_token": PAD_TOKEN}) + tokenizer.add_special_tokens({"sep_token": SEPARATOR_TOKEN}) + tokenizer.add_special_tokens({"cls_token": CLS_TOKEN}) + tokenizer.add_special_tokens({"mask_token": MASK_TOKEN}) + tokenizer.model_max_length = 1024 + return tokenizer + + +def prepare_dataset(dataset, tokenizer, args): + # tokenize and label + dataset = dataset.map( + partial( + tokenize_and_label_batch, + tokenizer=tokenizer, + target_text="text", + pii_column="fragments", + LABEL2ID=LABEL2ID, + IGNORE_CLASS=IGNORE_CLASS, + ), + batched=True, + batch_size=1000, + num_proc=args.num_workers, + ) + return dataset + +def run_training(args, ner_dataset, model, tokenizer): + print(f"Initializing Trainer...") + + training_args = TrainingArguments( + output_dir=args.output_dir, + evaluation_strategy="steps", + num_train_epochs=args.num_train_epochs, + per_device_train_batch_size=args.train_batch_size, + per_device_eval_batch_size=args.eval_batch_size, + eval_steps=args.eval_freq, + save_steps=args.save_freq, + logging_steps=10, + metric_for_best_model="f1", + load_best_model_at_end=True, + weight_decay=args.weight_decay, + learning_rate=args.learning_rate, + lr_scheduler_type=args.lr_scheduler_type, + warmup_steps=args.warmup_steps, + gradient_checkpointing=args.gradient_checkpointing, + gradient_accumulation_steps=args.gradient_accumulation_steps, + eval_accumulation_steps=args.eval_accumulation_steps, + fp16=args.fp16, + bf16=args.bf16, + run_name=f"{args.prefix}-bs{args.train_batch_size}-lr{args.learning_rate}-wd{args.weight_decay}-ep{args.num_train_epochs}-last", + report_to="wandb", + ) + + + data_collator = DataCollatorForTokenClassification(tokenizer=tokenizer) + trainer = Trainer( + model=model, + args=training_args, + train_dataset=ner_dataset["train"], + eval_dataset=ner_dataset["validation"], + data_collator=data_collator, + tokenizer=tokenizer, + compute_metrics=compute_metrics, + callbacks=[ + EarlyStoppingCallback( + early_stopping_patience=15, early_stopping_threshold=1e-2 + ) + ], + ) + + print("Training...") + #trainer.train() + + print("Saving last checkpoint of the model") + #model.save_pretrained(os.path.join(args.output_dir, "final_checkpoint_last_exp/")) + + # evaluate on test set + print("Evaluating on test set...") + trainer.evaluate(ner_dataset["validation"]) + + +def main(args): + # load model and tokenizer + model = AutoModelForTokenClassification.from_pretrained( + #args.model_ckpt, + "/fsx/loubna/code/bigcode-dataset/pii/ner/finetuned-encoder-pii/final_checkpoint-all-noexamples", + num_labels=len(ID2LABEL), + id2label=ID2LABEL, + label2id=LABEL2ID, + use_auth_token=True, + use_cache=not args.gradient_checkpointing, + output_hidden_states = False, + ) + tokenizer = AutoTokenizer.from_pretrained(args.model_ckpt, use_auth_token=True) + tokenizer = prepare_tokenizer(tokenizer) + + # load dataset + dataset = load_dataset(args.dataset_name, use_auth_token=True) + train_data = dataset["train"].shuffle(seed=args.seed) + test_data = dataset["test"] + valid_data = dataset["valid"] + + from datasets import concatenate_datasets + train_data = concatenate_datasets([train_data, test_data]) + print(f"Concatenated train and test data, new train size: {len(train_data)}") + + + if args.dataset_name == "bigcode/pii-full-ds": + if not args.add_not_curated: + print("Removing not curated data (-400 long files)...") + # keep only curated data + train_data = train_data.filter(lambda x: x["data_origin"] == "curated") + else: + print("Keeping not curated data...") + + + train_data = prepare_dataset(train_data, tokenizer, args) + test_data = prepare_dataset(test_data, tokenizer, args) + valid_data = prepare_dataset(valid_data, tokenizer, args) + print( + f"After tokenization:\nTrain size {len(train_data)}\nValid size {len(valid_data)}\nTest size {len(test_data)}" + ) + + if args.debug: + train_stats = get_stats(train_data) + valid_stats = get_stats(valid_data) + test_stats = get_stats(test_data) + print("Train low-resource stats") + # print stats for keys with less than 100 in teh value + pprint({k: v for k, v in train_stats.items() if v < 300}) + print("Valid low-resource stats") + pprint({k: v for k, v in valid_stats.items() if v < 100}) + print("Test low-resource stats") + pprint({k: v for k, v in test_stats.items() if v < 100}) + + + print("Chunking the dataset...") + ner_dataset = DatasetDict( + train=chunk_dataset(train_data, tokenizer), + validation=chunk_dataset(valid_data, tokenizer), + test=chunk_dataset(test_data, tokenizer), + ) + # remove columns + ner_dataset = ner_dataset.remove_columns(["id", "chunk_id"]) + print(ner_dataset) + + run_training(args, ner_dataset, model, tokenizer) + + +if __name__ == "__main__": + args = get_args() + set_seed(args.seed) + os.makedirs(args.output_dir, exist_ok=True) + + logging.set_verbosity_info() + + main(args) \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/requirements.txt b/src/privacy/util/code_detect/ner/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..4901e0becb31e42f6b8bc2878a4bebd3aeae00b9 --- /dev/null +++ b/src/privacy/util/code_detect/ner/requirements.txt @@ -0,0 +1,4 @@ +datasets +transformers +evaluate +seqeval \ No newline at end of file diff --git a/src/privacy/util/code_detect/ner/utils/eval.py b/src/privacy/util/code_detect/ner/utils/eval.py new file mode 100644 index 0000000000000000000000000000000000000000..fbb3034c00a7ebbdc3370809f63b36c570fcbba5 --- /dev/null +++ b/src/privacy/util/code_detect/ner/utils/eval.py @@ -0,0 +1,65 @@ +# source: https://github.com/mponty/bigcode-dataset/tree/main/pii/ner_model_training/utils by @mponty +import numpy as np +from evaluate import load +from scipy.special import softmax +from sklearn.metrics import average_precision_score + +_seqeval_metric = load("seqeval") + + +# NER tags +CATEGORIES = [ + "NAME", + "EMAIL", + "EMAIL_EXAMPLE", + "USERNAME", + "KEY", + "IP_ADDRESS", + "PASSWORD", +] +IGNORE_CLASS = ["AMBIGUOUS", "ID", "NAME_EXAMPLE", "USERNAME_EXAMPLE"] + +LABEL2ID = {"O": 0} +for cat in CATEGORIES: + LABEL2ID[f"B-{cat}"] = len(LABEL2ID) + LABEL2ID[f"I-{cat}"] = len(LABEL2ID) +ID2LABEL = {v: k for k, v in LABEL2ID.items()} + + +def compute_ap(pred, truth): + pred_proba = 1 - softmax(pred, axis=-1)[..., 0] + pred_proba, truth = pred_proba.flatten(), np.array(truth).flatten() + pred_proba = pred_proba[truth != -100] + truth = truth[truth != -100] + + return average_precision_score(truth != 0, pred_proba) + + +def compute_metrics(p): + predictions, labels = p + avg_prec = compute_ap(predictions, labels) + predictions = np.argmax(predictions, axis=2) + + # Remove ignored index (special tokens) + true_predictions = [ + [ID2LABEL[p] for (p, l) in zip(prediction, label) if l != -100] + for prediction, label in zip(predictions, labels) + ] + true_labels = [ + [ID2LABEL[l] for (p, l) in zip(prediction, label) if l != -100] + for prediction, label in zip(predictions, labels) + ] + + results = _seqeval_metric.compute( + predictions=true_predictions, references=true_labels, zero_division=0, + ) + agg_metrics = { + "Avg.Precision": avg_prec, + "precision": results.pop("overall_precision"), + "recall": results.pop("overall_recall"), + "f1": results.pop("overall_f1"), + } + results.pop("overall_accuracy") + per_cat_metrics = {name: metrics["f1"] for name, metrics in results.items()} + + return dict(**agg_metrics, **per_cat_metrics) diff --git a/src/privacy/util/code_detect/ner/utils/preprocessing.py b/src/privacy/util/code_detect/ner/utils/preprocessing.py new file mode 100644 index 0000000000000000000000000000000000000000..203e627ef248d6b2441ee288b06c359b754a285c --- /dev/null +++ b/src/privacy/util/code_detect/ner/utils/preprocessing.py @@ -0,0 +1,145 @@ +# source: https://github.com/mponty/bigcode-dataset/tree/main/pii/ner_model_training/utils by @mponty +import itertools +from tqdm import tqdm +from datasets import Dataset + +def is_overlap(span, reference_span): + l1, r1 = min(*span), max(*span) + l2, r2 = min(*reference_span), max(*reference_span) + return l1 <= l2 < r1 or l1 < r2 <= r1 or l2 <= l1 < r2 or l2 < r1 <= r2 + + +def label_tokenized( + entry, target_text="text", pii_column="fragments", LABEL2ID=None, IGNORE_CLASS=None +): + content, pii = entry[target_text], entry[pii_column] + + if entry["offset_mapping"][-1] == (0, 0): + entry["offset_mapping"][-1] = (len(content), len(content)) + + entry["labels"] = [LABEL2ID["O"]] * len(entry["offset_mapping"]) + for entity in pii: + if entity["category"] in IGNORE_CLASS: + continue + prefix = "B-" + entity_span = tuple(entity["position"]) + for i, span in enumerate(entry["offset_mapping"]): + if is_overlap(entity_span, span): + label = prefix + entity["category"] + entry["labels"][i] = LABEL2ID[label] + prefix = "I-" + + return entry + + +def add_special_toks(entry, target_text, tokenizer): + content = entry[target_text] + entry["input_ids"] = ( + [tokenizer.cls_token_id] + entry["input_ids"] + [tokenizer.sep_token_id] + ) + entry["attention_mask"] = [1] + entry["attention_mask"] + [1] + entry["offset_mapping"] = ( + [(0, 0)] + entry["offset_mapping"] + [(len(content), len(content))] + ) + entry["labels"] = [-100] + entry["labels"] + [-100] + return entry + + +def tokenize_and_label_batch( + entries, + tokenizer, + target_text="text", + pii_column="fragments", + LABEL2ID=None, + IGNORE_CLASS=None, +): + """Tokenize and label a batch of entries""" + list_inputs = { + k: [] for k in ["input_ids", "attention_mask", "offset_mapping", "labels"] + } + for text, fragments in zip(entries[target_text], entries[pii_column]): + entry = {"text": text, "fragments": fragments} + inputs = tokenizer.encode_plus( + text, return_offsets_mapping=True, add_special_tokens=False + ) + entry.update(inputs) + entry = label_tokenized( + entry, + target_text=target_text, + pii_column=pii_column, + LABEL2ID=LABEL2ID, + IGNORE_CLASS=IGNORE_CLASS, + ) + entry = add_special_toks(entry, target_text=target_text, tokenizer=tokenizer) + for k in list_inputs.keys(): + list_inputs[k].append(entry[k]) + return list_inputs + + +# Chunking +# we do all chunking with overlap_freq = 0 + + +def _get_chunking_step(length, overlap_freq): + step = length + if overlap_freq: + if overlap_freq > 1: + step = length // overlap_freq + else: + step = length // 2 + return step + + +def _chunked_seq(seq, length, overlap_freq=0): + step = _get_chunking_step(length, overlap_freq) + + for i in range(len(seq) // step + 1): + if i * step < len(seq): + yield seq[i * step : i * step + length] + + +def chunk_inputs( + input_ids, + attention_mask, + labels, + id, + *, + tokenizer, + max_length, + overlap_freq=0, + **kwargs +): + chunks = zip( + *[ + _chunked_seq(seq, max_length, overlap_freq) + for seq in (input_ids, attention_mask, labels) + ] + ) + return [ + dict( + input_ids=input_ids, + attention_mask=attention_mask, + labels=labels, + id=id, + chunk_id=i, + ) + for i, (input_ids, attention_mask, labels) in enumerate(chunks) + ] + + +def chunk_dataset(dataset, tokenizer, overlap_freq=0): + return Dataset.from_list( + list( + itertools.chain( + *( + chunk_inputs( + **entry, + tokenizer=tokenizer, + max_length=tokenizer.model_max_length, + overlap_freq=overlap_freq + ) + for entry in tqdm(list(dataset)) + ) + ) + ) + ) diff --git a/src/privacy/util/code_detect/pii_detection.py b/src/privacy/util/code_detect/pii_detection.py new file mode 100644 index 0000000000000000000000000000000000000000..3859e9bea2dc47fda339667149801e2261f12186 --- /dev/null +++ b/src/privacy/util/code_detect/pii_detection.py @@ -0,0 +1,94 @@ +import json + +#from utils.emails_ip_addresses_detection import detect_email_addresses +from privacy.util.code_detect.utils.emails_ip_addresses_detection import detect_email_addresses +from privacy.util.code_detect.utils.keys_detection import detect_keys + + +def postprocess_secrets(secrets): + """Postprocess the secrets found by the scan_secrets function""" + if secrets: + matches = json.dumps(secrets) + has_secrets = True + else: + matches = json.dumps([]) + has_secrets = False + return matches, has_secrets + +## DETECTION MODIFIED FOR FILE + +def scan_pii_batch(examples, key_detector="other"): + """Scan a batch of examples from a dataset to detect PII + This add two columns to the dataset: + - secrets: (list) of secrets/PII found + - has_secrets: (bool) whether the example contains secrets/PII + """ + list_secrets = [] + list_has_secrets = [] + number_secrets = [] + for example in examples: + text = example["content"] + secrets = [] + if key_detector == "regex": + # use a regex to detect keys + emails + ips + secrets = secrets + detect_email_addresses( + text, tag_types={"KEY", "EMAIL", "IP_ADDRESS"} + ) + else: + # detect emails and ip addresses with regexes + secrets = secrets + detect_email_addresses( + text, tag_types={"EMAIL", "IP_ADDRESS"} + ) + # for keys use detect-secrets tool + secrets = secrets + detect_keys(text) + # to add this as new columns to datasets we need the same number of samples in each row + # we save secrets as json strings instead of lists + matches, has_secrets = postprocess_secrets(secrets) + list_secrets.append(matches) + list_has_secrets.append(has_secrets) + number_secrets.append(len(secrets)) + return { + "secrets": list_secrets, + "has_secrets": list_has_secrets, + "number_secrets": number_secrets, + } +# def scan_pii_batch(examples, key_detector="other"): +# """Scan a batch of examples from a dataset to detect PII +# This add two columns to the dataset: +# - secrets: (list) of secrets/PII found +# - has_secrets: (bool) whether the example contains secrets/PII +# """ +# list_secrets = [] +# list_has_secrets = [] +# number_secrets = [] +# for text in examples["content"]: +# secrets = [] +# if key_detector == "regex": +# # use a regex to detect keys + emails + ips +# secrets = secrets + detect_email_addresses( +# text, tag_types={"KEY", "EMAIL", "IP_ADDRESS"} +# ) +# else: +# # detect emails and ip addresses with regexes +# secrets = secrets + detect_email_addresses( +# text, tag_types={"EMAIL", "IP_ADDRESS"} +# ) +# # for keys use detect-secrets tool +# secrets = secrets + detect_keys(text) +# # to add this as new columns to datasets we need the same number of samples in each row +# # we save secrets as json strings instead of lists +# matches, has_secrets = postprocess_secrets(secrets) +# list_secrets.append(matches) +# list_has_secrets.append(has_secrets) +# number_secrets.append(len(secrets)) +# return { +# "secrets": list_secrets, +# "has_secrets": list_has_secrets, +# "number_secrets": number_secrets, +# } + + + + + + diff --git a/src/privacy/util/code_detect/pii_redaction.py b/src/privacy/util/code_detect/pii_redaction.py new file mode 100644 index 0000000000000000000000000000000000000000..985f31313487772d7eb65633e040d6af9385d8fe --- /dev/null +++ b/src/privacy/util/code_detect/pii_redaction.py @@ -0,0 +1,133 @@ +import json +import random +import string +import ipaddress + +# List of random private IP addresses to use as replacements +REPLACEMENTS_IP = { + "IPv4": ["172.16.31.10", "172.16.58.3", "172.16.17.32", "192.168.127.12", "192.168.3.11"], + "IPv6": [ + "fd00:c2b6:b24b:be67:2827:688d:e6a1:6a3b", + "fd00:a516:7c1b:17cd:6d81:2137:bd2a:2c5b", + "fc00:e968:6179::de52:7100", + "fc00:db20:35b:7399::5", + "fdf8:f53e:61e4::18", + ], +} + +POPULAR_DNS_SERVERS = [ + "8.8.8.8", + "8.8.4.4", + "1.1.1.1", + "1.0.0.1", + "76.76.19.19", + "76.223.122.150", + "9.9.9.9", + "149.112.112.112", + "208.67.222.222", + "208.67.220.220", + "8.26.56.26", + "8.20.247.20", + "94.140.14.14", + "94.140.15.15", +] + +def load_json(sample): + try: + loaded = json.loads(sample) + if isinstance(loaded, list): + return loaded + else: + raise ValueError("Invalid JSON structure") + except (json.JSONDecodeError, TypeError, ValueError): + return sample + +def random_replacements(n=10): + letters = string.ascii_lowercase + letters_digits = string.ascii_lowercase + string.digits + emails = ["".join(random.choice(letters) for i in range(5)) + "@example.com" for i in range(n)] + keys = ["".join(random.choice(letters_digits) for i in range(32)) for i in range(n)] + ip_addresses = REPLACEMENTS_IP + return {"EMAIL": emails, "KEY": keys, "IP_ADDRESS": ip_addresses} + +def replace_ip(value, replacements_dict): + try: + ipaddress.IPv4Address(value) + return random.choice(replacements_dict["IP_ADDRESS"]["IPv4"]) + except ValueError: + try: + ipaddress.IPv6Address(value) + return random.choice(replacements_dict["IP_ADDRESS"]["IPv6"]) + except ValueError: + print("Invalid IP address") + return value + +def is_private_ip(ip): + ip = ipaddress.ip_address(ip) + return ip.is_private + + +def redact_pii_text(text, secrets, replacements, add_references=True): + secrets = load_json(secrets) + if not secrets or not isinstance(secrets, list): + return text, "", False + + modified = False + references = [] + + for secret in sorted(secrets, key=lambda x: x["start"], reverse=True): + print(f"Processing secret: {secret}") + if secret["tag"] == "IP_ADDRESS" and (is_private_ip(secret["value"]) or secret["value"] in POPULAR_DNS_SERVERS): + print(f"Skipping redaction for IP: {secret['value']}") + continue + + modified = True + replacement_list = replacements.get(secret["tag"], [secret["value"]]) + replacement = replacement_list[0] if isinstance(replacement_list, list) else replacement_list + + # If replacement for IP_ADDRESS is a dictionary, extract the appropriate version + if secret["tag"] == "IP_ADDRESS" and isinstance(replacement, dict): + ip_version = "IPv6" if ":" in secret["value"] else "IPv4" + replacement = replacement[ip_version][0] + + if add_references: + references.append(f"PI:{secret['tag']}:{replacement}END_PI") + + text = text[:secret["start"]] + str(replacement) + text[secret["end"]:] + + references = "".join(references) if add_references else "" + + return text, references, modified + + + + + +def redact_pii_batch(examples, replacements, add_references=True): + new_contents = [] + references = [] + modified = [] + + for example in examples: + text, secrets, has_secrets = example["content"], example["secrets"], example["has_secrets"] + if has_secrets: + if add_references: + new_text, reference, modif = redact_pii_text( + text, secrets[0], replacements, add_references + ) + references.append(reference) + else: + new_text, modif = redact_pii_text(text, secrets[0], replacements) + new_contents.append(new_text) + modified.append(modif) + else: + new_contents.append(text) + references.append(text) + modified.append(False) + + result = {"new_content": new_contents, "modified": modified} + if add_references: + result.update({"references": references}) + return result + + diff --git a/src/privacy/util/code_detect/redacted_code.txt b/src/privacy/util/code_detect/redacted_code.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/util/code_detect/regexdetection.py b/src/privacy/util/code_detect/regexdetection.py new file mode 100644 index 0000000000000000000000000000000000000000..c32270f566d77c8582361242f09decbf3b5e097d --- /dev/null +++ b/src/privacy/util/code_detect/regexdetection.py @@ -0,0 +1,176 @@ + +## REGEX FOR FILE +# import argparse +# import json +# import logging +# import random + +# from pii_detection import scan_pii_batch +# from pii_redaction import redact_pii_batch, random_replacements + +# def parse_args(): +# parser = argparse.ArgumentParser(description="PII detection and redaction for a code file") +# parser.add_argument( +# "--input_code_file", +# required=True, +# type=str, +# help="Path to the input code file for PII detection and redaction", +# ) +# parser.add_argument( +# "--output_file", +# required=True, +# type=str, +# help="Path to save the redacted code file", +# ) +# parser.add_argument( +# "--batch_size", +# default=8, +# type=int, +# help="Batch size for the PII detection/redaction", +# ) +# parser.add_argument( +# "--seed", +# default=0, +# type=int, +# help="Seed for random", +# ) +# parser.add_argument( +# "--num_proc", +# default=8, +# type=int, +# help="Number of processes to use for PII detection/redaction", +# ) +# parser.add_argument( +# "--no_redaction", +# action="store_true", +# help="If set, do not perform redaction", +# ) +# parser.add_argument( +# "--load_replacements", +# default=True, +# help="If set, load replacements from file replacements.json", +# ) +# parser.add_argument( +# "--add_reference_text", +# default=True, +# type=bool, +# help="If True, add reference text with PII between delimiters in the redacted text (used for visualization)", +# ) +# return parser.parse_args() + +# def main(): +# logging.basicConfig(format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", level=logging.INFO) + +# args = parse_args() + +# # Read input code file +# with open(args.input_code_file, "r") as input_file: +# code_content = input_file.read() + +# # Apply PII detection +# ds_pii = scan_pii_batch([{"content": code_content}]) + +# logging.info(f"PII detection results:\n{ds_pii}") +# logging.info(f"Number of samples that contained PII: {sum(ds_pii['has_secrets'])}") +# logging.info(f"Total number of secrets found: {sum(ds_pii['number_secrets'])}") + +# # Redact PII in the code +# if not args.no_redaction: +# logging.info(f" ===== Applying PII redaction =====") +# random.seed(args.seed) + +# # Use random replacements by default +# if args.load_replacements: +# with open("replacements.json", "r") as f: +# replacements = json.load(f) +# else: +# replacements = random_replacements() +# with open("random_replacements.json", "w") as f: +# json.dump(replacements, f) +# logging.info(f"Using the following replacements:\n{replacements}") + +# ds_pii_redacted = redact_pii_batch( +# [{"content": code_content, "secrets": ds_pii['secrets'], "has_secrets": ds_pii['has_secrets'], "number_secrets": ds_pii['number_secrets']}], +# replacements=replacements, +# add_references=args.add_reference_text +# ) + +# redacted_code = ds_pii_redacted["new_content"][0] # Access the redacted code +# print("Redacted Code:") +# print(redacted_code) + +# # Save the redacted code to the output file +# with open(args.output_file, "w") as output_file: +# output_file.write(redacted_code[0] if isinstance(redacted_code, list) else redacted_code) + +# logging.info("Redacted code saved successfully.") + +# if __name__ == "__main__": +# main() + + + +#REGEX AS For text DETECTION +import json +import logging +import random +import os +from privacy.util.code_detect.pii_detection import scan_pii_batch +from privacy.util.code_detect.pii_redaction import redact_pii_batch, random_replacements +class code_detect: + + def codeDetectRegex(input_code_text): + #output_file + batch_size=8 + seed=0 + num_proc=8 + no_redaction=False + load_replacements=True + add_reference_text=True + logging.basicConfig(format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", level=logging.INFO) + print("input_code_text",input_code_text) + # Apply PII detection + ds_pii = scan_pii_batch([{"content": input_code_text}]) + + logging.info(f"PII detection results:\n{ds_pii}") + logging.info(f"Number of samples that contained PII: {sum(ds_pii['has_secrets'])}") + logging.info(f"Total number of secrets found: {sum(ds_pii['number_secrets'])}") + + # Redact PII in the code + if not no_redaction: + logging.info(f" ===== Applying PII redaction =====") + random.seed(seed) + + # Use random replacements by default + if load_replacements: + with open("privacy/util/code_detect/replacements.json", "r") as f: + replacements = json.load(f) + else: + # Get the path to the directory of the current script + current_dir = os.path.dirname(os.path.abspath(__file__)) + replacements_file_path = os.path.join(current_dir, "privacy", "util", "code_detect", "replacements.json") + print("replacements_file_path",replacements_file_path) + replacements = random_replacements() + with open(replacements_file_path, "w") as f: + json.dump(replacements, f) + logging.info(f"Using the following replacements:\n{replacements}") + + ds_pii_redacted = redact_pii_batch( + [{"content": input_code_text, "secrets": ds_pii['secrets'], "has_secrets": ds_pii['has_secrets'], + "number_secrets": ds_pii['number_secrets']}], + replacements=replacements, + add_references=add_reference_text + ) + + redacted_code = ds_pii_redacted["new_content"][0] # Access the redacted code + print("Redacted Code:") + print(redacted_code) + + # # Save the redacted code to the output file + # with open(output_file, "w") as output_file: + # output_file.write(redacted_code[0] if isinstance(redacted_code, list) else redacted_code) + + logging.info("Redacted code saved successfully.") + return redacted_code + + diff --git a/src/privacy/util/code_detect/replacements.json b/src/privacy/util/code_detect/replacements.json new file mode 100644 index 0000000000000000000000000000000000000000..811ad49ab24c5e1d0ee2e37cfb18085b7f65b89b --- /dev/null +++ b/src/privacy/util/code_detect/replacements.json @@ -0,0 +1 @@ +{"EMAIL": ["abc@xyz.com"], "KEY": ["SECRET_KEY"], "IP_ADDRESS": {"IPv4": ["IPV4_ADDRESS"], "IPv6": ["IPV6_ADDRESS"]}} \ No newline at end of file diff --git a/src/privacy/util/code_detect/requirements.txt b/src/privacy/util/code_detect/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..be7fab4de075fbffdbecbac458d18e7b988f51c9 --- /dev/null +++ b/src/privacy/util/code_detect/requirements.txt @@ -0,0 +1,11 @@ +regex +tqdm +pandas +datasets +detect_secrets +gibberish_detector +huggingface_hub +nltk +scikit-learn +seqeval +transformers \ No newline at end of file diff --git a/src/privacy/util/code_detect/utils/__init__.py b/src/privacy/util/code_detect/utils/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/privacy/util/code_detect/utils/emails_ip_addresses_detection.py b/src/privacy/util/code_detect/utils/emails_ip_addresses_detection.py new file mode 100644 index 0000000000000000000000000000000000000000..b651e5800688e00e92abf691e4d4eb9af87180bc --- /dev/null +++ b/src/privacy/util/code_detect/utils/emails_ip_addresses_detection.py @@ -0,0 +1,208 @@ +""" This code is adapted from BigScience PII detection +https://github.com/bigscience-workshop/data-preparation/blob/main/preprocessing/training/02_pii/bigscience_pii_detect_redact.py + +MST BigScience PII Code +Original colab that is a source of this file is located at + https://colab.research.google.com/drive/1086H3-LGMz3gX0pGy9ECgr8KflosSKso +# License +Copyright 2022 Authors of this Notebook +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +""" + +import sys +import regex +import ipaddress +import logging + +from gibberish_detector import detector + +# Regexes for PII detection +GIBBERISH_MODEL_PATH = './gibberish_data/big.model' + +year_patterns = [ + regex.compile( + r"(?:^|[\b\s@?,!;:\'\")(.\p{Han}])([1-2][0-9]{3}[\p{Pd}/][1-2][0-9]{3})(?:$|[\s@,?!;:\'\"(.\p{Han}])" + ), # yyyy-yyyy or yyyy/yyyy + regex.compile( + r"(?:^|[\b\s@?,!;:\'\")(.\p{Han}])([1-2][0-9]{3}[\p{Pd}/.][0-3][0-9][\p{Pd}/.][0-3][0-9])(?:$|[\s@,?!;:\'\"(.\p{Han}])" + ), # yyyy-mm-dd or yyyy-dd-mm or yyyy/mm/dd or yyyy/dd/mm or yyyy.mm.dd or yyyy.dd.mm + regex.compile( + r"(?:^|[\b\s@?,!;:\'\")(.\p{Han}])([0-3][0-9][\p{Pd}/.][0-3][0-9][\p{Pd}/.](?:[0-9]{2}|[1-2][0-9]{3}))(?:$|[\s@,?!;:\'\"(.\p{Han}])" + ), # mm-dd-yyyy or dd-mm-yyyy or mm/dd/yyyy or dd/mm/yyyy or mm.dd.yyyy or dd.mm.yyyy or the same but with yy instead of yyyy + regex.compile( + r"(?:^|[\b\s@?,!;:\'\")(.\p{Han}])([0-3][0-9][\p{Pd}/](?:[0-9]{2}|[1-2][0-9]{3}))(?:$|[\s@,?!;:\'\"(.\p{Han}])" + ), # mm-yyyy or mm/yyyy or the same but with yy + regex.compile( + r"(?:^|[\b\s@?,!;:\'\")(.\p{Han}])([1-2][0-9]{3}-[0-3][0-9])(?:$|[\s@,?!;:\'\"(.\p{Han}])" + ), # yyyy-mm or yyyy/mm +] + +key_pattern = r"((?:(?:[A-Za-z]+[\p{Nd}\p{Pd}\/\+\=:_]+|[\p{Nd}\p{Pd}\/\+\=:]+[A-Za-z]+)){10,})(?:$|[\b\s\p{Han}@?,!;:\'\")(.])" +key_pattern_2 = r"(?!(?:\/[^ .]+){2,})((?:(?:[A-Za-z]+[\p{Nd}\p{Pd}\/\+\=:_]+|[\p{Nd}\p{Pd}\/\+\=:]+[A-Za-z]+)){4,})(?:$|[\b\s\p{Han}@?,!;:\'\")(.])" +ipv4_pattern = r"(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}" +ipv6_pattern = r"(?:[0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,7}:|(?:[0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,5}(?::[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){1,4}(?::[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){1,3}(?::[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){1,2}(?::[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:(?:(?::[0-9a-fA-F]{1,4}){1,6})|:(?:(?::[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(?::[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(?:ffff(?::0{1,4}){0,1}:){0,1}(?:(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(?:[0-9a-fA-F]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(?:2[0-4]|1{0,1}[0-9]){0,1}[0-9])" +ip_pattern = ( + r"(?:^|[\b\s@?,!;:\'\")(.\p{Han}])(" + + r"|".join([ipv4_pattern, ipv6_pattern]) + + ")(?:$|[\s@,?!;:'\"(.\p{Han}])" +) + +# Note: to reduce false positives, a number of technically-valid-but-rarely-used +# email address patterns (e.g. with parenthesis or slashes) will not match +email_pattern = r''' + (?<= ^ | [[({<\b\s@,?!;'"\p{Han}¿¡:.] | \\['"] ) # left delimiter + ( + (?: # local part + [^][(){}<>\b\s@,?!;'":#/\\=.\-] # arbitrary character + | + (?: [=.\-] (?! [.@]) ) # ".=-" not before ".@" + )+ + @ + (?: + (?: + \w # single-letter subdomain + | + [^.\b\s@?!;,/()>\-:] # subdomain (>=2 letter) + [^.\b\s@?!;,/()>]{0,62} + [^.\b\s@?!;,/()>\-:'"] + ) + \. + ){1,10} + (?: [\p{L}\p{M}]{2,63} | xn-- \w+ ) # TLD, including IDN + ) + (?= $ | [])}>\b\s@,?!;'"\p{Han}] | \\['"] | : (?! \d) | \. (?! \S)) # right delim +''' + + +def get_regexes(high_risk_tags={"EMAIL", "IP_ADDRESS", "KEY"}): + """Returns a dict of regexes to match the PII in high_risk_tags.""" + + key_regex = regex.compile(key_pattern_2, flags=regex.MULTILINE) + ipv4_regex = regex.compile(ipv4_pattern) + ipv6_regex = regex.compile(ipv6_pattern) + ip_regex = regex.compile(ip_pattern, flags=regex.MULTILINE) + email_regex = regex.compile(email_pattern, flags=regex.MULTILINE | regex.VERBOSE) + + mst_regexes = {} + for tag in high_risk_tags: + if tag == "KEY": + mst_regexes["KEY"] = key_regex + elif tag == "IPv4": + mst_regexes["IPv4"] = ipv4_regex + elif tag == "IPv6": + mst_regexes["IPv6"] = ipv6_regex + elif tag == "IP_ADDRESS": + mst_regexes["IP_ADDRESS"] = ip_regex + elif tag == "EMAIL": + mst_regexes["EMAIL"] = email_regex + else: + logging.warning("Don't have tag regex pattern for %s =(" % tag) + + return mst_regexes + + +def ip_has_digit(matched_str): + """Checks to make sure the PII span is not just :: or whatever that may + accidentally be picked up by making sure there are digits.""" + return any(map(str.isdigit, matched_str)) + + +def matches_date_pattern(matched_str): + # Screen out date false positives + for year_regex in year_patterns: + if year_regex.match(matched_str): + return True + return False + + +def filter_versions(matched_str, context): + """Filter addresses in this format x.x.x.x and the words dns/server + don't appear in the neighboring context, usually they are just versions""" + # count occurrence of dots + dot_count = matched_str.count('.') + exclude = (dot_count == 3 and len(matched_str) == 7) + if exclude: + if "dns" in context.lower() or "server" in context.lower(): + return False + return exclude + + +def not_ip_address(matched_str): + """ make sure the string has a valid IP address format + e.g: 33.01.33.33 is not a valid IP address because of the 0 in front of 1 + TODO: fix this directly in the regex""" + try: + ipaddress.ip_address(matched_str) + return False + except ValueError: + return True + + +def is_gibberish(matched_str): + """Checks to make sure the PII span is gibberish and not word like""" + # pip install gibberish-detector + # download the training corpora from https://raw.githubusercontent.com/domanchi/gibberish-detector/master/examples/big.txt + # run gibberish-detector train big.txt > big.model to generate the model (it takes 3 seconds) + Detector = detector.create_from_model(GIBBERISH_MODEL_PATH) + return Detector.is_gibberish(matched_str.lower()) + + +def detect_email_addresses(content, tag_types={"EMAIL", "IP_ADDRESS"}): + """Detects email addresses in a string using regex matching + Args: + content (str): A string containing the text to be analyzed. + tag_types (set): A set of tag types to be detected. Defaults to EMAIL and IP_ADDRESS. + you can add 'KEY' to detect keys with a regex. + Returns: + A list of dicts containing the tag type, the matched string, and the start and + end indices of the match. + """ + mst_regexes = get_regexes(tag_types) + matches = [] + for tag in tag_types: + label_pattern = mst_regexes[tag] + # regex matching + matches_tmp = label_pattern.finditer(content) + for match in matches_tmp: + if match.groups(): + if len(match.groups()) > 1 and match.groups()[1]: + logging.warning( + "Warning: Found substring matches in the main match." + ) + # setup outputs + value = match.group(1) + start, end = match.span(1) + if value: + if tag == "IP_ADDRESS": + # Filter out false positive IPs + if not ip_has_digit(value) : + continue + if matches_date_pattern(value): + continue + if filter_versions(value, content[start-100:end+100]) or not_ip_address(value): + continue + # combine if conditions in one + + if tag == "KEY": + # Filter out false positive keys + if not is_gibberish(value): + continue + matches.append( + { + "tag": tag, + "value": value, + "start": start, + "end": end, + } + ) + else: + raise ValueError("No match found inside groups") + return matches diff --git a/src/privacy/util/code_detect/utils/evaluation.py b/src/privacy/util/code_detect/utils/evaluation.py new file mode 100644 index 0000000000000000000000000000000000000000..254698b87cedd0e10bf50f8a441e7961f40bd111 --- /dev/null +++ b/src/privacy/util/code_detect/utils/evaluation.py @@ -0,0 +1,103 @@ +import json + +TAGS = ['EMAIL', 'IP_ADDRESS', 'KEY'] + + +def load_json(sample): + try: + return json.loads(sample) + except ValueError: + return [] + + +def overlapped(a, b, alpha=0.8, beta=0.8): + """Returns True if the intervals a and b overlap for more than 80% of their lengths""" + size_overlap = max(0, min(a[1], b[1]) - max(a[0], b[0])) + ref_overlap = size_overlap / (b[1] - b[0]) + pred_overlap = size_overlap / (a[1] - a[0]) + return (ref_overlap > alpha and pred_overlap > beta) + + +def compare_intervals(references, predictions, alpha=0.8, beta=0.8): + """Compare two lists of intervals and return the number + of true positives, false positives and false negatives. + >>> compare_intervals([(0, 7), (10, 20)], [(1,8), (99, 119)], 0, 0)[0] + {'TP': 1, 'FN': 1, 'FP': 1} + """ + ref_intervals = sorted(references, key=lambda x: x[0]) + pred_intervals = sorted(predictions, key=lambda x: x[0]) + scores = {"TP": 0, "FN": 0, "FP": 0} + detected_secrets = [] + for interval in pred_intervals: + for target in ref_intervals: + if overlapped(interval, target, alpha, beta): + # the prediction is a true positive + scores["TP"] += 1 + detected_secrets.append(interval) + break + else: + # the prediction is a false positive + scores["FP"] += 1 + # the rest of the targets that aren't detected are false negatives + scores["FN"] += len(ref_intervals) - len(detected_secrets) + return scores, detected_secrets + + +def recall_precision(metrics_dict): + """Compute recall and precision for each tag""" + metrics = {} + for tag in TAGS: + metrics[tag] = {} + total = metrics_dict[tag]['TP'] + metrics_dict[tag]['FN'] + metrics_dict[tag]['FP'] + if total: + if not (metrics_dict[tag]['TP'] + metrics_dict[tag]['FN']) or not (metrics_dict[tag]['TP'] + metrics_dict[tag]['FP']): + # handle division by zero + metrics[tag] = {'recall': 0, 'precision': 0} + else: + metrics[tag]['recall'] = metrics_dict[tag]['TP'] / (metrics_dict[tag]['TP'] + metrics_dict[tag]['FN']) + metrics[tag]['precision'] = metrics_dict[tag]['TP'] / (metrics_dict[tag]['TP'] + metrics_dict[tag]['FP']) + else: + # if there are no annotations, the score is 1 + metrics[tag] = {'recall': 1.0, 'precision': 1.0} + return metrics + + +def recall_precision_all_tags(metrics_dict): + """Compute recall and precision for all tags""" + metrics = {} + TP = sum([metrics_dict[tag]['TP'] for tag in TAGS]) + FN = sum([metrics_dict[tag]['FN'] for tag in TAGS]) + FP = sum([metrics_dict[tag]['FP'] for tag in TAGS]) + if not (TP + FN) or not (TP + FP): + metrics = {'recall': 0, 'precision': 0} + else: + metrics['recall'] = TP / (TP + FN) + metrics['precision'] = TP / (TP + FP) + return metrics + + +def evaluate_pii(references, predictions, alpha=0.8, beta=0.8): + """Evaluate predictions of PII against references""" + metrics_dict = {} + for tag in TAGS: + ref_intervals = [(e['start'], e['end']) for e in references if e['tag'] == tag] + pred_intervals = [(e['start'], e['end']) for e in predictions if e['tag'] == tag] + metrics, _ = compare_intervals(ref_intervals, pred_intervals, alpha, beta) + metrics_dict[tag] = metrics + return metrics_dict + + +def evaluate_pii_ds(dataset, pred_column='pii', ref_column="secrets", overall_score=False, alpha=0.8, beta=0.8): + """Evaluate predictions of PII against references in a dataset + """ + metrics_dict = {tag: {'TP': 0, 'FN': 0, 'FP': 0} for tag in TAGS} + for i in range(len(dataset)): + ref_list = load_json(dataset[i][ref_column]) + pred_list = load_json(dataset[i][pred_column]) + sample_metrics = evaluate_pii(ref_list, pred_list, alpha, beta) + for tag in TAGS: + for metric in metrics_dict[tag]: + metrics_dict[tag][metric] += sample_metrics[tag][metric] + if overall_score: + return recall_precision_all_tags(metrics_dict), metrics_dict + return recall_precision(metrics_dict), metrics_dict \ No newline at end of file diff --git a/src/privacy/util/code_detect/utils/keys_detection.py b/src/privacy/util/code_detect/utils/keys_detection.py new file mode 100644 index 0000000000000000000000000000000000000000..1c046eb8bc0891efab4fffbffb22f245c3cd2c06 --- /dev/null +++ b/src/privacy/util/code_detect/utils/keys_detection.py @@ -0,0 +1,143 @@ +import os +import tempfile + +from detect_secrets import SecretsCollection +from detect_secrets.settings import transient_settings +from gibberish_detector import detector + +# Secrets detection with detect-secrets tool + + +filters = [ + # some filters from [original list](https://github.com/Yelp/detect-secrets/blob/master/docs/filters.md#built-in-filters) + # were removed based on their targets + {"path": "detect_secrets.filters.heuristic.is_potential_uuid"}, + {"path": "detect_secrets.filters.heuristic.is_likely_id_string"}, + {"path": "detect_secrets.filters.heuristic.is_templated_secret"}, + {"path": "detect_secrets.filters.heuristic.is_sequential_string"}, +] +plugins = [ + {"name": "ArtifactoryDetector"}, + {"name": "AWSKeyDetector"}, + # the entropy detectors esp Base64 need the gibberish detector on top + {"name": "Base64HighEntropyString"}, + {"name": "HexHighEntropyString"}, + {"name": "AzureStorageKeyDetector"}, + {"name": "CloudantDetector"}, + {"name": "DiscordBotTokenDetector"}, + {"name": "GitHubTokenDetector"}, + {"name": "IbmCloudIamDetector"}, + {"name": "IbmCosHmacDetector"}, + {"name": "JwtTokenDetector"}, + {"name": "MailchimpDetector"}, + {"name": "NpmDetector"}, + {"name": "SendGridDetector"}, + {"name": "SlackDetector"}, + {"name": "SoftlayerDetector"}, + {"name": "StripeDetector"}, + {"name": "TwilioKeyDetector"}, + # remove 3 plugins for keyword + # {'name': 'BasicAuthDetector'}, + # {'name': 'KeywordDetector'}, + # {'name': 'PrivateKeyDetector'}, +] + + +def is_gibberish(matched_str): + """Checks to make sure the PII span is gibberish and not word like""" + # pip install gibberish-detector + # download the training corpora from https://raw.githubusercontent.com/domanchi/gibberish-detector/master/examples/big.txt + # run gibberish-detector train big.txt > big.model to generate the model (it takes 3 seconds) + # Detector = detector.create_from_model('gibberish_data/big.model') + Detector = detector.create_from_model('privacy/util/code_detect/gibberish_data/big.model') + return Detector.is_gibberish(matched_str.lower()) + + +def is_hash(content, value): + """Second check if the value is a hash (after gibberish detector)""" + # get the line where value occurred + try: + res = content.index(value) + except ValueError: + # TODO: fix this issue happened one for JS in the stack-smol, file did contain value + print("Value not found in content, why this happened?") + return False + lines = content[:content.index(value)].splitlines() + target_line = lines[-1] + if len(value) in [32, 40, 64]: + # if "sha" or "md5" are in content: + keywords = ["sha", "md5", "hash", "byte"] + if any(x in target_line.lower() for x in keywords): + return True + return False + +def file_has_hashes(content, coeff = 0.02): + """Checks if the file contains literals 'hash' or 'sha' for more than 2% nb_of_lines""" + lines = content.splitlines() + count_sha = 0 + count_hash = 0 + nlines = content.count("\n") + threshold = int(coeff * nlines) + for line in lines: + count_sha += line.lower().count("sha") + count_hash += line.lower().count("hash") + if count_sha > threshold or count_hash > threshold: + return True + return False + +def get_indexes(text, value): + string = text + indexes = [] + new_start = 0 + while True: + try: + start = string.index(value) + indexes.append(new_start + start) + new_start = new_start + start + len(value) + string = text[new_start:] + except ValueError: + break + indexes = [(x, x + len(value)) for x in indexes] + return indexes + + +def detect_keys(content, suffix=".txt"): + """Detect secret keys in content using detect-secrets tool + Args: + content (str): string containing the text to be analyzed. + suffix (str): suffix of the file + Returns: + A list of dicts containing the tag type, the matched string, and the start and + end indices of the match.""" + + fp = tempfile.NamedTemporaryFile(suffix=suffix, delete=False, mode="w", encoding='utf-8') + fp.write(content) + fp.close() + secrets = SecretsCollection() + with transient_settings( + {"plugins_used": plugins, "filters_used": filters} + ) as settings: + secrets.scan_file(fp.name) + os.unlink(fp.name) + secrets_set = list(secrets.data.values()) + matches = [] + if secrets_set: + for secret in secrets_set[0]: + if not is_gibberish(secret.secret_value): + continue + if is_hash(content, secret.secret_value) or file_has_hashes(content): + continue + indexes = get_indexes(content, secret.secret_value) + for start, end in indexes: + matches.append( + { + "tag": "KEY", + "value": secret.secret_value, + "start": start, + "end": end, + } + ) + return matches + + + diff --git a/src/privacy/util/code_detect/utils/manual_sharding.py b/src/privacy/util/code_detect/utils/manual_sharding.py new file mode 100644 index 0000000000000000000000000000000000000000..792735b2196581ee89e487ef07b40d88b81f7914 --- /dev/null +++ b/src/privacy/util/code_detect/utils/manual_sharding.py @@ -0,0 +1,94 @@ +import os +import time +from multiprocessing import Pool +from tqdm import tqdm + +from huggingface_hub import Repository + + +def save_shard(shard_tuple): + """Save shard""" + filename, shard = shard_tuple + # use to_json instead to save as json file + shard.to_parquet(filename) + +# def save_manual_shards(ds, user="loubnabnl", remote_dataset_repo="bigcode-pii-pjj"): +# """Save sharded data +# Args: +# ds (Dataset): dataset to be saved +# user (str): user name +# remote_dataset_repo (str): remote dataset repository +# out_path (str): path to save the shards""" +# # this will create a folder OUT_PATH that is a clone of REMOTE_DATASET_REPO +# # you can save the shards inside it and do git add/commit/push to push data to the hub +# out_path = remote_dataset_repo +# # if out path doesn't already exist +# if not os.path.exists(out_path): +# repo = Repository( +# local_dir=out_path, +# clone_from=user + "/" + remote_dataset_repo, +# repo_type="dataset", +# private=True, +# use_auth_token=True, +# git_user=user +# ) + +# # files will be numerous we save them in a folder called data inside out_path +# os.mkdir(out_path + "/data") +# SHARD_SIZE = 1000 << 20 +# if ds._indices is not None: +# dataset_nbytes = ds.data.nbytes * len(ds._indices) / len(ds.data) +# else: +# dataset_nbytes = ds.data.nbytes +# num_shards = int(dataset_nbytes / SHARD_SIZE) + 1 +# print(f"Number of shards: {num_shards}") + +# print("sharding the dataset") +# t_start = time.time() +# shards = (ds.shard(num_shards=num_shards, index=i, contiguous=True) for i in range(num_shards)) +# # use f"{OUT_PATH}/data/train-{index:05d}-of-{num_shards:05d}.json" instead for json files +# filenames = (f"{out_path}/data/train-{index:05d}-of-{num_shards:05d}.parquet" for index in range(num_shards)) + +# with Pool(16) as p: +# list(tqdm(p.imap_unordered(save_shard, zip(filenames, shards), chunksize=4), total=num_shards)) +# print(f"Time to save dataset: {time.time()-t_start:.2f}") +# # to push dataset to hub do: git add/commit/push inside OUT_PATH + + + +def save_manual_shards(ds, user="loubnabnl", remote_dataset_repo="bigcode-pii-pjj"): + """Save sharded data + Args: + ds (Dataset): dataset to be saved + user (str): user name + remote_dataset_repo (str): remote dataset repository + out_path (str): path to save the shards""" + # this will create a folder OUT_PATH that is a clone of REMOTE_DATASET_REPO + # you can save the shards inside it and do git add/commit/push to push data to the hub + out_path = remote_dataset_repo + # if out path doesn't already exist + if not os.path.exists(out_path): + repo_url = f'https://huggingface.co/{user}/{remote_dataset_repo}' + repo = Repository(local_dir=out_path, clone_from=repo_url, repo_type="dataset") + repo.create_repo(private=True, use_auth_token=True, git_user=user) + + # files will be numerous we save them in a folder called data inside out_path + os.mkdir(out_path + "/data") + SHARD_SIZE = 1000 << 20 + if ds._indices is not None: + dataset_nbytes = ds.data.nbytes * len(ds._indices) / len(ds.data) + else: + dataset_nbytes = ds.data.nbytes + num_shards = int(dataset_nbytes / SHARD_SIZE) + 1 + print(f"Number of shards: {num_shards}") + + print("sharding the dataset") + t_start = time.time() + shards = (ds.shard(num_shards=num_shards, index=i, contiguous=True) for i in range(num_shards)) + # use f"{OUT_PATH}/data/train-{index:05d}-of-{num_shards:05d}.json" instead for json files + filenames = (f"{out_path}/data/train-{index:05d}-of-{num_shards:05d}.parquet" for index in range(num_shards)) + + with Pool(16) as p: + list(tqdm(p.imap_unordered(save_shard, zip(filenames, shards), chunksize=4), total=num_shards)) + print(f"Time to save dataset: {time.time()-t_start:.2f}") + # to push dataset to hub do: git add/commit/push inside OUT_PATH \ No newline at end of file diff --git a/src/privacy/util/conf/conf.py b/src/privacy/util/conf/conf.py new file mode 100644 index 0000000000000000000000000000000000000000..ac3c24cd7ff0aca34383417b8a8f8e31de2548bb --- /dev/null +++ b/src/privacy/util/conf/conf.py @@ -0,0 +1,30 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import json +import os +from presidio_analyzer.nlp_engine import NlpEngineProvider +from presidio_analyzer import Pattern, PatternRecognizer, AnalyzerEngine, RecognizerRegistry,predefined_recognizers +# +class ConfModle: + def getAnalyzerEngin(str): + modle=json.loads(os.getenv(str)) + configuration = { + "nlp_engine_name": "spacy", + "models": [ + + modle + # print(recog_list) +]} + provider = NlpEngineProvider(nlp_configuration=configuration) + nlp_engine = provider.create_engine() + registry = RecognizerRegistry() + analyzer = AnalyzerEngine(registry=registry,nlp_engine=nlp_engine) + return (analyzer,registry) \ No newline at end of file diff --git a/src/privacy/util/encrypt.py b/src/privacy/util/encrypt.py new file mode 100644 index 0000000000000000000000000000000000000000..f91e6d6669bd32b6e36c29e1ff5a5f2f612fe282 --- /dev/null +++ b/src/privacy/util/encrypt.py @@ -0,0 +1,223 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import cv2 +from PIL import Image, ImageChops +from presidio_image_redactor import ImageRedactorEngine +from presidio_image_redactor.image_analyzer_engine import ImageAnalyzerEngine +import matplotlib +import io +from numpy import asarray +from matplotlib import pyplot as plt +import string +import random +from typing import Optional +import time +from presidio_anonymizer import AnonymizerEngine +from presidio_image_redactor import ImageAnalyzerEngine, BboxProcessor +from PIL import Image, ImageDraw, ImageChops +from presidio_anonymizer.entities import (RecognizerResult, + OperatorResult, + OperatorConfig) +from typing import Union, Tuple, Optional + +def fig2img(fig): + """Convert a Matplotlib figure to a PIL Image and return it.""" + + buf = io.BytesIO() + fig.savefig(buf) + buf.seek(0) + img = Image.open(buf) + return img + + + +class Detect: + def getFace(image:Image): + # print(type(image)) + image= asarray(image) + # print(image) + face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') + # print(len(image.shape)) + # print(image.shape) + if(len(image.shape)==3): + gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) + elif(len(image.shape)==2): + gray = image + else: + gray = image + # print(gray) + +# Detect faces in the image + faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30)) + # print("done") + # print(faces) +# Extract and save each detected face + for i, (x, y, w, h) in enumerate(faces): + face = image[y:y+h, x:x+w] + # print(x,y,w,h) + + # cv2.imwrite(f'C:\\WORK\\GIT\\responsible-ai-privacy\\responsible-ai-privacy\\src\\face_{i}.jpg', face) + # print("returning") + return(x,y,w,h) + +class EncryptImage: + text="" + entity=[] + def __init__(self, image_analyzer_engine: Optional[ImageAnalyzerEngine] = None): + if not image_analyzer_engine: + image_analyzer_engine = ImageAnalyzerEngine() + self.image_analyzer_engine = image_analyzer_engine + self.bbox_processor = BboxProcessor() + # redactorEngine = ImageRedactorEngine(image_analyzer_engine=self.image_analyzer_engine) + + def getText(self,image:Image,ocr_kwargs:Optional[dict] = None,**analyzer_data): + # "Code/Functions from image_analyzer_engine" + print(type(image)) + perform_ocr_kwargs, ocr_threshold = self.image_analyzer_engine._parse_ocr_kwargs(ocr_kwargs) + ocr_result = self.image_analyzer_engine.ocr.perform_ocr(image, **perform_ocr_kwargs) + + + # Apply OCR confidence threshold if it is passed in + if ocr_threshold: + ocr_result = self.image_analyzer_engine.threshold_ocr_result(ocr_result, ocr_threshold) + + # Analyze text + text = self.image_analyzer_engine.ocr.get_text_from_ocr_dict(ocr_result) + EncryptImage.text=text + + def imageAnonimyze( self, + image: Image, + fill: Union[int, Tuple[int, int, int]] = (0, 0, 0), + ocr_kwargs: Optional[dict] = None, + encryptionList:Optional[list]=[], + **text_analyzer_kwargs,): + + """"Code/Functions from Image Redactor""" + image = ImageChops.duplicate(image) + + bboxes = self.image_analyzer_engine.analyze( + image, ocr_kwargs, **text_analyzer_kwargs + ) + + # EncryptImage.entity.extend(bboxes) + print("box==========",bboxes) + draw = ImageDraw.Draw(image) + + for box in bboxes: + if(box.entity_type in encryptionList): + + EncryptImage.entity.append(box) + x0 = box.left + y0 = box.top + x1 = x0 + box.width + y1 = y0 + box.height + # print("=================",x0,y0) + draw.rectangle([x0, y0, x1, y1], fill=fill) + if("entities" in text_analyzer_kwargs): + if("Face_Detect" in text_analyzer_kwargs["entities"]): + res=Detect.getFace(image) + if(res==None): + pass + elif(len(res)==4): + x,y,w,h=res + draw.rectangle([x-(x*.05),y-(x*.05),x+w+(w*.25),y+h+(h*.25)], fill=fill) + # x0,y0,x1,y1=(738, 1028, 217, 58) + # draw.rectangle([x-(x*.05),y-(x*.05),x+w+(w*.25),y+h+(h*.25)], fill=fill) + + + return image + + + + def dis(): + print("===========",EncryptImage.text) + print("---------",EncryptImage.text.title()) + # print("==========",EncryptImage.entity) + print("--------------------") + + def encrypt(self,image:Image,ocr_kwargs:Optional[dict] = None,encryptionList=[],**analyzer_data): + """"Code Reference from Image Verify""" + image = ImageChops.duplicate(image) + image_x, image_y = image.size + + + bboxes=EncryptImage.entity + text=EncryptImage.text + # print("boxA==",bboxes) + dict_operators={} + if encryptionList is not None and len(encryptionList) >0 : + for entity in encryptionList: + dict_operators.update({entity: OperatorConfig("hash", {"hash-type": 'md5'})}) + else: + dict_operators = None + + # print("dic=",dict_operators) + analyzer_result=bboxes + # print(analyzer_result) + anonymizeEngine=AnonymizerEngine() + anonymizeResult=anonymizeEngine.anonymize(text=text, + operators=dict_operators, + analyzer_results=analyzer_result) + # print(r.items) + + # print("==========",anonymizeResult.items) + result=anonymizeResult.items + result=sorted(result, key=lambda i: i.start) + + + # print("RRRRRRRRR=========",len(result),len(bboxes)) + fig, ax = plt.subplots() + ax.axis('off') + image_r = 70 + fig.set_size_inches(image_x / image_r, image_y / image_r) + res=[] + drawen=[] + excess=0 + if len(bboxes) == 0: + return (image,res) + else: + for i in range(len(bboxes)): + box=bboxes[i] + N=box.end-box.start + if((box.start,box.end)in drawen): + excess+=1 + continue + # print("i====######",i) + drawen.append((box.start,box.end)) + if((i-excess)=1.21.2 in c:\facedetection\facedetectv2env\lib\site-packages (from opencv-python) (1.26.2) +Using cached opencv_python-4.8.1.78-cp37-abi3-win_amd64.whl (38.1 MB) +Installing collected packages: opencv-python +Successfully installed opencv-python-4.8.1.78 diff --git a/src/privacy/util/face_detect/LICENSE b/src/privacy/util/face_detect/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..291e2bcabe81e7aa28b9a65865424d8ccb45c492 --- /dev/null +++ b/src/privacy/util/face_detect/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Trung Kien + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/privacy/util/face_detect/README.md b/src/privacy/util/face_detect/README.md new file mode 100644 index 0000000000000000000000000000000000000000..752b4b7bb142991f19065a3fd9ffc19fb8e92b23 --- /dev/null +++ b/src/privacy/util/face_detect/README.md @@ -0,0 +1,84 @@ +# Face Mask Detection + +![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg) +![PyPI - Python Version](https://img.shields.io/pypi/pyversions/Django.svg) + +Detecting face mask with OpenCV and TensorFlow. Using simple CNN or model provided by TensorFlow as MobileNetV2, VGG16, Xception. + +![Demo](doc/8.jpg) + +## Data + +Raw data collected from kaggle and script `crawl_image.py`, split to 'Mask' and 'Non Mask' class. + +Using `build_data.py` to extract faces from raw dataset and resize to 64x64. + +## Installation + +Clone the repo + +``` +git clone git@github.com:ksvbka/face-mask-detector.git +``` +cd to project folder and create virtual env + +``` +virtualenv .env +source .env/bin/activate +pip install -r requirements.txt +``` + +Download raw dataset and execute script build_dataset.py to preprare dataset for training +``` +cd data +bash download_data.sh +cd - +python3 build_dataset.py --data-dir data/dataset_raw/ --output-dir data/64x64_dataset +``` +## Training + +Execute `train.py` script and pass network architecture type dataset dir and epochs to it. +Default network type is MobileNetV2. +``` +python3 train.py --net-type MobileNetV2 --data-dir data/64x64_dataset --epochs 20 +``` +View tensorboard +``` +tensorboard --logdir logs --bind_all +``` +## Testing + +``` +python3 mask_detect_image.py -m results/MobileNetV2-size-64-bs-32-lr-0.0001.h5 -i demo_image/2.jpg +``` + +## Result +Hyperparameter: + - batch size: 32 + - Learing rate: 0.0001 + - Input size: 64x64x3 + +Model result +| Model | Test Accuracy| Size | Params | Memory consumption| +| ------------- | -------------|-------------|-----------|-------------------| +| CNN | 87.67% | 27.1MB | 2,203,557 | 72.58 MB +| VGG16 | 93.08% | 62.4MB | **288,357** | **18.06 MB** +| MobileNetV2 (fine tune) | 97.33% | **20.8MB** | 1,094,373 | 226.67 MB +| **Xception** | **98.33%** | 96.6MB | 1,074,789 | 368.18 MB + +Download pre-trained model: [link](https://drive.google.com/u/0/uc?id=1fvoIX1cz3O8yF3VNfneoM0AK7bR5ok7T&export=download) + +## Demo + +Using MobileNetV2 model + +![Demo](doc/1.jpg) +![Demo](doc/2.jpg) +![Demo](doc/3.jpg) +![Demo](doc/4.jpg) +![Demo](doc/5.jpg) +![Demo](doc/6.jpg) +![Demo](doc/8.jpg) +![Demo](doc/9.jpg) +![Demo](doc/10.jpg) + diff --git a/src/privacy/util/face_detect/build_dataset.py b/src/privacy/util/face_detect/build_dataset.py new file mode 100644 index 0000000000000000000000000000000000000000..52758089399f019a40aade75095e49b52c7db0d3 --- /dev/null +++ b/src/privacy/util/face_detect/build_dataset.py @@ -0,0 +1,138 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +from tensorflow.keras.applications.mobilenet_v2 import preprocess_input +from tensorflow.keras.preprocessing.image import img_to_array +from tensorflow.keras.models import load_model +from privacy.config.logger import CustomLogger +import numpy as np +import argparse +import cv2 +import os + +import argparse +import random +import os + +from tqdm import tqdm +log= CustomLogger() +parser = argparse.ArgumentParser() +parser.add_argument('-d', '--data-dir', default='data/dataset_raw', + help="Directory with the raw dataset") +parser.add_argument('-o', '--output-dir', default='data/64x64_dataset', + help="Where to write the new data") +parser.add_argument('-s', '--size', type=int, default=64, + help="Where to write the new data") +parser.add_argument('-c', '--confidence', type=float, default=0.5, + help="Confidence threshold to detect face") +parser.add_argument('--face-model', type=str, default="face_detector", + help="path to face detector model directory") + +def extract_face(filename, output_dir, net, size, confidence_threshold): + image = cv2.imread(filename) + if image is None: + return + + filename_out = filename.split('/')[-1].split('.')[0] + (h, w) = image.shape[:2] + + blob = cv2.dnn.blobFromImage(image, scalefactor=1.0, size=(128, 128), mean=(104.0, 177.0, 123.0)) + net.setInput(blob) + detections = net.forward() + + for i in range(0, detections.shape[2]): + confidence = detections[0, 0, i, 2] + if confidence > confidence_threshold: + box = detections[0, 0, i, 3:7] * np.array([w, h, w, h]) + (startX, startY, endX, endY) = box.astype("int") + (startX, startY) = (max(0, startX), max(0, startY)) + (endX, endY) = (min(w - 1, endX), min(h - 1, endY)) + + try: + frame = image[startY:endY, startX:endX] + frame = cv2.resize(frame, (size, size), interpolation=cv2.INTER_AREA) + if i > 0: + image_out = os.path.join(output_dir, '%s_%s.jpg' % (filename_out, i)) + else: + image_out = os.path.join(output_dir, '%s.jpg' % filename_out) + cv2.imwrite(image_out, frame) + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + +def app(): + args = parser.parse_args() + + assert os.path.isdir(args.data_dir), "Couldn't find the dataset at {}".format(args.data_dir) + + prototxtPath = os.path.join(args.face_model, "deploy.prototxt") + weightsPath = os.path.join(args.face_model, "res10_300x300_ssd_iter_140000.caffemodel") + net = cv2.dnn.readNet(prototxtPath, weightsPath) + + # Define the data directories + train_mask_dir = os.path.join(args.data_dir, 'train/Mask') + train_non_mask_dir = os.path.join(args.data_dir, 'train/Non Mask') + os.makedirs(train_mask_dir, exist_ok=True) + os.makedirs(train_non_mask_dir, exist_ok=True) + + test_mask_dir = os.path.join(args.data_dir, 'test/Mask') + test_non_mask_dir = os.path.join(args.data_dir, 'test/Non Mask') + os.makedirs(test_mask_dir, exist_ok=True) + os.makedirs(test_non_mask_dir, exist_ok=True) + + # Get the filenames in each directory (train and test) + filenames_mask = os.listdir(train_mask_dir) + filenames_mask = [os.path.join(train_mask_dir, f) for f in filenames_mask if f.endswith('.jpg')] + + filenames_non_mask = os.listdir(train_non_mask_dir) + filenames_non_mask = [os.path.join(train_non_mask_dir, f) for f in filenames_non_mask if f.endswith('.jpg')] + + test_filenames_mask = os.listdir(test_mask_dir) + test_filenames_mask = [os.path.join(test_mask_dir, f) for f in test_filenames_mask if f.endswith('.jpg')] + + test_filenames_non_mask = os.listdir(test_non_mask_dir) + test_filenames_non_mask = [os.path.join(test_non_mask_dir, f) for f in test_filenames_non_mask if f.endswith('.jpg')] + + # Split the images into 80% train and 20% dev + # Make sure to always shuffle with a fixed seed so that the split is reproducible + filenames_mask.sort() + filenames_non_mask.sort() + random.shuffle(filenames_mask) + random.shuffle(filenames_non_mask) + + split_mask = int(0.8 * len(filenames_mask)) + train_filenames_mask = filenames_mask[:split_mask] + dev_filenames_mask = filenames_mask[split_mask:] + + split_non_mask = int(0.8 * len(filenames_non_mask)) + train_filenames_non_mask = filenames_non_mask[:split_non_mask] + dev_filenames_non_mask = filenames_non_mask[split_non_mask:] + + filenames = {'train/Mask': train_filenames_mask, + 'train/Non Mask': train_filenames_non_mask, + 'test/Mask': test_filenames_mask, + 'test/Non Mask': test_filenames_non_mask, + 'validation/Mask': dev_filenames_mask, + 'validation/Non Mask': dev_filenames_non_mask} + + # Preprocess train, dev and test + for split in filenames.keys(): + output_dir_split = os.path.join(args.output_dir, split) + os.makedirs(output_dir_split, exist_ok=True) + + print("Processing {} data, saving preprocessed data to {}".format(split, output_dir_split)) + for filename in tqdm(filenames[split]): + extract_face(filename, output_dir_split, net, args.size, args.confidence) + + print("Done building dataset") + + +if __name__ == '__main__': + app() diff --git a/src/privacy/util/face_detect/crawl_image.py b/src/privacy/util/face_detect/crawl_image.py new file mode 100644 index 0000000000000000000000000000000000000000..38aca0109cee6f4ed73738d08df964a3f8eb7abf --- /dev/null +++ b/src/privacy/util/face_detect/crawl_image.py @@ -0,0 +1,45 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + + +import argparse +from tqdm import tqdm +from google_images_search import GoogleImagesSearch +import os + +GCS_CX = '495179597de2e4ab6' +GCS_DEVELOPER_KEY= os.getenv('GCS_DEVELOPER_KEY') + +def crawl_image(query_text, save_dir, num=10, fileType='jpg|png', imgSize='MEDIUM'): + gis = GoogleImagesSearch(GCS_DEVELOPER_KEY, GCS_CX) + + # define search params: + _search_params = { + 'q': query_text, + 'num': num, + 'fileType': fileType, + 'imgSize': imgSize + } + + gis.search(search_params=_search_params) + for image in tqdm(gis.results()): + image.download(save_dir) + # image.resize(500, 500) + +if __name__ == "__main__": + ap = argparse.ArgumentParser() + ap.add_argument("-q", "--query", type=str, help="String to query image") + ap.add_argument("-d", "--out-dir", type=str, help="Path to download image") + ap.add_argument("-n", "--number", type=int, choices=range(0, 10000), help="Number of result") + ap.add_argument("-f", "--file-type", type=str, help="File type of result") + ap.add_argument("-s", "--image-size", type=str, help="Image size of result") + + args = ap.parse_args() + crawl_image(args.query, args.out_dir, num=args.number, fileType=args.file_type, imgSize=args.image_size) \ No newline at end of file diff --git a/src/privacy/util/face_detect/data/download_data.sh b/src/privacy/util/face_detect/data/download_data.sh new file mode 100644 index 0000000000000000000000000000000000000000..300e5ec74c7a1049c26c692d1724a9baab2839a5 --- /dev/null +++ b/src/privacy/util/face_detect/data/download_data.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +# NOTE: If it failed to auto get file, please visit link to manual download +# https://drive.google.com/u/0/uc?id=1uNxRdSyLSUocUR10AgHGG-j4ZaXc6U12&export=download + +wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1uNxRdSyLSUocUR10AgHGG-j4ZaXc6U12' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1uNxRdSyLSUocUR10AgHGG-j4ZaXc6U12" -O dataset_raw.zip && rm -rf /tmp/cookies.txt +unzip dataset_raw.zip \ No newline at end of file diff --git a/src/privacy/util/face_detect/data/extract_face.py b/src/privacy/util/face_detect/data/extract_face.py new file mode 100644 index 0000000000000000000000000000000000000000..9af92107ea8b079a28c48fd1f18d836e376a39de --- /dev/null +++ b/src/privacy/util/face_detect/data/extract_face.py @@ -0,0 +1,94 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +from tensorflow.keras.applications.mobilenet_v2 import preprocess_input +from tensorflow.keras.preprocessing.image import img_to_array +from tensorflow.keras.models import load_model +from tqdm import tqdm +from glob import glob +from privacy.config.logger import CustomLogger +import tensorflow as tf +import numpy as np +import argparse +import time +import cv2 +import os +log = CustomLogger() +parser = argparse.ArgumentParser() +parser.add_argument('-i', '--input-dir', + help="Directory of input image") +parser.add_argument('-o', '--output-dir', default='data/64x64_dataset', + help="Where to write the extracted data") +parser.add_argument('-s', '--size', default=64, type=int, + help="Size of output face image") +parser.add_argument('-c', '--confidence', default=0.5, type=float, + help='Confidence threadhold to detect face') + +def extract_face(filename, output_dir, net, size, confidence_threshold): + image = cv2.imread(filename) + filename_out = filename.split('/')[-1].split('.')[0] + (h, w) = image.shape[:2] + + blob = cv2.dnn.blobFromImage(image, scalefactor=1.0, mean=(104.0, 177.0, 123.0)) + net.setInput(blob) + detections = net.forward() + + for i in range(0, detections.shape[2]): + confidence = detections[0, 0, i, 2] + if confidence < confidence_threshold: + # Drop low confidence detections + continue + + box = detections[0, 0, i, 3:7] * np.array([w, h, w, h]) + (startX, startY, endX, endY) = box.astype("int") + (startX, startY) = (max(0, startX), max(0, startY)) + (endX, endY) = (min(w - 1, endX), min(h - 1, endY)) + + color = (0, 255, 0) + cv2.rectangle(image, (startX, startY), (endX, endY), color, 2) + + try: + frame = image[startY:endY, startX:endX] + frame = cv2.resize(frame, (size, size), interpolation=cv2.INTER_AREA) + if i > 0: + image_out = os.path.join(output_dir, '%s_%s.jpg' % (filename_out, i)) + else: + image_out = os.path.join(output_dir, '%s.jpg' % filename_out) + cv2.imwrite(image_out, frame) + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + + # show the output image + cv2.imshow("Output", image) + cv2.waitKey(0) + +def app(): + args = parser.parse_args() + + assert os.path.isdir(args.input_dir), "Couldn't find the dataset at {}".format(args.input_dir) + os.makedirs(args.output_dir, exist_ok=True) + + prototxt_path = os.path.join('face_detector', 'deploy.prototxt') + weights_ath = os.path.join('face_detector', 'res10_300x300_ssd_iter_140000.caffemodel') + net = cv2.dnn.readNet(prototxt_path, weights_ath) + + input_imgs = [] + for t in ('jpeg', 'png', 'jpg'): + input_imgs.extend(glob(args.input_dir + '/*.' + t)) + + for filename in tqdm(sorted(input_imgs)): + extract_face(filename, args.output_dir, net, args.size, args.confidence) + # time.sleep(1) + print("Done!") + +if __name__ == '__main__': + app() + diff --git a/src/privacy/util/face_detect/data/extract_face_from_file.py b/src/privacy/util/face_detect/data/extract_face_from_file.py new file mode 100644 index 0000000000000000000000000000000000000000..978a56119d04e621640f50cb0baedbe46221eec2 --- /dev/null +++ b/src/privacy/util/face_detect/data/extract_face_from_file.py @@ -0,0 +1,77 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +from tensorflow.keras.applications.mobilenet_v2 import preprocess_input +from tensorflow.keras.preprocessing.image import img_to_array +from tensorflow.keras.models import load_model +from tqdm import tqdm +from glob import glob +from privacy.config.logger import CustomLogger +import tensorflow as tf +import numpy as np +import argparse +import time +import cv2 +import os +log = CustomLogger() +parser = argparse.ArgumentParser() +parser.add_argument('-i', '--input-file', + help="Path of input image") +parser.add_argument('-o', '--output-dir', default='data/64x64_dataset', + help="Where to write the extracted data") +parser.add_argument('-s', '--size', default=64, type=int, + help="Size of output face image") +parser.add_argument('-c', '--confidence', default=0.5, type=float, + help='confidence threadhold to detect face') + +def extract_face(filename, output_dir, net, size, confidence_threshold): + image = cv2.imread(filename) + filename_out = filename.split('/')[-1].split('.')[0] + (h, w) = image.shape[:2] + + blob = cv2.dnn.blobFromImage(image, scalefactor=1.0, mean=(104.0, 177.0, 123.0)) + net.setInput(blob) + detections = net.forward() + + for i in range(0, detections.shape[2]): + confidence = detections[0, 0, i, 2] + if confidence < confidence_threshold: + # Drop low confidence detections + continue + + box = detections[0, 0, i, 3:7] * np.array([w, h, w, h]) + (startX, startY, endX, endY) = box.astype("int") + (startX, startY) = (max(0, startX), max(0, startY)) + (endX, endY) = (min(w - 1, endX), min(h - 1, endY)) + + try: + frame = image[startY:endY, startX:endX] + frame = cv2.resize(frame, (size, size), interpolation=cv2.INTER_AREA) + if i > 0: + image_out = os.path.join(output_dir, '%s_%s.jpg' % (filename_out, i)) + else: + image_out = os.path.join(output_dir, '%s.jpg' % filename_out) + cv2.imwrite(image_out, frame) + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + +def app(): + args = parser.parse_args() + + os.makedirs(args.output_dir, exist_ok=True) + prototxt_path = os.path.join('face_detector', 'deploy.prototxt') + weights_ath = os.path.join('face_detector', 'res10_300x300_ssd_iter_140000.caffemodel') + net = cv2.dnn.readNet(prototxt_path, weights_ath) + + extract_face(args.input_file, args.output_dir, net, args.size, args.confidence) + +if __name__ == '__main__': + app() diff --git a/src/privacy/util/face_detect/demo_image/1.jpg b/src/privacy/util/face_detect/demo_image/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..22deb4405c9a4c281dfe280e54c4f37e32fbe953 Binary files /dev/null and b/src/privacy/util/face_detect/demo_image/1.jpg differ diff --git a/src/privacy/util/face_detect/demo_image/10.jpg b/src/privacy/util/face_detect/demo_image/10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..17537fdb9610cf408bd4fb4953f792289a04b062 Binary files /dev/null and b/src/privacy/util/face_detect/demo_image/10.jpg differ diff --git a/src/privacy/util/face_detect/demo_image/2.jpg b/src/privacy/util/face_detect/demo_image/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..12593a397e51053c488a88ab687edfae8dd71248 Binary files /dev/null and b/src/privacy/util/face_detect/demo_image/2.jpg differ diff --git a/src/privacy/util/face_detect/demo_image/3.jpg b/src/privacy/util/face_detect/demo_image/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..78c680f13a77cdefc5818fe285d9bbd2439d4d06 Binary files /dev/null and b/src/privacy/util/face_detect/demo_image/3.jpg differ diff --git a/src/privacy/util/face_detect/demo_image/4.jpg b/src/privacy/util/face_detect/demo_image/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7b48fcc249f32326ad05e050a2fdd85fd412c7a3 Binary files /dev/null and b/src/privacy/util/face_detect/demo_image/4.jpg differ diff --git a/src/privacy/util/face_detect/demo_image/5.jpg b/src/privacy/util/face_detect/demo_image/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2994779e3c5424ee8d8cfa7dfbae973f6409a362 Binary files /dev/null and b/src/privacy/util/face_detect/demo_image/5.jpg differ diff --git a/src/privacy/util/face_detect/demo_image/6.jpg b/src/privacy/util/face_detect/demo_image/6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c4a4e4bad63fd2fd5f43a2314a532a2d5466b1e2 Binary files /dev/null and b/src/privacy/util/face_detect/demo_image/6.jpg differ diff --git a/src/privacy/util/face_detect/demo_image/7.jpg b/src/privacy/util/face_detect/demo_image/7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9dab04b07ca31e07ba1800f7d1b964923b11bbf3 Binary files /dev/null and b/src/privacy/util/face_detect/demo_image/7.jpg differ diff --git a/src/privacy/util/face_detect/demo_image/8.jpg b/src/privacy/util/face_detect/demo_image/8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..40143d6c829bc82b38dd7d619d403a01948837d3 Binary files /dev/null and b/src/privacy/util/face_detect/demo_image/8.jpg differ diff --git a/src/privacy/util/face_detect/demo_image/9.jpg b/src/privacy/util/face_detect/demo_image/9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7aeeadbc6f5665a516d7eb28874b6507572c638e Binary files /dev/null and b/src/privacy/util/face_detect/demo_image/9.jpg differ diff --git a/src/privacy/util/face_detect/doc/1.jpg b/src/privacy/util/face_detect/doc/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..febfc1f905585c0b51dc4d3702066b0ed6e645cc Binary files /dev/null and b/src/privacy/util/face_detect/doc/1.jpg differ diff --git a/src/privacy/util/face_detect/doc/10.jpg b/src/privacy/util/face_detect/doc/10.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a03288d48d05dc03cd147e116edfa2816d09a77a --- /dev/null +++ b/src/privacy/util/face_detect/doc/10.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa33f0e4135b8701dff56fd3f88e2313ab61a28a3a28af21d9cbd1e2fa0d1ef0 +size 1871825 diff --git a/src/privacy/util/face_detect/doc/2.jpg b/src/privacy/util/face_detect/doc/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f9648e2af84c284e5dfae53a3f320adf88874489 Binary files /dev/null and b/src/privacy/util/face_detect/doc/2.jpg differ diff --git a/src/privacy/util/face_detect/doc/3.jpg b/src/privacy/util/face_detect/doc/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b464e266b2ce95d1fe858d61e66c603d39e625ce Binary files /dev/null and b/src/privacy/util/face_detect/doc/3.jpg differ diff --git a/src/privacy/util/face_detect/doc/4.jpg b/src/privacy/util/face_detect/doc/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7da3684ae6232f5e6cc66db5d72370389fe8e47e Binary files /dev/null and b/src/privacy/util/face_detect/doc/4.jpg differ diff --git a/src/privacy/util/face_detect/doc/5.jpg b/src/privacy/util/face_detect/doc/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f06c394e5dfdf415f0db8d5fe6f6df195587f205 --- /dev/null +++ b/src/privacy/util/face_detect/doc/5.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bb11621ce1fda20dfe6276bec06a4a828b171eaeb09c58e06cc6dd43993765c +size 1280993 diff --git a/src/privacy/util/face_detect/doc/6.jpg b/src/privacy/util/face_detect/doc/6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0a364cd20ebef4d64b45e8c5fd52dc0fb85dd2ae Binary files /dev/null and b/src/privacy/util/face_detect/doc/6.jpg differ diff --git a/src/privacy/util/face_detect/doc/8.jpg b/src/privacy/util/face_detect/doc/8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..390ad186cf7117a1799062e85964d7575cd52541 --- /dev/null +++ b/src/privacy/util/face_detect/doc/8.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61de7a708df12175ed4e0533c1947035a7635c2a7b3a362e5aba7408a27863d2 +size 1112537 diff --git a/src/privacy/util/face_detect/doc/9.jpg b/src/privacy/util/face_detect/doc/9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cf4d382a073db6893004248f987db58a63e563cb Binary files /dev/null and b/src/privacy/util/face_detect/doc/9.jpg differ diff --git a/src/privacy/util/face_detect/face_detector/deploy.prototxt b/src/privacy/util/face_detect/face_detector/deploy.prototxt new file mode 100644 index 0000000000000000000000000000000000000000..905580ee46dcb9f0b8ac3703987e561eb4245a42 --- /dev/null +++ b/src/privacy/util/face_detect/face_detector/deploy.prototxt @@ -0,0 +1,1789 @@ +input: "data" +input_shape { + dim: 1 + dim: 3 + dim: 300 + dim: 300 +} + +layer { + name: "data_bn" + type: "BatchNorm" + bottom: "data" + top: "data_bn" + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } +} +layer { + name: "data_scale" + type: "Scale" + bottom: "data_bn" + top: "data_bn" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 1.0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv1_h" + type: "Convolution" + bottom: "data_bn" + top: "conv1_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 1.0 + } + convolution_param { + num_output: 32 + pad: 3 + kernel_size: 7 + stride: 2 + weight_filler { + type: "msra" + variance_norm: FAN_OUT + } + bias_filler { + type: "constant" + value: 0.0 + } + } +} +layer { + name: "conv1_bn_h" + type: "BatchNorm" + bottom: "conv1_h" + top: "conv1_h" + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } +} +layer { + name: "conv1_scale_h" + type: "Scale" + bottom: "conv1_h" + top: "conv1_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 1.0 + } + scale_param { + bias_term: true + } +} +layer { + name: "conv1_relu" + type: "ReLU" + bottom: "conv1_h" + top: "conv1_h" +} +layer { + name: "conv1_pool" + type: "Pooling" + bottom: "conv1_h" + top: "conv1_pool" + pooling_param { + kernel_size: 3 + stride: 2 + } +} +layer { + name: "layer_64_1_conv1_h" + type: "Convolution" + bottom: "conv1_pool" + top: "layer_64_1_conv1_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + convolution_param { + num_output: 32 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } + } +} +layer { + name: "layer_64_1_bn2_h" + type: "BatchNorm" + bottom: "layer_64_1_conv1_h" + top: "layer_64_1_conv1_h" + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } +} +layer { + name: "layer_64_1_scale2_h" + type: "Scale" + bottom: "layer_64_1_conv1_h" + top: "layer_64_1_conv1_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 1.0 + } + scale_param { + bias_term: true + } +} +layer { + name: "layer_64_1_relu2" + type: "ReLU" + bottom: "layer_64_1_conv1_h" + top: "layer_64_1_conv1_h" +} +layer { + name: "layer_64_1_conv2_h" + type: "Convolution" + bottom: "layer_64_1_conv1_h" + top: "layer_64_1_conv2_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + convolution_param { + num_output: 32 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } + } +} +layer { + name: "layer_64_1_sum" + type: "Eltwise" + bottom: "layer_64_1_conv2_h" + bottom: "conv1_pool" + top: "layer_64_1_sum" +} +layer { + name: "layer_128_1_bn1_h" + type: "BatchNorm" + bottom: "layer_64_1_sum" + top: "layer_128_1_bn1_h" + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } +} +layer { + name: "layer_128_1_scale1_h" + type: "Scale" + bottom: "layer_128_1_bn1_h" + top: "layer_128_1_bn1_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 1.0 + } + scale_param { + bias_term: true + } +} +layer { + name: "layer_128_1_relu1" + type: "ReLU" + bottom: "layer_128_1_bn1_h" + top: "layer_128_1_bn1_h" +} +layer { + name: "layer_128_1_conv1_h" + type: "Convolution" + bottom: "layer_128_1_bn1_h" + top: "layer_128_1_conv1_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } + } +} +layer { + name: "layer_128_1_bn2" + type: "BatchNorm" + bottom: "layer_128_1_conv1_h" + top: "layer_128_1_conv1_h" + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } +} +layer { + name: "layer_128_1_scale2" + type: "Scale" + bottom: "layer_128_1_conv1_h" + top: "layer_128_1_conv1_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 1.0 + } + scale_param { + bias_term: true + } +} +layer { + name: "layer_128_1_relu2" + type: "ReLU" + bottom: "layer_128_1_conv1_h" + top: "layer_128_1_conv1_h" +} +layer { + name: "layer_128_1_conv2" + type: "Convolution" + bottom: "layer_128_1_conv1_h" + top: "layer_128_1_conv2" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } + } +} +layer { + name: "layer_128_1_conv_expand_h" + type: "Convolution" + bottom: "layer_128_1_bn1_h" + top: "layer_128_1_conv_expand_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + convolution_param { + num_output: 128 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } + } +} +layer { + name: "layer_128_1_sum" + type: "Eltwise" + bottom: "layer_128_1_conv2" + bottom: "layer_128_1_conv_expand_h" + top: "layer_128_1_sum" +} +layer { + name: "layer_256_1_bn1" + type: "BatchNorm" + bottom: "layer_128_1_sum" + top: "layer_256_1_bn1" + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } +} +layer { + name: "layer_256_1_scale1" + type: "Scale" + bottom: "layer_256_1_bn1" + top: "layer_256_1_bn1" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 1.0 + } + scale_param { + bias_term: true + } +} +layer { + name: "layer_256_1_relu1" + type: "ReLU" + bottom: "layer_256_1_bn1" + top: "layer_256_1_bn1" +} +layer { + name: "layer_256_1_conv1" + type: "Convolution" + bottom: "layer_256_1_bn1" + top: "layer_256_1_conv1" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } + } +} +layer { + name: "layer_256_1_bn2" + type: "BatchNorm" + bottom: "layer_256_1_conv1" + top: "layer_256_1_conv1" + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } +} +layer { + name: "layer_256_1_scale2" + type: "Scale" + bottom: "layer_256_1_conv1" + top: "layer_256_1_conv1" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 1.0 + } + scale_param { + bias_term: true + } +} +layer { + name: "layer_256_1_relu2" + type: "ReLU" + bottom: "layer_256_1_conv1" + top: "layer_256_1_conv1" +} +layer { + name: "layer_256_1_conv2" + type: "Convolution" + bottom: "layer_256_1_conv1" + top: "layer_256_1_conv2" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + convolution_param { + num_output: 256 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } + } +} +layer { + name: "layer_256_1_conv_expand" + type: "Convolution" + bottom: "layer_256_1_bn1" + top: "layer_256_1_conv_expand" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } + } +} +layer { + name: "layer_256_1_sum" + type: "Eltwise" + bottom: "layer_256_1_conv2" + bottom: "layer_256_1_conv_expand" + top: "layer_256_1_sum" +} +layer { + name: "layer_512_1_bn1" + type: "BatchNorm" + bottom: "layer_256_1_sum" + top: "layer_512_1_bn1" + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } +} +layer { + name: "layer_512_1_scale1" + type: "Scale" + bottom: "layer_512_1_bn1" + top: "layer_512_1_bn1" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 1.0 + } + scale_param { + bias_term: true + } +} +layer { + name: "layer_512_1_relu1" + type: "ReLU" + bottom: "layer_512_1_bn1" + top: "layer_512_1_bn1" +} +layer { + name: "layer_512_1_conv1_h" + type: "Convolution" + bottom: "layer_512_1_bn1" + top: "layer_512_1_conv1_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + convolution_param { + num_output: 128 + bias_term: false + pad: 1 + kernel_size: 3 + stride: 1 # 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } + } +} +layer { + name: "layer_512_1_bn2_h" + type: "BatchNorm" + bottom: "layer_512_1_conv1_h" + top: "layer_512_1_conv1_h" + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } +} +layer { + name: "layer_512_1_scale2_h" + type: "Scale" + bottom: "layer_512_1_conv1_h" + top: "layer_512_1_conv1_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 1.0 + } + scale_param { + bias_term: true + } +} +layer { + name: "layer_512_1_relu2" + type: "ReLU" + bottom: "layer_512_1_conv1_h" + top: "layer_512_1_conv1_h" +} +layer { + name: "layer_512_1_conv2_h" + type: "Convolution" + bottom: "layer_512_1_conv1_h" + top: "layer_512_1_conv2_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + convolution_param { + num_output: 256 + bias_term: false + pad: 2 # 1 + kernel_size: 3 + stride: 1 + dilation: 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } + } +} +layer { + name: "layer_512_1_conv_expand_h" + type: "Convolution" + bottom: "layer_512_1_bn1" + top: "layer_512_1_conv_expand_h" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + convolution_param { + num_output: 256 + bias_term: false + pad: 0 + kernel_size: 1 + stride: 1 # 2 + weight_filler { + type: "msra" + } + bias_filler { + type: "constant" + value: 0.0 + } + } +} +layer { + name: "layer_512_1_sum" + type: "Eltwise" + bottom: "layer_512_1_conv2_h" + bottom: "layer_512_1_conv_expand_h" + top: "layer_512_1_sum" +} +layer { + name: "last_bn_h" + type: "BatchNorm" + bottom: "layer_512_1_sum" + top: "layer_512_1_sum" + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } + param { + lr_mult: 0.0 + } +} +layer { + name: "last_scale_h" + type: "Scale" + bottom: "layer_512_1_sum" + top: "layer_512_1_sum" + param { + lr_mult: 1.0 + decay_mult: 1.0 + } + param { + lr_mult: 2.0 + decay_mult: 1.0 + } + scale_param { + bias_term: true + } +} +layer { + name: "last_relu" + type: "ReLU" + bottom: "layer_512_1_sum" + top: "fc7" +} + +layer { + name: "conv6_1_h" + type: "Convolution" + bottom: "fc7" + top: "conv6_1_h" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv6_1_relu" + type: "ReLU" + bottom: "conv6_1_h" + top: "conv6_1_h" +} +layer { + name: "conv6_2_h" + type: "Convolution" + bottom: "conv6_1_h" + top: "conv6_2_h" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 256 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv6_2_relu" + type: "ReLU" + bottom: "conv6_2_h" + top: "conv6_2_h" +} +layer { + name: "conv7_1_h" + type: "Convolution" + bottom: "conv6_2_h" + top: "conv7_1_h" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv7_1_relu" + type: "ReLU" + bottom: "conv7_1_h" + top: "conv7_1_h" +} +layer { + name: "conv7_2_h" + type: "Convolution" + bottom: "conv7_1_h" + top: "conv7_2_h" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 2 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv7_2_relu" + type: "ReLU" + bottom: "conv7_2_h" + top: "conv7_2_h" +} +layer { + name: "conv8_1_h" + type: "Convolution" + bottom: "conv7_2_h" + top: "conv8_1_h" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv8_1_relu" + type: "ReLU" + bottom: "conv8_1_h" + top: "conv8_1_h" +} +layer { + name: "conv8_2_h" + type: "Convolution" + bottom: "conv8_1_h" + top: "conv8_2_h" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv8_2_relu" + type: "ReLU" + bottom: "conv8_2_h" + top: "conv8_2_h" +} +layer { + name: "conv9_1_h" + type: "Convolution" + bottom: "conv8_2_h" + top: "conv9_1_h" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 64 + pad: 0 + kernel_size: 1 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv9_1_relu" + type: "ReLU" + bottom: "conv9_1_h" + top: "conv9_1_h" +} +layer { + name: "conv9_2_h" + type: "Convolution" + bottom: "conv9_1_h" + top: "conv9_2_h" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 128 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv9_2_relu" + type: "ReLU" + bottom: "conv9_2_h" + top: "conv9_2_h" +} +layer { + name: "conv4_3_norm" + type: "Normalize" + bottom: "layer_256_1_bn1" + top: "conv4_3_norm" + norm_param { + across_spatial: false + scale_filler { + type: "constant" + value: 20 + } + channel_shared: false + } +} +layer { + name: "conv4_3_norm_mbox_loc" + type: "Convolution" + bottom: "conv4_3_norm" + top: "conv4_3_norm_mbox_loc" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 16 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv4_3_norm_mbox_loc_perm" + type: "Permute" + bottom: "conv4_3_norm_mbox_loc" + top: "conv4_3_norm_mbox_loc_perm" + permute_param { + order: 0 + order: 2 + order: 3 + order: 1 + } +} +layer { + name: "conv4_3_norm_mbox_loc_flat" + type: "Flatten" + bottom: "conv4_3_norm_mbox_loc_perm" + top: "conv4_3_norm_mbox_loc_flat" + flatten_param { + axis: 1 + } +} +layer { + name: "conv4_3_norm_mbox_conf" + type: "Convolution" + bottom: "conv4_3_norm" + top: "conv4_3_norm_mbox_conf" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 8 # 84 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv4_3_norm_mbox_conf_perm" + type: "Permute" + bottom: "conv4_3_norm_mbox_conf" + top: "conv4_3_norm_mbox_conf_perm" + permute_param { + order: 0 + order: 2 + order: 3 + order: 1 + } +} +layer { + name: "conv4_3_norm_mbox_conf_flat" + type: "Flatten" + bottom: "conv4_3_norm_mbox_conf_perm" + top: "conv4_3_norm_mbox_conf_flat" + flatten_param { + axis: 1 + } +} +layer { + name: "conv4_3_norm_mbox_priorbox" + type: "PriorBox" + bottom: "conv4_3_norm" + bottom: "data" + top: "conv4_3_norm_mbox_priorbox" + prior_box_param { + min_size: 30.0 + max_size: 60.0 + aspect_ratio: 2 + flip: true + clip: false + variance: 0.1 + variance: 0.1 + variance: 0.2 + variance: 0.2 + step: 8 + offset: 0.5 + } +} +layer { + name: "fc7_mbox_loc" + type: "Convolution" + bottom: "fc7" + top: "fc7_mbox_loc" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 24 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "fc7_mbox_loc_perm" + type: "Permute" + bottom: "fc7_mbox_loc" + top: "fc7_mbox_loc_perm" + permute_param { + order: 0 + order: 2 + order: 3 + order: 1 + } +} +layer { + name: "fc7_mbox_loc_flat" + type: "Flatten" + bottom: "fc7_mbox_loc_perm" + top: "fc7_mbox_loc_flat" + flatten_param { + axis: 1 + } +} +layer { + name: "fc7_mbox_conf" + type: "Convolution" + bottom: "fc7" + top: "fc7_mbox_conf" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 12 # 126 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "fc7_mbox_conf_perm" + type: "Permute" + bottom: "fc7_mbox_conf" + top: "fc7_mbox_conf_perm" + permute_param { + order: 0 + order: 2 + order: 3 + order: 1 + } +} +layer { + name: "fc7_mbox_conf_flat" + type: "Flatten" + bottom: "fc7_mbox_conf_perm" + top: "fc7_mbox_conf_flat" + flatten_param { + axis: 1 + } +} +layer { + name: "fc7_mbox_priorbox" + type: "PriorBox" + bottom: "fc7" + bottom: "data" + top: "fc7_mbox_priorbox" + prior_box_param { + min_size: 60.0 + max_size: 111.0 + aspect_ratio: 2 + aspect_ratio: 3 + flip: true + clip: false + variance: 0.1 + variance: 0.1 + variance: 0.2 + variance: 0.2 + step: 16 + offset: 0.5 + } +} +layer { + name: "conv6_2_mbox_loc" + type: "Convolution" + bottom: "conv6_2_h" + top: "conv6_2_mbox_loc" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 24 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv6_2_mbox_loc_perm" + type: "Permute" + bottom: "conv6_2_mbox_loc" + top: "conv6_2_mbox_loc_perm" + permute_param { + order: 0 + order: 2 + order: 3 + order: 1 + } +} +layer { + name: "conv6_2_mbox_loc_flat" + type: "Flatten" + bottom: "conv6_2_mbox_loc_perm" + top: "conv6_2_mbox_loc_flat" + flatten_param { + axis: 1 + } +} +layer { + name: "conv6_2_mbox_conf" + type: "Convolution" + bottom: "conv6_2_h" + top: "conv6_2_mbox_conf" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 12 # 126 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv6_2_mbox_conf_perm" + type: "Permute" + bottom: "conv6_2_mbox_conf" + top: "conv6_2_mbox_conf_perm" + permute_param { + order: 0 + order: 2 + order: 3 + order: 1 + } +} +layer { + name: "conv6_2_mbox_conf_flat" + type: "Flatten" + bottom: "conv6_2_mbox_conf_perm" + top: "conv6_2_mbox_conf_flat" + flatten_param { + axis: 1 + } +} +layer { + name: "conv6_2_mbox_priorbox" + type: "PriorBox" + bottom: "conv6_2_h" + bottom: "data" + top: "conv6_2_mbox_priorbox" + prior_box_param { + min_size: 111.0 + max_size: 162.0 + aspect_ratio: 2 + aspect_ratio: 3 + flip: true + clip: false + variance: 0.1 + variance: 0.1 + variance: 0.2 + variance: 0.2 + step: 32 + offset: 0.5 + } +} +layer { + name: "conv7_2_mbox_loc" + type: "Convolution" + bottom: "conv7_2_h" + top: "conv7_2_mbox_loc" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 24 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv7_2_mbox_loc_perm" + type: "Permute" + bottom: "conv7_2_mbox_loc" + top: "conv7_2_mbox_loc_perm" + permute_param { + order: 0 + order: 2 + order: 3 + order: 1 + } +} +layer { + name: "conv7_2_mbox_loc_flat" + type: "Flatten" + bottom: "conv7_2_mbox_loc_perm" + top: "conv7_2_mbox_loc_flat" + flatten_param { + axis: 1 + } +} +layer { + name: "conv7_2_mbox_conf" + type: "Convolution" + bottom: "conv7_2_h" + top: "conv7_2_mbox_conf" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 12 # 126 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv7_2_mbox_conf_perm" + type: "Permute" + bottom: "conv7_2_mbox_conf" + top: "conv7_2_mbox_conf_perm" + permute_param { + order: 0 + order: 2 + order: 3 + order: 1 + } +} +layer { + name: "conv7_2_mbox_conf_flat" + type: "Flatten" + bottom: "conv7_2_mbox_conf_perm" + top: "conv7_2_mbox_conf_flat" + flatten_param { + axis: 1 + } +} +layer { + name: "conv7_2_mbox_priorbox" + type: "PriorBox" + bottom: "conv7_2_h" + bottom: "data" + top: "conv7_2_mbox_priorbox" + prior_box_param { + min_size: 162.0 + max_size: 213.0 + aspect_ratio: 2 + aspect_ratio: 3 + flip: true + clip: false + variance: 0.1 + variance: 0.1 + variance: 0.2 + variance: 0.2 + step: 64 + offset: 0.5 + } +} +layer { + name: "conv8_2_mbox_loc" + type: "Convolution" + bottom: "conv8_2_h" + top: "conv8_2_mbox_loc" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 16 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv8_2_mbox_loc_perm" + type: "Permute" + bottom: "conv8_2_mbox_loc" + top: "conv8_2_mbox_loc_perm" + permute_param { + order: 0 + order: 2 + order: 3 + order: 1 + } +} +layer { + name: "conv8_2_mbox_loc_flat" + type: "Flatten" + bottom: "conv8_2_mbox_loc_perm" + top: "conv8_2_mbox_loc_flat" + flatten_param { + axis: 1 + } +} +layer { + name: "conv8_2_mbox_conf" + type: "Convolution" + bottom: "conv8_2_h" + top: "conv8_2_mbox_conf" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 8 # 84 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv8_2_mbox_conf_perm" + type: "Permute" + bottom: "conv8_2_mbox_conf" + top: "conv8_2_mbox_conf_perm" + permute_param { + order: 0 + order: 2 + order: 3 + order: 1 + } +} +layer { + name: "conv8_2_mbox_conf_flat" + type: "Flatten" + bottom: "conv8_2_mbox_conf_perm" + top: "conv8_2_mbox_conf_flat" + flatten_param { + axis: 1 + } +} +layer { + name: "conv8_2_mbox_priorbox" + type: "PriorBox" + bottom: "conv8_2_h" + bottom: "data" + top: "conv8_2_mbox_priorbox" + prior_box_param { + min_size: 213.0 + max_size: 264.0 + aspect_ratio: 2 + flip: true + clip: false + variance: 0.1 + variance: 0.1 + variance: 0.2 + variance: 0.2 + step: 100 + offset: 0.5 + } +} +layer { + name: "conv9_2_mbox_loc" + type: "Convolution" + bottom: "conv9_2_h" + top: "conv9_2_mbox_loc" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 16 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv9_2_mbox_loc_perm" + type: "Permute" + bottom: "conv9_2_mbox_loc" + top: "conv9_2_mbox_loc_perm" + permute_param { + order: 0 + order: 2 + order: 3 + order: 1 + } +} +layer { + name: "conv9_2_mbox_loc_flat" + type: "Flatten" + bottom: "conv9_2_mbox_loc_perm" + top: "conv9_2_mbox_loc_flat" + flatten_param { + axis: 1 + } +} +layer { + name: "conv9_2_mbox_conf" + type: "Convolution" + bottom: "conv9_2_h" + top: "conv9_2_mbox_conf" + param { + lr_mult: 1 + decay_mult: 1 + } + param { + lr_mult: 2 + decay_mult: 0 + } + convolution_param { + num_output: 8 # 84 + pad: 1 + kernel_size: 3 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + value: 0 + } + } +} +layer { + name: "conv9_2_mbox_conf_perm" + type: "Permute" + bottom: "conv9_2_mbox_conf" + top: "conv9_2_mbox_conf_perm" + permute_param { + order: 0 + order: 2 + order: 3 + order: 1 + } +} +layer { + name: "conv9_2_mbox_conf_flat" + type: "Flatten" + bottom: "conv9_2_mbox_conf_perm" + top: "conv9_2_mbox_conf_flat" + flatten_param { + axis: 1 + } +} +layer { + name: "conv9_2_mbox_priorbox" + type: "PriorBox" + bottom: "conv9_2_h" + bottom: "data" + top: "conv9_2_mbox_priorbox" + prior_box_param { + min_size: 264.0 + max_size: 315.0 + aspect_ratio: 2 + flip: true + clip: false + variance: 0.1 + variance: 0.1 + variance: 0.2 + variance: 0.2 + step: 300 + offset: 0.5 + } +} +layer { + name: "mbox_loc" + type: "Concat" + bottom: "conv4_3_norm_mbox_loc_flat" + bottom: "fc7_mbox_loc_flat" + bottom: "conv6_2_mbox_loc_flat" + bottom: "conv7_2_mbox_loc_flat" + bottom: "conv8_2_mbox_loc_flat" + bottom: "conv9_2_mbox_loc_flat" + top: "mbox_loc" + concat_param { + axis: 1 + } +} +layer { + name: "mbox_conf" + type: "Concat" + bottom: "conv4_3_norm_mbox_conf_flat" + bottom: "fc7_mbox_conf_flat" + bottom: "conv6_2_mbox_conf_flat" + bottom: "conv7_2_mbox_conf_flat" + bottom: "conv8_2_mbox_conf_flat" + bottom: "conv9_2_mbox_conf_flat" + top: "mbox_conf" + concat_param { + axis: 1 + } +} +layer { + name: "mbox_priorbox" + type: "Concat" + bottom: "conv4_3_norm_mbox_priorbox" + bottom: "fc7_mbox_priorbox" + bottom: "conv6_2_mbox_priorbox" + bottom: "conv7_2_mbox_priorbox" + bottom: "conv8_2_mbox_priorbox" + bottom: "conv9_2_mbox_priorbox" + top: "mbox_priorbox" + concat_param { + axis: 2 + } +} + +layer { + name: "mbox_conf_reshape" + type: "Reshape" + bottom: "mbox_conf" + top: "mbox_conf_reshape" + reshape_param { + shape { + dim: 0 + dim: -1 + dim: 2 + } + } +} +layer { + name: "mbox_conf_softmax" + type: "Softmax" + bottom: "mbox_conf_reshape" + top: "mbox_conf_softmax" + softmax_param { + axis: 2 + } +} +layer { + name: "mbox_conf_flatten" + type: "Flatten" + bottom: "mbox_conf_softmax" + top: "mbox_conf_flatten" + flatten_param { + axis: 1 + } +} + +layer { + name: "detection_out" + type: "DetectionOutput" + bottom: "mbox_loc" + bottom: "mbox_conf_flatten" + bottom: "mbox_priorbox" + top: "detection_out" + include { + phase: TEST + } + detection_output_param { + num_classes: 2 + share_location: true + background_label_id: 0 + nms_param { + nms_threshold: 0.45 + top_k: 400 + } + code_type: CENTER_SIZE + keep_top_k: 200 + confidence_threshold: 0.01 + } +} diff --git a/src/privacy/util/face_detect/face_detector/res10_300x300_ssd_iter_140000.caffemodel b/src/privacy/util/face_detect/face_detector/res10_300x300_ssd_iter_140000.caffemodel new file mode 100644 index 0000000000000000000000000000000000000000..b7deb28672653fabd0c77f9ced8f0b3711ab7d92 --- /dev/null +++ b/src/privacy/util/face_detect/face_detector/res10_300x300_ssd_iter_140000.caffemodel @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a56a11a57a4a295956b0660b4a3d76bbdca2206c4961cea8efe7d95c7cb2f2d +size 10666211 diff --git a/src/privacy/util/face_detect/mask_detect_image.py b/src/privacy/util/face_detect/mask_detect_image.py new file mode 100644 index 0000000000000000000000000000000000000000..523865e732dfcb9f8bcc2a8c9008a483bf4e8c30 --- /dev/null +++ b/src/privacy/util/face_detect/mask_detect_image.py @@ -0,0 +1,93 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +# USAGE +# python mask_detect_image.py --image demo_image/1.jpeg +from privacy.config.logger import CustomLogger +from tensorflow.keras.applications.mobilenet_v2 import preprocess_input +from tensorflow.keras.preprocessing.image import img_to_array +from tensorflow.keras.models import load_model +import numpy as np +import argparse +import cv2 +import os +log = CustomLogger() + +def mask_image(): + # construct the argument parser and parse the arguments + parser = argparse.ArgumentParser() + parser.add_argument("-i", "--image", required=True, + help="Path to input image") + parser.add_argument("-f", "--face", type=str, default="face_detector", + help="Path to face detector model directory") + parser.add_argument("-m", "--model", type=str, default="mask_detector.model", + help="Path to trained face mask detector model") + parser.add_argument('-s', '--size', type=int, default=64, + help="Size of face image") + parser.add_argument("-c", "--confidence", type=float, default=0.5, + help="Minimum probability to filter weak detections") + args = parser.parse_args() + + # load our serialized face detector model from disk + prototxtPath = os.path.sep.join([args.face, "deploy.prototxt"]) + weightsPath = os.path.sep.join([args.face, "res10_300x300_ssd_iter_140000.caffemodel"]) + net = cv2.dnn.readNet(prototxtPath, weightsPath) + + # load the face mask detector model from disk + model = load_model(args.model) + + image = cv2.imread(args.image) + if image is None: + print('Can not read file: %s' % args.image) + return + + (h, w) = image.shape[:2] + blob = cv2.dnn.blobFromImage(image, scalefactor=1.0, mean=(104.0, 177.0, 123.0)) + + net.setInput(blob) + detections = net.forward() + + for i in range(0, detections.shape[2]): + confidence = detections[0, 0, i, 2] + if confidence < args.confidence: + # Drop low confidence detections + continue + + box = detections[0, 0, i, 3:7] * np.array([w, h, w, h]) + (startX, startY, endX, endY) = box.astype("int") + (startX, startY) = (max(0, startX), max(0, startY)) + (endX, endY) = (min(w - 1, endX), min(h - 1, endY)) + + try: + face = image[startY:endY, startX:endX] + face = cv2.cvtColor(face, cv2.COLOR_BGR2RGB) + face = cv2.resize(face, (args.size, args.size)) + face = img_to_array(face) + face = preprocess_input(face) + face = np.expand_dims(face, axis=0) + + mask = model.predict(face)[0] + + label = "Mask" if mask < 0.5 else "No Mask" + color = (0, 255, 0) if label == "Mask" else (0, 0, 255) + # display the label and bounding box rectangle on the output frame + cv2.putText(image, label, (startX, startY - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.45, color, 1) + cv2.rectangle(image, (startX, startY), (endX, endY), color, 2) + except Exception as e: + log.error(str(e)) + log.error("Line No:"+str(e.__traceback__.tb_lineno)) + + + # show the output image + cv2.imshow("Output", image) + cv2.waitKey(0) + +if __name__ == "__main__": + mask_image() diff --git a/src/privacy/util/face_detect/mask_detect_video.py b/src/privacy/util/face_detect/mask_detect_video.py new file mode 100644 index 0000000000000000000000000000000000000000..22d447603c29c43a481a9c0787c91fb91a8c904e --- /dev/null +++ b/src/privacy/util/face_detect/mask_detect_video.py @@ -0,0 +1,364 @@ +# # USAGE +# # python mask_detect_video.py --video your_video.mp4 +# import tensorflow as tf +# tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR) +# from tensorflow.keras.applications.mobilenet_v2 import preprocess_input +# from tensorflow.keras.preprocessing.image import img_to_array +# from tensorflow.keras.models import load_model +# import numpy as np +# import argparse +# import cv2 +# import os + +# def mask_video(): + +# # construct the argument parser and parse the arguments +# parser = argparse.ArgumentParser() +# parser.add_argument("-f", "--face", type=str, default="face_detector", +# help="Path to face detector model directory") +# parser.add_argument("-m", "--model", type=str, default="mask_detector.model", +# help="Path to trained face mask detector model") +# parser.add_argument('-s', '--size', type=int, default=64, +# help="Size of face image") +# parser.add_argument("-c", "--confidence", type=float, default=0.5, +# help="Minimum probability to filter weak detections") +# parser.add_argument("-v", "--video", type=str, +# help="Path to input video file") +# args = parser.parse_args() +# # Suppress TensorFlow INFO-level messages +# import tensorflow as tf +# tf.get_logger().setLevel('ERROR') # or 'WARNING' or 'INFO' + +# # load our serialized face detector model from disk +# prototxtPath = os.path.sep.join([args.face, "deploy.prototxt"]) +# weightsPath = os.path.sep.join([args.face, "res10_300x300_ssd_iter_140000.caffemodel"]) +# net = cv2.dnn.readNet(prototxtPath, weightsPath) + +# # load the face mask detector model from disk +# model = load_model(args.model) + +# # initialize the video stream +# if args.video: +# vs = cv2.VideoCapture(args.video) +# else: +# print("[ERROR] No video file provided.") +# return + +# while True: +# # grab the frame from the video stream +# (grabbed, frame) = vs.read() + +# # if the frame was not grabbed, then we have reached the end +# # of the stream +# if not grabbed: +# break + +# # detect faces in the frame +# detect_and_draw(frame, net, model, args) + +# # show the output frame +# cv2.imshow("Frame", frame) + +# # break the loop if the 'q' key is pressed +# if cv2.waitKey(1) & 0xFF == ord('q'): +# break + +# # release the video stream and close any open windows +# vs.release() +# cv2.destroyAllWindows() + +# def detect_and_draw(frame, net, model, args): +# (h, w) = frame.shape[:2] +# blob = cv2.dnn.blobFromImage(frame, scalefactor=1.0, mean=(104.0, 177.0, 123.0)) + +# net.setInput(blob) +# detections = net.forward() + +# for i in range(0, detections.shape[2]): +# confidence = detections[0, 0, i, 2] +# if confidence < args.confidence: +# # Drop low confidence detections +# continue + +# box = detections[0, 0, i, 3:7] * np.array([w, h, w, h]) +# (startX, startY, endX, endY) = box.astype("int") +# (startX, startY) = (max(0, startX), max(0, startY)) +# (endX, endY) = (min(w - 1, endX), min(h - 1, endY)) + +# try: +# face = frame[startY:endY, startX:endX] +# face = cv2.cvtColor(face, cv2.COLOR_BGR2RGB) +# face = cv2.resize(face, (args.size, args.size)) +# face = img_to_array(face) +# face = preprocess_input(face) +# face = np.expand_dims(face, axis=0) + +# mask = model.predict(face)[0] + +# label = "Mask" if mask < 0.5 else "No Mask" +# color = (0, 255, 0) if label == "Mask" else (0, 0, 255) +# # display the label and bounding box rectangle on the output frame +# cv2.putText(frame, label, (startX, startY - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.45, color, 1) +# cv2.rectangle(frame, (startX, startY), (endX, endY), color, 2) +# except Exception as e: +# print(e) + +# if __name__ == "__main__": +# mask_video() + + +# # USAGE +# # python mask_detect_video.py --video your_video.mp4 +# import tensorflow as tf +# tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR) +# from tensorflow.keras.applications.mobilenet_v2 import preprocess_input +# import numpy as np +# import argparse +# import cv2 +# import os + +# def mask_video(): +# # construct the argument parser and parse the arguments +# parser = argparse.ArgumentParser() +# parser.add_argument("-f", "--face", type=str, default="face_detector", +# help="Path to face detector model directory") +# parser.add_argument("-m", "--model", type=str, default="mask_detector.model", +# help="Path to trained face mask detector model") +# parser.add_argument('-s', '--size', type=int, default=64, +# help="Size of face image") +# parser.add_argument("-c", "--confidence", type=float, default=0.5, +# help="Minimum probability to filter weak detections") +# parser.add_argument("-v", "--video", type=str, +# help="Path to input video file") +# args = parser.parse_args() +# # Suppress TensorFlow INFO-level messages +# import tensorflow as tf +# tf.get_logger().setLevel('ERROR') # or 'WARNING' or 'INFO' + +# # load our serialized face detector model from disk +# prototxtPath = os.path.sep.join([args.face, "deploy.prototxt"]) +# weightsPath = os.path.sep.join([args.face, "res10_300x300_ssd_iter_140000.caffemodel"]) +# net = cv2.dnn.readNet(prototxtPath, weightsPath) + +# # initialize the video stream +# if args.video: +# vs = cv2.VideoCapture(args.video) +# else: +# print("[ERROR] No video file provided.") +# return + +# while True: +# # grab the frame from the video stream +# (grabbed, frame) = vs.read() + +# # if the frame was not grabbed, then we have reached the end +# # of the stream +# if not grabbed: +# break + +# # detect faces in the frame +# detect_and_draw(frame, net, args) + +# # show the output frame +# cv2.imshow("Frame", frame) + +# # break the loop if the 'q' key is pressed +# if cv2.waitKey(1) & 0xFF == ord('q'): +# break + +# # release the video stream and close any open windows +# vs.release() +# cv2.destroyAllWindows() + +# def detect_and_draw(frame, net, args): +# (h, w) = frame.shape[:2] +# blob = cv2.dnn.blobFromImage(frame, scalefactor=1.0, mean=(104.0, 177.0, 123.0)) + +# net.setInput(blob) +# detections = net.forward() + +# for i in range(0, detections.shape[2]): +# confidence = detections[0, 0, i, 2] +# if confidence < args.confidence: +# # Drop low confidence detections +# continue + +# box = detections[0, 0, i, 3:7] * np.array([w, h, w, h]) +# (startX, startY, endX, endY) = box.astype("int") +# (startX, startY) = (max(0, startX), max(0, startY)) +# (endX, endY) = (min(w - 1, endX), min(h - 1, endY)) + +# # draw a dark pink solid rectangle around the detected face +# frame[startY:endY, startX:endX, :] = (136, 28, 238) + +# if __name__ == "__main__": +# mask_video() + +# import tensorflow as tf +# tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR) +# from tensorflow.keras.applications.mobilenet_v2 import preprocess_input +# import numpy as np +# import argparse +# import cv2 +# import os + +# def mask_video(): +# # construct the argument parser and parse the arguments +# parser = argparse.ArgumentParser() +# parser.add_argument("-f", "--face", type=str, default="face_detector", +# help="Path to face detector model directory") +# parser.add_argument("-m", "--model", type=str, default="mask_detector.model", +# help="Path to trained face mask detector model") +# parser.add_argument('-s', '--size', type=int, default=64, +# help="Size of face image") +# parser.add_argument("-c", "--confidence", type=float, default=0.5, +# help="Minimum probability to filter weak detections") +# parser.add_argument("-v", "--video", type=str, +# help="Path to input video file") +# parser.add_argument("-o", "--output", type=str, default="output.mp4", +# help="Path to save the output video file with .mp4 extension") +# args = parser.parse_args() +# # Suppress TensorFlow INFO-level messages +# import tensorflow as tf +# tf.get_logger().setLevel('ERROR') # or 'WARNING' or 'INFO' + +# # load our serialized face detector model from disk +# prototxtPath = os.path.sep.join([args.face, "deploy.prototxt"]) +# weightsPath = os.path.sep.join([args.face, "res10_300x300_ssd_iter_140000.caffemodel"]) +# net = cv2.dnn.readNet(prototxtPath, weightsPath) + +# # initialize the video stream +# if args.video: +# vs = cv2.VideoCapture(args.video) +# else: +# print("[ERROR] No video file provided.") +# return + +# # Define the codec and create a VideoWriter object +# fourcc = cv2.VideoWriter_fourcc(*"mp4v") +# out = cv2.VideoWriter(args.output, fourcc, 20.0, (int(vs.get(3)), int(vs.get(4)))) + +# while True: +# # grab the frame from the video stream +# (grabbed, frame) = vs.read() + +# # if the frame was not grabbed, then we have reached the end +# # of the stream +# if not grabbed: +# break + +# # detect faces in the frame +# detect_and_draw(frame, net, args) + +# # write the output frame to the video file +# out.write(frame) + +# # release the video stream and close any open windows +# vs.release() +# out.release() +# cv2.destroyAllWindows() + +# def detect_and_draw(frame, net, args): +# (h, w) = frame.shape[:2] +# blob = cv2.dnn.blobFromImage(frame, scalefactor=1.0, mean=(104.0, 177.0, 123.0)) + +# net.setInput(blob) +# detections = net.forward() + +# for i in range(0, detections.shape[2]): +# confidence = detections[0, 0, i, 2] +# if confidence < args.confidence: +# # Drop low confidence detections +# continue + +# box = detections[0, 0, i, 3:7] * np.array([w, h, w, h]) +# (startX, startY, endX, endY) = box.astype("int") +# (startX, startY) = (max(0, startX), max(0, startY)) +# (endX, endY) = (min(w - 1, endX), min(h - 1, endY)) + +# # draw a dark pink solid rectangle around the detected face +# frame[startY:endY, startX:endX, :] = (136, 28, 238) + +# if __name__ == "__main__": +# mask_video() + + + +# import tensorflow as tf +# from tensorflow.keras.applications.mobilenet_v2 import preprocess_input +# import numpy as np +# import cv2 +# import os +# from werkzeug.datastructures import FileStorage # Use this if you're using Flask for handling file uploads + +# def mask_video(video, output_path="output.mp4"): +# # Suppress TensorFlow INFO-level messages +# # tf.get_logger().setLevel('ERROR') # or 'WARNING' or 'INFO' +# face_path="privacy/util/face_detect/face_detector" +# model_path="privacy/util/face_detect/results/Xception-size-64-bs-32-lr-0.0001.h5" +# size=64 +# confidence=0.5 +# # Load our serialized face detector model from disk +# prototxtPath = os.path.sep.join([face_path, "deploy.prototxt"]) +# weightsPath = os.path.sep.join([face_path, "res10_300x300_ssd_iter_140000.caffemodel"]) +# net = cv2.dnn.readNet(prototxtPath, weightsPath) +# print("STARTED") +# # If video is a FileStorage object, save it to a temporary file +# if isinstance(video, FileStorage): +# video_path = "temp_video.mp4" +# video.save(video_path) +# else: +# video_path = video # Assume it's already a file path + +# # Initialize the video stream +# vs = cv2.VideoCapture(video_path) + +# # Define the codec and create a VideoWriter object +# fourcc = cv2.VideoWriter_fourcc(*"mp4v") +# out = cv2.VideoWriter(output_path, fourcc, 20.0, (int(vs.get(3)), int(vs.get(4)))) + +# while True: +# # Grab the frame from the video stream +# (grabbed, frame) = vs.read() + +# # If the frame was not grabbed, we have reached the end of the stream +# if not grabbed: +# break + +# # Detect faces in the frame +# detect_and_draw(frame, net, size, confidence) + +# # Write the output frame to the video file +# out.write(frame) + +# # Release the video stream and close any open windows +# vs.release() +# out.release() +# cv2.destroyAllWindows() + +# # If a temporary video file was created, remove it +# if isinstance(video, FileStorage): +# os.remove(video_path) + +# def detect_and_draw(frame, net, size, confidence): +# (h, w) = frame.shape[:2] +# blob = cv2.dnn.blobFromImage(frame, scalefactor=1.0, mean=(104.0, 177.0, 123.0)) + +# net.setInput(blob) +# detections = net.forward() + +# for i in range(0, detections.shape[2]): +# conf = detections[0, 0, i, 2] +# if conf < confidence: +# # Drop low confidence detections +# continue + +# box = detections[0, 0, i, 3:7] * np.array([w, h, w, h]) +# (startX, startY, endX, endY) = box.astype("int") +# (startX, startY) = (max(0, startX), max(0, startY)) +# (endX, endY) = (min(w - 1, endX), min(h - 1, endY)) + +# # Draw a dark pink solid rectangle around the detected face +# frame[startY:endY, startX:endX, :] = (136, 28, 238) + + diff --git a/src/privacy/util/face_detect/requirements.txt b/src/privacy/util/face_detect/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..af717c84b77c4f5d59dce807ef04513746d5df8e --- /dev/null +++ b/src/privacy/util/face_detect/requirements.txt @@ -0,0 +1,9 @@ +tensorflow>=1.15.2 +numpy==1.22.0 +matplotlib==3.2.1 +argparse==1.1 +keras==2.3.1 +tqdm +Google-Images-Search +opencv-python>=4.2.0.32 +pandas diff --git a/src/privacy/util/face_detect/train.py b/src/privacy/util/face_detect/train.py new file mode 100644 index 0000000000000000000000000000000000000000..50d7e524f2b83cca737896a037fd4e43474bb2c3 --- /dev/null +++ b/src/privacy/util/face_detect/train.py @@ -0,0 +1,234 @@ +from tensorflow.keras.models import Sequential +from tensorflow.keras.models import Model +from tensorflow.keras.callbacks import ModelCheckpoint, TensorBoard, EarlyStopping +from tensorflow.keras.optimizers import Adam +from tensorflow.keras.preprocessing.image import ImageDataGenerator +from tensorflow.keras.applications import MobileNetV2, Xception, VGG16, InceptionV3 +from tensorflow.keras.layers import Conv2D, MaxPool2D, MaxPooling2D, Dropout, \ + Flatten, Dense, BatchNormalization, \ + SpatialDropout2D, AveragePooling2D, Input +import os +import cv2 +import warnings +import argparse +import numpy as np +import pandas as pd +import tensorflow as tf +import matplotlib.pyplot as plt + +tf.get_logger().setLevel('WARNING') + +parser = argparse.ArgumentParser() +parser.add_argument('-d', '--data-dir', type=str, default='data/raw_dataset', + help="Directory of dataset") +parser.add_argument('-e', '--epochs', type=int, default=30, + help="Where to write the new data") +parser.add_argument("-m", "--model", type=str, default="mask_detector.model", + help="Path to output face mask detector model") +parser.add_argument('-s', '--size', type=int, default=64, + help="Size of input data") +parser.add_argument('-b', '--batch-size', type=int, default=32, + help="Bactch size of data generator") +parser.add_argument('-l', '--learning-rate', type=float, default=0.0001, + help="Learning rate value") +parser.add_argument('-sh', '--show-history', action='store_true', + help="Show training history") +parser.add_argument('-n', '--net-type', type=str, default='MobileNetV2', + choices=['CNN', 'MobileNetV2', 'VGG16','Xception'], + help="The network architecture, optional: CNN, MobileNetV2, VGG16, Xception") + +def CNN_model(learning_rate, input_shape): + # Build model + model = Sequential() + model.add(Conv2D(filters=32, kernel_size=(3, 3), padding='same', input_shape=input_shape, activation='relu')) + model.add(Conv2D(filters=32, kernel_size=(3, 3), padding='same', input_shape=input_shape, activation='relu')) + model.add(MaxPooling2D(pool_size=(2, 2))) + model.add(Dropout(0.5)) + + model.add(Conv2D(filters=64, kernel_size=(3, 3), padding='same', activation='relu')) + model.add(Conv2D(filters=64, kernel_size=(3, 3), padding='same', activation='relu')) + model.add(MaxPooling2D(pool_size=(2, 2))) + model.add(Dropout(0.5)) + + model.add(Conv2D(filters=128, kernel_size=(3, 3), padding='same', activation='relu')) + model.add(MaxPooling2D(pool_size=(2, 2))) + model.add(Dropout(0.5)) + + model.add(Flatten()) + model.add(Dense(256, activation='relu')) + model.add(Dropout(0.5)) + model.add(Dense(50, activation="relu")) + model.add(Dropout(0.5)) + model.add(Dense(1, activation='sigmoid')) + + model.compile(loss="binary_crossentropy", metrics=["accuracy"], \ + optimizer=Adam(learning_rate=learning_rate)) + return model + +def MobileNetV2_model(learning_rate, input_shape): + baseModel = MobileNetV2(include_top=False, input_tensor=Input(shape=input_shape)) + for layer in baseModel.layers[:-4]: + layer.trainable = False + + model = Sequential() + model.add(baseModel) + model.add(AveragePooling2D(pool_size=(2, 2))) + model.add(Flatten()) + model.add(Dense(512, activation="relu")) + model.add(Dropout(0.5)) + model.add(Dense(50, activation="relu")) + model.add(Dropout(0.5)) + model.add(Dense(1, activation='sigmoid')) + + # compile our model + model.compile(loss="binary_crossentropy", metrics=["accuracy"], \ + optimizer=Adam(learning_rate=learning_rate)) + return model + +def VGG16_model(learning_rate, input_shape): + baseModel = VGG16(include_top=False, input_tensor=Input(shape=input_shape)) + for layer in baseModel.layers: + layer.trainable = False + + model = Sequential() + model.add(baseModel) + model.add(AveragePooling2D(pool_size=(2, 2))) + model.add(Flatten()) + model.add(Dense(512, activation="relu")) + model.add(Dropout(0.5)) + model.add(Dense(50, activation="relu")) + model.add(Dropout(0.5)) + model.add(Dense(1, activation='sigmoid')) + + # compile our model + model.compile(loss="binary_crossentropy", metrics=["accuracy"], \ + optimizer=Adam(learning_rate=learning_rate)) + return model + +def Xception_model(learning_rate, input_shape): + baseModel = Xception(include_top=False, input_tensor=Input(shape=input_shape)) + for layer in baseModel.layers: + layer.trainable = False + + model = Sequential() + model.add(baseModel) + model.add(AveragePooling2D(pool_size=(2, 2))) + model.add(Flatten()) + model.add(Dense(512, activation="relu")) + model.add(Dropout(0.5)) + model.add(Dense(50, activation="relu")) + model.add(Dropout(0.5)) + model.add(Dense(1, activation='sigmoid')) + + # compile our model + model.compile(loss="binary_crossentropy", metrics=["accuracy"], \ + optimizer=Adam(learning_rate=learning_rate)) + return model + +def keras_model_memory_usage_in_bytes(model, *, batch_size: int): + """ + Return the estimated memory usage of a given Keras model in bytes. + Ref: https://stackoverflow.com/a/64359137 + """ + default_dtype = tf.keras.backend.floatx() + shapes_mem_count = 0 + internal_model_mem_count = 0 + for layer in model.layers: + if isinstance(layer, tf.keras.Model): + internal_model_mem_count += keras_model_memory_usage_in_bytes( layer, batch_size=batch_size) + single_layer_mem = tf.as_dtype(layer.dtype or default_dtype).size + out_shape = layer.output_shape + if isinstance(out_shape, list): + out_shape = out_shape[0] + for s in out_shape: + if s is None: + continue + single_layer_mem *= s + shapes_mem_count += single_layer_mem + + trainable_count = sum([tf.keras.backend.count_params(p) for p in model.trainable_weights]) + non_trainable_count = sum( [tf.keras.backend.count_params(p) for p in model.non_trainable_weights]) + + total_memory = ( batch_size * shapes_mem_count + internal_model_mem_count + + trainable_count + non_trainable_count) + return total_memory + + +if __name__ == "__main__": + + args = parser.parse_args() + + bs = args.batch_size + lr = args.learning_rate + size = (args.size, args.size) + shape = (args.size, args.size, 3) + epochs = args.epochs + + # Load and preprocess data + train_dir = os.path.join(args.data_dir, 'train') + test_dir = os.path.join(args.data_dir, 'test') + valid_dir = os.path.join(args.data_dir, 'validation') + + train_datagen = ImageDataGenerator(rescale=1./255, rotation_range=5, zoom_range=0.2, \ + shear_range=0.2, brightness_range=[0.9, 1.1], \ + horizontal_flip=True) + valid_datagen = ImageDataGenerator(rescale=1./255, rotation_range=5, zoom_range=0.2, \ + shear_range=0.2, brightness_range=[0.9, 1.1], \ + horizontal_flip=True) + test_datagen = ImageDataGenerator(rescale=1./255) + + train_generator = train_datagen.flow_from_directory(train_dir, target_size=size, shuffle=True, + batch_size=bs, class_mode='binary') + valid_generator = valid_datagen.flow_from_directory(valid_dir, target_size=size, shuffle=True, + batch_size=bs, class_mode='binary') + test_generator = test_datagen.flow_from_directory(test_dir, target_size=size, shuffle=True, + batch_size=bs, class_mode='binary') + + print(train_generator.class_indices) + print(train_generator.image_shape) + + # Build model + net_type_to_model = { + 'CNN' : CNN_model, + 'MobileNetV2': MobileNetV2_model, + 'VGG16' : VGG16_model, + 'Xception' : Xception_model + } + model_name = args.net_type + model_builder = net_type_to_model.get(model_name) + model = model_builder(lr, shape) + model.summary() + + earlystop = EarlyStopping(monitor='val_loss', patience=5, mode='auto') + tensorboard = TensorBoard(log_dir=os.path.join("logs", model_name)) + checkpoint = ModelCheckpoint(os.path.join("results", f"{model_name}" + f"-size-{size[0]}" + \ + f"-bs-{bs}" + f"-lr-{lr}.h5"), \ + monitor='val_loss',save_best_only=True, verbose=1) + # Train model + history = model.fit(train_generator, epochs=epochs, validation_data=valid_generator, + batch_size=bs, callbacks=[earlystop, tensorboard, checkpoint], shuffle=True) + test_loss, test_accuracy = model.evaluate(test_generator) + metrics = pd.DataFrame(history.history) + print(metrics.head(10)) + + print('test_loss: ', test_loss) + print('test_accuracy: ', test_accuracy) + print('Memory consumption: %s bytes' % keras_model_memory_usage_in_bytes(model, batch_size=bs)) + + # serialize the model to disk + print("saving mask detector model...") + model.save(args.model, save_format="h5") + + if args.show_history: + plt.subplot(211) + plt.title('Loss') + plt.plot(history.history['loss'], label='train') + plt.plot(history.history['val_loss'], label='test') + plt.legend() + + plt.subplot(212) + plt.title('Accuracy') + plt.plot(history.history['accuracy'], label='train') + plt.plot(history.history['val_accuracy'], label='test') + plt.legend() + plt.show() diff --git a/src/privacy/util/fakerEntities.py b/src/privacy/util/fakerEntities.py new file mode 100644 index 0000000000000000000000000000000000000000..09fc166a6d60f491f9ae792620257ef331c9f44f --- /dev/null +++ b/src/privacy/util/fakerEntities.py @@ -0,0 +1,85 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' +import random +import string +import secrets +from faker import Faker +from xeger import Xeger +x = Xeger() +import secrets +faker = Faker() + +class FakeData: + + def PERSON(): + return faker.name() + + def EMAIL_ADDRESS(): + return faker.email() + + def US_SSN(): + return faker.ssn() + + def ADDRESS(): + return faker.address() + + def DATE_TIME(): + return faker.date() + + def LOCATION(): + return faker.city() + + + def CREDIT_CARD(): + return faker.credit_card_number() + + def CRYPTO(): + return faker.cryptocurrency_name() + + def DATE(): + return faker.date() + + def IP_ADDRESS(): + return faker.ipv4() + + def PHONE_NUMBER(): + return faker.phone_number() + + # def AADHAR_NUMBER(): + # fake=Faker() + # aadhaar_number = fake.random_int(min=100000000000, max=999999999999) # Generate a 12-digit random number + # aadhaar_number = str(aadhaar_number) # Convert the number to a string + # aadhaar_number_with_space = ' '.join(aadhaar_number[i:i+4] for i in range(0, len(aadhaar_number), 4)) + # return aadhaar_number_with_space + + + # def PAN_Number(): + # p="[A-Z]{5}[0-9]{4}[A-Z]{1}" + # t=x.xeger(p) + # print(t) + + # return t + + def IBAN_CODE(): + return faker.iban() + + def PASSPORT(): + # print("faker.passport_number()",faker.passport_number()) + return faker.passport_number() + + def DataList(data,text): + random_data=secrets.choice([item for item in data if str(item).lower() != text.lower()]) + return random_data + + + +# class FakeDataList: + +# def \ No newline at end of file diff --git a/src/privacy/util/flair_recognizer.py b/src/privacy/util/flair_recognizer.py new file mode 100644 index 0000000000000000000000000000000000000000..bc6188a2646b79f21677d7404267d26789387450 --- /dev/null +++ b/src/privacy/util/flair_recognizer.py @@ -0,0 +1,205 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' +import logging +from typing import Optional, List, Tuple, Set + +from presidio_analyzer import ( + RecognizerResult, + EntityRecognizer, + AnalysisExplanation, +) +from presidio_analyzer.nlp_engine import NlpArtifacts + +try: + from flair.data import Sentence + from flair.models import SequenceTagger +except ImportError: + print("Flair is not installed") + + +logger = logging.getLogger("presidio-analyzer") + + +class FlairRecognizer(EntityRecognizer): + """ + Wrapper for a flair model, if needed to be used within Presidio Analyzer. + + :example: + >from presidio_analyzer import AnalyzerEngine, RecognizerRegistry + + >flair_recognizer = FlairRecognizer() + + >registry = RecognizerRegistry() + >registry.add_recognizer(flair_recognizer) + + >analyzer = AnalyzerEngine(registry=registry) + + >results = analyzer.analyze( + > "My name is Christopher and I live in Irbid.", + > language="en", + > return_decision_process=True, + >) + >for result in results: + > print(result) + > print(result.analysis_explanation) + + + """ + + ENTITIES = [ + "LOCATION", + "PERSON", + "ORGANIZATION", + # "MISCELLANEOUS" # - There are no direct correlation with Presidio entities. + ] + + DEFAULT_EXPLANATION = "Identified as {} by Flair's Named Entity Recognition" + + CHECK_LABEL_GROUPS = [ + ({"LOCATION"}, {"LOC", "LOCATION"}), + ({"PERSON"}, {"PER", "PERSON"}), + ({"ORGANIZATION"}, {"ORG"}), + # ({"MISCELLANEOUS"}, {"MISC"}), # Probably not PII + ] + + MODEL_LANGUAGES = { + "en": "flair/ner-english-large", + "es": "flair/ner-spanish-large", + "de": "flair/ner-german-large", + "nl": "flair/ner-dutch-large", + } + + PRESIDIO_EQUIVALENCES = { + "PER": "PERSON", + "LOC": "LOCATION", + "ORG": "ORGANIZATION", + # 'MISC': 'MISCELLANEOUS' # - Probably not PII + } + + def __init__( + self, + supported_language: str = "en", + supported_entities: Optional[List[str]] = None, + check_label_groups: Optional[Tuple[Set, Set]] = None, + model: SequenceTagger = None, + ): + self.check_label_groups = ( + check_label_groups if check_label_groups else self.CHECK_LABEL_GROUPS + ) + + supported_entities = supported_entities if supported_entities else self.ENTITIES + self.model = ( + model + if model + else SequenceTagger.load(self.MODEL_LANGUAGES.get(supported_language)) + ) + + super().__init__( + supported_entities=supported_entities, + supported_language=supported_language, + name="Flair Analytics", + ) + + def load(self) -> None: + """Load the model, not used. Model is loaded during initialization.""" + pass + + def get_supported_entities(self) -> List[str]: + """ + Return supported entities by this model. + + :return: List of the supported entities. + """ + return self.supported_entities + + # Class to use Flair with Presidio as an external recognizer. + def analyze( + self, text: str, entities: List[str], nlp_artifacts: NlpArtifacts = None + ) -> List[RecognizerResult]: + """ + Analyze text using Text Analytics. + + :param text: The text for analysis. + :param entities: Not working properly for this recognizer. + :param nlp_artifacts: Not used by this recognizer. + :param language: Text language. Supported languages in MODEL_LANGUAGES + :return: The list of Presidio RecognizerResult constructed from the recognized + Flair detections. + """ + + results = [] + + sentences = Sentence(text) + self.model.predict(sentences) + + # If there are no specific list of entities, we will look for all of it. + if not entities: + entities = self.supported_entities + + for entity in entities: + if entity not in self.supported_entities: + continue + + for ent in sentences.get_spans("ner"): + if not self.__check_label( + entity, ent.labels[0].value, self.check_label_groups + ): + continue + textual_explanation = self.DEFAULT_EXPLANATION.format( + ent.labels[0].value + ) + explanation = self.build_flair_explanation( + round(ent.score, 2), textual_explanation + ) + flair_result = self._convert_to_recognizer_result(ent, explanation) + + results.append(flair_result) + + return results + + def _convert_to_recognizer_result(self, entity, explanation) -> RecognizerResult: + + entity_type = self.PRESIDIO_EQUIVALENCES.get(entity.tag, entity.tag) + flair_score = round(entity.score, 2) + + flair_results = RecognizerResult( + entity_type=entity_type, + start=entity.start_position, + end=entity.end_position, + score=flair_score, + analysis_explanation=explanation, + ) + + return flair_results + + def build_flair_explanation( + self, original_score: float, explanation: str + ) -> AnalysisExplanation: + """ + Create explanation for why this result was detected. + + :param original_score: Score given by this recognizer + :param explanation: Explanation string + :return: + """ + explanation = AnalysisExplanation( + recognizer=self.__class__.__name__, + original_score=original_score, + textual_explanation=explanation, + ) + return explanation + + @staticmethod + def __check_label( + entity: str, label: str, check_label_groups: Tuple[Set, Set] + ) -> bool: + return any( + [entity in egrp and label in lgrp for egrp, lgrp in check_label_groups] + ) \ No newline at end of file diff --git a/src/privacy/util/model/craft_mlt_25k.pth b/src/privacy/util/model/craft_mlt_25k.pth new file mode 100644 index 0000000000000000000000000000000000000000..88871234c9270456cdf0137652a48b929d0ddf72 --- /dev/null +++ b/src/privacy/util/model/craft_mlt_25k.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a5efbfb48b4081100544e75e1e2b57f8de3d84f213004b14b85fd4b3748db17 +size 83152330 diff --git a/src/privacy/util/model/english_g2.pth b/src/privacy/util/model/english_g2.pth new file mode 100644 index 0000000000000000000000000000000000000000..a26a8bacb812296f7e0abb62154d33a4931b6093 --- /dev/null +++ b/src/privacy/util/model/english_g2.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2272681d9d67a04e2dff396b6e95077bc19001f8f6d3593c307b9852e1c29e8 +size 15143997 diff --git a/src/privacy/util/special_recognizers/DataListRecognizer.py b/src/privacy/util/special_recognizers/DataListRecognizer.py new file mode 100644 index 0000000000000000000000000000000000000000..4c25c7573b5511d1f875825a598f29ace3f4ac95 --- /dev/null +++ b/src/privacy/util/special_recognizers/DataListRecognizer.py @@ -0,0 +1,202 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import logging +from typing import Optional, List, Tuple, Set +import spacy +from spacy.matcher import PhraseMatcher +from presidio_analyzer.predefined_recognizers.spacy_recognizer import SpacyRecognizer +# from presidio_analyzer.predefined_recognizers import SpacyRecognizer +from presidio_analyzer import RecognizerResult +import copy + + + + +from presidio_analyzer import ( + RecognizerResult, + LocalRecognizer, + AnalysisExplanation, +) + +logger = logging.getLogger("presidio_analyzer") +# terms = ["1&1 Telecommunication SE","1010 data services LLC","AMA", +# "A O Smith Corporations","ABBMST","Addidas India","CITI","Cisco Systems","ERICSSON","Gati Ltd","IBM", +# "Infosys Ltd","Intel Corporation","Johnson","JTC Corporation","NSC Global","SUZUKI MOTOR CORPORATION", +# "Synopsys Ltd","TIBCOO", "T-Mobile UK","Toyota Systems Corporation","TSB Bank","UBS Bank" +# ,"United Health Corporation","Vodafone quickcom","Voltas","VOLVO CARS","WIPRO LIMITED", +# "Walmart", "CVS Health", "Walgreens Boots Alliance"] +# terms=[] +# class DataList: +# # def __init__(self,val) -> None: +# # self.Entiity=val +# entity=[] +# def setData(values): +# terms.extend(values) +# # print(terms) +# def resetData(): +# terms.clear() +# # def setEntity(val): + # DataList.Entity=val + # ClientListRecognizer(supported_entities=val) + # def getE(): + # return self.Entiity + + +nlp = spacy.load("en_core_web_lg") + + + + + +class DataListRecognizer(SpacyRecognizer): + """ + Recognize PII entities using a spaCy NLP model. + + Since the spaCy pipeline is ran by the AnalyzerEngine, + this recognizer only extracts the entities from the NlpArtifacts + and replaces their types to align with Presidio's. + + :param supported_language: Language this recognizer supports + :param supported_entities: The entities this recognizer can detect + :param ner_strength: Default confidence for NER prediction + :param check_label_groups: Tuple containing Presidio entity names + and spaCy entity names, for verifying that the right entity + is translated into a Presidio entity. + """ + + # ENTITIES = DataList.entity + # ENTITIES =[] + # terms=[] + + DEFAULT_EXPLANATION = "Identified as {} by Spacy's Named Entity Recognition" + + CHECK_LABEL_GROUPS = [ + # ({"LOCATION"}, {"GPE", "LOC"}), + # ({"PERSON", "PER"}, {"PERSON", "PER"}), + # ({"DATE_TIME"}, {"DATE", "TIME"}), + # ({"NRP"}, {"NORP"}), + # ({"ORGANIZATION"}, {"ORG"}), + # () + ] + + + + + + def __init__( + self, + terms,entitie, + supported_language: str = "en", + supported_entities: Optional[List[str]] = None, + ner_strength: float = 0.85, + check_label_groups: Optional[Tuple[Set, Set]] = None, + context: Optional[List[str]] = None, + + + ): + self.terms=terms + self.ENTITIES=entitie + self.ner_strength = ner_strength + self.check_label_groups = ( + check_label_groups if check_label_groups else self.CHECK_LABEL_GROUPS + ) + supported_entities = supported_entities if supported_entities else self.ENTITIES + # print("=========",supported_entities) + super().__init__( + supported_entities=supported_entities, + supported_language=supported_language, + context=context, + ) + + def load(self) -> None: # noqa D102 + # no need to load anything as the analyze method already receives + # preprocessed nlp artifacts + pass + + + def build_spacy_explanation( + self, original_score: float, explanation: str + ) -> AnalysisExplanation: + """ + Create explanation for why this result was detected. + + :param original_score: Score given by this recognizer + :param explanation: Explanation string + :return: + """ + explanation = AnalysisExplanation( + recognizer=self.__class__.__name__, + original_score=original_score, + textual_explanation=explanation, + ) + return explanation + + def analyze(self, text, entities, nlp_artifacts=None): # noqa D102 + + # print("=========",self.supported_entities) + + # matcher = PhraseMatcher(nlp.vocab) + + # # Only run nlp.make_doc to speed things up + # patterns = [nlp.make_doc(text) for text in terms] + + # matcher.add("TerminologyList", patterns) + # result = [] + + matcher = PhraseMatcher(nlp.vocab) + + # Only run nlp.make_doc to speed things up + patterns = [nlp.make_doc(text) for text in self.terms] + + matcher.add("TerminologyList", patterns) + + results = [] + # result =[] + + doc = nlp(text) + doc1 = str(doc) + + matches = matcher(doc) + for match_id, start, end in matches: + span = doc[start:end] + + if doc1.find(str(span)): + doc1=doc1.replace(str(span.text),"") + # etype=copy.deepcopy(DataList.entity) + etype=self.ENTITIES + spacy_result = RecognizerResult( + + entity_type=etype[0], + start=span.start_char, + end=span.end_char, + score=self.ner_strength, + # analysis_explanation=explanation, + recognition_metadata={ + RecognizerResult.RECOGNIZER_NAME_KEY: self.name, + RecognizerResult.RECOGNIZER_IDENTIFIER_KEY: self.id, + }, + ) + + + results.append(spacy_result) + + + + + return results + + @staticmethod + def __check_label( + entity: str, label: str, check_label_groups: Tuple[Set, Set] + ) -> bool: + return any( + [entity in egrp and label in lgrp for egrp, lgrp in check_label_groups] + ) diff --git a/src/privacy/util/special_recognizers/face_Detection.py b/src/privacy/util/special_recognizers/face_Detection.py new file mode 100644 index 0000000000000000000000000000000000000000..c418fff1830f78b80a242153089fb231bcc1da60 --- /dev/null +++ b/src/privacy/util/special_recognizers/face_Detection.py @@ -0,0 +1,38 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import time +import cv2 +from matplotlib import pyplot as plt +from PIL import Image +import numpy as np + +face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') +side_face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades +'haarcascade_profileface.xml') + +class FaceDetect: + def frontFaceDetection(image): + if(len(image.shape)==3): + gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) + front_face = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30)) + return front_face + return None + + def fullFaceDetection(frame): + gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) + front_face = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30)) + side_faces = side_face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30)) + if(len(front_face)==0 and len(side_faces)>0): + front_face=side_faces + elif(len(front_face)>0 and len(side_faces)>0): + front_face=np.concatenate((front_face, side_faces), axis=0) + return front_face + + \ No newline at end of file diff --git a/src/privacy/util/special_recognizers/fakeData.py b/src/privacy/util/special_recognizers/fakeData.py new file mode 100644 index 0000000000000000000000000000000000000000..3c1cab403a5d612a969623b67ee1bde68013cca0 --- /dev/null +++ b/src/privacy/util/special_recognizers/fakeData.py @@ -0,0 +1,73 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +from privacy.service.__init__ import * +from presidio_anonymizer.entities import (RecognizerResult, + OperatorResult, + OperatorConfig) +from privacy.util.fakerEntities import FakeData +from xeger import Xeger +x = Xeger() +from privacy.config.logger import CustomLogger +log=CustomLogger +import re +import secrets +import random +class FakeDataGenerate: + def fakeDataGeneration(results,inputText): + fakeData_Dict = {} + for i in results: + if hasattr(FakeData, i.entity_type): + ent = getattr(FakeData, i.entity_type) + fakeData_Dict.update({i.entity_type: OperatorConfig("replace", {"new_value": ent()})}) + elif i.entity_type in get_session_dict(): + entValue =get_session_dict()[i.entity_type] + # log.debug("result=" + # log.debug("Value of entValue 342========"+str(entValue)) + text = str(inputText[i.start:i.end]) + print("text===",text) + random_data="" + while True: + if text in entValue: + #random_data = random.choice(entValue) + random_data = secrets.choice(entValue) + print("RNDAOM dATA 348===",random_data) + if random_data.lower() != str(inputText[i.start:i.end]).lower() : + fakeData_Dict.update({i.entity_type: OperatorConfig("replace", {"new_value": random_data})}) + entValue.remove(random_data) + break + else: + break + print("Value of entValue 344========",text) + # random_data = DataList + # random_data = random.choice([item for item in entValue if str(item).lower() != text.lower()]) + # random_dataList.append(random_data) + # entValue.remove(random_data) + fakeData_Dict.update({i.entity_type: OperatorConfig("replace", {"new_value": random_data})}) + #print("ent_value after removing====",dict_operators) + # Rest of your code + else: + # Handle the case when ent does not exist + decision_process = i.analysis_explanation + # log.debug("decision process======"+str(decision_process)) + if(decision_process==None): + continue + pattern = decision_process.pattern + # Add function to generate fakeData using regex pattern + t=x.xeger(pattern) + p=r'[\x00-\x1F\x7F-\xFF]' + # p= r"^\ [^]" + t1=re.sub(p, ' ', t) + # print("t1====",t1) + fakeData_Dict.update({i.entity_type: OperatorConfig("replace", {"new_value": t1})}) + + + + return fakeData_Dict \ No newline at end of file diff --git a/src/privacy_main.py b/src/privacy_main.py new file mode 100644 index 0000000000000000000000000000000000000000..10eb426b21b734ec63881dc36d7f941900a1233f --- /dev/null +++ b/src/privacy_main.py @@ -0,0 +1,149 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' +""" + +app: Project Management service +fileName: main.py +description: Project management services helps to create Usecase and projects . + This app handles the services for usecase module which perform CRUD operaions. + +""" +from typing import List + + +import uvicorn +from privacy.config.logger import CustomLogger +from privacy.config.config import read_config_yaml +from fastapi import Depends, FastAPI, Request, Response +from fastapi.exceptions import RequestValidationError +from starlette.exceptions import HTTPException as StarletteHTTPException +from privacy.routing.privacy_router import router +# from starlette.middleware.cors import CORSMiddleware +# from starlette.middleware import Middleware +from fastapi.responses import JSONResponse, PlainTextResponse, Response +from fastapi.middleware.cors import CORSMiddleware + +from aicloudlibs.utils.global_exception import UnSupportedMediaTypeException +from aicloudlibs.utils import global_exception_handler + + +log=CustomLogger() +## initialize the app with openapi and docs url + +## reading metadata configuration from config file + + + +app = FastAPI(**read_config_yaml('../config/metadata.yaml')) + +""" + + Adding the CORS Middleware which handles the requests from different origins + + allow_origins - A list of origins that should be permitted to make cross-origin requests. + using ['*'] to allow any origin + allow_methods - A list of HTTP methods that should be allowed for cross-origin requests. + using ['*'] to allow all standard method + allow_headers - A list of HTTP request headers that should be supported for cross-origin requests. + using ['*'] to allow all headers +""" + +# origins = [ +# 'http://10.66.155.13', +# 'http://10.66.155.13:30010', + +# ] + + +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"] + ) + +""" +FAST API raise RequestValidationError in case request contains invalid data. +A global exception handler function to handle the requests which contains the invalid data + +""" + +# @app.options("/{rest_of_path:path}") +# async def preflight_handler(request: Request, rest_of_path: str) -> Response: +# """ +# Handles OPTIONS requests to /*. +# """ +# response = Response() +# response.headers["Access-Control-Allow-Origin"] = "*" +# response.headers["Access-Control-Allow-Methods"] = "POST, GET, DELETE, PATCH, OPTIONS" +# response.headers["Access-Control-Allow-Headers"] = "Authorization, Content-Type" +# return response + +# @app.middleware("http") +# async def add_cors_header(request , call_next): +# """ +# Sets CORS headers. +# """ +# response = await call_next(request) +# response.headers["Access-Control-Allow-Origin"] = "http://10.66.155.13:30010" +# response.headers["Access-Control-Allow-Credentials"] = "true" +# response.headers["Access-Control-Allow-Methods"] = "GET, POST, PUT, DELETE, OPTIONS" +# response.headers["Access-Control-Allow-Headers"] = "Content-Type, Authorization" +# return response + +# origins = [ +# "http://10.66.155.13", +# "http://10.66.155.13:30010", +# ] + +# app.add_middleware( +# CORSMiddleware, +# allow_origins=origins, +# allow_credentials=True, +# allow_methods=["*"], +# allow_headers=["*"], +# ) + + + + + +@app.exception_handler(RequestValidationError) +async def validation_exception_handler(request: Request, exc: RequestValidationError): + return global_exception_handler.validation_error_handler(exc) + + +""" +A global exception handler function to handle the unsupported media type exception +""" +@app.exception_handler(UnSupportedMediaTypeException) +async def unsupported_mediatype_error_handler(request: Request, exc: UnSupportedMediaTypeException): + return global_exception_handler.unsupported_mediatype_error_handler(exc) + + + +""" +A global exception handler function to handle the http exception +""" +@app.exception_handler(StarletteHTTPException) +async def http_exception_handler(request, exc): + return global_exception_handler.http_exception_handler(exc) + + + +""" +incude the routing details of service +""" + +app.include_router(router, prefix='/v1', tags=["PII Privacy"]) + +if __name__ == "__main__": + uvicorn.run(app, host="0.0.0.0", port=30002) diff --git a/src/privacyfiles_main.py b/src/privacyfiles_main.py new file mode 100644 index 0000000000000000000000000000000000000000..5433eec938a479442bc8925029c4e4395d99e48f --- /dev/null +++ b/src/privacyfiles_main.py @@ -0,0 +1,149 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' +""" + +app: Project Management service +fileName: main.py +description: Project management services helps to create Usecase and projects . + This app handles the services for usecase module which perform CRUD operaions. + +""" +from typing import List + + +import uvicorn +from privacy.config.logger import CustomLogger +from privacy.config.config import read_config_yaml +from fastapi import Depends, FastAPI, Request, Response +from fastapi.exceptions import RequestValidationError +from starlette.exceptions import HTTPException as StarletteHTTPException +from privacy.routing.privacy_router import fileRouter +# from starlette.middleware.cors import CORSMiddleware +# from starlette.middleware import Middleware +from fastapi.responses import JSONResponse, PlainTextResponse, Response +from fastapi.middleware.cors import CORSMiddleware + +from aicloudlibs.utils.global_exception import UnSupportedMediaTypeException +from aicloudlibs.utils import global_exception_handler + + +log=CustomLogger() +## initialize the app with openapi and docs url + +## reading metadata configuration from config file + + + +app = FastAPI(**read_config_yaml('../config/filemetadata.yaml')) + +""" + + Adding the CORS Middleware which handles the requests from different origins + + allow_origins - A list of origins that should be permitted to make cross-origin requests. + using ['*'] to allow any origin + allow_methods - A list of HTTP methods that should be allowed for cross-origin requests. + using ['*'] to allow all standard method + allow_headers - A list of HTTP request headers that should be supported for cross-origin requests. + using ['*'] to allow all headers +""" + +# origins = [ +# 'http://10.66.155.13', +# 'http://10.66.155.13:30010', + +# ] + + +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"] + ) + +""" +FAST API raise RequestValidationError in case request contains invalid data. +A global exception handler function to handle the requests which contains the invalid data + +""" + +# @app.options("/{rest_of_path:path}") +# async def preflight_handler(request: Request, rest_of_path: str) -> Response: +# """ +# Handles OPTIONS requests to /*. +# """ +# response = Response() +# response.headers["Access-Control-Allow-Origin"] = "*" +# response.headers["Access-Control-Allow-Methods"] = "POST, GET, DELETE, PATCH, OPTIONS" +# response.headers["Access-Control-Allow-Headers"] = "Authorization, Content-Type" +# return response + +# @app.middleware("http") +# async def add_cors_header(request , call_next): +# """ +# Sets CORS headers. +# """ +# response = await call_next(request) +# response.headers["Access-Control-Allow-Origin"] = "http://10.66.155.13:30010" +# response.headers["Access-Control-Allow-Credentials"] = "true" +# response.headers["Access-Control-Allow-Methods"] = "GET, POST, PUT, DELETE, OPTIONS" +# response.headers["Access-Control-Allow-Headers"] = "Content-Type, Authorization" +# return response + +# origins = [ +# "http://10.66.155.13", +# "http://10.66.155.13:30010", +# ] + +# app.add_middleware( +# CORSMiddleware, +# allow_origins=origins, +# allow_credentials=True, +# allow_methods=["*"], +# allow_headers=["*"], +# ) + + + + + +@app.exception_handler(RequestValidationError) +async def validation_exception_handler(request: Request, exc: RequestValidationError): + return global_exception_handler.validation_error_handler(exc) + + +""" +A global exception handler function to handle the unsupported media type exception +""" +@app.exception_handler(UnSupportedMediaTypeException) +async def unsupported_mediatype_error_handler(request: Request, exc: UnSupportedMediaTypeException): + return global_exception_handler.unsupported_mediatype_error_handler(exc) + + + +""" +A global exception handler function to handle the http exception +""" +@app.exception_handler(StarletteHTTPException) +async def http_exception_handler(request, exc): + return global_exception_handler.http_exception_handler(exc) + + + +""" +incude the routing details of service +""" + +app.include_router(fileRouter, prefix='/rai/v1', tags=["PII File Privacy"]) + +if __name__ == "__main__": + uvicorn.run(app, host="0.0.0.0", port=30003) diff --git a/src/project/__init__.py b/src/project/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/test.ipynb b/src/test.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..d8a60515457fcf96c5e43a88c807733d0cd78625 --- /dev/null +++ b/src/test.ipynb @@ -0,0 +1,1497 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import re\n" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [], + "source": [ + "from presidio_anonymizer.entities import (RecognizerResult,\n", + " OperatorResult,\n", + " OperatorConfig)\n", + "from privacy.service.service import PrivacyService" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "text = \"John Doe's Social Security number is 123-45-6789 and his email is johndoe@example.com.\"\n", + "\n", + "# Define regular expressions for different types of PII\n", + "ssn_pattern = r\"\\d{3}-\\d{2}-\\d{4}\"\n", + "email_pattern = r\"\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}\\b\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Find matches for Social Security numbers\n", + "ssn_matches = re.findall(ssn_pattern, text)\n", + "\n", + "# Find matches for email addresses\n", + "email_matches = re.findall(email_pattern, text)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# Apply differential privacy to the detected PII counts\n", + "epsilon = 0.1 " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "def add_noise(value):\n", + " scale = 1 / epsilon\n", + " laplace_noise = np.random.laplace(loc=0, scale=scale)\n", + " print(value)\n", + " print(laplace_noise)\n", + " return value + laplace_noise" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "123-45-6789\n", + "-6.338424074647873\n" + ] + }, + { + "ename": "TypeError", + "evalue": "can only concatenate str (not \"float\") to str", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\src\\test.ipynb Cell 6\u001b[0m line \u001b[0;36m5\n\u001b[0;32m 2\u001b[0m ssn_matches \u001b[39m=\u001b[39m re\u001b[39m.\u001b[39mfindall(ssn_pattern, text)\n\u001b[0;32m 4\u001b[0m \u001b[39m# Add differential privacy to the Social Security numbers\u001b[39;00m\n\u001b[1;32m----> 5\u001b[0m noisy_ssn_matches \u001b[39m=\u001b[39m [add_noise(ssn) \u001b[39mfor\u001b[39;00m ssn \u001b[39min\u001b[39;00m ssn_matches]\n", + "\u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\src\\test.ipynb Cell 6\u001b[0m line \u001b[0;36m5\n\u001b[0;32m 2\u001b[0m ssn_matches \u001b[39m=\u001b[39m re\u001b[39m.\u001b[39mfindall(ssn_pattern, text)\n\u001b[0;32m 4\u001b[0m \u001b[39m# Add differential privacy to the Social Security numbers\u001b[39;00m\n\u001b[1;32m----> 5\u001b[0m noisy_ssn_matches \u001b[39m=\u001b[39m [add_noise(ssn) \u001b[39mfor\u001b[39;00m ssn \u001b[39min\u001b[39;00m ssn_matches]\n", + "\u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\src\\test.ipynb Cell 6\u001b[0m line \u001b[0;36m6\n\u001b[0;32m 4\u001b[0m \u001b[39mprint\u001b[39m(value)\n\u001b[0;32m 5\u001b[0m \u001b[39mprint\u001b[39m(laplace_noise)\n\u001b[1;32m----> 6\u001b[0m \u001b[39mreturn\u001b[39;00m value \u001b[39m+\u001b[39;49m laplace_noise\n", + "\u001b[1;31mTypeError\u001b[0m: can only concatenate str (not \"float\") to str" + ] + } + ], + "source": [ + "\n", + "# Find matches for Social Security numbers\n", + "ssn_matches = re.findall(ssn_pattern, text)\n", + "\n", + "# Add differential privacy to the Social Security numbers\n", + "noisy_ssn_matches = [add_noise(ssn) for ssn in ssn_matches]" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "johndoe@example.com\n", + "21.357718997606124\n" + ] + }, + { + "ename": "TypeError", + "evalue": "can only concatenate str (not \"float\") to str", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\src\\test.ipynb Cell 7\u001b[0m line \u001b[0;36m5\n\u001b[0;32m 2\u001b[0m email_matches \u001b[39m=\u001b[39m re\u001b[39m.\u001b[39mfindall(email_pattern, text)\n\u001b[0;32m 4\u001b[0m \u001b[39m# Add differential privacy to the email addresses\u001b[39;00m\n\u001b[1;32m----> 5\u001b[0m noisy_email_matches \u001b[39m=\u001b[39m [add_noise(email) \u001b[39mfor\u001b[39;00m email \u001b[39min\u001b[39;00m email_matches]\n", + "\u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\src\\test.ipynb Cell 7\u001b[0m line \u001b[0;36m5\n\u001b[0;32m 2\u001b[0m email_matches \u001b[39m=\u001b[39m re\u001b[39m.\u001b[39mfindall(email_pattern, text)\n\u001b[0;32m 4\u001b[0m \u001b[39m# Add differential privacy to the email addresses\u001b[39;00m\n\u001b[1;32m----> 5\u001b[0m noisy_email_matches \u001b[39m=\u001b[39m [add_noise(email) \u001b[39mfor\u001b[39;00m email \u001b[39min\u001b[39;00m email_matches]\n", + "\u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\src\\test.ipynb Cell 7\u001b[0m line \u001b[0;36m6\n\u001b[0;32m 4\u001b[0m \u001b[39mprint\u001b[39m(value)\n\u001b[0;32m 5\u001b[0m \u001b[39mprint\u001b[39m(laplace_noise)\n\u001b[1;32m----> 6\u001b[0m \u001b[39mreturn\u001b[39;00m value \u001b[39m+\u001b[39;49m laplace_noise\n", + "\u001b[1;31mTypeError\u001b[0m: can only concatenate str (not \"float\") to str" + ] + } + ], + "source": [ + "# Find matches for email addresses\n", + "email_matches = re.findall(email_pattern, text)\n", + "\n", + "# Add differential privacy to the email addresses\n", + "noisy_email_matches = [add_noise(email) for email in email_matches]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Noisy SSN count: 1.5109753118487679\n", + "Anonymized SSN count: text: 1.5109753118487679\n", + "items:\n", + "[\n", + " \n", + "]\n", + "\n", + "Noisy email count: 1.5109753118487679\n", + "Anonymized email count: text: 1.5109753118487679\n", + "items:\n", + "[\n", + " \n", + "]\n", + "\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "from presidio_anonymizer import AnonymizerEngine\n", + "\n", + "# Initialize the anonymizer engine\n", + "anonymizer = AnonymizerEngine()\n", + "\n", + "# Define the text containing potential PII\n", + "text = \"John Doe's Social Security number is 123-45-6789 and his email is johndoe@example.com.\"\n", + "\n", + "# Apply differential privacy to the PII detection process\n", + "epsilon = 0.1 # Privacy parameter for differential privacy\n", + "sensitivity = 1 # Sensitivity of the PII detection result\n", + "delta = 1e-6 # Privacy parameter for differential privacy\n", + "\n", + "# Calculate the noise to be added\n", + "scale = sensitivity / epsilon\n", + "laplace_noise = np.random.laplace(loc=0, scale=scale)\n", + "\n", + "# Detect PII in the text\n", + "# Example rule-based matching for SSN and email\n", + "ssn_pattern = r\"\\d{3}-\\d{2}-\\d{4}\"\n", + "email_pattern = r\"\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}\\b\"\n", + "\n", + "# Apply noise to the PII detection results\n", + "noisy_ssn_count = len(re.findall(ssn_pattern, text)) + laplace_noise\n", + "noisy_email_count = len(re.findall(email_pattern, text)) + laplace_noise\n", + "\n", + "# Anonymize the PII detection results using Presidio\n", + "anonymized_ssn_count = anonymizer.anonymize(\n", + " str(noisy_ssn_count),\n", + " analyzer_results=[],\n", + " operators={\"anonymizer_config\": {\"type\": \"replace\", \"value\": \"\"}},\n", + ")\n", + "\n", + "anonymized_email_count = anonymizer.anonymize(\n", + " str(noisy_email_count),\n", + " analyzer_results=[],\n", + " operators={\"anonymizer_config\": {\"type\": \"replace\", \"value\": \"\"}},\n", + ")\n", + "\n", + "# Print the anonymized PII detection results\n", + "print(\"Noisy SSN count:\", noisy_ssn_count)\n", + "print(\"Anonymized SSN count:\", anonymized_ssn_count)\n", + "\n", + "print(\"Noisy email count:\", noisy_email_count)\n", + "print(\"Anonymized email count:\", anonymized_email_count)" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "text: Px(Z~fm‚#[n\u001eXndl.kZ^@j{lplsX(`gx\n", + "items:\n", + "[\n", + " \n", + "]\n", + "\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "from presidio_anonymizer import AnonymizerEngine\n", + "\n", + "# Initialize the anonymizer engine\n", + "anonymizer = AnonymizerEngine()\n", + "\n", + "# Define the text containing PII\n", + "text = \"My email is john.doe@example.com\"\n", + "\n", + "# Apply differential privacy to the PII value\n", + "epsilon = 0.1 # Privacy parameter for differential privacy\n", + "\n", + "# Generate Laplace noise for each character in the email\n", + "laplace_noise = np.random.laplace(loc=0, scale=1/epsilon, size=len(text))\n", + "\n", + "# Add the noise to each character in the email\n", + "noisy_email = ''.join(chr(ord(c) + int(round(n))) for c, n in zip(text, laplace_noise))\n", + "\n", + "# Anonymize the noisy email using Presidio\n", + "anonymized_text = anonymizer.anonymize(\n", + " noisy_email,\n", + " analyzer_results=[],\n", + " operators=\n", + " {\"Email\": {\"type\": \"replace\", \"value\": \"\"}}\n", + " ,\n", + ")\n", + "\n", + "# Print the anonymized text\n", + "print(anonymized_text)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========= []\n", + "========= []\n", + "John Doe'S Social Security Number Is 123-45-6789 And His Email Is Johndoe@Example.Com.\n", + "[type: EMAIL_ADDRESS, start: 66, end: 85, score: 1.0, type: PERSON, start: 0, end: 10, score: 0.85, type: URL, start: 74, end: 85, score: 0.5]\n", + "type: EMAIL_ADDRESS, start: 66, end: 85, score: 1.0\n", + "type: PERSON, start: 0, end: 10, score: 0.85\n", + "type: URL, start: 74, end: 85, score: 0.5\n", + "text: -6.311321244615104 Social Security number is 123-45-6789 and his email is -11.671955800130334.\n", + "items:\n", + "[\n", + " {'start': 74, 'end': 93, 'entity_type': 'EMAIL_ADDRESS', 'text': '-11.671955800130334', 'operator': 'replace'},\n", + " {'start': 0, 'end': 18, 'entity_type': 'PERSON', 'text': '-6.311321244615104', 'operator': 'replace'}\n", + "]\n", + "\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "from presidio_analyzer import AnalyzerEngine, RecognizerRegistry\n", + "from presidio_anonymizer import AnonymizerEngine\n", + "\n", + "# Initialize the anonymizer engine\n", + "anonymizer = AnonymizerEngine()\n", + "\n", + "# Define the text containing PII\n", + "text = \"John Doe's Social Security number is 123-45-6789 and his email is johndoe@example.com.\"\n", + "\n", + "# Apply differential privacy to the PII value\n", + "epsilon = 0.1 # Privacy parameter for differential privacy\n", + "sensitivity = 2 # Sensitivity of the PII value\n", + "delta = 1e-6 # Privacy parameter for differential privacy\n", + "\n", + "# Calculate the noise to be added\n", + "def run():\n", + " scale = sensitivity / epsilon\n", + " laplace_noise = np.random.laplace(loc=0, scale=scale)\n", + "\n", + "# Add the noise to the PII value\n", + " noisy_value =laplace_noise\n", + " return noisy_value\n", + "# results = PrivacyService.__analyze(text=text)\n", + "# Anonymize the noisy value using Presidio\n", + "\n", + "registry = RecognizerRegistry()\n", + "analyzer = AnalyzerEngine(registry=registry)\n", + "registry.load_predefined_recognizers()\n", + "\n", + "results = analyzer.analyze(text=text, language=\"en\")\n", + " \n", + "print(results)\n", + "op={}\n", + "for i in results:\n", + " print(i)\n", + " op[i.entity_type]=OperatorConfig(\"replace\", {\"new_value\": str(run())})\n", + "anonymized_text = anonymizer.anonymize(\n", + " text,\n", + " analyzer_results=results,\n", + " operators=op\n", + " \n", + "\n", + " ,\n", + ")\n", + "\n", + "# Print the anonymized text\n", + "print(anonymized_text)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Name Age s Email\n", + "0 John Doe 25 1 john.doe@example.com\n", + "1 Jane Smith 30 2 jane.smith@example.com\n", + "2 Alice Johnson 50 3 alice.johnson@example.com\n", + "['20-30', '30-40', '40-50']\n", + "[0, 30, 40, 50]\n", + " Name Age s Age1\n", + "0 John Doe 25 1 20-30\n", + "1 Jane Smith 30 2 20-30\n", + "2 Alice Johnson 50 3 40-50\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "\n", + "# Sample dataset with PII\n", + "data = pd.DataFrame({\n", + " 'Name': ['John Doe', 'Jane Smith', 'Alice Johnson'],\n", + " 'Age': [25, 30, 50],\n", + " \"s\":[1,2,3],\n", + " 'Email': ['john.doe@example.com', 'jane.smith@example.com', 'alice.johnson@example.com']\n", + "})\n", + "print(data)\n", + "\n", + "# Generalization\n", + "# Generalize age into age ranges\n", + "data['Age1'] = pd.cut(data['Age'], bins=[0, 30, 40,50], labels=['20-30', '30-40','40-50'])\n", + "\n", + "# Suppression\n", + "# Suppress or remove email column\n", + "data = data.drop('Email', axis=1)\n", + "\n", + "# Perturbation\n", + "# Perturb age values by adding Laplace noise\n", + "epsilon = 1.0 # Privacy parameter for differential privacy\n", + "sensitivity = 1 # Sensitivity of the age values\n", + "scale = sensitivity / epsilon\n", + "laplace_noise = np.random.laplace(loc=0, scale=scale, size=len(data))\n", + "# data['Age','s'] += laplace_noise\n", + "\n", + "# print(data['Age'])\n", + "\n", + "print(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========= []\n", + "0 John Doe\n", + "1 Jane Smith\n", + "2 Alice Johnson\n", + "Name: Name, dtype: object\n", + "========= []\n", + "0 John Doe\n", + "1 Jane Smith\n", + "2 Alice Johnson\n", + "Name: Name, Dtype: Object\n", + "[type: PERSON, start: 10, end: 18, score: 0.85, type: PERSON, start: 27, end: 37, score: 0.85, type: PERSON, start: 43, end: 56, score: 0.85]\n" + ] + } + ], + "source": [ + "from presidio_analyzer import AnalyzerEngine, RecognizerRegistry\n", + "\n", + "registry = RecognizerRegistry()\n", + "analyzer = AnalyzerEngine(registry=registry)\n", + "registry.load_predefined_recognizers()\n", + "\n", + "print(str(data[\"Name\"]))\n", + "results = analyzer.analyze(text=str(data[\"Name\"]), language=\"en\")\n", + "print(results)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 John Doe\n", + "1 Jane Smith\n", + "2 Alice Johnson\n", + "0 0 John Doe\\n1 Jane Smith\\n2 A...\n", + "dtype: object\n" + ] + } + ], + "source": [ + "s=data[\"Name\"].to_string()\n", + "print(s)\n", + "p=pd.Series(s)\n", + "print(p)" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "========= []\n" + ] + }, + { + "ename": "ValueError", + "evalue": "[E1041] Expected a string, Doc, or bytes as input, but got: ", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\src\\test.ipynb Cell 18\u001b[0m line \u001b[0;36m1\n\u001b[0;32m 5\u001b[0m anonymizer \u001b[39m=\u001b[39m AnonymizerEngine()\n\u001b[0;32m 6\u001b[0m dataset \u001b[39m=\u001b[39m [\n\u001b[0;32m 7\u001b[0m {\u001b[39m\"\u001b[39m\u001b[39mtext\u001b[39m\u001b[39m\"\u001b[39m: \u001b[39m\"\u001b[39m\u001b[39mJohn Doe\u001b[39m\u001b[39m'\u001b[39m\u001b[39ms email is john.doe@example.com and his phone number is 555-123-4567.\u001b[39m\u001b[39m\"\u001b[39m},\n\u001b[0;32m 8\u001b[0m {\u001b[39m\"\u001b[39m\u001b[39mtext\u001b[39m\u001b[39m\"\u001b[39m: \u001b[39m\"\u001b[39m\u001b[39mAlice Smith\u001b[39m\u001b[39m'\u001b[39m\u001b[39ms social security number is 123-45-6789.\u001b[39m\u001b[39m\"\u001b[39m},\n\u001b[0;32m 9\u001b[0m ]\n\u001b[1;32m---> 10\u001b[0m analyzed_dataset \u001b[39m=\u001b[39m analyzer\u001b[39m.\u001b[39;49manalyze(dataset,language\u001b[39m=\u001b[39;49m\u001b[39m'\u001b[39;49m\u001b[39men\u001b[39;49m\u001b[39m'\u001b[39;49m)\n\u001b[0;32m 11\u001b[0m masked_dataset \u001b[39m=\u001b[39m anonymizer\u001b[39m.\u001b[39manonymize(analyzed_dataset, dataset)\n\u001b[0;32m 12\u001b[0m \u001b[39mfor\u001b[39;00m item \u001b[39min\u001b[39;00m masked_dataset:\n", + "File \u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages\\presidio_analyzer\\analyzer_engine.py:189\u001b[0m, in \u001b[0;36mAnalyzerEngine.analyze\u001b[1;34m(self, text, language, entities, correlation_id, score_threshold, return_decision_process, ad_hoc_recognizers, context, allow_list, nlp_artifacts)\u001b[0m\n\u001b[0;32m 186\u001b[0m \u001b[39m# run the nlp pipeline over the given text, store the results in\u001b[39;00m\n\u001b[0;32m 187\u001b[0m \u001b[39m# a NlpArtifacts instance\u001b[39;00m\n\u001b[0;32m 188\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m nlp_artifacts:\n\u001b[1;32m--> 189\u001b[0m nlp_artifacts \u001b[39m=\u001b[39m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mnlp_engine\u001b[39m.\u001b[39;49mprocess_text(text, language)\n\u001b[0;32m 191\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mlog_decision_process:\n\u001b[0;32m 192\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mapp_tracer\u001b[39m.\u001b[39mtrace(\n\u001b[0;32m 193\u001b[0m correlation_id, \u001b[39m\"\u001b[39m\u001b[39mnlp artifacts:\u001b[39m\u001b[39m\"\u001b[39m \u001b[39m+\u001b[39m nlp_artifacts\u001b[39m.\u001b[39mto_json()\n\u001b[0;32m 194\u001b[0m )\n", + "File \u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages\\presidio_analyzer\\nlp_engine\\client_nlp_engine.py:57\u001b[0m, in \u001b[0;36mClientNlpEngine.process_text\u001b[1;34m(self, text, language)\u001b[0m\n\u001b[0;32m 54\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mprocess_text\u001b[39m(\u001b[39mself\u001b[39m, text: \u001b[39mstr\u001b[39m, language: \u001b[39mstr\u001b[39m) \u001b[39m-\u001b[39m\u001b[39m>\u001b[39m NlpArtifacts:\n\u001b[0;32m 55\u001b[0m \u001b[39m \u001b[39m\u001b[39m\"\"\"Execute the SpaCy NLP pipeline on the given text and language.\"\"\"\u001b[39;00m\n\u001b[1;32m---> 57\u001b[0m doc \u001b[39m=\u001b[39m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mnlp[language](text)\n\u001b[0;32m 58\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_doc_to_nlp_artifact(doc, language)\n", + "File \u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages\\spacy\\language.py:1007\u001b[0m, in \u001b[0;36mLanguage.__call__\u001b[1;34m(self, text, disable, component_cfg)\u001b[0m\n\u001b[0;32m 986\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39m__call__\u001b[39m(\n\u001b[0;32m 987\u001b[0m \u001b[39mself\u001b[39m,\n\u001b[0;32m 988\u001b[0m text: Union[\u001b[39mstr\u001b[39m, Doc],\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 991\u001b[0m component_cfg: Optional[Dict[\u001b[39mstr\u001b[39m, Dict[\u001b[39mstr\u001b[39m, Any]]] \u001b[39m=\u001b[39m \u001b[39mNone\u001b[39;00m,\n\u001b[0;32m 992\u001b[0m ) \u001b[39m-\u001b[39m\u001b[39m>\u001b[39m Doc:\n\u001b[0;32m 993\u001b[0m \u001b[39m \u001b[39m\u001b[39m\"\"\"Apply the pipeline to some text. The text can span multiple sentences,\u001b[39;00m\n\u001b[0;32m 994\u001b[0m \u001b[39m and can contain arbitrary whitespace. Alignment into the original string\u001b[39;00m\n\u001b[0;32m 995\u001b[0m \u001b[39m is preserved.\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 1005\u001b[0m \u001b[39m DOCS: https://spacy.io/api/language#call\u001b[39;00m\n\u001b[0;32m 1006\u001b[0m \u001b[39m \"\"\"\u001b[39;00m\n\u001b[1;32m-> 1007\u001b[0m doc \u001b[39m=\u001b[39m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_ensure_doc(text)\n\u001b[0;32m 1008\u001b[0m \u001b[39mif\u001b[39;00m component_cfg \u001b[39mis\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n\u001b[0;32m 1009\u001b[0m component_cfg \u001b[39m=\u001b[39m {}\n", + "File \u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages\\spacy\\language.py:1101\u001b[0m, in \u001b[0;36mLanguage._ensure_doc\u001b[1;34m(self, doc_like)\u001b[0m\n\u001b[0;32m 1099\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39misinstance\u001b[39m(doc_like, \u001b[39mbytes\u001b[39m):\n\u001b[0;32m 1100\u001b[0m \u001b[39mreturn\u001b[39;00m Doc(\u001b[39mself\u001b[39m\u001b[39m.\u001b[39mvocab)\u001b[39m.\u001b[39mfrom_bytes(doc_like)\n\u001b[1;32m-> 1101\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mValueError\u001b[39;00m(Errors\u001b[39m.\u001b[39mE1041\u001b[39m.\u001b[39mformat(\u001b[39mtype\u001b[39m\u001b[39m=\u001b[39m\u001b[39mtype\u001b[39m(doc_like)))\n", + "\u001b[1;31mValueError\u001b[0m: [E1041] Expected a string, Doc, or bytes as input, but got: " + ] + } + ], + "source": [ + "from presidio_analyzer import AnalyzerEngine\n", + "from presidio_anonymizer import AnonymizerEngine\n", + "\n", + "analyzer = AnalyzerEngine()\n", + "anonymizer = AnonymizerEngine()\n", + "dataset = [\n", + " {\"text\": \"John Doe's email is john.doe@example.com and his phone number is 555-123-4567.\"},\n", + " {\"text\": \"Alice Smith's social security number is 123-45-6789.\"},\n", + "]\n", + "analyzed_dataset = analyzer.analyze(dataset,language='en')\n", + "masked_dataset = anonymizer.anonymize(analyzed_dataset, dataset)\n", + "for item in masked_dataset:\n", + " print(item[\"text\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "off\n", + "hashyfy\n", + "diffrential_pryivacy" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x\n", + "x\n" + ] + } + ], + "source": [ + "class A:\n", + " def x():\n", + " print(\"x\")\n", + " return \"x\"\n", + "\n", + " def y():\n", + " return \"y\"\n", + "\n", + "# def fun(s):\n", + " \n", + "# print(s())\n", + " \n", + "# fun(\"x\")\n", + "s=getattr(A,\"x\")\n", + "# s=globals()[\"x\"]\n", + "print(s())\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Looking in indexes: https://infyartifactory.ad.infosys.com/artifactory/api/pypi/pypi-remote/simple, https://infyartifactory.ad.infosys.com/artifactory/api/pypi/pypi-remote/simple" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "[notice] A new release of pip is available: 23.0.1 -> 23.3.1\n", + "[notice] To update, run: python.exe -m pip install --upgrade pip\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Collecting diffprivlib\n", + " Downloading https://infyartifactory.ad.infosys.com/artifactory/api/pypi/pypi-remote/packages/packages/a9/10/200015b77240c50f6f438e2b9e54a7179fdbf56f6ca9f40a11d90fd2c8f9/diffprivlib-0.6.3-py3-none-any.whl (176 kB)\n", + " ---------------------------------------- 0.0/176.0 kB ? eta -:--:--\n", + " ------------------------------------- 174.1/176.0 kB 5.1 MB/s eta 0:00:01\n", + " ------------------------------------- 174.1/176.0 kB 5.1 MB/s eta 0:00:01\n", + " -------------------------------------- 176.0/176.0 kB 1.8 MB/s eta 0:00:00\n", + "Requirement already satisfied: scikit-learn>=0.24.2 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from diffprivlib) (1.3.2)\n", + "Requirement already satisfied: joblib>=0.16.0 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from diffprivlib) (1.3.2)\n", + "Requirement already satisfied: numpy>=1.21.6 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from diffprivlib) (1.26.2)\n", + "Requirement already satisfied: scipy>=1.7.3 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from diffprivlib) (1.11.4)\n", + "Requirement already satisfied: setuptools>=49.0.0 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from diffprivlib) (65.5.0)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from scikit-learn>=0.24.2->diffprivlib) (3.2.0)\n", + "Installing collected packages: diffprivlib\n", + "Successfully installed diffprivlib-0.6.3\n" + ] + } + ], + "source": [ + "!pip install diffprivlib" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from diffprivlib.mechanisms import binary\n", + "import pandas as pd\n", + "df=pd.read_csv(r\"C:\\WORK\\GIT\\responsible-ai-admin\\responsible-ai-admin\\src\\rai_admin\\temp\\emplist.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Employee_ID Gender Age Education_Level Relationship_Status Hometown \\\n", + "0 EID_22713 F 32 5 Single Springfield \n", + "1 EID_9658 M 65 2 Single Lebanon \n", + "2 EID_22203 M 52 3 Married Springfield \n", + "3 EID_7652 M 50 5 Single Washington \n", + "4 EID_6516 F 44 3 Married Franklin \n", + "5 EID_20283 F 22 4 Married Franklin \n", + "6 EID_21014 M 42 3 Married Washington \n", + "7 EID_7693 F 41 2 Married Springfield \n", + "8 EID_13232 M 31 1 Single Springfield \n", + "\n", + " Unit Decision_skill_possess Time_of_service Time_since_promotion \\\n", + "0 R&D Conceptual 7 4 \n", + "1 IT Directive 41 2 \n", + "2 Sales Directive 21 3 \n", + "3 Marketing Analytical 11 4 \n", + "4 R&D Conceptual 12 4 \n", + "5 IT Behavioral 3 1 \n", + "6 Purchasing Analytical 6 4 \n", + "7 Sales Conceptual 4 4 \n", + "8 IT Analytical 7 3 \n", + "\n", + " growth_rate Travel_Rate Post_Level Pay_Scale Compensation_and_Benefits \\\n", + "0 30 1 5 4 type2 \n", + "1 72 1 1 1 type2 \n", + "2 25 0 1 8 type3 \n", + "3 28 1 1 2 type0 \n", + "4 47 1 3 2 type2 \n", + "5 53 0 3 6 type2 \n", + "6 35 1 3 4 type2 \n", + "7 35 1 4 8 type2 \n", + "8 73 2 3 8 type2 \n", + "\n", + " Work_Life_balance \n", + "0 1 \n", + "1 1 \n", + "2 1 \n", + "3 4 \n", + "4 4 \n", + "5 1 \n", + "6 1 \n", + "7 1 \n", + "8 3 \n" + ] + } + ], + "source": [ + "print(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'M'" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b=binary.Binary(epsilon=0.1,value0=\"F\",value1=\"M\",random_state=None)\n", + "b.randomise(\"F\")" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Gender', 'Relationship_Status']\n" + ] + } + ], + "source": [ + "binaryList=[]\n", + "for c in df.columns:\n", + " # print(s)\n", + " if(len(df[c].unique())==2):\n", + " binaryList.append(c)\n", + "print(binaryList)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "Value to be randomised must be a string", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\src\\test.ipynb Cell 26\u001b[0m line \u001b[0;36m2\n\u001b[0;32m 1\u001b[0m mechanism \u001b[39m=\u001b[39m binary\u001b[39m.\u001b[39mBinary(epsilon\u001b[39m=\u001b[39m\u001b[39m1.0\u001b[39m,value0\u001b[39m=\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mF\u001b[39m\u001b[39m\"\u001b[39m,value1\u001b[39m=\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mM\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[1;32m----> 2\u001b[0m df[\u001b[39m\"\u001b[39m\u001b[39mGender\u001b[39m\u001b[39m\"\u001b[39m] \u001b[39m=\u001b[39m mechanism\u001b[39m.\u001b[39;49mrandomise(df[\u001b[39m\"\u001b[39;49m\u001b[39mGender\u001b[39;49m\u001b[39m\"\u001b[39;49m])\n", + "File \u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages\\diffprivlib\\mechanisms\\binary.py:110\u001b[0m, in \u001b[0;36mBinary.randomise\u001b[1;34m(self, value)\u001b[0m\n\u001b[0;32m 96\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mrandomise\u001b[39m(\u001b[39mself\u001b[39m, value):\n\u001b[0;32m 97\u001b[0m \u001b[39m \u001b[39m\u001b[39m\"\"\"Randomise `value` with the mechanism.\u001b[39;00m\n\u001b[0;32m 98\u001b[0m \n\u001b[0;32m 99\u001b[0m \u001b[39m Parameters\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 108\u001b[0m \n\u001b[0;32m 109\u001b[0m \u001b[39m \"\"\"\u001b[39;00m\n\u001b[1;32m--> 110\u001b[0m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_check_all(value)\n\u001b[0;32m 112\u001b[0m indicator \u001b[39m=\u001b[39m \u001b[39m0\u001b[39m \u001b[39mif\u001b[39;00m value \u001b[39m==\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mvalue0 \u001b[39melse\u001b[39;00m \u001b[39m1\u001b[39m\n\u001b[0;32m 114\u001b[0m unif_rv \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_rng\u001b[39m.\u001b[39mrandom() \u001b[39m*\u001b[39m (np\u001b[39m.\u001b[39mexp(\u001b[39mself\u001b[39m\u001b[39m.\u001b[39mepsilon) \u001b[39m+\u001b[39m \u001b[39m1\u001b[39m)\n", + "File \u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages\\diffprivlib\\mechanisms\\binary.py:80\u001b[0m, in \u001b[0;36mBinary._check_all\u001b[1;34m(self, value)\u001b[0m\n\u001b[0;32m 77\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_check_labels(\u001b[39mself\u001b[39m\u001b[39m.\u001b[39mvalue0, \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mvalue1)\n\u001b[0;32m 79\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39misinstance\u001b[39m(value, \u001b[39mstr\u001b[39m):\n\u001b[1;32m---> 80\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mTypeError\u001b[39;00m(\u001b[39m\"\u001b[39m\u001b[39mValue to be randomised must be a string\u001b[39m\u001b[39m\"\u001b[39m)\n\u001b[0;32m 82\u001b[0m \u001b[39mif\u001b[39;00m value \u001b[39mnot\u001b[39;00m \u001b[39min\u001b[39;00m [\u001b[39mself\u001b[39m\u001b[39m.\u001b[39mvalue0, \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mvalue1]:\n\u001b[0;32m 83\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mValueError\u001b[39;00m(\u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mValue to be randomised is not in the domain \u001b[39m\u001b[39m{{\u001b[39;00m\u001b[39m\\\"\u001b[39;00m\u001b[39m{\u001b[39;00m\u001b[39mself\u001b[39m\u001b[39m.\u001b[39mvalue0\u001b[39m}\u001b[39;00m\u001b[39m\\\"\u001b[39;00m\u001b[39m, \u001b[39m\u001b[39m\\\"\u001b[39;00m\u001b[39m{\u001b[39;00m\u001b[39mself\u001b[39m\u001b[39m.\u001b[39mvalue1\u001b[39m}\u001b[39;00m\u001b[39m\\\"\u001b[39;00m\u001b[39m}}\u001b[39;00m\u001b[39m, \u001b[39m\u001b[39m\"\u001b[39m\n\u001b[0;32m 84\u001b[0m \u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mgot \u001b[39m\u001b[39m\\\"\u001b[39;00m\u001b[39m{\u001b[39;00mvalue\u001b[39m}\u001b[39;00m\u001b[39m\\\"\u001b[39;00m\u001b[39m.\u001b[39m\u001b[39m\"\u001b[39m)\n", + "\u001b[1;31mTypeError\u001b[0m: Value to be randomised must be a string" + ] + } + ], + "source": [ + "mechanism = binary.Binary(epsilon=1.0,value0=\"F\",value1=\"M\")\n", + "df[\"Gender\"] = mechanism.randomise(df[\"Gender\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['F', 'M'], dtype=object)" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[\"Gender\"].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [], + "source": [ + "def binaryCheck(df,col):\n", + " data=list(df[col].unique())\n", + " # print(data)\n", + " mechanism = binary.Binary(epsilon=1.0,value0=data[0],value1=data[1])\n", + " for d in range(len(df[col])):\n", + " temp=df.loc[d,col]\n", + " # print(\"==/\",temp)\n", + " df.loc[d,col]=mechanism.randomise(temp)\n", + " # print(\"=====\",temp,df.loc[d,col])" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [], + "source": [ + "binaryCheck(df,\"Gender\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Employee_IDGenderAgeEducation_LevelRelationship_StatusHometownUnitDecision_skill_possessTime_of_serviceTime_since_promotiongrowth_rateTravel_RatePost_LevelPay_ScaleCompensation_and_BenefitsWork_Life_balance
0EID_22713F325SingleSpringfieldR&DConceptual7430154type21
1EID_9658M652SingleLebanonITDirective41272111type21
2EID_22203M523MarriedSpringfieldSalesDirective21325018type31
3EID_7652M505SingleWashingtonMarketingAnalytical11428112type04
4EID_6516F443MarriedFranklinR&DConceptual12447132type24
5EID_20283F224MarriedFranklinITBehavioral3153036type21
6EID_21014M423MarriedWashingtonPurchasingAnalytical6435134type21
7EID_7693F412MarriedSpringfieldSalesConceptual4435148type21
8EID_13232M311SingleSpringfieldITAnalytical7373238type23
\n", + "
" + ], + "text/plain": [ + " Employee_ID Gender Age Education_Level Relationship_Status Hometown \\\n", + "0 EID_22713 F 32 5 Single Springfield \n", + "1 EID_9658 M 65 2 Single Lebanon \n", + "2 EID_22203 M 52 3 Married Springfield \n", + "3 EID_7652 M 50 5 Single Washington \n", + "4 EID_6516 F 44 3 Married Franklin \n", + "5 EID_20283 F 22 4 Married Franklin \n", + "6 EID_21014 M 42 3 Married Washington \n", + "7 EID_7693 F 41 2 Married Springfield \n", + "8 EID_13232 M 31 1 Single Springfield \n", + "\n", + " Unit Decision_skill_possess Time_of_service Time_since_promotion \\\n", + "0 R&D Conceptual 7 4 \n", + "1 IT Directive 41 2 \n", + "2 Sales Directive 21 3 \n", + "3 Marketing Analytical 11 4 \n", + "4 R&D Conceptual 12 4 \n", + "5 IT Behavioral 3 1 \n", + "6 Purchasing Analytical 6 4 \n", + "7 Sales Conceptual 4 4 \n", + "8 IT Analytical 7 3 \n", + "\n", + " growth_rate Travel_Rate Post_Level Pay_Scale Compensation_and_Benefits \\\n", + "0 30 1 5 4 type2 \n", + "1 72 1 1 1 type2 \n", + "2 25 0 1 8 type3 \n", + "3 28 1 1 2 type0 \n", + "4 47 1 3 2 type2 \n", + "5 53 0 3 6 type2 \n", + "6 35 1 3 4 type2 \n", + "7 35 1 4 8 type2 \n", + "8 73 2 3 8 type2 \n", + "\n", + " Work_Life_balance \n", + "0 1 \n", + "1 1 \n", + "2 1 \n", + "3 4 \n", + "4 4 \n", + "5 1 \n", + "6 1 \n", + "7 1 \n", + "8 3 " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "minv=df.Age.min()\n", + "maxv=df.Age.max()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "70 20\n" + ] + } + ], + "source": [ + "import math\n", + "\n", + "base=10\n", + "maxrange=math.ceil(maxv / base) * base\n", + "minrange=round(minv/base)*base\n", + "\n", + "print(maxrange,minrange)\n", + "diff=maxrange-minrange\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "50\n", + "4\n", + "['20.0-30.0', '30.0-40.0', '40.0-50.0', '50.0-60.0', '60.0-70']\n", + "[20.0, 30.0, 40.0, 50.0, 60.0, 70]\n" + ] + } + ], + "source": [ + "range_magnitude = abs(maxrange - minrange)\n", + "# print(range_magnitude)\n", + "# Determine the number of ranges based on the magnitude``\n", + "num_ranges = max(range_magnitude // 10, 1) # Assuming a minimum range size of 10\n", + "\n", + "# Calculate the interval\n", + "interval = range_magnitude / num_ranges\n", + "\n", + "ranges = []\n", + "binlist=set()\n", + "lablelist=[]\n", + "\n", + "for i in range(num_ranges):\n", + " start = minrange + i * interval\n", + " end = minrange + (i + 1) * interval\n", + " if(i==num_ranges-1):\n", + " # print(i)\n", + " end=maxrange\n", + " binlist.add(start)\n", + " binlist.add(end)\n", + " lablelist.append(f\"{start}-{end}\")\n", + " # ranges.append((start, end))\n", + "binlist=sorted(list(binlist))\n", + "print(lablelist)\n", + "print(binlist)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['20.0-30.0', '30.0-40.0', '40.0-50.0', '50.0-60.0', '60.0-70.0']\n", + "[20.0, 30.0, 40.0, 50.0, 60.0, 70.0]\n" + ] + }, + { + "data": { + "text/html": [ + "
\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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Employee_IDGenderAgeEducation_LevelRelationship_StatusHometownUnitDecision_skill_possessTime_of_serviceTime_since_promotiongrowth_rateTravel_RatePost_LevelPay_ScaleCompensation_and_BenefitsWork_Life_balanceAge1
0EID_22713F325SingleSpringfieldR&DConceptual7430154type2130.0-40.0
1EID_9658M652SingleLebanonITDirective41272111type2160.0-70.0
2EID_22203M523MarriedSpringfieldSalesDirective21325018type3150.0-60.0
3EID_7652M505SingleWashingtonMarketingAnalytical11428112type0440.0-50.0
4EID_6516F443MarriedFranklinR&DConceptual12447132type2440.0-50.0
5EID_20283F224MarriedFranklinITBehavioral3153036type2120.0-30.0
6EID_21014M423MarriedWashingtonPurchasingAnalytical6435134type2140.0-50.0
7EID_7693F412MarriedSpringfieldSalesConceptual4435148type2140.0-50.0
8EID_13232M311SingleSpringfieldITAnalytical7373238type2330.0-40.0
\n", + "
" + ], + "text/plain": [ + " Employee_ID Gender Age Education_Level Relationship_Status Hometown \\\n", + "0 EID_22713 F 32 5 Single Springfield \n", + "1 EID_9658 M 65 2 Single Lebanon \n", + "2 EID_22203 M 52 3 Married Springfield \n", + "3 EID_7652 M 50 5 Single Washington \n", + "4 EID_6516 F 44 3 Married Franklin \n", + "5 EID_20283 F 22 4 Married Franklin \n", + "6 EID_21014 M 42 3 Married Washington \n", + "7 EID_7693 F 41 2 Married Springfield \n", + "8 EID_13232 M 31 1 Single Springfield \n", + "\n", + " Unit Decision_skill_possess Time_of_service Time_since_promotion \\\n", + "0 R&D Conceptual 7 4 \n", + "1 IT Directive 41 2 \n", + "2 Sales Directive 21 3 \n", + "3 Marketing Analytical 11 4 \n", + "4 R&D Conceptual 12 4 \n", + "5 IT Behavioral 3 1 \n", + "6 Purchasing Analytical 6 4 \n", + "7 Sales Conceptual 4 4 \n", + "8 IT Analytical 7 3 \n", + "\n", + " growth_rate Travel_Rate Post_Level Pay_Scale Compensation_and_Benefits \\\n", + "0 30 1 5 4 type2 \n", + "1 72 1 1 1 type2 \n", + "2 25 0 1 8 type3 \n", + "3 28 1 1 2 type0 \n", + "4 47 1 3 2 type2 \n", + "5 53 0 3 6 type2 \n", + "6 35 1 3 4 type2 \n", + "7 35 1 4 8 type2 \n", + "8 73 2 3 8 type2 \n", + "\n", + " Work_Life_balance Age1 \n", + "0 1 30.0-40.0 \n", + "1 1 60.0-70.0 \n", + "2 1 50.0-60.0 \n", + "3 4 40.0-50.0 \n", + "4 4 40.0-50.0 \n", + "5 1 20.0-30.0 \n", + "6 1 40.0-50.0 \n", + "7 1 40.0-50.0 \n", + "8 3 30.0-40.0 " + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Age1'] = pd.cut(df['Age'], bins=binlist, labels=lablelist)\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "'numpy.int64' object is not callable", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32mc:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\src\\test.ipynb Cell 35\u001b[0m line \u001b[0;36m1\n\u001b[1;32m----> 1\u001b[0m \u001b[39mmax\u001b[39;49m(\u001b[39m1\u001b[39;49m,\u001b[39m2\u001b[39;49m)\n", + "\u001b[1;31mTypeError\u001b[0m: 'numpy.int64' object is not callable" + ] + } + ], + "source": [ + "max(1,2)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "myenv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/test.py b/src/test.py new file mode 100644 index 0000000000000000000000000000000000000000..cc568fa83caa65e806dcb54daa79d1e64add0eff --- /dev/null +++ b/src/test.py @@ -0,0 +1,36 @@ +''' +MIT license https://opensource.org/licenses/MIT Copyright 2024 Infosys Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +''' + +import requests + +import base64 + +from PIL import Image + +from io import BytesIO + + + + +base64data_encryp="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qJs1UTdrom7WRN08caLI+5gACgAAAABgOYRZAAAAAIDlEGZ7uODgYC1cuFDBwcHeHgr+DtTNmqibNVE3a6Ju1kTdrIm6wVfZDPNJAwAAAAAshjOzAAAAAADLIcwCAAAAACyHMAsAAAAAsBzCLAAAAADAcgizPdySJUs0ePBg9enTR5mZmdq2bZu3h9SrbdmyRdOmTVNcXJxsNptWrVrl0W6M0YIFCxQbG6uQkBDl5OSovLzco09tba3y8vJkt9vlcDg0c+ZMNTY2XsW96F0WLVqk6667Ttdcc42ioqJ0xx13aP/+/R59Tp06pblz56p///4KCwvT9OnTdezYMY8+FRUVmjp1qkJDQxUVFaUnn3xSHR0dV3NXepWlS5dq7NixstvtstvtysrK0tq1a93t1MwaFi9eLJvNpscee8y9jtr5np///Oey2WweS0pKirudmvmuo0eP6qc//an69++vkJAQjRkzRkVFRe52jkvg6wizPdi7776r+fPna+HChSopKVFaWpomT56s6upqbw+t12pqalJaWpqWLFlywfYXXnhBr776qpYtW6bCwkL17dtXkydP1qlTp9x98vLytHv3buXn52vNmjXasmWLZs2adbV2odcpKCjQ3Llz9dlnnyk/P1/t7e269dZb1dTU5O7z+OOPa/Xq1XrvvfdUUFCgyspK/fjHP3a3d3Z2aurUqWpra9Onn36qN998U8uXL9eCBQu8sUu9QkJCghYvXqzi4mIVFRXplltu0e23367du3dLomZWsH37dr3++usaO3asx3pq55tGjRqlqqoq9/Lxxx+726iZbzp58qQmTpyowMBArV27Vnv27NFLL72kfv36uftwXAKfZ9BjTZgwwcydO9f9c2dnp4mLizOLFi3y4qhwliSzcuVK989dXV0mJibGvPjii+51dXV1Jjg42LzzzjvGGGP27NljJJnt27e7+6xdu9bYbDZz9OjRqzb23qy6utpIMgUFBcaY0zUKDAw07733nrvP3r17jSSzdetWY4wxH3zwgfHz8zNOp9PdZ+nSpcZut5vW1taruwO9WL9+/czvfvc7amYBDQ0NZtiwYSY/P9/cdNNN5tFHHzXG8H7zVQsXLjRpaWkXbKNmvuvpp582N9xww0XbOS6BFXBmtodqa2tTcXGxcnJy3Ov8/PyUk5OjrVu3enFkuJhDhw7J6XR61Cw8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" + + + +#print(type(response.json())) + +decoded_data=base64.b64decode(base64data_encryp) + +image=Image.open(BytesIO(decoded_data)) + +#print(image) + +output='C:\\WORK\\GIT\\responsible-ai-privacy\\responsible-ai-privacy\\src\\privacy\\temp\\resp.png' + +image.save(output) \ No newline at end of file diff --git a/src/test2.ipynb b/src/test2.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..0747a67d25c3e0591b70edaf733259c05cc7a9ed --- /dev/null +++ b/src/test2.ipynb @@ -0,0 +1,1820 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from presidio_analyzer import AnalyzerEngine, PatternRecognizer\n", + "from presidio_anonymizer import AnonymizerEngine\n", + "from presidio_anonymizer.entities import OperatorConfig\n", + "import json\n", + "from presidio_analyzer import RecognizerRegistry\n", + "from presidio_analyzer import Pattern\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# text = \"Karan is working in Infosys. He is from Mumbai. His appointment for renewing passport is booked on March 12 and his old Passport Number is P2096457. Also, he want to link his Aadhaar Number is 567845678987 with his Pan Number is BNZAA2318A. and has 35$\"\n", + "text = \"Karan is working in Infosys.He has email id asv@gmail.com\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "\n", + "registry = RecognizerRegistry()\n", + "registry.load_predefined_recognizers()\n", + "analyzer = AnalyzerEngine(registry=registry)\n", + "anonymize=AnonymizerEngine()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "result = analyzer.analyze(text=text, language=\"en\", entities=[\"PERSON\",\"EMAIL_ADDRESS\"])\n", + "print(result)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "l=['Aadhaar_Number', 'PAN_Number', 'UsBankRecognizer', 'UsLicenseRecognizer', 'UsItinRecognizer', 'UsPassportRecognizer', 'UsSsnRecognizer', 'NhsRecognizer', 'SgFinRecognizer', 'AuAbnRecognizer', 'AuAcnRecognizer', 'AuTfnRecognizer', 'AuMedicareRecognizer', 'InPanRecognizer', 'CreditCardRecognizer', 'CryptoRecognizer', 'DateRecognizer', 'EmailRecognizer', 'IbanRecognizer', 'IpRecognizer', 'MedicalLicenseRecognizer', 'ClientListRecognizer', 'PhoneRecognizer', 'UrlRecognizer', 'Aadhaar_Number', 'PAN_Number', 'UsBankRecognizer', 'UsLicenseRecognizer', 'UsItinRecognizer', 'UsPassportRecognizer', 'UsSsnRecognizer', 'NhsRecognizer', 'SgFinRecognizer', 'AuAbnRecognizer', 'AuAcnRecognizer', 'AuTfnRecognizer', 'AuMedicareRecognizer', 'InPanRecognizer', 'CreditCardRecognizer', 'CryptoRecognizer', 'DateRecognizer', 'EmailRecognizer', 'IbanRecognizer', 'IpRecognizer', 'MedicalLicenseRecognizer', 'SpacyRecognizer', 'PhoneRecognizer', 'UrlRecognizer']\n", + "l1=list(set(l))\n", + "l1==l\n", + "d={}\n", + "for i in l:\n", + " if i in d:\n", + " d[i]+=1\n", + " else:\n", + " d[i]=1\n", + "print(d)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "x1=['Aadhaar_Number', 'PAN_Number', 'UsBankRecognizer', 'UsLicenseRecognizer', 'UsItinRecognizer', 'UsPassportRecognizer', 'UsSsnRecognizer', 'NhsRecognizer', 'SgFinRecognizer', 'AuAbnRecognizer', 'AuAcnRecognizer', 'AuTfnRecognizer', 'AuMedicareRecognizer', 'InPanRecognizer', 'CreditCardRecognizer', 'CryptoRecognizer', 'DateRecognizer', 'EmailRecognizer', 'IbanRecognizer', 'IpRecognizer', 'MedicalLicenseRecognizer', 'ClientListRecognizer', 'PhoneRecognizer', 'UrlRecognizer', 'Aadhaar_Number', 'PAN_Number', 'UsBankRecognizer', 'UsLicenseRecognizer', 'UsItinRecognizer', 'UsPassportRecognizer', 'UsSsnRecognizer', 'NhsRecognizer', 'SgFinRecognizer', 'AuAbnRecognizer', 'AuAcnRecognizer', 'AuTfnRecognizer', 'AuMedicareRecognizer', 'InPanRecognizer', 'CreditCardRecognizer', 'CryptoRecognizer', 'DateRecognizer', 'EmailRecognizer', 'IbanRecognizer', 'IpRecognizer', 'MedicalLicenseRecognizer', 'SpacyRecognizer', 'PhoneRecognizer', 'UrlRecognizer']\n", + "x2=['Aadhaar_Number', 'PAN_Number', 'UsBankRecognizer', 'UsLicenseRecognizer', 'UsItinRecognizer', 'UsPassportRecognizer', 'UsSsnRecognizer', 'NhsRecognizer', 'SgFinRecognizer', 'AuAbnRecognizer', 'AuAcnRecognizer', 'AuTfnRecognizer', 'AuMedicareRecognizer', 'InPanRecognizer', 'CreditCardRecognizer', 'CryptoRecognizer', 'DateRecognizer', 'EmailRecognizer', 'IbanRecognizer', 'IpRecognizer', 'MedicalLicenseRecognizer', 'ClientListRecognizer', 'PhoneRecognizer', 'UrlRecognizer', 'Aadhaar_Number', 'PAN_Number', 'UsBankRecognizer', 'UsLicenseRecognizer', 'UsItinRecognizer', 'UsPassportRecognizer', 'UsSsnRecognizer', 'NhsRecognizer', 'SgFinRecognizer', 'AuAbnRecognizer', 'AuAcnRecognizer', 'AuTfnRecognizer', 'AuMedicareRecognizer', 'InPanRecognizer', 'CreditCardRecognizer', 'CryptoRecognizer', 'DateRecognizer', 'EmailRecognizer', 'IbanRecognizer', 'IpRecognizer', 'MedicalLicenseRecognizer', 'SpacyRecognizer', 'PhoneRecognizer', 'UrlRecognizer']\n", + "x3=['Aadhaar_Number', 'PAN_Number', 'UsBankRecognizer', 'UsLicenseRecognizer', 'UsItinRecognizer', 'UsPassportRecognizer', 'UsSsnRecognizer', 'NhsRecognizer', 'SgFinRecognizer', 'AuAbnRecognizer', 'AuAcnRecognizer', 'AuTfnRecognizer', 'AuMedicareRecognizer', 'InPanRecognizer', 'CreditCardRecognizer', 'CryptoRecognizer', 'DateRecognizer', 'EmailRecognizer', 'IbanRecognizer', 'IpRecognizer', 'MedicalLicenseRecognizer', 'ClientListRecognizer', 'PhoneRecognizer', 'UrlRecognizer', 'Aadhaar_Number', 'PAN_Number', 'UsBankRecognizer', 'UsLicenseRecognizer', 'UsItinRecognizer', 'UsPassportRecognizer', 'UsSsnRecognizer', 'NhsRecognizer', 'SgFinRecognizer', 'AuAbnRecognizer', 'AuAcnRecognizer', 'AuTfnRecognizer', 'AuMedicareRecognizer', 'InPanRecognizer', 'CreditCardRecognizer', 'CryptoRecognizer', 'DateRecognizer', 'EmailRecognizer', 'IbanRecognizer', 'IpRecognizer', 'MedicalLicenseRecognizer', 'SpacyRecognizer', 'PhoneRecognizer', 'UrlRecognizer']\n", + "x4=['Aadhaar_Number', 'PAN_Number', 'UsBankRecognizer', 'UsLicenseRecognizer', 'UsItinRecognizer', 'UsPassportRecognizer', 'UsSsnRecognizer', 'NhsRecognizer', 'SgFinRecognizer', 'AuAbnRecognizer', 'AuAcnRecognizer', 'AuTfnRecognizer', 'AuMedicareRecognizer', 'InPanRecognizer', 'CreditCardRecognizer', 'CryptoRecognizer', 'DateRecognizer', 'EmailRecognizer', 'IbanRecognizer', 'IpRecognizer', 'MedicalLicenseRecognizer', 'ClientListRecognizer', 'PhoneRecognizer', 'UrlRecognizer', 'Aadhaar_Number', 'PAN_Number', 'UsBankRecognizer', 'UsLicenseRecognizer', 'UsItinRecognizer', 'UsPassportRecognizer', 'UsSsnRecognizer', 'NhsRecognizer', 'SgFinRecognizer', 'AuAbnRecognizer', 'AuAcnRecognizer', 'AuTfnRecognizer', 'AuMedicareRecognizer', 'InPanRecognizer', 'CreditCardRecognizer', 'CryptoRecognizer', 'DateRecognizer', 'EmailRecognizer', 'IbanRecognizer', 'IpRecognizer', 'MedicalLicenseRecognizer', 'SpacyRecognizer', 'PhoneRecognizer', 'UrlRecognizer']\n", + "\n", + "\n", + "s=['Aadhaar_Number', 'PAN_Number', 'UsBankRecognizer', 'UsLicenseRecognizer', 'UsItinRecognizer', 'UsPassportRecognizer', 'UsSsnRecognizer', 'NhsRecognizer', 'SgFinRecognizer', 'AuAbnRecognizer', 'AuAcnRecognizer', 'AuTfnRecognizer', 'AuMedicareRecognizer', 'InPanRecognizer', 'CreditCardRecognizer', 'CryptoRecognizer', 'DateRecognizer', 'EmailRecognizer', 'IbanRecognizer', 'IpRecognizer', 'MedicalLicenseRecognizer', 'SpacyRecognizer', 'PhoneRecognizer', 'UrlRecognizer']\n", + "\n", + "ss=['Aadhaar_Number', 'PAN_Number', 'UsBankRecognizer', 'UsLicenseRecognizer', 'UsItinRecognizer', 'UsPassportRecognizer', 'UsSsnRecognizer', 'NhsRecognizer', 'SgFinRecognizer', 'AuAbnRecognizer', 'AuAcnRecognizer', 'AuTfnRecognizer', 'AuMedicareRecognizer', 'InPanRecognizer', 'CreditCardRecognizer', 'CryptoRecognizer', 'DateRecognizer', 'EmailRecognizer', 'IbanRecognizer', 'IpRecognizer', 'MedicalLicenseRecognizer', 'ClientListRecognizer', 'PhoneRecognizer', 'UrlRecognizer']\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "d={}\n", + "for i in ss:\n", + " if i in d:\n", + " \n", + " d[i]+=1\n", + " else:\n", + " d[i]=1\n", + "print(d)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "\n", + "patternObj = Pattern(name=\"Currency\",\n", + " regex='[1-9]*\\$',\n", + " score=0.8)\n", + "patternRecog = PatternRecognizer(supported_entity=\"CURRENCY\",\n", + " patterns=[patternObj])\n", + "registry.add_recognizer(patternRecog)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "result = analyzer.analyze(text=text, language=\"en\",allow_list=[\"Karan\"])\n", + "print(result)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from faker import Faker\n", + "fake=Faker()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fake.name()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "anonymized_results = anonymize.anonymize(\n", + " text=text,\n", + " analyzer_results=result, \n", + " operators= {\"DEFAULT\": OperatorConfig(\"replace\", {\"new_value\": fake.name()})}\n", + ")\n", + "\n", + "print(f\"text: {anonymized_results.text}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "from privacy.dao.privacy.DatabaseConnection import DB\n", + "DB.connect()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import random\n", + "import string\n", + "\n", + "def generate_value_with_ranges(pattern):\n", + " value = \"\"\n", + " for char in pattern:\n", + " if char in \"[a-z]\":\n", + " value += random.choice(string.ascii_lowercase)\n", + " elif char in \"[A-Z]\":\n", + " value += random.choice(string.ascii_uppercase)\n", + " else:\n", + " value += char\n", + " return value\n", + "\n", + "pattern = r\"[A-Z][a-z]{2}\" # Example: AaX\n", + "generated_value = generate_value_with_ranges(pattern)\n", + "print(generated_value) # Output: something like Pbq\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import re" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def valueGen(pattern):\n", + " if(\"|\" in pattern):\n", + " pattern=pattern.split(\"|\")\n", + " pattern=pattern[random.randrange(0,len(pattern))]\n", + " res=\"\" \n", + " while True:\n", + " \n", + " r=re.search(r\"(\\[[A-Za-z0-9\\-\\,]*\\](\\{[0-9\\,]*\\})?)|(\\\\s)|((\\\\d)(\\{[0-9\\,]*\\})?)|((\\\\w)(\\{[0-9\\,]*\\})?)|(\\w*)\",pattern)\n", + " # print(r.group(2)) \n", + " # print(pattern)\n", + " # print(r.span())\n", + " print(\"gp\",r.group(),r.group(4))\n", + " if(r.group(1)):\n", + " ptr=r.group()\n", + "\n", + " # print(ptr)\n", + " t=re.match(r\"\\[[A-Za-z0-9\\-\\,]*\\]\",ptr).group()[1:-1].split(\",\")\n", + " s=string.ascii_lowercase+string.ascii_uppercase+string.digits+string.punctuation\n", + " # print(t)\n", + " s1=\"\"\n", + " for x in t:\n", + " # print(x)\n", + " l=x.split('-')\n", + " # print(l)\n", + " s1+=s[s.index(l[0]):s.index(l[1])+1]\n", + " count=re.search(r\"\\{[0-9\\,]*\\}\",ptr)\n", + " k=1\n", + " if count: \n", + " k=int(random.choice(count.group()[1:-1].split(',')))\n", + " print(\"==\",k)\n", + " # if k==0:\n", + " # k=1\n", + " v=\"\".join(random.choices(s1,k=k))\n", + " # print(v)\n", + " pattern=pattern[r.span()[1]:]\n", + " res+=v\n", + " # print(pattern)\n", + " print(v)\n", + " \n", + " if(r.group()=='\\s'):\n", + " print(\" a\")\n", + " pattern=pattern[r.span()[1]:]\n", + " res+=\" \"\n", + " \n", + " if(r.group()=='\\d'):\n", + " print(\"b\")\n", + " pattern=pattern[r.span()[1]:]\n", + " res+=random.choice(string.digits)\n", + " if(r.group()==r.group(4)):\n", + " pattern=pattern[r.span()[1]:]\n", + " res+=random.choice(string.ascii_lowercase)\n", + " if(r.group(5)):\n", + " print(\"tt======\",r.group())\n", + " pattern=pattern[r.span()[1]:]\n", + " res+=r.group()\n", + " print(pattern)\n", + " \n", + " if(re.search(r\"\\[[A-Za-z0-9\\-\\,]*\\]\\{[0-9\\,]*\\}\",pattern)==None):\n", + " break\n", + " print(pattern)\n", + " print(\"======\",res)\n", + " print(\"===\",res) \n", + " \n", + " \n", + " \n", + "p=\"[A-Z]{2}\\s[0-9]{2}\\s[A-Z]{1,2}\\s[0-9]{4}\"\n", + "# p=\"[A-Za-z]{6}\\d{2}\"\n", + "valueGen(p)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# p=\"\\b([A-Z][0-9]{3,6}|[A-Z][0-9]{5,9}|[A-Z][0-9]{6,8}|[A-Z][0-9]{4,8}|[A-Z][0-9]{9,11}|[A-Z]{1,2}[0-9]{5,6}|H[0-9]{8}|V[0-9]{6}|X[0-9]{8}|A-Z]{2}[0-9]{2,5}|[A-Z]{2}[0-9]{3,7}|[0-9]{2}[A-Z]{3}[0-9]{5,6}|[A-Z][0-9]{13,14}|[A-Z][0-9]{18}|[A-Z][0-9]{6}R|[A-Z][0-9]{9}|[A-Z][0-9]{1,12}|[0-9]{9}[A-Z]|[A-Z]{2}[0-9]{6}[A-Z]|[0-9]{8}[A-Z]{2}|[0-9]{3}[A-Z]{2}[0-9]{4}|[A-Z][0-9][A-Z][0-9][A-Z]|[0-9]{7,8}[A-Z])\\b\"\n", + "p=\"[A-Z,a-z]{2}\\s[0-9]{2}\\s[A-Z,a-z]{1,2}\\s[0-9]{4}\"\n", + "valueGen(p)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from xeger import Xeger\n", + "x = Xeger()\n", + "t=x.xeger(p)\n", + "print(t)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import requests\n", + "payload={\"portfolio\":\"RAI\",\"account\":\"TEST\"}\n", + " \n", + "# payload={\"accName\":\"Infosys\",\"subAccName\":\"Impact\"}\n", + "# api_url = os.getenv(\"PRIVADMIN_API\")\n", + "\n", + "# print(api_url)\n", + "aurl=\"http://10.66.155.13:30016/api/v1/rai/admin/PrivacyDataList\"\n", + "# log.debug(aurl)\n", + "# log.debug(str(type(aurl)))\n", + "# log.debug(\"Calling Admin Api ======\")\n", + "# log.debug(\"api payload:\"+str(payload))\n", + "# print(payload)\n", + "response1 = requests.post(\n", + " url=aurl\n", + " , headers={'Content-Type': \"application/json\",\n", + " 'accept': \"application/json\"}\n", + " , json=payload\n", + " )\n", + "print(response1.json()[\"datalist\"])\n", + "# response1=httpx.post(aurl, json=payload)\n", + "# response1=httpx.post('http://10.66.155.13:30016/api/v1/rai/admin/PrivacyDataList', json=payload)\n", + "# log.debug(\"response=\"+str(response1))\n", + "# log.debug(\"response11=\"+str(response1.text))\n", + "# response1=PrivacyData.getDataList(payload)\n", + "entityType,datalist,preEntity,records,encryptionList,scoreTreshold=response1.json()[\"datalist\"]\n", + "entityType,datalist,preEntity,records,encryptionList,scoreTreshold" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import logging\n", + "from typing import Optional, List, Tuple, Set\n", + "import spacy\n", + "from spacy.matcher import PhraseMatcher\n", + "from presidio_analyzer.predefined_recognizers.spacy_recognizer import SpacyRecognizer\n", + "# from presidio_analyzer.predefined_recognizers import SpacyRecognizer\n", + "from presidio_analyzer import RecognizerResult\n", + "import copy\n", + "\n", + "\n", + "\n", + "\n", + "from presidio_analyzer import (\n", + " RecognizerResult,\n", + " LocalRecognizer,\n", + " AnalysisExplanation,\n", + ")\n", + "\n", + "logger = logging.getLogger(\"presidio_analyzer\")\n", + "# terms = [\"1&1 Telecommunication SE\",\"1010 data services LLC\",\"AMA\",\n", + "# \"A O Smith Corporations\",\"ABBMST\",\"Addidas India\",\"CITI\",\"Cisco Systems\",\"ERICSSON\",\"Gati Ltd\",\"IBM\",\n", + "# \"Infosys Ltd\",\"Intel Corporation\",\"Johnson\",\"JTC Corporation\",\"NSC Global\",\"SUZUKI MOTOR CORPORATION\",\n", + "# \"Synopsys Ltd\",\"TIBCOO\", \"T-Mobile UK\",\"Toyota Systems Corporation\",\"TSB Bank\",\"UBS Bank\"\n", + "# ,\"United Health Corporation\",\"Vodafone quickcom\",\"Voltas\",\"VOLVO CARS\",\"WIPRO LIMITED\",\n", + "# \"Walmart\", \"CVS Health\", \"Walgreens Boots Alliance\"]\n", + "# terms=[]\n", + "class DataList:\n", + " # def __init__(self,val) -> None:\n", + " # self.Entiity=val\n", + " entity=[]\n", + " def setData(values):\n", + " terms.extend(values)\n", + " # print(terms)\n", + " def resetData():\n", + " terms.clear()\n", + " # def setEntity(val):\n", + " # DataList.Entity=val\n", + " # ClientListRecognizer(supported_entities=val)\n", + " # def getE():\n", + " # return self.Entiity\n", + " \n", + "\n", + "nlp = spacy.load(\"en_core_web_lg\")\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "class TESTR(SpacyRecognizer): \n", + " \"\"\"\n", + " Recognize PII entities using a spaCy NLP model.\n", + "\n", + " Since the spaCy pipeline is ran by the AnalyzerEngine,\n", + " this recognizer only extracts the entities from the NlpArtifacts\n", + " and replaces their types to align with Presidio's.\n", + "\n", + " :param supported_language: Language this recognizer supports\n", + " :param supported_entities: The entities this recognizer can detect\n", + " :param ner_strength: Default confidence for NER prediction\n", + " :param check_label_groups: Tuple containing Presidio entity names\n", + " and spaCy entity names, for verifying that the right entity\n", + " is translated into a Presidio entity.\n", + " \"\"\"\n", + "\n", + " # ENTITIES = DataList.entity\n", + " # ENTITIES =[]\n", + " # terms=[]\n", + "\n", + " DEFAULT_EXPLANATION = \"Identified as {} by Spacy's Named Entity Recognition\"\n", + "\n", + " CHECK_LABEL_GROUPS = [\n", + " # ({\"LOCATION\"}, {\"GPE\", \"LOC\"}),\n", + " # ({\"PERSON\", \"PER\"}, {\"PERSON\", \"PER\"}),\n", + " # ({\"DATE_TIME\"}, {\"DATE\", \"TIME\"}),\n", + " # ({\"NRP\"}, {\"NORP\"}),\n", + " # ({\"ORGANIZATION\"}, {\"ORG\"}),\n", + " # ()\n", + " ]\n", + " \n", + " \n", + "\n", + " \n", + "\n", + " def __init__(\n", + " self,\n", + " terms,entitie,\n", + " supported_language: str = \"en\",\n", + " supported_entities: Optional[List[str]] = None,\n", + " ner_strength: float = 0.85,\n", + " check_label_groups: Optional[Tuple[Set, Set]] = None,\n", + " context: Optional[List[str]] = None,\n", + " \n", + " \n", + " ):\n", + " self.terms=terms\n", + " self.ENTITIES=entitie\n", + " self.ner_strength = ner_strength\n", + " self.check_label_groups = (\n", + " check_label_groups if check_label_groups else self.CHECK_LABEL_GROUPS\n", + " )\n", + " supported_entities = supported_entities if supported_entities else self.ENTITIES\n", + " # print(\"=========\",supported_entities)\n", + " super().__init__(\n", + " supported_entities=supported_entities,\n", + " supported_language=supported_language,\n", + " context=context,\n", + " )\n", + "\n", + " def load(self) -> None: # noqa D102\n", + " # no need to load anything as the analyze method already receives\n", + " # preprocessed nlp artifacts\n", + " pass\n", + " \n", + " \n", + " def build_spacy_explanation(\n", + " self, original_score: float, explanation: str\n", + " ) -> AnalysisExplanation:\n", + " \"\"\"\n", + " Create explanation for why this result was detected.\n", + "\n", + " :param original_score: Score given by this recognizer\n", + " :param explanation: Explanation string\n", + " :return:\n", + " \"\"\"\n", + " explanation = AnalysisExplanation(\n", + " recognizer=self.__class__.__name__,\n", + " original_score=original_score,\n", + " textual_explanation=explanation,\n", + " )\n", + " return explanation\n", + " \n", + " def analyze(self, text, entities, nlp_artifacts=None): # noqa D102\n", + " \n", + " # print(\"=========\",self.supported_entities)\n", + " \n", + " # matcher = PhraseMatcher(nlp.vocab)\n", + " \n", + " # # Only run nlp.make_doc to speed things up\n", + " # patterns = [nlp.make_doc(text) for text in terms]\n", + " \n", + " # matcher.add(\"TerminologyList\", patterns)\n", + " # result = []\n", + " \n", + " matcher = PhraseMatcher(nlp.vocab)\n", + " \n", + " # Only run nlp.make_doc to speed things up\n", + " patterns = [nlp.make_doc(text) for text in self.terms]\n", + " \n", + " matcher.add(\"TerminologyList\", patterns)\n", + " \n", + " results = []\n", + " # result =[]\n", + " \n", + " doc = nlp(text)\n", + " doc1 = str(doc)\n", + " \n", + " matches = matcher(doc)\n", + " for match_id, start, end in matches:\n", + " span = doc[start:end]\n", + " \n", + " if doc1.find(str(span)):\n", + " doc1=doc1.replace(str(span.text),\"\")\n", + " # etype=copy.deepcopy(DataList.entity) \n", + " etype=self.ENTITIES \n", + " spacy_result = RecognizerResult(\n", + " \n", + " entity_type=etype[0],\n", + " start=span.start_char,\n", + " end=span.end_char,\n", + " score=self.ner_strength,\n", + " # analysis_explanation=explanation,\n", + " recognition_metadata={\n", + " RecognizerResult.RECOGNIZER_NAME_KEY: self.name,\n", + " RecognizerResult.RECOGNIZER_IDENTIFIER_KEY: self.id,\n", + " },\n", + " )\n", + " \n", + "\n", + " results.append(spacy_result)\n", + "\n", + " \n", + " \n", + "\n", + " return results\n", + "\n", + " @staticmethod\n", + " def __check_label(\n", + " entity: str, label: str, check_label_groups: Tuple[Set, Set]\n", + " ) -> bool:\n", + " return any(\n", + " [entity in egrp and label in lgrp for egrp, lgrp in check_label_groups]\n", + " )\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from presidio_analyzer import AnalyzerEngine, RecognizerRegistry\n", + "from presidio_anonymizer import AnonymizerEngine\n", + "\n", + "yaml_file = \"recognizers.yaml\"\n", + "registry = RecognizerRegistry()\n", + "registry.load_predefined_recognizers()\n", + "analyzer = AnalyzerEngine(registry=registry)\n", + "anonymize=AnonymizerEngine()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# DataList.entity.clear()\n", + "# DataList.resetData()\n", + "# DataList.entity.append(\"XX\")\n", + "# DataList.setData([\"alex\",\"amit\"])\n", + "r=(TESTR(terms=[\"alex\",\"amit\"],entitie=[\"XX\"]))\n", + "registry.add_recognizer(r)\n", + "# DataList.entity.clear()\n", + "# DataList.resetData()\n", + "# DataList.entity.append(\"YY\")\n", + "# DataList.setData([\"game\",\"race\"])\n", + "r1=(TESTR(terms=[\"game\",\"race\"],entitie=[\"YY\"]))\n", + "registry.add_recognizer(r1)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "txt=\"My name is alex and amit live in Pune play race game.\"\n", + "results = analyzer.analyze(\n", + " txt,\n", + " language=\"en\",\n", + " return_decision_process=True,\n", + " )\n", + "print(results)\n", + "\n", + "anonymize_text = anonymize.anonymize(text=txt,\n", + " operators={},\n", + " analyzer_results=results)\n", + "\n", + "anonymize_text\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from detectron2.utils.visualizer import Visualizer\n", + "from detectron2.data import MetadataCatalog\n", + "from detectron2.config import get_cfg\n", + "\n", + "# Replace \"TextDetectionModel\" with your chosen pre-trained model name from Detectron2 model zoo \n", + "cfg = get_cfg()\n", + "cfg.MODEL.ROI_HEADS.NAME = \"TextDetectionModel\"\n", + "\n", + "# Load model and weights (adjust paths as needed)\n", + "cfg.MODEL.WEIGHTS = \"path/to/model_weights.pth\"\n", + "predictor = Detectron2Demo(cfg)\n", + "\n", + "# Define function to extract text from video frames\n", + "def extract_text_from_video(video_path):\n", + " cap = cv2.VideoCapture(video_path)\n", + " text_list = []\n", + " while True:\n", + " ret, frame = cap.read()\n", + " if not ret:\n", + " break\n", + " \n", + " # Use Detectron2 predictor to get text detections\n", + " outputs = predictor(frame)\n", + " \n", + " # Extract text from detected regions (replace with your logic based on model outputs)\n", + " for text_obj in outputs[\"instances\"].pred_boxes:\n", + " x1, y1, x2, y2 = text_obj.intBounds()\n", + " text_region = frame[y1:y2, x1:x2]\n", + " # You might need to use OCR library like pytesseract to extract text from the region\n", + " extracted_text = \"your_ocr_function(text_region)\" # Replace with actual OCR logic\n", + " text_list.append(extracted_text)\n", + " \n", + " cap.release()\n", + " return text_list\n", + "\n", + "# Example usage\n", + "video_path = \"path/to/your/video.mp4\"\n", + "extracted_text = extract_text_from_video(video_path)\n", + "print(f\"Extracted text: {extracted_text}\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!pip install detectron2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import cv2\n", + "import pytesseract\n", + "\n", + "# Function to extract text from a single frame\n", + "def extract_text_from_frame(frame):\n", + " # Optional image processing (adjust as needed)\n", + " gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)\n", + " thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]\n", + " output_type = pytesseract.Output.DICT\n", + " s=pytesseract.image_to_data(frame, output_type=output_type)\n", + " s=\" \".join(s[\"text\"])\n", + " print(\"======\",s)\n", + " # Use OCR library (replace with your preferred OCR implementation)\n", + " text = pytesseract.image_to_string(thresh, config='--psm 6') # Adjust config for better results\n", + " return text\n", + "\n", + "# Open video and iterate through frames\n", + "cap = cv2.VideoCapture(r\"C:\\Users\\amitumamaheshwar.h\\Downloads\\piivdo 1.mp4\")\n", + "extracted_text = []\n", + "while True:\n", + " ret, frame = cap.read()\n", + " if not ret:\n", + " break\n", + "\n", + " text = extract_text_from_frame(frame)\n", + " \n", + " print(\"==\",text)\n", + " extracted_text.append(text)\n", + "\n", + "cap.release()\n", + "\n", + "# Print or process the extracted text\n", + "print(f\"Extracted text: {extracted_text}\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import cv2\n", + "import pytesseract\n", + "\n", + "def extract_text_with_bounding_boxes(image_path):\n", + " \"\"\"\n", + " Extracts text with bounding boxes from an image using TesseractOCR.\n", + "\n", + " Args:\n", + " image_path (str): Path to the image file.\n", + "\n", + " Returns:\n", + " list: List of dictionaries containing extracted text and bounding box coordinates.\n", + " \"\"\"\n", + " img = cv2.imread(image_path)\n", + "\n", + " # Convert to grayscale (optional, might improve OCR accuracy)\n", + " gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n", + "\n", + " # Apply image processing techniques (optional, adjust based on your image)\n", + " # thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1] # Example thresholding\n", + "\n", + " # Use Tesseract to detect text regions (config option for bounding boxes)\n", + " boxes = pytesseract.image_to_data(gray, config='--oem 1 --psm 6')\n", + "# print(boxes)\n", + " # Extract text and bounding box coordinates\n", + " extracted_data = []\n", + " for i, line in enumerate(boxes.splitlines()[1:]):\n", + " line=line.split('\\t')[6::]\n", + " # print(line)\n", + " if line[-2] != '-1':\n", + " # print(line)\n", + " x, y, w, h, conf, text = line\n", + " extracted_data.append({\n", + " 'text': text,\n", + " 'x': int(x),\n", + " 'y': int(y),\n", + " 'width': int(w),\n", + " 'height': int(h),\n", + " 'confidence': float(conf)\n", + " })\n", + "\n", + " return extracted_data\n", + "\n", + "# Example usage\n", + "image_path = r\"C:\\WORK\\GIT\\responsible-ai-admin\\responsible-ai-admin\\src\\rai_admin\\temp\\Karan (2).png\"\n", + "extracted_text = extract_text_with_bounding_boxes(image_path)\n", + "print(extracted_text)\n", + "# Print extracted text and bounding box data\n", + "for data in extracted_text:\n", + " print(f\"Text: {data['text']}, Confidence: {data['confidence']}\")\n", + " print(f\"Bounding Box: ({data['x']},{data['y']}), Width: {data['width']}, Height: {data['height']}\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!pip install moviepy" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import cv2\n", + "import pytesseract\n", + "from moviepy.editor import ImageClip\n", + "# Function to extract text from a single frame\n", + "def extract_text_from_frame(frame):\n", + " # Optional image processing (adjust as needed)\n", + " gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)\n", + " thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]\n", + "# output_type = pytesseract.Output.DICT\n", + "# s=pytesseract.image_to_data(frame, output_type=output_type)\n", + "# s=\" \".join(s[\"text\"])\n", + "# print(\"======\",s)\n", + " # Use OCR library (replace with your preferred OCR implementation)\n", + " # text=extract_text_with_bounding_boxes(frame)\n", + "# text = pytesseract.image_to_string(thresh, config='--psm 6') # Adjust config for better results\n", + "\n", + " boxes = pytesseract.image_to_data(thresh, config='--oem 1 --psm 6')\n", + "# print(boxes)\n", + " # Extract text and bounding box coordinates\n", + " extracted_data = []\n", + " for i, line in enumerate(boxes.splitlines()[1:]):\n", + " line=line.split('\\t')[6::]\n", + " # print(line)\n", + " if line[-2] != '-1':\n", + " # print(line)\n", + " x, y, w, h, conf, text = line\n", + " x = int(x)\n", + " y = int(y)\n", + " w = int(w)\n", + " h = int(h)\n", + " cv2.rectangle(frame, (x + 1, y + 1), (x + w - 1, y + h - 1), (0, 255, 0), -1) # Adjust padding for fill\n", + "\n", + " # extracted_data.append({\n", + " # 'text': text,\n", + " # 'x': int(x),\n", + " # 'y': int(y),\n", + " # 'width': int(w),\n", + " # 'height': int(h),\n", + " # 'confidence': float(conf)\n", + " # })\n", + " \n", + " \n", + " \n", + " return frame\n", + " # return extracted_data\n", + " # return text\n", + "\n", + "# Open video and iterate through frames\n", + "cap = cv2.VideoCapture(r\"C:\\Users\\amitumamaheshwar.h\\Downloads\\piivdo 1.mp4\")\n", + "extracted_text = []\n", + "processed_frames = []\n", + "while True:\n", + " ret, frame = cap.read()\n", + " if not ret:\n", + " break\n", + "\n", + " proc_frame = extract_text_from_frame(frame.copy())\n", + " processed_frames.append(proc_frame)\n", + "\n", + " \n", + " \n", + " # print(\"==\",text)\n", + " # extracted_text.append(text)\n", + "\n", + "\n", + "cap.release()\n", + "\n", + "\n", + "# Print or process the extracted text\n", + "# print(f\"Extracted text: {extracted_text}\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "len(processed_frames)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from moviepy.editor import *" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "clip = ImageClip(processed_frames).set_duration(5)\n", + "clip.write_videofile(\"test.mp4\", fps=24)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "clip = ImageClip.from_array(processed_frames, fps=25)\n", + "clip.write_videofile(\"output.mp4\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "height, width = processed_frames[0].shape[:2] # Get frame dimensions from the first frame\n", + "fourcc = cv2.VideoWriter_fourcc(*'XVID') # Adjust codec if needed\n", + "video = cv2.VideoWriter(\"test.mp4\", fourcc, 25, (width, height))\n", + "for frame in processed_frames:\n", + " video.write(frame)\n", + "video.release()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import base64\n", + "import io\n", + "from typing import Tuple\n", + "import cv2\n", + "from PIL import Image\n", + "from privacy.config.logger import request_id_var\n", + "request_id_var.set(\"aa\")\n", + "from privacy.service.service import PrivacyService,AttributeDict\n", + "import numpy as np\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import time\n", + "\n", + "\n", + "async def videoPrivacy(payload) -> Tuple[str, str]:\n", + " # upload_file = payload['video']\n", + " # video_data = await upload_file.read()\n", + " s=time.time()\n", + " temp_file_path = r\"C:\\Users\\amitumamaheshwar.h\\Downloads\\piivdo 1.mp4\"\n", + " output_file_path = \"output.mp4\"\n", + "\n", + " # with open(temp_file_path, \"wb\") as temp_file:\n", + " # temp_file.write(video_data)\n", + "\n", + " video = cv2.VideoCapture(temp_file_path)\n", + "\n", + " # Get video properties\n", + " width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))\n", + " height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))\n", + " fps = video.get(cv2.CAP_PROP_FPS)\n", + "\n", + " # Define the codec and create a VideoWriter object\n", + " fourcc = cv2.VideoWriter_fourcc(*'XVID')\n", + " out = cv2.VideoWriter(output_file_path, fourcc, fps, (width, height))\n", + " \n", + " while(video.isOpened()):\n", + " ret, frame = video.read()\n", + " print(ret)\n", + " if ret==True:\n", + " # Convert the frame to PIL Image\n", + " # base64.b64encode(frame).decode()\n", + " # Image.open(base64.b64encode(frame).decode())\n", + " # print(type(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)))\n", + " imagef = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))\n", + " imagef.save(\"test.jpg\")\n", + " # image=open(\"test.jpg\",\"rb\")\n", + " print(type(imagef))\n", + " image={\"file\":\"test.jpg\"}\n", + " image=AttributeDict(image)\n", + " # ocr=None\n", + " # global imageAnalyzerEngine\n", + "\n", + " # imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) \n", + " # imageRedactorEngine = ImageRedactorEngine(image_analyzer_engine=imageAnalyzerEngine)\n", + " # redacted_image = imageRedactorEngine.redact(image, (255, 192, 203))\n", + " payload={\"easyocr\":\"Tesseract\",\"mag_ratio\":False,\"rotationFlag\":False,\"image\":image,\"portfolio\":None,\"account\":None,\"exclusion\":None}\n", + " \n", + " redacted_image=PrivacyService.image_anonymize(payload)\n", + " decoded_bytes = base64.b64decode(redacted_image)\n", + "\n", + " # Create a BytesIO object to simulate a file-like object\n", + " bio = io.BytesIO(decoded_bytes)\n", + "\n", + " # Use OpenCV (assuming it's an image) or other libraries to load the image from the BytesIO object\n", + " img = cv2.imdecode(np.fromstring(bio.getvalue(), np.uint8), cv2.IMREAD_COLOR)\n", + "\n", + " # Convert the PIL Image back to OpenCV frame\n", + " frame = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)\n", + "\n", + " # Write the frame into the file 'output.avi'\n", + " out.write(frame)\n", + "\n", + " else:\n", + " break\n", + "\n", + " # Release everything when job is finished\n", + " video.release()\n", + " out.release()\n", + "\n", + " # Remove temporary file\n", + " # os.remove(temp_file_path)\n", + "\n", + " # Read the processed video file\n", + " # with open(output_file_path, \"rb\") as video_file:\n", + " # video_data = video_file.read()\n", + "\n", + " # # Convert the video to base64\n", + " # video_str = base64.b64encode(video_data).decode()\n", + "\n", + " # Remove the output file\n", + " # os.remove(output_file_path)\n", + " print(\"====\",time.time()-s)\n", + " return \"video_str\"\n", + "\n", + "s=await videoPrivacy({})\n", + "print(s)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import asyncio\n", + "import cv2\n", + "from PIL import Image\n", + "import base64\n", + "import io\n", + "from concurrent.futures import ThreadPoolExecutor\n", + "\n", + "async def video_privacy_parallel(payload) -> Tuple[str, str]:\n", + " \"\"\"\n", + " Processes a video, anonymizes frames in parallel using PrivacyService,\n", + " and returns a tuple containing the output video and processing time.\n", + "\n", + " Args:\n", + " payload (dict): The input payload for the video processing function.\n", + "\n", + " Returns:\n", + " Tuple[str, str]: A tuple containing the anonymized video as a base64\n", + " encoded string and the processing time in seconds.\n", + " \"\"\"\n", + "\n", + " start_time = time.time()\n", + "\n", + " temp_file_path = \"piivdo 1.mp4\" # Replace with your actual video path\n", + " output_file_path = \"output.mp4\"\n", + "\n", + " cap = cv2.VideoCapture(temp_file_path)\n", + "\n", + " if not cap.isOpened():\n", + " print(\"Error: Could not open video file.\")\n", + " return \"\", time.time() - start_time\n", + "\n", + " width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))\n", + " height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))\n", + " fps = cap.get(cv2.CAP_PROP_FPS)\n", + " fourcc = cv2.VideoWriter_fourcc(*'XVID')\n", + " out = cv2.VideoWriter(output_file_path, fourcc, fps, (width, height))\n", + "\n", + " async def process_frame(frame):\n", + " \"\"\"\n", + " Processes a single video frame.\n", + "\n", + " Args:\n", + " frame (numpy.ndarray): The frame to be processed.\n", + "\n", + " Returns:\n", + " bytes: The anonymized frame data as bytes.\n", + " \"\"\"\n", + "\n", + " imagef = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))\n", + " imagef.save(\"test.jpg\")\n", + "\n", + " image = {\"file\": \"test.jpg\"}\n", + " image = AttributeDict(image)\n", + "\n", + " try:\n", + " redacted_image_bytes = await PrivacyService.image_anonymize(payload, image)\n", + " except Exception as e:\n", + " print(f\"Error anonymizing frame: {e}\")\n", + " return None\n", + "\n", + " decoded_bytes = base64.b64decode(redacted_image_bytes)\n", + " bio = io.BytesIO(decoded_bytes)\n", + " img = cv2.imdecode(np.fromstring(bio.getvalue(), np.uint8), cv2.IMREAD_COLOR)\n", + " frame = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)\n", + "\n", + " return frame\n", + "\n", + " async def main_loop():\n", + " \"\"\"\n", + " Processes frames in a loop, using a thread pool for parallelization.\n", + " \"\"\"\n", + "\n", + " tasks = []\n", + " with ThreadPoolExecutor(max_workers=4) as executor: # Adjust max_workers as needed\n", + " while True:\n", + " ret, frame = cap.read()\n", + " if not ret:\n", + " break\n", + "\n", + " task = executor.submit(process_frame, frame.copy())\n", + " tasks.append(task)\n", + "\n", + " processed_frames = []\n", + " for task in tasks:\n", + " try:\n", + " processed_frame = await task\n", + " if processed_frame is not None:\n", + " processed_frames.append(processed_frame)\n", + " except Exception as e:\n", + " print(f\"Error processing frame: {e}\")\n", + "\n", + " for frame in processed_frames:\n", + " out.write(frame)\n", + "\n", + " await main_loop()\n", + "\n", + " cap.release()\n", + " out.release()\n", + " # Remove temporary files (if needed)\n", + "\n", + " processing_time = time.time() - start_time\n", + " print(f\"Processing time: {processing_time:.2f} seconds\")\n", + "\n", + " # Read the processed video file and convert to base64 if needed\n", + " # ...\n", + "\n", + " return \"video_str\", processing_time\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Neither CUDA nor MPS are available - defaulting to CPU. Note: This module is much faster with a GPU.\n" + ] + } + ], + "source": [ + "import base64\n", + "import io\n", + "from typing import Tuple\n", + "import cv2\n", + "from PIL import Image\n", + "from privacy.config.logger import request_id_var\n", + "request_id_var.set(\"aa\")\n", + "from privacy.service.service import PrivacyService,AttributeDict\n", + "import numpy as np\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "samp 9\n", + "totalFrame: 117\n", + "after sampling 13\n", + "Entering in image_anonymize function\n", + "Entering in image_anonymize function\n", + "remaining: 6 / 13\n", + "Time taken to duplicate image: Entering in image_anonymize function\n", + " 0.01303410530090332\n", + "Time taken to parse ocr kwargs: 0.0\n", + "Entering in image_anonymize function\n", + "Time taken to duplicate image: 0.022548913955688477\n", + "Time taken to parse ocr kwargs: 0.0\n", + "Entering in image_anonymize function\n", + "Entering in image_anonymize function\n", + "Time taken to duplicate image: Time taken to duplicate image: 0.01099252700805664\n", + "Time taken to parse ocr kwargs: 0.0\n", + "Time taken to duplicate image: 0.008993864059448242\n", + "Time taken to parse ocr kwargs: 0.0\n", + " 0.019997358322143555\n", + "Time taken to parse ocr kwargs: 0.0\n", + "Time taken to duplicate image: 0.0069980621337890625\n", + "Time taken to parse ocr kwargs: 0.0\n", + "Time taken to perform ocr: 1.9020135402679443\n", + "Time taken to threshold ocr result: 0.0010013580322265625\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.cO2@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.0\n", + "Time taken to perform ocr: 1.8870036602020264\n", + "Time taken to threshold ocr result: 0.0\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.c02@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.0\n", + "Time taken to perform ocr: 1.9049980640411377\n", + "Time taken to threshold ocr result: 0.0\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.cO2@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.0\n", + "Time taken to perform ocr: 1.9230256080627441\n", + "Time taken to threshold ocr result: 0.0\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.cO2@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.000989675521850586\n", + "Time taken to perform ocr: 1.9470298290252686\n", + "Time taken to threshold ocr result: 0.0\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.cO2@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.0\n", + "Time taken to perform ocr: 1.971557378768921\n", + "Time taken to threshold ocr result: 0.0\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.cO2@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.0\n", + "Time taken to analyze text: 0.23116564750671387\n", + "Time taken to map analyzer results to bounding boxes: 0.005988597869873047\n", + "Time taken to analyze image: 2.1241579055786133\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Time taken to analyze text: 0.2351548671722412\n", + "Time taken to map analyzer results to bounding boxes: 0.0\n", + "Time taken to analyze image: 2.140152931213379\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Returning from image_anonymize function\n", + "Returning from image_anonymize function\n", + "Time taken to analyze text: 0.39892077445983887\n", + "Time taken to map analyzer results to bounding boxes: 0.0010018348693847656\n", + "Time taken to analyze image: 2.310929298400879\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Time taken to analyze text: 0.3519287109375\n", + "Time taken to map analyzer results to bounding boxes: 0.0\n", + "Time taken to analyze image: 2.2759439945220947\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Time taken to analyze text: 0.34737491607666016\n", + "Time taken to map analyzer results to bounding boxes: 0.0\n", + "Time taken to analyze image: 2.3199360370635986\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Returning from image_anonymize function\n", + "Returning from image_anonymize function\n", + "Time taken to analyze text: 0.38391971588134766\n", + "Time taken to map analyzer results to bounding boxes: 0.000997304916381836\n", + "Time taken to analyze image: 2.331946849822998\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Returning from image_anonymize function\n", + "Returning from image_anonymize function\n", + "Entering in image_anonymize function\n", + "Entering in image_anonymize function\n", + "Entering in image_anonymize function\n", + "remaining: 12 / 13\n", + "Time taken to duplicate image: 0.013000965118408203\n", + "Time taken to parse ocr kwargs: 0.0\n", + "Entering in image_anonymize function\n", + "Entering in image_anonymize function\n", + "Time taken to duplicate image: 0.013574600219726562\n", + "Time taken to parse ocr kwargs: 0.0\n", + "Time taken to duplicate image: 0.012556791305541992\n", + "Time taken to parse ocr kwargs: 0.0\n", + "Entering in image_anonymize function\n", + "Time taken to duplicate image: 0.003995180130004883\n", + "Time taken to parse ocr kwargs: 0.0\n", + "Time taken to duplicate image: 0.003995180130004883\n", + "Time taken to parse ocr kwargs: 0.0\n", + "Time taken to duplicate image: 0.00799870491027832\n", + "Time taken to parse ocr kwargs: 0.0\n", + "Time taken to perform ocr: 1.925011157989502\n", + "Time taken to threshold ocr result: 0.0\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.cO2@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.0\n", + "Time taken to analyze text: 0.12255573272705078\n", + "Time taken to map analyzer results to bounding boxes: 0.0\n", + "Time taken to analyze image: 2.0475668907165527\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Time taken to perform ocr: 2.081622362136841\n", + "Time taken to threshold ocr result: 0.0\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.cO2@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.0\n", + "Returning from image_anonymize function\n", + "Time taken to analyze text: 0.15117764472961426\n", + "Time taken to map analyzer results to bounding boxes: 0.0020067691802978516\n", + "Time taken to analyze image: 2.234806776046753\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Time taken to perform ocr: 2.280395030975342\n", + "Time taken to threshold ocr result: 0.0\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.cO2@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.0\n", + "Returning from image_anonymize function\n", + "Time taken to perform ocr: 2.340979814529419\n", + "Time taken to threshold ocr result: 0.0\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.cO2@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.0\n", + "Time taken to perform ocr: 2.366431713104248\n", + "Time taken to threshold ocr result: 0.0\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.cO2@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.0\n", + "Time taken to analyze text: 0.16561484336853027\n", + "Time taken to map analyzer results to bounding boxes: 0.0010027885437011719\n", + "Time taken to analyze image: 2.4480113983154297\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Time taken to perform ocr: 2.478013277053833\n", + "Time taken to threshold ocr result: 0.0\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.cO2@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.0\n", + "Returning from image_anonymize function\n", + "Time taken to analyze text: 0.22170615196228027\n", + "Time taken to map analyzer results to bounding boxes: 0.0009951591491699219\n", + "Time taken to analyze image: 2.5901355743408203\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Time taken to analyze text: 0.31073760986328125\n", + "Time taken to map analyzer results to bounding boxes: 0.0\n", + "Time taken to analyze image: 2.6517174243927\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Returning from image_anonymize function\n", + "Time taken to analyze text: 0.22667837142944336\n", + "Time taken to map analyzer results to bounding boxes: 0.0009975433349609375\n", + "Time taken to analyze image: 2.7056891918182373\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Returning from image_anonymize function\n", + "Returning from image_anonymize function\n", + "remaining: 13 / 13\n", + "Entering in image_anonymize function\n", + "Time taken to duplicate image: 0.004000663757324219\n", + "Time taken to parse ocr kwargs: 0.0\n", + "Time taken to perform ocr: 1.4694664478302002\n", + "Time taken to threshold ocr result: 0.001005411148071289\n", + " Phone : 9159236847 E-mail : krishna@gmail.com Teams-Id: Krishnakumar.cO2@infosys.com Aadhar : 7629 5476 3472 5008 Welcome to the team O-\n", + "Time taken to get text from ocr dict: 0.0\n", + "Time taken to analyze text: 0.0729987621307373\n", + "Time taken to map analyzer results to bounding boxes: 0.0\n", + "Time taken to analyze image: 1.54447340965271\n", + "Time taken to draw rectangle: 0.0\n", + "Time taken to redact image: 0.0\n", + "Returning from image_anonymize function\n", + "==== 7.518835544586182\n", + "AAAAHGZ0eXBpc29tAAACAGlzb21pc28ybXA0MQAAAAhmcmVlAAPM821kYXQAAAGzABAHAAABthBgsYNVtyRtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfI22/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+lvSWrRe0Z2vFcBRAH3xaDFivhLMnwYEbdLQfKgB/iNjH/vsbfN+338pX7ZZcpLhlT422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+wrggJL5MwrVKAYciOl0uHzf/Z+D5pjBynS5mjfVCkWItNjwvT75MOhJEffDcSYIbeD8N1bSZSWBZABie0fJtYyq0oBydtkESTv2xKH+DhOIAc/9uqSwHx4AcyqEbGC/EohAGiQ1haBiJ2a0X4pBgKNpt8VgQC/7QEcSGR/icffUpRJH3mi8dJyyRWPx0zSwPlYc6q3ND0NgVItDYlHRePLkSsaqv5bk/zvHF2S8fKv/Hqv4/wSWvUefCAH7ZYW5qkC6kHg4B0RQNAwJFJUrI/Z1Wr0t/+9JISZBEMfGabfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/QGhhltV+Nsf1pvBtuXlc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bb+Ntv422/kSYb1U20z68+1uN5QVOapMV8dgok6sGUpx8JcS7Ry2ka+qBuNto73dBl1DegwJKoYvhGh2X/EsvVl7Y3Z3vIiyZFGYDvezDBpv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv4bSYb1U20z5b7H/N5Q3yqTDV+S9HYKJOrBlKcfCWCLtHLaRr6oG422hU7oMuob0GBJsdl/xLL1Ze2trO95EWTMUZgO97MMBifxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfvAAABtlDwM///////////////////qa7TPI4cGGMTf//////6XGARhinhaEYWlqepgq///////2cbnwWzeJ////08HGdmIuEQOFIOEAWMa1LF4NVNaFq9Gi1LF4NVtaFq9GjGtSxeDVTWhavRotSxeDVbWhavRoxrUsXg1U1oWr0aLUsXg1W1oWr0aMa1LF4NVNaFq9Gi1LF4NVtaFq9GjGtSxeDVTWhavRotSxeDVbWhavRoxrUsXg1U1oWr0aLUsXg1W1oWr0aMa1LF4NUfnU9t5CcqBzRoOjimDioUY1BBo0Y1qWLwaqa0LV6NFqWLwara0LV6NGNali8GqmtC1ejRali8Gq2tC1ejRjWpYvBqprQtXo0WpYvBqtrQtXo0Y1qWLwaqa0LV6NFqWLwara0LV6NGNali8GqmtC1ejRali8Gq2tC1ejRjWpYvBqprQtXo0WpYvBqtrQtXo0RedT23kJ1qWLwahqHQuR4OMB0cBwv9faDQOBg0GocDD/+1hiiwciR4sycBzaAwDkAeUlTwcOE3YQiwZBqC3TxwDk5ICI2ORmHPUBKWDFJg6DgVjQLRB5WuVNck4QB0AgQmTwvBai8FqLwWorwcFgLUVYOD0nBaivBwK06C1FWgaKesjAN3//6+HQJzQahyMPXw7BOaDQOBh//+1g5NHi8OHC8OHC8OHC8OHC8OHC8OHCrDkpeww7//XwR8DkYB/gJ3r7PCpgOBYHYJ3/2sPCdTDkO7WOjIHBuYT1gcVtwlEAHFuPByw5FzKIZJ4OGwrBwcCkHB6WEgOC1Fh0DuDUag4QShwi4L4rrepTxYiBFf2xq4b8XhTi8KcVY4THGWSf/9faWR1YOyw40uiqwdlhz19pDzgKwy0g7wFYZ//8VY2BFSilITdbcpucLxn4q0GCAtsKjha0T//sbVKugrRl7G1CrgKwZ//////+3tLp+grWSD29pdPwFYyQf/////+vtLJugrWSBpdP0FayQevtLJuArGSBpdPwFYyQf2sHChFg4FacEBwODFPBzY4GoXA4ERc6DguR6Nc8Vg46EaPBweGAcgDo+Dg3MJMLhBPA4KUPKEiw3wnBFLAo//+KvkSSckJm63X/7G1SroK0ZdbGimDgmLSH/+KsHJbCdPq2DX//4qyhjSEW/1stIEe0DhufDo6Dhd6H6hJw7BO//////7WwLl8HCsEfAv9fBXBwMAV4cDD/4v3lruJMFoDguQL8SHFMP0wCgcUjFbB7mADtOsYOKBsSqbQ5hODg8HLlMOAcgNA4VrYcNgtFNIQA4EQlUxyG4d6fByAwpg4NyIHAjDNTBwWiAUESmCICuGiMHJEpEpogdwoIjzGHiEHNv/+vh0Cc0GocjD2NqFXAVgz/+L97a/i9Cv1KdZwcZBwIr2cFoDhMzg4O+8GYOFDeH/Qd0kZwcGouBwIiCuZ2QdwPiQHBM1jcbArDzOWg4iBwrZwcKQV4JzOyCMHBAlZBw3MM4LYHBa3g4TN4OwBn/19jhWyHIsDoE729obJg6LTn//////r7SDnQVplpD3oK0z6+1CrgKwZtUr4CsGf/9bK0gLhTRgrgHBYxg4EQnWwcJmMHB0KGPUCd62DjLGDg/ghOUwcIQXh+DuaSKYOENGcYBbqYOCgEYJlMcshQDhYpg4PjQOKSqsHv/9japV0FaMvY2oVcBWDP/+1g4YM6IF6H4ejcwzgJBwbIuuZ04OwLAcQt4OGTeDhk1g4hbwcCKy+zg4YFgKxKSM4OGwnZBxtv4eZwcCITg4Lv/9vaXT9BWskHt7Q2TB0WnP//////X2lk3QVrJA0un6CtZIOtg4wj2oVcBWDMEYNBcD20AGaUwcJs611YF+p7wHByTA4TKbLXVgclJ2G+Lg5KTKYOE2da6sC/U94Dg5JgcJlNlrqwOSk7DfFwclJlMHCbOtdWBfqe8BwckwOEymy11YHJSdhvi4OSkymDhNnWurAv1PeA4OSYHCZTZa6sDkpOw3xcHJSZTBwmzrXVgX6nvAcHJMDhMpstdWByUnYb4uDkpMpg4TZ1rqwL9T3gODkmBwmU2WurA5KTsN8XByUmUwcJs611YF+ph8C+BwzUwcQbwHByTKYOE2da6sC/U94Dg5JgcJlNlrqwOSk7DfFwclJlMHCbOtdWBfqe8BwckwOEymy11YHJSdhvi4OSkymDhNnWurAv1PeA4OSYHCZTZa6sDkpOw3xcHJSZTBwmzrXVgX6nvAcHJMDhMpstdWByUnYb4uDkpMpg4TZ1rqwL9T3gODkmBwmU2WurA5KTsN8XByUmUwcJs611YF+p7wHByTA4TKbLXVgclJ2G+Lg5KTKYOEwODH2sE9nJEKMn///t4RN5UJv//2tCKmcqDEsCj///////9/AAABtlFgM///////////////////sYVf//////////////////9rRnP//9jBxj//////1sbA47tYOJv2sMP/////////281//7WNOxhWLws/////////2sMP/2MIvYwj/////////////////bz9vBxF//+1h0a/2MIv//2sY////////////DDB1adi8RxecIH5P///7GMf9jBwq//9jCP////bwcGFvBwt//////////18Iwi//2MHEfrYOFlbBwY///sYRexhH//t4OM9vBwYf///////////t4R///////7WDjP//////////////78AAAG2UfAz////////////////////////////////////////////////////////////////sZ3/////////////////////////////////////////////////4YYOrTsXiOLzhA/J/////////////////////////////////////////////////////////////////////38AAAG2UmAz//////////////////////////////////////////////////////////////////////////////////////////////////////////////////hhg6tOxeI4vOED8n/////////////////////////////////////////////////////////////////////fAAABtlLwM//////////////////////////////////////////////////////////////////////////////////////////////////////////////////4YYOrTsXiOLzhA/J/////////////////////////////////////////////////////////////////////3wAAAbZTYDP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////+GGDq07F4ji84QPyf////////////////////////////////////////////////////////////////////98AAAG2U/Az//////////////////////////////////////////////////////////////////////////////////////////////////////////////////hhg6tOxeI4vOED8n/////////////////////////////////////////////////////////////////////fAAABtlRgM//////////////////////////////////////////////////////////////////////////////////////////////////////////////////4YYOrTsXiOLzhA/J/////////////////////////////////////////////////////////////////////3wAAAbZU8DP//////////////////////////pMLioHz//sao9sQgfh/+w8BcCb///////a4SN4v///+toRwFrGD00AOORmxtasmgGWweU/+wY8prp06+A+t/8rp0y+A+t/8rbQhgZbLAfLgB2NrVk0Ay2Dyn/2DHlNdOnXwH1v/ldOmXwH1v/lbaEMDLZYD5cAOxtasmgGWweU/+wY8prp06+A+t/8rp0y+A+t/8rbQhgZbLAfLgB2NrVk0Ay2Dyn/2DHlNdOnXwH1v/ldOmXwH1v/lbaEMDLZYD5cAOxtasmgGWweU/+wY8prp06+A+t/8rp0y+A+t/8rbQhgZbLAfLgB2NrVk0Ay2Dyn/2DHlNdOnXwH1v/ldOmXwH1v/lbaEMDLZYD5cAOxtasmgGWweU/+wY8j+jAHIS0rOg/NAEo8IhyGgMhHjZG0IYGWwfWgB2NrVk0Ay2Dyn/2DHlNdOnXwH1v/ldOmXwH1v/lbaEMDLZYD5cAOxtasmgGWweU/+wY8prp06+A+t/8rp0y+A+t/8rbQhgZbLAfLgB2NrVk0Ay2Dyn/2DHlNdOnXwH1v/ldOmXwH1v/lbaEMDLZYD5cAOxtasmgGWweU/+wY8prp06+A+t/8rp0y+A+t/8rbQhgZbLAfLgB2NrVk0Ay2Dyn/2DHlNdOnXwH1v/ldOmXwH1v/lbaEMDLZYD5cAOxtasmgGWweU/+wY8prp06+A+t/8rp0y+A+t/8rbQhgZbLAfLgB0X0YNasmgGWweU/+wY8IIt+v8wRFwIgYB9OAJ7oiroQM4D6P/z//o9ED6n/2ZEDgMEaXFQTihTEIHkIAcLNB5//9Bho3g4p+YQ8HB3jkYMA3t4PbQAZI1g4U//+x80RFgIgYB9P/59j5giLgRAwD6cAT//////7ehBgp9vLQ/QiMY//Xwf1//SRHokaBEPdB8mAHKxsD6f/2GwLFJlAgAwe6dCwHpv/0TpcHDhkGIA8LQfLgB2lhkIuC6RBSDkBKM//F5D/+vjlqxhodA8l/7qjQfSMtDsHkv/dWb9f2aWsduFCQDqoFKd24Ws9mlCQDqsFKd////4qy0EcB4OPf/r4dAnB8WDoQwOm/Xw7BOD8tHQhAdNf/////+vsB2DEodAnevsh0DEodgnf/////+vsh0DEjAdgxL6+wHYMSMh0DEv9rBZIvBD1DkXBhn0GDYMihICOuCpNp4fnwt6DllgfU/+wcMUPG/SOA/bAEt5Kng4WJg7gi+BhsL0gh4JmAcL29sHroAXh3//4vKzX+vh0CcHxYOhDA6b9fDsE4HDH//////rY1X0LZaDB8lNC3tYJbWvtS9M//////8MMHVpbL2LWLzhA/Ivg9XADjgnBgTfX0AMGxZ8MUIMG5b8Mf//Uw1GAfA7ugfOVMBwOFGtoSoAhbBhCEI6xsCjUwei//RkDowmB8iAJUwYImAeggBQp//Y+aIiwEQMA+n/8+vh2CcH5aOhCA6a//9nFwOXBJbymB4DJDjOH2wHm4AsFOSAwCtnHHQYPmxeDkQSteJA3Ag0+zguQ2Bes/U4MFmAwWt6wMGDOUjgHmoAciBgV4ghi3hV/9vLQ+QCOZ9fD9M3ggA3QCg7BO//////9fyYWMdmlCUDqsFIdy6WM9uFCUDqoFId9fDgGGQcgwz//1sEUE+tsh2CqGljRg5MSMZURrZURsYgAUKOAb4eUwfkgBwciFC2ViljC5jBg2Gv/+vh0CcHxYOhDA6b9fDsE4Py0dCEB01//t4PRf/Ynb3WcQALgQKTQgwGDiClnBw4bLzAORA+L/9tYMCODAqmxk3itnBxCizoPN//YPmf/LOVAyCgUZB9CAL4uDAtWcOQVRZq2VjgPg/+6AGDVEpKzLeulBg6ChnB+r/7ZEMH3oAn//X2A7BiUOgTvXw/TN4IAN0AoOwTv//////X2Q6BiRgOwYl9Hh+WjoQgOmhiESmHgMA9ZED0v/vxymt1YpB5j/7OB4DAPUz55TDwGAesiB6X/345TW6sUg8x/9nA8BgHqZ88ph4DAPWRA9L/78cprdWKQeY/+zgeAwD1M+eUw8BgHrIgel/9+OU1urFIPMf/ZwPAYB6mfPKYeAwD1kQPS/+/HKa3VikHmP/s4HgMA9TPnlMPAYB6yIHpf/fjlNbqxSDzH/2cDwGAepnzymHgMA9ZED0v/vxymEwMAtT6z1GDyMAOPII3Di3VikHmP/s4ph4DAPWRA9L/78cprdWKQeY/+zgeAwD1M+eUw8BgHrIgel/9+OU1urFIPMf/ZwPAYB6mfPKYeAwD1kQPS/+/HKa3VikHmP/s4HgMA9TPnlMPAYB6yIHpf/fjlNbqxSDzH/2cDwGAepnzymHgMA9ZED0v/vxymt1YpB5j/7OB4DAPUz55TDwGAesiB6X/345TW6sUg8x/9nA8BgHqZ88xh4DAPR4dAnA4pBixkFDTZB7WDj///9vg5BgFf//////////9wAAAbZVYDP///////////////////////////////////////////////////////////////7eDiL////Y2CD////////////////////////+1jX////////////////////t4WevhiGP//rYOOf//////+3gP//////////////////////+zisHGrWFm1glf//////////9bBw01sHDTWwcNNbBw01sHDTWwcNNbBw01sHDTWwcNNbBw01sHDTWwcNNbBw07GFn///////////////vAAABtlXwM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbMAEAcAAAG2FmBxg6m3JG238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt8jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv6W5mbtmSW7bySTtrxNgMEIGS6wIMAMH6iINnsZB4mAP/8PwfKgC/iNjZlhlI3qpOx9Uy1efYb9ub7QVPhar8bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/YTgYdCVqoeJB+PiyAggoRLZEIIStWx5nBCSJGgNjsSWvNgXbHBaAwumSgeEcS21Q6AOBDBD+qAuCHAUqdoQ6Hoej9MPByIA4B3TyQMPh3fhCEptI1o/EkGLhLSl9ErMUspQDBD8BodgiAxtlU38ciAD48AWbHgKJpIIbQlgogYeghJvCCDknh2X/TCO0OQeEgFU48bYD0GDhOQfZYFCCEPwhtDsITJaJIIYQmEwjgeHYgeg9EMDiX44BVD0GNtjxvzYK0Hjf/UAsO4kgcEcD2tYJJd8u1mbvsZUKbgsKpRHCEPlasD5erCG0CCkY0DzIMxR+nEAQffLQYOxyDwcBiDIQZQDB0TWJIjl4Qy9sej1scq2avREkDj2AU9EECP4zrb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv6A5JC9OPFfkpcz9MravfNtVRpgKzQMJIh/CEPRHbSAeViSmEkQkjQ7bCEqBFLB6mAPZbo59wPS0eAFLD5UDwcB2EMHh/9cFEDxcAuD4H+L8IOA7HY/EMvbHo7Z1OlZvW29EURMBINGn8bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/O0lSZkvVtJkzWtq1f8aYa8N9/8OscxWDCQJaQQgb4Qh+P6oTNNs+/+omgNpGU3mweIgDfsiCJvsQaDAgBDD1podghJRJazd+BxMI+fEPBwBfwfDgcDlpCD4X/qGOzi1WsvLKQEBCBhKA6IQB6YD49SlzAHh8X4O9BDBlKrWE7DXxyHgGQ/HI7BkUEFhG2v0hFAQwPjwfiOJJf4DwlCAlL9Z8W/CHP3AVf0pb8sEcGRj32xUXgwiTFy6DxWD4X/r9PZqj1IgA8JUDxPnZ8IfZqv5a19cSQ7HgMNkiAPgcCng7Vg+F/6sGLS4tUg4EAQlAgjkcDkA8sLA+EADQPB/7YgiAOQcPwZGBsDawfgpgfCgD/pbcHqZboHhK6WJpbfhD7am0t/9YRw7HYMNkqCQHApoOlYPhf+ro9TL8A8JXSxPJZ8IfZU+lvvriOHY6BhskQWA4FPB2rB8L/1+ltgxaXFqkHAgCEoEEcjgcgHlhYHwgAaB4P/bEEQByDh+DIw/A2DAVBTA+FAHvB6XcnQgCQHSadvwh9uqvjn7awjgXHoMiSolQfA4FNg6Tg+F/6/S26PUiADwlQPE+dnwh9mq/lrX1xJDseAw2SIA+BwKeDtWD4X/qwYtLi1SDgQBCUCCORwOQDywsD4QANA8H/tiCIA5Bw/BkYGwNrB+CmB8KAP+ltweplugeErpYmlt+EPtqbS3/1hHDsdgw2SoJAcCmg6Vg+F/6uj1MvwDwldLE8lnwh9lT6W++uI4djoGGyRBYDgU8HasHwv/X6W2DFpcWqQcCAISgQRyOByAeWFgfCABoHg/9sQRAHIOH4MjD8DYMBUFMD4UAe8HpdydCAJAdJp2/CH26q+OftrCOBcegyJKiVB8DgU2DpOD4X/r9Lbo9SIAPCVA8T52fCH2ar+WtfXEkOx4DDZIgD4HAp4O1YPhf+rBi0uLVIOBAEJQII5HA5APLCwPhAA0Dwf+2IIgDkHD8GRgbA2sH4KYHwoA/6W3B6mW6B4SuliaW34Q+2ptLf/WEcOx2DDZKgkBwKaDpWD4X/q6PUy/APCV0sTyWfCH2VPpb764jh2OgYbJEFgOBTwdqwfC/9fpbYMWlxapBwIAhKBBHI4HIB5YWB8IAGgeD/2xBEAcg4fgyMPwNgwFQUwPhQB7wel3J0IAkB0mnb8Ifbqr45+2sI4Fx6DIkqJUHwOBTYOk4Phf+v0tuj1IgA8JUDxPnZ8IfZqv5a19cSQ7HgMNkiAPgcCng7Vg+F/6sGLS4tUg4EAQlAgjkcDkA8sLA+EADQPB/7YgiAOQcPwZGBsDawfgpgfCgD/pbcHqZboHhK6WJpbfhD7am0t/9YRw7HYMNkqCQHApoOlYPhf+ro9TL8A8JXSxPJZ8IfZU+lvvriOHY6BhskQWA4FPB2rB8L/1+ltgxaXFqkHAgCEoEEcjgcgHlhYHwgAaB4P/bEEQByDh+DIw/A2DAVBTA+FAHvB6XcnQgCQHSadvwh9uqvjn7awjgXHoMiSolQfA4FNg6Tg+F/6/S26PUiADwlQPE+dnwh9mq/lrX1xJDseAw2SIA+BwKeDtWD4X/qwYtLi1SDgQBCUCCORwOQDywsD4QANA8H/tiCIA5Bw/BkYGwNrB+CmB8KAP+ltweplugeErpYmlt+EPtqbS3/1hHDsdgw2SoJAcCmg6Vg+F/6uj1MvwDwldLE8lnwh9lT6W++uI4djoGGyRBYDgU8HasHwv/X6W2DFpcWqQcCAISgQRyOByAeWFgfCABoHg/9sQRAHIOH4MjD8DYMBUFMD4UAe8HpdydCAJAdJp2/CH26q+OftrCOBcegyJKiVB8DgU2DpOD4X/r9Lbo9SIAPCVA8T52fCH2ar+WtfXEkOx4DDZIgD4HAp4O1YPhf+rBi0uLVIOBAEJQII5HA5APLCwPhAA0Dwf+2IIgDkHD8GRgbA2sH4KYHwoA/6W3B6mW6B4SuliaW34Q+2ptLf/WEcOx2DDZKgkBwKaDpWD4X/q6PUy/APCV0sTyWfCH2VPpb764jh2OgYbJEFgOBTwdqwfC/9fpbYMWlxapBwIAhKBBHI4HIB5YWB8IAGgeD/2xBEAcg4fgyMPwNgwFQUwPhQB7wel3J0IAkB0mnb8Ifbqr45+2sI4Fx6DIkqJUHwOBTYOk4Phf+v0tuj1IgA8JUDxPnZ8IfZqv5a19cSQ7HgMNkiAPgcCng7Vg+F/6sGLS4tUg4EAQlAgjkcDkA8sLA+EADQPB/7YgiAOQcPwZGBsDawfgpgfCgD/vSW3kX6tOEIgVAwlCXgQE4hNj0DiYII7H4hDtMEBWI7WDvcSD4A/xZWAYOVYN1oDUBikGGxCgIQQx8XDsSFfxCLp5InEL/2/aJesg8FALj9ptOrz3xLrA5HbUHCeVgDQPCwCapJTsiGDCQB0IYBqUD46TlzIHh2P/jvwBsHqbFSRU38tD0FaILQNwGRAwEjn1BrTpmS5W2mT+1hWx/fNtfG/t8CUqIQZkA8SB+ClElOqHQ8ElVS/OJVeiXNS+TCQwOhwDi4epmARBy0DdjbDCpP0GAqBqgwChrg/SSToQBIDpJO34Q1N1U2OftrCSHY9gKxKiVB8DgU2DpOD4X/r9Lbo9SIAPCVA8T52fCH2ar+WtfXEkOx4DDZIgD4HAp4O1YPhf+rBi0uLVIOBAEJQII5HA5APLCwPhAA0Dwf+2IIgDkHD8GRgbA2sH4KYHwoA/6W3B6mW6B4SuliaW34Q+2ptLf/WEcOx2DDZKgkBwKaDpWD4X/q6PUy/APCV0sTyWfCH2VPpb764jh2OgYbJEFgOBTwdqwfC/9fpbYMWlxapBwIAhKBBHI4HIB5YWB8IAGgeD/2xBEAcg4fgyMPwNgwFQUwPhQB7wel3J0IAkB0mnb8Ifbqr45+2sI4Fx6DIkqJUHwOBTYOk4Phf+v0tuj1IgA8JUDxPnZ8IfZqv5a19cSQ7HgMNkiAPgcCng7Vg+F/6sGLS4tUg4EAQlAgjkcDkA8sLA+EADQPB/7YgiAOQcPwZGBsDawfgpgfCgD/pbcHqZboHhK6WJpbfhD7am0t/9YRw7HYMNkqCQHApoOlYPhf+ro9TL8A8JXSxPJZ8IfZU+lvvriOHY6BhskQWA4FPB2rB8L/1+ltgxaXFqkHAgCEoEEcjgcgHlhYHwgAaB4P/bEEQByDh+DIw/A2DAVBTA+FAHvB6XcnQgCQHSadvwh9uqvjn7awjgXHoMiSolQfA4FNg6Tg+F/6/S26PUiADwlQPE+dnwh9mq/lrX1xJDseAw2SIA+BwKeDtWD4X/qwYtLi1SDgQBCUCCORwOQDywsD4QANA8H/tiCIA5Bw/BkYGwNrB+CmB8KAP+ltweplugeErpYmlt+EPtqbS3/1hHDsdgw2SoJAcCmg6Vg+F/6uj1MvwDwldLE8lnwh9lT6W++uI4djoGGyRBYDgU8HasHwv/X6W2DFpcWqQcCAISgQRyOByAeWFgfCABoHg/9sQRAHIOH4MjD8DYMBUFMD4UAe8HpdydCAJAdJp2/CH26q+OftrCOBcegyJKiVB8DgU2DpOD4X/r9Lbo9SIAPCVA8T52fCH2ar+WtfXEkOx4DDZIgD4HAp4O1YPhf+rBi0uLVIOBAEJQII5HA5APLCwPhAA0Dwf+2IIgDkHD8GRgbA2sH4KYHwoA/6W3B6mW6B4SuliaW34Q+2ptLf/WEcOx2DDZKgkBwKaDpWD4X/q6PUy/APCV0sTyWfCH2VPpb764jh2OgYbJEFgOBTwdqwfC/9fpbYMWlxapBwIAhKBBHI4HIB5YWB8IAGgeD/2xBEAcg4fgyMPwNgwFQUwPhQB7wel3J0IAkB0mnb8Ifbqr45+2sI4Fx6DIkqJUHwOBTYOk4Phf+v0tuj1IgA8JUDxPnZ8IfZqv5a19cSQ7HgMNkiAPgcCng7Vg+F/6sGLS4tUg4EAQlAgjkcDkA8sLA+EADQPB/7YgiAOQcPwZGBsDawfgpgfCgD/pbcHqZboHhK6WJpbfhD7am0t/9YRw7HYMNkqCQHApoOlYPhf+ro9TL8A8JXSxPJZ8IfZU+lvvriOHY6BhskQWA4FPB2rB8L/1+ltgxaXFqkHAgCEoEEcjgcgHlhYHwgAaB4P/bEEQByDh+DIw/A2DAVBTA+FAHvB6XcnQgCQHSadvwh9uqvjn7awjgXHoMiSolQfA4FNg6Tg+F/6/S26PUiADwlQPE+dnwh9mq/lrX1xJDseAw2SIA+BwKeDtWD4X/qwYtLi1SDgQBCUCCORwOQDywsD4QANA8H/tiCIA5Bw/BkYGwNrB+CmB8KAP+ltweplugeErpYmlt+EPtqbS3/1hHDsdgw2SoJAcCmg6Vg+F/6uj1MvwDwldLE8lnwh9lT6W++uI4djoGGyRBYDgU8HasHwv/X6W2DFpcWqQcCAISgQRyOByAeWFgfCABoHg/9sQRAHIOH4MjD8DYMBUFMD4UAe8HpdydCAJAdJp2/CH26q+OftrCOBcegyJKiVB8DgU2DpOD4X/r9b0lt5F+rThC6PUiADwlQPE+dnwh9mq/lrX1xJDseAw2SIA+BwKeDtWD4X/qWEYD46TBDHhf8Dg68wqEdIP9HHxDutMNDj180IIkqwKwFWCtD+gbWBwKYHJH/YW8BgQAhh4x8SwQkwkt4p8BxOIfvCHS0C3g+HA4HLaAHwv/UMCtMrLlbaRO1rStV/Wm2tG/t8HePIiGDCUB0QwDUoHx0nSNgeHZfo78AbB6qipIw38tD0GXEEHgoBcGRAwEjgrBhJHaYRwbQhj8u0tVb9j3mwY2BpMwm+2DxH/q219kT/Gqxy/jbb+Ntv42OW/lDK3OBCHmqPdolhDy/hd/G7xIB4q+O+jhP6FfB9AVo6LWVatYSwGHm3ehCHmKfdglhD2+hf/W51IB4r+OuDhN6lfB/AVo7LGVStYSgGP422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/naST0bTqvUbfVseoaf+5yPAcCrHwPD/+LAPF//Is+wSokgxcDwEEL4GBQsA8BA6wGEYfpmx2XDloFCPgahDbZa0G4yOweDgGS9tWqRJqBm1WD48AeNBKBgQmgeBgXweA/gQgCUEBgEMFKEIGHqYA4IQ9weebEMcJBJCE18DX+DlIDFX1dTxhkQJBBA3QNQ/YPAft4PAfxYQQYuBhHLx8AYIQNioegw4H3AUvwPeZBS5iVUu0DdbbHAgRAwympw0DeEtKDwMFmDwH8KXgp2YP1YKESqynjP4nbBuj8AzyUc/Qh/76eKwYOY23H/YMEGoMJAN8GLmUyYFKEBkSPl82pg9TJ2mSwsLRwrLmVbDf4W+61G+wctG3C2g8BBKg8B/IwdAwg6DJh2CJMLeFo+o/UA8PAPgigwgg8VAHnwWoMOR4OgYSAeAgxRHCD+aPh8ClZ+rbbXEBhIPW/FoMUDwsaB8mAJFA8BRAghCB4D93HYPAfyYjhDHXgYIWwS04OBBoHx9R8PxKTiQ20OhK97Gaz8DTI4BhED6giAxV2hZ9nQDAYDgMlBtHlEcEAA5OI48glgwfayx9IVD8cNNln2tZjPvRpnwMvWgNMFs6AWsCjBh0DaDKi9UOgQQgKx4nL10nuqk8TrlgMs2XMq2Gf9/gGGG9suyWEQYmhHnweAgqweA/kx+I2/SMDsGBSs1rzVHFBVD0HAoAYq54GQCBRwOEXCMXUQxKEoDgPAQaojgH/yj5IrEmssq73FRYCI00n/8CA6ZA0yD5EAX9kBJB4CCBBgDQgCFoB4lg3h+qErPDltstH321TQi/Tj5htsfpMiO1WqaEAhDI019W35hqXW2f417IIv/6WeMCEQ9+CgEsGLwZtIDAHCEDcCCJQh+Tgw7Sg8B/GlolAHjz/hz4sCA20PSxtkceYSD5hUDLA4FUkTg4FkBgUjX206ppiljbbLHmv2qFH//DzS0GIPTJAhgogPgzAk/CAAaXAygS2sa/qqsqmSpnFPtLUjbLCI0F5YShKLlZc022x3dLelf4DIfyLZsiI1HEAYDoHAQwQAapxIBviODAigf8wm+yO4PU4klufVNfawDY/jSujhoGNukIAPBwDaoHfB4v/3FoyJe7jEuW4HsRXgiaTaIWBgNDoGAgDg9ZB83/7GAMCIJQMBAHiv/lkHzf/sqx8P2QYOWwYY6EtRMDAaHQMBAHiv/lkHzf/sVgwIglAwEAcHrIPm//beH7IMHLYMMdCXRMDAaHQMBAHiv/lkHzf/vgwGhKBgIA4PWwfN/+28P2QYOWwYY6EuiYGA0OgYCAOD1sHARByI07gwIglAwEAeK/+WQfN/+28P2QYOWwYY6EuiMGBEHQMBAHiv/lkHzf/vAwGh0DAQBwetg4CKFCbIW8P2QYOWwYY6EuicGA0OgYCAPFf/LIOAiDunWDAaEoGAgDg9ZBwEQcMXt4fsgwctgwx0JdIwMBodAwEAeK/+WQfN/+xyJLWMD9v3oo9FHIuha9UNXK6iCZ4D4PB/86sGAkDxcAWLBYSv/1mzf7oeVHtoi4T8ZptiEjbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+UMqotBwBwkgXLAYQQgd4HwGi0EQA0cDkHhP+8QQLgaEAGKuB+CKVg4FkebU6EIe6o92CWELJ+l39bnUgHyrw76OE3qVdH1BWjssYVqlhKAa/jbb+Ntv422/jbb+Vqy0HAHCQBccAwghBLOh8BotBEAMHJYDwn/eIIdAbEEGKuB8CIVg4Fm23OBCHmqPdolhDy/hd/G7xIB4q+O+jhP6FfB9AVo6LWVatYSwGP422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/ja7fxg7G38bbfxtt/G236DDAnidP6KPK2cyIsxv8gwj2oL8lRndEkFWXg8L/4pweJ/92wYJWCrLweF/8U4PE/+7YMErYUqMDjBg6IjBVl4PC/+KcHif/dsGCVgqy8Hhf/FODxP/u2DBK3qMDjBg7RGCrLweF/8U4PE/+7YMErBVl4PC/+KcHif/dsGCVvLMDjBg7RGCrLweF/8U4PE/+7YMErBVl4PC/+KcHif/dsGCVvUYHGDB2iMFWXg8L/4pweJ/92wYJWCrLweF/8U4PE/+7YMEreowOMGDtEYKsvB4X/xTg8T/7tgwSsFWXg8L/4pweJ/92wYJW9RgcYMHaIwVZeDwv/inB4n/3bBglV3d/VP9u7Ue7e0YvbnJEUkE3G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfy9pYIQ993ymiWIVnql/n7ImCCV+HgFlfp3ykf0FakLWFSpYSwGvMKQcAcJYMjLAYQQgd4HwGi0EQA0sLQeE/7xBAuBoPgYq4H4IpWDgWT+Ntv422/jbb+Ntv5X/lCEPs7imDsQ7ciX9/wDQQBuOg6TeKt4P4ulLG2NWEoBjastBwBwkAXLAYQQg86HwGi0EQAwcjgHhP+8QQLAbEEGKuB8CIVg4Fm/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv52UCEx5OIYkJmZ1pWPS5hud53G1fvaFLkAwHg/9cDwPD/8IlA8X/4hd9QLcGBQg8DA+gwjAoxLBsaB4CB7g91MmTXwlg8D/YghpitKPmk/tBEBisGRFoMBEHwv/UGmFAHgP31MDwH66PxHANLgbMHIMIyUSA++10GTYpVfEgsEPykS+BDXtTolweFgDyALeAhgwkA4FEDDjQYAxSCGCq1gHgf8kHgf78IeA5KBQeg4Dw4BVAYBgIdECnvsKRcDwEEiDApR7E2pAbydlpKJSoQ1TIKcSMVfHiWFqoGXbL4wINi4NxZKbAKVB4GCHBgUINwvEkHgYEMScSDrWYrrYgNMgxUBfWh423B+lagMHKZUyqq/HhJBggjtO0B8HgIL3zSVnGMEIGTF+exnRAjeqxKaD+eBkRaOAMCCjHBwSDofp6DwH4uAewBtuqoBzEkaHPfRgHAhBCLw+UAQBTqVY4gPCf+Z37MA0BgQAYfgw/abZBRAHMjtMxoganHKYfJhBG44A2O2VSr7PP+6w0z0PWHiwGHgMOm2AYEEfA3gZKDKhDEnSxL9kEJMyqLk6vwNxltpvE7YhgeYHEBkY5gkqoHgMIoMNnhgBggAw+A4I4MIysesBCTgwhj9gGo/xkGYB4H+z0GwRgQEgPC/77YGWAM1hIm6yDFYfwQOAwdKzwVB2202DwH5yDBAb9vtxsGAO2++0rA35vNB4H/F/4cJweE/8YWLxntEEj+xQPgDgDqDwEEaDwH8GI+AeTeLx0DKx8mEhkvYVJxHEZIDAbAO8Cm8PQVrfuNJ22E9YVgy/Xh9CAEASwQRLSAeEJUCnEse6WJE0+00OdUX4F2fsMeAx4GQ3gnDmksB4GCdB4D9nNg8D/WpAeL/1QfAgLSoMXCQEMIINQgCUAYP4JAQ06VQPB7UqseAaZnt+pBFSdZaQgyLrKCO9OxJHReEIdl4kDtoDQ/HitlIlVW5o4Za1Q35S0BhagxrrhKkTJtTKrVSq2sNW0ceX76dEQhWBRpB2OgDQhjwR1cH4llwll6Yel8V/SgipWk7fk6sDbcjbI5ZU0csgraQplwOBTJAYFcwDg6cNiTbPeXsXqIUVETBTFwPCwCKYHiYAvwSMFMXA8LAIpgeJgC/BIkx4t+HOjF+iMFMXA8LAIqgeJgC/BIwUxcDwsAiqB4mAL8EjeW/DnRi/RGCmSA8LAHqgeJgC/BIwUxcDwsAimB4mAL8Ejep0OdGL9EYKYuB4WARVA8TAF+CRgpkgPCwB6oHiYAvwSN6nQ50Yv0Rgqi4HhYBFMDxMAX4JOCqLgeFgEUwPEwBfgYJG8t+BHQR36JgVRcDwsAimB4mAL8EjBTJAeFgEVQPEwBfgkby3Q50Yv0Rgpi4HhYBFMDxMAX4JGCqLgeFgEUwPEwBfgkby34c6MX6IwUxcDwsAiqB4mAL8EjBTFwPCwCKoHiYAvwSN5b8OdGL9EYKouB4WARTA8TAF+CRgpi4HhYBFMDxMAX4JG8t+HOjF+iMFMXA8LAIpgeJgC/BIwUxcDwsAimB4mAL8EjeW6HOjF+kMFMkB4WAPVA8TAF+CQehDmYPWczJmQsWycgFvVE54IIPB/86sGAkDxcAWFwsJFtZvbaBioSUxIzbbC/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv5XnKEAe7zymCWIUnwRP7+QDQQyrw7Asm9SpSPqCtSljSvFhKAa3nIEAe53ymiWIVngRf5+wDQQyvw6Asn9CpSP6CtSFrSrFhLAa/jbb+Ntv422/jbb+VtyAwIg83nlNEsIcLYXfxuyJAPB2OwLJ2l/8LoCtHRayrVrCWAxtuwGBEHmd8pglhDpZC/+tyVIB4Ox0BZM1ef4XwFaOyxlUrWEoBj+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jZ1v4wME2/jBxtv422/jbb9Bs7gIY+5AYq+wtAVjE600CoaqtP9m+8NvVn/27khbu717HZDbGMyT6Am0SQcCGXBwrBG8D5v/ywcCGXBwrBG8D5v/zmF4MWJgVI1iIwcCGXBwrBG8D5v/ywcCGXBwrBG8D5v/y3gxYmBUjXRGDgQy4OFYI3gfN/+WDgQy4OFYI3gfN/+W8GLEwKka6IwcCGXAQVgjeB83/5YOBBLgIJwRvA+b/8t4MWJgVI1qQwcCCXAQTgjeB83/5YOBBLgIKwRvA+b/8vCbBlCo1oPk//cZGDgDUgEE4waKQfF/92DgQUgEE4I3gfN/+aeDFiolGuDgkRGDgQS4OFYI3gfN/+WDgQS4OFYI3gfN/+c8GLEwKka6IwcCCXBwrBG8D5v/ywcCCXBwrBG8D5v/y3gxYmBUjXRGDgQS4OFYI3gfN/+WDgQS4OFYI3gfN/+W8GLEwKka6IwcCCXBwrBG8D5v/ywcCGXBwrBG8D5v/y3gxYmBUjXRODgQy4CCcEbwPm//Nj1uJ0v2c7M0s4pWodSG7CUbxbgr7LaTNMVT7vecXvVlqE3G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/K1RaDgDhJAuWAwghA7wPgNFoIgBo4HIPCf94ggXA0IAMVcD8EUrBwLJvOAwIg93nlMEsQpPga/v5ANBD7nh2BZV6h4pH1BWpSxpXiwlANfxtt/G238bbfxtt/K1ZaDgDhIAuWAwghB50PgNFoIgBg5HAPCf94ggWA2IIMVcD4EQrBwLNveAwIg83nlNEsQ5fga/n7ANBC5nx2BZX6B6oH0BWpC1tXqwlgMfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G22XI+2xbjbb+Ntv422+Rtt/G238fbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/K/cgQB/nfKQZSIV5S/+fsA0EHu4OgLJ/B10f1cuLWFUWEsL21RaDgDhJAuOAYQQgFvA+A0WgiAGjgtB4T/vEEOwNCADFXA/BFKwcCyfxtt/G238bbfxtt/K/8oQB9nfKQZSId5C/+/kA0EDm6OgLJvB3wfxcvLGVVWEoLm1ZaDgDhIAuOAYQQglnQ+A0WgiAGDksB4T/vEEOgNiCDFXA+BEKwcCzfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/K/coQh/vPKQZSIUU1J+/kA0EEqwdgWTeDro+q5eWMK4sJQXt+5AhD/O+UgykQqoqX8/YBoIJXg6Asn8HXR/Vy4tYVRYSwvfxtt/G238bbfxtt/K/8gQh9vPKQZSIcUxJ+fsA0EAq0dgWT+Dvg+i5cWsq6sJYXN/5QhD7O+UgykQ6oiX9/IBoIBXo6Asm8HfB/Fy8sZVVYSgufxtt/G238bbfxtt/G238bbfxtt/DZUdNplQ7HyselwMWjxhKqbH46EH5cDdSe/n04+A2wBlIH7U1gP2IpVFqlzNfYKpUPgeAgg2QeAgbx2DAgg8DA9qAVQQ8EIGBEB4H+xBS6OQ9SeD8GUrFgOBTgWBEBkBGG/wMCiBk4MXgigowZIDCQlHwKJX/fjxJRL8yOGMAoXJxDZTD8IYe++BlhhtdYVHxKoPBQb4IJKDD1qRcFSD4EBOCr9R8CjA4DAgAHgpAYSkwMPYCgCAJGe+0DAfbBp8GVD0eYwW+TiMDIviA2mXZBl2U8aBkTKQPqZ+xuB4GEoGZBBEdOB4QgDh6nEkfXfD9NcA0Cq33yy+H/0ogMFwerAy7LSEmSAPBgOAxeCkEseCMB0DjI8LxDb8wJUv0jLSVn//NFjSVM2yXFpa37sD8FYWnR2EIdCMDAfBh6DwH8SPR+qg/EuYIQfAwjAgAycDQkAofpC4cJS0D/mB1B20OUkBWiA1Eisvb6DCIAWVBgPtKkgQgeAgnUjQlKgDoPAYetJvhA8B8HAg4IX2B6mHI++IYMIraoGAqDAQoMVImnfYvoPAQTIPAfxvsH7dBkg9UDq8VqGx9/dB4eAVa8XjkSweIgGYASbEcHgIG8GEMA4D0BQiGCiLx8EKqNqv+pi1UW0saBFSeZo/Lg9/6AxWqYBJSYHqUHgfw9KmA2yIGCUCJjQ5+OMYB4GBHSDuqs8DGgU4MV1oGAidH4MXJ2x6DNA8B+agp1f08LPJ4OW93qstBRgZKQZZMDAjNO+rJAeAgdwYIY9AOoKVUCiL/geirUoGy1Nm/SZ4ch+wk+zB+y0OETapUy4MgjAOA8yDUGYA4DwP9OOhKLgPAGAzXoCADwH8eCADNtJNHTAKpgsHyUeCDGfl6pgFYlEFUHwfsM8lEEGAWDRwEMGEYHAogYcaDAGKQQwVWsA8D/kg8D/fhDwHJaHQ9BwHhwCqAwDAQ6IBz7CGDAoQZIEIIQHgeAgfWQDBK/4Swb4N5IPxLkbH6WjsSU6YIXw882yyOPttp2wViaMQPZDwWweAgjweAghwQR0DK/Mgwjgw+98DyUDg/rEEdgSBJTRLdLhwH6YtTgiJY0W8A2wwrAuKwoBBEsShGEsHgIN8eiPvsHiYGgkaz9vSzFRaJAQmmk//gU8qZLGQYCTxCDFwKQFGEAHgP3EG+CCIYkpIB4G3BL+ByAwIqrfgHtfb8lHQfDxpkQRwEASPfYEFWxxiAwddis/6YMtoG8CCnBQD0GZYErfghCQX4PB+JY5TKGEvwRCzw4HIfg8J/3pIOWmKwBlqV5kRszR6xm5NlLezYpizX1+IkfDcCoXjwEAG1WDAGAdBQqgg4wDeHwQUiQSwOAw5TtVKPfgqhwnBhAgOHyUcAbTAZZofh43wHw4A8cgeB4P/nVAwEweLgCxa7IMibBij4OUP0QRgpi4HhYBFUDxMAX4JGCqLgeFgEUwPEwBfgkSYbFuhzoxfURgpi4HhYBFUDxMAX4JGCmLgeFgEUwPEwBfgkby3Q50Yv0Rgpi4HhYBFMDxMAX4JGCmLgeFgEUwPEwBfgkby3Q50Yv0Rgqi4HhYBFMDxMAX4JGCmLgeFgEUwPEwBfgkby3Q50Yv0Rgpi4HhYBFUDxMAX4JGCmLgeFgEUwPEwBfgkby3Q50Yv0Rgpi4HhYBFMDxMAX4JGCqLgeFgEUwPEwBfgkby3Q50Yv0Rgpi4HhYBFMDxMAX4JOCqLgeFgEUwPEwBfgYJG8t0OdGL9EwKYuB4WARTA8TAF+CRgpi4HhYBFMDxMAX4JG8t0OdGL9EYKYuB4WARTA8TAF+CRgqi4HhYBFMDxMAX4JG8t0OdGL9EYKouB4WARTA8TAF+CRgqi4HhYBFMDxMAX4JG8t+HOjF+iMFMkB4WAPVA8TAF+CRgpi4HhYBFMDxMAX4JG8t0OdGL9EYKYuB4WARTA8TAF+CRgqi4HhYBFMDxMAX4JG8t0OdGL9EYKYuB4WARTA8TAF+CRgpi4HhYBFUDxMAX4JG8t0OdGL9EYKouB4WARTA8TAF+CRgqi4HhYBFMDxMAX4JG8t+HOjF+iMFUXA8LAIpgeJgC/BIwVRcDwsAimB4mAL8EjeW6HOjF+iMFMXA8LAIpgeJgC/BIwUxcDwsAimB4mAL8EjeW6HOjF+icFUXA8LAIpgeJgC/AwSYFUXA8LAIpgeJgC/BI3luhzoxfpDBVFwPCwCKYHiYAvwSBjL5IlTyTkitmSRaST9Wc8PwcCnSg8P/5sg8X/8mRQSLbv+20qiOiuRqtsR422/jbb+Ntv422/jbb+Ntv422/laotBwBwkgXLAYQQgd4HwGi0EQA0cDkHhP+8QQLgaEAGKuB+CKVg4Fk3nAYEQe7zymCWIUnwNf38gGgh9zw7Asq9Q8Uj6grUpY0rxYSgGv422/jbb+Ntv4rbEwMJAlJBDBvhCHw/ilM39n//AxsDSZlPjQPEf+rbUYE/1NWWg4A4SALlgMIIQedD4DRaCIAYORwDwn/eIIFgNiCDFXA+BEKwcCzYlEIGEsDohgHpgPD1IXKwPD8vwdfBCBlCqKkzH/jgPAVgfxseAyOArUflxUGcD6Tw8CCIY+YtrBcJY9TNWofJlbbXgfLgB/jbOP422/jbb+Ntv422/jbb+Ntv422/jBoNv422/jbb+Ntv4wdbb9BtAdK8SJWmf9uYp6o51f24hsNk7XWxTLlRWWUT6IMQcChLgIJwRmgfN/+WDgUJcBBOCM0D5v/yPGFwMWJjWgw1iIwcChLgIJwRmgfN/+WDgUJcBBOCM0D5v/y3gxYmNaDDXRGDgUJcBBOCM0D5v/ywcChLgIJwRmgfN/+W8GLExrQYa6IwcChLgIJwRmgfN/+WDgUJcBBOCM0D5v/y3gxYmNaDDXRGDgUJcBBOCM0D5v/ywcChLgIJwRmgfN/+W8GLExrQYa6IwcChLgIJwRmgfN/+WDgUJcBBOCM0D5v/y3gxYmNaDDXRGDgUJcBBOCM0D5v/ywcChLgIJwRmgfN/+W8GLExrQYa6IwcChLgIJwRmgfN/+WDgUJcBBOCM0D5v/y3gxYmNaDDXRGDgUJcBBOCM0D5v/ywcChLgIJwRmgfN/+W8GLExrQYa6IwcChLgIJwRmgfN/+cDgQy4CCcYNA+b/7t4MWJg3BhrojBwIJcBBWMGgeN/+QpYOBDLgIJwRmgfN/928GLEwbgw10Tg4FCXAQTgjNA+b/8sHAoS4CCcEZoHzf/lvBixMa0GGuiMHAoS4CCcEZoHzf/lg4FCXAQTgjNA+b/8t4MWJjWgw10Rg4FCXAQTgjNA+b/84HAglwEFYI3gfN/+W8GLExrQYa6IwcCGXAQTgjeB83/54OBQlwEE4IzQPm//LeDFiYNwYa6IwcChLgIJwRmgfN/+WDgUJcBBOCM0D5v/y3gxYmNaDDXRGDgUJcBBOCM0D5v/ywcChLgIJwRmgfN/+W8GLExrQYa6IwcChLgIJwRmgfN/+aV/jatluIvt//Oo+btp1tGk3mO33VxXxtt/G238bbfxtt/G238bbfxtt/FbZMDyTw9CCIQ+ZtjBeJY8TN2IPK1bTXwYKfqfuQIQ/ncU0diFVFS/n7ANBBGw6DpP4Ouj9GkLWGIsJYDWFoQwYSwOhCANSgeHSZIwEAeF+jrwBkHiaqkrDXywPQZYQQeC/6wZGDATWPjoGEkdJhGBtCGPi7CxNn1X/NAxoDaZhP9oHiIA1tv7Am+Nscv422/jbb+GxoqTslytpKm/rStj+fab8N83wiuavzGGQYIIlgqvD1gfApEwH0rY9TKwhpB9mAHqGkw6Bl/gxoPw/bBl1wN3zYMVKg+B8L/1N223tXtXvSEeqy0HAHCQBccAwghBLOh8BotBEAMHJYDwn/eIIdAbEEGKuB8CIVg4Fn/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+NtucbbYvxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfw2blsvYtYvOED/zLtAwhiPR98S2y4A5OIZcyPkjAQ1YBwgiWBlMO/gbBhyORAaZVAieD5hlUDFZazecTKz40Vp2S9W2lT/1tWr/rbbejfd+HevHzSwQh77vlNEsQtLKX/z9kSBBK/DwCyvwe+6P6CtSFrCpMsJYBavxtt/G238bbfxtt/K2weDgIx5/nlNEsQ8v8Lv5+yJAgcz49Asr9O/UF0BWpC1lWrWEsBjbYPBwEY893ymCWIe32F/9/JUgQOb8eAWVevPqC+ArUpYyqVrCUAx/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfoRsK5cDAWTAwK5gHB05Idoj8tggIrwOwfOgB9DbboMH4MGwOD0HzoAeobbeDB+DBsDg9B86AH0NtvBg/Bg2Bweg+dAD6S2NQUIPCQCIPEf+oPGQBJI9MHgYE8RweBgTQeB/rQ/EoGA0DAbBgRBAD/4MWgbHA5LQ+EAQBAB4j/zEEGBUHhRhsQWs/znerI0VsJCaUtmgDADWwQFbKtodAeEu/YEAcAHhCHwQU0K/fLWlRe0y15kPALmj4TwUYkqtB4CB3HxeI4KAGTD4DoMrCDoOA98IAKIIQQk6QAwDwMBcflpc0IPR6JPC6d5FaZoL06WxQyDD4FCCkwdAeBSAwHAaAH/wRh4XiOI4KNgIA7HYB4lpx8DKS/wHEwQx+wyDDgeFoNwHgoCVMBsP2mwYrBFIg/CECCwAYyI//g3gPD8R228xiAdSNpx8EAcfZBFY8B5sFY22yBhUDwX/WIIGo02tazaF30thQAPBoAYB0A8HgIIvaJCQFAnBhDYHmgoRGEbwKpNGGxJ8maH48SIi4GBFYLQNDgFYi506kJHwPAysG+CjBgDmQYfAoAgJIqBDYBATjoSgNAHiEPwONJU6b6USaDh+JY5A1QU7A7GQgHvpbBkj6TUqTNnc1WxLDcv4fBXg8B/FjwGZCAPwb7Q+BgUQKAuBlWVOqTBBSAwhBCUqh434sA3gjsFw5SfD1YvBWB9sWXjvpbDgDCUJQ+awSQYvAPVNJQOA09g4HiuKWAOgoU5aDgOBA/4GQqhz74/EeA8LAOpG5YCtcLwYEFlUDKgeA/gwagwfBAAMBESK88qEZKEAfJwhNRkSEhaWCR9oFUBUcgyJarin6Wxf8D7SsHgIHUEEDoHwaAw6YThDEtUCgBmtEYGaAOEgf4z4HJQOiXjaRiMjhMwOEyplgHhP/Ns6THgMPgDwPAGA3gcCgBh0CgANEsEEA5IAePQgg34BxOxQYP2//EoIAHkgBo/VD4cqh8BptKHzCdKrVpQYCnD30tgxAD4nwII7g/ErwQEsH7MViM0m1IwOmy0PU3kn+jjzCIcIBQFMGA4P1aVWCABwSgYFAAYB1MylxUAeOxLCA2ENOP8bVgxW2DCCyBgAxoeD5tYG5FUVFgIpfQCfpbGiUG8XBDBgQx2DQG8raBg+oB49aTD/djaQfCEm+22nH/1fQMlw8SNNsiD0Faqa72vEoPAfx4PAwHOg3gYDgkg2AeLhIH30oMPx00rxJ7B+IaQDicISQfD8D/yyNpS9PC1WDLgw2qf7vpbKgwBwNQcCGB1uhBBvAwB3gUABwlD8A0ENtoGEIELNglDxoGRNfBTAXH7P2lTE70PTgah0DMpBIZEcvaBmAUicvHY91OxQhj4GHI8EJJ/f/BVDwRmweCgGQKgyNWqV2KvcTRVTv0ti4HgP38SBIHg7BRF46EpMBxOCCDJAPAGhBCAXB4kHQkj0QS3EyYHhIBNpn3vNg3AYCgnFwPAQPokJR+DeBgDU4QAUgQgaggj5sGSQRlQjgeHwHRxiVOEODsPmh37ngZZqdBigh+lsY/A8B0FKDBBBRAogUIISQGVKx+XjwfNphKBCTAhQFV9WBkegaaaVeT/HA54yiAxwgEIHEoKQGSgw9LwYEIHgYEUFIIwHh/oHxCA4O0g6UAgiQlHSYv+Oh6rCCDgVY7bZbTA5KwrofAZFX0tjSApgYIQMJQMwI8BAAOCGCCDJVYH0rLIKMSPBDYEgSghD9odMDxMPEoMtGVbZaynViAH8BhsRCyAgAw6bBhJBhIEdOXD4SgQAZKDYDgOgwIjbP1QHGgUo4L0wMOANtt9aEhWI6Rqgw3BkIGgfDgD/iNrgzY81oGHgB+gwlgyoEIGVAoWhHHjAMPoB4SEwHEo74roOA6OUyQHg/+kDyofFgfCOyDwn/m21ARU9eDH+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/laotBwBwkgXHAMIIQC3gfAaLQRADRwWg8J/3iCHYGhABirgfgilYOBZNtToQh7qj3YJYQsn6Xf1udSAfKvDvo4TepV0fUFaOyxhWqWEoBr+Ntv422/jbb+Ntv5WrLQcAcJAFywGEEIPOh8BotBEAMHI4B4T/vEECwGxBBirgfAiFYOBZt7wGBEHm88poliHL8DX8/YBoIXM+OwLK/QPVA+gK1IWtq9WEsBj+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/QTSAwFkwMCuaBwdQ0sNGGh9EbttEFHQIA+d/96G23gwfAwbg4PAfO/+9DbbwYPgYNwcHgPnf/ehtt4MHwMG4ODwHzv/vROClB4SATB4j/1B8yALYOBQCEDwMCWDwP+SDwP+SOgYPwYPwYsB4GBBKgYcgaLAeD/4wcCnHI4B4iARD4Hhv/HoPhQBbew0IDWe73nV0SO2kpPyLBCH3hJEcdDr6VIOvD8vYTfH4/ZxMkSeb+WfVp2/gYaaVAXvSAeA8B/HgGlwHwa6qCFsoKAFAmTAogUCjZsBhAELBxFZaDIQVbI5H4goY2uTsM3yBVEvAOA1Bi8EIGBQ+Bh6CEEIdTwKQfgfVJRJHABohD8A5Uk8lTDoD3GR+loOH0BEbYD9hOrC8LAByQG8DCWDJQYegycD49A8PhK8I6cQxIBSBBA6PgDGQQVY7SpW0iptKlZYHCRhZkQ21QgslYfJp0LwaD+QdAyVUAalBRlwHRDBvgypseiOJbDTBeAcCjHw/SAgea+15Jt8EJtWyJAlCU0WCBYxbz36CtTgkhWaBh6CGCkYEkIYNQYDoKQA9XRCHo8CEJAKRsIQ9EsIY9Tj4FMkTgfHoQh8qZBhwPGvg3QeC/3U4fgbaa4mBwBLfyZIxidOqY1WqSRltpip09/iZUW6WB+nLGmWRAaAurEBhXed5OnBiDD5MwDAGD8dgoQggxeDYPx0DAaEMuoBwBgILQH0oKFkfjxtMkTNjwuAskHLfldZHYGhABjzBi/IXSAw7BvA8DAegeBsCGDD4fj3BCZHo/1WPgZkGA1g7H47+DgU6VIDgOD0FaqSNND5UDL0GW8DBvx2B4D9vHYBgBoMAaJegHB8CtVseVgfwA9UOxGEvfqi7zSX2+aEAdMKgLKwYrTwPAYCnK5v5BuDwH8WI46peB4GaAML2i8EIGHwhMCQkSpm4ykHYlsg5KB8R/faAx8DZf8cDlpHACBYIY+EgGCGPAYRhJVAycFIBz4HAbAhA2AHpAghDBlBeOtA5rfmh6PEjcEEd+VpL5kHgoBkPwZdZGRN/IKgeA/jwQx8DNgwjghgHiUpo+Sq1Xk39nNZweDxIPA/3AYFSBoQQfI/+0wZIqANHhcJCcFADwH8CBwDg6/cLxLEgegofhCBlCdElBFBSJQVgQQ8anKqYVgxaxGpwLm/kEglgwQQYeDoGbBgQfiEDZR6AYDN+SDpMyJQk6CkZVDz2eBwHYkB4KAdHpYkBQl/hynYEBUDFQMtzjIWUDD0A0GHQ/BgUQMPB4IQQtTD1pODbVSQHgf8VoS04KAciOIX2/iOqBhww2XgwIrXtBTDmCUBostgOBZt/IOdHY6BAB4CB3wSB4PS5WAaDCOJIGwDfJlfm2RKAMA58HgoBkSkvml0jI9H/wbo4QqvLuFIPAQOIBwBieCWChA+JINNThC/kA4CkA6AeOgOMCGJdD3FY9+XtsA8FASj5ZusMAwF2YBrrE6fb+QaAwjqgP0IegfANANBCANHYB7LLLLIHADxKA+OBwOPDhkGUMsgpmo1/zRcwDBw1xUsqp4NIBgNNANabrQBoNBKrTagDQB4H/Ae38LAYO2tLxAH32gZBQYrD8GBUHm/kCgOwYfjoEAeg8BBDpAYDfgal4MB5WlbAPCCPP/SpG2B2I7TYMIA+SttRkvBiwfNfYVKwYbB7AcCy4jJAUAMPgYej8GANB4H+/BSCGB4ffA+I4IA+HglgbA6JKUdtF7QjD5OITQOH4lCA2lByVlOICoFYKwZD+TKB8DBDBhCBkwkeBQgGCMAaDJmQDS5KkBRiO0EKD8ShDHrQ7SD9IlSgyzYfAZVK2BBA2HneIgYBcJAUIMm8DJwQhCBg/Er6YGVAwHlYIQHAUo9VfbAOwGHf/Np/AfHDbAPBwDqofp6wmVq0wMInk/QYbAEt/Cw7H7I+Bh8DKxKBhLBh6BwGL049A18G8kHwBuA2l6QQwVcbSiT4etCCDB8xWByH7DLKoDa8D7pG2/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv5X7kCEP87imjsQrMqX8/wDQQRsOg6T+K86P6ukLWmMWEsBraotBwBwkgXLAYQQgd4HwGi0EQA0cDkHhP+8QQLgaEAGKuB+CKVg4Fk/jbb+Ntv422/jbb+V7YDAiDzO+UwdiHtyJf7+YCIELhaOg6TeG6gfwFaXljarVhKAY2rLQcAcJAFywGEEIPOh8BotBEAMHI4B4T/vEECwGxBBirgfAiFYOBZv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+NtsS422+Rtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfytqQGBEHu88pglhChbS7+tyVIB8Oh2BZM0t7pdQVo7LGFapYSgGttWAwIg9zvlNEsIVLKX/xuyJAPh0OgLJ2p33S+grR0WsKlSwlgNfxtt/G238bbfxtt/K/rBCH28xSDKRDikET82wDQQCrR2HSfwd8HyNIWss6sJYXN/XCEPs7ikGUiHVAIv7sgGggFejoOk3g74P0aUsZY1YSgufxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/FbYUgbB8PAPgwHAYIJcCmSUDoBgMHwN8eJYm8Dd0SmlYMoA6qqcGRgqmGk6YfiADIg/XsIvpbEgkAzQHGQeAgjy/KXMaDF6tIJIMEEuSiA0CnaBCA4JJcBxOqHPA/BTNsAykfxjqgPAN8pwcA4DmYDAhA2JFQkNF4NoMI4MrStiQ3FXtHcCEIXmghND5pugrWvD0D6VsGBUKwRFwfDgDfpbXH4PAQN4jlxcI6dMB0G8EFWAc1qcD4hAeEf5eI4kKmvjhOnbaBTMMNsDz6yVseK08VEJEEEdJRHBhGB4CCdEoeMarH498DF6RMxg3bZbBkrfvCz6WxoAeDBCZAOSJWdBRgyoS2R03jA7EYIQQwNiWPm/6OOf98uVMJRAZBWJwZQylD6ozhHwPAQRIINbYHTYQwZpIClTqvK1QMqLwgiACD8c+n2lRYCIDcYL2fIh8rEtUrNu+lsYAGAwQAPggqgDU/viUJTQNFY+VAfBwH0oMoBVAp9HbQ5/v2hwOFXx020rnQN1X9hUkTJ2WzxD4PAQQYQ1WJB+nBDBkioEAetZ8eA32wO7gHB/v/ttAiJAcXAwg/L1TbXwRWAYsByQHhP/EGAV9LYxoMEAFHgM2rBh9VTECGkU6rup2vD5pJiYG6DFvx78FY0XAplCsQVgVgrkD4MIReIQjUDqQIIKAFCITSthIP0oKAd/LwYsTpy0DWD1pKXDpW0H44bD5kQKqqIPz/0tkgeAghQbwQgZkGZYHQH2R1B9iYSW/jwvTj1IyO98EId/aBE+XNA8JALstND1OpVqgYqabBhuDDZ5xMDBCHokgfbCEEAQwQAh4mHQMII9APSF6tgEASB95Ztsej0Sy4efYD4POgy1DucHJB9LfAPBhCHoQBCwA1gSQDAQwOVKCqZEkEIvbTtJB/fDnyRK0lLh4P0zbfl51MIBKicSB4CCFBvBCBmQZlgdAfZHUH2JhJb+PC9OPUjI73wQh39oET5c0DwkAuy00PU6lWqBippsGG4MNn/S2KQYAwFFcEsGANA4OhHA4Af9KDwEDyB/PJRGS/wSs+2JIHCr6UIbAlRoQODlOy3xUqBgIkYYwDQYQh2AYISQA8GHIBwHQgKy+iRR2CEP9H7CQS88OQbiccqkxYyOFLM51Uzi8Zf9LZNIDwED6B9OCmY+IYNB0B8S1TCcSgUg7CGIAB4/xP4tLs94PgbjDI96DFSoejtMrqxwMsSbC8FMzwu+BsDTIG1PsTaWjhsDaxb4QL0QVuu+lsJwMCGDBACECAqBCVhCCCCFv1YM0CiZViUmH4Q047CCJY/8DFYQR5iUfDgGLB+2BlUDLpgVgPCQCbBEbB4GCBAND0uBhyCkoKFhNqf4MkwIakFHPNNAb/4DQgAqvpRABWg3IOwRQfGgDfpbGIBwMXUDpcDdbBQgzQICqq9TNA4A0IYGm2WfDgtLEhcwPR+WQc4DLq1TCYHxv/UuqBgUgKVWDNiWDD6Yk8AeJQ+Sj+sarBWJWkw+g98CIl96saDdY/4ETVYgKg9gG1YBH0tlQeBggQg6XAwgpgDwZMPQhNM1II4hpAD8BlABjOYWg8F/wt/YVG+KqOoJcTsjhhMH4gqgtGwNQZUPQZr48BFViUJZcIZcDdEYSQhJwNiUPUym+/rX/tMMysN+rSthlUqZlQHvjbHL+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv5WqLQcAcJIFywGEEIHeB8BotBEANHA5B4T/vEEC4GhABirgfgilYOBZN5wGBEHu88pgliFJ8DX9/IBoIfc8OwLKvUPFI+oK1KWNK8WEoBr+Ntv422/jbb+Ntv5WrLQcAcJAFywGEEIPOh8BotBEAMHI4B4T/vEECwGxBBirgfAiFYOBZt7wGBEHm88poliHL8DX8/YBoIXM+OwLK/QPVA+gK1IWtq9WEsBj+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv4bVB4CB5EMfCMDJ0jQhq/KgPAHj4SwUQHW2/+8xg6A6PmUl+39sFZ5hhkERWyOUDVEzDR8kwGoHhKB4D+BAMH0HZclBlQjAcEgGAOVj3yfwMoViEnCEDKBHLwN9EAFMDDkepR7VfVFLAYBYnTgzYBgKIHgP48GEgcJUwkgpAYIA6EID1Ho6UJ0yXQNNtiGENIOOjkHgv+Udp2wViMEQ438iABoHQDx0kBDbVAxeDwED3RIHo8HZc1oBwkAoAcB0IY8HeVoFUCqEoRgYPy5llrQYrBlIfJkwPC/+Ks8uBwGZA8AcwDwEFaPU6VU34ED4MrBwHWFX/MpRGweghpRw2nSNArWgMNg3VTHBBVqvAxVF3N/IXEsGaVApFdA+DwP9+DNAdVJBLTMjxMJQQfDsRwhsAp/fLW0jUtHQGAVqsGUh8awGC0QiWOgQB2DAGwGBDaBhHBSeBSNgfHwNdxsSSwG1UIDbRe2JQOBAjQN0FWOWqqTVjqpQICsHAEt/INPgpRKEMEIHgP2UvHKpIyDaDUFIJIjCU2y1herYBwB4HS9ksVDkcth8wlaBFrHZhb0iGAKMelzIMCgB4CBvHnh+qZH46Tgwj0vLvK2vpx9iUSRG+mD9gC6SKyz7aocgyMDNMN/IEZUDJQDh4DwH8iJavRHEYEQA8GBQDwGioILY4CGIw6ENkFAEIs+O/NAitMqmC9IDcElhFBy2CLImBgFjoGThBBQqgUAkiQXgpQYFAyXCO2PM+IwMXJADm0o7BETgitJfqwDhGYBTNMf8Dwn/arVJQMh8HwK0AsGw/kGwPAQQYkjoIAMB8A4fiGl8Ph4oCGkZStgWVAykA4Sx019sFQOU/j4lBsVCUELwMIYMIQhg1BQJmQb4HhKwdAhpBLwfggQfiUJPh60PE4jpGmWmGh60DDdWiVRZODFYPhQBbfyKKwZQDD4GA4ClBQNgHgeA6B0GSjsAzYmAMHuBDTBCHgHFaVKH6cepAcPoXj9tsPhAYVp6BpeioYA8BBBiSOggAwHwDh+IaXw+HigIaRlK2BZUDKQDhLHTX2wVA5T+Pt/IcBsVJgZhWDAgjwdgGgoGfpweAgcQPpkisSggpi8fJUqcfiEOB4kStAYTl7bXtbD5jqso4A0sXD8uwHgIH8A8SgU6aD1kGH4BydgfVnwIv1TQjCX5tX5MDIxw1//mhyiOt/IEgEEGTpQOhBYBmQaA1B4CB1EYSmWBCTzAQR4CFgKMAxKkVFzTfvtF4kKwDy/6plgcplY6A2DFQ4iQGRAMBsiGXtjsRxLHrLMVsj8epS9tXjQ4jP06f/9b8qWHAg345HBADkfyIA2px03gMCEDD9IEMDg/VAgApAYeCMJYHAYcsA4A/B+AZ8sSqgYPgZGIFLBBD8GDrlKAYLQmAdBmRLBwBpeDaCiBh+DwEDukCAy2yJZcP1YjAcB4H/FTZ/xaBpWPAYPmQUfxL4WsDlcDaOp4fBgP5B4DD6A3oDMJC9MwDAoEoN+iSPQcCCDwP8+P1bGJh4HgMo+EARmvqmi9osHIGxAD9KH6wfK4D4cAeLhJBDAM+DwH8aCjEtoIYHgYsTg8BA3pS5MnTM40OtT/Bi5prB4kHLYGGxBBllQ8Bg7B4SAPB8P/zb+QNgQh6XeB4CBzBh+Omy9jC9OCGDeZSD7VfsTq8Y8IYG/tJAZG35gt8H7MWBkUOC0GbH4+TgwHgeAgeUjCVI2lHSQGV4P0zSdptWXAbBS/bTeTtAXSCCwBlUIKNheLEbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238r9yBAH+d8pBlIhXlL/5+wDQQe7g6Asn8HXR/Vy4tYVRYSwvbVFoOAOEkC44BhBCAW8D4DRaCIAaOC0HhP+8QQ7A0IAMVcD8EUrBwLJ/G238bbfxtt/G238r2wGBEHmd8pg7EPbkS/38wEQIXC0dB0m8N1A/gK0vLG1WrCUAxtWWg4A4SALlgMIIQedD4DRaCIAYORwDwn/eIIFgNiCDFXA+BEKwcCzfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/K/coQh/vPKQZSIUU1J+/kA0EEqwdgWTeDro+q5eWMK4sJQXt+5AhD/O+UgykQqoqX8/YBoIJXg6Asn8HXR/Vy4tYVRYSwvfxtt/G238bbfxW2LQaBABwIIHR4IRaOIn/pb8OGGmtTtqAVI4a+e+p7wGBEHm88poliHL8DX8/YBoIXM+OwLK/QPVA+gK1IWtq9WEsBjEaZKDBCEdKwCiwDwllyRlXrA8A+DAiq22YlSljXk/xGbBw+8H5YmA3wGDhomHiUEIQy5WlaBuF7fkmiXmp2kivU2sCErA0PU/vjgGRJmVk7aJUpik99LagOBAAPUlgOA8I45HIGhwDDgvLQRQ+BTgaUCADIwVQOH44RgaBlwSPAPBBsmwQhLs3yT8sHye5cHfxwPPgyIOh62BguQK2Vk1pF9LboHghyW0QhLkxpL+2j5PMmDr44HvwZEBYeNgYL6iVMrKz2BwIAB6ksBwHhHHI5A0OAYcF5aCKHwKcDSgQAZGCqBw/HCMDQMuCR9LfgHgh2ZsEIS7m+SNywuTqNwS/jgdfAsHQ9bDxIDwv/nQYbH3QPBDk3aIQlzM8lbtpcnUZglfHA7+BYOh42HiUHhYA+gw3PfS3gcCAAepLAcB4RxyOQNDgGHBeWgih8CnA0oEAGRgqgcPxwjA0DLgkeAeCDZNghCXZvkn5YPk9y4O/jgefBkQdD1sDBcgVsrJrSL6W3QPBDktohCXJjSX9tHyeZMHXxwPfgyICw8bAwX1EqZWVnsDgQAD1JYDgPCOORyBocAw4Ly0EUPgU4GlAgAyMFUDh+OEYGgZcEj6W/APBDszYIQl3N8kblhcnUbgl/HA6+BYOh62HiQHhf/Ogw2PugeCHJu0QhLmZ5K3bS5OozBK+OB38CwdDxsPEoPCwB9Bhue+lvA4EAA9SWA4DwjjkcgaHAMOC8tBFD4FOBpQIAMjBVA4fjhGBoGXBI8A8EGybBCEuzfJPywfJ7lwd/HA8+DIg6HrYGC5ArZWTWkX0tugeCHJbRCEuTGkv7aPk8yYOvjge/BkQFh42BgvqJUysrPYHAgAHqSwHAeEccjkDQ4BhwXloIofApwNKBABkYKoHD8cIwNAy4JH0t+AeCHZmwQhLub5I3LC5Oo3BL+OB18CwdD1sPEgPC/+dBhsfdA8EOTdohCXMzyVu2lydRmCV8cDv4Fg6HjYeJQeFgD6DDc99LeBwIAB6ksBwHhHHI5A0OAYcF5aCKHwKcDSgQAZGCqBw/HCMDQMuCR4B4INk2CEJdm+Sflg+T3Lg7+OB58GRB0PWwMFyBWysmtIvpbdA8EOS2iEJcmNJf20fJ5kwdfHA9+DIgLDxsDBfUSplZWewOBAAPUlgOA8I45HIGhwDDgvLQRQ+BTgaUCADIwVQOH44RgaBlwSPpb8A8EOzNghCXc3yRuWFydRuCX8cDr4Fg6HrYeJAeF/86DDY+6B4Icm7RCEuZnkrdtLk6jMEr44HfwLB0PGw8Sg8LAH0GG576W8DgQAD1JYDgPCOORyBocAw4Ly0EUPgU4GlAgAyMFUDh+OEYGgZcEjwDwQbJsEIS7N8k/LB8nuXB38cDz4MiDoetgYLkCtlZNaRfS26B4IcltEIS5MaS/to+TzJg6+OB78GRAWHjYGC+olTKys9gcCAAepLAcB4RxyOQNDgGHBeWgih8CnA0oEAGRgqgcPxwjA0DLgkfS34B4IdmbBCEu5vkjcsLk6jcEv44HXwLB0PWw8SA8L/50GGx90DwQ5N2iEJczPJW7aXJ1GYJXxwO/gWDoeNh4lB4WAPoMNz30t4HAgAHqSwHAeEccjkDQ4BhwXloIofApwNKBABkYKoHD8cIwNAy4JHgHgg2TYIQl2b5J+WD5PcuDv44HnwZEHQ9bAwXIFbKya0i+lt0DwQ5LaIQlyY0l/bR8nmTB18cD34MiAsPGwMF9RKmVlZ7A4EAA9SWA4DwjjkcgaHAMOC8tBFD4FOBpQIAMjBVA4fjhGBoGXBI+lvwDwQ7M2CEJdzfJG5YXJ1G4JfxwOvgWDoeth4kB4X/zoMNj7oHghybtEIS5meSt20uTqMwSvjgd/AsHQ8bDxKDwsAfQYbnvpbwOBAAPUlgOA8I45HIGhwDDgvLQRQ+BTgaUCADIwVQOH44RgaBlwSPAPBBsmwQhLs3yT8sHye5cHfxwPPgyIOh62BguQK2Vk1pF9LaI+BoB0el6YuwRh61qdnWJvy5LPeHCdouS/+HgFh4y3nktB4SAPoMNzwlL9BgPCEO/gHMggD8vxIzo+H4IIMIKtpLjPtLE//DzwOH3xA+iiGCb6WxkAeDMCSIQhj8eKi4fj1hjUw4TtJFez7A70cDoPfNFgK1kHD5ZZWlabVAEHqB4IMl2iEJcmeS/to+TzJg6+OB78GRB0PGwMF6BUysnsIvpbwOBAAPUlgOA8I45HIGhwDDgvLQRQ+BTgaUCADIwVQOH44RgaBlwSPAPBBsmwQhLs3yT8sHye5cHfxwPPgyIOh62BguQK2Vk1pF9LboHghyW0QhLkxpL+2j5PMmDr44HvwZEBYeNgYL6iVMrKz2BwIAB6ksBwHhHHI5A0OAYcF5aCKHwKcDSgQAZGCqBw/HCMDQMuCR9LfgHgh2ZsEIS7m+SNywuTqNwS/jgdfAsHQ9bDxIDwv/nQYbH3QPBDk3aIQlzM8lbtpcnUZglfHA7+BYOh42HiUHhYA+gw3PfS3gcCAAepLAcB4RxyOQNDgGHBeWgih8CnA0oEAGRgqgcPxwjA0DLgkeAeCDZNghCXZvkn5YPk9y4O/jgefBkQdD1sDBcgVsrJrSL6W3QPBDktohCXJjSX9tHyeZMHXxwPfgyICw8bAwX1EqZWVnsDgQAD1JYDgPCOORyBocAw4Ly0EUPgU4GlAgAyMFUDh+OEYGgZcEj6W/APBDszYIQl3N8kblhcnUbgl/HA6+BYOh62HiQHhf/Ogw2PugeCHJu0QhLmZ5K3bS5OozBK+OB38CwdDxsPEoPCwB9Bhue+lvA4EAA9SWA4DwjjkcgaHAMOC8tBFD4FOBpQIAMjBVA4fjhGBoGXBI8A8EGybBCEuzfJPywfJ7lwd/HA8+DIg6HrYGC5ArZWTWkX0tugeCHJbRCEuTGkv7aPk8yYOvjge/BkQFh42BgvqJUysrPYHAgAHqSwHAeEccjkDQ4BhwXloIofApwNKBABkYKoHD8cIwNAy4JH0t+AeCHZmwQhLub5I3LC5Oo3BL+OB18CwdD1sPEgPC/+dBhsfdA8EOTdohCXMzyVu2lydRmCV8cDv4Fg6HjYeJQeFgD6DDc99LeBwIAB6ksBwHhHHI5A0OAYcF5aCKHwKcDSgQAZGCqBw/HCMDQMuCR4B4INk2CEJdm+Sflg+T3Lg7+OB58GRB0PWwMFyBWysmtIvpbdA8EOS2iEJcmNJf20fJ5kwdfHA9+DIgLDxsDBfUSplZWewOBAAPUlgOA8I45HIGhwDDgvLQRQ+BTgaUCADIwVQOH44RgaBlwSPpb8A8EOzNghCXc3yRuWFydRuCX8cDr4Fg6HrYeJAeF/86DDY+6B4Icm7RCEuZnkrdtLk6jMEr44HfwLB0PGw8Sg8LAH0GG576W8DgQAD1JYDgPCOORyBocAw4Ly0EUPgU4GlAgAyMFUDh+OEYGgZcEjwDwQbJsEIS7N8k/LB8nuXB38cDz4MiDoetgYLkCtlZNaRfS26B4IcltEIS5MaS/to+TzJg6+OB78GRAWHjYGC+olTKys9gcCAAepLAcB4RxyOQNDgGHBeWgih8CnA0oEAGRgqgcPxwjA0DLgkfS34B4IdmbBCEu5vkjcsLk6jcEv44HXwLB0PWw8SA8L/50GGx90DwQ5N2iEJczPJW7aXJ1GYJXxwO/gWDoeNh4lB4WAPoMNz30t4HAgAHqSwHAeEccjkDQ4BhwXloIofApwNKBABkYKoHD8cIwNAy4JHgHgg2TYIQl2b5J+WD5PcuDv44HnwZEHQ9bAwXIFbKya0i+lt0DwQ5LaIQlyY0l/bR8nmTB18cD34MiAsPGwMF9RKmVlZ7A4EAA9SWA4DwjjkcgaHAMOC8tBFD4FOBpQIAMjBVA4fjhGBoGXBI+lvwDwQ7M2CEJdzfJG5YXJ1G4JfxwOvgWDoeth4kB4X/zoMNj7oHghybtEIS5meSt20uTqMwSvjgd/AsHQ8bDxKDwsAfQYbnvpbwOBAAPUlgOA8I45HIGhwDDgvLQRQ+BTgaUCADIwVQOH44RgaBlwSE0gIQhl6tI0DcL2vJdErMTtpFeJsYENWBoeJ//HAMiTsrJm0StRVB/6mqLQcAcJIFywGEEIHeB8BotBEANHA5B4T/vEEC4GhABirgfgilYOBZMRJ1YMEIIRerBRMggJy9pUnA0PQQ6PdwScSphyw39MmEAQBwqb+2DLAw2TljFTgbEBU8egowhA4AwDo9EKNiDE38HDIEVTLXk6b4K8QGxZ8bYyfxtt/G238NqgcENkA4Rx8Iabmtl31Kijb/v+rTbVBg1Y/8Lmd+RRoDoMEIdF8A6PAgAGgw5aoG0gkJ2R8DgPJEod+1r7QPBf9Y4VNgZAKOJU7Y/Tqy9XVLKVllO3TbbPy34veGp/Gs2/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/kRSK2x8nVF7FUMpGWlbWhwy18c+F5imQOgwQh6P6B0ehCANwSf/A2lEpMyPgcB5OlR/Lftg8F/1jhW2D4f/msGv4R4A8Q2QDxDH4hp+Rsv+pUQbe970aaagMGjHvNCY638bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238NopE7Y+Tqi9iqGUjLCdq8RNtfHLQUNb5FWwOgwQh6X0Do7CEAbBJ/8DaUSkzI+BwHk6VH8tbbB4L/rHCttcAtUA8Q2QDRDH4hp+Y2X/UlkG3ve9GmmoDBox7wXBqfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfgAAAbZW8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2V2Az///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlfwM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZYYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2WPAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtllgM//////////////////////////////////////9bBgT9TB/KAJB/KAJ1MH8oAkH8oAnUwfygCQfygCdTB/KAJB/KAJ1MH8oAkH8oAnUwfygCQfygCfqYP5QBIP5QBOpg/lAEg/lAE6mD+UASD+UATqYP5QBIP5QBOpg/lAEg/lAE6mD+UASD+UAT///+pgjA+P/9jdKDzkAaQf/////////////+3lQPzf/O3loMC3////9fC4L//////////////////////////////////////////////////sYq///////t4PRf/oRf/////////+vhcF////+xhJ/////////////////////////+tg89/+hl///////////////7wAAAbZZ8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2WmAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlrwM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZbYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2W/Az///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABswAQBwAAAbYcYHGDqbckbbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G23yNtv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/pbmZu2ZJbtvJJO2vE2AwQgZLrAgwAwfqIg2exkHiYA//w/B8qAL+I2NmWGUjeqk7H1TLV59hv25vtBU+Fqvxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G239hOBh0JWqh4kH4+LICCChEtkQghK1bHmcEJIkaA2OxJa82BdscFoDC6ZKB4RxLbVDoA4EMEP6oC4IcBSp2hDoeh6P0w8HIgDgHdPJAw+Hd+EISm0jWj8SQYuEtKX0SsxSylAMEPwGh2CIDG2VTfxyIAPjwBZseAomkghtCWCiBh6CEm8IIOSeHZf9MI7Q5B4SAVTjxtgPQYOE5B9lgUIIQ/CG0OwhMlokghhCYTCOB4diB6D0QwOJfjgFUPQY22PG/NgrQeN/9QCw7iSBwRwPa1gkl3y7WZu+xlQpuCwqlEcIQ+VqwPl6sIbQIKRjQPMgzFH6cQBB98tBg7HIPBwGIMhBlAMHRNYkiOXhDL2x6PWxyrZq9ESQOPYBT0QQI/jOtv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/j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G238bbfvAAABtlzwM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZdYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2XfAz//////////////////////////////////////1sEUCRL///rYPzf/f//////62D9f/7//////////////////////////////////////////XwTQTPXwTQTP//////+thL///////////////////YxvgJvWwfl/+//////tYx////7eyCvBgt//////////////////9vB/L/7////b2QV4MFv//////r4JoJn///////W0SIGKAz///////////////9AAABtl5gM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZe8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2aDAZ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////fwAAAbZQ8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2UWAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlHwM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZSYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2UvAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABswAQRwAAAbYTYHGDqbckbbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt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ydRmCV8cDv4Fg6HjYeJQeFgD6DDc99LeBwIAB6ksBwHhHHI5A0OAYcF5aCKHwKcDSgQAZGCqBw/HCMDQMuCQmkBCEMvVpGgbhe15LolZidtIrxNjAhqwNDxP/44BkSdlZM2iVqKoP/U1RaDgDhJAuWAwghA7wPgNFoIgBo4HIPCf94ggXA0IAMVcD8EUrBwLJiJOrBghBCL1YKJkEBOXtKk4Gh6CHR7uCTiVMOWG/pkwgCAOFTf2wZYGGycsYqcDYgKnj0FGEIHAGAdHohRsQYm/g4ZAiqZa8nTfBXiA2LPjbGT+Ntv422/htUDghsgHCOPhDTc1su+pUUbf9/1abaoMGrH/hczvyKNAdBghDovgHR4EAA0GHLVA2kEhOyPgcB5IlDv2tfaB4L/rHCpsDIBRxKnbH6dWXq6pZSssp26bbZ+W/F7w1P41m38bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238iKRW2Pk6ovYqhlIy0ra0OGWvjnwvMUyB0GCEPR/QOj0IQBuCT/4G0olJmR8DgPJ0qP5b9sHgv+scK2wfD/81g1/CPAHiGyAeIY/ENPyNl/1KiDb3vejTTUBg0Y95oTHW/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/htFInbHydUXsVQykZYTtXiJtr45aChrfIq2B0GCEPS+gdHYQgDYJP/gbSiUmZHwOA8nSo/lrbYPBf9Y4VtrgFqgHiGyAaIY/ENPzGy/6ksg2973o001AYNGPeC4NT+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb98AAAG2U/Az////////////////////////////////////////////////////////////////////////+7///////////////////////////////////////////////////////////////////////////////////////////////////////////////QAAAbZUYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2VPAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlVgM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZV8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2VmAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlbwM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZXYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2V/Az//////////////////////////////////////1sJNTXTp1wfY/+106ZcH2P/vU106dcH2P/tdOmXB9j/71NdOnXB9j/7XTplwfY/+9TXTp1wfY/+106ZcH2P/vU106dcH2P/tdOmXB9j/71NdOnXB9j/7XTplwfY/+9bBgXWprp064Psf/a6dMuD7H/3qa6dOuD7H/2unTLg+x/96munTrg+x/9rp0y4Psf/eprp064Psf/a6dMuD7H/3qa6dOuD7H/2unTLg+x/96munTrg+x/9rp0y4Psf/f///6mD0EAKDJComB+uAF//////////////9vKxCRMA+RAD7eDAuv//////////////////////////r4MCYDAm+vgwJgMCb/+ti3/////////////////////////WwYFx//////2sHt4AMFG/7XAYB///28pQgSbHAMe///////////sYOIP//////////+3lKECTY4Bj3//////r4MCYDAm///////////////////////7AAABtlhgM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZY8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAGzABBHAAABthlgcYOptyRtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G2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JAeF/86DDY+6B4Icm7RCEuZnkrdtLk6jMEr44HfwLB0PGw8Sg8LAH0GG576W8DgQAD1JYDgPCOORyBocAw4Ly0EUPgU4GlAgAyMFUDh+OEYGgZcEhNICEIZerSNA3C9ryXRKzE7aRXibGBDVgaHif/xwDIk7KyZtErUVQf+pqi0HAHCSBcsBhBCB3gfAaLQRADRwOQeE/7xBAuBoQAYq4H4IpWDgWTESdWDBCCEXqwUTIICcvaVJwND0EOj3cEnEqYcsN/TJhAEAcKm/tgywMNk5YxU4GxAVPHoKMIQOAMA6PRCjYgxN/BwyBFUy15Om+CvEBsWfG2Mn8bbfxtt/DaoHBDZAOEcfCGm5rZd9Soo2/7/q021QYNWP/C5nfkUaA6DBCHRfAOjwIABoMOWqBtIJCdkfA4DyRKHfta+0DwX/WOFTYGQCjiVO2P06svV1SylZZTt022z8t+L3hqfxrNv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv5EUitsfJ1RexVDKRlpW1ocMtfHPheYpkDoMEIej+gdHoQgDcEn/wNpRKTMj4HAeTpUfy37YPBf9Y4Vtg+H/5rBr+EeAPENkA8Qx+IafkbL/qVEG3ve9GmmoDBox7zQmOt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/DaKRO2Pk6ovYqhlIywnavETbXxy0FDW+RVsDoMEIel9A6OwhAGwSf/A2lEpMyPgcB5OlR/LW2weC/6xwrbXALVAPENkA0Qx+IafmNl/1JZBt73vRppqAwaMe8Fwan8bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G234AAAG2WfAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlpgM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZa8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2W2Az///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlvwM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZcYDP//////////////////////////////////////WwYE/UwfygCQfygCdTB/KAJB/KAJ1MH8oAkH8oAnUwfygCQfygCdTB/KAJB/KAJ1MH8oAkH8oAn6mD+UASD+UATqYP5QBIP5QBOpg/lAEg/lAE6mD+UASD+UATqYP5QBIP5QBOpg/lAEg/lAE////qYIwPj//Y3Sg85AGkH//////////////t5UD83/zt5aDAt/////XwuC//////////////////////////////////////////////////7GKv//////7eD0X/6EX//////////r4XBf////sYSf/////////////////////////rYPPf/oZf//////////////+8AAAG2XPAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtl1gM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZd8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2XmAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtl7wM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbMAEIcAAAG2EGBxg6m3JG238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt8jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Nt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L2vJdErMTtpFeJsYENWBoeJ//HAMiTsrJm0StRVB/6mqLQcAcJIFywGEEIHeB8BotBEANHA5B4T/vEEC4GhABirgfgilYOBZMRJ1YMEIIRerBRMggJy9pUnA0PQQ6PdwScSphyw39MmEAQBwqb+2DLAw2TljFTgbEBU8egowhA4AwDo9EItEHFX8LGwIsNtNJ2gd8cN+P/G2Mn8bbfxtt/DaoHBDZAOEcfCGm5rZd9Soo2/7/q021QYNWP/C5nfkUaA6DBCHRfAOjwIABoMOWqBtIJCdkfA4DyRKHfta+0DwX/WOFTYGQCjiVO2P06svV1SylZZTt022z8t+L3hqfxrNv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv5EUitsfJ1RexVDKRlpW1ocMtfHPheYpkDoMEIej+gdHoQgDcEn/wNpRKTMj4HAeTpUfy37YPBf9Y4Vtg+H/5rBr+EeAPENkA8Qx+IafkbL/qVEG3ve9GmmoDBox7zQmOt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/DaKRO2Pk6ovYqhlIywnavETbXxy0FDW+RVsDoMEIel9A6OwhAGwSf/A2lEpMyPgcB5OlR/LW2weC/6xwrbXALVAPENkA0Qx+IafmNl/1JZBt73vRppqAwaMe8Fwan8bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G237wAAAbZQ8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2UWAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlHwM//////////////////////////////////////9bBFAkS///62D83/3//////+tg/X/+//////////////////////////////////////////18E0Ez18E0Ez///////rYS///////////////////2Mb4Cb1sH5f/v/////7WMf///+3sgrwYLf//////////////////bwfy/+////29kFeDBb//////6+CaCZ///////1tEiBigM////////////////QAAAbZSYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2UvAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlNgM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZT8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2VGAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlTwM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZVYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2VfAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABswAQhwAAAbYWYHGDqbckbbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G23yNtv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/pbmZu2ZJbtvJJO2vE2AwQgZLrAgwAwfqIg2exkHiYA//w/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bGT+Ntv422/htUDghsgHCOPhDTc1su+pUUbf9/1abaoMGrH/hczvyKNAdBghDovgHR4EAA0GHLVA2kEhOyPgcB5IlDv2tfaB4L/rHCpsDIBRxKnbH6dWXq6pZSssp26bbZ+W/F7w1P41m38bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238iKRW2Pk6ovYqhlIy0ra0OGWvjnwvMUyB0GCEPR/QOj0IQBuCT/4G0olJmR8DgPJ0qP5b9sHgv+scK2wfD/81g1/CPAHiGyAeIY/ENPyNl/1KiDb3vejTTUBg0Y95oTHW/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/htFInbHydUXsVQykZYTtXiJtr45aChrfIq2B0GCEPS+gdHYQgDYJP/gbSiUmZHwOA8nSo/lrbYPBf9Y4VtrgFqgHiGyAaIY/ENPzGy/6ksg2973o001AYNGPeC4NT+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb98AAAG2VvAz////////////////////////////////////////////////////////////////////////+7///////////////////////////////////////////////////////////////////////////////////////////////////////////////QAAAbZXYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2V/Az///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlhgM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZY8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2WWAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlnwM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZaYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2WvAz//////////////////////////////////////1sJNTXTp1wfY/+106ZcH2P/vU106dcH2P/tdOmXB9j/71NdOnXB9j/7XTplwfY/+9TXTp1wfY/+106ZcH2P/vU106dcH2P/tdOmXB9j/71NdOnXB9j/7XTplwfY/+9bBgXWprp064Psf/a6dMuD7H/3qa6dOuD7H/2unTLg+x/96munTrg+x/9rp0y4Psf/eprp064Psf/a6dMuD7H/3qa6dOuD7H/2unTLg+x/96munTrg+x/9rp0y4Psf/f///6mD0EAKDJComB+uAF//////////////9vKxCRMA+RAD7eDAuv//////////////////////////r4MCYDAm+vgwJgMCb/+ti3/////////////////////////WwYFx//////2sHt4AMFG/7XAYB///28pQgSbHAMe///////////sYOIP//////////+3lKECTY4Bj3//////r4MCYDAm///////////////////////7AAABtltgM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZb8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAGzABCHAAABthxgcYOptyRtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfI22/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+N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PRCjYgxN/BwyBFUy15Om+CvEBsWfG2Mn8bbfxtt/DaoHBDZAOEcfCGm5rZd9Soo2/7/q021QYNWP/C5nfkUaA6DBCHRfAOjwIABoMOWqBtIJCdkfA4DyRKHfta+0DwX/WOFTYGQCjiVO2P06svV1SylZZTt022z8t+L3hqfxrNv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv5EUitsfJ1RexVDKRlpW1ocMtfHPheYpkDoMEIej+gdHoQgDcEn/wNpRKTMj4HAeTpUfy37YPBf9Y4Vtg+H/5rBr+EeAPENkA8Qx+IafkbL/qVEG3ve9GmmoDBox7zQmOt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/DaKRO2Pk6ovYqhlIywnavETbXxy0FDW+RVsDoMEIel9A6OwhAGwSf/A2lEpMyPgcB5OlR/LW2weC/6xwrbXALVAPENkA0Qx+IafmNl/1JZBt73vRppqAwaMe8Fwan8bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G234AAAG2XPAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtl1gM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZd8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2XmAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtl7wM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZoMBn//////////////////////////////////////rYMCfqYP5QBIP5QBOpg/lAEg/lAE6mD+UASD+UATqYP5QBIP5QBOpg/lAEg/lAE6mD+UASD+UAT9TB/KAJB/KAJ1MH8oAkH8oAnUwfygCQfygCdTB/KAJB/KAJ1MH8oAkH8oAnUwfygCQfygCf///1MEYHx//sbpQecgDSD//////////////28qB+b/528tBgW/////r4XBf/////////////////////////////////////////////////9jFX//////9vB6L/9CL//////////18Lgv////2MJP/////////////////////////1sHnv/0Mv///////////////cAAAG2UPAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlFgM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZR8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2UmAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlLwM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbMAEMcAAAG2E2Bxg6m3JG238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt8jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv6W5mbtmSW7bySTtrxNgMEIGS6wIMAMH6iINnsZB4mAP/8PwfKgC/iNjZlhlI3qpOx9Uy1efYb9ub7QVPhar8bbfxtt/G238bbfxtt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X/WOFTYGQCjiVO2P06svV1SylZZTt022z8t+L3hqfxrNv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv5EUitsfJ1RexVDKRlpW1ocMtfHPheYpkDoMEIej+gdHoQgDcEn/wNpRKTMj4HAeTpUfy37YPBf9Y4Vtg+H/5rBr+EeAPENkA8Qx+IafkbL/qVEG3ve9GmmoDBox7zQmOt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/DaKRO2Pk6ovYqhlIywnavETbXxy0FDW+RVsDoMEIel9A6OwhAGwSf/A2lEpMyPgcB5OlR/LW2weC/6xwrbXALVAPENkA0Qx+IafmNl/1JZBt73vRppqAwaMe8Fwan8bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G237wAAAbZT8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2VGAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlTwM//////////////////////////////////////9bBFAkS///62D83/3//////+tg/X/+//////////////////////////////////////////18E0Ez18E0Ez///////rYS///////////////////2Mb4Cb1sH5f/v/////7WMf///+3sgrwYLf//////////////////bwfy/+////29kFeDBb//////6+CaCZ///////1tEiBigM////////////////QAAAbZVYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2VfAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlZgM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZW8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2V2Az///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlfwM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZYYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2WPAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABswAQxwAAAbYZYHGDqbckbbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G23yNtv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/pbmZu2ZJbtvJJO2vE2AwQgZLrAgwAwfqIg2exkHiYA//w/B8qAL+I2NmWGUjeqk7H1TLV59hv25vtBU+Fqvxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G238bbfxtt/G239hOBh0JWqh4kH4+LICCChEtkQghK1bHmcEJIkaA2OxJa82BdscFoDC6ZKB4RxLbVDoA4EMEP6oC4IcBSp2hDoeh6P0w8HIgDgHdPJA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iGyAeIY/ENPyNl/1KiDb3vejTTUBg0Y95oTHW/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/htFInbHydUXsVQykZYTtXiJtr45aChrfIq2B0GCEPS+gdHYQgDYJP/gbSiUmZHwOA8nSo/lrbYPBf9Y4VtrgFqgHiGyAaIY/ENPzGy/6ksg2973o001AYNGPeC4NT+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb+Ntv422/jbb98AAAG2WfAz////////////////////////////////////////////////////////////////////////+7///////////////////////////////////////////////////////////////////////////////////////////////////////////////QAAAbZaYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2WvAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtltgM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZb8DP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2XGAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAABtlzwM////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gAAAbZdYDP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4AAAG2XfAz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+AAAFQm1vb3YAAABsbXZoZAAAAAAAAAAAAAAAAAAAA+gAAA9eAAEAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAARsdHJhawAAAFx0a2hkAAAAAwAAAAAAAAAAAAAAAQAAAAAAAA9eAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAALSAAABegAAAAAAJGVkdHMAAAAcZWxzdAAAAAAAAAABAAAPXgAAAAAAAQAAAAAD5G1kaWEAAAAgbWRoZAAAAAAAAAAAAAAAAAAAPAAAAOwAVcQAAAAAAC1oZGxyAAAAAAAAAAB2aWRlAAAAAAAAAAAAAAAAVmlkZW9IYW5kbGVyAAAAA49taW5mAAAAFHZtaGQAAAABAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAANPc3RibAAAANtzdHNkAAAAAAAAAAEAAADLbXA0dgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAALSAXoASAAAAEgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj//wAAAGFlc2RzAAAAAAOAgIBQAAEABICAgEIgEQAAAAD53LAAB7rQBYCAgDAAAAGwAQAAAbWJEwAAAQAAAAEgAMSNiAD1FpQvVGMAAAGyTGF2YzU4LjEzNC4xMDAGgICAAQIAAAAUYnRydAAAAAAA+dywAAe60AAAABhzdHRzAAAAAAAAAAEAAAB2AAACAAAAADhzdHNzAAAAAAAAAAoAAAABAAAADQAAABkAAAAlAAAAMQAAAD0AAABJAAAAVQAAAGEAAABtAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAB2AAAAAQAAAexzdHN6AAAAAAAAAAAAAAB2AABHdAAABv8AAADyAAAAnwAAAJ0AAACdAAAAnQAAAJ0AAACdAAAHRwAAANcAAACRAABbRAAAAJEAAACRAAAAkQAAAJEAAACRAAABJwAAAJEAAACRAAAAkQAAAJEAAACRAABbQQAAAJEAAACRAAAAzQAAAJEAAACRAAAAkgAAAJEAAACRAAAAkQAAAJEAAACRAABbYQAAAJIAAACRAAAAkQAAAJEAAACRAAAAkQAAAJEAAACRAAABlgAAAJEAAACRAABbRAAAAJEAAACRAAAAkQAAAJEAAACRAAABJwAAAJEAAACRAAAAkQAAAJEAAACRAABbQQAAAJEAAACRAAAAzQAAAJEAAACRAAAAkQAAAJEAAACRAAAAkQAAAJEAAACRAABbYQAAAJIAAACRAAAAkQAAAJEAAACRAAAAkQAAAJEAAACRAAABlgAAAJEAAACRAABbRAAAAJEAAACRAAAAkQAAAJEAAACRAAABJwAAAJEAAACRAAAAkQAAAJEAAACRAABbQQAAAJEAAACRAAAAzQAAAJEAAACRAAAAkQAAAJEAAACRAAAAkQAAAJEAAACRAABbYQAAAJIAAACRAAAAkQAAAJEAAACRAAAAkQAAAJEAAACRAAAAkQAAABRzdGNvAAAAAAAAAAEAAAAsAAAAYnVkdGEAAABabWV0YQAAAAAAAAAhaGRscgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAtaWxzdAAAACWpdG9vAAAAHWRhdGEAAAABAAAAAExhdmY1OC43Ni4xMDA=\n" + ] + } + ], + "source": [ + "\n", + "import os\n", + "import shutil\n", + "import threading\n", + "import time\n", + "import uuid\n", + "\n", + "path=\"../video/\"\n", + "\n", + "\n", + "def frameAnonymization(frame,indx,procFrame,request_id):\n", + " # request_id_var.set(request_id)\n", + " id = uuid.uuid4().hex\n", + " request_id_var.set(id)\n", + " ipath=path+str(request_id)+\"/\"+str(indx)+\".jpg\"\n", + " # print(ipath)\n", + " # Convert the frame to PIL Image\n", + " # base64.b64encode(frame).decode()\n", + " # Image.open(base64.b64encode(frame).decode())\n", + " # print(type(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)))\n", + " imagef = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))\n", + " imagef.save(ipath)\n", + " # image=open(\"test.jpg\",\"rb\")\n", + " # print(type(imagef))\n", + " image={\"file\":ipath}\n", + " image=AttributeDict(image)\n", + " # ocr=None\n", + " # global imageAnalyzerEngine\n", + "\n", + " # imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) \n", + " # imageRedactorEngine = ImageRedactorEngine(image_analyzer_engine=imageAnalyzerEngine)\n", + " # redacted_image = imageRedactorEngine.redact(image, (255, 192, 203))\n", + " payload={\"easyocr\":\"Tesseract\",\"mag_ratio\":False,\"rotationFlag\":False,\"image\":image,\"portfolio\":None,\"account\":None,\"exclusion\":None}\n", + " \n", + " redacted_image=PrivacyService.image_anonymize(payload)\n", + " decoded_bytes = base64.b64decode(redacted_image)\n", + "\n", + " # Create a BytesIO object to simulate a file-like object\n", + " bio = io.BytesIO(decoded_bytes)\n", + "\n", + " # Use OpenCV (assuming it's an image) or other libraries to load the image from the BytesIO object\n", + " img = cv2.imdecode(np.fromstring(bio.getvalue(), np.uint8), cv2.IMREAD_COLOR)\n", + "\n", + " # Convert the PIL Image back to OpenCV frame\n", + " frame = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)\n", + " procFrame[indx]=frame\n", + " return (frame,indx)\n", + " # Write the frame into the file 'output.avi'\n", + " # out.write(frame)\n", + "\n", + " # else:\n", + " # break\n", + "\n", + "\n", + "async def videoPrivacy(payload) -> Tuple[str, str]:\n", + " # upload_file = payload['video']\n", + " id = uuid.uuid4().hex\n", + " request_id_var.set(id)\n", + " _path=path+str(id)\n", + " if(not os.path.exists(_path)):\n", + " os.makedirs(_path)\n", + " # video_data = await upload_file.read()\n", + " s=time.time()\n", + " temp_file_path = r\"C:\\WORK\\GIT\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\src\\temp.avi\"\n", + " output_file_path = \"output3.mp4\"\n", + " # with open(temp_file_path, \"wb\") as temp_file:\n", + " # temp_file.write(video_data)\n", + " video = cv2.VideoCapture(temp_file_path)\n", + " # Get video properties\n", + " width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))\n", + " height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))\n", + " fps = video.get(cv2.CAP_PROP_FPS)\n", + " sampling_rate=int(fps*0.3)\n", + " # Define the codec and create a VideoWriter object\n", + " fourcc = cv2.VideoWriter_fourcc(*'XVID')\n", + " out = cv2.VideoWriter(output_file_path, fourcc, fps, (width, height))\n", + " frameList=[]\n", + " indxList=[]\n", + " first=True\n", + " count=0\n", + " last_frame=None\n", + " print(\"samp \",sampling_rate)\n", + "\n", + "\n", + " # audio_fps = video.get(cv2.CAP_PROP_FPS)\n", + " # fourcc = int(video.get(cv2.CAP_PROP_FOURCC)) \n", + " # print(\"aud\",audio_fps,fourcc)\n", + " # sampling_rate=1\n", + " while(video.isOpened()):\n", + " ret, frame = video.read()\n", + " # print(ret)\n", + " if ret==True:\n", + " if first:\n", + " frameList.append(frame)\n", + " indxList.append(count)\n", + " first=False \n", + " else:\n", + " if count % sampling_rate == 0:\n", + " frameList.append(frame)\n", + " indxList.append(count)\n", + " # else:\n", + " # frameList.append(None)\n", + " last_frame=frame\n", + " count+=1 \n", + " else:\n", + " break\n", + " if(count%sampling_rate!=0):\n", + " frameList.append(last_frame)\n", + " indxList.append(count)\n", + " print(\"totalFrame:\",count)\n", + " # print(indxList,len(indxList)) \n", + " print(\"after sampling\",len(frameList))\n", + " rcount=len(frameList)\n", + " framecopy=frameList.copy()\n", + " procFrame=[None]*(count+1)\n", + " # print(len(procFrame))\n", + " # indx=0\n", + " while framecopy:\n", + " threads = []\n", + " for _ in range(min(6, len(framecopy))): # Limit calls to remaining arguments\n", + " arg = framecopy.pop(0) # Get the first argument and remove it\n", + " indx=indxList.pop(0)\n", + " thread = threading.Thread(target=frameAnonymization, args=(arg,indx,procFrame,request_id_var.get()))\n", + " thread.start()\n", + " threads.append(thread)\n", + " # print(thread)\n", + " indx+=1\n", + " # Wait for all threads in the current set to finish\n", + "\n", + " print(\"remaining:\",rcount-len(framecopy),\"/\",rcount)\n", + " for thread in threads:\n", + " thread.join() \n", + " # print(\"===\",procFrame) \n", + " # Release everything when job is finished\n", + " # print(procFrame)\n", + " lstFrame=None\n", + " for frm in procFrame:\n", + " # print(frm,frm.any())\n", + " # print(frm,frm.all())\n", + " if(lstFrame is None):\n", + " lstFrame=frm\n", + " if(frm is not None):\n", + " lstFrame=frm \n", + " else:\n", + " frm=lstFrame\n", + " out.write(frm)\n", + " video.release()\n", + " out.release()\n", + " # Remove temporary file\n", + " # os.remove(temp_file_path)\n", + " # Read the processed video file\n", + " with open(output_file_path, \"rb\") as video_file:\n", + " video_data = video_file.read()\n", + " # Convert the video to base64\n", + " video_str = base64.b64encode(video_data).decode()\n", + " # Remove the output file\n", + " # os.remove(output_file_path)\n", + " shutil.rmtree(_path)\n", + " print(\"====\",time.time()-s)\n", + " del procFrame\n", + " del indxList\n", + " del frameList\n", + " return video_str\n", + "\n", + "s=await videoPrivacy({})\n", + "print(s)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "lstFrame=None\n", + "for frm in procFrame:\n", + " # print(frm,frm.any())\n", + " # print(frm,frm.all())\n", + " if(lstFrame is None):\n", + " lstFrame=frm\n", + " if(frm is not None):\n", + " lstFrame=frm \n", + " else:\n", + " frm=lstFrame\n", + " out.write(frm)\n", + "video.release()\n", + "out.release()\n", + "# Remove temporary file\n", + "# os.remove(temp_file_path)\n", + "# Read the processed video file\n", + "# with open(output_file_path, \"rb\") as video_file:\n", + "# video_data = video_file.read()\n", + "# # Convert the video to base64\n", + "# video_str = base64.b64encode(video_data).decode()\n", + "# Remove the output file\n", + "# os.remove(output_file_path)\n", + "shutil.rmtree(_path)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import cv2\n", + "import os\n", + "def sample_frames(video_path, output_dir=\"sampled_frames\"):\n", + " \"\"\"\n", + " Samples frames from a video at a specified interval and saves them to a directory.\n", + "\n", + " Args:\n", + " video_path (str): Path to the input video.\n", + " sampling_rate (int, optional): Interval between frames to sample. Defaults to 10.\n", + " output_dir (str, optional): Directory to save the sampled frames. Defaults to \"sampled_frames\".\n", + " \"\"\"\n", + "\n", + " cap = cv2.VideoCapture(video_path)\n", + " fps = cap.get(cv2.CAP_PROP_FPS) # Get the video's frame rate (informational)\n", + " sampling_rate=int(fps*0.3)\n", + " print(sampling_rate)\n", + " # print(fps)\n", + " count = 0\n", + " while True:\n", + " ret, frame = cap.read()\n", + " if not ret:\n", + " break\n", + "\n", + " if count % sampling_rate == 0:\n", + " # Create output directory if it doesn't exist\n", + " if not os.path.exists(output_dir):\n", + " os.makedirs(output_dir)\n", + "\n", + " # Generate frame filename with frame number\n", + " filename = f\"{output_dir}/frame_{count}.jpg\"\n", + " cv2.imwrite(filename, frame)\n", + "\n", + " count += 1\n", + "\n", + " cap.release()\n", + "\n", + " print(f\"Sampled frames at a rate of 1 frame every {sampling_rate / fps:.2f} seconds (based on video FPS).\")\n", + "\n", + "if __name__ == \"__main__\":\n", + " temp_file_path = r\"C:\\WORK\\GIT\\responsible-ai-admin\\responsible-ai-admin\\src\\rai_admin\\temp\\Recording 2024-05-28 181908.mp4\"\n", + " # Replace with your video path\n", + " sample_frames(temp_file_path, sampling_rate=10)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Looking in indexes: https://infyartifactory.ad.infosys.com/artifactory/api/pypi/pypi-remote/simple, https://infyartifactory.ad.infosys.com/artifactory/api/pypi/pypi-remote/simple\n", + "Requirement already satisfied: moviepy in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (1.0.3)\n", + "Requirement already satisfied: decorator<5.0,>=4.0.2 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from moviepy) (4.4.2)\n", + "Requirement already satisfied: imageio<3.0,>=2.5 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from moviepy) (2.33.0)\n", + "Requirement already satisfied: imageio-ffmpeg>=0.2.0 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from moviepy) (0.4.9)\n", + "Requirement already satisfied: numpy>=1.17.3 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from moviepy) (1.26.2)\n", + "Requirement already satisfied: proglog<=1.0.0 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from moviepy) (0.1.10)\n", + "Requirement already satisfied: tqdm<5.0,>=4.11.2 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from moviepy) (4.66.1)\n", + "Requirement already satisfied: requests<3.0,>=2.8.1 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from moviepy) (2.31.0)\n", + "Requirement already satisfied: pillow>=8.3.2 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from imageio<3.0,>=2.5->moviepy) (10.1.0)\n", + "Requirement already satisfied: setuptools in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from imageio-ffmpeg>=0.2.0->moviepy) (65.5.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from requests<3.0,>=2.8.1->moviepy) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from requests<3.0,>=2.8.1->moviepy) (3.6)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from requests<3.0,>=2.8.1->moviepy) (2.1.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from requests<3.0,>=2.8.1->moviepy) (2023.11.17)\n", + "Requirement already satisfied: colorama in c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages (from tqdm<5.0,>=4.11.2->moviepy) (0.4.6)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING: Ignoring invalid distribution -ensorflow-intel (c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages)\n", + "WARNING: Ignoring invalid distribution -ensorflow-intel (c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages)\n", + "WARNING: Ignoring invalid distribution -ensorflow-intel (c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages)\n", + "WARNING: Ignoring invalid distribution -ensorflow-intel (c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages)\n", + "WARNING: Ignoring invalid distribution -ensorflow-intel (c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages)\n", + "WARNING: Ignoring invalid distribution -ensorflow-intel (c:\\work\\git\\cpy1\\responsible-ai-privacy\\responsible-ai-privacy\\myenv\\lib\\site-packages)\n", + "\n", + "[notice] A new release of pip is available: 23.0.1 -> 24.0\n", + "[notice] To update, run: python.exe -m pip install --upgrade pip\n" + ] + } + ], + "source": [ + "!pip install moviepy" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "ename": "error", + "evalue": "OpenCV(4.8.1) :-1: error: (-5:Bad argument) in function 'VideoCapture'\n> Overload resolution failed:\n> - Can't convert object to 'str' for 'filename'\n> - VideoCapture() missing required argument 'apiPreference' (pos 2)\n> - Argument 'index' is required to be an integer\n> - VideoCapture() missing required argument 'apiPreference' (pos 2)\n", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31merror\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[5], line 12\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[38;5;66;03m# print(len(clip))\u001b[39;00m\n\u001b[0;32m 9\u001b[0m \u001b[38;5;66;03m# clipping of the video \u001b[39;00m\n\u001b[0;32m 10\u001b[0m \u001b[38;5;66;03m# getting video for only starting 10 seconds \u001b[39;00m\n\u001b[0;32m 11\u001b[0m clip \u001b[38;5;241m=\u001b[39m clip\u001b[38;5;241m.\u001b[39msubclip(\u001b[38;5;241m0\u001b[39m, \u001b[38;5;241m10\u001b[39m) \n\u001b[1;32m---> 12\u001b[0m cap \u001b[38;5;241m=\u001b[39m \u001b[43mcv2\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mVideoCapture\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclip\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 13\u001b[0m \u001b[38;5;66;03m# rotating video by 180 degree \u001b[39;00m\n", + "\u001b[1;31merror\u001b[0m: OpenCV(4.8.1) :-1: error: (-5:Bad argument) in function 'VideoCapture'\n> Overload resolution failed:\n> - Can't convert object to 'str' for 'filename'\n> - VideoCapture() missing required argument 'apiPreference' (pos 2)\n> - Argument 'index' is required to be an integer\n> - VideoCapture() missing required argument 'apiPreference' (pos 2)\n" + ] + } + ], + "source": [ + "# Import everything needed to edit video clips \n", + "from moviepy.editor import *\n", + "import cv2\n", + "temp_file_path = r\"C:\\Users\\amitumamaheshwar.h\\Downloads\\OCS - Bulk Upload 2.mp4\"\n", + "# loading video dsa gfg intro video \n", + "clip = VideoFileClip(temp_file_path) \n", + "\n", + "# print(len(clip))\n", + "# clipping of the video \n", + "# getting video for only starting 10 seconds \n", + "clip = clip.subclip(0, 10) \n", + "# cap = cv2.VideoCapture(clip)\n", + "# rotating video by 180 degree \n", + "print(clip)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "import cv2" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "ename": "error", + "evalue": "OpenCV(4.8.1) D:\\a\\opencv-python\\opencv-python\\opencv\\modules\\core\\include\\opencv2/core/private.cuda.hpp:106: error: (-216:No CUDA support) The library is compiled without CUDA support in function 'throw_no_cuda'\n", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31merror\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[8], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[43mcv2\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcuda\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetDevice\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "\u001b[1;31merror\u001b[0m: OpenCV(4.8.1) D:\\a\\opencv-python\\opencv-python\\opencv\\modules\\core\\include\\opencv2/core/private.cuda.hpp:106: error: (-216:No CUDA support) The library is compiled without CUDA support in function 'throw_no_cuda'\n" + ] + } + ], + "source": [ + "cv2.cuda.getDevice()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "async def videoPrivacy(payload) -> Tuple[str, str]:\n", + " payload=AttributeDict(payload)\n", + " upload_file = payload.video\n", + " video_data = await upload_file.read()\n", + "\n", + " temp_file_path = \"temp.avi\"\n", + " output_file_path = \"output.avi\"\n", + "\n", + " with open(temp_file_path, \"wb\") as temp_file:\n", + " temp_file.write(video_data)\n", + "\n", + " video = cv2.VideoCapture(temp_file_path)\n", + "\n", + " # Get video properties\n", + " width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))\n", + " height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))\n", + " fps = video.get(cv2.CAP_PROP_FPS)\n", + "\n", + " # Define the codec and create a VideoWriter object\n", + " fourcc = cv2.VideoWriter_fourcc(*'XVID')\n", + " out = cv2.VideoWriter(output_file_path, fourcc, fps, (width, height))\n", + "\n", + " while(video.isOpened()):\n", + " ret, frame = video.read()\n", + " if ret==True:\n", + " # Convert the frame to PIL Image\n", + " imagef = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))\n", + " imagef.save(\"videoframe.jpg\")\n", + " # image=open(\"test.jpg\",\"rb\")\n", + " # print(type(imagef))\n", + " image={\"file\":\"videoframe.jpg\"}\n", + " image=AttributeDict(image)\n", + " # ocr=None\n", + " # global imageAnalyzerEngine\n", + "\n", + " # imageAnalyzerEngine = ImageAnalyzerEngine(analyzer_engine=analyzer,ocr=ocr) \n", + " # imageRedactorEngine = ImageRedactorEngine(image_analyzer_engine=imageAnalyzerEngine)\n", + " # redacted_image = imageRedactorEngine.redact(image, (255, 192, 203))\n", + " payload[\"image\"]=image\n", + " redacted_image=PrivacyService.image_anonymize(payload)\n", + " decoded_bytes = base64.b64decode(redacted_image)\n", + "\n", + " # Create a BytesIO object to simulate a file-like object\n", + " bio = io.BytesIO(decoded_bytes)\n", + "\n", + " # Use OpenCV (assuming it's an image) or other libraries to load the image from the BytesIO object\n", + " img = cv2.imdecode(np.fromstring(bio.getvalue(), np.uint8), cv2.IMREAD_COLOR)\n", + "\n", + " # Convert the PIL Image back to OpenCV frame\n", + " frame = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)\n", + "\n", + " # Write the frame into the file 'output.avi'\n", + " out.write(frame)\n", + "\n", + " else:\n", + " break\n", + " \n", + " # Release everything when job is finished\n", + " video.release()\n", + " out.release()\n", + "\n", + " # Remove temporary file\n", + " # os.remove(temp_file_path)\n", + "\n", + " # Read the processed video file\n", + " with open(output_file_path, \"rb\") as video_file:\n", + " video_data = video_file.read()\n", + "\n", + " # Convert the video to base64\n", + " video_str = base64.b64encode(video_data).decode()\n", + "\n", + " # Remove the output file\n", + " # os.remove(output_file_path)\n", + "\n", + " return video_str" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "myenv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +}