diff --git a/Dockerfile b/Dockerfile index fafd234f88..2e97b1489d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,20 +19,6 @@ RUN [ -f pnpm-lock.yaml ] || (echo "Lockfile not found." && exit 1) RUN pnpm i -# --------- install dependence ----------- -FROM node:18.17-alpine AS workerDeps -WORKDIR /app - -ARG proxy - -RUN [ -z "$proxy" ] || sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories -RUN apk add --no-cache libc6-compat && npm install -g pnpm@8.6.0 -# if proxy exists, set proxy -RUN [ -z "$proxy" ] || pnpm config set registry https://registry.npmmirror.com - -COPY ./worker /app/worker -RUN cd /app/worker && pnpm i --production --ignore-workspace - # --------- builder ----------- FROM node:18.17-alpine AS builder WORKDIR /app @@ -72,12 +58,15 @@ COPY --from=builder /app/projects/$name/public /app/projects/$name/public COPY --from=builder /app/projects/$name/next.config.js /app/projects/$name/next.config.js COPY --from=builder --chown=nextjs:nodejs /app/projects/$name/.next/standalone /app/ COPY --from=builder --chown=nextjs:nodejs /app/projects/$name/.next/static /app/projects/$name/.next/static +# copy server chunks +COPY --from=builder --chown=nextjs:nodejs /app/projects/$name/.next/server/chunks /app/projects/$name/.next/server/chunks +# copy worker +COPY --from=builder --chown=nextjs:nodejs /app/projects/$name/.next/server/worker /app/projects/$name/.next/server/worker # copy package.json to version file COPY --from=builder /app/projects/$name/package.json ./package.json -# copy woker -COPY --from=workerDeps /app/worker /app/worker # copy config COPY ./projects/$name/data /app/data + RUN chown -R nextjs:nodejs /app/data ENV NODE_ENV production diff --git a/docSite/assets/imgs/demo-appointment1.webp b/docSite/assets/imgs/demo-appointment1.webp index 29fc83a642..334c528483 100644 Binary files a/docSite/assets/imgs/demo-appointment1.webp and b/docSite/assets/imgs/demo-appointment1.webp differ diff --git a/docSite/assets/imgs/demo-appointment2.jpg b/docSite/assets/imgs/demo-appointment2.jpg deleted file mode 100644 index 0fa99fe396..0000000000 Binary files a/docSite/assets/imgs/demo-appointment2.jpg and /dev/null differ diff --git a/docSite/assets/imgs/demo-appointment2.webp b/docSite/assets/imgs/demo-appointment2.webp new file mode 100644 index 0000000000..7427201558 Binary files /dev/null and b/docSite/assets/imgs/demo-appointment2.webp differ diff --git a/docSite/assets/imgs/demo-appointment3.jpg b/docSite/assets/imgs/demo-appointment3.jpg deleted file mode 100644 index 8d63f17cb9..0000000000 Binary files a/docSite/assets/imgs/demo-appointment3.jpg and /dev/null differ diff --git a/docSite/assets/imgs/demo-appointment3.webp b/docSite/assets/imgs/demo-appointment3.webp new file mode 100644 index 0000000000..bd0e10609f Binary files /dev/null and b/docSite/assets/imgs/demo-appointment3.webp differ diff --git a/docSite/assets/imgs/demo-appointment4.jpg b/docSite/assets/imgs/demo-appointment4.jpg deleted file mode 100644 index a7774ba0ba..0000000000 Binary files a/docSite/assets/imgs/demo-appointment4.jpg and /dev/null differ diff --git a/docSite/assets/imgs/demo-appointment4.webp b/docSite/assets/imgs/demo-appointment4.webp new file mode 100644 index 0000000000..3ad33a75e4 Binary files /dev/null and b/docSite/assets/imgs/demo-appointment4.webp differ diff --git a/docSite/assets/imgs/demo-appointment5.jpg b/docSite/assets/imgs/demo-appointment5.jpg deleted file mode 100644 index 6d49e36428..0000000000 Binary files a/docSite/assets/imgs/demo-appointment5.jpg and /dev/null differ diff --git a/docSite/assets/imgs/demo-appointment5.png b/docSite/assets/imgs/demo-appointment5.png new file mode 100644 index 0000000000..f70df4df50 Binary files /dev/null and b/docSite/assets/imgs/demo-appointment5.png differ diff --git a/docSite/assets/imgs/demo-appointment6.jpg b/docSite/assets/imgs/demo-appointment6.jpg index 0faad28464..e74393cd01 100644 Binary files a/docSite/assets/imgs/demo-appointment6.jpg and b/docSite/assets/imgs/demo-appointment6.jpg differ diff --git a/docSite/assets/imgs/demo-appointment7.jpg b/docSite/assets/imgs/demo-appointment7.jpg deleted file mode 100644 index 8524dcae00..0000000000 Binary files a/docSite/assets/imgs/demo-appointment7.jpg and /dev/null differ diff --git a/docSite/assets/imgs/demo-appointment8.jpg b/docSite/assets/imgs/demo-appointment8.jpg deleted file mode 100644 index fb12e75c41..0000000000 Binary files a/docSite/assets/imgs/demo-appointment8.jpg and /dev/null differ diff --git a/docSite/assets/imgs/demo-appointment9.jpg b/docSite/assets/imgs/demo-appointment9.jpg deleted file mode 100644 index ad8dc0686d..0000000000 Binary files a/docSite/assets/imgs/demo-appointment9.jpg and /dev/null differ diff --git a/docSite/assets/imgs/demo-dalle1.png b/docSite/assets/imgs/demo-dalle1.png deleted file mode 100644 index 094d2459f8..0000000000 Binary files a/docSite/assets/imgs/demo-dalle1.png and /dev/null differ diff --git a/docSite/assets/imgs/demo-dalle1.webp b/docSite/assets/imgs/demo-dalle1.webp new file mode 100644 index 0000000000..94a928a047 Binary files /dev/null and b/docSite/assets/imgs/demo-dalle1.webp differ diff --git a/docSite/assets/imgs/demo-dalle2.webp b/docSite/assets/imgs/demo-dalle2.webp index cb71a6a0af..08b8b56a92 100644 Binary files a/docSite/assets/imgs/demo-dalle2.webp and b/docSite/assets/imgs/demo-dalle2.webp differ diff --git a/docSite/assets/imgs/demo-fix-evidence1.jpg b/docSite/assets/imgs/demo-fix-evidence1.jpg new file mode 100644 index 0000000000..8e69bc8b88 Binary files /dev/null and b/docSite/assets/imgs/demo-fix-evidence1.jpg differ diff --git a/docSite/assets/imgs/demo-fix-evidence1.png b/docSite/assets/imgs/demo-fix-evidence1.png deleted file mode 100644 index 32126f5d60..0000000000 Binary files a/docSite/assets/imgs/demo-fix-evidence1.png and /dev/null differ diff --git a/docSite/assets/imgs/demo-fix-evidence2.jpg b/docSite/assets/imgs/demo-fix-evidence2.jpg new file mode 100644 index 0000000000..20afff8d91 Binary files /dev/null and b/docSite/assets/imgs/demo-fix-evidence2.jpg differ diff --git a/docSite/assets/imgs/demo-fix-evidence2.png b/docSite/assets/imgs/demo-fix-evidence2.png deleted file mode 100644 index e138c38f61..0000000000 Binary files a/docSite/assets/imgs/demo-fix-evidence2.png and /dev/null differ diff --git a/docSite/assets/imgs/feishuwebhook1.png b/docSite/assets/imgs/feishuwebhook1.png deleted file mode 100644 index e2813c6e59..0000000000 Binary files a/docSite/assets/imgs/feishuwebhook1.png and /dev/null differ diff --git a/docSite/assets/imgs/feishuwebhook1.webp b/docSite/assets/imgs/feishuwebhook1.webp new file mode 100644 index 0000000000..931dbf031f Binary files /dev/null and b/docSite/assets/imgs/feishuwebhook1.webp differ diff --git a/docSite/assets/imgs/feishuwebhook2.webp b/docSite/assets/imgs/feishuwebhook2.webp index d45ac59f8b..3506fa991c 100644 Binary files a/docSite/assets/imgs/feishuwebhook2.webp and b/docSite/assets/imgs/feishuwebhook2.webp differ diff --git a/docSite/assets/imgs/google_search_1.webp b/docSite/assets/imgs/google_search_1.webp index 476a2e73de..a735525e64 100644 Binary files a/docSite/assets/imgs/google_search_1.webp and b/docSite/assets/imgs/google_search_1.webp differ diff --git a/docSite/assets/imgs/google_search_2.jpg b/docSite/assets/imgs/google_search_2.jpg deleted file mode 100644 index b308550d15..0000000000 Binary files a/docSite/assets/imgs/google_search_2.jpg and /dev/null differ diff --git a/docSite/assets/imgs/google_search_2.webp b/docSite/assets/imgs/google_search_2.webp new file mode 100644 index 0000000000..ce2d670942 Binary files /dev/null and b/docSite/assets/imgs/google_search_2.webp differ diff --git a/docSite/assets/imgs/google_search_3.png b/docSite/assets/imgs/google_search_3.png deleted file mode 100644 index a13f7635e4..0000000000 Binary files a/docSite/assets/imgs/google_search_3.png and /dev/null differ diff --git a/docSite/assets/imgs/google_search_3.webp b/docSite/assets/imgs/google_search_3.webp new file mode 100644 index 0000000000..3808816b99 Binary files /dev/null and b/docSite/assets/imgs/google_search_3.webp differ diff --git a/docSite/assets/imgs/google_search_4.png b/docSite/assets/imgs/google_search_4.png deleted file mode 100644 index e2d43d5b28..0000000000 Binary files a/docSite/assets/imgs/google_search_4.png and /dev/null differ diff --git a/docSite/assets/imgs/google_search_4.webp b/docSite/assets/imgs/google_search_4.webp new file mode 100644 index 0000000000..958e206746 Binary files /dev/null and b/docSite/assets/imgs/google_search_4.webp differ diff --git a/docSite/assets/imgs/versatile_assistant_1.png b/docSite/assets/imgs/versatile_assistant_1.png deleted file mode 100644 index eb6756a1fe..0000000000 Binary files a/docSite/assets/imgs/versatile_assistant_1.png and /dev/null differ diff --git a/docSite/assets/imgs/versatile_assistant_2.png b/docSite/assets/imgs/versatile_assistant_2.png deleted file mode 100644 index fcf81c06b8..0000000000 Binary files a/docSite/assets/imgs/versatile_assistant_2.png and /dev/null differ diff --git a/docSite/assets/imgs/versatile_assistant_3.png b/docSite/assets/imgs/versatile_assistant_3.png deleted file mode 100644 index 204aedd866..0000000000 Binary files a/docSite/assets/imgs/versatile_assistant_3.png and /dev/null differ diff --git a/docSite/assets/imgs/versatile_assistant_4.png b/docSite/assets/imgs/versatile_assistant_4.png deleted file mode 100644 index 6748af31a3..0000000000 Binary files a/docSite/assets/imgs/versatile_assistant_4.png and /dev/null differ diff --git a/docSite/assets/imgs/versatile_assistant_5.png b/docSite/assets/imgs/versatile_assistant_5.png deleted file mode 100644 index 680c79f40b..0000000000 Binary files a/docSite/assets/imgs/versatile_assistant_5.png and /dev/null differ diff --git a/docSite/assets/imgs/versatile_assistant_6.png b/docSite/assets/imgs/versatile_assistant_6.png deleted file mode 100644 index 9f30626c64..0000000000 Binary files a/docSite/assets/imgs/versatile_assistant_6.png and /dev/null differ diff --git a/docSite/assets/imgs/versatile_assistant_7.png b/docSite/assets/imgs/versatile_assistant_7.png deleted file mode 100644 index f75b7c111c..0000000000 Binary files a/docSite/assets/imgs/versatile_assistant_7.png and /dev/null differ diff --git a/docSite/content/docs/development/faq.md b/docSite/content/docs/development/faq.md index 640cb5dc6c..7b9f6f2b1b 100644 --- a/docSite/content/docs/development/faq.md +++ b/docSite/content/docs/development/faq.md @@ -28,8 +28,8 @@ images: [] ### 其他模型没法进行问题分类/内容提取 -需要给其他模型配置`toolChoice=false`,就会默认走提示词模式。目前内置提示词仅针对了商业模型API进行测试。 -问题分类基本可用,内容提取不太行。 +1. 看日志。如果提示 JSON invalid,not support tool 之类的,说明该模型不支持工具调用或函数调用,需要设置`toolChoice=false`和`functionCall=false`,就会默认走提示词模式。目前内置提示词仅针对了商业模型API进行测试。问题分类基本可用,内容提取不太行。 +2. 如果已经配置正常,并且没有错误日志,则说明可能提示词不太适合该模型,可以通过修改`customCQPrompt`来自定义提示词。 ### 页面崩溃 diff --git a/docSite/content/docs/development/openapi/share.md b/docSite/content/docs/development/openapi/share.md index 8977ba5d15..cc865b616b 100644 --- a/docSite/content/docs/development/openapi/share.md +++ b/docSite/content/docs/development/openapi/share.md @@ -286,7 +286,7 @@ type ResponseType = { pluginOutput?: Record; // 插件输出 pluginDetail?: ChatHistoryItemResType[]; // 插件详情 - tfSwitchResult?: boolean; // 判断器结果 + isElseResult?: boolean; // 判断器结果 } ``` diff --git a/docSite/content/docs/development/upgrading/48.md b/docSite/content/docs/development/upgrading/48.md new file mode 100644 index 0000000000..146e2bd791 --- /dev/null +++ b/docSite/content/docs/development/upgrading/48.md @@ -0,0 +1,25 @@ +--- +title: 'V4.8(进行中)' +description: 'FastGPT V4.8 更新说明' +icon: 'upgrade' +draft: false +toc: true +weight: 824 +--- + +## 新工作流 + +FastGPT workflow V2上线,支持更加简洁的工作流模式。 + +**由于工作流差异较大,需要手动重新构建。** + +给应用和插件增加了 version 的字段,用于标识是旧工作流还是新工作流。当你更新 4.8 后,保存和新建的工作流均为新版,旧版工作流会有一个重置的弹窗提示。并且,如果是通过 API 和 分享链接 调用的工作流,仍可以正常使用,直到你下次保存它们。 + +## V4.8 更新说明 + +1. 重构 - 工作流 +2. 新增 - 工作流 Debug 模式,可以调试单个节点或者逐步调试工作流。 +3. 新增 - 定时执行应用。可轻松实现定时任务。 +4. 新增 - 插件自定义输入优化,可以渲染输入组件。 +5. 优化 - 工作流连线,可以四向连接,方便构建循环工作流。 +6. 优化 - worker进程管理,并将计算 Token 任务分配给 worker 进程。 \ No newline at end of file diff --git a/docSite/content/docs/workflow/examples/dalle3.md b/docSite/content/docs/workflow/examples/dalle3.md index f46c6e28c5..bd7415a9c3 100644 --- a/docSite/content/docs/workflow/examples/dalle3.md +++ b/docSite/content/docs/workflow/examples/dalle3.md @@ -9,7 +9,7 @@ weight: 404 | | | | --------------------- | --------------------- | -| ![](/imgs/demo-dalle1.png) | ![](/imgs/demo-dalle2.webp) | +| ![](/imgs/demo-dalle1.webp) | ![](/imgs/demo-dalle2.webp) | ## OpenAI Dalle3 接口 @@ -44,14 +44,14 @@ Response ## 编排思路 -1. 通过 AI 来优化图片绘制的提示词(这部省略了,自己找提示词即可) -2. 通过`HTTP 模块`调用 Dalle3 接口,获取图片的 URL。 -3. 通过`文本加工`来构建`Markdown`的图片格式。 -4. 通过`指定回复`来直接输出图片链接。 +1. 通过 AI 来优化图片绘制的提示词(这步省略了,自己找提示词即可) +2. 通过 `【HTTP 请求】模块` 调用 Dalle3 接口,获取图片的 URL。 +3. 通过 `【文本加工】模块` 来构建 `Markdown` 的图片格式。 +4. 通过 `【指定回复】模块` 来直接输出图片链接。 ### 1. 构建 HTTP 模块 -请求参数直接复制 Dalle3 接口的即可,并求改 prompt 为变量。需要增加一个`Headers.Authorization`。 +请求参数直接复制 Dalle3 接口的即可,并求改 prompt 为变量。需要增加一个 `Headers.Authorization` 。 Body: @@ -70,448 +70,402 @@ Headers: Response: -响应值需要根据Dalle3接口的返回值进行获取,我们只绘制了1张图片,所以只需要取第一张图片的URL即可。给 HTTP 模块增加一个`key`为`data[0].url`的输出值。 +响应值需要根据 Dalle3 接口的返回值进行获取,我们只绘制了1张图片,所以只需要取第一张图片的 URL 即可。给 HTTP 模块增加一个自定义输出 `data[0].url` 。 ### 2. 文本加工 - 构建图片链接 -在`Markdown`语法中`![图片描述](图片链接)`表示插入图片,图片链接由`HTTP模块`输出。 +在 `Markdown` 语法中 `![图片描述](图片链接)` 表示插入图片,图片链接由【HTTP 请求】模块输出。 -因此可以增加一个输入来接收`HTTP模块`的图片链接输出,并在`文本内容`中通过变量来引用图片链接,从而得到一个完整的`Markdown`图片格式。 +因此可以增加一个输入来接收 `【HTTP 请求】模块` 的图片链接输出,并在 `【文本加工】模块 - 文本` 中通过变量来引用图片链接,从而得到一个完整的 `Markdown` 图片格式。 ### 3. 指定回复 -指定回复可以直接输出传入的内容到客户端,因此可以直接输出加工好的`Markdown`图片格式即可。 +指定回复可以直接输出传入的内容到客户端,因此可以直接输出加工好的 `Markdown` 图片格式即可。 ## 编排代码 +{{% details title="编排配置" closed="true" %}} + ```json -[ - { - "moduleId": "userGuide", - "name": "core.module.template.App system setting", - "flowType": "userGuide", - "position": { - "x": 454.98510354678695, - "y": 721.4016845336229 - }, - "inputs": [ - { - "key": "welcomeText", - "type": "hidden", - "valueType": "string", - "label": "core.app.Welcome Text", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "variables", - "type": "hidden", - "valueType": "any", - "label": "core.module.Variable", - "value": [], - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "questionGuide", - "valueType": "boolean", - "type": "switch", - "label": "", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": 531.2422736065552, + "y": -486.7611729549753 }, - { - "key": "tts", - "type": "hidden", - "valueType": "any", - "label": "", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - } - ], - "outputs": [] - }, - { - "moduleId": "userChatInput", - "name": "core.module.template.Chat entrance", - "flowType": "questionInput", - "position": { - "x": 597.8136543694757, - "y": 1709.9244174501202 - }, - "inputs": [ - { - "key": "userChatInput", - "type": "systemInput", - "valueType": "string", - "label": "core.module.input.label.user question", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - } - ], - "outputs": [ - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "source", - "valueType": "string", - "targets": [ - { - "moduleId": "mqgfub", - "key": "prompt" + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" } - ] - } - ] - }, - { - "moduleId": "mqgfub", - "name": "Dalle3绘图", - "flowType": "httpRequest468", - "showStatus": true, - "position": { - "x": 1071.8956245626034, - "y": 1236.690825267034 - }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "system_httpMethod", - "type": "custom", - "valueType": "string", - "label": "", - "value": "POST", - "required": true, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpReqUrl", - "type": "hidden", - "valueType": "string", - "label": "", - "description": "core.module.input.description.Http Request Url", - "placeholder": "https://api.ai.com/getInventory", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "https://api.openai.com/v1/images/generations", - "connected": false - }, - { - "key": "system_httpHeader", - "type": "custom", - "valueType": "any", - "value": [ - { - "key": "Authorization", - "type": "string", - "value": "sk-xxx" + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false } - ], - "label": "", - "description": "core.module.input.description.Http Request Header", - "placeholder": "core.module.input.description.Http Request Header", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpParams", - "type": "hidden", - "valueType": "any", - "value": [], - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpJsonBody", - "type": "hidden", - "valueType": "any", - "value": "{\r\n \"model\": \"dall-e-3\",\r\n \"prompt\": \"{{prompt}}\",\r\n \"n\": 1,\r\n \"size\": \"1024x1024\"\r\n }", - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "DYNAMIC_INPUT_KEY", - "type": "target", - "valueType": "any", - "label": "core.module.inputType.dynamicTargetInput", - "description": "core.module.input.description.dynamic input", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": true, - "hideInApp": true, - "connected": false - }, - { - "key": "prompt", - "valueType": "string", - "label": "prompt", - "type": "target", - "required": true, - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true }, - "connected": true + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] + }, + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": 532.1275542407774, + "y": 46.03775600322817 }, - { - "key": "system_addInputParam", - "type": "addInputParam", - "valueType": "any", - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "editField": { - "key": true, - "name": true, - "description": true, + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", "required": true, - "dataType": true - }, - "defaultEditField": { + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "tMyUnRL5jIrC", + "name": "HTTP 请求", + "intro": "可以发出一个 HTTP 请求,实现更为复杂的操作(联网搜索、数据库查询等)", + "avatar": "/imgs/workflow/http.png", + "flowNodeType": "httpRequest468", + "showStatus": true, + "position": { + "x": 921.2377506442713, + "y": -483.94114977914256 + }, + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", "label": "", - "key": "", + "required": false, + "description": "core.module.input.description.HTTP Dynamic Input", + "editField": { + "key": true, + "valueType": true + } + }, + { + "key": "prompt", + "valueType": "string", + "label": "prompt", + "renderTypeList": [ + "reference" + ], "description": "", - "inputType": "target", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "system_httpMethod", + "renderTypeList": [ + "custom" + ], "valueType": "string", + "label": "", + "value": "POST", "required": true }, - "connected": false - } - ], - "outputs": [ - { - "key": "finish", - "label": "core.module.output.label.running done", - "description": "core.module.output.description.running done", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "system_addOutputParam", - "type": "addOutputParam", - "valueType": "any", - "label": "", - "targets": [], - "editField": { - "key": true, - "name": true, - "description": true, - "dataType": true + { + "key": "system_httpReqUrl", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "", + "description": "core.module.input.description.Http Request Url", + "placeholder": "https://api.ai.com/getInventory", + "required": false, + "value": "https://api.openai.com/v1/images/generations" }, - "defaultEditField": { + { + "key": "system_httpHeader", + "renderTypeList": [ + "custom" + ], + "valueType": "any", + "value": [ + { + "key": "Authorization", + "type": "string", + "value": "Bearer sk-zsfBsxEU3ApSFGYxF4CdB97e9556412588421823371b9f7b" + } + ], "label": "", - "key": "", - "description": "", - "outputType": "source", - "valueType": "string" - } - }, - { - "type": "source", - "valueType": "string", - "key": "data[0].url", - "label": "url", - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "dataType": true + "description": "core.module.input.description.Http Request Header", + "placeholder": "core.module.input.description.Http Request Header", + "required": false }, - "targets": [ - { - "moduleId": "nl6mr9", - "key": "url" + { + "key": "system_httpParams", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "value": [], + "label": "", + "required": false + }, + { + "key": "system_httpJsonBody", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "value": "{\n \"model\": \"dall-e-3\",\n \"prompt\": \"{{prompt}}\",\n \"n\": 1,\n \"size\": \"1024x1024\"\n}", + "label": "", + "required": false + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true } - ] - } - ] - }, - { - "moduleId": "xy76o2", - "name": "core.module.template.Assigned reply", - "flowType": "answerNode", - "position": { - "x": 2204.027057268489, - "y": 1256.786345213533 - }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "text", - "type": "textarea", - "valueType": "any", - "label": "core.module.input.label.Response content", - "description": "core.module.input.description.Response content", - "placeholder": "core.module.input.description.Response content", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - } - ], - "outputs": [ - { - "key": "finish", - "label": "core.module.output.label.running done", - "description": "core.module.output.description.running done", - "valueType": "boolean", - "type": "source", - "targets": [] - } - ] - }, - { - "moduleId": "nl6mr9", - "name": "core.module.template.textEditor", - "flowType": "pluginModule", - "showStatus": false, - "position": { - "x": 1690.1826860670342, - "y": 1262.3858719789062 + }, + { + "id": "httpRawResponse", + "key": "httpRawResponse", + "label": "原始响应", + "description": "HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。", + "valueType": "any", + "type": "static" + }, + { + "id": "DeKGGioBwaMf", + "type": "dynamic", + "key": "data[0].url", + "valueType": "string", + "label": "data[0].url" + } + ] }, - "inputs": [ - { - "key": "pluginId", - "type": "hidden", - "label": "", - "value": "community-textEditor", - "valueType": "string", - "connected": false, - "showTargetInApp": false, - "showTargetInPlugin": false - }, - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false + { + "nodeId": "CO3POL8svbbi", + "name": "文本加工", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 1417.5940290051137, + "y": -478.81889618104356 }, - { - "key": "textarea", - "valueType": "string", - "label": "文本内容", - "type": "textarea", - "required": true, - "description": "可以通过 {{key}} 的方式引用传入的变量。变量仅支持字符串或数字。", - "edit": false, - "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true, - "inputType": true + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } }, - "connected": false, - "placeholder": "可以通过 {{key}} 的方式引用传入的变量。变量仅支持字符串或数字。", - "value": "![]({{url}})" - }, - { - "key": "url", - "valueType": "string", - "label": "url", - "type": "target", - "required": true, - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, + { + "key": "url", + "valueType": "string", + "label": "url", + "renderTypeList": [ + "reference" + ], "required": true, - "dataType": true, - "inputType": false + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "tMyUnRL5jIrC", + "DeKGGioBwaMf" + ] }, - "connected": true - }, - { - "key": "DYNAMIC_INPUT_KEY", - "valueType": "any", - "label": "需要加工的输入", - "type": "addInputParam", - "required": false, - "description": "可动态的添加字符串类型变量,在文本编辑中通过 {{key}} 使用变量。非字符串类型,会自动转成字符串类型。", - "edit": false, - "editField": { - "key": true, - "name": true, - "description": true, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], "required": true, - "dataType": true, - "inputType": false - }, - "defaultEditField": { - "label": "", - "key": "", "description": "", - "inputType": "target", - "valueType": "string", - "required": true - }, - "connected": false - } - ], - "outputs": [ - { - "key": "text", - "valueType": "string", - "label": "core.module.output.label.text", - "type": "source", - "edit": false, - "targets": [ - { - "moduleId": "xy76o2", - "key": "text" + "canEdit": false, + "value": "![]({{url}})", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true } - ] - } - ] - } -] -``` \ No newline at end of file + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" + }, + { + "nodeId": "7mapnCgHfKW6", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 1922.5628399315042, + "y": -471.67391598231796 + }, + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "string", + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "selectedTypeIndex": 1, + "value": [ + "CO3POL8svbbi", + "text" + ] + } + ], + "outputs": [] + } + ], + "edges": [ + { + "source": "448745", + "target": "tMyUnRL5jIrC", + "sourceHandle": "448745-source-right", + "targetHandle": "tMyUnRL5jIrC-target-left" + }, + { + "source": "tMyUnRL5jIrC", + "target": "CO3POL8svbbi", + "sourceHandle": "tMyUnRL5jIrC-source-right", + "targetHandle": "CO3POL8svbbi-target-left" + }, + { + "source": "CO3POL8svbbi", + "target": "7mapnCgHfKW6", + "sourceHandle": "CO3POL8svbbi-source-right", + "targetHandle": "7mapnCgHfKW6-target-left" + } + ] +} +``` + +{{% /details %}} diff --git a/docSite/content/docs/workflow/examples/feishu_webhook.md b/docSite/content/docs/workflow/examples/feishu_webhook.md index c9c2b8cb7f..78573eb52f 100644 --- a/docSite/content/docs/workflow/examples/feishu_webhook.md +++ b/docSite/content/docs/workflow/examples/feishu_webhook.md @@ -11,7 +11,7 @@ weight: 404 | | | | --------------------- | --------------------- | -| ![](/imgs/feishuwebhook1.png) | ![](/imgs/feishuwebhook2.webp) | +| ![](/imgs/feishuwebhook1.webp) | ![](/imgs/feishuwebhook2.webp) | ## 1. 准备飞书机器人 @@ -23,14 +23,16 @@ weight: 404 复制下面配置,点击「高级编排」右上角的导入按键,导入该配置,导入后将飞书提供的接口地址复制到「HTTP 模块」。 +{{% details title="编排配置" closed="true" %}} + ```json [ { - "moduleId": "userGuide", + "nodeId": "userGuide", "name": "core.module.template.App system setting", "intro": "core.app.tip.userGuideTip", - "avatar": "/imgs/module/userGuide.png", - "flowType": "userGuide", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", "position": { "x": -92.26884681344463, "y": 710.9354029649536 @@ -82,11 +84,11 @@ weight: 404 "outputs": [] }, { - "moduleId": "userChatInput", + "nodeId": "userChatInput", "name": "core.module.template.Chat entrance", "intro": "当用户发送一个内容后,流程将会从这个模块开始执行。", - "avatar": "/imgs/module/userChatInput.svg", - "flowType": "questionInput", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "questionInput", "position": { "x": 241.60980819261408, "y": 1330.9528898009685 @@ -110,7 +112,7 @@ weight: 404 "valueType": "string", "targets": [ { - "moduleId": "n84rvg", + "nodeId": "n84rvg", "key": "userChatInput" } ] @@ -118,27 +120,17 @@ weight: 404 ] }, { - "moduleId": "n84rvg", + "nodeId": "n84rvg", "name": "工具调用(实验)", "intro": "通过AI模型自动选择一个或多个功能块进行调用,也可以对插件进行调用。", - "avatar": "/imgs/module/tool.svg", - "flowType": "tools", + "avatar": "/imgs/workflow/tool.svg", + "flowNodeType": "tools", "showStatus": true, "position": { "x": 809.4264785615641, "y": 873.3971746859133 }, "inputs": [ - { - "key": "switch", - "type": "triggerAndFinish", - "label": "", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, { "key": "model", "type": "settingLLMModel", @@ -227,7 +219,7 @@ weight: 404 "type": "hidden", "targets": [ { - "moduleId": "3mbu91", + "nodeId": "3mbu91", "key": "selectedTools" } ] @@ -243,27 +235,18 @@ weight: 404 ] }, { - "moduleId": "3mbu91", + "nodeId": "3mbu91", "name": "HTTP 请求", "intro": "调用飞书webhook,发送一个通知", - "avatar": "/imgs/module/http.png", - "flowType": "httpRequest468", + "avatar": "/imgs/workflow/http.png", + "flowNodeType": "httpRequest468", "showStatus": true, "position": { "x": 1483.6437630977423, "y": 798.9716928475544 }, "inputs": [ - { - "key": "switch", - "type": "triggerAndFinish", - "label": "", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, + { "key": "system_httpMethod", "type": "custom", @@ -327,7 +310,7 @@ weight: 404 "key": "DYNAMIC_INPUT_KEY", "type": "target", "valueType": "any", - "label": "core.module.inputType.dynamicTargetInput", + "label": "core.workflow.inputType.dynamicTargetInput", "description": "core.module.input.description.dynamic input", "required": false, "showTargetInApp": false, @@ -376,11 +359,11 @@ weight: 404 "type": "source", "targets": [ { - "moduleId": "rzx4mj", + "nodeId": "rzx4mj", "key": "switch" }, { - "moduleId": "psdhs1", + "nodeId": "psdhs1", "key": "switch" } ] @@ -424,11 +407,11 @@ weight: 404 ] }, { - "moduleId": "rzx4mj", + "nodeId": "rzx4mj", "name": "工具调用终止", "intro": "该模块需配置工具调用使用。当该模块被执行时,本次工具调用将会强制结束,并且不再调用AI针对工具调用结果回答问题。", - "avatar": "/imgs/module/toolStop.svg", - "flowType": "stopTool", + "avatar": "/imgs/workflow/toolStop.svg", + "flowNodeType": "stopTool", "position": { "x": 2145.5070710160267, "y": 1306.3581817783079 @@ -448,11 +431,11 @@ weight: 404 "outputs": [] }, { - "moduleId": "psdhs1", + "nodeId": "psdhs1", "name": "指定回复", "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", - "avatar": "/imgs/module/reply.png", - "flowType": "answerNode", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", "position": { "x": 2117.0429459850598, "y": 1658.4125434513746 @@ -495,6 +478,9 @@ weight: 404 ] ``` +{{% /details %}} + + ## 3. 流程说明 1. 为工具调用挂载一个HTTP模块,功能描述写上:调用飞书webhook,发送一个通知。 diff --git a/docSite/content/docs/workflow/examples/fixingEvidence.md b/docSite/content/docs/workflow/examples/fixingEvidence.md index 4ba2d52b0f..2a59cb7a36 100644 --- a/docSite/content/docs/workflow/examples/fixingEvidence.md +++ b/docSite/content/docs/workflow/examples/fixingEvidence.md @@ -7,9 +7,9 @@ toc: true weight: 401 --- -![](/imgs/demo-fix-evidence1.png) +![](/imgs/demo-fix-evidence1.jpg) -![](/imgs/demo-fix-evidence2.png) +![](/imgs/demo-fix-evidence2.jpg) 如上图,可以通过指定回复编排一个固定的开头和结尾内容。 @@ -21,318 +21,411 @@ weight: 401 {{% details title="编排配置" closed="true" %}} ```json -[ - { - "moduleId": "userChatInput", - "name": "用户问题(对话入口)", - "flowType": "questionInput", - "position": { - "x": 59.03170043915989, - "y": 1604.8595605938747 - }, - "inputs": [ - { - "key": "userChatInput", - "type": "systemInput", - "label": "用户问题", - "connected": true - } - ], - "outputs": [ - { - "key": "userChatInput", - "label": "用户问题", - "type": "source", - "valueType": "string", - "targets": [ - { - "moduleId": "chatModule", - "key": "userChatInput" - }, - { - "moduleId": "ymqh0t", - "key": "switch" - } - ] - } - ] - }, - { - "moduleId": "history", - "name": "聊天记录", - "flowType": "historyNode", - "position": { - "x": 38.19233923987295, - "y": 1184.4581738905642 - }, - "inputs": [ - { - "key": "maxContext", - "type": "numberInput", - "label": "最长记录数", - "value": 6, - "min": 0, - "max": 50, - "connected": true +{ + "nodes": [ + { + "nodeId": "7z5g5h", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": -269.50851681351924, + "y": 1657.6123698022448 }, - { - "key": "history", - "type": "hidden", - "label": "聊天记录", - "connected": true - } - ], - "outputs": [ - { - "key": "history", - "label": "聊天记录", - "valueType": "chatHistory", - "type": "source", - "targets": [ - { - "moduleId": "chatModule", - "key": "history" - } - ] - } - ] - }, - { - "moduleId": "chatModule", - "name": "AI 对话", - "flowType": "chatNode", - "showStatus": true, - "position": { - "x": 943.1225685246793, - "y": 891.3094521573212 + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "问题输入", + "required": true, + "toolDescription": "用户问题", + "type": "systemInput", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0, + "value": [ + "7z5g5h", + "userChatInput" + ] + } + ], + "outputs": [ + { + "id": "userChatInput", + "type": "static", + "key": "userChatInput", + "valueType": "string", + "label": "core.module.input.label.user question" + } + ] }, - "inputs": [ - { - "key": "model", - "type": "custom", - "label": "对话模型", - "value": "gpt-3.5-turbo", - "list": [ - { - "label": "FastGPT-4k", - "value": "gpt-3.5-turbo" - }, - { - "label": "FastGPT-16k", - "value": "gpt-3.5-turbo-16k" - }, - { - "label": "文心一言", - "value": "ERNIE-Bot" - }, - { - "label": "FastGPT-Plus", - "value": "gpt-4" - }, - { - "label": "glm2(演示娱乐)", - "value": "glm2-6b" - } - ], - "connected": true - }, - { - "key": "temperature", - "type": "slider", - "label": "温度", - "value": 0, - "min": 0, - "max": 10, - "step": 1, - "markList": [ - { - "label": "严谨", - "value": 0 - }, - { - "label": "发散", - "value": 10 - } - ], - "connected": true - }, - { - "key": "maxToken", - "type": "custom", - "label": "回复上限", - "value": 2000, - "min": 100, - "max": 4000, - "step": 50, - "markList": [ - { - "label": "100", - "value": 100 - }, - { - "label": "4000", - "value": 4000 - } - ], - "connected": true - }, - { - "key": "systemPrompt", - "type": "textarea", - "label": "系统提示词", - "max": 300, - "valueType": "string", - "description": "模型固定的引导词,通过调整该内容,可以引导模型聊天方向。该内容会被固定在上下文的开头。可使用变量,例如 {{language}}", - "placeholder": "模型固定的引导词,通过调整该内容,可以引导模型聊天方向。该内容会被固定在上下文的开头。可使用变量,例如 {{language}}", - "value": "", - "connected": true - }, - { - "key": "limitPrompt", - "type": "textarea", - "valueType": "string", - "label": "限定词", - "max": 500, - "description": "限定模型对话范围,会被放置在本次提问前,拥有强引导和限定性。不建议内容太长,会影响上下文,可使用变量,例如 {{language}}。可在文档中找到对应的限定例子", - "placeholder": "限定模型对话范围,会被放置在本次提问前,拥有强引导和限定性。不建议内容太长,会影响上下文,可使用变量,例如 {{language}}。可在文档中找到对应的限定例子", - "value": "", - "connected": true + { + "nodeId": "nlfwkc", + "name": "AI 对话", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 907.2058332478431, + "y": 1348.9992737142143 }, - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": true - }, - { - "key": "quoteQA", - "type": "target", - "label": "引用内容", - "description": "对象数组格式,结构:\n [{q:'问题',a:'回答'}]", - "valueType": "datasetQuote", - "connected": false - }, - { - "key": "history", - "type": "target", - "label": "聊天记录", - "valueType": "chatHistory", - "connected": true - }, - { - "key": "userChatInput", - "type": "target", - "label": "用户问题", - "required": true, - "valueType": "string", - "connected": true - } - ], - "outputs": [ - { - "key": "answerText", - "label": "AI回复", - "description": "将在 stream 回复完毕后触发", - "valueType": "string", - "type": "source", - "targets": [] + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "type": "selectLLMModel", + "required": true, + "showTargetInApp": false, + "showTargetInPlugin": false, + "value": "gpt-3.5-turbo", + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1, + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50, + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean", + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 300, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "type": "textarea", + "showTargetInApp": true, + "showTargetInPlugin": true, + "value": "", + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "required": true, + "min": 0, + "max": 30, + "value": 6, + "type": "numberInput", + "showTargetInApp": true, + "showTargetInPlugin": true, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "问题输入", + "required": true, + "toolDescription": "用户问题", + "type": "custom", + "showTargetInApp": true, + "showTargetInPlugin": true, + "connected": true, + "selectedTypeIndex": 0, + "value": [ + "7z5g5h", + "userChatInput" + ] + }, + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], + "label": "", + "debugLabel": "知识库引用", + "description": "core.module.Dataset quote.Input description", + "valueType": "datasetQuote", + "type": "target", + "showTargetInApp": true, + "showTargetInPlugin": true, + "connected": true, + "selectedTypeIndex": 0, + "value": [ + "fljhzy", + "quoteQA" + ] + } + ], + "outputs": [ + { + "id": "answerText", + "type": "static", + "key": "answerText", + "valueType": "string", + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content" + }, + { + "id": "history", + "type": "static", + "key": "history", + "valueType": "chatHistory", + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context" + } + ] + }, + { + "nodeId": "q9equb", + "name": "core.module.template.App system setting", + "intro": "可以配置应用的系统参数。", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": -275.92529567956024, + "y": 1094.1001488133452 }, - { - "key": "finish", - "label": "回复结束", - "description": "AI 回复完成后触发", - "valueType": "boolean", - "type": "source", - "targets": [ - { - "moduleId": "ojeopv", - "key": "switch" - } - ] - } - ] - }, - { - "moduleId": "ymqh0t", - "name": "指定回复", - "flowType": "answerNode", - "position": { - "x": 435.27459673941917, - "y": 1081.9477378716076 + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "value": "你好,我是电影《星际穿越》 AI 助手,有什么可以帮助你的?\n[导演是谁]\n[剧情介绍]\n[票房分析]", + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.module.Variable", + "value": [], + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "", + "type": "switch", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "" + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": true + { + "nodeId": "tc90wz", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 159.49274056478237, + "y": 1621.4635230667668 }, - { - "key": "text", - "type": "textarea", - "valueType": "string", - "value": "这是AI作答:\n\n---\n\n", - "label": "回复的内容", - "description": "可以使用 \\n 来实现换行。也可以通过外部模块输入实现回复,外部模块输入时会覆盖当前填写的内容", - "connected": true - } - ], - "outputs": [ - { - "key": "finish", - "label": "回复结束", - "description": "回复完成后触发", - "valueType": "boolean", - "type": "source", - "targets": [ - { - "moduleId": "chatModule", - "key": "switch" - } - ] - } - ] - }, - { - "moduleId": "ojeopv", - "name": "指定回复", - "flowType": "answerNode", - "position": { - "x": 1573.4540253108476, - "y": 1551.9808807287498 + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "type": "textarea", + "showTargetInApp": true, + "showTargetInPlugin": true, + "value": "这是开头\\n", + "connected": false, + "selectedTypeIndex": 0 + } + ], + "outputs": [] }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": true + { + "nodeId": "U5T3dMVY4wj7", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 1467.0625486167608, + "y": 1597.346243737531 }, - { - "key": "text", - "type": "textarea", - "valueType": "string", - "value": "\\n\n---\n\n这是固定的结尾", - "label": "回复的内容", - "description": "可以使用 \\n 来实现换行。也可以通过外部模块输入实现回复,外部模块输入时会覆盖当前填写的内容", - "connected": true - } - ], - "outputs": [ - { - "key": "finish", - "label": "回复结束", - "description": "回复完成后触发", - "valueType": "boolean", - "type": "source", - "targets": [] - } - ] - } -] + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "string", + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "value": "这是结尾" + } + ], + "outputs": [] + } + ], + "edges": [ + { + "source": "7z5g5h", + "target": "tc90wz", + "sourceHandle": "7z5g5h-source-right", + "targetHandle": "tc90wz-target-left" + }, + { + "source": "tc90wz", + "target": "nlfwkc", + "sourceHandle": "tc90wz-source-right", + "targetHandle": "nlfwkc-target-left" + }, + { + "source": "nlfwkc", + "target": "U5T3dMVY4wj7", + "sourceHandle": "nlfwkc-source-right", + "targetHandle": "U5T3dMVY4wj7-target-left" + } + ] +} ``` {{% /details %}} diff --git a/docSite/content/docs/workflow/examples/google_search.md b/docSite/content/docs/workflow/examples/google_search.md index a19bfec1fd..36aa42b5cf 100644 --- a/docSite/content/docs/workflow/examples/google_search.md +++ b/docSite/content/docs/workflow/examples/google_search.md @@ -9,11 +9,11 @@ weight: 402 | | | | --------------------- | --------------------- | -| 工具调用模式 ![](/imgs/google_search_3.png) | 工具调用模式 ![](/imgs/google_search_4.webp) | -| 非工具调用模式 ![](/imgs/google_search_1.png) | 非工具调用模式 ![](/imgs/google_search_2.jpg) | +| 工具调用模式 ![](/imgs/google_search_3.webp) | 工具调用模式 ![](/imgs/google_search_4.webp) | +| 非工具调用模式 ![](/imgs/google_search_1.webp) | 非工具调用模式 ![](/imgs/google_search_2.webp) | -如上图,利用 HTTP 模块,你可以外接一个搜索引擎作为AI回复的参考资料。这里以调用 Google Search API 为例。注意:本文主要是为了介绍 HTTP 模型,具体的搜索效果需要依赖提示词和搜索引擎,尤其是【搜索引擎】,简单的搜索引擎无法获取更详细的内容,这部分可能需要更多的调试。 +如上图,利用「HTTP请求」模块,你可以外接一个搜索引擎作为 AI 回复的参考资料。这里以调用 Google Search API 为例。注意:本文主要是为了介绍 「HTTP请求」模块,具体的搜索效果需要依赖提示词和搜索引擎,尤其是【搜索引擎】,简单的搜索引擎无法获取更详细的内容,这部分可能需要更多的调试。 ## 注册 Google Search API @@ -76,1308 +76,1201 @@ export default async function (ctx: FunctionContext) { 利用工具模块,则无需多余的操作,直接由模型决定是否调用谷歌搜索,并生成检索词即可。 -复制下面配置,点击「高级编排」右上角的导入按键,导入该配置,导入后将接口地址复制到「HTTP 模块」。 +复制下面配置,进入「高级编排」,在右上角的 “...” 中选择「导入配置」,导入后修改「HTTP 请求」模块 - 请求地址 的值。 {{% details title="编排配置" closed="true" %}} ```json -[ - { - "moduleId": "userGuide", - "name": "core.module.template.App system setting", - "intro": "core.app.tip.userGuideTip", - "avatar": "/imgs/module/userGuide.png", - "flowType": "userGuide", - "position": { - "x": -92.26884681344463, - "y": 710.9354029649536 +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": 262.2732338817093, + "y": -476.00241136598146 + }, + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" + } + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] }, - "inputs": [ - { - "key": "welcomeText", - "type": "hidden", - "valueType": "string", - "label": "core.app.Welcome Text", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "", - "connected": false - }, - { - "key": "variables", - "type": "hidden", - "valueType": "any", - "label": "core.module.Variable", - "value": [], - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "questionGuide", - "valueType": "boolean", - "type": "switch", - "label": "", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": false, - "connected": false - }, - { - "key": "tts", - "type": "hidden", - "valueType": "any", - "label": "", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": { - "type": "web" + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": 295.8944548701009, + "y": 110.81336038514848 + }, + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "NOgbnBzUwDgT", + "name": "工具调用(实验)", + "intro": "通过AI模型自动选择一个或多个功能块进行调用,也可以对插件进行调用。", + "avatar": "/imgs/workflow/tool.svg", + "flowNodeType": "tools", + "showStatus": true, + "position": { + "x": 1028.8358722416106, + "y": -500.8755882990822 + }, + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "llmModelType": "all", + "value": "FastAI-plus" }, - "connected": false - } - ], - "outputs": [] - }, - { - "moduleId": "userChatInput", - "name": "core.module.template.Chat entrance", - "intro": "当用户发送一个内容后,流程将会从这个模块开始执行。", - "avatar": "/imgs/module/userChatInput.svg", - "flowType": "questionInput", - "position": { - "x": 241.60980819261408, - "y": 1330.9528898009685 + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "你是谷歌搜索机器人,根据当前问题和对话记录生成搜索词。你需要自行判断是否需要进行网络实时查询:\n- 如果需查询则生成搜索词。\n- 如果不需要查询则不返回字段。" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "required": true, + "min": 0, + "max": 30, + "value": 6 + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "value": [ + "448745", + "userChatInput" + ] + } + ], + "outputs": [] }, - "inputs": [ - { - "key": "userChatInput", - "type": "systemInput", - "valueType": "string", - "label": "core.module.input.label.user question", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - } - ], - "outputs": [ - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "source", - "valueType": "string", - "targets": [ - { - "moduleId": "n84rvg", - "key": "userChatInput" + { + "nodeId": "GMELVPxHfpg5", + "name": "HTTP 请求", + "intro": "调用谷歌搜索,查询相关内容", + "avatar": "/imgs/workflow/http.png", + "flowNodeType": "httpRequest468", + "showStatus": true, + "position": { + "x": 1013.2159795348916, + "y": 210.8685573380423 + }, + "inputs": [ + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "core.module.input.description.HTTP Dynamic Input", + "editField": { + "key": true, + "valueType": true } - ] - } - ] - }, - { - "moduleId": "n84rvg", - "name": "工具调用(实验)", - "intro": "通过AI模型自动选择一个或多个功能块进行调用,也可以对插件进行调用。", - "avatar": "/imgs/module/tool.svg", - "flowType": "tools", - "showStatus": true, - "position": { - "x": 809.4264785615641, - "y": 873.3971746859133 - }, - "inputs": [ - { - "key": "switch", - "type": "triggerAndFinish", - "label": "", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "model", - "type": "settingLLMModel", - "label": "core.module.input.label.aiModel", - "required": true, - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "llmModelType": "all", - "value": "gpt-3.5-turbo", - "connected": false - }, - { - "key": "temperature", - "type": "hidden", - "label": "", - "value": 0, - "valueType": "number", - "min": 0, - "max": 10, - "step": 1, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "maxToken", - "type": "hidden", - "label": "", - "value": 2000, - "valueType": "number", - "min": 100, - "max": 4000, - "step": 50, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "systemPrompt", - "type": "textarea", - "max": 3000, - "valueType": "string", - "label": "core.ai.Prompt", - "description": "core.app.tip.chatNodeSystemPromptTip", - "placeholder": "core.app.tip.chatNodeSystemPromptTip", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "history", - "type": "numberInput", - "label": "core.module.input.label.chat history", - "required": true, - "min": 0, - "max": 30, - "valueType": "chatHistory", - "value": 6, - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "userChatInput", - "type": "custom", - "label": "", - "required": true, - "valueType": "string", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - } - ], - "outputs": [ - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "hidden", - "valueType": "string", - "targets": [] - }, - { - "key": "selectedTools", - "valueType": "tools", - "type": "hidden", - "targets": [ - { - "moduleId": "3mbu91", - "key": "selectedTools" + }, + { + "valueType": "string", + "renderTypeList": [ + "reference" + ], + "key": "query", + "label": "query", + "toolDescription": "谷歌搜索检索词", + "required": true, + "canEdit": true, + "editField": { + "key": true, + "description": true } - ] - }, - { - "key": "finish", - "label": "", - "description": "", - "valueType": "boolean", - "type": "hidden", - "targets": [] - } - ] - }, - { - "moduleId": "3mbu91", - "name": "HTTP 请求", - "intro": "调用谷歌搜索,查询相关内容。", - "avatar": "/imgs/module/http.png", - "flowType": "httpRequest468", - "showStatus": true, - "position": { - "x": 848.9794517815185, - "y": 1575.7019813927138 - }, - "inputs": [ - { - "key": "switch", - "type": "triggerAndFinish", - "label": "", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "system_httpMethod", - "type": "custom", - "valueType": "string", - "label": "", - "value": "POST", - "required": true, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpReqUrl", - "type": "hidden", - "valueType": "string", - "label": "", - "description": "core.module.input.description.Http Request Url", - "placeholder": "https://api.ai.com/getInventory", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "这里填写你的laf函数地址", - "connected": false - }, - { - "key": "system_httpHeader", - "type": "custom", - "valueType": "any", - "value": [], - "label": "", - "description": "core.module.input.description.Http Request Header", - "placeholder": "core.module.input.description.Http Request Header", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpParams", - "type": "hidden", - "valueType": "any", - "value": [], - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpJsonBody", - "type": "hidden", - "valueType": "any", - "value": "{\r\n \"searchKey\":\"{{query}}\"\r\n}", - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "DYNAMIC_INPUT_KEY", - "type": "target", - "valueType": "any", - "label": "core.module.inputType.dynamicTargetInput", - "description": "core.module.input.description.dynamic input", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": true, - "hideInApp": true, - "connected": false - }, - { - "key": "system_addInputParam", - "type": "addInputParam", - "valueType": "any", - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "editField": { - "key": true, - "description": true, - "dataType": true }, - "defaultEditField": { + { + "key": "system_httpMethod", + "renderTypeList": [ + "custom" + ], + "valueType": "string", "label": "", - "key": "", - "description": "", - "inputType": "target", - "valueType": "string" + "value": "POST", + "required": true }, - "connected": false - }, - { - "valueType": "string", - "type": "hidden", - "key": "query", - "label": "query", - "toolDescription": "谷歌搜索检索词", - "required": true, - "connected": false - } - ], - "outputs": [ - { - "key": "httpRawResponse", - "label": "原始响应", - "description": "HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。", - "valueType": "any", - "type": "source", - "targets": [] - }, - { - "key": "system_addOutputParam", - "type": "addOutputParam", - "valueType": "any", - "label": "", - "targets": [], - "editField": { - "key": true, - "description": true, - "dataType": true, - "defaultValue": true + { + "key": "system_httpReqUrl", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "", + "description": "core.module.input.description.Http Request Url", + "placeholder": "https://api.ai.com/getInventory", + "required": false, + "value": "https://xxxxxx.laf.dev/google_search" }, - "defaultEditField": { + { + "key": "system_httpHeader", + "renderTypeList": [ + "custom" + ], + "valueType": "any", + "value": [], "label": "", - "key": "", - "description": "", - "outputType": "source", - "valueType": "string" + "description": "core.module.input.description.Http Request Header", + "placeholder": "core.module.input.description.Http Request Header", + "required": false + }, + { + "key": "system_httpParams", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "value": [], + "label": "", + "required": false + }, + { + "key": "system_httpJsonBody", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "value": "{\n \"searchKey\": \"{{query}}\"\n}", + "label": "", + "required": false } - }, - { - "type": "source", - "valueType": "string", - "key": "prompt", - "label": "prompt", - "description": "", - "required": false, - "edit": true, - "editField": { - "key": true, - "description": true, - "dataType": true, - "defaultValue": true + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true + } }, - "targets": [] - } - ] - } -] + { + "id": "httpRawResponse", + "key": "httpRawResponse", + "label": "原始响应", + "description": "HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。", + "valueType": "any", + "type": "static" + }, + { + "id": "M5YmxaYe8em1", + "type": "dynamic", + "key": "prompt", + "valueType": "string", + "label": "prompt" + } + ] + } + ], + "edges": [ + { + "source": "448745", + "target": "NOgbnBzUwDgT", + "sourceHandle": "448745-source-right", + "targetHandle": "NOgbnBzUwDgT-target-left" + }, + { + "source": "NOgbnBzUwDgT", + "target": "GMELVPxHfpg5", + "sourceHandle": "selectedTools", + "targetHandle": "selectedTools" + } + ] +} ``` {{% /details %}} ## 模块编排 - 非工具调用方式 -复制下面配置,点击「高级编排」右上角的导入按键,导入该配置,导入后将接口地址复制到「HTTP 模块」。 +复制下面配置,进入「高级编排」,在右上角的 “...” 中选择「导入配置」,导入后修改「HTTP 请求」模块 - 请求地址 的值。 {{% details title="编排配置" closed="true" %}} ```json -[ - { - "moduleId": "userChatInput", - "name": "用户问题(对话入口)", - "flowType": "questionInput", - "position": { - "x": 200.0300839741032, - "y": 1641.7311245570252 - }, - "inputs": [ - { - "key": "userChatInput", - "type": "systemInput", - "valueType": "string", - "label": "core.module.input.label.user question", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - } - ], - "outputs": [ - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "source", - "valueType": "string", - "targets": [ - { - "moduleId": "6g2075", - "key": "content" +{ + "nodes": [ + { + "nodeId": "userGuide", + "name": "系统配置", + "intro": "可以配置应用的系统参数", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": 126.6166221945532, + "y": -456.00079128406236 + }, + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "value": "" + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.app.Chat Variable", + "value": [] + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "core.app.Question Guide", + "value": false + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "type": "web" } - ] - } - ] - }, - { - "moduleId": "6g2075", - "name": "文本内容提取", - "flowType": "contentExtract", - "showStatus": true, - "position": { - "x": 787.652411398441, - "y": 1168.747396089701 + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": { + "open": false, + "autoSend": false, + "autoTTSResponse": false + } + }, + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "model", - "type": "selectLLMModel", - "valueType": "string", - "label": "core.module.input.label.LLM", - "required": true, - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "gpt-3.5-turbo", - "connected": false - }, - { - "key": "description", - "type": "textarea", - "valueType": "string", - "label": "提取要求描述", - "description": "给AI一些对应的背景知识或要求描述,引导AI更好的完成任务。\n该输入框可使用全局变量。", - "required": true, - "placeholder": "例如: \n1. 当前时间为: {{cTime}}。你是一个实验室预约助手,你的任务是帮助用户预约实验室,从文本中获取对应的预约信息。\n2. 你是谷歌搜索助手,需要从文本中提取出合适的搜索词。", - "showTargetInApp": true, - "showTargetInPlugin": true, - "value": "你是谷歌搜索机器人,根据当前问题和对话记录生成搜索词。\n你需要自行判断是否需要进行网络实时查询:\n- 如果需查询则生成搜索词。\n- 如果不需要查询则不返回该字段。", - "connected": false - }, - { - "key": "history", - "type": "numberInput", - "label": "core.module.input.label.chat history", - "required": true, - "min": 0, - "max": 30, - "valueType": "chatHistory", - "value": 6, - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "content", - "type": "target", - "label": "需要提取的文本", - "required": true, - "valueType": "string", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "extractKeys", - "type": "custom", - "label": "目标字段", - "valueType": "any", - "description": "由 '描述' 和 'key' 组成一个目标字段,可提取多个目标字段", - "value": [ - { - "desc": "搜索词", - "key": "searchKey", - "required": false, - "enum": "" + { + "nodeId": "448745", + "name": "流程开始", + "intro": "", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": 189.99351048246606, + "y": 50.36949968375285 + }, + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "用户问题" + } + ], + "outputs": [ + { + "id": "userChatInput", + "key": "userChatInput", + "label": "core.module.input.label.user question", + "valueType": "string", + "type": "static" + } + ] + }, + { + "nodeId": "TWD5BAqIIFaj", + "name": "判断器", + "intro": "根据一定的条件,执行不同的分支。", + "avatar": "/imgs/workflow/ifElse.svg", + "flowNodeType": "ifElseNode", + "showStatus": true, + "position": { + "x": 1187.4821088468154, + "y": -143.83989103517257 + }, + "inputs": [ + { + "key": "condition", + "valueType": "string", + "label": "", + "renderTypeList": [ + "hidden" + ], + "required": false, + "value": "And" + }, + { + "key": "ifElseList", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": [ + { + "variable": [ + "lG52GzzMm65z", + "6yF19MRD3nuB" + ], + "condition": "isEmpty", + "value": "" + } + ] + } + ], + "outputs": [ + { + "id": "IF", + "key": "IF", + "label": "IF", + "valueType": "any", + "type": "source" + }, + { + "id": "ELSE", + "key": "ELSE", + "label": "ELSE", + "valueType": "any", + "type": "source" + } + ] + }, + { + "nodeId": "1ljV0oTq4zeC", + "name": "HTTP 请求", + "intro": "可以发出一个 HTTP 请求,实现更为复杂的操作(联网搜索、数据库查询等)", + "avatar": "/imgs/workflow/http.png", + "flowNodeType": "httpRequest468", + "showStatus": true, + "position": { + "x": 1992.0328696814468, + "y": 127.08080019458595 + }, + "inputs": [ + { + "key": "DYNAMIC_INPUT_KEY", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "core.module.input.description.HTTP Dynamic Input", + "editField": { + "key": true, + "valueType": true } - ], - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - } - ], - "outputs": [ - { - "key": "success", - "label": "字段完全提取", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "failed", - "label": "提取字段缺失", - "valueType": "boolean", - "type": "source", - "targets": [ - { - "moduleId": "5jtdwx", - "key": "switch" + }, + { + "key": "searchKey", + "valueType": "string", + "label": "searchKey", + "renderTypeList": [ + "reference" + ], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": [ + "lG52GzzMm65z", + "6yF19MRD3nuB" + ] + }, + { + "key": "system_httpMethod", + "renderTypeList": [ + "custom" + ], + "valueType": "string", + "label": "", + "value": "POST", + "required": true + }, + { + "key": "system_httpReqUrl", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "", + "description": "core.module.input.description.Http Request Url", + "placeholder": "https://api.ai.com/getInventory", + "required": false, + "value": "https://xxxxxx.laf.dev/google_search" + }, + { + "key": "system_httpHeader", + "renderTypeList": [ + "custom" + ], + "valueType": "any", + "value": [], + "label": "", + "description": "core.module.input.description.Http Request Header", + "placeholder": "core.module.input.description.Http Request Header", + "required": false + }, + { + "key": "system_httpParams", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "value": [], + "label": "", + "required": false + }, + { + "key": "system_httpJsonBody", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "value": "{\n \"searchKey\": \"{{searchKey}}\"\n}", + "label": "", + "required": false + }, + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "core.module.input.description.HTTP Dynamic Input", + "editField": { + "key": true, + "valueType": true } - ] - }, - { - "key": "fields", - "label": "完整提取结果", - "description": "一个 JSON 字符串,例如:{\"name:\":\"YY\",\"Time\":\"2023/7/2 18:00\"}", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "searchKey", - "label": "提取结果-搜索词", - "description": "无法提取时不会返回", - "valueType": "string", - "type": "source", - "targets": [ - { - "moduleId": "zakgqt", - "key": "prompt" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "key": "system_addOutputParam", + "type": "dynamic", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true } - ] - } - ] - }, - { - "moduleId": "r8ckxe", - "name": "AI 对话", - "flowType": "chatNode", - "showStatus": true, - "position": { - "x": 2886.1033536393606, - "y": 1867.5409594461544 - }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "model", - "type": "selectLLMModel", - "label": "core.module.input.label.aiModel", - "required": true, - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "gpt-3.5-turbo", - "connected": false - }, - { - "key": "temperature", - "type": "hidden", - "label": "", - "value": 0, - "valueType": "number", - "min": 0, - "max": 10, - "step": 1, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "maxToken", - "type": "hidden", - "label": "", - "value": 2000, - "valueType": "number", - "min": 100, - "max": 4000, - "step": 50, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "isResponseAnswerText", - "type": "hidden", - "label": "", - "value": true, - "valueType": "boolean", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "quoteTemplate", - "type": "hidden", - "label": "", - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "quotePrompt", - "type": "hidden", - "label": "", - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "aiSettings", - "type": "aiSettings", - "label": "", - "valueType": "any", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "systemPrompt", - "type": "textarea", - "label": "core.ai.Prompt", - "max": 300, - "valueType": "string", - "description": "core.app.tip.chatNodeSystemPromptTip", - "placeholder": "core.app.tip.chatNodeSystemPromptTip", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "history", - "type": "numberInput", - "label": "core.module.input.label.chat history", - "required": true, - "min": 0, - "max": 30, - "valueType": "chatHistory", - "value": 6, - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "userChatInput", - "type": "custom", - "label": "", - "required": true, - "valueType": "string", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "quoteQA", - "type": "target", - "label": "知识库引用", - "description": "core.module.Dataset quote.Input description", - "valueType": "datasetQuote", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - } - ], - "outputs": [ - { - "key": "history", - "label": "core.module.output.label.New context", - "description": "core.module.output.description.New context", - "valueType": "chatHistory", - "type": "source", - "targets": [] - }, - { - "key": "answerText", - "label": "core.module.output.label.Ai response content", - "description": "core.module.output.description.Ai response content", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "finish", - "label": "core.module.output.label.running done", - "description": "core.module.output.description.running done", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "hidden", - "valueType": "string", - "targets": [] - } - ] - }, - { - "moduleId": "bwhh0x", - "name": "core.module.template.textEditor", - "flowType": "pluginModule", - "showStatus": false, - "position": { - "x": 2323.6602408408294, - "y": 2087.8175338140313 + }, + { + "id": "httpRawResponse", + "key": "httpRawResponse", + "label": "原始响应", + "description": "HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。", + "valueType": "any", + "type": "static" + }, + { + "id": "yw0oz9XWFXYf", + "type": "dynamic", + "key": "prompt", + "valueType": "string", + "label": "prompt" + } + ] }, - "inputs": [ - { - "key": "pluginId", - "type": "hidden", - "label": "", - "value": "community-textEditor", - "valueType": "string", - "connected": false, - "showTargetInApp": false, - "showTargetInPlugin": false - }, - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "textarea", - "valueType": "string", - "label": "core.module.input.label.textEditor textarea", - "type": "textarea", - "required": true, - "description": "core.module.input.description.textEditor textarea", - "edit": false, - "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true, - "inputType": true + { + "nodeId": "Nc6hBdb3l9Pe", + "name": "AI 对话", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 1982.442841318768, + "y": -664.9716343803625 + }, + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "gpt-3.5-turbo" }, - "connected": false, - "placeholder": "core.module.input.description.textEditor textarea", - "value": "请使用下面中的数据作为你的知识。请直接输出答案,不要提及你是从中获取的知识。\n\n当前时间: {{cTime}}\n\n\n{{response}}\n\n\n我的问题:“{{q}}”" - }, - { - "key": "response", - "valueType": "string", - "label": "response", - "type": "target", - "required": true, - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true, - "inputType": false + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 }, - "connected": true - }, - { - "key": "q", - "valueType": "string", - "label": "q", - "type": "target", - "required": true, - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "selectedTypeIndex": 1, + "value": [ + "1ljV0oTq4zeC", + "httpRawResponse" + ] + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", "required": true, - "dataType": true, - "inputType": false + "min": 0, + "max": 30, + "value": 6 }, - "connected": true - }, - { - "key": "DYNAMIC_INPUT_KEY", - "valueType": "any", - "label": "需要加工的输入", - "type": "addInputParam", - "required": false, - "description": "可动态的添加字符串类型变量,在文本编辑中通过 {{key}} 使用变量。非字符串类型,会自动转成字符串类型。", - "edit": false, - "editField": { - "key": true, - "name": true, - "description": true, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", "required": true, - "dataType": true, - "inputType": false + "toolDescription": "用户问题", + "value": [ + "448745", + "userChatInput" + ] }, - "defaultEditField": { + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], "label": "", - "key": "", + "debugLabel": "知识库引用", "description": "", - "inputType": "target", - "valueType": "string", - "required": true + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" }, - "connected": false - } - ], - "outputs": [ - { - "key": "text", - "valueType": "string", - "label": "core.module.output.label.text", - "type": "source", - "edit": false, - "targets": [ - { - "moduleId": "r8ckxe", - "key": "userChatInput" - } - ] - } - ] - }, - { - "moduleId": "lxubmw", - "name": "用户问题(入口)", - "flowType": "questionInput", - "position": { - "x": 1744.5949622106039, - "y": 2767.1993979535087 + { + "id": "answerText", + "key": "answerText", + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", + "valueType": "string", + "type": "static" + } + ] }, - "inputs": [ - { - "key": "userChatInput", - "type": "systemInput", - "valueType": "string", - "label": "core.module.input.label.user question", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - } - ], - "outputs": [ - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "source", - "valueType": "string", - "targets": [ - { - "moduleId": "bwhh0x", - "key": "q" + { + "nodeId": "FYLw1BokYUad", + "name": "文本加工", + "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", + "avatar": "/imgs/workflow/textEditor.svg", + "flowNodeType": "pluginModule", + "showStatus": false, + "position": { + "x": 2479.5913201989906, + "y": 288.52613614690904 + }, + "inputs": [ + { + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": [ + "addInputParam" + ], + "required": false, + "description": "", + "canEdit": false, + "value": "", + "editField": { + "key": true + }, + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true } - ] - } - ] - }, - { - "moduleId": "se8tz2", - "name": "用户问题(对话入口)", - "flowType": "questionInput", - "position": { - "x": 1258.737695219056, - "y": 1282.7814513663104 - }, - "inputs": [ - { - "key": "userChatInput", - "type": "systemInput", - "valueType": "string", - "label": "core.module.input.label.user question", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - } - ], - "outputs": [ - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "source", - "valueType": "string", - "targets": [ - { - "moduleId": "5jtdwx", - "key": "userChatInput" + }, + { + "key": "q", + "valueType": "string", + "label": "q", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "448745", + "userChatInput" + ] + }, + { + "key": "response", + "valueType": "string", + "label": "response", + "renderTypeList": [ + "reference" + ], + "required": true, + "description": "", + "canEdit": true, + "editField": { + "key": true + }, + "value": [ + "1ljV0oTq4zeC", + "yw0oz9XWFXYf" + ] + }, + { + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": [ + "textarea" + ], + "required": true, + "description": "", + "canEdit": false, + "value": "请使用下面 中的数据作为你的知识。请直接输出答案,不要提及你是从 中获取的知识。\n\n当前时间:{{cTime}}\n\n\n{{response}}\n\n\n我的问题:\"{{q}}\"", + "editField": { + "key": true + }, + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true } - ] - } - ] - }, - { - "moduleId": "5jtdwx", - "name": "AI 对话", - "flowType": "chatNode", - "showStatus": true, - "position": { - "x": 1709.9128961202969, - "y": 943.9619252986647 - }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "model", - "type": "selectLLMModel", - "label": "core.module.input.label.aiModel", - "required": true, - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "gpt-3.5-turbo", - "connected": false - }, - { - "key": "temperature", - "type": "hidden", - "label": "", - "value": 0, - "valueType": "number", - "min": 0, - "max": 10, - "step": 1, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "maxToken", - "type": "hidden", - "label": "", - "value": 2000, - "valueType": "number", - "min": 100, - "max": 4000, - "step": 50, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "isResponseAnswerText", - "type": "hidden", - "label": "", - "value": true, - "valueType": "boolean", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "quoteTemplate", - "type": "hidden", - "label": "", - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "quotePrompt", - "type": "hidden", - "label": "", - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "aiSettings", - "type": "aiSettings", - "label": "", - "valueType": "any", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "systemPrompt", - "type": "textarea", - "label": "core.ai.Prompt", - "max": 300, - "valueType": "string", - "description": "core.app.tip.chatNodeSystemPromptTip", - "placeholder": "core.app.tip.chatNodeSystemPromptTip", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "history", - "type": "numberInput", - "label": "core.module.input.label.chat history", - "required": true, - "min": 0, - "max": 30, - "valueType": "chatHistory", - "value": 6, - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "userChatInput", - "type": "custom", - "label": "", - "required": true, - "valueType": "string", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "quoteQA", - "type": "target", - "label": "知识库引用", - "description": "core.module.Dataset quote.Input description", - "valueType": "datasetQuote", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - } - ], - "outputs": [ - { - "key": "history", - "label": "core.module.output.label.New context", - "description": "core.module.output.description.New context", - "valueType": "chatHistory", - "type": "source", - "targets": [] - }, - { - "key": "answerText", - "label": "core.module.output.label.Ai response content", - "description": "core.module.output.description.Ai response content", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "finish", - "label": "core.module.output.label.running done", - "description": "core.module.output.description.running done", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "hidden", - "valueType": "string", - "targets": [] - } - ] - }, - { - "moduleId": "zakgqt", - "name": "core.module.template.Http request", - "flowType": "httpRequest468", - "showStatus": true, - "position": { - "x": 1596.0994578513428, - "y": 1862.086836404846 + } + ], + "outputs": [ + { + "id": "text", + "type": "static", + "key": "text", + "valueType": "string", + "label": "text", + "description": "" + } + ], + "pluginId": "community-textEditor" }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "system_httpMethod", - "type": "custom", - "valueType": "string", - "label": "", - "value": "POST", - "required": true, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpReqUrl", - "type": "hidden", - "valueType": "string", - "label": "", - "description": "core.module.input.description.Http Request Url", - "placeholder": "https://api.ai.com/getInventory", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "这里填写你的laf函数地址", - "connected": false - }, - { - "key": "system_httpHeader", - "type": "custom", - "valueType": "any", - "value": [], - "label": "", - "description": "core.module.input.description.Http Request Header", - "placeholder": "core.module.input.description.Http Request Header", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpParams", - "type": "hidden", - "valueType": "any", - "value": [], - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpJsonBody", - "type": "hidden", - "valueType": "any", - "value": "{\r\n \"searchKey\": \"{{prompt}}\"\r\n}", - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "DYNAMIC_INPUT_KEY", - "type": "target", - "valueType": "any", - "label": "core.module.inputType.dynamicTargetInput", - "description": "core.module.input.description.dynamic input", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": true, - "hideInApp": true, - "connected": false - }, - { - "key": "prompt", - "valueType": "string", - "label": "prompt", - "type": "target", - "required": true, - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, + { + "nodeId": "EX0g9oK3sCOC", + "name": "AI 对话", + "intro": "AI 大模型对话", + "avatar": "/imgs/workflow/AI.png", + "flowNodeType": "chatNode", + "showStatus": true, + "position": { + "x": 3199.17223136331, + "y": -100.06379812849427 + }, + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "value": "gpt-3.5-turbo" + }, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "isResponseAnswerText", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": true, + "valueType": "boolean" + }, + { + "key": "quoteTemplate", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "quotePrompt", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string" + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", "required": true, - "dataType": true + "min": 0, + "max": 30, + "value": 6 }, - "connected": true - }, - { - "key": "system_addInputParam", - "type": "addInputParam", - "valueType": "any", - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "editField": { - "key": true, - "name": true, - "description": true, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", "required": true, - "dataType": true + "toolDescription": "用户问题", + "value": [ + "FYLw1BokYUad", + "text" + ] }, - "defaultEditField": { + { + "key": "quoteQA", + "renderTypeList": [ + "settingDatasetQuotePrompt" + ], "label": "", - "key": "", + "debugLabel": "知识库引用", "description": "", - "inputType": "target", + "valueType": "datasetQuote" + } + ], + "outputs": [ + { + "id": "history", + "key": "history", + "label": "core.module.output.label.New context", + "description": "core.module.output.description.New context", + "valueType": "chatHistory", + "type": "static" + }, + { + "id": "answerText", + "key": "answerText", + "label": "core.module.output.label.Ai response content", + "description": "core.module.output.description.Ai response content", "valueType": "string", - "required": true + "type": "static" + } + ] + }, + { + "nodeId": "lG52GzzMm65z", + "name": "文本内容提取", + "intro": "可从文本中提取指定的数据,例如:sql语句、搜索关键词、代码等", + "avatar": "/imgs/workflow/extract.png", + "flowNodeType": "contentExtract", + "showStatus": true, + "position": { + "x": 535.331344778598, + "y": -437.1382636373696 + }, + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "selectLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "required": true, + "valueType": "string", + "llmModelType": "extractFields", + "value": "gpt-3.5-turbo" }, - "connected": false - } - ], - "outputs": [ - { - "key": "finish", - "label": "core.module.output.label.running done", - "description": "core.module.output.description.running done", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "system_addOutputParam", - "type": "addOutputParam", - "valueType": "any", - "label": "", - "targets": [], - "editField": { - "key": true, - "name": true, - "description": true, - "dataType": true + { + "key": "description", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "string", + "label": "提取要求描述", + "description": "给AI一些对应的背景知识或要求描述,引导AI更好的完成任务。\n该输入框可使用全局变量。", + "placeholder": "例如: \n1. 当前时间为: {{cTime}}。你是一个实验室预约助手,你的任务是帮助用户预约实验室,从文本中获取对应的预约信息。\n2. 你是谷歌搜索助手,需要从文本中提取出合适的搜索词。", + "value": "你是谷歌搜索机器人,根据当前问题和对话记录生成搜索词。你需要自行判断是否需要进行网络实时查询:\n- 如果需查询则生成搜索词。\n- 如果不需要查询则不返回字段。" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", + "required": true, + "min": 0, + "max": 30, + "value": 6 + }, + { + "key": "content", + "renderTypeList": [ + "reference", + "textarea" + ], + "label": "需要提取的文本", + "required": true, + "valueType": "string", + "toolDescription": "需要检索的内容", + "value": [ + "448745", + "userChatInput" + ] }, - "defaultEditField": { + { + "key": "extractKeys", + "renderTypeList": [ + "custom" + ], "label": "", - "key": "", - "description": "", - "outputType": "source", - "valueType": "string" + "valueType": "any", + "description": "由 '描述' 和 'key' 组成一个目标字段,可提取多个目标字段", + "value": [ + { + "required": false, + "defaultValue": "", + "desc": "搜索词", + "key": "searchKey", + "enum": "" + } + ] } - }, - { - "type": "source", - "valueType": "string", - "key": "prompt", - "label": "prompt", - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "dataType": true + ], + "outputs": [ + { + "id": "fields", + "key": "fields", + "label": "完整提取结果", + "description": "一个 JSON 字符串,例如:{\"name:\":\"YY\",\"Time\":\"2023/7/2 18:00\"}", + "valueType": "string", + "type": "static" }, - "targets": [ - { - "moduleId": "bwhh0x", - "key": "response" - } - ] - } - ] - } -] + { + "id": "6yF19MRD3nuB", + "key": "searchKey", + "label": "提取结果-搜索词", + "valueType": "string", + "type": "static" + } + ] + } + ], + "edges": [ + { + "source": "TWD5BAqIIFaj", + "target": "Nc6hBdb3l9Pe", + "sourceHandle": "TWD5BAqIIFaj-source-IF", + "targetHandle": "Nc6hBdb3l9Pe-target-left" + }, + { + "source": "1ljV0oTq4zeC", + "target": "FYLw1BokYUad", + "sourceHandle": "1ljV0oTq4zeC-source-right", + "targetHandle": "FYLw1BokYUad-target-left" + }, + { + "source": "FYLw1BokYUad", + "target": "EX0g9oK3sCOC", + "sourceHandle": "FYLw1BokYUad-source-right", + "targetHandle": "EX0g9oK3sCOC-target-left" + }, + { + "source": "448745", + "target": "lG52GzzMm65z", + "sourceHandle": "448745-source-right", + "targetHandle": "lG52GzzMm65z-target-left" + }, + { + "source": "lG52GzzMm65z", + "target": "TWD5BAqIIFaj", + "sourceHandle": "lG52GzzMm65z-source-right", + "targetHandle": "TWD5BAqIIFaj-target-left" + }, + { + "source": "TWD5BAqIIFaj", + "target": "1ljV0oTq4zeC", + "sourceHandle": "TWD5BAqIIFaj-source-ELSE", + "targetHandle": "1ljV0oTq4zeC-target-left" + } + ] +} ``` {{% /details %}} @@ -1385,8 +1278,8 @@ export default async function (ctx: FunctionContext) { ### 流程说明 -1. 利用【内容提取】模块,将用户的问题提取成搜索关键词。 -2. 将搜索关键词传入【HTTP模块】,执行谷歌搜索。 -3. 利用【文本编辑模块】组合搜索结果和问题,生成一个适合模型回答的问题。 -4. 将新的问题发给【AI模块】,回答搜索结果。 +1. 利用【文本内容提取】模块,将用户的问题提取成搜索关键词。 +2. 将搜索关键词传入【HTTP请求】模块,执行谷歌搜索。 +3. 利用【文本加工】模块组合搜索结果和问题,生成一个适合模型回答的问题。 +4. 将新的问题发给【AI对话】模块,回答搜索结果。 diff --git a/docSite/content/docs/workflow/examples/lab_appointment.md b/docSite/content/docs/workflow/examples/lab_appointment.md index 5c95081cba..41f441d464 100644 --- a/docSite/content/docs/workflow/examples/lab_appointment.md +++ b/docSite/content/docs/workflow/examples/lab_appointment.md @@ -9,68 +9,44 @@ weight: 403 | | | | --------------------- | --------------------- | -| ![](/imgs/demo-appointment1.webp) | ![](/imgs/demo-appointment2.jpg) | -| ![](/imgs/demo-appointment3.jpg) | ![](/imgs/demo-appointment4.jpg) | +| ![](/imgs/demo-appointment1.webp) | ![](/imgs/demo-appointment2.webp) | +| ![](/imgs/demo-appointment3.webp) | ![](/imgs/demo-appointment4.webp) | -本示例演示了利用问题分类、内容提取和 HTTP 模块实现数据库的 CRUD 操作。以一个实验室预约为例,用户可以通过对话系统预约、取消、修改预约和查询预约记录。 +本示例演示了利用工具调用,自动选择调用知识库搜索实验室相关内容,或调用 HTTP 模块实现数据库的 CRUD 操作。 -# 编排流程解析 - -编排 Tips:**从左往右编辑流程;尽量不要使线交叉**。 +以一个实验室预约为例,用户可以通过对话系统预约、取消、修改预约和查询预约记录。 ## 1. 全局变量使用 通过设计一个全局变量,让用户输入姓名,模拟用户身份信息。实际使用过程中,通常是直接通过嵌入 Token 来标记用户身份。 -## 2. 问题分类 +## 2. 工具调用 -![](/imgs/demo-appointment5.jpg) +![](/imgs/demo-appointment5.png) -如上图,用户问题作为对话的起点,流入【问题分类模块】,根据用户问题的内容,判断用户是询问实验室相关问题、预约实验室或其他问题。如果用户询问的是非实验问题,会直接拒绝回复内容。再根据问题是属于询问实验室相关/预约类问题,执行不同的流程。 +背景知识中,引导模型调用工具去执行不通的操作。 {{% alert icon="🤗" context="warning" %}} -**Tips:** 这里需要增加适当的上下文,方便模型更好的判断属于哪个类别~ +**Tips:** 这里需要增加适当的上下文,方便模型结合历史纪录进行判断和决策~ {{% /alert %}} -## 3. 实验室介绍的知识库搜索 - -这里不多介绍,标准的走了一套知识库搜索流程。 - -## 4. 内容提取 - -| | | | -| --------------------- | --------------------- |--------------------- | -| ![](/imgs/demo-appointment6.jpg) | ![](/imgs/demo-appointment7.jpg) | ![](/imgs/demo-appointment8.jpg) | - -内容提取是 LLM 带来的十分重要的能力,可以从自然语言中提取出结构化的数据,从而方便进行逻辑处理。 - -这里用了 2 个提取模块,一个用于提取预约时间和实验室名称;一个用于提取预约行为。 +## 3. HTTP 模块 -提取时间和实验室名称时候,需要注意把必填关掉,否则模型可能会伪造一些内容,同时再对数据处理时候,需要进行判空处理。 +![](/imgs/demo-appointment6.jpg) -最后将两个提取的结果,通过 HTTP 模块发送到后端进行数据库的操作。 +HTTP模块中,需要设置 3 个工具参数: -## 5. HTTP模块执行预约操作 +- 预约行为:可取 get, put, post, delete 四个值,分别对应查询、修改、新增、删除操作。当然,你也可以写4个HTTP模块,来分别处理。 +- labname: 实验室名。非必填,因为查询和删除时候,不需要。 +- time: 预约时间。 -HTTP 模块允许你调用任意 GET/POST 类型的 HTTP 接口,从而实现一些复杂的业务逻辑。这里我们调用了一个预约实验室的接口,传入的是信息提取模块的结果和预约行为。 - -![](/imgs/demo-appointment9.jpg) - -具体的入参结构可以参考[HTTP模块](/docs/workflow/modules/http/),实在不行在接口里多打印 Debug。 - -响应值也很简单,只需要返回一个 **JSON 对象** 即可。注意!是对象,不是字符串。 # 总结 -1. 问题分类可以在简单的场景下使用,判断用户的问题类型,从而实现不同的路线。 -2. 可以通过内容提取模块,实现自然语言转结构化数据,从而实现复杂的逻辑操作。 -3. 内容提取 + HTTP 模块允许你无限扩展。 - -**困难点** - -1. 模型对连续对话时,分类和提取能力不足。 +1. 工具调用模块是非常强大的功能,可以在一定程度上替代问题分类和内容提取。 +2. 通过工具模块,动态的调用不同的工具,可以将复杂业务解耦。 # 附件 @@ -82,1225 +58,629 @@ HTTP 模块允许你调用任意 GET/POST 类型的 HTTP 接口,从而实现 {{% details title="编排配置" closed="true" %}} ```json -[ - { - "moduleId": "userChatInput", - "name": "用户问题(对话入口)", - "flowType": "questionInput", - "position": { - "x": 309.7143912167367, - "y": 1501.2761754220846 +{ + "nodes": [ + { + "nodeId": "userChatInput", + "name": "流程开始", + "intro": "当用户发送一个内容后,流程将会从这个模块开始执行。", + "avatar": "/imgs/workflow/userChatInput.svg", + "flowNodeType": "workflowStart", + "position": { + "x": 309.7143912167367, + "y": 1501.2761754220846 + }, + "inputs": [ + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "问题输入", + "required": true, + "toolDescription": "用户问题", + "type": "systemInput", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0, + "value": [ + "userChatInput", + "userChatInput" + ] + } + ], + "outputs": [ + { + "id": "userChatInput", + "type": "static", + "key": "userChatInput", + "valueType": "string", + "label": "core.module.input.label.user question" + } + ] }, - "inputs": [ - { - "key": "userChatInput", - "type": "systemInput", - "valueType": "string", - "label": "core.module.input.label.user question", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - } - ], - "outputs": [ - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "source", - "valueType": "string", - "targets": [ - { - "moduleId": "hlw67t", - "key": "userChatInput" - } - ] - } - ] - }, - { - "moduleId": "98xq69", - "name": "文本内容提取", - "flowType": "contentExtract", - "showStatus": true, - "position": { - "x": 2026.044690845613, - "y": 1056.7496395595658 + { + "nodeId": "eg5upi", + "name": "指定回复", + "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。", + "avatar": "/imgs/workflow/reply.png", + "flowNodeType": "answerNode", + "position": { + "x": 1962.729630445213, + "y": 2295.9791334948304 + }, + "inputs": [ + { + "key": "text", + "renderTypeList": [ + "textarea", + "reference" + ], + "valueType": "any", + "label": "core.module.input.label.Response content", + "description": "core.module.input.description.Response content", + "placeholder": "core.module.input.description.Response content", + "type": "textarea", + "showTargetInApp": true, + "showTargetInPlugin": true, + "connected": true, + "selectedTypeIndex": 1, + "value": [ + "40clf3", + "result" + ] + } + ], + "outputs": [] }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "model", - "type": "selectLLMModel", - "valueType": "string", - "label": "core.module.input.label.LLM", - "required": true, - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "gpt-3.5-turbo", - "connected": false - }, - { - "key": "description", - "type": "textarea", - "valueType": "string", - "label": "提取要求描述", - "description": "给AI一些对应的背景知识或要求描述,引导AI更好的完成任务。\n该输入框可使用全局变量。", - "required": true, - "placeholder": "例如: \n1. 当前时间为: {{cTime}}。你是一个实验室预约助手,你的任务是帮助用户预约实验室,从文本中获取对应的预约信息。\n2. 你是谷歌搜索助手,需要从文本中提取出合适的搜索词。", - "showTargetInApp": true, - "showTargetInPlugin": true, - "value": "你是实验室预约助手,用户正在预约实验室,请为他获取相关预约的信息。\n当前时间 {{cTime}}。", - "connected": false - }, - { - "key": "history", - "type": "numberInput", - "label": "core.module.input.label.chat history", - "required": true, - "min": 0, - "max": 30, - "valueType": "chatHistory", - "value": 12, - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "content", - "type": "target", - "label": "需要提取的文本", - "required": true, - "valueType": "string", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "extractKeys", - "type": "custom", - "label": "目标字段", - "valueType": "any", - "description": "由 '描述' 和 'key' 组成一个目标字段,可提取多个目标字段", - "value": [ - { - "desc": "姓名", - "key": "name", - "required": false - }, - { - "desc": "时间(YYYY/MM/DD HH:mm格式)", - "key": "time", - "required": false + { + "nodeId": "kge59i", + "name": "用户引导", + "intro": "可以配置应用的系统参数。", + "avatar": "/imgs/workflow/userGuide.png", + "flowNodeType": "userGuide", + "position": { + "x": -327.218389965887, + "y": 1504.8056414948464 + }, + "inputs": [ + { + "key": "welcomeText", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "core.app.Welcome Text", + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "value": "你好,我是实验室助手,请问有什么可以帮助你的么?如需预约或修改预约实验室,请提供姓名、时间和实验室名称。\n[实验室介绍]\n[开放时间]\n[预约]", + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "variables", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "core.module.Variable", + "value": [ + { + "id": "gt9b23", + "key": "name", + "label": "name", + "type": "input", + "required": true, + "maxLen": 50, + "enums": [ + { + "value": "" + } + ] + } + ], + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "questionGuide", + "valueType": "boolean", + "renderTypeList": [ + "hidden" + ], + "label": "", + "type": "switch", + "showTargetInApp": false, + "showTargetInPlugin": false, + "value": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "tts", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "value": { + "type": "model", + "model": "tts-1", + "voice": "alloy" }, - { - "desc": "实验室名", - "key": "labname", - "required": false - } - ], - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - } - ], - "outputs": [ - { - "key": "success", - "label": "字段完全提取", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "failed", - "label": "提取字段缺失", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "fields", - "label": "完整提取结果", - "description": "一个 JSON 字符串,例如:{\"name:\":\"YY\",\"Time\":\"2023/7/2 18:00\"}", - "valueType": "string", - "type": "source", - "targets": [ - { - "moduleId": "wgwpx2", - "key": "info" - } - ] - }, - { - "key": "name", - "label": "提取结果-姓名", - "description": "无法提取时不会返回", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "time", - "label": "提取结果-时间(YYYY/MM/DD HH:mm格式)", - "description": "无法提取时不会返回", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "labname", - "label": "提取结果-实验室名", - "description": "无法提取时不会返回", - "valueType": "string", - "type": "source", - "targets": [] - } - ] - }, - { - "moduleId": "eg5upi", - "name": "指定回复", - "flowType": "answerNode", - "position": { - "x": 3644.154318570156, - "y": 2087.496890856384 - }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "text", - "type": "textarea", - "valueType": "any", - "label": "core.module.input.label.Response content", - "description": "core.module.input.description.Response content", - "placeholder": "core.module.input.description.Response content", - "showTargetInApp": true, - "showTargetInPlugin": true, - "value": "", - "connected": true - } - ], - "outputs": [ - { - "key": "finish", - "label": "core.module.output.label.running done", - "description": "core.module.output.description.running done", - "valueType": "boolean", - "type": "source", - "targets": [] - } - ] - }, - { - "moduleId": "kge59i", - "name": "用户引导", - "flowType": "userGuide", - "position": { - "x": 271.18826350548954, - "y": 777.38470952276 - }, - "inputs": [ - { - "key": "welcomeText", - "type": "hidden", - "valueType": "string", - "label": "core.app.Welcome Text", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "你好,我是实验室助手,请问有什么可以帮助你的么?如需预约或修改预约实验室,请提供姓名、时间和实验室名称。\n[实验室介绍]\n[开放时间]\n[预约]", - "connected": false - }, - { - "key": "variables", - "type": "hidden", - "valueType": "any", - "label": "core.module.Variable", - "value": [ - { - "id": "gt9b23", - "key": "name", - "label": "name", - "type": "input", - "required": true, - "maxLen": 50, - "enums": [ - { - "value": "" - } - ] - } - ], - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "questionGuide", - "valueType": "boolean", - "type": "switch", - "label": "", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": false, - "connected": false - }, - { - "key": "tts", - "type": "hidden", - "valueType": "any", - "label": "", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": { - "type": "model", - "model": "tts-1", - "voice": "alloy" + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "whisper", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 }, - "connected": false - } - ], - "outputs": [] - }, - { - "moduleId": "hlw67t", - "name": "问题分类", - "flowType": "classifyQuestion", - "showStatus": true, - "position": { - "x": 763.6974006305715, - "y": 1164.1601096928105 + { + "key": "scheduleTrigger", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "label": "", + "value": null + } + ], + "outputs": [] }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "model", - "type": "selectLLMModel", - "valueType": "string", - "label": "core.module.input.label.Classify model", - "required": true, - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "gpt-3.5-turbo", - "connected": false - }, - { - "key": "systemPrompt", - "type": "textarea", - "valueType": "string", - "label": "core.module.input.label.Background", - "description": "core.module.input.description.Background", - "placeholder": "core.module.input.placeholder.Classify background", - "showTargetInApp": true, - "showTargetInPlugin": true, - "value": "xxx实验室是由xxx大学主导的人工智能实验室,请判断用户的问题是属于询问实验室介绍,或是预约实验室。", - "connected": false - }, - { - "key": "history", - "type": "numberInput", - "label": "core.module.input.label.chat history", - "required": true, - "min": 0, - "max": 30, - "valueType": "chatHistory", - "value": 12, - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "userChatInput", - "type": "custom", - "label": "", - "required": true, - "valueType": "string", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "agents", - "type": "custom", - "valueType": "any", - "label": "", - "value": [ - { - "value": "实验室问题", - "key": "fasw" - }, - { - "value": "新增、取消、查询、修改预约实验室", - "key": "fqsw" - }, - { - "value": "一般聊天", - "key": "sq32" - } - ], - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - } - ], - "outputs": [ - { - "key": "fasw", - "label": "", - "type": "hidden", - "targets": [ - { - "moduleId": "l11c2w", - "key": "switch" - } - ] - }, - { - "key": "fqsw", - "label": "", - "type": "hidden", - "targets": [ - { - "moduleId": "98xq69", - "key": "switch" - }, - { - "moduleId": "mhw4md", - "key": "switch" + { + "nodeId": "40clf3", + "name": "HTTP请求", + "intro": "可以发出一个 HTTP 请求,实现更为复杂的操作(联网搜索、数据库查询等)", + "avatar": "/imgs/workflow/http.png", + "flowNodeType": "httpRequest468", + "showStatus": true, + "position": { + "x": 1118.6532653446993, + "y": 1955.886106913907 + }, + "inputs": [ + { + "key": "system_httpMethod", + "renderTypeList": [ + "custom" + ], + "valueType": "string", + "label": "", + "value": "POST", + "required": true, + "type": "custom", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "valueType": "string", + "renderTypeList": [ + "reference" + ], + "key": "action", + "label": "action", + "toolDescription": "预约行为,一共四种:\nget - 查询预约情况\nput - 更新预约\npost - 新增预约\ndelete - 删除预约", + "required": true, + "canEdit": true, + "editField": { + "key": true, + "description": true } - ] - }, - { - "key": "sq32", - "label": "", - "type": "hidden", - "targets": [ - { - "moduleId": "l5xe4u", - "key": "switch" + }, + { + "valueType": "string", + "renderTypeList": [ + "reference" + ], + "key": "labname", + "label": "labname", + "toolDescription": "实验室名称", + "required": false, + "canEdit": true, + "editField": { + "key": true, + "description": true } - ] - }, - { - "key": "fesw", - "label": "", - "type": "hidden", - "targets": [] - }, - { - "key": "wqre", - "label": "", - "type": "hidden", - "targets": [] - }, - { - "key": "sdfa", - "label": "", - "type": "hidden", - "targets": [] - }, - { - "key": "agex", - "label": "", - "type": "hidden", - "targets": [] - }, - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "hidden", - "valueType": "string", - "targets": [ - { - "moduleId": "98xq69", - "key": "content" - }, - { - "moduleId": "mhw4md", - "key": "content" + }, + { + "valueType": "string", + "renderTypeList": [ + "reference" + ], + "key": "time", + "label": "time", + "toolDescription": "预约时间,按 YYYY/MM/DD HH:mm 格式返回", + "required": false, + "canEdit": true, + "editField": { + "key": true, + "description": true } - ] - } - ] - }, - { - "moduleId": "l5xe4u", - "name": "指定回复", - "flowType": "answerNode", - "position": { - "x": 1108.6507148112876, - "y": 2292.8493299728207 - }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "text", - "type": "textarea", - "valueType": "any", - "label": "core.module.input.label.Response content", - "description": "core.module.input.description.Response content", - "placeholder": "core.module.input.description.Response content", - "showTargetInApp": true, - "showTargetInPlugin": true, - "value": "对不起,我不太理解你的问题,请更详细描述关于实验室问题。", - "connected": false - } - ], - "outputs": [ - { - "key": "finish", - "label": "core.module.output.label.running done", - "description": "core.module.output.description.running done", - "valueType": "boolean", - "type": "source", - "targets": [] - } - ] - }, - { - "moduleId": "bjfklc", - "name": "AI 对话", - "flowType": "chatNode", - "showStatus": true, - "position": { - "x": 2365.8777933722004, - "y": -8.20949749350251 - }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "model", - "type": "selectLLMModel", - "label": "core.module.input.label.aiModel", - "required": true, - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "gpt-3.5-turbo", - "connected": false - }, - { - "key": "temperature", - "type": "hidden", - "label": "", - "value": 0, - "valueType": "number", - "min": 0, - "max": 10, - "step": 1, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "maxToken", - "type": "hidden", - "label": "", - "value": 550, - "valueType": "number", - "min": 100, - "max": 4000, - "step": 50, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "isResponseAnswerText", - "type": "hidden", - "label": "", - "value": true, - "valueType": "boolean", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "quoteTemplate", - "type": "hidden", - "label": "", - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "", - "connected": false - }, - { - "key": "quotePrompt", - "type": "hidden", - "label": "", - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "", - "connected": false - }, - { - "key": "aiSettings", - "type": "aiSettings", - "label": "", - "valueType": "any", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "systemPrompt", - "type": "textarea", - "label": "core.ai.Prompt", - "max": 300, - "valueType": "string", - "description": "core.app.tip.chatNodeSystemPromptTip", - "placeholder": "core.app.tip.chatNodeSystemPromptTip", - "showTargetInApp": true, - "showTargetInPlugin": true, - "value": "", - "connected": false - }, - { - "key": "history", - "type": "numberInput", - "label": "core.module.input.label.chat history", - "required": true, - "min": 0, - "max": 30, - "valueType": "chatHistory", - "value": 2, - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "userChatInput", - "type": "custom", - "label": "", - "required": true, - "valueType": "string", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "quoteQA", - "type": "target", - "label": "知识库引用", - "description": "core.module.Dataset quote.Input description", - "valueType": "datasetQuote", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "limitPrompt", - "type": "textarea", - "valueType": "string", - "label": "限定词", - "description": "限定模型对话范围,会被放置在本次提问前,拥有强引导和限定性。可使用变量,例如 {{language}}。引导例子:\n1. 知识库是关于 Laf 的介绍,参考知识库回答问题,与 \"Laf\" 无关内容,直接回复: \"我不知道\"。\n2. 你仅回答关于 \"xxx\" 的问题,其他问题回复: \"xxxx\"", - "placeholder": "限定模型对话范围,会被放置在本次提问前,拥有强引导和限定性。可使用变量,例如 {{language}}。引导例子:\n1. 知识库是关于 Laf 的介绍,参考知识库回答问题,与 \"Laf\" 无关内容,直接回复: \"我不知道\"。\n2. 你仅回答关于 \"xxx\" 的问题,其他问题回复: \"xxxx\"", - "value": "", - "connected": false - } - ], - "outputs": [ - { - "key": "answerText", - "label": "core.module.output.label.Ai response content", - "description": "core.module.output.description.Ai response content", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "history", - "label": "core.module.output.label.New context", - "description": "core.module.output.description.New context", - "valueType": "chatHistory", - "type": "source", - "targets": [] - }, - { - "key": "finish", - "label": "core.module.output.label.running done", - "description": "core.module.output.description.running done", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "hidden", - "valueType": "string", - "targets": [] - } - ] - }, - { - "moduleId": "ee1fo3", - "name": "用户问题(对话入口)", - "flowType": "questionInput", - "position": { - "x": 1133.7087158919899, - "y": 638.1461154935015 - }, - "inputs": [ - { - "key": "userChatInput", - "type": "systemInput", - "valueType": "string", - "label": "core.module.input.label.user question", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - } - ], - "outputs": [ - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "source", - "valueType": "string", - "targets": [ - { - "moduleId": "l11c2w", - "key": "userChatInput" + }, + { + "key": "system_httpReqUrl", + "renderTypeList": [ + "hidden" + ], + "valueType": "string", + "label": "", + "description": "core.module.input.description.Http Request Url", + "placeholder": "https://api.ai.com/getInventory", + "required": false, + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "value": "https://d8dns0.laf.dev/appointment-lab", + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "system_httpHeader", + "renderTypeList": [ + "custom" + ], + "valueType": "any", + "value": [], + "label": "", + "description": "core.module.input.description.Http Request Header", + "placeholder": "core.module.input.description.Http Request Header", + "required": false, + "type": "custom", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "system_httpParams", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "value": [], + "label": "", + "required": false, + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "system_httpJsonBody", + "renderTypeList": [ + "hidden" + ], + "valueType": "any", + "value": "{\r\n \"name\": \"{{name}}\",\r\n \"time\": \"{{time}}\",\r\n \"labname\": \"{{labname}}\",\r\n \"action\": \"{{action}}\"\r\n}", + "label": "", + "required": false, + "type": "hidden", + "showTargetInApp": false, + "showTargetInPlugin": false, + "connected": false, + "selectedTypeIndex": 0 + }, + { + "key": "system_addInputParam", + "renderTypeList": [ + "addInputParam" + ], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "core.module.input.description.HTTP Dynamic Input", + "editField": { + "key": true, + "valueType": true } - ] - } - ] - }, - { - "moduleId": "mhw4md", - "name": "文本内容提取", - "flowType": "contentExtract", - "showStatus": true, - "position": { - "x": 1998.6877686115522, - "y": 2284.0093794426766 - }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "model", - "type": "selectLLMModel", - "valueType": "string", - "label": "core.module.input.label.LLM", - "required": true, - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "gpt-3.5-turbo", - "connected": false - }, - { - "key": "description", - "type": "textarea", - "valueType": "string", - "label": "提取要求描述", - "description": "给AI一些对应的背景知识或要求描述,引导AI更好的完成任务。\n该输入框可使用全局变量。", - "required": true, - "placeholder": "例如: \n1. 当前时间为: {{cTime}}。你是一个实验室预约助手,你的任务是帮助用户预约实验室,从文本中获取对应的预约信息。\n2. 你是谷歌搜索助手,需要从文本中提取出合适的搜索词。", - "showTargetInApp": true, - "showTargetInPlugin": true, - "value": "判断我的行为:查询预约,新增预约、取消预约或者修改预约实验室。", - "connected": false - }, - { - "key": "history", - "type": "numberInput", - "label": "core.module.input.label.chat history", - "required": true, - "min": 0, - "max": 30, - "valueType": "chatHistory", - "value": 12, - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "content", - "type": "target", - "label": "需要提取的文本", - "required": true, - "valueType": "string", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "extractKeys", - "type": "custom", - "label": "目标字段", - "valueType": "any", - "description": "由 '描述' 和 'key' 组成一个目标字段,可提取多个目标字段", - "value": [ - { - "desc": "预约行为(post: 预约; delete: 取消预约; put: 修改预约; get: 查看预约)", - "key": "action", - "required": true, - "enum": "post\ndelete\nput\nget" + } + ], + "outputs": [ + { + "id": "system_addOutputParam", + "type": "dynamic", + "key": "system_addOutputParam", + "valueType": "dynamic", + "label": "", + "editField": { + "key": true, + "valueType": true } - ], - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - } - ], - "outputs": [ - { - "key": "success", - "label": "字段完全提取", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "failed", - "label": "提取字段缺失", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "fields", - "label": "完整提取结果", - "description": "一个 JSON 字符串,例如:{\"name:\":\"YY\",\"Time\":\"2023/7/2 18:00\"}", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "action", - "label": "提取结果-预约行为(post: 预约; delete: 取消预约; put: 修改预约; get: 查看预约)", - "description": "无法提取时不会返回", - "valueType": "string", - "type": "source", - "targets": [ - { - "moduleId": "wgwpx2", - "key": "action" + }, + { + "id": "result", + "type": "static", + "key": "result", + "valueType": "string", + "label": "result", + "description": "result", + "canEdit": true, + "editField": { + "key": true, + "name": true, + "description": true, + "dataType": true } - ] - } - ] - }, - { - "moduleId": "wgwpx2", - "name": "core.module.template.Http request", - "flowType": "httpRequest468", - "showStatus": true, - "position": { - "x": 2864.4878467558747, - "y": 1851.1959050194705 + }, + { + "id": "httpRawResponse", + "type": "static", + "key": "httpRawResponse", + "valueType": "any", + "label": "原始响应", + "description": "HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。" + } + ] }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "system_httpMethod", - "type": "custom", - "valueType": "string", - "label": "", - "value": "POST", - "required": true, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpReqUrl", - "type": "hidden", - "valueType": "string", - "label": "", - "description": "core.module.input.description.Http Request Url", - "placeholder": "https://api.ai.com/getInventory", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "https://d8dns0.laf.dev/labtest", - "connected": false - }, - { - "key": "system_httpHeader", - "type": "custom", - "valueType": "any", - "value": [], - "label": "", - "description": "core.module.input.description.Http Request Header", - "placeholder": "core.module.input.description.Http Request Header", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpParams", - "type": "hidden", - "valueType": "any", - "value": [], - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpJsonBody", - "type": "hidden", - "valueType": "any", - "value": "{\r\n \"name\": \"{{name}}\",\r\n \"info\": \"{{info}}\",\r\n \"action\": \"{{action}}\"\r\n}", - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "DYNAMIC_INPUT_KEY", - "type": "target", - "valueType": "any", - "label": "core.module.inputType.dynamicTargetInput", - "description": "core.module.input.description.dynamic input", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": true, - "hideInApp": true, - "connected": false - }, - { - "key": "info", - "valueType": "string", - "label": "info", - "type": "target", - "required": true, - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true + { + "nodeId": "fYxwWym8flYL", + "name": "工具调用(实验)", + "intro": "通过AI模型自动选择一个或多个功能块进行调用,也可以对插件进行调用。", + "avatar": "/imgs/workflow/tool.svg", + "flowNodeType": "tools", + "showStatus": true, + "position": { + "x": 933.9342354248961, + "y": 1229.3563445150553 + }, + "inputs": [ + { + "key": "model", + "renderTypeList": [ + "settingLLMModel", + "reference" + ], + "label": "core.module.input.label.aiModel", + "valueType": "string", + "llmModelType": "all", + "value": "gpt-3.5-turbo" }, - "connected": true - }, - { - "key": "action", - "valueType": "string", - "label": "action", - "type": "target", - "required": true, - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, + { + "key": "temperature", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 0, + "valueType": "number", + "min": 0, + "max": 10, + "step": 1 + }, + { + "key": "maxToken", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 2000, + "valueType": "number", + "min": 100, + "max": 4000, + "step": 50 + }, + { + "key": "systemPrompt", + "renderTypeList": [ + "textarea", + "reference" + ], + "max": 3000, + "valueType": "string", + "label": "core.ai.Prompt", + "description": "core.app.tip.chatNodeSystemPromptTip", + "placeholder": "core.app.tip.chatNodeSystemPromptTip", + "value": "当前时间为: {{cTime}}\n你是实验室助手,用户可能会询问实验室相关介绍或预约实验室。\n请选择合适的工具去帮助他们。" + }, + { + "key": "history", + "renderTypeList": [ + "numberInput", + "reference" + ], + "valueType": "chatHistory", + "label": "core.module.input.label.chat history", "required": true, - "dataType": true + "min": 0, + "max": 30, + "value": 6 }, - "connected": true - }, - { - "key": "system_addInputParam", - "type": "addInputParam", - "valueType": "any", - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "editField": { - "key": true, - "name": true, - "description": true, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", "required": true, - "dataType": true + "value": [ + "userChatInput", + "userChatInput" + ] + } + ], + "outputs": [] + }, + { + "nodeId": "JSSQtDgwmmbE", + "name": "知识库搜索", + "intro": "调用“语义检索”和“全文检索”能力,从“知识库”中查找实验室介绍和使用规则等信息。", + "avatar": "/imgs/workflow/db.png", + "flowNodeType": "datasetSearchNode", + "showStatus": true, + "position": { + "x": 447.0795498711184, + "y": 1971.5311041711186 + }, + "inputs": [ + { + "key": "datasets", + "renderTypeList": [ + "selectDataset", + "reference" + ], + "label": "core.module.input.label.Select dataset", + "value": [], + "valueType": "selectDataset", + "list": [], + "required": true }, - "defaultEditField": { + { + "key": "similarity", + "renderTypeList": [ + "selectDatasetParamsModal" + ], + "label": "", + "value": 0.4, + "valueType": "number" + }, + { + "key": "limit", + "renderTypeList": [ + "hidden" + ], + "label": "", + "value": 1500, + "valueType": "number" + }, + { + "key": "searchMode", + "renderTypeList": [ + "hidden" + ], "label": "", - "key": "", - "description": "", - "inputType": "target", "valueType": "string", - "required": true + "value": "embedding" }, - "connected": false - } - ], - "outputs": [ - { - "key": "finish", - "label": "core.module.output.label.running done", - "description": "core.module.output.description.running done", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "system_addOutputParam", - "type": "addOutputParam", - "valueType": "any", - "label": "", - "targets": [], - "editField": { - "key": true, - "name": true, - "description": true, - "dataType": true + { + "key": "usingReRank", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "boolean", + "value": false }, - "defaultEditField": { + { + "key": "datasetSearchUsingExtensionQuery", + "renderTypeList": [ + "hidden" + ], "label": "", - "key": "", - "description": "", - "outputType": "source", - "valueType": "string" - } - }, - { - "type": "source", - "valueType": "string", - "key": "result", - "label": "result", - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "dataType": true + "valueType": "boolean", + "value": false }, - "targets": [ - { - "moduleId": "eg5upi", - "key": "text" - } - ] - } - ] - }, - { - "moduleId": "l11c2w", - "name": "core.module.template.Dataset search", - "flowType": "datasetSearchNode", - "showStatus": true, - "position": { - "x": 1694.7658061553766, - "y": 319.67984613673053 + { + "key": "datasetSearchExtensionModel", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "gpt-3.5-turbo" + }, + { + "key": "datasetSearchExtensionBg", + "renderTypeList": [ + "hidden" + ], + "label": "", + "valueType": "string", + "value": "" + }, + { + "key": "userChatInput", + "renderTypeList": [ + "reference", + "textarea" + ], + "valueType": "string", + "label": "用户问题", + "required": true, + "toolDescription": "需要检索的内容" + } + ], + "outputs": [ + { + "id": "quoteQA", + "key": "quoteQA", + "label": "core.module.Dataset quote.label", + "description": "特殊数组格式,搜索结果为空时,返回空数组。", + "type": "static", + "valueType": "datasetQuote" + } + ] }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "datasets", - "type": "selectDataset", - "label": "core.module.input.label.Select dataset", - "value": [], - "valueType": "selectDataset", - "list": [], - "required": true, - "showTargetInApp": false, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "similarity", - "type": "selectDatasetParamsModal", - "label": "", - "value": 0.4, - "valueType": "number", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "limit", - "type": "hidden", - "label": "", - "value": 1500, - "valueType": "number", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "searchMode", - "type": "hidden", - "label": "", - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "embedding", - "connected": false - }, - { - "key": "usingReRank", - "type": "hidden", - "label": "", - "valueType": "boolean", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": false, - "connected": false - }, - { - "key": "datasetSearchUsingExtensionQuery", - "type": "hidden", - "label": "", - "valueType": "boolean", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": true, - "connected": false - }, - { - "key": "datasetSearchExtensionModel", - "type": "hidden", - "label": "", - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "datasetSearchExtensionBg", - "type": "hidden", - "label": "", - "valueType": "string", - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "", - "connected": false - }, - { - "key": "userChatInput", - "type": "custom", - "label": "", - "required": true, - "valueType": "string", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - } - ], - "outputs": [ - { - "key": "userChatInput", - "label": "core.module.input.label.user question", - "type": "hidden", - "valueType": "string", - "targets": [ - { - "moduleId": "bjfklc", - "key": "userChatInput" - } - ] - }, - { - "key": "isEmpty", - "label": "core.module.output.label.Search result empty", - "type": "source", - "valueType": "boolean", - "targets": [] - }, - { - "key": "unEmpty", - "label": "core.module.output.label.Search result not empty", - "type": "source", - "valueType": "boolean", - "targets": [] - }, - { - "key": "quoteQA", - "label": "core.module.Dataset quote.label", - "type": "source", - "valueType": "datasetQuote", - "targets": [ - { - "moduleId": "bjfklc", - "key": "quoteQA" - } - ] - }, - { - "key": "finish", - "label": "core.module.output.label.running done", - "description": "core.module.output.description.running done", - "valueType": "boolean", - "type": "source", - "targets": [] - } - ] - } -] + { + "nodeId": "IdntVQiTopHT", + "name": "工具调用终止", + "intro": "该模块需配置工具调用使用。当该模块被执行时,本次工具调用将会强制结束,并且不再调用AI针对工具调用结果回答问题。", + "avatar": "/imgs/workflow/toolStop.svg", + "flowNodeType": "stopTool", + "position": { + "x": 1969.73331750207, + "y": 2650.0258908119413 + }, + "inputs": [], + "outputs": [] + } + ], + "edges": [ + { + "source": "40clf3", + "target": "eg5upi", + "sourceHandle": "40clf3-source-right", + "targetHandle": "eg5upi-target-left" + }, + { + "source": "userChatInput", + "target": "fYxwWym8flYL", + "sourceHandle": "userChatInput-source-right", + "targetHandle": "fYxwWym8flYL-target-left" + }, + { + "source": "fYxwWym8flYL", + "target": "40clf3", + "sourceHandle": "selectedTools", + "targetHandle": "selectedTools" + }, + { + "source": "fYxwWym8flYL", + "target": "JSSQtDgwmmbE", + "sourceHandle": "selectedTools", + "targetHandle": "selectedTools" + }, + { + "source": "40clf3", + "target": "IdntVQiTopHT", + "sourceHandle": "40clf3-source-right", + "targetHandle": "IdntVQiTopHT-target-left" + } + ] +} ``` {{% /details %}} @@ -1317,36 +697,26 @@ const db = cloud.database() type RequestType = { name: string; - info: string; + time?: string; + labname?: string; action: 'post' | 'delete' | 'put' | 'get' } -type recordType = { - name?: string; - time?: string; - labname?: string; -} export default async function (ctx: FunctionContext) { try { - console.log(ctx.body, '==2222=') - - const { name,info, action } = ctx.body as RequestType - - - const parseBody = { name, ...JSON.parse(info) } as recordType - console.log(parseBody, '===') + const { action,...body } = ctx.body as RequestType if (action === 'get') { - return await getRecord(parseBody) + return await getRecord(ctx.body) } if (action === 'post') { - return await createRecord(parseBody) + return await createRecord(ctx.body) } if (action === 'put') { - return await putRecord(parseBody) + return await putRecord(ctx.body) } if (action === 'delete') { - return await removeRecord(parseBody) + return await removeRecord(ctx.body) } @@ -1354,14 +724,13 @@ export default async function (ctx: FunctionContext) { result: "异常" } } catch (err) { - console.log(err) return { result: "异常" } } } -async function putRecord({ name, time, labname }: recordType) { +async function putRecord({ name, time, labname }: RequestType) { const missData = [] if (!name) missData.push("你的姓名") @@ -1400,7 +769,7 @@ async function putRecord({ name, time, labname }: recordType) { } -async function getRecord({ name }: recordType) { +async function getRecord({ name }: RequestType) { if (!name) { return { result: "请提供你的姓名" @@ -1422,7 +791,7 @@ async function getRecord({ name }: recordType) { } } -async function removeRecord({ name }: recordType) { +async function removeRecord({ name }: RequestType) { if (!name) { return { result: "请提供你的姓名" @@ -1440,7 +809,7 @@ async function removeRecord({ name }: recordType) { } } -async function createRecord({ name, time, labname }: recordType) { +async function createRecord({ name, time, labname }: RequestType) { const missData = [] if (!name) missData.push("你的姓名") if (!time) missData.push("需要预约的时间") diff --git a/docSite/content/docs/workflow/examples/versatile_assistant.md b/docSite/content/docs/workflow/examples/versatile_assistant.md deleted file mode 100644 index 7806cd6fd7..0000000000 --- a/docSite/content/docs/workflow/examples/versatile_assistant.md +++ /dev/null @@ -1,1537 +0,0 @@ ---- -title: '全能助手' -description: '赋予联网功能,将用户问题进行分类,细分后对接对应 API 获取信息,经 GPT 整理后返回' -icon: 'search' -draft: false -toc: true -weight: 406 ---- - -**该教程由社区提供,部分模块已经过期,需调整后才能使用。** - -![](/imgs/versatile_assistant_1.png) - -众所周知 GPT 只是一个语言模型,功能上有很多局限,但只要综合利用高级编排各模块功能,就可以轻松突破原有 GPT 的局限,实现更多功能。 - -当然,所谓“全能助手”只是一个遥远的设想,高级编排的玩法有很大的可能性,本文只是扩展了诸如【天气查询】、【微博热搜查询】的功能,主要还是希望大家能通过案例来了解下高级编排的思路,然后可以分享更多有意思的玩法。 - -## 简要介绍一下“全能助手”的思路 - -思路说来也简单,以下分别用文字和图片两种方式介绍下 - -- **文字描述:** - -1. 对于用户输入的问题,通过【问题分类】模块进行区分,分出【询问天气】、【微博热搜】、【其他问题】等 -2. 对于【询问天气】的情况,调用第三方 API 查询天气(后文会介绍),将查询到的 json 结果丢给【AI 对话】模块,让它根据用户问题来给出回答 -3. 对于【微博热搜】的情况,同理,也是调的第三方 API -4. 对于【其他问题】的情况,直接走【AI 对话】模块就好了,跟普通的 GPT 聊天一样 - -- **流程图(方便理解):** - -![](/imgs/versatile_assistant_2.png) - -## 详细步骤 - -以下对于相同的步骤不会赘述,对于第三方接口只介绍了【天气查询】,而【微博热榜】跟【天气查询】的步骤是一样的,只是接口和提示词不同,所以不再赘述。后文会发出完整的高级编排配置,可以导入自行查看~ - -### 第三方 API 获取 - -案例中第三方接口来源目前都是在 https://api.vvhan.com/ 里获得,里面有许多花里胡哨的接口可以用,当然你有其他的接口可以对接也可以,反正主要是返回的数据。 - -举个查询天气的例子: - -1. 找到查询天气的 API 接口 - -![](/imgs/versatile_assistant_3.png) - -2. 由于我想要的效果是用户可以随意问接下来一周内任意时间的天气(比如用户可以问“接下来一周的天气适合晾被子吗”),所以选择了上面接口的这个格式:https://api.vvhan.com/api/weather?city=徐州&type=week - -返回 json: - -```json -{"success":true,"city":"徐州市","data":[{"date":"2023-09-21","week":"星期四","type":"多云","low":"14°C","high":"24°C","fengxiang":"东北风","fengli":"3级","night":{"type":"多云","fengxiang":"南风","fengli":"3级"}},{"date":"2023-09-22","week":"星期五","type":"阴","low":"19°C","high":"25°C","fengxiang":"东风","fengli":"3级","night":{"type":"阴","fengxiang":"东风","fengli":"3级"}},{"date":"2023-09-23","week":"星期六","type":"小雨","low":"20°C","high":"23°C","fengxiang":"东北风","fengli":"3级","night":{"type":"小雨","fengxiang":"东北风","fengli":"3级"}},{"date":"2023-09-24","week":"星期日","type":"中雨","low":"20°C","high":"23°C","fengxiang":"东风","fengli":"3级","night":{"type":"中雨","fengxiang":"东北风","fengli":"3级"}},{"date":"2023-09-25","week":"星期一","type":"小雨","low":"20°C","high":"24°C","fengxiang":"北风","fengli":"3级","night":{"type":"阴","fengxiang":"北风","fengli":"3级"}},{"date":"2023-09-26","week":"星期二","type":"阴","low":"21°C","high":"27°C","fengxiang":"北风","fengli":"3级","night":{"type":"阴","fengxiang":"北风","fengli":"3级"}},{"date":"2023-09-27","week":"星期三","type":"阴","low":"21°C","high":"25°C","fengxiang":"东北风","fengli":"3级","night":{"type":"阴","fengxiang":"北风","fengli":"3级"}}]} -``` - -3. 由于 FastGPT 的 【http 模块】,对于返回的 json 是以对象形式接收,而我们期望得到的是上述 json 中的“data”字段,而“data”又是数组格式,无法直接丢给【AI 对话】模块(我丢过,非字符串格式报错了,不知道后面会不会更新),所以需要对其做一层中转,将“data”字段转成字符串格式。思路如此,中转方式多样,这里介绍我自己的做法:用 python 起一个服务,来负责对 API 的中转,代码如下(包含了天气接口和微博热搜接口): - -```python -from flask import Flask, request, Response -import requests -import json - -app = Flask(__name__) - -@app.route('/weather', methods=['GET','POST']) -def weather(): - if request.method == 'POST': - city = request.form.get('city') - if not city: - data = request.get_json() - if data: - city = data.get('city') - else: - city = request.args.get('city') - - api_url = "https://api.vvhan.com/api/weather" - # 为了方便,这里强行写死一周了,只有城市是外部传进来的 - params = {"city": city, "type": "week"} - - response = requests.get(api_url, params=params) - - res = json.loads(response.text) - # 将data字段转成字符串格式 - res['data'] = json.dumps(res['data'], ensure_ascii=False) - return Response(json.dumps(res, ensure_ascii=False), mimetype="application/json") - -@app.route('/wbhot', methods=['GET','POST']) -def wbhot(): - api_url = "https://api.vvhan.com/api/wbhot" - - response = requests.get(api_url) - - res = json.loads(response.text) - # 只返回前10条热搜(免得数据太多耗token) - res['data'] = res['data'][:10] - # 将data字段转成字符串格式 - res['data'] = json.dumps(res['data'], ensure_ascii=False) - return Response(json.dumps(res, ensure_ascii=False), mimetype="application/json") - -if __name__ == '__main__': - #部署在3017端口,可自行修改 - app.run(host='0.0.0.0', port=3017) -``` - -4. 接口测试返回数据: - -```json -{"success": true, "city": "广州市", "data": "[{\"date\": \"2023-09-21\", \"week\": \"星期四\", \"type\": \"雷阵雨\", \"low\": \"25°C\", \"high\": \"34°C\", \"fengxiang\": \"微风\", \"fengli\": \"3级\", \"night\": {\"type\": \"雷阵雨\", \"fengxiang\": \"微风\", \"fengli\": \"3级\"}}, {\"date\": \"2023-09-22\", \"week\": \"星期五\", \"type\": \"雷阵雨\", \"low\": \"25°C\", \"high\": \"32°C\", \"fengxiang\": \"微风\", \"fengli\": \"3级\", \"night\": {\"type\": \"多云\", \"fengxiang\": \"微风\", \"fengli\": \"3级\"}}, {\"date\": \"2023-09-23\", \"week\": \"星期六\", \"type\": \"多云\", \"low\": \"25°C\", \"high\": \"32°C\", \"fengxiang\": \"微风\", \"fengli\": \"3级\", \"night\": {\"type\": \"多云\", \"fengxiang\": \"微风\", \"fengli\": \"3级\"}}, {\"date\": \"2023-09-24\", \"week\": \"星期日\", \"type\": \"多云\", \"low\": \"25°C\", \"high\": \"34°C\", \"fengxiang\": \"微风\", \"fengli\": \"3级\", \"night\": {\"type\": \"多云\", \"fengxiang\": \"微风\", \"fengli\": \"3级\"}}, {\"date\": \"2023-09-25\", \"week\": \"星期一\", \"type\": \"多云\", \"low\": \"25°C\", \"high\": \"34°C\", \"fengxiang\": \"微风\", \"fengli\": \"3级\", \"night\": {\"type\": \"多云\", \"fengxiang\": \"微风\", \"fengli\": \"3级\"}}, {\"date\": \"2023-09-26\", \"week\": \"星期二\", \"type\": \"多云\", \"low\": \"25°C\", \"high\": \"34°C\", \"fengxiang\": \"微风\", \"fengli\": \"3级\", \"night\": {\"type\": \"多云\", \"fengxiang\": \"微风\", \"fengli\": \"3级\"}}, {\"date\": \"2023-09-27\", \"week\": \"星期三\", \"type\": \"中雨\", \"low\": \"26°C\", \"high\": \"33°C\", \"fengxiang\": \"微风\", \"fengli\": \"3级\", \"night\": {\"type\": \"中雨\", \"fengxiang\": \"微风\", \"fengli\": \"3级\"}}]"} -``` - -### 用户问题分类 - -第一步就是对用户问题进行分类,如图红框部分: - -![](/imgs/versatile_assistant_4.png) - -### 接口参数获取及处理 - -**数据获取:** - -由于天气接口需要传入的是“城市”字段,所以需要我们从用户的问题中提取出“城市”字段,所以【文本内容提取】模块登场。 - -提取要求描述(自行调试另一个 prompt 也行): - -``` -你是一个天气查询助手。根据用户问题,提取出城市。注意不是简单的文本提取,而是上下文理解后的提取。如果用户问题中不包含城市则不提取 -``` - -目标字段:城市 - -**数据处理:** - -1. 设计一个好用的功能往往需要把用户当成小白,所以用户的问题中很可能是没有我们需要的参数的,所以当“提取字段缺失”时,我们需要【指定回复】模块来提示用户输入城市 -2. 若提取成功,则将提取出来的“城市”发给 http 模块 - -如图: - -![](/imgs/versatile_assistant_5.png) - -### AI 总结回复 - -上述步骤已经拿到了天气的 json 结果,但我们需要的是语义化的结果,所以就要把“json 结果”、“当前时间”(方便用户问今天还是明天天气时可以判断)、“上下文聊天记录”(方便用户的问题涉及上下文关联时能区分)这三个参数传给【AI 对话】模块,让它来总结回复。 -限定词(我自己调试的,你有更好的也可以替换): - -``` -已知条件:1. 当前时间是{{cTime}};2. 这份json数据是要询问的地方的天气数据,比如用户问的是“北京”的天气,那这份json就是“北京”的天气数据。 - -现在请自行解析json后回复用户 -``` - -如图: - -![](/imgs/versatile_assistant_6.png) - -## 模块编排 - -复制下面配置,点击「高级编排」右上角的导入按键,导入该配置。 - -PS1:接口的第三方域名已打码,需要自行替换 - -PS2:配置中的问题分类还包含着“联网搜索”,这个是另一个案例中整合进来的,这里不做介绍,有兴趣看另一篇“联网 GPT”案例。没兴趣也可以在问题分类中删掉这个分支 - -{{% details title="编排配置" closed="true" %}} - -```json -[ - { - "moduleId": "userChatInput", - "name": "用户问题(对话入口)", - "flowType": "questionInput", - "position": { - "x": 464.32198615344566, - "y": 1602.2698463081606 - }, - "inputs": [ - { - "key": "userChatInput", - "type": "systemInput", - "label": "用户问题", - "connected": true - } - ], - "outputs": [ - { - "key": "userChatInput", - "label": "用户问题", - "type": "source", - "valueType": "string", - "targets": [ - { - "moduleId": "toho1d", - "key": "userChatInput" - }, - { - "moduleId": "rov9zf", - "key": "content" - }, - { - "moduleId": "6q1n0a", - "key": "userChatInput" - }, - { - "moduleId": "i0u1iy", - "key": "userChatInput" - }, - { - "moduleId": "uo68aj", - "key": "userChatInput" - }, - { - "moduleId": "3k4zw1", - "key": "content" - }, - { - "moduleId": "01fwnb", - "key": "userChatInput" - } - ] - } - ] - }, - { - "moduleId": "history", - "name": "聊天记录", - "flowType": "historyNode", - "position": { - "x": 452.5466249541586, - "y": 1276.3930310334215 - }, - "inputs": [ - { - "key": "maxContext", - "type": "numberInput", - "label": "最长记录数", - "value": 6, - "min": 0, - "max": 50, - "connected": true - }, - { - "key": "history", - "type": "hidden", - "label": "聊天记录", - "connected": true - } - ], - "outputs": [ - { - "key": "history", - "label": "聊天记录", - "valueType": "chatHistory", - "type": "source", - "targets": [ - { - "moduleId": "toho1d", - "key": "history" - }, - { - "moduleId": "6q1n0a", - "key": "history" - }, - { - "moduleId": "rov9zf", - "key": "history" - }, - { - "moduleId": "uo68aj", - "key": "history" - }, - { - "moduleId": "3k4zw1", - "key": "history" - }, - { - "moduleId": "01fwnb", - "key": "history" - } - ] - } - ] - }, - { - "moduleId": "toho1d", - "name": "问题分类", - "flowType": "classifyQuestion", - "showStatus": true, - "position": { - "x": 942.1068912757241, - "y": 1044.6701989335747 - }, - "inputs": [ - { - "key": "systemPrompt", - "type": "textarea", - "valueType": "string", - "value": "", - "label": "系统提示词", - "description": "你可以添加一些特定内容的介绍,从而更好的识别用户的问题类型。这个内容通常是给模型介绍一个它不知道的内容。", - "placeholder": "例如: \n1. Laf 是一个云函数开发平台……\n2. Sealos 是一个集群操作系统", - "connected": true - }, - { - "key": "history", - "type": "target", - "label": "聊天记录", - "valueType": "chatHistory", - "connected": true - }, - { - "key": "userChatInput", - "type": "target", - "label": "用户问题", - "required": true, - "valueType": "string", - "connected": true - }, - { - "key": "agents", - "type": "custom", - "label": "", - "value": [ - { - "value": "询问天气", - "key": "fasw" - }, - { - "value": "其它问题", - "key": "wl9i" - }, - { - "value": "微博热榜", - "key": "sf09" - }, - { - "value": "联网搜索", - "key": "6p8b" - } - ], - "connected": true - } - ], - "outputs": [ - { - "key": "fasw", - "label": "", - "type": "hidden", - "targets": [ - { - "moduleId": "rov9zf", - "key": "switch" - } - ] - }, - { - "key": "fqsw", - "label": "", - "type": "hidden", - "targets": [] - }, - { - "key": "fesw", - "label": "", - "type": "hidden", - "targets": [] - }, - { - "key": "wl9i", - "label": "", - "type": "hidden", - "targets": [ - { - "moduleId": "i0u1iy", - "key": "switch" - } - ] - }, - { - "key": "sf09", - "label": "", - "type": "hidden", - "targets": [ - { - "moduleId": "3m320f", - "key": "switch" - } - ] - }, - { - "key": "6p8b", - "label": "", - "type": "hidden", - "targets": [ - { - "moduleId": "3k4zw1", - "key": "switch" - } - ] - } - ] - }, - { - "moduleId": "rov9zf", - "name": "文本内容提取", - "flowType": "contentExtract", - "showStatus": true, - "position": { - "x": 1632.5948304111266, - "y": 331.84468967718163 - }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": true - }, - { - "key": "description", - "type": "textarea", - "valueType": "string", - "value": "你是一个天气查询助手。根据用户问题,提取出城市。注意不是简单的文本提取,而是上下文理解后的提取。如果用户问题中不包含城市则不提取", - "label": "提取要求描述", - "description": "写一段提取要求,告诉 AI 需要提取哪些内容", - "required": true, - "placeholder": "例如: \n1. 你是一个实验室预约助手。根据用户问题,提取出姓名、实验室号和预约时间", - "connected": true - }, - { - "key": "history", - "type": "target", - "label": "聊天记录", - "valueType": "chatHistory", - "connected": true - }, - { - "key": "content", - "type": "target", - "label": "需要提取的文本", - "required": true, - "valueType": "string", - "connected": true - }, - { - "key": "extractKeys", - "type": "custom", - "label": "目标字段", - "description": "由 '描述' 和 'key' 组成一个目标字段,可提取多个目标字段", - "value": [ - { - "desc": "城市", - "key": "city", - "required": true - } - ], - "connected": true - } - ], - "outputs": [ - { - "key": "success", - "label": "字段完全提取", - "valueType": "boolean", - "type": "source", - "targets": [ - { - "moduleId": "4gy7tw", - "key": "switch" - } - ] - }, - { - "key": "failed", - "label": "提取字段缺失", - "valueType": "boolean", - "type": "source", - "targets": [ - { - "moduleId": "eu1xhx", - "key": "switch" - } - ] - }, - { - "key": "fields", - "label": "完整提取结果", - "description": "一个 JSON 字符串,例如:{\"name:\":\"YY\",\"Time\":\"2023/7/2 18:00\"}", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "city", - "label": "提取结果-城市", - "description": "无法提取时不会返回", - "valueType": "string", - "type": "source", - "targets": [ - { - "moduleId": "4gy7tw", - "key": "city" - } - ] - } - ] - }, - { - "moduleId": "eu1xhx", - "name": "指定回复", - "flowType": "answerNode", - "position": { - "x": 2137.9125850753494, - "y": 326.06694967444105 - }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": true - }, - { - "key": "text", - "type": "textarea", - "valueType": "string", - "value": "请告诉我你要查询的是哪个城市的天气", - "label": "回复的内容", - "description": "可以使用 \\n 来实现换行。也可以通过外部模块输入实现回复,外部模块输入时会覆盖当前填写的内容", - "connected": true - } - ], - "outputs": [ - { - "key": "finish", - "label": "回复结束", - "description": "回复完成后触发", - "valueType": "boolean", - "type": "source", - "targets": [] - } - ] - }, - { - "moduleId": "4gy7tw", - "name": "HTTP模块", - "flowType": "httpRequest", - "showStatus": true, - "position": { - "x": 2156.411722495609, - "y": 661.4677041198821 - }, - "inputs": [ - { - "key": "url", - "value": "http://api.xxx.cn/weather", - "type": "input", - "label": "请求地址", - "description": "请求目标地址", - "placeholder": "https://api.fastgpt.run/getInventory", - "required": true, - "connected": true - }, - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": true - }, - { - "valueType": "string", - "type": "target", - "label": "城市", - "edit": true, - "required": false, - "connected": true, - "key": "city" - } - ], - "outputs": [ - { - "label": "结果", - "valueType": "string", - "type": "source", - "edit": true, - "targets": [ - { - "moduleId": "6q1n0a", - "key": "systemPrompt" - } - ], - "key": "data" - }, - { - "key": "finish", - "label": "请求结束", - "valueType": "boolean", - "type": "source", - "targets": [ - { - "moduleId": "6q1n0a", - "key": "switch" - } - ] - } - ] - }, - { - "moduleId": "6q1n0a", - "name": "AI 对话", - "flowType": "chatNode", - "showStatus": true, - "position": { - "x": 2771.9325168087653, - "y": 262.8526145591803 - }, - "inputs": [ - { - "key": "model", - "type": "custom", - "label": "对话模型", - "value": "gpt-3.5-turbo", - "list": [ - { - "label": "GPT35-4k", - "value": "gpt-3.5-turbo" - }, - { - "label": "GPT35-16k", - "value": "gpt-3.5-turbo-16k" - }, - { - "label": "GPT4-8k", - "value": "gpt-4" - } - ], - "connected": true - }, - { - "key": "temperature", - "type": "slider", - "label": "温度", - "value": 0, - "min": 0, - "max": 10, - "step": 1, - "markList": [ - { - "label": "严谨", - "value": 0 - }, - { - "label": "发散", - "value": 10 - } - ], - "connected": true - }, - { - "key": "maxToken", - "type": "custom", - "label": "回复上限", - "value": 2000, - "min": 100, - "max": 4000, - "step": 50, - "markList": [ - { - "label": "100", - "value": 100 - }, - { - "label": "4000", - "value": 4000 - } - ], - "connected": true - }, - { - "key": "systemPrompt", - "type": "textarea", - "label": "系统提示词", - "max": 300, - "valueType": "string", - "description": "模型固定的引导词,通过调整该内容,可以引导模型聊天方向。该内容会被固定在上下文的开头。可使用变量,例如 {{language}}", - "placeholder": "模型固定的引导词,通过调整该内容,可以引导模型聊天方向。该内容会被固定在上下文的开头。可使用变量,例如 {{language}}", - "value": "", - "connected": true - }, - { - "key": "quoteTemplate", - "type": "hidden", - "label": "引用内容模板", - "valueType": "string", - "value": "", - "connected": true - }, - { - "key": "quotePrompt", - "type": "hidden", - "label": "引用内容提示词", - "valueType": "string", - "value": "", - "connected": true - }, - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": true - }, - { - "key": "quoteQA", - "type": "custom", - "label": "引用内容", - "description": "对象数组格式,结构:\n [{q:'问题',a:'回答'}]", - "valueType": "datasetQuote", - "connected": false - }, - { - "key": "history", - "type": "target", - "label": "聊天记录", - "valueType": "chatHistory", - "connected": true - }, - { - "key": "userChatInput", - "type": "target", - "label": "用户问题", - "required": true, - "valueType": "string", - "connected": true - }, - { - "key": "limitPrompt", - "type": "textarea", - "valueType": "string", - "label": "限定词", - "description": "限定模型对话范围,会被放置在本次提问前,拥有强引导和限定性。可使用变量,例如 {{language}}。引导例子:\n1. 知识库是关于 Laf 的介绍,参考知识库回答问题,与 \"Laf\" 无关内容,直接回复: \"我不知道\"。\n2. 你仅回答关于 \"xxx\" 的问题,其他问题回复: \"xxxx\"", - "placeholder": "限定模型对话范围,会被放置在本次提问前,拥有强引导和限定性。可使用变量,例如 {{language}}。引导例子:\n1. 知识库是关于 Laf 的介绍,参考知识库回答问题,与 \"Laf\" 无关内容,直接回复: \"我不知道\"。\n2. 你仅回答关于 \"xxx\" 的问题,其他问题回复: \"xxxx\"", - "value": "已知条件:1. 当前时间是{{cTime}};2. 这份json数据是要询问的地方的天气数据,比如用户问的是“北京”的天气,那这份json就是“北京”的天气数据。\n\n现在请自行解析json后回复用户", - "connected": true - } - ], - "outputs": [ - { - "key": "answerText", - "label": "AI回复", - "description": "将在 stream 回复完毕后触发", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "finish", - "label": "回复结束", - "description": "AI 回复完成后触发", - "valueType": "boolean", - "type": "source", - "targets": [] - } - ] - }, - { - "moduleId": "i0u1iy", - "name": "AI 对话", - "flowType": "chatNode", - "showStatus": true, - "position": { - "x": 1636.416225126142, - "y": 1243.2398251366028 - }, - "inputs": [ - { - "key": "model", - "type": "custom", - "label": "对话模型", - "value": "gpt-3.5-turbo", - "list": [ - { - "label": "GPT35-4k", - "value": "gpt-3.5-turbo" - }, - { - "label": "GPT35-16k", - "value": "gpt-3.5-turbo-16k" - }, - { - "label": "GPT4-8k", - "value": "gpt-4" - } - ], - "connected": true - }, - { - "key": "temperature", - "type": "slider", - "label": "温度", - "value": 0, - "min": 0, - "max": 10, - "step": 1, - "markList": [ - { - "label": "严谨", - "value": 0 - }, - { - "label": "发散", - "value": 10 - } - ], - "connected": true - }, - { - "key": "maxToken", - "type": "custom", - "label": "回复上限", - "value": 4000, - "min": 100, - "max": 4000, - "step": 50, - "markList": [ - { - "label": "100", - "value": 100 - }, - { - "label": "4000", - "value": 4000 - } - ], - "connected": true - }, - { - "key": "systemPrompt", - "type": "textarea", - "label": "系统提示词", - "max": 300, - "valueType": "string", - "description": "模型固定的引导词,通过调整该内容,可以引导模型聊天方向。该内容会被固定在上下文的开头。可使用变量,例如 {{language}}", - "placeholder": "模型固定的引导词,通过调整该内容,可以引导模型聊天方向。该内容会被固定在上下文的开头。可使用变量,例如 {{language}}", - "value": "", - "connected": true - }, - { - "key": "quoteTemplate", - "type": "hidden", - "label": "引用内容模板", - "valueType": "string", - "value": "", - "connected": true - }, - { - "key": "quotePrompt", - "type": "hidden", - "label": "引用内容提示词", - "valueType": "string", - "value": "", - "connected": true - }, - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": true - }, - { - "key": "quoteQA", - "type": "custom", - "label": "引用内容", - "description": "对象数组格式,结构:\n [{q:'问题',a:'回答'}]", - "valueType": "datasetQuote", - "connected": false - }, - { - "key": "history", - "type": "target", - "label": "聊天记录", - "valueType": "chatHistory", - "connected": true - }, - { - "key": "userChatInput", - "type": "target", - "label": "用户问题", - "required": true, - "valueType": "string", - "connected": true - }, - { - "key": "limitPrompt", - "type": "textarea", - "valueType": "string", - "label": "限定词", - "description": "限定模型对话范围,会被放置在本次提问前,拥有强引导和限定性。可使用变量,例如 {{language}}。引导例子:\n1. 知识库是关于 Laf 的介绍,参考知识库回答问题,与 \"Laf\" 无关内容,直接回复: \"我不知道\"。\n2. 你仅回答关于 \"xxx\" 的问题,其他问题回复: \"xxxx\"", - "placeholder": "限定模型对话范围,会被放置在本次提问前,拥有强引导和限定性。可使用变量,例如 {{language}}。引导例子:\n1. 知识库是关于 Laf 的介绍,参考知识库回答问题,与 \"Laf\" 无关内容,直接回复: \"我不知道\"。\n2. 你仅回答关于 \"xxx\" 的问题,其他问题回复: \"xxxx\"", - "value": "", - "connected": true - } - ], - "outputs": [ - { - "key": "answerText", - "label": "AI回复", - "description": "将在 stream 回复完毕后触发", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "finish", - "label": "回复结束", - "description": "AI 回复完成后触发", - "valueType": "boolean", - "type": "source", - "targets": [] - } - ] - }, - { - "moduleId": "3m320f", - "name": "HTTP模块", - "flowType": "httpRequest", - "showStatus": true, - "position": { - "x": 1640.5198770218628, - "y": 2420.3111570417573 - }, - "inputs": [ - { - "key": "url", - "value": "http://api.xxx.cn/wbhot", - "type": "input", - "label": "请求地址", - "description": "请求目标地址", - "placeholder": "https://api.fastgpt.run/getInventory", - "required": true, - "connected": true - }, - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": true - } - ], - "outputs": [ - { - "label": "data", - "valueType": "string", - "type": "source", - "edit": true, - "targets": [ - { - "moduleId": "uo68aj", - "key": "systemPrompt" - } - ], - "key": "data" - }, - { - "key": "finish", - "label": "请求结束", - "valueType": "boolean", - "type": "source", - "targets": [ - { - "moduleId": "uo68aj", - "key": "switch" - } - ] - } - ] - }, - { - "moduleId": "uo68aj", - "name": "AI 对话", - "flowType": "chatNode", - "showStatus": true, - "position": { - "x": 2248.9999960823247, - "y": 2411.459363346701 - }, - "inputs": [ - { - "key": "model", - "type": "custom", - "label": "对话模型", - "value": "gpt-3.5-turbo-16k", - "list": [ - { - "label": "GPT35-4k", - "value": "gpt-3.5-turbo" - }, - { - "label": "GPT35-16k", - "value": "gpt-3.5-turbo-16k" - }, - { - "label": "GPT4-8k", - "value": "gpt-4" - } - ], - "connected": true - }, - { - "key": "temperature", - "type": "slider", - "label": "温度", - "value": 0, - "min": 0, - "max": 10, - "step": 1, - "markList": [ - { - "label": "严谨", - "value": 0 - }, - { - "label": "发散", - "value": 10 - } - ], - "connected": true - }, - { - "key": "maxToken", - "type": "custom", - "label": "回复上限", - "value": 16000, - "min": 100, - "max": 4000, - "step": 50, - "markList": [ - { - "label": "100", - "value": 100 - }, - { - "label": "4000", - "value": 4000 - } - ], - "connected": true - }, - { - "key": "systemPrompt", - "type": "textarea", - "label": "系统提示词", - "max": 300, - "valueType": "string", - "description": "模型固定的引导词,通过调整该内容,可以引导模型聊天方向。该内容会被固定在上下文的开头。可使用变量,例如 {{language}}", - "placeholder": "模型固定的引导词,通过调整该内容,可以引导模型聊天方向。该内容会被固定在上下文的开头。可使用变量,例如 {{language}}", - "value": "", - "connected": true - }, - { - "key": "quoteTemplate", - "type": "hidden", - "label": "引用内容模板", - "valueType": "string", - "value": "", - "connected": true - }, - { - "key": "quotePrompt", - "type": "hidden", - "label": "引用内容提示词", - "valueType": "string", - "value": "", - "connected": true - }, - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": true - }, - { - "key": "quoteQA", - "type": "custom", - "label": "引用内容", - "description": "对象数组格式,结构:\n [{q:'问题',a:'回答'}]", - "valueType": "datasetQuote", - "connected": false - }, - { - "key": "history", - "type": "target", - "label": "聊天记录", - "valueType": "chatHistory", - "connected": true - }, - { - "key": "userChatInput", - "type": "target", - "label": "用户问题", - "required": true, - "valueType": "string", - "connected": true - }, - { - "key": "limitPrompt", - "type": "textarea", - "valueType": "string", - "label": "限定词", - "description": "限定模型对话范围,会被放置在本次提问前,拥有强引导和限定性。可使用变量,例如 {{language}}。引导例子:\n1. 知识库是关于 Laf 的介绍,参考知识库回答问题,与 \"Laf\" 无关内容,直接回复: \"我不知道\"。\n2. 你仅回答关于 \"xxx\" 的问题,其他问题回复: \"xxxx\"", - "placeholder": "限定模型对话范围,会被放置在本次提问前,拥有强引导和限定性。可使用变量,例如 {{language}}。引导例子:\n1. 知识库是关于 Laf 的介绍,参考知识库回答问题,与 \"Laf\" 无关内容,直接回复: \"我不知道\"。\n2. 你仅回答关于 \"xxx\" 的问题,其他问题回复: \"xxxx\"", - "value": "以上json数据是当前的微博热榜数据,回答的时候用markdown格式,只需回复热搜标题的前10即可", - "connected": true - } - ], - "outputs": [ - { - "key": "answerText", - "label": "AI回复", - "description": "将在 stream 回复完毕后触发", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "finish", - "label": "回复结束", - "description": "AI 回复完成后触发", - "valueType": "boolean", - "type": "source", - "targets": [] - } - ] - }, - { - "moduleId": "qoccls", - "name": "聊天记录", - "flowType": "historyNode", - "position": { - "x": 448.94080110453046, - "y": 990.48670949044 - }, - "inputs": [ - { - "key": "maxContext", - "type": "numberInput", - "label": "最长记录数", - "value": 50, - "min": 0, - "max": 50, - "connected": true - }, - { - "key": "history", - "type": "hidden", - "label": "聊天记录", - "connected": true - } - ], - "outputs": [ - { - "key": "history", - "label": "聊天记录", - "valueType": "chatHistory", - "type": "source", - "targets": [ - { - "moduleId": "i0u1iy", - "key": "history" - } - ] - } - ] - }, - { - "moduleId": "3k4zw1", - "name": "文本内容提取", - "flowType": "contentExtract", - "showStatus": true, - "position": { - "x": 1608.4732867173993, - "y": 3651.5738821560017 - }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": true - }, - { - "key": "description", - "type": "textarea", - "valueType": "string", - "value": "你是谷歌搜索机器人,可以生成搜索词。你需要自行判断是否需要生成搜索词,如果不需要则返回空字符串。", - "label": "提取要求描述", - "description": "写一段提取要求,告诉 AI 需要提取哪些内容", - "required": true, - "placeholder": "例如: \n1. 你是一个实验室预约助手。根据用户问题,提取出姓名、实验室号和预约时间", - "connected": true - }, - { - "key": "history", - "type": "target", - "label": "聊天记录", - "valueType": "chatHistory", - "connected": true - }, - { - "key": "content", - "type": "target", - "label": "需要提取的文本", - "required": true, - "valueType": "string", - "connected": true - }, - { - "key": "extractKeys", - "type": "custom", - "label": "目标字段", - "description": "由 '描述' 和 'key' 组成一个目标字段,可提取多个目标字段", - "value": [ - { - "desc": "搜索词", - "key": "searchKey", - "required": true - } - ], - "connected": true - } - ], - "outputs": [ - { - "key": "success", - "label": "字段完全提取", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "failed", - "label": "提取字段缺失", - "valueType": "boolean", - "type": "source", - "targets": [] - }, - { - "key": "fields", - "label": "完整提取结果", - "description": "一个 JSON 字符串,例如:{\"name:\":\"YY\",\"Time\":\"2023/7/2 18:00\"}", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "searchKey", - "label": "提取结果-搜索词", - "description": "无法提取时不会返回", - "valueType": "string", - "type": "source", - "targets": [ - { - "moduleId": "3ojl65", - "key": "searchKey" - } - ] - } - ] - }, - { - "moduleId": "3ojl65", - "name": "HTTP模块", - "flowType": "httpRequest", - "showStatus": true, - "position": { - "x": 2250.5435150325084, - "y": 3647.785854643283 - }, - "inputs": [ - { - "key": "url", - "value": "http://api.xxx.cn/google", - "type": "input", - "label": "请求地址", - "description": "请求目标地址", - "placeholder": "https://api.fastgpt.run/getInventory", - "required": true, - "connected": true - }, - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": false - }, - { - "valueType": "string", - "type": "target", - "label": "搜索词", - "edit": true, - "key": "searchKey", - "required": true, - "connected": true - } - ], - "outputs": [ - { - "label": "搜索词", - "valueType": "string", - "type": "source", - "edit": true, - "targets": [], - "key": "searchKey" - }, - { - "label": "搜索结果", - "valueType": "string", - "type": "source", - "edit": true, - "targets": [ - { - "moduleId": "01fwnb", - "key": "systemPrompt" - } - ], - "key": "prompt" - }, - { - "key": "finish", - "label": "请求结束", - "valueType": "boolean", - "type": "source", - "targets": [ - { - "moduleId": "01fwnb", - "key": "switch" - } - ] - } - ] - }, - { - "moduleId": "01fwnb", - "name": "AI 对话", - "flowType": "chatNode", - "showStatus": true, - "position": { - "x": 2913.2501313416833, - "y": 3642.3449136226823 - }, - "inputs": [ - { - "key": "model", - "type": "custom", - "label": "对话模型", - "value": "gpt-3.5-turbo-16k", - "list": [ - { - "label": "GPT35-4k", - "value": "gpt-3.5-turbo" - }, - { - "label": "GPT35-16k", - "value": "gpt-3.5-turbo-16k" - }, - { - "label": "GPT4-8k", - "value": "gpt-4" - } - ], - "connected": true - }, - { - "key": "temperature", - "type": "slider", - "label": "温度", - "value": 0, - "min": 0, - "max": 10, - "step": 1, - "markList": [ - { - "label": "严谨", - "value": 0 - }, - { - "label": "发散", - "value": 10 - } - ], - "connected": true - }, - { - "key": "maxToken", - "type": "custom", - "label": "回复上限", - "value": 16000, - "min": 100, - "max": 4000, - "step": 50, - "markList": [ - { - "label": "100", - "value": 100 - }, - { - "label": "4000", - "value": 4000 - } - ], - "connected": true - }, - { - "key": "systemPrompt", - "type": "textarea", - "label": "系统提示词", - "max": 300, - "valueType": "string", - "description": "模型固定的引导词,通过调整该内容,可以引导模型聊天方向。该内容会被固定在上下文的开头。可使用变量,例如 {{language}}", - "placeholder": "模型固定的引导词,通过调整该内容,可以引导模型聊天方向。该内容会被固定在上下文的开头。可使用变量,例如 {{language}}", - "value": "", - "connected": true - }, - { - "key": "quoteTemplate", - "type": "hidden", - "label": "引用内容模板", - "valueType": "string", - "value": "", - "connected": true - }, - { - "key": "quotePrompt", - "type": "hidden", - "label": "引用内容提示词", - "valueType": "string", - "value": "", - "connected": true - }, - { - "key": "switch", - "type": "target", - "label": "触发器", - "valueType": "any", - "connected": true - }, - { - "key": "quoteQA", - "type": "custom", - "label": "引用内容", - "description": "对象数组格式,结构:\n [{q:'问题',a:'回答'}]", - "valueType": "datasetQuote", - "connected": false - }, - { - "key": "history", - "type": "target", - "label": "聊天记录", - "valueType": "chatHistory", - "connected": true - }, - { - "key": "userChatInput", - "type": "target", - "label": "用户问题", - "required": true, - "valueType": "string", - "connected": true - }, - { - "key": "limitPrompt", - "type": "textarea", - "valueType": "string", - "label": "限定词", - "description": "限定模型对话范围,会被放置在本次提问前,拥有强引导和限定性。可使用变量,例如 {{language}}。引导例子:\n1. 知识库是关于 Laf 的介绍,参考知识库回答问题,与 \"Laf\" 无关内容,直接回复: \"我不知道\"。\n2. 你仅回答关于 \"xxx\" 的问题,其他问题回复: \"xxxx\"", - "placeholder": "限定模型对话范围,会被放置在本次提问前,拥有强引导和限定性。可使用变量,例如 {{language}}。引导例子:\n1. 知识库是关于 Laf 的介绍,参考知识库回答问题,与 \"Laf\" 无关内容,直接回复: \"我不知道\"。\n2. 你仅回答关于 \"xxx\" 的问题,其他问题回复: \"xxxx\"", - "value": "", - "connected": true - } - ], - "outputs": [ - { - "key": "answerText", - "label": "AI回复", - "description": "将在 stream 回复完毕后触发", - "valueType": "string", - "type": "source", - "targets": [] - }, - { - "key": "finish", - "label": "回复结束", - "description": "AI 回复完成后触发", - "valueType": "boolean", - "type": "source", - "targets": [] - } - ] - }, - { - "moduleId": "kq35bj", - "name": "用户引导", - "flowType": "userGuide", - "position": { - "x": 359.84546622310677, - "y": 686.3487640909323 - }, - "inputs": [ - { - "key": "welcomeText", - "type": "input", - "label": "开场白", - "value": "你好,我是你的全能助手,目前我拥有【查询天气】、【查看微博热搜】、【智能聊天】功能。来跟我对话吧~", - "connected": true - } - ], - "outputs": [] - } -] -``` - -{{% /details %}} - -## 效果图 - -![](/imgs/versatile_assistant_7.png) - -## 后记 - -1. 案例中的提示词不一定完美,如果有出现抽风的情况,可以自行调整提示词。 -2. 查询天气的 ai 对话,为了省 token 我用的是 GPT3.5,按理说 GPT4 理解力会高点,可以自行试试。 -3. 本案例中采用了“限定词”的方式引导 【AI 对话】模块,但最新版好像不支持限定词了(当然导入配置是没问题的),大家可以自行研究下新版的用法~ diff --git a/packages/global/common/file/image/constants.ts b/packages/global/common/file/image/constants.ts index 3e5b30cdfc..5e9ea12a27 100644 --- a/packages/global/common/file/image/constants.ts +++ b/packages/global/common/file/image/constants.ts @@ -53,4 +53,4 @@ export const uniqueImageTypeList = Object.entries(mongoImageTypeMap) export const FolderIcon = 'file/fill/folder'; export const FolderImgUrl = '/imgs/files/folder.svg'; -export const HttpImgUrl = '/imgs/module/http.png'; +export const HttpImgUrl = '/imgs/workflow/http.png'; diff --git a/packages/global/common/string/tiktoken/index.ts b/packages/global/common/string/tiktoken/index.ts deleted file mode 100644 index 9b8f1d40cb..0000000000 --- a/packages/global/common/string/tiktoken/index.ts +++ /dev/null @@ -1,152 +0,0 @@ -/* Only the token of gpt-3.5-turbo is used */ -import type { ChatItemType } from '../../../core/chat/type'; -import { Tiktoken } from 'js-tiktoken/lite'; -import { chats2GPTMessages } from '../../../core/chat/adapt'; -import encodingJson from './cl100k_base.json'; -import { - ChatCompletionMessageParam, - ChatCompletionContentPart, - ChatCompletionCreateParams, - ChatCompletionTool -} from '../../../core/ai/type'; -import { ChatCompletionRequestMessageRoleEnum } from '../../../core/ai/constants'; - -/* init tikToken obj */ -export function getTikTokenEnc() { - if (typeof window !== 'undefined' && window.TikToken) { - return window.TikToken; - } - if (typeof global !== 'undefined' && global.TikToken) { - return global.TikToken; - } - - const enc = new Tiktoken(encodingJson); - - if (typeof window !== 'undefined') { - window.TikToken = enc; - } - if (typeof global !== 'undefined') { - global.TikToken = enc; - } - - return enc; -} - -/* count one prompt tokens */ -export function countPromptTokens( - prompt: string | ChatCompletionContentPart[] | null | undefined = '', - role: '' | `${ChatCompletionRequestMessageRoleEnum}` = '' -) { - const enc = getTikTokenEnc(); - const promptText = (() => { - if (!prompt) return ''; - if (typeof prompt === 'string') return prompt; - let promptText = ''; - prompt.forEach((item) => { - if (item.type === 'text') { - promptText += item.text; - } else if (item.type === 'image_url') { - promptText += item.image_url.url; - } - }); - return promptText; - })(); - - const text = `${role}\n${promptText}`.trim(); - - try { - const encodeText = enc.encode(text); - const supplementaryToken = role ? 4 : 0; - return encodeText.length + supplementaryToken; - } catch (error) { - return text.length; - } -} -export const countToolsTokens = ( - tools?: ChatCompletionTool[] | ChatCompletionCreateParams.Function[] -) => { - if (!tools || tools.length === 0) return 0; - - const enc = getTikTokenEnc(); - - const toolText = tools - ? JSON.stringify(tools) - .replace('"', '') - .replace('\n', '') - .replace(/( ){2,}/g, ' ') - : ''; - - return enc.encode(toolText).length; -}; - -/* count messages tokens */ -export const countMessagesTokens = (messages: ChatItemType[]) => { - const adaptMessages = chats2GPTMessages({ messages, reserveId: true }); - - return countGptMessagesTokens(adaptMessages); -}; -export const countGptMessagesTokens = ( - messages: ChatCompletionMessageParam[], - tools?: ChatCompletionTool[], - functionCall?: ChatCompletionCreateParams.Function[] -) => - messages.reduce((sum, item) => { - // Evaluates the text of toolcall and functioncall - const functionCallPrompt = (() => { - let prompt = ''; - if (item.role === ChatCompletionRequestMessageRoleEnum.Assistant) { - const toolCalls = item.tool_calls; - prompt += - toolCalls - ?.map((item) => `${item?.function?.name} ${item?.function?.arguments}`.trim()) - ?.join('') || ''; - - const functionCall = item.function_call; - prompt += `${functionCall?.name} ${functionCall?.arguments}`.trim(); - } - return prompt; - })(); - - const contentPrompt = (() => { - if (!item.content) return ''; - if (typeof item.content === 'string') return item.content; - return item.content - .map((item) => { - if (item.type === 'text') return item.text; - return ''; - }) - .join(''); - })(); - - return sum + countPromptTokens(`${contentPrompt}${functionCallPrompt}`, item.role); - }, 0) + - countToolsTokens(tools) + - countToolsTokens(functionCall); - -/* slice messages from top to bottom by maxTokens */ -export function sliceMessagesTB({ - messages, - maxTokens -}: { - messages: ChatItemType[]; - maxTokens: number; -}) { - const adaptMessages = chats2GPTMessages({ messages, reserveId: true }); - let reduceTokens = maxTokens; - let result: ChatItemType[] = []; - - for (let i = 0; i < adaptMessages.length; i++) { - const item = adaptMessages[i]; - - const tokens = countPromptTokens(item.content, item.role); - reduceTokens -= tokens; - - if (reduceTokens > 0) { - result.push(messages[i]); - } else { - break; - } - } - - return result.length === 0 && messages[0] ? [messages[0]] : result; -} diff --git a/packages/global/common/string/tiktoken/type.d.ts b/packages/global/common/string/tiktoken/type.d.ts deleted file mode 100644 index 0531c07357..0000000000 --- a/packages/global/common/string/tiktoken/type.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { Tiktoken } from 'js-tiktoken'; - -declare global { - var TikToken: Tiktoken; -} diff --git a/packages/global/common/string/time.ts b/packages/global/common/string/time.ts index 6c6d030a7d..c80feea87a 100644 --- a/packages/global/common/string/time.ts +++ b/packages/global/common/string/time.ts @@ -1,5 +1,36 @@ import dayjs from 'dayjs'; +import cronParser from 'cron-parser'; export const formatTime2YMDHM = (time?: Date) => time ? dayjs(time).format('YYYY-MM-DD HH:mm') : ''; export const formatTime2YMD = (time?: Date) => (time ? dayjs(time).format('YYYY-MM-DD') : ''); + +/* cron time parse */ +export const cronParser2Fields = (cronString: string) => { + try { + const cronField = cronParser.parseExpression(cronString).fields; + return cronField; + } catch (error) { + return null; + } +}; +// 根据cron表达式和时区获取下一个时间 +export const getNextTimeByCronStringAndTimezone = ({ + cronString, + timezone +}: { + cronString: string; + timezone: string; +}) => { + try { + const options = { + currentDate: dayjs().tz(timezone).format(), + tz: timezone + }; + const interval = cronParser.parseExpression(cronString, options); + const date = interval.next().toString(); + return new Date(date); + } catch (error) { + return new Date('2099'); + } +}; diff --git a/packages/global/common/string/tools.ts b/packages/global/common/string/tools.ts index 5447297e91..8e3c8da7cc 100644 --- a/packages/global/common/string/tools.ts +++ b/packages/global/common/string/tools.ts @@ -28,7 +28,9 @@ export const simpleText = (text = '') => { /* replace {{variable}} to value */ -export function replaceVariable(text: string, obj: Record) { +export function replaceVariable(text: any, obj: Record) { + if (!(typeof text === 'string')) return text; + for (const key in obj) { const val = obj[key]; if (!['string', 'number'].includes(typeof val)) continue; diff --git a/packages/global/common/time/timezone.ts b/packages/global/common/time/timezone.ts index 081db51053..ee3cbbac26 100644 --- a/packages/global/common/time/timezone.ts +++ b/packages/global/common/time/timezone.ts @@ -76,5 +76,5 @@ export const getSystemTime = (timeZone: string) => { const timezoneDiff = getTimezoneOffset(timeZone); const now = Date.now(); const targetTime = now + timezoneDiff * 60 * 60 * 1000; - return dayjs(targetTime).format('YYYY-MM-DD HH:mm:ss'); + return dayjs(targetTime).format('YYYY-MM-DD HH:mm:ss dddd'); }; diff --git a/packages/global/core/ai/prompt/agent.ts b/packages/global/core/ai/prompt/agent.ts index 2f7894fa46..681d59f5b7 100644 --- a/packages/global/core/ai/prompt/agent.ts +++ b/packages/global/core/ai/prompt/agent.ts @@ -41,20 +41,22 @@ export const Prompt_ExtractJson = `你可以从 <对话记录> `; -export const Prompt_CQJson = `我会给你几个问题类型,请参考背景知识(可能为空)和对话记录,判断我“本次问题”的类型,并返回一个问题“类型ID”: -<问题类型> +export const Prompt_CQJson = `请帮我执行一个“问题分类”任务,将问题分类为以下几种类型之一: + +""" {{typeList}} - +""" -<背景知识> +## 背景知识 {{systemPrompt}} - -<对话记录> +## 对话记录 {{history}} - -Human:"{{question}}" +## 开始任务 + +现在,我们开始分类,我会给你一个"问题",请结合背景知识和对话记录,将问题分类到对应的类型中,并返回类型ID。 +问题:"{{question}}" 类型ID= `; diff --git a/packages/global/core/app/api.d.ts b/packages/global/core/app/api.d.ts index e77b945b20..80c06e7690 100644 --- a/packages/global/core/app/api.d.ts +++ b/packages/global/core/app/api.d.ts @@ -7,6 +7,7 @@ export type CreateAppParams = { avatar?: string; type?: `${AppTypeEnum}`; modules: AppSchema['modules']; + edges?: AppSchema['edges']; }; export interface AppUpdateParams { @@ -15,6 +16,7 @@ export interface AppUpdateParams { avatar?: string; intro?: string; modules?: AppSchema['modules']; + edges?: AppSchema['edges']; permission?: AppSchema['permission']; teamTags?: AppSchema['teamTags']; } diff --git a/packages/global/core/app/type.d.ts b/packages/global/core/app/type.d.ts index 15307481be..60adb1b5d6 100644 --- a/packages/global/core/app/type.d.ts +++ b/packages/global/core/app/type.d.ts @@ -1,23 +1,30 @@ -import type { FlowNodeTemplateType, ModuleItemType } from '../module/type.d'; +import type { FlowNodeTemplateType, StoreNodeItemType } from '../workflow/type'; import { AppTypeEnum } from './constants'; import { PermissionTypeEnum } from '../../support/permission/constant'; -import type { DatasetModuleProps } from '../module/node/type.d'; -import { VariableInputEnum } from '../module/constants'; -import { SelectedDatasetType } from '../module/api'; +import { VariableInputEnum } from '../workflow/constants'; +import { SelectedDatasetType } from '../workflow/api'; import { DatasetSearchModeEnum } from '../dataset/constants'; import { TeamTagSchema as TeamTagsSchemaType } from '@fastgpt/global/support/user/team/type.d'; +import { StoreEdgeItemType } from 'core/workflow/type/edge'; + export interface AppSchema { _id: string; - userId: string; teamId: string; tmbId: string; name: string; type: `${AppTypeEnum}`; + version?: 'v1' | 'v2'; avatar: string; intro: string; updateTime: number; - modules: ModuleItemType[]; + modules: StoreNodeItemType[]; + edges: StoreEdgeItemType[]; + + // App system config + scheduledTriggerConfig?: AppScheduledTriggerConfigType | null; + scheduledTriggerNextTime?: Date; + permission: `${PermissionTypeEnum}`; inited?: boolean; teamTags: string[]; @@ -79,10 +86,19 @@ export type AppSimpleEditFormType = { speed?: number | undefined; }; whisper: AppWhisperConfigType; + scheduleTrigger: AppScheduledTriggerConfigType | null; }; }; /* app function config */ +export type SettingAIDataType = { + model: string; + temperature: number; + maxToken: number; + isResponseAnswerText?: boolean; + maxHistories?: number; +}; + // variable export type VariableItemType = { id: string; @@ -106,3 +122,9 @@ export type AppWhisperConfigType = { autoSend: boolean; autoTTSResponse: boolean; }; +// interval timer +export type AppScheduledTriggerConfigType = { + cronString: string; + timezone: string; + defaultPrompt: string; +}; diff --git a/packages/global/core/app/utils.ts b/packages/global/core/app/utils.ts index e322cf510e..703d05e96f 100644 --- a/packages/global/core/app/utils.ts +++ b/packages/global/core/app/utils.ts @@ -1,13 +1,9 @@ import type { AppSimpleEditFormType } from '../app/type'; -import { FlowNodeTypeEnum } from '../module/node/constant'; -import { - ModuleOutputKeyEnum, - ModuleInputKeyEnum, - FlowNodeTemplateTypeEnum -} from '../module/constants'; -import type { FlowNodeInputItemType } from '../module/node/type.d'; -import { getGuideModule, splitGuideModule } from '../module/utils'; -import { ModuleItemType } from '../module/type.d'; +import { FlowNodeTypeEnum } from '../workflow/node/constant'; +import { NodeInputKeyEnum, FlowNodeTemplateTypeEnum } from '../workflow/constants'; +import type { FlowNodeInputItemType } from '../workflow/type/io.d'; +import { getGuideModule, splitGuideModule } from '../workflow/utils'; +import { StoreNodeItemType } from '../workflow/type'; import { DatasetSearchModeEnum } from '../dataset/constants'; import { defaultWhisperConfig } from './constants'; @@ -38,97 +34,104 @@ export const getDefaultAppForm = (): AppSimpleEditFormType => { tts: { type: 'web' }, - whisper: defaultWhisperConfig + whisper: defaultWhisperConfig, + scheduleTrigger: null } }; }; -/* format app modules to edit form */ -export const appModules2Form = ({ modules }: { modules: ModuleItemType[] }) => { +/* format app nodes to edit form */ +export const appWorkflow2Form = ({ nodes }: { nodes: StoreNodeItemType[] }) => { const defaultAppForm = getDefaultAppForm(); const findInputValueByKey = (inputs: FlowNodeInputItemType[], key: string) => { return inputs.find((item) => item.key === key)?.value; }; - modules.forEach((module) => { + nodes.forEach((node) => { if ( - module.flowType === FlowNodeTypeEnum.chatNode || - module.flowType === FlowNodeTypeEnum.tools + node.flowNodeType === FlowNodeTypeEnum.chatNode || + node.flowNodeType === FlowNodeTypeEnum.tools ) { - defaultAppForm.aiSettings.model = findInputValueByKey( - module.inputs, - ModuleInputKeyEnum.aiModel - ); + defaultAppForm.aiSettings.model = findInputValueByKey(node.inputs, NodeInputKeyEnum.aiModel); defaultAppForm.aiSettings.systemPrompt = findInputValueByKey( - module.inputs, - ModuleInputKeyEnum.aiSystemPrompt + node.inputs, + NodeInputKeyEnum.aiSystemPrompt ); defaultAppForm.aiSettings.temperature = findInputValueByKey( - module.inputs, - ModuleInputKeyEnum.aiChatTemperature + node.inputs, + NodeInputKeyEnum.aiChatTemperature ); defaultAppForm.aiSettings.maxToken = findInputValueByKey( - module.inputs, - ModuleInputKeyEnum.aiChatMaxToken + node.inputs, + NodeInputKeyEnum.aiChatMaxToken ); defaultAppForm.aiSettings.maxHistories = findInputValueByKey( - module.inputs, - ModuleInputKeyEnum.history + node.inputs, + NodeInputKeyEnum.history ); - } else if (module.flowType === FlowNodeTypeEnum.datasetSearchNode) { + } else if (node.flowNodeType === FlowNodeTypeEnum.datasetSearchNode) { defaultAppForm.dataset.datasets = findInputValueByKey( - module.inputs, - ModuleInputKeyEnum.datasetSelectList + node.inputs, + NodeInputKeyEnum.datasetSelectList ); defaultAppForm.dataset.similarity = findInputValueByKey( - module.inputs, - ModuleInputKeyEnum.datasetSimilarity + node.inputs, + NodeInputKeyEnum.datasetSimilarity ); defaultAppForm.dataset.limit = findInputValueByKey( - module.inputs, - ModuleInputKeyEnum.datasetMaxTokens + node.inputs, + NodeInputKeyEnum.datasetMaxTokens ); defaultAppForm.dataset.searchMode = - findInputValueByKey(module.inputs, ModuleInputKeyEnum.datasetSearchMode) || + findInputValueByKey(node.inputs, NodeInputKeyEnum.datasetSearchMode) || DatasetSearchModeEnum.embedding; defaultAppForm.dataset.usingReRank = !!findInputValueByKey( - module.inputs, - ModuleInputKeyEnum.datasetSearchUsingReRank + node.inputs, + NodeInputKeyEnum.datasetSearchUsingReRank ); defaultAppForm.dataset.datasetSearchUsingExtensionQuery = findInputValueByKey( - module.inputs, - ModuleInputKeyEnum.datasetSearchUsingExtensionQuery + node.inputs, + NodeInputKeyEnum.datasetSearchUsingExtensionQuery ); defaultAppForm.dataset.datasetSearchExtensionModel = findInputValueByKey( - module.inputs, - ModuleInputKeyEnum.datasetSearchExtensionModel + node.inputs, + NodeInputKeyEnum.datasetSearchExtensionModel ); defaultAppForm.dataset.datasetSearchExtensionBg = findInputValueByKey( - module.inputs, - ModuleInputKeyEnum.datasetSearchExtensionBg + node.inputs, + NodeInputKeyEnum.datasetSearchExtensionBg ); - } else if (module.flowType === FlowNodeTypeEnum.userGuide) { - const { welcomeText, variableModules, questionGuide, ttsConfig, whisperConfig } = - splitGuideModule(getGuideModule(modules)); + } else if (node.flowNodeType === FlowNodeTypeEnum.systemConfig) { + const { + welcomeText, + variableModules, + questionGuide, + ttsConfig, + whisperConfig, + scheduledTriggerConfig + } = splitGuideModule(getGuideModule(nodes)); defaultAppForm.userGuide = { welcomeText: welcomeText, variables: variableModules, questionGuide: questionGuide, tts: ttsConfig, - whisper: whisperConfig + whisper: whisperConfig, + scheduleTrigger: scheduledTriggerConfig }; - } else if (module.flowType === FlowNodeTypeEnum.pluginModule) { + } else if (node.flowNodeType === FlowNodeTypeEnum.pluginModule) { + if (!node.pluginId) return; + defaultAppForm.selectedTools.push({ - id: module.inputs.find((input) => input.key === ModuleInputKeyEnum.pluginId)?.value || '', - name: module.name, - avatar: module.avatar, - intro: module.intro || '', - flowType: module.flowType, - showStatus: module.showStatus, - inputs: module.inputs, - outputs: module.outputs, + id: node.pluginId, + name: node.name, + avatar: node.avatar, + intro: node.intro || '', + flowNodeType: node.flowNodeType, + showStatus: node.showStatus, + inputs: node.inputs, + outputs: node.outputs, templateType: FlowNodeTemplateTypeEnum.other }); } diff --git a/packages/global/core/chat/type.d.ts b/packages/global/core/chat/type.d.ts index 34e7855afc..22d98dda85 100644 --- a/packages/global/core/chat/type.d.ts +++ b/packages/global/core/chat/type.d.ts @@ -1,4 +1,4 @@ -import { ClassifyQuestionAgentItemType } from '../module/type'; +import { ClassifyQuestionAgentItemType } from '../workflow/type'; import { SearchDataResponseItemType } from '../dataset/type'; import { ChatFileTypeEnum, @@ -7,14 +7,14 @@ import { ChatSourceEnum, ChatStatusEnum } from './constants'; -import { FlowNodeTypeEnum } from '../module/node/constant'; -import { ModuleOutputKeyEnum } from '../module/constants'; -import { DispatchNodeResponseKeyEnum } from '../module/runtime/constants'; +import { FlowNodeTypeEnum } from '../workflow/node/constant'; +import { NodeOutputKeyEnum } from '../workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '../workflow/runtime/constants'; import { AppSchema } from '../app/type'; import type { AppSchema as AppType } from '@fastgpt/global/core/app/type.d'; import { DatasetSearchModeEnum } from '../dataset/constants'; import { ChatBoxInputType } from '../../../../projects/app/src/components/ChatBox/type'; -import { DispatchNodeResponseType } from '../module/runtime/type.d'; +import { DispatchNodeResponseType } from '../workflow/runtime/type.d'; export type ChatSchema = { _id: string; @@ -136,6 +136,7 @@ export type ChatHistoryItemType = HistoryItemType & { /* ------- response data ------------ */ export type ChatHistoryItemResType = DispatchNodeResponseType & { + nodeId: string; moduleType: `${FlowNodeTypeEnum}`; moduleName: string; }; diff --git a/packages/global/core/chat/utils.ts b/packages/global/core/chat/utils.ts index 8dd37bb901..bd8c58c2aa 100644 --- a/packages/global/core/chat/utils.ts +++ b/packages/global/core/chat/utils.ts @@ -1,5 +1,5 @@ -import { DispatchNodeResponseType } from '../module/runtime/type'; -import { FlowNodeInputTypeEnum, FlowNodeTypeEnum } from '../module/node/constant'; +import { DispatchNodeResponseType } from '../workflow/runtime/type'; +import { FlowNodeInputTypeEnum, FlowNodeTypeEnum } from '../workflow/node/constant'; import { ChatItemValueTypeEnum, ChatRoleEnum } from './constants'; import { ChatHistoryItemResType, ChatItemType } from './type.d'; diff --git a/packages/global/core/dataset/search/utils.ts b/packages/global/core/dataset/search/utils.ts index 7274214e57..4b484b4273 100644 --- a/packages/global/core/dataset/search/utils.ts +++ b/packages/global/core/dataset/search/utils.ts @@ -1,4 +1,3 @@ -import { countPromptTokens } from '../../../common/string/tiktoken'; import { SearchScoreTypeEnum } from '../constants'; import { SearchDataResponseItemType } from '../type'; @@ -71,25 +70,3 @@ export const datasetSearchResultConcat = ( return item; }); }; - -export const filterSearchResultsByMaxChars = ( - list: SearchDataResponseItemType[], - maxTokens: number -) => { - const results: SearchDataResponseItemType[] = []; - let totalTokens = 0; - - for (let i = 0; i < list.length; i++) { - const item = list[i]; - totalTokens += countPromptTokens(item.q + item.a); - if (totalTokens > maxTokens + 500) { - break; - } - results.push(item); - if (totalTokens > maxTokens) { - break; - } - } - - return results.length === 0 ? list.slice(0, 1) : results; -}; diff --git a/packages/global/core/module/node/constant.ts b/packages/global/core/module/node/constant.ts deleted file mode 100644 index dde75965e5..0000000000 --- a/packages/global/core/module/node/constant.ts +++ /dev/null @@ -1,70 +0,0 @@ -export enum FlowNodeInputTypeEnum { - triggerAndFinish = 'triggerAndFinish', - systemInput = 'systemInput', // history, userChatInput, variableInput - - input = 'input', // one line input - numberInput = 'numberInput', - select = 'select', - slider = 'slider', - target = 'target', // data input - switch = 'switch', - - // editor - textarea = 'textarea', - JSONEditor = 'JSONEditor', - - addInputParam = 'addInputParam', // params input - - selectApp = 'selectApp', - - // chat special input - aiSettings = 'aiSettings', - - // ai model select - selectLLMModel = 'selectLLMModel', - settingLLMModel = 'settingLLMModel', - - // dataset special input - selectDataset = 'selectDataset', - selectDatasetParamsModal = 'selectDatasetParamsModal', - settingDatasetQuotePrompt = 'settingDatasetQuotePrompt', - - hidden = 'hidden', - custom = 'custom' -} - -export enum FlowNodeOutputTypeEnum { - answer = 'answer', - source = 'source', - hidden = 'hidden', - - addOutputParam = 'addOutputParam' -} - -export enum FlowNodeTypeEnum { - userGuide = 'userGuide', - questionInput = 'questionInput', - historyNode = 'historyNode', - chatNode = 'chatNode', - - datasetSearchNode = 'datasetSearchNode', - datasetConcatNode = 'datasetConcatNode', - - answerNode = 'answerNode', - classifyQuestion = 'classifyQuestion', - contentExtract = 'contentExtract', - httpRequest = 'httpRequest', - httpRequest468 = 'httpRequest468', - runApp = 'app', - pluginModule = 'pluginModule', - pluginInput = 'pluginInput', - pluginOutput = 'pluginOutput', - queryExtension = 'cfr', - tools = 'tools', - stopTool = 'stopTool', - lafModule = 'lafModule' - - // abandon -} - -export const EDGE_TYPE = 'default'; diff --git a/packages/global/core/module/node/type.d.ts b/packages/global/core/module/node/type.d.ts deleted file mode 100644 index 2a684bead9..0000000000 --- a/packages/global/core/module/node/type.d.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { FlowNodeInputTypeEnum, FlowNodeOutputTypeEnum, FlowNodeTypeEnum } from './constant'; -import { ModuleIOValueTypeEnum, ModuleInputKeyEnum, ModuleOutputKeyEnum } from '../constants'; -import { SelectedDatasetType } from '../api'; -import { EditInputFieldMap, EditOutputFieldMap } from './type'; -import { LLMModelTypeEnum } from '../../ai/constants'; - -export type FlowNodeChangeProps = { - moduleId: string; - type: - | 'attr' // key: attr, value: new value - | 'updateInput' // key: update input key, value: new input value - | 'replaceInput' // key: old input key, value: new input value - | 'addInput' // key: null, value: new input value - | 'delInput' // key: delete input key, value: null - | 'updateOutput' // key: update output key, value: new output value - | 'replaceOutput' // key: old output key, value: new output value - | 'addOutput' // key: null, value: new output value - | 'delOutput'; // key: delete output key, value: null - key?: string; - value?: any; - index?: number; -}; - -export type FlowNodeInputItemType = { - valueType?: `${ModuleIOValueTypeEnum}`; // data type - type: `${FlowNodeInputTypeEnum}`; // Node Type. Decide on a render style - key: `${ModuleInputKeyEnum}` | string; - value?: any; - label: string; - description?: string; - required?: boolean; - toolDescription?: string; // If this field is not empty, it is entered as a tool - - edit?: boolean; // Whether to allow editing - editField?: EditInputFieldMap; - defaultEditField?: EditNodeFieldType; - - connected?: boolean; // There are incoming data - - showTargetInApp?: boolean; - showTargetInPlugin?: boolean; - - hideInApp?: boolean; - hideInPlugin?: boolean; - - placeholder?: string; // input,textarea - - list?: { label: string; value: any }[]; // select - - markList?: { label: string; value: any }[]; // slider - step?: number; // slider - max?: number; // slider, number input - min?: number; // slider, number input - - llmModelType?: `${LLMModelTypeEnum}`; -}; - -export type FlowNodeOutputTargetItemType = { - moduleId: string; - key: string; -}; -export type FlowNodeOutputItemType = { - type?: `${FlowNodeOutputTypeEnum}`; - key: `${ModuleOutputKeyEnum}` | string; - valueType?: `${ModuleIOValueTypeEnum}`; - - label?: string; - description?: string; - required?: boolean; - defaultValue?: any; - - edit?: boolean; - editField?: EditOutputFieldMap; - defaultEditField?: EditNodeFieldType; - - targets: FlowNodeOutputTargetItemType[]; -}; - -/* --------------- edit field ------------------- */ -export type EditInputFieldMap = EditOutputFieldMap & { - inputType?: boolean; - required?: boolean; - isToolInput?: boolean; -}; -export type EditOutputFieldMap = { - name?: boolean; - key?: boolean; - description?: boolean; - dataType?: boolean; - defaultValue?: boolean; -}; -export type EditNodeFieldType = { - inputType?: `${FlowNodeInputTypeEnum}`; // input type - outputType?: `${FlowNodeOutputTypeEnum}`; - required?: boolean; - key?: string; - label?: string; - description?: string; - valueType?: `${ModuleIOValueTypeEnum}`; - isToolInput?: boolean; - defaultValue?: string; -}; - -/* ------------- item type --------------- */ -export type SettingAIDataType = { - model: string; - temperature: number; - maxToken: number; - isResponseAnswerText?: boolean; - maxHistories?: number; -}; -/* ai chat modules props */ -export type AIChatModuleProps = { - [ModuleInputKeyEnum.aiModel]: string; - [ModuleInputKeyEnum.aiSystemPrompt]?: string; - [ModuleInputKeyEnum.aiChatTemperature]: number; - [ModuleInputKeyEnum.aiChatMaxToken]: number; - [ModuleInputKeyEnum.aiChatIsResponseText]: boolean; - [ModuleInputKeyEnum.aiChatQuoteTemplate]?: string; - [ModuleInputKeyEnum.aiChatQuotePrompt]?: string; -}; - -export type DatasetModuleProps = { - [ModuleInputKeyEnum.datasetSelectList]: SelectedDatasetType; - [ModuleInputKeyEnum.datasetSimilarity]: number; - [ModuleInputKeyEnum.datasetMaxTokens]: number; - [ModuleInputKeyEnum.datasetStartReRank]: boolean; -}; diff --git a/packages/global/core/module/runtime/utils.ts b/packages/global/core/module/runtime/utils.ts deleted file mode 100644 index 76afc526d2..0000000000 --- a/packages/global/core/module/runtime/utils.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { ChatCompletionRequestMessageRoleEnum } from '../../ai/constants'; - -export const textAdaptGptResponse = ({ - text, - model = '', - finish_reason = null, - extraData = {} -}: { - model?: string; - text: string | null; - finish_reason?: null | 'stop'; - extraData?: Object; -}) => { - return JSON.stringify({ - ...extraData, - id: '', - object: '', - created: 0, - model, - choices: [ - { - delta: - text === null - ? {} - : { role: ChatCompletionRequestMessageRoleEnum.Assistant, content: text }, - index: 0, - finish_reason - } - ] - }); -}; diff --git a/packages/global/core/module/template/input.ts b/packages/global/core/module/template/input.ts deleted file mode 100644 index 3d810ba08a..0000000000 --- a/packages/global/core/module/template/input.ts +++ /dev/null @@ -1,101 +0,0 @@ -import type { FlowNodeInputItemType } from '../node/type.d'; -import { DYNAMIC_INPUT_KEY, ModuleInputKeyEnum } from '../constants'; -import { FlowNodeInputTypeEnum } from '../node/constant'; -import { ModuleIOValueTypeEnum } from '../constants'; -import { chatNodeSystemPromptTip } from './tip'; - -export const Input_Template_Switch: FlowNodeInputItemType = { - key: ModuleInputKeyEnum.switch, - type: FlowNodeInputTypeEnum.hidden, - label: '', - description: 'core.module.input.description.Trigger', - valueType: ModuleIOValueTypeEnum.any, - showTargetInApp: true, - showTargetInPlugin: true -}; - -export const Input_Template_History: FlowNodeInputItemType = { - key: ModuleInputKeyEnum.history, - type: FlowNodeInputTypeEnum.numberInput, - label: 'core.module.input.label.chat history', - required: true, - min: 0, - max: 30, - valueType: ModuleIOValueTypeEnum.chatHistory, - value: 6, - showTargetInApp: true, - showTargetInPlugin: true -}; - -export const Input_Template_UserChatInput: FlowNodeInputItemType = { - key: ModuleInputKeyEnum.userChatInput, - type: FlowNodeInputTypeEnum.custom, - label: '', - required: true, - valueType: ModuleIOValueTypeEnum.string, - showTargetInApp: true, - showTargetInPlugin: true -}; - -export const Input_Template_AddInputParam: FlowNodeInputItemType = { - key: ModuleInputKeyEnum.addInputParam, - type: FlowNodeInputTypeEnum.addInputParam, - valueType: ModuleIOValueTypeEnum.any, - label: '', - required: false, - showTargetInApp: false, - showTargetInPlugin: false -}; - -export const Input_Template_DynamicInput: FlowNodeInputItemType = { - key: DYNAMIC_INPUT_KEY, - type: FlowNodeInputTypeEnum.target, - valueType: ModuleIOValueTypeEnum.any, - label: 'core.module.inputType.dynamicTargetInput', - description: 'core.module.input.description.dynamic input', - required: false, - showTargetInApp: false, - showTargetInPlugin: true, - hideInApp: true -}; - -export const Input_Template_SelectAIModel: FlowNodeInputItemType = { - key: ModuleInputKeyEnum.aiModel, - type: FlowNodeInputTypeEnum.selectLLMModel, - label: 'core.module.input.label.aiModel', - required: true, - valueType: ModuleIOValueTypeEnum.string, - showTargetInApp: false, - showTargetInPlugin: false -}; -export const Input_Template_SettingAiModel: FlowNodeInputItemType = { - key: ModuleInputKeyEnum.aiModel, - type: FlowNodeInputTypeEnum.settingLLMModel, - label: 'core.module.input.label.aiModel', - required: true, - valueType: ModuleIOValueTypeEnum.string, - showTargetInApp: false, - showTargetInPlugin: false -}; - -export const Input_Template_System_Prompt: FlowNodeInputItemType = { - key: ModuleInputKeyEnum.aiSystemPrompt, - type: FlowNodeInputTypeEnum.textarea, - max: 3000, - valueType: ModuleIOValueTypeEnum.string, - label: 'core.ai.Prompt', - description: chatNodeSystemPromptTip, - placeholder: chatNodeSystemPromptTip, - showTargetInApp: true, - showTargetInPlugin: true -}; - -export const Input_Template_Dataset_Quote: FlowNodeInputItemType = { - key: ModuleInputKeyEnum.aiChatDatasetQuote, - type: FlowNodeInputTypeEnum.settingDatasetQuotePrompt, - label: '知识库引用', - description: 'core.module.Dataset quote.Input description', - valueType: ModuleIOValueTypeEnum.datasetQuote, - showTargetInApp: true, - showTargetInPlugin: true -}; diff --git a/packages/global/core/module/template/output.ts b/packages/global/core/module/template/output.ts deleted file mode 100644 index d25923b7d7..0000000000 --- a/packages/global/core/module/template/output.ts +++ /dev/null @@ -1,29 +0,0 @@ -import type { FlowNodeOutputItemType } from '../node/type'; -import { ModuleOutputKeyEnum } from '../constants'; -import { FlowNodeOutputTypeEnum } from '../node/constant'; -import { ModuleIOValueTypeEnum } from '../constants'; - -export const Output_Template_UserChatInput: FlowNodeOutputItemType = { - key: ModuleOutputKeyEnum.userChatInput, - label: 'core.module.input.label.user question', - type: FlowNodeOutputTypeEnum.hidden, - valueType: ModuleIOValueTypeEnum.string, - targets: [] -}; - -export const Output_Template_Finish: FlowNodeOutputItemType = { - key: ModuleOutputKeyEnum.finish, - label: '', - description: '', - valueType: ModuleIOValueTypeEnum.boolean, - type: FlowNodeOutputTypeEnum.hidden, - targets: [] -}; - -export const Output_Template_AddOutput: FlowNodeOutputItemType = { - key: ModuleOutputKeyEnum.addOutputParam, - type: FlowNodeOutputTypeEnum.addOutputParam, - valueType: ModuleIOValueTypeEnum.any, - label: '', - targets: [] -}; diff --git a/packages/global/core/module/template/system/abandon/http.ts b/packages/global/core/module/template/system/abandon/http.ts deleted file mode 100644 index 3b991a59dc..0000000000 --- a/packages/global/core/module/template/system/abandon/http.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { - FlowNodeInputTypeEnum, - FlowNodeOutputTypeEnum, - FlowNodeTypeEnum -} from '../../../node/constant'; -import { FlowNodeTemplateType } from '../../../type'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - FlowNodeTemplateTypeEnum -} from '../../../constants'; -import { - Input_Template_AddInputParam, - Input_Template_DynamicInput, - Input_Template_Switch -} from '../../input'; -import { Output_Template_AddOutput, Output_Template_Finish } from '../../output'; - -export const HttpModule: FlowNodeTemplateType = { - id: FlowNodeTypeEnum.httpRequest, - templateType: FlowNodeTemplateTypeEnum.externalCall, - flowType: FlowNodeTypeEnum.httpRequest, - avatar: '/imgs/module/http.png', - name: 'core.module.template.Http request', - intro: - '该Http模块已被弃用,将于2024/3/31 不再提供服务。请尽快删除该模块并重新添加新的 Http 模块。', - showStatus: true, - inputs: [ - Input_Template_Switch, - { - key: ModuleInputKeyEnum.httpMethod, - type: FlowNodeInputTypeEnum.select, - valueType: ModuleIOValueTypeEnum.string, - label: 'core.module.input.label.Http Request Method', - value: 'POST', - list: [ - { - label: 'GET', - value: 'GET' - }, - { - label: 'POST', - value: 'POST' - } - ], - required: true, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.httpReqUrl, - type: FlowNodeInputTypeEnum.input, - valueType: ModuleIOValueTypeEnum.string, - label: 'core.module.input.label.Http Request Url', - description: 'core.module.input.description.Http Request Url', - placeholder: 'https://api.ai.com/getInventory', - required: false, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.httpHeaders, - type: FlowNodeInputTypeEnum.JSONEditor, - valueType: ModuleIOValueTypeEnum.string, - value: '', - label: 'core.module.input.label.Http Request Header', - description: 'core.module.input.description.Http Request Header', - placeholder: 'core.module.input.description.Http Request Header', - required: false, - showTargetInApp: false, - showTargetInPlugin: false - }, - Input_Template_DynamicInput, - { - ...Input_Template_AddInputParam, - editField: { - key: true, - name: true, - description: true, - required: true, - dataType: true - }, - defaultEditField: { - label: '', - key: '', - description: '', - inputType: FlowNodeInputTypeEnum.target, - valueType: ModuleIOValueTypeEnum.string, - required: true - } - } - ], - outputs: [ - Output_Template_Finish, - { - ...Output_Template_AddOutput, - editField: { - key: true, - name: true, - description: true, - dataType: true - }, - defaultEditField: { - label: '', - key: '', - description: '', - outputType: FlowNodeOutputTypeEnum.source, - valueType: ModuleIOValueTypeEnum.string - } - } - ] -}; diff --git a/packages/global/core/module/template/system/aiChat.ts b/packages/global/core/module/template/system/aiChat.ts deleted file mode 100644 index d5b9ab3a68..0000000000 --- a/packages/global/core/module/template/system/aiChat.ts +++ /dev/null @@ -1,117 +0,0 @@ -import { - FlowNodeInputTypeEnum, - FlowNodeOutputTypeEnum, - FlowNodeTypeEnum -} from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - ModuleOutputKeyEnum, - FlowNodeTemplateTypeEnum -} from '../../constants'; -import { - Input_Template_SettingAiModel, - Input_Template_Dataset_Quote, - Input_Template_History, - Input_Template_Switch, - Input_Template_System_Prompt, - Input_Template_UserChatInput -} from '../input'; -import { chatNodeSystemPromptTip } from '../tip'; -import { Output_Template_Finish, Output_Template_UserChatInput } from '../output'; - -export const AiChatModule: FlowNodeTemplateType = { - id: FlowNodeTypeEnum.chatNode, - templateType: FlowNodeTemplateTypeEnum.textAnswer, - flowType: FlowNodeTypeEnum.chatNode, - avatar: '/imgs/module/AI.png', - name: 'AI 对话', - intro: 'AI 大模型对话', - showStatus: true, - isTool: true, - inputs: [ - Input_Template_Switch, - Input_Template_SettingAiModel, - // --- settings modal - { - key: ModuleInputKeyEnum.aiChatTemperature, - type: FlowNodeInputTypeEnum.hidden, // Set in the pop-up window - label: '', - value: 0, - valueType: ModuleIOValueTypeEnum.number, - min: 0, - max: 10, - step: 1, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.aiChatMaxToken, - type: FlowNodeInputTypeEnum.hidden, // Set in the pop-up window - label: '', - value: 2000, - valueType: ModuleIOValueTypeEnum.number, - min: 100, - max: 4000, - step: 50, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.aiChatIsResponseText, - type: FlowNodeInputTypeEnum.hidden, - label: '', - value: true, - valueType: ModuleIOValueTypeEnum.boolean, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.aiChatQuoteTemplate, - type: FlowNodeInputTypeEnum.hidden, - label: '', - valueType: ModuleIOValueTypeEnum.string, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.aiChatQuotePrompt, - type: FlowNodeInputTypeEnum.hidden, - label: '', - valueType: ModuleIOValueTypeEnum.string, - showTargetInApp: false, - showTargetInPlugin: false - }, - // settings modal --- - { - ...Input_Template_System_Prompt, - label: 'core.ai.Prompt', - description: chatNodeSystemPromptTip, - placeholder: chatNodeSystemPromptTip - }, - Input_Template_History, - { ...Input_Template_UserChatInput, toolDescription: '用户问题' }, - Input_Template_Dataset_Quote - ], - outputs: [ - Output_Template_UserChatInput, - { - key: ModuleOutputKeyEnum.history, - label: 'core.module.output.label.New context', - description: 'core.module.output.description.New context', - valueType: ModuleIOValueTypeEnum.chatHistory, - type: FlowNodeOutputTypeEnum.source, - targets: [] - }, - { - key: ModuleOutputKeyEnum.answerText, - label: 'core.module.output.label.Ai response content', - description: 'core.module.output.description.Ai response content', - valueType: ModuleIOValueTypeEnum.string, - type: FlowNodeOutputTypeEnum.source, - targets: [] - }, - Output_Template_Finish - ] -}; diff --git a/packages/global/core/module/template/system/assignedAnswer.ts b/packages/global/core/module/template/system/assignedAnswer.ts deleted file mode 100644 index 6fbf04643b..0000000000 --- a/packages/global/core/module/template/system/assignedAnswer.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { FlowNodeInputTypeEnum, FlowNodeTypeEnum } from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - FlowNodeTemplateTypeEnum -} from '../../constants'; -import { Input_Template_Switch } from '../input'; -import { Output_Template_Finish } from '../output'; - -export const AssignedAnswerModule: FlowNodeTemplateType = { - id: FlowNodeTypeEnum.answerNode, - templateType: FlowNodeTemplateTypeEnum.textAnswer, - flowType: FlowNodeTypeEnum.answerNode, - avatar: '/imgs/module/reply.png', - name: '指定回复', - intro: - '该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。', - inputs: [ - Input_Template_Switch, - { - key: ModuleInputKeyEnum.answerText, - type: FlowNodeInputTypeEnum.textarea, - valueType: ModuleIOValueTypeEnum.any, - label: 'core.module.input.label.Response content', - description: 'core.module.input.description.Response content', - placeholder: 'core.module.input.description.Response content', - showTargetInApp: true, - showTargetInPlugin: true - } - ], - outputs: [Output_Template_Finish] -}; diff --git a/packages/global/core/module/template/system/contextExtract.ts b/packages/global/core/module/template/system/contextExtract.ts deleted file mode 100644 index fa444ad7a5..0000000000 --- a/packages/global/core/module/template/system/contextExtract.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { - FlowNodeInputTypeEnum, - FlowNodeOutputTypeEnum, - FlowNodeTypeEnum -} from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - ModuleOutputKeyEnum, - FlowNodeTemplateTypeEnum -} from '../../constants'; -import { - Input_Template_SelectAIModel, - Input_Template_History, - Input_Template_Switch -} from '../input'; -import { LLMModelTypeEnum } from '../../../ai/constants'; - -export const ContextExtractModule: FlowNodeTemplateType = { - id: FlowNodeTypeEnum.contentExtract, - templateType: FlowNodeTemplateTypeEnum.functionCall, - flowType: FlowNodeTypeEnum.contentExtract, - avatar: '/imgs/module/extract.png', - name: '文本内容提取', - intro: '可从文本中提取指定的数据,例如:sql语句、搜索关键词、代码等', - showStatus: true, - isTool: true, - inputs: [ - Input_Template_Switch, - { - ...Input_Template_SelectAIModel, - llmModelType: LLMModelTypeEnum.extractFields - }, - { - key: ModuleInputKeyEnum.description, - type: FlowNodeInputTypeEnum.textarea, - valueType: ModuleIOValueTypeEnum.string, - label: '提取要求描述', - description: - '给AI一些对应的背景知识或要求描述,引导AI更好的完成任务。\n该输入框可使用全局变量。', - placeholder: - '例如: \n1. 当前时间为: {{cTime}}。你是一个实验室预约助手,你的任务是帮助用户预约实验室,从文本中获取对应的预约信息。\n2. 你是谷歌搜索助手,需要从文本中提取出合适的搜索词。', - showTargetInApp: true, - showTargetInPlugin: true - }, - Input_Template_History, - { - key: ModuleInputKeyEnum.contextExtractInput, - type: FlowNodeInputTypeEnum.target, - label: '需要提取的文本', - required: true, - valueType: ModuleIOValueTypeEnum.string, - showTargetInApp: true, - showTargetInPlugin: true, - toolDescription: '需要检索的内容' - }, - { - key: ModuleInputKeyEnum.extractKeys, - type: FlowNodeInputTypeEnum.custom, - label: '', - valueType: ModuleIOValueTypeEnum.any, - description: "由 '描述' 和 'key' 组成一个目标字段,可提取多个目标字段", - value: [], // {desc: string; key: string; required: boolean; enum: string[]}[] - showTargetInApp: false, - showTargetInPlugin: false - } - ], - outputs: [ - { - key: ModuleOutputKeyEnum.success, - label: '字段完全提取', - valueType: ModuleIOValueTypeEnum.boolean, - type: FlowNodeOutputTypeEnum.source, - targets: [] - }, - { - key: ModuleOutputKeyEnum.failed, - label: '提取字段缺失', - description: '存在一个或多个字段未提取成功。尽管使用了默认值也算缺失。', - valueType: ModuleIOValueTypeEnum.boolean, - type: FlowNodeOutputTypeEnum.source, - targets: [] - }, - { - key: ModuleOutputKeyEnum.contextExtractFields, - label: '完整提取结果', - description: '一个 JSON 字符串,例如:{"name:":"YY","Time":"2023/7/2 18:00"}', - valueType: ModuleIOValueTypeEnum.string, - type: FlowNodeOutputTypeEnum.source, - targets: [] - } - ] -}; diff --git a/packages/global/core/module/template/system/datasetConcat.ts b/packages/global/core/module/template/system/datasetConcat.ts deleted file mode 100644 index 63c84d9feb..0000000000 --- a/packages/global/core/module/template/system/datasetConcat.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - FlowNodeInputTypeEnum, - FlowNodeOutputTypeEnum, - FlowNodeTypeEnum -} from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - ModuleOutputKeyEnum, - FlowNodeTemplateTypeEnum -} from '../../constants'; -import { Input_Template_Dataset_Quote, Input_Template_Switch } from '../input'; -import { Output_Template_Finish } from '../output'; -import { getNanoid } from '../../../../common/string/tools'; - -export const getOneQuoteInputTemplate = (key = getNanoid()) => ({ - ...Input_Template_Dataset_Quote, - key, - type: FlowNodeInputTypeEnum.hidden -}); - -export const DatasetConcatModule: FlowNodeTemplateType = { - id: FlowNodeTypeEnum.datasetConcatNode, - flowType: FlowNodeTypeEnum.datasetConcatNode, - templateType: FlowNodeTemplateTypeEnum.other, - avatar: '/imgs/module/concat.svg', - name: '知识库搜索引用合并', - intro: '可以将多个知识库搜索结果进行合并输出。使用 RRF 的合并方式进行最终排序输出。', - showStatus: false, - inputs: [ - Input_Template_Switch, - { - key: ModuleInputKeyEnum.datasetMaxTokens, - type: FlowNodeInputTypeEnum.custom, - label: '最大 Tokens', - value: 1500, - valueType: ModuleIOValueTypeEnum.number, - showTargetInApp: false, - showTargetInPlugin: false - }, - getOneQuoteInputTemplate('defaultQuote') - ], - outputs: [ - { - key: ModuleOutputKeyEnum.datasetQuoteQA, - label: 'core.module.Dataset quote.label', - type: FlowNodeOutputTypeEnum.source, - valueType: ModuleIOValueTypeEnum.datasetQuote, - targets: [] - } - ] -}; diff --git a/packages/global/core/module/template/system/datasetSearch.ts b/packages/global/core/module/template/system/datasetSearch.ts deleted file mode 100644 index b4eb4a1ea8..0000000000 --- a/packages/global/core/module/template/system/datasetSearch.ts +++ /dev/null @@ -1,133 +0,0 @@ -import { - FlowNodeInputTypeEnum, - FlowNodeOutputTypeEnum, - FlowNodeTypeEnum -} from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - ModuleOutputKeyEnum, - FlowNodeTemplateTypeEnum -} from '../../constants'; -import { Input_Template_Switch, Input_Template_UserChatInput } from '../input'; -import { Output_Template_Finish, Output_Template_UserChatInput } from '../output'; -import { DatasetSearchModeEnum } from '../../../dataset/constants'; - -export const Dataset_SEARCH_DESC = - '调用“语义检索”和“全文检索”能力,从“知识库”中查找可能与问题相关的参考内容'; - -export const DatasetSearchModule: FlowNodeTemplateType = { - id: FlowNodeTypeEnum.datasetSearchNode, - templateType: FlowNodeTemplateTypeEnum.functionCall, - flowType: FlowNodeTypeEnum.datasetSearchNode, - avatar: '/imgs/module/db.png', - name: '知识库搜索', - intro: Dataset_SEARCH_DESC, - showStatus: true, - isTool: true, - inputs: [ - Input_Template_Switch, - { - key: ModuleInputKeyEnum.datasetSelectList, - type: FlowNodeInputTypeEnum.selectDataset, - label: 'core.module.input.label.Select dataset', - value: [], - valueType: ModuleIOValueTypeEnum.selectDataset, - list: [], - required: true, - showTargetInApp: false, - showTargetInPlugin: true - }, - { - key: ModuleInputKeyEnum.datasetSimilarity, - type: FlowNodeInputTypeEnum.selectDatasetParamsModal, - label: '', - value: 0.4, - valueType: ModuleIOValueTypeEnum.number, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.datasetMaxTokens, - type: FlowNodeInputTypeEnum.hidden, - label: '', - value: 1500, - valueType: ModuleIOValueTypeEnum.number, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.datasetSearchMode, - type: FlowNodeInputTypeEnum.hidden, - label: '', - valueType: ModuleIOValueTypeEnum.string, - showTargetInApp: false, - showTargetInPlugin: false, - value: DatasetSearchModeEnum.embedding - }, - { - key: ModuleInputKeyEnum.datasetSearchUsingReRank, - type: FlowNodeInputTypeEnum.hidden, - label: '', - valueType: ModuleIOValueTypeEnum.boolean, - showTargetInApp: false, - showTargetInPlugin: false, - value: false - }, - { - key: ModuleInputKeyEnum.datasetSearchUsingExtensionQuery, - type: FlowNodeInputTypeEnum.hidden, - label: '', - valueType: ModuleIOValueTypeEnum.boolean, - showTargetInApp: false, - showTargetInPlugin: false, - value: true - }, - { - key: ModuleInputKeyEnum.datasetSearchExtensionModel, - type: FlowNodeInputTypeEnum.hidden, - label: '', - valueType: ModuleIOValueTypeEnum.string, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.datasetSearchExtensionBg, - type: FlowNodeInputTypeEnum.hidden, - label: '', - valueType: ModuleIOValueTypeEnum.string, - showTargetInApp: false, - showTargetInPlugin: false, - value: '' - }, - { - ...Input_Template_UserChatInput, - toolDescription: '需要检索的内容' - } - ], - outputs: [ - Output_Template_UserChatInput, - { - key: ModuleOutputKeyEnum.datasetIsEmpty, - label: 'core.module.output.label.Search result empty', - type: FlowNodeOutputTypeEnum.source, - valueType: ModuleIOValueTypeEnum.boolean, - targets: [] - }, - { - key: ModuleOutputKeyEnum.datasetUnEmpty, - label: 'core.module.output.label.Search result not empty', - type: FlowNodeOutputTypeEnum.source, - valueType: ModuleIOValueTypeEnum.boolean, - targets: [] - }, - { - key: ModuleOutputKeyEnum.datasetQuoteQA, - label: 'core.module.Dataset quote.label', - type: FlowNodeOutputTypeEnum.source, - valueType: ModuleIOValueTypeEnum.datasetQuote, - targets: [] - } - ] -}; diff --git a/packages/global/core/module/template/system/http468.ts b/packages/global/core/module/template/system/http468.ts deleted file mode 100644 index a4599467a9..0000000000 --- a/packages/global/core/module/template/system/http468.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { - FlowNodeInputTypeEnum, - FlowNodeOutputTypeEnum, - FlowNodeTypeEnum -} from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - ModuleOutputKeyEnum, - FlowNodeTemplateTypeEnum -} from '../../constants'; -import { - Input_Template_AddInputParam, - Input_Template_DynamicInput, - Input_Template_Switch -} from '../input'; -import { Output_Template_AddOutput, Output_Template_Finish } from '../output'; - -export const HttpModule468: FlowNodeTemplateType = { - id: FlowNodeTypeEnum.httpRequest468, - templateType: FlowNodeTemplateTypeEnum.externalCall, - flowType: FlowNodeTypeEnum.httpRequest468, - avatar: '/imgs/module/http.png', - name: 'HTTP 请求', - intro: '可以发出一个 HTTP 请求,实现更为复杂的操作(联网搜索、数据库查询等)', - showStatus: true, - isTool: true, - inputs: [ - Input_Template_Switch, - { - key: ModuleInputKeyEnum.httpMethod, - type: FlowNodeInputTypeEnum.custom, - valueType: ModuleIOValueTypeEnum.string, - label: '', - value: 'POST', - required: true, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.httpReqUrl, - type: FlowNodeInputTypeEnum.hidden, - valueType: ModuleIOValueTypeEnum.string, - label: '', - description: 'core.module.input.description.Http Request Url', - placeholder: 'https://api.ai.com/getInventory', - required: false, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.httpHeaders, - type: FlowNodeInputTypeEnum.custom, - valueType: ModuleIOValueTypeEnum.any, - value: [], - label: '', - description: 'core.module.input.description.Http Request Header', - placeholder: 'core.module.input.description.Http Request Header', - required: false, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.httpParams, - type: FlowNodeInputTypeEnum.hidden, - valueType: ModuleIOValueTypeEnum.any, - value: [], - label: '', - required: false, - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.httpJsonBody, - type: FlowNodeInputTypeEnum.hidden, - valueType: ModuleIOValueTypeEnum.any, - value: '', - label: '', - required: false, - showTargetInApp: false, - showTargetInPlugin: false - }, - Input_Template_DynamicInput, - { - ...Input_Template_AddInputParam, - editField: { - key: true, - description: true, - dataType: true - }, - defaultEditField: { - label: '', - key: '', - description: '', - inputType: FlowNodeInputTypeEnum.target, - valueType: ModuleIOValueTypeEnum.string - } - } - ], - outputs: [ - { - key: ModuleOutputKeyEnum.httpRawResponse, - label: '原始响应', - description: 'HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。', - valueType: ModuleIOValueTypeEnum.any, - type: FlowNodeOutputTypeEnum.source, - targets: [] - }, - { - ...Output_Template_AddOutput, - editField: { - key: true, - description: true, - dataType: true, - defaultValue: true - }, - defaultEditField: { - label: '', - key: '', - description: '', - outputType: FlowNodeOutputTypeEnum.source, - valueType: ModuleIOValueTypeEnum.string - } - }, - Output_Template_Finish - ] -}; diff --git a/packages/global/core/module/template/system/laf.ts b/packages/global/core/module/template/system/laf.ts deleted file mode 100644 index d2f144a221..0000000000 --- a/packages/global/core/module/template/system/laf.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { - FlowNodeInputTypeEnum, - FlowNodeOutputTypeEnum, - FlowNodeTypeEnum -} from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - ModuleOutputKeyEnum, - FlowNodeTemplateTypeEnum -} from '../../constants'; -import { - Input_Template_DynamicInput, - Input_Template_Switch, - Input_Template_AddInputParam -} from '../input'; -import { Output_Template_Finish, Output_Template_AddOutput } from '../output'; - -export const lafModule: FlowNodeTemplateType = { - id: FlowNodeTypeEnum.lafModule, - templateType: FlowNodeTemplateTypeEnum.externalCall, - flowType: FlowNodeTypeEnum.lafModule, - avatar: '/imgs/module/laf.png', - name: 'Laf 函数调用(测试)', - intro: '可以调用Laf账号下的云函数。', - showStatus: true, - isTool: true, - inputs: [ - Input_Template_Switch, - { - key: ModuleInputKeyEnum.httpReqUrl, - type: FlowNodeInputTypeEnum.hidden, - valueType: ModuleIOValueTypeEnum.string, - label: '', - description: 'core.module.input.description.Http Request Url', - placeholder: 'https://api.ai.com/getInventory', - required: false, - showTargetInApp: false, - showTargetInPlugin: false - }, - Input_Template_DynamicInput, - { - ...Input_Template_AddInputParam, - editField: { - key: true, - description: true, - dataType: true - }, - defaultEditField: { - label: '', - key: '', - description: '', - inputType: FlowNodeInputTypeEnum.target, - valueType: ModuleIOValueTypeEnum.string - } - } - ], - outputs: [ - { - key: ModuleOutputKeyEnum.httpRawResponse, - label: '原始响应', - description: 'HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。', - valueType: ModuleIOValueTypeEnum.any, - type: FlowNodeOutputTypeEnum.source, - targets: [] - }, - { - ...Output_Template_AddOutput, - editField: { - key: true, - description: true, - dataType: true, - defaultValue: true - }, - defaultEditField: { - label: '', - key: '', - description: '', - outputType: FlowNodeOutputTypeEnum.source, - valueType: ModuleIOValueTypeEnum.string - } - }, - Output_Template_Finish - ] -}; diff --git a/packages/global/core/module/template/system/pluginInput.ts b/packages/global/core/module/template/system/pluginInput.ts deleted file mode 100644 index 4e8384ee93..0000000000 --- a/packages/global/core/module/template/system/pluginInput.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { - FlowNodeTemplateTypeEnum, - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - ModuleOutputKeyEnum -} from '../../constants'; -import { - FlowNodeInputTypeEnum, - FlowNodeOutputTypeEnum, - FlowNodeTypeEnum -} from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; - -export const PluginInputModule: FlowNodeTemplateType = { - id: FlowNodeTypeEnum.pluginInput, - templateType: FlowNodeTemplateTypeEnum.systemInput, - flowType: FlowNodeTypeEnum.pluginInput, - avatar: '/imgs/module/input.png', - name: '定义插件输入', - intro: '自定义配置外部输入,使用插件时,仅暴露自定义配置的输入', - showStatus: false, - inputs: [ - { - key: ModuleInputKeyEnum.pluginStart, - type: FlowNodeInputTypeEnum.hidden, - valueType: ModuleIOValueTypeEnum.boolean, - label: '插件开始运行', - description: - '插件开始运行时,会输出一个 True 的标识。有时候,插件不会有额外的的输入,为了顺利的进入下一个阶段,你可以将该值连接到下一个节点的触发器中。', - showTargetInApp: true, - showTargetInPlugin: true - } - ], - outputs: [ - { - key: ModuleOutputKeyEnum.pluginStart, - label: '插件开始运行', - type: FlowNodeOutputTypeEnum.source, - valueType: ModuleIOValueTypeEnum.boolean, - targets: [] - } - ] -}; diff --git a/packages/global/core/module/template/system/runApp.ts b/packages/global/core/module/template/system/runApp.ts deleted file mode 100644 index eca1420fbe..0000000000 --- a/packages/global/core/module/template/system/runApp.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { - FlowNodeInputTypeEnum, - FlowNodeOutputTypeEnum, - FlowNodeTypeEnum -} from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - ModuleOutputKeyEnum, - FlowNodeTemplateTypeEnum -} from '../../constants'; -import { - Input_Template_History, - Input_Template_Switch, - Input_Template_UserChatInput -} from '../input'; -import { Output_Template_Finish, Output_Template_UserChatInput } from '../output'; - -export const RunAppModule: FlowNodeTemplateType = { - id: FlowNodeTypeEnum.runApp, - templateType: FlowNodeTemplateTypeEnum.externalCall, - flowType: FlowNodeTypeEnum.runApp, - avatar: '/imgs/module/app.png', - name: '应用调用', - intro: '可以选择一个其他应用进行调用', - showStatus: true, - inputs: [ - Input_Template_Switch, - { - key: ModuleInputKeyEnum.runAppSelectApp, - type: FlowNodeInputTypeEnum.selectApp, - valueType: ModuleIOValueTypeEnum.selectApp, - label: '选择一个应用', - description: '选择一个其他应用进行调用', - required: true, - showTargetInApp: false, - showTargetInPlugin: false - }, - Input_Template_History, - Input_Template_UserChatInput - ], - outputs: [ - Output_Template_UserChatInput, - { - key: ModuleOutputKeyEnum.history, - label: '新的上下文', - description: '将该应用回复内容拼接到历史记录中,作为新的上下文返回', - valueType: ModuleIOValueTypeEnum.chatHistory, - type: FlowNodeOutputTypeEnum.source, - targets: [] - }, - { - key: ModuleOutputKeyEnum.answerText, - label: '回复的文本', - description: '将在应用完全结束后触发', - valueType: ModuleIOValueTypeEnum.string, - type: FlowNodeOutputTypeEnum.source, - targets: [] - }, - Output_Template_Finish - ] -}; diff --git a/packages/global/core/module/template/system/userGuide.ts b/packages/global/core/module/template/system/userGuide.ts deleted file mode 100644 index ba851a7289..0000000000 --- a/packages/global/core/module/template/system/userGuide.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { FlowNodeInputTypeEnum, FlowNodeTypeEnum } from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - FlowNodeTemplateTypeEnum -} from '../../constants'; - -export const UserGuideModule: FlowNodeTemplateType = { - id: FlowNodeTypeEnum.userGuide, - templateType: FlowNodeTemplateTypeEnum.userGuide, - flowType: FlowNodeTypeEnum.userGuide, - avatar: '/imgs/module/userGuide.png', - name: '系统配置', - intro: '可以配置应用的系统参数。', - inputs: [ - { - key: ModuleInputKeyEnum.welcomeText, - type: FlowNodeInputTypeEnum.hidden, - valueType: ModuleIOValueTypeEnum.string, - label: 'core.app.Welcome Text', - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.variables, - type: FlowNodeInputTypeEnum.hidden, - valueType: ModuleIOValueTypeEnum.any, - label: 'core.module.Variable', - value: [], - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.questionGuide, - valueType: ModuleIOValueTypeEnum.boolean, - type: FlowNodeInputTypeEnum.switch, - label: '', - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.tts, - type: FlowNodeInputTypeEnum.hidden, - valueType: ModuleIOValueTypeEnum.any, - label: '', - showTargetInApp: false, - showTargetInPlugin: false - }, - { - key: ModuleInputKeyEnum.whisper, - type: FlowNodeInputTypeEnum.hidden, - valueType: ModuleIOValueTypeEnum.any, - label: '', - showTargetInApp: false, - showTargetInPlugin: false - } - ], - outputs: [] -}; diff --git a/packages/global/core/module/template/system/userInput.ts b/packages/global/core/module/template/system/userInput.ts deleted file mode 100644 index abbbeae509..0000000000 --- a/packages/global/core/module/template/system/userInput.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { - FlowNodeInputTypeEnum, - FlowNodeOutputTypeEnum, - FlowNodeTypeEnum -} from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - ModuleOutputKeyEnum, - FlowNodeTemplateTypeEnum -} from '../../constants'; - -export const UserInputModule: FlowNodeTemplateType = { - id: FlowNodeTypeEnum.questionInput, - templateType: FlowNodeTemplateTypeEnum.systemInput, - flowType: FlowNodeTypeEnum.questionInput, - avatar: '/imgs/module/userChatInput.svg', - name: '对话入口', - intro: '当用户发送一个内容后,流程将会从这个模块开始执行。', - inputs: [ - { - key: ModuleInputKeyEnum.userChatInput, - type: FlowNodeInputTypeEnum.systemInput, - valueType: ModuleIOValueTypeEnum.string, - label: 'core.module.input.label.user question', - showTargetInApp: false, - showTargetInPlugin: false - } - ], - outputs: [ - { - key: ModuleOutputKeyEnum.userChatInput, - label: 'core.module.input.label.user question', - type: FlowNodeOutputTypeEnum.source, - valueType: ModuleIOValueTypeEnum.string, - targets: [] - } - ] -}; diff --git a/packages/global/core/module/type.d.ts b/packages/global/core/module/type.d.ts deleted file mode 100644 index 996ec5b9ed..0000000000 --- a/packages/global/core/module/type.d.ts +++ /dev/null @@ -1,107 +0,0 @@ -import { FlowNodeTypeEnum } from './node/constant'; -import { - ModuleIOValueTypeEnum, - ModuleOutputKeyEnum, - FlowNodeTemplateTypeEnum, - VariableInputEnum -} from './constants'; -import { DispatchNodeResponseKeyEnum } from './runtime/constants'; -import { FlowNodeInputItemType, FlowNodeOutputItemType } from './node/type'; -import { UserModelSchema } from 'support/user/type'; -import { - ChatItemType, - ChatItemValueItemType, - ToolRunResponseItemType, - UserChatItemValueItemType -} from '../chat/type'; -import { ChatNodeUsageType } from '../../support/wallet/bill/type'; -import { RunningModuleItemType } from './runtime/type'; -import { PluginTypeEnum } from 'core/plugin/constants'; - -export type FlowNodeTemplateType = { - id: string; // module id, unique - templateType: `${FlowNodeTemplateTypeEnum}`; - flowType: `${FlowNodeTypeEnum}`; // render node card - avatar?: string; - name: string; - intro: string; // template list intro - isTool?: boolean; // can be connected by tool - showStatus?: boolean; // chatting response step status - inputs: FlowNodeInputItemType[]; - outputs: FlowNodeOutputItemType[]; - - // plugin data - pluginType?: `${PluginTypeEnum}`; - parentId?: string; -}; -export type FlowModuleItemType = FlowNodeTemplateType & { - moduleId: string; -}; -export type moduleTemplateListType = { - type: `${FlowNodeTemplateTypeEnum}`; - label: string; - list: FlowNodeTemplateType[]; -}[]; - -// store module type -export type ModuleItemType = { - name: string; - avatar?: string; - intro?: string; - moduleId: string; - position?: { - x: number; - y: number; - }; - flowType: `${FlowNodeTypeEnum}`; - showStatus?: boolean; - inputs: FlowNodeInputItemType[]; - outputs: FlowNodeOutputItemType[]; - - // runTime field - isEntry?: boolean; -}; - -/* --------------- function type -------------------- */ -export type SelectAppItemType = { - id: string; - name: string; - logo: string; -}; - -/* agent */ -export type ClassifyQuestionAgentItemType = { - value: string; - key: string; -}; -export type ContextExtractAgentItemType = { - desc: string; - key: string; - required: boolean; - defaultValue?: string; - enum?: string; -}; - -/* -------------- running module -------------- */ -export type ChatDispatchProps = { - res: NextApiResponse; - mode: 'test' | 'chat'; - teamId: string; - tmbId: string; - user: UserModelSchema; - appId: string; - chatId?: string; - responseChatItemId?: string; - histories: ChatItemType[]; - variables: Record; - inputFiles?: UserChatItemValueItemType['file'][]; - stream: boolean; - detail: boolean; // response detail - maxRunTimes: number; -}; - -export type ModuleDispatchProps = ChatDispatchProps & { - module: RunningModuleItemType; - runtimeModules: RunningModuleItemType[]; - params: T; -}; diff --git a/packages/global/core/module/utils.ts b/packages/global/core/module/utils.ts deleted file mode 100644 index 31764df8d2..0000000000 --- a/packages/global/core/module/utils.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { FlowNodeInputTypeEnum, FlowNodeTypeEnum } from './node/constant'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - VariableInputEnum, - variableMap -} from './constants'; -import { FlowNodeInputItemType, FlowNodeOutputItemType } from './node/type'; -import { ModuleItemType } from './type'; -import type { VariableItemType, AppTTSConfigType, AppWhisperConfigType } from '../app/type'; -import { Input_Template_Switch } from './template/input'; -import { EditorVariablePickerType } from '../../../web/components/common/Textarea/PromptEditor/type'; -import { Output_Template_Finish } from './template/output'; -import { defaultWhisperConfig } from '../app/constants'; - -/* module */ -export const getGuideModule = (modules: ModuleItemType[]) => - modules.find((item) => item.flowType === FlowNodeTypeEnum.userGuide); - -export const splitGuideModule = (guideModules?: ModuleItemType) => { - const welcomeText: string = - guideModules?.inputs?.find((item) => item.key === ModuleInputKeyEnum.welcomeText)?.value || ''; - - const variableModules: VariableItemType[] = - guideModules?.inputs.find((item) => item.key === ModuleInputKeyEnum.variables)?.value || []; - - const questionGuide: boolean = - !!guideModules?.inputs?.find((item) => item.key === ModuleInputKeyEnum.questionGuide)?.value || - false; - - const ttsConfig: AppTTSConfigType = guideModules?.inputs?.find( - (item) => item.key === ModuleInputKeyEnum.tts - )?.value || { type: 'web' }; - - const whisperConfig: AppWhisperConfigType = - guideModules?.inputs?.find((item) => item.key === ModuleInputKeyEnum.whisper)?.value || - defaultWhisperConfig; - - return { - welcomeText, - variableModules, - questionGuide, - ttsConfig, - whisperConfig - }; -}; - -export const getOrInitModuleInputValue = (input: FlowNodeInputItemType) => { - if (input.value !== undefined || !input.valueType) return input.value; - - const map: Record = { - [ModuleIOValueTypeEnum.boolean]: false, - [ModuleIOValueTypeEnum.number]: 0, - [ModuleIOValueTypeEnum.string]: '' - }; - - return map[input.valueType]; -}; - -export const getModuleInputUiField = (input: FlowNodeInputItemType) => { - if (input.type === FlowNodeInputTypeEnum.input || input.type === FlowNodeInputTypeEnum.textarea) { - return { - placeholder: input.placeholder || input.description - }; - } - return {}; -}; - -export const plugin2ModuleIO = ( - pluginId: string, - modules: ModuleItemType[] -): { - inputs: FlowNodeInputItemType[]; - outputs: FlowNodeOutputItemType[]; -} => { - const pluginInput = modules.find((module) => module.flowType === FlowNodeTypeEnum.pluginInput); - const pluginOutput = modules.find((module) => module.flowType === FlowNodeTypeEnum.pluginOutput); - - return { - inputs: pluginInput - ? [ - { - // plugin id - key: ModuleInputKeyEnum.pluginId, - type: FlowNodeInputTypeEnum.hidden, - label: '', - value: pluginId, - valueType: ModuleIOValueTypeEnum.string, - connected: true, - showTargetInApp: false, - showTargetInPlugin: false - }, - // switch - Input_Template_Switch, - ...pluginInput.inputs.map((item) => ({ - ...item, - ...getModuleInputUiField(item), - value: getOrInitModuleInputValue(item), - edit: false, - connected: false - })) - ] - : [Input_Template_Switch], - outputs: pluginOutput - ? [ - ...pluginOutput.outputs.map((item) => ({ - ...item, - edit: false - })), - Output_Template_Finish - ] - : [Output_Template_Finish] - }; -}; - -export const formatEditorVariablePickerIcon = ( - variables: { key: string; label: string; type?: `${VariableInputEnum}` }[] -): EditorVariablePickerType[] => { - return variables.map((item) => ({ - ...item, - icon: item.type ? variableMap[item.type]?.icon : variableMap['input'].icon - })); -}; diff --git a/packages/global/core/plugin/constants.ts b/packages/global/core/plugin/constants.ts index 1011e18cfc..1eaaa3ae53 100644 --- a/packages/global/core/plugin/constants.ts +++ b/packages/global/core/plugin/constants.ts @@ -1,31 +1,4 @@ -import { ModuleItemType } from '../module/type'; - -export const defaultModules: ModuleItemType[] = [ - { - moduleId: 'custom-output', - name: '自定义输出', - flowType: 'pluginOutput', - showStatus: false, - position: { - x: 994.1266684738011, - y: -45.87689365278443 - }, - inputs: [], - outputs: [] - }, - { - moduleId: 'custom-input', - name: '自定义输入', - flowType: 'pluginInput', - showStatus: false, - position: { - x: 457.57860319995154, - y: -44.25099042468186 - }, - inputs: [], - outputs: [] - } -]; +import { StoreNodeItemType } from '../workflow/type'; export enum PluginTypeEnum { folder = 'folder', diff --git a/packages/global/core/plugin/controller.d.ts b/packages/global/core/plugin/controller.d.ts index 155aa6148a..c550dbb801 100644 --- a/packages/global/core/plugin/controller.d.ts +++ b/packages/global/core/plugin/controller.d.ts @@ -1,4 +1,5 @@ -import type { ModuleItemType } from '../module/type.d'; +import { StoreEdgeItemType } from 'core/workflow/type/edge'; +import type { StoreNodeItemType } from '../workflow/type'; import { PluginTypeEnum } from './constants'; import { HttpAuthMethodType } from './httpPlugin/type'; @@ -6,7 +7,7 @@ export type CreateOnePluginParams = { name: string; avatar: string; intro: string; - modules: ModuleItemType[]; + modules: StoreNodeItemType[]; parentId: string | null; type: `${PluginTypeEnum}`; metadata?: { @@ -20,7 +21,8 @@ export type UpdatePluginParams = { name?: string; avatar?: string; intro?: string; - modules?: ModuleItemType[]; + modules?: StoreNodeItemType[]; + edges?: StoreEdgeItemType[]; metadata?: { apiSchemaStr?: string; customHeaders?: string; diff --git a/packages/global/core/plugin/httpPlugin/utils.ts b/packages/global/core/plugin/httpPlugin/utils.ts index 5a5a95a9df..4c6dfcf8be 100644 --- a/packages/global/core/plugin/httpPlugin/utils.ts +++ b/packages/global/core/plugin/httpPlugin/utils.ts @@ -3,15 +3,15 @@ import { OpenApiJsonSchema } from './type'; import yaml from 'js-yaml'; import { OpenAPIV3 } from 'openapi-types'; import { PluginTypeEnum } from '../constants'; -import { FlowNodeInputItemType, FlowNodeOutputItemType } from '../../module/node/type'; -import { FlowNodeInputTypeEnum, FlowNodeOutputTypeEnum } from '../../module/node/constant'; -import { ModuleIOValueTypeEnum } from '../../module/constants'; -import { PluginInputModule } from '../../module/template/system/pluginInput'; -import { PluginOutputModule } from '../../module/template/system/pluginOutput'; -import { HttpModule468 } from '../../module/template/system/http468'; -import { HttpParamAndHeaderItemType } from '../../module/api'; +import { FlowNodeInputItemType, FlowNodeOutputItemType } from '../../workflow/type/io.d'; +import { FlowNodeInputTypeEnum, FlowNodeOutputTypeEnum } from '../../workflow/node/constant'; +import { NodeInputKeyEnum, WorkflowIOValueTypeEnum } from '../../workflow/constants'; +import { PluginInputModule } from '../../workflow/template/system/pluginInput'; +import { PluginOutputModule } from '../../workflow/template/system/pluginOutput'; +import { HttpModule468 } from '../../workflow/template/system/http468'; +import { HttpParamAndHeaderItemType } from '../../workflow/api'; import { CreateOnePluginParams } from '../controller'; -import { ModuleItemType } from '../../module/type'; +import { StoreNodeItemType } from '../../workflow/type'; import { HttpImgUrl } from '../../../common/file/image/constants'; import SwaggerParser from '@apidevtools/swagger-parser'; @@ -74,6 +74,9 @@ export const httpApiSchema2Plugins = async ({ return jsonSchema.pathData.map((item) => { const pluginOutputId = getNanoid(); const httpId = getNanoid(); + const pluginInputId = getNanoid(); + const inputIdMap = new Map(); + const pluginOutputKey = 'result'; const properties = item.request?.content?.['application/json']?.schema?.properties; @@ -83,12 +86,13 @@ export const httpApiSchema2Plugins = async ({ ...(item.params?.map((param: any) => { return { key: param.name, - valueType: ModuleIOValueTypeEnum.string, + valueType: param.schema.type, label: param.name, - type: FlowNodeInputTypeEnum.target, + renderTypeList: [FlowNodeInputTypeEnum.reference], required: param.required, description: param.description, - edit: true, + toolDescription: param.description, + canEdit: true, editField: { key: true, name: true, @@ -97,21 +101,20 @@ export const httpApiSchema2Plugins = async ({ dataType: true, inputType: true, isToolInput: true - }, - connected: true, - toolDescription: param.description + } }; }) || []), ...(propsKeys?.map((key) => { const prop = properties[key]; return { key, - valueType: ModuleIOValueTypeEnum.string, + valueType: prop.type, label: key, - type: FlowNodeInputTypeEnum.target, + renderTypeList: [FlowNodeInputTypeEnum.reference], required: false, description: prop.description, - edit: true, + toolDescription: prop.description, + canEdit: true, editField: { key: true, name: true, @@ -120,42 +123,33 @@ export const httpApiSchema2Plugins = async ({ dataType: true, inputType: true, isToolInput: true - }, - connected: true, - toolDescription: prop.description + } }; }) || []) ]; const pluginOutputs: FlowNodeOutputItemType[] = [ ...(item.params?.map((param: any) => { + const id = getNanoid(); + inputIdMap.set(param.name, id); return { + id, key: param.name, - valueType: ModuleIOValueTypeEnum.string, + valueType: param.schema.type, label: param.name, - type: FlowNodeOutputTypeEnum.source, - edit: true, - targets: [ - { - moduleId: httpId, - key: param.name - } - ] + type: FlowNodeOutputTypeEnum.source }; }) || []), ...(propsKeys?.map((key) => { + const id = getNanoid(); + inputIdMap.set(key, id); return { + id, key, - valueType: ModuleIOValueTypeEnum.string, + valueType: properties[key].type, label: key, type: FlowNodeOutputTypeEnum.source, - edit: true, - targets: [ - { - moduleId: httpId, - key - } - ] + edit: true }; }) || []) ]; @@ -164,34 +158,29 @@ export const httpApiSchema2Plugins = async ({ ...(item.params?.map((param: any) => { return { key: param.name, - valueType: ModuleIOValueTypeEnum.string, + valueType: param.schema.type, label: param.name, - type: FlowNodeInputTypeEnum.target, - description: param.description, - edit: true, + renderTypeList: [FlowNodeInputTypeEnum.reference], + canEdit: true, editField: { key: true, - description: true, - dataType: true + valueType: true }, - connected: true + value: [pluginInputId, inputIdMap.get(param.name)] }; }) || []), ...(propsKeys?.map((key) => { - const prop = properties[key]; return { key, - valueType: ModuleIOValueTypeEnum.string, + valueType: properties[key].type, label: key, - type: FlowNodeInputTypeEnum.target, - description: prop.description, - edit: true, + renderTypeList: [FlowNodeInputTypeEnum.reference], + canEdit: true, editField: { key: true, - description: true, - dataType: true + valueType: true }, - connected: true + value: [pluginInputId, inputIdMap.get(key)] }; }) || []) ]; @@ -207,7 +196,7 @@ export const httpApiSchema2Plugins = async ({ if (param.in === 'header') { httpNodeHeaders.push({ key: param.name, - type: param.schema?.type || ModuleIOValueTypeEnum.string, + type: param.schema?.type || WorkflowIOValueTypeEnum.string, value: `{{${param.name}}}` }); } else if (param.in === 'body') { @@ -219,7 +208,7 @@ export const httpApiSchema2Plugins = async ({ } else if (param.in === 'query') { httpNodeParams.push({ key: param.name, - type: param.schema?.type || ModuleIOValueTypeEnum.string, + type: param.schema?.type || WorkflowIOValueTypeEnum.string, value: `{{${param.name}}}` }); } @@ -250,7 +239,7 @@ export const httpApiSchema2Plugins = async ({ for (const key in headersObj) { httpNodeHeaders.push({ key, - type: 'string', + type: WorkflowIOValueTypeEnum.string, // @ts-ignore value: headersObj[key] }); @@ -258,57 +247,27 @@ export const httpApiSchema2Plugins = async ({ } /* Combine complete modules */ - const modules: ModuleItemType[] = [ + const modules: StoreNodeItemType[] = [ { - moduleId: getNanoid(), + nodeId: pluginInputId, name: PluginInputModule.name, intro: PluginInputModule.intro, avatar: PluginInputModule.avatar, - flowType: PluginInputModule.flowType, + flowNodeType: PluginInputModule.flowNodeType, showStatus: PluginInputModule.showStatus, position: { x: 616.4226348688949, y: -165.05298493910115 }, - inputs: [ - { - key: 'pluginStart', - type: 'hidden', - valueType: 'boolean', - label: '插件开始运行', - description: - '插件开始运行时,会输出一个 True 的标识。有时候,插件不会有额外的的输入,为了顺利的进入下一个阶段,你可以将该值连接到下一个节点的触发器中。', - showTargetInApp: true, - showTargetInPlugin: true, - connected: true - }, - ...pluginInputs - ], - outputs: [ - { - key: 'pluginStart', - label: '插件开始运行', - type: 'source', - valueType: 'boolean', - targets: - pluginOutputs.length === 0 - ? [ - { - moduleId: httpId, - key: 'switch' - } - ] - : [] - }, - ...pluginOutputs - ] + inputs: pluginInputs, + outputs: pluginOutputs }, { - moduleId: pluginOutputId, + nodeId: pluginOutputId, name: PluginOutputModule.name, intro: PluginOutputModule.intro, avatar: PluginOutputModule.avatar, - flowType: PluginOutputModule.flowType, + flowNodeType: PluginOutputModule.flowNodeType, showStatus: PluginOutputModule.showStatus, position: { x: 1607.7142331269126, @@ -317,40 +276,36 @@ export const httpApiSchema2Plugins = async ({ inputs: [ { key: pluginOutputKey, - valueType: 'string', + valueType: WorkflowIOValueTypeEnum.string, label: pluginOutputKey, - type: 'target', - required: true, + renderTypeList: [FlowNodeInputTypeEnum.reference], + required: false, description: '', - edit: true, + canEdit: true, editField: { key: true, - name: true, description: true, - required: false, - dataType: true, - inputType: false + valueType: true }, - connected: true + value: [httpId, 'httpRawResponse'] } ], outputs: [ { + id: pluginOutputId, key: pluginOutputKey, - valueType: 'string', + valueType: WorkflowIOValueTypeEnum.string, label: pluginOutputKey, - type: 'source', - edit: true, - targets: [] + type: FlowNodeOutputTypeEnum.static } ] }, { - moduleId: httpId, + nodeId: httpId, name: HttpModule468.name, intro: HttpModule468.intro, avatar: HttpModule468.avatar, - flowType: HttpModule468.flowType, + flowNodeType: HttpModule468.flowNodeType, showStatus: true, position: { x: 1042.549746602742, @@ -358,153 +313,79 @@ export const httpApiSchema2Plugins = async ({ }, inputs: [ { - key: 'switch', - type: 'target', - label: 'core.module.input.label.switch', - description: 'core.module.input.description.Trigger', - valueType: 'any', - showTargetInApp: true, - showTargetInPlugin: true, - connected: false + key: NodeInputKeyEnum.addInputParam, + renderTypeList: [FlowNodeInputTypeEnum.addInputParam], + valueType: WorkflowIOValueTypeEnum.dynamic, + label: '', + required: false, + description: 'core.module.input.description.HTTP Dynamic Input', + editField: { + key: true, + valueType: true + } }, + ...httpInputs, { key: 'system_httpMethod', - type: 'custom', - valueType: 'string', + renderTypeList: [FlowNodeInputTypeEnum.custom], + valueType: WorkflowIOValueTypeEnum.string, label: '', value: item.method.toUpperCase(), - required: true, - showTargetInApp: false, - showTargetInPlugin: false, - connected: false + required: true }, { key: 'system_httpReqUrl', - type: 'hidden', - valueType: 'string', + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.string, label: '', description: 'core.module.input.description.Http Request Url', placeholder: 'https://api.ai.com/getInventory', required: false, - showTargetInApp: false, - showTargetInPlugin: false, - value: requestUrl, - connected: false + value: requestUrl }, { key: 'system_httpHeader', - type: 'custom', - valueType: 'any', + renderTypeList: [FlowNodeInputTypeEnum.custom], + valueType: WorkflowIOValueTypeEnum.any, value: httpNodeHeaders, label: '', description: 'core.module.input.description.Http Request Header', placeholder: 'core.module.input.description.Http Request Header', - required: false, - showTargetInApp: false, - showTargetInPlugin: false, - connected: false + required: false }, { key: 'system_httpParams', - type: 'hidden', - valueType: 'any', + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.any, value: httpNodeParams, label: '', - required: false, - showTargetInApp: false, - showTargetInPlugin: false, - connected: false + required: false }, { key: 'system_httpJsonBody', - type: 'hidden', - valueType: 'any', + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.any, value: httpNodeBody, label: '', - required: false, - showTargetInApp: false, - showTargetInPlugin: false, - connected: false - }, - { - key: 'DYNAMIC_INPUT_KEY', - type: 'target', - valueType: 'any', - label: 'core.module.inputType.dynamicTargetInput', - description: 'core.module.input.description.dynamic input', - required: false, - showTargetInApp: false, - showTargetInPlugin: true, - hideInApp: true, - connected: false - }, - { - key: 'system_addInputParam', - type: 'addInputParam', - valueType: 'any', - label: '', - required: false, - showTargetInApp: false, - showTargetInPlugin: false, - editField: { - key: true, - description: true, - dataType: true - }, - defaultEditField: { - label: '', - key: '', - description: '', - inputType: 'target', - valueType: 'string' - }, - connected: false - }, - ...httpInputs - ], - outputs: [ - { - key: 'finish', - label: 'core.module.output.label.running done', - description: 'core.module.output.description.running done', - valueType: 'boolean', - type: 'source', - targets: [] - }, - { - key: 'httpRawResponse', - label: '原始响应', - description: 'HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。', - valueType: 'any', - type: 'source', - targets: [ - { - moduleId: pluginOutputId, - key: pluginOutputKey - } - ] - }, - { - key: 'system_addOutputParam', - type: 'addOutputParam', - valueType: 'any', - label: '', - targets: [], - editField: { - key: true, - description: true, - dataType: true, - defaultValue: true - }, - defaultEditField: { - label: '', - key: '', - description: '', - outputType: 'source', - valueType: 'string' - } + required: false } - ] + ], + outputs: HttpModule468.outputs + } + ]; + + const edges = [ + { + source: pluginInputId, + target: httpId, + sourcePort: `${pluginInputId}-source-right`, + targetPort: `${httpId}-target-left` + }, + { + source: httpId, + target: pluginOutputId, + sourcePort: `${httpId}-source-right`, + targetPort: `${pluginOutputId}-target-left` } ]; @@ -514,7 +395,8 @@ export const httpApiSchema2Plugins = async ({ intro: item.description, parentId, type: PluginTypeEnum.http, - modules + modules, + edges }; }); }; diff --git a/packages/global/core/plugin/type.d.ts b/packages/global/core/plugin/type.d.ts index e357223152..3de9ff110e 100644 --- a/packages/global/core/plugin/type.d.ts +++ b/packages/global/core/plugin/type.d.ts @@ -1,5 +1,6 @@ -import { ModuleTemplateTypeEnum } from 'core/module/constants'; -import type { FlowModuleTemplateType, ModuleItemType } from '../module/type.d'; +import { StoreEdgeItemType } from 'core/workflow/type/edge'; +import { ModuleTemplateTypeEnum } from '../workflow/constants'; +import type { FlowModuleTemplateType, StoreNodeItemType } from '../workflow/type'; import { PluginSourceEnum, PluginTypeEnum } from './constants'; import { MethodType } from './controller'; @@ -12,7 +13,8 @@ export type PluginItemSchema = { avatar: string; intro: string; updateTime: Date; - modules: ModuleItemType[]; + modules: StoreNodeItemType[]; + edges: StoreEdgeItemType[]; parentId: string; type: `${PluginTypeEnum}`; metadata?: { @@ -20,6 +22,7 @@ export type PluginItemSchema = { apiSchemaStr?: string; customHeaders?: string; }; + version?: 'v1' | 'v2'; }; /* plugin template */ @@ -29,7 +32,6 @@ export type PluginTemplateType = PluginRuntimeType & { source: `${PluginSourceEnum}`; templateType: FlowNodeTemplateType['templateType']; intro: string; - modules: ModuleItemType[]; }; export type PluginRuntimeType = { @@ -38,5 +40,6 @@ export type PluginRuntimeType = { avatar: string; showStatus?: boolean; isTool?: boolean; - modules: ModuleItemType[]; + nodes: StoreNodeItemType[]; + edges: StoreEdgeItemType[]; }; diff --git a/packages/global/core/module/api.d.ts b/packages/global/core/workflow/api.d.ts similarity index 72% rename from packages/global/core/module/api.d.ts rename to packages/global/core/workflow/api.d.ts index bc48dfddcb..be573e22ca 100644 --- a/packages/global/core/module/api.d.ts +++ b/packages/global/core/workflow/api.d.ts @@ -1,10 +1,10 @@ import { VectorModelItemType } from '../ai/model.d'; -import { DYNAMIC_INPUT_KEY } from './constants'; +import { NodeInputKeyEnum } from './constants'; export type SelectedDatasetType = { datasetId: string; vectorModel: VectorModelItemType }[]; -export type HttpBodyType = { - [DYNAMIC_INPUT_KEY]: Record; +export type HttpBodyType> = { + [NodeInputKeyEnum.addInputParam]: Record; } & T; export type HttpQueryType = { appId: string; diff --git a/packages/global/core/module/constants.ts b/packages/global/core/workflow/constants.ts similarity index 86% rename from packages/global/core/module/constants.ts rename to packages/global/core/workflow/constants.ts index 37f7aee09c..97791ef2e7 100644 --- a/packages/global/core/module/constants.ts +++ b/packages/global/core/workflow/constants.ts @@ -1,5 +1,4 @@ export enum FlowNodeTemplateTypeEnum { - userGuide = 'userGuide', systemInput = 'systemInput', tools = 'tools', textAnswer = 'textAnswer', @@ -11,13 +10,15 @@ export enum FlowNodeTemplateTypeEnum { other = 'other' } -export enum ModuleIOValueTypeEnum { +export enum WorkflowIOValueTypeEnum { string = 'string', number = 'number', boolean = 'boolean', + any = 'any', + chatHistory = 'chatHistory', datasetQuote = 'datasetQuote', - any = 'any', + dynamic = 'dynamic', // plugin special type selectApp = 'selectApp', @@ -28,17 +29,21 @@ export enum ModuleIOValueTypeEnum { } /* reg: modulename key */ -export enum ModuleInputKeyEnum { +export enum NodeInputKeyEnum { // old welcomeText = 'welcomeText', - variables = 'variables', switch = 'switch', // a trigger switch history = 'history', userChatInput = 'userChatInput', + answerText = 'text', + + // system config questionGuide = 'questionGuide', tts = 'tts', whisper = 'whisper', - answerText = 'text', + variables = 'variables', + scheduleTrigger = 'scheduleTrigger', + agents = 'agents', // cq agent key // latest @@ -89,13 +94,16 @@ export enum ModuleInputKeyEnum { // plugin pluginId = 'pluginId', - pluginStart = 'pluginStart' + pluginStart = 'pluginStart', + + // if else + condition = 'condition', + ifElseList = 'ifElseList' } -export enum ModuleOutputKeyEnum { +export enum NodeOutputKeyEnum { // common userChatInput = 'userChatInput', - finish = 'finish', history = 'history', answerText = 'answerText', // module answer. the value will be show and save to history success = 'success', @@ -104,10 +112,10 @@ export enum ModuleOutputKeyEnum { addOutputParam = 'system_addOutputParam', // dataset - datasetIsEmpty = 'isEmpty', - datasetUnEmpty = 'unEmpty', datasetQuoteQA = 'quoteQA', + // classify + cqResult = 'cqResult', // context extract contextExtractFields = 'fields', @@ -122,7 +130,10 @@ export enum ModuleOutputKeyEnum { httpRawResponse = 'httpRawResponse', // plugin - pluginStart = 'pluginStart' + pluginStart = 'pluginStart', + + if = 'IF', + else = 'ELSE' } export enum VariableInputEnum { @@ -154,4 +165,11 @@ export const variableMap = { } }; -export const DYNAMIC_INPUT_KEY = 'DYNAMIC_INPUT_KEY'; +export const DYNAMIC_INPUT_REFERENCE_KEY = 'DYNAMIC_INPUT_REFERENCE_KEY'; + +/* run time */ +export enum RuntimeEdgeStatusEnum { + 'waiting' = 'waiting', + 'active' = 'active', + 'skipped' = 'skipped' +} diff --git a/packages/global/core/workflow/node/constant.ts b/packages/global/core/workflow/node/constant.ts new file mode 100644 index 0000000000..2036f033c5 --- /dev/null +++ b/packages/global/core/workflow/node/constant.ts @@ -0,0 +1,118 @@ +export enum FlowNodeInputTypeEnum { // render ui + reference = 'reference', // reference to other node output + input = 'input', // one line input + numberInput = 'numberInput', + switch = 'switch', // true/false + + // editor + textarea = 'textarea', + JSONEditor = 'JSONEditor', + + addInputParam = 'addInputParam', // params input + + // special input + selectApp = 'selectApp', + + // ai model select + selectLLMModel = 'selectLLMModel', + settingLLMModel = 'settingLLMModel', + + // dataset special input + selectDataset = 'selectDataset', + selectDatasetParamsModal = 'selectDatasetParamsModal', + settingDatasetQuotePrompt = 'settingDatasetQuotePrompt', + + select = 'select', + + hidden = 'hidden', + custom = 'custom' +} +export const FlowNodeInputMap: Record< + FlowNodeInputTypeEnum, + { + icon: string; + } +> = { + [FlowNodeInputTypeEnum.reference]: { + icon: 'core/workflow/inputType/reference' + }, + [FlowNodeInputTypeEnum.input]: { + icon: 'core/workflow/inputType/input' + }, + [FlowNodeInputTypeEnum.numberInput]: { + icon: 'core/workflow/inputType/numberInput' + }, + [FlowNodeInputTypeEnum.select]: { + icon: 'core/workflow/inputType/input' + }, + [FlowNodeInputTypeEnum.switch]: { + icon: 'core/workflow/inputType/switch' + }, + [FlowNodeInputTypeEnum.textarea]: { + icon: 'core/workflow/inputType/textarea' + }, + [FlowNodeInputTypeEnum.JSONEditor]: { + icon: 'core/workflow/inputType/jsonEditor' + }, + [FlowNodeInputTypeEnum.addInputParam]: { + icon: 'core/workflow/inputType/dynamic' + }, + [FlowNodeInputTypeEnum.selectApp]: { + icon: 'core/workflow/inputType/selectApp' + }, + [FlowNodeInputTypeEnum.selectLLMModel]: { + icon: 'core/workflow/inputType/selectLLM' + }, + [FlowNodeInputTypeEnum.settingLLMModel]: { + icon: 'core/workflow/inputType/selectLLM' + }, + [FlowNodeInputTypeEnum.selectDataset]: { + icon: 'core/workflow/inputType/selectDataset' + }, + [FlowNodeInputTypeEnum.selectDatasetParamsModal]: { + icon: 'core/workflow/inputType/selectDataset' + }, + [FlowNodeInputTypeEnum.settingDatasetQuotePrompt]: { + icon: 'core/workflow/inputType/selectDataset' + }, + [FlowNodeInputTypeEnum.hidden]: { + icon: 'core/workflow/inputType/select' + }, + [FlowNodeInputTypeEnum.custom]: { + icon: 'core/workflow/inputType/select' + } +}; + +export enum FlowNodeOutputTypeEnum { + hidden = 'hidden', + source = 'source', + static = 'static', + dynamic = 'dynamic' +} + +export enum FlowNodeTypeEnum { + emptyNode = 'emptyNode', + systemConfig = 'userGuide', + globalVariable = 'globalVariable', + workflowStart = 'workflowStart', + chatNode = 'chatNode', + + datasetSearchNode = 'datasetSearchNode', + datasetConcatNode = 'datasetConcatNode', + + answerNode = 'answerNode', + classifyQuestion = 'classifyQuestion', + contentExtract = 'contentExtract', + httpRequest468 = 'httpRequest468', + runApp = 'app', + pluginModule = 'pluginModule', + pluginInput = 'pluginInput', + pluginOutput = 'pluginOutput', + queryExtension = 'cfr', + tools = 'tools', + stopTool = 'stopTool', + lafModule = 'lafModule', + ifElseNode = 'ifElseNode' +} + +export const EDGE_TYPE = 'default'; diff --git a/packages/global/core/workflow/node/type.d.ts b/packages/global/core/workflow/node/type.d.ts new file mode 100644 index 0000000000..2a051a9fa5 --- /dev/null +++ b/packages/global/core/workflow/node/type.d.ts @@ -0,0 +1,39 @@ +/* + react flow type +*/ +import { FlowNodeInputTypeEnum, FlowNodeOutputTypeEnum, FlowNodeTypeEnum } from './constant'; +import { WorkflowIOValueTypeEnum, NodeInputKeyEnum, NodeOutputKeyEnum } from '../constants'; +import { SelectedDatasetType } from '../api'; +import { LLMModelTypeEnum } from '../../ai/constants'; + +/* --------------- edit field ------------------- */ +export type EditInputFieldMapType = EditOutputFieldMapType & { + inputType?: boolean; +}; +export type EditOutputFieldMapType = { + key?: boolean; + description?: boolean; + valueType?: boolean; // output + required?: boolean; + defaultValue?: boolean; +}; +export type EditNodeFieldType = { + inputType?: FlowNodeInputTypeEnum; // input type + valueType?: WorkflowIOValueTypeEnum; + required?: boolean; + key?: string; + label?: string; + description?: string; + isToolInput?: boolean; + + defaultValue?: string; + maxLength?: number; + max?: number; + min?: number; + editField?: EditInputFieldMapType; + dynamicParamDefaultValue?: { + inputType?: FlowNodeInputTypeEnum; // input type + valueType?: WorkflowIOValueTypeEnum; + required?: boolean; + }; +}; diff --git a/packages/global/core/module/runtime/constants.ts b/packages/global/core/workflow/runtime/constants.ts similarity index 71% rename from packages/global/core/module/runtime/constants.ts rename to packages/global/core/workflow/runtime/constants.ts index 9a28162f22..b9d63a7fe4 100644 --- a/packages/global/core/module/runtime/constants.ts +++ b/packages/global/core/workflow/runtime/constants.ts @@ -1,3 +1,5 @@ +import { FlowNodeInputTypeEnum } from '../node/constant'; + export enum SseResponseEventEnum { error = 'error', answer = 'answer', // animation stream @@ -11,9 +13,17 @@ export enum SseResponseEventEnum { } export enum DispatchNodeResponseKeyEnum { + skipHandleId = 'skipHandleId', // skip handle id nodeResponse = 'responseData', // run node response nodeDispatchUsages = 'nodeDispatchUsages', // the node bill. childrenResponses = 'childrenResponses', // Some nodes make recursive calls that need to be returned toolResponses = 'toolResponses', // The result is passed back to the tool node for use assistantResponses = 'assistantResponses' // assistant response } + +export const needReplaceReferenceInputTypeList = [ + FlowNodeInputTypeEnum.reference, + FlowNodeInputTypeEnum.settingDatasetQuotePrompt, + FlowNodeInputTypeEnum.addInputParam, + FlowNodeInputTypeEnum.custom +] as string[]; diff --git a/packages/global/core/module/runtime/type.d.ts b/packages/global/core/workflow/runtime/type.d.ts similarity index 61% rename from packages/global/core/module/runtime/type.d.ts rename to packages/global/core/workflow/runtime/type.d.ts index 288e87fd99..af454776ce 100644 --- a/packages/global/core/module/runtime/type.d.ts +++ b/packages/global/core/workflow/runtime/type.d.ts @@ -1,38 +1,28 @@ import { ChatNodeUsageType } from '../../../support/wallet/bill/type'; import { ChatItemValueItemType, ToolRunResponseItemType } from '../../chat/type'; -import { FlowNodeInputItemType, FlowNodeOutputItemType } from '../node/type'; -import { ModuleItemType } from '../type'; +import { FlowNodeInputItemType, FlowNodeOutputItemType } from '../type/io.d'; +import { StoreNodeItemType } from '../type'; import { DispatchNodeResponseKeyEnum } from './constants'; +import { StoreEdgeItemType } from '../type/edge'; +import { NodeInputKeyEnum } from '../constants'; -export type RunningModuleItemType = { - name: ModuleItemType['name']; - avatar: ModuleItemType['avatar']; - intro?: ModuleItemType['intro']; - moduleId: ModuleItemType['moduleId']; - flowType: ModuleItemType['flowType']; - showStatus?: ModuleItemType['showStatus']; - isEntry?: ModuleItemType['isEntry']; - - inputs: { - key: string; - value?: any; - valueType?: FlowNodeInputItemType['valueType']; - required?: boolean; - toolDescription?: string; - }[]; - outputs: { - key: string; - required?: boolean; - defaultValue?: any; - answer?: boolean; - response?: boolean; - value?: any; - valueType?: FlowNodeOutputItemType['valueType']; - targets: { - moduleId: string; - key: string; - }[]; - }[]; +export type RuntimeNodeItemType = { + nodeId: StoreNodeItemType['nodeId']; + name: StoreNodeItemType['name']; + avatar: StoreNodeItemType['avatar']; + intro?: StoreNodeItemType['intro']; + flowNodeType: StoreNodeItemType['flowNodeType']; + showStatus?: StoreNodeItemType['showStatus']; + isEntry?: StoreNodeItemType['isEntry']; + + inputs: FlowNodeInputItemType[]; + outputs: FlowNodeOutputItemType[]; + + pluginId?: string; +}; + +export type RuntimeEdgeItemType = StoreEdgeItemType & { + status: 'waiting' | 'active' | 'skipped'; }; export type DispatchNodeResponseType = { @@ -84,8 +74,8 @@ export type DispatchNodeResponseType = { pluginOutput?: Record; pluginDetail?: ChatHistoryItemResType[]; - // tf switch - tfSwitchResult?: boolean; + // if-else + ifElseResult?: 'IF' | 'ELSE'; // tool toolCallTokens?: number; @@ -94,9 +84,21 @@ export type DispatchNodeResponseType = { }; export type DispatchNodeResultType = { + [DispatchNodeResponseKeyEnum.skipHandleId]?: string[]; // skip some edge handle id [DispatchNodeResponseKeyEnum.nodeResponse]?: DispatchNodeResponseType; // The node response detail [DispatchNodeResponseKeyEnum.nodeDispatchUsages]?: ChatNodeUsageType[]; // [DispatchNodeResponseKeyEnum.childrenResponses]?: DispatchNodeResultType[]; [DispatchNodeResponseKeyEnum.toolResponses]?: ToolRunResponseItemType; [DispatchNodeResponseKeyEnum.assistantResponses]?: ChatItemValueItemType[]; } & T; + +/* Single node props */ +export type AIChatNodeProps = { + [NodeInputKeyEnum.aiModel]: string; + [NodeInputKeyEnum.aiSystemPrompt]?: string; + [NodeInputKeyEnum.aiChatTemperature]: number; + [NodeInputKeyEnum.aiChatMaxToken]: number; + [NodeInputKeyEnum.aiChatIsResponseText]: boolean; + [NodeInputKeyEnum.aiChatQuoteTemplate]?: string; + [NodeInputKeyEnum.aiChatQuotePrompt]?: string; +}; diff --git a/packages/global/core/workflow/runtime/utils.ts b/packages/global/core/workflow/runtime/utils.ts new file mode 100644 index 0000000000..9f04a2e4cd --- /dev/null +++ b/packages/global/core/workflow/runtime/utils.ts @@ -0,0 +1,199 @@ +import { ChatCompletionRequestMessageRoleEnum } from '../../ai/constants'; +import { NodeOutputKeyEnum } from '../constants'; +import { FlowNodeTypeEnum } from '../node/constant'; +import { StoreNodeItemType } from '../type'; +import { StoreEdgeItemType } from '../type/edge'; +import { RuntimeEdgeItemType, RuntimeNodeItemType } from './type'; +import { VARIABLE_NODE_ID } from '../../../../../projects/app/src/web/core/workflow/constants/index'; + +export const initWorkflowEdgeStatus = (edges: StoreEdgeItemType[]): RuntimeEdgeItemType[] => { + return ( + edges?.map((edge) => ({ + ...edge, + status: 'waiting' + })) || [] + ); +}; + +export const getDefaultEntryNodeIds = (nodes: (StoreNodeItemType | RuntimeNodeItemType)[]) => { + const entryList = [ + FlowNodeTypeEnum.systemConfig, + FlowNodeTypeEnum.workflowStart, + FlowNodeTypeEnum.pluginInput + ]; + return nodes + .filter((node) => entryList.includes(node.flowNodeType as any)) + .map((item) => item.nodeId); +}; + +export const storeNodes2RuntimeNodes = ( + nodes: StoreNodeItemType[], + entryNodeIds: string[] +): RuntimeNodeItemType[] => { + return ( + nodes.map((node) => { + return { + nodeId: node.nodeId, + name: node.name, + avatar: node.avatar, + intro: node.intro, + flowNodeType: node.flowNodeType, + showStatus: node.showStatus, + isEntry: entryNodeIds.includes(node.nodeId), + inputs: node.inputs, + outputs: node.outputs, + pluginId: node.pluginId + }; + }) || [] + ); +}; + +export const filterWorkflowEdges = (edges: RuntimeEdgeItemType[]) => { + return edges.filter( + (edge) => + edge.sourceHandle !== NodeOutputKeyEnum.selectedTools && + edge.targetHandle !== NodeOutputKeyEnum.selectedTools + ); +}; + +/* + 区分普通连线和递归连线 + 递归连线:可以通过往上查询 nodes,最终追溯到自身 +*/ +export const splitEdges2WorkflowEdges = ({ + edges, + allEdges, + currentNode +}: { + edges: RuntimeEdgeItemType[]; + allEdges: RuntimeEdgeItemType[]; + currentNode: RuntimeNodeItemType; +}) => { + const commonEdges: RuntimeEdgeItemType[] = []; + const recursiveEdges: RuntimeEdgeItemType[] = []; + + edges.forEach((edge) => { + const checkIsCurrentNode = (edge: RuntimeEdgeItemType): boolean => { + const sourceEdge = allEdges.find((item) => item.target === edge.source); + if (!sourceEdge) return false; + if (sourceEdge.source === currentNode.nodeId) return true; + return checkIsCurrentNode(sourceEdge); + }; + if (checkIsCurrentNode(edge)) { + recursiveEdges.push(edge); + } else { + commonEdges.push(edge); + } + }); + + return { commonEdges, recursiveEdges }; +}; + +/* + 1. 输入线分类:普通线和递归线(可以追溯到自身) + 2. 起始线全部非 waiting 执行,或递归线全部非 waiting 执行 +*/ +export const checkNodeRunStatus = ({ + node, + runtimeEdges +}: { + node: RuntimeNodeItemType; + runtimeEdges: RuntimeEdgeItemType[]; +}) => { + const workflowEdges = filterWorkflowEdges(runtimeEdges).filter( + (item) => item.target === node.nodeId + ); + + if (workflowEdges.length === 0) { + return 'run'; + } + + const { commonEdges, recursiveEdges } = splitEdges2WorkflowEdges({ + edges: workflowEdges, + allEdges: runtimeEdges, + currentNode: node + }); + + // check skip + if (commonEdges.every((item) => item.status === 'skipped')) { + return 'skip'; + } + if (recursiveEdges.length > 0 && recursiveEdges.every((item) => item.status === 'skipped')) { + return 'skip'; + } + + // check active + if (commonEdges.every((item) => item.status !== 'waiting')) { + return 'run'; + } + if (recursiveEdges.length > 0 && recursiveEdges.every((item) => item.status !== 'waiting')) { + return 'run'; + } + + return 'wait'; +}; + +export const getReferenceVariableValue = ({ + value, + nodes, + variables +}: { + value: [string, string]; + nodes: RuntimeNodeItemType[]; + variables: Record; +}) => { + if ( + !Array.isArray(value) || + value.length !== 2 || + typeof value[0] !== 'string' || + typeof value[1] !== 'string' + ) { + return value; + } + const sourceNodeId = value[0]; + const outputId = value[1]; + + if (sourceNodeId === VARIABLE_NODE_ID && outputId) { + return variables[outputId]; + } + + const node = nodes.find((node) => node.nodeId === sourceNodeId); + + if (!node) { + return undefined; + } + + const outputValue = node.outputs.find((output) => output.id === outputId)?.value; + + return outputValue; +}; + +export const textAdaptGptResponse = ({ + text, + model = '', + finish_reason = null, + extraData = {} +}: { + model?: string; + text: string | null; + finish_reason?: null | 'stop'; + extraData?: Object; +}) => { + return JSON.stringify({ + ...extraData, + id: '', + object: '', + created: 0, + model, + choices: [ + { + delta: + text === null + ? {} + : { role: ChatCompletionRequestMessageRoleEnum.Assistant, content: text }, + index: 0, + finish_reason + } + ] + }); +}; diff --git a/packages/global/core/module/template/constants.ts b/packages/global/core/workflow/template/constants.ts similarity index 82% rename from packages/global/core/module/template/constants.ts rename to packages/global/core/workflow/template/constants.ts index 74e85bce3d..f83c33eec6 100644 --- a/packages/global/core/module/template/constants.ts +++ b/packages/global/core/workflow/template/constants.ts @@ -1,5 +1,6 @@ -import { UserGuideModule } from './system/userGuide'; -import { UserInputModule } from './system/userInput'; +import { SystemConfigNode } from './system/systemConfig'; +import { EmptyNode } from './system/emptyNode'; +import { WorkflowStart } from './system/workflowStart'; import { AiChatModule } from './system/aiChat'; import { DatasetSearchModule } from './system/datasetSearch'; import { DatasetConcatModule } from './system/datasetConcat'; @@ -7,7 +8,6 @@ import { AssignedAnswerModule } from './system/assignedAnswer'; import { ClassifyQuestionModule } from './system/classifyQuestion'; import { ContextExtractModule } from './system/contextExtract'; import { HttpModule468 } from './system/http468'; -import { HttpModule } from './system/abandon/http'; import { ToolModule } from './system/tools'; import { StopToolNode } from './system/stopTool'; @@ -18,14 +18,15 @@ import { PluginOutputModule } from './system/pluginOutput'; import { RunPluginModule } from './system/runPlugin'; import { AiQueryExtension } from './system/queryExtension'; -import type { FlowNodeTemplateType, moduleTemplateListType } from '../../module/type.d'; -import { FlowNodeTemplateTypeEnum } from '../../module/constants'; +import type { FlowNodeTemplateType, nodeTemplateListType } from '../type'; +import { FlowNodeTemplateTypeEnum } from '../../workflow/constants'; import { lafModule } from './system/laf'; +import { ifElseNode } from './system/ifElse/index'; /* app flow module templates */ export const appSystemModuleTemplates: FlowNodeTemplateType[] = [ - UserGuideModule, - UserInputModule, + SystemConfigNode, + WorkflowStart, AiChatModule, AssignedAnswerModule, DatasetSearchModule, @@ -37,7 +38,8 @@ export const appSystemModuleTemplates: FlowNodeTemplateType[] = [ ContextExtractModule, HttpModule468, AiQueryExtension, - lafModule + lafModule, + ifElseNode ]; /* plugin flow module templates */ export const pluginSystemModuleTemplates: FlowNodeTemplateType[] = [ @@ -54,13 +56,15 @@ export const pluginSystemModuleTemplates: FlowNodeTemplateType[] = [ ContextExtractModule, HttpModule468, AiQueryExtension, - lafModule + lafModule, + ifElseNode ]; /* all module */ export const moduleTemplatesFlat: FlowNodeTemplateType[] = [ - UserGuideModule, - UserInputModule, + EmptyNode, + SystemConfigNode, + WorkflowStart, AiChatModule, DatasetSearchModule, DatasetConcatModule, @@ -68,7 +72,6 @@ export const moduleTemplatesFlat: FlowNodeTemplateType[] = [ ClassifyQuestionModule, ContextExtractModule, HttpModule468, - HttpModule, ToolModule, StopToolNode, AiChatModule, @@ -77,13 +80,14 @@ export const moduleTemplatesFlat: FlowNodeTemplateType[] = [ PluginOutputModule, RunPluginModule, AiQueryExtension, - lafModule + lafModule, + ifElseNode ]; -export const moduleTemplatesList: moduleTemplateListType = [ +export const moduleTemplatesList: nodeTemplateListType = [ { - type: FlowNodeTemplateTypeEnum.userGuide, - label: '', + type: FlowNodeTemplateTypeEnum.systemInput, + label: 'core.module.template.System input module', list: [] }, { @@ -115,10 +119,5 @@ export const moduleTemplatesList: moduleTemplateListType = [ type: FlowNodeTemplateTypeEnum.other, label: '其他', list: [] - }, - { - type: FlowNodeTemplateTypeEnum.systemInput, - label: 'core.module.template.System input module', - list: [] } ]; diff --git a/packages/global/core/workflow/template/input.ts b/packages/global/core/workflow/template/input.ts new file mode 100644 index 0000000000..a588910a9a --- /dev/null +++ b/packages/global/core/workflow/template/input.ts @@ -0,0 +1,65 @@ +import { NodeInputKeyEnum } from '../constants'; +import { FlowNodeInputTypeEnum } from '../node/constant'; +import { WorkflowIOValueTypeEnum } from '../constants'; +import { chatNodeSystemPromptTip } from './tip'; +import { FlowNodeInputItemType } from '../type/io'; + +export const Input_Template_History: FlowNodeInputItemType = { + key: NodeInputKeyEnum.history, + renderTypeList: [FlowNodeInputTypeEnum.numberInput, FlowNodeInputTypeEnum.reference], + valueType: WorkflowIOValueTypeEnum.chatHistory, + label: 'core.module.input.label.chat history', + required: true, + min: 0, + max: 30, + value: 6 +}; + +export const Input_Template_UserChatInput: FlowNodeInputItemType = { + key: NodeInputKeyEnum.userChatInput, + renderTypeList: [FlowNodeInputTypeEnum.reference, FlowNodeInputTypeEnum.textarea], + valueType: WorkflowIOValueTypeEnum.string, + label: '用户问题', + required: true +}; + +export const Input_Template_DynamicInput: FlowNodeInputItemType = { + key: NodeInputKeyEnum.addInputParam, + renderTypeList: [FlowNodeInputTypeEnum.addInputParam], + valueType: WorkflowIOValueTypeEnum.dynamic, + label: '', + required: false +}; + +export const Input_Template_SelectAIModel: FlowNodeInputItemType = { + key: NodeInputKeyEnum.aiModel, + renderTypeList: [FlowNodeInputTypeEnum.selectLLMModel, FlowNodeInputTypeEnum.reference], + label: 'core.module.input.label.aiModel', + required: true, + valueType: WorkflowIOValueTypeEnum.string +}; +export const Input_Template_SettingAiModel: FlowNodeInputItemType = { + key: NodeInputKeyEnum.aiModel, + renderTypeList: [FlowNodeInputTypeEnum.settingLLMModel, FlowNodeInputTypeEnum.reference], + label: 'core.module.input.label.aiModel', + valueType: WorkflowIOValueTypeEnum.string +}; + +export const Input_Template_System_Prompt: FlowNodeInputItemType = { + key: NodeInputKeyEnum.aiSystemPrompt, + renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference], + max: 3000, + valueType: WorkflowIOValueTypeEnum.string, + label: 'core.ai.Prompt', + description: chatNodeSystemPromptTip, + placeholder: chatNodeSystemPromptTip +}; + +export const Input_Template_Dataset_Quote: FlowNodeInputItemType = { + key: NodeInputKeyEnum.aiChatDatasetQuote, + renderTypeList: [FlowNodeInputTypeEnum.settingDatasetQuotePrompt], + label: '', + debugLabel: '知识库引用', + description: '', + valueType: WorkflowIOValueTypeEnum.datasetQuote +}; diff --git a/packages/global/core/workflow/template/output.ts b/packages/global/core/workflow/template/output.ts new file mode 100644 index 0000000000..9869124789 --- /dev/null +++ b/packages/global/core/workflow/template/output.ts @@ -0,0 +1,17 @@ +import type { FlowNodeOutputItemType } from '../type/io.d'; +import { NodeOutputKeyEnum } from '../constants'; +import { FlowNodeOutputTypeEnum } from '../node/constant'; +import { WorkflowIOValueTypeEnum } from '../constants'; + +export const Output_Template_AddOutput: FlowNodeOutputItemType = { + id: NodeOutputKeyEnum.addOutputParam, + key: NodeOutputKeyEnum.addOutputParam, + type: FlowNodeOutputTypeEnum.dynamic, + valueType: WorkflowIOValueTypeEnum.dynamic, + label: '', + + editField: { + key: true, + valueType: true + } +}; diff --git a/packages/global/core/workflow/template/system/aiChat.ts b/packages/global/core/workflow/template/system/aiChat.ts new file mode 100644 index 0000000000..f00c97b905 --- /dev/null +++ b/packages/global/core/workflow/template/system/aiChat.ts @@ -0,0 +1,105 @@ +import { + FlowNodeInputTypeEnum, + FlowNodeOutputTypeEnum, + FlowNodeTypeEnum +} from '../../node/constant'; +import { FlowNodeTemplateType } from '../../type'; +import { + WorkflowIOValueTypeEnum, + NodeInputKeyEnum, + NodeOutputKeyEnum, + FlowNodeTemplateTypeEnum +} from '../../constants'; +import { + Input_Template_SettingAiModel, + Input_Template_Dataset_Quote, + Input_Template_History, + Input_Template_System_Prompt, + Input_Template_UserChatInput +} from '../input'; +import { chatNodeSystemPromptTip } from '../tip'; +import { getHandleConfig } from '../utils'; + +export const AiChatModule: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.chatNode, + templateType: FlowNodeTemplateTypeEnum.textAnswer, + flowNodeType: FlowNodeTypeEnum.chatNode, + sourceHandle: getHandleConfig(true, true, true, true), + targetHandle: getHandleConfig(true, true, true, true), + avatar: '/imgs/workflow/AI.png', + name: 'AI 对话', + intro: 'AI 大模型对话', + showStatus: true, + isTool: true, + inputs: [ + Input_Template_SettingAiModel, + // --- settings modal + { + key: NodeInputKeyEnum.aiChatTemperature, + renderTypeList: [FlowNodeInputTypeEnum.hidden], // Set in the pop-up window + label: '', + value: 0, + valueType: WorkflowIOValueTypeEnum.number, + min: 0, + max: 10, + step: 1 + }, + { + key: NodeInputKeyEnum.aiChatMaxToken, + renderTypeList: [FlowNodeInputTypeEnum.hidden], // Set in the pop-up window + label: '', + value: 2000, + valueType: WorkflowIOValueTypeEnum.number, + min: 100, + max: 4000, + step: 50 + }, + { + key: NodeInputKeyEnum.aiChatIsResponseText, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + label: '', + value: true, + valueType: WorkflowIOValueTypeEnum.boolean + }, + { + key: NodeInputKeyEnum.aiChatQuoteTemplate, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + label: '', + valueType: WorkflowIOValueTypeEnum.string + }, + { + key: NodeInputKeyEnum.aiChatQuotePrompt, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + label: '', + valueType: WorkflowIOValueTypeEnum.string + }, + // settings modal --- + { + ...Input_Template_System_Prompt, + label: 'core.ai.Prompt', + description: chatNodeSystemPromptTip, + placeholder: chatNodeSystemPromptTip + }, + Input_Template_History, + { ...Input_Template_UserChatInput, toolDescription: '用户问题' }, + Input_Template_Dataset_Quote + ], + outputs: [ + { + id: NodeOutputKeyEnum.history, + key: NodeOutputKeyEnum.history, + label: 'core.module.output.label.New context', + description: 'core.module.output.description.New context', + valueType: WorkflowIOValueTypeEnum.chatHistory, + type: FlowNodeOutputTypeEnum.static + }, + { + id: NodeOutputKeyEnum.answerText, + key: NodeOutputKeyEnum.answerText, + label: 'core.module.output.label.Ai response content', + description: 'core.module.output.description.Ai response content', + valueType: WorkflowIOValueTypeEnum.string, + type: FlowNodeOutputTypeEnum.static + } + ] +}; diff --git a/packages/global/core/workflow/template/system/assignedAnswer.ts b/packages/global/core/workflow/template/system/assignedAnswer.ts new file mode 100644 index 0000000000..b8180a450e --- /dev/null +++ b/packages/global/core/workflow/template/system/assignedAnswer.ts @@ -0,0 +1,36 @@ +import { + FlowNodeInputTypeEnum, + FlowNodeOutputTypeEnum, + FlowNodeTypeEnum +} from '../../node/constant'; +import { FlowNodeTemplateType } from '../../type/index.d'; +import { + WorkflowIOValueTypeEnum, + NodeInputKeyEnum, + FlowNodeTemplateTypeEnum, + NodeOutputKeyEnum +} from '../../constants'; +import { getHandleConfig } from '../utils'; + +export const AssignedAnswerModule: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.answerNode, + templateType: FlowNodeTemplateTypeEnum.textAnswer, + flowNodeType: FlowNodeTypeEnum.answerNode, + sourceHandle: getHandleConfig(true, true, true, true), + targetHandle: getHandleConfig(true, true, true, true), + avatar: '/imgs/workflow/reply.png', + name: '指定回复', + intro: + '该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。', + inputs: [ + { + key: NodeInputKeyEnum.answerText, + renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference], + valueType: WorkflowIOValueTypeEnum.string, + label: 'core.module.input.label.Response content', + description: 'core.module.input.description.Response content', + placeholder: 'core.module.input.description.Response content' + } + ], + outputs: [] +}; diff --git a/packages/global/core/module/template/system/classifyQuestion.ts b/packages/global/core/workflow/template/system/classifyQuestion.ts similarity index 63% rename from packages/global/core/module/template/system/classifyQuestion.ts rename to packages/global/core/workflow/template/system/classifyQuestion.ts index 0f733c8958..c2afe4a465 100644 --- a/packages/global/core/module/template/system/classifyQuestion.ts +++ b/packages/global/core/workflow/template/system/classifyQuestion.ts @@ -3,32 +3,33 @@ import { FlowNodeOutputTypeEnum, FlowNodeTypeEnum } from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; +import { FlowNodeTemplateType } from '../../type'; import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - FlowNodeTemplateTypeEnum + WorkflowIOValueTypeEnum, + NodeInputKeyEnum, + FlowNodeTemplateTypeEnum, + NodeOutputKeyEnum } from '../../constants'; import { Input_Template_SelectAIModel, Input_Template_History, - Input_Template_Switch, Input_Template_UserChatInput } from '../input'; -import { Output_Template_UserChatInput } from '../output'; import { Input_Template_System_Prompt } from '../input'; import { LLMModelTypeEnum } from '../../../ai/constants'; +import { getHandleConfig } from '../utils'; export const ClassifyQuestionModule: FlowNodeTemplateType = { id: FlowNodeTypeEnum.classifyQuestion, templateType: FlowNodeTemplateTypeEnum.functionCall, - flowType: FlowNodeTypeEnum.classifyQuestion, - avatar: '/imgs/module/cq.png', + flowNodeType: FlowNodeTypeEnum.classifyQuestion, + sourceHandle: getHandleConfig(false, false, false, false), + targetHandle: getHandleConfig(true, false, true, true), + avatar: '/imgs/workflow/cq.png', name: '问题分类', intro: `根据用户的历史记录和当前问题判断该次提问的类型。可以添加多组问题类型,下面是一个模板例子:\n类型1: 打招呼\n类型2: 关于商品“使用”问题\n类型3: 关于商品“购买”问题\n类型4: 其他问题`, showStatus: true, inputs: [ - Input_Template_Switch, { ...Input_Template_SelectAIModel, llmModelType: LLMModelTypeEnum.classify @@ -42,9 +43,9 @@ export const ClassifyQuestionModule: FlowNodeTemplateType = { Input_Template_History, Input_Template_UserChatInput, { - key: ModuleInputKeyEnum.agents, - type: FlowNodeInputTypeEnum.custom, - valueType: ModuleIOValueTypeEnum.any, + key: NodeInputKeyEnum.agents, + renderTypeList: [FlowNodeInputTypeEnum.custom], + valueType: WorkflowIOValueTypeEnum.any, label: '', value: [ { @@ -59,31 +60,16 @@ export const ClassifyQuestionModule: FlowNodeTemplateType = { value: '其他问题', key: 'agex' } - ], - showTargetInApp: false, - showTargetInPlugin: false + ] } ], outputs: [ - Output_Template_UserChatInput, - // custom output { - key: 'wqre', - label: '', - type: FlowNodeOutputTypeEnum.hidden, - targets: [] - }, - { - key: 'sdfa', - label: '', - type: FlowNodeOutputTypeEnum.hidden, - targets: [] - }, - { - key: 'agex', - label: '', - type: FlowNodeOutputTypeEnum.hidden, - targets: [] + id: NodeOutputKeyEnum.cqResult, + key: NodeOutputKeyEnum.cqResult, + label: '分类结果', + valueType: WorkflowIOValueTypeEnum.string, + type: FlowNodeOutputTypeEnum.static } ] }; diff --git a/packages/global/core/workflow/template/system/contextExtract.ts b/packages/global/core/workflow/template/system/contextExtract.ts new file mode 100644 index 0000000000..c34697ba71 --- /dev/null +++ b/packages/global/core/workflow/template/system/contextExtract.ts @@ -0,0 +1,86 @@ +import { + FlowNodeInputTypeEnum, + FlowNodeOutputTypeEnum, + FlowNodeTypeEnum +} from '../../node/constant'; +import { FlowNodeTemplateType } from '../../type'; +import { + WorkflowIOValueTypeEnum, + NodeInputKeyEnum, + NodeOutputKeyEnum, + FlowNodeTemplateTypeEnum +} from '../../constants'; +import { Input_Template_SelectAIModel, Input_Template_History } from '../input'; +import { LLMModelTypeEnum } from '../../../ai/constants'; +import { getHandleConfig } from '../utils'; + +export const ContextExtractModule: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.contentExtract, + templateType: FlowNodeTemplateTypeEnum.functionCall, + flowNodeType: FlowNodeTypeEnum.contentExtract, + sourceHandle: getHandleConfig(true, true, true, true), + targetHandle: getHandleConfig(true, true, true, true), + avatar: '/imgs/workflow/extract.png', + name: '文本内容提取', + intro: '可从文本中提取指定的数据,例如:sql语句、搜索关键词、代码等', + showStatus: true, + isTool: true, + inputs: [ + { + ...Input_Template_SelectAIModel, + llmModelType: LLMModelTypeEnum.extractFields + }, + { + key: NodeInputKeyEnum.description, + renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference], + valueType: WorkflowIOValueTypeEnum.string, + label: '提取要求描述', + description: + '给AI一些对应的背景知识或要求描述,引导AI更好的完成任务。\n该输入框可使用全局变量。', + placeholder: + '例如: \n1. 当前时间为: {{cTime}}。你是一个实验室预约助手,你的任务是帮助用户预约实验室,从文本中获取对应的预约信息。\n2. 你是谷歌搜索助手,需要从文本中提取出合适的搜索词。' + }, + Input_Template_History, + { + key: NodeInputKeyEnum.contextExtractInput, + renderTypeList: [FlowNodeInputTypeEnum.reference, FlowNodeInputTypeEnum.textarea], + label: '需要提取的文本', + required: true, + valueType: WorkflowIOValueTypeEnum.string, + toolDescription: '需要检索的内容' + }, + { + key: NodeInputKeyEnum.extractKeys, + renderTypeList: [FlowNodeInputTypeEnum.custom], + label: '', + valueType: WorkflowIOValueTypeEnum.any, + description: "由 '描述' 和 'key' 组成一个目标字段,可提取多个目标字段", + value: [] // {desc: string; key: string; required: boolean; enum: string[]}[] + } + ], + outputs: [ + // { + // id: NodeOutputKeyEnum.success, + // key: NodeOutputKeyEnum.success, + // label: '字段完全提取', + // valueType: WorkflowIOValueTypeEnum.boolean, + // type: FlowNodeOutputTypeEnum.source + // }, + // { + // id: NodeOutputKeyEnum.failed, + // key: NodeOutputKeyEnum.failed, + // label: '提取字段缺失', + // description: '存在一个或多个字段未提取成功。尽管使用了默认值也算缺失。', + // valueType: WorkflowIOValueTypeEnum.boolean, + // type: FlowNodeOutputTypeEnum.source + // }, + { + id: NodeOutputKeyEnum.contextExtractFields, + key: NodeOutputKeyEnum.contextExtractFields, + label: '完整提取结果', + description: '一个 JSON 字符串,例如:{"name:":"YY","Time":"2023/7/2 18:00"}', + valueType: WorkflowIOValueTypeEnum.string, + type: FlowNodeOutputTypeEnum.static + } + ] +}; diff --git a/packages/global/core/workflow/template/system/datasetConcat.ts b/packages/global/core/workflow/template/system/datasetConcat.ts new file mode 100644 index 0000000000..ad3b9136e1 --- /dev/null +++ b/packages/global/core/workflow/template/system/datasetConcat.ts @@ -0,0 +1,59 @@ +import { + FlowNodeInputTypeEnum, + FlowNodeOutputTypeEnum, + FlowNodeTypeEnum +} from '../../node/constant'; +import { FlowNodeTemplateType } from '../../type'; +import { + WorkflowIOValueTypeEnum, + NodeInputKeyEnum, + NodeOutputKeyEnum, + FlowNodeTemplateTypeEnum +} from '../../constants'; +import { Input_Template_Dataset_Quote } from '../input'; +import { getNanoid } from '../../../../common/string/tools'; +import { getHandleConfig } from '../utils'; +import { FlowNodeInputItemType } from '../../type/io.d'; + +export const getOneQuoteInputTemplate = (key = getNanoid()): FlowNodeInputItemType => ({ + ...Input_Template_Dataset_Quote, + key, + renderTypeList: [FlowNodeInputTypeEnum.custom], + description: '' +}); + +export const DatasetConcatModule: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.datasetConcatNode, + flowNodeType: FlowNodeTypeEnum.datasetConcatNode, + templateType: FlowNodeTemplateTypeEnum.other, + sourceHandle: getHandleConfig(true, true, true, true), + targetHandle: getHandleConfig(true, true, true, true), + avatar: '/imgs/workflow/concat.svg', + name: '知识库搜索引用合并', + intro: '可以将多个知识库搜索结果进行合并输出。使用 RRF 的合并方式进行最终排序输出。', + showStatus: false, + inputs: [ + { + key: NodeInputKeyEnum.datasetMaxTokens, + renderTypeList: [FlowNodeInputTypeEnum.custom], + label: '最大 Tokens', + value: 1500, + valueType: WorkflowIOValueTypeEnum.number + }, + { + key: 'customComponent', + renderTypeList: [FlowNodeInputTypeEnum.custom], + label: '' + }, + getOneQuoteInputTemplate() + ], + outputs: [ + { + id: NodeOutputKeyEnum.datasetQuoteQA, + key: NodeOutputKeyEnum.datasetQuoteQA, + label: 'core.module.Dataset quote.label', + type: FlowNodeOutputTypeEnum.static, + valueType: WorkflowIOValueTypeEnum.datasetQuote + } + ] +}; diff --git a/packages/global/core/workflow/template/system/datasetSearch.ts b/packages/global/core/workflow/template/system/datasetSearch.ts new file mode 100644 index 0000000000..2808ca6f93 --- /dev/null +++ b/packages/global/core/workflow/template/system/datasetSearch.ts @@ -0,0 +1,105 @@ +import { + FlowNodeInputTypeEnum, + FlowNodeOutputTypeEnum, + FlowNodeTypeEnum +} from '../../node/constant'; +import { FlowNodeTemplateType } from '../../type'; +import { + WorkflowIOValueTypeEnum, + NodeInputKeyEnum, + NodeOutputKeyEnum, + FlowNodeTemplateTypeEnum +} from '../../constants'; +import { Input_Template_UserChatInput } from '../input'; +import { DatasetSearchModeEnum } from '../../../dataset/constants'; +import { getHandleConfig } from '../utils'; + +export const Dataset_SEARCH_DESC = + '调用“语义检索”和“全文检索”能力,从“知识库”中查找可能与问题相关的参考内容'; + +export const DatasetSearchModule: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.datasetSearchNode, + templateType: FlowNodeTemplateTypeEnum.functionCall, + flowNodeType: FlowNodeTypeEnum.datasetSearchNode, + sourceHandle: getHandleConfig(true, true, true, true), + targetHandle: getHandleConfig(true, true, true, true), + avatar: '/imgs/workflow/db.png', + name: '知识库搜索', + intro: Dataset_SEARCH_DESC, + showStatus: true, + isTool: true, + inputs: [ + { + key: NodeInputKeyEnum.datasetSelectList, + renderTypeList: [FlowNodeInputTypeEnum.selectDataset, FlowNodeInputTypeEnum.reference], + label: 'core.module.input.label.Select dataset', + value: [], + valueType: WorkflowIOValueTypeEnum.selectDataset, + list: [], + required: true + }, + { + key: NodeInputKeyEnum.datasetSimilarity, + renderTypeList: [FlowNodeInputTypeEnum.selectDatasetParamsModal], + label: '', + value: 0.4, + valueType: WorkflowIOValueTypeEnum.number + }, + // setting from modal + { + key: NodeInputKeyEnum.datasetMaxTokens, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + label: '', + value: 1500, + valueType: WorkflowIOValueTypeEnum.number + }, + { + key: NodeInputKeyEnum.datasetSearchMode, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + label: '', + valueType: WorkflowIOValueTypeEnum.string, + value: DatasetSearchModeEnum.embedding + }, + { + key: NodeInputKeyEnum.datasetSearchUsingReRank, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + label: '', + valueType: WorkflowIOValueTypeEnum.boolean, + value: false + }, + { + key: NodeInputKeyEnum.datasetSearchUsingExtensionQuery, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + label: '', + valueType: WorkflowIOValueTypeEnum.boolean, + value: true + }, + { + key: NodeInputKeyEnum.datasetSearchExtensionModel, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + label: '', + valueType: WorkflowIOValueTypeEnum.string + }, + { + key: NodeInputKeyEnum.datasetSearchExtensionBg, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + label: '', + valueType: WorkflowIOValueTypeEnum.string, + value: '' + }, + { + ...Input_Template_UserChatInput, + toolDescription: '需要检索的内容' + } + ], + outputs: [ + { + id: NodeOutputKeyEnum.datasetQuoteQA, + key: NodeOutputKeyEnum.datasetQuoteQA, + label: 'core.module.Dataset quote.label', + description: '特殊数组格式,搜索结果为空时,返回空数组。', + type: FlowNodeOutputTypeEnum.static, + valueType: WorkflowIOValueTypeEnum.datasetQuote + } + ] +}; diff --git a/packages/global/core/workflow/template/system/emptyNode.ts b/packages/global/core/workflow/template/system/emptyNode.ts new file mode 100644 index 0000000000..c26d1b1d2a --- /dev/null +++ b/packages/global/core/workflow/template/system/emptyNode.ts @@ -0,0 +1,17 @@ +import { FlowNodeTypeEnum } from '../../node/constant'; +import { FlowNodeTemplateType } from '../../type'; +import { FlowNodeTemplateTypeEnum } from '../../constants'; +import { getHandleConfig } from '../utils'; + +export const EmptyNode: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.emptyNode, + templateType: FlowNodeTemplateTypeEnum.systemInput, + flowNodeType: FlowNodeTypeEnum.emptyNode, + sourceHandle: getHandleConfig(false, false, false, false), + targetHandle: getHandleConfig(false, false, false, false), + avatar: '', + name: '', + intro: '', + inputs: [], + outputs: [] +}; diff --git a/packages/global/core/workflow/template/system/globalVariable.ts b/packages/global/core/workflow/template/system/globalVariable.ts new file mode 100644 index 0000000000..4dad1a14ca --- /dev/null +++ b/packages/global/core/workflow/template/system/globalVariable.ts @@ -0,0 +1,31 @@ +import { FlowNodeTemplateTypeEnum, WorkflowIOValueTypeEnum } from '../../constants'; +import { getHandleConfig } from '../utils'; +import { FlowNodeTypeEnum } from '../../node/constant'; +import { VariableItemType } from '../../../app/type'; +import { FlowNodeTemplateType } from '../../type'; + +export const getGlobalVariableNode = ({ + id, + variables +}: { + id: string; + variables: VariableItemType[]; +}): FlowNodeTemplateType => { + return { + id, + templateType: FlowNodeTemplateTypeEnum.other, + flowNodeType: FlowNodeTypeEnum.systemConfig, + sourceHandle: getHandleConfig(true, true, true, true), + targetHandle: getHandleConfig(true, true, true, true), + avatar: '/imgs/workflow/variable.png', + name: '全局变量', + intro: '', + inputs: [], + outputs: variables.map((item) => ({ + id: item.key, + key: item.key, + valueType: WorkflowIOValueTypeEnum.string, + label: item.label + })) + }; +}; diff --git a/packages/global/core/workflow/template/system/http468.ts b/packages/global/core/workflow/template/system/http468.ts new file mode 100644 index 0000000000..515c15da2b --- /dev/null +++ b/packages/global/core/workflow/template/system/http468.ts @@ -0,0 +1,92 @@ +import { + FlowNodeInputTypeEnum, + FlowNodeOutputTypeEnum, + FlowNodeTypeEnum +} from '../../node/constant'; +import { FlowNodeTemplateType } from '../../type/index.d'; +import { + WorkflowIOValueTypeEnum, + NodeInputKeyEnum, + NodeOutputKeyEnum, + FlowNodeTemplateTypeEnum +} from '../../constants'; +import { Input_Template_DynamicInput } from '../input'; +import { Output_Template_AddOutput } from '../output'; +import { getHandleConfig } from '../utils'; + +export const HttpModule468: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.httpRequest468, + templateType: FlowNodeTemplateTypeEnum.externalCall, + flowNodeType: FlowNodeTypeEnum.httpRequest468, + sourceHandle: getHandleConfig(true, true, true, true), + targetHandle: getHandleConfig(true, true, true, true), + avatar: '/imgs/workflow/http.png', + name: 'HTTP 请求', + intro: '可以发出一个 HTTP 请求,实现更为复杂的操作(联网搜索、数据库查询等)', + showStatus: true, + isTool: true, + inputs: [ + { + ...Input_Template_DynamicInput, + description: 'core.module.input.description.HTTP Dynamic Input', + editField: { + key: true, + valueType: true + } + }, + { + key: NodeInputKeyEnum.httpMethod, + renderTypeList: [FlowNodeInputTypeEnum.custom], + valueType: WorkflowIOValueTypeEnum.string, + label: '', + value: 'POST', + required: true + }, + { + key: NodeInputKeyEnum.httpReqUrl, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.string, + label: '', + description: 'core.module.input.description.Http Request Url', + placeholder: 'https://api.ai.com/getInventory', + required: false + }, + { + key: NodeInputKeyEnum.httpHeaders, + renderTypeList: [FlowNodeInputTypeEnum.custom], + valueType: WorkflowIOValueTypeEnum.any, + value: [], + label: '', + description: 'core.module.input.description.Http Request Header', + placeholder: 'core.module.input.description.Http Request Header', + required: false + }, + { + key: NodeInputKeyEnum.httpParams, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.any, + value: [], + label: '', + required: false + }, + { + key: NodeInputKeyEnum.httpJsonBody, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.any, + value: '', + label: '', + required: false + } + ], + outputs: [ + Output_Template_AddOutput, + { + id: NodeOutputKeyEnum.httpRawResponse, + key: NodeOutputKeyEnum.httpRawResponse, + label: '原始响应', + description: 'HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。', + valueType: WorkflowIOValueTypeEnum.any, + type: FlowNodeOutputTypeEnum.static + } + ] +}; diff --git a/packages/global/core/workflow/template/system/ifElse/constant.ts b/packages/global/core/workflow/template/system/ifElse/constant.ts new file mode 100644 index 0000000000..43dedbb593 --- /dev/null +++ b/packages/global/core/workflow/template/system/ifElse/constant.ts @@ -0,0 +1,84 @@ +export enum VariableConditionEnum { + equalTo = 'equalTo', + notEqual = 'notEqual', + isEmpty = 'isEmpty', + isNotEmpty = 'isNotEmpty', + include = 'include', + notInclude = 'notInclude', + startWith = 'startWith', + endWith = 'endWith', + + greaterThan = 'greaterThan', + greaterThanOrEqualTo = 'greaterThanOrEqualTo', + lessThan = 'lessThan', + lessThanOrEqualTo = 'lessThanOrEqualTo', + + lengthEqualTo = 'lengthEqualTo', + lengthNotEqualTo = 'lengthNotEqualTo', + lengthGreaterThan = 'lengthGreaterThan', + lengthGreaterThanOrEqualTo = 'lengthGreaterThanOrEqualTo', + lengthLessThan = 'lengthLessThan', + lengthLessThanOrEqualTo = 'lengthLessThanOrEqualTo' +} + +export const stringConditionList = [ + { label: '为空', value: VariableConditionEnum.isEmpty }, + { label: '不为空', value: VariableConditionEnum.isNotEmpty }, + { label: '等于', value: VariableConditionEnum.equalTo }, + { label: '不等于', value: VariableConditionEnum.notEqual }, + { label: '包含', value: VariableConditionEnum.include }, + { label: '不包含', value: VariableConditionEnum.notInclude }, + { label: '开始为', value: VariableConditionEnum.startWith }, + { label: '结束为', value: VariableConditionEnum.endWith } +]; +export const numberConditionList = [ + { label: '为空', value: VariableConditionEnum.isEmpty }, + { label: '不为空', value: VariableConditionEnum.isNotEmpty }, + { label: '等于', value: VariableConditionEnum.equalTo }, + { label: '不等于', value: VariableConditionEnum.notEqual }, + { label: '大于', value: VariableConditionEnum.greaterThan }, + { label: '大于等于', value: VariableConditionEnum.greaterThanOrEqualTo }, + { label: '小于', value: VariableConditionEnum.lessThan }, + { label: '小于等于', value: VariableConditionEnum.lessThanOrEqualTo } +]; +export const booleanConditionList = [ + { label: '为空', value: VariableConditionEnum.isEmpty }, + { label: '不为空', value: VariableConditionEnum.isNotEmpty }, + { label: '等于', value: VariableConditionEnum.equalTo } +]; +export const arrayConditionList = [ + { label: '为空', value: VariableConditionEnum.isEmpty }, + { label: '不为空', value: VariableConditionEnum.isNotEmpty }, + { label: '包含', value: VariableConditionEnum.include }, + { label: '不包含', value: VariableConditionEnum.notInclude }, + { label: '长度等于', value: VariableConditionEnum.lengthEqualTo }, + { label: '长度不等于', value: VariableConditionEnum.lengthNotEqualTo }, + { label: '长度大于', value: VariableConditionEnum.lengthGreaterThan }, + { label: '长度大于等于', value: VariableConditionEnum.lengthGreaterThanOrEqualTo }, + { label: '长度小于', value: VariableConditionEnum.lengthLessThan }, + { label: '长度小于等于', value: VariableConditionEnum.lengthLessThanOrEqualTo } +]; +export const objectConditionList = [ + { label: '为空', value: VariableConditionEnum.isEmpty }, + { label: '不为空', value: VariableConditionEnum.isNotEmpty } +]; +export const allConditionList = [ + { label: '为空', value: VariableConditionEnum.isEmpty }, + { label: '不为空', value: VariableConditionEnum.isNotEmpty }, + { label: '等于', value: VariableConditionEnum.equalTo }, + { label: '不等于', value: VariableConditionEnum.notEqual }, + { label: '包含', value: VariableConditionEnum.include }, + { label: '不包含', value: VariableConditionEnum.notInclude }, + { label: '开始为', value: VariableConditionEnum.startWith }, + { label: '结束为', value: VariableConditionEnum.endWith }, + { label: '大于', value: VariableConditionEnum.greaterThan }, + { label: '大于等于', value: VariableConditionEnum.greaterThanOrEqualTo }, + { label: '小于', value: VariableConditionEnum.lessThan }, + { label: '小于等于', value: VariableConditionEnum.lessThanOrEqualTo }, + { label: '长度等于', value: VariableConditionEnum.lengthEqualTo }, + { label: '长度不等于', value: VariableConditionEnum.lengthNotEqualTo }, + { label: '长度大于', value: VariableConditionEnum.lengthGreaterThan }, + { label: '长度大于等于', value: VariableConditionEnum.lengthGreaterThanOrEqualTo }, + { label: '长度小于', value: VariableConditionEnum.lengthLessThan }, + { label: '长度小于等于', value: VariableConditionEnum.lengthLessThanOrEqualTo } +]; diff --git a/packages/global/core/workflow/template/system/ifElse/index.ts b/packages/global/core/workflow/template/system/ifElse/index.ts new file mode 100644 index 0000000000..d9a7f0a660 --- /dev/null +++ b/packages/global/core/workflow/template/system/ifElse/index.ts @@ -0,0 +1,64 @@ +import { + FlowNodeTemplateTypeEnum, + NodeInputKeyEnum, + NodeOutputKeyEnum, + WorkflowIOValueTypeEnum +} from '../../../constants'; +import { + FlowNodeInputTypeEnum, + FlowNodeOutputTypeEnum, + FlowNodeTypeEnum +} from '../../../node/constant'; +import { FlowNodeTemplateType } from '../../../type'; +import { getHandleConfig } from '../../utils'; + +export const ifElseNode: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.ifElseNode, + templateType: FlowNodeTemplateTypeEnum.tools, + flowNodeType: FlowNodeTypeEnum.ifElseNode, + sourceHandle: getHandleConfig(false, false, false, false), + targetHandle: getHandleConfig(true, false, true, true), + avatar: '/imgs/workflow/ifElse.svg', + name: '判断器', + intro: '根据一定的条件,执行不同的分支。', + showStatus: true, + inputs: [ + { + key: NodeInputKeyEnum.condition, + valueType: WorkflowIOValueTypeEnum.string, + label: '', + renderTypeList: [FlowNodeInputTypeEnum.hidden], + required: false, + value: 'AND' // AND, OR + }, + { + key: NodeInputKeyEnum.ifElseList, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.any, + label: '', + value: [ + { + variable: undefined, + condition: undefined, + value: undefined + } + ] + } + ], + outputs: [ + { + id: NodeOutputKeyEnum.if, + key: NodeOutputKeyEnum.if, + label: 'IF', + valueType: WorkflowIOValueTypeEnum.any, + type: FlowNodeOutputTypeEnum.source + }, + { + id: NodeOutputKeyEnum.else, + key: NodeOutputKeyEnum.else, + label: 'ELSE', + valueType: WorkflowIOValueTypeEnum.any, + type: FlowNodeOutputTypeEnum.source + } + ] +}; diff --git a/packages/global/core/workflow/template/system/ifElse/type.d.ts b/packages/global/core/workflow/template/system/ifElse/type.d.ts new file mode 100644 index 0000000000..d7997cc7b4 --- /dev/null +++ b/packages/global/core/workflow/template/system/ifElse/type.d.ts @@ -0,0 +1,9 @@ +import { ReferenceValueProps } from 'core/workflow/type/io'; +import { VariableConditionEnum } from './constant'; + +export type IfElseConditionType = 'AND' | 'OR'; +export type IfElseListItemType = { + variable?: ReferenceValueProps; + condition?: VariableConditionEnum; + value?: string; +}; diff --git a/packages/global/core/workflow/template/system/laf.ts b/packages/global/core/workflow/template/system/laf.ts new file mode 100644 index 0000000000..ef2206bc19 --- /dev/null +++ b/packages/global/core/workflow/template/system/laf.ts @@ -0,0 +1,60 @@ +import { + FlowNodeInputTypeEnum, + FlowNodeOutputTypeEnum, + FlowNodeTypeEnum +} from '../../node/constant'; +import { FlowNodeTemplateType } from '../../type/index.d'; +import { + WorkflowIOValueTypeEnum, + NodeInputKeyEnum, + NodeOutputKeyEnum, + FlowNodeTemplateTypeEnum +} from '../../constants'; +import { Input_Template_DynamicInput } from '../input'; +import { Output_Template_AddOutput } from '../output'; +import { getHandleConfig } from '../utils'; + +export const lafModule: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.lafModule, + templateType: FlowNodeTemplateTypeEnum.externalCall, + flowNodeType: FlowNodeTypeEnum.lafModule, + sourceHandle: getHandleConfig(true, true, true, true), + targetHandle: getHandleConfig(true, true, true, true), + avatar: '/imgs/workflow/laf.png', + name: 'Laf 函数调用(测试)', + intro: '可以调用Laf账号下的云函数。', + showStatus: true, + isTool: true, + inputs: [ + { + ...Input_Template_DynamicInput, + description: '接收前方节点的输出值作为变量,这些变量可以被 Laf 请求参数使用。', + editField: { + key: true, + valueType: true + } + }, + { + key: NodeInputKeyEnum.httpReqUrl, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.string, + label: '', + description: 'core.module.input.description.Http Request Url', + placeholder: 'https://api.ai.com/getInventory', + required: false + } + ], + outputs: [ + { + id: NodeOutputKeyEnum.httpRawResponse, + key: NodeOutputKeyEnum.httpRawResponse, + label: '原始响应', + description: 'HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。', + valueType: WorkflowIOValueTypeEnum.any, + type: FlowNodeOutputTypeEnum.static + }, + { + ...Output_Template_AddOutput + } + ] +}; diff --git a/packages/global/core/workflow/template/system/pluginInput.ts b/packages/global/core/workflow/template/system/pluginInput.ts new file mode 100644 index 0000000000..177d86ec5a --- /dev/null +++ b/packages/global/core/workflow/template/system/pluginInput.ts @@ -0,0 +1,20 @@ +import { FlowNodeTemplateTypeEnum } from '../../constants'; +import { FlowNodeTypeEnum } from '../../node/constant'; +import { FlowNodeTemplateType } from '../../type'; +import { getHandleConfig } from '../utils'; + +export const PluginInputModule: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.pluginInput, + templateType: FlowNodeTemplateTypeEnum.systemInput, + flowNodeType: FlowNodeTypeEnum.pluginInput, + sourceHandle: getHandleConfig(false, true, false, false), + targetHandle: getHandleConfig(false, false, false, false), + unique: true, + forbidDelete: true, + avatar: '/imgs/workflow/input.png', + name: '定义插件输入', + intro: '自定义配置外部输入,使用插件时,仅暴露自定义配置的输入', + showStatus: false, + inputs: [], + outputs: [] +}; diff --git a/packages/global/core/module/template/system/pluginOutput.ts b/packages/global/core/workflow/template/system/pluginOutput.ts similarity index 56% rename from packages/global/core/module/template/system/pluginOutput.ts rename to packages/global/core/workflow/template/system/pluginOutput.ts index b2f46e99cd..9ca82c26e8 100644 --- a/packages/global/core/module/template/system/pluginOutput.ts +++ b/packages/global/core/workflow/template/system/pluginOutput.ts @@ -1,12 +1,17 @@ import { FlowNodeTemplateTypeEnum } from '../../constants'; import { FlowNodeTypeEnum } from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; +import { FlowNodeTemplateType } from '../../type'; +import { getHandleConfig } from '../utils'; export const PluginOutputModule: FlowNodeTemplateType = { id: FlowNodeTypeEnum.pluginOutput, templateType: FlowNodeTemplateTypeEnum.systemInput, - flowType: FlowNodeTypeEnum.pluginOutput, - avatar: '/imgs/module/output.png', + flowNodeType: FlowNodeTypeEnum.pluginOutput, + sourceHandle: getHandleConfig(false, false, false, false), + targetHandle: getHandleConfig(false, false, false, true), + unique: true, + forbidDelete: true, + avatar: '/imgs/workflow/output.png', name: '定义插件输出', intro: '自定义配置外部输出,使用插件时,仅暴露自定义配置的输出', showStatus: false, diff --git a/packages/global/core/module/template/system/queryExtension.ts b/packages/global/core/workflow/template/system/queryExtension.ts similarity index 64% rename from packages/global/core/module/template/system/queryExtension.ts rename to packages/global/core/workflow/template/system/queryExtension.ts index c5180b7112..6ee6689da2 100644 --- a/packages/global/core/module/template/system/queryExtension.ts +++ b/packages/global/core/workflow/template/system/queryExtension.ts @@ -3,60 +3,57 @@ import { FlowNodeOutputTypeEnum, FlowNodeTypeEnum } from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type'; +import { FlowNodeTemplateType } from '../../type/index.d'; import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - ModuleOutputKeyEnum, + WorkflowIOValueTypeEnum, + NodeInputKeyEnum, + NodeOutputKeyEnum, FlowNodeTemplateTypeEnum } from '../../constants'; import { Input_Template_History, - Input_Template_Switch, Input_Template_UserChatInput, Input_Template_SelectAIModel } from '../input'; -import { Output_Template_UserChatInput } from '../output'; import { LLMModelTypeEnum } from '../../../ai/constants'; +import { getHandleConfig } from '../utils'; export const AiQueryExtension: FlowNodeTemplateType = { id: FlowNodeTypeEnum.chatNode, templateType: FlowNodeTemplateTypeEnum.other, - flowType: FlowNodeTypeEnum.queryExtension, - avatar: '/imgs/module/cfr.svg', + flowNodeType: FlowNodeTypeEnum.queryExtension, + sourceHandle: getHandleConfig(true, true, true, true), + targetHandle: getHandleConfig(true, true, true, true), + avatar: '/imgs/workflow/cfr.svg', name: '问题优化', intro: '使用问题优化功能,可以提高知识库连续对话时搜索的精度。使用该功能后,会先利用 AI 根据上下文构建一个或多个新的检索词,这些检索词更利于进行知识库搜索。该模块已内置在知识库搜索模块中,如果您仅进行一次知识库搜索,可直接使用知识库内置的补全功能。', showStatus: true, inputs: [ - Input_Template_Switch, { ...Input_Template_SelectAIModel, llmModelType: LLMModelTypeEnum.queryExtension }, { - key: ModuleInputKeyEnum.aiSystemPrompt, - type: FlowNodeInputTypeEnum.textarea, + key: NodeInputKeyEnum.aiSystemPrompt, + renderTypeList: [FlowNodeInputTypeEnum.textarea, FlowNodeInputTypeEnum.reference], label: 'core.app.edit.Query extension background prompt', max: 300, - valueType: ModuleIOValueTypeEnum.string, + valueType: WorkflowIOValueTypeEnum.string, description: 'core.app.edit.Query extension background tip', - placeholder: 'core.module.QueryExtension.placeholder', - showTargetInApp: true, - showTargetInPlugin: true + placeholder: 'core.module.QueryExtension.placeholder' }, Input_Template_History, Input_Template_UserChatInput ], outputs: [ - Output_Template_UserChatInput, { - key: ModuleOutputKeyEnum.text, + id: NodeOutputKeyEnum.text, + key: NodeOutputKeyEnum.text, label: 'core.module.output.label.query extension result', description: 'core.module.output.description.query extension result', - valueType: ModuleIOValueTypeEnum.string, - type: FlowNodeOutputTypeEnum.source, - targets: [] + valueType: WorkflowIOValueTypeEnum.string, + type: FlowNodeOutputTypeEnum.static } ] }; diff --git a/packages/global/core/workflow/template/system/runApp.ts b/packages/global/core/workflow/template/system/runApp.ts new file mode 100644 index 0000000000..504ca3f0e2 --- /dev/null +++ b/packages/global/core/workflow/template/system/runApp.ts @@ -0,0 +1,56 @@ +import { + FlowNodeInputTypeEnum, + FlowNodeOutputTypeEnum, + FlowNodeTypeEnum +} from '../../node/constant'; +import { FlowNodeTemplateType } from '../../type/index.d'; +import { + WorkflowIOValueTypeEnum, + NodeInputKeyEnum, + NodeOutputKeyEnum, + FlowNodeTemplateTypeEnum +} from '../../constants'; +import { Input_Template_History, Input_Template_UserChatInput } from '../input'; +import { getHandleConfig } from '../utils'; + +export const RunAppModule: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.runApp, + templateType: FlowNodeTemplateTypeEnum.externalCall, + flowNodeType: FlowNodeTypeEnum.runApp, + sourceHandle: getHandleConfig(true, true, true, true), + targetHandle: getHandleConfig(true, true, true, true), + avatar: '/imgs/workflow/app.png', + name: '应用调用', + intro: '可以选择一个其他应用进行调用', + showStatus: true, + inputs: [ + { + key: NodeInputKeyEnum.runAppSelectApp, + renderTypeList: [FlowNodeInputTypeEnum.selectApp, FlowNodeInputTypeEnum.reference], + valueType: WorkflowIOValueTypeEnum.selectApp, + label: '选择一个应用', + description: '选择一个其他应用进行调用', + required: true + }, + Input_Template_History, + Input_Template_UserChatInput + ], + outputs: [ + { + id: NodeOutputKeyEnum.history, + key: NodeOutputKeyEnum.history, + label: '新的上下文', + description: '将该应用回复内容拼接到历史记录中,作为新的上下文返回', + valueType: WorkflowIOValueTypeEnum.chatHistory, + type: FlowNodeOutputTypeEnum.static + }, + { + id: NodeOutputKeyEnum.answerText, + key: NodeOutputKeyEnum.answerText, + label: '回复的文本', + description: '将在应用完全结束后触发', + valueType: WorkflowIOValueTypeEnum.string, + type: FlowNodeOutputTypeEnum.static + } + ] +}; diff --git a/packages/global/core/module/template/system/runPlugin.ts b/packages/global/core/workflow/template/system/runPlugin.ts similarity index 59% rename from packages/global/core/module/template/system/runPlugin.ts rename to packages/global/core/workflow/template/system/runPlugin.ts index 77a9802dce..419d6e0616 100644 --- a/packages/global/core/module/template/system/runPlugin.ts +++ b/packages/global/core/workflow/template/system/runPlugin.ts @@ -1,11 +1,14 @@ import { FlowNodeTemplateTypeEnum } from '../../constants'; import { FlowNodeTypeEnum } from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; +import { FlowNodeTemplateType } from '../../type'; +import { getHandleConfig } from '../utils'; export const RunPluginModule: FlowNodeTemplateType = { id: FlowNodeTypeEnum.pluginModule, templateType: FlowNodeTemplateTypeEnum.externalCall, - flowType: FlowNodeTypeEnum.pluginModule, + flowNodeType: FlowNodeTypeEnum.pluginModule, + sourceHandle: getHandleConfig(true, true, true, true), + targetHandle: getHandleConfig(true, true, true, true), intro: '', name: '', showStatus: false, diff --git a/packages/global/core/module/template/system/stopTool.ts b/packages/global/core/workflow/template/system/stopTool.ts similarity index 60% rename from packages/global/core/module/template/system/stopTool.ts rename to packages/global/core/workflow/template/system/stopTool.ts index c14f610dff..713c653fc4 100644 --- a/packages/global/core/module/template/system/stopTool.ts +++ b/packages/global/core/workflow/template/system/stopTool.ts @@ -1,16 +1,18 @@ import { FlowNodeTypeEnum } from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; +import { FlowNodeTemplateType } from '../../type'; import { FlowNodeTemplateTypeEnum } from '../../constants'; -import { Input_Template_Switch } from '../input'; +import { getHandleConfig } from '../utils'; export const StopToolNode: FlowNodeTemplateType = { id: FlowNodeTypeEnum.stopTool, templateType: FlowNodeTemplateTypeEnum.functionCall, - flowType: FlowNodeTypeEnum.stopTool, - avatar: '/imgs/module/toolStop.svg', + flowNodeType: FlowNodeTypeEnum.stopTool, + sourceHandle: getHandleConfig(false, false, false, false), + targetHandle: getHandleConfig(true, true, true, true), + avatar: '/imgs/workflow/toolStop.svg', name: '工具调用终止', intro: '该模块需配置工具调用使用。当该模块被执行时,本次工具调用将会强制结束,并且不再调用AI针对工具调用结果回答问题。', - inputs: [Input_Template_Switch], + inputs: [], outputs: [] }; diff --git a/packages/global/core/workflow/template/system/systemConfig.ts b/packages/global/core/workflow/template/system/systemConfig.ts new file mode 100644 index 0000000000..69a8044bfe --- /dev/null +++ b/packages/global/core/workflow/template/system/systemConfig.ts @@ -0,0 +1,61 @@ +import { FlowNodeInputTypeEnum, FlowNodeTypeEnum } from '../../node/constant'; +import { FlowNodeTemplateType } from '../../type/index.d'; +import { + WorkflowIOValueTypeEnum, + NodeInputKeyEnum, + FlowNodeTemplateTypeEnum +} from '../../constants'; +import { getHandleConfig } from '../utils'; + +export const SystemConfigNode: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.systemConfig, + templateType: FlowNodeTemplateTypeEnum.systemInput, + flowNodeType: FlowNodeTypeEnum.systemConfig, + sourceHandle: getHandleConfig(false, false, false, false), + targetHandle: getHandleConfig(false, false, false, false), + avatar: '/imgs/workflow/userGuide.png', + name: '系统配置', + intro: '可以配置应用的系统参数。', + unique: true, + forbidDelete: true, + inputs: [ + { + key: NodeInputKeyEnum.welcomeText, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.string, + label: 'core.app.Welcome Text' + }, + { + key: NodeInputKeyEnum.variables, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.any, + label: 'core.module.Variable', + value: [] + }, + { + key: NodeInputKeyEnum.questionGuide, + valueType: WorkflowIOValueTypeEnum.boolean, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + label: '' + }, + { + key: NodeInputKeyEnum.tts, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.any, + label: '' + }, + { + key: NodeInputKeyEnum.whisper, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.any, + label: '' + }, + { + key: NodeInputKeyEnum.scheduleTrigger, + renderTypeList: [FlowNodeInputTypeEnum.hidden], + valueType: WorkflowIOValueTypeEnum.any, + label: '' + } + ], + outputs: [] +}; diff --git a/packages/global/core/module/template/system/tools.ts b/packages/global/core/workflow/template/system/tools.ts similarity index 53% rename from packages/global/core/module/template/system/tools.ts rename to packages/global/core/workflow/template/system/tools.ts index fc1bc3ca32..bb649e4c85 100644 --- a/packages/global/core/module/template/system/tools.ts +++ b/packages/global/core/workflow/template/system/tools.ts @@ -3,61 +3,57 @@ import { FlowNodeOutputTypeEnum, FlowNodeTypeEnum } from '../../node/constant'; -import { FlowNodeTemplateType } from '../../type.d'; +import { FlowNodeTemplateType } from '../../type/index.d'; import { - ModuleIOValueTypeEnum, - ModuleOutputKeyEnum, + WorkflowIOValueTypeEnum, + NodeOutputKeyEnum, FlowNodeTemplateTypeEnum, - ModuleInputKeyEnum + NodeInputKeyEnum } from '../../constants'; import { Input_Template_SettingAiModel, Input_Template_History, - Input_Template_Switch, Input_Template_System_Prompt, Input_Template_UserChatInput } from '../input'; import { chatNodeSystemPromptTip } from '../tip'; -import { Output_Template_Finish, Output_Template_UserChatInput } from '../output'; import { LLMModelTypeEnum } from '../../../ai/constants'; +import { getHandleConfig } from '../utils'; export const ToolModule: FlowNodeTemplateType = { id: FlowNodeTypeEnum.tools, - flowType: FlowNodeTypeEnum.tools, + flowNodeType: FlowNodeTypeEnum.tools, templateType: FlowNodeTemplateTypeEnum.functionCall, - avatar: '/imgs/module/tool.svg', + sourceHandle: getHandleConfig(true, true, false, true), + targetHandle: getHandleConfig(true, true, false, true), + avatar: '/imgs/workflow/tool.svg', name: '工具调用(实验)', intro: '通过AI模型自动选择一个或多个功能块进行调用,也可以对插件进行调用。', showStatus: true, inputs: [ - Input_Template_Switch, { ...Input_Template_SettingAiModel, llmModelType: LLMModelTypeEnum.all }, { - key: ModuleInputKeyEnum.aiChatTemperature, - type: FlowNodeInputTypeEnum.hidden, // Set in the pop-up window + key: NodeInputKeyEnum.aiChatTemperature, + renderTypeList: [FlowNodeInputTypeEnum.hidden], // Set in the pop-up window label: '', value: 0, - valueType: ModuleIOValueTypeEnum.number, + valueType: WorkflowIOValueTypeEnum.number, min: 0, max: 10, - step: 1, - showTargetInApp: false, - showTargetInPlugin: false + step: 1 }, { - key: ModuleInputKeyEnum.aiChatMaxToken, - type: FlowNodeInputTypeEnum.hidden, // Set in the pop-up window + key: NodeInputKeyEnum.aiChatMaxToken, + renderTypeList: [FlowNodeInputTypeEnum.hidden], // Set in the pop-up window label: '', value: 2000, - valueType: ModuleIOValueTypeEnum.number, + valueType: WorkflowIOValueTypeEnum.number, min: 100, max: 4000, - step: 50, - showTargetInApp: false, - showTargetInPlugin: false + step: 50 }, { ...Input_Template_System_Prompt, @@ -68,14 +64,5 @@ export const ToolModule: FlowNodeTemplateType = { Input_Template_History, Input_Template_UserChatInput ], - outputs: [ - Output_Template_UserChatInput, - { - key: ModuleOutputKeyEnum.selectedTools, - valueType: ModuleIOValueTypeEnum.tools, - type: FlowNodeOutputTypeEnum.hidden, - targets: [] - }, - Output_Template_Finish - ] + outputs: [] }; diff --git a/packages/global/core/workflow/template/system/workflowStart.ts b/packages/global/core/workflow/template/system/workflowStart.ts new file mode 100644 index 0000000000..f43b7839c4 --- /dev/null +++ b/packages/global/core/workflow/template/system/workflowStart.ts @@ -0,0 +1,32 @@ +import { FlowNodeOutputTypeEnum, FlowNodeTypeEnum } from '../../node/constant'; +import { FlowNodeTemplateType } from '../../type/index.d'; +import { + WorkflowIOValueTypeEnum, + NodeOutputKeyEnum, + FlowNodeTemplateTypeEnum +} from '../../constants'; +import { getHandleConfig } from '../utils'; +import { Input_Template_UserChatInput } from '../input'; + +export const WorkflowStart: FlowNodeTemplateType = { + id: FlowNodeTypeEnum.workflowStart, + templateType: FlowNodeTemplateTypeEnum.systemInput, + flowNodeType: FlowNodeTypeEnum.workflowStart, + sourceHandle: getHandleConfig(false, true, false, false), + targetHandle: getHandleConfig(false, false, false, false), + avatar: '/imgs/workflow/userChatInput.svg', + name: '流程开始', + intro: '', + forbidDelete: true, + unique: true, + inputs: [{ ...Input_Template_UserChatInput, toolDescription: '用户问题' }], + outputs: [ + { + id: NodeOutputKeyEnum.userChatInput, + key: NodeOutputKeyEnum.userChatInput, + label: 'core.module.input.label.user question', + type: FlowNodeOutputTypeEnum.static, + valueType: WorkflowIOValueTypeEnum.string + } + ] +}; diff --git a/packages/global/core/module/template/tip.ts b/packages/global/core/workflow/template/tip.ts similarity index 100% rename from packages/global/core/module/template/tip.ts rename to packages/global/core/workflow/template/tip.ts diff --git a/packages/global/core/workflow/template/utils.ts b/packages/global/core/workflow/template/utils.ts new file mode 100644 index 0000000000..f66b9d4361 --- /dev/null +++ b/packages/global/core/workflow/template/utils.ts @@ -0,0 +1,6 @@ +export const getHandleConfig = (top: boolean, right: boolean, bottom: boolean, left: boolean) => ({ + top, + right, + bottom, + left +}); diff --git a/packages/global/core/workflow/type/edge.d.ts b/packages/global/core/workflow/type/edge.d.ts new file mode 100644 index 0000000000..12bda114be --- /dev/null +++ b/packages/global/core/workflow/type/edge.d.ts @@ -0,0 +1,12 @@ +import { RuntimeEdgeStatusEnum } from '../constants'; + +export type StoreEdgeItemType = { + source: string; + sourceHandle: string; + target: string; + targetHandle: string; +}; + +export type RuntimeEdgeItemType = StoreEdgeItemType & { + status: `${RuntimeEdgeStatusEnum}`; +}; diff --git a/packages/global/core/workflow/type/fe.d.ts b/packages/global/core/workflow/type/fe.d.ts new file mode 100644 index 0000000000..dd26e13ba7 --- /dev/null +++ b/packages/global/core/workflow/type/fe.d.ts @@ -0,0 +1,45 @@ +export type FlowNodeChangeProps = { nodeId: string } & ( + | { + type: 'attr'; // key: attr, value: new value + key: string; + value: any; + } + | { + type: 'updateInput'; // key: update input key, value: new input value + key: string; + value: any; + } + | { + type: 'replaceInput'; // key: old input key, value: new input value + key: string; + value: any; + } + | { + type: 'addInput'; // key: null, value: new input value + value: any; + index?: number; + } + | { + type: 'delInput'; // key: delete input key, value: null + key: string; + } + | { + type: 'updateOutput'; // key: update output key, value: new output value + key: string; + value: any; + } + | { + type: 'replaceOutput'; // key: old output key, value: new output value + key: string; + value: any; + } + | { + type: 'addOutput'; // key: null, value: new output value + value: any; + index?: number; + } + | { + type: 'delOutput'; // key: delete output key, value: null + key: string; + } +); diff --git a/packages/global/core/workflow/type/index.d.ts b/packages/global/core/workflow/type/index.d.ts new file mode 100644 index 0000000000..25b9bc876c --- /dev/null +++ b/packages/global/core/workflow/type/index.d.ts @@ -0,0 +1,147 @@ +import { FlowNodeTypeEnum } from '../node/constant'; +import { + WorkflowIOValueTypeEnum, + NodeOutputKeyEnum, + FlowNodeTemplateTypeEnum, + VariableInputEnum +} from '../constants'; +import { DispatchNodeResponseKeyEnum } from '../runtime/constants'; +import { FlowNodeInputItemType, FlowNodeOutputItemType } from './io.d'; +import { UserModelSchema } from '../../../support/user/type'; +import { + ChatHistoryItemResType, + ChatItemType, + ChatItemValueItemType, + ToolRunResponseItemType, + UserChatItemValueItemType +} from '../../chat/type'; +import { ChatNodeUsageType } from '../../../support/wallet/bill/type'; +import { RuntimeNodeItemType } from '../runtime/type'; +import { PluginTypeEnum } from '../../plugin/constants'; +import { RuntimeEdgeItemType, StoreEdgeItemType } from './edge'; +import { NextApiResponse } from 'next'; + +export type FlowNodeCommonType = { + flowNodeType: `${FlowNodeTypeEnum}`; // render node card + + avatar?: string; + name: string; + intro?: string; // template list intro + showStatus?: boolean; // chatting response step status + + // data + inputs: FlowNodeInputItemType[]; + outputs: FlowNodeOutputItemType[]; + + // plugin data + pluginId?: string; + pluginType?: `${PluginTypeEnum}`; + parentId?: string; +}; + +export type FlowNodeTemplateType = FlowNodeCommonType & { + id: string; // module id, unique + templateType: `${FlowNodeTemplateTypeEnum}`; + + // show handle + sourceHandle?: { + left: boolean; + right: boolean; + top: boolean; + bottom: boolean; + }; + targetHandle?: { + left: boolean; + right: boolean; + top: boolean; + bottom: boolean; + }; + + // info + isTool?: boolean; // can be connected by tool + + // action + forbidDelete?: boolean; // forbid delete + unique?: boolean; +}; +export type FlowNodeItemType = FlowNodeTemplateType & { + nodeId: string; + isError?: boolean; + debugResult?: { + status: 'running' | 'success' | 'skipped' | 'failed'; + message?: string; + showResult?: boolean; // show and hide result modal + response?: ChatHistoryItemResType; + isExpired?: boolean; + }; +}; +export type nodeTemplateListType = { + type: `${FlowNodeTemplateTypeEnum}`; + label: string; + list: FlowNodeTemplateType[]; +}[]; + +// store node type +export type StoreNodeItemType = FlowNodeCommonType & { + nodeId: string; + position?: { + x: number; + y: number; + }; +}; + +/* connection type */ +export type NodeTargetNodeItemType = { + nodeId: string; + sourceHandle: string; + targetHandle: string; +}; +export type NodeSourceNodeItemType = { + nodeId: string; +}; + +/* --------------- function type -------------------- */ +export type SelectAppItemType = { + id: string; + name: string; + logo: string; +}; + +/* agent */ +export type ClassifyQuestionAgentItemType = { + value: string; + key: string; +}; +export type ContextExtractAgentItemType = { + desc: string; + key: string; + required: boolean; + defaultValue?: string; + enum?: string; +}; + +/* -------------- running module -------------- */ + +export type ChatDispatchProps = { + res?: NextApiResponse; + mode: 'test' | 'chat' | 'debug'; + teamId: string; + tmbId: string; + user: UserModelSchema; + appId?: string; + chatId?: string; + responseChatItemId?: string; + histories: ChatItemType[]; + variables: Record; + inputFiles?: UserChatItemValueItemType['file'][]; + stream: boolean; + detail: boolean; // response detail + maxRunTimes: number; +}; + +export type ModuleDispatchProps = ChatDispatchProps & { + node: RuntimeNodeItemType; + runtimeNodes: RuntimeNodeItemType[]; + runtimeEdges: RuntimeEdgeItemType[]; + params: T; +}; diff --git a/packages/global/core/workflow/type/io.d.ts b/packages/global/core/workflow/type/io.d.ts new file mode 100644 index 0000000000..2c1023d122 --- /dev/null +++ b/packages/global/core/workflow/type/io.d.ts @@ -0,0 +1,61 @@ +import { LLMModelTypeEnum } from '../../ai/constants'; +import { WorkflowIOValueTypeEnum, NodeInputKeyEnum, NodeOutputKeyEnum } from '../constants'; +import { FlowNodeInputTypeEnum, FlowNodeOutputTypeEnum } from '../node/constant'; +import { EditInputFieldMapType, EditNodeFieldType, EditOutputFieldMapType } from '../node/type'; + +export type FlowNodeInputItemType = { + selectedTypeIndex?: number; + renderTypeList: FlowNodeInputTypeEnum[]; // Node Type. Decide on a render style + + key: `${NodeInputKeyEnum}` | string; + valueType?: WorkflowIOValueTypeEnum; // data type + value?: any; + label: string; + debugLabel?: string; + description?: string; // field desc + required?: boolean; + toolDescription?: string; // If this field is not empty, it is entered as a tool + + maxLength?: number; // input,textarea + + // edit + canEdit?: boolean; + + // render components params + referencePlaceholder?: string; + placeholder?: string; // input,textarea + + list?: { label: string; value: any }[]; // select + + markList?: { label: string; value: any }[]; // slider + step?: number; // slider + max?: number; // slider, number input + min?: number; // slider, number input + + defaultValue?: string; + + // dynamic input + editField?: EditNodeFieldType['editField']; + dynamicParamDefaultValue?: EditNodeFieldType['dynamicParamDefaultValue']; + + llmModelType?: `${LLMModelTypeEnum}`; +}; + +export type FlowNodeOutputItemType = { + id: string; // output unique id(Does not follow the key change) + type: `${FlowNodeOutputTypeEnum}`; + key: `${NodeOutputKeyEnum}` | string; + valueType?: WorkflowIOValueTypeEnum; + value?: any; + + label?: string; + description?: string; + defaultValue?: any; + required?: boolean; + + // component params + canEdit?: boolean; + editField?: EditOutputFieldMapType; // 添加 +}; + +export type ReferenceValueProps = [string, string | undefined]; diff --git a/packages/global/core/workflow/utils.ts b/packages/global/core/workflow/utils.ts new file mode 100644 index 0000000000..bd48a7ad9f --- /dev/null +++ b/packages/global/core/workflow/utils.ts @@ -0,0 +1,134 @@ +import { FlowNodeOutputTypeEnum, FlowNodeTypeEnum } from './node/constant'; +import { + WorkflowIOValueTypeEnum, + NodeInputKeyEnum, + VariableInputEnum, + variableMap +} from './constants'; +import { FlowNodeInputItemType, FlowNodeOutputItemType } from './type/io.d'; +import { StoreNodeItemType } from './type'; +import type { + VariableItemType, + AppTTSConfigType, + AppWhisperConfigType, + AppScheduledTriggerConfigType +} from '../app/type'; +import { EditorVariablePickerType } from '../../../web/components/common/Textarea/PromptEditor/type'; +import { defaultWhisperConfig } from '../app/constants'; + +export const getHandleId = (nodeId: string, type: 'source' | 'target', key: string) => { + return `${nodeId}-${type}-${key}`; +}; + +export const checkInputIsReference = (input: FlowNodeInputItemType) => { + const value = input.value; + if ( + Array.isArray(value) && + value.length === 2 && + typeof value[0] === 'string' && + typeof value[1] === 'string' + ) { + return true; + } + return false; +}; + +/* node */ +export const getGuideModule = (modules: StoreNodeItemType[]) => + modules.find((item) => item.flowNodeType === FlowNodeTypeEnum.systemConfig); + +export const splitGuideModule = (guideModules?: StoreNodeItemType) => { + const welcomeText: string = + guideModules?.inputs?.find((item) => item.key === NodeInputKeyEnum.welcomeText)?.value || ''; + + const variableModules: VariableItemType[] = + guideModules?.inputs.find((item) => item.key === NodeInputKeyEnum.variables)?.value || []; + + const questionGuide: boolean = + !!guideModules?.inputs?.find((item) => item.key === NodeInputKeyEnum.questionGuide)?.value || + false; + + const ttsConfig: AppTTSConfigType = guideModules?.inputs?.find( + (item) => item.key === NodeInputKeyEnum.tts + )?.value || { type: 'web' }; + + const whisperConfig: AppWhisperConfigType = + guideModules?.inputs?.find((item) => item.key === NodeInputKeyEnum.whisper)?.value || + defaultWhisperConfig; + + const scheduledTriggerConfig: AppScheduledTriggerConfigType | null = + guideModules?.inputs?.find((item) => item.key === NodeInputKeyEnum.scheduleTrigger)?.value ?? + null; + + return { + welcomeText, + variableModules, + questionGuide, + ttsConfig, + whisperConfig, + scheduledTriggerConfig + }; +}; + +export const getOrInitModuleInputValue = (input: FlowNodeInputItemType) => { + if (input.value !== undefined || !input.valueType) return input.value; + + const map: Record = { + [WorkflowIOValueTypeEnum.boolean]: false, + [WorkflowIOValueTypeEnum.number]: 0, + [WorkflowIOValueTypeEnum.string]: '' + }; + + return map[input.valueType]; +}; + +export const getModuleInputUiField = (input: FlowNodeInputItemType) => { + // if (input.renderTypeList === FlowNodeInputTypeEnum.input || input.type === FlowNodeInputTypeEnum.textarea) { + // return { + // placeholder: input.placeholder || input.description + // }; + // } + return {}; +}; + +export const pluginData2FlowNodeIO = ( + nodes: StoreNodeItemType[] +): { + inputs: FlowNodeInputItemType[]; + outputs: FlowNodeOutputItemType[]; +} => { + const pluginInput = nodes.find((node) => node.flowNodeType === FlowNodeTypeEnum.pluginInput); + const pluginOutput = nodes.find((node) => node.flowNodeType === FlowNodeTypeEnum.pluginOutput); + + return { + inputs: pluginInput + ? pluginInput.inputs.map((item) => ({ + ...item, + ...getModuleInputUiField(item), + value: getOrInitModuleInputValue(item), + canEdit: false + })) + : [], + outputs: pluginOutput + ? [ + ...pluginOutput.inputs.map((item) => ({ + id: item.key, + type: FlowNodeOutputTypeEnum.static, + key: item.key, + valueType: item.valueType, + label: item.label || item.key, + description: item.description + })) + ] + : [] + }; +}; + +export const formatEditorVariablePickerIcon = ( + variables: { key: string; label: string; type?: `${VariableInputEnum}` }[] +): EditorVariablePickerType[] => { + return variables.map((item) => ({ + ...item, + icon: item.type ? variableMap[item.type]?.icon : variableMap['input'].icon + })); +}; diff --git a/packages/global/package.json b/packages/global/package.json index 5354d772c8..a21cc6eaae 100644 --- a/packages/global/package.json +++ b/packages/global/package.json @@ -4,9 +4,9 @@ "dependencies": { "@apidevtools/swagger-parser": "^10.1.0", "axios": "^1.5.1", + "cron-parser": "^4.9.0", "dayjs": "^1.11.7", "encoding": "^0.1.13", - "js-tiktoken": "^1.0.7", "js-yaml": "^4.1.0", "jschardet": "3.1.1", "nanoid": "^4.0.1", diff --git a/packages/global/support/wallet/usage/api.d.ts b/packages/global/support/wallet/usage/api.d.ts index 88d1f9ea6c..9c6825b22a 100644 --- a/packages/global/support/wallet/usage/api.d.ts +++ b/packages/global/support/wallet/usage/api.d.ts @@ -19,6 +19,7 @@ export type CreateUsageProps = { tmbId: string; appName: string; appId?: string; + pluginId?: string; totalPoints: number; source: `${UsageSourceEnum}`; list: UsageListItemType[]; diff --git a/packages/service/common/response/index.ts b/packages/service/common/response/index.ts index 53aa65d825..6ff806decb 100644 --- a/packages/service/common/response/index.ts +++ b/packages/service/common/response/index.ts @@ -1,5 +1,5 @@ import type { NextApiResponse } from 'next'; -import { SseResponseEventEnum } from '@fastgpt/global/core/module/runtime/constants'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; import { proxyError, ERROR_RESPONSE, ERROR_ENUM } from '@fastgpt/global/common/error/errorCode'; import { addLog } from '../system/log'; import { clearCookie } from '../../support/permission/controller'; diff --git a/packages/service/common/string/markdown.ts b/packages/service/common/string/markdown.ts index 21c0987cda..158b95d85c 100644 --- a/packages/service/common/string/markdown.ts +++ b/packages/service/common/string/markdown.ts @@ -1,28 +1,9 @@ import { simpleMarkdownText } from '@fastgpt/global/common/string/markdown'; -import { Worker } from 'worker_threads'; -import { getWorkerPath } from './utils'; +import { WorkerNameEnum, runWorker } from '../../worker/utils'; /* html string to markdown */ -export const htmlToMarkdown = (html?: string | null) => - new Promise((resolve, reject) => { - if (!html) return resolve(''); +export const htmlToMarkdown = async (html?: string | null) => { + const md = await runWorker(WorkerNameEnum.htmlStr2Md, { html: html || '' }); - const start = Date.now(); - - // worker - const worker = new Worker(getWorkerPath('html2md')); - - worker.on('message', (md: string) => { - worker.terminate(); - - let rawText = simpleMarkdownText(md); - - resolve(rawText); - }); - worker.on('error', (err) => { - worker.terminate(); - reject(err); - }); - - worker.postMessage(html); - }); + return simpleMarkdownText(md); +}; diff --git a/packages/service/common/string/tiktoken/index.ts b/packages/service/common/string/tiktoken/index.ts new file mode 100644 index 0000000000..686a380c92 --- /dev/null +++ b/packages/service/common/string/tiktoken/index.ts @@ -0,0 +1,92 @@ +import { + ChatCompletionContentPart, + ChatCompletionCreateParams, + ChatCompletionMessageParam, + ChatCompletionTool +} from '@fastgpt/global/core/ai/type'; +import { chats2GPTMessages } from '@fastgpt/global/core/chat/adapt'; +import { ChatItemType } from '@fastgpt/global/core/chat/type'; +import { WorkerNameEnum, getWorker } from '../../../worker/utils'; +import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; +import { getNanoid } from '@fastgpt/global/common/string/tools'; +import { addLog } from '../../system/log'; + +export const getTiktokenWorker = () => { + if (global.tiktokenWorker) { + return global.tiktokenWorker; + } + + const worker = getWorker(WorkerNameEnum.countGptMessagesTokens); + + worker.on('message', ({ id, data }: { id: string; data: number }) => { + const callback = global.tiktokenWorker?.callbackMap?.[id]; + + if (callback) { + callback?.(data); + delete global.tiktokenWorker.callbackMap[id]; + } + }); + + global.tiktokenWorker = { + worker, + callbackMap: {} + }; + + return global.tiktokenWorker; +}; + +export const countGptMessagesTokens = ( + messages: ChatCompletionMessageParam[], + tools?: ChatCompletionTool[], + functionCall?: ChatCompletionCreateParams.Function[] +) => { + return new Promise((resolve) => { + const start = Date.now(); + + const { worker, callbackMap } = getTiktokenWorker(); + const id = getNanoid(); + + const timer = setTimeout(() => { + resolve(0); + delete callbackMap[id]; + }, 300); + + callbackMap[id] = (data) => { + resolve(data); + clearTimeout(timer); + + // 检测是否有内存泄漏 + addLog.info(`Count token time: ${Date.now() - start}, token: ${data}`); + console.log(Object.keys(global.tiktokenWorker.callbackMap)); + }; + + worker.postMessage({ + id, + messages, + tools, + functionCall + }); + }); +}; + +export const countMessagesTokens = (messages: ChatItemType[]) => { + const adaptMessages = chats2GPTMessages({ messages, reserveId: true }); + + return countGptMessagesTokens(adaptMessages); +}; + +/* count one prompt tokens */ +export const countPromptTokens = async ( + prompt: string | ChatCompletionContentPart[] | null | undefined = '', + role: '' | `${ChatCompletionRequestMessageRoleEnum}` = '' +) => { + const total = await countGptMessagesTokens([ + { + //@ts-ignore + role, + content: prompt + } + ]); + + return total; +}; diff --git a/packages/service/common/string/utils.ts b/packages/service/common/string/utils.ts deleted file mode 100644 index eefd36516e..0000000000 --- a/packages/service/common/string/utils.ts +++ /dev/null @@ -1,9 +0,0 @@ -export const getWorkerPath = (name: string) => { - // @ts-ignore - const isSubModule = !!global?.systemConfig; - - const isProd = process.env.NODE_ENV === 'production'; - return isProd - ? `/app/worker/${name}.js` - : `../../${isSubModule ? 'FastGPT/' : ''}/worker/${name}.js`; -}; diff --git a/packages/service/common/system/timerLock/constants.ts b/packages/service/common/system/timerLock/constants.ts index 2588c3359b..0f382c6afb 100644 --- a/packages/service/common/system/timerLock/constants.ts +++ b/packages/service/common/system/timerLock/constants.ts @@ -3,7 +3,8 @@ export enum TimerIdEnum { checkInvalidDatasetData = 'checkInvalidDatasetData', checkInvalidVector = 'checkInvalidVector', clearExpiredSubPlan = 'clearExpiredSubPlan', - updateStandardPlan = 'updateStandardPlan' + updateStandardPlan = 'updateStandardPlan', + scheduleTriggerApp = 'scheduleTriggerApp' } export const timerIdMap = { @@ -11,5 +12,6 @@ export const timerIdMap = { [TimerIdEnum.checkInvalidDatasetData]: 'checkInvalidDatasetData', [TimerIdEnum.checkInvalidVector]: 'checkInvalidVector', [TimerIdEnum.clearExpiredSubPlan]: 'clearExpiredSubPlan', - [TimerIdEnum.updateStandardPlan]: 'updateStandardPlan' + [TimerIdEnum.updateStandardPlan]: 'updateStandardPlan', + [TimerIdEnum.scheduleTriggerApp]: 'scheduleTriggerApp' }; diff --git a/packages/service/core/ai/embedding/index.ts b/packages/service/core/ai/embedding/index.ts index 40171873ec..a614bf611f 100644 --- a/packages/service/core/ai/embedding/index.ts +++ b/packages/service/core/ai/embedding/index.ts @@ -1,6 +1,6 @@ import { VectorModelItemType } from '@fastgpt/global/core/ai/model.d'; import { getAIApi } from '../config'; -import { countPromptTokens } from '@fastgpt/global/common/string/tiktoken'; +import { countPromptTokens } from '../../../common/string/tiktoken/index'; import { EmbeddingTypeEnm } from '@fastgpt/global/core/ai/constants'; type GetVectorProps = { @@ -40,9 +40,14 @@ export async function getVectorsByText({ model, input, type }: GetVectorProps) { return Promise.reject(res.data?.err?.message || 'Embedding API Error'); } + const [tokens, vectors] = await Promise.all([ + countPromptTokens(input), + Promise.all(res.data.map((item) => unityDimensional(item.embedding))) + ]); + return { - tokens: countPromptTokens(input), - vectors: await Promise.all(res.data.map((item) => unityDimensional(item.embedding))) + tokens, + vectors }; }); diff --git a/packages/service/core/ai/functions/createQuestionGuide.ts b/packages/service/core/ai/functions/createQuestionGuide.ts index 5564b7c049..e1ccd34428 100644 --- a/packages/service/core/ai/functions/createQuestionGuide.ts +++ b/packages/service/core/ai/functions/createQuestionGuide.ts @@ -1,6 +1,6 @@ import type { ChatCompletionMessageParam } from '@fastgpt/global/core/ai/type.d'; import { getAIApi } from '../config'; -import { countGptMessagesTokens } from '@fastgpt/global/common/string/tiktoken'; +import { countGptMessagesTokens } from '../../../common/string/tiktoken/index'; export const Prompt_QuestionGuide = `你是一个AI智能助手,可以回答和解决我的问题。请结合前面的对话记录,帮我生成 3 个问题,引导我继续提问。问题的长度应小于20个字符,按 JSON 格式返回: ["问题1", "问题2", "问题3"]`; @@ -34,7 +34,7 @@ export async function createQuestionGuide({ const start = answer.indexOf('['); const end = answer.lastIndexOf(']'); - const tokens = countGptMessagesTokens(concatMessages); + const tokens = await countGptMessagesTokens(concatMessages); if (start === -1 || end === -1) { return { diff --git a/packages/service/core/ai/functions/queryExtension.ts b/packages/service/core/ai/functions/queryExtension.ts index 976f272847..ff8713bfc8 100644 --- a/packages/service/core/ai/functions/queryExtension.ts +++ b/packages/service/core/ai/functions/queryExtension.ts @@ -1,7 +1,7 @@ import { replaceVariable } from '@fastgpt/global/common/string/tools'; import { getAIApi } from '../config'; import { ChatItemType } from '@fastgpt/global/core/chat/type'; -import { countGptMessagesTokens } from '@fastgpt/global/common/string/tiktoken'; +import { countGptMessagesTokens } from '../../../common/string/tiktoken/index'; import { ChatCompletionMessageParam } from '@fastgpt/global/core/ai/type'; import { chatValue2RuntimePrompt } from '@fastgpt/global/core/chat/adapt'; @@ -163,7 +163,7 @@ A: ${chatBg} rawQuery: query, extensionQueries: Array.isArray(queries) ? queries : [], model, - tokens: countGptMessagesTokens(messages) + tokens: await countGptMessagesTokens(messages) }; } catch (error) { console.log(error); diff --git a/packages/service/core/app/schema.ts b/packages/service/core/app/schema.ts index 93c5f96b7d..1492efb70f 100644 --- a/packages/service/core/app/schema.ts +++ b/packages/service/core/app/schema.ts @@ -11,10 +11,6 @@ import { export const appCollectionName = 'apps'; const AppSchema = new Schema({ - userId: { - type: Schema.Types.ObjectId, - ref: 'user' - }, teamId: { type: Schema.Types.ObjectId, ref: TeamCollectionName, @@ -34,6 +30,10 @@ const AppSchema = new Schema({ default: 'advanced', enum: Object.keys(AppTypeMap) }, + version: { + type: String, + enum: ['v1', 'v2'] + }, avatar: { type: String, default: '/icon/logo.svg' @@ -50,6 +50,26 @@ const AppSchema = new Schema({ type: Array, default: [] }, + edges: { + type: Array, + default: [] + }, + + scheduledTriggerConfig: { + cronString: { + type: String + }, + timezone: { + type: String + }, + defaultPrompt: { + type: String + } + }, + scheduledTriggerNextTime: { + type: Date + }, + inited: { type: Boolean }, @@ -66,6 +86,7 @@ const AppSchema = new Schema({ try { AppSchema.index({ updateTime: -1 }); AppSchema.index({ teamId: 1 }); + AppSchema.index({ scheduledTriggerConfig: 1, intervalNextTime: -1 }); } catch (error) { console.log(error); } diff --git a/packages/service/core/chat/chatItemSchema.ts b/packages/service/core/chat/chatItemSchema.ts index 65a62ca62a..6948cdf21f 100644 --- a/packages/service/core/chat/chatItemSchema.ts +++ b/packages/service/core/chat/chatItemSchema.ts @@ -9,8 +9,8 @@ import { } from '@fastgpt/global/support/user/team/constant'; import { appCollectionName } from '../app/schema'; import { userCollectionName } from '../../support/user/schema'; -import { ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; +import { NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; export const ChatItemCollectionName = 'chatitems'; diff --git a/packages/service/core/chat/utils.ts b/packages/service/core/chat/utils.ts index 1f237b3692..89e5048b12 100644 --- a/packages/service/core/chat/utils.ts +++ b/packages/service/core/chat/utils.ts @@ -1,5 +1,5 @@ -import { ChatRoleEnum, IMG_BLOCK_KEY } from '@fastgpt/global/core/chat/constants'; -import { countGptMessagesTokens } from '@fastgpt/global/common/string/tiktoken'; +import { IMG_BLOCK_KEY } from '@fastgpt/global/core/chat/constants'; +import { countGptMessagesTokens } from '../../common/string/tiktoken/index'; import type { ChatCompletionContentPart, ChatCompletionMessageParam @@ -18,13 +18,14 @@ const filterEmptyMessages = (messages: ChatCompletionMessageParam[]) => { return true; }); }; -export function filterGPTMessageByMaxTokens({ + +export const filterGPTMessageByMaxTokens = async ({ messages = [], maxTokens }: { messages: ChatCompletionMessageParam[]; maxTokens: number; -}) { +}) => { if (!Array.isArray(messages)) { return []; } @@ -59,7 +60,7 @@ export function filterGPTMessageByMaxTokens({ const chatPrompts: ChatCompletionMessageParam[] = messages.slice(chatStartIndex); // reduce token of systemPrompt - maxTokens -= countGptMessagesTokens(systemPrompts); + maxTokens -= await countGptMessagesTokens(systemPrompts); // Save the last chat prompt(question) const question = chatPrompts.pop(); @@ -76,7 +77,7 @@ export function filterGPTMessageByMaxTokens({ break; } - const tokens = countGptMessagesTokens([assistant, user]); + const tokens = await countGptMessagesTokens([assistant, user]); maxTokens -= tokens; /* 整体 tokens 超出范围,截断 */ if (maxTokens < 0) { @@ -92,7 +93,8 @@ export function filterGPTMessageByMaxTokens({ } return filterEmptyMessages([...systemPrompts, ...chats]); -} +}; + export const formatGPTMessagesInRequestBefore = (messages: ChatCompletionMessageParam[]) => { return messages .map((item) => { diff --git a/packages/service/core/dataset/search/controller.ts b/packages/service/core/dataset/search/controller.ts index 0117b6b232..87b89c55fc 100644 --- a/packages/service/core/dataset/search/controller.ts +++ b/packages/service/core/dataset/search/controller.ts @@ -14,7 +14,7 @@ import { } from '@fastgpt/global/core/dataset/type'; import { MongoDatasetCollection } from '../collection/schema'; import { reRankRecall } from '../../../core/ai/rerank'; -import { countPromptTokens } from '@fastgpt/global/common/string/tiktoken'; +import { countPromptTokens } from '../../../common/string/tiktoken/index'; import { datasetSearchResultConcat } from '@fastgpt/global/core/dataset/search/utils'; import { hashStr } from '@fastgpt/global/common/string/tools'; import { jiebaSplit } from '../../../common/string/jieba'; @@ -258,13 +258,16 @@ export async function searchDatasetData(props: SearchDatasetDataProps) { return []; } }; - const filterResultsByMaxTokens = (list: SearchDataResponseItemType[], maxTokens: number) => { + const filterResultsByMaxTokens = async ( + list: SearchDataResponseItemType[], + maxTokens: number + ) => { const results: SearchDataResponseItemType[] = []; let totalTokens = 0; - for (let i = 0; i < list.length; i++) { - const item = list[i]; - totalTokens += countPromptTokens(item.q + item.a); + for await (const item of list) { + totalTokens += await countPromptTokens(item.q + item.a); + if (totalTokens > maxTokens + 500) { break; } @@ -398,7 +401,7 @@ export async function searchDatasetData(props: SearchDatasetDataProps) { })(); return { - searchRes: filterResultsByMaxTokens(scoreFilter, maxTokens), + searchRes: await filterResultsByMaxTokens(scoreFilter, maxTokens), tokens, searchMode, limit: maxTokens, diff --git a/packages/service/core/plugin/controller.ts b/packages/service/core/plugin/controller.ts index b7fa546a70..535d8eaef4 100644 --- a/packages/service/core/plugin/controller.ts +++ b/packages/service/core/plugin/controller.ts @@ -1,11 +1,12 @@ import { MongoPlugin } from './schema'; -import { FlowNodeTemplateType } from '@fastgpt/global/core/module/type'; -import { FlowNodeTypeEnum } from '@fastgpt/global/core/module/node/constant'; -import { plugin2ModuleIO } from '@fastgpt/global/core/module/utils'; +import { FlowNodeTemplateType } from '@fastgpt/global/core/workflow/type/index.d'; +import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; +import { pluginData2FlowNodeIO } from '@fastgpt/global/core/workflow/utils'; import { PluginSourceEnum } from '@fastgpt/global/core/plugin/constants'; import type { PluginRuntimeType, PluginTemplateType } from '@fastgpt/global/core/plugin/type.d'; -import { FlowNodeTemplateTypeEnum } from '@fastgpt/global/core/module/constants'; -import type { PluginItemSchema } from '@fastgpt/global/core/plugin/type.d'; +import { FlowNodeTemplateTypeEnum } from '@fastgpt/global/core/workflow/constants'; +import { getHandleConfig } from '../../../global/core/workflow/template/utils'; +import { getNanoid } from '@fastgpt/global/common/string/tools'; /* plugin id rule: @@ -48,31 +49,32 @@ const getPluginTemplateById = async (id: string): Promise => intro: item.intro, showStatus: true, source: PluginSourceEnum.personal, - modules: item.modules, - templateType: FlowNodeTemplateTypeEnum.personalPlugin + nodes: item.modules, + edges: item.edges, + templateType: FlowNodeTemplateTypeEnum.personalPlugin, + isTool: true }; } return Promise.reject('plugin not found'); }; /* format plugin modules to plugin preview module */ -export async function getPluginPreviewModule({ - id -}: { - id: string; -}): Promise { +export async function getPluginPreviewNode({ id }: { id: string }): Promise { const plugin = await getPluginTemplateById(id); return { - id: plugin.id, + id: getNanoid(), + pluginId: plugin.id, templateType: plugin.templateType, - flowType: FlowNodeTypeEnum.pluginModule, + flowNodeType: FlowNodeTypeEnum.pluginModule, avatar: plugin.avatar, name: plugin.name, intro: plugin.intro, showStatus: plugin.showStatus, isTool: plugin.isTool, - ...plugin2ModuleIO(plugin.id, plugin.modules) + sourceHandle: getHandleConfig(true, true, true, true), + targetHandle: getHandleConfig(true, true, true, true), + ...pluginData2FlowNodeIO(plugin.nodes) }; } @@ -85,6 +87,7 @@ export async function getPluginRuntimeById(id: string): Promise; type CQResponse = DispatchNodeResultType<{ - [key: string]: any; + [NodeOutputKeyEnum.cqResult]: string; }>; type ActionProps = Props & { cqModel: LLMModelItemType }; -const agentFunName = 'classify_question'; - /* request openai chat */ export const dispatchClassifyQuestion = async (props: Props): Promise => { const { user, - module: { name }, + node: { nodeId, name }, histories, params: { model, history = 6, agents, userChatInput } } = props as Props; @@ -57,27 +46,11 @@ export const dispatchClassifyQuestion = async (props: Props): Promise { - if (cqModel.toolChoice) { - return toolChoice({ - ...props, - histories: chatHistories, - cqModel - }); - } - if (cqModel.functionCall) { - return functionCall({ - ...props, - histories: chatHistories, - cqModel - }); - } - return completions({ - ...props, - histories: chatHistories, - cqModel - }); - })(); + const { arg, tokens } = await completions({ + ...props, + histories: chatHistories, + cqModel + }); const result = agents.find((item) => item.key === arg?.type) || agents[agents.length - 1]; @@ -88,7 +61,10 @@ export const dispatchClassifyQuestion = async (props: Props): Promise item.key !== arg?.type) + .map((item) => getHandleId(nodeId, 'source', item.key)), [DispatchNodeResponseKeyEnum.nodeResponse]: { totalPoints: user.openaiAccount?.key ? 0 : totalPoints, model: modelName, @@ -109,164 +85,6 @@ export const dispatchClassifyQuestion = async (props: Props): Promise { - const messages: ChatItemType[] = [ - ...histories, - { - obj: ChatRoleEnum.Human, - value: [ - { - type: ChatItemValueTypeEnum.text, - text: { - content: systemPrompt - ? `<背景知识> - ${systemPrompt} - - - 问题: "${userChatInput}" - ` - : userChatInput - } - } - ] - } - ]; - - const adaptMessages = chats2GPTMessages({ messages, reserveId: false }); - const filterMessages = filterGPTMessageByMaxTokens({ - messages: adaptMessages, - maxTokens: cqModel.maxContext - }); - - // function body - const agentFunction = { - name: agentFunName, - description: '结合对话记录及背景知识,对问题进行分类,并返回对应的类型字段', - parameters: { - type: 'object', - properties: { - type: { - type: 'string', - description: `问题类型。下面是几种可选的问题类型: ${agents - .map((item) => `${item.value},返回:'${item.key}'`) - .join(';')}`, - enum: agents.map((item) => item.key) - } - }, - required: ['type'] - } - }; - - return { - agentFunction, - filterMessages - }; -}; - -const toolChoice = async (props: ActionProps) => { - const { user, cqModel } = props; - - const { agentFunction, filterMessages } = getFunctionCallSchema(props); - // function body - const tools: ChatCompletionTool[] = [ - { - type: 'function', - function: agentFunction - } - ]; - - const ai = getAIApi({ - userKey: user.openaiAccount, - timeout: 480000 - }); - - const response = await ai.chat.completions.create({ - model: cqModel.model, - temperature: 0, - messages: filterMessages, - tools, - tool_choice: { type: 'function', function: { name: agentFunName } } - }); - - try { - const arg = JSON.parse( - response?.choices?.[0]?.message?.tool_calls?.[0]?.function?.arguments || '' - ); - const completeMessages: ChatCompletionMessageParam[] = [ - ...filterMessages, - { - role: ChatCompletionRequestMessageRoleEnum.Assistant, - tool_calls: response.choices?.[0]?.message?.tool_calls - } - ]; - - return { - arg, - tokens: countGptMessagesTokens(completeMessages, tools) - }; - } catch (error) { - console.log(response.choices?.[0]?.message); - - console.log('Your model may not support toll_call', error); - - return { - arg: {}, - tokens: 0 - }; - } -}; - -const functionCall = async (props: ActionProps) => { - const { user, cqModel } = props; - - const { agentFunction, filterMessages } = getFunctionCallSchema(props); - const functions: ChatCompletionCreateParams.Function[] = [agentFunction]; - - const ai = getAIApi({ - userKey: user.openaiAccount, - timeout: 480000 - }); - - const response = await ai.chat.completions.create({ - model: cqModel.model, - temperature: 0, - messages: filterMessages, - function_call: { - name: agentFunName - }, - functions - }); - - try { - const arg = JSON.parse(response?.choices?.[0]?.message?.function_call?.arguments || ''); - const completeMessages: ChatCompletionMessageParam[] = [ - ...filterMessages, - { - role: ChatCompletionRequestMessageRoleEnum.Assistant, - function_call: response.choices?.[0]?.message?.function_call - } - ]; - - return { - arg, - tokens: countGptMessagesTokens(completeMessages, undefined, functions) - }; - } catch (error) { - console.log(response.choices?.[0]?.message); - - console.log('Your model may not support toll_call', error); - - return { - arg: {}, - tokens: 0 - }; - } -}; - const completions = async ({ cqModel, user, @@ -283,11 +101,11 @@ const completions = async ({ content: replaceVariable(cqModel.customCQPrompt || Prompt_CQJson, { systemPrompt: systemPrompt || 'null', typeList: agents - .map((item) => `{"questionType": "${item.value}", "typeId": "${item.key}"}`) - .join('\n'), + .map((item) => `{"类型ID":"${item.key}", "问题类型":"${item.value}"}`) + .join('------'), history: histories .map((item) => `${item.obj}:${chatValue2RuntimePrompt(item.value).text}`) - .join('\n'), + .join('------'), question: userChatInput }) } @@ -309,11 +127,14 @@ const completions = async ({ }); const answer = data.choices?.[0].message?.content || ''; + console.log(JSON.stringify(chats2GPTMessages({ messages, reserveId: false }), null, 2)); + console.log(answer, '----'); + const id = agents.find((item) => answer.includes(item.key) || answer.includes(item.value))?.key || ''; return { - tokens: countMessagesTokens(messages), + tokens: await countMessagesTokens(messages), arg: { type: id } }; }; diff --git a/packages/service/core/workflow/dispatch/agent/extract.ts b/packages/service/core/workflow/dispatch/agent/extract.ts index ba08e7e88f..a663f13747 100644 --- a/packages/service/core/workflow/dispatch/agent/extract.ts +++ b/packages/service/core/workflow/dispatch/agent/extract.ts @@ -2,15 +2,15 @@ import { chats2GPTMessages } from '@fastgpt/global/core/chat/adapt'; import { filterGPTMessageByMaxTokens } from '../../../chat/utils'; import type { ChatItemType } from '@fastgpt/global/core/chat/type.d'; import { - countGptMessagesTokens, - countMessagesTokens -} from '@fastgpt/global/common/string/tiktoken'; + countMessagesTokens, + countGptMessagesTokens +} from '../../../../common/string/tiktoken/index'; import { ChatItemValueTypeEnum, ChatRoleEnum } from '@fastgpt/global/core/chat/constants'; import { getAIApi } from '../../../ai/config'; -import type { ContextExtractAgentItemType } from '@fastgpt/global/core/module/type'; -import { ModuleInputKeyEnum, ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; +import type { ContextExtractAgentItemType } from '@fastgpt/global/core/workflow/type/index.d'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; import { Prompt_ExtractJson } from '@fastgpt/global/core/ai/prompt/agent'; import { replaceVariable } from '@fastgpt/global/common/string/tools'; import { LLMModelItemType } from '@fastgpt/global/core/ai/model.d'; @@ -24,20 +24,20 @@ import { ChatCompletionTool } from '@fastgpt/global/core/ai/type'; import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; -import { DispatchNodeResultType } from '@fastgpt/global/core/module/runtime/type'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; import { chatValue2RuntimePrompt } from '@fastgpt/global/core/chat/adapt'; type Props = ModuleDispatchProps<{ - [ModuleInputKeyEnum.history]?: ChatItemType[]; - [ModuleInputKeyEnum.contextExtractInput]: string; - [ModuleInputKeyEnum.extractKeys]: ContextExtractAgentItemType[]; - [ModuleInputKeyEnum.description]: string; - [ModuleInputKeyEnum.aiModel]: string; + [NodeInputKeyEnum.history]?: ChatItemType[]; + [NodeInputKeyEnum.contextExtractInput]: string; + [NodeInputKeyEnum.extractKeys]: ContextExtractAgentItemType[]; + [NodeInputKeyEnum.description]: string; + [NodeInputKeyEnum.aiModel]: string; }>; type Response = DispatchNodeResultType<{ - [ModuleOutputKeyEnum.success]?: boolean; - [ModuleOutputKeyEnum.failed]?: boolean; - [ModuleOutputKeyEnum.contextExtractFields]: string; + [NodeOutputKeyEnum.success]?: boolean; + [NodeOutputKeyEnum.failed]?: boolean; + [NodeOutputKeyEnum.contextExtractFields]: string; }>; type ActionProps = Props & { extractModel: LLMModelItemType }; @@ -47,7 +47,7 @@ const agentFunName = 'request_function'; export async function dispatchContentExtract(props: Props): Promise { const { user, - module: { name }, + node: { name }, histories, params: { content, history = 6, model, description, extractKeys } } = props; @@ -119,9 +119,10 @@ export async function dispatchContentExtract(props: Props): Promise { }); return { - [ModuleOutputKeyEnum.success]: success ? true : undefined, - [ModuleOutputKeyEnum.failed]: success ? undefined : true, - [ModuleOutputKeyEnum.contextExtractFields]: JSON.stringify(arg), + // [DispatchNodeResponseKeyEnum.skipHandleId]: success + // ? [getHandleId(nodeId, 'source', NodeOutputKeyEnum.failed)] + // : [getHandleId(nodeId, 'source', NodeOutputKeyEnum.success)], + [NodeOutputKeyEnum.contextExtractFields]: JSON.stringify(arg), ...arg, [DispatchNodeResponseKeyEnum.nodeResponse]: { totalPoints: user.openaiAccount?.key ? 0 : totalPoints, @@ -143,7 +144,7 @@ export async function dispatchContentExtract(props: Props): Promise { }; } -const getFunctionCallSchema = ({ +const getFunctionCallSchema = async ({ extractModel, histories, params: { content, extractKeys, description } @@ -171,7 +172,7 @@ ${description ? `- ${description}` : ''} } ]; const adaptMessages = chats2GPTMessages({ messages, reserveId: false }); - const filterMessages = filterGPTMessageByMaxTokens({ + const filterMessages = await filterGPTMessageByMaxTokens({ messages: adaptMessages, maxTokens: extractModel.maxContext }); @@ -196,7 +197,8 @@ ${description ? `- ${description}` : ''} description: '需要执行的函数', parameters: { type: 'object', - properties + properties, + required: [] } }; @@ -209,7 +211,7 @@ ${description ? `- ${description}` : ''} const toolChoice = async (props: ActionProps) => { const { user, extractModel } = props; - const { filterMessages, agentFunction } = getFunctionCallSchema(props); + const { filterMessages, agentFunction } = await getFunctionCallSchema(props); const tools: ChatCompletionTool[] = [ { @@ -252,7 +254,7 @@ const toolChoice = async (props: ActionProps) => { } ]; return { - tokens: countGptMessagesTokens(completeMessages, tools), + tokens: await countGptMessagesTokens(completeMessages, tools), arg }; }; @@ -260,7 +262,7 @@ const toolChoice = async (props: ActionProps) => { const functionCall = async (props: ActionProps) => { const { user, extractModel } = props; - const { agentFunction, filterMessages } = getFunctionCallSchema(props); + const { agentFunction, filterMessages } = await getFunctionCallSchema(props); const functions: ChatCompletionCreateParams.Function[] = [agentFunction]; const ai = getAIApi({ @@ -290,7 +292,7 @@ const functionCall = async (props: ActionProps) => { return { arg, - tokens: countGptMessagesTokens(completeMessages, undefined, functions) + tokens: await countGptMessagesTokens(completeMessages, undefined, functions) }; } catch (error) { console.log(response.choices?.[0]?.message); @@ -355,7 +357,7 @@ Human: ${content}` if (start === -1 || end === -1) { return { rawResponse: answer, - tokens: countMessagesTokens(messages), + tokens: await countMessagesTokens(messages), arg: {} }; } @@ -368,14 +370,14 @@ Human: ${content}` try { return { rawResponse: answer, - tokens: countMessagesTokens(messages), + tokens: await countMessagesTokens(messages), arg: json5.parse(jsonStr) as Record }; } catch (error) { console.log(error); return { rawResponse: answer, - tokens: countMessagesTokens(messages), + tokens: await countMessagesTokens(messages), arg: {} }; } diff --git a/packages/service/core/workflow/dispatch/agent/runTool/functionCall.ts b/packages/service/core/workflow/dispatch/agent/runTool/functionCall.ts index e6532cd821..e0d21a298e 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/functionCall.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/functionCall.ts @@ -16,44 +16,36 @@ import { responseWriteController, responseWriteNodeStatus } from '../../../../../common/response'; -import { SseResponseEventEnum } from '@fastgpt/global/core/module/runtime/constants'; -import { textAdaptGptResponse } from '@fastgpt/global/core/module/runtime/utils'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { textAdaptGptResponse } from '@fastgpt/global/core/workflow/runtime/utils'; import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; import { dispatchWorkFlow } from '../../index'; -import { DispatchToolModuleProps, RunToolResponse, ToolModuleItemType } from './type.d'; +import { DispatchToolModuleProps, RunToolResponse, ToolNodeItemType } from './type.d'; import json5 from 'json5'; import { DispatchFlowResponse } from '../../type'; -import { countGptMessagesTokens } from '@fastgpt/global/common/string/tiktoken'; +import { countGptMessagesTokens } from '../../../../../common/string/tiktoken/index'; import { getNanoid } from '@fastgpt/global/common/string/tools'; -import { AIChatItemType, AIChatItemValueItemType } from '@fastgpt/global/core/chat/type'; +import { AIChatItemType } from '@fastgpt/global/core/chat/type'; import { GPTMessages2Chats } from '@fastgpt/global/core/chat/adapt'; +import { updateToolInputValue } from './utils'; type FunctionRunResponseType = { - moduleRunResponse: DispatchFlowResponse; + toolRunResponse: DispatchFlowResponse; functionCallMsg: ChatCompletionFunctionMessageParam; }[]; export const runToolWithFunctionCall = async ( props: DispatchToolModuleProps & { messages: ChatCompletionMessageParam[]; - toolModules: ToolModuleItemType[]; + toolNodes: ToolNodeItemType[]; toolModel: LLMModelItemType; }, response?: RunToolResponse ): Promise => { - const { - toolModel, - toolModules, - messages, - res, - runtimeModules, - detail = false, - module, - stream - } = props; + const { toolModel, toolNodes, messages, res, runtimeNodes, detail = false, node, stream } = props; const assistantResponses = response?.assistantResponses || []; - const functions: ChatCompletionCreateParams.Function[] = toolModules.map((module) => { + const functions: ChatCompletionCreateParams.Function[] = toolNodes.map((item) => { const properties: Record< string, { @@ -62,7 +54,7 @@ export const runToolWithFunctionCall = async ( required?: boolean; } > = {}; - module.toolParams.forEach((item) => { + item.toolParams.forEach((item) => { properties[item.key] = { type: 'string', description: item.toolDescription || '' @@ -70,17 +62,17 @@ export const runToolWithFunctionCall = async ( }); return { - name: module.moduleId, - description: module.intro, + name: item.nodeId, + description: item.intro, parameters: { type: 'object', properties, - required: module.toolParams.filter((item) => item.required).map((item) => item.key) + required: item.toolParams.filter((item) => item.required).map((item) => item.key) } }; }); - const filterMessages = filterGPTMessageByMaxTokens({ + const filterMessages = await filterGPTMessageByMaxTokens({ messages, maxTokens: toolModel.maxContext - 500 // filter token. not response maxToken }); @@ -107,25 +99,25 @@ export const runToolWithFunctionCall = async ( ); const { answer, functionCalls } = await (async () => { - if (stream) { + if (res && stream) { return streamResponse({ res, detail, - toolModules, + toolNodes, stream: aiResponse }); } else { const result = aiResponse as ChatCompletion; const function_call = result.choices?.[0]?.message?.function_call; - const toolModule = toolModules.find((module) => module.moduleId === function_call?.name); + const toolNode = toolNodes.find((node) => node.nodeId === function_call?.name); const toolCalls = function_call ? [ { ...function_call, id: getNanoid(), - toolName: toolModule?.name, - toolAvatar: toolModule?.avatar + toolName: toolNode?.name, + toolAvatar: toolNode?.avatar } ] : []; @@ -143,9 +135,9 @@ export const runToolWithFunctionCall = async ( functionCalls.map(async (tool) => { if (!tool) return; - const toolModule = toolModules.find((module) => module.moduleId === tool.name); + const toolNode = toolNodes.find((node) => node.nodeId === tool.name); - if (!toolModule) return; + if (!toolNode) return; const startParams = (() => { try { @@ -155,21 +147,25 @@ export const runToolWithFunctionCall = async ( } })(); - const moduleRunResponse = await dispatchWorkFlow({ + const toolRunResponse = await dispatchWorkFlow({ ...props, - runtimeModules: runtimeModules.map((module) => ({ - ...module, - isEntry: module.moduleId === toolModule.moduleId - })), - startParams + runtimeNodes: runtimeNodes.map((item) => + item.nodeId === toolNode.nodeId + ? { + ...item, + isEntry: true, + inputs: updateToolInputValue({ params: startParams, inputs: item.inputs }) + } + : item + ) }); const stringToolResponse = (() => { - if (typeof moduleRunResponse.toolResponses === 'object') { - return JSON.stringify(moduleRunResponse.toolResponses, null, 2); + if (typeof toolRunResponse.toolResponses === 'object') { + return JSON.stringify(toolRunResponse.toolResponses, null, 2); } - return moduleRunResponse.toolResponses ? String(moduleRunResponse.toolResponses) : 'none'; + return toolRunResponse.toolResponses ? String(toolRunResponse.toolResponses) : 'none'; })(); const functionCallMsg: ChatCompletionFunctionMessageParam = { @@ -195,17 +191,17 @@ export const runToolWithFunctionCall = async ( } return { - moduleRunResponse, + toolRunResponse, functionCallMsg }; }) ) ).filter(Boolean) as FunctionRunResponseType; - const flatToolsResponseData = toolsRunResponse.map((item) => item.moduleRunResponse).flat(); + const flatToolsResponseData = toolsRunResponse.map((item) => item.toolRunResponse).flat(); const functionCall = functionCalls[0]; - if (functionCall && !res.closed) { + if (functionCall && !res?.closed) { // Run the tool, combine its results, and perform another round of AI calls const assistantToolMsgParams: ChatCompletionAssistantMessageParam = { role: ChatCompletionRequestMessageRoleEnum.Assistant, @@ -215,7 +211,7 @@ export const runToolWithFunctionCall = async ( ...filterMessages, assistantToolMsgParams ] as ChatCompletionMessageParam[]; - const tokens = countGptMessagesTokens(concatToolMessages, undefined, functions); + const tokens = await countGptMessagesTokens(concatToolMessages, undefined, functions); const completeMessages = [ ...concatToolMessages, ...toolsRunResponse.map((item) => item?.functionCallMsg) @@ -225,14 +221,14 @@ export const runToolWithFunctionCall = async ( if (stream && detail) { responseWriteNodeStatus({ res, - name: module.name + name: node.name }); } // tool assistant const toolAssistants = toolsRunResponse .map((item) => { - const assistantResponses = item.moduleRunResponse.assistantResponses || []; + const assistantResponses = item.toolRunResponse.assistantResponses || []; return assistantResponses; }) .flat(); @@ -282,7 +278,7 @@ export const runToolWithFunctionCall = async ( content: answer }; const completeMessages = filterMessages.concat(gptAssistantResponse); - const tokens = countGptMessagesTokens(completeMessages, undefined, functions); + const tokens = await countGptMessagesTokens(completeMessages, undefined, functions); // console.log(tokens, 'response token'); // concat tool assistant @@ -300,12 +296,12 @@ export const runToolWithFunctionCall = async ( async function streamResponse({ res, detail, - toolModules, + toolNodes, stream }: { res: NextApiResponse; detail: boolean; - toolModules: ToolModuleItemType[]; + toolNodes: ToolNodeItemType[]; stream: StreamChatType; }) { const write = responseWriteController({ @@ -324,6 +320,7 @@ async function streamResponse({ } const responseChoice = part.choices?.[0]?.delta; + if (responseChoice.content) { const content = responseChoice?.content || ''; textAnswer += content; @@ -344,9 +341,9 @@ async function streamResponse({ // 流响应中,每次只会返回一个函数,如果带了name,说明触发某个函数 if (functionCall?.name) { functionId = getNanoid(); - const toolModule = toolModules.find((module) => module.moduleId === functionCall?.name); + const toolNode = toolNodes.find((item) => item.nodeId === functionCall?.name); - if (toolModule) { + if (toolNode) { if (functionCall?.arguments === undefined) { functionCall.arguments = ''; } @@ -354,8 +351,8 @@ async function streamResponse({ ...functionCall, id: functionId, name: functionCall.name, - toolName: toolModule.name, - toolAvatar: toolModule.avatar + toolName: toolNode.name, + toolAvatar: toolNode.avatar }); if (detail) { @@ -365,8 +362,8 @@ async function streamResponse({ data: JSON.stringify({ tool: { id: functionId, - toolName: toolModule.name, - toolAvatar: toolModule.avatar, + toolName: toolNode.name, + toolAvatar: toolNode.avatar, functionName: functionCall.name, params: functionCall.arguments, response: '' diff --git a/packages/service/core/workflow/dispatch/agent/runTool/index.ts b/packages/service/core/workflow/dispatch/agent/runTool/index.ts index 18862e5dcf..69a39bc04f 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/index.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/index.ts @@ -1,13 +1,13 @@ -import { ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; +import { NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; import type { DispatchNodeResultType, - RunningModuleItemType -} from '@fastgpt/global/core/module/runtime/type'; + RuntimeNodeItemType +} from '@fastgpt/global/core/workflow/runtime/type'; import { ModelTypeEnum, getLLMModel } from '../../../../ai/model'; -import { getHistories } from '../../utils'; +import { filterToolNodeIdByEdges, getHistories } from '../../utils'; import { runToolWithToolChoice } from './toolChoice'; -import { DispatchToolModuleProps, ToolModuleItemType } from './type.d'; +import { DispatchToolModuleProps, ToolNodeItemType } from './type.d'; import { ChatItemType } from '@fastgpt/global/core/chat/type'; import { ChatRoleEnum } from '@fastgpt/global/core/chat/constants'; import { @@ -27,8 +27,9 @@ type Response = DispatchNodeResultType<{}>; export const dispatchRunTools = async (props: DispatchToolModuleProps): Promise => { const { - module: { name, outputs }, - runtimeModules, + node: { nodeId, name, outputs }, + runtimeNodes, + runtimeEdges, histories, params: { model, systemPrompt, userChatInput, history = 6 } } = props; @@ -38,26 +39,19 @@ export const dispatchRunTools = async (props: DispatchToolModuleProps): Promise< /* get tool params */ - // get tool output targets - const toolOutput = outputs.find((output) => output.key === ModuleOutputKeyEnum.selectedTools); - - if (!toolOutput) { - return Promise.reject('No tool output found'); - } - - const targets = toolOutput.targets; + const toolNodeIds = filterToolNodeIdByEdges({ nodeId, edges: runtimeEdges }); // Gets the module to which the tool is connected - const toolModules = targets - .map((item) => { - const tool = runtimeModules.find((module) => module.moduleId === item.moduleId); + const toolNodes = toolNodeIds + .map((nodeId) => { + const tool = runtimeNodes.find((item) => item.nodeId === nodeId); return tool; }) .filter(Boolean) - .map((tool) => { + .map((tool) => { const toolParams = tool?.inputs.filter((input) => !!input.toolDescription) || []; return { - ...(tool as RunningModuleItemType), + ...(tool as RuntimeNodeItemType), toolParams }; }); @@ -85,7 +79,7 @@ export const dispatchRunTools = async (props: DispatchToolModuleProps): Promise< if (toolModel.toolChoice) { return runToolWithToolChoice({ ...props, - toolModules, + toolNodes, toolModel, messages: adaptMessages }); @@ -93,7 +87,7 @@ export const dispatchRunTools = async (props: DispatchToolModuleProps): Promise< if (toolModel.functionCall) { return runToolWithFunctionCall({ ...props, - toolModules, + toolNodes, toolModel, messages: adaptMessages }); @@ -110,7 +104,7 @@ export const dispatchRunTools = async (props: DispatchToolModuleProps): Promise< return runToolWithPromptCall({ ...props, - toolModules, + toolNodes, toolModel, messages: adaptMessages }); diff --git a/packages/service/core/workflow/dispatch/agent/runTool/promptCall.ts b/packages/service/core/workflow/dispatch/agent/runTool/promptCall.ts index 2a3d9c81c8..74104d0087 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/promptCall.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/promptCall.ts @@ -13,16 +13,17 @@ import { responseWriteController, responseWriteNodeStatus } from '../../../../../common/response'; -import { SseResponseEventEnum } from '@fastgpt/global/core/module/runtime/constants'; -import { textAdaptGptResponse } from '@fastgpt/global/core/module/runtime/utils'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { textAdaptGptResponse } from '@fastgpt/global/core/workflow/runtime/utils'; import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; import { dispatchWorkFlow } from '../../index'; -import { DispatchToolModuleProps, RunToolResponse, ToolModuleItemType } from './type.d'; +import { DispatchToolModuleProps, RunToolResponse, ToolNodeItemType } from './type.d'; import json5 from 'json5'; -import { countGptMessagesTokens } from '@fastgpt/global/common/string/tiktoken'; +import { countGptMessagesTokens } from '../../../../../common/string/tiktoken/index'; import { getNanoid, replaceVariable } from '@fastgpt/global/common/string/tools'; import { AIChatItemType } from '@fastgpt/global/core/chat/type'; import { GPTMessages2Chats } from '@fastgpt/global/core/chat/adapt'; +import { updateToolInputValue } from './utils'; type FunctionCallCompletion = { id: string; @@ -35,25 +36,16 @@ type FunctionCallCompletion = { export const runToolWithPromptCall = async ( props: DispatchToolModuleProps & { messages: ChatCompletionMessageParam[]; - toolModules: ToolModuleItemType[]; + toolNodes: ToolNodeItemType[]; toolModel: LLMModelItemType; }, response?: RunToolResponse ): Promise => { - const { - toolModel, - toolModules, - messages, - res, - runtimeModules, - detail = false, - module, - stream - } = props; + const { toolModel, toolNodes, messages, res, runtimeNodes, detail = false, node, stream } = props; const assistantResponses = response?.assistantResponses || []; const toolsPrompt = JSON.stringify( - toolModules.map((module) => { + toolNodes.map((item) => { const properties: Record< string, { @@ -62,7 +54,7 @@ export const runToolWithPromptCall = async ( required?: boolean; } > = {}; - module.toolParams.forEach((item) => { + item.toolParams.forEach((item) => { properties[item.key] = { type: 'string', description: item.toolDescription || '' @@ -70,12 +62,12 @@ export const runToolWithPromptCall = async ( }); return { - toolId: module.moduleId, - description: module.intro, + toolId: item.nodeId, + description: item.intro, parameters: { type: 'object', properties, - required: module.toolParams.filter((item) => item.required).map((item) => item.key) + required: item.toolParams.filter((item) => item.required).map((item) => item.key) } }; }) @@ -89,7 +81,7 @@ export const runToolWithPromptCall = async ( toolsPrompt }); - const filterMessages = filterGPTMessageByMaxTokens({ + const filterMessages = await filterGPTMessageByMaxTokens({ messages, maxTokens: toolModel.maxContext - 500 // filter token. not response maxToken }); @@ -114,11 +106,11 @@ export const runToolWithPromptCall = async ( ); const answer = await (async () => { - if (stream) { + if (res && stream) { const { answer } = await streamResponse({ res, detail, - toolModules, + toolNodes, stream: aiResponse }); @@ -140,7 +132,7 @@ export const runToolWithPromptCall = async ( content: parseAnswerResult }; const completeMessages = filterMessages.concat(gptAssistantResponse); - const tokens = countGptMessagesTokens(completeMessages, undefined); + const tokens = await countGptMessagesTokens(completeMessages, undefined); // console.log(tokens, 'response token'); // concat tool assistant @@ -158,11 +150,11 @@ export const runToolWithPromptCall = async ( const toolsRunResponse = await (async () => { if (!parseAnswerResult) return Promise.reject('tool run error'); - const toolModule = toolModules.find((module) => module.moduleId === parseAnswerResult.name); - if (!toolModule) return Promise.reject('tool not found'); + const toolNode = toolNodes.find((item) => item.nodeId === parseAnswerResult.name); + if (!toolNode) return Promise.reject('tool not found'); - parseAnswerResult.toolName = toolModule.name; - parseAnswerResult.toolAvatar = toolModule.avatar; + parseAnswerResult.toolName = toolNode.name; + parseAnswerResult.toolAvatar = toolNode.avatar; // run tool flow const startParams = (() => { @@ -181,8 +173,8 @@ export const runToolWithPromptCall = async ( data: JSON.stringify({ tool: { id: parseAnswerResult.id, - toolName: toolModule.name, - toolAvatar: toolModule.avatar, + toolName: toolNode.name, + toolAvatar: toolNode.avatar, functionName: parseAnswerResult.name, params: parseAnswerResult.arguments, response: '' @@ -193,11 +185,15 @@ export const runToolWithPromptCall = async ( const moduleRunResponse = await dispatchWorkFlow({ ...props, - runtimeModules: runtimeModules.map((module) => ({ - ...module, - isEntry: module.moduleId === toolModule.moduleId - })), - startParams + runtimeNodes: runtimeNodes.map((item) => + item.nodeId === toolNode.nodeId + ? { + ...item, + isEntry: true, + inputs: updateToolInputValue({ params: startParams, inputs: item.inputs }) + } + : item + ) }); const stringToolResponse = (() => { @@ -233,7 +229,7 @@ export const runToolWithPromptCall = async ( if (stream && detail) { responseWriteNodeStatus({ res, - name: module.name + name: node.name }); } @@ -246,7 +242,7 @@ export const runToolWithPromptCall = async ( ...filterMessages, assistantToolMsgParams ] as ChatCompletionMessageParam[]; - const tokens = countGptMessagesTokens(concatToolMessages, undefined); + const tokens = await countGptMessagesTokens(concatToolMessages, undefined); const completeMessages: ChatCompletionMessageParam[] = [ ...concatToolMessages, { @@ -308,7 +304,7 @@ async function streamResponse({ }: { res: NextApiResponse; detail: boolean; - toolModules: ToolModuleItemType[]; + toolNodes: ToolNodeItemType[]; stream: StreamChatType; }) { const write = responseWriteController({ @@ -326,6 +322,8 @@ async function streamResponse({ } const responseChoice = part.choices?.[0]?.delta; + // console.log(responseChoice, '---==='); + if (responseChoice.content) { const content = responseChoice?.content || ''; textAnswer += content; @@ -360,7 +358,6 @@ async function streamResponse({ if (!textAnswer) { return Promise.reject('LLM api response empty'); } - // console.log(textAnswer, '---==='); return { answer: textAnswer.trim() }; } diff --git a/packages/service/core/workflow/dispatch/agent/runTool/stopTool.ts b/packages/service/core/workflow/dispatch/agent/runTool/stopTool.ts index 4edb7c7ac4..4e0b264e73 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/stopTool.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/stopTool.ts @@ -1,6 +1,6 @@ -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; -import { DispatchNodeResultType } from '@fastgpt/global/core/module/runtime/type'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; export type AnswerProps = ModuleDispatchProps<{}>; export type AnswerResponse = DispatchNodeResultType<{}>; diff --git a/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts b/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts index c41d329519..86203eeaa2 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/toolChoice.ts @@ -17,19 +17,20 @@ import { responseWriteController, responseWriteNodeStatus } from '../../../../../common/response'; -import { SseResponseEventEnum } from '@fastgpt/global/core/module/runtime/constants'; -import { textAdaptGptResponse } from '@fastgpt/global/core/module/runtime/utils'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { textAdaptGptResponse } from '@fastgpt/global/core/workflow/runtime/utils'; import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; import { dispatchWorkFlow } from '../../index'; -import { DispatchToolModuleProps, RunToolResponse, ToolModuleItemType } from './type.d'; +import { DispatchToolModuleProps, RunToolResponse, ToolNodeItemType } from './type.d'; import json5 from 'json5'; import { DispatchFlowResponse } from '../../type'; -import { countGptMessagesTokens } from '@fastgpt/global/common/string/tiktoken'; +import { countGptMessagesTokens } from '../../../../../common/string/tiktoken/index'; import { GPTMessages2Chats } from '@fastgpt/global/core/chat/adapt'; import { AIChatItemType } from '@fastgpt/global/core/chat/type'; +import { updateToolInputValue } from './utils'; type ToolRunResponseType = { - moduleRunResponse: DispatchFlowResponse; + toolRunResponse: DispatchFlowResponse; toolMsgParams: ChatCompletionToolMessageParam; }[]; @@ -43,24 +44,15 @@ type ToolRunResponseType = { export const runToolWithToolChoice = async ( props: DispatchToolModuleProps & { messages: ChatCompletionMessageParam[]; - toolModules: ToolModuleItemType[]; + toolNodes: ToolNodeItemType[]; toolModel: LLMModelItemType; }, response?: RunToolResponse ): Promise => { - const { - toolModel, - toolModules, - messages, - res, - runtimeModules, - detail = false, - module, - stream - } = props; + const { toolModel, toolNodes, messages, res, runtimeNodes, detail = false, node, stream } = props; const assistantResponses = response?.assistantResponses || []; - const tools: ChatCompletionTool[] = toolModules.map((module) => { + const tools: ChatCompletionTool[] = toolNodes.map((item) => { const properties: Record< string, { @@ -69,7 +61,7 @@ export const runToolWithToolChoice = async ( required?: boolean; } > = {}; - module.toolParams.forEach((item) => { + item.toolParams.forEach((item) => { properties[item.key] = { type: 'string', description: item.toolDescription || '' @@ -79,18 +71,18 @@ export const runToolWithToolChoice = async ( return { type: 'function', function: { - name: module.moduleId, - description: module.intro, + name: item.nodeId, + description: item.intro, parameters: { type: 'object', properties, - required: module.toolParams.filter((item) => item.required).map((item) => item.key) + required: item.toolParams.filter((item) => item.required).map((item) => item.key) } } }; }); - const filterMessages = filterGPTMessageByMaxTokens({ + const filterMessages = await filterGPTMessageByMaxTokens({ messages, maxTokens: toolModel.maxContext - 300 // filter token. not response maxToken }); @@ -117,11 +109,11 @@ export const runToolWithToolChoice = async ( ); const { answer, toolCalls } = await (async () => { - if (stream) { + if (res && stream) { return streamResponse({ res, detail, - toolModules, + toolNodes, stream: aiResponse }); } else { @@ -130,11 +122,11 @@ export const runToolWithToolChoice = async ( // 加上name和avatar const toolCalls = calls.map((tool) => { - const toolModule = toolModules.find((module) => module.moduleId === tool.function?.name); + const toolNode = toolNodes.find((item) => item.nodeId === tool.function?.name); return { ...tool, - toolName: toolModule?.name || '', - toolAvatar: toolModule?.avatar || '' + toolName: toolNode?.name || '', + toolAvatar: toolNode?.avatar || '' }; }); @@ -145,13 +137,13 @@ export const runToolWithToolChoice = async ( } })(); - // Run the selected tool. + // Run the selected tool by LLM. const toolsRunResponse = ( await Promise.all( toolCalls.map(async (tool) => { - const toolModule = toolModules.find((module) => module.moduleId === tool.function?.name); + const toolNode = toolNodes.find((item) => item.nodeId === tool.function?.name); - if (!toolModule) return; + if (!toolNode) return; const startParams = (() => { try { @@ -161,21 +153,25 @@ export const runToolWithToolChoice = async ( } })(); - const moduleRunResponse = await dispatchWorkFlow({ + const toolRunResponse = await dispatchWorkFlow({ ...props, - runtimeModules: runtimeModules.map((module) => ({ - ...module, - isEntry: module.moduleId === toolModule.moduleId - })), - startParams + runtimeNodes: runtimeNodes.map((item) => + item.nodeId === toolNode.nodeId + ? { + ...item, + isEntry: true, + inputs: updateToolInputValue({ params: startParams, inputs: item.inputs }) + } + : item + ) }); const stringToolResponse = (() => { - if (typeof moduleRunResponse.toolResponses === 'object') { - return JSON.stringify(moduleRunResponse.toolResponses, null, 2); + if (typeof toolRunResponse.toolResponses === 'object') { + return JSON.stringify(toolRunResponse.toolResponses, null, 2); } - return moduleRunResponse.toolResponses ? String(moduleRunResponse.toolResponses) : 'none'; + return toolRunResponse.toolResponses ? String(toolRunResponse.toolResponses) : 'none'; })(); const toolMsgParams: ChatCompletionToolMessageParam = { @@ -202,15 +198,15 @@ export const runToolWithToolChoice = async ( } return { - moduleRunResponse, + toolRunResponse, toolMsgParams }; }) ) ).filter(Boolean) as ToolRunResponseType; - const flatToolsResponseData = toolsRunResponse.map((item) => item.moduleRunResponse).flat(); - if (toolCalls.length > 0 && !res.closed) { + const flatToolsResponseData = toolsRunResponse.map((item) => item.toolRunResponse).flat(); + if (toolCalls.length > 0 && !res?.closed) { // Run the tool, combine its results, and perform another round of AI calls const assistantToolMsgParams: ChatCompletionAssistantToolParam = { role: ChatCompletionRequestMessageRoleEnum.Assistant, @@ -220,7 +216,7 @@ export const runToolWithToolChoice = async ( ...filterMessages, assistantToolMsgParams ] as ChatCompletionMessageParam[]; - const tokens = countGptMessagesTokens(concatToolMessages, tools); + const tokens = await countGptMessagesTokens(concatToolMessages, tools); const completeMessages = [ ...concatToolMessages, ...toolsRunResponse.map((item) => item?.toolMsgParams) @@ -231,14 +227,14 @@ export const runToolWithToolChoice = async ( if (stream && detail) { responseWriteNodeStatus({ res, - name: module.name + name: node.name }); } // tool assistant const toolAssistants = toolsRunResponse .map((item) => { - const assistantResponses = item.moduleRunResponse.assistantResponses || []; + const assistantResponses = item.toolRunResponse.assistantResponses || []; return assistantResponses; }) .flat(); @@ -289,7 +285,7 @@ export const runToolWithToolChoice = async ( content: answer }; const completeMessages = filterMessages.concat(gptAssistantResponse); - const tokens = countGptMessagesTokens(completeMessages, tools); + const tokens = await countGptMessagesTokens(completeMessages, tools); // console.log(tokens, 'response token'); // concat tool assistant @@ -307,12 +303,12 @@ export const runToolWithToolChoice = async ( async function streamResponse({ res, detail, - toolModules, + toolNodes, stream }: { res: NextApiResponse; detail: boolean; - toolModules: ToolModuleItemType[]; + toolNodes: ToolNodeItemType[]; stream: StreamChatType; }) { const write = responseWriteController({ @@ -347,18 +343,16 @@ async function streamResponse({ // 流响应中,每次只会返回一个工具. 如果带了 id,说明是执行一个工具 if (toolCall.id) { - const toolModule = toolModules.find( - (module) => module.moduleId === toolCall.function?.name - ); + const toolNode = toolNodes.find((item) => item.nodeId === toolCall.function?.name); - if (toolModule) { + if (toolNode) { if (toolCall.function?.arguments === undefined) { toolCall.function.arguments = ''; } toolCalls.push({ ...toolCall, - toolName: toolModule.name, - toolAvatar: toolModule.avatar + toolName: toolNode.name, + toolAvatar: toolNode.avatar }); if (detail) { @@ -368,8 +362,8 @@ async function streamResponse({ data: JSON.stringify({ tool: { id: toolCall.id, - toolName: toolModule.name, - toolAvatar: toolModule.avatar, + toolName: toolNode.name, + toolAvatar: toolNode.avatar, functionName: toolCall.function.name, params: toolCall.function.arguments, response: '' diff --git a/packages/service/core/workflow/dispatch/agent/runTool/type.d.ts b/packages/service/core/workflow/dispatch/agent/runTool/type.d.ts index 6eb4375a6e..9a63ec719f 100644 --- a/packages/service/core/workflow/dispatch/agent/runTool/type.d.ts +++ b/packages/service/core/workflow/dispatch/agent/runTool/type.d.ts @@ -1,20 +1,19 @@ import { ChatCompletionMessageParam } from '@fastgpt/global/core/ai/type'; -import { ModuleInputKeyEnum, ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { FlowNodeInputItemType } from '@fastgpt/global/core/module/node/type'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; import type { ModuleDispatchProps, DispatchNodeResponseType -} from '@fastgpt/global/core/module/type.d'; -import type { RunningModuleItemType } from '@fastgpt/global/core/module/runtime/type'; +} from '@fastgpt/global/core/workflow/type/index.d'; +import type { RuntimeNodeItemType } from '@fastgpt/global/core/workflow/runtime/type'; import { ChatNodeUsageType } from '@fastgpt/global/support/wallet/bill/type'; import type { DispatchFlowResponse } from '../../type.d'; import { AIChatItemValueItemType, ChatItemValueItemType } from '@fastgpt/global/core/chat/type'; export type DispatchToolModuleProps = ModuleDispatchProps<{ - [ModuleInputKeyEnum.history]?: ChatItemType[]; - [ModuleInputKeyEnum.aiModel]: string; - [ModuleInputKeyEnum.aiSystemPrompt]: string; - [ModuleInputKeyEnum.userChatInput]: string; + [NodeInputKeyEnum.history]?: ChatItemType[]; + [NodeInputKeyEnum.aiModel]: string; + [NodeInputKeyEnum.aiSystemPrompt]: string; + [NodeInputKeyEnum.userChatInput]: string; }>; export type RunToolResponse = { @@ -23,6 +22,6 @@ export type RunToolResponse = { completeMessages?: ChatCompletionMessageParam[]; assistantResponses?: AIChatItemValueItemType[]; }; -export type ToolModuleItemType = RunningModuleItemType & { - toolParams: RunningModuleItemType['inputs']; +export type ToolNodeItemType = RuntimeNodeItemType & { + toolParams: RuntimeNodeItemType['inputs']; }; diff --git a/packages/service/core/workflow/dispatch/agent/runTool/utils.ts b/packages/service/core/workflow/dispatch/agent/runTool/utils.ts new file mode 100644 index 0000000000..11d25e9479 --- /dev/null +++ b/packages/service/core/workflow/dispatch/agent/runTool/utils.ts @@ -0,0 +1,14 @@ +import { FlowNodeInputItemType } from '@fastgpt/global/core/workflow/type/io'; + +export const updateToolInputValue = ({ + params, + inputs +}: { + params: Record; + inputs: FlowNodeInputItemType[]; +}) => { + return inputs.map((input) => ({ + ...input, + value: params[input.key] ?? input.value + })); +}; diff --git a/packages/service/core/workflow/dispatch/chat/oneapi.ts b/packages/service/core/workflow/dispatch/chat/oneapi.ts index 4f516860ef..67e35df338 100644 --- a/packages/service/core/workflow/dispatch/chat/oneapi.ts +++ b/packages/service/core/workflow/dispatch/chat/oneapi.ts @@ -6,8 +6,8 @@ import { } from '../../../chat/utils'; import type { ChatItemType, UserChatItemValueItemType } from '@fastgpt/global/core/chat/type.d'; import { ChatRoleEnum } from '@fastgpt/global/core/chat/constants'; -import { SseResponseEventEnum } from '@fastgpt/global/core/module/runtime/constants'; -import { textAdaptGptResponse } from '@fastgpt/global/core/module/runtime/utils'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { textAdaptGptResponse } from '@fastgpt/global/core/workflow/runtime/utils'; import { getAIApi } from '../../../ai/config'; import type { ChatCompletion, @@ -18,12 +18,11 @@ import { formatModelChars2Points } from '../../../../support/wallet/usage/utils' import type { LLMModelItemType } from '@fastgpt/global/core/ai/model.d'; import { postTextCensor } from '../../../../common/api/requestPlusApi'; import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; -import type { ModuleItemType } from '@fastgpt/global/core/module/type.d'; -import type { DispatchNodeResultType } from '@fastgpt/global/core/module/runtime/type'; +import type { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; import { countGptMessagesTokens, countMessagesTokens -} from '@fastgpt/global/common/string/tiktoken'; +} from '../../../../common/string/tiktoken/index'; import { chats2GPTMessages, getSystemPrompt, @@ -34,28 +33,28 @@ import { Prompt_QuotePromptList, Prompt_QuoteTemplateList } from '@fastgpt/global/core/ai/prompt/AIChat'; -import type { AIChatModuleProps } from '@fastgpt/global/core/module/node/type.d'; +import type { AIChatNodeProps } from '@fastgpt/global/core/workflow/runtime/type.d'; import { replaceVariable } from '@fastgpt/global/common/string/tools'; -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; import { responseWrite, responseWriteController } from '../../../../common/response'; import { getLLMModel, ModelTypeEnum } from '../../../ai/model'; import type { SearchDataResponseItemType } from '@fastgpt/global/core/dataset/type'; -import { ModuleInputKeyEnum, ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; import { getHistories } from '../utils'; -import { filterSearchResultsByMaxChars } from '@fastgpt/global/core/dataset/search/utils'; +import { filterSearchResultsByMaxChars } from '../../utils'; import { getHistoryPreview } from '@fastgpt/global/core/chat/utils'; export type ChatProps = ModuleDispatchProps< - AIChatModuleProps & { - [ModuleInputKeyEnum.userChatInput]: string; - [ModuleInputKeyEnum.history]?: ChatItemType[] | number; - [ModuleInputKeyEnum.aiChatDatasetQuote]?: SearchDataResponseItemType[]; + AIChatNodeProps & { + [NodeInputKeyEnum.userChatInput]: string; + [NodeInputKeyEnum.history]?: ChatItemType[] | number; + [NodeInputKeyEnum.aiChatDatasetQuote]?: SearchDataResponseItemType[]; } >; export type ChatResponse = DispatchNodeResultType<{ - [ModuleOutputKeyEnum.answerText]: string; - [ModuleOutputKeyEnum.history]: ChatItemType[]; + [NodeOutputKeyEnum.answerText]: string; + [NodeOutputKeyEnum.history]: ChatItemType[]; }>; /* request openai chat */ @@ -66,7 +65,7 @@ export const dispatchChatCompletion = async (props: ChatProps): Promise { - if (stream) { + if (res && stream) { // sse response const { answer } = await streamResponse({ res, @@ -190,8 +189,6 @@ export const dispatchChatCompletion = async (props: ChatProps): Promise 0 @@ -273,7 +270,7 @@ function filterQuote({ quoteText }; } -function getChatMessages({ +async function getChatMessages({ quotePrompt, quoteText, quoteQA, @@ -313,7 +310,7 @@ function getChatMessages({ ]; const adaptMessages = chats2GPTMessages({ messages, reserveId: false }); - const filterMessages = filterGPTMessageByMaxTokens({ + const filterMessages = await filterGPTMessageByMaxTokens({ messages: adaptMessages, maxTokens: model.maxContext - 300 // filter token. not response maxToken }); @@ -322,7 +319,7 @@ function getChatMessages({ filterMessages }; } -function getMaxTokens({ +async function getMaxTokens({ maxToken, model, filterMessages = [] @@ -335,7 +332,7 @@ function getMaxTokens({ const tokensLimit = model.maxContext; /* count response max token */ - const promptsToken = countGptMessagesTokens(filterMessages); + const promptsToken = await countGptMessagesTokens(filterMessages); maxToken = promptsToken + maxToken > tokensLimit ? tokensLimit - promptsToken : maxToken; if (maxToken <= 0) { @@ -346,28 +343,6 @@ function getMaxTokens({ }; } -function targetResponse({ - res, - outputs, - detail -}: { - res: NextApiResponse; - outputs: ModuleItemType['outputs']; - detail: boolean; -}) { - const targets = - outputs.find((output) => output.key === ModuleOutputKeyEnum.answerText)?.targets || []; - - if (targets.length === 0) return; - responseWrite({ - res, - event: detail ? SseResponseEventEnum.answer : undefined, - data: textAdaptGptResponse({ - text: '\n' - }) - }); -} - async function streamResponse({ res, detail, diff --git a/packages/service/core/workflow/dispatch/code/isolatedvm.ts b/packages/service/core/workflow/dispatch/code/isolatedvm.ts new file mode 100644 index 0000000000..d51685a210 --- /dev/null +++ b/packages/service/core/workflow/dispatch/code/isolatedvm.ts @@ -0,0 +1,38 @@ +import { addLog } from '../../../../common/system/log'; +const ivm = require('isolated-vm'); + +export const runJsCode = ({ + code, + variables +}: { + code: string; + variables: Record; +}) => { + const isolate = new ivm.Isolate({ memoryLimit: 16 }); + const context = isolate.createContextSync(); + const jail = context.global; + + return new Promise((resolve, reject) => { + // custom log function + jail.setSync('responseData', function (args: any): any { + if (typeof args === 'object') { + resolve(args); + } else { + reject('Not an invalid response'); + } + }); + + // Add global variables + jail.setSync('variables', new ivm.ExternalCopy(variables).copyInto()); + + try { + const scriptCode = ` + ${code} + responseData(main(variables))`; + context.evalSync(scriptCode, { timeout: 2000 }); + } catch (err) { + addLog.error('Error during script execution:', err); + reject(err); + } + }); +}; diff --git a/packages/service/core/workflow/dispatch/dataset/concat.ts b/packages/service/core/workflow/dispatch/dataset/concat.ts index b590028455..ccc3d8fc70 100644 --- a/packages/service/core/workflow/dispatch/dataset/concat.ts +++ b/packages/service/core/workflow/dispatch/dataset/concat.ts @@ -1,16 +1,16 @@ import type { SearchDataResponseItemType } from '@fastgpt/global/core/dataset/type'; -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; -import { ModuleInputKeyEnum, ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; import { datasetSearchResultConcat } from '@fastgpt/global/core/dataset/search/utils'; -import { filterSearchResultsByMaxChars } from '@fastgpt/global/core/dataset/search/utils'; +import { filterSearchResultsByMaxChars } from '../../utils'; type DatasetConcatProps = ModuleDispatchProps< { - [ModuleInputKeyEnum.datasetMaxTokens]: number; + [NodeInputKeyEnum.datasetMaxTokens]: number; } & { [key: string]: SearchDataResponseItemType[] } >; type DatasetConcatResponse = { - [ModuleOutputKeyEnum.datasetQuoteQA]: SearchDataResponseItemType[]; + [NodeOutputKeyEnum.datasetQuoteQA]: SearchDataResponseItemType[]; }; export async function dispatchDatasetConcat( @@ -30,6 +30,6 @@ export async function dispatchDatasetConcat( ); return { - [ModuleOutputKeyEnum.datasetQuoteQA]: filterSearchResultsByMaxChars(rrfConcatResults, limit) + [NodeOutputKeyEnum.datasetQuoteQA]: await filterSearchResultsByMaxChars(rrfConcatResults, limit) }; } diff --git a/packages/service/core/workflow/dispatch/dataset/search.ts b/packages/service/core/workflow/dispatch/dataset/search.ts index b8ee55ea75..bd8368d58f 100644 --- a/packages/service/core/workflow/dispatch/dataset/search.ts +++ b/packages/service/core/workflow/dispatch/dataset/search.ts @@ -1,15 +1,15 @@ import { DispatchNodeResponseType, DispatchNodeResultType -} from '@fastgpt/global/core/module/runtime/type.d'; +} from '@fastgpt/global/core/workflow/runtime/type.d'; import { formatModelChars2Points } from '../../../../support/wallet/usage/utils'; -import type { SelectedDatasetType } from '@fastgpt/global/core/module/api.d'; +import type { SelectedDatasetType } from '@fastgpt/global/core/workflow/api.d'; import type { SearchDataResponseItemType } from '@fastgpt/global/core/dataset/type'; -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; import { ModelTypeEnum, getLLMModel, getVectorModel } from '../../../ai/model'; import { searchDatasetData } from '../../../dataset/search/controller'; -import { ModuleInputKeyEnum, ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; import { DatasetSearchModeEnum } from '@fastgpt/global/core/dataset/constants'; import { getHistories } from '../utils'; import { datasetSearchQueryExtension } from '../../../dataset/search/utils'; @@ -17,20 +17,18 @@ import { ChatNodeUsageType } from '@fastgpt/global/support/wallet/bill/type'; import { checkTeamReRankPermission } from '../../../../support/permission/teamLimit'; type DatasetSearchProps = ModuleDispatchProps<{ - [ModuleInputKeyEnum.datasetSelectList]: SelectedDatasetType; - [ModuleInputKeyEnum.datasetSimilarity]: number; - [ModuleInputKeyEnum.datasetMaxTokens]: number; - [ModuleInputKeyEnum.datasetSearchMode]: `${DatasetSearchModeEnum}`; - [ModuleInputKeyEnum.userChatInput]: string; - [ModuleInputKeyEnum.datasetSearchUsingReRank]: boolean; - [ModuleInputKeyEnum.datasetSearchUsingExtensionQuery]: boolean; - [ModuleInputKeyEnum.datasetSearchExtensionModel]: string; - [ModuleInputKeyEnum.datasetSearchExtensionBg]: string; + [NodeInputKeyEnum.datasetSelectList]: SelectedDatasetType; + [NodeInputKeyEnum.datasetSimilarity]: number; + [NodeInputKeyEnum.datasetMaxTokens]: number; + [NodeInputKeyEnum.datasetSearchMode]: `${DatasetSearchModeEnum}`; + [NodeInputKeyEnum.userChatInput]: string; + [NodeInputKeyEnum.datasetSearchUsingReRank]: boolean; + [NodeInputKeyEnum.datasetSearchUsingExtensionQuery]: boolean; + [NodeInputKeyEnum.datasetSearchExtensionModel]: string; + [NodeInputKeyEnum.datasetSearchExtensionBg]: string; }>; export type DatasetSearchResponse = DispatchNodeResultType<{ - [ModuleOutputKeyEnum.datasetIsEmpty]?: boolean; - [ModuleOutputKeyEnum.datasetUnEmpty]?: boolean; - [ModuleOutputKeyEnum.datasetQuoteQA]: SearchDataResponseItemType[]; + [NodeOutputKeyEnum.datasetQuoteQA]: SearchDataResponseItemType[]; }>; export async function dispatchDatasetSearch( @@ -39,7 +37,7 @@ export async function dispatchDatasetSearch( const { teamId, histories, - module, + node, params: { datasets = [], similarity, @@ -67,10 +65,10 @@ export async function dispatchDatasetSearch( } // query extension - const extensionModel = - datasetSearchUsingExtensionQuery && datasetSearchExtensionModel - ? getLLMModel(datasetSearchExtensionModel) - : undefined; + const extensionModel = datasetSearchUsingExtensionQuery + ? getLLMModel(datasetSearchExtensionModel) + : undefined; + const { concatQueries, rewriteQuery, aiExtensionResult } = await datasetSearchQueryExtension({ query: userChatInput, extensionModel, @@ -122,7 +120,7 @@ export async function dispatchDatasetSearch( const nodeDispatchUsages: ChatNodeUsageType[] = [ { totalPoints, - moduleName: module.name, + moduleName: node.name, model: modelName, tokens } @@ -151,8 +149,6 @@ export async function dispatchDatasetSearch( } return { - isEmpty: searchRes.length === 0 ? true : undefined, - unEmpty: searchRes.length > 0 ? true : undefined, quoteQA: searchRes, [DispatchNodeResponseKeyEnum.nodeResponse]: responseData, nodeDispatchUsages, diff --git a/packages/service/core/workflow/dispatch/index.ts b/packages/service/core/workflow/dispatch/index.ts index a06cb39105..e074917397 100644 --- a/packages/service/core/workflow/dispatch/index.ts +++ b/packages/service/core/workflow/dispatch/index.ts @@ -1,54 +1,57 @@ import { NextApiResponse } from 'next'; -import { ModuleInputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; -import { ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; -import type { ChatDispatchProps } from '@fastgpt/global/core/module/type.d'; -import type { RunningModuleItemType } from '@fastgpt/global/core/module/runtime/type.d'; -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; +import { NodeInputKeyEnum, WorkflowIOValueTypeEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import type { ChatDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; +import type { RuntimeNodeItemType } from '@fastgpt/global/core/workflow/runtime/type.d'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; import type { AIChatItemValueItemType, ChatHistoryItemResType, ToolRunResponseItemType } from '@fastgpt/global/core/chat/type.d'; -import { FlowNodeInputTypeEnum, FlowNodeTypeEnum } from '@fastgpt/global/core/module/node/constant'; -import { ModuleItemType } from '@fastgpt/global/core/module/type'; +import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; import { replaceVariable } from '@fastgpt/global/common/string/tools'; import { responseWriteNodeStatus } from '../../../common/response'; import { getSystemTime } from '@fastgpt/global/common/time/timezone'; -import { dispatchHistory } from './init/history'; -import { dispatchChatInput } from './init/userChatInput'; +import { dispatchWorkflowStart } from './init/workflowStart'; import { dispatchChatCompletion } from './chat/oneapi'; import { dispatchDatasetSearch } from './dataset/search'; import { dispatchDatasetConcat } from './dataset/concat'; import { dispatchAnswer } from './tools/answer'; import { dispatchClassifyQuestion } from './agent/classifyQuestion'; import { dispatchContentExtract } from './agent/extract'; -import { dispatchHttpRequest } from './tools/http'; import { dispatchHttp468Request } from './tools/http468'; import { dispatchAppRequest } from './tools/runApp'; import { dispatchQueryExtension } from './tools/queryExternsion'; import { dispatchRunPlugin } from './plugin/run'; import { dispatchPluginInput } from './plugin/runInput'; import { dispatchPluginOutput } from './plugin/runOutput'; -import { checkTheModuleConnectedByTool, valueTypeFormat } from './utils'; +import { valueTypeFormat } from './utils'; +import { + filterWorkflowEdges, + checkNodeRunStatus +} from '@fastgpt/global/core/workflow/runtime/utils'; import { ChatNodeUsageType } from '@fastgpt/global/support/wallet/bill/type'; import { dispatchRunTools } from './agent/runTool/index'; import { ChatItemValueTypeEnum } from '@fastgpt/global/core/chat/constants'; import { DispatchFlowResponse } from './type'; import { dispatchStopToolCall } from './agent/runTool/stopTool'; import { dispatchLafRequest } from './tools/runLaf'; +import { dispatchIfElse } from './tools/runIfElse'; +import { RuntimeEdgeItemType } from '@fastgpt/global/core/workflow/type/edge'; +import { getReferenceVariableValue } from '@fastgpt/global/core/workflow/runtime/utils'; +import { dispatchSystemConfig } from './init/systemConfiig'; const callbackMap: Record<`${FlowNodeTypeEnum}`, Function> = { - [FlowNodeTypeEnum.historyNode]: dispatchHistory, - [FlowNodeTypeEnum.questionInput]: dispatchChatInput, + [FlowNodeTypeEnum.workflowStart]: dispatchWorkflowStart, [FlowNodeTypeEnum.answerNode]: dispatchAnswer, [FlowNodeTypeEnum.chatNode]: dispatchChatCompletion, [FlowNodeTypeEnum.datasetSearchNode]: dispatchDatasetSearch, [FlowNodeTypeEnum.datasetConcatNode]: dispatchDatasetConcat, [FlowNodeTypeEnum.classifyQuestion]: dispatchClassifyQuestion, [FlowNodeTypeEnum.contentExtract]: dispatchContentExtract, - [FlowNodeTypeEnum.httpRequest]: dispatchHttpRequest, [FlowNodeTypeEnum.httpRequest468]: dispatchHttp468Request, [FlowNodeTypeEnum.runApp]: dispatchAppRequest, [FlowNodeTypeEnum.pluginModule]: dispatchRunPlugin, @@ -58,17 +61,19 @@ const callbackMap: Record<`${FlowNodeTypeEnum}`, Function> = { [FlowNodeTypeEnum.tools]: dispatchRunTools, [FlowNodeTypeEnum.stopTool]: dispatchStopToolCall, [FlowNodeTypeEnum.lafModule]: dispatchLafRequest, + [FlowNodeTypeEnum.ifElseNode]: dispatchIfElse, // none - [FlowNodeTypeEnum.userGuide]: () => Promise.resolve() + [FlowNodeTypeEnum.systemConfig]: dispatchSystemConfig, + [FlowNodeTypeEnum.emptyNode]: () => Promise.resolve(), + [FlowNodeTypeEnum.globalVariable]: () => Promise.resolve() }; /* running */ export async function dispatchWorkFlow({ res, - modules = [], - runtimeModules, - startParams = {}, + runtimeNodes = [], + runtimeEdges = [], histories = [], variables = {}, user, @@ -76,12 +81,11 @@ export async function dispatchWorkFlow({ detail = false, ...props }: ChatDispatchProps & { - modules?: ModuleItemType[]; // app modules - runtimeModules?: RunningModuleItemType[]; - startParams?: Record; // entry module params + runtimeNodes: RuntimeNodeItemType[]; + runtimeEdges: RuntimeEdgeItemType[]; }): Promise { // set sse response headers - if (stream) { + if (stream && res) { res.setHeader('Content-Type', 'text/event-stream;charset=utf-8'); res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('X-Accel-Buffering', 'no'); @@ -92,17 +96,17 @@ export async function dispatchWorkFlow({ ...getSystemVariable({ timezone: user.timezone }), ...variables }; - const runningModules = runtimeModules ? runtimeModules : loadModules(modules, variables); let chatResponses: ChatHistoryItemResType[] = []; // response request and save to database let chatAssistantResponse: AIChatItemValueItemType[] = []; // The value will be returned to the user let chatNodeUsages: ChatNodeUsageType[] = []; let toolRunResponse: ToolRunResponseItemType; let runningTime = Date.now(); + let debugNextStepRunNodes: RuntimeNodeItemType[] = []; /* Store special response field */ function pushStore( - { inputs = [] }: RunningModuleItemType, + { inputs = [] }: RuntimeNodeItemType, { answerText = '', responseData, @@ -110,7 +114,7 @@ export async function dispatchWorkFlow({ toolResponses, assistantResponses }: { - [ModuleOutputKeyEnum.answerText]?: string; + [NodeOutputKeyEnum.answerText]?: string; [DispatchNodeResponseKeyEnum.nodeResponse]?: ChatHistoryItemResType; [DispatchNodeResponseKeyEnum.nodeDispatchUsages]?: ChatNodeUsageType[]; [DispatchNodeResponseKeyEnum.toolResponses]?: ToolRunResponseItemType; @@ -143,7 +147,7 @@ export async function dispatchWorkFlow({ // save assistant text response if (answerText) { const isResponseAnswerText = - inputs.find((item) => item.key === ModuleInputKeyEnum.aiChatIsResponseText)?.value ?? true; + inputs.find((item) => item.key === NodeInputKeyEnum.aiChatIsResponseText)?.value ?? true; if (isResponseAnswerText) { chatAssistantResponse.push({ type: ChatItemValueTypeEnum.text, @@ -156,85 +160,112 @@ export async function dispatchWorkFlow({ runningTime = time; } - /* Inject data into module input */ - function moduleInput(module: RunningModuleItemType, data: Record = {}) { - const updateInputValue = (key: string, value: any) => { - const index = module.inputs.findIndex((item: any) => item.key === key); - if (index === -1) return; - module.inputs[index].value = value; - }; - Object.entries(data).map(([key, val]: any) => { - updateInputValue(key, val); - }); - - return; - } /* Pass the output of the module to the next stage */ - function moduleOutput( - module: RunningModuleItemType, + function nodeOutput( + node: RuntimeNodeItemType, result: Record = {} - ): Promise { - pushStore(module, result); - - const nextRunModules: RunningModuleItemType[] = []; + ): RuntimeNodeItemType[] { + pushStore(node, result); - // Assign the output value to the next module - module.outputs.map((outputItem) => { + // Assign the output value to the next node + node.outputs.forEach((outputItem) => { if (result[outputItem.key] === undefined) return; /* update output value */ outputItem.value = result[outputItem.key]; + }); - /* update target */ - outputItem.targets.map((target: any) => { - // find module - const targetModule = runningModules.find((item) => item.moduleId === target.moduleId); - if (!targetModule) return; - - // push to running queue - nextRunModules.push(targetModule); + // Get next source edges and update status + const skipHandleId = (result[DispatchNodeResponseKeyEnum.skipHandleId] || []) as string[]; + const targetEdges = filterWorkflowEdges(runtimeEdges).filter( + (item) => item.source === node.nodeId + ); - // update input - moduleInput(targetModule, { [target.key]: outputItem.value }); - }); + // update edge status + targetEdges.forEach((edge) => { + if (skipHandleId.includes(edge.sourceHandle)) { + edge.status = 'skipped'; + } else { + edge.status = 'active'; + } }); - // Ensure the uniqueness of running modules - const set = new Set(); - const filterModules = nextRunModules.filter((module) => { - if (set.has(module.moduleId)) return false; - set.add(module.moduleId); - return true; + const nextStepNodes = runtimeNodes.filter((node) => { + return targetEdges.some((item) => item.target === node.nodeId); }); - return checkModulesCanRun(filterModules); + if (props.mode === 'debug') { + debugNextStepRunNodes = debugNextStepRunNodes.concat(nextStepNodes); + return []; + } + + return nextStepNodes; } - function checkModulesCanRun(modules: RunningModuleItemType[] = []) { + function checkNodeCanRun(nodes: RuntimeNodeItemType[] = []): Promise { return Promise.all( - modules.map((module) => { - if (!module.inputs.find((item: any) => item.value === undefined)) { - // remove switch - moduleInput(module, { [ModuleInputKeyEnum.switch]: undefined }); - return moduleRun(module); + nodes.map((node) => { + const status = checkNodeRunStatus({ + node, + runtimeEdges + }); + + if (status === 'run') { + return nodeRunWithActive(node); } + if (status === 'skip') { + return nodeRunWithSkip(node); + } + + return []; }) - ); + ).then((result) => { + const flat = result.flat(); + if (flat.length === 0) return; + // update output + const nextNodes = flat.map((item) => nodeOutput(item.node, item.result)).flat(); + return checkNodeCanRun(nextNodes); + }); + } + // 运行完一轮后,清除连线的状态,避免污染进程 + function nodeRunFinish(node: RuntimeNodeItemType) { + const edges = runtimeEdges.filter((item) => item.target === node.nodeId); + edges.forEach((item) => { + item.status = 'waiting'; + }); } - async function moduleRun(module: RunningModuleItemType): Promise { - if (res.closed || props.maxRunTimes <= 0) return Promise.resolve(); + /* Inject data into module input */ + function getNodeRunParams(node: RuntimeNodeItemType) { + const params: Record = {}; + node.inputs.forEach((input) => { + // replace {{}} variables + let value = replaceVariable(input.value, variables); + + // replace reference variables + value = getReferenceVariableValue({ + value, + nodes: runtimeNodes, + variables + }); + // console.log(JSON.stringify(input, null, 2), '====================='); + + // format valueType + params[input.key] = valueTypeFormat(value, input.valueType); + }); - if (stream && detail && module.showStatus) { + return params; + } + async function nodeRunWithActive(node: RuntimeNodeItemType) { + if (res?.closed || props.maxRunTimes <= 0) return []; + // push run status messages + if (res && stream && detail && node.showStatus) { responseStatus({ res, - name: module.name, + name: node.name, status: 'running' }); } - // get module running params - const params: Record = {}; - module.inputs.forEach((item) => { - params[item.key] = valueTypeFormat(item.value, item.valueType); - }); + // get node running params + const params = getNodeRunParams(node); const dispatchData: ModuleDispatchProps> = { ...props, @@ -244,15 +275,16 @@ export async function dispatchWorkFlow({ user, stream, detail, - module, - runtimeModules: runningModules, + node, + runtimeNodes, + runtimeEdges, params }; // run module const dispatchRes: Record = await (async () => { - if (callbackMap[module.flowType]) { - return callbackMap[module.flowType](dispatchData); + if (callbackMap[node.flowNodeType]) { + return callbackMap[node.flowNodeType](dispatchData); } return {}; })(); @@ -261,139 +293,74 @@ export async function dispatchWorkFlow({ const formatResponseData: ChatHistoryItemResType = (() => { if (!dispatchRes[DispatchNodeResponseKeyEnum.nodeResponse]) return undefined; return { - moduleName: module.name, - moduleType: module.flowType, + nodeId: node.nodeId, + moduleName: node.name, + moduleType: node.flowNodeType, ...dispatchRes[DispatchNodeResponseKeyEnum.nodeResponse] }; })(); // Add output default value - module.outputs.forEach((item) => { + node.outputs.forEach((item) => { if (!item.required) return; if (dispatchRes[item.key] !== undefined) return; dispatchRes[item.key] = valueTypeFormat(item.defaultValue, item.valueType); }); - // Pass userChatInput - const hasUserChatInputTarget = !!module.outputs.find( - (item) => item.key === ModuleOutputKeyEnum.userChatInput - )?.targets?.length; - - return moduleOutput(module, { - [ModuleOutputKeyEnum.finish]: true, - [ModuleOutputKeyEnum.userChatInput]: hasUserChatInputTarget - ? params[ModuleOutputKeyEnum.userChatInput] - : undefined, - ...dispatchRes, - [DispatchNodeResponseKeyEnum.nodeResponse]: formatResponseData, - [DispatchNodeResponseKeyEnum.nodeDispatchUsages]: - dispatchRes[DispatchNodeResponseKeyEnum.nodeDispatchUsages] - }); + nodeRunFinish(node); + + return { + node, + result: { + ...dispatchRes, + [DispatchNodeResponseKeyEnum.nodeResponse]: formatResponseData + } + }; + } + async function nodeRunWithSkip(node: RuntimeNodeItemType) { + // 其后所有target的节点,都设置为skip + const targetEdges = runtimeEdges.filter((item) => item.source === node.nodeId); + nodeRunFinish(node); + + return { + node, + result: { + [DispatchNodeResponseKeyEnum.skipHandleId]: targetEdges.map((item) => item.sourceHandle) + } + }; } + // start process width initInput - const initModules = runningModules.filter((item) => item.isEntry); + const entryNodes = runtimeNodes.filter((item) => item.isEntry); + // reset entry - modules.forEach((item) => { + runtimeNodes.forEach((item) => { item.isEntry = false; }); - - initModules.map((module) => - moduleInput(module, { - ...startParams, - history: [] // abandon history field. History module will get histories from other fields. - }) - ); - await checkModulesCanRun(initModules); + await checkNodeCanRun(entryNodes); // focus try to run pluginOutput - const pluginOutputModule = runningModules.find( - (item) => item.flowType === FlowNodeTypeEnum.pluginOutput + const pluginOutputModule = runtimeNodes.find( + (item) => item.flowNodeType === FlowNodeTypeEnum.pluginOutput ); - if (pluginOutputModule) { - await moduleRun(pluginOutputModule); + if (pluginOutputModule && props.mode !== 'debug') { + await nodeRunWithActive(pluginOutputModule); } return { flowResponses: chatResponses, flowUsages: chatNodeUsages, + debugResponse: { + finishedNodes: runtimeNodes, + finishedEdges: runtimeEdges, + nextStepRunNodes: debugNextStepRunNodes + }, [DispatchNodeResponseKeyEnum.assistantResponses]: - concatAssistantResponseAnswerText(chatAssistantResponse), + mergeAssistantResponseAnswerText(chatAssistantResponse), [DispatchNodeResponseKeyEnum.toolResponses]: toolRunResponse }; } -/* init store modules to running modules */ -function loadModules( - modules: ModuleItemType[], - variables: Record -): RunningModuleItemType[] { - return modules - .filter((item) => { - return ![FlowNodeTypeEnum.userGuide].includes(item.moduleId as any); - }) - .map((module) => { - return { - moduleId: module.moduleId, - name: module.name, - avatar: module.avatar, - intro: module.intro, - flowType: module.flowType, - showStatus: module.showStatus, - isEntry: module.isEntry, - inputs: module.inputs - .filter( - /* - 1. system input must be save - 2. connected by source handle - 3. manual input value or have default value - 4. For the module connected by the tool, leave the toolDescription input - */ - (item) => { - const isTool = checkTheModuleConnectedByTool(modules, module); - - if (isTool && item.toolDescription) { - return true; - } - - return ( - item.type === FlowNodeInputTypeEnum.systemInput || - item.connected || - item.value !== undefined - ); - } - ) // filter unconnected target input - .map((item) => { - const replace = ['string'].includes(typeof item.value); - - return { - key: item.key, - // variables replace - value: replace ? replaceVariable(item.value, variables) : item.value, - valueType: item.valueType, - required: item.required, - toolDescription: item.toolDescription - }; - }), - outputs: module.outputs - .map((item) => ({ - key: item.key, - required: item.required, - defaultValue: item.defaultValue, - answer: item.key === ModuleOutputKeyEnum.answerText, - value: undefined, - valueType: item.valueType, - targets: item.targets - })) - .sort((a, b) => { - // finish output always at last - if (a.key === ModuleOutputKeyEnum.finish) return 1; - if (b.key === ModuleOutputKeyEnum.finish) return -1; - return 0; - }) - }; - }); -} - /* sse response modules staus */ export function responseStatus({ res, @@ -418,7 +385,8 @@ export function getSystemVariable({ timezone }: { timezone: string }) { }; } -export const concatAssistantResponseAnswerText = (response: AIChatItemValueItemType[]) => { +/* Merge consecutive text messages into one */ +export const mergeAssistantResponseAnswerText = (response: AIChatItemValueItemType[]) => { const result: AIChatItemValueItemType[] = []; // 合并连续的text for (let i = 0; i < response.length; i++) { diff --git a/packages/service/core/workflow/dispatch/init/systemConfiig.tsx b/packages/service/core/workflow/dispatch/init/systemConfiig.tsx new file mode 100644 index 0000000000..56c074dccf --- /dev/null +++ b/packages/service/core/workflow/dispatch/init/systemConfiig.tsx @@ -0,0 +1,10 @@ +import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; +export type UserChatInputProps = ModuleDispatchProps<{ + [NodeInputKeyEnum.userChatInput]: string; +}>; + +export const dispatchSystemConfig = (props: Record) => { + const { variables } = props as UserChatInputProps; + return variables; +}; diff --git a/packages/service/core/workflow/dispatch/init/workflowStart.tsx b/packages/service/core/workflow/dispatch/init/workflowStart.tsx new file mode 100644 index 0000000000..1960f829ba --- /dev/null +++ b/packages/service/core/workflow/dispatch/init/workflowStart.tsx @@ -0,0 +1,15 @@ +import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; +export type UserChatInputProps = ModuleDispatchProps<{ + [NodeInputKeyEnum.userChatInput]: string; +}>; + +export const dispatchWorkflowStart = (props: Record) => { + const { + variables: { userChatInput }, + params: { userChatInput: query } + } = props as UserChatInputProps; + return { + userChatInput: query || userChatInput + }; +}; diff --git a/packages/service/core/workflow/dispatch/plugin/run.ts b/packages/service/core/workflow/dispatch/plugin/run.ts index af974e4516..1ef1bcdc16 100644 --- a/packages/service/core/workflow/dispatch/plugin/run.ts +++ b/packages/service/core/workflow/dispatch/plugin/run.ts @@ -1,25 +1,31 @@ -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; import { dispatchWorkFlow } from '../index'; -import { FlowNodeTypeEnum } from '@fastgpt/global/core/module/node/constant'; -import { DYNAMIC_INPUT_KEY, ModuleInputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; +import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; +import { NodeInputKeyEnum, WorkflowIOValueTypeEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; import { getPluginRuntimeById } from '../../../plugin/controller'; import { authPluginCanUse } from '../../../../support/permission/auth/plugin'; -import { setEntryEntries } from '../utils'; -import { DispatchNodeResultType } from '@fastgpt/global/core/module/runtime/type'; +import { + getDefaultEntryNodeIds, + initWorkflowEdgeStatus, + storeNodes2RuntimeNodes +} from '@fastgpt/global/core/workflow/runtime/utils'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; +import { updateToolInputValue } from '../agent/runTool/utils'; +import { replaceVariable } from '@fastgpt/global/common/string/tools'; type RunPluginProps = ModuleDispatchProps<{ - [ModuleInputKeyEnum.pluginId]: string; [key: string]: any; }>; type RunPluginResponse = DispatchNodeResultType<{}>; export const dispatchRunPlugin = async (props: RunPluginProps): Promise => { const { + node: { pluginId }, mode, teamId, tmbId, - params: { pluginId, ...data } + params: data } = props; if (!pluginId) { @@ -30,37 +36,67 @@ export const dispatchRunPlugin = async (props: RunPluginProps): Promise item.flowType === FlowNodeTypeEnum.pluginInput); + const inputModule = plugin.nodes.find( + (item) => item.flowNodeType === FlowNodeTypeEnum.pluginInput + ); if (!inputModule) return Promise.reject('Plugin error, It has no set input.'); - const hasDynamicInput = inputModule.inputs.find((input) => input.key === DYNAMIC_INPUT_KEY); + const hasDynamicInput = inputModule.inputs.find( + (input) => input.key === NodeInputKeyEnum.addInputParam + ); const startParams: Record = (() => { if (!hasDynamicInput) return data; const params: Record = { - [DYNAMIC_INPUT_KEY]: {} + [NodeInputKeyEnum.addInputParam]: {} }; for (const key in data) { + if (key === NodeInputKeyEnum.addInputParam) continue; + const input = inputModule.inputs.find((input) => input.key === key); if (input) { params[key] = data[key]; } else { - params[DYNAMIC_INPUT_KEY][key] = data[key]; + params[NodeInputKeyEnum.addInputParam][key] = data[key]; } } return params; })(); + // replace input by dynamic variables + if (hasDynamicInput) { + for (const key in startParams) { + if (key === NodeInputKeyEnum.addInputParam) continue; + startParams[key] = replaceVariable( + startParams[key], + startParams[NodeInputKeyEnum.addInputParam] + ); + } + } + const { flowResponses, flowUsages, assistantResponses } = await dispatchWorkFlow({ ...props, - modules: setEntryEntries(plugin.modules).map((module) => ({ - ...module, - showStatus: false - })), - runtimeModules: undefined, // must reset - startParams + runtimeNodes: storeNodes2RuntimeNodes(plugin.nodes, getDefaultEntryNodeIds(plugin.nodes)).map( + (node) => { + if (node.flowNodeType === FlowNodeTypeEnum.pluginInput) { + return { + ...node, + showStatus: false, + inputs: updateToolInputValue({ + inputs: node.inputs, + params: startParams + }) + }; + } + return { + ...node, + showStatus: false + }; + } + ), + runtimeEdges: initWorkflowEdgeStatus(plugin.edges) }); const output = flowResponses.find((item) => item.moduleType === FlowNodeTypeEnum.pluginOutput); diff --git a/packages/service/core/workflow/dispatch/plugin/runInput.ts b/packages/service/core/workflow/dispatch/plugin/runInput.ts index 1df682f75c..6a056396ed 100644 --- a/packages/service/core/workflow/dispatch/plugin/runInput.ts +++ b/packages/service/core/workflow/dispatch/plugin/runInput.ts @@ -1,4 +1,4 @@ -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; export type PluginInputProps = ModuleDispatchProps<{ [key: string]: any; diff --git a/packages/service/core/workflow/dispatch/plugin/runOutput.ts b/packages/service/core/workflow/dispatch/plugin/runOutput.ts index bd4e49ab1a..61898fc681 100644 --- a/packages/service/core/workflow/dispatch/plugin/runOutput.ts +++ b/packages/service/core/workflow/dispatch/plugin/runOutput.ts @@ -1,6 +1,6 @@ -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; -import { DispatchNodeResultType } from '@fastgpt/global/core/module/runtime/type.d'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type.d'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; export type PluginOutputProps = ModuleDispatchProps<{ [key: string]: any; diff --git a/packages/service/core/workflow/dispatch/tools/answer.ts b/packages/service/core/workflow/dispatch/tools/answer.ts index e74b08e2c8..46e46c8d87 100644 --- a/packages/service/core/workflow/dispatch/tools/answer.ts +++ b/packages/service/core/workflow/dispatch/tools/answer.ts @@ -1,14 +1,17 @@ -import { SseResponseEventEnum } from '@fastgpt/global/core/module/runtime/constants'; +import { + DispatchNodeResponseKeyEnum, + SseResponseEventEnum +} from '@fastgpt/global/core/workflow/runtime/constants'; import { responseWrite } from '../../../../common/response'; -import { textAdaptGptResponse } from '@fastgpt/global/core/module/runtime/utils'; -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; -import { ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResultType } from '@fastgpt/global/core/module/runtime/type'; +import { textAdaptGptResponse } from '@fastgpt/global/core/workflow/runtime/utils'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; +import { NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; export type AnswerProps = ModuleDispatchProps<{ text: string; }>; export type AnswerResponse = DispatchNodeResultType<{ - [ModuleOutputKeyEnum.answerText]: string; + [NodeOutputKeyEnum.answerText]: string; }>; export const dispatchAnswer = (props: Record): AnswerResponse => { @@ -16,12 +19,13 @@ export const dispatchAnswer = (props: Record): AnswerResponse => { res, detail, stream, + node: { name }, params: { text = '' } } = props as AnswerProps; const formatText = typeof text === 'string' ? text : JSON.stringify(text, null, 2); - if (stream) { + if (res && stream) { responseWrite({ res, event: detail ? SseResponseEventEnum.fastAnswer : undefined, @@ -32,6 +36,9 @@ export const dispatchAnswer = (props: Record): AnswerResponse => { } return { - [ModuleOutputKeyEnum.answerText]: formatText + [NodeOutputKeyEnum.answerText]: formatText, + [DispatchNodeResponseKeyEnum.nodeResponse]: { + textOutput: formatText + } }; }; diff --git a/packages/service/core/workflow/dispatch/tools/http468.ts b/packages/service/core/workflow/dispatch/tools/http468.ts index 7d5e4a548e..7deb9606f1 100644 --- a/packages/service/core/workflow/dispatch/tools/http468.ts +++ b/packages/service/core/workflow/dispatch/tools/http468.ts @@ -1,16 +1,21 @@ -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; import { - DYNAMIC_INPUT_KEY, - ModuleInputKeyEnum, - ModuleOutputKeyEnum -} from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; + NodeInputKeyEnum, + NodeOutputKeyEnum, + WorkflowIOValueTypeEnum +} from '@fastgpt/global/core/workflow/constants'; +import { + DispatchNodeResponseKeyEnum, + SseResponseEventEnum +} from '@fastgpt/global/core/workflow/runtime/constants'; import axios from 'axios'; import { valueTypeFormat } from '../utils'; import { SERVICE_LOCAL_HOST } from '../../../../common/system/tools'; import { addLog } from '../../../../common/system/log'; -import { DispatchNodeResultType } from '@fastgpt/global/core/module/runtime/type'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; import { getErrText } from '@fastgpt/global/common/error/utils'; +import { responseWrite } from '../../../../common/response'; +import { textAdaptGptResponse } from '@fastgpt/global/core/workflow/runtime/utils'; type PropsArrType = { key: string; @@ -18,17 +23,17 @@ type PropsArrType = { value: string; }; type HttpRequestProps = ModuleDispatchProps<{ - [ModuleInputKeyEnum.abandon_httpUrl]: string; - [ModuleInputKeyEnum.httpMethod]: string; - [ModuleInputKeyEnum.httpReqUrl]: string; - [ModuleInputKeyEnum.httpHeaders]: PropsArrType[]; - [ModuleInputKeyEnum.httpParams]: PropsArrType[]; - [ModuleInputKeyEnum.httpJsonBody]: string; - [DYNAMIC_INPUT_KEY]: Record; + [NodeInputKeyEnum.abandon_httpUrl]: string; + [NodeInputKeyEnum.httpMethod]: string; + [NodeInputKeyEnum.httpReqUrl]: string; + [NodeInputKeyEnum.httpHeaders]: PropsArrType[]; + [NodeInputKeyEnum.httpParams]: PropsArrType[]; + [NodeInputKeyEnum.httpJsonBody]: string; + [NodeInputKeyEnum.addInputParam]: Record; [key: string]: any; }>; type HttpResponse = DispatchNodeResultType<{ - [ModuleOutputKeyEnum.failed]?: boolean; + [NodeOutputKeyEnum.failed]?: boolean; [key: string]: any; }>; @@ -36,11 +41,13 @@ const UNDEFINED_SIGN = 'UNDEFINED_SIGN'; export const dispatchHttp468Request = async (props: HttpRequestProps): Promise => { let { + res, + detail, appId, chatId, responseChatItemId, variables, - module: { outputs }, + node: { outputs }, histories, params: { system_httpMethod: httpMethod = 'POST', @@ -48,7 +55,7 @@ export const dispatchHttp468Request = async (props: HttpRequestProps): Promise { try { if (!httpHeader || httpHeader.length === 0) return {}; // array return httpHeader.reduce((acc: Record, item) => { - const key = replaceVariable(item.key, concatVariables); - const value = replaceVariable(item.value, concatVariables); - acc[key] = valueTypeFormat(value, 'string'); + const key = replaceVariable(item.key, allVariables); + const value = replaceVariable(item.value, allVariables); + acc[key] = valueTypeFormat(value, WorkflowIOValueTypeEnum.string); return acc; }, {}); } catch (error) { @@ -83,18 +96,18 @@ export const dispatchHttp468Request = async (props: HttpRequestProps): Promise, item) => { - const key = replaceVariable(item.key, concatVariables); - const value = replaceVariable(item.value, concatVariables); - acc[key] = valueTypeFormat(value, 'string'); + const key = replaceVariable(item.key, allVariables); + const value = replaceVariable(item.value, allVariables); + acc[key] = valueTypeFormat(value, WorkflowIOValueTypeEnum.string); return acc; }, {}); const requestBody = await (() => { - if (!httpJsonBody) return { [DYNAMIC_INPUT_KEY]: dynamicInput }; - httpJsonBody = replaceVariable(httpJsonBody, concatVariables); + if (!httpJsonBody) return {}; try { + httpJsonBody = replaceVariable(httpJsonBody, allVariables); const jsonParse = JSON.parse(httpJsonBody); const removeSignJson = removeUndefinedSign(jsonParse); - return { [DYNAMIC_INPUT_KEY]: dynamicInput, ...removeSignJson }; + return removeSignJson; } catch (error) { console.log(error); return Promise.reject(`Invalid JSON body: ${httpJsonBody}`); @@ -118,6 +131,16 @@ export const dispatchHttp468Request = async (props: HttpRequestProps): Promise 0 ? params : undefined, @@ -141,7 +164,7 @@ export const dispatchHttp468Request = async (props: HttpRequestProps): Promise 0 ? headers : undefined, httpResult: { error: formatHttpError(error) } }, - [ModuleOutputKeyEnum.httpRawResponse]: getErrText(error) + [NodeOutputKeyEnum.httpRawResponse]: getErrText(error) }; } }; diff --git a/packages/service/core/workflow/dispatch/tools/queryExternsion.ts b/packages/service/core/workflow/dispatch/tools/queryExternsion.ts index 28fb4b92e3..bc69730ce0 100644 --- a/packages/service/core/workflow/dispatch/tools/queryExternsion.ts +++ b/packages/service/core/workflow/dispatch/tools/queryExternsion.ts @@ -1,27 +1,27 @@ import type { ChatItemType } from '@fastgpt/global/core/chat/type.d'; -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; -import { ModuleInputKeyEnum, ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; import { ModelTypeEnum, getLLMModel } from '../../../../core/ai/model'; import { formatModelChars2Points } from '../../../../support/wallet/usage/utils'; import { queryExtension } from '../../../../core/ai/functions/queryExtension'; import { getHistories } from '../utils'; import { hashStr } from '@fastgpt/global/common/string/tools'; -import { DispatchNodeResultType } from '@fastgpt/global/core/module/runtime/type'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; type Props = ModuleDispatchProps<{ - [ModuleInputKeyEnum.aiModel]: string; - [ModuleInputKeyEnum.aiSystemPrompt]?: string; - [ModuleInputKeyEnum.history]?: ChatItemType[] | number; - [ModuleInputKeyEnum.userChatInput]: string; + [NodeInputKeyEnum.aiModel]: string; + [NodeInputKeyEnum.aiSystemPrompt]?: string; + [NodeInputKeyEnum.history]?: ChatItemType[] | number; + [NodeInputKeyEnum.userChatInput]: string; }>; type Response = DispatchNodeResultType<{ - [ModuleOutputKeyEnum.text]: string; + [NodeOutputKeyEnum.text]: string; }>; export const dispatchQueryExtension = async ({ histories, - module, + node, params: { model, systemPrompt, history, userChatInput } }: Props): Promise => { if (!userChatInput) { @@ -65,12 +65,12 @@ export const dispatchQueryExtension = async ({ }, [DispatchNodeResponseKeyEnum.nodeDispatchUsages]: [ { - moduleName: module.name, + moduleName: node.name, totalPoints, model: modelName, tokens } ], - [ModuleOutputKeyEnum.text]: JSON.stringify(filterSameQueries) + [NodeOutputKeyEnum.text]: JSON.stringify(filterSameQueries) }; }; diff --git a/packages/service/core/workflow/dispatch/tools/runApp.ts b/packages/service/core/workflow/dispatch/tools/runApp.ts index 1acfad2df3..747c165a63 100644 --- a/packages/service/core/workflow/dispatch/tools/runApp.ts +++ b/packages/service/core/workflow/dispatch/tools/runApp.ts @@ -1,26 +1,31 @@ import type { ChatItemType } from '@fastgpt/global/core/chat/type.d'; -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; -import { SelectAppItemType } from '@fastgpt/global/core/module/type'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; +import { SelectAppItemType } from '@fastgpt/global/core/workflow/type/index.d'; import { dispatchWorkFlow } from '../index'; import { MongoApp } from '../../../../core/app/schema'; import { responseWrite } from '../../../../common/response'; import { ChatRoleEnum } from '@fastgpt/global/core/chat/constants'; -import { SseResponseEventEnum } from '@fastgpt/global/core/module/runtime/constants'; -import { textAdaptGptResponse } from '@fastgpt/global/core/module/runtime/utils'; -import { ModuleInputKeyEnum, ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; -import { getHistories, setEntryEntries } from '../utils'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { + getDefaultEntryNodeIds, + initWorkflowEdgeStatus, + storeNodes2RuntimeNodes, + textAdaptGptResponse +} from '@fastgpt/global/core/workflow/runtime/utils'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { getHistories } from '../utils'; import { chatValue2RuntimePrompt, runtimePrompt2ChatsValue } from '@fastgpt/global/core/chat/adapt'; -import { DispatchNodeResultType } from '@fastgpt/global/core/module/runtime/type'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; type Props = ModuleDispatchProps<{ - [ModuleInputKeyEnum.userChatInput]: string; - [ModuleInputKeyEnum.history]?: ChatItemType[] | number; + [NodeInputKeyEnum.userChatInput]: string; + [NodeInputKeyEnum.history]?: ChatItemType[] | number; app: SelectAppItemType; }>; type Response = DispatchNodeResultType<{ - [ModuleOutputKeyEnum.answerText]: string; - [ModuleOutputKeyEnum.history]: ChatItemType[]; + [NodeOutputKeyEnum.answerText]: string; + [NodeOutputKeyEnum.history]: ChatItemType[]; }>; export const dispatchAppRequest = async (props: Props): Promise => { @@ -48,7 +53,7 @@ export const dispatchAppRequest = async (props: Props): Promise => { return Promise.reject('App not found'); } - if (stream) { + if (res && stream) { responseWrite({ res, event: detail ? SseResponseEventEnum.answer : undefined, @@ -63,11 +68,12 @@ export const dispatchAppRequest = async (props: Props): Promise => { const { flowResponses, flowUsages, assistantResponses } = await dispatchWorkFlow({ ...props, appId: app.id, - modules: setEntryEntries(appData.modules), - runtimeModules: undefined, // must reset + runtimeNodes: storeNodes2RuntimeNodes(appData.modules, getDefaultEntryNodeIds(appData.modules)), + runtimeEdges: initWorkflowEdgeStatus(appData.edges), histories: chatHistories, inputFiles, - startParams: { + variables: { + ...props.variables, userChatInput } }); diff --git a/packages/service/core/workflow/dispatch/tools/runIfElse.ts b/packages/service/core/workflow/dispatch/tools/runIfElse.ts new file mode 100644 index 0000000000..3739545806 --- /dev/null +++ b/packages/service/core/workflow/dispatch/tools/runIfElse.ts @@ -0,0 +1,70 @@ +import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; +import { VariableConditionEnum } from '@fastgpt/global/core/workflow/template/system/ifElse/constant'; +import { + IfElseConditionType, + IfElseListItemType +} from '@fastgpt/global/core/workflow/template/system/ifElse/type'; +import { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { getHandleId } from '@fastgpt/global/core/workflow/utils'; + +type Props = ModuleDispatchProps<{ + [NodeInputKeyEnum.condition]: IfElseConditionType; + [NodeInputKeyEnum.ifElseList]: IfElseListItemType[]; +}>; + +function checkCondition(condition: VariableConditionEnum, variableValue: any, value: string) { + const operations = { + [VariableConditionEnum.isEmpty]: () => !variableValue, + [VariableConditionEnum.isNotEmpty]: () => !!variableValue, + [VariableConditionEnum.equalTo]: () => variableValue === value, + [VariableConditionEnum.notEqual]: () => variableValue !== value, + [VariableConditionEnum.greaterThan]: () => variableValue > Number(value), + [VariableConditionEnum.lessThan]: () => variableValue < Number(value), + [VariableConditionEnum.greaterThanOrEqualTo]: () => variableValue >= Number(value), + [VariableConditionEnum.lessThanOrEqualTo]: () => variableValue <= Number(value), + [VariableConditionEnum.include]: () => variableValue.includes(value), + [VariableConditionEnum.notInclude]: () => !variableValue.includes(value), + [VariableConditionEnum.startWith]: () => variableValue.startsWith(value), + [VariableConditionEnum.endWith]: () => variableValue.endsWith(value), + [VariableConditionEnum.lengthEqualTo]: () => variableValue.length === Number(value), + [VariableConditionEnum.lengthNotEqualTo]: () => variableValue.length !== Number(value), + [VariableConditionEnum.lengthGreaterThan]: () => variableValue.length > Number(value), + [VariableConditionEnum.lengthGreaterThanOrEqualTo]: () => variableValue.length >= Number(value), + [VariableConditionEnum.lengthLessThan]: () => variableValue.length < Number(value), + [VariableConditionEnum.lengthLessThanOrEqualTo]: () => variableValue.length <= Number(value) + }; + + return (operations[condition] || (() => false))(); +} + +export const dispatchIfElse = async (props: Props): Promise> => { + const { + params, + runtimeNodes, + node: { nodeId } + } = props; + const { condition, ifElseList } = params; + const listResult = ifElseList.map((item) => { + const { variable, condition: variableCondition, value } = item; + + const variableValue = runtimeNodes + .find((node) => node.nodeId === variable[0]) + ?.outputs?.find((item) => item.id === variable[1])?.value; + + return checkCondition(variableCondition as VariableConditionEnum, variableValue, value || ''); + }); + + const result = condition === 'AND' ? listResult.every(Boolean) : listResult.some(Boolean); + + return { + [DispatchNodeResponseKeyEnum.nodeResponse]: { + totalPoints: 0, + ifElseResult: result ? 'IF' : 'ELSE' + }, + [DispatchNodeResponseKeyEnum.skipHandleId]: result + ? [getHandleId(nodeId, 'source', 'ELSE')] + : [getHandleId(nodeId, 'source', 'IF')] + }; +}; diff --git a/packages/service/core/workflow/dispatch/tools/runLaf.ts b/packages/service/core/workflow/dispatch/tools/runLaf.ts index bc434188bb..dadd82fe27 100644 --- a/packages/service/core/workflow/dispatch/tools/runLaf.ts +++ b/packages/service/core/workflow/dispatch/tools/runLaf.ts @@ -1,23 +1,19 @@ -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; -import { - DYNAMIC_INPUT_KEY, - ModuleInputKeyEnum, - ModuleOutputKeyEnum -} from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; import axios from 'axios'; import { valueTypeFormat } from '../utils'; import { SERVICE_LOCAL_HOST } from '../../../../common/system/tools'; import { addLog } from '../../../../common/system/log'; -import { DispatchNodeResultType } from '@fastgpt/global/core/module/runtime/type'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; type LafRequestProps = ModuleDispatchProps<{ - [ModuleInputKeyEnum.httpReqUrl]: string; - [DYNAMIC_INPUT_KEY]: Record; + [NodeInputKeyEnum.httpReqUrl]: string; + [NodeInputKeyEnum.addInputParam]: Record; [key: string]: any; }>; type LafResponse = DispatchNodeResultType<{ - [ModuleOutputKeyEnum.failed]?: boolean; + [NodeOutputKeyEnum.failed]?: boolean; [key: string]: any; }>; @@ -29,9 +25,13 @@ export const dispatchLafRequest = async (props: LafRequestProps): Promise 0 ? requestBody : undefined, diff --git a/packages/service/core/workflow/dispatch/type.d.ts b/packages/service/core/workflow/dispatch/type.d.ts index 6bbcebb336..8dcd7d474a 100644 --- a/packages/service/core/workflow/dispatch/type.d.ts +++ b/packages/service/core/workflow/dispatch/type.d.ts @@ -4,12 +4,19 @@ import { ChatItemValueItemType, ToolRunResponseItemType } from '@fastgpt/global/core/chat/type'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { RuntimeNodeItemType } from '@fastgpt/global/core/workflow/runtime/type'; +import { RuntimeEdgeItemType } from '@fastgpt/global/core/workflow/type/edge'; import { ChatNodeUsageType } from '@fastgpt/global/support/wallet/bill/type'; export type DispatchFlowResponse = { flowResponses: ChatHistoryItemResType[]; flowUsages: ChatNodeUsageType[]; + debugResponse: { + finishedNodes: RuntimeNodeItemType[]; + finishedEdges: RuntimeEdgeItemType[]; + nextStepRunNodes: RuntimeNodeItemType[]; + }; [DispatchNodeResponseKeyEnum.toolResponses]: ToolRunResponseItemType; [DispatchNodeResponseKeyEnum.assistantResponses]: AIChatItemValueItemType[]; }; diff --git a/packages/service/core/workflow/dispatch/utils.ts b/packages/service/core/workflow/dispatch/utils.ts index fdf9b9bc84..e857277878 100644 --- a/packages/service/core/workflow/dispatch/utils.ts +++ b/packages/service/core/workflow/dispatch/utils.ts @@ -1,44 +1,50 @@ import type { ChatItemType } from '@fastgpt/global/core/chat/type.d'; -import { ModuleIOValueTypeEnum, ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { FlowNodeTypeEnum } from '@fastgpt/global/core/module/node/constant'; -import { ModuleItemType } from '@fastgpt/global/core/module/type.d'; - -export const setEntryEntries = (modules: ModuleItemType[]) => { - const initRunningModuleType: Record = { - [FlowNodeTypeEnum.historyNode]: true, - [FlowNodeTypeEnum.questionInput]: true, - [FlowNodeTypeEnum.pluginInput]: true - }; - - modules.forEach((item) => { - if (initRunningModuleType[item.flowType]) { - item.isEntry = true; - } - }); - return modules; -}; +import { + WorkflowIOValueTypeEnum, + NodeOutputKeyEnum +} from '@fastgpt/global/core/workflow/constants'; +import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; +import { + RuntimeEdgeItemType, + RuntimeNodeItemType +} from '@fastgpt/global/core/workflow/runtime/type'; +import { StoreNodeItemType } from '@fastgpt/global/core/workflow/type/index.d'; -export const checkTheModuleConnectedByTool = ( - modules: ModuleItemType[], - module: ModuleItemType -) => { - let sign = false; - const toolModules = modules.filter((item) => item.flowType === FlowNodeTypeEnum.tools); - - toolModules.forEach((item) => { - const toolOutput = item.outputs.find( - (output) => output.key === ModuleOutputKeyEnum.selectedTools - ); - toolOutput?.targets.forEach((target) => { - if (target.moduleId === module.moduleId) { - sign = true; - } - }); - }); - - return sign; +export const filterToolNodeIdByEdges = ({ + nodeId, + edges +}: { + nodeId: string; + edges: RuntimeEdgeItemType[]; +}) => { + return edges + .filter( + (edge) => edge.source === nodeId && edge.targetHandle === NodeOutputKeyEnum.selectedTools + ) + .map((edge) => edge.target); }; +// export const checkTheModuleConnectedByTool = ( +// modules: StoreNodeItemType[], +// node: StoreNodeItemType +// ) => { +// let sign = false; +// const toolModules = modules.filter((item) => item.flowNodeType === FlowNodeTypeEnum.tools); + +// toolModules.forEach((item) => { +// const toolOutput = item.outputs.find( +// (output) => output.key === NodeOutputKeyEnum.selectedTools +// ); +// toolOutput?.targets.forEach((target) => { +// if (target.moduleId === node.moduleId) { +// sign = true; +// } +// }); +// }); + +// return sign; +// }; + export const getHistories = (history?: ChatItemType[] | number, histories: ChatItemType[] = []) => { if (!history) return []; if (typeof history === 'number') return histories.slice(-history); @@ -48,7 +54,7 @@ export const getHistories = (history?: ChatItemType[] | number, histories: ChatI }; /* value type format */ -export const valueTypeFormat = (value: any, type?: `${ModuleIOValueTypeEnum}`) => { +export const valueTypeFormat = (value: any, type?: WorkflowIOValueTypeEnum) => { if (value === undefined) return; if (type === 'string') { @@ -57,6 +63,16 @@ export const valueTypeFormat = (value: any, type?: `${ModuleIOValueTypeEnum}`) = } if (type === 'number') return Number(value); if (type === 'boolean') return Boolean(value); + try { + if (type === WorkflowIOValueTypeEnum.datasetQuote && !Array.isArray(value)) { + return JSON.parse(value); + } + if (type === WorkflowIOValueTypeEnum.selectDataset && !Array.isArray(value)) { + return JSON.parse(value); + } + } catch (error) { + return value; + } return value; }; diff --git a/packages/service/core/workflow/dispatchV1/agent/classifyQuestion.ts b/packages/service/core/workflow/dispatchV1/agent/classifyQuestion.ts new file mode 100644 index 0000000000..f90fd5eba6 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/agent/classifyQuestion.ts @@ -0,0 +1,321 @@ +// @ts-nocheck +import { chats2GPTMessages } from '@fastgpt/global/core/chat/adapt'; +import { filterGPTMessageByMaxTokens } from '../../../chat/utils'; + +import type { ChatItemType } from '@fastgpt/global/core/chat/type.d'; +import { ChatItemValueTypeEnum, ChatRoleEnum } from '@fastgpt/global/core/chat/constants'; +import { getAIApi } from '../../../ai/config'; +import type { ClassifyQuestionAgentItemType } from '@fastgpt/global/core/workflow/type'; +import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { replaceVariable } from '@fastgpt/global/common/string/tools'; +import { Prompt_CQJson } from '@fastgpt/global/core/ai/prompt/agent'; +import { LLMModelItemType } from '@fastgpt/global/core/ai/model.d'; +import { ModelTypeEnum, getLLMModel } from '../../../ai/model'; +import { getHistories } from '../utils'; +import { formatModelChars2Points } from '../../../../support/wallet/usage/utils'; +import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; +import { + ChatCompletionCreateParams, + ChatCompletionMessageParam, + ChatCompletionTool +} from '@fastgpt/global/core/ai/type'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; +import { chatValue2RuntimePrompt } from '@fastgpt/global/core/chat/adapt'; +import { + countMessagesTokens, + countGptMessagesTokens +} from '../../../../common/string/tiktoken/index'; + +type Props = ModuleDispatchProps<{ + [NodeInputKeyEnum.aiModel]: string; + [NodeInputKeyEnum.aiSystemPrompt]?: string; + [NodeInputKeyEnum.history]?: ChatItemType[] | number; + [NodeInputKeyEnum.userChatInput]: string; + [NodeInputKeyEnum.agents]: ClassifyQuestionAgentItemType[]; +}>; +type CQResponse = DispatchNodeResultType<{ + [key: string]: any; +}>; +type ActionProps = Props & { cqModel: LLMModelItemType }; + +const agentFunName = 'classify_question'; + +/* request openai chat */ +export const dispatchClassifyQuestion = async (props: Props): Promise => { + const { + user, + module: { name }, + histories, + params: { model, history = 6, agents, userChatInput } + } = props as Props; + + if (!userChatInput) { + return Promise.reject('Input is empty'); + } + + const cqModel = getLLMModel(model); + + const chatHistories = getHistories(history, histories); + + const { arg, tokens } = await (async () => { + if (cqModel.toolChoice) { + return toolChoice({ + ...props, + histories: chatHistories, + cqModel + }); + } + if (cqModel.functionCall) { + return functionCall({ + ...props, + histories: chatHistories, + cqModel + }); + } + return completions({ + ...props, + histories: chatHistories, + cqModel + }); + })(); + + const result = agents.find((item) => item.key === arg?.type) || agents[agents.length - 1]; + + const { totalPoints, modelName } = formatModelChars2Points({ + model: cqModel.model, + tokens, + modelType: ModelTypeEnum.llm + }); + + return { + [result.key]: true, + [DispatchNodeResponseKeyEnum.nodeResponse]: { + totalPoints: user.openaiAccount?.key ? 0 : totalPoints, + model: modelName, + query: userChatInput, + tokens, + cqList: agents, + cqResult: result.value, + contextTotalLen: chatHistories.length + 2 + }, + [DispatchNodeResponseKeyEnum.nodeDispatchUsages]: [ + { + moduleName: name, + totalPoints: user.openaiAccount?.key ? 0 : totalPoints, + model: modelName, + tokens + } + ] + }; +}; + +const getFunctionCallSchema = async ({ + cqModel, + histories, + params: { agents, systemPrompt, userChatInput } +}: ActionProps) => { + const messages: ChatItemType[] = [ + ...histories, + { + obj: ChatRoleEnum.Human, + value: [ + { + type: ChatItemValueTypeEnum.text, + text: { + content: systemPrompt + ? `<背景知识> + ${systemPrompt} + + + 问题: "${userChatInput}" + ` + : userChatInput + } + } + ] + } + ]; + + const adaptMessages = chats2GPTMessages({ messages, reserveId: false }); + const filterMessages = await filterGPTMessageByMaxTokens({ + messages: adaptMessages, + maxTokens: cqModel.maxContext + }); + + // function body + const agentFunction = { + name: agentFunName, + description: '结合对话记录及背景知识,对问题进行分类,并返回对应的类型字段', + parameters: { + type: 'object', + properties: { + type: { + type: 'string', + description: `问题类型。下面是几种可选的问题类型: ${agents + .map((item) => `${item.value},返回:'${item.key}'`) + .join(';')}`, + enum: agents.map((item) => item.key) + } + }, + required: ['type'] + } + }; + + return { + agentFunction, + filterMessages + }; +}; + +const toolChoice = async (props: ActionProps) => { + const { user, cqModel } = props; + + const { agentFunction, filterMessages } = await getFunctionCallSchema(props); + // function body + const tools: ChatCompletionTool[] = [ + { + type: 'function', + function: agentFunction + } + ]; + + const ai = getAIApi({ + userKey: user.openaiAccount, + timeout: 480000 + }); + + const response = await ai.chat.completions.create({ + model: cqModel.model, + temperature: 0, + messages: filterMessages, + tools, + tool_choice: { type: 'function', function: { name: agentFunName } } + }); + + try { + const arg = JSON.parse( + response?.choices?.[0]?.message?.tool_calls?.[0]?.function?.arguments || '' + ); + const completeMessages: ChatCompletionMessageParam[] = [ + ...filterMessages, + { + role: ChatCompletionRequestMessageRoleEnum.Assistant, + tool_calls: response.choices?.[0]?.message?.tool_calls + } + ]; + + return { + arg, + tokens: await countGptMessagesTokens(completeMessages, tools) + }; + } catch (error) { + console.log(response.choices?.[0]?.message); + + console.log('Your model may not support toll_call', error); + + return { + arg: {}, + tokens: 0 + }; + } +}; + +const functionCall = async (props: ActionProps) => { + const { user, cqModel } = props; + + const { agentFunction, filterMessages } = await getFunctionCallSchema(props); + const functions: ChatCompletionCreateParams.Function[] = [agentFunction]; + + const ai = getAIApi({ + userKey: user.openaiAccount, + timeout: 480000 + }); + + const response = await ai.chat.completions.create({ + model: cqModel.model, + temperature: 0, + messages: filterMessages, + function_call: { + name: agentFunName + }, + functions + }); + + try { + const arg = JSON.parse(response?.choices?.[0]?.message?.function_call?.arguments || ''); + const completeMessages: ChatCompletionMessageParam[] = [ + ...filterMessages, + { + role: ChatCompletionRequestMessageRoleEnum.Assistant, + function_call: response.choices?.[0]?.message?.function_call + } + ]; + + return { + arg, + tokens: await countGptMessagesTokens(completeMessages, undefined, functions) + }; + } catch (error) { + console.log(response.choices?.[0]?.message); + + console.log('Your model may not support toll_call', error); + + return { + arg: {}, + tokens: 0 + }; + } +}; + +const completions = async ({ + cqModel, + user, + histories, + params: { agents, systemPrompt = '', userChatInput } +}: ActionProps) => { + const messages: ChatItemType[] = [ + { + obj: ChatRoleEnum.Human, + value: [ + { + type: ChatItemValueTypeEnum.text, + text: { + content: replaceVariable(cqModel.customCQPrompt || Prompt_CQJson, { + systemPrompt: systemPrompt || 'null', + typeList: agents + .map((item) => `{"questionType": "${item.value}", "typeId": "${item.key}"}`) + .join('\n'), + history: histories + .map((item) => `${item.obj}:${chatValue2RuntimePrompt(item.value).text}`) + .join('\n'), + question: userChatInput + }) + } + } + ] + } + ]; + + const ai = getAIApi({ + userKey: user.openaiAccount, + timeout: 480000 + }); + + const data = await ai.chat.completions.create({ + model: cqModel.model, + temperature: 0.01, + messages: chats2GPTMessages({ messages, reserveId: false }), + stream: false + }); + const answer = data.choices?.[0].message?.content || ''; + + const id = + agents.find((item) => answer.includes(item.key) || answer.includes(item.value))?.key || ''; + + return { + tokens: await countMessagesTokens(messages), + arg: { type: id } + }; +}; diff --git a/packages/service/core/workflow/dispatchV1/agent/extract.ts b/packages/service/core/workflow/dispatchV1/agent/extract.ts new file mode 100644 index 0000000000..68a9ed723b --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/agent/extract.ts @@ -0,0 +1,384 @@ +// @ts-nocheck +import { chats2GPTMessages } from '@fastgpt/global/core/chat/adapt'; +import { filterGPTMessageByMaxTokens } from '../../../chat/utils'; +import type { ChatItemType } from '@fastgpt/global/core/chat/type.d'; +import { + countMessagesTokens, + countGptMessagesTokens +} from '../../../../common/string/tiktoken/index'; + +import { ChatItemValueTypeEnum, ChatRoleEnum } from '@fastgpt/global/core/chat/constants'; +import { getAIApi } from '../../../ai/config'; +import type { ContextExtractAgentItemType } from '@fastgpt/global/core/workflow/type'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { Prompt_ExtractJson } from '@fastgpt/global/core/ai/prompt/agent'; +import { replaceVariable } from '@fastgpt/global/common/string/tools'; +import { LLMModelItemType } from '@fastgpt/global/core/ai/model.d'; +import { getHistories } from '../utils'; +import { ModelTypeEnum, getLLMModel } from '../../../ai/model'; +import { formatModelChars2Points } from '../../../../support/wallet/usage/utils'; +import json5 from 'json5'; +import { + ChatCompletionCreateParams, + ChatCompletionMessageParam, + ChatCompletionTool +} from '@fastgpt/global/core/ai/type'; +import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; +import { chatValue2RuntimePrompt } from '@fastgpt/global/core/chat/adapt'; + +type Props = ModuleDispatchProps<{ + [NodeInputKeyEnum.history]?: ChatItemType[]; + [NodeInputKeyEnum.contextExtractInput]: string; + [NodeInputKeyEnum.extractKeys]: ContextExtractAgentItemType[]; + [NodeInputKeyEnum.description]: string; + [NodeInputKeyEnum.aiModel]: string; +}>; +type Response = DispatchNodeResultType<{ + [NodeOutputKeyEnum.success]?: boolean; + [NodeOutputKeyEnum.failed]?: boolean; + [NodeOutputKeyEnum.contextExtractFields]: string; +}>; + +type ActionProps = Props & { extractModel: LLMModelItemType }; + +const agentFunName = 'request_function'; + +export async function dispatchContentExtract(props: Props): Promise { + const { + user, + module: { name }, + histories, + params: { content, history = 6, model, description, extractKeys } + } = props; + + if (!content) { + return Promise.reject('Input is empty'); + } + + const extractModel = getLLMModel(model); + const chatHistories = getHistories(history, histories); + + const { arg, tokens } = await (async () => { + if (extractModel.toolChoice) { + return toolChoice({ + ...props, + histories: chatHistories, + extractModel + }); + } + if (extractModel.functionCall) { + return functionCall({ + ...props, + histories: chatHistories, + extractModel + }); + } + return completions({ + ...props, + histories: chatHistories, + extractModel + }); + })(); + + // remove invalid key + for (let key in arg) { + const item = extractKeys.find((item) => item.key === key); + if (!item) { + delete arg[key]; + } + if (arg[key] === '') { + delete arg[key]; + } + } + + // auto fill required fields + extractKeys.forEach((item) => { + if (item.required && !arg[item.key]) { + arg[item.key] = item.defaultValue || ''; + } + }); + + // auth fields + let success = !extractKeys.find((item) => !(item.key in arg)); + // auth empty value + if (success) { + for (const key in arg) { + const item = extractKeys.find((item) => item.key === key); + if (!item) { + success = false; + break; + } + } + } + + const { totalPoints, modelName } = formatModelChars2Points({ + model: extractModel.model, + tokens, + modelType: ModelTypeEnum.llm + }); + + return { + [NodeOutputKeyEnum.success]: success ? true : undefined, + [NodeOutputKeyEnum.failed]: success ? undefined : true, + [NodeOutputKeyEnum.contextExtractFields]: JSON.stringify(arg), + ...arg, + [DispatchNodeResponseKeyEnum.nodeResponse]: { + totalPoints: user.openaiAccount?.key ? 0 : totalPoints, + model: modelName, + query: content, + tokens, + extractDescription: description, + extractResult: arg, + contextTotalLen: chatHistories.length + 2 + }, + [DispatchNodeResponseKeyEnum.nodeDispatchUsages]: [ + { + moduleName: name, + totalPoints: user.openaiAccount?.key ? 0 : totalPoints, + model: modelName, + tokens + } + ] + }; +} + +const getFunctionCallSchema = async ({ + extractModel, + histories, + params: { content, extractKeys, description } +}: ActionProps) => { + const messages: ChatItemType[] = [ + ...histories, + { + obj: ChatRoleEnum.Human, + value: [ + { + type: ChatItemValueTypeEnum.text, + text: { + content: `我正在执行一个函数,需要你提供一些参数,请以 JSON 字符串格式返回这些参数,要求: +""" +${description ? `- ${description}` : ''} +- 不是每个参数都是必须生成的,如果没有合适的参数值,不要生成该参数,或返回空字符串。 +- 需要结合前面的对话内容,一起生成合适的参数。 +""" + +本次输入内容: ${content} + ` + } + } + ] + } + ]; + const adaptMessages = chats2GPTMessages({ messages, reserveId: false }); + const filterMessages = await filterGPTMessageByMaxTokens({ + messages: adaptMessages, + maxTokens: extractModel.maxContext + }); + + const properties: Record< + string, + { + type: string; + description: string; + } + > = {}; + extractKeys.forEach((item) => { + properties[item.key] = { + type: 'string', + description: item.desc, + ...(item.enum ? { enum: item.enum.split('\n') } : {}) + }; + }); + // function body + const agentFunction = { + name: agentFunName, + description: '需要执行的函数', + parameters: { + type: 'object', + properties + } + }; + + return { + filterMessages, + agentFunction + }; +}; + +const toolChoice = async (props: ActionProps) => { + const { user, extractModel } = props; + + const { filterMessages, agentFunction } = await getFunctionCallSchema(props); + + const tools: ChatCompletionTool[] = [ + { + type: 'function', + function: agentFunction + } + ]; + + const ai = getAIApi({ + userKey: user.openaiAccount, + timeout: 480000 + }); + + const response = await ai.chat.completions.create({ + model: extractModel.model, + temperature: 0, + messages: filterMessages, + tools, + tool_choice: { type: 'function', function: { name: agentFunName } } + }); + + const arg: Record = (() => { + try { + return json5.parse( + response?.choices?.[0]?.message?.tool_calls?.[0]?.function?.arguments || '{}' + ); + } catch (error) { + console.log(agentFunction.parameters); + console.log(response.choices?.[0]?.message?.tool_calls?.[0]?.function); + console.log('Your model may not support tool_call', error); + return {}; + } + })(); + + const completeMessages: ChatCompletionMessageParam[] = [ + ...filterMessages, + { + role: ChatCompletionRequestMessageRoleEnum.Assistant, + tool_calls: response.choices?.[0]?.message?.tool_calls + } + ]; + return { + tokens: await countGptMessagesTokens(completeMessages, tools), + arg + }; +}; + +const functionCall = async (props: ActionProps) => { + const { user, extractModel } = props; + + const { agentFunction, filterMessages } = await getFunctionCallSchema(props); + const functions: ChatCompletionCreateParams.Function[] = [agentFunction]; + + const ai = getAIApi({ + userKey: user.openaiAccount, + timeout: 480000 + }); + + const response = await ai.chat.completions.create({ + model: extractModel.model, + temperature: 0, + messages: filterMessages, + function_call: { + name: agentFunName + }, + functions + }); + + try { + const arg = JSON.parse(response?.choices?.[0]?.message?.function_call?.arguments || ''); + const completeMessages: ChatCompletionMessageParam[] = [ + ...filterMessages, + { + role: ChatCompletionRequestMessageRoleEnum.Assistant, + function_call: response.choices?.[0]?.message?.function_call + } + ]; + + return { + arg, + tokens: await countGptMessagesTokens(completeMessages, undefined, functions) + }; + } catch (error) { + console.log(response.choices?.[0]?.message); + + console.log('Your model may not support toll_call', error); + + return { + arg: {}, + tokens: 0 + }; + } +}; + +const completions = async ({ + extractModel, + user, + histories, + params: { content, extractKeys, description } +}: ActionProps) => { + const messages: ChatItemType[] = [ + { + obj: ChatRoleEnum.Human, + value: [ + { + type: ChatItemValueTypeEnum.text, + text: { + content: replaceVariable(extractModel.customExtractPrompt || Prompt_ExtractJson, { + description, + json: extractKeys + .map( + (item) => + `{"key":"${item.key}", "description":"${item.desc}"${ + item.enum ? `, "enum":"[${item.enum.split('\n')}]"` : '' + }}` + ) + .join('\n'), + text: `${histories.map((item) => `${item.obj}:${chatValue2RuntimePrompt(item.value).text}`).join('\n')} +Human: ${content}` + }) + } + } + ] + } + ]; + + const ai = getAIApi({ + userKey: user.openaiAccount, + timeout: 480000 + }); + const data = await ai.chat.completions.create({ + model: extractModel.model, + temperature: 0.01, + messages: chats2GPTMessages({ messages, reserveId: false }), + stream: false + }); + const answer = data.choices?.[0].message?.content || ''; + + // parse response + const start = answer.indexOf('{'); + const end = answer.lastIndexOf('}'); + + if (start === -1 || end === -1) { + return { + rawResponse: answer, + tokens: await countMessagesTokens(messages), + arg: {} + }; + } + + const jsonStr = answer + .substring(start, end + 1) + .replace(/(\\n|\\)/g, '') + .replace(/ /g, ''); + + try { + return { + rawResponse: answer, + tokens: await countMessagesTokens(messages), + arg: json5.parse(jsonStr) as Record + }; + } catch (error) { + console.log(error); + return { + rawResponse: answer, + tokens: await countMessagesTokens(messages), + arg: {} + }; + } +}; diff --git a/packages/service/core/workflow/dispatchV1/agent/runTool/constants.ts b/packages/service/core/workflow/dispatchV1/agent/runTool/constants.ts new file mode 100644 index 0000000000..8c2fd40959 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/agent/runTool/constants.ts @@ -0,0 +1,39 @@ +export const Prompt_Tool_Call = ` +你是一个智能机器人,除了可以回答用户问题外,你还掌握工具的使用能力。有时候,你可以依赖工具的运行结果,来更准确的回答用户。 + +工具使用了 JSON Schema 的格式声明,其中 toolId 是工具的 description 是工具的描述,parameters 是工具的参数,包括参数的类型和描述,required 是必填参数的列表。 + +请你根据工具描述,决定回答问题或是使用工具。在完成任务过程中,USER代表用户的输入,TOOL_RESPONSE代表工具运行结果。ASSISTANT 代表你的输出。 +你的每次输出都必须以0,1开头,代表是否需要调用工具: +0: 不使用工具,直接回答内容。 +1: 使用工具,返回工具调用的参数。 + +例如: + +USER: 你好呀 +ANSWER: 0: 你好,有什么可以帮助你的么? +USER: 今天杭州的天气如何 +ANSWER: 1: {"toolId":"testToolId",arguments:{"city": "杭州"}} +TOOL_RESPONSE: """ +晴天...... +""" +ANSWER: 0: 今天杭州是晴天。 +USER: 今天杭州的天气适合去哪里玩? +ANSWER: 1: {"toolId":"testToolId2",arguments:{"query": "杭州 天气 去哪里玩"}} +TOOL_RESPONSE: """ +晴天. 西湖、灵隐寺、千岛湖…… +""" +ANSWER: 0: 今天杭州是晴天,适合去西湖、灵隐寺、千岛湖等地玩。 + + +现在,我们开始吧!下面是你本次可以使用的工具: + +""" +{{toolsPrompt}} +""" + +下面是正式的对话内容: + +USER: {{question}} +ANSWER: +`; diff --git a/packages/service/core/workflow/dispatchV1/agent/runTool/functionCall.ts b/packages/service/core/workflow/dispatchV1/agent/runTool/functionCall.ts new file mode 100644 index 0000000000..d17f4c56c5 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/agent/runTool/functionCall.ts @@ -0,0 +1,410 @@ +// @ts-nocheck +import { LLMModelItemType } from '@fastgpt/global/core/ai/model.d'; +import { getAIApi } from '../../../../ai/config'; +import { filterGPTMessageByMaxTokens } from '../../../../chat/utils'; +import { + ChatCompletion, + StreamChatType, + ChatCompletionMessageParam, + ChatCompletionCreateParams, + ChatCompletionMessageFunctionCall, + ChatCompletionFunctionMessageParam, + ChatCompletionAssistantMessageParam +} from '@fastgpt/global/core/ai/type'; +import { NextApiResponse } from 'next'; +import { + responseWrite, + responseWriteController, + responseWriteNodeStatus +} from '../../../../../common/response'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { textAdaptGptResponse } from '@fastgpt/global/core/workflow/runtime/utils'; +import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; +import { dispatchWorkFlowV1 } from '../../index'; +import { DispatchToolModuleProps, RunToolResponse, ToolModuleItemType } from './type.d'; +import json5 from 'json5'; +import { DispatchFlowResponse } from '../../type'; +import { countGptMessagesTokens } from '../../../../../common/string/tiktoken'; +import { getNanoid } from '@fastgpt/global/common/string/tools'; +import { AIChatItemType, AIChatItemValueItemType } from '@fastgpt/global/core/chat/type'; +import { GPTMessages2Chats } from '@fastgpt/global/core/chat/adapt'; + +type FunctionRunResponseType = { + moduleRunResponse: DispatchFlowResponse; + functionCallMsg: ChatCompletionFunctionMessageParam; +}[]; + +export const runToolWithFunctionCall = async ( + props: DispatchToolModuleProps & { + messages: ChatCompletionMessageParam[]; + toolModules: ToolModuleItemType[]; + toolModel: LLMModelItemType; + }, + response?: RunToolResponse +): Promise => { + const { + toolModel, + toolModules, + messages, + res, + runtimeModules, + detail = false, + module, + stream + } = props; + const assistantResponses = response?.assistantResponses || []; + + const functions: ChatCompletionCreateParams.Function[] = toolModules.map((module) => { + const properties: Record< + string, + { + type: string; + description: string; + required?: boolean; + } + > = {}; + module.toolParams.forEach((item) => { + properties[item.key] = { + type: 'string', + description: item.toolDescription || '' + }; + }); + + return { + name: module.moduleId, + description: module.intro, + parameters: { + type: 'object', + properties, + required: module.toolParams.filter((item) => item.required).map((item) => item.key) + } + }; + }); + + const filterMessages = await filterGPTMessageByMaxTokens({ + messages, + maxTokens: toolModel.maxContext - 500 // filter token. not response maxToken + }); + + /* Run llm */ + const ai = getAIApi({ + timeout: 480000 + }); + const aiResponse = await ai.chat.completions.create( + { + ...toolModel?.defaultConfig, + model: toolModel.model, + temperature: 0, + stream, + messages: filterMessages, + functions, + function_call: 'auto' + }, + { + headers: { + Accept: 'application/json, text/plain, */*' + } + } + ); + + const { answer, functionCalls } = await (async () => { + if (stream) { + return streamResponse({ + res, + detail, + toolModules, + stream: aiResponse + }); + } else { + const result = aiResponse as ChatCompletion; + const function_call = result.choices?.[0]?.message?.function_call; + const toolModule = toolModules.find((module) => module.moduleId === function_call?.name); + + const toolCalls = function_call + ? [ + { + ...function_call, + id: getNanoid(), + toolName: toolModule?.name, + toolAvatar: toolModule?.avatar + } + ] + : []; + + return { + answer: result.choices?.[0]?.message?.content || '', + functionCalls: toolCalls + }; + } + })(); + + // Run the selected tool. + const toolsRunResponse = ( + await Promise.all( + functionCalls.map(async (tool) => { + if (!tool) return; + + const toolModule = toolModules.find((module) => module.moduleId === tool.name); + + if (!toolModule) return; + + const startParams = (() => { + try { + return json5.parse(tool.arguments); + } catch (error) { + return {}; + } + })(); + + const moduleRunResponse = await dispatchWorkFlowV1({ + ...props, + runtimeModules: runtimeModules.map((module) => ({ + ...module, + isEntry: module.moduleId === toolModule.moduleId + })), + startParams + }); + + const stringToolResponse = (() => { + if (typeof moduleRunResponse.toolResponses === 'object') { + return JSON.stringify(moduleRunResponse.toolResponses, null, 2); + } + + return moduleRunResponse.toolResponses ? String(moduleRunResponse.toolResponses) : 'none'; + })(); + + const functionCallMsg: ChatCompletionFunctionMessageParam = { + role: ChatCompletionRequestMessageRoleEnum.Function, + name: tool.name, + content: stringToolResponse + }; + + if (stream && detail) { + responseWrite({ + res, + event: SseResponseEventEnum.toolResponse, + data: JSON.stringify({ + tool: { + id: tool.id, + toolName: '', + toolAvatar: '', + params: '', + response: stringToolResponse + } + }) + }); + } + + return { + moduleRunResponse, + functionCallMsg + }; + }) + ) + ).filter(Boolean) as FunctionRunResponseType; + + const flatToolsResponseData = toolsRunResponse.map((item) => item.moduleRunResponse).flat(); + + const functionCall = functionCalls[0]; + if (functionCall && !res.closed) { + // Run the tool, combine its results, and perform another round of AI calls + const assistantToolMsgParams: ChatCompletionAssistantMessageParam = { + role: ChatCompletionRequestMessageRoleEnum.Assistant, + function_call: functionCall + }; + const concatToolMessages = [ + ...filterMessages, + assistantToolMsgParams + ] as ChatCompletionMessageParam[]; + const tokens = await countGptMessagesTokens(concatToolMessages, undefined, functions); + const completeMessages = [ + ...concatToolMessages, + ...toolsRunResponse.map((item) => item?.functionCallMsg) + ]; + // console.log(tokens, 'tool'); + + if (stream && detail) { + responseWriteNodeStatus({ + res, + name: module.name + }); + } + + // tool assistant + const toolAssistants = toolsRunResponse + .map((item) => { + const assistantResponses = item.moduleRunResponse.assistantResponses || []; + return assistantResponses; + }) + .flat(); + // tool node assistant + const adaptChatMessages = GPTMessages2Chats(completeMessages); + const toolNodeAssistant = adaptChatMessages.pop() as AIChatItemType; + + const toolNodeAssistants = [ + ...assistantResponses, + ...toolAssistants, + ...toolNodeAssistant.value + ]; + + // concat tool responses + const dispatchFlowResponse = response + ? response.dispatchFlowResponse.concat(flatToolsResponseData) + : flatToolsResponseData; + + /* check stop signal */ + const hasStopSignal = flatToolsResponseData.some( + (item) => !!item.flowResponses?.find((item) => item.toolStop) + ); + if (hasStopSignal) { + return { + dispatchFlowResponse, + totalTokens: response?.totalTokens ? response.totalTokens + tokens : tokens, + completeMessages: filterMessages, + assistantResponses: toolNodeAssistants + }; + } + + return runToolWithFunctionCall( + { + ...props, + messages: completeMessages + }, + { + dispatchFlowResponse, + totalTokens: response?.totalTokens ? response.totalTokens + tokens : tokens, + assistantResponses: toolNodeAssistants + } + ); + } else { + // No tool is invoked, indicating that the process is over + const gptAssistantResponse: ChatCompletionAssistantMessageParam = { + role: ChatCompletionRequestMessageRoleEnum.Assistant, + content: answer + }; + const completeMessages = filterMessages.concat(gptAssistantResponse); + const tokens = await countGptMessagesTokens(completeMessages, undefined, functions); + // console.log(tokens, 'response token'); + + // concat tool assistant + const toolNodeAssistant = GPTMessages2Chats([gptAssistantResponse])[0] as AIChatItemType; + + return { + dispatchFlowResponse: response?.dispatchFlowResponse || [], + totalTokens: response?.totalTokens ? response.totalTokens + tokens : tokens, + completeMessages, + assistantResponses: [...assistantResponses, ...toolNodeAssistant.value] + }; + } +}; + +async function streamResponse({ + res, + detail, + toolModules, + stream +}: { + res: NextApiResponse; + detail: boolean; + toolModules: ToolModuleItemType[]; + stream: StreamChatType; +}) { + const write = responseWriteController({ + res, + readStream: stream + }); + + let textAnswer = ''; + let functionCalls: ChatCompletionMessageFunctionCall[] = []; + let functionId = getNanoid(); + + for await (const part of stream) { + if (res.closed) { + stream.controller?.abort(); + break; + } + + const responseChoice = part.choices?.[0]?.delta; + if (responseChoice.content) { + const content = responseChoice?.content || ''; + textAnswer += content; + + responseWrite({ + write, + event: detail ? SseResponseEventEnum.answer : undefined, + data: textAdaptGptResponse({ + text: content + }) + }); + } else if (responseChoice.function_call) { + const functionCall: { + arguments: string; + name?: string; + } = responseChoice.function_call; + + // 流响应中,每次只会返回一个函数,如果带了name,说明触发某个函数 + if (functionCall?.name) { + functionId = getNanoid(); + const toolModule = toolModules.find((module) => module.moduleId === functionCall?.name); + + if (toolModule) { + if (functionCall?.arguments === undefined) { + functionCall.arguments = ''; + } + functionCalls.push({ + ...functionCall, + id: functionId, + name: functionCall.name, + toolName: toolModule.name, + toolAvatar: toolModule.avatar + }); + + if (detail) { + responseWrite({ + write, + event: SseResponseEventEnum.toolCall, + data: JSON.stringify({ + tool: { + id: functionId, + toolName: toolModule.name, + toolAvatar: toolModule.avatar, + functionName: functionCall.name, + params: functionCall.arguments, + response: '' + } + }) + }); + } + } + } + /* arg 插入最后一个工具的参数里 */ + const arg: string = functionCall?.arguments || ''; + const currentTool = functionCalls[functionCalls.length - 1]; + if (currentTool) { + currentTool.arguments += arg; + + if (detail) { + responseWrite({ + write, + event: SseResponseEventEnum.toolParams, + data: JSON.stringify({ + tool: { + id: functionId, + toolName: '', + toolAvatar: '', + params: arg, + response: '' + } + }) + }); + } + } + } + } + + if (!textAnswer && functionCalls.length === 0) { + return Promise.reject('LLM api response empty'); + } + + return { answer: textAnswer, functionCalls }; +} diff --git a/packages/service/core/workflow/dispatchV1/agent/runTool/index.ts b/packages/service/core/workflow/dispatchV1/agent/runTool/index.ts new file mode 100644 index 0000000000..db355e169b --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/agent/runTool/index.ts @@ -0,0 +1,158 @@ +// @ts-nocheck +import { NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import type { + DispatchNodeResultType, + RuntimeNodeItemType +} from '@fastgpt/global/core/workflow/runtime/type'; +import { ModelTypeEnum, getLLMModel } from '../../../../ai/model'; +import { getHistories } from '../../utils'; +import { runToolWithToolChoice } from './toolChoice'; +import { DispatchToolModuleProps, ToolModuleItemType } from './type.d'; +import { ChatItemType } from '@fastgpt/global/core/chat/type'; +import { ChatRoleEnum } from '@fastgpt/global/core/chat/constants'; +import { + GPTMessages2Chats, + chats2GPTMessages, + getSystemPrompt, + runtimePrompt2ChatsValue +} from '@fastgpt/global/core/chat/adapt'; +import { formatModelChars2Points } from '../../../../../support/wallet/usage/utils'; +import { getHistoryPreview } from '@fastgpt/global/core/chat/utils'; +import { runToolWithFunctionCall } from './functionCall'; +import { runToolWithPromptCall } from './promptCall'; +import { replaceVariable } from '@fastgpt/global/common/string/tools'; +import { Prompt_Tool_Call } from './constants'; + +type Response = DispatchNodeResultType<{}>; + +export const dispatchRunTools = async (props: DispatchToolModuleProps): Promise => { + const { + module: { name, outputs }, + runtimeModules, + histories, + params: { model, systemPrompt, userChatInput, history = 6 } + } = props; + + const toolModel = getLLMModel(model); + const chatHistories = getHistories(history, histories); + + /* get tool params */ + + // get tool output targets + const toolOutput = outputs.find((output) => output.key === NodeOutputKeyEnum.selectedTools); + + if (!toolOutput) { + return Promise.reject('No tool output found'); + } + + const targets = toolOutput.targets; + + // Gets the module to which the tool is connected + const toolModules = targets + .map((item) => { + const tool = runtimeModules.find((module) => module.moduleId === item.moduleId); + return tool; + }) + .filter(Boolean) + .map((tool) => { + const toolParams = tool?.inputs.filter((input) => !!input.toolDescription) || []; + return { + ...(tool as RuntimeNodeItemType), + toolParams + }; + }); + + const messages: ChatItemType[] = [ + ...getSystemPrompt(systemPrompt), + ...chatHistories, + { + obj: ChatRoleEnum.Human, + value: runtimePrompt2ChatsValue({ + text: userChatInput, + files: [] + }) + } + ]; + + const { + dispatchFlowResponse, // tool flow response + totalTokens, + completeMessages = [], // The actual message sent to AI(just save text) + assistantResponses = [] // FastGPT system store assistant.value response + } = await (async () => { + const adaptMessages = chats2GPTMessages({ messages, reserveId: false }); + + if (toolModel.toolChoice) { + return runToolWithToolChoice({ + ...props, + toolModules, + toolModel, + messages: adaptMessages + }); + } + if (toolModel.functionCall) { + return runToolWithFunctionCall({ + ...props, + toolModules, + toolModel, + messages: adaptMessages + }); + } + + const lastMessage = adaptMessages[adaptMessages.length - 1]; + if (typeof lastMessage.content !== 'string') { + return Promise.reject('暂时只支持纯文本'); + } + + lastMessage.content = replaceVariable(Prompt_Tool_Call, { + question: userChatInput + }); + + return runToolWithPromptCall({ + ...props, + toolModules, + toolModel, + messages: adaptMessages + }); + })(); + + const { totalPoints, modelName } = formatModelChars2Points({ + model, + tokens: totalTokens, + modelType: ModelTypeEnum.llm + }); + + // flat child tool response + const childToolResponse = dispatchFlowResponse.map((item) => item.flowResponses).flat(); + + // concat tool usage + const totalPointsUsage = + totalPoints + + dispatchFlowResponse.reduce((sum, item) => { + const childrenTotal = item.flowUsages.reduce((sum, item) => sum + item.totalPoints, 0); + return sum + childrenTotal; + }, 0); + const flatUsages = dispatchFlowResponse.map((item) => item.flowUsages).flat(); + + return { + [DispatchNodeResponseKeyEnum.assistantResponses]: assistantResponses, + [DispatchNodeResponseKeyEnum.nodeResponse]: { + totalPoints: totalPointsUsage, + toolCallTokens: totalTokens, + model: modelName, + query: userChatInput, + historyPreview: getHistoryPreview(GPTMessages2Chats(completeMessages, false)), + toolDetail: childToolResponse + }, + [DispatchNodeResponseKeyEnum.nodeDispatchUsages]: [ + { + moduleName: name, + totalPoints, + model: modelName, + tokens: totalTokens + }, + ...flatUsages + ] + }; +}; diff --git a/packages/service/core/workflow/dispatchV1/agent/runTool/promptCall.ts b/packages/service/core/workflow/dispatchV1/agent/runTool/promptCall.ts new file mode 100644 index 0000000000..f53db90cad --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/agent/runTool/promptCall.ts @@ -0,0 +1,388 @@ +// @ts-nocheck +import { LLMModelItemType } from '@fastgpt/global/core/ai/model.d'; +import { getAIApi } from '../../../../ai/config'; +import { filterGPTMessageByMaxTokens } from '../../../../chat/utils'; +import { + ChatCompletion, + StreamChatType, + ChatCompletionMessageParam, + ChatCompletionAssistantMessageParam +} from '@fastgpt/global/core/ai/type'; +import { NextApiResponse } from 'next'; +import { + responseWrite, + responseWriteController, + responseWriteNodeStatus +} from '../../../../../common/response'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { textAdaptGptResponse } from '@fastgpt/global/core/workflow/runtime/utils'; +import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; +import { dispatchWorkFlowV1 } from '../../index'; +import { DispatchToolModuleProps, RunToolResponse, ToolModuleItemType } from './type.d'; +import json5 from 'json5'; +import { countGptMessagesTokens } from '../../../../../common/string/tiktoken'; +import { getNanoid, replaceVariable } from '@fastgpt/global/common/string/tools'; +import { AIChatItemType } from '@fastgpt/global/core/chat/type'; +import { GPTMessages2Chats } from '@fastgpt/global/core/chat/adapt'; + +type FunctionCallCompletion = { + id: string; + name: string; + arguments: string; + toolName?: string; + toolAvatar?: string; +}; + +export const runToolWithPromptCall = async ( + props: DispatchToolModuleProps & { + messages: ChatCompletionMessageParam[]; + toolModules: ToolModuleItemType[]; + toolModel: LLMModelItemType; + }, + response?: RunToolResponse +): Promise => { + const { + toolModel, + toolModules, + messages, + res, + runtimeModules, + detail = false, + module, + stream + } = props; + const assistantResponses = response?.assistantResponses || []; + + const toolsPrompt = JSON.stringify( + toolModules.map((module) => { + const properties: Record< + string, + { + type: string; + description: string; + required?: boolean; + } + > = {}; + module.toolParams.forEach((item) => { + properties[item.key] = { + type: 'string', + description: item.toolDescription || '' + }; + }); + + return { + toolId: module.moduleId, + description: module.intro, + parameters: { + type: 'object', + properties, + required: module.toolParams.filter((item) => item.required).map((item) => item.key) + } + }; + }) + ); + + const lastMessage = messages[messages.length - 1]; + if (typeof lastMessage.content !== 'string') { + return Promise.reject('暂时只支持纯文本'); + } + lastMessage.content = replaceVariable(lastMessage.content, { + toolsPrompt + }); + + const filterMessages = await filterGPTMessageByMaxTokens({ + messages, + maxTokens: toolModel.maxContext - 500 // filter token. not response maxToken + }); + // console.log(JSON.stringify(filterMessages, null, 2)); + /* Run llm */ + const ai = getAIApi({ + timeout: 480000 + }); + const aiResponse = await ai.chat.completions.create( + { + ...toolModel?.defaultConfig, + model: toolModel.model, + temperature: 0, + stream, + messages: filterMessages + }, + { + headers: { + Accept: 'application/json, text/plain, */*' + } + } + ); + + const answer = await (async () => { + if (stream) { + const { answer } = await streamResponse({ + res, + detail, + toolModules, + stream: aiResponse + }); + + return answer; + } else { + const result = aiResponse as ChatCompletion; + + return result.choices?.[0]?.message?.content || ''; + } + })(); + + const parseAnswerResult = parseAnswer(answer); + // console.log(parseAnswer, '==11=='); + // No tools + if (typeof parseAnswerResult === 'string') { + // No tool is invoked, indicating that the process is over + const gptAssistantResponse: ChatCompletionAssistantMessageParam = { + role: ChatCompletionRequestMessageRoleEnum.Assistant, + content: parseAnswerResult + }; + const completeMessages = filterMessages.concat(gptAssistantResponse); + const tokens = await countGptMessagesTokens(completeMessages, undefined); + // console.log(tokens, 'response token'); + + // concat tool assistant + const toolNodeAssistant = GPTMessages2Chats([gptAssistantResponse])[0] as AIChatItemType; + + return { + dispatchFlowResponse: response?.dispatchFlowResponse || [], + totalTokens: response?.totalTokens ? response.totalTokens + tokens : tokens, + completeMessages, + assistantResponses: [...assistantResponses, ...toolNodeAssistant.value] + }; + } + + // Run the selected tool. + const toolsRunResponse = await (async () => { + if (!parseAnswerResult) return Promise.reject('tool run error'); + + const toolModule = toolModules.find((module) => module.moduleId === parseAnswerResult.name); + if (!toolModule) return Promise.reject('tool not found'); + + parseAnswerResult.toolName = toolModule.name; + parseAnswerResult.toolAvatar = toolModule.avatar; + + // run tool flow + const startParams = (() => { + try { + return json5.parse(parseAnswerResult.arguments); + } catch (error) { + return {}; + } + })(); + + // SSE response to client + if (stream && detail) { + responseWrite({ + res, + event: SseResponseEventEnum.toolCall, + data: JSON.stringify({ + tool: { + id: parseAnswerResult.id, + toolName: toolModule.name, + toolAvatar: toolModule.avatar, + functionName: parseAnswerResult.name, + params: parseAnswerResult.arguments, + response: '' + } + }) + }); + } + + const moduleRunResponse = await dispatchWorkFlowV1({ + ...props, + runtimeModules: runtimeModules.map((module) => ({ + ...module, + isEntry: module.moduleId === toolModule.moduleId + })), + startParams + }); + + const stringToolResponse = (() => { + if (typeof moduleRunResponse.toolResponses === 'object') { + return JSON.stringify(moduleRunResponse.toolResponses, null, 2); + } + + return moduleRunResponse.toolResponses ? String(moduleRunResponse.toolResponses) : 'none'; + })(); + + if (stream && detail) { + responseWrite({ + res, + event: SseResponseEventEnum.toolResponse, + data: JSON.stringify({ + tool: { + id: parseAnswerResult.id, + toolName: '', + toolAvatar: '', + params: '', + response: stringToolResponse + } + }) + }); + } + + return { + moduleRunResponse, + toolResponsePrompt: stringToolResponse + }; + })(); + + if (stream && detail) { + responseWriteNodeStatus({ + res, + name: module.name + }); + } + + // 合并工具调用的结果,使用 functionCall 格式存储。 + const assistantToolMsgParams: ChatCompletionAssistantMessageParam = { + role: ChatCompletionRequestMessageRoleEnum.Assistant, + function_call: parseAnswerResult + }; + const concatToolMessages = [ + ...filterMessages, + assistantToolMsgParams + ] as ChatCompletionMessageParam[]; + const tokens = await countGptMessagesTokens(concatToolMessages, undefined); + const completeMessages: ChatCompletionMessageParam[] = [ + ...concatToolMessages, + { + role: ChatCompletionRequestMessageRoleEnum.Function, + name: parseAnswerResult.name, + content: toolsRunResponse.toolResponsePrompt + } + ]; + + // tool assistant + const toolAssistants = toolsRunResponse.moduleRunResponse.assistantResponses || []; + // tool node assistant + const adaptChatMessages = GPTMessages2Chats(completeMessages); + const toolNodeAssistant = adaptChatMessages.pop() as AIChatItemType; + + const toolNodeAssistants = [...assistantResponses, ...toolAssistants, ...toolNodeAssistant.value]; + + const dispatchFlowResponse = response + ? response.dispatchFlowResponse.concat(toolsRunResponse.moduleRunResponse) + : [toolsRunResponse.moduleRunResponse]; + + // get the next user prompt + lastMessage.content += `${answer} +TOOL_RESPONSE: """ +${toolsRunResponse.toolResponsePrompt} +""" +ANSWER: `; + + /* check stop signal */ + const hasStopSignal = toolsRunResponse.moduleRunResponse.flowResponses.some( + (item) => !!item.toolStop + ); + if (hasStopSignal) { + return { + dispatchFlowResponse, + totalTokens: response?.totalTokens ? response.totalTokens + tokens : tokens, + completeMessages: filterMessages, + assistantResponses: toolNodeAssistants + }; + } + + return runToolWithPromptCall( + { + ...props, + messages + }, + { + dispatchFlowResponse, + totalTokens: response?.totalTokens ? response.totalTokens + tokens : tokens, + assistantResponses: toolNodeAssistants + } + ); +}; + +async function streamResponse({ + res, + detail, + stream +}: { + res: NextApiResponse; + detail: boolean; + toolModules: ToolModuleItemType[]; + stream: StreamChatType; +}) { + const write = responseWriteController({ + res, + readStream: stream + }); + + let startResponseWrite = false; + let textAnswer = ''; + + for await (const part of stream) { + if (res.closed) { + stream.controller?.abort(); + break; + } + + const responseChoice = part.choices?.[0]?.delta; + if (responseChoice.content) { + const content = responseChoice?.content || ''; + textAnswer += content; + + if (startResponseWrite) { + responseWrite({ + write, + event: detail ? SseResponseEventEnum.answer : undefined, + data: textAdaptGptResponse({ + text: content + }) + }); + } else if (textAnswer.length >= 3) { + textAnswer = textAnswer.trim(); + if (textAnswer.startsWith('0')) { + startResponseWrite = true; + // find first : index + const firstIndex = textAnswer.indexOf(':'); + textAnswer = textAnswer.substring(firstIndex + 1).trim(); + responseWrite({ + write, + event: detail ? SseResponseEventEnum.answer : undefined, + data: textAdaptGptResponse({ + text: textAnswer + }) + }); + } + } + } + } + + if (!textAnswer) { + return Promise.reject('LLM api response empty'); + } + // console.log(textAnswer, '---==='); + return { answer: textAnswer.trim() }; +} + +const parseAnswer = (str: string): FunctionCallCompletion | string => { + // 首先,使用正则表达式提取TOOL_ID和TOOL_ARGUMENTS + const prefix = '1:'; + str = str.trim(); + if (str.startsWith(prefix)) { + const toolString = str.substring(prefix.length).trim(); + + try { + const toolCall = json5.parse(toolString); + return { + id: getNanoid(), + name: toolCall.toolId, + arguments: JSON.stringify(toolCall.arguments || toolCall.parameters) + }; + } catch (error) { + return str; + } + } else { + return str; + } +}; diff --git a/packages/service/core/workflow/dispatchV1/agent/runTool/stopTool.ts b/packages/service/core/workflow/dispatchV1/agent/runTool/stopTool.ts new file mode 100644 index 0000000000..aa064b8b48 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/agent/runTool/stopTool.ts @@ -0,0 +1,14 @@ +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; + +export type AnswerProps = ModuleDispatchProps<{}>; +export type AnswerResponse = DispatchNodeResultType<{}>; + +export const dispatchStopToolCall = (props: Record): AnswerResponse => { + return { + [DispatchNodeResponseKeyEnum.nodeResponse]: { + toolStop: true + } + }; +}; diff --git a/packages/service/core/workflow/dispatchV1/agent/runTool/toolChoice.ts b/packages/service/core/workflow/dispatchV1/agent/runTool/toolChoice.ts new file mode 100644 index 0000000000..745db0e69b --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/agent/runTool/toolChoice.ts @@ -0,0 +1,413 @@ +// @ts-nocheck +import { LLMModelItemType } from '@fastgpt/global/core/ai/model.d'; +import { getAIApi } from '../../../../ai/config'; +import { filterGPTMessageByMaxTokens } from '../../../../chat/utils'; +import { + ChatCompletion, + ChatCompletionMessageToolCall, + StreamChatType, + ChatCompletionToolMessageParam, + ChatCompletionAssistantToolParam, + ChatCompletionMessageParam, + ChatCompletionTool, + ChatCompletionAssistantMessageParam +} from '@fastgpt/global/core/ai/type'; +import { NextApiResponse } from 'next'; +import { + responseWrite, + responseWriteController, + responseWriteNodeStatus +} from '../../../../../common/response'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { textAdaptGptResponse } from '@fastgpt/global/core/workflow/runtime/utils'; +import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; +import { dispatchWorkFlowV1 } from '../../index'; +import { DispatchToolModuleProps, RunToolResponse, ToolModuleItemType } from './type.d'; +import json5 from 'json5'; +import { DispatchFlowResponse } from '../../type'; +import { countGptMessagesTokens } from '../../../../../common/string/tiktoken'; +import { GPTMessages2Chats } from '@fastgpt/global/core/chat/adapt'; +import { AIChatItemType } from '@fastgpt/global/core/chat/type'; + +type ToolRunResponseType = { + moduleRunResponse: DispatchFlowResponse; + toolMsgParams: ChatCompletionToolMessageParam; +}[]; + +/* + 调用思路 + 1. messages 接收发送给AI的消息 + 2. response 记录递归运行结果(累计计算 dispatchFlowResponse, totalTokens和assistantResponses) + 3. 如果运行工具的话,则需要把工具中的结果累计加到dispatchFlowResponse中。 本次消耗的 token 加到 totalTokens, assistantResponses 记录当前工具运行的内容。 +*/ + +export const runToolWithToolChoice = async ( + props: DispatchToolModuleProps & { + messages: ChatCompletionMessageParam[]; + toolModules: ToolModuleItemType[]; + toolModel: LLMModelItemType; + }, + response?: RunToolResponse +): Promise => { + const { + toolModel, + toolModules, + messages, + res, + runtimeModules, + detail = false, + module, + stream + } = props; + const assistantResponses = response?.assistantResponses || []; + + const tools: ChatCompletionTool[] = toolModules.map((module) => { + const properties: Record< + string, + { + type: string; + description: string; + required?: boolean; + } + > = {}; + module.toolParams.forEach((item) => { + properties[item.key] = { + type: 'string', + description: item.toolDescription || '' + }; + }); + + return { + type: 'function', + function: { + name: module.moduleId, + description: module.intro, + parameters: { + type: 'object', + properties, + required: module.toolParams.filter((item) => item.required).map((item) => item.key) + } + } + }; + }); + + const filterMessages = await filterGPTMessageByMaxTokens({ + messages, + maxTokens: toolModel.maxContext - 300 // filter token. not response maxToken + }); + + /* Run llm */ + const ai = getAIApi({ + timeout: 480000 + }); + const aiResponse = await ai.chat.completions.create( + { + ...toolModel?.defaultConfig, + model: toolModel.model, + temperature: 0, + stream, + messages: filterMessages, + tools, + tool_choice: 'auto' + }, + { + headers: { + Accept: 'application/json, text/plain, */*' + } + } + ); + + const { answer, toolCalls } = await (async () => { + if (stream) { + return streamResponse({ + res, + detail, + toolModules, + stream: aiResponse + }); + } else { + const result = aiResponse as ChatCompletion; + const calls = result.choices?.[0]?.message?.tool_calls || []; + + // 加上name和avatar + const toolCalls = calls.map((tool) => { + const toolModule = toolModules.find((module) => module.moduleId === tool.function?.name); + return { + ...tool, + toolName: toolModule?.name || '', + toolAvatar: toolModule?.avatar || '' + }; + }); + + return { + answer: result.choices?.[0]?.message?.content || '', + toolCalls: toolCalls + }; + } + })(); + + // Run the selected tool. + const toolsRunResponse = ( + await Promise.all( + toolCalls.map(async (tool) => { + const toolModule = toolModules.find((module) => module.moduleId === tool.function?.name); + + if (!toolModule) return; + + const startParams = (() => { + try { + return json5.parse(tool.function.arguments); + } catch (error) { + return {}; + } + })(); + + const moduleRunResponse = await dispatchWorkFlowV1({ + ...props, + runtimeModules: runtimeModules.map((module) => ({ + ...module, + isEntry: module.moduleId === toolModule.moduleId + })), + startParams + }); + + const stringToolResponse = (() => { + if (typeof moduleRunResponse.toolResponses === 'object') { + return JSON.stringify(moduleRunResponse.toolResponses, null, 2); + } + + return moduleRunResponse.toolResponses ? String(moduleRunResponse.toolResponses) : 'none'; + })(); + + const toolMsgParams: ChatCompletionToolMessageParam = { + tool_call_id: tool.id, + role: ChatCompletionRequestMessageRoleEnum.Tool, + name: tool.function.name, + content: stringToolResponse + }; + + if (stream && detail) { + responseWrite({ + res, + event: SseResponseEventEnum.toolResponse, + data: JSON.stringify({ + tool: { + id: tool.id, + toolName: '', + toolAvatar: '', + params: '', + response: stringToolResponse + } + }) + }); + } + + return { + moduleRunResponse, + toolMsgParams + }; + }) + ) + ).filter(Boolean) as ToolRunResponseType; + + const flatToolsResponseData = toolsRunResponse.map((item) => item.moduleRunResponse).flat(); + if (toolCalls.length > 0 && !res.closed) { + // Run the tool, combine its results, and perform another round of AI calls + const assistantToolMsgParams: ChatCompletionAssistantToolParam = { + role: ChatCompletionRequestMessageRoleEnum.Assistant, + tool_calls: toolCalls + }; + const concatToolMessages = [ + ...filterMessages, + assistantToolMsgParams + ] as ChatCompletionMessageParam[]; + const tokens = await countGptMessagesTokens(concatToolMessages, tools); + const completeMessages = [ + ...concatToolMessages, + ...toolsRunResponse.map((item) => item?.toolMsgParams) + ]; + + // console.log(tokens, 'tool'); + + if (stream && detail) { + responseWriteNodeStatus({ + res, + name: module.name + }); + } + + // tool assistant + const toolAssistants = toolsRunResponse + .map((item) => { + const assistantResponses = item.moduleRunResponse.assistantResponses || []; + return assistantResponses; + }) + .flat(); + + // tool node assistant + const adaptChatMessages = GPTMessages2Chats(completeMessages); + const toolNodeAssistant = adaptChatMessages.pop() as AIChatItemType; + + const toolNodeAssistants = [ + ...assistantResponses, + ...toolAssistants, + ...toolNodeAssistant.value + ]; + + // concat tool responses + const dispatchFlowResponse = response + ? response.dispatchFlowResponse.concat(flatToolsResponseData) + : flatToolsResponseData; + + /* check stop signal */ + const hasStopSignal = flatToolsResponseData.some( + (item) => !!item.flowResponses?.find((item) => item.toolStop) + ); + if (hasStopSignal) { + return { + dispatchFlowResponse, + totalTokens: response?.totalTokens ? response.totalTokens + tokens : tokens, + completeMessages, + assistantResponses: toolNodeAssistants + }; + } + + return runToolWithToolChoice( + { + ...props, + messages: completeMessages + }, + { + dispatchFlowResponse, + totalTokens: response?.totalTokens ? response.totalTokens + tokens : tokens, + assistantResponses: toolNodeAssistants + } + ); + } else { + // No tool is invoked, indicating that the process is over + const gptAssistantResponse: ChatCompletionAssistantMessageParam = { + role: ChatCompletionRequestMessageRoleEnum.Assistant, + content: answer + }; + const completeMessages = filterMessages.concat(gptAssistantResponse); + const tokens = await countGptMessagesTokens(completeMessages, tools); + // console.log(tokens, 'response token'); + + // concat tool assistant + const toolNodeAssistant = GPTMessages2Chats([gptAssistantResponse])[0] as AIChatItemType; + + return { + dispatchFlowResponse: response?.dispatchFlowResponse || [], + totalTokens: response?.totalTokens ? response.totalTokens + tokens : tokens, + completeMessages, + assistantResponses: [...assistantResponses, ...toolNodeAssistant.value] + }; + } +}; + +async function streamResponse({ + res, + detail, + toolModules, + stream +}: { + res: NextApiResponse; + detail: boolean; + toolModules: ToolModuleItemType[]; + stream: StreamChatType; +}) { + const write = responseWriteController({ + res, + readStream: stream + }); + + let textAnswer = ''; + let toolCalls: ChatCompletionMessageToolCall[] = []; + + for await (const part of stream) { + if (res.closed) { + stream.controller?.abort(); + break; + } + + const responseChoice = part.choices?.[0]?.delta; + // console.log(JSON.stringify(responseChoice, null, 2)); + if (responseChoice?.content) { + const content = responseChoice.content || ''; + textAnswer += content; + + responseWrite({ + write, + event: detail ? SseResponseEventEnum.answer : undefined, + data: textAdaptGptResponse({ + text: content + }) + }); + } else if (responseChoice?.tool_calls?.[0]) { + const toolCall: ChatCompletionMessageToolCall = responseChoice.tool_calls[0]; + + // 流响应中,每次只会返回一个工具. 如果带了 id,说明是执行一个工具 + if (toolCall.id) { + const toolModule = toolModules.find( + (module) => module.moduleId === toolCall.function?.name + ); + + if (toolModule) { + if (toolCall.function?.arguments === undefined) { + toolCall.function.arguments = ''; + } + toolCalls.push({ + ...toolCall, + toolName: toolModule.name, + toolAvatar: toolModule.avatar + }); + + if (detail) { + responseWrite({ + write, + event: SseResponseEventEnum.toolCall, + data: JSON.stringify({ + tool: { + id: toolCall.id, + toolName: toolModule.name, + toolAvatar: toolModule.avatar, + functionName: toolCall.function.name, + params: toolCall.function.arguments, + response: '' + } + }) + }); + } + } + } + /* arg 插入最后一个工具的参数里 */ + const arg: string = responseChoice.tool_calls?.[0]?.function?.arguments; + const currentTool = toolCalls[toolCalls.length - 1]; + if (currentTool) { + currentTool.function.arguments += arg; + + if (detail) { + responseWrite({ + write, + event: SseResponseEventEnum.toolParams, + data: JSON.stringify({ + tool: { + id: currentTool.id, + toolName: '', + toolAvatar: '', + params: arg, + response: '' + } + }) + }); + } + } + } + } + + if (!textAnswer && toolCalls.length === 0) { + return Promise.reject('LLM api response empty'); + } + + return { answer: textAnswer, toolCalls }; +} diff --git a/packages/service/core/workflow/dispatchV1/agent/runTool/type.d.ts b/packages/service/core/workflow/dispatchV1/agent/runTool/type.d.ts new file mode 100644 index 0000000000..73484f6cd7 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/agent/runTool/type.d.ts @@ -0,0 +1,28 @@ +import { ChatCompletionMessageParam } from '@fastgpt/global/core/ai/type'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { FlowNodeInputItemType } from '@fastgpt/global/core/workflow/node/type'; +import type { + ModuleDispatchProps, + DispatchNodeResponseType +} from '@fastgpt/global/core/workflow/type.d'; +import type { RuntimeNodeItemType } from '@fastgpt/global/core/workflow/runtime/type'; +import { ChatNodeUsageType } from '@fastgpt/global/support/wallet/bill/type'; +import type { DispatchFlowResponse } from '../../type.d'; +import { AIChatItemValueItemType, ChatItemValueItemType } from '@fastgpt/global/core/chat/type'; + +export type DispatchToolModuleProps = ModuleDispatchProps<{ + [NodeInputKeyEnum.history]?: ChatItemType[]; + [NodeInputKeyEnum.aiModel]: string; + [NodeInputKeyEnum.aiSystemPrompt]: string; + [NodeInputKeyEnum.userChatInput]: string; +}>; + +export type RunToolResponse = { + dispatchFlowResponse: DispatchFlowResponse[]; + totalTokens: number; + completeMessages?: ChatCompletionMessageParam[]; + assistantResponses?: AIChatItemValueItemType[]; +}; +export type ToolModuleItemType = RuntimeNodeItemType & { + toolParams: RuntimeNodeItemType['inputs']; +}; diff --git a/packages/service/core/workflow/dispatchV1/chat/oneapi.ts b/packages/service/core/workflow/dispatchV1/chat/oneapi.ts new file mode 100644 index 0000000000..2cdda94c23 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/chat/oneapi.ts @@ -0,0 +1,408 @@ +// @ts-nocheck +import type { NextApiResponse } from 'next'; +import { + filterGPTMessageByMaxTokens, + formatGPTMessagesInRequestBefore, + loadChatImgToBase64 +} from '../../../chat/utils'; +import type { ChatItemType, UserChatItemValueItemType } from '@fastgpt/global/core/chat/type.d'; +import { ChatRoleEnum } from '@fastgpt/global/core/chat/constants'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { textAdaptGptResponse } from '@fastgpt/global/core/workflow/runtime/utils'; +import { getAIApi } from '../../../ai/config'; +import type { + ChatCompletion, + ChatCompletionMessageParam, + StreamChatType +} from '@fastgpt/global/core/ai/type.d'; +import { formatModelChars2Points } from '../../../../support/wallet/usage/utils'; +import type { LLMModelItemType } from '@fastgpt/global/core/ai/model.d'; +import { postTextCensor } from '../../../../common/api/requestPlusApi'; +import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; +import type { FlowNodeItemType } from '@fastgpt/global/core/workflow/type'; +import type { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; +import { + countMessagesTokens, + countGptMessagesTokens +} from '../../../../common/string/tiktoken/index'; +import { + chats2GPTMessages, + getSystemPrompt, + GPTMessages2Chats, + runtimePrompt2ChatsValue +} from '@fastgpt/global/core/chat/adapt'; +import { + Prompt_QuotePromptList, + Prompt_QuoteTemplateList +} from '@fastgpt/global/core/ai/prompt/AIChat'; +import type { AIChatNodeProps } from '@fastgpt/global/core/workflow/runtime/type.d'; +import { replaceVariable } from '@fastgpt/global/common/string/tools'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { responseWrite, responseWriteController } from '../../../../common/response'; +import { getLLMModel, ModelTypeEnum } from '../../../ai/model'; +import type { SearchDataResponseItemType } from '@fastgpt/global/core/dataset/type'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { getHistories } from '../utils'; +import { filterSearchResultsByMaxChars } from '../../utils'; +import { getHistoryPreview } from '@fastgpt/global/core/chat/utils'; + +export type ChatProps = ModuleDispatchProps< + AIChatNodeProps & { + [NodeInputKeyEnum.userChatInput]: string; + [NodeInputKeyEnum.history]?: ChatItemType[] | number; + [NodeInputKeyEnum.aiChatDatasetQuote]?: SearchDataResponseItemType[]; + } +>; +export type ChatResponse = DispatchNodeResultType<{ + [NodeOutputKeyEnum.answerText]: string; + [NodeOutputKeyEnum.history]: ChatItemType[]; +}>; + +/* request openai chat */ +export const dispatchChatCompletion = async (props: ChatProps): Promise => { + let { + res, + stream = false, + detail = false, + user, + histories, + module: { name, outputs }, + inputFiles = [], + params: { + model, + temperature = 0, + maxToken = 4000, + history = 6, + quoteQA, + userChatInput, + isResponseAnswerText = true, + systemPrompt = '', + quoteTemplate, + quotePrompt + } + } = props; + if (!userChatInput && inputFiles.length === 0) { + return Promise.reject('Question is empty'); + } + stream = stream && isResponseAnswerText; + + const chatHistories = getHistories(history, histories); + + // temperature adapt + const modelConstantsData = getLLMModel(model); + + if (!modelConstantsData) { + return Promise.reject('The chat model is undefined, you need to select a chat model.'); + } + + const { quoteText } = await filterQuote({ + quoteQA, + model: modelConstantsData, + quoteTemplate + }); + + // censor model and system key + if (modelConstantsData.censor && !user.openaiAccount?.key) { + await postTextCensor({ + text: `${systemPrompt} + ${quoteText} + ${userChatInput} + ` + }); + } + + const { filterMessages } = await getChatMessages({ + model: modelConstantsData, + histories: chatHistories, + quoteQA, + quoteText, + quotePrompt, + userChatInput, + inputFiles, + systemPrompt + }); + + const { max_tokens } = await getMaxTokens({ + model: modelConstantsData, + maxToken, + filterMessages + }); + + // FastGPT temperature range: 1~10 + temperature = +(modelConstantsData.maxTemperature * (temperature / 10)).toFixed(2); + temperature = Math.max(temperature, 0.01); + const ai = getAIApi({ + userKey: user.openaiAccount, + timeout: 480000 + }); + + const concatMessages = [ + ...(modelConstantsData.defaultSystemChatPrompt + ? [ + { + role: ChatCompletionRequestMessageRoleEnum.System, + content: modelConstantsData.defaultSystemChatPrompt + } + ] + : []), + ...formatGPTMessagesInRequestBefore(filterMessages) + ] as ChatCompletionMessageParam[]; + + if (concatMessages.length === 0) { + return Promise.reject('core.chat.error.Messages empty'); + } + + const loadMessages = await Promise.all( + concatMessages.map(async (item) => { + if (item.role === ChatCompletionRequestMessageRoleEnum.User) { + return { + ...item, + content: await loadChatImgToBase64(item.content) + }; + } else { + return item; + } + }) + ); + + const response = await ai.chat.completions.create( + { + ...modelConstantsData?.defaultConfig, + model: modelConstantsData.model, + temperature, + max_tokens, + stream, + messages: loadMessages + }, + { + headers: { + Accept: 'application/json, text/plain, */*' + } + } + ); + + const { answerText } = await (async () => { + if (res && stream) { + // sse response + const { answer } = await streamResponse({ + res, + detail, + stream: response + }); + + targetResponse({ res, detail, outputs }); + + return { + answerText: answer + }; + } else { + const unStreamResponse = response as ChatCompletion; + const answer = unStreamResponse.choices?.[0]?.message?.content || ''; + + return { + answerText: answer + }; + } + })(); + + const completeMessages = filterMessages.concat({ + role: ChatCompletionRequestMessageRoleEnum.Assistant, + content: answerText + }); + const chatCompleteMessages = GPTMessages2Chats(completeMessages); + + const tokens = await countMessagesTokens(chatCompleteMessages); + const { totalPoints, modelName } = formatModelChars2Points({ + model, + tokens, + modelType: ModelTypeEnum.llm + }); + + return { + answerText, + [DispatchNodeResponseKeyEnum.nodeResponse]: { + totalPoints: user.openaiAccount?.key ? 0 : totalPoints, + model: modelName, + tokens, + query: `${userChatInput}`, + maxToken: max_tokens, + historyPreview: getHistoryPreview(chatCompleteMessages), + contextTotalLen: completeMessages.length + }, + [DispatchNodeResponseKeyEnum.nodeDispatchUsages]: [ + { + moduleName: name, + totalPoints: user.openaiAccount?.key ? 0 : totalPoints, + model: modelName, + tokens + } + ], + [DispatchNodeResponseKeyEnum.toolResponses]: answerText, + history: chatCompleteMessages + }; +}; + +async function filterQuote({ + quoteQA = [], + model, + quoteTemplate +}: { + quoteQA: ChatProps['params']['quoteQA']; + model: LLMModelItemType; + quoteTemplate?: string; +}) { + function getValue(item: SearchDataResponseItemType, index: number) { + return replaceVariable(quoteTemplate || Prompt_QuoteTemplateList[0].value, { + q: item.q, + a: item.a, + source: item.sourceName, + sourceId: String(item.sourceId || 'UnKnow'), + index: index + 1 + }); + } + + // slice filterSearch + const filterQuoteQA = await filterSearchResultsByMaxChars(quoteQA, model.quoteMaxToken); + + const quoteText = + filterQuoteQA.length > 0 + ? `${filterQuoteQA.map((item, index) => getValue(item, index).trim()).join('\n------\n')}` + : ''; + + return { + quoteText + }; +} +async function getChatMessages({ + quotePrompt, + quoteText, + quoteQA, + histories = [], + systemPrompt, + userChatInput, + inputFiles, + model +}: { + quotePrompt?: string; + quoteText: string; + quoteQA: ChatProps['params']['quoteQA']; + histories: ChatItemType[]; + systemPrompt: string; + userChatInput: string; + inputFiles: UserChatItemValueItemType['file'][]; + model: LLMModelItemType; +}) { + const replaceInputValue = + quoteQA !== undefined + ? replaceVariable(quotePrompt || Prompt_QuotePromptList[0].value, { + quote: quoteText, + question: userChatInput + }) + : userChatInput; + + const messages: ChatItemType[] = [ + ...getSystemPrompt(systemPrompt), + ...histories, + { + obj: ChatRoleEnum.Human, + value: runtimePrompt2ChatsValue({ + files: inputFiles, + text: replaceInputValue + }) + } + ]; + const adaptMessages = chats2GPTMessages({ messages, reserveId: false }); + + const filterMessages = await filterGPTMessageByMaxTokens({ + messages: adaptMessages, + maxTokens: model.maxContext - 300 // filter token. not response maxToken + }); + + return { + filterMessages + }; +} +async function getMaxTokens({ + maxToken, + model, + filterMessages = [] +}: { + maxToken: number; + model: LLMModelItemType; + filterMessages: ChatCompletionMessageParam[]; +}) { + maxToken = Math.min(maxToken, model.maxResponse); + const tokensLimit = model.maxContext; + + /* count response max token */ + const promptsToken = await countGptMessagesTokens(filterMessages); + maxToken = promptsToken + maxToken > tokensLimit ? tokensLimit - promptsToken : maxToken; + + if (maxToken <= 0) { + maxToken = 200; + } + return { + max_tokens: maxToken + }; +} + +function targetResponse({ + res, + outputs, + detail +}: { + res: NextApiResponse; + outputs: FlowNodeItemType['outputs']; + detail: boolean; +}) { + const targets = + outputs.find((output) => output.key === NodeOutputKeyEnum.answerText)?.targets || []; + + if (targets.length === 0) return; + responseWrite({ + res, + event: detail ? SseResponseEventEnum.answer : undefined, + data: textAdaptGptResponse({ + text: '\n' + }) + }); +} + +async function streamResponse({ + res, + detail, + stream +}: { + res: NextApiResponse; + detail: boolean; + stream: StreamChatType; +}) { + const write = responseWriteController({ + res, + readStream: stream + }); + let answer = ''; + for await (const part of stream) { + if (res.closed) { + stream.controller?.abort(); + break; + } + const content = part.choices?.[0]?.delta?.content || ''; + answer += content; + + responseWrite({ + write, + event: detail ? SseResponseEventEnum.answer : undefined, + data: textAdaptGptResponse({ + text: content + }) + }); + } + + if (!answer) { + return Promise.reject('core.chat.Chat API is error or undefined'); + } + + return { answer }; +} diff --git a/packages/service/core/workflow/dispatchV1/dataset/concat.ts b/packages/service/core/workflow/dispatchV1/dataset/concat.ts new file mode 100644 index 0000000000..80793de1db --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/dataset/concat.ts @@ -0,0 +1,35 @@ +import type { SearchDataResponseItemType } from '@fastgpt/global/core/dataset/type'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { datasetSearchResultConcat } from '@fastgpt/global/core/dataset/search/utils'; +import { filterSearchResultsByMaxChars } from '../../utils'; + +type DatasetConcatProps = ModuleDispatchProps< + { + [NodeInputKeyEnum.datasetMaxTokens]: number; + } & { [key: string]: SearchDataResponseItemType[] } +>; +type DatasetConcatResponse = { + [NodeOutputKeyEnum.datasetQuoteQA]: SearchDataResponseItemType[]; +}; + +export async function dispatchDatasetConcat( + props: DatasetConcatProps +): Promise { + const { + params: { limit = 1500, ...quoteMap } + } = props as DatasetConcatProps; + + const quoteList = Object.values(quoteMap).filter((list) => Array.isArray(list)); + + const rrfConcatResults = datasetSearchResultConcat( + quoteList.map((list) => ({ + k: 60, + list + })) + ); + + return { + [NodeOutputKeyEnum.datasetQuoteQA]: await filterSearchResultsByMaxChars(rrfConcatResults, limit) + }; +} diff --git a/packages/service/core/workflow/dispatchV1/dataset/search.ts b/packages/service/core/workflow/dispatchV1/dataset/search.ts new file mode 100644 index 0000000000..d79e588d7b --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/dataset/search.ts @@ -0,0 +1,165 @@ +// @ts-nocheck +import { + DispatchNodeResponseType, + DispatchNodeResultType +} from '@fastgpt/global/core/workflow/runtime/type.d'; +import { formatModelChars2Points } from '../../../../support/wallet/usage/utils'; +import type { SelectedDatasetType } from '@fastgpt/global/core/workflow/api.d'; +import type { SearchDataResponseItemType } from '@fastgpt/global/core/dataset/type'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { ModelTypeEnum, getLLMModel, getVectorModel } from '../../../ai/model'; +import { searchDatasetData } from '../../../dataset/search/controller'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { DatasetSearchModeEnum } from '@fastgpt/global/core/dataset/constants'; +import { getHistories } from '../utils'; +import { datasetSearchQueryExtension } from '../../../dataset/search/utils'; +import { ChatNodeUsageType } from '@fastgpt/global/support/wallet/bill/type'; +import { checkTeamReRankPermission } from '../../../../support/permission/teamLimit'; + +type DatasetSearchProps = ModuleDispatchProps<{ + [NodeInputKeyEnum.datasetSelectList]: SelectedDatasetType; + [NodeInputKeyEnum.datasetSimilarity]: number; + [NodeInputKeyEnum.datasetMaxTokens]: number; + [NodeInputKeyEnum.datasetSearchMode]: `${DatasetSearchModeEnum}`; + [NodeInputKeyEnum.userChatInput]: string; + [NodeInputKeyEnum.datasetSearchUsingReRank]: boolean; + [NodeInputKeyEnum.datasetSearchUsingExtensionQuery]: boolean; + [NodeInputKeyEnum.datasetSearchExtensionModel]: string; + [NodeInputKeyEnum.datasetSearchExtensionBg]: string; +}>; +export type DatasetSearchResponse = DispatchNodeResultType<{ + isEmpty?: boolean; + unEmpty?: boolean; + [NodeOutputKeyEnum.datasetQuoteQA]: SearchDataResponseItemType[]; +}>; + +export async function dispatchDatasetSearch( + props: DatasetSearchProps +): Promise { + const { + teamId, + histories, + module, + params: { + datasets = [], + similarity, + limit = 1500, + usingReRank, + searchMode, + userChatInput, + + datasetSearchUsingExtensionQuery, + datasetSearchExtensionModel, + datasetSearchExtensionBg + } + } = props as DatasetSearchProps; + + if (!Array.isArray(datasets)) { + return Promise.reject('Quote type error'); + } + + if (datasets.length === 0) { + return Promise.reject('core.chat.error.Select dataset empty'); + } + + if (!userChatInput) { + return Promise.reject('core.chat.error.User input empty'); + } + + // query extension + const extensionModel = + datasetSearchUsingExtensionQuery && datasetSearchExtensionModel + ? getLLMModel(datasetSearchExtensionModel) + : undefined; + const { concatQueries, rewriteQuery, aiExtensionResult } = await datasetSearchQueryExtension({ + query: userChatInput, + extensionModel, + extensionBg: datasetSearchExtensionBg, + histories: getHistories(6, histories) + }); + + // console.log(concatQueries, rewriteQuery, aiExtensionResult); + + // get vector + const vectorModel = getVectorModel(datasets[0]?.vectorModel?.model); + + // start search + const { + searchRes, + tokens, + usingSimilarityFilter, + usingReRank: searchUsingReRank + } = await searchDatasetData({ + teamId, + reRankQuery: `${rewriteQuery}`, + queries: concatQueries, + model: vectorModel.model, + similarity, + limit, + datasetIds: datasets.map((item) => item.datasetId), + searchMode, + usingReRank: usingReRank && (await checkTeamReRankPermission(teamId)) + }); + + // count bill results + // vector + const { totalPoints, modelName } = formatModelChars2Points({ + model: vectorModel.model, + tokens, + modelType: ModelTypeEnum.vector + }); + const responseData: DispatchNodeResponseType & { totalPoints: number } = { + totalPoints, + query: concatQueries.join('\n'), + model: modelName, + tokens, + similarity: usingSimilarityFilter ? similarity : undefined, + limit, + searchMode, + searchUsingReRank: searchUsingReRank, + quoteList: searchRes + }; + const nodeDispatchUsages: ChatNodeUsageType[] = [ + { + totalPoints, + moduleName: module.name, + model: modelName, + tokens + } + ]; + + if (aiExtensionResult) { + const { totalPoints, modelName } = formatModelChars2Points({ + model: aiExtensionResult.model, + tokens: aiExtensionResult.tokens, + modelType: ModelTypeEnum.llm + }); + + responseData.totalPoints += totalPoints; + responseData.tokens = aiExtensionResult.tokens; + responseData.extensionModel = modelName; + responseData.extensionResult = + aiExtensionResult.extensionQueries?.join('\n') || + JSON.stringify(aiExtensionResult.extensionQueries); + + nodeDispatchUsages.push({ + totalPoints, + moduleName: 'core.module.template.Query extension', + model: modelName, + tokens: aiExtensionResult.tokens + }); + } + + return { + isEmpty: searchRes.length === 0 ? true : undefined, + unEmpty: searchRes.length > 0 ? true : undefined, + quoteQA: searchRes, + [DispatchNodeResponseKeyEnum.nodeResponse]: responseData, + nodeDispatchUsages, + [DispatchNodeResponseKeyEnum.toolResponses]: searchRes.map((item) => ({ + id: item.id, + text: `${item.q}\n${item.a}`.trim() + })) + }; +} diff --git a/packages/service/core/workflow/dispatchV1/index.ts b/packages/service/core/workflow/dispatchV1/index.ts new file mode 100644 index 0000000000..e03b7196c3 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/index.ts @@ -0,0 +1,434 @@ +// @ts-nocheck +import { NextApiResponse } from 'next'; +import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import type { ChatDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; +import type { RuntimeNodeItemType } from '@fastgpt/global/core/workflow/runtime/type.d'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type/index.d'; +import type { + AIChatItemValueItemType, + ChatHistoryItemResType, + ToolRunResponseItemType +} from '@fastgpt/global/core/chat/type.d'; +import { + FlowNodeInputTypeEnum, + FlowNodeTypeEnum +} from '@fastgpt/global/core/workflow/node/constant'; +import { FlowNodeItemType } from '@fastgpt/global/core/workflow/type'; +import { replaceVariable } from '@fastgpt/global/common/string/tools'; +import { responseWriteNodeStatus } from '../../../common/response'; +import { getSystemTime } from '@fastgpt/global/common/time/timezone'; + +import { dispatchHistory } from './init/history'; +import { dispatchChatInput } from './init/userChatInput'; +import { dispatchChatCompletion } from './chat/oneapi'; +import { dispatchDatasetSearch } from './dataset/search'; +import { dispatchDatasetConcat } from './dataset/concat'; +import { dispatchAnswer } from './tools/answer'; +import { dispatchClassifyQuestion } from './agent/classifyQuestion'; +import { dispatchContentExtract } from './agent/extract'; +import { dispatchHttpRequest } from './tools/http'; +import { dispatchHttp468Request } from './tools/http468'; +import { dispatchAppRequest } from './tools/runApp'; +import { dispatchQueryExtension } from './tools/queryExternsion'; +import { dispatchRunPlugin } from './plugin/run'; +import { dispatchPluginInput } from './plugin/runInput'; +import { dispatchPluginOutput } from './plugin/runOutput'; +import { checkTheModuleConnectedByTool, valueTypeFormat } from './utils'; +import { ChatNodeUsageType } from '@fastgpt/global/support/wallet/bill/type'; +import { dispatchRunTools } from './agent/runTool/index'; +import { ChatItemValueTypeEnum } from '@fastgpt/global/core/chat/constants'; +import { DispatchFlowResponse } from './type'; +import { dispatchStopToolCall } from './agent/runTool/stopTool'; +import { dispatchLafRequest } from './tools/runLaf'; + +const callbackMap: Record = { + questionInput: dispatchChatInput, + [FlowNodeTypeEnum.answerNode]: dispatchAnswer, + [FlowNodeTypeEnum.chatNode]: dispatchChatCompletion, + [FlowNodeTypeEnum.datasetSearchNode]: dispatchDatasetSearch, + [FlowNodeTypeEnum.datasetConcatNode]: dispatchDatasetConcat, + [FlowNodeTypeEnum.classifyQuestion]: dispatchClassifyQuestion, + [FlowNodeTypeEnum.contentExtract]: dispatchContentExtract, + [FlowNodeTypeEnum.httpRequest468]: dispatchHttp468Request, + [FlowNodeTypeEnum.runApp]: dispatchAppRequest, + [FlowNodeTypeEnum.pluginModule]: dispatchRunPlugin, + [FlowNodeTypeEnum.pluginInput]: dispatchPluginInput, + [FlowNodeTypeEnum.pluginOutput]: dispatchPluginOutput, + [FlowNodeTypeEnum.queryExtension]: dispatchQueryExtension, + [FlowNodeTypeEnum.tools]: dispatchRunTools, + [FlowNodeTypeEnum.stopTool]: dispatchStopToolCall, + [FlowNodeTypeEnum.lafModule]: dispatchLafRequest +}; + +/* running */ +export async function dispatchWorkFlowV1({ + res, + modules = [], + runtimeModules, + startParams = {}, + histories = [], + variables = {}, + user, + stream = false, + detail = false, + ...props +}: ChatDispatchProps & { + modules?: FlowNodeItemType[]; // app modules + runtimeModules?: RuntimeNodeItemType[]; + startParams?: Record; // entry module params +}): Promise { + // set sse response headers + if (res && stream) { + res.setHeader('Content-Type', 'text/event-stream;charset=utf-8'); + res.setHeader('Access-Control-Allow-Origin', '*'); + res.setHeader('X-Accel-Buffering', 'no'); + res.setHeader('Cache-Control', 'no-cache, no-transform'); + } + + variables = { + ...getSystemVariable({ timezone: user.timezone }), + ...variables + }; + const runningModules = runtimeModules ? runtimeModules : loadModules(modules, variables); + + let chatResponses: ChatHistoryItemResType[] = []; // response request and save to database + let chatAssistantResponse: AIChatItemValueItemType[] = []; // The value will be returned to the user + let chatNodeUsages: ChatNodeUsageType[] = []; + let toolRunResponse: ToolRunResponseItemType; + let runningTime = Date.now(); + + /* Store special response field */ + function pushStore( + { inputs = [] }: RuntimeNodeItemType, + { + answerText = '', + responseData, + nodeDispatchUsages, + toolResponses, + assistantResponses + }: { + [NodeOutputKeyEnum.answerText]?: string; + [DispatchNodeResponseKeyEnum.nodeResponse]?: ChatHistoryItemResType; + [DispatchNodeResponseKeyEnum.nodeDispatchUsages]?: ChatNodeUsageType[]; + [DispatchNodeResponseKeyEnum.toolResponses]?: ToolRunResponseItemType; + [DispatchNodeResponseKeyEnum.assistantResponses]?: AIChatItemValueItemType[]; // tool module, save the response value + } + ) { + const time = Date.now(); + + if (responseData) { + chatResponses.push({ + ...responseData, + runningTime: +((time - runningTime) / 1000).toFixed(2) + }); + } + if (nodeDispatchUsages) { + chatNodeUsages = chatNodeUsages.concat(nodeDispatchUsages); + props.maxRunTimes -= nodeDispatchUsages.length; + } + if (toolResponses !== undefined) { + if (Array.isArray(toolResponses) && toolResponses.length === 0) return; + if (typeof toolResponses === 'object' && Object.keys(toolResponses).length === 0) { + return; + } + toolRunResponse = toolResponses; + } + if (assistantResponses) { + chatAssistantResponse = chatAssistantResponse.concat(assistantResponses); + } + + // save assistant text response + if (answerText) { + const isResponseAnswerText = + inputs.find((item) => item.key === NodeInputKeyEnum.aiChatIsResponseText)?.value ?? true; + if (isResponseAnswerText) { + chatAssistantResponse.push({ + type: ChatItemValueTypeEnum.text, + text: { + content: answerText + } + }); + } + } + + runningTime = time; + } + /* Inject data into module input */ + function moduleInput(module: RuntimeNodeItemType, data: Record = {}) { + const updateInputValue = (key: string, value: any) => { + const index = module.inputs.findIndex((item: any) => item.key === key); + if (index === -1) return; + module.inputs[index].value = value; + }; + Object.entries(data).map(([key, val]: any) => { + updateInputValue(key, val); + }); + + return; + } + /* Pass the output of the module to the next stage */ + function moduleOutput( + module: RuntimeNodeItemType, + result: Record = {} + ): Promise { + pushStore(module, result); + + const nextRunModules: RuntimeNodeItemType[] = []; + + // Assign the output value to the next module + module.outputs.map((outputItem) => { + if (result[outputItem.key] === undefined) return; + /* update output value */ + outputItem.value = result[outputItem.key]; + + /* update target */ + outputItem.targets.map((target: any) => { + // find module + const targetModule = runningModules.find((item) => item.moduleId === target.moduleId); + if (!targetModule) return; + + // push to running queue + nextRunModules.push(targetModule); + + // update input + moduleInput(targetModule, { [target.key]: outputItem.value }); + }); + }); + + // Ensure the uniqueness of running modules + const set = new Set(); + const filterModules = nextRunModules.filter((module) => { + if (set.has(module.moduleId)) return false; + set.add(module.moduleId); + return true; + }); + + return checkModulesCanRun(filterModules); + } + function checkModulesCanRun(modules: RuntimeNodeItemType[] = []) { + return Promise.all( + modules.map((module) => { + if (!module.inputs.find((item: any) => item.value === undefined)) { + // remove switch + moduleInput(module, { [NodeInputKeyEnum.switch]: undefined }); + return moduleRun(module); + } + }) + ); + } + async function moduleRun(module: RuntimeNodeItemType): Promise { + if (res?.closed || props.maxRunTimes <= 0) return Promise.resolve(); + + if (res && stream && detail && module.showStatus) { + responseStatus({ + res, + name: module.name, + status: 'running' + }); + } + + // get module running params + const params: Record = {}; + module.inputs.forEach((item) => { + params[item.key] = valueTypeFormat(item.value, item.valueType); + }); + + const dispatchData: ModuleDispatchProps> = { + ...props, + res, + variables, + histories, + user, + stream, + detail, + module, + runtimeModules: runningModules, + params + }; + + // run module + const dispatchRes: Record = await (async () => { + if (callbackMap[module.flowType]) { + return callbackMap[module.flowType](dispatchData); + } + return {}; + })(); + + // format response data. Add modulename and module type + const formatResponseData: ChatHistoryItemResType = (() => { + if (!dispatchRes[DispatchNodeResponseKeyEnum.nodeResponse]) return undefined; + return { + moduleName: module.name, + moduleType: module.flowType, + ...dispatchRes[DispatchNodeResponseKeyEnum.nodeResponse] + }; + })(); + + // Add output default value + module.outputs.forEach((item) => { + if (!item.required) return; + if (dispatchRes[item.key] !== undefined) return; + dispatchRes[item.key] = valueTypeFormat(item.defaultValue, item.valueType); + }); + + // Pass userChatInput + const hasUserChatInputTarget = !!module.outputs.find( + (item) => item.key === NodeOutputKeyEnum.userChatInput + )?.targets?.length; + + return moduleOutput(module, { + [NodeOutputKeyEnum.finish]: true, + [NodeOutputKeyEnum.userChatInput]: hasUserChatInputTarget + ? params[NodeOutputKeyEnum.userChatInput] + : undefined, + ...dispatchRes, + [DispatchNodeResponseKeyEnum.nodeResponse]: formatResponseData, + [DispatchNodeResponseKeyEnum.nodeDispatchUsages]: + dispatchRes[DispatchNodeResponseKeyEnum.nodeDispatchUsages] + }); + } + // start process width initInput + const initModules = runningModules.filter((item) => item.isEntry); + // reset entry + modules.forEach((item) => { + item.isEntry = false; + }); + + initModules.map((module) => + moduleInput(module, { + ...startParams, + history: [] // abandon history field. History module will get histories from other fields. + }) + ); + + await checkModulesCanRun(initModules); + + // focus try to run pluginOutput + const pluginOutputModule = runningModules.find( + (item) => item.flowType === FlowNodeTypeEnum.pluginOutput + ); + if (pluginOutputModule) { + await moduleRun(pluginOutputModule); + } + + return { + flowResponses: chatResponses, + flowUsages: chatNodeUsages, + [DispatchNodeResponseKeyEnum.assistantResponses]: + concatAssistantResponseAnswerText(chatAssistantResponse), + [DispatchNodeResponseKeyEnum.toolResponses]: toolRunResponse + }; +} + +/* init store modules to running modules */ +function loadModules( + modules: FlowNodeItemType[], + variables: Record +): RuntimeNodeItemType[] { + return modules + .filter((item) => { + return ![FlowNodeTypeEnum.userGuide].includes(item.moduleId as any); + }) + .map((module) => { + return { + moduleId: module.moduleId, + name: module.name, + avatar: module.avatar, + intro: module.intro, + flowType: module.flowType, + showStatus: module.showStatus, + isEntry: module.isEntry, + inputs: module.inputs + .filter( + /* + 1. system input must be save + 2. connected by source handle + 3. manual input value or have default value + 4. For the module connected by the tool, leave the toolDescription input + */ + (item) => { + const isTool = checkTheModuleConnectedByTool(modules, module); + + if (isTool && item.toolDescription) { + return true; + } + + return item.type === 'systemInput' || item.connected || item.value !== undefined; + } + ) // filter unconnected target input + .map((item) => { + const replace = ['string'].includes(typeof item.value); + + return { + key: item.key, + // variables replace + value: replace ? replaceVariable(item.value, variables) : item.value, + valueType: item.valueType, + required: item.required, + toolDescription: item.toolDescription + }; + }), + outputs: module.outputs + .map((item) => ({ + key: item.key, + required: item.required, + defaultValue: item.defaultValue, + answer: item.key === NodeOutputKeyEnum.answerText, + value: undefined, + valueType: item.valueType, + targets: item.targets + })) + .sort((a, b) => { + // finish output always at last + if (a.key === NodeOutputKeyEnum.finish) return 1; + if (b.key === NodeOutputKeyEnum.finish) return -1; + return 0; + }) + }; + }); +} + +/* sse response modules staus */ +export function responseStatus({ + res, + status, + name +}: { + res: NextApiResponse; + status?: 'running' | 'finish'; + name?: string; +}) { + if (!name) return; + responseWriteNodeStatus({ + res, + name + }); +} + +/* get system variable */ +export function getSystemVariable({ timezone }: { timezone: string }) { + return { + cTime: getSystemTime(timezone) + }; +} + +export const concatAssistantResponseAnswerText = (response: AIChatItemValueItemType[]) => { + const result: AIChatItemValueItemType[] = []; + // 合并连续的text + for (let i = 0; i < response.length; i++) { + const item = response[i]; + if (item.type === ChatItemValueTypeEnum.text) { + let text = item.text?.content || ''; + const lastItem = result[result.length - 1]; + if (lastItem && lastItem.type === ChatItemValueTypeEnum.text && lastItem.text?.content) { + lastItem.text.content += text; + continue; + } + } + result.push(item); + } + + return result; +}; diff --git a/packages/service/core/workflow/dispatch/init/history.tsx b/packages/service/core/workflow/dispatchV1/init/history.tsx similarity index 68% rename from packages/service/core/workflow/dispatch/init/history.tsx rename to packages/service/core/workflow/dispatchV1/init/history.tsx index 822843c58a..92fdc454a2 100644 --- a/packages/service/core/workflow/dispatch/init/history.tsx +++ b/packages/service/core/workflow/dispatchV1/init/history.tsx @@ -1,10 +1,10 @@ -import { ModuleInputKeyEnum } from '@fastgpt/global/core/module/constants'; +import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants'; import type { ChatItemType } from '@fastgpt/global/core/chat/type.d'; -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; import { getHistories } from '../utils'; export type HistoryProps = ModuleDispatchProps<{ maxContext?: number; - [ModuleInputKeyEnum.history]: ChatItemType[]; + [NodeInputKeyEnum.history]: ChatItemType[]; }>; export const dispatchHistory = (props: Record) => { diff --git a/packages/service/core/workflow/dispatch/init/userChatInput.tsx b/packages/service/core/workflow/dispatchV1/init/userChatInput.tsx similarity index 57% rename from packages/service/core/workflow/dispatch/init/userChatInput.tsx rename to packages/service/core/workflow/dispatchV1/init/userChatInput.tsx index 024624f417..2510d60799 100644 --- a/packages/service/core/workflow/dispatch/init/userChatInput.tsx +++ b/packages/service/core/workflow/dispatchV1/init/userChatInput.tsx @@ -1,7 +1,7 @@ -import { ModuleInputKeyEnum } from '@fastgpt/global/core/module/constants'; -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; +import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; export type UserChatInputProps = ModuleDispatchProps<{ - [ModuleInputKeyEnum.userChatInput]: string; + [NodeInputKeyEnum.userChatInput]: string; }>; export const dispatchChatInput = (props: Record) => { diff --git a/packages/service/core/workflow/dispatchV1/plugin/run.ts b/packages/service/core/workflow/dispatchV1/plugin/run.ts new file mode 100644 index 0000000000..860d6c2777 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/plugin/run.ts @@ -0,0 +1,99 @@ +// @ts-nocheck +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { dispatchWorkFlowV1 } from '../index'; +import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; +import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { getPluginRuntimeById } from '../../../plugin/controller'; +import { authPluginCanUse } from '../../../../support/permission/auth/plugin'; +import { setEntryEntries, DYNAMIC_INPUT_KEY } from '../utils'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; + +type RunPluginProps = ModuleDispatchProps<{ + [NodeInputKeyEnum.pluginId]: string; + [key: string]: any; +}>; +type RunPluginResponse = DispatchNodeResultType<{}>; + +export const dispatchRunPlugin = async (props: RunPluginProps): Promise => { + const { + mode, + teamId, + tmbId, + params: { pluginId, ...data } + } = props; + + if (!pluginId) { + return Promise.reject('pluginId can not find'); + } + + await authPluginCanUse({ id: pluginId, teamId, tmbId }); + const plugin = await getPluginRuntimeById(pluginId); + + // concat dynamic inputs + const inputModule = plugin.nodes.find((item) => item.flowType === FlowNodeTypeEnum.pluginInput); + if (!inputModule) return Promise.reject('Plugin error, It has no set input.'); + const hasDynamicInput = inputModule.inputs.find((input) => input.key === DYNAMIC_INPUT_KEY); + + const startParams: Record = (() => { + if (!hasDynamicInput) return data; + + const params: Record = { + [DYNAMIC_INPUT_KEY]: {} + }; + + for (const key in data) { + const input = inputModule.inputs.find((input) => input.key === key); + if (input) { + params[key] = data[key]; + } else { + params[DYNAMIC_INPUT_KEY][key] = data[key]; + } + } + + return params; + })(); + + const { flowResponses, flowUsages, assistantResponses } = await dispatchWorkFlowV1({ + ...props, + modules: setEntryEntries(plugin.nodes).map((module) => ({ + ...module, + showStatus: false + })), + runtimeModules: undefined, // must reset + startParams + }); + + const output = flowResponses.find((item) => item.moduleType === FlowNodeTypeEnum.pluginOutput); + + if (output) { + output.moduleLogo = plugin.avatar; + } + + return { + assistantResponses, + // responseData, // debug + [DispatchNodeResponseKeyEnum.nodeResponse]: { + moduleLogo: plugin.avatar, + totalPoints: flowResponses.reduce((sum, item) => sum + (item.totalPoints || 0), 0), + pluginOutput: output?.pluginOutput, + pluginDetail: + mode === 'test' && plugin.teamId === teamId + ? flowResponses.filter((item) => { + const filterArr = [FlowNodeTypeEnum.pluginOutput]; + return !filterArr.includes(item.moduleType as any); + }) + : undefined + }, + [DispatchNodeResponseKeyEnum.nodeDispatchUsages]: [ + { + moduleName: plugin.name, + totalPoints: flowUsages.reduce((sum, item) => sum + (item.totalPoints || 0), 0), + model: plugin.name, + tokens: 0 + } + ], + [DispatchNodeResponseKeyEnum.toolResponses]: output?.pluginOutput ? output.pluginOutput : {}, + ...(output ? output.pluginOutput : {}) + }; +}; diff --git a/packages/service/core/workflow/dispatchV1/plugin/runInput.ts b/packages/service/core/workflow/dispatchV1/plugin/runInput.ts new file mode 100644 index 0000000000..df93f4531c --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/plugin/runInput.ts @@ -0,0 +1,11 @@ +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; + +export type PluginInputProps = ModuleDispatchProps<{ + [key: string]: any; +}>; + +export const dispatchPluginInput = (props: PluginInputProps) => { + const { params } = props; + + return params; +}; diff --git a/packages/service/core/workflow/dispatchV1/plugin/runOutput.ts b/packages/service/core/workflow/dispatchV1/plugin/runOutput.ts new file mode 100644 index 0000000000..b3a472d7f3 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/plugin/runOutput.ts @@ -0,0 +1,19 @@ +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type.d'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; + +export type PluginOutputProps = ModuleDispatchProps<{ + [key: string]: any; +}>; +export type PluginOutputResponse = DispatchNodeResultType<{}>; + +export const dispatchPluginOutput = (props: PluginOutputProps): PluginOutputResponse => { + const { params } = props; + + return { + [DispatchNodeResponseKeyEnum.nodeResponse]: { + totalPoints: 0, + pluginOutput: params + } + }; +}; diff --git a/packages/service/core/workflow/dispatchV1/tools/answer.ts b/packages/service/core/workflow/dispatchV1/tools/answer.ts new file mode 100644 index 0000000000..9289707941 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/tools/answer.ts @@ -0,0 +1,37 @@ +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { responseWrite } from '../../../../common/response'; +import { textAdaptGptResponse } from '@fastgpt/global/core/workflow/runtime/utils'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; +export type AnswerProps = ModuleDispatchProps<{ + text: string; +}>; +export type AnswerResponse = DispatchNodeResultType<{ + [NodeOutputKeyEnum.answerText]: string; +}>; + +export const dispatchAnswer = (props: Record): AnswerResponse => { + const { + res, + detail, + stream, + params: { text = '' } + } = props as AnswerProps; + + const formatText = typeof text === 'string' ? text : JSON.stringify(text, null, 2); + + if (stream) { + responseWrite({ + res, + event: detail ? SseResponseEventEnum.fastAnswer : undefined, + data: textAdaptGptResponse({ + text: `\n${formatText}` + }) + }); + } + + return { + [NodeOutputKeyEnum.answerText]: formatText + }; +}; diff --git a/packages/service/core/workflow/dispatch/tools/http.ts b/packages/service/core/workflow/dispatchV1/tools/http.ts similarity index 89% rename from packages/service/core/workflow/dispatch/tools/http.ts rename to packages/service/core/workflow/dispatchV1/tools/http.ts index e70045aac8..1783d50614 100644 --- a/packages/service/core/workflow/dispatch/tools/http.ts +++ b/packages/service/core/workflow/dispatchV1/tools/http.ts @@ -1,24 +1,22 @@ -import type { ModuleDispatchProps } from '@fastgpt/global/core/module/type.d'; -import { - DYNAMIC_INPUT_KEY, - ModuleInputKeyEnum, - ModuleOutputKeyEnum -} from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; +// @ts-nocheck +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; import axios from 'axios'; import { valueTypeFormat } from '../utils'; import { SERVICE_LOCAL_HOST } from '../../../../common/system/tools'; -import { DispatchNodeResultType } from '@fastgpt/global/core/module/runtime/type'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; +import { DYNAMIC_INPUT_KEY } from '../utils'; type HttpRequestProps = ModuleDispatchProps<{ - [ModuleInputKeyEnum.abandon_httpUrl]: string; - [ModuleInputKeyEnum.httpMethod]: string; - [ModuleInputKeyEnum.httpReqUrl]: string; - [ModuleInputKeyEnum.httpHeaders]: string; + [NodeInputKeyEnum.abandon_httpUrl]: string; + [NodeInputKeyEnum.httpMethod]: string; + [NodeInputKeyEnum.httpReqUrl]: string; + [NodeInputKeyEnum.httpHeaders]: string; [key: string]: any; }>; type HttpResponse = DispatchNodeResultType<{ - [ModuleOutputKeyEnum.failed]?: boolean; + [NodeOutputKeyEnum.failed]?: boolean; [key: string]: any; }>; @@ -108,7 +106,7 @@ export const dispatchHttpRequest = async (props: HttpRequestProps): Promise; + [key: string]: any; +}>; +type HttpResponse = DispatchNodeResultType<{ + [NodeOutputKeyEnum.failed]?: boolean; + [key: string]: any; +}>; + +const UNDEFINED_SIGN = 'UNDEFINED_SIGN'; + +export const dispatchHttp468Request = async (props: HttpRequestProps): Promise => { + let { + appId, + chatId, + responseChatItemId, + variables, + module: { outputs }, + histories, + params: { + system_httpMethod: httpMethod = 'POST', + system_httpReqUrl: httpReqUrl, + system_httpHeader: httpHeader, + system_httpParams: httpParams = [], + system_httpJsonBody: httpJsonBody, + [DYNAMIC_INPUT_KEY]: dynamicInput, + ...body + } + } = props; + + if (!httpReqUrl) { + return Promise.reject('Http url is empty'); + } + + const concatVariables = { + appId, + chatId, + responseChatItemId, + ...variables, + histories: histories.slice(-10), + ...body + }; + + httpReqUrl = replaceVariable(httpReqUrl, concatVariables); + // parse header + const headers = await (() => { + try { + if (!httpHeader || httpHeader.length === 0) return {}; + // array + return httpHeader.reduce((acc: Record, item) => { + const key = replaceVariable(item.key, concatVariables); + const value = replaceVariable(item.value, concatVariables); + acc[key] = valueTypeFormat(value, 'string'); + return acc; + }, {}); + } catch (error) { + return Promise.reject('Header 为非法 JSON 格式'); + } + })(); + const params = httpParams.reduce((acc: Record, item) => { + const key = replaceVariable(item.key, concatVariables); + const value = replaceVariable(item.value, concatVariables); + acc[key] = valueTypeFormat(value, 'string'); + return acc; + }, {}); + const requestBody = await (() => { + if (!httpJsonBody) return { [DYNAMIC_INPUT_KEY]: dynamicInput }; + httpJsonBody = replaceVariable(httpJsonBody, concatVariables); + try { + const jsonParse = JSON.parse(httpJsonBody); + const removeSignJson = removeUndefinedSign(jsonParse); + return { [DYNAMIC_INPUT_KEY]: dynamicInput, ...removeSignJson }; + } catch (error) { + console.log(error); + return Promise.reject(`Invalid JSON body: ${httpJsonBody}`); + } + })(); + + try { + const { formatResponse, rawResponse } = await fetchData({ + method: httpMethod, + url: httpReqUrl, + headers, + body: requestBody, + params + }); + + // format output value type + const results: Record = {}; + for (const key in formatResponse) { + const output = outputs.find((item) => item.key === key); + if (!output) continue; + results[key] = valueTypeFormat(formatResponse[key], output.valueType); + } + + return { + [DispatchNodeResponseKeyEnum.nodeResponse]: { + totalPoints: 0, + params: Object.keys(params).length > 0 ? params : undefined, + body: Object.keys(requestBody).length > 0 ? requestBody : undefined, + headers: Object.keys(headers).length > 0 ? headers : undefined, + httpResult: rawResponse + }, + [DispatchNodeResponseKeyEnum.toolResponses]: results, + [NodeOutputKeyEnum.httpRawResponse]: rawResponse, + ...results + }; + } catch (error) { + addLog.error('Http request error', error); + return { + [NodeOutputKeyEnum.failed]: true, + [DispatchNodeResponseKeyEnum.nodeResponse]: { + totalPoints: 0, + params: Object.keys(params).length > 0 ? params : undefined, + body: Object.keys(requestBody).length > 0 ? requestBody : undefined, + headers: Object.keys(headers).length > 0 ? headers : undefined, + httpResult: { error: formatHttpError(error) } + }, + [NodeOutputKeyEnum.httpRawResponse]: getErrText(error) + }; + } +}; + +async function fetchData({ + method, + url, + headers, + body, + params +}: { + method: string; + url: string; + headers: Record; + body: Record; + params: Record; +}): Promise> { + const { data: response } = await axios({ + method, + baseURL: `http://${SERVICE_LOCAL_HOST}`, + url, + headers: { + 'Content-Type': 'application/json', + ...headers + }, + timeout: 120000, + params: params, + data: ['POST', 'PUT', 'PATCH'].includes(method) ? body : undefined + }); + + /* + parse the json: + { + user: { + name: 'xxx', + age: 12 + }, + list: [ + { + name: 'xxx', + age: 50 + }, + [{ test: 22 }] + ], + psw: 'xxx' + } + + result: { + 'user': { name: 'xxx', age: 12 }, + 'user.name': 'xxx', + 'user.age': 12, + 'list': [ { name: 'xxx', age: 50 }, [ [Object] ] ], + 'list[0]': { name: 'xxx', age: 50 }, + 'list[0].name': 'xxx', + 'list[0].age': 50, + 'list[1]': [ { test: 22 } ], + 'list[1][0]': { test: 22 }, + 'list[1][0].test': 22, + 'psw': 'xxx' + } + */ + const parseJson = (obj: Record, prefix = '') => { + let result: Record = {}; + + if (Array.isArray(obj)) { + for (let i = 0; i < obj.length; i++) { + result[`${prefix}[${i}]`] = obj[i]; + + if (Array.isArray(obj[i])) { + result = { + ...result, + ...parseJson(obj[i], `${prefix}[${i}]`) + }; + } else if (typeof obj[i] === 'object') { + result = { + ...result, + ...parseJson(obj[i], `${prefix}[${i}].`) + }; + } + } + } else if (typeof obj == 'object') { + for (const key in obj) { + result[`${prefix}${key}`] = obj[key]; + + if (Array.isArray(obj[key])) { + result = { + ...result, + ...parseJson(obj[key], `${prefix}${key}`) + }; + } else if (typeof obj[key] === 'object') { + result = { + ...result, + ...parseJson(obj[key], `${prefix}${key}.`) + }; + } + } + } + + return result; + }; + + return { + formatResponse: + typeof response === 'object' && !Array.isArray(response) ? parseJson(response) : {}, + rawResponse: response + }; +} + +function replaceVariable(text: string, obj: Record) { + for (const [key, value] of Object.entries(obj)) { + if (value === undefined) { + text = text.replace(new RegExp(`{{${key}}}`, 'g'), UNDEFINED_SIGN); + } else { + const replacement = JSON.stringify(value); + const unquotedReplacement = + replacement.startsWith('"') && replacement.endsWith('"') + ? replacement.slice(1, -1) + : replacement; + text = text.replace(new RegExp(`{{${key}}}`, 'g'), unquotedReplacement); + } + } + return text || ''; +} +function removeUndefinedSign(obj: Record) { + for (const key in obj) { + if (obj[key] === UNDEFINED_SIGN) { + obj[key] = undefined; + } else if (Array.isArray(obj[key])) { + obj[key] = obj[key].map((item: any) => { + if (item === UNDEFINED_SIGN) { + return undefined; + } else if (typeof item === 'object') { + removeUndefinedSign(item); + } + return item; + }); + } else if (typeof obj[key] === 'object') { + removeUndefinedSign(obj[key]); + } + } + return obj; +} +function formatHttpError(error: any) { + return { + message: error?.message, + name: error?.name, + method: error?.config?.method, + baseURL: error?.config?.baseURL, + url: error?.config?.url, + code: error?.code, + status: error?.status + }; +} diff --git a/packages/service/core/workflow/dispatchV1/tools/queryExternsion.ts b/packages/service/core/workflow/dispatchV1/tools/queryExternsion.ts new file mode 100644 index 0000000000..223dcd3dc0 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/tools/queryExternsion.ts @@ -0,0 +1,77 @@ +// @ts-nocheck +import type { ChatItemType } from '@fastgpt/global/core/chat/type.d'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { ModelTypeEnum, getLLMModel } from '../../../../core/ai/model'; +import { formatModelChars2Points } from '../../../../support/wallet/usage/utils'; +import { queryExtension } from '../../../../core/ai/functions/queryExtension'; +import { getHistories } from '../utils'; +import { hashStr } from '@fastgpt/global/common/string/tools'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; + +type Props = ModuleDispatchProps<{ + [NodeInputKeyEnum.aiModel]: string; + [NodeInputKeyEnum.aiSystemPrompt]?: string; + [NodeInputKeyEnum.history]?: ChatItemType[] | number; + [NodeInputKeyEnum.userChatInput]: string; +}>; +type Response = DispatchNodeResultType<{ + [NodeOutputKeyEnum.text]: string; +}>; + +export const dispatchQueryExtension = async ({ + histories, + module, + params: { model, systemPrompt, history, userChatInput } +}: Props): Promise => { + if (!userChatInput) { + return Promise.reject('Question is empty'); + } + + const queryExtensionModel = getLLMModel(model); + const chatHistories = getHistories(history, histories); + + const { extensionQueries, tokens } = await queryExtension({ + chatBg: systemPrompt, + query: userChatInput, + histories: chatHistories, + model: queryExtensionModel.model + }); + + extensionQueries.unshift(userChatInput); + + const { totalPoints, modelName } = formatModelChars2Points({ + model: queryExtensionModel.model, + tokens, + modelType: ModelTypeEnum.llm + }); + + const set = new Set(); + const filterSameQueries = extensionQueries.filter((item) => { + // 删除所有的标点符号与空格等,只对文本进行比较 + const str = hashStr(item.replace(/[^\p{L}\p{N}]/gu, '')); + if (set.has(str)) return false; + set.add(str); + return true; + }); + + return { + [DispatchNodeResponseKeyEnum.nodeResponse]: { + totalPoints, + model: modelName, + tokens, + query: userChatInput, + textOutput: JSON.stringify(filterSameQueries) + }, + [DispatchNodeResponseKeyEnum.nodeDispatchUsages]: [ + { + moduleName: module.name, + totalPoints, + model: modelName, + tokens + } + ], + [NodeOutputKeyEnum.text]: JSON.stringify(filterSameQueries) + }; +}; diff --git a/packages/service/core/workflow/dispatchV1/tools/runApp.ts b/packages/service/core/workflow/dispatchV1/tools/runApp.ts new file mode 100644 index 0000000000..ca98362741 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/tools/runApp.ts @@ -0,0 +1,108 @@ +// @ts-nocheck +import type { ChatItemType } from '@fastgpt/global/core/chat/type.d'; +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { SelectAppItemType } from '@fastgpt/global/core/workflow/type'; +import { dispatchWorkFlowV1 } from '../index'; +import { MongoApp } from '../../../../core/app/schema'; +import { responseWrite } from '../../../../common/response'; +import { ChatRoleEnum } from '@fastgpt/global/core/chat/constants'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { textAdaptGptResponse } from '@fastgpt/global/core/workflow/runtime/utils'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { getHistories, setEntryEntries } from '../utils'; +import { chatValue2RuntimePrompt, runtimePrompt2ChatsValue } from '@fastgpt/global/core/chat/adapt'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; + +type Props = ModuleDispatchProps<{ + [NodeInputKeyEnum.userChatInput]: string; + [NodeInputKeyEnum.history]?: ChatItemType[] | number; + app: SelectAppItemType; +}>; +type Response = DispatchNodeResultType<{ + [NodeOutputKeyEnum.answerText]: string; + [NodeOutputKeyEnum.history]: ChatItemType[]; +}>; + +export const dispatchAppRequest = async (props: Props): Promise => { + const { + res, + teamId, + stream, + detail, + histories, + inputFiles, + params: { userChatInput, history, app } + } = props; + let start = Date.now(); + + if (!userChatInput) { + return Promise.reject('Input is empty'); + } + + const appData = await MongoApp.findOne({ + _id: app.id, + teamId + }); + + if (!appData) { + return Promise.reject('App not found'); + } + + if (stream) { + responseWrite({ + res, + event: detail ? SseResponseEventEnum.answer : undefined, + data: textAdaptGptResponse({ + text: '\n' + }) + }); + } + + const chatHistories = getHistories(history, histories); + + const { flowResponses, flowUsages, assistantResponses } = await dispatchWorkFlowV1({ + ...props, + appId: app.id, + modules: setEntryEntries(appData.modules), + runtimeModules: undefined, // must reset + histories: chatHistories, + inputFiles, + startParams: { + userChatInput + } + }); + + const completeMessages = chatHistories.concat([ + { + obj: ChatRoleEnum.Human, + value: runtimePrompt2ChatsValue({ + files: inputFiles, + text: userChatInput + }) + }, + { + obj: ChatRoleEnum.AI, + value: assistantResponses + } + ]); + + const { text } = chatValue2RuntimePrompt(assistantResponses); + + return { + [DispatchNodeResponseKeyEnum.nodeResponse]: { + moduleLogo: appData.avatar, + query: userChatInput, + textOutput: text, + totalPoints: flowResponses.reduce((sum, item) => sum + (item.totalPoints || 0), 0) + }, + [DispatchNodeResponseKeyEnum.nodeDispatchUsages]: [ + { + moduleName: appData.name, + totalPoints: flowUsages.reduce((sum, item) => sum + (item.totalPoints || 0), 0) + } + ], + answerText: text, + history: completeMessages + }; +}; diff --git a/packages/service/core/workflow/dispatchV1/tools/runLaf.ts b/packages/service/core/workflow/dispatchV1/tools/runLaf.ts new file mode 100644 index 0000000000..4d20c80b4a --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/tools/runLaf.ts @@ -0,0 +1,209 @@ +// @ts-nocheck +import type { ModuleDispatchProps } from '@fastgpt/global/core/workflow/type'; +import { NodeInputKeyEnum, NodeOutputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import axios from 'axios'; +import { DYNAMIC_INPUT_KEY, valueTypeFormat } from '../utils'; +import { SERVICE_LOCAL_HOST } from '../../../../common/system/tools'; +import { addLog } from '../../../../common/system/log'; +import { DispatchNodeResultType } from '@fastgpt/global/core/workflow/runtime/type'; + +type LafRequestProps = ModuleDispatchProps<{ + [NodeInputKeyEnum.httpReqUrl]: string; + [DYNAMIC_INPUT_KEY]: Record; + [key: string]: any; +}>; +type LafResponse = DispatchNodeResultType<{ + [NodeOutputKeyEnum.failed]?: boolean; + [key: string]: any; +}>; + +const UNDEFINED_SIGN = 'UNDEFINED_SIGN'; + +export const dispatchLafRequest = async (props: LafRequestProps): Promise => { + let { + appId, + chatId, + responseChatItemId, + variables, + module: { outputs }, + histories, + params: { system_httpReqUrl: httpReqUrl, [DYNAMIC_INPUT_KEY]: dynamicInput, ...body } + } = props; + + if (!httpReqUrl) { + return Promise.reject('Http url is empty'); + } + + const concatVariables = { + appId, + chatId, + responseChatItemId, + ...variables, + ...body + }; + + httpReqUrl = replaceVariable(httpReqUrl, concatVariables); + + const requestBody = { + systemParams: { + appId, + chatId, + responseChatItemId, + histories: histories.slice(0, 10) + }, + variables, + ...dynamicInput, + ...body + }; + + try { + const { formatResponse, rawResponse } = await fetchData({ + method: 'POST', + url: httpReqUrl, + body: requestBody + }); + + // format output value type + const results: Record = {}; + for (const key in formatResponse) { + const output = outputs.find((item) => item.key === key); + if (!output) continue; + results[key] = valueTypeFormat(formatResponse[key], output.valueType); + } + + return { + assistantResponses: [], + [DispatchNodeResponseKeyEnum.nodeResponse]: { + totalPoints: 0, + body: Object.keys(requestBody).length > 0 ? requestBody : undefined, + httpResult: rawResponse + }, + [DispatchNodeResponseKeyEnum.toolResponses]: rawResponse, + [NodeOutputKeyEnum.httpRawResponse]: rawResponse, + ...results + }; + } catch (error) { + addLog.error('Http request error', error); + return { + [NodeOutputKeyEnum.failed]: true, + [DispatchNodeResponseKeyEnum.nodeResponse]: { + totalPoints: 0, + body: Object.keys(requestBody).length > 0 ? requestBody : undefined, + httpResult: { error: formatHttpError(error) } + } + }; + } +}; + +async function fetchData({ + method, + url, + body +}: { + method: string; + url: string; + body: Record; +}): Promise> { + const { data: response } = await axios({ + method, + baseURL: `http://${SERVICE_LOCAL_HOST}`, + url, + headers: { + 'Content-Type': 'application/json' + }, + data: body + }); + + const parseJson = (obj: Record, prefix = '') => { + let result: Record = {}; + + if (Array.isArray(obj)) { + for (let i = 0; i < obj.length; i++) { + result[`${prefix}[${i}]`] = obj[i]; + + if (Array.isArray(obj[i])) { + result = { + ...result, + ...parseJson(obj[i], `${prefix}[${i}]`) + }; + } else if (typeof obj[i] === 'object') { + result = { + ...result, + ...parseJson(obj[i], `${prefix}[${i}].`) + }; + } + } + } else if (typeof obj == 'object') { + for (const key in obj) { + result[`${prefix}${key}`] = obj[key]; + + if (Array.isArray(obj[key])) { + result = { + ...result, + ...parseJson(obj[key], `${prefix}${key}`) + }; + } else if (typeof obj[key] === 'object') { + result = { + ...result, + ...parseJson(obj[key], `${prefix}${key}.`) + }; + } + } + } + + return result; + }; + + return { + formatResponse: + typeof response === 'object' && !Array.isArray(response) ? parseJson(response) : {}, + rawResponse: response + }; +} + +function replaceVariable(text: string, obj: Record) { + for (const [key, value] of Object.entries(obj)) { + if (value === undefined) { + text = text.replace(new RegExp(`{{${key}}}`, 'g'), UNDEFINED_SIGN); + } else { + const replacement = JSON.stringify(value); + const unquotedReplacement = + replacement.startsWith('"') && replacement.endsWith('"') + ? replacement.slice(1, -1) + : replacement; + text = text.replace(new RegExp(`{{${key}}}`, 'g'), unquotedReplacement); + } + } + return text || ''; +} +function removeUndefinedSign(obj: Record) { + for (const key in obj) { + if (obj[key] === UNDEFINED_SIGN) { + obj[key] = undefined; + } else if (Array.isArray(obj[key])) { + obj[key] = obj[key].map((item: any) => { + if (item === UNDEFINED_SIGN) { + return undefined; + } else if (typeof item === 'object') { + removeUndefinedSign(item); + } + return item; + }); + } else if (typeof obj[key] === 'object') { + removeUndefinedSign(obj[key]); + } + } + return obj; +} +function formatHttpError(error: any) { + return { + message: error?.message, + name: error?.name, + method: error?.config?.method, + baseURL: error?.config?.baseURL, + url: error?.config?.url, + code: error?.code, + status: error?.status + }; +} diff --git a/packages/service/core/workflow/dispatchV1/type.d.ts b/packages/service/core/workflow/dispatchV1/type.d.ts new file mode 100644 index 0000000000..5fc6f0eb84 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/type.d.ts @@ -0,0 +1,15 @@ +import { + AIChatItemValueItemType, + ChatHistoryItemResType, + ChatItemValueItemType, + ToolRunResponseItemType +} from '@fastgpt/global/core/chat/type'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; +import { ChatNodeUsageType } from '@fastgpt/global/support/wallet/bill/type'; + +export type DispatchFlowResponse = { + flowResponses: ChatHistoryItemResType[]; + flowUsages: ChatNodeUsageType[]; + [DispatchNodeResponseKeyEnum.toolResponses]: ToolRunResponseItemType; + [DispatchNodeResponseKeyEnum.assistantResponses]: AIChatItemValueItemType[]; +}; diff --git a/packages/service/core/workflow/dispatchV1/utils.ts b/packages/service/core/workflow/dispatchV1/utils.ts new file mode 100644 index 0000000000..bd8361abe7 --- /dev/null +++ b/packages/service/core/workflow/dispatchV1/utils.ts @@ -0,0 +1,66 @@ +// @ts-nocheck +import type { ChatItemType } from '@fastgpt/global/core/chat/type.d'; +import { + WorkflowIOValueTypeEnum, + NodeOutputKeyEnum +} from '@fastgpt/global/core/workflow/constants'; +import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; +import { FlowNodeItemType, StoreNodeItemType } from '@fastgpt/global/core/workflow/type/index'; +export const DYNAMIC_INPUT_KEY = 'DYNAMIC_INPUT_KEY'; + +export const setEntryEntries = (modules: StoreNodeItemType[]) => { + const initRunningModuleType: Record = { + questionInput: true, + [FlowNodeTypeEnum.pluginInput]: true + }; + + modules.forEach((item) => { + if (initRunningModuleType[item.flowType]) { + item.isEntry = true; + } + }); + return modules; +}; + +export const checkTheModuleConnectedByTool = ( + modules: FlowNodeItemType[], + module: FlowNodeItemType +) => { + let sign = false; + const toolModules = modules.filter((item) => item.flowType === FlowNodeTypeEnum.tools); + + toolModules.forEach((item) => { + const toolOutput = item.outputs.find( + (output) => output.key === NodeOutputKeyEnum.selectedTools + ); + toolOutput?.targets.forEach((target) => { + if (target.moduleId === module.moduleId) { + sign = true; + } + }); + }); + + return sign; +}; + +export const getHistories = (history?: ChatItemType[] | number, histories: ChatItemType[] = []) => { + if (!history) return []; + if (typeof history === 'number') return histories.slice(-history); + if (Array.isArray(history)) return history; + + return []; +}; + +/* value type format */ +export const valueTypeFormat = (value: any, type?: `${WorkflowIOValueTypeEnum}`) => { + if (value === undefined) return; + + if (type === 'string') { + if (typeof value !== 'object') return String(value); + return JSON.stringify(value); + } + if (type === 'number') return Number(value); + if (type === 'boolean') return Boolean(value); + + return value; +}; diff --git a/packages/service/core/workflow/utils.ts b/packages/service/core/workflow/utils.ts new file mode 100644 index 0000000000..6e5ec8cfb3 --- /dev/null +++ b/packages/service/core/workflow/utils.ts @@ -0,0 +1,25 @@ +import { SearchDataResponseItemType } from '@fastgpt/global/core/dataset/type'; +import { countPromptTokens } from '../../common/string/tiktoken/index'; + +/* filter search result */ +export const filterSearchResultsByMaxChars = async ( + list: SearchDataResponseItemType[], + maxTokens: number +) => { + const results: SearchDataResponseItemType[] = []; + let totalTokens = 0; + + for (let i = 0; i < list.length; i++) { + const item = list[i]; + totalTokens += await countPromptTokens(item.q + item.a); + if (totalTokens > maxTokens + 500) { + break; + } + results.push(item); + if (totalTokens > maxTokens) { + break; + } + } + + return results.length === 0 ? list.slice(0, 1) : results; +}; diff --git a/packages/service/package.json b/packages/service/package.json index 7c51a24ed4..ae37cd252f 100644 --- a/packages/service/package.json +++ b/packages/service/package.json @@ -11,9 +11,13 @@ "date-fns": "2.30.0", "dayjs": "^1.11.7", "decompress": "^4.2.1", + "domino-ext": "^2.1.4", "encoding": "^0.1.13", "file-type": "^19.0.0", "iconv-lite": "^0.6.3", + "isolated-vm": "4.7.2", + "joplin-turndown-plugin-gfm": "^1.0.12", + "js-tiktoken": "^1.0.7", "json5": "^2.2.3", "jsonwebtoken": "^9.0.2", "mammoth": "^1.6.0", @@ -26,7 +30,8 @@ "papaparse": "5.4.1", "pdfjs-dist": "4.0.269", "pg": "^8.10.0", - "tunnel": "^0.0.6" + "tunnel": "^0.0.6", + "turndown": "^7.1.2" }, "devDependencies": { "@types/cookie": "^0.5.2", @@ -36,6 +41,7 @@ "@types/node-cron": "^3.0.11", "@types/papaparse": "5.3.7", "@types/pg": "^8.6.6", - "@types/tunnel": "^0.0.4" + "@types/tunnel": "^0.0.4", + "@types/turndown": "^5.0.4" } } diff --git a/packages/service/support/permission/auth/plugin.ts b/packages/service/support/permission/auth/plugin.ts index f6a53785cc..0e4534719a 100644 --- a/packages/service/support/permission/auth/plugin.ts +++ b/packages/service/support/permission/auth/plugin.ts @@ -10,11 +10,11 @@ import { splitCombinePluginId } from '../../../core/plugin/controller'; import { PluginSourceEnum } from '@fastgpt/global/core/plugin/constants'; export async function authPluginCrud({ - id, + pluginId, per = 'owner', ...props }: AuthModeType & { - id: string; + pluginId: string; }): Promise< AuthResponseType & { plugin: PluginItemSchema; @@ -26,7 +26,7 @@ export async function authPluginCrud({ const { role } = await getTmbInfoByTmbId({ tmbId }); const { plugin, isOwner, canWrite } = await (async () => { - const plugin = await MongoPlugin.findOne({ _id: id, teamId }); + const plugin = await MongoPlugin.findOne({ _id: pluginId, teamId }); if (!plugin) { throw new Error(PluginErrEnum.unExist); diff --git a/packages/service/support/permission/controller.ts b/packages/service/support/permission/controller.ts index fb73b7107d..f7dde6faca 100644 --- a/packages/service/support/permission/controller.ts +++ b/packages/service/support/permission/controller.ts @@ -217,4 +217,4 @@ export const authFileToken = (token?: string) => fileId: decoded.fileId }); }); - }); \ No newline at end of file + }); diff --git a/packages/service/support/wallet/usage/schema.ts b/packages/service/support/wallet/usage/schema.ts index e6c39355d7..d84fde1c3a 100644 --- a/packages/service/support/wallet/usage/schema.ts +++ b/packages/service/support/wallet/usage/schema.ts @@ -26,6 +26,7 @@ const UsageSchema = new Schema({ required: true }, appName: { + // usage name type: String, default: '' }, @@ -34,6 +35,11 @@ const UsageSchema = new Schema({ ref: 'apps', required: false }, + pluginId: { + type: Schema.Types.ObjectId, + ref: 'plugins', + required: false + }, time: { type: Date, default: () => new Date() diff --git a/packages/service/type.d.ts b/packages/service/type.d.ts index 93a1b7cce9..281cae9230 100644 --- a/packages/service/type.d.ts +++ b/packages/service/type.d.ts @@ -7,6 +7,7 @@ import { LLMModelItemType } from '@fastgpt/global/core/ai/model.d'; import { SubPlanType } from '@fastgpt/global/support/wallet/sub/type'; +import { Worker } from 'worker_threads'; declare global { var feConfigs: FastGPTFeConfigsType; @@ -18,4 +19,9 @@ declare global { var audioSpeechModels: AudioSpeechModelType[]; var whisperModel: WhisperModelType; var reRankModels: ReRankModelItemType[]; + + var tiktokenWorker: { + worker: Worker; + callbackMap: Record void>; + }; } diff --git a/packages/service/worker/htmlStr2Md.ts b/packages/service/worker/htmlStr2Md.ts new file mode 100644 index 0000000000..cd4f0e2d28 --- /dev/null +++ b/packages/service/worker/htmlStr2Md.ts @@ -0,0 +1,60 @@ +import { parentPort } from 'worker_threads'; +import TurndownService from 'turndown'; +//@ts-ignore +import domino from 'domino'; +//@ts-ignore +import * as turndownPluginGfm from 'joplin-turndown-plugin-gfm'; + +const turndownService = new TurndownService({ + headingStyle: 'atx', + bulletListMarker: '-', + codeBlockStyle: 'fenced', + fence: '```', + emDelimiter: '_', + strongDelimiter: '**', + linkStyle: 'inlined', + linkReferenceStyle: 'full' +}); +parentPort?.on('message', (params: { html: string }) => { + const html2md = (html: string): string => { + try { + const window = domino.createWindow(html); + const document = window.document; + + turndownService.remove(['i', 'script', 'iframe']); + turndownService.addRule('codeBlock', { + filter: 'pre', + replacement(_, node) { + const content = node.textContent?.trim() || ''; + // @ts-ignore + const codeName = node?._attrsByQName?.class?.data?.trim() || ''; + + return `\n\`\`\`${codeName}\n${content}\n\`\`\`\n`; + } + }); + + turndownService.use(turndownPluginGfm.gfm); + + // @ts-ignore + return turndownService.turndown(document); + } catch (error) { + return ''; + } + }; + + try { + const md = html2md(params?.html || ''); + + parentPort?.postMessage({ + type: 'success', + data: md + }); + } catch (error) { + parentPort?.postMessage({ + type: 'error', + data: error + }); + } + + global?.close?.(); +}); diff --git a/packages/global/common/string/tiktoken/cl100k_base.json b/packages/service/worker/tiktoken/cl100k_base.json similarity index 100% rename from packages/global/common/string/tiktoken/cl100k_base.json rename to packages/service/worker/tiktoken/cl100k_base.json diff --git a/packages/service/worker/tiktoken/countGptMessagesTokens.ts b/packages/service/worker/tiktoken/countGptMessagesTokens.ts new file mode 100644 index 0000000000..1e2e9c5868 --- /dev/null +++ b/packages/service/worker/tiktoken/countGptMessagesTokens.ts @@ -0,0 +1,116 @@ +/* Only the token of gpt-3.5-turbo is used */ +import { Tiktoken } from 'js-tiktoken/lite'; +import encodingJson from './cl100k_base.json'; +import { + ChatCompletionMessageParam, + ChatCompletionContentPart, + ChatCompletionCreateParams, + ChatCompletionTool +} from '@fastgpt/global/core/ai/type'; +import { ChatCompletionRequestMessageRoleEnum } from '@fastgpt/global/core/ai/constants'; +import { parentPort } from 'worker_threads'; + +const enc = new Tiktoken(encodingJson); + +/* count messages tokens */ +parentPort?.on( + 'message', + ({ + id, + messages, + tools, + functionCall + }: { + id: string; + messages: ChatCompletionMessageParam[]; + tools?: ChatCompletionTool[]; + functionCall?: ChatCompletionCreateParams.Function[]; + }) => { + const start = Date.now(); + /* count one prompt tokens */ + const countPromptTokens = ( + prompt: string | ChatCompletionContentPart[] | null | undefined = '', + role: '' | `${ChatCompletionRequestMessageRoleEnum}` = '' + ) => { + const promptText = (() => { + if (!prompt) return ''; + if (typeof prompt === 'string') return prompt; + let promptText = ''; + prompt.forEach((item) => { + if (item.type === 'text') { + promptText += item.text; + } else if (item.type === 'image_url') { + promptText += item.image_url.url; + } + }); + return promptText; + })(); + + const text = `${role}\n${promptText}`.trim(); + + try { + const encodeText = enc.encode(text); + const supplementaryToken = role ? 4 : 0; + return encodeText.length + supplementaryToken; + } catch (error) { + return text.length; + } + }; + const countToolsTokens = ( + tools?: ChatCompletionTool[] | ChatCompletionCreateParams.Function[] + ) => { + if (!tools || tools.length === 0) return 0; + + const toolText = tools + ? JSON.stringify(tools) + .replace('"', '') + .replace('\n', '') + .replace(/( ){2,}/g, ' ') + : ''; + + return enc.encode(toolText).length; + }; + + const total = + messages.reduce((sum, item) => { + // Evaluates the text of toolcall and functioncall + const functionCallPrompt = (() => { + let prompt = ''; + if (item.role === ChatCompletionRequestMessageRoleEnum.Assistant) { + const toolCalls = item.tool_calls; + prompt += + toolCalls + ?.map((item) => `${item?.function?.name} ${item?.function?.arguments}`.trim()) + ?.join('') || ''; + + const functionCall = item.function_call; + prompt += `${functionCall?.name} ${functionCall?.arguments}`.trim(); + } + return prompt; + })(); + + const contentPrompt = (() => { + if (!item.content) return ''; + if (typeof item.content === 'string') return item.content; + return item.content + .map((item) => { + if (item.type === 'text') return item.text; + return ''; + }) + .join(''); + })(); + + return sum + countPromptTokens(`${contentPrompt}${functionCallPrompt}`, item.role); + }, 0) + + countToolsTokens(tools) + + countToolsTokens(functionCall); + + parentPort?.postMessage({ + id, + type: 'success', + data: total + }); + + global?.close?.(); + } +); diff --git a/packages/service/worker/utils.ts b/packages/service/worker/utils.ts new file mode 100644 index 0000000000..70508e7ea5 --- /dev/null +++ b/packages/service/worker/utils.ts @@ -0,0 +1,32 @@ +import { Worker } from 'worker_threads'; +import path from 'path'; + +export enum WorkerNameEnum { + htmlStr2Md = 'htmlStr2Md', + countGptMessagesTokens = 'countGptMessagesTokens' +} + +export const getWorker = (name: WorkerNameEnum) => { + const workerPath = path.join(process.cwd(), '.next', 'server', 'worker', `${name}.js`); + return new Worker(workerPath); +}; + +export const runWorker = (name: WorkerNameEnum, params?: Record) => { + return new Promise((resolve, reject) => { + const worker = getWorker(name); + + worker.postMessage(params); + + worker.on('message', (msg: { type: 'success' | 'error'; data: any }) => { + if (msg.type === 'error') return reject(msg.data); + + resolve(msg.data); + }); + + worker.on('error', (err) => { + worker.terminate(); + + reject(err); + }); + }); +}; diff --git a/packages/web/common/string/markdown.ts b/packages/web/common/string/markdown.ts deleted file mode 100644 index 03a97cae03..0000000000 --- a/packages/web/common/string/markdown.ts +++ /dev/null @@ -1,35 +0,0 @@ -import TurndownService from 'turndown'; -// @ts-ignore -import * as turndownPluginGfm from 'joplin-turndown-plugin-gfm'; - -const turndownService = new TurndownService({ - headingStyle: 'atx', - bulletListMarker: '-', - codeBlockStyle: 'fenced', - fence: '```', - emDelimiter: '_', - strongDelimiter: '**', - linkStyle: 'inlined', - linkReferenceStyle: 'full' -}); -export const htmlStr2Md = (html: string) => { - // 浏览器,html字符串转dom - const parser = new DOMParser(); - const dom = parser.parseFromString(html, 'text/html'); - - turndownService.remove(['i', 'script', 'iframe']); - turndownService.addRule('codeBlock', { - filter: 'pre', - replacement(_, node) { - const content = node.textContent?.trim() || ''; - // @ts-ignore - const codeName = node?._attrsByQName?.class?.data?.trim() || ''; - - return `\n\`\`\`${codeName}\n${content}\n\`\`\`\n`; - } - }); - - turndownService.use(turndownPluginGfm.gfm); - - return turndownService.turndown(dom); -}; diff --git a/projects/app/src/components/EmptyTip/index.tsx b/packages/web/components/common/EmptyTip/index.tsx similarity index 91% rename from projects/app/src/components/EmptyTip/index.tsx rename to packages/web/components/common/EmptyTip/index.tsx index 3dfbbce139..d36a66e8b4 100644 --- a/projects/app/src/components/EmptyTip/index.tsx +++ b/packages/web/components/common/EmptyTip/index.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { Flex, Box, FlexProps } from '@chakra-ui/react'; -import MyIcon from '@fastgpt/web/components/common/Icon'; +import MyIcon from '../Icon'; import { useTranslation } from 'next-i18next'; type Props = FlexProps & { diff --git a/packages/web/components/common/Icon/constants.ts b/packages/web/components/common/Icon/constants.ts index 5ae123e6c4..830f0c49ec 100644 --- a/packages/web/components/common/Icon/constants.ts +++ b/packages/web/components/common/Icon/constants.ts @@ -1,6 +1,7 @@ // @ts-nocheck export const iconPaths = { + change: () => import('./icons/change.svg'), chatSend: () => import('./icons/chatSend.svg'), closeSolid: () => import('./icons/closeSolid.svg'), collectionLight: () => import('./icons/collectionLight.svg'), @@ -64,6 +65,7 @@ export const iconPaths = { 'core/app/logsLight': () => import('./icons/core/app/logsLight.svg'), 'core/app/markLight': () => import('./icons/core/app/markLight.svg'), 'core/app/questionGuide': () => import('./icons/core/app/questionGuide.svg'), + 'core/app/schedulePlan': () => import('./icons/core/app/schedulePlan.svg'), 'core/app/simpleMode/ai': () => import('./icons/core/app/simpleMode/ai.svg'), 'core/app/simpleMode/chat': () => import('./icons/core/app/simpleMode/chat.svg'), 'core/app/simpleMode/dataset': () => import('./icons/core/app/simpleMode/dataset.svg'), @@ -114,6 +116,34 @@ export const iconPaths = { 'core/modules/teamPlugin': () => import('./icons/core/modules/teamPlugin.svg'), 'core/modules/variable': () => import('./icons/core/modules/variable.svg'), 'core/modules/welcomeText': () => import('./icons/core/modules/welcomeText.svg'), + 'core/workflow/closeEdge': () => import('./icons/core/workflow/closeEdge.svg'), + 'core/workflow/debug': () => import('./icons/core/workflow/debug.svg'), + 'core/workflow/debugBlue': () => import('./icons/core/workflow/debugBlue.svg'), + 'core/workflow/debugNext': () => import('./icons/core/workflow/debugNext.svg'), + 'core/workflow/debugResult': () => import('./icons/core/workflow/debugResult.svg'), + 'core/workflow/edgeArrow': () => import('./icons/core/workflow/edgeArrow.svg'), + 'core/workflow/grout': () => import('./icons/core/workflow/grout.svg'), + 'core/workflow/inputType/dynamic': () => import('./icons/core/workflow/inputType/dynamic.svg'), + 'core/workflow/inputType/input': () => import('./icons/core/workflow/inputType/input.svg'), + 'core/workflow/inputType/jsonEditor': () => + import('./icons/core/workflow/inputType/jsonEditor.svg'), + 'core/workflow/inputType/numberInput': () => + import('./icons/core/workflow/inputType/numberInput.svg'), + 'core/workflow/inputType/reference': () => + import('./icons/core/workflow/inputType/reference.svg'), + 'core/workflow/inputType/select': () => import('./icons/core/workflow/inputType/select.svg'), + 'core/workflow/inputType/selectApp': () => + import('./icons/core/workflow/inputType/selectApp.svg'), + 'core/workflow/inputType/selectDataset': () => + import('./icons/core/workflow/inputType/selectDataset.svg'), + 'core/workflow/inputType/selectLLM': () => + import('./icons/core/workflow/inputType/selectLLM.svg'), + 'core/workflow/inputType/switch': () => import('./icons/core/workflow/inputType/switch.svg'), + 'core/workflow/inputType/textarea': () => import('./icons/core/workflow/inputType/textarea.svg'), + 'core/workflow/runError': () => import('./icons/core/workflow/runError.svg'), + 'core/workflow/runSkip': () => import('./icons/core/workflow/runSkip.svg'), + 'core/workflow/runSuccess': () => import('./icons/core/workflow/runSuccess.svg'), + 'core/workflow/running': () => import('./icons/core/workflow/running.svg'), date: () => import('./icons/date.svg'), delete: () => import('./icons/delete.svg'), edit: () => import('./icons/edit.svg'), diff --git a/packages/web/components/common/Icon/icons/change.svg b/packages/web/components/common/Icon/icons/change.svg new file mode 100644 index 0000000000..8ab5546eb8 --- /dev/null +++ b/packages/web/components/common/Icon/icons/change.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/packages/web/components/common/Icon/icons/common/fullScreenLight.svg b/packages/web/components/common/Icon/icons/common/fullScreenLight.svg index 4d477da5f7..afe1712467 100644 --- a/packages/web/components/common/Icon/icons/common/fullScreenLight.svg +++ b/packages/web/components/common/Icon/icons/common/fullScreenLight.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/copy.svg b/packages/web/components/common/Icon/icons/copy.svg index 01be11a7e4..9ea3f7809f 100644 --- a/packages/web/components/common/Icon/icons/copy.svg +++ b/packages/web/components/common/Icon/icons/copy.svg @@ -1,8 +1,4 @@ - - - + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/app/schedulePlan.svg b/packages/web/components/common/Icon/icons/core/app/schedulePlan.svg new file mode 100644 index 0000000000..0f13b5ab45 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/app/schedulePlan.svg @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/closeEdge.svg b/packages/web/components/common/Icon/icons/core/workflow/closeEdge.svg new file mode 100644 index 0000000000..db3fb9e2f5 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/closeEdge.svg @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/debug.svg b/packages/web/components/common/Icon/icons/core/workflow/debug.svg new file mode 100644 index 0000000000..d2bdc24fc7 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/debug.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/debugBlue.svg b/packages/web/components/common/Icon/icons/core/workflow/debugBlue.svg new file mode 100644 index 0000000000..1b6fbc35c7 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/debugBlue.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/debugNext.svg b/packages/web/components/common/Icon/icons/core/workflow/debugNext.svg new file mode 100644 index 0000000000..de7fb9d6a5 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/debugNext.svg @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/debugResult.svg b/packages/web/components/common/Icon/icons/core/workflow/debugResult.svg new file mode 100644 index 0000000000..f22c2282d0 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/debugResult.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/edgeArrow.svg b/packages/web/components/common/Icon/icons/core/workflow/edgeArrow.svg new file mode 100644 index 0000000000..483efef417 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/edgeArrow.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/grout.svg b/packages/web/components/common/Icon/icons/core/workflow/grout.svg new file mode 100644 index 0000000000..54e6849619 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/grout.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/packages/web/components/common/Icon/icons/core/workflow/inputType/dynamic.svg b/packages/web/components/common/Icon/icons/core/workflow/inputType/dynamic.svg new file mode 100644 index 0000000000..169bf92deb --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/inputType/dynamic.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/inputType/input.svg b/packages/web/components/common/Icon/icons/core/workflow/inputType/input.svg new file mode 100644 index 0000000000..95a42d04cc --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/inputType/input.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/inputType/jsonEditor.svg b/packages/web/components/common/Icon/icons/core/workflow/inputType/jsonEditor.svg new file mode 100644 index 0000000000..88dd542f80 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/inputType/jsonEditor.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/inputType/numberInput.svg b/packages/web/components/common/Icon/icons/core/workflow/inputType/numberInput.svg new file mode 100644 index 0000000000..45dd6d134c --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/inputType/numberInput.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/inputType/reference.svg b/packages/web/components/common/Icon/icons/core/workflow/inputType/reference.svg new file mode 100644 index 0000000000..20c8b94b7b --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/inputType/reference.svg @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/inputType/select.svg b/packages/web/components/common/Icon/icons/core/workflow/inputType/select.svg new file mode 100644 index 0000000000..b9211ec15b --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/inputType/select.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/inputType/selectApp.svg b/packages/web/components/common/Icon/icons/core/workflow/inputType/selectApp.svg new file mode 100644 index 0000000000..f9c8dc540c --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/inputType/selectApp.svg @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/inputType/selectDataset.svg b/packages/web/components/common/Icon/icons/core/workflow/inputType/selectDataset.svg new file mode 100644 index 0000000000..8a8cd6301b --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/inputType/selectDataset.svg @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/inputType/selectLLM.svg b/packages/web/components/common/Icon/icons/core/workflow/inputType/selectLLM.svg new file mode 100644 index 0000000000..a256d61665 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/inputType/selectLLM.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/inputType/switch.svg b/packages/web/components/common/Icon/icons/core/workflow/inputType/switch.svg new file mode 100644 index 0000000000..62655f8b1d --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/inputType/switch.svg @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/inputType/textarea.svg b/packages/web/components/common/Icon/icons/core/workflow/inputType/textarea.svg new file mode 100644 index 0000000000..2af94229c2 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/inputType/textarea.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/runError.svg b/packages/web/components/common/Icon/icons/core/workflow/runError.svg new file mode 100644 index 0000000000..8583c1f68f --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/runError.svg @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/runSkip.svg b/packages/web/components/common/Icon/icons/core/workflow/runSkip.svg new file mode 100644 index 0000000000..ed10d0a3e4 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/runSkip.svg @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/runSuccess.svg b/packages/web/components/common/Icon/icons/core/workflow/runSuccess.svg new file mode 100644 index 0000000000..37a25491d8 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/runSuccess.svg @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/core/workflow/running.svg b/packages/web/components/common/Icon/icons/core/workflow/running.svg new file mode 100644 index 0000000000..cbcfe3deb8 --- /dev/null +++ b/packages/web/components/common/Icon/icons/core/workflow/running.svg @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/packages/web/components/common/Icon/icons/edit.svg b/packages/web/components/common/Icon/icons/edit.svg index 1fff0787ea..b24abecbc3 100644 --- a/packages/web/components/common/Icon/icons/edit.svg +++ b/packages/web/components/common/Icon/icons/edit.svg @@ -1,8 +1,8 @@ - + + d="M9.03932 2.19941L10.0293 3.18936L10.7093 2.50933C10.8348 2.38386 10.8975 2.32111 10.9331 2.25459C11.0134 2.1045 11.0134 1.92421 10.9331 1.77411C10.8975 1.70759 10.8348 1.64486 10.7093 1.51939C10.5838 1.39392 10.5211 1.33117 10.4546 1.29558C10.3045 1.21528 10.1242 1.21528 9.97408 1.29558C9.90756 1.33117 9.84482 1.3939 9.71935 1.51938L9.03932 2.19941Z" /> + d="M5.2809 7.82099C5.24808 7.82311 5.20747 7.82311 5.155 7.82311H4.73112C4.61511 7.82311 4.5571 7.82311 4.51295 7.80018C4.47574 7.78085 4.44541 7.75051 4.42608 7.71331C4.40315 7.66916 4.40315 7.61115 4.40315 7.49514V7.06722C4.40315 6.95121 4.40315 6.8932 4.42608 6.84905C4.42858 6.84425 4.43125 6.83956 4.43411 6.835C4.46344 6.77529 4.52366 6.71507 4.62883 6.6099L8.39113 2.8476L9.38108 3.83755L5.61878 7.59985C5.49573 7.7229 5.43421 7.78442 5.36305 7.80693C5.33628 7.81539 5.30864 7.82008 5.2809 7.82099Z" /> + d="M4.22246 1.45572C3.75654 1.45571 3.37611 1.45571 3.06724 1.48136C2.74768 1.5079 2.46018 1.56446 2.19269 1.70341C1.79088 1.91214 1.46325 2.23976 1.25453 2.64158C1.11558 2.90907 1.05902 3.19656 1.03248 3.51613C1.00683 3.825 1.00683 4.20543 1.00684 4.67134V7.78939C1.00683 8.25531 1.00683 8.63574 1.03248 8.94462C1.05902 9.26418 1.11558 9.55168 1.25453 9.81917C1.46325 10.221 1.79088 10.5486 2.19269 10.7573C2.46018 10.8963 2.74768 10.9528 3.06725 10.9794C3.37613 11.005 3.75656 11.005 4.22249 11.005H7.34049C7.80642 11.005 8.18685 11.005 8.49573 10.9794C8.8153 10.9528 9.1028 10.8963 9.37029 10.7573C9.7721 10.5486 10.0997 10.221 10.3085 9.81917C10.4474 9.55168 10.504 9.26419 10.5305 8.94463C10.5562 8.63575 10.5562 8.25533 10.5561 7.78941V5.77047C10.5561 5.49432 10.3323 5.27047 10.0561 5.27047C9.78 5.27047 9.55614 5.49432 9.55614 5.77047V7.76807C9.55614 8.26051 9.55574 8.59927 9.53394 8.86186C9.51262 9.11847 9.47349 9.25723 9.42104 9.3582C9.30719 9.57737 9.12849 9.75607 8.90931 9.86992C8.80835 9.92237 8.66959 9.96151 8.41297 9.98282C8.15038 10.0046 7.8116 10.005 7.31915 10.005H4.24383C3.75138 10.005 3.41261 10.0046 3.15001 9.98282C2.8934 9.96151 2.75463 9.92237 2.65367 9.86992C2.4345 9.75607 2.25579 9.57737 2.14194 9.3582C2.08949 9.25723 2.05036 9.11847 2.02905 8.86186C2.00724 8.59926 2.00684 8.26049 2.00684 7.76803V4.69272C2.00684 4.20026 2.00724 3.86149 2.02905 3.59889C2.05036 3.34228 2.08949 3.20351 2.14194 3.10255C2.25579 2.88338 2.4345 2.70467 2.65367 2.59082C2.75463 2.53838 2.8934 2.49924 3.15 2.47793C3.4126 2.45612 3.75136 2.45572 4.24381 2.45572H6.26224C6.53838 2.45572 6.76224 2.23186 6.76224 1.95572C6.76224 1.67958 6.53838 1.45572 6.26224 1.45572L4.22246 1.45572Z" /> \ No newline at end of file diff --git a/packages/web/components/common/Input/HttpInput/index.tsx b/packages/web/components/common/Input/HttpInput/index.tsx index 3ed3a16e91..61a2b30936 100644 --- a/packages/web/components/common/Input/HttpInput/index.tsx +++ b/packages/web/components/common/Input/HttpInput/index.tsx @@ -34,6 +34,7 @@ const HttpInput = ({ const onChangeInput = useCallback((editorState: EditorState, editor: LexicalEditor) => { const text = editorStateToText(editor).replaceAll('}}{{', '}} {{'); + setCurrentValue(text); onChange?.(text); }, []); const onBlurInput = useCallback((editor: LexicalEditor) => { @@ -42,9 +43,6 @@ const HttpInput = ({ onBlur?.(text); }); }, []); - useEffect(() => { - setCurrentValue(value); - }, [value]); return ( <> diff --git a/packages/web/components/common/MyDrawer/MyRightDrawer.tsx b/packages/web/components/common/MyDrawer/MyRightDrawer.tsx index 88c139fc87..6b8ab4de44 100644 --- a/packages/web/components/common/MyDrawer/MyRightDrawer.tsx +++ b/packages/web/components/common/MyDrawer/MyRightDrawer.tsx @@ -9,7 +9,8 @@ import { DrawerCloseButton, DrawerContentProps, Flex, - Image + Image, + Box } from '@chakra-ui/react'; import { useLoading } from '../../../hooks/useLoading'; @@ -41,22 +42,30 @@ const MyRightDrawer = ({ borderLeftRadius={'lg'} overflow={'hidden'} > - - - - {iconSrc && ( - <> - {iconSrc.startsWith('/') ? ( - - ) : ( - - )} - - )} + + {iconSrc && ( + <> + {iconSrc.startsWith('/') ? ( + + ) : ( + + )} + + )} + {title} - - - + + + {children} diff --git a/projects/app/src/components/MyMenu/index.tsx b/packages/web/components/common/MyMenu/index.tsx similarity index 96% rename from projects/app/src/components/MyMenu/index.tsx rename to packages/web/components/common/MyMenu/index.tsx index e593ea1edb..02876ca1e8 100644 --- a/projects/app/src/components/MyMenu/index.tsx +++ b/packages/web/components/common/MyMenu/index.tsx @@ -8,11 +8,11 @@ import { MenuButton, MenuItemProps } from '@chakra-ui/react'; -import MyIcon from '@fastgpt/web/components/common/Icon'; +import MyIcon from '../Icon'; type MenuItemType = 'primary' | 'danger'; -interface Props { +export type Props = { width?: number | string; offset?: [number, number]; Button: React.ReactNode; @@ -24,7 +24,7 @@ interface Props { type?: MenuItemType; onClick: () => any; }[]; -} +}; const MyMenu = ({ width = 'auto', @@ -132,4 +132,4 @@ const MyMenu = ({ ); }; -export default MyMenu; +export default React.memo(MyMenu); diff --git a/packages/web/components/common/MySelect/MultipleRowSelect.tsx b/packages/web/components/common/MySelect/MultipleRowSelect.tsx new file mode 100644 index 0000000000..6bc901d926 --- /dev/null +++ b/packages/web/components/common/MySelect/MultipleRowSelect.tsx @@ -0,0 +1,135 @@ +import React, { useRef, useCallback, useState } from 'react'; +import { Button, useDisclosure, Box, Flex, useOutsideClick } from '@chakra-ui/react'; +import { ChevronDownIcon } from '@chakra-ui/icons'; +import { MultipleSelectProps } from './type'; +import EmptyTip from '../EmptyTip'; +import { useTranslation } from 'next-i18next'; + +const MultipleRowSelect = ({ + placeholder, + label, + value = [], + list, + emptyTip, + maxH = 300, + onSelect, + styles +}: MultipleSelectProps) => { + const { t } = useTranslation(); + const ref = useRef(null); + const { isOpen, onOpen, onClose } = useDisclosure(); + const [cloneValue, setCloneValue] = useState(value); + + useOutsideClick({ + ref: ref, + handler: onClose + }); + + const RenderList = useCallback( + ({ index, list }: { index: number; list: MultipleSelectProps['list'] }) => { + const selectedValue = cloneValue[index]; + const selectedIndex = list.findIndex((item) => item.value === selectedValue); + const children = list[selectedIndex]?.children || []; + const hasChildren = list.some((item) => item.children && item.children?.length > 0); + + return ( + <> + + {list.map((item) => ( + { + const newValue = [...cloneValue]; + newValue[index] = item.value; + setCloneValue(newValue); + if (!hasChildren) { + onSelect(newValue); + onClose(); + } + } + })} + > + {item.label} + + ))} + {list.length === 0 && ( + + )} + + {children.length > 0 && } + + ); + }, + [cloneValue] + ); + + const onOpenSelect = useCallback(() => { + setCloneValue(value); + onOpen(); + }, [value, onOpen]); + + return ( + + } + variant={'whiteFlow'} + _active={{ + transform: 'none' + }} + {...(isOpen + ? { + boxShadow: '0px 0px 4px #A8DBFF', + borderColor: 'primary.500' + } + : {})} + {...styles} + onClick={() => (isOpen ? onClose() : onOpenSelect())} + > + {label ?? placeholder} + + {isOpen && ( + + + + + + )} + + ); +}; + +export default React.memo(MultipleRowSelect); diff --git a/packages/web/components/common/MySelect/MultipleSelect.tsx b/packages/web/components/common/MySelect/MultipleSelect.tsx new file mode 100644 index 0000000000..be74e8f087 --- /dev/null +++ b/packages/web/components/common/MySelect/MultipleSelect.tsx @@ -0,0 +1,131 @@ +import { Box, Flex, useDisclosure, useOutsideClick } from '@chakra-ui/react'; +import React, { useRef } from 'react'; +import { useTranslation } from 'next-i18next'; +import FillTag from '../Tag/index'; +import MyIcon from '../Icon'; + +export type SelectProps = { + value?: string[]; + placeholder?: string; + list: { + icon?: string; + alias?: string; + label: string | React.ReactNode; + value: string; + }[]; + maxH?: number; + onSelect: (val: any[]) => void; +}; + +const MultipleSelect = ({ + value = [], + placeholder, + list = [], + maxH = 400, + onSelect +}: SelectProps) => { + const { t } = useTranslation(); + const ref = useRef(null); + const { isOpen, onOpen, onClose } = useDisclosure(); + + useOutsideClick({ + ref: ref, + handler: onClose + }); + + return ( + + (isOpen ? onClose() : onOpen())} + > + {value.map((item) => { + const listItem = list.find((i) => i.value === item); + if (!listItem) return null; + + return ( + + {listItem.alias || listItem.label} + { + e.stopPropagation(); + onSelect(value.filter((i) => i !== item)); + }} + /> + + ); + })} + {value.length === 0 && placeholder && ( + + {placeholder} + + )} + + {isOpen && ( + + {list.map((item) => { + const selected = value.includes(item.value); + + return ( + { + e.stopPropagation(); + onSelect(value.filter((i) => i !== item.value)); + } + } + : { + onClick: (e) => { + e.stopPropagation(); + onSelect([...value, item.value]); + } + })} + > + {item.icon && } + {item.label} + + ); + })} + + )} + + ); +}; + +export default React.memo(MultipleSelect); diff --git a/packages/web/components/common/MySelect/TimezoneSelect.tsx b/packages/web/components/common/MySelect/TimezoneSelect.tsx new file mode 100644 index 0000000000..02cc8728ba --- /dev/null +++ b/packages/web/components/common/MySelect/TimezoneSelect.tsx @@ -0,0 +1,24 @@ +import React, { useRef } from 'react'; +import { timezoneList } from '@fastgpt/global/common/time/timezone'; +import { Select } from '@chakra-ui/react'; + +const TimezoneSelect = ({ value, onChange }: { value?: string; onChange: (e: string) => void }) => { + const timezones = useRef(timezoneList()); + + return ( + + ); +}; + +export default React.memo(TimezoneSelect); diff --git a/packages/web/components/common/MySelect/index.tsx b/packages/web/components/common/MySelect/index.tsx index 3580394d8c..d1e7de023f 100644 --- a/packages/web/components/common/MySelect/index.tsx +++ b/packages/web/components/common/MySelect/index.tsx @@ -28,7 +28,15 @@ export type SelectProps = ButtonProps & { }; const MySelect = ( - { placeholder, value, width = '100%', list, onchange, isLoading = false, ...props }: SelectProps, + { + placeholder, + value, + width = '100%', + list = [], + onchange, + isLoading = false, + ...props + }: SelectProps, selectRef: any ) => { const ref = useRef(null); diff --git a/packages/web/components/common/MySelect/type.d.ts b/packages/web/components/common/MySelect/type.d.ts new file mode 100644 index 0000000000..377a50a4b6 --- /dev/null +++ b/packages/web/components/common/MySelect/type.d.ts @@ -0,0 +1,16 @@ +type ListItemType = { + alias?: string; + label: string | React.ReactNode; + value: any; + children?: ListItemType[]; +}; +export type MultipleSelectProps = { + label?: string | React.ReactNode; + value: any[]; + placeholder?: string; + list: ListItemType[]; + emptyTip?: string; + maxH?: number; + onSelect: (val: any[]) => void; + styles?: ButtonProps; +}; diff --git a/packages/web/components/common/MyTooltip/index.tsx b/packages/web/components/common/MyTooltip/index.tsx index cd1e9f417e..8f63782d74 100644 --- a/packages/web/components/common/MyTooltip/index.tsx +++ b/packages/web/components/common/MyTooltip/index.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Tooltip, TooltipProps, useMediaQuery } from '@chakra-ui/react'; +import { Tooltip, TooltipProps, css, useMediaQuery } from '@chakra-ui/react'; interface Props extends TooltipProps { forceShow?: boolean; diff --git a/packages/web/components/common/Tag/Fill.tsx b/packages/web/components/common/Tag/Fill.tsx deleted file mode 100644 index 2752df43e6..0000000000 --- a/packages/web/components/common/Tag/Fill.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import React, { useMemo } from 'react'; -import { Flex, type FlexProps } from '@chakra-ui/react'; - -interface Props extends FlexProps { - children: React.ReactNode | React.ReactNode[]; - colorSchema?: 'blue' | 'green' | 'gray' | 'purple'; -} - -const FillTag = ({ children, colorSchema = 'blue', ...props }: Props) => { - const theme = useMemo(() => { - const map = { - blue: { - bg: 'primary.50', - color: 'primary.600' - }, - green: { - bg: 'green.50', - color: 'green.600' - }, - purple: { - bg: '#F6EEFA', - color: '#A558C9' - }, - gray: { - bg: 'myGray.50', - color: 'myGray.700' - } - }; - return map[colorSchema]; - }, [colorSchema]); - - return ( - - {children} - - ); -}; - -export default FillTag; diff --git a/packages/web/components/common/Tag/index.tsx b/packages/web/components/common/Tag/index.tsx new file mode 100644 index 0000000000..bb22d79b94 --- /dev/null +++ b/packages/web/components/common/Tag/index.tsx @@ -0,0 +1,73 @@ +import React, { useMemo } from 'react'; +import { Flex, type FlexProps } from '@chakra-ui/react'; + +interface Props extends FlexProps { + children: React.ReactNode | React.ReactNode[]; + colorSchema?: 'blue' | 'green' | 'gray' | 'purple'; + type?: 'fill' | 'solid'; +} + +const MyTag = ({ children, colorSchema = 'blue', type = 'fill', ...props }: Props) => { + const theme = useMemo(() => { + const fillMap = { + blue: { + borderColor: 'primary.200', + bg: 'primary.50', + color: 'primary.700' + }, + green: { + borderColor: 'green.200', + bg: 'green.50', + color: 'green.600' + }, + purple: { + borderColor: '#ECF', + bg: '#F6EEFA', + color: '#A558C9' + }, + gray: { + borderColor: 'myGray.200', + bg: 'myGray.50', + color: 'myGray.700' + } + }; + const solidMap = { + blue: { + borderColor: 'primary.200', + color: 'primary.600' + }, + green: { + borderColor: 'green.200', + color: 'green.600' + }, + purple: { + borderColor: '#ECF', + color: '#9E53C1' + }, + gray: { + borderColor: 'myGray.200', + color: 'myGray.700' + } + }; + return type === 'fill' ? fillMap[colorSchema] : solidMap[colorSchema]; + }, [colorSchema]); + + return ( + + {children} + + ); +}; + +export default React.memo(MyTag); diff --git a/packages/web/components/common/Textarea/PromptEditor/Editor.tsx b/packages/web/components/common/Textarea/PromptEditor/Editor.tsx index b9ed77a1f6..be8bcfe44a 100644 --- a/packages/web/components/common/Textarea/PromptEditor/Editor.tsx +++ b/packages/web/components/common/Textarea/PromptEditor/Editor.tsx @@ -17,9 +17,11 @@ import { EditorVariablePickerType } from './type.d'; import { getNanoid } from '@fastgpt/global/common/string/tools'; import FocusPlugin from './plugins/FocusPlugin'; import { textToEditorState } from './utils'; +import { MaxLengthPlugin } from './plugins/MaxLengthPlugin'; export default function Editor({ h = 200, + maxLength, showResize = true, showOpenModal = true, onOpenModal, @@ -27,9 +29,11 @@ export default function Editor({ onChange, onBlur, value, - placeholder = '' + placeholder = '', + isFlow }: { h?: number; + maxLength?: number; showResize?: boolean; showOpenModal?: boolean; onOpenModal?: () => void; @@ -38,6 +42,7 @@ export default function Editor({ onBlur?: (editor: LexicalEditor) => void; value?: string; placeholder?: string; + isFlow?: boolean; }) { const [key, setKey] = useState(getNanoid(6)); const [_, startSts] = useTransition(); @@ -81,7 +86,11 @@ export default function Editor({ } + contentEditable={ + + } placeholder={ + { @@ -138,7 +148,7 @@ export default function Editor({ void; onBlur?: (text: string) => void; h?: number; + maxLength?: number; placeholder?: string; title?: string; + isFlow?: boolean; }) => { const { isOpen, onOpen, onClose } = useDisclosure(); const [, startSts] = useTransition(); @@ -52,15 +56,18 @@ const PromptEditor = ({ onOpenModal={onOpen} variables={variables} h={h} + maxLength={maxLength} value={value} onChange={onChangeInput} onBlur={onBlurInput} placeholder={placeholder} + isFlow={isFlow} /> - + 引用了未定义的变量,是否自动添加? diff --git a/packages/web/components/common/Textarea/PromptEditor/plugins/MaxLengthPlugin/index.tsx b/packages/web/components/common/Textarea/PromptEditor/plugins/MaxLengthPlugin/index.tsx new file mode 100644 index 0000000000..12bcfea5b5 --- /dev/null +++ b/packages/web/components/common/Textarea/PromptEditor/plugins/MaxLengthPlugin/index.tsx @@ -0,0 +1,41 @@ +import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'; +import { trimTextContentFromAnchor } from '@lexical/selection'; +import { $restoreEditorState } from '@lexical/utils'; +import { $getSelection, $isRangeSelection, EditorState, RootNode } from 'lexical'; +import { useEffect } from 'react'; + +export function MaxLengthPlugin({ maxLength }: { maxLength: number }): null { + const [editor] = useLexicalComposerContext(); + + useEffect(() => { + let lastRestoredEditorState: EditorState | null = null; + + return editor.registerNodeTransform(RootNode, (rootNode: RootNode) => { + const selection = $getSelection(); + if (!$isRangeSelection(selection) || !selection.isCollapsed()) { + return; + } + const prevEditorState = editor.getEditorState(); + const prevTextContentSize = prevEditorState.read(() => rootNode.getTextContentSize()); + const textContentSize = rootNode.getTextContentSize(); + if (prevTextContentSize !== textContentSize) { + const delCount = textContentSize - maxLength; + const anchor = selection.anchor; + + if (delCount > 0) { + // Restore the old editor state instead if the last + // text content was already at the limit. + if (prevTextContentSize === maxLength && lastRestoredEditorState !== prevEditorState) { + lastRestoredEditorState = prevEditorState; + $restoreEditorState(editor, prevEditorState); + } else { + //@ts-ignore + trimTextContentFromAnchor(editor, anchor, delCount); + } + } + } + }); + }, [editor, maxLength]); + + return null; +} diff --git a/packages/web/components/common/Textarea/PromptEditor/utils.ts b/packages/web/components/common/Textarea/PromptEditor/utils.ts index da8f7f718e..8784087ba0 100644 --- a/packages/web/components/common/Textarea/PromptEditor/utils.ts +++ b/packages/web/components/common/Textarea/PromptEditor/utils.ts @@ -171,8 +171,9 @@ export function registerLexicalTextEntity( return [removePlainTextTransform, removeReverseNodeTransform]; } -export function textToEditorState(text: string = '') { - const paragraph = text?.split('\n'); +export function textToEditorState(text = '') { + const paragraph = typeof text === 'string' ? text?.split('\n') : ['']; + return JSON.stringify({ root: { children: paragraph.map((p) => { diff --git a/packages/web/components/core/workflow/NodeInputSelect.tsx b/packages/web/components/core/workflow/NodeInputSelect.tsx new file mode 100644 index 0000000000..b5ddabf5a0 --- /dev/null +++ b/packages/web/components/core/workflow/NodeInputSelect.tsx @@ -0,0 +1,162 @@ +import React, { useMemo, useRef } from 'react'; +import MyMenu, { type Props as MyMenuProps } from '../../common/MyMenu'; +import { + FlowNodeInputMap, + FlowNodeInputTypeEnum +} from '@fastgpt/global/core/workflow/node/constant'; +import { Box, Button, Flex, useTheme } from '@chakra-ui/react'; +import MyIcon from '../../common/Icon'; +import { useTranslation } from 'next-i18next'; +import { useConfirm } from '../../../hooks/useConfirm'; + +const NodeInputSelect = ({ + renderTypeList, + renderTypeIndex = 0, + onChange +}: { + renderTypeList: string[]; + renderTypeIndex?: number; + onChange: (e: string) => void; +}) => { + const { t } = useTranslation(); + const { openConfirm, ConfirmModal } = useConfirm({ + title: t('core.workflow.Change input type tip') + }); + const renderType = renderTypeList[renderTypeIndex]; + const theme = useTheme(); + + const inputList = useRef([ + { + type: FlowNodeInputTypeEnum.reference, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.reference].icon, + title: t('core.workflow.inputType.Reference') + }, + { + type: FlowNodeInputTypeEnum.input, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.input].icon, + title: t('core.workflow.inputType.Manual input') + }, + { + type: FlowNodeInputTypeEnum.numberInput, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.numberInput].icon, + + title: t('core.workflow.inputType.Manual input') + }, + { + type: FlowNodeInputTypeEnum.switch, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.switch].icon, + + title: t('core.workflow.inputType.Manual select') + }, + { + type: FlowNodeInputTypeEnum.textarea, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.textarea].icon, + + title: t('core.workflow.inputType.Manual input') + }, + { + type: FlowNodeInputTypeEnum.JSONEditor, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.JSONEditor].icon, + + title: t('core.workflow.inputType.Manual input') + }, + { + type: FlowNodeInputTypeEnum.addInputParam, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.addInputParam].icon, + + title: t('core.workflow.inputType.dynamicTargetInput') + }, + { + type: FlowNodeInputTypeEnum.selectApp, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.selectApp].icon, + + title: t('core.workflow.inputType.Manual select') + }, + { + type: FlowNodeInputTypeEnum.selectLLMModel, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.selectLLMModel].icon, + + title: t('core.workflow.inputType.Manual select') + }, + { + type: FlowNodeInputTypeEnum.settingLLMModel, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.settingLLMModel].icon, + + title: t('core.workflow.inputType.Manual select') + }, + { + type: FlowNodeInputTypeEnum.selectDataset, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.selectDataset].icon, + + title: t('core.workflow.inputType.Manual select') + }, + { + type: FlowNodeInputTypeEnum.selectDatasetParamsModal, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.selectDatasetParamsModal].icon, + + title: t('core.workflow.inputType.Manual select') + }, + { + type: FlowNodeInputTypeEnum.settingDatasetQuotePrompt, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.settingDatasetQuotePrompt].icon, + + title: t('core.workflow.inputType.Manual input') + }, + { + type: FlowNodeInputTypeEnum.hidden, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.hidden].icon, + + title: t('core.workflow.inputType.Manual input') + }, + { + type: FlowNodeInputTypeEnum.custom, + icon: FlowNodeInputMap[FlowNodeInputTypeEnum.custom].icon, + + title: t('core.workflow.inputType.Manual input') + } + ]); + + const renderList = useMemo( + () => + inputList.current.map((input) => ({ + label: input.title, + icon: input.icon, + renderType: input.type, + isActive: renderType === input.type, + onClick: () => { + if (renderType === input.type) return; + onChange(input.type); + } + })), + [renderType] + ); + + const filterMenuList = useMemo( + () => renderList.filter((item) => renderTypeList.includes(item.renderType)), + [renderTypeList, renderList] + ); + const renderTypeData = useMemo( + () => inputList.current.find((item) => item.type === renderType) || inputList.current[0], + [renderType] + ); + + return ( + } + variant={'grayBase'} + border={theme.borders.base} + borderRadius={'xs'} + > + {renderTypeData.title} + + } + menuList={filterMenuList} + /> + ); +}; + +export default React.memo(NodeInputSelect); diff --git a/packages/web/hooks/useConfirm.tsx b/packages/web/hooks/useConfirm.tsx index a64c6b79bb..62fc0b5dda 100644 --- a/packages/web/hooks/useConfirm.tsx +++ b/packages/web/hooks/useConfirm.tsx @@ -86,14 +86,10 @@ export const useConfirm = (props?: { }, []); return ( - - {customContent} + + + {customContent} + {!hideFooter && ( {showCancel && ( diff --git a/packages/web/package.json b/packages/web/package.json index 8c4eb2bc27..3623002c8a 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -13,6 +13,7 @@ "@fastgpt/global": "workspace:*", "@fingerprintjs/fingerprintjs": "^4.2.1", "@lexical/react": "0.12.6", + "@lexical/selection": "^0.14.5", "@lexical/text": "0.12.6", "@lexical/utils": "0.12.6", "@monaco-editor/react": "^4.6.0", @@ -20,7 +21,6 @@ "date-fns": "2.30.0", "dayjs": "^1.11.7", "i18next": "23.10.0", - "joplin-turndown-plugin-gfm": "^1.0.12", "lexical": "0.12.6", "lodash": "^4.17.21", "mammoth": "^1.6.0", @@ -30,14 +30,12 @@ "react": "18.2.0", "react-day-picker": "^8.7.1", "react-dom": "18.2.0", - "react-i18next": "13.5.0", - "turndown": "^7.1.2" + "react-i18next": "13.5.0" }, "devDependencies": { "@types/lodash": "^4.14.191", "@types/papaparse": "^5.3.7", "@types/react": "18.2.0", - "@types/react-dom": "18.2.0", - "@types/turndown": "^5.0.4" + "@types/react-dom": "18.2.0" } } diff --git a/packages/web/styles/theme.ts b/packages/web/styles/theme.ts index 516742af18..b069f4c74f 100644 --- a/packages/web/styles/theme.ts +++ b/packages/web/styles/theme.ts @@ -181,6 +181,28 @@ const Button = defineStyleConfig({ color: 'myGray.600 !important' } }, + whiteFlow: { + color: 'myGray.600', + border: '1px solid', + borderColor: 'myGray.200', + height: '40px', + bg: 'white', + px: '12px', + py: '0', + borderRadius: '6px', + transition: 'background 0.1s', + _hover: { + color: 'primary.600', + background: 'primary.1', + borderColor: 'primary.300' + }, + _active: { + color: 'primary.600' + }, + _disabled: { + color: 'myGray.600 !important' + } + }, whiteDanger: { color: 'myGray.600', border: '1px solid', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea4dfeaac6..03d96f69eb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,15 +41,15 @@ importers: axios: specifier: ^1.5.1 version: 1.5.1 + cron-parser: + specifier: ^4.9.0 + version: 4.9.0 dayjs: specifier: ^1.11.7 version: 1.11.7 encoding: specifier: ^0.1.13 version: 0.1.13 - js-tiktoken: - specifier: ^1.0.7 - version: 1.0.7 js-yaml: specifier: ^4.1.0 version: 4.1.0 @@ -61,7 +61,7 @@ importers: version: 4.0.1 next: specifier: 13.5.2 - version: 13.5.2(@babel/core@7.24.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3) + version: 13.5.2(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3) openai: specifier: 4.28.0 version: 4.28.0(encoding@0.1.13) @@ -120,6 +120,9 @@ importers: decompress: specifier: ^4.2.1 version: 4.2.1 + domino-ext: + specifier: ^2.1.4 + version: 2.1.4 encoding: specifier: ^0.1.13 version: 0.1.13 @@ -129,6 +132,15 @@ importers: iconv-lite: specifier: ^0.6.3 version: 0.6.3 + isolated-vm: + specifier: 4.7.2 + version: 4.7.2 + joplin-turndown-plugin-gfm: + specifier: ^1.0.12 + version: 1.0.12 + js-tiktoken: + specifier: ^1.0.7 + version: 1.0.7 json5: specifier: ^2.2.3 version: 2.2.3 @@ -146,7 +158,7 @@ importers: version: 1.4.5-lts.1 next: specifier: 13.5.2 - version: 13.5.2(@babel/core@7.24.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3) + version: 13.5.2(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3) nextjs-cors: specifier: ^2.1.2 version: 2.1.2(next@13.5.2) @@ -168,6 +180,9 @@ importers: tunnel: specifier: ^0.0.6 version: 0.0.6 + turndown: + specifier: ^7.1.2 + version: 7.1.2 devDependencies: '@types/cookie': specifier: ^0.5.2 @@ -193,6 +208,9 @@ importers: '@types/tunnel': specifier: ^0.0.4 version: 0.0.4 + '@types/turndown': + specifier: ^5.0.4 + version: 5.0.4 packages/web: dependencies: @@ -229,6 +247,9 @@ importers: '@lexical/react': specifier: 0.12.6 version: 0.12.6(lexical@0.12.6)(react-dom@18.2.0)(react@18.2.0)(yjs@13.6.14) + '@lexical/selection': + specifier: ^0.14.5 + version: 0.14.5 '@lexical/text': specifier: 0.12.6 version: 0.12.6(lexical@0.12.6) @@ -250,9 +271,6 @@ importers: i18next: specifier: 23.10.0 version: 23.10.0 - joplin-turndown-plugin-gfm: - specifier: ^1.0.12 - version: 1.0.12 lexical: specifier: 0.12.6 version: 0.12.6 @@ -283,9 +301,6 @@ importers: react-i18next: specifier: 13.5.0 version: 13.5.0(i18next@23.10.0)(react-dom@18.2.0)(react@18.2.0) - turndown: - specifier: ^7.1.2 - version: 7.1.2 devDependencies: '@types/lodash': specifier: ^4.14.191 @@ -299,9 +314,6 @@ importers: '@types/react-dom': specifier: 18.2.0 version: 18.2.0 - '@types/turndown': - specifier: ^5.0.4 - version: 5.0.4 projects/app: dependencies: @@ -403,7 +415,7 @@ importers: version: 4.0.1 next: specifier: 13.5.2 - version: 13.5.2(@babel/core@7.24.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3) + version: 13.5.2(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3) next-i18next: specifier: 15.2.0 version: 15.2.0(i18next@23.10.0)(next@13.5.2)(react-i18next@13.5.0)(react@18.2.0) @@ -562,17 +574,22 @@ packages: resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} engines: {node: '>=6.9.0'} - /@babel/core@7.24.3: - resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} + /@babel/compat-data@7.24.4: + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.24.4: + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 + '@babel/generator': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) - '@babel/helpers': 7.24.1 - '@babel/parser': 7.24.1 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helpers': 7.24.4 + '@babel/parser': 7.24.4 '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 @@ -584,8 +601,8 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.24.1: - resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} + /@babel/generator@7.24.4: + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 @@ -617,42 +634,60 @@ packages: lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): + /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3): + /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3): + /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4): resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 debug: 4.3.4 @@ -692,13 +727,13 @@ packages: dependencies: '@babel/types': 7.24.0 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.24.3 '@babel/helper-simple-access': 7.22.5 @@ -717,25 +752,25 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: true - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 @@ -781,8 +816,8 @@ packages: '@babel/types': 7.24.0 dev: true - /@babel/helpers@7.24.1: - resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} + /@babel/helpers@7.24.4: + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 @@ -800,972 +835,984 @@ packages: js-tokens: 4.0.0 picocolors: 1.0.0 - /@babel/parser@7.24.1: - resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3): + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3): + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3): + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4): resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==} + /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==} + /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/template': 7.24.0 dev: true - /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-react-constant-elements@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-react-constant-elements@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.3): + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.4): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.3): + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) '@babel/types': 7.24.0 dev: true - /@babel/plugin-transform-react-pure-annotations@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-react-pure-annotations@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/preset-env@7.24.3(@babel/core@7.24.3): - resolution: {integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==} + /@babel/preset-env@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.24.1 - '@babel/core': 7.24.3 + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3) - '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3) - '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3) - '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3) - babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3) - babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3) + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.4) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.4) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.4) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.4) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.4) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.4) core-js-compat: 3.36.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/types': 7.24.0 esutils: 2.0.3 dev: true - /@babel/preset-react@7.24.1(@babel/core@7.24.3): + /@babel/preset-react@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.3) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.3) - '@babel/plugin-transform-react-pure-annotations': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.4) + '@babel/plugin-transform-react-pure-annotations': 7.24.1(@babel/core@7.24.4) dev: true - /@babel/preset-typescript@7.24.1(@babel/core@7.24.3): + /@babel/preset-typescript@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.4) dev: true /@babel/regjsgen@0.8.0: @@ -1783,7 +1830,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 /@babel/traverse@7.24.1: @@ -1791,12 +1838,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 + '@babel/generator': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 debug: 4.3.4 globals: 11.12.0 @@ -2241,7 +2288,7 @@ packages: '@chakra-ui/react': 2.8.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.0)(framer-motion@9.0.6)(react-dom@18.2.0)(react@18.2.0) '@emotion/cache': 11.11.0 '@emotion/react': 11.11.1(@types/react@18.2.0)(react@18.2.0) - next: 13.5.2(@babel/core@7.24.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3) + next: 13.5.2(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3) react: 18.2.0 dev: false @@ -3571,6 +3618,12 @@ packages: lexical: 0.12.6 dev: false + /@lexical/selection@0.14.5: + resolution: {integrity: sha512-uK4X1wOSnlq2xvIIludnPb6i+grtV4IR7Y1Dg7ZGFJfk1q5FWuS9iA3iVjZbSiehgbZef5nDCPRez9WN/F5krA==} + dependencies: + lexical: 0.14.5 + dev: false + /@lexical/table@0.12.6(lexical@0.12.6): resolution: {integrity: sha512-rUh9/fN831T6UpNiPuzx0x6HNi/eQ7W5AQrVBwwzEwkbwAqnE0n28DP924AUbX72UsQNHtywgmDApMoEV7W2iQ==} peerDependencies: @@ -4075,101 +4128,101 @@ packages: resolution: {integrity: sha512-S3Kq8e7LqxkA9s7HKLqXGTGck1uwis5vAXan3FnU5yw1Ec5hsSGnq4s/UCaSqABPOnOTg7zASLyst7+ohgWexg==} dev: true - /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.24.3): + /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.24.4): resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 dev: true - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.3): + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.4): resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 dev: true - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.3): + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.4): resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 dev: true - /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.24.3): + /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.24.4): resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 dev: true - /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.24.3): + /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.24.4): resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 dev: true - /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.24.3): + /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.24.4): resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 dev: true - /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.24.3): + /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.24.4): resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 dev: true - /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.24.3): + /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.24.4): resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} engines: {node: '>=12'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 dev: true - /@svgr/babel-preset@6.5.1(@babel/core@7.24.3): + /@svgr/babel-preset@6.5.1(@babel/core@7.24.4): resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.24.3) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.24.3) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.24.3) - '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.24.3) - '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.24.3) - '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.24.3) - '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.24.3) - '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.24.4) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.24.4) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.24.4) + '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.24.4) + '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.24.4) + '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.24.4) + '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.24.4) + '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.24.4) dev: true /@svgr/core@6.5.1: resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.24.3 - '@svgr/babel-preset': 6.5.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@svgr/babel-preset': 6.5.1(@babel/core@7.24.4) '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) camelcase: 6.3.0 cosmiconfig: 7.1.0 @@ -4191,8 +4244,8 @@ packages: peerDependencies: '@svgr/core': ^6.0.0 dependencies: - '@babel/core': 7.24.3 - '@svgr/babel-preset': 6.5.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@svgr/babel-preset': 6.5.1(@babel/core@7.24.4) '@svgr/core': 6.5.1 '@svgr/hast-util-to-babel-ast': 6.5.1 svg-parser: 2.0.4 @@ -4216,11 +4269,11 @@ packages: resolution: {integrity: sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.24.3 - '@babel/plugin-transform-react-constant-elements': 7.24.1(@babel/core@7.24.3) - '@babel/preset-env': 7.24.3(@babel/core@7.24.3) - '@babel/preset-react': 7.24.1(@babel/core@7.24.3) - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/plugin-transform-react-constant-elements': 7.24.1(@babel/core@7.24.4) + '@babel/preset-env': 7.24.4(@babel/core@7.24.4) + '@babel/preset-react': 7.24.1(@babel/core@7.24.4) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) '@svgr/core': 6.5.1 '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) @@ -5149,38 +5202,38 @@ packages: resolve: 1.22.8 dev: false - /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3): + /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4): resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.24.1 - '@babel/core': 7.24.3 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.4 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3): + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) core-js-compat: 3.36.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3): + /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4): resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) transitivePeerDependencies: - supports-color dev: true @@ -5214,6 +5267,14 @@ packages: safe-buffer: 5.2.1 dev: false + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + /bluebird@3.4.7: resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==} dev: false @@ -5547,6 +5608,10 @@ packages: optionalDependencies: fsevents: 2.3.3 + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: false + /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -5845,6 +5910,13 @@ packages: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true + /cron-parser@4.9.0: + resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} + engines: {node: '>=12.0.0'} + dependencies: + luxon: 3.4.4 + dev: false + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -6292,6 +6364,13 @@ packages: dev: false optional: true + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: false + /decompress-tar@4.1.1: resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} engines: {node: '>=4'} @@ -6352,6 +6431,11 @@ packages: type-detect: 4.0.8 dev: true + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: false + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -6419,7 +6503,6 @@ packages: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false - optional: true /detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} @@ -6515,6 +6598,10 @@ packages: domelementtype: 2.3.0 dev: false + /domino-ext@2.1.4: + resolution: {integrity: sha512-t8piRI9Qahd4V/NqnCcqdBWsQ4OYeOvcTuoHl38Pzk9OJJ/UiCYHA2jX2fACmBtDlSMiWa0uR524KuLEAMc/3Q==} + dev: false + /domino@2.1.6: resolution: {integrity: sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==} dev: false @@ -7350,6 +7437,11 @@ packages: strip-final-newline: 3.0.0 dev: true + /expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + dev: false + /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} @@ -7702,6 +7794,10 @@ packages: resolve-pkg-maps: 1.0.0 dev: true + /github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + dev: false + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -8069,6 +8165,10 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: false + /inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} dev: false @@ -8368,6 +8468,14 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true + /isolated-vm@4.7.2: + resolution: {integrity: sha512-JVEs5gzWObzZK5+OlBplCdYSpokMcdhLSs/xWYYxmYWVfOOFF4oZJsYh7E/FmfX8e7gMioXMpMMeEyX1afuKrg==} + engines: {node: '>=16.0.0'} + requiresBuild: true + dependencies: + prebuild-install: 7.1.2 + dev: false + /isomorphic-timers-promises@1.0.1: resolution: {integrity: sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==} engines: {node: '>=10'} @@ -8583,6 +8691,10 @@ packages: resolution: {integrity: sha512-Nlfjc+k9cIWpOMv7XufF0Mv09TAXSemNAuAqFLaOwTcN+RvhvYTDtVLSp9D9r+5I097fYs1Vf/UYwH2xEpkFfQ==} dev: false + /lexical@0.14.5: + resolution: {integrity: sha512-ouV7Gyr9+3WT3WTrCgRAD3iZnlJWfs2/kBl2x3J2Q3X9uCWJn/zn21fQ8G1EUHlu0dvXPBmdk9hXb/FjTClt6Q==} + dev: false + /lib0@0.2.93: resolution: {integrity: sha512-M5IKsiFJYulS+8Eal8f+zAqf5ckm1vffW0fFDxfgxJ+uiVopvDdd3PxJmz0GsVi3YNO7QCFSq0nAsiDmNhLj9Q==} engines: {node: '>=16'} @@ -8766,6 +8878,11 @@ packages: dependencies: yallist: 4.0.0 + /luxon@3.4.4: + resolution: {integrity: sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==} + engines: {node: '>=12'} + dev: false + /make-dir@1.3.0: resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} engines: {node: '>=4'} @@ -9339,6 +9456,11 @@ packages: dev: false optional: true + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: false + /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} dev: true @@ -9378,6 +9500,10 @@ packages: dev: false optional: true + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + dev: false + /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -9487,6 +9613,7 @@ packages: /nan@2.19.0: resolution: {integrity: sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==} + requiresBuild: true dev: false optional: true @@ -9501,6 +9628,10 @@ packages: hasBin: true dev: false + /napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + dev: false + /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -9525,11 +9656,11 @@ packages: hoist-non-react-statics: 3.3.2 i18next: 23.10.0 i18next-fs-backend: 2.3.1 - next: 13.5.2(@babel/core@7.24.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3) + next: 13.5.2(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3) react: 18.2.0 react-i18next: 13.5.0(i18next@23.10.0)(react-dom@18.2.0)(react@18.2.0) - /next@13.5.2(@babel/core@7.24.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3): + /next@13.5.2(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3): resolution: {integrity: sha512-vog4UhUaMYAzeqfiAAmgB/QWLW7p01/sg+2vn6bqc/CxHFYizMzLv6gjxKzl31EVFkfl/F+GbxlKizlkTE9RdA==} engines: {node: '>=16.14.0'} hasBin: true @@ -9552,7 +9683,7 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) sass: 1.58.3 - styled-jsx: 5.1.1(@babel/core@7.24.3)(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.24.4)(react@18.2.0) watchpack: 2.4.0 zod: 3.21.4 optionalDependencies: @@ -9575,7 +9706,14 @@ packages: next: ^8.1.1-canary.54 || ^9.0.0 || ^10.0.0-0 || ^11.0.0 || ^12.0.0 || ^13.0.0 dependencies: cors: 2.8.5 - next: 13.5.2(@babel/core@7.24.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3) + next: 13.5.2(@babel/core@7.24.4)(react-dom@18.2.0)(react@18.2.0)(sass@1.58.3) + dev: false + + /node-abi@3.59.0: + resolution: {integrity: sha512-HyyfzvTLCE8b1SX2nWimlra8cibEsypcSu/Az4SXMhWhtuctkwAX7qsEYNjUOIoYtPV884oN3wtYTN+iZKBtvw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 dev: false /node-cron@3.0.3: @@ -10156,6 +10294,25 @@ packages: dependencies: xtend: 4.0.2 + /prebuild-install@7.1.2: + resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + detect-libc: 2.0.3 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.59.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: false + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -10231,6 +10388,13 @@ packages: safe-buffer: 5.2.1 dev: true + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + /punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} dev: true @@ -10289,6 +10453,16 @@ packages: unpipe: 1.0.0 dev: false + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: false + /react-clientside-effect@1.2.6(react@18.2.0): resolution: {integrity: sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==} peerDependencies: @@ -10983,7 +11157,6 @@ packages: /simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} dev: false - optional: true /simple-get@3.1.1: resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==} @@ -10994,6 +11167,14 @@ packages: dev: false optional: true + /simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -11224,6 +11405,11 @@ packages: engines: {node: '>=12'} dev: true + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: false + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -11243,7 +11429,7 @@ packages: inline-style-parser: 0.1.1 dev: false - /styled-jsx@5.1.1(@babel/core@7.24.3)(react@18.2.0): + /styled-jsx@5.1.1(@babel/core@7.24.4)(react@18.2.0): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -11256,7 +11442,7 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 client-only: 0.0.1 react: 18.2.0 @@ -11308,6 +11494,15 @@ packages: engines: {node: '>=6'} dev: true + /tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: false + /tar-stream@1.6.2: resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} engines: {node: '>= 0.8.0'} @@ -11321,6 +11516,17 @@ packages: xtend: 4.0.2 dev: false + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + /tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} @@ -11472,6 +11678,12 @@ packages: resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} dev: true + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: false + /tunnel@0.0.6: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} diff --git a/projects/app/data/pluginTemplates/customFeedback.json b/projects/app/data/pluginTemplates/customFeedback.json index 9ef9e35f24..a88818aa4d 100644 --- a/projects/app/data/pluginTemplates/customFeedback.json +++ b/projects/app/data/pluginTemplates/customFeedback.json @@ -2,7 +2,7 @@ "author": "FastGPT Team", "templateType": "other", "name": "自定义反馈", - "avatar": "/imgs/module/customFeedback.svg", + "avatar": "/imgs/workflow/customFeedback.svg", "intro": "该模块被触发时,会给当前的对话记录增加一条反馈。可用于自动记录对话效果等。", "showStatus": false, "isTool": false, @@ -177,7 +177,7 @@ "key": "DYNAMIC_INPUT_KEY", "type": "target", "valueType": "any", - "label": "core.module.inputType.dynamicTargetInput", + "label": "core.workflow.inputType.dynamicTargetInput", "description": "core.module.input.description.dynamic input", "required": false, "showTargetInApp": false, diff --git a/projects/app/data/pluginTemplates/getCurrentTime.json b/projects/app/data/pluginTemplates/getCurrentTime.json index 235b1f9c6c..79eaf38a17 100644 --- a/projects/app/data/pluginTemplates/getCurrentTime.json +++ b/projects/app/data/pluginTemplates/getCurrentTime.json @@ -2,194 +2,130 @@ "author": "FastGPT Team", "templateType": "tools", "name": "获取当前时间", - "avatar": "/imgs/module/getCurrentTime.svg", + "avatar": "/imgs/workflow/getCurrentTime.svg", "intro": "获取用户当前时区的时间。", "showStatus": false, "isTool": true, "weight": 10, - "modules": [ + "nodes": [ { - "moduleId": "m8dupj", + "nodeId": "lmpb9v2lo2lk", "name": "定义插件输入", "intro": "自定义配置外部输入,使用插件时,仅暴露自定义配置的输入", - "avatar": "/imgs/module/input.png", - "flowType": "pluginInput", + "avatar": "/imgs/workflow/input.png", + "flowNodeType": "pluginInput", "showStatus": false, "position": { - "x": 187.94161749205568, - "y": 179.78772129776746 + "x": 616.4226348688949, + "y": -165.05298493910115 }, - "inputs": [ - { - "key": "pluginStart", - "type": "hidden", - "valueType": "boolean", - "label": "插件开始运行", - "description": "插件开始运行时,会输出一个 True 的标识。有时候,插件不会有额外的的输入,为了顺利的进入下一个阶段,你可以将该值连接到下一个节点的触发器中。", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - } - ], - "outputs": [ - { - "key": "pluginStart", - "label": "插件开始运行", - "type": "source", - "valueType": "boolean", - "targets": [ - { - "moduleId": "cv13yt", - "key": "switch" - } - ] - } - ] + "inputs": [], + "outputs": [] }, { - "moduleId": "bjsa7r", + "nodeId": "i7uow4wj2wdp", "name": "定义插件输出", "intro": "自定义配置外部输出,使用插件时,仅暴露自定义配置的输出", - "avatar": "/imgs/module/output.png", - "flowType": "pluginOutput", + "avatar": "/imgs/workflow/output.png", + "flowNodeType": "pluginOutput", "showStatus": false, "position": { - "x": 1176.9471084832217, - "y": 138.94098316727695 + "x": 1607.7142331269126, + "y": -151.8669210746189 }, "inputs": [ { "key": "time", "valueType": "string", "label": "time", - "type": "target", - "required": true, + "renderTypeList": ["reference"], + "required": false, "description": "", - "edit": true, + "canEdit": true, "editField": { "key": true, - "name": true, "description": true, - "required": false, - "dataType": true, - "inputType": false + "valueType": true }, - "connected": true + "value": ["WNUvWwYBUfEr", "HdIl1GWi0tnc"] } ], - "outputs": [ - { - "key": "time", - "valueType": "string", - "label": "time", - "type": "source", - "edit": true, - "targets": [] - } - ] + "outputs": [] }, { - "moduleId": "cv13yt", + "nodeId": "WNUvWwYBUfEr", "name": "文本加工", "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", - "avatar": "/imgs/module/textEditor.svg", - "flowType": "pluginModule", + "flowNodeType": "pluginModule", "showStatus": false, "position": { - "x": 600.7190079155914, - "y": 1.4754510232677944 + "x": 1030.0794269310472, + "y": -350.61013802286885 }, "inputs": [ { - "key": "pluginId", - "type": "hidden", - "label": "", - "value": "community-textEditor", - "valueType": "string", - "connected": false, - "showTargetInApp": false, - "showTargetInPlugin": false - }, - { - "key": "switch", - "type": "triggerAndFinish", - "label": "", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": true - }, - { - "key": "textarea", - "valueType": "string", - "label": "文本内容", - "type": "textarea", - "required": true, - "description": "可以通过 {{key}} 的方式引用传入的变量。变量仅支持字符串或数字。", - "edit": false, + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": ["addInputParam"], + "required": false, + "description": "", + "canEdit": false, + "value": "", "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true, - "inputType": true + "key": true }, - "connected": false, - "placeholder": "可以通过 {{key}} 的方式引用传入的变量。变量仅支持字符串或数字。", - "value": "{{cTime}}" + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } }, { - "key": "DYNAMIC_INPUT_KEY", - "valueType": "any", - "label": "需要加工的输入", - "type": "addInputParam", - "required": false, - "description": "可动态的添加字符串类型变量,在文本编辑中通过 {{key}} 使用变量。非字符串类型,会自动转成字符串类型。", - "edit": false, + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": ["textarea"], + "required": true, + "description": "", + "canEdit": false, + "value": "{{cTime}}", "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true, - "inputType": false + "key": true }, - "defaultEditField": { - "label": "", - "key": "", - "description": "", - "inputType": "target", + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", "valueType": "string", "required": true - }, - "connected": false + } } ], "outputs": [ { + "id": "HdIl1GWi0tnc", "key": "text", "valueType": "string", - "label": "core.module.output.label.text", - "type": "source", - "edit": false, - "targets": [ - { - "moduleId": "bjsa7r", - "key": "time" - } - ] - }, - { - "key": "finish", - "label": "", - "description": "", - "valueType": "boolean", - "type": "hidden", - "targets": [] + "label": "text", + "type": "static", + "canEdit": false } - ] + ], + "pluginId": "community-textEditor" + } + ], + "edges": [ + { + "source": "lmpb9v2lo2lk", + "target": "WNUvWwYBUfEr", + "sourceHandle": "lmpb9v2lo2lk-source-right", + "targetHandle": "WNUvWwYBUfEr-target-left" + }, + { + "source": "WNUvWwYBUfEr", + "target": "i7uow4wj2wdp", + "sourceHandle": "WNUvWwYBUfEr-source-right", + "targetHandle": "i7uow4wj2wdp-target-left" } ] } diff --git a/projects/app/data/pluginTemplates/textEditor.json b/projects/app/data/pluginTemplates/textEditor.json index f562f3ec2e..c280dd5caa 100644 --- a/projects/app/data/pluginTemplates/textEditor.json +++ b/projects/app/data/pluginTemplates/textEditor.json @@ -2,16 +2,18 @@ "author": "FastGPT Team", "templateType": "tools", "name": "文本加工", - "avatar": "/imgs/module/textEditor.svg", + "avatar": "/imgs/workflow/textEditor.svg", "intro": "可对固定或传入的文本进行加工后输出,非字符串类型数据最终会转成字符串类型。", "showStatus": false, "isTool": false, "weight": 100, - "modules": [ + "nodes": [ { - "moduleId": "w90mfp", + "nodeId": "lmpb9v2lo2lk", "name": "定义插件输入", - "flowType": "pluginInput", + "intro": "自定义配置外部输入,使用插件时,仅暴露自定义配置的输入", + "avatar": "/imgs/workflow/input.png", + "flowNodeType": "pluginInput", "showStatus": false, "position": { "x": 616.4226348688949, @@ -19,313 +21,223 @@ }, "inputs": [ { - "key": "textarea", - "valueType": "string", - "label": "文本内容", - "type": "textarea", - "required": true, - "description": "可以通过 {{key}} 的方式引用传入的变量。变量仅支持字符串或数字。", - "edit": true, + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "renderTypeList": ["addInputParam"], + "required": false, + "description": "", + "canEdit": true, + "value": "", "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true, - "inputType": true + "key": true }, - "connected": true + "dynamicParamDefaultValue": { + "inputType": "reference", + "valueType": "string", + "required": true + } }, { - "key": "DYNAMIC_INPUT_KEY", - "valueType": "any", - "label": "需要加工的输入", - "type": "addInputParam", - "required": false, - "description": "可动态的添加字符串类型变量,在文本编辑中通过 {{key}} 使用变量。非字符串类型,会自动转成字符串类型。", - "edit": true, + "key": "文本", + "valueType": "string", + "label": "文本", + "renderTypeList": ["textarea"], + "required": true, + "description": "", + "canEdit": true, + "value": "", "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true, - "inputType": false + "key": true }, - "defaultEditField": { - "label": "", - "key": "", - "description": "", - "inputType": "target", + "maxLength": "", + "dynamicParamDefaultValue": { + "inputType": "reference", "valueType": "string", "required": true - }, - "connected": true + } } ], "outputs": [ { - "key": "textarea", + "id": "ILc8GS7iU53M", + "key": "文本", "valueType": "string", - "label": "文本内容", - "type": "source", - "edit": true, - "targets": [ - { - "moduleId": "49de3g", - "key": "text" - } - ] + "label": "文本", + "type": "static" }, { - "key": "DYNAMIC_INPUT_KEY", - "valueType": "any", - "label": "需要加工的输入", - "type": "source", - "edit": true, - "targets": [ - { - "moduleId": "49de3g", - "key": "DYNAMIC_INPUT_KEY" - } - ] + "id": "2LCxDnOSculb", + "key": "system_addInputParam", + "valueType": "dynamic", + "label": "动态外部数据", + "type": "static" } ] }, { - "moduleId": "tze1ju", + "nodeId": "i7uow4wj2wdp", "name": "定义插件输出", - "flowType": "pluginOutput", + "intro": "自定义配置外部输出,使用插件时,仅暴露自定义配置的输出", + "avatar": "/imgs/workflow/output.png", + "flowNodeType": "pluginOutput", "showStatus": false, "position": { "x": 1607.7142331269126, - "y": -145.93201540017395 + "y": -151.8669210746189 }, "inputs": [ { "key": "text", "valueType": "string", - "label": "core.module.output.label.text", - "type": "target", - "required": true, + "label": "text", + "renderTypeList": ["reference"], + "required": false, "description": "", - "edit": true, + "canEdit": true, "editField": { "key": true, - "name": true, "description": true, - "required": false, - "dataType": true, - "inputType": false + "valueType": true }, - "connected": true + "value": ["CRT7oIEU8v2P", "vooswj3VxKW8"] } ], "outputs": [ { + "id": "HdIl1GWi0tnc", "key": "text", "valueType": "string", - "label": "core.module.output.label.text", - "type": "source", - "edit": true, - "targets": [] + "label": "text", + "type": "static" } ] }, { - "moduleId": "49de3g", - "name": "HTTP模块", - "flowType": "httpRequest468", + "nodeId": "CRT7oIEU8v2P", + "name": "HTTP 请求", + "intro": "可以发出一个 HTTP 请求,实现更为复杂的操作(联网搜索、数据库查询等)", + "avatar": "/imgs/workflow/http.png", + "flowNodeType": "httpRequest468", "showStatus": true, "position": { - "x": 1086.8929621216014, - "y": -451.7550009773506 + "x": 1070.8458389994719, + "y": -415.09022555407836 }, "inputs": [ { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false + "key": "system_addInputParam", + "renderTypeList": ["addInputParam"], + "valueType": "dynamic", + "label": "", + "required": false, + "description": "core.module.input.description.HTTP Dynamic Input", + "editField": { + "key": true, + "valueType": true + }, + "value": ["lmpb9v2lo2lk", "2LCxDnOSculb"] + }, + { + "key": "text", + "valueType": "string", + "label": "text", + "renderTypeList": ["reference"], + "description": "", + "canEdit": true, + "editField": { + "key": true, + "valueType": true + }, + "value": ["lmpb9v2lo2lk", "ILc8GS7iU53M"] }, { "key": "system_httpMethod", - "type": "custom", + "renderTypeList": ["custom"], "valueType": "string", "label": "", "value": "POST", - "list": [ - { - "label": "GET", - "value": "GET" - }, - { - "label": "POST", - "value": "POST" - } - ], - "required": true, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false + "required": true }, { "key": "system_httpReqUrl", - "type": "hidden", + "renderTypeList": ["hidden"], "valueType": "string", "label": "", "description": "core.module.input.description.Http Request Url", "placeholder": "https://api.ai.com/getInventory", "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "/api/plugins/textEditor", - "connected": false + "value": "/api/plugins/textEditor" }, { "key": "system_httpHeader", - "type": "custom", + "renderTypeList": ["custom"], "valueType": "any", - "value": "", + "value": [], "label": "", "description": "core.module.input.description.Http Request Header", "placeholder": "core.module.input.description.Http Request Header", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false + "required": false }, { "key": "system_httpParams", - "type": "hidden", + "renderTypeList": ["hidden"], "valueType": "any", "value": [], "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false + "required": false }, { "key": "system_httpJsonBody", - "type": "hidden", + "renderTypeList": ["hidden"], "valueType": "any", - "value": "{\r\n \"text\": \"{{text}}\"\r\n}", + "value": "{\r\n \"text\":\"{{text}}\",\r\n \"system_addInputParam\": {{system_addInputParam}}\r\n}", "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "DYNAMIC_INPUT_KEY", - "type": "target", - "valueType": "any", - "label": "core.module.inputType.dynamicTargetInput", - "description": "core.module.input.description.dynamic input", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": true, - "hideInApp": true, - "connected": true - }, - { - "key": "text", - "valueType": "string", - "label": "text", - "type": "target", - "required": true, - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true - }, - "connected": true - }, - { - "key": "system_addInputParam", - "type": "addInputParam", - "valueType": "any", - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true - }, - "defaultEditField": { - "label": "", - "key": "", - "description": "", - "inputType": "target", - "valueType": "string", - "required": true - }, - "connected": false + "required": false } ], "outputs": [ { - "key": "finish", - "label": "core.module.output.label.running done", - "description": "core.module.output.description.running done", - "valueType": "boolean", - "type": "hidden", - "targets": [] - }, - { + "id": "system_addOutputParam", "key": "system_addOutputParam", - "type": "addOutputParam", - "valueType": "any", + "type": "dynamic", + "valueType": "dynamic", "label": "", - "targets": [], "editField": { "key": true, - "name": true, - "description": true, - "dataType": true - }, - "defaultEditField": { - "label": "", - "key": "", - "description": "", - "outputType": "source", - "valueType": "string" + "valueType": true } }, { - "type": "source", - "valueType": "string", + "id": "httpRawResponse", + "key": "httpRawResponse", + "label": "原始响应", + "description": "HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。", + "valueType": "any", + "type": "static" + }, + { + "id": "vooswj3VxKW8", + "type": "dynamic", "key": "text", - "label": "core.module.output.label.text", - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "dataType": true - }, - "targets": [ - { - "moduleId": "tze1ju", - "key": "text" - } - ] + "valueType": "string", + "label": "text" } ] } + ], + "edges": [ + { + "source": "lmpb9v2lo2lk", + "target": "CRT7oIEU8v2P", + "sourceHandle": "lmpb9v2lo2lk-source-right", + "targetHandle": "CRT7oIEU8v2P-target-left" + }, + { + "source": "CRT7oIEU8v2P", + "target": "i7uow4wj2wdp", + "sourceHandle": "CRT7oIEU8v2P-source-right", + "targetHandle": "i7uow4wj2wdp-target-left" + } ] } diff --git a/projects/app/data/pluginTemplates/tfSwitch.json b/projects/app/data/pluginTemplates/tfSwitch.json deleted file mode 100644 index 797cb67cc5..0000000000 --- a/projects/app/data/pluginTemplates/tfSwitch.json +++ /dev/null @@ -1,368 +0,0 @@ -{ - "author": "FastGPT Team", - "templateType": "tools", - "name": "判断器", - "avatar": "/imgs/module/tfSwitch.svg", - "intro": "根据传入的内容进行 True False 输出。默认情况下,当传入的内容为 false, undefined, null, 0, none 时,会输出 false。你也可以增加一些自定义的字符串来补充输出 false 的内容。非字符、非数字、非布尔类型,直接输出 True。", - "showStatus": false, - "isTool": false, - "weight": 10, - "modules": [ - { - "moduleId": "w90mfp", - "name": "定义插件输入", - "flowType": "pluginInput", - "showStatus": false, - "position": { - "x": 616.4226348688949, - "y": -165.05298493910115 - }, - "inputs": [ - { - "key": "input", - "valueType": "any", - "type": "target", - "label": "core.module.input.label.TFSwitch input tip", - "required": true, - "edit": true, - "connected": true - }, - { - "key": "rule", - "valueType": "string", - "label": "core.module.input.label.TFSwitch textarea", - "type": "textarea", - "required": false, - "description": "core.module.input.description.TFSwitch textarea", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true, - "inputType": true - }, - "connected": true - } - ], - "outputs": [ - { - "key": "input", - "valueType": "any", - "label": "core.module.input.label.TFSwitch input tip", - "type": "source", - "edit": true, - "targets": [ - { - "moduleId": "8kld99", - "key": "input" - } - ] - }, - { - "key": "rule", - "valueType": "string", - "label": "core.module.input.label.TFSwitch textarea", - "type": "source", - "edit": true, - "targets": [ - { - "moduleId": "8kld99", - "key": "rule" - } - ] - } - ] - }, - { - "moduleId": "tze1ju", - "name": "定义插件输出", - "flowType": "pluginOutput", - "showStatus": false, - "position": { - "x": 1985.3791673445353, - "y": -144.90535546692078 - }, - "inputs": [ - { - "key": "true", - "type": "target", - "valueType": "boolean", - "label": "True", - "required": true, - "edit": true, - "connected": true, - "description": "" - }, - { - "key": "false", - "valueType": "boolean", - "label": "False", - "type": "target", - "required": true, - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "required": false, - "dataType": true, - "inputType": false - }, - "connected": true - } - ], - "outputs": [ - { - "key": "true", - "valueType": "boolean", - "label": "True", - "type": "source", - "edit": true, - "targets": [] - }, - { - "key": "false", - "valueType": "boolean", - "label": "False", - "type": "source", - "edit": true, - "targets": [] - } - ] - }, - { - "moduleId": "8kld99", - "name": "HTTP模块", - "flowType": "httpRequest468", - "showStatus": true, - "position": { - "x": 1210.560012858087, - "y": -387.62433050951756 - }, - "inputs": [ - { - "key": "switch", - "type": "target", - "label": "core.module.input.label.switch", - "description": "core.module.input.description.Trigger", - "valueType": "any", - "showTargetInApp": true, - "showTargetInPlugin": true, - "connected": false - }, - { - "key": "system_httpMethod", - "type": "custom", - "valueType": "string", - "label": "", - "value": "POST", - "list": [ - { - "label": "GET", - "value": "GET" - }, - { - "label": "POST", - "value": "POST" - } - ], - "required": true, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpReqUrl", - "type": "hidden", - "valueType": "string", - "label": "", - "description": "core.module.input.description.Http Request Url", - "placeholder": "https://api.ai.com/getInventory", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "value": "/api/plugins/TFSwitch", - "connected": false - }, - { - "key": "system_httpHeader", - "type": "custom", - "valueType": "any", - "label": "", - "description": "core.module.input.description.Http Request Header", - "placeholder": "core.module.input.description.Http Request Header", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpParams", - "type": "hidden", - "valueType": "any", - "value": [], - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "system_httpJsonBody", - "type": "hidden", - "valueType": "any", - "value": "{\r\n \"input\": \"{{input}}\",\r\n \"rule\": \"{{rule}}\"\r\n}", - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "connected": false - }, - { - "key": "DYNAMIC_INPUT_KEY", - "type": "target", - "valueType": "any", - "label": "core.module.inputType.dynamicTargetInput", - "description": "core.module.input.description.dynamic input", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": true, - "hideInApp": true, - "connected": false - }, - { - "key": "input", - "valueType": "any", - "label": "input", - "type": "target", - "required": true, - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true - }, - "connected": true - }, - { - "key": "rule", - "valueType": "string", - "label": "rule", - "type": "target", - "required": false, - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true - }, - "connected": true - }, - { - "key": "system_addInputParam", - "type": "addInputParam", - "valueType": "any", - "label": "", - "required": false, - "showTargetInApp": false, - "showTargetInPlugin": false, - "editField": { - "key": true, - "name": true, - "description": true, - "required": true, - "dataType": true - }, - "defaultEditField": { - "label": "", - "key": "", - "description": "", - "inputType": "target", - "valueType": "string", - "required": true - }, - "connected": false - } - ], - "outputs": [ - { - "key": "finish", - "label": "core.module.output.label.running done", - "description": "core.module.output.description.running done", - "valueType": "boolean", - "type": "hidden", - "targets": [] - }, - { - "key": "system_addOutputParam", - "type": "addOutputParam", - "valueType": "any", - "label": "", - "targets": [], - "editField": { - "key": true, - "name": true, - "description": true, - "dataType": true - }, - "defaultEditField": { - "label": "", - "key": "", - "description": "", - "outputType": "source", - "valueType": "string" - } - }, - { - "type": "source", - "valueType": "boolean", - "key": "true", - "label": "true", - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "dataType": true - }, - "targets": [ - { - "moduleId": "tze1ju", - "key": "true" - } - ] - }, - { - "type": "source", - "valueType": "boolean", - "key": "false", - "label": "false", - "description": "", - "edit": true, - "editField": { - "key": true, - "name": true, - "description": true, - "dataType": true - }, - "targets": [ - { - "moduleId": "tze1ju", - "key": "false" - } - ] - } - ] - } - ] -} diff --git a/projects/app/next.config.js b/projects/app/next.config.js index ef9310e531..a23e9f6680 100644 --- a/projects/app/next.config.js +++ b/projects/app/next.config.js @@ -8,15 +8,6 @@ const nextConfig = { reactStrictMode: process.env.NODE_ENV === 'development' ? false : true, compress: true, webpack(config, { isServer }) { - if (!isServer) { - config.resolve = { - ...config.resolve, - fallback: { - ...config.resolve.fallback, - fs: false - } - }; - } Object.assign(config.resolve.alias, { '@mongodb-js/zstd': false, '@aws-sdk/credential-providers': false, @@ -41,6 +32,45 @@ const nextConfig = { unknownContextCritical: false }; + if (isServer) { + config.externals.push('isolated-vm'); + config.externals.push('worker_threads'); + + if (config.name === 'server') { + // config.output.globalObject = 'self'; + + const oldEntry = config.entry; + config = { + ...config, + async entry(...args) { + const entries = await oldEntry(...args); + return { + ...entries, + 'worker/htmlStr2Md': path.resolve( + process.cwd(), + '../../packages/service/worker/htmlStr2Md.ts' + ), + 'worker/countGptMessagesTokens': path.resolve( + process.cwd(), + '../../packages/service/worker/tiktoken/countGptMessagesTokens.ts' + ) + }; + } + }; + } + } else { + config.resolve = { + ...config.resolve, + fallback: { + ...config.resolve.fallback, + fs: false + } + }; + if (!config.externals) { + config.externals = []; + } + } + return config; }, transpilePackages: ['@fastgpt/*'], diff --git a/projects/app/package.json b/projects/app/package.json index 2c6c0800a0..c1bf39783d 100644 --- a/projects/app/package.json +++ b/projects/app/package.json @@ -23,6 +23,7 @@ "@fastgpt/service": "workspace:*", "@fastgpt/web": "workspace:*", "@fortaine/fetch-event-source": "^3.0.6", + "@node-rs/jieba": "1.10.0", "@tanstack/react-query": "^4.24.10", "@types/nprogress": "^0.2.0", "axios": "^1.5.1", @@ -39,7 +40,6 @@ "jsonwebtoken": "^9.0.2", "lodash": "^4.17.21", "mermaid": "^10.2.3", - "@node-rs/jieba": "1.10.0", "nanoid": "^4.0.1", "next": "13.5.2", "next-i18next": "15.2.0", diff --git a/projects/app/public/imgs/module/AI.png b/projects/app/public/imgs/workflow/AI.png similarity index 100% rename from projects/app/public/imgs/module/AI.png rename to projects/app/public/imgs/workflow/AI.png diff --git a/projects/app/public/imgs/module/ai.svg b/projects/app/public/imgs/workflow/ai.svg similarity index 100% rename from projects/app/public/imgs/module/ai.svg rename to projects/app/public/imgs/workflow/ai.svg diff --git a/projects/app/public/imgs/module/app.png b/projects/app/public/imgs/workflow/app.png similarity index 100% rename from projects/app/public/imgs/module/app.png rename to projects/app/public/imgs/workflow/app.png diff --git a/projects/app/public/imgs/module/cfr.svg b/projects/app/public/imgs/workflow/cfr.svg similarity index 100% rename from projects/app/public/imgs/module/cfr.svg rename to projects/app/public/imgs/workflow/cfr.svg diff --git a/projects/app/public/imgs/module/concat.svg b/projects/app/public/imgs/workflow/concat.svg similarity index 100% rename from projects/app/public/imgs/module/concat.svg rename to projects/app/public/imgs/workflow/concat.svg diff --git a/projects/app/public/imgs/module/cq.png b/projects/app/public/imgs/workflow/cq.png similarity index 100% rename from projects/app/public/imgs/module/cq.png rename to projects/app/public/imgs/workflow/cq.png diff --git a/projects/app/public/imgs/module/custom.png b/projects/app/public/imgs/workflow/custom.png similarity index 100% rename from projects/app/public/imgs/module/custom.png rename to projects/app/public/imgs/workflow/custom.png diff --git a/projects/app/public/imgs/module/customFeedback.svg b/projects/app/public/imgs/workflow/customFeedback.svg similarity index 100% rename from projects/app/public/imgs/module/customFeedback.svg rename to projects/app/public/imgs/workflow/customFeedback.svg diff --git a/projects/app/public/imgs/module/db.png b/projects/app/public/imgs/workflow/db.png similarity index 100% rename from projects/app/public/imgs/module/db.png rename to projects/app/public/imgs/workflow/db.png diff --git a/projects/app/public/imgs/module/extract.png b/projects/app/public/imgs/workflow/extract.png similarity index 100% rename from projects/app/public/imgs/module/extract.png rename to projects/app/public/imgs/workflow/extract.png diff --git a/projects/app/public/imgs/module/getCurrentTime.svg b/projects/app/public/imgs/workflow/getCurrentTime.svg similarity index 100% rename from projects/app/public/imgs/module/getCurrentTime.svg rename to projects/app/public/imgs/workflow/getCurrentTime.svg diff --git a/projects/app/public/imgs/module/history.png b/projects/app/public/imgs/workflow/history.png similarity index 100% rename from projects/app/public/imgs/module/history.png rename to projects/app/public/imgs/workflow/history.png diff --git a/projects/app/public/imgs/module/http.png b/projects/app/public/imgs/workflow/http.png similarity index 100% rename from projects/app/public/imgs/module/http.png rename to projects/app/public/imgs/workflow/http.png diff --git a/projects/app/public/imgs/workflow/ifElse.svg b/projects/app/public/imgs/workflow/ifElse.svg new file mode 100644 index 0000000000..778603921b --- /dev/null +++ b/projects/app/public/imgs/workflow/ifElse.svg @@ -0,0 +1,3 @@ + + + diff --git a/projects/app/public/imgs/module/input.png b/projects/app/public/imgs/workflow/input.png similarity index 100% rename from projects/app/public/imgs/module/input.png rename to projects/app/public/imgs/workflow/input.png diff --git a/projects/app/public/imgs/module/laf.png b/projects/app/public/imgs/workflow/laf.png similarity index 100% rename from projects/app/public/imgs/module/laf.png rename to projects/app/public/imgs/workflow/laf.png diff --git a/projects/app/public/imgs/module/output.png b/projects/app/public/imgs/workflow/output.png similarity index 100% rename from projects/app/public/imgs/module/output.png rename to projects/app/public/imgs/workflow/output.png diff --git a/projects/app/public/imgs/module/plugin.svg b/projects/app/public/imgs/workflow/plugin.svg similarity index 100% rename from projects/app/public/imgs/module/plugin.svg rename to projects/app/public/imgs/workflow/plugin.svg diff --git a/projects/app/public/imgs/module/reply.png b/projects/app/public/imgs/workflow/reply.png similarity index 100% rename from projects/app/public/imgs/module/reply.png rename to projects/app/public/imgs/workflow/reply.png diff --git a/projects/app/public/imgs/module/textEditor.svg b/projects/app/public/imgs/workflow/textEditor.svg similarity index 100% rename from projects/app/public/imgs/module/textEditor.svg rename to projects/app/public/imgs/workflow/textEditor.svg diff --git a/projects/app/public/imgs/module/tfSwitch.svg b/projects/app/public/imgs/workflow/tfSwitch.svg similarity index 100% rename from projects/app/public/imgs/module/tfSwitch.svg rename to projects/app/public/imgs/workflow/tfSwitch.svg diff --git a/projects/app/public/imgs/module/tool.svg b/projects/app/public/imgs/workflow/tool.svg similarity index 100% rename from projects/app/public/imgs/module/tool.svg rename to projects/app/public/imgs/workflow/tool.svg diff --git a/projects/app/public/imgs/module/toolStop.svg b/projects/app/public/imgs/workflow/toolStop.svg similarity index 100% rename from projects/app/public/imgs/module/toolStop.svg rename to projects/app/public/imgs/workflow/toolStop.svg diff --git a/projects/app/public/imgs/module/userChatInput.svg b/projects/app/public/imgs/workflow/userChatInput.svg similarity index 100% rename from projects/app/public/imgs/module/userChatInput.svg rename to projects/app/public/imgs/workflow/userChatInput.svg diff --git a/projects/app/public/imgs/module/userGuide.png b/projects/app/public/imgs/workflow/userGuide.png similarity index 100% rename from projects/app/public/imgs/module/userGuide.png rename to projects/app/public/imgs/workflow/userGuide.png diff --git a/projects/app/public/imgs/module/variable.png b/projects/app/public/imgs/workflow/variable.png similarity index 100% rename from projects/app/public/imgs/module/variable.png rename to projects/app/public/imgs/workflow/variable.png diff --git a/projects/app/public/js/cl100k_base.json b/projects/app/public/js/cl100k_base.json deleted file mode 100644 index 9b81734d84..0000000000 --- a/projects/app/public/js/cl100k_base.json +++ /dev/null @@ -1 +0,0 @@ -{"pat_str":"('s|'S|'t|'T|'re|'rE|'Re|'RE|'ve|'vE|'Ve|'VE|'m|'M|'ll|'lL|'Ll|'LL|'d|'D)|[^\\r\\n\\p{L}\\p{N}]?\\p{L}+|\\p{N}{1,3}| ?[^\\s\\p{L}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+","special_tokens":{"<|endoftext|>":100257,"<|fim_prefix|>":100258,"<|fim_middle|>":100259,"<|fim_suffix|>":100260,"<|endofprompt|>":100276},"bpe_ranks":"! 0 IQ== Ig== Iw== JA== JQ== Jg== Jw== KA== KQ== Kg== Kw== LA== LQ== Lg== Lw== MA== MQ== Mg== Mw== NA== NQ== Ng== Nw== OA== OQ== Og== Ow== PA== PQ== Pg== Pw== QA== QQ== Qg== Qw== RA== RQ== Rg== Rw== SA== SQ== Sg== Sw== TA== TQ== Tg== Tw== UA== UQ== Ug== Uw== VA== VQ== Vg== Vw== WA== WQ== Wg== Ww== XA== XQ== Xg== Xw== YA== YQ== Yg== Yw== ZA== ZQ== Zg== Zw== aA== aQ== ag== aw== bA== bQ== bg== bw== cA== cQ== cg== cw== dA== dQ== dg== dw== eA== eQ== eg== ew== fA== fQ== fg== oQ== og== ow== pA== pQ== pg== pw== qA== qQ== qg== qw== rA== rg== rw== sA== sQ== sg== sw== tA== tQ== tg== tw== uA== uQ== ug== uw== vA== vQ== vg== vw== wA== wQ== wg== ww== xA== xQ== xg== xw== yA== yQ== yg== yw== zA== zQ== zg== zw== 0A== 0Q== 0g== 0w== 1A== 1Q== 1g== 1w== 2A== 2Q== 2g== 2w== 3A== 3Q== 3g== 3w== 4A== 4Q== 4g== 4w== 5A== 5Q== 5g== 5w== 6A== 6Q== 6g== 6w== 7A== 7Q== 7g== 7w== 8A== 8Q== 8g== 8w== 9A== 9Q== 9g== 9w== +A== +Q== +g== +w== /A== /Q== /g== /w== AA== AQ== Ag== Aw== BA== BQ== Bg== Bw== CA== CQ== Cg== Cw== DA== DQ== Dg== Dw== EA== EQ== Eg== Ew== FA== FQ== Fg== Fw== GA== GQ== Gg== Gw== HA== HQ== Hg== Hw== IA== fw== gA== gQ== gg== gw== hA== hQ== hg== hw== iA== iQ== ig== iw== jA== jQ== jg== jw== kA== kQ== kg== kw== lA== lQ== lg== lw== mA== mQ== mg== mw== nA== nQ== ng== nw== oA== rQ== ICA= ICAgIA== aW4= IHQ= ICAgICAgICA= ZXI= ICAg b24= IGE= cmU= YXQ= c3Q= ZW4= b3I= IHRo Cgo= IGM= bGU= IHM= aXQ= YW4= YXI= YWw= IHRoZQ== Owo= IHA= IGY= b3U= ID0= aXM= ICAgICAgIA== aW5n ZXM= IHc= aW9u ZWQ= aWM= IGI= IGQ= ZXQ= IG0= IG8= CQk= cm8= YXM= ZWw= Y3Q= bmQ= IGlu IGg= ZW50 aWQ= IG4= YW0= ICAgICAgICAgICA= IHRv IHJl LS0= IHs= IG9m b20= KTsK aW0= DQo= ICg= aWw= Ly8= IGFuZA== dXI= c2U= IGw= ZXg= IFM= YWQ= ICI= Y2g= dXQ= aWY= Kio= IH0= ZW0= b2w= ICAgICAgICAgICAgICAgIA== dGg= KQo= IHsK IGc= aWc= aXY= LAo= Y2U= b2Q= IHY= YXRl IFQ= YWc= YXk= ICo= b3Q= dXM= IEM= IHN0 IEk= dW4= dWw= dWU= IEE= b3c= ICc= ZXc= IDw= YXRpb24= KCk= IGZvcg== YWI= b3J0 dW0= YW1l IGlz cGU= dHI= Y2s= 4oA= IHk= aXN0 LS0tLQ== LgoK aGU= IGU= bG8= IE0= IGJl ZXJz IG9u IGNvbg== YXA= dWI= IFA= ICAgICAgICAgICAgICAg YXNz aW50 Pgo= bHk= dXJu ICQ= OwoK YXY= cG9ydA== aXI= LT4= bnQ= Y3Rpb24= ZW5k IGRl MDA= aXRo b3V0 dHVybg== b3Vy ICAgICA= bGlj cmVz cHQ= PT0= IHRoaXM= IHdo IGlm IEQ= dmVy YWdl IEI= aHQ= ZXh0 PSI= IHRoYXQ= KioqKg== IFI= IGl0 ZXNz IEY= IHI= b3M= YW5k IGFz ZWN0 a2U= cm9t IC8v Y29u IEw= KCI= cXU= bGFzcw== IHdpdGg= aXo= ZGU= IE4= IGFs b3A= dXA= Z2V0 IH0K aWxl IGFu YXRh b3Jl cmk= IHBybw== Ow0K CQkJCQ== dGVy YWlu IFc= IEU= IGNvbQ== IHJldHVybg== YXJ0 IEg= YWNr aW1wb3J0 dWJsaWM= IG9y ZXN0 bWVudA== IEc= YWJsZQ== IC0= aW5l aWxs aW5k ZXJl Ojo= aXR5 ICs= IHRy ZWxm aWdodA== KCc= b3Jt dWx0 c3Ry Li4= Iiw= IHlvdQ== eXBl cGw= IG5ldw== IGo= ICAgICAgICAgICAgICAgICAgIA== IGZyb20= IGV4 IE8= MjA= bGQ= IFs= b2M= Ogo= IHNl IGxl LS0tLS0tLS0= LnM= ewo= Jyw= YW50 IGF0 YXNl LmM= IGNo PC8= YXZl YW5n IGFyZQ== IGludA== 4oCZ X3Q= ZXJ0 aWFs YWN0 fQo= aXZl b2Rl b3N0 IGNsYXNz IG5vdA== b2c= b3Jk YWx1ZQ== YWxs ZmY= KCk7Cg== b250 aW1l YXJl IFU= IHBy IDo= aWVz aXpl dXJl IGJ5 aXJl IH0KCg== LnA= IHNo aWNl YXN0 cHRpb24= dHJpbmc= b2s= X18= Y2w= IyM= IGhl YXJk KS4= IEA= aWV3 CQkJ IHdhcw== aXA= dGhpcw== IHU= IFRoZQ== aWRl YWNl aWI= YWM= cm91 IHdl amVjdA== IHB1YmxpYw== YWs= dmU= YXRo b2lk ID0+ dXN0 cXVl IHJlcw== KSk= J3M= IGs= YW5z eXN0 dW5jdGlvbg== KioqKioqKio= IGk= IHVz cHA= MTA= b25l YWls PT09PQ== bmFtZQ== IHN0cg== IC8= ICY= YWNo ZGl2 eXN0ZW0= ZWxs IGhhdmU= ZXJy b3VsZA== dWxs cG9u IEo= X3A= ID09 aWdu U3Q= Lgo= IHBs KTsKCg== Zm9ybQ== cHV0 b3VudA== fQoK ZGQ= aXRl IGdldA== cnI= b21l IOKA YXJhbQ== Y2M= ICov RVI= SW4= bGVz X3M= b25n aWU= IGNhbg== IFY= ZXJ2 cHI= IHVu cm93 YmVy IGRv bGw= IGVs IHNlbGY= YXRlZA== YXJ5 IC4= J10= dWQ= IGVu IFRo ICAgICAgICAgICAgICAgICAgICAgICA= dGU= X2M= dWN0 IGFi b3Jr LmdldA== ICM= YXc= cmVzcw== b2I= TmFtZQ== MjAx YXBw Wyc= IGFsbA== b3J5 aXRpb24= YW5jZQ== ZWFy IGNvbnQ= dmVudA== aWE= IHdpbGw= SU4= ICAgICAgICAg cmV0dXJu IDwv ZGF0YQ== KQoK UmU= cGxl aWxk dGhlcg== IHlvdXI= Igo= KCQ= IG91dA== KSw= IGhhcw== U3RyaW5n c28= IHVw YXg= IGRlZg== IGJv Z2U= YWxzZQ== T04= cGVy MTI= aWNo IGJ1dA== IAo= IF8= X20= YWRk cXVlc3Q= b2RlbA== c2VsZg== ZXJ5 ZnQ= ZW5z Ly8vLw== YWtl LkM= IGdv IGZ1bmN0aW9u IEs= aXZhdGU= IGlt IGNvbnN0 LnQ= ICovCg== KTsNCg== IHZvaWQ= IHNldA== IFN5c3RlbQ== Y3Jp KCkK bGk= CWlm Lm0= YWxseQ== c2V0 ZXA= 4oCZcw== Ym8= ZGVm JywK IG1l ICE= YXRjaA== Ij4= IiwK ZWM= IElu cGg= IHw= X2Y= IHZhcg== ZW5jZQ== SWQ= cmVl aW5r bGVjdA== dWc= ZXRo IGVsc2U= LS0tLS0tLS0tLS0tLS0tLQ== MTk= Y29udA== IHNv YXRpYw== IGxv cHJv dG9u c3M= b3du YWJlbA== b2ludA== b3Vz ZWxk U1Q= VGhl ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= UkU= Ijo= b2xvcg== dHA= ZWc= a2V5 dWRl IFN0 b3VuZA== IGFy Iik7Cg== ZW5lcg== c2Vy MTE= YmplY3Q= ZXNzYWdl ZmVy IG1vcmU= YXRpb25z ZW50cw== IGhpcw== IHRoZXk= LlM= IFk= dXNl bmU= aXNo b2xk X2Q= aW8= aWVsZA== IHBlcg== Q29udA== aW5ncw== IyMjIw== IGRhdGE= IHNh ZWY= Zm8= IG9uZQ== ZW5n IGRpcw== QVQ= IG5hbWU= IHRydWU= dmFs bGVk LmY= IG5l IGVuZA== MzI= LlQ= MTY= Y3Jl YXJr bG9n RXg= ZXJyb3I= X2lk dXJyZQ== YW5nZQ== IG51bGw= cnJheQ== IG15 cGFu aWN0 YXRvcg== Vmlldw== TGlzdA== CXJldHVybg== 4oCd IHByZQ== IHg= Y2x1ZGU= YXJn MTU= b3Y= Lmg= ID4= IHRoZWly Jyk= aXJzdA== aWNr Z2g= TEU= T1I= IHByaXZhdGU= dGVt DQoNCg== dXNlcg== ICk= Y29t LkE= IjsK IGlk cmVhZA== IHdobw== X2I= Ij4K IHRpbWU= IG1hbg== cnk= PT09PT09PT0= cm91cA== cm9w cHVibGlj dmVs dW1iZXI= Ymxl IHdoaWNo KioqKioqKioqKioqKioqKg== IGFueQ== IGZhbHNl d2U= IHZhbHVl IGxp Iik= bmRlcg== Z3I= IG5v cGFyYW0= MjU= Zmln LmNvbQ== IGFwcA== X2w= aW9ucw== LkQ= IENo IGFib3V0 IGFkZA== IHN1 IHN0cmluZw== SUQ= IG92ZXI= c3RyaW5n Lmw= b3VyY2U= MDAw X0M= XQo= IHF1 IFN0cmluZw== Y2E= U0U= IHJv c2g= dWFs VHlwZQ== c29u bmV3 ZXJu IGFn QVI= XTsK XS4= ID8= aWNhbA== IGRlcw== dXRo aXg= YXlz IHR5cGU= J3Q= YXVsdA== IGludGVy dmFy LmI= IHBhcnQ= LmQ= dXJyZW50 SVQ= RU4= MzA= ZW5j KGY= cmE= dmFsdWU= Y2hv MTg= dXR0b24= b3Nl MTQ= ICE9 YXRlcg== w6k= cmVhdGU= b2xs cG9z eWxl bmc= QUw= dXNpbmc= YW1lcw== IHsNCg== YXRlcw== ZWx5 IHdvcms= IGVt aW5hbA== IHNw IHdoZW4= LnNldA== ICAgICAg KToK dG8= cXVpcmU= aW5kb3c= bGVtZW50 cGVjdA== YXNo W2k= IHVzZQ== LkY= cGVj IGFk b3Zl Y2VwdGlvbg== ZW5ndGg= aW5jbHVkZQ== YWRlcg== ICAgICAgICAgICAgICAgICAgICAgICAgICAg YXR1cw== VGg= aXRsZQ== cml0 dm9pZA== KCku KAo= IG9mZg== IG90aGVy ICYm JzsK bXM= IGJlZW4= IHRl bWw= Y28= bmM= MTM= ZXJ2aWNl ICU= KioK YW5u YWRl CgoKCg== bG9jaw== Y29uc3Q= MTAw cG9uc2U= IHN1cA== Kys= ZGF0ZQ== IGFjYw== IGhhZA== IGJ1 MjAw IFJl IHdlcmU= IGZpbGU= IHdvdWxk IOKAnA== dmVu aXNz IG91cg== Y2xhc3M= cmF3 IHllYXI= RGF0YQ== IHZhbA== IHNvbWU= ZnRlcg== eXM= IC8vLw== cm91bmQ= dmlldw== IHBl IHRoZXJl IHNhaWQ= ZHU= b2Y= bGluZQ== Lyo= ZHVjdA== IGhlcg== ICAgICAgICAgICAgIA== UmVz IGNv IGNvbW0= aXNl bWlu ICAgIAo= I2luY2x1ZGU= ZXRob2Q= LlA= dXRl IGFzcw== SW50 YXNr bG9j IGxpa2U= b2R5 IGxldA== bG9hZA== IGFt cm9s IGdy eXA= IGFsc28= IEl0 dXJs aWZpYw== b3Jz X1A= X24= aWdo IHRoYW4= Q29t QU4= VUw= YXRpbmc= MTc= IFRoaXM= cmVm X1M= IHN0YXRpYw== cm9sbA== IGp1c3Q= IHJlc3VsdA== aWFu aWR0aA== IHRoZW0= KSk7Cg== ZGVy cmVhaw== Q29u Oi8v dWxl Li4u YXJjaA== ZW1lbnQ= IDw8 NTA= dXNo ZW5zZQ== YXJy IGludG8= Y2Vzcw== YW1w aWVk dW1lbnQ= IFw= XSw= d28= YWxz IHdoYXQ= YW5j VmFsdWU= PSc= b2x1bQ== IHBvcw== YWdlcw== YXllcg== IHNj dWVz IikK X1Q= IGxpc3Q= KHM= IGNhc2U= Q2g= CQkJCQk= Ly8vLy8vLy8= cG9uZW50 IHo= IGtu bGV0 REU= cmVk IGZl IH0sCg== ICw= KHQ= IGZpcnN0 Jyk7Cg== d29yZA== IGltcG9ydA== IGFjdA== IGNoYXI= Q1Q= IFRy b3BsZQ== PXs= CWY= MjQ= aWVudA== Y2VudA== Lmo= bGVjdGlvbg== KSkK IG9ubHk= IHByaW50 bWVy Llc= b2Nr IC0t VGV4dA== IG9w YW5r IGl0cw== IGJhY2s= WyI= IG5lZWQ= IGNs IHN1Yg== IGxh KCg= LiI= T2JqZWN0 IHN0YXJ0 ZmlsZQ== KHNlbGY= bmVy ZXk= IHVzZXI= IGVudA== IENvbQ== aXRz IENvbg== b3VibGU= b3dlcg== aXRlbQ== dmVyeQ== IFdl NjQ= bGljaw== IFE= cGhw dHRw Jzo= aWNz IHVuZGVy ICoK Lkw= KTs= aWNlcw== IHJlZw== KQ0K CXB1YmxpYw== U1M= IHRoZW4= cmVhdA== aW91cw== Lkc= ZWs= aXJlY3Q= aGVjaw== Y3JpcHQ= bmluZw== IFVu IG1heQ== IFdo Qm8= SXRlbQ== c3RydWN0 LnN0 cmVhbQ== aWJsZQ== bG9hdA== IG9yZw== dW5k c3Vt X2lu Li4v X00= IGhvdw== cml0ZQ== Jwo= VG8= NDA= d3c= IHBlb3BsZQ== aW5kZXg= Lm4= aHR0cA== KG0= ZWN0b3I= IGluZA== IGphdg== XSwK IEhl X3N0 ZnVs b2xl KXsK IHNob3VsZA== b3B5 ZWxw aWVy X25hbWU= ZXJzb24= SU9O b3Rl IHRlc3Q= IGJldA== cnJvcg== dWxhcg== 44A= INA= YnM= dGluZw== IG1ha2U= VHI= IGFmdGVy YXJnZXQ= Uk8= b2x1bW4= cmM= X3Jl ZGVmaW5l MjI= IHJpZ2h0 cmlnaHQ= ZGF5 IGxvbmc= W10= KHA= dGQ= Y29uZA== IFBybw== IHJlbQ== cHRpb25z dmlk Lmc= IGV4dA== IF9f JykK cGFjZQ== bXA= IG1pbg== c3RhbmNl YWly YWN0aW9u d2g= dHlwZQ== dXRpbA== YWl0 PD8= SUM= dGV4dA== IHBo IGZs Lk0= Y2Nlc3M= YnI= Zm9yZQ== ZXJzaW9u KSwK LnJl YXRlZw== IGxvYw== aW5z LXM= dHJpYg== IEludA== IGFycmF5 LCI= UHJv KGM= ZXNzaW9u PgoK IHNoZQ== Il0= YXBo IGV4cA== ZXJ0eQ== IFNl IHBhcg== dW5j RVQ= IHJlYWQ= cHJpbnQ= IHJlbA== IGZvcm0= IGRy RXhjZXB0aW9u aW5wdXQ= IHRyYW5z IyMjIyMjIyM= b3JkZXI= Qnk= IGF3 aXRpZXM= dWZm cGxheQ== LmFkZA== IOKAkw== IHdhbnQ= IGNvbXA= bWVudHM= IHx8 YXo= YmU= IG51bWJlcg== IHJlcXVpcmU= IEV4 NjA= IGNvbA== IGtleQ== ZW1iZXI= IHR3bw== IHNpemU= IHdoZXJl VVQ= cmVzdWx0 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== b3VnaA== b3JsZA== b29k dWNo YXRpdmU= Z2Vy YXJlbnQ= IC8q IGFyZw== IHdoaWxl MjM= KHRoaXM= IHJlYw== IGRpZg== U3RhdGU= IHNwZWM= cmlkZQ== X0Y= IGxvb2s= QU0= aWxpdHk= ZXRlcg== 4oCZdA== CgoK YXlvdXQ= LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0= YWdlcg== IGNvdWxk IGJy ZW5kcw== dXJlcw== IGtub3c= ZXRz IElm IFNo Lnc= YmFjaw== IHNlcg== ICs9 IGZy KCkpOwo= IGhhbmQ= SW5k VUxM SW0= KCk7Cgo= IG1vc3Q= IHRyeQ== IG5vdw== cm91Z2g= Pg0K YWNrYWdl IGhpbQ== Ll8= aWZ5 IGJyZWFr ICk7Cg== cmVu I2RlZmluZQ== aXR0 IGFw CWM= KG4= IFlvdQ== OgoK LW0= IGV2ZXJ5 dXN0b20= bGllbnQ= b2N1bWVudA== Y3JpcHRpb24= RXJyb3I= LWI= 0L4= XVs= OTk= dHJhbnM= IHBvaW50 IHN0ZA== IGZpbA== VGltZQ== ODA= IG1vZA== IC0+ IGVycm9y YWg= IHRleHQ= cm9sbGVy bG9zZQ== cWw= IHBvbA== Pjwv IHNob3c= VXNlcg== YXNlZA== IHsKCg== IGZpbmQ= 0LA= RUQ= c3Bhbg== ZW51 IGN1cnJlbnQ= IHVzZWQ= Y2VwdA== Y2x1ZA== IHBsYXk= IGxvZw== dXRpb24= Zmw= IHNlZQ== aW5kb3dz IGhlbHA= IHRoZXNl IHBhc3M= IGRvd24= IGV2ZW4= YXNvbg== dWlsZA== ZnJvbQ== KGQ= IGJs bGFiZWw= ZWxzZQ== 0LU= ICgh aXplZA== KCks IG9i IGl0ZW0= dW1w VVI= b3Ju IGRvbg== U2U= bWFu Mjc= YW1wbGU= dG4= PT09PT09PT09PT09PT09PQ== SGU= Z3JhbQ== IGRpZA== d24= X2g= aXZlcg== IHNt IHRocm91Z2g= IEFu Y2hl IGludg== b3VzZQ== IGVz IE5ldw== ZXhwb3J0 bWFyeQ== dXRv bGVy IGxhc3Q= IGV2ZW50 dHJ5 77w= aWx5 aWduZWQ= aW5lcw== b2xsb3c= aWNlbnNl c29sZQ== bGVhcg== KGludA== IGFnYWlu IGhpZ2g= aHRtbA== SW5kZXg= dXRob3I= IC8qKgo= IGxpbmU= RXZlbnQ= X0Q= IGRvZXM= aXRpYWw= IGNy YXJz Mjg= IHRlbQ== Y2F1c2U= ZmFjZQ== IGA= X0E= QnV0dG9u YXR1cmU= ZWN0ZWQ= RVM= aXN0ZXI= CQo= IGJlZm9yZQ== YWxl b3RoZXI= IGJlY2F1c2U= cm9pZA== IGVk aWs= cmVn IERl IGRpc3Q= fSwK IHN0YXRl IGNvbnM= cmludA== YXR0 IGhlcmU= aW5lZA== IGZpbmFs ICIi S2V5 TE8= IGRlbA== cHR5 dGhpbmc= MjY= IEFuZA== IHJ1bg== IFg= eW0= LmFwcA== IHZlcnk= Y2Vz X04= YXJlZA== d2FyZA== bGlzdA== aXRlZA== b2xvZw== aXRjaA== Qm94 aWZl MzM= IGFj IG1vZGVs IG1vbg== IHdheQ== bGV0ZQ== IGNhbGw= IGF0dA== IGNhbA== dmVydA== IGRlYw== bGVhc2U= b3Vu IH0pOwo= ZnI= Zm9ybWF0aW9u ZXRhaWw= IG51bQ== YWo= cXVlcnk= IHdlbGw= IG9iamVjdA== IEFz IHllYXJz Q29sb3I= SVM= IGRlZmF1bHQ= V2g= IGlucw== YWludA== IGphdmE= IHNpbQ== IEFy bW9u dGls KCk7DQo= KTo= U2V0 Mjk= YXR0ZXI= IHZpZXc= IHByZXM= YXJyYXk= V2U= QXQ= IGJlbA== IG1hbnk= MjE= TWFu ZW5kZXI= IGJlaW5n IGdvb2Q= CQkJCQkJ YXRpb25hbA== d2FyZQ== LmxvZw== ew0K IHVzaW5n X0I= IDo9 X3c= aXN0cw== bGlzaA== IHN0dWQ= IEFs IGd1 Y29uZmln dXJpbmc= dGltZQ== b2tlbg== YW1lc3BhY2U= IHJlcXVlc3Q= IGNoaWxk IMM= bG9i IHBhcmFt IH0NCg== MDE= IGVjaG8= ZnVuY3Rpb24= KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio= cHM= RWxlbWVudA== YWxr bGljYXRpb24= Ynk= U2l6ZQ== cmF3aW5n IHBlcnNvbg== ICAgICAgICAgICAgICAgICA= XG4= b2JqZWN0 aW5jZQ== RW4= RmlsZQ== dWY= ZmZlY3Q= QUM= IHN0eWxl c3VtbWFyeQ== IHF1ZQ== X3I= ICgk TW9kZWw= aWRlbnQ= IG1ldGhvZA== SUw= b3R0 bGVzcw== SU5H ICgp IGV4cGVjdA== eW5j cGFja2FnZQ== MzU= dXJz IHByb3Q= Li8= cHJl ICkK bWE= IHN1cg== IGZvdW5k SW5mbw== cGFy aW1lcw== LmU= YWlucw== IHBvc3Q= LWQ= NDU= b2xlYW4= IHNs UEU= IHN1Y2g= c2VsZWN0 YWluZXI= IHRoaW5r IGRpZmZlcg== LnI= LyoqCg== RkY= b29s cGxhdGU= cXVhbA== IEZvcg== IG11Y2g= dWM= KG5ldw== b2R1bGU= IHNvbQ== IGh0dHA= IExpc3Q= IGNvdW50 IGluc3Q= Y2hhcg== bWl0 Lmlk YWtpbmc= IGdlbmVy cHg= dmljZQ== Mzc= X2RhdGE= IE5VTEw= fQ0K aWRk 44CC IG1lZA== b3Jn aWRlcg== YWNoZQ== d29yaw== IGNoZWNr d2Vlbg== ICgo dGhl YW50cw== Pjw= LkI= LWM= IG9wZW4= IGVzdA== ICAgICAgICAK IG5leHQ= SU0= 0YI= T1Q= w7M= IGZvbGxvdw== Y29udGVudA== ICAgICAgICAgICAg IGluY2x1ZA== SEU= IFJlcw== IGhyZWY= 0Lg= IGNhcg== eXBlcw== aW1hZ2U= VW4= IGJvb2w= QUQ= IGdhbWU= LkZvcm0= cm93cw== Ki8= dmVsb3A= LkRyYXdpbmc= IHBhdGg= aXNpb24= IGVhY2g= IFBs X3R5cGU= UGF0aA== bmVjdGlvbg== IGF2 Jyku IHN1cHBvcnQ= RU5U cmVt Iiku IG93bg== IGNvcg== Y291bnQ= bWlzcw== dWFsbHk= IG1lbQ== c3Rk aWVuY2U= c2VhcmNo IgoK Rm9ybQ== IHNleA== ZW5hbWU= IHNpZ24= IGV0 ICAgICAgICAgIA== Jywn IEFwcA== IHRob3Nl b2Zm IGVycg== IHN5c3RlbQ== IGJlc3Q= Y29kZQ== IHNhbWU= IGRp dXNz IGNyZWF0ZQ== YXRoZXI= QXJyYXk= Lmlu ZmU= U2VydmljZQ== VU4= YXRz IFo= YWx0aA== IG1hZGU= dHJ1ZQ== QUI= IG1hcms= cmlk aWZpZWQ= LA0K eW4= cHJlc3M= IGdyb3Vw IGZpbg== IExpY2Vuc2U= RmllbGQ= ZWdlcg== IHdvcmxk aW5lc3M= dHk= IHByb2Nlc3M= KGI= IGNyZQ== YXJu aXZlcw== IG1haW4= aWRlbw== MzY= X2c= QUc= dmFsaWQ= aW1n UEk= IGNvbG9y IHJlcG9ydA== IHRha2U= cmli T00= IGRheQ== UmVxdWVzdA== IHNr YmVycw== CXM= LkFkZA== b290 SW1hZ2U= IGNvbXBsZQ== b2xsZWN0aW9u IHRvcA== IGZyZWU= QVM= RGU= IE9u SUc= OTA= ZXRh RGF0ZQ== IGFjdGlvbg== MzQ= T3Zlcg== aXRvcg== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= bm90 IGluZGV4 aGVy aWNvbg== T24= Ow0KDQo= aXZpdHk= bWFuZA== LldpbmRvd3M= T0w= IHJlYWw= IG1heA== bGFuZA== Li4uLg== cmFwaA== IGJ1aWxk bGVn YXNzd29yZA== PwoK 4oCm b29r dWNr IG1lc3NhZ2U= dGVzdA== aXZlcnM= Mzg= IGlucHV0 IGFydA== IGJldHdlZW4= R2V0 ZW50ZXI= Z3JvdW5k ZW5l w6E= Lmxlbmd0aA== Tm9kZQ== KGk= Q2xhc3M= Zm9y IOKAlA== dGVu b2lu IGtl dWk= IElO IHRhYmxl c3Vi IExl IGhlYWQ= IG11c3Q= Ly8vLy8vLy8vLy8vLy8vLw== LnV0aWw= Q29udGV4dA== IG9yZGVy IG1vdg== b3Zlcg== IGNvbnRpbg== IHNheQ== c3RhdGlj LlRleHQ= IGNsYXNzTmFtZQ== cGFueQ== IHRlcg== aGVhZA== cmc= IHByb2R1Y3Q= VGhpcw== LuKAnQ== IEJ1dA== NzA= bG95 IGRvdWJsZQ== c2c= IHBsYWNl Lng= bWVzc2FnZQ== IGluZm9ybWF0aW9u cHJpdmF0ZQ== IG9wZXI= Y2Vk ZGI= Ij48Lw== UGFyYW0= aWNsZQ== IHdlZWs= IHByb3A= dGFibGU= aWRnZXQ= cGxhY2U= UHJvcA== IEFsbA== ZWxz Ym94 LgoKCgo= LlI= IFRv aXRlcg== U2g= dXJhdGlvbg== b2xkZXI= X2xpc3Q= Y29tZQ== IHN3 aXphdGlvbg== CWZvcg== Ymw= IHByb2dyYW0= KGU= YXBl Y2hlY2s= LkZvcm1z IHVuZA== YXRlZ29yeQ== NzU= YWdz IHJlc3BvbnNl VVM= cmVxdWVzdA== IHN0cnVjdA== ZXNjcmlwdGlvbg== IGNvZGU= X0g= dWZmZXI= IHdpdGhvdXQ= bG9iYWw= TWFuYWdlcg== aWx0ZXI= UE8= CXRoaXM= b3B0aW9u IHNvbA== ID09PQ== YWtlcw== Q29udHJvbGxlcg== NDQ= TWVzc2FnZQ== IHJlZg== ZXZlcg== IFNv YWluaW5n LmFwcGVuZA== IHN0aWxs IHByb3ZpZA== IGFzc2VydA== bWVk IGNhcA== dXNpbmVzcw== IHJlcA== dGluZ3M= dmVk Lk4= YXBp T0Q= IGZpZWxk aXZlbg== b3Rv 4oCc Y29s KHg= Z2h0 UmVzdWx0 Q29kZQ== Lmlz bGluaw== IGNvdXI= QW4= IHRlYW0= CWludA== aWZ0 NTU= IHNlY29uZA== IGdvaW5n IHJhbmdl X0U= bmVzcw== Mzk= IGZhbQ== IG5pbA== IENvbnQ= YWlsYWJsZQ== dXRlcw== YXRhYg== IGZhY3Q= IHZpcw== KCY= IEFO MzE= QWw= dGl0bGU= IGFuZHJvaWQ= Q0U= XCI= aXJ0 IHdyaXQ= 0L0= CW0= ZnR3YXJl b25k IHJldA== b3NpdGlvbg== IGhvbWU= IGxlZnQ= YXJncw== bWVyaWM= NDg= IGRpcmVjdA== b2Np UGw= QXM= cmV0 YWRv T2Y= Y2hu IEdldA== ZWU= cm9zcw== KCk7 X19fXw== LnBo SXQ= b3V0ZQ== IGV4cGVy Y2hvb2w= d3d3 fSw= IGFsbG93 IMI= KCkp c2l6ZQ== aXNt YWk= dHJhY3Q= YW5l Li4uCgo= Y29udGV4dA== IGJlZw== Q0g= IHBhZ2U= aGlw bm8= Y29yZQ== c3A= IGRpZmZlcmVudA== aWFibGU= IE1l X0lO YnV0dG9u IElz ZXJ2aWNlcw== IGNh IGFyb3VuZA== QXBw cmF0aW9u IHJlY2U= IHJlYWxseQ== IGltYWdl IHRhcmdldA== IGRlcA== b3B5cmlnaHQ= dHJh aW5nbGU= aXRhbA== TGF5b3V0 IGJvdGg= T3ZlcnJpZGU= YXJt PT4= YXRlcmlhbA== aWxlZA== IHB1dA== UXU= 0YA= dW5n bWFw CQkJCQkJCQk= IGxldmVs Q29tcG9uZW50 Ym9vaw== Y3JlZW4= X1JF IGNvbmZpZw== 44E= T3I= LmRhdGE= IGRvY3VtZW50 Iiwi dHJpYnV0ZQ== dXg= TG9n ZmVyZW5jZQ== cG9zdA== X2U= IGxvY2Fs YW5kb20= YXNzZXJ0 VmFs bGVjdGVk aW5h YXRhYmFzZQ== QWRk IGNvbnRlbnQ= LnByaW50 c2lnbmVk cmlj LiIKCg== IGZh IQoK LWY= aXZlZA== IHF1ZXN0 LmV4 IGZsb2F0 IGRldmVsb3A= 0L7Q TWFw YWRpbmc= IHBvc3M= VUU= bmFtZXNwYWNl X08= CWI= LkdldA== Pig= anNvbg== ZXRhaWxz NjY= IHRvbw== IGV4dGVuZHM= IE5vbmU= IGZvcmU= KFN0cmluZw== Zm9ybWF0 IGdyZWF0 aW50ZXI= Y2FsZQ== 0YE= cm9u aXZpbmc= RW50 ZW5jeQ== eHQ= b3k= MDU= IG1vbnRo IGhhcHA= IHN1cGVy YmFy ZGVmYXVsdA== X2Rl b3Jkcw== bG4= KHsK IEluZA== YXNlcw== IHRpdGxl IGNvbnRleHQ= MDg= b2g= LXA= RW0= IG1ldA== VGVzdA== IGxpZmU= X3Y= IFVT VUk= b2NhdGlvbg== bWQ= IFsK IF0= c3c= IGluY3Jl c2NyaXB0 ZW50aWFs d2F5cw== LmRl IHNyYw== IGNhdGNo IEFtZXJpYw== Ly8K ICAgICAgICAgICAgICA= IHBheQ== cGxpdA== 4oCU IGNvdW4= b2Jq LnBocA== IGNoYW5nZQ== ZXRoaW5n J3Jl YXN0ZXI= bG9z bGF0aW9u ICAK TGU= w6Q= KHs= cmVhZHk= IE5v IHBvc2l0aW9u IG9sZA== IGJvb2s= YWJsZWQ= YnVn MjAy SGFuZA== fTsKCg== aXNwbGF5 YXZpbmc= MDQ= IGdvdmVy IHZlcnNpb24= U3lzdGVt bmVjdA== cmVzcG9uc2U= U3R5bGU= VXA= YW5ndQ== IHRocmVl aW5pdA== ZXJv IGxhdw== ZW5kaWY= IGJhc2U= ZW1haWw= KGw= X1Y= IGNvbmY= QVRF IGR1cmluZw== dGVz IGNvbnNvbGU= IFBy IHNwZQ== dmVz NjU= cGF0aA== aWFsb2c= ZGl0aW9u X3Rv YXJkcw== IGFnYWluc3Q= ZXR3b3Jr IFBo X0w= Y3Vy aW1pdA== V2l0aA== IHBvd2Vy aXVt JzsKCg== IHdvbQ== bGVmdA== b3VyY2Vz YXRyaQ== IElt IE1hbg== b3J0aA== JHs= ODg= cXVhbHM= ZXNl X3NpemU= IGlzcw== b3RhbA== LWc= aXF1ZQ== cmFtZQ== IHdpZHRo ZXJn KSg= aXR0bGU= VFI= IFRoZXk= ZW5jZXM= MDI= cmw= b25z IGxhYmVs Lnk= LXQ= dXBkYXRl YW5lbA== c2M= LnRv IHByb2plY3Q= w7w= IGVsZW1lbnQ= IHN1Y2Nlc3M= CQkK LnNo cmFt Y2hlZA== KCkpCg== ICgK IGRhdGU= IHRvdA== X1NU QWxs aWZpY2F0aW9u CXZhcg== IHRyaQ== Y2hlbQ== bXk= IGJpZw== IEFk IEF0 b3Rz bnVt QWN0 IG1hcA== ZXJh Y29wZQ== LiQ= LOKAnQ== IHBvcA== IGZldw== IGxlbg== dWlk ZXRlcnM= dWxlcw== w60= c291cmNl aHR0cHM= IGRlbQ== IGVhcg== IyMjIyMjIyMjIyMjIyMjIw== IG1hdGNo b3JpZXM= NDk= YWNlcw== IENs IG5vZGU= Nzg= aXJj bG9jYWw= dW5pdHk= fTsK IGFub3RoZXI= PDw= b2dsZQ== IHNpdA== ZXdvcms= VEU= Lkk= TlM= b2xvZ3k= b3VnaHQ= LkNvbnQ= Pj4= IGNhcmU= c3RhdGU= CXByaXZhdGU= IGVmZmVjdA== Kysp X2ZpbGU= ZW5kaW5n TGluZQ== Rm9y aW9y IFNj IGZ1bg== LlNpemU= CWVsc2U= XSk= c3RhcnQ= dmlvdXM= IH0s b3Vycw== IGxlZw== IHNlcnZpY2U= IHNpbmNl aXJvbg== TGFiZWw= IG5vbg== IGxvcw== aWN0aW9u IGZ1bGw= YWN0ZXI= Ym9hcmQ= Z3Jlc3M= IHR1cm4= aXRoZXI= MDk= LnNpemU= IGJvZHk= cmVzaA== ZXR1cm4= MTk5 KF8= eWxlcw== b3JtYWw= cGk= IHNvbWV0aGluZw== IS0t dWludA== IHByb2R1 IHN0YW5k IHByb2JsZQ== IGF2YWlsYWJsZQ== bXQ= IEJs IC4uLg== IGJsb2Nr SW5wdXQ= IGtlZXA= Q291bnQ= b3Blbg== IFsn IHRocm93 dWlsZGVy QWN0aW9u IHRoaW5ncw== VHJ1ZQ== IHVybA== IEJv cHJpbnRm IHJlZA== anM= LmNyZWF0ZQ== IE9y U3RhdHVz SW5zdGFuY2U= IGNvbnRyb2w= IGNvbWU= IGN1c3RvbQ== bG9jYXRpb24= MDc= bW9kZWw= IA0K IHNvdXJjZQ== IGVhcw== Lm91dA== XQoK b25leQ== IGF3YWl0 IHBhcnRpYw== QVA= dWJsaXNo b2Rlcw== X3Bybw== cGx5 cml0ZXI= IHByb3Y= IG1pbGw= SFQ= XSkK IGNoYW5n IGFzaw== ICAgICAgICAgICAgICAgICAgICAg IG91dHB1dA== IGVtYWls Njg= LnB1c2g= IH0NCg0K aW5hdGlvbg== NDc= YXRyaXg= VGFibGU= dWNjZXNz XSk7Cg== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRpc2M= KFs= IGJ1c2luZXNz aGVpZ2h0 Lmh0bWw= dGE= ZmllbGQ= IHJlcXVpcmVk X1I= IGdvdmVybg== fQ0KDQo= bGV4 NTAw Liw= IFNldA== dXJjaA== Ly8v dHM= YWY= IG1pZ2h0 aXN0b3J5 U3Ry IG5ldmVy UmVzcG9uc2U= YXJzZQ== YWRh IEhvdw== ICop IDs= IGhhcmQ= QWQ= IGludGVybg== dXNlZA== KGRhdGE= bW9k YW5uZWw= IG5w dWdn IC8+Cg== IGNhbGxlZA== Ym9keQ== IGNobw== KHI= X3NldA== aXJk ID49 IH07Cg== IG9wdGlvbnM= IEdlbmVy IGhlaWdodA== UG9pbnQ= WW91 ZXR5 Q2xpY2s= IHNtYWxs IGlkZQ== IGFjY2Vzcw== YW5ndWFnZQ== IHByb3RlY3RlZA== IGpvYg== IFRoZXJl RGVm IGFkZHJlc3M= IHVpbnQ= Tm90 b28= YXBz PGRpdg== YWluZWQ= YXR1cg== IHN1bQ== LXc= IERhdGU= IGxpdHRsZQ== IGZyaQ== WVBF IHBvcnQ= ZWg= cHJpbmc= X3BhdGg= IHN0YXR1cw== MDY= YWlt Ym9vbA== IGFwcGU= IG9z Lm5hbWU= ZW5zaW9u X0c= IHVwZGF0ZQ== Q29uZmln YWZm RVJS IDw9 YXRlbHk= I2lm dWN0aW9u OTU= IFRl IGxpbms= IFVzZXI= LmZpbmQ= Lm9yZw== bWU= IGdpdmVu T3V0 I2VuZGlm IGJldHRlcg== UGFnZQ== IGZlZWw= ZW5u TUw= IGFscmVhZHk= IGluY2x1ZGluZw== b29nbGU= cnU= aWNhbGx5 cHJvcA== bGVhbg== b3V0ZXI= IGFsd2F5cw== b3JkaW5n SWY= b3JhZ2U= IHBhcmVudA== dmlz CQkJCQkJCQ== IGdvdA== c3RhbmQ= IGxlc3M= L3M= IEFzcw== YXB0 aXJlZA== IEFkZA== IGFjY291bnQ= cGxveQ== IGRlcg== cmVzZW50 IGxvdA== IHZhbGlk CWQ= IGJpdA== cG9uZW50cw== IGZvbGxvd2luZw== X2V4 U09O IHN1cmU= b2NpYWw= IHByb20= ZXJ0aWVz aGVhZGVy LnBybw== IGJvb2xlYW4= IHNlYXJjaA== a2Vu IG9yaWc= IGVy RWQ= RU0= YXV0 bGluZw== YWxpdHk= QnlJZA== YmVk CWNhc2U= NDY= ZXRoZXI= cG9zaXQ= IGludmVzdA== IE9S IHNheXM= bWlzc2lvbg== QU1F IHRlbXA= b2Fk IHJlc3Q= aW5mbw== IGludGVyZXN0 QXJn IHBlcmZvcm0= cG9ucw== IFZpZXc= IHZlcg== bGli KGNvbnN0 VXRpbA== TGlzdGVuZXI= YXJnZQ== Nzc= IG11bHQ= IGRpZQ== IHNpdGU= Li4vLi4v RUw= IHZhbHVlcw== IH0pCg== cGVu Tm8= aWNybw== IGJlaA== ICcuLw== YWN5 cmVj KCktPg== CSAgIA== Iikp Q29udGVudA== X1c= cGxlbWVudA== IHdvbg== IHZpZGVv YWRp cG9pbnQ= JSU= MDM= IGds ZXJ2ZWQ= dmlyb24= SUY= dXRlZA== 44M= J20= IGNlcnQ= IHByb2Y= IGNlbGw= YXJp IHBsYXllcg== YWlz IGNvc3Q= IGh1bQ== KFI= IG9mZmlj a3M= LnRleHQ= YXR1cmVz IHRvdGFs ICovCgo= b3Bl IHN0YXQ= VU0= IGxvYWQ= aWdodHM= IGNsZWFy dXJv IHRlY2hu dXBwb3J0 SVI= IHJvdw== IHNlZW0= IHE= IHNob3J0 IE5vdA== aXBw R3JvdXA= c2VjdGlvbg== bWF4 aXJs IG92ZXJyaWRl IGNvbXBhbnk= IGRvbmU= Iik7DQo= IGdyZQ== LlJl IGJlbGll cmlzdA== IGhlYWx0aA== QU5U KCkKCg== IEJl LnZhbHVl IEdy b3R0b20= IGFyZ3M= UFQ= c3RhdHVz ZnVuYw== dW1lbnRz LWg= TnVtYmVy Og0K IExvZw== ZXJ2ZXI= ICksCg== YW1lbnQ= IG9iag== aW5j IGNoaWxkcmVu aWN5 SVo= YW5kcw== YWJseQ== IGRpc3RyaWI= IGN1cg== ZXJpYWw= IGRheXM= cmVhdGVk cmVjdA== LWw= aXJt aWRkZW4= b21i IGluaXRpYWw= Lmpz IOI= UXVlcnk= IG9ubGluZQ== aW1hbA== LmNvbg== YXU= VXJs Y29udHJvbA== aXJlY3Rpb24= IGluc3RhbmNl T1JU IEZy d2hlcmU= IGphdmF4 IG9yZ2Fu YXB0ZXI= IHJlYXNvbg== b3B0aW9ucw== NTk= IE1hcg== KGE= IHdpdGhpbg== LuKAnQoK T0RF X0RF YWRtaW4= ZW5kZWQ= IGRlc2lnbg== IERhdGE= dW5l IEZpbGU= cm9vdA== IGNlbnQ= IGFycg== X2FkZA== bGVu cGFnZQ== LCc= X3N0cg== IGJybw== YWJpbGl0eQ== b3V0aA== NTg= L2M= cG9zZQ== aXJ0dWFs ZWFyY2g= X3VybA== YXJnaW4= SHR0cA== IHNjaG9vbA== YXZh IGNvbnNpZGVy LmxhYmVs IEFycmF5 NDI= d2Vi b3B0 LnByaW50bG4= dWxhdGlvbg== IGZ1bmM= UEw= ICJc IFRleHQ= YWN0b3J5 KGZ1bmN0aW9u bnVsbA== IGVuZw== ZG93bg== IGluY2x1ZGU= IEVu IERy IGRi ISE= c2lkZQ== IGluaXQ= cXVpcmVk IFNoZQ== Q29sdW1u cmVhY3Q= IGFubg== IHN0b3A= IGxhdGVy IFRoYXQ= ZW50aW9u ZGY= VUc= SUxF IGNsaWVudA== cmFmdA== ZmZlcg== UE9TVA== ZWxwZXI= IGxvdmU= cXVvdGU= b3Vk IGpzb24= IGFibGU= IG1lbg== QVg= IENvcHlyaWdodA== w7Y= YXZpZw== cmVx Q2xpZW50 fSk7Cg== LkNvbQ== ZXJj aWx0 cGVjaWFs X2NvbQ== cm9vbQ== Lk5hbWU= IGdpdmU= YW1i aWtl IGNvbmRpdGlvbg== Y2xpZW50 YXRvcnM= OiI= IGNvcHk= dXR1cmU= aXZlcnNpdHk= ZXJuYWw= e3s= IENhbg== b3VuYw== ZG8= IG9jYw== IGFwcHJv dGhlcnM= emU= IGVpdGhlcg== IEZs IGltcG9ydGFudA== IGxlYWQ= YXR0cg== QVJU RXF1YWw= IGRh ZXRjaA== ZW50aXR5 IGZhbWlseQ== YWRkaW5n IG9wdGlvbg== IGV4aXN0 aWNh IE9iamVjdA== Njk= J3Zl dmVycw== aXRpb25hbA== Njc= b3V0cHV0 IFRydWU= IE9G X3RpbWU= IG9mZmVy IH0pOwoK SEVS ZWdpbg== IiI= IHdhdGVy IGNoZQ== IE15 b3JlZA== IHN0ZXA= YW5jZXM= Q0s= QVk= 4Lg= c3RydWN0aW9u KEM= MzAw b3VjaA== U3RyZWFt YWN0aXZl YW1h RW50aXR5 cHJvZHVjdA== KCl7Cg== IGdvdmVybm1lbnQ= IElE YWpvcg== QW5k IGRpc3BsYXk= 0Ls= IHRpbWVz IGZvdXI= IGZhcg== IHByZXNlbnQ= IE5T IFwK dWVzdA== IGJhcw== ZWNobw== Y2hpbGQ= aWZpZXI= SGFuZGxlcg== IGxpYg== UHJvcGVydHk= dHJhbnNsYXRpb24= IHJvb20= IG9uY2U= IFtd Y2VudGVy PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0= IHJlc3VsdHM= IGNvbnRpbnVl IHRhbGs= X2dldA== IGdyb3c= LnN3 ZWI= IFB1YmxpYw== T1A= ZWN1dGU= b2xz ICoq Iik7Cgo= IG1hc3M= dXJlZA== LmNsYXNz b21pYw== IG1lYW4= aXBz IGF1dA== KTsNCg0K IHVudGls IG1hcmtldA== IGFyZWE= dWl0 IGxlbmd0aA== IFdpdGg= c3RydWN0b3I= ZXZlbnQ= Ij48 IFNw SVY= IG11cw== aWZm IGtpbmQ= YXV0aG9y b3VuZHM= bWI= X2tleQ== NDE= d2lkdGg= cG9zaXRvcnk= IGxpZ2h0 dWs= Um93 b2hu YWxm dmlyb25tZW50 YXBwZXI= b2xsZWN0aW9ucw== IHNpZGU= X2luZm8= IGV4YW1wbGU= aW1hcnk= IHdy IGNhbXA= Y3JpYmU= MjU1 Ii8= IG1pc3M= d2F5 IGJhc2Vk IHBsYW4= Vmlz b21haW4= dW5r IGF3YXk= VVA= PFQ= T1M= aW9k IE1vbg== 4oCZcmU= IGxpaw== w6c= aXZlbHk= LnY= aW1lcg== aXplcg== U3Vi IGJ1dHRvbg== IFVw IGV4cGVyaWVuY2U= Q0w= IHJlbmRlcg== X3ZhbHVl IG5lYXI= VVJM YWx0 IGNvdW50cnk= aWJpbGl0eQ== NTc= KCksCg== ZWFk IGF1dGhvcg== IHNwZWNpZmlj YmFzZQ== KG5hbWU= b25lcw== IERv IGFsb25n eWVhcg== IGV4cHJlc3M= Lic= ZW52 IGJlZ2lu IHNvZnR3YXJl IGltcA== IHdpbg== w7Nu IHRoaW5n VHJhbnM= IFRIRQ== IDw/ IHdoeQ== IGRvZXNu aWo= Z2luZw== CWc= IHNpbmdsZQ== b2Zmc2V0 YXJuaW5n b2dyYXBo bGV5 X2NvdW50 IGFuYWw= Y3JlYXRl L20= IFJlZw== OTg= dW5jaA== PSQ= aXNr IHJpZ2h0cw== KE0= ICIiIgo= YXBlcg== Lm1vZGVs IHBv ZW1wdHk= YXJ0bWVudA== IGFudA== IFdoZW4= IHdvbWVu IEVk IHNlYXNvbg== IGRlc3Q= w6M= KGg= IHBvc3NpYmxl IHNldmVy IGJ0bg== IGRpZG4= IHNlbnQ= IGVuYw== IGNvbW1hbmQ= IF0sCg== X3g= IHJlY2VudA== b2x1dGlvbg== dmVjdG9y IEJ5 IE1heQ== IEFjdA== u78= IG1vbmV5 SU5U YnNpdGU= CXA= Lg0K 77u/ c2w= YXR0ZXJu IENsYXNz IHRvbGQ= dWRpbw== Y3VycmVudA== IGVxdQ== IGF1dG8= IFN0YXRl ZGE= bXNn KSk7Cgo= IHdvcmtpbmc= IHF1ZXJ5 IEJy IHdpbmRvdw== YXV0aA== b25seQ== CXQ= IGxlYXN0 YWdu IGV4cGw= aXR0ZXI= YXJpbmc= IGNvbHVtbg== IEdlbmVyYWw= Ijoi ZXJhbA== cmlvcg== IHJlY29yZA== SUI= RVg= IGRhdA== IG1ha2luZw== dWVk IENhcg== ZW1w Ii4= IE1lZA== IGNsb3Nl IHBlcmNlbnQ= IHBhc3Q= KGc= Oig= IHdyaXRl IG1vdmU= IHBhdA== Q29udHJvbA== LlRv IHZp Ki8K aW5hdGU= J2xs YWdlZA== TnVsbA== IHNwZWNpYWw= SVpF IGNpdHk= LyoK IEVuZw== aXhlZA== aW5hcnk= cHk= IGVmZg== YXJpbw== IHRlbGw= YXZvcg== IHNlbGVjdA== bGV2ZWw= aW11bQ== b3Blcg== QnVpbGRlcg== SVA= JyksCg== ZXNj IGZvbnQ= IjsKCg== IEFt aXNoZWQ= aWxscw== SW50ZXI= T1c= IGNvdXJzZQ== IGxhdGU= aWRkbGU= NDM= IGFtb3VudA== IGFzeW5j aW5v Y3Vs IOw= YW5kbGU= X3VzZXI= IGJlbg== IENhbA== ICRf IFJlcA== IGVub3VnaA== VG9rZW4= LnVzZXI= KGo= U2M= V2lkdGg= bm93 YXRmb3Jt IGxvb2tpbmc= IGhvbGQ= TW9kdWxl SVRZ dm8= aXNvbg== LkRhdGE= eWM= IHBvdA== IFRydW1w aWR1YWw= aWRlcw== cnQ= IHByb3BlcnR5 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== YW1ld29yaw== Z28= IGxvdw== IHBhcmE= IHByaWNl dXJ5 IHRvZGF5 cm95 ICcv IHBvbGl0 ICcn eW1i UGg= IGFkdg== IGF0dGFjaw== IFN0ZQ== Uk9N NDAw YW5h IG1lYW5z IHN0b3J5 aWRz YWtlbg== IG1lZXQ= IG1vbQ== IOKAmA== ID8+ IGRlbg== b2JpbGU= Y2hhbmdl ICAgICAgICAgICAgCg== aWNp bmE= IEZvcm0= IHNvcnQ= U2VsZWN0 cGFyZQ== IHRob3VnaHQ= X2Nvbg== IHRhc2s= b2N1cw== IERF IE1pbg== IG9wdA== CWJyZWFr dW1lcg== S0U= dGhlbg== IGRldA== IFRlc3Q= cG9ydHM= IHJldmlldw== KCcv bW92ZQ== IHN3aXRjaA== RVJU cGF0Y2g= YW5ub3Q= 44I= IGFib3Zl aXRpdmU= NTY= IHF1ZXN0aW9u IFF1 44CCCgo= Z2xl IHdvcmQ= IHByb3ZpZGU= IFJldHVybg== IHJlc2VhcmNo w6Nv dXN0cg== IHB1Ymxpc2g= Y2hlbWE= fX0= IENPTg== LWlu YWxsYmFjaw== IGNvdmVy XFw= Y29sb3I= IElT IHdoZXRoZXI= aW1hdGU= aXNj QmFy IGRpdg== QmU= b3Vybg== IGhhdmluZw== bGVt cGxheWVy YWJz YW1lcmE= bmV5 IGV4Yw== Z2V0aGVy cGxpZWQ= YW8= WyQ= ICsr aXBl c2hvdw== L2Q= Wzo= YWdlbWVudA== bGV2 X0lE OTc= cmFyeQ== YWRlcw== X3Nl YXVzZQ== IGVtcGxveQ== ICovDQo= IGZyZQ== ICdA IGNvbXBsZXQ= IGxhcmdl cmFs XHg= IGZhYw== PFN0cmluZw== IGNyZWF0ZWQ= dXBlcg== LnN0YXRl IGhvc3Q= ZW5lcmlj L2I= KCE= d2hpbGU= aWFz QlVH ICk7Cgo= IHJvbGU= UmVn IENvbG9y U3RhcnQ= IHBvcm4= dG9w IHdlYg== IGRldg== IGRlYWw= KyspCg== SW50ZWdlcg== cG9zaXRpb24= Lm9u ICgi 5Lg= IHByb2JsZW0= c3Y= IHByZXNz QUJMRQ== QVRJT04= IFNlZQ== YW5jaA== IHRob3VnaA== bGVlcA== IDwhLS0= IHBvaW50cw== ICAgICAgICAgICAgICAgICAgICAgICAgIA== Lko= IDo6 cHRy REI= Kys7Cg== LnBuZw== bm9kZQ== c29mdA== cG9uZA== IGV2ZXI= LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ== TWVudQ== KCcj IHNlcnZpY2Vz cGc= fSkK cGFyYW1z IGFjdHVhbGx5 ICIv RW1wdHk= TWV0aG9k IGlkZW50 dW5pYw== IG1pbGxpb24= IGFmZg== c3R5bGU= IGNvbmM= aW9z aWdubWVudA== VUxU UHI= IjsNCg== IHVuZGVyc3RhbmQ= dWFyeQ== IGhhcHBlbg== IHNlcnZlcg== IENv U0M= IGxlcw== IGZpbGVz R3JpZA== c3Fs IG9mdGVu IGluZm8= X3Ry c3Jj b255 IHNwYWNl dW1i IHBhc3N3b3Jk IHN0b3Jl LAoK IFdoYXQ= Z2Vk IEZhbHNl VXM= c3dlcg== X2luZGV4 IGZvcm1hdA== bW9zdA== c20= TmV3 IGRldGFpbHM= IHByb2I= IEFORA== KCkNCg== aWxhcg== ICR7 cnlwdA== LkNvbGxlY3Rpb25z JHRoaXM= IEZyZWU= X29m KGZhbHNl ZGF0ZWQ= ID4+ IGZhY2U= Q1RJT04= IHNhdmU= IHR5cA== ZGV2 KCIj QUdF Y29udGFpbmVy ZWRpdA== UUw= IGl0ZW1z IHNvY2lhbA== aWVu IFJlYWN0 KS4KCg== IG1hcg== IHJlZHU= IFJF LnB1dA== IG1ham9y Q2VsbA== bmV4dA== IGV4cGVjdGVk IHlldA== IGluZGl2 dHJpYnV0ZXM= YXRpcw== YW1lZA== IGZvb2Q= U291cmNl KHN0cmluZw== ICsK aXRlcw== ZHI= IG1lbWJlcnM= IGNvbWI= aXRlbXM= IFBlcg== VEg= PVRydWU= IGJhcg== X1NF Y29tbQ== KHc= KQoKCg== IHNlbmQ= IGluYw== dW5zaWduZWQ= RkE= IHBhcmFtcw== YXBwaW5n cm9z dWdpbg== ZmE= IGNvbm5lY3Rpb24= IH07Cgo= IGJlY29tZQ== TW9kZQ== IGV2 IGRpZmY= IFVuaXRlZA== SGVpZ2h0 ZnVsbHk= aW1hZ2Vz IG1ha2Vz IGdsb2JhbA== IGNvbnRhY3Q= JzoK IGFicw== 0LDQ ZmxvYXQ= IGV4Y2VwdA== IFBvbA== Q2hpbGQ= dHlw IGNlcnRhaW4= acOzbg== T1VU IGltcHJv aWxlcw== IC0tPgo= IFBhcnQ= dmFsdWVz b3Nz Lyoq aWxpdA== IEV2ZW50 Y3VyaXR5 c3Rlcg== IGNoYXJhY3Rlcg== MTk4 IG5ld3M= ICIs IGRldmljZQ== Y2Vs bG9naW4= aGVldA== RGVmYXVsdA== QCI= CSA= Y2xpY2s= KHZhbHVl IEFi IHByZXZpb3Vz RVJST1I= b2NhbA== IG1hdGVyaWFs IGJlbG93 IENocmlzdA== IG1lZGlh Y292ZXI= IFVJ IGZhaWw= IGJsYWNr IGNvbXBvbmVudA== IEFtZXJpY2Fu IGFkZGVk IGJ1eQ== c3RpdA== IGNhbWU= IGRlbGV0ZQ== cHJvcGVydHk= b2Rpbmc= IGNhcmQ= cm9wcw== IGh0dHBz IHJvb3Q= IGhhbmRsZQ== Q0M= QmFjaw== ZW1wbGF0ZQ== IGdldHRpbmc= X2J5 bWFpbA== X3No LmFzc2VydA== IERlYw== KHRydWU= IGNvbXB1dA== IGNsYWlt Jz0+ IFN1Yg== IGFpcg== b3Bz bmF2 ZW1lbnRz KGlk IGVudGVy YW5nZWQ= RW5k IGxvY2F0aW9u IG5pZ2h0 IGRvaW5n IFJlZA== bGlu fQoKCg== dmlkZXI= IHBpY2s= IHdhdGNo ZXNzYWdlcw== IGh1bWFu IGRhbQ== cGVuZA== ZGly IHRheA== IGdpcmw= cmVldA== IGJveA== IHN0cm9uZw== KHY= cmVs IGludGVyZmFjZQ== IG1zZw== ZmVjdA== X2F0 IGhvdXNl IHRyYWNr Jyk7Cgo= amU= IEpvaG4= aXN0cg== KFM= dWJl IGNl aXR0ZWQ= VkVS Kik= cGFyZW50 IGFwcGxpY2F0aW9u YW55 LnN3aW5n IHBhY2s= XHU= IHByYWN0 IHNlY3Rpb24= Y3R4 IHVuc2lnbmVk LlBvaW50 IE9uZQ== xLE= aXBsZQ== YWlk 0YM= VmVjdG9y Ynl0ZQ== IHdhaXQ= IMOg w6U= IHRvZ2V0aGVy IHRocm93cw== Rk8= Jykp aG9zdA== aXNpbmc= LnZpZXc= IHRlcm1z ZnJhbWV3b3Jr LXI= IGFwcGx5 IHNlc3Npb24= T3B0aW9ucw== dWdnZXN0 IG90aGVycw== d2l0dGVy IGZ1bmQ= SW5pdA== X18o ZW5zb3I= R0VU IHNldmVyYWw= aWk= W2o= SU8= IHRlbXBsYXRl UG9zaXRpb24= IGVjb24= YWNoaW5l IGls LnNwcmluZw== bWFpbg== ZWx0 aW1lbnQ= UmVj bW0= IFVuaXZlcnNpdHk= dXJzb3I= ICAgICAgICAgICAgICAgICAgICA= R0w= aWN0dXJl aXRodWI= Y2Vy Y2FzdA== RnJvbQ== YWxlcw== IHN1YmplY3Q= cGFzc3dvcmQ= bnk= IGVzYw== LndyaXRl 77yM V2hhdA== Lkg= IGhpc3Rvcnk= IEZl IGluZGl2aWR1YWw= dW5pdA== IC0tPg== IGR1 SVNU IHVzZXJz ZnM= ZmFsc2U= dW50 VGl0bGU= IG1vdA== IGZ1dHVyZQ== YWNoZWQ= IHN0YXJ0ZWQ= IG1vZGU= ICc8 X2FycmF5 IGF4 J107Cg== aXJlcw== VGhlcmU= dWdodA== dG1s cG9zZWQ= aWN1bHQ= IHRvb2s= IGdhbWVz IH19 ID8+Cg== IHByb2R1Y3Rz SXM= IGJhZA== IERlcw== LnBhdGg= JwoK IFBvc3Q= YXZlbA== KDo= MTUw IG5lZWRz IGtub3du Rmw= IGV4ZWM= IHNlZW4= NTE= dW1l IGJvcmRlcg== IGxpdmU= dGVtcA== UGVy IHZhcmlhYmxl aWV0 IERlZg== IGdl ZW1l X2JhY2s= Zmlyc3Q= IHByb3ZpZGVk Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8= IGZpbGVuYW1l IGhvcGU= dWx5 YXV0bw== ZmluZA== X3N0cmluZw== YnRu aXR1ZGU= QXR0cmlidXRl IHlvdW5n LnR4dA== IHdlYnNpdGU= IFByb3A= IGV5 PigpOwo= aW9uYWw= QVJS aWN0aW9uYXJ5 dXJ0aGVy Ljwv QUxM IHN0dWR5 aWxp IG5ldHdvcms= eWw= aXN0YW5jZQ== T0s= TlU= cmVzdA== IFNU aWNyb3NvZnQ= IGxpbWl0 IGN1dA== KCk6Cg== IGNvdQ== b2du IHNpemVvZg== aXZhbA== IHdlbnQ= Lno= TGluaw== IGZpcmU= IGFjcm9zcw== IGNvbW11bml0eQ== cmVnaW9u TkU= UmVm IG9mZmljaWFs IHZpc2l0 b2x2ZQ== IHJlY2VpdmVk IHRva2Vu IG1vbnRocw== IGFuaW0= IHBhcnRpY3VsYXI= c3R5bGVz aWNv IGVzcw== ODc= LkNvbnRyb2w= IMOp YmFsbA== IGxlYXJu aW5kaW5n VmFy IGRlY2w= KGVycg== TEVDVA== T25l cGhh IH4= Zm9ydA== YXN1cmU= IG1pbmQ= IEVuZA== Q2hlY2s= IHF1aWNr Iiks QU5E dXRpb25z QmFzZQ== X19fX19fX18= IGNvbW1lbnQ= SU5F 4oCZdmU= QnV0 IEVs IFVz IGFkbWlu bWFyaw== IE5hbWU= YAo= IFR5cGU= YW1pYw== cGM= bG9vcg== RlQ= IG9wcA== Y2tldA== KS0+ dHg= IHB1cg== dWVs eW1ib2w= dWF0aW9u YW5nZXI= IGJhY2tncm91bmQ= ZWNlc3M= ZWZpbmVk Li4uLi4uLi4= IGRlc2NyaXB0aW9u IHJlcHJlc2VudA== IikpOwo= cHJlc3Npb24= cm93c2Vy IHNlcmllcw== d2FyZHM= NTI= KCRf YWlzZQ== IGhvdA== YWNpdHk= cmllcw== YWN0aW9ucw== Q3JlYXRl YWRpbw== YW1wbGVz IG9yaWdpbmFs ZW5zaXZl Zm9udA== c3RyZWFt 77u/dXNpbmc= LnNwcmluZ2ZyYW1ld29yaw== MDAx c2VydmVy IGJpbGw= QUNL aWxlbmFtZQ== IGZyYW1l ID0K RWRpdA== YWRpdXM= IGRyYXc= YW5rcw== IGRldGVy IGNvbWVz X2ludA== IGZvcmVhY2g= YW5nbGU= IGVsZWN0 cGVjdGVk SGVhZGVy aXN0cmF0aW9u RmFsc2U= IEdhbWU= IGZpbHRlcg== QWN0aXZpdHk= IGxhcmc= aW5pdGlvbg== ICI8 MjU2 aXNlZA== IHJlbW92ZQ== IFRyYW5z bWV0 c2Vl Rm9ybWF0 Q29tbWFuZA== IEVY Tm9uZQ== IGZyb250 QVNF IFJlYw== b3VuZGF0aW9u IHZv OTY= PVwi KCo= Q2hhbmdl LldyaXRl Z3JvdXA= aWVudHM= dXk= KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg== IGRpZw== aHI= KC0= IGdlbg== bnVtYmVy dmVj dXJvcGU= ZW50cnk= TEw= IHN0ZQ== VmFsaWQ= J10s X3BhcmFt IHNlbGVjdGVk IGFjY29yZGluZw== IERpcw== IHV0aWw= QnVmZmVy X2Vycm9y IGFzc29jaQ== X1NJWkU= IHdvcg== IHByaW50Zg== cmFn wqA= REQ= IFZhbA== IGFjdGl2 RW5n ZXRpbWU= IHZpcnR1YWw= YWlnbg== YXVy IFByZXM= IEV4Y2VwdGlvbg== IGFueXRoaW5n IE9mZg== IGhvdXJz IHdhcg== QXJncw== YWdpbmc= IG1vZGVscw== IFRpbWU= T2I= YW1z am95 IGVhcmx5 LnJlYWQ= ODY= IGNlbnRlcg== IEluaXRpYWw= IGxhbmd1YWdl bGVuZ3Ro eHk= IHNu IGluZg== UG9zdA== IGFnbw== IGVhc3k= X2NvZGU= IEFOWQ== X2No IGRvd25sb2Fk KFQ= YXZlZA== 4oCT IHN0dWRlbnRz IGZpZw== bGlnaHQ= eHg= IGJ1ZmZlcg== IERlcA== IE1hdGg= SVRI IHZhcmk= IGR1ZQ== RmFjdG9yeQ== IHBvcg== IGVw b3R5cGU= IGNhbm5vdA== IHdoaXRl PGludA== dGVybg== IHJlZ2lzdGVy IHByZWQ= Y2x1cw== X2RhdGU= IC8qKg== IGF1dGg= IFtdCg== IHBlcmlvZA== bm93bg== IHZvdA== IHNjcmVlbg== J2Q= VHlwZXM= IHRtcA== 0LXQ dXJhbA== IGJlbmVm X3k= IG5ldA== IFN0YXRlcw== J11bJw== IE5l IE5PVA== IG5lZw== MTAy IGNvbW1vbg== c2NvcGU= IGNyZWQ= Z2Vz X1RZUEU= IHN1Z2dlc3Q= b29t LgoKCg== IGFjY2VwdA== IHJhbmRvbQ== ZXJt IFZlY3Rvcg== d2l0aA== VEVS KHN0cg== IHJlc3BvbnM= IGhpdA== LlNldA== Z3JpZA== cmlh IGNsaWNr dW5kbGU= Q2FzZQ== aW5zZXJ0 VXRpbHM= ICIiIg== IGltcGxlbWVudA== YXRhbA== dGVtcHQ= dGVtcGxhdGU= b2Ny cmV0dXJucw== IHBsYXllcnM= dXNlcnM= ZWRlZg== IFRoZXNl IGFtb25n IGRlYg== aGE= LmdldEVsZW1lbnQ= IGNpcmM= IGFuc3dlcg== IHdhbGs= IHRyZWF0 IEdl IENyZWF0ZQ== IGFnZQ== IHJlcQ== T1NU YW5ndWxhcg== 0Y8= IGZpdmU= NTM= IGRpc3RyaWJ1dGVk IGZyaWVuZA== VFA= IGNsZWFu b3dz LkNvbnRyb2xz ZGlz IHdvcmRz Lmlv enk= IGhlYWRlcg== IENoZWNr 4oCZbQ== anVzdA== aG9sZGVy PSI8Pw== IEdOVQ== IENvbA== aW1lc3Q= ZW50aWM= ewoK IHRyZQ== bGFzdA== bGE= IFlvcms= TG8= IGRpc2N1c3M= IEdvZA== IGlzc3Vl cmV3 V2luZG93 IGxhbmQ= MTIw IHN0cmVhbQ== IFBhcg== IHF1YWxpdHk= UGFy X251bQ== NTQ= IHNhbA== ZWx2ZXM= T1JE KHVzZXI= IHdvcmtz IGhhbGY= ZW5zZXM= dmFz IHBvbGljZQ== KCIv dWE= IHNpbXBsZQ== QWRkcmVzcw== IGVtcHR5 ZXNo MTI4 VXBkYXRl IENyZWF0ZWQ= KCcu KS4K ICAgICAgICAgICAgICAgICAg IGFncmU= IEZST00= IGNvb2s= IGV2ZXJ5dGhpbmc= aWxpdGllcw== LnN0YXR1cw== IHJlbGF0aW9ucw== ZXh0ZXJu IG5vdGhpbmc= IHJ1bm5pbmc= CXZvaWQ= Ukk= X2E= X0NPTg== cG9y LnN1Yg== cmVxdWlyZQ== IENpdHk= IFdlc3Q= IG1vcg== c3RvcmU= RXF1YWxz b2Rlcg== IG5h IFtb ICgn IERvbg== RVJT L3A= Lmpzb24= YWJvcg== IHNvbWVvbmU= X3RleHQ= LmNzcw== LlRhYg== IFNvbWU= YXRv ZG91Ymxl IHNoYXJl KHZvaWQ= X2Rpcg== IHVy U3RhY2s= IFdvcmxk Llg= c3RyYWN0 SG93 LkdlbmVyaWM= aWNsZXM= IGVudHJ5 IGNoYW5nZXM= IHBlcnNvbmFs KEE= IG9mZnNldA== X3B0cg== IHBpZQ== IEphbg== LWdyb3Vw bW9kdWxl SXRlbXM= IEhvd2V2ZXI= dmVyYWdl LkZvbnQ= IGV2ZW50cw== Lm1pbg== IGludm9s emE= IHdob2xl IG5lZWRlZA== IGxpa2VseQ== cmllZg== T1JN dmVyc2lvbg== IGZpZ2h0 IGVpbg== RnJhbWU= MTk3 Z2Vu IE91dA== YXZpZ2F0aW9u TGVuZ3Ro aWxsZWQ= cXVlbmNl ICE9PQ== IFNvZnR3YXJl IHdyaXRpbmc= IHJhdGU= J10sCg== UGFuZWw= aW5uZXI= IFsi IHR3 Y2Q= IDsK X3N0YXRl IFNt IE1hcms= KSkKCg== cHJvdA== IE1y bWV0aG9k dXN0b21lcg== SWNvbg== IGNvcnJlY3Q= KG9iamVjdA== IE1vcmU= IGZhbGw= IHZvbA== IGRldmVsb3BtZW50 ZW50bHk= IHNp bWVkaQ== dmluZw== UFA= YWtlcg== IGluZHU= IGVsaWY= IHByZXQ= IGJlbGlldmU= bnM= b21ldA== MTIz IEludGVybg== UmVjdA== U28= LmVycm9y UmVhZA== IGZlYXR1cmVz IG1pbnV0ZXM= LS0t YXNpbmc= Y3JldA== Ij4NCg== LmFubm90 IGNvbGxlY3Rpb24= Jy4= IHNpbWlsYXI= IHRha2Vu KCIl T3JkZXI= J10K LW1k IFRI YWNlZA== IGlzbg== L2o= IHNvbg== Z3JhcGg= IEludGVnZXI= IG5lY2Vzcw== cmVlbg== IHVt IFw8 IG1vbWVudA== IGJyaW5n IGluZGlj eXNpcw== TGV2ZWw= dmVyc2U= dXJyZW5j X3Rlc3Q= IGVudGlyZQ== RG93bg== IH0KCgo= KHJlc3VsdA== IFJlYWQ= w6g= TW9k IHRyeWluZw== IiksCg== IG1lbWJlcg== IENvcg== T0RP LWNvbnRyb2w= dW50aW1l IFNpbQ== RGlhbG9n cGxvdA== X29u IHBoeXM= fS8= IG5hbWVzcGFjZQ== CQ0K YWNj UGxheWVy QVJF ODk= IGZvb3Q= IGJvYXJk cGFydA== IHN1cw== d2lzZQ== IE1j IHB1c2g= QVRB IHBsZWFzZQ== cmllZA== d2VldA== Yml0 aWRlZA== VkU= IFN3 VUI= IHR5cGVz ZWRpYQ== IGNsb3M= YWNlYm9vaw== V2hlbg== IGVkaXQ= aWdnZXI= IGVuZXJn Q29udGFpbmVy IHBob3Q= IENvdW50 IEV1cm9wZQ== Lklz IFJ1c3M= cGVlZA== IFN0cg== IHB5 IGN1bHQ= IGRlZmluZWQ= Y2NvdW50 IG9idA== LkxvY2F0aW9u IHRocmVhZA== aWxsZQ== IGluc3RlYWQ= c3Ryb25n IFNlYw== VVJF IGlkZWE= LnNl ZW15 c2VsZWN0ZWQ= Q29ubmVjdGlvbg== YWNpbmc= dGhyZWFk Lm5leHQ= IGNvbGw= IGZpbG0= aXN0aWM= IGNvbXBldA== IGNvbm4= dGhvdWdo IGNvbXBhbg== b2NrZXQ= IHRlYWNo PSg= IHBob25l IGFjdGl2ZQ== Nzk= ZGVsZXRl MTAx dHJpZXM= IG1v IGRlYXRo fSk7Cgo= b2NvbA== V2lkZ2V0 IGFydGljbGU= cm9kdQ== YW5kaWQ= 0Ys= IENy a2E= KCk6 bG9vZA== CQkJCg== IGFsbW9zdA== IHNlbGw= ZXJ2bGV0 cmlw VW5pdA== IGFwcGxpYw== IGNvbm5lY3Q= IGZlYXR1cmU= IHZpYQ== Jyks IGxpbQ== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= IEd1 RW5naW5l IGVucw== IGVudmlyb25tZW50 YmxvY2s= SEVSRQ== TlVMTA== Z3k= dGFn KSku ZXhw IGNvbXBs IGluc3RhbGw= IGNvbXBsZXRl cXVldWU= YXR1cmFs IGdlbmVyYWw= dGhvbg== IGFza2Vk b3Jlcw== KHJlcw== IHJlc2VydmVk U1A= IOKApg== xYI= IHNpZ25pZmlj T2Zm ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= IEFn IEp1c3Q= IEVycm9y IGluZmw= YWRhdGE= IGljb24= YXNrcw== Jyc= X0xP Py4= YWNjb3VudA== ICgq JykKCg== cmFw X3Zhcg== IEZPUg== IHBhcnR5 IFlvdXI= Y2F0 c3RyeQ== Lm5ldw== Ym9vdA== IE5vdg== IHZlY3Rvcg== IG5vcm1hbA== IGZ1cnRoZXI= UmVwb3NpdG9yeQ== ODAw IGRhdGFiYXNl YXR0bGU= IG11c2lj IHNwZWVk IGRvYw== cHJvY2Vzcw== SUdIVA== LnBhcnNl IHRha2luZw== IHZpb2w= Y2VlZA== IEFmdGVy IGZvcndhcmQ= IGNyaXQ= Ii8+Cg== cm90 IGZhaWxlZA== ZWZvcmU= IGNvbmNlcm4= b2U= YmE= IHNlbmRlcg== IHRlcm0= aGFz PSIj IHBvdGVudGlhbA== TnVt IHB1Ymxpc2hlZA== LmNsb3Nl IEltYWdl c3RyYWludA== VUQ= IE9i IHByb2JhYmx5 bGlt IjoK b2x1bWU= IGNvbnN1bQ== NzY= YWd1ZQ== ZW5zaW9ucw== IGludmVzdGln LXllYXI= Jyk7 LXNt IGVuam95 b3JpZw== ZXJpbmc= Y3A= bGVhc2Vk cGxlbWVudHM= IHJldHVybnM= cGF0 Qk8= IEhvdXNl LkxhYmVs IHdlaWdodA== aWdoYg== IGNvbmRpdGlvbnM= IGV4Y2VwdGlvbg== ZGVzY3JpcHRpb24= IHRyYWQ= LXRv IHt9 IG1vZHVsZQ== RU5E LmFw LnByb3Bz IGNvbnN0cnVjdG9y YXZlcw== IGZhdm9y IE5vdw== O2k= IE1haW4= X2s= ZXJpZXM= 4oCZbGw= dHJhbnNmb3Jt aW1lc3RhbXA= UHJl IG1lcg== LnJlcw== c3RhbnQ= TG9jYXRpb24= X05BTUU= IGxvc3M= IAoK bmV0 IGVuZ2luZQ== QmxvY2s= IGlzc3Vlcw== IHBhcnNl IEJhcg== IHN0YXk= IEpTT04= IGRvbQ== YWlycw== d25lcg== IGxvd2Vy IiwNCg== IERlbQ== dWZhY3Q= IHBz IHBlcmZlY3Q= Ukw= IGVkdWM= bHM= ZW1vcnk= QVJSQU5U dWdl IGV4YWN0 LmtleQ== YWxsZWQ= ZWNo aWVm XC8= b2tl IGZvcm1lcg== YWxsb2M= IHNpeA== aWRh IG1hcmdpbg== IGhlYXJ0 YWxk cGFjaw== LmdldEVsZW1lbnRCeUlk IFdBUlJBTlQ= IHJhdGhlcg== IGJ1aWxkaW5n ZXJtYW4= bGljZQ== IHF1ZXN0aW9ucw== aXplcw== bGVnZQ== aXJlY3Rvcnk= IGpl IGNhcw== cHJvcHM= dXRm IHNlY3VyaXR5 IGhvd2V2ZXI= d2VpZ2h0 IGluc2lkZQ== IHByZXNpZGVudA== Q2hhcg== IFdJVEg= Lm1hcA== IGdyYXBo IHRhZw== X3N0YXR1cw== IGF0dGVtcHQ= b3Bw dXNlcw== CWNvbnN0 IHJvdW5k LCQ= IGZyaWVuZHM= RW1haWw= Pz4= UmVzb3VyY2U= S0VZ b3Nw LnF1ZXJ5 IE5vcnRo YWJsZXM= aXN0cmli X2NsYXNz ZWxsbw== VGhhdA== 0Lo= cGVjaWFsbHk= IFByZXNpZGVudA== IGNhbXBhaWdu IGFsdA== YXJlYQ== IGNoYWxs IG9wcG9ydA== LkNvbg== IGVuZXJneQ== bGlrZQ== LnN0cmluZw== aW5ndG9u KSo= eXk= IHByb2Zlc3Npb24= aXJ0aA== IHNlZw== 5pw= IGhvcg== aWVycw== Y2Fu IGJlaGluZA== UHJvZHVjdA== Zmc= IFNr LmpwZw== Pzo= XTsKCg== IGNhbGxiYWNr IEh0dHA= 0Yw= bG9uZw== TVM= QVRI IHJhaXNl IHdhbnRlZA== cm93bg== dXRvcg== bHQ= XT0= ZWxpbmU= TUE= IHNlcGFy Y3M= c2VtYg== RGlz YnNlcnY= IFdpbGw= IHBvbGljeQ== IHRoaXJk cGhvbmU= IGJlZA== L2c= Ll9f IEluYw== aXppbmc= LnJlbW92ZQ== aW5zdGFuY2U= LnR5cGU= IHNlcnY= RWFjaA== IGhhcg== IE1lc3NhZ2U= KGtleQ== U0VMRUNU UG9z KSk7DQo= IHJlY29tbQ== IHRyYWluaW5n IEVudA== IENoYXI= aWNodA== KGZpbGU= IHByaW9y R2FtZQ== IGV4aXQ= UGFyYW1z LmNvcmU= UEM= bmVz YW5jZWQ= KHJlcXVlc3Q= UGFzc3dvcmQ= fT4K IG1hZw== IHJlbGVhc2U= IHNoYWxs dWRlbnQ= IFNvdXRo YW5kbw== Oic= LlRhYkluZGV4 c2s= YW5uZXI= aXNzZXQ= IG91dHNpZGU= bGVkZ2U= IOU= IFJvYg== IGltbQ== IQo= IFdlYg== RGVz QkM= YW5jaWFs Um91dGU= RGVj ZmVyZW5jZXM= IHB1cmNo IE1vZGVs Y3Rvcg== Z24= X3N0YXJ0 X3Vu Lio= aXNlcw== IGdyb3VuZA== IHVuaXF1ZQ== IGJlYXV0 eyI= IHBvdXI= IE9jdA== IHRyZWU= c2V0cw== X3Jlcw== JyktPg== X3JlZw== KCJc IGJ5dGU= Qmw= IGRhdGluZw== IG1hdHRlcg== IFJlbQ== ICcuLi8= IEF1Zw== IExh ICQo b3VybmFs MTEx aWFt IHNob3dz d3JpdGU= IGJhbGw= IHNpbXBseQ== IGZhc3Q= IG1lbW9yeQ== QVNT IE9m b3ZlZA== YW50ZQ== YXVs aXN0cnk= KSkpOwo= IGZpdA== PHN0cmluZw== IHBvbGl0aWNhbA== YW5jZWw= Xy4= Y2FyZA== LmN1cnJlbnQ= b2No X2ltYWdl XHQ= Iwo= KEw= IGluZHVzdHJ5 Y29taW5n IGV4dHJh NjAw IHJlcG9ydGVk LnN0YXJ0 IHJlc291cmNlcw== IGltZw== Zmxvdw== X0VY KG51bGw= IFByZQ== IHdyb25n aW50ZXJmYWNl UGFyYW1ldGVy bmVycw== 4bs= dHVyZQ== ZXJzaXN0 b3VudHJ5 IHNlZW1z YWxhbmNl ZGVzdA== CVN0cmluZw== IG1haW50 IHVuaXQ= YWN0ZXJz IFRS aWZ1bA== ZXhwb3J0cw== cHJvamVjdA== QXBwbGljYXRpb24= bGVnYXRl IHRha2Vz dGVybQ== IGV0Yw== dXN0ZXI= IGFwcGVhcg== YWRkcmVzcw== IGZlbQ== aHM= IGhvbQ== LC0= IGRpZmZpY3VsdA== IGNvbWluZw== T3Blbg== IHNldHRpbmdz IFdhcg== IFRoZW4= IGF1dG9t IEZvdW5kYXRpb24= IHF1aXRl RGVzY3JpcHRpb24= IGJsb2c= aXF1 UFM= MTEw X2ZpZWxk SnNvbg== U1NJT04= IFNjaA== IExP IGRlc2NyaQ== IGV2ZXJ5b25l IHByZXR0eQ== IGxvbmdlcg== IG1lbnU= IGN1cnJlbnRseQ== c2Vj IHJlbGF0aW9uc2hpcA== IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM= IE1hcA== YXNldA== IHBhcmFtZXRlcnM= IGNydXNo Ig0K SUxJVFk= aWdyYXRpb24= IGNvdXQ= dG90YWw= IG5hbWVz bmRlZg== Iik7 cmllbmQ= eW5hbWlj IGVmZm9ydA== IGFjdHVhbA== IGZpZWxkcw== T1VO dGVycw== MjUw IGZpeA== X21vZGVs IGNhc2Vz Q0E= TXk= SW50ZXJmYWNl IFNF MTk2 XV0= YWxsZQ== IE5hdGlvbmFs IEFycmF5TGlzdA== aW5saW5l LlY= YXJh cmVmaXg= YXNj UmVhZGVy INC/ YXN0aWM= KCgp Q2w= LmFubm90YXRpb24= IHBlcmZvcm1hbmNl YWlseQ== LnRvU3RyaW5n Lm5ldA== dmlld3M= LmVuZA== YXllcnM= bGF0ZQ== IEFwcg== ZWRlcmFs J10p LmJvZHk= IGhpZ2hlcg== X2Zs Y3I= YWxlcnQ= X25vZGU= IEdvb2dsZQ== IGl0c2VsZg== QXV0aA== dXJyZW5jeQ== IHNpZ25pZmljYW50 YXBwZW5k IHJlc3BlY3Q= c3RyYXA= IHVuYQ== cml0ZXJpYQ== UE9SVA== LmFwYWNoZQ== T3V0cHV0 IHByb2dyZXNz IG1pZA== IE1pY3Jvc29mdA== IHJlc291cmNl YWJsaXNo IGRpbQ== LmxvYWQ= LkFwcA== IGRpcmVjdGlvbg== IGFkZGl0aW9uYWw= ICAgICAgICAgICAgICAgICAgICAgICAg IG51bWJlcnM= IGNvbXBhbmllcw== LlRo IHNvdW5k dXNlcm5hbWU= IHN0YXRlbWVudA== IGFsZXJ0 IGNvbnRyYWN0 aG9tZQ== X2xlbmd0aA== LkNvbXBvbmVudA== ZXY= LkV4 77ya Ijs= IEhpZ2g= ICkKCg== IFBvaW50 b3Bo IGxpbmVz LT5f IikKCg== b3g= YXBwbGljYXRpb24= IF0K CgoKCgoK MTgw IHNvb24= Y3Rpb25z aW5nZXI= IGpvaW4= IFBl IOs= IGxhcw== LkU= Y3Nz L29y IFN0YXJ0 IFRP IHN1YnM= Y29ubg== Y29tcG9uZW50cw== REVCVUc= cXVhcmU= RnVuY3Rpb24= ZW5kYXI= LmluZGV4 IGZpbGw= xJk= IGNob29zZQ== aG93 IEFtZXJpY2E= YXNzZXRz LS0tLS0tLS0tLS0t IFZhbHVl IG9mZmljZQ== IHZlaA== IHRyYW5zZm9ybQ== IEFydA== IGluZGU= IGZu IGltcGxlbWVudHM= YW5nbw== cGxldGU= KyI= dG1w YW1pbHk= IGhhc2g= bWlzc2lvbnM= RVNU Z3Q= UHJvdmlkZXI= ICAgICAgICAgICAgICAgICAgICAgIA== IGZsYWc= IHBhcnRpY2lw ZGVu IFJldHVybnM= IG5vdGU= w7xy cG0= aWRlb3M= IHNwZWNpZmllZA== IEVO ZXN0ZXI= b2xpZA== IHVwb24= KHN0ZA== CXY= ICdc dXo= IHZlcnQ= IHZpY3Q= CXNlbGY= ICIk ODU= Lms= IGdyb3Vwcw== Z2l0aHVi bGFuZw== IG11dA== VE8= IHZl IFBsZWFzZQ== OwoKCg== YWNjZXNz IHsi cmVh IHJpc2s= aWNrZXI= b2dnbGU= CXdoaWxl QU5H LnNlbmQ= NzI= IHdvbWFu IGdldHM= IGlnbg== IElk X2xvZw== T05F IGV2aWQ= IEhhcg== X3N1Yg== IGVuZGw= IGluY2x1ZGVk KCkpOwoK IEFw aWdy IHNlbQ== IEJsYWNr ZG9j X3RhYmxl ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== LXVw IGNhdXNl IC4u IHZhbg== X2RpY3Q= IGZvY3Vz SU5E Q0VTUw== LkxvZw== IG11bHRpcGxl aWRv IHJlZ2FyZA== LU0= YW5kbGVy b3Vyc2U= IGRlZw== LlU= IGFkZGl0aW9u IHZhcmlvdXM= IHJlY2VpdmU= 0LXQvQ== IEhU T2Jq REY= IGluY3JlYXNl IE9wZW4= XTs= IGNvbW1pdA== Pwo= YXRlZ29yaWVz YXRvcnk= c2hpcA== IE1pY2g= IGh0bWw= cm9taXNl IGxlYXZl IHN0cmF0ZWc= YXZlbg== IENvbnNvbGU= a25vd24= LW4= X0xF LmNvbXBvbmVudA== IGJyZQ== U2Vzc2lvbg== aWFuY2U= IGFsaWdu dHlwZWRlZg== X3Jlc3VsdA== IFdIRVJF LnNwbGl0 IHJlYWRpbmc= RkFVTFQ= IGNsbw== IG5vdGljZQ== X3By YXJ0ZXI= IGxvY2s= IHN0YW5kYXJk ZXRpYw== ZWxsb3c= IHBhZGRpbmc= IEhpcw== IHN0YXRlcw== X2Nhc3Q= KFA= YWE= IGludGVybmFs ZWFu IFBSTw== IEtleQ== IGVzcGVjaWFsbHk= bWluZw== IGNyb3Nz IG5hdGlvbmFs X29iamVjdA== ZmlsdGVy IHNjcmlwdA== LnVwZGF0ZQ== X2k= IEFzc2VydA== L2NvcmU= JSUlJQ== IHByb2JsZW1z aXN0b3I= IC49 IGFyY2g= IHdyaXR0ZW4= IG1pbGl0 TUVOVA== LmNo Y2FwZQ== IE11cw== X2NvbmZpZw== IEFQSQ== Zm9vdA== IGltYWdlcw== ZW5kbA== Lklu Rmlyc3Q= IHBsYXRmb3Jt LnByb3Q= T3B0aW9u c3Rl IFRPRE8= IGZvcmNl LmNvbnQ= CWVjaG8= IERhdg== UHRy KEI= UlQ= IEJhc2U= XVsn IGFubm91bmM= Y29uc29sZQ== IFB5 ZHM= LmFz IHByZXZlbnQ= YXBhbg== IHsn fTwv IFNlcnZpY2U= IFNlbg== YWRvcg== cHJvZmlsZQ== VG9w IGl0ZXI= cG8= SUVT SlNPTg== SUU= aWFudA== 44CB X2o= IFNlcHQ= X21hcA== YnVt KGNvbnRleHQ= IEhvbWU= aWFucw== R0I= NjM= IGxpdmluZw== IHBhdHRlcm4= KGlucHV0 aWNpZW50 OTk5 Q29yZQ== IGVudGl0eQ== IGludGVn Q2hhbmdlZA== IHVzZWZ1bA== LmluZm8= IHRvb2w= KGl0ZW0= IG9r IGZlZWQ= SVg= w6lz IE5ld3M= cmVtb3Zl ZXJyeQ== CQkJCQkJCQkJ aXBtZW50 YXJlcw== RG8= Q3VycmVudA== LmNvbnRlbnQ= Lkdyb3Vw dXN0cmFs INGB fSk= IHBvcHVsYXI= IHN0cmU= IG1ldGhvZHM= X0VSUk9S TGVmdA== Y2Fs YnNw LlRvU3RyaW5n IGRpcg== IGFsbG93ZWQ= IGltcGFjdA== IildCg== NjI= LmNvbmZpZw== IGVsZW1lbnRz IHByb3Rl IHRyYWlu LnRy cnM= IFJlcHVibGlj IFRhc2s= NjE= YXJpZXM= KEQ= KGdldA== 4oCmCgo= IHJlbGF0ZWQ= IHZlcnM= IHNpbA== ICIiOwo= IGNtZA== IHRlY2hub2xvZ3k= LndpZHRo RmxvYXQ= IFVzZQ== Qm9keQ== c2hvdWxk LmpvaW4= Rm9udA== bGx1bQ== eWNsZQ== IEJyaXQ= IG1pdA== IHNjYWxl IChf ZXJuZWw= IikpCg== IHNjb3Jl L3Y= IHN0dWRlbnQ= VUM= LnNob3c= IGF2ZXJhZ2U= RW5hYmxlZA== KGV4 Y29tbW9u aW1hdGlvbg== OkAi Y2hpZQ== IC4uLgoK cml2ZXI= IE1hcmNo Y2F0ZWdvcnk= Zmlu IGNvdXJ0 0LI= U2VydmVy IGNvbnRhaW5lcg== LXN0 X2Zvcg== IHBhcnRz IGRlY2lzaW9u b2Jz b3Vi bWl0dGVk ICQoJyM= IHNhdw== IGFwcHJvYWNo SUNF IHNheWluZw== IGFueW9uZQ== bWV0YQ== U0Q= IHNvbmc= ZGlzcGxheQ== T3Blcg== b3V0ZXM= IGNoYW5uZWw= IGNoYW5nZWQ= w6o= IGZpbmFsbHk= X251bWJlcg== UGxlYXNl 4KQ= b3Jpbmc= LXJl IGtpbGw= IGRydWc= d2luZG93 IGNvbnZlcnQ= b21icmU= IHdheXM= SGVscGVy IEZpcnN0 KF9f dXJpdHk= IFdpbmRvd3M= ZWVz IG1hdA== cmFwcGVy IHBsdXM= YW5nZXM= Il0u YXpvbg== L3Q= bGF0 YXN0ZQ== IHByb2ZpbGU= IHJlYWR5 I2lmbmRlZg== cm90ZQ== IHNlbnNl R2VuZXI= IENvbmZpZw== b215 IEp1bmU= IGxhdGVzdA== IHNhZg== IHJlZ2lvbg== IGRlZXA= d2l0Y2g= IFBhcms= fWA= IEZyb20= SUk= IGN2 IHJlYWNo IGNvdW50ZXI= IFdvcms= IFVSTA== IFVwZGF0ZQ== JywNCg== IGltbWVkaQ== Y2xvc2U= YWRvcw== ZmVycmVk IHdlZWtz dXJn IGRhbWFnZQ== IGxvc3Q= YW5p X2xv IGhpbXNlbGY= IGRvZw== KV0K 778= cGly dHQ= IHBhcGVy IHRoZW1z c2Vjb25k IHN0YWZm IElucHV0 Iis= IEZhY2Vib29r IGFsbG9j IHNjaGVk QUNF IHRoZW1zZWx2ZXM= IENvbXBvbmVudA== IGRyaXZlcg== amE= KHBhdGg= IGNhdGVnb3J5 YWxscw== cHU= bGx1bWluYXRl IEFjdGlvbg== LmJ1dHRvbg== IEdM aXN0aWNz IG9pbA== IHN0b2Nr Pic= IGRlYWQ= VkFM UVVF KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq IGNoYXJn UmV0dXJu IGZ1bA== ZG9t IHJ1bGVz IG1vZGlmeQ== IGV2YWw= aGFt YXRlbWVudA== XDw= dWxh PUZhbHNl UkE= IGNvbnRhaW5z NzQ= IHN0YWNr bWFy IHt9Cg== IHVuZGVmaW5lZA== QXNz IENoaW5h dmV5 Kgo= IHBsYXlpbmc= KS8= YWN0b3I= IGJvdHRvbQ== bGllcg== IE51bWJlcg== IGNvdXBsZQ== REM= IFNP Z29y LnNldFRleHQ= c3VjY2Vzcw== Y29tbWFuZA== RmlsdGVy IE91cg== X2l0ZW0= IGN0eA== IHJvYWQ= VmVyc2lvbg== Y2FzZQ== dXJ0 YXZpb3I= eWNo c2VtYmx5 IFByb2R1Y3Q= IGhlbGQ= YWZl IGluY2x1ZGVz PHF1b3Rl IGF2b2lk IEZpbg== IE1vZA== IHRhYg== YW5v w7E= aXBwaW5n LWU= IGluc2VydA== dGFyZ2V0 Y2hhbg== Lk1vZGVs SU1F XAo= IG1hY2hpbmU= YXZ5 IE5P IEludGVy IG9wZXJhdGlvbg== bW9kYWw= VGFn XTo= IHByb2R1Y3Rpb24= IGFyZWFz IHJlbg== X2Zyb20= bmJzcA== IG9wZXJhdG9y bWVu YXBwZWQ= X3Blcg== emVu KCIu LnNhdmU= PSJ7ew== IHRvcg== KHJlc3BvbnNl IGNhbmRpZA== IGNvbnY= YWlsZWQ= IExpYg== Y29tcA== dXJh 77+9 IEhlcmU= IGFyZ3VtZW50 aG9vZA== IGVzdGFibGlzaA== b2dyYXBoeQ== IG9uQ2xpY2s= YW1iZGE= IHNjaA== IG1vdmll IHNlYw== IGFjdGl2aXR5 2Kc= IHNxbA== X2FsbA== aW5jaXA= IHByb3ZpZGVz IHN5cw== YWNrZXQ= IHdhc24= IHVzZXM= IEZ1bmN0aW9u Lmdvb2dsZQ== IFJlc3VsdA== ODQ= VmlzaWJsZQ== YWdtYQ== ZWxjb21l IFN5 IENlbnQ= QUxTRQ== YWNpw7Nu RVhU IGxpY2Vuc2U= IExvbmc= IGFjY29t IGFiaWxpdHk= LmhlaWdodA== QWN0aXZl b2xvZ2ljYWw= b2x5 KSks LlNl IHBhcmFtZXRlcg== cHJpdGU= QUJJTElUWQ== LnNlcnZpY2U= IEdyb3Vw X3F1ZXJ5 IEl0ZW0= aW5pbmc= IGp1ZA== aW1z Zml4 aW5kZXI= YWdyYW0= IGZ1bmN0aW9ucw== IGV4cGVyaQ== IEVt IHJvdA== IHBlbg== LmJ0bg== IEFT I2lmZGVm IGNob2ljZQ== IFBhZ2U= X1BSTw== UVU= 5Y8= YW50aXR5 wq0= d29yZHM= IHJlYWRvbmx5 IGZsZXg= cHJvdGVjdGVk IEFueQ== IGNoYXJhY3RlcnM= ZW5jZWQ= IEp1bHk= aWxlcg== Q2FyZA== dXJhbmNl IHJldg== LmV2ZW50 YWx5 MTMw IHdvbmRlcg== IFBvcnQ= IGxlZ2Fs cm9sZQ== IHRlbg== IGdvZXM= TVA= d2hpdGU= KToNCg== KSkNCg== IHJlZmVyZW5jZQ== IG1pcw== IFByb2plY3Q= aWNrcw== PiY= Q09O IHJlcGw= IHJlZ3VsYXI= U3RvcmFnZQ== cmFtZXdvcms= IGdvYWw= IHRvdWNo LndpZGdldA== IGJ1aWx0 ZGVz UGFydA== KHJl IHdvcnRo aGli Z2FtZQ== OTE= MTky INCy YWNpb24= IFdoaXRl KHR5cGU= KGA= ODE= IG5hdHVyYWw= IGluag== IGNhbGN1bA== IEFwcmls Lkxpc3Q= IGFzc29jaWF0ZWQ= CVN5c3RlbQ== fn4= PVs= IHN0b3JhZ2U= IGJ5dGVz IHRyYXZlbA== IHNvdQ== IHBhc3NlZA== IT0= YXNjcmlwdA== Lm9wZW4= IGdyaWQ= IGJ1cw== IHJlY29nbg== QWI= IGhvbg== IENlbnRlcg== IHByZWM= YnVpbGQ= NzM= SFRNTA== IFNhbg== IGNvdW50cmllcw== YWxlZA== dG9rZW4= a3Q= IHF1YWw= TGFzdA== YWRvdw== IG1hbnVmYWN0 aWRhZA== amFuZ28= TmV4dA== eGY= LmE= IHBvcm5v IFBN ZXJ2ZQ== aXRpbmc= X3Ro Y2k= PU5vbmU= Z3M= IGxvZ2lu YXRpdmVz J10pOwo= xIU= IGlsbA== SUE= Y2hpbGRyZW4= RE8= IGxldmVscw== IHt7 IGxvb2tz ICIj VG9TdHJpbmc= IG5lY2Vzc2FyeQ== ICAgCg== Y2VsbA== RW50cnk= ICcj IGV4dHJlbQ== U2VsZWN0b3I= IHBsYWNlaG9sZGVy TG9hZA== IHJlbGVhc2Vk T1JF RW51bWVy IFRW U0VU aW5x UHJlc3M= IERlcGFydG1lbnQ= IHByb3BlcnRpZXM= IHJlc3BvbmQ= U2VhcmNo YWVs IHJlcXU= IEJvb2s= Lwo= KHN0 IGZpbmFuY2lhbA== aWNrZXQ= X2lucHV0 IHRocmVhdA== KGlu U3RyaXA= 7J0= w6fDo28= NzE= IGV2aWRlbmNl KSk7 IEJybw== IFtdOwo= IG91 YnVm U2NyaXB0 ZGF0 IHJ1bGU= I2ltcG9ydA== PSIv U2VyaWFs IHN0YXJ0aW5n W2luZGV4 YWU= IGNvbnRyaWI= c2Vzc2lvbg== X25ldw== dXRhYmxl b2Jlcg== ICIuLw== IGxvZ2dlcg== IHJlY2VudGx5 IHJldHVybmVk DQ0K KSkpCg== aXRpb25z IHNlZWs= IGNvbW11bmlj ICIu IHVzZXJuYW1l RUNU RFM= IG90aGVyd2lzZQ== IEdlcm1hbg== LmF3 QWRhcHRlcg== aXhlbA== IHN5c3RlbXM= IGRyb3A= ODM= IHN0cnVjdHVyZQ== ICQoIiM= ZW5jaWVz YW5uaW5n IExpbms= IFJlc3BvbnNl IHN0cmk= xbw= IERC 5pc= YW5kcm9pZA== c3VibWl0 b3Rpb24= OTI= KEA= LnRlc3Q= ODI= CgoKCgoKCgo= XTsNCg== IGRpcmVjdGx5 ICIl cmlz ZWx0YQ== QUlM KXsNCg== bWluZQ== ICAgICAgICAgICAgICAgICAgICAgICAgICA= KGs= Ym9u YXNpYw== cGl0ZQ== X19f TWF4 IGVycm9ycw== IFdoaWxl IGFyZ3VtZW50cw== IGVuc3VyZQ== UmlnaHQ= LWJhc2Vk V2Vi IC09 IGludHJvZHU= IEluc3Q= IFdhc2g= b3JkaW4= am9pbg== RGF0YWJhc2U= IGdyYWQ= IHVzdWFsbHk= SVRF UHJvcHM= Pz4K IEdv QE92ZXJyaWRl UkVG IGlw IEF1c3RyYWw= IGlzdA== Vmlld0J5SWQ= IHNlcmlvdXM= IGN1c3RvbWVy LnByb3RvdHlwZQ== b2Rv Y29y IGRvb3I= IFdJVEhPVVQ= IHBsYW50 IGJlZ2Fu IGRpc3RhbmNl KCkpLg== IGNoYW5jZQ== IG9yZA== Y2FtZQ== cHJhZ21h IHByb3RlY3Q= cmFnbWVudA== IE5vZGU= ZW5pbmc= 0Yc= IHJvdXRl IFNjaG9vbA== aGk= IG5laWdoYg== QWZ0ZXI= bGljaXQ= IGNvbnRy IHByaW1hcnk= QUE= LldyaXRlTGluZQ== dXRpbHM= IGJp UmVk LkxpbnE= Lm9iamVjdA== IGxlYWRlcnM= dW5pdGllcw== IGd1bg== b250aA== IERldg== RklMRQ== IGNvbW1lbnRz X2xlbg== YXJyb3c= YW1vdW50 UmFuZ2U= c2VydA== R3JpZFZpZXc= IHVwZGF0ZWQ= IE1v IGluZm9ybQ== b2NpZXR5 YWxh QWNjZXNz IGhhYg== IGNyZWF0 X2FyZw== IEphbnVhcnk= IERheQ== IikNCg== dXBsZQ== ZG9jdW1lbnQ= Z29yaXRo bWVudQ== IE92ZXI= YmI= LnRpdGxl X291dA== IGxlZA== dXJp ID8+PC8= Z2w= IGJhbms= YXltZW50 CXByaW50Zg== TUQ= IHNhbXBsZQ== IGhhbmRz IFZlcnNpb24= dWFyaW8= IG9mZmVycw== aXR5RW5naW5l IHNoYXBl IHNsZWVw X3BvaW50 U2V0dGluZ3M= IGFjaGll IHNvbGQ= b3Rh LmJpbmQ= QW0= IHNhZmU= U3RvcmU= IHNoYXJlZA== IHByaXY= X1ZBTA== IHNlbnM= KXs= IHJlbWVtYmVy c2hhcmVk ZWxlbWVudA== IHNob290 VmVydA== Y291dA== IGVudg== X2xhYmVs ID4K cnVu IHNjZW5l KGFycmF5 ZGV2aWNl X3RpdGxl YWdvbg== XQ0K YWJ5 IGJlY2FtZQ== Ym9vbGVhbg== IHBhcms= IENvZGU= dXBsb2Fk cmlkYXk= IFNlcHRlbWJlcg== RmU= IHNlbg== Y2luZw== Rkw= Q29s dXRz X3BhZ2U= aW5u IGltcGxpZWQ= YWxpbmc= IHlvdXJzZWxm LkNvdW50 Y29uZg== IGF1ZA== X2luaXQ= Lik= IHdyb3Rl MDAz Tkc= LkVycm9y 5Ls= LmZvcg== IGVxdWFs IFJlcXVlc3Q= IHNlcmlhbA== IGFsbG93cw== WFg= IG1pZGRsZQ== Y2hvcg== MTk1 OTQ= w7g= ZXJ2YWw= LkNvbHVtbg== cmVhZGluZw== IGVzY29ydA== IEF1Z3VzdA== IHF1aWNrbHk= IHdlYXA= IENH cm9wcmk= aG8= IGNvcA== KHN0cnVjdA== IEJpZw== IHZz IGZyZXF1 LlZhbHVl IGFjdGlvbnM= IHByb3Blcg== IGlubg== IG9iamVjdHM= IG1hdHJpeA== YXZhc2NyaXB0 IG9uZXM= Lmdyb3Vw IGdyZWVu IHBhaW50 b29scw== eWNs ZW5jb2Rl b2x0 Y29tbWVudA== LmFwaQ== RGly IHVuZQ== aXpvbnQ= LnBvc2l0aW9u IGRlc2lnbmVk X3ZhbA== YXZp aXJpbmc= dGFi IGxheWVy IHZpZXdz IHJldmU= cmFlbA== IE9O cmljcw== MTYw bnA= IGNvcmU= KCkpOw0K TWFpbg== IGV4cGVydA== CQkNCg== X2Vu IC8+ dXR0ZXI= SUFM YWlscw== IEtpbmc= Ki8KCg== IE1ldA== X2VuZA== YWRkcg== b3Jh IGly TWlu IHN1cnBy IHJlcGU= IGRpcmVjdG9yeQ== UFVU LVM= IGVsZWN0aW9u aGFwcw== LnByZQ== Y20= VmFsdWVz ICIK Y29sdW1u aXZpbA== TG9naW4= aW51ZQ== OTM= IGJlYXV0aWZ1bA== IHNlY3JldA== KGV2ZW50 IGNoYXQ= dW1z IG9yaWdpbg== IGVmZmVjdHM= IG1hbmFnZW1lbnQ= aWxsYQ== dGs= IHNldHRpbmc= IENvdXI= IG1hc3NhZ2U= CWVuZA== IGhhcHB5 IGZpbmlzaA== IGNhbWVyYQ== IFZlcg== IERlbW9jcg== IEhlcg== KFE= Y29ucw== aXRh ICcu e30= CUM= IHN0dWZm MTk0 IDoK IEFS VGFzaw== aGlkZGVu ZXJvcw== SUdO YXRpbw== IEhlYWx0aA== b2x1dGU= RW50ZXI= Jz4= IFR3aXR0ZXI= IENvdW50eQ== c2NyaWJl ID0+Cg== IGh5 Zml0 IG1pbGl0YXJ5 IHNhbGU= cmVxdWlyZWQ= bm9u Ym9vdHN0cmFw aG9sZA== cmlt LW9sZA== IERvd24= IG1lbnRpb24= Y29udGFjdA== X2dyb3Vw b2RheQ== IHRvd24= IHNvbHV0aW9u dWF0ZQ== ZWxsaW5n XS0+ b3Rlcw== ZW50YWw= b21lbg== b3NwaXRhbA== IFN1cA== X0VO IHNsb3c= U0VTU0lPTg== IGJsdWU= YWdv IGxpdmVz IF4= LnVu aW5zdA== ZW5nZQ== IGN1c3RvbWVycw== IGNhc3Q= dWRnZXQ= 77yB aWNlbnM= IGRldGVybWlu U2VsZWN0ZWQ= X3Bs dWV1ZQ== IGRhcms= Ly8KCg== c2k= dGhlcm4= IEphcGFu L3c= UFU= IEVhc3Q= b3ZpZQ== IHBhY2thZ2U= IG5vcg== IGFwaQ== Ym90 Il07Cg== X3Bvc3Q= dWxhdGU= IGNsdWI= JykpOwo= IGxvb3A= UElP aW9uZQ== c2hvdA== SW5pdGlhbA== IHBsYXllZA== cmVnaXN0ZXI= cm91Z2h0 X21heA== YWNlbWVudA== bWF0Y2g= cmFwaGljcw== QVNU IGV4aXN0aW5n IGNvbXBsZXg= REE= LkNo LmNvbW1vbg== bW8= ICcuLi8uLi8= aXRv IGFuYWx5c2lz IGRlbGl2ZXI= ICAgICAgICAgICAgICAgIAo= aWR4 w6A= b25nbw== IEVuZ2xpc2g= PCEtLQ== IGNvbXB1dGVy RU5TRQ== IHBhcw== IHJhaXM= SGFzaA== IG1vYmlsZQ== IG93bmVy RklH ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dGhlcw== IGF0dHI= d2Q= LnRpbWU= YXdu IHRyZWF0bWVudA== IEFj LlZpZXc= aW1wbA== bW9yZQ== cGFzcw== IGhh LmZyb20= IGxlYWRpbmc= RkZGRg== KGVycm9y LnVp YXRhcg== YWRlcnM= ZGF0ZXM= IHp1 IGZsb3c= VGFyZ2V0 IGludm9sdmVk IGlv cGFyc2U= JF8= aGVzdA== LmludA== LWl0ZW0= YXN5 U3A= IHNoaWZ0 TlQ= IHRm X1RS LndlYg== Q1M= IH0p IGV5ZXM= MTI1 MTA1 X3o= Jyk7DQo= aWZvcm4= IHtA IG5pY2U= Lmxpc3Q= ICAgIA0K IGZsb29y IHJlZGlyZWN0 IFVL KFsn IHdpc2g= IGNhcHQ= bGVnYWw= IElP IHN0YWdl LlN0cmluZw== IEFmcg== aWdlbg== IFNI RGVsZXRl ZWxscw== IHNvbGlk IG1lZXRpbmc= IHdvcmtlZA== IGVkaXRvcg== aW55 0Lw= X3JlYWQ= Lklk ZWZm T2Zmc2V0 Y2hh VVNFUg== CQkgICA= aXBwZWQ= IGRpY3Q= IFJ1bg== LmhwcA== IGFuZw== eG1s aW1wbGU= IG1lZGljYWw= X3Rva2Vu Y29ubmVjdA== IGhvdXI= IGNvbnRyb2xsZXI= X21lc3NhZ2U= VUlE R3I= YW5kZWQ= X0NI IGJvb2tz IHNwZWFr YW1pbmc= IG1vdW50 UmVjb3Jk CXN0cnVjdA== LldlYg== b25kb24= IC8vCg== IGZlbHQ= LkF1dG8= aWRnZQ== X3Bvcw== UFI= IG1vZGVybg== Q29sbGVjdGlvbg== X21zZw== Q0Q= IExv IHNlY29uZHM= aWJseQ== LmVxdWFscw== IGludGVybmF0aW9uYWw= I3ByYWdtYQ== b290aA== V3JpdGVy aWF0ZQ== IGNlbGU= IEJpdA== aXZv aXZlcnk= cmQ= SEVDSw== IGNhY2hl LmNvdW50 IHJvbGw= LlJlYWQ= MTA4 UkVE IHNldHVw aXpvbnRhbA== bW9kZWxz YXJndg== IGNvbnNpZGVyZWQ= PSIuLi8= c2V0dGluZ3M= IFJlbA== IGdyb3d0aA== IG1peA== IFdhc2hpbmd0b24= IHBsdA== IElN 4bo= IHR1cm5lZA== IERhdGVUaW1l IFdlZA== KHVybA== ICIt IGxldHRlcg== QXN5bmM= ICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== IE9jdG9iZXI= X2xpbmU= IGF0dGVudGlvbg== IGNvbGxlY3Q= IEhhc2g= IGltYWc= VHJlZQ== IHNpdHVhdGlvbg== ZXR0ZQ== X25v SVZF IHZvbg== LnRhcmdldA== IGtub3dsZWRnZQ== IGRyaXZl LnBvc3Q= IGJsb29k IGNpdA== cHJpbWFyeQ== IGNvbmZpZ3VyYXRpb24= dGVl IHBob3Rv aXNvZGU= VHJhY2U= IGdhdmU= IHNob3Q= IEFpcg== IG1vdGhlcg== cHJpY2U= IG1vcm5pbmc= KSl7Cg== LXg= IHRyYWRl IGRlc2M= ICYmCg== IHBhcmVudHM= QXBp 5Yg= dGVk d2Vy IOY= IHN5 IEtl UGFyc2Vy 5YU= YW5jeQ== IHBpZWNl aWZvcm5pYQ== dG9TdHJpbmc= cmFu aWRpbmc= UFRJT04= Y29tZXM= L2xpYw== LmNsaWVudA== RWw= TG9uZw== IHByb2Zlc3Npb25hbA== cnVwdA== dmE= IGNvbXBsZXRlbHk= IHByYWN0aWNl MDAy IHNlbGVjdGlvbg== UmVt aW5p IGNhbQ== UkVF IHNpdGVz cGE= QVRVUw== 0YHRgg== YXJyYW50 Kig= X0tFWQ== IEJ1dHRvbg== IEZyaWRheQ== c2VxdQ== IHJlYWRlcg== IG1lc3NhZ2Vz 6K8= IGJ1Zg== S2U= IG5vdg== SFA= TXNn YWxpZ24= YXJpbHk= ICcs X3dpdGg= IGRhcw== IGhlYXJk YXRvbWlj cmlhbA== KVs= IGRpc2U= QGVuZA== IGdvbGQ= IGZhaXI= IHNhbGVz LkJ1dHRvbg== c3RyaWN0 c2F2ZQ== IG1lYXN1cmU= ICIr ZWNhdXNl Vmlld0NvbnRyb2xsZXI= IFRhYmxl LnBhcmFt IGRlY2lkZWQ= KCgo SU5GTw== IG9wcG9ydHVuaXR5 VGU= SUNFTlNF Y2NvcmRpbmc= a2k= IFVO IGNvbnRhaW4= IG1hbmFnZXI= IHBhaW4= IEZpcmU= cm9tZQ== IHBsYW5z Rm91bmQ= bGF5 IERlY2VtYmVy IGluZmx1 w7o= cmVuY2g= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YXppbmc= YnJpZWY= Y2FsbA== d29vZA== IGxvYWRlZA== IGdyYW5k L2Y= aW1w X1U= MTI3 U1RS 4oCi IGNyZWRpdA== LkNvbG9y b3JnZQ== UVVFU1Q= IGRpZmZlcmVuY2U= IFBD d2FyZ3M= IHB1Yg== dW5kYXk= IGZyYQ== Lm1heA== IHRyaWVk YW5uZWxz c2VuZA== IHJlcG9ydHM= IGFkdWx0 5Lo= IGNvbnNpc3Q= IFN0cmVldA== IFByb2dyYW0= U1FM TWF0cml4 b3VuY2ls LUE= CXc= IHdob3Nl IHJlbGln IFNleA== IGdpdmVz bm9uZQ== Lm1lc3NhZ2U= KEc= LmF3dA== LXJpZ2h0 IE5vdmVtYmVy ZWxsaWc= MzYw dXRpdmU= xIM= b3Zlcm4= IGVhc2lseQ== IGlkZWFz MTA0 INC9 L2Nzcw== bHlpbmc= ZWxsZQ== Q2Fu X2NvbG9y 0L7Qsg== IHBhaXI= bmd0aA== IHNwbGl0 MTQw ZHJvcA== YXJ0eQ== b25h IGNhcGl0YWw= IGhlYXI= IGV4aXN0cw== CWxvZw== ZW1v UnVu b2k= IHBhcnNlcg== IE1ldGhvZA== IGVkdWNhdGlvbg== W2s= IGxpYnJhcnk= PiI7Cg== X1VO CXN0ZA== b2RlZA== IGNhbGxz aGVyZQ== UmVs IGJyYW5k YmFja2dyb3VuZA== Z2E= X2FkZHJlc3M= X3BhcmFtcw== Q2F0ZWdvcnk= MTAz IEluZGlh X2V2ZW50 IGluZw== UmVuZGVy LmNs dW1weQ== IHBldA== RkM= IEFudA== RXh0 IGNoYXJnZQ== ZW5lZA== Z3JhZA== RU8= IGRlcGVuZA== IC4KCg== ZnJhbWU= IGRm IGh1Z2U= IFBBUlQ= ZWRz Ozs= IEFN IGJhc2lj IExldA== bGljaA== IGFybQ== IHN0YXI= IGZlZGVyYWw= V29yaw== IGNhcnJ5 IElzcmFlbA== KG9iag== PXt7 IHNhdmVk IHN5bg== IGNvbnN0YW50 VkVOVA== IHBvc2l0aXZl IGNvbmR1Y3Q= IHNraW4= IGVhcmxpZXI= IGxheW91dA== IElQ T1VS IHRpbQ== c3R5bGVzaGVldA== X2Ns IENhcmQ= Kyspewo= IHRlbXBlcg== IERhdmlk CXRyeQ== LmRhcnQ= IHdhbnRz IHBpY3R1cmU= IHZpZGVvcw== IENvbW0= aXNpb25z X01BWA== TWFwcGluZw== LWNvbnRlbnQ= IEVhcg== LWRl IHByZW0= YnJ1YXJ5 IGNvbXBvbmVudHM= IHRocm91Z2hvdXQ= IHB1bGw= IHBhZ2Vz ZW50ZQ== cmVzcG9uZA== IGdhcw== Y3JpcHRvcg== IGVkZ2U= IGJvdW5k QUNU KioqKioq IGNyZWF0aW5n IENI IG51bGxwdHI= QnI= Kyc= LmNv Pjo6 IGxlYXJuaW5n Lkxlbmd0aA== X1NI IHBhdGllbnRz QUlO IGtpZHM= IGNvbWZvcnQ= IHNob3du dWdpbnM= IEJhY2s= ZWxsYQ== X0NM IGxhdA== IGRpc3BhdGNo IGNsYXNzZXM= LmF0 LmJlZ2lu IHN1Y2Nlc3NmdWw= YmFu IG9idGFpbg== IFNs IGxhY2s= aXRlcmF0b3I= VGhyZWFk KHNpemU= IG5vbmU= Lmhhcw== X1g= c29ydA== bmFw cGV0 Ymlu NzAw IENhbmFkYQ== VGhleQ== IGRhbnM= IE1hdA== PHRk IGhhaXI= ICcnLAo= IGN1 IGxhd3M= bGV0ZWQ= cGVk IHBvdw== IGtuZXc= X0NPTQ== Xyw= IE1hZw== aWRlbnRz KHJlcQ== ICks LWNlbnRlcg== MTkw IHdpZGU= IEF1dGhvcg== c3RhbnRz IGpvYnM= IG1hdGg= ZXRpbWVz Qm9vbGVhbg== IHNjb3Bl X2lz IG1lYXM= IGtleXM= ZWxheQ== IGV4YWN0bHk= Jz0+Jw== IFBhdWw= bWFz CXByaW50 KGxlbg== ZmQ= ICk7 LkV2ZW50 cWxp aXJpdA== aWVsZHM= b21hbg== IFRvcA== IHZvdGU= IG1hc2s= IHRoZW1l LQo= IHByb3Bz IGZpbmU= IHdyaXRlcg== X29mZnNldA== Y2Fy IGFsdGVybg== IGNvcHlyaWdodA== IGRlc3Ryb3k= cHBlcg== IGdlbmVyYXRl cHBlZA== 4oCZZA== ICAgICAgCg== bWFrZQ== IFNob3c= IGJyb3dzZXI= IGZhdm9yaXRl IGNhcmVlcg== IGhhcHBlbmVk KGNoYXI= IHJlY29tbWVuZA== IGxpdGVy LmZpbHRlcg== Z3JhZGU= IMKj UGhvbmU= b21z IG5hbWVk LWxhYmVs aXBv IE90aGVy IHBhbmVs IHJvY2s= U2NhbGU= CWFzc2VydA== 0LQ= IHRydXN0 ZnJvbnQ= IGRlbW9u QXI= TmV0 IGVjb25vbWlj Zm9vdGVy IHJhY2U= KG5vZGU= IE9wdGlvbg== c3BsaXQ= IHBoeXNpY2Fs aWZlc3Q= IHJlbW92ZWQ= Lmh0dHA= KSksCg== IGxvb2tlZA== Jzs= ZGluZw== Z2VzdA== YXR1cmRheQ== L2xpY2Vuc2Vz UHJpY2U= IGRybw== IHRvd2FyZHM= IHVucw== IENM CXN0YXRpYw== IHJvd3M= IGRlZmluZQ== LnJlcGxhY2U= IGZhdGhlcg== IERlc2lnbg== YXNzaWdu bXV0 RGV2aWNl RGlk JykpCg== b21ldHJ5 YXlsb2Fk IGhpc3Rvcg== IFBhcmFt IEJvb2xlYW4= IG5hdHVyZQ== IGpz IG5hdGlvbg== aWg= IGRpc2NvdmVy c2Vt SGFuZGxl CXI= IFRlY2hu IHdhbGw= eyQ= QHByb3BlcnR5 ICIuLi8= IGV4YW0= LmRyYXc= b3BwaW5n IG5lYXJseQ== IGNvb2w= IGluZGVwZW5k UkVT IGhhbmRsZXI= IE1vbmRheQ== IHN1bg== U3R5bGVz b3VzbHk= IAk= dmVzdA== RGlzcGxheQ== KHk= YXRpY2FsbHk= IHByZWRpY3Q= eWluZw== IHNvbWV0aW1lcw== Il0K IGRyaW5r IGJ1bA== aWZpY2F0aW9ucw== Lmluc2VydA== LnJlZw== IHRlc3Rz QWxpZ25tZW50 IGFsbGVn IGF0dHJpYnV0ZQ== IE5vdGU= IG15c2VsZg== YXJ0cw== Tm93 IGludGVyZXN0aW5n bGllbnRz IHBvcHVsYXRpb24= IENhbGlmb3JuaWE= Ikk= 5bk= IGdyZWF0ZXI= dWVzZGF5 IHRob3Vz IGNvc3Rz IGxhdW5jaA== XEh0dHA= a2Vy YmFuZA== IFBsYXk= IGJhbmQ= LnNoYXBl ZXNvbWU= YXJ0aWNsZQ== LnJm IHdlcg== w6Fz ZW1iZXJz dXNy QkE= aWNhbg== ZXR0 dmFsaWRhdGU= dWx0aQ== IGltbWVkaWF0ZWx5 emVy IGZpZ3VyZQ== b2Vz ZWxsZXI= aXJjbGU= IFNpZ24= LmRi IHJhbms= Qnl0ZXM= IHByb2plY3Rz X3JlYw== VUxBUg== QVBJ IExpbmU= UG9ydA== IHBvbGw= IGdpdmluZw== aWRlbmNl LS0K IHBsb3Q= aWNpYWw= IHdhcnJhbnQ= SVRJT04= IERvdWJsZQ== IGJpbGxpb24= Z29yaXRobQ== IGVxdWlwbWVudA== REFURQ== IEAi RUU= IHBsZQ== aWF0aW9u IGhlYWRlcnM= IHByb2NlZA== LkNvbXBvbmVudE1vZGVs IE9iYW1h IHBh IEJlc3Q= aW1hdGVseQ== LmdldFN0cmluZw== Llw= bXBsb3k= IHJhdw== X2Jsb2Nr dW5kcmVk In0sCg== MTEy Lkdyb3VwTGF5b3V0 IGJyb3VnaHQ= TlNTdHJpbmc= dGhyb3c= Y3JlYXRlZA== Lk5ldw== X3ZpZXc= Q1A= ZXBz T3A= IGdyYXRpcw== ICci IGludGVydmlldw== IiIiCg== IHBhcnRpYWw= IGFyaWE= YmluZw== QXV0aG9y Qm9vaw== IFBhdA== dW1hbg== VXNlcnM= cGx1cw== MTkz IERpcmVjdA== dmVudWU= YWxwaGE= VUNDRVNT IENhbGw= ICk7DQo= aW1hdGVk IHJlbWFpbg== IGFudGk= IExvbmRvbg== IHNhZmV0eQ== UE9TRQ== b2xlcw== Y29udHJvbGxlcg== Qnl0ZQ== IENvdXJ0 IFBoaWw= IEFzc29jaQ== ZW5h 5ZA= X1NUUg== Y29pbg== cmVzaG9sZA== IGJhdGNo X0NsaWNr ZW50aWNhdGlvbg== Pic7Cg== ZW50eQ== IGJlZ2lubmluZw== IHplcm8= IENvbnZlcnQ= IHRlcnI= IHBhaWQ= IGluY3JlYXNlZA== Y2F0Y2g= LXNpemU= MTE1 YWN0aXZpdHk= ZXF1YWxz IHF1ZXVl ICIn IEludGVybmF0aW9uYWw= IGbDvHI= dXJzZGF5 IHNjaWVudA== YWxsb3c= YXhpcw== IGFwcHJvcHJp ZWRnZQ== IGlkeA== U3VjY2Vzcw== ZW50aWZpZXI= Olw= eGlz IG1heGltdW0= YXJrcw== IGJpcnRo KGluZGV4 IG1heWJl LnB5 ZmlsZXM= IGxpbWl0ZWQ= X2NoZWNr bG9vaw== cGxpZXM= IG1vdmVtZW50 J10u IGJyb2Fk IEJF IFVuaXR5RW5naW5l LmNwcA== IEV2ZXJ5 QWRtaW4= IGZhbnM= cGFyZWQ= CiAgICAK IGZvcmVpZ24= IHBhbg== IHRvdXI= IE9yZGVy IG1vdmluZw== IGF1Zg== Q2FsbA== Y2I= xZ8= dmVudG9yeQ== IFNxbA== IGZ1bGx5 Q2xpY2tMaXN0ZW5lcg== V09SRA== IGFubm91bmNlZA== KQ0KDQo= IGFncmVlZA== cmll IGVhcm4= X2xpbms= LmFycmF5 KHRleHQ= IG1hdGVyaWFscw== LHA= ZmZmZg== dmc= IMKp IHVubGVzcw== YWpheA== TE9H IHNleHVhbA== IFwi LXRpbWU= IGNvYWNo IHN1cHBvcnRlZA== IHBob3Rvcw== aWZvcm0= LkNyZWF0ZQ== KV0= cmllcg== IGRpYWxvZw== YXZlcg== aWdl KSs= X2lkeA== Ols= X21pbg== IENvbmc= IHByZXNzdXJl IHRlYW1z U2lnbg== YmVnaW4= cmlhbg== TkVTUw== TFM= IGltcHJvdmU= IFN1bmRheQ== IGRlZmluaXRpb24= aWdlcg== cm9sbGVycw== IHRoaW5raW5n VGVtcGxhdGU= LUY= IGVtZXJn cGxhdGVz IFVTQQ== LnNldFN0YXRl IEFsc28= cmV2 IGVuYWJsZQ== IENP UEVDVA== IGNvbmNlcHQ= KS0= IOKAog== IHNldHM= IG1lYW5pbmc= ZW1vbg== IENvbnM= Y21w ZWRlcg== YW5uZWQ= aWNlbnNlZA== IFN1cGVy IGRhaWx5 IG11bHRp X3U= IGNoYWxsZW5n X21vZGU= IFByb21pc2U= IHN0cmljdA== am8= aW50b24= KGxpc3Q= T25seQ== Pns= IHZlaGljbGU= 7ZU= IFBsYXllcg== MTA2 IERlbA== IHBvb2w= LnVybA== bmVzZGF5 KCk7DQoNCg== OTAw ICIpOwo= TG9jYWw= LiIpOwo= IG9yZ2FuaXphdGlvbg== cmVuZGVy IEFwcGxpY2F0aW9u IHN1bW1lcg== ZXhwZWN0ZWQ= TkE= IHJhcA== X29iag== IHN1cmZhY2U= IFBVUg== IH0sCgo= IHZhcmlhYmxlcw== KG1lc3NhZ2U= IG9waW4= LmJhY2s= 0LDQvQ== IHdvcmtlcnM= dm0= Q28= dWdodGVy IG1hc3Rlcg== ICIiLA== IHN0b3JpZXM= LlVzZXI= IGNlbGVicg== aW5lc2U= QlM= IENvbW1hbmQ= YXNoYm9hcmQ= IG9n a2c= LmltYWdl LnN0eWxl IHN0ZXBz IEJlbg== KGFyZ3M= NDA0 IFBlcnNvbg== LHk= IG9mZmljaWFscw== fAo= IHNraWxscw== dmM= IGJ1aWxkZXI= IGdhcg== QWNjb3VudA== IEF1dGg= 55Q= J10pCg== IEFU bm4= LkludA== U1NFUlQ= IGVmZmVjdGl2ZQ== TEVURQ== IHRvb2xz QVJE IGRpZ2l0YWw= MTkx RG91Ymxl IEZpbmQ= UkM= IGlubGluZQ== L3I= QVJBTQ== QVNL IGludGVudA== YWlnaHQ= X2FkZHI= IHJlcXVlc3Rz LmZpcnN0 IGRlYnVn IHNwZW50 KCkpKTsK xZs= IHByaW5jaXA= TG9nZ2Vy Y2x1ZGVz LnVzZQ== IHN1cnY= bWVkaWE= IEZlYnJ1YXJ5 IE1hYw== IG1pc3Npbmc= IHdpZmU= IHRhbGtpbmc= IE1ha2U= IGNhcnQ= IGxvY2F0ZWQ= RW5j LWE= Y2hyb24= IGNhcmRz IGd1eQ== IHBlcnM= IFllcw== YXRldmVy IEFuZw== b2xhcg== IEV2ZW4= IGFjY3Vy IFBvd2Vy IEdvbGQ= Y2xlYXI= UHJvY2Vzcw== IHJlY29yZHM= IGtpbGxlZA== LmNsZWFy IFdBUlJBTlRJRVM= IHB1cnBvc2U= cGFuZWw= SkVDVA== w61h IGV4ZXJj V1M= L0w= LmV4cG9ydHM= IF9fXw== IHNpbg== U2VydmxldA== IGTDqQ== LmRlbGV0ZQ== cm9rZQ== U2w= dWdo ZWFycw== IHBvaW50ZXI= IGhvcA== YWxsZXJ5 IG9icw== Y292ZXJ5 CWNoYXI= CQkJCQkJCQkJCQ== CWRlZg== b2NpdHk= aXRjaGVu dWxhdGlvbnM= IEZJVA== ICku c3RyYWludHM= dmVudGlvbg== IHJlcXVpcmVz IE9wZXI= TUU= T1VOVA== YWxsZXQ= IG5vcm0= SVJF ZXhhcw== IHByb2dyYW1z IHdlYWs= Jy4k dWluZw== CSAgICAgICA= IG1pbA== IGZpcm0= aW5pdGVseQ== X1ZBTFVF YXBzZQ== YXRpc2Y= IGRlbWFuZA== X21vZA== IGRlc2NyaWJlZA== IHBsYWNlcw== VklE IGFsb25l IGV4cG9ydA== IHZlYw== IE1heA== IGFjdGl2aXRpZXM= aWN0dXJlcw== Z2VuZXI= IG1h gqw= IGV4cHJlc3Npb24= Q2FsbGJhY2s= X2NvbnRlbnQ= IE1vc3Q= IHRlc3Rpbmc= RUM= Q0hBTlQ= IGFkanVzdA== LlRocmVhZGluZw== KGN0eA== IGFncmVl aWdoZXN0 IHVp IExhdw== Llk= Pjw/ IHBvZA== LWxn 4oCdCgo= IGRlc2NyaWJl IEV1cm9wZWFu LXNo IFBVUlBPU0U= T1JZ IGNvbnZlcnM= IElsbHVtaW5hdGU= IEF2 KGNo PyI= Y2hlbg== aW1h RG9jdW1lbnQ= IG9wZXJhdGlvbnM= d2lu CWZ1bmN0aW9u LkltYWdl IHNjZW4= L2g= IFND IGV4cGxv OiU= LyoqDQo= TkFNRQ== 5og= KHZhcg== IGRpcmVjdG9y T05H IHlpZWxk IGZlZXQ= IFNlYXJjaA== IEls IHJlc3RhdXI= ZHVj IGludGVnZXI= MTA3 ICcnOwo= IGhpZ2hseQ== Y2hlY2tlZA== IFBBUlRJQw== RVJDSEFOVA== 77yJ IG9wdGlt UXVldWU= IExJ aXRhdGlvbg== IHRyYW5zcG9ydA== aXNzaW9u ZmlsbA== dXNpb24= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg CWJvb2w= LXRo dXB0 IGVzc2VudGlhbA== YW50ZWQ= IGJlbmVmaXRz CVM= JzsNCg== aWtp IGdpcmxz aWNlZA== YnVmZmVy XSs= IHNvY2tldA== IHByaWNlcw== IEZyZQ== IHNhdA== IHdvb2Q= TWVudUl0ZW0= QVJH IEFkbWlu T1dO ZGs= IHJlc2V0 IGZvcm1z INC4 5pY= IFR1ZXNkYXk= MTA5 IEluaXRpYWxpemVk X3RyYWlu b3Jhcnk= YXRlZ29y IGR0 VG90YWw= Y29uc3RydWN0 aWxpZXM= IGd1eXM= 0LXRgA== IGluc3RydWN0aW9u MDEw eWxlZA== IGludGVybmV0 ZXRhZGF0YQ== YWR5 ZmFjZXM= amVjdGlvbg== IEphY2s= IHJlY3Q= Wy0= IExlZw== IGRldmljZXM= T0M= ICoNCg== b3JhdGlvbg== ZXJ0YWlu IGd1YXJk b3N0cmVhbQ== IGVudW0= LmxheW91dA== ICI7Cg== dm9rZQ== IE9r SG9tZQ== KHRy RVRI IGRlbGF5 IHB1cmNoYXNl ZGM= IGFyZW4= X29uY2U= CQkJCQo= cm9y ZHJhdw== LnJ1bg== KG1vZGVs VGltZW91dA== bGlr IEFyZw== LmVu IGZpc2g= Y3B5 X2Zl RVJDSEFOVEFCSUxJVFk= KFg= X291dHB1dA== Pz8= IGpv YW5kYXJk IGRvbGw= ZXJyb3Jz X2Jhc2U= IFBBUlRJQ1VMQVI= IGxlYWRlcg== IGNvbXBhcg== IGRvdWI= IFZpcw== U3RhY2tUcmFjZQ== LUM= IFN0dWQ= c3RpdHV0ZQ== TW9yZQ== IERlc2NyaXB0aW9u V0FSRQ== YWRz INC6 YmluZA== PXNlbGY= ZW1wbG95 W24= LmFsbA== LUI= JiY= YWxt IGN1bHR1cmU= aG91c2U= IHN1ZmZlcg== ICcl IHN0cmFpZ2h0 IFN0YXI= dWRv IGRlZA== IENPTQ== IGNvbmZpcm0= IEdvb2Q= LnNj X19fX19fX19fX19fX19fXw== RFI= Q29uZmlndXJhdGlvbg== RGF0ZVRpbWU= IGFkdmVydA== IGNvdWxkbg== YXN5bmM= c3RhY2s= JykNCg== S2l0 IGhvdXM= IG1lY2hhbg== cmF0ZQ== MjA0 IGF1ZGlv CWNvdXQ= Y29yZXM= IHNwb3Q= IGluY3JlYXNpbmc= ICMj KSkp cG9pbnRz IGNvbXBhcmVk bGln IGJlaGF2aW9y IEJZ IEF0dA== Y3JhZnQ= aGVhZGVycw== ZXRl ZW5kcmVnaW9u IGRldGFpbA== VUxF IENvbW1vbg== CXByb3RlY3RlZA== c3Rvbg== IEZJVE5FU1M= IGZyZXNo Ij4KCg== LmV4YW1wbGU= YmVyZw== IG1vdmVk CWU= IFNhdHVyZGF5 IHBheWxvYWQ= xIc= KToKCg== IGJleQ== dXJlcg== PHNjcmlwdA== IHN5bWJvbA== IGFzc3Vt IHB1bA== RWZmZWN0 IGh1bmRyZWQ= VG9vbA== YWtlZA== Y29ubmVjdGlvbg== IHZvaWNl IHBk IHRyYW5zYWN0aW9u IGxpbmtz RXJy IEluZGlhbg== VEM= YXRhbG9n bmk= c2lnbg== PDwi amk= eWE= IGRlbW9uc3Ry dWxhdGVk LlN0 IGluc3RpdA== IGJvb3N0 IGNlbGxz b2xpYw== LlBybw== Ojwv RXZlbnRMaXN0ZW5lcg== aWZ5aW5n IERp b3Jyb3c= LmV4ZWN1dGU= IGNvbGxlZ2U= WW91cg== IGxhcmdlc3Q= LmRpcw== IHF1aQ== IGluZGl2aWR1YWxz X2J1ZmZlcg== IG5n U0E= IENvbnRyb2w= IHNpbmc= IHN1aXQ= ICAgIAk= U0c= IGp1bXA= IHNtYXJ0 b21h IEV4cA== ICct IGFzc2lzdA== IHN1Y2Nlc3NmdWxseQ== c3lz IENyZQ== X3JlZg== IFRodXJzZGF5 IGJ1cg== INC0 IGJleW9uZA== IG5vZGVz RGV0YWlscw== aW5jdA== IEphbWVz IGFmZmVjdA== ZXhjZXB0aW9u IHR5cGVvZg== KA0K LXNl IGZldGNo YCw= IGNydXNoZXI= fS4= IEJP U2hvdw== IHJhdGVz IGJvbg== LWljb24= IE1lZGlh UkVTUw== IFZhbGlk 0L7Quw== IGZ1Y2s= YWNrcw== IHN0dWRpZXM= TWU= IG93bmVycw== fWVsc2U= IGdyb3dpbmc= VmFyaWFibGU= IEJlbA== LnJhbmRvbQ== dmVtZW50 b255bQ== KEY= IEZBTFNF IHRvcmNo KHJvdw== aWdv c3RydWN0dXJl MTIx IGNlcnRhaW5seQ== RGVw IEdyZWVu cXVlc3Rpb24= IGFkZGluZw== IERldmVsb3A= X2RlZg== IG1hY2g= PSU= CQkg Y29uZHM= UHJvamVjdA== IHJlamVjdA== IM4= IHBvb3I= IGF3YXJl MTE0 IEJ1aWxk IEJyaXRpc2g= IE5F IG51bWVy cmVlcw== Y2xhaW0= IG1vY2s= IG9t IHNjcmU= T0xE LnBs ZWxlcg== IGNvcnJlc3BvbmQ= X0hF IGJpbmFyeQ== MTE2 X29yZGVy IFNRTA== IGFkdmFudA== IHByZXY= Lls= LmFzc2VydEVxdWFs cGxpZXI= YXJw IGNsb3NlZA== IGVuY291cg== IFFTdHJpbmc= YXVk IGRldmVsb3BlZA== IHBlcm1pc3Npb24= LmRlYnVn b3BlcmF0b3I= ICcK IHN5bQ== YXRpdmVseQ== w6ll LWNvbG9y IEdFVA== a3k= IGFsdGhvdWdo X3JlcXVlc3Q= X2VsZW1lbnQ= Li4uLi4uLi4uLi4uLi4uLg== X0RBVEE= IGFtYXppbmc= IHNi IERlZmF1bHQ= RXZlbnRz IGZhaWx1cmU= YWNsZQ== UHJvcGVydGllcw== IGRyZWFt IGRpc3Ry IGF1 IGdlbmVyYXRlZA== 5pU= IFRlYW0= VVNF IGluY29tZQ== IGV5ZQ== X25vdA== Il0s X2Zvcm0= U3VwcG9ydA== b3JkZXJz LlByaW50 dmlsbGU= IFdlZG5lc2RheQ== b2x2ZXI= IG9wcG9z aXNhdGlvbg== b2xh Q2xvc2U= PHA= X3dpZHRo SW52YWxpZA== eGI= IHN0cnVnZw== X2FjdGlvbg== IHR4dA== IFBhdGg= YWxhcg== IE1FUkNIQU5UQUJJTElUWQ== c2VydmljZQ== IE1pY2hhZWw= YWJsZVZpZXc= RGVidWc= b2tlcw== U2hl IGd1ZXNz IEphdmE= X1BBVEg= IHBhcnRpY3VsYXJseQ== IElJ IGRvbWFpbg== 5bm0 IHJlZHVjZQ== LWxlZnQ= cmVhbA== IGFwcGVhcnM= IGNvbW8= IFVuaXQ= IEdvdmVybg== YWxp YWxsZWw= IEpldw== X0k= IGNvcw== LmNvbG9y IEdsb2JhbA== IHRlbGU= YmVu X3RyYW5z IHJlYXNvbnM= IGVtYg== ZW5zaXR5 bGluZXM= b21pbg== U2NyZWVu 0LDRgg== cGVjdHM= Y2xpcA== Zm9v cmVudA== IGFm IGRhbmdlcg== aWxpbmc= TmFtZXM= T3Vy IGRpc3RyaWJ1dGlvbg== V2hpbGU= U0w= V3JpdGU= IGdvdG8= IGNvbG9ycw== IHBvd2VyZnVs a2lu IGRlcHRo ZXJjaWFs IENvbmdyZXNz IE1hcmtldA== RGI= dW5kZXI= IExhc3Q= w58= Z3JlZw== IHBvc3Rz X1VSTA== b3Rvcw== RG9u IG1pY3Jv IGFycmVzdA== 0L8= IChA IEhvdA== IEluZGV4 OyY= IyE= IE5vcg== IENhcA== LSg= IGludGVyZXN0ZWQ= cGVhcg== IHJlbnQ= IGFsYnVt b2xpY3k= Lmxhbmc= LnRyYW5z LmZvcm1hdA== IHsNCg0K cGhlcmU= IGF4aXM= IEJ1c2luZXNz ZXJzaXN0ZW5jZQ== dXJy IG1pbmltdW0= ZW5kb3I= IFNE MTEz IEludGVybmV0 5aQ= RXhw aXZlcnNl TU0= IG9idmlvdXM= IGJhc2lz IHNjaWVuY2U= IGJ1ZGdldA== aXphdGlvbnM= UEE= IGZsYWdz cHJldA== TE9DSw== IHZhcmlldHk= IHRydXRo ZHQ= IGdvbmU= IGJhdHRsZQ== PHN0ZA== IFNpbA== cmY= dWRh IGVyb3Q= IENhbQ== IHN0YXRpb24= ICc8Lw== Y2hlbWU= IFN1bg== IGZpbmlzaGVk IHNob3A= IEtvcmU= IGVpZ2h0 X1JFRw== TkQ= Piw= Ij48Pw== KG51bQ== CWlubGluZQ== VHJhbnNhY3Rpb24= Lk9u IG1haWw= cmV5 cmVzdWx0cw== IG5hdg== SU1JVA== X2lkcw== TWFrZQ== 5Yo= TW9kYWw= IExPRw== IFN1cg== IGluc3RhbmNlb2Y= IG92ZXJhbGw= IEluZm9ybWF0aW9u IGNvbnN0cnVjdGlvbg== X0ZJTEU= YnV0 IG1lZGlj IGR1cmF0aW9u aXRuZXNz YWdlbnQ= QVY= IHNldmVu b2xm IH19Cg== Il0sCg== MTcw MTIy IGNhbGxpbmc= IGFucw== dGhyb3dz b3Jpem9udGFs IHVzZVN0YXRl LmZs IFN0YXR1cw== IE9ubGluZQ== UlI= IFJpY2g= IEhpbGw= IGJyYWlu IGZvbGxvd2Vk MjQw ZW1pYw== IHNsaWdodA== IGluc3VyYW5jZQ== LkFycmF5 IGFic3RyYWN0 IFN1bQ== cmVkaXJlY3Q= b3duZXI= KG1zZw== IENsaW50b24= Tm9u CWV4 IHZvbHVtZQ== IEV2ZW50QXJncw== LUw= IERpbQ== IE1hcnQ= IGN1cnNvcg== IGltcGxlbWVudGF0aW9u dXJyZWQ= IGxhcmdlcg== KTsKCgo= Jys= LnRyYW5zZm9ybQ== IHVwbG9hZA== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== RHJhdw== bmVs CWZsb2F0 cXJ0 IE5ldHdvcms= IHRpdA== QXhpcw== LmFuZHJvaWQ= IGNvbXBsZXRlZA== IG11cg== IGNvbHVtbnM= eGM= IHN1cHBseQ== aW1pbmFs IHNwcg== PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ== IHVuaXRz KHU= bWk= cmVwbGFjZQ== W2tleQ== 4Lk= YW50aWM= IHBheW1lbnQ= LEI= IEFwcGxl Z2lu UmVxdWlyZWQ= Iys= bGFuZHM= IHNxdQ== IGZhY3Rvcg== ZGVj IHN0cmVuZ3Ro IGJveQ== IGJhbGFuY2U= IHNvdXJjZXM= c2NyZWVu LXRvcA== IEFtYXpvbg== IGhpZGRlbg== 0LXRgg== X2NsaWVudA== IGVhdA== LmRpc3BsYXk= IMK7 IHRyaWdnZXI= YW5hZ2Vy IHRybw== IGNsYWltcw== Zm9yZA== IENvbXBhbnk= IGdpZnQ= LDo= X2FwcA== aGFuZGxl IHByb2R1Y2U= L2xpYg== NTEy IC0q CXNldA== J107 YXJj YW5kZXI= IEVuZ2luZQ== IGF0dHJpYnV0ZXM= dGFzaw== PD0= KE4= IHdhcm0= d2hpY2g= IEZvcmU= YWdub3N0 bXlz IHRhbA== IFNhbA== Z2k= IFByaW50 IFRSVUU= INC+ LlVJ IGZsYXNo cm9wZXJ0eQ== LmxvY2F0aW9u IE1pbGw= Ymk= Y29udHI= LnJlcXVlc3Q= IFNhbQ== IG5lZ2F0aXZl a2l0 IHNldHQ= LnByaW50U3RhY2tUcmFjZQ== YWJl CWk= IGJ1cm4= IHNvY2lldHk= Q2FjaGU= IFNlY3VyaXR5 Lm1vZGVscw== IFdBUlJBTlRZ X3Vw Y2VpdmU= IGNsaWVudHM= LlRy IHByb3ZpZGluZw== IHJvdXQ= bWF0ZXJpYWw= IHx8Cg== IFNlcg== IE9mZmljZQ== RlRXQVJF ICck IGZvYw== IGV4Y2VsbA== IGNhdA== bm9ybWFs IGRldGVybWluZQ== CXVpbnQ= UGFuZQ== IGVtcGxveWVlcw== IFRleGFz IHRyYWZm IFJlcG9ydA== YW50YQ== IEJveA== IGRqYW5nbw== IHBhcnRuZXI= RUI= TElORQ== IGZlZWxpbmc= IGNpdmls KGZsb2F0 U3Fs IHdvdWxkbg== LmluaXQ= LmxlZnQ= LXY= X2xldmVs J30= QUY= IGxvYWRpbmc= IE9ubHk= IGNvb2tpZXM= IEds Q08= IHN0cmF0ZWd5 KCcuLw== IHNoaXA= cG9zZXM= IHNpZ25hbA== IGFscGhh LnBvcA== UmFkaXVz IHJlcGxhY2U= X0RJUg== Y291bnRlcg== YnNlcnZhYmxl ZWxh V2VpZ2h0 aGFzaA== Ym9zZQ== Zng= IEVtYWls IHJlZmVy bG9jYWxob3N0 X1JP aXF1ZXM= U3RlcA== IGFoZWFk KFZpZXc= IFNlcnZpY2Vz IEpzb24= ZXNzb3I= IHB1bg== IGFwcHJvcHJpYXRl YWtlcnM= b3Nlbg== cG9zaW5n IGFnZW50 ZmM= IHRyYW5zZmVy IGludmFsaWQ= IFJlc2VhcmNo VmVydGV4 IGdheQ== IGpvdXJuYWw= W3g= ICIiLAo= IFdlbGw= LlRhc2tz U3BlYw== IG9s IHNwZW5k IEF1c3RyYWxpYQ== TWF0Y2g= Lmp1bml0 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== IE1BWA== aXphYmxl Y2x1c2l2ZQ== X3ZhbGlk IHF1YXJ0ZXI= eWFu MDA1 IEVkaXQ= YXJkZW4= PW5ldw== IGZyYWc= Qml0 emk= YWluZQ== dWRk Lk9iamVjdA== ZGVidWc= IGNhc2g= X0lN IGVlbg== IGNvbW1lcmNpYWw= IFZpZGVv bG9hZGVy IGZpeGVk IGFwcGxpY2F0aW9ucw== IF8s IFJ1c3NpYQ== aXRlY3Q= Xyg= IEJsb2Nr IHNhbg== IFRvbQ== IHBlcmhhcHM= IHNpZw== bGV2YW50 IGNvcnBvcg== YXRhc2V0 cm9uaWM= eGU= IGV0aA== U29tZQ== cG9w X09L IHRlbmQ= LlJlcw== X2FuZA== IHJldmlld3M= IHdpbGQ= MTE3 IGRlZ3JlZQ== Lk8= Lm9iamVjdHM= X2FyZ3M= bmls IGRpc2FibGVk UGFyZW50 IG5vdGVz ICIiCg== KHN0YXRl aXN0cmljdA== IGxvZ2dpbmc= LklP IE1hbA== RE0= IHhtbA== IFJvYmVydA== ZWxlbg== bGF5b3V0 Zm9s J10pKQ== LGI= IEplcg== ZmlsZW5hbWU= IGZhbg== IEN1c3RvbQ== PSIi IERpZQ== QnVuZGxl LnV0aWxz IHRyaXA= TUI= IHNvZnQ= X01PREU= IGFwcGxpY2FibGU= IHVwcGVy RVJWRVI= X2Fs X0xPRw== SGVyZQ== d3A= IFNlcnZlcg== IENsaWVudA== IGNoZW0= U2Nyb2xs IGhpZ2hlc3Q= IFNlbGVjdA== ICJA IFdoeQ== U2Vj aGVlbA== T3BlcmF0aW9u IGNvbm5lY3RlZA== aXJtZWQ= IGNpdGl6 IENoZQ== IGZvcmNlcw== IHd3dw== Um9vdA== QU5DRQ== TWFueQ== aWNpcA== cmdhbg== MjIw IFRvcg== IFByZXNz IE1vcg== LWxpbmU= dWxlZA== Plw= IHRodXM= IFJlZ2lzdGVy aG9s IENoaW5lc2U= IHBvc3RlZA== IG1hZ24= YWJpbGl0aWVz IGRpc2Vhc2U= IHJlbWFpbnM= IFByb2Y= LWZvcm0= IGNpbg== b3JnYW4= aWNhdGU= IHN0cmVzcw== XSo= IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0= X2NvbnRleHQ= b3JyeQ== IGRpZWQ= bWF0 IHN0YXJ0cw== Lk1lc3NhZ2U= IHJ1bnM= IGd1aWRl IHdhcnJhbnR5 ZW50aWFscw== ZGljdA== IFNpemU= dWxlcg== IHJlc3BvbnNpYmxl X1NFVA== IGNvbnRhaW5pbmc= IFByaWNl fHw= MzUw RlM= IGVtcA== X2J1dHRvbg== KHVpbnQ= IHN1ZmY= cHRo IGRlZmluaXRlbHk= cHV0ZQ== IG1hcmtldGluZw== IFdI IFNpZQ== Kz0= T0xPUg== IGNvbnN1bHQ= IHNpZ25lZA== IHNlcXVlbmNl bGVl IHJlcXVpcmVtZW50cw== aHk= RXhwcmVzcw== TVQ= c2V5 IHVsdA== 5a4= ZWxsaWdlbmNl IGFuYWx5 IGRyZXNz ZW5naW5l IEdyZWF0 IEFuZHJvaWQ= IEFsZXg= bW9kZQ== RGljdGlvbmFyeQ== LkRhdGU= 5L0= VklDRQ== IGZhbWlsaWVz IFJ1c3NpYW4= IFRpbWVz LmNhbGw= JCg= UHJvZmlsZQ== IGZvbGRlcg== Y2hlcw== IGxlZ2lz X3Jvdw== dW5lcw== 2YQ= IH0pLg== QXNzZXJ0 YWdlbg== IEhhbmQ= SXRlcg== IGJpZ2dlc3Q= b3JlYWNo IHBvbGlj IHBlcm1pc3Npb25z IHNob3dlZA== IEVsZW1lbnQ= IHRvcGlj 4oCU4oCU cm9hZA== IEJhbms= cmVjb3Jk IHBhcnRuZXJz IFJlZg== ZXNzaW9ucw== IGFzc2Vzcw== VVNU IFBhcnR5 cHJvZHU= TEM= IHVs LmZvcm0= aGlkZQ== Y29weQ== VVRG IFNPRlRXQVJF DQoNCg0K IExpbg== dW5h dWdhcg== IGFkbWluaXN0cmF0aW9u IG9wZW5pbmc= IHNjYW4= IGNvbnRpbnVlZA== Y29tcG9uZW50 LnNw IGhhcHBlbnM= dW1teQ== IFBS LkZpbGU= IERvd25sb2Fk TG9hZGluZw== ZGk= IHdhaXRpbmc= X0FERA== VGFi LnF1ZXJ5U2VsZWN0b3I= IGVjb25vbXk= IEZyZW5jaA== dHh0 IGZhbnQ= XzsK SG9sZGVy U0g= MDA0 IG51bXB5 IHN0cmVldA== IG1hbGU= XE1vZGVs YW5naW5n MzMz IEJpbGw= IHByZXZpb3VzbHk= Qkk= IFNlY3JldA== IG1pc3Q= IEZpZWxk dXBz IFByb2Nlc3M= IGtlcHQ= IE9U IHRyYWRpdGlvbmFs Lmk= YW1pbg== IGhlbHBz QW55 b3JpZ2lu aWx0ZXJz anU= ZGVzYw== IEFjY291bnQ= ICkNCg== a3RvcA== b2xseQ== IGZz IOo= IHV0 IGNlbnRyYWw= KHRlc3Q= LkFu IHNhdGlzZg== R1I= IEZ1bGw= IGhlYXQ= aWJlcg== IG9udG8= bW9z U2NoZW1h IGZhY3Rvcnk= Ii4k YXdz U3RhdGVtZW50 KHRhcmdldA== CW5ldw== LmJl IGd1ZXN0 IG1hbA== QVJZ IHJlYWNoZWQ= IG1vdXNl IGNoYWxsZW5nZQ== CWRvdWJsZQ== IFRlbQ== IHRlcnJvcg== IGV4dHJhY3Q= X1RP IHNlcGFyYXRl IG1pcg== aGVscA== IGNhcGFjaXR5 IFByb3BlcnR5 a2Fu X2NyZWF0ZQ== IExpZ2h0 LnBhcmVudA== IHVuZGVyc3RhbmRpbmc= IGVhc2llcg== IHw9 IGVuaA== IGZhdA== IHByb3Rlc3Q= YW1t X0FU LW9m aWxz IE9o IHBzeWNo ICQu aW5kcw== IHJlbGF0aXZl c2hvcA== c2hvcnQ= IFNhbmQ= MjEw dWVzdGlvbg== IGZlYXI= LwoK LmNvbnRleHQ= IHNjaG9vbHM= IHNlcnZl em9uZQ== X2Ri IG1ham9yaXR5 ZXhhbXBsZQ== IGxhbmc= CSAg UmVnaXN0ZXI= ZW5kbw== IHByb2Nlc3Npbmc= X3RlbXBsYXRl LXVzZXI= IGVn Q09N IEJsdWU= aXJv IHJlbW90ZQ== IElU IyEv IHJlZGlzdHJpYg== MTI0 cmF6 IFNpbmNl IFR1cg== MTM1 QmFja2dyb3VuZA== PT09 IHJlZmxlY3Q= IHByb3M= Y21k IHdob20= Q29tcGF0 IEFyZQ== SWRlbnRpZmllcg== IFRob20= X3BvcnQ= Z3U= IG1vbml0b3I= cm0= IHBhdGllbnQ= dmVydGVy IGdhaW4= LXVp SW5zdA== IGRpZXM= MTE4 QXJlYQ== X2ZpbHRlcg== IGdyYXQ= IHJlYWxpdHk= b3JkaW5hdGU= b2x2ZWQ= Q29udGFjdA== IGNvbXBsaWFuY2U= X29y IFZhcg== ZGw= IGFwcGVuZA== R0VS KG1heA== LnJlbmRlcg== IGR5bmFtaWM= b3JkaW5hdGVz X29wdGlvbnM= X2NvbHVtbg== IGJhdHRlcg== c3BhY2U= TGE= IFNvdXJjZQ== L2Jpbg== IGRvcw== IEJvYXJk IFRocmVhZA== IEFM KGNvbmZpZw== MTQ0 IE1lcg== IG1pbGVz X2hlYWRlcg== RVRIT0Q= aXp6 IGJlbmVmaXQ= IGludGVncg== KGN1cnJlbnQ= dWxv LmRlZmF1bHQ= IERpdg== IHRvbg== b3Ro ZXJ2YXRpb24= ZWRvbQ== IGJhYnk= Y2VpdmVk LnRvcA== cmlvcml0eQ== IExvY2Fs cmlhZ2U= IGF0dGFja3M= IGhvc3BpdGFs MTY4 IGZlbWFsZQ== IExvZ2lu IEZsb3I= IGNoYWlu YXNoaW9u VGV4dHVyZQ== U2F2ZQ== IGZhcm0= LmNvbnRhaW5z LlRlc3Q= IGtub3dz IGdlbmVyYWxseQ== aXBlbGluZQ== IG1lYW50 ZW5jaWE= IG5pY2h0 IGNvbnRlbnRz UE0= Y2hlZHVsZQ== KGxpbmU= Q0c= am9i IFJlYWw= dWVy ZmlybQ== INg= ZXRybw== ImAK IHNwZWVjaA== IHRocg== Zm9yZWFjaA== IHdhcm4= CWw= IGhlYXZ5 PGxp TmU= IGludmVzdGlnYXRpb24= TWF0aA== LXRpdGxl IGNodXJjaA== IGRlc3BpdGU= Y2hhaW4= IHdoYXRldmVy YXJpYW4= Zm4= IG1ldGE= fSkKCg== VUZG IHJlZ2FyZGluZw== X1NVQ0NFU1M= bWVz IEludGVudA== IHJlc29sdmU= cG9zcw== aXJh Zm9yY2U= b2ljZQ== w6I= IHBt IHVwZGF0ZXM= QXJy INE= dGVzdGluZw== IHRvd2FyZA== bnRheA== 64s= IGxpc3Rlbg== IGdvYWxz SW5zdGFuY2VTdGF0ZQ== RHI= IHJhcmU= IHRyYWls S2V5cw== Q2Fs Q2Fy IFBlb3BsZQ== CWxvY2Fs Y2xhc3Nlcw== UmVmZXJlbmNl LmZvckVhY2g= ZW1i YWN0aXY= IHByaW0= cmVkaWN0 IHJhZA== 5pWw LkJhY2s= IHNwcmVhZA== IGNsb2Nr IHZpcg== ZWRpdG9y IGVmZm9ydHM= IGJyYW5jaA== IGluZHVzdA== IG1vdG9y IGFtYg== IGRhdGV0aW1l IHJlbmNvbnQ= IENocmlzdGlhbg== IEFtZXJpY2Fucw== ZnVsbA== IGZtdA== Lm1haW4= IGNhdXNlZA== X3VwZGF0ZQ== IENvbnRlbnQ= QVRDSA== IGJhdGg= IEVhY2g= IHJhZGlv YWNobWVudA== dXp6 U3VibWl0 IHJlc3RyaWN0 YWJpbg== IExvYWQ= IGV4dGVuc2lvbg== IGVzc2F5 IGhhdA== YXZpb3Vy dG9CZQ== Ijpb IG9mZmVyZWQ= IHZpbGw= KGRvdWJsZQ== MTE5 5pel YmM= X2ZyZWU= IE1pc3M= IEJlcg== IOg= IExpa2U= IGhlbHBlZA== LmdldE5hbWU= X0FM IHNwaXJpdA== IEFwYWNoZQ== d3M= IHRoZXJlZm9yZQ== KHBhcmFtcw== X2ltZw== IHBlYWNl IGluY29y IEVYUEVDVA== IG1pbm9y aXBlcw== CWRhdGE= c2VsZWN0b3I= Y2l0eQ== dHJpZQ== LmJhc2U= X2ZyYW1l IG9wZW5lZA== L2pzb24= TFk= bnU= LkRl dGY= bWFyZ2lu LlBhcnNl IHBp IGVx YmQ= RmllbGRz IFRyZWU= IGJhbg== aXN0YW4= CiAgICAgICAgCg== CWds IHByb2R1Y2Vk c3lzdGVt TWFyaw== X2hhc2g= IGJn IGNvbnN0aXQ= IExlYWd1ZQ== IG1pc3Npb24= X2Zvcm1hdA== KFsK Y2x1c2lvbg== ISI= 0Lc= YnJlYWs= CXN3aXRjaA== IHRoZXI= VHJhbnNmb3Jt IGZvb3RiYWxs LWxpbms= cm91dGU= LmF1dGg= IGJhZw== b3ZlcnM= IGVuYWJsZWQ= IHJhYw== KEk= Q1I= YW5jaW5n IG1hbmFnZWQ= X3E= TkdUSA== IG1hYw== IEF1dG8= YW1lbnRl ICcnLA== LkFwcGVuZA== IHBpbg== Lml0ZW0= YWNraW5n IG9jY2Fz cGVyc29u IHRp LlJlZw== IGhhdmVu IGdsYXNz ICI8Lw== IFNpbXBsZQ== UHJpbnQ= IHN1cnJvdW5k Tk8= 44CCCg== ICAgICAgICANCg== IE1hbnk= ICJf IHdlZWtlbmQ= IHNvbWV3 LnBhcmFtcw== c21hbGw= QVRFRA== IHBsdWdpbg== ZmllbGRz IEluaXRpYWxpemU= b29u YXRpbGU= eWU= IHZvdXM= TEFH IG9sZGVy IGdhbQ== IGV4dHJlbWVseQ== IGhldA== ZW51bQ== IFNFVA== eGZm IHRpbWVy L2luZGV4 IGNyaXRpY2Fs Um93cw== X2FyZ3VtZW50 IGV4ZWN1dGU= IHNob3dpbmc= LnhtbA== LWxpc3Q= Um9sZQ== dHlwZW5hbWU= X21ldGhvZA== dGhhdA== Y2hlcg== IOKG WFQ= IHRob3VzYW5kcw== CW4= IHJlc3A= X3ByaWNl b2x1dA== QWc= IFR3bw== IGJlY29tZXM= IGh1cw== LlVzZQ== dGhlbWU= dXJi IC8qCg== ZXJpYWxpemU= QVJO IGxvc2U= TG93ZXI= IHZlbA== IGRlZmVuc2U= Y29uZGl0aW9u IGJlcw== IGRyeQ== IHNjcm9sbA== LlNob3c= SUVM 0L7RgA== IFJlc3Q= V2hlcmU= b29kcw== IEplcw== IHdpcmU= X0lORk8= IHN0cmluZ3M= Z21lbnQ= IG1hdGNoZXM= IGVsZWN0cmlj IGV4Y2VsbGVudA== IENvdW5jaWw= aWRhZGU= IHd4 cHVzaA== X2VudHJ5 IHRhc2tz IHJpY2g= c2E= IFNtaXRo VU5DVElPTg== UG9pbnRlcg== cGVjdGl2ZQ== MTMx IHdpZGdldA== aXN0YQ== IGFnZW5jeQ== IHNpY2g= b2xvZ2llcw== IHRyaWFs YWx5c2lz LmNoZWNr QVJL IG9uQ2hhbmdl YWJvdXQ= Jywk KHZhbA== IHBsYWNlZA== X05P IGRhbg== LmVxdWFs CSAgICAg IHdlYXRoZXI= LmdhbWU= IGRlc3RpbmF0aW9u X1VTRVI= aWVjZQ== IHByb3ZpZGVy Lmxhc3Q= cGxleA== Tm90ZQ== L2pz IHDDpQ== IHBsYW5uaW5n YXR0cmlidXRl UFJP YXRjaGVz IDwt IHNlZWluZw== IGNhbmNlbA== X2luZA== LmtleXM= IHZpc3VhbA== IEN1cnJlbnQ= IENvbGxlZ2U= IFJvY2s= IGFncmVlbWVudA== IFN0b3Jl b3Zpbmc= IGNvcm5lcg== YW1waW9ucw== SVNF Rmlu IHByb3RlY3Rpb24= IGZp UGxheQ== cGx1Z2lu KX0= LmZyYW1l LXo= IHRyYW5zaXRpb24= aWdpbg== IGNhbmRpZGF0ZQ== IFVuaW9u X3ZhbHVlcw== KG1hcA== Y2xl IHRyZW5k d2lkZQ== YXJlbg== TG9j VVRI IEJheQ== IHNtYWxsZXI= aXVz MTQx d2VsbA== IGNyaW1pbmFs IGNvbmZsaWM= YmVydA== X0lOVA== IGludmVzdG1lbnQ= Y3VzdG9t IFNlc3Npb24= X3dyaXRl YW5pYQ== IE1hc3M= X0VR X05PVA== IHZpb2xlbmNl QXJndW1lbnQ= X2VtYWls IGJlbG9uZw== X2Z1bmN0aW9u IGVuZW15 ZW1h IEFkZHJlc3M= LmVtcHR5 IGlubmVy IENvbnRhY3Q= TG9hZGVy PGlucHV0 IENB bG90 IHBpY3R1cmVz IFN1cHBvcnQ= X25hbWVz MTg4 TGF5ZXI= IENsaWNr U3Vt w6Y= IExvb2s= dW91cw== TGli RmxhZ3M= dGVhbQ== RVA= MTg5 aGF0 b3ZlcnJpZGU= YXBzZWQ= IGxhYmVscw== cXVpcw== IFN0cmVhbQ== X2RldmljZQ== IENvbW1pdA== KHJvb3Q= In0= LmlzRW1wdHk= MTI2 CU0= IGFuZ2xl IEJlY2F1c2U= JSUlJSUlJSU= IGFpbQ== IHN0aWNr c3RtdA== YWdyYXBo YW5zd2Vy IGNsaW4= IElzbA== LmV4dA== IElOVA== IHN0eWxlcw== IGJvcm4= IHNjcg== IGV4cGFuZA== IHJhaXNlZA== VGV4dEJveA== SUxM LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t SFRUUA== MTMy Pik= X2NoYXI= cmVzb3VyY2U= IGVwaXNvZGU= ICdf IEVz IEVhcnRo wqDCoA== VVBEQVRF MTMz IFNvdQ== dWlz dHlwZXM= IG1hcw== IGZhdg== IGNvbnN0cnVjdA== X3JhdGU= ZXJhcw== IHwK cm9wZXJ0aWVz IGV4dGVybmFs IGFwcGxpZWQ= IHByZWZpeA== b3RlZA== bGVycw== IGNvbGQ= IFNQ IENodXJjaA== IE91dHB1dA== bG9zZWQ= 55o= aWZpY2F0ZQ== b3BlcmF0aW9u aGVyaXQ= eEZG LmVudg== X2Vycg== b3No RGlyZWN0aW9u Q2FuY2Vs IEZyYW5r IGZpbmRpbmc= LikKCg== IHJvdXRlcg== 44O7 c2Vz IGNyb3c= PT0n IHNhbmQ= IHJpZA== aXR1cmU= IGVudHJl IG9ic2Vydg== IHZhYw== 8J8= LVQ= QXJ0 bmlnaHQ= LnNlYXJjaA== IGV4Y2hhbmdl IGRpc3RyaWN0 Lm9z IGRlcGFydG1lbnQ= IGRvY3VtZW50cw== IGNlbnR1cnk= IE5leHQ= SG9zdA== IEtJTkQ= IHN1c3A= LVA= cmVuZA== LmVt dWl0ZQ== aXN0ZXJz KGpzb24= IEFubg== d3Q= YXRp IEhUTUw= d2hlbg== RGlyZWN0b3J5 IHNodXQ= PGE= ZWR5 IGhlYWx0aHk= IHRlbXBlcmF0dXJl IEdlbg== IG1ldGFs IHN1Ym1pdA== IERP IGF0dHJhY3Q= IHt9Owo= IFdvcmQ= IGxs IHNlZW1lZA== a28= SUVE IGxhYm9y LkNvbnRleHQ= IGFzc2V0 eW91 IGNhcnM= IENvbHVtbg== IHLDqQ== IHNxdWFyZQ== IE5TU3RyaW5n 4oCdLA== YXBlcw== Li4uCg== IHRoYW5rcw== KHByb3Bz IHRpY2s= IGV4cGVyaW1lbnQ= IHByaXNvbg== dHJlZQ== LXRleHQ= IElPRXhjZXB0aW9u LXdpZHRo X1NUQVRVUw== ZmFzdA== LWJvZHk= LWhlYWRlcg== IGd1YXI= Y3JldGU= IFRpbQ== IGNsZWFybHk= IFJlcHVibGljYW4= IGp1c3RpZnk= 0LjRgg== CSAgICA= Y2FjaGU= Oy8v IHByZXNlbmNl IGZhY3RvcnM= IGVtcGxveWVl XSkp TWVtYmVy IHNlbGVjdG9y Ym9y IE1leA== 55qE dXRleA== X3RhZw== YWlsdXJl IE5ldA== IHJlbGk= RUc= IGZwcmludGY= IHRlZW4= bG9zcw== IGxlYXZpbmc= MTM0 RGVsZWdhdGU= IGJlYXQ= IG1pbnV0ZQ== c3Vic2NyaWJl IHJlZGlzdHJpYnV0ZQ== Q29uc3RhbnRz IGNhbmNlcg== L3s= Qkw= IHNwYW4= IENoaWxk Q2VudGVy IGVhcnRo WVM= IExldmVs IHNlYQ== LnN1cHBvcnQ= LmlubmVy Lkl0ZW0= aWxsaW5n ICAgIAogICAgCg== IExhYmVs MzIw IEVzdA== KGFyZw== MTQ1 Ym9Cb3g= CWZvcmVhY2g= Y29z RmFpbGVk c3dlcnM= RWRpdG9y cm9udA== IE1Q ZXhwcg== IExpZmU= ID8/ w7Zy IGF0dGVuZA== IFF1ZQ== IHNwZWNpZXM= LUQ= IGF1cw== U3RydWN0 IGFkdmFudGFnZQ== b3N0b24= LWJsb2Nr aW5pdGlhbA== Q1JF IHRydWx5 IGNvbXBhcmU= b3JuZXk= IHNwZWN0 RnVsbA== YmVz IHZpc2libGU= IG1lc3M= c3RhbmNlcw== IGNsb3Vk X3ZlcnNpb24= IGZ1cm4= aWNhZ28= TE9X IHRyYWZmaWM= IGZvbA== cnlwdG8= IGRlY2xhcg== IHNsb3Q= IEV4dA== IEVuZ2xhbmQ= IFVuZGVy IHRh bGV0dGVy MjAz IG9mZmljZXI= IERvbmFsZA== WWVz X2pzb24= SVRhYmxlVmlldw== IFVTRQ== bXBsb3llZQ== IG9waW5pb24= IEF1dA== Ym9yZGVy IGFkdmljZQ== IGF1dG9tYXRpY2FsbHk= aXNjbw== IG1t LnZpcw== YW1s IGluaXRpYWxpemU= ICh7 IDsKCg== IGdlbmVyYXRpb24= IGJpdHM= Y2xpcHNl IHVuZg== dXRvcnM= cGx0 IGRlbHRh ZXN0cm95 aXNpcw== PGJy IGxpbWl0YXRpb25z IGVuZGVk IE1hZA== aWxt VGhlc2U= MTg3 IE1pbmlzdGVy IGNoYXJ0 RnJhZ21lbnQ= IGluZGVwZW5kZW50 WWVhcg== IGluc3Ry IHRhZ3M= QVZF IEFyY2g= c3RvcA== UHJvZ3Jlc3M= IG1p IGxlYXJuZWQ= R2U= IGhvdGVs MTUx U00= VFlQRQ== IGN5 RVJTSU9O dW5hdGVseQ== bGltaXQ= c2Vs IG1vdmllcw== IHN0ZWVs b3o= Z2I= IENhbXA= c2l0ZQ== IExvZ2dlcg== UExF 0L7QtA== LnJpZ2h0 IENvcmU= IG1peGVk c3RlcA== IHB1dHM= c3VwZXI= Um91dGVy MTg2 Lkh0dHA= MjIy bHlwaA== IENvbG9ycw== IGFuZHJvaWR4 LnN0cg== IGlubm92 IGRlY2s= Jz4K YXBlcnM= XSg= Y29udGludWU= c3BlYw== IFJvYWQ= QVNI aWxpYXI= IGNvbnRpbnVlcw== IGFwcG9pbnQ= ICMK IFZpcg== ID8+Ig== IGJpbg== fSIs Z29pbmc= ZWFjaA== QkQ= MTg1 IEFjY2Vzcw== RG9j IE1hbmFnZW1lbnQ= QkVS YXNrZXQ= LmdldEluc3RhbmNl MTI5 IGVzdGFibGlzaGVk c29ja2V0 SU5T CXZpcnR1YWw= CXJlc3VsdA== UkVBRA== X2hlaWdodA== MTUy IEZvbnQ= ICgpOwo= X2h0bWw= IG5laWdoYm9y bG9y IGdhdGhlcg== IH0pCgo= IGlkZW50aXR5 IGZhYg== cGFkZGluZw== IFJvdXRl RW51bWVyYWJsZQ== w7Q= IGZvcmNlZA== L2pxdWVyeQ== LgoKCgoKCg== cmVzZW50cw== X2xlZnQ= LlBhcmFt CXRocm93 IEhhbQ== IGV2ZW50dWFsbHk= YWNlcg== cHVi IHRyYQ== dW5pcXVl ZGVs IEZsb3JpZGE= IENsZWFu eGE= IMK3 IHZhbGlkYXRl VmlzdWFs RXhwcmVzc2lvbg== X2Z1bmM= bWVtYmVy CWg= dHJs MTM2 CUc= bmFwc2hvdA== IFByb3BUeXBlcw== dmlu MTUz XSkKCg== b3ds aWZpZXM= ICQoJy4= IENvbnRleHQ= IFRvYXN0 LktleQ== IG9mZmljZXJz L24= c24= dW5kZWZpbmVk Lml0ZW1z dXRvdw== YW1hZ2U= IGFjY291bnRz b29raWU= U2VjdGlvbg== aWNpYW5z IGFkdmlz KGlz Wzos IEZyYW5jZQ== RnVuYw== aWNpb3Vz IHRvaw== Q2hhbm5lbA== IEFE X05VTQ== IHRpbWVvdXQ= bGVtbWE= cmVtZQ== dWo= LkFs dWNsZWFy KG9z KCI8 Wwo= ZmV0Y2g= IGJhbA== IGd1aWQ= LWFsaWdu IFdyaXRl IE9uY2U= dXRvd2lyZWQ= T0RVTEU= IHBpdGNo Q0Y= Ynl0ZXM= IENvbW1pc3Npb24= IGluY3JlZA== UEVS X3Jlc3BvbnNl IExvcw== cGFyc2Vy IGFzc3VtZQ== LlJlcXVlc3Q= IFRva2Vu X3Bvc2l0aW9u IG5vbQ== LXRlcm0= IHJlbWFpbmluZw== aW9zdHJlYW0= IHBpZWNlcw== YXB5 IExlc3M= cmFuZ2U= dW1ibg== cHJpc2U= X29wdGlvbg== MjMw SW1wbA== a3dhcmdz IGJ1c2luZXNzZXM= QWxlcnQ= IHBhcnRpZXM= IENvbnRhaW5lcg== IFByaXZhdGU= IFBsYW4= IHJlZ2lzdGVyZWQ= IGpvdXI= YWNrZXI= 0LXQvdC4 Lz4= Y2hhdA== c2VjdA== IGNyZWF0aW9u b2x1dGVseQ== IGluc3RhbnQ= IGRlbGl2ZXJ5 aWNrZW4= eWVz MTYz IEZyYW5j Ymxpbmc= ZW5kYQ== Wyg= X3Jhbmdl ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== IHNjaGVkdWxl Q29ubg== IHRoYW5r eGQ= IGhvb2s= IGRvY3VtZW50YXRpb24= UGFyYW1ldGVycw== SGVsbG8= dnQ= IGFydGljbGVz IHdlc3Q= ZGVmaW5lZA== LnNlbGVjdA== b2tlbnM= IFZBTA== LmZpbGU= cmVzZXQ= IG15cw== IE1B XSks IGNpdGllcw== cmVsYXRlZA== 5Zs= IGFwcGVhcmVk IHdpZA== LnBhbmVs IElucw== LmVudGl0eQ== IGRlY3Jl IExvdQ== KHRpbWU= IFRoYW5r LmNyZWF0ZUVsZW1lbnQ= IG1lbnRpb25lZA== b3VuY2U= IFRyeQ== IFdhbGw= L2ltYWdlcw== IE1lbnU= Jw0K IEVy IGNyaXRpYw== IFllYXI= KHBhcmFt IGZsbw== Tk4= b290ZXI= IF07Cg== IEFmZg== ImdpdGh1Yg== cm9vbXM= IGh5cA== Z2xvYmFs IGF2ZWM= 5pyI IGNvbXBsZXRpb24= IGNvbmQ= b255bW91cw== KHRlbXA= IHN0YXJz IHJlbGV2YW50 IGNvdmVyZWQ= IGVsaW0= X3R5cGVz KGJvb2w= IHR1 X2V4aXN0cw== IHNlY3VyZQ== IHN0b3JlZA== XS8= eEY= IENvbnRyb2xsZXI= IG1pZ3I= TUk= IERlbg== IGFubnVhbA== VUlM LWFuZA== IGNyaW1l YmVs IGtpdGNoZW4= QGc= X3Bo b3VybmFtZW50 IFNvY2lhbA== IFNwZWNpYWw= bG9nZ2Vy IHRhaWw= IHVua25vd24= ZGVk IGFwcHJlYw== KGRi Y2Y= MTU1 IGFzc2lnbg== LW91dA== IE1vbnQ= ZHA= d2lkZ2V0 IHN0b25l LXByaW1hcnk= LmdyaWQ= UmVzdWx0cw== YXp6 IGRhdWdodGVy IGN1cnI= MTc1 IGxpbg== IHNvdXRo Zm9ybXM= IE9VVA== bGV0dGU= YWtz aWd1cmU= IEVV dmFyaWFibGU= IGJyaWVm IFNjb3R0 IGNvbmZlcmVuY2U= YW5kYQ== X2xvY2s= b3JhbA== IGVpbmU= T1JT Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw== ZXNzbw== IHJpcw== IGdlbmRlcg== ZXN0aWM= TGljZW5zZQ== KG91dA== IG1z U2Vl IHdpbGxpbmc= YXpl IHNwb3J0cw== IHllcw== bHU= IHB1cnM= L2phdmFzY3JpcHQ= LXBybw== bmF2YmFy X3Byb2R1Y3Q= L2Jvb3RzdHJhcA== IGRyaXZpbmc= IMQ= IHByb3Bvcw== dWx0aXA= dXBsaWM= LmVtYWls IGFwcHJveA== KGNs IHdlYXI= IHJlcGx5 YXNzZXQ= IGljZQ== IHR4 a3I= IEdlcm1hbnk= IEdlb3JnZQ== IGNi CWVycg== TW92ZQ== IHBvbHk= dm9pY2U= fSI= IGFuaW1hbA== QXY= IExvY2F0aW9u IG5hdGl2ZQ== XVsi PGRvdWJsZQ== IG1haXM= LGludA== IHByZXBhcg== IGludGVydmFs cGxlbWVudGF0aW9u X0VSUg== IGJ1Zw== PiI= c3RhdA== IH0sDQo= PHNwYW4= IGZhaXRo IHJvbQ== cHJldg== IEVsZWN0 RmluZA== IGdvZA== b3Rvcg== Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t b3JpZ2luYWw= Q3Bw IFNlbmF0ZQ== IHBvc2l0aW9ucw== IHdlYXBvbnM= IGNvZmY= IHB1cnBvc2Vz cG9s IGltcHJlc3M= IGFuaW1hbHM= LkVudGl0eQ== KG5w IG11cmRlcg== IGBg ZmxhZw== IHNvbHV0aW9ucw== IEFjdGl2ZQ== IGJyaWdodA== LmRhdGU= IHNpdHU= 77yI LklE IHNpZQ== KSwNCg== YWt0 U3BhY2U= LmRhdA== LmluZGV4T2Y= aGFu YXppbmU= IFpl IGNyYXNo KC8= Pj0= 0LE= MTM5 aXZh LkF1dG9TaXpl IExhdA== X2V4dA== SW5pdGlhbGl6ZQ== LnJlZ2lzdGVy MTU2 T1BZ IHJldmVyc2U= X2Rpcw== J11b IHByb21wdA== b250bw== IEpvdXJuYWw= cm91dGVy IG15c3FsaQ== I2Vsc2U= KSI= LXhz bGV0cw== cGhhbg== LkxF MTM3 V2lsbA== IGFmZm9yZA== IHNraWxs LXRvZ2dsZQ== TkM= QmluZA== VFM= SnVzdA== aXRlcmFs WVA= CXVuc2lnbmVk IHdpbmQ= MTQ5 KSk6Cg== IHdhcm5pbmc= IFdhdGVy IGRyYWZ0 IGNt IHNhbQ== IGhvbGRpbmc= emlw IFNjaWVuY2U= IHN1cHBvc2Vk R2Vu IGRpZXQ= PGg= IFBhc3M= dmk= IGh1c2JhbmQ= 77+977+9 bm90ZQ== IEFib3V0 IEluc3RpdHV0ZQ== IGNsaW1hdGU= LkZvcm1hdA== IG51dA== ZXN0ZWQ= IGFwcGFyZW50 IGhvbGRz Zmk= bmV3cw== Q00= dmlkZW8= Jzon RElUSU9O cGluZw== IHNlbmlvcg== d2E= LS0+Cg== X2RlZmF1bHQ= IERhdGFiYXNl cmVw RVNT bmVyZ3k= LkZpbmQ= X21hc2s= IHJpc2U= IGtlcm5lbA== Ojok LlE= IG9mZmVyaW5n ZGVjbA== IENT IGxpc3RlZA== IG1vc3RseQ== ZW5nZXI= IGJsb2Nrcw== b2xv IGdvdmVybmluZw== XEY= IGNvbmNlbnQ= LmdldFRleHQ= IG1i IG9jY3VycmVk IGNoYW5naW5n U2NlbmU= X0NPREU= QmVo IlRoZQ== IHRpbGU= IEFzc29jaWF0aW9u CVA= YWx0eQ== X2Fk b2RpZXM= aWF0ZWQ= IHByZXBhcmVk cG9zc2libGU= IG1vcnQ= VEVTVA== MTQy IGlnbm9yZQ== IGNhbGM= IHJz IGFzc2VydEVxdWFscw== IHN6 IFRISVM= LiIK IGNhbnZhcw== amF2YQ== IGR1dA== VkFMSUQ= LnNxbA== LmlucHV0 IGF1eA== U3Vw IGFydGlzdA== VmVj X1RJTUU= LnN0cmluZ2lmeQ== ZXR3ZWVu IENhdGVnb3J5 IFst IERldkV4cHJlc3M= IEp1bA== IHJpbmc= LmVk WVk= TGV0 VGV4dEZpZWxk IGZsYXQ= X3ByaW50 IE9USEVS YWRpYW4= IGNoZWNrZWQ= ZWxl QWxpZ24= c3RhbmRpbmc= IFtdLA== IGxhYg== dWNreQ== IENocmlzdG1hcw== KGltYWdl Lm1vZHVsZQ== IGxvdHM= IHNsaWdodGx5 KGZpbmFs ZXJnZQ== 6L8= MTQ3 IFBvbGljZQ== MTQz IFJpZ2h0 IGF3YXJk IE9T IHt9Cgo= IHB0cg== b3Zlcw== aWNhdGVk 0LXQvA== IG1hbmFnZQ== b2xpZGF5 QW1vdW50 b29sU3RyaXA= dGJvZHk= TmF2 d3JhcA== QkI= IHdhdGNoaW5n YXJpb3M= IG9wdGlvbmFs X0s= IExpY2Vuc2Vk Lk1hcA== VGltZXI= IEFQ IFJldg== KG8= LGM= dW1pbg== ZXRhaWxlZA== IEh5 IGJsYW5r YWdnZXI= IFNlbGY= KClb Lm1ha2U= ZWFybg== Y2hhbm5lbA== PHByZQ== YmxlbQ== X3Bhc3N3b3Jk X3Nw aWNpbmc= ZXo= IHRoZW9yeQ== IFRlcg== MTg0 LG4= bG9nbw== IEhUVFA= KCkpKQ== LmhhbmRsZQ== PjsK V29ybGQ= IHB5dGhvbg== IGxpZg== IHRyYXY= IGNvbnZlbg== Y29tcGFueQ== IENsdWI= MTM4 VmVy QnRu IHpvbmU= cHJvZHVjdHM= IEVkdWM= IHZlcmlmeQ== IE1pbA== b25v XSk7Cgo= RU5DRQ== IHBhY2tldA== IGNlcg== IGVudW1lcg== IHBhcnM= Zm9ybWVk IG9jY3Vw dHJl IGV4ZXJjaXNl RGF5 X3N1bQ== IGFza2luZw== YXB0aW9u IG9yZGVycw== IHNwZW5kaW5n IEVSUg== LkRpcw== IFV0aWw= 4oCcSQ== XCc= Pyk= Lz4K IGVtb3Q= IGluZmx1ZW5jZQ== IEFmcmljYQ== YXR0ZXJz 2YU= LnNlc3Npb24= IGNoaWVm CQkJCQkJCQkJCQk= IHRvbQ== Y2x1ZGVk c2VyaWFs X2hhbmRsZXI= LlR5cGU= YXBlZA== IHBvbGljaWVz LWV4 LXRy Ymxhbms= bWVyY2U= IGNvdmVyYWdl IHJj X21hdHJpeA== X2JveA== IGNoYXJnZXM= IEJvc3Rvbg== UGU= IGNpcmN1bQ== IGZpbGxlZA== MTQ4 IG5vcnRo aWN0dXJlQm94 CXJlcw== 6K4= IHRlcm1pbg== IFvigKY= SVJFQ1Q= IGJlcg== ICIuLi8uLi8= cmV0Y2g= LmNvZGU= X2NvbA== IEdvdmVybm1lbnQ= IGFyZ3Y= IExvcmQ= YXNp RXhlYw== CWxldA== dmVydGlz IGRpc2N1c3Npb24= ZW5hbmNl b3V0dWJl dHlwZW9m IHNlcnZlZA== IFB1dA== CXg= IHN3ZWV0 QmVmb3Jl YXRlZ3k= Lm9m IE1hdGVyaWFs U29ydA== T05U aWdpdGFs V2h5 IHN1c3Q= IOc= YWJldA== IHNlZ21lbnQ= IFtdLAo= IE11c2xpbQ== IGZpbmRWaWV3QnlJZA== Y3V0 X1RFWFQ= IE1hcnk= IGxvdmVk IGxpZQ== IEpP IGlzc2V0 bW9udGg= IHByaW1l dGk= IENhcm9s VXNl MTQ2 IFBvcA== IFNhdmU= SW50ZXJ2YWw= ZXhlY3V0ZQ== ZHk= IElyYW4= X2NvbnQ= CVQ= IHBoYXNl Y2hlY2tib3g= d2Vlaw== IGhpZGU= IHRpbA== IGp1 Q3VzdG9t YnVyZw== L00= VE9O IHF1YW50 IHJ1Yg== aXhlbHM= IGluc3RhbGxlZA== IGR1bXA= IHByb3Blcmx5 KExpc3Q= IGRlY2lkZQ== YXBwbHk= SGFz IGtlZXBpbmc= IGNpdGl6ZW5z IGpvaW50 cG9vbA== U29ja2V0 X29w IHdlYXBvbg== Z25vcmU= IEV4ZWM= b3R0ZW4= IE1T ICgt IFJldmlldw== IGV4YW1wbGVz IHRpZ2h0 ISg= RFA= IE1lc3NhZ2VCb3g= IHBob3RvZ3JhcGg= MTY0 VVJJ w6l0 bG93 IEdyYW5k LnBlcnNpc3RlbmNl IG1haW50YWlu IG51bXM= IHppcA== aWFscw== IEdldHM= cGVn IEJ1ZmZlcg== fn5+fg== cmFzdHJ1Y3R1cmU= IFBM dWVu b2JieQ== c2l6ZW9m IHBpYw== IHNlZWQ= IGV4cGVyaWVuY2Vk IG9kZA== IGtpY2s= IHByb2NlZHVyZQ== YXZpZ2F0b3I= LW9u LGo= IEFsdGhvdWdo IHVzZXJJZA== YWNjZXB0 Qmx1ZQ== SUNvbG9y bGF5ZXI= YXZhaWxhYmxl IGVuZHM= LnRhYmxl IGRhdGFzZXQ= YnVz IGV4cGxhaW4= KHBybw== IENvbW1pdHRlZQ== IG5vdGVk XToK RGlt c3RkaW8= MTU0 LiIsCg== X3NvdXJjZQ== MTgx IFdlZWs= IEVkZ2U= IG9wZXJhdGluZw== IGVzdGU= aXBs MzMw YWdpbmF0aW9u IHByb2NlZWQ= IGFuaW1hdGlvbg== Lk1vZGVscw== IFdhdGNo aWF0 IG9wcG9u L0E= UmVwb3J0 IHNvdW5kcw== X2J1Zg== SUVMRA== IGJ1bmQ= CWdldA== LnBy KHRtcA== IGtpZA== PgoKCg== IHlhbmc= Tm90Rm91bmQ= 0YY= bWF0aA== QGdtYWls IExJTUlU cmVkaWVudHM= IHZlbnQ= YXZpZ2F0ZQ== TG9vaw== IHJlbGlnaW91cw== IHJhbmQ= cmlv KEdM X2lw dWFu aWNpZW5jeQ== IENoYW5nZQ== Pg0KDQo= IEVudGl0eQ== IHJlbmNvbnRyZQ== IFJldA== cGxhbg== w6lu Qk9PTA== dXJpZXM= dHJhaW4= RGVmaW5pdGlvbg== PT09PT09PT09PT09 eno= NDUw QW5pbWF0aW9u IE9L X21lbnU= LmJs X3Njb3Jl IGFjYWQ= KFN5c3RlbQ== IHJlZnJlc2g= Jz0+JA== LkdyYXBoaWNz YW1lbnRv cGlk dGM= IHRpcHM= IGhvbWVz IGZ1ZWw= 4pY= X2hlbHBlcg== ICANCg== IFJvb20= LkNsb3Nl X2F0dHI= IE1vdW50 IEV2 YXJzZXI= X3RvcA== ZWFo IERlbGV0ZQ== 44CN dWtl IHVzYWdl YXJpYQ== X2Rldg== IHRleHR1cmU= IGNvbnZlcnNhdGlvbg== ZXBlcg== QmVhbg== ZG9uZQ== bm9uYXRvbWlj IFNlY29uZA== IHNob290aW5n X3ByZQ== Q29tcG9uZW50cw== IF0KCg== X18s c3RpdHV0aW9u LkNoYXI= PigpOwoK IHByZXNlbnRlZA== IHdh b2tlcg== LQoK aW5lcg== IGJlY29taW5n IGluY2lkZW50 QXR0 MTYy IHJldmVhbGVk Zm9yYw== IGJvb3Q= LnBhZ2U= RW51bWVyYXRvcg== MTY1 Xy0+ UGhvdG8= IHNwcmluZw== LiIs IERpY3Rpb25hcnk= QkpFQ1Q= IGxvY2F0aW9ucw== IHNhbXBsZXM= SW5wdXRTdHJlYW0= IEJyb3du IHN0YXRz cXVhbGl0eQ== 0YU= LWRpcw== IGhlbHBpbmc= IHBlZA== MjI0 KHNl IFdobw== YWxpYW4= aW50ZXJuYWw= IGZ0 PigpLg== LT57 IG1pbmU= IHNlY3Rvcg== IGdybw== IG9wcG9ydHVuaXRpZXM= IMO8 IG1w IGFsbGVnZWQ= IGRvdWJ0 TW91c2U= QWJvdXQ= X3BhcnQ= IGNoYWly IHN0b3BwZWQ= MTYx bG9vcA== ZW50aXRpZXM= IGFwcHM= YW5zaW9u IG1lbnRhbA== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= RlI= IGRlZmVuZA== Y2FyZQ== IGlkZWFs L2FwaQ== dXJmYWNl MDEx IGVsZQ== dWxhdG9y IFJpZ2h0cw== YW5ndWFnZXM= IGZ1bmRz IGFkYXB0 QXR0cmlidXRlcw== IGRlcGxveQ== b3B0cw== IHZhbGlkYXRpb24= IGNvbmNlcm5z dWNl Lm51bQ== dWx0dXJl aWxh IGN1cA== IHB1cmU= LkZvcmU= MTgz IEhhc2hNYXA= LnZhbHVlT2Y= YXNt TU8= IGNz IHN0b3Jlcw== ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg== IGNvbW11bmljYXRpb24= bWVt LkV2ZW50SGFuZGxlcg== LlN0YXR1cw== X3JpZ2h0 LnNldE9u U2hlZXQ= IGlkZW50aWZ5 ZW5lcmF0ZWQ= b3JkZXJlZA== ICJb IHN3ZQ== Q29uZGl0aW9u IEFjY29yZGluZw== IHByZXBhcmU= IHJvYg== UG9vbA== IHNwb3J0 cnY= IFJvdXRlcg== IGFsdGVybmF0aXZl KFtd IENoaWNhZ28= aXBoZXI= aXNjaGU= IERpcmVjdG9y a2w= IFdpbA== a2V5cw== IG15c3Fs IHdlbGNvbWU= a2luZw== IE1hbmFnZXI= IGNhdWdodA== KX0K U2NvcmU= X1BS IHN1cnZleQ== aGFi SGVhZGVycw== QURFUg== IGRlY29y IHR1cm5z IHJhZGl1cw== ZXJydXB0 Q29y IG1lbA== IGludHI= KHE= IEFD YW1vcw== TUFY IEdyaWQ= IEplc3Vz ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LkRF IHRz IGxpbmtlZA== ZnJlZQ== IFF0 IC8qKg0K IGZhc3Rlcg== Y3Ry X0o= RFQ= LkNoZWNr IGNvbWJpbmF0aW9u IGludGVuZGVk LXRoZQ== LXR5cGU= MTgy ZWN0b3Jz YW1p dXRpbmc= IHVtYQ== WE1M VUNU QXA= IFJhbmRvbQ== IHJhbg== LnNvcnQ= IHNvcnRlZA== LlVu NDAx X1BFUg== aXRvcnk= IHByaW9yaXR5 IEdhbA== IE9sZA== aG90 IERpc3BsYXk= KHN1Yg== X1RI X1k= IENhcmU= bG9hZGluZw== S2luZA== X2hhbmRsZQ== LCw= cmFzZQ== X3JlcGxhY2U= LmFkZEV2ZW50TGlzdGVuZXI= IFJU MTcy IGVudGVyZWQ= Z2Vycw== IGljaA== KHN0YXJ0 MjA1 L2FwcA== IGJyb3RoZXI= TWVtb3J5 T3V0bGV0 IHV0Zg== cHJlYw== IG5hdmlnYXRpb24= T1JL IGRzdA== RGV0YWls IGF1ZGllbmNl IGR1cg== IGNsdXN0ZXI= dW5jaGVk IF0s IGNvbWZvcnRhYmxl LnZhbHVlcw== IFRvdGFs IHNuYXA= IHN0YW5kYXJkcw== IHBlcmZvcm1lZA== aGFuZA== KCJA 5a0= IHBoaWw= aWJy dHJpbQ== IGZvcmdldA== MTU3 IGRvY3Rvcg== LlRleHRCb3g= Mzc3 aWNvbnM= LHM= IE9w U20= U3RvcA== CUxpc3Q= CXU= Q29tbWVudA== X1ZFUlNJT04= Llh0cmE= UGVyc29u cmI= TE9C ICAgICAgICAgICAgICAgICAgICAK IENlbnRyYWw= Mjcw SUNL cmFx IHB1dHRpbmc= IG1k IExvdmU= UHJvZ3JhbQ== Qm9yZGVy b29y IGFsbG93aW5n YWZ0ZXI= IGVudHJpZXM= IE1heWJl XSku IFNob3J0 KVw= Lm5vdw== ZnJpZW5k IHByZWZlcg== IEdQSU8= b3Npcw== IEdhbWVPYmplY3Q= IHNraXA= IGNvbXBldGl0aW9u X21hdGNo bGljYXRpb25z X0NPTlQ= Lmdyb3VwQm94 IGFscw== NjY2 Ildl X2Vx bGFu X3NlYXJjaA== IE11c2lj YXNpcw== IGJpbmQ= IElzbGFuZA== cnVt KEU= IHNlYXQ= VmlkZW8= IGFjaw== cmVlaw== PXsoKQ== IHJhdGluZw== IHJlc3RhdXJhbnQ= NDU2 REVY KGJ1Zg== cHBpbmc= dWFsaXR5 IGxlYWd1ZQ== MTc2 IGZvY3VzZWQ= YXBvbg== JGRhdGE= Q0xVRA== Q0xVRElORw== IGFic29sdXRl KHF1ZXJ5 IHRlbGxz QW5n IGNvbW11bml0aWVz IGhvbmVzdA== b2tpbmc= IGFwYXJ0 YXJpdHk= LyQ= X21vZHVsZQ== IEVuYw== LmFu LkNvbmZpZw== Q3Jl IHNob2Nr IEFyYWI= SUVOVA== L3Jl IHJldHJpZQ== eWNsZXI= aXNh IE9yZ2Fu LmdyYXBo IO0= IEJBUw== RW51bQ== IHBvc3NpYmx5 0YDQsNA= IEphcGFuZXNl IGNyYWZ0 IFBsYWNl IHRhbGVudA== IGZ1bmRpbmc= IGNvbmZpcm1lZA== IGN5Y2xl L3g= R0U= IGhlYXJpbmc= IHBsYW50cw== IG1vdXRo cGFnZXM= b3JpYQ== IFJlbW92ZQ== X3RvdGFs IG9k b2xsYXBzZQ== ZG9vcg== IGJvdWdodA== IGFkZHI= QVJDSA== X2RpbQ== ZGRlbg== IGRlY2FkZXM= UkVRVUVTVA== IHZlcnNpb25z ZmlyZQ== MDA2 IG1vdmVz ZmI= IGNvZmZlZQ== LmNvbm5lY3Q= IFJvdw== IHNjaGVtYQ== U2NvcGU= LVR5cGU= IGZpZ2h0aW5n IHJldGFpbA== IG1vZGlmaWVk VEY= RmlsZXM= bmll X2NvbW1hbmQ= c3RvbmU= INGC X3RocmVhZA== IGJvbmQ= IERldmVsb3BtZW50 IHB0 Rk9STQ== cGxldA== IGlkZW50aWZpZWQ= Y3Bw MjA2 MjI1 IGNvZGluZw== b2tlZA== IE1hc3Rlcg== SURUSA== IHJlc2lkZW50cw== cmVkaXQ= IFBob3Rv PS0= dW50ZQ== YXRldXI= MTU5 X1NUQVRF IFNpbmc= IHNoZWV0 LnZhbA== b3JzZQ== IGhlcnM= IGRldGVybWluZWQ= Q29tbW9u IHdlZA== X3F1ZXVl UEg= IEF0bA== Y3JlZA== L0xJQ0VOU0U= IG1lcw== IGFkdmFuY2Vk LmphdmE= LlNo R28= a2lsbA== ZnA= X3NldHRpbmdz IHBhbA== IHRydWNr IGNvbWJpbmVk ICIkew== IENvcnBvcg== IGpvaW5lZA== IEpvc2U= IEN1cA== dW5z ZXN0aXZhbA== bGV2aXNpb24= IGJyb2tlbg== IG1hcnJpYWdl IFdlc3Rlcm4= IHJlcHJlc2VudHM= IFRpdGxl IHNz LkFzcw== b25nb29zZQ== aWVudG8= PD4oKTsK IGFic29sdXRlbHk= IHNtb290aA== VEVSTg== IFVubGVzcw== V29yZA== IG1lcmdl aWdhbg== IFZvbA== IG5u LmdldElk INC3 MTcx IHNleHk= IHNlZWtpbmc= U2luZ2xl LnRoaXM= MTc5 IGtvbQ== Ym91bmQ= OyI= IGZvbnRTaXpl X2Rm IGluanVyeQ== KEg= IGlzc3VlZA== X0VORA== OnNlbGY= MDIw IHBhdGNo IGxlYXZlcw== IGFkb3B0 RmlsZU5hbWU= 44CQ IGV4ZWN1dGl2ZQ== IEJ5dGU= XSkpCg== IG51 b3V0aW5n Y2x1ZGluZw== LVI= Lm9wdGlvbnM= IHN1YnN0YW50 YXZheA== IEJVVA== IHRlY2huaWNhbA== IHR3aWNl IG3DoXM= IHVuaXZlcnM= eXI= IGRyYWc= IERD IHNlZA== IGJvdA== IFBhbA== IEhhbGw= Zm9yY2VtZW50 IGF1Y2g= Lm1vZA== bm90YXRpb24= X2ZpbGVz LmxpbmU= X2ZsYWc= W25hbWU= IHJlc29sdXRpb24= IGJvdHQ= KCJb ZW5kZQ== KGFycg== RnJlZQ== KEAi IERpc3RyaWN0 UEVD Oi0= UGlja2Vy IEpv ICAgICAK IFJpdmVy X3Jvd3M= IGhlbHBmdWw= IG1hc3NpdmU= LS0tCg== IG1lYXN1cmVz MDA3 IFJ1bnRpbWU= IHdvcnJ5 IFNwZWM= CUQ= 44CR ICl7Cg== IHdvcnNl KGZpbGVuYW1l IGxheQ== IG1hZ2lj IFRoZWly b3Vs c3Ryb3k= IFdoZXJl Mjgw IHN1ZGRlbg== IGRlZmU= IGJpbmRpbmc= IGZsaWdodA== IE9uSW5pdA== IFdvbWVu IFBvbGljeQ== IGRydWdz aXNoaW5n KCcuLi8= IE1lbA== cGVhdA== dG9y IHByb3Bvc2Vk IHN0YXRlZA== X1JFUw== IGVhc3Q= MjEy IENPTkRJVElPTg== X2Rlc2M= IHdpbm5pbmc= Zm9saW8= TWFwcGVy IFBhbg== IEFuZ2U= LnNlcnZsZXQ= IGNvcGllcw== TE0= IHZt 5Y0= IGRpY3Rpb25hcnk= U2Vn MTc3 ZWxpbmVz IFNlbmQ= IGlyb24= IEZvcnQ= MTY2 LmRvbWFpbg== IGRlYmF0ZQ== Tm90TnVsbA== ZXE= YWNoZXI= bGY= CWZtdA== IGxhd3k= MTc4 xJ8= IE1lbg== IHRyaW0= KE5VTEw= ICEh IHBhZA== IGZvbGxvd3M= Il1bIg== cmVxdQ== IEVw LmdpdGh1Yg== KGltZw== ZXRv KCdc U2VydmljZXM= dW1ibmFpbA== X21haW4= cGxldGVk Zm9ydHVuYXRlbHk= IHdpbmRvd3M= IHBsYW5l IENvbm5lY3Rpb24= LmxvY2Fs dWFyZA== fVw= PT0i YW5kb24= IFJveQ== d2VzdA== MTU4 aWdpbmFs ZW1pZXM= aXR6 Jyk6Cg== IFBldGVy IHRvdWdo IHJlZHVjZWQ= IGNhbGN1bGF0ZQ== IHJhcGlk Y3VzdG9tZXI= IGVmZmljaWVudA== IG1lZGl1bQ== IGZlbGw= LnJlZg== IENhcw== IGZlZWRiYWNr U3BlZWQ= KG91dHB1dA== YWpl IGNhdGVnb3JpZXM= IGZlZQ== fTs= IGRlbGV0ZWQ= cmVo IHByb29m RGVzYw== QnVpbGQ= IHNpZGVz LkFycmF5TGlzdA== LSU= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= 2LE= Lm1hdGNo 0LvQuA== IGZlZWxz IGFjaGlldmU= IGNsaW0= X09O IENE IHRlYWNoZXI= X2N1cnJlbnQ= Ym4= X1BM aXN0aW5n RW5hYmxl R0VO IHR2 IHNvY2s= IHBsYXlz IGRpc2NvdW50 IEtF IERlYnVn Rm9yZQ== IElyYXE= IGFwcGVhcmFuY2U= TW9u IHN0eWxlZA== IEh1bWFu aW90 IEhpc3Rvcnk= IHNhYw== IENvbGxlY3Rpb24= IHJlY29tbWVuZGVk LlNlbGVjdGVk IG9yZ2FuaXphdGlvbnM= IGRpc2NvdmVyZWQ= Y29ob2w= YWRhcw== IFRob21hcw== TWF5 IGNvbnNlcnY= IGRvbWlu IEZvbGxvdw== IFNlY3Rpb24= IFRoYW5rcw== VXNlcm5hbWU= IHJlY2lwZQ== IHdvbmRlcmZ1bA== LnNsZWVw X2lm CQoJCg== b3Jubw== IHJ1 X3RhcmdldA== LiIi 4KY= RXZlbnRBcmdz IGlucHV0cw== IGZpZg== IHZpc2lvbg== Y3k= IFNlcmllcw== KSgoKA== IHRyYWRpbmc= IG1hcmtlcg== QmVnaW4= IHR5cGljYWxseQ== IGNhdXNlcw== ZHJvcGRvd24= X0RFQlVH MjYw IGRldGVjdA== Y291bnRyeQ== ISIpOwo= CVI= YXBweQ== IGNyZWY= KCc8 Ij0+ IExF cmVhZGVy IGFkbWluaXN0cg== w7U= dWNrZXQ= IGZhc2hpb24= LmNoYXI= aXphcg== IGRpc2FibGU= IHN1Yw== IExpdmU= aXNzdWU= IG1ldGFkYXRh ZmxhZ3M= IPCf IGNvbW1pdHRlZA== IHZh IHJvdWdo ICcnJwo= IGhpZ2hsaWdodA== X3ZhcnM= Vk8= IGVuY29kaW5n LVo= X3NpZ24= JCgiIw== IHJhaW4= cmVhdGVzdA== IEVORA== U2VsZWN0aW9u IGNhbmRpZGF0ZXM= IHNhdg== LkVtcHR5 IGRlY2lzaW9ucw== IGNvbGxhYm9y cmlkZ2U= ZmVlZA== cmVzc2lvbg== IHBlcnNvbnM= Vk0= MDA4 ZWdh X0JJVA== QWNjb3JkaW5n YWNrZWQ= IGRvbGxhcnM= X2xvc3M= IENvc3Q= fSIK Tm90aWZpY2F0aW9u IHByb3N0aXQ= IGF1dGhvcml0eQ== LnJlYw== IHNwb2tlcw== IFRvZGF5 aXN0YW50 IEhlYWQ= 4oCdLg== ZXJ0YWlubWVudA== Y2Vhbg== Y3VsYXRl IHZlbg== SG93ZXZlcg== X2Fycg== IHRva2Vucw== R3JhcGg= IEp1ZA== IFZpcmdpbg== IFNlcmlhbA== dW5uaW5n TXV0YWJsZQ== YWdlcnM= LmNzdg== IGRldmVsb3Bpbmc= IGluc3RydWN0aW9ucw== IHByb21pc2U= IHJlcXVlc3RlZA== X2VuY29kZQ== LyI= IEljb24= dWlsdA== LWRheQ== IGludGVsbGlnZW5jZQ== LklT IE9ic2VydmFibGU= IEhhcmQ= Qm9vbA== MjEx aWRlbnRpYWw= LkFuY2hvcg== IHNlbGxpbmc= Q0k= QUdFUw== dGxl YnVy VUZGRVI= Ulk= IGJpZ2dlcg== IHJhdA== IGZhbW91cw== IHR5cGVuYW1l IGV4cGxhaW5lZA== fX0K IG51Y2xlYXI= LU4= IGNyaXNpcw== IEVudGVy IGFuc3dlcnM= LyR7 L3Bs IHNlcXU= X25leHQ= bWFzaw== IHN0YW5kaW5n IHBsZW50eQ== IENyb3Nz CXJldA== ZHJv IENhc3Q= MTY3 PXRydWU= IENocmlz aWNpbw== IE1pa2U= RGVjaW1hbA== YWRkQ29tcG9uZW50 TGVu IGNvY2s= ICN7 VVJO PHRy IGF1dGhvcml0aWVz UmVzb3VyY2Vz LUg= Qm90dG9t MDEy X3F1 cHV0ZXI= ZXN0ZXJkYXk= RGlzcGF0Y2g= c2luY2U= IGZhbWlsaWFy LGk= VkM= IG1lbnQ= LEM= IGZyZWVkb20= IHJvdXRlcw== IEJ1eQ== IGNvbW1hbmRz IG1lc2g= L0M= IFNldHRpbmdz LXN0eWxl IHdpdG5lc3M= IGNsZQ== IHVuaW9u ZWZhdWx0 YXJldA== IHRob3VnaHRz IC0tLS0= X3Byb2Nlc3M= X3Vz aW5nbHk= VUVT VG91Y2g= INC8 X29wZW4= IFZlYw== IHJld2FyZA== LkNsaWNr Lzo= IG5pZQ== Q2hhbmdlcw== TW9udGg= 77yf IGV4ZWN1dGlvbg== IGJlYWNo KEludGVnZXI= CWE= Lyc= LkZvbnRTdHlsZQ== IGFib3J0 IFNpbmdsZQ== KGlzc2V0 IGRw IH19PC8= IE1h MjE0 LlJvd3M= IFBldA== JSk= cmFuZA== 6YA= UnVsZQ== IGhlbA== MDIx UklURQ== IHF1aWV0 IHJhdGlv IENPTkRJVElPTlM= b3NvcGg= IElM IGFkdmVudA== Y2Fw Ozwv IFVTQg== RHJpdmVy IG91cnM= IEpvaG5zb24= Lks= X2RlbGV0ZQ== LnE= CXN0cg== L2NvbW1vbg== CXN0cmluZw== IFBERg== YWN0cw== LkFjdGlvbg== IFF1ZXJ5 LnJlc3BvbnNl IEdpcmw= IHByb2Nlc3Nlcw== PEludGVnZXI= aW1v IGFkZHM= IGVudGlyZWx5 IHdhc2g= LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg== IGFuaW1hdGVk IHByb2ZpdA== ZW5jaW5n L1M= IFN5bQ== IG1hbnVhbA== RG93bmxvYWQ= ICghJA== IG1vdGlvbg== d2VicGFjaw== LWJvdHRvbQ== IGdyYXR1aXQ= UEc= KDos IGVyYQ== IGhv IEppbQ== cXVpcg== IEJBU0lT w6Fu REVS IGV4cGVuc2l2ZQ== X2Nv Qm91bmRz V2VsbA== IERlbW9jcmF0aWM= IOKGkg== LlJlbQ== X1NZ bmFtZXM= IFZp IGlzaW5zdGFuY2U= XCI+ ICo9 IFBT IGRhbmdlcm91cw== W3A= T01F T3RoZXI= IFN0cmluZ0J1aWxkZXI= UG9pbnRz aGVhZGluZw== IGN1cnJlbmN5 IHBlcmNlbnRhZ2U= X0FQSQ== IGNsYXNzaWM= dGhlYWQ= IE1P RkU= SWR4 YXdhaXQ= IMOo IGFjY2lkZW50 IHZhcmlhbnQ= IG15c3Q= IExhbmQ= IEJyZQ== IGhhcm0= IEFjYw== IGNoYXJnZWQ= aW9uZXM= VmlzaWJpbGl0eQ== YXJyeQ== IExhbmd1YWdl IHdhbGtpbmc= Ii4KCg== aWZlcg== IGxlYWRlcnNoaXA= LkZyb20= eW5hbQ== IHRpbWVzdGFtcA== aXB0 IEhhcw== UkVGRVI= IEl0cw== IGxpc3RlbmVy VVRF MjEz X2Rlc2NyaXB0aW9u IGV4cGVyaWVuY2Vz IGNyZWF0ZXM= UlM= Y2FydA== YmxhY2s= IGNob2ljZXM= d2Fy NzUw ICcnJw== IG9yZGVyZWQ= IGV2ZW5pbmc= IHBpbA== IHR1bg== IEJhZA== KGFwcA== cmFuZG9t IGV4cGxpY2l0 IGFycml2ZWQ= IGZseQ== IGVjb25vbQ== LW1haWw= IGxpc3Rz IGFyY2hpdGVjdA== MjM0 IFBheQ== IGRz IFNvbA== IHZlaGljbGVz SHo= LWNvbQ== IGtpbmc= X2VxdWFs IEhlbHA= IGFidXNl NDgw MTY5 LS07Cg== IGV4dHI= IGNoZW1pY2Fs 5L8= IG9yaWVudA== IGJyZWF0aA== IFNwYWNl KGVsZW1lbnQ= d2FpdA== REVE aWdtYQ== IGVudHI= IHNvYg== LW5hbWU= IGFmZmVjdGVk aWth IGNvYWw= X3dvcms= IGh1bmRyZWRz IHBvbGl0aWNz c3ViamVjdA== IGNvbnN1bWVy QU5HRQ== IHJlcGVhdGVk U2VuZA== ICNb IHByb3RvY29s IGxlYWRz dXNldW0= RXZlcnk= ODA4 MTc0 SW1wb3J0 KGNvdW50 IGNoYWxsZW5nZXM= IG5vdmVs IGRlcGFydA== Yml0cw== LkN1cnJlbnQ= IGAkew== b3Rpbmc= KFw= IGNyZWF0aXZl IGJ1ZmY= IGludHJvZHVjZWQ= dXNpYw== bW9kdWxlcw== QXJl LWRvYw== bGFuZ3VhZ2U= X2NhY2hl IHRvZA== Pz48Lw== b21ldGhpbmc= IGh1bg== 5bo= YXRlcnM= SW50ZW50 IGltcGxlbWVudGVk IENhc2U= Q2hpbGRyZW4= IG5vdGlmaWNhdGlvbg== UmVuZGVyZXI= V3JhcHBlcg== T2JqZWN0cw== dGw= LkNvbnRhaW5z UGx1Z2lu LnJvdw== IGZvcmc= IHBlcm1pdA== IHRhcmdldHM= IElG IHRpcA== c2V4 IHN1cHBvcnRz IGZvbGQ= cGhvdG8= fSwNCg== IGdvb2dsZQ== JCgnIw== IHNoYXJpbmc= IGdvb2Rz dnM= IERhbg== UmF0ZQ== IE1hcnRpbg== IG1hbm5lcg== bGll LlRoZQ== SW50ZXJuYWw= IENPTlRS TW9jaw== UklHSFQ= ICd7 IGNvbnRyb2xz TWF0 IG1hbmQ= IGV4dGVuZGVk T2s= IGVtYmVk IHBsYW5ldA== IE5vbg== LWNo KSIs ZXBhcg== IGJlbGlldmVk IEVudmlyb25tZW50 IEZyaWVuZA== LXJlcw== IGhhbmRsaW5n bmlj LWxldmVs c2NyaQ== WG1s QkU= dW5nZW4= IGFsdGVy W2lkeA== UG9w Y2Ft ICgoKA== IHNoaXBwaW5n IGJhdHRlcnk= aWRkbGV3YXJl TUM= IGltcGw= b3RhdGlvbg== IExhYg== PGZvcm0= CW5hbWU= IEdhbWVz cmF5 RXh0cmE= VHdv KHBsYXllcg== IExlcw== wrA= IGNoYXJzZXQ= IGpvdXJuZXk= ZXRpbmc= 5pg= 4pQ= 55So IGRpbg== IHBlcm1hbg== IHNvbHZl IGxhdW5jaGVk IG5pbmU= IHNlbmRpbmc= IHRlbGxpbmc= LnBhc3N3b3Jk IE1hdHJpeA== ZXJpYw== IGdyYWI= LnU= IExpYnJhcnk= IGRlYnQ= SU5L LmZpbmRWaWV3QnlJZA== IGZyZXF1ZW5jeQ== LmFk X1RFU1Q= IG5lZ290 IEFmcmljYW4= c2VuZGVy xaE= R2xvYmFs MTcz IGV4cGVydHM= KyspDQo= IGRlcGVuZGluZw== Z3JheQ== IGp1ZGdl IHNlbnRlbmNl bG9zdXJl QWM= IHRyYWNl RWRnZQ== IGZyaWVuZGx5 IGNvbmNlcm5lZA== YmxvZw== IGNsYWltZWQ= fSc= aW50ZWdlcg== X3RyZWU= CWNvbnRpbnVl eGk= IGFjY2VwdGVk X29uZQ== IEVkdWNhdGlvbg== dWJsaXNoZWQ= Z29u YXBwb2ludA== b3V0cw== IG1pbmluZw== IHNvbmdz IGhlcnNlbGY= IGdyYW50ZWQ= IHBhc3Npb24= IExha2U= IGxvYW4= dWVudA== Y2hhbnQ= IGRldGFpbGVk ZXhjZXB0 X2NtZA== IEhF UmVsYXRlZA== enQ= J30sCg== IHNwZWNpZmljYWxseQ== U3RhdGlj IGNhcnJpZWQ= QU5T XCI6 Q3JlYXRlZA== IGN1bA== XS0= X2FwaQ== RlA= IHNpdHRpbmc= ICIiKQ== CWdvdG8= IEVxdQ== IGFzc2F1bHQ= a2lucw== YW5jZXI= b2dlbg== IHZvdGVycw== IFByb3Q= RGVzY3JpcHRvcg== 44O8 LkFzc2VydA== YnNpdGVz b3N0ZXI= LW1lbnU= IGFybXM= LkNsaWVudA== LmJhY2tncm91bmQ= YXZpdHk= IHZ1bA== X01BU0s= IGhvdXNpbmc= IGJlYXI= X2l0ZXI= cGlyZWQ= IG1hcmtldHM= IFN0dWRlbnQ= IHRpY2tldA== IG1pbGxpb25z ZmxhdGVy KT0= IHJlY292ZXI= IEZvcmNl IEJvdGg= IHZpY3RpbQ== IERpc2M= cmVwb3J0 IGZvdXJ0aA== IEFzc2VtYmx5 L3VzZXI= TnVsbE9y dGV4dGFyZWE= IGF0aA== IChb IGNoYW5uZWxz IEp1c3RpY2U= Y2hvaWNl TE9CQUw= ZXhlYw== ZW1hbGU= IGVsZW0= X2xl IHJlc3BvbnNpYmlsaXR5 IFR3 SUNBVElPTg== IGVsc2VpZg== IGZv YXN0cw== IHRyZWF0ZWQ= c2Vu IFZpY3Q= c3VtZXI= X0JBU0U= IGFzdA== Pnt7 IFJlc291cmNl IFN0YW5kYXJk IFByZW0= dXBkYXRlZA== aXZhbGVudA== IGFzc2V0cw== X3RlbXA= IGludGVyZXN0cw== IGhhcmR3YXJl IFJvbQ== IFNoYXJl ICcnCg== ICos IFRha2U= IEltYWdlcw== X0NIRUNL KHR5cGVvZg== IEp1bg== XDxe IGxpcXU= IHdvcnN0 eW1ib2xz CQkJICAg IGRyaXZlcnM= IERvY3VtZW50 ZW5v IFRlY2hub2xvZ3k= IGFwcHJvdmVk dW1wcw== IHNub3c= Zm9ybWFuY2U= X0FTU0VSVA== dWl0cw== MjA3 2YY= IGRpZmZlcmVuY2Vz LlZpc2libGU= CQkJDQo= IFBz X2ZldGNo IHRvZG8= LicsCg== IHNlbA== dXJlcnM= aW52YWxpZA== IHR3ZWV0 VkVM IHJlc2VhcmNoZXJz IHNwcmludGY= IFJP IHBlbA== LlRyYW5z IGlsbGVnYWw= ZGlhbG9n c21hcnR5 bGc= X01JTg== IGhlcm8= ZmluYWw= IHBw Lkxl IGNp CVJU IHN1Z2dlc3RlZA== cGRm YWNoaW5n IFJv IFByb3BlcnRpZXM= IFNp IGJ1eWluZw== IG11 IGxhbmRz aWZpZXJz IEZJTEU= Uk9VUA== IGhvbGRlcg== IFNvbg== IHN5bXB0 LnJvdXRl KT8= IGFyZ2M= IGZvcnQ= IGNhc2lubw== X2NhdGVnb3J5 IGZvcnVt MjE1 cHJlZml4 YXB0dXJl VHViZQ== ZW1z aW1pemU= IG51ZQ== YXVz Y291cnNl QVRPUg== KCkpLA== QWR2ZXJ0aXM= SU5HUw== IGFja25vdw== IEtvcmVh cGxpbmc= IHdvcmtlcg== UExJRUQ= aGFs IFJpY2hhcmQ= RWxlbWVudHM= CQkJIA== c3Rhcg== IHJlbGF0aW9uc2hpcHM= IGNoZWFw QUNI IFhNTA== LCY= IExvdWlz IHJpZGU= X0ZBSUw= IGNodW5r W3M= X09VVA== IGNob3Nlbg== X1s= Lyg= IEplZmY= X3Ns cHJpdg== IENhbmFkaWFu IHVuYWJsZQ== X0ZMQUc= IG5vcw== aGlnaA== IGxpZnQ= ZnVu KCl7 ZWxseQ== eWNsZXJWaWV3 X2Fz X0xJU1Q= IHJhZGk= LmdldFZhbHVl MzA0 IEFuZ2VsZXM= IFNwYW4= X2luc3RhbmNl aXRvcnM= MjA4 IG1pZ3JhdGlvbg== QUs= T2g= wq4= LnNlbGVjdGVk IEdU IGFkdmFuY2U= IFN0eWxl LkRhdGFHcmlkVmlldw== ZWN0aW9u 0Y4= cGlv cm9n IHNob3BwaW5n IFJlY3Q= SWxsdW1pbmF0ZQ== T1U= CWFycmF5 IHN1YnN0YW50aWFs IHByZWdu IHByb21vdGU= SUVX LkxheW91dA== IHNpZ25z Ly4= IGxldHRlcnM= Qm9hcmQ= Y3RybA== Ilw= IEpvbmVz IHZlcnRleA== IGph IGFmZmlsaQ== IHdlYWx0aA== CWRlZmF1bHQ= IHNpZ25pZmljYW50bHk= IGVj IHhz YWN0dWFs LnBlcg== X3N0ZXA= YW52YXM= bWFj IHRyYW5zbA== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= SXRlcmF0b3I= IG9jaA== YWdub3N0aWM= IER1cmluZw== IERFRkFVTFQ= IHRpbGw= IHNpZ25hdHVyZQ== IGJpcmQ= IE9s MzEw IEly SFM= YXZhdGFy RVNTQUdF IGVsZXY= IG10 IE5hdg== IHJlbGF4 IHBsYXRl SVRFTQ== KGRhdGU= Lm5vdA== IGdyYWRl IH0pLAo= PyIKCg== aWVuY2Vz SGlnaA== IERJUw== MjMx ZGlzYWJsZWQ= UVVJ IG5vaXNl YXV4 IFVQ ODg4 b3Nh IHZvYw== ICkp b2NvbQ== X09GRg== IERi TG9jaw== LmVjbGlwc2U= LGQ= IERyYXc= ICIo IHZpc2l0ZWQ= IOKI IHN1Y2NlZWQ= IGltcG9zc2libGU= YWlyZQ== IFR1cm4= IGRpc2g= Rkc= IHNlbnNvcg== QU5O YWJh IHN1cmc= XSk7DQo= IGZw X2Fu LUo= LUc= IEpvYg== Q29udmVydA== IEtFWQ== IGF1dGhvcnM= X3NlcnZlcg== XHI= IC0qLQ== ZmxleA== IHNvYw== UmV0 IHNhbHQ= IOKApgoK IENsZWFy KHBhZ2U= LWRhbmdlcg== IHJvb21z Y29udg== I3s= Lm9w IEFyZWE= X1ND aGVu IGJlZ2lucw== LXk= IGV4Y2l0ZWQ= IGlnbm9yZWQ= IGJvbnVz c3R1ZGVudA== IE1lbWJlcg== IHJlbGF0aXZlbHk= IExvdw== IFByb2R1 YXRld2F5 cG9zdXJl IHRoaWNr YW5pZWw= KHZpZXc= IENydXNo RXh0ZW5zaW9u SWw= ZWVk TE9D Lmlt Lkl0ZW1z IGNvbmZsaWN0 LnByZXZlbnQ= MjUy IG9uQ3JlYXRl dXY= aXNlcg== IHdhdmU= TWFy IENvbW11bml0eQ== aWNoZQ== IE5vdGhpbmc= W20= IExlZQ== cmllbmRz MjMy w6hyZQ== ISEh YW56 LnJlc3VsdA== IFNL X1BBUkFN IGRlbW9jcg== QmFja0NvbG9y LmV4aXN0cw== Ikl0 KG9wdGlvbnM= cmF6eQ== YXNlcg== XERhdGFiYXNl YWxlbmRhcg== X2Fzcw== O30K dmVydGV4 aW5lY3JhZnQ= V2FybmluZw== YXJnbw== IGFjdG9y IEluc3RlYWQ= IFVzaW5n U2VsZg== QGludGVyZmFjZQ== IHNwZWFraW5n IFBhcmlz IExJQ0VOU0U= Lm5vZGU= IEZvb2Q= RUlG IEJp LlN0YXJ0 IElC IHVuaXZlcnNpdHk= MjU0 IEhlYWRlcg== LnByb2R1Y3Q= NDA5 Q29weQ== ZXRj cmljYWw= ID4+Pg== Ym9va3M= IGFsZ29yaXRobQ== ICdfXw== KGphdmF4 IG51bWVyb3Vz U2hhcmU= SGF2ZQ== IHJlY3J1 IHByb3Zl LnN1YnN0cmluZw== aGVhbHRo 0LXQuw== IGRlY2ltYWw= IGNvbW1pc3Npb24= c2NyaXB0aW9u eEM= IHN1bW1hcnk= YXR0ZWQ= IGNsb3Nlcg== ZmluaXNoZWQ= KCkpewo= IFdvb2Q= MzAx X2ZpZWxkcw== a3U= X2l0ZW1z RmxhZw== IGNvbmZpZGVuY2U= IEZlZGVyYWw= ZHV4 IGNvbXBhdA== IHZlcnRpY2Fs 0Lk= w6hz OyI+Cg== X21hbmFnZXI= KCkpKQo= SURF OiIs MjM1 X18K IFdheQ== MjIx 0Yg= VGVtcA== IFNUUg== cml0dGVu U3luYw== IEFW IENFTw== IEd1aWQ= IGVudmlyb25tZW50YWw= IGNvcnJlc3BvbmRpbmc= CWNvbnNvbGU= IGp1c3RpY2U= IEpT IGxpdmVk Z2Fy IEdyYXBo IFN0YXQ= IGlQaG9uZQ== LmFs IEhE IG9jY3Vy IHRocmVzaG9sZA== NTA5 IG9uY2xpY2s= UkVH LkdyYXBoaWNzVW5pdA== TWV0YQ== xb4= IGN1bQ== LmdudQ== w6s= IG9idGFpbmVk IGNvbXBsYWludA== IGVhdGluZw== IHRhcg== X3Rhc2s= IG9wdHM= MjE2 KHRv UGFzcw== IHBsYXN0aWM= dGlsaXR5 IFdpbg== LnByZXZlbnREZWZhdWx0 cGlsZQ== IEdhcg== IHF1YW50aXR5 X2xhc3Q= IGdyZWF0ZXN0 RGFv X0RJUw== IFVzZWQ= IEhQ cml0aW5n U0lPTg== Ymx1ZQ== ZG9tYWlu IHNjb3Jlcw== Tm9ybWFs X2FkbWlu IEFTU0VSVA== VGhlbg== Kioq ZGlzdA== bG9u IGhhdGU= c2hhbA== SW1hZ2VWaWV3 ZGF0YWJhc2U= IHBhbmQ= IGxvZ2lj PWZhbHNl Ymc= IENvbmZpZ3VyYXRpb24= IG51cg== T0c= IG1hcnJpZWQ= Ois= IGRyb3BwZWQ= MDQw IHJlZ2lzdHJhdGlvbg== 0L7QvA== dWx0aXBsZQ== aXplcnM= c2hhcGU= LmNvcHk= IHdlYXJpbmc= IENhdGg= IGRlZGljYXRlZA== IC4uLgo= IGFkdm9j IEZhbWlseQ== IHN0YXRlbWVudHM= ZW1hdGlj YW1waW9uc2hpcA== IG1vdGl2 IEhhdmU= IGJsb3c= Sm9i Y2VydA== X3ZlY3Rvcg== aW5zdGFsbA== IENPUFk= ZW1iZWQ= RElS IFNwcmluZw== IGV4aGli MjIz Y2Ru IENvbW1lbnQ= IE9wdGlvbmFs LnBsYXllcg== IERhcms= KHBvcw== IFNob3VsZA== IGNlbnRyZQ== IEd1YXJk w7N3 IHRyb3VibGU= RU5FUg== KHVuc2lnbmVk X3NlcnZpY2U= IG5z dWxpbmc= IE1leGljbw== IE5Z bXlzcWw= IGxpYw== 5Zw= TXI= LWZs IEN1c3RvbWVy aWRp ID8+Cgo= cmlibGU= INC/0YA= IHNpemVz X1NUUklORw== dmFsaWRhdGlvbg== IEpvbg== KEh0dHA= YWRkQ2xhc3M= Tm9kZXM= IGZyYWdtZW50 IHNwb2tl IHdhc3Rl Sm9pbg== IGlsbHVzdHI= ZWxp Y2llbnQ= IGFpZA== IHByb3NlYw== Jyl7Cg== IHBhc3Npbmc= IGZhY2Vz U2hhcGU= X1o= aXRp IGFsbGU= IHJvYm90 ICAgICAgIAo= IFNwZQ== IHJlY2VpdmluZw== IERldGFpbHM= ICIp bWc= X1JFRg== IGNvbXBhcmlzb24= Kiw= IEZvdW5k X3Nlc3Npb24= KFU= L0Y= IHh4eA== TmV0d29yaw== ZGVycw== IGNhcHR1cmU= IGNvcnJl IEx0ZA== IEFkdg== W0A= IGNsaXA= TWlsbA== IFByb2ZpbGU= IGVuZGlm IG9ibGln ZGVzY3JpYmU= LmVsZW1lbnQ= cml0ZXJpb24= TEQ= ZXJlZA== IGZhdm91cg== c2NvcmU= IEZpbHRlcg== YXR0cmlidXRlcw== IGNoZWNrcw== SW5mbGF0ZXI= IFBsdXM= IHNjaWVudGlmaWM= IHByaXZhY3k= SGVhZA== IGZlYXQ= IGRlZ3JlZXM= IFBhbGU= OyI+ IGZpbG1z IEF1ZGlv IFRhZw== IEVuZXJneQ== aXRhcg== cGFyYXRvcg== IGZlbGxvdw== IGV2dA== IFRyaQ== IERBTQ== Y2xvdWQ= IFBhc3N3b3Jk IERlbW9jcmF0cw== IEFjYWQ= JGxhbmc= IHJlYg== KCkpCgo= 0L3Riw== IEJ1cg== cmVhZGNy IGhleA== MjA5 Q29uc29sZQ== Y3Rs b3VzZWw= IFdpbGxpYW0= IGF6 X1BPUlQ= IHByYWN0aWNlcw== IGFueXdoZXJl IFBvc2l0aW9u IC0+Cg== aWFtcw== LnVzZXJuYW1l cGxhY2Vob2xkZXI= IG9kZXI= IFNlY3JldGFyeQ== IGlU bW9uZA== ZXZlbnRz P+KAnQ== LlN1Yg== IGF0dGFjaGVk IG7Do28= IGVzdGF0ZQ== MzY1 LmFjdGlvbg== IGZpZ3VyZXM= IH0pOw0K IHN1YnNjcmk= LnRhZw== bmFt LnBsb3Q= bm9vbg== bGlhbWVudA== Q2hhcmFjdGVy LnRhYg== IHdpbnRlcg== IFZhcmlhYmxl IHRyZWVz IHByb3Vk KFY= X2xvYWQ= IGhpZXI= IEVjb24= IGZk IHZpY3RpbXM= UmVzdA== aWFuYQ== IGZha2U= LlByaW50bG4= IHN0cmxlbg== IHNhZA== IGJsZQ== UHJvdA== IGJ1dHRvbnM= IHRlbGV2aXNpb24= IGxvZ28= ZXh0ZW5zaW9u CWo= c3RlaW4= YWNpb25lcw== ICIiIgoK IHNpbXA= IHJlY29yZGVk IGJyaW5ncw== IHByaW5jaXBhbA== IGZlZXM= KHNvdXJjZQ== a2Rpcg== IHV0aWxz IGNvcnJlY3RseQ== Zmls IHdlbA== UGFpcg== LWJ1dHRvbg== c2NhbGU= dmVyaWZ5 W2M= IC0tLQ== IGVzY2FwZQ== aWtlcw== TG93ZXJDYXNl aWNpYW4= IGNoYXB0ZXI= IFRZUEU= IHNoYWRvdw== IGF3ZXNvbWU= V0U= ZWxpZg== IGxhbWJkYQ== IGRpc3RpbmN0 IGJhcmU= LW9mZg== IGNvbG91cg== LmFwcGVuZENoaWxk b2xlYw== YWdh LmZpbGw= CXN1cGVy IGFkag== KHBvc2l0aW9u LmdldEl0ZW0= MjQy U2hvcnQ= IHRvdGFsbHk= VkQ= IFRyZQ== X2Vw dmVtZW50cw== IFNvbHV0aW9u IGZ1bmRhbWVudA== Rm9sbG93 IGZhY2lsaXR5 IGhhcHBlbmluZw== T0Y= LnRleHRCb3g= U3Bhbg== IMKr aWRlbg== IGV4Y2VlZA== KHBhcmVudA== IGNw 57s= IGhhc24= IHByaQ== IGNvbnNlcXU= bmVu IElOVE8= SWdub3Jl IEZ1dHVyZQ== IGNhcmJvbg== IFN0ZWVs Zm10 b2tpZQ== IHNwbA== KHRpdGxl LWluZm8= IGRlYWxz IGZpeHR1cmU= ZWE= RGl2 IHRlc3RlZA== X3JldHVybg== KQoKCgo= dXBwb3J0ZWQ= IENvb2s= IHBheWluZw== IElsbA== IGFycmVzdGVk IFByaW1l X2NhbGxiYWNr PiwK ZHJpdmVy T25jZQ== YWJi X2J5dGVz IFNldHM= KE9iamVjdA== IGNj IHNoZWxs YWxv KTsvLw== KGxvZw== MjY0 Y3RvcnM= KTwv IG5laWdoYm9yaG9vZA== NDIw YWlsYWJpbGl0eQ== dm9s IHlvdXRo IHRlY2huaXF1ZXM= IFNjaGVtYQ== dWg= bWVudGU= IHJlcG9zaXRvcnk= aW1t IGNvb2tpZQ== SlM= b3ZpZXM= Ons= Q29tcGxldGU= U2luY2U= IGxhdWdo X0JP ZW5hYmxl IERvZXM= IFdhbGs= d2hhdA== a2Vz IG11bHRpcA== aW1lbnRz ZXVy IHZpY3Rvcnk= R2VuZXJhdG9y IE1vcw== cm92ZXJz IGNvbXB1dGU= IHByb3ZpZGVycw== IE1lZGlj TFA= X0NPTkZJRw== IHZldGVy c3RlcnM= X3dpbmRvdw== dW1lcmlj CQkJCQkK LlJlc3BvbnNl IHJlcGxhY2Vk LnJvb3Q= LWZyZWU= LWNvbnRhaW5lcg== IG1hdGNoaW5n IEVkaXRvcg== PSR7 IFNhZg== IHNpbmQ= KGJ1ZmZlcg== 5Yc= LmVkdQ== KV07Cg== IE5GTA== YXlh IGRvZ3M= IGRlc2lyZQ== IE1pZGRsZQ== Q2FydA== MzA2 VGhlbWU= IG1vYg== IGRpc3BsYXllZA== aWdpdA== IGFkdWx0cw== IiIi IGRlbGl2ZXJlZA== dmlzaWJsZQ== Ijp7Cg== PDw8 IEdP c2Nyb2xs eEU= IGFzc2lnbmVk IEJvb2w= IHdw IGNvbWJhdA== IEhhdw== Li0= IHN1cHBvcnRpbmc= LkNvbnRlbnQ= MzQ1 aXJjcmFmdA== IHNwaW4= IENS Lm15 4KU= dHBs IHNwYWNlcw== Pyw= Mzg0 IFN5cmlh IHBhdHRlcm5z LWJveA== IGZyYW1ld29yaw== LyU= KGxvbmc= IHRlYWNoaW5n QVJOSU5H X2tleXM= IHRhYmxlcw== VU5D aW5hdGlvbnM= LXdlaWdodA== cmFkaW8= IFBhYw== LnNlcnZlcg== LkNoYXJGaWVsZA== cmluZw== IHF1b3Rl YW5uYQ== IHdlcmRlbg== IGNyZWFt IG1hY2hpbmVz LWs= Mzc1 IHN0aW0= IFN0b2Nr cmljaw== IGltcG9ydGFuY2U= cng= w7Vlcw== 2Yg= IHN0cm9rZQ== YWdyYQ== IHRhc3Rl IERFQlVH VGhhbmtz IFJlcXVpcmVk b3Zh TWVkaWE= IHNpxJk= KGJhc2U= cG9zdHM= IGZpbGVOYW1l Q2hlY2tlZA== IGludGVycnVwdA== ICgpCg== cHl0aG9u cGFpcg== IGNpcmNsZQ== IGluaXRp X3N0cmVhbQ== IGNvbXByZWg= bGVhcm4= UHVibGlj IGh1bWFucw== IGJyaW5naW5n b2dyYXBoaWM= X2xheWVy LWxpa2U= dXBwb3J0SW5pdGlhbGl6ZQ== aWRlYmFy IHZvdGVz IGRlc2lyZWQ= TWFzaw== IHJlbGF0aW9u Lkluc3RhbmNl SGVscA== IGluc3Bpcg== IE1vbm8= Vmlld01vZGVs b21ldGltZXM= IGJhY2tncm91bmRDb2xvcg== IHJvdGF0aW9u IG1hcmk= L3Rlc3Q= SU5TRVJU U3Rhcg== cGh5 SWRz X0dFVA== IGluY3JlYXNlcw== X2Nsb3Nl MjMz X0ZPUk0= IFvigKZdCgo= YXph VEVYVA== IMOk IFZhbg== IGxpZ2h0cw== IEd1aWRl IGRhdGVz LkNvbW1hbmQ= YW1hbg== IHBhdGhz LmVkaXQ= CWFkZA== ZHg= IHJlYWN0aW9u IEJlYWNo LmdldE1lc3NhZ2U= RW52aXJvbm1lbnQ= aW50ZXJlc3Q= IG1pbmlzdGVy IHJlYWRlcnM= CUY= IGRvbWVzdGlj IGZpbGVk Q2l0eQ== IG1hcHBpbmc= IERFUw== IHJlcGFpcg== dGljcw== aXh0dXJl IG5vbWJyZQ== LklTdXBwb3J0SW5pdGlhbGl6ZQ== em8= LklzTnVsbE9y IENhcm9saW5h IERlcg== IEVWRU5U IGdlc3Q= IGhpc3Q= cmVzb3VyY2Vz IG9ycGhhbg== LkFyZQ== IEludmVzdA== UkVGRVJSRUQ= LkxvZ2dlcg== IFJvbWFu IGN1bHR1cmFs ZmVhdHVyZQ== cHRz YnQ= IGRvdA== IGRpYW0= dXNwZW5k X2FjY2Vzcw== KCl7DQo= IHN1cnByaXNl YWJpbA== IHZpcnQ= IGJvbWI= YXJvbg== X0lT IHZhc3Q= UmVhbA== ZXBlbmQ= aWN0ZWQ= IHBpY2tlZA== IEZM IFJlcHVibGljYW5z Lnplcm9z UHJlc3NlZA== c3Vw LkNvcmU= TWljcm9zb2Z0 c2VydmljZXM= YWdpYw== aXZlbmVzcw== IHBkZg== IHJvbGVz NDAz cmFz IGluZHVzdHJpYWw= IGZhY2lsaXRpZXM= MjQ1 6KE= IG5p IGJh IGNscw== CUI= Q3VzdG9tZXI= IGltYWdpbmU= IGV4cG9ydHM= T3V0cHV0U3RyZWFt IG1hZA== KGRl KXsKCg== IGZybw== aHVz IGNvbW1pdHRlZQ== 7J20 LHg= IGRpdmlzaW9u KGNsaWVudA== KGphdmE= b3B0aW9uYWw= LkVxdWFs IFBoeXM= aW5ndQ== MDMz NzIw IHN5bmM= IE5h fX08Lw== T0xVTQ== aXTDqQ== IGlkZW50aWZpZXI= b3dlZA== IGV4dGVudA== IGh1cg== VkE= Y2xhcg== IGVkZ2Vz Q3JpdGVyaWE= IGluZGVlZA== aW5oZXJpdA== IE5pZ2h0 MzAy IHJlcG9ydGluZw== IGVuY291bnRlcg== IGtpbmRz X3ByZWQ= IGNvbnNpZGVyaW5n Lig= IHByb3RlaW4= VHlw Z3JpY3VsdA== IEJhbGw= QENvbXBvbmVudA== IEVzcw== IFJ1Yg== ODAy dWxw ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== aXR1ZA== LmF0dHI= aWVudGU= IHNwZWxs IEpvZQ== RU5URVI= X2hvc3Q= aXRhbg== IG1hdHRlcnM= IGVtZXJnZW5jeQ== dWF0ZWQ= IENoYXQ= PXsn Y29udHJp YXJrZXI= 5oiQ aXBlcg== IHNjaGVtZQ== KHN0ZGVycg== ICoo Y2VpdmVy LmNvbHVtbg== IG1hcmtlZA== X0FUVFI= IGJvZGllcw== IElNUExJRUQ= R2Fw IFBPU1Q= IGNvcnBvcmF0ZQ== IGRpbWVuc2lvbg== IGNvbnRyYXN0 ZXJ2aWV3 IEVSUk9S IGNhcGFibGU= IGFkdmVydGlzaW5n dXJjaGFzZQ== IFBB IEZyYW5jaXNjbw== IGZhY2luZw== 44CM Z2l0 IGJlZXI= IHNreQ== ZG93bmxvYWQ= IEN1cg== bWM= YW5ueQ== LmZsb29y IGNyaXRlcmlh IHBhcnNlSW50 YCwK IGFzcGVjdA== IGJ1bmRsZQ== Q291bGQ= IHRhbms= LWlk IGh1cnQ= IGJyb2FkY2FzdA== T0tFTg== b3dudA== bnVsbGFibGU= Q2Fw IGFsY29ob2w= IENvbGw= IEhlbHBlcg== IEFm Lm1ldGhvZA== IHBsYW5uZWQ= cGxlcg== IFNpdGU= IHJlc2M= b21lbnQ= IEphdmFTY3JpcHQ= U0VSVkVS IHJocw== ZXJlcw== KCIs aWZp LmZpZWxkcw== IHBhcmtpbmc= IGlzbGFuZA== IHNpc3Rlcg== Xwo= Q29uc3RyYWludHM= IEF1c3Q= ZGlt X3BvaW50cw== IGdhcA== X2FjdGl2ZQ== IHZvb3I= IFBP QmFn LXNjYWxl bGFtYmRh LkRpc3Bvc2U= cnVsZQ== IG93bmVk IE1lZGljYWw= MzAz ZW50cmllcw== IHNvbGFy IHJlc3VsdGluZw== IGVzdGltYXRlZA== IGltcHJvdmVk RHVyYXRpb24= ZW1wbG95ZWU= JC4= QWN0aW9ucw== TGlrZQ== LCg= KFJlcXVlc3Q= JXM= Lk9wZW4= KSIK IHBpeGVs IGFkYXB0ZXI= IHJldmVudWU= b2dyYW0= IExB IE1hY2hpbmU= INin IGZsZQ== IGJpa2U= SW5zZXRz IGRpc3A= IGNvbnNpc3RlbnQ= YcOnw6Nv Z2VuZGVy IFRob3Nl cGVyaWVuY2U= LkJhY2tDb2xvcg== LnBsYXk= IHJ1c2g= IGF4aW9z IG5lY2s= X21lbQ== LlBSRUZFUlJFRA== X2ZpcnN0 Q0I= IFdpZGdldA== IHNlcQ== aGFy IGhpdHM= IOKCrA== IGNvbnRhaW5lZA== cmllbnQ= d2F0ZXI= TE9BRA== IFZpcmdpbmlh IEFybQ== IC4v wrs= X3Jvb3Q= IGFzc2lzdGFuY2U= W10s c3luYw== IHZlZ2V0 ZXNjYXBl aWNlcg== Ym9vc3Q= IEZsb2F0 LVc= Ki8NCg== Kj4= MjE4 ICQoIi4= LnBvcw== IGJveXM= IHdlZGRpbmc= IGFnZW50cw== PSJf IEFybXk= IGhpbnQ= dmlzaW9u IHRlY2g= IENvbm5lY3Q= IGxlZ2VuZA== IEJldA== LkJhc2U= U3ViamVjdA== IGxpdA== UmVtb3Zl ICI6 IEZpbmFs cGVhcmFuY2U= IGlUdW5lcw== IHBhcnRpY2lwYW50cw== IFB5dGhvbg== IGJ1c3k= aWVs dmVydGljZXM= IHRlbXBsYXRlVXJs IENsb3Nl SW1n IENvcnBvcmF0aW9u dGltZXN0YW1w IGV4dGVuZA== IHdlYnNpdGVz IHBvc3NpYmlsaXR5 0L7Rgg== IGvDtg== IG1lYXQ= IHJlcHJlc2VudGF0aW9u MjQx IAkJ X1NUQVJU LmFwcGx5 IFZhbGxleQ== IFN1Y2Nlc3M= SGk= IG5vYg== IElFbnVtZXJhYmxl X3NlbGVjdA== Z2Vv LiIpCg== IHR1cm5pbmc= IGZhYnJpYw== KCIiKTsK IHBlcnNwZWN0aXZl 6Zc= IFNu VGhhbms= O2o= LlBhcmFtZXRlcnM= CSAgICAgICAgICAg IGZhY3Rz MzA1 IHVudA== Lmluc3RhbmNl IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw== LWVuZA== IEpPSU4= IEhlbg== IHVyaQ== 5ZCN INC90LA= IEluZm8= IGNvbmR1Y3RlZA== IMOl T1VSQ0U= IHdpbmU= Sm9obg== LkVycm9yZg== IEFnZQ== b3VuZGVk IHJlYWxpemU= MzEy IF07 IHN1YnNlcXU= LG0= KFVzZXI= aWFubw== IGFjY29tcGw= aXNw LnN0ZA== 6Yc= IEJlZA== LnNldEF0dHJpYnV0ZQ== QlI= a2VlcA== IEFMTA== IGlzb2w= YW1tYQ== UGFja2FnZQ== IG9jY2FzaW9u LXN1Y2Nlc3M= 0LXQtA== IExJTUlURUQ= c3RyaXA= KCkKCgo= aXN0cmlidXRpb24= Q29sb3Jz ICs6Kw== RGlkTG9hZA== YWxlcg== IHRpZA== IExFRA== IExpbmtlZA== IENhcnQ= KCkpDQo= X1JFQUQ= IGtpbGxpbmc= IFBIUA== ZmVjdGlvbg== IGluc3RhbmNlcw== Y3Y= Ii8+ IHNm IHRheGVz X2xvY2F0aW9u IEJpdGNvaW4= dWFibGU= cmFuaw== aWdub3Jl dHJhY2s= 0LrQsA== IHNob3VsZG4= IE9Q PT57Cg== IGtt IGhlbHBlcg== X2hlYWQ= IFdoZXRoZXI= b2Nv X2Js IHN0YXRpc3RpY3M= IGJlYXV0eQ== IHRvZw== dGlw 64uk IGNzdg== KHNxbA== c3RkbGli d2Vhaw== IGxpa2Vz xI0= IHJlcGVhdA== IGFwYXJ0bWVudA== IGVtcGg= X2VkaXQ= IHZpdA== CXR5cGU= MjE3 RXZlbg== dXRlbg== IGNpcmN1bXN0YW5jZXM= Ymlhbg== IHN1Z2Fy V2luZG93cw== 7J4= IG9ic2VydmVk L2RhdGE= IGNhbGVuZGFy IHN0cmlrZQ== IFJFUw== X3Nj Zm9ueQ== b3JlbQ== KHo= cG93ZXI= ZXRlY3Q= IFNhdA== LmRlc2NyaXB0aW9u IGdhbmc= IFNwb3J0cw== b25ncw== IEJ1bmRsZQ== LnN1bQ== b25jZQ== IGFjY3VzZWQ= IGV4cGxvcmU= IGFwcHJveGltYXRlbHk= IGxvc2luZw== dGhlc2lz IEZ1bmQ= IGRpYWdu QXV0b3dpcmVk cHJvcGVydGllcw== IF8u IGNudA== Y2VkdXJl IHl5 IGdyYW50 c29jaw== LmlubmVySFRNTA== IF0pOwo= IENPTkZJRw== PSck NTUw XV07Cg== VU5E IGdsb2I= IGRpcmU= dWZmbGU= X01FTQ== IGF1dGhlbnRpYw== Pigi IGRlY2FkZQ== IEltcG9ydA== IG9yaWdpbmFsbHk= IGpRdWVyeQ== IGluZGljYXRl IG91cnNlbHZlcw== U3c= LmxibA== ZW5lcmF0ZQ== IGJhc2ljYWxseQ== IEhvbQ== ICsjKw== IEJyaXRhaW4= IEthcg== dG9FcXVhbA== LnN0b3A= IG1vZGFs aXNp IHN1Z2dlc3Rz IGR0eXBl IHR1cg== YmY= IGNvbm5lY3Rpb25z IEJlZm9yZQ== aXN0ZWQ= bW91c2U= IHB1bGxlZA== LmJ1aWxk IGxlZ2lzbGF0aW9u IGZvcnRo cGFk ZWdv Lk5vdw== IGV4Y2l0aW5n fQoKCgo= IGNvbXBy IHNoYXJlcw== IHJpZw== Z3JlZW4= X3ZlYw== IGVudW1lcmF0ZQ== QXV0bw== aWNhdG9y IFJheQ== YXNzZQ== IGhvbGlkYXk= IG51bGxhYmxl Z3Vu X2RldGFpbHM= IHdyYXBwZXI= c2Vx IFlvdW5n anVhbmE= ICJfXw== bGljZW5zZQ== c2VydmU= Xig= aWRlcnM= LlJlbW92ZQ== cm9wZG93bg== J1M= cGlu KHRva2Vu LkRlZmF1bHQ= IHJlYXNvbmFibGU= YW1waW9u IFNvY2lldHk= IGJlaQ== ZXJ2ZXM= cmFk IEZveA== X2ltYWdlcw== IHdoZWVs Jylb IGNmZw== KEJ5 Q29uc3RydWN0b3I= IHZhcnk= LnN3aWZ0 IHByb3h5 CUg= IEFub3RoZXI= IFBlbg== IGNoZWNraW5n IGplc3Q= bWFuYWdlcg== T3JpZ2lu dWdz b2ly PjwhLS0= IGV4cHJlc3NlZA== IG1vZGVy IGFnZW5jaWVz IGlo LWhpZGRlbg== aW91c2x5 IFJvZA== IHNvbGU= TWVk LkFueQ== IHBj YmFs RXhhbXBsZQ== IFNhbGU= IHN0cmlw IENvbXA= IHByZXNpZGVudGlhbA== TW9zdA== cHV0YXRpb24= KHJlZg== IEZvdXI= X2ZpbGVuYW1l IGVuZm9yY2VtZW50 2K8= IEdlb3Jn d2VpZ2h0cw== L2w= IGFnZ3Jlc3M= IGRyYXdpbmc= YW5keQ== PEk= LWo= YWth aHJlZg== IHRlYWNoZXJz X1E= KGl0 IE1C IHRlbXBvcmFyeQ== aXJlYmFzZQ== c3RyYQ== 5pe2 6LQ= KGxhYmVs b3Vw IHRvcGljcw== IHBvcnRpb24= aWRvcw== IEpld2lzaA== IHJlY292ZXJ5 NjUw IHN0YW5kcw== I1s= IGFmdGVybm9vbg== IEFydGljbGU= X2F0dA== IGV4cGxhbg== IFBhaw== LnNldE9uQ2xpY2tMaXN0ZW5lcg== LmNoaWxkcmVu IGlr Kyg= bGFn IGRpc2s= IGNvbnRyb3ZlcnM= Ij4m YXNw IHdpZQ== IEF1c3RyYWxpYW4= IFlvdVR1YmU= QXR0cg== Y29udGFpbnM= ZHVjZQ== IE1hdHQ= MzQw YXRlcm4= IHZvbHVudGU= IG5ld3Nw VlA= b2x0aXA= IGRlbGVnYXRl X21ldGE= IGFjY3VyYXRl IEV4YW1wbGU= JSw= IERhaWx5 IGNhYmlu IFNX IGxpbWl0cw== a2lw IGFybXk= IGVuZGluZw== IGJvc3M= IERpYWxvZw== QWxzbw== PSIjIg== b3JkYW4= cm93c2U= LW1pbg== ICIm X2xvYw== VVg= IGRldmVsb3BlcnM= IGFjY3VyYWN5 IG1haW50ZW5hbmNl IGhlYXY= IGZpbHRlcnM= LlRvb2xTdHJpcA== IG5hcnI= IEVtcA== T1JERVI= IE1vYmlsZQ== LlNlcmlhbA== Lm91dHB1dA== MjQ0 LmNvbA== TWF0ZXJpYWw= dW1h IGNvbnN1bWVycw== c2hpZnQ= IHB1ZWQ= IG1pbmk= Y29sbGVjdGlvbg== IGthbg== LmNlbnRlcg== SGlzdG9yeQ== IGJlbmNo KCkpOw== aXRvcmllcw== IGNyb3dk X2NhbGw= IHBvd2Vycw== LUU= IGRpc21pc3M= IHRhbGtz IENoYW5uZWw= Zm9yd2FyZA== X2NvbnRyb2w= L3NyYw== aWVzdA== KioqKioqKioqKioqKioqKioqKioqKioq IGJldGE= KGNvbG9y X09CSkVDVA== IEFwaQ== IGVmZmVjdGl2ZWx5 Q2FtZXJh c2Q= dXNzeQ== Mjkw RGljdA== IEVmZmVjdA== aWJpbGl0aWVz IHJldHVybmluZw== IEZhcg== ICcnKQ== IG1vZHVsZXM= MjE5 aWxhdGlvbg== ICgl VFJHTA== IHN0b3Jt b25uYQ== IEVYUA== IHNwb25z IGRpc3Bs ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZmFsbA== 5Yw= aWduS2V5 X1VT ZXRyaWNz IGhhbmRsZXM= VEw= X2Ftb3VudA== b3dh YnJhbmQ= IFRvb2w= IHVzdWFs Llo= Y3JlbWVudA== YWRpdW0= c3RvY2s= IHNlcnZpbmc= IEJvbg== IGxpbmVhcg== IFRhcmdldA== IFJhZGlv SEw= U2hhZGVy b21hdGlj YWd1ZXM= aW5pdHk= ZGlmZg== X2l0ZXJhdG9y cXVvdA== ICwK Y2FsbGJhY2s= IHN5bXB0b21z W18= IEJ1bA== IEZlYg== dW5kbw== X2FjY291bnQ= IHR5cGVkZWY= 0LjRgQ== dHJhcw== VXNlcklk IFBlbm4= IFN1cHJlbWU= fT4= dXNlcklk MzI3 IEtpbQ== IGdh IGFydGlzdHM= 5bg= IEFic3RyYWN0 b2tlbW9u IGhhbQ== b3ZhbA== IGNoYQ== YXRlbg== 5YY= Rml4ZWQ= IHZ1bG5lcg== IFBhcmFtZXRlcnM= cXVhbnRpdHk= LkNsZWFy U2VydmxldFJlcXVlc3Q= IHlh IHNvdWw= MDgw dHJhbnNhY3Rpb24= IHNvbG8= IHBhaXJz 5pQ= IEdyZQ== X3dvcmQ= IEND IGdp emll IHNjaGVkdWxlZA== cm90YXRpb24= Z3lwdA== dWxvdXM= Ojpf IEVsbA== PCE= CQkgIA== bHA= YWhh Q29weXJpZ2h0 MDA5 IGRyYW0= MjUx IGRpYWdyYW0= IE1lbQ== IGdhcmRlbg== Q29tcA== IGF0dGVtcHRz dWZmaXg= Pigp IHBoaWxvc29waA== X3JlbA== 5bw= IHN2 LnNlY29uZA== YW50bw== Lkpzb24= IFRlbGU= X2xvY2Fs X3NlbmQ= IGFzcGVjdHM= 7Jc= SUJMRQ== IHJhaWw= IHdpZGVseQ== YXNoZWQ= aWFy aW5m dXBwZXI= ZGphbmdv X3Jlc3VsdHM= aXNzaW5n IGVxdWl2YWxlbnQ= T1VORA== IHR5 IHBvdGVudGlhbGx5 QWR2ZXJ0aXNlbWVudA== MjM4 IFJlY29yZA== Mzgw cmVzZW50YXRpb24= X3dpZGdldA== b3VuZGluZw== IHJlbGlnaW9u IGNvbnNj IExpbQ== LmFt SHRtbA== ICc6 UEFUSA== X3NwZWM= b3J0ZWQ= aWRhZGVz X3NoYXBl IGtlZXBz LlNhdmU= IExvYw== b3Jp IFRFU1Q= dW5pY2lw IHJlZ2lvbnM= IGJlbGlldmVz L2Vu cG9zaXRl eyc= cHJlcGFyZQ== X2NvbnN0 c2FtcGxl IFdpbGxpYW1z IHN0cnQ= X0dldA== IEFuZHJldw== LmFjdGl2ZQ== IGxheWVycw== VmlzdWFsU3R5bGU= YXp5 IEtu IGFjaWQ= IEFzaWE= IGV4Y2Vzcw== CW15 IGtleWJvYXJk ZW5zdXM= IGNyZXc= IG1pc3NlZA== bWFzdGVy IFdpbGQ= IG5ld2x5 IHdpbm5lcg== IHN0dWI= aWNvZGU= Lm1vdmU= RG9tYWlu IFNhcg== IGZvcmVzdA== TEVE Y2xhaW1lcg== LmV4aXQ= IFdpbmRvdw== IHJlc2lzdGFuY2U= IENIRUNL KCIt IFJ5YW4= IHBpcGU= IGNvYXN0 REVG Ly8h X29mZg== ZXhpdA== IHVsdGltYXRlbHk= aW1pdGl2ZQ== IEtlZXA= IGhpc3RvcmljYWw= IGFueXdheQ== IEphY2tzb24= b2NrZXI= RVJO IFVJTlQ= eW50YXg= RVJZ aXNtcw== IGNu IG9jY3Vycw== IDs7 VGV4dFZpZXc= QUU= L2ltZw== IHllc3RlcmRheQ== LWRlZmF1bHQ= IHRpbnk= IHByb2M= IGFsaXZl IFJFRw== LnRo ZWFyaW5n LmdldExvZ2dlcg== PGxpbms= X2xvZ2lu Rm9sZGVy YWJj bHlwaGljb24= 0L3Qvg== IG5vdGljZWQ= b2RpZ28= IGVkaXRpb24= aW1hdG9y LkVuYWJsZWQ= LnBhcnNlSW50 IHlhcmRz CQkJCQkJCQkJCQkJ IHZlcmJvc2U= 0LvRjw== X0JZ LmxvZ2lu Lio7Cg== IE1pZA== w6llcw== IGdsbw== IGJ1aWxkaW5ncw== IHpl IEl0ZXI= IHR1YmU= IFBvdA== XE0= MjUz PHRo YnJpZGdl IFNjcmlwdA== IE1vZHVsZQ== IHZhY2M= IGluc3RhbGxhdGlvbg== dnk= VmlzdWFsU3R5bGVCYWNrQ29sb3I= IFNN LnRvdGFs NjQw YmF0 IGZpbmRz IGF0bW9z U3Vidmlldw== aXphcmQ= IHJlcGxhY2VtZW50 bGljYXRlZA== YXBpcw== IGxvZ2dlZA== IExlZnQ= R3Vp X1R5cGU= dG0= UGFk IGhvdXNlaG9sZA== IHJlbGU= IHByb3Bvc2Fs X0NMQVNT MjQz Ojo6Og== IGluZnJhc3RydWN0dXJl SW5qZWN0 L2h0bWw= MjI2 IGFkcw== aXp6YQ== IG1n Y3RyaW5l JQo= PGh0bWw= LWltYWdl IGF0dG9ybmV5 PG0= KCcs IGNhbm4= IHByaW50bG4= b29zZQ== IHllbGxvdw== LmV4cA== cGF5bWVudA== IHRhYmxlVmlldw== YXdheQ== IG9wcG9zaXRpb24= IEFnYWlu IEhhbmRsZQ== IGV4Y2x1c2l2ZQ== aW5hcg== w6ly 0L7QsQ== IENPREU= ZW1wb3Jhcnk= IHJlYWN0 cGlwZQ== MjM2 Y3o= LmFjdGl2aXR5 IGxhcmdlbHk= IGRpc3M= YXh5 ZXNpcw== IFJlbg== IGNvcm4= LlVzZVZpc3VhbFN0eWxlQmFja0NvbG9y ZGF5cw== IGZydWl0 SW5zZXJ0 X2VuYw== RXN0 X2RlYw== IEx1Yw== IMO8YmVy cGFyYW1ldGVycw== UEVSVA== ZXhwcmVzcw== X3Byb2ZpbGU= VW5rbm93bg== IHJldm9sdXRpb24= LmFkZHJlc3M= X3JlcXVpcmU= IHVuaWZvcm0= IFBhY2s= bGFy IFVJVGFibGVWaWV3 IGRlcGVuZHM= VmFsaWRhdGlvbg== Y29uZmlybQ== T3duZXI= IHRyaWI= aGV0 IElkZQ== YW5zYXM= MjQ3 TGFuZ3VhZ2U= dWV0 IFBv IFN0ZXZl IGNvbnRlc3Q= X0RFRkFVTFQ= IGFwcGFyZW50bHk= UkVFTg== IGZyZXF1ZW50bHk= IHRyYWRpdGlvbg== b2NvbGF0ZQ== U0k= IEFyZ3VtZW50 Rm9jdXM= ZXJ0ZQ== IExheW91dA== IGR4 IGdlbmVyYXRvcg== IFdhaXQ= UG9saWN5 bGlnaHRz LkV4ZWN1dGU= NTU1 UHk= IGJlZHJvb20= ZWRh cmFpZA== CXNpemU= IGFuY2llbnQ= IHB1bXA= IGR3 ICghKA== IHNwZWNpZnk= KHN0YXR1cw== IEZCSQ== LmV4Y2VwdGlvbg== IHJlbWFyaw== bHltcA== YW50ZWU= VXBsb2Fk ZXJuZXQ= 6aE= aW5lbnQ= IFJlbmRlcg== ZG0= IE1lbW9yeQ== cmljaA== IFRvb2xz IGtuZQ== IHBlcm0= YmFk IGRpbm5lcg== LnJlc2V0 IGpMYWJlbA== RmVhdHVyZQ== LlNlcnZpY2U= ICh7Cg== IHJlZmVycmVk LmNsYXNzTGlzdA== MjQ4 IGluaXRXaXRo IFRleHRWaWV3 IG5laXRoZXI= IGNvdW50eQ== ICJ7 56c= IHRhY2s= Y2xhc3NOYW1l IFVTRVI= IHJlbmV3 YGA= Z2V0TmFtZQ== IGJyb3du RXJyb3Jz ZXJ0bw== IHN1c3RhaW4= U08= bGV0ZXM= IEludmFsaWQ= MjQ2 MjI3 IGVuZW1pZXM= dW5nZQ== IGV4aXN0ZW5jZQ== ZXJyYQ== CiAgCg== dXRvcmlhbA== I2E= cGF5 Y2hhcmdl IElyZQ== YXRlc3Q= IGV4cGxvcw== IGZpcmVk TkVS IFR5 aWNpb24= VXJp IG9idmlvdXNseQ== IENvbHVt ICcr IERldmljZQ== LXJlbGF0ZWQ= X0FSRw== IHZvcg== IExlc3Nlcg== X09Q U2VyaWFsaXplcg== IHVwZ3JhZGU= TGlnaHQ= IGNvZGVz Kys7DQo= IHdyaXRlcw== Zm9vZA== IMOpdA== QHNlY3Rpb24= IHRyYWNrcw== IHNlcmlvdXNseQ== Y2h0 NDMw KHNpemVvZg== IGltbWVkaWF0ZQ== IHNjaWVudGlzdHM= IHsk X25l LkFuY2hvclN0eWxlcw== IGFjY29tbW9k IEhhcnJ5 IHNpZ2h0 IFBhbGVzdA== ZXJzaXN0ZW50 INGD LWlucHV0 IGNvb3JkaW5hdGVz wrc= MjI4 V2VsY29tZQ== LmNvbmY= IGdyZXc= IGJvbGQ= IENQVQ== KG15 IHBlcmZlY3RseQ== IG1vbWVudHM= IE1vdmll LWRhdGE= eXN0YWw= X1dJRFRI MjYy IFNjcmVlbg== 5p0= IGRpc2Fw IHJlZHVjdGlvbg== LkdldENvbXBvbmVudA== X01PRFVMRQ== IGdlbmVyaWM= IGR5 YWxsZXI= IGN1cmw= IEJvZHk= IGJhbmtz LHQ= YXZn IGV2aWw= IG1hbnVmYWN0dXJlcg== IHJlY2VpdmVy Q29sdW1ucw== IGluZ3JlZGllbnRz CW91dA== cXVlcw== LkxvYWQ= IHNsb3dseQ== IFRvd24= IENlbGw= X25vcm1hbA== X3ByZWZpeA== IEFsZXJ0 KCJ7 w6Ry 4oCcVGhl IE1E IGNvdXJzZXM= YXRoYW4= 6Zk= b2Nj IFNFUg== ZXNpZ24= QWRkcg== PVsn KCIuLw== XX0= LmZvbnQ= IEluc3RhZ3JhbQ== IEJvcmRlcg== b2Rh IGhhbGw= IHJ1bQ== X2JpdA== IHNhdmluZw== X2Rvd24= UmFuZG9t X3JlZ2lzdGVy KENvbnRleHQ= IG9wcG9zaXRl Um9vbQ== WUVT 0LDQvdC4 IGVuam95ZWQ= X3J1bg== Q2xlYXI= 4oCY IEZvcmQ= b25pYw== b3N0ZW4= Il0p X2F1dGg= Ly8NCg== IHN1ZmZpY2llbnQ= TEVT IHBoZW4= IG9o X2Nzdg== IHJvdXRpbmU= LkFyZUVxdWFs YXlsb3I= IGJhc2tldA== X0NPTU0= cnlwdGVk U2lt IFNob3A= IHN0dWRpbw== YXRvcw== KFc= W3N0cmluZw== w6R0 b2dh IHNocg== IHNpY2s= QW5vdGhlcg== IGRvb3Jz X05F IFRIUkVF Lm9yZGVy cmF6aWw= IG1hcHM= X1RSVUU= dHJhbnNsYXRl IG5lYXJieQ== MjY1 IG5hY2g= TE9BVA== YmF0Y2g= MjI5 IGx1eA== YXNoZXM= YW5nZXJz 4oCm4oCm X0VWRU5U X1VQ IGFjdHM= aW52 X01FVEhPRA== Y2Npb24= IHJldGFpbg== dXRjaA== INCx IGtub3dpbmc= IHJlcHJlc2VudGluZw== Tk9U cG5n Q29udHJhY3Q= IHRyaWNr IEVkaXRpb24= dXBsaWNhdGU= IGNvbnRyb2xsZWQ= Y2Zn amF2YXNjcmlwdA== IG1pbGs= V2hpdGU= U2VxdWVuY2U= YXdh IGRpc2N1c3NlZA== NTAx IEJ1c2g= IFlFUw== LmZhY3Rvcnk= dGFncw== IHRhY3Q= IHNpZA== JCQ= IEVudW0= Mjc1 IGZyYW1lcw== fSk7 IHJlZ3Vs J107DQo= UmVnaW9u MzIx ZmZm IGNybw== KGNvbQ== PSIr U3R1ZGVudA== IGRpc2FwcG9pbnQ= UkVTVUxU Q291bnRlcg== IGJ1dHRlcg== IEhh IERpZ2l0YWw= IGJpZA== Ij57ew== aW5nZXJz IENvdW50cnk= X3RwbA== Il0pCg== L2s= ZGF0aW5n OiM= IERBVEE= eW5jaHJvbg== X2JvZHk= b2xseXdvb2Q= IHZhbG9y aXBpZW50 b2Z0 VUJM ZG9jcw== IHN5bmNocm9u IGZvcm1lZA== cnVwdGlvbg== IGxpc3Rh UmVxdWVzdE1hcHBpbmc= IHZpbGxhZ2U= IGtub2Nr b2Nz Ins= X2ZsYWdz IHRyYW5zYWN0aW9ucw== IGhhYml0 IEpl ZWRlbg== IGFpcmNyYWZ0 aXJr IEFC IGZhaXJseQ== LmludGVy LkFjdA== IGluc3RydW1lbnQ= cmVtb3ZlQ2xhc3M= LmNvbW1hbmQ= 0Yk= CW1lbQ== KG1pbg== IG90 IGNvbGxl PXM= dGltZW91dA== IGlkcw== IE1hdGNo aWpu emVybw== NDEw IG5ldHdvcmtz Lmdvdg== IGludGVs IHNlY3Rpb25z b3V0aW5l KGNtZA== KGRpcg== IExJQUJJTElUWQ== IEJsb2c= IGJyaWRnZQ== MzA4 IENW Y29udmVydA== ICIpCg== IEJlcm4= X1BP ZXZhbA== KHNldA== dG9vbA== IHBheW1lbnRz QmVoYXZpb3Vy IGNvbmNyZXRl IGVsaWc= IGFjY2VsZXI= IGhvbGU= X28= VEVHRVI= IGdyYXBoaWNz T3du Rm9ybWF0dGVy b25kZXI= IHBhY2thZ2Vz L2E= IEtub3c= T3JEZWZhdWx0 IGR1dHk= V2FpdA== 0L3QsA== X3JlY29yZA== W3Q= TWVzaA== IG9uZ29pbmc= LmJlYW5z IHRhbg== IGludGVycHJldA== YXN0ZXJz UVVBTA== IGxlZ3M= XFJlcXVlc3Q= LWZpbGU= X211dGV4 IFNhaW50 Ly8j IHByb2hpYg== KGluZm8= Oj0= bGludXg= IGJsbw== b3RpYw== CWZpbmFs X2V4cA== IFN0b3A= YXBpbmc= KHNhdmVk X3B1c2g= IGVhc2U= X0ZS cG9uc2l2ZQ== c3RyY21w OgoKCgo= 5Lu2 b2xp IGV4dHJlbWU= IHByb2Zlc3Nvcg== SW1hZ2Vz LklPRXhjZXB0aW9u IGFkZHJlc3Nlcw== cGxlbWVudGVk IGluY29ycG9y IHVzZUVmZmVjdA== X09G IERh bm9tYnJl SVJTVA== IGRpc2NyaW0= IGNvbXBlbnM= Z3JlZ2F0ZQ== YW5jZWxs YWNoZXM= IENyaXRlcmlh JHJlc3VsdA== RGVzdHJveQ== IHNlY29uZGFyeQ== V2F0Y2g= IFNlbQ== IE1jQw== IGFjYWRlbWlj VXBwZXI= Ojp+ dXRyYWw= IERvZw== YWRlZA== MjM3 VmFsaWRhdG9y IGRlcml2ZWQ= IHNldFRpbWVvdXQ= IEtlbg== IHR5cGljYWw= IEJvYg== IGJvdW5kcw== IFNlYXNvbg== IGNyYXp5 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LXJvdXRlcg== aXR0ZXN0 IE1pcg== IGVtb3Rpb25hbA== LHY= Y24= L3N0 5b0= b25vbQ== IGRlY2xhcmVk Pi4= YWlsaW5n IC8qPDw8 IG5vcm1hbGx5 KE1l ZXZpbg== bGlrZWx5 IHBvaW50ZWQ= IFN0YWNr IHdhbGxz LlZlY3Rvcg== bWVhbg== XV0K IGxpc3RlbmluZw== YWR2 IHN3YXA= SUZU 2Ko= LmFyZ3Y= dWxz PG9wdGlvbg== bm90YXRpb25z IGVtYWlscw== IFVrcg== YXN0YQ== IFRodXM= IFN0b25l IGFwcGVhbA== LuKAmQ== IHJlZ3VsYXRpb25z UHJlZmVyZW5jZXM= IFBob25l dWxm IERS IHRlY2hub2xvZ2llcw== IHBhcmFncmFwaA== IG5lY2Vzc2FyaWx5 Mzcw MDMw LmVhY2g= PGZsb2F0 cmVzYQ== IHVuZGVyc3Q= IGZpbmdlcg== cHJlc3NlZA== LWJ5 aWZmZXI= d2F0Y2g= IEJh QUlN IHdlaWdodHM= IFJvbg== Jyl9fQ== W3NlbGY= LS0tLS0tLS0tLQo= cGVyaW1lbnQ= IHRvU3RyaW5n eGlj IENhbWVyYQ== IQoKCgo= YXVyYW50 UHJlZml4 IGluc3RpdHV0aW9ucw== OmludA== IGV4cG9zdXJl cGF0dGVybg== IExpbnV4 Lm51bWJlcg== cmVkaWVudA== QXJndW1lbnRFeGNlcHRpb24= IENoaWVm In0s IGVsZWN0cm9uaWM= cm9uZw== ZXJk c3BOZXQ= cmFpdA== Lycs IE9oaW8= Q29udHJvbGxlcnM= IGNvbnRpbnVpbmc= IFRlbXBsYXRl IEV0aA== c3o= L2Vudg== RW52 JS4= YXJ0ZXJz KSgo IFRBQkxF IMOu cGVyYXR1cmU= cHJvZ3Jlc3M= UHJlcw== 6rA= aW1wbGVtZW50YXRpb24= IGJpZW4= IHN0cmVldHM= X01TRw== TmV3cw== IyMj Oi8= IGN1dHRpbmc= eEI= cmVzc2Vk X0VOQUJMRQ== bGFi IGNhdXNpbmc= XSkpOwo= YnJh eEZGRkY= aWxseQ== cGxldGlvbg== d2lsbA== X2Jhcg== IHN0cnVjdHVyZXM= IEltcA== 24w= IDw+ IC0tLS0tLS0tLS0tLS0tLS0= X0JVRkZFUg== LmRpcg== IHBsYWlu IHBlZXI= MjQ5 Z2c= b2ludHM= IHNvbWV3aGF0 IHdldA== IGVtcGxveW1lbnQ= IHRpY2tldHM= aXJtcw== IHR1cGxl c2lz JHNxbA== cmln IGNvbnZlcnNpb24= IGdlcw== IGNvbmZpZ3VyZQ== ZWdy IENh IF9fKCc= b3VzdG9u LnRva2Vu QmxhY2s= IG1hZ2F6aW5l QVc= LklO b3Npbmc= IGJyb2tl IENydQ== REVMRVRF IGRlc3Ryb3llZA== KE1hdGg= IGFwcHJvdmFs LWRvbQ== IElJSQ== dGFibGVWaWV3 IGRlc2lnbnM= IGNydXNoaW5n IGNvbnNlbnQ= ZGlybmFtZQ== b21w IGNyeXB0 Pyg= b3JvdWdo MzA3 Lm8= CWxpc3Q= YW1zdW5n LiIiIgo= ZXJyaW5n R29vZ2xl X3BhaXI= X0lOSVQ= cmVtYXJrcw== IGdlYXI= RmlsbA== bGlmZQ== fSIpCg== IHN1aXRhYmxl IHN1cnByaXNlZA== X1JFUVVFU1Q= IG1hbmlmZXN0 YXR0ZW4= IGZydXN0cg== b3ZlbWVudA== LmNsaWNr IGlp IGV4cGFuc2lvbg== aWdz UGFyc2U= LlJlZ3VsYXI= Um9i X2xheW91dA== 7KA= IHRyYW5zbGF0aW9u IEJlYXV0 QmVzdA== X0NPTE9S PGxhYmVs IGxpcXVpZA== SVRT IHByb2Q= MjM5 IG9wZXJhdGU= VUlLaXQ= IG5hdHVy YXJndW1lbnQ= X2RldGFpbA== IENlbnRyZQ== ICItLQ== IH19Ig== bG9jYWxl LnR2 X3NlcQ== IHVwY29taW5n Q2hhcnQ= IERpdmlzaW9u IGNsaW5pY2Fs Q29tcGFueQ== U2VwYXI= bGFz IEh1bg== OnM= IGhlYWRpbmc= 0L7Qsw== ICIiKTsK W2lk Ymlh IHN0cmV0Y2g= aWNpZGU= IHJlcHJvZHU= LnByb2plY3Q= bGVnZW5k ZW5kZXJz IHJlc3BvbnNlcw== IG9udA== cml0aWNhbA== IHJlZnVnZQ== IExp IDoKCg== IFRocmVl LmNvbnRyb2xsZXI= X0lOREVY X0ZPUg== XE1vZGVscw== amF4 CWV4aXQ= IOKW IGNvdmVycw== CXk= LS4= SU5ET1c= IGZhaWxz aW5jbHVkZXM= IGZhdWx0 NDQw IGx5 NDQ0 w7Fv LnNsaWNl SUxFRA== IFB1cg== IEFzaWFu X2JhdGNo Lk1heA== dmw= IENPUFlSSUdIVA== IGdpYW50 IE1hbnVhbA== IENvcHk= Q2xhc3NOYW1l SGVhbHRo Q3Vyc29y SUJPdXRsZXQ= IHR3ZQ== 5rM= X2xhYmVscw== IGNvbGxlY3RlZA== IGZ1cm5pdHVyZQ== IGRlYWxpbmc= Q29udHJvbHM= IEhvdGVs Y2tz IGNob3Nl 4pSA b2Rk U1I= 2Yo= 7IQ= IGFjY29yZA== IE1vdmU= IE1vZGU= IE1vY2s= IHRocmVhZHM= KysrKw== IE9wdGlvbnM= UmVmcmVzaA== IERpZA== J10tPg== dWNj X2NoYW5uZWw= LmFicw== IHt9LAo= IFdhbA== ZXJpb3I= IG1haW5seQ== IERyaXZlcg== Tm90Rm91bmRFeGNlcHRpb24= IGNvdW50cw== ZWFt ICY9 UXVlc3Rpb24= IEFsaQ== IGFueW1vcmU= ZGV0YWls dGFpbA== IG1pbGU= IEZhaXI= IHNvcnJ5 IHN1cnJvdW5kaW5n IGFkbQ== RGV2 IG1hcmlqdWFuYQ== IFNvdW5k IEFzaA== RkQ= VGVhbQ== LnBvcnQ= IFtdCgo= dWJibGU= IGFzYw== IGludGVudGlvbg== QWNj Y2hp dXN0ZXJz IGluc3BpcmVk c2Vn Q0xV IG1hbmlw TWV0YWRhdGE= Q29ubmVjdA== IEJlaA== IGZpbmRpbmdz IGFzc2VtYmx5 d29ybGQ= IHJlbWFpbmVk IHVpZA== KC4= IG14 TG9vcA== CgoKCgo= IGZhbnRhc3RpYw== d2hv YWtp IEJhc2lj IFlldA== IFVzZXJz aWtpcA== IGhlYWRz IE1pY2hpZ2Fu X2l0 IFRvcm9udG8= IHJlY29yZGluZw== IHN1Ym1pdHRlZA== X3ZhcmlhYmxl bWVkaWF0ZQ== LmdyYXBoaWNz IHN0b29k IHJlYXI= dmVsb2NpdHk= X01FU1NBR0U= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cm9sZXM= IFRvdXI= X3llYXI= ZW5kbWVudA== YW1wcw== IElyZWxhbmQ= bWFs IHlvdW5nZXI= IHN0cnVnZ2xl IGNhYmxl IFNETA== KCct YW5lcw== IE5lZWQ= LlJvdw== UG9s IFBI X3NjcmlwdA== YWdlbQ== IEJhcw== X3NwYWNl LmxvYw== Omk= YWRy IGVuZ2luZWVyaW5n aXRlbg== KSY= IHVr IExpdHRsZQ== X0NPVU5U eEE= QXJyYXlMaXN0 5o0= ICIiKQo= QW5jaG9y IGhhbmc= dHdpdHRlcg== IGNvbXBldGl0aXZl LnNyYw== 44GX IHRyYW5zbGF0ZQ== IENyZWF0ZXM= b29rcw== IFJvbGw= JycnCg== L3No c29tZQ== RW5jb2Rpbmc= LnJlc29sdmU= IGRlc2lnbmVy IFN0b3JhZ2U= IHph IE5ldmVy IHNvbWV3aGVyZQ== IGJveGVz LnNvdXJjZQ== IHB5Z2FtZQ== IGdyb3du LnR3 KCkpLAo= JyxbJw== IG9wcG9uZW50 KHNyYw== LmxheWVy QVBQ IEFjdGl2 IGd1ZXN0cw== IFZBTFVFUw== fTsKCgo= Lm5hdGl2ZQ== IGFtb3VudHM= LlJF IGNsb25l IHdlcmVu ICI8PA== X2Fj IGJyZWFraW5n IHJlbGlhYmxl LlBPU1Q= IFNreQ== ICcm IHNhdmVkSW5zdGFuY2VTdGF0ZQ== YXN0aW5n aWxsaW9u Y29tbWVudHM= dWx0eQ== Lm1lbnU= L2NvbmZpZw== IAoKCg== VE9ETw== IHB1cmNoYXNlZA== X2Nvcg== CWF1dG8= Q29tcGF0QWN0aXZpdHk= Y29tcGxldGU= X2dyYXBo aXNvZGVz IHNpdHVhdGlvbnM= IEhvcg== UmVjZWl2ZQ== 4oCcV2U= IGVudGl0aWVz LmFzc2VydEVxdWFscw== 0L7Qug== IFNhbnM= dmluY2U= cm9tcHQ= PQo= IC8u LlNlbGVjdA== eWx2 IGJhdHQ= QXVkaW8= IGluY3JlYXNpbmdseQ== LkJ1bmRsZQ== IGV4cGxhaW5z MDYw dGhlYXN0 Lm9mZnNldA== IGhhbA== IHRlY2huaXF1ZQ== X2xpbWl0 IGRyYXdu QVlFUg== IGZlYXR1cmVk eXl5eQ== YXRpbg== cGhlbg== YWNoZWw= IVw= bG93ZXI= IEdS IHBhZw== IFBhcnNl IHRvdQ== 5LiA RGlzdGFuY2U= SW5kZXhQYXRo IGhlbGw= c2lt VVRUT04= VXNhZ2U= ZWxlbml1bQ== IEZhbGw= ICIuJA== IE11 IGNydWM= IHNvbnQ= UkVGSVg= MzEx IGludGVyaW9y IE9seW1w LkF1dG9TY2FsZQ== cGFyYQ== QXhpc0FsaWdubWVudA== IHJpdmVy RHRv IHdpdGhkcmF3 UmVhY3Q= LWNsYXNz YmVmb3Jl X2FsbG9j Q29udGVudHM= IFdhcw== SUNU IGZvcm11bGE= IGluZGljYXRlcw== ICAgIAoK X3N0b3Jl aXR0aW5n IEl0YWxpYW4= X1NldA== X3JlcG9ydA== IHBpZA== X1ZFUg== IHdpbnM= IENsb3Vk Iil7Cg== Y2hlc3Rlcg== IGRlbmllZA== IHdpcmQ= IFN0ZXA= IGludmVzdG9ycw== Ym9sZA== X2Rpc3BsYXk= b3V2ZXI= b3Jlcg== UmVzZXQ= IHN1cmdlcnk= IHN0cmF0ZWdpZXM= L21hdGVyaWFs X3VuaXQ= IGNvdW5jaWw= LlBlcg== IOKAng== IHJlZm9ybQ== RnJhbWV3b3Jr IGxpc3Rpbmc= X2J0bg== IGJpcw== JWQ= ZWdhcw== IHN1ZGRlbmx5 X1NFUg== MzE1 IGFv X2RpcmVjdG9yeQ== ZmFz IHByZW1pdW0= IHRyYWNraW5n IEJM IG1hdHVyZQ== IGJhdGhyb29t ICcvJw== IMSR UGVyZm9ybWVk IHNvbGRpZXJz YXJuaW5ncw== IHdhbGtlZA== LWNvbg== Ym90dG9t IHN1cnByaXNpbmc= IGdlbmU= VXN1YXJpbw== LkRFRkFVTFQ= IE1JVA== Q09ERQ== IEVneXB0 cGlja2Vy eXNxbA== QVRVUkU= ZGV0YWlscw== IENvbmZlcmVuY2U= SW5mb3JtYXRpb24= IE1haWw= LWRvd24= cmFyaWVz YnJv IHN1YmplY3Rz ICcq 6K+3 b3JpZW50 OkA= dmVyYm9zZQ== RUY= IHRvbGVy MzEz ZW5nZXJz IGVuZHBvaW50 IHN0cmFuZ2U= IGNvbG9u IHByZWZlcnJlZA== ZGVw IEVW QVJSQVk= IHdoZQ== IHB1cA== X25vZGVz IHRhbGtlZA== IGluc3RpdHV0aW9u ZGJj IGV4cG9zZWQ= dGVlbg== IEZyb250 VFQ= X05PTkU= XC9cLw== cHJvZ3JhbQ== IGVuY291cmFnZQ== LmA= c2hpcmU= IElzbGFt MzI1 ZWVu Tkk= JyI= LldpZHRo IGxpa2Vk IHsuLi4= IFN5c3RlbXM= IHZvdHJl IG1hbnVmYWN0dXJpbmc= Q29udmVydGVy IEluZg== 7Jo= RFRP IGluY2hlcw== IOCk w7k= IENoYXJsZXM= QlU= IikpOwoK IExhYm9y dW5u IGVzdGlt bW9iaWxl IExlYXJu Mjgx X0NBTEw= 4oQ= IGluZGljZXM= IHR1Yg== Mjg4 aWtpcGVkaWE= Q29zdA== cm93YWJsZQ== 66E= Z2FnZQ== IGZ1bmN0aW9uYWxpdHk= dXp6bGU= ZW1vcw== LmxpYg== IGRhc3M= 0LXQug== ZW5uYQ== IHNob3Rz IHJlc3RvcmU= L0Q= Rm9yS2V5 XSxb YWxpYXM= bGludA== LnN0cmVhbQ== 5qA= X0ZPUk1BVA== IHNpbHZlcg== LnJlcG9zaXRvcnk= IGxlZ2lzbA== LkJvcmRlcg== X2ZlYXR1cmVz UGVybWlzc2lvbg== IGhvdXNlcw== IFdhcnM= X0NPTVA= IGluanVyaWVz IGNvbnN0YW50bHk= Zmx1dHRlcg== RU5V IENvbmY= IHJlY29nbml6ZWQ= IHByYWN0aWNhbA== IGRlY2VudA== Qko= XSk7 YXN0eQ== IEFjdGl2aXR5 LW1vZGU= IHNsaWRl LklzTnVsbE9yRW1wdHk= IFlPVQ== UG93ZXI= aW5kaWNlcw== IHF1YWxpZmllZA== IHRocm93bg== aGVsbG8= MzE2 IE5pY2s= bGFo YXNzZW1ibHk= IFNtYWxs b2xkaW5n U2hvdWxk IFNpbHZlcg== KHNhdmVkSW5zdGFuY2VTdGF0ZQ== IHRvZ2dsZQ== Lk5vdA== Q3RybA== Om5pbA== IENvbnRpbnVl IEJvb3Q= 5ok= IE11cg== ZG9u IEZB U25hcHNob3Q= IGFzc29jaWF0aW9u Zm94 LGE= YXppb25l XSkNCg== Q1RZUEU= IGZhZGU= IERhcg== Lm5hdmlnYXRpb24= IGx1Y2s= U0NSSQ== IERlYWQ= IHRlcm1pbmFs X0xFTkdUSA== IGVmZmljaWVuY3k= IHVudw== IG5hcnJvdw== aW1lbnRv KENvbG9y IFNlYQ== X2FyZWE= LEE= X29wdA== IEhpbGxhcnk= LnRhc2s= IEphYw== YXN0ZWQ= IEFkYW0= IElsbGVnYWw= IHNlYXJjaGluZw== SW5zdGFuY2VPZg== SmF2YQ== IEZvcm1hdA== IHJlYWxpemVk IENoaWxkcmVu IGtpbA== KGZyYW1l 4oCdLgoK IHNjZW5hcmlv Il0pOwo= IGluY3JlZGlibGU= bGl4 SU9FeGNlcHRpb24= IFF1ZXN0 aWx0eQ== IHVubG9jaw== 4oKs IHJlZmVyZW5jZXM= IFZlcnQ= QmluZGluZw== ZWdhdGl2ZQ== IHdyYXA= LmRhdGFiYXNl KGNvbnRlbnQ= QnVm IFRyYWQ= IEF1ZA== dHJhY2U= Lm1vY2s= IHRoZXJhcHk= CUw= LlRvSW50 IEtpbmdkb20= QnVz aGF1c3Q= IiIiCgo= KGVuZA== LmRyYXdhYmxl W107Cg== IEhvc3BpdGFs IHBoYXJt LS0tLS0= IEFH w6lk PiIpOwo= IHdhbGxldA== YXRhYmxl KSQ= IG1vbnRobHk= IGRpYWdub3N0aWM= U3ltYm9s IGl0ZXJhdG9y dW5maW5pc2hlZA== IGltbWlncmF0aW9u c3I= Uk9X KGdhbWU= IGNsb3RoZXM= IFVudA== IGFjdGl2YXRpb24= X0Nvbg== Mjcz Lmhhc2g= IGluaXRpYWxseQ== Lkhhc2g= IGN1dHM= Zm91bmQ= IFN0b3J5 0YbQuA== YWNhbw== X1RZUA== cHJvdG8= ZXN0cg== LXBhZ2U= YWhy IGluY29ycmVjdA== IEpvc2VwaA== VGV4dEJveENvbHVtbg== X3N0eWxl IERhbmllbA== c2hlZXQ= IGxpdg== bGluZWQ= IHJh UnVudGltZQ== X2VtcHR5 c2x1Zw== X3N0cnVjdA== 64o= bXU= IHBlcm1pdHRlZA== IHJlZ2lvbmFs IHNvYnJl IFN1Y2g= IFtf IHJvb2Y= LkFsaWdubWVudA== dGltZXM= Lm1zZw== IGNoZXN0 IFRhYg== IGVzdGE= w6Ru IHN1YnNjcmlwdGlvbg== KGNvbW1hbmQ= c3BlY2lhbA== IG1lYWw= Iik6Cg== X2N0eA== IGNsb3NlbHk= MzA5 ZXRyeQ== LWJl YWRlbA== IFJhbQ== aWdlc3Q= IFNwYW5pc2g= IGNvbW1pdG1lbnQ= IHdha2U= Kj4o UEhQ X3s= Y2tlcg== PExpc3Q= X251bGw= Mzkw IFJlc2VydmVk IGluaGVy LkNvbHVtbnM= LkFzcE5ldA== X0lOVkFMSUQ= IFBhcmFtZXRlcg== IGV4cHI= fXs= Q2VsbFN0eWxl IHZhbHVhYmxl IGZ1bm55 SW52 IHN0YWJsZQ== KnQ= IHBpbGw= Mjk5 cGxpZXJz IENTUw== IENvbmRpdGlvbg== IFNwZWVk dWJsaXNoZXI= MjU5 IG9mZmVuc2l2ZQ== Y2VzdA== aWNhcw== IHNwYXJr IFByb3Rl c2V0dXA= SUZZ IFRheA== V2hv RmFtaWx5 LWZvcg== LnVr IGZhc2M= c3Zn IikpLg== IGJpcnRoZGF5 4paI dmVo ZWxsZWQ= IGltcG9ydHM= IElzbGFtaWM= VEE= IFN0YW4= d2VhdGhlcg== IHN1c3BlY3Q= ZWF0dXJl ZW5uZXM= V00= Lm1pbmVjcmFmdA== YXZpZA== 6L0= LnNlY3VyaXR5 aW5vcw== R29vZA== IG1hcmNo NjU1 MjU3 IHBvc3Nlc3M= dXN1YXJpbw== Q29ucw== YW1iZXI= Y2hlZHVsZXI= IGhvcnNl 570= KGJvZHk= IFRyYW5zZm9ybQ== X2RlY29kZQ== LnN2Zw== IGZvbw== IGRlbGxh ZXh0ZW5kcw== YW1lcg== IHByb2Nlc3NlZA== IEhhcnI= IEFJ IGtv Q0hBUg== KCU= IHRhcA== KHsn Y3JvbGw= RE9N IHRlYQ== IHJlaW4= MjYx IHdvcmxkd2lkZQ== X2Zu c2hh IGJpcg== w6fDtWVz PSIjIj4= IHJlcHJlc2VudGVk aWxsZXI= KGV4cGVjdGVk IGRhbmNl IHZpc2l0b3Jz LmNvbmNhdA== LWJpdA== VVJSRQ== IFJvZw== dnA= aXBo IExMQw== aXRsZWQ= aWFtaQ== Q29sbA== X3JlYWw= X3Nob3c= X2ZvbGRlcg== IGRhcg== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxhdHRlcg== YXJjaHk= IGJvdw== IG91dGNvbWU= NTEw IFBvc3RlZA== IHJpc2tz IFRoZXJlZm9yZQ== IG93bmVyc2hpcA== IHBhcmFsbGVs IHBlbmRpbmc= Z2VvbWV0cnk= IHJlY29nbml6ZQ== U1RFTQ== IENQ IGltbWlncg== SVRMRQ== ICAgIAkJ Y29ubmVjdGVk IHNtaWxl KGRvY3VtZW50 XENvbXBvbmVudA== dmVydGljYWw= IGNvbnN1bXB0aW9u IHNob2Vz LmltcGw= dW5rcw== LiI7Cg== IGZvb2Rz Xyk7Cg== LmFzc2VydFRydWU= IHBpcGVsaW5l IGNvbGxlY3Rpb25z IGVhcm5lZA== IENlcnQ= IHBhcnRuZXJzaGlw KGFjdGlvbg== MjYz IGNk IFZlcnk= T3B0aW9uYWw= IHNjcmVlbnM= IHRpdGxlcw== ZW5lcmF0b3I= IGFiYW5kb24= a2luZA== SUxURVI= IGNsb3Npbmc= bGljYQ== X2ludGVy IGNhbXB1cw== c2V0dGluZw== U3ByaXRl 44Gv X3JlcGx5 VG9MaXN0 OlwvXC8= ZWRl IGZvbGtz IGJvYXQ= KGFyZ3Y= IHBlcm1hbmVudA== IGNhcnJ5aW5n IGNvbnNlcnZhdGl2ZQ== aW1wb3J0YW50 LmltZw== IEltbQ== IGRpbWVuc2lvbnM= YWxhbmQ= c2luZ2xl RXhpdA== LS0tLS0tLS0tLQ== YXJpYW50 dGVybmFs U2Vjb25kcw== IEl0YWx5 b3RsaW4= LlJlc3VtZQ== PSci KT09 Y2VwdG9y IHNjYQ== L21haW4= U2VjdXJpdHk= X2RhdA== IGxldHM= IGFxdQ== IHdoZW5ldmVy YmVycnk= IGFjdGluZw== YW50aQ== cGQ= Jmd0 5q0= Wm9uZQ== VG9kYXk= IS4= MzIz VG9Qcm9wcw== YWJpcw== aXRhYmxl IGdhbA== XXs= aXpvbmE= IGluY29udHJp TkVU Ly8vCg== W2lu X3NhdmU= IGV4ZW0= IEtlbm4= IGV2b2x1dGlvbg== Mjcy dmFycw== X3N0YXRz LW9ubHk= IENvbG9yYWRv IHdhdGNoZWQ= Ym91cg== IHNldmVyZQ== IHByb2Zlc3Npb25hbHM= cG9ydGlvbg== IGd1YXJhbnRl 0LM= IHB1c2hlZA== IEdp 770= IHR1bQ== IEF6 IEVkZ2VJbnNldHM= IikpOw0K aXNzZQ== LmFj U2V0dGluZw== IGFwcHJlY2lhdGU= IFZhbHVlRXJyb3I= IHN1cnZl IFJvbGU= LkludGVy cGxvdGxpYg== amV0 ZGFt IHBsYXRmb3Jtcw== dGVsZQ== VVRP IEludGVybmFs Kzo= fTsNCg== R2VuZXJhbA== XEVudGl0eQ== IGxhd3llcg== cXVpdg== IFBvc3Rz aXNv IGFjY3Vt b2Jl IG1hcmtz IF07Cgo= CXRleHQ= LnN1Y2Nlc3M= Y3Vycg== YXNh ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= IHRoaW4= X292ZXI= MDE2 YXJlc3Q= IE9z KGFkZHJlc3M= IHZlbG9jaXR5 IFtdOwoK PSIuLi8uLi8= IFByaXY= Ym93 IGd1YXJhbnRlZQ== JQoK MzIy IGV2YWx1YXRl LkxFTkdUSA== IGludmVudG9yeQ== cWE= X2RlYnVn Lk9uQ2xpY2tMaXN0ZW5lcg== IGxpZXM= IGFzc2Vzc21lbnQ= ZGF0ZXRpbWU= LmJhY2tncm91bmRDb2xvcg== ICovDQoNCg== cmFm dW53cmFw IEZvb3Q= IG5vdGlmeQ== IGxvd2VzdA== RE9DVFlQRQ== IGxhbmd1YWdlcw== ZXh0cmE= LWJhY2s= IGVpbmVu dGVtcGxhdGVz Mjcx X3Bhc3M= NTIw Nzc3 IE11c3Q= IGVzdMOh X2NvcmU= IFNjb3Q= QUk= IGJpYXM= YXRpb25zaGlw Q29uc3RhbnQ= IHByb2dyYW1taW5n SW5z dXNwZW5kTGF5b3V0 IFBST1ZJRA== YW50ZXM= IHNoaXJ0 aW5hdGVk Lk9L W2E= IHRoaW5rcw== PwoKCgo= IHJlZ2FyZGxlc3M= IE1hZ2lj dWxhdGluZw== CWNsYXNz YWRkR3JvdXA= UkVBVEU= IFNV IHNpbXBs Y29weXJpZ2h0 IGJ1bmNo IHVuaXZlcnNl OTUw IEVycg== IHByZXNlbnRhdGlvbg== Y2F0ZWdvcmllcw== IGF0dGFjaA== LnNpZ24= X0FD IGRpc2NpcGw= IHJlZ3VsYXJseQ== IHByaW1hcmlseQ== aW5rcw== W1s= LnJhbmQ= LnNob3VsZA== b3dudG93bg== PSIn IHNhbnM= IHN1cHBvcnRlcnM= c2VxdWVuY2U= R08= Li4KCg== IFNwcg== IGNhcmVmdWxseQ== VUlDb2xvcg== ZGVzdHJveQ== IHRvZG9z IE9SREVS b3R0ZWQ= IGRvbnQ= YXVkaQ== X3BsYXllcg== Z3Jl NjI1 IE9pbA== PGJvZHk= X3N0YWNr LlBhZGRpbmc= IFByb2R1Y3Rz IHByaXZpbGU= MDE0 IGluanVyZWQ= IEZ1cnRoZXI= IGFsaWFz LlJlc3VtZUxheW91dA== X0xFTg== IHNlcw== J107Cgo= Y3JlZW5z IGRpcmVjdGVk LlN1c3BlbmRMYXlvdXQ= b2RnZQ== LkF0 bWFya3M= IFVuaXZlcnM= ZXJ0cw== IEVzYw== IG5hdmJhcg== IHV0aWxpdHk= YWdub3N0aWNz IGluamVjdA== IEROQQ== ICIsIg== YW1hcg== IGV1 IHJlc3RhdXJhbnRz X3B1dA== dXRlcnM= VG9vbFN0cmlw dHc= aXN0cm8= IHpvb20= IGxlZ2l0 cGVjaWZpYw== Mjg1 IENvbWU= IGxvY2FsU3RvcmFnZQ== IGFic29y LlBhbmVs IERlc2lnbmVy IG93 SUNBTA== X3VyaQ== KGZpZWxk IHN1cGVydg== RXhpc3Rz IHJlc3BlY3RpdmVseQ== IFN0YW5k Q29uZg== dXNzaWFu MzY0 IGFyYw== IG5k dWNrcw== IHJlc3Ry IHNlYXNvbnM= IENoYXB0ZXI= IFN3aXRjaA== cGlj IGhp bG9hZGVk IGZsdWlk LWJ0bg== IHJ1bnRpbWU= Lml0 MjU4 Qk4= T3BhY2l0eQ== YXNhbnQ= cnlwdGlvbg== LW5hdGl2ZQ== IHRhdWdodA== 5a8= YWdtZW50 IG11bA== UmVnaXN0cnk= X2dyaWQ= IEJyb29r OlNldA== IG1vbmdvb3Nl QU1FUw== aW5uZXJIVE1M IHNvY2k= IEludGVs Z2V0SWQ= Q21k IGFjY2Vzc2libGU= cmFtZXM= bGV0b24= IF9fKA== CWRlbGV0ZQ== IFNxdWFyZQ== IgoKCg== IGJ1Y2tldA== YXZvcml0ZQ== IEJyZWFr Kytd IGJydXNo MjY2 IHRlbnNvcg== L2h0dHA= VGlsZQ== IGZ1bmN0aW9uYWw= ICIq d2hlbA== IHRlbnQ= IENoYXJhY3Rlcg== IHNlZXM= LlNU Qmln IGV4dGVybg== VXJscw== KSkpKSw= IEpy LkJ1aWxkZXI= Ljs= bmw= X0luaXQ= IEhFUg== xbxl bXlzcWxp X2ljb24= dmFu IGZlZWxpbmdz IGxlYW4= IGhvcGluZw== VFY= PSI8Pz0= IGN1cnZl X3N0ZA== X0xJTkU= ZHN0 IG1vcmFs ZW1lcw== b2d5 IHVyYmFu MDE1 IGFzaWRl IGVkaXRpbmc= QURE U2Vjb25k VHJhY2s= IHZvdGluZw== IGhvbm9y Lics ZWxsZW4= Q2hhdA== IGltcHJvdmVtZW50 J10KCg== oIE= IHBhcnNlZA== ICAgICAgICAgCg== IGxhenk= IGZhbGxpbmc= U2VyaWFsaXpl IFBh X2dy IGZvcmV2ZXI= LndoaXRl LlF1ZXJ5 QmVk IER1 IHJlc3VtZQ== IHBhcGVycw== IEluaXQ= IHN1ZmZlcmluZw== 4oCL IGRlY2xhcmF0aW9ucw== KCkt IGV4ZWN1dGVk IEhvbA== LmJsb2Nr 44Oz U0s= IHN0dWNr IExvY2s= aW5jaXBhbA== TnVsbGFibGU= IHNlc3Npb25z dW5p IGNvdXA= YXBwcm8= Z2hhbg== X3Bvb2w= Mjgz CWlk IHNsb3Rz IG1lZGljaW5l IGdsYWQ= IE1vbm9CZWhhdmlvdXI= YXRyZQ== ICQoJw== bWVyaWNhbg== YWdn IGthbm4= X2Nvbm5lY3Q= IGJyYW5kcw== IHNrZQ== IGRpZ2l0 PG4= IGJhY2t1cA== IHBlcnNvbmFsbHk= LlByb3BlcnR5 MzE0 LmNvbW1pdA== IGNyeQ== X2NvdW50ZXI= IG1hbGxvYw== IGdyYW4= IERyb3A= cGxhdGZvcm0= cmVkZW50aWFscw== aW5raW5n IFVJTA== dWJz IG1s bGVzc2x5 R2VuZXJhdGVk ZXJlb3R5cGU= IGJhdA== TGF5b3V0UGFuZWw= TE9U Iik7DQoNCg== IG11c2NsZQ== IGNlcnRpZmljYXRl QU5ETEU= IGhhcmRlcg== IHBpeGVscw== KSIsCg== LkhlYWRlcg== IGRldmVsb3Blcg== IExhcw== ZWdhbg== Ljw= IGV4cGxvZGU= IHBhcnRpY2lwYXRl UGF0dGVybg== KHRhYmxl IFRFWFQ= Y29uc3RhbnRz eEQ= dGhldw== fSwKCg== 44Gu X2Rlcw== IHN1YnN0cg== IFNtYXJ0 IHNjYWxh Z2VudA== LWJhcg== ZXNzaW9uYWw= dW1icw== LmV4ZWM= J1w= VEs= dW5pc3Q= cHJvb2Y= Y2lhbA== cHJvYw== PXsi LmhyZWY= PSQo IGx1bmNo aXNjYWw= IEVudHJ5 IG91dGRvb3I= c2VtYmxl IGVzc2VudGlhbGx5 L0c= W10p JSI= c3Rlbg== VVNFRA== IGR1c3Q= 5bA= CQoK IHJldGlyZQ== IGZpYg== QWx0aG91Z2g= IGxvdmVz IHJlYWRz eWNsZXM= IEhlbA== X3VpbnQ= ICcuJA== X2luaXRpYWw= TmFtZWQ= IGZ1bmRhbWVudGFs QURJTkc= IHRvdw== IEFERA== IEFjYWRlbXk= MDUw OlN0cmluZw== IGNvbXByZWhlbnNpdmU= LnNjYWw= IE1ldGE= TWVzc2FnZXM= LmFubm90YXRpb25z XFJlc3BvbnNl IGFja25vd2xlZA== IEFSRQ== XT09 IGNsZWFuaW5n 6L4= RW50aXRpZXM= IFNhbGVz IFdpcw== LmV4dGVuZA== YWxsZW5nZQ== IGdhbWluZw== JHF1ZXJ5 SUNFUw== RVRDSA== SG9yaXpvbnRhbA== cXVlbnRpYWw= ODUw QkFDSw== ZGV2ZWxvcA== aXNvcg== KGNvZGU= LUs= X1BJTg== cmVxdWVuY3k= IFF1ZXN0aW9u X2NvbnRhaW5lcg== X21vZHVsZXM= IEplcnNleQ== X2RpZmY= LmVs ICooKA== Y250 IFNh Q1BQ aW5pdGU= IHVudXM= LXdoaXRl ZXRhcnk= IGludm9sdmluZw== ID8+DQo= YmVzdA== YWxsYXM= ZW50ZWQ= ICAgICAgICAgICAgICAgICAgICAgICAgCg== X2Nvbm5lY3Rpb24= IHJlcG8= ZW5hYmxlZA== 0LDQug== IHNoYQ== IG1lbWJlcnNoaXA= U3RhdHVzQ29kZQ== aW5hdGluZw== X3Nt X2N1c3RvbQ== X3dlaWdodA== IGNzcw== U3RhdA== X2Vudg== bGlua3M= VFJM IEhpdA== LHI= dXBpZA== IG9wZW5z IGdlbnQ= X3Zpcw== IGpveQ== PHc= X2Nvc3Q= IFB5T2JqZWN0 cmVuY2U= IEdlb3JnaWE= IEJyb2Fk bW1h 4oI= cGY= ICJcIg== ICgm b21v IGxpdGVyYWxseQ== iJg= bWV0cmlj IGJhcnM= emVk KHdpbmRvdw== IElzcmFlbGk= IGZvcm1hbA== aWRlbnRpZmllcg== LmRhbw== IERlYXRo JTsK IGRlY2xhcmU= YXJtcw== UkVBTQ== UEVSVFk= IGNvbnNlcXVlbmNlcw== dG9vbHM= UGVvcGxl IFdoaWNo PigpOw0K LmRlY29kZQ== X0FDVA== QnV0dG9ucw== LmZsb2F0 LkZpcnN0 66U= IFBvbGl0 IFhDVA== VGFncw== IENHRmxvYXQ= PXN0cg== IGxlYWY= LWNoZWNr IElzcw== LnN5c3RlbQ== bG9nb3V0 YWNodA== QW5nbGU= c2lu Y2hhcnQ= SU5URVI= IE5VTQ== QmFzaWM= LlByb3BlcnRpZXM= 5Lit X2NoYW5nZQ== IEJyYXppbA== QWJzdHJhY3Q= IDorOg== X3VzZQ== 0LDQuw== MjY4 IEx5 SUJVVA== IG91dGVy IC0tPg0K IHJlbGllZg== bGFw cXVlcg== X3BhcmVudA== aGVhcA== TE9TRQ== IGNvbWJpbmU= IFJvc2U= b3dlcnM= IHByb2NlZHVyZXM= IFNvcnQ= YW5pbQ== dmFyaWFudA== ZWhpY2xl IHNpZ25pbmc= UHJpbWFyeQ== Y3VycmVuY3k= IHNleGU= b2Vu dGhldGE= ZW1hbg== IGltcHJlc3NpdmU= KCdf CVU= IFRleHRTdHlsZQ== X2NudA== IHNsaWNl KCc6 IHVuZGVyc3Rvb2Q= SGlz Mjc3 MDEz IGluZm9ybWVk IG5pY2s= NDI5 KFRBRw== aGQ= IGVsZWN0aW9ucw== ZXN0dXJl IFNhbnRh IENvYXN0 LnBkZg== aW5jaXBsZQ== LmNsb25l Ym9ybg== dXRh IGxpY2Vuc2Vk Q3I= IGJyZWFk IEhvdXN0b24= IG5vZA== IGhvcGVz IENHUmVjdA== IGd1aWx0eQ== LmdpZg== IHJvc2U= LkNvbW1vbg== VGlw QU5L IEZD RHVyaW5n IFN5bWZvbnk= IGRlZmVuc2l2ZQ== a20= KT4= YXJjaGl2ZQ== IFVSSQ== eWNsaW5n LW8= IFdlYnNpdGU= QU1Q NDA1 aXNobWVudA== IGRvY3RvcnM= RGlyZWN0 QVJJ IFJlZGlyZWN0 aWVyZW4= OTYw X2Rpc3Q= eW8= IFByb2dyZXNz IHp1bQ== IG1lbW9y IEVE IGp1cg== 5o2u X1RBQkxF IHV1aWQ= RXhwcg== LmhlYWQ= KCcl cG9pbnRlcg== IGVzdGltYXRl IEdyZWc= IGxvYWRlcg== IGlPUw== IG1lbnM= W3k= IHJlZnVzZWQ= IHByZWNpc2lvbg== aXNjaA== IEFDVElPTg== Q2xvdWQ= c1dpdGg= KHJldA== Mjky X0FERFI= X2NvbmY= KGRm IGxvY2tlZA== IHJpc2luZw== 44O744O7 IE1z IHNjZW5lcw== X0VYVA== X3Jhdw== X3RoZQ== cGVvcGxl IHJlY29u IEZ1bg== IGJsZXNz IFVwZGF0ZWQ= NDIy w7xu ICAgICAgICAgICAgDQo= cGVjdGlvbg== UmVsZWFzZQ== LmxvZ2dlcg== IFNZ IGNvdW5zZWw= dXJk X3RydWU= IGV2ZXJ5Ym9keQ== aXZvdA== IGhlbmNl IE5BUw== Nzg5 IG9wcG9zZWQ= dW5rbm93bg== IERFU0M= IENoYWly ZmFpbGVk IElOQ0xVRElORw== Mzg2 MzUy IHdyaXRlcnM= e30K w610 X2NvcHk= fTo= IEJhdA== IGNvbnZlcnRlZA== ZWRpbmc= cGxhY2VtZW50 IEhvc3Q= U291bmQ= 0LjQvA== IHNvdWdodA== NDAy bWlk IHNhbGFyeQ== b2dn 4oSi YnVs IHdpcg== dmFsaWRhdG9y X1NUQVQ= LnN0b3Jl IEJhdHRsZQ== xLFu IC0tPgoK VHJ1bXA= ZG90 IENPTlQ= LmZldGNo IGNvbnRpbnU= d2Fz IGZyYXVk X3RtcA== bWl0dGVy LnBpY3R1cmVCb3g= R0E= IHRvdXJuYW1lbnQ= LklucHV0 MzQz W3I= ZXhpb24= Y2VudGFnZQ== IEtvcmVhbg== dW5kZWY= IEF2YWlsYWJsZQ== cmVzaGFwZQ== IGtpdA== IFN0cnVjdA== IFNVQg== QW5zd2Vy X2xpYg== LnR3aXR0ZXI= IG9yZQ== IERyYWdvbg== LkV4dA== LGs= IGV4cGxhbmF0aW9u cmVmcw== IERyaXZl IFRyYWluaW5n Mjgy Lkhhcw== MzQx aW50YWdl Ymln b2xvZ2lzdA== ZW5uaXM= NDYw 2Yc= IGNoaWNrZW4= ICAgICAgICAgIAo= 55s= 44Gn IHBlYWs= IGRyaW5raW5n IGVuY29kZQ== IE5FVw== bWFsbG9j CWZwcmludGY= ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 aW5jbHVkaW5n IHByaW5jaXBsZXM= IE1haA== MjY3 c3RvcmFnZQ== LWtleQ== IGtleXdvcmQ= JTs= IHRyYWluZWQ= LmNvbnRyaWI= IGt2 X18nOgo= IEJveQ== cGFyYW1ldGVy IHN1aXRl IHRob3VzYW5k IGNvb3JkaW5hdGU= LWdlbmVyYXRlZA== 7ZWY Z2VuZXJhdGVk IGFkbWl0dGVk IHB1c3N5 I3c= IHN3aW0= dW5pb24= TmE= Mjc0 IFJveWFs LmNoYW5uZWw= VXBkYXRlZA== X1JPT1Q= IHZpdGFs MzM1 cmFjdGlvbg== IENydXNoZXI= IHByZWNlZA== IGhvcml6b250YWw= Qmx1ZXByaW50 IGF0dHJz IHNtb2tl 0JI= LkVxdWFscw== RkI= IFJlc291cmNlcw== cm9sbGluZw== IHBhc3Nlcw== IE51bQ== cm90YXRl ZXR5cGU= XCIs IHNlbnNpdGl2ZQ== IHRhbGw= P+KAnQoK UHJveHk= aXk= X3NlY3Rpb24= 4oCU4oCU4oCU4oCU YnJpZA== IGNpcmN1aXQ= YXRhbg== RU5D IGRyaXZlbg== IHZvdGVk IGVkdWNhdGlvbmFs IGludGVyYWN0aW9u YWJldGVz IHRvbmU= IEluaXRpYWxpemVDb21wb25lbnQ= IG1lcmVseQ== IOye Y29va2ll X2Rpdg== IFVJTGFiZWw= dmVseQ== fSk7DQo= X0VOVA== IysjKw== YXJ0aWNsZXM= IFNvdXRoZXJu IHN0cm9uZ2Vy IEdpdmVu IEVyaWM= IElS YWJzdHJhY3Q= VW5kZXI= bmFibGU= IGluY3JlbWVudA== b3Zlbg== IGNvaW4= X3RpbWVy IHN1ZmZlcmVk IEZSRUU= J10uIg== IFF1ZWVu c3RhdHM= IG1lZXRpbmdz Mjc2 IGVudGVyaW5n IGFsb25nc2lkZQ== KHNlc3Npb24= aXRhbHM= IGZvdW5kYXRpb24= IENyZWRpdA== LmRpdg== X0FMTA== cGNpb24= X3N0YXQ= aWNraW5n RGVmYXVsdHM= X3NyYw== IG91dHB1dHM= L0I= IGVudGh1cw== LWJs LkZvcmVDb2xvcg== CXRlbXA= RmFjZQ== IGludGVyYWN0 IHdlaXJk TW91bnQ= cmVsbA== dWRlbnRz IHJlcXVpcmVtZW50 IFN1cw== SUVS IGVsZWN0ZWQ= cmVmZXJlbmNl IE1F IHNlcnZlcnM= LndhaXQ= IHNuYXBzaG90 aWx0b24= IHRyaWVz IHRpcG8= LlRpbWU= Pnc= IG1vdW50YWlu IHBvdW5kcw== IFsuLi4= ZXhpc3Rz IG5nT24= X01BUA== IGZseWluZw== MzMx eGlldHk= CXZhbHVl X0RC dW5v IHNlYXRz VFVSTg== LmF1dGhvcg== ISk= b3JjZQ== IGluZGljYXRlZA== MzE3 LnNpbg== IGFzc2lnbm1lbnQ= aW1pZW50bw== IEZyYW1l MzI0 X2dlbg== aW5lcnk= Xyk= bWVzc2FnZXM= LnNldHRpbmdz IE1lYW4= IE11c2V1bQ== aXJx YXR0YWNo IFBhbGVzdGlu X1FV X3RhZ3M= IGNhc3VhbA== ZW1lbg== QVNTV09SRA== NDMy JHM= IENpcmM= 0L7QuQ== ZXRyaWM= L1A= MDE4 IGVwb2No PGhlYWQ= X0NNRA== IGdpdA== IHBlbmFsdHk= b3JwaA== X3VzZXJz b3Vyc2Vz LkRhdGVUaW1l YXRlcm5pb24= X3Byb2plY3Q= IHN1cGVyaW9y IERhbQ== IFNlYXR0bGU= WFk= PlRoZQ== IEFr IGdyYXNz LyoNCg== KGRpcw== IGd1bnM= IHRi IEtldmlu LmFyZ3M= IEFo b3BlZA== KEo= Y29sdW1ucw== YXJndW1lbnRz IFdpdGhFdmVudHM= X2Z1bGw= IERlZmVuc2U= U2ltcGxl IGRlYXRocw== Mjk1 IGV4dGVuc2l2ZQ== IFN0aWxs IEV4cHJlc3Npb24= IEFnZW5jeQ== IHBlcmZvcm1pbmc= Rlg= IHVzdWFyaW8= VUFM U2lkZQ== b2Rvcw== YXB0b3A= IGNyZWRlbnRpYWxz X2NhcA== YXRpZW50 IERpc25leQ== IGFp IGNoaXA= IHZvbHQ= Lm1ha2VUZXh0 JSUlJSUlJSUlJSUlJSUlJQ== IGJlbGllZg== X0xPQw== IENpdmls TmF2aWdhdGlvbg== IHJldmVhbA== IHZpb2xlbnQ= IEZpbA== IGNhdGFsb2c= ZW1lZA== c2Nhbg== LmNvbnRyb2w= IGNvbnN0aXR1dGlvbg== Q291bnRyeQ== U2VwYXJhdG9y X0FQUA== dG9waWM= dWV0b290aA== TUlO IGRlc2NyaXB0b3I= eXQ= RVRIRVI= IGRpc3RyaWJ1dGU= J30K LnRyaW0= LkxpbmU= IGxibA== YXNzZXJ0RXF1YWxz IERldA== b21ib2s= KHdpZHRo IHRvcnQ= IEVYUFJFU1M= YWNv VXNpbmc= IEJyYW5k d2FsbA== RU1FTlQ= IENvbW11bmlj PHVpbnQ= IEdVSQ== RUdJTg== IFJhbmdl L2k= IFRheWxvcg== Y29zdA== IHJlc3BvbmRlZA== IFRoZW1l bmNl SVNI IGZlYXR1cmluZw== UmV0dXJucw== IEty IC4K IG5hbQ== X2Ni VGVzdGluZw== IHt9LA== eWFs LmZpZWxk IC89 X1NIT1JU bWF0ZXM= VGVzdENhc2U= YWlubGVzcw== IGV2YWx1YXRpb24= X0lURU0= IFBhY2lmaWM= CWs= IGNhbnQ= IFJvcw== KXM= IGZldA== U1RSSU5H MzE5 IERpc3Bvc2U= Z2Fs IEpvaW4= IFBvcm4= IENhdGhvbGlj QVJHRVQ= Y3B1 56CB LnNjcm9sbA== MzI4 SVNJTkc= aWZlc3R5bGU= YW5jZW1lbnQ= IG1lcmM= IEJyb3dzZXI= ZXRlcm1pbg== IG92ZXJmbG93 QXZhaWxhYmxl IGJvdHRsZQ== OlVJ aWZpY2lhbA== IGNvb3Jk Y2xhcmF0aW9u IGNvbmo= R0xPQkFM b2t1 IGt3YXJncw== Y29uZGl0aW9ucw== dWx1bQ== IGdlbnU= IEhlcm8= 5Y4= IHVuZXhwZWN0ZWQ= IERBTUFHRVM= IGth IENvdWxk VVBQT1JU IFBob3Rvcw== IGNvbmZpZGVudA== IGRldGVjdGVk ZGVn cmdi IHN0cm9uZ2x5 IH07DQo= ICk6 IGxlY3Q= dXJzaXZl Uk9M IFdlaWdodA== IGVudGVydGFpbm1lbnQ= ICkpOwo= IGdvbm5h IGJi LmRv R1M= IG1pc3Rha2U= REw= IFBST1ZJREVE ZWFybmluZw== TGltaXQ= aXNzaW9ucw== W3Y= 5LiN aXJ0eQ== RGVs IHVuZGVybHlpbmc= cHJlbmU= IGphdw== IERJ cGVlcg== IG9iamVjdGl2ZQ== IGRlcG9zaXQ= IGtvbg== IGVzcA== Mjc4 LnNldFZpc2liaWxpdHk= L2xvZ2lu PHR5cGVuYW1l IGZyYW5jaA== L2U= MjY5 UGFyYWxsZWw= IHNjb3JlZA== IEhvbg== IFZpbGw= aWdh IGFudGljaXA= X2Fzc2VydA== IE9wdA== IGRlc2NyaWJlcw== d2Fu bW91bnQ= IG1vbml0b3Jpbmc= IHRvdXQ= 64qU fSx7 Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4= PWludA== IGN1c3Q= LS0tLS0t IGF0bW9zcGhlcmU= UEFS b3J0ZQ== SVNJQkxF IElyb24= IE5vdGlmaWNhdGlvbg== LmxvZ2dpbmc= IEJPT0w= LXBvaW50 IGFmcmFpZA== ZW50YQ== IHRvbW9ycm93 QGltcGxlbWVudGF0aW9u IGVuZ2FnZQ== IEFudGg= IEZsb29y IFVs VG9vbHM= IGJhYg== IGNhcmVmdWw= 44GE IGNydWNpYWw= IGNhbGN1bGF0ZWQ= IFNB IHd5 OTEx RFg= X1RBRw== aW5kZWQ= IGpldA== IEVuZ2luZWVyaW5n Lk1BWA== ZW56 dmQ= IHB1YmxpY2F0aW9u ICMjIw== IGZhY2Vk cmFoYW0= IENhcHQ= MzM2 QXNzZXQ= IENvbnN0YW50cw== IGxvYW5z X0lQ IEZpc2g= UmVkdWM= X21hdA== RGF0ZUZvcm1hdA== X21l W11bXQ== IGludGVncml0eQ== IENvdXJzZQ== bG9iYWxz IGZhY2lsaXQ= IGVtYnI= IE5n LlN5c3RlbQ== IG1hbnVmYWN0dXJlcnM= IHByb3Zlbg== Lm9uQ3JlYXRl IGFsYXJt IMKn IGNvbW1vbmx5 aWNvcw== 5paw IFN0YXRpb24= fSku IEZpbG0= d2k= 54k= IGVuZ2FnZWQ= U3RhdHM= IGdvdmVybm1lbnRz NTQw IGFmZm9yZGFibGU= X3Byb3BlcnR5 IGFnZXM= KCctLQ== IGbDtnI= IFByb2Zlc3Nvcg== IGh5ZHJv UHVzaA== IG9yZ2FuaXplZA== Mjg0 QWNjZXB0 w6lt X2NlbGw= IG5i cGI= QXJ0aWNsZQ== IHJlbW92YWw= IGF1dGhlbnRpY2F0aW9u IEZS bGlkZQ== IHBsZWFzdXJl YXBvbA== IHBhcnRpdGlvbg== IFNpZGU= IGNyaW1lcw== IGRlbW8= aG9sZGVycw== IFBha2lzdGFu SW5zdHJ1Y3Rpb24= IGV4cGVjdGF0aW9ucw== MzMy LnNjZW5l ICcp aGVz aW5vaXM= X1Bybw== IG1vbGVj YW5kYWw= X3Nob3J0 IGRlZmF1bHRz IG5hdGlvbnM= aW5lbg== IHJ0 T0NL UGFja2V0 U0I= IFNIQUxM X2NvbnRlbnRz aXNlY29uZHM= dmVydHk= w6F0 R3VpZA== bm9t IGNvbmNsdXNpb24= LlVwZGF0ZQ== IGxvdmVseQ== IGVtaXQ= YmVj CQkJCSA= IGludGVsbGVjdA== IGJyZXc= ZWN5Y2xl RmlyZQ== MzU4 IGFkbWl0 IGFyYml0 IGFycmFuZw== IE1JTg== TWFpbA== IE5hdGl2ZQ== Q3Vy IGNvbnZlbnQ= LlJ1bnRpbWU= In0K LlJ1bg== IHByaW50ZWQ= IGNvbnZlbmllbnQ= LmFy bW9jaw== IEFkbWluaXN0cmF0aW9u 44G+ IGVsZWN0cm9u ZmxhdGU= IGxvbWJvaw== IGphdmFmeA== bmg= IHN1cHBsaWVz IHZpc2l0aW5n YWhs IHBvd2Rlcg== IHVsdGltYXRl IG9yaWVudGF0aW9u dXRhcw== X3NjYWxl Q29uZmlybQ== cGhvbmVz IE9wZXJhdGlvbg== L1Q= NDQz X0lOVEVS IGFpcnBvcnQ= IG1ldHJpY3M= IHBoZW5vbWVu YXVkaW8= MzM0 IG1haQ== KEs= aHU= YWxsaW5n cm9kdWN0aW9u IFRyYW5zcG9ydA== IE5PVEU= 5paH IGZld2Vy X1RJTQ== 7Kc= 0LrQuA== QWdl RklO Mjk0 IOyd IEF0dHJpYnV0ZQ== Z3JvdXBz ZXJr YXR0bw== LmRlZmluZQ== LkFzcE5ldENvcmU= YXRlZ29yaWE= IFNpcg== KGZvcm0= PFVzZXI= LnJvdW5k X2RheQ== LkFsbA== U2VydmxldFJlc3BvbnNl Lk5v bGFyZ2U= SUdI cXVlbnQ= IHZpcnVz IHJldHJv IGltcGVy Qml0bWFw IHZpY2U= IG9mZmVuc2U= aXN0ZQ== IEFVVEg= IOqw VG9vbFN0cmlwTWVudUl0ZW0= R3U= IHJhcGU= IERhdmlz IG92ZXJ3aGVs OmZsdXR0ZXI= LXRhYmxl IENvbnN0cnVjdG9y UHJpdmF0ZQ== ZXZlbg== Y2hy IGFwcGxpZXM= X2F0dHJpYnV0ZQ== IGNvbnRyaWJ1dGU= RVZFUg== Mjg5 TGluZXM= IEFmZ2hhbg== VmlzaXRvcg== IFNM c2Vhc29u Q1U= IGludHJvZHVjdGlvbg== IG1hdHBsb3RsaWI= xZE= IG5ld3NwYXBlcg== 4oCUYW5k PHRhZw== IGluaQ== IGRpdmVyc2U= SWdub3JlQ2FzZQ== MzUz IFVy QWdlbnQ= IGJ1bGw= LmVtaXQ= KEV4Y2VwdGlvbg== YXJMYXlvdXQ= IGluY3JlZGlibHk= IFRydXN0 PXso LW5hdg== IGVxdWFscw== IGxhZHk= IFBvZA== ZGlzYw== YWxhbQ== IElW 4pk= aXZpZHVhbA== cGhp MDE3 YWRkZWQ= IGRpZmZpY3VsdHk= IGNvbXBhY3Q= NTMw IEFjdGlvblJlc3VsdA== Y2Vycw== X2NsYXNzZXM= Tm9uTnVsbA== IHF1aXQ= IHBvdQ== U3dpdGNo aXJz LXRlc3Q= IEtpbmQ= IENhbGVuZGFy NDA2 IHN0cmVhbWluZw== fScs Mjc5 U1c= IHN0ZWFk b2Nh IHByb3ZpbmNl OTc4 IGNvbHNwYW4= IHBlcnNvbm5lbA== IEVtcGxveWVl IHByb2R1Y2Vy IGV2ZXJ5d2hlcmU= b2Ri 0J8= YnNvbHV0ZQ== YWN0aXZhdGU= IGdyaW5kaW5n IEJ1aWxkaW5n IFNhbmRlcnM= KHNj IE9mZnNldA== Ly8vLy8vLy8vLy8v fTsNCg0K KHsi IHNjYW5m IFlZ CWRlZmVy IGpldw== IHJlc3RyaWN0aW9ucw== Lm1w W2w= 5LiL bGFiZWxz cmVkaWNhdGU= YXdlc29tZQ== IHdhdmVz IGNvbmZyb250 IG1lYXN1cmVk IGRhdGFz X2V4aXQ= MzU1 b3R0b24= IHNob3VsZGVy YXNrYQ== KyM= ICAgICAgICAKICAgICAgICAK IHRyb29wcw== Mjkz IFVuZA== X2NhcmQ= d2ljaA== IG5vdXM= ICIvIg== c2I= IGNvbW11bmljYXRpb25z RXhwb3J0 IGRlY29kZQ== dGhz aW50ZXJwcmV0 QnlOYW1l IFNwaXJpdA== ZWRnZXM= T0xF IEVN dGl0 IFRocm91Z2g= IGJpbw== IFBhY2thZ2U= b3JuZQ== Mjkx IH0u NDEx YDsK IG9rYXk= IFplYWxhbmQ= aWRlbnRpdHk= KG5leHQ= IEJhbmc= TGlicmFyeQ== IGhlYXZpbHk= aWxvbg== IGRpcGw= IHJvdGF0ZQ== cHV0cw== KScsCg== IERhdGFUYWJsZQ== IG1heW9y LnRvTG93ZXJDYXNl IHNvbWVob3c= IE5vcnRoZXJu YWxj IGNhcGFiaWxpdGllcw== IHZpYnI= Kwo= IFN1 Mjg2 IFJlc2V0 X21lYW4= IGNpZw== LmNsb3Vk IEJhbmQ= IEZhY3Rvcnk= IEFyaXpvbmE= X2lv b3BoZXI= IGNvbnNjaW91cw== IMO2 XENvbnRyb2xsZXJz X3NwZWVk IEZhYw== X0NvbQ== IEJpYmxl d2Vu RURJVA== IHVubg== IFN0YWZm IElubg== IG1lY2hhbmlzbQ== IE1lbWJlcnM= IG1pZ3JhdGlvbkJ1aWxkZXI= J10uJw== LmdldEludA== PHZvaWQ= CWZyZWU= b2lkcw== XFN1cHBvcnQ= IGF1dG9tYXRpYw== IGNoYW5jZXM= 0LY= IGNvbXBsaWNhdGVk W3Jvdw== YWhvbw== IH0KCgoK TW9kZWxz V2lu IHRhcGU= aXJ1cw== aXpvbg== b25vbXk= KCJf Oi4= LnN0ZXJlb3R5cGU= Mjk2 KGVudg== X3JlY3Q= KHdpdGg= IGFzc2VydFRoYXQ= IGNvbnN0cmFpbnRz cHV0eQ== RW1wbG95ZWU= NjIw VEQ= IGd1aXRhcg== ODc1 IEpld3M= LnByb2Nlc3M= IGZpY3Rpb24= IFNoYXJlZA== 4pSA4pSA IHByb3BhZw== Lk5ldA== IGFjaGlldmVk CVE= IG51cnM= U2hhcmVk X0ZBSUxVUkU= IGJlaGF2aW91cg== IGNvbHM= aXNtbw== IGZlbWlu IGNoYWxsZW5naW5n IHBvc3Rpbmc= ZW5jaWw= IGNhcHR1cmVk IERvdQ== KHdvcmQ= IFR1cmtleQ== cGFuaWVz IHJlcHV0YXRpb24= T1JNQUw= IGVsaWdpYmxl cHJvdG9jb2w= NDE0 aWRhcw== KGZyb20= MzQ0 IGZpbmFuY2U= LXBlcg== IGdvdHRlbg== SEE= ZHVyYXRpb24= IFBhcmVudA== Njc4 IGludmVudA== IHJlc3RhcnQ= 0L7Qu9GM cml0aW9u KHJz PGJvb2w= aWVydA== IG1vZGlmaWNhdGlvbg== IFRY cmVhZGNydW1i YmFuaw== MzI2 JC8= IE1pbGxlcg== XSksCg== LkNoZWNrZWQ= IHNhY3I= c2VjdXJpdHk= IHBvc2U= IEJyYWQ= IGZpdG5lc3M= IGFubm91bmNlbWVudA== YXRpb25Ub2tlbg== IHNlcnZlcw== bmVlZA== IGdlb21ldHJ5 QVJT 5oA= YW5kaWRhdGU= IHNwcml0ZQ== X3NwbGl0 V2Vlaw== YWRpZXM= PigK Pz4i IC8vLwo= IGVpbmVy IHdlZWtseQ== CWxvZ2dlcg== X3BvcA== X21hbg== IG1pZ3JhdGlvbnM= IGFza3M= IGJz IGZhbGxz LldoZXJl LWhlaWdodA== X2ZlYXR1cmU= Lk1pbg== IGh5cGVy IHZvbGF0aWxl IHR3ZW50eQ== VHlwb2dyYXBoeQ== VW5hYmxl RGV0 LGY= LW1vZA== IHNldHRsZW1lbnQ= IGNvbnRyYWN0cw== bm9tZQ== QmFk IEJyaWFu NzY4 KHVzZXJuYW1l ISEhIQ== IGhhY2s= LkZpZWxk SFI= IEpvcmRhbg== aXph IMKg IFNoZXI= LmhlYWRlcg== KG90aGVy IER1Yg== KG9w IFJvdW5k IHZpZQ== IGFwcGw= CUo= IEluc2VydA== IExQ cmVnb24= IE1QSQ== IGFuY2hvcg== YWNh w7hy IGFkZQ== YW5jaG9y cXVlZQ== IFRyZWVOb2Rl IHRhcmdldGVk IGxhaWQ= QUJFTA== dmV0 IE9yaWdpbg== QW50 LicpOwo= ZXhwZWN0 ZWRSZWFkZXI= IE1ham9y IGluY2g= Q29tcGFy IHByZXZpZXc= IGlsbG5lc3M= IENPTlRSQUNU IEluZGVwZW5k dXVpZA== IG5vbWU= IHRj IEF2ZW51ZQ== aXNhbg== IHBocmFzZQ== X21vdmU= Iilb NDEy IHByb3Zpc2lvbg== IGNvbmNlbnRy X0lS IFV0 KCkr IG5hcw== ISw= IFJvYmlu aWF0aW9ucw== YXRpdHVkZQ== IHB4 IFdpdGhvdXQ= L2Jhc2g= ZWt0 cmVlbWVudA== MzQy T2JzZXJ2ZXI= MzE4 IFJlZ2lvbg== VUJMSUM= IHsvLw== S04= 5bc= R2FtZU9iamVjdA== 5b4= ZW5jb2Rpbmc= ICoqKg== cHJvamVjdHM= IHRr IGNoZWVzZQ== RU1QTA== YXJv INin2YQ= NjEw MzM3 IGNvbnNpc3Rz cmVmcmVzaA== dXJlYXU= IFNjYW5uZXI= IHNvaWw= IGZsYXZvcg== RGF0YVNvdXJjZQ== RXhlY3V0ZQ== 0LXQvdC40LU= IHNoaXQ= 5YiG PGFueQ== IHJldHJpZXZl IGJlbG9uZ3M= LnN0cmlw YWJzb2x1dGU= IGV4cGFuZGVk Ym95 KTot IHJlc2N1ZQ== LkpMYWJlbA== IHJlbHk= IGFsaWdubWVudA== LWZhbWlseQ== IHJlbmQ= T0xVTU4= IGJvcnJvdw== IHF1b3Rlcw== IExldw== IHNob3dlcg== IERFTEVURQ== X2xvb3A= ISIKCg== CXJl IGF0dGVtcHRlZA== YXZlcmFnZQ== IFBhaW50 cXVpc2l0aW9u b2xlbg== IGxpdGVyYXR1cmU= IFJlZmVyZW5jZQ== X1RFWFRVUkU= IFNlZw== IEluZHVzdA== Y3R5cGU= RFVDVA== X0hPU1Q= IFRyYWRl IHBsdWdpbnM= IGJyZWFzdA== dWxzZQ== IGNyZWF0dXJl Mzcy 44GZ IFdp IHN1cHBsaWVk Y29sbA== ISgi IGZ1Y2tpbmc= IENocm9tZQ== IFVyaQ== IE5hdGlvbg== IHZlcnRpY2Vz VEhF IE9yaWdpbmFs b25kZQ== IHNoYXJw IGNvb2tpbmc= MzQ3 IHsvKg== IFBzeWNo IEhvbGx5d29vZA== PSRf LkRvY2s= IGdlcg== IGJvbmU= X2Nvbm4= X3NlYw== eXNpY3M= ID0i Mjk4 U2Fs c2Y= IGRlZXBseQ== YW5nbGVz VGVybQ== YmVsbA== IFF1aWNr NTYw ZW5lcmF0aW9u YWRpb0J1dHRvbg== 5YWl fQ0KDQoNCg== IGNhcHRpb24= bGM= IEVM LFs= ICAgICAgDQo= cmV0dA== KG1ldGhvZA== IEZsYXNo NDcw ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== V0lTRQ== LnNjYWxl IHJvdWdobHk= X2NoaWxk bWVtb3J5 YXlpbmc= IGluaXRpYWxpemVk aW5hdG9y 0LDRgA== IHNjYWxhcg== IEhv YWlyZXM= KGNvbHVtbg== LmRlc3Ryb3k= UEFDSw== IGhlbQ== YW5nZWw= X1NVQg== LnF1 INc= REVGQVVMVA== cG9zaXRvcmllcw== NTAz IExlbmd0aA== IEZhc3Q= IHNpZ25hbHM= IC8vJA== cmllcnM= IGR1bW15 QU5Z IHBlcnNvbmFsaXR5 IGFncmljdWx0 UGxhdGZvcm0= RVJP IFRyYQ== IGVub3Jt CVc= QWN0aW9uUmVzdWx0 IGF2ZXI= W3N0cg== ICctLQ== LlNwcmludGY= IGRlYnV0 INGH aGV4 X3V0aWxz IHBi VUlUYWJsZVZpZXc= IHp1cg== LmVuY29kZQ== NDE2 IHZhZw== LmVycm9ycw== 0L7QvQ== IG1y IEF3YXJk IGNwdQ== IHByZXNzZWQ= J2VzdA== IEZlc3RpdmFs J1Q= IGFr cmVzb2x2ZQ== MDQz Lm1l IG5pYw== IGdlbnJl IGF0dHJpYg== IE1vb24= IGFycml2ZQ== IERhdGluZw== IHRt LkNvbmZpZ3VyYXRpb24= NTA1 LnJlZA== IGdsbQ== IHN0YXRpb25z c3dpdGNo IHRpZWQ= 5Lq6 IC8+PC8= UXVhbnRpdHk= cXVpcnk= X3RhYg== IGFsZw== VG9hc3Q= cmVzaXpl cXVlc3Rpb25z c2NoZW1h TGl0ZXJhbA== KGVudGl0eQ== TkVDVElPTg== Y2hhbmdlZA== X0ZJRUxE X0hFSUdIVA== IG9yZ2FuaWM= UFJF IENhdA== LkRyYXc= RXM= IGxvdWQ= Njgw ICAgICAgICAJ IEthdA== IGhlYXA= 4oCcSXQ= MDcw ZXRy IHVubGlrZWx5 ZXJhbHM= L2F1dGg= NTAy dG9kbw== UGxhY2U= UG9zdGVk Q29tbWVudHM= IFRlY2g= IEZpbmFsbHk= ZWdyYXRpb24= IG1pbmltYWw= IEZpbGVz IHRhbWI= 66Gc IFJlbGVhc2U= NDI1 LnJlc2l6ZQ== IM8= Y29sbGVjdA== PXA= IExJQUJMRQ== IHByb2R1Y2luZw== LXdyYXBwZXI= IHNpbmdsZXM= IE5CQQ== b3Jy ZXJlbg== LmFkZEFjdGlvbg== IHRoZXNpcw== ZG4= UFRZ LmRlcw== IGJhY3Rlcg== IEV4cHJlc3M= ICopCg== 5ZE= L2FkbWlu c2Vjb25kcw== 5Yqf dXNzaW9u YWJldGg= IENvbXB1dGVy IHJ1bGluZw== KCIuLi8= LkdFVA== IE1lZGFs aXRpb25hbGx5 Y29tbWl0 Zm9jdXM= X0xFVkVM aW5kYQ== RmFjdA== PW5w PSIiPgo= IHN1YnNlcXVlbnQ= cG9zYWJsZQ== LWZsdWlk IHRob3JvdWdo IHB1YmxpY2x5 YXB0ZXJz IFdpbHNvbg== X1BSRQ== eWFyZA== 5Lw= CWlu MzM5 IHJldmVycw== IGJ1bGxldA== Y3JpYmVk bmVzb3Rh ICgkXw== YW5ub24= Y3Vyc29y IGNsb3RoaW5n IE11bHRp Mjg3 Oics IHZlc3M= b3JkaW5hdG9y IGVpbmVt Q2Fubm90 IGFybWVk CVY= 5LiK LkZsYXQ= IFNlcA== IFN1YmplY3Q= X2ZvbnQ= IGNoYXJhY3RlcmlzdGljcw== RG9uZQ== ZWxu IyMjIyMjIyMjIyMj UE9T IGRlbnNpdHk= IFBsYXRmb3Jt LWl0ZW1z IG92ZXJz IHB1c2hpbmc= 56Q= LkNvbm5lY3Rpb24= X3Rlcm0= IGluaXRpYWxpemF0aW9u X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18= 56w= LmRvY3VtZW50 bGVzaA== CWRvY3VtZW50 IFBpbg== w6dh IGRlZmluaXRpb25z LlBhdGg= X1dSSVRF IAkK Pz4KCg== IHRlcnJpYmxl YmVhbg== aWNrZXRz IFNW QnV5 KHRhc2s= IHJlZ2ltZQ== Z29vZ2xl IGNyYWNr LnZpc2l0 TlVN ZW5lcmd5 IHN0cnVjaw== X3NhbXBsZQ== LnBheWxvYWQ= IHJldmlz IFNjZW5l IHBn IGJyZWFrZmFzdA== VVJSRU5U LmNoYXJBdA== X2V4Y2VwdGlvbg== IEFudG9u IGd1aWRlbGluZXM= IGV4aGF1c3Q= IEZpbmFuY2lhbA== IGluZGVudA== IGRlc2t0b3A= SGlkZGVu RmFpbHVyZQ== IHByaW5jaXBsZQ== IGl2 IHNla3M= bmV0d29yaw== IG51bWJlck9m IEFsYmVydA== CWxvbmc= ODAx LC4= IHplcm9z ZmFkZQ== IFR5cA== IFRlcm0= IEFydHM= LkFwcGxpY2F0aW9u IGJlaGFsZg== 5oi3 IG1lcmU= KGAkew== IGF3YXJlbmVzcw== ZWxwZXJz ZmxpeA== IHdlaWdo IGVzdGltYXRlcw== LmNoaWxk L08= IEJpdG1hcA== LmJvdHRvbQ== ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq RXhwZWN0 ZW50bw== IEZvcnVt dmVyYWw= IGphaWw= IGFiaWxpdGllcw== IEhPTEQ= IENpdA== IGR5bmFt IGdyYXk= CQkJCQkJCQkJCQkJCQ== Lm5leHRJbnQ= YW50bHk= IEFSSVNJTkc= KHByaXZhdGU= IHJlamVjdGVk IE5pYw== IGxlYXRoZXI= PXsK YWx5dGljcw== dGhldGlj LlRvcA== Mzcz LlBhZ2U= PXtg IDsNCg== ZGVwdGg= bWFubg== V0Q= IFNvbQ== LlJpZ2h0 ICl9Cg== IHRyYWl0 w5c= aWFj IHJ2 U2FtcGxl LlhtbA== b3BwZWQ= INGE bGlzdHM= IHRlYXI= aXZlcnNhcnk= LmNvbGxlY3Rpb24= IENvbnN0aXR1dGlvbg== IEh0dHBSZXNwb25zZQ== IGJyaWxs IFByb20= aG92ZXI= MzY2 IE1pYW1p IGFyZ3Vl X2Zsb2F0 NTA0 IOOC IG5hdA== IFRhbA== IGludGVncmF0aW9u KGN1cg== IHJlbW92aW5n IGNvZWZm IFRob3VnaA== IGZvcmVjYXN0 NDA4 IFZlZ2Fz U2l0ZQ== MzQ2 IHRyYWI= IEhlbnJ5 LWk= IGludm9sdmVz QlQ= IHNsbw== SW52b2tl IGx1Y2t5 MDI1 cmF0 ID8K IGhhbmRsZWQ= KGZk Y29udGVudHM= IE9GRg== UkY= IHN0eQ== IE1vdG9y dGVyeQ== dGF4 TUFQ IE1ycw== IHBob25lcw== IFVJVmlldw== IikpKTsK KGRldg== IElyaXNo MDE5 IHdz REk= X09GRlNFVA== IEV2ZW50cw== IHN0YWdlcw== IH0vLw== IGhhYmVu U1RBTkNF IFNpbg== IE1vbmV5 KHRvcA== IGFwcG9pbnRtZW50 VkVSU0lPTg== bWV0YWRhdGE= X2NvbW1lbnQ= IGNvbGxlYWd1ZXM= bWFwcw== 4pg= CgkK KGFs X3JlcQ== IGZ1dA== IGFyY2hpdGVjdHVyZQ== MzUx IFdIRVRIRVI= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== X3NjcmVlbg== IHN0eWxlVXJscw== IG1vbnN0ZXI= LnVw cGhpYQ== IHByb2Nlc3Nvcg== IFRlcnI= PScs IE1hbnVmYWN0 IE5U a2Vs aWJlcm4= CWZpbGU= QWxp cmllbnRhdGlvbg== IC8vIQ== YXBvcmU= YW5lb3Vz IENyZWF0 Zm9sZGVy NDE1 IGhheQ== U3VwcHJlc3M= KGxlZnQ= IGV1cm8= IGRpc2NsYWltZXI= dXN0cnk= c2hpcHM= X2Zk IEZh X2luc2VydA== IHJvbA== aWZ0aW5n IENvbW1lbnRz X2Jy IGxvc3Nlcw== IEFkZGVk Y2hhcmc= INC/0L4= X3N5c3RlbQ== IFNvbWV0aW1lcw== IFNwYWlu KGdyb3Vw aWFsaXM= IGRvbGxhcg== IEFyZ3M= NDk5 Mjk3 cXVpcmVz IFRlbg== LnNjc3M= IHN1cnZpdmU= dXNhZ2U= IGp1bg== aW1pdGVy 77yBCgo= IGZpZnRo dG9nZ2xl IGRlY2xpbmU= KCQi KExvbmc= aW5nZQ== IHBpbG90 LWxpZ2h0 LXJhZGl1cw== IHBvZGNhc3Q= IG5hdHVyYWxseQ== UGFnZXM= 5Li6 IERlc3BpdGU= IGxpZ2h0aW5n IGNyYXRl IEJpbmFyeQ== IHJlZHVjaW5n IGVsZWc= IE1vdXNl IFRlc3RCZWQ= IGJlZm9yZUVhY2g= X0FSUkFZ UmVkaXJlY3Q= MzI5 IGZsb29k IHNoaXBz MzYz IGVsZWN0cmljaXR5 KSoo 6rg= IFZpZXQ= aGVybw== IGRpYQ== IEtlbnQ= aGVhcnQ= IHRocmVhdHM= X2FjYw== IHN5bWJvbHM= aXNjaGVu X2luc3Q= Q3JpdGVyaW9u IFRJTQ== LkhlaWdodA== NTgw IOKAmQ== KCk7CgoK UHJvZHVjdHM= X1NQ IEN5 IGRlcGVuZGVudA== ZXN0ZQ== IGRhdG9z ZGl0 0LDQsg== SUdOQUw= IGxlc3Nvbg== Ij4n IENvdmVy IEhvcGU= IFRpbWVy IGRhZA== dmlkZXJz IFBob3Q= Lz8= cm9weQ== b21pbmc= YXNpb24= IFwo IEVU IFJlYWRpbmc= IGVwaXNvZGVz bG0= NDIx ZWNoYQ== IG5ldXJv ODIw IGhhcm1vbg== IGxpYmVyYWw= LWluZA== Mzkz REFUQQ== IGV2ZXJ5ZGF5 IGRpdmlkZWQ= IEFjdGl2ZVJlY29yZA== ZmlndXJl VUE= 5Lk= cmllbmRseQ== dGVjaA== NjAx LmdhbWVPYmplY3Q= 0LjRgtGM Mzc0 IG1vb24= ZnRpbWU= IG5vY2g= IFRPUlQ= IFZN LmluaXRpYWw= KGNoaWxk IG11c2ljYWw= IG9j YmFz IEhheQ== MzYx X2xvbmc= IG1lbXNldA== aWxleQ== YWRlbHBoaWE= U1Y= cm9hdA== X3R4 IGxvbg== IG5nT25Jbml0 YnA= IEdvbGRlbg== QUNIRQ== IHdvcnJpZWQ= YXpp RWFy VGFrZQ== KGZw YnVyZ2g= X0RhdGE= Z3Jlcw== IE9udA== cHVz IHRyYW5zcGFyZW50 IHBvY2tldA== IHJhbQ== aWdyYXRpb25z Lg0KDQo= IFso IGFkb3B0ZWQ= IHJlcG9ydGVkbHk= IERyZWFt IH0pKTsK bG9zaW5n IHRlZXRo IEJvb2tz Iiwm ZW5ueQ== TEVNRU5U IGdlbA== IFBsYW50 NDM3 IeKAnQ== Lmhvc3Q= IFJlcGx5 Mzc2 cmVuZ3Ro IHJlY29nbml0aW9u IH19Pgo= TEE= IG1pcnJvcg== IGFzc2lzdGFudA== KGRldmljZQ== IHNwaXJpdHVhbA== YnVpbGRlcg== wqc= IG91dHI= IHR0 IFBFUg== IHJhZGljYWw= TWV0aG9kcw== IHBhY2U= dWR5 IGd1dA== IEdyZWVr IG5vbmF0b21pYw== IFBhcGVy X0dQSU8= IG9ic3Q= LkFk dmlyb25tZW50cw== IFNvdg== MzU2 KGNvbg== IFRyYW5zYWN0aW9u LmFzc2lnbg== CWNhdGNo ZWx0ZXI= IGJpdGNvaW4= X0dS IDw/PQ== X2xhbmc= 7J2E QnJvd3Nlcg== IGNvbnNpZGVyYXRpb24= IEV4ZWN1dGl2ZQ== 6Ze0 O1w= IEpTT05PYmplY3Q= IEJlbGw= IHNwb2tlc21hbg== fn5+fn5+fn4= b2NrZXk= IEdybw== IEF3 Q29uc3RyYWludA== IFByYWN0 IEV2ZXI= cHJpbQ== OnsK X2lt UE4= TWlsbGlz VU1FTlQ= IGJhZ3M= w6Vy QU5ORUw= MzU0 IGlj IHRyYW5zcG9ydGF0aW9u IFNhdWRp aGFuZGxlcg== RHJhZw== IGhk Y29sbGFwc2U= X1BI IHVi QVJN IEFQUA== IHRvbmlnaHQ= IGRpbmluZw== UmVjb2du IGJj aWd0 KG51bWJlcg== Qm9vdA== IGVsc2V3aGVyZQ== IGFycm93 YXJnYQ== IGRlbGljaW91cw== IFNO V1I= VmFsaWRhdGU= IFF1YWxpdHk= KGVtYWls IGludGVycHJl aWdhdGlvbg== IGNob2NvbGF0ZQ== NTI1 X2VkZ2U= IHN0b3Bz OmZ1bmN0aW9u KXw= IHRoYWk= IExvYWRpbmc= U3Rvcnk= VHJpZ2dlcg== YnJhbmNo IHRk ZW50aWNhdGVk IGFkdmVudHVyZQ== IGJsb2NrY2hhaW4= RXZlbnRIYW5kbGVy IHNxcnQ= LlBy TG5n QmVjYXVzZQ== IHZpdg== IG9jZWFu eWx2YW5pYQ== 0LDRgQ== IFV0aWxz IGRlc3Blcg== IGRlZmVy CXJlcXVpcmU= aGw= UmVxdWlyZQ== XVw= IGRpcmVjdGlvbnM= X3Jlc291cmNl IHN1YnNjcmliZQ== IMO6 IEhlYXJ0 ZXN0cw== LXN1Yg== IFJo Zm9yRWFjaA== IGRlbGlnaHQ= IHRlcnJpdG9yeQ== LmNvbmN1cnJlbnQ= ICgr anBn IHByZXBhcmF0aW9u IHJvdW5kZWQ= Q29tbQ== LkxlZnQ= IG9waW5pb25z IE5hdmlnYXRpb24= KGZpcnN0 Iiwk IGhpcmU= IGRldGVjdGlvbg== LmdldEVsZW1lbnRz IGVwcw== IHNrbGVhcm4= IGN6 IC8+DQo= bWV0aWM= IHRyYW5zZm9ybWF0aW9u 5Y+3 IHJnYg== aXN0cmlidXRpb25z IGltcGxpY2l0 L2lu ZGVzdGluYXRpb24= 0LDRgtGM WmVybw== IHVuc2V0 OTIw LndoZXJl Lmdv IGZvcm1hdGlvbg== IGRlY2xhcmF0aW9u KCkNCg0K IEV4cGw= CQkJICA= L3Bybw== LkpTT04= NDQx IGRlc2s= LnN1YnN0cg== Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t bHlu cHNvbg== NDA3 ZGlzYWJsZQ== IEZ1bmM= CUFzc2VydA== IE1BUks= IGRlZmVhdA== IGJsaW5k IGNvbnN0YW50cw== MzYy LmhlYWRlcnM= VUlMRA== IGV4cGVuc2Vz UGl4ZWw= IGhy IGZlbA== IEVhc3Rlcm4= NDI0 NDkw X2RlbA== MzU3 IEN1Yg== IHNx CWNvdW50 IERpcmVjdG9yeQ== IGV4Y2x1cw== IGhpc3Rvcmlj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ== IGNvbXBvc2l0aW9u IGRhdGFHcmlkVmlldw== IEJ1cm4= IEJD TWFzdGVy IHNwYXdu IGJlYXJpbmc= LlNldEFjdGl2ZQ== aWxv IGdhbGxlcnk= IGZvdW5kZWQ= IGF2YWlsYWJpbGl0eQ== LnNxcnQ= IHBlcw== IERPTQ== bWF0ZQ== T2N0 IG1hdGNoZWQ= aXRpdml0eQ== IGFueGlldHk= LnByaWNl IEluc3RhbnQ= 7Io= IHR1dA== SUNvbGxlY3Rpb24= LnNoYXJlZA== X3NxbA== dGJs bGlicmFyeQ== X2Rlc3Ryb3k= ZXJtYWw= IE5vdGVz IEVpbg== IHNvdXRoZXJu IE9USEVSV0lTRQ== IG1hY3Jv Lmxvd2Vy Y2xz Q29udGVudFZpZXc= Lmxpbms= Y29uc3RhbnQ= IEJlcw== IHNvbWVib2R5 bmI= Mzk5 Ij57 KGxvY2Fs Li4uLi4= IE51bGw= bXg= IMOn IHBhdXNl LS0tLS0tLS0tLS0= X01P IENN IGZvcktleQ== IERWRA== IGNsb3Nlc3Q= X0RFVklDRQ== IFN0ZXBoZW4= IEJCQw== IFRyYXZlbA== UGFpbnQ= IFJlc3VsdHM= IFJ1bGU= IHRw IHJhdGluZ3M= Y2lu Y3N2 Pi8= IEdPUA== bGFk INGA IGluZGV4UGF0aA== bWF0cml4 PWY= YXJzZWQ= IH0pOw== IENvcw== IFNjb3Jl IHRhaw== IEVTUA== IElOQw== X05VTEw= LWZsZXg= Il1b aW50bw== ZWxhbmQ= QXV0aG9yaXphdGlvbg== X0ZBTFNF IGdhdGU= IHZpZA== aXN0ZW50 VElNRQ== IHJld3JpdGU= IHRpZQ== IGFyY2hpdmU= NTEx LmV2ZW50cw== LmdldFBhcmFtZXRlcg== IFBlcm1pc3Npb24= IHByb2dyYW1tZQ== IOk= anVk IGNhbWVyYXM= MzM4 MzQ5 KHN5cw== IFN5cmlhbg== IGltcHJvdmVtZW50cw== IGhpcA== IHN1aWNpZGU= IHNjaG9sYXI= IGNvbXBhdGlibGU= MDIy cmVtb3Rl LmRvd24= RlVOQ1RJT04= IG1hbmFnaW5n IFVJS2l0 LnJhdw== Pj4+Pg== Mzcx IGRlbWFuZHM= ZWxsaXRl IGRlbnQ= IE1pY3Jv 5Y+W J11bJA== IElF aW1lbnNpb24= IHRyZW0= NjMw IGdhaW5lZA== LndpdGg= Lm9r aG91 IGJvbQ== YW1wYWlnbg== IGpvaW5pbmc= ZmlzaA== IGFkZFN1YnZpZXc= ODYw IG5vcnRoZXJu LmNvcg== b3JldA== RGll aW5pc2g= X2NvbXA= IGF0dGVuZGVk IGNvbGxhcHNl IFNT YWNlbnQ= X0VRVUFM IERlZXA= UkdC CXRlc3Q= b2x2ZXM= dXNldA== VW5pdHlFbmdpbmU= d3JpdGVy UmVzb2x2ZXI= LCU= aWZmZXJlbmNl X3JlbW92ZQ== b25kYQ== IGZlbW1l Mzg1 ZGVjb2Rl QnJhbmNo IGZsdXNo IGlubm92YXRpdmU= VGVzdHM= IFsnLi8= IGNvdmVyaW5n LmFkbWlu dWx0aXBhcnQ= KGxhbWJkYQ== 77u/bmFtZXNwYWNl IFNwb3J0 ICEo YWNsZXM= IGRlcHJlc3Npb24= IEtvbmc= NTcw IHBlcnQ= IENvbm4= IE90aGVyd2lzZQ== L2hvbWU= c3VwcG9ydGVk IHBpbms= IGludml0ZWQ= w7Fvcw== X2VuYWJsZWQ= IC0K Rlc= ZW5lcnM= IE1Z IHN1Z2dlc3Rpb25z Q2FudmFz IGZlcg== IE1hcmtldGluZw== QFRlc3Q= dW50dQ== IFZlbg== IENvdQ== aXZhbHM= RG9uYWxk bGltaXRlZA== CQkJCQkJCg== IGFuYWx5c3Q= KGVudHJ5 IHJlcHJlc2VudGF0aXZl X2F0dHJpYnV0ZXM= IGZ1cg== LmhpZGU= cmVzcA== YWRvcmVz cmlkZXM= IEpvc2g= cm9ib3Q= IE5BVA== IHNlc3Nv IGludGVncmF0ZWQ= OnRydWU= cGFydHM= IHN0dXBpZA== OmV2ZW50 QGVuZHNlY3Rpb24= IHB1 LlRhYmxl IFlpaQ== YDsKCg== IGNsYW5n PSIiPg== ZW5nYW4= X3BhcmFtZXRlcnM= LmludGVybmFs IE1vZGVybg== IG1ldHJpYw== IHNlbWk= PXt7Cg== NzA3 LmFtYXpvbg== IEJC YWludHk= dmlld3BvcnQ= MzY3 IHN0YXJ0QWN0aXZpdHk= ZGlzcGF0Y2g= KioqKio= IGZsYXY= aWZmZXJlbnQ= Mzgy W3RoaXM= IHN0YWtl IGFyZ3VlZA== dmlvdXNseQ== Lndvcms= IE9haw== T2xk KGFzeW5j bm90ZXM= IGZsaXA= IGRpc2Fn IFRF CWVycm9y PCc= IMK7Cgo= IGZpbHRlcmVk IE1hY2g= IGh1bmc= X2R1bXA= X3NhbXBsZXM= LWRpc21pc3M= IHJheQ== SW1wbGVtZW50ZWQ= REs= IGplZA== MDkw IGJyZWFrcw== IGZpdHM= Lmdy IFplcm8= b3Jv IGVxdWFsbHk= ICdb IGNvbmNlcm5pbmc= PG1ldGE= cGxheWVycw== X1BPUw== X3NpbQ== SmFu IHlvdXJz CU4= IHNwaXI= IGNoYW1waW9u IEFuYWx5c2lz YXBh IE5TTG9n X2xpbmVz w7Fh CQkgICAgICAg ODE5 LlNj UmVw ZXRyb2l0 dXJhYmxl TUlU Y29tcGF0 b3duZWQ= X2luZGljZXM= XSwNCg== IGRpc2NvdmVyeQ== IERpZWdv b2Jp LkluZGV4 IHRyZW5kcw== UExBWQ== Lm5v IGxlbnM= X2NmZw== IGFubm8= YWdhbg== IHBlcmlvZHM= dGVybXM= eXo= IGF0dGFja2Vk aWJyYXRpb24= UEVDSUFM X2dyYWQ= IGFjY29yZGFuY2U= LlJlYWRMaW5l LmRldmljZQ== cml4 LmNvbnRhaW5lcg== bWF5 ZXJjaXNl IEx1 IHJn INGB0YI= CQkKCQkK KHVu VEVSTkFM IGxlc3NvbnM= IGFsbGVnYXRpb25z IHRyYW5zbWlzc2lvbg== LlJlZg== TW9iaWxl IFRvdXJuYW1lbnQ= IE51dA== IEdh IENhcGl0YWw= ZGVmaW5pdGlvbg== LWV4cA== Y2xlYW4= IGZhbnRhc3k= IGVuaGFuY2U= ZW50ZW5jZQ== MDMx J106Cg== YWNrZXRz IGNlbGVicmF0ZQ== QCIs U2VyaWFsaXplRmllbGQ= IGFycmF5cw== dGI= CXN0 W2Fzc2VtYmx5 KHJlZw== LmNhdGVnb3J5 IGltcHJvdmluZw== IHNhbG9wZQ== Qnl0ZUFycmF5 T3JpZ2luYWw= IFt7Cg== 5Zue IENsaW4= b2VuaXg= IFNhbXN1bmc= IG1haW50YWluZWQ= IGFnZW5kYQ== ZmFpbA== IHByZXNlbnRz IHRpbWluZw== Lm1hcms= Jz48 IHByb21vdA== IGluY2w= X29ubHk= 66W8 IEF0dG9ybmV5 LWRhdGU= IGxhbmRzY2FwZQ== IGZ1 U1k= LnByb3A= IEFycg== cGFn UGFyYWxsZWxHcm91cA== JzoNCg== IGxvZ3M= YXVuY2g= dW5jaQ== bmFtYQ== VGFibGVDZWxs aXNzdWVz Lns= ZWN1cml0eQ== X2V4ZWM= b2xkcw== IGhvc3Rz IHByb3Rv X2ltcG9ydA== X3NvcnQ= IEJvdw== IE5vcm1hbA== IEZhcm0= LmNyZWF0ZVBhcmFsbGVsR3JvdXA= Um90YXRpb24= LmVycg== IHBsZWFzZWQ= aXRhZ2U= Lldo CQkgICAg TVI= IE1PUkU= IE5hdHVyYWw= X3RyYW5zZm9ybQ== QkFTRQ== ZW5lcmFs dXRkb3du LmNvbW1vbnM= V1Q= IGFhbg== LlJlc3VsdA== ZG9n IGNsaWNraW5n KSwKCg== I2xpbmU= T3BlcmF0b3I= IGNpdg== IG1lcmc= b2J1Zg== bmd0aGVu IFt7 IGNhbmNlbGw= dHJpZ2dlcg== Ljo= V09SSw== ZGVjbGFyZQ== IGRlY3JlYXNl xZtjaQ== bG9vbQ== Lk5vbmU= IE1J IEphc29u IGhlYWx0aGNhcmU= aWFtb25k c3lsdmFuaWE= Kng= IFJh W2I= IHByaW50aW5n cGhhYmV0 IExhYm91cg== b3BwZXI= IHppam4= LXRhcmdldA== X0ZVTkNUSU9O IG9jdA== 0LXQvdC40Y8= 5Zyo IHdlc3Rlcm4= IGNvbXB1dGVycw== IFJFVA== SGFzaE1hcA== W1N0cmluZw== Z2V0VmFsdWU= X0RBVEU= Lk5leHQ= IEZpZg== w6ls aWNrZWQ= 5o4= LU1N IHsKCgo= IGNvbnRhY3Rz IGRpZ2l0cw== UHJvZHU= IHVudXN1YWw= IHJhcGlkbHk= dHVyZXM= IGFuZ3J5 Y2FuY2Vs eHh4eA== X3BhcnNlcg== aWRpdHk= X1BSRUZJWA== NzEw IG1laHI= IHJhcmVseQ== ZXRoZQ== b3Blcw== ICUu d29ya3M= IHRoZXRh IGNvbnRyaWJ1dGlvbg== IFRvbnk= IHNxdWFk NTM3 0LDQuQ== IMOubg== dGhlcmU= b3V0ZWQ= CXE= mYI= Z29vZA== TEk= 6aG1 IExpdmluZw== aXphYmV0aA== IGt0 IERhbGxhcw== XV0sCg== IC8+Cgo= IHJhaXNpbmc= L3JvdXRlcg== X2dhbWU= MzY4 IENVUg== emVucw== LmVz IGZvbnRXZWlnaHQ= KGZ1bmM= bm90aWZpY2F0aW9u ICcuLi8uLi8uLi8= IGJsYW1l 44CCCgoKCg== YW5jbw== OTgw SWRlbnRpdHk= Zm9sbG93 IGFydHM= eHM= IG9mZmljaWFsbHk= IFN0dWRpbw== IHJlY29tbWVuZGF0aW9ucw== IGxvY2FsZQ== IGFtYXRldXI= IEVuYWJsZQ== IGNhcHM= LkVuZA== Mzg4 LWFkZA== X2dzaGFyZWQ= IENU Rm9yY2U= CiAgICAgICAgICAgIAo= IG9yYW5nZQ== IGxw IGFuc3dlcmVk LkdyaWQ= IGR1YWw= IHN0cmF0ZWdpYw== IG5vYm9keQ== IGZhdGFs X2VzdA== KGVs IOyg IEJ1ZGQ= QUlU X2ZhY3Rvcg== LW9uZQ== IEhBVkU= Ig0KDQo= NzYw UHJvZg== IMOkcg== c3RyaW5ncw== IGRpcnR5 IEZhY2U= IEJlZ2lu IEJ1cw== IHdpcw== 5a2X IHNwZWFrZXI= IGNhcnJpZXI= IE9t IGhhZG4= QWxsb3c= OjpfXw== IHZlcmI= IENvbXBsZXRl IEVhc3k= IGJpbGxz ICAKCg== VmVydGljYWw= IHByb24= IERlZmluZQ== IGxvb2t1cA== dmFyaWFibGVz IHBhbmRhcw== dW1lcw== IGlubm9j IHNldFVw IENoYW1waW9uc2hpcA== YXJ0aXN0 IENUeXBl Rm91bmRhdGlvbg== 4LmI IFNldHVw NDI4 IHJlY2lwZXM= IFVJQ29sb3I= IEZpZ2h0 IGF1dGhvcml6ZWQ= X2NsaWNr OTkw X3N1Y2Nlc3M= YW5nYW4= IE1vdW50YWlu IERvY3Rvcg== IGVnZw== IE1lZGljaW5l Y2xlcw== YC4K W2ludA== ZGFzaGJvYXJk IEFwcHJv LWRy IHByb2R1Y2Vz IHJlbnRhbA== IHJlbG9hZA== Mzgx IGFycml2YWw= c3BvdA== IHVuZGVydA== Mzc4 IGVxdWlwcGVk IHByb3ZlZA== IGNlbnRlcnM= IGRlZmluZXM= YWxzbw== IG9wYWNpdHk= IFVuZm9ydHVuYXRlbHk= IElsbGlub2lz INC90LU= IFRlbXBsZQ== IFRyYWls IEtlbGx5 IG1lYXN1cmVtZW50 IHNlcGFyYXRlZA== LWNpcmNsZQ== SGV5 IFJFQUQ= aWdpdHM= IGli IE1PRA== YXR0ZXJ5 0LDQtw== IHZlbmQ= 0LXQvdGC IEh0dHBDbGllbnQ= MzU5 c2FmZQ== X0FTUw== aWNpdA== IENvbnN0cnVjdA== IENsbw== IFNpeA== X1RPS0VO KGJsb2Nr IHdhcm5lZA== Lyoh ITwv YWNhZGVz IG1hcmc= ZXJhc2U= IGRpc3BsYXlz aXN0cmF0b3I= Z2V0cw== IGd0aw== X0dFTkVS bmVk XyU= IGZhdm91cml0ZQ== IEJydQ== IMOh c2Vjb25kYXJ5 IG1hc3Q= IHNvcGg= IFNhZmV0eQ== aGFyZA== MDYy cmFpc2U= IEV4Y2hhbmdl IGNvbnRlbXBvcmFyeQ== IGRyZWFtcw== IHRlbA== IG5laWdoYm9ycw== IEhvbHk= Mzgz Lm1lYW4= ODEw ZW1pdA== IE1lc3M= Q2FzdA== TkVDVA== cGx1Z2lucw== IHJi d3I= IGh1Yg== IFN0dWRpZXM= NTYy IHBvc3Nlc3Npb24= JCgnLg== ZW5zaXRpdmU= IGFkZENyaXRlcmlvbg== X18u IGV4cGVydGlzZQ== QXJjaA== IGN1Yg== ZXJ2ZXJz IHBhcnRpY2xlcw== dWFy IGJvdW5kYXJ5 KScs YWpv IHByZWY= OmA= IGhhcmFzcw== aXU= IHJlYWNoaW5n IG1lZw== IHpv KElE X3JlcXVpcmVk IHPDqQ== IFF1ZXVl QU8= IGdlbQ== ODEy cHRvbg== ODgw ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg NjYw aWpr KHsNCg== IGNvbGxpc2lvbg== IFVrcmFpbmU= IC0qLQo= TlNJbnRlZ2Vy X0JMT0NL NTY3 IFRleHR1cmU= IGRlY2xpbmVk bmFu X3dhaXQ= IHBvbGl0aWNpYW5z NDEz IGNvaW5z IGRlcml2 aGVscGVy IFBlcmhhcHM= LnJlY3Q= IFBvbHk= YWJsaW5n fS8+Cg== IGlubm92YXRpb24= XyI= ICk7DQoNCg== IHNwb3Rz IGNob29zaW5n LmNz IGZsZXhpYmxl VUludA== NDM1 OTMw IHNjcmF0Y2g= LWFs IGZlc3RpdmFs IG91dHN0YW5kaW5n PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 TWVhbg== IE9yZWdvbg== c3ltYm9s LmFjY291bnQ= ZG5leQ== Jycn ISIs OTAx IHBhcnRpY2xl w4M= W01BWA== SVZFUg== RVJFTkNF TlNNdXRhYmxl IENvbHVtYmlh XwoK LmZy IGNvZ24= VlI= IE1ldGhvZHM= IE1hZGU= IEJS IEVsc2U= IGVnZ3M= IHN3aW5n IEludg== IGRpc2Vhc2Vz IGZpcm1z IGxlbW1h fWApOwo= bGluZ3M= IGd5bQ== dW1pbnVt LlRyaW0= TWVt IGNyaXRpY2lzbQ== aWJlcm5hdGU= X1RY aW9uaQ== IGd1aWRhbmNl IHJlcGVhdGVkbHk= IHN1cHBsaWVy IHBhaW50aW5n ODY0 LkZyYWdtZW50 ZWRFeGNlcHRpb24= IHdpcmluZw== IGNvdXJ0cw== V0VC 5pyJ XC4= aWxsYW5jZQ== IGJyb3dz IFBhdHRlcm4= UExJQ0FUSU9O IFN1bW1lcg== Q2hhaW4= IGN1dGU= bWVyY2lhbA== IGRpbA== IEZyYW5rbGlu CWdsb2JhbA== SU5DTFVESU5H aGlzdG9yeQ== IGxzdA== UXQ= U0RM YWxpYQ== aWVyZQ== KC4uLg== CWNpbg== aWZmcw== dmVsb3Bl IFJvb3Q= Y2x1c3Rlcg== VXNlck5hbWU= aWduZQ== PFM= IGZlc3Q= NDE5 IGluZGljYXRpbmc= a2VlcGVy IGNhZGE= w6ln Y29uc2lu IEdC IGxi ZW1vbnk= LWljb25z X2RvYw== QWN0b3I= ZWxlbQ== LkRlbGV0ZQ== IGluZmVjdGlvbg== IFByaXZhY3k= IGdyZWF0bHk= IFBvcw== IFRyZWF0 Rmxvdw== IGF0dHJhY3RpdmU= IE1hcmM= c3Vkbw== dGVzeQ== LWFu OTk4 YWJhbWE= IFdvdWxk IHN1Y2s= aW5kZXhQYXRo IEV0 VGltZXM= Nzgw IGNsdWJz X2Fzc29j IGFjcXVpcmVk KCI6 IGludGVuc2U= Lm1hcHM= RXhwZWN0ZWQ= VG9nZ2xl IGF5 IGxpZmVzdHlsZQ== LWNhbGxlZA== IFNub3c= Vm9sdW1l IGNhbm5hYmlz IERpcmVjdGlvbg== IExpbWl0ZWQ= LXNwZWNpZmlj IGRvd250b3du L2ljb25z IHJldmVu TGVn ODg1 PW51bGw= NDk2 S2V5Ym9hcmQ= JykpLg== ICIiOw0K IGF0dGl0dWRl Lm5hdmlnYXRl LWVycm9y QU1QTEU= IEpheQ== dnI= Y293 LmNvbXBpbGU= IG1lbW9yaWVz X21hcms= IE1pbm5lc290YQ== IGtvc3Rlbg== IHByb2JhYmlsaXR5 d2FybmluZw== IGdlbmV0aWM= Rml4dHVyZQ== IEhhc2hTZXQ= Tm9tYnJl X21vbnRo xrA= LXN0YXJ0 eHlnZW4= CWZ0 aWFnbm9zdGljcw== IE1hdHRoZXc= IGNvbmNlcHRz IGNvbnN0cg== LlN0YXRl 0LjQvQ== Tm92 zrE= IFBhbmVs 5Liq Y29tcGFyZQ== PigpCg== IGFwcGx5aW5n IHByb21pc2Vk IG94 bmNpYQ== IFZhbGlkYXRpb24= b3J0cw== X2N1cg== ZWxlY3Q= ZXll KERhdGE= IHJlcG9ydGVy IEJ1ZmY= Mzk1 IHNy ICI7 aWNreQ== IHRlbXBvcg== U04= IHJlc2lkZW50 cGlyZXM= eXNpY2Fs IGVuZG9yc2U= IFNvbmc= aXNFbXB0eQ== bGVldA== X3V0aWw= IGRpc3Rpbmd1 IFRhbGs= IE1vdA== KGRlZmF1bHQ= LkFyZw== Z29yaXRobXM= X3dvcmRz aW1tZXI= X3Jlc2V0 ZmFtaWx5 V1c= IHNhdmluZ3M= IOKAnQ== X2VuYWJsZQ== c2lkZWJhcg== UnVubmluZw== IGFsaQ== IHRlc3RpbQ== IHdhcm5pbmdz IENoZW0= IEV4aXQ= IGZvdW5kZXI= cGVjdG9y IHJt X2RhdGFzZXQ= IERhcw== IGhhbg== R2V0dHk= w6Fs IG55 IHBvdmVydHk= IHJlc3VsdGVk LmJ5 IFZpc2l0 IG9idGFpbmluZw== LycuJA== ICAgICAgICAgICAK c2hhbGw= X0xFRlQ= VUlJbWFnZQ== X05hbWU= aGF2ZQ== IE5vYg== bHI= LWZvb3Rlcg== IG5ha2Vk IEdhcmRlbg== XEZhY2FkZXM= IGdyYWR1YXRl NDE3 IGZyYW5jaGlzZQ== cGxhbmU= IGNvbnRyaWJ1dGlvbnM= IHN0cmluZ1dpdGg= IGNyeXB0bw== IG1vdmVtZW50cw== YXRoZXJz IGxpZmV0aW1l IGNvbW11bmljYXRl amFy IEZyYWdtZW50 X0lG IE5hdnk= IEZpZ3VyZQ== IHNpbXVsYXRpb24= X3N0b3A= IHJlcG9ydGVycw== IHZlcnN1cw== YWph IM6x IGdvdmVybm9y TGlzdEl0ZW0= IHNlYWxlZA== LkJhY2tncm91bmQ= ZWRp YXNoaW5n IGxpcA== IElo bWVyZ2U= IG5lYw== MDI0 ZWxvY2l0eQ== QVRFRw== IHNlZWRz IGZsb2F0aW5n NzAx X0ZB d2Fsaw== CXVzZXI= X2RlcHRo IHdhZ2U= QGFwcA== Tmls KFsi KHZlY3Rvcg== IHNlY3JldGFyeQ== NDYx IGpQYW5lbA== dmV6 wqDCoMKgwqA= ZGlyZWN0aW9u IEVQ IGh1bnQ= Mzk2 SnNvblByb3BlcnR5 IFBPUlQ= XSIs 0LDQvw== IEZvcmVpZ24= cGFuaWM= IHRyaWFscw== IEFsZQ== IHJ1cmFs LXZhbHVl YXV0aG9yaXplZA== IFNjb3RsYW5k LmRyb3A= IE1U 57E= Mzkx cm93dGg= NTE1 RmlsZVBhdGg= IHJlY2FsbA== aWZsZQ== IGNlbA== IFNFTEVDVA== a24= X2Nhc2U= IGNyb3A= NTQz c3VyZQ== cG90 SUNT IHN0ZW0= IGluZHVzdHJpZXM= UHV0 IGFiZXI= cm9hZGNhc3Q= SWNvbnM= KSIpCg== 5oiQ5Yqf Z3Vp IGFzc3VtZWQ= IHJ4 RUE= 6Kc= RUxM IGRvc2U= IGluZQ== IGRlZXBlcg== bGlkZXI= IG9yZGluYXJ5 IGdvbGY= NjA1 X0lNQUdF IE5BTUU= KG1vZHVsZQ== IGF0b20= IGJlbHQ= IG9mZmljZXM= NTA2 YmV0YQ== IHBoaWxvc29waHk= KEpTT04= LWZpZWxk IGludHJvZHVjZQ== IGNvbnZlbmllbmNl b3B0aW0= PiIK YXRoeQ== IGVtcGxveWVy cXVhdGU= IGVkaXRlZA== QXJndW1lbnRz IE5hdGlvbnM= X18p IG5vc2U= IFNhbXBsZQ== JykKCgo= IGNha2U= LmdldEF0dHJpYnV0ZQ== SEQ= Mzky TW9kaWZpZWQ= NDQ1 IHByZWRpY3RlZA== xYQ= YW5pZQ== U29ycnk= KGRvYw== d2luZA== aWV2ZQ== IHByb3Zpc2lvbnM= QVRFUg== T1RF TVk= LkF1dG93aXJlZA== IEJhdGg= NDIz LkJvb2xlYW4= IGJhY2tlbmQ= Lk1vdXNl YXRlcmFs cGFwZXI= Q29uc3Q= IFZS X2VudGl0eQ== X0NUUkw= IFByb3RlY3Rpb24= IEdN IFN0dWR5 IHNvdXA= b3RpbWU= J3VzZQ== XSI= L3VzZXJz YXVn IEhvbmc= X25vcm0= 44Go IHNlY3Jl KEJ1aWxk IENvbnRyYWN0 b2xhcw== IHNhdWNl IGFnZ3Jlc3NpdmU= IHJhY2lhbA== Y2hhcmFjdGVy QEA= IGNvbXBpbGU= IFZvaWQ= X3JlbQ== X21lbW9yeQ== MzQ4 a2s= IG1pYw== U2FtZQ== VXRpbGl0eQ== IEh0bWw= IFhtbA== UmVhZHk= IGdhbGw= IGFsbGVnZWRseQ== CQkJCSAgIA== IE1ldGFs IFBlcnNvbmFs IGJvcmRlclJhZGl1cw== cnhqcw== b2JqZWN0cw== IHdhbnRpbmc= IGJvd2w= dmVuZG9y b2Zmc2V0b2Y= IFJz IFJhdGluZw== IHJhbGx5 X05PREU= NDE4 IE1peA== IGFkdmVydGlz NDg1 NjY3 IG5hcnJhdGl2ZQ== c2Fs IG1j U0Vycm9y IGZpbmdlcnM= IGFjY29tcGFueQ== IHRpcmVk IHN0cmlkZQ== IGd1aQ== ZWxpc3Q= TG9jYWxl IHJlbGVhc2Vz aWtpbmc= IGFuZ2Vy KSkpCgo= YWxsZXN0 U3VtbWFyeQ== KE8= KGZvcg== IGJhc2tldGJhbGw= IHJvYWRz IEluc3RhbGw= IEZhYg== aXRtYXA= NDc1 ICkpCg== IGludGVyc2VjdGlvbg== aWdoYm9y IEJyeQ== IEhFUkU= U29mdHdhcmU= ZWxmYXJl YWNz NjIy IHRyYWlsZXI= LmdldENsYXNz Y2hhcnM= IHJlZ3VsYXRpb24= IHJlZmVycw== IGRlc3RydWN0aW9u IGNvbnRpbnVvdXM= IEF1c3Rpbg== 6aI= YWthbg== LndpbmRvdw== IFRlbXBsYXRlcw== IGFic2VuY2U= Om4= IGRpc29yZGVy Zmxhc2g= IGRlbGV0 Ym9hcmRz ICAJ Uk9Q ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== IGFjcXU= IGxhd3N1aXQ= IFJldmlld3M= IGdhcmFnZQ== dGltZXI= IGVq IFJlY3RhbmdsZQ== IGZsb3dlcnM= Mzk4 aWxzdA== IEluc3RhbmNl U3VwZXI= ZGV0 ZGlzcG9zaW5n IEVT IElD dmVyZQ== U2s= X2NoYW5uZWxz cHV0ZWQ= L251bGw= bm5lbg== NDMx IEdhbGxlcnk= X2dsb2JhbA== QXV0aGVudGljYXRpb24= IFJhbms= IGJsb2NrZWQ= IGNhbG0= bWFya2V0 CXZhbA== IGF1Zw== cGVyaW9k IENvbnN0YW50 ID8+Ij4K IGxvYmJ5 cGFs Mzc5 IHNpbms= NTA4 aWFo 0KE= dXJuYW1l IGNvbnZlcg== IGludmVzdGlnYXRl Q2hyaXN0 SHVi IElORA== IFBlZA== dXJhcw== CXVybA== IFRybw== IHByZWZlcmVuY2Vz IGd1YXJhbnRlZWQ= YAoK IHBvcnRpb25z IGV2YWx1 Jz48Lw== KCl7Cgo= ZW5jb2RlZA== emlsbGE= LkNsYXNz ICpf Xyc= IHZpZXdlZA== IFBoaWxhZGVscGhpYQ== LnJvd3M= QWRkZWQ= IFRvdWNo ODQw LmRlbGVnYXRl cXVlZXpl c2xpZGU= IFNlbmlvcg== KHRhZw== IGludGVydmlld3M= IHN1YQ== YXRhcw== QAoK ZGlzdGFuY2U= IHNlaW4= bGF0ZXN0 IFByaW5jZQ== IGx1eHVyeQ== IHJlZnI= IEtpdGNoZW4= 0YQ= KGF0 RmluYWw= w7xjaw== X3plcm8= IEFCQw== IE1hbmNoZXN0ZXI= IGNvdw== Q09M X05VTUJFUg== Y2hhbmdlcw== Z2VuZXJhdGU= LlByaW50Zg== MzY5 c2hhcmU= U3RvY2s= IFBU QW5pbQ== YW5nYQ== IGln dXBsb2Fkcw== IHBhY2tlZA== IH1dOwo= KHNlbmRlcg== IFdpcmU= aXNvbnM= IHBsYXlvZmY= XEU= NjA4 L1I= IGhlYWRlZA== QWxwaGE= KG9yZGVy IG9wcG9uZW50cw== YWNrc29u X21lbWJlcg== VHVybg== IFNvdmlldA== 7JeQ YXVnZQ== NDQ4 IGluY29taW5n IGphaw== LWdhbWU= IE1hbGU= IE1vbnRo U3RhZ2U= LmV4ZQ== T3duUHJvcGVydHk= LnNldEl0ZW0= IGRj 5L2c IGJydXQ= IGF0dGVtcHRpbmc= Lmxlbg== IGp1ZGdtZW50 IHNhYg== IGNhZA== IEl0ZW1z Y29tZm9ydA== ZWxpemU= L2xvZw== IGVudHJlcHJlbmU= IGNvbXBpbGVy X3ZhbGlkYXRpb24= cmV2aWV3 IHRleHRCb3g= IGZyYWN0aW9u IEJhbA== PjsKCg== LkF1dG9TY2FsZU1vZGU= IGNhdHM= NDY1 IHJlZ2lzdHJ5 dWx1cw== Rkk= cGF5bG9hZA== LXNlYXJjaA== IHN0YXlpbmc= YWNpb3Vz RGVjb3JhdGlvbg== UmV2aWV3 SW5m S2VlcA== aXRpcw== LFN0cmluZw== Q29vcmQ= IHBlcm8= U2V4 IEF0bGFudGE= dWVzdGE= QXJnYg== Pio= fV8= Rm9vdGVy IGVtcGxveWVk X2JvdW5k dmlkZQ== LmZ1bmM= JHNjb3Bl IHNwbw== IEFuYWw= b3VuY2Vk YXJvdW5k IHJlc3RyaWN0aW9u IHNob3Bz 5YA= IExhdGlu LWNvbA== IGJhcmVseQ== IEV1cm8= RXI= IGZhaXJl X2Rpc3RhbmNl X3VubG9jaw== UXVvdGU= SVZBVEU= IOWI IGFpbWVk IFJldHJpZQ== Lml0ZXI= IHdyYXBwZWQ= IGFncmVlbWVudHM= c3RydW1lbnQ= KHByb2R1Y3Q= IHN0dWRpZWQ= LnNldFZhbHVl IHll IENhY2hl TUJPTA== IHF1YXJ0ZXJiYWNr IHN5bnRheA== LmdldEVsZW1lbnRzQnk= LnZlcnNpb24= d2Vic2l0ZQ== UnVubmVy X3NpbmdsZQ== YXRpdg== IEFsdGVybg== IEJlYXV0aWZ1bA== cmlnaHRhcnJvdw== IGRpdmVyc2l0eQ== cGxhc2g= KGNv LkZpbGw= IHR5cGluZw== Mzg3 MDIz IGNsYXI= SGl0 T08= YWNjbw== NTA3 d29ydGg= IHNjcmlwdHM= IE11c2xpbXM= IExM ZXJ2aW5n KGJvb2xlYW4= IGJhc2ViYWxs IENBTg== Mzk0 MDQ0 TUFJTA== ZGVwZW5k IHJlc3BlY3RpdmU= IGNvbnN0ZXhwcg== Lio7Cgo= J10pKQo= IHlhcmQ= IGlkZW50aWNhbA== aWZlY3ljbGU= VVNI dXBpdGVy LnZhbGlkYXRl Y2xp SVNURVI= SW5kaWNhdG9y RmFpbA== IGRlbW9jcmFjeQ== LnZhcg== IHNhdGlzZmllZA== LS0tLS0tLS0tLS0tLQ== ZW5jZXI= aG9y IHJvdW5kcw== REFP b2E= IGZsYXNr PWM= W10K L2Rpc3Q= IHBhcnRl IGNvbmZpcm1hdGlvbg== ZXJvbg== YXdhcmU= PD8+ IGRlcGVuZGVuY2llcw== IFZpZGVvcw== LXJvdw== ICoqLwo= IG5vdQ== IGhvdmVy 5p4= IG5pbg== IFVTRA== TWFj X0xvYWQ= IG91dGNvbWVz X3NvY2tldA== IHF1ZXJpZXM= d20= NTky IGhpdHRpbmc= aW51eA== TWljaA== dWRnZQ== QVRBQg== IHZ1bG5lcmFibGU= 5L4= IHBvcnRmb2xpbw== OllFUw== CW1hcA== Qm91bmQ= IGl0ZXJhdGlvbg== aW5jZXNz IGFjdG9ycw== IFF1YWw= X2NsZWFu 44CR44CQ TVNH R3JlZW4= IE9mZmljZXI= IHNtb2tpbmc= Pics IEZsbw== Kys7 NDMz b2x5Z29u IGJ1bGs= IGRyYW1h IGV4Y2VwdGlvbnM= b3NlZA== ICsNCg== IGxlZ2FjeQ== Q1Y= IGNvbnRyaWJ1dGVk IFRlcm1z IGJ0 NDM0 IHVudHVr IGFsaWVu PT09Cg== CVZlY3Rvcg== IGxz T25saW5l LmZhY2Vib29r bnVtZXJpYw== b2NrZXRz QXV0 YnVyeQ== LXJlZHV4 IFJlZGlzdHJpYnV0aW9ucw== R0xPQkFMUw== dXJyZW5jaWVz IHRvbnM= 4oCZLA== IMOq KGNvbA== IFN5bWJvbA== IHN0YXllZA== IE1M IG11bmljaXA= IHNleG8= U2Vu bnI= IGdhaW5z IHNob3J0bHk= Lk1lbnU= w70= S05PV04= IG9wZXJhdG9ycw== LVY= IFBhdHJpY2s= L2FkZA== X0NP aXJhdGlvbg== KHBvc3Q= UG9zdHM= L18= IHBsdWc= IGludGVsbGVjdHVhbA== IG1ldGFi IHByZWduYW5jeQ== IFByZW1pZXI= bm0= IHByZWRpY3Rpb24= NjA2 IE1pbmlzdHJ5 VGhyZWU= dmFsdWF0ZQ== IE1pbmk= YnU= 0L7Qtw== PHVs IGRk b2x2aW5n IEN1dA== NjAy IHNjaGVt LnRyYWlu aXRhdGU= IHJpY2U= IGJpcmRz 44Gr bWlkZGxl c3RydWN0aW9ucw== IG5lcnY= YXF1ZQ== NDUz IGZsdQ== IHN1cnZpdmFs IEdhbGF4eQ== IEZhbnQ= Lk9yZGVy QXR0cmli aXJ0cw== w6lj TW92aWU= IGNvbmNl cXVhcnRlcnM= IG1vb2Q= LkFkZFJhbmdl OTQy IHJlc29sdmVk 44OI IGJ1cm5pbmc= NzAy CQkJCQ0K IFdF IGhvc3Rpbmc= TEFC IG1hbmFnZXJz IHN0cmVuZ3RoZW4= PGNvbnN0 IEZpcmViYXNl b25lZA== IEplYW4= Jzwv IDo9Cg== YWxnb3JpdGht IEFyYw== IGZyb3plbg== X2V2ZW50cw== IG92ZXJzZQ== Z29vZHM= IGZhaXQ= IHZpYWdyYQ== b3Nlcw== OTIy IGNvbXBpbGVk IEF0aA== IHN1YnN0YW5jZQ== YW5pbWF0ZWQ= UEY= cHJldmlvdXM= IHJvb3Rz KGZpbHRlcg== b2x1bWVz IGludHJv KGV2dA== IEJhZw== IERlZmluaXRpb24= IEZlYXR1cmVz QW5ub3RhdGlvbg== IGF2Zw== KHN1bQ== UVVJUkU= IHJlbmRlcmVy IEZpeA== LmRhdGV0aW1l PWRldmljZQ== U3Bl Z2V0SW5zdGFuY2U= IGV4dGVuc2lvbnM= X25ldA== IFBhcmxpYW1lbnQ= IGNvbWlj NDY4 IFBpY2s= YXJtYQ== CW1vZGVs IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t IG1lbmc= bWFudWFs YWRhcHRlcg== fS0= ZWRiYWNr IGVsZWN0cmljYWw= IENvdW50ZXI= QXBwbGljYXRpb25Db250ZXh0 X2J5dGU= KGJ5dGU= IEF1dG9t IHRlcnJvcmlzdA== 55A= dGhyb3VnaA== IGZpc2NhbA== b25pbmc= NDU1 IHNwZWN0cnVt IGJpdG1hcA== IHNsZQ== cHJvZA== IGFnZWQ= IGJlbmU= IFNwaQ== IGJyaWxsaWFudA== IHN0YWJpbGl0eQ== IGRpYWJldGVz IGNvbmZpZ3VyZWQ= Ym9uZQ== NzQ4 NDg0 b3VzZXM= Lmdvb2dsZWFwaXM= RkFDRQ== IGluc3BpcmF0aW9u IERldHJvaXQ= ZW5jaA== 0YDRgw== dmVoaWNsZQ== U3RhdGlvbg== IGhvbGVz IGR1cmNo Lk1lZGlh IENOTg== aW5uaW5n NjA0 IFBlbm5zeWx2YW5pYQ== IGVtb3Rpb24= U2VjcmV0 w6FyaW8= IFJhdGU= NDUx RGVwdGg= IG1vZGVz NDI2 KGlkeA== IGhlcw== IGdyZXk= U3RhbmRhcmQ= UXVlc3Q= YnV5 c3Vy IFRyYWNr b21t Lmds IChc dHdv X0lP b3NleA== X3JvbGU= 56S6 cm91dGVz U2hvcA== IEFTQw== IG1lbWNweQ== ZGlyZWN0 NDQ2 ICoKCg== IEJN IFBvcg== X2hpc3Rvcnk= IFJlc3BvbnNlRW50aXR5 LnNldEZvbnQ= IGVuZ2FnZW1lbnQ= LGg= IFdvcmRQcmVzcw== ZmVjaGE= IGVudHJhbmNl RGVzcGl0ZQ== SURFTlQ= IHNhbml0 IEdlbmVyYXRl KCIiLA== X3ZpZGVv U3RyYXRlZ3k= X29r IHRpZXM= IGxvZ2ljYWw= IEJyb24= KEZpbGU= IE1vaA== LlNwbGl0 LlRyeQ== IEhpbmQ= IHNjb3Jpbmc= IGFwcHJvYWNoZXM= IGZsb3Vy VlJU ODA0 VVNUT00= NDY3 c2NyaXB0cw== IEVwaXNvZGU= Mzg5 IEFtYg== X09S IGZyYXVlbg== IHVubGlrZQ== IHJpZGluZw== IHBpdA== IHRyYW5zZg== YXJ0ZQ== 4LmJ cmFwZQ== cmV0dmFs X2FmdGVy Ijw8 NzAz IEJlcmxpbg== IHRpc3N1ZQ== LkludGVudA== INC00LvRjw== IHN0dW5uaW5n IEhhbA== LkludGVnZXI= IHdoZXJlYXM= IGRlbGVn IHVzZXJOYW1l IGZvcm1hdHM= IGNvbXBlbnNhdGlvbg== IEh1bQ== YXJyaW5n IHVuc2FmZQ== UGlu Y2x1Yg== a2V5d29yZA== X3RoZW1l IGNhbGxlcg== IGdob3N0 IGVudGl0bGVk IE1hcw== NTYx IGRlbW9uc3RyYXRl IEhvd2FyZA== RHJvcA== I3VuZGVm NDI3 IGludm9rZQ== IEJyaWRnZQ== ZW5kZW4= aWJsaW5n U2xvdA== QVRBQkFTRQ== IHRlbXBlcmF0dXJlcw== c2VyaWVz IFJlbWVtYmVy Q2FsZW5kYXI= QkY= PT8= MDY0 IEFG KGh0dHA= bWFrZXJz ZmluaXR5 cHJlY2F0ZWQ= V0g= b2xpZGF5cw== LXVu aWFsZQ== XFVzZXI= cmVhc29u JywKCg== T1dFUg== IHByZWRpY3Rpb25z cHJvYg== Lm5u ICc7Cg== LkZyb21Bcmdi X0xPTkc= IHRyb3Vi IHVuaXR0ZXN0 ZWxpaG9vZA== CWlz NDQy IGNvbnNlYw== TEVBU0U= IGNsaWNrZWQ= IHRlbXBsYXRlcw== Qlk= cGVybQ== bWF0Y2hlcw== bGF3 KHRm X3JhdGlv aXRlbXB0eQ== IGNyZWF0b3I= Qml0cw== RW5jb2Rlcg== Ki4= IFVJVA== IE1hc2s= Y3VybA== LWdv IE9jYw== Y29ycmVjdA== IEdlcg== KGxheW91dA== dW5jdA== LmRpc3BhdGNo O2FtcA== LmlzUmVxdWlyZWQ= CWRv bWly IHB0aHJlYWQ= LWF1dG8= IEljZQ== IHZpb2xhdGlvbg== IGNvbmNsdWRlZA== IHZhcnM= Y2FudmFz IFRlbXA= IFBoaWxpcHA= iOuLpA== Y3JlYXNl IGZpc2hpbmc= YWJiaXQ= IGNvbmNlbnRyYXRpb24= aXJ0aGRheQ== IGdyb3Nz IGtp IEhhbmRsZXI= IGltbWlncmFudHM= 6IA= VW5k cG4= cmFj NDU0 IENvbnN1bHQ= Zm9sZA== IHN0cnVnZ2xpbmc= aGVhdA== R2VuZXJpYw== IHJpZGlj IENPVklE b21pdGVtcHR5 X09QVElPTg== 6rCA IGNyZWF0dXJlcw== X1BBR0U= ZWk= KGhvc3Q= X0hQUA== NTE2 IFhYWA== IGF3aw== YXNjYWRl IHByZWc= cHJvdmlkZXI= UGFs ZWdlbg== Y2xvbmU= LlJlZ2lzdGVy IGF0dGFjaG1lbnQ= YmVpdA== dGhlbGVzcw== KERhdGU= IEZvcmVzdA== Q0dSZWN0 IGNoaWxkaG9vZA== YW1pbmU= YXhlcw== J109 TmF2aWdhdG9y IHJlcGxpZWQ= X2ludg== LFQ= IEZlYXR1cmU= NDM4 ey0= TEFORw== IGNvbnZleQ== 55So5oi3 IFNlcmlm IEF1cw== bGljaGU= IHVudXNlZA== IG1vbnQ= bm9kZXM= IHNldQ== LmNsYXNzTmFtZQ== bm9ybQ== X1NFUlZFUg== IHdpbmc= aW54 UmF3 IEphbQ== NTkw IGluc2lnaHQ= NDcx NTM1 IE5H IEludGVyZmFjZQ== IHN0bXQ= IG5hbg== Y3VsYXRvcg== LWFwcA== KEJ1bmRsZQ== TWVzc2FnZUJveA== 4K4= IG1lZXRz dWJ5 T3B0aW9uUGFuZQ== aXRhcmlhbg== IGNvbGxhYm9yYXRpb24= bW92aWU= IGFybW9y X2JpdHM= IEhhdmluZw== IG51ZGU= IFNldHRpbmc= IHN1Y2M= RGVsYXk= LmNvbXBvbmVudHM= YWNodXNldA== IEFsZXhhbmRlcg== wqk= IG1ldGVycw== IHByZXBhcmluZw== IGluY2VudA== 5ZM= IGvDtm5uZW4= IENvbnNlcnY= IG51bWVybw== YWNodXNldHRz LWludA== IGVtcGhhcw== bGF5b3V0cw== RXhjZWw= SUJBY3Rpb24= IHJlc2lkZW50aWFs ZWxpbmc= IE5D IEFsbGVu IGNldHRl IG1pbmRz LnJlcXVpcmVk 2LM= IEdpcmxz IH07 IHN0cmluZ1dpdGhGb3JtYXQ= IGFkZHJlc3NlZA== dGhleQ== IEJsb29k cG9zZXI= IGphbQ== yJk= 5pWw5o2u IHN0ZG91dA== IFVURg== Q2xhc3Nlcw== PiI7DQo= IFNhdg== LkJvbGQ= IGVuYWJsZXM= CXRtcA== IG1hbnVhbGx5 IFNxdQ== dXNlcmlk LmZ1bmN0aW9u LmNhY2hl TE9QVA== LlNlcnZpY2Vz NTg4 ZGRpdA== dGlt PGltZw== IFRoaW5ncw== IEV2ZXJ5dGhpbmc= IGFwdA== Mzk3 ZW1hbmQ= IHJvbGxpbmc= 66Y= LmxldmVs IHN0b20= IFdpbnRlcg== IHZpZXdpbmc= KHZhbHVlcw== b2NvbXBsZXRl dmlh dXBv IGFib3J0aW9u NTMy acOocmU= 77yR X0JVVFRPTg== X2RvbWFpbg== IGJyYQ== IEFzdA== aW5hcw== IHN0YXRpc3Q= Y29k TFI= IGRyaXZlcw== IGZvbGxvd2Vycw== IGFsbGllcw== CWN1cnJlbnQ= ZWNlc3Nhcnk= IGRhbWFnZWQ= X3B0 YW5kbGVz b3VudHJpZXM= IHNpbXVsdA== ZXU= IGNvbnRyb3ZlcnNpYWw= X0dST1VQ IHJpYg== LkluZm8= Om1t Lm5vcm1hbA== X0FERFJFU1M= IO2V YWRkbGU= IER1cg== LkVsZW1lbnQ= NjU2 V2FybmluZ3M= IGNyZWRpdHM= IGluaGli IGVtaXNzaW9ucw== NTQ1 IGhheg== LnlvdXR1YmU= dWdnZWQ= IGJvdGhlcg== IEthbnNhcw== IEZpeGVk IFRlc3Rz IEZJWA== NTc2 VW5pZm9ybQ== IGtvbnQ= Pj4+ c3RhdGlvbg== bG9yZQ== YXR5cGU= aXNob3A= LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio= NTIx Q29tYm9Cb3g= IHZhY2F0aW9u IGluaXRpYXRpdmU= IGRlZmF1bHRWYWx1ZQ== Nzcw Y29uY2F0 IEto NjMy IFdlbGNvbWU= aXplZE5hbWU= TWlncmF0aW9u IGdyYWRpZW50 SG90 IGhhcmRseQ== ZWxv IFN0dWRlbnRz IGxvb3Nl NzMw YXR6 LlNlbmQ= Jy8= IHVuaXZlcnNhbA== IGVudGVycHJpc2U= IHJlZ2V4 IHZpc2l0b3I= IEZseQ== U2Vx 4LiZ IFZpc3VhbA== IGxpYnJhcmllcw== YXRvZXM= UGF5bWVudA== NDQ3 IHBlbnQ= IGdhdGhlcmVk VlJUWA== IERN U3BsaXQ= IGxldHRpbmc= 0J0= X2Vycm9ycw== ZXBvY2g= UEFSQU0= Y3U= 0YHRgtCy b2x1dGlvbnM= RWRpdGluZw== Zm9udHM= IGFsbG9jYXRlZA== IEJhc2Vk KFk= IEp1ZGdl IGJyb3RoZXJz RklMRVM= w6dv NTMx d2I= X1BJ J14= IHN3b3Jk LnNlcnZpY2Vz IG5s VGlt aWdn IE1vb3Jl IGNyeXB0b2M= 5Ye6 X3Bvc3Rz b3RhdGU= Pyc= Li4uLgoK IGts PSIk IGRlY29yYXRpb24= 4bqh IERJUkVDVA== R1VJ KT0+ewo= IG5ld3NsZXR0ZXI= IHByZWNpcw== KHBvaW50 IEVxdWlwbWVudA== dXR5 IERhdmU= IHBhcnRpY2lwYXRpb24= dWFyaW9z eGl0 LkFz RVRFUg== b3JvdXM= IHNoaWVsZA== W10+ aWxpdGFyeQ== Lm9yaWdpbg== IHByb21vdGlvbg== VW50 IGN0 VFJB NTU2 Vmlld0hvbGRlcg== IHNpZ21h ZGVsdGE= YXJlaG91c2U= Y29udHJhY3Q= KFZlY3Rvcg== NzIx IGNvbXBldGU= L2Zvcm0= L2NvbXBvbmVudHM= IG5y IEluZG9uZXM= INC+0YI= IFZvbHVtZQ== LmZpbGVz KHJlc3A= L21vZGVscw== IHN1cmY= c3RhbmRhcmQ= L28= IFhDVEFzc2VydA== VklDRVM= LkNvZGU= U0VE IGFjdGl2YXRl RGVsdGE= IGxpbWl0YXRpb24= cmlq IHByZWduYW50 Ol4o IHNvdXI= cGll ODAz IGV4cGVuc2U= aWNhdGlvbg== IExhcmdl IMKx IEJvd2w= KG1vZGVscw== L04= ODU3 UGE= LnJlbG9hZA== IHdvbmRlcmluZw== NDYy RXhlY3V0aW9u CSAgICAgIA== IEdyYXBoaWNz IENvbnRpbg== X2pvYg== IGdldE5hbWU= IE1hZ24= IERXT1JE bWFk IG5o ZmVhdHVyZXM= fSIpOwo= aGVldHM= KHRyYWlu em4= IHJlY3J1aXQ= LmNvbm5lY3Rpb24= IGJhcnJlbA== IHN0ZWFt X3NldHRpbmc= IGFuZ3VsYXI= YW5lb3VzbHk= IGJpbA== IE5vcm0= NTIy KCEk aWJ0 JSg= IHBvc2l0 IEZhdGhlcg== aW50ZW5kbw== NTY1 TGl2ZQ== MDQx IHBvcnRz IG1lag== IGxhbmRpbmc= cG9uZGVy IGNvZA== X0hFQURFUg== Lk1hcmdpbg== IGJhbGxz IGRpc2N1c3Npb25z IGJsZW5k SGV4 IGZhcm1lcnM= IG1haW50YWluaW5n ICAgDQo= c3lu W1Q= cnVz NDM5 dWZmZXJz IGNvbnRyaWJ1dG9ycw== X3N5cw== LkRlYnVn IGNvbnN0cnVjdGVk b21lcw== P2lk c2xpZGVy IHN1cHBsaWVycw== NjEx c2NyaWJlcg== cGVz 0J4= IjoNCg== XENvbnRyb2xsZXI= KSkKCgo= IGx1YQ== TXVsdGk= RU5T U3Jj IHBldGl0aW9u IHNsYXZl bG9va2luZw== VkVSVA== CXZlY3Rvcg== U3BlY2lhbA== aGg= YW5uZQ== IE5pZ2Vy L3ZpZXdz emluZw== ZW5kYW50 PEM= c3BlZWQ= NTE0 IHt9OwoK QmVnaW5Jbml0 IGZvcGVu QFJlcXVlc3RNYXBwaW5n RW5kSW5pdA== IHB1bmNo U2VuZGVy NjAz 6ZQ= Z2V0TWVzc2FnZQ== L3R5cGVz LlBJ KCcnKTsK b2N1c2Vk KGFsbA== IGRyb3Bkb3du KS5fXw== IFZpbg== LkZvcmVpZ25LZXk= NjEy Y2FuZg== b3VyZWQ= IE9yZ2FuaXphdGlvbg== INCw IEN1bHR1cmU= KGNscw== LF8= OTAy cmdiYQ== 7J2Y LmRhdGFHcmlkVmlldw== IGRvemVu IEdlcw== ODA1 NDY0 X3NoYXJlZA== bmljaw== IGhvc3A= b21ldGVy NDk1 IGNsYWltaW5n MDMy aWJsZXM= cmlr 5piv ZW5hcmlv IGRlbmdhbg== b2Ji bW9udA== X3Jhbms= KCcvJyw= IGFwb2xvZw== UHM= X3Bvd2Vy IEdyZWU= IGZ1bGZpbGw= IGZpcmViYXNl OTEw IGZhcmU= IEhpbQ== IGJlYW4= 4oCmLg== IFNQSQ== X1JY IHBlcmNlcHRpb24= cmVsYXRpdmU= Y29tcGlsZQ== dXVt dXRvcw== YXVj IEFzaw== IGluZGljYXRvcg== L3Ro LnNldFN0cmluZw== IFdpc2NvbnNpbg== LkRvbWFpbg== IGFydGlmaWNpYWw= RGV2ZWxvcA== IFNhcmFo IGx5aW5n KHNlYXJjaA== IEVtcGlyZQ== dXJyaW5n 5pe26Ze0 PSIkew== IGdldElk IFBheW1lbnQ= dHJhbnNpdGlvbg== IF0u aXhpbg== VlQ= LXNlbGVjdA== IGRlbW9uc3RyYXRlZA== IGxhc3ROYW1l ZW1wbG95bWVudA== LmdldFByb3BlcnR5 IGZvdWdodA== ZmlsZU5hbWU= IFBlcnM= NDUy LWNhcmQ= YXN0cg== YXR0cnM= IHByb21pbmVudA== RGVzaWdu YW5jb3V2ZXI= 44GX44E= YXJkbw== c2VjcmV0 IHJhZw== IHBvaXNvbg== LW1hbg== LG9taXRlbXB0eQ== NzQw CXVu aXR6ZXI= IENhc2lubw== IFJvc3M= LWZvb3Q= KHJlc3VsdHM= UGxhbg== IGxhc2Vy 6riw X0RS NTIz RmFjZWJvb2s= NDQ5 IGJvYXJkcw== c3Rh XV0s Njc1 IHRpbGVz U0laRQ== ID1+ OTcw IHByZW1pZXI= b2NhYg== IGVuY29kZWQ= IHJlc2VydmU= NjA5 IEFmZ2hhbmlzdGFu IExpc3ROb2Rl dXJscw== IHN1Ym1pc3Npb24= IG5ldQ== NDc3 ICMrIw== X1BPU1Q= IG1vaXN0 ZWxsaQ== ZWxsaWdlbnQ= LmFsZXJ0 w7Nk YnJl IENvbGxlY3Q= IGdyYXBoaWM= IGxvbmdpdHVkZQ== IFByb3ZpZA== IENhbGN1bGF0ZQ== eGZmZmY= Y3JpdGVyaWE= IHdhdGVycw== cm9jaw== bG9xdWVudA== IFRyaWI= NTEz IGJ1cnN0 IHN1ZmZpeA== LkV4dGVuc2lvbnM= aXNoZXM= aXZlbA== IExJS0U= IEdldHR5 LkFjdGlvbkV2ZW50 LnNsZg== IEhBTA== dXBhbA== RUFS NTI0 dWRp X3RpbWVvdXQ= VUY= IFNpbmdhcG9yZQ== IEFkdmVudA== X2ludGVydmFs Y2hhZnQ= IEVtZXI= IHRlbGVwaG9uZQ== IFR1cms= X2ludGVyZmFjZQ== IE93bg== IGVuY291cmFnZWQ= PE9iamVjdA== X1RleHQ= IE9udGFyaW8= IEFwcGx5 LmZpcmViYXNl IGFudGli UHJpb3JpdHk= ZW5leg== RGF5cw== Y2lk dXJyZW5jZQ== Oy8= aW5uZWQ= 0YHRjw== IHZleg== Znc= Ly8k YXR0YWNr NDU4 IHN0YXJ0dXA= YWluZXJz LmZyYWdtZW50 b3BhY2l0eQ== KGNvbm4= aGVpbQ== Lm5ldHdvcms= KHN0cmVhbQ== Njcw IE5PTg== dG9s ODMw IFhib3g= IERT IGNhY2hlZA== IHByb3N0aXR1dGFz IEJhbHQ= KCdb NTc1 IG5vZXhjZXB0 Iic= IHNk LnZhbGlk X2Fn IHJhY2Vz NDgx IHJvZA== aXR1ZGVz PD4o NTQ0 LlByb2R1Y3Q= Rm9ybXM= TkVX UGF5 CWJvb2xlYW4= X2NvbnRhY3Q= IEVsZWN0cmlj c2tpcA== IHd1cg== IGNocm9uaWM= X2RyaXZlcg== OTQw IFNhYg== IFVsdA== IFJhZA== U1RBVFVT IExld2lz T0I= IGdpZnRz LlJlYw== VFJVRQ== IGludGVuc2l0eQ== TWFya2Vy LmNvbXBhcmU= ZmZpYw== Q29va2ll IEJhYnk= IEJpZ0RlY2ltYWw= aWxldA== IEhPTERFUlM= IExhZHk= IGx1bmc= IEFsYWJhbWE= IGRlc3M= YCk7Cg== IEJ1aWxkZXI= X3JlZ2lvbg== IG5ldXRyYWw= OTA5 Qm90aA== IGhw IGhvcm4= IHNlZ21lbnRz IEVD Ij0+Ig== KHJlYw== IFBp R00= IGxhcHRvcA== U2NhbGFy NDYz aXNk LWRpYWxvZw== IEFuZGVyc29u IG1pc3Rha2Vz NzA4 IEhhbg== amVz ZXN0aW5hdGlvbg== NDM2 IHByb21pc2Vz Ymlk IFNjaWVudA== R0lO IFBlcmZvcm1hbmNl YmFnZQ== LnVzZXJz bGVhZGluZw== IG9yYWw= R3JhcGhpY3M= NDg4 X1BUUg== NTE4 aGFuZw== IGluZXY= cHJvY2Vzc2luZw== RmFjdG9y IE5B JHN0cmluZw== IGdyb3VuZHM= LlNhdmVDaGFuZ2Vz Y2xvY2s= OTQx Y3JpcGNpb24= IE5ld3Rvbg== Z2M= LmluY2x1ZGVz IGJsYXN0 ICctJw== IHB1ZWRl NDY5 LlNlc3Npb24= IGdyZXA= X2ZpbmFs IEdheQ== IEdpdmU= aXJp LXN0YXI= IFVJSW1hZ2U= X2Vwb2No dWJi ZW50aA== IGVsaXRl IGNhbXBhaWducw== IFBvcm5v X2Fzc2lnbg== UHJvdG9jb2w= IEJlaW5n IEFpcnBvcnQ= IGNvbnZlbnRpb25hbA== IFdhdA== IENJ RVRB IEFudGhvbnk= IHRhYmxldA== KGZvcm1hdA== IGNvbnNpc3RlbnRseQ== IElvd2E= NDc0 IGF2YXRhcg== MDI3 LmN1cnNvcg== IVs= IGhhbmdpbmc= SGVy U3VjaA== JzsKCgo= b3JnZW91cw== KCk9PQ== IHZpZXdNb2RlbA== IOOD IGVscw== IEFnZW50 RmV0Y2g= YXBvcg== IGN4 cHJlYWQ= IFBpZXI= b2VmZg== NjE2 U24= ODkw IFZpcnR1YWw= QXBy LldoaXRl NjE1 X01PRA== IFBvaW50cw== 5aSx IGdlbmVz IHZlbmRvcg== IG1haW5zdHJlYW0= PHNyYw== IEVsaXphYmV0aA== RGVjb2Rlcg== LXN0YXRl IEdsYXNz bmN5 YWRpYW5z X21vbg== IFJlbW90ZQ== IHdpcmVsZXNz IE1p 5Yk= NDY2 6KGo c3RhZ2U= IFRpbGU= bGxpYg== VmFyaWFudA== PT0K IGdvbGRlbg== KFFTdHJpbmc= LnB1dEV4dHJh IERvbQ== IEFuaW1hdGlvbg== IGludGVyYWN0aXZl aWZhY3Q= 6Zmk TEVU IGZyZXF1ZW50 IDw+Cg== RmlsZW5hbWU= IHNuZQ== IEZvb3RiYWxs IHJpdmFs IGRpc2FzdGVy aW9uaWM= IERhbWFnZQ== LlJlc291cmNl LWVu IFR5cGVz Z2V0U3RyaW5n KGJvYXJk IGJvbA== cGxhaW4= enlt 4Liy IHNjYW5uZXI= aWxkZXI= X21zZ3M= 5o8= KGludGVudA== IGRlc3RydWN0 IGJ1c3Q= IEVtcGxveQ== b25p IFVJVmlld0NvbnRyb2xsZXI= IG9kZHM= ZWFyZXI= R2VvbWV0cnk= IHlpaQ== X0VYUE9SVA== IEF0dGFjaw== IG5pZXQ= IGltcHJlc3Npb24= IEdpbA== X3Byb2I= NTI4 IENG IEV4cGVyaWVuY2U= L3BsdWdpbnM= Lk1ldGhvZA== IGJlbGllZnM= TmF0aXZl X2J1aWxk IHZpZw== IHJhbmtz Y292ZXJlZA== NzA1 c3VjaA== R3VhcmQ= LnBhY2s= YWRkZXI= ODA5 aXZpYQ== bG5n INCy0Ys= NTUy VGltZXN0YW1w X25vdw== IHBva2Vy IHVuYw== IHNoYXBlcw== LXR5cGVz X3BlcmlvZA== cGs= IHZldGVyYW4= IHNvbm8= IGFwcG9pbnRlZA== b3ZlcmZsb3c= LmRyaXZlcg== X2NhdA== dXR0 cGxhbnQ= aW1i IEFjY2VwdA== IGNvbmNlcnQ= CW5vZGU= CXo= Pz4NCg== IGJhbm5lZA== CSAgICAgICAgICAgICAgIA== IHRveGlj IGRpc2FwcGU= NDcz yJs= IGdyYWNl YXRlZnVs UmVwbHk= IENydXo= NDg2 IHNjcmFw IGtleXdvcmRz c2ltcA== IG1vcnRnYWdl IGN5YmVy IEV4ZWN1dGU= IGxhdGl0dWRl aWZ1 LkNPTQ== ZGJv IHNvcnRz IEdhcw== b21pYWw= LkxvY2Fs Q2VsbHM= LlJlcGxhY2U= U3RyaW5ncw== LmZpdA== IFRoaXJk JSIsCg== IHt9Ii4= IFNvbnk= IFs6 NTg1 IGZhbGxlbg== LicpCg== aW5o IE1D IHJlZGlz Q29kZXM= IHByb2ZpbGVz aG9vaw== UmVkdWNlcg== X0ZVTkM= IG5hdmlnYXRl c3RybGVu IGhvcm0= 4Z4= IFNS LmJvb3Q= IGRpZ2VzdA== CWhlYWRlcg== LmZpbmRPbmU= 5oE= RGJUeXBl bmlh X21lcmdl IGRvbm5l L0dldHR5 X0NIQVI= IGJhbmRz LlVSTA== YXJ0aWFs IGZyZXE= IHNpc3Q= Tmc= IHJlbmRlcmluZw== XENvcmU= V2lkZ2V0cw== IFZB IGFjdGl2aXN0cw== U3Rl PV8= YWxsYQ== U3RhbXA= IGxvYWRz IHh4 IExlYXJuaW5n Lk12Yw== dWly KCIk IGNvbm5lY3Rpbmc= UmVhZE9ubHk= dXJ1 IEVhZw== QklU X0RFTA== 5ac= YXJyYXNz ZXh0ZXJuYWw= IFlPVVI= IEJyZXc= IEZpdmU= IHJlc2l6ZQ== aWdpZA== ZXJhdGlvbg== NjUz INGN NTM2 5Yqg MDM5 IENhdGNo 2YE= IExlb24= YW1pbA== LkJvZHk= Q2xpcA== L2xpc3Q= LmJy RWRpdFRleHQ= CWRi LkdhbWU= KEJ1aWxkQ29udGV4dA== YmFja2VuZA== LlJlZA== ZmFjZWJvb2s= NTI5 LnVybHM= bXI= cm9sbGVk LS0tLS0tLQ== IGludGVydmVudGlvbg== IHJldGlyZW1lbnQ= IEtpdA== IFBSRQ== VXBwZXJDYXNl IFNvY2tldA== IDot IHN0dWR5aW5n IE1ldHJv YXJkZWQ= IGNvbnZlcnNhdGlvbnM= Q2FsbGVk IGV4YW1pbmU= ZXJ0aWZpY2F0ZQ== Lmd6 LXJlc3BvbnNpdmU= IHJlZnVuZA== X25ldHdvcms= MDI2 YWxsb3dlZA== ZW1wdA== IG1lYWxz Q2F0ZWdvcmllcw== IHRyYXZlbGluZw== IGtn IHNoYW1l ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= IGV4cGxpY2l0bHk= IG1hdGhlbWF0aWM= IFN1aXRl IFJHQg== KioqKioqLw== IG1peHR1cmU= bGVhcm5pbmc= LnRlbXBsYXRl YXR0cw== d3g= CWN0eA== LnByb3BlcnRpZXM= IGRyaW5rcw== IEVpdGhlcg== c2V0VGV4dA== LmdldERhdGE= LnppcA== IHJldmVhbHM= PHRhYmxl Lkhhc2hNYXA= IEh1cg== KSIpOwo= LmZyYW1ld29yaw== IFNUQVJU ZmVlZGJhY2s= NDU3 IHNhZmVseQ== Lmljb24= Y29uZmlndXJl LmxvY2s= LmxheWVycw== Lz4uCg== IHJhbmtlZA== X2ltcGw= IEhhbmRsZXM= IGhvc3RlZA== IHVwZGF0aW5n YWxidW0= 6Z0= IHNoYWRlcg== RWRpdG9ycw== LXJvdW5k W117 IHNlcA== IEhp VEVN bG9va3Vw Lm1hbg== X0lOUFVU IHRocmVhdGVuZWQ= X0lNUE9SVA== IGRyb3Bz cnVpdA== c2lk Ym90aA== IEV4Y2Vs IGplcg== b3JkaW5hcnk= 0LXQuQ== VklFVw== cmVwbHk= ICk6Cg== Y29sb3Jz dmVyaWZpZWQ= X1Ry X3BhcnNl IGNvbmdyZXNz NjE3 UHJvbWlzZQ== aW50cw== IE1vdGhlcg== LkFwaQ== IER1cmF0aW9u IGZpcnN0TmFtZQ== aW5oZXJpdGRvYw== IE1hcnM= IGFwcg== T0RZ IHZpc2l0cw== NjMx IGhlYWxpbmc= bGV0dGVycw== KSkpOw0K ZnV0dXJl LkZyYW1ld29yaw== IGtpc3M= IGludm9sdmU= IHNpbGVudA== YWRvd3M= IGFueWJvZHk= c2No Njkw IHNvbGVseQ== LWltZw== IHByb3ByaQ== IGluc3RydWN0 IGxpY2Vuc2Vz IG1ldGg= IGNvbmRlbQ== IERvbWFpbg== IEhhcnJpcw== IHPDpQ== Q0VQVA== QmF0Y2g= QGV4dGVuZHM= IENPTlRSSUJVVA== LkRhdGFGcmFtZQ== NDcy X3BhY2tldA== cmVjaXNpb24= IGZvY3VzaW5n Lmh0 X18iOgo= OkdldA== IEtD IHBhc3NhZ2U= U2VnbWVudA== X2NlbnRlcg== LXpB X0JM IGNvbnZpbg== IGNsYXNzaWZpZWQ= IE5TTXV0YWJsZQ== X2Fw dGlsZQ== UmVjdGFuZ2xl NDky KG51bXM= dmVucw== IFVJQnV0dG9u IEZlZGVy YW1v IG91dGxpbmU= IFBhcnNlcg== IOKJ IFdvcmtz LlNjaGVtYQ== IGVuZ2luZXM= NjM3 NTYz X2NvbW1vbg== NTQy X29sZA== IHNldENvbnRlbnRWaWV3 IC8vLzw= IEJU Zm0= IGRpdmVycw== X3dlaWdodHM= ZW1hcms= IEFDVA== IHByb3BvcnRpb24= b3ZlcmxheQ== LmRpcm5hbWU= IEdpdA== X1JFRkVSRU5DRQ== PD4= bGI= X3J1bGU= 6LSl IFB1dGlu IHNsZWVwaW5n KCk6DQo= IHByZXNlcnZl IHBhcmxpYW1lbnQ= IExvb2tpbmc= IHBpY2tpbmc= IERpc3BhdGNo IHNsaXA= 65M= IEx5bg== X3NpZ25hbA== Y29uZmlndXJhdGlvbg== IFBpdHQ= NDkx YWRlbg== cHJvY2VkdXJl IGVudGh1c2k= ZmlnaHQ= IENvbnNpZGVy IHRvcm4= Q29ubmVjdGVk LmNvcw== X2dyb3Vwcw== IFRoaW5r IGRlbGliZXI= IHJlc2lk d29ya2luZw== LmNvbHVtbnM= IENhbGxlZA== IGVzbGludA== PiIs X0RPV04= aGlzdA== IEFkdmFuY2Vk IHJld2FyZHM= YWN0b3Jz IHNpbGVuY2U= NDc5 IG15dGg= IG5ldXI= NTE5 IGF1Y3Rpb24= LkdldFN0cmluZw== ZWtz KHByb2plY3Q= NTk4 CW1zZw== CW91dHB1dA== IGNvbXBsYWludHM= NTUx LFM= IHRibA== ICwKCg== cmlvcnM= YWhyZW4= IGxhd3llcnM= cmVkdXg= X3N5bWJvbA== b2ZmZWU= X1JFU1VMVA== KE5hbWU= VVRD LmN1cnJlbnRUaW1l IG9yZ2FuaXM= LmFyZw== NTMz IG1pbmlt d2ljaw== IHJlY2VpdmVz QmFsYW5jZQ== IHNwZWFrcw== IERheXM= IEJlbG93 NDgz dGlwbw== UHJlc2VudA== IHJlc2Vydg== aHA= IHJpdA== X1JJR0hU LS0p IGNoYWlybWFu Nzgx RElT IEJPT1NU IGV4cGVyaW1lbnRz Njg3 X18pOwo= IHN0YW1w IGZlcnQ= IGZvbmQ= VGVy ZWx2ZQ== dXJlbg== K2k= ZW5kZW5jeQ== IHZpcnR1YWxseQ== Li4uIg== 772e OTI1 LWNlbnQ= X3VuaXF1ZQ== IHByaWNpbmc= bWlj UkVTSA== IDo6Og== IGFubm90YXRpb24= IENpcmNsZQ== b25nb2Ri aXRhcw== ICUo KGNvbXBvbmVudA== INC+0LE= KHBvcnQ= LWhvdXI= Lm9iag== TEJM IGp1cnk= R0JU IHNweQ== IFByb2Zlc3Npb25hbA== ICIiOwoK IHN0cmlraW5n IGRpc2NyaW1pbmF0aW9u IHBheXM= OTM3 bGljdA== ZW50ZXM= IHRocm93aW5n IFBsdWdpbg== KGRlZg== IFJ1bnRpbWVFeGNlcHRpb24= IE1pZ3JhdGlvbg== NTk5 IGRpYw== YmFn b25pYQ== IGNvcnJ1cHRpb24= NzA0 KE1hcA== IHByeg== LmR0bw== IGFjcXVpcmU= U3RhdGVUb1Byb3Bz IGxvdmluZw== 0L7Qtg== X3BhdHRlcm4= IGVtb3Rpb25z IHB1Ymxpc2hlcg== X2Jl IGNvdXBsZXM= NDk4 b2o= IENoYXJ0 IHRyb3A= LnRvb2w= IGVzdGFibGlzaG1lbnQ= IGRvbA== NjU0 IHRvd2Vy IGxhbmU= IFN5ZG5leQ== IGZpbGxpbmc= Y2xhaW1lZA== NjQ0 IGRpYWxvZ3Vl IGNvbnZlbnRpb24= Ym9va2luZw== cGFyZW5jeQ== 5rE= IEdlbmVyaWM= NzE4 XFNjaGVtYQ== NDgy NjE4 IHJhbmdlcw== L2No IHBhbmVscw== IHJ1bGVk 55Sf LnRz X3NldHM= IGNsZWFudXA= UHJldmlvdXM= IEFuaW1hbA== NjA3 KCQo IEF2ZQ== b2xsYXI= MDI4 X2V2YWw= CU5hbWU= KHRyZWU= ICJd NTcx IGR1dGllcw== PScv Q2xpY2tlZA== IGRpZmZlcmVudGx5 IENsYXJr IGRpdA== b2xvZ2lzdHM= IHN5bmQ= IHNlbmRz LWtub3du a2I= IE1vZGFs aXRhdGl2ZQ== IHJhY2luZw== IGhpZ2hsaWdodHM= IFNpbW9u IENhcHRhaW4= 5L+h IENC Y29udGlu YXJhbg== IHBoeXNpY3M= cmV0dHk= ZXRhbA== Lm1k YXhpb3M= IHNwZWFrZXJz IHByZXA= IGF3YXJkZWQ= 7KeA IENvcm4= IE5hdHVyZQ== VURJTw== NzM3 IHByb2o= LXByZQ== W3U= RmVhdHVyZXM= IGlzRXF1YWw= QmluYXJ5 c2ln IGNvbmZ1c2lvbg== NTQ2 NTY4 IEhhdA== IGt0w7M= LmNvbmZpZ3VyZQ== TU9O NDk0 L2VkaXQ= X0FkZA== LHRydWU= NTQx IGNsaQ== RXJyb3JNZXNzYWdl LWxvYWRlcg== RGltZW5zaW9ucw== dWx0aXBseQ== IHshIQ== IFNxbENvbW1hbmQ= IHNwb2tlbg== IHBpY3M= IHRveQ== KEtleQ== IExvb3A= 2Kg= RUFUVVJF aW5jdGlvbg== X3NldHVw d3JhcHBlcg== IHRvbmc= Y3VsYXI= T3B0 LlBs PSIs KGxlbmd0aA== dW1u IGNocm9t IHNldmVudA== IElsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbg== NDc4 CXN0YXJ0 IGJlZ3Vu Q0VQVElPTg== ZGF0YXNldA== ODI1 IEZhaWxlZA== Y29scw== NDU5 IGtuZWU= aW1vcmU= LnNwbGljZQ== c2hlbGw= aWdnZXJz IHRoZW1lcw== OTk1 IERK IEFzc2lzdGFudA== LSQ= TWF5YmU= IG9yZGVyaW5n IEludGVsbGlnZW5jZQ== IE1hc3NhY2h1c2V0dHM= IGZhaWxpbmc= ZWxzb24= R3JlYXQ= PWk= LnJlc3Q= IGludml0ZQ== LWRpc2FibGU= Lkdyb3VwQm94 4oCZZXN0 IHRhY2tsZQ== Z3Y= ZXR0ZXI= ICksDQo= X3J1bGVz Lndhcm4= ZnVuY3Rpb25z IENocmlzdGlhbnM= IGJhY2tlZA== IHNsaWRlcg== IGVuam95aW5n bmVzdA== IGhpag== X21z Ly8q QW5ub3RhdGlvbnM= IFZhcmlhYmxlcw== PFY= KHNlcnZlcg== IE9yYWNsZQ== ZWxlbWVudHM= IG9yZ2FuaXNhdGlvbg== X3BvaW50ZXI= IEhlYWRlcnM= W2Q= IGRlYWRsaW5l aXNzYQ== IGtuaWZl IE5BU0E= IEhlaWdodA== Nzg0 IEFzeW5j IHZlbnVl LmRvbQ== Ym91cm5l IEhhd2Fp IG1lbW8= aWN0aW9ucw== IHN1cnZlaWxsYW5jZQ== b21p L2Fzc2V0cw== NTg3 IGVkdQ== xJs= IHJvc3Rlcg== IGhpcmVk IFRvaw== IHBsYWNlbWVudA== dXJhdGlvbnM= IHNldFN0YXRl IE1hZ2F6aW5l IGhvcnJvcg== VHJ5 IGxhZw== IEV2ZXJ5b25l dGh1cg== KSk7DQoNCg== LnJldHVybg== IHN5bXA= 4paI4paI IG5pZ2h0cw== d29ya2Vy IGFsZQ== ZW5uZXNzZWU= LnN0ZXA= IHN5bmNocm9uaXplZA== NDg3 b3VyaQ== RG9lcw== LmNoYW5nZQ== Zm9u LnNldEJhY2tncm91bmQ= aXJjdWxhcg== NDc2 Ky0= IENJQQ== NzI5 IEphbmU= IFNpbWlsYXI= LUk= bGV2ZWxhbmQ= IHByb3NwZWN0 X2ZvdW5k CWNvbG9y LkRpYWdub3N0aWNz IGFubm91bmNl IGFzc3VtZXM= L3Ry IGJk OTg3 IENhcmJvbg== IGFuYWx5cw== NTY0 LmRlc3Q= bmlr IExpZQ== LWluZGV4 RHJhd2FibGU= IFRBRw== IHRyaWFuZ2xl X0ZMT0FU CQkgICAgIA== LmJsYWNr dnVl Y3VyYWN5 IGFmZmVjdHM= OTA2 IHN1cmVseQ== U2xpZGVy dWtp Y2VyeQ== IHVudGVy LnByb2ZpbGU= b3Jkb24= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= bGVhdmU= IHNtYXJ0cGhvbmU= Z2ll IGNvbnNwaXI= IHR1dG9yaWFs 57G7 IGNhYg== NzY1 IFN1bW1hcnk= KgoK w6Ro IlRoaXM= IHNsaWRlcw== Ijwv LmRldg== Jzw= IFJpbmc= xYJh IGtvdGxpbg== LmR1bXBz IGJhc3M= 7Is= UE9JTlQ= IHV0dGVy IMOpcw== LmZ1bGw= T0xM IGNlcmVtb255 c2xvdA== IGFpbXM= dG9vbHRpcA== LnNjb3Jl LWRk NjQy IHByb3g= UmVjb2duaXplcg== ZHluYW1pYw== w6RuZA== L3N0ZA== RFU= IE5vdEltcGxlbWVudGVk KCItLQ== UkFX NjM1 IGV0aG5pYw== YW5ubw== IGNoYW1waW9uc2hpcA== LHNlbGY= IGFjY2VwdGFibGU= IFNwcml0ZQ== W3R5cGU= w7xo IFZL KGpQYW5lbA== NTQ4 aXRy 66A= YXVyYQ== IGZhY3VsdHk= YXZlcnM= IFJlY29yZHM= LlNlY3VyaXR5 IGNvbnN0cmFpbnQ= LkJs VWludA== YmFsYW5jZQ== IGNvbW1l IE5paw== U3VwcHJlc3NXYXJuaW5ncw== IE9jZWFu NTU0 X0lk RGF0YVNldA== IGluc2VydGVk IjsNCg0K 4oCz aXBwZXQ= IGFubml2ZXJzYXJ5 IHJldGlyZWQ= b3JjaA== IHBlcnBldA== XEZvcm0= IGludm9sdmVtZW50 X3VzZXJuYW1l YWxlbQ== X1NFUlZJQ0U= IEluZGlhbmE= IGNpZ2FyZXQ= YXJ0eg== IFJD IG1lYXN1cmVtZW50cw== 572u IGFmZmlsaWF0ZQ== YWNpb25hbA== LXNlY3Rpb24= X2NvbnRyb2xsZXI= dmFyZA== X2Vs IFRveQ== PFA= TWFjaGluZQ== w7ptZXI= IFllYWg= IllvdQ== IG1vbA== LkNs Y29udHJvbGxlcnM= IHN1c3BlbmRlZA== Kys7Cgo= QVRU IHByb2plY3Rpb24= UGFkZGluZw== NTg2 Lm1hdGg= Njg2 ZmFjdG9yeQ== MDQy IGdhbW1h KCk+ Y3ljbGU= IEJ1bGw= cGF0aHM= IHVucA== IHZpZXdEaWRMb2Fk X01vZGVs IGFzc2VydFRydWU= IHJhdGVk RGVjbA== dmVydGVk IERhdA== YnJldw== IHBvaW50aW5n TXM= IFBvaW50ZXI= KSc= X25vbg== NTI3 IFNFQw== IHllYWg= Z2VuY3k= aW5pdGlhbGl6ZQ== Zmx5 NzEx W3Bvcw== LGc= VGVsZQ== MDM0 IGpva2U= IGNsYXVzZQ== LmZpbmRCeUlk ZW5lcw== KGluc3RhbmNl NjI2 wqM= OTE1 IHNsaWM= X2hvbWU= ICovfQo= X3BhZ2Vz KHNlcnZpY2U= OTA1 UlA= IEFtb25n LmdldEN1cnJlbnQ= ODA2 44K5 IHNsZWU= PTw/ X3Byb3A= Zmx1c2g= IE1N QmVs Tm90ZXM= ICovCgoK MDM1 IHJo VGFibGVz IEp1 IFwNCg== bGljaGVu IEluc3VyYW5jZQ== XQoKCg== IGNvb3Blcg== 4oCUdGhl Lm1hdA== NDg5 IGZvaQ== KGF1dG8= TWFyZ2lu NjM2 IHJlc2lkZW5jZQ== NTU5 IEhpc3Rvcg== IH49 RGk= ICcpCg== IGV4Y2x1ZGU= LkRyb3A= JyI7Cg== IGNvYw== X3VwbG9hZA== SGlkZQ== IFVua25vd24= IG5vcm1hbGl6ZQ== X3JldA== LicKCg== Lm5vZGVz ODcw LkRhdGFTb3VyY2U= YmxlbXM= IGdlbnRsZQ== OiQ= JykpOwoK LlJlc291cmNlcw== 4og= IFRhaQ== VkVE IEd1bg== bGVhbnM= IERvYw== LlZvaWQ= IEFtZW5kbWVudA== ODY2 ZXNzZWQ= NzA2 IHJlY2lwaWVudA== Lk5vZGU= b3Zv IGFsaWduSXRlbXM= IFVuaXR5 IFJvbWU= YnVybg== IHZvbHRhZ2U= IFNIQQ== NTM0 NTcy IEdPT0Q= aGVscGVycw== LyoqKi8= IGVsaW1pbmF0ZQ== d2Fw X2FuZ2xl IHJlZnVnZWVz CWFzc2VydEVxdWFscw== IHByb2Jl KCcuLi8uLi8= eW91cg== IG1lcmNo VUJMRQ== CXJlc3BvbnNl X0RFRg== IGVudmlyb25tZW50cw== b3VzaW5n IHJlc3RyaWN0ZWQ= IENPTlRSSUJVVE9SUw== NjIx IGNvbXBhbmlvbg== 4bqj cG93 dXJ0bGU= Ymll LlBlcmZvcm0= PW4= cmVkaXM= IGRpdmlkZQ== IGNvbGxlY3RpdmU= RGlmZg== RHluYW1pYw== aXNTZWxlY3RlZA== YXN0eXBl IExvdA== IFN0YXRlbWVudA== aWNpcGFudA== YWto NTE3 IHNlcmlhbGl6ZXI= X0NGRw== YXZhbA== IHZpZXdlcnM= IEZP T2Nj IHJvYnVzdA== IE1pdA== X0FORA== VHJhbnNpdGlvbg== dW5hdGU= IHByaWRl IGRyYW1hdGlj IFBhZ2Vz X3R1cGxl IGNvcGllZA== bW4= IG91Z2h0 IGVxdWFsaXR5 X2hhcw== X1dS NTcz ZW1p IHN1cmdl aWxsbw== KCl9 MDgx IHBlcmY= OTIx dWxr IGludmVzdG1lbnRz Nzg1 IGdlbmVyYXRpb25z IHJlc29ydA== IHRydXN0ZWQ= X2ZyZXE= IGZvcm1h QVRJT05T IEh1 IEdyYWQ= X2NwdQ== ICIsCg== cmVzc2U= KCoq IGhlcmVieQ== IGxha2U= X1NUQUNL IEJ1cmVhdQ== IHN1c3RhaW5hYmxl IFBF IGRlaQ== IEFuc3dlcg== UGx1cw== L3dlYg== IHN0ZXI= IG1vdW50ZWQ= X2NsZWFy Zm9ubw== aWFuY2Vz X2ZpbmQ= IGNvbmZ1c2Vk X2Jpbg== REVDTA== IGluc3RhbnRseQ== VUlU X0RP U2V0dXA= a2Vl X3ByaW50Zg== X3N0bXQ= IFN0ZWFt cHJvZg== bHY= IHNvbHZpbmc= bGF0b3I= b3R5cGVz QW5kcm9pZA== X2VzY2FwZQ== TGVhdmU= LmdldFRpbWU= ODEx aWZz IGNvdg== IENsYXNzaWM= LWRhcms= NTI2 RGlzcGF0Y2hlcg== LWdyYXk= IFBhbGVzdGluaWFu LmRlZXA= IEluamVjdA== IHJlZmxlY3Rpb24= NTM4 IGh5cG8= Y29uc3RydWN0b3I= LmFwcGxpY2F0aW9u eXN0ZXI= 4pU= c2Nob29s IENvdw== NTkz IGZvb3RhZ2U= LWlucw== IC8qKjw= YXRvbQ== IHByb2ZpdHM= OTIz IGJvb2tpbmc= X3RocmVzaG9sZA== IExpdmVy IGNpdGl6ZW4= Yng= IFN0b3Jt IENvcnA= IHdpZGVy Iikpewo= X0FDVElPTg== aW9ycw== YWlzZXM= Om5vbmU= IGNpdGVk ImZtdA== QXVn Y29tYg== IHdoaXRlcw== IHNlc3M= Xl4= aWdodGg= IHRhbmc= X0NBUA== NjE0 IGludGVyYWN0aW9ucw== NDk3 IGdhcmQ= NjQ2 IHByaXpl NjQ3 YWZrYQ== VHJp XEVsb3F1ZW50 IER5bmFtaWM= 55CG Z3A= IHJlYWxt IE5p IEVkd2FyZA== IGlkZW50aWZpY2F0aW9u IHBoeXNpY2FsbHk= 5pys IHBpY2tz LWZyaWVuZGx5 PGk= aWZpY2U= X0FQ TG9nZ2Vk NTUz fSIu L3V0aWxz IC4uLi4= RU5USUFM KEFjdGlvbg== J10pOwoK IHByb3Rlc3Rz b2xpbmU= X1JFVFVSTg== IHBvcHVsYXRpb25z IFJhaW4= ZHVw b3JpYWw= IEF1dGhvcml0eQ== X2V4cHI= MDc1 LnVz IGNvcnJ1cHQ= CWltcG9ydA== PGNoYXI= IExFRlQ= IGNhYmluZXQ= IG5laWdoYm91cg== IFNxbFBhcmFtZXRlcg== YXR0ZXJlZA== ZW1pYQ== IHJldmlld2Vk IEhlbGxv YmxvY2tz KHByb2Nlc3M= OTk3 IG9ic2VydmF0aW9u cmF0aW5n Lmdsb2JhbA== IHByZWZlcmVuY2U= LnByZXBhcmU= IGRvemVucw== V29ya2Vy IGNhbGN1bGF0aW9u IFRvd2Vy YWlyeQ== IElTTw== IGh1bWFuaXR5 LmFzSW5zdGFuY2VPZg== NzEy IGR5cw== IHBpZXI= aWd1ZQ== IGFzc29jaWF0ZQ== IGludGlt bm90aWZ5 KHt9LA== ODI4 IFJlcHJlc2VudA== cGhldA== c2V1ZG8= 64uI64uk LlBvc2l0aW9u IGNsb3N1cmU= KGNsYXNz CXRpbWU= IE9yYW5nZQ== X29wcw== IHBvcHVw IEltcHJv X3NlY3JldA== IEV1 LnNldExheW91dA== dWxseQ== IHNjcmV3 IFNpemVk IENPTVA= IG5vdGlmaWNhdGlvbnM= VHJhbnNmZXI= RW1pdHRlcg== KG9sZA== bGV0aWM= NDkz IC0KCg== IHBhbmlj NzE1 IExDRA== cnVsZXM= IGFmZmFpcnM= IEZpbGw= X0lSUQ== OTEy YXR0YWNobWVudA== IHZvbQ== PGJ1dHRvbg== NTk1 IHRleHRz IGFjdGl2YXRlZA== LmFjY2Vzcw== KHJlYWRlcg== VGVt IGNvcm9u cm9waA== RE1JTg== IGVtZXJnZWQ= IGluZmxhdGVy IEluZGVwZW5kZW50 b3Jpb3Vz IERlbGhp Njcy IGdseXBoaWNvbg== IENhcmw= U2k= IGV4cGVyaW1lbnRhbA== LmJhcg== SUFO IHNxbGl0ZQ== Y2Npw7Nu OTA0 X0JBQ0s= LG5hbWU= aG9ydA== IHRlbnM= NTQ5 6rM= dXNpdmU= IGdlbnVpbmU= IGJ1Y2s= L2Rpdg== LnJvb20= X05FVw== ZXN0YWRv IEFyaw== b2NvbHM= LmdlbmVyYXRl dG91Y2g= Zml4ZWQ= ICco IHJlZmVycmluZw== IG92ZXJ3aGVsbWluZw== KGxldA== IGZ1ZQ== NjIz X0VOVg== d29tYW4= RmlndXJl YW5pbWF0ZQ== IE1vcnQ= IGxvbmdlc3Q= Y29sbg== VE0= Ol8= cmllbA== LE4= IFJBTQ== IGp1c3RpZnlDb250ZW50 IGFjdGl2ZWx5 L3B1YmxpYw== IOuw R2l2ZW4= T1RBTA== 5aSx6LSl U2VxdWVudGlhbA== IHN1cHBsZW1lbnQ= LmFi IGNhdGVnb3I= fX0sCg== YWhhbg== J3Vu b3NpdHk= IGFjY29tcGxpc2g= VXRpbGl0aWVz LnZpZXdz LmNu Y2VpbA== IENCRA== IFJG UEVH IEdpZnQ= QVlT IFdJTg== cGFuaWVk IMWf IG9ic2VydmVy IHNtZWxs IHs6 TGlua2Vk PlsK b2xlcg== IGxpYmVydA== IGAK IHdlbm4= bGF0ZWQ= IGltbXVuZQ== KE5vZGU= IFByb2JsZW0= IEFicw== bG9ncw== IC4uLw== IEFEQw== IH19Ij4K PicpOwo= PWI= IFdpbmQ= bGFob21h IGFsbG9jYXRl b3JpYW4= IHByZXNjcmlwdGlvbg== LXF1YWxpdHk= IE1heW9y ODU1 aW5lbHk= ZW5kZm9yZWFjaA== IENvbXBsZXg= a29t NzA5 VFk= Nzkw XV0u LlN0eWxl X21hbnk= JywnJA== IGJhcnJpZXI= IEZldGNo IE1hcnZlbA== IHJlc2lzdA== 0L7Qs9C+ YmlkZGVu IFJ1bm5hYmxl OmZhbHNl ODk5 IGJ1aWxkcw== IFN0YWdl IGR1Yg== ZW1wbw== LnNpdGU= NTU4 OwoKCgo= OTk0 IERlbnZlcg== IHJldmVs IHRyaWdnZXJlZA== IGRpY2U= X2ZhaWw= IGdj ODMz NTg5 CVg= IFRocm93YWJsZQ== Nzc1 LnJvdXRlcg== IFJldm9sdXRpb24= 0YDQsA== X05PTg== MDU1 n6U= NTc4 IGVsZGVy IGFicm9hZA== INC1 IEFkdWx0 Ymxy Z2x5cGhpY29u NjEz IHByb21vdGluZw== IGl6 IFNvbGlk NjQ1 X2xvYWRlcg== ZWFybHk= LmVuYWJsZWQ= LWVkaXQ= IFVM X3BsYXk= IEludGVycnVwdA== IGFkdmFudGFnZXM= dWNsZQ== IG1lY2hhbmljYWw= LnRhYmxlTGF5b3V0UGFuZWw= IFdvcmtpbmc= IGFub255bW91cw== UmF0aW5n aWdpb3Vz X3Bob25l LmFkZEFjdGlvbkxpc3RlbmVy IGZyYW4= dW5kZW4= ICopJg== X2Jvb2w= dWxhdGl2ZQ== IGNvbmU= IE11bHQ= IG3Dtg== IEZvcndhcmQ= XSk6Cg== IGNvbnZpbmNlZA== YWN0ZWQ= NjQz 44GT IENvbmZpZ3VyZQ== IGNlaWxpbmc= RGVy IHBhc3NlbmdlcnM= R3JvdXBz IHNvY2Nlcg== L1c= YXZpb3Jz c3dpdGg= IFpvbmU= Lk9wdGlvbnM= IE1vbQ== aWVkZXI= QXJyYXlz IHRyZWF0bWVudHM= IHByb3RlY3Rpbmc= ZmFj IHBpY2tsZQ== QnV0dG9uSXRlbQ== NzEz IGJsb2NraW5n c3RyYXI= w7I= IEV4cG9ydA== IHRocmV3 b3R0YQ== IEJBU0U= Lndz LkxFQURJTkc= b3JkZXJCeQ== X2RlbGF5 IFB1 LmRsbA== IENob29zZQ== OTky UG9saWNl IEJFR0lO Ym94ZXM= IGRpYW1vbmQ= LGw= IAkJCQ== IGN1cmlvdXM= NjI0 dHY= IGVyb3Rpc2NoZQ== YWNrYWdlcw== CVNldA== VGljaw== LmJvcmRlcg== c3RhdGljbWV0aG9k IGNoZXI= aW52b2ljZQ== IGNydQ== IGRlZmVjdA== X21ldGFkYXRh cmVsYXRpb24= aWthbg== W04= KFF0 KEJhc2U= 5oGv YmVhdA== IEVtcHR5 CW8= X3NoaWZ0 IHJlZ3JldA== NzIy VGhvc2U= Q2VudA== IFBvcnR1Zw== IElzbGFuZHM= IFRJTUU= TWFuYWdlbWVudA== OTk2 LXNw NTM5 w6ptZQ== IG5vdGlvbg== dW5pZnU= UEs= ODI2 6KGM IENVUkxPUFQ= XCJc VVY= 57o= ZHJh Y291 PWA= IERlc3Ryb3k= cnA= LmNhbmNlbA== R0c= cnVudGltZQ== IFZ1ZQ== IHByb2dyZXNzaXZl L3NlcnZpY2Vz IHJ1bm5lcg== X0ZSQU1F LlRvb2xTdHJpcE1lbnVJdGVt ICcsJw== ZGVsYXk= PXV0Zg== IHNjcmVlbmluZw== IHB1bGxpbmc= b21hcw== IGFudGg= LW5ldw== L2xvY2Fs IGlQYWQ= IHR3aXR0ZXI= IGR5aW5n IGhlYXZlbg== IFVJbnQ= IFNlbmF0b3I= IHByZXN1bQ== IFdhbGtlcg== IG92ZXJjb21l ZXRlY3Rpb24= IGVtYmFycmFzcw== Q2hpbmE= NjM5 SW5jbHVkZQ== Uk9MTA== IGRhdGFUeXBl RGF2aWQ= 4Lij bG9w LW1vbnRo IHNjYXI= IFNhZmU= ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio= IGFjY2Vzc29yaWVz IHJhbXA= X1VTRQ== IGNvbnRyYWQ= KSldCg== IHByZXN0 IEhS IFJhcA== IHVzaXpl IGNhcGFiaWxpdHk= IGNvcnQ= LW5leHQ= MDc3 NjI3 IGJ1cmRlbg== ODIy X3JlYWRlcg== IEBA cmVndWxhcg== IEth MDM2 TUFO IGFzdHI= ICcnKQo= IGZlZA== IHBhcnNpbmc= IFllYXJz IGJyb2tlcg== Ijp7Ig== IGFrdA== SW52ZW50b3J5 YWJlbGVk IGFyZ3BhcnNl KioqKioqKgo= dmVyc2F0aW9u IGNvcmQ= IFRp IGhvcGVmdWxseQ== IGFo dmVyYg== IHN0b2xlbg== LkVudHJ5 IGV4cGVjdGluZw== T3JpZW50YXRpb24= IHBvd2VyZWQ= IHBlcnNpc3Q= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= J10pOw== JykpLAo= IENhc2g= CWl0ZW0= ODE4 Z3JhZGVz cm9wb2w= YmFzaWM= ICIpOw0K IGF3YXJkcw== KHJhbmdl LWFsbA== IElCT3V0bGV0 IEluZGVlZA== LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ== IHN0b21hY2g= IGZsb3dlcg== IHNldw== X3RpbWVz YXZpcw== UVN0cmluZw== IFJvdXRlcw== X3Byb3Q= IGNvbWVkeQ== IGxvZ291dA== IHdvb2Rlbg== IHBvc3Rlcg== cGllY2U= LkpvaW4= IFBvaw== Y2Vsb25h bXV0ZXg= Ow0KDQoNCg== IHN0cmlrZXM= Nzg3 TG9hZGVk KWFyZw== ZXNh VW5pdGVk RXA= UEVMTA== ODA3 IEF0bGFudGlj dWxsZXQ= NjUy YXBwbGU= IHNldHRsZWQ= YWNvbg== IHByaW50ZXI= IEdD 5a6a IHJlbmRlcmVk LOKAmQ== aGVpdA== c29jaWFs Lmdl NzE0 IFJpY2s= IFV0YWg= Z290 b25pY2Fs IFNjcm9sbA== IFNjaWVuY2Vz IGp1Zw== IGFtcGw= ZW50aQ== TEVGVA== IHRhYnM= IGVub3Jtb3Vz LmdldEtleQ== bG9jYXRl LkVY LnN0b3JhZ2U= Lldl IHRvYXN0 IEFkZGl0aW9uYWxseQ== ODgy IE5PVw== NTQ3 X1VQREFURQ== IHRyYW5zZmVycmVk dGhh LkRpc3BsYXk= X3Vp SURFTw== IG1lYW5pbmdmdWw= IE1vc2Nvdw== LHRoaXM= IFZpY3Rvcmlh 5pS5 INCf LnN0YWNr IEJhcm4= cGFyZWRTdGF0ZW1lbnQ= OnN0cmluZw== IGJpag== IFNUQVRF IGVtcGxveWVycw== CWlucHV0 KHw= IGxleA== aW52b2tl CW51bQ== Kyss YXRpYWw= b3JzZXM= IGZvcms= X3R4dA== IEFudG9uaW8= ICg8 YXZlcnNl IGRldmFzdA== 44CA LkRlYw== IEdhcmQ= L3Vp LiU= dHJp IHJvbGxlZA== VmFsdWVQYWly aXR0ZW4= IFRoZXI= IHZyb3U= IEZsb3c= IEZpbmFuY2U= IENvbWI= SEM= LnNldFZpc2libGU= aXNs IHBr Nzcz IHVwc2V0 KHJhdw== IFZpY2U= ZWF0dXJlcw== IExhbmc= MDI5 TG9va2luZw== NzY3 IEFTVA== IHRyaXBz IEp1c3Rpbg== YnJvd3Nlcg== PSInLiQ= LnZlcnRpY2Vz ODIx LWNv fS97 ID8s IERvbWlu IEJlbGc= Ijw= IHN1cHBvc2U= YWRkeQ== IHdhbGtz Njg4 RVJSVQ== X2ZpbHRlcnM= UHJlZmVycmVk c2NlbmU= 0LXRgQ== IEFmZmFpcnM= ICIjew== IG9uU3VibWl0 IHN0b2Nrcw== L3ZpZXc= Z3JlZQ== LWdldA== OTAz aGl0 Sm8= LmdldEM= NzI1 SW5pdGlhbGl6ZWQ= 0YLQuA== Y3V0cw== KFR5cGU= IEFncmVlbWVudA== IFZpZXRuYW0= IC8qIQ== IHBpenph LXZpZXc= X2Vt IGxocw== IG11eQ== IElkZW50 IEZyaWVuZHM= MDYx IGFidW5k X0FE LnRpbWVzdGFtcA== LSc= IGR1cGxpY2F0ZQ== IGh1bnRpbmc= IHJlZ3VsYXRvcnk= aWFv YW1vdXM= IEVudGVydGFpbm1lbnQ= W0E= aWF0cmlj X0NMSUVOVA== IEtpZHM= L3BrZw== QnJlYWs= KSkpOwoK IFNoYXBl IHJlbGF0aW5n SW50ZXJydXB0 YWJsZU9wYWNpdHk= ZW1icmU= IG15c3Rlcnk= IGpvdXJuYWxpc3Rz cml0YWJsZQ== Lkxpbms= IHN0b3BwaW5n Q1JFVA== LkRC IHBvcHVsYXJpdHk= IGdldw== IGltcHI= c2V0VmFsdWU= RkxBRw== CW1heA== IGJha2U= d3k= IEVjb25vbWlj IGVuY29udHI= IGZuYW1l L2Rl UmFuaw== IGJ1Z3M= LnNt IG1lZGlhbg== RE9XTg== IFN1cmU= QXRJbmRleA== IERpY2s= IChfXw== LmRlbHRh RnI= IHN1Z2dlc3Rpbmc= IFJlY3ljbGVyVmlldw== LGU= U1RBUlQ= LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio= eGZvcmQ= IHJlY2VpcHQ= Q0xBSU0= cmVhZG9ubHk= OTY4 IGVuZ2FnaW5n NjE5 Q2E= YXNtYQ== IGVuc3VyaW5n RW5nbGlzaA== IFZhbmNvdXZlcg== aHl0aA== IHB1cmNoYXNpbmc= IFBJ LndvcmQ= KHNw LmhvbWU= OmRlZg== IGdpZw== NTc0 Njcx IFZl Zm9ydW0= IE1pdGNo QmF5 X0ZM NjUx IHNvbGw= NTc3 X2NvbHVtbnM= IG1pbm9yaXR5 YmlyZA== IGhhbmRlZA== U1NM U1RBVA== IG5lcnZvdXM= g70= IGZpbGVQYXRo Q1JFQVRF QXc= IHBlbnM= ODM1 c2VlZA== IENvbXB1dGU= b2xr NTk0 IEFzc2V0 cmVhY2g= JyksDQo= bmF2aWdhdGlvbg== TEY= L3V0aWw= IFB1Yg== IOKU Y2lvbg== IyMK MDcy SUlJ VGFnTmFtZQ== IGFtaWQ= cGVybWlzc2lvbg== aWZpYWJsZQ== eEZGRkZGRkZG 0L3QuA== LkJ1ZmZlcg== X2lycQ== ZGFyaw== IHJldHZhbA== LmZpcmU= cHJvZHVjdGlvbg== Lmxpc3Rlbg== IFdlYXRoZXI= IGJ1eWVycw== Lm5l ZXJw IFBlbnQ= Njk5 IHdlbGZhcmU= IHBhZ2VTaXpl IFN0YWRpdW0= ZXJ0YQ== IGxldg== YW1wYQ== UGFnZXI= NjY1 IGNoYXJnaW5n IE5ldGZsaXg= fG51bGw= X3JhbmRvbQ== LnhwYXRo IHN0ZXJl IElTSVM= cG9uc2Vz KGxvYw== NTY2 ZXlvbmQ= IE9mZmljaWFs NjU3 IE1hcnlsYW5k RGF0YVR5cGU= X3Bhcg== e30s IEVuam95 NzI3 X1NISUZU IEF3YXJkcw== X0VOVFJZ IHNlZW1pbmdseQ== ZW50aWNhdGU= IGhlYXJ0cw== NTgz XzsKCg== IEhJVg== IGluZGl2aWQ= IEZsYWc= X2N0cmw= IENhbGxiYWNr LHo= IEdQVQ== CW9iag== IFBob2VuaXg= IEJVUw== OTA3 IHJ1YmJlcg== X0FVVEg= IFNvbHV0aW9ucw== KGxvY2F0aW9u VmFyaWFibGVz LnNldEVuYWJsZWQ= X2hpZ2g= V08= R2VzdHVyZQ== IHJldHJ5 IG9iamVjdEZvcktleQ== YWxsb3dlZW4= IG1vcw== IENlbGU= IGlra2U= KGNlbGw= IE1PREU= cmVuYQ== IGRlc2NyaWJpbmc= NjQx IHBoaQ== IHJk IGRlc2VydmU= IHdoZWVscw== 5biC IGNyaXRpY3M= NzU1 TmFtZXNwYWNl IEZyYQ== IAoKCgo= IGFsbGE= IHJlcXVpcmluZw== 5pyf dXRhdGlvbg== IGRlbGF5ZWQ= IGFkbWluaXN0cmF0aXZl IGJheQ== LmhpZGRlbg== VGV4 MDUx IGJvdW5kYXJpZXM= IF0pOwoK IEZvbGxvd2luZw== fi8= Rmk= X2NvbnY= X1RJVExF IGRlc2Rl SUNvbGxlY3Rpb25WaWV3 QWxpYXM= IGJpdGU= cGF0aWVudA== X0NPTU1BTkQ= Q29tcGxldGVk CWVsaWY= KDw= QnVzaW5lc3M= IFBvb2w= IHB1cnN1ZQ== IEJhbg== X3N0ZXBz X0RFQ0w= dW1ibGU= IGNvbWJv IExheWVy Lnhy IGR1cA== LS0tLS0tLS0t NjI4 IG1vZGlmaWVy cm9i cmV6 Njk2 IGF0aGxldGVz VXNlZA== d2Vhcg== ODE1 IGxlZ2l0aW1hdGU= ICIKCg== IGh2 U3Rk MDM3 IEhvbGQ= IHN1cnZpdg== IEFsbGlhbmNl IEVhcmx5 Nzc4 QmVoYXZpb3I= KGZvbnQ= L2xpYnM= IHJlY3RhbmdsZQ== IHNpbmdlcg== IGFtcA== RXF1YWxUbw== ICIuIg== IGdpcmxmcmllbmQ= 5bE= bGluZWFy b2JzZXJ2 IHBpw7k= IGNvbXBsZW1lbnQ= V2l0aFZhbHVl KHBhc3N3b3Jk dGFrZQ== Qmxhbms= IENvbXBhcg== JyIs X3BvbGljeQ== bW9uZ29vc2U= X0ZBSUxFRA== LnJlcG9ydA== UmF0aW8= LlBlcmZvcm1MYXlvdXQ= NzQ3 dXNhYmxl bWVycw== X3JlbmRlcg== UEVFRA== Nzcy IGxlc2I= CUU= X3Rvb2w= IGxhZGllcw== OTA4 0L7RgQ== KSkpKQo= Ozs7Ow== LmRvdA== IG5lc3Q= cGVhaw== dWtraXQ= ZWNh X1NX ICYo IE9rbGFob21h IGJhbmtpbmc= NTY5 IE5pbnRlbmRv NzUy IHJlcHJvZHVjZQ== X2VsZW1lbnRz X21hYw== cHJveHk= IHJlbWFya2FibGU= fS8kew== IG91dHM= Lmhhc05leHQ= TU9ERQ== NjU4 IGFuaW1l LmNvbm4= VW5pcXVl RG9t IGltcG9ydGFudGx5 aXR0eQ== IGp1aWNl VHc= IFBhcnRuZXJz IGF0dGFja2luZw== IHBvcnRhYmxl YW1pZW50bw== LlBpY3R1cmVCb3g= Lmdlbg== IG9wdGltYWw= NTgy IHJlY3Jl IGpvdXJuYWxpc3Q= IEV4dHJhY3Q= IE1vcmVvdmVy IG1hcmdpblRvcA== LkFw IGZpcmluZw== TmFO CXRlbXBsYXRl 0LDQtA== LkVu IGRlZmVuY2U= IFRlbA== aWxlbg== amFu PWRhdGE= IFVybA== IFJldXRlcnM= KHRvdGFs IEZpZnRo IGVzc2F5cw== IGludGVycHJldGF0aW9u IGNoYXJpdHk= IFJ1bGVz IHN1YnNlY3Rpb24= c3R5bGVk YXplcg== bGFncw== TElTVA== IHVwbG9hZGVk IHRyYXNo IHJlZ2lzdHI= IHNlbGxlcg== Pic7DQo= IHN0YXJ0VGltZQ== 55k= c3k= KEh0dHBTZXJ2bGV0UmVxdWVzdA== IHRyYXA= R0M= IGVtYmVkZGVk IHN1cnJvdW5kZWQ= ODE2 aW1pdHM= VFg= eWxpbmRlcg== Njg1 IEZhbA== IHNlbnRlbmNlcw== IEph SUZJQ0FUSU9O d2VhcG9u b3ZhdGlvbg== IGNvYXQ= IGludGVycG9s IGxpcHM= IEt5 IHZlY3RvcnM= X2Ft IGludGFrZQ== Lndvcmxk IGluYm94 IE1BQw== X2Fi KG5hbWVvZg== NjMz IGVudGVydA== IGdhdGhlcmluZw== IFNJTQ== Kysu bnlh J319 IFVQREFURQ== IHBhYw== KGh0bWw= IFNhbnQ= aWF0aW5n IElkZWFz IHNwcmF5 IEhhcnQ= IHZlcmlmaWNhdGlvbg== YWRlc2g= L21vZHVsZXM= IE1pbmQ= IFNpemVkQm94 IHNoZWx0ZXI= IGhlcm9lcw== YXR0eQ== IGNlcnRpZmllZA== c2o= IMOqdHJl xYJv IHB1Ymxpc2hpbmc= IE1hbGF5cw== LmdldFVzZXI= IFByb3ZpZGVy IExpbmtlZExpc3Q= IEJvcg== Uk9VTkQ= ZGlk dGFpbg== cGlyZQ== IEplbm4= dGVs YW5kZQ== NzU3 X2Zyb250 IE1jRw== VGVzdE1ldGhvZA== 4Lit IG9jY2FzaW9uYWxseQ== IFdhbGVz IGV4ZXJjaXNlcw== INCS MDQ1 LXBsdXM= IHZhbGlkYXRvcg== IHByYXllcg== TEFURUQ= X2F1dGhvcg== IGxhYm91cg== KysK LWVxdWl2 IEdQTA== IGZhY2Vib29r c2ltcGxl Z2x5 UHJvY2Vzc29y aXB5 NzQ0 ICo+ NjQ4 IGNsZWFyZWQ= IFB1c2g= ODU4 IHBlbmlz U3RydWN0dXJl bGlq IE1vcmdhbg== IGhhbmRmdWw= Ii4K OTg0 fFw= ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq IEFxdQ== NTg0 X0lD LmxvYWRz IG1ldGVy IE1hcmluZQ== Ojp7 IFRT Nzc2 IEFycmF5cw== LlRpdGxl R1JBTQ== dGVybWlu IGNvaW5j RWxzZQ== X3N0YXRlcw== LXJ1bg== bWVtYmVycw== Nzgy YXN0cm8= MDY2 IG9uUHJlc3M= IGJlaW5ncw== IGFiYW5kb25lZA== IHRheHA= b3duZXJz Lm1vZGU= IGRpYWdub3Npcw== IF8K IEtuaWdodA== CUE= IG9ic2VydmU= KSwn ODIz ISIpCg== IFBhcmE= IHZhcmlhdGlvbg== KEZhbHNl IEFudGk= IGdyaQ== IGhvbWVsZXNz P3Y= IGJleg== LlNlcnZlcg== cmVsZWFzZQ== IFBhdHJp IGNoYXJz IHJhbmtpbmc= YWN0aXZhdGlvbg== NTgx IHdpZGVz cXI= LlNxbA== YWN1bGFy IEJvdA== X3N5bmM= IGhhcHBpbmVzcw== IHZvbHVudGVlcnM= ODc3 IHNpdHM= Lzw= W2U= KGZpbGVOYW1l IGNhcGFj ODMy IE1hcmlh ZmF0aGVy IGdyYW0= Kmk= IGNhc28= X2RyYXc= IFJhdw== IEl0ZXJhdG9y NjY0 IFBhZGRpbmc= OTI0 UEQ= Qk9Y IFNQRUNJQUw= IGZlY2hh IHZpZGU= IExlYWRlcg== 5Lul JCgiLg== IGRpYW1ldGVy IG1pbGQ= NzQ1 IHJvY2tz YXBwaW5ncw== MDQ4 ZGlyZWN0b3J5 NTU3 LmZsdXNo IEplc3M= VU5JVA== IFBlYXI= IG1hbmRhdG9yeQ== U3Vy cXQ= IHN0cmVhbXM= IGNvb3BlcmF0aW9u IFNhYw== IGNoZWFwZXI= CWNo YW5pbWF0aW9u ZmFyZQ== KGhlaWdodA== KFRydWU= Tlk= IHdyZXN0 IHBvbGxz IGVuY291bnRlcmVk IE1hcmtldGFibGU= X1BBU1NXT1JE NzE2 X1NFTEVDVA== IEFyYWJpYQ== X2Nsb2Nr IHZveQ== INC40Lc= IHN0aXI= aXNpYmxl LWVmZmVjdA== LmNyZWF0ZWQ= IHRveXM= IFRyYWRhYmxl IHJ1c3Q= IHN0cmNweQ== X3RpbWVzdGFtcA== IHRhbGVudGVk LG51bGw= IEpvYnM= IFBvcnRsYW5k IHdlYWtuZXNz VGhyb3c= IEFuZ2Vs 5L+u NzU0 IHVuY2VydA== 77yJCg== IOydtA== V2hpY2g= IFstXTo= U29tZXRoaW5n IGNvbnZpY3RlZA== a2xl ZWRpdW0= IGJyYW5jaGVz IGJhc2Vz 564= IGNvbXBsZXhpdHk= IEZpZw== LnJlc2hhcGU= JGRi NzM2 X0NPTlNU IFRlcw== LnJ1bnRpbWU= IGRlbnk= IEJTRA== IGty aGF0dA== IFN0YXRpYw== IHVuaXZlcnNpdGllcw== UmVwbGFjZQ== IGRyb3Zl IGFkb2xlcw== X3BsdWdpbg== IExHQlQ= IHRleA== ZHVjdGlvbg== NzUx Nzk5 RURJ IFRlZA== X1VSSQ== IHJlY2VwdGlvbg== YXJ0ZW4= LlNpbmdsZQ== cmljZQ== c2Npb3Vz ODQz X2Jn IHdhZ2Vz IFNlcnZsZXQ= VUlMYXlvdXQ= IGZvcm1hdHRlZA== Lk1vZA== PGNsYXNz aXNlbg== IHJlcHJlc2VudGF0aXZlcw== Il09 IHBvcnRhbA== IEh1bnRlcg== IGhpcmluZw== X18pCg== cmljdWx1bQ== dW8= bGllc3Q= IHRlYXJz TGF0 IGxpdGVyYWw= Lkluc2VydA== IGN1cnM= IENvbXB1dA== IHRlcnJvcmlzbQ== IHN3ZWVw IFtdDQo= IHBhc3Nlbmdlcg== IGVhc3Rlcm4= IHR3ZWV0cw== IG9wZXJhdGVk d25k IFN5bg== LnRvb2xz IFdN dWxhdGVz IGJhY3Rlcmlh KGJ5dGVz LnNldERhdGE= IHZpc2liaWxpdHk= Ly89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ZWxt IGdlbmVyYXRpbmc= IG12 IGto amVu L3NlYXJjaA== IGFjY291bnRpbmc= c2VnbWVudA== YWN0aWM= Lmlw IGRlcGxveW1lbnQ= IGZvb3Rlcg== PicsCg== IGV4cGFuZGluZw== IEhhbWlsdG9u IENvbnRyaWI= LlRhYmxlcw== NzI4 QWN0aXY= SEg= b2NvbW1lcmNl Xzs= IGFtb25nc3Q= b3dpbmc= ODU5 IENvbGQ= QVBI IHBzeWNob2xvZ2ljYWw= X3RlbnNvcg== IHBhY2thZ2luZw== IFN3ZWRlbg== IHBhcmU= IGFnZ3JlZ2F0ZQ== IG1vZGVyYXRl ODYy X2hhbmQ= IGRlc2lnbmF0ZWQ= IGRydW0= IGdldFVzZXI= IENyZWVr X3Njb3Bl IFRyYW5zZmVy IE1hcmc= IGZpZ2h0ZXJz V25k IFNlbA== IExhdW5jaA== IGVtZXJnaW5n aWZyYW1l IEFkZGl0aW9uYWw= IGZlYXJz IHNhdGVsbGl0ZQ== Xzo= IGRpc3Bvc2luZw== R2V0VmFsdWU= SHR0cFBvc3Q= QVRJVkU= dWxhcnk= Vmlld3M= IGF0dGVuZGluZw== IFRlbm5lc3NlZQ== IE1pc3Npb24= IG1lZGljYXRpb24= IFd5 IEFubmE= 2Lk= IFZlcnRleA== LnR5cGVz T3JnYW4= LkRhdGFHcmlkVmlld1RleHRCb3hDb2x1bW4= IFJT IHRlbXBv KEFwcA== ODky VmVyc2lvblVJRA== LnBvaW50 IER1dGNo SG91cnM= TFU= IHF1b3RlZA== LmJ1aWxkZXI= IFBlcmZlY3Q= IEFsd2F5cw== X3R3bw== IGV4Y2x1c2l2ZWx5 IENyYQ== aWZpY2Fy IEFXUw== aW5naGFt Y29tcGxleA== a2VybmVs IGdyYXZpdHk= IHdp MDUy IG92ZXJ2aWV3 NjYx IFdhbnQ= IFdQ KHNo LnJvdGF0aW9u U3RhdGVz IFRlZW4= X2NvbXBvbmVudHM= 7IiY UmVjZWl2ZWQ= IGx5cmljcw== cml0ZXM= CQkJCQkg LUFtZXJpY2Fu W251bQ== L3B5dGhvbg== IFVBUlQ= IGFwcGxl IEpvbmF0aGFu IG1vbWVudHVt 4Lix grk= IG1pY2g= YW5kcmE= IGJpb2xvZ2ljYWw= IE1lbnM= ICUl ZWxzZWE= IE1leGljYW4= LnJhbmRpbnQ= IHRhbGU= IFZhbGlkYXRl IGRlZmVhdGVk Lmh0bQ== IGNvcHBlcg== PS8= Y29zeXN0ZW0= IHJpcA== ZGVjaW1hbA== LlZJU0lCTEU= IFRh CQkJCQkJCQkJCQkJCQk= IGRvd25sb2FkZWQ= ZW52aXJvbm1lbnQ= IG5vbWluZQ== YnVpbGRpbmc= IFNwb3Q= aXBoZXJhbA== IGFsdG8= cXVldA== IEZU L2dldA== L21hc3Rlcg== V0lO 5YWD Njc2 V2VzdA== YXJnYw== IHByb2R1Y2Vycw== IE11Y2g= X3N0b3JhZ2U= Y3JlZGl0 Q09OVA== IHZldA== IHZvaWNlcw== KCcnLA== IGluc3RydW1lbnRz NjYy IE1TRw== ZXNzZQ== cmVwb3NpdG9yeQ== b21pY3M= IGRlYWxlcg== U3RpbGw= IGJhbm5lcg== YXNjaWk= IHJlbWFya3M= W2pz IHNob3J0ZXI= Z3VscA== IG15c3Rlcg== IGt1bg== IEJpcmQ= IHRpZW5l Nzg4 bnV0 IFVt IHdpc2U= WWVhaA== SU5FU1M= MDQ2 X2JlZ2lu LWhlYWRpbmc= Q291cnNl IA0KDQo= b21iaWU= Z3JhZGVk IEdQUw== IMW8ZQ== Rml0 Y2FwdGlvbg== w7Zu L2ltYWdl bGlh KG1vZA== IGxlYWs= ZW56YQ== NjI5 L0g= IEhhcHB5 OTkz RGlzdA== bng= IEdvdmVybm9y KGxhc3Q= dGVhY2hlcg== IFNlbnQ= c3VwcG9ydA== ODM4 amVjdG9yeQ== INmF UmVnaXN0cmF0aW9u MDYz IEdyYXk= LGZhbHNl IGFkanVzdGVk KHNldHRpbmdz PFI= IE1hZ2U= IHBsYWludA== XykK CWl0 b21ldHJpYw== LmJvb3RzdHJhcA== IGNhcnJpZXM= SXA= ICEk IHN3aW1taW5n IE1hcmlv IFF1ZXN0aW9ucw== UEFDRQ== 5pa5 ZW9y fX0i IG92ZW4= IEtvbg== IHdpc2RvbQ== IGFjcXVpc2l0aW9u ZXNzbWVudA== YWdpbmU= IGV4cHJlc3Npb25z U2VxdWVudGlhbEdyb3Vw RnJvbnQ= dWxwdA== YXdr J10pCgo= ODEz NzMy X0FS IGFuYWxvZw== dWxpbg== X1BSSU5U IExH IGJsb2I= IEZ1cnRoZXJtb3Jl X2NvbXBvbmVudA== IENvbGU= TEFO U0NSSVBUSU9O IGxhcA== aWNlbnNpbmc= X1RJTUVPVVQ= IEZybw== IGxpYWJpbGl0eQ== IGNvbXBvc2Vk NjM0 LmNyZWF0ZVNlcXVlbnRpYWxHcm91cA== X3BlcnNvbg== IGJlYW0= CSAgICAgICAg IE5vdEZvdW5k Njg0 LicK w61z LlRleHRWaWV3 UERG IGthcg== X18oJw== ICI6Ig== X21lc3NhZ2Vz IGhhcnZlc3Q= Lmhpc3Rvcnk= PicK LWZvbGQ= 5oo= IEJldHRlcg== ICJcPA== c3BhY2luZw== IGZ1cm5pc2hlZA== OTEz b3Nlcg== XX0K ICQi cHVsbA== LlBvc3Q= OTE5 KGlw l48= LmZyb250 bnRl IEZN Z3VpZA== ODQ0 IG5lZ290aWF0aW9ucw== YWdvbmFs OTM0 IHRyZW1lbmQ= dW5nZW9u QWR2 Y2Fyb3VzZWw= w59l X0RFU0M= IGhhbW1lcg== 4bqt ICAgICAgICAKCg== LWNvcmU= LXNlcnZpY2U= IGNvcm5lcnM= IFNG cHJlZA== PkE= IEpMYWJlbA== IHJvbWFudGlj IHRlc3RpbW9ueQ== b3Nj IEdlbmVyYXRpb24= YXN1cmVz X2ludGVybmFs IHByaW50cw== IF0pCg== IENsZXZlbGFuZA== cmVwbw== RGlzYw== Njc3 NzYy ICI+Cg== 77+977+977+977+9 IG5lYXJlc3Q= NTkx X3Ri KHJlcXVpcmU= RU9G LWNoaWxk IGJ1ZGQ= Llh0cmFFZGl0b3Jz YWx0aWVz NzIz XCI6XCI= V29yZHM= OTE3 IGxvY2FsbHk= IHB1cmNoYXNlcw== Njk1 RHJhd2Vy ZXh0cmFjdA== IGV4ZWN1dA== fScu dXNlcmRhdGE= IGZvY3VzZXM= LW1pbnV0ZQ== NzY0 IFB1Ymxpc2g= b2dv IG1vdW50YWlucw== Qm90 fT57 IHRlbnNpb24= cm9k bWVzaA== IHRyYW5zZm9ybWVk LFI= KCl9Cg== Lmxvbmc= IGdvcmdlb3Vz IFNjaGVkdWxl IG9sZGVzdA== IHN1YnByb2Nlc3M= KElO eWVjdA== IENvb3Blcg== YXJuZXNz IE1vbml0b3I= LnBhcnQ= OTcy IE5CQw== NjY4 IGNvdHRvbg== IGhvbA== NzI2 IHJnYmE= IEJpbw== Q29udGludWU= UG9k IHBhcnRpY2lwYXRpbmc= Y2x1c2lvbnM= KEJ5VmFs NzM0 w6w= IEhPVw== X3NldG9wdA== IGFjY29tcGFueWluZw== MDkx YXRvbg== IC9c IEF1dGhlbnRpY2F0aW9u acOpbg== IEJhcmFjaw== Lyou IGVhZ2Vy IENhbmNlbA== PGxlbW1h ZXBo CXdpbmRvdw== IGluY2lkZW50cw== NzU2 KSwo LkRlcw== aWJl IEZ1bmN0aW9ucw== IGhvc3BpdGFscw== MDM4 IG94eWdlbg== cm9vdFNjb3Bl IGRyZXc= CXJlcXVlc3Q= bm90aWNl YWt1 YW1lbnRz ZmFy OTcz Nzc0 IHByZWNpc2U= X3dyYXBwZXI= IGxpc3RlbmVycw== QVo= LmJvdW5kcw== IEF2ZXJhZ2U= ZmllbGRzZXQ= X2F4aXM= IGV4YW1pbmF0aW9u Jy4K bW9ucw== Kyspew0K IEZvcm1z 7ZWc OTE2 Q3BwTWV0aG9k X3RyYWNl IGVuZ2luZWVy NjYz IEZsYXQ= IHJldmlzaW9u IGhlYXRpbmc= NjM4 L3Byb2ZpbGU= LnJ1 cHJpb3JpdHk= IGluZmVy X1NUUkVBTQ== ICopKA== PiQ= T0xFQU4= T0tJRQ== SUJJTElUWQ== VUFHRQ== IFN1cnZleQ== MDcx IHJlc2lnbg== d2luZw== IHNlY3JldHM= IGNoaXBz SlNPTk9iamVjdA== RGVza3RvcA== NTk2 X1NZTUJPTA== KHJlc291cmNl IDwvPgo= IG5ld2VzdA== dWxp IGRlc2VydA== IGRpcA== IFBvdw== IGVxdWF0aW9u IHBvc3NpYmlsaXRpZXM= IEZlZA== b3NwaA== IFsl IGJ1YmJsZQ== ZXRoZXJsYW5kcw== Nzkz IGNlbWVudA== LmF1dG8= X0FO 4oCZLg== c2VsZWN0aW9u IEJvbmQ= OTg4 RGVu LU8= LmdldFR5cGU= ODk2 LldpbmRvdw== cHJlcw== IHN3aW5nZXI= In0pCg== IHBpcA== IG1pY2U= IGNvbXBvdW5k LXBsdWdpbg== aWtv IGNlbnR1cmllcw== aWN1bGFy LWlubGluZQ== CWtleQ== Plw8 RU5TSU9O IFsNCg== IHByZWNpc2VseQ== IMOpdMOp IFBhc3Q= IENhbWJyaWRnZQ== LWZ1bGw= IGFuYWx5emU= IFN0ZXZlbg== IG5lbQ== ZHVl b3Jlbg== IG11c2NsZXM= aWppbmc= ODUy Ly0= IEtlbm5lZHk= NTk3 Uk0= b3NzaWJsZQ== IGFjdHJlc3M= IGRvbG9y OTE0 5b2V TmVlZA== LnRvZ2dsZQ== IFJhY2U= d2Vycw== Lm1hdGVyaWFs IER1ZQ== IFBlbA== I3ByaW50 IGluZGVwZW5kZW5jZQ== ZXh1cw== U2hhZG93 IGVuY29kZXI= KGxldmVs IFN3aWZ0 LmRvYw== X3NlbGVjdGlvbg== OTUy IHNlcmlhbFZlcnNpb25VSUQ= OTQ1 TGFiZWxz IHBlcmZvcm1hbmNlcw== LlRhZw== IE5ITA== aXplbg== L1VJS2l0 OTkx X0NPTlRST0w= IGVhcm5pbmdz OTc1 IEFsdA== X0hBTkRMRQ== Q3R4 IHBlcnN1 IHRyYW4= 56g= X0NIQU5ORUw= IHNhdGlzZmFjdGlvbg== IEdQ NzY5 aW94 bWl0dA== bGFuZG8= IHBpZw== aW5hbHM= w6puY2lh NzMx U3VyZmFjZQ== IFVVSUQ= IGJlbmVmaWNpYWw= IHNlcXVlbmNlcw== CW1lbXNldA== IG1hZ2ljYWw= wqs= IHdvcm4= QVND cG9wdXA= Q09NUA== X2JlZm9yZQ== ZW5lc3M= VWk= TGVz LnJlcXVpcmU= LlNlcmlhbGl6YWJsZQ== YWRkR2Fw IGF1dGhvcml6YXRpb24= MDg1 LnB5cGxvdA== dXJyYXk= bGF0aXR1ZGU= ODQ1 ZnJhbWVz YWpz IGNvbXBhc3M= IG9ic2VydmF0aW9ucw== X3N1cA== LmVudmlyb24= IHRyaXBsZQ== IFJ1Ynk= IGRyYWlu X0ZJTFRFUg== U2Fu VU1Q TnVsbEV4Y2VwdGlvbg== IEdhYg== b3dl IFR1cmtpc2g= X3NlcXVlbmNl IEdyYW50 dWVsYQ== IHdv IGN1YmU= aXE= IGRpc29yZGVycw== IGV4dHJhb3JkaW5hcnk= IGN0cmw= IFNlcQ== ZW50cg== ODY1 IHNhbmN0aW9ucw== OTQ5 dXRzY2g= UmVwb3J0cw== IGluaGVyaXQ= UGVyaW9k IHBob3RvZ3JhcGh5 IEZyYW1ld29yaw== IHNwZWNpYWxpc3Q= ID8KCg== X3NlbGVjdGVk LlBsYXllcg== IGFsbG9jYXRpb24= KGFjY291bnQ= IHN0cnVjdHVyYWw= dmFibGU= LW9mZnNldA== LkFwcENvbXBhdEFjdGl2aXR5 0LDQvA== LkFkZFdpdGhWYWx1ZQ== IGljb25z IHNodXRkb3du X2xvdw== IENvbXBhcmU= IENl PWhlYWQ= bGFt LnByZWRpY3Q= X0RFQw== IFNsZWVw IEdyYXRpcw== IHN1Z2dlc3Rpb24= IERFTA== Y2FmZg== YXZpcnVz Tm90aGluZw== nos= IHdpZGVzcHJlYWQ= IG1lY2hhbmlzbXM= IHRleHRBbGlnbg== b2NjdXA= IFJhaWw= Ok5T IGZpYmVy IG1r IHZpbnRhZ2U= LWxvbmc= LnJlZHVjZQ== LkVudGl0aWVz KHJlY29yZA== IHBsZWFzYW50 RlJJTkc= LkNlbGxz T1RU CWVsc2VpZg== NjQ5 NzI0 X2NvbmZpcm0= IFZpZXdHcm91cA== c3lt IHByYXk= IHN1c3BlY3RlZA== Q29udGFpbnM= OTgz IGJvcmRlcnM= IGNvbXBvbmVudERpZA== QVNTRVJU IGluZmluaXRl LW9yZGVy IGhlbGxv IEdyYWRl LmN1cnJlbnRUaW1lTWlsbGlz YXBvbGlz emg= CU9iamVjdA== Olxc SE8= dmFsdWF0aW9u IHZvY2Fi NzE5 IGNvdXBvbg== YXRhYmFzZXM= LkdldFR5cGU= TGVhcm4= Nzky XT0i IEdhcnk= b3RpdmU= IGFzaA== IGJpYg== WFhYWA== IGJhbGFuY2Vk VkFMVUU= IE5hdA== X0Fk PEU= 5Yy6 IE1ldGhvZEluZm8= ODk3 TElC IGNvbnNpZGVyYWJsZQ== IEluZHVzdHJ5 dGVzdHM= LnNldFRpdGxl IEJsdWV0b290aA== IG1hcHBlZA== IEJydWNl IE1haW5XaW5kb3c= CXN0YXR1cw== IHJheg== IE1hbmQ= IGNsYXNzaWZpY2F0aW9u UGVybWlzc2lvbnM= OTY5 IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0= IGNvbnRhaW5lcnM= OnNldA== X3htbA== IHdoaWxzdA== VGhyb3VnaA== IHZhbGlnbg== IHdvcmxkcw== Q09SRA== RURJQQ== 0YDQvtCy IHNwYXJl IEhhZA== IERFRg== KHB0cg== IHdhcm1pbmc= ODk4 4KS+ IGNvbnNlbnN1cw== YWduZQ== Q1RM IOyV Lk1haW4= d2ViRWxlbWVudA== IHBpc3Q= Rmxhc2g= QXBwZW5k LnR3aW1n VGFw IHZlZ2V0YWJsZXM= YWxn MDU4 LnNhbXBsZQ== IGNvYWNoaW5n KGluZA== Q2VsbFZhbHVl Q2hlY2tCb3g= IEhlbGw= Uk9PVA== Nzk2 IHN0YWRpdW0= IGludmVzdGlnYXRpbmc= KSU= c3RlZA== OTY1 IFdyaXRpbmc= IOqy IHVubw== IHt7LS0= IGNvb3Jkcw== IHVuc2Vy b3JnYW5pemF0aW9u IENyaW1l IERlbW9jcmF0 NTc5 IHZpbg== L2ZpbGU= MDc4 LWFwaQ== IEF5 IGZ1bmRlZA== IEJyZXhpdA== IEdo ZW50aW5h Y2FzZXM= IGRhc2g= ICEhfQo= SEk= T2ZmaWNl IGNhcHRhaW4= IHdvcnNoaXA= XEM= NzMz ODUx IGdsb2Jl X2JvYXJk IGJhYmllcw== ODc2 IGNvbnNlY3V0aXZl IGVuaGFuY2Vk ZXJldW0= IEFkdmlz IGdyYWlu Nzcx IGNyYXc= YW5jZWxsYXRpb25Ub2tlbg== LmFscGhh X1dJVEg= IE90dA== IENvb2w= LmJhdGNo IHZlcmlmaWVk KGNhbGxiYWNr IHJlZ2FyZHM= Njgz IEludFB0cg== b3VjaGVy IGtpbg== IHRvdWNoZWQ= aXTDoA== YXRob24= IGFkamFjZW50 IGFjY29tcGFuaWVk TEVBUg== IGltcGxpZXM= IGhpbGw= IEJhbHRpbW9yZQ== PSIt RmluYWxseQ== ODgz U2Ft aWNvcHQ= IHNvZA== IG1hag== IFNoaXBwaW5n IGdldEFsbA== IGNvYWNoZXM= IGRvbmF0aW9ucw== aWxvdA== IFRhcg== Y2Vycg== IGJhZGdl IG1hcmtlcnM= IFJhbmQ= YWlzZWQ= aXNzYW5jZQ== IGV4cGxvcmluZw== ODI3 dWNlZA== IEluZG9uZXNpYQ== IGJlbmVhdGg= IG1hZ25ldGlj IG11c2V1bQ== bWF0Y2hDb25kaXRpb24= IGRpc3J1cHQ= IHJlbWluZA== IFRN IC8+PA== IGZvb2w= IGVzaw== Lk51bGw= IERpZXM= X09VVFBVVA== X1RZUEVE IHBhaW50ZWQ= Njcz NzM1 IHNvcGhpc3RpYw== IEJlYXI= Km4= X1BBQ0s= IGRlbGl2ZXJpbmc= IENPVU5U 5Y2V IGplZw== LWNhcg== Zm5hbWU= IHJhbmdpbmc= ODQ4 IE5lZw== LyoqKioqKi8= IENIQVI= IHVsdHJh R3JhZA== PXQ= IGp1ZGdlcw== IERpc2U= YW5uZXJz OTg1 ODkx ODYx IHNjYWw= X2NhbA== IENPTk5FQ1RJT04= X2VtYmVk KGZu IENyYWZ0 MDQ3 IFBhcw== IiktPg== LmNvbnZlcnQ= LnJlc291cmNl IFNUQVRVUw== w7RuZw== IFRpdA== IGNsYXNzcm9vbQ== IEFyY2hpdGVjdA== IEtpbmdz IHN0ZWFkeQ== LyohCg== IEdlbmU= KSI7Cg== aWNpYQ== c3Rhbg== IENvbnN0cnVjdGlvbg== dW1wZXI= OTUx d2M= IENCUw== aW5naW5n LXBhcnR5 KGRyaXZlcg== TUFSSw== MDgy IG5lc3RlZA== ZXdhcmQ= IGRlcGVuZGVuY3k= IG1hbGVz OTI4 IE9ORQ== IFByb2R1Y3Rpb24= XVsk 44O844M= X0xPQUQ= IEJvbA== ZWxyeQ== ODMx oOmZpA== IFJlcXVpcmU= IHBsYWNpbmc= eHh4 Q0FMRQ== IHRodW1i ODI0 Q2hvb3Nl IHByb3RvdHlwZQ== Vk9JRA== IGxlc2JpYW4= NzQx IHRyYWl0cw== U2hhcnA= IGNvbnN1bWU= VHJ1dGg= IGFjdGlvblBlcmZvcm1lZA== IEVudmlyb25tZW50YWw= IERlYW4= IGVzdGFkbw== c2FtZQ== IG51bWVyaWM= IHRyYW5zaXQ= LkVtYWls LXNpZGU= X1JVTg== IFZpbGxhZ2U= X09QRU4= 6KY= LnJlbQ== LXdhcm5pbmc= YW55YQ== UHJvcGVydHlDaGFuZ2Vk ICghXw== KGNoZWNr aWxpYQ== IFNvZnQ= c3RlcHM= IE1hZHJpZA== TWVtb3J5V2FybmluZw== IGhhbmRsZXJz IGV4cGVyaWVuY2luZw== IGluc3BlY3Q= YnV0dG9ucw== UmVjZWl2ZU1lbW9yeVdhcm5pbmc= Y2hlbXk= TGlua3M= IHVybGxpYg== LlN5c3RlbUNvbG9ycw== IEVpZ2Vu IHB1bmlzaG1lbnQ= OlVJQ29udHJvbA== YmFyYQ== LXNldA== IH0NCg0KDQo= IHRvbGVyYW5jZQ== IGludGVyZmFjZXM= LnJlZGlyZWN0 aWdoYm9ycw== Y3NyZg== X2JhY2tncm91bmQ= LlV0aWxz X0hU Njky IEludGVyZXN0 aW1vcw== IGdyYW50cw== MDgz IGV4YW1pbmVk 0JQ= IGNm Zm9yZ2U= YmFja3M= IE9iamVjdHM= X3NlbnQ= LmVudHJ5 IFRIRU4= ZWxsaWRv Y2lh LHJlcw== NjU5 Njgx L3N0ZGM= Lm5k KEludA== IEF1dGhvcnM= IEFwcENvbXBhdEFjdGl2aXR5 J3s= IG1lZGk= TXVzaWM= aWdt Y2VpcHQ= IGF1c3M= IHRhcmdldGluZw== IEtleXM= aG4= Ol0K IG1pbmVyYWw= w64= LmNh NzYx b21lZA== IHNoZWV0cw== IGNhbWI= IGRlYWRseQ== LmluamVjdA== KHVuaXQ= IFNlbGVjdGlvbg== Lmdtcw== KGNvbm5lY3Rpb24= ICQoIg== w6ltb24= IEN1cnJlbnRseQ== cHRl X3BhdGhz ODQ3 bGVhZg== IGltcGxpY2F0aW9ucw== cG9zYWw= 5L2N Wy8= YW5jaWE= 6Zs= bXVs Y2ll IGdlaWxl Njc5 aW1hbHM= VUlWaWV3 IHN1cnJl c2VyaWFsaXpl SVNP IGFyYml0cmFyeQ== IHNvY2thZGRy LmZu IE1lcmM= IGNhc3Rpbmc= S2V5RG93bg== IG5ld1ZhbHVl b3BlbnM= NzE3 VG9kbw== IGZsZXhpYmlsaXR5 CQkJCSAg VmVsb2NpdHk= w7pu cm93aW5n IGNvbXB1dGVk YCkK c3RhdGVtZW50 IHJp X2NhcnQ= TG93 dHJhbnNmZXI= Lm5hdg== IGdyYXZl IERvb3I= CWFsZXJ0 Njkx Njk4 LnN1YnNjcmliZQ== LXByb2ZpbGU= CWJhc2U= IOKIkg== X18KCg== IGVuZ2luZWVycw== IGV4cGxvc2lvbg== IGRhcmk= Njgy CUxvZw== b25hbA== IGlzb2xhdGVk e2k= IE1zZw== RnV0dXJl IHJhY2lzdA== LXdyYXA= IFZlcnM= Ym9yZw== SVNJT04= INGA0LDQ IFlhbg== ODM2 aW5pdFdpdGg= IG5vbWlu KGVtcHR5 w61u 44Kk CXdpZHRo IGNoYW1iZXI= L2FqYXg= RU1Q MDkz IG5lY2Vz aXZvcw== bG9naWM= Kikm Y3JpcHRz OTc2 Um93QXQ= MDUz aWJsaW5ncw== IGVhcnM= IGNvbXB1dGluZw== IG1ha2Vy IE5laXRoZXI= YnJlYWRjcnVtYg== IHNlcmlhbGl6ZQ== IFdpdGhpbg== IGRlbGw= X1RSQUNF MDky PWE= IHdpc2hlcw== LWluY2g= IERvcg== IGlubm9jZW50 IERvbA== IGludGVucw== Zm9yY2Vk MDU0 IEJJVA== IHBob3RvZ3JhcGhz IGNhc2E= IExlbg== XEZyYW1ld29yaw== LlNpbXBsZQ== IGRlYXI= ODk1 KS8o aXBwaQ== IG93bnM= UGxheWVycw== IHByb3Bvc2Fscw== LnBp dXNhbGVt RGFtYWdl IGNhbG9yaWVz IENyZWF0aXZl IFsk IC8vDQo= Nzg2 QW5kVmlldw== w6htZQ== LmN1c3RvbQ== X2ZhY3Rvcnk= Y29tbWFuZHM= X2xvb2s= IHN0cmNtcA== WU4= YWlyZWQ= IGF1ZGl0 0L7RgdGC IFJldmVyc2U= cm9wcmlhdGU= ZXRpY3M= PHZlY3Rvcg== LnNlbGVuaXVt Lm9y IHByZWRpY2F0ZQ== IGZpbmlzaGluZw== IGtsZQ== IFJlcG9z IEtoYW4= IE1ha2luZw== IEZT IHB1dGU= CXN0YXRl X1NVUFBPUlQ= Jy0= b3JpZW50YXRpb24= IGV4aXN0ZWQ= YXR1cmE= IGV4cGVjdHM= IFNoYWRvdw== OTY2 IG9yZ2FuaXo= 5Z6L IHN1c3BlbnNpb24= NjY5 IHVpdA== IHNpbXVsdGFuZW91c2x5 IEFmZmVybw== OiIpOwo= IHJvY2tldA== Y2Fz ZXRlcm1pbmU= YWNldXQ= Njkz eGw= IEFNRA== KGdyYXBo NzU4 ODcy YXNzb2Np X0NS LmFyYW5nZQ== MDQ5 KGpMYWJlbA== IGJlZWY= UXVpY2s= LmNhcmQ= XSk6 LWdy Nzk3 LkdPTkU= X0NMT1NF IE5ldg== w61hcw== IHN0ZXBwZWQ= IEZyZWVkb20= IFdS TlNBcnJheQ== X3J4 X2RpYWxvZw== IGhvdGVscw== OTUz IChcPA== IERpYW1vbmQ= IGFzc3VtcHRpb24= dW1p KGl0ZW1z DQ0NCg== 5rOV IG5lbA== Qm9va3M= 5Y6/ dXNi IEZJTg== ODgx 5qw= IGNvcnBvcmF0aW9ucw== VVNB ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== OTI5 LnByb3BlcnR5 ZXdpc2U= X3Bsb3Q= Ij4nOwo= IHBlcHBlcg== OTg5 IHNoZWQ= IE1lZGl1bQ== IENvb2tpZQ== ODg5 IG92ZXJzZWFz ZWRvcg== YXN1cmVtZW50 NzY2 5a2Y ICcuJw== IHBocA== IFBST0M= IGV4Y2VwdGlvbmFs KHRo IEpldA== IG9jY3VwaWVk LnNldEltYWdl IFJlbGF0ZWQ= dWNrZXI= TWVtYmVycw== UFJJTlQ= IEdsbw== X1ZJRVc= fSIsCg== IGFkb3B0aW9u W10pCg== ODQy IE1pc3NvdXJp IExpbmNvbG4= ZXJhbGQ= UG9wdXA= IGZhdGU= LWJvb3RzdHJhcA== ZmVjdGlvbnM= IFBvbGw= X0FSR1M= aW5hbmNl Njk3 LWhvbWU= Liks X2RvbmU= Njk0 OgoKCg== IGRpc2N1c3Npbmc= IFNRTEV4Y2VwdGlvbg== IGVsZWN0cm8= CXJlcQ== IHp3 ODg2 IGx1aQ== OTMy IG92ZXJuaWdodA== JHVzZXI= IFdBWQ== IGFsbGVyZw== IGRpc2FwcG9pbnRlZA== IHJhZGlhdGlvbg== IGltcHJlc3NlZA== aWZpY2F0ZXM= IHRvYg== Q0xBU1M= IGN1ZGE= X2RldA== LXBvc3Q= dWx1 VHJhbnNsYXRpb24= LWhhbmQ= LnllYXI= IE1vbmdv IHVuY2xlYXI= LmVuZ2luZQ== V0VCUEFDSw== cmljZXM= X0FDQ0VTUw== IGhvbGlkYXlz cGVyY2VudA== LklkZW50aXR5 IEdvdg== IHBhc3Npb25hdGU= ISEu IEdyZWVjZQ== cGx1c3BsdXM= JykpOw== R1A= IGV4Y2l0 LnRhYlBhZ2U= X2NvbmQ= IHNwb25zb3I= TU9EVUxF X3Byb2M= ICQK IHJhdGlvbmFs LlRvb2w= IGlocg== Y2Nh 5ZOB IEVzdGF0ZQ== SUJVVEU= QWN0aW9uUGVyZm9ybWVk IFNvbGFy poI= IGVxdWl0eQ== dGlk OTM4 IHJlY2lw LnNpbXBsZQ== bWs= Njg5 IEx1a2U= IEd1YXJkaWFu IGVuY3J5cHRlZA== IGRvbWluYW50 LnBsYWNl IE5W ODM5 IHRvbmd1ZQ== KEdldA== IHN0YWlubGVzcw== LlBsYXk= IGVi YWNp LmJ1ZmZlcg== cmVhZGNydW1icw== IHZhY2NpbmU= cHJvbQ== OTc5 IHVzZXJJbmZv IHNsdWc= U2VyaWFsaXplZE5hbWU= LXdpZGU= IHJlYWN0aW9ucw== IFlhbmc= IEFkZHM= KHVzZXJJZA== IHBsYXRlcw== IE1FTQ== IGJhaWw= SW5zaWRl ZXRlZA== IGVsc2lm IHNha2U= IGN5Y2xlcw== IOyX CUk= LWNvbGxhcHNl ODQx IEdNVA== ODE0 RGVjbGFyYXRpb24= IGdyb3M= IHJlYWNoZXM= IGN1c3RvZHk= VW50aWw= NzUz ODU2 dHU= IENoZW4= IG54 KGFkZHI= IE9mZmVy IGNvbGxlZw== YXNzYWRvcg== Njc0 IG1hcHBlcg== ODU0 IFNJR05BTA== IEJsb29t IEhvbGw= IEltcGVy LWRlcw== X3NpdGU= UHJvYw== RXF1 IGF0b21pYw== IFdvbWFu c2VudA== NzM4 ODE3 c2Nhcg== IGludGVsbGlnZW50 IEdldHRpbmc= IFJlZ2lzdHJhdGlvbg== IFBoaWxs IGtpbGxlcg== dW5pY29kZQ== CgkJCg== IEphY29i IENvbnN0 IGxvY2F0ZQ== IGNhdXM= NzQ5 IFNjaG9sYXI= IGNvbnN0aXR1dGlvbmFs IGluZmxhdGlvbg== IEdvdA== PWFycmF5 ZW5kdW0= IHRyYW5zbGF0ZWQ= IGRpdm9yY2U= RW50cmllcw== IHNvcg== IFF1b3Rl aXJsaW5lcw== VUs= IGV4Y2Vs KG9wdA== IEFEVg== LDos IGNvbnRhY3RlZA== NzQy IERB IHJpbmdz IEluZHVzdHJpYWw= LmdldENvbnRleHQ= IGZvcmdvdHRlbg== IFRhbg== IHBhbnRz IG92 IGRlY29kZXI= IFBhcnRpYWw= IHZj IGJhdHRsZXM= QXJpYWw= RlJJTkdFTUVOVA== aXJhdGVz LHc= YWludGVuYW5jZQ== IE9k IFRlY2hub2xvZ2llcw== 5YmN IENhcnRlcg== LmZpbmRBbGw= Tm9tZQ== QmVu IFVzYWdl IFBpY3R1cmU= IGJhZGx5 X3BhbmVs IHBhdGVudA== IFByb3RvY29s bG90dGU= CXBsYXllcg== amVjdGlvbnM= NzQ2 IGRvdQ== X3JlbGVhc2U= dXJuaXR1cmU= X3RheA== IEZpZWxkcw== LmRhdGFzZXQ= X21hc3Rlcg== Q0xVREU= IFBoYXJt YnN0 IG9wZXJhdGlvbmFs LmNlbGw= IGlkZW50aWZ5aW5n IGp3dA== dHVwbGU= IFRD IENybw== OTM2 aXhtYXA= LWNvbXBvbmVudHM= Z2VuZXJhbA== IG96 X0Rl X2RvdWJsZQ== IFRvbw== MDg4 LlZpZXdHcm91cA== ODc5 Z2F0ZQ== ZGluZ3M= cGhvdG9z IGdyYW5kZQ== b2xsZWN0 X2xpbg== IGF3ZnVs ZmlsdGVycw== IGFsdGVybmF0ZQ== ZXNw IGNvbXByZXNz ZW8= IFNjYWxl IGluZGlyZWN0 IGludm9pY2U= CgoKCgoKCgoKCgoKCgoKCg== U3RhcnRpbmc= IFBsYXllcnM= aWVsZQ== LnRoZW4= OTgx T3Jk IFR1cGxl IGJvdXQ= IFN0YXRpc3RpY3M= UHJldmlldw== IHB1enpsZQ== IFdpZHRo U1RBVEU= IG92ZXJsYXk= CW9u IGluZnI= IHNtYWxsZXN0 bG9ja2Vk 0YLQvg== c3Ns Nzc5 IGRlZW1lZA== IHNjbw== cmVjaw== IGpCdXR0b24= IG1pc3Npb25z ODcx 56ew LlNlbGVjdGVkSW5kZXg= VEFCTEU= U2VwdA== IGFja25vd2xlZGdl IHN0cnRvdGltZQ== IFRlbGw= IERhaw== IGFsdW1pbnVt IGZlbmNl IFN0YXJz Q09ORklH IHJldHJvZml0 IGVtcGhhc2lz L2hlYWRlcg== IFNvbWV0aGluZw== aW5pc2hlZA== PSciLiQ= IFZhbGlkYXRvcnM= IHBvbGFy c2VjdGlvbnM= OTQ0 LmFzcHg= IGFzcGly Lk1vY2s= Q29kZUdlbg== IHBldXQ= OTcx IGFjY2VwdGluZw== IGJhY2tpbmc= UGljdHVyZQ== L2Fw 0LXQsw== X1NFQw== LXVzZQ== YW5ub3RhdGlvbg== IGNvZ25pdGl2ZQ== IGdyaXA= aG91cg== IExlZ2Fs IGVwaWM= LnRvb2xTdHJpcA== Lm5vdGlmeQ== Lkxhc3Q= T1JJWg== TWlkZGxld2FyZQ== Y3JpcHRpb25z bGFzaA== X0ZPVU5E IExpdmVycG9vbA== IHt9Iiw= OTMx SW5zdGFsbA== IG5pdA== IGZpZ3VyZWQ= W2xlbg== Lldpbg== LnBsYXRmb3Jt ODUz IGdhbWJsaW5n KGR0 YXZlcnk= CWluY2x1ZGU= V2hldGhlcg== Um91dGluZw== IHRoZXJhcA== UmVtb3Rl IExvc3M= eWxs IGFwcHJvYWNoZWQ= IFZlaGljbGU= IEFscGhh IHZvY8Oq YW5zd2Vycw== TlNEaWN0aW9uYXJ5 OTU0 Y29uc2lkZXI= dW51c2Vk IEZhbg== b3JhYmxl ZnJl ODcz IERJU0NMQUlN IEFjdG9y Ll0= dG9IYXZl LnVzZXJJZA== IHNwZWVkcw== ZXdheQ== IHJlY3Vycw== INCz X3ByaXY= IeKAnQoK Q2hvaWNl IHNldHRsZQ== IHBsYW5lcw== J30s VG9t SVRFUg== ISIK 5bs= YWNoZWxvcg== IHNlcGFyYXRpb24= IGRhbA== YWRq IHJlZ2lzdGVycw== cml6 IE5vdGljZQ== IGx1 IGNvdXJhZ2U= IGF4ZXM= Y2VsbGVudA== LmFzeW5j MDcz IGNvbXBhdGliaWxpdHk= 56s= ICEKCg== CXRpdGxl WUxF CW1lc3NhZ2U= VVVJRA== T0xERVI= IEhI IFN0eWxlU2hlZXQ= IGFjY2Vzc2Vk LnZhbGlkYXRpb24= dGFza3M= IHBvbGx1dGlvbg== LmNhbnZhcw== IGluZ3JlZGllbnQ= IENhYmlu QWg= b2xkb3du IE5PSQ== IMOX W2Y= ZWR1Yw== eWFsdHk= KG5vdA== X1N0YXRl OTMz YW1lbg== Nzk1 NzM5 IGRhbw== dWRhZA== ZWxsZXJz fSY= bGljaXR5 X1dJTkRPVw== IHRhdHRv dmFsb3I= LlJhbmdl IHJlZmVyZW5jZWQ= IFJlc2VydmU= TW9uZXk= ODc0 U0NSSVBU L3Byb2R1Y3Q= Y2hvaWNlcw== IHRpbg== 44KT OTE4 IHNlcGFyYXRvcg== IHBrZw== YW1tZWQ= IE1BVA== ISEKCg== IHJhaWQ= IG1vdGl2YXRpb24= IFhQ IEJhY2tncm91bmQ= IFF1YXRlcm5pb24= LmRlZmluZVByb3BlcnR5 aWtlcg== CXBhcmVudA== IE9yaWdpbmFsbHk= YW50YWdl IEhhbnM= IHRpbWVsaW5l LmN1cg== b3BpYw== IFNlcXU= bXVzdA== IENvYWw= IGZvcm1hdHRlcg== X1JHQg== IF8oIg== J30pLAo= ID09PT09PT09PT09PT09PT09 IEZVTkNUSU9O IGxuZw== aWNhdGVz bGl2ZQ== X2VuZ2luZQ== IHRvd25z ODY4 JykpCgo= IFBL KGFwaQ== CXNjYW5m MDg5 cGFja2V0 LnBob25l 4YA= IEFuZHk= X05BTUVT OTgy UExZ OTU1 IG1pbnM= aW1p IGJyaWNr IGJsYWRl LnN0ZG91dA== fWA7Cg== U2hpZnQ= CXNi IENoZWNrcw== IHBoZW5vbWVub24= QXZhdGFy IG1pbmlzdHJ5 cm9zZQ== CUZpbGU= ODc4 IHRpdGxlZA== KExPRw== IGdhbg== ZGVzaWdu KCksDQo= IGJvbmVz c3Rt xZvEhw== IElucHV0U3RyZWFt IHZvbHVudA== IFNlcmlhbGl6YWJsZQ== IGZpZ2h0ZXI= IERyYWc= VHdpdHRlcg== IHN1YnNpZA== 57w= IGZvcnVtcw== LmxvYWRpbmc= bG9nZ2Vk X3RoaXM= IHRlcnJhaW4= IGlycmU= IEluZw== IENO X29iamVjdHM= LnVpZA== IGNvbnNjaW91c25lc3M= VElOR1M= IEdhbGw= IHBvcnRyYXk= MDU2 IERldmVsb3Blcg== IHBhcnRpY2lwYW50 ICI7DQo= L21vZGVs Nzk0 IE9wZXJhdGlvbnM= Xlw= IExhdGVy IHJhaXNlcw== LW5vbmU= Lm1ldGE= PScuJA== RmluaXNoZWQ= IHJlcGxhY2luZw== IHNhbXBsaW5n IEplbg== IlRoZXJl UkVBTA== QUxF 7Iqk T3JkZXJz X3BhcmFtZXRlcg== IE9seW1waWM= IHRyw6hz IGFyZW5h aW9s Oz8+ IGltcGFjdHM= IFdT OmdldA== IGZsaWdodHM= IFJ1c3NlbGw= Y2FtZXJh Rm4= c2lnbWE= IGZvcmNpbmc= IGxvY2Fscw== IGRlcGFydHVyZQ== IGNlbGVicmF0aW9u IFNheQ== ODg0 77yS IEhpbGxz Lmhhc093blByb3BlcnR5 IHR5cGluZ3M= LkFQSQ== IGRvbmF0aW9u T3BlcmF0aW9uRXhjZXB0aW9u LkFjdGl2aXR5 Y3BsdXNwbHVz IENoYXJsaWU= IGltcG9ydGVk IGRhbm4= IG9jY2FzaW9ucw== IGltcGxlbWVudGluZw== IHB1cnBsZQ== LmRpYWxvZw== U1FMRXhjZXB0aW9u ZXJubw== IHdhcnM= IHBhc3Rl IGRlY3JlYXNlZA== IGhhcnNo IGVsYWJvcg== aW5wdXRz IFZpZXdz IGVycm9yTWVzc2FnZQ== X211bA== CXdyaXRl IENvcA== IEFubnVhbA== KGJ1dHRvbg== IHZpZGE= YmFycw== IEhhcnZhcmQ= CWV4cGVjdA== IGluZGV4ZXM= IGRvY3VtZW50YXJ5 IGZsZXNo T1JMRA== IERlbHRh TUFORA== QnJ1c2g= LWNvbHVtbg== IGRldmVsb3BtZW50cw== OTc0 Nzgz bWV0aG9kVmlzaXRvcg== c2xpY2U= IFBETw== IGludmVzdGluZw== ODY3 aXJhYmxl IHhtbG5z 77yb YXJ0YQ== IHRoZW9yaWVz X2NpdHk= ICRfXw== Q3JlYXRpbmc= KHBy RHJvcGRvd24= aXNtYXRjaA== IE5FVA== OTI2 J10pKXsK IFZhbHVlcw== IFNFTw== IFNUQVQ= IGVjb3N5c3RlbQ== IHRlbXB0 IFxc IC8vewo= IENocmlzdG9waGVy IEtlbnR1Y2t5 IEh0dHBTZXJ2bGV0UmVzcG9uc2U= IGh5YnJpZA== eW9u IGZlZWRpbmc= IEV4dHJh Tm9ybQ== SVRDSA== IFNlYW4= IFVwbG9hZA== bXVu cHVy IHBlcnNpc3RlbnQ= IElEQw== IFBlcmZvcm0= ODYz Lm1lcmdl X3Jvb20= TWVhbndoaWxl IT0n IFdlbA== QXJnc0NvbnN0cnVjdG9y ODg3 LkRhdGFiYXNl IGNvdW50aW5n KCkq lOWbng== IFRPUA== bWlsbA== IERU SUdORUQ= OTU2 IEtC IGNvbXBseQ== U291dGg= X2NvbGxlY3Rpb24= Q2hhcHRlcg== IGV4cGxhaW5pbmc= X0FN X3Rz Y2FyZHM= IHF1ZWw= IHBvbGU= IHRvdWNoZG93bg== IE90aGVycw== IHBlZXJz IFR5cGVFcnJvcg== NzYz IHNpeHRo IGNoZWVy IGRpc3B1dGU= OTYz ODkz dXNj KV0s dGh1bWI= IGhpZGluZw== IFNJRw== bGlrZXM= IFBBR0U= LlJlZmxlY3Rpb24= IGhlYWRxdWFydGVycw== VElORw== IEdob3N0 TUxF JAo= IGNvbnRyYXJ5 ZXh0ZW5k J10pLg== RkZFQ1Q= IFBpbnRlcmVzdA== w7ptZXJv cmljYW5l CXNlc3Npb24= IGNyeXN0YWw= LUNvbnRyb2w= b3Zlcm5tZW50 b2dyYWY= OTYx LWFjdGlvbg== dm9sdW1l ZnRlbg== IHVuY29u IGFuaW1hdGU= IGxlYXNl c2Ny IHJlZnVzZQ== 44CL ZnRw aW5mb3JtYXRpb24= IGV2YWx1YXRlZA== IGluamVjdGlvbg== IGphY2s= IHdvcmtzaG9w 5rOo UFRI IFRz b2ZmZXI= CW9z IGtpbmdkb20= TWlzc2luZw== IGxhd21ha2Vycw== ZXh0RmllbGQ= IHNpbmdpbmc= YWJp L2NsaWVudA== Lm1lZGlh QVRFR09SWQ== U2lnbmF0dXJl JScsCg== IEZ1Y2s= XVs6 IHNlbnNvcnM= L2NvbQ== IFByaW1hcnk= LlNRTA== X3Byb2dyYW0= IHBpbGxz IGludGVncmFs IGZsZWV0 IGRyb3BwaW5n LnNs QmVlbg== IHBldHM= IGFkdmlzZWQ= IGRyYWdvbg== X0VESVQ= KGlt OTM5 RkVS IERydWc= KHJhbmRvbQ== IGNvbXByZXNzaW9u b3VzdA== WyU= IGJ1eWVy aG9w Um9sZXM= bWFuYWdl IHBhaW5mdWw= IEJyYW5jaA== LW1vZGFs ZW5hbnQ= IE1lc2g= L2ZvbnQ= IEdyYWhhbQ== IOKY IG5j IEZyYW5jaXM= IHNwZWNpZmljYXRpb24= IGRhbWFnZXM= LWNvbmZpZw== IHRoZW9yZXQ= c2VjdXJl X211bHRp YWNldXRpY2Fs IGRlbWFuZGluZw== ZW5uZQ== SVNUUw== MDk0 KCkpKTsKCg== UmVhc29u UmVjZW50 cGhhc2U= IHBzeQ== X01BTg== IHZvbHVudGVlcg== 5b8= aXN0cmlidXRlZA== bGlv IHByb2R1Y3Rpdml0eQ== X2NvbW0= U3ByaW5n bmlz LndlaWdodA== IENhbmNlcg== QWxsb2M= IFR3ZWV0 IHNlcGFyYXRlbHk= CWNoZWNr X3Byb3BlcnRpZXM= LlVuaXQ= ODI5 X0NMSw== IGd0 ICgpOwoK IGhhbmR5 ODM0 IFRob21wc29u IHVubmVjZXNzYXJ5 IFJlYWRlcg== ODk0 R04= PXJlcXVlc3Q= IFV0aWxpdHk= LlJlcG9zaXRvcnk= IEF4 aHlkcg== Nzkx aWV1 IHRoeQ== IGx0 X21haWw= 5L+u5pS5 YWlsYW5k IFBoaWxpcA== IGJpdHRlcg== IGJldHRpbmc= ODM3 IHRpbWVk b2Nrcw== MDc2 J2E= IGFsZ29yaXRobXM= IHJlaW50ZXJwcmV0 IHRvc3M= cm9nZW4= IGhvcGVk KHNlbGVjdGVk IHZlbnR1cmU= VEVY IExlYXZl LlN1YnN0cmluZw== IGdyYXRlZnVs NzQz dWth IENvbnN1bWVy IGFnZ3JlZw== Q2lyY2xl 4LiB X2Jsb2Nrcw== IGxlZ2FsbHk= ICJ8 44OD LmJvYXJk LkFi RnVuY3Rpb25z cmVjaXBl 6Ic= IE94Zm9yZA== IHdob2xlcw== LkJ1aWxk X2NoYW5nZWQ= aGFp IGRlcGFydG1lbnRz OTY0 SW1w IGNvYWxpdGlvbg== SU5GUklOR0VNRU5U IGVtcG93ZXI= aXRjaGVz Tm9ydGg= IGluZmxhbW0= T05TRQ== IG1pc3NpbGU= IFJhag== IElzc3Vl IGF0b2k= Y2FsZWQ= LkNvbnRyb2xsZXJz IFdvbGY= IGNydXNoZXJz 4buH LkF1dGg= LmFkZEF0dHJpYnV0ZQ== aGlz IGJvb3Rz LmNsZWFu Y2FtcA== IHRlbmFudA== IHR1bmU= IHt9Jy4= IHdvcmtvdXQ= UmVwbw== IHBhcnRpYWxseQ== TUlTU0lPTg== amFtaW4= IFNC IGRldGVybWluYXRpb24= ICcnKTsK IEJlbmc= IHZvcw== IGluaGFi L2xhbmc= c2J1cmdo RXhlY3V0b3I= aG9uZQ== IENoYWxsZW5nZQ== X2xpbmtz LkxldmVs IHVuZGVyZ3JvdW5k LWNvZGU= OTU5 IG9wdGltaXphdGlvbg== bG9nZ2luZw== X2Rlc3Q= IHNuYWtl IGNoZW1pY2Fscw== X0lNUE9SVEVE YWRvb3A= IFRIQVQ= bWFuYWdlZA== IHJlZHVjZXM= IFJFQUw= IEd1eQ== X0dFTkVSSUM= LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq LmFtb3VudA== IGRlcmU= Z2V0VGltZQ== IHBhbnQ= YW5vbnltb3Vz IGhhcm1vbnk= IEFsYW4= IHNjZW5hcmlvcw== IGRpcnQ= aHRhZ3M= TWM= U2hlbGw= cmlu ew0KDQo= LnBvdw== CWNsaWVudA== IGNvbnNwaXJhY3k= IGFkbWlzc2lvbg== IFJlZ2lvbmFs IFZpZXdDb250cm9sbGVy IFBoaWxpcHBpbmVz IGRlcG9z IHBhcA== OTYy IFBhZA== UGF1bA== LkNvbWJvQm94 IHR1dG9y IFJlY2lwZQ== d3JpdGluZw== IGNvbnRyaWJ1dG9y T1RI U21hbGw= Vkk= IGhhY2Vy ZXF1 IEV4YW1wbGVz aHVtYW4= Lm1lc3NhZ2Vz CXR5cA== ICgNCg== IFNTTA== TEVO IFJvbW5leQ== KGdyaWQ= CW1pbg== ID4KCg== IGZydWl0cw== IHZvdGVy SW5saW5l cGFuZQ== IENvbGxlY3Rpb25z Y2hhcnNldA== IHNwYW0= emI= aXRlbWFw IHN1Y2NlZWRlZA== X0NPTA== IGVsYXBzZWQ= aW1ldGVy IHJlY292ZXJlZA== VGVuc29y aGF0dGFu LnNldHVw aXN0bw== KGhlYWQ= OTc3 IFNJWkU= IHRhY3RpY3M= IGRpc3R1cg== IHByZXZhbA== aWNpb3M= KFZhbHVl X2NvbHM= IEZhdA== IHNlYWw= IHNvbnM= IGVuc3VyZXM= MDk1 IHByZXNzaW5n PSY= aWdlbm91cw== IGhhcmFzc21lbnQ= X0pTT04= IGlnbm9y eW5vbWlhbA== b21lcg== X3N0YXRpYw== IHNpZ25pZmljYW5jZQ== IGNpcmNsZXM= X1N5c3RlbQ== IGRpc2NpcGxpbmU= IGRyZXNzZWQ= IHNwaGVyZQ== OTI3 IGNsaW1i NzU5 X2FjdGlvbnM= IEJhYg== ICc9Jyw= X3NjaGVtYQ== InVzZQ== IHVuZGVycw== IGN1cHM= LnNjcmVlbg== L25ldw== IGFwcGVhcmluZw== VE9Q dmlzZWQ= Y2xhbmc= IGludmVzdGlnYXRvcnM= IG15c3RlcmlvdXM= IHByb21pc2luZw== IHF1YWxpZnk= IGNhdmU= IGVxdWlw PXg= R1Q= KGxpbms= LnZlbG9jaXR5 LmVyYXNl b3Rlcg== KysrKysrKys= cHJvZml0 IHpvbmVz X3VpZA== LXNlcg== IG9iamVjdGl2ZXM= IG1pbGY= d2Via2l0 KG1hdGNo bmVo IEFzc29jaWF0ZWQ= IFRvZG8= PWQ= MDY1 Q2Ft IHZvY2Fs IHN1ZG8= KEVY IHRyb3U= QUJD LmJlYW4= IEdyb3VuZA== IFJFU1Q= d2VldHM= SW5n aW1vbg== OTQ2 X2J1cw== IENPTE9S dW50bw== IGZvc3M= IExpbmtz ODY5 w6RuZw== L2Zvcm1z cHJpc2Vz IGFjaGlldmVtZW50 Q0FMTA== 0LXQu9GM IFZlcmlmeQ== X1NPVVJDRQ== YXB0Y2hh SURE X3JlZmVyZW5jZQ== R29sZA== ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo= OTQ3 UmVjZWl2ZXI= MDk5 IGFq X2RpcmVjdGlvbg== fV0= IENvbXBldA== IGJhbmc= Nzk4 IENhc3M= LXVybA== dGVjaG4= IEplcnVzYWxlbQ== bG9uZ2l0dWRl Jyk7DQoNCg== IHdpbm5lcnM= VGFza3M= IERNQQ== IHRvb2x0aXA= jrc= IEJyYQ== X2R1cmF0aW9u Y3VyeQ== cGFyZW50cw== LS0tLTwv IHBhc3Nwb3J0 ODQ5 V0M= INC7 Y2Vzc2lvbg== IFllbGxvdw== IGVuY3J5cHRpb24= JwoKCg== IGxpc3Rpbmdz IENvbW11bmljYXRpb25z Ll8K ICIiIg0K IGZi IHN0cmljdGx5 IExpdGVy IEVudGVycHJpc2U= X2JvdHRvbQ== QUtF a2V0 IHRhbQ== QmV0d2Vlbg== X1RPUA== RGlzYWJsZQ== IGZpbGluZw== IENocm9u U0VRVQ== ICZfX18= ODQ2 IGZhbA== IFNMT1Q= RW1iZWQ= dXRoZXI= IFJlc3RhdXJhbnQ= IHJlYWxpc3RpYw== IScpOwo= IERFQUw= IFBlcmlvZA== LmdldFg= IHNlaHI= Il0nKS4= OTQz ZXNzYQ== CW1lbWNweQ== IGFja25vd2xlZGdlZA== c2VuYWw= IFVuaXZlcnNhbA== ICcnOwoK L3dpa2k= aWVubmU= IE5TQXJyYXk= IGFjY2VwdGFuY2U= IGxpdmVy IHRvb3Ro IGFjY3Vz CUxPRw== dmFsdQ== 5YC8 IHNlY3RvcnM= cGVyaW1lbnRhbA== L2NsYXNz X2dv TWljaGFlbA== b2xhdGlsZQ== IFBST0Y= IGNvbXByb20= c3BlY2lhbGNoYXJz IOKc IGlzRXF1YWxUb1N0cmluZw== IEh1bmc= LmFzTGlzdA== L2dv Pj4o IEtpcg== IGludHJvcw== IHNrZXRjaA== IHNraWxsZWQ= IGltbWVy IGFkZXF1YXRl X3JlcA== KGhlYWRlcg== X2xpa2U= IHBlcmNlaXZlZA== c3No IGFzc3VtaW5n IGZm X3V1aWQ= dWxhcw== IGRlbW9jcmF0aWM= LmVudGl0aWVz U2VyaWVz YXBob3Jl IG5ld2Vy fSg= U0VD YWlybw== IGNvbW1vZA== IHByaXZpbGVnZQ== IGRldXg= IEhvcA== Licv Y3RpYw== Lic7Cg== PD89 IFVU ZXRpZXM= X0NPTlRFTlQ= LnJlbGVhc2U= LmRpc21pc3M= IGZj b3VuZ2U= cHdk X3ByZXY= TWdy IEJ1ZmZlcmVkUmVhZGVy d3JpdHRlbg== IEVi ICkKCgo= dWl0bw== IGNvbnRyb3ZlcnN5 IGRpc3Bvc2Vk IGZvdG8= TGlzdFZpZXc= L2NyZWF0ZQ== IENPTA== Y29tbXVuaWM= MDY4 IGZyZWVseQ== dW5hbA== b3ZpZA== CXRy cGFnaW5hdGlvbg== IENvbW1vbnM= RWxlbQ== IFJFTQ== IGNvcnJlbGF0aW9u KCkrIg== IEhpZGU= YW5kaW5n KHZlYw== aXRvcw== IEN1bHQ= IG51dHJpdGlvbg== dmFscw== IGRldGVybWluaW5n bG9yZA== IHNjYW5kYWw= IHNoYWxsb3c= b2Rhc2g= X3NlcmlhbA== IFNsbw== IGRpc3Bvbg== UGxvdA== aWNrbGU= IGVsbA== IHVuZW1wbG95bWVudA== Rk0= cm9ucw== bMSx TW8= RXhpc3Q= SURT Q2hv IEtleWJvYXJk LnBhcnNlcg== LkdldE9iamVjdA== IHNwZWxscw== IGdlc2No IG1hZ25pdHVkZQ== X1NM aXNkaWN0aW9u ICcpOwo= aWxpYW5z IHNoYXI= IFByb2I= dWlsdGlu IHR1bm5lbA== PkM= IFdhcnJlbg== IG9wdGltaXplcg== IFNFUlZJQ0VT X29wZXI= Z2V0QXR0cmlidXRl IE1jSw== X3NlbGY= MDg0 LnJz IikKCgo= R2V0Q29tcG9uZW50 ZXJjZQ== IHRvdXM= dW5pdHM= J10pOw0K Wm9vbQ== L0U= IG9ic2M= IGZhc3Rlc3Q= b25saW5l IHBlYWNlZnVs ZmZlbg== IGNhcmdv CXBy IHNlZWtz enU= MDc0 VHJpbQ== IHdhcmQ= IHZlcmQ= IGJsb2dz LmV4Y2VwdGlvbnM= IFByZW1pdW0= IE5ldGhlcmxhbmRz U2FmZQ== RmluaXNo IEFsYnVt X0FDQw== PXRoaXM= dmlydHVhbA== XT4= X0xBQkVM IE5pY2g= X3dpbg== IEFhcm9u V1A= OyQ= YWltcw== IEltYWdlVmlldw== IGVuZGxlc3M= RVJB X0RJU0FCTEU= IGNhbmNlbGxlZA== LXVz IGluc3BlY3Rpb24= ZW1pbg== IEdyZXk= LW9wZW4= IGl0ZXJhdGlvbnM= Lm93bmVy IGtlcmFz LlBhc3N3b3Jk IFJ5 IElOUw== QWly IFNldmVyYWw= LlRhYlN0b3A= SU5HTEU= IEhhaXI= IENhbnZhcw== QUFBQQ== IGZsYXc= Y2VkZXM= LlJlcG9ydA== 7Yo= IFRpcHM= Y3JpcHRvcnM= LnRyYW5zYWN0aW9u LlNwcmluZw== IHZpZXdlcg== IGluc2lnaHRz 6L6T b3JkaW9u VUlOVA== c2Vlaw== IEF1Zg== 7J6Q IHN0cmFpbg== VG9vbHRpcA== IGR6 aWduYWw= YWR0 IHVj ZmluaXRl IG5t LmNtZA== IE15U3Fs W2RhdGE= LmphY2tzb24= LnRyZWU= UmVxdWVzdFBhcmFt X2FnZW50 IildDQo= IGFzc2Fzcw== KENvbnN0YW50cw== OnNz IE1BTg== Ky0rLQ== IEJvdHRvbQ== cHJpbnRz IFNhbWU= QEF1dG93aXJlZA== c3dhcA== aWNpw7Nu IHByb3Rlc3RlcnM= IGhvbmV5 IFZldGVy KENhbGVuZGFy LWFk IEJyb29rbHlu TGlmZQ== X1ZBUg== emVjaA== IENBTEw= X0NBU1Q= IEVsZWN0aW9u IHRoaWNrbmVzcw== VmVyeQ== X0lOVEVHRVI= LWRldg== KSkpKQ== YXBhdA== b29vbw== ZGVtbw== IHBhcnNlRmxvYXQ= IFJhdGhlcg== U1RJVA== bWFrZXI= W2N1cnJlbnQ= Y2hyb25v IGNocmlzdA== 44Gq IERldGFpbA== xrDhuw== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN1bA== aWRlbmN5 UXVl IGVsZWdhbnQ= YXBvbnM= IGRpc2hlcw== IGludGVnZXJz KHJlYWQ= MDU3 ZmluZFZpZXdCeUlk IEFtb3VudA== IFNraXA= IGhhYml0cw== Kiko IG1vbnN0ZXJz TUFD OmVuZA== IGZyYW5r QXNzZW1ibHk= IGRmcw== IG5ldXQ= X1RZUEVT ZXF1YWw= bG95ZA== KHVyaQ== IGNoaQ== IGRlZmVuZGFudA== IGNvbmZsaWN0cw== IHZpbA== LWpz IFBlYWNl IG11dGFibGU= KXNlbmRlcg== IEZvY3Vz 5bu6 IGFwcHJlY2lhdGVk c2xlZXA= IFJFRA== Q3VsdHVyZQ== IGRlc2lnbmVycw== X2dlbmVyYXRvcg== Y29kZXM= L2V4 LkdldFZhbHVl dW1ibGVk LnNjYWxhanM= cGVyb3I= IHZldGVyYW5z IH0pDQo= IHVuZm9ydHVuYXRlbHk= X0NSRUFURQ== TWFzcw== IENMQUlN IE1lZXQ= X3N1cHBvcnQ= QmFuaw== KCkuCg== RGFyaw== X0xPVw== IE1pbmluZw== IE93bmVy aWVyYQ== Q2xpZW50ZQ== IGVuY291cmFnaW5n PlM= IGJveWZyaWVuZA== IEhhbGY= IEFDQw== QWZm X2Fy LWxpZmU= Y3g= LkpCdXR0b24= aXphZG8= Lnplcm8= Lm9wZW5xYQ== b3Rvbg== LnRleHRDb250ZW50 IHRvbGw= YXRpZQ== IGJhbGxvdA== LW51bWJlcg== LkV4Y2VwdGlvbg== CXBhcmFtcw== Y2lyY2xl LW1hcA== IG5hcA== IFJvYm90 IEljaA== cmVnaXN0cmF0aW9u QW1hem9u cm9sbG1lbnQ= KGV4cA== IHRhbmtz IEdvcmRvbg== IG1hY2hpbmVyeQ== IGJhc2VsaW5l 5os= MDg2 2Kk= IENvbnZlbnRpb24= CWNvbmZpZw== b29raWVz bXVsdA== UmVjb3Jkcw== IEVTVA== IGdhcmJhZ2U= IGNvbmZvcm0= aWRhbA== IGJhcmc= IHN1cnZpdmVk IGludmVzdGlnYXRpb25z OTM1 LmNvbnRhaW5zS2V5 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K b3J0aW9u IGhvcnI= X2h0dHA= IG1hbnQ= XTsNCg0K YmluYXJ5 OTQ4 ZW1wbA== IGlucXVpcnk= IE1lYW53aGlsZQ== MDk4 IGNvbGxlY3Rpbmc= LkVudGl0eUZyYW1ld29yaw== IiwKCg== IFBpYw== QEluamVjdA== aWNrbmVzcw== IEJpbmRpbmc= IGNvbnRyb2xsaW5n cmV2ZXJzZQ== IGNoYWlycw== c2VtYmxlZA== KGFkZA== RGlzYWJsZWQ= YW5hcw== LnRyYW5zbGF0ZQ== LS0tLS0tLS0tLS0K IHJlZmxlY3RlZA== Il0KCg== RXh0ZXJuYWw= QXJyb3c= U2luZ2xldG9u JXg= IMU= IGFuY2VzdA== IE9ybGVhbnM= CWNtZA== IHByb2hpYml0ZWQ= aXRobWV0aWM= KGNoYW5uZWw= X2Nzcw== Rm9yd2FyZA== LnNvY2tldA== IGx1Yw== 4oY= IEZpcmVmb3g= IE1vdmllcw== KV8= LmVuZHM= KHNoYXBl IGRlYWx0 IHNhdmVz IGdsb3J5 IG1lam9y IGJyZWF0aGluZw== IGVsbGVy Z2V0RGF0YQ== IGFuZ2xlcw== IHRvb2xiYXI= IHNwYWNpbmc= MDU5 SVBT IGZsb29ycw== X0FDVElWRQ== IHNodWZmbGU= L3NoYXJlZA== IEVsZQ== ZWRpc2g= IHdlYmNhbQ== LmV4cGVjdA== aWxvYw== IEluY2x1ZGVz IHR3ZWV0ZWQ= IDop IEVzc2F5 Rml4 LWJldHdlZW4= X3dlYg== LmNvbnY= IHJhY2lzbQ== IHJlZmxlY3Rz dW1t 0LjRgtC1 X2Zvb3Rlcg== L2RvY3M= IFBvdXI= TmdNb2R1bGU= LmluaXRpYWxpemU= cGF0dGVybnM= X0lu IEFiYg== Kg0K IHNlbnRpbWVudA== YnVmZg== X2NvdW50cw== IHJldXNl Y2h1bms= IGltcG9zZWQ= UHJpbWFyeUtleQ== Rm9yZWdyb3VuZA== IGNvbnN1bWVk PyE= IGRpY2s= IGNocm9u IEZlcm4= IHJlc3BvbnNpdmU= OTU4 IGluc2VjdA== aWN1bHR5 IHJ3 IGFsaWtl IHN1YnNldA== IENvb2tpZXM= IFBhaXI= IHRpZXI= SUZP YXZvdXI= IFFV LHNpemVvZg== IG1lcmdlZA== bXY= aXRvbA== eWxvbg== IGp1bXBlZA== LnJvbGU= ZW5zYWpl UnVsZXM= IGJyb3dzZQ== QW5pbWF0b3I= IHlvZ2E= IHZhcmlhbnRz IGNvdXJ0ZXN5 dXJhbg== cGJz ZWxzZWlm QWx0 IExhbmU= Q0xL SU1BUlk= X1BST1BFUlRZ 77yQ IGNoYW4= IGdyYWR1YWxseQ== IHNoYWtl IGJsb25kZQ== Li4uIik7Cg== LXNleA== IGdhbWVwbGF5 YWNpZXM= LnJlZnJlc2g= VVNC IFBsb3Q= V2Fz aXNzaXBwaQ== IFRlbnNvcg== IGNyeXB0b2N1cnJlbmN5 IGRpZmZpY3VsdGllcw== RGVsZXRlZA== V2l0aG91dA== X2FwcGVuZA== X3Zlcg== OTY3 IikpDQo= IGhvbmVzdGx5 IHBpdm90 IHRlbXBz X3Bz IFVubGlrZQ== Wzot VlM= X2luZg== IGp1bmlvcg== IGFuaW1hdGlvbnM= IGZpbGVwYXRo Pzwv W1w= IG9wZXJhdGVz X3JlZA== IEJvb3RzdHJhcA== bGVhZA== ZWZmZWN0 wr0= IFN0ZXI= IEJ1Y2s= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRlcHV0eQ== VGhhbg== 4bq/ T05FTlQ= IEhlYXQ= ZXRoZWxlc3M= XSl7Cg== IGtvc3Rlbmxvcw== KCk7Ly8= IGRlcGxveWVk Pnt7JA== IHVuaWNvZGU= cGxhY2Vz IENvZmZlZQ== LlNF IFBBUg== KHR4dA== Z2VicmE= IGZpcmVz TWFpbldpbmRvdw== bWVkaXVt ICjigJw= IGxn IGNtcA== L2Jhc2U= X2xheWVycw== X2VudHJpZXM= IGFkbWluaXN0ZXI= IFNVQ0g= QlA= IFNjb3R0aXNo CQ0KCQ0K Z3VhcmQ= IFN0cm9uZw== SW5zbg== IENBUA== YXN1cnk= IFNFRQ== Q2xvY2s= ZXJpZQ== XG1vZGVscw== ICQk IENhYg== IHd1cmRl IHNvbGRpZXI= IGNsaXBz IGFycmFuZ2VtZW50 IFdvbmRlcg== IEhvcm4= IHNjYXJlZA== IGN1cmU= bWtkaXI= IGFsaWduZWQ= IFBpbms= IGxhbmRlZA== RGltZW5zaW9u U2Nyb2xsUGFuZQ== LmNoYXQ= LldpdGg= IFRyYWlu XS4K IHRoaXJ0eQ== IGR1cmFibGU= IGxk IGxhdGVpbml0 IGNoYXJ0cw== IGluc3VsdA== LkZhdGFs X2N0 IG1hc2tz Q0xVREVE UHJlc2lkZW50 IGNvbG91cnM= Z21lbnRz LmF0dHJpYnV0ZXM= IEZsZXg= IENsb2Nr w61jdWw= aW1lbg== Sk8= IFJlZ2V4 X0xJTks= IGNvdWNo IElOUFVU IGJlYXRpbmc= YnVzaW5lc3M= cHJlY2Vk LnVuaXQ= IEZlbA== TmV2ZXI= b3NwZWw= LnN0YXJ0c3dpdGg= IEVQQQ== Lm9ubHk= IHByZXZlbnRpbmc= eWVy Q29sdW1uTmFtZQ== IGVsZXZhdGlvbg== Zmx1 aWN5Y2xl IG9mZmxpbmU= VG9vbGJhcg== IGNvbXBldGluZw== KV0u IG1vZw== IGlzVmFsaWQ= QXNr X2F2 X2xhdA== QU5D IEpvaA== a2Vycw== IGd1YXJkcw== IGNoYWlucw== IFNpbXBsZURhdGVGb3JtYXQ= LnN0YXRpYw== IHZlc3NlbA== IG11ZA== IHN0YWJpbA== IHN0cmV0 Z20= YW1hdGlvbg== 55w= LXdpdGg= IHJvcw== X1BB IHJlc3VsdGFkbw== IGNvbmZpZGVudGlhbA== IFRva3lv CXVzaW5n IE1hdGhm b21iaW5l IEVTUE4= IGRlYWxlcnM= IGRpc21pc3NlZA== VFJZ IHRlZW5z cmVjb3Jkcw== IHdpbmdz Z2FsbGVyeQ== YWNjb3VudHM= X0xJQg== IGphY2tldA== IE5TT2JqZWN0 IHN0b25lcw== IERlbGl2ZXJ5 IERpZXQ= L3dhdGNo IHRvaWxldA== IEd1ZXN0 LmRheQ== MDY3 IGludHZhbA== MDg3 VmlzaXQ= IGludmVzdGlnYXRlZA== IHBlbnRydQ== IFRoZWF0cmU= YW5kaWRhdGVz TGFuZw== IFNlcnY= IGNvbnRyb2xsZXJz IHNldFRpdGxl TlA= YW15 ZmxhdA== KHVp MDY5 X2RvY3VtZW50 6IO9 IENvaW4= IEFkYW1z cHRpYw== IHByb2R1Y3RpdmU= IGFjY29tcGxpc2hlZA== DQoNCg0KDQo= IGRlZmVycmVk aWVudGVz IHNpbmM= b2xhcnM= UmlnaHRhcnJvdw== IHZhcmlhdGlvbnM= KG9mZnNldA== OTU3 LkxheW91dEluZmxhdGVy IHN1c3BlbmQ= IHByZXZlbnRpb24= X3ByaXZhdGU= X2pz 4piF IHdpZWRlcg== YXR1bQ== kow= IGFwcGVhcmFuY2Vz LkRvY3VtZW50 IHZhbGlkYXRlcw== Y2FsZW5kYXI= fSI7Cg== LmRlbW8= Y29udXQ= IGNvcnJlY3Rpb24= IERlYWw= IGJhdHRlcmllcw== LmR1cmF0aW9u LFw= X21hcmtlcg== bXVsdGk= IGhhbHQ= IGNtcw== IHNoYXBlZA== QnJv cmVkdWNl ICMjIyM= Q1RPUg== IEJlbmVm IGljb25pYw== IHBpYW5v IGVmZmVjdGl2ZW5lc3M= fC4K IGFqYXg= IHZvbHVtZXM= 4Lih IGNsanM= ICAgICAgICAgICAgICAK YXRocw== cmFpdHM= 5aSn 0ZY= X211bHQ= IGZhc2NpbmF0aW5n QXZlcmFnZQ== IHByw6k= IENoYWlybWFu LmZpbmRFbGVtZW50 X3Bpbg== IGNvbXBhcmluZw== IGRhcmtuZXNz LUZp LXNlcnZlcg== IHNlbGVjdGluZw== c3RlcmRhbQ== IFBhcnRz Rk9STUFUSU9O IG5vdGluZw== IHBpbGU= b2dz IHBhbGV0dGU= X2Rv aXRpemU= MDc5 KCko IGRlZmluaW5n IHJlbWFpbmRlcg== VW5pdHM= X1RBU0s= SHR0cENsaWVudA== U29jaWFs IGZ1bmRyYQ== TlI= Y2hlc3Q= Q3VycmVuY3k= LmFkYXB0ZXI= IGRvcA== dW50aW5n QU5HVUFHRQ== Ikhl CWluZGV4 X3BhY2thZ2U= Lkljb24= IHJlcGV0 bWFzcw== PSIuJA== IFN1ZA== IGxpZA== cHJvdmluY2U= 7Jw= R1BJTw== 0Jo= IE15U1FM IGRvY3M= IEdB IGlwc3Vt S2VybmVs IGFjY2VwdHM= IGZpdHRpbmc= IGN1YW5kbw== IGR1cGxpYw== IEJyb3RoZXI= IEtsZQ== bnVtcw== IG1vcnBo ICMjIyMjIyMj IENHUG9pbnQ= PHVuc2lnbmVk 5L6L IER1a2U= LnNldEJvdW5kcw== cXM= b3JpYw== amVy IHJlZ2FyZGVk SHR0cFJlcXVlc3Q= IGJvbmRz IHRob3JvdWdobHk= ZW5jZW50 IGhpZ2hsaWdodGVk IGFjcmVz IHdvcmtwbGFjZQ== IEx1eA== IHF1b3Q= OTg2 LmluZmxhdGU= IGRvY3VtZW50ZWQ= IGFkZGljdGlvbg== IG11dGF0aW9u LmNpdHk= IGJvdHRsZXM= IFJlcG9zaXRvcnk= b25u ZXJybm8= QVJJQUJMRQ== 5bqm X0JFR0lO Z2xhcw== J30pCg== IE1hc3NhZ2U= IFdoaXQ= cmVnZXg= V0E= IG91dGxldA== LWhlYWQ= IGV4cGlyZWQ= IFRoYWk= L2luY2x1ZGU= Z3JhZGllbnQ= c2NhbmY= IHNlYW0= d2Fs CWJ1Zg== QmVhcmVy IHByZWNpb3Vz aWZhY3Rz Y29vcmQ= IGV4cGxvcmF0aW9u LmdldFk= KGhhbmRsZQ== VG9waWM= IFZlbnQ= cmhz LS0tLS0tCg== IEJyaWdodA== IGd1aWxk bW90aGVy c3Rvcm0= IG11bmljaXBhbA== IGluaw== LlRZUEU= d2w= Li4uPC8= X0RFVg== PSIuLw== X2Jvb2s= dGh5 aXR6ZXJsYW5k b3BsZXM= dHJhY3Rpb24= IENhbWVyb24= IEFuZHJl LnJlc3VsdHM= IGNocm9tZQ== IHNlY3VyZWQ= IHN1cmZhY2Vz KTw= IHRvYmFjY28= CXNwcmludGY= IGVzY2Fs IHN0ZGVycg== IE1lbGJvdXJuZQ== IGRpc3RyaWN0cw== IG1hdHQ= b2hlbg== IGRhdGFHcmlkVmlld0NlbGxTdHlsZQ== KE1vZGVs IHNlbnNpdGl2aXR5 S0E= dHJhbnNwb3J0 LmdldERhdGU= IHN1YnRsZQ== VUdJTg== Lm1vdXNl IGFsdGVybmF0aXZlcw== IGVsbGU= Y29yYXRpb24= cmVhdGlvbg== 5ps= X05PUk1BTA== RGlzcGxheU5hbWU= IGZhbmN5 SVNFRA== TU9E LlJlYWRPbmx5 IFVi IEN1 aWNvbA== IE5lbHNvbg== IENPUg== YW56YQ== IFNwYXJr ICJcXA== LS0KCg== d29vY29tbWVyY2U= IHJlbWVtYmVyZWQ= dmVyaXR5 IEV4dGVuc2lvbg== IFBE IHNlYXJjaGVz LnNv IEZvb3Rlcg== ID0n IFdBUk5JTkc= LWxv CXRhYmxl IGRyYXdlcg== cGljdHVyZQ== IEZhbnRhc3k= c3Rvcnk= IG3Dqm1l IwoK X3NsaWNl b2x0YWdl SGFy L3k= IEVS ZGll IFBPUw== LmFjdGlvbnM= KE1haW4= ZXdhcnQ= YXBldXQ= IFNURQ== aWRkaW5n LnJlYWRMaW5l IHNlYXJjaGVk V2Vk LmZpZ3VyZQ== dWdodGVycw== KCkuX18= IG9yYml0 c2hpcHBpbmc= IGZyaWVuZHNoaXA= IFNoaWZ0 LW9y cXVv V0hFUkU= IEVzcA== LmZvcndhcmQ= b2ZmaWNl IGnDpw== IENoZWxzZWE= SXRlbVNlbGVjdGVk YWNoZXJz ZGVsZXRlZA== cm91cw== ICItIg== IEdyYW4= IPCfmA== LXBvd2Vy ZXR0YQ== IHJlbWluZGVy ZW5zb3Jz IEFsbG93 xJlk X3RlYW0= IGNyb3du dGlja2V0 IGNvbGxlY3Rpb25WaWV3 bGFjZQ== IGZpeGVz IEh1Yg== Y2F0YWxvZw== IElkZW50aXR5 IGV4Y2Vzc2l2ZQ== IE5hdmlnYXRvcg== X0JS LXBsYXk= IENhbXBhaWdu ICAgICAgICAgICAgICAgCg== YXNpdmU= IHdj IEJlaWppbmc= L3d3dw== IG1ha2V1cA== IGRpc3RhbmNlcw== IHNhdGlzZnk= Q09ORA== IHdvdW5k KCld IHZpb2xhdGlvbnM= IHN0YXlz LyM= aWxpbmU= XEV4Y2VwdGlvbg== IE1vdGlvbg== IGhlYWw= X3BsYW4= cmFzZXM= KG1haW4= QXBwbGU= IGNvbXBsZXRpbmc= IGRldGVybWluZXM= U2Nhbg== IHN0ZWFs IFNvYw== QW5hbHlzaXM= IGZhdm9yaXRlcw== IGNhbXBv b25lcg== IEZsaWdodA== Li4uCgoKCg== KSkpKSk7Cg== LWNvdW50 IHB3 QXNTdHJpbmc= IHNleHVhbGx5 Rmlyc3ROYW1l IEVzY29ydA== Y2FsYw== IFdpa2lwZWRpYQ== IGRvY2tlcg== IFN3ZWV0 J2lk SW50bw== IEh1bnQ= LmVxdWFsVG8= IGxhYm9yYXRvcnk= IEJVU0lORVNT RmlsZURpYWxvZw== VHJlZU5vZGU= LkVuYw== IE1heGltdW0= IG1vdGhlcnM= 5rU= IGZyYWN0 LnN0YXJ0c1dpdGg= IGhhcmRjb3Jl Lm9i 5aeL ID48Lw== X3Jv KCgq Pz8/Pw== X3ZlcnRleA== a2VpdA== IEhhbGxvd2Vlbg== VEk= IFZh X2Nhcg== PSJ7eyQ= IHJhbmRvbWx5 0LDQvdC40LU= IHNob2NrZWQ= IFBva8OpbW9u c2lnbmFs IFNESw== bWlkZGxld2FyZQ== IHRyZWF0aW5n IGJ1cm5lZA== RGVwYXJ0bWVudA== IFNwZWN0 IGNsaWVudGU= IFJlZGRpdA== X2F2Zw== IGluc3RhbGxpbmc= X2FscGhh LGRhdGE= IHNldElk IExpc3RWaWV3 KHByb3BlcnR5 IGNyb3NzaW5n IE9iag== IFdhcmQ= IFJlZGlyZWN0VG8= IFByZXNlbnQ= IGRyYXdz Y2hlZHVsZWQ= IGxlZ2lzbGF0aXZl IHR3aXN0 IFN0cmE= IEFGUA== IENoYXA= LXBy OkNHUmVjdA== IGNlcw== Um91dGVz bm9m IHZpc2E= IFRDUA== IEVWRU4= aXZpYWw= IExldHRlcg== UkFZ IGltcGxvZGU= LmVx PScr IG1vdGl2YXRlZA== LnZpc2libGU= LnNob3J0 Pm1hbnVhbA== IFRlY2huaWNhbA== IGNvcnBvcmF0aW9u IEhX YW5rYQ== VEFJTA== aXN0YXM= IHBlcmZvcm1z IEJlaGF2aW9y LkZvcg== X09SREVS IEtpY2s= IGNhbGxiYWNrcw== X2Ry dWVnbw== aHVi dWZmaWNpZW50 c2t5 IGJw aHRhYmxl IE9OTFk= IEFVVEhPUlM= LkFyZ3VtZW50 In07Cg== IFRodW5kZXI= IEtvbQ== LlNob3VsZA== QVVUSA== YWh1 X3BheW1lbnQ= IHN0YXJ0ZXI= 7ISc 7Jqp QmxvZw== LnBhdGNo IGdvdmVybmVk YXNzeQ== LWZvdW5k IHRoZWF0ZXI= IEZvbnRXZWlnaHQ= IEJhdG1hbg== Iklm LlJhbmRvbQ== X2RlbHRh IENF QXV0aGVudGljYXRlZA== IGRyb25l IGNvdXM= cmFkaXVz TWVy KE5vbmU= IE5K X2hlYWRlcnM= IGFtZXI= cHl0ZXN0 IEFjdGlvbnM= CQkJICAgIA== IGV0dA== IGhvbHk= IHVuY29tZm9ydA== IE5pbg== IERlY2ltYWw= IE1lc3NhZ2Vz LnNlbmRlcg== XV0pCg== IGVtYnJhY2U= VGhvdWdo L3Nw IGN1bHR1cmVz IGhpZ2h3YXk= dGFy LmZhaWw= X2hpZGRlbg== IGNvbXBvbmVudERpZE1vdW50 IFdyaWdodA== IGphZw== X2ls Li4vLi4vLi4v aWd1 Rm9vZA== IGFjZQ== IGHDsW9z VVNE IG11dHVhbA== TG9naWM= IHRlbXBsZQ== IGJyaWVmbHk= IFRyaXA= Y2xhc3NtZXRob2Q= ZGVmYXVsdHM= IGNodW5rcw== LCwsLA== IFJlYXNvbg== JGlk LXVwcw== IGRhbW4= IHRydWNrcw== IHVubGltaXRlZA== IHNjdWxwdA== IENhcmRz IGF1dG9y IFRlc3Rpbmc= IGRpZXNl c2hvcHM= 57Q= KHBheWxvYWQ= IFBBVEg= IE1lbW9yaWFs IHJpZGljdWxvdXM= ZWdyZWU= LXdpbm5pbmc= IHJlaGFi IHNvcGhpc3RpY2F0ZWQ= d3BkYg== CXBhdGg= ISI7Cg== X1NZUw== LnNwZWVk IHNvYXA= c3VmZml4 V3JhcA== IGVuaGFuY2VtZW50 w4k= w7pi IHBsYXlsaXN0 IG1peGluZw== YW50aWRhZA== PSIiOwo= IFJldmlzaW9u IEJlYXQ= LmluYw== LXdheQ== ZW5jaWFz dWxlcnM= Q2F0 aWRlbA== IFNoaXA= LnNldENvbG9y IHRocmVhdGVuaW5n Lm1vZHVsZXM= IGFmdGVyd2FyZHM= IERhc2hib2FyZA== CiAK U2lnbmFs IHByaW1lcg== b3JuZXlz aWNpYXJ5 IGxpZ25l X3ByZWRpY3Q= IGFlc3Q= X2h0dHBz Pjo= IExleA== IHJlbmNvbnRyZXM= ZWdyYWw= c2NhbGE= X2ZhbWlseQ== w59lbg== X3N5bQ== IHVuY2VydGFpbnR5 IFZBTFVF IH07DQoNCg== IGJyb2FkZXI= IGhvcnNlcw== 44Gd IEthbA== b2Jh X0lORVQ= IEtpbGw= anF1ZXJ5 YW1pbmF0aW9u W0Ai IG11ag== IyMjCg== Rmlyc3RPckRlZmF1bHQ= dGhlblJldHVybg== Q2hl L2Zvb3Rlcg== IHBhcmtz YXNqZQ== IEd1bGY= IG1vZGVzdA== LkluaXQ= 77yfCgo= IHByb3NwZWN0cw== IHN2Zw== IOWP LkRpYWxvZw== X05FVA== ICgoJA== IGVr IFdhcm5pbmc= IE1L PExN ICcNCg== aWVt aGV0aWM= IGl4 dGhpbms= LXNoYWRvdw== IEVsZA== IE5ldmFkYQ== IExlYWY= IEdST1VQ IHByb21v ZW50aW5l CU1hcA== IE1vZGVscw== IEtyaXN0 X2tlcm5lbA== LW1hZGU= IGNlcnI= QXNzZXRz ZWxsYXI= IGludm9rZWQ= LnZ1ZQ== IGN1bHRpdg== Q2xvc2Vk IGdlbmVyYXRlcw== ZmZmZmZm dGhlc2l6ZQ== c3FydA== IENhc3RsZQ== LmNhcg== IGtlZW4= dW5kYQ== IENyb3c= IFNpbmdo eXRob24= IGJlYW5z bGFyZw== 5paH5Lu2 QXdlc29tZQ== dW5jYXRl UGF0aHM= b2pp KGN1cnI= Q09ORFM= IG1pbQ== IHNob3VsZGVycw== SGFyZA== YXN0ZXM= 0LDQtdGC IGNvbnZpbmNl ZGVjZXNz bWFkZQ== IENNRA== Lklt IGNoYW9z ZW5zaXZlbHk= IGNvb2xpbmc= IGJ1cmllZA== KCdA X1Nl CQkJCQkJCQkJCQkJCQkJCQ== LmNvbXBhbnk= LnN1Ym1pdA== cGhhbnQ= IGJvb3RzdHJhcA== X2hlbHA= 4Kc= LmR1bXA= IGRpZmVy X21hcHBpbmc= IGNpcmN1bGFy IGVzY29ydHM= IGJlcmU= IGdyYWR1 IExlZ2VuZA== aW1lZGlh IEJhcmNlbG9uYQ== IGJlZHM= 5Yiw 44CK X3ZvbHVtZQ== IHRyZW1lbmRvdXM= IHNjYWxpbmc= IHBpbnM= ZW5hcw== dHlwZXBhcmFt RGFzaGJvYXJk cmVuZGVyZXI= IHNwaQ== ICYk IFNraW4= YWxtYXJ0 IGhvY2tleQ== ICciLiQ= IGVycm5v IGJldw== Rm9sbG93aW5n Lk1vZHVsZQ== ZXJhYmxl IE1pbGl0YXJ5 IFJpbw== X2F2YWlsYWJsZQ== IFN1cmZhY2U= IHN0YWI= SUZJRVI= IExJU1Q= IGRhc2hib2FyZA== IGNsdXN0ZXJz LnBsdWdpbg== IGpvdQ== IERlY29y Rm91cg== IGRlbGxl KioqKioqLwo= aWF6 aW5kZQ== Y2hpbmc= IGdldEl0ZW0= LkFkZHJlc3M= bWVudGVk QW1lcmlj UGxhaW4= IHVzYg== IFByYWN0aWNl X21lbnQ= LmJsdWU= SGludA== 0YDQsNCy IGNvbm5lY3Rvcg== IGluaGVyaXRlZA== 0LjQsg== IGludGVydmFscw== IGNlcmU= IHVk IGluY29u LkV4aXN0cw== IE1pYw== Rks= KGNhcmQ= LlNldHRpbmdz IGV4aGliaXRpb24= IG9uUHJlc3NlZA== IHJlc3RvcmVk ZW5ndQ== LmRlZg== IHJlY3Y= LiIpOw0K ZW5jb2Rlcg== YXRoZXJpbmU= KGRlc3Q= YXplZA== I2VuZHJlZ2lvbg== c2VtYmw= LE0= b2J5 INC/0LXRgA== LkNhbGw= IGF0dGVuZGFuY2U= LWJvcmRlcg== IGFkZHJlc3Npbmc= w6pu IExldg== IGJhc2g= YmVuY2g= Q3JlZGVudGlhbHM= U3BhY2luZw== KG9m X1JFU0VU aWd1b3Vz IGNydWVs IGNyb3NzZWQ= IGxldXI= IEdvbGY= b3JyZWN0 IHBhY2tldHM= IERhdGFTZXQ= IHBhcnRseQ== U0VRVUVOVElBTA== IGluZGljYXRpb24= IFNhbHQ= YWNpYQ== ICopOwo= CWluZm8= IFZpZXdCYWc= b256 IGVkaXRvcmlhbA== IEFyZW5h IHNpcg== X1N0YXRpYw== KHNvY2tldA== c3U= Y2hvb3Nl Lm1vbnRo Lk15 MDk2 w6lyaQ== O2ZvbnQ= ZG9lcw== IGNvbnZlcnRlcg== IHNhbHY= IGxy IGluZmx1ZW5jZWQ= KGZlYXR1cmU= IFF1ZWVucw== bGV0dA== X01PTg== JmFtcA== VG91Y2hhYmxlT3BhY2l0eQ== T0ZG IG1ldGFib2w= KGl0ZXI= IHZpdGFtaW4= IElORElSRUNU YXV0b20= X3B1YmxpYw== IGFkanVzdG1lbnQ= IHNwZWNpYWxpemVk d2luZG93cw== LmFkZEFsbA== IGFjY29yZGluZ2x5 IEpPcHRpb25QYW5l IGNlbGxzcGFjaW5n IHF1YWQ= IGNyZWVw IG91dGxldHM= fWApCg== IHByaWVzdA== X1RIUkVBRA== IE1hcng= IEJ5VmFs IGN1YWw= 6Z2i IHRlbXBvcmFyaWx5 QW5u a2VsZXRvbg== 5aU= IExPQw== YXVlcg== ZGVyaXZl IGJlaGF2aW9ycw== YXNlbmFtZQ== IENlbnR1cnk= IGhvcnJpYmxl TUVTUw== X0xpc3Q= d2Vp UGF0 IENob2ljZQ== X0ZST00= CWxpbmU= Lmludm9rZQ== LkJvdHRvbQ== IG5vd2hlcmU= LiIKCgoK X2V4cG9ydA== IHN0cnVnZ2xlZA== LkFwcGVhcmFuY2U= IEpCdXR0b24= IEplcmVteQ== KFtb IGtpY2tlZA== bWFyc2hhbA== c3RhZmY= ZXNpdHk= IHF1aXo= X2VmZmVjdA== IH0pKTsKCg== bWVs YmFubmVy IFBJTg== IGludmVudGlvbg== IGNvbnNvbGlk IG9wcw== IEJldHdlZW4= amFjaw== ZXJuYXRpb25hbA== IHNhY3JpZmljZQ== YWdhdGlvbg== IEpveQ== IGFtZW5kbWVudA== IFNvbGQ= IHByaXNvbmVycw== 0LDQvdC90Ys= RG9jdW1lbnRz KV0pCg== dXN0ZWQ= IExpbmVhckxheW91dA== b3Nv X0VN LnNlbGY= Lk1pZGRsZQ== KS8v IFwn IGZ1Y2tlZA== IE11cnJheQ== IHByb2ZvdW5k X0VMRU1FTlQ= dWx0YQ== aWxlcnM= cG9ydGZvbGlv SnVuZQ== dGNw bW9kaWZpZWQ= IFRyYWNl IEtlbA== YWx5emVy KT0+ IFJlcGFpcg== X0JF QnJhbmQ= dWFydA== cHJldmlldw== IGluaXRpYXRpdmVz cnVubmluZw== YmFuZw== CXVwZGF0ZQ== IENvYWNo UmljaA== IHlvdXR1YmU= IHJpdHVhbA== YXBwYQ== IFJvYmluc29u cHJlY2lzaW9u Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw== PVtdCg== IGNlbGVicmF0ZWQ= T1RP IGluY2x1c2lvbg== SlA= JzsNCg0K IG5vdGFibGU= KF8u TWFuYWdlZA== IGd1aWRlcw== Jm5ic3A= YXRlZFJvdXRl IEFkanVzdA== IGNvbG9yZWQ= X3Njb3Jlcw== IFRlc2xh X3Byb2dyZXNz Lmluc3Q= Wydf LmZsYWdz IGZjbG9zZQ== X09QRVI= xbx5 X25vdGU= IHRyYW5zZ2VuZGVy 5ZU= UklQVA== IGFic2VudA== IGFtZXQ= IG9wZXJhbmQ= 66k= IGhvb2Q= dG9Mb3dlckNhc2U= YXZv IENpcmN1aXQ= IExpbmQ= LS19fQo= PW0= IHN1cHByZXNz IE1BUA== aWFuZw== LWFkbWlu IHNpZGViYXI= IEJ1 IEhleA== LEY= IFNpZ25hbA== IHRyYW5zcGFyZW5jeQ== IEZlZGVyYXRpb24= L1Y= UmVx IHB1bHNl IHRlbmRz TnVtYmVycw== JSc= IGRlcG9ydA== ZGF0YXM= X1VJTlQ= X3RyYQ== b2tv ICI/ Y29tcGV0 c29sZXRl dW5kcnk= IG92ZXJsYXA= fWAsCg== Lmx5 X3N1bW1hcnk= IExvc3Q= LkNlbnRlcg== IGRpc2FiaWxpdHk= LlNlcmlhbGl6YXRpb24= IGdlb20= ID86 IFdv IHNoaXBwZWQ= guaVsA== IHVnbHk= IGV4Y2l0ZW1lbnQ= IGV4dGVyaW9y IGNoZWNrb3V0 IGt1cg== LEQ= IEFsYXNrYQ== IHN5bnRoZXRpYw== IEJ1ZGdldA== IFN1YnNjcmliZQ== ICYK yJlp IFl1 CXF1ZXJ5 fS4K IHRyYWdlZA== YXNzZW4= IGFjY29tbW9kYXRpb24= IHBoeXNpY2lhbg== IHJlbmFtZWQ= IHRpZGFr esSF IG1pbnVz bnljaA== MDk3 X0VYQ0VQVElPTg== dGhyZWFkcw== IHRpcmU= X2NyZWF0ZWQ= ZW5zdXJl IHdvcnRoeQ== IGV4Y3VzZQ== IGNsb3Ro LnBhcmVudE5vZGU= L3BsYXRmb3Jt IFVGQw== IEd0aw== dW5ueQ== IGdpYnQ= a2VsZXk= aHVt KHR4 CWRldg== IG91dGZpdA== ZG9vcnM= IGZvbg== aWN1dA== dm9sYXRpbGU= IGhvbW9zZXg= TWF4aW11bQ== IGV4cGVuZA== IH0pOwoKCg== RXE= b25kZXJz ZGVwYXJ0bWVudA== IFBoeXNpY3M= In0pOwo= IHBhcmFk LlN0cg== IHNlbGU= SUZJRUQ= IGRlbGl2ZXJz aXZhbg== IHJlc3BvbnNpYmlsaXRpZXM= IGFkdm9jYXRlcw== 6LU= IFJJRA== LnBhcmFtZXRlcnM= TWV0cmljcw== cm9uaWNz IFVJVGFibGVWaWV3Q2VsbA== QWJzb2x1dGU= aXBzZQ== eWx1bQ== TUxFbGVtZW50 X1ZBTElE PHRpdGxl RGxn cGFjZXM= IHN5bmRyb21l YmVhbnM= X2RhdGFiYXNl b3ppbGxh IE1lZw== REJH IGx1Yg== QmFnQ29uc3RyYWludHM= YWJhZA== IHByb2plY3RlZA== X0JZVEU= LlNpemVG c3RyZWV0 CgoKCgoKCgoKCg== IExPU1M= IGRpcmVjdG9ycw== L25ld3M= IG51cnNpbmc= IERvbmU= LkhUVFA= ZGlzY291bnQ= IFJvdA== VG9NYW55 IGVuYWJsaW5n IGF1c3Np b3N0YQ== ICAgICAgICAgICAgICAgIA0K 6L29 IGhlbGljb3B0 IEluc2lkZQ== 5L+h5oGv aXNwZXI= IEFsbGFo QVJDSEFS IHJvbGxz Q29tcGFyZQ== WFA= SW5kZXhPZg== U1VN IGFzc3VyZWQ= IFBoeXNpY2Fs RW5kcG9pbnQ= Lkdsb2JhbA== LmRldGFpbA== IHRoZWZ0 Lmp1cGl0ZXI= IGh1bW9y LlJlbmRlcg== QWxleA== LmNhcA== IGJ1ZmZlcnM= IGRpc3Bvc2U= dGlvbg== LnByZXNlbnQ= emVs LFA= IGRlc3BlcmF0ZQ== LmdldENvbHVtbg== IHR3aW4= 7JY= LmNhbg== IGZsZWU= IElyYW5pYW4= IHN0aWNreQ== IFVUQw== TFQ= Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v IGxpY2Vuc2luZw== X1BPSU5U IE1hcHM= IGxvbA== PW1vZGVscw== LXRhYg== IE5hc2g= X2xvZ2dlcg== dG9yY2g= IENPTlNFUVVFTlRJQUw= Tm90RW1wdHk= L3JlYWN0 IHBm IGFzc2VydGlvbg== IHN1YnNlcXVlbnRseQ== X2Nhbg== IHBhbmRlbWlj b2d1ZQ== IisK X2VudA== X1BhcmFt LgoKCgoKCgoK UmVzZWFyY2g= Q2FwdHVyZQ== IGJlbG92ZWQ= ZGVt IGV4dHJhY3RlZA== IGZpZ2h0cw== RVJD KGF1dGg= cG9zaXRpb25z IHJldmVyc2Vk KHN0YWNr IF8p dXRvZmY= X2Zsb3c= 54K5 KEdhbWU= IGV4Y2x1ZGVk IENTVg== Y2c= IFRpdGFu cGF1c2U= IGNlcmNh IGR1bXBzdGVy TGVzcw== IGtvdGxpbng= YXN0ZXJ4bWw= IHBvaW50ZXJz IGZsb3dz IFR1bg== IE1haW5BY3Rpdml0eQ== IGRpc2NyZXQ= IGNvbWJpbmF0aW9ucw== dmlzaXQ= X2JpbmQ= b290aW5n ZGF0ZXI= X2xvb2t1cA== Lm5pbw== IHN3ZWF0 IFJk IHNjaWVudGlzdA== IFBpeGVs QE5nTW9kdWxl UGxheWluZw== IHVuZm9sZA== VHJhbnNsYXRl IExhd3JlbmNl IEZJWE1F QmlsbA== IFJJR0hU IHdoZXJldmVy IG9vaw== dmlkZW5jZQ== IF1dOw== IFNraWxs dW5pc3Rk IPCfmYI= IGZlbWFsZXM= LS0pCg== jrflj5Y= IEZyZWQ= T3ZlcmFsbA== 2YI= IGVzc2VuY2U= IHRoZXJlYnk= IHdvdW5kZWQ= IERPV04= bGVzc29u dGV4dHVyZQ== Um91bmQ= IGF1dG9tYXRlZA== INCh IFVwZGF0ZXM= IHNoYWRl cHVibGlzaA== IEdlYXI= PWxhbWJkYQ== IGxldmVy KSsi aGlsbA== IHJhZGFy cnlpbmc= ICIpLg== ZmlsbGVk IGxpbmV1cA== IGRs IHdvcmtzcGFjZQ== Vm8= X2R0 67I= X0l0ZW0= TlNVUkw= LnZlcmlmeQ== IEhhd2FpaQ== R29k TWFyY2g= IFvigKZd IHBlbG8= dXJpb3Vz IFBpdHRzYnVyZ2g= Lkl0 Q2xlYW4= Plw8Xg== IGlvcw== c291bmQ= Il07 IGZyZWVk cm90dGxl IExvd2Vy W2NvdW50 5Z0= IHBhbGU= IFdheW5l ZWFydGg= X2NhdGVnb3JpZXM= VUNL Lm1ldGFkYXRh IHN1bW1vbg== SE9NRQ== 0L7Qu9GM0Lc= IG1hbnVmYWN0dXJlZA== IGRvY2s= IGNvbXBldGl0b3Jz X01PREVM b2tpYQ== IEhleQ== zr8= IGJhY2t3YXJk IFBPU1M= cm9wYQ== IGNyaQ== X09CSg== VHJhbnNwb3J0 LWhpZ2g= IGVyb3Rpaw== X3Nsb3Q= IGFydGlj X2ZyYW1ld29yaw== LXNlcmlm IFNxbERiVHlwZQ== Jyko KyIv IHdvcmU= U2ls IHN0b3Jpbmc= IFBoYXNl dWFudA== IGJ1bXA= aW5obw== IGRpZ24= IGJhY2tz cXE= KGhhc2g= IGdlbw== IHRlbmRlcg== TG9nbw== ISkK IE1Y IEFydGh1cg== ZXNzb2E= X0No IGJlZHJvb21z PSIjIj48 IHRocm9hdA== aW5zaWM= LmludGVnZXI= IHByaW1pdGl2ZQ== VHJ1dGh5 IGZhY2lsaXRhdGU= IGNyZWF0aXZpdHk= IEROUw== IGdyYQ== dWV6 IGNvdW50bGVzcw== IFBvbGFuZA== J00= IERpc3Q= IHZlc3Q= IGNlcnRpZmljYXRpb24= 4buR aGVsZA== ZXh0ZW5zaW9ucw== KHN0YXRpYw== IGdyYWRlcw== IFViZXI= 44Gf IFtdKQo= ZGF0b3M= IGdldERhdGE= IENoYXJn IEJT Lm1pY3Jvc29mdA== LnZpZGVv LmRpcmVjdGlvbg== LT57Jw== bHVh YXBlc3Q= IGJvaWxlcg== ZXJlaw== IGRlY2lkZXM= Lmphcg== SVND IFdvcmRz KENPTg== RU1QTEFURQ== cmVlemU= c2hvdHM= YXBwcw== dW50ZWQ= LnNldE5hbWU= Ojo8 LWJvbGQ= 6rI= 5a+G TG9uZ3JpZ2h0YXJyb3c= IHVuZmFpcg== IGVhcm5pbmc= IHNoZWxm VVJFTUVOVA== IGlkbGU= X01FTlU= LkN1c3RvbQ== QUdFUg== LSI= X3N3aXRjaA== YmVjYXVzZQ== KXZpZXc= bWFyZQ== X2NvbmRpdGlvbg== IFN0YXJ0aW5n TXZj KHByZQ== ZHVtcA== X0xPQ0s= YXRldGltZQ== LmNhbGxiYWNr IENlcg== b3BvbA== aWJyYXJ5 IHJlc2VydmF0aW9u CQkJCQkJCQo= bGVjdG9y Z3JhZHVhdGU= IGdlbmVyb3Vz IGlvbg== cmljYW8= bXE= X2NvbXBsZXRl KGN1cnNvcg== IEZvcm1Db250cm9s OmNlbnRlcg== IHN1YnN0aXR1dGU= IFBsYW5uaW5n IHBlbnNpb24= IHJlY29tbWVuZGF0aW9u IFRhZ3M= IGdlZg== IGFsYnVtcw== IHdhc2hpbmc= cm9j IHRyYWlucw== YXRpbmdz IGV4cG9uZW50 YWNrYmFy LWxu w6Fn LkRhdGFBbm5vdGF0aW9ucw== IEVJRg== IE1hbGF5c2lh CVBPUlQ= b251cw== IGNsZXZlcg== IHBldQ== PgoKCgo= IEFyZ3VtZW50cw== IGRlYnVnZ2luZw== KHJpZ2h0 J0Q= Y29tcHV0ZQ== IGZpbmVzdA== T1JBR0U= IHNwZWN0YWN1bGFy cGhyYXNl IGluZGlh IGxlZ2VuZGFyeQ== YmlydGg= IGNvbXBvc2l0ZQ== IGdyb3dz IFRE IGVwaWQ= IGxhdW5jaGluZw== XV1b TWludXRlcw== IENoYQ== IGNsZWFuZWQ= IHdpdG5lc3Nlcw== dWthbg== CVR5cGU= IGhhYmU= cGFyYWdyYXBo IEpQYW5lbA== IEhhbm4= IHZhcmllZA== IFBva2Vtb24= IE1VU1Q= 5Yqo LnZpc2liaWxpdHk= b3B1cA== Xls= LmV4cGFuZA== ICInLA== LmZhc3RlcnhtbA== X2F1dG8= IFNoZWV0 bWFya2Vy UGFyY2Vs ZXdz IFN0cmF0ZWd5 LW1ha2luZw== IHVudmU= IHRyYWlsaW5n IGNsaWNrcw== IEdldENvbXBvbmVudA== CWNvbnRlbnQ= SUdFTkNF RVJORUw= TlNNdXRhYmxlQXJyYXk= IGJyZWF0 IGhhcm1mdWw= tog= IGJlc2lkZXM= IGJvcmluZw== IGJydXRhbA== dmFuZw== KHBhcnNl cXVpY2s= IHB5dGVzdA== IHN3aXRjaGluZw== KCldCg== IOyE TEVS CWZvbnQ= IG5ldHQ= KV0KCg== KC9c 5p6c dG9BcnJheQ== IGJyZWVk IENBUg== IFdlYXBvbg== QWJz dG90 IHNldE5hbWU= YXB0aXZl IDos IGVzY2FwZWQ= b3JkZW4= IFByaQ== dGh1bWJuYWls IGRlc2NyaXB0aW9ucw== L3N0eWxlcw== IFBDSQ== IGFscGhhYmV0 YXN0aWNzZWFyY2g= Tk9URQ== IGNpYWxpcw== IEdyaWZm IHBvcnF1ZQ== IHByb3RlaW5z cGxheXM= IHN0YXRpbmc= IGltYWdpbmF0aW9u IGZhY2lhbA== IE1lY2hhbg== IGFycmFuZ2Vk X3VzZWQ= IGFycmFuZ2VtZW50cw== IFBpcGU= aG9zdG5hbWU= IHByb3ZpbmM= VGl0 LkZsYXRTdHlsZQ== IFNwbGl0 IExvYWRlcg== LmNj IGNsaW5pYw== LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ== IGJha2luZw== IEVOVA== bmVhdGg= 44CBCgo= QU5F LkVudGl0eUZyYW1ld29ya0NvcmU= YXBwZXJz Lmlj IE5nTW9kdWxl IEZPUk0= ICc7 LXByb2ZpdA== aHc= ZW5lbXk= IEV5ZQ== IGNhdXRpb24= dG93bg== IHVyZ2Vk IEppbW15 eW5jaHJvbm91cw== LXNpemVk bWFraW5n LHs= XScs X09iamVjdA== YWhvbWE= IGFjdGl2aXN0 SU5WQUw= IENvbW1lcmNpYWw= IE9ybGFuZG8= KHRhYg== INio QWxnb3JpdGht IGhlcml0YWdl R2V0TWFwcGluZw== IGZhaWx1cmVz cmlvcw== YXRpdmE= IHRldA== IGNhcnBldA== KFo= dGhyZWU= IGRpc2Nsb3N1cmU= LkVSUk9S X2NhbGxlZA== IGRpYWw= IG9jY2FzaW9uYWw= LkVycg== IGZ1bmNpb24= Y2FmZm9sZA== IHJlbGVhc2luZw== 77yJCgo= X1ZhbHVl IFZhcmk= eWVsbG93 IHN0cnVnZ2xlcw== LmNhbA== IERha290YQ== CWNsb3Nl IHNhbmR3aWNo IGFuYWx5dGljcw== ICoqKQ== JiM= IEpvcw== IHBhc3NpdmU= QVRUUg== VGhyb3dhYmxl IE11bg== IFVpbnQ= KGRpc3Bvc2luZw== YXJhaw== IExlYWRlcnM= IGFmZmVjdGluZw== IGl0ZW1WaWV3 IGVjb25vbWljcw== ZnY= 4LmA LnJi IE92ZXJhbGw= IHdlYWx0aHk= IGV2b2x2ZWQ= bmRh IEh1cw== cmVzdHJpY3Q= dW1lbg== IEFncmljdWx0 IQoKCg== IGV4cGlyZXM= IHNwb2tlc3BlcnNvbg== aW50ZXJ2YWw= IMOi IHF1ZWVu KG5pbA== aW5nbw== SGVhcA== 2Y4= IGNvbXBsYWlu U3lt IENsb25l IFJ1 IFdJTEw= IENyeXN0YWw= L2NvbnRlbnQ= aW5nZW4= b2ludG1lbnQ= TGFzdE5hbWU= YXZpY29u IElCTQ== IERpbWVuc2lvbg== YW5o aWNpcGFudHM= IEFubmU= LnByb2dyZXNz IGFsZ28= b2JpbA== IFZvaWNl IEZF IGdsaQ== IHZlZA== IHByZXZlbnRz XENvbHVtbg== IGZvbGs= ZXR0aQ== IG1u IENMQVNT IGRpc3BsYXlpbmc= IEts IEZlcnI= ZHV0bw== Lmli IGRhZG9z J25hbWU= LXNwYWNl IGl0YWxpYW4= IGludmVyc2U= IGRlbnNl dXRlcg== IElFbnVtZXJhdG9y LXNpZ24= IG5hdGlvbndpZGU= IHBlcnNvbmE= IHNvbHZlZA== IGRyYW1hdGljYWxseQ== TG9nb3V0 IGdyYXY= IGFuYWx5c2Vz b2xsbw== IGxhbXA= LnRlYW0= IEVyb3Q= PVsi IGRhbmNpbmc= ID8+Lw== IGNhdGVy ZmZl IFNoYQ== IEJvcw== IFJFUVVJUkU= IE1vbnN0ZXI= IFJC IElERQ== IHN1aXRz IGZvcm1EYXRh KHRoZXRh IHNwYXRpYWw= PU5VTEw= IFNxbENvbm5lY3Rpb24= IOA= IFZlbmV6 IE1vcm5pbmc= IHB1YmxpY2F0aW9ucw== IE5PTklORlJJTkdFTUVOVA== Zmlyc3ROYW1l dWRz V291bGQ= X0hFQUQ= IGludmVzdGVk c3RhYmxl ZnJlZA== IGNvbW1hbmRlcg== U0VT 4oCUYQ== YW5jaGU= IE1vdmVtZW50 67M= U3VpdGU= IGp1cmlzZGljdGlvbg== 66as IEJldGg= alF1ZXJ5 IElzYQ== IGRlbnRhbA== LCo= IExpbWl0 aWxpYXRpb24= PSJ7 YmFzdA== IHR1cmI= aXN5 T09L IGFkdm9jYXRl aW1hZw== TEVDVElPTg== 0LvRjA== KGNhdGVnb3J5 LmRlYw== IHVuaXF1 X3Nu IGF0dHJhY3RlZA== IMOJ IFJ1bm5pbmc= X2VkZ2Vz IERpc2FibGU= X0FT 5Zu+ IG5ldHdvcmtpbmc= X2JyYW5jaA== SGF2aW5n dG9CZVRydXRoeQ== R0k= IGNhbXBz c2Vw LXBhcnQ= ICkKCgoKCgoKCg== dXN0cmFsaWE= IFJlcG9ydHM= cml0bw== IHdhaXN0 X3BsdXM= IFdX LXBlcnNvbg== QXByaWw= IHNhcg== LnRhcg== IGFncmljdWx0dXJhbA== dGlj IHRjcA== IHNldFZhbHVl YWdlbnRv IEFwcGU= cGlsZXI= Q0FERQ== IGFuY2hl YXRjaGVy IGNvbWljcw== IGxicw== X3NlZ21lbnQ= J109JA== aXR0ZXJz aWNoZXI= R0lORQ== IHV0aWxpemU= IEN1cnNvcg== X2V4cHJlc3Npb24= IGRhZw== PGxvbmc= IHJoeXRo 5o+Q IGNvbnN1bHRhdGlvbg== WWV0 IikpCgo= X01BQw== Y291bGQ= ICdcXA== IFZv CWh0dHA= IGdz cGhlcg== LWdyaWQ= SmFtZXM= SnVs IHNjaG9u IHRlbnNvcmZsb3c= IExPR0dFUg== YW1hcw== IHNjaXB5 IGNvbnZpY3Rpb24= LmFn IGFkbWluaXN0cmF0b3I= KSl7DQo= IG51bg== Imdyb3Vw UG9y IG51cnNl ZXhwcmVzc2lvbg== YWt5 IEhlYXZ5 Lm9wdA== LmdldEFsbA== IG92ZXJs LyIs X2NvdW50cnk= 544= IEdFTkVS X3JvdXRl IERhbA== wrQ= b2xvYWQ= IHVuY29tZm9ydGFibGU= KG1lbnU= IGhvc3RuYW1l JyIpOwo= IGNhbGN1bGF0aW9ucw== LWNsaWNr IHByb3RlY3RpdmU= 44Kv X0Zvcm0= dW5ncw== QWN0dWFs bWY= IFByb2Nlc3Npbmc= IEludmVudG9yeQ== KG1hdHJpeA== YXBwcm9wcmlhdGU= d2Vn aWph IGNocg== IHJpZmxl LXdzag== a2Fy IGluZGVwZW5kZW50bHk= SU9T IGNvbnNpc3RlbmN5 dm4= L3N5c3RlbQ== IENoYW5nZXM= IGV4cG9zZQ== aWNpZW50cw== IHJlbGF0ZQ== CW5leHQ= 6Kg= dWRlcw== IGdsYXNzZXM= RlhNTA== Li4uLi4u IFBkZg== IGFwcHJvdmU= IHtc IGV4aXN0ZQ== KSko QVJFTlQ= 0L7Qvw== IExhdGVzdA== IE5pZ2VyaWE= LkludGVyZmFjZXM= IHJlbW92ZXM= RW5lbXk= IGVuZm9yY2U= dmVydHM= CXBvcw== X3RleHR1cmU= V0FSRA== IElOQ0lERU5U KGNvbnRhaW5lcg== IGRlZmVuZGluZw== IFJY IEhvb2s= YnJpcw== IEZsYXNr R3JheQ== LikK dmlzaWJpbGl0eQ== IFJlZGlyZWN0VG9BY3Rpb24= ZXJyYWw= X2VsZW0= IHJlc29u ZnJvbnRlbmQ= X3ZhcmlhYmxlcw== YXRlcmlh ICsi YXZlbGVk UklY IGRlZmljaXQ= X0NoZWNr WVlZWQ== VG9PbmU= c3B5 IHVuaXRlZA== ZW5kZW50 IHBvZGU= 44GM Q0FU KGZtdA== IEJvbnVz IHJlY2s= wro= TW9kdWxlcw== IHZhY3V1bQ== UmFkaW8= IERBTUFHRQ== UGVu IFBhcmtlcg== OzsK IFJlYWxseQ== X25lZw== cGVuZGluZw== IG5vbWluZWU= IENhdGVnb3JpZXM= IFVsdHJh V2VhcG9u IGRlZmVuZGVy SXNz IEdlbmRlcg== IERyZXNz IGltcHJpc29u IGJhbmtydXB0 aW1lbnNpb25hbA== UEhB IFN0cmF0ZWc= IFBST0ZJVFM= IHBhdHJp Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8= ZGVsZWdhdGU= IGZvclN0YXRl IGRldm90ZWQ= X21ha2U= IHRlcnJvcmlzdHM= IFNuYXA= X25hdg== IEFB IElhbg== CWFwcA== UGxhY2VtZW50 X2hkcg== PEs= IHNhbmc= c3Ryb2tl LVE= Pjw/PQ== LW1vZGVs YXZhbmE= IFdhbmc= ICAgICAgICAgICAgIAo= CWluaXQ= IGVudHJlcHJlbmV1cg== YXRpdm8= TG92ZQ== LW92ZXI= V2F0ZXI= IG1vZHM= Z2VuY2U= VGVjaG4= Png= LlRhc2s= bW9uZXk= aWJhYmE= J30pOwo= IFNwZWNpZmlj IExpbmVhcg== X09QVA== SGFzaENvZGU= KFBsYXllcg== LkNvbnRhaW5zS2V5 IGNvbGxhcHNlZA== dHJhbnNwYXJlbnQ= X1JBTkdF Vmlld2Vy KGNmZw== IHNvcnRpbmc= IGluZmVjdGVk IE5hY2g= IGFjY29tbW9kYXRl LmVsZW1lbnRz X1BBUlQ= IFNleHk= PWdldA== KHllYXI= IHhocg== Ol0= b3dza2k= IHN1bW1hcg== IMK/ IGludGU= IHdvcmtmbG93 IFRhaXdhbg== dmVyc2lvbnM= 5Y+R IHN1cnByaXNpbmdseQ== IG9wdGljYWw= IHByb2Nlcw== IGRpc2FncmVl IG51ZXZv IENBTQ== c29ydGVk bGVhc2Vz aXN0bGU= SWRlbnQ= CWV2ZW50 amVjdGVk Q2h1bms= VmFycw== LnByb3ZpZGVy IHByb2NlZWRpbmdz IGluY2x1c2l2ZQ== IGFydHdvcms= ZW5kYW50cw== 77yaCg== c2Vlbg== IGxpZw== IG1ha2Vycw== X2Z1bg== IGxlbmd0aHM= UGF0aFZhcmlhYmxl W2l0ZW0= 4Li1 RGVhZA== RkZGRkZG IFVyYmFu dXBsZXM= aWNoZW4= KG51bGxwdHI= LnNwZWM= LFN5c3RlbQ== VVJBVElPTg== KGpvYg== 5byP IHRyYWNrZXI= xZk= IE1S IFNRTGl0ZQ== IGR0bw== IDs7Cg== IG1pbnQ= IEludHJvZHVjdGlvbg== Y2Fv IHF1ZXN0aW9uZWQ= IGZpdHRlZA== cmV2aXNpb24= c3E= IG1pZw== X3VuaXRz X2FzeW5j IGZsaWNr fSk7CgoK IG5vdHJl fWAs RmlsdGVycw== IG11bmRv X2RheXM= IGZybQ== dXRj IHZhbHM= ZXdpZHRo IEdlbmVyYXRvcg== IEFydGlzdA== IElEcw== IEFydGljbGVz cmVhdGVy IENvbXBvbmVudEZpeHR1cmU= Lj0= IHJvdQ== LW5v LmJ1a2tpdA== ZWdn IERpZmY= YXRpY3M= 0YPRhw== 4oCUCgo= IENoYXJsb3R0ZQ== Ynll IH0pOw0KDQo= IFZpaw== IEJyb3c= IGx2 IEdpYg== LXdpbmc= R0xJR0VOQ0U= KEls IEVuZ2luZWVy LldhaXQ= IFBpY3R1cmVz IHJoZXQ= IHRoZXJtYWw= IHByYWlzZQ== PD4oKTsKCg== IFNwaWRlcg== UGF1c2U= IEJha2Vy IHNsb3dlcg== IH1dCg== X2VucXVldWU= IGRpc2FwcGVhcmVk IFRpY2tldA== SU5VWA== X0xPQ0FM 0LDRgdGB QEluamVjdGFibGU= Y29tbXVuaXR5 R2VzdHVyZVJlY29nbml6ZXI= 5Zu9 IHNjYWxlcw== IC0o Lycr IFNpdA== IGV4ZWN1dGl2ZXM= YXJkaW5n IGFkdmVycw== IGJhY2t3YXJkcw== CWNvbnRleHQ= IEhhbXA= IFBG IERlY2s= IENyYWln QW1lcmljYW4= IGJlbGw= IHByb2w= dWZlbg== IHJuZw== YXJzaGFs IFNpbXBseQ== Zmlyc3RuYW1l c2hvcmU= SnVseQ== IG1vcnRhbGl0eQ== IOKGkgoK SGVscGVycw== IGJlbmNobWFyaw== ZW1hZGU= IG9yZ2FuaXNhdGlvbnM= Lmdzb24= IFRleHRGaWVsZA== IGNpdmlsaWFucw== LkFycmF5cw== IE1pc3Npc3NpcHBp IGludGVybWVkaWF0ZQ== Z2V0VXNlcg== X2NsdXN0ZXI= UmVsYXRpdmU= Zm9yZWlnbg== LnF1ZXJ5U2VsZWN0b3JBbGw= Rm9yZWlnbktleQ== IHJlYXNvbmFibHk= LS0tLS0tLS0tCg== Q2FyZHM= IEthbQ== IFRob3I= IHJvbGxlcg== LWVsZW1lbnQ= IEN1cnJlbmN5 ZGRpZQ== QUxMWQ== IFJB IHBlcm1ldA== YWFhYQ== IGhvbWV3b3Jr IFZpdA== IG1vbGQ= IEZlcg== W3N0YXJ0 IHN0YXRpc3RpY2Fs IHNjYXJ5 X0hPTUU= LkJlZ2lu Q29uc3RydWN0 b2dlbmlj IERFQUxJTkdT IHRhbWJpw6lu aXhvbg== LmluZA== YWNyZQ== IHRyYW5zZm9ybXM= IE5hcA== LkJsb2Nr dXNzaWE= cGlyYXRpb24= dWxlbnQ= IGNlaWw= Q2xhdXNl bmFpcmU= VEVT IG5lYXQ= U1RE IFJlZ0V4cA== cGVyZm9ybQ== Oik= IHVuaW9ucw== IHN1YmxpYw== IHdpbmRz bG9hdGluZw== Z2xpY2g= IHBhZ2luYXRpb24= U2tpbGw= QXBwbHk= IE9wZXJhdG9y aXN0b2dyYW0= IHF1YWxpdGllcw== Q3Jvc3M= IGRlY29t XSwi IEp1YW4= Lm1vZGFs LkNoaWxk IFJvZ2Vy U1RJVFVURQ== OkNHUmVjdE1ha2U= YWxldHRl IHN0YQ== YXNpZGU= IGJsdXI= IFdh aWZldGltZQ== cmVlZA== Y29udHJvbHM= IGJpbnM= INC/0L7Quw== Ki8sCg== VUlT IFJvdQ== IERlbW8= LWF3ZXNvbWU= IENoYWlu IGhhc3Rh IEJhcnQ= LktFWQ== IHZlbmRvcnM= bm9mb2xsb3c= IERlc3Q= X2J1aWxkZXI= IGFyZ3Vlcw== X2Fuc3dlcg== Z290bw== IFJFU1VMVA== IE1PTg== IHBvZGVy b29ucw== X0NBU0U= IHJlcGxpYw== IGZpbmFuY2luZw== IERBVEU= Y2Vybg== X3RyYWNr dGllcw== L2xvZ28= IE5FR0xJR0VOQ0U= Z2V0VHlwZQ== PlQ= YmV0 Z2lybA== IElOQ0lERU5UQUw= LXNpdGU= LnRyaWdnZXI= IExpc2E= X2lucHV0cw== IHJlbGF0aXZlcw== TG9nZ2VkSW4= Q29uZmlndXJl SUs= LmFjY2VwdA== UmVzdW1l IERyYWZ0 ICo+KA== IFdB ZWRpYW4= ZXJuZXNz IExheW91dEluZmxhdGVy Ki8NCg0K b3RoeQ== IG9ibGlnYXRpb24= U3Vic2NyaWJl IHRodW1ibmFpbA== ZXhpc3Q= IGluc2lzdGVk IFVJQ29sbGVjdGlvblZpZXc= IEFuZ3VsYXI= IHRhYmxldHM= IEltcGFjdA== 44CNCgo= YWhv IGNoYXJhY3RlcmlzdGlj Z2Q= ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0= b3VydA== YC4= QXBwcm8= Q29vcmRpbmF0ZQ== UmVtZW1iZXI= IG1hcmluZQ== XT09Jw== IEFkbWluaXN0cmF0b3I= LmdldERlZmF1bHQ= IGZvcmdvdA== IFN0cnVjdHVyZQ== VnVl YXJzaW5n bW9tZW50 a3c= X2N1cnNvcg== QXR0YWNr IGF0aGxldGlj IGRpYWdub3NlZA== IGVuZGU= 5Yig6Zmk SG91c2U= IFBBUkFN IHdpa2k= IE9wcA== IGNvbnNlcnZhdGlvbg== IHNuZA== X3RlbQ== c3Vic3Ry IENhcGU= LnNpbQ== VVRJT04= YW5hbg== 4oCZdW4= IGd5 LXdvcms= IGNvbXBlbGxpbmc= PScj CXN1Yg== IGRpcmVjdG9yaWVz 7Yq4 IHRvdWNoZXM= b3V0aW5lcw== LkNvbGxlY3Rpb24= c2NoZWR1bGU= LmxhdA== IERvY3RyaW5l Q0FB IFJlZmVy IHNoaWZ0cw== IGxpa2VsaWhvb2Q= cHJldGVy IEZlbWFsZQ== IGludGVyY2VwdA== IGxvdQ== 55m7 IHJ1Zw== IENyb3du ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio= LXByb2R1Y3Q= IHByb21wdGVk dW5nbGU= ZG9ja2Vy IFR1 IFVuaXF1ZQ== X0Vycm9y dWxvcw== IOKE IChg R2V0dGluZw== X3NjYWw= IEVuaA== w7x0 IHN1c3RhaW5lZA== IHBhdGNoZXM= IHByb3NwZXI= IEdhemE= X2xpZ2h0 IGluY29ucw== LS0tLS0tLS0K CQkgICAgICA= U0Y= Q04= OiI7Cg== IENvbGxpbnM= KCop IGNvbXBpbGF0aW9u J10NCg== IGNvbnNlcXVlbmNl LC4uLg== IGRt IEJMT0NL Q2x1c3Rlcg== IHNraQ== KGFyZ2M= VHVwbGU= IGpvaW5z IFNoZXJpZmY= V2Fy aW5kaQ== IGNvbW1lbnRlZA== SE9TVA== IGludml0YXRpb24= YXBhbmVzZQ== IHBlcm1pdHM= cHJlY2VkZW50ZWQ= X3pvbmU= IEFteQ== X1JE TWluaW11bQ== IGludm9jYXRpb24= LmVuYWJsZQ== aWNodGVu LW93bmVk Imlk X1BPSU5URVI= RmFj IHNwZWNpZmljYXRpb25z IG5vbWluYXRpb24= IGdw PCg= IHJvYm90cw== IEplcnJ5 IGhvbGRlcnM= IHdhbmQ= Y21z IH0pKQo= LlRvYXN0 IElMaXN0 QmFzZWQ= em9vbQ== L3N0eWxl IEJlY2s= TWVu IGNvbnRyaWJ1dGluZw== IHVuZG8= IE9I IGFkZE9iamVjdA== IGVpZ2Vu c2lnbnVw 6ZSZ IGRpc3RhbnQ= UEFSQVRPUg== IE1hcmk= IG3DoQ== RW1w w7Nz IOyImA== ZXZ0 K2o= cGFyaw== IFN0YXk= IER1bg== IHNveQ== PiU= YXppbmVz IHRpZW1wbw== KG1l cHJlc2VudA== LlRoaXM= IGVkaXRvcnM= RklFTEQ= Lldvcms= IFVuaXZlcnNl IGRydW5r LnRpbWVy IGFsdGVyZWQ= IE5hcg== 66Cl LkFjdGl2ZQ== aWRvcg== 560= LmRlbHRhVGltZQ== IGF3a3dhcmQ= JnF1b3Q= IFNhZmFyaQ== IHRyaWNrcw== TUVOVFM= ZGl2aXNpb24= IHZhcnlpbmc= IEhpZ2h3YXk= IHBob3RvZ3JhcGhlcg== IFN0ZXdhcnQ= IGxhc3Rpbmc= LlByZQ== LmFtYXpvbmF3cw== IEx1Y2s= LkRlc2NyaXB0aW9u IE5heg== bmVn IGPDsw== PDwiXA== IFN1cnY= IFVuYw== UmVjaXBl LkJvcmRlclN0eWxl IG1vZGlmaWNhdGlvbnM= LWF0 QVRGT1JN aGRy YWtv IHN1YmxpY2Vuc2U= IEp1bXA= IGJlaW0= IE1hbmhhdHRhbg== LmJvb2w= X2h3 0YLRjA== Qmlu IGdhdGV3YXk= IiI6 IFVJUw== OiIr LWRlZg== IFJlZ3VsYXI= L3Rlc3Rpbmc= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= c3RyaW5nc3RyZWFt IGRpc3Bhcg== IG1vYmls LXJlYWQ= IEFkYXB0ZXI= IENoYW1waW9ucw== IHNjaGVkdWxlcg== IGtpbGxz IE11bHRpcGxl aXJyb3I= IGdvZHM= QURP YWt0ZQ== IFVzdWFyaW8= LmNpcmN1bGFy IHJlY2VwdA== IEV4cHI= IGVsZGVybHk= IG5pY2VseQ== IGJlc3Rl V2FudA== IGNsYXNzaWNhbA== LnNwcml0ZQ== b2JqYw== IE1hc29u IHNpc3RlbWE= LkJsYWNr ZXNv IFplaXQ= IGRpdmlk IGVudGVycw== X3N1YmplY3Q= IFBsYW5ldA== Lndhcm5pbmc= IEdyYW0= X3Rva2Vucw== IGhvdXNlaG9sZHM= X2N1c3RvbWVy dXNlck5hbWU= Y3Jvc3M= IHBpb25l IGFzc2lzdHM= X1NN aWJv IGxveWFs IHVzZWxlc3M= I2VsaWY= IFVsdGltYXRl Q29tZQ== Z2Vs IGRpY2g= eHl6 aWtlbA== b2JyYQ== X3NjYW4= IEludGVyaW9y IE5pY2U= IHBsYWM= CXRhcmdldA== IHZpcmFs YXNzbw== KCkv dW5kZQ== IEFkb2Jl T3M= dmlzaXRlZA== IE9X IEZlZWQ= IFNlcXVlbmNl IG1hbmFnZXM= aW5zb24= IExvdWlzaWFuYQ== e30p IEhhYg== IExE IGJpcA== cHJpdGVz KGVsZW0= LmhpYmVybmF0ZQ== w6lsw6k= IG9obmU= X3RyYW5zYWN0aW9u IGFubnVuY2k= UHVibGlzaGVk IEhvbmRh IFRhbQ== IFBhY2tldA== X3NlbGVjdG9y IGNoYWxsZW5nZWQ= UHJvY2Vzc2luZw== LWhvdmVy IHRyYWluZXI= X2NhbmNlbA== IE5TRGljdGlvbmFyeQ== YWJyaWM= IE1MUw== X3NlbnNvcg== IHNocmluaw== IEZY dGhyZXNob2xk CUhY LW1hcms= YC5g U2NoZW1l KGZ1bGw= X3dyaXRlcg== IFN5cw== IGZsZWQ= IENpbg== LXdpZGdldA== IFByZXZpb3Vz R2VuZGVy X3F1ZXN0aW9u RmVlZA== IHNjcnV0 KHByZWZpeA== 44CC44CC IGluZmVjdGlvbnM= UGFydHM= IGhpZXJhcmNoeQ== X0RFTEVURQ== IFBhdGllbnQ= X3BheQ== IHByb21vdGVk IOyL IGNpdmlsaWFu IGFncmljdWx0dXJl IFBpZWNl IHN0YW5jZQ== dXRzY2hl QXNzaWdu LkFDVElPTg== Rmln X3JhZGl1cw== IFN5bmM= ZHVjZXI= ZmFpbHVyZQ== ZW5zZWQ= cHRpbWU= Qk0= X2RhdGV0aW1l cXVpdm8= UVVFVUU= 6ICF QXBwZWFy IHN1bW1pdA== OnZvaWQ= IHZpbmU= 6K6k b25uZQ== X1RSQU5T LmdyZWVu X2Nj IGh1bmdyeQ== ICI+ KCkpOw0KDQo= RXh0cmFjdA== aXplbnM= IHNvbHZlcg== Tm90aWZ5 IGVuZ2xpc2g= IFNob3BwaW5n aW50ZXJmYWNlcw== UkVR IGlsbGVn IFVJSW1hZ2VWaWV3 IGRpc2Nvbm5lY3Q= IFVudGls IENvbnNlcnZhdGl2ZQ== QENvbHVtbg== IHNoaWZ0ZWQ= IDoNCg== IGZpY2g= IGRsYQ== IHNob2U= IiksDQo= dWxhcml0eQ== X1JFU1A= V2VhdGhlcg== VUlBcHBsaWNhdGlvbg== Lml0ZXJhdG9y IGFnaW5n LlBhcmVudA== b3dpZQ== KGVxdWFs IENvbnY= L2RlZmF1bHQ= IG1lYXN1cmluZw== LnByZXY= LklzVmFsaWQ= LkZhdA== IHPEgw== a2V5d29yZHM= d2l0aG91dA== IHNvdmVyZQ== IGV4Y2hhbmdlcw== IG1lbHQ= IGlzbGFuZHM= IEludGVncg== IGp1bXBpbmc= IGdsZQ== IGpvdXJuYWxpc20= IGRhdGVk TG9jYWxpemVk IFJlZnJlc2g= UGFydGljbGU= IGFh IFNUUklDVA== IGJvZA== LlByb2Nlc3M= X0FVVE8= IFB1Ymxpc2hlZA== ZXZlcnk= IHRlY2hub2xvZ2ljYWw= bHN4 IGlycml0 QWRkaXRpb25hbA== IGRlbGltaXRlcg== X2xhbmd1YWdl LWFyZWE= Ym95cw== IFR1YmU= IHdhdA== IG1lY2hhbmljcw== X293bmVy U3BlbGw= IFN0b3JpZXM= LkFwcGVuZExpbmU= VGFibGVWaWV3 aGVt c3RpY2s= b2xsb3dlcg== SUZG IFVW b2xsaXNpb24= U1VC IGNvbXBhcmFibGU= IGRvbmRl c2FsZXM= bGx2bQ== IH1dLAo= T1RUT00= IFB1cnBvc2U= TGFi IGludGVydmlld2Vk b2lz YXNpbA== LnNldElk IEluc3RydWN0aW9u LS0+ IE1vZGlmaWVk YXRpb25hbGx5 IE1lZXRpbmc= 6K+v I3JlZ2lvbg== IHJvdXRpbmc= LmZvY3Vz IFlvdXRo PEQ= IE5hZw== Y29udGFjdHM= IGZvcm1pbmc= IG1pZQ== JyxbJy4uLw== IEJQ IGFwcGV0 IFRlYWNoZXI= IFRQ IGFubnVhbGx5 b3V0ZWRFdmVudEFyZ3M= IFNwZWFrZXI= IHJlbmFtZQ== Q0ZH KCIvLw== 5o6l L3BhZ2Vz IHByw6lz IFNwZWxs LkFsbG93 IElOVEVSUlU= ICgj 4oCZCgo= X0dlbmVyaWM= Lmltc2hvdw== X3RpbQ== LWZhY2U= KCYo YXRpbnVt IHJldm9sdXRpb25hcnk= IEhvdXJz cmFpbg== IGFueXRpbWU= IGFiYg== LmpzcA== U2Nyb2xsVmlldw== IFRydXRo IGFudGljaXBhdGVk IGFjY2VudA== LmNoZWNrZWQ= IHNwZWNpZmllcw== IGNhZg== IGNlbGxwYWRkaW5n IGNvb2tlZA== IEh1Z2g= cGVlaw== X1JBVEU= IGRvcm0= Lw0K SVZJVFk= LkNvbnRyb2xsZXI= KHBhcnQ= LmNvbnN0cmFpbnQ= IGludmFzaW9u TU9WRQ== IGdsdWM= bGVuYW1l IGFtZW4= ZW5nbGlzaA== IFN3aXR6ZXJsYW5k IjsKCgo= cGVzdA== LmNvbGxlY3Q= Tmli IERpY3Q= IEVtYg== KHN1YmplY3Q= IG91dHJhZ2U= IGRlY2lkaW5n IHNlbnRlbmNlZA== RmVjaGE= IkE= IHF1ZXI= IGZvbnRGYW1pbHk= IHF1YWRy LVk= X0NBQ0hF IGFuYWx5emVk IGdhaW5pbmc= IEFnYWluc3Q= IFNvdWw= dGF1 IGxpZ2h0d2VpZ2h0 IFRG IEVmZmVjdHM= LlR5cGVz LmFkZENsYXNz IHZlZ2Fu 6YE= Lici IEV4cGxvcmVy LmRldGVjdA== LnNoaWZ0 IG9ibGlnYXRpb25z bGFzdE5hbWU= IGFzc29jaWF0aW9ucw== IFRpbWVTcGFu dW50ZXI= IEZyZXNo Q29tcGF0aWJsZQ== UHVi aWRnZXM= Lm9wdGlvbg== dmFyaQ== Lmhhc2hDb2Rl IGdlYg== LnNlY3Rpb24= LW5vdA== IFN1Ym1pdA== VE4= cmVnaXN0cnk= X21lZGlh IG5hag== ZmZ0 IG1hdGU= LXRoaXJk IHBvY2tldHM= ZXN0YQ== IGJlbnQ= IE5vcmQ= IHJldGFpbGVycw== IE1vcnJpcw== LiIiIgoK V3Jvbmc= IMWb UmF5 LmVj IEJpbmQ= X0hBTkQ= KG5vbg== aXNWYWxpZA== IHNpbWlsYXJseQ== X0xJTUlU IGR5bmFtaWNz IGRpc3RpbmN0aW9u 44GG PE4= IG9ydGg= IFRveW90YQ== IEthdGU= IExT b3JpZQ== IFNwcmluZ3M= IGZyZWFr bGFzdG5hbWU= X01VTFQ= LXN0ZXA= Iig= QUREUg== IGVudGVydGFpbmluZw== X0NPTkY= IGRlY29kZWQ= IHN0cmVhaw== IHdhaXRlZA== IG5vdGlmaWVk cm9kdWNlZA== dmlzdWFs LkxheW91dFBhcmFtcw== 5rA= ZXNpYW4= Zml0cw== c3ByaW5n IEJlcm5pZQ== VXNlckRlZmF1bHRz IHBlZGVzdA== QXBwZWFyYW5jZQ== IFdpa2k= IE5PVElDRQ== IHNzaA== IGR1cmFudGU= IFppcA== xLFy IE5BVE8= IHR3ZWx2ZQ== IHJveWFs 77g= IG1lcmNoYW50 IEZ1cm5pdHVyZQ== J10pLAo= LFg= IGZvbGRlcnM= IEdhdGU= CWZ1bmM= cGljaw== X3VzdWFyaW8= IFZlcm0= bWVudGlvbg== dXJwb3Nl IGFsZXJ0cw== eGlvdXM= X3NpZw== IEZ1 ICg6 IGR1bWI= 5YWz IGFjY3VyYXRlbHk= 6YeN UkI= LXNjcmVlbg== IFZFUg== am91cg== IHJvbWFuY2U= dWNjZWVk LmNob2ljZQ== IGFkaXA= X2RpbXM= U2VyaWFsaXphYmxl 44KL LmpvYg== IHByb2c= dWNoYXI= IGdlbnRseQ== IFJTUw== aWN0dXJlZA== X0VOQUJMRUQ= CWxhYmVs YXdrcw== IEVuc3VyZQ== cmVtZW1iZXI= 7KCV IHRyYW5zbWl0 e3sk LlRyYW5zYWN0aW9u dXJzZQ== X3JlbGF0aXZl IHNpemVk IFhY IFByaW5jZXNz IExhcnJ5 IHByw7M= INGB0YLRgA== IHNpc3RlcnM= ZXN0cnVjdA== IGNoZWNrcG9pbnQ= Omxlbmd0aA== IENhcmxvcw== L2ljb24= X1RBUkdFVA== VG9rZW5z IHBhdGllbmNl IFNlbGVjdGVk cXR5 LnNob3dNZXNzYWdl IHdpbGRsaWZl IFByb3Bz Ym0= LWFycm93 IHBhcmNlbA== ZmlyZWJhc2U= IEJlbmphbWlu Y2Vzc28= LnRpbQ== IEdhcmM= LmFueQ== IEhPV0VWRVI= IEtv IGdyYWJiZWQ= X2ZyYW1lcw== IG9iamVjdEF0SW5kZXg= IEFEVklTRUQ= IHN1YnVy CUdM IH0pfQo= LWxlbmd0aA== 7Iuc IFBvdHRlcg== X2J1ZmY= Lmd1aQ== IEVuY29kaW5n RWxlY3Q= LW1lc3NhZ2U= IO+/vQ== IMiZaQ== IEFyZ3VtZW50TnVsbEV4Y2VwdGlvbg== 0LDRhtC4 IG1pbmltaXpl IHJlc3BvbmRpbmc= JF9bJw== IEluZGl2aWR1YWw= w6Fj IElOVEVS IG1hc3R1cmI= IEJpbg== KCck 65Oc IG9wZW5seQ== ID48 IHVudG8= b2xvZ2ljYWxseQ== IE11bA== VklESUE= IHNsaW0= IENvbW1pc3Npb25lcg== KG9u IHVuZGVybmVhdGg= L2Ri dm90ZQ== KE1lc3NhZ2U= IFBvcGU= RGVmaW5lZA== IHN3aWZ0 dXJm IGFkYXB0ZWQ= U0VM IHJldmVudWVz IGRpdmluZQ== PXk= R3JhZGllbnQ= X2FjdA== IC8qITw= IHBvbHlnb24= IEZEQQ== IENhcnI= YXRhYmxlcw== KHN0ZG91dA== IHJlZnJpZ2Vy IGNvb3JkaW4= YXZvcml0ZXM= 0YjQuA== IGNvbXBhc3Npb24= IFBPU1NJQklMSVRZ LXNlY29uZGFyeQ== dXJhY3k= IGNvbXByb21pc2U= X0FW X29z IGJlc2lkZQ== g50= IGxu LnBsdWdpbnM= Q2FwYWNpdHk= YWxhaA== LmJpbg== IENSQw== X2JhbGFuY2U= IGZsZXhEaXJlY3Rpb24= IGFtYml0 IG5pY2tuYW1l IEZvcmNlcw== Q0xF IFNoZWxs IHNhaWw= IFdyaXRlcg== IEFsaWNl ZHc= IEluZGlhbnM= IE1hcnNoYWxs X1NSQw== IG5vcm1hbGl6ZWQ= IEphZw== 44KS emVpdA== cnBj w61j LmlubGluZQ== IHRyYXZlcnM= X251bWVyaWM= IHV0aWxpdGllcw== IGV2YWM= SU5QVVQ= CXJlZ2lzdGVy TVg= IENhbXBiZWxs IGRhdGFzZXRz IGRlbWFuZGVk IGluaXRpYWxTdGF0ZQ== Z2Fu IGVp VW5leHBlY3RlZA== LXdlYg== dHJhaXQ= LFk= IFRvZGQ= IHNrZWxldG9u IG9wdGltaXpl 56ys IFVwb24= IFN0T2JqZWN0 IGFwbGlj Lic8Lw== QUND YWxvdXM= IGhhc2hDb2Rl IEJpYg== SU5BTA== IGludmlzaWJsZQ== IGhldGVy IHNhZmVy fS8v LnRoZW1l Lm5hdmlnYXRpb25Db250cm9sbGVy X21lc2g= c2tpbGw= IFZpb2w= wrI= IEVPRg== IEtp eW1tZXRyaWM= IG1heGxlbmd0aA== xaM= ZnJpZW5kcw== IEV2YW5z IGxlbW9u ICgu U2xpZGU= IFRoYWlsYW5k IENhbm4= IGFtZW5k IGNpcg== IHNpbGx5 ZXNpbWFs X3BpYw== cHJvY2Vzc29y SmF2YVNjcmlwdA== IGV2aWRlbnQ= X2Rp PlA= dnJvbg== LlVO IHBhaW50ZXI= aXphcnJl IGxhdg== IHBvbQ== cHJlZw== PWZ1bmN0aW9u KHNlcmlhbA== aWZpY2E= dW1pbmc= 5Zyw 44GC LW9w VUNI IEhlbmQ= LnByb3BUeXBlcw== IHlv IHJvdXRpbmVz IGNhcmluZw== U2Vt IHJlc2VydmVz IHByaW9yaXRpZXM= cmVkaXRz SVNUUg== Q29udGVudFR5cGU= IFNjaHc= L21lZGlh IGVzdHI= IGNsaW1iaW5n LXdlZWs= Y2hlcmNoZQ== c2Vuc29y VG9BcnJheQ== IE1vbnRyZWFs IGNsb3Vkcw== IEluamVjdGFibGU= IFJpY2U= IHByb3BhZ2FuZGE= X3Byb3ZpZGVy IGluZG9vcg== IGluYXVn IGRpcGxvbQ== IG1lc3NhZ2luZw== X211dA== 5aaC IGt3 T05T YXJpYW5z UlBD KV0NCg== LXJheQ== IFNvcg== bWFsbA== IG1hcmtldHBsYWNl IHZ0aw== TWE= b2dhbg== aWdp IHNwb25zb3JlZA== IERhbmk= LlNFVkVS PicuJA== bXVsdGlwYXJ0 IFdvbA== IHRhYmxlTmFtZQ== IFVzZXJuYW1l QmFja2dyb3VuZENvbG9y IGZyaWdodA== X0VNQUlM U2VwdGVtYmVy X3ZhbHM= b3BpYQ== IHNwb3R0ZWQ= LUNo IGRhdGFTb3VyY2U= LyIK 0LXQutGC IFJlcXVlc3RNZXRob2Q= IFJlcGxhY2U= LWRv YWhu IFBoRA== XS4KCg== Tk9O Z2VtZW50 IFRocg== IHF1aWV0bHk= IHRvcnR1cmU= IHRlYXM= IENZ IGF0cg== ZGV2ZWxvcG1lbnQ= LWRldGFpbA== IGxpZ2h0ZXI= IGFyZ3Vpbmc= IGRlc2VydmVz IGN1cnJpY3VsdW0= X0NPTlRFWFQ= xYJ5 SElURQ== CUlE L3VwbG9hZHM= IHRpdHM= cmVv X2Ryb3A= LlVURg== IHBpY2t1cA== IGdyb2Nlcnk= IFB1cmU= IGVhc2llc3Q= UGhpbA== LmZlYXR1cmU= KCIq IGludmVzdG9y dG9r IGphcg== TG9z 4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU LnF1ZXVl LXNwZWVk TWFs dW1ibHI= IENPTlNU IEhSRVNVTFQ= IERhbmNl KGZpbGVQYXRo IGF0dHJpYnV0ZWQ= 4KWN IEJ1bmQ= Y29pbnM= IHPDo28= IHBpcg== cGVyc29uYWw= IHByZWxpbQ== IHByb3Bvc2U= IFRM XV0p IFN1YnNjcmlwdGlvbg== IEtyZQ== LGxlbg== LkZpcnN0T3JEZWZhdWx0 KS0t X3Byb2R1Y3Rz LkdldEJ5dGVz U2hpcA== IGVuY3J5cHQ= IFNH IE15c3Q= aGly IGl0ZXJhdGU= IGludGVuZA== Lm1vY2tpdG8= IGNoYXB0ZXJz KGFuZ2xl IFZsYWQ= 6K6+ Jy4KCg== UmVzcG9uc2VCb2R5 IEFiZA== ZGVhbA== IGJhcnJpZXJz LW91dGxpbmU= YmlsbA== IEZhbGxz X3NlY29uZA== LmluY2x1ZGU= LmNlaWw= IG9jY3VwYXRpb24= cGhvbnk= Lm1vdmVUbw== IEplbm5pZmVy QVNURVI= OyI+PA== IEVuYWJsZWQ= IHRlcm1pbmF0ZQ== IElv bGF0aW9ucw== IFRIRU9SWQ== IGVhcmxpZXN0 IHJhY2s= IFNjYXI= c2hha2U= Y2hpcA== IHV2 IGFsbGlhbmNl 0L/QuNGB IEdPT0RT emlvbmU= IFZJ IHst IGZpbHRlcmluZw== IG1pc2Nvbg== LkRvY2tTdHlsZQ== IGJ1c2g= IGp1bms= 5ow= IFFVRQ== IGhvb2tz IGZpcm13YXJl IG1pZGRsZXdhcmU= ZGlj IE9ha2xhbmQ= IGFycml2ZXM= UGF5bG9hZA== cGl4ZWw= XXw= IHN0YXJ0RGF0ZQ== LlBSTw== X2F1ZGlv IG1pZGZpZWxk aWdpZGJvZHk= IFN3aXNz IENsaXA= IER1bXA= IFRleHRCb3g= IGdlaA== eWllbGQ= b2Rz IHJlZmVyZW5kdW0= QmFja2VuZA== IENyZWFt IGRvbWluYXRlZA== IEFyY2hpdmU= IHJpZGVycw== LnByZXBhcmVTdGF0ZW1lbnQ= IHF1YW5kbw== IGNoZWY= d2lraQ== aW5lbA== YW1wbGluZw== KCJcXA== IHNhZw== X3Byb3h5 44GV cGRv LmdldEVsZW1lbnRzQnlUYWdOYW1l IGRlbW9uc3RyYXRpb24= IE5QQw== IGFyY2hpdm8= ZW5kYW5jZQ== IGVmZmljaWVudGx5 KGFjdHVhbA== LnRhYmxlVmlldw== IG11c2g= IGJlYXJz X3RocmVhZHM= amFz YWh1bg== IG5ldXJhbA== IGRlc2lnbmluZw== IEdEUA== IGxpZnRlZA== 55uu IEpvaW50 IEluY2x1ZGU= IEdpYW50cw== IHdpdGhkcmF3YWw= IFJlbnQ= bmF0aXZl IFNlZWs= Z3Jlc3Npb24= X0NQVQ== XFM= IFNoaWVsZA== IHNvbGlj IGJvb20= eWVjdG8= IG1hbnVmYWN0dXJl IOKAiw== IGJib3g= IGVhcnRocXU= b2xsZWN0b3Jz OkAiJQ== IGxvb3Bz SmU= YWxraW5n IFdoYXRz IEJveXM= LmJvb2s= QVJHRQ== X3BpeGVs IHN1c3BlY3Rz zrk= dXNw IEJNVw== aWVjZXM= KHBlcnNvbg== 5byA 6bs= IFBvZGNhc3Q= IGJvdQ== KEl0ZW0= w7s= KElucHV0 SHR0cEdldA== IGJ1cmc= KV4= Qk9BUkQ= Ki8s IGd1bHA= IEJlbm4= IGRlY2tz LnN0YXR1c0NvZGU= IGFjdXRl IGh1Zw== dWd1 IHBsZWQ= LCIl aGFwZQ== INC30LDQvw== IE1haW5l LnJlYWw= IGRhbGFt IE1pbm9y LkZsb2F0 ZGlzcA== IHRs IGVuY291bnQ= PT4k IGZn dGVlcw== IFJlY29tbQ== w6Rs IGNoZW1pc3RyeQ== QmxvY2tz T0lE IGZvcmV4 IEFwcGVuZA== IHsq IFN1cHBseQ== Q0dGbG9hdA== KGJs IGF0ZQ== YWRvcmE= IGd1c3Q= QXNzb2Np Pi4K RkVUQ0g= LnNlcmlhbA== d2lkZ2V0cw== YXJkbGVzcw== aWVmcw== X0ZVTEw= ZXJuZXRlcw== IFByZWQ= 2K0= 5LqL dWJlcm5ldGVz IExhdXJh IGxhYmVsZWQ= SGlnaGxpZ2h0 IGFubm95aW5n L3VwZGF0ZQ== KGRlc2NyaXB0aW9u IGludGltaWQ= JGM= IikpKQo= LkFQ IFtdKg== IEVYSVQ= Lkhvc3Q= IE9QRU4= LnNlbmRNZXNzYWdl X2NhbWVyYQ== X3RpbGU= IHRoZXJt b25vbW91cw== IGRpc2Fkdg== IG5hYXI= aW5kZXhPZg== IFBQ LnByb3RvY29s QUZF IHRleHR1cmVz IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj dW1iYWk= LnN0YXRz IEdF IGll IFNURA== IE1hbm4= LnJlZmxlY3Q= S0I= IGRpdmU= Lndhdg== LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t L3NldHRpbmdz LmxpZmVjeWNsZQ== IGRhdWdodGVycw== b3J1cw== dWJlcg== TklORw== c3RyaQ== IFRpcA== IHpu IHN3aXRjaGVk aW5ldA== dWZmeQ== IFRyYW5zcG9ydGF0aW9u KGNvbmY= ZnJpY2E= IFhM IExlYWQ= X3BlcmNlbnQ= PE1hcA== IHRocnVzdA== b3Ji aWtr IHRyYXVtYQ== QWNjZXNzb3I= IEZpdA== IFN0cmluZ0J1ZmZlcg== ZXhwbA== KHNjcmVlbg== IGF1ZGllbmNlcw== IE9QVElPTg== X3JvdW5k W25vZGU= YmVo LT5fXw== cGVybWlzc2lvbnM= IERldGVybWluZQ== Lk1hbg== IGFkdmFuY2Vz LklucHV0U3RyZWFt IHN0cm9uZ2VzdA== IGVCYXk= ICMt IGRpcm5hbWU= IFNNUw== IG1lZGljYXRpb25z IGFtZW5kZWQ= IGNodXJjaGVz IEltcGVyaWFs JHJvdw== IE1hZGlzb24= IEluc3A= IGFmZmFpcg== IHBzeWNob2xvZ3k= dmg= IHNldmVyaXR5 4oCQ IHN0cmlwcw== QUg= dmVydGlzaW5n IGNvbnNl SU1BR0U= IFN0YXRz CXNj LkN1cnNvcg== IGZyZWV6ZQ== c3Nvbg== KHhtbA== IFN1c2Fu LnRpbGU= ZWRlZA== ICAgIAkJCQ== dWVsbGU= IE1pdGNoZWxs YmFzZWQ= T3BlcmFuZA== veaVsA== IEZG CXN0cmNweQ== b3VuY2Vz aWxkbw== LmV4ZWN1dGVRdWVyeQ== IGFwcHJvYWNoaW5n IFNldmVu IG51dHM= IHJpYw== YXNzaWdubWVudA== IGNhbGN1bGF0b3I= IE11cnBoeQ== IEJvdQ== 7YQ= IGJ1dHQ= IHRpY2tz UHJvamVjdHM= aWxpYg== LnRleHRDb2xvcg== bW92 X2xvZ28= KHRlbXBsYXRl IElOSVQ= IGltYWdlVmlldw== c2NyaXB0aW9ucw== T1JJVFk= Q29uc3VtZXI= IHVucHJlY2VkZW50ZWQ= IHRvdXJpc3Q= IGJyb24= IGNvbnRyYWN0b3I= IGxpY2VuY2U= IE5hbQ== 5q8= KHRyYW5zZm9ybQ== X0FUVA== UHJlZg== IEdhbQ== IHZlc3NlbHM= IGhhdg== TGF0ZXI= LlRvTG93ZXI= IHVybHM= IGJyZWFrZG93bg== IHBlbmFsdGllcw== IGZvc3Rlcg== IFVF IGNsdWU= Y29tZWQ= 5ZCN56ew LW1haW4= IHB0cw== IGNvdW50ZWQ= aWN0cw== L3Bvc3Q= IGdldGF0dHI= IHBpbmc= QU5DRUw= IHBlYw== 0YXQvtC0 YW50b20= IEJsdWVwcmludA== IEV2ZW50RW1pdHRlcg== IGzDpA== 5rI= IHN0cmF3 KGNvbXA= J3VuZQ== Pk4= LWNsaWVudA== ZXNNb2R1bGU= LWJhc2U= IHJldHJlYXQ= X3NpbXBsZQ== CQkJCQkJIA== ZmVl JykNCg0K Q29udHJvbEl0ZW0= IHN1YnNjcmliZXJz cGxlYXNl IEVmZg== IHBvdW5k IEJ5dGVz IFRlYQ== X2FjdGl2aXR5 IG1heGlt IG9wY29kZQ== QlNE LmNvbnN0YW50 O30= b21icmVz IGNhcmVlcnM= KS4KCgoK IHNwcmVhZGluZw== LWV4cGFuZGVk IE9yZA== YW1hcmlu IG1vYmlsaXR5 VW5mb3J0dW5hdGVseQ== YWtr Tkw= X3JlZGlyZWN0 IFBH IFNlbnNvcg== Ym9s dGFw X01FTU9SWQ== IFVJQWxlcnQ= cGxpdHVkZQ== V2Vic2l0ZQ== IExvZ28= bG92ZQ== W2luZA== IGFsdG9nZXRoZXI= IHdvbmRlcmVk IGVzcGVy IExpYmVyYWw= IG9zcw== IGVsaXQ= IHN0aWZm b2RveA== X21lbnRpb25z IERvdWdsYXM= X3BpZA== IENL IGluaXRXaXRoRnJhbWU= LmJsb2c= cGtn YW5naGFp UVVJUkVE dXU= IG1rZGly QVRBTA== IHVuaA== aW5jZXM= c3Ro IGh5cG90aGVzaXM= IGNhdGE= IFRC IENsYXI= IHByZWRlY2Vzcw== IHNpdHVhdGVk LXdvcmxk KSkv IGhlYWRsaW5lcw== LnN0YXQ= IG91dGJyZWFr c3BhdGg= X0ZMQUdT IFNlcnZsZXRFeGNlcHRpb24= U3Vu RlJPTQ== IERpcg== 44O744O744O7 X2Nvb3Jk IE9wdGlt TW9uaXRvcg== LmJpdA== WFhY IHRvZGFz ZmVsZA== 0YDQuA== aW1pcg== IHBvbGl0aWNhbGx5 IG1vbGVjdWxhcg== IHRyYWRlZA== IHt7JA== IFN3ZWRpc2g= ICdALw== X1JFQUw= IHdhcmVob3VzZQ== dG9kYXk= LEw= b3Jw PHNlY3Rpb24= LWJy eW1l IFVzZXJTZXJ2aWNl IGxpYmVydHk= IG1vbWVudG8= KEltYWdl PHNpemU= U2No IGpvZw== aW9sb2d5 YXJlbnRseQ== IHF1YW50dW0= IEFidQ== IHJpbQ== IG1hbmE= Rm9udFNpemU= QnVpbGRpbmc= c3RhaXJz QUlMQUJMRQ== ICYn IHNlY3Q= IHNpZ2g= KGJhdGNo LklDb250YWluZXI= cG9sbA== IENvcnBz zrU= YXJ1 IEtheQ== LnJhbmdl X2NsaWNrZWQ= IFJvYmVydHM= Lk5ldHdvcms= ZmluaXNo LU1hbg== IGNvbGxlZ2Vz IEZpbmU= IikpLAo= ZmlsbQ== IHJlbWluZGVk IGdlc3R1cmU= b3V0aWw= IHRocmVhZGluZw== IG9iamV0 IHRvdXJz YWN0aXZhdGVk Lm1rZGly PXVzZXI= IHJlZGU= ZsO8 X1NZU1RFTQ== cHY= IGNvbmdy IG1hc3Nhc2pl IHByYWN0aXRpb24= VW5pdmVyc2l0eQ== IHRhYmluZGV4 0Jg= U2V0cw== IGNvdW50aWVz Z3Vlc3Q= ZmFu IHdvcmRlbg== LmRp 0L3QsNGH wr8= aWdEZWNpbWFs IHNob3Jl IGfDtg== IHJlcGFpcnM= IGhlbHBlcnM= IGNlbnRlcmVk T0xMT1c= IG1hcFN0YXRlVG9Qcm9wcw== IGNlbnRz PEE= IGV4cGVjdGF0aW9u T2N0b2Jlcg== IGJnY29sb3I= Y2FsZXM= LkNPTg== IFZlbA== IGNyeWluZw== LXNlYXNvbg== IGZ1bmN0aW9uaW5n X0xPQ0FUSU9O w7xzcw== YmVyeQ== UGFyYQ== b21pbmF0b3I= LWxl IGV0aGljYWw= aGFzaHRhZ3M= ZW1wbG8= IG7Dum1lcm8= KGFjdGl2aXR5 LlN0b3A= LnN0cmZ0aW1l SUxE IHRvZQ== CU5vZGU= IikNCg0K IFB1ZXJ0bw== IGV4ZWN1dGluZw== IEdVSUQ= IG9wcG9zaW5n YWxwaA== IGV4aGliaXQ= X2ZsYXNo IG1laWxsZQ== IGpzb25PYmplY3Q= SGVybw== YWludGVk X0RPTQ== IHdpbA== IHNsb3Bl IG3DpQ== IElyYXFp IG9yZ2FuaXpl CWpRdWVyeQ== SFVE c2hpbmU= Lndl IFNraWxscw== cG9uc29y IGNvbmNsdXNpb25z IHJlZm9ybXM= IHJlbHVjdA== bmFtZWQ= IE9saXZlcg== IC8vfQo= LWxvb2tpbmc= IGZvZw== IEhP IEZyaWVk IGluZXZpdGFibGU= IERhdGFHcmlkVmlldw== SG91cg== aWxsZXM= bG9naWNhbA== IGNvbm5lY3Rpdml0eQ== LnR3aWc= IEt5bGU= KGRzdA== LVNo IFN0dWRpb3M= KExldmVs LmpldA== X1BST1RP LWRlY29yYXRpb24= T1RIRVI= IHJlYWRpbHk= LlBhcmFtZXRlcg== IG11bHRpcGx5 IExJQg== YXJtZWQ= IHNvb25lcg== 5oQ= X0VT IGZvc3NpbA== IEFuYw== 4oCcVGhpcw== bG9kYXNo UHl0aG9u IGhpc3RvZ3JhbQ== d2VzdGVybg== IGluZmFudA== IGNvb3JkaW5hdG9y IG5pYg== Om0= IHJlc3BlY3RlZA== IGRlZmluaXQ= JlQ= X3BhZA== IFRyaWdnZXI= dGhhbA== IGltYWdlTmFtZWQ= IGJlYXRlbg== CXJj IFBhbGFjZQ== IGhhemFyZA== IGlzb2xhdGlvbg== X3Jj Y29udHJl T1VUUFVU IHJlaWdu IFBsYXRl QVRFUw== IGZsdXg= IHBhY2tz LmdldFNlbGVjdGVk IHBhcnRpY2lwYXRlZA== IG5lZWRsZQ== LWRlcHRo Ojo6Ojo6 LWxhdw== aW5zcGFjZQ== b25pdG9y PW5v IEF0b21pYw== IEJyYWlu RWRpdGFibGU= LXNj cmVkZW50aWFs IFBlcnJ5 a2ll IC0tLS0tLS0tLS0K LnN0cm9rZQ== KEludGVudA== IHVuaXR5 dW1sYWg= RnVydGhlcg== IHByemU= IHPDuA== 44KK IFBST0NVUkVNRU5U IEhvdXNpbmc= IGF0dG9ybmV5cw== IGNvbXBvc2U= YXR0ZXJpbmc= IldoYXQ= ZHJhdWw= IHN0cmFpZ2h0Zm9yd2FyZA== SW5zdGFudA== LkpUZXh0RmllbGQ= IHRyYWRlcw== 0LvQsA== IHsh IGxhdGVseQ== SU1H IEFsZA== IElOTkVS IGNhcnRvb24= LlNvdXJjZQ== RkFMU0U= IGRvdWdo ZmVu KHJlY3Q= RGF0YVRhYmxl Tmljaw== IEJ1dHRlcg== cmVhZHM= X2NvbW1lbnRz RU5W IENvbm5lY3RpY3V0 LUZJUlNU CQkJICAgICA= YWNoaQ== Lk1zZw== cmVjdGlvbg== IHJlbGF4ZWQ= IHNoYWZ0 IGVm IEFkZGluZw== IGJyZWFjaA== IO+8mg== cmFtYQ== IGNvbmR1Y3Rpbmc= ICg7 KGds IENBVVNFRA== YXNoaQ== IEZMQUc= IENvbW1lcmNl IElOVEVHRVI= aG91cnM= IFNjaG9vbHM= IG51Y2xl QWdhaW4= cHJvag== IHNldmVudGg= RU1QTEFSWQ== KG1vY2s= J10sDQo= X1NQRUVE PmZhbHNl IHNwYQ== IE5lYXI= 7JU= IGludHJpZw== X21lbWJlcnM= d2F2ZQ== IGFuYWx5c3Rz X09T ZWRpbg== IEZyaQ== IHJldHJpZXZlZA== UmVndWxhcg== X29icw== RVhQT1JU Jyl9fSI= ImNsYXNz X18oKA== YnVja2V0 IHN0cm8= IFBhdGNo eXN0aWNr ZnVsbmVzcw== YXBvcw== RGE= CQkJCQkgICA= IGVucmljaA== dW5vcmRlcmVk aG9sZQ== Q29uZw== PFByb2R1Y3Q= IEN1cnQ= KHRoZQ== X2xvd2Vy IGF2b2lkaW5n IGJ1eno= IHZpYWJsZQ== dWJh LWlz YXJlbA== IGFjdGVk LWRldGFpbHM= 4LiH IFRoZW9yeQ== IFB1bg== IEFub255bW91cw== Li4uIgo= w6hyZXM= 5Y+v IFZpc2lvbg== X3NlbQ== YXNoYQ== IGNlbGVicml0eQ== IGVuZERhdGU= IHBvcHVsYXRl IGN1aXM= cXVhbnQ= Zmxvb3I= IGdsb2JhbGx5 IGNydWlzZQ== IFN0YW5sZXk= IGJpa2Vz LmdldENvbm5lY3Rpb24= IHBvb3JseQ== X290aGVy YW1waW5n LiIpOwoK b2Rp X0FETUlO LmNvbG9ycw== IEdhbWluZw== Pic7Cgo= U1RSVUNU UVI= SURz KGFyZ3VtZW50cw== X2F1eA== KEV2ZW50 X1BSSVZBVEU= IFRyZWs= IGRvd25sb2Fkcw== bXV0YWJsZQ== X1NUUlVDVA== KHd4 IGRvbWFpbnM= anNweA== IFZpYWdyYQ== Q29tbWFuZHM= SnM= LmNmZw== Q29udGVudFBhbmU= IEVkaXRUZXh0 4KWN4KQ= QXR0YWNo IEFSTQ== cG9zaXRpdmU= IEdlbmVyYXRlZA== IHNlaXplZA== PTo= IGVsZWN0cm9uaWNz IEFwcENvbXBvbmVudA== LycsCg== LmVxdWFsc0lnbm9yZUNhc2U= RG9jdHJpbmU= ZGlzaw== IFBvbGl0aWNhbA== Q0hP PEY= CWhlaWdodA== IEJ1Zw== Lmxl aWto IG1pbGxpc2Vjb25kcw== IGNvbnN0aXR1 bWFn Lm5s LXJhbmdl YW5nZ2Fs Jyxb cm9wb2xpdGFu IMOc IFVD LmRlc2M= LUxBU1Q= ZnN0cmVhbQ== aWJpbA== IGZpZXI= VkVSWQ== IOuz SVJU X1VJ KGFicw== IGtuZWVz IHJvb2tpZQ== IFZhYw== YXJlbmE= Y29tbWVuZA== LVw= IFNVQlNUSVRVVEU= U29mdA== IHBhcnRpcg== d2VhbHRo 6KaB KGRhdGFzZXQ= IENsaW1hdGU= LXNob3c= IHJlbGlhYmlsaXR5 X2NodW5r 5Luj X3N0b2Nr IEVYRU1QTEFSWQ== 77iP IHbDrQ== IHNtaWxlZA== IGRyaWxs LkZ1bmN0aW9u IFNJ IHJlZ3Jlc3Npb24= LVg= IEphcg== cHJlZg== CXN1Y2Nlc3M= IEhpdGxlcg== IGluc3RpbmN0 IGZlbW1lcw== IGxvdmVy PAo= IG11bHRpcGxpZXI= cmls UmVzaXpl IEF1dGhvcml6YXRpb24= IEthbg== RGlzcGF0Y2hUb1Byb3Bz IGNyb3Bz dG9rZW5z ZWNu ZW50aWFsbHk= IElOVEVSUlVQVElPTg== ZmFrZQ== VW5kZWZpbmVk IEFL IFRlc3RDYXNl IHJhYg== IHRvcnJlbnQ= IE90 QmFycw== IGxlY3R1cmU= IGVuam8= IHJlc3BvbmRz IGluZGV4ZWQ= T2ZXb3Jr X2NoYWlu KSktPg== IEJlYXV0eQ== IGA8 IHRvdWNoaW5n IHwtLQ== CWZsYWc= bm9ybWFsaXpl IHRyYXBwZWQ= IGVzdGFibGlzaGluZw== L2J1aWxk QUo= Znk= LXJlYWN0 YXZu UklQVElPTg== IGt1dA== IEZhc2hpb24= IEluZm9ybQ== Y3VyaXRpZXM= PGJ5dGU= IFVrcmFpbg== IHN1Zw== IGNvbnNpc3Rpbmc= b29kbGU= LmN0eA== LlRvTGlzdA== IGNvbW1lbnRhcnk= IHRyYW5zZmVycw== IG5vc3Q= aWhhZA== IFVwcGVy IGNvbmZ1c2luZw== bWlzc2luZw== LWNs IGJvdW5kaW5n IGNvbmdyZXNzaW9uYWw= IHJldmVhbGluZw== ZGg= cnVw IHRyZXM= cmVwZWF0 LAoKCgo= X3RhYw== IGV4cGVk R2lybA== aG9yaXpvbnRhbA== ICIuLi8uLi8uLi8= KG9wdGlvbg== IHdlaXRlcg== CXNxbA== ID0+ewo= IGdhcmxpYw== IHJlcHI= IHJlcGxpZXM= KHByb3A= IHNwaXJpdHM= IGluc3BpcmU= IGJhc2VtZW50 LnJlamVjdA== IGhpbnRz IHBvbGxpbmc= CSAK X3JhdGluZw== IGNhdGg= YXZpZXI= IGNvbXByZXNzZWQ= IFZT XSc= IGp1ZGljaWFs IFRyZW5k dHJhaW5pbmc= RVNUQU1Q b2duaXRpb24= xIE= U0VOVA== dmVudGlvbnM= IGNvbnN1bHRhbnQ= dW1waA== IHVzZXJTZXJ2aWNl LE5VTEw= a2g= RGVhcg== X0JBRA== aXRhdGlvbnM= IG1ldGFwaA== J8Op YW5kaXNl LWZvbnQ= LmNoYXJ0 IHNn X0NvbnRyb2xsZXI= LmpwZWc= IFVMT05H CWdhbWU= KHNz IE1hag== CWdv IFNhZA== IEJlcmc= IE1pbmU= UGFjaw== IHJlc2lzdGFudA== IFJPTQ== IHBlZw== IFN0YW5mb3Jk IFlhaG9v IHNjYWxlZA== IGxhbg== PVtd Ii8+PC8= IHBsb3Rz LioK IHRyYXZlbGVk IE9zY2Fy Vkw= IGxpbmtpbmc= IHRpcmVz ICcqJw== IEJ1ZmZlcmVk ZXJp ICoqKio= IG92ZXJsb29r Lk5vbg== IHLDqXM= IGVneQ== 5bCP IGF0dGFja2Vy CQkJCQkJCQkJCQkJCQkJ LnN5bmM= QVNDQURF R3JvdW5k IGRlY2F5 IFRvbg== IGpld2Vscnk= IGJ5cGFzcw== IG1lbWJy Uk5B PFN5c3RlbQ== IE1lZGljYXJl KG5ldA== b3Np SEI= REVD e0VJRg== X2ZpbGw= IHRyYXZlbGxpbmc= b2JzZXJ2ZXI= IGNvbnN1bHRpbmc= UkVBVA== UGhhc2U= KGlp IFNVTQ== Pg0NCg== IHN1ZA== CWJhY2tncm91bmQ= IHNjaG9sYXJz LW11dGVk YXLDoQ== ID09PT09 IF9fX18= Q3JlYXQ= ZW5ldmVy L3dw IFZQTg== RXJyb3JDb2Rl KV0sCg== KGJ1aWxkZXI= IEVuZW15 U2Vuc29y dXNh IHRyaWdnZXJz IHBsYXlvZmZz X1JFUQ== ICh+ IEJhcnJ5 IHBlcm1hbmVudGx5 IFJVTg== IGJ1cmU= LkZhdGFsZg== IGNoaWNr CXBhbmlj cHNp b2th 6YCJ Pls= IHVuZGVyc3RhbmRz IEp1bmlvcg== IElORk8= PW15c3FsaQ== dXN0YWlu LXNvdXJjZQ== c2Vydg== IENSRUFURQ== LmF1 IHNlbGxz ICAKICAK RXVyb3Bl enc= cHJlaA== IE5TQQ== IHh5 4Li0 IEJleW9uZA== SW5zdGVhZA== Tm9uUXVlcnk= IGFyaXNl IGF2b2lkZWQ= LmVtcGxhY2U= X21vZGVscw== fSksCg== IGhpZA== ICZf LnBvaW50cw== LmdldFdpZHRo LkV4ZWM= IC8vLy8= IFNlc3Npb25z Li4uXA== IENvbG9tYg== IGFjY2VsZXJhdGlvbg== cmVzdG9yZQ== IGlsZQ== b2JpYw== PE5vZGU= IERY IEJlc2lkZXM= LmFnZQ== IENvbnRhaW5z TmF0aW9uYWw= IEltcGxlbWVudGF0aW9u IGVmZmlj IFJN SHk= IFdlZGRpbmc= b2tpZXM= IHJlY3Vyc2l2ZQ== IHByb3NlY3V0b3Jz LlNlbGVjdGlvbg== IEZvcm11bGE= QmVlbkNhbGxlZA== W2lp IEZyYW4= IHRyYWdlZHk= X0ZFQVRVUkU= mag= Y29tcGFzcw== IEJo PwoKCg== LndyaXRlcg== IEhvdXI= RGJDb250ZXh0 aW92 YW1vbg== cmVwcg== 6YM= CWZp J11d IERyeQ== LnJv IE9ic2Vydg== 5qCH Rm9ybWVy IEJhbGFuY2U= CWpzb24= IHByenk= SVNT KHNvY2s= IExJTkU= IGRlY2U= IGFsbHk= IHRlbmRlbmN5 RnVu IHNjaGVtZXM= IGludGVydmVu 5piO IGFkdmVyc2U= cXVvdGVsZXY= IHNhY3JpZmlj X3NpZGU= IG11dGV4 QUdJQw== IG9jY3VycmluZw== IENvbW11bmljYXRpb24= dW1hcg== 57yW IFRyZWF0bWVudA== LnBlcnNvbg== IExD IGVjaA== KCgi IERpc2Vhc2U= w6Rk IEFa LkFjY291bnQ= IGNvbnRpbnVvdXNseQ== RU5ESU5H IFJFVFVSTg== LXN0cmluZw== LmZpbGVuYW1l c3ludGhlc2l6ZQ== UmVzcG9uZGVy KG9wdHM= cmVncw== IG51ZXN0 UGVlcg== Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0= IGdhdWdl IEtpbg== LnNjaGVtYQ== IGFycmFuZ2U= IEJsYWtl X1R5cGVJbmZv Q292ZXI= IEhhbXBzaGlyZQ== UGFwZXI= LWlubmVy dXRpbGl0eQ== IGNyb3Nzb3JpZ2lu Rk9S IGlnbm9yaW5n IERE YXZhbg== IHRyYWRpdGlvbnM= IGdldFN0cmluZw== IGV0aGljcw== IE1hdGVyaWFscw== REVTQw== IGVuenlt aW9sZXQ= IENoaXA= IE1jRG9uYWxk IG5lcnZl 54Q= Iild 5rGC IFN1Z2Fy X1NJTQ== anBlZw== IGRpc2NyZXRpb24= IFRO Ym92ZQ== IE1pbmltdW0= IEZvcm1Hcm91cA== IHdvcmtmb3JjZQ== IEV4ZWN1dGlvbg== ZXJyZXI= CSAgICAJ IHByZXNjcmliZWQ= LlRleHRBbGlnbg== T1BFTg== IFBC aW1pdHk= IEV4dGVybmFs wrBD IEFwcGxpY2F0aW9uQ29udHJvbGxlcg== IGJhcnI= aW1wbGljaXQ= X2RvdA== IENvbG9u Q09MT1I= LlByb2plY3Q= Kjwv LXhs IG9zYw== KHBhdHRlcm4= Jyl9Cg== c3VjY2Vzc2Z1bA== YWxvZw== U3R1ZGVudHM= XXN0cmluZw== YW50b24= YXR0aQ== Y2hlbWljYWw= LmluZg== KGRy OlVJQ29udHJvbFN0YXRl dG9JbnQ= XTwv 0LDQtdC8 IMW+ LkFjdGlvbkxpc3RlbmVy LlNFVkVSRQ== IFNhbHY= X1RSQU4= L2ludGVybmFs IHdlbGNvbWVk LmNvbW1lbnQ= bXV0YXRpb24= IEZBUQ== Lm9uZQ== IExBQg== In19 IFJvbA== aWV2ZWQ= IGFkdmVudHVyZXM= IGZ1bmVyYWw= IHNwb3VzZQ== KG9wZW4= IFJlYWR5 IHRvdXJpc20= YWRpbg== X2ZhY2U= 4oKB IG1pZ3JhbnRz IFB1cmNoYXNl Y29yZA== IE9VVFBVVA== KSkNCg0K U2VndWU= dGFicw== IGRvdHM= IG5haWw= Ym9ybmU= IGRlc2lyZXM= IHByZXZlbnRlZA== J109PQ== IHRpbWVseQ== SUNB U2Nhbm5lcg== IEx1Y2Fz IGdpdGh1Yg== J11bXQ== ZGlh Y29ub21pYw== IGRpZXNlcg== dW5kZXJz LkhhbmRsZXI= PyIs LmRhdGFi IGFkdmlzZQ== LmFuaW1hdGlvbg== IG92ZXJoZWFk IG9ic3RhY2xlcw== X2pvaW4= IG3DqQ== RmxhdA== LmRpc3Bvc2U= IEV4cGVjdGVk IGZsZXc= IGVtYm9k X3NsdWc= IG5hbWVseQ== IHdpdG5lc3NlZA== c29saWQ= LmxlZ2VuZA== UXVhbA== X3N1cmZhY2U= 44Op QW1lcmljYQ== IGFmZmlsaWF0ZXM= IFByb3M= X2V4dGVuc2lvbg== YmluZGluZw== U1RBTEw= LnJlYWR5 IGNvcHlpbmc= IEhlbmNl IGRpc2NvcmQ= X3NoaXA= UHJvcGVydHlOYW1l CQkgICAgICAgICAgIA== IGFjaGlldmluZw== IEJlYw== Wmlw U29tZXRpbWVz 44GL IGNvbnRyYQ== IHB1bmlzaA== IGluc3VsaW4= IGRpc2FwcGVhcg== X2VudW0= LmF1dA== IGhhc2F0dHI= YWZmZWN0ZWQ= c2hl JHRhYmxl a3Np IGxhY2tpbmc= IGRpc2NvdW50cw== U3RtdA== IEFyZ2VudGluYQ== IHVucGFjaw== IFJvdXRlZEV2ZW50QXJncw== ICc/ aW50ZXJvcA== IHNvZmE= IGR5bg== IEdyYWNl IGludGVncmF0ZQ== 2YM= IGRlbGF5cw== IEltcGxlbWVudA== UHJvb2Y= IGFwcGxpY2FudHM= IExlYXRoZXI= 7Ja0 IGVuam95YWJsZQ== U3Bpbm5lcg== L3o= IGZvYW0= IExhYm9yYXRvcnk= IHJlc2VhcmNoZXI= IENocmlzdGlhbml0eQ== IGN1c3RvbWl6ZQ== IGNpcGhlcg== IGRvZA== IHPDsw== QEVudGl0eQ== T05MWQ== aW52ZW50b3J5 IGNvbmNsdWRl IGN1ZW50YQ== IENvaGVu LWluY29tZQ== bWJI bWVudGF0aW9u IHZlcnc= dWRw QU1M LmNvbWJvQm94 Zmg= am9icw== RmlsZVN5bmM= IEJhcmJhcmE= IFNjYW4= Y3JlZW5zaG90 IE9ydGg= LnZpZXdEaWRMb2Fk IEFSUkFZ LEA= L2ludA== R2VuZXJhdGU= IGRlbW9uc3RyYXRlcw== IFplbmQ= 5YiX CXZvbGF0aWxl PXI= IGZt CWJ1ZmZlcg== ZW5hdGU= LkNvbWJpbmU= IG1pc2M= Y2hlbWFz IHB1cmVseQ== IGdsVmVydGV4 LlJlc3Q= IHJlY2FsbGVk IGZyZWVs IHNxdWU= VHJhY2tlcg== IFBocA== IERpc3RhbmNl IGJlYXN0 Q29tcGxleA== IGNvbnNpZGVycw== 572R dHJpYnV0aW9u IGNvbXBsaW1lbnQ= X2xpbmVubw== IE11dGFibGU= IHVuZGVm IEdlbQ== IGNvbXBvdW5kcw== LnV1aWQ= IGFub255bQ== IHN0YWlycw== IERiU2V0 d29ydA== IFNlbnM= LkJlZm9yZQ== IGVuZGZvcmVhY2g= IFRvZ2V0aGVy YXRpbGl0eQ== IG1vaXN0dXJl LSR7 KFRlc3Q= VEI= bXVzaWM= IGluc2lzdA== IGhlYWRsaW5l LkFuZA== UEFUQ0g= IFByZXBhcmU= IHN3aXRjaGVz KnA= IFll X2Ficw== LmhhbmRsZXI= IGFzc2lnbm1lbnRz UHJlZmVyZW5jZQ== RU5USVRZ IHBpcGVz IEFsZXJ0RGlhbG9n b2dyYXBoaWNhbA== IHBhdGlv IHdlYnBhY2s= YnBz TmF2TGluaw== Lk51bWJlcg== IEFybW9y IFBldGVycw== IERlc2M= ZHVpbm8= IEljb25z LmdldEhlaWdodA== IHRleHRWaWV3 CU5VTEw= YWxsb2NhdGU= fSR7 IFByaXpl LW51bQ== Lk1vdmU= 6L6T5YWl LmNhbWVyYQ== UHJvYmxlbQ== CXR5cGVkZWY= KHN0b3Jl IERJU0NMQUlNRUQ= IHN1YnN0YW50aWFsbHk= RkZG IGVwc2lsb24= IGluZXF1YWxpdHk= X2NoaWxkcmVu 5LiH cmVsdQ== UGllY2U= YW50cnk= YmFiZWw= dmV0aWNh IHN1cnZleXM= IGRldGVjdG9y CWFyZ3M= LlNlbGVjdGVkVmFsdWU= IGludGVyZmVyZW5jZQ== Li4uKQo= LlNUUklORw== IFR5bGVy IENhdGFsb2c= VmVydGljZXM= IFByb2plY3Rz IExlYmFu LiIpCgo= Lmtlcm5lbA== IHJpZGVz IE11dA== YW50aA== 0L7RgNC8 ZW5uaWFs LnRhc2tz LnNldFByb3BlcnR5 YXRlZ29yaQ== 5pyA L2Nvbg== YnJhY2U= IE5TRXJyb3I= J10pKTsK bGlzdGVk IFByZXZpZXc= QWN0aXZhdGU= IGN5Y2w= LWFjdGl2ZQ== aGFk VG9v IHJlZ2lzdA== bGljYWw= IHBvZXRyeQ== SW1wb3J0cw== 77yB77yB Ojw= IGNoYXJt IENvdW4= b2xsaWRlcg== IGh3 fWAK PWFyZ3M= IE5ldXJv aXRpY2Fs aWVuZW4= IERvdA== X09OTFk= RE4= IFBsYXlTdGF0aW9u IHN0ZWVw IHByYWN0aWNhbGx5 IGFwcGxpY2FudA== IGFyb20= YW5pYw== CWRpc3BsYXk= IHRlcm1pbmF0ZWQ= IGNsYXJpdHk= IE1lbnVJdGVt IEt1cg== aWpl X3dlZWs= KGRpY3Q= X3JlY29yZHM= IENvc3Rh IGtldA== RXh0ZW5zaW9ucw== IG5ldWtlbg== aW5zaQ== X2luYw== IOaW IGVpbmY= IFJpc2s= IGVsZXZhdGVk cGVycw== VURB IEtO IGxpbmVk IE1vcm0= KTsKCgoK Pn0K cGxhaW50 Z2V0VGV4dA== IGluZGl2aWR1YWxseQ== IGNoZWNrYm94 VVk= IExhbWI= IGR5c2Z1bmN0aW9u IExhcg== 4LA= IENyZWF0aW5n Jyk7CgoK IlRoZXk= bG9jYXRpb25z X0NPUkU= SW50ZXJhY3Rpb24= dW1ibmFpbHM= IFBhcnRuZXI= YnJpdA== IGxlc3Nlcg== IFNsb3Q= c2V0QXR0cmlidXRl IFdhdmU= LnBv L3N0b3Jl IGJyb3dzaW5n X3Bk c3VtZQ== c2Vk Q3VydmU= IHBsYXNtYQ== IHN1c3BpY2lvdXM= 7J24 IEJhaA== IEV4cGxpY2l0 X0ND LkNsaWVudFNpemU= XFZpZXc= IHN1YnN0aXQ= bG9vbg== IEdBTUU= IEJyaWQ= m+W7ug== X1VzZXI= IHNxdWFyZXM= Zm9uZQ== IHNhY3JlZA== dWdocw== XWludGVyZmFjZQ== IFRocm93 IEtpcms= IGVtcGlyZQ== IGFzc2Vzc2Vk VGF4 IEhlYXZlbg== LWJ1ZmZlcg== X1NUQVRJQw== w6luw6k= LWJvcmRlcmVk IHB1bmN0 KG1vZGU= IGtlaW5l U2VudA== IENhbGN1bA== IEV2ZQ== IHN0eWxpc2g= IG9pbHM= LlRlc3RDYXNl IHRyYWRlbWFyaw== IGxpdGVyYXJ5 IGNvbmNlbnRyYXRpb25z IFJlbGF0aW9ucw== KENsYXNz IHN0ZGlu IHbDpg== YmFja3Vw LlZFUlNJT04= LkF1dG9TY2FsZURpbWVuc2lvbnM= c3RhcnRlcg== VHJhbnNhY3Rpb25hbA== LXBhbmVs U3R1ZGlv a2M= IENoYW1iZXI= IFNwaWVs IHJobw== 2KfZhA== ISc= LkF0dHJpYnV0ZXM= IG11cmRlcmVk YXBldXRpYw== IGludGltYXRl IHRleHRGaWVsZA== IEJ1ZmZhbG8= ZHVtbXk= IiU= IExpYmVydHk= b2Jhcg== IFRhbms= IFBvcHVsYXI= ZXJ2aXNvcg== IEluaXRp IE1hbGw= IFByaW9y Q0FQ IENsYXk= IENlcnRpZmljYXRl LkxvY2s= LXN0cmlw LWRyaXZlbg== L2FsbA== IE1lc3NhZ2VCb3hCdXR0b25z X1NFQ1JFVA== X3Bi IHJhdHM= 4KS+4KQ= IG50 LlJvdXRlcg== X3RvcGlj IHRlbm5pcw== IFBVQkxJQw== IEFjdGl2YXRlZFJvdXRl ICcsCg== IGNvc3R1bWU= IGpva2Vz LkhhbmRsZQ== CWJ5dGU= IGZsYXZvcnM= KGNj IHBlcnNvbmFz CWltYWdl IE5hemk= IGdyYW1tYXI= IMO6bHQ= IHZhbHZl IHZpYw== IFJhY2hlbA== X2ludmFsaWQ= UHJlZnM= c3RkaW50 KHJvdXRl IGh0bWxzcGVjaWFsY2hhcnM= IHBlb3BsZXM= cGxpbmU= IG52 IFF1YW50 b3BwZXJz IGN1cnJlbnRVc2Vy IENhdGFs IHJlY29uYw== IGNvbmp1bmN0aW9u bHg= YW1idXJn IGluZmx1ZW50aWFs ZGFuZ2Vy aW5kZXJz ICVAIiw= LmNvbmZpZ3VyYXRpb24= b3NvbWU= LmlkZW50aXR5 IHBpY2tlcg== bm9zdA== IERJWQ== QXVndXN0 YWJsbw== TGVhZg== IFJlY28= Y2tv RE9D IEhlcm0= OmFueQ== IEludGVydmlldw== IFRleA== eGZl KHdvcms= IGxlYXA= SGVhZGluZw== IHF1YXJ0ZXJz XEJ1bmRsZQ== cmVi UGVyaGFwcw== IEdtYkg= QmlydGg= CXN1bQ== IFdhdHNvbg== Lm5pbA== 56E= e30KCg== aWNhaWQ= R2V0dGVy Im5hbWU= ICINCg== X25vbmU= em0= YWN1dGU= dWVzdG8= IHNvdXM= IHJlYnVpbGQ= IG5ld3NwYXBlcnM= IEhheg== IGtpdHM= aWZv Qmx1cg== IHN1aXRlZA== LUlu 4K8= IEtlaXRo IE5vcndheQ== SU5JVA== aXJlY2Npb24= aWV0aWVz X3VzYWdl IERvdWc= cmlzZQ== IHRyaWxsaW9u aW1pdGVk IFJFTA== YWxpYw== IGNyaXRpY2l6ZWQ= dGhlb3JlbQ== IGNlYXNl IHNpZGV3 IFRlcnJ5 IHN1YnNpZGk= IGZpcm1seQ== IGF3cw== IGhvdHQ= IGRyZXNzaW5n YmFkZ2U= IEFwcGxpY2F0aW9ucw== 6L+U5Zue IGxhdWdoZWQ= IGhvYmJ5 IG11c2ljaWFucw== ICou LnBsYWNlaG9sZGVy IGNvdW50ZXJz IENhcGl0b2w= U0RL IGhlbG1ldA== YW5kYm94 cXVpdA== IGNyaW1pbmFscw== IHRlZW5hZ2Vy KHVwZGF0ZQ== R2w= LnNlbGVjdGlvbg== IGRpc2NoYXJnZQ== IHByZXNlbnRpbmc= dWZhY3R1cmVy X1VOS05PV04= IHN0cmVzc2Vk 5Zmo UHJvdG8= X2NvcnJlY3Q= aGF1cw== IHJlbm92 IGZpcmVhcm1z IHRlY2huaWNhbGx5 LWJyb3dzZXI= IGNhbmR5 U3Ryb2tl IGV4ZWN1dG9y IG9jY3VycmVuY2U= IElQdg== X0lOVEVSRkFDRQ== IFJldHJpZXZl LmJhZA== RXhjaGFuZ2U= TmF2YmFy IEtpZA== KGdldEFwcGxpY2F0aW9uQ29udGV4dA== X1NUT1A= IEJvc3M= TGlzdGVuZXJz IHNob290ZXI= IEFsYg== w6RjaA== IHBpeA== LmtleUNvZGU= YWxvbmU= IGFic3VyZA== IEN1bQ== IE5ld3RvbnNvZnQ= aWt0 IGxhdWdoaW5n IGNhcGl0YWxpc20= cmVlTm9kZQ== VHg= X1FVRVJZ LlNsZWVw KGxvZ2lu V2ViRWxlbWVudA== IGNlbGVicmF0aW5n IGRlcHJlY2F0ZWQ= IG1hYXI= IGFydGlzdGlj X0FTU09D IEJvcmRlclJhZGl1cw== CXdw IHN1cnZpdm9ycw== SW5uZXI= LXJlZA== IHByb3NlY3V0aW9u X3Bw KCI8Lw== IF49 IGxhbQ== IFRyYWRpbmc= ZmxhcmU= RGV0ZWN0b3I= TUY= IEVtZXJnZW5jeQ== IEVhZ2xlcw== cXVhZA== IEluY3Jl cGxpYW5jZQ== XE1pZ3JhdGlvbg== IHVwZ3JhZGVz Q1BV YWdnaQ== ZnByaW50Zg== aWdpb24= IGJlYXV0aWZ1bGx5 IGRyaWVk X0hJR0g= IGdwaW8= TVND IERlcHV0eQ== IERlY2w= IHRyZWFzdXJl c2dpdmluZw== X3NpZGViYXI= IGFwYXJ0bWVudHM= IFdy IGJvYXRz IGJvcg== Lmxhbmd1YWdl IFVp bGl0 ZnJt YW5jaWVz IG1hc3Nlcw== IEFzc2lnbg== IFBPTA== IG1hcERpc3BhdGNoVG9Qcm9wcw== IGJyYWNrZXQ= IFBhcA== IENp IEludG8= IHRlYW1tYXRlcw== IGZvcmFsbA== dWx1aQ== IENhcm4= X0lOUw== YXppb25p Y2Vw IHRvdXJpc3Rz LWJsdWU= IExlZA== IHBlbmV0 IEZv IGltYWdpbmc= cHJh IHNsYXZlcw== b2xlcmFuY2U= IGluY29ycG9yYXRlZA== Jiw= dWFibHk= IEthcA== WG1sRWxlbWVudA== IE11ZWxsZXI= Q2hhbmdlTGlzdGVuZXI= IEhvbGlkYXk= CSAgICAgICAgIA== RmxleA== CVVzZXI= Il0pKQ== X3N1Ym1pdA== LmJvbGQ= IGxvY2tz IEN1YmE= dWRzb24= SG9vaw== IFdhcm5lcg== X3N0YXI= Ij0+JA== IGNvbW1h dW5jaGVja2Vk Z3JhcGhpY3M= cm9ycw== R1JPVU5E KHB1YmxpYw== IGN1c3RvbWl6ZWQ= IEFya2Fuc2Fz IFJldw== IGV4cGlyYXRpb24= 15U= IEN1bA== IG5vbnM= LkZpbHRlcg== IHNlbmF0b3I= X2RlZmluaXRpb24= YXNoaW5ndG9u eW1waA== L0o= IGZ1c2U= cmFtaWQ= IFN1cHBsaWVy IGF1dG9jb21wbGV0ZQ== IH0pLA== LiIKCgo= X2Z1bmN0aW9ucw== CXRv LmV2YWw= IFRPYmplY3Q= UmVmZXJlbmNlcw== IGhlYXRlZA== SEFM ICkpfQo= fSQ= IEJhcnI= X1VOSVQ= KyQ= IGdldFZhbHVl aXBlZA== Y2hpZWQ= KHZt Y3Vl X2ludGVnZXI= X2NvdXJzZQ== dGhpcmQ= IHJldmlzZWQ= KiovCg== X0RJUkVDVA== T3V0T2Y= KCIo IEZlZWw= IHJlYXNz IHN1YnRpdGxl cGVyaQ== bmY= IGVuam95cw== IHRyZWF0cw== KXRoaXM= LXRhYnM= YW5jZXJz IGNvbnRpbmVudA== IGNhcmRpbw== U2Vy LnF1ZXN0aW9u IHBocmFzZXM= VmFsaWRhdG9ycw== IHBvcHVs IGzDrQ== c29uZw== X0lOVEVSTkFM IGFkdmlzZXI= IHB1eno= IGFtYml0aW91cw== IFRvYg== IERQ IHByZXNpZGVuY3k= IHN1cnJlbmRlcg== IHdhdGNoZXM= X2JpbmFyeQ== IFNvb24= IGNhbmFkYQ== KCIiKQo= XT0n IEJyYW5kb24= ZXBzaWxvbg== cnc= LmFkZENoaWxk LkNvcHk= UHJpbmNpcGFs UGhvdG9z IG1hcmdpbmFs IGJhc2ljcw== ZWluZw== TXVzdA== X1N0cmluZw== IG9sZQ== TWFnZW50bw== LmN1c3RvbWVy KHByZXY= 4Lil IGxveWFsdHk= Q29n IHByb3RvY29scw== IENvbXBhbmllcw== IHRoZW9yZXRpY2Fs IGFjY2Vzc2luZw== IFplbg== Lm9uZXM= YXR0aWNl X3dvcmxk emVz IHRhdHRvbw== IG1lbm9z IGludGVyc2VjdA== Il07Cgo= YmVsaWU= IGluYWN0aXZl LnJlYWRsaW5l LWxhYmVsbGVk LmRvbmU= bGlja3I= IFdPUks= IGRlcml2YXRpdmU= IGRhdGFiYXNlcw== 4oKC IHN4 LmlzQXJyYXk= IHlz IHBhZGE= IEJ1bGxldA== KGAv aXNBY3RpdmU= IENHU2l6ZQ== KGVxdWFsVG8= IENvbHVtYnVz IG1hcnJ5 REVW X2xpbWl0cw== cm9uZXM= SUFT IHRhdQ== bWlubw== X1dyaXRl IFdpbmU= IFtbJw== IFB1bGw= cml0ZXJz cmllbnRz IHNoaWZ0aW5n dXBw X1RJTUVS IENvbmRpdGlvbnM= 4bql IE9yZGVycw== IFN0cmVuZ3Ro 5omA IHZhbGlkaXR5 IGZvdA== ZXR1cg== IGJvbHQ= 5YaF IEFsb25n b3NoaQ== IGFzc3VtcHRpb25z IG1hZ2F6aW5lcw== X1NQSQ== IHB1bnQ= X1BST0RVQ1Q= IHJlbGF5 IEphdmFzY3JpcHQ= LnRl LWVz IHdpZGdldHM= KGZz PEl0ZW0= X2V4dHJh IHJlY3J1aXRpbmc= RXQ= IG5lY2Vzc2l0eQ== cHc= IG5vdmVscw== dXNzZWxz Q3JlYXRvcg== IE1WUA== IE9D dGhvb2Q= Y2xpZW50cw== KSkq IGNoYXJhY3Rlcml6ZWQ= X1NFTkQ= dXRp VHk= LmZyb21Kc29u QFNlcnZpY2U= 44KC Q2hyaXM= X0lz IEpvaG5ueQ== IGNsZWFuZXI= IEluaXRpYWxpemVz VU5L KGF4aXM= 0LXQtw== aWV2YWw= IFdhcnJpb3Jz fSko RE1J 4pmA IFRyZWFzdXJ5 IGZlYXM= IHNsYQ== X0VOVU0= bGhz IEluc3RpdA== aXBwZXJz TGluZWFy UmVhZGluZw== cXVpcmllcw== LWNlbGw= Y2hyb21l LlNlYXJjaA== SU5B 57G75Z6L IAogCg== IFNhbXVlbA== IG1pbGxz IGRvbmF0ZQ== IEdlbw== KHJvd3M= IHNoZWVw IMOpbA== 5L2T IGJlbQ== X1VOVVNFRA== IFJDQw== IGludHJvZHVjaW5n YXR0YQ== IFByaW9yaXR5 IEZC IFNlcmdl PiI7 YXRjaGluZw== IEtub3dsZWRnZQ== CVRoZQ== O21hcmdpbg== bGVzc25lc3M= b3BhcmQ= dW1hdGlj KCkpKTsNCg== IGZhbHM= KGNhY2hl VHlwZUlk 6YCa X2Nob2ljZQ== IEdvdGg= IFNpdGVz TUc= X2JvcmRlcg== SW5kaWNlcw== Q29tcGFyZXI= IFJlZGlzdHJpYnV0aW9u IGNsb3NldA== IHZlcnNhdGlsZQ== SW5wdXRz KioqKioqKioqKioqKioqKioqKio= IG9iZXNpdHk= cXVpeg== Z3Jh KGdsb2JhbA== 5Yqh IGNvbGxlY3Rvcg== IGtvcg== b3ZhYmxl QURD IEV2ZW50SGFuZGxlcg== Lm5j IHBsYXliYWNr aWVudG9z X3Blcm0= X1dBUk5JTkc= IE9seW1waWNz Lm5vcm0= IEJyb2FkY2FzdA== X3NtYWxs ZHJpdmU= Lmlsb2M= IHR5cGVk TUVN X2NvbnM= RE1FVEhPRA== IGx1bg== LmRpc3RhbmNl KHBhcg== cG9vbg== IGJhc3Q= YWN0aXZpdGllcw== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== Og0KDQo= U0VS KSYm X2xzdA== IFBvbGlzaA== IGtub2NrZWQ= IGZydXN0cmF0aW9u YXVrZWU= IHBob3NwaA== aXF1aWQ= X2NvZWZm 5q2k TGF0ZXN0 IER1c3Q= VGlwbw== IG1haW50YWlucw== IG1hcnNo aW5jaW5u bGJs Q2FyZQ== IG5laWdoYm9yaG9vZHM= X2dwaW8= IEFyc2VuYWw= RGVt IFdoZQ== X2hvb2s= IGxkYw== IEhhcnBlcg== IEJlcmtlbGV5 IGdyYWR1YXRlZA== UGVyY2VudA== IGFycml2aW5n IEFkdmVudHVyZQ== KHNjb3Bl KCcq cXVhcnRlcg== IE1hcmll U3BlYWtpbmc= X2NvZGVnZW4= IGltbXVu Y2FzdGVy 44KM 5ZWG IERpbWVuc2lvbnM= LnJlY29yZA== IHRleHRv IE1pY2hlbGxl UGVuZGluZw== KGJ5 X1BBUg== dWNodA== YmVl LlRocmVhZA== YW1waXJl a25vdw== IENsaW5pY2Fs IG1hcmdpbkJvdHRvbQ== IGRpc3Rpbmd1aXNo LkZ1bGw= LnVuZGVmaW5lZA== IFNlcXVlbGl6ZQ== IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw== IGVkdWNhdGVk X09WRVI= 5bqP IMKgIMKg X2VhY2g= IHVyZ2U= ZGVwYXJ0 IGRvbm9ycw== IEF1 IGJpbGxpb25z IGJlbG9uZ2luZw== X2FnZQ== X0ludA== IHN1YnN0YW5jZXM= bWFjaGluZQ== ISEhCgo= IGpzb25pZnk= aWJiZWFu IENhZA== IGVuZFRpbWU= IGN5Y2xpbmc= IFVJVGV4dEZpZWxk IGxldmVyYWdl IHZhbmlsbGE= ZWF0 TGF1bmNo KHB0 c3RhdGVz IENvbnRyb2xz IFJlc3BvbnM= IEpha2U= IGFzbGVlcA== Zm9ydHVuYXRl Lm5leHRMaW5l U2l6ZU1vZGU= 7J28 VGVzdGluZ01vZHVsZQ== R2VybWFu IEludmVzdGln LnJldmVyc2U= IEJBQ0s= KERhdGVUaW1l IG5vbnByb2ZpdA== IEV4cGVjdA== IHRhbnRv J10pLA== CXRoZQ== TXVsdGlwbGU= KGdldEFjdGl2aXR5 X1dBSVQ= IGrDoQ== ZGVjb3I= bGV2YW5jZQ== IEdpdEh1Yg== bWluYXRpb24= X3F1YW50aXR5 LlNjYW5uZXI= IExpb24= 6ZSZ6K+v IGRyZQ== IHRhbnRyYQ== IGNvbnRlbnRUeXBl IGZpZA== X2FsdA== TlNJbmRleFBhdGg= LXBs 5YyW IGFudGliaW90 dGFibGVz YWNpYWw= IFJlZ2lzdHJ5 IG9saXZl aWdlcnM= IHN1YnNjcmliZXI= X3ByZXM= IFN5bnRheA== IGxvdmVycw== LkJ5dGU= b2xkZXJz X2ZvcndhcmQ= YWx3YXlz Q2FwdGlvbg== UHJpdg== IFRhbXBh aXNhdGV1cg== LWxhYmVsbGVkYnk= IFRvU3RyaW5n IOyCrA== IGluaXRpYXRlZA== V0Y= IGluc3RpdHV0aW9uYWw= aW5qZWN0 IFNjcg== IGRvY3RyaW5l IHNwYWNpb3Vz aXN1cmU= IEFuYQ== InRpbWU= ZXNzYWdpbmc= IGNpZA== IE5hbg== IGluY29tcGxldGU= VEFH LWJ1aWxk RGVjZW1iZXI= IHJlc2lkdWFs KFBETw== IExpc3Rlbg== IGdseXBo IGdhcHM= bmVh LlJlY3Q= IHNhdQ== IFBob3RvZ3JhcGg= IGV4ZWN1dGFibGU= IEV4cGVydA== Q29yb3V0aW5l X3NpemVz IE5M LmlzVmFsaWQ= KTt9Cg== LXJlZw== IGNpdGluZw== Y3dk IE90dGF3YQ== IEJhdHQ= IHJlbmV3YWJsZQ== IHByZWxpbWluYXJ5 IGFzeWx1bQ== IHdyaXN0 IHV0aWxpeg== IGRldGVudGlvbg== RmFzdA== IGFuZ2U= aW5jaW5uYXRp IHN0ZWVyaW5n IE5hTg== aW9zaXR5 L3BhZ2U= IOi/ c3Rlcm9s IGRpc2c= KERC IERFU0NSSVBUSU9O IF8k IG9ic3RhY2xl IGJpemFycmU= IGV4dHJhY3Rpb24= X2V4cGVjdGVk IGxvc2Vz IENlbGVicg== IGh0bWxGb3I= IGV4cGxvaXQ= 0L7Qu9GM0LfQvtCy WFla IG1hZ25ldA== YW1wZWQ= IGF0b21z U291cmNlcw== cGVjdGl2ZXM= 0YHQu9C4 ID0NCg== IGRhcmU= IFdhbHRlcg== IGJyaWdodG5lc3M= IGFubm90YXRpb25z 648= aXNrZQ== U2NoZWR1bGU= LmltYWdlcw== cm9zc28= ICIuLg== Z2FtbWE= IGluc3RydWN0b3I= IG92ZXJ3cml0ZQ== LWFt IGRldmFzdGF0aW5n IFNhaW50cw== IGhz IGJvbnVzZXM= JG91dHB1dA== aWpk KEFjdGlvbkV2ZW50 bW9uaXRvcg== IG1hdHRyZXNz SmFudWFyeQ== Lmpw IGNhcmFjdGVy IGltcG9zZQ== X3Jlc3Q= IFNpZ25hdHVyZQ== IGNvcm9uYXZpcnVz 44GK X2NvbXBhcmU= TWVhc3VyZQ== aXRhdGVk ZWxpams= aWdvcw== ZXNhcg== IHJ1c2hlZA== bWV0cnk= X1NFUEFSQVRPUg== X1dF X0FUVFJJQlVURQ== IHlhbWw= IHNwZWNz IFJhaA== cGhlcmlj IEludmVzdG1lbnQ= w6RsbA== IGFwcGVhbGluZw== IHZpZXdwb3J0 56k= IG1hcmdpbkxlZnQ= IHN1YnRyYWN0 IEVESVQ= CUFycmF5TGlzdA== Z3JhZGluZw== IEZhaWx1cmU= YXNwZXI= RUVL KG5vdw== PG9iamVjdA== IEFsaWdubWVudA== cGxlYWRv cXR0 KEVSUk9S IElOVkFMSUQ= IHVzZXJpZA== cmFpc2Vz SURJ IHZhcmlhbmNl IE5pbA== L2RlbGV0ZQ== X01BSU4= LlRva2Vu LkNhdGVnb3J5 PikK Q29sbGlzaW9u IEdyZWF0ZXI= IFJhY2luZw== YWxhbg== IG1vbmV0YXJ5 LG5ldw== IFNvcnJ5 LkVuYWJsZQ== IEluc3RhbnRpYXRl b2xsZW4= 66m0 IENhbGxpbmc= X2hvdXI= QURB IHNoeQ== KSoq ID09Pg== IGVzcGVjaWFs IGludGVycHJldGVk IT0i IHBoYXJtYWN5 LnNpbmdsZQ== IENpYWxpcw== IHBhcmFz LnRvVXBwZXJDYXNl IERlbW9u UHJpbWU= IHJhbmtpbmdz QWRkaW5n X0hBU0g= IEV4YW0= 2qk= IFZpY3Rvcg== T2theQ== Il07DQo= IGZvcnR1bmU= IEZFVENI ZXhwYW5k LkludGVyb3A= IGJhcm4= 5raI dWV2bw== IHNwZWN1bGF0aW9u 4pSA4pSA4pSA4pSA IE51 IEJsdWVz KGZuYW1l IGluaGFiaXQ= IFwiJQ== Q0VT dWxhcmlv X2Ny IHZhbGlkYXRlZA== IG1pZG5pZ2h0 YW5raW5n IGluY29ycG9yYXRl IHB1cnN1aXQ= RVhQ cHJpbWU= UGlk LVVT IE51cnM= IFdoZWVs 6Zg= IGlucA== IHN1cHBvcnRpdmU= Lm1lbWJlcg== IFNob3Q= LkNoZWNrQm94 IGFmZmlybQ== VG9y RnVsbFllYXI= IGNvbnNpZGVyYWJseQ== Y3JlZGVudGlhbHM= X29wdHM= Um9sbA== KHJvdW5k IGNvbWVudA== X1VBUlQ= IGV4dGVuZGluZw== Ukc= cmVzdWx0YWRv aXR1 LmdldFNlc3Npb24= IGF0dHJhY3Rpb24= JkQ= JGh0bWw= IEplc3NpY2E= IEFzc29jaWF0ZQ== YcOx X2Vk IExhZw== IG9yaWdpbnM= KCkpLT4= YWRkRXZlbnRMaXN0ZW5lcg== SUFMT0c= 5ZCm LkNvbXBhcmU= QWxidW0= IEt1 PFE= YXJnZXN0 IHByb2xvbmc= IGNvbmZpZ3VyYXRpb25z IGFjY2lkZW50YWxseQ== X3Bob3Rv ICcnOw0K IHZlcnNl Qm9i IGZhcm1pbmc= ZGVsaXZlcnk= IE1hY2s= IHVzZVNlbGVjdG9y LmJvb3RzdHJhcGNkbg== a2VlcGluZw== ZW55 LnVwbG9hZA== IE1FVEhPRA== Y3JlYXRvcg== PF8= IEVhc3Rlcg== Li0t VUlCdXR0b24= 44KJ b21ldGVycw== IHNoaW5l IGhvZ3k= XHM= IGhhcm5lc3M= LkNlbGw= IGxpZnRpbmc= IGNvbWJpbmVz IE9jY3Vw ZXhjbHVkZQ== cGF0aWFs IHJlc3Bpcg== X2ZpdA== IGZpZnR5 IE1vbA== IHR1bmVk LWRpbWVuc2lvbmFs IHFz IHRvcHM= PiI7Cgo= cXVpc2l0ZQ== Y2hhbm5lbHM= L3Jlcw== IEFuYWx5dGljcw== LmFwcGNvbXBhdA== L3Rv IG9uRXJyb3I= KGF0dHI= SVJN IHJhZ2F6 LWFz LlNlY29uZA== b3JpZW50ZWQ= IGRvbm4= IGxpZ2h0bmluZw== Zmlk IFBsZQ== 44G+44GZ dHJv LlRydWU= T2JzZXJ2YWJsZQ== 15k= dW1iaW5n IHByb3NwZWN0aXZl LWZpbHRlcg== IHB1cnN1YW50 KHBvaW50cw== LkJpbmQ= IHBhbG0= Y2xlYXJmaXg= w7Zz IEdvbno= IHdlYWtlbg== RHJpdmU= ZW5pZG8= bGxk b2JveA== YW5lYW4= R290 5L+d UmVnZXg= 5oM= IHNhbGFk YXNzaXM= Im5ldA== aW5oZXJpdERvYw== IFJW cXVpZXI= IGNsYXp6 xLHFnw== b3N0ZXJvbmU= IGFpcmxpbmU= Lmxpc3RkaXI= IGRvd25sb2FkaW5n IFBhbG0= d2F1a2Vl Jmx0 LkJM X0lOTElORQ== b2Zmcw== PDwo X25ld3M= IGNoYXNl Lz48 IGV1cm9z IEVneXB0aWFu IFN0YWlubGVzcw== X0JPT0w= IEd1aWxk IER5bmFt W2luZGV4UGF0aA== IO8= IG1lbW9yYWJsZQ== IENoYW1waW9u UmVzb3VyY2VNYW5hZ2Vy LkxvZ2lu IEZvcm1lcg== eXBlZA== IGxsZWc= OyIs RFdPUkQ= IHRheGk= IGJvbWJz cmFo LnRhZ3M= X3Rlc3Rz c3RvbmVz 4oCdKQ== W2c= cnR5cGU= IHZ1 IGhvc3RpbGU= Q2hhcnM= IFBhdHJpb3Rz L3N0YXR1cw== PEI= IEluY29tZQ== IERhZA== IHBhdHJvbA== X0NIQU5HRQ== IHVwZ3JhZGVk IGNoaW5h c2V0cQ== U3RhcnRlZA== LlVuZGVm IGNoZWNrc3Vt IGZydXN0cmF0ZWQ= e28= IGVuZg== IHdvb2Rz IEFueW9uZQ== RW5jb2Rl IFF0V2lkZ2V0cw== YXJlYXM= IHNoZWVy c2tp ZW5kcG9pbnQ= X1Rlc3Q= U291cA== fn5+fn5+fn5+fn5+fn5+fg== KGZpbGVz CQkJCQkNCg== LnNwYXJr IHZhbHVlZA== ICUK LmNvbnRyb2xz IFhDVEFzc2VydEVxdWFs IGZhbWU= IFJpYw== RE9U IEFsYmVydGE= 5L2/ b3NhbA== LldlYkNvbnRyb2xz IC0tLS0tLS0tLS0tLQ== IE1pcw== IFNZUw== Tm9ubnVsbA== PWl0ZW0= IGV4cGlyZQ== RGVjb2Rl X29wZXJhdGlvbg== IFZhbGlkYXRvcg== LkNFTlRFUg== dWZmcw== Km0= IGF2YW50 5qyh 4oCcWW91 LnBlcm1pc3Npb24= Li4uKQ== IExpYw== X2Nvb3Jkcw== Lm5vbWJyZQ== Y2xv LkludGVybmFs IENobw== X3N3 CUls Y2xr IGNhc3RsZQ== KGxheWVy cGl0 IGd1aWRlZA== IOKWiA== IHN1cGVyYg== IHN1cHBsZW1lbnRz X2NlbnQ= IHBlZWs= SU5BUlk= LkNvbnRlbnRBbGlnbm1lbnQ= ZmFsbHM= IikpOw== V2FsbA== KS4NCg== IERhbm55 aXJtaW5naGFt SUFMSVo= KGNyZWF0ZQ== Iklu U2VydmljZVByb3ZpZGVy IHByaWNlZA== bWFjcm8= YW1hYw== LmJveA== LS0tLQo= 44Or IFN1aXQ= dXJzdA== YnJ1 b3VybmFscw== bnVtZXJv X18oKQo= RGFz IE1pdHQ= dWRlcg== P1w= ZnU= W0I= IDopCgo= KGludGVy YnJhaW5z IGF0dGl0dWRlcw== VmVyaWZ5 IHNpZ25hdHVyZXM= YWNrQmFy IGdk SmFjaw== LmNhdA== IHp6 d2FyZg== RlRFUg== Iik7CgoK QWxpdmU= SUNMRQ== IFdoYXRldmVy IG91dGxpbmVk c3ByaXRl 0LXQsg== X0FC X0RFUFRI IGNydXNoZWQ= YWFh KGV2 5py6 QW50aQ== SUNP aXNFcXVhbFRv LnN1bg== aWN1bG8= c2FsZQ== X2hleA== IFZr YXB0b3I= VW5pb24= IERpc2NvdW50 bGlzdGE= LlVuZGVmT3I= IGF1dG9tYXRpb24= Tm9y 5a+5 5Y+C5pWw IHJlZmxleA== IExhdXJl LnNob3dNZXNzYWdlRGlhbG9n LnRlbXA= IGFrYW4= IF9fX19fXw== LklzVHJ1ZQ== QVJFRA== YWdsZQ== RW5lcmd5 IHF1YW50aXRpZXM= 4oCZw6k= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== IGNpdGl6ZW5zaGlw bW91dGg= IGluYXBwcm9wcmlhdGU= IE91dGRvb3I= V2hpdGVTcGFjZQ== QW5vbnltb3Vz bG9hZHM= d2ViRWxlbWVudFByb3BlcnRpZXM= VGVu IGFjY2lkZW50cw== IGFkdmVydGlzZW1lbnQ= IFllbWVu KGNhbGw= IHNsYXZlcnk= 0YHQvw== IExhbQ== X0JJVFM= b21lZ2E= IE9sZQ== IGtpZG4= X0Fu IFJhaWQ= Q3JlYXRpb24= c2F2ZWQ= IHByb3BvcnQ= V0FSTklORw== XFA= IHB3ZA== RGF0YVJlYWRlcg== aXNjaGVy YWRlb24= IFByZWRpY3Q= IHJlYXNvbmluZw== IGRlc3Ryb3lpbmc= SGVs KmQ= IExlZ2lzbA== X1By CQkJICAgICAgIA== IHN5bXBhdGg= IGNoZXNz IG1hbQ== OmhvdmVy IGNvbnZlcnRz IHBlbGE= IHByb2dyZXNzaW9u ICJfIg== IEdpbGw= CXNob3c= IHN1cHBvc2VkbHk= YWNjdXJhY3k= ZWxpbg== IHVuZm9sZGluZw== IEh5cGVy IHdhbm5h IHVwcw== KCM= IENyaW1pbmFs KFBvaW50 YXRMbmc= YWN0bHk= IGNvbnRyYWN0b3Jz J119 ZHJhdWxpYw== w7NkaWdv IFRU IFdpZGU= IEFSRw== X2lj RkxBR1M= U2Nob29s IGNsZWFyaW5n LWJlaW5n PXtb LGNvbnN0 bWFuZW50 T3ZlcmxheQ== KCci 6YeP IFRpbWVzdGFtcA== IG1haWxpbmc= IENha2U= LlRoYXQ= IG1lZGl0YXRpb24= cXA= IGVtcHJlc2E= IExpb25z IHdlbGQ= IExpbmtlZElu IGN1c2g= IGdlbm9tZQ== LkluZGV4T2Y= YWdhaW4= IGZhbGxiYWNr IGNhbXBpbmc= cmVkZA== LXN0cmlwZWQ= IGR2 RmVicnVhcnk= IFByb3h5 dXNr IGRpZXNlbA== V1JJVEU= UkVBSw== TG9yZW0= Lkludm9rZQ== LWRpdg== SW50ZXJjZXB0b3I= IERI aWFsZXM= IHZpbGxhZ2Vz 2LQ= IEVOVg== U3lz LlhS IHBvZW0= w4I= Y2FkZQ== cGxvdHM= IHso LmdpdA== L3N2Zw== bmNtcA== IMSN YWluZXM= 5Ye95pWw ICgpCgo= b3BzaXM= IFJlbGF0aW9uc2hpcA== X2F1dA== IEJvbWI= CWNvbQ== KnNpemVvZg== b2ZmaWNpYWw= X3BheWxvYWQ= CQkJCQkgIA== Lm1hbmFnZXI= IEFyb3VuZA== CXNlbmQ= IEV4ZXJjaXNl IEJpbGx5 aXZp IG5lZWRpbmc= X3VybHM= X3Rhc2tz IEhlbQ== IHRlYXJEb3du ZW5jcnlwdA== LnRpZQ== IGFzbQ== SUNI IENHUmVjdE1ha2U= 7ISx dWxvbmc= IGl0cg== IEdTVA== IG9mZmVyaW5ncw== cm9iZQ== RUVF b3BlcmF0b3Jz X1BST1A= aW5kZW50 QURF b3Jm 65A= IGJsZXNzZWQ= dmFzY3VsYXI= IGNvbm9j SGFwcHk= QnJpZGdl aWxpdGF0aW9u am9pbnQ= IEFkbWluaXN0cg== LXRyYW5zZm9ybQ== IG1lYW50aW1l L0s= IEJlZHJvb20= IHJpZ2lk IGJyb3dzZXJz RU1QVFk= LlNlcmlhbGl6ZQ== X0VE IHN0aXRjaA== IGphbg== ZWxsdA== IGJyYWNl IHRyYWlscw== cHVibGlzaGVk 5a+G56CB fScpCg== IGFjaWRz ICEhIQ== X2RpcmVjdA== PigpKTsK YWrEhQ== X09DQw== IHBsYW5ldHM= 5p+l IER1Ymxpbg== IHNlcmll LnByaW50Zg== ZGVlcA== YCk= IFwk IM68 X1ZJREVP ZW5kb3Jz IENyeXB0bw== RmFy LlRyYW5zcGFyZW50 LlRS aWFzbQ== X3RyYWluaW5n IHRlYWNoZXM= IEJlbHQ= IGxpbWl0aW5n IEthdGg= IEluZGV4UGF0aA== IGFjaGlldmVtZW50cw== IHNlcsOh aW50ZXJvcFJlcXVpcmU= IGRpc3Nl Lklm YXJtaW5n dWxzaW9u UG8= X0RFVEFJTA== UHJvdG90eXBl IENBTA== IGFncmVlcw== LnZv LkV4ZWN1dGVOb25RdWVyeQ== IFRvcGlj ICd7fQ== QXJt IGVjYw== TWFn IHNlcmlhbGl6ZWQ= CWNvbm4= Y2FjaGVk PXRm IEJ5dGVBcnJheQ== cHJvdG9idWY= dmFyY2hhcg== CUFTU0VSVA== IGxpc3Rl X3RyaWdnZXI= t7g= RmVlbA== VGFob21h IExpaw== IHN0cnVjdHVyZWQ= ZXJndXM= LkluaXRpYWw= X2dl Y2xqcw== LmNvbnRhY3Q= IGFuZGVyZQ== JHN0bXQ= X0NVUlJFTlQ= IERpc2NvdmVy JHJlcw== Zm9ybWF0dGVy SGE= dmFuZ3N0 IGVtZXJnZQ== 44CC4oCd IENhYmluZXQ= LXNxdWFyZQ== 6YOo IHJhZ2U= IEFK IFZU c2hhZG93 IEZhaXRo ZW5hbWVz cHJldHR5 aGFzaWw= cGFydHk= IHZhcmNoYXI= IGZvdG9z IGFsdW0= IEJlbGdpdW0= LnlsYWJlbA== IGRlag== X251bWJlcnM= IGh1 LnNldEFkYXB0ZXI= IFVzdWFsbHk= KHNhbXBsZQ== LlNoYXJlZA== IGJvb2tlZA== ID4+PQ== IG1pbmVyYWxz Ij48Pz0= IGFkanVzdG1lbnRz IERM IHZpYnJhbnQ= IERlcGVuZGVuY3k= IHphcA== L1g= IGZvbnRz dHJpcA== 0LjRhw== IHR1YmVz Y2xhbWF0aW9u IOun IHByb3RhZ29u b3Vwb24= IEJydXNo KHByZWQ= b3VybmV5 J10pLT4= cHJvZw== Ym9v X21k X3BhY2s= KGV4cHJlc3M= dXR6 XEF1dGg= LGlk IENoaWxl YWN0aWNl IHJlY3J1aXRtZW50 IHBvc2Vz IHZ1bG5lcmFiaWxpdHk= aW5zdGFuYw== b3J1bQ== ZGVzcw== IHhs JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSU= KGZpZw== IGRlbGV0aW5n LmRlbA== KScpCg== IFdlZWtseQ== Pz8/ KHN0cmNtcA== c21pdGg= IHB1cnN1aW5n LXNv IEFwcHM= LycK IGRlY2lz Rk9SRQ== RXZlcnlvbmU= IGxhbmVz VmlydHVhbA== LmF0dGFjaA== KExvZw== IE1lZGljYWlk KFBhdGg= IFR1cm5lcg== L2FwcGxpY2F0aW9u IHBvcnRyYWl0 IG9wcG9zZQ== Y2hlY2tvdXQ= IGZpbmlzaGVz X01F QmFycmllcg== U29uZw== VkFS RWFybGllcg== cmVsbGE= IGhhc3Q= YXphcg== IHB1bGxz bmd4 IGluc3BpcmluZw== 0YPRjg== LWRpcmVjdGlvbg== IGV4cGxvc2l2ZQ== IGNyZWF0ZWRBdA== c3Rv IHdoZWF0 IEJ1aWx0 J2Fp IHRyYWNrZWQ= aGFtbWFk Um93QXRJbmRleFBhdGg= X2hlYXA= RHVl IGNvbm5lY3Rz LnB1Ymxpc2g= ZW11 IGJ1bGxldHM= QkFS b2xhdGU= IGludGVybmFsbHk= IGNhdGNoaW5n LXBhc3N3b3Jk b3VjaGVk 5oCn ZW91cw== IHhyYW5nZQ== UXVhbGl0eQ== dnY= TWFuYWdl KCgk YWNlbWVudHM= IEJyb3RoZXJz IEhFQUQ= IFVuc3VwcG9ydGVk c2Fu ZXNp KioqCg== IGFkYXB0YXRpb24= IFdvcmtlcg== J10v LnNhdmVmaWc= KHRyYW5z 2Kw= bmVl Q29ycmVjdA== Li4uIikK IHN1Ym1pdHRpbmc= LXBhdGg= CWxhc3Q= aXNzYW4= LnhsYWJlbA== IFNlcGFy L25v X2Jlc3Q= IE1pbGxz X3NvY2s= KGZsYWc= IGRlc3RpbmF0aW9ucw== ZW1wdGlvbg== IEZBSUw= 5ZKM IHJw ZmFjdA== CWxlbg== REFZ IHNlaXo= X2RzdA== bGlw LkxpbmVhcg== IEJhc2tldA== JHQ= JGk= LWJyYW5k IE5laWw= IEVx IHRob3U= b2dlbmU= IHNjaG9sYXJzaGlw 5pu0 IHN3bw== YWdpbmF0b3I= ZW5p KGJvb2s= IGJsaW5r dGh1cw== IGNhbmNlbGxhdGlvblRva2Vu IFBhbGVzdGluaWFucw== IHByb2ZpdGFibGU= IGJhY2twYWNr ZW5zb24= PExvbmc= IHBvb2xz IHN0aWNrcw== IHNwb2tlc3dvbWFu QmVpbmc= IEhlcml0YWdl IE5pa2U= U0hB IE5vdEltcGxlbWVudGVkRXhjZXB0aW9u JGNvcmU= IFJpY28= L2xhdGVzdA== IEN6ZWNo bmVyUmFkaXVz KGxpbmVz IHNlbWVzdGVy IHdvdW5kcw== UHJvY2VkdXJl Lm1haWw= KCkpOgo= IGNvcnJpZA== dGVyZWQ= IE5DQUE= IGdhbGF4eQ== X2tpbmQ= aWxr IHRyYXM= X1BPTA== IEhldA== IHJlZnVnZWU= IHRlZW5hZ2U= LmJpbmRpbmc= cG9zdGFs IGnDp2lu IERhdGFUeXBl 6ZY= eWNsZXJ2aWV3 LHZhbHVl X2lkZW50aWZpZXI= PGI= IG91dGZpbGU= DQogICAgDQo= IGNyw6k= IHJlc3BvbmRlbnRz IEJlYXN0 Y2VsZWQ= IGludGVyZg== LXRoZW1l Z2lm IFJhbmdlcnM= SVRBTA== IGF1dGhlbnRpY2F0ZQ== Q29tcGxldGlvbg== dXJzb3Jz IGNpbmVtYQ== IGRpc2NvdXI= IEphdw== T0NLRVQ= IHByYXllcnM= IEx1aXM= ZnJhZw== PVsK IGJyYXZl X3Bvc2U= Q2VydGlmaWNhdGU= LWZl aWZlcmF5 IEZsYWdz Q29udGFpbmVyR2Fw IENyaXQ= UmVzdWx0U2V0 CWN1cg== IGNvcnJlc3BvbmRz U3RhZmY= Lkh0dHBTZXJ2bGV0UmVxdWVzdA== IG5ldXJvbnM= IE1haW5BeGlzQWxpZ25tZW50 ZWRhcg== IGdhZA== X3BhcnRz IM6y IGZ4 L2ZpbGVz IEJyb3M= aGlwcw== IGdsdWNvc2U= IGZhcm1z IG1lbnRhbGx5 cmVzdGF1cmFudA== VGFibGVOYW1l IE1lcmNlZGVz LlZpc3VhbA== IGFuY2g= aW5hbGc= X3J1bnRpbWU= IHByb3ByaWV0YXJ5 IGludGVudGlvbnM= aXpp U2xpY2U= OyI+PC8= X1dPUkQ= XE1pZ3JhdGlvbnM= IEVOQUJMRQ== X1BBUkFNRVRFUg== IEJpc2hvcA== LnN1YmplY3Q= aWxsYXM= Lm1hdHJpeA== dXJyZW5jZXM= Knk= IGNvc3RseQ== IENodWNr IGNsb3Nlcw== IE1pZ2h0 LXN0b3Jl IG1hbGw= aWV0ZW4= LkFicw== IGNvdXBsZWQ= LmJhc2lj IDo6Ojo6Ojo6 TWFrZXI= Y2Fubm90 IGFjaA== IEVsaQ== 4oiS b3JuYQ== IGNwcw== IHRoZXJlb2Y= IEB7 IE5TTXV0YWJsZUFycmF5 zr0= cHJvZHVjdGl2ZQ== U3F1YXJl dGVtcHRz IGVsaW1pbmF0ZWQ= PE0= IGNvbnNlcnZhdGl2ZXM= IFN1cmc= LnBhcg== IEJ1Y2g= KmI= Rm9ydA== Q29sb3Vy IENoaQ== ZWRpYw== PnRydWU= IE5ZQw== IGJvcmVk IERldGVjdA== IGFwcGFy IGplYW5z IFRhaw== SU9E IEhvcnNl KEZJTEU= KD8= cmlxdWU= b3B0aW1pemVy bmF0 bG95cw== CVRva2Vu b3VidGVk dWVzcw== b2NvYQ== RGF0YU1lbWJlcg== X1BPV0VS Y2xhc3NMaXN0 UHVzaEJ1dHRvbg== IFdpRmk= LlN0cmVhbQ== Lmd1aWxk IG5vZw== IFBvcnR1Z2Fs IFVudGVy UHJpbWl0aXZl Ym9zcw== IERldXRzY2g= IGVyb3RpYw== IHN0cmNvbnY= LlRyeVBhcnNl IGdyYW1z LlN1Y2Nlc3M= X3Br IEhhcnZleQ== LW1pbmRlZA== LmNvdW50cnk= W10i IGFuZ2Vs IGJlYXRz IFZvcg== aWxpbw== Lm1hc3Rlcg== c29tZXRoaW5n IFBBQ0s= KGlm UmVxdWVzdEJvZHk= IGFudGVz L3dpZGdldA== IG1vZG8= IEFX ZmluZGVy IG9wdGltaXplZA== IG1pc3NpbGVz TkI= CWludGVybmFs dGV4 IFNyaQ== IGRhbWFnaW5n IE1haXM= LUFsbG93 IFpo LWFsdA== ICkpOwoK 6Ik= IGluZmx1ZW5jZXM= IGNhdGFs X1JFR0lTVEVS IEFQSXM= LWNlbnR1cnk= IGJpb2xvZ3k= IEFjdHVhbA== IGhlZWxz VFJBQ0U= X0RJRw== RGF0YXNldA== IE1hdHRlcg== IGNsYXNzaWZpZXI= Lndpa2lwZWRpYQ== IFJvZ2Vycw== IGRvbmF0ZWQ= cmF3bGVy ZW5lbg== IGNhc2lub3M= b3J0YWw= IHByaXZl c3Bl ZHVjZXJz LmVw IGdyYXNw YWNqaQ== IGRhaXJ5 IGJ1c2Vz LmNvbW0= Lmlucw== IElSUw== IEJlZXI= YWRj b2FyZA== X01FVA== ICcrJw== cmFucw== IGtpbmRh IOKUgg== IE1hdXI= 0LDQsw== IGJhbmR3aWR0aA== aWJ1cw== IERpZmZlcmVudA== KG1hdA== IFJlc3VtZQ== X1VOUw== ZXN0YWJsaXNo IGZvbmN0aW9u U3Vic2NyaXB0aW9u X2NvbXBhbnk= IGxpZ2h0bHk= LmNvbmZpcm0= LnlhbWw= IEJvb3N0 Q29tbWVyY2U= LXRlbXBsYXRl X0RFTEFZ IEhJ IG5hdmln KFNlbmRlcg== IEhT XyIr IFJFUVVFU1Q= IHdpZmk= PSIiCg== XSktPg== IHJvcGU= IHZpb2xhdGVk IGdsYW5jZQ== IEt1cmQ= IOiu ZGVjaw== IElTQk4= IGluZmVjdA== IEZvbw== IGdldHRlcg== IHRlbmVy YXBwZQ== Lmho X2hvdA== PEFN cG9seQ== ISIsCg== IGNvbnZlcnRpbmc= IFdXRQ== Uk9T KCd7 Q29tbWl0 KUw= IE9yZQ== IHNwYXJzZQ== IGRpc3Bvc2Fs IGNhbmNlbGVk 5ZCO IGFlcg== IHZpbnls 4buD cmVjb2du YXJraW5n IHRyaWNreQ== KnM= IHByb2NlZWRz IGlzbw== IGNvY29udXQ= IGNyYWZ0ZWQ= SUVMRFM= IHF1ZXN0bw== IGNvbW11bg== X0NPTk5FQ1Q= IHRyYWZmaWNraW5n RGVlcA== YcOnw7Vlcw== Y29kaWdv dmVhdQ== IGJldHJheQ== aW50YQ== VEVE w6Zy bWFydA== X0JVUw== L3Nj aWFsbHk= IGNpZ2FyZXR0ZXM= 6K+B KG5u IG1vZGVsaW5n L3Byb2R1Y3Rz d2Fybg== IG1ldHJv IEl2 Jik= IENhYmxl zrs= Q29tcGFyaXNvbg== Z2FyeQ== IEJB UEFSVA== IHB2 X3VwZGF0ZWQ= Q3JlZGl0 b3J0aHk= b2JzZXJ2YWJsZQ== IHRoZWF0cmU= QkxF O30KCg== bGF1bmNo X3N0cmluZ3M= dWdv IFJQRw== LWF1dGg= 0KA= aG9sbQ== IFBhbmQ= VWlk IGltcGx5 7Jy8 J109Jw== L1VzZXI= IHN0cmNhdA== 0L3Ri9C5 RGF0YUFkYXB0ZXI= IGxhbmRzYw== IGRpcGxvbWF0aWM= 77yT KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg== IENoaWNrZW4= IGJjcnlwdA== LkluZg== W2NvbA== IFF1YW50aXR5 LXBvc2l0aW9u IGRpZXRhcnk= IGZpbG1t SXNyYWVs UHJldg== IE1pbGxpb24= IHJlbWVk IGJpbGxpbmc= IG91dGRvb3Jz LnRt IG5hZA== Rm9yZw== Wlo= IHNzbA== XSwn S1Q= ZnJlcQ== PWRvY3VtZW50 Ymx1cg== rLg= IEplZmZlcnNvbg== Q3M= KHNhdmU= IHN0cmFw SW5kaWE= IGlkZW9sb2d5 Qk9TRQ== IEZQ KGFucw== IGZldmVy IFlhbQ== S2luZw== 4LI= QVRJTkc= Ym9oeWRy cm9sbGJhY2s= IG5ld05vZGU= IE5WSURJQQ== IGhvbm91cg== IENvbmZpcm0= eGJk IHN1Y2Nlc3Nvcg== L3U= bGl2 b3VybmFtZW50cw== QXR0YWNobWVudA== IGdydXA= IHRyaWJl IGNhcmVz ZWZ0 X3NhbWU= J2xhYmVs IOOAkA== TW90b3I= IGluZXhw ICIoIg== X1BPU0lUSU9O IHZhbGxleQ== IFJlc3VsdFNldA== IHByZXNlcnZlZA== IG11dGF0aW9ucw== IHF1ZXN0aW9uaW5n bXVuaXRpb24= cGFyc2VJbnQ= IFNy IE1ldGFkYXRh 4oCd77yM dGltZXN0YW1wcw== IHRyYW5zaXRpb25z 7Zk= 0Yo= aW9t LkRv IHBpbmU= IGZ1bmc= IHRyYW5zbWl0dGVk Y3RpbWU= IEZhbQ== UmV2aXNpb24= QmFz VVBFUg== RGVzdGluYXRpb24= dG9IYXZlQmVlbkNhbGxlZA== IHVuZm9ydHVuYXRl SU5FUw== X3Byb2Y= QW1vbmc= IEN5YmVy IEJhdHRlcnk= Z2VucmU= IFZpZXdNb2RlbA== LT0= IHV0aWxpemVk cGFpbnQ= LkludGVnZXJGaWVsZA== ZXJuaXR5 Y29tcGlsZXI= 4oCLCgo= IE1hc3RlcnM= LlRvQXJyYXk= IHN0cnRvbA== IFVrcmFpbmlhbg== fSkpOwo= IHNoZW1hbGU= IlRoYXQ= Zm9yYWxs L2Rvd25sb2Fk IHJoZXRvcmlj LmxhdGl0dWRl IFdIRU4= IHNob2NraW5n SUZJQw== Lk5vcm1hbA== X0ZPTERFUg== IGRyaWZ0 IG1vdW50aW5n LWJvb2s= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK IFdpcmVsZXNz PiIuJA== IHJlbGllcw== KENvbnNvbGU= SW50ZXJuYXRpb25hbA== LT57JA== TWlk IGRpc3NlcnQ= ZGRz IGRlcG9zaXRz CWRyaXZlcg== I2dh cHJpc2luZw== cHJpbnRsbg== IHByZXNlbnRlcg== IG1pbmVz Q1NT IER1YWw= KCEo IGthbQ== IGlzTG9hZGluZw== IFByb3RlY3Q= LnVwcGVy YXJpdW0= XToKCgo= WWlp LXNoaXJ0 IElNQUdF X2NvbG9ycw== IHVyZ2VudA== LkNvbnRhaW5lcg== ISgK U2F0dXJkYXk= IHNvY2lldGllcw== IFRoYW4= IENvZA== PUA= IGF0dGFjaG1lbnRz Lm1vYmlsZQ== IHNwaXRl IGJvdW5jZQ== cmF3bA== aW5zdGFuY2V0eXBl IFRydWNr IG1hbmlwdWxhdGlvbg== KENvbmZpZw== LWluc3Q= IHN0b3I= aXR1dGlvbg== UHJlZmVycmVkR2Fw IG1haW5BeGlzQWxpZ25tZW50 IGxpc3RlbmVk JycnCgo= b3R0YWdl LXByb2plY3Q= LkFQUExJQ0FUSU9O CXJvb3Q= IHdoaXQ= IGJpbGRlcg== IGtlcg== IGFwcGxpYW5jZXM= cm93YXZl 7J2A ZW1hdGljcw== IE9yZw== b3Bpbmc= X1NFQVJDSA== IGNoYW0= YWRkQ29udGFpbmVyR2Fw ICgpLg== IEFycm93 SWxsZWdhbA== Q3VycmVudGx5 IHVzYQ== IHBhc3N3b3Jkcw== IHJlbm93bg== YXZlcm4= IEV2aWw= IGNvbmNhdA== IGR1bw== IHZhbGU= IEJlYW4= IGluZGljYXRvcnM= Y21hdGg= IFB1bXA= Tm92ZW1iZXI= aWZpY2FudA== X0RPTUFJTg== cmVnYXI= IFBvcnRhbA== IiQ= IGZvcm1lcmx5 Il06Cg== IFZpc2liaWxpdHk= LmdldEVsZW1lbnRzQnlDbGFzc05hbWU= X1JFRA== IGNoYW1waW9ucw== 4LQ= VmFsb3I= X2Vz KmE= LXJlcGVhdA== QmFuZA== LnN0YWdl IGJ1cmVhdWM= Q250 ZXRlbg== LWZ1bmN0aW9u IG11aXRv UElE X2VkaXRvcg== IGNyYXNoZWQ= ZGVhZA== a2F0 YWdo IEVYVA== YXNzZXI= LXNtYWxs IHJlYWxpeg== KEVudGl0eQ== w7pz IEFjdHVhbGx5 IEVsaXRl IGhlbG0= KG5vbmF0b21pYw== YXNoZXI= Q29tbXVuaXR5 YWxsZW5n aXJ5 IEdyb3d0aA== IHN1ZQ== IGZyZXF1ZW5jaWVz X2Rlc2NyaXB0b3I= LkF0dHJpYnV0ZQ== IHJlY2lwaWVudHM= X05T LyIr aWJhbg== IGF0aGxldGU= IElnbg== X0RNQQ== KGRz IFJlcXVpcmVtZW50cw== QURJ ZXJleg== XEFkbWlu YnJhc2th IFJ1c3Q= UmVsYXRpb24= Q09E IFZFUlNJT04= ZW1tYQ== KSl7 LkR1cmF0aW9u IENhbWI= LWxvZ28= IHJlYWRhYmxl IGNyZWF0b3Jz KCldOwo= VXBEb3du LWhhbGY= LmdldE1vbnRo KHNm UGlj IGh1bmdlcg== LnR4 IGV4Y2VlZGVk X3NlZWQ= KF4= X3Nr LnBlcmZvcm0= ID46Og== IG1vbmdv PWZsb2F0 YmluZFBhcmFt U21hcnQ= aWZh IHNlY3VyaXRpZXM= IHByZWp1ZA== ICwi IGNvcnBz IHZyYQ== YW1hY2FyZQ== aXRlcnI= KE1lZGlh dWNoZQ== IGNvYg== IGxpYmVy Lmdlb21ldHJ5 TG9jYXRvcg== IHNsaWRpbmc= IHN1cmdpY2Fs X0NVUg== IGNvbnNlY3Q= Wyo= IFJlc29ydA== U3R1Yg== X0RPVUJMRQ== IFNvcGg= IGVsZWN0b3JhbA== X2Rpc2FibGU= INGB0L4= IExpZ2h0bmluZw== IG1lbnRpb25z b2N5 IGxlYWtlZA== IHJlbGF4aW5n UHJlc2VudGVy dnNw IGd1aWx0 PS09LQ== LnJlcGx5 IE1pcnJvcg== Q2FtcA== ICsjKyMrIys= ICsjKyMrIysjKyMr LkF1dGhvcg== IGRpcmVjdGl2ZQ== LWhvb2s= 7YSw fQoKCgoK QHB5dGVzdA== X3JhbmQ= bWlz IGNvbG9yZnVs dWpl bGFzc2Vz IENsYXNzZXM= LmhhdmU= JSks 6aKY IGRpc3R1cmJpbmc= c3Vic3RyaW5n IEtvaA== SW52ZXN0 cHVyY2hhc2U= IHJlY3ljbGluZw== IEFSVA== aWVyYXJjaHk= IGZwcw== LmNoZWNrQm94 7ZW0 X21hdGVyaWFs ZHVjYXRpb24= IGZ3 dWRpdA== IHJldmlld2luZw== IFNpZA== U3ludGF4 IFdyaXR0ZW4= YXJnYXI= VU1F L3E= Q2xhc3NpZmllcg== T2ZmaWNpYWw= IGpheno= IG9tZWdh UGh5c2ljcw== IGx1Z2Fy X2FjY2Vzc29y LmNvbW1hbmRz QWJpbGl0eQ== IEJhdGNo UkFN IGVuY291bnRlcnM= LlF1 QllURQ== IERpc3RyaWJ1dGlvbg== IHVzbw== IFJlY292ZXJ5 YXBwcm92ZWQ= IGRlbmlhbA== L3NoYXJl TGlua2VkTGlzdA== KQ0KDQoNCg== dWRkeQ== IGZpbmVz IHJ5 VW5pY29kZQ== CXJlbmRlcg== IHByZW1pc2Vz IHBvbg== YWxpYXNlcw== L0ZvdW5kYXRpb24= Y3VkYQ== IENvY2s= LDop KGZvbGRlcg== IG3DqWQ= ZHJhZw== IHRhbGVudHM= ICAgCgo= 0LXRgdGC0LI= bW9i LnltbA== IGFzdGVy IGRpc2NyZQ== Z29hbA== IEdUWA== IFNVQ0NFU1M= IExPTkc= KGZpbmQ= IHNpbmd1bGFy X3N6 IEV0aGVyZXVt Li4K IGlycmVz Jykpewo= IG1pbmlzdGVycw== U3RlcHM= aXZlcnNhbA== IE5ldmVydGhlbGVzcw== LWxlZA== ICglKQ== 56Gu IHRpbWV6b25l IHN0cmFuZ2Vy KHJlbmRlcg== IHNodXRpbA== IG1waA== IHRyaW8= cHB5 IHByZWRvbWlu IGVuZG9ycw== IFJ1c3NpYW5z CXJvdw== IHdpemFyZA== LnNlcmlhbGl6ZQ== IGNvbXBsYWluZWQ= IHNpZG8= IGRlbGlnaHRlZA== LW1l IFJhdg== SHVtYW4= YWRheXM= cmVjdg== V29ya2luZw== SnVtcA== IMOlcg== IEF1dG9tYXRpYw== X0Jhc2U= 5qC8 YXVyYW50cw== wq8= 5rg= KENUeXBl SUZJ KGFtb3VudA== IGJlbGlldmluZw== PW15c3Fs IGZpcg== IHJlc3RvcmF0aW9u ZXJlY28= 0KI= Xycr IGVib29r IGRlYnJpcw== KGlucHV0cw== QVlPVVQ= IHNjcmVhbWluZw== YXZpYQ== bGFuZGVy IGRpc3RyZXNz IGFzc2VtYmxlZA== IEF2b2lk KHRocmVhZA== IFJQQw== X0VYSVQ= KHF1ZXVl 0LjRgdGC RGxs IHNrdWxs X3B1Yg== Y2hleg== bWluYXRl ZW5zZW4= IGluc2FuZQ== Ym91bmRz IFJvc2Vu IGNvbmRpdGlvbmluZw== cHJvY2Vzc2Vk dmlkZW9z Zm91cg== LkNvbnY= fDsK UGVyc29uYWw= Y2VycHQ= OlVJQ29udHJvbFN0YXRlTm9ybWFs IGRvc2Vz IEthcmw= IEZyZXF1 LkJBU0U= IFZvdGU= IGNvbmN1cnJlbnQ= IE1lc3NhZ2VCb3hJY29u IMOW IER1YmFp IFJldGFpbA== Om51bWJlcg== IE9ic2VydmVy IEJpZ0ludGVnZXI= X29yaWdpbg== X1dPUks= RnJhbWVz IG5vdGFibHk= LuKAnA== IHRyb3BpY2Fs IG5pY2hl YW1pbmE= LnN5cw== KHRva2Vucw== bW9kaWZ5 b3NpdA== c3Ryb20= IENvbWljcw== T1BUSU9O VGlja2V0 IGZhY3Rvcmllcw== IGRpc3B1dA== X0ZpbGU= IEZpbm4= ZWVl IERpc2NvcmQ= X21vbmV5 LnRwbA== X3NhZmU= TEI= IGdsdXQ= Sks= LmZsb3c= LWNvbnQ= Z29z IGhvcml6b24= IFJ1c2g= Ojoq UGlwZQ== dWxsYQ== Ym9yb3VnaA== aGVpbWVy KG1vdmU= KFRleHQ= fSk7DQoNCg== d2VsY29tZQ== IENvbXBvbmVudHM= IGdvdmVybmFuY2U= Y2xvc2Vk CW1hcmdpbg== IGxhdW5kcnk= IFRlcm1pbmFs aXphcmRz LuKAlA== LnJlbW90ZQ== LnJhZGl1cw== IFF1ZWJlYw== IGRo VGVjaA== IE1pc3Q= c2VsbGVy X2xpdGVyYWw= IGdlbml1cw== IGJyYWlucw== Z2Vt IE1lYXN1cmU= IGNhdGFzdA== cmFuY2U= LlRleHRGaWVsZA== IGNvbnN1bWluZw== ICdcJyc= b3VidGVkbHk= IENlcnRhaW4= RXY= ZXJ0aQ== YmVpbmc= RXhwZXJpZW5jZQ== IC8vWw== IEFyYWJpYw== IENyaXN0 IEF6dXJl IGhvcmE= bGFkZXNo XEJsdWVwcmludA== ZGFy LnJlbA== IHN1cHJlbQ== IFJlYWdhbg== IEF0dHJpYnV0ZXM= LXNpZGViYXI= IHVzZVN0eWxlcw== IEFpcmxpbmVz IGhpbGxz L3hodG1s dmluYw== X21vY2s= CiAgICAgICAgICAgICAgICAK IFBpbGw= LkxheW91dFN0eWxl IENvbW1hbmRlcg== XTw= c2lnbmF0dXJl IHt9DQo= IGhhdHJlZA== IOuL b2xlc3Rlcm9s ICoqKioqKioq YW5jZWxsb3I= Y3JvcA== VElN CQkKCg== eXNxbGk= dWl0aXZl CXVuc2V0 X3NlbA== IG1lbnVz dGljaw== IGNvbnN0aXR1dGU= IEVsZW1lbnRz IFJlZGlz YWdnaW8= X2Zw X2RlcGVuZA== ZW1hcw== Q0FTVA== b3Jhbmdl am9u IEVtaWx5 IHBvdGF0b2Vz IHJlY2VwdG9y IEVsZWN0cm9uaWM= IExpZ2h0cw== IGNvbWJpbmluZw== IFNvbWVvbmU= ICMjIyMjIyMjLg== IFRPRA== L3Nob3c= WGQ= LiIn YWZ4 IHRyYWdpYw== U3R5bGVk IE1hcmNv R2FsbGVyeQ== ZGFsZQ== LuKAnQoKCgo= w6lyaWU= L3NlcnZpY2U= 5LqG IGFtYmllbnQ= X1NFVFRJTkdT LkFkYXB0ZXI= bGVuZQ== IHRyYXZlbHM= Tm90aWNl IGNsZWFucw== IEZlbQ== Y2hhaXI= 0YPQvQ== L215 X2JhZA== IEVjb25vbWljcw== SVNB X0NOVA== KE1lbnU= 5LqO IFJpZGdl IGxlbmd0aHk= RG90 IGp1bXBz IGhleQ== JHBkZg== IHdvcm0= IHN1dA== IHNoZXI= aWFtbw== IENhbGM= dHJpZXZl IGNvcHM= IENocm9t IHJlZ3VsYXRlZA== cmVhdG1lbnQ= IEhpZ2hlcg== b2tz IGRlemU= TE9DQVRJT04= b25nc1Rv IGZpbml0ZQ== IHZhcmllcw== IHBvc2l0aW9uZWQ= J2ls 6YeR IGhpa2U= KGRvbmU= cGxheWxpc3Q= IGFkYQ== IGNvYXN0YWw= IE5hbmN5 LkRhdGVUaW1lRmllbGQ= Q3BwQ29kZUdlbg== IFNpbWlsYXJseQ== cmV1cg== IENvbnRy IEhpZGRlbg== IEJldGE= YXRjaGVk X2luc3RhbGw= Lk91dHB1dA== TG9va3Vw IFJpY2htb25k cXVhcmVk IG1hbmdh LWNvbnRyb2xz IEJlcm5hcmQ= TGFyZ2U= IHNsaWNlcw== IG9mZmVuY2U= IE1lZ2E= IGVzdGFy IGpvaW50cw== IHN1bW0= X3BsYXRmb3Jt QnVmZg== LmFkZFN1YnZpZXc= IHJldGFpbmVk TGV0dGVy LmRpbQ== IGVzc2VyZQ== IFNjYWZmb2xk RVhQRUNU CVJF LmxvbmdpdHVkZQ== w7xuZA== IHN0YXR1ZQ== LmFkZFdpZGdldA== IENhcmliYmVhbg== YWRkUHJlZmVycmVkR2Fw aWxkZQ== VUlMYWJlbA== IE9wcG9ydA== IGltcGVyaWFs dXJzaW9u IG1hbmRhdGU= IHByb21vdGlvbmFs IHZr aWHFgg== IHB5bA== IENyZWF0aW9u 0L7Qt9C0 IHNpbXBsZXI= LndoYXQ= IFJlY2VudA== U3Rvcm0= LnF1YW50aXR5 IExvdg== Ii0= dWJibGVz X25vdGlmaWNhdGlvbg== KHdvcmxk dXJnZXI= Kigt OiIK aG0= YW5zaGlw IEFsbW9zdA== IG1vdG9yY3ljbGU= X2ZlZQ== IGFic29yYg== IFZpbmNlbnQ= IHNvdW5kZWQ= w61zdA== IHBoYXJtYWNldXRpY2Fs aHRhZw== IEtpbmRsZQ== aXRhbGl6ZQ== IEVtcGVyb3I= b3VzdGlj IHNwZWNpYWxpc3Rz 5YWs Qm9yZGVyU3R5bGU= L1w= UkVMQVRFRA== KCcsJyw= KGV4cHI= IGh0 5Y2I X0NyZWF0ZQ== IHNwZWNpYWxseQ== IFtdOw0K IGhlZWw= IHNlcHQ= X2FyY2g= KGluaXRpYWw= JS4KCg== XCIsXCI= IGRpc2N1c3Nlcw== IHVwdA== IFsm IG1hbnVz LmhhbmQ= IE1BSU4= IERlbm1hcms= IF0sDQo= IGNyeXN0 IG5hY2s= Q29vcmRz X2lubmVy IG1pZHN0 IGF3YWtl INCe LWJyZWFr w612ZWw= X1BBU1M= IFBhcmFtcw== IGRldHI= IHNwaWRlcg== IENvbmNlcHQ= IHByZW5k Q0hFRA== LkV4aXQ= IHBvcHVsYXRlZA== IHZpcnR1ZQ== X1NFU1NJT04= IG5vdXZlbA== b2F1dGg= INC00LDQvdC90Ys= cmluaw== LkhlYWRlclRleHQ= YXR1cmF0ZWQ= IGVyc3Q= IOWF 4KWH X3Zpc2libGU= ZXllcg== IGxpYWJsZQ== IGRlYmU= IGJ3 ey0j X1dJTg== ZGZz SG92ZXI= IFBVVA== LWFuZ2xl IG5vYmxl IHRyYWNlcw== ZW5jdg== IHVzZXJEYXRh X2lucw== IFN1eg== IG5ld3NsZXR0ZXJz IE1vZGk= IGVudHJlcHJlbmV1cnM= IHRyaWJ1dGU= IHJ1bW9ycw== IHJy IFF1YXJ0ZXI= 6rOg IGZlZWRz w7Nn IGVudmVsb3Bl IGxlYXI= IGvDuA== ZGV2ZWxvcGVy U2ltaWxhcg== OiIpCg== c3Vic2NyaXB0aW9u TW9kaWZpZXI= aXRhbGlj IG5hc3R5 IHRlcm1pbmF0aW9u IGNoYXJtaW5n IOKf dG9ucw== LnRyYWNl aG90cw== IFVS TW9udA== IGp1c3RpZmllZA== IEdhbmc= aW5lYQ== IGJvZw== KGFw XyQ= IGNvbnRhbWlu LkRvdA== CURlYnVn KGV4cG9ydHM= IHBhaXJlZA== IEFzc2lnbm1lbnQ= IGF1dG9tb2JpbGU= k40= IHBoYXNlcw== dnc= QFN1cHByZXNzV2FybmluZ3M= PVw= cmFudA== LWVk CWF3YWl0 IGNlcnRpZmljYXRlcw== Jz4i IGludGFjdA== Q1RSTA== TWlrZQ== Z3JlZ2F0aW9u QVRURVJO IHJlcHVibGlj X3VwcGVy aWxpYXJ5 IGNvbXB1dGF0aW9u aGlyZQ== IFNoaW4= X0FOWQ== IE1hbnVmYWN0dXJlcg== IENhcm0= IGJlYXJpbmdz X2NvbWI= Y2Fk dXJpc3RpYw== IHdob2xlc2FsZQ== IGRvbm9y LmludGVyZmFjZXM= cHJlc3Nv IEJydW4= LWNsb3Nl cHJvdmU= X1NL CWZyYW1l ZXRyb3M= IFBhaW4= X0VYUA== IExU X2Zz LmRhdGFz CXNz dm9pcg== IEF4aXM= TWFqb3I= PSI8 W2g= IHByb2Zlc3M= aWdyYXRl KHNjb3Jl S2V5d29yZA== Im9z ICAgIAkK YW5hbHlzaXM= IHJlcGxheQ== LnBhc3M= XGQ= dGxz IHNhbmN0 LmxpZ2h0 X21vYmlsZQ== 0YHRgtGM CXRvdGFs dWl0eQ== IHBhdXNlZA== TkFT IGVuY29yZQ== bG9l IC0qLQoK LmhpZ2g= YW1wbGVy IFNlY3VyZQ== IGZyYWdtZW50cw== X3ZlbA== aWxsYXJ5 IFN0ZWlu IERhd24= IG1heGltaXpl 4Lii IC9e IGNvbnRpbnVhbGx5 IHNoYWRvd3M= CSAgICAgICAgICAgICAgICAgICA= IElBY3Rpb25SZXN1bHQ= IGluZm9ybWFjacOzbg== Q0hFQ0s= LlNlbGVjdGVkSXRlbQ== YnVuZGxl b2xsZXk= PEludA== QUlORVI= IFdpbmc= dGl0bGVz b3VudGFpbg== Q1k= IExvY2FsZQ== Zm9ybWVy PGNvbnRleHQ= UmFkaW9CdXR0b24= X3NjaGVkdWxl IGZhYnVsb3Vz Um9iZXJ0 X1BST0ZJTEU= IGdhdGVz SU1Q IFBlbnRhZ29u Z29sZA== YmFjaA== ZW1wbG95ZWVz Um90YXRl IGNoYW1w IHNlbGJzdA== QWx0ZXJu IGNvbnZlcnRWaWV3 Lyw= IH4o U3RyZWV0 X3BsYWNl IHBlcnNvbmFsaXplZA== UHVibGlzaGVy IFNPQ0s= X05BTUVTUEFDRQ== IFN0YW5kYXJkcw== c29ldmVy X0NFTlRFUg== SW50ZXJlc3Q= w7R0 dGVtcGVyYXR1cmU= Vmlld3BvcnQ= Z2V0UmVzb3VyY2U= IGVhdGVu IHNlbXByZQ== IGFibm9ybWFs IGN5bGluZGVy IHRyb3VibGVz bm9k 0YvQsg== Z2FtZXM= X2ds UGxhbmU= Z3JleQ== X3RibA== LkNvbXBvbmVudFBsYWNlbWVudA== IENoYXNl TG9nZ2luZw== bWFueQ== 7IY= IGZsYW1l PSI8Pz0k IEdyb3Vwcw== LVU= 0YDQsNC9 CgoKCgoKCg== IHZhdWx0 b21vbg== cHJvYmxlbQ== IHRyYWRlcnM= IHBlcmlwaGVyYWw= IGhvbWVwYWdl KGRlcw== IFN1Y2Nlc3NmdWxseQ== IHJlYm9vdA== IGNlbGx1bGFy aWlp IFBsYW5z bGlzdGluZw== CWRpcw== IFJlZmxlY3Q= CWV4Y2VwdA== Iiko IHRhbWLDqW0= VmVoaWNsZQ== YWNjaQ== bHVzaA== T3JkZXJCeQ== IGltYWdpbmVk Y29kZWM= IGRhdGVUaW1l TWljcm8= IHJlbWluZHM= IGZydXN0cmF0aW5n IFZpc3Rh VHJhaW4= INCy0YE= IG1vbGVjdWxlcw== YXZpbg== IGRvdWJsZWQ= IGJyYWtl IGNhbGNpdW0= RnJpZGF5 IElkZW50aWZpZXI= 5Z8= 0YvQuQ== IEphaA== UmVu IHNjYW0= IERlbm5pcw== LnNldEludA== 4p8= IGFwcGVhbHM= IEF1cg== IHNwbGFzaA== ZXF1YWxzSWdub3JlQ2FzZQ== d2h5 IHNhcA== U3VwcG9ydGVk IHNlcmE= IDoi IFZlcm1vbnQ= IHJldW4= IE5vdmE= ICAgICAgICAgICAgCiAgICAgICAgICAgIAo= UmF0ZWQ= IGxheWluZw== IEthcmVu LkRlc2VyaWFsaXpl IGNvZGVj IHRheHBheWVycw== OyIpOwo= IGNydWRl IG1vbGU= IHVzZUNvbnRleHQ= CXJlc3A= IHBrdA== IENhbm5vdA== UGlwZWxpbmU= 5YaG dGljYWw= QWN0aW9uQmFy YWVkYQ== IENyaXRpY2Fs IE5hZA== IGJsZWVkaW5n IGxsdm0= L2N1c3RvbQ== IFNpbXBzb24= U3k= aXRhYmx5 IFN1bW1pdA== KCkpKS4= RUxMT1c= JCcs TWV0 SW52b2ljZQ== b2xpc3Q= IHNwaW5l YXV0aWZ1bA== cGFpZA== IGxvY2tlcg== X2FybQ== XCI+PA== IHRyYWplY3Rvcnk= X3Jpbmc= IGh5ZHJvZ2Vu dHJvbg== IHN0YXR1dGU= IGNvbmRpdGlvbmFs IHRyYXk= LXNjaG9vbA== KHdpZGdldA== JGNvbmZpZw== IHJlcXVlc3Rpbmc= LnVpbnQ= ZXRvbg== YnJpdGllcw== T2ZUeXBl QURNSU4= cHJlZGljdA== IGdlZ2Vu IEhhcHA= T0NVTUVOVA== IEFwYXJ0 IC0tLS0t cm9l dWlkZQ== anVzdGlmeQ== IFNxdWFk IHByb2Zlcw== LmJvdA== X2N1cnJlbmN5 aW5uZW4= IE11bWJhaQ== IE51bWJlcnM= YXZhbmF1Z2g= YWduaXR1ZGU= 4oCcVGhlcmU= PWh0dHA= 54mH IHZi Kyc8Lw== IG9yZ2FuaXppbmc= YW5pdW0= SW5TZWN0aW9u LmFuZA== IGV0ZXJuYWw= IHNvdWxz X09ORQ== X25z X2Jhc2lj IHJldFZhbA== LXNoYXBlZA== aWZkZWY= IE1vemlsbGE= IGVpZw== Y29tcGxldGVk Tm90aWZpY2F0aW9ucw== VEVDVA== cmllbg== Y29vcmRpbmF0ZXM= IHByZXRlbmQ= cG9uc29yZWQ= LnN0ZGVycg== IGdhbWVycw== IGRlZmVuZGVk VG9vbFRpcA== dWl0YXI= IGZyYW5jYQ== IFdvb2Rz IGlocmU= IHBzZXVkbw== IGNyb3dkcw== IFNZU1RFTQ== bGVj LmtlcmFz IGNpcmN1bGF0aW9u ZWVy LmNi dXp6eQ== 7Zg= LnJlYWRlcg== IHNlcXVlbA== U2V2ZXJhbA== LnBvcnRhbA== LS0tLS0K aXN0cmFy 77u/Ly8= UGk= IFwiIg== IGN1c3RvbXM= IGRpc3BsYXlOYW1l IG5vdGljZXM= IGNhcmI= Ll8KCg== IHByb2R1Y3Rv INGB0Ls= IG51bWVyaWNhbA== IHVuaW50 IGNvZGlnbw== T3JkaW5hbA== U3RyaW5nVXRpbHM= IGTDqWM= IExhbg== IHNob3djYXNl IGFyaXRobWV0aWM= LXNjcm9sbA== X1RFTVBMQVRF IFJvdXRlck1vZHVsZQ== IFNoYWRlcg== INCd cG9saWN5 UGVyZm9ybWFuY2U= CWJvcmRlcg== KGZpbGVwYXRo 56m6 X2VuZXJneQ== X0NT VGhlaXI= LnNwYWNpbmc= KGRw IExBTkdVQUdF IGhpc3RvcmljYWxseQ== Ij57eyQ= IGlub2Rl c2ls IGhhY2U= IHNldmVyZWx5 IE92ZXJ2aWV3 IHNwcmF3 IGJlYWNoZXM= OmxlZnQ= t7s= KCR7 IEZJUlNU IFNwYQ== LWFzcw== IGJhaXNl IE5PREU= IFBpenph UGV0 KHNlcQ== XCI+Cg== Q3BwTWV0aG9kUG9pbnRlcg== IHZw IGlh X3NlY29uZHM= ZW1ldA== L2Jsb2I= X1RIUkVTSA== Li4uDQo= RGVzdA== IE5I LmRhdGFTb3VyY2U= aXTDqXM= IEphaw== c2VsbA== IHdvcmtzaG9wcw== PHU= IHJpdmFscw== IEVYSVNUUw== aG9t LXRva2Vu Y29tcGF0aWJsZQ== LkpQYW5lbA== IHBoeXNpY2lhbnM= YXJ0aW4= IGRlc2lyYWJsZQ== IGRpc3RpbmN0aXZl LkRlcA== Z2lk aWxpYXRl LG1heA== IHByZW1pZXJl IHFEZWJ1Zw== IGFkdm9jYWN5 IHdoaXNwZXI= UHQ= IHVuY2hhbmdlZA== X3F0eQ== 6K+35rGC U2Vhc29u YXZlbGVuZ3Ro IFB1bA== IGTDrWE= J11dXSwK YWxpcw== KCIm Ym9ybw== IGJt IFJhZGk= d3Jvbmc= IEdvaW5n aW1lVHlwZQ== aWpp LWZlZWRiYWNr IE5hbWVz IEJhcHQ= IHByb2JhYmxl IEV0aGVy IFBvbGl0aWNz X3Byb3RvY29s bGluaW5n U2F0 IGNvcnJlbA== LlByaW1hcnk= KG51bGxhYmxl UklPUklUWQ== IGNvbG9yaW5n IHV0aWxpemluZw== ZGFz IGV4cG9ydGVk IGNhcnJpZXJz Q29udg== LmVkaXRvcg== acOz KGhhbmRsZXM= IGFwcHJlY2lhdGlvbg== LmltcG9ydA== IEF1c3RyaWE= IFN0cmlw aWxpZ2h0 IGFwcHJvcHJpYXRlbHk= IFByZXN0 IFdpcg== IFVJQXBwbGljYXRpb24= YWxjaGVteQ== IE1vYg== IERldGVybWlu ZXJndXNvbg== cmVnaXN0ZXJlZA== X2NvbnZlcnQ= IFZsYWRpbWly LlNob3dEaWFsb2c= cmVmbGVjdA== IHNob29r IGFzc3VyZQ== IE9mdGVu IGNpdmlsaXphdGlvbg== IHZvY2FidWxhcnk= Zm9yZWdyb3VuZA== IFNjb3Bl IHVud2FudGVk YWN0aW5n IChbXQ== IG1hcmtpbmc= Lm9yaWdpbmFs IE1PVkU= IHNwb3J0aW5n Y2VwdGlvbnM= TlNOdW1iZXI= U2l6ZXM= IHByb3ZpbmNpYWw= X1RyYW5z IHByb2JsZW1hdGlj ZGlnaXQ= IEVtbWE= bG9ja3M= IENyZXc= aWJh Jyk6 aXNoYQ== IG1hbW0= IG9jY3VyZWQ= d2Nz KHJ1bGU= IG1lcmNoYW5kaXNl ZXNwZWNpYWxseQ== IFR3aW4= IG5hbWluZw== IHNsb2c= IGltcHJvdmVz IGFkaGVy OnRleHQ= LmhhZG9vcA== X0hUVFA= LnRvTGlzdA== LmRpc2FibGVk IGxlbnNlcw== LmluaQ== IFJhcmU= IFVidW50dQ== IHNjcmFt b2xhdGlvbg== dGl0dWxv RXZlcnl0aGluZw== IG5vZGRlZA== aWNodGln X2NvbnN0YW50 emM= bGlmdA== IE5vdGlmeQ== b25kbw== IElORg== KCIr IEtheg== IGRyZWFk Lm1hcHBlcg== bGV1cg== IENvbWV5 IE5C aWNlcnM= LlB1c2g= IEhhY2s= IEJyYXppbGlhbg== X3Byb2Q= IC8vCgo= IGJpY3ljbGU= IHVuYXZhaWxhYmxl IGFkb2xlc2NlbnQ= Ymxr IG1pdGln X2JsdWU= 7Jg= ZmFkZUlu IFV0aWxpdGllcw== IE1O O2s= PHN0eWxl LXN0YXR1cw== aW5kbw== IGlubmluZ3M= IGdq IHx8PQ== LmV1 Ok51bWJlcg== IGN1aXNpbmU= IFVSTHM= aWVr IHdpcmVz CXBz aWVn Lm1r c29hcA== IHNvbWV0aW1l IHN0YXA= X3Nlcmllcw== LlRhcmdldA== 5ro= LmRlc3RpbmF0aW9u T1VOVEVS UmFpc2Vz JkE= IHNtYXJ0cGhvbmVz TklFbnY= LnNkaw== IGhlbGljb3B0ZXI= IGltcGU= IEJpcnRo QVU= YnJlYWRjcnVtYnM= Y29vcmRz IGV4cGxvcmVk IGxvZA== IElw Z2FibGU= aWFuZQ== IGFydGlmYWN0cw== Qm94TGF5b3V0 2KfYsQ== bGlzdGVuZXI= LmNhcnQ= IEh1ZmY= IEhpbmR1 IERhdGFUeXBlcw== IERydXBhbA== SUdOT1JF IG9mZnNldHM= IFJUQw== LWxvZ2lu 5q4= IFFPYmplY3Q= IHByb3NlY3V0b3I= Um9jaw== X2NoYXQ= V2F5 7LI= IG5lZ2xpZw== IGR1ZGU= Ozw= IGRlbGVnYXRlcw== X2ZhaWxlZA== L2Rldg== L3dvcms= KE5ldw== ZXRhYmxl KCki KEljb25z IHBvcms= IE1vZGVsQW5kVmlldw== IFZJUA== IEtvcg== bWl4 IG94aWQ= IFNDUkVFTg== IEZvdXJ0aA== LyIsCg== IHRlZQ== IFN0ZXZlbnM= dGlja3M= IHBsZWRnZQ== aWJib24= IExvYW4= IG5lbw== bnVtcHk= IFNoYXJlZFByZWZlcmVuY2Vz LW9yaWVudGVk IExvZ2dlckZhY3Rvcnk= IEdyYXBoUUw= emVuaWE= Il8= V29tZW4= LmNhc3Q= IGRlbGliZXJhdGVseQ== K2I= IEFybg== Zm9udFNpemU= IG1hemU= IGJsYW1lZA== Lm1hcw== fSkNCg== ZWxlcmlr IHNjYW5uaW5n IFdvcmtzaG9w IGZpbmRlbg== IGNhdXQ= VUlGb250 KHJldHVybg== YWxpbg== Y2FzdGxl Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v IGluY2VudGl2ZQ== b3BhdGg= YmxvYg== IGNpZ2FyZXR0ZQ== IGZlcnRpbA== Ki8KCgo= IFNoYXI= CiAgICAgIAo= IHVuY2VydGFpbg== IFN0b24= T3BlcmF0aW9ucw== IFNwZW5jZXI= IGRlZmlu IFNvbG8= b25lc3Q= t7vliqA= IHVvbW8= R2l2ZQ== IGRlbnRybw== O3BhZGRpbmc= ZW50YWk= IENhcnM= IGVudGh1c2lhc20= IE9wZXJhdGluZw== U2tpcA== cGFyYXRpb24= IHByb3RlY3Rz IHJldmVy ZGc= IENpbmNpbm5hdGk= IGNvbnNlY3RldHVy IG11c3M= ZW1wbG95ZWQ= YXVzZXM= aW5rbGU= LlZhbHVlcw== o7w= bG92 X1dBUk4= IGJvb2ttYXJr IEFwb2xsbw== LmF4aXM= IG3DqXQ= IG9wZW5lcg== IHR1bW9y ZGFu IGVsZW1lbnRhcnk= IHNraXBwZWQ= IEtlcg== YXNpYQ== X3Jlc3A= IGRlbW9s IENhbmFkaWFucw== IHRhc3Rlcw== VUludGVnZXI= ICckew== LmF3cw== Uk9JRA== cmlhbnM= TVE= b3JkYWJsZQ== IGNvdXNpbg== UHJvcGFnYXRpb24= KFNlc3Npb24= cGhhbHQ= VUxE IFNjYWxhcg== IGJsb29keQ== IOCm Lm1hc2s= LHE= IFVuaXRz IGNlbnRyZXM= IFByaW0= Ll0KCg== IFNoYXc= UHJvbQ== IFRob3VnaHQ= Q2hlY2tlcg== X291dHB1dHM= KGNoYW4= RUlOVkFM IGJvYg== X2NtcA== UGVk IG1hdHJpY2Vz IHZyb3V3ZW4= IGdlbnVpbmVseQ== aGlnaGxpZ2h0 KGRpc3BsYXk= KSE9 IGRlbGljYXRl IEx1dGhlcg== IE1pbGVz IHVzZXJJRA== JT0= YXRldXJz X0JVRg== LS0tLS0tLQo= aW1pdGl2ZXM= IHNoZWx2ZXM= c2xvdw== X2luZm9ybWF0aW9u TEVH V3I= LmZvcm1z Y2VsYW5k L3Vu OiY= LuKAmQoK PSIl IHByb3N0 IGZvbnRzaXpl dWNpw7Nu Z2V0aWM= YW10 PSIu RGVjb3I= QnJpdA== ICIiKS4= IGZvdW5kaW5n LkZpbGVOYW1l IFRpZXI= IGRpc2Nsb3Nl w6Ft LnN5bg== LlZpZXdIb2xkZXI= bGljYW50 X3N0YWdl TW9uZGF5 IGRlc2VyaWFsaXpl dGFsaw== IHRyYWRpdGlvbmFsbHk= 5oCB 2K4= TEVY IGVo CVJPTQ== IHt9KQo= UXVlc3Rpb25z bmNweQ== IGZpeGluZw== 0LrRgw== X0tleQ== Ong= IFNUUklORw== INGE0LDQuQ== CWxlZnQ= IEJlbmNo ZWxsaWo= VVJSRUQ= IERpYWdyYW0= fWNhdGNo L3RpbWU= IE1pc3Npbmc= ZGJuYW1l IHNvcmU= IFdhbHQ= dWdnaW5n cmVwcmVzZW50 IEdT bmV5cw== CXBhZ2U= IHZvbGNhbg== KGJ0bg== IGV4Y2VlZHM= IGVyZw== IHBpbG90cw== IFNlZA== ZXJzaW9ucw== IHBhdHJvbg== UlY= L3RvcA== LmFzc2V0 X2Nyb3Nz LkVkaXRvcg== LnRi IHdlbGNvbWluZw== U0NSRUVO KWZpbmRWaWV3QnlJZA== Q29kZXI= PElBY3Rpb25SZXN1bHQ= X1FVRVVF 4YM= IGhlaWdodHM= UmVxdWVzdHM= IHN5bWJvbGlj DQ0KDQ0K IGNvdXBvbnM= LWZpdmU= IERlc2t0b3A= IG1pc21hdGNo ICdfJw== X0RJVg== QVNPTg== LnRyYW5zcG9zZQ== KG1hc2s= IENlbHQ= LkhhbmQ= YXR1 asSZ IHt9KTsK TWlzcw== IHByaW1h bXVuZA== b2x2 IFByZXR0eQ== IHJlYmVs IEZE YXN0aWNhbGx5 T0xU LWF4aXM= dXhl IGVpbmZhY2g= IENoZW1pY2Fs X3NlZw== bGVldGNvZGU= bG9wZQ== X29yaWc= ICAJCQ== KERvdWJsZQ== IFBheVBhbA== LkJhY2tncm91bmRJbWFnZQ== IGhvbWVtYWRl Liku KHBhcnNlcg== YXRybw== YWNjb3JkaW9u RGVmaW5l IOyeiA== IEFVVE8= LnN1bW1hcnk= c2NhbGFy IEhvb2Q= cXVpbg== X2Rlcg== IEdlc2No LmNvbXB1dGU= RmVlZGJhY2s= IHBoYXJtYWM= IMWfaQ== IGdsb3Nz IEZJTFRFUg== SU5TVEFOQ0U= IGthbA== LlBM X0ZSRUU= R3JhZGU= IOKZ Lm1ldHJpY3M= IGNhZ2U= Llh0cmFHcmlk X2Rz emln aW50ZXJvcFJlcXVpcmVEZWZhdWx0 LnJlbW92ZUNsYXNz PT09PT09PT09PT09PQ== IG1hc3RlcnM= U3RhdGVFeGNlcHRpb24= aWxsZXJ5 IEJyYWR5 IGxpbmluZw== X2Nz aW5zdWxh IH06 W3Bvc2l0aW9u IFJ4 IEJZVEU= IFN0cmlrZQ== INCa IENsdXN0ZXI= LmRvd25sb2Fk QWxsb3dlZA== IGFtZW5pdGllcw== IG9uVGFw ZnVsV2lkZ2V0 IHN0cmVuZ3Rocw== dHdlZXQ= IGFzY2VuZGluZw== IGRpc2Nsb3NlZA== Z3Jhdg== ZGlzdHJpY3Q= KTw8 KSwi KGRlZnVu X3w= IGdhemU= 0LDRjw== IGZvcnR5 PT09PT09PT09PT0= U2NpZW5jZQ== c2VtYmxlcg== CWJvZHk= X3RyYW5zZmVy IGxvbmd0aW1l IGNvbXBsaWNhdGlvbnM= IGJvb3Ro VkVSUg== IHlpZWxkcw== IG5hdmlnYXRvcg== OjpfKCc= RUNUT1I= X0NvbmZpZw== IGxhc3RlZA== dXNhbA== 55m75b2V IGdsb3Zlcw== IGJlbGx5 U2FsZXM= KE1ldGhvZA== KG1lbWJlcg== IFJlZWQ= cGFzc2Vk U2lnbklu LG51bQ== VUxPTkc= IExFRw== bmVscw== IG1lbnRvcg== KHJj IE9idmlvdXNseQ== Lmlm IEZyZWRlcg== SEVBRA== QGF1dGhvcg== Q29uZGl0aW9ucw== IGdhcmRlbnM= IFJpcA== KHVzZXJz IE9rYXk= IHdyZXN0bGluZw== aW1lc3RvbmU= IENlcnRpZmllZA== IHZlcmRpY3Q= YWlkYQ== LmlubmVyVGV4dA== aWNhc3Q= CWF0 IHByZXN1bWFibHk= IEZVTg== YWplcw== 0Jc= PiIsCg== X1Bpbg== dWVzZQ== IG92ZXJyaWRlcw== X3JlYWR5 QWR2YW5jZWQ= IG9waQ== LWNhcnQ= KCIvIiw= IERlYg== Q1JZ IFZlcnRpY2Fs IE9WRVI= IENvcnBvcmF0ZQ== ICIiOw== IHN0ZXBwaW5n ZWo= IGFjY3VzYXRpb25z IG9yYXo= X3RhaWw= IGluZHVjZWQ= IGVsYXN0aWM= IGJsb3du LC8v IGJhY2tncm91bmRz 4oCZdW5l LXNkaw== IHNldEludGVydmFs IGluY2VudGl2ZXM= IHZlZ2V0YWJsZQ== X09u ZXhwYW5kZWQ= cGl4 X3NoYWRlcg== IFNQRFg= QGV4YW1wbGU= IFdyYXBwZXI= Llplcm8= UG9zaXRpdmU= IHNwaW5uZXI= IGludmVudGVk IEdhdGVz 0L7RgtC+0YA= IGNvbXBhcmlzb25z 6Lc= LnByaW1hcnk= ZGF0YVByb3ZpZGVy YWRkaXRpb25hbA== CW9wdGlvbnM= c25hcHNob3Q= LnNldEhvcml6b250YWw= ICJ7fQ== IEZpc2hlcg== aGFsdGVu PFR5cGU= IG1heExlbmd0aA== IE10 IOqwgA== LmpldGJyYWlucw== IGlkZW50aWZpZXM= IGZsb3dpbmc= IERpc2N1c3Npb24= YXRzYnk= IHNjaHc= dWdodHk= IHJpdmVycw== LnVuaXF1ZQ== X1BIWQ== ZWRyYWw= KGxs IGNzcmY= cHBlcnM= w7xs IEVzcGVjaWFsbHk= cG9ydGVk IEhhcnJpc29u KioqKioqKi8K VGV4dENvbG9y 7Iq1 d2lyZQ== IHN0YXR1c0NvZGU= IEZpbmlzaA== Y2VuY2U= IE1jQ2Fpbg== IFdvcg== KGF3YWl0 ICktPg== IFJlZ2lzdGVyZWQ= SU5FRA== a2Fs cGFyaXNvbg== IG9iamV0bw== Vmk= bWFuZGE= IHJlbmV3ZWQ= IFNvZg== ZXNzZWw= Lm5kYXJyYXk= IGNyYXA= 566h LmFic3BhdGg= KHVw IGNsZWFyYW5jZQ== IFRX X0NPUFk= ICAgICAgICAgICAgCQ== IGZvcmVzdHM= IGFyZ3VhYmx5 IEFTUw== aGV5 YW1lbA== X2ZvcmU= IFNvdXRoZWFzdA== IGFidXNlZA== IHByYWN0aWNpbmc= YWtlZGlycw== 5Li7 X3Jlc291cmNlcw== IHBvbmQ= LkZpeGVk TGFzdEVycm9y IFBzeWNob2xvZ3k= ICIvLw== ITo= UmV1c2FibGU= IG1lbnNhamU= IHJvc3B5 IGJvdXI= IHZhcmlldGllcw== IGVtcGF0aA== KCh7 X29yZw== IE1lcw== IE1hZ2VudG8= SVNUT1JZ VW5sZXNz IGhq IER1dHk= SnVu LHNpemU= IHBhaW50aW5ncw== IGRpc3BlbnM= ZGFydA== IGJlaGF2aW9yYWw= IHJwYw== Y2FsY3VsYXRl ZnJ1aXQ= X21t CXB0aHJlYWQ= TWF4TGVuZ3Ro IGN1cnJlbmNpZXM= X2NhcGFjaXR5 IE96 IGZpcmVhcm0= IGNvZWZmaWNpZW50 IGJhbmtydXB0Y3k= d2FydA== IGZhdGlndWU= QVZB IGVzcGE= X3Bj IFF1b3Rlcw== X0xJR0hU IFRpY2tldHM= IHJlbGF0ZXM= IHB1Ymxpc2hlcnM= IHVubG9ja2Vk IC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ== IEludGVycnVwdGVkRXhjZXB0aW9u IG91dGxvb2s= cm4= IHJlYmVscw== V3JpdHRlbg== IGFzaWFu b3R0bw== IAkJCQk= X2dwdQ== VHh0 LkltYWdlVmlldw== IHN1aXM= X3RhYmxlcw== LlJlY3ljbGVyVmlldw== IHdoYXRzb2V2ZXI= 6IE= XSsrOwo= YXNzZXJ0VHJ1ZQ== X3ZlcmlmeQ== IFJpdmVycw== IF1b SmV0 aWRpYW4= U2libGluZw== IGdlbnJlcw== LkFjY2Vzcw== T1BT IHRyaXZpYWw= 4Liq YWxlbg== 0LLQtdC0 IFN3b3Jk IHNjcnV0aW55 KGNi IGNvbW1lcmNl IGd1YXJhbnRlZXM= X2Fkdg== IExFVA== cmVjaW8= IGhpbGFy IGJhY2t5YXJk 44CP IGlsbHVzdHJhdGVk L3ZlbmRvcg== LlV0aWw= IHdvdw== TE9Z IE1hcnNoYWw= Ij4nLiQ= IEJhaw== IG1vZGlmaWVycw== ZGljdGlvbmFyeQ== IFN0cmU= bXVsdGlwbGU= IikpLA== IENvcnQ= J10iKS4= KGFkbWlu IENyZWF0b3I= SW50ZXJuZXQ= KG1z bG9neQ== REVDTEFSRQ== IE1hcmN1cw== PDw8PA== 44Gg X215 KGluc3Q= IHNjaWVuY2Vz TkRFUg== LmVudGVy IGl0dQ== IGJlaGF2ZQ== UGFu b21iaWVz PSc8 JykpOw0K IE1FTlU= IFdvcmtlcnM= Lk5vRXJyb3I= IGJpbmRpbmdz IGRpc2FiaWxpdGllcw== e1w= IE11bmljaXA= IGNvcmVz dXJwbGU= IE5va2lh dXNpb25z IEZpdG5lc3M= LmhhbmRsZUNoYW5nZQ== IGphdmFzY3JpcHQ= 7JqU KGRlYw== IHBhY2tpbmc= LWRlcGVuZA== IHRyYW5zY3JpcHQ= emVyb3M= X2FsZXJ0 PyIsCg== bGlicw== sdC+0YI= IHwKCg== dHJhaW5lZA== IEdlbnQ= IFJhYg== eHA= X2NvbmZpZ3VyYXRpb24= 5aSp X2FjY2VwdA== LnJlY3ljbGVydmlldw== OnVybA== IE11aGFtbWFk IHByaXZpbGVnZXM= X2Jhbms= dWt1 d2FsbGV0 IFJPT1Q= IGVuY3VlbnQ= P2ZhbWlseQ== CXBvc2l0aW9u IGNn IHByZWNpcA== bWV0aG9kcw== X2Zhc3Q= aW5jcmVtZW50 IFRpZ2Vy X09DQ1VSUkVE cXVpcA== IEhBUw== X2RvbQ== IHdyZWNr Ymo= IGRlcm4= IG9yZ2Fucw== LmVudHJpZXM= IF8oJw== cmFtZW50bw== IEphbWll IHB1bms= SVBQ IHByb2dyYW1h IGF0dGFpbg== IHByb3Zlcw== L3NpZ24= IGFuc3dlcmluZw== IGxhZGRlcg== KioqKioqKioqKioqKioqKioqKioqKioqKioqKg== IFdhbG1hcnQ= IENPTlRFTlQ= ZHVjdG9y IHZlcmJhbA== IFBJRA== Y3J5cHRv X0NBTExCQUNL ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ== IHBvdGVudA== IHNob3J0cw== LlVyaQ== LnVuaWZvcm0= O2JvcmRlcg== IFdlcg== IGhlcmVpbg== bGxh IElocg== UGl4bWFw bGl0ZXJhbA== ISkKCg== Z2VuZXJpYw== cnVzdA== X3NjcmlwdHM= b3N0bw== aXR1cw== IENvYWxpdGlvbg== IHJlbW90 ZGVwbG95 IEVhZ2xl 44CB44CM IGltcG9ydGFudGU= CW9iamVjdA== IHNlYXNvbmFs bmVq YWlkdQ== QmluZFZpZXc= IFNpZXJyYQ== LWJn IG1ha2VTdHlsZXM= W29mZnNldA== R2FtZXM= IGhvcm1vbmU= QVJJTw== aGVhZHM= KHNlbGVjdA== IFN0YXJ0ZWQ= QHBhcmFt X2RlY2w= X2Jsb2c= IGHDsW8= XEFwaQ== IE1pbHdhdWtlZQ== UHJvdmlk QW5pbWF0ZWQ= IGNvb2xlcg== IFNlZWQ= LkVkaXQ= z4Q= IFRha2luZw== IGJvcmRlckNvbG9y LWZvdW5kZXI= LkxvZ2dlckZhY3Rvcnk= ICIiCgo= QUxU IExhdGU= RURJQVRF ICk7CgoK YWZh IGNhbmNlbGxhdGlvbg== QXRvbQ== IEJpcm1pbmdoYW0= ZW1wcmVzYQ== SEVNQQ== YXNjYWw= IHVwc2lkZQ== LlZlcnNpb24= IEZvbGRlcg== IEVpZ2h0 IFZpbnRhZ2U= IEFwcERlbGVnYXRl IFByZXZlbnRpb24= LnNlcGFyYXRvcg== U1RN KHJvb20= Z2VuZXJhdG9y IGNhdHRsZQ== CVo= IFBhcnRpY2xl J307Cg== IG5laWdoYm91cnM= IFN0YXRlbGVzcw== IGFsdGl0dWRl IHNhaW50 0L7QsdCw0LI= IGNvbnZpbmM= IENvbnRlbnRz IGpldW5l KHRz U2VyaWFsaXphdGlvbg== KGNvbGxlY3Rpb24= IEpheno= IERvZA== IFJvY2g= YWNpbw== Y29tbWVuZGVk REVGSU5F Lm9ubG9hZA== IHNwZWNpYWx0eQ== UExBQ0U= X01PVkU= IGFjY291bnRhYmxl UmV1dGVycw== IGZpY2tlbg== IGRlcHI= V293 Vm9pZA== LnNwYWNl 4LiX IHRx IFBldHM= PCQ= KEN1cnJlbnQ= YmVycmllcw== cGxhbmF0aW9u IGxpc3RPZg== IFRodQ== IFBSSU5U IG1pc21v IGRvaQ== Y2hr IFVuaWNvZGU= KHJvbGU= IHZpcmdpbg== PFBvaW50 X1JFU1BPTlNF LWhvdXNl IFZlbmV6dWVsYQ== RU1BSUw= IHDDumI= X2V4aXN0 QmFsbA== LkNM cmVmZXJlbmNlcw== IEJlYXV0aWZ1bFNvdXA= CUV4cGVjdA== VEhJUw== 0YPQtA== YmFuZQ== IHRlbXBvcmFs RVJJQw== ZXRhcw== IHJlZnJlc2hpbmc= IHNlY3VsYXI= QHN5bnRoZXNpemU= YWNjdXI= IG5lbGxh IFNPTA== LnBpcGU= Q2hhbm5lbHM= 6Ieq IGluc2VydGlvbg== 4buL ZWxpYQ== IGFkanVzdGFibGU= Q2FuYWRh IElURU0= IGN1cnZlcw== IENoZWFw bGV0aW5n IG9wdGltaXN0aWM= YWxsbw== IHBvbGl0aWNpYW4= X2Rvd25sb2Fk PWVkZ2U= T1JUSA== IG1vZGVsbw== YXJ0bw== LnJvdGF0ZQ== IHNlbGVuaXVt 5oiR X2FsaWFz IHJlbm93bmVk Licu IGN6eQ== IGFsbGVz LkNvbXBpbGVy IEJhc3M= Q29ubmVjdG9y LlJvbGU= TElOSw== IGNyaXRlcmlvbg== bGVtZXRyeQ== U3VjY2Vzc2Z1bGx5 L3BuZw== IGV5ZWI= YXNwYmVycnk= KGdy IGRhbmdlcnM= IGNvcnJlY3RlZA== IGdsb3c= IGVsYWJvcmF0ZQ== IEJlYXJz YXdhaQ== PSInKw== IHByb21vdGlvbnM= IG1hdGhlbWF0aWNhbA== ICJg X0dlbmVyaWNDbGFzcw== IENoZWY= LlNvcnQ= dGFibGVOYW1l UklD IHZvbHVudGFyeQ== IEJsYWRl LWVsZWN0 IENvbWJhdA== IEFiaWxpdHk= IGFiZG9t IGR1Y2s= VG1w 5YWo IGVyYXNl LlBo IERlZmF1bHRz cGFydG1lbnQ= X1VTQg== w6p0ZQ== Oyc= IHBhZHM= IE9iYW1hY2FyZQ== LlRvdGFs IGRpdmVydA== IGNyaWNrZXQ= IHJlY3JlYXRpb25hbA== KHJlZA== IENsZQ== UlU= IG1pc3Rha2Vu IE1vbnRhbmE= IHN0cml2ZQ== X3NsaWRlcg== IFBsYXN0aWM= IGRlY29yYXRlZA== IFZQ bGljbw== CWZhbHNl IHByZWZz KFwi X2ZhbHNl aWVuZG8= IEAk QnVja2V0 YWN0aWNhbA== IFpoYW5n LmNvbHM= LkJpbmRpbmc= IHdheA== X1NUT1JBR0U= IGxhd24= IHJm LlNjZW5l IENhbGN1bGF0b3I= LmRlc2lnbg== IHJlc2ls 0LvQtdC8 RW1wbG95 IFByaWNlcw== IFBXTQ== YWdp LmV2YWx1YXRl CXBhcmFt IGJyYXNz YmJlbg== IGluZmxhbW1hdGlvbg== dWxsaXZhbg== IGFubm90 IHBI aWFtZXRlcg== IEJUQw== KGJveA== U3Rvcnlib2FyZA== IGNsYXk= LmFzc2VydFJhaXNlcw== fHN0cmluZw== LkFwcGx5 IG1hdGNoZXI= dW5kZWQ= IHNhdGlzZnlpbmc= IOyglQ== UmVuZGVyaW5n X2FwcHJv aW5kcm9tZQ== QU5FTA== X2ZpeA== YnJ1c2g= Lk1hdGNo IHNtaWxpbmc= b25hdXQ= U3VuZGF5 IGRlbGV0aW9u IGVuY291cmFnZXM= UHVsbA== IHJldmVuZ2U= IHF1YXJyeQ== dHJhZGU= IGNhYmxlcw== KGRlbHRh aXRlc3BhY2U= IGZo LmJ1bmlmdQ== IHZpZWw= X0lOQ0xVREVE IFRhaWw= YWRhcg== b2Zz IG1ldGFscw== Z29t X21ldGhvZHM= IG5q LlN0ZA== KHdpbg== JCgn IHR1cnRsZQ== dXJvbg== IGVucm9sbGVk IEh6 IEJveERlY29yYXRpb24= IHBvbnQ= cmVsYXRpb25zaGlw Qmk= s7s= IG1hc2N1bA== IHNoYWRlcw== IHZy IExvZ2lj IGFpbg== IERJU1Q= IGNvbGxhcg== InByb2ZpbGU= R2VuZXJhdGVkVmFsdWU= IFBvc3NpYmxl IGVpbmVz g4E= LnRpbWVvdXQ= IEVj IGplcnNleQ== LkRvdWJsZQ== IHF1YWxpZnlpbmc= dm9y Q1JFRU4= X0FwcA== X3JlY3Y= IGFsaWVucw== SXRz RXNj aWF0b3I= IEVjbGlwc2U= IGdo VmljdA== CWh0bWw= dG9v LmNvbnN0 IGFudGVyaW9y IFd1 KGtleXM= IHVsdHI= X3BvbHk= IFRhcA== IEJ1ZA== QVdT IGNyYXNoZXM= X3RvdA== Q29udGlu LWhhbmRlZA== YWx0aG91Z2g= 4Lia aWZpY2VudA== IGRldmU= dXRvcnk= IFdvcnRo X01T IGZsb29yaW5n IHNlbGxlcnM= IFRoYW5rc2dpdmluZw== IHBuZw== IHZhbG9yZXM= IHNsZWV2ZQ== IGZpbGxl 0JA= IGFwcG9pbnRtZW50cw== IHZpbQ== VXNlckluZm8= Qk9PU1Q= IHBvc2Vk aW5pdGlhbGl6ZWQ= LnByb2R1Y3Rz IExlYWRlcnNoaXA= bWFudWVs JyU= ZW1hcmtz UGVyY2VudGFnZQ== KGRpc3Q= LmF2YXRhcg== KGhPYmplY3Q= 5LuK X2lmZg== aWNvbmU= Oyk= X25pbA== IGFib2w= 0LXRgdGC IHZlbnVlcw== LkNvbnZlcnQ= IScpCg== LkJpdG1hcA== c2tpbg== X0NPTFVNTg== UmV2 R1JFU1M= Z293 IHdpc2hlZA== dHJhY3Rz LmFzc2VydEZhbHNl IHNjcmVlbnNob3Q= IGZvaXM= Q29tYg== TGluZVdpZHRo IEdyYWI= IGludGVuc2l2ZQ== CXNo Kyk= LmZpcnN0TmFtZQ== X1BST0NFU1M= IHRpbHQ= aXRvcmVk LkxPRw== IGJhaw== IGludGVudGlvbmFsbHk= LnBsYXllcnM= KGNhbnZhcw== KSkpDQo= LlByb3ZpZGVy X1BVQkxJQw== VGFsaw== IExpdg== Y2hlZHVsZXJz IGxj YWRpYw== ZmVhdHVyZWQ= LnJlc291cmNlcw== RnVsbE5hbWU= IG1lYW53aGlsZQ== QnVmZmVycw== IHJlc29sdmVy IFNBUA== X1RF R05V IEZvcm1zTW9kdWxl X3do IFN3ZQ== LndpZGdldHM= IGNhYmluZXRz IHN1c2NlcHQ= IEJvdHQ= YWN0aXZleA== YXZhcg== YW50aWNz ICI9Ig== X2t3YXJncw== IGdhbWVPYmplY3Q= IEFuZ2xl Lkl0ZXI= bWFyc2g= IEJpcnRoZGF5 IENNUw== cmVxdWVzdHM= IFBlYXJs X0VPTA== IGxpbnV4 KG9yZw== X01vdXNl LmNvbnN0cnVjdG9y IHpk IGtpY2tz YXJ0aXNhbg== IGVheA== S24= cG9uZ2U= IEZpbmxhbmQ= IG1ldHJlcw== IEFzc2Vzc21lbnQ= cGFydG5lcg== L3ByZQ== IScsCg== W0ludA== IG9zbG8= ZGF0ZXBpY2tlcg== L1N0cmluZw== b3BsYXk= IEhlYnJldw== LGRvdWJsZQ== IHRyYWJhbA== KyJc CUVJRg== L3RleHQ= X0ZJUlNU IFBldGU= IGVnbw== IGV4dHJhcw== UERP IHJlZ3VsYXRl IFFXaWRnZXQ= c3Rz IFNob3dz IE5IUw== LmNvdXJzZQ== cHRocmVhZA== IEZ1ZWw= LnRpbWVz IMKw IHN0cmlkZXM= KCQoJyM= KHdvcmRz IHJoeXRobQ== IHNwb250 IHNlbnNhdGlvbg== IHNwaWtl Q2xvc2luZw== 6aG16Z2i TnVtZXJpYw== IGJyZWF0aGU= IGZpbmFsZQ== X0ZBQ1Q= aW5pb24= IGNoaWxs IGZvcm1hbGx5 QU5HRUQ= ICc6Jw== INC/0YDQuA== YXE= IEZhYnJpYw== KGxhdA== IFByaW5jaXBhbA== IGVycm8= b2NhbGU= Tm9t IGZvc3Q= X0NVU1RPTQ== LmludGVsbGlq ZXJ0b29scw== IGNsYXNzZQ== YWRpZW50cw== IGZ1bmRyYWlzaW5n RU5F X09QVElPTlM= X29i Ly99Cg== IHByb3RlY3Rpb25z LnNlZWQ= TlY= dGVybWluYWw= Ozs7 UHJlZGljYXRl IOy2 IGJvbWJpbmc= R0Y= IGNoZXc= KSkpLg== cXVhbGlmaWVk XT17 bGlzdGVu Q0VOVA== ZGlnZXN0 RWFzdA== IGRpdmVy IGVuZHBvaW50cw== IGVl IGNvbGxlYWd1ZQ== IGRpc3NlcnRhdGlvbg== X2NvbW1pdA== X0RBVA== LnJj IGJyZWFzdHM= IFJ1Zw== IFBpbA== Q29udHJhY3Rz IEJyeWFu V2ViVmlldw== IGNvbmNlbnRyYXRl IElubmVy ICd8 c3Rkb3V0 X1N1Yg== Pi0tPgo= Vm9s IFNTRA== KSkpLA== Lk9wdGlvbmFs IG51cnNlcw== IG9yYg== X3Bl KTsNCg0KDQo= cGxhY2Vk ZXNzZXI= IHRoZXJhcGV1dGlj IHdoaXRlc3BhY2U= IGFzdG9u U3VjY2Vzc2Z1bA== IHByYWlzZWQ= IFdlcw== IGVpZ2h0aA== aXJhbA== IHZyb3V3 IGZhY3Rpb24= X2JpYXM= IHdpdGNo IG5wYw== KHNi IFJvZHJpZw== X2JpZw== RGVwZW5kZW5jeQ== IEFicmFoYW0= YXJkaQ== Q0FS bm9z IGFidW5kYW5jZQ== IG51dHJpZW50cw== aW5zdGVpbg== LlZlcnQ= IElTUw== PFU= IHN1bXM= X2hpc3Q= IGZhcm1lcg== IEFicg== U2hvdA== IEJhZFJlcXVlc3Q= IGhhc3M= IFJhaWxz IGFmZmlsaWF0ZWQ= 5p2l IGVyZg== SU5G IFZpZXdIb2xkZXI= bWluaQ== IFJvdGg= IGZhaXRoZnVs IFBoaWxsaXBz QU5ET00= XS5b X1BBWQ== IEFyY3RpYw== ZmFrZXI= RGlnaXQ= TWFsZQ== c3RkZXJy c2V5cw== IMWh X3JlbW90ZQ== bGlxdWU= IGluZGVm IEluZHVzdHJpZXM= aXRyYQ== X3BhaXJz PGlvc3RyZWFt IHNhbGFyaWVz aWtlbg== LkZyYW1l UExJQw== X1NQRUM= IE1lZGl0ZXJy IHN5c3RlbWF0aWM= IGludGVycm9n SWNvbkJ1dHRvbg== c2Vh aW50cm8= IElzc3Vlcw== ZW5jcnlwdGVk IGludGVybmF0aW9uYWxseQ== IHNucHJpbnRm IHBhc3Rh IEJyYWRsZXk= X1N0YXR1cw== QUxL X1BBRA== LmxhdW5jaA== PHNlbGVjdA== IGhhcmRlc3Q= IHBoeQ== ICgoKg== LXNsaWRl IE5vYm9keQ== U3U= IGFzw60= Y2xvc2VzdA== X2luaXRpYWxpemVy IHN1cHBvcnRlcg== LWdlbg== IHRhbGVz IGNvcnA= X2Z1 c2F0 bmVpZ2hib3I= Lk1pZ3JhdGlvbnM= IGFsZ3Vu IHNpbm9u LlNwZWM= PywK LkdM bWFsZQ== IG1vbml0b3Jz eWxhbg== LUxpY2Vuc2U= Lm1hdGNoZXM= IEFCUw== IE1hc3Q= IFdhbGxldA== KCQoIiM= RGlydHk= IGNvcGU= IGludGVycG9sYXRpb24= b3VzZWQ= IEpldHM= LkZMQUc= LkNhbmNlbA== LkV2ZW50cw== bmV2ZXI= IE1Ieg== PkQ= IHNlcnZsZXQ= YmFzdGlhbg== ID4m U0lE X2Nsaw== IGRpdmlzaW9ucw== fScsCg== IGRpbGRv IHBhcmFkZQ== bWFqb3I= IGFib2FyZA== Oysr IGZ1c2lvbg== In0seyI= IERpYWxvZ1Jlc3VsdA== CWFycg== LWVt X25y KGhhbmRsZXI= Lk5FVA== Llh0cmFSZXBvcnRz IFNoYWg= IEJyaWVm LSw= IHByZWNpbw== CQkJICAgICAg IHRhbnQ= IEdyYW5kZQ== L3htbA== X0lDT04= IFJldHJv dW5xdWU= IG5hZw== dG9GaXhlZA== WEw= IGRlY2xhcmluZw== IENvbmNyZXRl IEFtYXppbmc= CXByaW50aw== IGRlYmF0ZXM= REFURUQ= IGFlc3RoZXRpYw== ZW1ldGVyeQ== Um91dGluZ01vZHVsZQ== IE5hc2h2aWxsZQ== V0FZUw== IHdvbGY= IG9ic2VydmVycw== T1RB YW5zb24= IGVh IGdyZWVuaG91c2U= k43kvZw= IHN0YWly IGltbWlncmFudA== X2FwcGx5 cGVhcmU= IEJsb29tYmVyZw== X1BMQVlFUg== UmVzcA== 5q2j Q2hvb3Nlcg== IElDb2xsZWN0aW9u UGV0ZXI= RXJybw== LmRldGVjdENoYW5nZXM= TWFwcw== IHNxdWVlemU= IEhvbWVz d2VnaWFu IGZvcm1hdHRpbmc= IG5lZ290aWF0ZQ== dWxk IE5lcA== IFFC IGVjb25vbWllcw== ICovLA== IHJlZHVuZA== IEFiZXI= LklzTnVsbE9yV2hpdGVTcGFjZQ== eWNsZWQ= ICAgICAgICAgICAgICAgICAgCg== X1No IHNrZXB0 IHJlY3JlYXRlZA== IGdldFR5cGU= IG1hcmdpbnM= IGNvbG9uaWFs Y2hhcnRz Ly9A IHByb2Nlc3NvcnM= 6K+0 YmF0aXM= 5oSP YXRvcmlv bWVudGlvbmVk UGF0aWVudA== IHByZXk= Q2hlY2tib3g= X3hwYXRo LnNraXA= IE1vcm1vbg== IE1lbW9yeVN0cmVhbQ== Q1JFTUVOVA== IGt1 bWVsZA== XERhdGE= IEtlcm5lbA== aWx0cg== 6YCB KHByb2ZpbGU= Q2FyYm9u Uk9MRQ== KHBs XSoo Lm1lbW9yeQ== IG1lZGFs IGFkdmlzb3I= aXTDpHQ= IGhkcg== aWVydW5n IFByb3ZpZGVz KGFscGhh IHRlZW5hZ2Vycw== LXBhcnNlcg== LkxhdExuZw== XSgpCg== IGZlbG9ueQ== CQkJCgkJCQo= Qk9PSw== IHNsYXNo IGNsZWFyZml4 IFByb3BoZXQ= 5a65 cmlnaHRuZXNz LWZp LmtpbmQ= ZXJ0b24= Smlt IG1hbmlwdWxhdGU= IHdvcmtzaGVldA== b2xpbg== c3RhcnM= IGFydGlmYWN0 X0VNUFRZ CW1haW4= LS0tLS0tLS0tLS0tLTwv L3N0YXRpYw== SVRJRVM= IENvdW5zZWw= IFdD IEJMQUNL LXN5c3RlbQ== IFRyaXBsZQ== LmJ0 c29mdHdhcmU= XScpLg== SW5qZWN0aW9u X25vdGlmeQ== IGZpZnRlZW4= IGFtYmFzc2Fkb3I= YnJlYWtpbmc= VVJJQ29tcG9uZW50 IFByb3Rlc3Q= LlJlc2V0 IE1Qcw== dnJv LmdldFN0YXR1cw== X21vcmU= Y3Vw IEtlbnlh 5bey IGFtbXVuaXRpb24= 15XX IERhc2g= IHVuZGVyZ28= IGJ1ZGR5 0YLQvtGA ZXRpY2FsbHk= X091dA== IEJyb2Fkd2F5 qow= IEZpdHo= IHN0cmlwcGVk LWNhY2hl IHVtYg== IGFub20= IHNpYmxpbmdz b2N1bWVudGVk SW50ZXJydXB0ZWRFeGNlcHRpb24= IHBlbmc= bHN0 X0FMSUdO LWNhcA== UkQ= Y2VsbHM= IE1vdG9ycw== IHRyYW5zbGF0aW9ucw== dXN0ZXJpbmc= 6Zo= IGxlYWtz ZmlsZVBhdGg= IG91dGdvaW5n X2VuZHBvaW50 X0dM LmxpZmVyYXk= cmljaHQ= IE9wZW5HTA== LmpwYQ== IGFmZmVjdGlvbg== Zmx1eA== IGdseQ== IGJ1ZA== Pic7 IGV4cHJlc3Npbmc= IElR IEZhY3Q= LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK X21hc3M= KSk6 IGNvbmRvbQ== IGNyZWF0ZVN0YXRl b21ldG93bg== IGlycg== ID4o PkI= aXRlcmF0aW9u 44Oq IHNoaXJ0cw== b3VudHk= LT4k X1NJR04= IERhbGU= IGpq RWFzeQ== RnJl IE55 IGNobG9y bWF0Y2hlZA== IEdlcm0= LVVB IE5hdGhhbg== ZWR1Y2F0aW9u LXlhcmQ= LWNoZQ== aG91c2Vz cml0aW9uYWw= IHByb3hpbWl0eQ== IGRpZXNlbQ== 4bqtcA== IGRyb3VnaHQ= LmF1ZGlv IExlbw== IGZhdm9yYWJsZQ== aW5jaA== IERhdw== cmlibHk= X3N0dWRlbnQ= aWRhYmxl T1ZF IGxhY2tz b3VuY2luZw== LmJ1c2luZXNz IHJlb3Blbg== bWF5YmU= X0dMT0JBTA== IGRyZXNzZXM= IEVkd2FyZHM= ZW5zaWJsZQ== IEhhcmR3YXJl IEV4Y2VsbGVudA== IFRpbWVVbml0 Q1RJT05T IHNjaGVkdWxlcw== IHNlZ3Vl T3BlbnM= YW1tZW4= LUlkZW50aWZpZXI= IHN0YXJpbmc= IGhhcHBpbHk= IEhvYg== J18= ICIpOw== YW1lbnRvcw== ZXRjaGVk IC8+fQo= LlVzZXJz IGludGVycnVwdGVk Q29udGFjdHM= IHJlZ2lzdHJv aW5idXJnaA== Q0hB X2ltcA== cGhpcw== c2F5 IHJldGFpbGVy Lk5PREU= L21hcHM= X0xBU1Q= IENoYXJnZQ== X2d1YXJk Q29sbGlkZXI= IFN0YXRlbGVzc1dpZGdldA== IjpbIg== KCIuLi8uLi8= aW94aWRl IFN1bmQ= ICcnOw== dW5zZXQ= YWRkV2lkZ2V0 0LvRjg== ZWxsZXM= YWxrZXI= QXJj IGRlZHVjdA== R1VJTGF5b3V0 IFZpbGxh IGZvcmJpZGRlbg== X3doZXJl IFwv IFRpYg== X0FY XQ0KDQo= IEJpcg== IGJlbmQ= IE1BS0U= IE1FVA== IGZ1dHVyZXM= IHdlaWdodGVk IiIiDQo= IGF1dGhvcml6ZQ== KHByb2dyYW0= fSx7Ig== IGNvZWZmaWNpZW50cw== w6pz UGVyUGFnZQ== IEJhdGhyb29t IFB1Ymxpc2hpbmc= R1BM IHN1Ym1pc3Npb25z IE5VTUJFUg== asSF IGFkZGl0aW9uYWxseQ== ZW1wcmU= IFNoZWw= b3R5cA== U29sdXRpb24= IHRodW5kZXI= X2Vj IAogICAgCg== IEZlbGxvdw== IGtheQ== IG5ld1N0YXRl T05UQUw= SW1wbGVtZW50YXRpb24= Lkxvb2s= IGVudHM= IGxvcnM= IEJJRw== ZmFi IGF2ZXJhZ2Vk IEZlZWRiYWNr IFdlbGxz IG1hcnRpYWw= IGluZHVs IENvbW11bmlzdA== IEZvcmV4 IEFncmljdWx0dXJl Ils= IHF1YXI= IEtvbnQ= CXZpZXc= LkJ5dGVz ZGVza3RvcA== IE1ha2Vz YWtlc3BlYXJl Lk51bGxhYmxl IHNwb3RsaWdodA== VkI= b3d5 KHRvcmNo dHJpZGdl X2JvdW5kcw== IGFwb2xvZ2l6ZQ== LmFkZEl0ZW0= YW50ZA== Kik7Cg== LHU= KGdlbg== 57uT cmVhdG9y IENvcmQ= b3VwcGVy Lm1ldHJv IGV3 IFdPUkQ= LkFmdGVy IGRldGFpbmVk IEhhbW1lcg== ZXhpc3Rpbmc= IG9zdA== IG1vbnVtZW50 LWN1c3RvbQ== VXNlcklE IE5vbQ== IHJlamVjdGlvbg== KGRpbQ== IHNpbmdsZXRvbg== CWRpZQ== YXJpYW5jZQ== cmVwb3J0cw== XSE9 ZWxkYQ== IHByZXZhbGVuY2U= X3JlZ3M= LiIu IGZlbWluaXN0 Q29kZWM= ICoqCg== KGxhYmVscw== X01BUks= RkFJTEVE IGFkbWluaXN0ZXJlZA== V04= ICAgICAgICAJCQ== IG5vdW4= d2ln IGdvdHRh IHJpZg== LWlt IFBhdWxv IENvbW1hbmRUeXBl XSkpCgo= LXplcm8= VHJhaW5pbmc= IGxvcmQ= X2FydA== cmVkZGl0 Q2VydA== IHBlc28= Um90 IGVuZGFuZ2Vy LmRy dXNlckluZm8= dW50cw== bnY= IFRyYWlsZXI= LWZpcnN0 KG1ha2U= IGJlbmVmaWNp LWJsYWNr acOf IHVuZG91YnRlZGx5 IG1leA== IEFuY2llbnQ= KGFz IGRlc2NlbnQ= UGljaw== IHJlcGxpY2E= JG9iag== w6Rocg== IGFycm93cw== ZnR5 IExpYnlh dWdh Y2hhcmdlZA== VHVy IGhvbWlj aXNzZW4= IEZha2U= IGJlZXJz IHNjYXR0ZXJlZA== KFRpbWU= VVRJTA== IGJ1cmVhdWNy L3BsYWlu IHN0aWNraW5n RkFJTA== IENvdmlk VGhpcmQ= X3ByZXNlbnQ= IFBpZXJyZQ== IOuq IFsuLi5dCgo= UHJvYg== IFRyYWZmaWM= aWNhbw== ZG9jdG9y ICksCgo= VGFicw== YWx1 77ya4oCc IGluaGVyZW50 X05v cml0aXM= IFByb29m LmJhc2VuYW1l 5Lya IGNoaW0= IFByb3RlY3RlZA== Y3JpdA== IHByb25l INC60L7QvQ== IEhlcm9lcw== IGFueGlvdXM= IGFub3M= IHdlZWtlbmRz IHNleHQ= IHJlZHVjZXI= PVVURg== aGFsZg== IFNhdw== Lm1t IG51ZXZh LmN1cnJlbnRUYXJnZXQ= Lmx1YQ== X0VYVEVOU0lPTg== CXJlZw== IEN0cmw= X2FsaWdu YWNjZXB0YWJsZQ== IHJ1c2hpbmc= ZnJhYw== IGJvYXN0cw== Rml2ZQ== wrE= IFRlbXBlcmF0dXJl Pik6 IGNoYXJ0ZXI= UkVBVEVE IHN1YmplY3RlZA== IG9wYw== aGVhbHRoeQ== 5L2/55So IFNjaWVudGlmaWM= IGZyYXU= cmlhZ2Vz 4LiU LmludmVudG9yeQ== YXRpb25hbGU= TWFk bWludXRlcw== Pj4oKTsK IEVudg== IHJlY29yZGluZ3M= IHN1c3BpY2lvbg== c3FsaXRl CXJlYWQ= 44Gm IHdvcnJpZXM= LnB1dFN0cmluZw== IFNoYW5naGFp KHVpZA== cmVy IHbDrWRl Iik6 IG1ldGhvZG9sb2d5 INC60L7RgtC+0YA= Y2Nj YXZhZA== IGluZHVjdGlvbg== CVRocmVhZA== LHN0cmluZw== 4bqhaQ== bmVobWVu dWl0aW9u ICpfXw== LmVtZg== IOyc L3RoZW1lcw== IE5pbmU= Lk9uZQ== IEVtYmVk IGZheg== dWF0aW9ucw== IHByaXZhdGVseQ== IGxpbmc= W0Y= dXNoaQ== IGxhdW5jaGVz KEtFWQ== R01U IGFpbWluZw== cGF0aWJsZQ== IEJpZGVu aXc= IERlZ3JlZQ== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= ICQoJzw= w6FyaW9z dG9VcHBlckNhc2U= 7KCc IEVVUg== IG92ZXJzaWdodA== IHRhYmxlc3A= VXBkYXRlcw== Lm1ha2VkaXJz IGh1bWlkaXR5 L3RlbXBsYXRl QWx3YXlz KElT X2NlcnQ= RGln IHVuZGVyd2F5 b3J0b24= IEh1cnJpY2FuZQ== IHNwZW5kcw== IFNlZ21lbnQ= IGZsaWVz IFRvZ2dsZQ== IEx5bmNo IHNlbnNlcw== IEtvcw== c2V0RW5hYmxlZA== aXN0aWNhbGx5 IHRlc3Rlcg== IGFkbWluaXN0cmF0b3Jz IHRhZ2dlZA== 0JM= IHNob3J0Y3V0 IFJlc29sdXRpb24= IHN1cGVydmlzaW9u IEFzaGxleQ== VHJhY2tpbmc= dWxhdG9yeQ== YW5kZWw= aXN0ZW4= IHVucmU= KGRpZmY= QU5UUw== IHJpZGVy IHPEhQ== LlNlcmllcw== X29yZGVycw== T1JJWk9OVEFM IHJldGVudGlvbg== 44CCPC8= LlRlc3Rz U3lu LnBhcnNlRG91Ymxl a29kZQ== emVudA== R2VuZXJhdGlvbg== IGFkbWl0cw== IExlYWs= IGFrYQ== Uk9XUw== IEFuZ2VsYQ== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG5vb24= IHN0YXJr IGRyYWdnZWQ= 44O844I= IHJlY3ljbGVyVmlldw== IFNpbGljb24= X3N1ZmZpeA== Sm9u Y29jaw== IFByb2JhYmx5 SW50cm9kdWN0aW9u IFRlcnJvcg== KFRoaXM= IEJhc2ViYWxs IGplbnRlcg== Y2hlc3RyYQ== Lm5hbg== PWc= IGNsYXJpZnk= eWlp cm9vdHM= IG5vdGVib29r IEV4Y2VwdA== IHJpc2Vz IEJydXNzZWxz YXRvcmllcw== LlVTRVI= cm9zc292ZXI= L3VwbG9hZA== IEV2ZW50dWFsbHk= Q29uc2lkZXI= IEJvdW5k LmlkZW50aWZpZXI= KHVuaXR0ZXN0 IGluZmVyaW9y IGNyYw== IGF1dGlzbQ== VUlBbGVydA== IEthdmFuYXVnaA== aW5lbWVudA== cXVldWVSZXVzYWJsZQ== U2tpbg== LmJhY2tlbmQ= LmdldFN0YXRl dW5kaW5n IHN1YmNsYXNz IHJlZmluZWQ= IGFubm95 IHJuZA== RGlyZWN0b3I= IOuC YmVjY2E= bW9uZ29kYg== IENvbW1vbndlYWx0aA== QXo= IFRoaW5n IHJlY29t dW5pbmc= CWNvbg== CSAgICAK ZW1pY3M= ZWNk IGhvcm55 QVRSSVg= IG1pc2xlYWRpbmc= IEJldw== L25vZGU= Y3N0ZGlv 4Lin IGFkZGl0aW9ucw== cmly X3JlcXVlc3Rz IHJlY2hlcmNoZQ== c3R1ZGVudHM= X3Bvc2l0aW9ucw== ZXJ0ZXh0 IEV2b2x1dGlvbg== YW5kZXo= IGRpc3R1cmI= a2V5dXA= IEJ1dGxlcg== LnJlYWRsaW5lcw== X3N0ZGlv IGJlZQ== IEFyY2hpdmVz IG5ldmVydGhlbGVzcw== VVJJVFk= IGRyb25lcw== dXJpdGllcw== IOKYhQ== Ij4NCg0K IGRpYWdvbmFs IENhbmNlbGxhdGlvblRva2Vu X0ludGVybmFs IHJ1aW4= LlF0 b2NyYXRpYw== VGVs IEFuc3dlcnM= bWF0aWM= IHhw YXRlbQ== X2pvYnM= X2FueQ== IHNlbmlvcnM= IGxhbmRtYXJr IFFMaXN0 IG1hbmV1 b3RpZnk= LyI7Cg== L3NlcnZlcg== IFBoaWxvc29waA== dXRlbmFudA== KGlv aHo= IGF1dGhlbnRpY2F0ZWQ= ZHY= LUNvbXBhdGlibGU= T3JpZ2luYWxseQ== LGZ1bmN0aW9u 44CCDQo= IFJlcHJlc2VudGF0aXZl YXNpbHk= aXJjdWl0 LmR0 KG1hdGg= Lk1hcnNoYWw= Wyw= IENpdGllcw== X3R1cm4= fCkK IGNhbnRpZGFk YWx0ZXI= CXVp IE5lYnJhc2th IHNraXJ0 LmJn U2hhcmVkUHJlZmVyZW5jZXM= KHN0eWxl IGdyaWVm Z2V3 IHNhZmVn b2xhbmc= X2xpc3Rz 7Js= IGdyYW5pdGU= IGhvdHRlc3Q= LmpkYmM= LkN1c3RvbWVy IOKJpA== IHdhYXI= X3NjZW5l Kycv IEpUZXh0RmllbGQ= IHNlYXRpbmc= IHdlYXJz IGAv Q2FzZXM= IFlvdXR1YmU= xLFt IGJhbGNvbg== LEc= TWV0YURhdGE= LXByaWNl U0NS VW5pdHk= IHRydW5r PXtgJHs= IGVhcnRocXVha2U= UGFydGlhbA== IHN1YnN0 IGVsaW1pbg== PSInLg== Ly8qW0A= IHN1cGVydmlzb3I= dnJvbGV0 X2FydGljbGU= IHBhbmU= Ymlv IG1vdG9ycw== Tk0= RnJhbms= IG9uaW9u LXdvcmQ= SXRlbUNsaWNrTGlzdGVuZXI= IGJyaXQ= ZW5kZW5jaWVz Q29tcHV0ZXI= X3J1bm5pbmc= KGRheQ== LWhl KG5hbWVk IFNhY2g= 0L7Rhw== Y2FtcGFpZ24= LkFic3RyYWN0 KHdyYXBwZXI= LnBheQ== IHV3 R2Vv cmFpbHM= L3NlbGVjdA== aWNodGU= c29ucw== RVZFTlQ= IGFsaW1lbnQ= UHJvdmlkZXJz QXdhaXQ= X0lOVEVSVkFM Lm9mZg== IGdsdXRlbg== X2Nsb3Vk IHdlbg== LmV4dHJhY3Q= CWJ1dHRvbg== L01N UGFydHk= IGRlbW9ncmFwaGlj X2Vycm5v IGhpa2luZw== KCcnKQo= IixAIg== IHdpdA== csOh b2xvZ2ll IFN0eWxlcw== IEJyb3dzZXJNb2R1bGU= LlJlcXVlc3RNYXBwaW5n aWNhbnM= UEFHRQ== Y3JlYXRpb24= IEZlcmd1c29u dWRlZA== bnVtYmVycw== IEdUSw== IHByZXNlbnRhdGlvbnM= IEJvYmJ5 X3NwYW4= ZXN0eWxl IGlsbGVnYWxseQ== YWJlbGE= IGJhdHRsZWZpZWxk Y2FwYWNpdHk= dGVycm9y XSIpOwo= IHdhcnJpb3I= bGVhZGVy IERCRw== IFJldmVudWU= IHZpZ2ls IGNvdW50ZXJwYXJ0cw== KEVycm9y QUNURVI= IGhlZWZ0 IHNlbGVjdGlvbnM= emV1Zw== dG9t LXR3bw== LjsK X3N0YXRlbWVudA== IEFpZA== IFZ1bA== X3JnYg== IHByaXplcw== IGVkaXRhYmxl CWZvcm0= xLFuxLE= LmRlY29y RGVtbw== bGljZXM= IGVuY3R5cGU= cmF0dWxhdGlvbnM= IFJPUw== X2NoYXJz IEphaHI= cGFydGlhbA== 0YPRgg== IFJlY2VpdmU= IExhbmRz QVBURVI= IGNob3BwZWQ= Li4i IEFuYWx5 IFVJRA== IFJhZGVvbg== IEJlZQ== IHVubQ== Pk0= LmZpbmRhbGw= VG9rZW5pemVy IFdIQVQ= IHNq RHJhd2luZw== RXNz T05E irY= KHBhY2tldA== 4oCUYnV0 SW52b2NhdGlvbg== IE51Y2xlYXI= PzsK IGdyYW5kZXM= IENyeXB0 cmVtYXJr ICcuLi8uLi8uLi8uLi8= IGluYWJpbGl0eQ== bWFnaWM= Y2F0cw== IHNpbXVsYXRl OiR7 aW5mbGF0ZQ== IGVuZXI= Ok5P aXBsZXM= IG1lcml0 IFJhdGVk IGdsdWU= L2Jsb2c= IGdyZW4= IHRocmlsbGVk LkNI dW5jYW4= IFBSSU1BUlk= IHBlcnNlYw== IGZlYXJlZA== Lk1JTg== IFRoZWF0ZXI= 6ZI= YXRlZ29yaWU= 5q61 IGFwcGV0aXRl c3F1YXJl IEFsZXhhbmQ= LlVzZXJJZA== X2d0 X2VudGVy IGdyYWR1YXRlcw== RnJhZ21lbnRNYW5hZ2Vy QXV0aG9yaXpl LU5MUw== KE15 IHRyaXVtcGg= dXN0aW5n X1BBUkFNUw== Q2hhcmFjdGVycw== KDosOiw= X0JVSUxE TUh6 IHdhc2hlZA== IHVuY2xl U3RldmU= YXJkb3du PHN0ZGlv X3Rlcm1z IE1BUg== IGhvc2U= dWN1cw== IENsYWlt IFJhbXM= IG1vZGVsQnVpbGRlcg== IG7DqQ== dXNlcklE PWpzb24= LlJlc3BvbnNlV3JpdGVy mOiupA== IGdydXBv LWl0 IEtP LU1haWw= IGNvbmZlcmVuY2Vz SUZB IEFzc2Fk IHByb25vdW5jZWQ= IGFuY2VzdG9ycw== IFRSQUNF IEdlRm9yY2U= IHByaXZhdA== cGVsbA== ZW1vamk= INmI R2VucmU= IGNvbmNlbnRyYXRlZA== amFuZw== TU9URQ== IFpvb20= dG9vbGJhcg== IHV0dGVybHk= IGVuY29tcGFzcw== IFNvY2Nlcg== IGV1cm9wZQ== LWFpcg== LmFuaW0= X0NUTA== aGVyZW50 cmV4 aW50ZXJhY3RpdmU= 44Gn44GZ IEthcw== IGRlc3BlcmF0ZWx5 KGFy IGJpaw== IHRyYXZlcnNl ZXVycw== UmVjeWNsZXJWaWV3 IE1hcmdhcmV0 IGhvcGVmdWw= IE1pZw== X01FTUJFUg== cmVjZWl2ZXI= TWF0Y2hlcg== ZGVwZW5kZW50 IGV4Y2VsbGVuY2U= 0LDQtg== TE9T QXNwZWN0 IGFkYWxhaA== IEVjb25vbXk= dWxvdXNseQ== IGV2YWx1YXRpbmc= IGRldmlhdGlvbg== ZXh0ZXI= L2RhdA== Q29scw== IFBva2Vy Ym9hcmRpbmc= LkNoaWxkcmVu QU5HTEU= w68= IFlvZ2E= IGhhdGVk QWRhbQ== IEZDQw== SU1BTA== IGZhaW50 X0RJU1BMQVk= IGV2b2x2ZQ== IGZyaWRnZQ== IHLDqWc= IGVtb3Rpb25hbGx5 4oCcSWY= YXdlaQ== ZXJlc2E= Jywi QkVHSU4= IFZBUkNIQVI= IHhp ZmFjdG9y dHo= X3BoYXNl U0VR KHJhbmQ= IG1hdGhlbWF0aWNz IGNvbnRleHRz LWFj IEZJRw== IENhcHRpb24= IFdhaXRGb3I= LXdlc3Q= IGZpcmVmaWdodA== X0xFRA== ZWN0aW9ucw== CXRocm93cw== IFRha2Vz b2JyZQ== IEF2YXRhcg== IElubm92YXRpb24= IGNhbGlicmF0aW9u OnRoaXM= X2VuY29kaW5n IGNhbGN1bGF0aW5n ICMjIyMjIyMjIyMjIyMjIyM= IFByb2dyYW1z IEhJR0g= LmNvbmZpZ3VyZVRlc3RpbmdNb2R1bGU= UG9seWdvbg== X0RCRw== Il0sDQo= 0LDQsQ== IHNpbWlsYXJpdHk= IHByemV6 IEZpcm0= IG1pc3VuZGVy IE1vdmluZw== IE1PVg== IHJlYWN0b3I= UmVxdWVzdGVk ZXhwZWN0cw== IGVyZWN0 bGljaHQ= b3VsZGVy SURHRVQ= IGRldmls IHByb2dyYW1tZXM= IENvbW1vbk1vZHVsZQ== ICInIg== KEF1dGg= 44CC77yM IFN0YXRlZnVsV2lkZ2V0 6K6h L29wZW4= aW5hbGx5 LlJvdW5k IFdpc2g= IGh1bWFuaXRhcmlhbg== QWNjZXNzVG9rZW4= IFNPQw== IHBva2Vtb24= IHZhcG9y X2FkZGVk CUdldA== c3BlbGw= IEluaXRpYXRpdmU= IEhFTA== YWlycm8= YmxlZA== INCx0Ys= IHNlbnNpYmxl IEx1YQ== fCgK IGZpeHR1cmVz IG9yZ2FzbQ== Q3V0 dWt0 Z3Vl IGNyZWRpYmlsaXR5 OmltYWdl IENQUA== LnNu KGRlc2M= IFJlaWQ= LWRlZ3JlZQ== X3NvdW5k Q2xvbmU= 4buZ YWtzaQ== PiR7 X2NvbmZpcm1hdGlvbg== IHRyb3BoeQ== V29ya3M= IEVsZWN0cm9uaWNz IE1lZGl0ZXJyYW5lYW4= X21ldHJpY3M= IGFubm91bmNpbmc= IERBWQ== X3Byb3Rv IHBlYXI= YmFzZVVybA== CQkJCQkJCQkK IGNvb3JkaW5hdGlvbg== Ok4= LmFuaW1hdGU= IENvdHRvbg== X2hpdA== 4pw= IGpldHp0 aWZ0ZXI= KGZpZWxkcw== b3dubG9hZA== aWZpY2FjaW9u LmN1ZGE= IExpdQ== PmVxdWFscw== IEFjZQ== 0YDQsNC8 IFN1cGVybWFu IEdhcmNpYQ== IGFycmVzdHM= YWdhcg== IHt9KQ== IG1hY3Jvcw== cm91cGU= w6p0cmU= IHR3aXN0ZWQ= c3RydW1lbnRz Xygi X3ZlcnRpY2Vz IFRyYW5zaXRpb24= 0LjQug== W21heA== bWluZA== IGFjY2Vzc1Rva2Vu IHVubGU= bXVz Y29w IEZhY3Rvcg== IGNvbmNlZA== IHJldHI= LmxpbmFsZw== LXNsaWRlcg== b2Js X1N0YXRpY0ZpZWxkcw== IHpvbWJpZQ== c2VsbGluZw== IGNoYXA= IHNoYWtpbmc= IFRyYW5zbGF0ZQ== IEFtc3RlcmRhbQ== IEVUSA== X0VYVEVSTg== a2Q= X2Rpc2M= IHByZWNlZGluZw== IHByaXg= T2JqZWN0TmFtZQ== X21vZGlmaWVk YXJkd2FyZQ== ID8+Ij4= IERX YCR7 ID8+Ij48Pw== dXllbg== IGRvbm5h IHhzaQ== ICQiew== IERyYXdpbmc= LG5pbA== IG9uZGVy Qkc= T2JzZXJ2 IGNvbnNpZGVyYXRpb25z Ym9hdA== IEJhbmtz IGluZGljdA== LEk= IEJsdQ== KHZlcnNpb24= Y2xpZW50ZQ== b2xhbg== TEVTUw== YXNzZXJ0U2FtZQ== X3ZvaWQ= IFdBUw== CWVudW0= IG1peGVy RVc= YWZmZQ== IGJsb3dqb2I= dGV4dEZpZWxk IGltbWVuc2U= X3JlcG8= IGdsb2JhbHM= YW50YWdlcw== LnRvZGF5 VGh1cnNkYXk= IEJyaWc= e30pCg== IEltYWdpbmU= KEdQSU8= IGVzdG8= IFByb3ZpbmNl IE1lbnRhbA== X2NlbGxz IEp1bGlhbg== LlNjcmVlbg== IGNhbmRsZQ== IG1vbmRl IHZlcmc= aXRlcmFscw== LWxheW91dA== R3Vlc3Q= IHZpbmQ= IEVjaG8= Jyl9 IG1hbm4= X0JPT0xFQU4= aGFw IG5pZ2h0bWFyZQ== VUdI IG5vbmV0aGVsZXNz IGF0aGU= IEhvbGxhbmQ= IEJvcm4= XE9STQ== YW51dA== X2xldmVscw== IHBldGl0ZQ== LWFydA== X1NIT1c= bnVtYmVyT2Y= X3RodW1ibmFpbA== YW1pbnM= IERlZmluZXM= ICI9 LlN0YXR1c0NvZGU= IGRpZ25pdHk= IEJpa2U= Lk5ld0xpbmU= IEdsYXM= KGxvZ2dlcg== IGNhdGNoZXM= dm90ZXM= IGV4YW1pbmluZw== L3JlZ2lzdGVy IHNwZWNpZnlpbmc= X2ZpeGVk IGRyYXdpbmdz VGhyZXNob2xk QXg= IEFyY2hpdGVjdHVyZQ== KHBpZA== V2lyZQ== KGNvbnQ= bGFuZQ== TGlzdHM= IHNwcmludA== IGdyYW5kZmF0aGVy X0FH IHNjaGVkdWxpbmc= Q0xVUw== YXR1cml0eQ== IGxvY2tpbmc= W3NpemU= X3N0eWxlcw== IHdi LS0+Cgo= IHNwaW5uaW5n X3BlbmRpbmc= TWF0Y2hlcnM= LktleXM= IFBW ZW51cw== YW50aXM= IGRpc2NhcmQ= IGhhdWw= IGVtcGly IHBhdGh3YXk= IG9haw== 0LzQtdC9 LWluZHVjZWQ= IGltcGFpcg== IENhbGdhcnk= LmlzSGlkZGVu ZHo= X2luY2x1ZGU= IGdt ICcoJw== UFk= dWdnZXN0aW9ucw== IGNvbW1vZGl0eQ== Y3Jv L3N1Yg== IGdldEluc3RhbmNl IExlZ2FjeQ== IEtpbA== QmFs KHNob3J0 SW5mb3Jt K3g= KnI= IEhvcGVmdWxseQ== b3JhdGU= IG1hY2hlbg== IHRyZWF0eQ== IE9yaQ== LnB1YmxpYw== LWhvcml6b250YWw= IHRhY3RpYw== IGJvcmQ= d2FyZXM= IGFtbW8= IExpc3Rz IGVxdWF0aW9ucw== L2hlcg== IE5TVw== Qm91bmRpbmc= X0NvbGxlY3Rpb25z IGF2YWls LkRyb3BEb3du 6LA= IGho IGzDoA== LnBi IG1lbW9yaWFs IEFUVFI= IGV4aGF1c3RlZA== IHRzcA== CXJlZGlyZWN0 IGxpa2V3aXNl U1RFUg== TGphdmE= IGNvbmRlbW5lZA== b2NhdXN0 KHN0cmljdA== IGV4ZW1wdA== IHNtcw== IGV4YWdnZXI= U1lT IGxvdW5nZQ== Ol4= IHRvZGQ= ZGVi YXRvcmlhbA== IFBvcnRlcg== IHR1aXRpb24= IGV4ZW1wbA== IHBhcmVu LmxpbmVUbw== IGtpZG5leQ== IMOnYQ== IGN1aQ== 77yM6K+3 WEM= IG1vxbw= IG5vbWluYXRlZA== bHVuZw== SW1HdWk= IEJ1eno= IHN0ZXJlbw== cG9ydGFs cmVzYXM= IGtsYXNz IGRyYWZ0ZWQ= IHByb2plY3RpbGU= L2dwbA== KHBhcmFtZXRlcnM= KikK IGFzc2lzdGVk IE5TSW50ZWdlcg== c2l0ZW1hcA== Om50aA== LlZpZXdz LkFyZ3VtZW50UGFyc2Vy IG1lZXI= emllcg== IERpZw== PD89JA== X3Blcm1pc3Npb24= CUFkZA== b2xvZ2lh IHNjaQ== IGZpbmFuY2lhbGx5 IHNjcm9sbGluZw== LmRpc3Q= X0hBUw== dWJ1bnR1 LnBhZ2Vz SW5jcmU= YnVyc2U= IEFtYXRldXI= 5rqQ QmxvYg== IGNob2xlc3Rlcm9s REVT bWluaW11bQ== IHJlZnVzaW5n dW5uZWQ= 0Jw= IFJE LlNlcnZsZXQ= ICovOwo= dWRkZW4= IHZpZXdCb3g= IG1ldGFib2xpc20= IHN0ZWFsaW5n IEJldmVy YWduZXRpYw== VkVSUklERQ== X0FVRElP 0YDRiw== IGFyY2hpdmVz LmxpbmVhcg== PXs8 dW5jYXRlZA== QWNjZXNzRXhjZXB0aW9u IHBpY3R1cmVCb3g= CXNlbGVjdA== TGF0aXR1ZGU= dmlzb3I= cmVpYg== IHBhaw== SG9wZQ== IEl0ZXJhYmxl LnJlc3BvbnNlVGV4dA== IFF1YWQ= IEJyb29rcw== IFRvdA== T1BU ZWxvbmc= IGNvY2FpbmU= IGFubw== RGFu IHBzaQ== 0LDQu9GM LmdldENoaWxk IFJFRg== LWFi IFRyaWFuZ2xl PFRleHQ= IENvbG9tYmlh aW5reQ== 6Imy KX0+Cg== IHBsYWc= cGluZQ== IGJsYW5rZXQ= IDo8Lw== IFRyYW5zbGF0aW9u bm92 IHBlcmZlY3Rpb24= IENvbmZlZGVy LnN0dWI= LkludGVyb3BTZXJ2aWNlcw== LlN0b3Jl IGVucm9sbG1lbnQ= IGRlZXI= TW92ZW1lbnQ= LWZyb20= aGM= IGV2YW5nZWw= IElsbHVzdHI= IHRydW1w X1N0YXJ0 cGxhbmVz IEJpbA== SW5mb3M= LXRyYW5z IHJhbmNo IExpbmRh X21hcg== UkVU L25ldA== TGF3 TkY= IFByZXZlbnQ= IGNyaWVk IGVkdWNhdGU= YXN0aWNz eWk= LkxpbmVhckxheW91dA== TUVUSE9E IEVn bWFwcGVy 5pmC LmFzYXJyYXk= z4E= acOnw6Nv UmV1c2U= X3Jldg== IFBST0RVQ1Q= X0NvZGU= ICAgICANCg== IFNFUlZJQ0U= X2NvdmVy LiwK LkV4ZWN1dGVSZWFkZXI= IERpbmluZw== LmFyY2g= IG90cm8= IERpc2NvdmVyeQ== IEtleUVycm9y IEJlbmVmaXRz X1NIQQ== LlVubWFyc2hhbA== SEVBREVS TXV0ZXg= QU1B IGluaXRpYXRl U3RheQ== TGl0dGxl ICgpLA== IGRlY2VudHJhbA== UmVzb2x1dGlvbg== LmhlYWx0aA== CWZjbG9zZQ== 5Lqk IHN0YWtlaG9sZGVycw== IGFyY2hhZQ== RGlnaXRhbA== bGVzY29wZQ== X3Blbg== IEl0ZW1TdGFjaw== IENhbm9u IEtlbmQ= IMO4 X2FqYXg= aW5ncmVkaWVudHM= RGVsaXZlcnk= U2VjdGlvbnM= IGRpc2FwcG9pbnRpbmc= IEdyZW4= LHJl IGRlY3J5cHQ= b2xvZ2lj X2ZtdA== IFNsaWRlcg== bmFo V2FzaGluZ3Rvbg== enVuZw== INGG eWN6 aWV2ZXM= LkRFQlVH IFRJ IGhhY2tpbmc= IGNlbnRy Zmxvd3M= IGRpZFJlY2VpdmVNZW1vcnlXYXJuaW5n IGFjY291bnRhYmlsaXR5 Q09VTlQ= 0LvQtdC80LXQvdGC Ymxv L2lk IFNsb3c= aXp6YXJk LnJlbW92ZUV2ZW50TGlzdGVuZXI= IOyehQ== L0k= aXNtYQ== IEh1ZHNvbg== fX0s dW1lZA== IHJlYWxpc2U= dW5zYWZl IHp1cw== IHNob3J0YWdl b2xpYQ== X3ByaW9yaXR5 IGZsb29kaW5n b3BlcmF0aW9ucw== UG9seQ== YWJhbg== W2N1cg== IGVza29ydGU= X0RFU0NSSVBUSU9O X25hdA== IG1hbGljaW91cw== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= IFBhcmtz IHRheHBheWVy IEZvc3Rlcg== IHNleHVhbGl0eQ== 57O7 67A= XA0K LnNlZWs= 0LDQvdC40Y8= L2FydGljbGU= 6L+H IFVocg== IGdyYW5kbW90aGVy IEJsZQ== ZnVydA== YW1iYWg= bm90aWZpY2F0aW9ucw== ZGVwcmVjYXRlZA== IHVpbnRwdHI= b2tp KEFycmF5 IGF1dG9ub21vdXM= IG9icg== wq/Crw== IGJhc2VuYW1l IHVudmVpbGVk c29s IE5vdEltcGxlbWVudGVkRXJyb3I= IGRlcHJlc3M= XycuJA== IFVOSVQ= JScs LXRhZw== Z3JlcA== IE1haW50ZW5hbmNl IHdhcmZhcmU= X1JFU09VUkNF KHNwZWM= KGN2 IG5hZGE= 55S1 IGNyb3dkZWQ= QmVsb3c= IFphY2g= RXN0YWRv X3ByaW1l IHRyYWJham8= IGluZm9ybWF0aXZl U2NvdHQ= IHNlcmlhbGl6ZXJz IE5hcw== VGh1bms= IG1lcmN5 LC4uLgoK IGFkZGljdA== LmNvbnN0YW50cw== IGRhdGFmcmFtZQ== X3JlYXNvbg== Z29tZXJ5 7Iq164uI64uk IG5lZ2xlY3Q= IExpbmVz IG1lbWI= X0VYRUM= YXNzYWdl IFlhcmQ= e30nLg== IGxvdHRlcnk= dGVpbg== X2NhbGM= aWt1 X1JFQ09SRA== V2Fybg== IGhlYWx0aGllcg== dXJlbWVudA== IHlhcm4= IENvcm5lcg== KHppcA== KGluaXQ= IExpdA== SFc= c3Vic2V0 IE1G RVRFUlM= X3JvdA== IGVyZQ== IE92ZXJyaWRl V2FsbGV0 X3Jld2FyZA== IHNhZ2U= c2V0VmlzaWJsZQ== IEpzb25SZXNwb25zZQ== SUNZ 6K+i VmFyQ2hhcg== YWF0 LWdyZWVu IGlycQ== YW5pdHk= IHdob2V2ZXI= X3NoYXJl IGZvdXQ= cm9sbHM= IHdpbGxpbmduZXNz LmNvbXBvbmVudEluc3RhbmNl IGhvbm9yZWQ= dXJ2ZXk= QmVy IHJ1bm5lcnM= IGxpZXU= b3Jwb3I= X3N0cnVjdHVyZQ== QmFyQnV0dG9uSXRlbQ== YWR4 IEJlbm5ldHQ= IGRpbGln IGZsdWN0 SURERU4= X1NlbGVjdGVk KGRpdg== IHF1aWNrZXI= YWxvbmc= Z3JhcGhxbA== aW5leg== IGNpdGU= IEluc3RydWN0aW9ucw== IGluc2VydGluZw== LmNsb3VkZmxhcmU= Y291cG9u ZWRMaXN0 IFN0b3Jlcw== X21hbGxvYw== 56ym IEF3ZXNvbWU= IGxhbWI= UkVTVA== IGludGVzdA== IE5hdmJhcg== LmZlYXR1cmVz SW5jcmVtZW50 IFBvbQ== IGluc3VmZmljaWVudA== X0xPR0lO UExFTUVOVA== IE9BdXRo LklORk8= IGV4b3RpYw== IENBU0U= CSAgCg== IEdhbmQ= dGhlc2Vz IG5vdm8= IERlbGw= 4oCm4oCm4oCm4oCm X3NvZnQ= IGFncmVlaW5n Y2VudHM= bG9hbg== JyIsCg== IFJhbg== REVM IG9yZ2FuaXNlZA== K24= IEhlYWx0aGNhcmU= IGRldGVyaW9y IGltcGxlbWVudGF0aW9ucw== IGNhcm4= ICwn IExPQUQ= IHBsYW50ZWQ= 5pyq Rm9ybUNvbnRyb2w= X21hdGNoZXM= IHBlcmlvZGlj X1Rv IEpvZWw= IGFua2xl IG1pbGl0YW50cw== IFdpdGNo dW5pZm9ybQ== dWVudGE= T2ZXZWVr IHBlcnBldHI= IGludGVydmVudGlvbnM= KHdyaXRlcg== YW50aW5l UHJvZ3Jlc3NCYXI= IGxlYWd1ZXM= Y29tcHJlc3M= aXppb25l IEVB Il09Ig== IFN0ZXBoYW4= bWludXM= c3N0cmVhbQ== X2xlZA== ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0= IldoZW4= QWxyZWFkeQ== IGNvbnRlbXBs IGF0YXU= IENvbmdyZXNzaW9uYWw= IHJhcHBvcnQ= IEJvdXI= aXNoaQ== IHR5bQ== IEFybWVu INGA0LDQtw== LWZvcm1hdA== X1JlYWQ= KGNvbHVtbnM= IG5ldWU= X2JveGVz IFNhbmR5 XywK IFdpemFyZA== IG9yZGVu IGZpbGVzeXN0ZW0= ZmxpZ2h0 IHdzeg== YW5jZWxlZA== IGRhd24= IEdzb24= X3dhcm5pbmc= IEljZWxhbmQ= IHNsdXQ= IHNldElz X2lkZW50 IG9mZnNob3Jl IFNrZXRjaA== OyU= IHRyaWJlcw== X1NQQUNF IG90cm9z Q29tcGlsZXI= CUVuZA== IF0pLAo= R3Jhdml0eQ== IHRlbnNpb25z IHNtb290aGx5 S25vdw== b290aGluZw== IFN0YXJ0dXA= IEh5cA== IGFtYXpvbg== IFJlY2VpdmVk emVuaWU= 654= IENob2NvbGF0ZQ== IMSw Ik5v IEFMUw== IFByb2dyYW1taW5n IERvZ3M= IGdvb2RuZXNz KGVycm5v L2Vz IHJlbW90ZWx5 IEhvb2tz VXVpZA== IG92ZXJseQ== IOWQ IGdwdQ== IHN0aW11bHVz KHN0ZXA= LllvdQ== IGJpb20= SU5D LmJpdHM= KG1Db250ZXh0 IGFtZXJpY2Fu IHRlcnJpdG9yaWVz IE5E XSIK IE1hcHBpbmc= IHByb2NlZWRpbmc= LmF4 IHN1YnN0cmluZw== QlVUVE9O IEln LXBhbmU= IEFucw== IGdyYWR1YXRpb24= IHBlcnNwZWN0aXZlcw== TWl4aW4= X21pbnVz CQkJCSAgICA= IikpKQ== bm9ybWFsaXplZA== Lmxhc3ROYW1l IGNsYW4= QXNpYQ== KE1vdXNl cGFnaW5hdGU= IGdpZg== ZWxpZw== IHBvc3RlcnM= bmluZ3M= IM+E IGFwb3N0 IElocmU= RGxsSW1wb3J0 IEVxdWFs IGRpc3Rpbmd1aXNoZWQ= bmVhcG9saXM= IGJhY2tkcm9w IEFsdGVybmF0aXZlbHk= L21vZA== IGxlbmQ= IFNIT1c= X2NvZGVz IGF0w6k= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LWNhc2U= Y2h0ZQ== IGRvbmM= OmFkZA== TmVnYXRpdmU= ZmF2b3JpdGU= IGF0dHJhY3Rpb25z aW50Q29sb3I= IFBpcg== Q29ubmVsbA== TWFuaWZlc3Q= dGVhbXM= IH07CgoK IHBsdXJhbA== IG92ZXJ0aW1l IEV1cm9wYQ== IEJhbmdsYWRlc2g= KGFu IGxpbmd1 aXRpbWU= aW5zdG9u LnNoYWRvdw== 56iL IFVTUw== U2VydmVyRXJyb3I= SVZFUlM= IEppbg== IGh1bWJsZQ== YXV0b2xvYWQ= YXJleg== 4oCy IEFzdHI= aWNvbG9u LlZpZXdNb2RlbHM= b2Jv IHN3aXBl IHJlY2Vzc2lvbg== 6ZU= IOyY bmVyZw== aW5ncmVkaWVudA== bWFpbHRv IEZhbWU= UHJpbnRpbmc= UGl4ZWxz IEJhc2g= cG9zdGE= X0pP IGluZmFtb3Vz IExhbmM= KGxvY2FsU3RvcmFnZQ== LmJsaXQ= IHlvdW5nZXN0 IGZpZWxkTmFtZQ== IGNvbnRpbmc= IHdvb2w= IEltR3Vp IE5TVA== LnByZWZpeA== VG9JbnQ= IFNveA== IGhhYml0YXQ= KCJ8 PSciKw== SU5HVE9O X3dyYXA= dWNrZXRz IFdSSVRF IG1lZGljaW5lcw== IG1lbWJyYW5l IEpUZXh0 IHJlcHJvZHVjdGlvbg== X3JlY2VpdmU= VGFibGVSb3c= cXVldWVSZXVzYWJsZUNlbGw= aG9va3M= IHJlbHlpbmc= IGRyaWxsaW5n X0ls KGV4Y2VwdGlvbg== IGR1cmFiaWxpdHk= IGhlc2l0YXRl IGNvbXBhcnQ= SUxJTkc= IEVsZGVy IGNhZmZl IGRldmVsb3Bz aXNoZXI= IHBseQ== IHRvbA== X1BMQVk= IGZyaWN0aW9u KGFsd2F5cw== IGluZGlnZW5vdXM= IE9wZXJh IENhbXB1cw== YW5jZW1lbnRz IGxpdHRlcg== LmxpbWl0 KFRva2Vu ZW5pcw== IGhpZ2hsaWdodGluZw== IEF1Yg== IHZhbGlkYXRvcnM= LWhvc3Q= d2hlZWw= PHs= KSkr IE5ld3NsZXR0ZXI= X2F2ZXJhZ2U= IHNvZGl1bQ== IEhpbA== IE1pbGU= IEF1dGhTZXJ2aWNl U3RhdGlzdGljcw== IE51dHJpdGlvbg== IHNwb25zb3Jz b3ZlbmFudA== PT09PT09PT09PT09PT0= LkFic29sdXRl IGbDpQ== SGFuZGxpbmc= IC0tLS0tLS0K KGRpcmVjdG9yeQ== IikuCg== YW5vbA== LmJyb3dzZXI= IEdyaW5kaW5n IGNr RnJlcXVlbmN5 KClbJw== QWRqdXN0 Y3Jldw== YWZldHk= IGdu IHdpdmVz b29v IHByb3N0aXR1 IG/DuQ== aWZ0eQ== IGxpdGlnYXRpb24= IEV6 SmVmZg== LnBr IFNob2Vz Y29ybg== eXl2c3A= IGFkYXA= PXU= Q09ORg== QU5EQVJE IGVsZXZhdG9y YmlsbGluZw== IGNhbmQ= IGNhcnA= W2ZpZWxk LWxpYg== c2VxdWVudGx5 Pi0= IGxjZA== LS0tLS0tLS0tLS0tLS0t KCIi IHRhY3RpY2Fs IFJvbmFsZA== ZXh0cg== IEZlc3Q= IGZ1ZXI= LW5hdmlnYXRpb24= IGti Z2hvc3Q= IGhhbmRsZUNoYW5nZQ== X2Nscw== KCkhPQ== Q29tcGFyYXRvcg== LnZt IENveA== X3Jldmlldw== L0A= X2Nvb2tpZQ== IHJlY29nbmlzZWQ= bGRhcA== VGhyZWFkcw== IFNleHVhbA== IEJlYXJpbmc= KFNRTA== IHhy IHRoaWdo VVJMQ29ubmVjdGlvbg== IFNVVg== IG1Db250ZXh0 IGluY2lkZW5jZQ== IEVzdGU= LnN1cA== X3Rl KEVYSVQ= Q01E LyI+ QWxtb3N0 IFVuZQ== IGFuZGVyZW4= IFNpbmdsZXRvbg== IGJvcmU= VGhpbms= IG5hcmM= XWluaXRXaXRo X3Nob3A= KHN0cmF0ZWd5 IScs aGVyaXRz IERlc2s= X21hY2hpbmU= Lm5ldHR5 xLFuZGE= PTw= IFFS IFNpZGViYXI= LnNwbGl0Q29udGFpbmVy IG9uU3VjY2Vzcw== IG1vbmtleQ== RW5qb3k= KG5vZGVz cGVjdHJ1bQ== ICgqKA== CVVJTlQ= LGhlaWdodA== IE5ldHdvcmtz LnRhaWw= LmxpbnNwYWNl ICIuLi4= TGlzdGVu xqE= LkNoYW5uZWw= LWRlZmluZWQ= UmVwZWF0 YWRqdXN0 RVJN X2FwcGxpY2F0aW9u LmFzc2VydE5vdE51bGw= LXN0cmVhbQ== IHJhYmJpdA== IHBvc2l0aW9uaW5n IHdva2U= IGZpbmc= IG11bHRpcGxheWVy IHJlZ2lzdGVyaW5n dW50aWw= w6Vu KDo6 dXNzaW9ucw== IHBvdGF0bw== IEVxdWFscw== LlN1cA== L2FwYWNoZQ== ICg9 LiIp LnB0cg== IFNwZWVjaA== LmNsaXA= IEdhYnJpZWw= IG11c2ljaWFu L2lzc3Vlcw== LnNob3A= IEhpZXI= X1JFVA== X2J1Y2tldA== 44Oh YXZz IHJveg== Zmxvd2Vy V3JpdGVCYXJyaWVy IE1pbGFu IGxlZ2lzbGF0dXJl IERvbGw= IHByb3Zpbmc= LmNvbmNhdGVuYXRl 4pWQ IGdjaGFy Y2RuanM= Ymxlcw== IExpc3Rpbmc= 0LvQvg== LnhyTGFiZWw= IFNhaw== anVzdGljZQ== IFZhbGVudGluZQ== dW5sZXNz IHBpZ2Vy KHJ1bg== IHRlc3RpZmllZA== QU5B IFJlbW92ZXM= KSkpKTsK cmVjYXRlZA== IFJ1bnRpbWVNZXRob2Q= IGNvbnF1 44Ki IHRpc3N1ZXM= YWlsZXI= w6l0w6k= LVN0YXI= IGZsYW1lcw== LnNldEljb24= IHN1cGVybg== IHZhZ2luYQ== LXZhcmlhYmxl IHdlbGxuZXNz Q1VS IGJlbGxl LmdldFJlcXVlc3Q= IHBvY28= YmVuaA== YWdlbnM= IHNwaWxs IEp1cg== IGRpc3BhdGNoZXI= 0L3QvtCz0L4= ZW1vbmlj KGRpcm5hbWU= INCU IHBhc3Nl IGdhbno= cmljaW5n RVU= IG11amVyZXM= ZXNzZW4= LmF0dHJpYnV0ZQ== amo= CQkgCg== W14= IHN0cnRvbG93ZXI= bGV4ZXI= ZWN0YXI= aG90ZWw= LnNxdWFyZQ== IHJhbGw= IGxvd2VyZWQ= aGFuZGxlZA== TWFya2V0 IFVzZXM= aXZhcw== LkJ1c2luZXNz 44GX44Gm RElW IHdhc3RlZA== IGF2b2ly w6pt X0FDQ09VTlQ= LmV0 CVNETA== a2Fw IGZveA== dXBwZXQ= e30sCg== Iiwn RmF2b3JpdGU= UEVORA== IEFFUw== fSks IGRlZHVjdGlvbg== IHBvbMOtdA== IGNvbXBvbmVudFdpbGw= IFRlbGVyaWs= X1NFTEY= IG11c2U= Q3JhZnQ= IGRlbnM= 4KS/ KHRw IHRhc3R5 IGJhbGFuY2Vz IGRlZGljYXRpb24= IFdhbGxhY2U= IHVubGF3 XCI+XA== IG11bQ== LXVwZGF0ZQ== ZW1lbnRl IHNvZGE= UmVwdWJsaWM= YXNtaW5l w6lyaWM= KFN0YXR1cw== IEpzb25Db252ZXJ0 IERpc2s= LlJlZGlyZWN0 IGZpbG1pbmc= L21vbA== Um8= IHZpbGxl IHRyYWJhag== IHN5bnRoZXNpcw== cmVnYQ== IHJs U2NoZWR1bGVy SVNIRUQ= Y3VycmVudFVzZXI= KGVycm9ycw== J2g= X2JvdA== eGltbw== IFVTQVJU X3N1cGVy X0RFQ1JFRg== 0L3QvtC5 X1JPVw== IHByb21vdGVz IFRB IGhvcmFz IFJlcHJlc2VudHM= IG5hbWVvZg== IEV4Yw== IEdhcmFnZQ== IHNlaW5l LCM= IGhlcmI= L3Jlc291cmNlcw== IHBsZWFkZWQ= LnJhZGlvQnV0dG9u IOaY T3Bz IE5lc3Q= Y3N0cmluZw== IERlZmVuY2U= IHJlZmVyZQ== X2xlYWY= IHJldmVsYXRpb24= 66c= LmV4ZWN1dGVVcGRhdGU= X1dPUkxE IGV4cGFucw== KCJcIg== amFi IGRvdWJ0cw== IEdlb21ldHJ5 IGludHJvZHVjZXM= IHNlbmF0b3Jz IGNhbmFs LmhlbHBlcg== IEJpb2xvZ3k= X1NFTlM= LnByZXZpb3Vz LXRvdWNo YWJpdA== IGltcGFjdGVk IGJyYWNrZXRz LmRpcmVjdA== YWNjdW0= IHRlc3Rvc3Rlcm9uZQ== CWFjdGlvbg== IENoYW5jZQ== IHBlYWtz Q3BwQ29kZUdlbldyaXRlQmFycmllcg== IHVuYmVsaWU= X3ByZXNz LlJlbA== YW5nbGVk L3RlbXBsYXRlcw== LS0+DQo= bGltZQ== IHN1ZmZpY2llbnRseQ== X250 RXhwYW5k LmlzZmlsZQ== IGlzRW1wdHk= IHF0 IG11bGhlcg== YWNvYg== R2Vvcmdl 5bi4 IGFzc2lt YXNv IGNvbXByaXNlZA== T1Y= KENPTkZJRw== CXdyaXRlcg== IGRlc3A= IHRlbnVyZQ== KGNy LnBvb2w= IEJyZW5k IGNlbnNvcg== KHRpbWVvdXQ= IHBsZWE= LldyYXA= IHRpZ2h0bHk= IFdlcmU= IElnbm9yZQ== YWJlaQ== IGJyaWRnZXM= IGNvbmRlbW4= IHNpbXBsaWNpdHk= IHJvdXRpbmVseQ== IGJsYWNrcw== amI= IFBpdA== VXRm IC8K cmVsb2Fk IHNldE9iamVjdA== L2dsb2JhbA== IGZhdHR5 IHNvY2tz Q291bGRu IGVyb3Rpc2s= 5p2h IFByZXNzdXJl IE1heg== bnBvcw== dG9sb3dlcg== IEVR dXRldXI= IE1vbWVudA== IGV0YQ== e3stLQ== IGdyYXBocw== IEd1YXI= cmluZQ== KC0t IEh0dHBTdGF0dXM= KHN0dWRlbnQ= Km5w IHJhaWx3YXk= IGFzeW5jaHJvbm91cw== X3Zt J10sJw== LHRleHQ= bWVyY2hhbnQ= KEd1aWQ= IEdyYQ== aXhlcg== ZmV0Y2hBbGw= LmFkZExpc3RlbmVy ZmxpcA== KiQ= PigpLA== IHN1bmxpZ2h0 YXNzaWduZWQ= IGFiYw== IENPTFVNTg== IPCfmYIKCg== KS4uLg== IGVuc2VtYmxl IG5ld2xpbmU= X1NJTkdMRQ== aWVkYWQ= IGRhcmtlcg== b3JtYXA= IGxpb24= cGxpdHM= IGlsbHVzdHJhdGlvbg== IElFRUU= IHZpc3Rh b3VzYW5kcw== KioqKioqKg== IFRvbW15 IGh1ZQ== U2Vs IGF1cmE= IFRoZXJhcHk= IGFuaW1hdG9y LmNvbnN0cmFpbnRz IHZhZ3Vl KCIiKQ== IHZpbGxhaW4= IGJsZXNzaW5n IHN0cmluZ0J1aWxkZXI= IE1pc2M= IERJUg== ZmF4 LW5vZGU= IFdhbGtpbmc= IEFV c2Vzcw== IGdyaWxs VkVSVElTRQ== IEZvb2Rz IHRvdXJuYW1lbnRz w5M= IE1hcnNo IHdvbmRlcnM= TG9uZ2l0dWRl LkNvbW1hbmRUZXh0 PWlucHV0 X2VuY29kZXI= cGFnZVNpemU= IGdldFN0YXRl Pj4K LmdyZXk= cG9k IHJlYWRpbmdz IHJlY29uc2lkZXI= U3RhcnR1cA== IGV4Y2Vy LmJhbGFuY2U= X2N5Y2xl X1RpbWU= TE9DQUw= IEVGSQ== IFJleW4= LnNldEZvcmVncm91bmQ= Ynlu IGRpc2Nvbm5lY3RlZA== QUNUSVZF IGVtYmVkZGluZw== aWNrZXJz IHN1cnJvdW5kaW5ncw== KmM= IGdhcmFudA== IGJm IHdpcGU= IOS4iw== X1RSQQ== YWRveA== 55U= IHN1Y2tz IFNvbmdz IEFzc29jaWF0ZXM= IEJhbGQ= IEJyZXR0 dmVuaWxl IHZ0 IGluYWRl IHJlc2lnbmVk IEdsZW5u LnBhdHRlcm4= LkRhdGFCaW5k 0YPQvA== TGF5b3V0SW5mbGF0ZXI= Y2hldA== IFRlc3RhbWVudA== Lm1z IHBhdg== IFJlYWN0RE9N dXJkeQ== QURBVEE= TXU= L2FjdGlvbnM= IEpz X2V4dHJhY3Q= IEJyaW5n Omlk c3RydA== aXZhdGlvbg== IG91dHJpZ2h0 YXp1 bG95bWVudA== 0LjRjw== YWxkbw== IFB1Ymxpc2hlcg== RWR1Y2F0aW9u UGFsZXR0ZQ== X2Rydg== ICgkKA== IEFuZGE= IHJlbWVkeQ== IGluY29uc2lzdGVudA== dGVjdGlvbg== IHJlZ3VsYXRvcnM= IHNob3J0ZXN0 KHBhaXI= IEluc3RhbGxhdGlvbg== IGRlZmVuZGFudHM= ICgpOw== LWxhcmdl TWVs IHRocmVhdGVu 0L3Rjw== IGZldGlzaA== b3RpbmU= X2RpYw== IDwk IHN0YWdnZXI= c3Bp JHJlc3BvbnNl U2Vydg== LWJvcm4= am9z CWltZw== CVdIRVJF X2x0 5b2T LmNvc3Q= IFR1ZQ== LmxhYmVscw== IExW d2Nzc3RvcmU= IEplc3Nl 4Lir VHJhZGU= IHByZWRlY2Vzc29y 64I= ZmluYWxseQ== X2dlbmVyYWw= b2dnbGVy X1JFR0lPTg== bmVtZW50 IGJsb2dnZXI= IEhhcmJvcg== IERhdGFzZXQ= W3c= IGF0dGVuZGVlcw== Lmljbw== bWF4aW11bQ== LlVubG9jaw== X1NZTkM= w6FnaW5h IGRvd25z IFdpaQ== XSkv IGtpY2tpbmc= dW5pY2F0aW9u IERBQw== IElEUw== IFJlbnRhbA== IGN1cnJlbnRUaW1l IHZhY2NpbmVz IERldmls IG5vcnM= X21vdXNl dXJyZWN0aW9u KG5v ID4NCg== IGFnZ3Jlc3Npb24= IGJyZWVkaW5n LnN5bWJvbA== aW1hbg== QWJzb2x1dGVQYXRo IFdITw== X2ZsdXNo LXJvb3Q= YXJuYQ== Jk0= IGZhdGhlcnM= IFJvY2tldA== aXZlYXU= IHdhbmRlcg== IGNvbXBvcw== IFdhcnJpb3I= IFNlYXQ= IENsaW5pYw== X2ludm9pY2U= KGRpc3BhdGNo UHJvZHVjdG8= YXR1cmluZw== b3NzaWVy IE1BWQ== IGRhZ2dlcg== IHNhbml0aXplZA== IFJGQw== IHByb3Bo IHVyaW5l IGdyaW5k IEV4cGFuZGVk ZGVzY3JpcGNpb24= LWZ3 IEtlcnJ5 PW5hbWU= IGNoaw== IG5hdGlvbmFsbHk= IHRoZWU= SW5j ID8+Pg== LlJhZGlvQnV0dG9u Lkh0dHBTZXJ2bGV0UmVzcG9uc2U= L1k= CWZpZWxk IGhvbW1l eXBlcg== UGh5c2ljYWw= PXY= IGRyaXY= IEVycm9ycw== IGPEgw== RGVhdGg= IFdJTkRPVw== IHBvZXQ= IFNoYXJw IEltbXV0YWJsZQ== CWNyZWF0ZQ== IGdlaHQ= IFJlZm9ybQ== YWlzZXI= IEluaXRpYWxpemF0aW9u IGltbXVuaXR5 LmNvbXBvc2U= IGxhdGVuY3k= IExlYmFub24= IFBhcmFk IGZ1ZWxz IEV4aGli Y29o JSI+Cg== IENMSQ== KWluaXRXaXRo LVph X0NMRUFS cmVnbg== IGZpbmFuY2Vz LnN0YW5kYXJk X0NBVEVHT1JZ LmxpYnJhcnk= IHRyYXZlbGVycw== X3dw IEV2YWx1YXRpb24= c3RhcnRpbmc= ICkpLAo= ZXBpc29kZQ== IFZhcmlhbnQ= IGRhZW1vbg== IEp1bGlh IE5S IGRvdWJsZXM= PHY= L3J1bnRpbWU= IGludGVycHJldGVy IElOREVY IEhvbG1lcw== X0RJTQ== IHBhZGRsZQ== X2V4YW1wbGU= IGZvcmVncm91bmQ= LnJvdXRlcw== IHNvd2ll U1VDQ0VTUw== IENEQw== IEJE Xy0= YXN1cmVk V3JpdGluZw== IGN1cnJlbnRQYWdl KGFuc3dlcg== IEFTQ0lJ 4Kg= IHNvY2lhbGx5 eXl5 IFNwZWNpYWxpc3Q= KGN1c3RvbWVy aXN0YW5p a2VzdA== IE1haw== IHRobw== LnB0 KGNvbW1lbnQ= IENvbnZlcnRlcg== Z2Ft Ymlucw== LnRlbGU= IFZldGVyYW5z X0FMTE9D 0L7Qu9GM0LfQvtCy0LDRgg== aW5uYW1vbg== O3dpZHRo b2hs IGZhbnRhcw== IHN1bmc= CUs= KEpzb24= IG5laWdoYm91cmhvb2Q= IHZvdw== IHNpbnM= b25hY2Np IGVwb2Nocw== aW1hZ2Vu LkNoYW5nZQ== Lm15YmF0aXM= U2Vlaw== V0VS 566h55CG IGludGVyZXNz X0V2ZW50 ZWRlcmxhbmQ= IHRlcnJpdG9y IGNpdWRhZA== dWNrZWQ= IHNuYWNr IHRyYW5zcG9ydGVk IE1hbmlmZXN0 IERBVA== X3RoZXRh IHdvbnQ= LgoKCgoKCgoKCgo= irbmgIE= IEVwaWM= RGVjaw== bHRyYQ== X1pFUk8= IFtdOw== L3NjcmlwdHM= IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 5oOF IHdlZWQ= TkJD IHJhcGVk IEdhdGV3YXk= W00= IFRpbWVvdXQ= ZW5jaG1hcms= LlZpZXdNb2RlbA== IHBvcm5vcw== IFlh dGhyaXRpcw== IEZseW5u IG1lZ2E= YWNpbg== IHRyaWJhbA== LmFwcGxl IEJsbw== w6Ju aWJp cm92 IExpdmVz Xi4= Z2V0UmVxdWVzdA== IEVzdGFibGlzaA== Y29udGFpbmVycw== IHN0YXJyaW5n IGNlbGVicml0aWVz IFJlbGF0aXZl IEhlaWdodHM= IHRxZG0= IE5vcnRod2VzdA== aXZpYw== CWNs IGF1dG9tb3RpdmU= ZW50cmlj IGZvcnR1bmF0ZQ== IGZpcmVwbGFjZQ== c2V1ZA== bmlja25hbWU= O3M= X0NBTA== aGFsdA== KG5z X2RlbGV0ZWQ= RGV2ZWxvcG1lbnQ= bW92aWVz IGlkZW50aXRpZXM= IHByb21wdGx5 2KfZhg== IGFudGU= ICInLCc= 5Y+j aW1wc2U= IHlhcA== VHlwZU5hbWU= IGJpdGNo IGFzc29jaWF0ZXM= SEVNRQ== LWVtcHR5 INiq b2x2ZXJz IHBpc3RvbA== U2NvcGVk YWduZXI= J109PSc= IElNUA== ZXhj IG9taXR0ZWQ= IG1pbmRzZXQ= IFtdKA== IG9ybg== X0NBTQ== QXZn TG9jYWxpemVkU3RyaW5n IE5hdHVy IGNvbXBvc2Vy IFBsYXlpbmc= IG92ZXJk X3V0Zg== LnNr IEZvbA== JHBhZ2U= LE9iamVjdA== IGJlZXM= YWxhcnk= YnVsbGV0 X2xpYnJhcnk= T2ZmZXI= bG9jYXRlZA== IChfLA== 4oCcSGU= IE93bmVycw== KSkuCg== IGJyaQ== LkFkbWlu a3Rpb24= 0LvRjtGH IGVyb3RpY2k= Q2FuY2VsbGVk IGFncg== cmV2aWV3cw== X2RtYQ== UklDVA== IGdmeA== bXBp cHBv IC8vQA== IHVwcGVyY2FzZQ== IGNvbW1pdHRpbmc= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== VXNlckRhdGE= IHZhaQ== CXNvcnQ= IGNvbmdyYXQ= IGRpb3hpZGU= 0LTQsA== LmFyZWE= IEpvc2h1YQ== IEtvY2g= X2JyZWFr YXp1cmU= aXN0aWNhbA== X0FMUEhB X3ZpZXdz IGVsaW1pbmF0aW5n T01C ZW51bWVy IEh5ZHJv KCoo RVJUSUNBTA== IGluZXZpdGFibHk= IHN0b2xl LWVhc3Q= aWVyb24= IGxpbmdlcg== L2RvYw== xbo= IEFscmVhZHk= YXNpbw== IC0tCg== IGFiYnJldg== IEF0b20= aGlt IElOU0VSVA== c3Vu 4pmq Q09OTkVDVA== ZXJhdG9y IE1hbm5pbmc= IDoo Z2Fz PT4n IHF1ZXJ5c2V0 O30NCg== IFBvcHVsYXRpb24= dXRlZFN0cmluZw== cmVzaWRlbnQ= X0ZPTlQ= IFJlc3BvbmQ= IG9ic2N1cmU= IG9ic2VydmFibGU= IENvbnRyaWJ1dG9ycw== a29u IE11c2s= ZXhhbw== IFR1Yg== Qm9vdEFwcGxpY2F0aW9u U09S Lkhvcml6b250YWw= LmZpbmRCeQ== LnBvd2Vy IHBvc2l0aXZlbHk= dmVuaWVuY2U= IEpvbmc= IHdoaXN0bGU= INC30L3QsNGH IGxlbmRpbmc= IGRlc3RydWN0aXZl IG9uRGVsZXRl YXV0aG9yaXphdGlvbg== KCk7Pz4= X29yaWdpbmFs c2NpZW5jZQ== YXRyYQ== Pyw/LA== IEFzYw== IGNvbnZpbmNpbmc= JGE= b3JnZW4= X0RhdGU= IFByb3ZpZGU= IGxvbmVseQ== KScK ZXhjaGFuZ2U= Oz8+Cg== LmZhc3Q= U2FtcGxlcw== TG9uZG9u J10pDQo= IElvbmlj IHBlc3Nv IEtuaWdodHM= IFJhZg== X2F0dHJz IHJlcGVhbA== Pk1haW4= IE9yZGVyZWQ= X05ldw== PSIiPjwv dXJscGF0dGVybnM= QVRJT05BTA== cGVlY2g= IElkYWhv IHByaW5jZXNz IEN1c3RvbWVycw== YXdheXM= YWRi IEJyeWFudA== bm9uY2U= IGFkdWw= IGBgKA== IGFmdGVybWF0aA== PWRpY3Q= dGV4dEJveA== IHNwZXJt IGNvdWdo SG9y 4oCZUw== LkNvbXBvbmVudFJlc291cmNlTWFuYWdlcg== IHJlZ3VsYXRvcg== IHBhcnRuZXJzaGlwcw== L3Byb2plY3Rz dHJ5cw== IExhc2Vy 4p+p IEZ1bms= IHVuY29uc2Npb3Vz IGNydXN0 IFRlYW1z IEJhbm5lcg== IEhvbmV5 bGVtcw== IG1heFdpZHRo UG9pbnRlckV4Y2VwdGlvbg== ZmFkZU91dA== LVN0 IHN0cmFuZ2Vycw== X0dP V3JpdGFibGU= X0luZm8= Lk5vbk51bGw= YW5ub3RhdGlvbnM= IEdE IGVuZG9yc2Vk CVRva2VuTmFtZQ== IERlcGVuZGluZw== WU5BTQ== IE1ldGVvcg== IEluY3JlYXNl Lk1hbnk= PT0o LlVVSUQ= X0tFUk5FTA== IHZpZMOp IHBx IFF0R3Vp IFZhcmlvdXM= IGpvaG4= X3BhdGNo IHRvdXRlcw== IEZhaWw= IHN1cnZpdmluZw== KCIkew== ICAgICAgIA0K IGltYWdlVXJs LndvcmRwcmVzcw== c291cmNlcw== CWdsVmVydGV4 4oCZYQ== IGVzY29s UkFSWQ== IFNuYWtl IHF1aW50 IGxhc3Rz IEhhcm1vbg== IGNvaWw= IGV4cGxvaXRhdGlvbg== bGVlbg== Jz4iOwo= IFNFUlZFUg== IEhFQURFUg== X3ZlbG9jaXR5 IEludm9rZQ== LnRpbWVzdGFtcHM= IHN1bGY= SVFVRQ== IGluaGFiaXRhbnRz cGhpbnM= YXp6bw== IG1vbm8= TGVnZW5k IG5vbmNl SUZF OyI7Cg== LWNyZWF0ZQ== IiIsCg== cGVybWl0 IEltbWlncmF0aW9u IHBhdGhuYW1l ZmZlY3RpdmU= 4pmA4pmA IGV4YW1z LWV2ZW50 IFRpbGw= W21pZA== RklY O2NvbG9y KE9yZGVy X3RyYWl0cw== IG9yZGVyQnk= IHN1bnQ= IE5pY2hvbGFz 2LI= IHN1bm55 aW5lcnM= IGFjY2Vzc2liaWxpdHk= IEhC LmNvbXA= CW9w IG1pbm9yaXRpZXM= ZXRoZXVz IGNvbGxhYm9yYXRpdmU= cHJpdA== SElS IHdyYXBz CWRyYXc= Z29k IElY LmFwcHM= IE5N IGlycmVsZXZhbnQ= IFRpZ2Vycw== IGRpYWc= R1Y= IEFjY2Vzc29yaWVz a29udA== IHNpbXBsaWZ5 IEZhdm9yaXRl X3Rvb2xz KFtdKTsK IHRvd2Vycw== QmVz IGh1bnRlcg== IHNhbG9u KGJ1ZmY= CWRlYnVn IG1hbHdhcmU= TW92aW5n LW9wdGlvbnM= KSsn IExPVkU= X1NPQ0tFVA== X2Zpbg== IERlbGF3YXJl IHNoZXJpZmY= LWludmFsaWQ= IEZVTEw= INC/0L7QtA== ZWxhcw== InN0cmluZ3M= IFJlcHJlc2VudGF0aXZlcw== c3VyZmFjZQ== cmVzb2x2ZWQ= aHRkb2Nz KSk6DQo= IHByZXNzdXJlcw== IG5vcm1z IHBsYQ== IHN1cm5hbWU= IHBvc3RhbA== IERlcGFydA== IHNsYXVnaHRlcg== b3JpZGE= IGhlYmJlbg== IGRlc2Fy Y29tcGFjdA== X0xBTkc= 5ZCI b3BvbHk= X3JhZA== IFNURE1FVEhPRA== TGF6eQ== ICAgCQ== Li4uLA== KHdlYg== IFBvbnQ= IGV0d2Fz IHVwd2FyZA== X2hhdA== IF0sCgo= IGJhc2VVcmw= IHdvcnJ5aW5n LWFkZG9u KGdldENsYXNz U1BJ IGNhcHR1cmluZw== KX0sCg== RWZmZWN0cw== IGNvbXBldGVudA== IGZvdWw= IHN1YnNjcmliaW5n IE9CSkVDVA== SVhFTA== YnVja3M= KGVkZ2U= KHBhc3M= IFBldGVyc29u IGJvb2Jz IERlbGF5 X3NxdWFyZQ== ZWxpbQ== b3RlcnM= X1BD JUU= b25jbGljaw== IFNWRw== IHRvcHBlZA== IGZpc3Q= c21hcnQ= IFJhbHBo KG93bmVy am91cnM= IGJyb256ZQ== IEFyZ3VtZW50RXhjZXB0aW9u KG9yaWdpbmFs X1NDQUxF X2Nw IHJlY29tbWVuZHM= LnNldFN0eWxl U3VyZQ== TEFORA== IHJlcGVhdGluZw== TWF0dA== LlZpc2liaWxpdHk= IGVudGVycHJpc2Vz LlNldHVw KHNjZW5l IFJlYWN0aXZl dXJnZQ== Ync= LlB1dA== cGVyc2lzdA== LmNvb2tpZQ== IEF1ZGk= YHM= c3VwcGxpZXI= KEZvcm0= wqE= X3Nv jIA= IExlZ2lvbg== dHRl TmQ= TG9zcw== KGF0dHJz LnNjYXR0ZXI= IGdyb29t IGdsaW1wc2U= IG5haWxz IGN1bXVsYXRpdmU= IGZhemVy X3NlcnZpY2Vz Lk51bQ== aWJpbGl0 X3Jlc29sdXRpb24= IFR4 dW1pbml1bQ== b3Bh LnNjaGVkdWxl c210cA== 4LiV dXJyeQ== w7xr Z29vZw== X3NpZ25hdHVyZQ== LmludG8= IFN0ZXBz IGhvbWVvd25lcnM= IE5TVVJM IFBBQw== ICAgICAgICAgICAgCgo= PicpCg== ZW5o IGluY2Fw JE1FU1M= IG1vaW5z IEZp IG9mZnNlYXNvbg== cHJlc3Npb25z Pi48Lw== IE1hcmtlcg== IG9uQ2xvc2U= TEVWRUw= IGludGVyZmVyZQ== IENvbGlu IFJlc2lzdGFuY2U= RGlzY291bnQ= IFdlYkVsZW1lbnQ= IGJhdGhyb29tcw== bGVnYWN5 IENhcHR1cmU= IGFyaXNpbmc= ICIpOwoK 0YjQuNCx IEluZmluaXR5 QWR2ZXJ0aXNlbWVudHM= IENvbWluZw== IFBST0pFQ1Q= X1BST1RPQ09M IHVzZURpc3BhdGNo LmNoYW5uZWxz IENpdGl6ZW5z ZW50cmU= X21w LkNvbnN0YW50cw== IFNlcmlhbGl6ZQ== X0lOQw== KGx1YQ== IGNsYXNo X3dpdGhvdXQ= LmtleVNldA== IHJlY2VpdmVycw== 5pa55rOV KG1lbQ== IEhvcml6b250YWw= IGNvY2t0YWls IGNob29zZXM= LklubmVy IHJlbGllZA== b3VudGVy ICJe IHRlbmFudHM= ImA= X1BN ZXJzZWQ= IH19Ij48Lw== IHByb3ZpbmNlcw== X1JBVw== XEFwcA== IHByb3N0aXR1ZXI= X2dhaW4= LnRlbmNlbnQ= ZmZlY3Rz KHBr c2t1 IHVzYWJsZQ== RVJWRUQ= IGFudGVubmE= aGVh cGxpc3Q= X1BMVUdJTg== 0YHQuw== Lmxvb2t1cA== 4buB IGVubGFyZw== IHBpc3M= SGFt aW1hcA== IGludmFsaWRhdGU= IHNpbGs= PSIjIj4K IEdyYXNz IEdvYWw= X3BkZg== SGFuZGxlcnM= IHN0YWNrcw== LmdldEZ1bGxZZWFy PVtdOwo= 6L2m LFY= KHNwbGl0 0YPQvdC6 IGJha2VjYQ== IH4vLg== cGV6 dGFpbHM= IEdsZW4= IHNldEltYWdl IENvbWlj QkxPQ0s= CVRoaXM= b2FkZXI= IGNhcGl0YWxpc3Q= X1NURVA= KEJvb2xlYW4= IENvcnJlY3Q= cmluYQ== IGNvbmNhdGVu 5a6e KCk6Cgo= IHVuYW5pbQ== bGxp YWxhcnM= LW5l IGRpdm9y IEtpY2tzdGFydGVy XS5f PG51bWJlcg== L21lbnU= R1JBUEg= dmlzaXRvcg== IGltcHJvcGVy X05FWFQ= IGJpc2E= YmFja2dyb3VuZENvbG9y L2lucHV0 IG1vaQ== R29hbA== bGlxdQ== IG1pc2NvbmR1Y3Q= IGNvbXByaXNlcw== YXducw== IFBpZQ== cmFpcw== cm9sZXVt IGN1cnNl eXU= X3BvbGw= LmN1cnJlbnRVc2Vy RVNI XSlb IHN0b3J5dA== KT87Cg== Kj0= IEJ1cmc= L2xheW91dA== X2JhY2tlbmQ= Oz8+PC8= IFdoYXRzQXBw IE1vdW50YWlucw== dmlzaW9ucw== Zmx1ZW5jZQ== LmNyZWF0ZUNvbXBvbmVudA== IFBzeQ== Zm9yZ2V0 c3J2 X0NPTVBPTkVOVA== IE5leHVz ICl7 ZW5kaQ== SU1VTQ== IEdG 57uE 4oCUdGhhdA== Yms= TW96aWxsYQ== IGRlZmVuZGVycw== LXNldHRpbmdz aW1taW5n IE9QVA== IENX IHRoYXRz IE9wZW5pbmc= UmVsZWFzZWQ= bnBt IGhycw== IGdyb3VwZWQ= LyIuJA== IEhpc3RvcmljYWw= KCQiew== b3ZpYw== KHNpZ24= IFBob3RvZ3JhcGh5 IHNpZ251cA== X0FSQ0g= LnRlc3RuZw== L2FuZ3VsYXI= UmVzdENvbnRyb2xsZXI= c2hpdA== dWxsZQ== LnBhdXNl KFtdLA== KHF1ZXN0aW9u aWxvZ3k= IEV1Zw== LWxvY2Fs IGt2aW4= IHJlc2VydmF0aW9ucw== b2JpYQ== IHN1YnNpZGlhcnk= IGFjY3VtdWxhdGVk IFFWYXJpYW50 IEJKUA== IE5vcm1hbg== IEludGVncmF0aW9u LlZhcmlhYmxl KFJlc291cmNl KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg== RXhwb3Nl ICd9 LkNPTE9S INGH0LjRgQ== QWpheA== IHRocnU= TW92aWVz IHByb3Bvc2l0aW9u L3RoZW1l TW9kZWxQcm9wZXJ0eQ== IEF3cw== IEFuZHJlYQ== IE1lcmdl LmZpbmlzaA== KHJlcXVpcmVk IFByZWw= ZWxlZA== 5pON5L2c LlRSQQ== TUFT IHJlYWxpc2Vk cm9pZHM= CWZu cmg= LiI8Lw== dmlkaWE= IGRlcHVpcw== IEJW TG4= IGx1c3Q= QXNj CQkJCQkJCSA= aXNsZQ== LWNhcmU= X0lOVg== IERyZXc= IHdoYXRz IENhcGFjaXR5 UGFybQ== X21vbml0b3I= LnN0dWRlbnQ= IFJOQQ== LmVuZHN3aXRo Ymlo IE1MQg== L3Byb2plY3Q= IHJlc3Rpbmc= c2VwYXJhdG9y eWQ= ZXJ0aWE= IG1vbml0b3JlZA== Ij4qPC8= LkZD IE5FV1M= IENhbGxz IGFkZXF1 Q2hlY2tpbmc= ZXN0aW1hdGU= IHJlY2FsbHM= X2ZyZXF1ZW5jeQ== IHVzZVJlZg== IEdyb3Zl IFhpYQ== IMOt ZXNzZW5nZXI= LWNvc3Q= LmZj IEt1bWFy LkZvY3Vz ZWxsYW5lb3Vz LkFsZXJ0 ZWF4 IG9yY2g= LnBt IGxhbmRsb3Jk KHBvcA== X2FjdHVhbA== IExC R3JhbmQ= LnJlbmRlcmVy IGxvYg== Y3VzdG9tZXJz IGNhcHR1cmVz V0lORE9X IGRvY2g= IGFwb2xvZ3k= IEphbWE= QFs= LnRha2U= bm9vcA== IGx1bQ== IGRpZmZlcmVudGlhbA== IGVmZmljYWN5 CUlO X0JPWA== X3Nk X3J0 Y29kZXI= b3VuY2VtZW50 aGFzQ2xhc3M= IHJpc2t5 IEVzdGFkbw== LURE IENhcnNvbg== U3VmZml4 IHRvZGE= IFRyYWNrZXI= IERlbGVnYXRl YCxg IFBhcmtpbmc= IG5lcg== YXpv IEZpbGVJbnB1dFN0cmVhbQ== IHJlY291bnQ= cWk= Y2tlbg== IHNvY2lhbGlzdA== IEludm9pY2U= INC/0YDQvg== JSIs ZW5uZW4= IHZpdm8= IG9yZ2FuaXphdGlvbmFs IHVuY29tbW9u dXRhcg== IGh1bGw= VHVlc2RheQ== IGFzc2Vzc21lbnRz KGFwcGxpY2F0aW9u IHByZW1pc2U= U3RhcnRUaW1l IGRr IGludGVyZmVy IFF1ZWVuc2xhbmQ= IGNyZWRlbnRpYWw= IGxlaXN1cmU= WVo= IENtZA== QlVT dXNhbg== CXZlYw== aW9sb2dpY2Fs IExvdHM= IGVubGlnaHQ= IGZyZXNobWFu IENPTU1BTkQ= IEFjdGlvbkxpc3RlbmVy dXRt YXJpdXM= VHdpZw== IHN3ZXB0 LXRvb2w= xJA= Y2hhcHRlcg== LWdyYWRl IGN1cmlvc2l0eQ== IHN1c3RhaW5hYmlsaXR5 IE1pbmVjcmFmdA== d2VuZA== SWZFeGlzdHM= IEN1bHR1cmFs IFNhY3JhbWVudG8= TGF5ZXJz U3Vic2NyaWJlcg== LkdyYXBo IGxt ZXN0eQ== YWR2ZXJ0 JHA= IEhvY2tleQ== IERFVA== c2V0VGl0bGU= eWFuZw== IGJhYmU= ZWxzaXVz VHJhdmVs IG1lc21v KG1hcFN0YXRlVG9Qcm9wcw== X1NFTA== LXBvcA== IGVtaXNzaW9u 4oCZLgoK LnN3aXRjaA== b3Rpb25z LnBob3Rv TFY= YW1vZGVs IHdvcmR0 SUdHRVI= IFRPREFZ T0xT X0lERU5U IGNvbW1lbnRpbmc= RGF0b3M= IGhpbGFyaW91cw== KGFueQ== IGRhbXA= LWNvbnRyb2xsZWQ= ICI8Pw== X2JsYWNr TmV0QmFy LnNldFNlbGVjdGVk Q3Nz IHF1YXJ0 IG93bmluZw== IEZJRUxE LnJlbHU= IGxpcw== 7Jqw LlJFTEFURUQ= IGxvaw== IEZsaXA= IHByZXN0aWdpb3Vz IGRn IElucHV0U3RyZWFtUmVhZGVy IHVzdQ== IGdpcg== IGFuYQ== X3B5 dW5uZWw= CXN5c3RlbQ== IGNvYXRpbmc= IEdlbnJl ZXJybw== IENMSUVOVA== IHN0cmV0Y2hlZA== Lkhhc1ZhbHVl Ozs7Ozs7Ozs= 54mI IGZpbmFscw== LmdldENoaWxkcmVu IC0tfX0K IENvd2JveXM= IEVkaW5idXJnaA== IFBsYXph YWJlbg== QXJ0aXN0 VVJB IEh1Z2hlcw== b2JiaWVz X25vaXNl Lk9iamVjdHM= RXhwcmVzc2lvbnM= IGFudGhyb3A= JykpDQo= KS4i Y3JpcHRpdmU= IHNhbG1vbg== IHdhc3Q= cmhv LnRpY2s= IGV4cGxvcmVz IEFsZ29yaXRobQ== Q2hhckFycmF5 4LiE X1BBQ0tFVA== SkU= Il1dOwo= Lm5vdGU= QmFja2luZw== IEhvbGRlcg== cmVpY2g= IFppb24= L2dy ICAgICAgICAgICAgICAgICAgIAo= TW90aW9u IFRyaWJ1bmU= IGNyaXRpY2FsbHk= IENSTQ== IGJsb3dpbmc= IGNvbW1pc3Npb25lcg== Sm9l IFRlbGV2aXNpb24= CXByZQ== IFRSQU4= IFZpa2luZ3M= IEJFVA== d291bGQ= LkNhcHRpb24= IGJhY29u aG1h bWVyZ2Vk IHN1YnNjcmlwdGlvbnM= b2NjdXBpZWQ= TGl2ZURhdGE= IGFsbG93YW5jZQ== cmlnZXNpbWFs ZGRk LmxvZ291dA== IFRhbmc= IHdhcm10aA== TW9kZWxJbmRleA== IFByYQ== IHNjZW50 IGhhY2tlcnM= IGlsbHVzdHJhdGU= SWNo IGRpYXM= Q0FTRQ== IFNjaQ== JHVybA== IE1PRFVMRQ== dXNob3J0 bGllcnM= IERldmljZXM= bWluc3Rlcg== dW5hbWU= IHVucg== RXhhbXBsZXM= IHJpc2Vu LmFp Y2hyb20= X3dvcmtlcg== IGFsaWFzZXM= TW91c2VFdmVudA== IHNldHRlcg== IFB1cnBsZQ== Sm9pbkNvbHVtbg== PWU= VEhPT0s= IFRvdw== IENydXNoaW5n IEplZGk= IEdyaWZmaW4= IGtvcw== X0ZT aW5nZXM= c29sZXM= KG5hbWVz IEJpZA== LXBvd2VyZWQ= TXVsdA== YW1pbGlhcg== LmNsZWFuZWQ= IFppbW1lcg== CWNsZWFy IHVuc3VwcG9ydGVk Q2FsbGFibGU= IHJlcHM= YWx0ZXJu X1JFUE9SVA== LmdldENvbHVtbkluZGV4 X1NUT1JF IHN1Y2h0 c3VidGl0bGU= IHBlcmQ= q5g= Lk5PVA== fT48Lw== OmQ= bWRp YmluZFZhbHVl IERlY2lzaW9u UmV0dXJuVmFsdWU= LGluZGV4 eGZj IHNlcnVt Z2V0RmllbGQ= Q29ubmVjdGlvblN0cmluZw== LW9iamVjdA== LnJlY3Y= IHVuZGVyZ3JhZHVhdGU= LkluZnJhc3RydWN0dXJl IEthYg== IGFkdmlzb3J5 LXRyZWU= IG11ZQ== aW5mb3Jt LmVtYmVk IGVycm9yQ29kZQ== bWljcm8= IHNwYXJrZWQ= IGltYWdlcnk= Y29uYw== X21pc3Npbmc= IHN1cnBsdXM= S1M= CVJUSE9PSw== VGVsbA== cml1bQ== IFJhZGl1cw== cmlrYQ== bG9zaW9u IEhlcm4= R2FtbWE= IEZlZQ== IE5hbWVk IENhbnlvbg== IEpTT05BcnJheQ== IHp3ZWk= IFNTSA== IHNlcnZhbnQ= Y29hbA== IGRlbnlpbmc= IHNwbGl0cw== SW5jb3JyZWN0 IHRveA== IEFuYWx5c3Q= IGFjY3JlZA== dWJsZQ== IHd0 IFRyaWFs LmV4dGVuc2lvbg== IENhcmVlcg== IHNlY3VyaW5n IExpbA== IHByb2plY3Rpb25z IHllYXN0 TWFkZQ== IGZvdW5kYXRpb25z YWNpZmlj LnZvbHVtZQ== IG1pcnJvcnM= IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM= IHZpb2xhdGU= YXJzZXJz IHNvY2lv IHRraW50ZXI= IExJTks= LmdldFNpemU= IFdob2xl KXZpZXdEaWRMb2Fk CWRvbmU= dWRlYXU= XCI+PC8= QW5kcmV3 ZXJi IGbDtg== LmNsdXN0ZXI= IGRpc2NvdXJzZQ== X0RFRklO IHB1ZWRlbg== IExPVw== LmF2 IHByZWNh IHF1bw== IHZlbG9j LCcn IHh5eg== CXBhZGRpbmc= IHRvbWF0b2Vz IEJlbnQ= X2N1cnI= TlNEYXRl IGdldEN1cnJlbnQ= IFtg V2VkbmVzZGF5 LkJhcg== IFZvdXM= aW56 IFF1aW5u ZXhjZWw= ZG9z IG91dGRhdGVk T1VUSA== IE1ha2Vy ZXBlbmRlbmN5 IGR1bGw= IFdpbm4= b2dl Y2xhdmU= IG5vdmE= IGF2YWw= Q2FwdA== IFNwb3RpZnk= IGp1bA== KXRhYmxlVmlldw== IGZpbGVuYW1lcw== IGVza29ydA== 5ZGo IHNrZXc= dGVyaW9y IGZpbmFuYw== IHRhYmxh IFVJQg== ICgpOg== IERvY2tlcg== cGVyY2VudGFnZQ== TWVldA== aWNoaQ== IGludGVyaW0= ICc9Jw== LkpTT05PYmplY3Q= KGZpZA== IGRvd250 IHRyYW5zaWVudA== IFN0ZXBo IGlnbm9yYW5jZQ== IENvZGVz PScnLA== IElDRQ== IHRyYW5xdQ== IEV4dGVuZGVk IG11bmQ= IEhPTUU= IGtpbG9tZXRlcnM= IGltYWdlbg== b3V4 KHN6 WW91bmc= dWZmZWQ= IFdha2U= IGFpZGU= UFJPQw== IFJhdA== IExpdGg= YmFydA== IEFycmFuZ2U= cHJvbXB0 0KM= KGN0 IEludGVydmFs ZGVwdA== RGFuaWVs IGZpbGxz LnRlbnNvcg== KHRyaW0= IGplYWxvdXM= RmVi XENvbW1vbg== IGFtZW5kbWVudHM= X29wZXJhdG9y X2N1c3RvbWl6ZQ== IF1d IGJu IGRpc2FwcG9pbnRtZW50 IG1pbGxlbm4= LndoZW4= IG9iZXk= IG9mZmVuZGVycw== V2lsZA== IGNlbGxGb3I= IGFwcGFyYXR1cw== LmFmdGVy IEVQUw== IGFkb3JhYmxl b3BlcmFuZA== KGxpc3RlbmVy dmVhbA== ICko IGNhcmRpb3Zhc2N1bGFy dXBsaWNhdGVz cmlzdG9s IHJlZnVzZXM= KFFXaWRnZXQ= IGVsZW1lbnRv TnVtYmVyT2Y= LmRlbGF5 Lmdyb3Vwcw== Ij4nKw== 5Z2A YWNlbmN5 KFVSTA== X2hhbGY= PWw= IGxpc3RWaWV3 KHNlY3Rpb24= LnRvQXJyYXk= Ky8= IFJvZHJpZ3Vleg== aXN0cmVhbQ== IGVsaWdpYmlsaXR5 Ojot Lm5ld0luc3RhbmNl UEI= IEFzc2V0cw== IENvbXBvc2l0ZQ== IExhYnM= IEhhbWFz KyspOwo= IGJsaw== IE5lbw== THVj QGxvZ2lu IHVuYXdhcmU= Lm1ldA== X1JFTEVBU0U= KFNU QU1JTA== cmlrZQ== ICgpewo= KHNwcmludGY= IEFjY291bnRz IFZJRVc= IEFq 44Kw IHdoaXNr IGlkaQ== IHJvZGU= IGlobg== IEVsZW1lbnRhcnk= UXR5 IGludHJpZ3Vpbmc= IOWk Sm9icw== CW9mZnNldA== IEFobWVk IFRhbGliYW4= IOiOt+WPlg== IGluamVjdGVk LkF1dGhlbnRpY2F0aW9u X2xpbmVhcg== LkRlY2ltYWw= IGFwcGxlcw== IHNoYXJlaG9sZGVycw== IGJha2Vk LmRpZmY= IEVkZGll b2tlcnM= IGNvbmZyb250ZWQ= dm9pY2Vz IHR1cw== IFNwaW4= Tk9ERQ== X1Vu Q1RY L2dvb2dsZQ== VGVtcGVyYXR1cmU= ICcnKS4= IG1hZ25pZmljZW50 IHN0YXJ0SW5kZXg= c2VtYmxlcw== QW55b25l ems= ZWhlbg== IERhbWU= LnN0cmljdA== IHJlcGxhY2Vz IGxpbmViYWNr IHB1c2hlcw== IGNoZWVr IFNoaQ== X0JZVEVT UkVB 4bqjbg== X0NPTk5FQ1RJT04= R2F0ZXdheQ== IFRyYXZpcw== IEFY IEJhc2ljYWxseQ== IFVwZ3JhZGU= 4Ko= dGhlbWVz ZXJtbw== a29y RmVtYWxl X2F0dGFjaA== IOyCrOyaqQ== IHBveg== PT09PT09PT09PT09PT0K KHN5bWJvbA== IFNlY3Rvcg== X18pCgo= X3BhZGRpbmc= 77yaIg== IGZhYnM= IHJhbmdlZA== c2V0TmFtZQ== IHBlcnJvcg== 4pc= IEZpbGVSZWFkZXI= IGZ1bGZpbGxlZA== X0N1cnJlbnQ= IGRvbWluYXRl IHNtdWdn UG9zdE1hcHBpbmc= X2ZvcmNl IGJsb2M= IEdpYW50 KHZpZGVv IENV U3lzdGVtU2VydmljZQ== IGVsZg== IGtvbnRha3Q= 66o= a2Vlcw== Z3Rr IHBhcmFtSW50 IG1hcmt1cA== dWFsZXM= IGFjY291bnRlZA== IGdhbmdiYW5n UllQVA== IFdyb25n IGNyZWRpdGVk IE1FU1NBR0U= IGZsYXdz IGJidw== IG1ldGFib2xpYw== IE9FTQ== L2V2ZW50 KENvbGxlY3RvcnM= bW9udG9u YXBwZWFy IG9wdGVk IGNoZWF0 IGRhdg== IFByb2NlZWQ= IOq4 YW5rZWQ= 0LjQtw== YW5zaw== IEhhbmc= IENsZXI= IGRpc2d1 IGNtYXA= LmNsanM= IGF1bWVudA== bGV6 IEpvaW5lZA== X3JlY2VpdmVk IGFlcmlhbA== b3RlbA== IGdyZWV0 InM= IEdlbmVzaXM= IENhbGlm cGFuaW9u IHRhaWxvcmVk bWFwcGluZw== YW5kRXhwZWN0 LnRyYWNr YXRvbXk= IE93 dWxsYWg= Llllcw== IFNpbXBsZU5hbWU= ZGJo J2Vu IG5vbnNlbnNl IHBoaWxvc29waGljYWw= KGdldENvbnRleHQ= IGlzc28= IEFDRQ== c3RhcnREYXRl IGLEmWQ= IEFVVEhPUg== IEdsb2Jl IGluc2VjdHM= X0Fs dXNoaW5n 6K6w L0hvbWU= IExvY2FsRGF0ZQ== bmVlZGVk aGVzaXZl IGlsbHVzaW9u 5LqM IHRyYXQ= eG8= L2RldGFpbA== X01BVENI IGJyb2FkYmFuZA== IHdhbA== IElsbGVnYWxTdGF0ZUV4Y2VwdGlvbg== SVJFQ1RJT04= IG5vcnRoZWFzdA== ZXNpdW0= IENsaWVudGU= dWxhbmNl bnR5 IHRlY24= RGV2aWNlcw== IGdyYWlucw== IE9n IFNFTA== dWRpYW50 ICsrOwo= IGV4cGxhbmF0aW9ucw== b2Njbw== IGRpZXRz IGNvaG9ydA== KGNvbnRyb2xsZXI= Lkl0ZXJhdG9y LXJpY2g= cm9jZXNz R0Q= IGNhcmJvaHlkcg== IGZyaWVk IEVtcGxveW1lbnQ= 7J6l IExlb25hcmQ= XyR7 cXVhcmVz IGNvbXBhbmlvbnM= IHBhcmlz IHN0aW11bGF0aW9u IFpvbw== IHJlbGV2YW5jZQ== IENvbG91cg== IHNwZWFy b3Rpb25hbA== IExpdGU= IEtvc3Rlbg== IMOz X2F0dGFjaG1lbnQ= b3JwaGlj IGRhbWl0 IGRsZw== IHRocml2ZQ== Q0hBTkdF IEFwcGFyZW50bHk= IGF0dWFs IHJvb3RlZA== KGltYWdlcw== YXdp YXJpYXQ= IGNoZXJyeQ== U1RBVElD bW50 IFVzZXJJZA== aWxsZXQ= IEhpc3Bhbmlj IG5haw== IGNlbnRybw== IGRpbXM= X2luaXRpYWxpemU= xLFr IENlbnRlcnM= UkVO IGV2b2x1dGlvbmFyeQ== IFRvcGljcw== X2RhbWFnZQ== ZW1lcg== IHJ1bmQ= IHB1bmlzaGVk IGN1Ymlj ZmFpcg== W107Cgo= IGluc3RhbnRpYXRl IG92ZXJzZWU= LWRlbGV0ZQ== dW50ZWVy c3RhcnRUaW1l IFBpcGVsaW5l X0dBTUU= IENpcg== CU51bGw= LkZvcm1hdHRpbmc= dWN1bWJlcg== IFJpZGU= IHpvbw== IGNoZWNrZXI= 5ZCM PUM= IGdyaXQ= Iik7Ly8= X3h5 IERlY2xhcmF0aW9u IGNhbGxhYmxl Rm9v IExpc3RJdGVt IGluYWNjdXI= bWxpbg== CURhdGE= IGV2b2x2aW5n YXdhbg== IGNhZmU= Zm9saw== X0lEWA== IEFueXRoaW5n IFBhbGVzdGluZQ== IEdyaWRWaWV3 IGNvbG9ueQ== IEdlcm1hbnM= KCs= LnBpZA== LmpzeA== IFN1cGVyaW9y Q2hyaXN0aWFu IExlY3Q= CUdhbWU= IGluc3RydW1lbnRhbA== QW5pbWF0aW9ucw== 0LTQsNC7 IE1vc2Vz CQkNCgkJDQo= enM= a3Rl 5Lia X0RJU1Q= Yml0bWFw ZEI= IHBlcnNpc3RlbmNl 0YDQvtGB JGw= QnJvbg== IHt8 X2NoYXJ0 IENvbnN1bQ== IGhlbXA= ICIpKQo= IGF0dGFja2Vycw== IGtub3dsZWRnZWFibGU= IGNldA== IHZpcnVzZXM= J0k= IHBpdGNoZXI= IHN3ZWVwaW5n PWxpc3Q= YXB0b3Bz LmRlcHRo IGluc3RydWN0ZWQ= IFJ1cw== YmVuaGF2bg== INC40L0= U3BvcnRz IG9uc2V0 5p2D LlJFRA== X3Np IFBTVA== Lm9uQ2hhbmdl PnRhZw== IFJvaA== X2NoYXJhY3Rlcg== IExhd3M= IEJhY2hlbG9y X3N3YXA= LnJlYWN0aXZleA== IHJld2FyZGluZw== TWVkaXVt LVs= IFJlY2VudGx5 Sm9pbnQ= cGFydGl0aW9u IE1pbnV0ZXM= IGluZG8= IGFic29yYmVk IEdO X0lORA== IHNhYmVy U3Bhd24= b3V0cHV0cw== IEplZmZyZXk= IG1lZGlldmFs aGVk R3VpZGU= IHBzeWNobw== IGdsYW0= RWxpbQ== w6RkY2hlbg== X3BsYWlu IFNhdQ== LWZvdXI= IGFuYWx5emluZw== UVVFUlk= IHRvbWF0bw== X2J1dHRvbnM= VkVO LnNldFN0YXR1cw== LlVybA== KwoK IGNvbXBsYWluaW5n ZGVncmVl Y29uZmlybWVk IHN1YnQ= cGFyc2Vk IHRvcnF1ZQ== IHRyb3VibGVk IFRBUkdFVA== IHRyYWRlbWFya3M= IENvb3JkaW5hdGU= IFZpdg== IC8vfQoK IGFwcsOocw== LmdldFBvc2l0aW9u KEtleUNvZGU= IFNpbHZh IG1ldGVvcg== IGVuZG9yc2VtZW50 T3ZlcnZpZXc= IFBvc3M= LkluamVjdA== IGV2ZW5seQ== IHZpc3VhbGl6YXRpb24= IHdjaGFy IEhETUk= IGZ1bmN0 aWNrbmFtZQ== JywnJywn IGZvcndhcmRz TWFuYWdlZE9iamVjdA== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= CXNlcnZlcg== IE91dGxvb2s= IENocm9uaWNsZQ== IGR1YmJlZA== IGRvaw== IFdlYXI= LkFM cGFyZW4= LkludGVyZmFjZQ== SW50ZXJmYWNlcw== LmNvZA== IGRpYg== Lkdsb2JhbGl6YXRpb24= IEFjYWRlbWlj IGFzc21z QXV0b20= IGx3 IE5X ICYmDQo= IHByb2JsZW1h IE1hbnVmYWN0dXJpbmc= bGltaXRz LW1vYmlsZQ== IGZpbG1l L21hcA== IGRvaXQ= IEluaw== IHN1ZWQ= LmFycg== IHVuZGVybWlu IFByb2M= Y3JvbGxWaWV3 X18k IHNpZGV3YWxr KHRoYXQ= 4Li3 W3E= Z3JhbW1hcg== IHTDqw== cXVpdG8= IHNwaXJhbA== ZXh0ZW5kZWQ= IGZvY2Fs IGRpZ2dpbmc= cGFz IFRhbGw= LnByb3h5 aXR1cmVz VFJBQ1Q= IFJlYWxt IGZlZGVy IG9yaWVudGVk IEFsdGVybmF0aXZl IG93ZQ== IHNvdXJjZWQ= aW5rZXI= LmRldA== U2Vw IFF1aQ== IFBhbG1lcg== KF8s c2FtcGxlcw== b3llcg== dWxsYW4= cXVleg== RWRnZXM= IHNob3V0 IEFjaGll IGhhYXI= X0NvbnN0cnVjdA== IHByZW1hdHVyZQ== IHJldmVydA== JykuCg== IHNjaG4= ZmlsdGVyZWQ= bnVsbHB0cg== U2F2ZWQ= aXRlY3R1cmU= Q0xB IHZs c3RlbGw= CU1l IExpcA== bmF0aW9uYWw= IHdob2xseQ== IHNwcmluZ3M= LlRpbWVy CXNyYw== ZWxzZW4= 5YW2 IGNvbW11bmljYXRpbmc= IFF1aXo= IHRlbmc= IGdleg== IE91dHNpZGU= LlNpZ24= KGNz IGRpc3B1dGVz IFdlaXNz YW5uZXM= Pk5v IEJhY2g= LnJlbW92ZUFsbA== cmVmZXI= L2Rhc2hib2FyZA== IEFqYXg= SW5kZXhDaGFuZ2Vk IFdlYWs= JyIK IHNpZ2h0cw== YWNjZXNzVG9rZW4= IEpvaQ== KGRvbWFpbg== CWN2 IGNvbnRpbnVhdGlvbg== IHBsdW0= YWRpcg== LnNldE1lc3NhZ2U= IO+8jA== IHN3YWxsb3c= IExhbXA= IHF3 IHV1 Q29pbg== dWJpYw== IERlYWxz cmFjZQ== IGRpY3RhdG9y IG1lbWU= dHVybmVk IEp1bGll LmdyaWRDb2x1bW4= IHB1cHB5 IHBhbQ== ICl7DQo= IGludml0aW5n IGZyZW5jaA== dmlt IHdyYXBwaW5n ICMtfQo= KFst RWFybHk= IHNoaW55 LmZhY2Vz IHJlYmVsbA== YWJjZGVm w6RsdA== IGVzdGltYXRpb24= cGh5cw== bG9zdXJlcw== X1JFTA== IGV4Y2x1c2lvbg== IFNreXBl d2Vpc2U= LXN0b3A= bm90aGluZw== IEVnZw== aXNvcnM= UmljaGFyZA== IGNvdW5zZWxpbmc= IGNvbW1lbQ== IFFNZXNzYWdlQm94 IFN5bmQ= IEZyb3N0 IENvbXBldGl0aW9u IEF3YWtl IHRlZA== aWNpb25lcw== IERldkNvbXBvbmVudHM= VkVSVElTRU1FTlQ= b3R0aQ== LnJ1bm5lcg== IHVuaXF1ZWx5 LmZsYWc= CXJz X2dlbmVyaWM= IGBgYAo= QUNISU5F IG1laW4= KEFwcGxpY2F0aW9u KGJy IHJhdGlvcw== Oiw= IFhDVGVzdA== dXN0YWluYWJsZQ== LXd3dw== aXRsZXM= X1RFTVA= IHN5c3Q= dW1lcmljVXBEb3du CWFzc2VydFRydWU= IHdm LnBlZWs= IEJ1bGc= IHRlcnJpZnlpbmc= Lk1PREU= IEdX w6Fy IGZpYw== IGNvbW1pdG1lbnRz LXRlY2g= IExpcXVpZA== b3Bleg== emhlaW1lcg== YcOxYQ== LW1lZGlh KGFuaW1hdGVk X2dvYWw= IGd1bQ== eXN0b25l LlNFVA== IFdlbmQ= c2V0Q2VsbFZhbHVl IG1zZ3M= Y2FzaA== QUxMT0M= L2F3cw== IG1pY3Jvd2F2ZQ== LlBvaW50ZXI= CUNvbnNvbGU= X3NvcnRlZA== IEZpbGlw UHJvZA== IC8vITw= aW5ncm91cA== IGtz X1RSSQ== IHRlYXNwb29u IEFUVA== IHJlY292ZXJpbmc= IEdMT0JBTA== LlBhcg== IC8+Owo= IG1hcmJsZQ== dWxhdG9ycw== IEN5Y2xl IGhlcmJz X21ldHJpYw== KSE= X0NMT0NL X0J1dHRvbg== SGFycnk= 6L+b IHN0cmFpbnM= IEFwcEJhcg== IENoYW4= L3ZpZGVv IGJhbQ== LlByb2dyZXNz JGY= bGVtZW4= IGlycmVndWxhcg== IER1bmNhbg== IE1pbnQ= LXZpZGVv 4Ka+ w7N3bg== IEVNUFRZ IHN0YWNrZWQ= IEhB X2N1dA== IHdoZXJlaW4= IFdheXM= KGNvdW50ZXI= 6K+V Rm9ybUdyb3Vw IGJsZXc= Y291cnNlcw== IHByb2R1Y3Rvcw== cnlz IFJlc3Ry IHN0eWxpbmc= PnM= IHBpdg== IGl0ZXJ0b29scw== Z2V0UmVwb3NpdG9yeQ== IElr X2RldmljZXM= bGF5dWk= IGhhbGZ3YXk= IGZyYW7Dpw== IHR1bmluZw== T0E= X05vZGU= YXJkZQ== IGZpZXJjZQ== bGljdGVk Iw0K IGJyZWFrdGhyb3VnaA== IEVyaWs= IGJyaWRl IC4i Y3VsdXM= aW5zaWRl IEluZGlhbmFwb2xpcw== IEVF IHlvZw== dXJyZXQ= LmZz LmdyYWQ= X2NhcmRz X2FjY3VyYWN5 X2VwaQ== cXVlZGE= L29yZw== 6aqM IGNvbXB0ZQ== KSlb T3V0c2lkZQ== R3JlYXRlcg== IFJlbmRlcmVy LmFjdG9y QWNjb3VudHM= SWRsZQ== X2hvdXJz ZXJuZXI= Sm9pbmVk IG1lbmo= cmVxdWlyZXM= IE9QRVI= LnJlbW92ZUNoaWxk CXNw IGVzc2U= cmlmdA== eEZF IFNoYWtlc3BlYXJl X19fX19fX19fX19f IGJ1ZGdldHM= TW9kZWxTdGF0ZQ== ZmlsbGFibGU= LWNvbXBvbmVudA== b2Nvcw== IEJVVFRPTg== L2lv LG91dA== c21z VGhvbWFz IEFybWVk cmVzdW1l IHJvdGF0aW5n IFZhdWx0 IHNldXM= Ligq IGFtaW5v IFtdKTsKCg== IHByb3ZvYw== bm94 LkdldEVudW1lcmF0b3I= PT09PT09PQo= 5paZ X3Njcm9sbA== IGZpbG1lZA== IFNvY2k= Z2Fw Z3Jv Vm90ZQ== IkJ1dA== X1JD QW5pbWFs woA= aWJpbGU= IGF3YWtlbg== b3Jlc3Q= aW5qYQ== IEl2YW4= KENvbW1hbmQ= ICoqKioq zrc= IGt2aW5kZXI= L2hlbHBlcnM= X2Nhc2Vz dGc= 7IS4 UmVnaXN0ZXJlZA== CXBhc3M= X2RpZ2l0cw== IGNvbnRvdXI= IGluZmFudHM= IGp1c3RpZmljYXRpb24= IEZvcnR1bmF0ZWx5 Q29udHI= IG9uQ3JlYXRlVmlldw== X1NBTVBMRQ== IGFsbG93TnVsbA== IG51ZA== IGZldGNoZWQ= X2VxdQ== IFVuYWJsZQ== PVwiIg== PnsK IGNvbW1pdHRlZXM= aXN0ZW1h KyIu w61hbg== bWFudA== IHNvdXRoZWFzdA== 77yMCg== ZGlhbG9ncw== UFJPSkVDVA== Y2hhcmdlcg== LXBvcnQ= KHV1aWQ= LmV4cG9ydA== U2l4 IFJQ UHJlbQ== IGNvbnNjaWVuY2U= IG1hcmdpblJpZ2h0 X2Rpc3RyaWJ1dGlvbg== eWFtbA== cmVzaXppbmc= RG9jaw== IExvY2F0aW9ucw== R1k= U2VlZA== QlVGRkVS b3NzaXA= dWxsZW4= VGhpbmdz LXNlbGY= LnBvbGw= UExBWUVS IOWu R1JPVVA= IEF3YXk= IGdvc3BlbA== eGZk TWFyeQ== IFBvcnRhYmxl VFVSRQ== IHV0aWxpcw== IHNlaXQ= IHN0cmFuZA== IHRyYW5zYw== IChe IEFsZnJlZA== Lm1lbQ== LmNpcmNsZQ== IH4v Zm9yY2luZw== IHJpb3Q= cHJveA== VEhPTg== aXphY2nDs24= IE5J cm9zdA== IGRpc3Bybw== X2luc3RhbmNlcw== 77yM4oCc b2dyYXBoZXI= ZW5kYXM= IElzYWFj IFBpbmU= L2Rpcw== IGNvbG9yV2l0aA== aXRlcmF0ZQ== X3N0cmlkZQ== IHB1bnRv LkV2ZW50QXJncw== KGNlbnRlcg== IG5laWdoYm9yaW5n IFByaXNvbg== IE1lc3Nlbmdlcg== IGVwaWRlbWlj ZGFv X2NvbXBsZXg= IGdyYXZlbA== X0RJUA== w6ltZW50 IEFyaQ== X2JpdG1hcA== LnF1aXQ= KHZhbGlk IHBlbmQ= IHJlc3BpcmF0b3J5 IHJlYm91bmQ= RGVmYXVsdFZhbHVl 44Ot IGNvbW1pdHM= LnRlc3Rz X2Zy aXRldA== LnNm IHNwYWNlY3JhZnQ= Y3JpdGljYWw= IGRlcHJlc3NlZA== IEFueU9iamVjdA== IHVuYg== IGRpc2Nlcm4= KG15c3Fs TGF0aW4= IEJvZw== IFdpbGRsaWZl VG9GaWxl aW94aWQ= QFJlc3RDb250cm9sbGVy ICIkKA== IDw8Ig== IGRlZmVjdHM= IGRhdHVt aGlu IHJlYWxpemFy YW55YWh1 IFNpZw== QERhdGE= YWRhcHRpdmU= IENhdGhlcmluZQ== LmNy IENPT0tJRQ== IHBpY3R1cmVk IEZpZ2h0ZXI= UXVlcnlhYmxl IEFueXdheQ== IEdMRlc= X25hbWVzcGFjZQ== X2Z0 IF0p T3JnYW5pemF0aW9u IGNvbnN0aXR1dGVz IHF1YW5k KGNodW5r Ii8+DQo= IExha2Vz bWFpbndpbmRvdw== Q2FydGh5 c3Bpbg== KGNzdg== OnJlZA== LWNvbW1lcmNl 4Li5 IGRpc2NvdmVyaW5n IGVjbw== X2ZhYw== aW5jZXRvbg== IEdyZWVucw== and0 2LU= IEJyb25jb3M= IEdvb2Rz KEdUSw== IHJldHVyblZhbHVl IHNpZW1wcmU= IG5ldXRy d2VudA== IE5hdGFs IGVudGh1c2lhc3RpYw== 4buN Rk4= L2RhdGFiYXNl Q2F0YWxvZw== IGJydW4= IEthc2g= X1Bs aXNjcmlt LHdpZHRo IGlubWF0ZXM= QXNzaWdubWVudA== IEhhdmVu IHBsYXlncm91bmQ= ZXhhbQ== QENvbnRyb2xsZXI= dWxpYXI= LmdldFBhcmVudA== ICI7Cgo= OnNpemU= aXNzb3Jz IGZpcw== IGFsYw== ZW5zYXRpb24= IE5peG9u IG1pZ2h0eQ== LXN0cg== X3NwZWNpYWw= X0FEQw== IFR3aWc= dW1ibGluZw== LWFkZHJlc3M= IGhlcm9pbg== WVRF ICAgICAgICAgICAgICAgICAK RnJpZW5k IGF2ZQ== IFBORw== IEt1cmRpc2g= RGF0YVNldENoYW5nZWQ= IGJsYWRlcw== YnJhbA== U3RlYW0= IHNpZ3U= SVJUVUFM YWNvcw== VURQ KGRhdGFiYXNl aGVj IFN0cmluZ3M= X3NjYWxhcg== CWRlc2M= IFRMUw== OyIK IENvcmJ5bg== U2ltcGxlTmFtZQ== dWVsbA== IEVudHJl ZWxsaXRlcw== LXBsYWNl IGZyYW5rbHk= IEVyZg== Q0VM IHBhw61z IGhlZGdl IGxhdGVudA== IElSUQ== IEhlcmFsZA== IFByZWM= 67O0 LlRFWFQ= U2FsYXJ5 IGF1dHVtbg== IHRyYXZhaWw= LlN1bQ== IGNhcmVk TW9y IGludHVpdGl2ZQ== IGpvdXJuYWxz X0lU IFRyb3U= 5Lyg SGFzQ29sdW1uTmFtZQ== Q29tcG9zaXRl IHNwaWNl X2Rpc2s= X0NPREVT IEludHJvZHVjZWQ= aW9uYQ== IG51ZXN0cmE= b2N0 ICAgIAogICAgCiAgICAK KHBhcmFtZXRlcg== IHN0dWRpb3M= IHByb2plY3RJZA== IGJkc20= LlNxbENsaWVudA== aW1pemVy IENBUkQ= K3Q= YWFu LnNvbA== X0FkanVzdA== IHJpZ2h0ZW91cw== IExvZ2dpbmc= LmZpbHRlcnM= X1RBQg== CXN5cw== cm9waGlj b3RoZXJhcHk= IEJyb3dzZQ== a2V5Ym9hcmQ= Uk9O K1w= cm9wcGVk IGV4dGVuc2l2ZWx5 Zms= IGxpbWU= eWVhcnM= RXhj IHNwaA== IGNoZWF0aW5n YW5kcm8= w61v IHByaW5jZQ== b2lyZQ== IERlc3RpbmF0aW9u IENvbnZlcnRz IHVwc3RyZWFt b2xlZA== IHNlcnZhbnRz IHNlbWFudGlj IGNydW5jaA== IGV2ZW50dWFs cnVubmVy L2Vycm9y U3Bpbg== IHNlY3JldGx5 IGFzc2VtYmxl LlBlcnNvbg== ZW5kZXJyb3I= Xzw= IHBlbmRhbnQ= U2xlZXA= IENoZW1pc3RyeQ== IGJvc3Nlcw== bGs= KSkpLAo= QmxvY2tseQ== REVWSUNF IHJlZmxlY3Rpbmc= IGFtcGxl TWlsbGlzZWNvbmRz IFByZXNpZGVudGlhbA== IHVzdWFyaW9z IE5a IFNhbGFyeQ== IEFtYW5kYQ== X25w anVyeQ== IGvDtm4= IHRoZXJhcGlzdA== IGhvbW9zZXh1YWw= IERyYWtl LXdpbmRvdw== IExvY2F0ZWQ= LkRyaXZlcg== IFZJREVP IG1lcmNoYW50cw== IENoZXN0 LWxvY2s= L3BocA== IG1pbGFubw== X1NUWUxF YXJnZXI= aWRlYQ== R1VJRA== YWR2YW5jZWQ= bWVhbA== T3B0aW9uc0l0ZW1TZWxlY3RlZA== PScl IENoYW0= OmRhdGE= KHN0YXQ= V2lsbEFwcGVhcg== IGluZm9ybWFs YWpp IHJlcHJvZHVjdGl2ZQ== IENBUw== 44Gj RlVOQw== IFJ1dGg= KSso Q09OU1Q= IEZhbnM= IGdyb3VwSWQ= eGZmZmZmZmZm IHNhbXBsZXI= IH19Ij4= LnRoZQ== IGhvbGxvdw== V0FZ IEZhY3VsdHk= QXR0cmlidXRlZFN0cmluZw== IExvb2tz IFJleA== ams= IE1JTA== IGJhcmQ= Lkxvbmc= IGxpdmVzdA== IHNrYWw= aWNpc20= TUFJTg== IG11Y2hv Qk9EWQ== IGVzZQ== CXVzZQ== Rm9vdA== LlNRTEV4Y2VwdGlvbg== IGluaGVyaXRhbmNl cmVjZWl2ZWQ= IHB1dGFz ZWRpcw== YWxzYQ== IEVycm9yTWVzc2FnZQ== Qm9va2luZw== IHRyYWN0 YWN6 IENhbnQ= X3JlZ2V4 IGlkZW9sb2dpY2Fs IGppaGFk aG9z L3N5cw== Y29sbQ== KHBvb2w= IGVzdMOhbg== IFBlbmRpbmc= ZW3DoXM= IGt0w7NyeQ== KSk7CgoK dHJhbnNhY3Rpb25z IHdpZWxk aXRlcmU= ZXJ0dXJl X3Nz IHN0cmV0Y2hpbmc= IHByaXNvbmVy LlJlYWRBbGw= IGJlc2No LS07DQo= IGNyaXNw X1NDQU4= IGFl U3RyaWN0 IE1pbm5lYXBvbGlz IEJvZWluZw== YXJpcw== cmVr X3BpcGU= IHByaWVzdHM= KEVJRg== ZWhpY2xlcw== IEludGVyYWN0aXZl YmV0d2Vlbg== CU51bGxDaGVjaw== IEJsYWly IEx0 X2lubGluZQ== ZXRoeWw= wrw= X3BhY2thZ2Vz IGJhcnJlbHM= X2hl IHJlZ2V4cA== X3B0cw== X0hhbmRsZXI= aW5ndWxhcg== IE5pc3Nhbg== IFJhbmNo IHBlcmNo VW5zdXBwb3J0ZWQ= U21pdGg= IExlZ2VuZHM= TWk= IGdm c3RlZGVy IGFjcXVpcmluZw== IHNpbXVsYXRvcg== KCksIg== cmVjZWl2ZQ== IGlucGxhY2U= QUNUSU9O IFdlYkRyaXZlcg== ZmlsZXN5c3RlbQ== PE9yZGVy bG9wZW4= IEhFSUdIVA== LnNldEJvcmRlcg== jbA= X19bIg== IGNsYW1w U2Vnb2U= YmFuZHM= dG9MaXN0 YW1iYQ== PicrCg== IGNyZWRpYmxl YW1hdA== cGxheWluZw== LnNldEltYWdlUmVzb3VyY2U= cXVlbA== IHBvZHI= Z2VvbQ== RWs= IFFhdGFy IGdlbGQ= PycsCg== IGN5bA== KGF4 IFdJ dXJhbGx5 IEJyYXNpbA== IHNlbnph YWxleQ== b25lbg== IGJhaA== IG1vbGVjdWxl UmFk 6L+w QU5DSA== LWJhY2tncm91bmQ= LWFnZW50 IHByb2xpZmVy OmJvb2xlYW4= IHRpZGU= ZXJpYWxpemVy XzsNCg== RmVl Kiop ZXJneQ== IEhvbm9y LkxvZ2dpbmc= aXJpcw== IHVuZGVybWluZQ== IER5 IHR5cg== IGRlcXVl IGRhbWVy KFtdKQo= LmxheW91dENvbnRyb2xJdGVt cGVhdGVk Q0FO cmFnbWVudHM= TGFuZA== KV0pOwo= IFNhaA== IERFQ0w= V2l0aGlu IE5hbWVzcGFjZQ== YW5vdGhlcg== c2VtYmxpbmc= LmRlc2NyaWJl Q29uc3Vt IEZlYXI= Z2l2ZW4= T3Jhbmdl PGJvb2xlYW4= IHN0ZWFkaWx5 cGFSZXBvc2l0b3J5 IHJlc3VsdFNldA== X0VOVEVS X3JlcGVhdA== IHRvbmVz IFBST1A= bmFs cGFydGljbGU= IHNpZ25hbGluZw== IGFjY2Vzc29yeQ== CQkJCQkJICA= IHZpZWxl IE5vYWg= LWFn IG11cmRlcnM= IGFpcmVk IFBMQVk= IFN1bGxpdmFu X0NvcmU= IHVsb25n IGJsb2dnaW5n PlRoaXM= IGRhdGFJbmRleA== IHByaW50YWJsZQ== IEV5ZXM= X3RhcmdldHM= KFB5 Lm92ZXI= IGJydQ== YW1wdG9u IHBsYWludGlmZg== PEtleQ== YnVsbA== IOKfqA== SXNzdWU= LmNvcm5lclJhZGl1cw== Q3JpdGljYWw= X3BoaQ== LmFuZ2xl IGR5bmFtaWNhbGx5 ISIpOw0K Pik7Cg== aW52ZXN0 LioKCg== IHTDqWzDqQ== IHN1cGVyZg== IGNhc2NhZGU= RFRE IHZpdmlk IHN1YnNpZGllcw== IEhhc3M= IGNvbGxhcHM= IGNlcmFtaWM= e30iLg== IExlYWthZ2U= LXRyYXNo Y29sbGFwc2Vk LXNvY2lhbA== IENoYWQ= IGluY2xpbmVk IHN0bw== IHN0b3J5Ym9hcmQ= LnBheW1lbnQ= c3RhY2tvdmVyZmxvdw== IFJhaWRlcnM= ICMn b2xpY2llcw== 7Jy866Gc ZW1hcA== IGtq IHF1b3Rh IEdhcmRlbnM= 67KI IEFuZ2Vscw== IG9mdA== IGxvd2VyY2FzZQ== IGlQYXJhbQ== IGNoZWFwZXN0 dW50YQ== X3BrdA== aWNhdG9ycw== IGxldXJz IGRlY3JlYXNlcw== CWRlZmluZQ== UFJFQw== YW1tZXJz IFByZXBhcmVkU3RhdGVtZW50 KGRpcmVjdGlvbg== IGNyZXdz YXJrZWQ= IE1lbXBoaXM= IFNlbGw= R1RL IG1haWQ= OmRpc2FibGU= 6ZuG IFBm IGFsYmVpdA== b3Blbmg= Pz4iPgo= LmdldFNvdXJjZQ== KHNjYWxl RHU= IFBJTA== X3JlZnJlc2g= IGJldHM= KGNhcg== IFZvbg== fC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCg== IEdyYXQ= TXVjaA== KERpYWxvZw== LnN0b3BQcm9wYWdhdGlvbg== IHRlaw== IGV4aXRz J10sJA== IHBob25lTnVtYmVy dWNz ZWNpbWFs LS0tLS0tLS0tLS0tLS0= aW5w LnBvam8= IGNvcnB1cw== IHByYWN0aXRpb25lcnM= LnBpYw== InRlc3Rpbmc= IHN0cmluZ0J5 Lk5vdE51bGw= IHJhbmc= LkR5bmFtaWM= X1JlbmRlcg== 0LDRgtCw V2FpdGluZw== IFdpaw== IG92ZXJ3aGVsbWVk JSI+ IEFF fX0+Cg== dXc= X3R5cA== IGJ1Y2tldHM= IGdyZWV0aW5n IGxhdWdodGVy IGFudGFnb24= dWdnZXN0aW9u LWVtYWls CXRvcA== IGVyb3M= X3RyaQ== IGlzc3Vpbmc= IGjDoQ== IGlzb2xhdGU= T3ZlcmZsb3c= LEU= IG51dHJpdGlvbmFs IEFiYm90dA== IG5m LnRvdWNo LmZldGNoYWxs X3ppcA== Iil9Cg== IGFtYXQ= IENpc2Nv IG7DpQ== UExFWA== IHNlaQ== Zm90bw== LnRvSnNvbg== 5aSa IEtsZWlu IGxpYmM= IG1pbmVycw== 5aI= LXByaW50 IFByaWRl VG9kb3M= IG1hc2tlZA== IHNldERhdGE= IHRlbGVmb24= IHVuaGFwcHk= IFRhYmxlcw== Z2Vi KGRlYnVn X2FsbG93ZWQ= LWFjY2Vzcw== IGxvZ2lzdGljcw== IGdlbXM= IE1hdHVyZQ== IHJzcA== IEFsbGU= LmdldEJ5dGVz XHdlYg== eW5jaHJvbml6ZWQ= UGFyYWdyYXBo IHRocm90dGxl LnNxbGl0ZQ== Y29uc3VsdGE= IFNlYWg= Q2U= IHN1Ym1hcg== RVJF Vm91cw== IHJlZGRpdA== IHNxbGFsY2hlbXk= LW1pbGU= b2NpZGU= UG91cg== fX0iPgo= c3RlYWQ= IEAo IFtdKQ== IEFkcw== IG92ZXJsb2Fk cmlkZGVu IERlc2VydA== IFdyYXA= IFBvcnR1Z3Vlc2U= ZXR6 CWZpcnN0 IG1pbGVzdG9uZQ== 5peg 0YPRiQ== KHN1Y2Nlc3M= PFZlY3Rvcg== Y29vbA== IFtdKTsK ZXJ2YWxz IGludmVydA== Imlv Y3Vyc28= ZnJhZ21lbnQ= IGZlYXNpYmxl LnNldFBvc2l0aW9u IGVsbQ== IGltYWdpbg== QFNwcmluZw== IGJhdHM= cHXDqXM= Z2FsZW1lbnQ= bnNpYw== Z2llbmU= ZWxsYXRpb24= IEJhaWxleQ== U2hhcg== IFR1bA== IEhL IGZyZWV6aW5n Z2xt Y2VhbnM= LWN1dA== X2NpcmNsZQ== 5ZGY bmVnYXRpdmU= IGluZGlhbg== c2FsdA== IHRpbmc= CW1vZA== IHNpbnQ= YWtpbg== dW1s IFRleHRJbnB1dA== IHBvcHBlZA== VE1Q IHBhcmtlZA== 15nX IEZ1c2lvbg== IGhlYXRlcg== RVRG cm96ZW4= aGFsbA== IE1paw== bGV2YXJk LWhlYXJ0 CW9yZGVy TWFraW5n IHBsZWRnZWQ= IGRpcnM= JHBvc3Q= IEhlcnI= c3RhbnRpYXRl LCIK LmdldENvbG9y IFNBVA== IHRpbWVkZWx0YQ== IE1haQ== CW1ldGhvZA== IGlkaW90 IFRyYXY= aWRlbnRpZmllZA== IERpdmluZQ== LmdldFBhdGg= RGFzaA== IGluZmlsdHI= IGhhbmRsZVN1Ym1pdA== YnJvb2s= LmdlbmVyaWM= LnNob3J0Y3V0cw== Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLg== IGRhdGluZ3M= IE1W 77u/Iw== fSIKCg== IGltcHJpc29ubWVudA== YXNvbmlj cm91ZA== dWNpb24= 5oql IGRpYWxlY3Q= IG9uTW91c2U= Y29uc3RleHBy LmxhYmVsQ29udHJvbA== IHdlYWtlcg== IG1hbmtpbmQ= IFJFQ0U= IGRpeg== IGFwcEJhcg== IHF1w6k= ZnJh X2RlZmF1bHRz IGFsaXF1 X2F0b20= OmluZGV4UGF0aA== IG1pc3Nlcw== IHZpc3VhbGx5 IEhhbmRz U1RSVQ== aWF0ZXM= X2Fzc2V0 RmluZGVy bWlkdA== IHNuYWNrcw== KF9fKCc= LnVyaQ== IEluc3RydW1lbnQ= dmVuaXI= KCRfXw== LkRvdE5ldEJhcg== IGNvbmZpZ3M= IGd1ZXNzZWQ= 4KS/4KQ= IGluaXRpYWxpemVy ID8iLA== IFZlcml6b24= bWFuaWZlc3Q= Z2ViZW4= LmRldGFpbHM= R2F0ZQ== cG9uc2libGU= IEVsaW0= LHN0cg== IHdyaXRpbmdz IERlcmVr IENvb3JkaW5hdG9y IHBpbGxvdw== IG5vdGljZWFibGU= UnM= IGR1cGxpY2F0ZXM= ZXJuZWxz a0o= Lnp6 b2xsYW5k IFNFQ1RJT04= X2ZuYW1l dWZmbGVk J10uJzwv X0NN IHly cGxhdA== b2JvZHk= bmRl KEVsZW1lbnQ= IEF0bGFz IO+8iA== IG5pdmVs IGluc2lzdHM= W1A= IGVudGh1c2lhc3Rz IOyeheugpQ== IGJldmVyYWdl e30iLA== OnJpZ2h0 IG5vdXZlYXU= IENvbXBsZQ== IFBhZw== b3ducw== IHJlbWVtYmVycw== IFByYWRlc2g= IGNoYWxr IExhdXJlbg== XFNlcnZpY2U= X0dFTg== PiIpCg== IERvbGxhcg== IGVtb2pp Q2Fyb3VzZWw= LXBsYXllcg== IGFkanVzdGluZw== IGp1Z2E= YWxsZW5nZXM= Z2VuZQ== KGJvZHlQYXJzZXI= bG9wZWRpYQ== IEJlaGluZA== IHNsZWV2ZXM= IGRyYWdnaW5n IENoZXZyb2xldA== IGJpeg== aXZpdGllcw== IEZyZXF1ZW5jeQ== LGNoYXI= LldISVRF X3ByZXZpZXc= KSc7Cg== X2F4 SU9OUw== LmNwdQ== LmlucHV0cw== VUJF X2ZlZWQ= IFN1cHBsZW1lbnQ= ISku ZXN1cw== IFVEUA== IG1pY3JvcGhvbmU= IGNvbmZpcm1z LmlzTm90RW1wdHk= IjoiIiwK X1NDUkVFTg== CWV4cGVjdGVk Ky0rLSstKy0= IEhhaXQ= ZmFzdGNhbGw= IGRlcGljdA== dmI= X3BpY3R1cmU= CWRlc2NyaXB0aW9u IFdpZmU= dWNp IHZpY2lvdXM= 5LuW dWViYQ== IHNldFVzZXI= 44Gh IGRpdmluZw== IG9wZXJh dXNlcmNvbnRlbnQ= YXJhaA== KX0s eXVu dmVsdA== IHVuY292ZXJlZA== IGhpcHM= IG9zY2lsbA== IGFzc2VydGluZw== IFhp LnJlc3RvcmU= a2Vh IHNwZWxsaW5n IGRlcml2ZQ== YWJ3ZQ== IERvdw== LnNldFR5cGU= X3Zz IGNvenk= LmNhdGVnb3JpZXM= T3Jn X21ncg== IGR1bmdlb24= Y29sbGVjdGlvblZpZXc= IEJsYW5r YWNpYXM= w6TDpA== X2NsZWFudXA= X0FDVElWSVRZ IHRyaWFuZ2xlcw== Lk1lbnVJdGVt IGlwaG9uZQ== IFdvbg== XV0KCg== IENvbXBhcmlzb24= LkRvYw== IGNhbm9uaWNhbA== IFN1ZGFu Jyl7 VXBJbnNpZGU= YnVpbHRpbg== RU5DWQ== eGJl IGNodWNr IGNvbnRyYWRpY3Q= IG51ZXN0cm8= IGFyY2hpdGVjdHVyYWw= IEZpYg== IGNvbXBhcmVz Kms= Q2Zn 54Sh bnRlbg== TWF0Y2hlcw== IERPV05MT0FE X0hBTkRMRVI= bWFuYWdlbWVudA== W1M= RU5H woDC ZmFuZw== IHNsaXBwZWQ= IExhbmth ZXNjYXBpbmc= IHRhY2tsZXM= IFBlZHJv LlByb3A= Licn LkdlbmVyYXRlZA== Lk5ld0d1aWQ= YXRyaWdlc2ltYWw= aWxsb24= IHN0YXRpc3RpYw== c3BlY2llcw== aG9sZGluZw== RHJ1cGFs IGZ1bmRhbWVudGFsbHk= IGJvbmRhZ2U= IHJlc29sdXRpb25z SW5saW5lRGF0YQ== XFR5cGU= ZXN0aW9u LndyYXA= IHdhcnJpb3Jz IExPQ0FM QXJjaGl2ZQ== IGVtYnJhY2Vk 4bun LlZlcg== IEFmZm9yZGFibGU= b2xlc2FsZQ== IEFwcGxpZWQ= IENvbnZlcnNpb24= bWVnYQ== X2NhbQ== IGNlcmVtb24= YXVydXM= IFZvbGs= Lm9wZW5z L2Fib3V0 IFN0ZA== am91cm5hbA== KCkpew0K LCJc KEFycmF5cw== IERlbnNl YXNlw7Fh w6RubmVy L3N0YXQ= dXNlckRhdGE= IGdlcm1hbg== IHR6 d29ydGh5 Rm9ybWF0RXhjZXB0aW9u cGhlcmQ= IHNtaWxlcw== IFdoZW5ldmVy KGFkYXB0ZXI= LmJhZGxvZ2lj IGJyaWVmaW5n LkdyaWRDb2x1bW4= LWNoYXI= ZGltZW5zaW9u IENvcHBlcg== IG5pbnRo ICd7ew== IHJhdg== X1RhYmxl IGRlcml2YXRpdmVz IFJhaXNl IEZ1dA== YXJtb3I= LXBhZGRpbmc= IHJlbWlu CXN0eWxl IE1lbWJlcnNoaXA= IHNwcmVhZHM= IGdhbGxlcmllcw== IENsYXJrZQ== IGNvbmNlcHRpb24= bWludXRl IGFidXNpdmU= X2Fkag== IHRlcnJpZmlj IG92ZXJ0 b3VyY2luZw== IGVudHJhZGE= bGV2ZWxz IGNyaXRpcXVl IHJlc3BlY3Rz IE1NQQ== aWVuZQ== IGVuY2Fwcw== IFJheW1vbmQ= RGl2aWRlcg== aXZhYmxl YmF6 IEBfOwo= IENsYWlyZQ== IHVyZ2luZw== Q0VF IHRyYW5zZm9ybWVy ZGlzY29yZA== IEpvdXJuZXk= dG9z IGNvbXBldGl0aW9ucw== IE9CSg== IEJpcw== IHJlbGF4YXRpb24= aWR5 X0lOU1RBTkNF IFByZWY= ZGFkb3M= aWNpZW5jaWVz IE1lZGlhUXVlcnk= IEN1YmU= IFN0cmFuZ2U= Z3B1 KGRheXM= X0luaXRTdHJ1Y3Q= IGZpbmdlcnByaW50 ZW1hdA== IEdlY2tv IHJhaWxz IEx1bQ== c3RyYWN0aW9u aWd1bmc= KG1vdmll X2RpY3Rpb25hcnk= X2ludGVycnVwdA== IFFD aWtlZA== YXBwZW5kQ2hpbGQ= cmVjaXBpZW50 csOp VmU= IHRvd2Vs Lmxhc3RJbmRleE9m IHBsYWNlYm8= IFdpZQ== LmVzcA== KERlYnVn b3BlcmF0aXZl IGRlY2Vhc2Vk Jmlk CW11dGV4 ZWxpYw== IGJhcHQ= CQ0KDQo= IGZhcnRoZXI= SGFsZg== LmRpc2FibGU= Lm1lbnVTdHJpcA== bGVjY2lvbg== IHJlc3VsdENvZGU= IGNhbnM= LWVsZWN0aW9u ZmVtYWxl X0ZJWA== YXVzaWJsZQ== IFBPV0VS IHJlY29uc3RydWN0aW9u IHNjYW5z Llh0cmFCYXJz 4oCYcw== UmVtb3ZlZA== IHBhcmFncmFwaHM= X21hcmdpbg== IGx5bXBo IGJvcw== bGluZ3Rvbg== IEJhcHRpc3Q= IGFkdmVydGlzZW1lbnRz IE1hbmFnZQ== L3l5eXk= SU9VUw== RU5DRVM= IEZpY3Rpb24= CW1lbnU= IEZpbGVPdXRwdXRTdHJlYW0= b3Zhbg== IEZlbmc= IHNraXBwaW5n Z2V0Q2xhc3M= YW5uaQ== IHJlYm91bmRz IHB1YmxpY2l0eQ== IGluZ3Jlcw== dXNlbWVudA== IHRob3VnaHRmdWw= LkNoYXJ0 IGhhdHRl cGFzc3BvcnQ= IGhvb2tlZA== IExlbnM= IGZsYWdzaGlw IHN0aXA= IEdFTg== IGNsdWVz aXB2 IFJpc2U= IEdldw== dGFibGVuYW1l IGZvcmVtb3N0 X3ZhbGlkYXRl X2FuYWx5c2lz b2xsYQ== IHF1YWxpZmljYXRpb25z IGRpc3RyaWJ1dGlvbnM= IEZsb3dlcg== IHRlbnNl IHRoYW5rZnVs IGNsdXRjaA== IHVuaWZpZWQ= cm9hZHM= IHNpdGk= IHN0YWxs X1BSSU9SSVRZ Y3N0ZGxpYg== X1VTRVJOQU1F LmJ5dGVz P3BhZ2U= ZXJtYWxpbms= IFZlZ2V0 L3ZuZA== LWF1dGhvcg== Lk5PTkU= IENvbmN1cnJlbnQ= IENyeQ== IHN0YXJ0ZXJz IEludGVyYWN0aW9u ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExFVkVM RWxs IGNvbWJvQm94 IFRoZXJlc2E= dGVr X0hhbmRsZQ== IGFieQ== LmdkeA== LGVuZA== KExvY2Fs T2w= a25pZmU= YXJpYWw= IEhvZmY= IHByb3N0aXR1ZXJhZGU= RG9jdG9y SW5zdGFuY2Vz LlNldFZhbHVl CWZyb20= IGx1eHVyaW91cw== SW5kZW50 QWxsb2NhdG9y X0RSQVc= KCIsIiw= IEZyYW5jZXM= IGdyb3VwQm94 KHNjaGVtYQ== UHJpbnRm T1JJRVM= LWdyYWRpZW50 IHJlcHV0 YXJpbg== X0RPTkU= aW5jcmU= aWdudHk= IGV4ZXJ0 IC0u L0FwcA== LXRocm91Z2g= IGRlY2xpbmluZw== IGRlc3NlcnQ= IGluY3VtYg== IGRlc2lnbmF0aW9u LlBPUlQ= LHN0cm9uZw== IHNhbmRib3g= IHdpbmVz IFBhdg== JHN0cg== YXNrZWxs IGjDtg== IFBZ R2V0SW5zdGFuY2U= VGV4dElucHV0 Z2FtZU9iamVjdA== L2V2ZW50cw== Y3JlYXRlZEF0 IGxvY2FsVmFy IFdISVRF cGVyZWQ= aWxlZ2U= ZWZmaWNpZW50 LGNvbG9y Y2F0ZQ== IENhZmU= IHNpbWlsYXJpdGllcw== IHB1bXBz IEh1bmdhcnk= LlVzZXJuYW1l IHNrYXRl IHRvdWNoZG93bnM= IGFjY2VsZXJhdGU= IEhlbGVu T01FTQ== IEt1bg== X3ZvbA== IGZpbmRBbGw= IE1lbnNjaGVu YWhlYWQ= KTsi a29tbWVu IHBvc3Nlc3NlZA== LmFyZ21heA== LnRyYW5zaXRpb24= QVJQ T0xVTUU= KHNjcmlwdA== INCY IEZpbmRpbmc= b25jZXM= SW8= Qm9sZA== IHJlbmV3YWw= X0RJQUxPRw== IGRpc3JlZw== SU5URVJO IHRvdXRl IGVsZWN0cg== IEdyb3Nz CXRydWU= LkZpZWxkcw== IFdJRFRI IERlbnQ= IMOB TlNOb3RpZmljYXRpb24= IGFvcw== IG1lbGVl LlZhbGlkYXRpb24= IERFQw== LWRlcGVuZGVudA== IHN1aWM= VHJhaXRz JG1lc3NhZ2U= IERlYXI= CUZJTEU= bGFuZ3VhZ2Vz LlByb3Q= LmFkZHI= LWdlbmVyYXRpb24= SUNPTg== IHRyYW5zcGxhbnQ= LWRlc2NyaXB0aW9u IGNoYXNpbmc= IGNoZWVz IH0qLwo= VHJhZA== cXVlcmllcw== L3dpZGdldHM= c3VicGFja2FnZQ== IGVzcGVj IGNyYWNrZWQ= IGNvbXBldGl0b3I= UHVyY2hhc2U= LXRlYW0= b2xlY3VsYXI= b3JUaHVuaw== JlA= IHJlbGVudA== LyN7 IHByb2R1Y3RJZA== IOi+ IExhdg== IEFsdGVy Lk1vZGU= QURJTw== Z3Jw 5re75Yqg UXVpdA== IGRlcHRocw== LWNhdGVnb3J5 IERBVEFCQVNF U1BFTEw= IEZhbGNvbg== IFFTdHJpbmdMaXN0 ICcnLg== IEluc3RpdHV0aW9u ZGFtYWdl YXpvcg== YmVsb25nc1Rv dmVyYWdlcw== IE5PTkU= aXBwZXRz LFwK IGZvb3RwcmludA== X2FyY2hpdmU= bmFr LmdldEZpZWxk IFJlZmxlY3Rpb24= ICdd IEhCTw== X2Rpc2NvdW50 IGluY2VzdA== IERvZGdl IFdhZGU= Lk5P ImVuY29kaW5n IEJsb2NrY2hhaW4= IGxhd3N1aXRz IE1haW50 Y2h0ZW4= IMOpdGFpdA== IGt0w7NyZQ== X2N0bA== KHRpbWVy QmF0dGxl aXpv YXllZA== SU9S IEdsYXNnb3c= IHN5bnRo X2xvZ3M= LnBvc2U= X0FkanVzdG9yVGh1bms= KCgm IHVuc3VyZQ== eXN0YXRl 7ZWY64qU T1VMRA== Lm5n IGRlZmF1bHRkaWN0 d29ya3NwYWNl IHNlbGVjdGl2ZQ== UGlja2VyQ29udHJvbGxlcg== WU5BTUlD Lm1ldGhvZHM= IHBhdGh3YXlz IEZldw== S0c= Q1JZUFQ= Zm9sbG93aW5n IERMQw== IFNhcmE= IHByZXNldA== ZXN0cnVjdG9y IEt1cnQ= IGFpcnBsYW5l IG9tcA== IFBhcmVudHM= IE1hcnRpbmV6 LmNvbXBsZXRl IGJyb2FkbHk= IHNjYXJl IE3DqQ== IGVsaW1pbmF0aW9u IHBvdXJlZA== L3N3 IGNvbXVu IG1hc2M= IE9yZ2FuaWM= IFN0cmluZ1V0aWxz aWxhdGVyYWw= IHJlbHVjdGFudA== LWFnZQ== IG56 LiJc IHBhc3Rvcg== YWxleg== IGVmZWN0 cHJvdg== L2luaXQ= IHBlbm4= dW5kcw== IHNzaXpl IFByb2o= YmFzZW5hbWU= IHNoZWxscw== IE5lY2s= IEVuZm9yY2VtZW50 dmlkZWQ= c3Rvd24= U3BoZXJl JHI= dXNzZW4= YWZpbA== IFRlbGVncmFt IGFuYWx5dGljYWw= 0L3Ri9C1 dXN1YWxseQ== eG4= IGhpc3Rvcmlhbg== IEdyZWdvcnk= b2xwaA== IFVuYQ== IGNvbnRyaWJ1dGVz JS0= YW50aWFnbw== 0YDQtdC0 LnJlZ2lvbg== IGFicnVwdA== IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXhjZXB0aW9u IFRBU0s= X2ZpbmlzaA== IG5vdG9yaW91cw== IFZz IE1R IHN1bnNldA== IHVuYWNjZXB0YWJsZQ== YXJjZXI= IGlsbHVtaW4= IE9yYg== IGJo RXN0ZQ== X2Rpc3BhdGNo IHJpcHBlZA== IHRvdWpvdXJz IFBhcmNlbA== X2xs LnVzZXJOYW1l LmNsYXNzZXM= U09VUkNF KE51bWJlcg== 0LXQu9GP IGhlYWRwaG9uZXM= KHNpZGU= Y29uc3RpdHV0aW9u YW5uYWg= DQogICAgICAgIA0K IGNsaWZm LXJlZg== IG1vc3RyYXI= IFBvd2VsbA== K3k= IEJH X2ZyYWdtZW50 LlBvcnQ= IHJlYWxpemluZw== cGFyYW1yZWY= IGhvbWV0b3du QFRhYmxl KyI8Lw== b21pZA== IGR1Zw== CWJ0bg== IHN1YmplY3RpdmU= L2Jyb3dzZXI= IHVzaG9ydA== IE1vbnRnb21lcnk= LXJhdGU= CXB1dHM= bGV0aWNz b3Jucw== 4oCcV2hhdA== ZWVwZXI= LkludmFyaWFudA== IGNvbmNlYWxlZA== X251bXB5 PT09PT09PT09 KHBz TG9jYXRpb25z LmFzdHlwZQ== IENIQU5HRQ== Lk9yZGVyQnk= O2hlaWdodA== IGdlbnRl IGdydW50 IFBsYW5l IHNhZGx5 IExvZ2Fu X3VzZWM= LmRndg== IHNpbmNlcg== IHBu CWd0aw== IGluc3RhbGxlcg== IGRpc3BsYWNlbWVudA== IGJ1cm5z 0YPRgQ== aXZlcmVk Ol0pCg== c2VhdA== YW5pbmc= fSkKCgo= X3JvbGVz YXRpY2Fu IGdlbmVyYXRvcnM= IGh1cnRz IHNuaXBwZXQ= IGdzb24= IHNlZ3JlZw== IGRpc3RyaWJ1dG9y IGFkdmFuY2luZw== cG9zdGdyZXM= IHVzcg== IExpcw== LmFzc2VydElz X2Nk IGh5ZHJhdWxpYw== LmNvdW50ZXI= IEluZGVwZW5kZW5jZQ== IGRpZmbDqQ== VW5saWtl IHRvbWI= dmlr cG9zdGVk d2Y= IGRlc2NlbmRpbmc= ZHlu YW1lbnRhbA== IEZydWl0 IFlv LmRvdWJsZQ== IElB aWV2 aWJyYXRl IFJlbGlnaW9u TWFueVRvT25l LVRh IGJhbmFuYQ== IEF2ZW5nZXJz IEhvbG9jYXVzdA== IGdldEM= IGNvbmRv IEdvdGhpYw== IHByb3NwZXJpdHk= VFJBTlM= IGRvZXNudA== IENoYW9z SVRU IENVUlJFTlQ= XGhlbHBlcnM= X1NBVkU= YXZpdA== Y29tcHV0ZXI= X3NoZWV0 IEJyZXdpbmc= IHJvYmJlcnk= IOqyvQ== INC60L7QvA== IG7DpA== LnJlZ2V4 IGRpc3J1cHRpb24= IFNpbXVsYXRpb24= YXBpZA== IHN1cHJlbWU= zrw= IGNvbW1pc3Npb25lZA== IGFic29ycHRpb24= IE5ld2Nhc3RsZQ== CWNvbnN0cnVjdG9y VGVybXM= IHJpdg== IHJlbGlnaW9ucw== V2l0aFRhZw== Lkh0bWw= bGlua2Vk Q29tcG91bmQ= IE1hbnM= IGxha2Vz aXp6bGU= LnNldFNpemU= YWJlcg== IE5lZWRz cGFja2FnZXM= LlRhYlBhZ2U= IHJlZnM= IGlvdXRpbA== IERvaW5n ICJcKA== IHBoZW5vbWVuYQ== LkdldEludA== QUxUSA== IHBhcmxpYW1lbnRhcnk= IHJlZnVzYWw= IGluZXhwZW5zaXZl IH0KCgoKCg== IHNvbGlkYXJpdHk= CXB1c2g= aGF1bA== IEJlcmU= U2l6ZXI= SW5kaXZpZHVhbA== IGFuY2U= IGRpbGU= IFBlYWs= KGhy RWRpdGluZ0NvbnRyb2xsZXI= SE4= X1BFUklPRA== RVRT QmFubmVy ZXJyb3JNZXNzYWdl LkNBU0NBREU= LWlnbm9yZQ== IFNJR04= IE9C X2Rk KERFRkFVTFQ= IHNvbw== IFZpY3Rvcmlhbg== IGN1cnQ= IGRpc2NyZXRl cnlsaWM= aW1iYWJ3ZQ== LnRvRml4ZWQ= bMOk LnN0ZGlu IHF0eQ== Uk9MTEVS bWVkaWF0ZWx5 IHBsdW1iaW5n IFByb3BlcnR5Q2hhbmdlZA== YXJyYW50eQ== IEJyZWFrZmFzdA== LnNldEhlYWRlcg== LnB5dGhvbg== Y29tbWVyY2U= b3BlbmN2 Pi0tfX0K RnJlbmNo RW50aXR5TWFuYWdlcg== IFBsYWlu Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8= wrM= KFJF Y2FwdA== IG9yZ2FuaXNtcw== IGpldHM= b2xvY2F0aW9u IEFwcFJvdXRpbmdNb2R1bGU= IGdsb3Jpb3Vz 5pyN IGRpc2NhcmRlZA== CQkJCSAgICAg IEFybm9sZA== bHVn IHBhcmw= IGhvcm1vbmVz IG1haA== IFNvbmlj IG9yZ2FuaXplcnM= X1BMQVRGT1JN Lmludg== IGNob3Jk dmVudGlvbmFs CW9m RXBpc29kZQ== LkVudW0= dW5rdA== IERo IEphcmVk IE5haw== IGludGVuZHM= RW5kaWFu IGF1c3RyYWxpYQ== X2N2 KHJlc29sdmU= IGNsaW5pY3M= bGlrZWQ= QVNISU5HVE9O aW5oYQ== Jyo= IE5Q X2JlaA== IGhm IHfDvHI= Y2F0ZWdvcmlh JGZvcm0= IHN1YndheQ== IGlzQWN0aXZl cG9wdWxhcg== Q291cg== IGNvb2xkb3du IGFpbnNp IEdMdWludA== ZXJlYWw= IGFycmF5T2Y= IGhhdGNo PT09PT09PT09PQ== cmVzc2Vz X1BQ Ll4= X2RlY2F5 IEJsZXNz bWV0cmljcw== IENPUFlJTkc= IER1bXBzdGVy IEpvc8Op IERlc2lnbnM= PFZvaWQ= 57q/ ID8+PA== ICJ9Cg== dGltZXpvbmU= IGVlcg== bWF4Y2Ru IEVTQw== aWdhcmV0 X2Nvbm5lY3RlZA== X3JldmVyc2U= IHF1ZXN0aW9uYWJsZQ== IFVTQw== IHR1dHRp IGRyb3BvdXQ= IEFjdGl2aXRpZXM= IFdpbmRz JykpKTsK IGNvbmdlc3Q= xJ/EsQ== IHByb2xvbmdlZA== 6L+Z IENyb3NzQXhpc0FsaWdubWVudA== TEVFUA== IFZBTElE IEdheg== IGRlcGVuZGVuY2U= IFByaXg= LkNvbXBpbGVyU2VydmljZXM= anVtcA== IHN0cmF0 Y2lyYw== IENVU1RPTQ== eGFh IGJtcA== IGJ1cmVhdQ== IHdhcmVu Tlg= KFdpbmRvdw== IENocmlzdGll X0ZF IHRu IE9tZWdh Y29tbXVuaWNhdGlvbnM= SG9tZVBhZ2U= Y29tcGxldGlvbg== IHN1cHBseWluZw== WVBFUw== w6F2ZWw= 5Yi2 KGNsaWNr XENvbnRyYWN0cw== L3F1ZXN0aW9ucw== IGV6 QU1T Lm1lc2g= ICc8Pw== asOg SW5p LiM= IENhcmRpbmFscw== cGNpw7Nu Q3ViZQ== IFBhdGllbnRz X3ByZWY= QWN0aW9uQnV0dG9u KGJ1aWxk IFZpc2E= b3ZlbA== KEFycmF5TGlzdA== SWdu IHJlaGFiaWxpdGF0aW9u IHBhbGFjZQ== IHNwZWVjaGVz fScK SHR0cFJlc3BvbnNl CWNvZGU= RHVtbXk= IGFjYWRlbXk= Lm1vdmll IGluY29ycmVjdGx5 IGN5Yw== KFVuaXR5RW5naW5l CWNhbGxiYWNr IFNhdGFu IEZVTkM= IGNoYW50 IEhlYWx0aHk= OicsCg== U2hpcHBpbmc= X21j IER5bGFu IFByb2R1Y2Vy IHJlc3B1ZXN0YQ== IHBvbGlzaGVk QnJvYWRjYXN0 IGJhbGFuY2luZw== IFNsaWRl IENhcHM= c3RpbGw= IGhhcHBpZXI= IEdvc3BlbA== dHJhbg== LnBhdGhuYW1l QWN0aXZlU2hlZXQ= IENoYW5n PlwK Um9ib3Q= SnNvbk9iamVjdA== IERG IFByb2Nlc3Nvcg== X3Nob3VsZA== LnByb3RvYnVm LXVzZXJz IGVtYnJ5 Rk9OVA== IHN0YXJ0dXBz IERhdGFTb3VyY2U= KSM= dXJvcw== X0NvbG9y IHN0YW5kYWxvbmU= fVs= amQ= IGZvcmdpdmU= IG5neA== IEdlbmVyYWxseQ== IGNvbmZpZ3VyYWJsZQ== L29yZGVy IHZhcw== JykiOwo= IFJS IFRyb3k= IGNvbXByb21pc2Vk IFN3YW4= aW50ZW5kZW50 Q2VudHJhbA== X2tlZXBlcg== IGFycXVpdm8= IFJlYWRPbmx5 X2N1cnZl a3Y= ZW50aW4= 6LE= IEV5 LmltcmVhZA== IFBhbQ== aWZmZQ== YXRpdml0eQ== eGJj IGdyaW0= LWZpbGxlZA== bmFtZXNl J106 IGF1cg== IEdpYnNvbg== Lk1vdXNlRXZlbnQ= IGxhZG8= YXZhZG9j IGZhbWls IE1vZGVy ZnBz 44CA44CA LWV4YW1wbGU= IEFsemhlaW1lcg== IFV0Zg== X2FyZ3VtZW50cw== Q29uY2x1c2lvbg== dGV4dENvbnRlbnQ= cmVtYWluaW5n IGludGVycnVwdHM= IEJhY2t1cA== IE1vbmc= IHJlY2VwdG9ycw== aGlzdG9y LmNvcm91dGluZXM= IHNob3V0ZWQ= QWxhcm0= IGNvbWJ1c3Q= IGdyb3Rl dWx0dXJhbA== KGlkcw== LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0= aXBsaW5hcnk= T3B0cw== IFlhbGU= bG9jYWxTdG9yYWdl IGVxdWl2YWw= IEZsZWV0 XGI= KnBp IFFMYWJlbA== 5qE= IHZ4 IEFDTA== IHN1Y2Vzc28= IHBlcmM= IE5vdHJl IGFuYXJjaA== UmluZw== c3Bi IHN0cnBvcw== c3RvcmVz IE1hcGxl KE1haW5BY3Rpdml0eQ== KCIiKSk= IHZpZXdIb2xkZXI= UXVhZA== IGlndWFs b3JzY2hl Lm1hcmdpbg== IGluZGll IGZyYW5j IEZvcm1CdWlsZGVy IFBhcnRpY2lw LmZsYXNo IHN0b3Jtcw== VWx0 IGZlbg== W25ldw== RXZlcg== PSIK IGxvY2FsaXplZA== X2ZvbGxvdw== IG5hdmU= IGRvbWluYW5jZQ== KHRpbGU= Sm91cm5hbA== IFZD IHBlbmV0cmF0aW9u 77yV IGNvbXBhcnRtZW50 IGJpZHM= Rm9ybWF0dGVk KioqKioqLwoK KGNpdHk= 4oCUaXQ= W0M= IHVzZUNhbGxiYWNr YXVi KT8u IFZBUg== IFNlYmFzdGlhbg== IE1vc3M= IGFidW5kYW50 R3JlZw== 0YLQsA== X2Np IGJpYmxp Q1JN IEF0dGVtcHQ= aXNtZQ== ZGFzaA== 44CO X211 LkZvcm1hdHRpbmdFbmFibGVk SW5kZWVk LWRpcmVjdA== IHN1Y2tpbmc= IHBuZQ== b2NhYnVsYXJ5 IFBhY2tlcnM= Lk5hdmlnYXRpb24= IHBpZWQ= Y3JpYmluZw== IFN0dWFydA== LlRvRG91Ymxl IFNlY29uZGFyeQ== U2F2aW5n IER1dA== IE1hZGQ= TWFnaWM= LEg= LmRvY3VtZW50RWxlbWVudA== IEJTVA== IGRpZmZlcnM= IG1vcmVvdmVy X25k U0VBUkNI 0L/RgNCw0LI= 5rQ= dG9NYXRjaA== IGRlY3JlYXNpbmc= LW1lbWJlcg== YW1wdXM= KGJvb3N0 RGFpbHk= RGF0YUdyaWRWaWV3 IEh0dHBDb250ZXh0 IGhpcHA= X3dvcmtlcnM= LWxhbmd1YWdl 6ZM= IGNvbnNpc3RlZA== YXRoaW5n IE1lcmN1cnk= JGNvbnRlbnQ= IHByYWN0aWNlZA== IE1vZHVsZXM= X0RBWQ== IHdlYWtuZXNzZXM= IExvZGdl IG5hcg== IE1hdGU= IGpw IEh0dHBIZWFkZXJz IHNtbw== IFRPS0VO XSko IGFxdWk= c3dhZ2Vu IHNydg== CWFucw== QXJvdW5k IE1hbnVlbA== IGZpY3Rpb25hbA== IElNRw== IC4n IEJlcnJ5 IHdhbGxwYXBlcg== c2V4dWFs aWVybw== IOeahA== 7IaM QmFja2luZ0ZpZWxk IEFkcmlhbg== QkFTRVBBVEg= IHJlcGVhdHM= IGJsdWVz IHVucHJlZGljdA== X2NvbGw= c3RhY2xl IFR1bWJscg== IEVsZg== IGFzc3VyYW5jZQ== IGNlbnN1cw== IElNUE9SVA== RU5ERVI= YW5vcw== ID0o IEVsbGlz IgoKCgo= Lndpbg== IEFib3Zl YWxvbg== X3RpY2s= IHJlcHJlc2VudGF0aW9ucw== IOaV d2lk IEFybXM= TGlzdGE= X2ZhaWx1cmU= X2Nt LkZsYXRBcHBlYXJhbmNl IHRocm9uZQ== UGF0Y2g= IFZveQ== ZW5nbA== IG5lZ290aWF0aW5n PmA= IHNob290cw== IEZQUw== LlllYXI= IEtpc3M= ZW5jacOzbg== cmVldGluZw== RnJvbUZpbGU= IHJlc2lnbmF0aW9u 2Lc= IHR3aW5z xrDhu6M= IGdlYnJ1 LmdldENvbnRlbnQ= LlRyZWU= IEVtcGxveWVlcw== IEZJRkE= IGNlcnRhaW50eQ== KENs IHRvdGFscw== ZWRpdGFibGU= 4KWA LlJlcG9ydGluZw== TWFz cXVpZXQ= LnJ1bGVz IFZP Y29uZXhpb24= LEs= IGFsbG9jYXRvcg== IFBvd2Rlcg== XFJlcG9zaXRvcnk= QmVhdA== X3RpcG8= IFsnJyw= X0lOVFI= IDw8PA== PGhy Iik9PQ== dWdnYWdl IENyYXc= IMOpZ2FsZW1lbnQ= IGdpbmdlcg== IHByaW1lcmE= IHByb2R1dG8= bHRr LlVzZXJOYW1l IHN0cmVycm9y bWl0aA== X25i IGRpc2NvbWZvcnQ= J107Pz48Lw== UVQ= IGVydXB0 IERhbmlzaA== XEFjdGl2ZQ== X2FkYXB0ZXI= IGJ1YmJsZXM= cm9sbG8= b3Jnb3Q= 0L3Ri9GF VkVDVE9S b2NvZGU= IEJ1bGxz IGJvaWw= PiIpOw0K ZHJvcElmRXhpc3Rz IEJlZw== X0hBTA== IGNyb3NzQXhpc0FsaWdubWVudA== IEV2aWRlbmNl IHBlY3VsaWFy IGluc3RpdHV0ZQ== dmVpcw== IGZmdA== w4E= IHpvZWt0 YW5hbHk= IEhvbWVsYW5k IHBlbmV0cg== dWRkZW5seQ== CWVsZW1lbnQ= IEJyZW4= IFRydWRlYXU= IEN1YmFu amFt dXNsaW0= X2V2 IHN0ZW1z fSU= neWniw== IGJyYW5kaW5n IGNvcnJlc3BvbmRlbmNl LmpxdWVyeQ== ouWNlQ== IFJlYWRz KEh0dHBTdGF0dXNDb2Rl YXNzaW4= KHNsb3Q= IEdyYWR1YXRl Ly8vPA== IGluZm9ybWF0aW9ucw== RU5BQkxF IHB1aXM= IGZpbmRlcg== IEJyaXM= IG5ldHRzdGVkZXI= X21pZA== IG9ncw== IFN0ZXJsaW5n IGFycm9n c3RyZnRpbWU= fAoK IHZveA== IFJlZ2FyZGxlc3M= IGVzbw== IENvbWZvcnQ= LkJvb2xlYW5GaWVsZA== IHVo QUNZ IHNxdWVleg== IFZpYw== Y29udHJv Lmxv IGlyZQ== IENvbWVkeQ== 67Y= IG9yaWdpbmF0ZWQ= IHNoaXBtZW50 fG1heA== X2d1aWQ= bGV2YXRpb24= 0L3QsNGP KHVuZGVmaW5lZA== IEREUg== IHNob290aW5ncw== IExhdGlubw== RU5ET1I= IGF2ZXJhZ2luZw== IGdyZWV0ZWQ= IHRoZWF0ZXJz 0L7QtQ== IGRC IGdzdA== IGRlZmluaXRl LlN0b3JhZ2U= Lmhlcg== IGFmb3Jl IFJlYWxpdHk= IEdvZHM= dmVyc2Vk IGhhbmRzb21l IGV4Y2x1ZGluZw== KGFk UXVvdGVz IFNjaGVtZQ== P3E= IFRhbWls VGlja3M= IHBlc3Q= J24= IHBvcm5vZ3JhcGh5 X21vZGFs IC0tLS0tLS0tLS0= IGRpc3Bvc2FibGU= RlJFRQ== IHNoYXJr Q0hF IGRlcGljdGVk IGRlbW9uc3RyYXRpb25z IEtpbGxlZA== IFJVTEU= IG9ic2Vzc2Vk IHNpbXBsaWZpZWQ= UG9zdGFs IGNvbmNlcHR1YWw= IHBzdA== TGFz X1BST0pFQ1Q= dWNjZWVkZWQ= b2x1 xJ9p IHBlcnNvbmFsaXRpZXM= IHJlc2hhcGU= IGVuY2xvc2Vk CXB0cg== IHR1dG9yaWFscw== IGV4cGxvZGVk X0RJUkVDVE9SWQ== 5YaF5a65 IGNhbm9u IHJlY29nbmlzZQ== UEFE IEFwcHJveA== IFJlc3RvcmU= IEltcG9ydGFudA== IGhlYXZpZXI= LlNlcXVlbnRpYWw= RWFydGg= IE1pbGs= LnNldFJlcXVlc3Q= LnRlbQ== IHJlY29uc3RydWN0 IHNrZXB0aWNhbA== X1ByaXZhdGU= QlVG cXVh OmE= IHNlaw== IGR3ZWxs b3NzYQ== IHJld2FyZGVk 0LjQuQ== KHRvcGlj X3BhcnRpdGlvbg== IF9fX19fX19fX19fX19fX19fXw== S2V5d29yZHM= IEZyYW5jbw== TGl0ZQ== IG5ha2Vu INC30LA= T0JKRUNU IGNyYWZ0cw== IFN3YXA= LlhuYQ== LkNvbm5lY3Q= IGJhbGNvbnk= KHJlYWw= IEJhcm5lcw== Ymly IFR3ZW50eQ== YXlhbg== YXRhcnM= IFByb3BlbA== IElobmVu VXBncmFkZQ== IGN1cmI= LXNlY29uZA== IG5lcGg= LnByZXM= 7J6F LnNlcQ== IHBhZGRlZA== Ij8= amw= 44Os Jyk8Lw== IGNpdmlj Z29ucw== PmE= Q29vcmRpbmF0ZXM= IGVuYWN0ZWQ= RU5UUw== IGxhYw== LmZpbmFs IFBocFN0b3Jt Y2FsbGVk IGlucXVpcmllcw== Lm1pZGRsZXdhcmU= IERvd250b3du Lyc7Cg== IGtpbG9tZXQ= YWNjZWw= IHF1aWVu d3N0cmluZw== c2V0RGF0YQ== IG1hbmVyYQ== IG1vZHVsYXI= cmltcA== IHRhcmlmZnM= 4oCZaWw= X1RIUk9X L2NvbG9y IEhUTUxFbGVtZW50 IGNhcnJv IHByZXJl IHBsb3R0aW5n IFBvc2l0aXZl IE1hY2hpbmVz T1RFUw== 4bub cGxlYXNhbnQ= IGFsdGU= IGFpbmRh dGhlc2U= IGNvcnM= aXBheQ== IEFkdmlzb3J5 IFJ1Ymlv anE= IGxpbWVzdG9uZQ== IGRldGFjaGVk 6K6+572u dGVuYW50 IERlcHRo YWxvcmU= INGB0YLRgNC+0Lo= IEZPUkU= IExheQ== cHJlc2VudGF0aW9u KScpOwo= LnN1YnBsb3Rz z4M= Tk9X R2Fy aGFuZGxlcw== YWJyYQ== cHV0aWVz IEVsZWN0cmljYWw= TWlkZGxl cm9waWM= IEpE IER5bg== IEJyaXN0b2w= IE1jQ2FydGh5 IHN0cmlrZXI= IGVudW1lcmFibGU= IEV2YW4= LmRlZmF1bHRz cXVlbmNlcw== KXx8 CXRva2Vu 4peP LWRyb3Bkb3du U1RPUkU= IEdyYXBoaWM= KHBw RXhwbA== IHVwd2FyZHM= IERpc3RyaWJ1dGVk IFdFQg== SmVy aXNOYU4= 55Sf5oiQ PlI= w7xzc2Vu ZWZz IHVuY292ZXI= IGx1ZA== LmNhbGN1bGF0ZQ== IGludHB0cg== IG1pZGZpZWxkZXI= LkhlYWRlcnM= IG1m ZXJlZg== Lk1ldHJv IFNwZWFraW5n OmI= IGNyeXB0b2N1cnJlbmNpZXM= IGRlbW9ucw== CUVYUEVDVA== IHdpY2tlZA== eW91dHViZQ== OkludA== IEhpbmRp IENBVA== INi5 cmFy b21vcmU= L3Blcg== L2xpY2Vuc2U= IHJlaW0= IGF3YWl0aW5n IGxldGhhbA== IEVG cm91bmRlZA== IFBsYXRpbnVt INCy0YHQtQ== LmNvb3Jkcw== LkRldmljZQ== L2l0ZW0= IFdlbm4= Y29tcGlsZUNvbXBvbmVudHM= IEtpbmRlcg== LnJlbW92ZUl0ZW0= IGFuZGE= Ym5i IHByYQ== KHRyYW5zYWN0aW9u IGVtYmFycmFzc2luZw== CUJPT0w= LmNvbnRlbnRWaWV3 IGV2ZW50ZGF0YQ== YXRvcmU= IHByb3ZpZGVkSW4= aXJtYQ== IHpvbmE= X0hX 5pk= IHN0b3Zl IGNvdW50ZXJwYXJ0 X1Byb2R1Y3Q= X01BTkFHRVI= IGluZnJpbmc= IEVSQQ== X3BhcnR5 0ZE= IGluaWNp X1JlcXVlc3Q= IG1pcmFjbGU= IGNhbmNlbEJ1dHRvbg== U3B5 YXTDsw== IHBvbGlzaA== IE5pY29sZQ== LmRpc3BsYXlOYW1l XFJlcXVlc3Rz IHVzZUhpc3Rvcnk= Um91dGVyTW9kdWxl IHN0YXJlZA== SURFUg== 0YPQvdC60YbQuA== IG5vdGE= JGFycg== cGVjaWZpZWQ= IHRvcHA= X0RSSVZFUg== L25n 5aA= X3Rt JXRpbWVvdXQ= PHM= ICgqKQ== IEh0dHBSZXF1ZXN0 X1RSQUNL KG5vdGU= IEV4cGxvcmU= X3NlcnY= IOe7 QmluZGVy KyIs LmF0dA== IEV0aGk= IGPDs2RpZ28= PSdc LmxpbmVz KE9m 5bCG bWlzc2libGU= IHbDqQ== IGFjb3VzdGlj IGNyYWZ0aW5n bml0 LmJh IEx1Y3k= IGlQb2Q= IHB1cGlscw== LW1heA== X3dy KGNw IFJFUE9SVA== IGRucw== IFJlZmVyZW5jZXM= IHVuZGVydGFrZW4= IGvDuGJlbmhhdm4= IGNoYWk= IENyb2F0 X0xvZw== cm93bmVk X21lZA== CWRhdGU= I19f IGNvc3R1bWVz IFJlcXVpcmVz YWZmbGU= 54q25oCB LVNlbWl0 ZWxhaWRl 0LXRgtC+0LQ= IHBlc3RpYw== IGRyYQ== RE9DVU1FTlQ= IC4uLg0K fWB9Cg== IEF1Y3Rpb24= IERvY2s= eHh4eHh4eHg= KGdldFN0cmluZw== hY0= IGJvcmRlcldpZHRo IE1hY2hpbmVyeQ== IHByZWRpY3RhYmxl LlNI IGFtcGxpdHVkZQ== LmZvclJvb3Q= SU5hdmlnYXRpb24= VGFibGVNb2RlbA== YXR0cmli IG1hbmV1dmVy IGV4Y2F2 QkVSUw== IGRhcGF0 IGluc3RhbGxhdGlvbnM= LkFzeW5j IHJheXM= PeKAnQ== Ow0NCg== LmNyeXB0bw== X2RiZw== IEVudW1lcmFibGU= T2ZTaXpl X2Vwb2Nocw== bXc= TUVOVQ== b3V0bGluZQ== IFBhcGVycw== PT09PT09PT09PT09Cg== IHVuaWZvcm1z IEdpZw== LXBhY2thZ2U= IEplbmtpbnM= IEhvbWVQYWdl LmlzU2VsZWN0ZWQ= IG1lY2hhbmlj TUs= IFNvdW5kcw== Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo= IHJlc2VhcmNoaW5n IGluZm9z b2dyYXBoaWNz ZXJzZXQ= KFsnLw== IFRpbWJlcg== LmFnZW50 LnRvSlNPTg== X2NvbW1hbmRz cGFyaW5n X2FkanVzdA== Lm5vbWU= KGdsbQ== U3RhdHVzQmFy ZmlsZXBhdGg= P+KAmQ== IGRldGVjdGl2ZQ== IHVuc2VyZXI= IFRpYmV0 RU5ERUQ= KHNlZWQ= IHNuZWFr IGFtb3I= PSIvLw== IFBhbnRoZXJz YWxsYXg= IExJVkU= CURXT1JE XT0t IHRvcm5hZG8= L21pbg== IGx1bmdz LWN1cnJlbnQ= IEJvb2tpbmc= 5YiX6KGo IGVuam95bWVudA== 4KSw SkE= dHlwZWQ= LkJ0bg== ZmF0 dWdhbA== IFNoYXJlcw== IGRpc2dy IEJBUg== IEZPWA== T3Bjb2Rl IFN6 a2V5ZG93bg== aWN0aW9uYXJpZXM= IGRldGFpbGluZw== fSkpCg== IHBvaw== IGRlbW9uc3RyYXRpbmc= IG5vdGF0aW9u bGF5ZXJz QGlm IE5QUg== LnN0cmljdEVxdWFs IFJlY2lwZXM= LlRlbnNvcg== IGxpcXVvcg== IGRlYnRz LmVuZHNXaXRo V2hlZWw= LlBvcw== Q1NW JGFyaXR5 IHVuc3RhYmxl KGxvc3M= RU5TT1I= IGVsZXZlbg== IExvcGV6 IEhvcGtpbnM= Y29ub20= IFNldGg= IHBvZW1z UXVhbnQ= IGdzbA== IHN5cnVw IHNpYmxpbmc= IGNhc3M= LXZvdXM= w7Z0 X1BBVFRFUk4= X1NFQ1RJT04= ZXN0aW1hdGVk dXBncmFkZQ== Lm1vbmdvZGI= IEJvYXQ= X0NUWA== IGZldGNoaW5n dXN0aW4= cGllbA== TWFyZw== UmVmbGVjdGlvbg== IGR1Y3Q= IE11bmljaXBhbA== IGJ4 LkdldEN1cnJlbnQ= bWxpbms= IEFjY291bnRpbmc= IEdlbmV2YQ== X1Bvcw== IHBhc3Nlcg== IGhlYXJpbmdz Y29tcGFu IGZyYWdpbGU= SW5pdGlhbGl6ZXI= d2Fsa2Vy Lk1hdGVyaWFs IEh1bnRpbmc= dHJ5c2lkZQ== IGthdA== IGNsZXJr 4Z8= ZG9pbmc= CWdyb3Vw IHNhbmN0aW9u Lmxi IExhenk= IENvbnN0cmFpbnQ= UGFnaW5hdGlvbg== IHBvdXZleg== IEluZGljYXRlcw== TUVS IGNvdXJz IHllYXJseQ== IGdyb3NzZQ== YWJicmV2 IERPTg== IHByb2NlZWRlZA== ZW50bGljaA== IHByb3BlcnR5TmFtZQ== IFRlYWNoaW5n c3RhZHQ= IGN1dG9mZg== b3JuZXJz IGFmcmljYQ== IHJlbmRlcnM= IFlhbmtlZXM= IFRvb2xiYXI= c3BhY2Vz LmZpbGxTdHlsZQ== IHNlZ3VuZG8= X3N0cmxlbg== LkZpcmViYXNl 5aSE IG1lbnRpb25pbmc= XCg= IFZhbHZl U2V0dGVy IHNwYW5z IEFsY29ob2w= IExldHRlcnM= XHhl IFRL X0JMRQ== LmdldFJlc3VsdA== PFBsYXllcg== IFBhdHQ= IGVhc2luZw== IHR1cmtleQ== IEZlbg== Jyki IGNvbmZpbmVk IGluY2x1cw== U3VwZXJ2aWV3 KHdpdGhJZGVudGlmaWVy ZW5jaWFs IHN0dWZmZWQ= VGhldGE= IGVjb25vbWlzdHM= fSkpOwoK Y29va2llcw== IFJvb3Nl IENoZWVzZQ== IGZpY2hpZXI= IGVuZm9yY2Vk QUJC bm/Fm2Np X0FMTE9X IHJlY3J1aXRlZA== IGV4cGVuZGl0dXJl LW5pZ2h0 IGFzc2VydE5vdE51bGw= X2V4ZWN1dGU= INiv SU5ERVg= X0ZNVA== IHJlc2N1ZWQ= IE1vbnRobHk= IENvbnNlcnZhdGlvbg== IEdlYg== T2JhbWE= RXBvY2g= aWNpZXM= IE9ydA== IHNvaXQ= KGljb24= RnJpZW5kcw== bW9s IGdyb3VuZGVk IENhdXNl YWRlbmE= V0VFTg== IEx1bg== SVRJVkU= Lmxvb3A= X3VudGls IGNvcnI= LmVkZ2Vz IGh5cG90aA== Y2hlZHVsaW5n dHJhbnNsYXRvcg== INCc Um9t 44CRCgo= IFhhbWFyaW4= IHZpb2xhdGluZw== LmFuY2hvcg== LS0tCgo= IHRyYWRlcg== QURWRVJUSVNFTUVOVA== IHVuc2VyZQ== IERBTw== IGJsb25k IFBBVA== Lmdsb2I= IOi+kw== IHNwbGl0dGluZw== IHVuc3Vic2NyaWJl IGF0bW9zcGhlcmlj IFRyaW0= IGNpdGF0aW9u IGluZmVyZW5jZQ== IEZ0 IERhcndpbg== ZmluZE9uZQ== IEdlbA== KENvbnZlcnQ= IGFjY2Vzc29y O3RleHQ= KHNvcnRlZA== IGp1ZGdlZA== KTtc OnA= IG1laW5l IFNsaW0= LkNvbW1hbmRz IHBlcmNlaXZl Y29ob2xpYw== PERhdGE= LmVudHJ5U2V0 IGFzc2VydEZhbHNl IFBhdHJvbA== ZW5zZW0= xYLEhQ== qKE= V0lEVEg= IFJlc2N1ZQ== IFVJRg== X1RIUkVTSE9MRA== IE1pY2hlbA== QVRFUklBTA== b3BlbnNvdXJjZQ== IERpYW5h IGludml0ZXM= X0JPRFk= IHJlc2Vydm9pcg== IHJvaQ== Y3VzdA== KHRj 77yBIik7Cg== IGZlc3RpdmFscw== IHBlcmZvcm1lcnM= IGNsaW1iZWQ= IGp1bmdsZQ== U3RyaW5nTGVuZ3Ro IHVubGF3ZnVs aWVycmU= dmVydGlzZW1lbnQ= IHN0YWtlcw== IGhhdHM= TW9kaWZ5 IExFVFRFUg== LkhpZGU= IHN0YXR1dG9yeQ== X3doaXRl IFBlcmw= dXRlbmJlcmc= ZW1wbGU= Lldvcmxk IG92ZXJsb29rZWQ= IGNvbmNsdWRlcw== Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 LXdpc2U= CXN0cmVhbQ== cG9wdWxhdGlvbg== IGV2ZW50bw== IGlsbHVzdHJhdGlvbnM= ZnRz IGF1dG9m IFByb2NlZHVyZQ== IGRlc2VydmVk LXRpbWVz IGdvbA== TlNFcnJvcg== Y3Jlc3Q= IFBha2lzdGFuaQ== YW55Y2g= Z2V0Q3VycmVudA== IGxhcg== bnRs IFJlYmVjY2E= IG1hdGVyaWE= IGZpbmRCeQ== L2Fk Q2FsbGJhY2tz IEFscw== IEthdGll IE9ic2VydmFibGVDb2xsZWN0aW9u IERvY3VtZW50YXRpb24= VHlwZWQ= IEN1bHR1cmVJbmZv IFRpbW90aHk= IGxhdGVyYWw= InR5cGU= IHVuYXV0aG9yaXplZA== IHRlYWNoaW5ncw== IGRlYnVnZ2Vy W3ZhbHVl IGFsb3Jz IHV6 IHNjYXR0ZXI= IGRvd253YXJk IG1pZ2xp c3RhdHVzQ29kZQ== ICgpKQ== IE1X INC80L7Qtg== Uk9TUw== LmJ1Zg== IGZhaXJ5 IEluZnJhc3RydWN0dXJl PT4i dGxlbWVudA== JCgi RnJvbVN0cmluZw== IEJpbGQ= IGNvbnZlbnRpb25z X25hdGl2ZQ== IEluc3BlY3Rvcg== IFBpc3Q= dWJhcg== IHJlZ3M= IFBpbG90 VGh1cw== Picr IGNlbGE= Lm5ld3M= KFByb2R1Y3Q= TGl2aW5n UnVzc2lh IGZhY2V0 ZXRpY2Fs IFsnJA== L1s= IERpcmU= IGdhc2Vz IElORk9STUFUSU9O IEVhdA== IEZvcnVtcw== IENoYXJhY3RlcnM= X21ldA== IOyLnA== IGtpbmdz YWNoaWU= IExhbWJkYQ== IHRpbWVycw== IExpZ2h0aW5n IENhc2V5 YWRkaXI= YW5kZXg= LmFuc3dlcg== IEhpcA== IFByaW5jaXA= U3RhcnREYXRl IOOAjA== dHJlcw== ICYj Lk1heFZhbHVl IFByb2JsZW1z IGxhdGV4 T2ZDbGFzcw== IEx5bm4= Ly8n IHZveWFnZQ== IHNodXR0bGU= IFJvbGxlcg== IFJ1bnRpbWVFcnJvcg== dXlh RGlj CWJ1aWxkZXI= IGJ1bGx5aW5n IHNpbXBsZXN0 LmNhbGxlZA== IExS IG1vcmFsaXR5 IHN0dXJkeQ== dHJhY2tpbmc= LnN3YWdnZXI= X0JJTkQ= SVRPUg== LXVybGVuY29kZWQ= INGF IFRyaW5pdHk= IHRyYXBz IHwt IHNldFRleHQ= IGJhcmdhaW4= IGJyYWtlcw== LmdldENvZGU= IG1pZ3JhdGU= IHJpYmJvbg== KXJldHVybg== IGNoYXJnZXI= YWNvbQ== QURJVVM= IEFtYmFzc2Fkb3I= LWFmdGVy IGFubmk= CXNwaW4= Q29uY2VwdA== IEhlbmRlcnNvbg== IEhPU1Q= LnJhbms= IE5vcnRoZWFzdA== IGJlcmxpbg== IHJlcXVpcw== LmZlZWQ= IHNvdXJjZU1hcHBpbmc= IFJlbmNvbnRyZQ== LmFqYXg= bmVzdGpz IHRyZWs= IE5hY2lvbmFs ICZb IHBheWFibGU= b3J0ZXg= IGRlcHQ= ZmllbGROYW1l IGNvbXBsZXRlcw== IFJWQQ== IG9uaW9ucw== YWxpZ25tZW50 Rm9ybWF0cw== ICd7JA== SGFzaFNldA== IEJvZA== LkludmFyaWFudEN1bHR1cmU= IHNldHRsZW1lbnRz IGh5ZHI= LnVwZGF0ZWQ= dmVudGg= KHNlY29uZHM= PSIvIg== IHdlYnBhZ2U= KAoK IHRpcg== IHRvZXM= IEJyaWNr IGFtYml0aW9u UG90 PW1heA== RVRJTUU= IGRlcG90 Y2FsbHM= IE5vcndlZ2lhbg== YDo= IGJ1cmdlcg== IHByb2Zlc3NvcnM= IEFsbG9jYXRl LXRoaXJkcw== LWNoYXJ0 IGZvcmQ= Kk4= LmtvdGxpbg== IHBhcGVyd29yaw== IERFVklDRQ== JUAiLA== cmVzcGVjdA== KG1w 6auY LWlm IGN1c2hpb24= b2JvdA== IHBhcmM= U1BBQ0U= IE5ldGFueWFodQ== IHNlbGZpc2g= ZmVhdA== IGNsaWVudGVz LXRvb2xz IHBvcmNo IGpx LnZlcmJvc2U= IGxpYmVyYWxz XSkKCgo= cGllcw== Tm90Qmxhbms= KHRlcm0= yJtp X1BhcmFtcw== Lm5vcm1hbGl6ZQ== QnVsbGV0 QVNJQw== KGhleA== X2NsaWVudGU= Kyw= X0RJ IGZvcnRoY29taW5n fSIpXQo= c2Vv VW0= Pk5hbWU= IGNvbWZvcnRhYmx5 aXJlY3Rpb25hbA== V0lUSA== L3By IFBvb3I= IFZpdGFtaW4= dmlj R0g= IHByaW9yaXQ= IE5O IENsb3NlZA== pO0= IGlzT3Blbg== XENvbnNvbGU= QW5kRmVlbA== LlNVQ0NFU1M= X09QRVJBVElPTg== cG9sYXRpb24= IFRhcw== cHN6 Picu Q1VSUkVOVA== VmVuZG9y aG9zdHM= IEVyZA== PnRhZ2dlcg== IHNvdXJjZU1hcHBpbmdVUkw= IG1hcmF0aG9u X2Nsb3NlZA== IGV4ZW1wdGlvbg== IHJlY29nbml6ZXM= aWRlc2hvdw== JyQ= KCcvJyk7Cg== bWl0cw== d2Fyeg== IENoZXJyeQ== taw= bm9y cG9ydGU= IHds X2JhY2t1cA== LmdldEJvb2xlYW4= LmdldFJlc291cmNl IGRlZmluaXRpdmU= LkVkaXRUZXh0 IHPDrQ== LkNPTlQ= IFBMQVlFUg== LmNhcmRz IFNob3Jl KCcvJykK Y2x1aXI= V2ViRHJpdmVy KG1vbnRo LXJlbGVhc2U= IGluc3BlY3Rvcg== 5aM= IE5G X2NsaXA= 5a2Q IGludGVyYWN0aW5n LnRtcA== ICcnJwoK IGRlZQ== IGZyb3N0 Il0pKQo= IFBsYWNlcw== VGhyb3dz Zm9yaw== L2RheQ== aVBob25l IE1JQw== IGZvbGRpbmc= IGNyb3Jl IENoaWVmcw== cGhlcmljYWw= KHByaWNl LldyaXRlU3RyaW5n IGV4aXRpbmc= XScsCg== aWdodGluZw== SW5ncmVkaWVudA== KHZlcnRleA== IHNjcm9sbFZpZXc= aGY= Om5ldw== U0VO c2VjdG9y IHNwaW5z IFNjaGVkdWxlcg== b3RlY2hu c2VtaWNvbG9u Rm9udE9mU2l6ZQ== IFNwZWNpZmljYWxseQ== ZmxhbW0= Lk9iamVjdElk IGNvbnRh X3Blcm1pc3Npb25z CUZST00= SUNPREU= L2tn IEhvdGVscw== LW1lZA== IERpbg== IG5hdnk= Z2V0UGFyYW0= IG1lbmQ= IHBvcnRyYXllZA== IE1ldHJvcG9saXRhbg== UGFpbnRlcg== IHJlZmVycmFs X2dvb2Q= IG1hcnZlbA== b3NhaWM= Pigm LnVy IGVzdG9z V2lsbGlhbQ== IHRpbWJlcg== IHF1ZWxxdWVz IERvY3VtZW50cw== LlhhbWw= IGJhdGNoZXM= 6YGT IFJlbGVhc2Vk VGFpbA== Q09PS0lF aGVpZA== X3N0YXRpb24= IFZpYQ== U2FsZQ== IFJlcGVhdA== IHByb21pbg== IFpv LWZvcndhcmQ= IElvbg== aXRhcnk= IGp1cw== LXJlcXVlc3Q= IHByb3VkbHk= IFN0cmVhbWluZw== KE1vdXNlRXZlbnQ= IFNwcmludA== X3JvdGF0aW9u UmVwb3NpdG9yaWVz IHRhcnQ= INGB0LI= IG1hcHBpbmdz 6Ko= Q3U= Q3ljbGU= IGJ1bg== CWx1YQ== 44OJ ICgoIQ== IGNvbGxlY3RpdmVseQ== IENvbmQ= IHdzenlzdA== KGxpYg== b3BlbmhhZ2Vu X3NraXA= LkNvbHVtbkhlYWRlcg== 6YI= cGVyaWVuY2Vk j+i/sA== X3Byb3Bz IGNvbnRyYWNl IG1hdGNodXA= YWJldGlj Lm1lbWJlcnM= UkVDVA== KGRhdA== IHNvZw== cmVub20= X01ldGhvZA== Q3VzdG9tZXJz ZnVsbG5hbWU= Wk4= cmV0cnk= IGthcA== IE5ldQ== 6Io= YWRkQ2hpbGQ= d2lsbFJldHVybg== X3Blcm1hbGluaw== IGVuZXJnZXRpYw== IFdldA== IE1vcnI= IGdjZA== Y291bnRz LHR5cGU= ZGln KExvZ2lu IGNyYWNrcw== IGJhY3RlcmlhbA== IE1lYXQ= IEFybXN0cm9uZw== IEJyb256ZQ== IGFwcHJveGltYXRl X2RpcnM= bGlnYQ== xYJhZA== IGtpbmRuZXNz IGNvbnRyZQ== IEVWRVJZ TUVU IGFubm91bmNlbWVudHM= Z3Bpbw== IFdhaXRGb3JTZWNvbmRz IFBob3Rvc2hvcA== IGRpc2NvbnRpbg== L2Rk IHRvcG9sb2d5 YW5pY2Fs LmludGVyZmFjZQ== YXVjb3Vw Lkhhc2hTZXQ= QVJJQU5U KHJvdXRlcw== IFRlaA== IGh5cGU= XSIpLg== IHNsYW0= IGJyb3Ro LWludGVy IFJpZA== LW1hbmFnZXI= Q2FuY2VsYXI= IFBhZ2luYXRpb24= IHNvdW5kdHJhY2s= IHBvc3Rlcmlvcg== IHNjcnVi Y3JlYXRpbmc= LSo= aXJ0ZWVu LmR5 LnN5bW1ldHJpYw== ICIiLg== PT09PT09PT09PT09PT09 IGNoYXNzaXM= IG51bWJlck9mUm93cw== RGV2ZWxvcGVy X2JpbnM= IE9VUg== cmllYg== UHJvcw== IHdpxJk= ImQ= IGFzeW5jaW8= emVpZ2Vu X3NwaQ== LkFMTA== IHNjcmV3cw== Q2hpbmVzZQ== IGFwaUtleQ== IHVuc3VjY2Vzc2Z1bA== IFNlYWhhd2tz T1JH 56ug IHByb2Zlc3Npb25hbGx5 IENvdXBvbg== 5a2X5q61 Q29udmVudGlvbg== IHBvbHlt 5omL IHNhbHZhdGlvbg== IGVuZ2luZWVyZWQ= IFdyZXN0 IEdDQw== IHdhcm1lcg== TGF5b3V0Q29uc3RyYWludA== IGFnZ3Jhdg== U2NyaXB0cw== dmVudHVyZQ== IHJlZnJpZ2VyYXRvcg== IGlubm92YXRpb25z IFJ1bm5lcg== TklD IFJvbGxpbmc= Q29udHJvbEV2ZW50cw== IGxvb3M= cGFj CXBhbmVs ZWZl IEJ1ZGRoYQ== LS0tLS0tLS0tLS0tLS0K 5bqT KGZvcktleQ== IGx1bWlu ICg/ IEFJRFM= LHVzZXI= aW1pZW50b3M= Y29udGVudFR5cGU= YW50bHI= 6aY= IFdlbHQ= UHJvZHVjdGlvbg== bWlnaHQ= IFZJSQ== Iiwo IG9ic2VydmluZw== IGRlbGliZXJhdGU= KGNvbnRyb2w= IHdpdGhk IHNlbWFuYQ== U1RBQ0s= dWNoZW4= TmljZQ== IERldXRzY2hsYW5k IFNwZWNpZmllcw== ZG1h aXppbw== IEZhY3Rz X3BvcHVw IERpcmVjdG9ycw== ezo= W1I= INGN0LvQtdC80LXQvdGC IHBsYXQ= IGRpcmVjdGluZw== 5LiJ IEdpbGJlcnQ= 4oCmLgoK LnFtbA== IHRoZXJlYWZ0ZXI= IGRpc3Bvc2l0aW9u ZHJhZnQ= IHN1cmdlb24= IEluc2lkZXI= QmxlbmQ= IFRyZXY= dHJpbnNpYw== VG9waWNz cmlldmU= X0ZJTEVOQU1F IGF1dHJlcw== Sm9zZQ== UHJvZHVjZXI= ZXJ1cw== IHBldGl0 IE5FWFQ= IEZpbHRlcnM= IHJlcGxpY2F0ZQ== Il0pLg== IGxlbmRlcnM= XSIsCg== O2NoYXJzZXQ= Q3BwT2JqZWN0 IGZsb3JhbA== IFRpcG8= IGNpcmN1aXRz ZWFzeQ== KCYk aXR0YQ== ZXJ5bA== X0NPTU1PTg== J319Pgo= LWJhY2tlZA== KHZhcmlhYmxl KEluZGV4 IHZvaXI= X2xvY2F0aW9ucw== Kyspew== IExvdWlzdmlsbGU= IGdyYXRpdHVkZQ== Lk1vY2tpdG8= IFBvd2Vycw== aWV1cnM= IGdlb2dyYXBoaWM= cmFsZQ== IGNyYQ== IFNwdXJz aXBoZXJ0ZXh0 QUNJT04= LWNvbW1vbg== IHZpY3Rvcmllcw== IEZpbmFscw== LnNodWZmbGU= LW1pbGxpb24= X1BST0M= YXNzdW1l IGlscw== REJD Qm9vdFRlc3Q= IGxhdm9y LnRlc3Rpbmc= LmFzdA== Il0v bW9pZA== IHF1YWxpZmljYXRpb24= Z2VzY2g= CXB1dA== IGFpcnBvcnRz Skk= VGVhY2hlcg== X3VuaWZvcm0= IG5hbWE= IEJhc3Q= ZXJ0eXBl Y2FwdHVyZQ== Z2V0QWxs IFJleW5vbGRz b29sZWQ= LmNvbW1lbnRz IGNoaW4= KS4q INC40LvQuA== dGds dWRvcw== IGTDrWFz Y2hhaQ== LnByb2dyYW0= IHBzeg== CWljb24= cGhpbA== ZW50cmFs X1dSQVA= b3Zp IG5vc3RhbGc= SW5maW5pdHk= CXlpZWxk IHZpdGFtaW5z UXVhdGVybmlvbg== U2luaw== X2dvb2Rz IC4uLi4uLi4u IFdpbmdz dXJpZGFk LXN0b3J5 Il0pCgo= aWRlbGl0eQ== VHlwZURlZg== R3Rr IO2M X01haW4= IGNoZXo= IFJhdmVu IHBheXJvbGw= IGZyZWVsYW5jZQ== TExV IE1lbmQ= ZWRheQ== QXBpTW9kZWxQcm9wZXJ0eQ== LkZvcm1Cb3JkZXJTdHlsZQ== IGVjb25vbWlzdA== c3RhbmJ1bA== IGZyZWlnaHQ= LUFnZW50 KG1ldGE= IHN5bW1ldHJ5 ICcuLg== LkNhbGVuZGFy LWF1dA== Z2Y= cGVudA== eWNsb3BlZGlh IHdpc2hpbmc= CgoKCgoKCgoKCgoK IGdlbnRsZW1hbg== IOqz PSM= IGxlY3R1cmVz 4oCcSW4= ICFf IGhi IFZlbmRvcg== UmVjZW50bHk= X25vdGVz 5o+Q56S6 Ik15 SGVhZGVyc0hlaWdodA== X1NP IHVud2lsbGluZw== IHN1cGVyaGVybw== Z2lv cHN5 IFBlZXI= amF2YXg= JmFwb3M= IENyaXNpcw== b3JkaW5hbA== TWVtY3B5 KysrKysrKysrKysrKysrKw== LXZhbA== IHdvcmtib29r LWFw PWs= IG1ldGFsbGlj X3BlZXI= QnlQcmltYXJ5S2V5 X1NE dWF0b3I= X1NIQURFUg== KU1hdGg= LlRyYW5zZm9ybQ== IGNvd3M= UGhp IENsZW0= KF8oIg== IEx1ZA== LWRlbGF5 IFNlY3VyaXRpZXM= IE9ydGhvZG94 U3ltZm9ueQ== KHJlcG9ydA== IGVudGVydGFpbg== RVBT aXpvcGg= ZXh1YWw= SVJE 5LuO IGxpdGg= IHNhbml0aXpl IGZlbWluaW5l SVNCTg== LmF1dGhlbnRpY2F0aW9u X3BpcGVsaW5l L2NvbnN0YW50cw== IENPTkY= IGx1Y3I= cmljaWE= LnR0Zg== LnNldENvbnRlbnQ= IHN0YW4= b3JlYW4= IExsb3lk LnJhd1ZhbHVl IGdvcg== IEJyb3ducw== UmVncmVzc2lvbg== IGxvd2VyaW5n bmFpc3NhbmNl IGJsb3dz IGFtYXplZA== IHVucmVsYXRlZA== UmV2aWV3cw== IHJ1Ynk= IE1vZGlmaWVy IGdpYW50cw== LnRocmVhZA== IGNvbnRhaW5tZW50 IFN0YXJ0Q29yb3V0aW5l dW1hdA== b3JlbGVhc2U= IFJhbmR5 QGVuZGlm RGlnZXN0 IHN1YnVyYmFu PSIpOwo= IGFubm9uY2U= LnZhcmlhYmxl XEZvdW5kYXRpb24= IGFjcmU= VmFu IHR1cGxlcw== ZG5z IFN0YW5kaW5n X2xhcmdl IGJveGluZw== U3VwcG9ydEFjdGlvbkJhcg== IEZvcnR1bmU= IFJ1bQ== X211bHRpcGxl YXJjaGljYWw= IGZ3cml0ZQ== X3F1b3Rl IGZvb2xpc2g= IGNvbXByaXNpbmc= INC+0L8= LXNlbGVjdGVk dmY= bWFpZA== TmFtYQ== KGRhdGV0aW1l IGluZGlyZWN0bHk= Z2FydA== Zml4dHVyZXM= Y2hvcw== IEhhbG8= IHJlY3VycmluZw== LW5ld3M= dmls IE51cnNpbmc= LXByb2R1 IEhR XEh0dHBGb3VuZGF0aW9u ZW5jaQ== YXVlbg== IHZ5 b2NyYWN5 IGRlbGVnYXRpb24= IGFzcGhhbHQ= IHNldFNlbGVjdGVk a29r L3Jlc3Q= bWV0aWNz IE5TRGF0ZQ== IHRyYXZlbGxlZA== IHJlY2li IG1pbWU= Q0xJRU5U IEdV IEhBTkRMRQ== L1E= W3o= IGJvdGhlcmVk IEJCUQ== w6dhcw== X2V4YW1wbGVz X0ZJTg== IHdoaXRlQ29sb3I= IGFzdHJvbm9t LWRpcg== IHNvdmVyZWlnbg== IGJyZWV6ZQ== IGlubmluZw== IEVkbW9udG9u Z2xp LmJsb2dzcG90 anN4 IHZlcnNh IE1vaGFtbWVk LkpvYg== LXRvZ2dsZXI= INC/0L7Qu9GM0LfQvtCy0LDRgg== YXJkb24= IG5ld2Jvcm4= IG5hdmFs bm90ZXE= IHR1bWJscg== IGhlbnRhaQ== IFR5cGljYWxseQ== IGxvb3Q= LlNwcml0ZQ== RmxpZ2h0 IHdhdmVsZW5ndGg= LXNr IEVsbGU= X2V4cG9ydHM= INGP IElI aXpvcGhyZW4= IO2B X3ByaW1hcnk= IG1vaXM= IEJO IHN5c3RlbWlj IGRpZmVyZW50ZXM= SU5DVA== ICcnCgo= JHE= V2lkZ2V0SXRlbQ== Y2xpZGU= JGZpbGU= TGVtbWE= L3RhYmxl YWdyaWQ= IE1vbmdvREI= aW50ZQ== IGFwcHJlbnQ= wq1pbmc= LkRi IMOC aGFtbWVy PScnOwo= IGJyb2tlcnM= aXRsZW1lbnQ= c2VtYmxpZXM= RWxl e3g= IGxhc3RuYW1l PC0= IGZsYXR0ZW4= X2JhbmQ= LlJvb3Q= LnJlYWRGaWxlU3luYw== PT09PT09 LnJ4 Pw0K IG1ldGFwaG9y VGk= Y29udGU= IGRlYml0 IGNvbnRlbXB0 Q3BwVHlwZQ== 5pSv Rm9ybUZpZWxk cmF0aW8= b3NvcGhlcg== IGltcGxhbnQ= UFVSRQ== IGFsdGE= X21hbmFnZW1lbnQ= IHJlZmluZQ== IENoZWNrQm94 IENoYXJs LXZlcnNpb24= Y29uZGl0aW9uYWw= dmVudWVz IHJpZmxlcw== IG9mZnNwcmluZw== IG1pbGxpbmc= IHNoYXJwbHk= IHVuZGVyd2F0ZXI= KG9yaWdpbg== X0NvbnRyb2w= IC4k UGx1Z2lucw== IGRyeWluZw== IGlsbHVzdHJhdGVz LXU= IHZlZ2V0YXJpYW4= bnBj SGVhcnQ= OycsCg== Y29tbWE= dGVlbnRo YXNhbg== L3NwZWM= X21vdmVz LW1hcmdpbg== IGluZ2Vu wqDCoMKg IHByb2pldA== IG90cmE= IGJyYXM= LnV0Yw== IHNsZXB0 PXN1Yg== YWJpbGl0 cG9zdGVy IHNkaw== b3VuY2lsbA== IHdk UHJlcGFyZWRTdGF0ZW1lbnQ= IERydW0= KGF0dHJpYnV0ZQ== IEV0aGVybmV0 CURC Q2FsaWZvcm5pYQ== Y3ViZQ== W0k= LkNyZWF0ZWQ= IEhN IHRyYWNpbmc= Rm9ybXNNb2R1bGU= LXlvdQ== LmN1cnJlbmN5 ZmVlZGluZw== IHRib2R5 TGk= YWNjaW9u bmFz IHRyb3V2ZXI= Tk9ORQ== In0sDQo= IGZ0cA== V2l0aElkZW50aWZpZXI= cG9sYXRl RmlsZUluZm8= IHB1cnN1ZWQ= ICAgIA0KICAgIA0K REVTQ1JJUFRJT04= fSovCg== RnJvbU5pYg== IGRlY29yYXRpdmU= X1NTTA== KGNoYXQ= VExT IHN1cnByaXNlcw== YWxjdWxhdGU= IFNwbGFzaA== KENvbmZpZ3VyYXRpb24= IFNFTQ== aW1zb24= L2xpYnJhcnk= PERvdWJsZQ== LnJvYm90 wqDCoMKgwqDCoMKgwqDCoA== IENQRg== IFVuZGVyc3RhbmRpbmc= IGNvc21ldGlj IFh0 dGlwcw== K2s= KCIn IFBEVA== V0FS LmdldE9iamVjdA== IFRyYWRpdGlvbmFs LnNsdWc= IERpcGw= PSIiLA== IEZpbG1z IEFuaW0= LmhlbHA= IGVtYmFzc3k= IEJvb3Rz IGJ1bms= LXJpc2s= IHBjaQ== IC9cLg== IElQVA== IGNyYXNoaW5n IGlwdg== X2tl IFJFU1A= LkxvZ0Vycm9y IGluYWRlcXVhdGU= SW9u IEbDvHI= cmljdWxh IHNob3VsZEJl YWxyZWFkeQ== J10uIjwv IFN0dWZm RGlnaXRl IHRyYW5zbGF0b3I= X3Nwcml0ZQ== bGV0YWw= IG1haW9y IFNleGU= dGhhbmtz IENvbXBsZXRlZA== IGdhc29saW5l LmF0dHJz YmFnYWk= IE9yaWc= Ol0s LmxvY2FsZQ== IFJvbWE= w61m IGZhdm9yZWQ= IHZhaW4= IHNwb29u IEphaHJlbg== IG5pbmc= V1dX LGZsb2F0 X0RBVEFCQVNF Qm9vdHN0cmFw IENCQw== IENodW5r X2ludG8= IEtvbA== IGRlZmVuc2Vz b3JlZFByb2NlZHVyZQ== YmFsbHM= VGV4dENoYW5nZWQ= IHNoYXBpbmc= IH19Pg== R0VE ZmFx IG9wdGlvbmFsbHk= X0Rpcw== IFN1Y2Nlc3NmdWw= IENlbnN1cw== IGluY2FyY2Vy X0NBUkQ= IGF2aWF0aW9u IEd5bQ== QXV0aG9yaXR5 LkJlYW4= c2hhZGVy Tm90RXhpc3Q= X1RleHRDaGFuZ2Vk IFNUT1A= KHRlYW0= Ikg= d2c= IGdyaW5kZXI= IHN0cmlwZQ== IHByZXNlcnZhdGlvbg== Q2xhaW0= YXZlcnNhbA== d2FyZWhvdXNl dGFyZ2V0cw== VHJ1c3Q= IGFsbGV2 LHd3dw== b3Vzc2U= X2NoYW4= X1NpemU= c3lzdGVtcw== IG9iamVjdGlvbg== IEthbmU= IGNvcnJvcw== IERTTA== IHVh IE1I IFN0cmF0ZWdpYw== X3RjcA== IOqwkg== IGJvcnJvd2Vk IEFjaA== CWNvbW1hbmQ= IGdwcw== bGVzdG9u aWNoZXZlcg== IFVB IGFzc2F1bHRlZA== IHNwZWNpYWxpemVz CXNlYXJjaA== SG90ZWw= ICAgICAgICAgICAgICAgICAgICANCg== IFBpdGNo INmB UkVBRFk= IHBhcmVudGFs IGfDqW7DqQ== IGRvbm7DqWVz IGRldGFpbg== VEFSR0VU IHByb3RhZ29uaXN0 IGNsZWFySW50ZXJ2YWw= IEljb25CdXR0b24= IEdldEFsbA== VHlwZUluZm8= RUg= 4oCcVGhleQ== IHtb IGdhZw== INqp IERyb3Bkb3du LmZyZWU= Z29uZQ== aW1lbnM= IGluc3RhbA== CWN1cmw= X0NBTg== IEJvbmU= 77yU b255bXM= LWdvdmVybm1lbnQ= LmJpbmRpbmdOYXZpZ2F0b3I= IERhbnM= IE1jTA== KGVu Pihf 0JLRiw== Lio7DQo= PWo= LWNvcg== U29u LlRvb2xTdHJpcEl0ZW0= LWFyb3VuZA== X1hNTA== ZW5kRGF0ZQ== IHNsYWNr IHJvdGF0ZWQ= IG5vcWE= IGNvdHRhZ2U= IGVuY29udHJhcg== X3NraWxs aG91ZXR0ZQ== IQ0K LndlYXRoZXI= IGVtcGhhc2l6ZWQ= 5a62 INGB0L/QuNGB IENvbXBpbGVy KGFuZHJvaWQ= IOKAug== LnR1cm4= IHN1cHByZXNzaW9u X2NhbGxz ICpA KHN0cmxlbg== LmhleA== IEJpbGxz IFJTQQ== z4I= IEVzY2FwZQ== ZW1lbnRpYQ== IGZyb250ZW5k IHBpbnQ= X2V4Yw== enpv W10sCg== ICInLCci LkVudmlyb25tZW50 IGFmb3JlbWVudGlvbmVk IGVuZHVyZQ== cHJvdG90eXBl dGhlcmFweQ== c3Np RGVn X3BsdWdpbnM= LnVzZXJJbmZv UHJpbnRlcg== IFBST0dSQU0= IHJ1aW5z IGVtcGlyaWNhbA== IGNyYXds IEJvaWxlcg== LWNvbW1lbnQ= LnN1YnBsb3Q= X2V0 ICcuJyw= bWlub3I= IEN1c3RvbXM= IHlhdw== dW5kZXJsaW5l IENvbW8= KCgn KG1lYW4= IGNoYXF1ZQ== IEJsb2Nrcw== LnJhZA== aWxpYnJpdW0= IHdlYmRyaXZlcg== IG1lbGhvcg== ZGFuYQ== IEFidXNl IFNvdXRod2VzdA== IFBhcmVu UEVSVElFUw== CUlM IHNjcmVhbQ== dnU= IGluY29tZXM= IG5pbQ== IGxhY2U= IGNvbXBlbnNhdGU= UmV2ZXJzZQ== RGF0 X2F0dGFjaw== IG5vdXI= YWNoZW4= Y2Vr PEZ1bmM= d2ll Y29tcHJlc3NlZA== LW1hdGNo KCIiKV0K aW1pemVk Lm9yaWVudGF0aW9u LmNvbXBhcmVUbw== IG1hc3NhZ2dp IOychA== IGVsYm93 IGFudGlveGlk dW5kcmVkcw== L3Rvb2xz IFJPVw== YW5tYXI= IFdvdw== X3RpY2tldA== UHJvZ3JhbW1pbmc= IHRoZW9y LXJldmlldw== KCkpKSk7Cg== IFJpY2hhcmRzb24= IFBvY2tldA== XVtd YW1wcA== X2hlYWx0aA== IFBPUA== IE5hdmFs R3Vlc3M= IGFuY2VzdG9y LkdldEFsbA== LmxvY2FsU2NhbGU= IE1hcHBlcg== IGFjY3VtdWxhdGlvbg== IHNpbXVsYXRlZA== IERyaXZlcnM= IGTDqXM= Y3VycmluZw== IGVsZXBoYW50 IGFkdmVydGlzZWQ= IG1haWxib3g= U0hJRlQ= IE1vbmljYQ== IGFuYw== IHdhcmRyb2Jl SW5ncmVkaWVudHM= IHx8DQo= aXBweQ== IGFudGliaW90aWNz YXZpbmdz KGN4 IEZlcnJhcmk= IEFuaW1hdG9y LmR0eXBl cmVtb3ZlZA== b3JkZXJieQ== IGNyZXM= b2PDqg== IHB5bQ== IENpcmN1bGFy QGluZGV4 IFdhcm0= U2F5 IEFzc2lzdGFuY2U= IGN1cnRhaW4= IE1vbnRl SUxFUg== IENWRQ== IER1Y2s= IEFsbG93cw== X2ZpcmU= IERlcmJ5 IHJlcG9z IGh0dHBDbGllbnQ= IHBzeWNoaWF0 IG5vd2FkYXlz IGNhdXRpb3Vz IENvbXB1dGluZw== IGNvbXBsZXRpb25IYW5kbGVy IFdlbHNo IEJFU1Q= IHN0cmVzc2Z1bA== X1BF 5pel5pyf IERhdGFGcmFtZQ== CUludGVnZXI= X1ByaW50 TW92ZXM= IHRyYW5zZm9ybWluZw== LkJhdGNo eWFob28= UG9zaXRpb25z emVq IG5vb2Q= aW9yZXM= Xyo= IGNsaw== IEZsb3lk IGhhcA== Zm9udHNpemU= IG5heg== Lm5vdGlmaWNhdGlvbg== IERlcHJlc3Npb24= IGFjbmU= KioqCgo= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCg== LmNvbnRlbnRz eW50aA== IFN0cmFpZ2h0 Jyl9fSI+PC8= IGJ1bGI= Ulg= Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IGNvbXVuaWM= IFJO LW1lZGl1bQ== TEVBTg== PWxlbg== UGhvbmVOdW1iZXI= ZXJ2YXRpb25z QWNjdXJhY3k= IEFubm90YXRpb24= X2tleXdvcmQ= X2hpbnQ= IEF0aGVucw== IGFzc2lzdGluZw== IEhD LkluaXRpYWxpemU= JykpKQo= dXBh IHN1aXY= IElQQw== PFRFbnRpdHk= IGJyYW5kZWQ= b29tbGE= bGFyxLE= IFhNTEh0dHBSZXF1ZXN0 IGTDqWrDoA== IHRyYW5zY3JpcHRpb24= IHByZXZhbGVudA== LnBsYW4= IHN0YXJl IHdvcmtvdXRz IEVkdWNhdGlvbmFs IG1lc3N5 IE1PVA== LkNvbW1hbmRUeXBl UWVk KGdjYQ== IExpbmVhckxheW91dE1hbmFnZXI= IEJsb3c= IEFsdW1pbnVt IHN3aW5nZXJjbHVi IFRyYW5zaXQ= IGV4cG9z dmly KHNlY29uZA== IGJlbG9uZ2Vk U3RvbmU= 6ZW/ IFN1bA== IGdpZA== IGFsbG95 ZXJ2YQ== aXNlY29uZA== X1JFTkRFUg== IGFuZ2Vscw== IFBoaWxvc29waHk= b3B1cw== IG1vbw== ZW5ndWlu X1ZBUklBQkxF X0RFU1Q= KGF1eA== IGhvZQ== IGRvYg== YXR0YWNobWVudHM= IGNvcnJpZG9y IGRpdmlkZW5k nbw= IFRocm91Z2hvdXQ= Lm9wdGlt JG5ldw== IGJlcmc= IHNwcmVhZHNoZWV0 LlRyeUdldFZhbHVl IHBheW91dA== IE9uRGVzdHJveQ== YXV0aGVudGljYXRpb24= IE1pZ3VlbA== cnRj IENocmlzdGluZQ== IEFJUg== IGp1cmlz IGRlc3BhaXI= IHBhdGVudHM= LWhhcw== JV4= 5LuY X3N0cmR1cA== IFJlYXI= ZXR0ZXM= KHByb3BlcnRpZXM= IHdyaXRhYmxl LmlzTnVsbA== b2xpY3M= X2Jsb2I= IGN1YWxxdWllcg== YWZp b3d5Y2g= 6I635Y+W w4c= IENhcmRpbmFs IHRlbWE= IkFuZA== UGFnZVNpemU= 56eS LlNpbXBsZURhdGVGb3JtYXQ= IFdpbm5lcg== IGNvcnJlbw== X3dl LmFkZE9iamVjdA== KGNvdXJzZQ== IGhvZw== b3Bybw== IHByb2JhdGlvbg== dW5hYmxl KGFjdGl2ZQ== 5Zu+54mH IHBlcnRhaW5pbmc= IGVtcGhhc2l6ZQ== IFByaW50ZXI= PS4= IHVwZ3JhZGluZw== L2NvbnRhY3Q= PVtb LXNhbg== CXZhbHVlcw== IGRvc2FnZQ== U29saWQ= IFJvb3NldmVsdA== 5ZWG5ZOB IHJlY3JlYXRpb24= IFRlcm1pbg== LkJhZA== IEJvbHQ= U2t5 X0ltYWdl IHNxdWly IENvYg== T1JO IGF1Yw== LkxFRlQ= J0I= LXJlc2lzdGFudA== PiIr IHRva2VuaXplcg== IHNvdmVyZWlnbnR5 IFBlbmNl KCkiKTsK IHBlc3NvYXM= Lkdl IEluY2x1ZGVk IHBhZ2luYQ== IGV4cG9zaW5n 0LXRiA== X1NDUklQVA== LyQnLA== VGh1bWJuYWls 15Q= d2ViRWxlbWVudFg= d2ViRWxlbWVudFhwYXRocw== cHJlc3N1cmU= IEN1cnJ5 X0NQ T0xVVElPTg== SUxFUw== cHJvdGVjdA== b29sYQ== V29ya3NwYWNl e307Cg== IFVOUw== IHN5bXBhdGh5 cm9rZXI= IHJlbW9kZWw= CWNlbGw= IGF0b3A= LkZ1bGxOYW1l IGZhdXQ= IEVhc2lseQ== X2R5bmFtaWM= IGZyYW1lZA== IG1vdGl2ZQ== 6Lev c2Ft IG1hcmNh IFRleHRFZGl0aW5nQ29udHJvbGxlcg== IGRlc3RydWN0b3I= Y3JlYW0= IHJ1ZGU= IEJvbGQ= IEluZGlnZW5vdXM= IGdlbnM= IHJlbGFjaW9u KHN5c3RlbQ== IFVJRm9udA== X2NoYXJnZQ== VVNURVI= RVY= Lk5hbWVzcGFjZQ== IG1lcmdlcg== IGNhbGxvYw== Z2FuZw== QmFkUmVxdWVzdA== IHNwZXI= LWRlc2lnbg== IOKH Q2hhbg== IG9yZ2FuaXNt LCk= PWlk X3BsYW5l IENhc2Vz ZWxmYXN0 IExlZ2lzbGF0dXJl IEZha2Vy IGludm9raW5n LXV0aWxz KCkuJw== LmZhY2U= IGd1YXJkaWFu bXlNb2RhbA== IGNsaXBib2FyZA== IEFUTQ== IHBlYXM= IFN5bHY= LmNhbGM= IENvbnRhY3Rz aW50VmFsdWU= IG1vZGlmeWluZw== IEJhcmI= Lmxvc3M= X3BlcmNlbnRhZ2U= QXNrZWQ= KGxzdA== YXRlZ29yaWNhbA== LWZpbGVz IFJvbWFuaWE= LkFj IGhhaQ== IEZseWluZw== IMW8 anA= IFRyYWluZXI= LmFyYw== X2RlZw== IHRyYWNlYmFjaw== T3JGYWls RkxPVw== Lm9sZA== b3lh Z210 aXNlbXB0eQ== IHZhY2NpbmF0aW9u IG9ic29sZXRl cmVjb2duaXplZA== IHJ1aW5lZA== IFJlaW4= IFRyYWNraW5n eGZi 2KfbjA== IHbDpnJl IGJyeXN0ZXI= IElUUw== IGRlc3Rpbnk= IHN3ZWFy IHJlZGVz IGNsZg== IGZsaXBwZWQ= CWhlYWQ= Qmx1ZXRvb3Ro IE92ZXJyaWRlcw== OkJvb2xlYW4= Xz0= X2xy c3Bhd24= OmluZGV4 VkFMVUVT aXNrZXk= PyIpOwo= LnN5bnRoZXRpYw== IENoZWNraW5n c3RydWN0dXJlcw== aXBpbmc= IHZvY2Fscw== LVVw IE1hbnVmYWN0dXJlcnM= IE1hcnJpYWdl 5Luj56CB IGdhcm5lcg== X0NsaWVudA== cGFyYWxsZWw= UklFTkQ= IHZpbmVnYXI= c2VndWU= SkI= IGNvbnRhY3Rpbmc= IENhcnJvbGw= IG91dHJlYWNo dGVuc29y X3ZhcmlhbnQ= IHRoZWF0 bGljYWJsZQ== e3w= dGlueQ== X2xldHRlcg== IHBlbmNpbA== SGVhZGVyc0hlaWdodFNpemVNb2Rl aWx0cm8= LmF1dG9jb25maWd1cmU= LmRyYWc= LnVzZVN0YXRl IEJNSQ== aGludA== Q29tcGlsZQ== Klw= ZW5hcnk= IGx2bA== LkNhY2hl Kz0i X3R2 cnVpdG1lbnQ= IGZyZWFk QXJ0aWNsZXM= ZmlsYQ== IHBhY2thZ2Vk 4piG QVRIRVI= IFBsYW5uZWQ= c2NoZW1l IGRpYXJ5 IG9mZmVuc2Vz Lzw/ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== UHJvZ3Jlc3NIVUQ= IEdvcg== LmdldFRpdGxl IG1vY2tlZA== IFRvcnk= ICIpIjsK I2c= IGxpZWQ= IHN2Yw== X2d1aQ== RU5UUlk= IHNlcnZpY2lv bW91c2VvdmVy U0FDVElPTg== 44Kz IHJlaWZl bGVjdHJpYw== X2NyZWF0aW9u UmVhbGl0eQ== KCcr cHJvZHVjdElk U3VwcGxpZXI= LUxl LnJlcG8= dWNraW5n X1N0cg== IFJlbGF5 0LjQuA== IHBlcnY= Q2hpY2Fnbw== IG1haXNvbg== IHN0aWNrZXI= X3ByZXNzZWQ= U3dhcA== IElH IHN1c2NlcHRpYmxl b2NhZG8= IGdpbg== ZXhl aWdoYm9yaG9vZA== KWA= IGRpYWdyYW1z IGluZmxhbW1hdG9yeQ== IHTDqQ== IFBvcHVw IGFwcHJlaA== IFBvcnRmb2xpbw== IHdvcnM= LmVudW1z 0LXQs9C+ L0J1dHRvbg== IFBoYW50b20= ICM6 IGRpaw== cGFnZXI= ZnRhcg== IG9yZ2FuaXplcg== KGNoaWxkcmVu IE11bmljaA== IHN0cmFuZw== IFJX 44K/ TWFo cHRpZGU= IGxlYXJucw== IHJlZHVjdGlvbnM= IFJlcGxhY2VtZW50 T1RT YWxjb24= KHBhcnRz YmFzaA== IENpdGl6ZW4= jbDsnbQ= IEh0dHBTZXJ2bGV0 X1NDSEVNQQ== bWVhbnM= IGhvcnJpZmlj VkVSSUZZ IERDSEVDSw== ICgv LmJlZm9yZQ== LnRleHR1cmU= Z2V0TW9jaw== IFNlbnNl SW5zcGVjdG9y VGV4dE5vZGU= KEFM LmdldE5vZGU= IGJveWM= IEJyaXNiYW5l IGJhdHRsaW5n CXR4 IGxvYmJ5aW5n YnVpbHQ= IFNFRUs= IHJhbmRvbWl6ZWQ= Z25p X2NsdXN0ZXJz X2lkZW50aXR5 IGNhcmRpYWM= IG5ld1VzZXI= LlZpZGVv ZHVpdA== XWluaXQ= QXRs KXZhbHVl VGV4dFV0aWxz INC10YHQu9C4 Q29tcHV0ZQ== PSgn CQkgICAgICAgICAgICAgICA= IGFydGVy IFRXTw== JykpLA== IERJVg== IHByaXZpbGVnZWQ= IFBhcnRuZXJzaGlw IEhlYXRoZXI= YmF5 YXRpc2ZpZWQ= aW5zdGFncmFt X1NlbmQ= IEFTRg== JG5hbWU= IGJvbw== IGTDqWY= X0ZpZWxk IEVkdQ== Y2FuZGlkYXRl cnVieQ== IGFjY3VtdWxhdGU= KEludFB0cg== IGJ1c2luZXNzbWFu IGVjb25vbWljYWxseQ== IFJpbmdz IElucHV0cw== uYQ= YWNpZQ== IEFsYXJt IExvZ291dA== LnNlcXVlbmNl IFZpZW5uYQ== b3By IGRydW1z PWNvbmZpZw== cXVp IGRhdG8= IHBvbHltZXI= IENoYW5nZWQ= V2ViUmVxdWVzdA== IEFkdmFuY2U= IHVuZGVyZ29pbmc= LkNvbnNvbGU= IGN1cnJlbnROb2Rl IFdvb2w= IHDDoWdpbmE= UkVHSVNURVI= IHNhZ2E= IFlPUks= YW1hbmhv 5a6M IEJ1bmRlcw== IERpYWxvZ0ludGVyZmFjZQ== Z2VvaXM= dW5jaWF0aW9u PyQ= LkFzc2VydGlvbnM= IHNlYXRlZA== IFNweQ== UG9zZQ== IkM= IGFob3Jh INGE0LDQudC7 IOuzgA== IHdhcnA= UHJvamVjdGlvbg== IFNpbmdsZXM= IEFkdmVydGlzaW5n TGludXg= dXN0eQ== IHBlbmFs VVNJQw== b2RpYQ== Lm5ldGJlYW5z IFVn IEJyZW50 LWxvZw== L2NhdGVnb3J5 IEN1c3RvbWl6ZQ== aXJlbg== 77yaPC8= aW5hcnM= ICgrKw== R29pbmc= RVhFQw== KG1lc2g= IHBlcmltZXRlcg== Q2xz Y2VpdmluZw== bWVuc2FqZQ== KCkpKXsK IHByb3N0YXRl X2J1eQ== IFJvb2Y= LlJldHVybg== IG1hcnJpYWdlcw== X3RodW1i 574= 4K+N VGV4dHVyZXM= KFRFWFQ= c2hvcnRjdXQ= VHJhbnNmb3JtZXI= QVRJQw== IFNub3dkZW4= c2NyaWJlcnM= bWFya2Vk IOKGkQ== aG9yYQ== T1BFUg== IEZZ IEF1dGhlbnRpYw== IGF1ZGk= cmFtZXI= IExpdGVyYXR1cmU= IGl0ZW1JZA== LkF0dA== KGNudA== IEtT LWxpbnV4 IFBhcnRpY2lwYW50 IENydWlzZQ== aXR1bG8= dXN0cmlhbA== IGNsYXNl ID0k X2RhdGVz Y3VycmVudFBhZ2U= aXhh ZXhhY3Q= IHRzbA== LlNv L2RvY3VtZW50 aGFydA== X0lETEU= e30u eWV0 SXJvbg== IFRocm9uZXM= c25k XHhh IGJldmVyYWdlcw== X3RyYW5zcG9ydA== IGZvaWw= IHRhc3Rpbmc= IGdvZWQ= TWVtbw== IG5pdHJvZ2Vu Lk1lbWJlcg== LmZsYXQ= IGlsbHVt bWluZW50 Lnpvb20= IFB0cg== b2Npbw== IENvbnN1bHRpbmc= IENvbmU= CWl0ZW1z IExN IG9hdXRo IFByb2dyYW1tZQ== b2Nob25k KHNlbGVjdG9y IHdhdGVycHJvb2Y= IE1lcmtlbA== IHN1ZmZlcnM= IG5wbQ== 6LGh IExhbmRpbmc= IExBTg== CQkJCQkJDQo= L2lz IHPDqXJpZQ== IEdVSUxheW91dA== Z2l2ZQ== X0NZ QnJvd3Nl Lm11bHRpcGx5 PSIkKA== dXNv LXBhcmVudA== Lk1hdGg= Lm51bWJlck9m IHRpZW5lbg== IHJlc2VudA== IHBpdGNoaW5n Il0pLAo= LlV0aWxpdGllcw== IG11bHRpcGxpY2F0aW9u OnR5cGU= IHBwcmludA== aWFuaQ== 5YiZ IGxhdW5jaGVy IHJ1Z2J5 546w CgkJCQo= aGlk QW5nbGVz IGdvb2RieWU= IGlucHV0U3RyZWFt LndhdGNo R29vZHM= IFNheXM= PkY= IFN0aWNr IGNlcmM= IFNsZWU= CQkgICAgICAgIA== PEltYWdl IOiuvg== LWVkaXRvcg== cGllY2Vz IERyYW1h IC8vLy8vLy8vLy8vLy8vLy8vLw== IFRhc2tz QVJD Z2F0ZXdheQ== LmdldGN3ZA== Lk1ldGFkYXRh IGd1ZXNzaW5n 5Zyw5Z2A IHNtYXJ0ZXI= IEdldEVudW1lcmF0b3I= IGVmdGVy L29wZXJhdG9ycw== IEdMZmxvYXQ= IGbDuHI= IG9wYXF1ZQ== 5L+d5a2Y U3ByZWFk U1lTVEVN IGludmVyc2lvbg== IEJhc2tldGJhbGw= IHNpbXVsYXRpb25z IGRlbmllcw== IGF2ZXo= X2xpc3RlbmVy IGVuaGFuY2luZw== IE15dGg= IExha2Vycw== X01E TmRFeA== REFUQUJBU0U= IHThuw== YXJ0aA== W2xlZnQ= IGNvbnRlc3Rz c3RpbGU= KEtFUk4= X2Zj X3Bt IHByZXNpZGVudHM= IGhvc3BpdGFsaXR5 IGZhZGVJbg== Uk9QRVJUWQ== X21hcHM= IERlZmluaXRpb25z IGFzc2Vzc2luZw== IHVzYXI= IHF1YW50aXRhdGl2ZQ== bW96 QmVhdXRpZnVs Wygo Ym9ucw== ZnJlcXVlbmN5 Q29udGFpbg== IHB1enpsZXM= IENhc3Rybw== IHZpbGxh IGtpbmRseQ== Rm9udEF3ZXNvbWU= ZXJuYQ== ZXBvY2hz X2RhdGFz CWlw LnBhZGRpbmc= IENvbnRlc3Q= IGVkaXRpb25z IGRpc3Byb3BvcnRpb24= IElDTw== IGNvbWViYWNr PXZhbHVl cmlhZA== LXNvcnQ= U3VibWl0dGVk KG5ldHdvcms= IENlbA== IGluc3RhbGxtZW50 bGFzaGVz Lkxpc3RWaWV3 IFZhdGljYW4= KE1lZGlhVHlwZQ== SVZFRA== cmVhY2hhYmxl Oklz IENJVFk= 5Lqs IEhlbHBmdWw= IGJhxZ8= JQ0K IHBzeWNoaWF0cmlj IHJlY3ljbGVk Rk9STUFU IEdyb3c= YmluZQ== R2l0 LnNz IFdlYXBvbnM= IFN0eQ== X2Fycm93 KnNlbGY= aXJlbWVudA== IGRlZ2xp QXBwRGVsZWdhdGU= X2Jhbm5lcg== IGNvb3JkaW5hdGVk IFdlYmNhbQ== IGNlbGVicmF0aW9ucw== LmFjdA== KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KHNob3c= IHdlZWtkYXk= IGNvbmNlcnRz 0L7Qu9C9 Y2xpbg== IGNyb24= IE5pbQ== LnNldFZlcnRpY2Fs IEVsbGVu 2LPYqg== IFNBTQ== RWZm Z3o= c3RlYW0= IGFudGlxdWU= cGh5c2ljYWw= IEZvcm1EYXRh LnNldHRlcg== IFBPSU5U Qm9u IGZsYXZvdXI= ZXJ2ZW50aW9u X0VOVElUWQ== CSAgICAgICAgICAgIA== IGludHJpbnNpYw== IOaO YXBwZW5kVG8= YXJhbWVs KV0p IFJlY29tbWVuZA== KW0= T3V0T2ZSYW5nZQ== IGtuaWdodA== IHNhdGVsbGl0ZXM= IFRpdGFucw== IHdlaWdoZWQ= IERhbmE= ZWFzZQ== IHNpcA== U0lN IERldmVsb3BlcnM= bWFsaW5r L2NoZWNr X1BMTA== bnVuZw== IGRyeWVy PUE= LmR3 X1NRTA== IHN1YnBsb3Q= RFJPUA== IHByb3RvdHlwZXM= IGhvdXJseQ== ZGlzcGxheU5hbWU= IGFzaQ== IFZpb2xlbmNl IGFzdHJvbmF1dA== IGRhdGF0eXBl IGluZm9ybWF0aW9uYWw= IGludmVzdGlnYXRpdmU= ZXRlcm1pbmVk cmVuYWw= Oyc+ CWNvbA== Vkc= X2Jvb2xlYW4= cmVjZW50 ICopCgo= IFJhaW5ib3c= b21tZW4= IGx1cg== IG9wcHJlc3Npb24= KCIsIik7Cg== IEZhY2lsaXR5 REVGSU5FRA== IG5lb24= IG9mZmVuZGVy QUZQ IENsZWFuaW5n W10pOg== IHVuZG9jdW1lbnRlZA== LlJlcG9zaXRvcmllcw== IEd1aXRhcg== 0LDRgdGB0LjQsg== U2tpbGxz IHRlc3RpbW9u cnlwdG9ncmFwaHk= IEFtYmVy IFN0YWxpbg== IGxvbmU= IGFwZW5hcw== IGRpZXNlcw== IEFyZHVpbm8= 6L2s PT0t X0FjdA== IGNvZGVk 4pag YW1idXJnZXI= LWxpbmtz IGFybW91cg== LkhpZ2g= Z2V0Q29udGVudA== c3RhZw== IGhlY2s= IOyXhg== IE1jQ29ubmVsbA== IENvbmNlcnQ= IEFsbG9j w6RyZQ== LnJlcGxhY2VBbGw= IHBhcnRpdGlvbnM= cm90dA== IEZsZQ== X1RSRUU= cmVhc29uYWJsZQ== IFJlcG9ydGluZw== IGJpbGxpb25haXJl c2NvcmVz bWlucw== LWV5ZQ== TU9SRQ== YWJvcnQ= IFNXVA== IGludmVydGVk IFRlYWNoZXJz O24= IGFzdHJv 0L3QvtCy 0LDQvdC40YY= cHJvZHVjdG8= Y291bnRyaWVz IE93ZW4= IGNvbnRhbWluYXRpb24= IHZpYmU= IEVsbGk= LnNjcmlwdA== IE9saXZl RE1B dmllcg== OnNlbWljb2xvbg== LW1vZHVsZQ== Z3Jlc3NpdmU= YWd1 X3BsYXllcnM= IHJlc3VsdGFkb3M= c3RhcnRlZA== c2Nyb2xsVG9w PT09PT0= IHdlaWdoaW5n IFtbWw== emFobA== KE5T IEFzc2VydGlvbg== bGVhZ3Vl LnNldFRleHRDb2xvcg== CU1lc3NhZ2U= IG1vbXM= X0FG Lndo QUxT IGF1dHJl XQoKCgo= Lm9wYWNpdHk= IEJ1ZGRoaXN0 IGRlYWY= IE9yZ2FuaXNhdGlvbg== KEdsb2JhbA== ZW5zY2g= IGhlYWRhY2hl IEFsaWVu X2lub2Rl IFN0YXJr IOaJ LWxuZA== b3JlZg== X2ZlYXQ= IHBlZGVzdHJpYW4= IG5vbWluYWw= IGJhbGxvb24= IHNwcml0ZXM= UHJvdG90eXBlT2Y= IEFwb3N0 IEZFQVRVUkU= T0g= IHJlY2Vzcw== IERvbm5h Y29uc3VtZXI= JEdMT0JBTFM= IEdJRg== LWZyYW1l SW5pY2lv IHBhc3NhZ2Vz RGF0ZVN0cmluZw== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== LmJ5dGU= QnVn aW5pdGlhbGl6ZXI= cGt0 b2RpdW0= IERFUg== Lm9wcw== bGVyaQ== IGdpZnRlZA== IGRldGFjaA== dGVycmFpbg== ZWx0ZXJz 44GP LmxvYWRlcg== IE5HTw== c3RybmNtcA== S2g= KGZvbnRTaXpl cm9ja2V0 IHByZWNlZGVudA== IEF1cm9yYQ== IEV4cGVyaW1lbnQ= aXNwaGVyZQ== RW5jb2RlZA== IOKAkwoK IHB5cmFtaWQ= IEFubml2ZXJzYXJ5 b2ZpbA== 658= KHBsdWdpbg== Q29lZmY= IGNvb3BlcmF0ZQ== IHByZWRvbWluYW50bHk= SVNN UGhyYXNl X0RFRklORQ== RmxpcA== QU1JTFk= IE1hcmtldHM= IFN0cmVhbVJlYWRlcg== IENvbWJpbmU= IG1hbnVzY3JpcHQ= enph LHRw V2hhdGV2ZXI= SVRJQ0FM aWdoYm91cg== RGF0YVByb3ZpZGVy LlRleHR1cmU= cHJpdmFjeQ== LlNESw== IHJlY2hhcmdl IGNwcA== IENGRw== KGhvbGRlcg== KHB5 bW90 IHNhdm9pcg== IFJvc2E= IFBDcw== IO2Z Lmhlcm9rdQ== IGZyZW4= IFJpbGV5 YWdhdGU= IHNvbmQ= Lnhsc3g= IGhhY2tlZA== c3RhZA== R2k= IHNhbml0eQ== IFNxbERhdGFBZGFwdGVy Li4uIiw= IFB1c3N5 ICoqKioqKioqKioqKioqKio= IGhhc3NsZQ== X1BBUkVOVA== IFVBRQ== IGJlZ2lubmVycw== KENsaWVudA== IHN0YXRpc3RpY2FsbHk= LmhvdXI= ZWRlbHRh IHRyYWN0aW9u dWVsdmU= YXJhdA== IHNhdW5h SU5WQUxJRA== IGluZGljdG1lbnQ= QUxMRQ== IGRpc3NlbnQ= IFR5cG9ncmFwaHk= IGludGVudGlvbmFs c2l0 IEFuaW1hbHM= IGNvdW50cnlzaWRl IHVhcnQ= fVwi IHNlYW1sZXNz vuekug== IGF1dG9z ICInIjsK Rmx1c2g= QU5OT1Q= IGFsZ2VicmE= YXNzb2M= IFdhdGVycw== IHByZXBhcmF0aW9ucw== cm9ueW0= Wyxd U2Fucw== IGFybWllcw== aXBlZw== IGNyZWFteQ== LmFydA== ZXRyZQ== IEFuaW1hdGVk IHVucGxlYXNhbnQ= ZW1lYW4= Z3JlYXQ= acSF IEVhcmxpZXI= IGNoaWM= IHByZXNlcnZpbmc= KGV4ZWM= IEludmVzdGlnYXRpb24= CUdQSU8= IHJpZ29yb3Vz aWpv PW51bQ== IHRvb2xTdHJpcA== KXNldA== KyIm IEFjY2VsZXI= IGRldmVsb3BtZW50YWw= aXNwb3NhYmxl IGZsYXdlZA== cmVuZQ== VXBkYXRpbmc= IHdhdGNoZG9n IGRlbm9taW5hdG9y IHN1YnVyYnM= IC4uLik= IGNvbnZpY3Rpb25z Y2xvc3VyZQ== LklQ IHRyYW5zbGF0ZXM= LnN3dA== LlRyYWNl IG1ldHRyZQ== LmlzRW5hYmxlZA== IEVmZmVjdGl2ZQ== LnRvSW50 IGVuY2hhbnQ= IHN0dW5uZWQ= IHBvaQ== L2NvZGU= YWRt LmRhdGFiaW5kaW5n IExvcmVt X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw== IGxlZGdlcg== IGNhcmE= IEdpcg== IHdhaXRz VW5v IGN3ZA== 6L6R IFRSZXN1bHQ= IHJlam8= IGVtaXR0ZWQ= IFdlc3RtaW5zdGVy 5LiA5Liq bmVr X1Rpcw== IGVuYWN0 CXdpdGg= b3JnaWE= IGp1ZQ== UGVyZm9ybQ== U1BBVEg= LnRvcGlj IERhdGVu 4bqn IHNpdGlv X01N IlNv YmlhbA== IHNjb3BlZA== UmVxdWlyZXM= IFRPVEFM IENoYW5jZWxsb3I= KGNvbnRlbnRz IHN0ZWFsdGg= ZGV2aWNlcw== LXBhc3M= aWxpaA== IE1hbGNvbG0= IERlcG90 IGNvbmZpZ3Vy YXVzc2lhbg== X2NvbnN0cmFpbnQ= 0LLQtdGC R1JB IFJhdGVz LmRhdGFHcmlkVmlld1RleHRCb3hDb2x1bW4= IE5vYmVs aXRpY3M= IGlnbm9yYW50 IFJlcG9ydGVy IEVib2xh IFNob2Nr X3JlbGF0aW9u IE5pbmph KWM= IHRpY2tlcg== LmlzQ2hlY2tlZA== IFN1cHBsaWVycw== IFJhcGlk TGV2ZWxz 4oKs4oSi CXF1ZXVl IGNob3A= IFVuaXg= cmVqZWN0 LWNhbGVuZGFy KHNvcnQ= w6huZQ== ZXJjaWNpbw== IGhlY3Q= Q0FMTFRZUEU= cm91cG9u IHJlbnRhbHM= YXV0aG9ycw== e25hbWU= IEZJRk8= IGxhc3Nlbg== IE5vdXM= IHNuYXBwZWQ= IGZlcnRpbGl0eQ== ImxvZw== Y2xpY2tlZA== IHBsYW50aW5n IGdi L291dHB1dA== UEVBVA== IGNhdGVnb3JpYQ== IGJhY2g= UHJvZmVzc29y aW50aA== Il0NCg== UmVjb3JkZXI= c2VyZGU= IFRyYW5zbWlzc2lvbg== dHJhZA== IHR1cmJv X1ZFUlRFWA== XEV2ZW50 aWx2ZXI= IGJvZGlseQ== IFNvdXJjZXM= IGtpbGxpbmdz LnhyVGFibGVDZWxs IGZvbGRlZA== L2xlZ2Fs dW5lcg== IFJpZmxl IE1JREk= X1NlbGVjdGVkSW5kZXhDaGFuZ2Vk LlNpemVUeXBl IFdlYlNvY2tldA== IHNlbGVjY2lvbg== U2FuZA== b3Ryb3M= IGVudmlzaW9u L2V0Yw== IE1lbGlzc2E= U3BvdA== 0L3QvtC1 X0FSTQ== QXR0ZW1wdA== IEJJ 44GU IERV IGJhY2tsYXNo c3RyaWRl L2NsYXNzZXM= IHRleHRDb2xvcg== X3N0YWZm b2JsaW4= YWdlbnRh LmNvbGxlY3Rpb25z aWxsYWdl Jw0KDQo= ZmxhdHRlbg== X3NhbGVz X01BU1RFUg== VFc= X2Rh UGl0Y2g= cGhpZXM= IHpvbWJpZXM= IFZFUlk= IFBoYXJtYWN5 IHByb2dyZXNzQmFy IGhhc2h0YWc= U2lkZWJhcg== QHN0b3A= KHBj 0L7Qu9C2 TUFLRQ== IENvcm9u IGt2aW5uZXI= IE1haWQ= Ym9i LnRpdGxlTGFiZWw= IHN1Y2Nlc3Nlcw== IERlbW9jcmFjeQ== IFN1cmdlcnk= IGNvdWdhcg== IGN1cnNv IGxvcm8= aXN0ZW5jeQ== U2VuaW9y w6Zr IEFBQQ== IEJPT0s= 0LrQvg== V1NUUg== ICovLAo= b3lhbA== LnZlY3Rvcg== IFNQRUM= U1NG IGNvbXB1bHM= IEFwcGVhbHM= IFdpbnN0b24= IE1vY2tpdG8= Y29udHJpYg== LmF2YWlsYWJsZQ== ZW50aXR5TWFuYWdlcg== YXJpYXM= X3NhbGU= X3Jz IGRlY29kaW5n IGxvY2F0b3I= b2xpdGg= IGtvbA== IGFzY2lp IFJ1dA== L2ludGVyZmFjZQ== CQkJCQkJICAg IE51bWVy LmZsaXA= LWRlbA== IGJvbHN0ZXI= b25vbWlj IHpt TEc= RmluZEJ5 IGFkYXB0aXZl bG9v IHZ1ZQ== KHJldmVyc2U= X2NhbnZhcw== LnJvbGVz aWZpY2Fkbw== dmVuaWVudA== IkFz IEVudHI= YWxpZ25lZA== IGJlcmVpdHM= Ly8vCgo= Lmd3dA== LmVtcGxveWVl X2NsaQ== IGFudGljaXBhdGU= 6ZmQ IHBpaw== IG11c2hyb29tcw== KHR0 IG9tYQ== IFNhbmNoZXo= X2dvb2dsZQ== LlZhbGlk IEZpbGVOYW1l aXZhdGl2ZQ== a2Vk LXdhcg== IG1hdHVyaXR5 0LjQtA== IG1pbmVy UmVkdWNlcnM= IExhdExuZw== X1NURA== RGlnaXRz Q2FsYw== LXVwbG9hZA== IGhhbmRpYw== 4Li14LmI ZWdyYXRlZA== IFNUTQ== Q2xpZW50cw== IFR1cmJv U1lOQw== IHBob3RvZ3JhcGhlcnM= Lk91dA== LmNoYXJhY3Rlcg== QlVJTEQ= LnVubG9jaw== IGFyaXNlcw== IENvbW1hbmRz KCIiKTsNCg== X0ZPUkU= Oycs KyIn LkltYWdlcw== Iil7 IE1leWVy IG5lZ2F0aXZlbHk= IERMTA== IGV4ZQ== IGRlZmljaWVuY3k= IHdpbGRseQ== LXN3aXRjaA== Y29uc3RydWN0aW9u IGV4Y2VwdGlvbmFsbHk= IExpeg== L2phdmE= IHRoZWlycw== IENvbnRlbXBvcmFyeQ== bGlz LmZpbGxSZWN0 IE5GQw== IHJlaGU= KG51bWJlcnM= IHJhc3Rlcg== IGZpZ3VyaW5n IHNob3dj IEppbGw= IGFyY2FkZQ== IENvbnN0cnVjdHM= bWRs KCd8 IGlkZW50aWZpZXJz IHN0ZWxsYXI= KENvbm5lY3Rpb24= ICJ7ew== eW9y KG15c3FsaQ== IGRvdmU= T2ZCaXJ0aA== LmRpc2Nvbm5lY3Q= X2hp IHp3aXNjaGVu IEdydW5k aXJvcw== X0FycmF5 Lm9uY2xpY2s= YW5zb20= QW5zd2Vycw== CXJlbW92ZQ== RmE= IGh1cnJ5 LWluZg== IGdldENsYXNz IFJlZ3VsYXRpb24= IEZMQUdT bWlzYw== S2Vu X2hlYWRpbmc= R0h6 LWVudHJ5 IGJpb2dyYXBoeQ== U2ln LW1m V2F0Y2hlcg== 4oCcQQ== fXB4 IHNwaWN5 X3Nx TG9zdA== KHRyYWNr 0LDQu9C4 RGVzY2VuZGluZw== PGJpdHM= cXVpbmU= IEFkdm9j X1NO IEhhbm5haA== UE9Q IGVtaXR0ZXI= IGN5bg== IENBRA== Pyku L3NldA== IFNpc3Rlcg== IEVuZHBvaW50 IG1lbm9y IGludGVycA== cms= aWRsZQ== IG91dGZpdHM= LnZlcnRleA== IGNsaWM= QVJFTg== IHBvc3R1cmU= IE9wcG9ydHVuaXR5 dng= IEZvcmJlcw== LkRpcmVjdGlvbg== IHJlc2lkZQ== IHJlbWVtYmVyaW5n bmVzdHk= QXV0b3Jlc2l6aW5n cHJvdmlkZXJz IEFI IGh1cnRpbmc= IExpbHk= ZXZhbHVhdGU= bGlqaw== cGFwZXJz IFNtYXNo IExBU1Q= IHdlbGxz d2FzaGVy X1JPTEU= IERhbmdlcg== Kigo X3JlcG9zaXRvcnk= IFJlc29sdmU= IFJvb21z X1JH IFFU b29w IEhlYXA= IHNsb3dpbmc= IGdyYXR1aXRl X2NhdGFsb2c= IHBvbHlub21pYWw= THk= cGNz Rm94 IEN5cg== IGRpbWlu L21vbnRo U2FsdA== IGhpbmQ= LlBFUg== Rm9ydW0= Y2Vu X3BvbA== 7Zi4 IGluc2Vy KH4= QHRlc3Q= IEdvbGRtYW4= IHVwbG9hZGluZw== RmM= IGtvbW1lcg== IG1pdHQ= X2xvZ2dlZA== IGJ1Y2tz LWxheWVy KX07Cg== IE9N IHZlZw== Y29sb3Vy INC+0LHRig== U3RkU3RyaW5n X3F1ZQ== IFRpYW4= IHNwZWNpYWxpemU= 0LjQvw== INC60Ls= dHJpYWw= LWVkZ2U= IG1hcnM= T0dMRQ== IGVtcGF0aHk= IEJvbQ== IGNvbGxpc2lvbnM= IGNhcnRl IFRlaWw= IE1QTA== IHBvcm7DtA== IGFpcmxpbmVz QXdz TnM= IFNwYXdu KHVzZQ== 6buY6K6k IHlhY2M= c3Rvcg== IGNvbmZlc3M= IHBlcXVl cmFnZQ== PyIK L2RhdGF0YWJsZXM= IFNob3dlcg== X18v IGNyeXN0YWxz IGJ1c2Nhcg== IEhhdXM= aXphw6fDo28= X2VudGl0aWVz lYw= mow= eGNj dmlydA== LWNoZXZyb24= KFJlc3VsdA== Y2FrZQ== Q09NRQ== IHByb2hpYml0 IENoZXNz IGJlYXVjb3Vw INGH0YLQvg== UlVO IElL w7PFgg== X1VwZGF0ZQ== IHNsZWVr IFNwZWNpZnk= X2NyZWRlbnRpYWxz xZ90 IFVzZXJOYW1l CVZhbHVl IGFycmF5TGlzdA== IGV4Y2hhbmdlZA== aXBzaXM= LnJlbGF0ZWQ= IFNlaXRl X0JBUg== IExlbQ== IFdBVENI IENsaWVudHM= IC4q IEVhcmw= LXJlcG9ydA== IGZvcmVpZ25lcnM= IHN0cmVuZ3RoZW5pbmc= CURlc2NyaXB0aW9u KGdv LnRvb2xiYXI= IGNhbGN1bGF0ZXM= CXNvdXJjZQ== IGN6YXM= IHJlY2w= YWJv IGxvY2FsaG9zdA== IF57Cg== LlBvcA== IERlc2lnbmVk XEFic3RyYWN0 SG9sZA== IEd1aWRlbGluZXM= aXBsaW5l IGNhY2hpbmc= LlJlYWRlcg== X2V4dGVybmFs LnN0cnB0aW1l IFdlZWtlbmQ= LU1hcg== IEJlaQ== IHsqfQ== IFJ1ZA== IGV4cGxvcg== IEJvdWxldmFyZA== Q2FzaA== IHByZXBhcmVz IHNlcmlhbGl6YXRpb24= ZXdhdGVy IGFkYw== OgoKCgoKCg== UmVmZXI= IHNjYW5uZWQ= fX0KCg== IEZ1bA== IHRvdXJpbmc= 44OD44Kv Pigo c3VydmV5 IO2Y Li4uJykK IERpdmlkZXI= b3Ns X0NBTkNFTA== X3ByZXBhcmU= c3Rpbg== IEhlYXRo LlByaW1hcnlLZXk= IOKGkA== IExvY2FsRGF0ZVRpbWU= IGNvb3BlcmF0aXZl TGVhcm5pbmc= LmVucXVldWU= IGdvb2c= IFJlZ3Jlc3Npb24= aW1hdGVz IHZveWV1cg== IERyaW5r cGx1Zw== IGxlbmRlcg== bWFuYQ== IHBlcnNvbm5lcw== eXBzZQ== IHVubGluaw== IFJhdmVucw== IGh1cmQ= IHBlcmlvZGljYWxseQ== QVJHUw== IEdI Y2hhcmFjdGVycw== Li4uIgoK LWVzdGFibGlzaA== IGRu KGNvbmRpdGlvbg== IEdyYXZpdHk= IGVzdGFz X2ZvY3Vz Q3JlYXR1cmU= KHNpdGU= IGNhcnI= IFJM IFJJ IE1vdG8= QVNG IEx1Y2tpbHk= CVJvdXRl IGVudHJvcHk= KCIsIg== Q29sbGVjdA== KGNvbnRhY3Q= IEZsb3JlbmNl IHByZW1pdW1z IGxpZmVjeWNsZQ== IGJhbnM= eGVm V2ViS2l0 IEZsb2F0aW5n IGNvc2E= U3BlY2lmaWM= IExvYW5z YnJlYWQ= IGRlc2NyaXB0b3Jz IHs6Lg== VEhSRUFE IFRyZW50 IHNjb3A= UUE= IEFudGFy cGVs X2RpZmZlcmVuY2U= X2NoYW5nZXM= KC4uLik= IFJvdGF0aW9u IExHUEw= IEpVU1Q= KFRhc2s= X3N1YnNldA== IFRSQU5T 5Yqb IFNjb3V0 LXBvcHVw IHNtb2tlZA== X0NsYXNz IHR1cm5vdmVy YnJha2s= IFJvY2t5 dGFz LlJlZ3VsYXJFeHByZXNzaW9ucw== IEVsbGlvdHQ= IFNwaW5uZXI= RFVDVElPTg== IGxpYnJl IG1vbHRv ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEZUUA== bXBlZw== KGZlYXR1cmVz IGJhbGQ= IFZpZA== IHNob3V0aW5n TGludA== IHNvY2tldHM= IHByb3c= IG5vdXZlbGxl aXNjYXJk IFNwb25zb3I= IGNvbnN1bHRh KSkpOw== SW5kaWFu IFJhc3BiZXJyeQ== IHRlYW1tYXRl IEpXVA== IEdoYW5h IGNha2Vz cHJpbWVy Zm9ybWE= ZXJnYXJ0ZW4= X01hbmFnZXI= IHByZXNlYXNvbg== R0FNRQ== fCI= IEJyb2Nr IG9jY3VweQ== IGRlY29yYXRpb25z w6FuZA== IGNvdA== IHBhcmFu RGlzaw== cmVtYWlu Pj8= U3Ryb25n IGZyYW5jZQ== IEVyYQ== LWNy LkJ1ZmZlcmVkUmVhZGVy IFBhcmFkaXNl IFZBVA== IEFuZGVycw== IGxpbWI= YW1wb28= IGltcGVyYXRpdmU= VVRJTElUWQ== IFJlY29nbml0aW9u IHJhZ2F6emU= IHBvcHM= eXByZXNz IGVtYmFyZ28= Ly97Cg== IHN5bGw= UFRS 5a2Y5Zyo IGRpZG50 TWFpbGVy IGFjYWRlbWljcw== IEZyYXVlbg== bmVpZGVy LXJlbA== IHJhaW5ib3c= KElu IHNsaWNlZA== PT09PT09PT09PT09PQo= KHNlbmQ= TlNNdXRhYmxlRGljdGlvbmFyeQ== dm9z KHBhY2thZ2U= IG9yZGluYW5jZQ== dmlld2Vy IFNhbnRvcw== LXNlbGxpbmc= IGdvdg== ZXR0bGU= IGZvdW5kZXJz IHdha2luZw== c2xhc2hlcw== LXBvdW5k cmVjaHQ= 2KfYqg== Lm9uQ2xpY2s= IG5vcmQ= c3TDpG5k X3doZW4= VVRFUlM= aWNj IGNhcHN1bGU= IFdpZA== TWFyYw== 4Li4 cm9yZWQ= VUdF TE9VRA== IEF1ZGl0 aXBpZW50cw== b3BpYW4= IFN1ZQ== IHd1cmRlbg== LkhlbHBlcnM= IGZhY3Rpb25z W25w LXRoYW4= IHJlY28= IGthcw== IGNtZHM= L25ldHdvcms= eGJm Z2V0Q29sb3I= IGJpYXNlZA== IExhaw== RGF0YXM= dmVudHM= IOuy X1BT LlZhbGlkYXRl SW52b2tlcg== IG5ldWVu IGp1dmVuaWxl VklTSU9O IGRldm90ZQ== IGxpbmhh IGRpc2NvdW50ZWQ= XENvbmZpZw== IHdvcnRod2hpbGU= IHNraW5ueQ== IENvdXJzZXM= bGV5cw== IE1vcnRnYWdl S2V2aW4= IGFubm91bmNlcw== XSkq cmVzZXJ2YXRpb24= IOaVsA== IHByZWp1ZGljZQ== IFN0cmluZ0NvbXBhcmlzb24= IGJlYXJk LXdpbg== IFPDo28= CW1z amFs IEVhcm4= X3BvcnRz IE5vbWJyZQ== X0NPUg== IEJVSUxE LnNvdW5k WWVsbG93 IGxpbmViYWNrZXI= IGNoYXJpdGFibGU= anVn X05PTk5VTEw= IERlbnRhbA== Ij4kew== CW1hdGNo UnVzc2lhbg== IHZlcnNjaA== IHBpbm5lZA== IGFkb3B0aW5n T3B0aW9uc01lbnU= UGFn IHBhaXJpbmc= IHRyZWFk ZXJjaXNlcw== IFNwcmVhZA== KWk= IEJBRA== X3Rm VUlJbWFnZVZpZXc= cG9wdWxhdGU= YmFi IM+D Wysr IG9waW9pZA== ICMjCg== ZHR5cGU= IFN0YXJ0cw== KCcvJyk= IHBlcnNvbmFscw== LW1hcmtldA== IHJlZHVuZGFudA== IEVzc2VudGlhbA== IHNjcmFweQ== INC40Lw= YWNs IGNyZWFy IEJlbmQ= IHJlbGlldmU= LXJvb20= d2lmZQ== IHbDoA== IFFQb2ludA== IHF1YXNp IG1ldGhvZE5hbWU= XHhj IFBlcnU= L1RoZQ== Lm9ybQ== IHZpeg== L3BkZg== TG9jYXRlZA== IGNvbmZyb250YXRpb24= IENoYW1waW9uc2hpcHM= IGh5cGVydA== IGRq IFVzZXJJbmZv IOWIm+W7ug== XHhi KHNpbQ== ID09Cg== IHN0YWdpbmc= IGRyYXN0aWNhbGx5 5a2m bG9yZHM= Lmxlc3M= 0LLQtdC00LjRgtC1 IEJ1Y2tldA== IE1hbQ== LnRlcm0= X3Bp Y3p5 LnB1Yg== cHJlY2lv IFZpcnQ= IHJvbWFu aXRhdA== TGV4 X2luZm9z xLA= Lm90aGVy VkVMTw== IHBvbmRlcg== IGhhbm5v KFBhZ2U= ZG9p IHBvbGl0ZQ== IHByb2dyYW1tZXI= RGllcw== JGQ= IHJlcGxpY2F0aW9u YWRkQ29sdW1u ZnJpY2Fu IGxlbmc= YmVlcg== b2l0 IHdhc3Rpbmc= eWxpbQ== bWVhc3VyZQ== TmVn IHBhcnRpZQ== LmNvbnNvbGU= IEd1aW5lYQ== VEVM X2ZhY3Q= LmNodW5r IGxlbnQ= IGFsbGVy IOCklQ== X2lkbGU= IGFkbWlzc2lvbnM= SlNPTkFycmF5 IHZpYnJhdGlvbg== LmhlbHBlcnM= 5aSW IGhlbg== am9obg== IOyDnQ== IGp1ZGdlbWVudA== IGdlZW4= dGVycmE= Xns= IEl6 IGPDog== aW5zdGFuY2Vz IHRocmVhdGVucw== IG3DvHNzZW4= S2luZE9mQ2xhc3M= IHN0b3J5dGVsbGluZw== X2RlbW8= cmlhcw== UHJpdmFjeQ== aGlmdA== IFlp ZXNvcg== 7ZWg ZW5zaXRpdml0eQ== LldyaXRlcg== 4LiC RGlzdHJpY3Q= LmdldEpTT05PYmplY3Q= SW1wcm8= KGdldFJlc291cmNlcw== IFNQRUxM cm9kdWNl IHNsb3dlZA== IGxpbmV3aWR0aA== IGhvbmVzdHk= IENvb3Jk IEZvcms= IERpc3BhdGNoUXVldWU= IENsaWZm IFdpcmluZw== X1RJTUVTVEFNUA== b2xsYWg= YXZvaWQ= KytdOwo= c2VtYW50aWM= LWNzcw== IHZldG8= IE1lcnI= IGxlZ2lzbGF0b3Jz Q0VFREVE IHF1ZXN0aW9ubmFpcmU= IFBpbGxz Q2FsY3VsYXRl KGNvcmU= J2U= IGRpc2xpa2U= IFByZWZlcmVuY2Vz X0VYVEVSTkFM 6LCD IGRvZGdl 5pyN5Yqh Lm5hbWVz LmRyYXdJbWFnZQ== X3Byb20= dWNrbGFuZA== IDwkPg== xLF6 L3NpdGU= 6aG5 cm9waGU= IGNvbXBlbGxlZA== IGxhcHRvcHM= IHVuaQ== Q0xPU0U= IGNhc3VhbHRpZXM= IFVuaWZvcm0= VGVybWluYWw= LiIsIg== REFU KFRyZWVOb2Rl IEdhbmRoaQ== KHN0bXQ= QVhC Kk0= IHVtYnJlbGxh YW5pbWFs IGdycGM= IHdoZXJlYnk= IGZsb2F0cw== CWFyZw== IGRiZw== IGV4Y2VlZGluZw== RXZlbnRUeXBl LlNhdmVDaGFuZ2VzQXN5bmM= IHt7ew== IG93ZWQ= YWhyZW5oZWl0 IOyn IGVxdWlwbw== dXJhaQ== IGlkb2w= XSIpCg== X21ham9y IGVudGlyZXR5 aW5nZXJwcmludA== w6dvcw== L2FjY291bnQ= CXJpZ2h0 dXJzb3M= IEVEVA== X0lOU0VSVA== IHNoaW5pbmc= IDw6 RWRnZUluc2V0cw== IGNvbG9uaWVz LklN CSAJ Uk9BRA== Q0NDQw== cGxhY2luZw== IGdldEFjdGl2aXR5 ZW1hY3M= JyUo LmNsaWNrZWQ= IFRoZW0= aXNpYQ== QnVzY2Fy LnJlbmFtZQ== IG9hdGg= IGFmdGVyd2FyZA== IFVGTw== QVBT IEphY2tzb252aWxsZQ== LnNvbWU= Q29uZmlybWVk LnNjYW4= aWdJbnRlZ2Vy RGVjb3JhdG9y c2hpZWxk cmVzc2l2ZQ== LmRpZA== 6K+36L6T5YWl IHNodXR0ZXI= RGFt IHBhcmVudGluZw== ZXllZA== JGl0ZW0= LWRldmVsb3A= IGV4dHJhY3Rz IGRlY2VudHJhbGl6ZWQ= IEVsc2E= X3NwaW4= XSkr LWluaXRpYWw= IG11bHRpdHVkZQ== IHNlbnNvcnk= IE1PREVM IHNhZmVndWFyZA== 7Lk= IGh1bnRlcnM= IFRpbnk= SU5P ZGVjb3JhdGU= IE5vU3VjaA== SG8= KFJlc3BvbnNl IHJ1bGVy CXNob3J0 IGNhc3Rlcg== IGNsaWVudElk IHBkYg== 64+E aXRpYw== IEdhbWVTdGF0ZQ== IG5ld0l0ZW0= KQoKCgoKCg== b3Vpcw== bm9j LkJMQUNL X1ZFQ1RPUg== LS0tLS0tLS0tLTwv IGV4YW1pbmVz CWJsb2Nr IGFkZG9u IHN1cnZleWVk IExpc3RlbmVy IGZyb250aWVy IGxhY2tlZA== SlVTVA== INGN0YI= IHRpbnQ= IE15c3Rlcnk= ZGF0ZVRpbWU= IFR1dG9yaWFs IGZ1bGxOYW1l IERyYWdvbnM= X0ZJTEVT IFByaW50V3JpdGVy IGJlZXQ= IExhZGllcw== X3RpcA== IEphaHJl b3JhbWE= IGluc3VsYXRpb24= KEVudmlyb25tZW50 X2FzdA== YmVyZ2Vy bGVuYQ== b2dlbmVvdXM= X01PTlRI LXByZXNlbnQ= IGZyYW1ld29ya3M= UVE= UEhQRXhjZWw= IGNvdW50ZG93bg== IEZX KGNsdXN0ZXI= OmM= IG9raHR0cA== b2JzZXJ2ZQ== W3BsYXllcg== Lmhl IFBhbmFtYQ== QXVzdHJhbGlh IG91bmNlcw== IGFnZ3Jlc3NpdmVseQ== IHdhcm5z IGN1c3RvbWl6YXRpb24= X1F1ZXJ5 d2lz IGludmFs QUZG KGNhbWVyYQ== V2ly IG5lZ290aWF0aW9u CU8= IHJlc3BlY3RmdWw= IGRpYW1vbmRz J2F2 YXBwcm94 L2Ry IGdyYWJz IGFjY29tcGFuaWVz Y29uc3RyYWludA== IHJleg== KHJlZ2lvbg== IGJhaXQ= dGVybWluYXRl IEJlbGdpYW4= YXNzaXVt IF0NCg== U3lzdGVtcw== b3VzZWRvd24= LmJ1cw== U2V0VmFsdWU= IFByZXA= IGNvbnZlbmllbnRseQ== Lm1pZA== Y2FzZWNtcA== TnVtZXJv ZGFpbHk= IENvZGluZw== KGRlc3RpbmF0aW9u IyQ= dWrEhQ== IGVtZXJnZW5jZQ== X3BhcmE= X0lOQ0xVREU= Izo= IHJlY29nbml6aW5n IGZ1Zw== In19LAo= IGJ1aWxkZXJz IFRlcnJpdG9yeQ== IGluaGVyZW50bHk= IGRlcml2aW5n LmV0aA== IERpbm5lcg== LnNldE9iamVjdE5hbWU= IGNlbGVicmF0ZXM= IHF1ZXVlcw== IE1hcmtz QUxURVI= IERhcnQ= cG9rZQ== X0NIQU5HRUQ= IHBhYXI= bGllcw== LnZvbGxleQ== IE1lYW5pbmc= IE9GRlNFVA== ZW5zaW5n IGZyw6Vu LmxvY2FsU3RvcmFnZQ== IOup KHt9KTsK ZGVjb2Rlcg== IHJvdWxldHRl IGRpc21hbnQ= SXI= IGluc3VyZw== ICcnOgo= LuKAnQo= IGJydW5ldHRl LmFzc2V0cw== X05FVFdPUks= 4LiK bnlt X1NvdXJjZQ== XFRlc3Rz RXNjYXBl Y3J5cHQ= LlhNTA== IHNvdW5kaW5n b3Bjb2Rl IGNsYXNzaWZ5 IGVtYmFycmFzc2Vk IExPR0lO IHJlc2lkdWU= IE5FRUQ= LmRlZXBFcXVhbA== cGVyYw== LWNhbA== UmVkaXM= VHJh KF8p YXNrZXRz Z3JhZGF0aW9u IGVuenltZQ== IFN0ZXBoYW5pZQ== LkludmFsaWQ= J10/Pjwv IGRpc3BsYWNlZA== IGVsZW1lbnRvcw== KGR1cmF0aW9u cm93Q291bnQ= IEZTdGFy bGV0YQ== L3BvcHBlcg== IHN0YXRv IHBlcmZvcm1lcg== IGRpc2NpcGxpbmVz IEZ1bGx5 aWN1bGFybHk= IGVyc3Rlbg== IFBvbHlnb24= IGRpc2NpcGxlcw== LmlzZGly IHRlc3RpZnk= X1NS cHJpc2luZ2x5 IEdMaW50 IHdpcGVk IGNhcnZlZA== IERpc2g= Lmhlcm9rdWFwcA== c3RpdGlhbA== IE1BVENI Y2xhaXI= IERheXRvbg== LycpCg== SURETEU= IGluZnJh IGxpdmVseQ== IGRlcHM= IFsuLi5d CQkJCQkJCQkJCQkJCQkJCQk= IExvbg== RXh0cmFz VHJhbnNpZW50 0LLQtdGA L21vZHVsZQ== IGVuZHVyYW5jZQ== X3RleA== ICJ+Lw== X3lsYWJlbA== IG9iZWQ= L2dhbWU= b3BzeQ== IGZpcnN0bmFtZQ== LmZvcmNl IG1hcnQ= XENsaWVudA== IGxlZ2l0aW0= LmZsYXR0ZW4= Iics b3NleHVhbA== IGpvdXJz TUg= ZXhwaXJlcw== IHN0eWw= LmludGVydmFs S25vd24= IGZvbGxvd2Vy IGRhbGxh cGlyeQ== X3NzbA== aXNobGlzdA== IFJleQ== IHN1cGVybWFya2V0 T2J2aW91c2x5 LWVudGVy IHByb2JhYmlsaXRpZXM= IEhW IENpbmVtYQ== IGN0eXBlcw== IEJDTQ== X1RBQw== O2E= LmJ1dHRvbnM= IHJldHJpZXZpbmc= aWxhcml0eQ== IHVuZGVydGFraW5n CXN0YWNr IGtlbA== IFhlbg== KHBoaQ== IHRvdWdoZXI= IFNlbGxlcg== Y2Fwcw== IEVtYmVy IENoaW4= IGxhdWdocw== Q29udmVyc2lvbg== Lmxpc3RlbmVy JkI= IHBhcmFkaWdt IGp1bmN0aW9u JC8sCg== W28= IENvbnNlcnZhdGl2ZXM= z4A= bGF0ZXM= X0V4Y2VwdGlvbg== IG1laWxsZXVy IHN0cmFwcw== cXVpc2l0ZXM= CXNu IG1hc3NhY3Jl b3R0ZXM= X2dyZWVu VGl0bGVz Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ== IFJlZ3VsYXRpb25z YXJs X3Nob3J0Y29kZQ== IERyYXdlcg== IHBhcm9sZQ== IHdpbGRlcm5lc3M= aXNzb24= IEFGVEVS Q3JlZGVudGlhbA== QmxvY2tpbmc= IEhUQw== U2lu KGF1dGhvcg== IGNvcnRleA== Jyl7DQo= 77yJ77yM IGR1bXBlZA== IFNodXQ= IEtleUV2ZW50 CVBsYXllcg== LmdldFBsYXllcg== IGlnbm9yZXM= dG9nZ2xlQ2xhc3M= IEV4Y2x1c2l2ZQ== PigpOw== LmdldFA= YW55ZQ== IG5ldXJvbg== aWZvbGQ= IEtub3du Qml0Y29pbg== QW55d2F5 YXlldHRl ICdbJw== w6BuaA== bWdy IGNvcnJlbGF0ZWQ= IG5hdXNl IG1lbnRhbGl0eQ== aGFzTWFueQ== IEZH YW1waWU= SVRV RnM= LlNw X2JldHdlZW4= RGVwZW5kZW5jaWVz b3Vn UGxhY2Vob2xkZXI= PXRleHQ= IE1hbmFnaW5n b2NhbHlwc2U= 5YyX X21hZw== Zmxk 4pE= Q0FN IEhlbHBlcnM= IGRvc3Q= L291dA== IGFzc2Fzc2luYXRpb24= LmdldEltYWdl IEtlbm55 LicpCgo= KXsvLw== IFJhbmdlcg== IGdlaw== IHNpbmNlcmU= PFZhbHVl IERPVA== IFZpY3Rvcnk= IGxlZ2VuZHM= IHByaXNvbnM= KGV4cHJlc3Npb24= IFJhYmJpdA== X3NlbnRlbmNl IGJpdGVz IG9uRmFpbHVyZQ== IOKIiA== S2lt LmdlbmRlcg== IM67 IFsu Il0pOw== bGFuZGluZw== LWRpZ2l0 VEVNUA== CWVudHJ5 IHN0cnRvaw== IGRlc2NlbmRhbnRz dW1ubw== IGxlYW5pbmc= IHNwZWNpZmljcw== cW4= IFNwYXJ0 IHBvcnI= RURJQVRFSw== IHNlcGVy J2F1dA== IFNURVA= IEJvcmRlckxheW91dA== IHJldHJvcw== IFNhbHZhZG9y IEVOR0lORQ== eGRj VHdlZXQ= dms= IOyy XTw8 aGV0aWNz Y29kaW5n UmVhY2g= LnJlcQ== Z3VpZGU= LnNjb3Bl c2hpcnQ= cm9nYXRl U0VUVElORw== IFByb3RlaW4= IGVpbmc= LkVNUFRZ LmRm IGNsZWFyZXI= IGNyb3Nzb3Zlcg== IFRveXM= IGNvYXRlZA== Lk1vbnRo IEF0dGFjaA== L3J1bg== LnRhYnM= IG9nc8Ol QnJvd24= LkRBVEU= IGZvcw== 5a2X56ym V29vZA== LXRocmVl aGVyaXRlZA== IHJvcA== KGFj IGVtYm9kaW1lbnQ= IEtlbm5ldGg= IGNhbm5vbg== IGJpZGRpbmc= PElFbnVtZXJhYmxl CXNldFRpbWVvdXQ= X2RpZ2l0 IGVsaW1pbmFy KG5l YnVkZ2V0 Q1NJ IOyVhA== IEFTUA== R3JvdXBJZA== X0NPVU5URVI= Y29uc3VsdA== IGlmcmFtZQ== bGVnZW4= X0RFQ0xBUkU= U2hhcnBlcg== IEZyaWVuZGx5 dWxldA== LWNvbW1hbmQ= INCg Y3ljbGVz IFdhc3Rl IHRhcHBlZA== CUJ1ZmZlcg== 4oCUaW4= IAogIAo= IElkZWFs IENhbmR5 X1N5bnRheA== w6p0 7J2M YWJvdmU= IE5hemlz IGZzdA== c2Vpbg== IGt1bm5lbg== d2lr IFNhdmluZw== LmV4dGVuc2lvbnM= IERlc2VyaWFsaXpl b3VyZw== LmF0dHJpYg== 77yaCgo= IFdpbnM= LmVxbA== Unlhbg== X2Fjaw== T1VSQ0VT IG9ucw== Z3Jlc2U= YWZpYQ== TW9kZXJu IGFkaGVyZQ== IGJpb3M= KGFjYw== a2Jk VGhyb3du qeuLiOuLpA== CUh0dHA= CXhtbA== RW5kRGF0ZQ== KHBhcnNlZA== LmdldGVudg== cmVnaXN0cg== bmVsbA== aW9uYXJpbw== LmlubmVyV2lkdGg= cnRs UFY= X3BpZWNl IERlcG9zaXQ= eWVycw== IE5TTnVtYmVy IGdpbnQ= ZW5zZW1ibGU= IG5ld2NvbQ== IFZpZXRuYW1lc2U= X2hw IGFjY3VzaW5n IHF1aXM= IGludmVzdGlnYXRvcg== ZXNzZW50aWFs IENY LmZvck5hbWU= ZGVmcw== IGFuYWx5c2U= X2FuaW1hdGlvbg== IHRoYQ== dGFib29sYQ== IFRIQw== w61jdWxv IGdsb3dpbmc= IGhvbm9ycw== YnN0cmFjdA== a3A= SVRFUw== ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM= I2dldA== L0Rlc2t0b3A= CWdsbQ== IHppbmM= w6F0aWNh IDw8Cg== Vk1M IFVubGltaXRlZA== dnJl LWJlZA== X25vbmNl IEdJ dHJhdmVs IGlzS2luZE9mQ2xhc3M= IGFub255bWl0eQ== RmlyZXN0b3Jl IGVtYWlsZWQ= X0ZMQVNI IGbDpXI= 4piF4piF IDpd SHVt LnJlc2VydmU= w7xt IGtvc3Rlbmxvc2U= IFNDUA== dXRhbg== IEdvcmU= IGNoYXRz Lz4NCg== LmdldFJlc291cmNlcw== IGx1bXA= X2NvbnN0cw== KGV4dA== CWRpcg== 4p0= IHBhZGRpbmdUb3A= IG9ic2Vzc2lvbg== IGJhbm5pbmc= IEFwcE1vZHVsZQ== IHBhcnRpc2Fu IGNhdGFsb2d1ZQ== IG1pbm9ycw== IHBpdGNoZXM= d2VlcA== IHVuZGVydGFrZQ== IHRoZW1lZA== YXVkaXQ= LnNjcm9sbFRvcA== IHJlcg== IHN5bXB0b20= IG9wZW5pbmdz LmJsb2Nrcw== b3Blbmlk IGFzc2g= LXNhdmU= IFBpZw== IHJlZ2Fpbg== IGluaWNpYWw= L2Zhdmljb24= CWV4cA== IHNwaWNlcw== aXNrYQ== Y2xhaW1z bWFr ZGVmaW5pdGlvbnM= IGNvcnJlc3BvbmRlbnQ= IENhbm5hYmlz X18sCg== IEx1Y2t5 IEdhdXNzaWFu IE5lYXJseQ== Q0FE J11dCg== IGFkZXF1YXRlbHk= IFRJVExF Y29uc3RpdHV0aW9uYWw= LW1t X292ZXJyaWRl IGJsYXM= LnJlYWR5U3RhdGU= IHJlbWluaXM= IHJlaW5mb3JjZWQ= IENvbGxhYm9y IGRlY29yYXRpbmc= IGJhY2hlbG9y RVJSVVBU IHVwcmlnaHQ= aXBhdGlvbg== IE5vYmxl IHZhbHVlRm9yS2V5 IHNldExvYWRpbmc= Lklnbm9yZQ== 5YE= R2xvYmFscw== IE1lbnQ= QVNTRVM= IGxpbWJz IEhVRA== aW5jaQ== Lml2 IFFNb2RlbEluZGV4 RnVzZQ== IHBlZGFs X0ZSRVE= KHZlcmJvc2U= IGxvbmdpdHVk IENoYXJ0ZXI= 6re4 IGJ1bmRsZXM= Lmlnbm9yZQ== dW1ibw== RU1B Li4uLi4uLg== c3g= LkNhcmQ= IGhldXRl IHN0ZWVy anVtbGFo IHtf X0NoZWNrZWQ= IGZheA== IEd1c3Q= aXRjaGVucw== ICkpCgo= IHJlbWFya2FibHk= L1hNTA== LXJlbW92ZQ== X2J0 IGluY3Vi LnBhY2thZ2U= LmN1cnJlbnRUaHJlYWQ= IEhpZ2hsYW5kZXI= LnNpZGU= c3BsYXNo IGljaQ== PUQ= IHB1Y2s= IGJhbGxvdHM= IGh1Z2VseQ== Y29lZmY= IHBEYXRh LkNPTFVNTg== IEhlYWxpbmc= IG9yZGlu ISks ICcnLA0K KG1k IFNhc2s= PHN0cm9uZw== IHN1cnZpdm9y LnNlcmllcw== IGNhZmZlaW5l IGAo LlRSQUlMSU5H X0lucHV0 KCJe emQ= Jik7Cg== IFBpbmc= IHZvdWNoZXI= LnJhdGluZw== LXNoaXJ0cw== IFJldHJpZXZlcw== LmFsaWJhYmE= T3JhY2xl X01PVg== T2xkRGF0YQ== IC8qDQo= IGdib29sZWFu ID0+DQo= IHLDoQ== IGJsdW50 IEltYWdlSWNvbg== aWZpaw== UlRD IGZpYmVycw== IHRvaWxl LnNlbnQ= IFB5UXQ= JGFwcA== IG1lZGlv IGdyYW50aW5n IHRzbGludA== IE3Dtg== KGZpZ3NpemU= IGh1cnJpY2FuZQ== IGxpZmVz IMOE cm9jZXNzaW5n X3N0YW5kYXJk LW9wdGlvbg== JykpKQ== IHZhY2FudA== 5bel IEhvbGxvdw== aGFuZGxlQ2hhbmdl IGRpdmlkZXI= IEVuZ2luZWVycw== IHN2ZW5z IGNvbXBsaWFudA== dGFuZ2dhbA== IENyZWRpdHM= IEVtaXJhdGVz UnVsZUNvbnRleHQ= IHJlYWxpemF0aW9u IGRpc3RyYWN0ZWQ= XSs9 IGF1Z21lbnQ= IER3 b3Rw b3JyZW50 RWRpdGFy LnN0b2Nr U3R1ZHk= cGVjdGlvbnM= IEdhbWVNYW5hZ2Vy PWN1dA== IGZsb2Nr IFJvbWFucw== dGhlbQ== LWhvcA== IHNjcmVlbnNob3Rz IC8qIQo= IGNvbnZlcnNpb25z IG5vcm1hbGl6YXRpb24= KGNvbmZpZ3VyYXRpb24= IGFlcm9z X3NlY3VyaXR5 IScK Qm9udXM= IERSSVZFUg== CURhdGU= dGll IFd5b21pbmc= U3RhbmQ= aXRyZQ== IHNob3BwZXJz IGRpc2FkdmFudGFnZQ== IGxpa2luZw== 56yR IHVuZGVyc3RhbmRhYmxl U0VF IGhveQ== IG5pbmV0ZQ== IGNvbmZlcg== IG5vd3JhcA== IFZlcm4= LA0KDQo= aW1lc3RlcA== TGF5b3V0TWFuYWdlcg== 4Lc= CXdhaXQ= UExFVEVE SmFwYW4= IGluZHVjZQ== IOWv 0L7Qt9Cy X0VORFBPSU5U Lmhvcml6b250YWw= IGFjY2VsZXJhdGVk cmltb24= SVZFUw== VHJhbnNhY3Rpb25z TGVhbg== IFNPVVI= d2hldGhlcg== eWc= IG9pZA== IEVudGl0eU1hbmFnZXI= T1VOVFJZ IGZpbGE= T0xVTU5T SU5VRQ== IEFuY2hvcg== VFJBTg== d29v YmxvY2txdW90ZQ== IE51cnNl IENhcnA= IHJlZGVlbQ== LnRyeQ== IEpQ IHRpbWVzdGFtcHM= ID8+Ij48 IFJFTU9WRQ== IFN0YXJidWNrcw== UmVhbGx5 IGZsb29kZWQ= LkNhbGxiYWNr RHJvcERvd24= aXBybw== IHRlbmRlZA== bHRl IHByb3BvcnRpb25z LXRl IFJlbmE= bGljYXRl Zm9yY2Vz LmV4dHJh LmF1dGhlbnRpY2F0ZQ== 0LLQvtC0 obA= IGZvckNvbnRyb2xFdmVudHM= IHNlbmhh IGtlaW4= IG1pbmlzdA== IFByZWZlcmVuY2U= IFRlbGVncmFwaA== 0YPQvw== c3RycG9z IGlsbG5lc3Nlcw== IHBpZ3M= IGdldEludGVudA== U29s IMKh KGNwdQ== W3Byb3A= c2NyZWVucw== Jyk7Pz4= IEFjdHM= IHN0cmR1cA== IGF2ZXJhZ2Vz YW5hbA== IENhc3VhbA== R3JvdXBCb3g= IEhhbmRib29r L2NvbW1lbnRz IG51bWJlcmVk IGJyb2FkY2FzdGluZw== 55uR Lm5hdGl2ZUVsZW1lbnQ= Lm11 IHVwZGF0ZWRBdA== IERvZXNu LkFD LmNvbGw= IHJlY29yZGVy X3NoYQ== Qmc= Ymls IGJvbHRz IOes IGltcG9zaW5n IEluZm9ybWF0aW9uZW4= X2ZsYXNoZGF0YQ== ZWNvbm9taWM= UmVtYXJr dWNhcw== IE9mZmljZXJz IFRFUg== V2Fsaw== IG1lcmNhZG8= X2dlbmVyYXRl SFk= Q2FsbGluZw== c25hcA== c2NyaXB0SWQ= Lm9wZXJhdGlvbg== IEZsYW1l bGluZXNz IHJlbnRlZA== X3RvZ2dsZQ== LWNoYW5naW5n IFRZ J3V0aWw= RUVQ IGdyYXBocWw= IFVuaQ== IGltcHVsc2U= LkJhc2lj IGVuZXJnaWVz TUFSWQ== IE1hcmNlbA== IG1vcnRhbA== IGZyZXM= bWVucw== bW90aW9u IHNhbXBsZWQ= 4oCcVGhhdA== aWRheQ== cXVpcG1lbnQ= Z2V0SW50 IEFic29sdXRl LCci dW5lZA== LnNoYXJl IH0pKA== bW1t IFJpc2luZw== 5Lu7 IHVuZW1wbG95ZWQ= eGZh LmZvbGxvdw== CQkJCSAgICAgIA== c2x0 LlBob25l IGtuaXZlcw== IGV2ZQ== b25DbGljaw== XSkpDQo= IFdpdG5lc3M= CU5T IEVPUw== IFN0ZWZhbg== IFByaWVzdA== 4oCUd2hpY2g= R2V0U3RyaW5n LkJ5 IHVwc3RhaXJz IGRldHJpbWVudA== YnJva2Vu ZW1icm8= IG5pY290aW5l aWxpb24= IGFzdG9uaXNoaW5n X2FmZg== IExlc3Nvbg== IGFjY2lkZW50YWw= b2Rvcg== IGRlY2ly IG5ld05hbWU= Ky4= 55u4 aWdzbGlzdA== IEdpdGh1Yg== IHN1Y2Nlc3NpdmU= cmFjaWFs IGVudmlyb24= 6aqM6K+B IHJlZGlyZWN0ZWQ= VE9UQUw= IGdyYWJiaW5n IExhbmNl IGZvcmZl X0NC 5b6u RWxhcHNlZA== X3dheQ== KERpYWxvZ0ludGVyZmFjZQ== X21lYXN1cmU= eGJi RG9n RGVwYXJ0 LXNyYw== cmVzb2x2ZXI= d2l0aHN0YW5kaW5n X3NoZWxs IExhc3ROYW1l IEF2aWF0aW9u IGJlZ2lubmVy KCIlLg== KHRvb2w= INC90L7Qsg== OmluaXQ= KEFQSQ== IE1vcnJpc29u dnRDb2xvcg== IHN0YXBsZQ== L0lORk8= IHN1cGVybmF0dXJhbA== IHN0ZWFr dGltZWxpbmU= enpsZQ== ImAKCg== U2Vjb25kYXJ5 IE5lcGFs LlN0cmluZ1V0aWxz IGFkYW0= ICguLi4= IHN1YnN0aXR1dGlvbg== IGJvYXJkaW5n IEtleXdvcmQ= IEFzc2F1bHQ= ZGJjVGVtcGxhdGU= IG9yZGVySWQ= KGVuZ2luZQ== LmFzc2VydFRoYXQ= IFZlbnVz IGhvbWljaWRl IEF2YWw= IGd1dHRlcg== IFN1cHBvcnRlZA== L3BhcnQ= IGFjY2xhaW1lZA== SGlzdG9y IG1lc2Vz w7xiZXI= IFJlbmV3 IGdyYXM= IEVr IGluZmlsZQ== aW5keQ== Lm11c2lj LlNjcm9sbA== IEFnZXM= IE5hcnV0bw== IEdhdGhlcg== IGNvbmZpcm1pbmc= PSgi IHBpdGNoZWQ= b2xleQ== RnJhbmNl Kyci JHRvdGFs IG9uZGU= IGRpdGNo X3NpZ21h IGNvbnRpbnVpdHk= cmV3YXJk LWxvYWQ= IHByb2Nlc28= TG9ja2Vk c3Rhdw== IHNwaW5hbA== bGF6eQ== IT09 amVzdA== IGR1bg== IFJvZGdlcnM= CWdyaWQ= IGxvZ29z IEJlbmdhbA== LnN1cGVy UHJvdmlkZXM= IG51dHJpZW50 LlRpbWVzdGFtcA== SVpBVElPTg== 5YaM IGZhdHM= IFh4eA== Y3RpY2E= VGFyZ2V0cw== IGNvbnRvdXJz IHJlb3JkZXJlZA== OkFycmF5 IHRvbGVyYXRl Vmly IHRlcnJpYmx5 IGJyaWNrcw== KCZf aGI= UG9ydGFs IEJyZWFk LndoaWNo wq10 YXNJbnN0YW5jZU9m IGpvYmplY3Q= CWxlbmd0aA== X01U OyI+DQo= X0VYSVNU IG1hdGVybmFs UkVM IOqyveyasA== aGVl IGxheW91dHM= IExhcA== YWlzeQ== IHN0dW1ibGVk IFVJRw== IFNjbw== IGltcGFpcmVk UkVTU0VE IGFidXNlcw== VkY= QVJC Lk5BTUU= cmNo cHJpbWly X2NvbXBsZXRlZA== IHBlbm55 Q2hyb21l KGJlZ2lu ZXJuZW4= LWNoZWNrYm94 UGxhaW5PbGREYXRh IExQQw== cmFkZQ== c3Bpcg== IGNvbmNlaXZlZA== VGlwcw== IElvVA== IEdhbg== 6IGU IGJpYXNlcw== IGNvbnN1bHRhbnRz cGxlZA== X2h0 YXNzb2NpYXRlZA== XSwKCg== IGRlbGlnaHRmdWw= INGC0LXQug== SGVsdmV0aWNh KGxvYWQ= LWV4cGFuZA== X1dJREdFVA== dG9h IEFrdA== IG9tbg== IGNsYXVzZXM= SW50ZWw= Ki99Cg== X3JlZ2lzdHJhdGlvbg== IG9sZFZhbHVl IHJlc3RvcmluZw== IHVucmVhbA== T1ZFUg== CQoJCgkK QVRT X3Byb2Jl IGRpdmlzb3I= LnVwZGF0ZUR5bmFtaWM= 5bmz UHJvZHVjZXM= c3RhbXA= Lmpib3Nz CXRhc2s= ISg6 IHBzeWNoaWM= QGNsYXNz TWFydGlu IFBhc3NlZA== Y2xhcmF0aW9ucw== aGVs 0LDRhw== CWNvcHk= LWJpbg== emFu aWdyYW0= 4Ka+4KY= KHNpZw== IENhdmFs XyMj ICU9 b3V0bGluZWQ= IEFjaWQ= IHVucHJlZGljdGFibGU= LWRhc2hib2FyZA== SGV4U3RyaW5n K2M= LlB1YmxpYw== 4bqp IGNvbnZleW9y IEVC IHNlbGVjdHM= IGtub2NraW5n IENlYw== SUJVVEVT b3dhxIc= Z2F0c2J5 KnY= ZW50cm9weQ== IGRpc3BhdGNoZWQ= IGNhbWVs IFNhdHVybg== IG92ZXJ3ZWlnaHQ= KHBob25l cGFyYWJsZQ== JUI= X3ZlY3RvcnM= IGJyZXdpbmc= IFRr IERvd25sb2Fkcw== IFNhdmVk LlByaWNl IGN1cnZlZA== IFBhcmVudGhvb2Q= 6LY= LnBubA== cGxldGVseQ== LkRheQ== IGFkdmVydGlzZXJz IGVqZWM= IHByemVk 668= ISc7Cg== IEt1c2g= IFRBQg== IHF1ZXN0cw== IGNvaW5jaWRlbmNl dW1taWVz IEthc2htaXI= IEV0aGljcw== X2dyb3d0aA== IGFrdGl2 IGdyb3VwaW5n 5aKe X3RydXRo 5ZCs dG9kb3M= aXNldA== VGV4Q29vcmQ= w6R0dA== IFp1cg== cm95cw== X01BR0lD IGJyZXdlcnk= KFN0YXRl IFNNQUxM IFBsYW50cw== aXRiYXJ0 ZWFjaGVy IEFkZWxhaWRl THU= IGZpY2s= dW5kbGVz X2xvYWRlZA== 0LjQtQ== UG9sbA== cml0aWM= RUxZ ICsn IFByb2Zlc3Npb24= IHN0YW1wcw== IFNldw== c2Nyb2xsVmlldw== IGNvbW11bmlzdA== L3Byb2JsZW1z fQ0KDQoNCg0K LG8= IHVkcA== IG9iZXNl YXBwcm92ZQ== YW5jZWxsYXRpb24= X0dhbWU= IEhhc2h0YWJsZQ== YWRhcHRpdmVTdHlsZXM= IHBvc3Nlc3Nlcw== Lm1hdGNoZXI= ZnVuY3Rpb25hbA== TXJz CXNhdmU= IERiVHlwZQ== IGtlbg== Z2V0Q29udGV4dA== IG1hbnM= KHJlbA== IEJyb3RoZXJob29k KWAK 6Kej LkluZm9ybWF0aW9u T3V0T2ZSYW5nZUV4Y2VwdGlvbg== IFNlaw== Q2Fz IGJsb2dnZXJz RWl0aGVy KCIiIg== IHBpbmNo IGNvYXJzZQ== KXA= IFB1bHNl IGxlYXJudA== IGRlbnRpc3Q= IG9uY2hhbmdl IGRpcmVjdGl2ZXM= KGFjdGlvbnM= bnlkZXI= IFNoaXI= VHJhaXQ= X2RlcA== IFBFVA== IFJFUA== LkFwcFNldHRpbmdz Y3VhZG9y aWRlbmF2 IGVudmk= IHNsYW1tZWQ= IFNob290 IGRhdGVGb3JtYXQ= LmpvZGE= dmV5cw== ICkuCgo= IGNhcmVn IFBhcmFsbGVs X3RyYW5zbGF0aW9u LmZ1bmN0aW9ucw== Lm9icw== UnVudGltZUV4Y2VwdGlvbg== W109 b3ZlcnZpZXc= IFNjaGw= IG5vaXN5 IE9uUHJvcGVydHlDaGFuZ2Vk U2VuZGluZw== IHVuZmFtaWxpYXI= VXBvbg== IFByaW50cw== LnR5cA== IGZsZWVpbmc= CW1vdmU= KFVu IHFy 15w= X2JldGE= IHNraWVz CW1l V05E IHN0aWNrZXJz Ymxhcw== IGluc2VydHM= IHZlcnNlcw== IERldw== IHRhbmdpYmxl IGhlY2hv UE9M IHRlYXJkb3du b21uaWE= SUJF LmNvdmVy X3N0cmF0ZWd5 Xi0= c2V0UG9zaXRpb24= dWFsZQ== U2lnbmVk IGlmYWNl YXNlbGluZQ== LnNldFRpbWU= IE1pbmVyYWw= IEZpZ2h0aW5n c2tpbnM= IGRpc2NyaW1pbg== IGRhbnNr IFByaW5jZXRvbg== YWNpc3Q= ICgpKTsK dHJhY2tz aW1vbmlhbA== YWRlY2ltYWw= RVBST00= dWdnbGU= Lk5vdGlmaWNhdGlvbg== JG1haWw= Y2FudGlkYWQ= IEp1bmc= IHNlZWtlcnM= IHBsYXVzaWJsZQ== dGllcg== 0LXQtg== IHJhcHBlcg== IE1hbmE= IEh0dHBTdGF0dXNDb2Rl IGJ1cm50 bG9zZXM= IEZvdG8= IEpzb25PYmplY3Q= SW5zdGFncmFt IHN5c2NhbGw= IHJlYWxpdGllcw== IE1BVExBQg== Ol57Cg== VEVSTQ== IENiZA== IFBhcmFncmFwaA== IHRyYXbDqXM= IGNvbnN0cnVjdGluZw== IHN3YWw= IHBpZ2U= TExMTA== LWV4aXN0aW5n R2V0cw== IG1lbHRlZA== IG1pdGlnYXRl SGVu IGht aW1hcw== IEFv IFBlcmV6 IERBTA== IOuLpA== IGRpdmlz U3Rvcnlib2FyZFNlZ3Vl IE1vZGlmeQ== IMOcYmVy X09WRVJSSURF LnBlbQ== dW50b3M= IGVzcGHDsQ== IHs/ IFBBWQ== X2lwdg== IEZ1cnk= X18uX18= ZWxvdw== LWNlbnRlcmVk Y2hlY2tz X1JlZw== LUphdmFkb2M= CWxvYWQ= IExpa2V3aXNl 2KfZhQ== VU5F LnNlbQ== eGNi IENhdmU= X3NsZWVw IHNpbGVudGx5 IEV4dHJlbWU= LlRvVXBwZXI= CUNIRUNL IGN1ZQ== IFFCeXRlQXJyYXk= IGNvcnJ1cHRlZA== IETDqQ== IGltcGVk R2V0TmFtZQ== IGluYWNjdXJhdGU= IHNvYmVy 0LXQtQ== IGJhcmNvZGU= LS0pewo= aW5raQ== IMOpcA== IGRyaQ== IEFMVA== Pj4+Pj4+Pj4= b250YQ== W0w= IGludGVyZXM= dmVydGluZw== IGRpYWdub3N0aWNz cGRldg== 6Kk= IEludGVncmF0ZWQ= KS4n X2dj JHRleHQ= LmdhbWVz IFRlcnJh J1Jl LnRyYW5zZmVy X0ZJRk8= Z2V0TW9kZWw= IGJsYW5k IENvbGVtYW4= IHByaW1lcw== IOaI IGNyb3NzZXM= bms= R0lORw== ICde IEJsb2I= IGludGVyY291cnNl IEJsdmQ= IHdlaWdocw== X3JlZ3VsYXI= IFBlcnRo IHNlcGFyYXRpbmc= IGJpbGxlZA== LnRhYkNvbnRyb2w= IHB1cHBldA== IHV0aWxpemF0aW9u IOKWoA== IHN1Y2Nlcw== IGxhbXBz X3Byb2o= RXJpYw== IHJlbm92YXRpb24= IEZhbWlsaWVz IEJpdHM= cGFydGlhbHM= LU1lbg== c29sdXRpb24= IGR3YXJm LklOVEVHRVI= IExPQ0s= LmN0 IGV4Y2VycHQ= IFBpeA== IEZpcnN0TmFtZQ== QU5URUQ= IEFkbWly LWhlbHA= UHJpb3I= IEFsaWdu LklOU1RBTkNF TGluZUVkaXQ= KCcvOg== IGluZXQ= b2R1cw== LnBrbA== IEtZ dXBlcnQ= IG5lcnZlcw== X2dyYWRpZW50 fScsJw== X3VucmVm IHNhdHVyYXRlZA== IENvbm5lY3RlZA== IEZO RVhJVA== IHRlbGVwb3J0 IGF2YWl0 UGFnZVJvdXRl IGRpdm9yY2Vk KGxhbmc= ZnN0 IFR5cg== IG1lc3Nlbmdlcg== aWZzdHJlYW0= WFM= IEJhbmtpbmc= IGluZmVjdGlvdXM= IE1vbnM= X0xPT1A= IHp1csO8Y2s= IG9idGVuZXI= L3JlcG9z VmVs YWNybw== IHVzZXJSZXBvc2l0b3J5 c3R5bGVUeXBl IFNSQw== Vk1MSU5VWA== cmVjdXJzaXZl L2Jhcg== X2NoaXA= b21pbmF0ZWQ= IE5pdA== 4oCUdG8= IEJ1ZGRo 0L7QvNC10YA= IE1BRw== IENIRQ== X2Rlbg== LnJhaXNlcw== X2RlZ3JlZQ== IHB1bXBraW4= X3RlbXBsYXRlcw== X01FRElB IFRpbWVsaW5l IGJvdHM= T2JqZWN0VHlwZQ== IGJ1eXM= LnBvc3Rz Q0FM d2FpdGluZw== IERhbmllbHM= IGRhYmVp IFNpZ21h aWxvcg== aWdlbA== LFc= QURT KHBhbmVs 7LK0 aXRhdGluZw== LnBhbGV0dGU= IG1vc3F1aXRv IHRlZ28= KHBhcnNlSW50 IGRlc3B1w6lz cHJvbWlzZQ== IHdpag== dHlwZXNjcmlwdA== IFR2 X0lERU5USUZJRVI= KS4KCgo= X2ZsYXQ= aXRzdQ== VVNS ZXhwZXJpZW5jZQ== LWZpdA== cGhpbng= X3RocmVzaA== IGlkZWFsbHk= IEZyZWVtYW4= LERC X3J3 562J VWI= X3N0YXRpc3RpY3M= PSIiPjw= IGNob3Jl IHlvcms= aW5zdGFsbGVk QWRkaXRpb25hbGx5 IHBzdG10 eWxrbw== OjoK Rm9yZXN0 IGhlYWRzZXQ= IGdhbGxvbg== 0YDQtdC8 IHdpdGhkcmF3bg== IENhbmRpZGF0ZQ== IG1lbHRpbmc= IGZyZWV6ZXI= IGhs X0hFTFA= bWltZQ== KC8q IHRoaXJzdA== JHJldHVybg== bWVtYmVyb2Y= 0LXQsQ== IEh0dHBTZXJ2bGV0UmVxdWVzdA== KG9i X1Jlc3VsdA== IGFzc2VydGVk IGZ1bGZpbGxpbmc= IHN0cmV0Y2hlcw== cGFyYXRlZA== LWZ1bmRlZA== IOWb aW5nbGVz X2Nh LmNvbmRpdGlvbg== IERpc3BsYXlz IG9yYW5n IENSRQ== IGdsQmluZA== IFNlbGVjdG9y L3R5cGU= IEFsZXhh Y2hlZHVsZXM= IFBlbmluc3VsYQ== IHBhcml0eQ== CWRlc3Q= IERvb3Jz DQoJDQo= X2RpbWVuc2lvbg== IGFsb2Fk LlN0b3JlZFByb2NlZHVyZQ== KHBhcmVu IEJ1cmtl JyldCg== LWVuZ2luZQ== IHF1aXI= IEh5YnJpZA== IERvZQ== IG91dGxpbmVz IFRyZW5kcw== X05W cGVyaW1lbnRz IEhpbg== Pycs CVRleHQ= RlVM IHNtZWxscw== IHNsaWNr IG1pc2VyYWJsZQ== IEFycmF5QWRhcHRlcg== IHBhcmFtU3RyaW5n SG9t X2xpdGVyYWxz dXN1YXJpb3M= IHByb21wdGluZw== X2xhenk= IEFjdGl2YXRpb24= X29j V2Vhaw== IGFuZWNk IFVDTEE= PXJl aXNzZW1lbnQ= IEVzY29ydHM= RXhjZWxsZW50 IFBhdXNl IHJlcG9zaXRvcmllcw== VE9S YXJpYXRl X2lzbw== dXBkYXRlcw== aGFsYg== dWRpYW50ZQ== 66Gd IG5haXZl IFBlZw== IExvdW5nZQ== QVJHSU4= KGJpbg== T25DbGlja0xpc3RlbmVy IEZBSUxFRA== IGxpdGU= IGR6aWU= IExpdGVyYWw= aXZvcg== ZmNudGw= IGVhdHM= IHFlZA== VW5sb2Nr cmlkaW5n dW5kYWk= PU0= QVRURVI= Q29uZmlndXJlQXdhaXQ= aWNpYXM= dXN0b21lZA== IHN1Y2Nlc3Npb24= ZW5kVGltZQ== IEp1cGl0ZXI= IGp1ZGdpbmc= ZHJhdGlvbg== X2RvY3M= Lm1v IGVkdWNhdG9ycw== IFZpbmU= Q29uZA== W291dA== cWI= XFZhbGlkYXRvcg== IG1lYW5pbmdz IHByZXNlbnRseQ== IGRpdmlkaW5n b3R0ZW5oYW0= YXNjdWxhcg== IHRyYWlsZXJz IENMT1NF 0LDQvNC4 4oCZYWk= IEdhaW4= d29y IHBsYW5uZXI= IGRpc3RyaWJ1dGluZw== dmF0 bW9udGhz eGxhYmVs SEY= VmlvbA== LkJBU0VMSU5F 0LXRgtGB0Y8= IFJvdGF0ZQ== IHR4bg== OmJvbGQ= IGJsb3Nz Rm9yZ2VyeQ== KGVtYmVk IGpha28= c3ByaW50Zg== dGhlaXI= IGV4aGliaXRz LXN0YXRpYw== aGVjeQ== Z2V0QWN0aXZlU2hlZXQ= LmNsaWVudHM= 44GN X2hpZGU= W3dvcmQ= Q2I= YWRkSXRlbQ== YXhl X3JhZGlv YWxpb24= bW9kaWZpZXI= IHNhdHVyYXRpb24= IGRlbm9t X3BpeGVscw== bWVzcw== KGZs YXRpZg== IHNlY3M= IHByb3N0aXR1dGlvbg== IGdyYW5kY2hpbGRyZW4= IHBhcmFkaXNl IEZlbGQ= X0JJTkFSWQ== aXRvdXM= 4LmE IGZsYXNoaW5n LXNpZGVk IGNvbnRyYWRpY3Rpb24= LyoKCg== eWxhYmVs IFRldA== IGFkbWlyZQ== cmVzbw== IGxldHo= IFNFQVJDSA== c2xvdHM= IFJld2FyZHM= IEhvZw== IE5TRGF0YQ== c3Rhc2g= RmFsbA== IEFtZXI= TGluZWFyTGF5b3V0 L3Bob3Rvcw== IGZlYXRoZXI= IHwNCg== RG93bmxvYWRz LlN0YXJ0c1dpdGg= IC8vIw== aW5lVHJhbnNmb3Jt IGFmZmlk VnRibA== IFJvZ3Vl c2NyaWJlZA== IGZhdWM= IE1vbnJvZQ== IGRlY2xhcmVz bW9kZXJu cmVvbg== YXliZQ== UEFTUw== ZmVycw== X01VTFRJ IE1hdGhlbWF0aWNz IHN1ZGFo X0FUVEFDSA== IG51bWJlcldpdGg= IFNvbG9tb24= amlu b2dyYWZpYQ== w7Zs X2Rlc2lnbg== Y3VsYXRlZA== IEx1bmE= aWVzeg== ID0+Jw== IHJldmVsYXRpb25z QWxvbmc= KGVk IEZpbGVuYW1l IHlsYWJlbA== U2VjdXJl IGJ1c2Nh YWdub3Npcw== X1JFQ0U= IG92ZXJsYXBwaW5n RXh0ZW50 IGFudGljaXBhdGlvbg== Q2hlY2tz IEFMU08= b3Jj aWxpbmd1YWw= aXRhdGlvbmFs IGFkdmFuY2VtZW50 b3Vybw== IFByZWRpY2F0ZQ== 5b6X ZXJpYQ== IFBpZXJjZQ== b3Jpbw== IG1lcml0cw== IHBlYW51dA== LlBhY2thZ2U= IENvbmR1Y3Q= X1NFTlNPUg== IGJvaWxpbmc= IGludHJh IElHTg== IEZ1cg== LlJlZnJlc2g= IFJlYWNo X2RlY29kZXI= LkV4cA== INGC0LDQug== cGlsbA== LFE= IEdyaWxs IHBvcHBpbmc= LkFn IHByb3llY3Rv IG1pbGVhZ2U= IGVjb2xvZ2ljYWw= XV0pOwo= IMKt c3VicGxvdA== YWNhZA== IFRyeWluZw== cmVjaXBlcw== JGNyaXRlcmlh IFBlcnNpYW4= LWJvdW5k TUFTSw== IEdlc3R1cmU= IGtr IFBWQw== IHByb2hpYml0aW9u IGNvbWFuZG8= IExPT0s= U2hvcHBpbmc= IGRpc3RvcnRpb24= PEJvb2xlYW4= LkdldExlbmd0aA== dW1wdA== XFByb2R1Y3Q= ZWxsZXJ5 IGZpcmV3YWxs Zm9ybWF0dGVk LnJlZGlz IGVzYQ== IFJob2Rl U29t Lm5vbg== ICcpLg== IGdldFZpZXc= 4bqhbg== cHJ1cw== TWF0dGhldw== IHNpYQ== IEZvcnM= R1BV aWVudHJhcw== X0lOU1Q= IG9sYXJhaw== IGltcG9ydGluZw== VENQ LyIpOwo= ZWl0aGVy IGZyZXNobHk= Y2FzY2FkZQ== KGNoYXJhY3Rlcg== IEplZXA= b3RpY3M= X1VUSUw= Llh0cmFQcmludGluZw== LmZpcnN0Q2hpbGQ= IEV4Y2VsbA== IGR2ZA== IHRhbGxlcg== IHJhcw== eXBhc3M= IGFzc2lnbnM= IGdyaWV2 LW1vcmU= SkQ= IEJ1cm5z Jz4NCg== LkRlcGVuZGVuY3k= LlF1ZXJ5U3RyaW5n Lk93bmVy IGV4cGlyeQ== VGh1 KFZlYw== IGhhemFyZG91cw== IHJwbQ== QVBPTg== IGFkZFRhcmdldA== c3ZpbGxl cE5ldA== IEltZw== IFRJTUVS LkFuaW1hdGlvbg== IGJlaw== IGFzc29ydA== IGxlYmlo IGJvZHlQYXJzZXI= IHZpYnJhdGluZw== SURM IGJ1dHRlcmtuaWZl aW50ZXJz IHBlcnN1YWRl IExHQlRR 6Is= LnNvZnQ= IGJlYW1z X3N1cg== LkRlZg== IGxhYnM= CXBsdA== IHNraW5z IHRyYW5zZmVycmluZw== IGltYWdpbmFyeQ== X0VuZA== O2JhY2tncm91bmQ= IGxhcHM= X0NPTU1FTlQ= KFNETA== b25kcw== LlJlY29yZA== IEltcGxlbWVudHM= X3RpY2tz KCkpKQoK IGFyb3Nl XT8= IE1w IElDb21tYW5k IHNjdWxwdHVyZQ== IGNvbnRyYWN0ZWQ= PEhUTUw= IGNhbGVuZA== YXR5 L1N1Yg== IGt2aW5u X0lHTk9SRQ== IFNoYW5l TUxT IHN0aW11bGF0ZQ== UGFydGl0aW9u IG11bg== w7Nt ZXJhbGE= LWFjY291bnQ= LkJpbmFyeQ== Y8Op IHNlaXpl Y29ubmVjdGlvbnM= IAogICAgICAgIAo= IERpYWdub3N0aWM= VklTSUJMRQ== IFJ1bnM= IGltcHJlc3Npb25z c3VpdGU= b2JsZQ== fi0= YWt1a2Fu PFBlcnNvbg== IE5vcw== IEd1aQ== LndhaXRGb3I= UkVTRVQ= IHBvc3Rwb24= RGlzY292ZXI= YXJyaXNvbg== c2hhdw== Ymxvb2Q= QUpPUg== 5pu05paw IE11c2U= 5pS2 IHJldGFpbmluZw== b3R0ZQ== IG1vc3F1ZQ== IFNuZQ== IHN0YW5kYXJkaXplZA== IG1haW5sYW5k X3RocmVl dW5nZW9ucw== Z2V0RG9jdHJpbmU= IHdoYWxl IGFnZw== IFBvcnNjaGU= bm93bGVk bGF0ZW50 IFJlbGF0aW9u IC8vJw== IHNodXR0aW5n IFJlbWl4 X2Nvdg== IHNhaWxpbmc= IHZvd2Vk IHBvdHM= b3V0dQ== IGhhaXJ5 Y2FzdHM= UmVsb2Fk IHJlY29ubmVjdA== dGVyYQ== LmNoaWxkTm9kZXM= IFJhY2s= IGN1cnJlbnRJbmRleA== IGFsbGVu IOeUqOaItw== IEN1YnM= W1g= X1NFUQ== X1JFTU9WRQ== LmdldEFjdGlvbg== KC9e ZXJyYXI= IGV0aGVy Y3VydmU= IHNsYXA= IHVvbQ== T3RoZXJz IGVuZ3I= RGlzcG9zaXRpb24= IHN0YWdlZA== RXll IEF1eA== YXV0aGVudGljYXRl ICQ/ IEFuZHJlYXM= IHNldHc= LkFydA== IGZvcmVjYXN0cw== IGF1bnQ= LW1pZGRsZQ== IG1pc2Q= ZGVzaw== IGVzY29ydGU= IENhc2E= cm9waWNhbA== IGV4ZW1wbGU= cGxhbmV0 KFVJTlQ= IHdoaXA= IFBDQg== Y2xpZGVhbg== PSJc IG94aWRl IHN1Y2NlZWRz ZGVyaXZlZA== IEVjb25vbQ== X2Nvb3JkaW5hdGVz aXJhcw== RHJhZnQ= IHZpc3VhbGl6ZQ== QnJpYW4= X0FTU1VNRQ== IE9iamVjdElk IHRyYWluZXJz X0ZPUkNF IGNvbnNvbGVz LXByb2Nlc3M= bGljaGVy IFNpbW1vbnM= VGFraW5n IENsYWltcw== IGRpZmbDqXJlbnQ= QWN0aXZpdHlSZXN1bHQ= IHNucw== 6YCJ5os= IENydXM= IGxsYW0= cmFi IEpvYW4= QUFB CWZpbHRlcg== aXNob3Bz Z2V0dGluZw== 4LU= IHF1YW50bw== UGFzdA== b3ZpY2g= IGluanVzdGljZQ== IEZMT0FU IGFscmlnaHQ= XERC KEdhbWVPYmplY3Q= dWlzaA== KGJvdA== IGdhbGxvbnM= IFLDqQ== IFNhaWQ= IFNURE1FVEhPRENBTExUWVBF YWlzaW5n X3Byb2Nlc3Nvcg== ZWxsaWRvcw== dGVyZGFt IEJlYW0= VGV4dEFyZWE= IHJldG9ybm8= Lk1ha2U= ICQoIjw= IGxvY2tkb3du IHJlbWVkaWVz IHZlZWw= eGVl ZG9jdHlwZQ== Rmls IEV4cGFuZA== IGVtcGxveXM= IHNlc3Npb25TdG9yYWdl UGhw UHVibGlzaA== IHJldGFs ZmFicw== eW5hbWljcw== IHRvc3NlZA== IG51bWJlck9mUm93c0luU2VjdGlvbg== eHBhdGg= XG1vZHVsZXM= IGRpc2FzdHI= IE1VTFQ= Lk1lc2g= LXN0YWdl IHNkZg== aXR1bmc= dWdlcw== ID8+Ij48Lw== X2luZGV4ZXM= IHZhbHVhdGlvbg== IGxpZmVsb25n IGV4cGVkaXRpb24= KFlpaQ== IHBhaW5z IFBSSQ== IE1peGVk IENoYW5naW5n R2VybWFueQ== Y29tbXVuaWNhdGlvbg== Lm9yZ2Fu IE1hcmF0aG9u Z2V0UGF0aA== IEFjY3VyYWN5 IEdsb2JhbHM= Jyl9fTwv IE9XTkVS 4oCm4oCd IHN0YWJiZWQ= IHNjaGl6b3BocmVu IEZu IENPUkU= IERhdGFSb3c= IExURA== IG15dGhz IGZhbW91c2x5 fCwK IFNlb3Vs U2ly IEJlcms= UmVnRXhw LmdldFJvdw== IERlY29kZQ== Uk4= IG1hbmc= IGVtcGxveWluZw== X25vbWJyZQ== PFRhc2s= IEd1eXM= IEFydGlrZWw= QmVycnk= enVyZQ== IHZhbGV1cg== aGl0cw== IGx1Y3JhdGl2ZQ== IGluZm9ybWF0 Q2xpbnRvbg== IHRlcw== IENlcnRpZmljYXRpb24= X3dz IG9mZmVuY2Vz ZWJyYQ== IEF4aW9z cmVzdGFydA== TE4= LkVuY29kZQ== bWl1bQ== IEZlYXR1cmVk 0YjQuNCx0LrQsA== IERlcHQ= OyYj IE15ZXJz CXRyYW5zZm9ybQ== VGV4YXM= 16g= IFlvcmtzaGlyZQ== bG5hbWU= QnJl 44GT44Gu IHNjZW5lcnk= IGbDvGg= CQkJCSAgICAgICA= IERvb20= IEFETUlO KGVz INC80LDRgdGB0LjQsg== X2FzY2lp L0RhdGE= bGVzaG9vdGluZw== QmFu IG1lbW9pcg== INmG IEF1c3M= KXBhcmVu IGd1aWRpbmc= IGJheg== w7h5 QURN IGRtYQ== LlF1ZXVl IFN1cHBsaWVz IE1jRA== IEFnZW50cw== X2Ji c2xhc2g= IGhhc2hlcw== IGNyYW5r IFJhZw== IGF1dG9ub215 w610dWxv IHJlY3Vyc2lvbg== IENyYXp5 X3RyYWNrZXI= IE1i X3BoeQ== Zm9vYmFy CXNwZWVk IGNhbXBvcw== IG1vdWxk IGNoYXJpdGllcw== SEVJR0hU IGVhdXRv X3NvbHV0aW9u IERH bWFydmlu WWVzdGVyZGF5 IEJlY29tZQ== PGxs b3Jpcw== W25leHQ= IGluY3VtYmVudA== IER1cA== CW92ZXJyaWRl 5a6J CWNmZw== IHPDtg== IGRlc2U= LWRp IG9udHZhbmdzdA== IGRlY2lzaXZl 5Lu3 X2tlZXA= KERhdGFiYXNl Xy8= IENMTA== LW1ldGhvZA== CVBvaW50 IEJ5dGVCdWZmZXI= IHRyYWNlZA== YWRkVG8= 7IS47JqU YW55YWs= IGVtcHJlc2Fz KHJlcG9zaXRvcnk= LmNyZWF0ZVN0YXRlbWVudA== IGVsYQ== Rm9yZ2VyeVRva2Vu IGlzZW1wdHk= YXNpbg== IExvb2t1cA== 0LXQvdCw IHZpb2xhdGVz IFNtYXJ0eQ== IHphaw== KCQu U0hPVw== INCi YXJ1cw== KFRFU1Q= cGFja2Vk IGhpc3Rvcmlh IGNhbmNlcnM= IEtyZW1saW4= UmVkdWNl L2hvdw== IMSQ VElUTEU= LmxvY2FsUG9zaXRpb24= bGlhYmxl IOesrA== IGZyYW5jYWlz CWhhc2g= IGluaWNpbw== IENyYXNo IHsu IGNsb2Nrcw== ZHVjdG9yeQ== IFB2 6528 IGRvaXM= XC0= IGphYXI= IE1heWE= bW96aWxsYQ== CXJlc291cmNl ISEK YXlzY2FsZQ== ICctJyw= 5Y+W5raI IHN0YWxl Q29ybmVy w6hsZQ== aXRpdmVz emFz aWNvcm4= LkV4cHJlc3Npb24= w7N0 QXBwbGljYXRpb25z UmVzdHI= X0luZGV4 jbDsnbTthLA= IEpGcmFtZQ== c2l4 X0lNRw== 6JeP IE51bWVyaWM= IHdpcms= X1NVTQ== PERhdGVUaW1l IHB5bGludA== IGxhbWVudA== IFBvc2U= X2VudHJvcHk= IGVuY291cmFnZW1lbnQ= IGxhaW4= 5Yib5bu6 LWZy IGNvcnJlY3Rpb25z cGhhcw== dXVy YXRlZ29yaWFz IGNhdGFseXN0 LmFsdA== IEZlcm5hbmRv LkRhdGFHcmlkVmlld0NlbGxTdHlsZQ== IGhlcmJhbA== IFJH U1RFUA== SUZu IFRvbmc= xb5l IElOQ0xVREU= IGhj dHJhY2tlcg== CVN0cmluZ0J1aWxkZXI= IERlc3Rpbnk= IHNvcGhvbW9yZQ== IERlZA== IFBBUkE= aXpvbnRhbGx5 LWNoYW5nZQ== ZW5kaWQ= 6YCJ5oup aWprZQ== IEF0aGxldGlj YmFp Z2V0UG9zaXRpb24= Lm5hbWVzcGFjZQ== 6K6i5Y2V UkFDVA== IHJlbGlldmVk IHBvdXJpbmc= IGl5 cm92ZQ== IGFkb2xlc2NlbnRz IGF3ZQ== cmVhcw== QW50aUZvcmdlcnlUb2tlbg== cm93bmluZw== IFVuY2xl LkNvbm4= IE1lZGlhVHlwZQ== Lm9yYWNsZQ== SU5URVJOQUw= LGFuZA== IGZhdXg= aXBtYXA= JG1vZGVs IEdlb2Zm X0FYSVM= KCgpKQo= IG5lZ2xlY3RlZA== IHF1YXJ0ZXJseQ== IGRpZXNlbg== IGRyYWdvbnM= TmlnaHQ= L1dlYg== PFZlYw== CSAgICAgICAgICAgICAgICAgICAgICAg IE9icw== YmRk IGhlaXI= LWFuZ3VsYXI= TWVudVN0cmlw ICciPic= a2luc29u INC60L7Quw== b2duaXRpdmU= X2xp IGltbWluZW50 IGFmZmluaXR5 LnNpZ25hbA== IG5vdGNo IFN0ZWVsZXJz bWF4bGVuZ3Ro S0s= IEV1Z2VuZQ== X1BXTQ== cm9p IOKXjw== IEhhbWJ1cmc= Lk11c3Q= IGF4ZQ== ZW5lZg== IGFtYml0aW9ucw== IFNwZWNpZXM= IFN0cmVzcw== IGF3aGlsZQ== INCx0YPQtA== IHdpdGhzdGFuZA== IERlY29kZXI= X2ludmVudG9yeQ== IHsNDQo= IHRndA== IHJhaWxyb2Fk V0FTSElOR1RPTg== IG5lZ290aWF0ZWQ= TlNU LXBob25l LFU= IGV4ZXJjaXNpbmc= 4bul X1BJWEVM YXZvcnM= aXRlcmF0ZWQ= IHZhbXBpcmU= YWRhbA== SW5ncmVzZQ== IHVuZw== amVjdGl2ZQ== LmNlbGxz IG5hbm8= IG1hcmtkb3du X1JVTEU= KGV2ZW50cw== IGx1Z2dhZ2U= TUVTU0FHRQ== aWdrZWl0 JGNvdW50 QXR0cmlidXRlTmFtZQ== SUdJTkFM X0VudA== IEJG IENPTU1FTlQ= X2luaQ== IEV1cm9wZWFucw== IEJlbGxl 5ZG9 KVsn 5bqU IFVzZWZ1bA== LnJlZmVyZW5jZQ== KCkiLA== X2dyYWRl IEthdw== IHNlbnRlbmNpbmc= IHNvY2lhbGlzbQ== bW9uc3Rlcg== X0xBWUVS IGRlZXBlc3Q= d2s= IE5vaXNl IyMjCgo= IHByw6lj b3RsZQ== 0YLQtQ== YXVm aWJhbA== IGNvbnF1ZXI= PkVtYWls IGFtYnVsYW5jZQ== T0FE ICgiJQ== IEZJ LmZpeHR1cmU= IHRlcnNl ICAgIAkJCQk= IHNhbmN0dWFyeQ== dWdp IENvbXBhcmF0b3I= RGVmaW5pdGlvbnM= IGFzdGhtYQ== IGxhY3Q= IGhhcmR3b29k LmNsb2Nr IGF0dHJhY3Rpbmc= IE1vdXI= KGRpc3RhbmNl aWNpdHM= IGJvbm5l IEFDQ0VTUw== LkRlc2VyaWFsaXplT2JqZWN0 IFR5cGVk IGpldQ== IGFwcElk IENsYXJh IEhG IFJlaWNo aXBwbGVz Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ== X2RlbGl2ZXJ5 ZXJpYWxpemF0aW9u IHBsYWludGlmZnM= U2NpZW50 c2hvcHBpbmc= IER1bW15 IFdhbGQ= R3JvdXBOYW1l IGluc2NyaXB0aW9u ZWxvZw== Ojo6Ojo6Ojo= X2xk QmFja1ByZXNzZWQ= LlJhdw== IE9uVHJpZ2dlcg== IG11c2V1bXM= IEJlZW4= IEFkdmVudHVyZXM= IHNsYXRl IGxldHQ= IHN1bmQ= IEdpbg== IE1lY2hhbmljYWw= LnNoaXA= QXBwQ29tcG9uZW50 IGRlc3RpbmVk IGR3ZWxsaW5n UHJvZmlsZXI= UHJlcGFyZQ== emVpY2g= IHNpbGljb24= KGhhcw== ICMl VklERU8= IGNvbGxhYm9yYXRl TGlu IHNjb3Blcw== KGNsYXNzTmFtZQ== KHNk YW5kaW4= LmhhbQ== U2VydmljZUltcGw= LWRlc2NyaWJlZA== IGlyb255 c3RpYWw= IEh1YXdlaQ== KHJlcG8= IHVuZXhwZWN0ZWRseQ== IEthaQ== Lmluc3RhbGw= XHhm IGV4aGliaXRlZA== X1RDUA== IE94 X0NITw== IHByb3N0aXR1ZXJ0ZQ== IHbDpA== IHNpdG8= IGNvbnN0aXR1ZW50cw== IENvbnRpbnVlZA== IFNBVkU= cnNz L21lc3NhZ2U= dWJlcw== IG1pc2RlbWVhbg== IHRheGF0aW9u IHN0b3J5bGluZQ== aGFpcg== IEZpbmRz U0lH dmVyaWZpY2F0aW9u fj0= Lmhw SXRlcmFibGU= 0YvQtQ== YXRvcmk= IGN0cg== Ung= Xyk7Cgo= ZGFn LnBpbg== IHBzZXVk IGludm8= 0YHRgtGA X3BpeA== 5Li656m6 IHN3b3Ju 4oCUb3I= X3JlZ2lzdHJ5 IGRpc2FzdGVycw== IFJPSQ== IOKAlQ== YWt0dQ== Zm9yZXN0 YmVpdGVu 4oCUSQ== dWV2YQ== ZWd0 IHNwaWtlcw== VVJFUw== IFJlY29tbWVuZGVk IGV4cGxvaXRlZA== IEZyZWRlcmljaw== X0NPTVBMRVRF IERydWdz ISEhISEhISE= IFJpdg== U1RPUA== Uk9PTQ== IFBBU1NXT1JE Q29va2llcw== LkVs 4but IEJlcnQ= IGhhc2hlZA== aWNlc3Rlcg== IGRlY29yYXRvcg== IHF1ZXJ5U3RyaW5n OjsK ICJbIg== b3RvcGU= LUFtZXJpYw== IE1hdHRoZXdz VVJBTA== 4oCcLA== U3VtbWVy Zm9z X0NPTlRBSU5FUg== X0FDSw== IGZpbHRy X2Rpc3A= X1Jl IGZhY2lsZQ== 0LDRiA== IOyVig== IGViZW4= IHNwcmluaw== IFF1aW50 PlY= IGhpc3RvcmlhbnM= b3VybWV0 IE1vbml0b3Jpbmc= bGVkZ2Vy Y290dA== IHdhcmU= R0dMRQ== Y2Fycw== IE1FRElBVEVL IHZvbHVwdA== X1ZpZXc= SEVM KGNvcHk= KHN0YXRz IGNocm9tb3NvbWU= IEN1cnRpcw== LWNvbmY= KGFzc2V0 IGh2b3I= RmlsZVN5c3RlbQ== PD4oKTsNCg== b2NvZGVy IENhbm5vbg== KXg= IFNtb290aA== IFNBUw== X2Nl CXByZXY= X21vdmll RWM= X3dhbGw= PEJ1dHRvbg== IEZBU1Q= IG9uVmlldw== dWxhbg== IFNVUFBPUlQ= IGdlc2NoaWNodGVu IFNvbnM= SW1t JElGbg== IGZhaXJuZXNz IGRwaQ== YXRzdQ== Sm9zaA== RXF1YWxpdHk= IH0oKQo= X2xlc3M= IFJhdGlv IENhdHM= IFN0ZXJu TW9uc3Rlcg== IG1lcmN1cnk= w7xocg== IHBsdXNpZXVycw== LmRlc2VyaWFsaXpl c2NvcHk= LkZhbHNl KWFuaW1hdGVk IEV4cGVydHM= ICIiKXsK LldoZW4= c2VlYWxzbw== LnVucGFjaw== TEVN LnNlbGVjdEFsbA== IHBlcmNlcHRpb25z dWRpbmc= aXJsaW5n IFByaW50aW5n Z3JhbXM= IEZpbGVTdHJlYW0= ZXJ2aWxsZQ== aWxvZw== aWNtcA== X0NvdW50 IGxpdmVzdG9jaw== LWNh ZG9jdW1lbnRz IHBvbGVz CXdhbnQ= IGZsdW9yZXM= IHN0YW5kcG9pbnQ= IEh1Z2U= IHJhZGlhbnM= IFVJQmFy RURJVU0= IEhpc3Rvcmlj X2hvbGRlcg== IE1hcmluZXM= IHTDpA== LkxpZ2h0 cXVpcmVy YXNvbnJ5 ZGl2aWRlcg== IEZsdXR0ZXI= X2Zi cmVzdHJpY3RlZA== IEV2ZXJ5Ym9keQ== TsOjbw== IGtub3Q= IFR3aXRjaA== IGhhbGx3YXk= KENvbGxpZGVy SW5wdXRFbGVtZW50 PykK L29mZg== Lyk= cGxheWVk W09G IGJhdHRpbmc= X2Rs IGNvbWVkaWFu IMOpdg== IERFTQ== IEVkZW4= OndoaXRl Jycs Q29uc3RydWN0aW9u YWNlcmI= IHRhc2tlZA== Lm1hbmFnZQ== UmVsYXRpb25zaGlw IHBob24= bno= X0JHUg== VmFsaWRhdGVBbnRpRm9yZ2VyeVRva2Vu X2Fpcg== 4oCcV2hlbg== IGdsZnc= IENvbnZlcnNhdGlvbg== X1RPVEFM LFo= IGdyYXo= IGl0ZXJhYmxl IFBBU1M= IGFkdmVydGlzZQ== IG3DtmdsaWNo L3RyYWlu IFZvbGtzd2FnZW4= IGNyZWVweQ== ICIpDQo= UVVFTkNF IGFsdGFy IGVkaXRz Y29tcGlsZWQ= YXduaW5n IER1bmdlb24= IG9zZw== TmF2aWdhdGlvbkJhcg== IHRyZW5kaW5n IEVjbw== b2dnbGVz Y2RvdA== fC0= U2ll ZWNyZXQ= IE5lZ2F0aXZl IExpbmc= IERJTQ== IENXRQ== IENhcnJpZXI= IGNhcnRyaWRnZQ== X3VzYg== PW9z IEphY2tpZQ== IG90cmFz IGNvbW1vZGl0aWVz IFByZXNlbnRhdGlvbg== KSYmKA== IE1hcnRoYQ== IENhdGhvbGljcw== IE1vbmQ= 0L7QsdGL X2Fic29sdXRl IGFzaGFtZWQ= cG9uc29ycw== dGFs IHNhZG5lc3M= IHB1w7I= RmFkZQ== LXByZXZpZXc= IFJlcXVlc3Rz IENhbHZpbg== aG9ybg== UmV1c2VJZGVudGlmaWVy KHByb3ZpZGVy L2FwcHM= aW1lbw== CUNsYXNz U2Ftc3VuZw== IFdPUkxE IGNpbm5hbW9u ZG90ZW52 IElVc2Vy IERFVg== X0NoYXI= LmliYXRpcw== ZXRp L21l c3N0 LnN5bQ== IFJ1Z2J5 LW1hc3Rlcg== YWphcg== IFlFQVI= IG9kcA== IFJvbGVz IGJpcGFydGlzYW4= YWlsbGU= IGJsb2NrZXI= IGdyZWVucw== LlNFQ09ORFM= IGJlbGlldmVycw== IExpa2Vz RkxPQVQ= IG1haw== IGdjYw== 4pWQ4pWQ KCJ+Lw== U0NSSVBUT1I= IHRvbm5lcw== IFNhbmc= IHRyYW5zcG9zZQ== ZW5uYWk= UHJlZA== IHNvbGx0ZQ== LmdpdGh1YnVzZXJjb250ZW50 KHByaW50 IEhvbGU= 55yL YWRnZXQ= IHByb21wdHM= IGdlbmV0aWNhbGx5 IEhvZA== IHZlcnRpY2FsbHk= X2NvbnRyb2xz 0YHRgtCw0L0= Iil7DQo= JHRpdGxl IH0pLAoK IHN0YXRld2lkZQ== IENvcnJlc3BvbmQ= IEF0dHI= aXRhbnQ= RWxlbWVudFR5cGU= IG91dHdhcmQ= IGZhbWlsaWE= KGFydGljbGU= IGJsYXQ= wqAK IGdsR2V0 IFJlY2VpdmVy ICUt YWRhbQ== V2lubmVy IHRhaWxvcg== X3B3ZA== ZXJ0ZW4= U3Rhbg== CWFsbA== YWxpdmU= c3RydG90aW1l 77+9cw== c2Vzc2lvbnM= JGNvbm4= YXNzaXN0 IGNoYXR0aW5n IE1hbnQ= ICVA ICIiKTsKCg== IGRndg== IO2VqA== LnJlcGVhdA== X01lc3NhZ2U= IGFkdmlzZXJz L3BhdGg= IGtlcw== KX08Lw== TWlzYw== IGJzb24= IHRyaW1tZWQ= IEFjaw== VmVydGV4QXR0cmli 57Si dWF0ZXM= Lm15c3Fs IGRlc3Rpbg== IHByb2Js KENvbnN0YW50 YXNzZXM= LWltYWdlcw== X0FSRUE= X18qLw== W10o IHNpZ25Jbg== xJE= eHI= YWhpcg== LmZpcmVzdG9yZQ== IHNlcXVlbnRpYWw= IElkZWE= LWJhc2lj X3BhZw== IGluc3RhZ3JhbQ== b3Ryb24= X2FsaWdubWVudA== XFxcXA== LkZhY3Rvcnk= LnJ1bGU= LmNoZGly IGxpYnJv KGdhbWVPYmplY3Q= LlRvb2xTdHJpcEJ1dHRvbg== IGRpc2NvdmVycw== LkFyZ3M= ZG9i IHZu 4oaS IGTDvA== IFhN IGFsdW1uaQ== IGhvbmU= IHNlY3VyZWx5 X2Ryb3Bkb3du RGlzY2xhaW1lcg== IGR6aQ== KHRpbWVzdGFtcA== Jyld IGN1bHRpdmF0aW9u Li4uCgoK IFRyZWF0eQ== IERpc3M= IGNvbmZsaWN0aW5n LmdldFNlbGVjdGlvbg== IHBsYXlhYmxl IFNpbGs= IEVxdWFsaXR5 IG1veQ== IGZsYXR0 IG1vdGl2ZXM= UGVyZmVjdA== LmV4aXN0 IHR3ZWFr IG9taXQ= IFR3aWxpZ2h0 IGtpc3Npbmc= IGNocmlzdGlhbg== KFNF X2RlZmluZQ== IFBlbmc= U29ydGVk J2lu TG9ncw== 4buHbg== IG55bG9u RHVtcA== SW1hZ2luZQ== cmVuYW1l IGJlZm9yZWhhbmQ= cHlnYW1l IGJweQ== IERq IHRpdHVsbw== IG5sdGs= IFNjaG1pZHQ= IENhdg== KG9uZQ== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= LmdldE1vZGVs IFB0 YXRvaQ== LmxvY2Fscw== YnVyc2VtZW50 UHJvdmluY2U= IEFwcHJvdmVk KCk8PA== w7NyaWE= dXNjaA== IEplbm55 YXJyYW50cw== IExpYmVydA== TG9yZA== IFJlbW92ZWQ= X2NvZGVj LmJ1bmRsZQ== IEdvbnphbGV6 b3BlcnM= neWni+WMlg== ZXR0aW5n IGdvZGRlc3M= cmlwZQ== IG11c2N1bGFy CQkJCQkJCQkg IEh1Z28= IG1lam9yZXM= bG9pZA== cml0ZWxu Z2lz YWRkb24= ICgoKCg= YXBwb2ludG1lbnQ= cmVzZXJ2ZWQ= CWZyaWVuZA== X2F2YXRhcg== Qk9PTEU= YWhp LUVORA== IGlmZg== w7Ni IEJydW5v cm93c2FibGU= IFBvaXNvbg== KGZsYWdz dXJ0bGVz IEFuaW1l IG1pZ3JhbnQ= CXN0cmNhdA== KHJlcGx5 IFJlZnVnZQ== IEJX ZWZ1bA== JHZhbHVl ZmVk ICAgICAgICAgICAgICAgICAgICAgICAK 6LWE KGNt IHZ1bG5lcmFiaWxpdGllcw== IFsoJw== IHVuYmVsaWV2YWJsZQ== c3RyaWN0aW9u ZW50aWV0aA== IHByYXlpbmc= Q2xhaW1z IGthdWZlbg== bsOp IHBvaXNvbmluZw== Y29sbGVjdGlvbnM= IGluaXRTdGF0ZQ== IFNldmVyaXR5 IGNvbnRlbnRpb24= IAoJCg== LmNvbnRyb2xsZXJz c3RydWN0dXJlZA== aWN0aW0= IE9iZXI= IC8qI19f X09U IEFtZXJpY2Fz IEFkYQ== UHJvZHV0bw== Lm11bHRp IGdyYXBl YmVn 5p+l6K+i IHF1YXJ0eg== IFJvbWFuY2U= IE1pZHdlc3Q= IGhvdXNlZA== IGZ1cm5pc2g= aWNvbnQ= LnVuc2hpZnQ= b3RyZQ== IMO6bg== aXBwbGU= IHN1YnVyYg== dWFsaQ== Vm9pY2U= LklzQW55 LGNvbHVtbg== IFByb3NlYw== SURB CXBvc3Q= cHRvbXM= dsOp IEluZ3JlZGllbnRz w7ZmZg== Lm9wZXJhdG9y IDw8PQ== bGFzdGlj IHJlc2VtYmxl VW5hdXRob3JpemVk IHR1dHRv X1NXSVRDSA== X1JFQURZ fT0= bm93bGVkZ2U= IGFwcGVuZGVk dW5nYW4= 4oCZZW4= IExvcmVu cHVibGlzaGVy IE1H fSwi IFdhbHNo VGVtcGxhdGVz X3NvY2lhbA== IHBhcmlzaA== IFNwbA== bWluYXRlZA== KEZBTFNF IGZvcmVmcm9udA== bW9kaXR5 IGJpbGF0ZXJhbA== IGNvbXBldGl0 IGNhbmRsZXM= LmRw IGNvbGxlY3Rz dGVsZWZvbm8= IGF0dGVudA== IExlbW9u aXphZGE= IHRoZXJhcGllcw== IHBhcmFkb3g= IHRhcw== LXN1Ym1pdA== ZWtlcg== SU5hdmlnYXRpb25Db250cm9sbGVy IG1ldGF2YXI= IHNld2luZw== IFppbWJhYndl IGxhd2Z1bA== IGxvcmU= IExvYWRz INGB0L7Qt9C0 LnByb21pc2U= IEZhY2Vz LlBsYXRmb3Jt LmdldExvY2F0aW9u IHRyb3VibGluZw== IHbDrWRlbw== IEZlYXR1cmluZw== 5Lqn cWVk IG9uQmluZA== IHRvZGRsZXI= Q2xv RGl2aXNpb24= LWdhbGxlcnk= IEdlbGQ= c3BlY2lmaWM= RmllbGROYW1l X2V4Y2Vs XGh0ZG9jcw== IERW ICY6 IHR3aWc= IENvbmNlcm4= IHNob3RndW4= IG5pY2tlbA== IEx1eHVyeQ== X0tFWVM= Lm5weQ== xa8= IGZvcmVoZWFk zrI= IGVuZGFuZ2VyZWQ= L3RoZQ== cGlwZWxpbmU= xbE= bmVv RXhwbG9yZQ== U3BlY1dhcm4= IGludGVyY2hhbmdl KHBp YmlydGhkYXk= RGF0YVJvdw== IFNQUg== IG9zdGU= ICJ+ YXRpc2ZhY3Rpb24= Tkg= b3Jkbw== LWZvY3VzZWQ= J0E= lok= LmJlc3Q= IFNwZWNpZmljYXRpb24= Lz4uCgo= b2dlbmVzaXM= IE9QVElPTlM= dXB0b29scw== IG1pbGl0YW50 IGV4aXRlZA== aWdhcg== IENPTU0= IERpc3Bvc2FibGU= YXljYXN0 IHJvd3NwYW4= IHN5bnRoZXM= IHNvbmRlcm4= IDwhLS08 IEVuZGU= LnZhcmlhYmxlcw== IGNvbnNlcXVlbnRseQ== c2Rr U3VwcGx5 cmVzcG9uc2l2ZQ== T3BlbmluZw== cGhvdA== IH1c IGJ1bGxzaGl0 IGJlYWNvbg== X3NhdA== IHNuYXBz IEdIeg== TE9ORw== PHBhaXI= IFsKCg== IFZlcmc= IEVpbmU= L3Bvc3Rz IGFyYWI= IHN1bWE= 44Oz44OI IHNjYXJj IG9sZWg= ID8/Pw== IE9mZmVycw== eGVk IGZ1bGxXaWR0aA== LWFjdGlvbnM= T3V0ZXI= IEV4cG8= w6lyZXI= Lkhl REg= IGhpbA== IE1pbGxlbm4= 0LXQvdGM SWNl X2dyYXk= INC/0L7Qu9GD0Yc= IFB1bms= IHRpbWV2YWw= IGlzYQ== IENIdG1s LkRhdGFQcm9wZXJ0eU5hbWU= IGRpeQ== dG91cg== IGpUZXh0RmllbGQ= IGplbGx5 IGFra2E= LWVyYQ== RGVwcmVjYXRlZA== X0lNUEw= IE1vbnRocw== X0lURVI= IGFydGU= IEhlYWRpbmc= IEJvaA== IHByYWc= IGRvd25zdHJlYW0= IEJPQVJE X2tleXdvcmRz IE1ldHJvRnJhbWV3b3Jr KS0o PEV2ZW50 4bqldA== IFByZWNpc2lvbg== IE1SSQ== aGVyZW5jZQ== aXhv KSkpewo= KCk/Pg== IHNhYXQ= IFdhcmVob3VzZQ== X2F0b21pYw== IHZvaWNlZA== SXRlbUNsaWNr ICAgICAgCQ== LlJlc3VsdFNldA== L3BsdWdpbg== IGhhbGxz PWZvcm0= IFdhZ25lcg== ZW1haWxz JSUK VU5LTk9XTg== IFJpbQ== dWludHB0cg== IExpYmVyYWxz IHRlcnJpdG9yaWFs IE11cmRlcg== IExhZGVu IHByZXNpZGVudGU= KGNhcA== IH0sewo= YXZvdXJpdGU= ZmluZEFsbA== IGFwcGxhdWQ= IOuplA== L3Bob3Rv X3N5bg== LndhbGs= IHN1bnNoaW5l IHN0dWJib3Ju IGRvd25zaWRl IExURQ== LWJ1aWxkaW5n UXVlcnlCdWlsZGVy X2Rpc2FibGVk VGVycg== YWtyYQ== UmVmcmVzaGluZw== X3Byb2Jz IGZvbGw= PmI= IGNvbGxhdGVyYWw= JGVycm9y IGFjb21wYW4= X2l2 K2Q= YWp1 IOKd c3VybmFtZQ== LmFydGljbGU= IGJpY3k= IjoKCg== Pjw/PSQ= 0LrQu9GO0Yc= ZWNvbWU= RmluZGluZw== KHBk IHJlY3Rhbmd1bGFy ZXN0bw== aWhpbA== PScnKQo= IG1hbnNpb24= X2ZpbHRlcmVk YW5lZA== UFJPRFVDVA== TE9HWQ== X2ly LlJlbW90ZQ== IGV4ZWN1dGVz b3RlY2hub2xvZ3k= IFBST0NFU1M= IHJvd0luZGV4 Z2V0WA== TXV0 aW5za3k= KHN0cmluZ3M= IE1veg== Rmxvb3I= LlN0cnVjdA== X3ByZWRpY3Rpb24= IGNhcnJpYWdl IGNvbGxlY3RvcnM= IFdoZWVscw== IGJ1bmRsZWQ= YXhlZA== a29s X2Nyb3A= IGJsb29t QmVzaWRlcw== IG92ZXJyaWRkZW4= IHN1Ym5ldA== aWVuaWE= Kj46Og== IFByaW1pdGl2ZQ== IOag LkNoYXJhY3Rlcg== 6KGo56S6 IEFESEQ= Uk9Z SmFwYW5lc2U= T1VT OlVJQ29udHJvbEV2ZW50 IFBBTA== aXphY2lvbg== IGNoZXJjaGU= b3J0aW5n IG9yZ2Fz LlV0Yw== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= XERvbWFpbg== T1JB IHRlcnJhY2U= IHByaXM= CQkJCQkJCQkJCg== IHJhaWRz X2luY3JlbWVudA== IHVuanVzdA== JG9wdGlvbnM= b25DaGFuZ2U= Qmxvb2Q= RmlsbQ== IGhhbmRpbmc= IG11Zw== U09MRQ== 44OV aWNvbmR1Y3Rvcg== IElzbGFtaXN0 ICIiKTsNCg== LW92ZXJsYXk= LGNvbA== 6Zw= YXJyaW5ncw== X2NvbnRyYWN0 CWxs cGlw X2VtYmVkZGluZw== IHBlcm1pdGU= IG1vZGVt IHRyaWdnZXJpbmc= KGh3bmQ= LiIpXQo= IHNhbnQ= IGV4dGluY3Rpb24= IGNsYXNoZXM= LkF1ZGlv IHN1bw== Lm11bHQ= IHNlYXNvbmVk LlZhckNoYXI= cG93ZXJlZA== ImNvbnRleHQ= IG1lbmM= KEdyYXBoaWNz JHdoZXJl IHJlY3VwZXI= YWNrbGU= IG5ld0RhdGE= IEJyZWFraW5n ZXJnZWQ= IENQUFVOSVQ= IE11bGw= IGtvbW10 IExlZWRz JywnPQ== Lm5leHRUb2tlbg== IFJpZw== UkVUVVJO CXRpbWVy fV97 IE1hcmluYQ== IHNsb2dhbg== SVpFRA== T3BlbkdM X1BhZ2U= YXRpdmFz IGhhemFyZHM= J3ZhbHVl IGNvcnBzZQ== IEZsb3dlcnM= X29ubGluZQ== ZGFs IENvbGxpc2lvbg== w6BuZw== IGZlcnJ5 IHBva2U= IFRvdXJpc20= aW5lcmFyeQ== L1NldA== LkVtcGxveWVl PkA= LHZhbA== IE1pbGY= YXZleg== UmV0cnk= LiIv IHJvdW5kaW5n LXBsYWNlbWVudA== IGNlcnY= TWV4 IE1zZ0JveA== X3Npbms= bWFuaWE= X2NyZWRpdA== R3VhcmRhcg== IHZhbml0eQ== IGltbXV0YWJsZQ== IGNvbnRhbWluYXRlZA== 0LrQsNC3 5Liy YWNoYQ== IGhhdGg= IGVudW1lcmF0aW9u LmdldEJ5 4bq/dA== IERhbw== b2JpZXJubw== IEd1dA== X1BJUEU= LmFkdg== IEd1dGVuYmVyZw== YWRo 66y4 ZnVzYw== LlZL cHRh IEVNUA== LkZpcnN0TmFtZQ== IHJlYWxpemVz LmNn IHVuaXRl UExJVA== IEFiZHVs IE1FRA== UkFJTlQ= IHF1ZXN0YQ== c3RkaW4= IGNhbG9yaWU= CWdsQmluZA== IGFybWE= eWxsYW5k T01Q LXE= IEtoYWw= c2FsYXJ5 CUFORA== c2dp X3RoYW4= LWJ1aWx0 ICsvLQ== IG5hcmdz X2xhdW5jaA== IFNR em9u IEJlbmVk X3VuaW9u PigpOw0KDQo= IFNpbXM= IERhdGVz CUNvbm5lY3Rpb24= IFBlcmM= Z3JhbnQ= YW1waWw= IGFnZ3JlZ2F0aW9u ZXNlbGVjdA== X1NVUA== KHsKCg== Lm9t IHdt LmNvbnRyYWN0 LU9yaWdpbg== IGdlbWU= ZnJlZXpl TlVNQkVS LmN1cnI= IEdsYWQ= c2xh IFJlYg== 0LXRgdGC0LLQvg== YXJib24= L2NvbnRyb2xsZXJz U2xvdHM= LmRlZXBjb3B5 RlVMTA== dWlyZQ== QHN0dWRlbnQ= 4LmJ4Lit VHJhbnNsYXRvcg== IHByZWZlcmFibHk= Y2hlbWlzdHJ5 IEphY29icw== bmFy ICgiXA== bmVhcg== aWZpcXVl CWNvbHVtbg== IG1pbnV0b3M= aWdlcw== IGVzdGFibGU= LWRpc2M= KENoYXI= a292 ZXhhbXBsZXM= X18oIg== INC60LDQug== IEJvcmlz KGR4 c3By IG92ZXJoYXVs YXRvb24= IEhhcmxleQ== aWNhbWVudGU= 4paI4paI4paI4paI ZXZpdHk= dXNoZXI= LlZpc3VhbFN0dWRpbw== V2F2ZQ== IE5vcm1hbGx5 c3Rvb2Q= b3JuaW5ncw== IGhhbmRtYWRl KGxvZ2dpbmc= IGNhcmNpbg== YWNqYQ== IHN1cGVycw== IHNpZWdl CUlm IElMb2dnZXI= VUFSVA== QW5pbWF0aW9uRnJhbWU= IHRhcGVz IGFpZHM= IENvbG9uZWw= dmVlZG9y IG1kbA== cGhvbg== RGlzbWlzcw== QXZhaWxhYmlsaXR5 VW5pZm9ybUxvY2F0aW9u IGlkZWFscw== cXVldHRl a2VpdGVu IEVNQUlM IE5lYg== IHN1bW1vbmVk IGdvdmVybm1lbnRhbA== IEhvcnJvcg== Y2hhbmdpbmc= IEFjdGl2YXRl SWxs PHRib2R5 Y3JlYXRpdmU= IEJMRQ== IG1hZG5lc3M= T3JOaWw= IGhpbg== xZM= LkdldEtleQ== X2NvbnNvbGU= Ik91cg== IGd1aW50 IGFtaQ== IHJlZmxlY3RpdmU= IGNyYWNraW5n IFJp UkFM dXJzZWQ= cHVyZQ== IHJlcGFpcmVk IHRpZ2Vy IE5pY29sYXM= VnM= bnRo LmV4cHJlc3Npb24= IHNlYXM= X0FDQ0VQVA== IGZvcmM= IEZyYXU= IHRocmVzaA== IM+A KEJBU0U= X09wZW4= V3VudXNlZA== IERvbWVzdGlj KHByaXY= Z3Vlc3M= Ly8hCg== Z2V0SXRlbQ== KCkpCgoK bXV0YXRpb25z IHN0cw== IGRlbWVudGlh c3Bva2Vu JHBhcmFtcw== IHBhdHJvbnM= IHJ1bndheQ== IEJVWQ== Lldhcm5pbmc= IG5ldXRyYWxpdHk= emhvdQ== 0YDQsNGJ YWt0ZXI= IENvbnN0cnVjdG9ycw== w5NO IFByb2dyZXNzaXZl IEJ1cmdlcg== IGluY3VycmVk IGltcGxpY2l0bHk= X2Vudmlyb25tZW50 IGV4YWNlcmI= IGVuZHVyaW5n c2lj IFBhcnRpY2lwYW50cw== X0Jsb2Nr IGVucm9sbA== X2VtcGxveWVl IFBlcHBlcg== bGF1Z2h0ZXI= 44OW J107Pz4= PScu KHJlbmFtZQ== IHNoZWx0ZXJz IEFNQQ== X2dhcA== IFJFVVRFUlM= eGFtcHA= T01JQw== IHBlZGlkbw== IGTDqXZlbG9w X18oLyoh X29k d2VyZQ== X051bWJlcg== X211bHRpcGxpZXI= S0VFUA== IHNob3dlcnM= IG1hZ2U= IHNpbm8= Y3Jvdw== LmlkeA== X25vdGljZQ== dWVpbA== IG15cmlhZA== IEF2YWlsYWJpbGl0eQ== Y2VudHJhbA== IEFCT1VU IGluY29ycG9yYXRpbmc= IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCg== X3dpZGdldHM= IHN5c3RlbUZvbnRPZlNpemU= w7ZydA== L2pwZWc= IFNNVFA= KGJyb3dzZXI= Z3Vucw== c2V0dw== X0FWQUlMQUJMRQ== IGluY29ycG9yYXRlcw== L2FuZHJvaWQ= eXg= 5biD X2xhYg== IGxlYWtpbmc= IEhpbnQ= w7xuY2hlbg== LlNjYWxl IGZpcmV3b3Jrcw== IGxQYXJhbQ== YnNk YXhvbg== KHByZWRpY3Q= Q29uZ3JhdHVsYXRpb25z IFNwZWN0cnVt SVJD IEFkbWluaXN0cmF0aXZl IGltcHJpc29uZWQ= UlNwZWM= IHJldGFpbnM= IHNldHRsaW5n IGNpdGF0aW9ucw== IFdvcmxkcw== c3RyY29udg== b3VzYW5k IEJlZ2lubmluZw== IEFuZHJld3M= IFNoYXJvbg== RXhlY3V0aW5n Z3JvdXBJZA== YWRkRmllbGQ= IGV4cGFuZHM= IGtpbG9tZXRyZXM= bGlua3k= IGdycA== SU5BVElPTg== QnJpdGlzaA== IGNvbXBvcnQ= LkRhdGFHcmlkVmlld0NvbHVtbg== IFByb2R1Y3Rpb25z aWxkZW4= IHVuaXg= X2dhbGxlcnk= X1BST1ZJRA== b3JkZXJpbmc= X2Fubg== Ymg= LkRlc2lnbg== IHRyZWZmZW4= IHVuZGVybGluZQ== X251bXM= 7ZWc64uk KXY= dXNpemU= IGRpc2FwcGVhcmFuY2U= VG9Cb3VuZHM= IHBjbA== IFdpbm5pcGVn IFNoZXJtYW4= X2xhbWJkYQ== bmFudA== IHJvb3RWaWV3 LkZsYWdz IGNlbnNvcnNoaXA= c2VudGVuY2U= LnJlYWRJbnQ= X2Fzc2lnbm1lbnQ= IHZlcnNjaGllZA== IEZyYWN0aW9u IG5hdGlvbmFsaXN0 IGp1ZWdv IERlYWxlcg== IHByZWRpY3Rpbmc= YXVwdA== aGVsbQ== X1BSSUNF X0RT KCIjew== bGlmdGluZw== IHBvc2luZw== IE5TTXV0YWJsZURpY3Rpb25hcnk= IHNtYXNo IGFraW4= IGNhbXB1c2Vz IE91dGxpbmU= IEVsYXN0aWM= X0NoZWNrZWRDaGFuZ2Vk KElFbnVtZXJhYmxl c3F1ZWV6ZQ== cHR1bmU= X0ZST05U bWg= IOyDneyEsQ== UnVuV2l0aA== IHR1cm5vdXQ= c2libGluZ3M= KWU= X0FSR1VNRU5U IEdyaWRCYWdDb25zdHJhaW50cw== X1BPT0w= LlJJR0hU aWdnaW5z dGVsZXBob25l XEV4dGVuc2lvbg== IEFyaXN0 aXR1cg== IGZyaWVz X2R1cA== RXhwYW5kZWQ= LXJv IFdvcmxkd2lkZQ== IENvcms= w7Ns TGlt IGRlbm4= UHJldHR5 IGZ5 VHJpYW5nbGU= RmVhdHVyZWQ= KENvbW1vbg== X2VmZg== ICIiDQo= 4bubaQ== X0xJTkVBUg== IFJpY2E= IGNhZsOp IGFwcGVsbA== IG5pdmVhdQ== ICYs IGZhYnJpY3M= X1BsYXllcg== IGh5Z2llbmU= IGRpc2FzdHJvdXM= IHNoYXJlZEluc3RhbmNl X3BpdGNo cno= ZW5tZW50 TmVhcg== X1NUQVRT IHN0YWlu IEROQw== IGlzc3U= Xks= CXRyZWU= X2Jsaw== c2V6 bGFpbg== YW11 X293bmVk VVNBUlQ= Lmhhc0NsYXNz SVNPTg== IGZvZQ== dXNoZWQ= X1VOU0lHTkVE IGluZGV4aW5n IEZpcmViYXNlQXV0aA== IGxpdGVyYWN5 IFNVUg== IENvbHRz YmVjdWU= IEludHJv IGNoYW90aWM= IGFuaQ== IEFubmll xrDhu50= LmR4 ZGlzY29ubmVjdA== IGFyY2hpdmVk W0xpc3Q= PU4= LnByZXNlbnRhdGlvbg== UmVzdGF1cmFudA== IHJvY2tldHM= PWh0dHBz L29w IHB1cnNl IEtyaXM= IGNvcmFs c2V0UGFyYW1ldGVy IGlycmln UXVlZW4= TlNEYXRh IHZhc3RseQ== LkZpbGVz IGZlbWluaXNt KFN0cmVhbQ== IGF0cmli IGxpcXVpZGl0eQ== PEZpbGU= dHJhZw== W2NvbnRhaW5z IGhpbmRp CWNw aG9tZXBhZ2U= IHN1cnBhc3M= IGRheWxpZ2h0 YXV0aG9yaXpl IENvbnNlcXVlbnRseQ== QXN5bmNSZXN1bHQ= IERpYXJ5 LlBhdHRlcm4= LiovCg== ZW5zY2hhZnQ= IEp1ZGljaWFyeQ== QWR1bHQ= KCY6 IGplb3BhcmQ= IEJsaXp6YXJk IGdn IjsvLw== WEhS IHBhc3N3ZA== Pn0= JyksJw== IGNvbXBhcmF0b3I= LmNoYWlu IGluc3VyZWQ= X0VER0U= IHR5bGtv X01BSk9S d2F2 XEZpbGU= RW50cg== J2FwcA== IGZvcmdpdmVuZXNz CWRzdA== Ijot Lm1vbg== ICgKCg== IGNhcGl0YQ== IGluaXRDb21wb25lbnRz IHN3b3Jkcw== IE91dHB1dFN0cmVhbQ== IGhlYXJz IFNQQUNF LWluc3BpcmVk X2Jvb3Q= Lm5vbmU= LmdldElucHV0U3RyZWFt IGRldmlzZQ== IHBlZGlhdHJpYw== YW5zaQ== X3BhcnRpYWw= IHNoYXJk IGZ1cmlvdXM= IGRyYXdhYmxl JSku KGVt IEJha2U= CXBlcnJvcg== IFJlbGlnaW91cw== LSIr CQkJICAgICAgICAgICA= IFNlY3JldHM= KG5vcm1hbA== QUNFUw== IFN0b2NraG9sbQ== LW5vcm1hbA== IGFjY3VzdG9tZWQ= IGJvdXRpcXVl IFN3aW5n IGZpbQ== IFBV LlNvY2tldA== ICciJw== YW5q TWFudWFs IG11amVy IHBoeXNpb2xvZ2ljYWw= Y29udGFpbg== TWVyZ2U= IHN1YXM= ICd7Ig== bmVnbw== IHN1YnNjcmliZWQ= dG9hc3Q= X1ZFUkJPU0U= IGtuaXQ= IEFydGlzdHM= IGhlYXJ0YmVhdA== IGZpcmVmaWdodGVycw== c3Nh W3s= IHVuZGVyc2NvcmU= IGhpc3Rvcmllcw== aWdtb2lk RmllbGRWYWx1ZQ== VG9BZGQ= LkNv IEhhcm9sZA== QXZvaWQ= aWdoYm91cnM= b3JkZQ== IHRydXRocw== L2Fs IHdpcmVk IEl0YWxpYQ== IHNlcnZpY2lvcw== IEFVRElP ICciKw== IHB1bXBpbmc= IENsZW1lbnQ= w4NP 5Y6f Pm4= IHN0clNxbA== amRiYw== 4oE= CVNFVA== IEJVRkZFUg== Oi8vIg== IGNpcmN1bXN0YW5jZQ== VUlUYWJsZVZpZXdDZWxs LnZlcnRpY2Fs IEpvaG5z dG9saXN0 IGRyaXZld2F5 IGxlYXJuZXJz dG9iZXI= d2lubmVy LXlvdXI= LnN0YXRlcw== SE0= IGdyYWRpZW50cw== IHNlaXp1cmU= IG1hdGVy IGRldGFs IFJlZHVjZQ== KG1vdXNl IFJlU2hhcnBlcg== LXJvdXRpbmc= INi0 IGpvaW50bHk= IEZhbWls PE1lc3NhZ2U= ZXhwaXJl X3RyYWRl 4oCmLi4= IEZVTkNUSU9OUw== IHhlbg== IHt9Ow== RmFi IGZlYXN0 KERi Rmlyc3RSZXNwb25kZXI= xLFsxLE= IG1heFZhbHVl IC06 YXB0aWM= Lkdzb24= IFJvdmVy X2Nu bG91ZA== IGNoYW1iZXJz INC30LDQtA== LmZvcmVhY2g= LmdldEVtYWls 55+l Lk5vZGVz IFZX IFdhaXRpbmc= KFF0Q29yZQ== IHPDs2xv cnE= YW5ndWFyZA== IHJlc2VtYmxlcw== Oltb IGdlZA== X0VQ KEFjdGl2aXR5 IElzbg== IENydXNoZXJz X1JVTlRJTUU= CW9wZW4= IEhpZ2hsaWdodHM= w6lyYXRpb24= IHllbGxpbmc= IExJR0hU UGhvdA== dmVuZ2U= IFN1c3A= IENocg== LkRpc3RhbmNl YXJzaW1w bGljYXM= Lk1vbg== IHN1Y2tlZA== cHJpbnRlZA== bXV0ZQ== IHNldEVycm9y Lk9wdGlvbg== IGltcGFpcm1lbnQ= bm9pc2U= IHBhcnRuZXJlZA== w40= ZGVucw== aWN6 IHdhaXRGb3I= IG92ZXJsb29raW5n IEZPUk1BVA== IFRTdHJpbmc= IHJlbnRpbmc= CWNvbXBvbmVudA== LkZyZWU= IExhdW5jaGVy PWRhdGU= IFBvZHM= QUdNRU5U Q29kaWdv Qml0RmllbGRz IHViaXF1 LWNhcm91c2Vs IFNpbXVsYXRvcg== aW5vZGU= J10pewo= IEJhZ2hk IG5vcnRod2VzdA== aHRha2luZw== PCY= IHRyYW0= IGZvcndhcmRlZA== IGVycm9yTXNn X0FTU0lHTg== IEVudGl0aWVz LlBhcnQ= cmVhdHVyZQ== KFVyaQ== IERyaXZpbmc= IGludmFzaXZl aWdyYXRpb25CdWlsZGVy b3NhdXJz CXBvcnQ= IGJyYW4= aXR0aW5ncw== RG9vcg== IHsl KGxpbWl0 IHNxdWFyZWQ= IERJU1BMQVk= LkFjY2VwdA== LmJhc2VVcmw= LkVudGVy IC4uLikK IG93bA== IHNsYXRlZA== LmZlY2hh X1NFRw== PXsk IE9OTElORQ== T05Z INC00LDQvdC90YvRhQ== b250ZQ== X0NMSUNL U2E= SW1wb3J0YW50 IGNhcm91c2Vs IGFwcGVhbGVk IE5pZQ== L2Jvb2s= W10+KA== IHhtYXg= IGxhbmdl LlN1cHByZXNz IFRoaW5raW5n QWRkcmVzc2Vz IFNhbGx5 LVRW IENoYXJsZXN0b24= KSIKCg== IHRhbGx5 IHVsbA== IGxvY2FsZXM= ZXdhbg== IGluY3JlbWVudGFs 65Cc IGNhcmV0 anVyZQ== IGRvcg== IGxvY2FsaXphdGlvbg== IHNlYWZvb2Q= IFJ1YmJlcg== LlRoZXJl IEZpc2hpbmc= WVlZ bWFnZQ== IEZsZXhpYmxl IEdFTkVSQUw= ZWth IHRocml2aW5n IHNpcw== IGJvdXJnZW9pcw== RmFrZQ== LFwi INC+0LQ= Q09S LWVmZmVjdGl2ZQ== IHNrdQ== ZWRseQ== IyMKCg== IEhvbGx5 IEZMQVNI L1RS Lm5z cHJvYmU= Z2lmdA== b3dpdHo= LW5hdmJhcg== IHNhY2s= 57qn IFRocmVhdA== WkE= WE0= JyksCgo= IExMVk0= YXN6 RWRpdGVk V2l0aFN0cmluZw== U2lsdmVy eW5h X3JlbmRlcmVy CURFQlVH KG9wZXJhdGlvbg== IFNsb3Rz IEF1YnVybg== eGVj IGhvbW9zZXh1YWxpdHk= LlJlc3RDb250cm9sbGVy ZXJzaXZl IHByb2ZpbA== IE15YW5tYXI= cm9zc2U= X0lSUW4= IHNlbmRNZXNzYWdl IHRlY2huaWNpYW5z IG1hbmU= Y29tbW9ucw== IHNocmVkZA== Qm9vc3Q= IHN5bXBhdGhldGlj LWVmZg== IENlcnRhaW5seQ== IHfDpGg= IFJvY2hlc3Rlcg== dWNjaQ== dXJt ZW1wb3I= ICIiOgo= LXNwYWNpbmc= IHNpeHR5 IOKckw== X3JlcG9ydGluZw== V2ls b3lv IGRpZFNlbGVjdA== LmdldExvbmc= LnNldEVycm9y X25j IERvbmc= CWFzeW5j IEhpZ2hseQ== XToNCg== TGVha3M= LC4uLgo= dmFsdWF0b3I= ZGljdGlvbnM= b3hlbA== IGdlc3R1cmVz PSI/ YmFncw== IFJlbGllZg== c3Vic2V0ZXE= KG5hbWVzcGFjZQ== fXw= IG1pY3JvYmk= IHB1cml0eQ== Y2hpbw== fT8= X01VVA== X2FjdGl2YXRpb24= IFBpcmF0ZXM= ICUj aWZpY2FjacOzbg== 5Ys= IE5SQQ== w6dvbg== fSkoKTsK IENoZXN0ZXI= 4oCT4oCT Z2V0Q29ubmVjdGlvbg== LmFyZ3VtZW50cw== RmV0Y2hpbmc= IEZyeQ== IERpdA== IHppY2g= cGFzdA== LWxpYnJhcnk= IEhheWVz IGJvdW50eQ== IFNwcmluZ2ZpZWxk UE9S IEFQUg== IEVtYmFzc3k= UVVFU1RJT04= IFNvbGRpZXI= ZXJ0YXM= IE5PUk1BTA== IGR1cw== Ym9sdA== IGRvcnQ= IExpZnQ= IGdldFJhbmRvbQ== LlJ1bldpdGg= LCksCg== IHZhcmFyZ2lu IGhhbmRsZUNsaWNr XEh0bWw= IGhvbW1lcw== Y2lkYWRl KGVw SmE= L2RpYWxvZw== LnJhdGU= IFdlaQ== ZnVsbHNjcmVlbg== IE5Vbml0 Lm1lYXN1cmU= VmFscw== IFNpZ25lZA== IHJ1cw== IHJhZnQ= IEJsb25kZQ== IG5ldHM= IE1ldHJpYw== aWNoVGV4dEJveA== IHVyZQ== IGludGVycmFjaWFs ICd9Cg== KHN0b3JhZ2U= SW50ZWdyYXRpb24= IGJhbmNv QVNZ IGppbnQ= IGRlZ3JhZGF0aW9u IEhBTkQ= dWVyZG8= PScn IHN0cm9rZXM= cmV3cml0ZQ== KFNldA== IE1hdERpYWxvZw== IGRvc3NpZXI= CWFuZA== QURESU5H IG11dHVhbGx5 IHByZWNlZGVk fX07Cg== IHN1YnR5cGU= IHJlc29sdmluZw== IGdlb21ldHJpYw== W2NvbHVtbg== IENUUkw= IEhM IGRhaA== ICg7Ow== UmFpbHM= w5w= IEdlbmVyYXRlcw== LUxlbmd0aA== cGVkbw== b2dlbm91cw== IFJvYmVydHNvbg== LkJvb2w= b2RlcnM= X0FHRU5U cGFzc3dk IE5vZGVz LmJp IFdC IHByb3BoZXQ= c2xhdmU= IOW8 IHdlaWw= JTwv IGNhcmJz 5rC0 IGV4cHJlc3NseQ== XHhk LWV5ZWQ= IENyZWF0dXJl Y29udGFpbmVk KFNJRw== IEVuaGFuY2VtZW50 IENvcnM= R2Fs X1NJR05BTA== cmVpbnRlcnByZXQ= IFFQdXNoQnV0dG9u X05vbmU= IGdlbm9jaWRl IFNlYWw= 5LiK5Lyg KHBlcg== 0LvRjNGC IMOgcw== LlRlbXBsYXRl ICkNCg0K LnNpbmdsZXRvbg== CXNsZWVw IHNwYXduZWQ= IHBvc3Nlc3Npb25z Z2V0Q29uZmln IHRhaQ== bHVkZQ== IE1ldGVy IGJpYmxpY2Fs bWFyc2hhbGxlcg== LlRvb2xraXQ= IExlc2JpYW4= LnNtYXJ0 IGJveWNvdHQ= IGZyeQ== LWRlc2M= X1NlcnZpY2U= IG1hY2h0 IENhaXJv w6Bp X3ByZXZpb3Vz LnRyYW5zcG9ydA== TWVkaWNhbA== Q0dQb2ludA== UVVBUkU= IGJyaWdodGVy IGNoZWNrQm94 IEZPVU5E LmJyYW5jaA== IGJsYWg= IFByZWx1ZGU= T2ZmbGluZQ== TGlzdGluZw== LyoqLyou IEpS cGhhbnRz Z2V0WQ== LkZpbmRDb250cm9s Ii4uLg== 0LrQtQ== SFJFU1VMVA== IGNoZWNrbGlzdA== KGFzdA== IGJvcnJvd2luZw== 4oCmYW5k INCX IHByb2N1cmVtZW50 LXRhc2s= X2hhbA== UGxheWxpc3Q= LnN0YXI= X1NVUFBPUlRFRA== QVNN JUE= cmVzdHJpYWw= INC40YHQvw== IHBhZ2Vy IERpYWJldGVz IE1haGFy dGFu QWN0dWFsbHk= Pi8v IFhW 4KeN IHNlamE= LnZpc3VhbA== a2tlcg== XTsKCgo= IHR5cGVOYW1l LkJ1dA== Q2xpZW50UmVjdA== aWNhbHM= IERqYW5nbw== IFJhcGU= IHBheWRheQ== KHJlc291cmNlcw== LmJpeg== dG9p KFJ1bnRpbWU= IER5bmFtaWNz IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24= KHR5cGVz IFRhYnM= Lk1pZGRsZUxlZnQ= eGFi IF8o IERyZWFtcw== X0dyb3Vw KGNvcg== TGVhZGVy IGdyYWR1YWw= KEJpZ0RlY2ltYWw= IHRleHRhcmVh bGV0aW9u IEZpbmlzaGVk IFBvbGU= IHRhcHBpbmc= Jig= IGZsaXJ0 IHRlcnJpZmllZA== IHBhZHk= ZXJlZw== ZWxkb20= IHN0YXRpb25hcnk= IHBvbnk= IFJFR0lTVEVS X2FjY2Vs IEhlcno= IG1hdHJpeg== IENhZg== eGFj YXNjdXM= IGVubGFyZ2U= QUNIRUQ= eXl2YWw= IHNpYw== IENhbmFs OnY= PT8s IEltcHJvdmVtZW50 P30iLA== TlNPYmplY3Q= IGVzY2FwaW5n IE51bGxhYmxl IGjDpA== d2FudA== RWxpbWluYXI= IENMTG9jYXRpb24= IHJldXNlSWRlbnRpZmllcg== QnVmZmVyU2l6ZQ== w59lcg== IEFza2Vk J11dLAo= IHNoaWVsZHM= Z3JhbmQ= IFRvd25zaGlw IFB1Yk1lZA== ZWN0bA== Zml2ZQ== IFJlYWN0aXZlRm9ybXNNb2R1bGU= IEdMZW51bQ== RGFy aWZhY2U= LWluZGVudA== Rm9ybXVsYQ== LnNuYXBzaG90 Q09NUEFSRQ== IGJlbHRz CWNhY2hl bGRhdGE= IGVkYWQ= IEJPWA== KGNhcnQ= X0xBWU9VVA== IGZmbHVzaA== IExPUw== IFNvcnRlZA== LnNsaWRl IHRpamQ= IFRleGFucw== IFB1cmNo IExldmVscw== IHNlbWFudGljcw== IFRlaHJhbg== Ym1w LnVybGVuY29kZWQ= X3hsYWJlbA== KGd1bHA= IEJ1dHRvbnM= IEJyb2tlcg== 55uR5ZCs JGVtYWls 2ZA= IGNsYXNzaWNz Y29tcG9zZQ== KGJz IHVuaGVhbHRoeQ== RXhlcmNpc2U= Y3JldHM= IFBhcnM= IERldGVybWluZXM= YWZvcnQ= KG9icw== IG5hc3Q= IGlocmVu IHJveWFsdHk= c2VyaWFsaXplcg== aWV1eA== ICAgICAgICAgICAgICAgICAgICAgIAo= ZXhlY3V0aW9u IHZpZXdDb250cm9sbGVy IHJlcHJv LnBl IGNhcGl0YWxpemU= 5Ye7 IHR1bm5lbHM= LkRBVEE= cGlyaXQ= Q29sbGVjdGlvbnM= KX19 IE9E IGZ1enp5 SW1tZWRpYXRl bGo= Oz8+Ig== W3Zhcg== IHZvbGF0aWxpdHk= cmVnbG8= IHByb2xpZmVyYXRpb24= IG9yYWNsZQ== IEN2 IG51bmNh UFJJTlRG IGJyZWFrcG9pbnQ= LkVO IGJlc3Rlbg== IHJlYmVsbGlvbg== UGF1c2Vk IGZsb3du IHZpY2luaXR5 d3JpZ2h0 LGNw aXNjaW5n b3VjaGVycw== QXNo eWFy IEVq cmVwcmVzZW50ZWQ= b2RpYw== LmNyb3Nz IGNyZWF0aW9ucw== IFBhYmxv ZmVzdA== IEhpbHRvbg== UmVwb3J0ZXI= IERpbA== aWxlbmFtZXM= IGV4cGVuZGl0dXJlcw== X0VESVRPUg== IEFyaWFs IHBsdW5n IHVubmFtZWQ= T3JFbHNl IHJlY3JlYXRl IEhlYXJ0cw== PmFsZXJ0 LmdldFBhc3N3b3Jk IE11c3Rhbmc= Vks= IGFjY29tcGxpc2htZW50cw== QXBwZW5kaW5n IENheQ== IFVzZXJNb2RlbA== IHN1YnN5c3RlbQ== TGVnYWw= eW5jaHJvbml6ZQ== X1BFUk1JU1NJT04= IEFwYXJ0bWVudA== bGlnZQ== IGFmZmlsaWF0aW9u KERFQlVH VHM= IENvbG9yaW5n IFdvaG4= bmljZQ== KGxpc3Rh 4LE= cGxveW1lbnQ= 44G+44Gf 5aW9 c3Vic3Q= J11dWyc= YWJvbA== PSdf 4KeN4KY= b3JwaGlzbQ== LmxpdGVyYWw= IFBsdWc= IG13 b21hbA== ICInIiw= dXNp IHNpZ2hlZA== aWN1bHR1cmFs Lios IFByb3N0aXQ= KGNvbnNvbGU= SVBMRQ== IFRyYXA= WFI= IEVkaXRvckdVSUxheW91dA== X3ZvY2Fi IGluY29tcGF0aWJsZQ== IHVuY29uc3RpdHV0aW9uYWw= LWxh IGVyb3RpcXVl IGRlcHV0aWVz cXVpc2l0aW9ucw== bmV3VmFsdWU= YWRpYQ== IGh3bmQ= Z2luZ3M= IFZhcw== IEluY3JlbWVudA== IEZsaW50 YW1iaWE= X1BvaW50 LWRpc3BsYXk= IEZ1bm55 LnRvYXN0 LmRhcms= QmluZGluZ3M= IGRlc2NyaXB0aXZl YXJlbmQ= LlJldA== IHJlY3Vyc2l2ZWx5 IE1r IFRJTEU= LmNyZWF0ZVRleHROb2Rl IFJBVw== IGluZmx1eA== 54mp VG9r LWJvYXJk UmVjb3JkaW5n U3RyZW5ndGg= IHJhaW5mYWxs KGRk LmZ4bWw= bmV0cw== LkltYWdpbmc= IEJJT1M= XSsi T0U= IHJlc2lkZW5jeQ== WkU= V0I= LnNwYW4= X2RlZmluZWQ= Qk9U Pm51bGw= Zm9ybURhdGE= Q3BwTWV0aG9kSW5pdGlhbGl6ZWQ= X1VTRVJT IE5vdmVs aW5za2k= PntA ZXR0bw== bmF0dXJhbA== IFN0cmljdA== Onc= LnNhZmU= IHRvd2Vscw== 4bqtdA== LmdzdWI= 66M= aW5xdQ== IGFpZGVz IGluY29t Z2V0dGVy IHdhc2hlcg== YWN0b3JpZXM= IGdldHRlcnM= bWl0ZQ== X3NvdXJjZXM= IGhhcm1sZXNz IHVub3M= cHJlaGVuc2l2ZQ== IG5vZG8= IGdlb2dyYXBoaWNhbA== IFNlbGVjdExpc3Q= LlNjcmlwdA== LkVudW1z IEVOVEVS d2FsZA== IEJhcm9u IHBhcnRpY3Vs LmN1cnJlbnRQYWdl QFRyYW5zYWN0aW9uYWw= W2xpbmU= CWRlcw== SmFzb24= LmdldENvdW50 IFBlbm55 IFBheWxvYWQ= c2hhcnA= W3JpZ2h0 dmVudGE= IGFwbA== IHByb2R1aXRz IG90dA== VHJhY2tz LkFuZHJvaWQ= IHNpbGljb25l IEVMU0U= YW5pbWF0aW9ucw== dWx0dXJlSW5mbw== IGJsdWVwcmludA== b2ZzdHJlYW0= IFtdW10= IFNlcnZl IHRyaWc= CXNlcnZpY2U= IFN0cmF0 IFNhdmFnZQ== IG9ianM= IE5vdGlmaWNhdGlvbnM= LHBvcw== VGhpbmc= IFJCSQ== b3BhdGh5 IG5hdWdodHk= bGJz ZXByb20= PiIu IHBpb25lZXI= IGphcGFuZXNl QXVk IGFsbGV5 IFBldHNj J10/Pg== IEtpbGxlcg== LmdldEFic29sdXRlUGF0aA== X2NhcHM= xas= IHN1YnN0cmF0ZQ== LmFzc2VydElu 7JWE IHRoeXJvaWQ= IERlbHV4ZQ== IGZhY3RvcmlhbA== IHByZXNzZXM= IEFjY29t PW9wZW4= LmdldFM= IGV4cGxvcmVy IHJlc2lkZXM= QXNzb2NpYXRlZA== IHRyYW5zZm9ybWF0aW9ucw== VHU= IFJpY2hhcmRz X2JpcnRo PSN7 LXNwZQ== KG5k IHZpc3VhbHM= X3N0YW1w IHRlcm1pbmFscw== cm91dGluZQ== KioqLwo= IEphYg== S0w= Q29udHJpYg== IHNvdXRod2VzdA== IFBlcA== CWVudGl0eQ== IGxpbmVy LlN0YXR1c09L IFNjaHVs KENM IG1pam4= YXN0b3M= X2RpZ2VzdA== IHBlcnNpc3RlZA== LWNvbnRhY3Q= IG9kb3I= IGRpc2NvdmVyaWVz X0ZJRUxEUw== Rmx5 IHJ6 IExpc3Rh UmVzZXJ2ZWQ= dGF4b25vbXk= KXNlY3Rpb24= LyIpCg== L3JlcXVlc3Q= IHNvbWVkYXk= Y2l0aWVz L2ZpcmU= IG9iamVjdGlvbnM= CURFQ0xBUkU= Lm5hdmlnYXRpb25JdGVt LnNldGRlZmF1bHQ= cmV0dXJuVmFsdWU= VUNDRUVERUQ= IG9ibGlnZWQ= IFFhZWRh IGh5c3Rlcg== ZXN0aGVz ZGlzdGluY3Q= w6B5 IENvbWJv CXNm IOKK IGRpc2NyZXBhbg== IGluc2lnbg== IFJFU1VMVFM= IFZhbGlkYXRpb25FcnJvcg== IEh0dHBSZXNwb25zZVJlZGlyZWN0 CVFTdHJpbmc= IGF1dG9mb2N1cw== RHVy IFJFTEVBU0U= LWRvbGxhcg== LkNvbW1pdA== IGtow7RuZw== IGxhdW5kZXI= Lj0i IOaWhw== IGJ5ZQ== LkdldEtleURvd24= IGdpbw== X3NpZA== IGdxbA== LmNt X1NMT1Q= LkdldEluc3RhbmNl cmV1c2U= LnNodXRkb3du IGplcnNleXM= X01Q cGF0aWJpbGl0eQ== IOiuvue9rg== IHJlcGxhY2VtZW50cw== IHByZWNlZGVuY2U= IGJ1ZmZlcmVk LmJz X0dSRUVO YnJhaW4= w6FjaA== YXZhaWxhYmlsaXR5 IEVURg== IGZyZXQ= aXN0aW5l IGxpZnRz RXhpc3Rpbmc= IHN0ZXJlb3R5cGVz IGVtcHQ= bW9uZ28= LnRyYWluaW5n YWxpc3Q= LklzRW5hYmxlZA== ICIh PD8K dWlkbw== IGludFZhbHVl LmVsYXN0aWNzZWFyY2g= TE9HSU4= IHJlbGlhbmNl IHZpZXdUeXBl IGRpbWluaXNoZWQ= U2FyYWg= IEFwcHJvYWNo X1dFQg== IGRybQ== IGNvbHVtbmlzdA== TWFya3Vw IGFxdcOt IERpYW5l IGN3 IFRpY2s= Lm9ic2VydmU= SVJPTg== SW5CYWNrZ3JvdW5k IGVib255 IENvdXJ0ZXN5 Om51bGw= KioqKioqKi8KCg== L3Jlc291cmNl SXRlcmF0aW9u ZGVmYXVsdFZhbHVl YXR0ZW50aW9u INGA0LDQsdC+0YI= IHdhaXZlcg== IHByb2R1aXQ= IEdyYWRpZW50 IHBlcmNlbnRhZ2Vz IFNBTA== IE1k KHNuYXBzaG90 CWlv aWtlcnM= V2VicGFjaw== IHNldFBhc3N3b3Jk IGRlZmVhdGluZw== IEplZw== ZWxhcHNlZA== aG9sZHM= X3NoYWRvdw== IG9mZmVuZGVk IFBhbnQ= IENhbGxhYmxl X0lORk9STUFUSU9O ZmZlZQ== KGVtcGxveWVl IFlBTUw= cG9zc2libHk= IG1heGltYWw= ZWxsdWxhcg== IFNueWRlcg== ZGVzY3JpcHRvcg== IFBMRUFTRQ== RGxnSXRlbQ== IGFydGlsbGVyeQ== YH0K cG9zaXVt IGxlZXI= JWM= IGRpc3Bvcw== Lm11bA== IGdlb2dyYXBoeQ== IGdyYXBoaWNhbA== IGRyYW5r IG1vdGlvbnM= IHJ1dGg= KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio= IHByb2R1Y3Rpb25z IGNyZWF0ZVRpbWU= IFNjcmlwdHVyZQ== YmJi dWNocw== 5LiN6IO9 LkJpZ0RlY2ltYWw= c2l6ZXM= X3NvbHZlcg== X0Zyb20= X2pvaW50 IHBhdGhsaWI= IGdlYXJz INGE0L7RgNC8 IGNvbmNlYWw= IGRpZmZlcmVudGlhdGU= PEdhbWVPYmplY3Q= IGplZGVu IGFsbw== Z2xvYmFscw== ZXJ2YXRpdmU= IHBhZGQ= IFBseQ== X3R5 IHByZXNlbnRl IHByb3ByaWV0 X2xz IFB1bmNo IENyYXdmb3Jk YmVsb3c= Q3BwR2VuZXJpYw== IENPTlRST0w= IG9jZWFucw== IFJPVVQ= IHJhbmRpbnQ= CWFkZHI= IEhvbmVzdA== IGVudmVsb3A= IHRyYXVtYXRpYw== IExBVA== IHRn 7Iqk7Yq4 RXh0ZW5kZWQ= IHVuY2hlY2tlZA== IG9ic3RydWN0 X3RpbWV6b25l UGVyc2lzdGVudA== IGxsZXY= LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo= IEZsYQ== LnBoeXNpY3M= IGZvcmdlZA== IExhdXI= IG1vbm9wb2x5 IGNocmlzdG1hcw== Z292 IFNtb2tl W2Rm IGJpc2hvcA== bG9jYWxPYmplY3Q= b3JyaA== b250dmFuZ3N0 ZHJ5 IGVyZm9s LWNl IE9yZGVyZWREaWN0 IGh4 IFJFU0VU U3Vj IHJlY2tsZXNz YWxhbWF0 QmlnSW50ZWdlcg== IGJ1bGJz IG11dGU= 5pS+ LlVsdHJh TG9u IGNsZWFyVGltZW91dA== PFJpZ2lkYm9keQ== c3dpcGVy IENvbWVz XGRi CW1w IHJlc3Rz TW92ZWQ= IExvcmU= LkRpbWVuc2lvbg== IE1hbml0 Lmh4eA== PT09PT09PQ== cGl0Y2g= ZmZpZWxk c2tpbGxz X2FsYnVt dHJhbnNsYXRlZA== IFhJ IHZlaW4= IERhdmlkc29u IEF1Y2tsYW5k eXNzZXk= IGF1dGhlbnRpY2l0eQ== IEFzc2lzdA== IGNvbXByaXNl Q3JlYXRlVGltZQ== IHRyZW5jaA== LndlZWs= LS07 IFVJQWxlcnRDb250cm9sbGVy X3JlbGF0ZWQ= Q01T cmVtZWx5 IGxleGVy aXJtd2FyZQ== RWxlbWVudHNCeQ== LXVwcGVy IHN0YWdu LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ== X3NuYXBzaG90 L1hNTFNjaGVtYQ== X09yZGVy IGFubmV4 X0VOQ09E IEFsdG8= YXJpb3Vz REo= IGFib3J0aW9ucw== Q29tYmF0 IExpY2VuY2U= dWdnZXN0ZWQ= W0s= LCkpCg== KCcvLw== LkNhbg== c2Vjcw== cXVvdGVz X3RyeQ== IFNhZ2U= IE1vdg== J29u cmVnaXN0 IFdyaXRlcw== IERpZ2VzdA== CWNvbnRhaW5lcg== LXByb2dyZXNz IGdvYXQ= X3NjaGVtZQ== LkdldENoaWxk IGFzeW0= Lm15YmF0aXNwbHVz YXRpY2E= cGdzcWw= X2Fzc2V0cw== Pks= IGFmaW4= TlNT IE5BVg== KCcuJyw= IGAi IGF1ZGl0b3I= X01PVVNF IHdhbGxldHM= IG1vdQ== cnVucw== ZXRlcmFuZ2Fu IFJlc2VydmF0aW9u IGV4cGVyaWVuY2lh CXByb2Nlc3M= LWltcG9ydA== X1JldHVybg== IE1hY3Jv IFBlbmlz cGl4ZWxz IHNldEVtYWls KE1pZ3JhdGlvbkJ1aWxkZXI= KHhz IEVzdG9u IEJ1YmJsZQ== QUxMT1c= CWhhbmRsZXI= JHJldA== IGNvbXBsaW1lbnRhcnk= LWNpdHk= IGVsbG9z IFNPVVJDRQ== IEFkdmlzb3I= b2xvZ8OtYQ== IGZhZGVk LnBj X1JHQkE= QUZY IHJlcGF5 IEZhbGNvbnM= X2lzc3Vl b21pZG91 LmJhb21pZG91 IGluZnJpbmdlbWVudA== dXJuaW5n L3N0b3JhZ2U= X3F1YW50 IFF0Q29yZQ== IG1lbGw= X2RlbnNpdHk= IEtub3g= IFN1cnZpdmFs LmdldFVzZXJuYW1l IGNvbW1lcmNpYWxseQ== Z3Jhc3M= IG1laXM= 5Lq/ IFBlcm1pc3Npb25z X1FVT1RFUw== aXBob25l IExPVA== IHRocmlsbGVy IENoYXBlbA== IFJpcw== Pmk= LUlE IHJpZ2h0bHk= Q3J5cHQ= IElzdGFuYnVs cmVkcw== X3Jlc2l6ZQ== UG9wdWxhdGlvbg== KGZldGNo IEhPVA== OmZpcnN0 IGdhZGdldHM= UHlPYmplY3Q= IG1lcmdpbmc= ZHVjZWQ= bGVnYXRlcw== dWJlY3Rs JS8= YWxsZWU= IHp1c2FtbWVu LlByb3BUeXBlcw== YXN0bw== Oio= cmVjZQ== UmVzcG9uc2VUeXBl L2dyb3Vw IGJhcmJhcg== IENhcm9saW5l b3VyY2Vk 57uP IGx1YnJpYw== aW5zcGVjdGlvbg== YW1tYWQ= CUltYWdl IGllcnI= IGN1cnRhaW5z X0FSQg== IE9yYWw= IGFsbGllZA== IFN0YXR1c0NvZGU= IENsZWFybHk= UHJlZmVycmVkU2l6ZQ== cXVpbmE= IHNwb3M= IG9wdGltaXNt IGNvbXByYXI= IGx1Zw== IEJvb20= Y29uZmlybWF0aW9u X0RVUkFUSU9O X2Jyb3dzZXI= IHJlcGV0aXRpb24= IGtlZXBlcg== IGFkZFRv KGpz LlN0YXQ= LkNvbmQ= IEhlcm5hbmRleg== cGFxdWU= IHZvbHVudGFyaWx5 IGplcms= IExleQ== IGRvY3VtZW50bw== X2RlYWQ= IFRFQ0g= IGluY2VwdGlvbg== KCJ7fQ== IG9uTG9hZA== eGRk IElTUA== c3BlY2lmaWVk IOusuA== UFJPQ0VTUw== KGFsZXJ0 Lk1N IGNyZWF0ZVN0b3Jl KHVuaXF1ZQ== LmdldEJsb2Nr 656Y dW5vcw== IHRyb3BoaWVz X2hvdmVy IERhZGR5 Lk1l IENPVVI= T0JK YXRlbWFsYQ== IFBzaQ== IG5vcm1hbHM= YWNpZXI= IE1CQQ== IHBhd24= z4U= IHNwb250YW5lb3Vz IGF1eGlsaWFyeQ== IGluYXVndXJhbA== IGZhc3Rpbmc= IEZpbGVTeXN0ZW0= IHplbg== X0JMVUU= IHN1YnRyZWU= IHByZXByb2Nlc3M= LXRyYWNr Q2hhcmxlcw== IGRlcG9zaXRlZA== IHF1ZXJ5UGFyYW1z 0L7Qu9GM0LrQvg== aWVtYnJl IHByYXc= eEZD IHBhbmM= X25vbQ== aGVyb2Vz Lmphdg== OjokXw== INin2YTZhQ== U0dsb2JhbA== 5o+P6L+w PXRlbXA= ZXN0aQ== IGNvbnN0cnVjdGl2ZQ== IFNoaW0= IERpcmVjdGlvbnM= IEJpbmc= ZGlydHk= LXJ1bm5pbmc= X2ZpbGVwYXRo b3JkZXJJZA== Z2FyZA== X29yaWVudA== IHNjb3V0 IHBzeWNob2xvZ2lzdA== 7LY= IOWt ZGVxdWU= IEhlcm1pb25l IFBvd2VyUG9pbnQ= IGVsbGE= IFVJQmFyQnV0dG9uSXRlbQ== U3Vidmlld3M= QFJlcG9zaXRvcnk= IiIiCgoK IHJldG91cg== IGNpcmNh R3JhcGhpYw== IEdyYXR1aXQ= ZGR5 IHRlY2huaWNpYW4= IENsZWFudXA= IHBlcnNvbm5l IHJlc2lu Lk11bHQ= JG0= IE9yY2hlc3RyYQ== IHdoZWVsY2hhaXI= LlND CUdhbWVPYmplY3Q= IG1vxbxl T3BlbmVk IGNoaWNrZW5z b3Rhcw== X3RlbXBlcmF0dXJl IGRldGVjdGluZw== IGFjcXVhaW50 IDw/PSQ= Pl0= IG1lbnN0cg== IGR5ZQ== Um9ib3Rv LnVuaXRz IFZpbnls Y3VyYQ== cnlwdG9u ZWRk PXRlc3Q= IHRyb3Y= Q29uZmlybWF0aW9u IHRoZW9sb2d5 IEhvbGRpbmdz dWF0aW5n UHJlZGljdA== W3VzZXI= IDon IFNlc3Nv cGFyZW50SWQ= Q29kZUF0 YWJibw== IFRyZXZvcg== IFF1aXQ= X3NoaXBwaW5n X1JB IGtsZWluZQ== 56Y= X0xhYmVs IE9tYXI= IEdSRUVO LykK cm9r IHJvYXN0ZWQ= X1JU IOKAjg== QFJ1bldpdGg= Pk5O IHRhbmQ= Kycu Y3J1ZA== LmtleWJvYXJk YXN0ZXJ5 QkFE IENvbHVtbnM= LkNvbXBhbnk= IHNlbWluYXI= IGdldENvbnRlbnRQYW5l IGNhdGFzdHJvcGhpYw== IGVtYnJvaWQ= aWF0aXZl IGNydWVsdHk= Ymlz IGluc2U= IEJyb2tlbg== CWZz IG1WaWV3 0LDRhtC40Lg= LWZhY2Vib29r IGNhY2hlcw== 44CC44CCCgo= IE9STQ== IERpc3RyaWI= IFNjZW5lTWFuYWdlcg== X3RyYW5zaXRpb24= b21leg== IFNIRQ== IHdvcmtsb2Fk U3VwcG9ydGVkRXhjZXB0aW9u IHJpZXM= IOWc KGNhdA== SGFzTWF4TGVuZ3Ro QXBwcw== LlRBQkxF IEtleVZhbHVlUGFpcg== ZWRpZG8= LlJlbmRlcmluZw== IGVsZWN0cm9t IGFyYml0cmF0aW9u IHZhcmlhYmlsaXR5 YXBvbGxv IHV0bW9zdA== b3BlbnNzbA== IGjDpQ== KCcm LlN0YW5kYXJk IGRpc3RyYWN0aW9u aWZheA== IOuVjA== dGhvc2U= aXNwZW5z dmFr IFNVUA== IElzUGxhaW5PbGREYXRh LGtleQ== ZnJhZ2lzdGljcw== IEpveWNl IEZpYmVy LlNlcnZsZXRFeGNlcHRpb24= X0FsbA== IGJhY2tlcnM= IEF0dHJpYnV0ZUVycm9y ewoKCg== QHlhaG9v LWRpcmVjdG9yeQ== IHVuaW5zdGFsbA== IGZsdW9y bGlxdWlk IGzDoQ== IGZyaWdodGVuaW5n YWRhbg== IEFVVA== IHRhdHRvb3M= IHByb3BhZ2F0aW9u LnRyYW5zbGF0aW9u 0J/RgA== X3NjaGVkdWxlcg== 44CC4oCc IGNhaXJv IEh0dHBDbGllbnRNb2R1bGU= IE5EUA== IEhpdHM= IFRyYW5zZm9ybWF0aW9u IENhZXNhcg== c3RpbQ== IEJ1cnRvbg== d3lu IGNvbW1hbmRlZA== IENsb3RoaW5n IFJ1bnRpbWVPYmplY3Q= cmVhbGx5 Y2xh LnNh IFNoYW5ub24= IGNvbW1pc3Npb25z IEphbmV0 IGRpc2d1c3Rpbmc= IG9wdGltdW0= X3NvbA== dXJvbnM= IFNIQVJF QXR0cnM= IFNjaGU= IEJpZ051bWJlcg== IGNpZ2Fy KGRlcHRo IGZyYWM= IEN1cnZl TEFTVA== IFNDUklQVA== 6rO8 TWFsbG9j Lmdyb3VwYnk= IExlc2xpZQ== IHdoaWNoZXZlcg== U21hcnR5 L3dl IEFtcA== LGlu bG9wcw== ZGVwZW5kZW5jeQ== Y2VkdXJlcw== IGB7 eGljbw== Q29sbGVjdG9y IGhhYw== IERhcmtuZXNz ZmZmZmZmZmY= Jz0+Ig== IHBsZWFzaW5n Y29ubmVjdG9y em9z UENJ dmFj IEluY29ycG9y IG5lZA== X0ZBQ1RPUg== LmZi IG91bmNl X3NhdmVk INix IGRlZWRz IERvbHBoaW5z IGJ1ZW4= RVND LHRpbWU= X0FVVA== ZWNz IFNlbmF0b3Jz Lm91dGVy IFNlbGxpbmc= IHJpbg== PmAK Lm9ic2VydmFibGU= IGNvc3Rpbmc= REc= IHdpbmRpbmc= IHNrYQ== IGNpcmN1bGF0aW5n IGZvcm1pZGFibGU= YW1wbw== IFJhaXNlZA== IHZlZ2V0YXRpb24= VUZGSVg= S2lsbA== cHRpdmU= KHJ2 IENvdW50cmllcw== IE5ha2Vk IEpB KSkiCg== dWRhcw== IGJhcms= CWxldmVs IGZvZXM= PkFkZA== WW91VHViZQ== O3Q= TkNZ Q2x1Yg== RWlu LS0NCg== IGNvbnN0cmFpbmVk RVR3aXR0ZXI= WUc= RGVzY3JpcGNpb24= VU5DSA== IGVucXVldWU= IGRpc2tz IFdlbnQ= IG11aXQ= CWxvY2F0aW9u IHJldmlzaW9ucw== IEFDSw== LWZpeGVk dHJhc291bmQ= XFRlc3Q= U3RhcnRQb3NpdGlvbg== LWh0bWw= IHByb2JsZW1hcw== X0lOVEVSUlVQVA== IFNUT1JF 5qih aWxpYXRlZA== IFJQTQ== W3RlbXA= YWNodGVu IGNpYw== IEF1dG9tYXRpb24= IGhpZ2hz Lyg/ OicpCg== c3Bhcms= cmVscw== CW1vdg== VVRFUw== LkF1dGhvcml6YXRpb24= IFNjaG5laWRlcg== IGNoZWVrcw== YWRkcmVzc2Vz YXJkaW4= IHJlbW92YWJsZQ== LkJhZFJlcXVlc3Q= aWNpb25hcg== IERpZXNlbA== dGhhbg== L34= IGRhenU= UmVnaXN0cm8= ZmZp X0RMTA== IG5pZXU= IG1vaXN0dXI= LWV2ZW50cw== IHRocmlsbA== LmdldEVudGl0eQ== IHRvZ2c= IHdhdg== KWRpZA== YXRr KHN1YnN0cg== IEluamVjdGlvbg== X21i LkRpdg== IGVuZGVhdm9y ICjCow== IGNsdXR0ZXI= IHVyZ2VuY3k= IGluc3RydWN0b3Jz LScs LXN0YW5kYXJk Y2Vt CWhhbmRsZQ== LmZ0 U3RlcGhlbg== Um9u 44GZ44KL c2Np IEF0bW9z IGNhdGVyaW5n IGZpYXQ= LlBlcmNlbnQ= IENvbmdv eGRm Lm1vemlsbGE= IHNlaGVu LnNob3dUb2FzdA== T09U LXJlc3VsdA== zIE= IGdob3N0cw== IEJ1ZW4= IFJpZGVy IERvY3RvcnM= IHVyYW5pdW0= IGxvdWRseQ== IHBvaXNlZA== IGZhdm9ycw== KEFQ TEVZ IHNpY2tuZXNz IGNoYXR0ZQ== IGludGVncmF0aW5n IFl1cA== Q2xvc3VyZQ== IFRhbGVz IGxpbmVh IGV5ZWw= LkNyeXB0b2dyYXBoeQ== dW5leHBlY3RlZA== YWxlbWVudA== Y2l0 ZXRBZGRyZXNz TGVhZA== eGNk X25lZ2F0aXZl X2NvcnI= aWdyYXBo LWNoYW5uZWw= IGRpc2Nv U2VlZGVy YmVhbQ== X2Rw Q0ND IFByb3ZpZGVk IGpzb25EYXRh X1dI RklORQ== Qlg= LkRhdGFBY2Nlc3M= IHRlbXB0ZWQ= IGZpbmVk aXNDaGVja2Vk IGZyYXVkdWxlbnQ= RnJp IGRvbWlj UXVpeg== IFVuZGVyZ3JvdW5k YWJyYXM= IElEaXNwb3NhYmxl IFBlcnNvbmE= IHJvZ3Vl IEJleQ== Z2V0Q2xpZW50 ZWtlbg== ICcnJw0K V2lraQ== KEh0dHBTdGF0dXM= U3RyZXRjaA== IEdlc3Q= IO2VmA== IGVudGl0bGVtZW50 IGRvZW4= YmxvZ3M= IHZpdHJv Ik9o IFN1bW1vbg== IEJhY2tib25l IGfDvA== Z2V0Q29sdW1u IFdJTkFQSQ== CXZh X1JFUVVJUkVE LnRocm93 IHNldEN1cnJlbnQ= ZHVjdGVk KEZ1bmN0aW9u ZWxzaW5raQ== X1Blcg== ZmxpZXM= IGluY29tcGV0 IGp1xbw= KCkl IC0tLQo= dW1hcw== IE9sZGVy IGRpc3B1dGVk X1JFUVVJUkU= Lm1hdG11bA== dW5rZW4= 5LmL 44GL44KJ IHR0bA== dW5kZXJzY29yZQ== IFBhdHJpY2lh IHRhcGVy IHNlaW5lcg== IHNheWE= 5Y+w aWVyaQ== LnNlY3JldA== IHhvcg== IG1pdG9jaG9uZA== IGNhcmRib2FyZA== fWB9 LUJFR0lO IGRhdmlk b3Vsb3M= IFBldGVyc2J1cmc= ICIiLA0K c2hlbGY= LXdhdGVy LWJ5dGU= INC+0LHRitC10LrRgg== IHN0aXJyaW5n 7Je0 IGNvbXB0 IFBvdGVudGlhbA== UkFGVA== IGVhcHBseQ== IHN3aW5naW5n IGZlYw== QVJB IHdhbmRlcmluZw== IHByZWZlcnM= SmVzdXM= IHBpcmF0ZQ== IElzaXM= Lk1pbmltdW0= IFZhbGU= X0JU cmVuY2hlZA== Y29ycw== KGl0ZW1WaWV3 IGfDpQ== LkNvbnRhY3Q= Vmlld0NoaWxk aW5kc2F5 Y29uZmlncw== RHVwbGljYXRl 4oCmSQ== enlzdA== KHRvZG8= LlJlbW92ZUF0 X0RJRkY= IEJvdHRsZQ== IHZvbHRh dHJhZmZpYw== TGVl IOyk IHR1bmVz IEVjdWFkb3I= IFl1bg== IHVuZGVyd2VudA== aWNvbQ== ICcnKXsK LXBvbA== ZmxhbW1hdG9yeQ== TXV0YXRpb24= IHJlY2Fw X3ZlcnQ= T1RJT04= Q0RBVEE= aWNpbmU= X2JvdW5kYXJ5 U2NhbGFycw== IFVsdGltYXRlbHk= RVE= bWV0YWw= a3Nlcw== bXBs IGNvbnRlbg== U29sZA== RVNTQUdFUw== IGJpbmRlcg== IGxpbmVu IE15QXBw LW1ldGE= CXJhaXNl b3VsdHJ5 CW1vZHVsZQ== 5pi+56S6 bsOt IHlycw== IHBoeXNpYw== LXBsYXRmb3Jt IHN3aW5nZXJz KGhlYWRlcnM= Licp IEJV IEluY29udHJp U2NlbmFyaW8= QW1i IHByZW1pw6hyZQ== L2FydGljbGVz IE1ham9yaXR5 Q0xVU0lWRQ== b25vcg== IGhhYsOtYQ== 5bee IG1pZGk= IExhYw== LmZpbmRJbmRleA== IFBhaW50aW5n LmJvcmRlckNvbG9y Kmo= IGNvbmdlc3Rpb24= X0RJQ1Q= b2xsZQ== YXJuYXRpb24= KHRleHR1cmU= IHVm IEVpbnN0ZWlu KFRocmVhZA== IGluZG9vcnM= c2NyYXRjaA== IG1ha2Vu LlNUQVJU IEp1ZHk= Zm9ydW1z CgoKCgoKCgoK QklMRQ== IHZvdQ== TVlTUUw= IGdlcm5l IEltcG9ydEVycm9y IFN1cnJl PG5hdg== IERpZXNl ZXdhcmU= IOuqqA== aW1wbGVtZW50ZWQ= U0lHTg== ICd7QA== cnpl Lm1pbmVjcmFmdGZvcmdl LmlubmVySGVpZ2h0 YmVjaw== IGN1cnJ5 IGZvcm11bGFz YWdvZw== ZW5kZXQ= IFBhaWQ= IFJvYmVydG8= IHVucGFpZA== PWhlYWRlcnM= LlBvd2Vy IGJyZWQ= b3JFbHNl b3hpZGU= IGZpbmFsaXpl c2V0Q29sb3I= IFN0YWR0 KCdcXA== aXNtaWM= IGhlbGU= LlByb3RvY29s Lkhvc3Rpbmc= X01lbnU= X2NvbmRpdGlvbnM= IHB1cmdl LnhhbWw= YmFyZQ== RlJBTUU= IGN1YmVz IEpvaGFubmVz b2NyYXRz LkRpcmVjdG9yeQ== KWE= Pyk6 X0xJQlJBUlk= IGdldFRva2Vu IGVjaG9lZA== PWg= X3NvYw== IEV2YWx1YXRl IOq4sA== IERlbGV0ZWQ= RXU= IGNsb25lZA== c3RhdGlzdGljcw== LkNhbnZhcw== IGhhY2tlcg== IGdhbmdz LnJlc3VtZQ== cGVhY2U= 0JLQstC10LTQuNGC0LU= IFByb2NlZWRpbmdz 56U= IGphcGFu ID8+Pgo= ICR7KHs= LnJlY3RhbmdsZQ== Z3c= IE9yaWVudGF0aW9u JW0= LiIpKTsK IExpZXV0ZW5hbnQ= LnRydWU= IGVsdA== IERJUkVDVE9SWQ== zq8= LmRheXM= dXR0Z2FydA== IHVuZGVyd2Vhcg== LCkK Q0lE aW1lbGluZQ== IEJsZW5k cGhhc2lz IHBlcnNl IGdsaXR0ZXI= IHVuaXE= IENvbWJvQm94 IHNlc3Npb25JZA== dXN0ZXJpdHk= SURHRQ== 0L7QsdGJ 0KQ= cmVuZGVycw== X3Bvc2l0aXZl X3Nsb3Rz YnJvYWRjYXN0 IE1vbGQ= L0NvcmU= IEJhbm5vbg== VG9vbEJhcg== YWJlbGxl X2F3 b2xlY3VsZQ== IGRlbGV0ZXM= IMOhcmVh IHByb3BvcnRpb25hbA== TVc= IHdhcnk= IGludGVybWVkaQ== ICoqKioqKioqKioqKioqKioqKioqKioqKg== LlNUQVRVUw== X3R3 IGFyb21h IGFjdGl2aXNt LklzTm90TnVsbA== dWF0 IHBvc3REYXRh IHBlbQ== X2N0b3I= IFJhcGlkcw== LW9mZnNldG9m IGluZWZmZWN0aXZl IG9uRGVzdHJveQ== IE1ldHJpY3M= IHBhZGRpbmdMZWZ0 LWVuYWJsZWQ= IEdvYWxz eW5jaHJvbm91c2x5 IHllcg== SXRlbUF0 IE1ZU1FM Y2Vzbw== LktpbmQ= dGVj KGJ1bmRsZQ== IHJlZmVyZWU= LiI7DQo= IGNvbmV4 IGJpa2luaQ== X0FQUExJQ0FUSU9O IHN3ZWxsaW5n IGJlYWRz IGJhcmdhaW5pbmc= LS0tLS0tLS0tLS0KCg== IGtpdGE= KmZ0 TWluaQ== IFRvbmlnaHQ= IG1hbmlwdWxhdGVk TWlycm9y IFBvc3RhbA== IG1hcmU= RFc= IGNvbXBpbGluZw== IGZvcmVuc2lj LmdldFZpZXc= ZXBpbmc= Q29z IGFjY3JlZGl0ZWQ= IG9iamV0aXZv Y2FyZXQ= UGFpcnM= KT4+ IHNlw7E= IHF1b3RhdGlvbg== IEJyYW5kcw== dWJp eXB5 IElubGluZQ== aW1ldGVycw== V2ludmFsaWQ= CWxpbms= IEJlbGZhc3Q= IE1lYXN1cmVtZW50 X05PVElGSUNBVElPTg== IHJveQ== IENHQ29udGV4dA== IHdlZGRpbmdz VVJOUw== IHBvZGNhc3Rz IFNlcmc= IOuNsOydtO2EsA== IGVhcm5lc3Q= Y292ZXJhZ2U= aXRlRGF0YWJhc2U= RW1wbG95ZWVz IERlbWFuZA== IGNvbnRlbmlkbw== IFFWZWN0b3I= IiwiXA== IEdlcmFsZA== KClg IGdyaWRCYWdDb25zdHJhaW50cw== UkVTT1VSQ0U= IFNhZw== YWJpbGlkYWQ= IGNvZXJj b3VuY2VtZW50cw== IElzbGU= LmVkZ2U= IGV4dGVy KV1b IFBsYXlsaXN0 IEJsaW5k IFZpdGFs IGxhdHRpY2U= cmF0ZWQ= ZGVwZW5kZW5jaWVz IGBgYA== IEthbmc= bWFjaA== LmZhZGU= IEd1ZXNz Kls= TmF0dXJhbA== Lk9r IFJlbmFpc3NhbmNl IHRodWlz IGxpa2Vu Kmg= XCcs LWNsb2Nr IE9iamVjdGl2ZQ== ZmluZE9yRmFpbA== IERpcnR5 IHNjYW5k IFZBUklBQkxF IGNvbXBhcmF0aXZl eXBhZA== KFNvdXJjZQ== ZWNv IGp1c3F1 CWFwaQ== QnVpbHQ= ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IGxhYmVsaW5n IGhlYWRhY2hlcw== IG11ZmY= IE9yY2g= IGhhdGVz LWJyZWFraW5n L2J1dHRvbg== IEJ1eWluZw== TWV0cmlj IHVuc3BlY2lmaWVk L2hlYWQ= IHN0aW5n IHJlaW5mb3JjZQ== IENvbVZpc2libGU= Ymxpbms= IEFobWFk ZGJn X2xibA== IGh0dA== 7JuQ cm9wb2xpcw== ICgoX18= IHBlcm1l IGFwcGFyZWw= U1RSRUFN Y2h0cw== IHNlaW5z ZmlsbFR5cGU= 7KO8 Uk9XU0VS dW1waW5n IE5pZ2VyaWFu 4oCUaXM= X2xvZ2lj Lk9yZGluYWw= bG9zdA== L3Vzcg== QWY= IEl0ZXJhdGU= aWJz YWFs IHN5bW1ldHJpYw== LGlucHV0 IFBMTA== dXppb25l Y2FwdGNoYQ== IFRhbGU= RXhwaXJlZA== IE9iamVjdE1hcHBlcg== Y2lkbw== LmdldE5leHQ= IG1lbmphZGk= OnNlbGVjdGVk IHJpZW4= X3NlbmRlcg== UHdk IEZsaWNrcg== LkphdmE= X3ZvdGU= X01vZGU= LiR7 IGZ1Y2tz IEFsaWJhYmE= IGluc2lkZXI= YWNpbWllbnRv IGZyYW7Dp2Fpcw== SlNPTkV4Y2VwdGlvbg== IEp3dA== TWl0 bGVpY2g= IHByYWN0aXRpb25lcg== L3NvdXJjZQ== IG9nbmk= IHBoaWxvc29waGVy U25hY2tCYXI= c3RlbGx1bmc= KGJpdG1hcA== IGFzdGVyb2lk IG1hcGxl dWNoYQ== aXRlbUlk IHN0ZWh0 T3JkZXJlZA== ZW5idXJn L3Rva2Vu 6YWN IFdlYmI= b3dhbmll IFdBSVQ= IEhEUg== IEV2YQ== QVRUTEU= KG1hc3Rlcg== IGVycw== YWxvYWQ= IHNtdHA= dW5pcQ== IGd1aXQ= IFJhZmFlbA== Imlu KFVJ KExheW91dEluZmxhdGVy b3Jhbg== IHNlcnZp bmV6 IFRvcnJlcw== Lk1pZGRsZUNlbnRlcg== IG1vbGw= IFRleHRBbGlnbg== X3VwbG9hZGVk IE1laHI= IGhvbW8= LWxpbmtlZA== dW5uZXI= X2xlbmd0aHM= IGRpZmZ1c2U= IEF1dG9tb3RpdmU= WWVhcnM= IGxpZW4= W2NvdW50ZXI= a2xhc3M= 0YHRgtC4 LkVuZ2luZQ== IG1lbnk= dWx0eg== IGluZmFudHJ5 Vmlh c2VjdHM= LmRhc2hib2FyZA== IHNwb25zb3JzaGlw Lk1vZGlmaWVk Oy0= IFZlbG9jaXR5 dHJhY3RlZA== KG1ldGFkYXRh IHBsYWd1ZQ== TlNVc2VyRGVmYXVsdHM= YXBwcm92YWw= cHJvYmFibHk= LXNpeA== X1ZJUw== OicnLAo= LmVuYw== Lk1lc3NhZ2Vz X1BST0dSRVNT IG5lY2tsYWNl IFRlbXBvcmFyeQ== X21hcmt1cA== IEZ1bmN0aW9uYWw= IEpp IHRlc3RDYXNl ICgpOw0K X0NlbGw= IFJlc2lkZW50aWFs IFJhaWx3YXk= KCgmX19f IGRlZmF1bHRzdGF0ZQ== IGVpbm1hbA== LmZhYw== KmY= IHBpY25pYw== KGV2YWw= IGZ1cm5hY2U= YXNzb2NpYXRpb24= eyEh IENvbXBpbGU= eGVi RXZhbA== gOyepQ== KGNhbA== IG1hcmtldGVycw== X2hlbHBlcnM= bG9jYWxjdHg= IHlvZ3VydA== IHZpdGE= LGxlbmd0aA== IElucHV0RGVjb3JhdGlvbg== IGludGVydmVuZQ== IGNvbXB1dGF0aW9uYWw= RGVuaWVk L2Vudmlyb25tZW50 aWlk LkJveA== LVRpbWU= IGV4Y3VzZXM= dHJhbnNwb3Nl IG91dHJhZ2VvdXM= KFNlcnZlcg== ZGltcw== Il0pOw0K kJw= IEVpc2Vu KE9w IGhhc2hsaWI= KGxp fiw= xLFuZA== IFNwaGVyZQ== IEJlbGxh LXRyYW5zaXRpb24= LnJlYWRTdHJpbmc= aGVhcmQ= IFp1Y2tlcg== IHdhbm4= IGphaWxlZA== IFRhbGVudA== b3Bob2JpYQ== wrY= IG9wZXJhbmRz U29tZW9uZQ== IExpYnJhcmllcw== cHJpbWFyeUtleQ== 16o= VXI= IG1hdGVz INGI LWR1dHk= cG91cg== PEVudGl0eQ== PllvdQ== Q3JlYXRvcnM= V2l0aE5hbWU= J2ludA== IFJhdGlvbmFs PUI= LkF1dG9GaWVsZA== IEZvdW5kZXI= IE1lZ2Fu LmltYWdlVmlldw== Ym93cw== IHdpdGhSb3V0ZXI= IGxpYmVyYXRpb24= IGZvcmFt IGNpdGFz b2NoZW4= LnN3YXA= IC4uCg== LmN2dENvbG9y IEF3YXJl IHF1ZWVy 5aSE55CG IEluZmluaXRl L3N0cmluZw== IGJsZW5kZWQ= LUNvbA== IHd5cw== IHNpY2hlcg== Lkxhc3ROYW1l X3dhdGVy X1JlbQ== IGFydGhyaXRpcw== LkFQUA== IEV4cGFuc2lvbg== eGRi ZXN0cm8= ZmF2aWNvbg== VmVyaWZpZWQ= IGRlbGl2ZXJpZXM= YXJrZXQ= IGdldEltYWdl IEpQRUc= IFRSSQ== IEVsZXY= ZnVzaW9u IGpwZWc= Y29sbGlzaW9u IGRlc2NlbmQ= LmZvcmU= IExvZ3M= IHBvbGljaW5n dW50YXM= Lmhvc3RuYW1l YWNjZXB0ZWQ= 4KWL IFdlbmR5 LnJlYWRGaWxl IFNhbnRpYWdv IEdvbA== cmliYm9u c3RyYXRpb24= IHB1ZGQ= IC8vXw== aXNMb2FkaW5n X1NFUklBTA== IGluc3RhbnRpYXRlZA== IHBvZHM= IHdhcnJhbnRz IGFkbWl0dGluZw== CWNvbm5lY3Rpb24= X2J1ZmZlcnM= IEluY2g= IFpFUk8= d2VydA== IENsYW4= CWls KHNoYWRlcg== IHBpbGdy IOWK RHN0 X2JhcmFuZw== Oicj QnV0dG9uVGV4dA== dGVyZQ== X2FtdA== IEZvcmV2ZXI= LkxpbmtlZExpc3Q= dWFyZHM= dXJvdXM= IFNlbmRlcg== dmFyaWFudHM= X21hZ2lj IGFjY29tbW9kYXRpb25z YXBHZXN0dXJlUmVjb2duaXplcg== UHJvbXB0 ID8+DQoNCg== IHJlcHJvZHVjZWQ= X3ByZWNpc2lvbg== IHJ1dA== bW9uZHM= O3g= IH0sDQoNCg== 55S7 IFZpdGE= IHByb3Bvc2Vz IFBhcnRpdGlvbg== SElORw== ICN7QA== IGVzc2E= KGJhcg== IFplbGRh LmNhdGNo X2V4Y2VwdA== IG92ZXJ3aGVsbWluZ2x5 CVRFU1Q= X0NPTlRBQ1Q= X187 IFNlbWk= IHRyYWJhbGhv cmFkb3Vybw== X3NxdWFyZWQ= 4LY= JUQ= IHByYXQ= aXRleg== KGVsZW1lbnRz UGxhbnQ= YWd1YQ== IGlocmVy LkNvbA== IE1jTg== IENvcmV5 T05FWQ== Q2VsZQ== cmVtZW50 IG1hbHQ= IEx1aw== 57uf UE1FTlQ= IGFuYWx5emVy IEhhbms= X3VuaWNvZGU= IGJ1cmlhbA== IENlbHRpYw== RUZG TG90 d29u IE51ZGU= IE5hdGU= IFNpbmdlcg== IFNJVEU= KGJpdA== Yml6 IGRldG9u UkVBRE1F OkFkZA== IEhvbGRpbmc= e3JldHVybg== bmNpYXM= Pg0KDQoNCg== cnVwdGlvbnM= LnJlYWN0 dXJzYWw= 4Lib IERPTkU= aXZhdGVk Lm5vdGVz IHN0cmlwZXM= cmlwcA== aXJhbg== IHNsYWI= IEJ1cm5pbmc= KGVudA== LnNlYw== R1U= X2dvbGQ= XSkpLg== ZWxpbmVzcw== 0L7QsdGA0LDQ IOKIgA== IGNvc21pYw== J10pOgo= Y2Npb25lcw== Y2lzaW9u Y29tcGFyaXNvbg== IEV2YW5nZWw= IFNoaXJ0 bGFnZW4= IGnFnw== IGZpbGxlcg== LnByb2Q= IAkJCQkJ INGE0YPQvdC60YbQuA== IFplcm9Db25zdHJ1Y3Rvcg== QXRB XSkNCg0K IGNvbnN0cnVjdG9ycw== X1NIQVJFRA== CWRldmljZQ== IEFkdmljZQ== OkAiJUA= Pn0n LklzRW1wdHk= IGludHM= bW9zdGF0 IFNpZ251cA== Z2Vhcg== KHBhdGhz LHsi L0RvY3VtZW50cw== PENhdGVnb3J5 VUVTVA== IGdldERlc2NyaXB0aW9u ICJ7XCI= IEpvZXk= b2Rlbg== X2d1ZXNz RVVS IGhlcnI= IHNlZGFu IHJlYWN0ZWQ= X2Nsb25l IFJldmVs IGZvcmI= UmVtYWluaW5n XFNlcnZpY2Vz IGF2aXM= YmF0aW0= emVwdA== IERCTnVsbA== Q29ubmVjdGlvbnM= IGRpc3BvbmlibGU= cGhpbg== IHN0dQ== IHNjaG9sYXJzaGlwcw== LXNoYXJpbmc= Zm9ybWluZw== IEJyaQ== VmFySW5zbg== L3Nlc3Npb24= IGFtYmlndW91cw== IGFwcmVzZW50 X3Jk c2l0ZXM= L2FjdGlvbg== dHJhY3Rvcg== IGRpbGVtbWE= IFNY XS0tPgo= IEphY2tldA== UkFUSU9O LmdldFNlbGVjdGVkSXRlbQ== LWluaXQ= IFJlZ2lzdGVycw== X3NlcA== IFRvb2xraXQ= LmRpY3Q= IHhsYWJlbA== XFRhYmxl dG9j X2NvbWJv IENvbXBhY3Q= IHJ1Z2dlZA== 4KWH4KQ= LW1hbmFnZW1lbnQ= Jyl9fSI+Cg== IFN0YW1w xLFs cm94 IGxhbmRzY2FwZXM= X05PVEU= bW9uYXJ5 Y2Fi IG1vZXQ= eGFm cmNvZGU= LWNsaQ== X2dhdGU= W2V2ZW50 U1BPUlQ= Z2lh IFNVUEVS L0xvZ2lu X3NodXRkb3du aW50ZXJydXB0 IHByZXRlbmRpbmc= IGZyaW5nZQ== IFJlZHM= IENVREE= IFVOSVg= dml0 IGJyaWc= ZHJ2 IENvbm5lY3Rvcg== VGhlcmVmb3Jl IGxpYQ== RGV0ZWN0aW9u X2FjdG9y IHRlbXBmaWxl IGVjY2VudHJpYw== LXJvbGU= IHBhZHg= ZGVudA== V2VzdGVybg== IOq3uA== IEFwcGxpY2F0aW9uUmVjb3Jk IGNhbXBhaWduaW5n X3J1bm5lcg== IENpdmlj YWxlaWdo IGRpcmVrdA== LnN1bA== ICAJCQk= YW50ZW4= IGlzc3Vlcg== IGFzc2VydGlvbnM= KG9yaWc= QVRJTw== IGxlYW5lZA== w6Rz LkRUTw== ZXhwbG9kZQ== Lk9ic2VydmFibGU= IHN0YWdnZXJpbmc= IGtpZG5hcHBlZA== IHByb2dyYW1tZXJz IElubm92 LnBhcmFtZXRlcg== IGRvbWluYXRpb24= IHNrZXB0aWM= IOaYrw== IGF2b2lkcw== LlZlcmlmeQ== dWJieQ== IEFTTg== IGZvcm1hdG8= IEJlYXRsZXM= X2JyYW5k IGluc2V0 eW91dHU= IHRvYw== LWZpbmFs U2hvd2luZw== IERvdWI= IE1lc2E= QWRq X21lZGl1bQ== Q3JlYXRlcw== KGVuZHBvaW50 CVVQ YmJpZQ== IHN0YWxr LmRhdGFiaW5k LlNjYW4= YWdlbnRz JCw= aW5kaXZpZHVhbA== Kykv CXZt KG5vdGlmaWNhdGlvbg== IGluZXg= IENsYXNzaWZpY2F0aW9u cmVubw== IG9saWc= LXJhdGVk IGZvcm11bGF0aW9u Jyx7 IGFjZXB0 X3VucGFjaw== X0NB LlBvdw== CWlt IGFsdW1pbml1bQ== QU5P IHhu IGPDs21v IEluZ3JlZGllbnQ= IHNlaXp1cmVz 5YWx aWZpY2Fkb3I= IHNpZ3VpZW50ZQ== IEluZnJhZ2lzdGljcw== IGR1cGxpY2F0ZWQ= IERlZQ== IG7DuA== IEFDQ0VQVA== KGNyYXRl 0LjRgtC10LvRjA== LWxlc3M= IGluZmluaXR5 QW5hbHl6ZXI= LURheQ== cml0dA== KGNpbg== IEd5 IG11bHRpcGxpZWQ= dWNoaQ== IEJhbGR3aW4= L2lw IHNob3J0Y3V0cw== LkFERA== IHZpZ29y X2luc3RydWN0aW9u KDs= X2V0YQ== 6L+e dXRvcmlhbHM= IGJvb3N0aW5n YnY= IGFja25vd2xlZGdlcw== TGlzdGVuaW5n RkFR O2I= KCgt IGFyY2hpdGVjdHM= IHp3ZQ== IHB1bHM= IGdldENvdW50 dmVyYnM= 44Cc KENvbGxlY3Rpb24= a3Jl IGp1cmlzZGljdGlvbnM= X2JyaWRnZQ== IENyYWNr IERpZmZpY3VsdHk= S08= UmVzZXJ2YXRpb24= X3JlcXVpcmVz VG91cg== 44GX44Gf LnNldEN1cnJlbnQ= IGt5 IEFsYmFueQ== IOin bGxlcg== YWduYQ== d29ya2Vycw== LmJsYW5r IFByYXllcg== TUlD IHJlc2lsaWVuY2U= VGVY IExhbmd1YWdlcw== c3R1ZHk= CWN1cnI= IGVuenltZXM= U2x1Zw== IO2MjA== c3RyYWw= IHR1bW9ycw== IHNlZ3VuZGE= PSd7 aW5zdHJ1Y3Rpb24= IExpc3A= L2luZm8= ICJ7JA== LDopLA== IGd2 KEVycm9yTWVzc2FnZQ== ICc9 fS0kew== LkRvY3VtZW50cw== IldlbGw= IHJlbWluaXNjZW50 IGdheg== aXJvcHI= ZWhy IHN1cHByZXNzZWQ= ZXJzaA== LnNjcm9sbFRv IGNhZGVuYQ== IGdhbWVTdGF0ZQ== w61t KGNvbnY= IFRvbW9ycm93 IENDVA== TW9uZ28= dWxn LkNhbWVyYQ== LmhhbmRsZXJz bXBo IHN0aw== IGdlbmV0aWNz QUNJTkc= VHJpdmlh IEJhbQ== KG1hcmtlcg== LlN0cmV0Y2g= IFN1bm5p IEJldHR5 LnRvbGlzdA== dW5saWtlbHk= LlJlY3RhbmdsZQ== b2Jzb2xldGU= SUxPTg== aW5uZXJUZXh0 ZW1ib3VyZw== YU4= IFZlaGljbGVz dW5sb2Nr OnV0Zg== bm9i IFNlZWluZw== IE5FVkVS IHRscw== IGZpbGxlcw== IGJlbmVmaXRlZA== IENsaW50 Ki8pLA== LmZvbGQ= IHBvc2libGU= QURFRA== dGhvdXNl LkRBTA== IE9kZA== cm9rZXM= IFN1bm55 IFBhcnRpYWxFcQ== X0J1ZmZlcg== IExldmk= bG9uZ3JpZ2h0YXJyb3c= ZWxkb24= Z2FnZXM= X3dhcm4= LkNyZWF0ZVRhYmxl IERpcA== X3F1ZXN0aW9ucw== LmxvZ2lj ICMi PXsoKT0+ IHRlcA== IGp1aWN5 7IKs ZW5rbw== aWFsZWN0 2Yk= IG9uYm9hcmQ= IOaP CXJ0 X1VURg== IFFBY3Rpb24= 4oCe KENvbXBvbmVudA== KGF1ZGlv LmhpdA== Z3Rl IHByb2dyYW1tZWQ= c3RhdGVQYXJhbXM= IHBvbHllc3Rlcg== ZmlyZXM= Ynlzcw== XT0o X3F1YWxpdHk= T2ZEYXk= IEZhaXJ5 IHllbGxlZA== b3Bs KHVzZXJOYW1l IERpZmZlcmVuY2U= IGV2YWx1YXRpb25z aWZmYW55 IGN5Y2xpc3Rz IGNpZGFkZQ== IHRleHRib29r IHByb2ZpbGluZw== X18pLA== ZGVh LmFjdGl2YXRl IGluZGljYXRpb25z 0JU= VG91Y2hVcEluc2lkZQ== IGludmFsdWFibGU= IE1BU0s= IGNvbnRlbmQ= RnJlcQ== IHJlY3J1aXRz KGludGVydmFs IFVzZXJQcm9maWxl ICcuLy4uLw== ZWR1 X0NhbGxiYWNr IGFuYWxvZ3k= IFRyb3BoeQ== YXBwaGlyZQ== VmlkZW9z IENoZXI= IEhhdg== 4oCmIg== LnZhbGlkYXRvcg== Z2Z4 IFVPYmplY3Q= Y2xhc3NuYW1lcw== dHJpYW5nbGU= IEVuY29kZXI= LnNweQ== IHByZWRhdG9ycw== PXN0YXR1cw== LXNhZmU= OiIsCg== IEluY2x1ZGluZw== IHt9Ow0K KmNvcw== IGVuZHVyZWQ= LnN1bGFrZQ== IG51cnNlcnk= IGZyYWdyYW5jZQ== IHJlYnVpbGRpbmc= IG50aA== IEZyYXNlcg== LnNldERhdGU= IFZpbmNl X1JFU1Q= IHZlbnRpbGF0aW9u 5rW3 Y3JpYmVz LmFzbQ== bHBWdGJs IEFiZQ== dWlzaW5l LGFycmF5 CWNsYXNzTmFtZQ== ZXJyYWxz ICcKCg== Q2hlY2tvdXQ= IHNvbGljaXQ= QXV4 X2NhcHR1cmU= IHJpYnM= cmFnb24= dmlvbA== dG9waWNz RnVuY3Rpb25GbGFncw== IE1hcnR5 YmlrZQ== IFR1Y2tlcg== KGtlcm5lbA== IE9wcw== Q2xvc2VPcGVyYXRpb24= L2RlbW8= aWxkYQ== IGzDrW5lYQ== QVBQSU5H IHN1aXRlcw== LnZpc2l0VmFySW5zbg== dXJ1cw== IE1pbnV0ZQ== KG1hbmFnZXI= IGJ1dHRlcmZseQ== IGFwYXJl IHdvbHZlcw== SldU IFNhbG9u CWRlbGF5 LWVzbGludA== aXNhdGlvbnM= LnJwYw== KXwo IFNuYXBjaGF0 L21t TU4= Y2VyaWVz LnRleHRBbGlnbm1lbnQ= IEZyYW5rZnVydA== IGFkbw== KG5ld1ZhbHVl KGFjY2Vzcw== KEV4cHJlc3Npb24= IFNpZ25Jbg== IEhhaXRp X3Rw LnNldFBhcmFtZXRlcg== TWludXRl IG1hbnVhbHM= cmljYW5lcw== IFBUUg== IE91dGVy IGdldGxpbmU= b2NhdGlvbnM= X0NE IEx5b24= L2d1aQ== X2xpdmU= aWRhbg== Lmdlb20= IGJvcmRlckJvdHRvbQ== aW11dGg= X2NoZWNrcG9pbnQ= IG1ldQ== IElydmluZw== IHBldXZlbnQ= KE1BWA== IEFSQ0g= IHBvdg== LnNvdXJjZWZvcmdl IGphbWFpcw== IGFyaw== IEJhZ2hkYWQ= IENMRUFS TWVudUJhcg== IHRyb2lz Q0hFRFVMRQ== ICMNCg== KENhbGw= JG9yZGVy KE1hdGVyaWFs IGVuY29udHJhZG8= JGxpc3Q= IE1FVEhPRFM= LmJlZ2luVHJhbnNhY3Rpb24= X01BRw== U3R5bGVTaGVldA== IG1ham9ycw== IGluZGVmaW5pdGVseQ== Y2xlYW51cA== IGhvbWVsYW5k KGR0bw== RGF0ZXM= UHJlc2VudGF0aW9u IERL PXtgLw== CUtleQ== KEJsb2Nr X2NoZWNrYm94 bmVlZHM= IG9uQ29tcGxldGU= cmljbw== IGdsZWljaA== IHht T09E QmV0dGVy IFNRTElURQ== LkJvb2s= eGFk IEdvbmU= CWRw IGRldm90aW9u IHN0bQ== IG9ic2Vzcw== IEJhY2tlbmQ= UXVlcmllcw== SWs= Ly8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq IGRpdmlkZW5kcw== LnBhcmVudEVsZW1lbnQ= fSIpCgo= IE1hdGVyaWFsUGFnZVJvdXRl Om51bQ== IGV4cGxpYw== IE9M bGVhc3Q= T29wcw== aW1lbnRvcw== IGluc3VyZXJz IGhlcm9pYw== CWZpZWxkcw== LmltZ3Vy LmJ0bkNhbmNlbA== IERldGVjdGl2ZQ== KHNt IE11dGFibGVMaXZlRGF0YQ== LmxhYg== KChb IGhhaXJzdA== IFRyYW5zYWN0aW9ucw== 5byA5aeL IHN0ZENsYXNz dWVudG8= R0lT X2NvZA== SW5zdHJ1Y3Rpb25z Q2FsbHM= UG9pbnRlclR5cGU= IFJ3 IGFzc29ydG1lbnQ= IERJRw== K3I= X0NFUlQ= IGluc3RhYmlsaXR5 IHZpYg== b25hcw== IHJva3U= YXBlbGxpZG8= IGFuZ2w= cHJlbmV1cg== IGZsdWlkcw== aXNlYXNl IGRlZWQ= cXVpc3Q= X0NPTlNUQU5U IGVxdWlsaWJyaXVt X2RlbGVnYXRl IFF1YW50dW0= cmVp Q2FwYWJpbGl0aWVz cmVjdGFuZ2xl Pz48 YWxpZW4= IEp1Zw== RE5B VGlja2V0cw== T2NjdXJz IEhhd2s= LnNldEhvcml6b250YWxHcm91cA== XENvbGxlY3Rpb24= ZmZpdGk= IHJlYXJy LnNldFZlcnRpY2FsR3JvdXA= IGNhdml0eQ== IGFkdWx0ZQ== RmFjYWRl LXdo IExPTA== 2LA= IGdyYW5kcGFyZW50cw== U3dpZnQ= CXd4 5omA5pyJ aWZlbg== ZmZzZXQ= QmV5b25k Ly99Cgo= IHdhZ2Vy IGJ1cnk= IGNvbW1lbmNl cmVnaXN0cm8= c2NpZW50 IFBlcmNlbnQ= INC00L7Qu9C2 KGlkZW50aWZpZXI= LnNldE1vZGVs IHNlbGRvbQ== bnRvbg== IGFwcGxpYW5jZQ== YW11cw== cnlzbGVy IHBhbnRpZXM= ZW5ndWlucw== IG1pbWlj IG9uQ2hhbmdlZA== IGFsY29ob2xpYw== LnJlbG9hZERhdGE= Q2hhcmdl IEZheA== IGpTY3JvbGxQYW5l RW1wcmVzYQ== IHNoYXR0ZXJlZA== eGJh Rm9udHM= P3M= IHBvc3RzZWFzb24= cmV0YWlu X3JhdGVz IHJlcXVlc3RDb2Rl LnRvZG8= wrRz Q0hL IEtlZXBpbmc= ZW5nZWFuY2U= IHZzY29kZQ== SVBQSU5H RGVmYXVsdENsb3NlT3BlcmF0aW9u X3JhaXNl IE9jdWx1cw== b2dyYW1z cmFq cGNp IGNvcnJvc2lvbg== LmhhbmRsZVN1Ym1pdA== QWNjZXNzaWJsZQ== IFBpYW5v bGl0dGxl QUNM xIdl LnVud3JhcA== IENvbnZlcnM= IExlYmVu aW9uZWVy IE1lcmNoYW50 IEpvcmdl IGVtYnJhY2luZw== IHZlbnRh w6FzdA== IHZpZW5l PFFTdHJpbmc= IGV4cGxvc2lvbnM= IGRpc3R1cmJlZA== LiI8 bWVtbw== IEFib3JpZ2luYWw= IGNvbXBsZXRv VGV4UGFyYW1ldGVy IHVvbWluaQ== KGFnZW50 0YPRgA== IFdob2xlc2FsZQ== L2Ft IEJvb2ttYXJr ZHJhZ29u IGdsb3Zl ICIiKSk7Cg== aXZhcmlhdGU= bm93cmFw SW5DaGlsZHJlbg== LkJy IGNvbmV4aW9u IGJhY2tib25l IGVjbGlwc2U= IHBlcnNlY3V0aW9u JzoKCg== L2xpbms= IFBlcm8= YW5kYXM= IFRlaw== LiIpOw== LWFuYWx5c2lz IGVyYWQ= TWFyc2hhbA== IGFuY2hvcnM= b2dlcg== IGNvbnZlcmdlbmNl c3RpY2t5 IG5hdmVn aW50ZXJu X0RFU0NSSVBUT1I= IENvbnN1bHRhbnQ= ICAgICAgICAgICAgICAgICAgICAgCg== IEF1Y2g= IGVycmU= xZtsaQ== IEhvcml6b24= Y29sYQ== SW5zdGFsbGF0aW9u aG90bWFpbA== Q05O LkNvbGxlY3RvcnM= Y2hz KHRyYWNl IEVuY3J5cHQ= IC0tLS0tLQ== IEJhc2VDb250cm9sbGVy IGFndWE= IHJlYWN0aXZl aWRs IGNsYXNzTmFtZXM= CVNlc3Npb24= IERvZGdlcnM= SGFk X2x2 SXNWYWxpZA== IEhFTFA= dXR0bw== IFZlcmlmaWNhdGlvbg== IGdldGVudg== X3Bh LmJtcA== OmY= IExvdWlzZQ== KCc7 L3NvY2tldA== R3JhbnRlZA== LmNhbGVuZGFy KElQ IFBY LlJvb20= IHByb2dyYW1t ZW5zaQ== IHRhYmxlc3Bvb25z IGxldmU= IG1vc3Ry LnRpcG8= L2Fu KGRp IGJpb2Q= IGRiQ29udGV4dA== IEpTWA== CXJlc3VsdHM= LkVORA== aHRl bGlmeQ== UHJlY2lzaW9u 6IqC QVJTRVI= KWRpZFJlY2VpdmVNZW1vcnlXYXJuaW5n YXR0ZW1wdA== SVNQ JmE= X1BPUA== IFRhYw== IHByZXBhcmVkU3RhdGVtZW50 INC30LDQv9C40YE= IG93aW5n LHN0YXJ0 IHJldmlld2Vy IHJzdA== IHByb3BUeXBlcw== IHJvY2t5 X2xvY2FsZQ== IFN0cmF0ZWdpZXM= IFdlYmVy LkNhc2NhZGU= X2VxdWFsVG8= IGNvc2Fz IERlbGV0ZXM= IE1heGlt IHNocmltcA== cmV0cmlldmU= LkluY2x1ZGU= SUdJTg== IE9F XSk7DQoNCg== LmVudW1lcg== IGNvZWY= X051bGw= UmE= dHlhcmQ= IFNoYXdu a2VlcGVycw== IHFx X3Ni b21lbnM= IEV4ZWN1dGVz IyI= VFRZ IFZhbHVlVHlwZQ== KTsqLwo= IEFic29sdXRlbHk= IFRvdHRlbmhhbQ== L2FydA== IGJsZXNzaW5ncw== IHN3aWZ0bHk= YnVzdGVy IGF2aWQ= Q09NTQ== LHRlbXA= IH0/Pgo= LWdyb3dpbmc= IGRlZXBjb3B5 QWNr ZWdnaWVz IF9fKCI= IG5vaXI= dGVycm9yaXNt IGFudGhlbQ== YWdlbmN5 X1BBQ0tBR0U= IENsb3N1cmU= LnJlZ2lzdHJ5 IG1hbW1hbHM= PEw= VUlDb2xsZWN0aW9uVmlldw== IExFRHM= IHZvbGxleQ== KEJ1ZmZlcg== X05BVElWRQ== bGliYw== aW1wbG9kZQ== U2Nyb2xsQmFy IE1hcmlvbg== LkNvbnRyYWN0cw== X0F0 IFdlaW5zdGVpbg== Y29tcGFyZVRv IEhvc2U= ZW5pdHk= LmNyZWF0ZVF1ZXJ5 X3JvdXRlcg== IHN0aW11bGk= ICsrKQ== IENoYW1w IEJheWVybg== YXNzYQ== LnZh IGRpc3RyaWJ1dG9ycw== IGZpbGVwcml2YXRl IGRlcGFydGVk Y2NjYw== QGNsaWNr IEx1bmNo Pkw= IGJsdWV0b290aA== LkRlZXA= LXN0YW5kaW5n w6FjaWw= IHJvb2Z0 IFBhdGhz X2l0ZXJhdGlvbnM= SW52YWxpZEFyZ3VtZW50RXhjZXB0aW9u LnNwaQ== IFVJQWxlcnRBY3Rpb24= dXll c2lnbmlu LnByaW9yaXR5 IEVzc2F5cw== PSd7JA== IOi/lOWbng== X3NpZ25lZA== LnBlcnNpc3Q= IHJlZGVzaWdu VG9Mb3dlcg== IE5ld21hbg== PXN0YXJ0 IElzcmFlbGlz YXNpc3dh U3BlZWNo IG51bWVyb3M= aGFuZGxlcnM= IFdvbmc= INC80LXRgtC+0LQ= V2VpZ2h0cw== IEd1amFy dGVpbA== IE5vbmV0aGVsZXNz X0VGRkVDVA== IHZlY3Q= IE9zYw== IGNvYXRz IFdoZWF0 IGdlZWs= IFBST1BFUlRZ d29ybQ== X2NvbnN0YW50cw== IEJvdWxkZXI= IFBhcm0= Y29sZQ== IGRlZmF1bHRDZW50ZXI= IFJvdWdl OkE= eGNm IFZlbmljZQ== bWVkaWFu IHJlZGVtcHRpb24= RnJlc2g= IGNvc20= IGZpZ3Vy IHJlZnVyYg== Q09QRQ== LmNk IGNob3Jkcw== IFNndA== xY0= VlBO IFNFTkQ= YWluZW4= X2FjY291bnRz IHRlbnRo IGRpc3NvbHZlZA== PEFwcA== IENvdmVyYWdl dXNlU3RhdGU= w6lybw== Li48 IOyjvA== IGRyZWFtaW5n IEZvcmVjYXN0 LkN1cnNvcnM= IHZpc2Fz L3NjcmlwdA== X3N0YXJ0ZWQ= IGdhc3Ry KFBSTw== XTsvLw== LlRpbGU= KnNpbg== KEFkYXB0ZXI= IFNhbmRyYQ== X1NJRw== YXJkYXNo IE92YWw= IGRlc2NyaXBjaW9u KHNs IERlc2NyaXB0b3I= IGAk L2ZyZWU= IEtleXdvcmRz IHR1ZG8= aW9uYWxl KGZvdW5k Lnh5eg== IEdlbmVyYXRpb25UeXBl X0RJU0FCTEVE KGFyZWE= IGVsaXRlcw== IGhvbWJyZQ== KG1lc3NhZ2Vz IFJhYw== IGV4dGluZ3U= IEVzdGE= b3Bv LnZlbA== bW91c2VvdXQ= IGNvbnZvbHV0aW9u IEhhbmRsaW5n IGNlaWxpbmdz VGVr IEFyZWFz LndyaXRlcm93 PFZpZXc= IENvcm5lbGw= X0JJTg== LmludmFsaWQ= JycnDQo= aWXFvA== X1Bvc2l0aW9u IGtpZGRpbmc= UENPREU= IHdhdGNoZXI= bG94 IOKX RGF2ZQ== X2FsbG93 IGJpc2V4dWFs IHVub3JkZXJlZA== IFNjaHdl X3NlZ21lbnRz IHRlYXJpbmc= SU5MSU5F IHVuZGVz Lmdvb2Rz LmNhbQ== IExX CXdoZXJl Q2FsY3VsYXRvcg== LXRocmVhdA== LWFsZXJ0 IFN1enVraQ== IElQQQ== IEF0dGFjaG1lbnQ= QUNDRVNT KGR0eXBl T3Bw X3N5bWJvbHM= IGRhbnNrZQ== bGFnZQ== b3JnZXQ= cmVzb2x1dGlvbg== 0LXRhw== IFFDb2xvcg== IEJhcnJldHQ= 0LDRhtC40Y8= PVwn IE5hdkNvbnRyb2xsZXI= L3JlZg== KGNvdW50cnk= X0hEUg== IHRlcnNlYnV0 cGV0aXRpb24= IHN1Zg== Y3JlZGl0cw== 4LmM eG0= IERhdmllcw== LnJlZGRpdA== IHdvdmVu IE9ibA== IEtN IENvbnNpZGVyaW5n ZW5zb3JlZA== LnBlcmlvZA== IGRkbA== JHdw IGV4dHJlbWlzdA== O1wK IGtpbQ== YWxlcnM= IHNwYW5uaW5n IGNvaGVyZW50 IGNvbnNlZ3U= LnRleHRMYWJlbA== LmdlbmVyYWw= X2Rhc2hib2FyZA== 0LvQtdC90LjQtQ== a2ljaw== X1BJRA== IEV4dGVuc2lvbnM= cmVnZXhw IENsYXVzZQ== X21vdg== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== IFJld2FyZA== IExFR08= QWs= PS09LT0tPS0= CXBhcnNlcg== IG9uemU= 6YCA 4oCd44CC X2JhbGw= KHJocw== IGNob3J1cw== PGNvdW50 YXN1cmFibGU= IHdpcmtsaWNo IEVyaW4= IE1TTkJD IGV0dGVy IENyb24= X0ZMT1c= ICwNCg== IGNhbGlkYWQ= IEZpbGVXcml0ZXI= CXN0bXQ= KEJ5dGU= X3BhdA== IHRlbGVzY29wZQ== IGdyZWVk IFRvcnQ= KHdyaXRl XGFwcGxpY2F0aW9u CVJUTFI= IENvbmZpZ3VyYXRpb25NYW5hZ2Vy VW5peA== RW5kVGltZQ== SW5jbHVkZXM= IEhhcnZlc3Q= ZW5iZXJn IEF1c3RyYWxpYW5z IOuT IHJu IHJlcHV0YWJsZQ== IGJsZW5kaW5n VUxBVElPTg== IEJyZW5kYW4= ZGFk IG3DuA== IFdvbw== X2Rj VW5l IHJ1ZQ== d2l0aGlu YW5nZXA= IHBvdWNo XCIiLA== IFNpYw== 4oCdKSw= YWx5emU= IEdlZg== Y292ZXJz IGRibw== cmVwbGFjZUFsbA== CUxvZ2dlcg== VHJ5aW5n W3N0YXRl LXBpZWNl 6ZaT YmVoYXZpb3I= YWxsb3dz bHJ0 X3B5dGhvbg== ZXJ0dXJh LWNvdW50cnk= IFRH LlVJTWFuYWdlcg== YmVucw== YWxleA== IEJyZWl0YmFydA== YmFj IHByZWRpY3Rz IGdhYg== IGNhcmRpbmFs LlRpbWVVbml0 IFZpc2l0b3I= IE1pbmc= IGxpdnJl IHBhcmVudElk cG9ydHVu IGRpbWVuc2lvbmFs IFZlc3Q= ZW5pYw== 4LM= INmH IEJMVUU= IGl0ZW1Db3VudA== IGZlYXRoZXJz CXBzdG10 IFBvbGFy ey8v dW5kaQ== 0YPQtg== emFy RXJyb3JSZXNwb25zZQ== 7IOB UmVwcmVzZW50YXRpb24= Kl8= K10= cHJlcGVuZA== ICc+ IGxlZ2l0aW1hY3k= IG9v U2xpbmt5 IG5hdGlvbmFscw== LndvcmRz O3A= dHJhcA== b21hbmlw IGN1ZXM= IGdyYWR1YXRpbmc= IHNlbWFwaG9yZQ== Il0pOwoK YWNleQ== UkVFVA== R3JhYg== IEZlbGl4 KElk X25laWdoYm9ycw== IG1lYW5pbmdsZXNz KGRlbA== IGplZGVy IENvbnRlbnRWYWx1ZXM= LmFic29sdXRl L2Ns IHhi ZGF0dW0= IHRvcnR1cmVk IHJ1YmJpbmc= U2NvcmVz IPCfmIk= IGF2b25z IGFtc3RlcmRhbQ== RU9T SGFs IHRydXN0d29ydGh5 Iz0= LkVYVFJB IG1hbm8= aXNpY2luZw== LXN1cHBvcnQ= CWN1cnNvcg== IFNwbw== YWltYXNzYWdl TWlzc2lvbg== W117Ig== IHByaW50ZXJz R1JFRU4= IHRlZw== IGFiZG9taW5hbA== IQoKCgoKCg== LlNob3J0 0LDQt9Cy IEdpZnRz fSIp KGJpbmRpbmc= eGNl 4oCR aW5mb3M= Rm9ybURhdGE= IGRhcnQ= IGVsZW1z KGludg== WUw= dGlu R0VORVI= 4buv IFRha2Vu dWNrbGU= OmU= IHNwZWN0cmFs LmJhaWR1 LycpOwo= IGdyZWVkeQ== ZXNpb24= LCwsLCwsLCw= IC8+LAo= SW50ZXJuYWxTZXJ2ZXJFcnJvcg== TlNOb3RpZmljYXRpb25DZW50ZXI= IEFp IHNwaXQ= IGF1Z21lbnRlZA== IHN0YW5kYXJkVXNlckRlZmF1bHRz RklOSVRZ UmFjZQ== OkM= IFJFQ09SRA== IEhpZ2hsaWdodA== ICdg IGRlZmljaXRz IG5laQ== IHJlc2VhcmNoZWQ= VGE= IGNvcHA= LkdldEhhc2hDb2Rl KToNCg0K T25DbGljaw== IFdlbGxpbmd0b24= IHJldml2YWw= 5q+U 6Zeu IE5TUw== IGZvcm4= IGludMOp IEt1d2FpdA== X2ZsaXA= X2Jv X1w= IG9jY3VycmVuY2Vz IFNjaWVudGlzdHM= U1JD b2dlbnM= aWdyYW50 UkVNT1RF IFNJRA== Lm9wdHM= dXZl KCldKQo= IGxpYmVydGFyaWFu IEdsaWRl bGVzZW4= IGZvcm1l b3dhbmlh IGFubm95ZWQ= RGVmcw== IEV4ZWN1dG9y IGNhc3Rz LnNldENoZWNrZWQ= IFNoYXJpbmc= LlNlcmlhbGl6ZU9iamVjdA== IHNlbGVjdG9ycw== X09USEVS 66+4 KHN1cGVy KE9T X1ZFUklGWQ== aWR1bnQ= PGhlYWRlcg== IC8+JzsK IHZpZMOpbw== IE5lZ3Jv IExvcmRz IFRvdXJz IHNvZnRseQ== LnJlY2VpdmU= IEVSQw== IGRhdGFTZXQ= QmFkZ2U= CUV2ZW50 IHBlcmw= IHt9XA== KHNlbnRlbmNl T3JVcGRhdGU= IGRpbWluaXNo UElO KGRyYXc= LlRvRGF0ZVRpbWU= LkVxdWFsVG8= KHBpbg== LXBlbmNpbA== bHVlbnQ= IENhbGxlcg== IHBsYXlmdWw= LScr eGNh c3dpY2s= KXt9Cg== fTokew== IE1ldGg= LmdldENlbGw= LmJyZWFr IHltYXg= PSc8Pw== LWpzb24= IHByaW1laXJv IGluZGljZQ== 44Kj IFVOSVRZ KGFi 0YbQuNC4 X0hBVkU= LXllYXJz IEVyZG9nYW4= LXN0YWNr IGRpc2NoYXJnZWQ= IGJyZWF0aHRha2luZw== IGdyYXNzcm9vdHM= IEFzaWRl aGVsbA== IHNuYWtlcw== L2xvZ291dA== IG1pbldpZHRo IEhlYXI= IFN0b25lcw== IFdpc2RvbQ== IEV2ZW5pbmc= X2JsYW5r IFByb21vdGlvbg== IE1NTQ== IEJhcnM= 44K3 bmo= X1RJ IFNvY2lhbGlzdA== IEVH LW9wdA== PVwiJA== KGRpYWxvZw== IGJlaG9sZA== IGludHJpY2F0ZQ== IGVyZWN0aWxl RXh0cmFjdG9y IHNjbA== IGNsYXM= KGhpc3Rvcnk= aWRlbnRhbGx5 IHBuZXVt UmFuZA== IExhcHRvcA== Y2FsbGVy IEZsb29k b3BlbmVk dWRkZXI= IEdldHRlcg== X3dhbGs= KHdlaWdodA== IEFsZXhhbmRyaWE= IHRhYmxlYXU= VmFyaQ== IC0tLS0tLS0t 6Iez ZXdvcnRoeQ== U3BlY2lmaWNhdGlvbg== IHRocmVzaG9sZHM= KCIiKTsKCg== X2ZvdXI= IFNhZGx5 IChfKQ== aXNtYXRpYw== IEphaWw= dG9IYXZlQmVlbkNhbGxlZFdpdGg= Lm1hcg== IHByZXZpZXdz IHNjYWZm aW5kaWNhdG9y IGNvZGVjcw== IGF1dG9j KHJ0 LmdldEhvdXJz IFJI IFN1cmdl aXZhbWVudGU= IGNvbnRlbmRlcg== Q3BwR2VuZXJpY0NsYXNz IDs7Xg== OjoqOwo= LXJlY29yZA== IG1hbWE= IGltZ3M= LmlzTG9hZGluZw== IG5lZWRsZXM= IGVuY3VlbnRyYQ== b2RhdGE= IEJ1ZmZlcmVkSW1hZ2U= CWphdmE= IFRvbWI= VU5JVFk= IGxpbmdlcmll IEphbWFpY2E= YnVncw== KioKCg== IE1hbw== LmJlZ2luUGF0aA== IHByb3N0aXR1dA== IFBoaWxpcHBpbmU= X3Nm X3Bvdw== IFNjaG8= eGRl J8OpdA== 4oCZYXV0 YWlzb24= IEZpbGVJbmZv dHVybnN0aWxl ZHJlYW0= IGlWYXI= c3ludGF4 aWxsaXNlY29uZHM= cHJvZmlsZXM= X1JFR0VY INC00L4= IENvbW11bg== QmV0 aXB6aWc= IE1lbW8= Lmlkcw== IHBob3RvZ3JhcGhlZA== IGFwcHJveGltYXRpb24= OnZhcmlhYmxlcw== IG1vZGlmaWNhcg== X1NNQUxM IEhlbXA= IGRpc3Jlc3BlY3Q= IGNvbnRlc3RlZA== IGlubm9jZW5jZQ== aWxsaXM= U3ltYm9scw== IGluc3BpcmF0aW9uYWw= IGRpc2NpcGxpbmFyeQ== IFBlcm1hbmVudA== IGRlc2Ny IFVOREVS 0YHRiw== cHJlc3Nvcg== SU1FUg== IG1vdW50cw== IG1vcmFsbHk= X1NFQ09ORA== LmZpbGVOYW1l 44OX IGNvbnN0cnVjdHM= IFNVTg== RVNQ RmluYW5jaWFs IE51cg== w7RsZQ== cmljdWxhcg== IFVzZXJNYW5hZ2Vy aWJpbGlkYWQ= IG9uUmVzcG9uc2U= IGZpbG1tYWtlcg== IGFsb3Q= X1RIUkVBRFM= IGVudmlyb25tZW50YWxseQ== Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u IHJhc2g= IEx5cmljcw== IGlwYWlycw== QmFja3Vw U2lnbnVw IEB7Cg== SlVuaXQ= d29ya2Zsb3c= IENvbXBsZXRpb24= IGludHVpdGlvbg== 8J0= IG1pYQ== IFNuYWNrYmFy IFRpbg== CWluc3RhbmNl IE11c2ljYWw= IHdlbGNvbWVz IHJlZHJhdw== X2NvbG91cg== X1JFQUxUWVBF X3NpbmNl IEJ5dGVBcnJheU91dHB1dFN0cmVhbQ== LWRlbWFuZA== YXJldGg= LnBhZA== c2Vr JywuLi4K LWZpcmU= Lnw= IG51bWI= IERPVUJMRQ== QU1BR0U= Y2htb2Q= LWls IGFsYXJtaW5n Q29w 5aSH aW52aXRl X0lURU1T IGxldWs= IHJlZWw= IGZ1bGZpbGxtZW50 UmVzdG9yZQ== X3Jy KGNsYXNzZXM= IHBhZ2luZw== eW1heA== cmFwcGVk 7ZmU fWB9Pgo= IEhpcm8= KFRSVUU= YXN1cmVy IGN1ZXI= VWJlcg== Lk9wZXJhdGlvbg== IG9sYW4= IHRocmlsbGluZw== PFJlc3BvbnNl IEZlbWlu IHRyYXZlcnNhbA== IHBvYw== IHNldFN0YXR1cw== ZGVjbGFy c3RkYWZ4 IGFkZGljdGl2ZQ== IEJ0bg== IGV4cGxvc2l2ZXM= IENvb2tpbmc= IFBsYWludA== IGFjY3VtdWxhdG9y IEFwcG9pbnRtZW50 LHBhc3N3b3Jk IEZBUg== bHVldA== RnVydGhlcm1vcmU= ZGVjbHNwZWM= X1N0YXRpY3M= LkRpY3Rpb25hcnk= Ij4nLg== CXZhbGlk IiIs SW5zdHJ1bWVudA== Pko= IG5vc3Ry IFJpZnQ= X1BvcnQ= IHZlY2Vz W1sn IHJhbGxpZXM= LXNlcmllcw== IHZ2 LnVj IHJ0bg== U3RhdGVDaGFuZ2Vk KGlucw== IENsYQ== LS0tLS0tLS0tLS0tCg== Y3Vz IFJlbG9hZA== Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0= LnNlY29uZHM= X2Rlc3RpbmF0aW9u IHNjcmV3ZWQ= PmM= VGhpY2tuZXNz RGVzaWduZXI= IGdyaWRz bsSF KGNvb2tpZQ== VHJpcA== LU1vYmlsZQ== IHZvbGw= IGdlbml0YWw= IGNvbmZpc2M= IENvbmZlZGVyYXRl IHdlYlZpZXc= IG1pc2U= IGNsZXI= KHNlbGVjdGlvbg== JGRhdGU= IHNoYXJwZW4= cmFnZW4= QW5kVXBkYXRl IHJlbWl4 IGh0b25z Ulc= TVBJ IHJldHJpZXZhbA== IHJpY2hlc3Q= LkRlY29kZQ== OmluaXRDb21wb25lbnRz IFRWYWx1ZQ== U2FpbnQ= QGluY2x1ZGU= IFBFUlNPTg== LnNlcA== IExEQVA= Z2Jh IGdyb8OfZQ== IHJlbGlhYmx5 IERGUw== LmdldEl0ZW1JZA== IHByw6lzZW50 LmdldFRva2Vu IGNoaW5lc2U= IE1lYWw= WU9V Ij48Pz0k KGNob2ljZQ== IHBoZW5vbWVuYWw= IFN0ZWVsZQ== wqI= IFBhY2thZ2VNYW5hZ2Vy IFN5bmRyb21l RGlyZWN0b3JpZXM= aXZhcg== LnVuc3Vic2NyaWJl bGllw58= bW9ubw== X2Nvbm5lY3Rpb25z X3ByZXNlbmNl eW55 S25pZmU= IGdyb292ZQ== IHNjb29w VEVNUEw= YXNha2k= LmhhbWNyZXN0 IGhhcmJvcg== Y292 Kno= IFh1 IHByb3Bvc2luZw== IEZSQU1F Q2hpcA== IEVlbg== IOyghA== IHNtYXNoZWQ= VW5zaWduZWQ= KC4u X2ZpbmlzaGVk IGdldFN0YXR1cw== IGZpYnJl QXhlcw== ICcvJyw= eWFyZHM= TURC LWJz aW50ZW50 IGJvb3N0ZXI= LmRzdA== LkRpYWxvZ1Jlc3VsdA== IE1ldHM= IGJlYXN0cw== aW5jcmVtZW50cw== LmthZmth VUlBbGVydEFjdGlvbg== LWV2ZXI= X2JhbA== IGhlbHQ= IGZyZW9wZW4= IFJlY3J1aXRtZW50 bGljdHM= Zm9yZ2V0dGFibGU= RGlzcGxheWVk X1ZFTkRPUg== Q29sbGVnZQ== QVNDSUk= IFNpbms= IE1hY2Vk IGN0b3I= IGVzdMOjbw== IFdpbmRzb3I= X2NoZWNrZWQ= X2RldGVjdA== YXR0ZW5k IHhtaW4= IGluZGlzcGVucw== L3BlcnNvbg== X0RFVEFJTFM= UkVESVQ= SGF5 YWJvbGlj IGZ1bmN0b29scw== aWFpcw== RlRQ X1JlY3Q= IEluZHk= LXB1YmxpYw== b2hhbg== X21hbmFnZQ== Q29tcHV0ZWQ= 7JeQ7ISc IFNsaWNl IGdheXM= IGFsZXg= YWl0cw== IHJlY2VpcHRz U1BFQw== IEJFRk9SRQ== IFByZWZpeA== X3Zpc2l0 IHNwdW4= TEVURUQ= IGRvdw== IGxlZ2FsaXphdGlvbg== YWJiYWdl IGNsYXc= IFRjbA== eGltYQ== IGNvdmVydA== Tmk= IHRoYW5rZWQ= IGFsbGVyZ2lj bG92ZXI= IEJyZWFzdA== LmlzQWN0aXZl IGdlYmVu VkVSU0U= Wk9ORQ== CVJlc3VsdA== JykuJw== IGdlZQ== IFNlcmlvdXNseQ== cHVycGxl IEVzcGHDsWE= aWZpZQ== LXBhY2s= UGFydGljbGVz ICcvLi4v IG11bHRpbWVkaWE= YXV0b2NvbXBsZXRl IFRIUkVBRA== IHJlZmVyZW5jaW5n cmVldGluZ3M= IHF1b3Rpbmc= IGFzc2lzdGFudHM= amVuaXM= aGFwcHk= IGxheXM= bGliZnQ= eGRh IGZvdQ== cGlhcg== UmVjb21tZW5kZWQ= IEJpcmRz IFdhcnJhbnR5 w7xybGljaA== LklOVklTSUJMRQ== X2FuY2hvcg== 4oCdOg== RmFudA== X2RlZnM= IGRyZWFtZWQ= IF9fX19fX18s cGxh w6RmdA== b2RrYQ== xLFz IGRhZGR5 c2NoZW1hcw== PXplcm9z IHJhdHQ= CQkgICAgCQ== aWVq IGRyaWxscw== LTw/ QUJB Lmxpbmtz IERlcGVuZGVuY3lQcm9wZXJ0eQ== Lmxvdw== aGVlZA== X0JMQUNL L0FkbWlu IGFtaWdvcw== aW5nZWQ= IE1pY2tleQ== LkdldEF4aXM= IE5lZWRlZA== IEVuY29kZQ== w6lyaWV1cg== IE1hbmlsYQ== IENvbGxlZw== YWRhc3Rybw== IGNoaWNhcw== 5L2g IG9uZXNlbGY= eGVh ZHVr IGd3 dXJnaWNhbA== IENlbnRybw== IGFlcw== ZmVlbA== IHRyb3Q= IGVsZWN0cm9ucw== IHJpdHVhbHM= IEJpbGRlcg== IGRlY29yYXRl IFRva2VuVHlwZQ== IGx1cmU= QXBpQ2xpZW50 Z3JwYw== IE9yYw== Q29udGV4dE1lbnU= UFJFRklY LXRoZW1lZA== X2ZpZm8= LklucHV0U3RyZWFtUmVhZGVy X3NwZWNpZmlj IERTUA== PXN1YnByb2Nlc3M= L3NoZQ== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo= IGRhdW50aW5n IGNsZWFycw== IE1vdmVz IG15c3Rlcmllcw== LWJlc3Q= IFZ1 b2xpYg== IElzaA== IGNhcmFjdA== KExhYmVs IERlYmlhbg== IEV4cGVyaW1lbnRhbA== IGNhdg== LlRvRGVjaW1hbA== IFJob2Rlcw== IEhhd2tz IGZvdW50YWlu X1BFTkRJTkc= X1NV IHd4U3RyaW5n IFBldw== LmNsaQ== 0YTQvtGA0Lw= LndlYmtpdA== X0NO IDs7PQ== CW5hbWVzcGFjZQ== IHdQYXJhbQ== IHB1cHBpZXM= IHRlcm1pbm9sb2d5 IGFkZGljdGVk IGZvcmdl IEdhcmRuZXI= IHBlc3NvYQ== CVJlc3VsdFNldA== IGF0dGVudQ== YW5nZW1lbnQ= X2luZHM= Q2hp YXJpdGg= RW5jb2RpbmdFeGNlcHRpb24= bW91c2Vkb3du IEJFVFdFRU4= d2VpZ2g= IkZvcg== LmRk aXRlbA== WU8= IERpY2U= dW5peA== IE9idA== IENlZGFy IHNwZWNpbWVucw== cG9ybg== IHVub2ZmaWNpYWw= 6buR c29tZXRpbWVz IEJ1bGxk dHJ1c3Q= Z2V0UmVzdWx0 IHNtb2tlcnM= IHNhbmR3aWNoZXM= IGV4aA== IEZhZGU= X0RD IG1hc3R1cmJhdGlvbg== Zm9ydGF3ZXNvbWU= VEhJTkc= X2FuZHJvaWQ= IGRlZGlj LXNlbnNpdGl2ZQ== IG5hY2t0 TElCSU5U IGFnb24= IERJU0FCTEU= b25lc2lh Ymllcw== IFpJUA== IGhhdW50ZWQ= IGN1aWQ= L2NhcnQ= a29z CVJUTFU= IGhpbmRlcg== IGFkaXBpc2ljaW5n SUVOQ0U= LmJhbms= IEN5cHJ1cw== bWl4ZWQ= LmN5 LXNpbmdsZQ== PGxlbg== Q29taW5n IGZhdWx0cw== IGZvcmVzZWU= Z2V0bGluZQ== ImE= IGJyYWc= IGRpc2Nz IHJpcGU= IG7DpnI= IEdH U0hPVA== ZGVyYWJhZA== KGVkaXQ= VG9MZWZ0 W10pOwo= IGRvR2V0 dmF0dXJl TmVlZGVk IENoZW5n Y2Np RUZJ IGZldWQ= IGx1bmFy LlNoYXBl Tm9ib2R5 X1RSSUdHRVI= Q3k= Z3JvdW5kQ29sb3I= IFJlbW92YWw= KGJvdHRvbQ== JG1zZw== U0NJSQ== cml0eg== IGZyZW50ZQ== IGNvbXBvc3Q= YW5zd2VyZWQ= IFJvZHI= X0hUTUw= IHNpbGhvdWV0dGU= IFFVRVNU IENhdGhlZHJhbA== LkNvbW1lbnQ= IE1u LW5ldHdvcms= LmdldEZpbGU= LmdlbmVyYXRvcg== IENoZWNrb3V0 X3pvb20= IGVuY29kZVVSSUNvbXBvbmVudA== X1RD c29t IFNlcmll IGJhc2VVUkw= CXJ1bg== IGh1aA== LnNlbGVjdGVkSW5kZXg= IFNUQVI= fi1+LQ== YWJjZGVmZ2g= Lm1hcHBpbmc= PWRhdGV0aW1l Q29vbA== bmlt IERpcmVjdGl2ZQ== RmVkZXJhbA== IG1lbnVJdGVt INCQ QW5uYQ== IFJlY3JlYXRpb24= cnlhbg== LWFnZWQ= emVyYmFp 4oCm4oCdCgo= Y2FtcG8= IG1pbmlhdHVyZQ== ZGV0YWNo bWVhbmluZw== X2VtcA== UGVhaw== IGJjbQ== IEh1bmdhcmlhbg== IENhc2NhZGU= IHNhY2tz IHRydW5jYXRl IOKWiOKWiA== IHdoYWxlcw== IHNvcnRhYmxl IGFzc2VydHM= IHNlYWxz b2N5dGVz XSkpKQo= YWxhcm0= cmVzc2luZw== KHNpZ25hbA== IGVtcGVyb3I= CU9O Y29tbWl0dGVl IHRyaWxvZ3k= LlRyYW5zYWN0aW9uYWw= R3Jvdw== X3VhcnQ= IHN3aW5ncw== IHNwZWN0YWNsZQ== 4oCZYXY= IFNlbnRpbmVs INmE IFRvdQ== IHdpZG93 Z2VyYWxk LHVpbnQ= IHVudXN1YWxseQ== PENhcmQ= IFJlc3RhcnQ= bW9y 44GC44KK aXhlZFJlYWxpdHk= IGhhbmRndW4= 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA IGxpdGhpdW0= UmVzb2x2ZQ== Z2V0Qnl0ZXM= L2Z1bmN0aW9ucw== IHRhY2tsaW5n T3V0bGluZWQ= IH08Lw== IFNleG8= IEFuaw== IHJhdGlvbmFsZQ== cmVtb3ZlQXR0cg== IG11bmljaXBhbGl0eQ== IGFzc2F1bHRz Q0hPT0w= IFJlZQ== IGJhdWQ= pqw= IGVuaGFuY2Vz INC/0YDQtdC0 IGNvbmNlc3M= Lmluc3RhZ3JhbQ== LmdldFJlc3BvbnNl c2VnbWVudHM= IHdlbGxiZWluZw== fTsKCgoK aHVuZw== 44OG IHJlbm92YXRlZA== LmV4cGVjdGVk IHJhZGlhbA== IGNvbW11bmFs dXNlck1hbmFnZXI= K2E= IGZ1bmRhbWVudGFscw== LlRI 6II= IHJhbnQ= IFN0cmF3 IE9sZURi YXppbw== IGhhbWJ1cmc= IHBhaW50cw== IHRodW1icw== IE51bGxQb2ludGVyRXhjZXB0aW9u IGdyb3VwZQ== IEhvbWVDb21wb25lbnQ= IGJhbGxv IElOSVRJQUw= X2FyZQ== IFBlcw== dXJzZXM= IGJhcmR6bw== LmdldExlbmd0aA== YW1vdG8= Lm5vdGlmeURhdGFTZXRDaGFuZ2Vk aWVuZXM= ZW56aWU= X2VtYg== dW1uaQ== c21vb3Ro IERybw== cGFzdGU= IE5hcnI= LS0tLQoK z4k= IEF1dG9y IG91dHJvcw== IExBQkVM LnBh LlN0dWRlbnQ= KFhtbA== IGV0aG5pY2l0eQ== IEl2eQ== 44KI X2Zha2U= Pyg6 dXBsb2FkZWQ= Z2V0TWFuYWdlcg== LVFhZWRh b2RpYWM= Q29ubm9y aWhhbg== TUFU KG1pZA== IEFsYmFu IHNvaXI= Q29tYm8= IFB1YmxpY2F0aW9u b3BvdWxvcw== cGlz IHRlbXBsZXM= b25neWFuZw== X2NsaWVudHM= IHJvZHM= IHhj aWprZW4= IHJlYXA= IOS4i+WNiA== CWNvbm5lY3Q= Rm9jdXNlZA== LGNvdW50 aWV0ZXQ= IGhhY2lh X2FsbG9jYXRvcg== IHRveGljaXR5 KHNlcXVlbmNl IG51ZXN0cm9z IFByaW5jaXBsZXM= IGxsZQ== YWxhcmlh LndyaXRlU3RyaW5n IEFGTA== aWZuZGVm IERvcw== xZtjaWU= IEFnZ3JlZ2F0ZQ== IHNhY3JpZmljZXM= X29mZnNldHM= bGRi IGxhdGNo IGZ1bGxzY3JlZW4= bWlzc2l2ZQ== T1BUSU9OUw== IFRlbGVwaG9uZQ== IGFyc2VuYWw= amVqZXI= IEhvc3A= IGZhdm91cml0ZXM= cml2ZQ== LmluY3JlbWVudA== IGJ2 IEZhbnRhc3RpYw== LnNheQ== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= IG1lZGljaW5hbA== IERST1A= IHBpdHk= bWV0aXM= IHdvbGxlbg== IGJlZg== X0Js ID4+Cgo= Ym93ZXI= IHN3YXBwZWQ= L2luc3RhbGw= IHNpbmtz ZXRyaXpl IGRlY2xpbmVz CW15c3Fs IENTdHJpbmc= IE1vdGlvbkV2ZW50 Lkxhbmd1YWdl Um9hZA== 0YLQtdGA YXNjaW1lbnRv JykpLT4= LmFib3V0 KGVkaXRvcg== IFJhdGluZ3M= aW5jb21l xaFl LmRlcXVldWVSZXVzYWJsZUNlbGw= IEF1c3RyaWFu IHN1bGxh IFRyaWJ1bmFs IERpZG4= 0L7QstCw0YA= IGluc3BlY3Rpb25z Qm9zcw== IGNvY2t0YWlscw== IGFwb2xvZ2l6ZWQ= X3N1YnBsb3Q= b3BhbA== Kz0o IHJlc29uYW5jZQ== aWJ1 IOumrA== cm9tYQ== cmVzZXJ2ZQ== cGxz IFRhaA== YXhpZXM= T1BMRQ== IERhcnJlbg== IFpvbWJpZQ== X01hcA== IF0pCgo= IFFp IFNhaWw= IHJlc3RyaWN0aXZl IGVyb3Npb24= LXBhcg== V0hJVEU= IG9sZHU= IGFwZXJ0dXJl IGJpdGNvaW5z dGV4dG8= IENvbWNhc3Q= IHRpbWVsZXNz ZW5raW5z IGZlZWRlcg== L3RtcA== cmVzZGVu Kydf LkRlc3Ryb3k= IMOnb2s= IERPQ1VNRU5U LmxuZw== LnRhZ05hbWU= IGt1bGxhbg== ZWdyYXRl ICgqLg== 57yW6L6R IGhhbmRzaGFrZQ== c29j X2dlb21ldHJ5 IERhbWFzY3Vz TWlub3I= IEthZmth 7Jes RmxvcmlkYQ== X2NvbXB1dGU= LmV4cHI= IHBhcmFsbGU= IERpYXo= Y2ly W3RhcmdldA== IGpva2luZw== IGdsb3I= KHNldHE= X2hhbmRsZXJz SGFuZw== IGZlcnI= cmltaW5hbA== CSAgICAJCQ== ZW50aWVz ZGVmaW5lcw== LXRheA== anNvbnA= IFVQUw== bWV0cm8= X187Cg== IFVnYW5kYQ== XSkpOgo= X3Rk eGFl bHc= Lk9T IExvZ2dlZA== YWNpZA== IE1heW8= YXNwZWN0 IHZhZ2luYWw= IGluaXRpYWxpemluZw== IHN0ZXJvaWRz ZmljdGlvbg== R1JF Z2VuZA== IGxpYWJpbGl0aWVz IExldHM= TWVjaA== KG5j KGNoYW5nZQ== IGNvbm5lY3RvcnM= Oms= IHRhc3Q= ISIpOwoK dGhpbmdz cm9waHk= bHVldG9vdGg= IFNpZ25VcA== LmN0cmw= IHRoZXJlaW4= b3JkYQ== LmVzY2FwZQ== aWdhdG9y IHBldHJvbA== IHNwZWNpbWVu IGRlYnV0ZWQ= LVBybw== IGNyaXNlcw== LmFkZFZpZXc= 64+Z LWRvb3I= IG1vbmV0 IG1pbGxpcw== IHZpZXI= SW50ZXJuYWxFbnVtZXJhdG9y IGFkbWlucw== IExhaXI= emlu Z2V0UXVlcnk= dW1ibGVz TElNSVQ= IFZpZw== X3Nvbmc= PENoYXJhY3Rlcg== Ojou X2hvbQ== X2Jw IFN1cGVydmlzb3I= c3VibWlzc2lvbg== YWJpbGU= IG5vaQ== T3JDcmVhdGU= IHBlZWw= IG9uU3RhcnQ= IHNlbnRpbWVudHM= dmVoaWNsZXM= IGNsYXNzcm9vbXM= IHN6ZXI= IGJlbmRpbmc= IGxvbmdldml0eQ== IGFjbA== IEFsZXBwbw== IFVN IFJpY2h0 IG11bHRpcHJvY2Vzc2luZw== RE9NQUlO IiwiKw== X1lFQVI= IHNjcmFwZQ== IHNvbGl0YXJ5 ICJdIjsK L2Vycm9ycw== 7J6s nOugpQ== YmV0dGVy CW51bWJlcg== IExG IEFjcm9zcw== UHViTWVk XCIi IEV4Y2VsbGVuY2U= IHVzYW5kbw== IFVJUA== QWN0aXZpdHlJbmRpY2F0b3I= X1ZPSUQ= IGJyZWVkcw== 772l dWVzdGFz IFRyZWFzdXJl dXN0cmFsaWFu KGZhY2U= IFRlbm5pcw== CUludA== IEhhbnNlbg== 57U= Okk= IOKclA== R1JBWQ== T1VTRQ== IGhlcGF0 oO0= QUlS w7PFvA== IHF1ZXVlZA== dmluY2lh IENocm9taXVt IGNvbXBldGVuY2U= dW5nYWw= aWxsaQ== IGdldEJ5 IEZpbmRlcg== IGluY2FwYWJsZQ== IHNhZGQ= IGNpdGVz IENodXJjaGlsbA== U2Rr TW9yZW92ZXI= QXNwTmV0 KEZsb2F0 JHBhc3N3b3Jk IENvbm5vcg== LXNlc3Npb24= X2Rt Kikp IGRldXRzY2g= IE5Y IHBlcmtz X1NPUlQ= X1RPT0w= X1ZJU0lCTEU= LmFzcA== 5oiW IEJyZWF0aA== RGV0ZWN0 IER1ZWw= LmNtYg== W2l0 LlNldEJvb2w= IG5hcmNpc3M= IGFiaWRl IGVqZW1wbG8= IOKElQ== IG1vcm5pbmdz IGNvbXB1dGVz LnNzbA== anQ= IG11Y2hvcw== X1NT W2VuZA== IGJhc2lu IGFsZ3Vub3M= IENyb2F0aWE= bGluZXdpZHRo KHRhZ3M= KGhpZGRlbg== w61jaW8= IGFwYXI= INC2 5LiO LmZvb2Q= IFJ1cmFs IGJyZWFkdGg= 5b2x KHNlc3M= KyIp IFBhc3Rl IHNlcnZpZG9y IEJpdFNldA== IFRyYW4= bGF1cw== dmV0dGU= ZXllcw== IENMSUNL IFZJSUk= IFR1cm5z IExlQnJvbg== IE11ag== IERlZw== IEFkdWx0cw== X3N1aXRl cHJvY2Vzc2FibGU= IFBIWQ== Z2hlc3Q= LkZhaWw= IFNsYWNr Y2Vq XENhcmJvbg== IHN1cGVyc3Rhcg== IGhvbGRpbmdz KGZvcm1z ICcjJw== TXVsdGlw KCJbJQ== LXNvbGlk L3VybA== LXRpZXI= W2xlbmd0aA== IFN0cmVhbVdyaXRlcg== IE1hcmtldHBsYWNl Z2V0dGV4dA== X1RJQ0s= IEZvcmdl IGJsYWNramFjaw== IERPRVM= IE1hdHRlcnM= d2F2ZXM= IHdoaXNwZXJlZA== IGx1c2g= 7Jik ZGlnaXRhbA== IHdyaW5r IEhvZ2Fu IHJ1c3RpYw== LkFwcGx5UmVzb3VyY2Vz IEhhcmR5 b3NvbWVz QVVU LlNUQVRF IG5hcnJhdGl2ZXM= CXN0b3Jl Ymli CVNjYW5uZXI= IENvZHk= XFJlcG9zaXRvcmllcw== IHJldW5pb24= YW5kdW0= 4oCZaA== IHNuaWZm TlNCdW5kbGU= IGNvbXByZWhlbmQ= X1VTQUdF X29jYw== VVJSRU5DWQ== Sk5J IHNwZWNpYWxpemluZw== IHZpc2lvbnM= IGRvbG9yZQ== IHbDoQ== IENoZXZ5 IFN0eWxlZA== aW1wYWN0 YWxsZW4= IGthcnQ= IFRhYmxldA== c3R1ZmY= cmVlc29tZQ== 0LDRgtC+0YA= Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K X0FkbWlu IGNlbGxwaG9uZQ== IGF1dG9wbGF5 IGNhbWJpbw== IG1hcml0aW1l X0JPT1Q= LXF1YXJ0ZXI= IGxhdGluYQ== IEFKQVg= ZXF1aXY= IEZyb250aWVy IFhZ fV0K IFJvdWdo LnByb3Rv IGNvcnJlY3RuZXNz IGZhY2ls IFJlYWNoZWQ= 44Gd44Gu VklT LnBz IHN0cm5jcHk= IGRpZmZ1c2lvbg== LnN0YXJ0QWN0aXZpdHk= 77+977+977+9 IGFjY29tcA== QU1FU1BBQ0U= aW1vbmlhbHM= IEJsYXN0 YWJ5cmlu IGRvbWU= IGV4dHJhdg== IHllbg== IGN1bGluYXJ5 UFJJ IENvbW11bml0aWVz bmlk X29wZXJhdGlvbnM= Lmhz IE1pbHRvbg== IG5vaXNlcw== QXV0b3Jlc2l6aW5nTWFzaw== KGNpZA== fQoKCgoKCg== XX0sCg== IERldGVjdGlvbg== dGFibGE= IGxpYmVydGllcw== X0RZTkFNSUM= d2dldA== IFTDvHI= IFBhc2NhbA== VHJhbnNwYXJlbnQ= RGVsYXllZA== XSgp IEhlcmJlcnQ= PEFjdGlvblJlc3VsdA== Y2hhbGxlbmdl IG11c2hyb29t Lmluc2VydEJlZm9yZQ== IFJpbg== IGh1bW91cg== IGbDuA== YXBpS2V5 YWxsb2NhdGVk IGNvbmZlc3Npb24= LiIsDQo= CWFzc2VydFRoYXQ= IFNPUlQ= IExPUkQ= IGV4cG9ydGVy LnNldExldmVs cG9rZW1vbg== YXNodHJh IGbDqQ== dXJhdG9y KE1TRw== IHR1cA== IEh1bGw= IHlpZWxkZWQ= LlN1YmplY3Q= XFJvdXRl IT8= INGD0LTQsNC7 XFNlY3VyaXR5 LWFy IGFsbGVnYXRpb24= KFNldHRpbmdz w6RuZGVy IGVsbGlwc2U= IFJldHJvZml0 IHJlZ3VsYXRpbmc= IE1vbGx5 IExvaw== X0N1c3RvbQ== IFByb21v aXNpbg== IHJlc3VtZWQ= IG1ldHJvcG9saXRhbg== LmVycm9yTWVzc2FnZQ== Oi0tLS0tLS0tLS0tLS08Lw== Lm1s c2NvcGlj LnJlZnM= YXB0b3Jz IEluc3RydW1lbnRz IHByb3BhZ2F0ZQ== fS0+ IHBhc2Fkbw== dGhhbms= X0RlbGV0ZQ== IEJyaWdodG9u LHVuc2lnbmVk 5L2c6ICF IGFzcGlyYXRpb25z LWhvdw== Um9zZQ== PSgo X25lZWRlZA== X3BsdXJhbA== PEFwcGxpY2F0aW9u IFdFRUs= IFVubG9jaw== IFRFTVA= U291 IHNjaGl6b3BocmVuaWE= IHRyb2xs IGNvbXBsZW1lbnRhcnk= IE5FVFdPUks= IGJsaXI= IHByb2dyZXNzRGlhbG9n IiUo IEF0dHJpYnV0ZVNldA== CXRz Lml0ZXJpdGVtcw== 6K+d IGVzY3JpdA== dm91cw== X3BsYWNlcw== SEs= IHNlZ3Vpcg== X2Z3 IFJvdW5kZWQ= IGRpc3Bvc2l0 6KeG cGFybQ== d293 U1RSVUNUSU9O LmFsbG93 IENoYXJTZXF1ZW5jZQ== CWV4dGVybg== IHByb3NlY3V0ZWQ= IG1vcnRhcg== IEp1ZGE= LW1zZw== IGVzdHVk LmdldERlc2NyaXB0aW9u IHNvdw== YW1icmU= IHJvbWE= RW5o Ym9udXM= IHNxdWF0 IGRpc3RyYQ== ZWRJbWFnZQ== IHBlcHBlcnM= LXBlcmZvcm1hbmNl LAoKCg== LGZpbGU= IE1JTUU= X2NvbmNhdA== QUJT LWZhc2hpb24= IHVuZGVyY292ZXI= T25lVG9NYW55 IHJlY2xhaW0= Q09QWQ== IGJpbmRz IFRhcGU= IGdvc3NpcA== IEVxdWl0eQ== L0NhcmQ= LmFjdGl2 J2Ft IGRyYWluYWdl PFNjYWxhcnM= IG9uQmluZFZpZXdIb2xkZXI= KCk/Lg== IHNvcnJvdw== IEli dXB5 X1VVSUQ= IENoYXJt IEVsZWN0aW9ucw== Lm9uRGVzdHJveQ== IEludGVyZXN0aW5nbHk= b3VuZGluZ0JveA== X2RldGVjdGlvbg== LWhlbGQ= X3Vua25vd24= IHJlZnJhaW4= IG3DqXRvZG8= IGVCb29r RU5PTUVN IGRhbmc= UHJvZmVzc2lvbmFs IGRpY3Rpb25hcmllcw== L215c3Fs IFNUVUQ= IG1hc3Nl c2NhcGU= IGRyZWk= Om5hbWU= LmxvZ28= U2lnblVw IHRhaHVu KHRoZW1l IEZlbW1l IGJvbWJlcg== IEphZGU= IFRheQ== IHN1Ym1hcmluZQ== X2NsYXVzZQ== enljaA== IHNpbXVsdGFuZW91cw== IGNhc29z LmJvb2xlYW4= KGxocw== IGNvbnRpbmVudGFs LXNhbGU= CWVudg== IEN1dGU= IEZhY3RvcnlHaXJs YWJ1cw== L3ZhbHVl IGphZHg= IHN0ZXJu Pj4KCg== IHN1cmZhY2Vk IOyggOyepQ== cGxhdHo= CWVtYWls Y2VwdG9ycw== Ij4o IGVwaWxl 6K+7 IERlYnQ= 5ZGK Tk9Q Imh0dHBz Omo= Rm9ybUl0ZW0= X0xJQ0VOU0U= LmdldERvdWJsZQ== IEFnZW5kYQ== CWZpbmFsbHk= KGZpbHRlcnM= KGF2 576O QVBFUg== IGxhdmE= 0LXRgNC2 KSkpKQoK IGZhdWx0eQ== X25t IHRyYXZh KEJpdG1hcA== IHNwZWVkaW5n PicpLg== IHNjcmVlbmVk X3JvbGw= IE1hY0Jvb2s= IEFVRA== IGRpYWdub3Nl LkdlbmVyYXRl IF5e IHN0cnM= W1Rlc3Q= IHJhbnNvbQ== IERIQ1A= ZWxkZW4= IGludGVycHJldGF0aW9ucw== KCldLg== ZmxhdE1hcA== IGxpbmVIZWlnaHQ= X21vdW50 IFdpemFyZHM= IHNsdXRz ZWhsZXI= b2RhbA== IG1pbGl0aWE= 5bI= ZWFybmVk IG1pc2VyeQ== aW50dmFs ZnVuZA== IGhpZGVz IGRpYXJy IFdlc2xleQ== IHhtbQ== IHF1ZW0= IEFyYWJz aWZ0aA== YXRlZ29yaXplZA== RGlzcG9zYWJsZQ== UHVyZQ== X05PVElGWQ== c25pcHBldA== IEdhcnJldHQ= LnJ1bm5pbmc= LndlaWdodHM= ICgtLQ== IGludmFyaWFudA== 5LqL5Lu2 IEFsbG93ZWQ= ZGlycw== IHBhc3Npb25z IGxhZA== IEZsdXNo bWVudXM= OmJsb2Nr IGNvbXByYQ== LmNob21w YWxsb2NhdG9y IGN1cmF0ZWQ= IEtub3dpbmc= IFBhdHRlcnNvbg== IHRlbGFo J2V4 IGRvb21lZA== IHBoaWxhbnRo b3R0eQ== LnN0eWxlcw== T3duZWQ= IGFsbGVyZ2llcw== PXBhcmFtcw== b2Nlc2U= aXRlbGlzdA== IFNlbmRpbmc= YmVm b3JyYXI= IE7Do28= IEZhcmdv IEx1Yg== IENvbWJpbmVk X2dpdmVu CQkJCQkgICAg IHJlY29uY2lsaWF0aW9u UGF0dGVybnM= YXphcmQ= IGJpb21hc3M= IEhvdXNlcw== cmVzcHVlc3Rh Y2Nv L3RvcGljcw== IFl1aw== IHdlYWtlbmVk X2NhbGVuZGFy IG11bGhlcmVz IE1hcmw= IHNpbmU= IFRpbA== IFNvdWxz IERldXRzY2hl IEZPTExPVw== IHBpcGVsaW5lcw== IEJldmVybHk= X0RJUFNFVFRJTkc= IiM= IFByb3Rv LmJpZw== IFNhdmluZ3M= IFRhbno= anVu IEdhbW1h IFNhZGQ= IGFkdmlzb3Jz IHJvYXN0 IHVudGVycw== dWRpZXM= X2xvbg== LXBvaW50ZXI= IEVsZW1lbnRSZWY= XEJ1aWxkZXI= ZXhhbXBsZUlucHV0 LndlYmRyaXZlcg== ZGF0YVR5cGU= IFF1aXRl IENlbHRpY3M= dWls LWRlZmVuc2U= YmlzaA== IFVJV2luZG93 IFN1ZGRlbmx5 LmhvdA== LnJlYXNvbg== IGfDtnI= QU1E Lk11bHRp YXV0aGVudGljYXRlZA== cmVnaW9ucw== Oyg= 0LDRgNCw0Lw= IEtpcmJ5 JHJvdXRl UFJFQ0FURUQ= IER1cmhhbQ== b3dv IFBlcmZvcm1z IGRpc3JlZ2FyZA== bnN0 IFBvbHM= IGdldFA= Il06 LWNvbG9yZWQ= KEtleXM= IEFsbGVn X21vZGlmeQ== X2xvYWRpbmc= c3RyYWluZWQ= IGF0cm9j X3Bocg== PFNwcml0ZQ== IHNhdGlzZmFjdG9yeQ== bWFuc2hpcA== LnBpcGVsaW5l VG9ueQ== IHRoaWVm cG9sYXRvcg== KGxvY2s= YnVyc3Q= IE9wdGltaXphdGlvbg== IHN1cmZpbmc= Illlcw== IGRlc2NlbmRlZA== 5pI= X0NsZWFy IGNyaWVz IEZyb3plbg== RElSRUNU LUNvbg== IExlaWNlc3Rlcg== 5aWz T09N PWRi IGdldE1lc3NhZ2U= PFN0dWRlbnQ= X2JhdGNoZXM= Lk1hc2s= X2V0aA== XCk= IHNvbWE= Q2F0Y2g= W2No T3duZXJz aW5kbGU= OmF1dG8= LnZlcnQ= aXZy LnNldExvY2F0aW9u IGZsdWVudA== X0VORElBTg== IENhcmxv Y2VwdHM= YWRkQWN0aW9u Lm9hdXRo PFVuaXR5RW5naW5l cmVlbWVudHM= LlNraXA= PykKCg== LmRlZmF1bHRQcm9wcw== IGNhYmU= IFNoZW4= ZXJvc2lz IFByb2ZpdA== IHBvaXM= X0NSRUFURUQ= IHJlbW92ZUZyb20= KHdz P2FjdGlvbg== KEZpZWxk IGVycm9uZQ== Lm1pbmltdW0= IFJldHJpZXZlZA== IGRhZG8= IFBSSVZBVEU= LXNwZWM= IGd6aXA= cGRhdGE= IHBvc1k= KGxvdw== IHF1YWxxdWVy L2Nsb3Vk 6rKM KGNvbW1vbg== IEFyYmVpdA== b3JnYW5pc2F0aW9u IHRpZHk= IFJvbGFuZA== KHBo LnpvbmU= IGdlbnRsZW1lbg== xrDhu6Nj 5bGx IGVuY2xvc3VyZQ== IE1hbmFmb3J0 CUNvbG9y U3RlbmNpbA== Tmlj IHRoZW9yZW0= IFZH IGNvbG91cmVk VkJveExheW91dA== dWxzaXZl RHJhZ29u Y2Zm ZXRlc3Q= ZW5zYQ== b2ZkYXk= LkF6dXJl OlVJQ29udHJvbEV2ZW50VG91Y2hVcEluc2lkZQ== X3VwZGF0ZXM= IHRyZW5keQ== dWdhcw== d2Vha1NlbGY= IHJpZGdl aWJyaQ== IOy2lA== KENH IE1vbmtleQ== LndyaXRlSW50 LnRpbWVkZWx0YQ== Vmlld0NvbnRyb2xsZXJBbmltYXRlZA== IFByb3ZpZGVuY2U= 44GI IGJsZW5kcw== L1N1YnRocmVzaG9sZA== IEFwcGw= IGF0YW4= IHJlbG9hZERhdGE= dW1ib3Ryb24= c3TDvHQ= T0F1dGg= IEdpdmluZw== IOyEpA== IEZpbm5pc2g= Y2hlY2tpbmc= LkVtYmVk c2VxdWVsaXpl IGluaXRpYWxpemVz IE9zbG8= 2LY= Z2V0RXh0ZW5zaW9u X0FMVA== KGJsYW5r IGZhdGFsRXJyb3I= IGRlbWlzZQ== KioqKioK IFhT KEFG IEVucw== YW50aGE= IFBPUg== IG5pY2g= Lk5hbWVk IGdpZ2FudGlj IE9ic2VydmF0b3J5 LlJlc29sdmU= IFBheW1lbnRz Z3VpbGQ= IGN1cnJlbnRTdGF0ZQ== PT09PT09PT09PT09PT09Cg== IFNleQ== cERhdGE= IGRlYWRsaW5lcw== IGNlbnRyYWxpemVk IFNjaG9sYXJzaGlw X3N1cHBvcnRlZA== LmNocm9tZQ== KCldKTsK IGN5YW4= IENhZ2U= QXV0aG9ycw== Xw0K L29z a2lt ZGVl LnRleA== IHlvdXJzZWx2ZXM= IG1ncg== IGFsaw== LWluc3RhbGw= IGRyYWZ0aW5n IHJ1bW9y IHN0YXR1ZXM= UG9vbGluZw== b2xpbmE= QUFBQUFBQUE= LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t IGV4dHJlbWlzdHM= Q2FsY3Vs aWdodGhvdXNl SW5zZXQ= KElOUFVU IHN5bmNocm9uaXphdGlvbg== aXZpcnVz LmF4ZXM= IEdhcA== LUFu X1RlbXBsYXRl IGdhbWVy IENyaWNrZXQ= IGxpbnQ= IGF1dGhvcml0YXJpYW4= TlNVSW50ZWdlcg== IHJlZG8= IGFkaXBpc2Npbmc= X0ZFVENI Y2hlaWQ= IEZhbmc= LmluZGljZXM= dG9uZQ== 0LTQtdC7 IHt7LS08 YnJhaGlt IHNhbGE= Z2V0Q29kZQ== IGNvbW11bmljYXRlZA== c3RhcnRzV2l0aA== ZXJ0eg== UmVhZGFibGU= SXRlbUlk b3JlZmVycmVy Y3JlZGlibGU= w6FyaWE= IGNvbWJpbmVSZWR1Y2Vycw== KiovCgo= IGJsaXNz IGFkb3Ju ZGVwZW5kcw== IFJPT00= IGZyYW1pbmc= ID8nLA== YXV0eQ== X3BvdA== X3RhYnM= RXhhY3Q= LCIs ICd9JzsK IGFyYml0cg== YWhyYWlu LmdldFN0cmluZ0V4dHJh ICRc IG91dHB1dFN0cmVhbQ== IGNvbW1lbmM= YW51cw== Y2h5 PEVtcGxveWVl IGhleGF0cmlnZXNpbWFs IG5hY2lvbmFs KHNlcmlhbGl6ZXJz X3B1dGNoYXI= X1NBRkU= ZW50aWFsQWN0aW9u SXRlbVNlbGVjdGVkTGlzdGVuZXI= LkRpc3BhdGNo Q29uZmxpY3Q= X2Fib3V0 b3NhdXI= Qm91bmRhcnk= IGNsZWFyQ29sb3I= KExvY2F0aW9u IE1PTlRI IFRhc3Rl LUdlbmVyYWw= IFdBUg== IGVyaGFsdGVu LXNhdmluZw== IGNvdXBsaW5n LXRyaWdnZXI= bW90b3I= IHl5eXk= IFBhdGVudA== cHRv IG1pc2RlbWVhbm9y dmFzaW9u IEFkbWlyYWw= 4LmJ4Liy X1BXUg== IGRldmFzdGF0ZWQ= Zm9saW9z SVRVREU= dXJyZWN0 IHJvYm90aWM= IFNhbmN0 IEhhd2FpaWFu LlJvdXRl LWNvbmRpdGlvbg== IHJr LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK Y3JlYXRlRWxlbWVudA== IEtvcA== aWduYW50 LnJvbGxiYWNr IHNhbHVk Xycs IEFOU0k= RXhjZXB0 IERyYXdhYmxl LlV0Y05vdw== Ijpbewo= IGtvbGU= THVh IEJlbGlldmU= Q29tcHV0 IGhhbGx1Yw== IFNpZ25z cnN0 Lmh1 IEtOT1c= V2k= IEJyYXNz IFJhcw== QGhvdG1haWw= IHNlZGltZW50 IGFwaw== IOyDgQ== X3JlZ2lvbnM= IHBvZGl1bQ== PEJvb2s= 0LbQtQ== IHNpeHRlZW4= IEFsaWFz IGluZnJhcmVk IFZhbmRlcg== IExlYWRpbmc= dWNpbmc= LDosOg== X2hvcg== d2F0 IGTDqWNvdQ== X1dpZGdldA== U291bmRz X25hdmlnYXRpb24= IHNjaG5lbGw= KGdlbmVyYXRvcg== dWNlbmU= IHJlbWFrZQ== SVB2 IHLDqWFs X0lOQ1JFTUVOVA== IGh5cG90aGV0aWNhbA== X2FuZw== IG9mcw== ICEK LmNvbXBsZXRlZA== R2V0VHlwZQ== IGtvbW1lbg== w6FsaWRv YWRkT24= IHrFgg== VUxB X2luZGljYXRvcg== J10KCgo= YXBhY2hl X1NlbGVjdA== IEdyZWVuZQ== V2hhdHM= X2FuaW0= IHJlcGV0aXRpdmU= bXVjaA== IFRocmVzaG9sZA== IGxm KENhdGVnb3J5 Y29uZQ== TWl4 X01FVEFEQVRB YXlzaWE= TmVpZ2hib3Jz CQoJCQo= SVBIRVI= IEZyYWc= IENlbGxz IG5hbWVzcGFjZXM= KGJhY2s= IFJlc3RhdXJhbnRz c3Zj INC70Lg= b3RlY2g= LXNs pb8= IFdU IFJlZHVjdGlvbg== IGRvdHRlZA== CWZvdW5k IFRFQU0= Qm9ybg== IE11c2g= IENvbXBhcmFibGU= IGhpdGNo QVRP IG1heEhlaWdodA== YmVnaW5UcmFuc2FjdGlvbg== w612 X2Ju IGhlcmQ= IHJldmVyc2Fs IEhvbmQ= ZGVsaW1pdGVy IGNvbmZ1c2U= IGhvcHM= IGNlbnRyb2lk IGNvdXJ0cm9vbQ== LmRlY29yYXRvcnM= IG1waQ== IEltcHJvdmVk SU5ORVI= IEJhbmdhbG9yZQ== IFRhbWI= IGJvYXN0 KCkpKQ0K IGlsbGljaXQ= IE1vcm9jY28= Z3JlZ2F0b3I= X3Jlc3VtZQ== IGNyYWNrZG93bg== IHBvcnRyYWl0cw== L2hpZ2g= KFwn IGF5dWQ= X2ZlZWRiYWNr IGNhdGU= L2F2YXRhcg== IGhlYg== UG9pbnRDbG91ZA== IOWSjA== IDwhWw== IGdldFJlc291cmNlcw== fTp7 T3BlcmF0aW5n IEZvZw== CXRhYg== IFJlc2VhcmNoZXJz IGZhYnJpY2F0aW9u LmRhdGFzZXRz IENhbXBv IEthdWY= IGRsbA== bGlndA== XSkpOwoK c3RlbGxlbg== QUNLRVQ= bHZs IEdsb3J5 LmRhdGVUaW1l IGNvbW11dGU= IG9uQ3JlYXRlVmlld0hvbGRlcg== IFhFbGVtZW50 IFRva2Vucw== PHRoZWFk X3BpY2s= 7KQ= dm9u ZGVwYXJ0dXJl KHJlbmRlcmVy cGhvbmVOdW1iZXI= KFBlcnNvbg== Z2VuZXM= IExhcnM= ICl7Cgo= IEpzb25SZXN1bHQ= IG1ldG9kbw== Vk9LRQ== LmdldFVzZXJJZA== QWNjZWxlcg== CXJlcXVpcmVk IGNoYW1waW9uc2hpcHM= QnVpbGRDb250ZXh0 L3Rhc2s= L3JlbGVhc2Vz Q2F0ZWdvcmlh X292ZXJsYXk= IHNjYXJjZQ== X2xpbQ== bmdy YWhsZW4= IEFydGlmaWNpYWw= c3ByZWFk IGJvd2xpbmc= LmFuYWx5c2lz U01UUA== CXBhc3N3b3Jk IGJhdGhz XSkpewo= Y3VycmVudGx5 YWNpZW50ZQ== X3NlcGFyYXRvcg== IGRlYmVy IERpc2FibGVk acOocmVz IOKV X3Byb2Nlc3Npbmc= IHByb3Rlc3Rpbmc= IFJPVA== Z3JhYg== INC30LDQug== IHByb2FjdGl2ZQ== d29yZHByZXNz IFNldmVy aW5kZW4= IHdpa2lwZWRpYQ== KXsNCg0K X3dpbmRvd3M= aXNsYXRpb24= IHVucmVzdA== IGRpc21pc3NhbA== Lk5VTQ== X0ZBU1Q= aXNzdWVk IEZBQ0U= X3VuZGVy IHBsdWdnZWQ= IOWw IGLEmWR6aWU= IElDQw== IGNvbWJ1c3Rpb24= IGtpc3NlZA== IHN0YXJyZWQ= IFdhdHRz IHNwaWVsZW4= LXB1cnBvc2U= IEV2YWw= YXJnZXM= LHJlc3VsdA== dGVjaG5vbG9neQ== IG5hdGlvbmFsaXR5 aWN1cw== IE51Zw== INGC0L4= CQkJCQkJCSAg Y29sbw== IGdhc3Rybw== YW50ZWVk T0xJRA== LmJpYXM= X3RlbGU= Lmluc3BlY3Q= IHZlaWw= LmZvb3Rlcg== IG5lZ2xpZ2VuY2U= IGp1ZGdtZW50cw== Um9vbXM= eW5u CWNvdW50ZXI= b2NjdXBhdGlvbg== IOeUnw== dW5hcw== ICheKSg= TGFtYmRh ZmVs LlBhcmFtcw== INC00L7QsdCw0LI= c2V0TGF5b3V0 IGRlcG9ydGF0aW9u IGxvY2FsT2JqZWN0 IFBoYXJtYWNldXRpY2Fs Y2VwdGl2ZQ== IE5vbWU= RXF1aXBtZW50 RmFu VW5pdmVyc2Fs CXNvY2tldA== IGdyaW4= IGV4cG9zZXM= IGhhYmVy IHNpbmNlcmVseQ== IGNhbXM= IG3DvA== ZW5pYQ== RW1lcg== Q3J5cHRv U2xvdw== KHhocg== IT0o LXNlcnZpY2Vz IFBX IHByZW5kcmU= IG3DpGRjaGVu ZW1vbnM= 0L7Qt9Cy0YDQsNGJ Lk1hbmFnZXI= 7Jk= IGdyYWY= LXJh bWV0cmljYWw= L2Zs IGNlbWV0ZXJ5 Z2Vucw== IHDFmQ== IE15U3FsQ29tbWFuZA== LVRv IHbDpQ== IGFpcnN0 b21lbnR1bQ== IHNlcnZv bWlsbGlvbg== IE1pcmFuZGE= IlNoZQ== IGFkdm9jYXRpbmc= LWNhcHRpb24= IEF0dHJpYnV0aW9u IHdlbGNoZQ== X3ZlbmRvcg== CVN0YXR1cw== YXJyaXM= IHByaW50aw== IiwiIw== IHJlbGF0aXY= aWZmZXJlbmNlcw== aXp6ZXM= IGRlY2ltYWxz IFByb3Y= Lm1heGltdW0= QXJu IGhlbGljb3B0ZXJz X0JPVFRPTQ== Y2h1cmU= b2Rpbmdz Jyg= IikpKTsNCg== KGJlYW4= LmZk RnVuZA== IGhhbmdz YXBwaWQ= L2tlcm5lbA== LnBvaQ== Lk1pblZhbHVl LXZhbGlkYXRpb24= THVrZQ== Y2Rm IEZ1bmVyYWw= IFNhbXBsZXM= CWRl IHRvYXN0cg== IHRheGFibGU= IGNsdXN0ZXJpbmc= ICdcJw== IHJlc3RyYWludA== ZWNlZA== Y2hhaW5z 44CC77yI X0dSQVBI IGZ1ZWxlZA== 6ZyA SHA= 5aSN VGlsZXM= IGF1bnF1ZQ== SkM= IGhvc3RhZ2U= IEVzaw== IG1hdg== IGdlc3Rpb24= IGJhbm5lcnM= fXsk LmludFZhbHVl LiciCgo= X01BVFJJWA== IGNlYXNlZA== IEdPRA== X0NBTUVSQQ== LkFsbG93VXNlcg== dHJhY2tlZA== Q29vaw== YmFpcnJv KGNvbXBhbnk= IHZpZXdwb2ludA== LmdldFdyaXRlcg== IE5ldHM= d2l2ZXM= ICgpKQo= ZXhhbXBsZU1vZGFs CWNoaWxk IG15dGhvbG9neQ== IC8vIg== X2F4ZXM= aWJvbGQ= LkRhcms= IE1heHdlbGw= IGdwb2ludGVy b2xpY2l0dWQ= QmF0 dWxuZXI= YmFsYW5jZWQ= bWFpbGVy IGNvbnRlbXBvcg== 5omL5py6 KCJfXw== ICIpIg== cmVhcg== IEh1YW5n XScpCg== 16k= RlRB IENhbGxpbmdDb252ZW50aW9u IE91dHB1dHM= UGs= LlJlZmVyZW5jZQ== bGVjdHVhbA== ICk6Cgo= IGJyYWNlbGV0 dWdlcg== CUVycm9y U3dlZXQ= KCIvIik7Cg== aHg= IHVucmVhc29uYWJsZQ== SW50ZXJwcmV0ZXI= IGxvZnQ= X3Byb2R1Y3Rv IHNvY2lldGFs LlBhcnNlcg== IEFkYXB0 LmZvbw== KHdoZXJl LkZlYXR1cmU= IFlhbWFoYQ== Z2xhc3M= Rm9yZ2U= IHByb2hpYml0cw== IGNhcGFjaXRpZXM= IO2VqOyImA== IHBlcm11dGF0aW9u IGlobQ== Rmxk ZWxpYWw= PT09PT09PT09PT0K QENvbmZpZ3VyYXRpb24= IGdlYXJlZA== aW9zbw== aWVzdGE= dHJhbnNsYXRpb25z SW5wdXRDaGFuZ2U= UG9wdWxhcg== IFBMVVM= IHZm X0ZyZWU= YmJveA== IGNhdXNhbA== UElMRQ== IHNjaMO2 IGlyb25pYw== TWly LkA= 5Y2X IOiH UmV3 dWxlbmNl Zmxlbg== IGNhbkFjdGl2YXRl LXJlc3BvbnNl IGFjY2VudHM= aWdub3JlZA== wrBG LkRlcGVuZGVuY3lJbmplY3Rpb24= CXBvaW50 IGNvbnRpbmdlbnQ= IHNxdWFzaA== IHBhcm1z IENlbWV0ZXJ5 IGRlbHRhVGltZQ== IERPUw== IHZhbmlzaGVk 0LDRgNCw0LzQtdGC IERQUw== dGZvb3Q= IFp1cw== X0lOU1RBTEw= R0FO IGFyYg== IG11bmljaXBhbGl0aWVz SW50b0NvbnN0cmFpbnRz QXV0b3Jlc2l6aW5nTWFza0ludG9Db25zdHJhaW50cw== LGltYWdl X2lnbm9yZQ== IGRhbmdlcm91c2x5 cXVpc2E= cGx1Y2s= IGhhcnVz dXBwZQ== SHR0cEV4Y2VwdGlvbg== QnJhY2tldA== LicnCgo= IFRvbA== IFZpZXdlcg== emJvbGxhaA== LkNvZGVBbmFseXNpcw== w6xuaA== IGNvcnJlY3RhbWVudGU= LmRh IEFsZ2Vy 15A= YmF1bQ== IFBhbnRoZXI= cGFydGljaXBhbnQ= 5b+F LXN1cA== IGVtdWxhdG9y IGZhZGluZw== IFdvbHZlcg== Y3JlYXRlcw== IGJvb2tpbmdz LlF1ZXN0aW9u p+ihjA== IHN0cmVzc2Vz IHJld3JpdHRlbg== LlBJUEU= ZWRlcw== IGNiZA== IjoiLw== IGVuaGFuY2VtZW50cw== X3N5 QklO IFNsaXA= SW5zcGVjdA== IFdlZw== IGNvbmdyZWdhdGlvbg== IF86 X3Jt RnJhbWVidWZmZXI= ICcmIw== IEZhbGxvdXQ= SXNSZXF1aXJlZA== IFBlYXJzb24= IEZBQ1Q= IHJlbGll CWJveA== IFNoZXBoZXJk IFdpa2lMZWFrcw== IENvbGxlY3Rvcg== IHJlc2l6ZWQ= bWV0aG9kTmFtZQ== IGV2ZW50VHlwZQ== IEF0aGVu RGVzY3JpcHRvcnM= IGJlcnM= LW9wZXI= IEluaXRpYWxseQ== 5aE= X0JUTg== ICAgICAgICAgDQo= w6Fi X2NhbXBhaWdu X3dhdGNo Rm9yZA== LWRhdGVwaWNrZXI= IHZpc2M= IHNhdHU= X3Ntcw== IGNvbnRhZG9y LXN2Zw== IERPSQ== JGFyZ3M= IGtub2I= LkJPTEQ= IGRlYmF0ZWQ= aW1ncw== c29ja29wdA== dHJ1dGg= IEZlZXM= IGhXbmQ= X2Zvb2Q= IGFicmFz IG5vdGlvbnM= IFRvZA== OmNyZWF0ZQ== IENvbmZsaWN0 VXN1YXJpb3M= T1RPUw== IG1zbQ== S0hUTUw= KFso ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= IH1d d2l6YXJk IG1pZW50cmFz IGRhdGFMaXN0 IGVtZXJnZXM= xINuZw== LlJlYWRJbnQ= UEdB SUxMSVNF SUVudW1lcmF0b3I= KHR1cGxl Q2hyaXN0bWFz TG9va0FuZEZlZWw= b2dlbmVyYXRlZA== ICMKCg== Y29udHJvbGxlZA== IGV4cXVpc2l0ZQ== IGFjZXN0 UmVhZFdyaXRl R2Fpbg== 44CN44CM IGNvcHlyaWdodGVk IGRvb20= LlRhYmxlTGF5b3V0UGFuZWw= IERvcnQ= IGNoaWxp IHdlcms= IEVWRU5UUw== IEJlYWNvbg== IHNoaXBtZW50cw== IHNlYmFnYWk= dXBvbg== dXRvbQ== LmNvbnZlcnRlcg== LkRyb3BUYWJsZQ== PXt9Cg== Zmlj fgoK IGxlc2JpYW5z X25h Rm9yZWlnbg== CXRoZW4= L21z IG9yaQ== Z2V0UHJvcGVydHk= CXNucHJpbnRm aGVzaW9u 44Gk In0sIg== IGFjcnlsaWM= UGVycw== QEVuYWJsZQ== SXNs KENhcmQ= LlN0YWNr TGljZW5zZWQ= X0dVSUQ= OnRpdGxl IGh1c3Q= IHByaW5jaXBhbFRhYmxl YW5pdGl6ZQ== L2VtYmVk IGVuc3VyZWQ= IEVHTA== 2YjYsQ== IOWIhg== LywK IGZ1bmRyYWlzZXI= S2V5TmFtZQ== IG1hcmNoZWQ= X1ZBTFVFUw== IFNjZW5hcmlv IG1ldGlj X2Fzc29jaQ== IFBhc3Rvcg== CQkJCQkJCQkJCQkJCQkJCQkJ ZXJhdGU= IGludml0YXRpb25z cXVvaXNl IGJsYW1pbmc= IGRhcmluZw== VU1NWQ== IHJpY2hlcg== ZW1ha2Vy IElkZW50aWZpY2F0aW9u IOyduA== IEJpbmRpbmdGbGFncw== Y2hhcw== IHJlc2lsaWVudA== X3Bn IHJlbGVn IElSQQ== U1RF IHRyYWN0b3I= LWxvYWRpbmc= IFByZXZpb3VzbHk= IFZhY2M= L2Jl IG7DpXI= IHVybGVuY29kZQ== IE5vcmZvbGs= LlJlbGVhc2U= IE5ldXRyYWw= 5Lit5Zu9 IEFybGluZ3Rvbg== IGFsbGVnZXM= IFdyaXRlcnM= VGVzdGVy IFJhbGx5 IGPDoQ== CVByaW50 IOKHkg== IFVzZXJDb250cm9sbGVy IFNlZWtpbmc= LlZBTA== TGlzdE5vZGU= X2Zm IFBoaWxsaXA= RkFDVA== IGNhcmFtZWw= IE11bHRpcA== IENvbXBhcmVk IFNlcmJpYQ== n7M= IHJldml2ZQ== IEthbnll IHZlcmdl IEJ1bGdhcmlh Z2V0Qm9keQ== IHw+ Y2VwaA== LkRhdGVUaW1lUGlja2Vy LiI7Cgo= IFRpZQ== LGl0ZW0= IG1lbm4= R2Fz b2NoYQ== X3ZpcnR1YWw= IG1hc3RlcnBpZWNl X3NlcXVlbmNlcw== TFRF IFN1Ym1pc3Npb24= Q2FsbGVy JFw= U3BvcnQ= YWd1cw== Q29uc3RyYWludE1ha2Vy IGNvbG9j IHdpZw== INCj CUFycmF5 TG9va3M= IEdUQQ== LnN0ZXBz YXRjaGV3YW4= X3Jhbmdlcw== ZXh0QWxpZ25tZW50 IEJyZW5uYW4= IGFic3RyYWN0aW9u dWxlckFuZ2xlcw== Lm1pc2M= IGFudGlib2RpZXM= IGV4cG9uZW50aWFs IENIQU5ORUw= ZXhwZW5zZQ== J3k= IGRldGVjdGl2ZXM= IHB1cnBvcnRlZA== WVNURU0= IHJhZGlvYWN0aXZl IExhdGluYQ== LkVuY29kaW5n LlRBRw== eGlu RGVncmVl dXJhY2lvbg== cHJpY2Vz IFJlZmVyZW50aWFsQWN0aW9u IHJhcml0eQ== IHBpbGVz Z2VuZGU= X3Byb2plY3Rz X2dsb2JhbHM= LnN0YXJ0VGltZQ== IOq1rA== U0VDVElPTg== X3B1Ymxpc2g= RmF1bHQ= RERM X3ByaW9y TW9t IHRoaWNrZXI= IHNlcXVlbGl6ZQ== IGVzc2VudGlhbHM= c3RyYXM= aW50cg== PigoKQ== Lm1hbmFnZW1lbnQ= ZWls 6Zet QXdhcmU= LkNpdHk= IEFyYml0 X0RN X2tleWJvYXJk TE9iamVjdA== LXdlYnBhY2s= IE5ld3BvcnQ= IHByaW5jaXBhbENvbHVtbg== bGVnYW50 IHBhbGxldA== IGZyYWN0dXJl IGdtYWls Lk1ldGE= QWJvdmU= LktleUV2ZW50 aml0 X21hY3Jv X1BVU0g= 4bup L2NvbnRyb2xsZXI= 5Yqg6L29 IHN1cGVyZmljaWFs ZXh0ZXJpdHk= IG1lbnNhZ2Vt V2luZA== aXN0b24= Lm9wZW5hcGk= 0LjRgNC+0LI= IFNlcmlhbGl6ZXI= dWN0aXZl IHphcg== UGxhY2Vz LlN0YXRpYw== QmE= IGluYWR2ZXJ0 IEluZG9uZXNpYW4= X0lQVg== KGhvcml6b250YWw= IGdldFRpdGxl aWRlcHJlc3M= IENvbnNvbGVDb2xvcg== aXBlcnM= JG91dA== IGZlc3RpdmU= IGV2ZW5pbmdz LkdldERhdGE= dWl0a2E= IE1hbnVhbHM= dXNzZWQ= X01heA== LkNoYXQ= IEFpcmNyYWZ0 PWNvbQ== Rk9VTkQ= YXBybw== IHRyZWFzdXJlcw== X2FsaXZl IGdhZGdldA== ZWtpbmc= QnV0dG9uRG93bg== QnJvd3NhYmxl LlBFUk1JU1NJT04= UEFTU1dPUkQ= IEhBU0g= ZsOp XFRlc3RDYXNl TE9TUw== b3RoZXJz LEo= IGFzc2hvbGU= d2Vyaw== IG3Dow== Lmll ZXZpbA== a29udGFrdGU= Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K PXN5cw== CWxvY2s= LS07Cgo= X0ZVTg== RmlsbENvbG9y w7Nh cHJlbmQ= IGNvbXByZXNzb3I= TW90aGVy IEFyY2hlcg== LmdvdG8= IHfDvHJkZQ== IGJhbWJvbw== 77yO IFRyZWVz IGJ1bXBlcg== IHNhdXNhZ2U= IEVsYXN0aWNzZWFyY2g= IGhvcml6b250YWxseQ== IEd1bA== SW1tdXRhYmxl IGxvc2Vy IGFib3J0ZWQ= LWRlbW8= IEhhdGNo IHVuZGU= IHByb2Nlc3Nv LWNhbGw= SW5jb21l 5YM= X3JldHVybnM= J10uIic= KHN3 Q0JT YW1pbGllcw== IFlvdXJzZWxm IEhvbHQ= Lk1PTg== 4KeH 0YjQtQ== YW5vbg== IEZvbnRBd2Vzb21l cHJvZHVjZXI= anI= IG1hdQ== CWludGVy IGRpc2hvbmVzdA== IG1hZ25h IENvbGxlY3RpdmU= IHZyYWltZW50 IGNob2l4 c3RheQ== IHdlbGRpbmc= cmlzaW5n LG1pbg== IEZhdGU= Z2xvYg== UkdCQQ== IGRldHRl VmVu IGVtYmFycmFzc21lbnQ= LkRFTEVURQ== Z3JlZ2Fy LXJlbmRlcg== KGJ1Y2tldA== Ij4KCgo= LndhaXRLZXk= QnVzeQ== IGRpZmZlcmVudGlhdGlvbg== IENTVA== LkNvbnN0YW50 IGxpbmVOdW1iZXI= KG1hdGNoZXM= IHdlYnNvY2tldA== IGJhcnJlZA== IHB1ZWRlcw== TW9ubw== Q09SRQ== SUlE ICAgIA0KDQo= IHDDumJsaWNv bGVhbmluZw== IGNsZWFuc2luZw== IGNyaXM= IERldmlscw== X1NFVFRJTkc= dW50YXJ5 Lik7Cg== CiAgIAo= W2N1cnI= dHN5 IEFsZXhpcw== cml0ZWw= IHBldHJvbGV1bQ== LnByZXByb2Nlc3Npbmc= bWF0dGVy Rm9yUmVzdWx0 LWxpY2Vuc2U= IHRyYXZlbGxlcnM= IERpc3BhdGNoZXI= ZW5uaWZlcg== IGRpZ2VzdGl2ZQ== UEVE aGliaXRpb24= TUFTQ29uc3RyYWludE1ha2Vy IFdhdHQ= QmVuZWY= LnNldFZpZXc= ZHRv VEVF IFBlbG9zaQ== X0VYVFJB IG1lZGFscw== eGhy Zm9yZWNhc3Q= IG5hcmdpbg== b3Vucw== LWZpbGw= X0NVUlNPUg== IHN1cGVydmlzZWQ= IHR1cmY= IEVkZ2Fy UE9TSVRJT04= IGNhdGVnb3J5SWQ= 4ok= X0VS 4bunYQ== U2hvd24= Lmxs X1BPTElDWQ== KCksJw== IFByZXY= IFN0cmluZ0ZpZWxk CUdsb2JhbA== YXNzZWQ= VGhyb3VnaG91dA== b3N0cmluZ3N0cmVhbQ== LmF3dGV4dHJh IHNsb3Blcw== IFNlcXVlbnRpYWw= IGdpb3Ju IHplbGY= IHZlcnNhdGlsaXR5 bGVuZWNr LmNnaQ== IGRvdWJsaW5n IEJhbmdrb2s= IGJ1dXJ0 IHVzdcOhcmlv c3R1ZGlv IGpldW5lcw== IG11dGVk IGlwcw== X2ZyYWN0aW9u JiYo IHN0dW50 Jyk7Pz48Lw== IExpZ2E= IHF1YWxpdMOp QXNzaWduYWJsZQ== IHdvcmthcm91bmQ= IHNwdXI= IHNsZXc= X0dF IEFncmljdWx0dXJhbA== IHJlbGVudGxlc3M= KFF1ZXJ5 IFNlY3Rpb25z IHJldmlld2Vycw== UmFpbg== ZGxn YXNzZXJ0RmFsc2U= IG5vbWluZWVz X18pLg== LmR5bmFtaWM= IFBCUw== Q2hhbmdpbmc= IHNsaWdodGVzdA== IE1hbmc= fT4NCg== IGV2YXBvcg== YmFibGU= IFBSSUNF IOaz bHVjZW50 IHZhbXA= IFRlY2huaWNpYW4= IHVuaXF1ZW5lc3M= TWVz dXJiYW4= LnBhcmFtZXRyaXpl IFJlcGxheQ== U2Vzc2lvbnM= ZW1icg== LUFtZXJpY2Fucw== X1BST1hZ IHBpYW4= IHRyaWU= IERlc3RydWN0b3I= R2FtZVN0YXRl IElNRg== Y2hpbg== IHBvcnRl IFN3YWw= 5Z+O U3Vic3RyaW5n aW1pbmc= L0xpYnJhcnk= IGZyaWdodGVuZWQ= d3JpdGVz IHJlY3Vyc29z YXJSZXN1bHQ= X0lOSVRJQUxJWg== IEJhZGdl X2NyYw== RWlnaHQ= IERJU1RJTkNU IHRocm8= QFhtbA== IExlZ2VuZGFyeQ== LXR3aXR0ZXI= X2Vhc3k= ICsrKw== KERBVEE= LkxvY2FsZQ== IGvDpA== IG51cnQ= IGNydWlz X2lvcw== IHNlbnNpbmc= X0xpbmU= CiAgICAgICAgICAgICAgICAgICAgCg== cG9uZw== b2xlb24= IHdpbGRjYXJk 55So5oi35ZCN IGJlZ2dpbmc= Um9k IMOO X0NFTEw= UmVzZWFyY2hlcnM= LnNlbGVjdG9y X2luZw== IGFzcGlyaW5n IGltbW9ydGFs IHltaW4= X3JvYm90 IHBsdXI= QlRD IERJRA== IHBpZXJjaW5n KnU= X0RFRklORUQ= IFRoaQ== aXRhaXJl KG1lZGlh LW9ucw== IGNoZWZz ICIqLg== L0FQ IHJhem9y IHNlYXJjaERhdGE= ID0m IOOAgg== IG1vdXJu dGluZ2hhbQ== IG9saQ== IFZlcm5vbg== X1JT nuaApw== IGbDoWNpbA== YW5nZW4= Y2VsYWlu IGFpbA== bGVzdA== IFFDT01QQVJF Z2Fpbg== IM61 IEtvYg== IEZhdWx0 X2NvbmZpZ3M= 57uT5p6c Lis= Y2FsYXI= KGNvbG9ycw== TXVs X0FSVA== IGV4cGVyaW1lbnRpbmc= ZXJtZW4= IEFuZ2xv LkZpeGVkU2luZ2xl U2Vh IGN0eHQ= LnNsaWRlcg== Q29sbGFwc2U= R3JleQ== IGZsZA== LXByb29m LmNhcGFjaXR5 Z2V0UGFyZW50 IENvbXBsaWFuY2U= IGJ1cmds LXJlYw== IG92ZXJ3cml0dGVu TVU= IHJvdXRlcnM= CU1vZGVs IGZhbnRhc2llcw== YXZpYW4= X3ByZWM= IFNjYW5kaW4= IC8vPA== L29jdA== IGNlcmVtb25pZXM= TW9udGhz dW5keQ== IHF1ZWQ= IE5vdQ== IFZpYnI= LnJnYg== IGNpdHJ1cw== IGJyYWNlcw== LXVwcGVyY2FzZQ== Z2V0VGFibGU= IGRvcG8= IEtlcnI= X0NISUxE LWNsb3Vk CU1hdHJpeA== IGdhcmRlbmluZw== U2luZw== YWxtb3N0 UmVxdWlyZW1lbnRz dWd1YXk= KFByb3BlcnR5 c3Vic2NyaWJlcg== RkFTVA== cmVhY3Rpb24= KGxw KX0pCg== YCku LndhbGxldA== X2V4Y2hhbmdl Lk1heGltdW0= IFZlcmI= 4pSB KCk8 77ybCg== Uk9U Q0FSRA== dWJpdA== e0A= X2tlbA== IFRvb2x0aXA= TXlTUUw= TWFpbkFjdGl2aXR5 YXJm IG1hbGlnbg== IHNlaW5lbg== YXBpc3Q= IDwl TWV0aG9kSW1wbA== TWls IE1pY2s= LmRlcGVuZA== PElE IHByZWRpY3RpdmU= IEFQUExJQ0FUSU9O bGVm ZGltZW5zaW9ucw== IGNvbm9jZXI= L2NvbmY= IFRyYWN5 Rm90bw== X3JlbWFpbmluZw== PWZpbGU= IHBhZ2VJbmRleA== IFBhcmlzaA== IHRleGFz IE1BR0lD IEhldw== ZGlmZmVyZW5jZQ== IGFsdHVyYQ== Y3Vt CWRhdGFUeXBl IGNhcmFjdGVyZXM= YXZpb3Vycw== IFZPSUQ= 6L+R UFVCTElD Qmlv IHN0cmluZ0J5QXBwZW5kaW5n UGFyc2VFeGNlcHRpb24= IFN1ZmY= IE5vcnRvbg== L2RldGFpbHM= Lm51bGw= Pj4m CW9r LWxvdw== LnVzdWFyaW8= bmVzdGVk WEI= T1VSUw== LkJvcmRlckNvbG9y IGJyb3c= INCV Y29ycg== IFJlZHNraW5z LmdldFRhZw== LmdldFRyYW5zYWN0aW9u IHN0aWdtYQ== aGFyZHQ= IFBsYXllclByZWZz YWxzeQ== dWNzb24= TGFuZ3VhZ2Vz IE9saXZpYQ== IHRhYw== IGJsaQ== IGNhdmFs IGNvbnNvbGlkYXRlZA== IHBlcmls IGRlbGU= IGZvcm11bGF0ZWQ= IGhpZ2h3YXlz LnNwYXdu PT0k IE5pZXQ= IHZlZ2dpZXM= eXBv LXJ1bGU= IFZpZQ== L2VwbA== IGVuZmFudHM= c3RyaW5nTGl0ZXJhbA== IHRvdWdoZXN0 YnV5ZXI= IGNvdmFyaWFuY2U= IGlsaQ== IFNvcGhpZQ== IEJBQg== ICIpLA== IFVr Y3VycmVudEluZGV4 X3VzZXJkYXRh LmNvZGVj IFB1bmphYg== IFNOUA== bG9s YWR2YW5jZQ== IGNvbWZ5 SnNvbklnbm9yZQ== IGZhc2hpb25hYmxl IElDT04= IG9yYQ== IFByaWNpbmc= PG51bQ== IElSQw== RVJW IE1laW4= IElEaWN0aW9uYXJ5 QURPVw== aXNOZXc= IERldm9u YXRs KHJlcXVlc3RDb2Rl CVByZXBhcmVkU3RhdGVtZW50 SU1QT1JU IG1hcml0YWw= X1NFTEVDVEVE Z2V0UmVzcG9uc2U= YXJEb3du QlY= aWJOYW1l IFBBVENI w6TDpG4= IGRhYXI= IEZpbGVNb2Rl IG1hcnR5 LlNwcmluZ0FwcGxpY2F0aW9u Y2VuZQ== YW1wb2xpbmU= Z2V0U2l6ZQ== UmVzdGFydA== 5pWI LnByb2plY3Rz IEV0aGlvcGlh IHN0YXR1c2Vz VElPTg== KGJn IFh1bml0 VGVtcG9yYXJ5 IEVuZ2FnZW1lbnQ= IHhm IHByb3hpZXM= IGdlbmVzaXM= UGFnZXJBZGFwdGVy IFNsYXZl IHN1bmdsYXNzZXM= IENobG9l IGtvamk= YWRlbQ== CUpTT05PYmplY3Q= zrM= IGhvcnM= Knc= w7Ny ZXNjaA== IGNyaXRpY2lzZWQ= emlhbA== IFNhbGVt LlZlcnRpY2Fs IFJhc2g= PkU= dGVyaW5n L3NjcmVlbnM= IGhlaWdodGVuZWQ= 0LDRgNGC QXV0aG9yaXRpZXM= X2Jib3g= w7xuc3Q= LmZvbnRTaXpl IEJPT0xFQU4= ZGl2aWRl IFNsb3Zlbg== dWNlcg== 2ZI= c3R1Yg== IG5hdmlnYXRpbmc= OmFuaW1hdGVk X05PVw== X3ZlY3Q= fXsK QCg= IHRlbGVjb20= IGNvbnRyYWN0aW5n IEFzc2FuZ2U= IGV4dHJhY3Rpbmc= IGdyw7Y= Y29icmE= LkRJUw== IGNyYWI= IHR3aXRjaA== IHZlcnRz IHJlamVjdHM= CWZvcm1hdA== IHJlZ2VuZXJhdGlvbg== LlN5cw== c29sdmU= CWRpYWxvZw== c2hp bWV0ZXI= KGJlc3Q= dmFsaWRhdG9ycw== IG9ud2FyZHM= IGd1cnU= IG1vZGVyYXRvcg== b3dpZWQ= ZXhwZXJpbWVudA== cnVi IG1xdHQ= IENhdWNhcw== IG5hdGlvbmFsaXNt IG1hbmdl CUltR3Vp L0VkaXQ= IGluaA== IGludGVsbGln ZXJva2Vl CWV4cG9ydA== IGRpc2NyaW1pbmF0ZQ== c3VidHJhY3Q= IE1vb2RsZQ== ZW5zZXI= IEd1aWRlcw== UkFQ LWhvdA== X2dycA== LnBpY3R1cmU= WEE= IGluaXRWaWV3 X0NvbW0= IG92ZXJkb3Nl ICsKCg== IFNpbGVudA== c2hvd3M= IGludGVycG9sYXRl Rm9ybWF0aW9u IGJpc2M= bWFya2V0cw== KFND WmU= IE5ldHdvcmtpbmc= IGFkcmVuYWw= IEd1bnM= ZXRlb3I= RGVjbGFyZWQ= b3JnZXRvd24= IGthcmVuYQ== L3Bhc3N3b3Jk X2FkZHJlc3Nlcw== SVRFUkFM QnV6eg== IENvbndheQ== KGNhc2U= UFdE aGVpcm8= KGFjdA== KioNCg== KCkpOwoKCg== IGFudg== IC4uCgo= KE1lbnVJdGVt KG1haWw= X3NlY3Rpb25z CW5ldA== IHBsdXQ= IHdyZW5jaA== L29iamVjdA== IElzdA== IFZJUw== L3B1Yg== YWx0ZW4= IGd1aXRhcnM= IGFudGliaW90aWM= 77yW wrk= ICIrIg== Zm9ybXVsYQ== IGJhYmVz IFByb21wdA== IGVuaW0= L3BsYXllcg== CXJlZg== IGJ5xIc= IGNvbnN1bWVz IEhhc3Q= IFRhbw== ICcpKQo= IGNsYW0= IHRoaWdocw== IG1vdGlm QXBpT3BlcmF0aW9u IFdM Z2V0Qw== CWZsYWdz b2ludG1lbnRz IGVjb25vbWljYWw= bmVlZGxl eGxz cHJhY3RpY2U= dXR6ZXI= dGltZW9mZGF5 LW91dHB1dA== IGZpbmRCeUlk IEJ1ZGR5 0J7Rgg== U2V2ZW4= IEJhcms= IGVudm95 X2FsZ29yaXRobQ== 5Yip IGJhbGxpc3RpYw== 56e7 cmFkZXM= CWRvYw== cm9kdWNpbmc= IEVhdGluZw== VW5tb3VudA== L2RhdGFUYWJsZXM= X2JvbnVz IGxpdHQ= cHBz KWxvY2FsT2JqZWN0 cGVyZg== IEhlbHZldGljYQ== c2h1dGRvd24= L21s LnRva2Vucw== IEhhcmRjb3Jl LHJvdw== L2Jn U2NhbGVy 4oCUYXM= X2xvZ2l0cw== 4oCZaW50 CUFwcA== SW1wbGljaXQ= LkZwcmludGY= RVRP IHRlcnJh IHBvc3Nlc3Npbmc= LnJzdHJpcA== LCks PXllcw== IFN0cmlwZQ== Pz0= bmV1dHJhbA== Lmdvb2Q= IGtlbm5lbg== IFN1bmc= ZmF1bHQ= eXN0YXRlY2hhbmdl Q2FuYWRpYW4= JywnIi4k IE1pdHM= w6ZuZA== IFNUUlVDVA== IFVSTFdpdGhTdHJpbmc= IENvbXBhc3M= IC0tCgo= IE5TTGF5b3V0Q29uc3RyYWludA== fG1pbg== LWFkanVzdA== IHJlYnVpbHQ= TElHSFQ= L3Nl LW1vdW50 dnBu dmFsaWRhdGVk KFFPYmplY3Q= IGlnbml0aW9u IENoYXJnZXJz UllQVE8= XWluaXRXaXRoRnJhbWU= IEZsdWlk IGNhZHJl IG5vbWluYXRpb25z TmVpbGw= IEhvdQ== IGN1cnJlbnRz X2dlbmU= KGlucA== UGFyaXM= esSZ YWdncmVnYXRl IGFzc29j d2VldGVk ZXJyYXQ= 4oCTCgo= ICcvJywK Zml4dHVyZQ== IEhpZ2hlc3Q= YW1iaWVudA== IGNobW9k IGNvbnRl IHNlbnN1YWw= IGdhcm1lbnQ= emVycw== IFBvd2VyZWQ= ZG9tYWlucw== UmV3YXJk aW9tYW5pcA== IGNvY2twaXQ= b3V0ZmlsZQ== IGJ1aWx0aW4= IGluc2lzdGluZw== LnZhcnM= emlwY29kZQ== IO+/ve+/ve+/ve+/vQ== ZmFpbHM= IGNvbnNvbGlkYXRpb24= X29pZA== UGxhbmV0 ID0iLA== CWVs VUlMVA== w6R0eg== YWZhcmk= IE1jQ2w= VGltZWxpbmU= RXN0YQ== IGZyYW0= WUU= IGNlcmVicmFs T2ZNb250aA== IFByZWdu INC60LvQsNGB0YE= ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCg== IEZyZXM= QXBwcm92ZWQ= LlNwZWNpYWw= IFByb3Rlc3RhbnQ= IGFsbGVyZ3k= X3BjbQ== CUNvcHlyaWdodA== IHN1cGVyQ2xhc3M= InN0cmNvbnY= IE1vaGFtZWQ= ICcvLw== Rm9yZUNvbG9y QXJ0aHVy IEp1bmdsZQ== IHZlaW5z U2Fk IGJhY2t1cHM= IE9waW5pb24= w7t0 IGludGVybWl0dA== b2R5bg== IENocmlzdGluYQ== IGFuZHJl IGV2YWN1YXRpb24= cGFsZXR0ZQ== aG9yc2U= IFJlc2lkZW50 IEhhc3Nhbg== Lk5pbA== IGFpc2xl IEdyb3dpbmc= IGJsb2dpbmZv L3NxbA== X2lvY3Rs U2NhbGluZw== IE1vbmFk X2NwcA== IEh1dGNo IEFwcGxlV2ViS2l0 RXhwZW5zZQ== X0pPQg== IHBvaW50bGVzcw== RnJvbUJvZHk= YW50YWw= IGRlcGljdGluZw== IENFTEw= IHJlZmlu IENOQw== 7LmY X2RpbWVuc2lvbnM= IFNBTg== IGFmdA== IGZvb3RzdGVwcw== Y2NvbGk= X1BIT05F L21hdGg= LWtpbmQ= IE1lYW5z aWNoYWVs Lmd1bmE= IGluYXVndXJhdGlvbg== LWRyaXZpbmc= KGRlbGV0ZQ== IHRvdGFsQ291bnQ= X01D LkV4dGVuc2lvbg== Q29tbWVyY2lhbA== IHpJbmRleA== PEN1c3RvbWVy Imc= LXNoYXJl IHBhY3Q= YWdhcmE= IFNJTA== X21vZGVz IE1vbGVjdWxhcg== IHN5c3RlbWF0aWNhbGx5 PEc= X3Njcg== IE9ybw== YXNlcnM= IGJpYw== IGRlc3Ryb3lz UElQRQ== LlN0YXJ0UG9zaXRpb24= IGPhu6dh aXJleg== LkJ1bmlmdQ== X0Z1bmN0aW9u IHPDvA== X2Z1dHVyZQ== IFdlYWx0aA== IE5hdHVyYWxseQ== 5oC7 X3llcw== IGFicnVwdGx5 U3RyaW5nRW5jb2Rpbmc= IENHUG9pbnRNYWtl IHpo IGltcGVyc29u IHBpdm90YWw= IFNvbWFsaWE= IHNlZ21lbnRhdGlvbg== X0FOQUw= IExvZ2luQ29tcG9uZW50 Q29uc3VsdA== IHRydW5jYXRlZA== XSI7Cg== LmdldENvbmZpZw== IGludGVybnNoaXA= QmFieQ== 6rCc IHN0cmVuZ3RoZW5lZA== X01J YmFza2V0 IG5pY2h0cw== IFRWcw== IFNoYW4= 44K1 cmFjdXNl LlJlTFU= L2ludGVyZmFjZXM= IGdldEl0ZW1Db3VudA== IHJldGlyaW5n IHNwZWNpYWxz IGVudGl0eU1hbmFnZXI= YmVsaWVm IHNvbGRlcg== ZGF1Z2h0ZXI= aWprbA== IHV0aWxpemVz LmZpeGVk U1U= IGRyYXN0aWM= IGhhY2tz Z3J1bmQ= IE1V IFN0YXJ0ZXI= LkNvbXBvbmVudHM= X21vdG9y R29sZGVu IGxvZGdl ICkpOw== IENvcmludGg= 0LjRh9C10YHRgtCy0L4= w7NuaWNv Z3JlU1FM IEZsdWVudA== IG1hcmM= LkxvYWRTY2VuZQ== Lkdyb3Vwcw== IGVyaA== IEF1dHVtbg== U3RvcHBlZA== IGl0YWxpYW5v IG1pbmlvbnM= IEFzc2VydGlvbnM= IG11eA== QnU= IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ== CXVw cmVhZHlzdGF0ZWNoYW5nZQ== X01ldGE= IGN1cnJlbnREYXRl IENoYXBtYW4= VW5kbw== U2Vhbg== YXBy IHBhcm0= X2ljb25z IFN0YQ== w6F6 IHN1YmRpdmlzaW9u IGFsdGVyaW5n UE5H cG9uZW50aWFs IHBvc3RncmVz IEJEUw== LWV4aXN0ZW50 IEJyYWRmb3Jk IE9NWA== X1dISVRF X1BST0dSQU0= cWM= IHR5cGluZ3NTbGlua3k= IFBpY3M= X01FVEE= SVRURVI= X3N1YnNjcmlwdGlvbg== SVJPTk1FTlQ= IEh5dW5kYWk= KCk7CgoKCg== INiz IGphYw== IGVsaW1pbmF0ZXM= KX0pOwo= IGNvbXByZW5k CWluc2VydA== X2ZhY2Vz Ij4k IGViYXk= IGNhcHRpdmU= cGxpYW50 IENhbGN1bGF0ZXM= b2x0YQ== ZXN0aW5n X3JldmlzaW9u IG3DunM= K20= IiwiIiwi V0hBVA== IGNvbXBhc3Npb25hdGU= aGFyZ2E= W3JhbmRvbQ== IG1vZHVsbw== KHNu IG9jY3VwYXRpb25z Ly8vLwo= CWJvYXJk IEJhbGs= d2nEhQ== IFdpZmk= LlByb2ZpbGU= Om1hag== CW1hdA== TE9DS1M= KGpCdXR0b24= ICgnJA== TXVy 5oyJ YmJsZQ== IGZyb2c= LWhpZGU= IGJyb2FkY2FzdGVy 4Lie aGFsZWQ= IGFtdXNpbmc= X3ByZWRpY3Rpb25z X2ludHI= IGVhZ2xl 0LDRgtC10LvRjA== IGdldExpc3Q= cHNpbG9u IGNoYXJhY3Rlcml6YXRpb24= QVJEUw== IHJlbG9jYXRpb24= IHJ1bGVycw== UEFZ IERlZmluaXRlbHk= X0FjdGlvbg== IGNsb3N1cmVz IGZhY3R1YWw= b2R5bmFtaWM= IHByZWNhdXRpb25z bmllag== IFBhcnRpZXM= IFN1YmFydQ== IGNvdXNpbnM= YXJiZWl0 Lm1vbmV5 Z3VudGE= KGFuZA== Z2V0aXRlbQ== LlN0eWxlUHJpb3JpdHk= IHNsaWQ= c2luZ2xldG9u IGdhcm4= IFBBUw== IGRheno= YcW8 IGJvZ3Vz IE1vZw== IHJpdmFscnk= aXNvbA== IGxhbmRtYXJrcw== w7Fhcw== QmVybg== IFNhY2hz ICIpCgo= IGhvc3RpbGl0eQ== X21leA== bWVyZQ== TW90 cGljdHVyZUJveA== RGVmZW5zZQ== IGFmZmlkYXZpdA== b3RoZXJ3aXNl LmRpcmVjdG9yeQ== X1VuaXR5RW5naW5l LWJsb2c= LnNraW4= cGhlbQ== QXBlbGxpZG8= ZXJjaGFudA== W2NsYXNz IHdhcnQ= LiJb YWxldXI= L2JhY2s= ICAgIAkgICA= IHByZWNpcGl0YXRpb24= IG9ic3RydWN0aW9u IHBPYmo= IHJ1cHQ= VUNLRVQ= YXll 5o6S Z3g= IGVjbA== IHNlY3JlY3k= L0hlYWRlcg== IExlc2I= IGxlaQ== IEJ1bGxldGlu IGdpdmVhd2F5 LkhvbWU= X1JPT00= Ilc= IGNvd29yaw== X3Jh IEN5Y2xpbmc= IFBhdw== IHB1cGls L2FyY2g= IEZpbGVVdGlscw== 6aaW cnNw IGZyZWVkb21z IExlYXI= fWApLg== IGJvd2xz L2Jsb2Nr X2xvZ2dpbmc= IG1ldGhhbmU= IGhvcm5z IHdvbmRlcmZ1bGx5 IGFsdGVyYXRpb25z IGV4aWxl bHNlbg== X3BhdXNl X0xBTkdVQUdF IFVTREE= X215c3Fs X0FNT1VOVA== IExJRkU= IHlvdW5nc3RlcnM= IHJpb3Rz W0U= IHVuZm9yZ2V0dGFibGU= LH0sCg== RGlzcG9zZWQ= IEFzc2Fzc2lu VU5H IE5ld3Nw VXNlclNlcnZpY2U= OmFsb2Fk Kycs IHNldHRsZXJz IHNjcmVhbXM= IGluY29udmVuaWVuY2U= LlJvdGF0ZQ== IGphcnM= IFB1enpsZQ== IG1lc3Q= YXJzaQ== IFNoYXJtYQ== fCg= LmRz IFNhY3JlZA== X2V2dA== IGV4cHJlc3Nlcw== IGhvY2g= IER1Y2g= LmNhbGxz dGhy IFNoZWZmaWVsZA== LkFsZXJ0RGlhbG9n IHJhZGljYWxseQ== IHRyb3Vz IHByZXZhaWxpbmc= IFdXSUk= 4oCZbg== ZW5zZWx5 IFllc3RlcmRheQ== IFNpcml1cw== IGtpbGxlcnM= IEZGVA== IG92YWw= Jyk6DQo= IOygleuztA== b3VyYWdl IENoZWNrYm94 V29ya2Jvb2s= LmRlZmVy X2Zsb29y IGNvdW5jaWxs IG5vcnNrZQ== bW9pbA== b3JlYQ== IG1hcmtldGVk X1NVUg== eEFB IHN0YWluZWQ= ZXV0 IE1lbmc= IGllZWU= LmV4dGVybg== ZWdpZQ== IHJhcHA= IFB5b25neWFuZw== J2NsYXNz TW9i IGluaXRpYWxWYWx1ZQ== X3dhdmU= IGphYg== IG1hc2N1bGluZQ== IGFtcGxpZmllcg== IHR0eQ== UGF0aENvbXBvbmVudA== X3h0 IEdGUA== L3NlYw== CWRpc3BhdGNo bWFya2Rvd24= IFNjaG4= Ym9sZQ== wrfCtw== bW91c2Vtb3Zl IGVyck1zZw== IGFzaWdu X21vbm8= VG9TZWxlY3Rvcg== IFp1 KFJlY3Q= IEVycm9yQ29kZQ== bGF0aW4= YW5naWJsZQ== dnRr Q0dTaXpl UG9rZW1vbg== IGNsYXNzbWF0ZXM= IGF0dHJhY3Rz IFRhdHRv dWx0YW4= b2zDs2c= IGhhbHRlZA== 4KSo IEthcnQ= IHVl X0luaXRTdHJ1Y3R1cmU= VGVzdENsYXNz IEFpcmJuYg== XyIs IGNoYXJjb2Fs IGlwYw== IFN0cmV0Y2g= LmdsaWRl bGF0ZXNBdXRvcmVzaXppbmdNYXNrSW50b0NvbnN0cmFpbnRz IHBvdGlvbg== SVRUTEU= IGNvdW50ZXJ0 X2hk cHJlcGFyZWQ= QWRz IFZhbXBpcmU= cm9ib3Rz LkNyZWF0ZUluZGV4 U3RhdHVzTGFiZWw= IHR1Y2tlZA== YWbDvHI= VXQ= IHN3ZWF0ZXI= X0ZO ICAgICAgICAgICAgICAgIAk= YXRha2E= IGV5ZWJyb3dz YWNvZXM= dWRlbg== LkxpbmVhckxheW91dE1hbmFnZXI= IHN3YXk= IG11bHRpbg== KCkpKSkK IE5TVUludGVnZXI= IE15QmFzZQ== UGFydG5lcg== dXRzY2hlbg== IENhdGVy LnNldEJhY2tncm91bmRDb2xvcg== IGFjY29tcGxpc2htZW50 X3Byb2JsZW0= LmR0ZA== IHBhZ2VOdW1iZXI= IGphY2tldHM= IGNyb3BwZWQ= dWVscw== IEhlcA== IGNhcHBlZA== Kk1hdGg= X2NhbGxiYWNrcw== IHB1YmI= IEJydW5zd2ljaw== LnJlc3BvbmQ= WyJf IGJlZGRpbmc= aHl0aG0= T1g= KHNwZWVk IHBlc3RpY2lkZXM= IC0tLS0tLS0= LkJsdWU= IG5vb2RsZXM= IEdvZXM= IHNhdmVy b3h5 X2NvbXBsZXRpb24= IFN3aW5nZXI= IGdldERhdGU= IG1pbmRlZA== aW50ZWdyYXRpb24= IExvdHVz KHN0b3A= KCcsJyk7Cg== IGZsb29kcw== IFdvcmtmbG93 IGVydXB0ZWQ= TWFjcm8= IFNhdWNl IGV2ZW50TmFtZQ== XElucHV0 QnJlYWtpbmc= CXdoZW4= X3B3 SU5ERVI= IFdlbGxuZXNz IHZveGVs IE1lbGw= IE1FRElB U0VOUw== IEZ1bmRz IE1pbGQ= PEFycmF5 LXRoaXM= dW1wZWQ= L2Z3 IERiQ29udGV4dA== V0k= Z2lybHM= SE9X Jyk7Pz4K IHRlbXB0aW5n IHRlc3RhbWVudA== IGJpYmxl IGNvbnN1bHRlZA== IEluZGV4RXJyb3I= 6KiY IGtleXBhZA== aXp6bw== KG9r IHdoYXRzYXBw IFJlbW90ZUV4Y2VwdGlvbg== IHRlYW1lZA== 4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU wrss IGdldFRpbWU= ZGlhZw== aXNzeQ== IGhlZA== IGtub3Rz am9t IGZ1bm5lbA== LW1haWxz IGV4cG9ydGluZw== IFZM IEthcm4= IEJ1ZGRoaXNt IEFsbGFu X1JBRElVUw== IHdvcmRpbmc= IEZvcmdldA== IENvcm9uYQ== aXBoeQ== IGxpbWJ1cmc= dWdneQ== IFVzZXJSZXBvc2l0b3J5 aW1pbg== KGVsZQ== IGxhYmVsbGVk 56S+ IEhlcm1hbg== LnFx ICIpKTsK aWViZXI= LlRyYW5zbGF0ZQ== cnlu IGRlc2Vudg== dW1k U2ltcGx5 CW1vZGU= UnBj IFZhbGVuY2lh IHN0YWZmZXJz IHNlbHY= IFNwaWtl IGRlbGlj IGVydQ== X0RU SnVkZ2U= 4buV IEJhc2lu Lm11dGFibGU= InVybA== IHRhcmlmZg== IFNsZWV2ZQ== IGZsYXJl LmRyb3BvdXQ= IGJyaWRlcw== KSksDQo= X2NvbnN0cmFpbnRz ZGVzdHJ1Y3Q= T3V0bGluZQ== IGRpc2FwcGVhcnM= X2xvY2tlZA== IE5TTG9jYWxpemVkU3RyaW5n Y2tl CW51bGw= YWRyZXNzZQ== IHRvcHBpbmc= IEpva2Vy YmlzaG9w 0L3QvtGB0YLRjA== YW5kZXJpbmc= X2FtcA== PXRpbWU= X1NwYWNl X1BVTEw= Jz0= IGFudGlxdQ== IGNhY2g= X19fCgo= T05FUw== 0L7Rjw== IHVucmVhZA== LnBvbGljeQ== b29vb29vb28= 65+s IHVzdGVk IFJlY2U= IGFsbGVt 44O844K5 IFRob3VnaHRz dmVpbGxhbmNl aXN0cmF0ZQ== X2xhbmU= IGZhbWVk LkdldE5hbWU= IHNtb290aGVy IFF1YWxpZmllZA== YXplcnM= X2dlbw== RmF4 IE1pbmRz IFJhaXNlcw== IHRyYW5zY3JpcHRz Q29udmVyc2F0aW9u IHJlbWFya2Vk 64KY ZGxpbmc= IGRlcGxveWluZw== IHNoYXJlZEFwcGxpY2F0aW9u IGtw Rm9udEF3ZXNvbWVJY29u X2R1bW15 cmVpYmVu IEphbmVpcm8= RGlyZWN0aW9ucw== LmdldEJlYW4= c2Fzcw== IGNvbW1hbmRlcnM= dmF0aW9u ZXJyb3JDb2Rl IEFsbG95 LmxvY2FsaXplZA== 0JE= IGRpc2h3YXNoZXI= IFNvdXA= TnU= X0RlZmF1bHQ= IHVuZXZlbg== IC8+IjsK LUJhc2Vk IHNlYW1sZXNzbHk= LW51bGw= IFhD IHN0ZXc= KGRlbGF5 QVRPUlM= IFdoZWVsZXI= Ijw/ IENoYW5kbGVy IHJldGFsaWF0aW9u IGJ1ZGRpZXM= LXNpemluZw== IEVpbnM= IC4uLiw= cXVldGU= IERPQw== IGZhbHNlbHk= IGZsYXRz TklDQUxM IGxpYnI= QmVOdWxs aW11bGF0aW9u CVF1ZXJ5 X3V0 IHBsYXF1ZQ== YmlsZA== IHNjcmVhbWVk Lm12Yw== LldpZGdldA== IGRpZmZlcmluZw== L3N1cHBvcnQ= X1ZPTFVNRQ== Lm5vZGVUeXBl CVdyaXRl IHLDs3du Ym9va21hcms= X0NPTk4= IENyZWVk IGluaGliaXRpb24= IFJlaGFi dXZyZQ== IGR1bXBz b3dlag== X3BsYWNlaG9sZGVy IEhXTkQ= IGRlcm1hdA== LmRldGFjaA== IGZpbmFsaXplZA== Z2VyaWVz aWRhaw== X3Byb2c= IHVwZGF0ZVVzZXI= bHlz Lkdvb2dsZQ== IGx1ZWdv IGFudHM= 5qCH6aKY IERSTQ== 0LvQtdC9 LWRi ZXJyaWNr X2xu Li5c aWtpdA== IERpZW4= IHBhcmFtZXRyb3M= a2V5cHJlc3M= IEtlcmFsYQ== IGRyYWluZWQ= ZsO8Zw== IGNhcGl0 X2F1Zw== dGFudA== TmF2QmFy IHJvbGxiYWNr IGxleQ== 4LiI IEJTUA== IFByZWRpY3Rvcg== IHdhZ29u ICJ8Ig== U2VydmU= LkRvbmU= IER1cmNo UHJvdmlkZQ== CXNjb3Jl X09E LndlYXBvbg== IHVuaXZlcnNhbGx5 IGluanVuY3Rpb24= X1NDUk9MTA== Lk1hdHJpeA== IE1vbmdvQ2xpZW50 YnVmZmVycw== IGJhZGdlcw== IHNoYXJrcw== IFNoYXJr TU9ERUw= LlJFQUQ= CXRhZw== IHN0cnRvdXBwZXI= RVJHWQ== Ymlhcw== IGFjY291bnRJZA== IEVtbWFudWVs IHJlc29ydHM= IHN2bg== d2FybmluZ3M= X0lF TEFT IG51bGxh CWFz IGRlbWVhbg== 4oCcQXM= QXV0aG9yaXplZA== IHRlbmRlbmNpZXM= LXNldHRpbmc= IHByZWxvYWQ= IGNubg== 4oCcTm8= JSkKCg== PVQ= dXN0bw== IEZJUkU= cmVzZWFyY2g= INCT IExlc3NvbnM= LkFwcGVuZEZvcm1hdA== IGluaXRpYXRpb24= IENvdXM= YXJlcg== cHJvamVjdGlvbg== IFNoZWV0cw== IEZvbGQ= UmVkZGl0 RGVsZXRpbmc= IHphbQ== IE5ldXJhbA== IEZlY2hh IMKu IHRhc3RlZA== IEVuZW1pZXM= IEpvaG5zdG9u IGRhbmNlcnM= IGRpc2FibGluZw== IHBldHR5 IFdlbGQ= Ly0t KHNwcml0ZQ== SUdP YXJnb3V0 IHF1YXJ0ZXJiYWNrcw== ZGlzcGF0Y2hlcg== IFN1c3RhaW5hYmxl ZW5hcmlvcw== IFNraQ== IGZhY3Rv aWxsaW4= X2V4dGVuc2lvbnM= ybU= Pkg= ZWFzdA== LmFpcg== 4oCcQnV0 T2JqZWN0Q29udGV4dA== c3VjY2Vzc2Z1bGx5 X2xhbmQ= IGZvbGRz X0NPT1JE IHN1YnBv LmdldEFkZHJlc3M= aW5zdHI= TWF0ZXJpYWxz 0YPRgdGC ZGVwb3NpdA== LWxhc3Q= X0dSQVk= PWZpbmQ= IG11dGFudA== IGxlc2JpZW5uZQ== bGV0Y2hlcg== Uk9VR0g= dXJla2E= LmNhcHR1cmU= IGVubg== IChbWw== IEZsdQ== IHRhc2tJZA== IEh1c3NlaW4= LmZvbGRlcg== IGF1c3Rlcml0eQ== SVNUUkFUSU9O X0ltcGw= 5rOo5oSP IGRlY3JlZQ== LWNoYXQ= IGltcGxpY2F0aW9u IGd1ZXNzZXM= dWxrYW4= QW5hbHl0aWNz LnBsdXM= Q09NTUFORA== 0LXQu9C4 wrsKCg== X1NJVEU= IGVxdWFsVG8= U3VwcG9ydEZyYWdtZW50TWFuYWdlcg== IFJlY29yZGluZw== 5a6M5oiQ IGJhZ2dhZ2U= IHBpdGNoZXJz IEVo b3F1ZQ== CWNudA== ID0+JA== L2Zvbw== SVJB IFNhdGVsbGl0ZQ== Ym9yYWg= IH19Igo= IEVuZHM= IFNwcmF5 LHBhcmFt LkNocm9tZQ== KnE= dGhvdWdodA== aWJyYXRlZA== IHRoaWV2ZXM= IGJlbmVmaWNpYXJpZXM= RW50ZXJlZA== b3R0ZXN2aWxsZQ== IHZldGVyaW4= QnlJRA== cXVpcGU= dW1wdGlvbg== LXVuaXQ= RXhlY3V0aW9uQ29udGV4dA== QHM= IEdpb3Y= LlRvb2xUaXA= X2ZyaWVuZA== KGF0dHJpYnV0ZXM= IGR1bXBpbmc= IEpD X0RPQ1VNRU5U IEFybW91cg== KGluc2VydA== Lkhvcml6b250YWxBbGlnbm1lbnQ= IFFlZA== 44GE44G+44GZ L2dpdA== IFlZWVk= IENhcmRpZmY= IGFwYQ== b3JnYW5pYw== IFdoZXJlYXM= IOad IE1pYQ== IGRlbW9saXRpb24= IHNjYXJz IHBhaQ== IHJldHJpZXM= IHJx IERlbmlz KFV0aWxz IGFsbGV2aWF0ZQ== IFBJQw== aWR1ZQ== IGFja25vd2xlZGdpbmc= IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8= 56Gu5a6a xKs= XEpzb24= LmJpbmFyeQ== IHh0eXBl c2lnbmFscw== IEFwcGVhcmFuY2U= JnI= fXM= Q2k= IElsbHVt cG9yYXRl aG9n IGluZGV4T2Y= XENvbW1hbmQ= X3BhcmFsbGVs IFNoZXJsb2Nr 7YM= ICIiKQ0K Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v IGNyaXRpY2l6ZQ== IFNvYXA= IE1hdGNoZXI= IGdyaWxsZWQ= KlQ= IGFkb3Jl dWxsaW5n IGplZG9jaA== X3JlZnM= bGVhbnVw IEpBWEI= IHJvc2Vz IExpYW0= c2l6ZWk= IGdldGNoYXI= IHRhcmRl LXRvb2x0aXA= IHF1YWxpZmllcg== IEludGVybWVkaWF0ZQ== X1dpbmRvdw== IE1hbHRh RGlzY29ubmVjdA== ZXdoZXJl Q2FtcG8= IGlycmF0aW9uYWw= bGVkbw== IERO QVJHVg== IG91dHJv IHRoaXJ0ZWVu Sm9zZXBo TUFS L2ds SmVzcw== IFBzeWNoaWF0 IHBhZGRpbmdCb3R0b20= LWxvb3A= L2ZvbnRz X3NlZW4= VGVhbXM= UmVhY3RET00= KG1hbg== KHhwYXRo LmdldFNpbXBsZU5hbWU= Pigq IFB2dA== IGVsZGVycw== IHBpZXM= LnVzZXJBZ2VudA== LXJlZ2lvbg== IEdyZWVrcw== KGZyYWdtZW50 c3R1 IGNvdW5jaWxz IHN0YW1pbmE= IEdvZGRlc3M= 6KW/ IHBoaWxvc29waGVycw== IHBlcnNvbmU= IExvc2U= IENMUg== IERvY3M= IHNvYWs= IEhPTERFUg== IGJlbGxz aGFzaENvZGU= UkFURQ== X1dFSUdIVA== aW5vdXM= ZW5kcmE= b3Bob2JpYw== IHByb3Nl IGZpbmVseQ== L29hdXRo KHNwYWNl YWRnZQ== IE1hbWE= IHN0cmluZ0J1ZmZlcg== IHN0aW50 IG1pc21h IHZpbGxhaW5z IENyaW1lYQ== IGRpcGxvbWE= INC/0L7RgdC7 IEJlYQ== KGpvaW4= IO2VtA== Q0hBVA== cGVyaW5n IENyb3M= IG1vbmtleXM= IHByZWRz eWxh LCws IHZpYnJhdG9y IE5V 5YWI ZmFudA== emV0 IGJpZXRldA== dW5mdA== c3dvcnRo LkZsb3c= IHBzeWNoZWQ= IENvbnRpbmVudGFs PnQ= IHF1aWx0 LlVQ IGV4cGFuc2l2ZQ== RGlzcG9zZQ== KGxhbmd1YWdl Q2Fwcw== X1pPTkU= IHJlY3ljbGU= IE1hbmFnZWQ= Y3VycmVudENvbG9y LmJyb2FkY2FzdA== c2lnbklu LnByb20= bGx1 dWVibG8= IHB1bmNoZXM= IGF1dG9tYXQ= IGFzc2lnbmluZw== IGNyZWF0ZVVzZXI= IEFsbGllZA== IGNvbmR1Y3Rvcg== gqg= IHNhZGRsZQ== IGRuaQ== b21lZGljYWw= LVdlc3Q= UG9zaXRpdmVCdXR0b24= IGl0YWxpYw== P1s= KHRyaWdnZXI= IGVsZXBoYW50cw== IjoiIiwi IGNhbGliZXI= cmFmdGVk ZGlnaXRz IG1hcnNoYWw= bWlsbGlzZWNvbmRz bWFya2Vycw== bW9t L3BsYWNl IGhvbGlzdGlj OnQ= Iyw= IGJvdG8= IG5hdXNlYQ== IFNob290aW5n aXRlY2g= IHRleHRTdGF0dXM= PENsYXNz IERlc2NyaWJl IGJ1ZmZldA== Z2ls IGxvZ2l0cw== c3RkY2FsbA== bW9kcw== IFNrdWxs IEJhcmU= aG9wZQ== IEludHI= RmFpcg== CXB0 IGFjb21wYW5o IGZraw== X3JwYw== SW5zdGFsbGVk X2Fucw== LmdldE1pbnV0ZXM= 4oCmIgoK LXRocmVhZA== IHByZXNjaG9vbA== QUlMUw== IGRpZmZpYw== KGNvbnZlcnQ= IE5hdGg= IERPSg== IHJlZ2ltZXM= IGVudGh1c2lhc3Q= IHdhcnJhbnRpZXM= IGZhc2NpbmF0ZWQ= X2JpbmRpbmc= X05vdA== b2Z0ZW4= X1JX L21haWw= IHRpdGxlTGFiZWw= IHZpbGxhZ2Vycw== IEppYW5n IHN3YWdnZXI= LlJvd0luZGV4 X2ltZ3M= cmFweQ== VkVSQUdF LlVw IG5vb3A= Y2lv CVNU IGRlY3JlbWVudA== IG1hZ25lc2l1bQ== X3JvdGF0ZQ== U2l0 IG5pZXV3ZQ== IHRlcm1lZA== 7ZWp64uI64uk IHVyZw== X3RvdWNo IHN3YXJt IGNsYXZl dGhlc3Q= IExhZg== SFg= IEh1bGs= IHBsYWludGV4dA== IFNvZmE= Z2V0U2Vzc2lvbg== TGVk IGVjb3N5c3RlbXM= aGVp IEtpbGxz IGh1c2JhbmRz 0YXRgNCw0L0= KGRvbQ== X3RpbGVz TmliTmFtZQ== IGRvbmF0aW5n LmFjYw== IGxpZmVzcGFu LmJu X1JHQ1RY 5qU= YW5zZW4= IG1vZGVsbGluZw== TGF5b3V0UGFyYW1z IG9uQ2hhbmdlVGV4dA== cnNh LWxvY2F0aW9u LlBl KGJ1cw== KHNvbmc= IHByb2R1aw== IFNIT1VMRA== IENK IHNvcw== IEhvbWVDb250cm9sbGVy LmxvYWRlZA== KERvY3VtZW50 LnNvY2lhbA== dGlsZXM= IGxhbWU= PWRm LnBhcnNlTG9uZw== IHByYWM= IGRldG94 IFZF IHB1bnRvcw== IGRvY3Ry IGFuY29y Q0FQRQ== IGNtYg== 54S2 Kiki Oi8vLw== VmFsdWVUeXBl IG1vcnRnYWdlcw== O3E= IFJvY2tldHM= c3BvcnQ= VUdD Y3Rz 44KB aWV1cg== IEFwcGVhbA== KG5i Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8= SU1BVElPTg== IENyZXM= IE1hbmlw Q2F1c2U= YXR5cGVz bWFudWZhY3R1cmVy Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0= IHNwb3I= ZXNvbg== IHB1bmNoZWQ= IGJvb2ttYXJrcw== IEJ1bGs= Q29tcGxldGVMaXN0ZW5lcg== IFRhbGtpbmc= IEVybmVzdA== IHJ1YmJpc2g= a2lsbHM= IERFRklO IG5laWdoYm91cmluZw== YXJsbw== IFBDQQ== CW1hdHJpeA== bG9r IGF0bGFz IEd1cg== IHd5bg== LW5lZ2F0aXZl IHR1bA== IHJlbGlj IFZvbHRhZ2U= IFByZWlz IEpOSUNBTEw= IFBNSUQ= YWtldA== CWF0dHI= IGV0aXF1 IE1K IEdtYWls Y2xy X2V4ZWN1dGlvbg== 6ZSu cG9zaXRvcg== LmFm TnI= R2VvcmdpYQ== VG9wb2xvZ3k= IHBlcmNow6k= IG11c2xpbQ== IGVwaWRlbWk= IHNhYm90 YWN0dXM= IOuMgA== IElPRXJyb3I= LmVzdA== cHJlZnM= IEtyaXNo LlJlYWRLZXk= TkFTQQ== dcOnw6Nv X0Ri dW1lcmF0b3I= V2lkZQ== KHN0YXRlbWVudA== LmVuZHBvaW50 Li4uLi4uLi4u IFsq c3RyZWFtcw== bXRpbWU= UHg= YXRy IHRwbA== Um9tYW4= IHNjZW5pYw== Lm56 IFNlY29uZHM= c3VibWVudQ== IOyLpO0= X2J1bmRsZQ== IGRlxJ8= IFNpc3RlcnM= cHJlZmVyZW5jZXM= IHBvcnRh QWR2aXNvcg== bWF4TGVuZ3Ro IEdSRUFU X18oCg== b2xlc3Q= IExhYmVscw== IGVuZmVy ICAgICAgCgo= IFRoZWZ0 X0ZJTEw= IFdpc2U= KWFwcGxpY2F0aW9u dW5hbWk= PigpKQo= QUREUkVTUw== QlNU ZXR6dA== IFFncw== U2Vuc2U= RXhjZXB0aW9uSGFuZGxlcg== IENodQ== LmdldE93blByb3BlcnR5 IGV4ZXJjaXNlZA== aW90aWM= IFJlbGVhc2Vz IHBpbnRlcmVzdA== b2xpZQ== aXNvZnQ= IHNlcXVlbmNpbmc= IHBhZHJl XSkpOw0K KHJhZGl1cw== Lm1lZA== YWludGllcw== Lk9iamVjdE1vZGVs IGVtcGxl IHNlZ3Vybw== U3RhcnM= IHF1YWxpdGF0aXZl bGVtbg== 4bux PiIpLg== IGd4 LWNlcnQ= IEFTVE0= IGZ1bGxuYW1l IHRlbGVtZXRyeQ== IENhbWJvZGlh X3Vs IENsYXJl Q1VTVE9N UUM= IFVucw== IEhUVFBT IFBhcmtpbnNvbg== YW5jeWJveA== JywnLg== VHVl LmdldExhc3Q= IGFiaQ== xIVk QXN0 IEVkaXRpbmc= LlVuaXR5 am1w IG1hdHM= IHNoYXJlZFByZWZlcmVuY2Vz Q2FwdGFpbg== LnBhZ2VTaXpl IHJ0bA== IGFubWVsZA== UnVudGltZU9iamVjdA== IGRlbWFuZGU= KCI7 c2VpdGU= LWhlYWRlZA== IEtyYQ== IEZPTlQ= YFw= Q2xhc3NOb3RGb3VuZEV4Y2VwdGlvbg== LmF2Zw== YXRpY2Fs QWo= IHBlcm1pdHRpbmc= UHJvag== RVJSUQ== IGNyZWFtcGll IEJ1eWVy LW1vZHVsZXM= IFN1bmRheXM= fGAK IGRheXRpbWU= ICso IGdsaXRjaA== IE9wZXJhbmQ= IHRveGlucw== aW55YQ== RE5T IFNhcw== Q2FrZQ== IE5hdGlvbmFscw== LmFkZFRv IHNpbmtpbmc= IGNvbXByZWhlbnNpb24= IHNjb3I= YWdlbWVudHM= IHRhcmQ= IG1hcmNoaW5n IE1UVg== IHNhbmU= Q3JlYXRlSW5mbw== 4bqv IGVuZEluZGV4 CWxheW91dA== IOWQjQ== U0lURQ== IFRIRVJF IFt7Jw== b3BhdGhpYw== IHRyYW5zbWl0dGVy L2JvZHk= IHB1bmQ= IENsb3Npbmc= IHNldGF0dHI= IGJvdW5kZWQ= QXRsYXM= c3VtaW5n KHRpbWVz cGFyZXI= eW5vbQ== ZmVpdA== IGZyZW0= LWxlZw== IEJyYXM= PiM= IOy2nOugpQ== IElOU1RBTkNF IENvdWNo X2hvc3Rz bGlrZWxpaG9vZA== Lk1hcmtlcg== IE1hc2tz IGNlcmVhbA== dXRpbGl0aWVz IGVsZW1lbnRhbA== IGRpc3RvcnRlZA== aW5hY3RpdmU= Y3J5 V0w= VVBQT1JURUQ= LlRocm93cw== L3NjaGVtYQ== c2VyaWU= LiInLA== IEJlbmVkaWN0 LXBpY2tlcg== aWdncw== IFBpcmF0ZQ== 5ZGo5pyf IFRoZW1h IFNvdXRoYW1wdG9u IGFycmF5V2l0aA== IFBhdWxh IHByZWRpY3Rvcg== LUFzcw== LnVzZXJpZA== IHBlcmk= IGV4YWdnZXJhdGVk dXJhdGU= YXJzZWlsbGU= IENvbmNlbnQ= IFBpaw== IEBfOwoK IGZvcm1hdGlvbnM= IGRlbm9taW4= Ii8+Lgo= ZW5kZWRvcg== IHBhbmNyZQ== IGFtdA== IG9uUmVzdW1l b25EZWxldGU= IEJDSA== KSgi bW92ZW1lbnQ= IHBvdGFzc2l1bQ== PCEtLVs= IG1lbWVz X1NFVFVQ X2dhbW1h IGNvbG9yV2l0aFJlZA== IGdyYXZlcw== IHN0YXR1dGVz IGFxdWFyaXVt IExhbWFy IHhBeGlz V2VicGFja1BsdWdpbg== X2ZvbGQ= Lmdlbw== IEZlZXQ= LXNwZWFraW5n 6aKd X2Nvcw== IEF2ZWM= YW5zdA== IEVFUFJPTQ== IGRlYWxlcnNoaXA= IFVudGVybmVobWVu LEludGVnZXI= IMOqdGVz LmB8YAo= dmluZQ== IEtuaWZl X3ZlcnRpY2Fs LkRvd25sb2Fk IG92ZXJzaXplZA== bGlk IHBpbGxhcg== Y2F1Z2h0 IGZsYWdnZWQ= KHJvdXRlcg== KFJFRw== IGJhcmJlY3Vl YnJvd3Nl IEZpdHpnZXJhbGQ= INC/0YDQvtCy aXJpZQ== IGVyc3Rl ZWxpYg== X1BSRVNT IGhlYWxlZA== IGhhdXQ= PnhwYXRo IFdlbg== Z3J1bnQ= LktleXdvcmQ= LWhhc3BvcHVw bnc= U1o= Z2FiZQ== SW50ZXJhY3Rpb25FbmFibGVk cHJlY2g= IHByaW1v c3RyaXBl YWx0ZWQ= X0JPUkRFUg== ZmluZEJ5 X2Fubm90YXRpb24= V2ViU29ja2V0 QnVy IGRpcGxvbWFjeQ== KHRk IFNpbXBs ZGV0ZWN0 cGVyZm9ybWFuY2U= IGNhcmJvaHlkcmF0ZXM= L2lvdXRpbA== LS0tLS0tKw== X3Ny bWVldGluZw== IHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo= X1Zhcg== IHJvdmVy IGNhc2k= IE1hdGNoZXM= cXJ5 X0JPT0s= IHByZXN1bWVk IE3DqXQ= L2l0ZW1z IENyZWRlbnRpYWxz XSkuCg== IEthcmRhc2g= QWRtaW5pc3Ry IFNsb3Zhaw== KCcsJykK IGNvbnF1ZXN0 UGVyc2lzdA== IERyYWlu Ymlq IGRvdg== IHPDuGdlcg== V29uZGVy QVNFVA== W21pbg== Z3VuYQ== Z3Jvd24= IH0pCgoK QVVE IGJlbGlldmVy aXNlcnM= KHNlbnQ= SmFja3Nvbg== IHBhaXM= IGN1ZGFNZW1jcHk= IGZsYXNoZXM= YmVyZQ== IG11bHRpZg== IENhcmdv RWxlbWVudHNCeVRhZ05hbWU= KGVwb2No IEt1bmRlbg== UmVjb2duaXRpb24= IFNldFZhbHVl IFN1bnNoaW5l QUNQ OnN0cg== IGFtYmlndQ== IO2VnA== LWxpbmVhcg== IFdPVw== KGN1c3RvbQ== IGlzRW5hYmxlZA== QkFU X2RpYWc= X0dVSQ== SGVhdA== IGFzc2VtYmxpZXM= IENldHRl L2NhcmQ= IERlY2xhcmU= IHVwaGVsZA== IENsYXVk LWZsb3c= IGhvb2t1cA== SVJR RmF0aGVy RGVsZXRlcw== KSk7Ly8= IFBUU0Q= KTsNDQo= ZWdhbA== LmFycm93 IE1QVQ== w7Nq IG1vdGl2YXRl IEthdGhlcmluZQ== LmZyYW1lcw== IHRoaQ== PFJlc3VsdA== LmdyYXk= IEt1c2huZXI= IENlbWVudA== IEJ1cmw= SW50ZXJ2aWV3 PSciLg== UE9XRVI= IENEcw== IFsmXSg= IGNoYW5nZXI= Pj4sCg== LXdl IENMSw== IEFkcmk= IGNpbA== PVg= IHNlbmRv IENlbHNpdXM= YmxvY2tlZA== T3V0T2ZCb3VuZHM= LiE= b3Byb2plY3Q= YW5kZXM= ZWRpdGluZw== IHB1bXBlZA== KCk7fQo= 4Ka/ X0VWRU5UUw== IEZyaWVkbWFu ID4v ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio= IHRlbXB0YXRpb24= IElwc3Vt IENlcw== IG5vdGljaW5n X2VsZQ== QWNjZW50 IE52aWRpYQ== IGFtdXNlbWVudA== IGludHJvZHVjdG9yeQ== CXJldHZhbA== IGxpbA== aXJpbQ== ZW5xdWV1ZQ== LWhpc3Rvcnk= IGNvdW5zZWxvcg== VFJBTlNGRVI= X1ZlY3Rvcg== Y2F0ZWdvcnlJZA== cGVyeQ== RklMVEVS KHJlbW90ZQ== IHNlcGFyYXQ= IEVtYmVkZGVk IEJhY29u dGVycmFmb3Jt IHJlc3BlY3RhYmxl aWNoYQ== YWlj Kydc IHN0cmF5 0LXQvdC40Lk= IEF1ZGl0b3I= ZW50aWNhdG9y IGNsb2Fr IFVOS05PV04= IEFtZW4= dm94 YXN0cmVldA== Li4uXQ== IGAl LXByb3BlcnR5 IFF1YWxjb21t ZWRpdGVk IGRpc2NyZWV0 LU11c2xpbQ== LnJlY2lwZQ== IHZhbmRhbA== IHXFvHk= c2VuaGE= LGlz IFBvbXBl IEtuaWNrcw== KCknLA== KHRi IEhJRA== IHBldw== IGNhcnJvdHM= IHBvbGljeW0= Lmxp IHR3ZW50aWV0aA== X3Byb21wdA== c2NlbmFyaW8= LkpGcmFtZQ== IE1RVFQ= IEluZGl2aWR1YWxz dG9NYXRjaFNuYXBzaG90 w61zdGljYXM= IkQ= IGZvZA== IHJpY2h0 IFphcg== IHJlc3VycmVjdGlvbg== IG1pbGl0YXI= IE1hbmFnZXJz X0dSSUQ= bm9ubnVsbA== QkVSVA== T3V0cHV0cw== ICAgIAoKCg== IHByZWRlY2Vzc29ycw== IGlzU2VsZWN0ZWQ= IGN5YmVyc2VjdXJpdHk= 5YaZ Lm1j UXVp IGFsbGVnaW5n IHRpYw== TWFudWZhY3R1cmVy IEVuaGFuY2Vk IEJpeg== IHJlYWRPbmx5 w7Ru IGx1bWJlcg== YWVk IHJhaW5z cHJvdmlkZQ== TGF0ZQ== IHBlZGVzdHJpYW5z amF2 QWN0aXZhdGlvbg== J0JyaWVu IHZhY2FuY3k= Ly8t IGJsYWRkZXI= IGFnaWxl IHN0ZWFscw== IHJlZ2lzdHJhcg== IGVsZWN0b3JhdGU= R292ZXJubWVudA== J109Ig== YWxidW1z ZWxlY3Rpb24= YWJs IE9yaWVudA== IHBpcmF0ZXM= IGxvb3Bo CXJlYWRlcg== IMO6bHRpbW8= IFBldHJv INGB0YLRgNCw0L3QuNGG IHNhbXA= aW52ZXJzZQ== LmdyYWRsZQ== IERvbnQ= eG9u IGNyZWFk ZXJ0aWxpdHk= cmdjdHg= IHBvbMOtdGljYQ== VmFsdWVDaGFuZ2Vk QXBpUmVzcG9uc2U= Y29tYm8= IFVY IGRhaGE= J2Fu LW15 4oCcTXk= cGVl bGF0bG9uZw== XEJhc2U= Lndpaw== IFBPVA== IHB1bmN0dWF0aW9u cXVz aW55aW4= PW1pbg== IG51Y2xldXM= IGNvbmNlc3Npb25z LmF2ZXJhZ2U= dXNlcmluZm8= IHRhYmxlc3Bvb24= IE5laWdoYm9yaG9vZA== KFRocm93YWJsZQ== PnY= b3Z5 WFhYWFhYWFg= aXN0aQ== IGJhcnQ= 77u/Cg== RW5jcnlwdA== PWVuZA== IGluY3Vy IHBlcnRpbmVudA== X01JTk9S KSI+Cg== Y2hpZWY= IHZk KGAK dXJneQ== YWJ5cmludGg= IFNoYXBlcw== IHZhZ3k= LmRkcw== bWVtY21w CUl0 c2VtZXN0ZXI= IEVtaXQ= IGluc2Fu IGJydXNoZWQ= X0ZBVEFM ImVycm9ycw== IGRpc3J1cHRpdmU= JW4= IGNvbXBvc2l0aW9ucw== IGJhY2hlY2E= IGRpc2FncmVlbWVudA== UHJvdGVjdA== TElLRQ== LkZpbGVOb3RGb3VuZEV4Y2VwdGlvbg== IHdlaXRlcmU= IE1vbmFjbw== Xzw/ IG1vZGVsZWQ= c3RlZWw= ZWVudGg= IFtdKS4= KHJlZ2V4 ZW5pZQ== LkZsdXNo LnBvcHVw IE92ZXJz LkRlYnVnZ2Vy PmA7Cg== bml0ZQ== LnF1b3Rl IGNvZw== IHdha2Vz IFdyZXN0bGluZw== SW50cm8= IHNlcmRl IHJldXNhYmxl IENvbXBvdW5k SW1wbE9wdGlvbnM= CUl0ZW0= IG51bU9m IENIUg== IEJvbHRvbg== UExVUw== Ym91bmRpbmc= KCsr ICIsIjsK IEd1ZXN0cw== IGRlcHJpdmVk IG1lbG9keQ== WklQ Pj4oKQ== IGNvbmNlZGVk X2RpZQ== IGpveXN0aWNr IGFuYXRvbXk= IFRvb2xTdHJpcA== IEVub3VnaA== Iio= aW50b3No aGFiaQ== IFN5cmFjdXNl IEluY3JlYXNlZA== TXVz LnBhdGllbnQ= IGluY3JlbWVudHM= IFBJWA== IGJvb3R5 LnByaXZhdGU= ZXJ0b2lyZQ== IGN1dHRlcg== IGJla2Fu IGRyYXdlcnM= X0FMSUFT QW5pbWF0aW5n X2Fuc3dlcnM= LmF0dGFjaw== d3JpdGVycw== IGdhYW4= aWtvbg== CWNvbnRyb2xsZXI= IGZhY2FkZQ== k+WQjQ== LHN0YXR1cw== LmZl IHBvc3Rwb25lZA== IEZvbnRz IEJlbmNobWFyaw== aWRlbnRhbA== IGNoaWxsaW5n IEtpZXY= IGJydXNoZXM= LXdoZWVs IEhpcmU= KHByb2M= IGNoZW1vdGhlcmFweQ== INCx0YvRgtGM IE5vbGFu KGllcnI= IEp1ZGU= LUF1Zw== dW1ub3M= Y29udmVyc2F0aW9u IEJlaGF2aW9yU3ViamVjdA== YmF1Z2g= IGd1aXRhcmlzdA== Lm9mZmVy IGFjY3VzZQ== cGFyZA== cmVmZg== LlJlYWN0 IHVjaGFy IG9mZnNldG9m JHN0YXR1cw== L2VtYWls LmNvbm5lY3RlZA== Lys= QHFx YXJhdmVs IGZ2 LlBlcnNpc3RlbnQ= ZW5zdGVpbg== Li4uXQoK LmdyaWRWaWV3 IEpPQg== LScuJA== LmxheW91dENvbnRyb2w= IGNhcmc= IEtvdA== X2VxdWFscw== IHdpdGhkcmV3 QVRFU1Q= LWJ1dHRvbnM= CVVQUk9QRVJUWQ== IFVJR3JhcGhpY3M= IFB1YmxpY2F0aW9ucw== IElOVEVSTg== IGV0aGFub2w= w6RuZ2Vy U0VORA== CXNsb3Q= 0LvQtdC90LjRjw== IHBhc28= X2V4dGVuZGVk b3J0aGFuZA== KHNoZWV0 IHByb2NlZHVyYWw= IGtpZG5hcHBpbmc= Ly8tLS0tLS0tLS0tLS0tLS0t W21zZw== T2NjdXJyZWQ= QWxpY2U= IENBU1Q= IGthdGE= 5rOo5YaM Y2hlYXA= aWNpdHk= IHJlYWRpbmVzcw== KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio= IFNZTg== IE1hZ2dpZQ== cmljYQ== IHlp IFR3ZQ== aWdub24= YW5kZW4= IGpxdWVyeQ== IHN0YXJ0WQ== IGF2ZW51ZQ== QW50aA== X2NhcHRpb24= IFJvd3M= wq/Cr8Kvwq8= c2VxdWVuY2Vz 0LjRhA== KCIvIikK Y3JhdGU= IFNhZ2E= SnVk IGZhY2V0cw== X3NjYWxlZA== UnVieQ== IFBR IGNydXM= SXJhbg== LnNxdWVlemU= CWZk IHBlcmNl IGRhdGFw Xl5eXg== X1NDT1BF IFNhbG1vbg== IHRhaWxsZQ== IFZhbG9y QUdFTUVOVA== UnA= IEd1YXJkaWFucw== IHJlYWRGaWxl IG5lZ3Jv IG9icmE= LlBhcmNlbA== Q0FDSEU= cmV0Y2hlZA== Y3Jt cXJzdA== b3VmbA== 7ZqM Lm5vbQ== c3NpZA== IHNhZmVzdA== LkVycm9ycw== X3BuZw== Q29udmVydGVyRmFjdG9yeQ== PFNlbGY= IHNlcGFyYXRlcw== X2pCdXR0b24= IG1pc3VzZQ== ZXhjZXB0aW9ucw== IFt7Ig== IFBBRA== 562+ a0h6 PWVu IGjDoG5n SFo= IFhhdmllcg== e2lk IHN0YWlyY2FzZQ== dGV4dGZpZWxk L2RvY2tlcg== KHRhYmxlTmFtZQ== IHRlbGVjb21tdW5pY2F0aW9ucw== b25zbw== b2Ns UGFyZW50cw== L3BhcnNlcg== LWRyb3A= KHN0eWxlcw== X21vZGlmaWVy UmVxdWVzdElk LmJyYW5k IENvaW5z IGt1bnQ= Lkdy IEhJU1RPUlk= KGRyb3A= QnJhZA== IHNla3Np X3Nkaw== IGluc3BlY3RlZA== cHJlZGljYXRl LmZp R09S IGNvY29h IElRdWVyeWFibGU= LS0tPC8= IGRlcm5pZXI= IFVzZXJEZWZhdWx0cw== X1RT IGVvcw== IGJsZW5kZXI= IGxvdWRlcg== U3BhbmlzaA== bGluZXI= XHdpZGdldHM= IHNjaGVtYXM= X0NBUFRVUkU= Lm1pY3Jv 44Kt IPCfkQ== IGFuZGVy YWx0dW5n ID09Jw== IGVuZm9yY2luZw== IEV4aXN0 dXZ3 aXJ0c2NoYWZ0 IEdyZWF0ZXN0 IE1vc3Vs X3Bv IHNpbW1lcg== IHByb2dyZXNzZWQ= IHJvdGFyeQ== IG50bw== Tm9pc2U= IGNoYXNlZA== IGluc3RpbmN0cw== UHVibGljS2V5 IHNuYXBzaG90cw== IFN1cGVydg== Lm1hYw== IEJpYmxp Li4uKQoK CW9sZA== S0VO IENsaW0= IFByb2dyZXNzRGlhbG9n bGljYW50cw== X3NsaWRl K2g= IGVtcG93ZXJlZA== SW5qZWN0b3I= IGluZmx1ZW56YQ== IHBsYW5ldGFyeQ== V2lsbGlhbXM= IG1vbmQ= ZW5hbg== LnJhbmRvbVVVSUQ= KFBvc2l0aW9u IGhvbWJyZXM= IGluc2VjdXJl IHZlcmJz X3JlY3RhbmdsZQ== SU5TVEFMTA== IFBhcnNlRXhjZXB0aW9u X1RB JGZpZWxk LkltYWdlSWNvbg== IEd1amFyYXQ= LWxpdmVk X3NvbWU= IGNsaXBwaW5n LmdldENvbXBvbmVudA== LmNsb3Nlc3Q= LmxpdmU= IGluY2lk DQoJCQ0K IHByb2R1dG9z X211c2lj U3FsQ29ubmVjdGlvbg== IFByZWRpY3Rpb24= IFhU LW5vdGVz IEpld2Vscnk= cmVtZW4= KHJlYXNvbg== U25hcA== QWZmaW5lVHJhbnNmb3Jt YW5nZWxvZw== IGRpY3RhdGU= IHpvc3Rh QmFyQ29udHJvbGxlcg== L3Nob3A= ZWlk LXN3 Q291cnNlcw== Zm9udFdlaWdodA== IEhvZmZtYW4= X051bQ== S1I= IFdpbGxpZQ== YXJrYW4= LXNjYWw= IGF1ZGl0aW9u LmRpc2M= IHR3aXN0cw== IGRlcGljdHM= IGJhbnlhaw== IEtpdHM= IEhlemJvbGxhaA== bm9ydGg= IEdSRQ== w7Zn cXVvaQ== LXRocmVhdGVuaW5n IHdvcm1z IFBO IHNleGRhdGU= IG1vbnVtZW50cw== TU1D Ym90cw== IFNETEs= ZGVhdGg= IHBpdHM= X2Nob2ljZXM= KHNvbHV0aW9u IHByb2NsYWltZWQ= IFFpbmc= IHNzY2FuZg== c3RyYXRlZ3k= ZGVhdXg= IEZpc2NoZXI= X0lW IGlud2FyZA== RGF0ZVBpY2tlcg== IHNld2Vy IGV1cm9w IGhvbWVsZXNzbmVzcw== LlNwcmluZ0Jvb3RBcHBsaWNhdGlvbg== IFNwYWNlWA== IGluZm9ybWluZw== ICch IHBsYXN0ZXI= SW5pdGlhbGl6YXRpb24= LmJldGE= IFBlcnNvbnM= dWdnbGluZw== IHNoYW1wb28= IEplaA== IHNlcnI= IG1heFNpemU= IHN0aXRjaGVz W3BhdGg= LnJldA== IFByZXQ= TmVpbA== Q29udmVydGVk IE1hemRh UE9TSVQ= VG9vbGtpdA== IFJFQURNRQ== Q3VzdG9tQXR0cmlidXRlcw== YXJjaGl2bw== LlBhaW50 Z2V0T2JqZWN0 SVE= LldlYkRyaXZlcg== IGFudGlib2R5 IExpbWE= aW5jb3JyZWN0 RnJhY3Rpb24= IERlYWRsaW5l c2VuZE1lc3NhZ2U= Lk9mZnNldA== ZWRpbw== INeQ IHNtb290aGluZw== LmJv IENFTlQ= ZWxhc3RpYw== LmNoYXJDb2RlQXQ= UmVmcmVzaExheW91dA== QUdFRA== KTtcCg== IFtdKQoK IHRhcHM= RFY= 4oCV IENveQ== IG91dHdlaWdo J2dj XEV4Y2VwdGlvbnM= IEdyYW1tYXI= IEd1YXRlbWFsYQ== IEd1cnU= IHRlag== IGZyaWVuZHNoaXBz IGNvcGluZw== KHVwZGF0ZWQ= X2R4 QW5hbA== LU1heQ== IG1hdGNobWFraW5n IGp1bnRv UEFDS0FHRQ== IHJlbnRz IOiHqg== Y2FrZXM= 44CCJywK cmVuZGluZw== X0ZyYW1ld29yaw== LSk= KHVwbG9hZA== IG9wb3J0dW4= IGNhdXNh IHByb2xpZmlj Um93Q291bnQ= IG5hY2t0ZQ== IFNveQ== U2h1dGRvd24= 6Ig= X0VYUEk= IEhhcmJvdXI= IHRvcmU= XE1lc3NhZ2U= L1U= T01CUkU= LnNlZ21lbnQ= IGNvbWVk cm9tYW4= IHNlZ8O6bg== U2lnbWE= IHNraWluZw== IFRlcnJhaW4= IGJlbmNobWFya3M= IEF0dGVudGlvbg== IH0qLwoK IGdlaWw= IGNhcnRvb25z IGF0dHJpYnV0aW9u IHJvdG9y ZW5oYQ== IM6z IHRyYWo= IGPDtG5n IHNoYWtlcw== IENsZW1zb24= IGJydXRhbGl0eQ== IDsNCg0K IGVpZ2h0ZWVu IEF3YXJlbmVzcw== KHJlc3Q= IHZpb2xpbg== X1JPVVRF LkZpZWxkTmFtZQ== IEFkZQ== aXppYQ== IEhlbG0= IHR5aW5n IFByb2dyZXNzQmFy YXV0b3I= IGxvbmRvbg== Jnc= Z29v SVNUUlk= L0NyZWF0ZQ== IFVTSU5H IEdY IEVGRkVDVA== RmNu IEVuY3J5cHRpb24= Q0VE ZmluZQ== LWFycmF5 IHB1c2hWaWV3Q29udHJvbGxlcg== QCQ= VXBsb2FkZWQ= LXdyaXRl LmdldFBhZ2U= X2VzdGFkbw== QU5UTFI= IFZpZXdEYXRh ICR7KA== IGFsbW9uZA== IExvZ2ljYWw= IHNob290ZXJz IOygnA== IHB1ZmY= IHVuY29tbWVudA== IGN1c3RvbWl6YWJsZQ== xINy RGlyZWN0aXZl CWlkeA== Q2hhbGxlbmdl IHN1bW1hcml6ZQ== IEF2Zw== LlVzZXJJRA== LmRpc3BhdGNoRXZlbnQ= IGNvb2tlcg== IGNvbm5lY3Rpb25TdHJpbmc= IHNocmlua2luZw== amFk IFRoZW1lcw== YW5kYXRvcnk= IGR1YmlvdXM= IGNlcA== c3Bpbm5lcg== IHN1YnJlZGRpdA== IGlpaQ== L2NhY2hl ZGVmZXI= IHN1YnN0aXR1dGVk IGd1bm1hbg== Y2xpbmc= IOyw KGN0cmw= T3JkZXJJZA== X2VuZw== IGZpbG1tYWtlcnM= IGZvcndhcmRpbmc= IHN0cmFuZGVk IExlYW4= IOunjA== KFVuaXQ= IGRpZFNldA== bGFrZQ== Z3JvdW5kcw== 5Zug IHVucmVnaXN0ZXI= IG1pbmhh IFZlZ2Fu CWlWYXI= LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo= b3R0bGU= SVBD IHByYWdtYQ== IElJRA== X01pbg== JTsiPgo= X3JhbQ== ZHJpdmVycw== IENoaWNr IGNscg== X0JVRkY= INCy0YvQsQ== TWVyYw== anV2ZW4= IHNoaW0= 0YvRhQ== IHRoZW9yZXRpY2FsbHk= L2ZvcnVt IHNwaWRlcnM= IGdvb3Nl IFBob3Rvbg== IHByb2ZpY2llbmN5 IENsZXJr X2ZpZw== Q29uY2Vybg== KGNvc3Q= IHJlZGQ= LmVudmlyb25tZW50 Q3JvcA== IOKJpQ== eWVjdG9z LkJhdGNoTm9ybQ== LWNvbXA= JGltYWdl IE5pa29u IGRtZw== Wzo6LQ== UExM dW5jaW9z Zm9jdXNlZA== IHR1bw== IGh2b3JkYW4= IGF0dGFpbmVk IHByb3RlY3Rvcg== IEthbnQ= IHNob3Jlcw== IEV0aGFu X3NjaG9vbA== IG5lYXRseQ== LlNoYXBlcw== IE5lbQ== aGNw LicvJy4k IE3DqXhpY28= c3RydWN0dXJpbmc= IGxha2g= IGFkcmVzc2U= JywnIw== IEhhc2tlbGw= X0VOR0lORQ== IHJlcGVudA== IGN1Y2s= LkZJRUxE IFNrZQ== QEBAQA== SGl0cw== IGltcGxhbnRz IENvbnN0aXR1dGlvbmFs IFBIUFVuaXQ= IHRvaWxldHM= LmFsYnVt 5LiL6L29 CXNldFN0YXRl KCItLS0tLS0tLS0tLS0tLS0t LkFtb3VudA== ZWN0dXJl IFRob3VzYW5kcw== TmVpdGhlcg== IHByZXNldHM= IEFzc3VtZQ== KGZhY3Rvcnk= IGxpY2s= IGdvYWxrZWVwZXI= PFN0YXRl LXNlY3VyaXR5 X2ll ZXNrdG9w IEx2 IFN5bXBob255 LnNhbXBsZXM= IGh5cGVydGVuc2lvbg== xYJ1 Lmp1c3Q= TWVuc2FqZQ== IT0t PFRLZXk= IHNweWluZw== LGRhdGU= b3JnYW5pemVk ICAgICAgICAgIA0K KGN1ZGE= X01ldGFkYXRh dWJpc2hp LUJlbno= X0Fzcw== IEVsc2VJZg== IGxlc2lvbnM= IFByZXN0b24= VGVjaG5pY2Fs IHBsYXRpbnVt L3Bp SW5kZXhlcw== IHBhcmFwaA== IG92ZXJ0aHJvdw== aXBhdGVk b250b2xvZ3k= IGRlbW9ncmFwaGljcw== IGNhbmU= IHByb2ZpdGFiaWxpdHk= IGVzdGFibGlzaG1lbnRz XSY= OmFic29sdXRl ZW50cmFkYQ== VHA= IHNoYXJlaG9sZGVy Lidf 5aaC5p6c bnBq dnJpcg== IEVYRUM= IFBvbGljaWVz IGZlbGxvd3NoaXA= IENHUmVjdEdldA== X3JlY2lwZQ== X1JFQw== dW51 IHJvYmJlZA== IHR1cm1vaWw= KTo6 LnN0YXJ0RGF0ZQ== IGV2YWN1YXRlZA== LWVxdQ== IGZvdXJ0ZWVu QFNwcmluZ0Jvb3RBcHBsaWNhdGlvbg== IOaVsOaNrg== bmFudHM= dGhyZW4= U29ueQ== REZT LWNpZ2FyZXQ= IGFnZ3JhdmF0ZWQ= IG5lZGVybGFuZA== IEZ1ag== dWNlcw== L3VzZQ== dW1tZXI= KFNURA== 6rCE Kj4m LnBlcmNlbnQ= aWFudHM= IEN0 VkFT X1RIRU1F IHNuaXBlcg== X0VM LXdvcmtlcnM= U25vdw== IEF1cmE= aWVnbw== IEdsb2I= TmFtZWRRdWVyeQ== X0JH IExpdmVEYXRh IFNlbmRNZXNzYWdl IHJlc3BvbmRzVG9TZWxlY3Rvcg== ZW5jZXJz aW5zdHJ1Y3Rpb25z KEl0 5ZG95ZGo5pyf IEdvbWV6 Y2hhcmdlcw== LkdlbmVyYXRlZFZhbHVl IE1hY3Jvbg== KFBPUlQ= IFByb2Nlc3Nlcw== Lm9uUmVzdW1l IGZpZQ== QnVpbGRlcnM= KWdldA== X3dhbGxldA== IGNhbmM= IE1vYmlsaXR5 IGFsYXJtcw== cm9zaXM= YW1hw7Fv IHBpcw== IOODuw== U2hh IGNvbmZlc3NlZA== KElORk8= KCcsJw== X1NlcnZlcg== IGJsYXN0ZWQ= IEZhcm1lcnM= cnV6 Y2tlZGl0b3I= X0lNUExFTUVOVA== IG1vdHRv IENBUkU= IHlkaw== Qm9uZQ== IGFkZW3DoXM= KyIvIis= UHJvcFR5cGVz X1Na LnBhaW50 LnBpeGVs IE1lc3NhZ2VUeXBl IHR3ZWFrcw== YC4KCg== VmVyaWZpY2F0aW9u bmVjaw== YmVycmE= IG1pbmRmdWw= U3Vydg== IDotCg== IGFueXdheXM= IEFkbWlzc2lvbg== YWNjZXNzaWJsZQ== RmxhdEJ1dHRvbg== ICInIik7Cg== IGhhaGE= VG9Qb2ludA== IGJ1cmdlcnM= Z2V0U3RhdGU= XEhlbHBlcg== IEZVTkNU IEVMRU1FTlQ= IENFUlQ= IEFDQ09VTlQ= Y2hhcmdpbmc= X2NhbmRpZGF0ZQ== X3JlY2VudA== IEluc3RydWN0b3I= IGRydW5rZW4= WVNRTA== b3JhdGl2ZQ== IjoiIg== IHRhZ05hbWU= X05FRw== IHFw IFVuZGVmaW5lZA== IGdyZWFzZQ== CSAgCQ== IGVhZ2VybHk= VGV4UGFyYW1ldGVyaQ== ZGlzdHJpYnV0ZWQ= QWRtaW5pc3RyYXRvcg== RGlzdHJpYnV0aW9u IERlY29tcA== IFRyYW5zZm9ybWVy LmJ0blNhdmU= IEdvcw== KEVudW0= Y2Fpcm8= LWNp L3JlcG9ydA== IFBvc3Rlcg== X2RlcGVuZGVuY3k= IGV4cGxvaXRz c2V0Rmxhc2g= IHh0 IGpld2VsbGVyeQ== IGRhaQ== X1JBTQ== IGJlcnJpZXM= IGdyYW5ueQ== RmF0YWw= w6lhbA== LW1vc3Q= LlZpc3VhbEJhc2lj IFBlbmQ= YmVp amFr OyovCg== Qm95 PlNlbGVjdA== aW5kcmljYWw= VGVjaG5vbG9neQ== IEFsbGlzb24= ZGF0YXR5cGU= J2Nsb2Nr IGtvc3Q= IGJham8= LkNvdW50cnk= WmVuZA== LndyYXBwZXI= 4L0= IEZpbGlwaW5v b2NyZQ== U1NI IFNBTVBMRQ== X2luaXRpYWxpemVk KTs/Pgo= IHBvcm5vc3Q= ZXNhbg== IEN1dHRpbmc= IG1peGVz X2FnYWlu IGZvcm11bGFyaW8= W1Y= IHRlbGVmb25v L3Vz IGxvYWREYXRh LnJlZmVyZW5jZXM= IG1hcFZpZXc= KyJf IFNRTGl0ZURhdGFiYXNl aXRvbg== Q29sdW1uVHlwZQ== IEV2ZXJ0b24= LlJlc3VsdHM= L25vdA== IGdldEZpbGU= aGVyaXRhbmNl IGdldEhlaWdodA== JHVzZXJuYW1l d2l0aGRyYXc= Xyk7DQo= LnV0 IFFBcHBsaWNhdGlvbg== dXJuYWw= LWRvd25sb2Fk YnVyZ2Vy cHJlY2k= IFRoYW5rZnVsbHk= LkVWRU5U IGdyZWF0bmVzcw== IGxvb3NlbHk= IG1hc2g= IGdlaGVu X2FudA== IGltcGVuZGluZw== LmlzUHJlc2VudA== IHN0YWlucw== SU1T LmJhY2tlbmRz IGlycmlnYXRpb24= IFRhdA== L3Rlc3Rz IEtpbmdzdG9u LnRyYW5zbGF0ZXNBdXRvcmVzaXppbmdNYXNrSW50b0NvbnN0cmFpbnRz IHZvbWl0aW5n LXJlcXVpcmVk IGJsYXpl IFN0YWZmb3Jk UklE L2Z3bGluaw== IGthbGU= c29sZA== KHByb2dyZXNz KGNoYXJ0 IGN5c3Q= IGRpbGlnZW5jZQ== L21w IGNsZXJneQ== IEJyb3dzZXJSb3V0ZXI= IEFQSw== IENPTlRBQ1Q= QmFySXRlbQ== LURpc3Bvc2l0aW9u IE1vdG9yb2xh X3NhbA== IFdvb2Rlbg== IFRIRVk= IGNvbW1lbnRhdG9ycw== IGNvbW1lcmNpYWxz PW1vZGVs LiIpLAo= IFBsdWdpbnM= ZGFpbg== aGVhZGVk IENvb3JkaW5hdGVz SmFuZQ== IFByZWZlcnJlZA== IHBvZGVtb3M= LmlzQmxhbms= IFN0YXA= IHdzcA== IENPTEw= X2JpZA== IHByb2Jlcw== dWFuaWE= KHN5bQ== IGN1ZXJwbw== IG1hbmlwdWxhdGluZw== IGFtYXppbmdseQ== LkRBWQ== dW1wdGVjaA== YWNvYmlhbg== VGVybWluYXRl IHN0YXRpb25lZA== U2V0QnJhbmNo U2NyZWVuc2hvdA== ZXN0aGVzaWE= IHdhbGtlcg== I2Zyb20= Y29vcmRpbmF0ZQ== X2ludGVyZXN0 IGhlbHBsZXNz CXB1Yg== bmdh X0V4 IG53 IHRleHR1YWw= IHBsdWdz IG1pbmlvbg== bWFyZXM= PD4K QUNB Q29tcGFueU5hbWU= KGVj IExhbmRzY2FwZQ== X1BST1ZJREVS Y3c= lIQ= QWNjb3VudElk JDo= IFBlcnNvbmFsbHk= cHJvcGVydHlOYW1l IEt1Yg== J2k= IEdpdWw= IHByaW9yaXRpemU= Rk9STUFOQ0U= IFBhcmFkZQ== KVwK c3RkYm9vbA== IGFsZXJ0RGlhbG9n IExlaA== LmNhdGFsb2c= IHdlYmluYXI= IGltcG9ydGVy cHJvamVjdElk VFlQTw== X18NCg== R1c= c3VtbWVy IHNpbmlzdGVy LmZhaWxlZA== IGJlc29pbg== aXNtYW4= REVTVA== IG5o4bqtcA== IG1vxbxuYQ== X2luc3Ry IHBhdmVk IHByZWZpeGVz IHJhbXBhbnQ= IHlBeGlz IOazqA== X21pZGRsZQ== IHNjaG9sYXJseQ== IHByb3N0aXR1dGVz IG1vcmFsZQ== LnBlcm1pc3Npb25z LmdldExpc3Q= IHJlamVjdGluZw== IGxvb3Bpbmc= IFNwZWNpZmljYXRpb25z IGltbWVuc2VseQ== IE1lZGlhbg== KGNoYWlu IGNsaWNo L2ZsdXR0ZXI= YWNm LnVybG9wZW4= dXR0ZXJzdG9jaw== IHNwZWN0cmE= IGFkbWly L21heA== LkVtaXQ= KHdlaWdodHM= acSZ SW5zdGFsbGluZw== SnU= IEZlbGw= IEZSRQ== LmRlbg== IEJpZ0ludA== Ij5A ICopOwoK IEJpb2xvZ2ljYWw= IHBhdGVudGVk LnBhZ2luYXRpb24= LnJvbGw= IER1bA== IGRlc2Fycm9sbG8= UmVnYXJkbGVzcw== mOydtA== IHJvYmU= 0J3QtQ== IEJveWQ= LyoqKioqKioqKioqKioqKioqKioqKioqKg== cmVjZWlwdA== IEFzc2lnbmVk YXR0ZW5kYW5jZQ== LWNob2ljZQ== ZXRzeQ== X2Vsc2U= LG5leHQ= X2V4aXN0aW5n ICcnKSwK IGxpYmVydGlu dHJhaXRz YXR0ZQ== Q29tcGFyYWJsZQ== IENvdg== IEFkb2xlcw== LHRoZQ== IExvYWRlZA== fHI= PWluZGV4 IEdhc3Q= IGluamVjdG9y CXN0b3A= LWdvb2dsZQ== IGZldGFs IGFsbG8= eWxlZnQ= Z2V0UGFyYW1ldGVy 4oCd4oCU X3NlY3Rvcg== LlV0aWxpdHk= b3Njb3Bl LmVhc2U= IE1hZ25ldGlj QXJyYXlPZg== IGZlYXJmdWw= IEluZmVy IEZ1aw== Sm9obnNvbg== JGFycmF5 IHNhaXM= X2NvbnRy RGVzY3Jp IERldGFpbGVk X2xlYXZl X1JPVA== IG7DpGNo IGthbWk= RENBTEw= OmVx IG1vbms= X29ianM= KFNlcnZpY2U= ZmluYW5jZQ== IHBvZGVt X3Jlc3RvcmU= IGRlY29yYXRvcnM= IGFkdmlzaW5n INC/0LDRgA== LnBlcm0= IEhhaQ== IGZr dW50ZWVycw== IFJUV0Y= X2l4 QUNT IGJyZWFrb3V0 ZGlyZWNjaW9u IFN1bnNldA== X2Z4 b2xrYXRh LXJhZGlv SGV0 LnV0aWxpdGllcw== X2Jhc2lz KGtpbmQ= IENvbmM= VGh1bWI= IE1pY2hl ZGVsaXZy IGd1dGU= IEZpbGVQYXRo IFRyaWJl XCIp X2N1ZGE= RGlmZmVyZW5jZQ== IE1vbnN0ZXJz IHNldFR5cGU= LkNvbnRlbnRUeXBl IGR1bQ== RW52ZWxvcGU= YWd0 IHVubG9hZA== X2NoZWNrZXI= IHJlc3Rv X3Blb3BsZQ== UHJpY2Vz UHJvZmlsZXM= KClc RlVO ICIjIg== IFBhdHRlcm5z IFNQRA== X1JPV1M= T3JpZw== YmxhZGU= IGzDqQ== JWk= Kysr TGlmZWN5Y2xl LS0tLS0tLS0tLS0tLS0tCg== VGFy VGhhbk9y JnE= IGNyaXRpY2lzbXM= LXBo RWxlbWVudEV4Y2VwdGlvbg== X2d1ZXN0 IOu2 X0Fz IENhcnJ5 X0JJRw== YWtldXA= X3JldHJ5 IG7DqWNlc3M= IE1JU1M= aXN1 IFNwaXJpdHVhbA== XyRf IHJlZmxlY3Rpb25z PHQ= IGZ1bsOnw6Nv IG1vbmFyY2g= IFBhdGVs X3ZvbHRhZ2U= IHJhaW55 Y291cnQ= IHVsdHJhc291bmQ= aU9T X0FMV0FZUw== V28= X0JMRU5E b2tzZW4= IHRyYXZlbGVy IGRhdGFUYWJsZQ== c2V0Q3VycmVudA== V29ya2Zsb3c= LnllbGxvdw== XSkt QUJTUEFUSA== X2l0ZXJhdGlvbg== 0LTRgA== IHViaWM= IG1lYXRz L2Vt IERpc29yZGVy IGVudmlhcg== U0VP IGhlYXZlbnM= X3N0dWI= IGFkcmVzcw== IFRyaWU= IExpbmRzYXk= bGVp IHBsYXRh LnNldHRpbmc= IGVsZWs= ICgkew== QXV0b21hdGlj IGRvd25zdGFpcnM= UElY aWNpb25hbA== YWJhbA== LXN0b3JhZ2U= aWNoaWVy IEFscGhhYmV0 LGxhYmVs QAo= IGludGVzdGluYWw= IHZhcmE= Lm1h IHByb2du IG5lcGhldw== VGltaW5n Y2xhc3NuYW1l IGxvY29t IFNhbWFudGhh IEFjY29yZGluZ2x5 IFhDVGVzdENhc2U= IFBsYWlucw== IExlbmlu bm9w IFR5c29u IHJlbmFs b2luZQ== KFRlc3RDYXNl IExvbWI= QmFuZw== IHZvbHVt X2dlbmRlcg== IGx1dA== IO+8 Q29uZmlndXJlcg== IHN0cm9rZVdpZHRo Lkh0dHBTZXJ2bGV0 fHg= LkpTY3JvbGxQYW5l IGNvbnNvcnQ= LmJ1bXB0ZWNo dHJpZGdlcw== IGJlbmVmaWNpYXJ5 PXJlcXVpcmU= cmVuYw== IE9V ZW50YXJpbw== IHVyZ2Vz 4oCUbm90 Q2FtcGFpZ24= ZHJl IFJpdmVyc2lkZQ== CXRi IG91dHB1dEZpbGU= IGFic3Q= IHN0cnVjdHM= IHJ2YWw= XCI+Ig== IGFjcXVpc2l0aW9ucw== QkxBQ0s= IHRydW5j IGFubm90YXRlZA== c2V0VXA= VE9LRU4= IENvY2E= RGlzYXBwZWFy OnZhbHVl IGFpZGVk dHRs bHV4 IGFjdWVyZG8= IEZpbmdlcg== Lkdlb21ldHJ5 XScpOwo= Lmdm VFhU IFNjb3RpYQ== YXZyYQ== IHZpcA== IHdob3BwaW5n LWdpcmw= IGN1cnNlZA== XVst IGNpcmN1bGF0ZWQ= dW5jdHVyZQ== b3JtYW4= IG1BZGFwdGVy IOKAlAoK RmlsZU1hbmFnZXI= KGlQYXJhbQ== SW1hZ2VCdXR0b24= REFR QXJtb3I= IHNwYXQ= LmpzZGVsaXZy IG1pc29n LmVjb3Jl J119Cg== aW1wb3J0cw== IGRpbm9zYXVy LUZyZWU= IGFubm9u IHRyaWJ1bmFs WWE= Lmd1aWQ= bW9zdGx5 PT09PQo= IGltYWdlbQ== U3VpdA== a2Fz IENoYW5uZWxz QnVkZ2V0 IERpdmlkZQ== amVt IEdyaQ== IGluZGljYXRpdmU= XEZhY3Rvcnk= LnJlcG9zaXRvcmllcw== IEFNUA== LnNucA== IGHDpw== Ims= IMK1 ZGVjb2RlZA== X2FyYw== LUNsYXVzZQ== IEFkag== IG5ld0FycmF5 KEdFVA== IGxhdGlu IHd6 OnVpbnQ= 5Yir Ii4u Q29ubmVjdGluZw== ZW5ub24= 5bm2 IFNlcw== IGJlbG9uZ2luZ3M= Kycm CXNldHRpbmdz SU5W IHDDqQ== IGFkdWx0aG9vZA== YW1ibGU= X21hc2tz LXJlc29sdXRpb24= cmF0cw== IO2BtA== IHZvZw== IFNobw== IENvdmVuYW50 IHJlbWluZGluZw== b3JuYWRv aWFk 5byC Q3JlYXRpdmU= IFNUWUxF IGFub21hbHk= XEFwcGxpY2F0aW9u IG1hbmlmZXN0YXRpb24= IE5hbm8= TWFwVmlldw== aWRlYWw= YWNoaW5lcnk= IFZhdWdo cHJpbnRlcg== VmVyZGFuYQ== L2NvbXBvbmVudA== IGFkZENoaWxk IGxlYXJuZXI= IGRlY3J5cHRlZA== IHRpZ2h0ZXI= 5p2f IGplag== IC4KCgoK IExvYmJ5 bGVw w6Rubg== bGVpZ2g= L3JvdXRlcw== IGNhbm9weQ== IEZpc2NhbA== Ojsi IGJ1cmRlbnM= L2Z1bGw= IENTUg== LlNoYXJlZFByZWZlcmVuY2Vz L3RyZWU= IGRyb2l0 SW1wbGVtZW50 R2V0Q3VycmVudA== KHB1c2g= JHg= 0Y/Qtw== QUNJVFk= PT09PT09PT09PQo= amM= X2hyZWY= LmdldFJvb3Q= IEtE KGxz W2NudA== IGRhbGw= KGJw IEVX S2V5RXZlbnQ= bG9iZQ== IGh0bWxlbnRpdGllcw== IGZhbHRh IHZhbHZlcw== IHNpemluZw== UG9ybg== IHNob3dFcnJvcg== IEZyaWQ= IMOH LnJhbmRu IHRhbnRy IHNheA== dXJvdmlzaW9u dGhlb24= X1JDQw== eEZE SW5pdFN0cnVjdA== IGNhbm5lZA== IHF1YW50aWRhZGU= LldBUk5JTkc= IEJyaXR0 LXJlZ2lzdGVy YWN0aXZlbHk= IE5hdGFsaWU= 44G/ IENPTk5FQ1Q= emVr IG1pbGxvbmVz XWludA== ICcsJyw= IHByaW4= IjpbLQ== IC8vLg== IGludGltaWRhdGluZw== cmF6aW9uZQ== LmlibQ== IEpha2FydGE= 0LzQtdGA IGxvYWRDaGlsZHJlbg== X1VQTE9BRA== IFdlZWtz IGdldFRleHQ= IPCfkg== IF1dCg== IENvc3Rz xJlw cGF5bWVudHM= Lk1vdmll bGg= tIg= X2NlcnRpZmljYXRl PXE= bGlicmFyaWVz IEFlcg== YXVzcw== CWZhaWw= T1VORFM= c2VuZEtleXM= IHNjYW1z d2FydHM= SGlzdA== IEVzc2V4 IGZ1cnk= IHRpdHJl IENvcGVuaGFnZW4= IHByZWRlZmluZWQ= c2Nw c2VycmF0 LmVuc3VyZQ== aWxlZQ== TWVyaXQ= X1VOTE9DSw== IENvcnJlY3Rpb24= Tm9ybWFsaXphdGlvbg== IOS/ruaUuQ== IHN0b29s IOWIoOmZpA== U2hvcnRjdXQ= Y2hvc2Vu IGJ1bGx5 IGZ1bmNpw7Nu 44O844Or IOeUn+WRveWRqOacnw== LmFsaWFz PlRvdGFs IFNURU0= cGVuZw== Y2FsZXI= cGVyZmVjdA== IGJvbmRpbmc= UGhvbmVz IHB1bHA= 67aA SUVXUw== IERlZXI= X0xDRA== IENvbmNvcmQ= V2l6YXJk IG9mcmVj IEVtZXJhbGQ= dGVuZXNz bmF2aWdhdG9y VGhlb3J5 IGd1YXJkYXI= IGZ1bGZpbA== IFVuYXV0aG9yaXplZA== IEJvdXQ= CWhvc3Q= IFJpYg== KGZ0 RG9jcw== LmdldEJvZHk= 5b+D IFJpdmVyYQ== IHdhdmluZw== IHBlcmZpbA== Qm91bmRpbmdDbGllbnRSZWN0 LmZh cGFnZWQ= IEFmZmlsaWF0ZQ== IHByb2xldA== fS0+ew== KHNjb3Jlcw== IHZpdGFl e05hbWU= c2NoZWR1bGVy X1NBTg== IE5lYw== IEJlZWY= X3Rj TElO IEV2ZW50VHlwZQ== IEJ1ZmZlcmVkV3JpdGVy IHNvZnRlcg== IFZvdGluZw== IEdlc3R1cmVEZXRlY3Rvcg== IHVuc2Vlbg== IFNDTw== IGVsbw== Y29tYmluZQ== X21ha2VDb25zdHJhaW50cw== IHVuZGVyZ29uZQ== IE9mZmljaWFscw== LG9wdA== IGxheWVyZWQ= ScOTTg== IGJhbmtlcnM= IHNlZ3JlZ2F0aW9u IHJ1c3NpYW4= IHZlbnRhbmE= Z2V0S2V5 U2FudGE= LlRvb2xTdHJpcFNlcGFyYXRvcg== IEFlcm9z LnB1dEludA== IGluZm9ybXM= X2JpbGw= 66aE LnNldE1heA== IH0+Cg== IElQUw== IEFsaWM= In0KCg== IHVzaGVy IE5ndXllbg== IGFic29sdXQ= IGd1YXJkZWQ= IFJlYmVs IFp3 IEFubnVuY2k= IHByw6E= YWJjZGVmZ2hpamts IFZlcmlmaWVk W2l4 IHRpZXJz w6J0 LiIpDQo= aWp1 bGl2aW5n R1BT LlRlc3RUb29scw== U2l6ZVBvbGljeQ== IG1hc3NhZ2Vz YXNzZXJ0SW5zdGFuY2VPZg== IHBvc3PDrXZlbA== IGJ1c2M= IEp1ZGFpc20= IGluZGlzcGVuc2FibGU= IE1vc3RseQ== SVRB IGdldENvbnRlbnQ= QnJvd3NlclJvdXRlcg== LWNvdW50ZXI= IG9idGVu IC8+KTsK 0LjQuw== aGVhZGxpbmU= KGhvbWU= YWxpY2U= bGRyZQ== X01vZHVsZQ== Q29tcGFuaWVz TlBD IHRvcnNv LmNvbnM= CWFkZHJlc3M= X3B1cmNoYXNl IEJhcmQ= Z3N0 LWFuaW1hdGlvbg== X3BhaWQ= LnNwZWNpYWw= IGRlbGlt IHRha2VvdmVy KGhhbmQ= ZW51aW5l LWdyZXk= IEFCSQ== U2Vzc2lvbkZhY3Rvcnk= aW5zdGFsbGVy X0RJU1RBTkNF IEZhdm9yaXRlcw== oIA= Jz57 IExhdXJlbnQ= 0YfQtdGC IHN0cmlwc2xhc2hlcw== IGVzdGFiYQ== JnQ= LnBhbg== IFBBUlRZ IEJhbGk= Y3Np KG1lbW9yeQ== IFRvZG9z IFNPQVA= YWduZXQ= CWJlZm9yZQ== T3B0aW9uc1Jlc29sdmVy aWJlbg== INmF2YY= IGFkZGl0aXZl IE1lbGVl IE1hbml0b2Jh IFBlcmNlbnRhZ2U= PSgt LmtpbGw= IGx4 YW5jYQ== IGZvdG9ncmFm IGJsYW5j IFJlc2lkZW50cw== cGluaw== SEJveExheW91dA== LnVuaW9u IEhZ IGNvbnRlbnRWaWV3 LWZhdA== CWhhcw== 66OM IHdoaXBwZWQ= dmVuZG9ycw== dWJyZQ== SVRIRVI= LmZ1bmN0aW9uYWw= INCy0LXRgA== Q2FuY2VsZWQ= LWNu SW5PdXQ= LlJvd1N0eWxlcw== IHRyYXRh IEluZG9vcg== LWZhc2hpb25lZA== IEJvb3Ro LkxhYmVsQ29udHJvbA== IHBvcGU= IENhcm5lZ2ll bmVyZ2ll IEJY 44CCIiwK IFdlYnN0ZXI= CWRpdg== TmFycg== IGNvbmp1Zw== a2lk IG1vZGVyYXRpb24= IGFteQ== IFNvbHZl VklD IEVa aWxsYWM= IENpcGhlcg== IEFjY2VwdGVk TEFCRUw= IHdyYXRo IG1pblZhbHVl IGthxbw= IERhdWdodGVy KS5e KGRj IHJlc29sdmVz c2Nzcw== YWJvdXRz dWx0aXBhcnRGaWxl IGZlYXRz IGxhdW5kZXJpbmc= IGNvbXBhw7E= IHNlZ3VyaWRhZA== IGhvYmJpZXM= LWZhY2luZw== InZhbHVl Z2V0SW1hZ2U= U3FsU2VydmVy IHdpdGhTdHlsZXM= PkRhdGU= IEV4cGVk JGpzb24= 6ZO+ IEFDVElPTlM= U2Vuc2l0aXZl Ymxhc3Q= IMO2ZmY= ZnRl Q1RTVFI= IExvZ0xldmVs Y29udHJhY3Rz LmRqYW5n Ij4NDQo= RVRZUEU= IG9iamM= X1NPVU5E X3NwYWNpbmc= X2NsYXNzaWZpZXI= IHJvYw== Q2xhc3NpYw== IOuztA== X2ludmVyc2U= LWFjcmU= IEZJTA== IERWRHM= IHN3YWxsb3dlZA== dmlsbGE= IFJlcGxpZXM= RmlyZWJhc2U= IHBoeXNpcXVl CXRoYXQ= IFJlc2l6ZQ== Pj4+Pj4+Pg== TmVhcmx5 LmFydGlzdA== LXs= Pz4NCg0K Lmxy Lmly KFsk aWFubmU= CW9i LCcl IGtuZXg= IGNvcnJv IE93ZW5z PW5pbA== bGF5cw== YXBn w5Y= RU5P SGVucnk= SnVzdGlu ZWxlY3RyaWM= IE5vcmRpYw== 5oyH IGV4Y2x1ZGVz RXVyb3BlYW4= IHRlbnRz KFN0cmluZ1V0aWxz KHBlZXI= eXN0b3Jl UG9ja2V0 ZnVlbA== ZXR1cw== IE1hcmlu 0YDRg9C6 6K+E IFBlbnM= IGluZWZmaWNpZW50 IGV0ZXJuaXR5 Licm IFBhY2thZ2Vz IEFwcENvbmZpZw== IG11bHRpZA== Y3Vsbw== IGJvcnJvd2Vycw== IERlYmJpZQ== IGZyb250cw== Sko= ICIuLi8uLi8uLi8uLi8= ICIrCg== PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0= IEdhdmlu IG1pc2g= 4pWR X0FUVEFDSw== SW5kZXBlbmQ= 4K+N4K4= w6Fm Z2Fycw== IFBhcnRpY2lwYXRpb24= VmVyYm9zZQ== U3By U3Zn KFZhbHVlRXJyb3I= IHJlY29uY2lsZQ== CURCRw== bWVldA== IExvZ2luUGFnZQ== LXVudXNlZA== IGpvbmc= IGFuY29yYQ== INij Plo= PXc= IFJlbm8= dmll b3Rpb25FdmVudA== IExpc3RUaWxl X1J1bnRpbWU= IHVwaG9sZA== IE9idGFpbg== cHJvdmlkZWQ= IERhdGVQaWNrZXI= IENHSQ== IEJsYWNrQmVycnk= YWNobw== IElzYWlhaA== 5pW0 IEFiZHVsbGFo IHVwcA== IHVybHBhdHRlcm5z CXNpemVvZg== IHBpc3NlZA== IHByZWZlcnJlZFN0eWxl QVBQRVI= IFZC IFRlcmVzYQ== b2duaXRv RU1Z IGVsZWdhbmNl IENsYXl0b24= YXRpdm9z IEFuYWxvZw== IGdhdXNzaWFu IEhpYmVybmF0ZQ== W11b IHN3ZWV0bmVzcw== IE5pZWxzZW4= IER1dGVydGU= KHNlbA== LCs= IGV4dHJhb3JkaW4= Zmxha2U= W0RvdWJsZQ== Ly8vDQo= IG11Y2hhcw== IEJyb2FkY2FzdGluZw== QXNzb2NpYXRpb24= ZXhlcmNpc2U= LlJlbGF0aXZl IHViaXF1aXRvdXM= U0JBVENI xLFuYQ== LWZvb2Q= IGNyeXN0YWxs 0YPQsQ== ICd+ INCR IGR1bms= IHpp IE11Zw== IGRlY2VwdGlvbg== IEVtYWNz CiAgICAKICAgIAo= IMSRxrDhu6Nj IFdvbHZlcw== YW1lbnRp ICcpWw== Zm9ybWF0cw== UmVjdg== RGV0YWlsZWQ= KEhXTkQ= X3RyaWFs YWdyYW50 T20= Y29uc2Npb3Vz IG9zcA== cXXDqQ== IGdvbg== IG1lcmVrYQ== YXJlbmRyYQ== TWluZQ== LmxpbmtlZGlu IGZpZm8= Lm1vbml0b3I= IHJ1bmU= bW5vcA== IHNwZWN1bGF0ZQ== ZWds IHZhc2N1bGFy LnRlY2g= IG1hZ21h IGxlc3Q= dW1hbm4= IERyaXZlck1hbmFnZXI= IG9ydA== IGxpbmdlcmluZw== IG9zdHJlYW0= IHNwYXJrbGluZw== LmNvbm5lY3Rvcg== IHRhaWxz IGtlcm5lbHM= VVNFUk5BTUU= CWNj IG9uU2VsZWN0 L01QTA== dGFwZQ== LmRqYW5nb3Byb2plY3Q= R2VuZQ== 4oCZaW4= L2ZpbHRlcg== LWVudmVsb3Bl IGFwcGxhdXNl IHJlZ2lzdHJvcw== IENvcnk= b2ZmbGluZQ== LXNob3Q= bGVzYw== b3RlbnQ= IG51bWVyYXRvcg== LmVmZmVjdA== cGxhY2VtZW50cw== IEFGQw== LlNlcXVlbmNl IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K eW50aGlh IEdyaWZmaXRo ZWxtYW4= c2V0RGVzY3JpcHRpb24= IE5pZ2h0cw== Lm9yZGVycw== IGAsCg== IFNhbGFk amlhbmc= IHJlY3Vy IFNUQVRJQw== LXNwb25zb3JlZA== eWxlbmU= LGVtYWls X18pKQ== KSIpLg== Q0VMTA== YW1tZW50 TEFZ LHN0ZA== LnByZWY= LkNvcg== cmVkbw== IEZ1Y2tlZA== IHJ1c3M= IGVzdGFibGlzaGVz bnZhcmNoYXI= LkdldEZpbGVOYW1l IHBlbWI= IFNhdWQ= X3BhY2tldHM= Lmludm9pY2U= LmdldFRvdGFs SG9tZUNvbnRyb2xsZXI= IHTDtg== YWdoZXI= LmVudA== LkFic29sdXRlQ29uc3RyYWludHM= IGdlbnVz IEJhYnlsb24= IC4uLy4uLw== IE1pZG5pZ2h0 IHdn IGRhbmNlcg== LWltbQ== ZGlyZQ== aGF6aQ== Y2VydGlmaWNhdGU= IG1EYXRh IGN1cmVk c3Zu IkI= aWJyZQ== IGRyYWZ0cw== Q2FwaXRhbA== IGNvbmNpc2U= IFBlYWNo IHxc IHBwbQ== X2NvbnRhaW5z QXV0b3I= QXV0b1NpemU= X2xi IHNvbGVtbg== IGZpbmdlcnQ= IEluZGljYXRvcg== IFN2 UGFyaw== JHR5cGU= X01JU1M= YW5udWFs UGFpZA== bWFzdGVycw== IFdE IHZ1ZWw= IGVqYWM= CWdsdXQ= IHVuZmluaXNoZWQ= ZXN0ZWVt Z3JvdXBCb3g= UmVtb3Zpbmc= IGVpbmlnZQ== IFNjcmlwdHM= Z2V0dG8= LkhhbmRsZUZ1bmM= Il0pLA== IGRpc2FkdmFudGFnZXM= LWZyb250 PnA= c2V0T25DbGlja0xpc3RlbmVy IGxhbmRsb3Jkcw== IE3DvA== IHByZXByb2Nlc3Npbmc= KX0+ LWNvbnRleHQ= LGJvb2w= UVVJVA== ICIpIik7Cg== IFdlYnNpdGVz IENoYXJsb3R0ZXN2aWxsZQ== TGF0Y2g= LmRpcmVjdGl2ZQ== IEh1ZmZpbmd0b24= X2RpcnR5 ZXhwaXJhdGlvbg== IFRQTQ== IGVkeA== IFdlYkRyaXZlcldhaXQ= IGFkbWlyZWQ= IGxpc3RlbnM= IFZpbA== ZGlmZmVyZW50 IGxpdmVsaWhvb2Q= IFdhcmNyYWZ0 IHBvc2ljaW9u IGltcGVhY2htZW50 SmF5 IHBvc2l0aXZlcw== IGp1bmdl IFNNQg== L2luY2x1ZGVz KCcuLi8uLi8uLi8= QXJndW1lbnROdWxsRXhjZXB0aW9u ZGVzY3JpY2Fv QUJDREU= LUFB IGludmFkZWQ= IGFtZXJpY2E= dWVkZQ== IFBoYXNlcg== IHNjb3Jlcg== IGRpc2NvdXJhZ2Vk dGhpbg== IGFiZG9tZW4= IElQUA== IEhhbXB0b24= L0RlbGV0ZQ== W3NyYw== Q1N0cmluZw== IE51bg== IGVwaXRo 4oC7 LnRhYmxlcw== IEhlaW4= IHdoaXJs IGNsYXJpZmljYXRpb24= IHdlZGdl IGjDpHI= IFRpbmE= IHRod2FydA== IENvc3R1bWU= aW9uYWdl Q29k X2FjbA== IHJlc2g= IE1lcmN5 IERpeG9u IGRlc2Fycm9sbA== VmlyZ2lu KiopJg== IExlbm92bw== IGVyYXNlZA== ZW50aW9ucw== IHNsaXBwaW5n 5Zub IGNyYXZpbmc= cGxhbnRz IGdldHRleHQ= IG1hc3NpdmVseQ== IFJlbmFtZQ== Lmhlcm8= 44K7 IHRvbWFy IENPU1Q= IFByYWN0aWNlcw== Lk1lZGlhVHlwZQ== IEZ1bmRpbmc= RmluZQ== aWdlcmlh VW5j IHN3YXBwaW5n PicuCg== aW50ZXJw YXJ0aWZhY3Q= IEJhZ3M= LnZpZXdNb2RlbA== cXVvdGVk CUxvbmc= X1NDT1JF IHNhdnZ5 bmVsbGU= a2zDpA== Q291bnRz 2q8= RmllbGRUeXBl b2thYmxl IFJUTA== I2luZGV4 ICV7 IGFyaXN0 LkdldE1hcHBpbmc= KEFkYXB0ZXJWaWV3 PSIiKQo= IGRpc2lu IFRvdWNoYWJsZU9wYWNpdHk= IE1PWg== IER1bm4= Q2FwYWJpbGl0eQ== YWtoc3Rhbg== VUlWaWV3Q29udHJvbGxlcg== KHNvY2tmZA== IEphY3F1ZXM= PXRr YXJQYXJhbXM= Y29uZGE= IGFkdm9jYXRlZA== IHBlbmV0cmF0ZQ== SkVDVElPTg== IOuwmA== IEZJTkQ= IGVhcm5z YXBwZW4= 6rE= IHRocm91Z2hwdXQ= IHBlbnNpb25z IGZ1c3M= SFRUUFJlcXVlc3Q= bnV0cw== b2NodA== LWVzdGFibGlzaGVk IEFMSUdO IGpzcGI= RGlzcA== X2VtYmVkZGluZ3M= IHJlcHQ= IFlvcmtlcg== w7JuZw== IGpvdXJuZXlz IEFwcHJvdmFs CVNFTEVDVA== KEdyYXBo 0LzQuA== IGRvbGxz IHNleGlzdA== IHBhbnM= IG1wbA== IG9wZXJhdGl2ZQ== IFRvcnJlbnQ= WU0= IFBhc3Npb24= 5pat LmNvbXBpbGVy CUNTdHJpbmc= PWNvbG9y b3JpYW5DYWxlbmRhcg== IEtub2Nr IGhhaWxlZA== L3N0YXRl IHNldHVwdG9vbHM= IE1hcmU= IHN5bmNocm9uaXpl IFN3aXBl IGdhbWJsZQ== LCcnXV1dLAo= IGRlZmVjdGl2ZQ== X09CSkM= IGRlbmlt IHRhZA== IEtpbWJlcg== IG5ldXJvbG9naWNhbA== w6puY2lhcw== CWNi LnNldFBhc3N3b3Jk IFBsZWFzYW50 IFBoaQ== LXRhZ3M= IGNvbnRhZw== IENvcmFs IGRpc3RyYWN0 aXRpemVy IHN1bnJpc2U= c2V0SWQ= IENoZW5uYWk= IE9ncmU= X0hJU1RPUlk= UFJFU1NJT04= X1NVRkZJWA== ZHVwbGljYXRl LmF1dGhTZXJ2aWNl IHNwYWNlZA== IEJlbmdhbHM= U29sdmVy IGJ1cmVhdWNyYWN5 X2hpdHM= INGC0LjQvw== IGPDqQ== IGRpc2dyYWNl 6KeS aXNPcGVu Q2hlbQ== X2xpY2Vuc2U= X2hvc3RuYW1l X0JSRUFL IGZpZXJ5 OkQ= L2xpbnV4 VGl0dWxv UmFkaWFucw== aXpvbnM= UmFt b2RpYW4= aWFuZ2xl IG5pbmph RXZlcnlib2R5 KCI+ IHRha8W8ZQ== IGdyb3VuZGJyZWFraW5n IGRpcmln SFRNTEVsZW1lbnQ= IFVuY29tbWVudA== Y2hlaW4= IOeUn+WRveWRqOacn+WHveaVsA== JSIK IHRpcG9z Q2hhckNvZGU= IFByb2R1Y3Rv ZmFpdA== J2w= LXRodW1ibmFpbA== dXN1 X2Zvcm11bGE= LlRPUA== LmJ1eQ== IG1pZXV4 Q2VudHVyeQ== cGVp IHRic3A= LVBhY2lmaWM= b2dp IGZhdHRv IGZhbnRhc3Q= IFNBTEU= LmFkcw== IHBpbGxhcnM= X3RyaXA= IHR1YQ== IGFwZWxsaWRv LnNldENlbGxWYWx1ZQ== ICgoXw== IE5pbmE= PGM= aW5pdW0= ZGZ1bmRpbmc= LXdvcmtpbmc= IEVzdGFkb3M= IE1hbGk= PGY= dXJhbmNlcw== cGFnaW5h X1BL IHVuYXJtZWQ= b2dnbGVk Q2FuZGlkYXRl UmF0aGVy IGZyYW5jaGlzZXM= IGNvdmVuYW50 wqo= aXBwaW5lcw== R3Vu LWZlaXJh IGxpbmVhZ2U= X0dSQU5URUQ= Z2VucmVz LkVsYXBzZWQ= IGxhcmdv 0Js= LXJlYWR5 X3Byb2Nlc3NlZA== bGFuZ3M= w7ptZXJvcw== ZnE= L25wbQ== X3Nydg== IGF0dGVuZGFudA== aXZpZA== ZXZpY2U= QUJJ KGJpbmFyeQ== X1ZBTElEQVRF IGFkZEl0ZW0= X2NvZWY= YWxlYg== b2dyYXBoaWNhbGx5 Qm9yZGVyQ29sb3I= IGFzc2F5 IGNhdGNoRXJyb3I= IENocnlzbGVy b2do IGtleVZhbHVl ZGVjaXNpb24= LW9mZnM= IGxpZWd0 KERhdGFUeXBl IGlyaXM= IGV1cA== cmlnZXI= b25pY2E= IHJvcGVz IG5hcnJvd2x5 IFF1YWRy IGVwdWI= ZXN0aW5hbA== LXR1cm4= IGxhbmdz 55uR5ZCs6aG16Z2i IHF1ZWxsbw== LGFyZ3M= aWdhdGU= IFNlZW1z IGZvcnRl Q0xJ X0xPQURJTkc= LlJ1bGU= IHlvdXRocw== KHh4 IEFzc3VtaW5n YWdoZXR0aQ== KQoKCgoK IG9uT3B0aW9uc0l0ZW1TZWxlY3RlZA== T2NjdXA= IGRldHJpbWVudGFs IGlubmF0ZQ== IEJhcnJlbA== dWVuY2lh IG9uQmx1cg== IGxpYnM= W2xhc3Q= IGNwZg== LlRpbWVvdXQ= ZXN0YXRpb24= IHdpZWw= IHV0aWxpemFy IGRpc2d1aXNl IER1bQ== T0NJ T05HTw== ICg/LA== IFBhdGlv VmVydGV4QXJyYXk= LmF1dGhvcml6YXRpb24= cm96 IEhvcw== LlNwYWNl IFZpcnVz KGtleXdvcmQ= VE9DT0w= X0NPTlRST0xMRVI= IEJsb2NrZWQ= IENob3A= d2nEmQ== XFJvdXRpbmc= L3BhY2thZ2U= IHBlcnN1YWRlZA== YmVpdHM= TENE IG11Yw== X0ZPUldBUkQ= IG91dGxhdw== IHphdw== X3ZlaGljbGU= IEplbnNlbg== LkdyZWVu IC8vLy8v SVJDTEU= LWJ1c2luZXNz LkhpZGRlbg== IGtvbm50ZQ== cHE= IHBhcmVjZQ== IGxhbmRzY2FwaW5n IERlY29yYXRpb24= IEdSQQ== X3Byb2ZpbGVz IEZsZW0= Q0xJQ0s= IEZBSUxVUkU= IGlvbnM= X1RpbWVy LkRvZXM= IGJvdW5jaW5n dXBweQ== dWxpcw== L2Fn IEdhcm4= IGh1ZA== IHJlc3BvbmRlcg== IHN0cmNocg== IGNob2tl IHN0YXNo X2NoZWNrc3Vt IHN0YW1wZWQ= QEdldE1hcHBpbmc= LkJ5dGVBcnJheQ== IER5cw== YXRlcm5pdHk= KHJi IGVkaXRUZXh0 IGVyZWN0aW9u IGNlc3M= X2V2ZXJ5 X2dhdGV3YXk= ICciLg== IHN0YWZmaW5n IGludm9pY2Vz aW5pY2lv fV0sCg== LHZhcg== eWNpbg== IERpb24= ICUlCg== Jywo LXNwYW4= IHRow6BuaA== IGJvcm5l IEthdGhsZWVu 6L+e5o6l X2N1YmU= IGluZm9ybWHDp8O1ZXM= bmdlcg== L0ZpbGU= IGRhcmE= IG1M KioqKioqCg== IG1hcmtpbmdz YmJl IHJlY3VycmVudA== IFJhbmtpbmc= X2ludGVncmFs XT4K IHVuYW5pbW91c2x5 IGRpcGxvbWF0cw== IElPUw== OyI+PD8= IE1hdHRl IFJhbGVpZ2g= IEltcHJvdmU= ZXhpc3RlbnQ= IGZha2Vy IEhpZ2hsYW5k c3RlbQ== LW1z TGlzdE9m Lkxpc3RlbmVy KHdhaXQ= X1JTVA== VW5h IG9jY3VwYXRpb25hbA== LW1lbW9yeQ== IFN1cmY= IGJydXRl X0VsZW1lbnQ= ZGRkZA== IERlY3Jl LnBzaQ== LWRldmVs IE9uVHJpZ2dlckVudGVy VG9EZWxldGU= IGhlcmFsZA== IHNvY2lhbGVz IGJvb3N0ZWQ= Lkl0b2E= KiI= IGFudGlkZXByZXNz IE1hdmVy X18pKQo= KER1cmF0aW9u ZXN0YXRl YnJhdGU= Q2xh IOS4ig== 65CY cmnDqHJl YnJlYWtlcg== X2xlZw== fWVsc2VpZg== X2Z1bmNz dcOt LnBhZ2VZ Y3JlYXR1cmU= IGNhbm5hYmlu IEFzdHJv bG9jYWxz IExBUw== X2NvbnZlcnNpb24= IENSVUQ= LnNraWxs IHN0cmF0ZWdpc3Q= LnBvbA== KHNlZ21lbnQ= IHBlZQ== fSIpOwoK LnByZXZpZXc= SmFt IGhlZnR5 aXZhdGluZw== R3JpZENvbHVtbg== IGN1ZGQ= IGluamVjdGlvbnM= IE5JTA== LW9sZHM= ZmxhdGlvbg== IExlYWZz IHNwaGVyaWNhbA== IGZhbGxvdXQ= YW1pbmVy IDo6PQ== LnBvaW50ZXI= LU1hcnQ= IG1hdHRl IGNvcXVpbmU= IGRpc2NvbnRpbnVlZA== IFJFR0lPTg== LlJpZ2h0VG9MZWZ0 IHNxdWVlemVk X1BPSU5UUw== YmVzdG9z LWxhc3Rpbmc= KHV0aWxz PEJhc2U= IHBhcmRvbg== U3RyaWRl Y2Ry IG5hcnJhdG9y dm9sdXRpb24= IHVzZXJJbnB1dA== X2NvbnRhY3Rz KGVuZW15 IENoYW1iZXJz emllbA== IGJsb2NrU2l6ZQ== QW5pbWF0aW9uc01vZHVsZQ== IGltbWVyc2l2ZQ== IG91dGluZw== dWVzdG9z VHdlZW4= IGtlcA== IHLDqXN1bHQ= IEJvbGx5d29vZA== RExM IFN1cmVseQ== LlJvd1N0eWxl KHRt X2dlbmVyYXRpb24= IFN0aXI= IGRhdGFTbmFwc2hvdA== Y2h1cmNo IGNvbmZpZGVudGlhbGl0eQ== X3N1c3BlbmQ= dmlw IEthdGh5 44Km IHZpb2xlbnRseQ== cGV0cw== IG1lc3NlZA== IHRleHRib29rcw== ICAgICAgICAJCQk= 5raI5oGv IExhcmF2ZWw= IEFyY2FkZQ== IGVudGg= IGJlbmlnbg== X0RST1A= LWVuYWJsZQ== 4oCdKS4= dXZ3eHl6 X2xpc3Rpbmc= IE5JQw== 44GV44GE KCIuIiw= LXJvdW5kZWQ= LXBhY2Vk cGF0cmljaw== U2VsZQ== LmdldEZpcnN0 LkVYSVQ= ZXRlcm1pbmF0ZQ== R3JhbQ== Ly8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq LmV4dGVybmFs IHdyb25nZG9pbmc= IEVsbQ== IHNhbms= VGVlbg== IFRob21zb24= cHJpb3I= amV0YQ== IEFEUw== IFBlcnNpc3RlbmNl IEZvbGs= e1wi Ym9uZA== X1NQRUNJQUw= X0xBVA== b25la3Np IG1vdGhlcmJvYXJk IHNoZWFy RnVsbFNjcmVlbg== Kks= KEJsdWVwcmludA== TWV0aG9kSW5mbw== QmVjb21l IGhhaWw= IERvYg== IGdlbmVyb3NpdHk= ID8iOwo= IHdoaXNrZXk= IHRoaW5uZXI= IENw IGludGVyc2VjdGlvbnM= Q3JpdA== cmFpc2Fs cmVmZmVu V2hlbmV2ZXI= IGNvbW1lbmNlZA== VHJhbnNmb3JtYXRpb24= L3dyaXRl PSIiIg== KGxk IG5vcnNr QU1FTlQ= LnNoYXJlZEluc3RhbmNl X2hvdXNl IGdsRW5hYmxl 6L2v IG5hbw== IGRlcG9zaXRpb24= IGRpbm9zYXVycw== IHRpbWVTdGFtcA== X18pOwoK LlJpYmJvbg== IExpbmRzZXk= OnVzZXI= IMOA X2Zvcm1z bWluYXRpbmc= IE9saXY= IGTDqWJ1dA== YmFyY29kZQ== c2ltaWxhcg== IHBsYXRlYXU= IGluZGVt UmVhbG0= IGZlcnRpbGl6ZXI= IGNhcGU= IGNoYW1wYWduZQ== IHNlbGZpZQ== IHBsYWlubHk= IGNhdGFzdHJvcGhl IGJldHJheWVk dmVyc2libGU= VXBkYXRlVGltZQ== Lk91dHB1dFN0cmVhbQ== Ymlhc2Vk Ym91bmNl IFNwb3J0aW5n Q29vcmRpbmF0b3I= ZGV2ZWxvcGVycw== IHRyYWNlcg== IG11c3RhcmQ= U1E= X3Rlcm1pbmFs IGNvb2xlZA== IGF2b2lkYW5jZQ== TG9naWNhbA== IHllbGw= X3JvdXRlcw== IGFydGVyeQ== IEJlYXJpbmdz Lm12cA== LkdVSQ== VUlTY3JlZW4= eW1t aXTDpA== KClbIg== IEF6ZXJiYWk= IGNvbmRpdGlvbmVy IHdhZw== IHNjYWxw dmluY2lhbA== b3dsZXI= LicpOwoK QkxVRQ== IMKnwqc= Qm9zdG9u IExpbmtlZEhhc2hNYXA= RG9jdW1lbnRhdGlvbg== LkxlcnA= IGRlbm5l IGhlc2l0YXRpb24= IENlbGVicml0eQ== IEh5ZGU= IGNvbW1hbmRpbmc= YWNlbGx1bGFy IHBhdmVtZW50 IEhhbW1vbmQ= YXNzaWM= UExVR0lO IHJldm9rZWQ= RG9jdW1lbnRv LnBob3Rvcw== IFdpbGxvdw== IFZpa2luZw== IHVwZnJvbnQ= IExpZmV0aW1l ICVb RHJlYW0= 5aS0 IGFjY2VsZXJhdG9y UGVyc29uYQ== X3RvcGljcw== 77yJ44CB IChfLg== IHPDqWN1cg== IEt3 X2Nhc2g= IHNvb3RoaW5n IExvdmVseQ== IEhlcnM= ZWxvbg== TElDRU5TRQ== X2NhY2hlZA== LnNoYQ== UkZD LkZpbGVJbnB1dFN0cmVhbQ== LUFs IHVzZXJMaXN0 IG7DpHI= SGlsbGFyeQ== IHBhZ28= LlBsdWdpbg== IENvdmU= X3lhbWw= X3JzcA== J3Bvc3Q= LWR1cmF0aW9u IHNlbnRpZG8= IG1pbkhlaWdodA== IHR1cnJldA== LWVuZXJneQ== IOeJ 0YDRg9Cz b3RlY2E= X3F1YWw= U2VsZWN0aXZl IEJFTE9X CWFkbWlu IH19LAo= J3VzZXI= U1ZH IGN1bG8= KFdvcmxk LWJpbmRpbmc= bmJy IFNlbmRz IHN1cHJlbWFjeQ== IHNrYXRpbmc= IGNyZWVr IGFjY3VzYXRpb24= YXBnb2xseQ== LklERU5USVRZ IG1hbmRhdGVk IGdvd24= IHdpZHRocw== IExTVQ== L3ZlcnNpb24= IFJlYWRlcnM= IFJvbmFsZG8= IGJhZmY= IGA7Cg== R0xJU0g= KGRvdA== IE9wZXJhdG9ycw== LlNjZW5lTWFuYWdlbWVudA== bWVyYw== X3JlcG9ydHM= LWNlbnRyaWM= IENlaWxpbmc= PXsh bW9ueQ== IEFERFJFU1M= 5a+56LGh TWF0Y2hpbmc= IHVuaw== IGtleUNvZGU= ICcvJyk= KWRhdGE= IFZvbHVudGVlcg== IGxheg== IEd1YW5n IENhbmRpZGF0ZXM= RW5zdXJl aWFnZQ== c3VjYw== Q2VydGFpbg== IGxlZnRvdmVy aW5pbg== LWVsZW1lbnRz cGlrZQ== IHNsaWRlc2hvdw== LnRvb2xTdHJpcFNlcGFyYXRvcg== LnBoYXNl IGVudGVydGFpbmVk IENhcnJpZQ== IE1vaGFtbWFk LmxvZ2dlZA== IHNjcm9sbFRvcA== IEFiYmV5 aW1vbnk= KHJlc3VsdFNldA== IGFkaGVzaXZl X0RBTUFHRQ== IGlvY3Rs YnJvd24= SU5TVA== LkNsb25l IGxvb21pbmc= RGVzZXJpYWxpemU= IGx1eg== cXJzdHV2d3h5eg== LmlkZW50 SGVhdnk= IGRpbw== 5piv5ZCm IEZ1cm4= 6YKu emltbWVy 44O844OJ c3BlYWtlcg== IEdlZA== IHVuaWRlbnRpZmllZA== SW50ZXJmYWNlT3JpZW50YXRpb24= IFN1cnZpdm9y ZGVlbg== IEJvcmc= dG9Eb3VibGU= X2J3 IHB1Ymxpc2hlcw== X0FMRVJU YW5ncw== aWVyZXM= IGhlaQ== IElDb25maWd1cmF0aW9u IGNvbnN0aXR1dGVk V0FUQ0g= cHJpdmF0aW9u IEdyYW5pdGU= LlRleHRBbGlnbm1lbnQ= X2t3 OyIsCg== Y290 IE5ld2Fyaw== cm9hY2g= KW9iag== Q29tcGlsYXRpb24= Q2F0ZWdvcnlJZA== LnNldFVzZXI= aXZ5 IEltYWdpbmc= aWdodGVk IHdnZXQ= IG1vdXRocw== Lmxpbg== IFJhZGlvQnV0dG9u LkNtZA== c3Nl IG1lc2hlcw== IFNvbGU= LnJlY29yZHM= IGFudGlz KG1vbg== INGH0LjRgdC70L4= gq0= IOyeiOuKlA== QWxsQXJnc0NvbnN0cnVjdG9y IHN1cnJlYWw= IE1hcnJpZWQ= IHhwYXRo XGY= QnJpbmc= IHlhaG9v IEV0c3k= X2RhaWx5 IHRocm93YWJsZQ== IFBsYXNtYQ== L1B1YmxpYw== aW1pemVCb3g= IHZlcw== IHRyb20= X3Jocw== LWFscGhh IEFyYm9y KSkt RmlzaA== ZmVlZHM= IGNhbGY= IFNlcmdlYW50 KGVudW0= IFJhbXNleQ== IElkZW50aWZ5 LmluaXRTdGF0ZQ== IGZsdWN0dWF0aW9ucw== X0FUVFJJQlVURVM= IHB3bQ== RVNB Y3Bm U2ltdWxhdGlvbg== IHlvdXRoZnVs IEluZmFudHJ5 IGdsYW5jZWQ= IFByb3Blcg== 5LmJ IEtyYWZ0 Q2l0 b29wcw== PXVybA== cG9zdGluZw== ZGVjbGFyaW5n IHBOb2Rl SmF2YXNjcmlwdA== CQkJCQoJCQkJCg== LmNvb3JkaW5hdGVz cmlldA== IFNx X0NBVA== IFBhcGE= YW5kaQ== Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v TWVldGluZw== IOyekA== SW1hZ2Vu w6lyaWVuY2U= QWdncmVnYXRl LnBvbHk= IHdhdmVk IGludmVycw== c2VhcmNoTW9kZWw= IHRyb2xscw== W2xldmVs IExvd2U= dWxsbw== KHBsYWNl IE5BU0NBUg== IG9yYml0YWw= LnN0b3J5 IGF1dGhvcml0YXRpdmU= LnRleHRWaWV3 IGFscGg= X3JlZHVjZQ== IEZyYW1lcw== IEJyb20= cmVkaQ== KE1ldGhvZEltcGxPcHRpb25z bWFjZW4= VG90 IG1pZGQ= 2Y8= IEJhc2VNb2RlbA== IFZlZ2E= ID8+Igo= IFJpZ2lkYm9keQ== LnNldENvbnRlbnRUeXBl YWFT QmFzZWxpbmU= IGJsYW5rZXRz c2Fw IGNhc3VhbGx5 VW5pdmVycw== IFRyYXk= IEFpcmVz IG1heFk= X1BST1BFUlRJRVM= IGhlbG1ldHM= wqY= X2Rlc2Ny c2hpbnQ= X0NQUA== dW1v YWRheQ== KHBsb3Q= ZW56eW1l IEV4Y2VwdGlvbnM= X3Zpc3VhbA== Ol0KCg== KHRhcmdldEVudGl0eQ== cGhlcmVz dW5hbg== IHNlbG9u d2ls IFJlbmRlcmluZw== S0M= IGNvbnN0aXR1ZW5jeQ== U0NSSUJF ZXN5 IEZlbGxvd3NoaXA= 5Y+4 IGZ1dHVybw== IGFybW9yZWQ= bGlzdGU= b3Jhcw== bXVsdGlwbHk= Z2VtZQ== Y29lZg== 0L7QsdGA0LDQtg== IERlbGl2ZXI= ZW5nbw== LnVzZXJTZXJ2aWNl T05VUw== Lm9ucmVhZHlzdGF0ZWNoYW5nZQ== ICIvIiw= YW1iaW8= X1Byb2plY3Q= Jyk/Pg== IGZsaXBwaW5n d29tZW4= LkNyb3Nz IGhvbGxhbmQ= IGNpbmVtYXRpYw== IHdoaXN0bGVibA== IGxpbmd1aXN0aWM= LkdldHRlcg== IG3DpG5uZXI= IExlZ28= IFNjaHVtZXI= YXNzZXNzbWVudA== X2Noaw== IHJlY29tbWVuZGluZw== LnNjYWxh IEd1YXJhbnRlZQ== IEBf LkFVVEg= IHlQb3M= bGF0ZXg= IEFsYmVydG8= 5q2l dGhvcmE= 4Li34LmI VVJMRXhjZXB0aW9u R2hvc3Q= LlRvb2xiYXI= IGVuZGlhbg== 6Zeo c3RyYWN0aW9ucw== RmlsZU5vdEZvdW5kRXhjZXB0aW9u IHN0aW11bGF0aW5n YnNlcnZpY2U= YXTDs3Jpbw== aXRpb3Vz IGF1dGhTZXJ2aWNl X1RSQU5TRkVS IHJlZGlyZWN0VG8= IG1lbnNlbg== IFNQTA== IMK7LA== IGFjZXQ= X0JhY2s= 4KSV YWFj IFJpb3Q= X0ZC IFph UGxhdGU= IGxhYmVsVGV4dA== INCy0YDQtdC8 aHRvbg== IE1jQQ== IEFwcGVuZGl4 IEtvaw== IGludGVydmlld2luZw== X3NwZWxs IFN1YmplY3Rz IGJ1cm5lcg== 5a+8 aWxsaWFu IGJ1bXBz UGFzc2Vk IENvbnRyaWJ1dG9y WW8= Ymxh IHNvdXQ= LmV4Yw== Tm90aWZpZXI= c2hpdg== LlVuaXRUZXN0aW5n dWVsbGVz X1NMRUVQ CW9wdHM= IHByZXNjcmlwdGlvbnM= IHJldmlzZQ== RURJVE9S IGFubsOpZXM= X3BrZw== IFRyYWNrcw== 4LmI4Liy PWZvcm1z LlJVTg== IGFzZWc= IHDDoQ== IGplcw== R3Jl YWNy T2ZmaWNpYWxz dWtlcw== Y29tcGFuaWVz XFF1ZXJ5 IFByaW50YWJsZQ== 5a6i X1ZP IGRlaXg= IGRldmljZUlk IGRpc3R1cmJhbmNl bmlzdA== Lmlzbw== cGFyYWxsZQ== LWRlc2NyaWJlZGJ5 IExpZg== IGJyZWFzdGZlZWRpbmc= IGZlbWluaXN0cw== bGVncm91bmQ= IGRhbWU= IGNvbXB1bHNvcnk= TUVSQ0hBTlRBQklMSVRZ LXJlc3VsdHM= Zm9ybWVkVVJMRXhjZXB0aW9u OlsK LWludGVyZXN0 IHPDpA== IG5vc3RhbGdpYQ== IGNsYXJpZmllZA== IFBIT1RP IHJldmlzaXQ= IGNhcHN1bGVz IHNoaW5lcw== IGNyYWZ0c20= c3ViamVjdHM= ICAgICAgICAgICANCg== 5LiN6IO95Li656m6 IFNjaHdhcnR6 cmV1 IG1hZHJpZA== LnBlbmRpbmc= IExJTg== IHVuc3Q= CW12 IHZpdmFzdHJlZXQ= IHNwb2ls w7hq 64u5 IGJ1ZW5h IGRpZ2l0YWxXcml0ZQ== c3Vicw== IFVOSVZFUlM= IFN1aWNpZGU= PEd1aWQ= LmVsZW0= X2NvbnN0cnVjdA== IGFtaWRzdA== IOuP LWVzdGVlbQ== IEludGVncml0eQ== LmZtbA== T3V0T2ZCb3VuZHNFeGNlcHRpb24= LVNlbWl0aXNt QmV0YQ== LWdvaW5n U2VnbWVudHM= IE1hZQ== IFBlcnNvbmFsaXR5 dXJiYXRpb24= 5Y+z IHNlcnZpY2luZw== IGJpcG9sYXI= X1NUQUdF LkpQRw== Jyl9fSI+ aXNobHk= SVZFUlk= IEluc3BpcmVk LnNlcnY= KGRhdGFz IGRpdmlkZXM= PFJlYWw= dmVydHVyZQ== IG1vdGl2YXRpb25z dmVydGU= RU5DSA== ZmRz IHJldm9sdA== d2VidG9rZW4= aW5zdGVhZA== CW9wdA== IE1hcmlqdWFuYQ== X2FkYw== YmFv W1NlcmlhbGl6ZUZpZWxk IGdyYWZmaXRp LWFvcw== ZW1pYWg= IGbDrXM= IGV0aGlj J2FsbA== OmtleQ== 65Ok IHJlc3RyaWN0aW5n IFhIVE1M ZXJlbw== dW5kb3M= CWVuZGlm WzosOiw= IHN0ZWhlbg== YWtoaXI= IGp1aWNlcw== ZGF0YVNvdXJjZQ== X21r LmRlbGV0ZWQ= Q29uZ3Jlc3M= aW1tZWw= RWxlY3RyaWM= YW9z IE92ZXJsYXk= IEFDTFU= cm5k ZXNzZXM= IEx1eGVtYm91cmc= cGFyc2VGbG9hdA== IGd1dHM= Y2xhc3NpZmllZA== IGRlZlN0eWxl IFRjcA== cGVhdGluZw== Q2hhcnRz X3Vy X2xhdGVzdA== KSEK Y2F0aW9u LkdldGVudg== KGxvb3A= IHVubA== X2R0eXBl emXFhA== KEpOSUVudg== LmZldGNob25l IHNpZ21vaWQ= IE9MRA== IE1pbmlzdA== 7YE= IEvDtg== IGZyYWN0aW9ucw== IHNpeg== PT09PT0K LlByaW50V3JpdGVy X0FkZHJlc3M= IEF1ZGllbmNl Q29tbw== IEJydWlucw== LmFjdGl2aXRpZXM= IGFuY2VzdHJ5 0YPQu9GM0YI= CVJldHVybg== cHVu IGdyYXBlcw== SUxvZw== IGRpam8= IFBlcmtpbnM= IFZNd2FyZQ== X2F1dGhlbnRpY2F0ZWQ= w650cmU= b3ZlcndyaXRl IEhk IGdhbGF4aWVz YWNodQ== SHJlZg== W0Q= IHBhcmNl TGF0TG5n X3BhdHRlcm5z IFNIT1JU IHJ1bW91cnM= Y291bnR5 IEdSSUQ= IFsv IFNreXJpbQ== RGF0YUdyaWRWaWV3VGV4dEJveENvbHVtbg== IGNlbg== IGN1Y3VtYmVy LklOVA== X0NPTkZJUk0= IGN0bA== cGVybA== aWxsb3M= IEFDQQ== IEdlb3JnZXRvd24= X2NhbGxhYmxl IENyYWZ0cw== L2Nv IGluYm91bmQ= IFRlY2huaXF1ZXM= c2V0Q2hlY2tlZA== IHBuYW1l Y29tcHV0 U3RlZWw= IGhhbmRoZWxk IEFsYW0= YWJzdHJhY3RtZXRob2Q= 6aKR SU5Z YmF0dGxl X0VWVA== IGNldXg= IGF0b2Y= IEFieXNz X3ZhbGlkYXRvcg== IGhhaXJz VmVydGV4QXR0cmliQXJyYXk= IGNvbW1vbnM= LWJpbmQ= TXVp IGNvc21ldGljcw== IG1pcmFj Lm1hcmtlcg== U0NBTEU= LldvcmQ= LXVs IERpdmVyc2l0eQ== IEREUw== LmN3ZA== X3h5eg== IENvbXB1dGVz KGNsaWNrZWQ= VEVNUExBVEU= IHpvbmluZw== IGZpbnM= IFBK ZXh0Vmlldw== Q2hhcmFjdGVyaXN0aWM= aWdhdG9ycw== IHByb2NsYWlt IHByaXN0aW5l IGRhdGFzdG9yZQ== IGRpc2NvdXJhZ2U= X25zZWM= IG5pbmV0ZWVudGg= IGNlbHVp Sm9uYXRoYW4= IGFtcGg= IENyb3NzaW5n IEh1bWFucw== IEJvb2tlcg== w6JjZQ== Z2V0UG9zdA== IE1vbnRlcg== IEZsYXZvcg== TWVkaWFUeXBl IuKAlA== IEFyY2hhZQ== QHJldHVybg== LWF3YXJl b3J1 LVRoZQ== YW1wbGVk S0Y= LlRlbXA= IERyZQ== KHtf cG9seWdvbg== IMOm IERlZmVuZGVy 77yY Xyks LlVuc3VwcG9ydGVk X14o KElEQw== JHY= IHdvcnRobGVzcw== IFNFRw== aWxpa2k= Tm9BcmdzQ29uc3RydWN0b3I= IE1lcmNo IG5vcA== IGZvcmdldHRpbmc= IGRvcGFtaW5l anVhbA== ZW9u IFJlYXNvbnM= c29ydEJ5 KCctJyw= LXN5bmM= ZWNlZG9y S1A= KGNvb3Jk KENoYXQ= XCQ= ZXN0cmluZw== Y2Vm LmhhbmRsZUVycm9y 24zYrw== 0YHQug== IGhhbmRj ZWxpamtl IFNwaXI= IEJ1Y2tz IFFSZWN0 U2V0Rm9udA== LmV4ZWNTUUw= OjoKCg== IHN1aWNpZGFs c2VlaW5n IGNpZGVy UHJvZ3Jlc3NEaWFsb2c= IG1vbGRpbmc= CXRyYWNl IGVtcGhhc2l6ZXM= IG11bHRpcGxlcw== X1BU X091dHB1dA== Y2FwaXRhbA== TmVlZHM= X0RJUkVDVElPTg== LmlzVmlzaWJsZQ== IHJlc3Rl IG92YXI= KHNoYXJlZA== LWNvbXBvc2U= LmJhY2t3YXJk CXJlY3Q= QW1hemluZw== LmRpZFJlY2VpdmVNZW1vcnlXYXJuaW5n U0VSVklDRQ== IEluanVyeQ== QnJhaW4= IGF1c2dl KHBl Ly8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio= b3JwdGlvbg== X01BSUw= b2hh IHNubw== IGJvaWxlZA== aWxkZW5hZmls IFdlbGZhcmU= IFF1YXJ0eg== IGNhcHRjaGE= IFdFU1Q= IE1hemU= IGdyYXBoZW5l IHBlcms= IG1pc3RyZXNz LkZvcm1TdGFydFBvc2l0aW9u IGV4cGVyaW1lbnRhdGlvbg== KikoKA== IGJyb2FkY2FzdHM= IHJlbW92ZUFsbA== CUdVSQ== 5YOP YWJjZGVmZ2hpamtsbW5vcA== IHVuaW5z QVNQ K3c= bXVy IGRpbmU= IGFyb3U= IGVzY2FwZXM= IFRvYmFjY28= Lm5hbWVk IFBhdHJlb24= X0ZBQ0U= X3NwaW5uZXI= bW92aW5n X3ZvdGVz T2hpbw== LmVuY29kaW5n RGVncmVlcw== IlRv IHByZXN0aWdl b3NwaGVyZQ== IExhbmNhc3Rlcg== 77yX IG9uQ2FuY2Vs IEhJUw== 0J7RiNC40LHQutCw IG9yY2hlc3Ry IHJlZnJlc2hlZA== RGF0aW5n KG11 IEplZA== IEVkaXRvcmlhbA== U2V0QnJhbmNoQWRkcmVzcw== Q3BwVHlwZURlZmluaXRpb24= IEJyb254 IGdhdGhlcmluZ3M= ICcnDQo= cG9zdERhdGE= IEZyYW0= Q2xpcGJvYXJk IFhQYXRo cmF5cw== IGJha2VyeQ== IHJvd0NvdW50 IGxvd3M= YW5kV2hlcmU= X3ZlcnNpb25z IEd1bm4= IHdlZXI= IGNvbnRleHR1YWw= IEtleUNvZGU= IFNhc2thdGNoZXdhbg== IFBoaWxseQ== IE1vdXRo IGRvUG9zdA== IHBlcmNlbnRpbGU= IGJ1ZmZlclNpemU= KGZyZXE= JHNtYXJ0eQ== aWVydGU= aXNzYW50 X2Zwcw== IGludGltYWN5 X2Jvb2tpbmc= IGRlY29tcG9zaXRpb24= dW5pY2lwaW8= IE5TSW5kZXhQYXRo IEtS IHR1cmJpbmU= LXByb20= X0NBUlQ= KGNvb3Jkcw== ZWNvbQ== IGNvd2FyZA== IHdheXBvaW50 LUNvbGE= IHByb2ZvdW5kbHk= IEVSUA== Ym91bmRhcnk= IHBvb3Jlcg== L2V4YW1wbGU= IHJlbmNvbnRy IG5pY2Vy 54E= LWNoYWlu IEVudGl0eVN0YXRl IGdyYWRpbmc= QUxJR04= IFBpY2tz LmFr LXZlY3Rvcg== IEVudHJpZXM= IFNlcmdpbw== ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq T0RC IOW9 IGNvcm9uYXJ5 IHNoYXZlZA== IGFxdWU= ZW1wbG95ZXI= IHBhcmNo IG1lYXN1cmFibGU= IGJvaXM= am9pbmluZw== IHZvbGNhbm8= Ok0= LnRocmVzaG9sZA== IERveWxl dmVyYm9zaXR5 IOKWug== IHNwb3VzZXM= IHJlc3VtZXM= TmF0 ek0= X0VuYWJsZQ== IFVTRUQ= IENhcmV5 CWZw UGF0cmljaw== IE9zdw== UG9zc2libGU= LmxlYWRpbmc= YWhydW5n 4pmqCgo= CQkJCQkJCQkJIA== 44CC44CM LmFkZEVkZ2U= IGVjeA== J0xCTA== IFRDTA== IGJpcnRocw== IHRoZWF0cmljYWw= IHBpag== Z3JlYXRlcg== IEZTdHJpbmc= QkVE 7ZmY LkNhc3Q= Q1g= L01haW4= cGVhdGVy IHBlcnN1YXNpdmU= Y29udG8= eGxzeA== X0FCUw== IEJ1bg== bWFuYWdlZFR5cGU= 0LPQvg== IFNjYWxh cmFkb3I= IHJlY29nbml6YWJsZQ== dHJ1 IHRq XE1hcHBpbmc= X0JPQVJE IHRvSnNvbg== IGJvd2Vs KWQ= J30p KGhXbmQ= aHJz Y2FudA== X18oKQoK IGludGVycm9nYXRpb24= bGljYXRpdmU= CQkJCgo= IFR3aW5z IEFP QmlyZA== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cGVyaGFwcw== b2ZpbGU= IHBlbmM= IHRyZWVOb2Rl IHRvcGljYWw= LXByaXZhdGU= 54m5 IERpc2N1c3M= IGRlc24= UnVh LlZFUlRJQ0FM 44CN44Go SUZPUk0= IGNvdXJ0eWFyZA== INGB0LXRgA== ICMjIwo= IGVtcG93ZXJpbmc= IEZhY2lsaXRpZXM= XCIsXA== vZQ= Ok9iamVjdA== IFZvdGVz aXNlbA== IGV1Y2g= b3JzdA== KENsb25l LmNvb2tpZXM= JHRtcA== KGluZGljZXM= ZXJnZW5jeQ== IHBsYWd1ZWQ= IERpYQ== eWNsaWM= fSkp 6rK9 IGR1ZWw= IGhldGVyb3NleHVhbA== LmFkZENvbXBvbmVudA== U0VDUkVU bGVybw== Y29uc3RyYWludHM= IGdldENvbm5lY3Rpb24= IExlYmVucw== IFBvbg== IENocm9uaWNsZXM= ICAgICAgICAgICAgICAgICAgICAgICAgDQo= IE1vdXJpbmhv IG9jY3VwYW5jeQ== X3NsYXZl T1JJWkVE CVk= LmhpZ2hsaWdodA== X3NlbnNpdGl2ZQ== IHNwZWN0cm8= LmVuY3J5cHQ= IHNwb2lsZXJz LlNpemVNb2Rl IHByb2Zlc3Npb25hbGlzbQ== Pklu RXhwaXJlcw== QXU= IEhWQUM= cmVsYXRpb25z IEFUSw== X0dFTkVSQUw= IFNpZ2h0 IGtpdGNoZW5z OlJlZ2lzdGVy IGVkbQ== IHRvbGVyYXRlZA== IFNFU1NJT04= aWVyeg== IElOU1Q= LnBhdGhz IHBlcnBldHJhdG9ycw== ZWJw cGVjdGluZw== ZWR1Y2F0ZWQ= IFBpb25lZXI= X1JFVg== IGJ1c3R5 c3RhdHVzZXM= UmVzcG9uZA== c2h1ZmZsZQ== IFRpbmRlcg== RXhhY3RseQ== aWxsaXNlY29uZA== INC30L3QsNGH0LXQvdC40LU= KEFjY291bnQ= LiY= aXpy YXNzdW1pbmc= CU9wdGlvbmFs U2VuaGE= IGVucm9s dHVy IGFycm9nYW50 IEpPYmplY3Q= b2xpdGhpYw== bWFwcGVk IHRpcHBlZA== LlVQREFURQ== w6htZXM= R05VQw== V1g= IG1vbmtz LmJvcmRlcldpZHRo IFNodXRkb3du IEhhcm1vbnk= Y2xhc3NpZmljYXRpb24= IGRlcXVldWVSZXVzYWJsZUNlbGw= IF07DQo= Lkdlbg== IGxhdm9ybw== IExlb25hcmRv ICYp IGRlcG9pcw== IFZvbHQ= RXRo IExlb25l IE5lZGVybGFuZA== IEVYVFJB UmVzb2x2ZWQ= IHBlbmluc3VsYQ== X1ZN R2Vy 2KfYrw== LnByb21wdA== LmFsaWdu aW5nZ2E= ZmlsbXM= SEFORExF IGNhcnRz KFNvbWU= PEF1ZGlv IGVubGFyZ2VtZW50 IGdyb2Nlcmllcw== LWhvbGRlcg== IGlycml0YXRpb24= Q29tbXVuaWNhdGlvbg== IHByaW1hcmllcw== aHR1Yg== X2luaWNpbw== IGNvb3JkaW5hdGluZw== KHF1 IGZhaXM= IHZpc3Rv Z3VpZGVk IHZsYW4= IGVzcHJlc3Nv w6h0ZQ== c2VoZW4= X3Blbmc= IHJvb2Zpbmc= IEFsaXZl QXhpc1NpemU= IHN0dW4= IHJlc3RlZA== dWxsZXRz IE1hbGF5c2lhbg== LFVuaXR5RW5naW5l IGVudnk= J107DQoNCg== IE9zdA== X2p1bXA= IGNvbnRyYXNlw7Fh Ing= CVBhZ2U= KVsi IFNJUA== IEdlb2dyYXBoaWM= IGNhdWN1cw== X1RFUg== 4oCdOw== UG9zdEV4ZWN1dGU= aW1zaG93 IENPTVBBTlk= IE5lYWw= IEhlYXJpbmc= KGFjdG9y Qmlk LlBS LlByb2R1Y3Rz IEVtbQ== IOab IHB1bHNlcw== X0VW L2V4cA== X21vdGlvbg== IGdiYw== IG5hdmlnYXRpb25Db250cm9sbGVy IENvdXJ0cw== IEljb25EYXRh d3U= X3Jm IFJhZ2U= LWZsYXQ= IEhpbXNlbGY= X2NodW5rcw== IG92ZXJzaA== IGNpZg== KElz cGVha2Vy IENQVXM= aXJlY3Rvcg== LHRpdGxl LnNldERlc2NyaXB0aW9u IGVhcnRocXVha2Vz IHdu Z2x5cGg= dWx1bWk= IHNwZWVkeQ== IGVzcGFjaW8= IGVtdWxhdGU= IFwiJA== X0lORg== Y2FsbG9j LXF1ZXJ5 KHZhbHM= IHNlYWI= IGhhdm9j IEludGVyc3RhdGU= IHRyaWFuZ3VsYXI= YmluZGluZ3M= CQkJCQkgICAgIA== IAkg YmNyeXB0 IGNyZWRpdG9ycw== IHNlbWlm bGxl aWVuemE= IEtlbGxlcg== IG1vbnN0cg== IE1hcmNvcw== KHJlaW50ZXJwcmV0 IGhpdmU= U2Ny X2hyZXN1bHQ= IOyhsA== IFNxbERhdGFSZWFkZXI= YW5ub3VuY2U= X3ByZWZlcmVuY2Vz IHRydXN0cw== RXJvdA== LXdvcmtlcg== IHR3ZWVu IFN0cmVldHM= gq3soJw= IEZyYW56 IOKApi4= VUlUZXh0RmllbGQ= LmdldEl0ZW1z IHRvbHVh 4oCcT3Vy IHPhu5E= IHZpcnR1ZXM= IHBvdWx0cnk= PXJvdw== Y29kZWQ= Tm9TdWNo IGtvZA== bHNp IGtldG8= IGdyb3VwTmFtZQ== YXNu IHVuY29tcA== IHRleHRpbGU= dG9vbFN0cmlw LlBvcGVu IHByb3N0aXR1dGU= IHByb21vdGVy Ijt9Cg== IGNvbGxpZGVy QnJva2Vy ZGF0YXNldHM= CU5TU3RyaW5n YW5nbGVy UklFUw== YXRvbXM= IHJlbmRleg== YXBv IOuE Lmdj IFNPTUU= IGZnZXRz R0xF IHphbA== IE9wcG9zaXRpb24= aGFuZGxlU3VibWl0 X21hdGg= IHNwcmU= IHNob3J0ZW5lZA== IGNhdmVz U01T LWNvbnNjaW91cw== IFNhdmVz LkJhY2tncm91bmRJbWFnZUxheW91dA== IGVsZWN0cm9tYWduZXRpYw== KGl0ZXJhdG9y IHVuYmU= amVjdG9yaWVz IG1lZGlhbnRl IMOubnQ= Iiwt IEFTTQ== 6K6w5b2V IGNvbmZpbmVtZW50 4oCmCgoK RXhjZXB0aW9ucw== LW1ham9y IFZhbmlsbGE= IExPQ0FUSU9O IGVsdXNpdmU= VUFSSU8= IElOTElORQ== IHByb2R1Y3ROYW1l X3F1ZXJpZXM= Li4uIjsK IFhpYW8= V2luZG93VGl0bGU= bGV0dGVz IHBlcnBldHVhbA== U2V2ZXJpdHk= IEFjaGlldmVtZW50 w6JuY2lh IHJlbWluZGVycw== c29ydGFibGU= IGFmZm9yZGVk IGluZmx1ZW5jaW5n IFR1bm5lbA== LmxlYXJuaW5n IFF1w6k= cGhldGFtaW5l LkJBRA== Lm1ldGFtb2RlbA== LWRldmljZQ== IEtvbnRha3Q= 4pSB4pSB LXN1bW1hcnk= KCc8Pw== KTw9 IHdpc2VseQ== X290 Om1vZGVs IFVX IE9wZW5TU0w= IEpwYVJlcG9zaXRvcnk= Q29uZXhpb24= VE9U LmNyZWF0ZWRBdA== KHRyYWluaW5n IGJpc2hvcHM= IHZlbnR1cmVz LkVucXVldWU= IFRoZXJtYWw= IEJyZXdlcnk= b3Rlbg== IEZhdGFs X3N1cHBseQ== IGNvbmRpdGlvbmVk IHN1cGVyaW9yaXR5 IElicmFoaW0= IGNvcnBv dW91c2x5 IFByYWN0aWNhbA== Ly9b IEFmcmljYW5z IEJhaHJhaW4= IHN0ZXJpbA== IENsYXNzTm90Rm91bmRFeGNlcHRpb24= LlJlZ2lvbg== IHRyYW5zaXRpb25hbA== IGludGVycHJldGluZw== LlNvdW5k IGZyb250YWw= IGhhcnZlc3Rpbmc= fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4= YXRhaXJl Lkh0dHBTdGF0dXM= S00= IEVyb3Rpc2NoZQ== IGVyb3Rpc2tl RmlnaHQ= UGFja2FnZU5hbWU= IENBQ0hF d2luZ0NvbnN0YW50cw== IFppbW1lcm1hbg== L2Nhcg== IFF1cmFu TWV0YWw= IHVzZXJNYW5hZ2Vy IG1hc3Rlcnk= KFVVSUQ= IHZpZXdXaWxsQXBwZWFy IHN1bW1lZA== KC0o ICAgICAgIAoK VGFrZW4= IGNsb2Nrd2lzZQ== IENhZsOp KGxldHRlcg== IENyb3NzUmVm IEFzdG9u IEFzc2VtYmx5VmVyc2lvbg== 6Z2e bnRz ICQoJ1s= X1JBVElP aWNpZW50ZQ== IHJpY2h0aWc= IHBlZGln KGl4 0YHRi9C7 QXNzaWduYWJsZUZyb20= Ym91bmRlZA== IGFsa2Fs X3ByaWNlcw== IGfFgg== YW5jaGlzZQ== X3JlY2VpdmVy SUdBVElPTg== X3B1bGw= IFN0YXRpc3RpY2Fs X3Rvb2xiYXI= YW1pZGU= IEFzeW5jVGFzaw== cmV0YQ== IOyi IFJFQUxMWQ== IGJ1cnN0cw== IElucXVpcnk= IGJpZ290 c2FuaXRpemU= IEhvbWVy UXXDqQ== IFJvdXRpbmc= LmNvbGxlY3Rpb25WaWV3 IEJpbGxpb24= U1RSVUNUT1I= LmVqYg== IGVuY2g= LnNldFRpbWVvdXQ= UnVi LXJvYWQ= Lm91dHB1dHM= Y29udGVzdA== IHNwaGVyZXM= IHJlc3VycmVjdA== Ii4i IElyaXM= IOya IFhL IFJhcml0eQ== IElTZXJ2aWNl YXRoYQ== IOWH IHByZXZhaWw= CXBw Lkxv Z2V0V2lkdGg= IHd3 IHdpY2h0aWc= QEdldHRlcg== IEpheXM= IHNwZWN1bGF0aXZl KGF0dA== IHRlZGlvdXM= IHNjcmF0Y2hlcw== IHBlbMOtY3Vs IGJvcm91Z2g= IG3Dsw== UmVwcmVzZW50 YXRvcml1bQ== KENhbWVyYQ== IGNvbHVtbk5hbWU= IHJlaXRlcmF0ZWQ= IENhc3Rpbmc= LmdldEhlYWRlcg== IOKAnFs= IEp1aWNl Y2h1 LkhUTUw= IEFudHdvcnQ= R0x1aW50 CUl0ZXJhdG9y IEFOQUw= IHVucG9wdWxhcg== KExvY2FsZQ== IG1pdGlnYXRpb24= IGFkcmVz 4bq3 fSx7Cg== IFNjaHdhcg== X1BBSVI= PigpLAo= b3V2 IEFsZg== eEVG 55yB IGVzY3Jp TE9VUg== U0VMRg== IFRtYXg= VHJl bG90cw== ICguLi4p XSsk IGFtZXJpYw== L3JlZmVyZW5jZQ== IE9keXNzZXk= IE1pbmVz IGFnb3Jh IHByb3BoZWN5 IE9wcG9ydHVuaXRpZXM= cHJvZmVzc2lvbmFs KHByb3h5 cGhhbnVtZXJpYw== IEVkaXRlZA== b2xvZ25h LmlzT3Blbg== KHZlcnRpY2Vz IFJpY2t5 X292ZXJsYXA= Pjs= LkRPTQ== e31f IENPTVBVVA== cmVkaXJlY3RUbw== IHNoYWtlbg== IHJhdGlvbg== IG5lbGw= X2Jj IE5lcg== YW5kUmV0dXJu IGVyZWN0ZWQ= Q2hpZWY= IGRpbmVybw== IGphc21pbmU= LS0tLS0tLS0tLS0tLQo= ZmFybQ== IEhhdGU= VEFTSw== QU5ORVI= J11dXQo= IE5pZ2Vs aGliaXQ= IFFUZXh0 Lkxlbg== IHRlxbw= c2xpZGVz ZmVsdA== IFJFVg== X2hvbGQ= IENvdXBsZQ== ZXNjYXBlZA== LWV4cG9ydA== Pkk= ZXdpc2g= KEFwaQ== ICghWw== Tm91cw== T1RPUg== IHNlYWxpbmc= V2ll IGthbm5zdA== K3htbA== IG14QXJyYXk= IGFkbWlyYXRpb24= Lm5i IGpld2Vs LlRlYW0= IHByb3NlY3V0ZQ== LnhtbGJlYW5z Y2h3 KGJhY2tncm91bmQ= IEF2aXY= CWZpbGw= IGRpc3Bhcml0eQ== 4Lo= X0FQUEVORA== IFB2UA== 44OQ IFZpdmU= IGdyYW5kc29u LmFkZEVsZW1lbnQ= QXRvbWlj IHByaW1hcnlLZXk= IGNvbnRpbmVudHM= IEZ1Y2tpbmc= JScK QG1haWw= IGN1bHR1cmFsbHk= YW5nYW5lc2U= 7KCE Zm9sbG93ZXJz IHVybg== IHJhY2tz IFNBRkU= Ly8NCg0K KCIvew== X0lOSVRJQUw= X1Jlc3BvbnNl RXZlbnREYXRh Jz4k c3RhcnRz 4Kk= IHRoYWltYXNzYWdl IHNwZWNpYWxpemF0aW9u IOyEpOyglQ== ZWRv IGNvbXBlbnNhdGVk X2NoYXJzZXQ= fS57 L2VudGl0aWVz X2Zr LS0tLS0tCgo= YXNjYXI= IGNlbGxGb3JSb3dBdEluZGV4UGF0aA== IFByb3Bvc2Fs IE90dG8= IF9fX19f ICIqIg== IHRvb2xraXQ= IGV4cGVjdGFuY3k= RG93bkxpc3Q= LWRh IHByb3ZvY2F0aXZl IG1laW8= ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ== KCgpPT57Cg== JGxpbms= aW5jYXJl IGljeQ== IEhpc3Q= QWNjZXB0ZWQ= IGNsb25lcw== IFFB IGNvbmZvcnQ= IHByb3ByaW8= IFZvZw== KG1hcms= X1NlYXJjaA== IGVuZHdoaWxl ICQj 44GX44GL X0xU SW5zdGFuY2VJZA== YmFyZA== cm5l cmVnb3I= IG5vcmdl XDo= 0YDRg9C3 LmJ0bkFkZA== IHBpbGxvd3M= IFBhcmFtZXRlckRpcmVjdGlvbg== SGFuZGxlcw== IGRlYWxpbmdz IGNvbnZleA== IENoYXJpdHk= Lk51bWVyaWNVcERvd24= IFNrZWxldG9u IFp1Y2tlcmJlcmc= ZXNlbg== IEZBQQ== X3N0ZQ== IGh1bWlk am0= Y2hn LmdldExvY2Fs IHRhbmRlbQ== aXN0bGVz X210 LmFjY291bnRz IEluc3BlY3Rpb24= IEZyYXVk IGvDvA== IHN5bmNocm9ub3Vz IFJpY2FyZG8= IEh1ZQ== IENvbm5lY3Rpb25z SU1FTlQ= b2NoYXN0aWM= XGRhdGE= IEVudGVycHJpc2Vz LXNpbXBsZQ== IGltYWdlRGF0YQ== IFVtYg== LXNjcmlwdA== L2dlbmVyYWw= QVBU IFR1dA== aW1pemF0aW9u IGlkYWRl IEtlbQ== ZWxzaWY= LkFMSUdO IFRvcmllcw== IEJhc2ls b2dvbmFs aGFjaw== TnVsbE9yRW1wdHk= IiksCgo= 44OD44OI ICclJw== X1JG ZWdvdA== LmFzcGVjdA== KFByb2plY3Q= TEVOR1RI cGxlbWVudGFyeQ== X3ByZWRz IEhvbGRz Y2Fycmllcg== CWxheWVy QXR0YWNoZWQ= LXByZXNpZGVudA== aW5kaA== J10uJyI= LkFDQ0VTUw== IENFTlRFUg== UXVhbGlmaWVk IG9zdHI= LlN5bWJvbA== dGFodW4= IExBTkc= X2J1c2luZXNz CVN0YXJ0 ZXJyZQ== IGFzaGVz IEFkdmVydGlzZW1lbnQ= Lkhvdw== IC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t IG9ibGl2 IGJsZWVk IHN2bw== Lm5vZGVOYW1l IGl0ZW1OYW1l IEJBTks= w61jdWxvcw== IEVtbXk= IERvbWluaWNhbg== JylbJw== IHJlYWxsb2M= dWxzZXM= 6L6T5Ye6 IE9mZmVyaW5n 64ql LXByb2dyYW0= INGB0L7QvtCx0Yk= TU9W IG5vZGVJZA== 0LXQvw== Zmx1aWQ= IHRlYXNl w7hyZQ== IGNvbXJhZGVz IHVucmVsaWFibGU= IHBvc3RJZA== Z2V0SUQ= b2dyYXBocw== VGFuaw== IFFWRVJJRlk= IGZsb2F0ZWQ= X1RISVM= Y2ltaWVudG8= IE5pY2Fy c2hy Qm91bmRpbmdCb3g= IGlub3JkZXI= IEdsb3Nz V2l0aFRpdGxl dW5jaW8= IHBlcnNpc3Rz IGRpcmVjdHM= YWNjacOzbg== U2FtcGxlcg== IGJsYWNrbGlzdA== IGFEZWNvZGVy IGludm9rZXM= X3NraW4= Pklm dHJ1bmNhdGU= LlNpbg== c29vbg== IGRpc2Zy CVZlYw== IyNf LnNjaG9vbA== IGJsaW5kcw== IGFjYWI= IHBhdGhldGlj IHZvbGNhbmlj IHJkZg== IGN1bHRpdmF0ZWQ= IFVJTmF2aWdhdGlvbkNvbnRyb2xsZXI= IGlwdA== IGdsYW5k IGV2aWRlbnRseQ== UGh5cw== IHN3YW1w IGltYWdlTmFtZQ== LkxheWVy dWZl LFsn IENyaW1zb24= 6YCg PGZvb3Rlcg== IGJpa2luZw== INC00LDQvdC90YvQtQ== bW92ZXM= Y3Jj aWxsYXRpb24= IGxhdXJl 0YDQsNCx0L7Rgg== 0YPQug== IENhaW4= IHB5cw== IGNvbGxpZGU= IHxffA== KHNwYW4= IGdpbmc= IG9iZWRpZW5jZQ== b3V0ZXJz U29vbg== IFdoaXRuZXk= IEltcG9ydHM= OlVJVGFibGVWaWV3 KiY= IGJr V2l0aEVycm9y LWV4dA== X1JET05MWQ== X3RyYWNraW5n bm9vcGVuZXI= w7xucw== IEd0a1dpZGdldA== c2ti U0FWRQ== T2Jz KCcuJylb IGF1dGhvcmVk LS8= TG91aXM= LmdldE91dHB1dFN0cmVhbQ== IGdlbmVyYWxpemVk 7Yw= IGFydGlzYW4= KGNwcw== IERtaXQ= 0LvQuNGG LkltYWdlTGF5b3V0 IHN1Y2hlbg== XX0s LmNvbGxpZGVy VGFiUGFnZQ== XT1b aHlkcm8= X3N0cmlw IGxpY2tpbmc= IGJvb3N0cw== IHNrZXB0aWNpc20= IGpvZ28= IGNvbXBldGVk IOuCtA== Tm9kZVR5cGU= WEY= IHBvc3NpYmlsaXQ= LWNvcHk= IHRyaXR1cg== IEF0dGFja3M= IG7Dqw== SURBRA== b2dyYXBoaWVz VGltZVN0YW1w b3R5cGluZw== LUFwcg== INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjw== ICI7Ig== IEhhbGU= L2FwaXM= IDpdCg== X2hkbA== IERpYWw= CUNvbmZpZw== X0ZSQUdNRU5U X0VkaXQ= LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq IGNhbmRpZGFjeQ== IENvbXByZXNzaW9u X2xvc3Nlcw== Kj4oJg== SW50ZWdyYWw= IHBhcm9keQ== IGluaXRpYWxpc2U= ZmlsbHM= IGFsdHJp X0VMRU1FTlRT YWRhc3RyYXI= Y29ycmVv IHdhdHQ= X0RSVg== IEZvcmdvdA== IGdldENvbnRleHQ= IHNob3J0YWdlcw== IE9DVA== d2VldGFsZXJ0 IE9wZW5z Kmw= IEtpdHR5 4oCZw6l0 IFBpY2Fzc28= LnRvQnl0ZUFycmF5 0L7Qu9GD0Yc= IERFTg== 5aeT5ZCN V2ludGVy YW50YW4= X19b UHJpbQ== IHJvb2Z0b3A= IEJpbGxib2FyZA== dGVzdENhc2U= cHJvZHV0bw== LXRodW1i IHJlc2V0cw== Z2Vibg== PkVycm9y LmRlcGFydG1lbnQ= IGVhcnJpbmdz IENhcm91c2Vs KGV4YW1wbGU= CWVt XENvbnRhaW5lcg== IEVsdmlz IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0= RW5nbGFuZA== Y3JlZGl0ZWQ= X2NvbnN0cnVjdG9y IGxvcg== IERhd3Nvbg== QnVybg== IEJyaWdhZGU= IE11dGV4 IFRyYW5zaXRpb25hbA== IE1vdXNlRXZlbnQ= Z3Jvdw== Lm1pbnV0ZQ== IEdNTw== PVtdLA== IHN1c2hp IGFlc3RoZXRpY3M= T0NVUw== IFNFTEY= IEFzc2VydGlvbkVycm9y IE1DVQ== IGhpbnRUZXh0 IHNlYXc= bmdsZQ== IGV4cGVsbGVk UFJPUEVSVFk= KS48Lw== LW9wZXJhdGlvbg== IEltbXVu IGxpY2Vucw== aWJpYQ== IGJpZXRlbg== IGdyaXBz Q0hBTk5FTA== X0VSUk9SUw== X3JlY3Vyc2l2ZQ== VWx0aW1hdGVseQ== IE1hamVzdHk= IGRlYWN0aXZhdGU= IEVYQU1QTEU= dWNpb25lcw== IGN1cnJlbnRWYWx1ZQ== IGV2YWx1YXRlcw== L0dyYXBoaWNz InRleHQ= X3BhbGV0dGU= IFRNUA== IEJlZHM= LkNvcw== 4Lix4LiZ PXRvcmNo IFBBQ0tBR0U= aWxsYXJk LmNw leyduA== LWFwcHJvdmVk IE5vcnRod2VzdGVybg== PHRleHRhcmVh IENvbXBhdGlibGU= X1JEV1I= LlF1YW50aXR5 QElk X29yaWVudGF0aW9u Z2V0VXJs IHRyYW5zbGF0aW5n IFdlYXZlcg== IGpzb25BcnJheQ== IGVtYmxlbQ== LklzTnVsbA== IENoYXJ0cw== W119 Z2Fl X25lc3RlZA== dGVtcHM= cGF0aG5hbWU= Q1c= LXdyaXR0ZW4= IFBBUks= KGNvbmQ= X2FsYXJt IGdlcmU= IEdpeg== IE5nYg== IC5f YXBwaW5lc3M= IERlcGxveW1lbnQ= aVBhZA== Il1d IHN0cnN0cg== IHRvbnVtYmVy KGRs CXdvcmQ= W3Rv X0ZJWEVE RXhwaXJhdGlvbg== OnJldHVybg== T250 PlBsZWFzZQ== Z2V0VGl0bGU= LnNwbGl0ZXh0 Y29tYmluZWQ= T2Q= IG5vdmVsdHk= IlM= IHN2bQ== Q292ZXJhZ2U= IEh1dA== IHJlc2lzdGVk IGVsbG8= IG3DtmNodGU= S2F5 Lmxpa2U= Y2Npb25l IHJlc2VtYmw= RGVhdGhz IGVwaXQ= KHJnYg== LkNsYXNzZXM= INC00L7RgdGC Y2FwdHVyZXM= XStc YW1pZW50 IFBhc28= LlNlbmRNZXNzYWdl IFJlbmF1bHQ= IE5hcmVuZHJh dG91dA== IGhhZGRl IFR3ZWVu w6VkZQ== IG91dGZpZWxk Lz48Lw== QFw= IER1cmFudA== IGFicmU= X3N0b3J5 IHBlcmZ1bWU= Q3BwVHlwZURlZmluaXRpb25TaXplcw== INC/0LDRgNCw0LzQtdGC Y2hlbWVz IFNhZGRhbQ== cHJlbm9t dXNwZW5kZWQ= IEJlbmVmaXQ= IHNjZXB0 X01vdmU= IE5hag== LU9u cnVk SW1hZ2VQYXRo wq4s IGFuYWx5c2Vk IE9H ZWxsZWljaHQ= YmlyZHM= ZWt0ZQ== IEFsaXNvbg== IGF0aGVpc3Q= eyU= YWJo LXBob3Rv aW5zdHJ1bWVudA== IGhpbnRlZA== IE9mZmxpbmU= KSIpOwoK X1BSRUY= IHN0eWxpc3Q= IEt1YmVybmV0ZXM= IGZlcnY= CgoKCgoKCgoKCgoKCgo= KCI9Ig== LmdldE0= IG5vdGV3b3J0aHk= IHNjb3V0aW5n X3RyYW5zbGF0ZQ== IGJlZ2lubmluZ3M= IEx1bw== IHFs X2FsaWduZWQ= IGVydw== dWFycw== X1BhdGg= LicuJA== IGhvYw== IGRlcnA= bG9p IE1jS2lu 6K+05piO Lz0= TGlua0lk c3RkZGVm cmVkdWNlcnM= aXNhbnM= Lmhpc3Q= Jy8+Cg== IFRveGlj IGRpc2FwcGVhcmluZw== IGNpcw== KGRv IG1haW5TY3JlZW4= X0JBTks= IGRlbW9uc3RyYXRvcnM= IFBhbGV0dGU= dWVseQ== UmFyZQ== IHJlc2lkaW5n IGFtYmllbnRl IG1pc20= LXF1ZXN0aW9u IG9wcHJlc3NlZA== IGxldHJh PGR5bmFtaWM= IEZvdG9z LXBvbGljeQ== aXN0ZW0= LmV4Y2hhbmdl c3RyZQ== JC8s 7ZWY6riw JAoK IFJlbmU= IHRvdXRlZA== LUNvcmU= IENyYW4= IFRyYWRlcg== IGRldw== IGZsYXA= CWZpbGVuYW1l IGlubWF0ZQ== KE1vY2s= IFNvYg== aXNibg== IG5vZQ== IEZvcmJpZGRlbg== IGVsZXM= IGRpbmc= X3Nh KSovCg== YXJpZQ== IFN1cHBvcnRz IG1vZHVsYXRpb24= IGVuc2w= IFNoYWRvd3M= cHJpbmNpcGFs YW5nZW50 LUphbg== IFBhbnRz LHRy IGZpdHRl IGdhcm1lbnRz TWFyZ2lucw== TFRS IE1peQ== dmVudHVz IE3DtmdsaWNo W2F0dHI= L3Jlc3BvbmQ= IHR0aw== IG9sZHXEnw== IENvbnNl UHJlbWl1bQ== IGZyYW5jYWlzZQ== X2hvcml6b250YWw= X2li IEZhcmU= IGhhcnZlc3RlZA== ZW5kaXI= KGhpdA== PiovCg== IElSZXBvc2l0b3J5 eWxpZQ== IGRldGVjdHM= Om5v 4pi0 IGRpc2XDsQ== IHVuc2VyZW4= IG1vY2tpbmc= c291dGg= cmF0ZXM= IGh5cG9j IFNob3J0bHk= IEJsYWNrcw== 0YLQuNGA0L7Qsg== IEFTQVA= cmViYmU= aWVj LkFkZERheXM= IGVwaXM= LWluZmxhbW1hdG9yeQ== LW5ldA== IHBhbGw= 65Q= IGlzc3VhbmNl IGNvbnRlbnRpb3Vz LkFyZWFz 0LjQu9GM IGNvbnRpZ3VvdXM= W2FjdGlvbg== IGV4cHJlcw== ISIpCgo= VUxP IHdyZQ== IHN1YmRpdg== IHR1cm5hcm91bmQ= IGFjY2Vs IFVuaXY= IFVuaXZlcnNpZGFk c2V0dA== ZGVzY3I= LkdlbmVyYXRpb24= IHBhdHJpb3Q= IGZhcw== KioqKgo= UVA= IOWN b3BwZWw= IGp1ZWdvcw== LmRyYXdTdHJpbmc= LWNvbmZpcm0= CSAgICAgICAgICAgICA= PFByb3Bz IGZhbWlsbGU= IEhlbG1ldA== ZXJ0aWFyeQ== YXRoaQ== IGN1bHRpdmF0ZQ== IGR1cGxpY2F0aW9u IHNweU9u Ki8pCg== IEh1bmdlcg== T3J0aA== IHBpbnBvaW50 IEhhZw== IHRpbWV0YWJsZQ== bWFyZ2luVG9w IHJlY2lwcm8= ZmVsbA== IFBlcnNpc3RlbnQ= 44Gp cGx1cmFs cXVldWVk IGdyYWNpYXM= w6F0aWNv IGhhcmRzaGlw IEFwYXJ0bWVudHM= IEp1bms= IFJldmU= X01zaw== IHN1cHJh IEFUUA== IHNldFNob3c= 5a2X56ym5Liy IE5vdHRpbmdoYW0= U3RldmVu IE11bmQ= cmFuZ2Vz IHVwbG9hZHM= IGJmcw== cHo= dWx0aW1hdGU= IEVmZmljaWVuY3k= QU1J 5b6E X1JFUEVBVA== IGFjYWRlbWlh LnRvb2xTdHJpcEJ1dHRvbg== VG9FbmQ= cnZpbmU= IFRoeQ== IEVsZWN0b3JhbA== IFJFUVVJUkVE IHBsdW5nZQ== IFJldm9sdXRpb25hcnk= IFRlbnQ= IGdyZW5hZGU= IjpbeyI= IG1vdXI= UG93 IGV2YW5nZWxpY2Fs VEVDVEVE IG92ZXJ0dXJu CUlucHV0 cmVjb21tZW5k JUM= IHNsYWc= IEJoYXI= X2VuY3J5cHQ= IFdhcmZhcmU= KGFnZQ== QVRFR09SSUVT bWlsZQ== IGhlYXZlbmx5 YW1tZXI= KCkpWw== YWRlcmE= aGc= IExBVw== IHBhY2thZ2VOYW1l X3R5cGVEZWZpbml0aW9u KGJl REJOdWxs X3Rhcg== IGhldXJpc3RpYw== IFdhbnRlZA== IFN0dWI= IGtpdHQ= UkVD IHBhc2Fy Lm5ld0J1aWxkZXI= CWdyYXBo aW9zYQ== LmNvbHVtbkhlYWRlcg== IHNldE9wZW4= IFRoaXJ0eQ== ICIlLg== QWxiZXJ0 IHNhbWE= IHJvY2tpbmc= Q29tcGxl TVY= fCgpCg== X3JlYWRz KHZhcmFyZ2lu b3Vsb3VzZQ== IFNJTUQ= IGNhcmJvaHlkcmF0ZQ== d2hvbGU= LE5vbmU= i+ivlQ== IENoYW5k Y3phcw== X3F1ZXJ5c2V0 IGV4aXN0ZW50aWFs IGVkaWJsZQ== IGFnaWxpdHk= IFdpbGxpcw== IGh5bQ== IEJyaWxs 0LjRhQ== IE5vdEZvdW5kRXhjZXB0aW9u ICgoKQ== QVBTSE9U IHN1YnN0YW50aXZl X3R5cGVEZWZpbml0aW9uU2l6ZQ== IHZhY2FuY2llcw== RU5HSU5F IGFuZGVycw== IHN5bWI= IGV0cmVl KS5f IHRyYW5zcG9ydGluZw== aW1wcw== L2NvcA== YWN0YWJsZQ== X2ZsdXg= IG5ld0luc3RhbmNl YXRvaXJl IGNvbHVtbkluZGV4 IEdpbw== IHN1YnRpdGxlcw== LldpbkZvcm1z 0LvRj9C10Lw= IGFsZXJ0ZWQ= IHN0cmlwcGluZw== d2VuZHVuZw== IE1ldGhvZEludm9jYXRpb24= RXJyb3JIYW5kbGVy U2Nyb2xsYmFy UG9ydGZvbGlv Y29uc3Vt IENPTU1PTg== TGY= X2Jhc2Vk b2NhbHk= IGVmZmV0 dnZt cmlwc2k= IGZsb3VyaXNo Y2h0ZXI= PT09PT09PT09Cg== IHJlcXVlcg== LnF1ZXN0aW9ucw== KCI/ IHBvc1g= IFBDUg== IE9yZ2FuaXphdGlvbnM= cHLDvA== RXhhbQ== IEluY29ycG9yYXRlZA== X3BocmFzZQ== IHByYXllZA== IGhvbWVvd25lcg== IFRhag== eng= IElkZWFsbHk= X01BQ0hJTkU= IFJlbW92aW5n Q29lZmZpY2llbnQ= IGVkdWNhdGluZw== ID8+Jg== IHBvdXJz aXJhbQ== X3BlYWs= IG5lc3Rpbmc= YWJ5dGU= bmF0dXJl IGFmcw== IFJvbw== Y2FyZ28= b2JqZXQ= IGZyZWVpbmc= cXVha2U= RGVuc2l0eQ== IGRlc2NyaWNhbw== LyoqKioqKioq IGRhc2hlZA== IGdyb8Of b29reQ== IFBFT1BMRQ== X1Bvc3Q= IGNlcnZpY2Fs IEFkanVzdGFibGU= ZW5zdWFs IFJldmlzZWQ= KHJlZmVyZW5jZQ== CUJhc2U= ZXNzaW0= TWFpbnQ= IGdldFNpemU= IFNhbmR3aWNo cmFkaWVudA== c2luaw== Oi8vJw== X3R0 RlBT IEFybWVuaWFu cHJldlN0YXRl X0xJTkVT IHRpZ2h0ZW4= PFs= XTw8Ig== IFRyYWZm IGxpcXVpZHM= IGFyY3M= X0NvbW1hbmQ= QHByb3RvY29s LWlzaA== IHJ1YmJlZA== QkJD L2ZpcmViYXNl QXBwQmFy PFg= IFNJTkdMRQ== LlN0YXR1c0ludGVybmFsU2VydmVyRXJyb3I= IHZlcnRl L3F1ZXJ5 IGdldENvbmZpZw== IERpcmVjdFg= cGh5c2ljcw== eWNvcA== IGJyZWFrZXI= LXZvbHVtZQ== ZGF0YVRhYmxl 4oCZZQ== cmlvdHQ= IEV0ZXJuYWw= Z2V0SGVpZ2h0 IG9uSXRlbUNsaWNr IHF1YXRlcm5pb24= IGtpbmt5 ZGVzZXJpYWxpemU= KFNwcmluZw== IHBlYWNlZnVsbHk= X0RldmljZQ== KE1hdHJpeA== acOocmVtZW50 KHR5cA== LnZhYWRpbg== LmdldE1ldGhvZA== IOKAnQoK IHRocmVhZGVk IEZhbW91cw== IEdhbWI= IOyngA== INCk IGZha3Q= IGVjaHQ= X3Vi LkpwYVJlcG9zaXRvcnk= IHVuZ2U= LWVuZGluZw== IENBTUVSQQ== Y3JlZGVudGlhbA== IFBhc3Nwb3J0 CVJUREJH IGV4dHJhZA== LW9yaWdpbg== IHNhY3JpZmljZWQ= IFNjaHVsdHo= IFR1cnRsZQ== LmNlbnRlclg= IHNob3djYXNpbmc= IGJ6dw== eXJv aXNOdWxs LmlzRGlyZWN0b3J5 bWFpbnQ= X2Jp IFNwcmluZ2Vy fSgpCgo= aXNzdWVy LWFybQ== ZXNr bGluaGE= IGtvcnQ= YWphcw== YWxpbms= KEJ1dHRvbg== IFJlc3RvcmF0aW9u IGluY3I= IFpob3U= CSAgICAgICAgCQ== IERpc2NsYWltZXI= IGt2aW5ub3I= IERhcmU= IDwtPg== 6K+m CQkJCQkJCQkJCQo= LkNsYW1w CXNjb3Bl IE11bQ== PDw8PDw8PA== L3t7 X2FydGlzdA== IFJlYWN0aW9u IE5pY2tlbA== X1JlbW92ZQ== KCgoKA== 64yA IGR5bmFzdHk= IFRocm93cw== IENvdWw= X3JuZw== IERvaw== Lmxpc3RWaWV3 IFR1Y3Nvbg== KHRvaw== IFBoaWxpcHBl VG9TaG93 IGRpZXRh IFVsdHI= LlRpY2s= IEdldFR5cGU= aWV0ZQ== IExlYWg= SGFyZHdhcmU= IENvbXByZWhlbnNpdmU= Q09NTU9O IGluZHVzdHJp aXJpY2Fs LWJlZHJvb20= IGd5cm8= INC60L7RgA== IC0vCg== Y291cg== IEJydXNoZXM= TXVsdGlwbGllcg== IHVzZXJkYXRh IFJlY29nbg== IG9ibGlnYXRlZA== IExldmlu YW5jZXN0b3I= IG1lbmluZw== IFVk LGpzb24= KGFzc2lnbg== IG5kYXJyYXk= X2Nvcm5lcg== QEFsbEFyZ3NDb25zdHJ1Y3Rvcg== 6aqM6K+B56CB YWRvcnM= IHJlc3BvbmRlbnQ= R09SSVRI IHRlbmdv IHNldE1lc3NhZ2U= IElQTw== YXJyYXlz IEFHQUlO J1s= ICItLy8= w6Rt 44CCXA== Lm9uY2U= Y3VycmVudFRpbWU= R292 IGdldG9wdA== bWx4 IFRvbmU= J11dOwo= IHByZWRhdG9y V3k= L2VudGl0eQ== IG1hbnRyYQ== KT49 b2dyYWQ= IG1lbGFu IHNvcnRCeQ== IERFRklORQ== UHJvdGVjdGVk Y2RlY2w= Jz4iLiQ= PGN2 Y3JpcmU= LVRydW1w IHVjZmlyc3Q= Y2Fzc2VydA== IGFja25vd2xlZGdlbWVudA== IElOVg== IFVOVQ== LnNxdWFyZXVw IFNheA== cmV0dGU= KCkKCgoK IERhdGFCYXNl IFBhdHJpb3Q= X1Jvdw== IEV4aGliaXRpb24= IGRldGFpbmVlcw== IFN0cmluZ0lP X0RFTg== TW9kaWZpZXJz YXNhcg== aXJ0aW5n IHRyYW5xdWls KGVuYw== IOOCsw== bmNvZGVy X3VudXNlZA== IEJpYW4= VmVyYg== X2V4Y2VycHQ= L2V4cG9ydA== IFNleHQ= RHM= QU1QTA== T2ZTdHJpbmc= X3RyYWNrcw== d2o= b3Rvbmlu IElURQ== SVZFTg== LW9yaWdpbmFs IEZJTkFM X18pCgoK IGVuc2U= IFV0dA== Oioq IFN1cnJleQ== IEthaXNlcg== YWRtaW5pc3RyYXRvcg== LWxhcmdlc3Q= IGxldHp0ZW4= IGNoYWluZWQ= J0g= IGRvY3VtZW50aW5n IExlY3R1cmU= Ukg= b2xsYXBzZWQ= c2tpcnRz ZWxkZXI= IFNpeHRo IGFsbGVnaWFuY2U= SVNPU3RyaW5n VXNhZ2VJZA== LmhhcmR3YXJl IHBhcmk= IHfDpGhyZW5k IHJkcg== IGhqZW0= TE9PUg== IExQQVJBTQ== INC80L7QttC10YI= IGhvbWFnZQ== b3V0c2lkZQ== IENoYXJTZXQ= PEdhbWU= 77yZ X01VVEVY KSkvKA== X3Jlb3JkZXJlZA== dGV4dElucHV0 QU5DRUQ= IFRlZQ== IGNvcm5lcmJhY2s= UXVlcnlTdHJpbmc= IGxvbmdpdHVkaW5hbA== IEhvbGlkYXlz QUJDREVGRw== LktleVByZXNz LnVs eWRybw== IFRhdGU= CXJvdXRlcg== c3BvdHM= IHBhdWw= LXByZXY= IGtub3dpbmdseQ== IEt1cmRz IEV1cm9w LmNlcnQ= QklH KGNvZWZm IENsYXVz L2V4YW1wbGVz IEZhcm1z IC8vKA== U1BBTg== IGNpcmN1cw== IE1JUw== IFRyYWl0cw== LWNsZWFy IHJlZ2ltZW4= IGJhY2tncm91bmRJbWFnZQ== dXNhaGE= X01ldGFkYXRhVXNhZ2VJZA== IHJoZQ== Q2xpbg== IERvbWluaWM= Lm5leHREb3VibGU= KGRldGFpbA== VGhyZWFkUG9vbA== IENhcnBlbnRlcg== c29ydGluZw== IGdvdmVybm9ycw== IHNpbmdlcnM= dW5saW5r IHJpbmdpbmc= IHNjaGVtYXRpYw== IGVycm1zZw== IGJlYg== LiIr IEluY3JlYXNlcw== IkFsbA== IGFjb250ZQ== emlh LlRleHRDaGFuZ2Vk IFRvRG8= LDopOwo= bmFnZQ== Y2hs b3dlbA== IGdlcmFkZQ== X2ZmdA== IGVzdGFtb3M= U1RBUg== IGRpc2d1c3Q= Z3Jhbg== cG9ydHVuaXR5 IGF1dG9iaQ== e317Cg== IENvdXBvbnM= X0dBSU4= IFRDSEFS L3Bhc3M= 55Sx IGZvb3R3ZWFy KGJvdW5kcw== YXB1cw== Y2l0ZQ== Qk9PVA== IENvZGVj bG9ndWU= LXByb3BlcnRpZXM= YXV0b21hdGlvbg== IFNob2U= c3BlY3Q= KG1t IEtldA== W3BhcmFt IGJhc2ls IEFuZ3VsYXJGaXJl IGFkdmVudHVyb3Vz X1VDbGFzcw== IGluZHVsZ2U= CWN1ZGE= IGluc3VsdGluZw== LkV4cHJlc3Npb25z IG9uQ3JlYXRlT3B0aW9uc01lbnU= VUVM IGJpdGluZw== KCFf IEVuY3ljbG9wZWRpYQ== IGJlcnQ= IFZlcmE= IEJpYmxpY2Fs aW5zaWNz X1NJTVBMRQ== IHNhbGlkYQ== cmVxdWVzdGVk IENvbXBvc2l0aW9u LkF0b2k= KEtleUV2ZW50 ZXJlYQ== IGRlcG9ydGVk IFF1cg== IG5pcHBsZXM= aXNBcnJheQ== INGD0LrQsNC3 IGJyaW5r bWV0cm9z RW51bWVyYXRpb24= IEJ1aWxkcw== ZXJ0b3M= IHNhaW50cw== LmRlcGxveQ== ZXRoZXJldW0= IGtpbmRlcmdhcnRlbg== dmFuaXplZA== IGNvbWJpbg== IHBvdXZvaXI= S2lu YXLEsQ== IC4uLi4u 77y+ Lkdv IHF1aXJreQ== xLFuZGFu IGFjdGlvblR5cGVz IFFVRVJZ VGF5bG9y IFJL dGF0 LnBhY2tldA== IElNUE9SVEFOVA== IGN1c2hpb25z YnVsaw== ZHVjdGl2ZQ== YmVuZWY= b2NyaXN5 IGZ1ZXJvbg== IGN1cnNlcw== IGZpbGluZ3M= ZWxpZXI= KD86 X2RyaXZl IGNvbnRhY3Rv IFBhcmt3YXk= dmlkZXM= Z25l YXZhZ2U= XFwu ZnVsbE5hbWU= ZGxs IHNob2Nrcw== ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw== X3B4 QFdlYg== LlBlcnNpc3RlbmNl IHN1bms= LnRvb2x0aXA= YXV0aWNhbA== TmV3c2xldHRlcg== IHdhaXRlcg== IGlucXVpcmU= 0LDQtdGC0YHRjw== KCdfXw== dG9n SUVOVEFUSU9O IGNvbXBhbnlJZA== IEJhc2ljcw== CUpMYWJlbA== IG1hY09T IE1hdHM= X3RlbA== LXByZWZpeA== IG11dGF0ZQ== fScp Y2hlbmc= IE1pbGl0 IiY= ZmluZGluZw== IERhdGFMb2FkZXI= LkdQSU8= IExldnk= IHNuZWFrZXJz IGNyw6lk YXduZXI= eGlh L3NpbXBsZQ== Q0hS IGZsb3RhdGlvbg== LnNlbnNvcg== QnJhemls IFNlYXNvbnM= IFNwZWFr LWJhbGw= IE11dGF0aW9u dWtrYW4= IE9tYWhh 4oCZb24= IEN1b21v IEp1ZGljaWFs IGNoZWNrcG9pbnRz IEZyZW0= CUlk ZWdyaXR5 X2Fm QE5vQXJnc0NvbnN0cnVjdG9y IHRhYmVsYQ== WyM= bm90YQ== IEZhY3RvcnM= KGdyb3Vwcw== aXN3YQ== SVZP IHNjcmk= YWNldA== IE1laA== KGNsYXp6 IFs8 cGVyaWFs IHN1cnBhc3NlZA== IGpva2Vk IHJ1ZA== IGltYmFsYW5jZQ== IEZyYWdl c3Nw IGluZGljdGVk Lm1hcmtldA== O20= IHJlcGFpcmluZw== LW5vdGU= RGVidWdnZXI= KFdlYg== IHNpbmdz IExveQ== IERFU0lHTg== LkNvbXA= LWNvbnRyb2xsZXI= IGF2b2NhZG8= IEJvd2ll Y29udGFkb3I= dWxpbmdz dWNob3M= c3BlY2lmaWVy IFZvbHZv IGRlbW9z IFByb2R1dG8= Lk5vdEZvdW5k IG5pw7Fvcw== IEJvbHM= X291dGVy U2hlcg== QVVUTw== IGpvdg== IEZyZWRkaWU= b3JpYXM= IGFmZWN0 IGZhY2lsaXRhdGluZw== IGRvbWluYXRpbmc= UGFyY2VsYWJsZQ== JywnLQ== bW9vbg== IG1ldGFzdA== IHNjYXJm IFRoZXJt Q2FsbEJhY2s= 0YHRgtCw0LI= LkltcG9ydA== IGJldHJheWFs aWN1bG9z IHdlacOf 5YyF X14= d2lmaQ== IFNFTlNPUg== X0JVU1k= JGI= X0ZJTkQ= IHBsYXN0aWNz IENPTlZFUlQ= CWNhbGw= IFByYWd1ZQ== IGdhcm5lcmVk X2xlYXJuaW5n c2hvb3Q= J10pKQ0K IEdpbmdlcg== PXBk LHRlc3Q= UHJvZml0 IGVzdGltYXRvcg== IGJyZWU= IC8vPC8= X2hhdmU= IEtvZA== X0lNTQ== aXp6YXM= bWlnaHR5 154= IE9uQ2xpY2tMaXN0ZW5lcg== 44OH IFNjaWVudGlzdA== RmlsdGVyZWQ= YXZs aGF5 X2dlbmVyYXRlZA== XScK IEF1dGhvcml0aWVz OnBhcmFt IHN0YXR0 LW1hdGVyaWFs IGxpZGVy IENyb3A= IEJ1bmlmdQ== IG5leHRQcm9wcw== b3J6 X29yZA== PHg= X0lPQ1RM IE11c2NsZQ== CWV4ZWM= RU5BTUU= X2xldHRlcnM= IyMjIyM= IENz J109PSI= ICInKQ== Q2xlYW51cA== LnN0cnVjdHVyZQ== zro= 6YCa6L+H J107Pz4i IExhdGl0dWRl YmJpbmc= IGJhbmFuYXM= cmVjdGlvbnM= IFJhbmRhbGw= TllTRQ== IGFwcmVuZA== LlJlc3BvbnNlRW50aXR5 IHRlc3REYXRh XGU= IFdL LkFkZENvbXBvbmVudA== X3J1bnM= w6dvaXM= LW1pbmk= Zm9sZGVycw== IGxvc2Vycw== IFRvd2Vycw== LUVuY29kaW5n OnI= Y2hvb3Nlcg== IGZsYXR0ZW5lZA== 0YHRgtCw0L3QvtCy CVB5 5Lic IGRhbW5lZA== RGVwdA== d2Vk IHBpc2M= Z2llcw== X2dhbWVz Lm1hc3M= KEVxdWFs IG5hdGl2ZXM= LnRodW1ibmFpbA== bHRy IGVxbA== X2luY29tZQ== CWhlYWRlcnM= LWhhaXJlZA== IG1lZGlvY3Jl IFdpdGhkcmF3 IGJpdHRl 2b4= PWlu b2NrZWQ= RnVsbHk= IFRFTVBMQVRF w7pkZQ== T2Rk aWxsZXo= VGVsZXBob25l IAoJCQo= KCInIg== X3NjaGVk ZXJuZQ== wr4= LnBpY2s= IE1TSQ== CWZm RGlzY292ZXJ5 IENPRA== IExhY2s= IHNlbnNhdGlvbmFs bW90aA== IExlZ2lzbGF0aXZl 0Y0= IHZpYWJpbGl0eQ== IGdldEVtYWls IHVuYW5pbW91cw== IHBlbGxldA== ICIoKQ== Y29hdA== YWdvb24= IEFMV0FZUw== XHVD X3N0ZG91dA== QW5keQ== IG5ld0xpc3Q= IE1haGFyYXNodHJh LF9f PXVzZXJuYW1l IHNjcmlwdGluZw== IFRtaW4= PEFjdGlvbg== PXt9LA== c3ltYm9scw== IGZlbmNpbmc= IHbDrWRlb3M= IE1hdXJpY2U= Y29ybGli IGtlbQ== In0pLAo= IENsYXNzaWNhbA== Y29sbGVnZQ== IEhvbWVwYWdl IH19Cgo= X01zcA== IENvbXBsYWludA== IHNhbmR5 QXNpYW4= X3NlcmlhbGl6ZXI= IExhaA== IGJ1ZHM= b2xvZ25l IHJlc3BvbnNlRGF0YQ== b3BoaWxl a2F0ZWdvcmk= RW5kZWQ= bGVjdGlj IGNsYXdz Li4uJyk7Cg== IHBsYW5uZXJz IFphaw== IEdsb3Zlcw== Iil9 IGZhc2hpb25lZA== YnJvbg== IG5ld2NvbWVycw== dmFuYQ== IHBpZXJ3cw== UmVjZWlwdA== LWVudg== IHJ1dGE= IEZhcm1lcg== b2RvcmU= bXVp IHJvbWFudA== IGluZmxpY3Q= IHNlbWluYXJz PWN2 KHN0b2Nr IGV4dHJhY3Rvcg== IFRpZmZhbnk= X3V2 LmNvbnRhY3Rz JyksKCc= IHNvbHZlcw== LkNvbm5lY3Rpb25TdHJpbmc= L2RlYnVn IEF2ZXJ5 44Oj IG1heFg= U3Bhcms= PHRoaXM= IGhpa2Vz S2V5VmFsdWVQYWly IFF1aWV0 c3RhYg== IEtvbW1lbnQ= bHljZXI= IE1TTQ== IExhbnRlcm4= IGNvbmp1bnRv aHNp TVVMVA== V2l0aER1cmF0aW9u YXR0YWNoZWQ= IEFzdGVy CXBvaW50cw== IFNpYmVy IE1ldGhvZGlzdA== L3NpdGVz IGZvcnR1bmVz UGFydGljaXBhbnQ= IGN1c3RvbWVySWQ= KWluaXQ= X3NlcnZlcnM= IHdlYXZl IFRSQUlO IGhhcmFzc2Vk 7J6R YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo= X2Zhcg== QWxjaGVteQ== LmxpbmVXaWR0aA== IHRoZXJhcGlzdHM= IExvYg== ZXF1aXBtZW50 IHJlY2h0 Lm1pcG1hcA== Lm5pY2tuYW1l IHVudG91Y2hlZA== QUdPTg== IFNhdWw= IHdvcmtzaGVldHM= IFZldGVyYW4= b3VkZW4= YWNsYXNz X2FzbQ== IHRlbXBs IEV4cGVuc2U= ZWlnaHQ= I1NCQVRDSA== em9uZXM= LnBhcnRz YXRyaWNl bGF3cw== dG9CZURlZmluZWQ= RWZmZWN0aXZl IFBpZWNlcw== YXJ0aQ== IGluaGliaXRvcnM= CXBhcmFtZXRlcnM= IHRlbGVncmFt Ym91cmc= X25vdGlmaWNhdGlvbnM= IHBvc2l0aW9uYWw= LWRlYWxz IC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ== IHNoYWRlcnM= XT0k IGRlY28= ZXR5cGVz Y2xhcmU= IEdTTQ== LnV0aWxpdHk= VG9TdHI= YWZlbg== IFht X3BhcnRpY2xlcw== IGZsdWZmeQ== TWFya2V0aW5n IHN0YW5kaW5ncw== PwoKCgoKCg== VU1BTg== X1BBWU1FTlQ= CVRpbWU= cmF3bg== b3Jybw== IGVlcnN0ZQ== IHBhZ2VOdW0= IENPUA== IHBsYWdpYXI= VXBsb2FkZXI= JHNlbGY= bGF0ZXI= ZXJpYWxpemVk IGFsaWduU2VsZg== IOKZpQ== LmFycmF5Y29weQ== IG5vc290cm9z CWdwaW8= IHBsb3R0ZWQ= aXRlcmF0aW9ucw== IFJlbGF4 Y2lwaGVy R2lmdA== IEJldHQ= IFhS IHN0cmlwZWQ= KGVudmlyb25tZW50 ZWdlcnM= X1JFU0VSVkVE IGvDtm5udGU= IGluZmVycmVk UGRm c29ycnk= cGFyYXRl LkNvbmNhdA== IGxpcGlk LkJP IG9ybQ== IENvbnNvcnQ= IG92ZXJzZWVpbmc= IGFtYmVy IHBsZXRob3Jh CUFjdGlvbg== cXVlcnF1ZQ== IGh1aXM= ID1b IHByb2dyZXNzZXM= anVkdWw= IGNvbnZlcnRpYmxl LmVtYmVkZGluZw== IHs/Pgo= IHJlZHV4 W2xhYmVs OiIpOw0K Lm9ubGluZQ== cXVhcnRlcmVk IHNjaG9vbGluZw== ICJcIiI= W2xpc3Q= QWxhbg== J30KCg== eXBzdW0= IHN0cml2aW5n IFJlc3BvbnNpYmxl IO2MjOydvA== LkludFB0cg== cmlrZXM= ZW52aWxsZQ== LnNldExheW91dE1hbmFnZXI= IFBhc3Nlbmdlcg== IGRpc29i IGZlcm1lbnQ= LlBpeGVs Pign IGNvbnRlbmRlcnM= LWJldGE= IGFmZmlybWF0aXZl 0L3QvtGB0YLQuA== aWHDp8Ojbw== UmVjb21tZW5k aW1pdGVycw== X3lsaW0= IHN1YnNpZHk= IGVyYg== RmlsZVNpemU= KHNy IHBvb3Jlc3Q= IHZvaQ== U2lk IHNsaXBz X21pbnV0ZXM= IHVn xqFu IG5hdMO8cmxpY2g= 44Oe YmVhcg== fV8kew== IGZpc3Nl IGRpc2NyaW1pbmF0b3J5 CQkgIAo= IENvaWw= X2lmYWNl LnZlcg== IG1pbmVk IGFzc2Fzc2lu IHVuc2V0dA== LnJlcXVlc3Rz LlVT aW1hZ2VVcmw= IHN0cmF0ZWdpY2FsbHk= LWJhbmQ= IHRyb3VzZXJz WEQ= ey8= bGVjdGlvbnM= YCgp IlA= IHNrZXRjaGVz Y2xpZW50SWQ= IFNyYw== b3BlbmluZw== UHV0aW4= IFBvZXRyeQ== IFBST00= SUxMSVNFQ09ORFM= IGJvb21pbmc= U2ltaWxhcmx5 Omxhc3Q= Lndvcmtlcg== LmdldElE LlNQ c2VydmVycw== b2N1bGFy IHNwaW5hY2g= SVNL w7A= J10pWw== IGNoaWVmcw== IGdyb8OfZW4= cmlldmluZw== LmFzaw== LXN1cg== VlY= Lz4iOwo= KHJlbW92ZQ== IEtM IEhhbGV5 QFJlc3BvbnNlQm9keQ== LSY= U3dhZ2dlcg== IHpuYWo= Lm9uRXJyb3I= cmVnbw== ZWxpeA== IEFWQUlMQUJMRQ== IHNlcGVydGk= aWFw X21pc3M= IHN1cmdlcmllcw== IGltcGFydGlhbA== IENvdA== YWt0aW9u IHdoaXRlbGlzdA== INCw0LI= X21peA== IEJlZHJvb21z IHByaW1laXJh IHNpZ25pZmljYQ== L2J5 IHN0YXJ0bGluZw== IFNQRQ== dWNjacOzbg== TnVtZXI= SUJN LmZyYWdtZW50cw== UmVudA== IHLDs3duaWXFvA== LkFVVE8= LkZvckVhY2g= IFpodQ== IEN1bm5pbmc= IFdhcm4= IEJI X0RPV05MT0FE QnlLZXk= KeKAlA== IGNvbW1hbmRl X0FOUw== Q2hyb24= RklU X2F0b21z X1NLSVA= IHZhcA== KEJveA== IGxkYXA= dW5wcm9jZXNzYWJsZQ== SVRJT05T w6lyw6k= LG1zZw== IG91dHNldA== IGRyaWxsZWQ= IGTDqXZlbG9wcA== IENvYXQ= IEJlbmdoYXpp SG9va3M= IE1pc3NpbGU= X1Jlc2V0 Pi88 ICItIgo= KCk9PnsK IEhvY2g= LmF3YWl0 QWRyZXNzZQ== IGRpZ2l0YWxseQ== IlRoZXNl b3BsZXZlbA== IGFzeW5jaHJvbm91c2x5 IER1Y2tz UkVTUA== SVJP LmZpeA== IFJhZGFy dmVydGlzZQ== w61zZXM= SXRlcmF0aW9ucw== bW91c2V1cA== bWludA== RklSU1Q= IHBheXBhbA== X3VwZ3JhZGU= V3JhcHBlZA== Ow0NDQo= K3M= IGNhdGNoZXI= Lk9w X05PVElDRQ== cGFyYWxsZWxlZA== Q1ZF Zm9yZ290 IHBhbm9y IG9mZnJl IGVub3JtZQ== KCkNCg0KDQo= YWRpYXRvcg== YWRkQWxs W3RleHQ= KHV0aWw= LlByb21pc2U= YW5pc20= X29mZmVy RU5ESUY= ZG90cw== IEtybw== IHNwZWxsZWQ= IGFwcE5hbWU= QWN0aXZpdGllcw== IFNwaWNl ZWF0ZWQ= IHNrYg== IGvDtno= IHRvcmNodmlzaW9u Q2l2aWw= IGhvcw== X0hlbHBlcg== acSH X3Vuc2lnbmVk 6K66 4oCcQW5k CWtmcmVl LnJhaXNl IGNhbGxl IExhbnM= IGFudGln XCI+IjsK YnJhbmNoZXM= bG9ncmFkb3Vybw== IHN0YWxsZWQ= YWx5emVk RGVyaXZlZA== Om5vdA== IGdpYmk= IFR1cm5idWxs LnVzZXJEYXRh KFRhYmxl IERlcml2ZWQ= CWNvbmY= IGFsZ2Fl IGthZmth IG5ha25l IEhlYXRpbmc= IFRpcmU= YWR1bHQ= IERhdGVGb3JtYXQ= b3Bj ZW5zYWdlbQ== LlRvb2xz Lk1peGVkUmVhbGl0eQ== cmFp IFdvbmRlcmZ1bA== KV0pCgo= aWFyZA== VGhlbWVQcm92aWRlcg== IGV2ZW50RGF0YQ== I2Fk LmdldFVybA== IHRvb2xib3g= IG92ZXJyaWRpbmc= Q09OVEVOVA== LXByb2R1Y3Rz d2lsZA== X2V4cGFuZA== aW5haXJl QnJ1 b2xscw== INGN0YLQvg== Y3Rlc3Q= IHB1bmNoaW5n RFJW X3NwYWNlcw== IFN1cGVyaW50ZW5kZW50 IGxheXVp KGZlZWQ= dG9k IHZo IGluc3VsdHM= IFN1Yw== aWtz VG9ycmVudA== Lmty X2FjdGl2YXRl k5g= amVl aW1lcnM= cnVpdHM= IHByZWNpbmN0 LlJlcXVpcmVk IHNhdGlzZmllcw== IGNoZWVyaW5n IGFycml2 CXJlYw== IENvYmI= IGNvbmN1c3Npb24= dWpldA== Tm90Rm91bmRFcnJvcg== SmVhbg== IHBob3Rvbg== Pl8= IEJhcmNs YW1k ICV9Cg== PVwiIw== SW50ZXJu IENvbW1pdHRlZXM= LmJlbA== bnVtbWVy IGxldml0cmE= X3ZlcmJvc2U= KGNvZGVj IFN0aXRjaA== PSIiOw0K IHJlZ3JldHM= IG11bHRpbmF0aW9uYWw= IHJlc3RydWN0dXJpbmc= IE1FTg== eW5jaHJvbml6YXRpb24= IG1lZGlhdG9y a2ly UHJpbmNl IGluaGliaXQ= IGdvc3Q= IE1NQw== IHNpZGVk X2Rhcms= KGJsb2I= PkxvcmVt PiIpOwoK c2Nhbm5lcg== OmlubGluZQ== LmNhcm91c2Vs b3RpZGU= IFdXVw== IGRydW1tZXI= LmZhbWlseQ== IG9yZGluYWw= 5b2T5YmN IGRpcGxvbWF0 IHN1cHBsZW1lbnRhbA== IGRhZsO8cg== IEZBVA== IFlvbmc= aGFwdXM= IEp1bmN0aW9u emw= LlVzZUZvbnQ= IGhhc2hNYXA= LVJl ICIqKg== LnNldEJhY2tncm91bmRSZXNvdXJjZQ== IGltcGVyZmVjdA== LkZpbmRFbGVtZW50 IExMUA== IG11cmRlcmVy IHRleHRl aXPDqQ== YWN0aWNz VG95 R3JhbnQ= X2Rpc2Nvbm5lY3Q= IGJyYXNpbGU= IGVtZXJnZW5jaWVz X2x2bA== IEAiXA== fSovCgo= X1NPQw== Tk9STUFM L2dhbGxlcnk= YXNpY3M= RXZlbnR1YWxseQ== IGdyYXA= IGNyaXN0 IHByb2plY3Rvcg== IGdlb21ldA== IGRldGVjdG9ycw== IGNyaXRpY2l6aW5n IGNoaWNrcw== IEhpag== L2ZyYW1l LW1vbmV5 ImRlc2NyaXB0aW9u IHRleHRpbmc= IHNleGlzbQ== IE1WQw== LWdlbmVyYWw= IG92ZXJ0dXJuZWQ= IG1vdmVy IFBocmFzZQ== IFVOVVNFRA== IEVudHJlcHJlbmV1cg== VEVHUg== ZWxsaXBzZQ== TWFya2Rvd24= X18oKg== IEthcmRhc2hpYW4= cHBlbGlu IEdvdHQ= IGR5c3Q= IFJlZHV4 SG9sYQ== PyEKCg== IFJlYWx0eQ== U3VydmV5 IE1jR3JlZ29y X2hhbmRsZXM= IGludHJpZ3VlZA== IGdldFVybA== IGRldmlzZWQ= IFBheXBhbA== IHRoaW5rZXJz IFN0YXR1c0Jhcg== IEVsaWc= IGNvbXBsZXhlcw== INC60L7QtA== c3RvY2tz LWluaXRpYWxpemVk IHNjYW5kYWxz IGNvbWZvcnRpbmc= IFJvY2tz IGxpb25z bG9jYXRvcg== IV0= IFBvbnk= RGF0dW0= IEZldA== IG9mZnNldFk= IFJFVFVSTlM= IGJyZWFjaGVz VGltZUludGVydmFs IHZpZWxlbg== VmVyc2U= IGthZA== IGdhYXQ= KCItIiw= IG1vdXNlWQ== KFBvc3Q= IFVo ZWxpZ2libGU= YWx0YQ== IHV0aWxpc2U= ZmFjdHM= SElQ IG9yY2hlc3RyYQ== IFNwYWNlcw== aXNwaWVs IG11bHRpcGFydA== LW9wYWNpdHk= U2VhcmNoaW5n IFBsYXRv VmlzaW9u IGx1bA== IEFwcHJlbnQ= 57uc W3JhbmQ= LWRpc2FibGVk IEZsZXRjaGVy IHRyYW5zcG9ydHM= JmU= dHBhcmFt cG9sZQ== IEJ1ZW5vcw== w7pibGljYQ== aW50ZXJhY3Rpb24= IGhvYg== IGluZmxpY3RlZA== bGl0ZQ== IFBBUkFNRVRFUlM= IFN0YW0= KG14 IEF1dG9NYXBwZXI= aWxpYW4= IHF1aXR0aW5n PXt9 IEpvbmFz IGxvY2FsaXR5 IFNpbGVuY2U= X2ZsdXR0ZXI= IG5icg== bGl0ZXI= IE5vcm1hbGl6ZQ== IGFjdW0= QnJhaW5z ZXF1aXA= XT09Ig== IGRlc3Rpbm8= IERpb3M= Lk11bHRpbGluZQ== YWdyZWU= KQoKCgoKCgoK IHN0ZWxsZW4= IGN1cmx5 Lk9mZmljZQ== LWFib3V0 ICcuLy4uLy4uLw== IFVUSUw= IFJw 4oC6 IG1hcGE= LkRP YWdhbA== LndpbmRvd3M= IGFkdmVyc2VseQ== Llh0cmFMYXlvdXQ= bWVkaWNhbA== IHVuc3Vy dGhlcm1hbA== Lk1vZGVsQWRtaW4= LmFjdHVhbA== c2V0Q29udGVudA== IHBvc3RmaXg= UFc= IENoYWlycw== IGdyYW1t IGNvbXBsaWM= RElTUExBWQ== IE1vb3Nl aGFhcg== QUxFUw== IGxkYQ== LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCg== ICcvJwo= QVNO IEJhcmJlcg== IG1haW5z IG1haW5XaW5kb3c= 0LDQt9Cy0LDQvdC40LU= IGVtYW4= X2NvbGxlY3Q= IHJlbXBs LnRheA== YmFo IFBzeWNoaWF0cnk= RGVzY3JpcHRpb25z IGV4ZWN1dGlvbnM= CUxPR0dFUg== JkU= OmJn IGtk LmRhbWFnZQ== IG5pc2k= 5qy+ IENhbWVs aW5pZGFk IExpZmVzdHlsZQ== IFRISVJE IOCkuA== IHBvbHlnb25z IGF0dGlyZQ== YWxlbnQ= X1VTQVJU IG1hbGFyaWE= bG9icw== IF19Cg== KHJlZ2lzdGVy LXBz X29wdGltaXplcg== KEFMT0FE IHZhcGU= LnNvY2s= kOiXjw== JHByb2R1Y3Q= KEVSUg== Y2twdA== YnVxdWVycXVl IH19Ij57ew== IEhpdmU= IE1hc2g= IEVwaWQ= IEx1bmQ= X3RyYW5zYWN0aW9ucw== IHN1YmNsYXNzZXM= RWFzZQ== X0Nsb3Nl X2NoZWNrb3V0 IicsCg== U2VjdG9y b2lzZQ== LXRlbXA= KSIp aHlwZXI= ZXJjdWw= c3RhY2twYXRo X05S SUxMRQ== IHJlbGFjacOzbg== IE1hdHRo X0NPREVD IGhhbmRsZUVycm9y X09uZQ== YWxib3Jn CQkgICAgICAgICA= IFVwbG9hZGVk Tm0= Ly89 KlM= X0VYUEVDVA== IGZyYWN0aW9uYWw= Q291 IHNjYWxhYmxl IENJRA== PFBvc3Q= CXRocmVhZA== aGFyZHdhcmU= LmNoYW5nZWQ= LkVsZW1lbnRBdA== IGFydGljdWxhdGU= ZWRvcmVz RXN0YWJsaXNo PXtbCg== ISo= IFNK TWV0ZXI= LnJlcA== IFZPTA== IE91 bMOp IHBuZXVtb25pYQ== X3BpY2tlcg== ZXhwbG8= IOyekQ== IFN3aW0= ZHJlc3M= c3Rvcmllcw== L25hdg== VmE= INit L3NlbGY= IHZldGVyaW5hcnk= KERlbnNl CWJvb3N0 IElzTm90 IHRydXN0aW5n IExlYmFuZXNl JHJlcXVlc3Q= eGZmZmZmZg== X3JlbW92ZWQ= IHVwZGF0ZXI= 2KfY RE9XTkxPQUQ= IEltbWVkaWF0ZWx5 IHJvYW1pbmc= IEhvcm55 LmNvZGlnbw== IEZpZ3VyZXM= IHBhbnRyeQ== KHNhbXBsZXM= IEJFTA== IHNldENvbnRlbnQ= dW1vcg== 5pSv5LuY X01JTlVT IHVubGVhc2hlZA== IHByb2ZpY2llbnQ= CVVJ LkV4Y2VwdGlvbnM= IHNyYW5k UHJlc3N1cmU= LmFzc2VydE5vdA== KHNlcmlhbGl6ZXI= CXR4dA== UG9ydHM= IG5lY2VzYXJpbw== IHJldml2ZWQ= IG1pbGVzdG9uZXM= Y2Fubw== RXNjb3J0 IGVudGVuZA== QVBF aXBj LmF0b21pYw== IFBlbWI= IHJlYWNoYWJsZQ== IGthbnM= d2hhdGV2ZXI= TGlzdEJveA== IENseQ== cGljdHVyZWQ= IEVsZWN0cm8= YWJpYw== IGZ1bms= IGRpYXJyaGVh IOeZ IFNvbHZlcg== IEJhYw== IHNrZWxldGFs IO+C IEZpbGVOb3RGb3VuZEV4Y2VwdGlvbg== ICIpWw== IFRyYWl0 dWRva3U= LS0tLS0tLS0tLQoK QW5nZWw= YWdy IHNpbXBsZXM= IGJhbmM= IEFsZXJ0cw== IENvbmZpcm1hdGlvbg== IEFseQ== Y2FsbGJhY2tz IGZ1bmt0aW9u IGdyYWZ0 WVBE L0FGUA== V0s= a3Vy Q0tFVA== IFNsYXRl IFN0ZWY= CVJ1bnRpbWU= IEVTTA== IHByZWFjaGluZw== QnJvYWQ= IHNldERlc2NyaXB0aW9u YXplbA== PQoK IGphY2twb3Q= IC8vIQo= dmlhcg== IGVpZA== IGF0aXY= IHJlZmxleGl2aXR5 Lkxpc3Rlbg== IGx5cmlj IHZlcms= IGNvbGx1c2lvbg== YXphYXI= IHdpbms= IE11ZA== L29wZXJhdG9y IGV4dGVybmFsbHk= IGJhcnU= IGJhc2tldHM= dGlja2Vy KHBob3Rv X2V2ZW4= IHNwb25nZQ== IGhlaWdodEZvcg== Z2V0Q2hpbGQ= X2Zvcm1hdHM= LkV4ZWN1dGlvbg== X1Byb3BlcnR5 cmVwb3M= dGhlaWQ= X1BIWVM= IGV2aWRlbmNlZA== LmhlYWRpbmc= QW5ndWxhcg== IFZlbnVl IEhPVVNF IEVzdG9uaWE= 0LzQsA== cmdhbml6YXRpb24= L2RldmljZQ== SVJS X3RoZW4= YXJlbQ== IGFnZ2k= RU1PTg== INGB0Lo= IEVwaA== IE1TUA== IGxvZ2ZpbGU= LWxlYWRpbmc= YXRoYW0= IHVubWF0Y2hlZA== IFNpdHVhdGlvbg== KCl7fQo= CWNoYW5nZQ== IENoYXB0ZXJz LlJFU1VMVA== IG9l RVRZ X3ZpZA== Li4uJyw= IGFsdGVybmF0aXZlbHk= X1dT IFBsZW50eQ== IENyYXRl YXNpb25hbGx5 IExhd24= IElNTQ== IFZhbml0eQ== IFZvb3I= 5ZCv IG1pag== c3RlcnJlaWNo IFJERg== IENyaXRlcmlvbg== Lkludg== LlN0ZXA= X0ZyYW1l IEVOVU0= 774= SG9wZWZ1bGx5 TmF2Q29udHJvbGxlcg== IOy2lOqwgA== IFZhZGVy IHJ1dGhsZXNz JGtleQ== Y2t0 aW5lbQ== aWxlbnQ= IHJlc3BlY3Rpbmc= bGNk KGJ0 IEVsbGlvdA== IFVuaWRvcw== KENoYW5uZWw= IGVpdXM= IGFzdHJvbmF1dHM= IEhvc3Rpbmc= IGNhc3Rl IGhhcm1lZA== b3VwbGVz PFJvbGU= LkRlc2M= LWNvdXJzZQ== IENhcnRvb24= aWxlZ2Vk IG15c3RpY2Fs IOex KGZpZWxkTmFtZQ== V0lUSE9VVA== LHN1bQ== J2FjYw== CXJvd3M= IGdldFBhc3N3b3Jk IGNvY2tz cGl2b3Q= bmFtZW9m IGZlYXNpYmlsaXR5 IGNvbW1lbmNlbWVudA== IERvbWU= LkpTT05FeGNlcHRpb24= IEh5ZGVyYWJhZA== IExpc3RlZA== IENvbXB1dGVycw== W3ZhbA== IGlzb3Q= CXdpbg== IG5laA== KElOVA== UmVwdWJsaWNhbg== INC/0YDQvtCy0LXRgA== RmF0 IGVxdWl2 IERhdHVt YXN0aQ== IHNvaWxz dXB1bmN0dXJl cHJlc3NpdmU= XykpOwo= Lldhcm4= IGhhcmI= Lm9uT3B0aW9uc0l0ZW1TZWxlY3RlZA== IGNsb3du IE9XTg== IGV4YW1pbmF0aW9ucw== IEV4aXN0aW5n am91cmQ= IGNvbmNlc3Npb24= IEZpcmViYXNlRGF0YWJhc2U= IHVwdGFrZQ== IGVubGlzdGVk IENhcmI= IGZ1cw== IGFidXNpbmc= LnByb2R1Y3Rpb24= eW5jaA== aWx5bg== cmVmdW5k LWhhdmU= KGFyZ3VtZW50 IGZzY2FuZg== Y29uY2VwdA== X0xBTkU= IGVuZ2FnZXM= IEV4YWN0bHk= YWx0dXJh KEFkZHJlc3M= IHN5bm9ueW1vdXM= VG93bg== IFBheW5l cm9pdA== cGVyaWVuY2Vz cGFydGljbGVz X2Jk IEdyaW5kZXI= TWFuYWdlZE9iamVjdENvbnRleHQ= KGJi W3RtcA== LWNvbnM= YW9rZQ== IHN0ZXdhcmQ= IFZpZXdDaGlsZA== LmRyYXdMaW5l IFdBUk4= IHB1ZXM= bW9kYXRpb24= IHpz QWdyZWdhcg== ICIuIiw= LmNlbnRlclk= IGZsYXdsZXNz IGRldXRzY2hl IExpcXU= aXRlaXQ= X2ludHJv LXVzZWQ= LHRhcmdldA== IEhERA== ICUr b3JlbnQ= L09iamVjdA== IGRpc3J1cHRlZA== w6J0ZQ== IGFjY2Vzbw== IExvd2VzdA== IFdpbGxpYW1zb24= X2NyZWF0b3I= U2VsbA== IEJVRw== X3JlcHI= 6ICM IGFyY2hhZW9sb2dpY2Fs b21lcnM= IEVsb24= IFNjcm9sbFZpZXc= IGxpbmVzdHlsZQ== aXNSZXF1aXJlZA== aXNrbw== X3Ji ZsO8aA== ICAgCQk= KGRlZmluZQ== IFNDTQ== IERJRkY= X2Jz cGVuZGljdWxhcg== cGFjZWQ= IEpvdXJuYWxpc20= LkpTT05BcnJheQ== IERhdGFBY2Nlc3M= TWFyaWE= IELDvA== SEVMTA== IE1BVFJJWA== T0xUSVA= YXBzaWJsZQ== XToKCg== bmFpcmVz X2hpc3RvZ3JhbQ== IGZsYWly aGF2aW5n IFVzZXJJRA== IFJlbGF0aW9uc2hpcHM= UmVwbGFjZW1lbnQ= IHJzYQ== IGVucmljaGVk IHJlaGVhcnM= IHfDpHJl IGxvYWRlcnM= IEVsZW5h IFdhdGNoaW5n CWpvYg== TkVXUw== L3NldHRpbmdzZGlhbG9n aXZlYw== X0VRVUFMUw== VGVtcGxhdGVOYW1l IEJPRFk= LmFkYXB0ZXJz d29mZg== Y29tYm9Cb3g= Lk5ld1JlYWRlcg== fHJlcXVpcmVk X3Byb2JhYmlsaXR5 ICg6Og== IGNyYXo= IFVG VGVzdElk IGVzcGVjaWZpYw== aWJlbA== cGF3bg== 640= IE1hcnI= IHN0YXJ0WA== X3NpdGVz Lz4KCg== IGltcGxpY2F0ZWQ= KGlubmVy IGVmZm9ydGxlc3NseQ== wq10aW9u YXdhcmQ= IGhvdmVyaW5n cHJp JHRlbXBsYXRl dWFuZw== IGF1dG9tYXRl ICoqLwoK aWJsaQ== IG51dHJpdA== KS4o ZWVlZQ== QXBpQ29udHJvbGxlcg== L293bA== IFdvbWVucw== LWRvdWJsZQ== IE9yZGVyaW5n c3Bt TW9kZXI= Lk5hdGl2ZQ== IEJlcmdlcg== ZXNkYQ== ZXJkaW5ncw== X2VjaG8= IHN1bW1hcml6ZWQ= IGVsZXZhdGU= X3F1YWQ= IHdvbw== dWxhbnQ= UHJvcGVydHlWYWx1ZQ== IHBsaXN0 IEdSQVBI IFNUREVSUg== KScpLg== QXNzZXJ0aW9u bGlua3BsYWlu IGFjY2VsZXJhdGluZw== IHNuaXBwZXRz IFNhbG1hbg== YWJjZA== LmVjaG8= X2lkeHM= IHBjbQ== b2NhbHlwdGlj X2Nvb3JkaW5hdGU= KHByZXZpb3Vz LXNob3J0 LnN1YnRyYWN0 KEJpdA== P3Q= IE5vdGVib29r IEthdHJpbmE= aWZmZXJlbnRpYWw= c2lsZW50 dGVybWluYXRlZA== IHRhbmdlbnQ= OlQ= IGNvc8Os IHBhcmFub2lk IGRlcHJpdmF0aW9u L3t7JA== IGhlbWlzcGhlcmU= IHJlaW5zdA== ZWN6 dGVycg== IFBMQVRGT1JN IHRyb3VibGVzaG9vdGluZw== IHZhbGlkYXRpbmc= IE9yaW9u YXN1cmluZw== 0LjQvdCw IGh1YnM= YXJlbmNl IENoYWxsZW5nZXM= IHplYWw= U3Bv IFNjcmVlbnM= IG11bmRhbmU= IER1bms= ICMjIyMj IFJFRkVS b25ldA== LmNhc2U= LXBvc2l0aXZl SU5URUdFUg== Lm1ldHJvTGFiZWw= U0FO IHByb2Zlc3Npb25z IHR5cmVz UGFsaW5kcm9tZQ== IFNFQ09ORA== LkdSRUVO IFNuYXBzaG90 VUxL X2NpZA== JEk= IGN1bnQ= ZXN0cnVjdGlvbg== UHN5Y2g= IEh0dHBSZXNwb25zZU1lc3NhZ2U= ZW1iYWxp X3Jldmlld3M= U2VsZWN0YWJsZQ== X1BSRVNFTlQ= IEpzb25SZXF1ZXN0 IFRoZXRh X2ludGVycA== UmFzdGVy I2Vycm9y LG9iag== IHR3ZWV0aW5n X0dQVQ== X3RvZGF5 X3NlY3M= bmVlcw== LmdldFN5c3RlbVNlcnZpY2U= IHZub2Rl IFJlZ3VsYXRvcnk= IEZhaHJlbmhlaXQ= IHNjYWxlcg== X21hcmtldA== LmFsbG9jYXRl dGlja2V0cw== YXRhaw== IFBpa2U= IExvcg== ZGl0b3I= IGxvY2F0aW9uTWFuYWdlcg== IGluaXREYXRh IFdhcmU= IEluY2lkZW50 IGNvbW1lbnRhdG9y dWVudGVz IEluZmxhdGU= IOWG IGFjdGl2aWRhZA== IEJq RU5VTQ== IHJldXNlZA== INC80LXQvQ== IHNlc2nDs24= LicpKTsK 44GT44KT L2dl YWdhaW5zdA== LGxpbmU= KFVubWFuYWdlZFR5cGU= KT0i IHl0 dWRpYW50ZXM= cm9sbGFibGU= 5aGr X0NPTExFQ1RJT04= b2xpcw== dW1iZXJsYW5k KCIiIgo= IHppcHBlcg== DAo= L3NpZ251cA== IHN0cmFuZHM= cmF4 LmNvbnN1bWVy IHVuY2VydGFpbnRpZXM= RGVidWdFbmFibGVk IGRlZmVhdHM= IGRydg== IHJlYWxpc20= YWdyYW1z WEU= IEhhemFyZA== LW5lZWRlZA== KHRhYmxlVmlldw== LkVsZW1lbnRz IFNBUg== CWVsZW0= KHBrZw== U2ltb24= VGludENvbG9y IFBoZW4= X0VNUA== 2Iw= Pz4KCgo= X2F0dHJpYg== IGJveFNoYWRvdw== IENHQWZmaW5lVHJhbnNmb3Jt IENhbmJlcnJh IHN0YXJ0UG9z IFJhaw== CWNlcnI= IFRhbnphbmlh dW9uZw== Y2Fm LmJhc2ljQ29uZmln b2lucw== Q29udGFpbmVk PXNldA== X2dpdA== CXBhY2tldA== IGNvZg== KFRS 5qC85byP KHt9KQo= IGRpcmVjY2lvbg== IHBsYXlsaXN0cw== IGFmZmluZQ== LnNldFNlbGVjdGlvbg== IGFtbW9u IGNvbnF1ZXJlZA== IFJhbW9z IFBTUA== PXN1bQ== IGNvcnJlbGF0aW9ucw== IHJvYWRtYXA= IGV4dGluY3Q= IGFkdmlzYWJsZQ== IGJvbWJlcnM= IFVJUmVzcG9uZGVy X0JQ INCx0YPQtNC10YI= IFByZW1pZXJl IFJV dHJhc2g= KGNsanM= Z251 LlBhZ2Vz IGluc3BlY3RvcnM= TWV4aWNv IFZlcmU= UHJlYw== IFNjYWw= aXNwZXJz UnVubmFibGU= Lm9yaWc= IHNhaWxvcnM= UGFyc2luZw== IFZpc2l0b3Jz JnR5cGU= cG9wb3Zlcg== PCgpLA== IG93ZXM= IHJlYWN0cw== IERlZmluZWQ= IHJlYWxtZW50ZQ== IGRpY3RhdG9yc2hpcA== YWRtaW5pc3Ry aWRlbmQ= PUw= c3RyY2FzZWNtcA== XSU= 0L7Qs9GA0LDQvA== ZWR1bGE= LWRlc2lnbmVk Q09WRVI= X0NoYW5uZWw= IHByb2pldG8= eW1vb24= Q0hLRVJSUQ== 6YeK IHZlcmlmeWluZw== L2tleQ== LmZyb21DaGFyQ29kZQ== LkJpdA== X2J1ZGdldA== ICUi dmV5b3I= IHl1bQ== IGV4dHJlbWVz X0NSRQ== Z2V0U3RhdHVz c3Vic2VjdGlvbg== IHNvYWtlZA== IGdlbmF1 X0NIQVJBQ1RFUg== 5oyB LW9ubGluZQ== LnRvQ2hhckFycmF5 Y2VyZXI= Il0sIg== IHN0cm9sbA== IFl1YW4= IFdhbmRlcg== IHNpc3RlbQ== X3Vj KG5vbWJyZQ== Y2hhbnRtZW50 KGNsb3Nl bWV0aA== LXNlY3JldA== cHNldWRv Q291bnR5 Q09OVFJPTA== IHNvbHZlbnQ= IHNvYXJpbmc= IHNwaWVz TmF2SXRlbQ== IHJlc2VtYmxhbmNl KGJpdHM= IGNlbGx1bA== IGFzc29jaWF0aXZl Lmltd3JpdGU= LmNvb3JkaW5hdGU= XSwk KHNr Ki8p IG1vY2tz IGp1bmc= X0RPQw== LXJ1bnRpbWU= IEdpdmVz dW5q KHNlZw== KFtc IG5haA== X2V4cGVjdA== Um93SW5kZXg= KGZvcmNl IEdldFZhbHVl IHN1bW1hcmllcw== X1NIQVJF LXRyYWluZWQ= IEJsYW5j IGZpdHRpbmdz IHdhdGVyZnJvbnQ= Lk5vdGU= IFdhbmQ= b3ZlcmU= cHJlZGljdGlvbg== IGNzcg== LnRvcEFuY2hvcg== IFN0cm9rZQ== X0ZpbHRlcg== YXRoZQ== ICJcXCI= IEFGRg== PSIvIj4= LlJlcXVlc3RNZXRob2Q= kJzntKI= IHdpdG5lc3Npbmc= QXBwYXJlbnRseQ== IG1kaQ== c3RpY2tz IEFsdg== w6TDnw== X2NvbnRpbg== IGJvaWxlcnM= IE1hcnhpc3Q= SU9D bmVybw== aW5uYWNsZQ== TGl0 Y2Vj S2V5UHJlc3M= R2V0RGF0YQ== IGlzbnQ= 0YDQvtCy0LXRgA== IHFyeQ== Um9vdEVsZW1lbnQ= IE5TQ29kZXI= LmdldE51bQ== IHRocmVlc29tZQ== VXNlcw== LiJf IENvbnRpbnVvdXM= IHBvcHVsaXN0 IFBzeWNob2xvZ2ljYWw= X2N5Y2xlcw== IGlmZGVm aXBoZXJhbHM= CSAgICAgICAgICA= IGFkdmlzZXM= IENvbXBhbmlvbg== dHJpZ2h0 IGdyb3dlcnM= IFNPQ0tFVA== eW1jZQ== UlNT bWVtYmVyT2Y= VG91Y2hhYmxl X2FycmF5cw== IGp1bXBlcg== IGhlcnBlcw== IFRpdHM= IFRlbGVmb24= X1BBTkVM dWdlbg== 5YyX5Lqs LlNpdGU= X3VucmVnaXN0ZXI= X2Nocg== LnRm LWh1bWFu IGFzb2Np IHF1ZWVucw== QW50aG9ueQ== IHN0cmluZ2VudA== IG1vbGVzdA== c2V0SWNvbg== SEVFTA== SEVMUA== RERT LmNtcw== SVNUUklCVVQ= Y2llcw== LmZvckNoaWxk LmNoaw== IE90dG9tYW4= IFRQUA== IG1pbw== IEJ1Zg== Ym9h VmVyc2lvbnM= KGxvY2FsZQ== IFJhaWxyb2Fk YmNj LyoqPA== LXBhaWQ= IGNlbGVyeQ== YXRpc2NoZQ== Z2V0T3B0aW9u b3Jpb3VzbHk= IGFkYXB0ZXJz U3RvcmVz L3NhdmU= IEJhc2lz 0Y7Rgg== IExhZA== X3JlbGF0aW9uc2hpcA== IENsdWJz IOCo OiI8PA== X01JU0M= VmlzdWFsaXphdGlvbg== IG1pcnJvcmVk ZXNwZXI= U3RyTG4= IHJlc3BvbnNlT2JqZWN0 5ZCR LmVuY29kZXI= LS0tLS0tLS0tCgo= IGdyaWRWaWV3 X2luZGVudA== YW50d29ydA== IGFycml2YWxz IFNldHRsZW1lbnQ= Vmlld0luaXQ= LXZhbHVlcw== IHdhdGVyZmFsbA== IGluY2FyY2VyYXRpb24= IFRlZW5z CXNpZ24= aW1tdW5l LnNlY29uZGFyeQ== IHZpZGVvZXI= IOi+k+WFpQ== IGludGltaWRhdGlvbg== ZW5kYWxl IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IGluc2lnaHRmdWw= IHNhbmRz IHBob3RvZ3JhcGhpYw== UGFnaW5hdG9y IGRpc2NpcGxpbmVk X1RMUw== XSkpLA== cmxlbg== PGNlbnRlcg== X1BDTQ== S2VsbHk= LWJpbGxpb24= LmN4 IGpldXg= IGZpbGVMaXN0 IFFEaWFsb2c= dHJhY3RpdmU= RHQ= IGVzdHJvZ2Vu IHN0YXJjaA== X2VtaXQ= INC30LDQv9GA0L7RgQ== IFF1YXJ0 IGluYWR2ZXJ0ZW50bHk= IHRyb25n c2hpcG1lbnQ= IE5PUg== IFNjcmVlbmluZw== IERpc2Nvbm5lY3Q= bWVubw== IFdvcnN0 IE5y e2s= c3Bs X2N0cg== LnNvcnRlZA== LXBsYWNlaG9sZGVy KCk7Ig== aHVyc3Q= LWhpdA== LnNvbHZl 566X IHVuZGVhZA== IHdoaW1z IGdldERlZmF1bHQ= IE5pa2tp YXNzZW1ibGU= IHJlbG9jYXRlZA== LXJldA== SXRhbGlhbg== OlN5c3RlbQ== LnNjaGVkdWxlcg== 4oCcU28= Rm9yYmlkZGVu QVZPUg== emlhxYI= LkFkYW0= CWNhbnZhcw== IHBhcnRuZXJpbmc= IGd5bW4= IG1hbmlj RGlmZmVyZW50 IMOlcmh1cw== IGZlcnRpbGU= Y2xm LQ0K LnJldmlldw== b2RhYmxl IEJvdW5kcw== b2Jhbw== IFBhcGVyYmFjaw== IG1vZGlmaWM= Y2hlY2twb2ludA== IEFwcEJ1bmRsZQ== IHN0YWJpbGl6ZQ== IEF1ZGlvQ2xpcA== bW9udGhseQ== LmJlaA== IGZsb3I= IGJvbmRlZA== IFdvcmtvdXQ= Y29taW5ncw== IHJhYmJpdHM= IEJBTA== Q0NS X3Z1ZQ== IExldml0cmE= IGxpYmVydGluZQ== IGNoYWxsZW5nZXI= IFZhY2F0aW9u VG9G fSQv X0RyYXc= IGZlbmNlcw== IGRhdGFzb3VyY2U= IHBhcGVs c2xpY2s= X21lcw== IFVJU3Rvcnlib2FyZFNlZ3Vl KFRhZw== IOWvuQ== ICctJyk= X0NMQVNTRVM= KFJlbmRlcg== CWZ3cml0ZQ== VUVE QUVT KGpzb25QYXRo IHNsb3dz PkRlc2NyaXB0aW9u IGVucmljaG1lbnQ= IGl0ZW1wcm9w IFBvdmVydHk= IGFic29yYmluZw== IFBzeWNobw== 5rGf LC4KCg== SW52ZXJzZQ== IGFkanVk aWdpZEJvZHk= emlvbmk= ICInLiQ= 5LiN5a2Y5Zyo VGhhaQ== IHNsYWlu IGJydXRhbGx5 IFBlcnNwZWN0aXZl IFJldGlyZW1lbnQ= JHJz IHNlcnZpY2VOYW1l IOyI LXByb2Nlc3Npbmc= YnJhbmRz OmVycm9y KHByb3BlcnR5TmFtZQ== IEJvZWg= L2Nt L3JlYWQ= QU1C IHJvdGF0aW9ucw== LndvcmtzcGFjZQ== Onk= IHVwaG9s dW5reQ== IEJyYWNl L21ldGE= IEJyYXZl YWNqZQ== KFVJbnQ= IHZpZWlsbGU= cmFkaQ== X2R5bg== Tlc= bG9zZXI= ZXJ1c2Zvcm0= IEJhcnRvbg== IGZhcmVz IE11aw== 4buHdQ== IEF1ZGlvU291cmNl KChf LkJpZw== Lm9yZ2FuaXphdGlvbg== IFRyaWNr IGJsdXNo KFRZUEU= IFJlbGF0aXZlTGF5b3V0 bGVjdHJvbg== XX0i IFphcA== IFR3ZWx2ZQ== Okw= IHN0aWZmbmVzcw== X0hFTA== IHNwZXA= KGNvZGVy IHRhbWFuaG8= IGFudGlveGlkYW50 IGhvc3BpdGFsaXplZA== R1BD IHNjcnV0aW4= 4buBbg== IFNa IEp1bGl1cw== IFNhYmI= ZWxvcg== KG1j 6YeM IFBpbnM= IG1vZGVyYXRlbHk= IEvDvA== b3JnYW5pemF0aW9ucw== IFNDT1JF IHNjb3Vy IGNob3I= IFVJRWRnZUluc2V0cw== IHNrdWxsZQ== X29wZXJhbmQ= LmdzdGF0aWM= L25naW54 IGdldFdpZHRo QmF0dGVyeQ== IFNldHRlcg== bUE= KFJlc291cmNlcw== X3BsYXlsaXN0 IG1hbmdv IE9SRA== YW5raW5k ZXdheXM= Pyks IEdMVVQ= IGp1c3Rl IHBheWVy KGNhbQ== IFRlYWNo IEZsdXg= IG91dHNwb2tlbg== IFN0cmluZ1V0aWw= IFpoYW8= LkhlbHBlcg== IGVzdGlsbw== IEFudGhyb3A= IEd1YXJkcw== Vm9jw6o= Olsn CXByb2R1Y3Q= dXBkYXRlZEF0 IGluc3BpcmVz cXc= QkxFTQ== YWtpc3Rhbg== IGN6xJk= LWhlYXJ0ZWQ= IENvbXBlbnNhdGlvbg== 0LjQsw== IGNvbWE= IEZpYXQ= IHhtbGh0dHA= IHJlZmVycmFscw== IHNwZWN0YXRvcnM= IFRvcw== aXNvcw== SU1QTEVNRU5U IGVudHJlcHJlbmV1cmlhbA== IFNjb3V0cw== IEFsb25l YnJva2Vy UHJvZHVjdElk IEtvYmU= IGNoYXVk L2ZlYXR1cmVz IHJvb21tYXRl IFByb2plY3Rpb24= YXZvdXJpdGVz X0pPSU4= IEFWQw== X3BoeXM= S2V5UHJlc3NlZA== LDw= IHVucmVhY2hhYmxl IENpdGF0aW9u W2NoYW5uZWw= c3RhcnRzd2l0aA== IEphZ3VhcnM= LklzRmFsc2U= bWVtYmVyc2hpcA== QXR0ZW50aW9u IHJlbW9kZWxpbmc= IENpbmR5 IGNsaW5pY2FsbHk= IG1pbGxlbm5pYWxz IM60 IHJmbA== ZW5ldA== IG9icmln IHZvbHVudGVlcmluZw== Q3JlZGl0cw== CWFy IHJlc2lzdGluZw== IFByb2R1a3Q= PT09Ig== IGNvbmVjdA== IHJpag== INeU IHB1YmxpY0tleQ== IG95 IEJ1dHQ= X21pc2M= IEJlc3Rl IFBMQw== IOafpQ== IEJveEZpdA== IiIu VGVzdEZpeHR1cmU= IGNoYXR0ZXI= IGRvb3J3YXk= eXNpemU= INGH0YI= SUNUVVJF PScuLi8= c2hvd24= X3dlYXRoZXI= IExvZ01hbmFnZXI= XX0iCg== IGNvbG91cmZ1bA== IHJ1bW9yZWQ= IGzDpQ== IHByb2Jz CWJ1aWxk IOWmgg== LnJldg== IGludGVyY2VwdGVk R2F5 TGlzdENvbXBvbmVudA== IHBpw6g= IkF0 IGFnYXI= IEd1bmQ= X0FFUw== 7IM= jpjsnbQ= IGF1dGhvcmlzZWQ= IENoYWxs X2xvZ291dA== Y3Jvbg== YXRlZ2llcw== cGVyc2lzdGVudA== IEFuZEFsc28= dXN6 X3Jlc3RhcnQ= IGRlY2lk emY= IHBhZ2luYXRvcg== b2xsZXI= IEhH T3BhcXVl c2VhdQ== IE9NSVQ= IFRoaWNrbmVzcw== IEFpcndheXM= X2RlbQ== eXRpYw== IHByb3Rlc3RlZA== IHVwcmlzaW5n IHN1aW5n IFNoZWxieQ== LmVuZXJneQ== IGFsbGVsZQ== LWJpZw== U3RyaW5nQnVpbGRlcg== IHNpZGVsaW5lcw== IFRV X2Fp LkhPUklaT05UQUw= IHJhZ2luZw== LnRvTG9jYWxl Lm11c3Q= eEZGRg== Lm5paA== ICd7fSc= 2YjYrw== IHB1bG1vbmFyeQ== IOWPkQ== IG7Dum1lcm9z IE5hcG9sZW9u X01ldGhvZEluZm8= bGFzdGluZw== IGV4cG9zdXJlcw== IGVtYmFyaw== X3VkcA== S2lkcw== X0NPTk5FQ1RFRA== IHdlZWRz UE9PTA== IGtyaWo= IG51aXM= Sk5JRVhQT1JU YWFhYWFhYWE= IO2P 5Lu9 IHJlcGxlbg== IFRyaWFscw== d2FzaA== cnV0 LWJlZm9yZQ== X0FUVEFDSE1FTlQ= VU5U XFZhbGlkYXRpb24= VG9u IGhlYWRpbmdz UHJvYmFibHk= IGZhYnJpY2F0ZWQ= U29ja2V0QWRkcmVzcw== IGxldHRyZQ== KSI+ IHZhY2NpbmF0ZWQ= Omh0dHA= IGNvbmRvbA== c2hlZA== IFNwaWVsZQ== 44OU RGVwbG95 LkNvbnRyYWN0 LWJv Iy8= IGludGVyY2VwdGlvbg== IGlzYm4= IG1hbm5lcnM= L2Fj CUNoZWNr X2Zn IGVuZFBvaW50 X3dlYXBvbg== IHVuaW50ZW50aW9u IHF1aXRz X01JQw== YXBpcm8= IGJhbGxvb25z IGdyYWRz bWFycmllZA== IDwqPg== IGRpc3RvcnQ= X01FU1NBR0VT IFBTQQ== X1BE YWxzZXg= IERpYWxvZ3Vl IHJlZ2lzdHJhdGlvbnM= IE9yaWdpbnM= IGZsYW5r PzsKCg== OwoKCgoK XS0k IERlc3M= LlN0YXR1c0JhZFJlcXVlc3Q= IGluaGFiaXRlZA== IGdpbHQ= IFNURENBTEw= LnRoZXRh JCQkJA== aWNsYXNz QXBhcnQ= Lmxpc3RCb3g= IEJlbGFydXM= IGRlbmVu IFN1c3NleA== CWRlbA== X0VD bmVhcmVzdA== XE9yZGVy UGFja2FnZXM= Zm9ybWVybHk= Ke+8jA== 6LSj U2V4eQ== IGhvcnJvcnM= Uk9BRENBU1Q= QXBwcm94 RGVzaw== QU1FRA== Lk5vcm1hbGl6ZQ== X3B1Ymxpc2hlZA== IERlYm9yYWg= 56eR IHBvdW5kaW5n IEVzcGVy IERhbmNpbmc= IExPT1A= IFJveWFscw== IGluc3VyZQ== IEludmVzdG9ycw== IHRoZW9sb2dpY2Fs QXBwb2ludG1lbnQ= IGNhdGVnb3JpY2Fs IGNyYW4= VmFsaWRpdHk= IHJlc3BvbmRlcnM= ICgpDQo= ZXBhZA== QklUUw== IExhbWJlcnQ= c3VtbQ== YWNpZGFk IGxvZ2dlZElu PVc= LkxvY2FsaXphdGlvbg== cmlkbw== JyIpCg== IFdlYlZpZXc= bG90aA== IHRlYXNlcg== IENhbmQ= IGVwaWxlcHN5 SW5jcmVhc2U= aXZpdHlNYW5hZ2Vy ZW50cmFudA== VGVsZWZvbm8= LmN1cnJlbnRTdGF0ZQ== IE5vZWw= ICAgICAgICAgICAgCQk= IGV4aGF1c3Rpb24= ZWxpYW4= IGNvdmV0ZWQ= LXByb2R1Y3Rpb24= KHN0ZGlu IHByZWZlcmFibGU= IG9mZmVuZGluZw== KGNvbW1pdA== CWFs IHJlbG9jYXRl IGFub21hbA== IERpc2Vhc2Vz IEZvcmc= IFdJRkk= IEtpbGxpbmc= cXY= IGZtYXA= IGxsZXZhcg== dGl0cmU= LmVtcA== LCRf YXZy Q2FuQmU= X21h IEhhd2tpbnM= X1JPVVQ= IGxvYWRJbWFnZQ== IFdhaA== IERlbXM= IGluZGVudGF0aW9u cHJlY2F0aW9u IOaWh+S7tg== IEJ1ZGFwZXN0 IHV0Yw== KGhvdXJz IHRyYW5ueQ== QW5z ennEhw== LnZlaGljbGU= Q29pbnM= IEJyYXVu CVJlc3BvbnNl IHZyaWo= IHN0cmFuZ2VseQ== IEZhc2M= XFNlc3Npb24= TW91c2VMaXN0ZW5lcg== IFJvbGxz 4bqnbg== LmdycGM= SW50ZWdlckZpZWxk CWFmeA== RG9ja0NvbnRyb2w= JVw= JTsi IGdpZ2c= IGJvcnJvd2Vy IGRpc3BvbmlibGVz X1JFQ1Q= IFRoaW4= IHBlYXJs eEZC IHJpcHBsZQ== IGtIeg== LmFjcXVpcmU= Ymlvcw== dGFibGVGdXR1cmU= L2FudGxy b3JhY2xl IEFSRUE= IGludGVuc2VseQ== IHByb3RvYnVm IExFTkc= IEhlYWRxdWFydGVycw== YXRoZWQ= TWluZA== aW5peg== CVBhdGg= WE1MTG9hZGVy IGFsbG9jYXRpb25z LnNsb3Q= UHJvY0FkZHJlc3M= IHJvbGVJZA== Oyc7Cg== IEJSRUFL IFBlcmZvcm1pbmc= Lk9yZGluYWxJZ25vcmVDYXNl LWds Omg= IGRvd25sb2FkYWJsZQ== IFN1YnNjcmliZXI= YW5zZQ== IGNoYXJhY3Rlcml6ZQ== IHNocnVnZ2Vk IHNjcA== IGd1c3Rh IG1ldGFsbA== IGxhYm9yYXRvcmllcw== IFhpbg== IE1vdG9yY3ljbGU= IGVnZXQ= IGZpbmFuY2Vk IE1PRElGWQ== KlI= QWk= IGV4dHJlbWlzbQ== IEhhbGlmYXg= IHZhbW9z JG51bQ== IGltcGFydA== YnJpY2s= IOexuw== IGZ1ZXJh IFJPTEU= LkNvbmN1cnJlbnQ= X09QRVJBVE9S IGN5bmljYWw= IFJlZ2luYQ== Z2V0RXJyb3I= 2KM= YnN1Yg== SmFwZ29sbHk= IGluaGliaXRvcg== SnVzdGljZQ== 44U= TmV2ZXJ0aGVsZXNz LXNlbQ== Lm9nZw== cmVxdWVudA== IG5vc3Nv SGFpcg== LkxpYnJhcnk= bWRpcg== IGhhcmk= IFRhcmE= IFBvcnRv bmV0aW5ldA== IGFsbGlhbmNlcw== ZWxsc2NoYWZ0 X1N1cmZhY2U= CVZpZXc= YXR1cmRheXM= IHBvcGNvcm4= X1BBUlNF IFJpcHBsZQ== IHBoYW50b20= IG1vbmRv LmNyZWF0ZUNsYXNz IEtvcmVhbnM= IGZhc2U= IFdvY2hlbg== IEVxdWlw LWVpZ2h0 IFN0YXRlbWVudHM= IGFkYXB0aW5n UHJlY2lv IEN1cmU= IGNhbWJpYXI= 5rCR IGhleGFkZWNpbWFs c3BpcmFjeQ== YmlsdA== IFl1Zw== IC0tLT4= IFBQQw== aXN6 YWtlRnJvbU5pYg== IERpc3A= IEF0aGxldGljcw== IG5pZ2h0Y2x1Yg== R09PRA== LnNldEdlb21ldHJ5 K1s= L3NlbmQ= IGJpbmFyaWVz IHLDoXA= OnJlcQ== LWNvbnN1bWluZw== ZXJ0aW1l VVBEQVRFRA== X251bGxhYmxl VklO dWxpYQ== Y3lhbg== IG1pc3VuZGVyc3RhbmRpbmc= b3JpY2Fs ZGVncmVlcw== TGVhZGluZw== LkFS aWNrZXN0 TnVldm8= dWZvcmlh IGdvb2RpZXM= IGZvcmVz KCk8PCI= YWRlbWlj QWN0aW9uQ3JlYXRvcnM= c2VydmVybmFtZQ== KG50 ZGJDb250ZXh0 IGFpcmJvcm5l IGV4aGliaXRpb25z Y2VsZQ== IHRlbGE= PE1vdmll KCd7fQ== RXhwbGFuYXRpb24= IGhPYmplY3Q= IGJlYXJlcg== ZW5zaWJseQ== bmlw IEplcm9tZQ== IENa IGRhdGVGb3JtYXR0ZXI= w6ljaWFs U2V0TmFtZQ== b3VjZQ== IHJlZ3Jlc3M= JkM= KCkiPg== LnNldFByZWZlcnJlZFNpemU= IE1JRA== IEFsZXNz IGhvcnNlcG93ZXI= IGF0bQ== IFBhY2thZ2luZw== IGNpcGhlcnRleHQ= UmVxdWVzdE1ldGhvZA== IGJlaWRlbg== 6KM= IFBPVw== LldyaXRlSGVhZGVy ZGlyZWN0b3I= LWJ1dA== 44Gg44GV44GE aW5jZXI= X2Ru ISEhISE= IG1hbnVmYWN0dXJlcw== LlRleHRVdGlscw== IGNvbnNjaW91c2x5 IGJvdW5jZWQ= Y3VsdHVyZQ== IFNwYXI= IFBpcGVy LnByZXNz LW93bmVy IGV2YWx1YXRvcg== IFNUUkVBTQ== LlBpY3R1cmVCb3hTaXplTW9kZQ== IHN1Z2Fycw== U2NyZWVuV2lkdGg= IG5leHRTdGF0ZQ== IGl2b3J5 IGJydW5jaA== ZGVuc2l0eQ== X09X IENvcm9uYXZpcnVz IENGUg== YmFr XENhdGVnb3J5 5pWw57uE IGludm9rZXZpcnR1YWw= fSgpCg== IHN1amV0 LW1hcmtlcg== aXNkaWdpdA== IE1vYmls IEpzb25SZXF1ZXN0QmVoYXZpb3I= X1JFTU9URQ== LmV4aXN0c1N5bmM= IHJpY2hlcw== LnByZXNlbnRlcg== IGdsQ29sb3I= IGhhbnlh IGZvcnRyZXNz IGZsYXNoZWQ= dml6 cmVxdWVudGx5 YnVhdA== JGNvbg== Pnw= LkZ1bmM= IGh1bW9yb3Vz dWVt LlpFUk8= IFNUTA== IEJ1aw== L3NhbXBsZQ== IEdyb3M= UmVjaXBlcw== IGluZmxhdGVk IHN3dW5n OkY= RmFjaW5n LlRoZW1l 0L3QuNC6 IHNwbGVuZGlk IHJlcXVlc3RJZA== LkNlbnRlclNjcmVlbg== L2F1dG9sb2Fk ZW1iZWRkZWQ= X2RlcGFydA== IFBvcnRz 4LmD 0LDQudC0 ZGlzY3Vzc2lvbg== X2NvbnN1bQ== IHNjb3V0cw== IGNvbGFib3I= LlN0YWdl Lm5hbm8= ZWxkb3Jm IGdlbWFjaHQ= ICAgICAgICAgICAgICAgICAgICAgICAgICAK IHBvbGljeW1ha2Vycw== X1BLVA== LFRo b2t5 X1VJRA== UGluZw== IG9yY2hlc3Q= IG9wdGljcw== dWhhbg== IFhPUg== IGVzcGHDsW9s IEFkaWRhcw== cm5n bWFucw== LnZzdGFjaw== IGdldGF3YXk= IGhpZXJhcmNoaWNhbA== YW5vaWE= IEJpdG1hcEZhY3Rvcnk= cmVhbG0= CWFw X2FwcHM= LWRpdmlkZXI= LmRyYXdlcg== IEhBUkQ= J107Pz4K LXBhY2tlZA== 5rK7 X1NUUlVDVFVSRQ== W1k= aVBhcmFt KGVx IGVuY29tcGFzc2Vz IFwKCg== LT5b JnV0bQ== Z3JvdXBvbg== c3RyYXRl RFk= b21vcnBoaWM= Jzpb IGdyYXZpdGF0aW9uYWw= IE1pY2hh IFRlbmNlbnQ= IGNvYWNoZWQ= 7Lac 0YPQvNC10L3Rgg== L21vYmlsZQ== TW91c2VEb3du YnVk IFlhcw== IFByb3ZpZGVycw== Tlo= CXJlcG9ydA== ZXJybXNn IGltYWdlUGF0aA== YWN0ZXJpYWw= IE1hbmdh d2lja2x1bmc= KHVzdWFyaW8= IikpOw0KDQo= LyoqKg== IG9yZ2FuaXNl SW5kZXhlZA== X1FVQUw= KFB5T2JqZWN0 IHN1cnJlbmRlcmVk UE9DSA== IE5PVEVT XFwi LWpvYg== IHNldmVudHk= IyMjIwo= IE1hbm9y IGRvd25yaWdodA== IHRpbWVmcmFtZQ== aW5zdXJhbmNl Y2hlY2tlcg== IFNFQ1JFVA== IGVjaG9lcw== IENhcm1lbg== LnNldEhvcml6b250YWxBbGlnbm1lbnQ= IGlzQ2hlY2tlZA== IFRPUg== X25u KCco RmV0Y2hSZXF1ZXN0 IFByaW50ZWQ= Rmx1aWQ= IFNUQUNL R0VT YWlnbmVk aWdvcg== LlVua25vd24= Q0JD IENhcmxzb24= LlVSSQ== IHBsaWdodA== L3N0YXJ0 IFBlcnNvbm5lbA== IFBSRUZJWA== LCoq IGxpbWl0ZQ== X2hlYXQ= Je+8jA== IERvbm5l Z2V0Tm9kZQ== IFNjaWVudG9sb2d5 IGNvbWV0 IHdlbmln QXNpZGU= IE1QRUc= Jz8= dmFyaWFibHk= LmVuZERhdGU= IHVuY29udA== IFNjb3Jlcw== IExvZ2luRm9ybQ== LmdlbmVyYXRlZA== LGNo LW1hcg== IE5lZA== IGV2ZW50SWQ= K3A= IFNJTg== L3Jlc2V0 LlJFQUNU IE1lc3Np X1JBTks= LndyaXRlRmlsZQ== IGNyaXBw ZXN0aGV0aWM= RVJTSVNU IHJlaW1idXJzZW1lbnQ= Q3VycmVudFZhbHVl IHVuaW4= RG93bkxhdGNo IHBhZGRpbmdSaWdodA== IHN0b2NrZWQ= Lycu IHJlcGF5bWVudA== dHJhaw== L2JhY2tlbmQ= INC40LfQvNC10L0= Q1NS IHByZXZlbnRpdmU= IHBhbnRhbGxh X3RyaW0= UGVkaWRv aG9zcGl0YWw= IG1hbmFnZWFibGU= cm91dGVQYXJhbXM= dGV4dHVyZXM= Li4uLi4uCgo= IHPDqWxlY3Rpb24= TmFtZVZhbHVlUGFpcg== IHBvbGx1dA== TW9kZXM= IExhdWQ= amF5 IFVycw== IHNpZ25lcg== IEpK IENoZXJva2Vl X0VYSVNUUw== IGR3YXI= ICgkKCcj IHJlZWY= Pnsk IEJheWxvcg== IE1vZGVsU3RhdGU= LV8= IFN0cnVjdHVyZXM= IHNvdXZlbnQ= U3BlY2lmeQ== KHBpcGU= IGZyYWNraW5n IEdQQQ== IGJlbGU= CQkJCQkJCSAgIA== IE1pbm9yaXR5 IHR1ZA== IG9wZW5uZXNz IElsbHVzdHJhdGVk IG94aWRhdGlvbg== IE5L CVVwZGF0ZQ== IEVNUw== IFRlZGR5 IGdlbmVyYWxz CU1hdA== IHJhZGlvcw== IEFudGlxdWU= Y29ub215 IFNxdWFkcm9u KScsJw== 5aOw IHlvdXJl IE1haW5QYWdl IGJlaGF2aW91cnM= ZW5naHQ= KEAiJUAiLA== IHRlc3RjYXNl IENvbXBpbGF0aW9u IGZsYXZvdXJz IEV4dGVuZA== aWxsYXRvcg== IGNvaA== IHNwbGluZQ== IEtH LXBheQ== IGNvbW11bmlzbQ== IEJ1c2luZXNzZXM= b2NraW5n Lk1heExlbmd0aA== YXNzYW5kcmE= cXVpcmluZw== YWRkZW4= IEplYg== X2ZhdWx0 W2ZpbGU= IHByb21pbmVuY2U= ZGlzY2lwbGluYXJ5 4oCUdGhleQ== X2V4dGVudA== IFZJQw== IGVudGFpbHM= LnBhcnRuZXI= IGhpcHBvYw== TGVhZ3Vl 55S3 d2lwZQ== LXNwaW5uZXI= IHNhbHV0ZQ== IFN1cmdpY2Fs KG91dHB1dHM= d29ya2Vk W3N0cmxlbg== YXBwb2ludGVk IEhlZw== IEFDUEk= KFte dWFsYQ== X3RvbA== IFJpdA== LlBheW1lbnQ= a293c2tp IHdhbG1hcnQ= cmVxdWlyZW1lbnRz IEZJTlNFUQ== X0JBQ0tHUk9VTkQ= IE9zYm9ybmU= KGVycm9yTWVzc2FnZQ== UmVwb3J0aW5n IGF1Y3Rpb25z IGNvbWJvcw== IE5vdGljZWQ= X29jdA== IHByaW1lcm8= dGFpcmU= X2hy INC80L7QtA== IGNvbnRyYWRpY3Rvcnk= PSJA YWNoaW5lcw== KG9wdGFyZw== IFBlbmd1aW4= IEFiYmFz IHN1YmxpbWU= IHBhZ2VhYmxl IERlZmVuc2l2ZQ== IGRpc3RpbmN0bHk= IEF1dG9tYXRpY2FsbHk= VW5kZXJzdGFuZGluZw== RXF1YWxpdHlDb21wYXJlcg== Z290YQ== ICI6Og== IHB1bHZlcg== IEJhdHRsZXM= IHVucGFyYWxsZWxlZA== VENIQQ== IGNvbnN0cnVlZA== LWFmZg== IHByZWN1cnNvcg== LWxmcw== IG1hZHVyYXM= IERhaXN5 IEFyYmVpdHM= Lk1hbmFnZW1lbnQ= CUlu IHJvYmVz IHNww6lj 4oCcKA== IG1hdGVybml0eQ== ZXh0ZW50 IFNwYWNlcg== RGlkQXBwZWFy CXVz LmdldFJlcXVlc3REaXNwYXRjaGVy KGNvbHM= IHBsdW1tZXQ= 7IU= IHsKCgoK w6lyaWNh IFNpemVz LmVudW0= LkhpZ2hsaWdodA== ICEhfTwv QVRURVJZ IFNvcm9z R0xmbG9hdA== 44KE IEplbm5pbmdz Pz8KCg== IFJvbWVv ID8+CgoK V2Vubg== IGNsaW1heA== IGNyZW0= X3RoYXQ= W+KApg== X2RvbWFpbnM= X1JFUExZ IGNvbXBsZXRh VkVTVA== X3BhcnRpY2xl IHNvcA== IGZhdGFsaXRpZXM= aW1wbGlmeQ== IFNLRg== IGluZnVzaW9u IEphdmllcg== IGJhbGxldA== IGFtaWdv LndhbnQ= IGNvbGxhZ2Vu IExhd3llcg== LlN0YXRlbWVudA== LnJ0 YmFhcg== RW5kUG9pbnQ= IEJlaw== U0hJUA== IHBhdHJpYXJjaA== IEF1bnQ= X1RN IG3DrW4= IG1hc3RlcmVk V1hZWg== IGVzcG9z PWxvZ2dpbmc= IHJpZ2h0ZW91c25lc3M= dG9ycmVudA== IGJzdA== X0NIQUlO IG91dHNraXJ0cw== KHJvdGF0aW9u ICcuJyk= aWdyYW50cw== K2xzaQ== IENDVFY= X1BIQVNF LmF6dXJl X1Byb2Nlc3M= dmFl IFRyb3BpY2Fs IEFua2FyYQ== aW1hZ2VWaWV3 X1JVTk5JTkc= ICopX18= 4bq/bg== KGNsaQ== c2NhdHRlcg== IHNjaGU= UmVnaXN0cmFy IGFpcmluZw== IHB5cGxvdA== aXNpw7Nu L2N1c3RvbWVy IHNpbXBsZW1lbnQ= IGNsYXNzeQ== IERXQw== IEJhc2hhcg== IERFVkVMTw== IFZpY2s= YXZhaWw= IEjDtg== X2V4dGVuZA== ZHJGYw== LmlzTm90Qmxhbms= IHBsYWlz fH0K IHBvcm5vZmls bGFicw== IGhhdXM= IG9yaWdpbmF0aW5n IHN1cnJvdW5kcw== IFFVQUw= bWVn L2xvZ2dlcg== W29iag== IGlycmVzcG9uc2libGU= IFB1YmxpY0tleQ== SE9ORQ== Oicv aWJveA== IEZWZWN0b3I= fHsK YXRhbG9hZGVy aGF3a3M= SERS IGVzY2FsYXRpb24= IFBvZHNEdW1teQ== ZWxpdGU= IHByZXN1cA== Q2FjaGVk Pkc= Lm9wdGltaXplcg== IFZpc2libGU= tIA= IG5lbg== IHBjcw== IElkbGU= W0FueQ== IGtleWJvYXJkcw== IENPTVBPTkVOVA== IHRpdGFuaXVt KG11dA== IExlZGdlcg== IHByb3NwZXJvdXM= ZXRyb2ZpdA== X0xM X3BhdGllbnQ= IHBkYXRh IGtvbnRha3Rl U3dpcGU= IGNoZWVyZnVs IEhvbmR1cmFz Il1bJA== IGhlbW9ycmg= IjoiKw== IGxlYXNpbmc= IGluc3RhbGxz IFBheA== IExvZ2lzdGljcw== IGtpbmV0aWM= IFBob24= X21vdmVtZW50 CWJ5dGVz IGNpbmNv IE1hZG5lc3M= Iikr IEpF X2lq U2NlbmVNYW5hZ2Vy IEJ1c3Q= cHRlc3Q= YWVh IGJlc3Nlcg== w61n 0LTQuNC9 KHRhc2tz KCIoIg== c2V0VHlwZQ== KG91dGZpbGU= CXJlc2V0 IEFSQw== IG3DunNpY2E= IFNoZWxm IG1pblk= cGNo IHdlaWJlcg== aXNzb3I= IHRyb3V2ZQ== CUJ1dHRvbg== IHJlZ2VuZXJhdGVk xaNp aW1hY2hpbmVyeQ== YmxvY2tpbmc= LmRhdGFUYWJsZXM= X2ZyYWM= IEFkdmFudGFnZQ== LnZpc2l0TWV0aG9k 6YeN5paw IGV4dHJhcG9s IHRlYXNpbmc= IEhpdGNo IEdlZWs= RVNDTw== IHdpY2g= CWF4 X2RlY29y IHNjcmVlbldpZHRo IFNvcGhpYQ== Rm9yZ290 LnVuaQ== IFZlbnR1cmU= X2NvbGxpc2lvbg== IGxhd21ha2Vy KEVkaXQ= YmxlcnM= IGdldE5leHQ= 4oCUeW91 TWVkaWFQbGF5ZXI= IEhvcmRl IENvbmdyZXNzbWFu b2JzZXJ2YXRpb25z CXByb3BlcnR5 IDwtLQ== Q3JlYXRlZEF0 dWJ5dGU= IHF1YXJhbnRpbmU= IGRpc3RyZXNzZWQ= X0FQQg== IEdvb2RtYW4= 44Kr IHJlY29tZW5k X1BSSU5URg== RE9ORQ== QmluZGFibGU= cnN0cmlw Y2VudGFqZQ== IFVuZXhwZWN0ZWQ= IFNDSE9PTA== IFByb2Zlc3Npb25hbHM= IEdQVXM= TGVzc29u RXhjbHVzaXZl IGF0cmF2 IERhbms= IExhd3llcnM= IFdhbHRvbg== Pltd IGFsb3Vk PSIuLi8uLi8uLi8= IGRlYmF0aW5n IEFWRw== X1ZPTA== L2NnaQ== LmRlZw== Omc= LkluZm9m TWVhc3VyZVNwZWM= LnNvbmc= bXRyZWU= dWxscw== Sm9yZGFu IENvdmVycw== IGF0dHJpYnV0YWJsZQ== IGplZGlz aWF0cmljcw== IHJvdHRlcmRhbQ== IG1lbGQ= IENvbnRlbnRUeXBl IG1hbnRsZQ== IGFsaWNl X2R1cGxpY2F0ZQ== L0ludGVybmFs IGZpbGVzaXpl CWZpcmU= cmVzZQ== b25kZXJl IGZhbWlsaWFyaXR5 IENyZXN0 IGthcm1h IHRvcmlubw== IG1lc2E= L3RlbXA= IGNoaXI= IE92ZXJmbG93 IHRlbmVtb3M= dW5paw== TkVYVA== QWxsZQ== IG54dA== TWFydA== IGF0bA== IHBlcmlvZG8= X3lvdQ== IH0pKS4= aW50ZXN0aW5hbA== LkFkYXB0ZXJWaWV3 IGhlc2l0YW50 IGNvbXBhcmF0aXZlbHk= LlVJbnQ= KHZpZXdNb2RlbA== IHNhbmdhdA== IFJlc3BvbnNpdmU= IFphY2s= 4oU= SkFWQQ== IEZ1bGxlcg== IOKdpA== LkNvbnN1bWVy IGFuaw== IHJlYWN0b3Jz ZnVjaw== X3JhdA== IHNlc3Npb25GYWN0b3J5 X2JhY2t3YXJk IHNjcmFtYmxlZA== CXRo IGluc2Vuc2l0aXZl IGNoYW1wcw== IG5naW54 IGNvbmhlYw== IEphc3Blcg== LmZt U3RyaWN0RXF1YWw= YWNoc2Vu LU5vdg== bGFzc2Vu LmludGVncmF0aW9u KGxibA== Q29tcG9zZQ== IEZvbg== w5o= R3JhdGlz IExpbWU= IEFkYXB0ZXJWaWV3 IHBvaXNvbmVk YW5jaG9ycw== 6K6+6K6h J10/PiI= IHByb2N1cg== SXRhbHk= Lk1PTlRI IExVQQ== IExpdGh1YW5pYQ== IEhlYWRz X0NIVU5L IFBVU0g= QXNwZWN0UmF0aW8= IHdlZw== IHZpZHM= IFdlaW4= CUlOVA== c2Vzc2lvbklk SW5kdXN0cnk= IGRlbm91bmNlZA== SktMTQ== IFZhbmVzc2E= LklkZW50aWZpZXI= cHJvcHJp INC40LM= IHTDqWNu IG1vc2FpYw== U3RyZWFtUmVhZGVy LVRo Zm9ydGg= IGFkaGVyZW5jZQ== YmF0ZQ== IGtuaWdodHM= c291bmRz IHNhbGxl T01FVA== 44K544OI LXRt IFJoZQ== LkZpbGVPdXRwdXRTdHJlYW0= 5YiG57G7 IEVORw== aG9saWRheQ== IENvbmdyYXR1bGF0aW9ucw== KSgK IGFnZ3JlZ2F0ZXM= SE9PSw== ZXdpcmU= U2VuYXRvcg== IGVtYmVkZGluZ3M= ZXB5 KENPTQ== IHJvYmJlcg== w6R0ZXI= d2FuZw== X3RlYWNoZXI= IHJlc2VudG1lbnQ= IGxldHR1Y2U= ZXJyZXVy KGlj IFRhY3RpY2Fs IENvbnRyYWN0cw== IG3Dpm5k IHNpdGlvcw== IGJhc3RhbnRl IG51ZXZvcw== CU5kckZj IHByaXZhdGVLZXk= dWNjaA== TU1kZA== IOi+k+WHug== dW1iYQ== QGZvcmVhY2g= OiIpOwoK IHNsaXBwZXJ5 IEtleXN0b25l IHBpb25lZXJpbmc= X3RyaWFuZ2xl KCIK CQkJCQkJCQkgIA== IEludGVydmVudGlvbg== U0NJ IGNKU09O IHRlcm1pbmF0aW5n 67mE IGJhYnlz U3Vic2V0 IOuh IHNldWxlbWVudA== IG11ZXN0cmE= RW50cmU= 5Lul5LiK bmdv ImJ5dGVz UVJTVA== IHlwb3M= cGVyc29uYQ== IERlcGxveQ== Y2Vl IOCu LmdvYWw= IGhhYml0YXRz IGlzQWRtaW4= IGV4cGxvaXRpbmc= IHZlbnRpbA== IEJhbGxz 2KfYqA== IG1pbmRmdWxuZXNz KGt3YXJncw== IHJlc2VtYmxpbmc= IGNob2ly IG9uQmFja1ByZXNzZWQ= IFNFQ1VSSVRZ L2d0ZXN0 IGp1c3RpY2Vz IGludGVnZXJWYWx1ZQ== YmxhaA== IEFpbQ== X2ZpbmFsaXpl a2Vo IENvbXBsZXhpdHk= IGF1Z3VzdA== Z2V0RWxlbWVudHNCeVRhZ05hbWU= IHByZWFjaA== IHByb251bmNpYXRpb24= IFRyYXNo LXBlcmNlbnQ= X1BSSVY= IEh1bnRz IEN1cnNl dWVsbGVu IGhlYXZ5d2VpZ2h0 WGk= CXNlbGVjdGVk IE1jQ295 5byC5bi4 fD0K IEJhdHRsZWZpZWxk SXRlbUltYWdl IGRlZHVjdGlvbnM= IEVsZW1lbnRhbA== KCkpOy8v IEJ1cms= fSkNCg0K c3dpZnQ= L2Z1bmN0aW9u VXN1YWxseQ== X1N0 X2ZlYXRz IElzVmFsaWQ= IHphZA== SW1hZ2VDb250ZXh0 IGNsYXNzbmFtZQ== IGRvbm5lcg== IC0tPgoKCg== IG1vdG9yY3ljbGVz KycvJys= IHNldEJhY2tncm91bmQ= XENNUw== LkFsbEFyZ3NDb25zdHJ1Y3Rvcg== IExleGluZ3Rvbg== LmV4YW1wbGVz IFB1cnM= UHVzaE1hdHJpeA== ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 LmFkZFRhcmdldA== cG9yYQ== RnVsbHNjcmVlbg== IGdvb2Y= aGxlbg== w6RnZQ== IENVUkw= IEludGVyZXN0aW5n IHJldHJpZXZlcw== X09iag== aW5uZXNz LS0tLS0KCg== LnRzdg== KElN IEJyYXZlcw== X0lTUg== b3N0aQ== 4buT IEV4dGVyaW9y IENvdXJ0bmV5 IHJlc2lkdWVz VGllcg== Lio7DQoNCg== OmJsYWNr d2ViVmlldw== InBhdGg= IG1hc2E= XSE9Jw== IE1hdGNoaW5n ZHVy SnZt PWNvbnRleHQ= X1JJTkc= IHByb3BvbmVudHM= IFFTdHJpbmdMaXRlcmFs IGluZmxhdGU= PEZsb2F0 IERvbm92YW4= KElP SE9SVA== IGRpc2FncmVlZA== aXNreQ== YXNraW5n X1ZFQw== SEFTSA== IG1hdGhz IExhc3RseQ== IGRlcHJlc3Npbmc= LmVzdGFkbw== IGhhbG8= X2JsZQ== IEdhYnJp PFRSZXN1bHQ= IHRyb29w IGVudW1z IFNFUklBTA== bnVtZXJ1c2Zvcm0= IENoaWM= LWV4ZWM= IGJhY2tsb2c= IEJyYXZv UG9wTWF0cml4 IEJydXQ= IGJsb3F1ZQ== IGp1bml0 IFdoaWxzdA== 0YbQuNGP ZmV3 rIE= IFZhcmlldHk= IFBvbGl0aWNv ZXhlbXBsZQ== VXNlckNvbnRyb2xsZXI= IGhhcmRlbmVk YWtlbnM= IFNlZWRlcg== b3dhcmRz Y2hlY2tzdW0= IFNhaQ== VkVSVEVY UmVzcG9uc2Vz cGxvZGU= LWhhcmQ= U3BlY2llcw== UmVuZGVyVGFyZ2V0 X0NIQVQ= IHNob3djYXNlcw== aXRpbWF0ZQ== X0ZPUkVBQ0g= X0NPTkZJR1VSQVRJT04= ZWJh IEVzc2VudGlhbGx5 KHBvbHk= LWxlYXJuaW5n IGfDpXI= X3N1Y2M= KE1hdA== IGNvaWxz YnJhcw== IGFtYQ== X21hdGNoaW5n aW5kdXN0cnk= IE5vcnJpcw== IEV4cG9zdXJl IHBlcnZhc2l2ZQ== IGRleg== 5peP IGVsZWN0cm9uaWNhbGx5 RERS IFN0aW0= INGE0LDQudC70LA= IG1hZHJl bmVtb25pYw== a2ljaA== IEZyYWdlbg== IFJ1bmU= IG9uVG91Y2g= CXNjYWxl IFBoYXJtYWM= IE1hbmRhdG9yeQ== IFN0bw== IEJyYW0= X0xlZnQ= X1NUQVI= KX19Ig== c2Npb3VzbHk= 0LXQt9GD0LvRjNGC 56uZ Z3Jhdml0eQ== K0M= fTw= QU5HRVM= IGNvbnRyYWN0aW9u IFdhbGxwYXBlcg== LkZhY2U= IHByw7N4aW1v LmZpZw== bGFuZ2xl INC/0LXRgNC10Lw= X0NSRUFU QmFzaWNhbGx5 IGF3YWl0cw== IENIQVJBQ1RFUg== IHZwbg== SG9u IGV2aXRhcg== IFVuZG8= UVM= IEVkbXVuZA== IG1pcmFjbGVz IFRpbWluZw== IFZlbmV6dWVs LlNxcnQ= b2lkYWw= IGVycnM= LS0tLS0tLS0KCg== IERFQ0xBUkU= IHZpZ29yb3Vz YXJnb24= IGFnZ3JlZ2F0ZWQ= IFNoYXJrcw== IEN5cnVz IHJlcHLDqXM= bWF0Y2hlcg== IGd1aUFjdGl2ZQ== PyIpCg== IEpOSQ== LmNoYXJzZXQ= J3w= IGdvYXRz aW5kcmU= LmdldERheQ== IHBhcnNlcw== IElocmVu X18uJy8= aWxlZ2Vz bmF2aWdhdGU= IEJ1ZmZ5 UEhQVW5pdA== IG1hc3Nh YWx0YXI= JyldLAo= IG92ZXJzZWVz IHt9DQoNCg== IFdMQU4= Y2xpcGJvYXJk X0luc3RhbmNl IGdsYWRseQ== KHNlcmllcw== IHZhZA== IGdldFBhZ2U= W29m LkludGVydmFs aW51cw== Y2hhckF0 b2xlbQ== YWludGluZw== LkFG X21pbm9y X0lM O3k= IFRlbGVjb20= IFBvbmQ= IG1tYXA= L14= IFlhaw== IFJhYmJp ZW5vcw== CUNvbnRleHQ= LnZlYw== KEF0dHJpYnV0ZQ== IGNhdGVnb3JpemVk IGRpYWJldGlj KHJhbms= IHBhw61zZXM= IEAiIjsK IGppa2E= YXJzaXR5 IC8o LkhlbHA= LWJhbm5lcg== IEJ5cm9u IHVucmVhbGlzdGlj IHxf IFN0b3B3YXRjaA== IGV4ZW1wdGlvbnM= L2NhcmRz IHRvc3RyaW5n bmdpbmU= IHNwcmF3bGluZw== IGx0ZA== IFVuZGVyc3RhbmQ= INGC0LXQutGB0YI= ZXdpdG5lc3M= IGNhbGxCYWNr LVllYXI= RnVlbA== PSo= IGludmVudG9y IGJlc3RzZWxsaW5n IGhhcmRuZXNz IFR1cw== IGtleW5vdGU= IGJlYXU= X2Fib3J0 IHByb3Bvcg== IGNvbWVyYw== X1JFRkVS UGFz aGF2ZW4= LWZpeA== Q2Fub25pY2Fs IGxvb2tvdXQ= RXhwbG9yZXI= IGNlcmNv KHNlbnNvcg== IEpzb25TZXJpYWxpemVy IHZva3Nlbg== IGJyaWdodGVzdA== IHN0YWJiaW5n LkJl LmFkZFByb3BlcnR5 IEh1bXBo IGlzQXV0aGVudGljYXRlZA== 5rKh IHBvcmVz IGplZ28= IFNob3dpbmc= ID8+Ij4NCg== X0NPU1Q= aWxpbmVhcg== IFdvcmtzcGFjZQ== IHNwZWw= YWdvZ3Vl IE1pbGxlbm5pdW0= IFBvcHVsYXRl IG5pZA== LnBhcnNlQ29sb3I= U29sYXI= IEdhZA== IOykkQ== IEthbXA= CXJt IGJlbno= IEhvbmVzdGx5 IGVsZWN0cm9kZQ== IFByYWlyaWU= IFBST0ZJTEU= IE9yaWVudGFs IE9MRUQ= L2NvcHlsZWZ0 YXdhaWk= KHByb2R1Y3Rz KVw8 LWNyZWF0ZWQ= Lk1hbnlUb01hbnk= Ikhvdw== INCy0YvQvw== IG1pdG9jaG9uZHJpYWw= X3Rlc3Rpbmc= KGNyZWF0ZWQ= IGdldEZpZWxk X0VWQUw= XS4i IEZTTQ== IFJpdGE= IOWPguaVsA== IGPDtHQ= IEluc2lnaHQ= CW15c3FsaQ== X3RpbWluZw== SURP KSkpKSkK Q09WRVJZ LmltYWc= Q0RG bHVzdA== aWNrdA== X0ZQ LicsJw== Z2Nj IGt1cno= X3B3bQ== IG9kcG93aWVk IEJhcnJpZXI= LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo= cGFr LUlzcmFlbA== IFJ1dGdlcnM= IHNlbGVjdGVkSXRlbQ== IFJhbWlyZXo= RmFybQ== IGNhbGVuZGFycw== Z3ppcA== IGJsb2NrYnVzdGVy IFBseW1vdXRo 55yM cmVzcG9uc2Vz LkRpYWxvZ0ludGVyZmFjZQ== LWdyYW5k IGdldFNvdXJjZQ== IGRlanRpbmdz IHRpZXRlbg== IGNvbmRlbW5hdGlvbg== IGNvbnRpbnVhcg== Lk1vY2tNdmM= L2VuZ2xpc2g= IE1lZGlhUGxheWVy Y29tcHV0ZWQ= IENsaXBwZXJz KGRlbGVnYXRl LlNsZg== IOuhnA== IFRpZGU= IGlocmVt IFdhbg== 0YPRjtGJ fT48 RGlzY3Vzc2lvbg== IHdhdHRz LW1pbnVz IEp1bGlldA== 6ZuF IGNvbmNsdWRpbmc= YW5kc2NhcGU= IMO6bHRpbWE= IERFUlA= IHNpZ25VcA== IFNlY29uZGx5 V0FJVA== bGRz LmNhbGxiYWNrcw== KGhvdXI= aW1hdG9ycw== dm9sZW50 QUFG ZWRyaXZlcg== IE1hdGhlbWF0aWM= PFR1cGxl IC8+Jw== e2o= X0FCT1JU RXRoZXI= IGVkdWNhdG9y IHByZWNhdXRpb24= IGZpbmdlcnRpcHM= Z2V0VmFy Y2FtYXRhbg== LWRlYnVn IFJBRg== W2FyZw== IHJhY2Vk IHRzdW5hbWk= LmZsaW5r IGdseWM= dWtv IE11bHRpcGx5 IHJlZGlzdHJpYnV0aW9u QUdP IFJvdXRpbmU= IG9wcg== KGxvd2Vy IEZ1bmt0aW9u LmRr IGVndA== X0JBU0lD c3lzY2FsbA== IExTRA== IER1cGxpY2F0ZQ== X3NlbGw= IGVycm9ySGFuZGxlcg== X2lwcw== IGVydg== YW5uaWU= KHJlc291cmNlTmFtZQ== IGJvdHRsZWQ= IGNyYXdsaW5n ZWdtZW50 LnNldFRhZw== IHJzcw== IFF1YXJyeQ== X2V4YWN0 Lmp3dA== IEJvYXJkcw== b3Bp IG5hc2Fs IFhZWg== LnVk Tm9ydGhlcm4= IGFjdGl2YXRpbmc= ZWR4 b3ZhaA== IGluZHg= QWxlcnREaWFsb2c= IHRpZW5lcw== YW5ueWE= X3Bhbg== KGRlY2ltYWw= LkRpY3Q= IHN1YnNpZGlhcmllcw== UHJvZHVjdE5hbWU= RmV3 ZGF0bw== b2RpZWQ= LXVuZGVy IOqygw== 54mI5pys YXRpc20= W01hdGg= Lic8 KGluZmlsZQ== IGRlbm90ZXM= JGNsYXNz X1NFQ1VSSVRZ IHNld2FnZQ== bWVsb24= KENoYXJhY3Rlcg== L2dpdGh1Yg== IGdsYXJpbmc= Lkd1aWQ= X3NwYXJzZQ== IE1hcmdpbg== X2Rucw== IG1laW5lcg== IGxlZnRpc3Q= CWxvYw== YWJ5dGVz IGVxdWlwbWVudHM= ZXhwbw== IFNvbWVyc2V0 RUs= 5o2i IGxlY3R1cmVy IG1lbWlsaWtp 5qC4 57Sg cHJvbg== OnBvaW50ZXI= Ym9ycm93 IFByb3RlY3RpdmU= X2Nm INCV0YHQu9C4 YnBw JzsKCgoK YXR1cmFsbHk= X05BVg== IHBlcHRpZGU= PmQ= IGlmc3RyZWFt X0ZBQ1RPUlk= Jyk7Ly8= am9pbmVk bW9uZw== IHRpbWVzcGVj IGRlc3RhYmls IGF1dG9w LWxpbWl0 cHVibGljYXRpb24= IERlbm4= Lk1lbW9yeQ== KHNrYg== IEFuYWhlaW0= X1JFVFVSTlRSQU5TRkVS b3VldXI= KF8oJw== bGVndA== aXN0aW5ndQ== CXByaXY= IHJlZGlyZWN0cw== TXQ= IGFsbGVlbg== IFBvaW50Rg== IG9taW4= IGNpdHQ= IFRhZ2U= IFdhbGxz 4buJ IG9jY3VweWluZw== eEJG cmFuZ2xl IHJlbGF0aW9uYWw= LW9yZw== IGpwZw== LWRlcml2ZWQ= IG1hbGZ1bmN0aW9u IEJlbnNvbg== KHNjcm9sbA== IFhE SG9seQ== KGNvbW1hbmRz IHRpcHBpbmc= IHByaW1pdGl2ZXM= IHNleGxl Q2FsbENoZWNr IE1BU1RFUg== X1RFQU0= LnNldFJlcXVlc3RIZWFkZXI= X3NwZWNz IHNlcmdl Lk1hc3Rlcg== IGltcw== LlNwcmluZ0Jvb3RUZXN0 cGF5cGFs IFdBTlQ= Lkluc3Q= IENhcnBldA== IHdyb25nbHk= KCQoJy4= IGJpbGQ= LlJvbGw= IFVyYg== LWNhbg== 44GP44Gg44GV44GE b2xpYmVyYWw= PCEtLTw= 4oCUZm9y IG5lZ2F0ZQ== KG5vcm0= YWVj X3NhbGFyeQ== cGxhaW50ZXh0 b2Rlc2s= IEJvc2No U2NpZW50aXN0cw== aW5kZXhlcw== IG1weg== IGdyb3VuZHdhdGVy fX0pOwo= 0LDQu9C40Lc= IGVybw== IHByZXNjcmliZQ== IEV4dHI= PEFycmF5TGlzdA== IGF0cm9jaXRpZXM= QXJlYXM= IFRJbnQ= KHBsYXllcnM= IGRhdGFi IHd5bQ== 44Gb IGR1YXM= X3Bvc3NpYmxl IGluc3RydWN0aW9uYWw= aXRpb25lcg== L2F1ZGlv ICAgICAgICAgICAgICAgIAoK c3RvcmVk T01QSQ== IGFwcHJlbnRpY2Vz VGVuYW50 IENvdXQ= IGNvbnRyYWNlcHRpb24= TG9hbg== X3Zpc2liaWxpdHk= J3x8 LlBhcnNlRXhjZXB0aW9u IGNvaW5jaWRl LmdldFdpbmRvdw== IE1hcnRpYWw= X3Rscw== L2Jvb2tz IG91dHJhZ2Vk ICh+KA== c3Ryc3Ry IEJveGVz 6YO9 44Ol Uk9J RnVuY3Rpb25hbA== IFByb2Q= PFRlc3Q= IHZpZGVvdA== IGFtb3Jl YWJicg== IE1vbnVtZW50 IHJlaW5mb3JjZW1lbnQ= IENvY29udXQ= LnNlbmRTdGF0dXM= Lmtl IExlYXA= X2FydGljbGVz UGll IElydmluZQ== QUJDREVGR0hJ IEV4cGxhbmF0aW9u Z3JvdXBCeQ== IG92ZXJoZQ== IGFuw6Fs IGNsYXNzaWZpZXJz IE1peGVy L2NvbG9ycw== IFVzZXJEYXRh X0FSUk9X X3ZsYW4= LkNyZWF0ZURpcmVjdG9yeQ== IEhhaw== IEJvbmVz IEFwaVJlc3BvbnNl IE1vb2R5 REFD Z2V0Yw== 6LaF LkZpcmU= 6aM= IGhpdHRlcg== ZnJlc2g= 4LmB IENoaWxkaG9vZA== eG9y LWh0dHA= IE1PUg== LnNlbmRLZXlz X3NoYXBlcw== IFVwcw== IEFycmVzdA== YXp6aQ== X29wY29kZQ== Lk5vbWJyZQ== IHByw7Nw IHp4 IHRyZW1lbmRvdXNseQ== U3BhY2Vz ZWNj IHZlbHZldA== IG1lbW9yaWE= IExBUA== LkRyYXdMaW5l IHRhcmdldFR5cGU= cmVzdHJpY3Rpb24= IERSVg== W3RvcA== IeKAmQ== L2NoYXQ= IHNvbmlj VG9yb250bw== b3dp LmRvY3M= IEluaXRpYWxpc2U= IDwh LnRibA== LlByZXBhcmVkU3RhdGVtZW50 L2RvbQ== LnJvdA== X1BST00= S2VlcGluZw== IGhhcmdh IGpvcm4= IGlkZW50aWZpYWJsZQ== W2lw UGluaw== X0hlYWRlcg== w5E= YWRsZQ== 572R57uc c2VxdWVudA== QWN0aXZhdGVk dG1wbA== IFBhbGw= IGZhdGFsbHk= fX0pCg== UG9wb3Zlcg== IE1jTGFyZW4= Q2hhbmdlZEV2ZW50QXJncw== IEZvcm1hdGlvbg== TmFt bmV3c2xldHRlcg== LmZyb21TdHJpbmc= X2ltbQ== QVBQRUQ= LG5vZGU= KGRldA== IHBhcmFsbGVscw== IGxhc2Vycw== IGNob2NvbA== L3BvcnQ= YWZmZW4= KGRldGFpbHM= IHJlcGxpY2F0ZWQ= QXNTdHJlYW0= YXJtYWM= XV09 YWxhY2g= X3Nlc3Npb25z QWxnb3JpdGhtRXhjZXB0aW9u IHZlcmJvc2l0eQ== LkNvbHVtblN0eWxlcw== KFVTRVI= IHNsZWVwcw== IGFxdWF0aWM= X2J1bGs= PScuLw== b3VybsOpZQ== IE1TRA== IEJsb2M= IEdsZQ== IHJlcHJlc3Npb24= IGVudG9uY2Vz CQkgICAgICAgICAgICAgICAgICAg WU5D LkFsbG93R2V0 IHR1cnRsZXM= ICd+Lw== ZXNzb24= IERJRQ== IEFxdWE= IFNFUQ== Ozs7Ozs7Ozs7Ozs7Ozs7Ow== LnB1dHM= IE1BSw== KEN1c3RvbWVy IGRlc3NlcnRz IGVtYmVsbA== IHRheGVk 5bqX IHNjaGw= cmVzY28= IEZyb2c= IFBlbmRpbmdJbnRlbnQ= X0xvY2Fs L3NlY3VyaXR5 IFJveA== IHNwb2lsZWQ= X1dJTkRPV1M= SmVubmlmZXI= IGRhdGk= VW5sb2Fk LmdyaWR4 KHN0YWdl 4buX U3FsQ29tbWFuZA== Lm14 IGJsaXR6 IEZvcnRyZXNz IEJyb3dzZXJBbmltYXRpb25zTW9kdWxl d2luZQ== TlNF LXJhbmtpbmc= eXJl IGxpbmthZ2U= w6Fr kZw= YXRzYXBw IEN5Y2w= IGVjb2xvZ3k= IGJsYXRhbnQ= IFBlcmY= IFhpYW9taQ== IERvcnRtdW5k cmVzdWx0U2V0 IGdpw6A= IGZhdWNldA== IERhbHRvbg== IGZyZWVz QlVGRg== LnBhcmFsbGVs IEFzdHJvcw== IFZFQ1RPUg== IHN0YW5kb3V0 w7Ntbw== IGZyYW1lYm9yZGVy X1BBUkFNRVRFUlM= IEZhbGs= IERpZ2l0 IGVsZWN0csOzbmljbw== IHZlcnI= VUlBbGVydFZpZXc= KFNxbA== LUlORg== IikpKTs= JycK KEVGRkVDVA== IFp1bQ== X0RQ KV07DQo= IGFudGVubg== IGFiYnJldmlhdGlvbg== IHNlaXNtaWM= X1RSQU5TTA== tZw= Lk1pbGxpc2Vjb25k LGxhdA== IEFuY2g= X01vZA== QWxyaWdodA== ZGRh IMKl VU5ETEU= INC30LDQsw== IHN1bGZ1cg== IFNpdGg= IE5pbWJ1cw== IEV4YW1pbmF0aW9u X3dpZmk= fWApOwoK IHNlbnNhdGlvbnM= YWZz X0NMUg== IGluZmluaXRlbHk= IHN5c3TDqG1l X2ZvbnRz SW1wYWN0 UG93ZXJlZA== IDw9Pg== X25lZWQ= REVDUkVG IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v IFJlcG8= Z2V0U2VydmljZQ== JG4= X3BjdA== RXJyZXVy IE5HT3M= ICoKCgo= LmF0YW4= X1RNUA== IGNvbGxhcHNpbmc= IHNobw== X1BDSQ== Lm9wZXI= KGFkag== IGdpb3Y= Piku IGluY29udHJv YXJkYQ== IGFwZXg= IG1lZGlkYQ== IFNoZWlraA== IEFybWVuaWE= YXNzb2NpYXRl LXdvdw== IFR1cm5pbmc= IEZyZXVk IEZvb2w= IExEUw== LS0tLS0tLQoK b2xzb24= LkZJTEU= X2RldGVjdG9y RG9taW4= IGRlcGxveW1lbnRz IGZhcmV3ZWxs KGJpbmQ= IG5vdmljZQ== dGRvd24= IGdldEVsZW1lbnQ= IHZlbGl0 YXN0aGFu CWNoYW5uZWw= X0ZSQU1FQlVGRkVS LnRyYWlsaW5n LnNldEVkaXRhYmxl Oyw= IElERg== X1BC Z2V0TGFzdA== IENvYXN0YWw= IEhhbmR5 bGluZ2Vy 44Gn44KC UGVyc2lzdGVuY2U= LmdldFNlcnZpY2U= INC+0Lo= IG5vdHdpdGhzdGFuZGluZw== KFBS VU1C J10pKXsNCg== ZW1icmFuY2U= ZXhjZXJwdA== YXF1 X2Jsb2M= IFByb3Zpc2lvbg== IE1jRG9u IEdvbGRiZXJn IGNvbXBvbmVudFdpbGxVbm1vdW50 IGJhc2VQYXRo LWZpcmVk IGZvbGxhbmRv IFRpbGVz QGVuZGZvcmVhY2g= RU5DSUw= IEJveGluZw== aXF1ZXI= QWNoaWU= RW51bXM= QmFzZVVybA== KHNjYW4= IFBhc3NpdmU= YWJlbGxh L3Nu Lm51bWVyaWNVcERvd24= IHZlcm4= bG9jYWxpemVk IE1peg== IHJlc3VsdExpc3Q= L3Z1ZQ== RVJWSUNF Lm9k IGxpZ24= IFN0cmluZ1Rva2VuaXplcg== IHRyYWc= QWNjb3JkaW9u IG5vcmVmZXJyZXI= bXNjb3JsaWI= w6F0aXM= Ynl0ZXI= IHNob3dkb3du IHNlbWFpbmU= IC0tPg0KDQo= IE1haG0= fSI7Cgo= IGRx IFB1Ymxpc2hlcnM= IEFtcGw= IERhbmllbGxl IHRlcm4= 6LW3 bm/Fm8SH ZWlu IEFzeW5jU3RvcmFnZQ== dW5nZXI= cm91dw== IHNjaXNzb3Jz L2Fzc2VydA== LmJ1Y2tldA== L2FyY2hpdmU= X01hbg== IGludG9sZXI= ICgpPT4= INCS0Ys= IHNhaQ== Lnh5 LiINCg== IHVyaW5hcnk= ZXN1Yg== SVNUSUNT IM66 IGNvbXBsaW1lbnRz IHR5cGluZ3NKYXBnb2xseQ== aWhhcg== RXhwYW5zaW9u IFNlcnZpbmc= X3N0dWRlbnRz IFhCT09MRQ== KGls IOyymA== IGrDsw== KHRvbA== KEpT CUNH IERSQVc= dHdpZw== IG9hdA== X3Ntb290aA== IENTTA== IG9zb2I= IGVuc3Vpbmc= IGJhbmtlcg== IEJhY2twYWNr X3Bpbmc= IHdpc2hsaXN0 PWF4 CSAgIAo= RGlzbmV5 c3RlYWR5 Ij4l IHByb3BoZXRz IFpY IG1pbmltYWxpc3Q= LlBMQUlO U2VhdHRsZQ== Lm9yZGluYWw= IFBJUEU= IHJldG9ybmE= IGp1Z2Fkb3I= IEJyZXQ= IOKUnA== IHBsdXNo VUxBVE9S U29ydGluZw== LmdyaWR5 ZWN0b215 X2FjdGl2 cmFjaw== SW50ZXJhY3RpdmU= IEFudGFyY3RpY2E= IHZlbmdlYW5jZQ== ZW5zbw== X2tub3du dXBwbGllcg== Lk1vZHVsZXM= IENvbm5lY3Rpb25TdGF0ZQ== 6ZqQ6JeP QEZpbmRCeQ== IHBsYWNlcg== XG1vZGVs PCgpPg== LmlzU3VjY2Vzc2Z1bA== LWdvb2Q= Yno= IERyYWNv QXNzaXN0YW50 LWV4dHJh 0LDQsdC70LjRhg== IGh5cG9jcmlzeQ== IHRzdA== IEFncg== JHR4dA== IGxvZ2lzdGlj bGljZW5zZWQ= IEhvZg== IHRhdA== KGl2 IGludG94aWM= cG9zdElk X3N0cmlrZQ== IGh1bWlsaWF0aW9u cGNvZGVz InN5bmM= KHJlY2lwZQ== K04= cmVudGU= CUNsaWVudA== eWNvcGc= IFp1cmljaA== IFByb2ZpbGVz Q291bnRyaWVz IHBpY3Q= IHJvbGxvdXQ= cmVxdWVuY2llcw== IHBhdGNoZWQ= IGNhcnRyaWRnZXM= IHNoYWRpbmc= SmFy IHNhbHZhZ2U= IFRheGVz IHN0YW5kYnk= YXBvcmFu RWlnZW4= LmFuZ3VsYXI= IE5lc3RlZA== 5Lqr IGlzVmlzaWJsZQ== IER3aWdodA== X0JSQU5DSA== LkRlbGF5 IGtlbmQ= IGZhY2lsaXRhdGVk LmZsYXRNYXA= IHNhbnRh CVNlbmQ= L21lc3NhZ2Vz IG9mVHlwZQ== CXN3YXA= I3BsdA== IFR1cmtz TkVT IHByb2dyZXNzaXZlbHk= IFJlc2lkZW5jZQ== IFRSRUU= IG5vZW4= ZGlv IG5lbGxl IHNvZ2Fy aXR0aQ== d2Vla2x5 IGFtYmlndWl0eQ== X1NldHRpbmdz V2FyZQ== Lm5lbw== X0RTVA== IOaWuQ== cHJlcA== bG9iYnk= QGVtYWls L21vdmll IGZ1bmtj ICAgICAgICAgICAgICAgICAgICAgICAgICAgCg== wq1z IGd1YXJkaWFucw== LXBvcw== IGNvbmZpZ3VyaW5n IENQUw== IERldXM= IHZpZMOpb3M= X2VtcHJlc2E= IHNsYXBwZWQ= PE1vZGVs IHVuZGVyc2NvcmVz VWg= LmFjY2Vzc1Rva2Vu U0VUUw== IFNwYXJzZQ== IENhbGQ= OnBhdGg= IFNlcnZlcnM= PWJhdGNo IGtuaXR0aW5n IHhh IHNlYXJjaEJhcg== IHNuYWc= IGluZnVzZWQ= LmJhbQ== bGV2ZXI= IHRheG9ub215 w44= IGF0dGFjaGluZw== IGhlcm4= X05PUA== Q2xpY2thYmxl KFBhcnNl IER5bmFtbw== LWJ1aWxkZXI= IGRlcmVn IHNjYXR0ZXJpbmc= 6L+b6KGM YW56aQ== IFNoZXBhcmQ= Ij4nLAo= X1hERUNSRUY= IEJ1enpGZWVk X01BUkdJTg== UExPWQ== LnNtYWxs IG1pbWVUeXBl IGhvbG9n CWNhbWVyYQ== bGlhcw== IHN1c3BlbnNl b2R5bmFt YmF1 IGdyYXZleWFyZA== X25hbWVk IjoiJw== ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg== IGdhbWVPdmVy IExFTkdUSA== CXNjcmVlbg== IGRvSW5CYWNrZ3JvdW5k X2RlcGVuZGVuY2llcw== IHJ0Yw== L3Vw X1JPTQ== SGFsbA== IGRlZmljaWVuY2llcw== KHRl JyM= X2VxdWl2 IHByZW9yZGVy IEF4ZQ== 0L7QvNGD LnNlbmRGaWxl IGZpbHQ= IExpbWl0cw== IENhdmFsaWVycw== LmRpc2NvdW50 4oaQ IFdpdA== UVJTVFVW IGlq IHRlZ2Vu IDoiLA== ZGlmZmljdWx0eQ== cHVua3Q= IEVtYWlscw== Y2hsb3I= KGZ1bg== LlVpbnQ= IFN0YWxs X3ZlcmlmaWVk dUQ= RmlsZVR5cGU= IHBsZWFzdXJlcw== IGp1ZGljaWFyeQ== IHNoYW0= aXB1cg== X1BMVVM= b2ZmZXJz KGZvbw== X0dU CWNvcmU= RU5USU9O IExpYmVyYXRpb24= Q29tbWFuZExpbmU= X2RlcGFydG1lbnQ= LkFy X25laWdoYm9y IFN1Ym1pdHRlZA== IDwhLS1b IGxvY2F0aW5n Lk1hcHBlcg== X3N0cmVuZ3Ro Wy4uLiw= IEphbA== L2xvYWQ= IGJ1ZmZz IG1vdG9yaXN0cw== CWNz YXNjZW5kaW5n IFdoYXRzYXBw IE5hc3M= X0NPTFVNTlM= TGVvbg== cHBl ZWx0YXM= IHRqZWplcg== X0tFWVdPUkQ= cXVhbGlmaWNhdGlvbg== aHJh IHJpZGljdWxvdXNseQ== JGluZm8= RkVBVFVSRQ== ZG9lc24= IEtX IEVudW1lcmFibGVTdHJlYW0= X01BVA== IFN0cmVhbUxhenk= IHNjcmF0Y2hpbmc= LnRpY2tldA== IHNob3J0Y29taW5ncw== ZWxsaXBzaXM= PWN1cnJlbnQ= IGNyZXN0 IHdob3Jl IFBldHJvbGV1bQ== Y29udGV4dHM= IOat LXB5dGhvbg== KGpzb25PYmplY3Q= IFByaXNt IHlhY2h0 t6g= Zmxhc2hkYXRh IGxlaWNodA== IE1vcnRvbg== IHN0ZXJsaW5n X2l0cg== X3Vk RmFjZXM= IGhpcmVz ZmZh Jyx7Cg== LWNhbWVyYQ== X1JFQVNPTg== IEhlbGVuYQ== cnVn aWdodGx5 IHBlcm11dGF0aW9ucw== IFRvcmFo IOaYr+WQpg== CXJlY29yZA== w4A= LmdtYWls Rm9ydHVuYXRlbHk= KE1vZA== T2NjdXJyZW5jZXM= IGRlcHJlY2k= IHZhZ3VlbHk= L1o= Vk4= LnRw X2dlbmVy IHs6P30iLA== d2FobA== SUtF IExlZ2lzbGF0aW9u IGhpbnRlcg== IGFkZWw= KGhpZ2g= 5o+Q5Lqk L2RvbWFpbg== LnRpbGVz IFRpYmV0YW4= IFN0ZXJlbw== IGZpbGVTaXpl Z3J1cG8= aWFl U0NQ IHZvdWNoZXJz IFBhbmRvcmE= IGRpc21heQ== IGzDqWc= IEJlaGF2aW9yYWw= Y3Jhbg== TmVzdGVk YWNjb20= IE5haA== IEJhbHRpYw== IERFU1Q= IGtpc3Nlcw== Vmlu IHByb3Zva2U= X0NvbnRleHQ= IHdlZWtkYXlz dXJnZW5jZQ== TGlr IHBsYXph IGJsZXY= IHJlYWZm X1RpdGxl KEd0aw== IGNlbGxl Iz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0= IEpvb21sYQ== Ij4vLw== TW9udGhseQ== LnRvRG91Ymxl KGVudHJpZXM= IE5SRg== KGdjZg== IE1pZGRsZXdhcmU= fS17 X0hJREU= IGxvd2Vycw== KFNlbGY= 5Y+R6YCB IGlzTG9nZ2VkSW4= IGJpb2RpdmVyc2l0eQ== IG11c2NoaQ== KGNhbmRpZGF0ZQ== IEFuc2k= CXNt L2lt Kycp Y2Rj IGFsZ3VuYQ== IHNhY3JpZmljaW5n L3ZlbmRvcnM= L0FQSQ== QWR2ZXJ0aXNpbmc= IEdFTkVSQVRFRA== IERpc29yZGVycw== IFNlcmlhbGl6YXRpb24= IHNhdmFnZQ== IOm7 IEluc2lnaHRz IHJldm9rZQ== IGp1cm9ycw== c3VpdA== IENhbXBpbmc= X3Byb2ZpdA== YnVjaA== LkFjdGlvbnM= IElERUE= b2x1bHU= TGlrZXM= 67KI7Zi4 LkJMTA== dsOk IGNhcmRp IGRpc3Byb3BvcnRpb25hdGVseQ== IGluc2FuaXR5 LmVvZg== IFBsYXR6 LmZpcnN0bmFtZQ== IFNsYXNo X0NG amFuZHJv IEdhdWdl IFN1bmRlcg== IEJ1bm55 X3Vt 6IGU57O7 IGlQaG9uZXM= IEJJTw== IGtobw== eEZB IEZyaWVuZHNoaXA= IGNhbG1seQ== X3Rocg== X0FuaW0= IHJhaXNvbg== L3Jvb3Q= LmdldEJ5SWQ= IFNhdmFubmFo IEludGVycHJldA== a2lsbGVy CXdn XSld 0YPQtdGC S2V5VmFsdWU= W0c= c3RyZXRjaA== LXBsYXlpbmc= JTsNCg== IHBsYW5r IHBlYWNo IERlcnJpY2s= 0LTRgNC10YE= IFNoYW0= QVBQTElDQVRJT04= LnByb2dyZXNzQmFy IHRyYW5zaXRpb25pbmc= X2RyYWc= LlJlcXVlc3RCb2R5 Lk1vYmlsZQ== Sm9uZXM= LlBob3Rv IGF4bGU= enVn L29wdGlvbnM= XV0pCgo= CW5v W2hyZWY= IGFncmVnYXI= IFNlcnZpY2VFeGNlcHRpb24= bmluZ2Vu RGlmZmljdWx0eQ== Qk9PTEVBTg== QWRkcw== LWhhbmRsZXI= IEdhdA== IEVib255 4bqtbg== YnJpZ2h0 IGNvcnBzZXM= LkNoZWNrZWRDaGFuZ2Vk IG1hdGluZw== IEhhcnRmb3Jk IHpvdQ== IGR1ZGVz X2FsZw== IEp1bGk= b2N1cA== INC/0YDQsNCy IEthdHk= X0ludGVybmFsQXJyYXk= LkNvbHVtbkhlYWRlcnNIZWlnaHRTaXplTW9kZQ== TWV0aG9kTWFuYWdlcg== IFJlZGU= IGxpc3RJdGVt LkJvdW5kcw== IGF2ZW51ZXM= IENvZ25pdGl2ZQ== RXh0ZW5k dGVjaG5pY2Fs 4oCa c25ha2U= RnJvbUNsYXNz aWxlc3M= ID17 dXJldHRl L3RocmVhZA== RklFTERT SVZJTkc= IFBPU0lY X2Fr IC4uLy4uLy4uLw== TXA= IGFub255bW91c2x5 VGFyZ2V0RXhjZXB0aW9u YWZmZXI= YW55dGhpbmc= Imlz Z3Jlc28= IExhcmE= aXphZG9z IG1pbmc= LnRh X3Rocm93 Umg= IHNvbGlkaXR5 bmFobWU= aWNoYWdl IG1vdW5k b2xpbw== YXJ5YQ== QVNVUkU= IHdvaGw= IGZ1cm5pc2hpbmdz LnNlY3Rpb25z IGFwb2xvZ2llcw== YXBpa2V5 IFNjcmV3 IFdhcnNhdw== L2dyYXBo IFNBVEE= eXNlcw== L2J1dHRvbnM= 0LXQvdC+ VUdIVA== IHBvcm5zdGFy UGljdHVyZUJveA== X1RleHR1cmU= IGHDsQ== IG5lcmQ= LWNvbm5lY3RlZA== IG91dHNpZGVycw== IG9wZXJhdGl2ZXM= YWJibGU= L21hbg== IHBsZWFk XERi IENvdmVyZWQ= PVM= IEZsYW1lcw== 77+l X3RpdGxlcw== IHJldHJhY3Q= IGNvbGxhYm9yYXRpbmc= IGJlaGFuZA== LkRhdGFHcmlkVmlld0NvbHVtbkhlYWRlcnNIZWlnaHRTaXplTW9kZQ== IGxhYm9yZQ== IHRvdGFsUHJpY2U= IHNwb2lsZXI= IGRpcHBlZA== Iikpew0K X1NC IExlaQ== IGluY2x1c28= dmVsbA== CXBs SW5hY3RpdmU= IFVTU1I= b25kZW4= IHJvdXRlZA== LnN0cnVjdA== 4Ks= IE1hbGlr IEhFWA== IEN1c3Q= X1BFUkNFTlQ= X2VwaXNvZGU= 5ouJ VkVSUw== IGNydWlzaW5n Qm9va21hcms= 4oCmCgoKCg== Y2hlY2tCb3g= b3VmbGFnZQ== IG5vbnplcm8= IGFwcm94 IFB1cmR1ZQ== Y29vbg== bGVncw== IExvdHRlcnk= U2xm SEFW Pms= PkFu IHNsZW5kZXI= c2NoZWQ= VGVsZWdyYW0= Umljaw== X1N0cnVjdA== X0JD IGN1c3RvbWFyeQ== IERhbW9u dXJjaGFzZWQ= IGtvYg== IHRpb24= KHByb21wdA== IGltYg== eEND CVdlYkVsZW1lbnQ= IGhlbW9z 4Kaw IENOQkM= IEFMTE9X 57Gz IEVOQw== LnNjYWxhdGVzdA== IFRCRA== Z2V0UmVmZXJlbmNl IEltcG9ydGVk 4Liw IGl3 b2xvbg== bWls Oi8vJHs= Lk1hbmlmZXN0 IGxo IGl0ZW1MaXN0 X2Fkcw== SW5zcGVjdGFibGU= IFRvbGVkbw== IERpc2FzdGVy VXBkYXRlZEF0 KScpLA== IFBBTg== RmlsZUNob29zZXI= IHl1YW4= aXRt INC10LPQvg== IElibg== SGF0 X3Vsb25n YXBs IFVydWd1YXk= w6lueQ== IENyYWlnc2xpc3Q= ZG9jaA== IGJpbGU= IHByb2R1a3Q= IGVsZWN0cm9seQ== LkNvdXJzZQ== IG1x dW5jdHVhdGlvbg== LyoqKioqKioqKioqKioqKio= dWp1 TU1NTQ== X0xFRw== IG5ldXRyb24= IHBsdXJhbGl0eQ== ICsrJA== Zm91bmRhdGlvbg== LkNvbHVtblN0eWxl IEhvb3Zlcg== LkFDVA== IEJyYXo= bGVzc29ucw== ZsO8aHI= 4KSC IENsYXNzaWNz cmFpZw== IG1o IGtldHRsZQ== U3RyaWtl ZXJkYWxl RU5UQQ== IFRhYmxlQ29sdW1u IFNoYWtl IFdG IExpY2Vuc2luZw== dWHDp8Ojbw== IHNlY2FyYQ== IG5ld1ZhbA== U2VsZWNjaW9u UHJlZmFi ZmlnaHRlcg== TGF1bmNoaW5n JyI7DQo= Lmxvbg== LnV0Y25vdw== IEh1bmRyZWRz ZXN0ZWFk IE92ZXJ3YXRjaA== X0FGVEVS IHJlbW5hbnRz KS5c IGxvYmJ5aXN0cw== IHVuaW50ZW5kZWQ= IOuQ eXN6 IGxpYnJvcw== LXBhZ2Vz SU5URVJGQUNF IGRldGVybWluaXN0aWM= IFVOSVFVRQ== IGV0dMOk U2luZ2xlTm9kZQ== CQkJCQkJCQ0K LXN0YXQ= IGhhc2hpbmc= L2FjY2Vzcw== dGVsbA== CXVzZXJuYW1l IERhdG9z Qml0Q29udmVydGVy Omhvc3Q= IGFsdGVybmF0aW5n IOKAi+KAiw== IHdhdmVmb3Jt PEVsZW1lbnQ= IENhbnRvbg== IGRlc3RhYw== dGVudA== LmdldE1heA== IHN0ZW5jaWw= IEFjcXVpc2l0aW9u LkdlbmVyYXRpb25UeXBl IE1FUg== X2NvbWJpbmU= IFtdLg== X0JJVE1BUA== bGRy IGNhbnY= IEpWTQ== cGFycw== IGRvd25oaWxs RGV0YWlsc1NlcnZpY2U= KE5BTUU= IHJlanV2ZW4= X3dpdGhpbg== QWNjZXNzb3J5 IFPDqQ== L2luYw== IildCgo= UHVibGljYXRpb24= X3JvaQ== IG1vYnM= Lk5vQXJnc0NvbnN0cnVjdG9y IGV2ZW50b3M= LnZlbmRvcg== X1NFTEVDVE9S w6lmb25v PSJb IGxhYXQ= IGJsdXJyZWQ= IEJvcmRlclNpZGU= eEZGRkZGRg== X3dyaXR0ZW4= IGplbnRl L3Rpbnk= Lndw LnN0eWxlYWJsZQ== IENoYXJnZXI= IGJhdGhpbmc= IFBhbmRh w6lsaQ== IHBhY2llbnRl IGdpb2NoaQ== IFZpZXdTdGF0ZQ== Y2dp LmxvZ2ljYWw= RG9uYWxkVHJ1bXA= LGNvcHk= ZW1t X0xpbms= IGluc2lnbmlmaWNhbnQ= ZmZtcGVn L3BheQ== X3F1aXQ= SU9EZXZpY2U= IEV4aXN0cw== IGNvb2tz anVuY3Rpb24= IFRYVA== KGVndA== YW5pdQ== X3BhcnRuZXI= IGZhY3VsdA== IFVuaWZpZWQ= L3NiaW4= IE5laA== IEthemFraHN0YW4= cG9zdGNvZGU= IHZlZ2Fz IHNlaW5lbQ== fV0s dGV0 LXBheW1lbnQ= IENvbW1lbnRhcnk= IGd1aWRlbGluZQ== KTsk IENvbnNvcnRpdW0= 57O757uf dmlzbw== IEJpbGxpbmc= aWNpYXI= IFR5cGVJbmZv CXRyYW5z PFRleHR1cmU= YXRob20= bGF1Z2hz IGludGVyY2VwdGlvbnM= KEVWRU5U Rm9yZWNhc3Q= VHJhcA== dHJ4 IFdoaXRlcw== c3VibWl0dGVk YWxnbw== IHRyYW5zcG9ydGVy b3VuZGFyeQ== IEluaGVyaXRz IENvbmV4aW9u LmNsaWVudFg= CXByb2plY3Q= aGVhcnRiZWF0 LW90aGVy ICc7DQo= w6ty b3JwaW9u KGNvcnM= IEVMRUNU IFBlcmU= IHVzZU1lbW8= ZXdyaXRlcg== IHNxdWlydA== L2V4dGVuc2lvbnM= L2Fz LkNMSUVOVA== IGdvdXJtZXQ= IGF1dG9Db21wbGV0ZQ== UkVW IGJyYWtpbmc= X1NFTEVDVElPTg== 44Oh44Oz44OI X2xpZmU= X2dyb3VuZA== X3Rlcg== c25z IFNQT1JU kuGe 5rs= VW5pcXVlSWQ= IGRyaXA= X0JST1dTRVI= LW1ldGVy ZW5kZXo= IGV4aGF1c3RpdmU= KFNL IEJ1cmxpbmd0b24= d29vcmQ= KHBvdw== IHNlYXJjaFRleHQ= hYw= aGVlbHM= c3RlbGxlcg== LnNpZw== WU9VUg== LmFsaQ== IERhdGFDb2x1bW4= IHByb2plY3ROYW1l X2ZlY2hh IHJlZnVuZHM= IHRvcG8= IENISUxE IE1hcmJsZQ== IGZvckNlbGw= IHBlc3NpbQ== IGNyaXNweQ== aWZlc3R5bGVz IG92ZXJkdWU= b2xhcml0eQ== IGFtYXTDuHI= TWQ= UFJFU1M= IGluc3VyZXI= b2NyYXQ= IGZhY2lsaXRhdGVz Lw0KDQo= IGh1cmRsZXM= X0hJ TGV0dGVycw== bWluZWNyYWZ0 YXh0ZXI= eWs= IGVjb27Ds20= INC90LDRhw== IFNXSVRDSA== Q29uc3VsdGE= IE5vcmE= Q0tFUg== X0NU LmFwcHNwb3Q= IC8vLS0= CUJPT1NU X2NvdXJzZXM= IHdpbGxpbmdseQ== 66eM ZmZk ZmlsZXI= IE1lYXN1cmVz IGxlYXNlcw== IERvcm90aHk= Ol0u c3Vic2NyaXB0aW9ucw== IGNob2lz IGFsYW4= IGFicmly LlBvcHVw RXN0aW1hdGVk IFBMQU4= 4LWN IEVMRg== IGRpc3RhbmNpbmc= CWFuc3dlcg== IHJ1Z3M= S2k= 4Z+S4Z4= R3VpbGQ= ZXh0cmFz Y3Bz TW9ja3M= IHRla3N0 Kmc= LnJlcXVlc3RGb2N1cw== IGFsdGVyYXRpb24= IENhdGVnb3JpYQ== aW1tZXJz IERyb3Bib3g= IEFkZHI= 5byV ZGVwcw== Lk1lc3NhZ2VCb3g= ISwK LmdldEI= IG1pZ3JhdGVk IEhvYmJ5 IE1n LlZlcnRleA== IGZvcmdpdmVu IERlVg== IHdlcmQ= IEFyYWJpYW4= IFNtb2tpbmc= IHN0cmF3YmVycnk= IENNUA== ZGJs IERIUw== LWVycm9ycw== LnBhZw== IFJORw== IHNoYXZl IHR3ZWU= IGFzc2VydE51bGw= IERlbnNpdHk= ZG9qbw== YWlubWVudA== IHBq LllFQVI= ICopKTsK aWJyYXJpZXM= SmV0cw== RXhlY3V0aXZl X2RlbnNl LmdldENvbnRlbnRQYW5l Y2hhbmRsZQ== YWluYQ== LXJlZmVyZW5jZQ== IGxpYXI= IEhFQUxUSA== W3Rlc3Q= LmlzbmFu Q2hhcmxpZQ== IHB1cHBlcg== IGtpcg== OmhpZGRlbg== aXNWaXNpYmxl IGtvbXQ= IGFjcXVhaW50ZWQ= IERydWlk KENz Lmxhc3RuYW1l RFNB IGRpc3NvbHZl 57yW5Y+3 VmFyaW91cw== IERleA== X2FuZ2xlcw== L2FwaW1hY2hpbmVyeQ== IGV4cGxvZGluZw== KENoYXJTZXF1ZW5jZQ== IEhpc3Bhbg== KyspewoK Lk1vZGVsU2VyaWFsaXplcg== UVJTVFVWV1hZWg== 54K55Ye7 PXNldHRpbmdz 4KWB UENT IElOVEVSTkFM IEhVR0U= IG1pY3Jvc2NvcGU= aXNBZG1pbg== XHY= LnJlcXVpcmVOb25OdWxs 0L7Qu9C+0LI= aWNlcmNh X1NFTlQ= IGRlcGljdGlvbg== IFVzZXJDb250cm9s IE1lbW9y IEFsbG9jYXRpb24= IEJlZGZvcmQ= IOabtA== IHRvcm1lbnQ= YXplZXJh LlRvZGF5 IFJlZ2FyZGluZw== X0VOQw== X1JBTkRPTQ== TG9nTGV2ZWw= PVI= IEdyZWVubGFuZA== IHN0cmFpbmVk IG1hZ25ldHM= IGFsZXJ0Q29udHJvbGxlcg== IENocm9uaWM= X3JlZ2lzdGVyZWQ= IGxpag== IEVudHJ5UG9pbnQ= IFJlZ2ltZW50 dWNpZA== IENvdWxkbg== IEFjdGluZw== X3JheQ== IG5hYg== LXNlcGFyYXRlZA== IHBubA== Q29hY2g= QVRZUEU= IHN1cHBsZW1lbnRhdGlvbg== YWNlcnM= ZmxlZXQ= SW5wdXRCb3JkZXI= IFN0cnVjdHVyYWw= IGRlaW5l IGJyZXdlcmllcw== YW5vaQ== IHRyYW5zbGF0b3Jz IGVpZ2VuZW4= IGRhbmNlcw== dGFt IENvb3BlcmF0aW9u X3JlcXVlc3RlZA== IE1hZ2ljYWw= CUxFRlQ= ICIiKSwK Ky0rLSstKy0rLSstKy0rLQ== IE5vaXI= IEVzdGltYXRl IFRocmVhZFBvb2w= IEhlY2s= ICcqLg== VHVya2V5 IHN1Y2NlZWRpbmc= ZHJ1Zw== dmlv IHBvbmVy IEphZA== aXp6bHk= ZXZlcnl0aGluZw== IHt9KS4= IEluc3RpdHV0ZXM= IG51b3Zv IGluaXRXaXRoVGl0bGU= IGx1YUw= b3duaWs= IHRob3I= IGtsYXI= IG5vdG9yaW91c2x5 IGRvbmc= ZW1lbnM= X3Byb2plY3Rpb24= X0dSRQ== LmV5ZQ== IHdhdGVyaW5n IFRpaw== b1M= IFN0cmFuZ2Vy ICANCg0K cGFnaW5n X2ludGVyc2VjdA== IENvbG9uaWFs TGlzYQ== LnVubGluaw== IG1pcA== YW51dHM= YW1hem9u IElERU5U c3Rhc3k= Snd0 LS0tLS0tKy0tLS0tLSs= IEVWUA== Q29udGVudExvYWRlZA== CUJJVA== LnBhcmVudHM= IGFsbG9jYXRpbmc= IEdPTEQ= fWA7Cgo= QUxBUg== IHByZWNpc2E= RGlzdGluY3Q= c2Vp IHN1YnBvZW5h IHBvbXA= IFBvbG8= Y29l dmo= LndvcmtmbG93 ZXN0cmU= IGNvbm5leGlvbg== aW1ldHlwZQ== LlJvd0NvdW50 IERoYWJp IGVtaXRz LkJvcmRlclNpemU= KHBvbGljeQ== LG1lc3NhZ2U= T25Jbml0 KShf IGZpbmVy W251bWJlcg== IHNjcmlwdHVyZQ== UmVmbGVjdA== LXRvb2xiYXI= KFBBVEg= IEVOVFJZ KC4uLikK LWRvbWFpbg== KHN0cmlw KSgq IGNvbnZleWVk IGF0dGVudGl2ZQ== w6hnZQ== X0xE IEdyYW50cw== LWhpZ2hsaWdodA== IGJyZXRocmVu 2YjZhA== IGRlcXVldWVSZXVzYWJsZUNlbGxXaXRoSWRlbnRpZmllcg== YXB1bHQ= LmJvdHRvbUFuY2hvcg== IG9wY2lvbg== IG91dEZpbGU= cmVhdGluZw== ZGlu X3NhbXBsZXI= CWdsRW5hYmxl cHR5cGU= X0NPTkRJVElPTg== LWVmZmljaWVudA== Jm8= IGpj 0Kc= L0Zvcm0= KWZyYW1l IGJpbmdl X2Nsb3N1cmU= SU1B KG5leHRQcm9wcw== CWNk IGdldE1lbnU= IGdldFN1cHBvcnRBY3Rpb25CYXI= IG1hbmlmb2xk WlI= Y2hhbmdlcg== YXNzaW5n ZGlzaA== IE1vdQ== Lm5ldGZsaXg= IHBvc3Rjb2Rl IHdvbWI= IEFycw== 4oCmKQ== IGxpbmVXaWR0aA== RGVhbA== YXJhcw== IEdyYW50ZWQ= IGhvYXg= IGRpcmVjdGlvbmFs LktleUNoYXI= ID09Ig== IFZlcmRl X0tQ IHN1cnJvZ2F0ZQ== IERVSQ== dXB5dGVy IHBlbnNl IFJBTkQ= KGV4Yw== IG1pc3VuZGVyc3Rvb2Q= IENVVA== IOS4rQ== CXRp X2luc2lkZQ== IGJpY3ljbGVz IGRlYW4= ZGlyZWN0aXZl LnBlZXI= aWNpbmE= X2l0ZXJz IGltcGx5aW5n Lm9idGFpbg== IHBzeWNoaWF0cmlzdA== dXNlclNlcnZpY2U= ZWxpdmVyeQ== CXBhcnQ= IGh1cnJpZWQ= IGJ1bQ== IGhlcGF0aXRpcw== amlk J10+Owo= IHVuY29udmVudGlvbmFs IGZhc2Npc3Q= IFBleQ== 6K+t Jyl9PC8= LkNsdXN0ZXI= IEJpdENvbnZlcnRlcg== ZWRhdGE= zr/PhQ== 4pSC QXBwQnVuZGxl Lmh0dHBDbGllbnQ= IGFwbw== QUlOUw== IFZG X2dpZA== IG9kZQ== RVJSWQ== IFJlY2VpcHQ= IENhbmRsZQ== IG1pc3Npb25hcnk= IENyYW5l IFNUQVRFUw== Ym91dA== YXlhcmFu Li4uIiwK IGl0aW5lcmFyeQ== KGxhdGl0dWRl IENPTlM= L3NpZGViYXI= U3BpZGVy R1JJRA== LmRlYnVnTGluZQ== IGAn LXllbGxvdw== IHJlZmluZW1lbnQ= IE1ha2V1cA== IERhbm4= KCk7DQoNCg0K IG92ZXJjb21pbmc= IEJhdHRlcg== L3BhY2thZ2Vz INCy0LjQtA== IGFyeQ== 4oCdPw== cmVsbGFz IGdydXBvcw== IFR5cGljYWw= IE1vbnNhbnRv SW50ZXJzZWN0aW9u IHR5cmU= PT09PT09Cg== zq4= OzsKCg== IHRyaXZpYQ== X3Rha2Vu IHNtdWdnbGluZw== IG5hcnJvd2Vk 4bqpbQ== IHBhbGFicmE= Y2Vh cGFydGljdWxhcmx5 QWNjZXNzVHlwZQ== IGNvbGU= VG9GaXQ= IHZlcmU= IENPUw== L3ZpZGVvcw== ICgkKCIj IGNyYW5l Lmhhc01vcmU= JHBhdGg= aXZpc20= IHN1cGVydmlzb3Jz IEZsb3Jlcw== cHJvZ3JhbXM= LlppcA== IGltcGFjdGluZw== IG1vdG8= IFRK cGVnYXdhaQ== X0tJTkQ= X2ludGVyZmFjZXM= LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio= IExlYXZpbmc= VGV4dFN0eWxl YmVpdGVy IFdpbm5pbmc= LXBhcmFt R2FyeQ== IFN1bnM= YWzEscWf ZHVjaw== IHRocmVhZElkeA== IHBvZXRz IHBsZWFkaW5n IENvcmludGhpYW5z ZmNj YXdhaXRlcg== Ki0= IHBlcnNldmVy IGFjdGl2aWRhZGVz X291dGxpbmU= LXBsYW4= LnNjcm9sbFZpZXc= cXVhdA== IHNhbXN1bmc= IGxldmVsaW5n IHNwbGl0dGVy X2dlb20= IHByb21pbmVudGx5 IFNlZWRz 5Zyf dWFpcw== ZWZ1bGx5 SUVudW1lcmFibGU= YWRkcw== dmVyc2F0aW9ucw== IGRpc2FibGVz QU5EUk9JRA== IFdlaXRlcg== X0Zvcm1hdA== X3NwbGl0cw== IEFjdGl2ZVN1cHBvcnQ= KGNzcw== X21pY3Jv c3RyaWtl IENhdXNlcw== IHZpc2libHk= Q2FuY2VsYWJsZQ== IFlvc2g= IGRyYWluaW5n IGNvbGk= YXNsZXk= IFJlc3BvbnNpYmlsaXRpZXM= IFN1dHRvbg== KnRoaXM= U2hhcmVz LWdyYXBo IGVubGFyZ2Vk Um91dGluZQ== IGZyYW1lYnVmZmVy IGFpcmZsb3c= IHRyeA== IExlaWdo IEtlbnM= KGhlYXA= IHNwaWxsZWQ= U0NBTEw= IFZlbHZldA== YWN0dWFsbHk= X0VOQ09ESU5H IFdvcm0= KSl9Cg== IERhbmdlcm91cw== IHN1cGVyaW50ZW5kZW50 Lmxvb2s= IHNoZWw= L2Zz U2FmZXR5 5a6L LkRFRklORQ== X2ZhY3RvcnM= IHBhcnRpZG8= IG9wdGltaXppbmc= RG91YmxlQ2xpY2s= LWNvbW1lcmNpYWw= IGxvZ2ljYWxseQ== Y3ljaA== dXJ2ZQ== wrU= QUlMWQ== IHJlYWN0aW5n X0VYUFI= a8O2 LmxvY2FsaXplZERlc2NyaXB0aW9u IGFzdG91bmRpbmc= IHBhc3RyeQ== IGdsb3NzeQ== IGJlaGF2ZXM= L2Vj IGNsaXBwZWQ= IHByb3dlc3M= IFVC LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0= CWFscGhh IGV4dHJhdmFn IGZpbm5z KFNvY2tldA== IFVuc2FmZQ== IHF1aWVyZQ== X2VuY29kZWQ= b2x1bWJpYQ== IHphYg== c3RyaWN0ZWQ= IG1uaWU= IE1PUw== IGF0aGxldGljcw== IEtlbmRhbGw= IOyYpA== QVZBSUxBQkxF aW5veA== X09QQ09ERQ== IEl0ZW1UeXBl IGNlbnRyaWY= IGludGVyc3RhdGU= X2Jvb2tz LmRlbGl2ZXJ5 IExpc3Rl b3JzaQ== X3NlY3VyZQ== Z3Jvd3Ro IHZlbnRl IHBzeWNob2xvZ2lzdHM= IENDUw== dWRlbmNl IGNyYXdsZXI= L21hbnVhbA== IHRleHRTdHlsZQ== IHBhbGluZHJvbWU= IGNvbmR1Y3Rz dGFibA== V2l0aFVSTA== L3JpZ2h0 IERyYQ== Lk1haWw= KHNlYw== b2Z0d2FyZQ== IHNldWw= IHdyaW5rbGVz X0ZX QXk= IEVybnN0 dW5iaW5k IGNvbW1lbmQ= X2hvb2tz IE1vbmV0YXJ5 IFFR dW5pdE9mV29yaw== IEVudGl0eVR5cGU= IGhvcm1vbmFs LkZBSUw= QFNsZg== L2NoYW5uZWw= c29ubw== RGFucw== X1JlZ2lzdGVy SGFu T1JC SktMTU5PUA== dmVudGVk IGxvbmdzdGFuZGluZw== IGJnQ29sb3I= IDsp IFJvYmJpZQ== KCIuIg== IGFqdXN0 LmhhbmRsZUNsaWNr cmF0aW5ncw== cHRlcg== IGVyb3RpY28= IEplbGx5 KioqKioqDQo= LkRvZXNOb3RFeGlzdA== CWJl JHRlbXA= Ij4mIw== 55u0 CVB1YmxpYw== neyytA== IEJ1aWxkaW5ncw== LWFsb25l LCdc IHN3YXBz IHBlcnBsZXg= X3Byb2Nlc3NvcnM= INC00LI= IE5ZUEQ= UENS 5q+P IGhvamU= RWRpdE1vZGU= IHZ1bGdhcg== IHZlcmRl ICgpPT57Cg== L2Zyb250ZW5k IHRlbGVmb25l IGxhbnRlcm4= LnBhZ2VY IER1ZA== bGltaXRhdGlvbnM= IG5vdGlmaWVy IE1lc3NhZ2luZw== IWltcG9ydGFudA== IHN1cmdlb25z KT0o Rml4ZWRTaXpl Llpvb20= aW5hbg== IGNyZWRz IEJVRg== LlN0YWNrVHJhY2U= IHdhcnJhbnRlZA== IHNvdXJjaW5n IGNvbm5h X0ZSRQ== IHdvbGw= IHJlZmluaW5n X0FMTE9XRUQ= X212 IFdvcmNl IFNpbmNsYWly Q2hlY2tzdW0= IHVubG9ja3M= IE1hcmtkb3du IGZpc2hlcm1lbg== RHVi IEJvbm5pZQ== ICAgICAgICAJCg== IHZlcno= Piw8Lw== PjwhWw== Wyc8ew== amVj IEVyZw== cmF0aGVy IHBhbGFicmFz IFBBQ0tFVA== bWlzZQ== ZGFx IE9rdG9iZXI= KEdMRlc= IEhlbnJp IEZvdA== IER1bw== IE5FUw== IHNhbHNh IHVuYmlhc2Vk QFNwcmluZ0Jvb3RUZXN0 IG9mZnM= 5YWs5Y+4 IGFtb3VudGVk RnVsbFBhdGg= IHF1YXQ= IG1haWRlbg== IFN1YnNldA== IEFwcGxpY2F0aW9uRGJDb250ZXh0 bWlycm9y bmV4 LnN0cmVldA== c2V0UXVlcnk= JHJlc3VsdHM= YWRlcm8= Z3Jlc3Nvcg== X2J1Zw== aXNzZXI= IFNlYXJz IGZpbGxDb2xvcg== Lm1hc2tz IERpYWJsbw== X0FORFJPSUQ= 0J7QsQ== IGZyZWFraW5n IHJpbnNl KHBrdA== IGJvb2tsZXQ= IHNhbmN0aW9uZWQ= IHN0cmVhbWVk dGFicGFuZWw= IFJldHVybmluZw== UGxhaW5UZXh0 TE9ZRUU= YWxlc2Nl 0L7QutCw IEZpeHR1cmU= YXNzYWRvcnM= IGRpc2JlbGllZg== IEx1c3Q= IHJhZGljYWxz LkZlYXR1cmVz X2luY2hlcw== KHByaW1hcnk= IEpNZW51SXRlbQ== X3Rha2U= IENva2U= VW5pdE9mV29yaw== IFdDSEFS IGNvbnNjaWVudA== b25lbnVtYmVy UElORw== YWJham8= XSgi LnNhbGVz X2hlcmU= IG9mZnNldFg= dGFnTmFtZQ== INmK X1JpZ2h0 aWxpZw== dGhlVmFsdWU= b2NhcmQ= IGNvbnN1bHRhbmN5 IGJsaWo= Z29ybQ== TmF2aWdhdGU= xLFj SWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9u X3Zl LkNPTlRFTlQ= dXJvcGVhbg== LnJhZGlv IGVudmlzaW9uZWQ= IFNPTQ== LnNk QU5USVRZ IENBTExCQUNL IGhn ZGVjcnlwdA== 566x XFF1ZXVl IE1JTEY= IHJlY3Vyc2U= IERhbnRl LmdhbW1h b3Jrcw== KCIiKSkK IEdyaW0= Lm9wZW5n IE1pY2hlbGU= QW5hbHk= IFBydQ== X3JlZGlyZWN0ZWQ= X3BhbA== ZmFsbGJhY2s= IOWtlw== IGRpbm5lcnM= R2VuZXJhdGluZw== JCIs aGlzdG9yaWM= Z2V0U2ltcGxlTmFtZQ== IE1pbGxpb25z LWdsb2JhbA== cm91dGluZw== IGNvbnNvbGlkYXRl IHJlY29pbA== T2JqZWN0T2ZUeXBl IGRlc3BlcmF0aW9u QW55d2hlcmU= IGdldE1vZGVs X2tpbGw= b2Jvb2s= L2Rpc3BsYXk= Ii8+Cgo= IG1heW8= INGB0L/QuNGB0L7Qug== IGdvYWxpZQ== eERG IFByZXBhcmF0aW9u IGRlcGVuZGFibGU= LklOVkFMSUQ= Li4uJw== bmF0YWw= bW9kdWxlTmFtZQ== Y2FyYm9u UEFM IG1lZQ== IGNhc2luZw== 6aG555uu bmljYXM= IEhhbW0= IEJhYmU= b3dhbmU= IHN5bm9ueW0= IFFpbg== aW9j ZW1vdGlvbg== IGZlcm1lbnRhdGlvbg== IGN1bXBs IEVsZWN0cmljaXR5 KFJPT1Q= dGVzdGVy IEh1c2JhbmQ= IEJhdQ== X01BQ1JP YWtlbmluZw== ICAgICAgICAKICAgICAgICAKICAgICAgICAK LmZpbg== IENvbmZpZGVudGlhbA== aWV6 TUJFUg== IHNwZXJtYQ== IEhQVg== dHhu Q09OVEFDVA== LlRocm93 IG11cmFs IFR3aXN0 KCZfX18= IGpk IGVtcG93ZXJtZW50 IGRpc3RpbnQ= IGJvbWJpbmdz T3V0Y29tZQ== IHNob3J0ZW4= 5b6M QUNDT1VOVA== X2NvdmVyYWdl ZW5jbw== X3JlZmVy c2V0TWVzc2FnZQ== IHJlcGVyYw== cHRpZGVz IGRlaXR5 dWNoc2lh KGh0 LnN1YnNjcmlwdGlvbg== IHJlZGlzdHJpYnV0ZWQ= IER5bmFzdHk= X3Zj LWZyYW1ld29yaw== cnlmYWxs IGdhdGluZw== IExvcmVuem8= b29kb28= IGRpZ2VzdGlvbg== IGZvb3Rpbmc= CUhhc2hNYXA= cmVhbERvbmFsZFRydW1w IGFwYWNoZQ== KHZhbG9y IHBvaXNvbm91cw== LlBlcm1pc3Npb24= IHBhcmFtb3VudA== d2VpdA== bGxhbmQ= IGh5cG90aGVzZXM= IFByeQ== IGhvbWVt KERldmljZQ== aW5kaWNl ZXZh cHJlc2VuY2U= IEJlbnRsZXk= IEVuZGluZw== IGRvbWVzdA== CXRw CWVycm9ycw== Y29ybmVy bGRh CgkJCQkK X1BFUlNPTg== IFNlcmdleQ== IFBhcnNlcw== LWZpY3Rpb24= LkJhY2tncm91bmRDb2xvcg== IHNvbW1lcw== IGNvb2xlc3Q= IHJ1YmJsZQ== LmpvYnM= IGRyb3duaW5n YWRvcmFz IHdpbmdlcg== IEluY3JlYXNpbmc= 2YrYqQ== QkJCQg== KFJvbGU= IG9kZGx5 RGV2RXhwcmVzcw== LXV0aWw= IFNoZW1hbGU= cHJpbWl0aXZl IGFmZmlybWVk LnJldHVyblZhbHVl LWxpdmU= IEFjdGlvbkNvbnRyb2xsZXI= w6ts ZXJjdWxvc2lz IHByYWt0 IGdlb3BvbA== cGljcw== Q0RD LkZs LnNpZA== cmllYmVu KHZhcnM= K3NlbGY= IGludGVyaW9ycw== IEF1Z3VzdGluZQ== IjpAIg== IFN0ZWFsdGg= IGdldENvbG9y IEdlbnRsZQ== fiI6Ig== IHdoaW0= KCc8Lw== IFNTRQ== IFZpb2xldA== X2NyZWQ= IGF0YQ== IEF6ZXJiYWlqYW4= ID8/Pz8/ LmV2ZXJ5 KGNvbm5lY3Q= IERyb25l IHRvbGVyYW50 c3VidG90YWw= X3NodWZmbGU= dXN0YWluYWJpbGl0eQ== cHJlZmVycmVk IFNFWA== IGNvbmdyZXNzbWFu IG5hbW9ybw== IGhvbm9yYWJsZQ== IGFmdGVyRWFjaA== IMW8eWM= SEFN LnRvbQ== IGVsb25n IFNlcmlvdXM= LVNlbWl0aWM= 0KHRgg== IGZsYW0= dGVuZXI= LlRFU1Q= IFRSQUNL IFBoaWxpcHM= IEFyZW4= IEhpY2tz b2luZWQ= IEZhaA== aXNzZXVy IGNpcmN1bWNpc2lvbg== KHR3ZWV0 IHBvaWw= IFNlZW4= X01BUFBJTkc= IGludmFyaWFibHk= IEZ1c2U= ICc/Jw== PXBhc3N3b3Jk IOuCmA== IElIdHRw c3R5cGU= Zml0bmVzcw== LlRhZ3M= IOqwnA== KERXT1JE IHF1YQ== IE1hcnZpbg== Ik0= LmlzQXV0aGVudGljYXRlZA== Lmd1YXJk KT8KCg== CQkJCQkJCQkJCQkJCQkJCQkJCQ== IFNoaXBz IHNlbnNpdA== fTsNCg0KDQo= YWhhaGE= IGxpZXV0ZW5hbnQ= IEphZ3Vhcg== IC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0= VUNF SW5zcA== YWludGVy X3BvbHlnb24= LkRvd24= IHRleHR1cmVk LnNldEFjdGlvbg== b2dy IHNjaWVudGlmaWNhbGx5 IHNocmluZQ== IGNsb3VkeQ== LkhvdXI= UG9zdEJhY2s= QVpZ X2NhbmRpZGF0ZXM= KFNlYXJjaA== IGNvbW1pc3Npb25lcnM= IEJpZW4= IGRvY3RvcmFs IEZlZWxpbmc= X1ZFUlRJQ0FM IEJk bmdpbng= IOWcqA== X2FyZ3Y= UlNB IGVsZGVzdA== LWhlYXZ5 Q09OTg== IEh0dHBOb3RGb3VuZA== LWNvbHVtbnM= IE5QQ3M= IGNhZmVz IGfDqQ== IHN0YWxscw== IGZvcmtz IHBvYmw= U3RyZWFtcw== IGJhc3RhcmQ= IFJhcHRvcnM= IEdyYW1teQ== IEdlaA== X1RpY2s= KHByZWc= IGxpcHN0aWNr X3J1 PEg= IMSRaQ== LkNhcg== IHNwYXJlZA== bW9uaWM= aW5jdGlvbnM= QWZyaWNh KGRpY3Rpb25hcnk= ICoqKSY= YGBg X3ByZXNzdXJl bWll IFJvbWFuaWFu L21hcms= IG1haW50ZW5hbnQ= IHRyZW4= IFBvc3RncmVTUUw= UkVMRUFTRQ== SlBFRw== IGRlZGljYXRl TWFrZVJhbmdl IHJvYm90aWNz YWt0aXY= JSUl YWFy dmlld01vZGVs KG1hYw== dWNoZXI= IGRlYmVu TG9jYWxpemF0aW9u 0L7Qt9Cy0YDQsNGJ0LDQtdGC LnNldFRvb2xUaXA= LmZhc3Rqc29u IHBlcmVubmlhbA== LWNoaWVm a2lzaA== IGF0dGlj U3VidGl0bGU= IFNsYW0= IExpdGVyYXJ5 ZXJuZXM= INGC0L7Qu9GM0LrQvg== IHN0YXJ0QWN0aXZpdHlGb3JSZXN1bHQ= LkVycm9yTWVzc2FnZQ== YmluYXRpb25z Ikw= IGZvcmJpZA== IGxvZGdlZA== Lkxpc3RCb3g= IFBTRA== IGN1bHR1cmE= VU5DVA== Ik9uZQ== IEd1aWxs IEJhdHRhbGlvbg== IGNhcmVnaXZlcnM= IEtsbw== QmVoaW5k IHNlYXJjaGFibGU= X0JPVU5E Uk9D IHN0ZXJlb3R5cGU= IHByZXBlbmQ= aW50ZXJzZWN0aW9u QmFza2V0 KGxv IGZpbGVJbmZv IFVJU2Nyb2xsVmlldw== ZWNlc3NhcmlseQ== IENoZXM= LWluc3RhbmNl IGFwcGFydA== IEFtYXI= IHJvd0RhdGE= IGF5dWRh IGNhcmF2YW4= X3BpY2tsZQ== IGNoYWluaW5n KV07Cgo= IGJveGVk YWVwZXI= IEVWRVI= eW50aGVzaXM= LWZhc3Q= IOuwsA== 5Y+v5Lul IHZvbHVudGVlcmVk IGV4aWc= U0lERQ== IFBob25lTnVtYmVy dWxhaXJl IEthZA== IGRhcm4= IHlhaw== IEJsaW5r LnNwaW5uZXI= IG9yZGVhbA== X2VuZW15 IGdldFM= IEJvbw== TGluZU51bWJlcg== X0xPT0s= RUxDT01F IHNlYW1z IHNhZ2Vu aXNjbG9zZWQ= KHJheQ== W2dyb3Vw UFRT Lk5hdmlnYXRl IE93bA== IGRidXM= IGltcGF0aWVudA== IEd1cHRh KG9iamVjdHM= IGFwcmls LXF1 IG91dHJhcw== IFRIRU0= IEVNQw== RW1wbGVhZG8= IGdydWI= SUFN IHZlbm9t IHRyYW5zY2VuZA== IHZpY3RvcmlvdXM= IE1heWVy INGC0L7QstCw0YA= IEtlbGxleQ== SW5wdXRHcm91cA== IHJlZmlsbA== V2l0aFR5cGU= IGNoYXVmZg== b2xkZW0= X3RpZA== IGZsdXNoZWQ= XHN5c3RlbQ== LnJhbmRyYW5nZQ== IFBPU0lUSU9O IFRlbmFudA== Y29udmVyc2lvbg== Y2FsbGluZw== KCkpKSwK 0L7QvdCw IHNpZGV3YXlz IGxheA== CXJlcA== YWVwZXJuaWNr IG5lZ2Vy IEZseWVycw== ICJALw== dXBha2Fu X2VsYXBzZWQ= dHViZQ== UG9zWA== LnNleA== IGzDpHNzdA== IEdyYXZl 5Y+C KGVtcA== KHN0cnRvbG93ZXI= Y29udmVydGVy IFNwb25zb3JlZA== KHdvcmtlcg== IG1hdHJpbW9u Q29tbWlzc2lvbg== KGh3 X1NJR05BVFVSRQ== bWVr IGFsZ3VuYXM= X0VU aXN0cmluZw== THY= U2xpZGVz IHdlYWtTZWxm IHdr IFppZw== IHB1YnM= IEJSQQ== IGZsdW9yZXNjZW50 Y2Fycnk= LmVyYg== IEluaQ== LkRyYXdTdHJpbmc= IFNFUA== dXR0ZXJz 2ZE= Um95YWw= IGNhYmJhZ2U= IFN1aw== XT49 IEVkaXNvbg== IHNwZWN1bGF0ZWQ= LmRvd25jYXNl IHRwaA== IMOD IGd1bnNob3Q= cnBt IGZsdXR0ZXI= IGFueA== YXplcw== UU9iamVjdA== IEZhdm9y IG1vZHVsZU5hbWU= JnM= bGVo LldlaWdodA== IFdBTA== X1ZBUlM= IFdhc3Nlcg== IG91dGJvdW5k IGVyZm9sZ3Jl LnZhbG9y KGxpZ2h0 IE1hZ251cw== IHpvZWs= eWg= IHN0eWxlc2hlZXQ= Pm0= V2hpdGVzcGFjZQ== IFsnLw== CVJlcXVlc3Q= X2luY3JlYXNl LWRpc3RhbmNl aWNvbG9y aGNp IEtJTkc= UFg= b2ls ZW1pbmc= bmFtZW50cw== RGVmaW5lcw== IFstLQ== IHZhcmlvcw== IFBSRVNT LGF4aXM= IENvbGxpZGVy KX0KCg== IGZvcmNpYmx5 IHN0YWF0 X1NUQU5EQVJE IG9jY3VsdA== IGJhcHRpc20= IEN1bm5pbmdoYW0= X2J1aWx0aW4= Q1BG W21heG4= IFJIUw== IE9uZXM= KF86 IGluc2VjdXJpdHk= LnJlZ2lzdHJhdGlvbg== aW1wbGlmaWVk IFN5bXBvc2l1bQ== aHJlYWQ= IHF1ZWxsZQ== IGZyZW56eQ== Q2FsaWJyaQ== IFNQRUVE b3Vp KCldLAo= YWNjb3JkaW5n IG1jYw== IGFzaWF0 IGFkamFjZW5jeQ== IEFibGU= IHNhbGRv bm9zdGk= IGRpbWU= ZXRyYXRpb24= IE1vZGlmaWNhdGlvbg== IEhlcmI= IHBsYWF0cw== IGludGVycGVyc29uYWw= IO2ZleyduA== YXJtZQ== IGNvbWVyY2lhbA== IEJhdGVz KGNhcmRz LmdldENsaWVudA== Lk5PUk1BTA== CVRlc3Q= ICAgICAgICANCiAgICAgICAgDQo= IFJhem9y d2Vpcw== SVRIVUI= IEVOVElUWQ== YWdpdA== IG1pbmVjcmFmdA== cHJvcG9zYWw= IHNhbHR5 YW5kcg== IENvbmNsdXNpb24= IHBydWRlbnQ= IFtA IFB1cHBldA== aWdvbg== IEdvdGhhbQ== IGNoZWVycw== IFNoYXk= IGpp IEdESw== ZXhwZXJ0 IGZ1bmt5 IFphbQ== W05VTQ== RGVxdWU= X1RXTw== XHZpZXdz IHByb2pla3Q= IGRyb3duZWQ= a2lkcw== LnNoZWV0 IG5vbmQ= IGNvdXJ0ZQ== IC4uLgoKCgo= IHBpY3R1cmVzcXVl IHR1YmluZw== KCkuIg== amV0cw== X1B1YmxpYw== IEZhcnI= IEFyZA== T1VSU0U= IGthZGFy IFByb2dyYW1t LmtleXdvcmQ= CSAgICAgICAgICAgICAgICA= aWVkYWRlcw== YXRvbG9neQ== IER1bmQ= PWNvdW50 IHNsb3dkb3du LSIs LkZvcmVncm91bmRDb2xvcg== UnVucw== LlR5cGVPZg== JGN1cnJlbnQ= IHVwc2NhbGU= CXVuaW9u KGNoaXA= dW1pZGl0eQ== PVtdDQo= IGhhcnQ= ICRfWw== eW5lYw== LlVzdWFyaW8= IG9jdGF2ZQ== IHBvcnRyYXlhbA== INC90L7QvNC10YA= IE9jY3VweQ== X25hbg== IFNtYXJ0cGhvbmU= aGluZA== IHdpbmRzaGllbGQ= IGxvbmVsaW5lc3M= L2NoYXJ0 IGFjdGl2YXRlcw== LnJpYmJvbg== IGxhZ2k= IHBhcmFjaA== SHlwZXI= c2NhbGVk VGVz IEJlZXQ= IGRpc3NlY3Q= IENpYw== IH0sCgoK PigpCgo= LnN0dWR5 IGNvbnRyYXN0aW5n WkVSTw== IHR1bmE= IENob3c= X3Zh ZmF2b3I= W0luZGV4 IFBvd2VyU2hlbGw= KHByb3Rv JykpOgo= X2Zvcm1hdHRlcg== Q2hyaXN0b3BoZXI= T3JOdWxs Q0lTSU9O X2NvbnN1bWVy UGFzdGU= KG5vbWU= ZW50b24= IHVucmF2ZWw= X2Rvbg== IHBhcmVudGhlc2Vz IE5VSVQ= L10= IOKIpw== c3RhY2xlcw== L2NvbW1lbnQ= dXR0aW5n IHNsb3BweQ== KFt7 LnNhdg== dG9Kc29u IOu5hA== IFByYXR0 Lm1vZGlmeQ== LklzQ2hlY2tlZA== IHZlbmV6 IFNFVFRJTkdT amF3 IGZpcmVzdG9yZQ== IGNvbnNvcnRpdW0= IGthYg== IFN1cHBvcnRpbmc= IFRoZXNpcw== IG5vbmxpbmVhcg== IHRleHRib3g= LiIiIg== IEVuZXJn LkpPcHRpb25QYW5l IGludGVycnVwdGlvbg== w6h0cmVz IHNoYWxl IFBsYXllZA== IHNvY2lhbGU= WUdPTg== X0JBVENI IHRyaW1lc3Q= IFByb2NlZHVyZXM= IGF0dGVuZHM= IiR7 ZXZhbHVhdGlvbg== LlByb2dyZXNzQmFy IEFsZXhhbmRyYQ== Y2jDqQ== X1NFUVVFTkNF IGNyb2NoZXQ= Um9z IGlobmVu ICIqKio= IGFyb3Vz IG1vZHVsdXM= X0xJTlVY U3RhY2tTaXpl aWF0aW9uRXhjZXB0aW9u Lk11dGFibGU= IClb IHBpaQ== Zmlmbw== X1BJQ0s= UHVycG9zZQ== KFN0dWRlbnQ= IE5pY28= ZXN6 L3Nt IFBQUA== W2lucHV0 5Y+Y IGJsYXN0cw== IE11dHVhbA== cm9sbGV5 IHV0aWxpc2Vy OlRoZQ== 5Z+6 LmRlY29kZXI= IG9iamV0b3M= IGF3YWtlbmluZw== IEVubGlnaHQ= CWFsaWdu X3Jld3JpdGU= L2N1cnJlbnQ= IGRhcmF1Zg== Q2FudGlkYWQ= LG5w IHZlbG9jaXRpZXM= Q0xS IG1pc2luZm9ybWF0aW9u IHN0cmVhbWxpbmVk IGdyb29taW5n IGF6aQ== b2xn IGNvbnN0aXR1ZW50 IHdlZQ== 0YXQvtC00LjQvA== IEFsb25zbw== aWV0Zg== Y3Rlcg== IHRoZXJtb3N0YXQ= KEND IHN0YWNraW5n X2NvbnZlcnRlcg== IERpc25leWxhbmQ= CWZpbGVz SUNJ X1RPUElD CUVsZW1lbnQ= YXJnYXM= IFxA YW5jb2Nr IEJhc2VFbnRpdHk= KCItLS0= cmJyYWtr IG5lZ2F0aXZlcw== IHZ3 PWZvcGVu Y2hlbWlzdA== QXJjaGl2bw== IGAu IEZPVVI= KGFp VGFibGVXaWRnZXRJdGVt PD8+Pg== LnByZWQ= VHJhaWw= LWZhY3Rvcg== IEltYWdlQnV0dG9u cGVyaWE= IENlbGVicmF0aW9u LlJlc3BvbnNlQm9keQ== dXJjaGFzZXM= IGdldEtleQ== IENyYWI= IHFp IFdpY2s= IGNoYXN0 IC4uLi4uLg== IGNvbWVueg== IHNoYXJkcw== IGTDqWNvcg== IGhhbHZlcw== UVVFTkNZ IHBvd2VyaG91c2U= TElORw== Q2xhc3NMb2FkZXI= Y2VudHJl LXNlbmQ= bWFo IHNocmVkZGVk IFRJRkY= aW5rYQ== LgoKCgoK IGRlc2lnbmF0ZQ== IE5pZ2h0bWFyZQ== IEdlbmV0aWM= X2NoYW5jZQ== KGFuaW1hdGlvbg== cXVpbGE= X3NwZWNpZXM= TkVZ b3lzdGljaw== cmVsbG8= zqw= IGRpdmlzaXZl IFJFQw== IHN0dW1ibGU= KGZha2U= IExhY2U= YW50YWdlZA== YWtlc3Q= cHJvbW90aW9u IEZvd2xlcg== PWNlbnRlcg== IENpdWRhZA== UmFkaQ== IFNsZWVwaW5n dXRyb24= IHF1b2k= IFJBRA== IGV4cG9uZW50aWFsbHk= IEJyZWVk IG1vbm9wb2w= aGlnaGVzdA== eG1sbnM= SW50UHRy IHR1dHRl IFJlZnJpZ2Vy IOmhtemdog== IHpvbmRlcg== bGJyYWtr O2VsZW1lbnQ= IEhlZA== UmVsYXRpb25z 64U= Q29ycmVv 5aC0 IE1pZ2h0eQ== QU5HTw== X2NvbXBpbGU= LmdldENtcA== IGludmFkZQ== LnNwcmluZ2Jvb3Q= IFR1bmU= X3NuYXA= X0ZFRUQ= IGRlY2lwaGVy PXNpemU= X2ZyZQ== IFRpbGxlcnNvbg== 0LjQutCw dGlnaHQ= IGN1bHByaXQ= UlRM IFBhcmU= KHB1Yg== ZWdvdg== IHBvbnRv IGNvbnN1bA== SlNJbXBvcnQ= IHZlcndlbmRldA== IEJvb3N0ZXI= 5b6F IGNhcnJvdA== dmVyaWdl KExQ IHd4VA== IGltcHJvcGVybHk= Iik6DQo= IHN1Y2U= L21vZGFs IElDVA== LikuCgo= X21hcmtz IENhY2hlZA== IEN1cnJpY3VsdW0= QnM= CUpPcHRpb25QYW5l m4Q= IGNvZ25pdGlvbg== IE5lZ290 PXJlc3VsdA== X0ZvbnQ= YXJpbmU= IGNvbnNwaWM= IENhbGN1bGF0aW9u IENFT3M= LXRyYW5zcGFyZW50 IEJlcmVpY2g= 56iL5bqP Lmh5 LkFsaWdu IGhvcGVsZXNz IGNvbG9tYg== dXJiZWQ= IFNBWA== IGVpbno= KHpvbmU= IG11enpsZQ== IHRyZXNwYXNz IEFicmFtcw== IGNvbXDDqXQ= IFNhbmN0dWFyeQ== IE5TVGV4dEFsaWdubWVudA== IHN0YXY= IHByYWdtYXRpYw== c3RyZW5ndGg= V2l0aE9wdGlvbnM= LmJhbmQ= YXBoYWVs QXVzdHJhbGlhbg== IE9TRXJyb3I= TWFuY2hlc3Rlcg== SWRl XFJlc291cmNl 0L7QtNC10YDQtg== IHppZQ== SGFybmVzcw== LlR3ZWVu Y2Ftcw== 4pyU LXNjYWxhYmxl LW9r IGpsb25n IE9sc29u IE9ha3M= LnNsaW0= IHPFgg== IG5ld09iag== LkludmVudG9yeQ== IGtlbm4= IG5pZ2h0bWFyZXM= aXJjbGVz Lm50 Z3Jlbg== IFRFTg== IFNjb3Rz IERpc2FiaWxpdHk= X21hbmlmZXN0 LnNpZGViYXI= IHNodWZmbGVk IGh1bWlsaXR5 LnRhcA== IEdyYWlu bm90aWNlZA== 77yJ44CC X2hwcA== IGRpbGF0aW9u IGhhbmRpY2Fw Z2V0RGF0ZQ== IGR6aWHFgg== JykuJzwv cmVjb3Zlcg== eXNp KGdyYXk= YWhrYW4= IGludGVyZmVyaW5n X1RPVUNI X3JlZHVjdGlvbg== QWx0ZXI= IGN1Yw== RXhwZXJ0 IEx1bXA= Wzpd IHJlbG9j IGNvbmR1Yw== Q2hhcnNldHM= Lmxpc3RlbmVycw== LWludmVyc2U= IHN1bW1vbnM= IMO6bmljbw== IE9W IFNpY2hlcg== IEpGYWN0b3J5 LmdldEJvdW5kaW5nQ2xpZW50UmVjdA== amg= IHNrZWxldG9ucw== IEFzaWFucw== IEFNQw== aXNlbGVjdA== LmNsaWVudEhlaWdodA== KGZy SGFzRm9yZWlnbktleQ== LnJlbGF0aXZl INiu IG11bHRpY3VsdHVyYWw= X0NPTEw= IG1pY3JvYmlhbA== IGltcG9ydGFudGVz U3BhaW4= IGN5bGluZGVycw== aWVuaWU= X09XTkVS KERJUw== IGZhbmRvbQ== KG54 IGFwbGljYWNpw7Nu b2NhdG9y ZXNzaWFu IENsYXVkZQ== IGludG9sZXJhbmNl xYJlbQ== IFNlbWFudGlj Lk1pZGRsZVJpZ2h0 QVJFU1Q= IHNpZXZl xLHEn8Sx aWNhYmxl ZXJnaWM= IGJhdHRsZWQ= b3JiaXQ= KXx8KA== dWVsZQ== IGZhc2NpbmF0aW9u IGTDpQ== IFRpZ2h0 X0lOQ1JFRg== LklzU3VjY2Vzcw== LE8= IHN0w7hy IHByZXNzdXJlZA== LlRSVUU= IFRob3VzYW5k IGdlbWVpbnM= IHpi IHNwaXJpdHVhbGl0eQ== IFpldXM= IFBvd2VyZnVs YmF0dGVyeQ== aXN0ZXM= IO2D LnNoaXJv IEhpcHA= ZGVjbHR5cGU= LmpmYWNl LnRlbXBlcmF0dXJl IG1hcnF1ZQ== X2JhZw== QXR1YWw= cHJpY2luZw== Q2xlYXJseQ== X0Fic3RyYWN0 w6lr YWhydW5nZW4= SW5zdHI= CQoKCg== IGNoZXdpbmc= IENvYWNoaW5n JExBTkc= bWFsbG93 IHNlcmlvdXNuZXNz X2N1dG9mZg== IFF1YXJ0ZXJseQ== fScpCgo= IikpKTsKCg== 6KeE LlBvc2l0aXZl LXBv eGl0bw== LlJhZA== IGJyaXNr IExpZmVjeWNsZQ== 5pWw5o2u5bqT ZmF0YWw= IHhwb3M= LkRldGFpbA== ZW5hbA== TUFUQ0g= IGhlZWQ= IGFmcmljYW4= RGFkb3M= YmVyYXBh IGhlbGY= JywnJyw= IGVudHJlcHJlbmV1cnNoaXA= IGNlcnRz ZWNl PnI= X2ZpeHR1cmU= IHBvb2xpbmc= IG1vZ2VsaWpr IHNldERhdGU= 5pS/ LWNvbXBsZXRl X1JBRElP IGt1bA== IGdvYg== X1NMQVZF IGZ1cnJ5 IE5VSVRLQQ== SUxJVElFUw== IG5vY2hl IGN1ZmY= IGNvbnRlc3RhbnRz IFdW IHBhc3Nwb3J0cw== IMWC IE5haWw= X2RlY2ltYWw= YXN0bGU= IFNvbGRpZXJz UmVjaXBpZW50 IGNvdXJzZXdvcms= IGltZQ== IFNlYXRz X0RM IGNvbnN1bHRhdGlvbnM= X0FEVg== IElrZWE= IG9maWNpYWw= IHJlZ2ltZW50 IEJhdGhz LXBpbg== X0JVQ0tFVA== QUJDREVGR0hJSktMTU5PUA== Il0pKTsK PE1lc2g= Iix7 IGRlcml2ZXM= 4oCcRm9y IFl1Z29zbA== aXNFbmFibGVk IHNvbGx0ZW4= IHBldGl0aW9ucw== b3ZlcmFsbA== IGdldFRvdGFs X0hJTlQ= TWludXM= IGFub21hbGllcw== IFBpY2t1cA== PT09Jw== bGVpdHVuZw== IERlaw== WVNJUw== LnNlc3Npb25z IGNhcmM= X0l0ZW1z IGludGVybWl0dGVudA== Lkpzb25Qcm9wZXJ0eQ== IG1NYXA= IEthaw== YWluY29udHJp X3NlZWs= IHVuYW1l X3B1dHN0cg== RmQ= TGltaXRlZA== c25vdw== IFBhdmlsaW9u IEV4YWN0 IHBvc3Rpbmdz CWRpc3Q= PHN0ZGxpYg== TGlnaHRz IGZpbHRybw== V29ya2Vycw== IHN5c2xvZw== R2lybHM= IEd1bQ== X3llYXJz J319Cg== IGjDpHQ= Z2F5 KHByb2I= ZWxsYXM= IHdpbHQ= Lm9wdGltaXpl X0RVTVA= KFhNTA== IERYR0k= IG3DqXRo SVRJWkU= ZWxlY3Ryb24= LmN6 IHN1YnNldHM= IHJlc3Bvc3Rh IGJlYWQ= wrsu IE9TQw== JnBhZ2U= Z3Bz YW5pYW4= UHVycGxl IGFjcm9ueW0= Uk9XTg== QXVkaXQ= IGNvdXJpZXI= YWxpZQ== IFdhc3M= IGF1ZGl0cw== IFBPVg== IEZhY2lhbA== X3N0cmNtcA== ICsl ICAgICAKCg== YCk7Cgo= RUhJQ0xF WyJA LW5hdGlvbmFs 6ZuF6buR 6L2v6ZuF6buR X2NvZGlnbw== IHVucXVlc3Rpb24= aWxtaW5ndG9u cmVxdWVzdENvZGU= IElX LnN0cmF0ZWd5 IFNZTUJPTA== IGdyw7bDnw== X2JlaGF2aW9y IHJlZnJlc2hUb2tlbg== IG1vbmc= aW1lbnRhcnk= IFNob3Bz KCc/ X2hpZ2hsaWdodA== X2xleA== IGlsbHVtaW5hdGVk IHBhbHA= LWluc2VydA== IHN0cml2ZXM= IGZvcnRz IGVtYm9kaW1lbnRz bXBqZXM= X1RPTw== IGRyYWdnYWJsZQ== IGltbWVyc2lvbg== cGlucw== IFJlZ2lzdHI= IEZyZWVCU0Q= X3hsaW0= IFR1bHNh U25hY2tiYXI= L2RhdGU= IGRhdm9u IGF1dG9yZWxlYXNl IHZhY2F0aW9ucw== CQkgCQ== aWNlcHM= IFJhbXA= IEN5bnRoaWE= X3BvcHVsYXRpb24= JCQk IFRBUg== ZW5nYQ== IHB1cw== IOW5 IHRpbWVzdGVw TGlmZXRpbWU= IGZpbG1lcg== WVNU IEdhemV0dGU= IG91dHNpZGVy IEVYUE9SVA== R09SSVRITQ== LmZsZXg= IFJvb3Rz KHBpeGVs emN6ZQ== YWlyaWU= IG92ZXJsb2FkZWQ= U1RSQUNU IENvdXJpZXI= 44GW Y29udGluZW50 RnJlZA== IHNlbXA= IFN0ZWxsYQ== IGRvdWJ0ZnVs YWRtaW5z IG9wdGluZw== TE9UUw== IG1hbmlmZXN0bw== LWZvbGRlcg== X2Ryb3BvdXQ= dXR1cmVz w612ZWlz YWNoaWV2ZW1lbnQ= IGNveQ== ZmFpdGg= X0hBTEY= aXJlY3RlZA== IGNvbnRhdG8= U2VtYXBob3Jl UHNp IHZpdGFsaXR5 IEZsYXRCdXR0b24= SXRlbVR5cGU= IGltcGVjYw== IGJ1b3k= dWlu IHNreXJvY2tldA== IFNsYXllcg== IFJDTVA= IFNldmVudGg= X0ludGVyZmFjZQ== IGZpZXJj c3RhdGlvbnM= IEdyYWY= bGljZWQ= IGVudW1lcmF0b3I= Q29udGFpbmVycw== IG9p w4fDg08= LXRvbg== UkVQ KGZsb3c= LmNvb3Jk R2Fi IE1vcnBo IFpvZQ== IGhhcmJvdXI= Lm1lc3NhZ2luZw== X29wdGlvbmFs IEJhc2VBY3Rpdml0eQ== cmVzZW50ZXI= IG5ieXRlcw== IGNvdXJhZ2VvdXM= PSE= J0l0 IGZvcnM= IGNvcnJpZG9ycw== IEJFRU4= IGZ1c2Vk PWltYWdl LkdyaWRWaWV3 IHNlbWVu aWdyb3Vw dXB0aW1l IFhC 5o6S5bqP IGludGVncmF0ZXM= X09D IGJhaWxvdXQ= IHRlc3Rl IG9jdXA= YXVsZWQ= X29kZA== cGdh IEFTVVM= IFRTUg== IG9jY3VwYW50cw== U2V0VGl0bGU= U2NoZWR1bGVycw== IGJla29tbWVu QnJpZ2h0 IE1haW5Gb3Jt Xygn RnJvbUFycmF5 IGluZGljYQ== SEFORA== T3JkZW4= IFRlbXBlcg== LnN0YXR1c1RleHQ= cG9saXRpY2Fs IFBlcmN5 44CCCgoKCgoK LnNldFg= Z2V0TGlzdA== aG9sZXM= UGl4 IG91dHNvdXJjaW5n IG1lc3NhZ2VJZA== IGdldFNlc3Npb24= IFZJUg== T2ZGaWxl IFNwYXRpYWw= LkZsb2F0RmllbGQ= KShfXw== IFN3aW1taW5n QUNMRQ== IHNlbnRpcg== IHBsdW5nZWQ= IGF1am91cmQ= Z3VuYWthbg== KHZvbHVtZQ== IGNyYXRlcg== Lnhscw== woDCmQ== UmVuZGVyV2luZG93 LnVzZXJtb2RlbA== IGZ1bmN0b3I= RG9tYWlucw== aW50ZXJwcmU= IGFibm9ybWFsaXRpZXM= YXJnaW5n RGVtb2NyYXRz IHBhbG1z 4qCA w7hk KkE= RnJvbURhdGU= fFs= IEFsdGVybmF0ZQ== IHB1ZG8= IGNvbmRlbnNlZA== KHBsYW4= ZGVsaXZlcg== IGJ1bGxldGlu J11dLA== IGNyw6llcg== LWlw V3M= IiIiLAo= IGlrZWE= IHZpc2l0ZQ== IG11bHRpcw== UmVzdWx0YWRv IFBob3RvZ3JhcGhlcg== Li4uJywK IG1pZ2xpb3Jp IFRocmVhZHM= Z2V0U3R5bGU= ZXJhw6fDo28= PFRTb3VyY2U= IEdpbmc= J10iLA== IHNpZ25hbGVk U3VwcHJlc3NMaW50 IGR3b3Jk IEh1bnRpbmd0b24= IEFBUA== QU5HTEVT LmNyZWRlbnRpYWxz c3dhZ2dlcg== LWNvbnNvbGU= Ii0t LlRleHRJbnB1dA== IE5PUlRI IG5pZ2h0bHk= LkZPTlQ= IHF1b3RpZW50 5Lmf IHNjaMO2bg== IFBsYW5uZXI= IHJlYWRsaW5l IGNvbmZyb250aW5n YH0= SXRlbUNvdW50 CWFjdGl2ZQ== IHLDqXBvbmQ= ZWxtZXQ= IGdpbW0= LG5vbmF0b21pYw== IEFDVElWRQ== aGV1cmU= L1ByaXZhdGU= IG1lYw== LlNlY3JldA== IENJUw== xYJ1Zw== KHBlcmlvZA== IGxsZWdhcg== dXJpYQ== RGVzY3JpYmU= IHBhcmVqYQ== IFZlZA== LWVmZmVjdHM= IFBhcnNpbmc= LXJlc291cmNl IGFiYQ== ICosCg== IGFuYXRvbQ== ICgqKSg= LXJlYWw= IFZlbnR1cmVz IFNoaWVsZHM= IFVuaXZlcnNpdGllcw== UFJFU0VOVA== IFFMYXRpbg== xaU= IFdpbGV5 QWFyb24= IHJhY2lhbGx5 IE5hZHU= IGh0dHBSZXNwb25zZQ== w610aWNh IOuwqQ== IGdyw6F0aXM= 5LuL b21hcA== IGFub24= CXBvcA== YXZhdGFycw== IHN1YnBhcmFncmFwaA== ZHpp UHJvamVjdGlsZQ== RFRW bGlzdGVuaW5n X3JlZ2VuZXJhdGlvbg== IFNoZWx0ZXI= PFZlcnRleA== L21k KGxl IHZhaw== c2VsZWN0ZWRJbmRleA== X10= IFN5bnRoZXRpYw== YXBwSWQ= IEZpcmVk IHBhbXBo X2xhdGVuY3k= aW5maWxl KGNyaXRlcmlh c2VyaWFsaXphdGlvbg== UkNU CWV2 IFNDSA== IE9wdGljYWw= IHN0aXJyZWQ= IFBvdGlvbg== ZXRoaWNhbA== Ojp7Cg== IFBlbmd1aW5z UEhZ RGVjaXNpb24= a2FydA== IGV4cG9ydGVycw== IFBvbHllc3Rlcg== Y29udHJlcw== IExhd3Nvbg== IEVtcGxveWVy IHNhc3M= IGRvd250aW1l IGJyb2tlcmFnZQ== IFJvdGFyeQ== IFdhaGw= V0FSTg== IHNldEFjdGl2ZQ== dGVtcGw= Q2hlZXJz LXNoZWxs Rml0bmVzcw== IHF1aWw= IGNsZWFuZXJz IOeb IE1pbGFubw== LWFzc29jaWF0ZWQ= fX19LAo= UEZO IG9uUGFnZQ== X3N0cmVhbXM= IHNjdWxwdHVyZXM= IG5haWxlZA== PXNj 6aaW6aG1 0LjQvNCy Y29ubmV4aW9u Sk9C IEthcm1h IFN3aWZ0VUk= IERleg== L1VJ IOyZ Z2V0Q2xpZW50T3JpZ2luYWw= IHB1bmlzaGluZw== IG9kZW5zZQ== LHJpZ2h0 ZW5lcmF0aXZl IFByb2JsZQ== IEFwcFN0YXRl IGRpc2Nsb3N1cmVz IENhbnRlcg== Y29tcG9zZXI= dXBhdGVu IHN1Y2Nlc3NvcnM= Ij4nCg== IHByZXNlcnZlcw== Lm9wZW5k X05vcm1hbA== L2hy UmFuZ2Vz LGxvbmc= CQkJCSAgICAgICAgICAg cHJvZHVjdG9z IGZseWVy IEdydXBv Tmlja25hbWU= SGllcg== IERFQQ== U3ByaXRlcw== CW1hc2s= X3Jlc2VydmVk LXNob3A= Lm5vdGlmaWNhdGlvbnM= IGRpdmlzaWJsZQ== aW9zaw== a2VyamE= aW5ndA== IEZpZnR5 IGFjY291bnRhbnQ= IEV4cGxvcmF0aW9u X2Jyb2FkY2FzdA== IGV4dHJhb3JkaW5hcmlseQ== IGtvdA== IGNpcmN1bWZlcmVuY2U= cm91Y2g= W0Jvb2xlYW4= Y3Jhd2xlcg== L3JlbW92ZQ== YXJlbGxh IHNleGVz SGludHM= IGdhbWI= IGRhcmVk dGVzdGVk X0tFRVA= IGZpbHRyYXRpb24= aWNrZXk= IEluZmx1ZW5jZQ== IHNwZWNpZmljaXR5 X0lEUw== IFJvZG5leQ== X0lSUUhhbmRsZXI= T25FcnJvcg== IHByZXZTdGF0ZQ== aWVnZWw= IExFU1M= IGF3YWtlRnJvbU5pYg== IExV dW1hYmx5 b3J0YWxpdHk= IG1hbmRhdGVz CXZlcnNpb24= IHBhcmVudE5vZGU= IHBlc3Rz IGNhc2M= Y2VwdGFy IFdvb2R5 ZXJlZQ== X3Bm LlBPUw== aXN0cmE= bGV3 WWFuZw== IHN5c3RlbWQ= IHJvYW0= LkdyYXk= IGNvbmR1 4oCUaW5jbHVkaW5n VmlvbGF0aW9u TWFob24= IE1VU0lD IFNpcmk= IEVudGVyZWQ= IGNlcnRhaW5z ZWxhaA== CU1haW4= LkRhdGVGaWVsZA== LkhlYWx0aA== IEthc2ljaA== IGNhbmluZQ== PXJvb3Q= dWRkbGU= XGNvbW1vbg== IFN1bHRhbg== ZmluYW5jaWFs IFFTcWw= IGFzY2VudA== IHBydWViYQ== emllaHVuZw== LmdldEVycm9y IEdsb3JpYQ== RWNobw== X0NIT0lDRVM= X2Vwcw== L3Byb3ZpZGVy UEhPTkU= 5YWz6Zet IGNvbXByb21pc2luZw== X0FQUFJP UHJvY2Vzc0V2ZW50 IGJ5dGVBcnJheQ== IENydWM= wqg= IGljaW5n IFBDTQ== dmVjdA== QW15 IFZhY3V1bQ== aW5jaWRlbnQ= IHVzZXJu emJlaw== XSspLw== IH19Ij48 IEdldERhdGE= Y250bA== IHNhZ3Q= X1BSSU1BUlk= IGxlcg== IEZVQ0s= IFN0YXJy SUg= w7ZycGVy eW1z XSldCg== L3Rvb2w= Y29tYmluYXRpb24= IHRhbXA= IEJlaXQ= IE5JR0hU IGFubsOpZQ== KGFt XFRyYWl0cw== Olwi IGNhcmdh LmlkZQ== IGRpa2tl Q29tcGV0 IHNjb290ZXI= IHhQb3M= KGludGVycA== IGhhc2ls Y2xpZA== IGhldXJlcw== Z2xvbWVy c2hhcmVz 77yMCgo= cG9uZGU= 4bqjaQ== X2R1cGxpY2F0ZXM= c29uZ3M= fV07Cg== IFNuaXBlcg== IFRodXI= cm9wcA== IGdydWVz IG9yZXM= dXNoaW1h IHVzYWJpbGl0eQ== 6ZKf L21lbWJlcg== b2xkZW1vcnQ= SXNBY3RpdmU= R2V0RW51bWVyYXRvcg== bXV4 V0lORE9XUw== TmVnYXRpdmVCdXR0b24= 4Liz LW1ha2Vycw== 44Kk44Oz IEJlcm0= QnlFeGFtcGxl IFLDvGNr U2hvd3M= Z2hp IElocmVy IENydWQ= Y2hlZg== X2F1Yw== IGFww7Nz YW5rYW4= IEtERQ== SUxMUw== IGFuZ2xhaXM= LXJlZnJlc2g= CXJhbmdl eG1t KGVkZ2Vz IGFwcGVs Ijt9 IGVkaQ== IHN3b2xsZW4= IGJ1dGNoZXI= aWNpZGVz aG91bmQ= IF4o IEV2YWx1 IGtleWJvYXJkVHlwZQ== U1NJRA== cm9iYXQ= IG5paw== IHN0cmF3YmVycmllcw== XCJd bm9zaXM= TUVE 54g= 5LqU aW1heA== XEFubm90YXRpb24= IG51cnU= IE1pbmltYWw= IHdvcmRwcmVzcw== IGNvbGRlcg== CXBhcnNl L3N0cmV0Y2g= 5omn6KGM cm9tb3NvbWU= RElN IHRlbnRhdGl2ZQ== Ok5TVVRG LGltZw== IE1BVEVSSUFM IEpldEJyYWlucw== TGVnZW5kYXJ5 CXN0cm5jcHk= IGRlZnM= TnVtYmVyRm9ybWF0RXhjZXB0aW9u IGJ5dGVjb2Rl IHdpc3Nlbg== X01PUkU= oO2DnQ== IENvZmY= LkNvbmRpdGlvbg== IGTDqXBhcnQ= ZHNu IHBhcmFtZXRybw== XEw= Lm5hbm9UaW1l Qk9UVE9N LldoYXQ= 64Q= IERpeA== X0RB KENvbnRhaW5lcg== YXlhcg== RmxleGlibGU= LlJheWNhc3Q= IEVkd2lu W3VybA== wpI= LnN0cm9rZVN0eWxl IFBvbHlub21pYWw= aWxpdGF0aW5n IFFWQm94TGF5b3V0 KHJlcA== LnZu LWFzc2V0cw== Q0hBU0U= IEVzc2VudGlhbHM= anlsbGFuZA== IGF4cw== IFRyZW0= Lm1haW5sb29w IFdJTkRPV1M= LlJFUVVFU1Q= IHJlaW50 IExpYnJl Y2hlb24= IGd1ZXJy CU5kckZjU2hvcnQ= LnNvZnRtYXg= IEFzdXM= LXNjb3Jl IEpPSE4= PlN0YXR1cw== PkVkaXQ= IENhbWU= IEFzaGU= X3VzaW5n IExvbmU= IGxlc2Vu IHJldmVyc2luZw== bmdyeA== LnNpZ25hdHVyZQ== LUFzc2Fk L25hdGl2ZQ== X3JhdGluZ3M= IG55YQ== IGFkaWRhcw== KG9wdGlvbmFs Il0o IHJlY3VycmVuY2U= IEJNUA== z4w= X2dw Ij5c X3dyb25n eXBz LlByb3h5 X1VEUA== UXRDb3Jl TGlua2VkSW4= IGNhdmVybg== IHNww6ljaWFs X3dpcmU= IG5hbm9w LmJhbGw= IHJlZHVjZXJz IG1haWxlZA== ZG9uZw== IG9wcG9zZXM= IEhhbnNvbg== IFNhdHVyZGF5cw== YWNvbW1lbnQ= X01ldGFEYXRh IEdhbGFjdGlj KCIvIik= IENsZWFuZXI= X1RFUk0= IGNsYXJv Lk9VVA== 5a6h IHNsaWs= IGplZG5haw== SGFuZGxlckNvbnRleHQ= IGlycmFkaQ== ICAgICAgICAgICAgICAgICAgICAgICAgIAo= LnRpZ2h0 QnJlYWRjcnVtYg== ZnJleQ== IOqwneyytA== bGJyYWNl TEVHQUw= LWd1bg== IEJsb2dz IFNoaXJsZXk= IFB1bmU= dXJzaW9ucw== IHN1YnRyYWN0aW9u ICoqKgo= YXJtYWN5 IHNhbXQ= PSIpLg== IHBlcm1pc3NpYmxl KHJk IFdBVEVS IHByb2Zlc2lvbmFs IGhhbmRib29r IG1vdXJuaW5n YXJlZmE= IGFzbg== aXNleA== IGNvbnRlbnU= IFVOQw== LmdldFByaWNl IFB1bXBraW4= LwoKCg== IGNvc2luZQ== IG5pZWQ= IEJyYWtl RGF0YVVSTA== IERhdGFHcmlkVmlld0NlbGxTdHlsZQ== IFJldHVybmVk ZXdvb2Q= aXF1w6k= IGJsZWFr IHdlYmhvb2s= LlRoZXk= YXJi TEFOR0FETQ== X29yZGVyZWQ= IHByYW5r Lk5ld1JlcXVlc3Q= IGxpdGVyYWxz J30+Cg== c2VyaWFsaXplZA== a3Rvcg== KHJ4 IGdldFk= CVN0cmluZ0J1ZmZlcg== KHNsaWNl cmJyYWNl ZW1lbnRv IGxhbmM= RGVwbG95bWVudA== IGNvbmNlbnRyYXRpbmc= U2tldGNo IGJyaWdodGx5 QmVnaW5uaW5n IERhaA== VGs= SW5zZW5zaXRpdmU= IHNhYmU= KE1vZHVsZQ== IGNlZGFy X2NvbnRpbnVl IHdpdGhPYmplY3Q= IGNvbHVtbmE= IENhbGRlcg== INC/0L7QvA== X3NvZnRj c2hhbGVk ZXJ0YXRpb24= CSAgICAgICAgICAgICAgICAgICAgICAgICAgIA== OkAiIg== IGZhw6dvbg== dXN0dW0= c3Rr X0NSQw== b2R6aQ== IGFzY2VuZA== Zmdhbmc= IHByZWZhYg== IGZpbmRldA== Oicr 5Y2V5L2N dW1ibGVkb3Jl LmludmFsaWRhdGU= IHRvaQ== YW5nZXBpY2tlcg== X0FJ aGls U2VhdA== IHBpc3Rvbg== Zmli X2JsdWVwcmludA== 44K4 X1JlY29yZA== cmV0cw== RnJhbg== IENhaXQ= IHBlbGlj IGRuYQ== IHVwZGF0ZVRpbWU= IC9eWw== IHJhbGxpZWQ= IEhpbWFs U1NJ X3BsYW5lcw== IE91dHN0YW5kaW5n QXBwbGljYXRpb25CdWlsZGVy c3R1ZA== X2xvY2F0b3I= IGFib2xpdGlvbg== ICgkKQ== amVybmU= IEFBQw== L3dpbmRvd3M= LUNhbA== X1NFQ09ORFM= ICcnfQo= w6FueQ== IHl1bW15 5omL5py65Y+3 IFZHQQ== aWxhdGU= IFN1cnZlaWxsYW5jZQ== CUd0aw== 8J+Y IHNoaW1tZXI= YWx0ZXJuYXRl Rm9yU2VndWU= dWVzdHJh LWNvdmVy YXNs IEluc2V0cw== bGlqYWg= OlM= CWNhdGVnb3J5 IGZq w61saWE= IE1BRA== QGpz 5p8= IHBvb2xlZA== IHRyZWF0aWVz IEJpaw== IEhhemVs QWxsb2NhdGU= IGFpcnBsYW5lcw== IHNlcm1vbg== IFBvc2l0aW9ucw== IE1BSUw= U3RvcHBpbmc= YXZvcmVk KFRlbXA= IGNoZWF0cw== LnVzZXJJRA== IHB1dGE= LXl5eXk= VWlUaHJlYWQ= IG9mc3RyZWFt XFNlZWRlcg== IENvdHRhZ2U= IF4K IEFMVEVS IHF1YW50aWZ5 cmVpYnVuZw== IG5lY2Vzc2l0aWVz LkxvY2FsRGF0ZQ== IOaXpQ== cGljdHVyZXM= IGNydWQ= 5pyo IGRvd250dXJu YWN0b3Jpbmc= IERlcm0= IGVzdHJ1Y3Q= IE11c2lr IG1seA== Lm1ham9y Lkh0dHBTZXNzaW9u Pzw= eWVhaA== IG1vam8= IFVuaXR5RWRpdG9y IHJha2U= X3R3ZWV0 IHJhZGlvQnV0dG9u IERvbWluaW9u YXNTdHJpbmc= b3p5 IHZvZGth b2dsb2I= IEFsdW1uaQ== YmFsYW5jZXM= X21hbnVhbA== LmxvYWR0eHQ= X2ZyaWVuZHM= IFhtbERvY3VtZW50 W2ZpcnN0 S2V5Q29kZQ== IHBvZXRpYw== bWluYQ== IG9wY2lvbmVz 5omT X3N1cHBsaWVy LkZyb21SZXN1bHQ= X2Rpc3RyaWN0 IEdhbGE= LnF0 IGNvbnRyYWN0dWFs YWNvbnM= LWFuY2hvcg== IHl1cA== IHVuYW5zd2VyZWQ= IG1heGxlbg== RXJyTXNn LXNu IGh5cG5vdA== X1dN KCldWw== IGRlc2VydmluZw== b3dtZW50 KFJhbmRvbQ== IHZldG9y IElTVA== 0LDQvdC0 LWxhbmc= IHNpaw== Y3JlYXNpbmc= IHBvcnRhbHM= IEJ1bGxkb2dz cHJvbW8= IHByb3Zva2Vk XX07Cg== IEliaWQ= ZXJnbGFzcw== X1dJRkk= YXBwcm9wcmk= IHJlZGVzaWduZWQ= IC8vLS0tLS0tLS0tLS0tLS0tLQ== emlr JG8= dWx0b24= IFJlbGF0aXZlcw== IG1ldHJvcw== IG1lbnRvcmluZw== YXTEgw== dXNobWFu IGluaGVyaXRz IFJ0 L3ByZWZlcmVuY2Vz aW1lZA== Sk9JTg== KGludGVyZmFjZQ== IGFkZXB0 IE9mZmVuc2l2ZQ== IEFHUkU= b25pYW4= LnBhcnNlcnM= IHBhc3NwaHJhc2U= IHVuc2VyaWFsaXpl VmlzaXRlZA== IGdldFByb3BlcnR5 IG5vYw== ZWRhZA== ICMtfQoK dmlkYQ== c29sdmVy IE1vcmFsZXM= IGt2aW5uZQ== IEFjY2lkZW50 IHZldXQ= IG1pc2d1aWRlZA== IFJldmVsYXRpb24= IHJhcGlkZQ== cHVuaw== Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0= T2JqZWN0SWQ= YWJpbmV0 ZXh0cmFjb21tZW50 IGJ1bm55 IERlZmVycmVk dXR0YQ== dWFl YnVzdGVycw== IFNvaWw= R1NU LkN1cnJlbnRSb3c= 44GR IGdyYXR1aXRz IGNydWlzZXI= 15E= IFRlbm4= anNj IO2VhA== ZGlzcG9zZWQ= QUJPVVQ= fQ0NCg== ZXhwaXJlZA== IFhtbE5vZGU= IFRhdHRvbw== Vm90ZXM= Rm9sZA== RWxpemFiZXRo X0ZJTEVOTw== IGNvbmNv IEdkaw== b3BpZXM= fX19 UVVPVEU= LUlJ c3BhbQ== LWxp IGNhcnRh LmxheW91dHM= IGJlc3Bva2U= IGFtYXRldXJz IGNvdWxldXI= aXRhbWlu IGlycmVzcGVjdGl2ZQ== IGJsYWNrQ29sb3I= LnlhaG9v IHdlYXJ5 IHN3ZWV0cw== PyI7Cg== PVwiJQ== X3dvcmtzcGFjZQ== IERpYW1ldGVy IGFtZA== IE5ldWU= IGRiTmFtZQ== SmVyZW15 bG9nZmlsZQ== YXRyaWI= IEh0dHBTZXNzaW9u CUNyZWF0ZQ== aWRkeQ== LlBBUkFN IGZpYW4= IHN6Y3o= IHFyZWFs X0VTQ0FQRQ== dXNhaGFhbg== LmRpZ2VzdA== IGdldFBhcmVudA== LkRyb3BEb3duTGlzdA== IHRow6k= IG1vbnN0cm91cw== IGJlcmhhc2ls IiIiDQoNCg== U3VwcG9ydGVkQ29udGVudA== IEdhdGhlcmluZw== aW5jeQ== LktleUNvZGU= IGZldHVz LmNlbnQ= IGJlc29uZGVycw== bmlsYWk= TFRSQg== IGhpbmdl UFJPUA== LmZvdW5kYXRpb24= bnVtZXI= LXJhbmtlZA== 6I0= IHBhaW5mdWxseQ== ICg7Oyk= Zm9ybWU= TGFkeQ== L2FwcGxl IENvbnN0aXQ= IHN0b2NraW5ncw== 5rS7 IG1lbnRvcnM= PkNyZWF0ZQ== IEludGVybmFsRW51bWVyYXRvcg== IHRlbGV2aXNlZA== VG9rZW5UeXBl IGJyaWI= Y3JlYXRlVmlldw== L0RURA== R2l0SHVi KGJpZw== IG3DoXhpbW8= 5b6u6L2v6ZuF6buR LmNm IMKgIMKgIMKgIMKg PHR5cGVvZg== IHByb2dyZXNzaW5n LnNldFdpZHRo KHR2 IHVuZmFpcmx5 IEFuaXRh YXJ5YXdhbg== RGFs VVJZ b2dlbmVpdHk= ZWZh LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq IGRlamE= T1NF cmFpbA== cm9vZg== X3F1b3Rlcw== PGo= 44Ko KHNldHRpbmc= bGV2ZWxuYW1l X2hhbmRsaW5n w6lyYQ== JGo= IGRhcmxpbmc= LlBhdGhWYXJpYWJsZQ== W3NvdXJjZQ== TWV0aG9kTmFtZQ== IE91dGxldA== 5pKt IENvY29h VWJ1bnR1 IG1vb2ll IGZsb3JpZGE= IHJldGhpbms= IGdldFg= Z2V0RWxlbWVudA== IHJhZGl4 IEdhbWVy ZGVhbGxvYw== bGVmdEpvaW4= X1NZTg== R3JpZExheW91dA== Imdv KGVhY2g= CXNjZW5l IFB5RXJy SG93YXJk LlNpZ25hbA== IFRFTQ== IOen VkVOVE9SWQ== IHNpbXVs IDw8LQ== IHR1cmJpbmVz IHN1cnRvdXQ= YWx0bw== IHVuYXJ5 YA0K IFNjcmk= IE1vbms= IHVuZm9sZGVk Q29tcG9zaXRpb24= UFBFUg== IHNpZGluZw== Jyx7Jw== IHRyZWZm X1VOSUNPREU= IGRlcmVjaG8= IHBvbGFyaXR5 IG9yYw== PERvY3VtZW50 KHRvZGF5 LikKCgoK IHNlZW1pbmc= XFY= PklE IGZpYm9uYWNjaQ== KG1hdGVyaWFs RkxBU0g= ZGlyZWN0b3JpZXM= ZXN0ZXJz VEVDVElPTg== d3JhcHBlZA== LXNlbGVjdGlvbg== LXJlbGF0aXZl KGNocg== IHBvcnRmb2xpb3M= IHNob3dEaWFsb2c= aW5nbGV0b24= IFRJQ0s= IEludmVzdG9y IGJyYXY= IFNWTg== IGhhdGVmdWw= cmlwcw== ZXhwaXJ5 X2NvaW4= PgoKCgoK IG1hcmdpbmFsaXplZA== IGV4Y2VlZGluZ2x5 bmF2YmFyU3VwcG9ydGVkQ29udGVudA== KGV4dGVuc2lvbg== IGFkdmFudGFnZW91cw== Lk1pY3Jvc29mdA== IGVuc3VpdGU= LXZpb2w= X2R1ZQ== S0g= IFJvbWFudGlj aW5hbmQ= ZWNp cmVwb3J0ZWQ= IENvcnB1cw== IHNwYW5raW5n IENyb3NieQ== LkZvdW5kYXRpb24= XF8= IGFubm9uY2Vz QXR0YWNobWVudHM= 4Liy4Lij IFdheA== 77yB77yBCgo= IHNhaWxlZA== LkV1bGVy CXNjcm9sbA== IHBlYXNhbnRz IEJ1aWxkZXJz LkdlbmVyYWw= QVJFQQ== IG1lc3Npbmc= dmVybg== IGRpYXBlcg== IG9jY3VwaWVz CWxvZ2lu LkxPQw== aWdhbnM= 77yB4oCd X2Zvb3Q= X3RhdQ== LXBhY2thZ2Vz cmVjdXI= QWx0ZXJuYXRpdmU= 77yB44CN YXJvbw== IHRydXN0ZWU= LDpd 5pa55byP Pz4+ Lk1pbnV0ZQ== IGFsY2Fu IENvbmNlcHRz Y2hpbGROb2Rlcw== Q291cnQ= IGNlbGxhcg== bGVr YWtpcw== QnViYmxl IG9iamVjdGVk IO+7vw== Ol06Cg== LnBhcnNlRmxvYXQ= IHNwYXJrcw== LWZpbmQ= dmFyaWF0aW9u SGFjaw== RmFucw== X3BhcnNlZA== RW50aXR5VHlwZQ== YXVjZQ== X3RyZWVz IEVnZ3M= VUlCYXJCdXR0b25JdGVt X3RheG9ub215 IFNIT1A= VHdlbnR5 X2NoZWNrcw== IExY dXRzY2hlaW4= KHBsYXRmb3Jt IGF1dG9wc3k= UmVxdWlyZW1lbnQ= IFJFQ1Q= dG9Db250YWlu JywnJQ== L2VkaXRvcg== IHFi IEVFRw== aHRh X1RJTEU= LXN1bQ== IEFsYnVxdWVycXVl IHNob3J0Y29kZQ== IHNpbnVz IGRlc2tz IHBvb3A= Lm9wZW5zb3VyY2U= IENvbGxhcHNl LmRlcg== IGhhd2s= IFZhbmd1YXJk IE1hcnJpb3R0 X1RhcmdldA== IEJhbmFuYQ== X2F0dGVudGlvbg== IEFyaWVs X3Rlbg== IGJha2Vy 4oCUaGU= xIXFvA== dmVsb3BtZW50 RWxm X2djaGFuZGxl UmVwdWJsaWNhbnM= IGl0ZW1CdWlsZGVy V29u X2FjY3Vt IG5ld1Bhc3N3b3Jk IGRldm9pZA== IE1hcmt1cw== ZGFlbW9u Lkh0dHBDb250ZXh0 S3Jpc3Q= IGFhbGJvcmc= X3RyaWFscw== KGFzc2VydA== 44Gj44Gm YmVsdA== IG1pbGRseQ== ZXJ2b2ly IGRlc2NlbmRhbnQ= IEdpb3Zhbm5p IGRlY2x0eXBl LVNoaXJ0 IGFwcm8= QXBwbGllZA== LmdldFBhcmFt aG9m dXJhcg== IE9CUw== X3Nlcg== KHNlY3JldA== W2xheWVy IHVzZWZ1bG5lc3M= IEtvdQ== X3N1Ym1pc3Npb24= X0hPUklaT05UQUw= LHRtcA== Ly4K IGxlc3Nlbg== X3dj X0ZJTkFM 0L3QvtC/ LnRvZG9z LlhQYXRo IElEYXRh IGRvb3JzdGVw IGNvbXBvc2luZw== IGh1dA== IFZMQU4= IG91dGY= 6K+l KGJldGE= KioqLwoK IEluZG8= IGtsYQ== X2NvbmZpZ3VyZQ== Lk1hcms= b3NlY29uZHM= KFZlcnRleA== b3JnYW5pc21z IGZmbQ== IGRlbW9saXNoZWQ= ICItLS0= bGVzaQ== IFNpZG5leQ== LmdldEluZGV4 Lk1vbmFk U2VsZWN0ZWRJdGVt IE5hdlBhcmFtcw== YXpvbGU= QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVo= X3NlbnRlbmNlcw== IGluY2xpbmF0aW9u IEZhdGhlcnM= YWNjb3VudElk aGFyaQ== KT4K L3Jhdw== ICcnKTsKCg== K2w= KGNk IHVuemlw IGdsYW1vcm91cw== IyIs IG5hdw== IG1pbmli IEJyYW4= TmFjaA== X3R3ZWV0cw== IENDUA== JSI+PA== IFN0ZXBoZW5z bWFzxLE= J2Vz IHJlcGFy X2RvY3VtZW50cw== LmNsb3NlZA== LXJpbmc= L2NhdGVnb3JpZXM= IERlZXBDb3B5 U1VQ Lm5ld2F4aXM= IGdkeQ== aG9l IFJlZWY= IHBvbGl0aWM= IFJlcXVpcmVtZW50 IHNoZWRz c2VhbGVk IHBhdGhvbG9neQ== Ii8+PA== bW9kbw== IHN0ZW1taW5n IHRhYm9v IFNhdmlvcg== IH0NCg0KDQoNCg== LmN2 IGpvdWV1cg== IENvcm53YWxs IFJlY2VwdGlvbg== IGlsbHVtaW5hdGlvbg== IGdkYg== VkVD b2R1 Q29udGVudEFsaWdubWVudA== c3RhbnRpYWw= YmFzZWxpbmU= X2J1c3k= LwoKCgo= IHBsYXllcklk 5qM= X3BldA== IE1pcmFjbGU= dXJlbnQ= IE1lcmxpbg== dWJlbg== IHNldENvbG9y IGRhcmtlc3Q= c3Rlcnk= IGNhcmlj IHJldGFyZA== IEhvdXNlaG9sZA== IGphbA== IHlw IiwiIik7Cg== IEFjZXI= W1c= b2xraWVu YXlv UHJpdmF0ZUtleQ== IFNUQVRT INC90YPQtg== OicuJA== IHRoYW5rZnVsbHk= IGRpc3RydXN0 Z2V0RGVmYXVsdA== L2ZhY2Vib29r IENvbnJhZA== IHV0aWxpemFuZG8= IEthZw== L25hbWU= IGJhbWI= LkZyb21TZWNvbmRz IG11dGls IExhZ29z IEJsZXNzZWQ= aWxsZWdhbA== aWVp X1RQ IG1hdGxhYg== IGN5Y2xpYw== IHdpdGhoZWxk IGhvcnJpYmx5 LWhvdXJz LUhlYWRlcnM= IG92ZXJsYXBz IGN1YXRybw== IGVxdWl0YWJsZQ== IGNvbG9ybWFw IHNoaW4= IFN1aXRlcw== X2x1YQ== KHZv X1JFU1VMVFM= IFZpa3Rvcg== RG93bmxvYWRpbmc= bm9jaA== TW9vbg== IGRlY2lkZWRseQ== 44GU44GW X1JQQw== SW50ZXJwb2xhdG9y IHZhbnM= e1Q= X3NwYXdu IEV4eG9u X0NhbGw= IENsYXNzcm9vbQ== IHNlcm90b25pbg== IERpcGxvbWE= YmVkdGxz IFByb3RvdHlwZQ== LmV4ZWN1dGlvbg== IGRhdGluZ3NpZGU= IEdva3U= X3Jvb21z 4oCZYW0= Z3JhZg== YWNlb3Vz IGFjY29tbW9kYXRpbmc= fSwn LmRpbWVuc2lvbg== ZXJyb3JNc2c= CW1lc2g= RmlsbGVk LnByZWZlcmVuY2U= IHNtYXJ0eQ== X2NvdXBvbg== IMO2dmVy IGNvbmNlaXZl b2Rvbg== ZGljZQ== VG9EYXRl YWRhbWVudGU= LW1hc2s= IGVzY2FsYXRpbmc= 4oCmKQoK SW5SYW5nZQ== X0Vt IHV0aWxpemE= IGxldnk= PCFb IEplbm5lcg== IFJFU09VUkNF X1NUQVJURUQ= IHZvbGxleWJhbGw= IG1nYQ== IFJvc3Np Q2hhbmNl IEVuZGVk LnVudGls IGtub2Nrb3V0 X2V4ZQ== IFByZXNjcmlwdGlvbg== IENPVU5UWQ== Lmhy aWVyc2hpcA== RVJWRQ== 6ak= 44Gn44Gv IHBlcsOt IGltZ1VybA== ZWN4 IFd5bg== CVJldHVybnM= X2V5ZQ== IEFnaW5n cXVldWVz IOWIneWni+WMlg== LlNlcmlhbGl6ZWROYW1l LmhvdXJz IGlzZQ== LkFjdG9y 5p2h5Lu2 YXBwbA== VGFu L2NhdGFsb2c= L1Jlc291cmNlcw== ZWxhbg== KCd7ew== IGluc24= IG5vZGVOYW1l IGNvb2tib29r JywnPScsJw== Uk9NRQ== LnRlbXBsYXRlcw== ZWN1cmU= LWtleXM= IGdsVW5pZm9ybQ== IGdlw6c= IFJlY292ZXI= SURY IEtyaXN0ZW4= IHBvbnRvcw== YD0nJA== YXJnZW50 IGFycmFuZ2luZw== 6KiY5LqL IGVybGU= ZW5lZG9y KCkpKTs= w6Zra2U= IEdpbGxlcw== In0+Cg== Lm1vdmllcw== LXNlbGVjdG9y LmxlYXJu IHBvdGVuY3k= IGZpbm8= CWJn IGxlaGV0 IGzDtg== IGVybQ== IGFzYmVzdG9z IGRlc3Rl IGJsb2NrYWRl IFJPVU5E IGxuYW1l IFNlcGFyYXRl w6RuZ2U= IGZ1eno= CVVO X25vbWU= X2xpbmtlZA== IFNoYXJlUG9pbnQ= aGF1c2Vu IGxvYWY= LWVjb25vbWlj IGRpZEZpbmlzaA== eWVu IGJsYXN0aW5n IFdlaXJk SUNMRVM= IEdGWA== IHN1ZmZpY2U= ZWJpbg== IGFwcHJvdmluZw== IFJleWVz IFJUQUw= aWdsaQ== X3Rvaw== b3Jkb3Zh Q2FybA== IFBsYXlz bG9zc2Vu cGFpcmVk QUdNQQ== d2nEhXo= bGlua2VkaW4= IGVnYWw= KHByZWRpY2F0ZQ== IFJFU1BPTlNF IG1pblg= IGNoYW5jZWxsb3I= IFJFQ0VJVkVS IGFzY2VydGFpbg== IHplcg== IFdvcmtzaGVldHM= Tks= IHZvd2Vs dmFudA== VVBT 4oCcLg== IEhheWRlbg== IFNwYXJ0YW4= cmlnaHRz LmdldElu IGlubGFuZA== IE5pbGU= IFRyYW5zbGF0b3I= IHJlY3RhbmdsZXM= QnV0dG9uVHlwZQ== IFNvbGlj IHJhZ2F6emE= L3RhZw== IGlycmVzaXN0 I0VuZA== KioqKioqKg0K IHJlc3RyYWluZWQ= IGNoaXJvcHI= L1No LWZsaWdodA== Y29udmVydGVk IHNraXJ0cw== KGNoYXJz JHZpZXc= IGlucHV0RmlsZQ== Z21haWw= X0RJQUc= IG51bWVs IEdpbmE= ZWxsdW5nZW4= IHRheGE= IGRyaXBwaW5n PSIiLz4K IGJvcmRlcmVk IHRvdWdobmVzcw== bGVuZXNz IEJpZWJlcg== X1dBS0U= KGV0 IHNhbnTDqQ== IFRFWA== X0RJU0NPTk5FQ1Q= IHBpZW4= IEZvbnRTdHlsZQ== X1VM LXRvdGFs d29sZg== IE1hcml0aW1l IE9QVElPTkFM LXJlc3Q= IG1lbWJ1YXQ= IEJTT04= X3NpbWlsYXJpdHk= Lm92ZXJsYXk= IHBhbGF0ZQ== IEJyaWRnZXM= QW5kUGFzc3dvcmQ= IENoYXZleg== aGV0dG8= Lm9mZnNldEhlaWdodA== IHVuZGVzaXJhYmxl IGFwbGlr IC8+XA== LHRv IHJlbW92ZXI= IE1vZGVsaW5n IHB1cmNoYXNlcg== IENob29zaW5n b3BsZWZ0 IG11dGFibGVMaXN0T2Y= IFNpc3RlbWE= IElQTA== aWNrZXJWaWV3 SGFzQ29sdW1uVHlwZQ== IHNvYmll dWJlcm4= IGFsdW5v IGltYWdpbmF0aXZl IEludGVyZXN0ZWQ= KCl9PC8= IGRpdmVyc2lvbg== X3Rvb2x0aXA= LlNhbXBsZQ== IEZ1dHVyZXM= Y29udGVuaWRv IEVJTlZBTA== KGVuY29kZWQ= IFNoYXVu CXBheWxvYWQ= ZGVr PllvdXI= SXNv VHJhdmVyc2Fs aWNpZQ== LmNyb3A= IEpC SU5HRVI= IGV4ZW1wbGFyeQ== X3JlbHU= YW5uaXM= 0LXQt9GD0LvRjNGC0LDRgg== Y2x1YnM= 4oaR IHNjcmFtYmxl IFVuYmxvY2s= IGRvcnM= IHNoYWNr IG1pbmltaXppbmc= IFBhc3Npbmc= YWRkRWxlbWVudA== 4bud IHJvb2Zz IGpjbGFzcw== Y29yZG92YQ== UG9zWQ== KENhbnZhcw== KGZpbg== LWxvc3M= LmJ0bkNsb3Nl ZG9jdW1lbnRhdGlvbg== IFJK YW1vbmc= TW9z bGluZ2Vu IEFndQ== b2x5bm9taWFs XTw9 IGRpZmZpY2lsZQ== IFdpbm5lcnM= 5bGV U3RyYQ== IGNvbmdyZWc= IEVuYWJsZXM= IFN5bXB0b21z X3Nn IFJpZGluZw== X2hlYWRz IENvc21ldGlj w650 LlNpbmdsZXRvbg== IE5pY2FyYWd1YQ== IAoKCgoK IG3DrQ== J30sDQo= IEJvc25pYQ== Plg= Ly8qWw== IHBpbGVk Y2FzdGluZw== IGdyw6JjZQ== IEhlbHNpbmtp R3Jv I2Fm 7Iud IHNvdWhh IEluZGll X25lYXI= IGltbW9iaWw= LkV4Y2Vs IHJhZGlhbnQ= X01C IEtldG8= dmVudGFyaW8= X2FnZW50cw== VGFibGVWaWV3Q2VsbA== IFRoZW9kb3Jl PT09PT09PT0K LGxpc3Q= KHNp aWNpcGF0aW9u QVJUSA== c2V0RGlzcGxheQ== LkZ1dHVyZQ== IFNUQU5EQVJE IE9JRA== IGZyb3duZWQ= IE1hcmlseW4= b2xhcmU= UHU= IHPDqWN1cml0w6k= UmVkdXg= U0NP CQkJCQkgICAgICA= cml2 cGVydA== IHNvZnRtYXg= IHNlbmF0ZQ== PWVtYWls IGVzdGltYXRpbmc= CXRk RnVjaw== IFdhdGVybG9v IG1leGljbw== TmV3dG9u U2Fi LOKApgoK IGNlbGVzdGlhbA== IFFOYW1l IGdldEFwcA== Tmll X3BjaQ== IFFQb2ludEY= X2xpc3Rh Lk5WYXJDaGFy IENvYw== S2Fy IGJ1c3RlZA== aXphdGlvbmFs b3VyZA== X2Nvbm5lY3Rvcg== IFNla3M= 0L3Rg9GO 0II= L0xpc3Q= L2lj XEZyYW1ld29ya0J1bmRsZQ== dXh0 IGhlYWRwaG9uZQ== RVhURVJO LXJlc2V0 IEdlaWxl IHRyaWFuZw== IEFOTg== IHTDrQ== IFNQQQ== IE1hY2Vkb25pYQ== IGNyaWFy IGNsaW1icw== IFNPTg== IENyaXRpY3M= IGTDsw== X1NQTElU IEJvdW5kYXJ5 X0luc2VydA== Q29sZA== LmNyZWF0ZUNlbGw= X3NhaWRh LkJMVUU= QmlnRGVjaW1hbA== KEJ5dGVz CVN0YXRl LS0tQA== Vmlld1NldA== YWthaA== X1JlcG9ydA== LWNyb3Nz LmdldEN1cnJlbnRVc2Vy dWx0dXI= KEZs IEltYWc= Q1Rlc3Q= 7IOd IHN0YWc= IG96b25l IGvDqQ== cmVwYWly KSIpOw0K IHZvd3M= LkFsdGVy IEFsZ2VicmE= IEFoZWFk Z2V0dA== LklubmVyVGV4dA== IFpoZW5n LnJlYWxwYXRo IGRpc3RyYWN0aW9ucw== LGV2ZW50 IElOQ0xVREVE Lk1hdGNoZXI= LnNwb3RpZnk= IGNvbnNpZA== Lk1hcHBpbmc= IEZvYW0= IE5BTkQ= IGRldmFudA== XSIpXQo= TGF1cmE= IHNhY2tlZA== X3hvcg== IHJlYWxtcw== IFJvYm90aWNz LlNlZWs= LiQk IFJpYmJvbg== CUhSRVNVTFQ= IENyZXNjZW50 RUZS IE1lZGl0YXRpb24= LmdldFo= INC60L7QvNC/ anNvbndlYnRva2Vu Oj8= ZmFm VklPVVM= YWxsYWg= IHBpcGluZw== IG1vZGVybmU= cG9zdGFsY29kZQ== IGxldmVyYWdpbmc= IENISVA= cGNt bWFp IGlQ QUtFUg== ZGF0YUdyaWRWaWV3 X2RlcHM= LWRyaXZlcg== TGll ZGlzY2FyZA== eW50YXhFeGNlcHRpb24= IGVjdA== IEV4aGliaXQ= ICgqKg== IOuU Q2hhbmdlRXZlbnQ= IHN1cGVybWFya2V0cw== IHNobQ== cHJvZml0cw== cGlsbGFy cmFpc29u V2F0 IHBoYXJtYWNpZXM= IG5ydw== Ly89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0= CXdvcmxk U3RyZWFtaW5n RGlhbW9uZA== IEVudW1lcmF0b3I= IGVucXVpcnk= LmxhbWJkYQ== YmVr Uk9UTw== IFBkZlA= IGhpc3Rv IGdldENoaWxk L3N0cmV0Y2hy IEFNQVo= IEFyZ3VtZW50T3V0T2ZSYW5nZUV4Y2VwdGlvbg== InVzZXI= IHNhbml0YXRpb24= IENsb3RoZXM= Lm51bXB5 ZmVj ICMjIyMjIyMjIyMjIw== 0LXQudGB0YLQsg== X2xw IGF6dXJl WFBhdGg= VmVudA== TGFib3I= IG1pc3Rha2VubHk= IGNvbmR1aXQ= IEZhaXJmYXg= Z2V0U3RhdHVzQ29kZQ== IE1veQ== TGlzdEFkYXB0ZXI= ICg/KQ== R2VuZXJhbGx5 LmlzQ29ubmVjdGVk dmlkbw== TW91c2VCdXR0b24= R2VuZXJhdGlvblN0cmF0ZWd5 X2Rlcml2 IGxla2tlcg== TWVhc3VyZW1lbnQ= X0NPT0tJRQ== ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq IGNvbXBldGl0aXZlbmVzcw== IGdhbWxl IHJldHJvc3BlY3Q= IEVkdWFyZG8= IERhdGFTZXJ2aWNl IGVzY29ydGVk IFF0eQ== SG9saWRheQ== CXJhdw== bGV1cnM= QmlydGhkYXk= IGhlYXRz LmludmVyc2U= IF8NCg== aWxsdW0= b2thYmxlQ2FsbA== X21s TGlrZWQ= ZW51bWVyYXRl RmluaXRl LXByb3A= QXJlYVZpZXc= IG1lZGlhdGlvbg== IGNoYW50aW5n X05U X3VuYw== c21vdXRo IHBpZ21lbnQ= UGFzc3dvcmRFbmNvZGVy IHbDqXI= IHdhc3Rld2F0ZXI= LVBhY2s= IGpvdmVu YWVz S1k= UGludGVyZXN0 IG11c2ljYQ== bGFjZXM= IFdpY2g= KHJvdA== KGly IOyCreygnA== 44Gd44KM X1RIRQ== Z2V0RmlsZQ== W3Byb3BlcnR5 IGVuZGluZ3M= aXp6YXJl PXRyYWlu LWxvdmluZw== IG5vdXZl IGNvbW1hcw== IGNhbWJp IFp1c2FtbWVu CUV4dA== KG9ic2VydmVy Zm9ybWlr IHF1aW5kaQ== IEl2b3J5 IEJvbGl2aWE= YXNhZA== X2xlZ2VuZA== Q2l0aWVz X0ZJUkU= YXNkZg== LkRlcHRo VmFsdWVHZW5lcmF0aW9uU3RyYXRlZ3k= dXBk LkdldFJlc3BvbnNl IHVyZ2VudGx5 SW52YXJpYW50 R2V0WA== IHN0YXR1cmU= IGltYWdpbmluZw== YXRlYXU= TU9WRUQ= KFRyYW5zYWN0aW9u X3Bvcg== UmVmUHRy Lmdsb2JhbERhdGE= Z3JhdmU= aW1lc3RlcHM= Zm91bmRsYW5k U2FsaXI= YXJ0aXN0cw== IGNyZWF0ZUFjdGlvbg== IFNhbnRv INC90LXRgg== CQkJICAgICAgICAgICAgICAg LXNvbmc= IG51aXNhbmNl IGltcG92ZXI= XykNCg== IGNyb3dkZnVuZGluZw== IHRpbXA= UGljdHVyZXM= IGxvZGdpbmc= 6ZKu YXRhc2V0cw== 44Ot44Kw cGVyc29ucw== Y29uZHVjdA== IGV2YWRl IGhhdW50aW5n ICEhfQ== IExBUkdF IGtpdHRlbg== IHVwaGlsbA== KG1pbnV0ZXM= IEVtYW51ZWw= J0M= IFNreXdhbGtlcg== cHVycG9zZQ== X21hcHBlcg== IGFkYXB0YXRpb25z LmZpbGxUZXh0 cnVr IHJlcGVydG9pcmU= KHByaW9yaXR5 KG1hcHBlZA== Um9iaW4= IGVycm9uZW91cw== IGluaGFs Qk9WRQ== KCIsIikK dWVsbGVtZW50 IGZpbmdlcnByaW50cw== IFBZVEhPTg== LWRlbQ== bGVhbm9y esSFZA== IlBlb3BsZQ== YXNpZXI= IHBhdHJpb3RpYw== LmZyZWV6ZQ== SUo= IEJhbmNv IGlzU3VjY2Vzcw== KHZlaGljbGU= KExheW91dA== IGNhcnZpbmc= X2NpcGhlcg== IHZlemVz KCdfJyw= IEZpcnN0bHk= IGZ1bGxlc3Q= IExpc3RlbmluZw== X3NpZ25hbHM= ZXdvbGY= IFNDUg== IE1lcnJ5 L3Rlc3RpZnk= X1NBTklUSVpF aW9jdGw= SUVFRQ== PU1hdGg= IGVucXU= CWF1eA== 4pml IGRpc3BlcnNlZA== aGFyZQ== YmVybg== IEFtZW5k IGluc2lkZXJz IEFsdmFyZXo= IFp1Zw== L2NhbGVuZGFy IGhldXJl LXBhcGVy IHNvZm9ydA== IHNtaXRo IHBvYg== KHJhdGU= IHNvY2nDqXTDqQ== IHdvZXM= IGJydXNoaW5n cWQ= b2xvZ3Vl c29ja2V0cw== X1lFUw== LmFkZENvbHVtbg== IGV2YXNpb24= U09GVFdBUkU= YWJveA== LnlsaW0= IGVuZ3VsZg== Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwo= IG5nT25EZXN0cm95 IG5vc3Nh LmxzdA== KCl9Pgo= Lmt3YXJncw== IGNvbnRleHRv IFBVQg== RnU= IGJpZ290cnk= IGJyaWQ= IHN0ZXJvaWQ= IHZpZ29yb3VzbHk= IGJ1cnN0aW5n IHZlbmU= IHNhbGFkcw== IFZBUklBQkxFUw== IE9uYw== IGZpcmVFdmVudA== c2FuZGJveA== IHRvdWNoc2NyZWVu c2Fucw== L0luc3RydWN0aW9u IGVvZg== bGVjdHVyZQ== Py0= LmxvY2FsaXphdGlvbg== VkVT X3ZvaWNl aXR1cmE= LnJlcG9ydGluZw== IF0pOw== Tm92YQ== X0NPTVBBVA== IG91dGJyZWFrcw== LmNsaWVudFdpZHRo aWZsb3dlcg== X0dSQQ== SW5pdGlhbGl6aW5n X3BlcmY= KCl9LA== PVA= X0lNRVRIT0Q= IHRpZ2h0ZW5pbmc= IHRhYkJhcg== IEJL CURvdWJsZQ== L2hhc2g= IG1leg== VG9VcHBlcg== VEc= KGluZGVudA== IHNpbGljYQ== IC8vLy8vLw== w7Zr IGVsdmVz ZW1wbGF0ZXM= LkNvbXBhcmVUbw== IGd1bmZpcmU= YW5pbWFscw== IGtlcGFkYQ== IENQUg== X0xTQg== CXZlcnRleA== INC/0LXRgNCy LCE= IGR1bHk= X1BBVENI RU5B CUND Y29tcG9zaXRpb24= X3N2 TGJs amVq 0YHRgtGA0L7QuQ== LkVkaXRWYWx1ZQ== 5YW3 YW50YXM= IGJyZWFkY3J1bWI= IFRlc3Rlcg== IE1lYXN1cmVtZW50cw== L0lucHV0 IFJheg== X1BPTEw= SW5kZXBlbmRlbnQ= Lmx1Y2VuZQ== IE1lY2hhbmljcw== Y29sb24= LnN1cmZhY2U= IHVuYXM= cmFkbw== UExJQ0FURQ== Q1JU LnNldERlZmF1bHQ= JUg= IHJlc3BvbnNhYmxl IHBlcnBlbmRpY3VsYXI= IFJlc3Bpcg== IFR1bmlzaWE= XEFycmF5 6Lev5b6E IHBhdw== IGRlYm91bmNl KE1QSQ== INiv2LE= IGVsaw== IFJlbGF5Q29tbWFuZA== L2xpZ2h0 LnNlcmlhbGl6YXRpb24= QlNJVEU= KSgoKCg= IEJpb3M= X3N2Zw== KHN1cmZhY2U= RHVwbGljYXRlcw== ICg+ X0FTVA== Lm5pY2s= IldoeQ== IEludGVsbGVjdHVhbA== YWJicmV2aWF0aW9u ZWFyYWJsZQ== IGNvbnNlZ3Vpcg== KEJl X1BvZHM= PEFuaW1hdG9y X1VOREVGSU5FRA== QVJSWQ== IC8vfg== cGVyYXRvcg== LndyaXRlRmlsZVN5bmM= QWxz bGRlcg== IG1pZWpz IGZ1bmNz aW5jaWJsZQ== IGR1c3R5 IERyaWxs IGNvbnRpbnVhbA== IEVsZWN0cm9u LmVuZW15 KHBi IHJldW5pdGVk U21va2U= LWZhY2Vk SW50ZW5zaXR5 IFRyZWVNYXA= IEFyZ3VtZW50RXJyb3I= LndyaXRlSGVhZA== IFRSRQ== U3BsaXRPcHRpb25z LyoqKioqKi8K IFw8Xg== IEludmVzdG1lbnRz U1VNRVI= IGRhYw== QU5J Llllc05v KG9mU2l6ZQ== eXRo ZWxvYWQ= IGltcHJlcw== IGJsb2Jz LnJldHJpZXZl IHR5cmFubnk= IGNhbmNlbEJ1dHRvblRpdGxl IGhhY2k= IENhc2lub3M= IGRoZQ== UmV0YWls IFBvcm5odWI= IENyaW1lcw== T2ls KElTZXJ2aWNl UmVzaXphYmxl CVNv T2Z0ZW4= IGNvbW1vbnBsYWNl X0dD YWxkaQ== YXRobG9u KFZpZXdHcm91cA== KEVtcGxveWVl IHNhZmVndWFyZHM= 6YCA5Ye6 X0FVUkE= IHVubm90aWNlZA== IFRob3Ju bW9kZWxl IGFjb3Jkbw== IFdlbmdlcg== aW11cw== ZW5zYnVyZw== b21iYQ== Y2nDs24= Imh0dHA= X01hdHJpeA== fHx8fA== b3JuZWNlZG9y CUJ1ZmZlcmVkUmVhZGVy cmVnaXN0ZXJz cmVsZWFzZWQ= IGFkZE9ic2VydmVy IFZhbGVudA== KEN1bHR1cmVJbmZv IG1hbm5lbg== IGJ1cmdsYXJ5 X21pbnV0ZQ== IGludGVyY2VwdG9y b2NyYXRlcw== YXR0cm8= IFlF ZXNzbGVy bGlzdGVuZXJz L3Byb20= IOek dG91Y2hlcw== RXNw IEFib3J0 IGZmaQ== IGNsdW1z TklM X1ZJUlRVQUw= IGxvaW4= eW5vbWlhbHM= INec IGd6 IE5lb24= SVNJUw== YW1lcmF0ZQ== X2F2YWls IG1heGk= IGlzQXJyYXk= Q29sdW1uSW5mbw== aXppbg== IHBlcnNv IG91ZA== aWFsaXplZA== eW1p IGNvbmZpZGVudGx5 PSIvIj4K LmRhdGFzb3VyY2U= IHBheWNoZWNr IEJhdg== L0JyYW5jaA== IFRlYXI= IG1lcnVwYWthbg== IEJyYWg= INC60L7QvdGC 74I= LHBhdGg= IGRhenpsaW5n IFVDSEFS IHByb3Zpc2lvbmFs 0L/Qvw== IGxlZ2FsaXplZA== X2FsZ28= X1JTQQ== YWx0ZXJuYXRpdmU= IERFVEFJTFM= VG9Ebw== cmVmbGVjdGlvbg== X1dFRUs= IENMRUFO IHNsb2dhbnM= IOuTsQ== IFZldGVyaW5hcnk= aWRm LmRhdGVUaW1lUGlja2Vy aWNvbnRyb2w= KHBsYXk= IHVsbGFt ICcpDQo= IGNoZXF1ZQ== 5a6L5L2T IHVuc2VyZW0= IEFyY2hpdGVjdHM= YW1lbnRhbHM= IHZtYXg= IGplbWFuZA== Q0VFRA== IE9saXZpZXI= c2V2ZXJpdHk= Uks= RGlzY29ubmVjdGVk IHdlYXBvbnJ5 dWnDp8Ojbw== IGJpbmdv ZG9udA== X0NIQU5ORUxT IERhZw== IGTDpHI= w6lyaXF1ZQ== Z3JhZGFibGU= IENPTVBMRVRF IHNwYW5pc2g= IGluc3RydW1lbnRhdGlvbg== dmFzaXZl RFJBVw== IGZwdXRz IFNwZW5k IFJlc3BlY3Q= Q291cnRlc3k= IHNjaG8= IHBvc3RhZ2U= IE1lYWRvd3M= IHR1dG9yaW5n ZXJ2bw== QWJzb2x1dGVseQ== w6FuZGV6 vZTrk5w= IFNIUg== cGhvb24= IERlcG9z PScnCg== IHBoeXNpb2xvZ3k= KnRpbWU= IFRvdWdo ZG9jaw== L2hl KEhhdmU= IE1vaW5lcw== U1RZUEU= IEJyaWRl IHN0cm9u IHdvcmxkdmlldw== IGdyYXR1aXRv IGFlcm9zcGFjZQ== IElocmVt IHFj IG1hbmlmZXN0YXRpb25z c2xhdWdodA== PEFjY291bnQ= IEluZm9z YW1iaWw= X0ZpbmFs IGFkbWluaXN0cmF0aW9ucw== IGNvbGxhYm9yYXRlZA== LmpkZXNrdG9w b2x1Y2nDs24= YXNjdGltZQ== X2FsbG9jYXRl YXJyaXZhbA== Sk9S IHNoYWR5 IHBpbmVhcHBsZQ== 44KP IHNhdGlu YnJlcm8= IExpZXM= IHRlbnNvcnM= IEludGVsbGlnZW50 LlNlbGVjdGVkSW5kZXhDaGFuZ2Vk IHJhZGlhdG9y YXNzaXN0YW50 JGZpZWxkcw== CXN0ZXA= IE1pdGdsaQ== IEV2ZXJldHQ= IFNjaGVkdWxlZA== SG9yYQ== Il0tPg== IG1vdHM= IERTVA== Zm9udE5hbWU= IFdhcndpY2s= X1Rhc2s= KkM= 44On b2JlbA== X0RFVA== IHNvY2lvbG9neQ== IEthdHo= aWNpb25z b3RsYW5k YWRvbw== X3BhcnM= IHJpcHBpbmc= aWNobw== IG51dHJpdGlvdXM= CWRhbWFnZQ== S3k= IGFuY2hvcmVk IGFydGlmaWNpYWxseQ== IEp1dmVudHVz L3Blcmw= IGV4cHJlc3NpdmU= eEVF IEVudW1lcmF0aW9u Lk1FU1NBR0U= KGRlZw== 5b+X IyMjIyMj ICIiKSw= a2zDpHI= XE1haWw= RGVzaWduZWQ= IHN0YWZmZXI= IHNhbHRz KioqKioNCg== IOKB IHNldFRpdGxlQ29sb3I= RFZE LldyaXRlQWxs ZWxsYW50 IGNvZXJjaW9u IFNvcnRpbmc= 6KiA IHN0YXJ2YXRpb24= Ly97ew== LmhlYXA= IE1lZGlldmFs ICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 77yR77yQ IHdhcmRz IEhlcmM= IEhvZ3dhcnRz LWNvbW1lbnRz IExhdWRlcmRhbGU= 5rw= IHJpZnQ= IHplaXQ= IHByb29mcw== LnZpZXdwb3J0 JHN0YXJ0 IEJvdWdodA== LnJpY2hUZXh0Qm94 IGNsaW5n ICcqKg== T3duZXJzaGlw IEJvZWhuZXI= KGR5bmFtaWM= IG1lZGljYWxseQ== IFdURg== IE1haW5NZW51 6LSt IGRpZmVyZW50ZQ== L3Jlc3VsdHM= ZW50aGFs IFdpZGdldHM= cnVzaA== IFJNUw== IFZvbGxleQ== IHJlbW92ZUZyb21TdXBlcnZpZXc= IExhZmF5ZXR0ZQ== IEZldGNoVHlwZQ== YWNhcw== IHBhdGhvZ2Vucw== IE1NTw== LkN1cnJlbmN5 b2Npb3Vz IHNwcml0ZUJhdGNo ZG9sbA== IHZhbXBpcmVz bGF1bmNoZXI= IHBlYWtlZA== IGRlYnVuaw== IEFTRA== IHVuZXF1YWw= IHNxdWFkcw== fS4kew== bWFuaQ== IkU= IEZhaHI= IElTSQ== IHVuYXZvaWQ= b3Bob25l WzpdCg== IERpcmVjdGVk IGJ1c2hlcw== LmZhaWx1cmU= IGltbWVyc2Vk ZXhv SGlzdG9ncmFt IEthbm4= IHBpcmFjeQ== IENydW5jaA== IGzDpg== Ly8i IG1vbm90 IFNhdW5kZXJz IFNldmVudA== KEFic3RyYWN0 IHNtb2tlcg== cm9uZQ== LmNsaWVudFk= ICItIiw= IEZvdW50YWlu IGlubmU= 7IOJ Q3Ry JGlucHV0 UFJPRklMRQ== IERvbmF0aW9u V2l0aEVtYWls IGZyYWN0dXJlcw== S2VlcGVy IG1laXNqZXM= IGFyY2hpdGVjdHVyZXM= IEx1bmc= J2ltYWdl aGFybWE= IGFiYW5kb25pbmc= QUxMRUQ= c3VidHlwZQ== cmVpcmE= IG1vc3M= IFBhcnNvbnM= YWtlZG93bg== PW9iag== IHN1Y2Vzcw== IHdlYXJhYmxl 44Kn IGFkdWx0aQ== LnVt IHZpYnJhdGlvbnM= IHN3ZWxs IERpc2Nsb3N1cmU= IFJERA== cGFpcnM= YW5nZ2Fu IG1haW5CdW5kbGU= IERJTg== IHJvY2tlZA== c2hvdWxkQmU= Lmdi IElNRA== IFdO LGFyZw== 4oCm4oCm4oCm4oCm4oCm4oCm4oCm4oCm W109JA== LlNN IGFsZ3Vucw== YWRkb25z X0NvbW1vbg== X1JFRlJFU0g= INmB2Yo= IFRZUE8= IEVjb2xvZ3k= IGdsdQ== LkRhdGFUeXBl IFByb2Jl THV4 b3dlZ28= IHJlaw== IFBsYWludGlmZg== YWNoYWJsZQ== Lm5hbWE= Km91dA== fX17ew== IENBUElUQUw= 5L2G SW1wb3J0ZXI= LmNyZWF0ZVNlcnZlcg== X3Jlc29sdmU= X0VQUw== c3RlbGxhcg== X1Byb2ZpbGU= CXN3 LW1vbg== dWRldg== XFBsdWdpbg== X01JWA== IERpc2NyaW0= LmZyb21MVFJC IFN0cmFuZA== QW55dGhpbmc= cG93ZXJz XV0NCg== LlRJTQ== IGFkZHNsYXNoZXM= IGVzaQ== QEJlZm9yZQ== IHNhaw== ICcvJzsK Y29j xZ/EsQ== ICkpOw0K X2Fib3Zl IEVDQw== L2NwdQ== IGNhZGU= LlN0ZGVycg== IHBlbGxldHM= IFBhbGlu IGfDqW4= X2phdmE= IHNhbGFo IGJlcmdlbg== X1NXQVA= IGdpYg== acOjbw== X2Rpc3RhbmNlcw== IENpbmRlcg== IGFuYXJjaGlzdA== aW1hdA== CW1vY2s= 44GX44G+44GZ T21lZ2E= IGJhaHdh X1BhcnNl LnBhcGVy CUludGVudA== cmVucw== L2dyaWQ= IGZpbHRoeQ== LmV2 IyMjIyMK IHNhcmU= IHNvYWtpbmc= IFJlZ2lvbnM= X1VTRUQ= IFNpaw== aWZpa2FzaQ== CUVkaXRvcg== THVjaw== IOyXsA== xINt LiI7 IFppZWw= IGdyYXlzY2FsZQ== KEZ1bmM= 44OB LkRlbnNl LWxlYW5pbmc= IGdyYWNlZnVs R3JhcGhOb2Rl X0NPTU1JVA== IENWUw== IHBsYWlucw== IHJlag== cGNpb25lcw== IHVuZGVybWluaW5n X2NhdHM= ZmVi Q29sbGVjdGlvblZpZXc= U0VNQg== IHRodQ== dGV4dGJveA== KEFuZHJvaWQ= IHJpZ29y IFlpZWxk LmlzUGxheWluZw== OnZpZXc= cmVtYWluZGVy IFBpcA== KWluZGV4 IEJlY2tlcg== dG9Mb2NhbGU= YXV0b3JlbGVhc2U= IFJvbWVybw== LkhhbmRsZWQ= IENhYmluZXRz KVY= IHJ0ZQ== IEh1bHU= aWNpZWw= L2FuaW1hdGlvbnM= IHByZXN1bWU= LnRyYW5zcGFyZW50 IHN1Ym1lbnU= cW0= aWVydGVu IHRleHRTaXpl IHN0YXJ2aW5n L2pvYg== QXBhY2hl IHlpZWxkaW5n LWFydGljbGU= Jz0+JF8= IOih PFNwcml0ZVJlbmRlcmVy IFNoaWE= KToo IHB1Ymxp emllag== IHRlbGVzYw== IHRlaWw= TGVnYWN5 IFBsYWNlbWVudA== KCkpew== IHRyb3VibGVzb21l 5pif IHBlcnPDtm4= X0FzcE5ldA== PX0= KHVzZXJJRA== U3Vz 44K6 LWF2ZXJhZ2U= IFFJbWFnZQ== LlN0cmljdA== dGVib3Jn LWZ1bmN0aW9ucw== UkVHSU9O Pk5ldw== X2Nob29zZQ== KGNp IHVubGVhc2g= IFJJR0hUUw== IFNwZWFy CW1ha2U= IHR5cw== YW5lbGE= IFdY X01BS0U= L3NldHVw IG9uU2F2ZQ== IGNsaW5pY2lhbnM= CWJhY2s= LkxpbmtlZA== IGNvbnNlcnZl IGJpdHRlbg== X3ZhcmlhbmNl IGxpcmU= IGluZXJ0aWE= dWZmbGVz X01QSQ== aWRkbGVz W2Fycg== LnZvY2Fi IHNoaXR0eQ== IG5lc3Rl c3NpemU= IEtU Ymxlcg== X2xpbnV4 IG1vbmdvZGI= IElURU1T S29u IEJ1cnN0 X3Bob3Rvcw== Q29sb3JhZG8= IGFja25vd2xlZGdtZW50 IG9pbHk= IG5mcw== IFppb25pc3Q= IGFkZGljdHM= IGFkZFVzZXI= IE1pc2g= IGtX IFdhbnRz KHJlY29yZHM= b2N1cnJlbmN5 SlNHbG9iYWw= LmVsYXBzZWQ= IE5i IHBwdA== XERlcGVuZGVuY3k= Um9s IMOnYWzEscWf IGV4cGFuc2lvbnM= YnViYmxl IG1pZHRlcm0= ICcjew== Y3R4dA== SVN5bnRheEV4Y2VwdGlvbg== IFZhbGxl IENhZGlsbGFj ICIifSwK IHNlbXVh cmljaFRleHQ= c29mdG1heA== b2JqUEhQRXhjZWw= LmhzdGFjaw== X2NyaXRpY2Fs KDw/ ZGo= IGNvbnNvbg== IHJvb21JZA== RE9NQ29udGVudExvYWRlZA== cGFybXM= IHplaWd0 VFBM LW5vdGNo IG9wcHJlc3NpdmU= Q29kaW5n IExlYXZlcw== KERpc3BsYXk= LnNpZ25Jbg== Ly8tLQ== IE9wcg== Y3Rh IG1ldGF2 U2VyaWFsaXplZA== IHVuYWZmZWN0ZWQ= IEFUTA== IEtQ QXRsYW50aWM= LHVybA== LHN0YXRl IGJpc3Q= ZW5lZw== IHNpbXBsaXN0aWM= IGJpZGRlcg== IHBlcmNlcHQ= IGNlbGli IFRIUk9X KC9b VGNw IGZ1cnRoZXJtb3Jl LkFjYw== b3BwYWJsZQ== 5Lik IFRhcnQ= IEJlbno= IGVtYm9kaWVk KENvbnN0 ICst UGFydGljaXBhbnRz IGh0dHBSZXF1ZXN0 YWNjZW50 IFPDvA== IGhvcnJpZnlpbmc= IC8+LA== IGVuYWN0bWVudA== IFVOSU9O L2xvZ3M= IHNjcmVlbkhlaWdodA== IGV0d2E= 5L6L5aaC IGHDum4= 5bem X3RpbWVsaW5l ICIiKSkK JzonJw== Qlc= IHJlbm92YXRpb25z IDwK UGFsZQ== Pjo8Lw== U2tlbGV0b24= IGdldFVzZXJz X2RhdGFmcmFtZQ== YWJy bWF0ZXJpYWxz JmVhY3V0ZQ== LkRpc3BsYXlOYW1l IGh2aXM= X2xhbmd1YWdlcw== LnN5 dG93ZXI= SUZJQ0FUSU9OUw== IGJhcnJpYw== IFBsdXRv YDs= 44OL Y2VudGU= I2Fi IGxleGljYWw= IEJSTw== IHJ1bGluZ3M= SEVZ LmlPUw== cmV0dXJuZWQ= LmJvb2tz IEh1YmI= ZW9m Pj46Og== IOyG IGdvVG8= 6ICD 44Go44GG PEZvcm0= Y29waWVz LnF1YW50 IFBvdGF0bw== IENvdXNpbnM= IHPDuw== R292ZXJu IGdhbGVy IEZJUg== X1dpZHRo IFNoZWxkb24= LkRldg== IFJlc3BvbnNpYmlsaXR5 c29uaWFu IHN1cGVyY2xhc3M= Yml0c2V0 ZWRkYXI= IExhYm9yYXRvcmllcw== IGNvaW5lZA== IFRlY2huaXF1ZQ== KENvcmU= IHNwcmF5ZWQ= IHBvbmc= KE5ldHdvcms= IHJvYXI= IEVBU1Q= c3RyYWlu IG1lbnN0cnVhbA== b21iYXQ= IGNhbG1pbmc= CURpbQ== X21vdmllcw== IFJBSUQ= LWRpc21pc3NpYmxl IGZyZXVuZA== LWNoYW4= IHJlc2lzdG9y X0NvcHk= b2NyaW5l IGVzcGlvbmFnZQ== Z2Fkbw== TkRBUg== IHBvcmNlbGFpbg== dGhhbG0= IGBb IGdyYWRv 0LjRgA== RE9VQkxF IGFjY2Vzc2Vz LkZsb29y IOKGlA== IHRva2VuaXpl YW5hbHl0aWNz LkNyZWF0ZUluc3RhbmNl IHN1Y2hl CWVudA== aWduZXI= INC/0LXRgNC10LQ= IGNvbmRpY2lvbmVz LmxpYnM= Iic7 UERPRXhjZXB0aW9u IG9uRGF0YQ== IEF1dGlzbQ== LWhlbHBlcg== IHJld2luZA== IGNvZmZpbg== 44O844K4 IHRyYW5zbWl0dGluZw== LnNldEFsaWdubWVudA== IGRlYWxsb2M= IGFuY2VzdHJhbA== b2dpZQ== LkNPTVA= OmZyYW1l bW1v Jzoi IFJlZ2VudHM= IGNoZWF0ZWQ= Lmdn IHBhY2Vk IGVzdGFk b2NlbmU= bHNh KGZj L2dyb3Vwcw== L21pc2M= IFNodXR0bGU= VVBJ w6Fv LWN5Y2xl CXByb3Bz IHJvdHRlbg== UmVqZWN0ZWQ= I2Fj LnVh IEFtbmVzdHk= IHBlbm5lZA== SU5DUkVNRU5U PGRpbQ== LnNldFVw IFR3ZWV0cw== IE1hZHVybw== INmC IENBY3RpdmU= CUJZVEU= KHNlcGFyYXRvcg== LlJlc2l6ZQ== dWZmbWFu c3VwcG9ydHM= IHVyYg== IEZvdW5kZWQ= X2hhcmQ= IGVjbGVjdGlj LkZpbHRlcnM= IFJvdW5kZWRSZWN0YW5nbGU= X3NhbXBsaW5n IEpldHp0 YW1lcmljYW4= Lmludm9rZUxhdGVy IEJ1dHRlcmZseQ== KGNvbm5lY3Rpb25TdHJpbmc= IE5hb21p IEphaW1l cnRz IG1hZ2ljYWxseQ== Lm1hY2hpbmU= IEFwcGFsYWNo Iisi dmFsZQ== LW1vdW50ZWQ= IGFjaGU= TUo= IFVJSW1hZ2VQaWNrZXJDb250cm9sbGVy LUp1bg== TWFuYQ== a3JhaW5l RENG L1Byb2R1Y3Q= IFJFU0VSVkVE IEZIQQ== OkAiJUAiLA== IFByb2pla3Q= IE5pcg== IENhcm5pdmFs ICom IFFT V0hP IHdlbHQ= IG1hcnJ5aW5n QWxleGFuZGVy IFJldmlld2Vk YWN0ZXJpYQ== IHdhbg== KHJvYm90 IFdpbmRvd01hbmFnZXI= IG1vbnVtZW50YWw= IERvbWluZw== L3dlYXRoZXI= X3NlY29uZGFyeQ== T3BlcmF0b3Jz X1NJREU= S2F0 LXpvbmU= IHNpZ25pZmllcw== IEh0dHBNZXRob2Q= L2NvbnRleHQ= Ig0KDQoNCg== IFJvZHJpZ28= IGJ1Yg== L211c2lj IHNlcm9udA== IG1STkE= X2VtYWlscw== ICc+Jw== IEdlbWU= INGA0LDRgQ== IH5+ IGR1Y2tz IEZyZXVuZA== RXhwZXJpbWVudA== IHJlb3BlbmVk IFwiew== IGVsbGlwdA== IGNvbmNhdGVuYXRl IHBvbG8= VGltZVpvbmU= ICAKICAgIAo= IGNhcHRpb25z cmlja3M= LmZyZXE= Lm1lbW8= IHNtYg== RHJ1Zw== XVsv X0JBQ0tFTkQ= IEVsbGE= IFBvcnRpb25z IGZldGNoRGF0YQ== IGNvcm91dGluZQ== IGVzdGF2YQ== IEdlbml1cw== OmB+ IFN3YW5zZWE= KHBheW1lbnQ= Vm90cmU= IFBydWl0dA== Lm9mZnNldFdpZHRo YXJ5bA== IHVuaWZvcm1seQ== IFdhcnA= IFNFQQ== IGRlZHVjdGlibGU= IGJ1bGxpZWQ= IEJlc2No IFByb3NwZWN0 T1NQ IlllYWg= IEFuZ3J5 LlZhbA== IGdpZ3M= IGJ1bGt5 ZXRlcmlh LmdldFN0YXJ0 IE1FVEg= IGNvaGVyZW5jZQ== IG1lZGlhdGVk 0LXQs9C40YHRgg== Li4uLgo= IHN0cm9rZUxpbmU= bWo= IFVuc3VyZQ== YXRocm9vbQ== KEJpbmFyeQ== X0tleVByZXNz 5p6E aW5oZXJpdHM= IHJlcHJlaA== CVNjaGVtYQ== IHVucmVzdHJpY3RlZA== LmRlZmluaXRpb24= XT8u IGl0aA== 5aCx IHNsaW1l bXNncw== X0pT CVZlcnNpb24= X1NFQ1VSRQ== IGNvc3Rv LlJlc3Ry Y3Ny X1RPT0xUSVA= cGNs IOKGkw== U2VsZlBlcm1pc3Npb24= LnJhdmVs IG1lbWJyZXM= QXNzZW1ibGVy cm9taXVt c3VyZg== IFVQREFURUQ= KGJyYW5jaA== KGluY2x1ZGU= IElkb2w= XE9iamVjdA== IGNsb25pbmc= IGlzTmFO IGFueg== xrDhu51uZw== IG9uYw== X0NMVVNURVI= IHt9KSwK aW1pbmFyeQ== CWNvbnRlbnRQYW5l dHJhaWw= IG5pbmV0eQ== IE5pYWdhcmE= IEFuZHI= w6lzeg== IGRpZmlj dXRyYQ== J319Pg== 44Kk44OI c3Bhcg== ICJcIiw= IG15ZmlsZQ== ZmZj IG5vdGljZWFibHk= ZXlh IFB1dHRpbmc= SlY= LmRpbWVuc2lvbnM= ZXJjYQ== Z2VuZXNpcw== ZWZmZWN0aXZl IHBlcmRlcg== Lk9S X0NPTVBBUkU= Omxlbg== L3JlZA== IEFyaXN0b3RsZQ== IHF1ZXJpZWQ= IGZvcmVzZWVhYmxl IFVJQ29udHJvbA== cmVtaW5kZXI= IGNlbmE= IGhpYw== ICIiOw0KDQo= L2Jhc2lj IGFmZm9yZGFiaWxpdHk= LGVycg== INGB0LjQvNCy IElTUg== bGljZW5zZXM= Vk9JQ0U= Lkxhbmc= LnJlbGF0aW9uc2hpcA== IGxlbmRz IG51dHplbg== IGVzcGVjw61m aWVuZGE= PFBhaXI= VHY= X1JFVFJZ IGhvbm9yaW5n X2RlY2xhcmF0aW9u KE5P IEhpY2s= IG1pbmxlbmd0aA== IEdlc2NoaWNodGU= YXBlc2g= QVRPTQ== JykiKTsK ZW50ZXJwcmlzZQ== Pn08Lw== IHBvbGl0aXF1ZQ== ZWRpdGlvbg== X0RlYnVn QW5uZQ== LlNjb3Bl Y3Rw Y2Fub25pY2Fs Pj47Cg== TWVudXM= IGZpZXJjZWx5 Lk9uY2U= IEJvcnJvdw== IHNvc3Q= IHNlcnZpbmdz LWZsYWc= IHZlc3RlZA== IGZyb24= 7ZWo IGZhbWluZQ== Il0pKXsK ZXJlw6dv IGtpamtlbg== IEZsb29yaW5n 55CD b2JzZXJ2YXRpb24= IHVzZXJEYW8= PSIiPg0K Q09WSUQ= YmFieQ== IHRyb3VnaA== IFNlYW0= IEZpZ2h0ZXJz b21pdA== IENoYXJnZXM= UnVzcw== IHF1ZWxxdWU= R2V0UG9zaXRpb24= IE1pbmlzdGVycw== X3JlY2VpcHQ= IHJvb3ROb2Rl bXVsdGlw JHNlYXJjaA== IikpKSkK dGFrZXM= ICghIQ== IEJBVA== Y2hhbmc= xJM= Lm9j IHNraWxsZXQ= IFNLVQ== IEdhbGxhZ2hlcg== IGNyZXNj d2Vla2RheQ== ZXJ2aXNlZA== Q2FyZENvbnRlbnQ= LmFjY2Vs ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK VGFp IENvbXBhdGliaWxpdHk= eENG X3Jld2FyZHM= cmRm QVBQTEU= LWZlZA== IGRlcGVuZGVk LWdlbmVyYXRvcg== KFByb2Nlc3M= 0LzQvtC2 IGRpc2NyZXBhbmN5 IHBob3NwaGF0ZQ== TmV0d29ya2luZw== 6K6+6K6h5Zmo KHJv IGNvbmN1cnJlbmN5 CWF1dGg= UGx1Zw== QVRBTE9H c3Viag== L3RlYW0= KGF2Zw== b2tpbg== IHBsZWRnZXM= IGNvbGxhYm9yYXRvcnM= IGVtYmFya2Vk IERvY2g= IERhaXJ5 Y29tcGV0aXRpb24= IE11dGFibGVMaXN0 LXNldmVu IGNvbmN1cnJlbnRseQ== IFZpag== IHJlc2V0dGluZw== ZHBp IHNsaXQ= IFBPSU5URVI= IENBUlQ= LmRleA== Y3Vsb3M= X3BlcnNvbmFs IGFuYWx5dGlj I2NyZWF0ZQ== X21lbWNweQ== KExpc3ROb2Rl X1RhZw== IElycg== Ij4nOw0K U2hvcnRseQ== LnRpcA== XFs= IFJlcHJlc2VudGF0aW9u X0xJVEVSQUw= LmNibw== IEthcm5hdGFrYQ== IENvbXBldGl0aXZl IFJ1ZQ== IHJ1bm9mZg== IFNwZWxscw== ZmNsb3Nl Y2lz RnJh IHJlbW9yc2U= IENvbG9nbmU= IHJhbmdlcg== IE1vcmc= ZmlnaHRlcnM= LlJlcXVlc3RQYXJhbQ== Q29ycw== IGRlbm90ZQ== IGNob3Nlcw== w6JuZA== LnJlY3ljbGU= IExvZ2lzdGlj IERFQUQ= LWxvYWRlZA== IENsZWFycw== IGtlbGw= cmFwaGlj IE1hbmU= RU1CRVI= IG1hc2tpbmc= CWVkaXRvcg== SGFsbG8= Omxpc3Q= IGV0aG4= LXNlYXQ= ICopWw== IEdseQ== IEFDUw== CXN0YXQ= L0NvbW1vbg== IGRpc2d1aXNlZA== RmluYW5jZQ== IEVsZXBoYW50 dGVtcG9yYXJ5 IENhcmx5 IGNvY29z IEp1ZGl0aA== IHdyYXBwZXJz IEx1bmFy IHLDqWN1cA== LXNldHVw IHNpemFibGU= ICAJIA== Y2xhc3NpZmllcg== IGZpZ3NpemU= IG1hc3R1cg== IOabtOaWsA== IFJ3YW5kYQ== KXQ= IEN1cHM= QXp1cmU= KCl9LAo= U1BBUkVOVA== KGRpYw== IFRleHRGb3JtRmllbGQ= IGRlZm9ybQ== IGRpcmVjY2nDs24= IHlheg== IGdsdWVk IGF0cmF2w6lz Y29mZmVl IFVwZGF0aW5n IENvbGxlZ2Vz w6RsbHQ= YW5kZWxpZXI= IHNhbGly IFNDQUxF cWU= 6rO1 KHJlY2VpdmVy bWRi Im1hdGg= aXNuYW4= dGVsZWZvbmU= UkVQT1JU LmFkZE1vdXNlTGlzdGVuZXI= ZHVlZA== e31d KCkpOg== IHdvcmtpbmdz fSk7CgoKCg== IGNvbXBvbmVudFdpbGxNb3VudA== U2VydmVycw== X0NMT1NFRA== SVpFUg== IGJvb2I= IENPTkNBVA== IEhhcHBpbmVzcw== IGNvbW11bmU= eEFC b3duZXJzaGlw X05FQVI= X0hBUkQ= IFlB bGlvbg== IHNwaWVs IHRhZ2dpbmc= IGltbW9yYWw= LWdyb3VuZA== IHRodW5r IGxvY3Vz IExhdHZpYQ== aXppb25p Y2xhcnNpbXA= IHBhdGllbnRseQ== XEhhcw== IHN1Ym9yZGluYXRl IFdISUNI ZW50aW9uUG9saWN5 IGRlcGxldGVk RlNJWkU= IFss IEJpb2dyYXBoeQ== IFNhbmRz U0hBUkU= Q2hhcnNldA== LndyaXQ= X1NVUw== IE1vcmVubw== IGJyb2Njb2xp IFZY YW1pY3M= LkdldFVzZXI= IENvbW1vZA== LnNjaGVtZQ== KHZz IGFuYWxvZ291cw== UHN5 PWxpbmU= LnB1Ymxpc2hlcg== IG9ud2FyZA== 0LXQutGB IERlYWxlcnM= IHRvQXJyYXk= IENob2ljZXM= 0JTQvtCx0LDQsg== IGRlZmF1bHRNZXNzYWdl IGFncmVn IENvbmNhdA== SFY= IENpcmN1bGFyUHJvZ3Jlc3M= X3N2Yw== VEFC X2ZpbA== Lk1hcFBhdGg= emJ1cmc= IGdldFByb2R1Y3Q= IFZFUklGWQ== Lk1vbmdv IHB1bmRpdHM= cHVsc2U= bGljdGluZw== Z2lhdGFu IC4uLiI= IGZpeg== IGFudGlt IENoYXR0 X1RZUEVERUY= R3V5 CXRlc3Rz IFNsb3Zlbmlh IENvbW1hbmRMaW5l IGJlbmVmaWNpYXRpb24= IGJpbmRBY3Rpb25DcmVhdG9ycw== TlRBWA== LUNz IGNoYXJpc21hdGlj LmFsbG9j X25m IGFzc2F1bHRpbmc= INGC0LDQsdC70LjRhg== IGPDoWM= IFNjcm9sbHM= SEFT eXl5eU1NZGQ= IEdhbGU= IFByb3plbnQ= IFRob3JudG9u ZGVhbGVy IGV2aWN0aW9u IGFuYWxl 4oCO PSIo IGVhZw== KCcnKTsKCg== IGNvbnRlbXBsYXRpbmc= aHlw YmVsdW0= IEZpdHM= IEV4YW1pbmVy IEJ1Y2M= IG1lbWJyYW5lcw== IGJyaWxsaWFudGx5 IENlcmFtaWM= w6h2ZQ== IFBvdW5k IHRyZWFzdXJ5 LicpOw0K CXRj ZWNha2U= Q3VycmVudFVzZXI= LmhhYmJv IHRyZWFzb24= IEZUQw== TVVY IG51bWJlcmluZw== UklB LS0pDQo= IGJlaWdl IEFydGVt YmFzZXM= X0JBTkQ= IFBhdmVs 0YHRgtGA0YPQug== dGhlZA== X25icg== INCx0LDQtw== c2xpZGVVcA== IFRheGk= IGFxdWVs IE1pc2NlbGxhbmVvdXM= ZWx1 IGluc3VsYXRlZA== IGFzc2V6 LkNvbmZpZ3VyZQ== IHF1ZWxsYQ== IHBhcmFzaXRlcw== QXdheQ== ZHVjaWJsZQ== KCc9Jw== IHZlcm8= IFdhdGtpbnM= IFNlcGFyYXRvcg== YXBzZXM= ZW52aXJvbm1lbnRz IGFwcHJhaXNhbA== cGF1c2Vk X2RlYXRo IHNpdHVhY2nDs24= IGZyYXRlcm5pdHk= IGluc2lzdGVuY2U= X2NyeXB0bw== QXR0cmliUG9pbnRlcg== Il1dLAo= IG94aWRhdGl2ZQ== IG5ldXJvbmFs IFFHcmFwaGljcw== Ij4nLA== IFNtaWxl T2JqZWN0aXZl IFNha3VyYQ== Wk8= YW1pZW50b3M= LkxvY2FsRGF0ZVRpbWU= L3VuaXQ= LWZyZXF1ZW5jeQ== LUNT In07Cgo= IHJlbGV2 QWxsb2NhdGlvbg== JU0= IER1c3Rpbg== IHN3aXBlcg== IE5hcmM= dGF0dXM= IGxvbmdpbmc= IHRodWlzb250dmFuZ3N0 IGNvbW1vZG8= IEFEQQ== aW11 X2ZvcnVt YW5naQ== CUFwcGxpY2F0aW9u W2Zyb20= IEJldGhlc2Rh b3Ryb3BpYw== IE1VQ0g= IHByZWRpYw== ZmlsbWU= KGdyYW1tYXI= KEFQUA== IEN1cmw= IHNob3J0aGFuZA== YWZmaWxpYXRl XSoq X250aA== aWFiaWxpdHk= Ym9tYg== WVQ= KCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ== IEJpY3ljbGU= aW1hdGluZw== Lm5paQ== IEthcmE= YXNrYW4= cmVhY3RzdHJhcA== IHdsYW4= b2dyYXBoZXJz CSANCg== cGFnaW5hdG9y aWhhbm5h IG1hdGNodXBz X1BBRERJTkc= X3JlZ2lzdGVycw== eXRl IHByaWNleQ== IGZvb3Ro IEh1Y2s= UEFSVE1FTlQ= IHByb2hpYml0aW5n LmlzRGVidWdFbmFibGVk 4KS4 bGVpbg== PXJlcw== LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg== ZGRs bXBy IOqwmQ== IFdBTEw= IHJldm9sdmVz IFBFUkY= KTt9 IFRvYnk= Ly4uLw== IGthbw== IGZvcmVjYXN0aW5n X0NvbnRlbnQ= IH0pKSwK cG9ybm8= bGVhZGVycw== LWhvb2tz aXN0cmlidXRvcg== L3N0b3J5 CWxpbmVz LXJlcGx5 IGFkcmVuYWxpbmU= Rmxvd0xheW91dA== LnJvdXRpbmc= CXRpbWVvdXQ= IHJhaWRlZA== CURE IGRpc2RhaW4= Y29uc2lzdGVudA== Z2Vpc3Q= KCI6Lw== KHN0YXRlcw== IEhJVA== LVJheQ== LWhlYWx0aA== IC8vLQ== dGVtZW50 Lm5hdmlnYXRlVG8= IGJlbmNoZXM= ZXdpbmc= ZW56aGVu LXNwbGl0 UmVqZWN0 IHB5bGFi IGZsYXNobGlnaHQ= IGluaXRpYXRpbmc= IE9FQ0Q= IGVudHJlZ2E= TmF0dXJl Lm9yYW5nZQ== IMO6bHRpbW9z IGVjcw== LmhvdmVy IGRlbHV4ZQ== Um9nZXI= IFRpYw== IixfXw== IHBsYWNlaG9sZGVycw== IHNwYXduaW5n IG51cnR1cmU= IGV4Y2hhbmdpbmc= Q3JlYXRlRGF0ZQ== IGxhbWlu IFNlbWljb25kdWN0b3I= ICovCgoKCg== IGbDuHJzdGU= IGluaXRpYWxz IHByb3ZlcmI= IEFjdHJlc3M= Q29uY2F0 IE5pY29sYQ== LXNob3BwaW5n aXZpdMOg aXRpYW4= IFdlcnQ= LkFkZFNjb3BlZA== IHNhbGVzbWFu Ym9z IEZlcnJ5 Q0VOVEVS bW9kZWxv IFJvZQ== IElzbGFuZGVycw== dXBlcnRpbm8= RGVjbGFyZQ== IHZvd2Vscw== IGJveGVy KHRvb2xiYXI= IGhhbGZ0aW1l bmlu IEJyb29rZQ== IFZlcw== 0LvQsNGC IG1vdGl2bw== cHJvdGVpbg== a3Vz YnVzeQ== IHN0cmluZ1ZhbHVl CU15 TnV0 dXp6aQ== IHNleg== IG9sZHM= IG1ldGh5bA== IGLDvA== aGliYQ== IEluc3BpcmF0aW9u IGF3YWl0ZWQ= QnJ1Y2U= QkFMTA== IFRSWQ== LWxpdGU= IHVuZGVyZXN0aW1hdGU= CXJ2 Lm1vdg== IGhpc3TDsw== IEVyaWU= Y25hbWU= L2Nvbm5lY3Q= Y29uZmVyZW5jZQ== X3RyYWl0 IGt2aW5kZQ== IEludm9jYXRpb24= IERhdGVUaW1lT2Zmc2V0 d2VjaGF0 Q0VP IExpYnlhbg== LmNhcGl0YWxpemU= IGdyYWNlZnVsbHk= IHJlZWxz aW5jcmVhc2U= Lm1heGNkbg== ZmF2b3JpdGVz SVRFRA== PFNjYWxhcg== LkZldGNo IHN1c3BpY2lvbnM= W01BWE4= X1RSQU5TQUNUSU9O IGN5bGluZHJpY2Fs Lm5leHRFbGVtZW50 IG1vcnBob2xvZ3k= IENlZA== IGNuYW1l KHJhd1ZhbHVl V2Fsa2luZw== TG9hZHM= X0FMSUdOTUVOVA== X1JPVU5E IFJPQ0s= Y2x1c3RlcnM= Img= dWV1cg== cGxhbnM= IGF0aGVpc3Rz IHZhdA== PSJfXw== YXdhaA== ZXJ2YXRpdmVz IGZpbmRPbmU= IG5vdGVib29rcw== IFRUTA== LkdldEFzeW5j IG3DvG5jaGVu bUFo YnJ0Yw== X1BZ QnVpbGRlckludGVyZmFjZQ== CWdiYw== IGJsYW5rcw== IGTDqW0= UmVjdXJzaXZl Lk1hbnlUb01hbnlGaWVsZA== X1BBUlNFUg== IGVuZGVhdm9ycw== IGRyaWI= X3BocA== IGF1dG9tb2JpbGVz bG9pdA== IE9ydGl6 IFVE KGRBdEE= IE1pdHN1YmlzaGk= QXR0cmlidXRlVmFsdWU= IHBvYXRl 55u45YWz IGNhdmFscnk= Lk1hdGNoZXJz IGluZ3Jlc3M= IEplaG92YWg= CXNlcQ== X3N0cmVldA== IFNvZmlh IHNjcm9sbHM= dmluY2Vz ZWxlY3Ryb25pY3M= XHBhcmFt IHplbmQ= IHNraW0= LnBpeA== ZW5r X2FyZWFz IEJvaXNl LXZhbGlkYXRvcg== IHVuZWFydGg= b2ZpbG0= IEJDRQ== b3Zza3k= IExldmVy IHBvbGljZW1hbg== IG1pZXM= IFBvcnRyYWl0 IHBvdGlvbnM= X21vdA== bWFzc2FnZQ== 0LXQvdGL IGN1ZA== IG1hbnVzY3JpcHRz Y29udGludW91cw== LnRj w7x6 IEZyZWV6ZQ== Xzoq Lmht IENTUkY= IE3DpGRjaGVu LXBlZXI= IHB1dFN0ckxu IGltc2hvdw== IEB7JA== IEJhdWVy KHRvbHVh IHdyb3VnaHQ= IEdpYW4= IMO2bg== ZnVuZw== QnV0dG9uVGl0bGVz fSkiLA== IE11cmRvY2g= S1c= IFJlcG9ydGVk c2ll IG1laWxsZXVycw== IEthZXBlcm5pY2s= IGRzcA== IEV2ZXJ5ZGF5 cmVuZHM= IENvbmNl IGluY29udHI= LnJlbW92ZUF0dHJpYnV0ZQ== 44G+44GX44Gf IHJldw== IFByZXNlbmNl L2dpbg== LkNsYWltcw== CXNs RHJhZ2dpbmc= IHNwcmVl IGFjdHVhbGl6YXI= IG5vc3M= IGxpZmVzdHlsZXM= O2M= VURHRQ== SW5NaWxsaXM= IGl0aw== YWJieQ== KHBh aXNzZW50 IFByZXNpZGVudHM= IEhleGF0cmlnZXNpbWFs ZWNpZGVk KHRleA== IGNyb3duZWQ= UGhpbGlw IFNhcms= IEFkZGl0aW9u IENvbGJlcnQ= IEdMRVM= IFFMaW5lRWRpdA== IGRyYWlucw== IHNvcnRPcmRlcg== ZXNjb3J0 VGVk IG1hbmlmZXN0ZWQ= LnZhcmlhbnQ= IFJFRkVSRU5DRVM= KGdj L3sk b2N5dGU= IG9ybmFtZW50 IGJvb2tzdG9yZQ== SG9s IFZhbGw= Lycp YWNhaw== IE5hdkJhcg== IG55ZQ== X0RlYw== b2x2aW1lbnRv TVJJ IGhvb3A= ICAgCiAgICAK IFBvc3Rpbmc= IG91dGxpbmluZw== YWdhc2Nhcg== LmJyZWFrcG9pbnRz Y2F0aWQ= X3RyaWdnZXJlZA== IHJ1bm5hYmxl L3RydW5r LWNoYWly IGJhaXNlcg== ZmFjaWxpdHk= IHBvbGxlbg== 6Z+z IFtbIg== IENHU2l6ZU1ha2U= IGFzc2FpbA== IEF0aGVuYQ== IEFkZGljdGlvbg== aWxhbmQ= O2Jy LktleWJvYXJk X2Zt QWNl IFJFUQ== IE5ld2VzdA== Oy4= IE1BREU= c2V0VGltZW91dA== U2VydmxldENvbnRleHQ= CQkJCQkgICAgICAg IEx1cA== LXJldmlld2Vk IEFuYWx5emVy Lk5hTg== dXR1cmE= R2VvbQ== eW1lcw== X3Npbg== IHRydXN0ZWVz Ly89PT0= IGFkbWl0dGVkbHk= IGFrbw== IFVFRkE= X2hlcm8= R2l0aHVi X2VzdGltYXRl IGNvcnJvYm9y ZW50aWZ1bA== IFN0ZWVyaW5n IE1pdGFy IFBpcGVz IGvDpQ== X3NlYXNvbg== IEJDSFA= L3NvZnR3YXJl bmV0dGU= KiIs dW5kcmE= IGdldFJlcXVlc3Q= LkJ1ZmZlcmVk ZmVybg== TWFyaW8= IGRpc3BlcnM= X2NhdGVnb3JpYQ== IGVuZGxlc3NseQ== Z3VhcmRz CWF0b21pYw== c2NvcGVk IHVuZG9uZQ== U0hPUA== IFRvcmNo IEhhc3Rpbmdz IEZJTEVT X1NhdmU= V2l0aE1hbnk= V2lz IGludGVuc2lmaWVk LmFyZ3VtZW50 IEFwaVNlcnZpY2U= IEpTSW1wb3J0 ZWtp SW5zdXJhbmNl c3R5 LmRzbA== IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo= bHRyZQ== U0VH RFJBTQ== LWJsb2NraW5n 0L3QtQ== cGlyaW5n IFBSRVM= IEZhY2g= IHNhcmM= IFNNRQ== IEVsZW0= IENhbGlmb3Ju VW5zYWZl IENvbXBvc2Vy KGRlcA== IEF0dGVuZA== ICopKCg= IHRlYXNlZA== IEFUSQ== KHBt ICIoXDw= J10r IHNlY3Rhcmlhbg== IFBoYXJtYQ== RUk= CVRva2VuTmFtZUlkZW50aWZpZXI= w6d1 IGF1Z21lbnRhdGlvbg== IHNhamE= IGNvbG9yZQ== ZGVhZGxpbmU= LklURU0= IFJpeQ== bWFhbA== CWNsaWNr UGVybWFuZW50 SG91c3Rvbg== UmVzcG9uc2l2ZQ== IEVyZ2Vibg== ICIlIg== LnRvT2JqZWN0 CXBpZA== LlN1Ykl0ZW1z IFsr IGZ1bmd1cw== IGJyb2NodXJl IEFwcHJveGltYXRlbHk= IG1paw== dmVsb3Blcg== IHBhZ2FtZW50bw== 5Yqo55Sf5oiQ IGN5dA== IFRlbXBs ZW5pYWJsZQ== IENvbmFu IHNldGJhY2s= b2JsaW5z IE5UTg== b3NzYWw= VkVSQk9TRQ== LmJpbw== IMWe 4buf IEdyaXA= PCo= VFJJRVM= LmNob29zZQ== UGhvZW5peA== IHByb3ZpbmNpYQ== TUZMT0FU Q2Fycw== IHJldHJvc3BlY3RpdmU= IGFnb255 IGxsZW4= IGJ1bXBlZA== eWxhdGlvbg== IHdhcnRv IHRvZGRsZXJz bGF2 KHBhdGllbnQ= ICgpLT4= Y2xj IG9uQWN0aXZpdHlSZXN1bHQ= IGVtdWxhdGlvbg== IGJ1bGxk X0FVVEhPUg== Pk8= L3F1 IMK2 CWhy c3RkQ2xhc3M= IHNwYWNlcg== VHJhbnNsYXRlZg== LmFkag== Oml0ZW0= IGV4aGF1c3Rpbmc= cGx4 IHJldml0YWw= xZtuaWU= IGNhbGlmb3JuaWE= c2V0U3RhdGU= L3RhYg== aW5kc2lnaHQ= X0xldmVs aW1pbGFy Lm5hdmlnYXRvcg== IHRlbXBlcmFtZW50 IGRpZsOtYw== IGluZXhwZXJpZW5jZWQ= IGltcHJpbnQ= IFJlc2lzdA== X0ZPTExPVw== IFJldHJ5 IGVuZ2FnZW1lbnRz Q2FuQmVDb252ZXJ0ZWQ= IHNpbmdsZWQ= Lmljb25z IGNvbmRvbXM= IEZlYXRoZXI= bGVybmVu KWI= IE5wZ3NxbA== IENvbnNvbGlk cGVrdA== 56uv c3RyaW5nVmFsdWU= R2Ft IFNpbmFp IE9iamVjdFR5cGU= X2lucA== IHBhcnRp IFdhdGVycHJvb2Y= IGNvbGxpZGVk IGFpcnM= L3dvcmxk L1NlYXJjaA== X3N5bnRheA== xZ9p X2Fubm90YXRpb25z IFRhY28= TEFU IE9wY29kZQ== 44CC4oCdCgo= IGxlYXNo IEFsaWNpYQ== 77yM6buY6K6k IFRTQQ== IGhvdHRlcg== X0hhbmRsZVR5cGVEZWY= Z2luYXM= IGluZGlmZmVyZW50 Q3VzdG9tTGFiZWw= kZA= b2R5bmFtaWNz T25VaVRocmVhZA== IENhcmE= LmRldmljZXM= IEZvcmVpZ25LZXk= PicpOw0K LmJ1dA== LnRpZg== IOaWsA== IE9rSHR0cENsaWVudA== KFRleHR1cmU= LlNPQ0s= KGluc3Ry bWlzdA== VW5uYW1lZA== U3I= Km51bQ== KE5VTQ== KioqKioKCg== L2hlbHA= YmVlbGQ= LmFkanVzdA== X1Bhcm1z X0FOR0xF VFJFRQ== IGVzdHVkaW8= d29ya3NoZWV0 Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCg== QWR2aWNl w7bDn2U= bkVudGVy YcSH IGFnZWluZw== IEt1cmRpc3Rhbg== X1JUQw== YmFua3M= LlVS IGluY2FybmF0aW9u IGdsYW1vdXI= IOOCuQ== IGltcGVyaWFsaXNt 7J6F64uI64uk IHNpZGVsaW5l LkFycmF5QWRhcHRlcg== IyMjIyMjCg== IFN5cmlhbnM= IEF0dGVuZGFuY2U= LWVzcXVl IGdyZW5hZGVz X3Fvcw== T1ND X2Rvb3I= LkNhcA== REFM IGFtYnVzaA== CWVz VG9Kc29u TWFudWZhY3Q= RW1lcmdlbmN5 IFFGaWxl IOWV CUxQ 5pCc57Si IEdhcmxhbmQ= LmNvbm5lY3Rpb25z LlJlYWRGaWxl IEh3eQ== 4oCUZXZlbg== eERF IG5vdXZlbGxlcw== IEh1c3M= RGVwb3NpdA== X2ZvcmVpZ24= YWJhag== IFBveg== ZGJ1cw== IGlvZA== w5cKCg== IENoZWVycw== SmVzc2ljYQ== IHNhaXNvbg== IFB0eQ== Ij48IS0t aW5vYQ== ZXhjbHVkaW5n IGJpdHRlcm5lc3M= dWVsaW5n UHJvdGVjdGlvbg== IEJlcmdlbg== CQkJIAo= QkVM IFRvYmlhcw== IHVwZA== 67KE IGZvbGlhZ2U= X1BVUg== IEFkdm9jYXRl IG9uUmVxdWVzdA== LnBhcnRpdGlvbg== IERldmVsb3BlZA== IGNyaWI= 0YHQutC4 dm91Y2hlcg== IEludGVyc2VjdGlvbg== IG5pZWNl IGxr IENhdWN1cw== KFsNCg== IERldGVjdG9y L2xn IEhlZGdl IHNsdWdn YW5nc3Ryb20= IENvbnRyb2xsZXJCYXNl CXl5 LnBw IEtsaW5n IExUUw== 4oaT YXJyYQ== Z2V0SlNPTg== X3dlYnNpdGU= IGlkaW90cw== IE1lZ2hhbg== QnV0dG9uTW9kdWxl ICU+ IHByb2plY3RpbGVz c3dvcmQ= ICAgIAkJCQkJ IGFzc2Vz IFN1Y2hl IGtlZA== csOhZg== IHNhcsOg TEVuY29kZXI= UkFORA== IFNvbWVob3c= IFNhbGE= IG11bHRpbQ== IG51bVJvd3M= IFJvY2tpZXM= IHhk IGRpc3Byb3BvcnRpb25hdGU= CVJUTEk= CVVSTA== YWdsaQ== IFN1YkxPYmplY3Q= IEdyYXZlcw== X3JlZ3VsYXJpemVy X2NoYXJhY3RlcnM= LmFuYWx5dGljcw== Lm1vZHM= IGltcHJvdmlz IEJsb2NrUG9z X2luc3RhbGxlZA== X0NPTlRJTlVF L2Rvd24= U09D LmFwaVVybA== LlVzZXJTZXJ2aWNl VHJlZXM= 5oqV X292ZXJmbG93 YXVzYWw= Ym94ZWQ= Jgo= IEphY3F1 X3Vzcg== SU5UUg== IHNpZ25hZ2U= IGNvY2g= Tm9ybWFsaXplZA== CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo= IHN1c3RhaW5pbmc= IFNjcmFw cHJhYWs= LWF2YXRhcg== LndlYnNpdGU= KGd1aQ== PXJlc3BvbnNl KG9wZXJhdG9y IGVmZm9ydGxlc3M= IEFjdGlvbkJhcg== RkZF 56uL CVJlZ2lzdGVy QVJTRQ== KW4= IE1PU1Q= X1NQUg== X0NISVA= YXNk IHRvcExlZnQ= IFR4dA== 0LDQttC0 LlZvbHVtZQ== IGlubGV0 IGZyYWN0dXJlZA== IExvbmdpdHVkZQ== IERyYW0= LkNvbm5lY3Rpb25TdHJpbmdz YWJlZQ== cGVyYXRl am5p YHQ= ZmluZ2Vy IEplc3NpZQ== LGxs IFJ1ZHk= IGdlbmVyb3VzbHk= X0NPTlZFUlQ= IGVpdXNtb2Q= IERhaQ== aW1hZ2lu IEdPYmplY3Q= IMSRw6M= aWRpb3Vz cmlkZ2Vk IHNvcHI= 0LvQsNC0 IHN0aXRjaGluZw== IGtyYg== CiAgICAgICAgCiAgICAgICAgCg== IGxhdmlzaA== IENpdg== U3RhcnRFbGVtZW50 IExvbA== CXV0aWw= J11dLg== IE1hbGF5 IC4NCg== 548= X0ludm9rZQ== aXZpc3Q= RGVwZW5kaW5n KSI7DQo= IHRvZnU= IE1DUA== IHN0b2NraW5n IGNhdGhlZHJhbA== IHF1YWRyYXRpYw== YWxlemE= Lm1vdmVUb0ZpcnN0 Q29sb3JCcnVzaA== IEVyZWN0 IFJDUw== OmJlZm9yZQ== PW5vZGU= IHByb2Jsw6htZQ== X3Jobw== IHN2ZW5zaw== Um95 YmFzZVBhdGg= IGtvbmQ= INC10YHRgtGM Z2V0U2luZ2xldG9u IERTTQ== SWFu IGh1bnRlZA== IFRlcnJhY2U= IGNoaWxkY2FyZQ== IGNvZWZmcw== IGdyYWRlZA== IEx1Y2lh IGpzb25PYmo= YWJsZU9iamVjdA== VmF1bHQ= w61zdGljYQ== X3BhZ28= X1BG YW5kcmU= IEFuYXRvbXk= LkpDb21ib0JveA== b3VyZQ== IGdlbm90eXBl YmVuY2htYXJr IGJhaWs= IFF1w6liZWM= KCkpDQoNCg== IGt1bm5l IFBvc3NpYmx5 IEJlaXNwaWVs IGNvbmRvbGVuY2Vz PXF1ZXJ5 IHbDtQ== IG51ZXZhcw== IEFwb2NhbHlwc2U= dmVjdGlvbg== CXNwcml0ZQ== bGV2YXRvcg== LiJdCg== Z2V0TmV4dA== KFJlZ2lzdGVy IHVuc3Vi dHJlZXZpZXc= Tm9kZUlk IOyK JikK Zmx0 IGhvdHNwb3Q= IGdhc3Ryb2ludGVzdGluYWw= ZmlnY2FwdGlvbg== b3dlcmVk IENzcw== X3Jvcw== X3NjYWxpbmc= IGVkaXRhcg== J11dKTsK Lm5lZw== IGZ1dHVyaXN0aWM= IHN0YXRh dWN0b3I= VUxBVEU= IHfFgg== LWNoYXJhY3Rlcg== ICAKCgo= IEJlYXU= IHBlcm1hbGluaw== Qnl0ZUJ1ZmZlcg== IGRpY3RhdGVz IE1MQQ== X0xvZ2lu Q29uZGl0aW9uYWw= U1lN QXJyYW5nZQ== IFN0b2Nrcw== IG1lYXNsZXM= 4KSk RW5jcnlwdGlvbg== IEVudGlyZQ== IG1pbk9jY3Vycw== IGh1Z3M= L3dpbmRvdw== CXByb3A= PSQoKA== IFVDUw== IEZpcg== LkNsb2Nr LWRlc2t0b3A= IG1hbGZvcm1lZA== IEFiZXJkZWVu IMOF IFJvYWRz IEJlaGF2aW91cg== KCkn 5bGe5oCn LkNvbXBhcmF0b3I= X21v X0lPUw== IE9yaW9sZXM= Lkxvb2t1cA== IGZzZWVr X0lC L3N0YXI= Kzwv X0Rlc3Ryb3k= LXRyYQ== KCcuJyk= IEZvckNhbkJlQ29udmVydGVk IEZvckNhbkJlQ29udmVydGVkVG9G IEZvckNhbkJlQ29udmVydGVkVG9Gb3JlYWNo IEFhZA== IGFpcnN0cmlrZXM= aXNPaw== IGZlZGVyYXRpb24= IExhYnJhZG9y X2xhdW5jaGVy YWxvZ3k= Pj4oKTsKCg== IEp1Yg== dXRy aXN0aW5ndWlzaGVk YWJhbnQ= UmVnaW9ucw== L2hlbHBlcg== X2xpc3Rlbg== CVRvYXN0 IEZpbGVNYW5hZ2Vy aXRvcmlz IGVsZWN0cm9kZXM= R1JBREU= IGJlZ2dlZA== IFBsYXRlcw== YWZvbmU= ISEhCg== IGVieA== IGRlZmF1bHRQcm9wcw== IGNvbXBhcmVUbw== IFNDQw== LmV4dGVudA== YXV0b3M= IOyW IFRvbGtpZW4= OjoqOwoK Kics LmRvY3VtZW50cw== c2luZw== PUJpdENvbnZlcnRlcg== IEtyaXNobmE= IHBsYWlzaXI= IGJ1Z2d5 IHJlZ3VsYXRlcw== IGZyaWRheQ== IGNvbXBsZXRlbmVzcw== IGF1ZGlibGU= IFJlY29nbml0aW9uRXhjZXB0aW9u IHNoZWRkaW5n W10pewo= KGJhbGw= IENoYXRDb2xvcg== KENvZGU= KCksCgo= IHRlcnRpYXJ5 IFNJREU= KEpTT05PYmplY3Q= pOaWrQ== UmVtYXJrcw== IGxpc3RCb3g= LmltYWdlVXJs IGRlbGF5aW5n IHNvY2lvZWNvbm9taWM= Lmxw PE15 Lm9uU3RhcnQ= IFNjb3I= Ynl0ZXJpYW4= LXJvY2s= X21ldGVy IHJlcG1hdA== IHByZWd1bnRh IE1FVEE= KGd0 IEZSSUVORA== IHNvcnRl IGhlcA== b25vbWllcw== IGF1dG9tw6F0 IEZvcm1hdHM= c3RhdGVQcm92aWRlcg== LWZsb29y X01VWA== KENvbnRlbnQ= IElOU1RBTEw= IFRpdGFuaXVt cnVj LkRhdGFzZXQ= YXNjbw== Lk1BVENI IGZlc3Rpdml0aWVz TVNO Lm90 IEdldExhc3RFcnJvcg== aWVucw== IF9fX19fX19fX19fX19fX19fXwoK X0dG X3BsYXRl IEZvcm1hbA== LWxldHRlcg== S2F0ZQ== YXBpYQ== ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K L2dlbmVyYXRlZA== IERpbmc= IEZyaWVkcmljaA== ICcpJw== VUJMSVNI IEFiaWxpdGllcw== IHVubG9ja2luZw== Lnl5 IEludGVycg== bm90aHJvdw== aXBvcA== IENPUlBPUg== W2FycmF5 PFdlYkVsZW1lbnQ= X1NJRA== LnF1YWw= RGlhZ25vc3RpYw== OiIiLAo= KG1vbWVudA== anVyZWQ= IHRlcnJlc3RyaWFs ZXJ1bGU= ICYpOwo= IGJ1cmVhdWNyYXRpYw== b3BwaW5z IGphcG9u bGVvbg== X3JlbmFtZQ== X0RFU1RST1k= LkVuZHNXaXRo IGVydXB0aW9u KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K UEVU X3JlbG9hZA== IHN1cHBsZW1lbnRhcnk= IHppZW4= Q0xMb2NhdGlvbg== IGtsZWlu X2Vm Ont9 IGNvbWVudGFyaW9z KHZhbGlkYXRpb24= Lnh0ZXh0 X0lNQUdFUw== LnNldElucHV0 IERlY29tcGlsZWQ= X1RCTA== Y29tcGxleFR5cGU= X2ZlYXR1cmVk ID8+PD8= LnZvdGU= IEZyaWRheXM= LmNvbnN1bWU= Lk1FRElB IHN5bmVyZw== jpjsnbTsp4A= X0hFQURFUlM= eEFD X252 zq0= IFNpbW9uZQ== Q2VycmFy YWRkb2Nr LnNlcmlhbGl6ZXI= IENsYXNzaWZpZWQ= Lkl0ZW1zU291cmNl IHByZWNvbmRpdGlvbg== 44Gd44GX44Gm RElTVA== SW1hZ2VVcmw= L3JhbmRvbQ== IGVyw7N0 W3Jvb3Q= QUxMRVJZ Y2o= eEFE IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo= IGl0YWxpYW5p fCM= IHJlZ2VuZXJhdGU= IHN0cnI= KHx8 IEVtZXJzb24= IFBJRQ== Y2xpZmZl CWFu PlBhc3N3b3Jk dG9EYXRl Q2lwaGVy IGNvbnZveQ== IFhDVEFzc2VydFRydWU= L19f LWZvY3Vz IFJoaW5v IGdvbw== IGJvdG9u Lk5vU3VjaA== IFJlZHVjZWQ= TUlTUw== IFdpbmNoZXN0ZXI= dXJsZW5jb2Rl IG11ZGR5 aXlh IE1icHM= IHN0YWw= b2RhZm9uZQ== 5Lus IHBo4bqpbQ== ICIvIjsK IEFtbW8= TmV3UHJvcA== ID0KCg== INCf0YA= IHBheg== IGxpYmVybw== CVJlc291cmNl bmVpZ2hib3Jz LHJlc3BvbnNl X2F0dGVtcHRz IG5r IG1pbGl0aWFz X1BBWUxPQUQ= LkJ5dGVTdHJpbmc= INGB0L7QtNC10YDQtg== YXJ0b24= PkhlbGxv bGlnaHRseQ== b3dlbGw= IGd1YXJkaW5n IFRPSw== IHdoZXJlYWJvdXRz X2R3 IFJvdWxldHRl IGd5cg== IEZlZG9yYQ== LkJ1dHRvbnM= IGV4Y2xhaW1lZA== IFNvbW1lcg== QXV0aEd1YXJk LXJhdGluZw== TWV0aG9kQmVhdA== LnBvc2l0aW9ucw== TWVkaWFu LuKApgoK IGdsYWM= IHVuZGVybWluZWQ= JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJQ== X3RoaXJk LmtlZXA= IGhheWE= IHRvSlNPTg== IExhdXJpZQ== IAkgICA= IEFjY3Vt IHBydW5l dXJ2ZWQ= IE5TRg== IEdyYXBl RkxJQ1Q= 6LI= IHByZWRpcw== X3B0cnM= IG11bHRpY2FzdA== KEdyb3Vw IGhlacOf IGZlZGVyYWxseQ== X1BBVVNF IG1hbGF5c2lh IFJlY2FsbA== IHJvZHo= IFNlbnRlbmNl aW50ZWw= X2RydmRhdGE= LXNjZW5lcw== PHk= IGZvb2xlZA== IExvdWQ= IGFudGl2aXJ1cw== LnBsaXN0 IHZlcndlbmRlbg== IFdvbGZl KWl0ZW0= IHR3aXN0aW5n IGVzcGFu YXRlcm5v IEFjY29yZA== KCldLA== UkVNT1ZF ZGVoeQ== X1ByZQ== IG1pc2Nhcg== dmxh IHNlbWJs IHRldGhlcg== IEJpag== LycKCg== IENvcGllcw== LXBhdHRlcm4= Lm9uVmlldw== LXRha2luZw== X3NpbXBz 44GX44GL44GX IERBQ0E= b3JuaW5n IFBlc3NvYQ== b3JueQ== X3Bhcw== IGVpZ2h0eQ== VGFj X1NUT0NL LmxvY2F0aW9ucw== Iil9LAo= IHTDoQ== LWZpZWxkcw== b2thbmU= L2t1YmVybmV0ZXM= IGNoaWNh IGFydMOtY3Vsbw== 7II= Q1JFQVNF QVNB IExvbmQ= IGV4ZW1wbG8= QWxsb3dz aHRtbHNwZWNpYWxjaGFycw== KHZpcw== IGpy 54Gr IEVDTQ== IGVtYmFy X0FEQVBURVI= IGRpbHV0ZWQ= X29mZmljZQ== IHNraW5jYXJl QUdJTkc= IMO+ IFNNQVJU L1RhYmxl IGJhc2Fs Q29uY3VycmVuY3k= IFZveA== IFVJQ29sbGVjdGlvblZpZXdDZWxs IHdvbA== IFNPVVRI IGZyb21EYXRl IGNvcmRz RU1T LndlaXhpbg== J2VsbGU= IOWx IGdvYWx0 dWli IE5lcHR1bmU= KG9yZA== xLFuxLFu IG1pY3JvYmVz V2VhcG9ucw== LURlYw== IFJvb25leQ== IFN3YWdnZXI= 66qF X2xh IGdlbmVyYWRv IEhpcg== Q29taWM= IGNhcnZl X3Jx aWN0ZXI= IGNhcnRlbA== YW5jaWFz IFBhbmFzb25pYw== IHJvYWRzaWRl IGZyZXNod2F0ZXI= IGRiYw== X3RleHRz X3NrdQ== IFN1bW1lcnM= IFBpY3R1cmVCb3g= Lmdyb3VwQ29udHJvbA== VkFSQ0hBUg== UmVMVQ== IHNhYm90YWdl DQogICAgICAgICAgICANCg== IHNjcm9sbGJhcg== IGJhdHRlcmVk Y2lw LXBpY3R1cmU= CXN0YXRz LmNyZWF0b3I= X0NMRUFO Lk1PRA== IGJpZ2ludA== IFRlcnJvcmlzbQ== X1Nob3c= IFNwaWNlcg== X0VUSA== IMSR4buD IHN1bW1lcnM= IFVyYW4= L21lbW9yeQ== UmV2aWV3ZWQ= IGR1ZXM= c2V0U2NhbGU= IFJheXM= IENTQw== aW5jb21pbmc= LWJ1eQ== IHByb2N1cmU= ZW50YXI= IGJ1bGxz IAkJCQkJCQ== IEZpYm9uYWNjaQ== LXNjaGVtYQ== bWFrZXM= RWY= X0Rlc2NyaXB0aW9u L2FsZXJ0 IGpzb25TdHJpbmc= dWZmbGluZw== IEtFUk5FTA== IEhveQ== IGdyYW50UmVzdWx0cw== b25hbGQ= IFByb3ZpbmNpYWw= c2VuZGluZw== cHRvbQ== INCe0LE= IGNvbnN0cmFpbg== IMWhdG8= IFJhaXNlZEJ1dHRvbg== VVRET1dO IEdMc2l6ZWk= IOekug== 44OR IEdvbg== UExJRVI= J119PC8= Y2xhc3NpYw== IGVuZ3JhdmVk IG1hc2N1bGluaXR5 TWFyc2g= c3NxbA== KEdyYXZpdHk= IGxvYnN0ZXI= 67aE X0ludGVy XGJhc2U= JzpbJw== IGRldGFsbGU= dHdlZXRz IGplYWxvdXN5 YWdlbmRh LGl0 c3dpcmU= K0I= IHRyb3V0 X2FsdGVybg== OiIj IER3YXJm IFNoYXBpcm8= ZXJvb24= IG5vaw== X2xvbmdpdHVkZQ== IFdlcm5lcg== IHZpb2xldA== dXJzaXZlbHk= LWF3YWl0 IH0KCgoKCgo= IExlbm5vbg== IEFudGFyY3RpYw== IGLDpWRl X3Nsb3Bl bWFuZG8= b3VuY2Vy LWlvbg== IERlc3RydWN0aW9u aXNzZW5zY2hhZnQ= UGl6emE= IEdlb2xvZ2ljYWw= Qk9VTkQ= IGNpbmU= RGVtb24= LnBlb3BsZQ== X1RPR0dMRQ== CW5vZGVz YnVzY2Fy LnByb2Nlc3Nvcg== Tmg= L3Nkaw== IG15Y2tldA== YXVjdGlvbg== TWVn R01FTQ== IGlyb25pY2FsbHk= 5riF IGNvbnZlcmdl IFVJVGFibGVWaWV3RGF0YVNvdXJjZQ== QXJkdWlubw== PmU= Sm95 IFNob3VsZGVy IER1Yw== UFJJTUFSWQ== Lioo LXByZXM= IGRpYWxvZ1JlZg== aW1hZ2VOYW1l X2ludm9rZQ== XFRlbXBsYXRl T0k= IHZyaWVuZA== IEd1ZXJy IHByZXJlcXVpc2l0ZQ== IFBHQQ== IFJlc3A= KSIsIg== bGxlbg== IHNuYXBwaW5n X0ZpcnN0 S0lU LnNldEZvY3Vz IEN5cHJlc3M= Y3JhZnRlZA== LzsK d2VpZ2h0ZWQ= dm95 X3RG X2luc24= IEluc3RhbGxpbmc= IEdhbGx1cA== QURPUg== IEFMT0c= Q29udGV4dEhvbGRlcg== IFRvdXQ= IEZvbGV5 IGNvbnRlbXBsYXRl IENvaW5iYXNl WMOj d2FuZA== LkNyZWF0ZUNvbW1hbmQ= U29jaw== IHVud3JhcA== Y2xhc3NwYXRo PFJlc291cmNl X0VTVA== PXJhbmRvbQ== IFNoYWRl IGRpY2k= 2K/Zig== IGtpdHR5 0LDRgtC10LM= 4buNbg== LkNvbXBsZXRlZA== cGxvcmVy IGJhYmVs Lk9uSXRlbUNsaWNrTGlzdGVuZXI= IE1jTWFob24= IHJlc3RUZW1wbGF0ZQ== IHRlc3M= U2V0VXA= L29jdGV0 IGNhbGFt IGhpbmdlcw== IGFydGVyaWFs IFRydW1hbg== IENoZXJ5bA== X0REUg== IHRtcGw= IExlcg== W2hhc2g= S0VS IHByb3BvcmNpb24= IGNvYXN0bGluZQ== YWNpb3M= Ij4tLX19Cg== IGRpc2FkdmFudGFnZWQ= VG91Y2hMaXN0ZW5lcg== IFNlZ2E= Y29lcw== SWxsZWdhbEFjY2Vzc0V4Y2VwdGlvbg== PEJveA== IEluY3JlZGlibGU= VXBkYXRlcg== RkxU aW5hbWU= IEludGVyZmFjZXM= Kylc ZW5kaW1lbnRv IHBhbmNha2Vz IGluY29uc2lzdA== LnBldA== IGtleW9m SW5uZXJUZXh0 Picp RGVhbg== IFDDqQ== KENvbnRyb2w= IHNwYXI= bGluaWs= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA== IERhbmU= X1BBR0VT IHNldEJhY2tncm91bmRDb2xvcg== c3ViY2F0ZWdvcnk= IFN0cmluZ1NwbGl0T3B0aW9ucw== QWxsZW4= ISgie30iLA== hOyerA== IGJhYw== X1BST0RVQ1RT dXBwZXJjYXNl PSQoIiM= xJlr IFVJVGFwR2VzdHVyZVJlY29nbml6ZXI= TUVUQQ== IHNjYXJjZWx5 6aA= X21hbmFnZWQ= IGNvbnN1bW8= TW91c2VNb3Zl IFNwZWNz IFNlYXJjaGluZw== SGVhZGVyVmlldw== Oicp IG1pY3Jvc29mdA== IEtvc292bw== ZW1hbm4= LmZmdA== IEh1YmJhcmQ= IGRleA== X1RFUk1JTg== X0ZD IHBoaWxpcHBpbmVz XENvbGxlY3Rpb25z IHRlaA== IHF1YWxpZmllcw== IGlucHV0VmFsdWU= IEdPVA== KHNh SUxMRUQ= IHNsYW5n IGtlaW5lbg== IGZlbG9u IEVyaWNr YWJpbGlkYWRl LnNlcg== IHJ1bmVz IFVucmVhbA== KG9y IOusuOyekA== IGJpZGk= IGlyYw== CWl0ZXI= Im5pbA== L3VidW50dQ== IG11cmRlcmluZw== ID8u dW5rZXI= UmVjdFRyYW5zZm9ybQ== JykpCgoK IGFyaXR5 IEZyZWVs Lm1vdW50 Q09NTUVOVA== ICIqIiw= ZW5jcnlwdGlvbg== W21vZGVs In19Pgo= LlRvdWNo L3RodW1i IHByZXo= L2NvbXBhbnk= IHLDs8W8 IHNvZnRlbg== IHBvc3NpYmlsZQ== IEVDQg== X0Jvb2w= IC0tLS0tCg== IGludGVydHc= X3N0YQ== X0JBTA== Lm5hdmlnYXRpb25CYXI= IFJHQkE= Z3JpbHk= c3RvZmY= YWNreQ== UUI= QEFwaQ== cGVjaWE= IFJwYw== IGFtcHM= IEZlbmNl IGdlbm9taWM= KGFsaWFz Vmllbg== U3BpbkJveA== LmdldFNlY29uZHM= IGdsb2JhbGl6YXRpb24= IGN1cw== a3ViZWN0bA== IHRocm90dA== IGluZXJ0 IFNjcmF0Y2g= w5c8Lw== Lmlzc3Vl ZXNzYXk= LUlzbA== IG3DoXI= CWJpdA== IGFib2xpc2hlZA== LmluZmluaXR5 bGluZW5v LmFsZ29yaXRobQ== b3JzY2g= RW1haWxBZGRyZXNz IERBRw== YnJpbmdpbmc= Lm15YXBwbGljYXRpb24= LlN1cHBvcnQ= X2xlYWRlcg== IERldmlu IFtdDQoNCg== IHJtcw== IGJ1Y2tsZQ== aWdsaWE= L3Byb2JsZW0= IGhhdXRl IGluc3RpdHV0ZWQ= SVU= bGFtYQ== RVhQRUNURUQ= IEJlY2toYW0= IEh5ZHJhdWxpYw== U3RhdGljcw== X25vcm1hbGl6ZWQ= LmAsCg== IG1pbWV0eXBl IHNoYXZpbmc= T3ZlcnJpZGVz IE1lcmNlcg== dHJmcw== LXN0YXRz b3NwYWNl IGFudGlveGlkYW50cw== aW5maW5pdHk= Um9ja2V0 IEV1bGVy LXZhbHU= IGzDuA== LUlO SG1t LXJldHVybg== IFBBTkVM IHRlcm1pbmF0b3I= IHRla24= IHByZWRpY2F0ZXM= U3RhbXBlZA== IHN2ZQ== YW50ZXI= IGN5Y2xpc3Q= IEVwc3RlaW4= IGhpdHRlcnM= ZG9ncw== LkFkZExpc3RlbmVy X2V4Y2VwdGlvbnM= IEZPT1Q= aWNhcmU= W3RhZw== LWZldGNo VVBMT0FE LmRyb3Bkb3du IGNlbnRyb2lkcw== IGFyYmU= IGhpam8= IERhdGFiYXNlUmVmZXJlbmNl UG9saXRpY2Fs IEJBU0lD LWZvcmNl fCQ= IFJFVklFVw== LmRlY29yYXRl IEFzcGVjdA== IGNvbW1lbW9y IGNsZWFuc2U= IENsYXVkaWE= Z2VuZXJhdGlvbg== SExU dHlwZW9ybQ== cHJlZmVy b3ZlcmxhcA== YmlvbG9neQ== U3RyZWFtZXI= Y29tbWlzc2lvbg== IHRodW1ibmFpbHM= LkN1cnJlbnRDdWx0dXJl IHVybHBhcnNl IGdpb3Jubw== IGRldnM= X2FzcGVjdA== IGNoZXJpc2hlZA== IE5hY2hyaWNodA== IHJpZ2dlZA== L2xvZ2dpbmc= aHVudA== VHlwZUVycm9y PFNlbGVjdA== KHByb2c= IEdyaWRMYXlvdXQ= 6JA= IEVYUEVS CUtFWQ== LmRt CWNhcmQ= IFRhdQ== IG5vdGFtbWVudA== IGhlcm9pbmU= IGJhdGh0dWI= YXRyb24= IOaU 77yS77yQ Y29ub21pY3M= IHJldmVyc2libGU= 6YeR6aKd IGpzeA== IFNwZWFrZXJz RGVzZXJpYWxpemVy LnRvRmxvYXQ= INC/0LXRgNC10LzQtdC9 IFByb3ZpZGluZw== 6LSm W2VsZW1lbnQ= Kjo= PlJldHVybnM= IHRpdHVsYXI= IGhlYXJ0YnJlYWtpbmc= X05C LkFyZ3VtZW50cw== IG9wdGlj YXR0YWNrcw== IFZ1bG5lcg== CWtleXM= IGNvbnRyb2xl LlJHQg== IHN1Ymdyb3Vw bWFuZGF0b3J5 IENBQg== CWVuZ2luZQ== 44Gw TUVESUE= L3RyYW5z IGRhbms= IHNlcnZpY2Vk IGluY2FyY2VyYXRlZA== IEZyZWFr IHVwdG8= ZHJhd2Vy WyIr IGVudHdpY2s= Z0w= TW9kZWxFcnJvcg== IHJlYWRkaXI= aXN0cmlidXRl IGdsYXJl aXF1ZW1lbnQ= Y2hpbmE= IEthcGxhbg== IFN0YWJpbGl0eQ== cG9zaXRlcw== IEpBWEJFbGVtZW50 IHRvdGFsbWVudGU= KGNvbW0= X3Byb2Nlc3Nlcw== VGhvdXNhbmRz IElscw== ZXJ0YWludHk= IFNoYWRlcw== YWN0YWw= bG9nZ2VkSW4= IE5pY2hvbHM= IE1pZGxhbmRz ZGV2aWw= IHN0clNRTA== In0p IEpvcmQ= KGZm IEp1bmk= 5bCx YXJ0aXNhbmxpYg== IG1vb25z IHVucmVzb2x2ZWQ= IHdpdGNoZXM= IEfDvA== IEdvYmxpbg== YW5zc29u fCU= IGJ6 IGR1cGxleA== ICIpKQ== Lmxpa2Vz KHZlcnRpY2Fs IGNvd2JveQ== U2VsZWNjaW9uZQ== ICcqJyw= IFNhcA== IFNhYmJhdGg= U09SVA== 4Ka/4KY= X2NlbnRlcnM= XFBvc3Q= KFRyZWU= IHBhcnRlcw== X3lhdw== YXJlbW9z c2V2ZW4= IGhpYXR1cw== X2ludGVuc2l0eQ== LW1hbnk= IERvbGxhcnM= LXVuc3R5bGVk IGdyaXBwaW5n IG1hcnZlbG91cw== IHJlY2VwdGlvbnM= IG92ZXJjbG9jaw== YmVybWFu IGhlYWRxdWFydGVyZWQ= eEJC Y2xhc3NDYWxsQ2hlY2s= IG9ic2VydmVz U3VibWl0dGluZw== 0LjRh9C10YE= IEh0dHBTdGF0dXNDb2RlUmVzdWx0 IGhpZXJvbnRh cm9wcGluZw== Rk9SQ0U= CXV0aWxz IHZlbnRz YWRkZXJz IE1JWA== IEVsZWdhbnQ= IGFjb3M= KG1hY2hpbmU= IG1lZGRsaW5n IHZpbGU= LWNvbXBhdGlibGU= IGNyZWFtcw== IFRhYmxlUm93 IFJlaGFiaWxpdGF0aW9u QWJi KHVzZXJJbmZv X2V4cGlyZWQ= Lk9iamVjdE1ldGE= IGdvZHQ= dXN1YWw= LmJpbmRpbmdOYXZpZ2F0b3JNb3Zl IFJlZ2lzdHJhcg== bWlncmF0aW9u YXB0dXJlZA== LHBhcmFtcw== IGNlbnRlclk= b3dhbg== bG9jYWxlcw== SW5wdXRNb2R1bGU= IHZpZ2lsYW50 IG5jb2xz IGluZ3I= IGPDtHTDqQ== dmVydGltZQ== IHdpZGVzdA== IEhERg== IEFsZ2VyaWE= IGNoYXR0 JHNlbGVjdA== Il0pDQo= IG11bHRlcg== IENoZW5leQ== ZnVzY2F0ZWQ= PSciLiRf IERlbmlzZQ== IHJpZmY= QWJzZW50 IHRhbWHDsW8= IGplc3pjemU= LlByb2dyYW0= CWJy ZXJhaXM= IHNhbmRhbHM= ICws IGRpc3NvbHV0aW9u IHVudGVyc2NoaWVk UHJvdg== LnRyYW5zYWN0aW9ucw== IFRyb3VibGU= Lm1pZGRsZQ== LmdldERlY2xhcmVk IHN3ZWF0aW5n IEhhbmNvY2s= 6LS5 IHBvZw== IEtpYQ== IG1vZG5l IEFjY2Vzc2liaWxpdHk= IGxlYWthZ2U= IGRlY2VwdGl2ZQ== IFdPTQ== INC+0YE= IGNzYWs= YWNvY2s= LlN5bnRheA== ICxb LicpLAo= IGZvcmVjbG9zdXJl IHVuZmF2b3I= IGV4Y2w= Q1VEQQ== ZGVuc2U= PFVuaXQ= IHZhcGluZw== IG1hamVzdGlj aWF0b3Jz IGF1dGlzdGlj LmdhdGV3YXk= VXJsUGFyc2Vy SGVsbA== IENvc3Rjbw== IEhJUA== T2JzZXJ2ZXJz IFBlb3BsZXM= IFNwb3RsaWdodA== IFRhdmVybg== IFRPVVI= cGxpbmdz LldSQVA= IGFsZA== TkFM KCIqKio= c2V0UHJvcGVydHk= X1N0b3A= YW5ub3VuY2VtZW50 IEltbWVkaWF0ZQ== IEhTVg== X1RFU1RT IGNyYXZl X1VD LmRlY3J5cHQ= KFJvbGVz IHN1Ymo= X0ludGVnZXI= Lm5vdE51bGw= IEdzdA== IEJ5cm5l IEFxdWFyaXVt IENhbmM= X0NIQU4= IERUTw== Lmhs IG1lbmdndW5ha2Fu RnJhbmM= RGlhbG9nQ29udGVudA== Li4uJwo= IEt1bnN0 IEFsbG9jYXRvcg== VVNBR0U= S25vd2xlZGdl CWNwdQ== IG1vcmFscw== cGF0aWVudHM= IGlsaw== IGNyaXRlcg== IFZldA== IE1lc3NpYWg= X186 YXZlbm91cw== X3ZpZXdlcg== KERpY3Rpb25hcnk= IEJvZGllcw== aGFzT25l 0LjQvNC10YA= IHppcGNvZGU= U3Rlcg== IGLDoXM= X0Rpc3BsYXk= IGZpcm1h IFJhaWRlcg== IEtI V2l0aERhdGE= KEFSRw== IHByb3Ry IG1zZWM= IGxhdmVuZGVy KFV0aWw= INC/0YDQvtCz0YDQsNC8 X211eA== X2xhdGl0dWRl UG9ydHJhaXQ= IHNpdGNvbQ== IGFkaWNpb24= KGNvbnN0YW50cw== IEFueGlldHk= IFJvc2Vz IHN0aW11bGF0ZWQ= IGNocm9ubw== IGZvc3NpbHM= IEFpcmJ1cw== bGVmdHJpZ2h0 IE3DqXRvZG8= Inc= IGtsZWluZW4= IGNsaXF1ZQ== b21pbmF0aW9u IG1vdGVs L3ZlY3Rvcg== ZGVjbGFyYXRpb24= IG5ld1k= W0g= LnNjYWxhcg== b21ibw== aHVk O3NldA== ZnR5cGU= KCcnKS4= b3JkZXM= eW5vcw== J10sCgo= X0ZMVVNI aWRlbnRpZnk= L2RldmljZXM= IGRpY3RhdGVk IGRlamFy IEVtaW4= IFBlbmRhbnQ= IG9uVXBkYXRl XSkpKQ== IEJhcmtlcg== T3Jt 6K+36YCJ5oup X2d1aWRl w6FiYWRv b3BoZQ== ICIuCg== IEJyZXdlcnM= IGJyaWRhbA== IENFUw== X0NhdGVnb3J5 IEJUTg== IERhcnRo I2Zvcg== ZXRobmlj YXJjaGl0ZWN0dXJl IENvdXBl aWRvcmVz IGZhc2Npc20= IGNvbnRyYWRpY3Rpb25z ZWZmZWN0cw== SW5pdGlhbFN0YXRl IOekuuS+iw== bWF0cGxvdGxpYg== LmRlc2t0b3A= INCt IFFQaXhtYXA= CWJlZ2lu IHduZA== IGNvbnRpZW5l KGhlbHBlcg== Lk5vdGlmeQ== KEJvb2s= IEd1YXJhbnRlZWQ= cGxs aW9sYQ== IGZ1bmdp aXZlbnQ= IE9B 5rKh5pyJ IHdpxJljZWo= CQoJCgkKCQo= 77yaIis= IFRhbGtz LnN0YXJ0ZWQ= b2NpdGllcw== IGVzcG9ydHM= PElucHV0 IEVYQ0VQVElPTg== IGFjdHU= LmltcA== ICIvIgo= T3RoZXJ3aXNl IFBlbnNpb24= IFdhdmVz xrDGoQ== aWFyZHM= ICo8Lw== dXJnZW9u IFNDSQ== IExhdXJlbA== ZXRhZw== TmV0ZmxpeA== IFJlc3BvbnNlcw== IG5lb2xpYmVyYWw= aXNDb250YWluZWQ= PW15 IHJlcHJpbnQ= b25lc3RseQ== IGRlcGFydGluZw== UFdN ZXdoYXQ= PSI8PA== Lnlhbmc= IFRyYWRpdGlvbg== KyI6 ZGVwZW5kaW5n X1VuaXQ= IENvZGFibGU= IHdoaXNreQ== IGNvcnJlbGF0ZQ== IGRpcmV0 TGFzdGx5 CU91dHB1dA== KGlub2Rl XExvZw== IERlcGVuZGVuY2llcw== V2lsbERpc2FwcGVhcg== IFBhbmVscw== IOKUnOKUgOKUgA== IG9zdGVuc2libHk= fC0t QW5udWFs IGF1dG9sb2Fk VmFsdWVIYW5kbGluZw== LmNvaW4= ZWR1Y3Q= Wlk= IENhbnVja3M= IHNtZWFy IHJlYWxpZGFk IHt7Cg== aXZvbA== ZXRTb2NrZXRBZGRyZXNz IEtlbXA= L0ZyYW1ld29yaw== IHF1aWNrZXN0 XyIuJA== IHdpdGhob2xkaW5n IGludHJpZ3Vl IEFERFI= RGllc2U= V2Vla2x5 X19fX18= IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbg== b2xhdGVk UnVuTG9vcA== IHBhc3PDqQ== LmZpcmViYXNlaW8= LmV1bGVyQW5nbGVz aXN0ZW5jZQ== IGZlYXJpbmc= IEVsZW1lbnRUeXBl L1Rlc3Q= IOafpeivog== IGZvbmRv IFBhcnI= IHplc3Q= IFRyYW5zZm9ybWVycw== TGluZVN0eWxl IGV0aGVybmV0 YWZmbGVz IG5hbWVkdHVwbGU= IFNjYWxhcnM= TlNVUkxTZXNzaW9u LWV4dGVuc2lvbg== KE1lc3NhZ2Vz IGF0ZW5jacOzbg== IEplcnNleXM= YmVkUGFuZQ== IFN0dW5kZW4= IHZvaXR1cmU= IOm7mOiupA== Lm9wZW5nbA== ICJ9 IFJldmVuZ2U= IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K SW5zdGFudGlhdGU= IGVucg== VmFsaWRhdGlvbkVycm9y X0FMUkVBRFk= TG90cw== b2Nl IHNjcmlt IGVtYm9keQ== 0YDQsNGC IGNvbmNlZGU= YXNzZWw= IEJSRQ== UExFQVNF CWRpZmY= 57uT5p2f LmZw YmFt TWVhbA== IE1hZG9ubmE= IHB1bmlzaGFibGU= aWZmaWVz X3VuaXg= 7JmA IEdhZ2E= InN0cnVjdA== VG9TZW5k IE9DUg== IHByYWlzaW5n Z2V0U3RvcmU= IGV1dGg= IGFycmVnbG8= IGZlcm0= ZmRm Q29vbGRvd24= IFJlY3ljbGluZw== QW5h aW5kcg== X0hQ IEdvdmVybmFuY2U= IGJhcnJhZ2U= L2Nh ICwo RsO8cg== IElTUHM= IG1lbmFjZQ== VmlyZ2luaWE= IGZhbmM= IG5vbWJyZXM= Lmluc3RydWN0aW9ucw== IGVzY2FsYXRlZA== YWdpbmE= IExldmluZQ== CWZpbmQ= X2Vy IGRlanRpbmdzYWo= c3Zw YWdvcw== KHNvbA== IExpZA== UFJJVkFURQ== IElNUExFTUVOVA== ZWZlbGxlcg== KFRhcmdldA== 4LmJ4Lit4Lih aG91c2luZw== LnNldEN1cnNvcg== IG5laG1lbg== LnJlY2VpdmVy IFR1dG9y IG1hdHRlcmVk bWRhdA== cmVndWxhdGVk IGdldEFkZHJlc3M= IE1pbnV0ZW4= IElV 0LvQsNCy IHR1cm5vdmVycw== IHN1aXRhYmlsaXR5 CWVzYw== Y2FsY3Vs X1N0cmVhbQ== X2ZpbGVuYW1lcw== LXZhcnM= Li4uLi4KCg== RGlh IHN3aW1z T3B0aW1pemVy PGJvb3N0 IFBlcm1pdA== J10pKXs= XE9wdGlvbnNSZXNvbHZlcg== 5qGI IGhlY3RhcmVz KHVz IERldmVsb3Bpbmc= X3hz IG5vdmVsaXN0 IENvbnZlbmllbmNl d2Fsa2luZw== IGNoYXJtcw== IExlYXNl CUhBTA== KFsm IHJlc3RhcnRlZA== TWFnZQ== SXB2 INGN0Lo= UkxG IGFzc2VtYmxpbmc= IEVjYw== dmluZm9z cGVkaWRv IHN5bm9wc2lz IFN0YW50b24= c3RhcnR1cA== LmdldHZhbHVl IEtpdHQ= cHJvcGVy IHByZXRyYWluZWQ= IFBFTg== LlRlcm0= IHBlcXU= ZXBoaXI= IEFsbGllcw== IG1vZGVsQW5kVmlldw== IGJ1dHRlcmZsaWVz IEtpcnN0 IENoZWNrZXI= IGN1bm5pbmc= LnNldFk= X01hc3Rlcg== SW5jcmVhc2luZw== IGh1cmRsZQ== IGZpc3Rz IFNsb3Zha2lh IG5vbWJyZXV4 IDo6Cg== dGFza0lk IGZvbGx5 PFRyZWVOb2Rl IFZvbGRlbW9ydA== IGJsaXN0ZXI= xYJl LkVudGl0eU1hbmFnZXI= LkRPV04= IEdyZWdn LWNvb3JkaW5hdGU= KHZj w6FiYg== LlRvZ2dsZQ== IExpc2Jvbg== 56I= INC/0L7Rgg== cGFyZW50Tm9kZQ== LnNldFNjYWxl X01JU1NJTkc= IG91dHJh IGt1cA== YF0= X3ZpYQ== ZWRpY3M= IEJvcmRlcnM= IGlwYWQ= IGVkdA== IENhcnRlc2lhbg== L21hYw== IGJhcmxleQ== IFNjYXJsZXQ= ICAgIAogICAgCiAgICAKICAgIAo= cXVlcnlQYXJhbXM= IHJoeXRobXM= IGdlYXJpbmc= Wlg= aHlkcmF0aW9u U1RT IHBsZW50aWZ1bA== Y29ycA== fUA= aW50ZWdy L2F0 LmRlYg== IHVuZGVuaWFibGU= IG9wZW5zc2w= LmRlYWQ= IFBpbGxvdw== IEJlYW5z LmFudA== X3Fz LWluZm9ybWF0aW9u IOuzgOyImA== JSIpLAo= INC00YDRg9Cz IFNwb25nZQ== IHNpZnQ= dGVzdGltb25pYWw= IHVubmF0dXJhbA== VUlTY3JvbGxWaWV3 dmVyZ2VuY2U= KHRleHRCb3g= LXBhZ2luYXRpb24= IERpc3F1cw== X3Byb2R1aw== YWduYXI= S2V5VXA= CQkJICAgICAgICA= 0LXQu9C1 PHNvdXJjZQ== Lmls LmF0b20= X0NvbXBvbmVudA== IHlu WydfXw== IHdlYWtlc3Q= X2RlY3J5cHQ= L21zZw== Y2Jj IHBvbGl0ZWx5 b21hdA== IGVubGlnaHRlbm1lbnQ= IGNyZWE= IGJydWs= X2FscmVhZHk= IHNvY2tmZA== dW5wYWNr b3JnZXM= IFVORVNDTw== aW5hbGl0eQ== IHNlbnRpbmVs IGFmZmx1ZW50 IHRocm93RXJyb3I= aWV0cw== QU5KSQ== IFN1ZmZvbGs= YmVybw== a2V0w7h5 RW5kcG9pbnRz ZXhlY3V0b3I= R2E= LkxB X3BvcnRmb2xpbw== dW5zY2g= ZWxhZ2U= IGdvYmllcm5v IEJpb2w= TW9kaWZpY2F0aW9u IERlY2ltYWxGb3JtYXQ= IFZvY8Oq IG1ldGhvZG9sb2dpZXM= W10u IEdW IHJlcGxpY2Fz 4oCUd2l0aA== KTspOwo= cG9zaXg= U3VjY2Vzc0xpc3RlbmVy cGhl X25vcm1hbGl6ZQ== IExhcmdlcg== IHJlcGVyY3Vzc2lvbnM= X1ZlcnQ= IGhvc3RlbA== IGluY29tcGV0ZW50 aGV2 X0RFTFRB IHB1ZWRv aW5zdGFsbGF0aW9u X2ZyYWc= KHJy IE1BVg== IExvY2FsaXphdGlvbg== KCIiKS4= IC0tLS0tLS0tLQ== DQoK IFB5VHVwbGU= IEp1bGlv CUdMdWludA== bWFya3Vw X0ZBTUlMWQ== UFJPR1JBTQ== IEZpcm13YXJl KnNpemU= V2lmaQ== IHZpc2l0YQ== IEVybA== RmluZE9iamVjdA== LlVOUkVMQVRFRA== cGh0aGFsbQ== IHBlcnNvbmFsaXpl IGNyw6lhdGlvbg== ICAgIAkg LnByZWNpc2lvbg== IHNldHRlcnM= IG5ld1NpemU= IENhdGFsYW4= CW9wdGlvbg== IHBpZWw= IGNhZ2Vz IFN0ZW0= ZHJhd2luZw== ZXhwbGFpbmVk IOaOpw== IGRyZWFkZnVs ZXJydXB0ZWQ= LmdldFZhbHVlQXQ= IGVsYXBzZWRUaW1l IGluZGVmaW5pdGU= IFRIQU5L X3N0YXJ0dXA= U1VSRQ== IGtpZG5leXM= IEN1aXNpbmU= fGFycmF5 U2VuZE1lc3NhZ2U= ZmF2 IEFlcm9zcGFjZQ== X21lYW5z IG5lYg== IE9UUA== IGNodXJu L2Zy IFJlaWdu X2NsYXNzaWZpY2F0aW9u IE1hY0RvbmFsZA== Ii4KCgoK IGNoaWxseQ== IOivt+axgg== aWhhdA== U1RB J2F1dHJlcw== IGxhc2M= Lm1peA== IGJsb3Q= IElERA== ZGF0YXRhYmxl c3BpZWw= IMOpeGl0bw== YXJ0aWM= LkF4aXM= LmFkdmFuY2U= IG1vdXNlWA== J8Og IHJlY2lldmVk IHBvc2k= IGZvdXJu IE1hZmlh IHBjYQ== YmVsb25ncw== YWJseXR5cGVk QVVUSE9SSVpFRA== LnNjYWxhYmx5dHlwZWQ= 7JyE LWRvdA== IGVtcGhhc2l6aW5n TWVtYmVyc2hpcA== KnBvdw== LXNwaW4= cnV0YQ== aGV2aWs= X0FTWU5D X2NvbXBpbGVy LkZsYWc= IGVsYm93cw== LkNSRUFURQ== TWV0cm8= LmxvZ3M= em1hbg== cG9uZQ== xJnFvA== IGludGVycw== IHdlYnM= X0hJRERFTg== CW5vdw== Q29tbXVuaWM= JHRwbA== c2NvcGVz IFppa2E= IHN0cmluZ3N0cmVhbQ== IFVuY2F0ZWdvcml6ZWQ= Rlk= L3N3YWdnZXI= UGVubg== aW1lSW50ZXJ2YWw= IGNvbnRlbmRz eGllcw== IFNhbGVzZm9yY2U= IHV0ZW5z IHVuZGlz Q3J5c3RhbA== Lm5kaW0= IGZvcm11bA== IEZhdg== 5bm/ cmlzaw== bmFk L3Rvcw== IFBFUkZPUk1BTkNF IHdyaXRlbG4= IGNvbGxv YW50aWNhbGx5 VURFTlQ= Umdi IG9mZXJl IG1lcmdlcw== ZmlkZg== IGt6 VmljdG9yaWE= IC9eXA== IGt1YmU= IEFwb3N0bGU= IGRlZmVuZHM= PD0o IE1FTU9SWQ== XElk IEFjdGl2ZUZvcm0= IE9uZVBsdXM= SHR0cFNlcnZsZXRSZXF1ZXN0 IFRlbXBEYXRh 7KCB LkFTQ0lJ 2YTYpw== S0k= IGZyYXQ= X0NJUEhFUg== LlN1cmZhY2U= IHBpdGZhbGxz LW1lZGlhdGVk eXBp LWFsaXN0 eEJD dGVhY2hlcnM= IEN5Yw== IHBzeWNoZWRlbGlj IER1bWJsZWRvcmU= IikuCgo= IFRoYXRjaGVy IFByaW5jaXBsZQ== VG9nZXRoZXI= IGZsb3Jh d2Vla3M= X2NyaXRlcmlh Ym9uZXM= LmludGVybmV0 IGJsb2NrRGlt LlNpbmdsZU9yRGVmYXVsdA== RGljZQ== IEV2ZWw= IFRMYWJlbA== IElnb3I= IENvcHA= IGluYXVndXI= L3ByaXZhdGU= IGFiZXJy bmRz O2lm LXJhbmdpbmc= YWNodHM= X21hcnNoYWxs IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18= LmVuZFRpbWU= IE1vZGVsUmVuZGVyZXI= KGZvb2Q= KCJ+ IHN1cHBs KCJcKA== U3E= VHJhbnNsYXRlZA== IENvbnRpbnVpbmc= IHBvc3Nvbm8= RklYTUU= IEFuZ2Vib3Q= aWV2ZXI= IEt5b3Rv Y2ls TmV3VXJsUGFyc2Vy LkRp IGh1bWFuZQ== RGVtYW5k IE1hcnRpYW4= d29vZHM= IEhlYWw= IFl1ZQ== IGNvdXJ0aG91c2U= IHZvbnQ= IGJvbnM= aW50ZWdyYWw= ICQoJyMn ZXRlcm1pbmF0aW9u Lm1vZGlmaWVk IHByaW5jaXBhbHM= IGFsYXJtZWQ= LmNyZWF0ZU9iamVjdA== Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo= L2NvdW50 IGVudHJlbmNoZWQ= XGE= IGludHJ1c2lvbg== IE54 CQkKCQkKCQkK Y2hlbWF0aWM= IHNsaWRlcnM= IHNlbGVjdGFibGU= X25s aWVzZQ== X2VzdGltYXRvcnM= IFN2Zw== IGRlbGV0ZVVzZXI= KG1hcHBpbmc= IOyymOumrA== IGFudGFnb25pc3Q= IGtpbmFzZQ== IHdlbGRlZA== IExlbmE= ZWRpdGg= aWFsaQ== KHBpYw== IGJyZWFjaGVk UElD IGNvYXN0ZXI= RkRB IGtyZQ== cGVyZmls IEdlbXM= X2ZlbmNl VVJMUmVxdWVzdA== 4oCZYXBw UkVGRVJFTkNF LkV4cG9ydA== IG1pbmltaXplZA== aXBlbA== aWRhdGE= KWRlYWxsb2M= ZXNjYWw= X2Z3ZA== bWVtY3B5 IExvcmk= X1JlZg== IGJhcmE= IFNlbGxlcnM= IGRldGVyaW9yYXRpb24= ZnJhY3Rpb24= KV07 L3BsYXk= wqU= LXRlc3Rz T2Zmc2V0cw== T2k= IEtsYXVz IHF1ZXJ5aW5n d2lzaA== YXBlbA== X3dvcmtpbmc= bXlNb2RhbExhYmVs IHRvRGF0ZQ== cGVybWFsaW5r IGZyZWM= b2xlY3VsZXM= IEdvb3Nl LXdpZGdldHM= dHVydGxl SW1wcm92ZWQ= IHJvYWR3YXk= a2Vocg== IGFzdHJvbm9teQ== Q29tYmluZQ== IGNpZ2Fycw== X0dBVEU= L21hbmFnZQ== IEdlcmFyZA== IFByb3RlY3Rvcg== U3Vic3lzdGVt L2ZpbmQ= L1lZWVk= IHRvdGFsaW5n 0LzQvtGC IE9tYW4= IGluZmluaXQ= LW9mZmljZQ== IGluc3RhbnRpYXRpb24= LsKn Y2V1 KGF0b20= IERyb3BvdXQ= 7YGs IGNvbmRlbW5pbmc= X2Jhc2VuYW1l XX08Lw== RGF0YUNvbnRleHQ= IFdhc2hpbmc= Lk9O IG1vbW15 KCl9Owo= IDspCgo= L2V4dA== Zm9yZWdyb3VuZENvbG9y dW5zdXBwb3J0ZWQ= IHNvbGxlbg== IGNvbWXDpw== RElTQUJMRQ== IG9uUGF1c2U= INGH0YLQvtCx0Ys= IEFpbg== R3M= CVRhc2s= aGF3aw== Ik5vdA== QUdS LmdldFRhYmxl IGRpdmVyZ2VuY2U= IG5lZ29jaQ== UmVwbGFjaW5n XX0pCg== aWxsdXNpb24= IM6U X0tFWUJPQVJE S3I= CW9y 56Gu6K6k CXByaW50bG4= IFNlYXJjaGVz IEZyZXNubw== IHZlcmRhZA== XE1pZGRsZXdhcmU= IOy1nA== fSkoKTs= dGV4dEFsaWdu aW5rZWw= LlR4dA== IG9wdGltaXphdGlvbnM= eW91bmc= IGxlYXNlZA== SlQ= IElvbmljTW9kdWxl ZXR0aW5ncw== ZXNlaGVu IGZhdm91cmFibGU= YW5leQ== IG90aGVyQnV0dG9uVGl0bGVz IFRoYW1lcw== CXVuaXQ= Q09MVU1O IGxvaQ== LHByb3Rv X1BSSQ== IHdhbmRlcmVk IHNhcGk= YmFja3dhcmQ= YXJhb2g= IEZI IEFsZw== CWFj YXJybw== 5Y6G IFNPUw== IERyZWFk VmVjdG9yWGQ= LnJtdHJlZQ== X2V4ZWN1dG9y IHByZWduYW5jaWVz IHByYWN5 IFd3dw== IEFyY2hiaXNob3A= IG1laW5lbg== RlU= LkVudg== IGVubGlnaHRlbmVk IG9yaWdpbmF0ZQ== 5Y+K IHpsaWI= X1NB IHdhc3Rlcw== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cHJhcw== IGhvcnJpZmllZA== IENhbGR3ZWxs dG95 X3Nob3Q= IGxlc2Jp IE1hZ25ldA== b3hpYw== U3VybmFtZQ== IHNob3dUb2FzdA== CURlc3Ryb3k= LmdldEV4dGVybmFs SUxJ IE5ldmlsbGU= dHNreQ== IG1lbGFrdWthbg== ICImIw== IGZsb3dlcmluZw== IHZldGVyaW5hcmlhbg== IGhhcm1vbmlj IENhc3NhbmRyYQ== KENyZWF0ZQ== cGVyc2U= UGVybQ== KU5TU3RyaW5n IGlzSW4= IEZsb2F0aW5nQWN0aW9uQnV0dG9u L05ldw== IPCd Y2FwYWJpbGl0eQ== IGN1Y2tvbGQ= IEJhaW4= KCl7DQoNCg== UEVBUg== IGphd3M= IGdvZGU= IGNhc3NldHRl LmZyZXF1ZW5jeQ== U0NPUkU= LmludGVudA== Olsi IOWmguaenA== 77yf4oCd L0ltYWdl IHNpZW5kbw== X2FsbG9jYXRpb24= OkI= L1JlZ2lzdGVy X2thdGVnb3Jp dW55YQ== Lmluc3RhbmNlcw== IFVOSVZFUlNJVFk= IHBsZWFzYW50bHk= IGdsYW5kcw== IFlFTExPVw== IFRoaWNr QW10 IHByeQ== IGx1aw== KHByb2JsZW0= IHByb2plY3Rpbmc= W25vdw== IGVzdG95 KCgpPT4= IHdheXBvaW50cw== IEJsaWNr LlJlcXVpcmU= TGFrZQ== IElHTk9SRQ== IFFIQm94TGF5b3V0 X3Jlc3BvbnNlcw== Lndy JmFjdGlvbg== LmNoYXJhY3RlcnM= SVc= cGFnZU51bQ== IGRpc3RyYWN0aW5n XS0n cGVlcw== b3VuY3k= IHNlZ3U= LmdldFNlbGVjdGlvbk1vZGVs SW5saW5pbmc= J2FmZg== IFByZXNlcnZl IGFjcXVhaW50YW5jZQ== IGFudXM= aW5zdGl0dXRpb24= IC8vKg== IFNpY2s= IEtvZGk= IEFWUg== IGJldHI= IEJlcm5zdGVpbg== LGN2 Y2Ni Q0FG CXNpZ25hbA== 6KiI UmVzdWx0c0NvbnRyb2xsZXI= IHNhbG9wZXM= IHBoZW5vdHlwZQ== dWJhaA== X2RhdGFzZXRz IGdyYWNpb3Vz IENsaXBib2FyZA== IGdlbmRlcnM= ZG93bmxvYWRz RXhwZXJpbWVudGFs IGJla2FubnQ= IG5pdmU= LkVk ZGlzbWlzcw== XFR3aWc= LkF2 L3Rhc2tz LnBpY2tsZQ== KkI= Y2VzdG9y Y2FwaXRhbGl6ZQ== LkdldFNlcnZpY2U= S2V5SWQ= LnBpdGNo IENvbnRyb2xsZWQ= LnNhdmVk IHphag== IENhdGh5 KENhbmNlbGxhdGlvblRva2Vu LWFuaW1hdGU= XFxc IEphc21pbmU= LkxJTkU= IGJvdGhlcnM= IGJ1ZmZhbG8= IEZPUkVJR04= IHRhY2tsZWQ= X0hFQVA= IHNlcnZpYw== Pj4s IEFjdG9ycw== LlR4 ZWJ4 X3Zpc2l0b3I= X21hcnNoYWxlZA== LG1hcA== IGhlYXRlcnM= IHVMb2NhbA== IEthcG9vcg== IG1pbnV0 LnJlYWRBcw== IC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u X1ZPTFQ= LmJ6 IGNvcnJlY3Rpbmc= U0VQ YnJpbmc= SHU= IEd1cw== QUFE aWVyYW4= ZnJhcmVk X3JvbQ== IHNjYXJjaXR5 IGFwb2xvZ2lzZQ== IHNvbGlkcw== IEZvcm1hdHRlcg== ICclJA== LXZpcw== IiwiIiw= VU5ERVI= ISEhIQoK IEVsZXZlbg== KSld IHNhdGlyZQ== XHVC IHNldmVudGVlbg== TEFOR1VBR0U= IGFkdmVyc2FyeQ== IHN0cmZ0aW1l IG5leHVz dWJpdHM= ICclIg== IFNLSVA= S0hS LmJhdA== IEplYW5z Lj8= IGltcG9zdA== LnF0eQ== Q29tcHJlc3Npb24= IHByaW5jaXBhbGVz b25pbw== IGJhcmNlbG9uYQ== IENoaWxp X21vc3Q= LnVm IGNvbnRlbnRWYWx1ZXM= IEZpc3Q= dWdhZG9y VGV4dFdyaXRlcg== QkFDS0dST1VORA== IGxpdnJv IERlc2lyZQ== bWVhc3VyZW1lbnQ= UHJvYmU= IHB1ZGRpbmc= LnNob3dFcnJvcg== IHVudGVyc3TDvHQ= 44CB44CB IMSHZQ== IHB1bml0aXZl 5q2i TGlzdEdyb3Vw LkFyZWE= IPCfmIkKCg== b29yZA== IHNjcmFwaW5n KHRpY2tldA== IFdvY2hl IGV4cGVjdGVkUmVzdWx0 IEtvc3Rlbmxvcw== Y29uZmlndXJlZA== X3N0cmVycm9y LmFkZEhhbmRsZXI= bW91c2VsZWF2ZQ== IEZlbGlwZQ== IENoaW0= X0NTUg== UENB aWZpY2HDp8Ojbw== KysKCg== eWFz IOaWueazlQ== IElETQ== IGFuaW1hdGVXaXRoRHVyYXRpb24= IHNhbWVu LnN1YnRpdGxl X0tleURvd24= IFRyZXk= IHRlbXBvcmFkYQ== IHNwZA== IFJj IE1hc3NpdmU= IGJvd3M= SG9zcGl0YWw= IGdyb290 IHBhdmluZw== IGNob3Jlcw== IEFsbHk= IGNlcnRpZmljYXRpb25z IHhib3g= c2VsZWN0QWxs R2FtZU92ZXI= IGNvcm5lcnN0b25l UmVjb3ZlcmVk IGRlZW0= VWx0cmE= IGdldExhc3Q= IGFsbWE= LnRleHRGaWVsZA== IHdhaXZlZA== Pih7Cg== IEVzdHI= aXNhYmxl IHByb3Rvbg== X2ZhY2Vib29r X1RSQUlO IGNvb3BlcmF0aW5n dW5naQ== QXJpem9uYQ== I2VjaG8= LWV4cHJlc3Npb24= Lm1pbnV0ZXM= IHByZWZpeGVk IGZpc2hlcmllcw== LmNvcnJlY3Q= IG7Dpg== KFNwcml0ZQ== TW9kcw== IFZpZGU= IGdldEJ5SWQ= IEtleW5lcw== IEVneXB0aWFucw== X0NPRA== Qmllbg== cmVvcGVu aWdoZXQ= UkVERU5USUFM IHVud2luZA== JA0K IHJhY2tldA== IGZsb2F0VmFsdWU= IFNwZWNpYWx0eQ== b2NhdGU= bW91bnRlZA== QXR0ZW1wdHM= T2ZmaWNlcnM= SGFzaFRhYmxl IGTDqXZlbG9wcGVtZW50 IGRhcA== IG10eA== TmFycmF0ZWQ= a0I= X1NUQQ== LUNsYXNz IGR1bA== IExlYWRz IHRyw6pz ZnJpZW5kbHk= IEZpbHRlcmluZw== LXByb3ZpZGVy INGD0YHQvw== IEtvbGthdGE= bWFza2Vk SURhdGE= IFt8 wqQ= IFJlZXNl IEhvbm9sdWx1 VG9PYmplY3Q= IHRocmlmdA== YXNzaQ== IGNvbmdyYXR1bGF0aW9ucw== U0tJ ZW50YXJpb3M= IEZST05U dWZpZw== aG9u CWdldGxpbmU= IGhlYXJ0eQ== Y2FsaW5n IMOpY29ub20= ICoqKi8K X0hFUkU= YCg= TWljaGlnYW4= QmVhbnM= LXJvdXRl IHByaW5j IEd1aWRhbmNl CWVtaXQ= Lk9Q dGhpYw== ZWxvcGU= IElSZXF1ZXN0 IGhhbmRsZUNsb3Nl ZGF0YUFycmF5 LkV4ZWN1dGVTY2FsYXI= RVBISVI= IENvbnZlcnNlbHk= KEZvbnQ= IG1ldHJl IFNwaWVsZXI= RWxsaXBzZQ== IFBWT0lE IERhdGFDb250ZXh0 Y29uc3RydWN0ZWQ= QU5ESU5H LS0tLS0tLS0tLS0qLwo= Qm9uam91cg== X1BIUA== cHJvZ3Jlc3NiYXI= Tm90U3VwcG9ydGVkRXhjZXB0aW9u IHZlcmRhZGU= L2NoYW5nZQ== b3Jzaw== IGFyb21hdGlj cmVzcG9ucw== cmVhbGxvYw== YXRpc2No LGV2 IFNpb3V4 dGVh IFBvZQ== 5LmI X2Ntb3M= IGFsYg== KGxy IEFwcGFyZWw= IGRlbGxv INGC0L7Rhw== IHN0cmVhbWxpbmU= d2NoYXI= QWRvYmU= LG1vZHVsZQ== IHVuaW5zdXJlZA== fSIpDQo= KCIvLypbQA== LXBoYXNl IGZldQ== X3RB em9law== IGZvbGxpYw== IHR1Zw== IGJlZmluZA== IHRhbGxlc3Q= KG10 aWVkeQ== X0xlbmd0aA== IHN0YXVuY2g= IHJlbW92ZU9iamVjdA== IGZsYWtlcw== Z3Jlc3Fs IGlua2w= IFNDU0k= IEtlZXBlcg== O2w= IEhpbmR1cw== X1BFRA== X0NPTkQ= IExhdW5kcnk= KytdPQ== X0FVWA== IGJ5xYI= IGF1bWVudG8= bWFyZ2luTGVmdA== ZXF1YWxpdHk= IEx1eg== IEVjaw== X21hcw== X2xlbnM= IHN0ZXJpbGU= Y2xpZW50ZXM= J30pCgo= IGdvb2R3aWxs IEVsbGlzb24= U3BhY2VJdGVt IHNob3dNZXNzYWdl 66Gc6re4 IGNvbnRyYXRv UG9zdGluZw== LmludGVycG9sYXRl KGZpbGw= IGJ1bGxwZW4= LmdlbmVy IGh1ZXM= IG1lbW9yYW5kdW0= dG9Qcm9taXNl IEJ5eg== KHB4 KFByb2dyYW0= UkVTU0lPTg== YmZk IHBsYW50YQ== Lm1vdXNlUG9zaXRpb24= IFNwYW0= 6LSn dGVsZWdyYW0= YWd5 IGdlZnVuZGVu LkRvbQ== IGxpbmVtYW4= LmJ0bkRlbGV0ZQ== IHNlbGVjdGl2ZWx5 65Og SUZT IEdldEhhc2hDb2Rl IHJldGly IHJlcXVpc2l0ZQ== QlRUYWc= cGxpYg== IGZpcmVmb3g= LnRyYWRl ICMk LmNvbXByZXNz IGxhZGVu IERpcmVjdG9yeUluZm8= IE1vZGVz IGtvbmU= IGRpdnVs CWhz Y3JvZnQ= IFdIWQ== eENF L0dyaWQ= X0FVRA== IFNjcmU= IGVycm9yVGhyb3du U2FkbHk= YXRpdGlz IG5lZ2xpZ2libGU= LlJlZ2lzdGVyVHlwZQ== IE1vaXN0 5rWL6K+V IEJNQw== bGVhZmxldA== eW5l cm9rZW4= IHZpbmM= dHR5 IGJldXJldHRl IEFscGluZQ== IE1jTQ== U3BvaWxlcg== ZGlzdHJpYnV0aW9u LXJheXM= IOuwlA== X3BhcmVudHM= IGNyYXRlcw== IGNvbW11dGVycw== IEFyZ2VudGluZQ== 77u/LyoK L2ZyYW1ld29yaw== IGNoYW5uZWxJZA== Z3JlZW5z LnNldFN0eWxlU2hlZXQ= IGluYWNjZXNzaWJsZQ== aXRhdGVz IHdhcm1lZA== RmFicmlj Z2V0YXR0cg== ZGlzcGxheVRleHQ= X01PTklUT1I= IHNpZGV3YWxrcw== SW50aWFsaXplZA== IGtvbWVu IGRpc2NyaW1pbmF0b3I= IE5hdmlnYXRl KERpcmVjdGlvbg== IFNwaXQ= X2FkZGl0aW9uYWw= IGh0b24= IGVzcGVyYQ== IGRlbHZl IGNvbXBhcnRpcg== IHByZWVtcHQ= cHJvY2Vzc29ycw== LWdpdA== YmVlbg== LlNVQg== IFJlZXZlcw== L2dlbg== O3RvcA== CU1QSQ== Wlc= R0VTVA== YWJpbGly IHByb2dyZXNzaXZlcw== aGFmdA== QXVm IEFjdGlvblR5cGU= bGVv IHV0YW4= SW5pY2lhbA== PlVzZXI= IH0pOwoKCgo= INio2Yc= IENoYWlucw== aXNzcGFjZQ== L3JlbQ== U1FMaXRl IGNlYXNlZmlyZQ== JGFy VFJT Oi8vew== IFNwaXJpdHM= 2Lo= KFNpemU= IG51Zw== IE9sc2Vu IGNobG9yaWRl IERpc3BsYXlOYW1l IFBlcnQ= IGdldE1heA== IEVkaXRvcnM= IFBhaXM= YXNtdXM= VmFj IFRhYmxlTmFtZQ== IG51YW5jZWQ= Rm9yTWVtYmVy IHNsZWVweQ== YWR2aXNvcg== IHN0YWxraW5n Lm1lZGlhbg== X0F0dA== IGdldE5vZGU= IEZhbmN5 5pWw6YeP LkF0dHJpYnV0ZVNldA== KGluc3RydWN0aW9u eEJE IGtvcA== QWZmZWN0ZWQ= L25hdmJhcg== IGFpbG1lbnRz IFJhbWFkYW4= IEFjY2VudA== IFBhcmFtb3VudA== IEdBTQ== 5L2N572u PSov LklOUFVU PFByb2plY3Q= TGVhc3Q= IEdlbm9tZQ== QWNjZXNzb3JUeXBl bGVmdHJpZ2h0YXJyb3c= dmVudGluZw== L3BheW1lbnQ= X1B0cg== IHRhbWU= IE1FTUJFUg== IEJpdGNvaW5z LmVwYW0= LlBsZWFzZQ== IHNjaHdhcg== Q3BwTWV0aG9kSW50aWFsaXplZA== IHVuaWNvcm4= IGJlZGV1dA== X0hT IGF1dG9nZW5lcmF0ZWQ= IExpbGx5 IEFzc2Vzcw== IEhlaWRp LnNvdXJjZXM= LnRlbGw= YXJnaW5z KCInIiw= 0LvQvtC2 IEVyb3RpYw== IGp1c3Rv IGVzYWM= Y29tYQ== IENvbG9ueQ== IHBjdA== CWVu IGVtcGV6 IERlbGV0aW5n TkVM IGVuYW0= UHJlc3NFdmVudA== IFJlc29sdmVy IFJURQ== Rng= IEluY29ycmVjdA== IHlj X3JlYWRpbmc= O2Jhc2U= IGhhc2h0YWdz IE1hcmluZXJz LlNldEZsb2F0 IHJlYXNzdXJpbmc= aXJzY2g= KHVzZXJpZA== ID09PT0= XSkpKTsK a2Y= IHRpbGVk ZWd1YXJk Q2xpZW50ZXM= 5pmC6ZaT ZHNs UmlnaHRz IFBzYWxt ZHVyaW5n Q2xlYXJDb2xvcg== dXN0YQ== PENvbW1lbnQ= IG5venpsZQ== IFBMQUNF L2hpc3Rvcnk= aWh1 aVZhcg== IGdlcm0= IHRyaW1taW5n IEh1bnRlcnM= IFJTVlA= SW50ZXJlc3RpbmdseQ== amlhbg== KSl7Cgo= LkV4cGVjdA== IFRvaWxldA== IHdhbGxwYXBlcnM= LldlYlNlcnZsZXQ= YXJwYQ== L21haW53aW5kb3c= aHE= IHV5 IGluZGlnbg== Q2hlY2tlZENoYW5nZUxpc3RlbmVy IGNhbGxlcnM= IE1vdXNlRXZlbnRBcmdz IEpTY3JvbGxQYW5l IHfFgmE= cmVwb3NpdG9yaWVz IMWbdw== IHJlZmVyZW5jaWE= IGlvdGE= IGNhcmdhcg== X29ic2VydmVy SENJ c2lsdmVy IGRldmFzdGF0aW9u LXNlbWlib2xk IEV4cGxhaW4= IEJsb2NrbHk= Llhy ZXN0dXJlUmVjb2duaXplcg== Q2FuY2VsQnV0dG9u IExvY2tl VHJpYWw= X1BMQUNF anVhbGFu IFJ1Ymlu U3RyaXBl IG1ldGFEYXRh Y29uZmlkZW5jZQ== X2JhdHRlcnk= IGlzbA== IGJvYQ== LnRhcmdldHM= bGlqa2U= IGFkb2xlc2NlbnRl YmV3 LEZhbHNl IHlPZmZzZXQ= UHJldmlvdXNseQ== PXBhdGg= X0FB iOadgw== IGJha2VrYQ== IGxlZQ== IEJsb2NraW5n L3RpdGxl IOW8gA== IFN0ZXZlbnNvbg== KW9iamVjdA== aXN0cm9z LmdldFNlcnZlcg== IHBsYW50YXRpb24= X0JveA== ICc7Jw== dGljYQ== KSldOwo= IGRpc3Bhcml0aWVz xrDhu5s= aWNyb2JpYWw= IHNwYXM= L0RE KHBvaW50ZXI= IG1pZHBvaW50 LmdldENsYXNzTmFtZQ== IFRvdGFsbHk= IGNvbmdlbg== IHTDqnRl LnhsaW0= Q09NUExFVEU= KGZp b3dhcmQ= 0LzRjw== LmFzYw== IHBhZ2luYXRl IGx1cmtpbmc= LnNpZ251cA== U1RZTEU= IHdvcnNo aHY= IGRlZmVuc2l2ZWx5 IEx1dGhlcmFu LmZ1bg== INC40L3RhNC+0YDQvA== cHNj IGFkbW9u IEVzdGltYXRlZA== IE15U3FsQ29ubmVjdGlvbg== LnN0YXR1c1N0cmlw IGFudGlnZW4= IGhlcnJhbWllbnQ= IENvbnN1bWVycw== IFlU Lm1hc2tzVG9Cb3VuZHM= Lnh0aWNrcw== OnJlcXVlc3Q= IE1vbw== LWF1 IHRvUmV0dXJu IFNhcHBoaXJl Y294 ZXhhbXBsZUlucHV0RW1haWw= IGNvcmF6 KHBpZWNl IHJlY29uc3RydWN0ZWQ= X3NpZ251cA== J10pPw== QmlsbGluZw== IENyb3dsZXk= c3Rvcm1z Zm9yY2Vy IHN1cHJlbWFjaXN0 X3doZWVs CXBj LmdldERvY3VtZW50 LnVuc3F1ZWV6ZQ== LmdyYWRl ZWxsdW5n LnNob3BwaW5n Y3VzdG9tZXJJZA== IG1lZGlkYXM= IE1vbWVudHM= ZW51b3Vz SUZJQ0FURQ== IyMjIyMjIwo= 5paH56ug 4buNYw== b3Jtc2c= YWxvbQ== LXRyYWRl CWJ0 L3N0dWRlbnQ= YnJpZw== YW5uZXNz KHJh IHJpY2VyY2E= U3BlYWtlcg== csOz Z3Rlc3Q= R2x5cGg= w7xnZW4= QEpzb24= KHN1bW1hcnk= S29t YmV0aA== L2VuZ2luZQ== Q2xpbWF0ZQ== c3VibWl0QnV0dG9u ZXZl ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cg== cGVkaWE= IHVzZXJuYW1lcw== IEpN IG1zZQ== aW5zcGVjdA== IFNuYXBkcmFnb24= IGRlZmVuc2VtYW4= IFVJVGFibGVWaWV3RGVsZWdhdGU= aW5kaG92ZW4= IEJveWxl IEFsdGE= YXJkdQ== IHdyZXN0bGVy IFN0cmFpdA== IGVncmVn X2Jhc2VsaW5l RW52aXJvbm1lbnRhbA== IGludml0 IEJUUw== IElTSUw= IGNvb3A= aG9yZXM= I0A= IGNvbXBlbA== KHNraXA= 6Ziz X0RFUFJFQ0FURUQ= aXBoZXJz ZG91YmxlVmFsdWU= IEFSUg== LlNjb3Jl IGNocm9tb3NvbWVz Y2xhdXNl IEx1aWdp IHN1bnNjcmVlbg== IGN5dG9r LnRvSlNPTlN0cmluZw== IHByb3ByZQ== cG9vbnM= bWl0dGVycw== IGtpdHRlbnM= IGNhdGhvbGlj Lmx0 wqw= X3F1aWNr IHZyYWk= IElSZWFkT25seQ== IEhpZ2dpbnM= IHNob3ZlZA== IGxpYWlzb24= X293bg== IG1vc3F1aXRvZXM= X25n LlNldEtleU5hbWU= X1JlbmRlcmVy X09zYw== LnVucmVnaXN0ZXI= TWVzc2FnZVR5cGU= LWZvdW5kZWQ= IHNvdXRoZWFzdGVybg== IGhhc2h0YWJsZQ== LmluZGVudA== IGpveWZ1bA== X3NleA== c2Fk LmRlYmlhbg== X2dhcw== IHBlcmlzaA== IGhldGU= X3NpbmdsZXRvbg== KGdyYWQ= IGt0w7NyYQ== IGR3aW5k aXR0YWw= U2VlaW5n IFJvb2tpZQ== CUxhYmVs c2hhbg== PDw8PDw8PDw= IHLDqA== aWVzZWw= YXJyZXJh Y2hyaXN0 IGN1cnZhdHVyZQ== IGVwaGVt Rm9ybWF0dGluZw== LmRpY3Rpb25hcnk= LlNldHRlcg== IEhpc3RvZ3JhbQ== IFN0dXR0Z2FydA== IHBhY2luZw== dXRhdGlvbnM= IE5TSw== IFBhbWVsYQ== IEJhaWw= IHBvbGFyaXphdGlvbg== IEfDtg== IEVsYWluZQ== IGtpY2tvZmY= IGNoYXBlbA== PXBvc3Q= IG1pZHdheQ== ZXdpcw== X01S aWVlZQ== LXRlc3Rpbmc= bWV6 Pi0t IGRvY3RyaW5lcw== IG1pbGlldQ== IFJBRElP dGFrZW4= UmVzcG9ucw== IGhhbmRzZXQ= IGNvbnRybw== IEFwcGxpZXM= 6Zif LkJpbmRpbmdTb3VyY2U= INis IGh1bWlsaQ== IE1lbGFuaWE= T3ZlcmxhcA== KFBhcmNlbA== IHdhcmVob3VzZXM= LkdldEJ5SWQ= IGZyYW5rZnVydA== IFdpdHQ= LnByb2o= IFNhc2hh IFJldmVy IGFydGljdWxhdGVk YW5jaGVz IFNlbWluYXI= IERhZ2dlcg== IEFnaWxl T1dM IEJz b2tseW4= RXRh IGFnb3N0bw== 7ZWY7Jes IG9wdGFyZw== CW9uQ2hhbmdl IFJPQUQ= R0JL IGVudGZlcg== LkF1dG9Db21wbGV0ZQ== IGhlbGZlbg== Q2hlYXA= IGFwcHJlbnRpY2U= aW90aWNz 5oqA T2ZZZWFy aW5kZXJlZA== Lk1TRw== IE1hcsOtYQ== KGlucGxhY2U= IGZpbmRl KERF LlNlcmlhbGl6ZXI= JHRpbWU= dW5uYWJsZQ== TWFpblRocmVhZA== ZGVwbG95bWVudA== IG1wZnI= cmljaFRleHRQYW5lbA== KTsKCgoKCg== IGRhbnljaA== X0JFRk9SRQ== X2FyeQ== IEJhdW0= IHR1cmJ1bGVudA== IE11bHRpbWVkaWE= IHBoeXNpY2lzdA== 5Zy6 QW5pbWF0ZQ== PUY= UGFnbw== L3R3aXR0ZXI= b3R0aWU= dWN1cnNhbA== X3BhZ2luYXRpb24= LmFyY2hpdmU= LWRvY3VtZW50 aW5pbmU= U2VsbGVy YWRyZXNz 6ZO+5o6l 0LDRgtC10LPQvtGA X2ZybQ== bm9EQg== aWdhdGVk IE9zYW1h cGV0dG8= Pnk= LVVu IGNvcHBpYQ== QWxtb3N0RXF1YWw= LmxleA== IGxldmVsZWQ= IFNDSVA= X0hPT0s= SUxvZ2dlcg== bmVhdQ== 77ye 24zZhg== aWtoYWls IHVwbG9hZGVy IENhcm9seW4= LmFkZFZhbHVl dGhpbmtpbmc= cHJpbnRTdGF0cw== IGNhbWJpb3M= cG9p IEJFRA== IHhibWM= Lu+/vQ== IHNhcmNhc3Q= IE5FQw== JGJvZHk= QWxsV2luZG93cw== IHlvdW5nc3Rlcg== IHVuZWFzeQ== KEFU IG5vc3RhbGdpYw== UFJJQ0U= IFNlaXRlbg== IG1ha2E= IGxpbXA= IGNvbnRyYXN0cw== Q29mZmVl CWdlbg== IHBlcm1z IE5lZWRsZXNz b3V2ZQ== YXJjaGluZw== X3BlbmFsdHk= cm93YWQ= b25nYW4= X2R1cg== IGlmbmRlZg== aWF1eA== IGNhcGFjaWRhZA== IE5vcnRl IC0qLQ0K aWZlcw== IE1hbnNpb24= I1JlZ2lvbg== Q2FuY2VsbGF0aW9u IG5lYXJpbmc= IGxhbmd1 ZXJlcXVpc2l0ZXM= X2V4cGVyaW1lbnQ= b25kaGVpbQ== XSwm IENvb2xpbmc= IHNhZmFyaQ== IHBpb25lZXJz IGZhcm1ob3VzZQ== IGRpc3RhbmNpYQ== IGRlc2VydGVk IE5hcnJvdw== LnNn IGVudHJhcg== LnJh IHJlZnVyYmlzaGVk IGludGVyY29ubmVjdGVk IHN1cnZpdmVz IHF1YWxpZmllcnM= X0NIQVJT LWFqYXg= IFJvcnk= IGtvbGVq L0dM X2xlZ2Fs IFRZUEVT IFZvaWNlcw== IEZlcmQ= dWplbXk= IHNjb3JlYm9hcmQ= IEJPVA== eERE IEl2YW5rYQ== IGhzdg== bm9kaXNjYXJk IFRIRVNF bW9qb20= IHRpY2tpbmc= cGVx IOa3u+WKoA== IE5pY29s CWFuZ2xl X2FsbG9jYXRlZA== IHN0cnV0 eERC RXZhbHVhdGU= IFZBUklBTlQ= IHJlZmVyZW5jZWRDb2x1bW5OYW1l bG9o IFJlcXVlc3RPcHRpb25z IGNvY28= IGJsZWFjaA== X29yZ2FuaXphdGlvbg== IENITw== SFRUUFM= X2JhcnJpZXI= LnZpc2l0TWV0aG9kSW5zbg== IHZpdGU= IC0k W2NlbGw= IGNlc3NhdGlvbg== CgoKCgoKCgoKCgo= INGB0LDQuQ== RXZhbHVhdGlvbg== IENJTQ== cXVhbGl0aWVz WG1sQXR0cmlidXRl IEVtb2pp ICIoJw== IFRVUk4= eHNk IEdJUw== IGNyZWF0ZVNlbGVjdG9y cmlwcGxl IHVubmVjZXNzYXJpbHk= IG5ld1Bvcw== IHN5bWJvbGlzbQ== b2J1dHRvbg== IHNhbW8= ICgqKCg= LnJld2FyZA== S0VSTkVM KGpTY3JvbGxQYW5l IGJ5c3RhbmQ= X2ljYWxs IGR1bmdlb25z IGNvbnN0ZWxsYXRpb24= IGVtYnJhY2Vz IEluZmFudA== QXVzdGlu LmFic3RyYWN0 IGNvbXBhZ24= IENvbmRpdGlvbmluZw== TWFpcw== VmVyaWZpZXI= IFB5cmFtaWQ= IG1MaXN0ZW5lcg== X2J1aWxkaW5n LlJlZGlz IFRvb3Ro TE9HR0VS LkFzeW5jVGFzaw== X3ByaW5jaXBhbA== ZXhhbXBsZU1vZGFsTGFiZWw= CUxvY2Fs TWFya2Vycw== IGRvbHBoaW5z LlRleHRFZGl0 J2Fs IG92ZXJzdA== LWRyaXZl IGluc29tbmlh IGFkYg== X3F1ZXVlcw== RWI= IERhbW4= aXN0cmluZ3N0cmVhbQ== CUR1ZWw= aWJibGU= IGltcmVhZA== LmZpbmlzaGVk IG1pc3JlcHJlc2VudGVk xYRzdA== aW9uYWxlcw== Ik5vdw== LlNlbGVjdFNpbmdsZU5vZGU= IHdlYWtlbmluZw== X2luc3RydWN0aW9ucw== LW9z IHN0YXJ0UG9pbnQ= IE1pbWU= IEhlbGQ= fHwo dW1taW5ncw== b2tpbm8= IHJlZmw= cmlkb3I= SW50ZWdyYXRlZA== RU9iamVjdA== cGVhdHM= Q2lyY3VsYXI= IFNvZGl1bQ== IHBvZHLDrWE= bWVkaWNpbmU= IHBhcmFub2lh L2JhY2tncm91bmQ= KGJvcmRlcg== X3Nsb3c= IHByZXNlbnRWaWV3Q29udHJvbGxlcg== IGNvbnRpbmdlbmN5 IFBhc2FkZW5h bG9vcHM= IE9j YXBwbGljYXRpb25z IG1wZw== IEFR LldpbkNvbnRyb2xz bGVkb24= IFJlcQ== IEFjcmVz aWJpcg== IGdldFdpbmRvdw== IFlhaA== IG5lZWR5 4pa6 IFRPTQ== KFsuLi4= IGZx IENhbWRlbg== b3JkaW5hdGVk CWNoaWxkcmVu dmVnZXQ= CWRpcmVjdGlvbg== PEZpZWxk X2NvcnJlY3Rpb24= KEVORA== SEVFVA== RmFsc3k= LmR5bGli X1JFUE8= IGJyaWxsaWFuY2U= b2dyw6Fm bG9k IHBvd2RlcmVk KEFydA== IE1JTEw= 0LXQtNCw0Lo= X3NpbXVsYXRpb24= IHNtYXNoaW5n IHVybFN0cmluZw== IGRyZWFkZWQ= cmllZw== L25z IEludGVycHJldGVy Om1heA== ZGVyaXY= IFBldHQ= IG1vZMOobGU= IGFtcGxpZmllZA== IFNpZ25hbHM= Lm5hdkN0cmw= 5ZY= IHNlcGFyYXRvcnM= IFNISUZU IGZpZGVsaXR5 LnNvbg== KGNh IFBMVUdJTg== IGxpZ2h0ZW4= UEJT ZmxvYXRpbmc= KGxvYWRlcg== IHBlZWxlZA== aGlj IHRhcGVk IG5vdmVtYnJl IHN0dWZmaW5n IEZpcmVhcm1z LkRyYXdhYmxl IGNvcnRpY2Fs IEdVSUNvbnRlbnQ= IFZlcm9uaWNh X3JzYQ== IGNvbW1lbW9yYXRl LlNZU1RFTQ== IGRhbXM= LmlzVHJ1ZQ== IFByZWduYW5jeQ== 7Iug IGF1ZGl0b3J5 KENlbGw= IGludmFkaW5n IGZvckVhY2g= CURyYXc= TWFyY3Vz UHJvY2Vzc2Vk IHNwcmF5aW5n IE91dGxpbmVJbnB1dEJvcmRlcg== ZXNzZXJhY3Q= IOacgA== UGc= LXF1YXJ0ZXJz IHNrbA== L3Byb3ZpZGVycw== dG9IYXZlQmVlbkNhbGxlZFRpbWVz IGNvc21vcw== IGZpbmFsaXN0cw== IHNsZWVwZXI= IE1hdGVyaWFsQXBw ZGFj IGJ1c2luZXNzbWVu xJ9lcg== Qmlhcw== ZGF0YWw= VXBFZGl0 IFRpcg== SVNUSUM= IEhlcmE= X2ludGVyc2VjdGlvbg== IExhbWE= CWFwcGVuZA== IHBvbGx1dGFudHM= IFNpa2g= IGNvbGxhYm9yYXRpb25z bnV0cml0aW9u IGhhbW0= IERpbGxvbg== X0RPVA== IGZpcnN0aGFuZA== U09BUA== PXo= LnByaXY= TWlzbWF0Y2g= LnNlbmRSZWRpcmVjdA== LmxpbmtMYWJlbA== IHdyZWFr TWFydmVs L3Ns IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw== IG1vdmFibGU= 0YPQuQ== IERyaW5raW5n YWNlYQ== IHRyb3ZhcmU= LkNTUw== IGtlcm4= dmZz 5pWw5a2X IHN0ZXNzbw== IEZPUkNF IGxpZWY= IGFjaGlldmVz IEVsaWphaA== R2V0UHJvcGVydHk= LypA IEh1bWFuaXR5 KFRoZQ== d2FybQ== PiIp IGNvbXB1dGF0aW9ucw== LnRpbnRDb2xvcg== IHVzbGVlcA== IEdQTHY= bmRhdGE= L2NsaQ== TW9o PiINCg== LmJyaWRnZQ== IGVuY3ljbG9wZWRpYQ== IEJJTg== IFN1cHBvc2U= INio2Kc= cmlldmVk cGFnZW4= aXJzZQ== UGFjaWZpYw== LmZ1bGxOYW1l IGFsbGVnZQ== aWxsdXN0cg== IOqysA== IGRldGVycmVudA== IE5hcGxlcw== aW5jbHVkZWQ= UmF0ZXM= IGhhc05leHQ= IEplcmVtaWFo IEZlcm5hbmRleg== IGdldE9yZGVy LlN1YnNjcmliZQ== UG9zcw== OikK IFdvcmtzaGVldA== YmxlbmQ= IHdpdHR5 IGNvdW50ZXJmZWl0 X2R5 L1J1bnRpbWU= IHNvZG9t L2Rv IDx8 IFJlY3J1 5aOw5piO IG1vZGVsb3M= IGJpdHJhdGU= LmNybQ== bHVz IGZpbGVUeXBl 5bCR IG1hcnJvdw== IFZlbmV6dWVsYW4= IHNjYXY= IFNUT0NL IEltcG9zc2libGU= bmF2aWdhdGlvbkJhcg== IHNpZ2h0aW5ncw== IGNlbGxGb3JSb3dBdA== IHJlY3Rz IGFpcmw= IExlc3Rlcg== IG5vZHM= QHJlZ2lzdGVy eENE cG5hbWU= IHBvdHRlcnk= IHp3YXI= IFN1bmRlcmxhbmQ= 4oCmYnV0 L2NvbnRyb2w= IGNhbGN1bHVz KGlzb2xhdGU= cGxhY2Vob2xkZXJz Kilf IH19DQo= IEtvaGFuYQ== Y29kaWxl b3Rlcmlj IHByZXBhaWQ= IGdyYW5kbWE= IHN1bHBo IEdhaW5lcw== XE1vZHVsZQ== IGNvdW5zZWxsaW5n LWdlbmVyaWM= IFR1ZXM= LkdyYWRpZW50 IFRodXJz IGVudHJh IGFkdmFuY2VtZW50cw== U1dFUA== X01BUktFUg== IGtsdWI= IG3DqWc= ZmZmZmZmZg== Il0pewo= L2NvbXBpbGVy YWRpZW5z U3RyaW5nVmFsdWU= IFNjdWxwdA== cGFuZWxz 5b2i 5Lqn5ZOB YXLDrWE= IGRlcmFpbA== IExvY2g= IHBlcHA= bXB6 IOKe S1Y= IERpZXRhcnk= QVJSSUVS IHBvbw== IFJBTkRPTQ== 6LM= IEhvbWV3b3Jr LlZhbGlkYXRpb25FcnJvcg== IE1hcnhpc20= 0YPRgtGM IGNvbWVudGFyaW8= X0JPVEg= IHBybQ== Y2FzdEhpdA== aXBsaW5h IFZvdGVycw== LmFzc2lnbm1lbnQ= bmV0dA== U0FNUExF amlz InRpdGxl LnZhbGlkYXRvcnM= ICI/Ig== dW5pZGFk X2ZpZ3VyZQ== IGFjY3J1 IFJlbWFyaw== Rm91bmRlcg== LmluaXRpYWxpemVBcHA= IFByZXNlbnRz IE1VTFRJ dmVzdGVy LnZpc2l0SW5zbg== IGdldFBhdGg= X2RpZmZlcmVudA== IGxvb3Nlbg== IGFycm9nYW5jZQ== IGp1bmk= IFphaGw= IEdDQk8= IG1vZGVyYXRvcnM= TGluZUNvbG9y IE5vZGVUeXBl X2JlbG93 b3JndA== IEhhcmxlbQ== IE9yd2VsbA== X1VOSVg= LnJlc3RhcnQ= aXRoZQ== IGdlbmll IGNsYWQ= Jzp7Jw== IHNob3djYXNlZA== IGxhcnZhZQ== TWljaGVsbGU= IExI LmdldExvZw== Q29uc3RydWN0ZWQ= IGh2YQ== X3N1YnM= IGRhYg== LmRvY3VtZW50YXRpb24= IG5pZw== IE1hbmRhcmlu 4oCUYXJl LXBpYw== X2Nvcm5lcnM= LkJvdA== XVso X18nOg0K LkVkaXRvckJ1dHRvbg== LXN5bnRheA== U2FuZGVycw== IFRhbmtz ZGVzaXJlZA== c3RhbnRpYXRlVmlld0NvbnRyb2xsZXI= R2Vhcg== IHVzZXJNb2RlbA== CWNvbnRyb2w= RGF0YUJhc2U= IERlYmF0ZQ== aW5lc2lz IHhl Lm1hZ25pdHVkZQ== IHlhbg== IEFwaUV4Y2VwdGlvbg== KHdoaWNo YXRoZXJpbmc= Q29uc2lkZXJpbmc= IEFMUEhB 568= IFJhbmtpbmdz LmxpZmU= 6rCS T0ZGU0VU LnRlbGVncmFt IGZhdmljb24= X3NzaA== IEVER0U= UmVmcw== YW5kYW4= IGFkb2xlc2NlbmNl IFNoYW5r IFN3YW1w X3BlcmM= IGNvbnRyYXJpbw== Lm55 LiIpLA== IHVudGVu X0VOU1VSRQ== L29yZGVycw== KGNm IHVudHJlYXRlZA== YXplbg== KElucHV0U3RyZWFt IGFwcHJvdmFscw== IGdlcm1hbnk= IGF2ZXJl VHJpcGxl LWJhcnM= IHNldFBhZ2U= SmFj IEZpcmVz IERBWVM= 56i/ IHNjcmF0Y2hlZA== IEJFTg== LXdpZmU= IGludGVsbGVjdHVhbHM= IHBvdWNv IHN0YWJpbGl6YXRpb24= IHBlbG9z IFNUT1JZ PGZpZWxkc2V0 IE1haWRlbg== LkNpcmNsZQ== IHNtw6U= Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw== L2VuZA== 6Iux KG51bXB5 LnBhbmVsQ29udHJvbA== Y2hyaWZ0 Y29udGluZW50YWw= X3BlbA== RFNM PFwv IE9QUw== IE5vb24= IHVuZGlzY2xvc2Vk IFlpbg== c3Bv CWRlc2NyaWJl dG9ncm91cA== IGRpYXBlcnM= IG1IYW5kbGVy CUNsb3Nl IHJlbmRpdGlvbg== PXsoew== RW50ZXJpbmc= KERJUg== X09MRA== IFN0aW5n IFBhd24= dXNzZXM= IGdldENvZGU= SXRlbUxpc3Q= IGluZGlz ID4iLA== IGNvbmZs IGRvbWluYXRlcw== dGhlc2l6ZWQ= c3RlcmVk IGNhYw== IEdlbnVpbmU= PFBhdGg= IEhvZGc= LWZseQ== LmNpZA== IG9iamVjdElk KCMp Lm1vdmVUb05leHQ= RGlhbG9ndWU= PHBjbA== dGVhckRvd24= Jyl9fQo= 5ri4 TGl2ZXI= TWF0cml4WGQ= IGNyYXBweQ== X0RFQUQ= LnBhcnRpYWw= LkRyb3BEb3duU3R5bGU= ZnVy LkNvbGxhcHNlZA== LXRvd24= SUNJQUw= RGlyZWNjaW9u IHNldFJlc3VsdA== L3Jlc3VsdA== IFNoZWVw eXNjYWxl Y29udGk= IHJlY29ub2M= 6b4= W2Jsb2Nr Y2xheno= IGJlbmVmaXRpbmc= QUFQ LnJlcXVpcmVz LkNvb2tpZQ== IGNhcHRpdml0eQ== LlNlY3Rpb24= XSkpOw== LWNhcmV0 KHZh IHbDpGw= IEhpZ2hsYW5kcw== Tm90YQ== IEZNTA== d2ludGVy IGFnZW5kYXM= X18sX18= ZGVtYW5k IHR1dG9ycw== X1NZTQ== KENI IHVuZXF1aXY= LnRyYW5zaXRpb25z IENhbG9yaWVz IEVjb25vbWlzdA== LlBpbg== IGRlZmxlY3Q= RXhwb3NlZA== IGdlcA== LkxheW91dENvbnRyb2xJdGVt IHJhaw== ZmliZXI= IGFwb3B0 IEVudW1z aXRldXI= IG1vZGlmaWVz IHJlbHVjdGFuY2U= IHNwaWxscw== QXNjZW5kaW5n IHRlbXBlcmF0dXJh LWludGVyZmFjZQ== IGNvd29ya2Vycw== IDpc IFJvdW5kZWRSZWN0YW5nbGVCb3JkZXI= PEtleVZhbHVlUGFpcg== UGFyc2Vk IHdpdGhkcmF3aW5n KGhpc3Q= IHRoZW9yaXN0cw== LW5n IGNoaWZm 66W4 UEFJUg== IEJyZXdlcg== S2E= IEJvd2xpbmc= X3Rs J30pLg== IHByb2Jpbmc= QXJz LnJlYWxt IGVzdGF0ZXM= dmFyeQ== IEtlcw== ICIsIiw= fSwNCg0K UGxhbm5pbmc= IFJlY29u IGNvbmNsdXM= dmF1bHQ= IGluY2VudGl2 IGJpbm5lbg== IFBoaWxsaWVz LkxvYWRlcg== IEZhbGxlbg== X1R3bw== IEJpYXM= Um9sZUlk IFBhcmNlbGFibGU= IERvZGQ= ICQoIiMi 5Lq/5YWD LW1lYW4= KE91dHB1dA== QVRUUklCVVRF IHNlY3JldGl2ZQ== IFBlcmlwaGVyYWw= IEZpbGVk IOW3 X21lZGlhbg== LklD IEFycmF5QnVmZmVy KFRBQkxF IF0KCgo= IGFudGhvbG9neQ== IG9ic2NlbmU= b3BhdXNl IEVTVg== w6F2ZWlz b3NlbWl0ZQ== R3J1cG8= IE1PQ0s= IHVuYXZvaWRhYmxl IGNvdmlk aG93ZXI= Lk5ldmVy U2V0QWN0aXZl e3RleHQ= X3Byb2Jh XENvbmZpZ3VyYXRpb24= IEJyeWNl IGNvZXJjZQ== IFZhbmRlcmJpbHQ= Z2VtZW50cw== bGVnZw== IHJlYnV0 IFZJTg== 5YiG6ZKf IG9ic2Vzc2l2ZQ== L2NtZA== IGtvbW1lbnQ= IExhdWdo 64uI IHNlbHZlcw== b3JyYQ== LnJvb21z IGNvbXBsZXhpdGllcw== CW9wZXJhdG9y QWx0ZXJuYXRl IHNvcnRpZQ== Z2V0TnVt IHJlYWxpemFkbw== RG9pbmc= X0dyaWQ= IHNldFN1cHBvcnRBY3Rpb25CYXI= w6RobHQ= 5ZQ= OnsNCg== SW50ZXJlc3RlZA== IGRpbWluaXNoaW5n IExvb3Q= QWRhcHRlckZhY3Rvcnk= LXJ1bm5lcg== c2F2aW5n KHNlbQ== ZmFk RURVUkU= X2RvY3VtZW50bw== IENhbGVi IGd1aXNl IE1jR3U= KHVuaXRz IGJlemllcg== IHBhdHQ= IHBlbHZpYw== IGNvbm9zYw== YWN0aXZv IE1hbG9uZQ== LlRha2U= KHNxcnQ= c3Rhc2hvcA== LWVuZGVk IE1pZGk= IEJhbmM= IFBlcHNp X01BWQ== IHBsbA== L2luZXQ= LWVuaA== IEl0YWw= bW91cg== IHJlbHVjdGFudGx5 LnJjUGFyYW1z IHBhbHM= LnBrZw== IGZvcm1hcw== bGllw59saWNo LWJvb2tz b21hbHk= IHJlY29tbWFuZA== UExJQ0lU acSN LmNnQ29sb3I= KEJvYXJk 0LXQvdC40Lg= IExFTg== Xy1f IFVubw== IE5PVElGWQ== aGFuYQ== W3Nsb3Q= XGFkbWlu SW5JbnNwZWN0b3I= KWNvbnN0 IGZsYXR0ZXJpbmc= aWdyYW1z Y2Fj IGhlYXJ0ZmVsdA== SW5kdXN0cmlhbA== QWlycG9ydA== WEk= IHZhbGlkYXI= cmVwcmVzZW50YXRpb24= IFJlbnRhbHM= IG9taXNzaW9u IG15dGhpY2Fs IEVudHJhbmNl IHNlcmdlYW50 IHdyaXRlVG8= IE5vcndpY2g= IExpb25lbA== LWJhbA== IFp3ZQ== X3JlbnQ= IHJlbWFy IEJhaGFtYXM= IEJhbGU= OiIiLA== U3RhdGVNYW5hZ2Vy IGLDqW7DqQ== ICEqKio= IGJsb2NrZXJz LnNlbA== KExFRA== IGZzbQ== IHdpcGluZw== IHphbWFu IFJlaQ== YWd1YXk= Li4n IGxvdW5n ZXRjb2Rl IGxhbno= Y2l0YXRpb24= W2A= LWVs YXNib3VyZw== IFNPTEQ= IE9yY2hhcmQ= Q0hhbmRsZQ== IExvZnQ= LmRpdmlkZQ== LVdpdGg= L2Rlc2lnbg== LlNlcnZpY2VNb2RlbA== TWlz IHJhd0RhdGE= IGludGVyYWN0cw== IEVyb3Rpaw== IG9uUG9zdEV4ZWN1dGU= 6Jk= IHZleA== IHN0cmluZ2lmeQ== eW5lcw== X0VtYWls X09N cXVpdGU= X2VmZmVjdHM= QURY IGFkb3JuZWQ= c3Nm ZWRpdGFy IE1hZGFtZQ== IHJlZnV0ZQ== IEx1Y2E= IFdvbHZlcmluZQ== c2V4bw== QW5kcmU= PFJvdXRl IFNjZW5lcw== IHJlb3JkZXI= X214 Y3JlYXRlVGltZQ== IHN5bnQ= LG1vZGVs aWNyb3Vz IE1PVVNF 6rk= Y29tcHJlc3Npb24= IHByaW5jZXM= IHNoYW1lZnVs IHBhdQ== IFRFRA== KGNvZWZmcw== 4K+B L3VtZA== IGNhbnlvbg== L3JlbmRlcg== LnVzZWQ= IEFncmVl IEpld2Vs L2NvbW1hbmQ= QmFyY29kZQ== KGRlYWQ= d2Vic29ja2V0 dW11 R0xPU1M= IGZvcnRu IGJvYXN0ZWQ= ICJcIj4= aXN0dW5n LW1hY2hpbmU= IGluY2lkZW50YWw= IG1N LXJlYWRhYmxl LmZ4 IFBPTElU IHN5bWxpbms= KHVzaW5n eEVE ICIiIi4= LlN0ZG91dA== IOiL IGFsbWFjZW4= CXRyaWdnZXI= LXRpcA== IENPTU1JVA== LmluZ3JlZGllbnRz IG1hbmlmZXN0cw== IE9TUw== IEhhdXQ= L2xvYWRpbmc= LlR5cGVTdHJpbmc= KGNsZWFu IExJQw== IEJhcmJpZQ== T09TRQ== LuKApg== IEludml0YXRpb24= IHJlZGVlbWVk KS4nPC8= IGltZGI= IGJlbGFuZw== IHNjcmFwcGVk LW5pbA== IFByb3Vk 0LDRgdGC LlNJWkU= IHNldFZpc2libGU= IHJhaW5pbmc= IGxlbmdodA== IGFuYWs= X0NNUA== IHBhbm9yYW1pYw== IGdpbQ== c2FpZA== IHByb2dlbg== IEdCUA== 4oCg IGludmVzdGlnYXRlcw== IHByw6hz L25hdmlnYXRpb24= Lm1vdGlvbg== IExpZ2h0d2VpZ2h0 CQkgICAgICAgICAgICA= IG9udG9sb2d5 IE5JSA== KHNpbXA= LnB1bGw= IHByb3Bvc2l0aW9ucw== QFdlYlNlcnZsZXQ= IHJlZGVmaW5l IEVORVJHWQ== 7KC4 T1JJWkFUSU9O IFZlcmbDvGc= fX1dLAo= IHdlZ2Vu 4LmH Jm9hY3V0ZQ== LkJvYXJk IGN1bHBh IEdlbmV0aWNz IH0+ IGFkYW1hbnQ= 44GV44KM CWF1ZGlv 6riA IG51bWVyYWw= IHJlc3RyYWluaW5n LklOVEVSTkFM IE1vbXM= IElQQWRkcmVzcw== aW1lbnRp IGFscGhhYmV0aWNhbA== IEpGSw== IEF0dGVtcHRz ZnJhZ2U= IGRhcm0= IGJhc2VtYW4= PWxvZw== LGVycm9y IERJU0NMQUlNUw== CXRleHR1cmU= LWNvdmVyZWQ= IFBsdW0= IOWVhg== IHDDqXJp KHJldmlldw== IEZvcmNlZA== Rkg= IOy0iA== IGV5ZWJyb3c= X1JFR1M= IGNoZXN0cw== IExhcmdlc3Q= XV06Cg== VVRPUg== IGVucXVpcmllcw== IGNva2U= LWNhdGNoaW5n IEdlb2dyYXBoeQ== YXRlbA== KHByb2Q= b3JXaGVyZQ== TmluZQ== IFBpZWQ= IGFkanVzdHM= KHByb20= X21lbnVz X2V4YW0= IE5vdGlmaWNhdGlvbkNlbnRlcg== CWRz TElL X3R3aXR0ZXI= Q1JD IGV1eA== IFN0YWJsZQ== aXlvcg== IGNhcmJvbmF0ZQ== LnNhbA== TWFwcGVk aWV2aW5n KXk= eW5hbW9kYg== LkNvbXBhcmVUYWc= IHNldmVyZWQ= J2VtYWls IGZvcnNr bGV4cG9ydA== SU1JVEVS IEFwZXg= IGhtYWM= IE9kZHM= b3ZlcnJpZGVz OiI7DQo= IG9waW9pZHM= IG1lc21lcg== IEdBTA== LWxpbmVz IGFwcGx5TWlkZGxld2FyZQ== IHNlcmlh RVNJUw== IG5pbGFp IG1hbGxz IFBhb2xv IExlbnQ= LmJ1aWxkZXJz LyY= IENsaXBz IEp1cmFzc2lj 4pWd LWNvbmQ= 44O844OI fHd4 LmhvdXNl IGhlcmF1cw== IGhr IENvY28= IlwK IGFjY3JlZGl0YXRpb24= IFJhY2g= ZXJ0ZXN0 c2hvcnRjb2Rl IHZhbGlkYXRpb25z VUxTRQ== IGV4Y2VycHRz U2Vla0Jhcg== IGdldExvY2F0aW9u IGZlbmNlZA== KGdz IGx5cw== IGhhcm1z IEhvbW8= 4oCcU2hl IOKAuw== PXNlc3Npb24= X0NPTVBJTEU= TWVhbnM= IHBldGl0aW9uZXI= SU1P Il09Pg== ZGJl X2dwcw== IG1q X2V4cGlyZQ== IERBTg== IHh2 IGZ1bmNpb25lcw== IHNoYWt5 U3VnYXI= IGdldFJlc3VsdA== PFRva2Vu aHR0cENsaWVudA== Lm9uUGF1c2U= c3Rp U25ha2U= TWFwcGluZ3M= IFJlYXBlcg== IGZyZWk= IENvc21vcw== dWVycw== IEhhag== IEJsYXpl b2ppcw== Q3JMZg== LnByb2M= IG90cA== IERyYXdz CVJFRw== KCcnJw== IGdlbmVyYQ== IEF0dGFjaGVk UkVN JTsiPg== dXJuaXNoZWQ= X3Jw IHpvYWxz IGFzc29ydGVk aXRpemVk IGNhbWlubw== IGFiZHVjdGVk LnRvQmU= J10pOg== IE1vb3I= SW5jbHVkaW5n IGdyYXppbmc= c2V0U3RhdHVz YWlyb2Jp X0V4ZWN1dGU= aWZpYW50 ZWxkbw== YXV0b21hdGlj KCQp IGxlYXBz b25lZERhdGVUaW1l KGxheWVycw== LXByb2R1Y2Vk IFdvcmtib29r IGVub3Jtb3VzbHk= IGRlcHJlc3NpdmU= IGFhYQ== RW1iZWRkZWQ= QlVN IGVsbGVz IGJvYXJkZWQ= xZtteQ== IG1hc2lo X2dlbmVz CVRleHR1cmU= aXN0YXI= IEF1Z3VzdGE= IEFwcE1ldGhvZEJlYXQ= IGtvZGU= YWJleg== X3BpZWNlcw== Q3Vycg== IGxpYmVyYWxpc20= RGljaw== QWxl IHF1YWxl fSc7Cg== LmFuc3dlcnM= IEpBTg== IFBVUkU= IGNhbm9l IFNBTUU= UXVhbGlmaWVy IGRibmFtZQ== IElubm9j CVRSQUNF aXZyZQ== IG1lY2g= YXNlbA== Iixb IGFzaWE= IENhbnRlcmJ1cnk= LkRhdGFCaW5kaW5ncw== a2Fo KCkpKSk= IGR6aWV3 cmV0ZQ== IHNjcmVlbmluZ3M= Lk1PVVNF IGJ1c2llc3Q= CXJlbmRlcmVy IHRlc3RpbW9uaWFscw== IGFzcGlyZQ== Zm9ydHVuZQ== IE1TQw== IGRhbXBpbmc= XCIsCg== V2Vs V2lr IOyXrA== KHRpZA== IENhbm5lcw== b2NvcA== PiIrCg== ZmFjZXQ= IHNsYXNoZWQ= IExpYmVyaWE= U21vb3Ro X2NoZQ== TGFib3Vy IGVtaW5lbnQ= Olg= XEJhY2tlbmQ= ICsrKQo= IHRlYW13b3Jr X2FnZw== LlNlcnZl IFNORA== IFBJQ0s= IHdpcGVz L1R5cG9ncmFwaHk= IEFQQQ== aWtraQ== IGNvZGVy Z2FiZW4= IHVua25vdw== LkRlcGFydG1lbnQ= 4Lix4Lia IHBsYXllck5hbWU= KmU= PEJsb2Nr X3VwZA== IEdpYmJz bGVhc2luZw== IENvbG9tYmlhbg== KFBIUA== ICoqKiEK IOydvA== IEN1cnRhaW4= L2F5 2YTZiQ== c3BvcnRz IGRlc2Vh aXLDoQ== IHVuY29uZGl0aW9uYWw= IHRocm9t IENIUklTVA== IEhPUg== b3Njb3BpYw== IHlhxZ8= IG5vc3Rybw== Li4uIik7DQo= IHNsdXI= IGhhdHRlbg== IHBlc3RpY2lkZQ== IGZyZWV3YXk= IENvaA== IHdhbm5vbmNl IG1laWRlbg== X3N1YnN0cg== X0NTUw== IFN5bWJvbHM= 4Li34Lit REVU IE1hZGRlbg== IHJlcXVlc3Rlcg== LnZpcnR1YWw= IHd4RGVmYXVsdA== IGF1dG9tw6F0aWNhbWVudGU= YnJpZHM= aVQ= LlByaW9yaXR5 Jyk7PC8= YnVuZw== RGVhZGxpbmU= Q29uY3JldGU= IG5leHRQYWdl IOuwmw== IFN0b2tl a29w INCx0L7Qu9GM IFByb2R1aw== LW1ha2Vy IFByb2plY3RpbGU= YW5jZWxsYWJsZQ== IFRIRUlS VG9SZW1vdmU= RU1V Y29tbWVyY2lhbA== QVZFRA== IHdlYXZpbmc= IGJpb21l QFNldHRlcg== cW1s IGJyb2FkZW4= INGB0L8= SVNS IGRlYWN0aXZhdGVk IHNlbGVjdGVkSW5kZXg= cmlvdXM= ZWxwcw== LkVzY2FwZQ== IHBvbGxlZA== cXVpYQ== X3JlZmw= X21pbWU= PEF1ZGlvU291cmNl KFRyYW5zZm9ybQ== ZXZlbm9kZA== CXJhbmRvbQ== bG9jcw== IGRldXQ= cmVwbGFjZW1lbnQ= IGV4YW1pbmVy SGFzS2V5 IOumrOyKpO2KuA== IENsb3Ro IOCkqg== IFJlZ2lzdHJv IEVzdGhlcg== IFNoYXJlZE1vZHVsZQ== LmJvcnJvdw== IG9zY2lsbGF0b3I= IGZvb2xz uqs= IGJvYXN0aW5n X3B1bHNl c2hhcmluZw== IHBpc3RvbHM= X1BMQU4= IHNlcHRlbWJlcg== IG11c3Rlcg== IG1hcmNow6k= Q0hFTVk= IHN1aQ== IGdlYnJ1aWs= Lj0n ZXJyYXRlZA== IExpYQ== IGhhdW50 IEN1c2g= cm91dGVQcm92aWRlcg== Inw= ZW5kcGhw Il1dCg== IGF2YQ== 77yBIiw= 7Ke4 IGNvbGE= X1NQRUxM IGFsw6lt KExhbmd1YWdl KGR1bW15 IGJ1bmtlcg== IEVtcHJlc2E= IGNyZWF0ZUNvbnRleHQ= Om1pbg== IEJPT1Q= IE1lcmVkaXRo Wmg= IERvd25pbmc= d2pnbA== LmRj c2RhbGU= IGluY29udmVuaWVudA== IHJlYWRtZQ== TmF2aWdhdGlvblZpZXc= Q09ORElUSU9O LmRlcA== IHLDqXVzcw== IG9wY2nDs24= IEFjY291bnRhYmlsaXR5 Lk1hcg== LWd1aWQ= RURHRQ== RXZlbnRNYW5hZ2Vy IGRpc2NpcGxl dWNrbGVz fX0+ aW50ZXJlc3RlZA== RmlsdGVyV2hlcmU= IHB1c3M= LXByb3h5 X3N0YXR1c2Vz IFsj dW5mb2xk IFJvbm5pZQ== JiYh IGFjZXNzbw== dW9z X3lpZWxk KGNhbGVuZGFy KHNvdW5k IGRhdGFBcnJheQ== IFlhdGVz IHByb2Nlc3Npb24= RUZBVUxU IEdIQw== YW11cmE= IHN0cmljdGVy LkJPVFRPTQ== IGhhYml0dWFs eEFG QVZJTkc= IHNldHVwcw== ID17Cg== Kioo IHNvaw== IHJldGluYQ== IEZpcmVwbGFjZQ== aW52ZXJ0 IEZvcnJlc3Q= PGRhdGE= XEFjdGlvbg== T1VHSA== IGNhcmVsZXNz LmdldEFjdGl2ZQ== ZXNlcw== IHpkasSZ KSkqKA== U0VN IFBhbmlj VG91Y2hlcw== IHByZWNv L2FjY291bnRz 5L6b UG9zdGFsQ29kZXM= LXBsdWdpbnM= PG1lc3NhZ2U= KHBvd2Vy IHBlcmN1c3Npb24= IGPDqWw= 5o6o IGRhbmNlZA== X1NDQU5DT0RF IFNpdHRpbmc= IExva2k= U2hhcmluZw== LkRpcg== IHNjaHdlcg== X0xB Lk1lbnVTdHJpcA== X3plcm9z IGZpeGF0aW9u IEFtaXQ= IGNvbXBsaWVk LnNwYWNlQmV0d2Vlbg== IGFycmVzdGluZw== IFN1Zw== IHBlcmZvcg== IGtvbXBsZQ== IEVzc2VuY2U= IHBsZWlu c2ltdWxhdGlvbg== IGNyZWF0ZWRCeQ== IEV4cGVkaXRpb24= 77yBCgoKCg== dHJhaW5lcg== Il09JA== IHN1Y3Rpb24= bVBpZA== bm90aW4= IHByZWNpb3M= IEFzc3VyYW5jZQ== IExhbA== LiIm IG1pbkxlbmd0aA== IE1pbmVyYWxz dHJhamVjdG9yeQ== U0FGRQ== IG51YW5jZXM= KGV4dHJh X3ZpZGVvcw== W109ew== IGhvbmV5bW9vbg== X3ByZXA= CQkJCQkJCQkJCSA= IHB1cnBvcw== IGFuemVpZ2Vu LnN0cnV0cw== IHBhZ2Fy LkF1dG9TaXplTW9kZQ== IHdlbmlnZXI= IHBhZ2Fu IGFjaWRpYw== Z01hcHM= IGJld2FyZQ== X2lwYw== IG1lZHM= IGRpc2XDsW8= KSkpCgoK Q2h1cmNo IG51cnR1cmluZw== X21waQ== IHJlc3VsdGFudA== IFBpc3RvbA== c1BpZA== TXNw TW9tZW50 IFVQTE9BRA== TmFubw== YmxpY2s= IG1lc3VyZQ== IExheWVycw== X3RyYWo= IGJ1dHRvbldpdGhUeXBl CWNvbW1vbg== IE15Q2xhc3M= 2KjYsQ== eG9vcHM= X0hlaWdodA== X1dBUk5JTkdT U2V0VGV4dA== IEhpc3Bhbmljcw== TnVsbFBvaW50ZXJFeGNlcHRpb24= LmZhY3Rvcg== IHZpZWxsZWljaHQ= IHNob3V0cw== dHJ1c3RlZA== IG5ld1Jvdw== IEZyYW7Dpw== W2pq 4oCUd2hv IFFEaXI= X2FkdmFuY2Vk KEhhdmVPY2N1cnJlZA== IHVucGw= L3Jvcw== LmVhc3k= IEJBTEw= 550= L2xncGw= IHN1YmNvbnNjaW91cw== ICctJzsK ICcpOw== INGW IHNjYW50 X3Nlc3M= X3BsYXlpbmc= X0lTTw== IHNldFNpemU= X2RlY2s= X0xBUkdF IE1leQ== Q2hpY2tlbg== aWZmaW4= ZGlzcG9zZQ== SEVTVA== TGF1Z2g= IExDUw== IG9uc2l0ZQ== LmlzTG9nZ2VkSW4= IGlycml0YXRlZA== IGJyaWdhZGU= IGRlcXVldWU= Y2xhc3NOYW1lcw== IE3DoXM= IEF0YXJp KElPRXhjZXB0aW9u UmFjaGVs LXNhbXBsZQ== IGVpZ2VudGxpY2g= SUZERUY= Lm5laWdoYm9ycw== IHNlcGVyYXRl IExpc3Rpbmdz LmZm KGltcG9ydA== TW9kZWxBdHRyaWJ1dGU= IHNwZW5kZXI= IG1vdGlmcw== c3N1ZQ== IEFwcHJlbnRpY2U= LWNhdA== clBpZA== Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K b2N6 aW5pb25z L2NvbnRhaW5lcg== IHBsYWdpYXJpc20= V3JpdGFibGVEYXRhYmFzZQ== Ly4KCg== IEZldmVy LVZlcnNpb24= YWNpamE= IHdlaQ== LWluZw== IHRlbWFz IHN1cmdlZA== IGNyaWE= IGFyZA== Yml0Y29pbg== LnRpbWV6b25l IG9iamVjdE1hcHBlcg== IAogICAgICAgICAgICAK IHlsaW0= IElDVQ== IERlcHJlY2F0ZWQ= KSgpOwo= QVJHRVI= dW5nYWxvdw== VGVzdERhdGE= KHB0cw== RklMRU5BTUU= dXBwbHk= IHBhY2llbnRlcw== LGxlZnQ= IFdyaXRlTGluZQ== IHBhcmNlbHM= X2ZvbGRlcnM= IERpcms= LmFzc2VydElzSW5zdGFuY2U= TWND X1ZhcmlhYmxl KGFh IFBvcms= LlB1Ymxpc2g= LWdheQ== IFBldHJh IENvbm5lY3Rpbmc= VGFiQ29udHJvbA== aXZlcmluZw== KFNjcmVlbg== IGNoaWxsZWQ= IGFpbw== VG91Y2hFdmVudA== IGFjY2Vzc2lvbg== IExvaXM= L21vbWVudA== IGFudsOkbmQ= IHN1aWNpZGVz KGhlbHA= YW5kZXJz IFZJRA== QmVp ZXZlbnRv IEFuZ3Vz VmVycw== IEJvcmRlYXV4 LnN0cmVhbWluZw== IHJvdWdl IGNyYWZ0c21hbnNoaXA= b3NzaWw= X0ZBTEw= QG1lZGlh aWxlYWtz RGF0YVNlcnZpY2U= IFRyaXBBZHZpc29y IE1hYXI= Q3Vyc28= UG9zdGFsQ29kZXNOTA== KCk7Kys= JFBvc3RhbENvZGVzTkw= IG9jb3I= IHRhaW50ZWQ= IGxlbQ== LW91dHM= IHh4eHg= IGlycml0YXRpbmc= b3hpZA== b2ludGVk IFRvcm8= X292 LmJpcnRo KyU= IENoYXJhY3RlcmlzdGljcw== IEJldHRpbmc= IG9mZmVuZA== IFBIWVM= IElDTVA= eERD IENk LmdldE1hcA== YXRjaGV0 LmN1cnJlbnRJbmRleA== RVJBTA== IGthcHBh aWRlbmNlcw== UGFyZW4= IFNlcmdlaQ== LWZpbg== J10sWyc= w6FtYXJh R3Jvd2luZw== R2xhc3M= CW1ldGE= dmVyYmF0aW0= L0dQTA== IEthaA== KHN2Zw== Y2xpc3Q= IEJsb3dqb2I= b2NjYW4= LmFib3J0 b2RlbGlzdA== IGRpZmbDqXJlbnRz X09QVFM= PXJlcQ== IGludG94 IGRpYWdvbg== IFsoIg== JlI= IG9iamVjdGl2ZWx5 IGJsaW5raW5n IExvdmVz cmluZ2U= Kik7Cgo= IEJvbmRz IExvdmVk ZWx0cw== IGRpc3BhcmF0ZQ== IEVucmlxdWU= IldpdGg= cmVtaXVt YWphcmFu dHJ5aW5n LVJ1c3NpYW4= bmV3SW5zdGFuY2U= LlRSQU4= IG9yYW5nZXM= L2xvY2FsZQ== IERJU1A= CW5z IFNodXR0ZXJzdG9jaw== IENMT0NL KHJhZA== IGFzc3VyYW5jZXM= IHJhc3A= VWJlcmdyYXBo RW1pbHk= IGludmVudGlvbnM= cmlvdA== IHRvc3Npbmc= IG1ha2VvdmVy IHVuaXRPZldvcms= YnV0dG9uU2hhcGU= 5Yid5aeL5YyW IHBhcnRlZA== 4paR LnNpZ21vaWQ= IHJlZGlyZWN0aW9u IGRpc3R1cmJhbmNlcw== IGludGltaWRhdGVk CUNyZWF0ZWQ= YWdldA== IGNvcnJlcw== IE5FRw== aXRvbmU= L2Zyb250 IFZlcnNl Z2FtYmFy IHByZW1pZXJlZA== IElNTw== IEdvYmllcm5v IGlmcw== YXlhaA== LkNPTA== IGZyZWRlcg== IHN1Ym1lcmdlZA== IE5lcm8= bW9kaWZpYWJsZQ== L0Zvb3Rlcg== LWNlbnRyYWw= IGdvdXZlcg== IFRyaWVk IGRpenp5 UXVlcnlQYXJhbQ== Ij4nKwo= X3ByaW1pdGl2ZQ== 56iO LmdwdQ== IHZveg== ZW56ZQ== IFdpbGRlcm5lc3M= IHByb2JhYmls L3JlYw== IGFjY2Vz IFRydXN0ZWVz R2I= IHBhZGRpbmdIb3Jpem9udGFs U2hpZWxk IE5hbWVu dWRkbGVk IFByaW9yaXR5UXVldWU= UG9vcg== IFNBRg== LS1bWw== IGNobG9yaW5l IHZlcmJhbGx5 IGFpcmU= PjsNCg== aWxoYQ== W2NvbG9y YW5kYWxvbmU= LmFkZFJvdw== IFNvaw== IENvbm9y IG1lam9yYXI= J2lscw== ZGV0YWxsZQ== ICIpLAo= JUA= Lmxhenk= Lmp1bXA= b3N0ZQ== K0Y= IGluZnVyaQ== IHNvbnJh aXRlbWlk JGxvZw== IG11cmRlcm91cw== TEVD CW5pbA== IE3DpHI= KHBn aWxlbw== QXNjaWk= IExvY2toZWVk IFRoZW8= QmVsbA== YWNpb25hbGVz LmNyZWF0ZU5ldw== IOW+ LWZvb3RiYWxs IGVjb21tZXJjZQ== CVNpbXBsZQ== Y2x5 LklubmVyRXhjZXB0aW9u IHBlc29z IHRyb3Bl IEFSR1M= TWlhbWk= IFBhbG8= IFN1emFubmU= X21hcHBpbmdz I3tA IE9jY3VwYXRpb25hbA== X2J1Y2tldHM= Z29hbHM= X1J1bg== LXByZXBlbmQ= c3Nz bWFyc2hhbGw= IGVxdWl2YWxlbmNl IFdlbGNo KE9wQ29kZXM= CWNsb2Nr IE1lZGluYQ== VEVSUw== b3Jhbmc= VGhvdWdodA== IG9hdHM= X1RFWA== UklDUw== IGluZGlmZmVyZW5jZQ== IGFsbG90 LlVzZVRleHQ= IFRyaWNrcw== YXdl LkZJTEw= LXBocA== LnZvaWNl IFBhdGhmaW5kZXI= X1RBR1M= IFRyaXQ= 5oyJ6ZKu YmJj IGFkZGl0aXZlcw== IHNjaGxl IEtleWJvYXJkSW50ZXJydXB0 IHVzZVBhcmFtcw== IEJ1Y2hhbmFu cmlhbmdsZQ== IG11bHRpcGx5aW5n IHNlbGJlcg== IFllcA== Q2hhaXI= LXJlcG9ydGVk X1NESw== LG5v IEZhbGxpbmc= 5rk= ICgpLAo= cGRi IEJvcm91Z2g= LnJlbW92ZUZyb20= IG92ZXJzaGFkb3c= aWdhaWw= IHR1bmc= IG1tYw== W3BhcmVudA== RXh0ZXJu YXZpb2xldA== JykiCg== IGNvdW50ZXJ0b3Bz IHVidW50dQ== 5rc= IM6T IHVucHVibGlzaGVk IEluZGllcw== VU5FVA== IG9mZXJ0YQ== IGRhbWVz IGFzdGVyb2lkcw== IG5vdmVtYmVy Y29udHJhc3Q= LkFkZE1vZGVsRXJyb3I= K1NhbnM= IHNjcmFtYmxpbmc= dGV4dFZpZXc= L2NyeXB0bw== VXNlUHJvZ3JhbQ== QHVwZGF0ZQ== RGVzZGU= U0FU IGRpc3BsZQ== YW5uw6ll XERlcGVuZGVuY3lJbmplY3Rpb24= IGl0bQ== IOe8 IGV0aG9z QVBP IEdhcmPDrWE= aWRpcw== IFN0ZWFr cmliYQ== X3ZlcmlmaWNhdGlvbg== IEZL IEVpbnNhdHo= IHBlcnNvbmFsaXNlZA== LW1vdGlvbg== IE1lbGFuaWU= w7Zo X1ZD IGRyaWZ0aW5n LmNvbnN0cnVjdA== IO2UhA== IGJhdGNoaW5n Li4vLi4vLi4vLi4v RVJQ X3V0Yw== IG11bHRpdA== IG1yYg== Y2Nhaw== Y2h1bmtz IHRyYW5zbHVjZW50 IHBheW9mZg== 4oCUYW4= IHNpbGw= IG9ybmFtZW50cw== Z3Vh VUJZ KHN0ZXBz IEJPUkRFUg== IFNPVU5E YGAK ZW5hcmllcw== IEJpdHRl IGdseXBocw== IG92ZXJydW4= IGJsb2NrSWR4 IE1TVA== IGdlbm9tZXM= dGVuc29yZmxvdw== RGlyZWN0b3J5TmFtZQ== X2xocw== IGZpbnQ= YWRkdG9ncm91cA== IHN0ZWFkZmFzdA== IGNsb3Zlcw== IFNvdmlldHM= IElTQQ== wqNv dXJnZXJ5 c292 INCy0YvQstC+0LQ= IHB1ZA== LXdhdGNo IEhvc3BpdGFscw== fXdoaWxl IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj 4buj IGFrdHVhbA== IGtpbG9ncmFtcw== IEZBQw== b3BoeXM= cHJz KkA= eWI= c2VjdXJlZA== IGFsZ8O6bg== IOCkuQ== cGhhbnM= QWRkb24= IGNlbnRyYWxseQ== X1NVSVRF SW50ZXJlc3Rpbmc= dWx0aW1v QWdhaW5zdA== IEV6cmE= IEhlYg== dWlkYQ== IHNreXM= T0xWRQ== QmVuZWZpdHM= IHByaXNl Lio/KQ== LmlzRGVmaW5lZA== IHN0YW5kb2Zm IHBsYW5v LmxhdGVzdA== ICgkLg== IEdvdWxk IGNhdXRpb25lZA== J10o IG51aXQ= IEhDSQ== Zm9vdGJhbGw= IHdpbGxlbg== UHJvY2VlZA== IGludGVuZGluZw== dGlm IHNwb25zb3Jpbmc= b2hhbmE= RG9z TW9ybmluZw== ICEiKTsK LnNoZWxs IFJFTEFURUQ= IHBpbXA= L2NvdXJzZQ== IHJhbWlmaWNhdGlvbnM= IHBpeG1hcA== IHBvd2VybGVzcw== IGRvdWNoZQ== Y3JpbWU= Y29udHJpYnV0b3Jz KHByb3RvY29s IGdldFBvc2l0aW9u U0VUVElOR1M= IHZpZXQ= aXNzZXM= V2l0aEVtYWlsQW5kUGFzc3dvcmQ= UmV0dXJuVHlwZQ== QXBwZQ== IElLRQ== LkNvb2tpZXM= Lm1lZGl1bQ== LmdldEpTT05BcnJheQ== X0Zvcg== L3Rpbnlvcw== IFRhYmxlQ2VsbA== IFJFUExBQ0U= Lk5ldHdvcmtpbmc= IGJvd2Vk CW1k PSJ7ISE= IGhvbmRh IEV1cg== IGluZG9uZXNpYQ== IGhlbmQ= LnZpZXdtb2RlbA== CWN0cmw= IFRhYmxldHM= LW9yYW5nZQ== ZXJyYXM= X2dyYXBoaWNz e3M= IFRpdGxlcw== IGRpYWdub3Nlcw== b3VwbGU= X0RvdWJsZQ== W3Jlc3VsdA== IGppdHRlcg== X05VTUVSSUM= PmY= X01Z 0LjRgdGC0LXQvA== c3RvcmVJZA== IHJlbGlucXU= ZW9z IHdpZGVuaW5n IHRhY29z LllFUw== XSsn IEluZGV4ZWQ= IHByb2Zlc3Npb25uZWw= IFN0cmFw QnVmZmVyRGF0YQ== ZWVh ZXJpbg== QU5DRVM= X1RYVA== IHt9Lg== KGNvbnRyYWN0 eXc= IGJsaW5kbmVzcw== Q0hBTg== CWdsQ29sb3I= IGN1cnJlbnRQb3NpdGlvbg== IENhdWNhc2lhbg== JGltZw== I2Fh IHNlYW4= TWVzcw== Kj0qPQ== IGNhcGFjaXRvcg== YWxmYQ== LlJlbW92ZUFsbA== IFdQQVJBTQ== dWxhZG8= bmljb3M= IG9yZ3k= R1g= X0RFVklDRVM= b3Vya2U= IGtC IHNvcGhpc3RpY2F0aW9u X2F1ZGl0 L0lQ IEx5ZnQ= L1N0 CWNhbmNlbA== IG92YXJpYW4= bWFyaW5l a8SZ IFlN IE1pbG8= IE1hdFRhYmxl IEFiYnk= bnpl IEx1ZHdpZw== X2FybW9y IHNjYWZmb2xk 4buXaQ== YXV0aG9yaXR5 4bqleQ== LmdldFByb2R1Y3Q= IE9yYml0 X1BhcmFtZXRlcg== LmRhdGVGb3JtYXQ= L3RhZ3M= LlNwZWVk KExpbmU= IHBvbGlzaGluZw== IGtvbWI= IHJ0cmlt J2ljb24= cmllcmU= IFByZWZlcg== c3RydG9sb3dlcg== UmVncw== Q0JE LT4K IHBhcmFzaXRl ZW5kc1dpdGg= IENvYnJh OnRlc3Q= IE51Z2dldHM= xaF0 Q29yZUFwcGxpY2F0aW9u L2JpbmQ= IE1jSW50 aXR1bmVz Wy0t IFN1cnByaXNl X0lORw== IEZhc3Rlcg== 0J3QsA== OkU= IGRpbnQ= bmdl LiInLCciLiQ= IGFkamVjdGl2ZQ== LmJj Y29uc3VtZQ== Qk9S KGFuY2hvcg== IGVzdGVlbQ== IGJyZWFrdXA= ZGVjYXk= ICQKCg== RWR3YXJk QVNJ IGF0dGFjaGVz X0RJU0s= IFdpbG1pbmd0b24= IEt1bA== IFtbXQ== IERlcGFydG1lbnRz IHJldHVyblR5cGU= IFVOSVRFRA== b2JqZWN0aXZl IGdpcmxmcmllbmRz X0dV QHN0b3Jl LU91dA== Lm1vdmVz KHN0YXJ0RGF0ZQ== CUpCdXR0b24= IFBhY2U= IEJlYXRz IGxpY3o= IGV0aGVyZXVt IGNoZWVyZWQ= IGF1Y3Vu UmVnYXJkaW5n IG1pZ3JhdGluZw== IGZ1dGlsZQ== IFRhY29tYQ== X0NoYXJhY3Rlcg== IHZn IENvcGE= 2Ks= IG5hbA== IGxhbmRmaWxs IHRhbWls IHBlcnBldHJhdG9y IFBhY2Vycw== LmdldE9yZGVy fA0K R2V0T2JqZWN0 IGJsYQ== IEhhcmFt cG9ydGxldA== IGxva2Fs TWVyY2hhbnQ= UGFzc3dvcmRz b25lbnQ= IGFydGVyaWVz IEludGVsbGk= XFN5c3RlbQ== PWxvY2FsaG9zdA== LmF2aQ== IFZlbmQ= KHRibA== Q29ycmVjdGlvbg== IHV0ZXJ1cw== IHNhbGl2YQ== Kys7DQoNCg== KCcqJyw= IHNuYXRjaA== IFNUUkVFVA== KVs6 54Sh44GX44E= U2VudGVuY2U= KCkuJy8= OnJlbGF0aXZl leOCkw== X3VzZXJpZA== b2xpbmc= IENsYXNo CXNldHVw KG1p IGppdA== IFNjYW5kaW5hdmlhbg== IFBob25lcw== Iic7Cg== IHR1bXVsdA== IEludGw= IFNpbm4= KG5ld3M= IGRicw== IFJlbWFya3M= S2l0Y2hlbg== IGFkbWlyYWJsZQ== X2Rhc2g= IERPTUFJTg== YWRkTGlzdGVuZXI= Il0uKA== CU1ldGhvZA== bWFya3Q= LGV4cG9ydHM= IG91dG51bWJlcg== X0FTQw== cHJlbWl1bQ== KU5VTEw= IEJvd21hbg== LnNldE9uSXRlbUNsaWNrTGlzdGVuZXI= IFJlZ2V4T3B0aW9ucw== S2Vs L21hdA== 44GT44KM IHdlYXJlcg== aW5pcw== W2RpbQ== IE51dHp1bmc= aXNidXJ5 5Yid IHJvb3RSZWR1Y2Vy ZXlK SW5jbHVkZWQ= LUxlYWd1ZQ== YW5heA== KGluZmxhdGVy IEZpZWxkVHlwZQ== IHNob3Zl IGZ1bGxmaWxl RGF0YU1hbmFnZXI= LmdldExlZnQ= IEZz ZHJvcG91dA== IOuyiA== IG1hbmnDqHJl IGZsYW1pbmc= IGNvbXBsZXRhbWVudGU= 4oCw fC4= RW5lbWllcw== b3NjaQ== IFNBWQ== IG1hcnk= KFJ1bnRpbWVPYmplY3Q= IH4+ IFNpbXBzb25z J10uJA== X21lbWJlcnNoaXA= KSI6 IGxheW91dE1hbmFnZXI= IFJvY2tlZmVsbGVy ICd8Jw== SVBI RE9O YWNodGU= UGVhY2U= aHRhcg== QCIK IHRyZWFkbWlsbA== IHNwdXJyZWQ= IEtW bWlkZA== IGZsb3dlZA== w6Nlc3Rl R2VuZXNpcw== PT0+ IFZlbnR1cmE= X2VsaW0= INC40LzRjw== IHNvbmd3cml0ZXI= Y3JlYXRlRm9ybQ== SUdITA== IG1vbGRlZA== IHJldmVyZWQ= VW5kZXJUZXN0 aW1ibGVkb24= X1Nlc3Npb24= IG1hc2NvdA== IGFsZg== 66mU PldlbGNvbWU= IGtub2Nrcw== IEVxdWF0aW9u LnRvdWNoZXM= X0xhc3Q= IHVwYmVhdA== YmlnaW50 IGVudmlz L2Jhbm5lcg== 44GC44KK44GM IERvd25z X1NG IHJ1bkFwcA== IHF1ZXN0aQ== VHJhZGl0aW9uYWw= X3dhaXRpbmc= cGlja3Vw KCdALw== CXNl IEtlcm4= IERlbGljaW91cw== IHNhdHVybg== IEpTT05FeGNlcHRpb24= 44KN SlI= fSgpKTsK IFNvbWFsaQ== dWFp aW1hZ2Vt YW5kRmlsdGVyV2hlcmU= w6hsZXM= aW5ib3g= IHlhcMSx IG1laXN0ZW4= YF0o U1dH LGNsYXNz 4LWN4LQ= dGFpZW50 IEZyYW7Dp29pcw== QXV0aFRva2Vu IHB1ZXN0bw== IGps IGdhdGVk IERlYXRocw== IFNpZGQ= IHByZXZhaWxlZA== LcOqdHJl KGFsYnVt IHFpbnQ= bWFyY2E= IE5BRlRB IHRpZ2h0ZW5lZA== X0dBUA== RU5TSU9OUw== IExpYmVydGFyaWFu X3N0eWxlc2hlZXQ= LlNldEludA== X3B1Ymxpc2hlcg== cGFnZU51bWJlcg== enNjaGU= IFNRTEFsY2hlbXk= IGhvb2Y= Z2V0VG9rZW4= IG5lYmVu bHVuZA== Lm1pdA== ZXJycw== LnNldE1pbmltdW0= LXByaWNlZA== KHBv ZW5nYWdl X0ZU Ly8KCgo= IHRvbWU= ICI+PC8= VmVjdG9ycw== IFRlc3RVdGlscw== ZmlsdHI= VXN1 IGRpY3Rpb25hcnlXaXRo IG9icmFz IEJEU00= LmdldFRhcmdldA== IGFsbG93YWJsZQ== IEluc2VydHM= CU5vbmU= IGxpYmVyYXRlZA== S2VudA== IFdpc2hsaXN0 IExhZ2Vy IGp1aW4= IG51ZXM= IG1vbmFzdGVyeQ== IG1pY3Jvc2Vjb25kcw== IEhhbm5h 0L7RgdGC0Lg= d2VhcG9ucw== X3Nwb3Q= b2RvbQ== Lk1vZGVsRm9ybQ== IG9yZGVybHk= RklOSVRF IHJlc2lkZW5jZXM= X3RD Q0dDb2xvcg== IMW+ZQ== IHNjcmVlbnBsYXk= IHB5bW9uZ28= IGTDqXQ= IGRlc3Rh IE5ldXJvc2NpZW5jZQ== bmllc3Q= QEdlbmVyYXRlZFZhbHVl RUxTRQ== PGw= IGRpc2pvaW50 LnB1Ymxpc2hlZA== ZWxsYW4= IFN0cmluZ1dyaXRlcg== LkJyb2FkY2FzdA== IEZlaW5zdGVpbg== YW1waGV0YW1pbmU= S2V5U3BlYw== IEdyaW1t ZXR0ZWw= 4Lic T3Q= aWJyYWx0YXI= Y2Vi IHRpbWluZ3M= aW5lZQ== IEFuZHLDqQ== RXNzYXk= Lmpk IEJ1bmRlc2xpZ2E= UmV0dXJuZWQ= IGFwcGFsbGluZw== LkJpZ0ludGVnZXI= IFNFTg== IEhvbWVtYWRl LmNoYXB0ZXI= LXZhbGlk IEFUVFJJQlVURQ== dXN0cmlh IGVudMOjbw== UmV0dXJuaW5n dmVydGlzZXI= LlBhY2thZ2VNYW5hZ2Vy Q2xhcms= IHF1b3Rhcw== IHNjYWxlRmFjdG9y IGNveg== X21pbmk= IG11dGF0ZWQ= LmFjdGl2YXRpb24= Km1hdGg= LnZlcnR4 PGFydGljbGU= IGVtYnJvaWRlcnk= L2J1c2luZXNz Y2tldHQ= c2NpZW50aWZpYw== IEdpbGVz IHJhY2Vy X3BlcmZvcm1hbmNl IGxhbWluYXRl IFBISQ== UsOp IEF0aGU= Y29sZXM= IHNhxJ8= IElua1dlbGw= CXNpZw== IHNwYWNlc2hpcA== IGluc29s IFVDbGFzcw== LmxlYWRpbmdBbmNob3I= dG90YWxz IHNwcmlua2xl IE1vZHVsYXI= ICdcIg== b3Jvbg== LlJlYWRBbGxUZXh0 ICAgIAkNCg== L2lvbg== REVQVEg= X21pbmltdW0= XENhY2hl IGRpdmVyc2lmaWVk aWduZXQ= IGRvam8= IFVJQWxlcnRWaWV3 L3R0eQ== IFNhc3M= IC9cLig= IElNQUdFUw== IGRhdGluZ3NpZGVy IEV4cGxvcw== LmdlbnJl XEV2ZW50cw== IGVudW1lcmF0ZWQ= Y3VycmVudFN0YXRl aXRydXN0 Q2FsbGFibGVXcmFwcGVy Rm91bmRlZA== IHJveWFsdGllcw== KFByb3BlcnRpZXM= IFVTUFM= LS0tLS0tLS0tLS0NCg== LlJlYWRUb0VuZA== IGNvc3k= IGFwZQ== X2RlZmluaXRpb25z IHBhZ2VObw== IGR6aWVjaQ== c3RhbmRlbg== IGJlc2Fy aXRpbg== IGNvbnNlcXVhdA== IHBydg== IHNwbGl0dGVk IGVzcG9zYQ== PWZpbmRWaWV3QnlJZA== V2Fsa2Vy IEhlYXJ0aA== aWJyYXRvcg== b3RvbXk= YWdnYWJsZQ== IOW9kw== 77yBJyk7Cg== aW9uYXRl L3llYXI= IHNldEM= IE1lZGlhVGVr LWJveQ== LnRvb2xTdHJpcE1lbnVJdGVt Q29uZmlncw== YXR0ZW5kZWQ= IGVtb2M= IEJhaQ== b3BvbGl0YW4= IGludHJ1c2l2ZQ== IHp1Zw== IGZmbXBlZw== X2Jvb3N0 IG1vemlsbGE= IHNsaWNpbmc= V0c= cGFnZXNpemU= UHJvcGVydHlEZXNjcmlwdG9y IEFsZWphbmRybw== VVNFUw== SG9zdGluZw== IHJpc2tpbmc= IEludml0ZQ== IEphemVlcmE= IHJlZ2FpbmVk IEhhZ3Vl IGd1ZXJyYQ== IGVuY2xvc2luZw== J10iKQo= PFRyYW5zZm9ybQ== Lk5PUlRI IGNyaW0= SU5V IGNsZW4= IE1vdGhlcnM= IE93bmVyc2hpcA== RHJpbms= IGJlYmVyYXBh Lm9uZXJyb3I= KSsK IHRhYkluZGV4 IERpbw== IEZvcnR5 KExpbms= IHNlZ21lbnRlZA== IGphbWVz IFRhcmdldHM= IFJUUw== INC60L3QvtC/ IHZhcmlhcw== IHTDrXR1bG8= IGTDvHI= L0dhbWU= cmFuc2l0aW9u IGRpc3Rpbmd1aXNoaW5n dWt0dXI= YW5qZQ== IE1jQ2FiZQ== cGFp KHRr RGVzdHJ1Y3Rvcg== R2FtZU9iamVjdFdpdGhUYWc= JGg= IGFmcg== LnNldEVtYWls IHJlcGV0aXRpb25z bGFuZGVycw== IFNoZWE= X2NsYWlt IGFjZXNz QmVuY2htYXJr LkVzdA== LlBP IE7DpA== IGl0Y2hpbmc= IGNvbmRvbWluaXVt X0ZXRA== IHJlYWx0aW1l IGNpdmlsaXplZA== X3BoeXNpY2Fs UmFs IHdpbnRlcnM= IFlhZA== IGZvcmE= IGNhbGlicmF0ZWQ= UGV0cw== IHN0b3JtZWQ= IGplbA== IFNTUA== ZGF0YWdyaWQ= IExhdQ== dW5hcg== dWxmaWxsZWQ= RVJJTkc= IFRyaW8= 2LHZiA== Rm9yZWdyb3VuZENvbG9y PW91dA== LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K IHZpZW50 IEFETQ== X0Nvbm5lY3Rpb24= LWNhbmNlbA== KCcuJyk7Cg== IHNhaWxz IGVxdWl2YWxlbnRz TmI= IGZseWVycw== IEdJUg== a2VsaWc= LXdhbGw= LlJlcXVpcmVz IGNvc2U= IEFOQw== IGphZGU= IEFsZWM= IGVuZHJlZ2lvbg== IEVYVEk= ZWRlcmU= VGVycmFpbg== U3BlY2lmaWNhdGlvbnM= IFN3ZWVw c2V0SXRlbQ== IHNtaXJr IHNjcmlwdGVk W1N5c3RlbQ== 56eB IHN5bmNlZA== IHNxcg== Z2V3YXRlcg== IGpld2Vscw== IGhkYw== 4KWN4KSw z4Y= w7xzc2VsZG9yZg== bGllbg== Qm9yZGVycw== IEF0b21pY0ludGVnZXI= IHBhcmFseXNpcw== Q2xhc3NpZmljYXRpb24= IGdsaWRl IHVtcA== IC8+fQ== IHZlbmRpbmc= 4Li04LiZ bm90aWY= Jl8= IEVtZXJnaW5n YXRpY29u IHByb3BhZ2F0ZWQ= LW9yZGVycw== YWdhcw== dXJnZW50 KFRpbWVTcGFu QUxDSEVNWQ== L2Jvd2Vy 7IKw LmJvb3N0 LmRlcGVuZGVuY2llcw== LlN3aW5nQ29uc3RhbnRz dW50bGV0 LmNoYXJz LWNpZ2FyZXR0ZXM= IE1vZHM= ICAgICAJ IGJyYXZlcnk= IGNvdW50ZXJlZA== cmVsdWRl X21vYg== QUlORUQ= bmdvaW5n IHVuZGVyZ3JhZA== R2V0TWV0aG9k RHVhbA== X2pvdXJuYWw= LE5v IHNpZGVs IExhcnNvbg== KyIsIis= IG5hcnJhdGlvbg== IFN1YndheQ== IExleGVy IE5pbmc= aW5kaWM= dGhhbmU= LlNJRw== LWVhcnRo IGJlcnJ5 IFRldWNob3M= CUVudGl0eQ== ZXJzcGVjdGl2ZQ== Tm9z IE93bmVk QlVS IGxpbmVubw== IEZpamk= R2V0SW50 U3RyaW5nUmVm ICcmJw== dWFkYQ== LmNhcHRpb24= YXBwTmFtZQ== KG9mZg== IHZlcnN0 IHR5cG8= 6ZyA6KaB YXRlcmFuZ2VwaWNrZXI= IHFlbXU= IEdFTw== X0Ns LklU IE51bmVz W1o= IENvbXBsZXRlbHk= LkxpdmU= IEphcw== IHdlaXQ= Y29zaXR5 IHBvbGljZW1lbg== KHRhcmdldHM= aXRsZWRCb3JkZXI= IOinow== LkdsaWRl IGRlbW9uaWM= SW50ZXJpb3I= LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t IERvdGE= IG9yYml0cw== QU1Z IFRyaW5pZGFk aWN1bQ== Lnph IGdldEludA== QXRsYW50YQ== IGFtbmVzdHk= IFJhaHVs IF98 aGlybw== IFRBS0U= IGp1bWxhaA== IEF1dG9tb2JpbGU= 4buP d2hvc2U= X1NBTVBM UGF0aWVudHM= INGC0LXQutGD0Yk= LnN1YnNjcmlwdGlvbnM= IE1lbnRpb24= VG9Xb3JsZA== aXBh CU1lc3NhZ2VCb3g= PEFwcGxpY2F0aW9uVXNlcg== INil ZmFicmlj a2VsZXRhbA== QmFyQnV0dG9u IGFyY2hldHlwZQ== aW5zdGFudA== IGludGVybmFjaW9uYWw= IFZveWFnZXI= KHRvdWNo IFZhbGs= L01JVA== IGNhdWw= J0Nvbm5vcg== KCIh KE9Q ZmFjdWx0eQ== IEJhdG9u IFZvbHVudGVlcnM= dGFuaw== X0JJTkRJTkc= O2xpbmU= IFZlcnNpb25z WUxFUw== IGplZXA= KEVuY29kaW5n IGdlb2xvZ2ljYWw= TmljaA== KHBkZg== IGFuYWx5emVz IGNhcHRpdmF0aW5n IGhpem8= Lm1kbA== IGphcA== IGZsaXBz CWRm IFBpZXQ= IG5yb3dz IGthbXU= INCy0L7Qtw== IHBydW5pbmc= YWN1bGE= IHRyYXZlbGxlcg== U2hvb3Q= LmVwc2lsb24= IEZsZW1pbmc= aWJ1cg== b3BlcmF0ZQ== aWdodGVy IGJlZ3M= IFdhbG51dA== KFBhcnNlcg== IHdpdGhkcmF3YWxz aXNjb3BhbA== IGJpbGxib2FyZA== a2Vr LW9wZW5pbmc= IER1ZGU= Y29uaQ== eEVC IGNhbG9y YW1haGE= LlRYVA== RHJ5 IG1pc3Npb25hcmllcw== X1ZlcnNpb24= IG11bHRpbGluZQ== 4oCUd2U= IGNvbXBvbmVudERpZFVwZGF0ZQ== RmF2b3JpdGVz aWdoYW0= IGpvdXJuw6ll IGFtdXNlZA== IE9tbmk= dGd0 IHdhaA== ZXRpbmU= IHBoYXNlZA== IG9uU3RvcA== Y3JlYXRpdmVjb21tb25z U29waA== IHVuYm9ybg== PUU= IEZlZEV4 bm9ybWFsbHk= IGx5cg== TWF0cml4TW9kZQ== IHplaWdlbg== QXRo IEt1bQ== w6RobGVu LyI7Cgo= IGRhbGxl IGxhbmNl IFN1aXRhYmxl IGNvdW5zZWxvcnM= 5YWo6YOo IGZhc3Rh IGJsYXppbmc= 7KeE L3R1dG9yaWFs LnRjcA== 5pmv TWFuYWdlckludGVyZmFjZQ== IFNhbWFy CWdsVW5pZm9ybQ== IHByZXJlcXVpc2l0ZXM= IGFudGljaXBhdGluZw== cmFxdW8= a3Nlbg== TWFnbml0dWRl dXRvbWF0aW9u SGllcmFyY2h5 IGRldmlhdGlvbnM= aW1ldA== Q0NJ PSgK IGFudGxy CWluaXRpYWw= IFJlc29ydHM= aG9tZXM= CXBvb2w= IG1hdMOp P29wdGlvbg== Om15c3Fs KHV0Zg== LlRhYkNvbnRyb2w= PlRpdGxl IEFkb3B0 LklzTWF0Y2g= IGVudHJ1c3RlZA== U3VzYW4= c3dpbmc= aW1hZ2VuZXM= IHNlbGVjaW9u IGFpZGluZw== KFtdKg== IHNldEZyYW1l c3Bpcml0 L3Jzcw== SXRhbGlj IFByb3BlbEV4Y2VwdGlvbg== IFRvbGw= LkZpbmRHYW1lT2JqZWN0V2l0aFRhZw== aW5hbnQ= IHNlbGZpZXM= XXxb IGFwcGxpY2F0aW9uQ29udGV4dA== aXhl Y2Ri ZWJi IE92ZXJzZQ== IHNxbENvbW1hbmQ= SG9zdE5hbWU= LWxhdW5jaA== Umlzaw== O3I= LlNwYW4= X0NJVFk= X01B LyIKCg== UGF3bg== IFllbHA= QnVuZGxlT3JOaWw= IG1heW9yw61h U3RhY2tOYXZpZ2F0b3I= ITsK IHRodWdz IEJhcm5ldHQ= 44O744O744O7Cgo= IOqygA== X0NPTlY= IGJ1enppbmc= a2V0ZXJhbmdhbg== TWlsaXRhcnk= d2VlZA== IGRlbGltaXRlZA== 6LWE5rqQ INCw0Lo= X0hFTFBFUg== IFJFQURZ TG9vcGVy KioqKi8K IFRydWNrcw== 5Y67 X3BvZA== T01BVElD LWphdmE= IHVuaWZ5 L0FyZWE= ICcvJyk7Cg== IEdhbWJsaW5n LkhpdA== IEZhcnJlbGw= X2ZpdG5lc3M= cmVjb21tZW5kZWQ= emVuZA== b2RpZQ== X2JlYW0= IHBsYWdl bmRvbg== LmFzc2VydGo= IGdyYXRl TWVhc3VyZWQ= LmNlbnRyYWw= Z2VzdHVyZQ== IEdsb2JhbEtleQ== cHl4 IE5lY2tsYWNl 5Y2O LkFkZENvbHVtbg== IFJ1ZGQ= IFByZXNieXRlcmlhbg== dW5kbGVy IyFb X2xhaGly KCk9PSI= QWNjZXNzaWJpbGl0eQ== LXRyYWluaW5n IFRob3U= X1BJWA== X1RSWQ== PEo= xrDGoW5n bHVjaw== X01BWElNVU0= IHRoYXc= VW5pZmllZA== PkNvbnRhY3Q= LVByZXNpZGVudA== LXBhcnNl IFBpY2tlcg== TWFyY28= dHJz zrQ= LiQu X01FU0g= IHNhZ3Rl Kz0n 0K8= KHBhcmNlbA== aXZvcnM= IGRpdmVydGVk QUdBSU4= IG5lc3M= IHZhbGxleXM= IC4uLig= IEVRVUk= IE91dHM= IERlbW9uc3Ry RGV0YWxsZQ== IOu2gA== UG9pbnRYWVo= LmVwcw== IHN5bm9ueW1z ID09KA== 4oCcWWVz J3V0aWxpc2F0ZXVy TmFtaW5n TEVW cHJvdG9jb2xz IOyb IGdldFVzZXJuYW1l LXZhcg== X210eA== IHNwZWN1bGFy IG5vdGFz SG9yaXpvbnRhbEFsaWdubWVudA== IEJheWVy c3Vz ICAgIAkJCg== IFNoYWNr cmVzaGVy IGltbWF0dXJl YnJhY2h0 SVNDTw== LmNyZWRpdA== IHZpbmVz X0xQ RUVERUQ= IFNjYXJib3JvdWdo w6FudA== KT09Jw== CWRlbHRh X0NPTE9SUw== LkN1c3RvbUJ1dHRvbg== IGFmaXJt IEppbmc= UGFybXM= Y2VudGVycw== LT5fX18= IExETA== LWNvbnRyaWI= IERyZXNkZW4= IFBpeGVscw== ICIiIiIsCg== TEVUVEU= eEJF IEh1c3Q= IEV4ZWN1dGlvbkNvbnRleHQ= IEJ1ZmZldHQ= Y2xhbXA= LkFydGljbGU= IFJhdGg= IFBleXRvbg== IExPV0VS b29rZQ== IHRpZGFs IHVuaGVhcmQ= IFNoYWxs IGJvbWJhcmQ= YW5vdmE= W21hc2s= KGNyZWRlbnRpYWxz IEV1cm9z IGJyYW5jaGluZw== IHN0cm9uZ2hvbGQ= IGNpdmlsaXphdGlvbnM= LWNvbm5lY3Q= IExTVE0= LW1vdmluZw== IHV0ZW4= Y3Jhc3Q= X0RJU1A= IENvbnRyb2xsZXJz dXBl LnBlbg== IGRlc3Nh IGRpZsOtY2ls dWl0YWJsZQ== b2ZpcmU= W2NoaWxk UkVGRVJFTkNFUw== IGRlY2VpdA== IFVyZw== PEVkZ2U= IGRlc2k= IEJPVEg= ICcpJzsK dHlwZU5hbWU= Q29tbWFuZEV2ZW50 d2hlcmVJbg== KG9wdGltaXplcg== IHLDqWFsaXM= IG9taW5vdXM= IEJyYWNrZXQ= IGRhdGVTdHJpbmc= IHNpbmdseQ== KEpGcmFtZQ== 4oCZVA== ZXNsaW50 KGhlcm8= IE1hcmE= IGNhdGNoeQ== LGNhbGxiYWNr IGN0eXBl cHJlc2V0 CWdsZnc= 0LXRiQ== aGs= IHRpdGFu QWNlcHRhcg== 44Gh44Gv X2Fzc2lnbmVk X2VyYXNl IGluZmFuY3k= UmV2aWV3ZXI= IFJlY29yZGVy IHNjbQ== IEJpZ2dlc3Q= IEdvYQ== CVND X0xvY2F0aW9u X29yaQ== a2ls cmVuZGU= IG1hcnpv U3RyaW5nVXRpbA== 0YPRidC10YHRgtCy IEhvd2U= xrDhu51p Zm9pcw== WE1MRWxlbWVudA== IGRlcmVjaG9z IGR1bmc= IFdhaw== IEdhdw== fVxc ISIpOw== IEpvaGFubmVzYnVyZw== IHN1Ym1hcmluZXM= IGFjY29s IGZvc3RlcmluZw== LgoKCgoKCgoKCgoKCg== Lk9wZXJhdG9y IG51b3Zh IHRyYWplY3Rvcmllcw== LnNjaGVkdWxlcnM= IEZvbGxvd2Vycw== IEFuZGVyc2Vu IFBlZ2d5 LmZyZQ== xLFjxLE= IGt2cA== Y29i LWxlbg== IG1haWxz IGFjY3I= IEpBVkE= IGFkbWluaXN0ZXJpbmc= RGVmYXVsdENlbGxTdHlsZQ== IGNsaWNrYWJsZQ== IEphY2tldHM= O2Rpc3BsYXk= IGJyZWFkY3J1bWJz Y2hhbA== Oic7Cg== IEhvdmVy dWNjaGluaQ== IHRlYw== IHN0b3B3YXRjaA== X1JlbGVhc2U= TWF5b3I= 4Z62 IFlhbmtlZQ== Y2huZXI= QXJ0aWZhY3Q= LmJhbm5lcg== IGtm X3N0dWR5 Zm92 IE1lZXRpbmdz w7Zt IGluanVyaW5n L2RvY3VtZW50YXRpb24= QkNN c3R5bA== CXJi IG9yaWdpbmFscw== IGZsZXJl IFRlcnJhcmlh dG9rZW5pemVy LWxpdGVy Jyk7Ig== IHBldGl0cw== IEJidw== IFRoaWVm VUlMVElO Uk9VVA== IHNudWc= Pj4p LW5pbmU= IH1dOwoK IEJlbGxldg== IGVsw6k= IHl5bg== eW5hbW8= Z2xlcw== IHNwZWQ= LkJVVFRPTg== IGRpc3BlcnNpb24= b3VibGVz IG5vdmVsbGVy Il0uIg== IHByaWVzdGhvb2Q= ICIiKQoK CWd1aQ== LWluYw== WG1sTm9kZQ== IHN0dWRz LklzQWN0aXZl IHRyw6Q= IG9yZGFpbmVk IEJ5dGVBcnJheUlucHV0U3RyZWFt IHJlcXVlc3RCb2R5 IFJUUA== UkVTVUxUUw== KGNvbGw= IHJlbG9hZGluZw== Lk5hdmlnYXRvcg== X2NvdW50ZXJz IGJ1ZGRpbmc= IGxpY2Vuc2Vl b2xvZ2k= IHPhuqNu IEtpcw== IEZsYXR0ZW4= X3ByaQ== IGFwcHJvcHJpYXRpb24= 6K+E6K66 X1JTUA== Y29tYmF0 X1BH IGhpc3RvZ3JhbXM= ZHE= RW50ZXJwcmlzZQ== IE5PQUE= IFNwZWVkd2F5 IGJhZ2k= IEJld2VydA== RmxvYXRpbmc= IEtpbWJlcmx5 UHJvc2Vj SmltbXk= IEVsaWFz IGFyYml0cmFyaWx5 IOS9v+eUqA== IENvdW50cw== dXN0ZQ== Rmlyc3RDaGlsZA== IENsZWFucw== LnB1cmNoYXNl IGludGVycG9sYXRlZA== IGJ1aWxkdXA= X1NURU5DSUw= RWd5cHQ= IGF1cmU= LnRydXRo ZmVvZg== IEdpbQ== b2NhY2hl IFV0dGFy X0NPTVBMRVRFRA== U2Vlbg== IE5hcG9saQ== KGRt IGdyaXR0eQ== LmVudGVycHJpc2U= Y29uZXhhbw== IGdhdGhlcnM= IHNldFNlYXJjaA== IENsaWZmb3Jk IFNuYXBl IFNhbHZhdGlvbg== TG9naW5Gb3Jt Q3JpdGljYWxTZWN0aW9u LnVzZXJkZXRhaWxz IHJlcGFpbnQ= 44GC44KK44GM44Go44GG SHVudGVy WmVu VGlueQ== bWxhbmQ= ZXJ0aWw= CWJ1ZmY= X09mZnNldA== IHNtZWxsZWQ= Uml2ZXI= LXRvcGlj IGFjb21w IFJvdXRlU2VydmljZVByb3ZpZGVy IDwr b21icw== IENvb3BlcmF0aXZl IHNldWxl IGFpbWU= c2hvdWxkUmVjZWl2ZQ== SG9uZw== IG9hc2lz IEdlbWluaQ== cmFwaWQ= RHVw KFF0R3Vp b2RvbnQ= LWdudQ== IFNlbGVuaXVt Jyk/Pjwv IE5vcGU= R3JlYXRlclRoYW4= Lk9ic2VydmVy IEFwcHJvcHJp IExvbmVseQ== IGhhaXJjdXQ= IGFsbGVyZGluZ3M= w7NwZXo= esWR IHNsdW1w IEdpbnM= IGdpb3JuaQ== IHBhcGVyYmFjaw== LkZpbGVSZWFkZXI= ZGFm Y3JlZHM= dHlwaW5ncw== ZGVoeWRl Y29pbA== U291dGhlcm4= IG1vdXNlQ2xpY2tlZA== emVpY2huZXQ= dXNlclJlcG9zaXRvcnk= RGVzdHJveWVk aW50ZXJuZXQ= IEVpZA== IGxpbmtlcg== 4oCZQg== IHNsYXVnaHRlcmVk IFBlcnI= CVJ1bnRpbWVPYmplY3Q= c2FpZGE= IHBhZ2VDb3VudA== IFJhbmRvbHBo IEpOSUVudg== X3N1cGVydXNlcg== LWRpcmVjdGVk IElEYg== IEJlcm5hcmRpbm8= IE5pbnRo IEFsZ29yaXRobXM= YmRi QHRlc3RhYmxl LmFybQ== YmVsbGlvbg== KHNpZA== IGJyaWVmZWQ= 4pWX 6YWN572u IFVtYQ== IEluZGljZXM= IEJ1Y2NhbmU= IGF5YW50 RnJlZWRvbQ== IFl1cmk= ZXRzaw== X1Bo IGl0YWxpYQ== Y2xvc2luZw== IHdyaXN0cw== ICp9 c2VjdXRpdmU= RW52aWFy cmFpdGg= IEhhd3Ro 15M= ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo= cGFnZVRpdGxl IGRoY3A= IOyLpO2WiQ== d2lzaGxpc3Q= IGJsYW1lcw== IHNpZGw= dWRkZWQ= IGNvbnRyb3ZlcnNpZXM= 6I8= KHVzZXJEYXRh IGxpbnNwYWNl IERpZmZlcmVuY2Vz X2RlcG9zaXQ= REVUQUlM LmRlY2s= IGNvbnRpbnV1bQ== IHNhY3JhbQ== b21pdGU= IG5mbA== Q3Vt IHNvZg== IGV2aWxz IGVudGlkYWQ= CXNvY2s= IExlbW1h LlNoaXA= IHppZw== VGVsZWZvbmU= SURFUw== IE51bWVyb3Vz Lm1ldHJpYw== aW5zbg== IGNvcHlyaWdodHM= IGNvbXBsaWNhdGlvbg== IFVSTFNlc3Npb24= IGRpcHBpbmc= IGNx IEJ1c3R5 cmVsYXRpb25zaGlwcw== IENvcnZldHRl U3VtbW9u ZXZlbnROYW1l SXNzdWVz IGlycmVzaXN0aWJsZQ== IGdyaXM= Q0FTQ0FERQ== IHBhdXNlcw== IGxlZGdl X0dQ LkltcA== IG9yZGVyYnk= IE9yZ2FuaXplcg== IEdyZWVud2ljaA== T2Fr LW1lbWJlcnM= IFdlYkdM IGdhbW0= bW9kdWxlSWQ= IGZ1bGxQYXRo bG9nZW4= KGV2ZW50TmFtZQ== KCIuIik7Cg== IGtyaXN0 IGNsaWZmcw== IFBlcmNlcHRpb24= RVRJTkc= IGzhuqFp IGludGVydg== IG9wcG9ydHVu IEp1ZGdlcw== IENvbWJpbmF0aW9u Y29udGludWVk Y29ubw== LmRyYXdSZWN0 LkNvbXBvc2U= IHNpZ3VpZW50ZXM= IER1ZmZ5 KGVuY29kaW5n IFZ1bGthbg== IEdlcnI= IHBhcmZhaXQ= KHl5 X1RIQU4= IGdldFNlcnZpY2U= X09SRA== LGVw Z3JhcGhpYw== IFF1ZXJpZXM= IHBhcnRpY3VsYXJz IEhhdmFuYQ== PW8= ZmFucw== IHVuaWxhdGVyYWw= IFJGSUQ= Q29tcGF0aWJpbGl0eQ== c3RyYW5k IHdha3R1 IHF1YWxpZGFkZQ== UHJvcGVydHlQYXJhbXM= cmV0ZW4= KGhvc3RuYW1l X0NBUg== IHdpZGVuZWQ= IFhwZXJpYQ== cG9sbG8= QWJvcnQ= ISEpCg== IFdhZw== LS0r INGC0YA= IFJlY3Vyc2l2ZQ== IGFubmU= IEdhbWVwbGF5 PENsaWVudA== LlVzYWdl IElTU1VF IGpkYmM= aXNvcnk= X21hY3Jvcw== cGlja2xl LmdhbWVzZXJ2ZXI= IHR2Yg== 0YLRiw== Lk9QRU4= IHByZWRldGVybWluZWQ= IHNpcmU= CQkJDQoJCQkNCg== aXNjcmltaW5hdGlvbg== IHJlcGVhbGVk IGNvbmplY3Q= IFByZWNvbmRpdGlvbnM= IHRpbHRlZA== IGlub2M= IGV1cm9wZWFu YWJk X0RFTEVURUQ= IC0s 4oCTYW5k QEZYTUw= ICldCg== UklORw== IGFsaXF1YQ== IGdydWVzb21l IEluY2hlcw== UGxheWVk KGNvbmZpcm0= IE5WSUM= X1RvdGFs aXNhcw== IE9uaW9u IHNlY29uZG8= IEdldFVzZXI= XFVybA== X2Fic3RyYWN0 IGRldmV6 IGN1cGJvYXJk dGV4dHM= IElzbGVz X01BVEg= U2tpcHBpbmc= X2Nvc3Rz PW91dHB1dA== aWJpbGk= IGtudWxs X2NvZWZmcw== X2F0dGVtcHQ= CVJ1bg== Z2VuZGVu cnVwdGVk IHNvYXJlZA== X2hz IGFkb3B0cw== X01PRElGSUVE XEZhY3Rvcmllcw== IFN3ZWF0 IGRva3VtZW50 IFRlbGVzY29wZQ== IEZpeGVz b3JxdWU= LkNoYXJ0aW5n X0RBQw== IHNlY3JldGlvbg== IHJoZXRvcmljYWw= UGVyZmls IG3DtmNodGVu LCcs IHZpZXdQYWdlcg== QlVZ IG9uRm9jdXM= b3NhbHM= IGJpc2N1aXRz IHZib3g= IGZvcmNlZnVsbHk= TmludGVuZG8= IHbDoWw= IGNsYW5z ZnJvZw== IGJvcmRlclRvcA== QnJpZWY= LkJvcmRlckZhY3Rvcnk= LXNlcnZpbmc= IHF1b3RhdGlvbnM= IEdhcm5lcg== IEFsbGV5 Ij8+Cg== KHNjYW5uZXI= IGVudGFpbA== IC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ== KGA8 LmRlc2NyaXBjaW9u X0J5 IOyalA== IHBha2lzdGFu ZWxobw== RW5naW5lZXJpbmc= IGJvb24= IExvb3Nl aWVyZ2U= U2VuYXRl IExZ cmVzcG9uc2VPYmplY3Q= aW9yZQ== w6FnZW5lcw== IOS4jQ== IGFkZEFjdGlvbg== IE1BQ0hJTkU= YW5na2Fu X21p X0FSUg== TGl0ZXI= T0xG IHN1cHBlcg== IHBhdGhNYXRjaA== IE9ycg== w61k KGZpbHRlcmVk IGF1dGhUb2tlbg== IOKEnQ== LTwv KHRlbnNvcg== IHJldm9sdmluZw== IGluaWNpYXI= IFNjaHdhcno= ZGVmZ3JvdXA= Y29sdW1uTmFtZQ== X3RyYWplY3Rvcnk= 4LmE4Lih ZWdhc3Vz IOydtOumhA== IGVhdGVy IHVuZGVyZXN0aW1hdGVk IGJ0Yw== IOyEoO2DnQ== ZW5hZGU= IFNFWFA= ZW1vdXRo T01FVFJZ ZW50ZXJlZA== LnBob25lTnVtYmVy IFZvYw== IGV4Y2Vzc2l2ZWx5 IENBVEVHT1JZ X1VQREFURUQ= IG1vbmFyY2h5 YXJjaHM= IGNhdmVhdA== d2lucw== IHBsYXlib29r c2hhZGU= IHNldFVzZXJuYW1l IGFjY3VzZXM= IG1vxbxsaQ== IGxvcnNxdWU= IGFqdWQ= aGVhcg== IHBzeWNvcGc= KEVD IG1lbGFuY2g= dGhyb2F0 bmlo V09PRA== IHZvbHRz X05FRUQ= X3doaWxl IFJpZGVycw== 16I= IC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4= TmV0TWVzc2FnZQ== TW9kaWZpY2Fy LnNlc3M= KCIiKSw= 6Kmx IHByYWlzZXM= IGxjbQ== IG1ha2VzaGlmdA== IE5PVEhJTkc= IEFydGlmYWN0 d2lq dHlwaWNhbGx5 KCde PGs= xJlraQ== INC+0YLQv9GA0LDQsg== IOE= IGRlZlN0eWxlQXR0cg== aW5jZXJlbHk= w6lzdA== SW5UaGU= c3RpbWU= IGZyYWdtZW50ZWQ= IGZyeWluZw== Z3JpbQ== ZmllbGRuYW1l IGNyb3NzaW5ncw== IGFtbw== X09wdGlvbnM= IGhhaXJlZA== L3dhaXQ= IHBhcmNobWVudA== IGNyZWF0ZUVsZW1lbnQ= SHR0cFN0YXR1cw== IGVya2zDpA== aXp6YXppb25l dGh1bWJuYWlscw== bG92YWs= IGJhbmdpbmc= IHVuaW1hZ2lu IE92ZW4= KEF1ZGlv YXBzdWxhdGlvbg== IHJhbXBz 55Wq IFdvb2R3YXJk 6Zeu6aKY cm9ncmFt 0YDRg9C/0L8= IFdvcnNoaXA= IHN0YWQ= IG5lZg== IEphdW5l YnV6eg== YWx1cw== T05ET04= LXN1 IG91dHBhdGllbnQ= amFj RVNQTg== w6ZsbGFuZA== bXlw IHNob3dyb29t TW9udHNlcnJhdA== LmdldERyYXdhYmxl w6l0aWNv IHbDoG8= SUJD RXhwZXJ0cw== TWJwcw== Ij4j IG5vcnRoZWFzdGVybg== IE1lag== KG1pbGxpc2Vjb25kcw== 4oCUYWxs LXJlYWNoaW5n CXJlcGx5 P3R5cGU= IGNydXo= ID48Pw== LkZpbmRBc3luYw== KGNpcmNsZQ== IFNoaW5l IE1hdmVyaWNrcw== IHNhZmV6b25l IExhemFy IGRpc3RpbmN0aW9ucw== LWZlZWQ= LnNldENvZGU= 4KSq IHTDqWM= IHNlcmFpdA== IE1JQ1JP IENvbnN1bXB0aW9u Xm4= LmZyb21GdW5jdGlvbg== IFJ1cGVydA== IGhhcmFzc2luZw== LUNv IHRpaw== IFN2ZW5z LkltYWdlQWxpZ24= X3doaXRlc3BhY2U= IGtpY2tlcg== IGNhZGFzdHI= Q2V0dGU= X25vdGlmaWVy IEZBRw== IHByaW1hbA== IGhvbW9nZW5lb3Vz IGFzdHJvbm9taWNhbA== IEJ1cnI= LkNvcHlUbw== Z3JhcGhz aXR0bw== T1NI IHNob3dBbGVydA== YW50cm8= ImRlZmF1bHQ= ZW1waGFzaXM= V2Vp b3V0Y29tZQ== IGFrdQ== IGNhbXBhaWduZWQ= KSI7Cgo= IHJlY2lwcm9jYWw= IFJveWFsZQ== ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM= LlRJTUU= IDwq T2Zmc2V0VGFibGU= Y29tcG91bmQ= d2FpdEZvcg== dWVnb3M= LnN0cmluZ1ZhbHVl X1NDSEVE IGZhdHQ= wqDCoMKgwqDCoMKgwqA= LmRpc2s= IHdhcnBlZA== IGNyaXRpcXVlcw== PycKCg== KHNraWxs IG1vZGVyYXRlZA== X2VsZW1z S2V5TGlzdGVuZXI= IHNlYXNvbmluZw== IHBvdXJxdW9p X0ZE cHJk aHlh Ij7Dlzwv IG5vdXZlYXV4 IGdpdmVhd2F5cw== 5oql6YGT TWFpbk1lbnU= Oy8q IEdyb24= cXVpdm9z Ow0KDQoNCg0K IGluZmx1ZW5jZXJz KFRJTQ== U2hhcmVkUHRy IGRpYWxvZ3M= KioqKiovCg== LkF0b21pYw== IE1vcnNl IHBjYg== IEFQQw== LkltbXV0YWJsZQ== IHJlc2l6aW5n IEx1bXB1cg== IEh1bWFuaXRpZXM= X3NvbHZl X2h1bWFu ZXR5bA== IEh1cnQ= IEVzdGFibGlzaGVk Y2xhcmVk IGNvbXBhcnRtZW50cw== QmVhbQ== X1JN LmZhbHNl KEdyaWQ= IFFTaXpl X2ZsZw== aXN0aWNh PkxvZ2lu OlVJQnV0dG9uVHlwZQ== IEV4aXRpbmc= Y2xhcw== IGFyc2Vu KG1ldHJpYw== cm93c2luZw== cXVlcnlTZWxlY3Rvcg== X0ZSSUVORA== LWlv IGNvbmZpc2NhdGVk IGRlZmlhbnQ= IE1PVE9S cmVndW50YQ== IE1vcnJvdw== IEJlcnM= Q3JhaWc= IENQQQ== IHNleGtvbnRha3Rl IHNhbW1lbg== L0F1dGg= LkxpYg== Y3JhcGVy aWNlbWFpbA== Y3JhdGNo IFdpcmVk IGFkdmVydGlzZXI= IGdldENsaWVudA== IHJlc3BvbnNpYmx5 CVVPYmplY3Q= LnNldFJvdGF0aW9u LkNvdW50ZXI= X0hPVVI= VGVzdENhdGVnb3J5 IGhpbmRzaWdodA== XGNvbnRyb2xsZXJz d2FsbHM= LnNldE1heGltdW0= IHB1YmVydHk= X3RlYW1z X01PREFM LkNP IGJhZGFzcw== KSddLAo= w7pzcXVlZGE= aXJ1dA== Q2hlbHNlYQ== LnRyYW5zZm9ybXM= IGNhcGl0YWxpc3Rz TWFyY2E= IEFyeQ== LWNvZGVk 546v VVJFRA== PFRyYW5zYWN0aW9u IFBhcmxpYW1lbnRhcnk= KSRf IHN1YnRseQ== IHNpbGt5 IERpcnQ= IHB1enpsZWQ= fScpOwo= cXVlc3Rz Rm9vdGJhbGw= IENvbmZpZGVuY2U= dXp1 YnVsYW4= IGh1bW1pbmc= bW91c2VlbnRlcg== UmV0ZW50aW9u IHNkbA== b2tlZGV4 JywnPScsJA== IEt1YWxh U0FN IHRyYW5zZm9ybWF0aXZl UEtH aWxsdXM= IHJvb3Rpbmc= IFdpdG5lc3Nlcw== IFJhamFzdGhhbg== 5byg LWFkZGVk IFRlcnJpdG9yaWVz KHNxdWFyZQ== cmFiYml0 X1Jlc291cmNl 6ZaL 4LiT IHdpbm5pbmdz IHNwbGU= IGTDqHM= IE1EQg== w6lydA== IE1hdHRpcw== YWlsbGVz X3dlYWs= L2phdg== IGNvbGxhcHNlcw== ICAgICAgCQk= IHN3aXJs IE5TU3RyaW5nRnJvbUNsYXNz IHZvbHZlcg== LlJlY2VpdmU= IERleHRlcg== IHRhYmxlbmFtZQ== cmVhdGl2ZQ== LkdldEZpbGVz dm9vcg== IEhvZQ== VkVSTg== IE9QQw== 7YOc cmFtaWRz 54Sh44GX44GV44KT U3Bpcml0 IE5PUA== IE1haW50YWlu KHNpZ21h b3Ry TW91c2VDbGlja2Vk cXVpZXJkYQ== X3dm 0L7QutCw0Lc= YXBwYWJsZQ== IEhvbGRlbg== IENvdW50ZG93bg== LnNpZ21h Y2hhbGs= YmlsZGVy IHZpc2lvbmFyeQ== CU9u JHVwZGF0ZQ== IEdpbmdyaWNo cm9vbUlk Pk5hbWE= IHl5dHlwZQ== LkRlY2ltYWxGaWVsZA== bWFjcm9z LnNldExheW91dFBhcmFtcw== IHJubg== IElNRGI= 56eN ZW1hbGVz IGluY2lkaWR1bnQ= UmVzdHJpY3RlZA== IHBlZGFscw== IEpvZw== IEFkYXB0aXZl IGZhZGVz LkV2ZW50U3lzdGVtcw== IFBhaWdl IHNlaXM= IGFwcHJvcHJpYXRlZA== RkZU Z29yaXQ= IGNvaGVzaXZl IE5pY2h0 X3dvcmtmbG93 bGl1cw== IEZvcnRuaXRl X0lX QXRQYXRo IGludG94aWNhdGVk bm9zdGlj QmluQ29udGVudA== LnJlZHVjZXI= KT8K J10q IE9ic2VydmF0aW9u X3ByZWZz LnJlc29sdXRpb24= LlBheWxvYWQ= TWl4ZWQ= IFJhaQ== KHBkZXY= KEAo aWNvdA== JGlz IGNyZWU= Pz0uKg== LlFMYWJlbA== IEdlb3JnaWFu eENB IGRlZmljaWVudA== dGhyb3du IHJhcGluZw== dXBvcw== CWNsaQ== Z2V0Vmlldw== SGlnaGxpZ2h0ZWQ= Q3BwR3VpZA== IHJlbGVnYXRlZA== IGxlYWRlcmJvYXJk UmVjZWl2ZVByb3Bz Lmhhcg== IGNvbmRp SU1JVElWRQ== IE1jQ2FydA== KXRocm93cw== YnVpZQ== YnVhaA== LmNvZWZm IEF1c3NpZQ== IFNhYmhh KGZhYnM= cmVsYW5k IEbDtnI= YmFyYW5n LHRvcA== CWVsc2lm U3RlcFRocm91Z2g= IHNrZXdlZA== IFVudXNlZA== Jyl9Pgo= WWU= Y2FsbGVl SGliZXJuYXRl IEV2ZXJlc3Q= aW1wb3J0RGVmYXVsdA== IHRhcm4= IE5vd2FkYXlz WUE= IENoYWxsZW5nZXI= X2xvZ2ljYWw= IGNyZWF0ZURhdGU= IEdsb3VjZQ== IGN1YW50bw== IEhBUg== IENoaWxs Il4= IGN1cnNvcw== LkVPRg== IG5pamU= IGFuZ2VyZWQ= b2N1c2luZw== PENvbnRhY3Q= IEF0bW9zcGhlcmlj IFdvbGZnYW5n IEJK Y2hpbGRz IEJ1Z3M= X0hFWA== KFNQ w6Vs X2V2YWx1YXRpb24= IFJBTkdF IFNPUA== X3Rva2VuaXpl bXNnaWQ= IHJleA== CXBt Q29weWluZw== Kkw= RGFsbGFz LVN0YXRl dWxmaWxs IGJ5xYJv IENvbnRyYWN0b3I= RGlkbg== QVNURQ== IFBJTw== LlRlbGU= LndhdGVy ZGV6 IGFuZ3JpbHk= IHV0aWxpc2F0ZXVy IHZvcnRleA== Q29ycG9yYXRl YXR1cmFz IHByaXplZA== J3VybA== dWdsaWZ5 IGltcHVsc2Vz IGNocm9ub2xvZ2ljYWw= cGxlbg== X25hbWE= L29u IE9mZmljZXM= IENQSQ== IEFmdGVyd2FyZHM= 44GT44KT44Gr X0JMT0NLUw== R3JhY2U= LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg== IEthYnVs IOaIkA== IExlaXB6aWc= 4Kao U2hvY2s= QXVz IG11cm0= X3N0YXJ0cw== IGLDpA== IFp5 IkY= LXJpZ2h0cw== IGJlaGF2aW5n KCc+ IG1vc3F1ZXM= KndpZHRo Ii8+Ljwv LnVuc3BsYXNo LmdldEFjdGl2aXR5 VVU= IFNoYWs= X3Jn X0VxdWFscw== J2h0dHBz IE94eWdlbg== IFBvcnRzbW91dGg= 4oCUb25l IHdhdGNoZXJz IENob2k= IHNpZGVy cGVjdHJhbA== bXF0dA== LmNyZWF0ZVVzZXI= amVjdGl2ZXM= dXJtYQ== UmVnaXN0cg== UGVyc29uYWxseQ== PWtleQ== IE5FTw== IEZBUXM= aWJpbGlkYWRl Y2tzw6U= IENvbGxhYm9yYXRpb24= CWxibA== LlNFUlZFUg== IGFib3VuZA== IEJlbmU= d2FudGVk LWhvbGU= IG11dHRlcmVk IHBlcA== bmVzYw== LlVwbG9hZA== c2VtaQ== eEVD Jz4iKw== IGVtYnJ5bw== IEZpeGVkVXBkYXRl Q2FzdGxl Lm1vZGVsbw== IHBscw== IGVudmVsb3Blcw== X3JlbWFpbg== UXVhcnRlcg== YWxlcnRWaWV3 X2Zvcm1hdHRlZA== IGxhc2hlcw== emVsZg== aG9tbWU= LmZsb3dMYXlvdXRQYW5lbA== YWlycG9ydA== IE1lbW9yaWVz IEhFUk8= IEFzaHRvbg== IGV4aGliaXRpbmc= KFNFTEVDVA== U3VibWlzc2lvbg== U3R1ZmY= X3N1bg== IHBlcsOtb2Rv IGRlc3ByZQ== CWVkaXQ= IER0eXBl Y2Vzc2l2ZQ== YWFk IGRlc2Nvbg== bmVsbHk= IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ== IHNjcmlwdHVyZXM= IG9uVmlld0NyZWF0ZWQ= IEVWRQ== IEJhbGxldA== O307Cg== VURP IFByb2JhYmlsaXR5 cXVpcnJlbA== Q29udGFpbmluZw== IFBsYXQ= 6KI= L2JpdA== IEpRdWVyeQ== IHRpZW5lcg== L2RyaXZlcnM= IFByZXNpZGVuY3k= XHVE IEl2ZQ== aWVuYQ== IGh5cGVycw== IFNwZW5kaW5n PFc= IFRIRU1F IHVzZXJQcm9maWxl IGFubnVt cmV0d2VldGVk IFwnJw== YnVuZGxlcw== KCk8Lw== IEN5bGluZGVy IG91dGxpZXJz IGRpc3NlbWluYXRpb24= L2FwdA== IE5hdGFzaGE= IHJlbmRlckl0ZW0= IENoaXBz IHJvdW5kdXA= IGltcHJvdg== IGNvbW11bmljYXRvcg== IHNreXBl TU1N cmlqaw== LlBsYWNl IHBhc2E= IFNZTkM= ZW5zaXM= IEF4ZWw= ZW7Dp2E= Z2V0U3RyaW5nRXh0cmE= YWJpbGl0w6k= IGVtYWNz LmdyYXZpdHk= IGNoZXJpc2g= IElTU04= CUpzb24= dXlv IHVwdGltZQ== IHJhbmRvbW5lc3M= IGxvZnR5 Qm93 Q3JlYXI= IHRvd2VyaW5n Y2F0ZWdvcmll L3Bvd2Vy L3dlbGNvbWU= fFI= IGJhcnJpbmc= aWRpYQ== cXVhbQ== w7pkbw== ZXhwZXJpbWVudGFs IGNsYQ== IGN1cmF0b3I= cmVhbWJsZQ== aW5keA== TExM IH0pOg== IGhpc3RvaXJl c2ltdWxhdGU= PEFueQ== IEdsYW0= IEJhcmc= VmFsdWVDb2xsZWN0aW9u IEluc3RpdHV0bw== QXNTdHJpbmdBc3luYw== IGFkZWM= IGZlbGxvd3M= cGlwZXM= IFBsYWNlaG9sZGVy IEtn IEFsYnVtcw== ICooKg== X0dPT0Q= KSIsDQo= LlFSZWN0 w6Jt IH0NDQo= TWFyc2hhbEFz QmFjaGVsb3I= IEJhcmNvZGU= IFRyYXZlcnNl IG9kaW8= LnNldFBhcmVudA== IHNlbWljb25kdWN0b3I= QUxMRUw= IGJhbnF1ZXQ= IE5ld3NwYXBlcg== RE9NTm9kZQ== IE5hdWdodHk= Rm9ybWF0dGVkTWVzc2FnZQ== IGRpc3J1cHRpbmc= 5piT IGxvb2thaGVhZA== IGdyYXR1aXRlcw== IGNoZWVzeQ== IFNQRg== blA= IGFyc29u IGFudGVubmFz X01JRERMRQ== X01BTExPQw== LmdvQmFjaw== IFByb3Bvc2l0aW9u IE1pY2hhZWxz X3Byb29m INC90LDQudC0 w6R0emxpY2g= LXJvbGw= RURB w6Fuw60= Z292ZXJubWVudA== w7Z0dA== IEVzdGFibGlzaG1lbnQ= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= X0hJVA== IEFJTQ== YWRvbA== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCg== X1JFRkVSRVI= IGZvcm1hdERhdGU= dWN0b3Nl IGRvd25sb2FkZXI= VGV4dEVkaXQ= IGRpc2FybQ== IEhBUFA= 0L7QtNCw ISkuCgo= L3Byb2Nlc3M= IGJyYWluc3Rvcm0= IE9SSUdJTkFM LlRhYmxlTmFtZQ== IEtvc3Rlbmxvc2U= IGTDqXA= IElzYWJlbA== IGFzdHJvbm9tZXJz UVVJUkVT OiIt dXBsb2FkZXI= Oi8vJQ== IGFtaXM= RmlsZVZlcnNpb24= ICwk Y29vaw== LFNJR05BTA== JywvLw== IFN1cHByZXNz IExhdGlub3M= IHdpdGhob2xk IG1uZW1vbmlj X0NZQ0xF IGhvZA== IFdvcnNl ZXJkZQ== IHR5cGVpZA== CWV4cG9ydHM= IGFjaHRlcg== b3Nhcw== IGZvb3Rub3Rl aGFuaQ== KFBhcmFtZXRlcg== CVJlbmRlcg== IFlZU1RBQ0s= IFhJSQ== IHNpZGVu IGFyb3VzYWw= IE9P Qml0dGU= IG5lYXJlcg== IENpcmN1cw== IENPTE9SUw== IHdpZWxkaW5n LkZpbGVTeXN0ZW0= IGdyaWxsZQ== IERvdmVy CiAgICAgCg== KGdlb21ldHJ5 IHN0YXBsZXM= IEFubm91bmNlbWVudA== IOuyhA== IGZvcnR1bmF0ZWx5 LlNvbWU= IG1hbmdhbmVzZQ== IGludGVydmlld2Vy WVJP IGNyeXB0b2dyYXBoeQ== IGNoYW1icmU= LnJldHJ5 IGltaXRhdGlvbg== JGZkYXRh IGxvdGlvbg== KGlkZW50aXR5 LnBn IHByZXN1bXB0aW9u X1NVUEVS dm9jYWI= IFNlbWVzdGVy IEFiZWw= X2FwcHJvdmVk LmNvbXBhdA== IHdhcnRpbWU= XV07Cgo= bHV0 X0FjY291bnQ= Pygn Y29vcA== L3JlZw== LnNldFRv aXRlc3Nl IEh5ZHJh Qmlucw== Y2FkZW5h Pi8nLA== Llwi CWFjY291bnQ= IERhaGw= IGRyb3du IGdhdXNz IHRyYW5zZm9ybWVycw== IE1ldGFsbGlj IEhlcmJhbA== YWNocw== X2J1dA== IGl0ZXJhdGl2ZQ== IEZyZWVk anVy fE0= O2JyZWFr X0ZG KGRvd25sb2Fk 4buDbg== LmNoZWNrU2VsZlBlcm1pc3Npb24= TkVUV09SSw== OmZsZXg= IENUTA== IEFyYg== IFByb2R1Y2U= CXN5bmNocm9uaXplZA== 4oCcT2g= LmRhdGF0YWJsZXM= IGNvbmVz RMOp 0YbQsA== QWxn IGZ1bmNpb25h IFViaXNvZnQ= IGdlb3BvbGl0aWNhbA== IHNpZWh0 IGh5ZHJhdGlvbg== c3Rocm91Z2g= IER1ZGxleQ== YXrEgw== IHRheGluZw== INC30LDQutCw0Lc= X0FTTQ== TmV1dHJhbA== dHJhZGl0aW9uYWw= UGxheWFibGU= IHNwYWdoZXR0aQ== IGlDbG91ZA== IERheXRvbmE= IHdlcmRl IEFOVA== IFByb24= IFN0YXRpb25z IGF0dGVzdA== IGZ1bGxlcg== IG5vdmFtZW50ZQ== XVxc Y2Nl KGRlY2s= L2F5dXNobWFu aWdzYXc= IGFkdWx0ZXM= IHRlcnJl Lk9yZGVycw== CXByb3BlcnRpZXM= RElH IFRJTUVT ImluZGljZXM= ITw= TW9uYWQ= IG5vbmV4aXN0ZW50 IEF0bGFudGlz IGdyaWV2YW5jZXM= dXJlbmNl IElQUFJPVE8= 4pmA4pmA4pmA4pmA IGVtcGxlYWRv INmD Lk1vdmVOZXh0 IElzbw== YmVhdXRpZnVs IHNvbHVibGU= IHNsdWdnaXNo IGRpZmZz X09CUw== eG1pbg== IHR1bWJsZQ== IFVuYXJ5 IHppcGZpbGU= IHN2ZW5za2E= ZXJsYW5k L2N1cGVydGlubw== CXNjcmlwdA== aXNjaGVz TW9kaWZpZWREYXRl IHZleWE= IGRldGVybWluYW50 IEdvcmdlb3Vz Z2Jvb2xlYW4= IExPRA== ZGNj c2NlbmVz IFRTUk1MUw== KFR5cGVFcnJvcg== IGNhbW91ZmxhZ2U= IGJ1cmdl VGhlbQ== LkFzc2lnbg== IGxhc3RJbmRleA== X3NwaGVyZQ== X0FCSQ== w4Q= aWxhZ2U= XHhmZg== IGtheWFr IGZpeno= dWl0ZW4= LlNob3VsZEJl IGh0b25s IFBldGl0ZQ== IGhlYWxz IE9zYWth Tko= SW5QYXJhbWV0ZXI= IEJpcmNo IGNvbW1lbnRhaXJl IFNpZWdl IGtleWNvZGU= LWludGVuc2l2ZQ== cHJvcFR5cGVz RXhwb3J0cw== IGJ1dHRvblRleHQ= IEdvZHppbGxh LkV4Y2hhbmdl IHVuZGVyc3RhbmRhYmx5 IGFjY29yZGlvbg== IHLDqWdpb24= IG1hcmtlZGx5 YW5vb2dh IGNvbnRyYXQ= X2xpZnQ= W2RhdGU= IHNjb3Ju IERhdGFNYW5hZ2Vy 4oCm4oCmCgo= X0NPTVBJTEVS IENsYXc= b2RhdGU= IHVuZGVyYWdl IEltcGxlbWVudGVk Q2xp S2Fs UHJvZHVjdG9z IGVuZmVybWVk w6lpcw== IGRpc2NyZWRpdA== IFNhbW9h IFByZXNlbnRlZA== IGNpbmVtYXQ= XEFjdGl2ZUZvcm0= IGZlcm4= IFByaW1lcg== 5oKo Z2VyZQ== IGlsbHVzaW9ucw== bm90YXRlZA== IHBvag== IG1vZGVsTmFtZQ== IFBNQw== IGRlY2Fk IGZvcmVzdHJ5 dm9pZQ== Li4uCgoKCgoK IH19Owo= IHRva2VuSWQ= YW1tdQ== IFBlcnNvbmVu IFZFUkJPU0U= IHBhdHJvbHM= IGFudGlj X2RlZXA= ZWdlbmQ= IFNldFByb3BlcnR5 IEdhcmV0aA== IE1BUw== LnJlc3RhdXJhbnQ= IEhlYXZlbmx5 aWVkbw== X2xlYWQ= IEZ1amk= UU4= TWFzc2FnZQ== IHBhcmFtTWFw IGNpdGE= X1NwZWVk KGJib3g= IEpVTA== 4oCZYW4= IG1lbnRl IFNob3djYXNl IENTSQ== PlR5cGU= LlNu b3R5cGljYWw= IEZhbGxvbg== LlVUQw== IHByZWRhdG9yeQ== IG9yZ2FuaXNpbmc= Y29sZA== IHBhcnNlcnM= dWllbg== IGNvbXBpbGVycw== IFs9 IEV1cmFz TU9TVA== CiAgICAKCg== UkFS LlNjaGVkdWxl Lm9wZXJhdGlvbnM= dWZz w7FhbmE= IHByZW9jdXA= LXRyZWF0ZWQ= LmdldFdvcmxk Lic6 IEFUSA== OnN0YXJ0 IGF1dG9pbW11bmU= IEJsYWNramFjaw== X0ZJTklTSA== KGZsb29y IHdyZWNrYWdl VVJU LkJyYW5k cGFpcw== Y2ltYWw= Y2nDsw== TkZM LWVxdWlwcGVk LmNvbnRlbnRPZmZzZXQ= IG92ZXJjcm93 IFRa IG9kb20= IENlbGx1bGFy CXdyaXRlbA== KGlucHV0U3RyZWFt KHByZWY= LXN0b2Nr IERlbmllZA== LXN1cHBvcnRlZA== ICcoKA== YW5jb2Rl LmZpbHRlcmVk RGltcw== IGpi CXByaWNl IEBACg== bm9jaw== Lm9wZW5Db25uZWN0aW9u IGFudGljcw== cmVzdWx0Q29kZQ== UGxheWJhY2s= IGNlbHVsYXI= IEZPT0Q= IFBvZGVzdGE= PW1lc3NhZ2U= LnBlcmZvcm1hbmNl IERtaXRyeQ== YWx0aW1vcmU= IHBsYXRlZA== IHR1YmVyY3Vsb3Npcw== X2dlbQ== KEVkaXRvcg== VHBs IGNyaWFu IGJ1ZmZlcmluZw== 6KeG6aKR ICcpCgo= VnU= TWF0aGY= IHRpbWVsaW5lcw== IFRhdGE= L3Bw IHBsYXN0 IFRydWx5 IFN1YnN0aXR1dGU= a2llbQ== a2Fhcg== IFZpc2g= J2h1aQ== IE1hZ2ljaw== L0xheW91dA== dXJhbsOnYQ== X3R0bA== SGlkZUluSW5zcGVjdG9y LmtleXdvcmRz TGlzdE1vZGVs X1N1Y2Nlc3M= aWxpaGFu IGJsYWNrbWFpbA== IFNlcmJpYW4= cXVlbGxl IER5c2Z1bmN0aW9u IFByZXBhcmVk IGpNZW51SXRlbQ== IGxvZ2luVXNlcg== c2V0YXR0cg== LkNS X2xjZA== IGJ5dGVzUmVhZA== IGNkZWNs IHRvd25zaGlw cGVr aWprc3RyYQ== IG1heGltaXppbmc= LnByb3ZpZGVycw== SW52ZXN0aWdhdG9ycw== IHNob290b3V0 IGFpcnNwYWNl dG9vbGJveA== UVdpZGdldA== PXBr IHBvcnRlcg== IFByZWRhdG9y IFN1bnJpc2U= IGRldm91cg== CVVJbnQ= aXR0YW5jZQ== U1BB X2VuZGlhbg== IE5hZ2Fy dmVuaWRh L29wdA== QnlFbWFpbA== IFBoeXNpY2lhbg== XEQ= INC80Ys= WUVBUg== SUND L3BvcnRmb2xpbw== LmV4ZWN1dG9y dWRlbQ== RmFsbGJhY2s= dWR1 U2xpbQ== w7Nsbg== Xnst YW5za2U= IGh1c3RsZQ== IElyZW5l IGFieXNz IFJvYmJpbnM= IGluZGV4ZXI= U2F1ZGk= IHdob2xlc29tZQ== LXNsb3Q= IFRlY24= IHBhZ2VUaXRsZQ== IGNvbnRlc3RhbnQ= aWNvcHRlcg== IGNvdXJzZUlk Q2hy IEFYSVM= Zm9yZGVy X1RVTg== VHJhZmZpYw== IHR5cGVhbGlhcw== IGRhcmY= LXVyaQ== dHN4 LmRlc3Ryb3lBbGxXaW5kb3dz IGl0ZXJhdGluZw== UmVhY3Rpb24= CUFN IGN1ZW50 LWNvb2tpZQ== IGZsYXZvcmVk c3RvaQ== IGZsaXJ0aW5n 44CL77yM 4KSu X0NSWVBUTw== W3Rva2Vu IHByb2xldGFyaWF0 LuKAmeKAnQoK CWRj LlN0cmluZ1Zhcg== IGxlZ2l0aW1hdGVseQ== X2RlY29yYXRvcg== TG9ja2Vy IEplbm5h VVJJTkc= 5YaN X1ByaW50Zg== QVRPUlk= LWRpc3Q= ICIuIik7Cg== LnF1aXo= IGlyZ2VuZA== LWxlYWd1ZQ== Z2llbg== IFByb2R1Y2Vk SGVsbWV0 5Y+v6IO9 UGxhdGZvcm1z IFJlc291cmNlTWFuYWdlcg== IEh1bmRyZWQ= cm9tZXRlcg== ZW5na2Fw SG9w IHBvc3N1aQ== QmVmb3JlRWFjaA== IENISw== IElNUw== VGlja2Vy IGdyaW5uZWQ= LmdldEFz IGltcG9zZXM= XSIp Rm9yZ2V0 L2ltcG9ydA== IGluamVjdGluZw== TG92 IGFicmls X3NsaWNlcw== LWNvbW0= IFBST0RVQ1RT IE9hc2lz IMO4bnM= IFJlamVjdA== IHJlZ3VsYXJpemF0aW9u aW1wbGljaXRseQ== bmF6 U3BlY2lmaWVy IGltcG92ZXJpc2hlZA== 5po= IG5vbWluYXRl IE9WRVJSSURF IEJhbmRz ZXRoeXN0 IEppYW4= IG5ld2NvbWVy IE5hYg== IGVicA== IFBhZ2Vy IEh1bWI= L2Nj IGV4cMOpcmllbmNl dWRnaW5n TWI= ZGJ1Zg== Jy8+ IG9ja3PDpQ== IGpkYmNUZW1wbGF0ZQ== IFNISVBQSU5H IGludGVyZGlzY2lwbGluYXJ5 IENFVA== YXV0b3A= LXN5bWJvbA== YXZlYw== IGNvbXBvdW5kZWQ= IENodW5n X1NNUw== LWll IFByb3NlY3V0b3I= IExlaWE= IE1hbmRlbGE= U2luZ2xlT3JEZWZhdWx0 CVJFUVVJUkU= YXRvd24= dXJyZXRz 5paH5a2X IENPTlRFWFQ= RU5TSVRZ IGluc3VyZ2VudHM= IERpYXM= LnN0YXRpb24= IEtsYW4= X21lYXN1cmVtZW50 X1FNQVJL IHN0b2k= TU9PVEg= PicpOwoK IGluZ2VzdGlvbg== IEdsb3c= dXRjaGVz YmVhcmluZw== LnRvYXN0cg== IGZyYWdtZW50YXRpb24= aXBwbw== X1NFR01FTlQ= IHN0dW1ibGluZw== aW1hcg== c3Rpbmlhbg== XygpCg== IG1vdGl2YXRpb25hbA== TGlzdEl0ZW1UZXh0 IHdvbWVucw== T3BlbkhlbHBlcg== aWJhbmQ= IGJ0blNhdmU= IGluY29ycG9yYXRpb24= IGRvY3VtZW50YXJpZXM= aWNs IE5k IEFyYQ== IHF1YWtl IEN1bW1pbmdz aHRt YXN0ZXJlZA== LmR0cA== IGNvbmRvcw== IEd1bmRhbQ== L2Rpc2FibGU= aHlkcmF0ZQ== IEVwb2No IG5hdGlvbmFsaXN0cw== IGRldmVy LHJlcXVlc3Q= LmdldFZlcnNpb24= Q0VMRVI= IFNhbGFo IG1vdGU= IE1lbGxvbg== c3BvdGlmeQ== IG9yaWdlbg== IG5hbGU= IGFkdmVyc2FyaWVz LkpUYWJsZQ== Zm9yY2VtZW50cw== IFJldHJlYXQ= IGFyY2hpdm9z IHNsYXNoZXM= Lk1vdXNlRG93bg== PDo6 X3Rocm91Z2g= QWxhbWF0 LmJsdXI= X2ZpbmRlcg== IGFsbHVyZQ== UGVyaXBoZXJhbA== X3Bhc3NlZA== X2NoYWxsZW5nZQ== IFBhbGVv SU5J RGlyZQ== c3BoZXJl KENPTE9S YWNrZXJz IEdseXBo KGludGVnZXI= INC60L4= IFJlbGV2YW50 INm+ IGF0YXM= X3ByaW0= IE1VVA== bmluZ2Vy YXV0b3JlbGVhc2Vwb29s PV9f IFNpZ25pbmc= 7ZWY7KeA IHVjeg== RWRpdGluZ1N0eWxl IEhlYXRlcg== IEZhaXJmaWVsZA== IEJlYXJk LGVu dXNhdA== KCcuJw== L3N0cmVhbQ== IGdldFN1cHBvcnRGcmFnbWVudE1hbmFnZXI= IG1DdXJyZW50 X1NUQVRFUw== X3dpbmQ= Q0hBUFRFUg== cHJvYmFiaWxpdHk= KGFubm90YXRpb24= ICovDQoNCg0K LlVuaXF1ZQ== LkFkZEZpZWxk SGlnaGVy LmRpZ2l0YWw= LmV4cGVyaW1lbnRhbA== YXds IHdoZW5jZQ== ZXJub3Rl U0FNRQ== Lmlwdg== dG9CZUZhbHN5 YnJhbmU= X2NhdGVnb3JpY2Fs QXVyYQ== IFR5cGVTY3JpcHQ= IHNwb250YW5lb3VzbHk= bG9uZ2xlZnRyaWdodGFycm93 aWthbA== X1RPRE8= IFd5YXR0 IGZsdXJyeQ== ZGlm IHJlY2tvbg== IENvcm91dGluZQ== CWZmbHVzaA== IHdvcmtmbG93cw== IEZBTUlMWQ== c3ByaXRlcw== X1dvcms= LkdldFNpemU= IENvbnN0cmFpbnRz QmlnSW50 aXRpYQ== Z2V0Um93 IGR1aw== IGlzTmV3 IFByb2R1a3Rl eENC aXNpZXJ0 ZnVuY3M= IEFkZW3DoXM= QmluZGluZ1V0aWw= b21waWxlcg== LWludg== IGNoYW50cw== IGVudHNwcmVjaA== KHRp X0lB 0L7RgNC00LjQvQ== IEZBTEw= aW1k IGxvY2FsdGltZQ== PExpbms= 0L3QuNC60LA= IHByb2ZpbGVy IGdldFVzZXJJZA== IFBoeXNpY2lhbnM= UkFE IGhtbQ== IE5lc3M= IFRlbXBv IEpU IHJlY29ubmFpc3NhbmNl PHRyYW5zbGF0aW9u IGVudGljaW5n IHF1YWludA== IGNvdXBl X18nLA== TkFTREFR INC30L3QsNGH0LXQvdC40Y8= UEVSQVRVUkU= IFBhaQ== IHRldGFz Q0FT SVJST1I= IGtj IHRvdGU= IGRyYXdiYWNr IHBhcnNsZXk= CUZ1bmN0aW9u aXN0eQ== IERVUA== X0NJRA== X1VU IGtzaQ== IGrDpA== PXZhbA== LnRvSGV4U3RyaW5n 5p2/ LmNsaXBz IG9mZmVu IFRFQ0hOTw== IFNoYW1l IHN1c2NlcHRpYmlsaXR5 IHN0dXBpZGl0eQ== IFRyb3V0 IENoYW1wYWduZQ== ZXRoeWxlbmU= IGJlZ3I= X3JlZGlz WWVw IGhhbnM= IERlZmVuZGFudA== IGRhc2hlcw== IHVzZXJUeXBl X2RhdG9z IHVuaWM= a3JpdA== IHJlY2VwdGl2ZQ== IEdyZXQ= KG1i IEluZmx1 w6tu fS8+ aW50ZXJlc3Rpbmc= VVRVUkU= IGltYWdlU2l6ZQ== IGdyZA== IGFic29s L2Zh LmdyYWRpZW50 IHd5c3Q= XX0+Cg== bGVnYXRpb24= Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCg== IEJsZW5kZXI= X18pOw== IHVzZXJFbWFpbA== IFBoYXI= bGVoZW0= KSk/ KFJldHVybg== ZWdyYQ== dXRpdm8= IGFwcGVuZGl4 IFJUVkY= IFNFQUw= IGd5cHN1bQ== X0FyZw== IGlsbHVtaW5hdGU= IFNjaGlmZg== cXVpbA== LkNvbWJvQm94U3R5bGU= J10pKQoK IGFsdGVycw== IHByYWN0aXNl IHVzdA== IERpbWl0 LVJlZ3VsYXI= IGNyZWVwaW5n IENhbmFkaWVucw== IHJldG9ybg== LWNvcm5lcg== ICJdIg== KHJuZw== IGNhbmFkaWFu IHBvc3Rv LmFzc2VydEFsbW9zdEVxdWFs IEJlY2t5 L3Nz IGhvc3RhZ2Vz IGJpb2xvZ2lzdA== IEhvc3BpdGFsaXR5 IEVsaw== IEJhcmFuZw== 66qp YmJiYg== LnRlYWNoZXI= IHRlcm1pbmF0ZXM= IGlzRXJyb3I= IEtlbmRyaWNr ZW5kYXJz IFN1Z2dlc3Rpb25z Q2Vs IFNlcnZpY2VQcm92aWRlcg== IFdpY2hpdGE= XSkpLAo= IGhlYWRsaWdodHM= X3ZlbnRh QU5USQ== IHByb3BpZWRhZA== IGVubGlzdA== CW9yZw== TWVzc2VuZ2Vy LmxhbmQ= IicK YXNwZXJz IHRlcnM= ZmlsdA== IEZ1bmN0b3I= IHNsaW5n X0JMSw== LUV1cm9wZWFu IEFjaGlsbGVz XEVudGl0aWVz LkRpc3BsYXlNZW1iZXI= IHJlZGV2ZWxvcG1lbnQ= CWhlbHA= IFsnLQ== IEp1bGllbg== PUludGVnZXI= LmlzTnVsbE9yRW1wdHk= IFdvVw== UGF5bWVudHM= KGhkcg== IGJhamE= IEpDb21ib0JveA== RmlyZWZveA== IGNvbmdsb21lcg== X2N1c3Q= JCIpCg== IG11dGFudHM= TWFnbg== IE1QSA== e18= X3dhcm5pbmdz IGdhc3Q= THQ= IHRyYWluYWJsZQ== VHJhZGVtYXJr QkFTSA== IEVDUw== UmV0cmlldmU= J08= IGluaXRpYWxpc2Vk IGNoZW1pbg== LlRyYW5zcG9ydA== IFlpbmc= YXNpb25z IG1vYw== X0xPR0dFUg== R0VOQ1k= IEJsb2dnZXI= ICIpIgo= UEVuZA== IGFjY29tcGFnbg== LkNPREU= IG1MaXN0 LWVkdWNhdGVk LC8= IE1lcnJpbGw= L3Blb3BsZQ== LicnJwo= X3RvZG8= IGfDvG4= X0ZVTExTQ1JFRU4= LmNsZWFudXA= VW5tYXJzaGFsbGVy LlN1cHByZXNzTGludA== IG9uc2xhdWdodA== IE1hcnNlaWxsZQ== ZWRpYXRvcg== X0VOVFJJRVM= LGRlZmF1bHQ= bWVsZHVuZw== ZWxmdGg= IEdvdmVybm1lbnRz IHBsZWFz b3R0cw== IHBsdW5kZXI= cmVhZE9ubHk= IGR5c2Z1bmN0aW9uYWw= J05laWxs IHVubG9hZGVk IHNxdWVlemluZw== IGRvb2Q= LmFkZERhdGE= IEFzaQ== TUVT KHNjaGVkdWxl IGFkdmVudHVyZXJz ZXhwZWN0RXhjZXB0aW9u IH19Pns= Q0xT IHJlY2hlcg== IGRlcm5pw6hyZQ== LkRldGFpbHM= IHJhbmRvbU51bWJlcg== IGlhcg== IExhbmdl ZXdl IEVtaWw= IGFkdmVydHM= IGRyYW1hcw== IEtvbW0= ICAJCQkJ X1Rlc3RDYXNl IENsYXJlbmNl 0LXQvdGC0LA= dG91cHBlcg== Lm9uU3VibWl0 Y2Fh X0FMQVJN KikKCg== IOuzgOqyvQ== LlByaXZhdGU= IHNreWxpbmU= UkFJTg== KGN1cmw= b3NpdGU= SWdub3Jpbmc= IHZ6 IHZlZGVyZQ== IE9TWA== YmFuYW5h IG1ldGFt IHRyYW5zbGF0ZVk= IE1jR3I= 4oCZYWNj 5Lul5LiL IHNwaXJpdHVhbGx5 KGVuYWJsZWQ= IHJlc3RvcmVz IGJ0bkNhbmNlbA== dmFuaXNoZWQ= IE51ZXZv U2FsdmFy Y2FmZmU= IG1hc3RlcmluZw== aWRkbGVk LmlzZGlnaXQ= IGdyYXZ5 YWdlZExpc3Q= XFJlc291cmNlcw== IGRvd25mYWxs LlBhc3M= IGFsdGlqZA== IHBpenphcw== IH0pKQ== cGVybXM= aWdodG9u IHJlcGVsbA== ICcnKSw= Lm5vcm1hbGl6ZWQ= IG1hcmNoZXM= CXJlc29sdmU= Q2hpbGRTY3JvbGxWaWV3 IEluc3RpdHV0aW9ucw== QXR0ZW5kYW5jZQ== bHNl ZXJkZW0= LmdldElucHV0 SGFzQmVlbg== YXBldXRpY3M= ICpc IFJpdHVhbA== X0xT IHNwb3RpZnk= IHNww6R0ZXI= IFRodW1ibmFpbA== KGNlcnQ= IGdldFJlc291cmNl X3Bsb3Rz IHN0YWluaW5n YWRqdXN0ZWQ= INep RGl2RWxlbWVudA== IFRUQw== IGFwcm92ZQ== LnZpZXdlcg== fD0= Z2V0U291cmNl 55S16K+d X1RC X2JpbGxpbmc= LUxpZmU= IHBzeWNoZQ== IHRhYlBhZ2U= IEluZmVjdA== eGZmZg== X2hpZA== IGFwb2NhbHlwc2U= IE5GUw== IElURVI= V2luZG93U2l6ZQ== aGVpdHM= IGluY3JlbWVudGVk IEJyYXk= ZW5lZ3Jv IGFsbW9uZHM= WVBSRQ== Tm9ybWFsaXpl 4oCcV2VsbA== IEFwaUNvbnRyb2xsZXI= W1VuaXQ= R2VucmVz IE5leA== IExORw== IGZvcmVnb2luZw== IHRlbmRvbg== IEhw Q291bmNpbA== IFNhdWRpcw== IERlemU= IHNjcmFwZWQ= IGJvdHRsZW5lY2s= IE9ybg== IHVubWFubmVk IGludm9raW5nU3RhdGU= IEV4b2R1cw== X0FUT01JQw== U3ViTWVudQ== X2NvbXByZXNz Iy4= RHJ2 LnB1c2hCdXR0b24= IHN1aXRjYXNl b3NzZWQ= Yml0cmFyeQ== U25pcHBldA== IEVwaWRlbWk= RGlzYWxsb3c= X0NISw== IHZlcmlmaWVz IENhdGFseXN0 4oCUZnJvbQ== IGNvbnRhbWluYW50cw== Sm9obm55 KGZpbA== IGRlcmVu IG91dGNyeQ== IEpvaGFubg== PFRhZw== X3Nhbg== IHN0ZGRldg== IHBhcmFseXplZA== IExleHVz b3NhdGU= IENoYXJzZXQ= IFJlYWx0 PT8iLA== KERlZmF1bHQ= IFRyZWFzdXJlcg== RWluZQ== IHVudHJ1ZQ== IGZpbmFuemk= IGJlaGF2aW91cmFs IG5pcHBsZQ== IFJhZGljYWw= IFBheg== IE1haXNvbg== LWVtcGxveWVk IHdlcmVsZA== IGpvcw== IERpZWQ= ZW50cmVwcmlzZQ== JHJvd3M= IHNwb29m IMK7Lg== IGtleXBvaW50cw== IGN1cGNha2Vz IHt9KTsKCg== Y2hpbmU= 4oCL4oCL LExPQ0FUSU9O IHBseXdvb2Q= IG1hZ2c= IFJhbw== IERQUg== IGVib29rcw== KXNpemU= IHNwZWNpYWxpc2Vk I2Fl IG1pY2hhZWw= IFNURE9VVA== IFBlbGw= QU1FUkE= YW5nZWxv IGluZ2lu IG1BdXRo IGxlZ2FsaXpl IEN1YW5kbw== IGNlcnRv IGxpdHJlcw== IEV4dHJhcw== U0hPUlQ= IHByZW1hdHVyZWx5 IFNlbWFwaG9yZQ== SEVO IGFtcGhpYg== IGjDqQ== RXhpdGluZw== ZXVpbGxleg== IFRNUHJv LnByZWZlcmVuY2Vz LmdldEluZm8= w6l0aWNh IiIiLg== Lm5ld0FycmF5TGlzdA== IGtyb24= IEJMTA== Y2xpbmU= X2di IFRvbWFz cHJvYmFudGU= SVRJT05BTA== 4buRaQ== IExvZA== SXNu LHsK IGtvbW11bg== d2R4 Z2Vub21l 6YCj dG9IYXZlTGVuZ3Ro J0U= IHDDumJsaWNh IERldGVjdGVk IF8KCg== 0YzRjg== K1M= Y2xvdGg= Um90b3I= Lm51bWVybw== X3N0YW5k R0ND 6rU= X3Zw X0ZBUg== QWhlYWQ= e31c KGNvcnJlY3Q= ImNyeXB0bw== bW9kdWxv X1VUSUxT LlZhcg== LW1lbg== IHZlbmlhbQ== IE1jQ29ybQ== Z2V0TG9jYXRpb24= W2NvZGU= JWY= IGRpZmZlcmVk SVBBZGRyZXNz IFN0cmF3YmVycnk= IFNhaGFyYQ== Y3JlYXRlQ2xhc3M= IS8= IG1lbWJlcnNoaXBz IHByb25vdW5jZQ== LkNvbnN0cmFpbnQ= IEVucm9sbG1lbnQ= IHJlbmV3YWJsZXM= Lmd0 aXp6aWU= cnp5 ZXJzZW4= PD0k REVMQVk= IHNpZ25pbg== IFBTVQ== QXBwTmFtZQ== fVwuWw== RUdB IGNpZW50 IFN5bm9wc2lz IGxldHRlclNwYWNpbmc= IGNoaWxkcw== IFNjYWxpbmc= KXByZXBhcmU= IGNvbW11dGVy U2xhc2g= b3VzZXI= IHdhdGVybWFyaw== IFVJU2NyZWVu b2xpYW4= CXZlcnRpY2Vz PkFjdGlvbg== IGFwaA== aGFuZHM= IE9DQw== SFU= IHNlY2x1ZGVk IHZpc2NlcmFs IHZpZGVvZw== IFNhbXVyYWk= IFp1aw== IFdpZG93 YWNjaW5l IGxpbGxl IFJ5ZGVy IFByb2dyYW1tZXI= RXhwb3J0ZXI= IG1vdmltaWVudG8= YXBhcw== IGxlaWRlcg== dWxhcmVz aWVtZQ== LWRlbnNpdHk= ZGVzY2VuZGluZw== KElU IHNjcmFwZXI= IGljZWJlcmc= X0NSSVRJQ0FM IGF1dGU= X1N0eWxl IE1BTA== IEhlY3Rvcg== LUNocmlzdGlhbg== IGRpZmZlcmVudGlhdGVk IEJpc29u ICAgICAgIAk= LnBvcHVsYXRpb24= Umlv LVRy PVZhbHVl IEx1ZnQ= IEdpdWxpYW5p 55yf Q291cG9u IGhhY2llbmRv 44Od cG9uY2U= X3Jlc2lkdWFs IGxp4buHdQ== XHVmZg== 0L7QsdGF0L7QtNC40Lw= IHJlc3BlY3Rv IERlc2lyZWQ= RGF0YVN0cmVhbQ== LnNheA== IG1vcA== IEhhY2tlcg== QU5UQQ== QW5j VmVudGE= IFdvcmRwcmVzcw== CWVmZmVjdA== YWRhcHQ= IEludGVydmlld3M= IGRyYXdiYWNrcw== QUxMRU5H IGfDqW7DqXJhbA== LWJhZGdl UmVzaXN0YW5jZQ== IE9TSQ== dG91cm5hbWVudA== IFJlcHV0YXRpb24= IEVpc2VuaG93ZXI= RmlsZWQ= IGhlYnQ= I1w= Y3JlYXRlUXVlcnlCdWlsZGVy 5pyJ5pWI dmFuY2Vk Lkhhc0tleQ== ZGRl KHN0YXJ0VGltZQ== IEluc3RhbGxlcg== IEltcGw= Y29hY2g= IHByZWFjaGVk IGJyZXdlZA== SW5zdGFsbGVy b2x2YWJsZQ== IGFsYXM= KHNwZWxs IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw== IGRlZmFtYXRpb24= KEFyZw== IHVzZXJEZXRhaWxz IGxpY2Vuc29ycw== IEludmVzdGlnYXRpb25z IGRpbmVy IGZpY3Q= U3RpY2s= TmVpZ2hib3I= dG9UaHJvdw== LXNlY3Rvcg== IHJpc3VsdA== 4oCZOg== Sk5JRW52 eXBpY2Fs ZGVzaWduYXRpb24= KHdw IGNvbmZpcm1QYXNzd29yZA== LWlvcw== ICItIjsK CWFzc2VydE5vdE51bGw= YWRkRXJyb3I= YXZyYXM= Vm0= KGpRdWVyeQ== IFZpY3RpbXM= IHJlbGlhbnQ= IEJsaXR6 IG91dGFnZQ== IGZsdW9yaWRl IFROVA== LkRpc2NsYWltZXI= IFNOTVA= dmFibHk= IHBob3RvbnM= LlJlYWRBc1N0cmluZ0FzeW5j U2NoZWR1bGVk IGpld2lzaA== IEdlb2ZmcmV5 IEdyYW5ueQ== fgo= LW1lc3NhZ2Vz KGdvYWw= IGFyZ2VudA== IFBlc3Q= IGNvbmdyYXR1bGF0ZQ== aW5vc2F1cg== IHdoaXNwZXJz IHNpc3RlbWFz IEbDqQ== L0luZGV4 Lk1JTExJU0VDT05EUw== IGFjaGlldmFibGU= IEJyaXR0YW55 KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKys= IFJldHVyblR5cGU= IGluZml4 LmlzU3VjY2Vzcw== LkNhdGVnb3JpZXM= IG91dGxpZXI= LkFzc2V0 b3RlYw== IHdpemFyZHM= IGJvb3Rsb2FkZXI= X2Jlcg== IHJlaGFiaWxpdA== YW50b3I= IFZpdm8= IEdhcm1pbg== b2JqZWN0SWQ= QFBhdGg= IMO6bmljYQ== IFlvcmtlcnM= R3VpZElk JGVycm9ycw== ICs9Cg== IGF4aW9t IFBTSQ== IFN1Y2M= IFNwb2thbmU= ICciLiRf IExO Lm5ld0xpbmU= IGludGVyc2VjdHM= bGljaGtlaXQ= IElBTQ== LkRyb3BEb3duSXRlbXM= IGNvdXJ0ZW91cw== IFNtaXRoc29uaWFu IEhtbQ== UURlYnVn c3RyYWlnaHQ= X3NvbGQ= QnVsaw== VHJpU3RhdGU= IGFkZEJ1dHRvbg== IEhpcmluZw== VHJhbnNwb3Nl IFVJVGV4dFZpZXc= aXN0ZW5jaWE= L2NwcA== INC/0L7Qu9GP IENvb2tib29r L0FwcGxpY2F0aW9u Z2VuaWM= IFdvb0NvbW1lcmNl LHZlY3Rvcg== IEJpdGU= Lmh3 IGRvY2tpbmc= IFRhbnRyYQ== IFNWQw== IE1hdXJpdA== aWFsaWFz IEF1cmU= IGJvbHM= TE9DSVRZ IFdlc3Ricm9vaw== IEJQTQ== IEZleQ== IFNvdmVyZQ== IHBhbmRh IHF1aXp6ZXM= IGNyZW8= c3BlZWNo L2Rpcg== INC40YHQv9C+0LvRjNC30L7Qsg== IGZvdW5kYXRpb25hbA== LWFwcGVuZA== blRoZQ== IGFwaVVybA== LlhQQVRI IExpbmd1 IEV4aGF1c3Q= UGFraXN0YW4= IG9tYXA= IGZvbnRTdHlsZQ== 0LXRgdGC0Lg= IG1hbnNsYXVnaHRlcg== X0xvbmc= IGNhcnBldHM= Q2hlc3M= ZWxpZ2h0 RHJhd2VyVG9nZ2xl IFBhdHR5 X2Nyb3NzZW50cm9weQ== IHR3ZWFraW5n 0YLRgw== IENBTEM= c2lw IEpNUA== X19fX19fX19fX19fX19fX18KCg== VHJlZVZpZXc= LXdhdmU= IHBhc3R1cmU= ZWxpbWluYXI= IGVyeQ== IHJlc3RsZXNz 6rWs IG1hcmlhZ2U= IEVsbGll Xz0n IHZtaW4= S2ljaw== LnRvb2xib3g= IE1hcmlubw== eXBzeQ== c3RkYXJn cHRyZGlmZg== IFBlYWtz X1ZhbA== IGluZ2VzdA== IGNvbXBz RGViZQ== IERlY2xhcmF0aW9ucw== aXJjb24= PWFsbA== LkRlYnVnZg== UHJlZGljdGlvbg== IGRhdQ== KE1lbWJlcg== IGNoaWVmbHk= L2FuaW1hdGU= LkF0dGFjaA== IGdhc3RyaWM= IFVzZXJEZXRhaWxz w7ZyZW4= a29h LWJvb3Q= IHNwbGljZQ== bGVh b3Rp W29w U3F1YXJlZA== IHNjcm9sbFRv IE5ld2ZvdW5kbGFuZA== CUVSUk9S V2Fs RU1BTEU= R2V0WQ== IGNhYmlucw== IGFic2w= Lm1peGVy IGNkcg== Y29uY2VydA== IFN5bHZpYQ== Qks= 5LuK5bm0 X0NMQU1Q 0YHRgtGA0YPQutGC0L7RgA== L2dhbWVz xZN1cg== PGxvY2F0aW9u IGNsb3NlQnV0dG9u IEhhaXJzdA== 4bqhbw== IGNydW1ibGluZw== IHN1bGZhdGU= IGFsZ3VpZW4= IEpEQkM= IEt2 UElQ X3N1cmY= IHXFvHl0aw== IG1hbm5lZA== IE9jY2FzaW9uYWxseQ== b2Jqcw== TWluaW1hbA== LWRlc3M= IFdBVg== IEVycm9ySGFuZGxlcg== IHNldExvY2F0aW9u IGlldHM= IHN1YnJvdXRpbmU= IHRvbmd1ZXM= X3F1aXo= TWlsbGVy IEJhc2VUeXBl IFZ1ZXg= aXJhdGU= U2VyaW91c2x5 dHlwZWlk IGt1dGpl IHByZXNjcmliaW5n X3N1cnZleQ== LkN0 IGJsaW5kbHk= LmdldExhYmVs LCIpOwo= IHBvdHJ6ZQ== IFN3b3Jkcw== U29ydGFibGU= IEJsYWNrYnVybg== IE1hdGE= IHBvbmRz IHByb3Rlc3RvcnM= IEVuc2VtYmxl OmZvY3Vz IGl0YWxpYW5h IGRvcm1hbnQ= IE5lbA== SU5DTFVERQ== KENvbnY= IGJ1Zmxlbg== IENETg== LnhodG1s SGRy IGNhcmNpbm9tYQ== IFdvcmNlc3Rlcg== bmRs dXNlUmFs dXNlUmFsYXRpdmU= dXNlUmFsYXRpdmVJbWFnZVBhdGg= IHRha2Vhd2F5 ZWxlbWVudEd1aWRJZA== LmxhYmVsWA== W0lE QUxFUg== CXV2 PigpLT4= L2xp K2xlbg== IHByb3BlbA== IGNhYm8= XCIiKTsK IHZvY2F0aW9uYWw= LXBpbGw= Lm5sbQ== IGVyb3RpY2E= b3BvdA== bGFuZHNjYXBl aW5zaw== IHBsYWNlbWVudHM= LnNldEF1dG8= IGhvbWljaWRlcw== X0ZpZWxkT2Zmc2V0VGFibGU= Omw= IGFubm90YXRl LXJpc2U= LGFscGhh IGludGVydmVuaW5n YW1iaQ== Lj0nPA== IHBhcmxlcg== 772l772l IGNvbXBseWluZw== LWhhbmRsZQ== IGludGVycnVwdGlvbnM= cGxlcnM= cm91cHM= X0RlZg== IHBpY2tlclZpZXc= IHBpZXJjZWQ= IGVyYWRpY2F0ZQ== bW9ieA== W3RyYWlu RGVmZXJyZWQ= IHRvdGFsZWQ= Q2hpbGRJbmRleA== IFJlY29tbWVuZGF0aW9ucw== X1dPUkRT IHNpZ25pZnk= IEFlcm8= X2Jvb3RzdHJhcA== X1Vw cHJvZHVjdE5hbWU= LWFueQ== IHBwbA== X1BVVA== IGx5b24= X0lMaXN0 IMOpY3JpdA== KGd1aWQ= IGNvbnRhZ2lvdXM= X1NlbGVjdGlvbg== L2xhbmd1YWdl cXVhbg== IGFjdXB1bmN0dXJl IG9mcmVjZQ== CVJURQ== Lkd1bmE= IHNlbnNlZA== IEtyYWs= IHVubHVja3k= YXZpYw== dGl0bGVMYWJlbA== IGhheXN0YWNr LmJpdG1hcA== IENvdW5zZWxpbmc= UExBVEZPUk0= X1Rvb2w= VGFt V2VyZQ== 0YDQsNC3 X1NQRQ== IG9uQW5pbWF0aW9u PTw/PSQ= IFNsZQ== IEd1aW5uZXNz IHR3ZWFrZWQ= LXByZXNzdXJl X21vbnRocw== KW8= UHJvYmFiaWxpdHk= IENhbXBvcw== LkNPTkZJRw== VmludGFnZQ== PndpbmRvdw== IEZhY3RvcnlCb3Q= cG9zdGdyZXNxbA== IHRhYmxldG9w IENhdGE= aG9j X2FzYw== 4oKs4oCc QmFja1N0YWNr w6lv IFNvdXM= c2V0dGVy JyldKQo= dmVsbGU= IEFsdW1pbml1bQ== eEJB Lm1vbmdv IFZhcmlhdGlvbg== eXR1dA== bmVobWVy 4buDbQ== IGVmZmVjdGVk ICoqLw0K IHJlY291bnRlZA== UHJhY3RpY2U= Q0FOQ0VM Y3puaWU= TGFycnk= IHFh IEh1ZmZtYW4= Z2V0RHJhd2FibGU= IGVuZnJlbnQ= IG9uQ2FuY2VsbGVk IGxlbw== IFhTUw== IEh1cnJpY2FuZXM= IGpvbg== IFRlc3RlZA== IE1vcmFs IGJlZHRpbWU= IEpBRFg= IGVjaGFuZw== IG51ZXN0cmFz UENN KS4u IOyImOyglQ== IGJvcmRlcmxpbmU= IGFzc2lzdGly IEhlbHBz IERpdmU= X3NuZA== d2l0 X2JsZW5k IGlzRmlyc3Q= IGhlYXBx KCc9 IGFzc2VtYmxlcg== IE15c3RpYw== b3JnaA== IGhpam9z X0tIUg== KGRlY29kZWQ= IFFVSQ== INeR IGNvbnRyb2xJZA== U3BhY2Vy LmFnZ3JlZ2F0ZQ== IHNoYWx0 X3RyYXA= IEZhbWlsaWU= zrg= b3J0YQ== LlBvc3RNYXBwaW5n 7LA= ICcuLics esOh L2FybQ== LmdhbGxlcnk= IGltcGVjY2FibGU= IHdpbmRvd0hlaWdodA== c2xhY2s= ZmZi X3Fw bGFkZW4= IFRFUk0= c2V0TGFiZWw= IFNpbmdsZUNoaWxkU2Nyb2xsVmlldw== ecO8aw== IHB1bHVtaQ== LWdhcA== dW5pYWNpZA== CWhvbGRlcg== LmFkZEZpZWxk IHRyaXBsZXM= IEp1ZGdtZW50 IENlbmE= cGFyc2Vycw== LmRyYXdUZXh0 INC60LDQttC0 IGFjY3Q= aGl2ZQ== IG11c2lxdWU= IFlheg== LXBvc3Rz IGZpbHM= IC8vew0K X3B1dHM= IFN0YXR1ZQ== ZGlhbW9uZA== U3RvcmFnZVN5bmM= IHNodXRz IGdldHRpbWVvZmRheQ== IEFBQkI= aWNoZXJu Z2V0TG9jYWxl aW50cmVl IGZydWl0ZnVs QmVhcg== IHBsdW1iZXI= cWlk Q0hJUA== IG1vdGl2YXRpbmc= IGVzY2FsYXRl LmJ1bGs= IFBsYXlncm91bmQ= X21pcnJvcg== IFBlZWw= IGRhbmU= aW52b2ljZXM= SGFzQmVlblNldA== LXZlcnRpY2Fs IEZyYW5jZXNjbw== IEFTQQ== INC60L7Qu9C40YfQtdGB0YLQstC+ w6Bu Rm91cnRo IENyZWF0ZVRhYmxl Y2N0b3I= IGZyYW50aWM= YWFi IEthcmFjaGk= X2ltYWc= IG5hdHV1cg== RWF0 IHN0dW1w IHJvbGxlcnM= IHRyYWl0ZW1lbnQ= INC/0YDQvtC0 IHJlYWxpc3RpY2FsbHk= IGVQdWI= IFphZw== ZGFtbg== IEFubmV4 cGVjaWVz KGV4aXQ= IHNwZWN0YXRvcg== IEJ1bGdhcmlhbg== IG1lZ2V0 IG1hdHVyZXM= IGRldGVjdGlvbnM= IHphaGw= ZW5lZml0 YWtvdg== IGFkdWx0b3M= bWlkZGxld2FyZXM= aXNPYmplY3Q= S2Vubg== IHVuZXRoaWNhbA== c3VibmV0 R3JhcGhRTA== IEdhZWw= LkRyb3BvdXQ= IGJ1cmVhdWNyYXRz IFJlZGVtcHRpb24= LkR0bw== LkV2YWx1YXRl IG9nZ2k= IHRyYXRhbWllbnRv IHJlY2FsbGluZw== aXN0aW5ndWlzaA== L3JlbGVhc2U= X1dST05MWQ== CW1rZGly VHlwZUVudW0= IERBUks= 5rWB IFZhcG9y IGF0b2w= CWluc3Q= LmApOwo= L2Vs IHJlY2xhaW1lZA== w59lcmRlbQ== X2xvc3Q= IEFsYQ== INC+0YjQuNCx IEJhcnRo Q29sb24= b3Bvcg== X3Bhc3N3ZA== X2V4Y2x1ZGU= QVBB Zmxvd2Vycw== IEVib29r IFNUQQ== VU5T X0RJU1BBVENI QUNJw5NO dGVybWluYXRpb24= IG5lc3RsZWQ= YWRyYXRpYw== Um93QW5pbWF0aW9u X2tt IHJvbmQ= XV0+PC8= 5L2Z IGNvc3BsYXk= IG1pbGxlbm5pdW0= X3NlcmlhbGl6ZQ== IHZlcnNjaGllZGVuZW4= YW50dA== IEFtaWQ= Y3JldGlvbg== KT8k IHRvd2luZw== LmZpbA== LkZpbGVXcml0ZXI= IGFpcw== IGVTcG9ydHM= cHJ0 SVBB LkZBTFNF IHByaWNr RW5kaW5n IHByw6lzaWRlbnQ= X2dseXBo IHN1cHBsZW1lbnRlZA== IGNvbnRhcg== Ii4kXw== IEJ1eWVycw== dWph IFRpbWVab25l ZW5uZW50 SW5Qcm9ncmVzcw== IFN1c3RhaW5hYmlsaXR5 IFByb3NwZXI= Q29udG91cnM= IHN0YXJ0bGVk X2xlYXN0 IENvdmVudA== Y2huaXR0 IE1pbGt5 ICItPg== ZXRhaw== IHR1c3Nlbg== LXBheWluZw== X2FjY2Vzc2libGU= QmF0bWFu KGl0cg== SUFMSVpFRA== IFRleHRBcmVh YW5rZQ== X0pVTVA= IGJlaGF2ZWQ= LG9wdGlvbnM= eGl2 LlBMTA== cXg= Lm9uTmV4dA== IHZlcmlmaWVy IGR1xbw= IEZ1a3VzaGltYQ== IENPUlBPUkFUSU9O X3RE IE1lYWRvdw== IHByb3llY3Rvcw== ICgnXA== IEJhcmNsYXlz IGxlZ2FsaXR5 IGhhbWJ1cmdlcg== IGVpbnM= SW5kaWFuYQ== IFRLZXk= Y2xvYWs= PGFsZ29yaXRobQ== IHByZWFjaGVy e2xuZw== LmFydGljbGVz c2V0SW1hZ2U= UmVuYW1l IGJsb3Nzb20= IEJsb3Nz IHV1cg== IGRhZHM= IFRpdGFuaWM= ICAgICAgICANCg0K IG9yZGluYW5jZXM= IG3DpG5u IGVyaw== IGRpc3RpbGxlZA== IMOkbA== IHJ1cHR1cmU= IENhbWVyYXM= w7luZw== IGhhaXJzdHlsZXM= IGVtYnJ5b3M= 4oCdCg== Lk5hdg== IHN0cm0= CXVzYWdl LkFJ IFRPVUNI IElsbGVnYWxBY2Nlc3NFeGNlcHRpb24= 6rKw a29uZWtzaQ== ISIp IGVzY2Fw dWRpb3M= c3RhcnR0aW1l IG1laW5lbQ== IFNwaXJhbA== IEVyZWN0aWxl aXZhbGVuY2U= IGl0ZW1UeXBl IGFiYWl4bw== VmVydHM= dGFraW5n cHN0 IE9zY2Fycw== IER4 ZXR0eQ== TUFM IE5lZWRsZQ== IENPTVBVVEVS 5Lu75Yqh IG5ld1g= ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAK cGxldmVs QUNFTUVOVA== IEpvaGFu UG9pbnRG IHJlc3Ryb29t dmVybw== IGVsxZE= cHJvZHVr IFlFQVJT CWFjdHVhbA== VVBMRQ== Q29udmVydGlibGU= IHBvcnJm SW5qZWN0ZWQ= X2JvdGg= L0dhdGU= Y2FsY3VsYXRvcg== ZW1haWxlcg== LlBvZA== IFpvdA== X3NtYXJ0 YmFzaXM= PENvbG9y IGNyYXZpbmdz RHJpdmVycw== KGNvcw== ZGF0YWJsZQ== LW1ldGFs IFBj LmNvcHlPZg== IG9yaWVudGF0aW9ucw== CWFzdA== IFpvbWJpZXM= IGJvbWJlZA== SG9zdG5hbWU= X3JhaXNlcw== bWVuc2FnZW0= IGNvcnRpc29s IEZpb25h bGljb3M= aGVhdnk= IOqwgOyguA== b21lbmNs IGN1bHR1cmVk IGFydGlrZWw= xaHDrQ== amRr IHZhbmRhbGlzbQ== IH1dKTsK U3RyYWlnaHQ= IHJlaGVhcnNhbA== RWRpdGlvbg== IEluc3Bpcg== CXdj IGZvcm11bGF0ZQ== YW56ZWlnZW4= IHBhdGhvbG9naWNhbA== IGtlbm5lbmxlcm5lbg== Pnsi IGRpY2Vk IGJyYWNlbGV0cw== CQkgICAgCg== Kj4q L3RhcmdldA== LkFnZW50 Lm1hZ2lj IGlkZW9sb2dpZXM= VFJBQ0s= X2luZGl2aWR1YWw= PGRlY2x0eXBl IFJFQ0VJVkU= L2Jvb3Q= OkB7 UU0= IE1hbmRhbA== TkFNRVNQQUNF IHRlcmNlcg== IFJlZ2dpZQ== IE5pY2hvbHNvbg== IEZ1bHRvbg== c3Rha2luZw== IHJlc29uYXRl bHBhcnI= IGNvbnZlcnRlcnM= ICgiLw== IE1hcmxpbnM= SW5mb3JtZQ== Jz0+Wyc= IHJvYmVydA== IEhJTQ== d2Vicw== LnRyYWlsaW5nQW5jaG9y LmFzY2lp IE1hc2M= IHRlY2hubw== ZXR4dA== CSAgICAgICAgCg== zrHOuQ== KFNlcQ== ID8+Ojwv IFBlYg== W3NlbGVjdGVk SkVDVEVE Q2FzdEV4Y2VwdGlvbg== P2Y= IGV5ZXdpdG5lc3M= IG1lbm8= IERhbWllbg== X0lFbnVtZXJhdG9y IC4uLi4uLi4uLi4uLi4uLi4= LlNFTEVDVA== IGNyYXk= X3BhcGVy LlJvbGxiYWNr SURFT1M= cnBhcnI= aW5lYXI= X1JlbA== IFdpbGRl IFdvbmRlcmxhbmQ= IFNodWZmbGU= IHN0cmlrZW91dHM= c2lnbW9pZA== ISgiew== ZXBhbQ== IHJpY2huZXNz IGVuZGVhdm91cg== bWVudUl0ZW0= INCf0L7Qu9GD0Yc= IGZydXN0cmF0aW9ucw== X3N1YnNjcmliZQ== IGJvb3pl IExpY2h0 IHBlYXNhbnQ= IHdlaWdodGluZw== IOW/ QWN0aW9uQ29kZQ== LnRyYWNrcw== IMOY IG1pbGxpb25haXJl KHVy J10pCgoK ICIuJF8= X0VERUZBVUxU IGN1cmxz X0NvbUNhbGxhYmxlV3JhcHBlcg== LnNldFZpZXdwb3J0 IGRlbmQ= IGF1dG91cg== IEZvdXJpZXI= IGJvaWxz IEpQRw== IGRpZ3M= IGNvbXBsYWlucw== LWxpbmVk IEJsYWRlcw== X2RpY3Rz IElwcw== cmVmZXJlcg== IGFueWhvdw== YW50YXI= LXNoZWV0 CXBsYXk= aWVyY2U= Lk1lc3NhZ2luZw== 6KeB CXByb2dyZXNz LkRhdGFWaXN1YWxpemF0aW9u IFN0b3Bz SW50ZXJ2YWxTaW5jZQ== QGJyaWVm LndpbmQ= IGdldElucHV0 IEtB IFJFU1BPTlM= IHRhcmc= dmlzdWFsaXphdGlvbg== IEVzcGHDsQ== bmllcg== IERvdmU= X2lzcg== IEFQUExZ YmVkbw== W117Cg== IGV2YWN1YXRl IG1pY3Jvc2NvcGlj 5q2j56Gu ZXJvdA== LW9wZXJhdGl2ZQ== aWt1dA== IGRibA== IGFqb3V0 Lml4 ICAgICAgICAKICAgIAo= dGVzdGU= bml2ZWw= LnNuYXA= dXR6dA== LmlzQWRtaW4= KElD IG9iZW4= IEVmZmljaWVudA== RERldmljZQ== IGluZGVtbg== IGZyb3pl LHJw IGRlY2VtYmVy 57uZ IG1lbG9kaWVz IEVUQQ== 44GT44KT44Gr44Gh44Gv IHF1YWxjaGU= IHNldERlZmF1bHRDbG9zZU9wZXJhdGlvbg== T1JJQQ== IHphZw== IGFsbG93YW5jZXM= L3Bo LVRva2Vu IFBvdQ== IG1pbmlzdHJpZXM= LkxPR0lO IHNlYXJjaFRlcm0= IGh1cnJpY2FuZXM= IEZsb3Vy IFNVUw== VGhlbWVz cmVlY2U= IGVudHJldg== RFhWRUNUT1I= IEJyZW5kYQ== RXJyb3JNc2c= OildOwo= IGRvbWluYQ== IEludmlzaWJsZQ== PD4oIg== cHV0Yw== SEFWRQ== RXZhbHVhdG9y bWF0Y2hpbmc= LW5hbWVz IGxhaA== X1lVVg== 5pyN5Yqh5Zmo LldSSVRF KTpc LWRlZmluaXRpb24= IGNoaW1uZXk= LmNscw== a25vd2xlZGdl IEFsZXhhbmRyZQ== IGNvbGVn b8WbY2k= LkNobw== IHNvZnRlbmVk IHJvdGF0ZXM= LXN0YXRlcw== 6rc= dmlvbGVudA== IDopCg== IGFjY2nDs24= bmlrYQ== IExhdHRlcg== X0Zsb2F0 IGVncmVnaW91cw== b2RpYWw= U3lub3BzaXM= KHhp IH0sew== Y3h4 RW1tYQ== IENvbmN1cnJlbnRIYXNoTWFw X0NhbWVyYQ== IHBlYW51dHM= 44Kz44Oh44Oz44OI X2JlZA== IGVycm9yQ2FsbGJhY2s= IFBhcHVh LFRydWU= tpo= IHN0YWRpdW1z IGtub2Jz aWZpY2FjaW9uZXM= IHB1cnBvc2VseQ== IFB1cmVDb21wb25lbnQ= INC60LvQuA== LlRyYWNr c3Nj KEpvYg== KEh0dHBDb250ZXh0 IGNob2lzaXI= IOy7 IGF1c3A= dXBwZW4= QWR2ZW50dXJl IEZMQUM= IGFwcGVsbGFudA== ICgoIg== z4c= IHRyaWY= IGR1cmF0aW9ucw== IE5HWA== LmJw YWN0aW9uRGF0ZQ== Lmluc3RhbnQ= LVJlcXVlc3RlZA== JyYm INGH0LXRgA== PWJvb2w= IGxvcmRz bGljaW5n IG1hcmlu IGJsaW5kZWQ= L2xheW91dHM= ZmVpdG8= aXp6bGluZw== RXZ0 IGJ1bGxpc2g= ZXhjbHVzaXZl 4oCZZXM= LmdldE93blByb3BlcnR5RGVzY3JpcHRvcg== IGJhcHRpemVk INGB0LvRg9GH IENlY2ls LmVmZmVjdHM= IGNyeXB0b2dyYXBoaWM= IFZpbGxl dWZ0 IEFudGhlbQ== IHNlZWtlcg== IG5pY2tuYW1lZA== IGNhbXBncm91bmQ= IGFjdGlvbkJhcg== IEVwaXNvZGVz IC0tLS0tLS0tCg== QnVpbGRlckZhY3Rvcnk= X1VOU1VQUE9SVEVE VklMTEU= LlJlZ2lzdHJ5 VG9uaWdodA== IG1ha3M= IGFkZG9ucw== IERlY3J5cHQ= LnNraWxscw== KGZo IGp1Z2c= IENvdXBsZXM= IEFtaXI= ID09PT09PT09PT0= IGVuZGVyZWNv LlN0cmluZ3M= IGhhcm1pbmc= IGJ1c3RsaW5n KGZpcnN0TmFtZQ== LnNwYXJzZQ== SVRP ICAgICAgICAgICAgICANCg== 5p2l5rqQ b2RlZ2E= YW5hZ2Fu LkhhbmRsZXJGdW5j IHRpbmRlcg== ICMo IGltYWdpbmFibGU= IGF1bg== UHJlc2VuY2U= UGFja2FnZU1hbmFnZXI= IGx1ZGljcm91cw== acOobWU= IGdldE9iamVjdA== Ym94aW5n IHNxdWlk w6p0ZXM= RGFlbW9u X2xpa2Vz hrU= Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Lnd3dw== c3NlbA== ZXRlY3Rpb25z ZGFl L2Rvd25sb2Fkcw== IENsYXNzaWZpZXI= X1NVQkpFQ1Q= emVnbw== X0dST1VQUw== YWN0aWNlcw== X2xpdGU= IGRhbm1hcms= L2Js YXB5cnVz VElNRVI= IFNjcmlwdHVyZXM= 0Y/Rgg== c3Bh Ikc= IHBlbmV0cmF0aW5n IGNvbmZvcm1pdHk= bmV3bGluZQ== IGx5bg== IE1NUA== IElOVEVSRkFDRQ== IEFjdGlvblR5cGVz LmNyaXRlcmlh 4buRbmc= IHJlc3RpdHV0aW9u CUZPUg== PHBhdGg= PT8iOwo= KHBlcmNlbnQ= bmRv IEFDTQ== CWN0 QGE= IHTDug== IHNwb3R0aW5n w7xybg== IEdFUg== LndyaXRlVmFsdWU= X2Jsb2NrZWQ= WW1k IGluZWZm IFJhZGlhdGlvbg== IE9pbGVycw== QmVlcg== cm90cw== IFRyb3Q= cm5h cG9ydGVy ZW5lcnk= IHBvcm5vZmlsbQ== 65SU X2Nr LkNvbXB1dGU= IFtdCgoK Z2l1bQ== IFRFTEU= IEluc3RhbmNlcw== Kkk= IHdpcmVUeXBl b25pdW0= ZXNoaXJl IHB1dGNoYXI= IGF3YWtlbmVk LmRlZ3JlZQ== aGVpdGVu LWF3YWl0ZWQ= IG5ldXJvdHJhbnM= LXRlc3RpZA== CgogICAgCg== IOe7kw== IGtpbm8= X0RBWVM= IFZhbGVyaWU= bnRpdHk= QEJlYW4= ZXRDb2Rl PFJlbmRlcmVy IiIK IGJlcm4= IHRvdGFsaXRhcmlhbg== Y2xpbmlj IE3DvG5jaGVu bm9pbnNwZWN0aW9u aXNjZQ== X3R1cGxlcw== LlBvaW50cw== IHBhc3RvcmFs SmFr a2VuaW5n L2NvbHVtbg== LXByb2R1Y2luZw== IGFib2xpc2g= ZmVhcw== cmVzcG9uc2VEYXRh cmVkaXJlY3RUb1JvdXRl IG9ic2VydmF0aW9uYWw= cE5leHQ= enRl Q2hvaWNlcw== CUxDRA== JlM= IGJpbGxpb25haXJlcw== X0VPRg== IGNvaG9ydHM= YW5rZW4= LmNvbWJpbmU= KE9wdGlvbmFs X0NPTlNPTEU= QWN0aXZpdHlJbmRpY2F0b3JWaWV3 IHBoYXJtYWNpc3Q= IERvdWdo IE9wZXJhdGlvbmFs 57I= IGphbXM= U29sbw== CWR1cmF0aW9u LnJt IFRvbmk= LmxlYXZl IHB1ZWRh IEZheQ== RGV0YWNo Lk1heGltaXplQm94 IG1hcnR5cg== IGhhemU= L25l IG1hbW1h c2VsZWN0b3JNZXRob2Q= IHBpbGdyaW1hZ2U= IEFzcGhhbHQ= IHZhbGlkbw== RW5kRWxlbWVudA== IGxhcHNl ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K aWxvcw== ZXJuYWxz Q29ubmVjdGlvbkZhY3Rvcnk= IExvdmluZw== LkNvbXBpbGU= IGNvcms= IEJ5ZQ== aWJOYW1lT3JOaWw= ZXN0YXI= XEdlbmVyYXRlZFZhbHVl KExM IFJhaXNlUHJvcGVydHlDaGFuZ2Vk IElyYW5pYW5z IGdldFByaWNl bWFyaWVz anVtYm90cm9u IFJlYmVscw== RElGRg== IE1vag== b3J0aWM= CWNvbnN0ZXhwcg== bnRw IG1hZ2ljaWFu IHBhdHJpb3Rpc20= LmNl LlNpbXBsZUJ1dHRvbg== IFBSSVY= aGlzdG9pcmU= aGlnaGVy cmVmaXhlcg== Q0pL IE9zd2FsZA== LnNwcml0ZXM= Lkls IGFyY2FuZQ== IENodW4= X09m IGV2ZXJ5dGltZQ== 0Y7RiQ== IGxldHJhcw== aWxhbg== YmFydQ== LWJvdA== IFNpZ25pZmljYW50 iOyKteuLiOuLpA== 4oCM LWlzc3Vl IGluc2FuZWx5 YXRlZ2lj X1ZF OkNHUG9pbnQ= TWFya3M= LnByb2JsZW0= J10uJy8= IHJlZHVuZGFuY3k= IGRlY3J5cHRpb24= SHVuZw== LXZhbGlkYXRl IEFuZ2Vsbw== Sk0= IHBvcG92ZXI= ZGViaXQ= Q29tcHV0ZWRTdHlsZQ== KV9f KHNpbg== ICcpLA== KGRlZnZhcg== w7R0ZQ== VGhhbk9yRXF1YWxUbw== Lnpo KE5vdGU= aWJCdW5kbGVPck5pbA== IFNvbmlh eW1vdXM= 44CCPA== IGZpbG15 IGVhcnRobHk= IExlYXJuZWQ= W3NlY3Rpb24= Lmpzb3Vw c3RydXA= IFBhdHJvbg== ICkq c2V0Rm9udA== IGhlZw== IGRlbHRhWQ== X1NDUg== LmN1dA== IHZiQ3JMZg== Lk9iamVjdE1hcHBlcg== IHLDqXBvbnNl WXU= KCl7fQoK LXBhcmFtZXRlcg== xLFzxLE= aWF6emE= SVpFUw== X1NVUFBMWQ== a2l0cw== IHJlaW5z KGRvY3M= JSE= IHN5c3RlbWN0bA== IFBzcg== IFdlcms= UGhpbGFkZWxwaGlh QlJFQUs= LmFwcGVuZFRv KGxvbg== QWJy L3JlbmRlcmVy IEVsZWFub3I= Q0VSVA== UGFyYW1ldGVyVmFsdWU= JGdldA== IOCy IEpM IGlnbml0ZQ== IGLhuqFu IENhdWw= IGhhc3Rl IGRvbWluZ28= VGVzbGE= L2NvbmZpZ3VyYXRpb24= KGV4cGVjdA== dXNyYQ== IHByZWZlY3Q= IGZyb2dz IGFzc2lnbmFibGU= IGludGVydmVuZWQ= LmNob2ljZXM= VUlTdG9yeWJvYXJkU2VndWU= IGLDqQ== IEzDtnM= YWxwaGFiZXQ= IHByZWFtYmxl ZGJh IGVtaXR0aW5n Lm1vcmU= IEJhc2Vs KGRhdGVUaW1l KCl9KTsK IG5vZGVMaXN0 IEZQR0E= d2Vs IGxvZGFzaA== X2F1dGhlbnRpY2F0aW9u w7NyaW8= KHJ1bnRpbWU= X1NDRU5F IGN1ZmZz IEFkcmVzc2U= Ojw/ X2NtZHM= VMOqbg== IGVqZWN0 CUVSUg== PE8= IEtyYW1lcg== 4oCmCg== c29tZW9uZQ== IENQTA== 77yN bG9ja2luZw== LkZvb3Rlcg== IGFsbQ== IEFkb2xm KS4v IE1hdHRoaWFz ICIsIgo= ZW51aXR5 IExvdmVy IGFsaW1lbnRvcw== cGxldHM= w6R0emU= KHJlY3Y= dXJhYQ== U1RET1VU YW50eg== LkZsb2F0VGVuc29y IFJhZQ== cGln IHRlcnVn IHRoZW9sb2c= IHRheGlz Y29tcG9zaXRl c2hlcg== bGVEYg== IFJhaG1lbg== IDst SW5kZW50ZWQ= IHRyb2xsaW5n RVJJQ0FO Z2V0RW1haWw= X0VOQ09ERQ== Z2V0Q2VsbA== IFdyYXRo KHN1aXRl bm90RW1wdHk= LmdldFJpZ2h0 IGJyZWF0aGFibGU= 44Gf44Gg IHNldFRpbWU= J29wdGlvbnM= IHBheWxvYWRz YXVnYQ== ZWRt KHdlYXRoZXI= CXNlbQ== KGZyb250 IHBheW91dHM= LnNldFRleHR1cmU= LFtdLA== IFBhY2tz IGNhenpv V2l0aFBhdGg= UHJvZw== bW1hcw== IGtvaw== LkNzcw== IGRlbGE= QXdhcmQ= w7xsdA== c291cA== KFsoJw== b2xsaXBvcA== LFNMT1Q= Y2hpYQ== IGJsYW5jbw== T0xVVEU= LXBsYW5l LExpc3Q= eGluZw== SU1BVEU= LW1vcnQ= IGdyYXZpZA== IEhhbmdpbmc= IHNjb2Zm Lml0ZW1JZA== VEhFTg== aW5mZXI= IG1pc3BsYWNlZA== CU1vbm8= d2F5bmU= IGVkZ2Vk X25pY2s= IE1BUlQ= CXN0YXRlbWVudA== IEV2ZW50QnVz PkFib3V0 IGJ1cmdlb25pbmc= IGNpY2xv TE9PUA== IGRlZnk= IGVsZW1lbnRUeXBl IGNvbnNlcnZhdGlzbQ== V2ViSG9zdA== LkRpc2FibGVk IGNsYXA= IEFsZWtz cm9yaW5n aXNzaW9uYWw= LUJvbGQ= SVJUSA== Lml0ZW1WaWV3 cWluZw== P2tleQ== IFZlbm9t IGFudGlk IEZvcm1hdHRpbmc= UVB1c2hCdXR0b24= IEFzc2VtYmx5VGl0bGU= X3Jlc2VydmU= LkRpcmVjdA== QW5pbWU= IG1hdGVyaWFsbHk= IGFkanVuY3Q= LnNldFRvb2xUaXBUZXh0 bGFzc2lhbg== KG5y IG5pbmfDum4= IG1pc3VuZGVyc3RhbmQ= IEFwcGx5aW5n X2NvbXBhdA== IG1peGlu IGplb3BhcmR5 0YvQstCw0LXQvA== IGNvY2luYQ== X1dST05H QVRBUg== S0Q= IGNhdGVnb3J5TmFtZQ== SHR0cENvbnRleHQ= IGJ1YmI= IGFua2xlcw== b3dlcmluZw== RnJhbWV3b3Jrcw== IHNlZ3VuZG9z LkFzc2VtYmx5 X0VudGl0eQ== SFE= IGZvdXJz IGZvcmZlaXR1cmU= dmxhbg== LWRvbWluYXRlZA== LWF3YXk= SUNJRU5U LlJlYWRCeXRl YW1heA== Lj0iPA== X3Nwcml0ZXM= IFJlbWFpbmluZw== TE9PRA== X3JlcXVpcmVtZW50cw== J2FydGljbGU= IFBvbXBlbw== IHTDqXI= IERyb3Bz SG9tZUFz SG9tZUFzVXA= w7ph Lm5hc2E= X2Jpbw== IFlvc2hp RWxlY3Ryb25pYw== IGpvc2U= IGludGVsaWc= ID8+Pjw/ PnshIQ== X3Byb3Y= PURC PCEtLQo= LWZsb2F0aW5n eXVt LkpNZW51SXRlbQ== IE5hdGlvbndpZGU= SW1wb3NzaWJsZQ== 6K+m5oOF SmVycnk= IGRlc2Nhcmdhcg== 7JW8 RGVjcnlwdA== IHRlbXBlcmVk IGVrcw== w61jaWE= Lmxhcmdl IHVuZm9sZHM= IGh2ZXI= IEFWTA== LnR0 4oKA PSUu IHRvcHBpbmdz IHN0b3V0 IHNlbWluYWw= eGVz IE9VVEVS YWRybw== IHlvaw== IERlcmU= CWZyZW9wZW4= X2xuZw== Q2h1bmtz LmdldE9yRWxzZQ== KGVsbQ== ICgpKTsKCg== Q2VsZWJy X2NhcGFiaWxpdHk= IHNvY2llZGFk IGludGltaWRhdGU= IEJsYXplcnM= aWd0aA== ZW5kY29kZQ== VUlMREVS IEhhbm5pdHk= IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K INC40YHQv9C+0LvRjNC3 IFRvb2s= IE1vdmVk IHByb250bw== IE1hcnRpbnM= RGF0YUV4Y2hhbmdl LlBvb2w= ZXVz IGpvYklk IEF4ZXM= IGhhbXN0cmluZw== LnJtaQ== RGF0YVRhc2s= IE1hZ2ljTW9jaw== IEdBUw== IE5hdw== IHNuZWw= X3NjZW5hcmlv IGVtYWlsQWRkcmVzcw== IE11c3M= IHBob2VuaXg= IGRlbnNpdGllcw== IE1hY09T cmVtYQ== IHRlc3RlcnM= KT87Cgo= IHB1cHM= bGFwcw== ZGRi L1BlYWs= IGJhY2tzdGFnZQ== IGJhY2tCdXR0b24= KG5hdg== eEFF c3RyY3B5 aWNodGV0 IFJpZg== 4LiB4Lij IGhvbm91cmVk IGdyYXBwbGluZw== VmVydGV4QnVmZmVy LmdldEFjY291bnQ= LU5ldw== IG9wcHJlc3M= IHV0dGVyZWQ= IFVTQUdF X0xFQVZF X2NvbGxlY3Rpb25z X1V0aWw= KCIiKSk7Cg== IHF1aWV0ZXI= YCksCg== IHR5cGVJZA== IHNlcmlm c3RhbGs= IHByaW1hcnlTdGFnZQ== eEVB Ok5TTGF5b3V0 X1JC X0FQUFM= U0tV KnNjYWxl IENvdWdhcg== CVJFVFVSTg== aWZpw6k= dGltaW5n IGlkb2xz 656Y7Iqk 4oCUaWY= KGZvcm1hdHRlcg== IGFtYWxn c2V0V2lkdGg= LG1pZA== b3JlYWw= LlJvbGVz IGRldmVs IGdldEluZGV4 IHN0b29scw== IHNub3d5 IGdyYW5kaQ== 0Y/QtdC8 aWd1aWVudGU= 0LrQvtCy IEN1dHRlcg== cm9zY29wZQ== YWlyYQ== 0YPRgNGB IHRhYmVs IGRlZmlhbmNl LlRvQm9vbGVhbg== IHBlcmc= LWNvbW11bml0eQ== IHB1cnN1aXRz KG1ldHJpY3M= TXVzbGlt IFJpeWFkaA== IOKCuQ== LldlYkVsZW1lbnQ= IEhhcmRlbg== IENvcnJ1cHRpb24= IEFl IFRhbm5lcg== IGluZGVi IENoYXJnaW5n X1BST0Q= IOKTmA== IGNlbnRlclg= dHlwaW5n IHV4 IFRvZQ== CWxvb3A= Zmxv UmVnaW9uYWw= X2Fh IHZpZXdwb2ludHM= PnRoaXM= LXJlc291cmNlcw== IEltYW0= IFNoaXY= IGFuZHJh UkVRVUlSRUQ= IHNlZWRlZA== dW1vbnQ= IHRvYXN0ZXI= IGhvbWVzY2hvb2w= 24zYsQ== X2V4dHJhY3Rvcg== bW9kZXM= IE11bmRv X2ZpcmVzdG9yZQ== IHB1bmlzaG1lbnRz IGJvcmVkb20= anVyaWVz LlNhZmU= YW1iaXF1ZQ== IGFkdmVyc2l0eQ== VUxFUg== IGFuYWxzZXg= bW9ycGg= IE9tbg== KCkiPgo= IEdJVkVO U3o= IG5vdW5z IHF1YW0= IFdpa2ltZWRpYQ== IGR6aWV3Y3o= LmNvbW11bmlj Q291cmllcg== Qm9uZA== LmNvbW11bmljYXRpb24= LlByZWZlcmVuY2U= c2xpZGVEb3du L2djYw== IHZpYmVz QVBJVmlldw== IE92ZXJzaWdodA== X3Zr IGVtcHJlcw== IGFyaXNlbg== ICovKQ== KCcoJw== IGJ0dw== IGNvbmV4acOzbg== IFV6YmVr IOyEnA== IGltYWdlVVJM 44Kq c3RvcHBlZA== IFdvdWxkbg== IENoZXc= Z3LDqQ== IHRydXRoZnVs IFRyYW5zcGFyZW50 KHNlcnY= IE1jS2F5 PXJlYWQ= IFNhbw== CUdyaWQ= IGluZHVjZXM= Lmxpc3RGaWxlcw== IGNhcnJlcmE= IGljb25OYW1l IENhcmx0b24= LkV2ZW50VHlwZQ== IGRyYXBlZA== X1NBTVBMRVM= KGVzdA== IFJ1aXo= IGNhcHRhaW5z IG1hZmlh IFJhcGhhZWw= IEdBUA== aW1wYW4= Y29taWM= IG1hbnRlbg== JEw= IGFmdGVybWFya2V0 15c= IENm CXRpbGU= QXBwU3RhdGU= IHdob2xlc2FsZXJz bG93ZXN0 RGVtb2NyYXRpYw== IHBvd2VyaW5n YXBvdA== IENvcnRleA== KHNpbmdsZQ== b3BoeXNpY2Fs LnV0Zg== 77yf44CN IHRhcmVh RXF1aXA= IGtsaWs= IHJ1YQ== IGFWYWx1ZQ== IE1pbmVy IFZlZw== YW55bA== Q293 QGM= X0xPQURFRA== IEFITA== d2FrZQ== LkxvZ0luZm9ybWF0aW9u KGNhdGVnb3JpZXM= IFFVRVNUSU9O LnVtbA== IENyZWF0ZU1hcA== bWVlcg== IHJlbmNvbnRyZXI= X3N1 IGF0bGVhc3Q= KFByb3BlcnR5TmFtZQ== IFlhbw== IEhhdXB0 QmxvY2tTaXpl IFNBQw== IExlZ3M= Yml0ZQ== IGxvZ2FyaXRo IElNZXNzYWdl QmFja2Ryb3A= IGdkaw== 7Jy866m0 LmV4Y2x1ZGU= QURPUw== LXNoaWZ0 YXRobGV0ZQ== X2NvbWJpbmVk IHJlYmF0ZQ== IHBhcmQ= IGltcGVkYW5jZQ== cmVhdQ== Xw0KDQo= IGRhZ2Vu a2VsYXM= IGluZ3Jlc2Fy IEJSQU5E Lm1rZGlycw== IHJlaWduaW5n VGFsa2luZw== LyoqCgo= X1JFU09VUkNFUw== IFBST0dNRU0= IGRhdGFTaXpl 44Og ZGVueQ== SVJT IHRlbGV2aXM= PV8oJw== ZWdpcw== PD8s IHVwc2V0dGluZw== IHNhdWNlcw== IHB1ZXJ0bw== IFZvZ3Vl aWRpbmU= IEdyZWVud29vZA== emlvbg== L3F0 5bGA Lmxhbmd1YWdlcw== IFBsYXlib3k= b25uZW1lbnQ= IFBvc2l0aW9uZWQ= IOS4uw== IEZyaXR6 SW5pdGlhbGx5 bm9kZVZhbHVl X1RSSUFOR0xFUw== LWJhY2tlbmQ= dG9JU09TdHJpbmc= IEdvdmVybm9ycw== WUxPTg== Lk9SREVS RE9J IENoZXZyb24= IGRlY2tpbmc= IFNoYXJpYQ== b3RoZXJtYWw= RW1wdHlFbnRyaWVz KEluaXRpYWxpemVk ZG9yZg== Lmx1 KFJvb20= LlllbGxvdw== IEFicmFt X2xt INC90LDQvw== IFRIQU4= fi1+LX4tfi0= Lk92ZXJyaWRl IFNWTQ== IFN1c3BlbnNpb24= IGFic29yYnM= X3RyYWZmaWM= ICI+Ig== LmZpdHM= IHJlaW5mb3JjaW5n IG1veWVu ZXJlcg== IFJvc2Vuc3RlaW4= IFdlc3Rvbg== IGNvbmZpbmVz T0xB b3JyYWluZQ== X0dSUA== IHN0cmFwcGVk IG1pbmdsZQ== CVZr IG5vc3RyYQ== IGFjdHJlc3Nlcw== IFNhbW15 bGlnbmU= SUdITElHSFQ= IHN0dXA= aWN0b3J5 IGNvbnZpY3Q= IHN1cHA= cGVvbg== dnJpZXI= IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM= IHRyb3R6 IG1lbHRkb3du YXJrZXJz LlNlbGVjdENvbW1hbmQ= IExpYWJpbGl0eQ== IEJlY2FtZQ== IGx1Y2tpbHk= INC/0L7RgA== IHJlYXNzdXJl IENvbnRyYXN0 IEF1ZHJleQ== IENvbnN1bHRhbnRz IFF1ZW50aW4= LU93bmVk b2NyaW4= X1NUUklQ IHJldGFsaQ== IHJhbGx5aW5n IFJlcXVlc3RDb250ZXh0 IG1hc3NhYw== CWdy TEVF IGNhxYI= IEpvYW5uYQ== 4butYQ== aGho IHNxbFNlc3Npb24= xLFrbA== Q29tcG9zZXI= IGN1cnJlbnRQbGF5ZXI= YWdpbmk= IEJhcmJhcg== IEhlbGxvV29ybGQ= bG9vbWJlcmc= LkhlcmU= IGRpc2d1c3RlZA== CQkJCQkJICAgIA== b2t1cw== VmV0ZXI= IGNob3Bz IEZPUldBUkQ= IEVpZw== IFBhcnRpYWxWaWV3 IGltcG9zcw== IGNvbnNlcXVlbnRpYWw= IFsnIw== CWxvZ2dpbmc= IEVsaXM= cHJvY3M= LDwv X3BpbnM= XERvY3RyaW5l VXZz IEdJVA== IHRhaA== KHJ1bGVz Y3JlYXRlRnJvbQ== ICctJykK aGFuZGxpbmc= ZXh0ZXJuYWxBY3Rpb25Db2Rl Uk9EVUNUSU9O Rm9yUmVzb3VyY2U= c2J1cmc= PFRleHRWaWV3 dGhpbmthYmxl YW5nbGluZw== ICJ9XA== UFJT QXBwcm92YWw= IGtsaWVudA== bm91bg== IERpYW1vbmRz SEc= IFRyaWJhbA== LnB4 IHByb3BOYW1l IGhlbHk= 0LvQuNGH IEJvdXRpcXVl Iik7fQo= L2hvc3Q= IHN0YXR1c0Jhcg== PkRhdGE= IGRpc2NvbnRlbnQ= IGZyYWls LmVsZW1lbnRBdA== IGVtYW5j CWZ1bg== YXR0bGVz IHByb3B1bHNpb24= IGludGVyY2hhbmdlYWJsZQ== IFRhbWJpw6lu IHZlbmVy X0xPV0VS IHBkbw== IGRldGVyZ2VudA== IHRhdmVybg== VmVudWU= Lmphc3Blcg== eXR0 IEppaGFk 4oCZw6A= IG1lZGlhUGxheWVy P3A= cGNm YW5kb25lZA== IHJlY2ViZXI= T1RQ KGlPUw== KCckew== UHRz IG1hbmFnZXJpYWw= IFR1ZA== IFdFTEw= b3pl IEFudG9pbmU= IFxcCg== IFZlY3Q= IFdpbWJsZWRvbg== aXNtZXQ= IGJvdGhlcmluZw== aW9zaXM= Z2V0TWV0aG9k IGlucHV0RGF0YQ== IEJpbmRlcg== IGRjdA== w6Fsbg== X0JPTEQ= IEp1Z2VuZA== IEJlZ2lubmVycw== aW9tcw== IHJlbGVudGxlc3NseQ== IE1vbmRheXM= 5LyY VG9tb3Jyb3c= IFNhbXA= XFBlcnNpc3RlbmNl TUFTVEVS KHByZWRpY3Rpb25z KG51bWVybw== LnR3aXRjaA== LlJlc3RyaWN0 IFpa IE1MTQ== LlNtYWxs XWJ5dGU= IFZpZXdQYWdlcg== IEFnZW5jaWVz IHBhcnRpY2lwYXRlcw== IGluaXRXaXRoU3R5bGU= JVg= IGAs Lk9iag== ID8iKTsK Q2FyZWVy IDwlPQ== a3Vs Q3BwSQ== IE11c2hyb29t dXJhdA== bWlh Q2Q= YXJkdWlubw== IGNvdW50cnlDb2Rl X3BsYWNlbWVudA== KCI9PT09PT09PT09PT09PT09 LWJlbA== QXNzZXJ0aW9ucw== IHByw7N4aW1h KCkiKQo= X2Vn U1NJUA== dXpl cGxhY2Vy YW1iaWd1b3Vz X0lOSVRJQUxJWkVS IEhhdHM= IEdPT0dMRQ== IGFnaXRhdGlvbg== KG11dGV4 SElHSA== OiIp IGludmFkZXJz ICl9Cgo= Lm1hbnVhbA== IFNpZW1lbnM= CUpQYW5lbA== YmluZHVuZw== ZWNlcmE= L21ldA== IMOpYw== KHN0YXRpb24= IHBvc2ljacOzbg== X2lzc3Vlcw== X2FsaWFzZXM= X3RvcG9sb2d5 IEF1dG9kZXNr QWNrbm93bGVk ISpcCg== IEZyZWlnaHQ= IEZYTUxMb2FkZXI= aWNoZWw= KENoYXRDb2xvcg== IGRpc3NvY2k= IGFuYWxvZ3Vl PHVzaXpl LWV2 IHRlbmRy PkFsbA== IFVTRVJT LnJlc3A= X2ludGVncmF0aW9u RGlzcGxheVN0eWxl RkFJTFVSRQ== 0YfQuNGC aWxkZWQ= X3NlbWFwaG9yZQ== YWNhZGVtaWM= IHNjbGVyb3Npcw== RmFs LHN0 YD0= aWZ0b24= IHN1YnN0aXR1dGVz IFN1cHBvcnRlcnM= YXBwbGljYW50 KGt2 IEJlcm11ZGE= IGRpc2NyZXBhbmNpZXM= LlNvbGlk d2VlbmV5 IGd1bA== IGZpbGV0eXBl IHJlc3VsdGF0 U2VuZGVySWQ= IGdlem9jaHQ= IEJlcmtzaGlyZQ== ICgiPA== KG1s KHNoaWZ0 X1JFRElSRUNU T0xPTg== L2Jyb3dzZQ== Ok5TTWFrZVJhbmdl IHdhaXZl IGV4Y2U= IGNhdGFsb2dz 5Lmm aWxsaW9ucw== LkdldEN1cnJlbnRNZXRob2Q= IGJpbGluZ3VhbA== IENhc2NhZGVUeXBl CVRyYW5zZm9ybQ== X0NVU1RPTUVS aXNpZnk= INCx0Ls= IFdob2V2ZXI= IEVBUg== IFs9Ww== INC80L7QttC90L4= IGphcmRpbg== QHNob3c= IGhlaXJz IGFiYW5kb25tZW50 IFRyYW5zY3JpcHQ= XV4= OlNldFBvaW50 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo= IEZhY3Rpb24= KGVudGl0aWVz ZmFjdGlvbg== bXR4 X3JlY2FsbA== Lk5VTEw= Lm9wdGlvbmFs KHByZWRpY3Rpb24= QUdFTlQ= IPCfmIA= 4oCZeQ== 4oCZdXRpbA== IGFuZ3N0 LkV4cGVyaW1lbnRhbA== aG9vdA== YXN5YXJhaw== YXV0b3BsYXk= IFNwbGFzaFNjcmVlbg== IGhlY3RpYw== IG1ldGljdWxvdXNseQ== IGNvbWVy S2VpdGg= IGZyYXNl X1VOSVFVRQ== Lk1hZ2VudGE= KE1heA== IHNjYWxlWQ== IHB1dHQ= KElG IEFQUExF UG9ybm8= LmFkZENlbGw= IG1vbHQ= Y2hpbXA= IGxlZ2dpbmdz IGZsb3A= 4oCZaHVp UlRPUw== L3NwYW4= LmJlZA== LkxvZ2lj IHVudHJhbnNsYXRlZA== Q0xFQVI= O2xlZnQ= IEJGUw== LWdyb3Vwcw== dG9vaw== X2FjY2VwdGVk IGNhc2hpZXI= ZXZlbnRJZA== IGRvd25ncmFkZQ== CQkJCQkJCQkJCQkK 0LDQvdC40Y4= w6RuZGU= IGNvdW5jaWxsb3I= IGRyZWQ= ZFQ= V1JBUFBFUg== Lm9s 5LiA6aG1 TUVB IGtpbmV0aWNz IGptcA== X2ZsaWdodA== RmVhcg== IENoYW5lbA== X21pZ3JhdGlvbg== aGRs ZXJlcXVpc2l0ZQ== LnJhcg== LU9uZQ== IHNoZXBoZXJk LmVhc2luZw== KGRlc2NyaXB0b3I= IHN1YnRvdGFs 44OT Q29tcGlsZWQ= IENvbHQ= ZGxl L21vY2s= KXJvdw== IHJlc2V0dA== dGVybw== IGFlcm9iaWM= LmludHJv IGNoZWNrYm94ZXM= IE1jQ2FydG5leQ== IENseWRl 77yM5bm2 Y29vbGRvd24= LWluc3RhZ3JhbQ== IE1QRw== IExlaXN1cmU= IG5hd2V0 IE5YVA== UmVndWxhckV4cHJlc3Npb24= IHJhdmU= QklMTA== IGJhcnRlbmRlcg== RW5sYXJnZQ== IHZhaXM= IDoKCgoK LkVuZHBvaW50 ICIsDQo= fX0iPnt7JA== dHJlZXM= LmVuZw== KmxvZw== OltdLAo= IGJhdHRhbGlvbg== U3ViamVjdHM= IGV4cG9zaXRpb24= IFRvYXN0cg== IHRvcExldmVs IENFTA== IGd1YmVybg== dW5zdWJzY3JpYmU= Y29uYQ== X2FwcHJveA== VFo= IFRyZWVTZXQ= LmNvbW11bml0eQ== IG5hcnJvd2Vy KEV4cGVjdGVk Q2xy IGdvcmU= IGFjcXVpdHRlZA== IEVVUk8= G1s= IHJlcHVibGljYW4= IGF1dG9iaW9ncmFwaHk= X2Zkcw== Q29sbGFwc2Vk IA0KIA0K LXBpbGxz TUJFRA== IGlOZEV4 IHJlc3BvbnNlVHlwZQ== Z2xmdw== LXR1cm5lZA== 5Y+R5biD CUJvb2xlYW4= Lk9y aW5pYQ== IGhvdmVyZWQ= IHNvcnRlcg== IE5o IEV4ZXJjaXNlcw== bGVtZW50cw== aWRvbg== VG9l IHLDqWbDqQ== U1NGV29ya2Jvb2s= IG9yZ2FuaXNlcnM= IHJlc3VsdE1hcA== X0hPUg== RG9k TG9jYWxTdG9yYWdl IGpzb25SZXNwb25zZQ== QXV0aFNlcnZpY2U= IHNtZQ== ZW1icm9z IGxvYmJ5aXN0 b2d1aQ== LnNwaW4= IENvcnJlY3Rpb25z X1JBRA== IExTTQ== KGN1cnJlbmN5 IOaA IHByZWZldGNo LkhlYWQ= LXJlYWRlcg== IFJveg== CW1vdXNl IFRMQw== IFFUYWJsZVdpZGdldEl0ZW0= IFNUT1JBR0U= YW5uZWVy IOyXkA== YWNlbg== U1g= SW1hZ2VSZWxhdGlvbg== IHJlc3VyZ2VuY2U= aXp6eQ== aWxvZ3Vl SVZBTA== IHNtYWNr cnJoYQ== KFBBUkFN IUk= IE1lY2g= IElNYXBwZXI= IGdpc3Q= IFBPRA== dm9yZQ== dWxhw6fDo28= ICwt IGludm9sdW50YXJ5 UVJT PXRpdGxl IEJpb20= IFNoZWxsZXk= IENTUA== UGVz ZHJvcHM= INGD0YHQv9C10Yg= ZGl2ZXM= IVsK IExlYXN0 IGtha28= IE1vZGVsbw== IGZ1bmN0aW9uTmFtZQ== IGNob2tpbmc= IGRlZm9ybWF0aW9u JywnJyk7Cg== Y2HDp8Ojbw== IHNxdWlycmVs c2V0QmFja2dyb3VuZA== QnJva2Vu cG9saXQ= Tm9uY2U= IGtleWVk TWVzaFBybw== LnVzZXJJbnRlcmFjdGlvbkVuYWJsZWQ= IGZsdXNoaW5n IGJwcA== IEFuZ2xpYw== VHJvdQ== IFdhbHRlcnM= IHN0dXR0ZXI= SGlw X3dhcg== aXZlbWVudA== Q29ybg== IHVuZHVl YXBhdGthbg== IG1pbmRlbg== c2lnbmlmaWNhbnQ= KHF1YW50aXR5 JGluc2VydA== IEFMRVJU LlVuaWNvZGU= aWhu XTo9 IHBpbk1vZGU= IGZyYWlz aW50ZXJwcmV0ZXI= J2FjdGlvbg== IGJsZWliZW4= obQ= cm93c2Vycw== R0lU X0RJUlM= Rm9yZXZlcg== IFBkZlBDZWxs fG0= LnNldEhlaWdodA== IGZvcmVhcm0= IGJhdHRsZWdyb3VuZA== INC/0L7RgdC70LXQtA== IEhhdGg= IEF1dGhvcml6ZWQ= IGNvbmZlcnJlZA== IEJPVFRPTQ== LmdldEZsb2F0 b2dyYXBoZWQ= YXJkeQ== IHNlcnZpw6dv b3RveGlj L2F1dGhlbnRpY2F0aW9u IHJlcHLDqXNlbnQ= IGNvbXBsZXhpb24= CUNvbW1vbg== X2Jo V2hvbGU= SW1hZ2VEYXRh IHRpbms= ZXF1YWxUbw== IFRIUg== IGRlbHRhcw== IEFHRQ== aXphZG9y YWRtaW5pc3RyYXRpb24= cXVldHM= X2ZpbGxlZA== IEjDpA== YWxsb2Nh IEJvb25l CWxjZA== Rm9sZGVyUGF0aA== LlJhaXNl XyN7 ZXJ0aW5v IFRocm9uZQ== 4K6/ b3hldGluZQ== cHJheQ== IGRpbGlnZW50bHk= IEFyY2hpZQ== Lm11bHRpcGFydA== IHNlbw== LmdldFByb2plY3Q= IHBhag== Y2xlcm9zaXM= YW1lcm9u IHRvdXJlZA== IG5pa2U= IEJha2VyeQ== LHBhcmVudA== X1RFTQ== U3BhdGlhbA== bGFwcGluZw== UHJvZHVjZXNSZXNwb25zZVR5cGU= KGJhbGFuY2U= SHVuZHJlZHM= LXRlcm1pbmFs IkRv Q29udGVudFNpemU= IGJiYw== IGTDqWNvdXZyaXI= dXRpbHVz LnVuZG8= LG91dHB1dA== Z3JvdXBOYW1l JG1heA== IEFsbGE= INC60LDRgNGC Lk9ORQ== X2RlY2lzaW9u RUVFRQ== IHhPZmZzZXQ= 56o= IHJ1bmF3YXk= IGhhbmRqb2I= IGdlbml0YWxz KGpUZXh0RmllbGQ= LnJhZGlhbnM= IFBhZHJlcw== ZGVwZW5kZW5jZQ== IHN3YWxsb3dpbmc= cm90ZWlu IGZsZWV0cw== IGNhcmF0dGVy KGNhbg== IEZsb3JhbA== X01zZw== IGRlY2xhcmFjacOzbg== bHNydQ== c2Nob29scw== IGRlbGVnYXRlZA== IFBlbmFs IENoZXJu U21hcnRQb2ludGVy c3Rvcnlib29r IE55bG9u 5oCd X0xFU1M= L2FkZHJlc3M= IENPUlM= IOydtOuvuA== IG1vZGE= bWRw IGRlcmJ5 IFBoYXJtYWNldXRpY2Fscw== IGV5ZWQ= X2NwdXM= 6KaL fHwK Lm1hZw== KFFM IENpdmlsaXphdGlvbg== 6Yw= X0RlcA== IHN3ZWFyaW5n IFNob3J0cw== dWViYXM= IGRlbGluZQ== IEFkdmlzb3Jz IOyeiOuLpA== X0ZJTkU= fSk6 LGFzc2lnbg== IFBDSWU= e3t7 U2Np IGFtYm9z aWxlZW4= IHR1bmVy IHBhcmFtTmFtZQ== LHRvdGFs KExvY2FsRGF0ZQ== IHNwcA== IGVycm9yZXM= IEhlbHBpbmc= X21lcmdlZA== LnRpbWVTY2FsZQ== X0VMRU0= X1NPTA== IGF2ZW50 PGQ= SnVuaW9y CWJhcg== Lmx2 IOy5 PXd4 IG1pcmFjdWxvdXM= IFJhbmRvbUZvcmVzdA== IEZyYW5rZW4= YGAs KEluaXRpYWxpemVkVHlwZUluZm8= IHN1cGVyaGVyb2Vz IGFuc2libGU= X1R5cGVEZWY= IFBlcm0= T0xFUg== R3Jhbg== LW5vdGlmaWNhdGlvbg== IGtheg== IGV4aGlsYXI= c2VydGVy IHN0b3JlZnJvbnQ= X2VuZHM= IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK CWdpdA== RFNQ Q0hBSU4= rLQ= SW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbg== IFNseQ== 77yaPA== QnJpdGFpbg== L3NsaWRlcg== IHptcQ== IGJhag== YnJlZA== LlZBTFVF IGdyaWV2aW5n IHBvcm7DtHM= aWd1YQ== SU5DTFVERUQ= V2FrZQ== Y2Jk IE1vbmdvbGlh aW52aXNpYmxl IGNvcnJlY3RpdmU= IGNlbnRlcnBpZWNl Q2F1Z2h0 IGthcmFrdGVy YWxtw7Y= IGJlbHVt IGFkam9pbmluZw== Pygi IFZpc3VhbGl6YXRpb24= a2tl aWZpY2Fkb3M= c3Bk X0NCQw== LUxhbmd1YWdl IHN0aWw= b3JldGljYWw= KGNvbXBsZXRpb24= IFZlcmbDvGd1bmc= X1RyZWU= cmlwcGxpbmc= LlJlbW92ZUVtcHR5RW50cmllcw== IFRBWA== CUNvZGU= 5YuV dXJnYQ== INGD0LbQtQ== IGFpZGVy IFByZXNjb3R0 IGZpbGFtZW50 IC0tLS0tLS0tLS0tLS0tLS0tLS0t dGhlcm9z 0LXRgNCw ZGViaWFu w6RobA== b2xhaA== X1VOSVRT QXJr TW91bnRlZA== LlRyaW1TcGFjZQ== LmdldE51bWJlcg== X2VvZg== Lm5y IFNIQVJFUw== aWxhdGVy IHdpY2h0 X2NvbXBhcmlzb24= ICki Y2xpbmljYWw= IFRFbnRpdHk= dmVuZXM= LmdldFByb3BlcnRpZXM= IHJlbGF0 IGFubm95YW5jZQ== YmVi IGFuZXN0aGVzaWE= X2ludGVydmFscw== X2Zo IHN1ZG9rdQ== IGRpc2Vu Y29ubmVjdGluZw== IG9h IOKWkQ== WkY= IGN1eg== U09FVkVS IE3DtmdsaWNoa2VpdA== Y2hhcnRlZA== IGhhc2hlcg== IEtlZXBz QUVB CWxvZ3J1cw== CU5hbWVzcGFjZQ== b3J0aG8= JGFjdGlvbg== IFJvYw== Jyk7Pz4i IFBST1Q= QGFwaQ== Y2hzZWw= L2dpZg== KEhhbmRsZQ== IGFudW5jaQ== L3B5 aW52YWxpZGF0ZQ== IE1FUA== dGVtcw== O10v 6IM= 6L+Q IHRhY28= QURW aHBw QnV0dG9uQ2xpY2s= IGJyaW5nZW4= IFRJTUVPVVQ= IGFzdHJvbG9neQ== ZGF0ZUZvcm1hdA== T0dSQVBI RmlsZVN0cmVhbQ== 5a6h5qC4 LkNvbW0= J2I= IEdFVEdMT0JBTA== ZWF0aW5n YW5kZXN0 IFNFVFVQ IEFkdmFuY2Vz LnNjcm9sbEhlaWdodA== QVpF ZW5kdGltZQ== d2VhdGhlcm1hcA== IE1hbmdv IFJJUA== IGl0ZXJhdG9ycw== IGNvYXg= IOWbvg== PG1haW4= cm1z cGNi IHZhY2NpbmF0aW9ucw== IGRpc2FncmVlbWVudHM= CWV2ZW50cw== PExvY2F0aW9u Lk1lYXN1cmU= IHF1ZWRh IHNpZ25hbGxpbmc= IGRlZ3JhZGVk IEFtZWxpYQ== LWNvbmZpZGVuY2U= ZGJOYW1l X2luYWN0aXZl b25hdGlvbg== IHBlcmlwaGVyYWxz 5qC3 U1VQRVI= J1I= LndheQ== UExBSU4= IEVuZ2Vs cmVsYXk= IGRlYmlkbw== IFRyb3Rza3k= 6Iw= INCw0LTRgNC10YE= CXVzZXJz ZXRjaHVw dGVw IG5ld1Bvc2l0aW9u IHdhaXZlcnM= ZWRpY2luZQ== IHRhbmdnYWw= IGFtbW9uaWE= LWRldA== L2V4ZWM= KHBhZGRpbmc= IFNob3BwaW5nQ2FydA== IFByaW50Zg== SGFuZGxlZA== IE5BTUVT KGNsb2Nr IHt9Og== IHNpbXM= IFRlYXJz IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0= X0NBTk5PVA== TEVHUk8= LlNldFBhcmVudA== 5YW25Lit IGVycmV1cg== aXBp PEV4cHJlc3Npb24= LnRpbWVsaW5l ICdfJyw= IGNvYXRpbmdz IHVzZUZvcm0= LnRr IEZlYXN0 LlNL w6RzZW50 Y2h3aXR6 IGludmVudGl2ZQ== IE1laQ== IHZlc3RpYg== IG7DpGNoc3Rlbg== L2JpZw== IHJldHJlYXRlZA== IHByb3BhbmU= dmljdGlt QWt0 IFByZXNlcnZhdGlvbg== IFBpcw== X1NIQURPVw== IHByaWNlbGVzcw== csOzZA== b2JibGVk IHJvbGVOYW1l IEdEUFI= ICciLA== Q2VudHJl QXJjaGl0ZWN0dXJl Q3BwQ2xhc3M= IG1hdHRyZXNzZXM= IGJlZXA= IERhbWlhbg== 5p2D6ZmQ YmV0dA== X2Flcw== KGNlbGxz IOuwsOyXtA== IGJpdG1hc2s= Y291bGRu LW5vdw== IGlubm92YXRl IGhhY2Vu IEx5b25z dGhpY2tuZXNz IHdoaXN0bGVibG93ZXI= JGZpbHRlcg== IGV1bGVy IEhhcm0= IGxlZHM= IEtlbHZpbg== LnF1aWNr IEzDs3Bleg== cmV2ZQ== IG5pZ2VyaWE= IGp5bGxhbmQ= LmVtcHR5TGlzdA== IHVuc2V0dGxpbmc= dXNiYW5k IHRyYWNrZXJz PVwiIjsK IGNvbnRpbnVh IE51bWVybw== ZW5kb24= IEdlcnJ5 LlRPRE8= UmVwZWF0ZWQ= IFNlcmVuYQ== 0LjQvNCw0LvRjA== cHJvZmls INCy0YHQtdGF QGFkbWlu LkxpbmVz IHRyYW5zbWlzc2lvbnM= IGNq YW7Dp2E= 5Yig6Zmk5oiQ5Yqf IGdldE1lbnVJbmZsYXRlcg== dWZyZXE= IE1hdGhlbWF0aWNhbA== TmF2aWdhdG9yTW92ZQ== IGZ3ZA== dW5pdHRlc3Q= IHN5bnRoZXNpemVk IGNyZWVk KEZyYW1l cHN5Y2g= dm9k dUM= 4bqndQ== IOKAnOKApg== IGtyYXQ= ZHJhd2FibGU= w6ZyZQ== PXRvcA== KExvZ2dlcg== RXJyb3JFeGNlcHRpb24= YWlzYWw= L3dz dWxsZWQ= QVJJTkc= IG5JbmRleA== IGludGVybmFscw== IGVmZmljaWVuY2llcw== ICNA X2JyaWdodG5lc3M= X25vcm1hbHM= IFN0b3V0 IHVudmVpbA== IFNob3Rz LWNvbXBhbnk= X2VsdA== KGRsbGV4cG9ydA== IHByb2R1Y2Npw7Nu Q2lzY28= Qmxha2U= LW1vdXRo UGVhcg== INC00L7RgdGC0YPQvw== IEpBQ0s= IO2YuA== IHN0b3B3b3Jkcw== IFRlc3M= IHBvc3Rl cmF6aWVy 6K0= TWVzc2FnaW5n t+aWsA== VGFtYmFo IG5hcmNvdGljcw== IGNhbXBlcg== IHRyaXBvZA== IGdsRW5k IGdpb2M= Y29tYmU= VXNlclJvbGU= VWw= RXF1aXZhbGVudA== IGdub21l IEZ1w58= cGFja2FnZU5hbWU= X3Vl RGlzY2xvc3VyZQ== YW1hdGU= X3RlbnNvcnM= IEthdGhyeW4= X0Jhcg== VGhyZWFkSWQ= IHZlcmlmaWNh LmFzc2VydE51bGw= IE9kaW4= YsOp INGB0L7RgdGC IGp0 LlNlbGVjdGVkSXRlbXM= IGFjdGlvbmFibGU= IFJlZ2FyZHM= aGVr Om51bWVs LEdM IFBIT05F CURlZmF1bHQ= IGVsYXN0 IGJlY2s= PWNyZWF0ZQ== OicK YXJodXM= bW9kaWZpZXJz aW50cHRy IHByb3Bpbw== 77yI56yR IHJlcXVlc3RPcHRpb25z IGltcGxpYw== IGR1cm8= IFBDUw== RGVsaW1pdGVy KGxvZ2l0cw== LkVWVA== V2l0aENvbnRleHQ= IG9sdHJl X0VYRUNVVEU= b2xpY2l0ZWQ= X0VudGVy L2Zyb20= INGB0LvQvtCy IEhvcm0= dWliTW9kYWw= X0lORklOSVRZ 77yM44CK VUdJTlM= T05HTA== LGJ1Zg== IHBvdXJyYWl0 cGo= KGN1YmU= IHVnbA== IFNhd3llcg== SUZFU1Q= QXBpcw== IENvcmVEYXRh IHNlc2FtZQ== LnB0aA== LmdldFVzZXJOYW1l Y2FzZWQ= IHZhbmlzaA== X0FwaQ== Ly86 L25vbg== LmRvY2tlcg== LnNp YWxlcnRz IGludGVzdGluZQ== cGFydGljaXBhbnRz LXZpc2libGU= ZW1zcA== bXVl X3B2 IENyaQ== b2dyYQ== X2V4cGVyaWVuY2U= IElOVEVSVkFM X3JlZ3Jlc3Npb24= 7ZWY7IS47JqU ZW5kZXJlY28= bGF0YWJsZQ== LmxvY2FsdGltZQ== IEJJVFM= IEZvbGRpbmc= CSAJCQ== w6lzZQ== LWJlYXJpbmc= IFhQQVI= T1BTSVM= J14kJyw= aW5jbA== IE9wcmFo IGJvb3Rocw== IFJvaGluZw== LkJvcmRlclNpZGU= YXRhdHlwZQ== Q3JlYXRlZEJ5 LOKAmeKAnQ== ZG9jdHJpbmU= IGJyZWF0aGVk X2JlZw== IGFmZmxpY3RlZA== TW91bnRhaW4= QmxvYw== IHJ1aW5pbmc= LkFubm90YXRpb25z CWludGVudA== IHN0YXRpY2FsbHk= X1V0aWxz TGF1bmNoZXI= Om5vcm1hbA== IHVzZXJpbmZv LUp1bA== S3lsZQ== LlJlYWRVSW50 KHVybHM= L2lm bWl0dGVs YmNt QE1vZHVsZQ== IENvbnN0YW50aW4= IGJq ZXJuYXV0 PHI= IE1lbnRvcg== IGVncmV0 X29hdXRo LkRhdGFDb250ZXh0 X0NMSQ== KENvbnN0cnVjdG9y IHNldFBvc2l0aW9u cmVzYXI= ZW50aW5n 4Li54Lil VHJhbnNtaXNzaW9u IG5vdGlmeURhdGFTZXRDaGFuZ2Vk IE1vdXNlQnV0dG9u ICoi ICAgICAgICAgICAgICAgDQo= IEx5ZGlh IHN3b3Jl IHBsYXRhZm9ybWE= CWJ1dHRvbnM= IHNwcnVuZw== KFRva2VuVHlwZQ== Q3g= QXF1 CQkJCQkJCQkJICA= CUFERA== dWlkcw== IOCkrg== IOaXtumXtA== LkFjdGlvbkJhcg== IG9jdXI= IGlsbWE= LW5ldXRyYWw= ICIuIjsK CVNpemU= UGllY2Vz IHN0aWY= ICI9Iiw= IEVxdWl2YWxlbnQ= IGlnZW4= ZGZk X3RoaWNrbmVzcw== X3JlYWRhYmxl L2ZhbHNl IHRvb2x0aXBz b3BsYXN0 aHVh aGFuZGxlUmVxdWVzdA== LkxBWlk= PFVGdW5jdGlvbg== aW1tdXRhYmxl aWhpbGF0aW9u IG9ydGhvZG94 LnBvcHVsYXRl IHZlcmE= IG9iZXI= c2FuZA== dmln Q29uZmVyZW5jZQ== KENvbGxpc2lvbg== L2F1dG8= IFNvbGlkQ29sb3JCcnVzaA== Kic= LGFkZHJlc3M= IHN3ZWV0aGVhcnQ= w6F0aWNhcw== YW5pbmU= X3BheW1lbnRz IHVubWlzdA== IHRydW1wZXQ= QkFM IGZpbGVJZA== bmllanM= QURG IG1uaXN0 IEZlaGxlcg== 44CRLA== Q2hhcmFjdGVyU2V0 IFZhbmNl SW5zZXJ0ZWQ= IGRvd253YXJkcw== IHJvdGF0aW9uYWw= IGVuY291bnRlcmluZw== TUJQcm9ncmVzc0hVRA== L1N5c3RlbQ== L3BvcA== IH0pDQoNCg== IC4nPC8= 77yJDQo= IGRjYw== YXN5YXJha2F0 IHByaW5jaXBhbGx5 5a6a5LmJ KGNob2ljZXM= LnBhZ2luYXRvcg== IHVwYnJpbmdpbmc= IGRvdGVudg== KCkpLw== IFRBUw== Z2Nk X2ludGY= Lm11dGV4 cHJlc3Rhc2hvcA== IGLDtnI= ZGFw X2RlbWFuZA== XERlc2t0b3A= dG9GbG9hdA== IHNlZ3JlZ2F0ZWQ= IGNsaW1hdGVz Lk9yZGVyQnlEZXNjZW5kaW5n KCcsJyk= UHVsbFBhcnNlcg== QXRvbXM= IGJlbsO2dA== IGhvbWVy YW50dQ== SXNFbXB0eQ== IEJlZ2lucw== PlNob3c= IFN1cHBsZW1lbnRz b2NjdXM= IGRvcGU= LmJvb2tpbmc= IEFsbWlnaHR5 W2VkZ2U= IEViYXk= X3JhY2U= RnJvemVu X3RyYXZlbA== IHBhc3RvcnM= X1NVUkZBQ0U= X2dlbnJl X0hPVA== LGRpbQ== VGJs bXRz cHJlZGljdGlvbnM= X2N1bQ== IGRldGFsbGVz LXRyYW5zaXRpb25hbA== IHdha2V1cA== UGVyc29ucw== LmNvbG9yYmFy U3RyYW5nZQ== 2K/Zhw== Jlc= IEFSUA== X1NPRlQ= X2RyYWZ0 SVZB IGdyb3A= IGxpZWJl IGlpZA== 2KfYsw== Y2FuZGlkYXRlcw== Z2V0QXM= PV8oIg== LkdldE9yZGluYWw= KSk9PQ== YW5ub3RhdGU= IEx1bWlh SVJNV0FSRQ== X09QRU5HTA== KGZvcm1EYXRh ZW50aW1lcw== IHdhdGVyc2hlZA== INCx0LXQtw== IGZsb3BweQ== VG93YXJkcw== KGNvbXBhY3Q= RERE e24= IHBva2luZw== QG0= IHJlY3ljbA== c3RydWN0b3Jz a2V5Q29kZQ== IHZlaGVtZW50 IGxpdHJl IEJJTkQ= IEZyYW5jb2lz IG51ZGl0eQ== IGlzaXpl CW9uQ2xpY2s= eXN0YWxz IGdldFN5c3RlbVNlcnZpY2U= V2ViUmVzcG9uc2U= ZmlsZXNpemU= IENobG9y Y29saQ== X3NlYXQ= LkFkZEluUGFyYW1ldGVy KXRlc3Q= IHF1ZXM= IGNhdXRpb3VzbHk= ImRpc3BsYXk= LnNodG1s IEdVSURBVEE= KCIqKg== IGdyYW5kZGF1Z2h0ZXI= IEFzc2VtYmx5RGVzY3JpcHRpb24= Rm9yRWFjaA== V2lsc29u LGVn IGJlbGlldmFibGU= IGNyb3Nzd29yZA== bG9iYmVy IFN0YXBsZXM= KHNoaXA= IHdhZ2Vk IEJvbHNoZXZpaw== LkFkZEl0ZW0= KEZpbHRlcg== X0FCQw== IGBc 0L7RiQ== IG1ib3g= IE5lcw== IEFWQ2FwdHVyZQ== IGNvbmhl IElOVEVSTkFUSU9OQUw= b3Nn IF0pLT4= U0tUT1A= IGtpZGQ= IFNTVA== IOWFsw== IEV0aG5pYw== RVJTSEVZ IG11bHRpYw== X01VTA== IEZpbmRPYmplY3RPZlR5cGU= IEV4cGVuc2Vz Z2V0TW9ja0J1aWxkZXI= LWd1aWRl J0w= IOeZuw== IHJhag== IEJsYW5jaA== IEFkZHJlc3Nlcw== Tng= IElzbGFtYWJhZA== 0L7QutGD0LzQtdC90YI= IEJlYXZlcg== LnN0dWRlbnRz IEFzeW5jQ2FsbGJhY2s= c2hlZXRz ZWNhc3Q= IEZ1bmRhbWVudGFs IHZlcmRpZW5lbg== IGV4YWNlcmJhdGVk IE1vZGVyYXRvcg== Q0NDQ0ND IHRpbWVvdXRz IHN1YmRpdmlzaW9ucw== IGNvbXByb21pc2Vz dXp6ZXI= fSwkew== X2Jsb2NraW5n ZXJtYW5u IE1pa2hhaWw= IFNlbGJzdA== 6ZSA LnNob3dz 5LiH5YWD IFRm IElIdHRwQWN0aW9uUmVzdWx0 IElFbnRpdHk= IGlx Rk1M b2RlbQ== c3Rw dWN0aW9ucw== LmZhdm9yaXRl LkdldERpcmVjdG9yeU5hbWU= IGdyYWM= IHhtbERvYw== X3B1c2hCdXR0b24= Y29sbGVjdG9y PWV4cGxvZGU= IGRlc3RpbmF0aW9uVmlld0NvbnRyb2xsZXI= IFNlcmlhbGl6ZWQ= Om1lc3NhZ2U= IENDQw== X3JlY292ZXJ5 LWtpdA== c2hpbWE= cm90Y2g= IGB9Cg== X3N1cHA= VGFibGE= 0YDQtdC00LXQuw== R3RrV2lkZ2V0 IFNJTVBMRQ== LnBoaQ== IExpYmVydGllcw== LS1b IHVudmVpbGluZw== IGV4dGVudHM= YmNk IGh2YWQ= CWNy LnJlYWRkaXI= IHJlYWRhYmlsaXR5 IGRpc21pc3Npbmc= Q2FtYg== IGNhc3VhbHR5 IElQVg== bWl0ZXM= IHB1cmlmaWVk Lk9yaWVudGF0aW9u IGxq aW11bGF0b3I= ZnJhbQ== L2xvY2F0aW9u IGNvbW11bmljYXRlcw== OlVJQWxlcnQ= L3NvY2lhbA== ZWx5bg== REVO INee IGJlZm9yZVNlbmQ= IFVudGVycw== JykuIg== ICcnKTs= LndyaXRlT2JqZWN0 KGdyYW1tYXJBY2Nlc3M= IEFwcGxpY2F0aW9uQ29udGV4dA== QnlVc2VybmFtZQ== IHNraXBz IGZpbGhv IHZpZXV4 IG1SZWN5Y2xlclZpZXc= IGFyb3VzZWQ= Lm93bA== IGN1cmxlZA== L2NhbGxiYWNr KCc6Jylb IGludW5k IGJyZWFrcG9pbnRz LWV2ZW4= LnN0ZW0= IGRlcm9n IG5lcA== IENvbXBsZXRhYmxlRnV0dXJl LUxpbmU= Lyov LkhleA== IHJ1c3Nl IGJpZg== IEZvbmQ= aWVjdA== IGFsbG90dGVk ZGV0ZWN0b3I= IC8KCg== ZW1vZGU= dWhl dWlzc2U= IEZJWEVE bWF0aHJt IHVuc3Vz IEF1dG9z IC4uLi4uLi4uLi4= LnRyYXZlbA== TkFW IGxlc2Jpc2s= IMO8emVy IGNsZXJpYw== IGxpbWl0bGVzcw== b2x1Y2lvbg== IG5lY2tsaW5l IGRyaWZ0ZWQ= IFJlbGlhYmxl IENhcnk= IHRlbsOtYQ== ID8+Jw== L2NvbW1vbnM= IEdNQw== X05QQw== IEJsaXNz IEJ1cm1h 5ZCM5pe2 KGRlcGVuZA== LXN1aXRl CXN0YWdl RG91Zw== aWRlbnRpZmljYXRpb24= X3Jlc29sdmVy QmVnYW4= W3RocmVhZA== IDsKCgo= TlRTVEFUVVM= IGRpc29iZWQ= fGg= IGFjY3VtdWxhdGluZw== ICIsIik7Cg== dVBhcmFt LmJpbGw= cml0Y2g= Q3JpbWU= 0LXRgdGM IFJlbWFpbg== 54Sh5paZ X1RIQVQ= YCJdCg== LnN0YW1w IHBhcmFub3JtYWw= IE1QQw== InVybHM= IEVzdGF0ZXM= VG9Gcm9udA== VGhpcnR5 QmV0aA== J3U= IOy9lOuTnA== VUZBQ1Q= IENyb20= IE1pc3Rlcg== IEVRVUFM ZW5oZWlt IC8vew== X3dhcw== IGJvdXF1ZXQ= IE1pZGRsZXRvbg== aXp1 X2hhc2hlcw== IGhlbm5l IExJTlVY CVNlcnZpY2U= IFRBTQ== IGBf IEFUQQ== IGRhbmdsaW5n cGFpbg== X0JPVU5EUw== cHJvZ3JhbW1pbmc= IGN1cnJlbnRJdGVt IGJlc2ll ZW1ibGU= KGNhbGM= LlNraW4= IHBlYXJscw== IEJ1cmI= LW1vbml0b3I= L2Nz Zmly KHZlcg== W2FyZ3M= w7xja2Vu ZXBhcmF0b3I= RG91 LkVudA== IEVTQQ== KGZt dG9uZXM= IFphYw== a3NhbQ== 4oCZYWxs IE1TUw== IkRvbg== IHNpbXBsZXg= IENvbnNjaW91cw== IEFwcGxpY2FudA== cGVsbGllcg== IHBlZGVzdGFs JGh0dHA= IEF2YQ== LkNH IGludMOpcmVzcw== IEludGVncmFs cmVkZQ== PWZvcm1hdA== LlBhdGhz X1BBUlRJVElPTg== IHNlaA== IFF1YW5kbw== WW91dHViZQ== LnB1dFRleHQ= 7KO87IS47JqU LkFXUw== IENzdg== Q3Vyc29yUG9zaXRpb24= LWJlZ2lu X2NvdW50cmllcw== LXJhbmRvbQ== 5Y2z UGhpbGw= IHBhbm9yYW1h IHRoZXJlcw== 5Y+q IHNpbGVuY2Vk IEN1bWJlcmxhbmQ= LlZpc2libGVJbmRleA== LnN0YXRpc3RpY3M= IHByb3BlbGxlZA== QW1lcmljYW5z IHZhbGlkYQ== IEd1YW0= IEZFTUE= LnN5bnRheA== ZGdl IGRlZXBlbg== ICAgICAgICAJCQkJ IFNwZWNpYWxpc3Rz IFNhbnRhbmE= IEJlZXRsZQ== ICUKCg== VXNlclByb2ZpbGU= KCIkLg== IGVtcGxvaQ== IGVtYWlsaW5n Z2V0T3JFbHNl X1VQUEVS LmRyaXZl IHJlZGhlYWQ= Rk9VTkRBVElPTg== IG11bHRpcGxpYw== L2VmZmVjdHM= IGhhbmR3cml0aW5n X3Rh IEJheg== w7ZmZmVudA== cHJpeA== IGNoaXBzZXQ= IGlwQWRkcmVzcw== w61kYQ== IFVuZw== IFNjaGE= LkZMT0FU IHF1aWVybw== b2Nocm9tZQ== IHJlZWZz YnNvbg== IG3Dug== IHRyYXlz Qm9tYg== IG15TGlzdA== eGltaXR5 IERlbmc= VW5p LVNlcmllcw== b2dhbnk= bMSxaw== L2NhbA== IHJlYWxpemE= IEhpYg== CQoJCgo= IGh1bWlsaWF0aW5n WyR7 IHByZXRlbmRlZA== IERhdGVuc2No YW5zaWJsZQ== CXJlbG9hZA== IG1pZ2xpb3I= X2JldA== IHRvdGFsVGltZQ== IEJheHRlcg== IGVuYW1lbA== L0ltYWdlcw== IFNFUw== IFNwcmluZ0FwcGxpY2F0aW9u KWluaXRXaXRoRnJhbWU= CWNhbA== RUxFTUVOVA== IEd1dGg= KEJpZ0ludGVnZXI= IE1lZGk= Lk1lbWJlcnM= IHJlam9pY2U= IGRvZg== UEVuZFBvaW50 IGNsaXQ= X1JFVVNF TWFrZXM= IHN6eQ== IHNoYWRlZA== IGZhdm91cmVk aXN0b2w= ZGV4 IGZsZXhHcm93 hac= X3ByaW50ZXI= LmZuYW1l cGVyYXRpb24= IG7Ds3M= Z2dlcg== 6ICB INCy0YDQtdC80Y8= KGVmZmVjdA== QnlVcmw= IEFQUw== dHV0b3JpYWw= ZWpz U3FsUGFyYW1ldGVy IHNjcmFwcw== R3JlZXRpbmdz RmVk IFJFTkRFUg== IGJsb29tcw== IGRlYmlsaXRhdGluZw== b21ldHJpY3M= IHNpbWls LWhlcm8= IHJlYWxwYXRo ZGVwYXJ0bWVudHM= QklORA== IENhc3NpZHk= bGlhbg== U0tJUA== LWNsZWFu IHNpbGRlbmFmaWw= X211bHRpcA== anNvbkRhdGE= QWdlbnRz LmZoaXI= IHRyaXVt IGFzdG9yZQ== IG5leA== OnVwZGF0ZQ== INC00LA= 4KSy OyIpCg== LlRleHRJbWFnZVJlbGF0aW9u IG1pY3Jvc2NvcHk= U1VS YW5reQ== IFBldGl0 bWFya2V0aW5n IHZlcmlmaWNhcg== YW1hZ2Vk Y3Ro IGluY29uc2lzdGVuY2llcw== IG1hasSF IGdldEluZm8= IHBhc3Npb25hdGVseQ== IGljbXA= W10+Cg== U2luZ2Fwb3Jl IE5ld3Rvd24= IHJhaWxpbmc= IEVubGlnaHRlbm1lbnQ= dXRoZXJsYW5k bGVpbmU= X3JlZ2lzdHJv IEVyaWNh X3RpY2tldHM= L21ldGhvZA== aXp6YXRv R2F0dA== LWZlYXR1cmU= IDotKQ== IHNlcnBlbnQ= IEdyb3VwTGF5b3V0 TmlrZQ== dW5nYQ== IE1pbQ== IGluY2Vzcw== IGRlcGxldGlvbg== X2xvdA== IGJpcnRoZGF5cw== IHJlbnRlcnM= IGVxdWlwb3M= IExlaHI= X1BsYXk= IHNwaWVsZQ== IExBTkQ= IEVuY291bnRlcg== aXphbmRv IHBlcnU= IHNsYW1taW5n IHJlaW5zdGFsbA== IGFuZ2k= SW5UaGVEb2N1bWVudA== IHZlcnNjaGlsbA== IHZlcnNv LnN0YWZm KHZw KGFjY291bnRz Z2V0QXBwbGljYXRpb24= IG1hbnRlbmVy LlNP LkFE IE1vcm1vbnM= CXJlYWw= IGhvdGxpbmU= IENhcmRpbw== cGFnZUluZGV4 Ymplcmc= Rm8= IGNvbnNlaWxz IG1pZ3JhaW5l IGxhdGlubw== IHRvcnBlZG8= amFiaQ== L3Jz dWJiZXI= IENsYXNzZQ== 4Lw= KC9eXA== X2RlcGxveQ== R1JFUw== IFdIQVRTT0VWRVI= IGFyY3B5 IG1pZWpzYw== QXJteQ== IHNjaMO2bmU= IGJtaQ== IDoiOwo= IENydWlzZXI= cWg= LnByZXBlbmQ= IHZpdmU= b3JpYXNpcw== ICE9Cg== dGVnYQ== YW1lZGk= UHJvamVjdGVk LWJyZQ== LHJlYWRvbmx5 IHN1YlRpdGxl IG1pc3Ry IEluaGFs Y292ZXJpbmc= IHppag== IEFSVElDTEU= UlVMRQ== IGFsdHJv IHNldHRsZXM= aWRlbGJlcmc= OiIuJA== KGZl X2Jt IHByb3ByaWV0b3I= IGtlZXI= U2VwYXJhdGVk X05FQVJFU1Q= KHN0cnBvcw== IENvbXB1dGF0aW9uYWw= IGVybg== SW5WaWV3 QWNyb3Nz IGZydWl0eQ== X21hcHBlZA== IGdyYXR1aXRlbWVudA== IHt9CgoK cG90ZW50aWFs cGFudHM= IHNlbnRpbWVudGFs IExpbmtlZGlu KHBhdGNo IGFkYXB0b3I= IFVJU3Rvcnlib2FyZA== IHNsYXNoaW5n KCIvOg== IHRleHREZWNvcmF0aW9u LmRpYWc= XFJlZGlyZWN0 IG5ldXJvc2NpZW5jZQ== IEFkanVzdG1lbnQ= IFNjb3RjaA== IENvc2J5 U0VB PXZpZXc= IGV2b2x2ZXM= IFNhbGlzYnVyeQ== 44CB4oCc ZXZlcnlvbmU= KGFyYw== IGFwYXJ0aGVpZA== IGF6aW11dGg= IFNoYW1hbg== 2KU= w7NuaWNh OmNsYXNz IEluamVjdG9y YWhhcw== YWJsZXI= X2VzdGltYXRvcg== X0NVQkU= IEtyYW5r IHVuZmF2b3JhYmxl IHJlcHV0ZWQ= IENvbmRpdGlvbmFs IG1pbGZz IFJlc3RyaWN0aW9ucw== KGhyZWY= SnVhbg== PEVudHJ5 CXRlbXBsYXRlVXJs X3Byb2R1Y3Rpb24= VHlwZUlE IGJhbGs= IG5ld0Fycg== IGxpY2VuY2Vz LnNvbHV0aW9u LnNhbQ== IEh2 IHRyZW1ibGluZw== WWF3 IGZsZWVjZQ== IHNob3ZlbA== V2Vy IHBhdHRlcg== PVk= IEZybQ== U2NyZWVucw== JCI= IEJsb25k INGB0LjRgdGC0LXQvA== KG9k IG5vY3Q= b3VudGVycw== dXNlcHBl fGludA== LnJlbWFpbmluZw== IHVsdGltbw== IG1hc3R1cmJhdGluZw== bW1j PUc= Il19Cg== IGZlYXJsZXNz IGFsZ3VtYXM= Y3VsdA== QWx0ZXJuYXRpdmVseQ== 5bKB T0RFVg== IEFkb3B0aW9u IHdlYWx0aGllc3Q= IG1lbnRyZQ== L2dvdG8= IGluZm9ybWFudA== IFJvdXQ= b2Zp IGhhbW1lcmVk IEVzdG8= 4oCZQnJpZW4= IMWa IGRlbWk= INGB0LvQtdC0 IENsaW50b25z 7IWY 5aSn5bCP RUNI IGFuYXJjaGlzdHM= IEJldmVyYWdl IGdvdQ== IGJyaWJlcnk= IHBpY2t1cHM= IHViZXI= IHN5bmVyZ3k= ZmNu IEhlbnRhaQ== IEJhc2VtZW50 IG1vcmI= X2N1 amFkaQ== KHByb2o= IEJpbmdv X2NhdGU= W2VtYWls Klg= X1NFUA== IHByaW5jaXBpbw== dXBkYXRpbmc= Ly99fQ== Li4uKA== IERPRQ== IHpn c2hhcGVz PXRtcA== Q3J1ZA== IHdvcmtwbGFjZXM= IHN0YWJpbGl6ZWQ= IHRlbnRhbmc= LnByb2R1Y3RJZA== IFRyaWRlbnQ= IG9yY2hlc3RyYXRlZA== IEJ1Y2NhbmVlcnM= X3RvbGVyYW5jZQ== aWdyYXBoeQ== w7xsZXI= INi1 QVE= IGF0aGxldGljaXNt CVNlcnZlcg== ZXdlZA== RGlkRW50ZXI= UmVnaXN0ZXJz X2VtbHJ0 IGZ1bmN0aW9uYWxpdGllcw== KGhkYw== X21hcmtlcnM= T3JlZ29u KFN0cg== IEdldEJ5SWQ= IHp3YXJ0ZQ== IE9DSQ== IEphbWU= X2NyaXQ= IHN0b2NraG9sbQ== CURpY3Rpb25hcnk= X2NhcGFiaWxpdGllcw== Q1RS IG51bWE= X2ZpcnN0bmFtZQ== IE5TUmFuZ2U= IG1vc3RyYQ== IEFycml2YWw= KElTZXJ2aWNlQ29sbGVjdGlvbg== IHRlYXNwb29ucw== IFNldFVw CQkNCg0K KGd1aWxk LiJd IG3hu5tp YmZm REFURVM= KCldCgo= IGh1bWFub2lk dGhybw== KGtsYXNz IFZhZA== ZnNw LVNhaA== IFVTRVJOQU1F IFByb3BlcnR5Q2hhbmdlZEV2ZW50QXJncw== IGxlc2lvbg== X0RFTklFRA== IFRISU5L gqQ= bWVudGFs IHByZWNhcmlvdXM= IE5vc2U= IGNvbmNs IHdpbGRmaXJl IFRCcmFuY2g= IEJBTQ== L2Nzdg== IE5BTg== IENsZWFyYW5jZQ== XEJsb2Nr LmFubm90YXRl 5om+ IFdISUxF Z2VidW5n Pkxpc3Q= c2ht Um9zcw== YWZk W3RpZA== UGVyUGl4ZWw= Kyhc IEN5YW4= IEtub3Q= X3Zsb2c= L3Zhcg== W19f IGhhc2htYXA= KCk7DQ0K IGFtYXNzZWQ= IGRhdGVQaWNrZXI= IFNhdG9zaGk= X0NBUEFDSVRZ IGJ1eg== IE1pbmg= U2V0Q29sb3I= Kz0nPA== IEludmVudA== b3JjYQ== aWdudW0= IEFtcGg= IHJlZmx1eA== CiAgICAgICAgICAgICAgICAgICAgICAgIAo= dWhu KFRN YWxsZXk= IGxlZnRvdmVycw== ZmRj 4oCcVGhlc2U= IGNyYXdsZWQ= KFZvaWQ= aWd0ZQ== 8J+S c2V0RGVmYXVsdA== IEJlZ2lubmVy UG9r IEhMUw== IGdhbWVJZA== IEFtYmllbnQ= X1BSRUQ= LiJ9LAo= w7xocnVuZw== LlN5bmM= IGludmU= IE51cnNlcnk= IGdsYXplZA== q+yekA== X2ZhdGFs X2Rpc3BhdGNoZXI= W10pDQo= IGRldXRzY2hlbg== 6rGw U2hhcGVz IGlycmV2ZXJzaWJsZQ== X3Blcw== X2VzYw== IHRoZXJtb21ldGVy 44OU44O8 X3NxcnQ= Il09PSI= IGN1bG1pbmF0aW9u V29yZFByZXNz IGxldmVu VmVydGV4VXZz IEhheXdhcmQ= IEFzc2V0SW1hZ2U= IG1haXpl IGNoaWNhZ28= IHRhdg== ZXhwZW5zZXM= 0K0= K2Y= LiInIjsK LVNB IEtvdGE= TWFpbkZyYW1l LnNhbGU= X0JV IHN0cmVu X2ZpbHQ= L3ByaW50 KFBhY2tldA== INC30LDQsg== QWN0cw== 0LXQu9C10YQ= IHJlbWF0Y2g= IHJpZGRlbg== IH0pKCk7Cg== IGVuZG90aA== IGNlcnRpZnk= IFVJUGlja2VyVmlldw== XE5vdGlmaWNhdGlvbnM= CVRpdGxl IGluZXF1YWxpdGllcw== IE1vcmFu IERhZW1vbg== bGVzaWE= IGhvcHBpbmc= IGd1c3Rv IEZpcmViYXNlRmlyZXN0b3Jl IHBvbHlsaW5l IHNwaWtlZA== JSIpOwo= IExBVElO TGFiZWxUZXh0 IHN0cmFwb24= X2ZpZA== LXNwZWNpYWw= YXJnZWQ= IFNUSUxM UXVhbGlmaWVkTmFtZQ== LlJFUw== I2M= LndyaXRlbG4= IEltbXV0YWJsZUxpc3Q= IFRodW1i IHNpbWQ= RGVzY3JpY2Fv LlNldFRleHQ= IG5vbnByb2ZpdHM= V2l0aGRyYXc= LWVuY29kZWQ= c2Jpbg== IGFtb3J0 CWRk cmlm IHBhdGVybmFs Lk1hcEZyb20= X2Fzaw== IHJlY291cnNl IGJhY2tzdG9yeQ== CW1hbmFnZXI= X0RHUkFN IEJpaGFy aW50ZWxsaWdlbmNl IHNraW1hZ2U= KGVuY29kZXI= IHN3aXJsaW5n IEFwcGV0 X3NhbHQ= IGF0dGU= IFNRVUFSRQ== IE5ldHo= X3BhaW50 YXPEsQ== aXNjaQ== Rmxv LWdvYWw= LnNldFN0cm9rZQ== IEF1c2Nod2l0eg== IEFiZGVs IGFuZXc= IOWung== IHRvdGFsUGFnZXM= IHJlZmFjdG9y IGNyZWF0aXZlbHk= ZW1heA== b2RveHk= X3R4bg== LlNvY2tldHM= IFJpZGxleQ== 4buxYw== c2FtcA== TWluTWF4 IHdvcnNlbmluZw== b3VudGFpbnM= YXJ0bmVy LXByb2Y= c2luZ3VsYXI= PWlz IEZFQw== X0ZN IOaIlg== IENhdWdodA== X1NDTA== IGV4cG8= aW5mcmE= IE1FUw== Y2hhcA== YWx0ZQ== YXJraW4= L21M IHNlbmREYXRh IGZyYW7Dp2Fpc2U= IHPDpg== X0RFRklOSVRJT04= KioqKioqCgo= XEN1c3RvbWVy IOKWiOKWiOKWiOKWiOKWiA== IHBlcnBldHJhdGVk IEZ1cmlvdXM= IHRlbmdh bGVhcmVk VUxMRVQ= aW5pYw== ZWFyY2hCYXI= PENhcg== IFJlbmV3YWJsZQ== IGNvbnRlbXBsYXRlZA== L2Zvcm1hdA== IGZvcmdpdmluZw== LlN1YkVsZW1lbnQ= UFVURQ== LmNvbnRlbnRTaXpl IHJlc3BlY3RmdWxseQ== 4oCcCgo= IHBvaWduYW50 dXJpbGU= fSkiCg== c2VxdWVudGlhbA== L2Zhc3Q= cHJ1bmc= IFN0dW5uaW5n IEJZVQ== IGNvbXBhcmVy CXJk dW5pY29ybg== xrBh LkdldEl0ZW0= IHNlY3Rpb25hbA== anVkZ2U= dXh0YXA= IHN1bmRheQ== IHDDpA== TWlubmVzb3Rh Ik4= IGFwcGxpY2F0aW9uV2lsbA== QU5HRVI= IHJlYXNvbmVk IFpFTkQ= emFw PWJhY2s= b3NwaGF0ZQ== 6IqC54K5 IHRpdHRlbg== IEFzc29j QWN0aXZpdHlDcmVhdGVk KVst PyIKCgoK IGpvdA== 2Lg= IHVuY29tcHJlc3NlZA== LklzREJOdWxs IHZhc2U= IGxvcmVt IGVudHJlcHJpc2U= IENvbnNlbnQ= 44Op44Oz QnlWZXJzaW9u IHF1aWVuZXM= CWNvbnQ= IEJsYWNraGF3a3M= IEJsYXNpbw== IHRhbmtlcg== IHN0YXJ0dGltZQ== IFNlYXM= cGlvcw== LlNwbGl0Q29udGFpbmVy Y29tcGV0aXRpdmU= IHBCdWZmZXI= IGNvbnNlbnRpbmc= LmFkZE9ic2VydmVy aXRjaGVk IG1pc2NlbGxhbmVvdXM= IFRvcHM= CWxw Y21kcw== LmRlcGFydA== IGZOYW1l CWJlc3Q= OlA= IHN3YXRo IHZva3M= YWxsb24= IEh0bWxXZWJwYWNrUGx1Z2lu LmxvZ2dlZElu YnVja2V0cw== IGhvbW9waG9iaWM= IHN1YmR1ZWQ= IG1lc3NhZ2Vib3g= V2hhdHNBcHA= IGRpc3NpcA== IE1BTlVBTA== TElLRUxZ dGVzdGRhdGE= LU9jdA== RXhpdGVk IFRhc21hbmlh bGFj IHRow7RuZw== U3Rvcmllcw== IGJpb2NoZW1pY2Fs b3JyZQ== IGVjbGlwcw== IEFzc2VtYmx5UHJvZHVjdA== cnRsZQ== IFdpbGhlbG0= cGl6emE= X0RI Y29uag== IHB1ZWJsbw== IGxpcXVl IGN1cGlk IEFjdGl2aXR5Q29tcGF0 LlNt Il19 bWFpbGJveA== Lm9wdFN0cmluZw== LW9i IE1hdWk= YXRhaXJlcw== IG1lcnJ5 Um5k IGNhcmFjdGVyw61zdGljYXM= VHJv KGNu Lmxk LXBvaW50cw== LnNi IHZlag== IGNhcmVnaXZlcg== IG5hdQ== RElSRUNUT1JZ KGFuZw== KC4p IGV4cGxhbmF0b3J5 ZWxzZXk= IE92ZXJuaWdodA== IGxhaXNzZQ== IFJBVEU= IEdvdw== UmVjb2duaXRpb25FeGNlcHRpb24= aWNoZXJ0 IHJldm9sdXRpb25z JGNhdGVnb3J5 IHVuZGVmZWF0ZWQ= L2NvbW11bml0eQ== LXBhcnRz LWFwcGxpY2F0aW9u K0E= L3N3ZWV0YWxlcnQ= IEtt aWxhdGVk YXRhdA== UEFU xI1l IFRlYw== Lm9uQWN0aXZpdHlSZXN1bHQ= XFdlYg== IEx1Zw== b3ZvbHRh IGFsdHJ1 aWd5 IGLEmWTEhQ== IGFjdGl2YXRpb25z IGF1ZGl0aW5n RVJHRQ== IOiLpQ== Q2FybG9z IGtJbnN0cnVjdGlvbg== bWluZXI= IH19Lw== QW5kSGFzaENvZGU= IEJvdXJib24= LnByb2Y= IGltcHJpbWly IEZlcmRpbmFuZA== 0LzQtdC90YI= L3t9Lw== IENsYWly IE9uQ29sbGlzaW9u c2FsZG8= cmFpc2Vk IEFCT1ZF KCk9Pg== IGRldXRzY2hsYW5k aGliaXRlZA== RXh0cmVtZQ== L2hvb2tz IGRvdXQ= IFZPQw== ZXRob3Zlbg== UE1D IHJlc3RhcnRpbmc= IFNDTg== IEVP IERKcw== UGFzc3dvcmRGaWVsZA== LkFjY2Vzc2libGU= CWJ1cw== U1RSVUNUSU9OUw== IGxhdGVu IFNOQVA= X0hFUlNIRVk= IG9uc3RhZ2U= 5bCP5pe2 IHNhaWxvcg== IEN1cnNv IGltcHJvdmlzZWQ= IGdlbmVyYWxpemU= IGJ1ZW5v IGNlcmVtb25pYWw= IENOUw== IHBpZ2Vvbg== bXNw L0FJRFM= bGluZUVkaXQ= IEZpbmFuY2luZw== IGpUYWJsZQ== IGJvdHRvbXM= IFRleHRJbnB1dFR5cGU= IG1laXNqZQ== LXNpZ25lZA== IEdyZWVudmlsbGU= b3BoaWxpYQ== SWNvbk1vZHVsZQ== IGNsYW5kZXN0 ZW1haW4= U0NBTg== X1RJTUVT IGxlY2tlbg== KGNhbmNlbA== IGVjc3Rhc3k= Lk1VTFQ= IG1vZXRlbg== IGFwcHJvcHJpYXRpb25z IFFMRA== IEd1aWw= IHRyYXBwaW5n eERB IGvDtmxu ZW51bXM= 4oCcVG8= cG9ydG8= bmluZ2Fy IFRPTw== LVNU IE1hdGhz IGt1cnM= IFJFUEw= X2NvbnRyaWI= IFBoeQ== cmFuZw== Lm1hdmVu LWZvbGxvdw== IC0tLS0tLS0tLS0t xLHEnw== X3dpbm5lcg== LkNyaXRlcmlh KGRhdGFTb3VyY2U= IHNldElucHV0 IFRJTUVTVEFNUA== b3BlcmFuZHM= Z2V0V2luZG93 LmZhY2VWZXJ0ZXhVdnM= IEludmVzdGluZw== Vnk= IHBlcnNlY3V0ZWQ= 4bq/dQ== IFBsdW1iaW5n T05HT0RC RXZpZGVuY2U= IFN0cm9t cXVvdGE= TGl2ZXJwb29s CWF0dGFjaw== bWluaW1hbA== IG9uS2V5RG93bg== IG1vZHVsZUlk IFZlcmFuc3Q= bW9ydA== YWNpc3Rz IE1BU1M= X1VOREVS LmdldFJ1bnRpbWU= RU5USUNBVElPTg== Uk9LRQ== IHNjYWxlWA== IHNlcnRh IEZyZXF1ZW50bHk= X1RSQU5TRk9STQ== IHR3aWxpZ2h0 IE1jS2Vuemll bGVkZ2Vk IEB7QCI= X0FDVElW IGhvb2tlcnM= PWRlZmF1bHQ= IHdhbG51dA== IHVzZU5ld1VybFBhcnNlcg== IENoZWVy IHdyb25nZnVs bmlv YnRj LnN0cmlkZQ== IHN1Y2Nlc2Z1bGx5 IFRyb2xs aWZpY2lv LmNvbmQ= IGhlYXBz X1BIT1RP PEFkZHJlc3M= IFN0aWNreQ== IG5pZ2h0dGltZQ== IGRhbmRv IEJJTEw= INC+0YLQstC10YI= RGV0ZXJtaW4= IGZ6 KHNpZ25hdHVyZQ== IHZpbmRlbg== LkNPTk5FQ1Q= cnVpc2U= IHh1 cHJldmVudA== Rk9Y VUlBcHBsaWNhdGlvbkRlbGVnYXRl U3BsYXNo IGVtYnJvaWRlcmVk IEhpbGZl LnNoYWRlcg== IGRvdWJ0ZWQ= UmVzcG9uc2VTdGF0dXM= IHVuc3RvcHBhYmxl dW5sb2Fk KyJd ImxhYmVs IGZyZWVsYW5jZXI= RGlyZWN0ZWQ= IHZvcmhhbmQ= IFNubw== ZXhpc3RlbmNl b3JkaWFs emFn LkFnZQ== IHNwYXducw== IFBTRw== c3RpdHV0aW9ucw== IHNpZ2h0aW5n LXRhbGs= INGB0L7RhdGA0LDQvQ== ZW5lcmltYQ== IEJlbnRvbg== X1N0b3Jl VHJhbnNwYXJlbnRDb2xvcg== IEV4cGxvc2lvbg== X0lTUw== Q2hlY2twb2ludA== IGRlZmxhdGU= 0JLRi9Cx LXRyYW5zZmVy IEJhYmllcw== IGltYQ== LnVzYWdl IG5lZ2F0aXZpdHk= IEV4dHJlbWVseQ== a2o= RG93bmxvYWRlcg== CWFjdA== W2NoYXI= Tm9ybWFscw== X3JlZmVyZW5jZXM= IGRyYWNvbg== 4bulYw== X1RSTlM= Y29tcGFueUlk IFZlcmQ= YW5pbw== IE1hdGNoZXJz KHJlbGF0aXZl IHJlZWxlY3Rpb24= LkhF VGF1 INGB0YLRgNC+0LrQuA== IE1ldGFscw== IENvY2t0YWls IGFwcmVuZGVy X3ByZWZlcmVuY2U= LlNjaGVtZQ== IGdsR2V0VW5pZm9ybUxvY2F0aW9u VXNpbmdFbmNvZGluZw== 0YDQsw== ICJdIik7Cg== TGVhZGVycw== J8OqdHJl X0RlbGF5 UHJvY2Vzc2Vz aWN1bHR1cmU= XCI6e1wi 4oCUIg== RW1vamk= LWdyb3c= IENDRA== Y29tcG9zZWQ= TWFpbnRlbmFuY2U= IFJ5emVu KGFn LnByb2I= IFNpbmF0cmE= IGhvcnJlbmQ= IE1vdW50ZWQ= X1BFRVI= IGN1aw== IHPDuGtlcg== IFF1YXI= X1JFU09MVVRJT04= J2VhdQ== IGJvdXJib24= IGF0SW5kZXg= L3BvbA== IOq0gA== CXB3 fSl9Cg== LmZvcm1EYXRh IHVkZW4= IHJvYXJpbmc= Tm90aWZpY2F0aW9uQ2VudGVy IGNsdXN0ZXJlZA== IHBhaXJ3aXNl bXVsdGlsaW5l R2FtZURhdGE= Lkxhcmdl KSc6 INGB0LXRgNCy0LXRgA== IFVJTWFuYWdlcg== U3Zj IFBsYXlzdGF0aW9u Lk1vcmU= LnF1YWxpdHk= IGNvbmZpZ0ZpbGU= LWNvbnRhaW5pbmc= IEdvYXQ= ZW5jaW9u IGxpa2VuZXNz LXVzaW5n IHNlYXNpZGU= 4bqpdQ== YW50aWNpcGF0ZWQ= Rm9sZGVycw== LUxldmVs b3BjaW9u KXByZXBhcmVGb3JTZWd1ZQ== PigpKQ== PWFkZA== XGdyaWQ= IHln X0RSSVZF IEdldE5hbWU= LkRBTw== IGhhbm4= CWNhdA== IHZpZ24= IEhlbGxlcg== IENSRUFURUQ= YmVyb3M= YnV0dA== IGJlbmRz IExlZXI= 0KY= IFNNUA== VmVjdA== IG9iamVjdFR5cGU= OmFzeW5j IGNvbXBldGVuY3k= IFF0QXdz TG91 L2NhdA== UHJvc3RpdA== LXZlcw== CXR2 IEVJ QW5kV2FpdA== IFRPT0w= fSo= X1Jlcw== IGFsaWdubWVudHM= 7KGw IENsYW1w LXBhZA== IHdyaXRlRmlsZQ== IEFwcHJlYw== 4oCZYXV0cmVz dWRhZGVz IGx1Z2FyZXM= c3BlbmRlcg== W2ltYWdl RVhJU1Q= IGRlY2VpdmU= IGh1bnRz X1ZPSUNF X0RY Q0FD ICgoJw== aXNrcw== LGZpbGVuYW1l IGxlYW5z SW5wdXREaWFsb2c= RGF0YUNvbnRyYWN0 IHNtb290aGVk IHJlY3J1aXRlcnM= IHRhbmdsZWQ= X1RhYg== IEZpbGVBY2Nlc3M= WUM= IHZY PGR5bg== TGV4ZXI= IOKYhg== IGdsR2Vu VGVtcG9yYWw= IEFURg== YW5rbw== VXNlckNvZGU= IEtvdGxpbg== Li4KCgoK RU5DRUQ= LnVudHJhY2tlZA== X21y IHdhdmVsZW5ndGhz IGRpY2hv IGltdQ== X2NyZQ== W0o= X0RG IGF0dGFpbm1lbnQ= IGxpdGVycw== W2tleXM= IGxpc3Rhcg== SHR0cHM= IGJyZXdlcnM= IGFjb21wYcOx IHRvYXN0ZWQ= LmZyaWVuZA== IHJlbHU= IFBzeWNoaWM= TWFuaXA= ZG5h UHJp LWZsYXNo KGFydGlzdA== IEtvdg== cHJlc2VydmU= X3BlbWI= LnNldFByb2dyZXNz IGR1c2s= IGNhbm5hYmlub2lkcw== IEt1bmQ= IENvdW50aWVz IO2OmOydtOyngA== IHJlbmFtaW5n IFJ1c3Nv TlNTZXQ= KEVYUFI= 5YW25LuW RGlhZ3JhbQ== LGxhc3Q= KHdpdGhEdXJhdGlvbg== IGluZGVidGVk IERpY2tlbnM= IEFscHM= IERlZ3JlZXM= aWRhcg== LWJsb29k K29mZnNldA== IEh1ZA== b3VuZGVy dWxuZXJhYmxl IHByaW8= YmxpbmQ= KHBhY2s= IG5pZ2h0bGlmZQ== IGlsbHVzdHJhdGluZw== IG51dHNoZWxs IGJyb2FkY2FzdGVycw== IGNvbXBhbnlOYW1l aXRvcmU= LnJpZ2h0QmFyQnV0dG9uSXRlbQ== Ym90ZQ== IFBJVA== LXNjcm9sbGJhcg== IHdpbmR5 IFFNYWluV2luZG93 aHVl LmVwb2No IGNhbWVy IENMVUI= aWZhcg== VW5hdmFpbGFibGU= LXF1b3Rl IEdyYXo= IHZhbHU= X01BVEVSSUFM IHBlbnk= IHRyYXR0 IGxpY2tlZA== CWNhbg== IFRhaXdhbmVzZQ== UGFnZUluZGV4 LlRpcG8= X1JlZA== IHZmcw== X3RyYW1wb2xpbmU= IE1QUw== IFBlYW51dA== IExvY2tlZA== CUFU anNwYg== X05PREVT J1dl IENvbnZlbmllbnQ= X3N1Y2Nlc3NmdWw= K3o= WUxlYWY= IHBlZGlncmVl eHo= IHNhbHZhcg== X0Rlc2M= IG5lc3Rh IGhhcmRjb2RlZA== LmdvbGQ= LkltYWdlRmllbGQ= X0JT TEs= Q2hvY29sYXRl LlN0YXJ0dXA= IGFuZWNkb3Rlcw== Lk1h P10= L3RvcGlj LlNjcm9sbEJhcnM= 0YHRgtCy0LA= IE1PTQ== IHFvcw== YXJ5YW5h w6RjaHN0 IE1jR2lsbA== IEVEVUM= KHBvc3Rz IEVudHdpY2tsdW5n X3NraWxscw== LWd1YXJk IHRleHRpbGVz fHVuaXF1ZQ== IEFyaXRobWV0aWM= TG9hZElkZW50aXR5 KTt9Cgo= IGFzc3VyZXM= V2lsZGNhcmQ= IGRlZmF1bHRlZA== IE5vdFN1cHBvcnRlZEV4Y2VwdGlvbg== IFRvbWF0bw== LlN1bW1hcnk= ISIu dXRoZXJmb3Jk IGxvb3Bob2xl IGNtYWtl LWRhdA== IHJhZ2F6em8= IGNhcGl0YWxz IEltcG9ydGFuY2U= IER1bmdlb25z X3pvbmVz LnNhdA== ICAgICAgCiAgICAgIAo= Y2F0ZWdvcmlhcw== IGRhdGF0YWJsZQ== IG5hamxl KGdw LXJlbg== IHBhbmlja2Vk IFNreWw= IFFVSUNL dmFsdWVPZg== U3RhdGlzdGlj IGRlbWVhbm9y bmRlcm4= IEFwcGVhcnM= UHJhZ21h X3Bhc3Q= SGFzaHRhYmxl IHRoYW5raW5n LmNzcmY= IHBhdmU= IFZpY3RpbQ== IFDDpQ== Rmlyc3RuYW1l Q0FURUdPUlk= aWxlc3RvbmU= JyktPl9fKCc= IGluY2FwYWM= U3RyZWFtV3JpdGVy IGNvbW11bmlvbg== X3N0ZGVycg== 6Ieq5rK7 IGh1bWFuaXRpZXM= INC70Y4= IFBhcmFz bG9mZg== SGVhZGVyVGV4dA== Z3JlZ2F0ZWQ= LlhSVGFibGVDZWxs IGVudGl0eUlk IE1hc3Rlcnk= b2xkdA== JykpKTsKCg== aHVtaWRpdHk= Li4uIik7Cgo= RGVsdGFUaW1l IG1rdGltZQ== UGhvdG9u IHBlbnNhcg== c2NhbGluZw== X3llbGxvdw== X211bHRpcGx5 IFZ1bGNhbg== IFBlYXJjZQ== X2xj LWV4Y2x1c2l2ZQ== SXNVbmljb2Rl IHBhZHI= X1BDSUU= IGdsaW1wcw== IHJhbXBhZ2U= IFBhZ2luYXRvcg== IGNvbnZleWluZw== bm9yZQ== X2RldGFjaA== J10hPSc= IGJvbmE= CUNvbg== TmF6 IHNlZ3VpbnQ= IG1pZXN6 IGVzb3M= ICcvJykK IGZhaXRoZnVsbHk= IGJla29t 0LDQutGB d2hlbG1pbmc= LnR3bw== IFNDRQ== LW5h ICgpew== IERhbWVu X3RndA== YWRhbGFmaWw= IE1NSQ== VGhpbg== IGRlcHJlY2lhdGlvbg== IGFic2VudGVl IHNhbGFyaW8= IFNvbWVib2R5 IFNsb2Fu IGVyZm9sZ3JlaWNo Ok5TTG9jYWxpemVkU3RyaW5n IGdlaMO2cnQ= IGVtbw== IExhZ3VuYQ== w6FzYQ== aXN0cmF0ZXM= UmFpc2U= IEFzdHJvcGg= ICdcXCc= X3BlZA== IFRIUk9VR0g= IE5pZXR6c2NoZQ== ZW5lcmF0aW5n b3BsYXllcg== IHJvZGVudHM= w7xobA== R2FtZU1hbmFnZXI= IEhlYWRlckNvbXBvbmVudA== IG1pbGFu cXVlZW4= IFBPTEw= IEx5bWU= IEJyaWdncw== ZWNlcg== d2Fnb24= LkRFU0M= IGdsQmVnaW4= U3RhdGVtZW50cw== ZXRyaQ== IG1vY2tlcg== IEJsdWVwcmludFJlYWRPbmx5 L2NvbnRlbnRhc3Npc3Q= ZW1hYWt0 L2xvYWRlcg== X2xvd2VyY2FzZQ== Y2l2aWw= X3ZhbG9y X0dsb2JhbA== IGFkcg== aXRpemVu LlNpZGU= IEVtYmxlbQ== IHRoaXJkcw== X1NIQVBF UmVncmVzc29y UFlUSE9O IHBzeWNob3RpYw== IGN2cw== IEFwcGxpY2F0aW9uVXNlcg== IGFsdW5vcw== VG9nZ2xlQnV0dG9u IG5nYQ== IG3Do2U= YWR2ZXJ0aXNlbWVudA== 5YiG5Lqr Lm92 IEFPTA== UkVX INin2LPYqg== IEdpbm55 IC8vLy8vLy8vLy8= U29uZ3M= YWNpYw== Q01Q IHJlY29nbml6ZXI= IHDDq3I= RElD O1wiPg== IGNsb3Q= OkV2ZW50 LlRP IEN1cnNvcnM= XFN0b3JhZ2U= IElvbmljUGFnZQ== X2pldA== KEJpdENvbnZlcnRlcg== IGNoaWxkaXNo VHJhZGVy PEhUTUxJbnB1dEVsZW1lbnQ= X0ZSRVFVRU5DWQ== PSI7Cg== eXN0YWNr SnVy IOmU IHRjYg== IHJlY2liaXI= LnN6 IO2BtOuemOyKpA== UEVSU09O bm92YQ== IGNvZXI= IE1haG1vdWQ= IFdvcmtwbGFjZQ== IiIiKSwK LlBhZ2VTaXpl Z2V0Um9vdA== KGJhc2VVcmw= W1U= IE1DUw== IENsYXJrc29u LnZvbA== ICIifQo= IHBldXg= IFByb2R1Y3RTZXJ2aWNl IG1vbmRheQ== IFRlc3REYXRh IE1hdWw= IHN0cm5jbXA= IHNob3BwZXI= dGhlb3J5 IGV0aXF1ZXR0ZQ== bGljZW5jZQ== c2NhbA== LWNsdXN0ZXI= IGhpc3TDs3JpYQ== IFN1YnRyYWN0 IGZpYmVyZ2xhc3M= X2xhc3RuYW1l IFJld3JpdGU= L3RvZG8= IG92ZXJmbG93aW5n IEdhdXNz b2theQ== IGNsdW1zeQ== KHh5 IGV4ZW1w YW5hbHl6ZQ== LXRpY2tldA== bmluZQ== IERlYWRwb29s IGNvbHVt IEpL IFtdLA0K IEFzcGVu IG1hbGlnbmFudA== aMO1ZXM= U2NhbGE= aW5uZQ== IENPTlNUQU5UUw== X1ByaWNl IyUl IGFyc2No IE5TQXR0cmlidXRlZFN0cmluZw== IEZpbGVUeXBl YWxsb2NhdGlvbg== X3Npbmd1bGFy KFBvaW50ZXI= YW5uaWVz U3RvcmVk ICc7Cgo= 4oCZZXg= ZHJz QnJpZ2h0bmVzcw== L09S VGV4dGJveA== IGtuYWNr IGplbmlz IG9jYXM= ZGF0YXA= IGdhbWVUaW1l IOCw bmR4 IEVWVA== QnlUZXh0 IGF0dHJpYnV0ZU5hbWU= IGp1Z2Fy X3NlcXM= IEZFQVRVUkVT OmRhdGU= ZmJl cmlwcGVy 56iN LkV4cHI= VXJiYW4= aWRvdA== IG9ibGl2aW91cw== KERiQ29udGV4dA== Q2Fyb2w= KCcsJywk IEJyaWxsaWFudA== a2Fk Y2VudHJhdGlvbg== IGt1aw== IE1BTkFHRU1FTlQ= X1dFQVBPTg== IGppaGFkaXN0cw== IGVudHJlZw== IGRvxJ8= IGFwcGVuZGluZw== IFpp X2N0eHQ= IHF1YWRyYW50 ZWxlbWVudFR5cGU= PWltZw== YnJ1YXI= SUNBU1Q= IGludGVsbGVjdHVhbGx5 LkFubm90YXRpb24= IGNhbXBhaWduZXJz LkRhdGFHcmlkVmlld0F1dG9TaXpl IMWfZWs= IC9eKA== LkRhdGFUYWJsZQ== IHdlYmxvZw== KGxpYnJhcnk= IEZ1cw== IE9TVA== X1Bhc3N3b3Jk IEJ1Y2tsZXk= aG9mZg== QWxpZ25lZA== X1JlYWw= RU5USUM= L2dyYXBocWw= IFdlZWQ= IExTQg== b2NjYXNpb24= YWRkYWZp TGV0cw== KCJg IHdpZGVu KHZpc2l0b3I= ICJcCg== QU5URQ== LWNhbXB1cw== LUJhcg== Y2FtZWw= Rm10 OmRlc2NyaXB0aW9u LmFyZQ== IEFuYXN0 IExvbmdlcg== c2VyaW91cw== IGRhaGVy aXp6ZXI= TXVsdGlwbGljaXR5 IEhvbGxhbmRl IEFubm90YXRpb25z KCk/ IHByb3Rlc3Rlcg== IFVyZHU= IHNwZWNpYWx0aWVz X2x5 Q2Fk YW5udA== anNw IGpvZQ== KXI= IFBlcnNpc3Q= IG9ibA== IGRlYWRsb2Nr IHNlcmk= UmVsYXRpdmVUbw== IFl1cw== KFByaW50 YWJpbGlh IHVucHJvdGVjdGVk IEFTSUM= Lk5vbWU= IFdlYkNsaWVudA== IElUVg== w7xybmJlcmc= aXRvcmk= U2lnbmluZw== IFJlYWRvbmx5 IGVsZHJl IENoZWNrZWQ= YWxudW0= U291cmNlVHlwZQ== bGV4aWNhbA== IGlsbHVzdHJhdG9y IERpcmVjdG9yYXRl IFRyb20= bXBw bG9nZw== Lmluc3RydW1lbnQ= IHdvb2RlZA== IFVzZXJUeXBl IFJlbmNvbnRyZXM= bW9kZWxOYW1l QlRUYWdDb21wb3VuZA== PlRv IGZyZWV6ZXM= IENvbnRl IENyZWRlbnRpYWw= Y2FsYQ== L3dvcmtzcGFjZQ== IGxpYmlkbw== Y2hsdXNz b2xsZXlFcnJvcg== IGFjY2lvbmVz IEppbnBpbmc= YXTDqWc= SW50ZXJzdGl0aWFs KSkpKSk7DQo= eWJyaWQ= IFJvbGxlZA== TW9kZWxDcmVhdGluZw== IFJlZmxleA== IEx1Y2lmZXI= IGVoZXI= IGNhcm5pdmFs ISI7DQo= X0xPT0tVUA== IHN1Y2PDqHM= IHJlb3BlbmluZw== IGNyZWFkbw== IFNteQ== IEVudHM= LlNpbmNl IEZpc2hlcmllcw== L2Nvbm5lY3Rpb24= IENTQQ== INC/0YDQvtCz0YDQsNC80Lw= bHNydWhl CWFjdG9y IFN0cmF1c3M= SnNvblZhbHVl CWV2YWw= bG9ja2Vy IFhJVg== X2h5cGVy IFBvbGx5 4oCmdGhl IEdVUkw= 0LXRgdGB IGRpdmVz dWdlb3Q= aW5lbWE= YmVyc29tZQ== Q29tcHJh LWN1bHR1cmFs IGdyYW5kcw== U2Fj IEJhcm5leQ== X1FVRVNUSU9O IG1hbWFu IGhhc3RpbHk= IGNsdWJob3VzZQ== IGdydW5k X1dBTEw= IHB1cmlmaWNhdGlvbg== hOS7tg== 0LLQsA== dmVzdG1lbnQ= LkRpc3BsYXlTdHlsZQ== X2NvcmVz JVM= IG9zw7Ni IGRpc2I= IEZyYW5raWU= IGluZGlzY3JpbQ== X0JlZ2lu KGVy O28= 44Oz44Kw bm9kZU5hbWU= IHJlZnVuZGVk IGRpc21hbA== IEh1ZmZQb3N0 IHVuZGVjaWRlZA== d3JpdGVsbg== a8Ozdw== IEJvc2U= CWxpYg== b3BsYW4= aW50ZXJwcmV0ZWQ= IE1PTkVZ dXZv IG50b2hz aXNldW0= Pmo= IHVuZml0 IGh1Z2dlZA== IEplc3Q= bXBz IGJyb20= J28= IGZvdg== IFNocmluZQ== IEVJVEhFUg== eWNhc3RsZQ== IHNhdHVy cmVxdWVzdERhdGE= W2Rpcg== T1VDSA== X0Rv IHlvbA== IGluaXRpYWxWYWx1ZXM= W3ZlcnRleA== c2VydmljZU5hbWU= LnNhbGFyeQ== IEF1dGhlbnRpY2F0ZQ== 6L6+ X1ZMQU4= KFtdKTsKCg== IFNlcnVt UGF0aFBhcmFt Zm9ybXVsYXJpbw== IHN1bW1hcml6ZXM= T0NS b3JhbQ== TERBUA== Ymlj cGlja2Vk LXRoYXQ= IGNkcw== CWFuaW0= IGludHJpYw== IFdvcnQ= IFZMQw== IFNoaWl0ZQ== U3R1ZGllcw== LmRpc3BhdGNoZXI= KGVuYWJsZQ== Lm1peGlu IFNleW1vdXI= IGJpb21lZGljYWw= IFNwb29u IE5vcnNl IGludGVudHM= IMOpcXVpcA== IERyZXNzZXM= TFBBUkFN LnNldFJlc3VsdA== LmRlbGV0ZUJ5SWQ= IG5ld2ZvdW5k IE9TRA== b3VzeQ== IGVzdGFkb3M= W0J5dGU= Q2h1Y2s= Lm9uVmlld0NyZWF0ZWQ= IENvbnRyaWJ1dGlvbg== X0VuYw== SU5FVA== IGZsYXZvcmZ1bA== IOOCog== dmlzYQ== IEhlcmN1bGVz LmdldEFwcA== IFlvaw== Lk1haW5BY3Rpdml0eQ== KS5b IGxhdXQ= SW52aXRl IENodXJjaGVz LCcj 2YrYsQ== KFNT IHZlbmRh YXNqb24= LklOVEVS aXBoZXJ5 KFN5bnRheA== b25kcm91cw== CWNlbnRlcg== QnJhY2tldEFjY2Vzcw== IENhcGNvbQ== LmdldEZvbnQ= IFZhdWx0cw== IGRpc2XDsWFkb3I= Om8= KHNoZWxs IGVDb21tZXJjZQ== IGFsdHJl X2F0dGFjaGVk IGlzcg== IG9idGFpbnM= LkNvbnRleHRDb21wYXQ= IGF0dGVuZGVl IFR3aWNl IE1vb2Q= 6YKu566x bm9kb2M= IFBJWEk= c29mYXI= IEJsb29keQ== LkNvbXBsZXRl IEJFUg== IGdldENhdGVnb3J5 IGRpc3F1YWxpZmllZA== X1RydWU= J2Vy LXRvbw== IGh5cGVybGluaw== X21heGltdW0= TmVhbA== IHBJbmZv LmdldEVsZW1lbnRzQnlOYW1l c2NoZWR1bGVk cGF5ZXI= CXZlcmlmeQ== LWVudGl0eQ== bWV0YXRhYmxl YmlsZHVuZw== IGRlbHRhWA== ZW1wbGFjZQ== IHJldmVydGVk cmVwaWQ= bGVhcm5lcg== fSkpCgo= dWNvc2U= IHJpY28= IGJhbmdlZA== IEFmcm8= KGluZXJ0aWE= YW5zYQ== IMOkdmVu S2FyZW4= IHN1cGVyc3Q= IGZydWl0aW9u b3RjaA== IFBheXM= UmVzaWRlbnRz IHByaXNt Jik7Cgo= Lmptcw== IFNsdWc= PScnKQ== IGd1dGVu IFNwaWVsYmVyZw== IFRGb3Jt KGJlZm9yZQ== IEZpbml0ZQ== 5paw5aKe IG1laWxsZXVyZQ== 0L/QuNGB0LDQvdC40LU= X0Vycg== LWZ0 bmFubw== LkFkZHI= IC8vDQoNCg== IEpvbmFo IERpc2Nv IGx1bmNoZXM= IERGQQ== ZXhwbGljaXQ= XSc7Cg== IHJlZmluZXJ5 IFN0cmluZ1R5cGU= dW5zcXVlZXpl IExpa2VseQ== V3JpdGVz LmJwbQ== IHBJdGVt b3Vuc2Vs U3RhbmRpbmc= IGNob2tlZA== IGFuc2No dXBpbA== IERlYnVnZ2Vy 4qCA4qCA PEdyb3Vw IFNjYWxpYQ== IHN1YnN0aXR1dGlvbnM= IGNsaW1iZXJz ICopIg== IG5hbm9wYXJ0aWNsZXM= IEFQUFJP IHB1cmNoYXNlcnM= IFFUZXN0 IEF3YWtlbmluZw== CVNlcmlhbA== LnJlcGFpbnQ= IHNhdm9yeQ== IHBvcm91cw== IGFWYXI= IFN1YXJleg== LUVhc3Q= Qm94ZXM= IFdlaW5lcg== IENSQQ== IOqwkuydhA== IHhsaW0= Ij8KCg== IHdhc2hpbmd0b24= 7Jq0 IHRvdGFsZW1lbnQ= X210aW1l LnNldFNjZW5l IGxsYW1h IGNibw== ZWZk IHVuZGVycmF0ZWQ= cmFpc2luZw== IE5BVElPTkFM ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCg== b3B0aWM= aWRlYXM= IOaPkA== IGxhaw== ISEs IGtvbW0= cGFyYWd1cw== U2l0ZXM= IHN0cmVzc2luZw== IE1hdEJ1dHRvbk1vZHVsZQ== IENvbnZlcnRlZA== YW5hbWU= X1JFQURPTkxZ XT0+ IGJvcmRlbA== IGJpYmxpb2dyYXBoeQ== IGdyaWRDb2x1bW4= IGpvdXJuYWxpc3RpYw== 7J6E IHJhc3BiZXJyeQ== c3RpY2U= IGFicmFzaXZl IERCSGVscGVy IGludGY= IFJUQlU= fSciLA== IEhhbw== c3dhbmE= IGphbnZpZXI= IGluc3RpdHV0ZXM= IFNlYmFzdA== X0NPTFM= IGZpZ3VyYQ== IFp1c3Q= Zm95 PigpKTsKCg== IExpZWJl QWdlbmN5 IOyLnOyekQ== IFRodW1ibmFpbHM= dGV4dFRoZW1l IGVjaG9pbmc= ZW1wZXJhdHVyZQ== IGZpcmVwb3dlcg== ZWRi OicpOwo= w6lnb3I= L2ZlZWQ= IGh1cmw= LWF2YWlsYWJsZQ== IFJlbmRlcnM= IGZkcw== IEpTR2xvYmFs IENpdGl6ZW5zaGlw a2llZ28= U3RhbmRhcmRJdGVt LnBsYWNlcw== IHNjYWxhYmlsaXR5 IFRyYWlscw== Zm9sbG93ZXI= IHNlcnZpw6dvcw== ID8+Ii8+Cg== W21ldGhvZA== KGli IHJpZGljdWxl IGFkYXB0YWJsZQ== ZmlsdHJv IGtldG9nZW5pYw== LkltYWdlVHJhbnNwYXJlbnRDb2xvcg== IENGTw== IFBFRA== ICIiKTs= b2dsb2Jpbg== W3NpemVvZg== QnJhbmRvbg== LlRvU2hvcnQ= IG5pxbw= IFRFUk1JTg== LmdldFN0YXR1c0NvZGU= IGRlYnRvcg== IENPTlNUUkFJTlQ= CXNpZGU= IERvbWlubw== 0YLQvtC8 IGdsYWNpZXI= IGdyb3U= enA= IENhcmxh LUZlYg== UGVs LnJlYWRWYWx1ZQ== Y2xpbWF0ZQ== IHRpbGVTaXpl LnRyaXA= RU5URQ== IGNodWJieQ== IGltcG9zaXRpb24= TE9XRVI= LmJ5SWQ= Lkxvb2tBbmRGZWVs YXJpaA== LmZpbmRCeUlkQW5kVXBkYXRl IFN0b3JlZA== IGJvdXJnZW9pc2ll SFRUUFJlcXVlc3RPcGVyYXRpb24= IHN1Y2tlcg== LmRlcXVldWU= bGlja2Vu IHN1YnJhbmdl X01FRElVTQ== SXNsYW0= IFNwYXJrcw== 77yaJQ== aW1wb3J0ZQ== IGAt IGpveXM= Z3JvdXBpZA== Rmx5aW5n CWJz Z3Jvc3M= IEZpZXN0YQ== IGNzdA== IGFmaWNpb24= b3Bob24= X0NJ am4= QmVhdXR5 IHNjZQ== IGNyYWNrZXJz YXBr IGdvcmQ= IHByZXRleHQ= IFtc IENhbmRpZA== R29hbHM= QWN0aW9uVHlwZXM= LG51bWJlcg== IHBvcHVsYWNl IGVudHJlbg== IEF1dG9m 6Zmi QmFzZUNvbnRleHQ= QmFsYW5jZXI= KEJvcmRlcg== IG1pbmNlZA== cmVjYWxs Y2Jh IGFwcHJvdmVz IEtsb3Bw ZXJtaW50 X2Zyb250ZW5k ZXNjbw== IG5pbmV0ZWVu RHJpdmluZw== IFhWSQ== IFRhY3RpY3M= IHByb2dyYW1hcw== aWVzZW4= TW92 ZGlldA== YXV0w6k= KCIuIik= IGdvdmVybm8= X0FuZA== L21pdA== IGNhZmV0ZXJpYQ== LXRyYWNraW5n IGNvbW11dGluZw== LnVua25vd24= X3R5cGVvZg== IFNTQQ== UFJPVE8= Lk1lcmdl IGZvckNlbGxSZXVzZUlkZW50aWZpZXI= IFNhdGlzZmFjdGlvbg== ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw== SU1QTElFRA== IFJlc3RyaWN0ZWQ= IE1hZ251bQ== 0L3QvtC8 S2Fuc2Fz YXlsaWdodA== IFRvd2FyZHM= IFRvbWU= IFRlbmRlcg== X2RlcHQ= LmNydA== dHJlY2h0 U1RPTkU= IGVtcHRpZWQ= ICcpOwoK 4LiB4Liy4Lij 0Y/RgtGM bGVjaw== IFt+LA== LmV4cGlyZXM= IFRpZw== IElyb25pY2FsbHk= CUxM Lk5vdE5pbA== IOWKoA== IEdvdmVy IFBlcnNwZWN0aXZlcw== IERWUg== IGxva2FsZQ== IHJlc2VuZA== IGRvdWJseQ== IGNvbXVuaWRhZA== IEFzc2VtYmx5Q29tcGFueQ== KHR1cm4= IHN1Ymxpc3Q= IGVuZG9yc2VtZW50cw== X1JFR0lTVFJZ ISIpDQo= KTs7Cg== IGdhbnpl IEhhcm5lc3M= X21hdGNoZWQ= 5L6h 4oCiCgo= Q2hlZg== CUluaXRpYWxpemU= KTsiPgo= IEZhcmFnZQ== cmlzaA== YWx0ZXQ= RGVhbGVy LkxvZ1dhcm5pbmc= KGFmdGVy IEdhcnRlbg== IGV4cGxvZGVz LkNMQVNT IHVzZVJvdXRlcg== LUxh IHNhZGRlbmVk YXJvdg== VG9VcGRhdGU= IOae cGlp JwoKCgo= IFRSQU5TQUNUSU9O b25nYQ== bG9nYW4= Q3Jvdw== IGJyaXRpc2g= IENvbnRlbnRWaWV3 X0JC b2x2ZW5jeQ== bG9hZE1vZGVs VE9PTFM= aGV0ZW4= X25o QUJM LXZlcnM= QXJlbmE= LnNpbmdsZXRvbkxpc3Q= KHBhdA== CW5hbWVz KHNx IHZhbG9yZQ== JHJlcQ== IGFudGhyb3BvbG9neQ== VGhpbmtpbmc= IG1pc2NoaWVm IGFyY2hpdmFs 4KS5 LlNldFRvb2xUaXA= cHJhcg== YW5qYQ== IGZpcnN0bHk= CWxpZ2h0 LS0s IFNwZWFycw== IG9nbA== c3RlZW4= aW1wbGVtZW50cw== cmlzdHM= K0U= IEJhbnM= IGZhc3RiYWxs IEhlcm1lcw== dmVsZWQ= dHdlbnR5 IG5lY2VzaXRh IE1vcm9jY2Fu aXNMb2dnZWRJbg== Q0xPQ0tT LkFic3RyYWN0aW9ucw== LlBhY2tldA== IG1lbmFjaW5n LXZlc20= IExpdmluZ3N0b24= IG9jaQ== IGV4dHJhZGl0aW9u ICQoJA== IExvY2tlcg== IFJlYmVsbGlvbg== IG1peGlucw== Y3RhbA== L3JmYw== IFNHRA== LGlkeA== IGJsZWlidA== KFwk IHBldGVy IGJhcnJlbg== IHBob3NwaG9yeQ== IGdvZ2dsZXM= LmhvbQ== QGQ= PSct LmlzVXNlcg== YWthc2g= X2h1Yg== aXBlbGluZXM= IEB9 LnN1cm5hbWU= SW50ZXJvcA== IGluRmlsZQ== IGVzcGVjaWFsbWVudGU= IGF1dG9ub20= IFphbWJpYQ== X0NPVU5UUlk= PENvdXJzZQ== aWRlb2dyYXBoaWM= IENhbWVyb29u ZmluZEJ5SWQ= KSIu IERlcGVuZHM= cml0b3M= Lk91cg== IHN1YnNpZGl6ZWQ= JywnIis= IGdsZWFu IEFzc2VtYmx5Q29weXJpZ2h0 cGljYWJsZQ== IHVud2l0dGluZw== IG9tZGF0 IEVhc2U= IGVtYm9kaWVz KHBEWA== IFZvdGVy QXNzaWduZWQ= cmV2ZWFs IGZlbmQ= KHBhcnNlRmxvYXQ= IGRwcw== dHBsaWI= YXNzZXJ0Q291bnQ= eG1heA== VW51c2Vk KGZi IHN1Ym1pdHM= IFJlcGxpY2E= KGR5 IGJhbmRl LnNlbWFudGlj IHNlYXJjaFN0cmluZw== IFNhbmZvcmQ= CWZ1bGw= cHJt X3V0aWxpdGllcw== VU5VU0VE IHNjYW5uZXJz IGJmZA== Lk9yZ2FuaXphdGlvbg== LWN1cg== UmFpbA== IHhueHg= JSk7Cg== IG92ZXJwb3N0aW5n VmlldA== IHRhcGVyZWQ= IGNhbWVv IFZpZXdpbmc= IGRpc21hbnRsZQ== IGZpc3M= IFNlbnRyeQ== aGVhdG1hcA== IMOhcmVhcw== IEdyw7w= IGppZw== LmNsZWFyUmVjdA== ZXZlbnRUeXBl IHR1cmJ1bGVuY2U= Y2tpbGw= LkZvY3VzZWQ= IGludGVybWVkaWFyeQ== IE9iZXNpdHk= YXRlZ28= bW9udG8= IEFsYW1vZmlyZQ== IFNoZWlsYQ== IENPTExFQ1RJT04= Q2FyZEJvZHk= IEhhYml0 UExBTg== LnZpc3VhbGl6YXRpb24= JSkuCgo= IEludGVsbGlK IEdsb3Zlcg== LnNwYXRpYWw= IGdyZWV0aW5ncw== IE9wZW5GaWxlRGlhbG9n ey8q IFTDqWzDqQ== IEVm ICJbJQ== IG1hZ2lzdHJhdGU= IExpdGVjb2lu IFNlbGU= IGNvbW1lcmM= cHJpbnR3 bmV4dEludA== LmdldENoaWxkQXQ= IEdldEN1cnJlbnQ= IGV1cm9ww6k= IEFJUw== ZXR0ZW4= LkV2ZW50UXVldWU= YW5mb3Jk dW5ha2Fu LnNldE91dHB1dA== IGNtZGxpbmU= LGdldA== IEhlYXJk LmNvbnRlbnRUeXBl ZW1k IFJldG9ybmE= YWNk IFBsYXlvZmY= YWNtYW4= LndlYnNvY2tldA== Q2xpZW50SWQ= LmV4YW0= IGF0dGVudWF0aW9u LnNldENoYXJhY3Rlcg== CUNvbGxlY3Rpb24= 5rCX IHByZWRpY3RvcnM= IFNoZXJpZGFu cmltaW5hdG9y KFN0YWNr X1BLRw== PScnKToK KHBhZA== IE5vZG8= IGludGVyb3Blcg== IFRyYW5zcGFyZW5jeQ== CWR4 emVt IHByYXRpcXVl IGZpYnI= KCk/Owo= X01PQklMRQ== LlJFRw== X1lFTExPVw== VGl0YW4= JykKCgoK IGNvbXBvbmVudE5hbWU= IENvb2xlcg== aXNGdW5jdGlvbg== LmZlZWRiYWNr IHBlcmZlY3RlZA== IHBhZWQ= LXNjcmlwdHM= U3VzcA== PE9wdGlvbg== IER0 7YS0 J1JF IE5STA== IE1hbm55 IHJvZw== IEdhcnI= X2Nvb2tpZXM= U3Bs IHByb21vdGVycw== KmR0 XEFQSQ== IGV2b2tl X0VudHJ5 IGZpcmVmaWdodGVy aXZpZGFk SmFjb2I= IGxlZ2lvbg== KHBvbA== CWZsYXNo b29rZWVwZXI= LmNsaXBzVG9Cb3VuZHM= IGdyYXBoaXRl J2h0dHA= X1RSSUFOR0xF IERyb3BJbmRleA== LnNtdHA= IFVOU0lHTkVE X1BJQ1RVUkU= X09SSUVOVEFUSU9O IE9QUA== Iyc= w6FmaWNv Lmhpc3RvZ3JhbQ== IEJlbm55 Pldl IHJlcG9zdA== IGZpYW5jZQ== IEJvdW50eQ== c3RyZXNz RGF0ZXRpbWU= Okg= IFNwaGlueA== Tm9ybWFsbHk= YXBpeGVs IHVzZXJBZ2VudA== IE1vcmk= L2xhYg== Lk1PREVM IEVtb3Rpb25hbA== U2NhbGVk ZGV2aWNlSWQ= IOqzhA== Y2Vhc2Vk PElN Y2VlZGVk IGxpYnJhcmlhbg== KW51bGw= IG1pY3Jvbg== IEZvdQ== dWxlbg== L2xpdmU= cnNjaGVpbg== ZmVh IGhhYmls IE5hdkxpbms= bmVjZXNzYXJ5 LmNvZGVz LW1ha2U= IHBQYXJlbnQ= X3JlbGF0aW9ucw== IHJ1c2hlcw== IHByb3BlbnNpdHk= IFNraW5ueQ== V0VTVA== X2NvcnB1cw== KHJlb3JkZXJlZA== ZmRi IEdldE1lc3NhZ2U= QnJ1bg== LnZz IHDFgg== IGNydW5jaHk= Qm9vbQ== UEo= SmFrZQ== 57qm JGNsaWVudA== IH1dKQo= IGNvbnZlcnNl IEdSQVQ= IENSUw== Lkxvdw== KHZhbGlkYXRl X0NMSUNLRUQ= LmJsdWV0b290aA== CXh0eXBl IGNsb3NlTW9kYWw= X2ludGVudA== IHByb2dub3Npcw== c2F2 Q3Rs IGNob29zZXI= IFN1ZG9rdQ== PVVzZXI= LmNsZg== CWV4cGxpY2l0 IHBvdGVudGlhbHM= IEdlb3JnZXM= IGVsaWM= IHRzbGli IFJhZ25hcg== X3JlcHJlc2VudGF0aW9u LWxlZ2dlZA== aGFtc3Rlcg== IEZpcmVzdG9yZQ== Y29udmVydFZpZXc= Q29tYmluZWQ= INC00LXQuw== IGVzcGVjdA== IOOCkg== IFN0YW1pbmE= bG9va3M= RU5BUklP L2ZpeHR1cmVz LnNtcw== IHNlbWljbGFzcw== IHNlbWljbGFzc2ljYWw= LlBlZWs= XSQ= X0RTUA== X0xWTA== VklSVFVBTA== IENhcGl0YWxz IFNDVA== LldoaWxl IFN1YnN0YW5jZQ== LWRvbmU= IGVuc2xhdmVk Y2xhc3NpZnk= ZW50YW55bA== IFZlZ2V0YWJsZQ== X0RFUEVORA== RGFuaQ== IHF1aWVyZXM= IGFiYmlhbW8= IExpYmVy YWZj 6YCf cHJlZGljdGVk LlBORw== IFdoaXA= Ly89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ== IOKJoA== IOWM REVN Q0NB L2Nsb3Nl IC8vLzwv IG1lc21h IEJlaXJ1dA== IEluaXRpYWxpemluZw== 4buZdA== TU9OVEg= IO2bhA== UGFya2luZw== Q29tZm9ydA== IEVuZ2luZXM= d2VycA== QFJlcXVlc3RQYXJhbQ== LUtleQ== IGJhY2tsaWdodA== cGFzc2Vz Lm51bWJlck9mTGluZXM= L0xpbnV4 KEhUVFA= IEh0dHBVUkxDb25uZWN0aW9u b3Nvcw== Lnh4 IGZpbG1wamVz ID09PT4= b3B0aW1pemU= Q2Fub24= IC4uLiIK ICciJzsK IGPDqWxpYg== IHByaW5jaXBhbG1lbnRl IFByb3BlcnR5VmFsdWU= T1VOQ0U= IGV4Y3Vyc2lvbg== IEFjY2Vzc1Rva2Vu cmVxdWV0ZQ== Vm9sdGFnZQ== ZXhwbGFpbg== fSkoKTsKCg== VVJMT1BU IGZ1bmdhbA== R3JlZWs= LWJsaW5k IGZldWRhbA== IFNvbmF0YQ== IERpYWdub3Npcw== JHhtbA== ZWRpdGFyeQ== IHN0aW11bGF0ZXM= UG9udA== Lkhhc1ByZWZpeA== Ym9hdHM= IFNjYXR0ZXI= IEdFTkVSSUM= IGZpc2hlcw== PWxlbmd0aA== IG1lbGhvcmVz c3BlbnQ= w7Rt IEluZ3JhbQ== Pi4KCg== cGFyaXR5 LlZpZGVvQ2FwdHVyZQ== IFR1YmVz IGNvbWVkaWM= IHByb2Nlc3NEYXRh QURC KG5ld1N0YXRl 5YGc IFdlYnNlaXRl X09mZg== LGJvZHk= IHN1YmNvbnRyYWN0 IGNodXRl IGNhcnRlc2lhbg== dGhyZXNo LkNhcnQ= IG1ldG9k Y3VzdG9taXpl THRk CXNvdW5k V2ViU2VydmljZQ== IEhpbmRlcmVk W3Jlcw== KFRpbGU= Y2FwYWJpbGl0aWVz X09WRVJGTE9X INGB0YHRi9C7 IENvY2g= IHRlc3ROYW1l V09SRFM= XE1vZHVsZXM= P3VybA== X2NvbnRpbnVvdXM= IFFJY29u IHN0YXJlcw== IGVqZWN0ZWQ= IEludmFzaW9u ZmluYWxpemU= IGdldg== PGc= IEVkaXRvckdVSQ== QmVybGlu LmxpbmVFZGl0 LXJlZ2V4cA== IHNsZWQ= IEVBQ0g= dWNv IHNlZWRpbmc= IGxvY2FsaXpl ZXR1 X2FsbW9zdA== cGFuc2U= IFNlbnNvcnM= X1NJ KnNw IFByb3BlcnR5SW5mbw== IGFwcm94aW0= IGRhdGFHcmlkVmlld1RleHRCb3hDb2x1bW4= 16A= IGRpZmVyZW5jaWE= TE9PSw== IG9tbmlw IFR1cmluZw== IHVuaWRhZGVz 77yfCg== LlJvd0hlYWRlcnM= X0FDVElPTlM= IERhbHk= IGZvcnRpZmllZA== IFdhZ2U= LnNpbXBz KGlzc3Vl IGxlcHQ= T3duZXJJZA== J29yZGVy 5Y+N 56Wo IHJld3JpdGluZw== Lkl0YWxpYw== IEZvcmdvdHRlbg== KElM IE5vU3VjaEVsZW1lbnRFeGNlcHRpb24= ZXdu IHBvcHVsb3Vz IFNoZWQ= IyR7 IEFsbw== RGV2aWNlSW5mbw== KElOVk9LRQ== IHBlbmE= IEJCQg== LmJi IHRvcnM= IGNvbmR1Y2l2ZQ== LXB1cnBsZQ== IHNxdWFyZWx5 Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCg== 0LrRgNGL ZmFzdGE= IGNwdA== IEluZ2Vu IHs/fQ== 0YPQsw== UGVybA== LnNreQ== LWF1dG9tYXRpYw== aW1wbGVtZW50 b3JubWVudA== LklNQUdF LVNwZWVk CUZpZWxk IHBvdW5kZWQ= IExa IGF1dG9Gb2N1cw== IOC5gA== LkNvbXBhbmlvbg== IFZpbQ== dW5jaWE= X3NrYg== IHVubWFycmllZA== IFNvdXI= Z2FhcmQ= TGVvZA== IOCq LkNsb3Vk IHJlaW5mb3JjZXM= J10+ IGZlbGl6 IFVBVg== cmFuY2Vz 5Y2B VG9MaXN0QXN5bmM= LkV4ZWN1dG9y LXRz ICcuJzsK IEtpbmVjdA== 44GE44GG IGJldm9y IEV4dHJhY3Rpb24= X2RyYXdlcg== JHN1Yg== IHVwbGlmdGluZw== LmJ0bkV4aXQ= KCcvLypbQA== UkVESVM= c3RkZXhjZXB0 ZGVv IGdpdmVy X2JpbmRpbmdz VG9EZXZpY2U= Lm1p IEVzdGltYXRlcw== YWxsZWxl Pz8/Cgo= IFN0cmVhbXM= IGFmZmxpY3Q= LnNhcA== IHF1YWxp IEdhdWw= U3BlY2lmaWVz IHpr IHNhbml0YXJ5 IG5ld0luZGV4 c3BlY3M= IGZyYWdtZW50TWFuYWdlcg== IE5lY2Vzc2FyeQ== CVNwcmluZw== PX4= IE9NQVA= Y2FyZWVy KCItIik7Cg== IERhcmxpbmc= aXRhZw== OnBr IFN0ZWxsYXI= IGluZmVydGlsaXR5 bGV4aWJsZQ== VW5hcnk= IDpdLA== Lk5FVw== Z3N1Yg== X1VGdW5jdGlvbg== LnNsaWRlcw== IGRpdmVyc29z X2xvY2Fscw== XFwv IHBjYXA= IE9vaw== LkRhdGFHcmlkVmlld0NvbnRlbnRBbGlnbm1lbnQ= ZXJzb25pYw== IHRyZWJ1aWU= IHNlcXVlbnRpYWxseQ== YWJhcg== IElQQ0M= IGRldm91dA== XEhlbHBlcnM= RVR3ZWV0 IHRyYWJhamFy IFdpbGtpbnNvbg== IGRhw58= SHVtYW5z VGVhY2hlcnM= IERhdGFWaWV3 IFlvZw== IGplZGU= IGFtYmlhbmNl dHJhbmQ= IGVycmF0aWM= IHThu6s= LnJhYmJpdA== IG5ld2JpZQ== IGVudHJhbmNlcw== IG9ydGhvZ29uYWw= IERJU1BBVENI IFNjaHJv X1RVUk4= Omludm9rZQ== IHRhbnRhbA== IFpvbmVz c3RhdGVtZW50cw== TGltaXRz IEfDpA== aWHFgmE= LnByZWRpY2F0ZQ== LkZS IENocmlzdG9waA== LkNvbnM= IEhvcnRvbg== X0N1c3RvbWVy CU1E IGVsa2Fhcg== IE1TRQ== IElzQWN0aXZl XSop XFVuaXQ= IGVv Rm9yT2JqZWN0 ZWxpYWM= LWRldmVsb3BtZW50 IHRlYWw= IHN0aXRjaGVk IE91dGNvbWU= b25jw6k= ZW1iZWRkaW5n IG9uTmV4dA== IO2VtOuLuQ== KGV4aXN0aW5n LmJpZA== CWFzc2VydEZhbHNl e2w= TEVycm9y X2J1bGxldA== KEh0bWw= IGVCb29rcw== cGVyUGFnZQ== L3F1ZXN0aW9u LmZha2U= Lm1i X2RsbA== IGN1bXNob3Q= IE1hZGFnYXNjYXI= SE9MREVS IHBlc3F1aXNh X0RFQ0xT XSxbLQ== IEFsYmFuaWE= LXRvYXN0 IHByb3RhZ29uaXN0cw== IG15b2NhcmQ= IHdhbGtlcnM= ID09PT09PT0= L1BhZ2U= PTw/PQ== IGVucXVhbnRv X1RSVU5D IHNlcHRlbWJyZQ== IGxheW91dFBhcmFtcw== ICcuLi8uLi8uLi8uLi8uLi8= IFRyYWZmb3Jk IHBhbGF2cmE= IHJ1bmRvd24= IGJyaXR0bGU= w6RjaGU= LllFTExPVw== IENlcmVtb255 IG5ld1RleHQ= dmVjcw== IGVzc2Vu IE1ldG9kbw== IEdVSURF IHBvc3Rwb25l IFZTdGFjaw== WyIk IE1pY3Jvc3lzdGVtcw== XFBhZ2U= cG1hdA== X0ZBVUxU X21C U3RhdGVNYWNoaW5l RmFjdWx0eQ== Lnd4 IE1vemFydA== YW5pbWU= IHB5dA== IEJ1a2tpdA== LUlORlJJTkdFTUVOVA== IHNlYXJjaGVy LWJhc2tldA== IG9tYXM= IFR1bmlz IFBsYXR0 IHsNCg0KDQo= eWFo dG9sdWE= SW50cm9kdWNlZA== c3VwcGx5 IG1pc29neW4= IFdhaXN0 IEVI LW9wZXJhdG9y IGRhcmtlbg== IENvc21pYw== IGdsYWNpZXJz IA0NCg== XVtf Q29tcGFueUlk IFJlY29uc3RydWN0aW9u aXp6bGllcw== IGzDrWRlcg== IGNvbGxlZ2lhdGU= IFBldHR5 T1VSTkFM ZGVjb3JhdG9ycw== cmFtcw== KCgK IEFzdHJvbm9teQ== IHJpbw== IEN5cmls anVhbg== IHJlaW5j IFBpc3RvbnM= IEJ1c3k= cHRyb24= IHBvbW9j CVJUQ0s= QnV5aW5n Ly8qKgo= IFdyYXBwZWQ= IE1lZXI= IGltYXA= IGJlc3RpbW0= IEFnaWxpdHk= LlRvVGFibGU= c3RpbmVuY2U= XSkqKg== IEF1dG9tYXRlZA== ZHNw IEdhcmxpYw== aW9kZQ== ZXhlbHM= aW50cm9z IGJlc3Rvd2Vk KHZpc2libGU= IGh5ZHJhdGVk bm94aW91cw== IEF1dGhlbnRpY2F0aW9uU2VydmljZQ== IHNob3dNb2RhbA== IGNvbXBvc2Vycw== R0VORVJBTA== Q1RT IFNocg== Y3JlYXQ= IGNsb3NldHM= IGdyb3VuZGluZw== IENPTU1FTlRT ICsj IGdyb3VuZHdvcms= KGluZGV4UGF0aA== Z3JhdGlz dXBwaWVz IGt2bQ== IGN1YWxlcw== LkRlZXBFcXVhbA== IGFsbG95cw== LWJ1ZGdldA== KF9fXw== IGNvbmVjdGFy LXJhZA== IGl0Y2g= bGFtcA== LmdycA== LWFkZG9ucw== IHNlYWJvcm4= IG5lZ2xpZ2VudA== X0RldGFpbA== IHNlcmVuZQ== IGJhcnJhY2tz IGJx IFNlY3Q= KGRhdG9z IHRoZW1hdGlj IHBvbGx1dGVk CWFuaW1hdGlvbg== SHVnaA== RXhlY3V0YWJsZQ== KCcvJylb IGFwb3B0b3Npcw== IGFiYnJldmlhdGVk Zm9vbg== UmFua2Vk CWhpdA== CQkgICAgICAgICAgICAgICAgICAgICAgIA== Q29udGludW91cw== IG1vdmVUbw== REJPYmplY3Q= IGNvbmNlaXZhYmxl IEd3ZW4= IMOhbGw= X18oKQ== IExhbmE= IGVpbnplbA== IHJlY291bnRz eXN0ZW1z b3dhbnk= KTo/Pgo= IEFrcm9u b2xpbmk= Q29ycA== YXBocmFn ICInLg== IGNvbnZlbmVk IC4uLi4KCg== IGNhbGxlZQ== IENsb3Zlcg== LmRlc2NyaXB0b3I= Lkl0ZW1TdGFjaw== IHBlcnZlcnNl X0NF PUAi LS0tDQo= IGJldg== c3VtYQ== YWNjdW11bGF0b3I= IGxpemFyZA== INC+0Yc= Z2V0RGVzY3JpcHRpb24= IFNhcmFz Lm5leHRTaWJsaW5n IGVsYXN0aWNpdHk= IGNoYWM= bW92ZWQ= X1RvcA== dHJlcg== KGRvd24= ZWxlbXM= b2JpbGk= LnBvc3RNZXNzYWdl ICjiiA== Q3N2 IFlvc2VtaXRl c3dlZXQ= TUFUUklY aWdyYXRlZA== IGZvcmdpbmc= IFBhZ2VTaXpl dHJhbnNmb3Jtcw== PVlFUw== IGRpc2Nsb3Npbmc= IFBlZGlhdHJpYw== IERlYWRseQ== UmVzb3VyY2VJZA== LWJpbmFyeQ== IFJvd2U= IENhaXI= X2V4dHJhY3Rpb24= RGVjcmU= IE9ic3Q= cGxy IFBoeXNpb2xvZ3k= bXZj aHRp LlRl IGV4dHJhdmFnYW50 IEFudGli w7NzdA== b3V0ZGly IGNhcm5l Vmlld1BhZ2Vy IGltcGxhbnRlZA== U2VhcmNoUGFyYW1z w7xyZ2Vy Y29uZGU= YWNlbnRl X0NVREE= JHZhbA== IldoaWxl IHRlbXBMaXN0 IHN5bmFnb2d1ZQ== Y21j INGA0LDQsdC+0YLRiw== IHNlem5hbQ== IHNlc3N1YWxp IGNhYmV6YQ== ZXTDoA== IGZhw6c= Z2Vo Y2VkZQ== IlNvbWU= Om9u LWZvcm1lZA== YnluYW1l IOuwmO2ZmA== IG5hw68= IEFVRw== IGVhc2Vk XSl7 KHB0aHJlYWQ= IGplZGVt KGZpeHR1cmU= IFBhcmw= XX0pOwo= IGV4cHVsc2lvbg== IEluZXRBZGRyZXNz IE1MUA== LicpOw== IG9ybw== IFNldmlsbGE= IGZvcm11bGFpcmU= LXRlcnJvcmlzbQ== L1dlYkFQSQ== KmFuZ3N0cm9t Y3Jhd2w= X2xvYW4= X0RJR0VTVA== IEtub3h2aWxsZQ== LmdjYQ== IERpeQ== bnRhZw== YWJsZVZpZXdDb250cm9sbGVy LkZlZWQ= LXNoYXJlZA== IGNvY2Np X2ludml0ZQ== IEJ1Y2tpbmdoYW0= IEdsdXRlbg== IGVuZGVtaWM= UmFpc2Vk IHF1ZXJ5SW50ZXJmYWNl IG1hcnRpbg== QuG6oW4= IGhhcmU= IGRlaW4= cmFyaWFu bXlmaWxl IGFuZ3Vpc2g= VGV4dG8= IEJVRkY= KGxu bWFycw== X3N1YnRpdGxl X2dpZnQ= IGJvbGRseQ== IFNpbmd1bGFy KExvZ0xldmVs PEFydGljbGU= L3N0YXRz INC/0L7Qsg== IGl0ZW5z IGRlbm9taW5hdGlvbg== LkRhdGFHcmlkVmlld1RyaVN0YXRl X0xS IER1Y2hlc3M= CUJsb2Nr dHJhY2Vy LUNO XEFwcERhdGE= Lmxpc3Rz KFJvdXRl IEdPT0RNQU4= ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCg== IHRpbmhh IGV2ZXJsYXN0aW5n YURhdGE= KGNvbXBhcmU= IHJwdA== XFBocA== LkZJTEVT IHNwYXJpbmc= U2Nhcg== INin2YTYqg== IEJldGhsZWhlbQ== IGJhY2twYWdl c3BsaWNl ZsO2cg== QGR5bmFtaWM= 4bupYw== 7KY= LnBhZ2luZw== IEJlbG1vbnQ= LkVYUA== IGludGVybGU= IENoZWNrbGlzdA== IFVuaWNvcm4= QkVTVA== Z2V0UGxheWVy LmFyZ3NvcnQ= IHdpdGhTdHJpbmc= IE1vZGVyYXRl fSI+Cg== LnNldEltYWdlQml0bWFw IHRyZW5jaGVz IGdlbmVyYXI= IGZlcm1lbnRlZA== IGRlanRpbmc= Q3RybHM= IGRpc2FncmVlcw== UXVpZXQ= KFNRTEV4Y2VwdGlvbg== IFRlbnNvckZsb3c= T05B UG9ydGxhbmQ= LlB0cg== bGx4 YXN0b24= Q2x1c3RlcnM= IFVzdWFyaW9z IGtoaQ== IGdpYQ== IERvbHBoaW4= xZFz IGx1ZGVy IGRpc3Bvc2l0aXZv IFZ5 b21wc29u IO2VoA== IGtjYWw= IENhbGNpdW0= U2VjdGlvbnNJbg== IENhc2M= IGdyYXR1aXRp b3NvbWFs IHVuZGVyY3V0 IENhaA== OnBhcmFtcw== IHJldHVyblVybA== IEVyZQ== w6lyYw== IGludGw= fS8jew== IG91dHB1dFBhdGg= IGZhbHNlaG9vZA== IFVzZXJSb2xl PEhhc2hNYXA= IENyZWF0ZVVzZXI= IENvd2JveQ== CVVzZQ== XSgK IFNob3BpZnk= Vmlld1N0YXRl QWR2YW5jZQ== LXRhbms= IlQ= IEplbnM= PW9wdGlvbnM= KCIuLg== Lm1pbWU= IENSVA== IGjDpHR0ZQ== KHNv LlVOS05PV04= IGRhcsO8YmVy IENPVkVS R2Vt Q3Jv X1JFQ1Y= X2hpZXJhcmNoeQ== Q2hvb3Npbmc= SkVYRUM= IGRvcnNhbA== KyI8 IE5leQ== V29tYW4= QmV6aWVy IHJpZ3M= IG9udHZhbmc= 77yM5YiZ IEdhdXQ= Y21i TmhhcA== IG1vbm9j IGVuZXJnaWE= b2JzZXJ2ZU9u c3Rha2Vz LSot IE5hY2s= fX0iCg== ZXJ2YXM= IEhpbmRlcmVkUm90b3I= QWRqYWNlbnQ= IEludGVybmFjaW9uYWw= CWFyZWE= IPCflA== IHNwYXJrbGU= KCkuXw== LmlkZWE= IHV0cmVjaHQ= IG1hcHBlZEJ5 IENvbG8= CVRS UG9zdGVy IGNvbWJhdGluZw== IFllbGxvd3N0b25l aWVycmV6 YWNjdA== IHPDoWNo Lk5ld3M= IGZpZWxkVmFsdWU= IGNheg== IEZyZWVt CQkKCQo= IHVzdXI= IHNvbGE= IGN1bWJlcnNvbWU= IGNhdGFwdWx0 Ii4v IEV4ZWN1dG9ycw== IEFtZXM= ICc8JT0= ZmlsbG5h LOKAlA== OlNldFRleHQ= LWNhdGVnb3JpZXM= LWFyY2hpdmU= IFBvbGx1dGlvbg== Lk9m 4oCcQXQ= X0NIQVJTRVQ= KENvbHVtbg== 4oCZKQ== IHVubWlzdGFr IGVhcm0= IFBsYXRmb3Jtcw== IE1vbWVudHVt VmVjdG9yaXplcg== cmF3ZXI= KHBhc3Nwb3J0 KHBsYW5l IHJlcHJlc2VudGE= IHB1YmtleQ== IEphaW4= IG1lbm5lcw== IGluc3RhbnRhbmVvdXM= IGV0aGVycw== IG5lc3Rz IFBhdHRvbg== IEhBQ0s= cGFja2luZw== SVNlcnZpY2U= IHJvY2tlcg== IGZpY2E= IEdsYWRpYXRvcg== IFVQQw== IExvd2VsbA== YmVhcmVy IHZpcGVy X2dsb2I= IG1hc2hlZA== IGhhaXJzdHlsZQ== IHVuZGVybWluZXM= cmVzdGF1cmFudHM= IHJlYWN0aW9uYXJ5 IGJpbGxpZw== fSIpOw0K IHZpc3Rhcw== IG9wZW5kaXI= CWxhYmVscw== YWxsaXM= IFdvbGZm IENQQw== IHJhaWx3YXlz IFZhdWdoYW4= IEFza2luZw== Y2Fp IEdu X1BST0Y= LVNlcA== LmN1cnZl TXVsdGlwbHk= 0YDQsNC90LjRhg== IG1lZXR1cA== Z2V0RGI= KEdVSQ== IHJlaW1idXJzZQ== OnJlc3VsdA== VHVtYmxy LkNsb3NlZA== IGNvbmZvcm1z IEhvaw== aWVkYWRl TmV3TGFiZWw= IG5hdkN0cmw= RG9jdG9ycw== IOyViA== IGJvdXRz IGlzYw== Lyc7Cgo= dWhs LlVp LXNhbWE= IENhbm9uaWNhbA== IG1ldGljdWxvdXM= IGdyb3Rlcw== IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8= ZXRlcw== IGxhbmd1ZQ== IGZDaGFpbg== IFR5cGVmYWNl IEJyaWdoYW0= aWFyZQ== J8OpdGFpdA== IEVGRg== IGRlc3Ryb3llcg== X21hdHJpY2Vz TsO6bWVybw== Y2FsbGFibGU= X3BlcmlvZHM= c3RydWs= bWFq LnJs LmxpZnQ= 2YrZhA== w5A= UmV0VmFs RGVudmVy IFRyaWJ1dGU= a2l5ZQ== emV3 IFNwYXJl IGxldWtlbWlh IHdhaXRyZXNz IHBsdXTDtHQ= QWxpYXNlcw== IExvY2F0ZQ== 5rY= SWRlbnRpZmljYXRpb24= LnRlbA== LWRheXM= dGVycml0 aW1idXM= IEJ1dHRlcktuaWZl 64K0 cnVwdGN5 IEdyYWRlcw== IHVuZGVyc2lkZQ== IGhhcmRzaGlwcw== dW5laQ== LWNvbnRhaW5lZA== IFsnLg== T2Jzb2xldGU= LlJldHJvZml0 IHVyYW51cw== X3JnYmE= IHJhcGVz IEthcmU= W+KApl0= IEZpbmNo LmJ1bmlmdUZsYXRCdXR0b24= cXVpc2Fy IE51cnNlcw== ZWdhZGU= IGhu RXhjbHVkZQ== IHN0b2NoYXN0aWM= IHNvdHRv IFBlbmFsdHk= IHNvbnN0 IHJvc2E= X0ZpbmQ= IEludmFsaWRhdGU= TGlzdEl0ZW1JY29u JywNDQo= X3BkdQ== IE1lYWxz YWrEhWM= IE9vcHM= IE5vdGljZXM= IGRlcml2YXRpb24= W10NCg== 6Lqr eXN0ZXJ5 X2ZpdmU= RWFybg== PWV2ZW50 IG9ncg== LVJFQUw= IExpcHM= c2VsZWN0b3Jz YWRpZXI= IHNldEJhY2tncm91bmRJbWFnZQ== KHRoaW5n IHNvZnRiYWxs XHhhYQ== KGlkZW50 IEp1cnk= IFZveWFnZQ== IFRBcnJheQ== KFBhaW50 V2FybQ== RVhURVJOQUw= YXN1 ICghKCg= LkZFVENI IHNraXJt T1JFRA== Y2FuY2VsbGVk aXR0ZWw= IHNlZWR1 bGljaGVz b2hv LHJldGFpbg== KFdlYkRyaXZlcg== aXB0YWJsZXM= RVJJQ0E= IGNsZWFubGluZXNz ZWxsb3dvcmxk IGNvaGVzaW9u Z2lzdA== XS4n ZXJnaW5n IGlzcA== Lm9mZnNldFRvcA== KGZhY3Rvcg== dW5pdmVyc2Fs IFBsYXliYWNr IEJ5dGVTdHJpbmc= IGRhbW5pbmc= IFNTUg== YWN1cw== IFN0YXRlbg== IOWVhuWTgQ== IFBlZQ== IFNhbXBsaW5n YXRvcmlh c3RhcnRJbmRleA== 5ZCr IOy0iOq4sA== IE9saXZlaXJh IEZsYWtl Ym9vbQ== X01TSw== IEZhY2luZw== b3JnaGluaQ== Zm9vZHM= VHJlZVdpZGdldEl0ZW0= IEhBTEY= IiIiKQo= IENIQVBURVI= IEV2ZWx5bg== Pis= IEhvcm5ldHM= d29rZQ== IC9b YXRob2xpYw== LnNlZ21lbnRz Lm5hdmlnYXRlQnlVcmw= IE1hbnVz IHBlcHRpZGVz IGZsZWV0aW5n IEFUVg== IFNoaWI= SW50QXJyYXk= IG1veg== cHJvYmxlbXM= b2duZQ== Lk90aGVy QWRtaW5pc3RyYXRpb24= JSUqLw== Il09PQ== IEFuZHJlcw== QWRh aGludHM= XCIiOwo= KHBuZw== IOqwgOuKpQ== 44OK cmVqZWN0ZWQ= IG1vdmVycw== 546H IHBhcmVudGhlc2lz KGFzc2lnbnM= RWxpdGU= UmVtaW5kZXI= IHN1ZmZlcmVycw== IFJlc291cmNlQnVuZGxl dGhhZw== PicNCg== YW50aW5v UGVyaXBo IFNoYXJk Q2hhcnREYXRh KGpq IG9zdGF0 aHVnZQ== LWF1dGhvcmVk LmNp IHB5bXlzcWw= IGxpbmVycw== IEFUUw== Pkxhc3Q= KSIpCgo= IGdldHBpZA== R2V0U2l6ZQ== IGV4dG9ydGlvbg== W2Zsb2F0 IEVJTkE= L0Jhc2U= LnNldE9uQWN0aW9u 0L7Qu9GP IEdsYWNpZXI= X2F6 IHRyYW5zcG9ydGU= IFNtcw== dGh1bWJz IHRyZWFzdXJlcg== IG16 aXN0aWs= UkVESUVOVA== IGlzaQ== X3N0dWZm UE9TSVRPUlk= c3RhcnRkYXRl IFppbmM= 5rG9 IGthaw== IGVyZmFocmVu X0NPTUJP IHVjd29yZHM= LlBheQ== IGtpbmdkb21z IGV4Y2VsZW50ZQ== aWduaXRl X3ZhcmlhdGlvbg== IG5hdmVnYWRvcg== 5LiT dmlld0NvbnRyb2xsZXI= cmlyZQ== SG9uZXN0bHk= Q2FzY2FkZQ== ZXRyYWlu QXJnZW50aW5h Y3E= IE1hcmlhbg== L2Fy IGludGVyZXNzZQ== dXJhaGFu KFBD IGZyaXZvbA== IFRydXN0ZWQ= KElDb25maWd1cmF0aW9u IFJpaGFubmE= ZW5kb3ph ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHByb2NsYW1hdGlvbg== IHByZWRvbWluYW50 IGNvbnN0cw== LW5lY2s= V29sZg== LmNoZWNrYm94 IHN0YW56YQ== IGVudGVuZGVy Ly8o SGFuZHM= IGJpbGxlZGVy IFRvc2hpYmE= YWJiaXg= RU5DSUVT IGppbQ== UFVS Lmxlc3Nvbg== IGJlcnRo bGFyxLFu Qmxv CWV4dA== ZWVs IGRlbWFzaQ== IGNvbG9uaXphdGlvbg== L2Rpc2M= 77yP Q2VydGFpbmx5 566h55CG5ZGY IGpvZ2Fkb3I= dcOp Q29sdW1uc01vZGU= IEpW IEluc3RpdHV0 X3NwZWN0cnVt LmRlbnNl IFNob3J0Y3V0 IHNlYnVhaA== IGZsYXNoeQ== UmVnYXJkcw== IHNoYXJwZXI= Y2FuY2VsbGF0aW9uVG9rZW4= X2RldGFsbGU= IFNjYXJsZXR0 INC80LDRgg== IG5lZ29jaW8= 4LiW IEpX d2ViZHJpdmVy LndhbGw= IHhhbWFyaW4= b3BhcXVl LkFkZFBhcmFtZXRlcg== KENvbnRyb2xsZXI= LWFib3J0aW9u X0ZVTkNUSU9OUw== Q3VzdG9tZXJJZA== IHZlbmly IEJ1c3Rlcg== X3ByZWRpY3RlZA== L3J1bGVz LU1ldGhvZHM= IGdkemll Il0nKTsK IFB4 Q09OUw== LlNsaWNl IHJldmFtcGVk IFRhYmxlVmlldw== IGRpY2tz IO2YuOy2nA== IEF1eGlsaWFyeQ== T3BlcmE= L3Jj IHVudGhpbmthYmxl IGRlZHVjdGVk bHo= IExhZ2U= IFJvd2xpbmc= cHJvdmVk T2ZmZXJz LHNldA== UkdCTw== IEZV IENlbnRPUw== b3pv IFRyb2phbg== IG1hw7FhbmE= IC8vPQ== Kio6 IHtcCg== IEJvd2Vu S25vd2luZw== IOW6 PS09LT0tPS09LT0tPS09LQ== IGViZW5mYWxscw== XT17Cg== Qk1J KCk7KQ== KHBlcm1pc3Npb24= QW5kZXJzb24= IGRlZ3JhZGU= U29hcA== dcWf IFB1cHB5 IEV0aGlvcGlhbg== IFRFU1RJTkc= ZW5zZXg= IGRyZXNzZXI= IENob3Jl VW5oYW5kbGVk QXNzb2NpYXRl LmFkZGl0aW9uYWw= IGRpZmbDqXJlbnRlcw== aXNxdWU= IG5lY2Vzc8Ohcmlv IGdlbmVyaWNz KHBm IFxg IE5lYXJieQ== YXBvcmF0aW9u IFRoZW1lRGF0YQ== V2lGaQ== LlJlYWw= YWN5ag== TGl2 IHBzeWNob2xvZ2ljYWxseQ== bWV0aG9kUG9pbnRlclR5cGU= IE5pa29s IERlZGljYXRlZA== X1BPUlRT IEphZQ== TlNBdHRyaWJ1dGVkU3RyaW5n IGFtYmFzc2Fkb3Jz IEhhbmRsZXJz IEFuYXQ= IHZvY2FsaXN0 IHJhcg== IGRldnVlbHZl Lmdz IHhjYg== IHN1Ym1vZHVsZQ== IEFTU0lHTg== dXJlZW4= IGNsYXNlcw== ZW1vdGg= X0NOVEw= X2p3dA== IOuniA== IG91dHBvc3Q= IEluYm94 CWZsZXg= IEdyb2Nlcnk= SUxJTkU= Lm1vYg== IENvbnN0cg== XT1d KHdhbGxldA== IHNlZGU= ZmFs IGltcGFzcw== PXtbJw== IHVuZm9yZQ== ZnVzZQ== X0xlYW4= IGF2YWxhbmNoZQ== PXJhbmQ= IGFkdWx0ZXJ5 IEdlZQ== CUlucHV0U3RyZWFt IGNhYmVs X01PVU5U IG5vdGljaWFz IFJhdW0= IGJ5dGVhcnJheQ== IG9uSGlkZQ== ICkuCg== JGluc3RhbmNl IGRpZFNlbGVjdFJvd0F0SW5kZXhQYXRo YWNhbQ== LWNvbGxlY3Rpb24= IHVwaGU= UG90ZW50aWFs IFNEUw== X2FwcHJvdmFs RGFtbg== OmNvbnZlcnQ= IE1vZGlmaWNhdGlvbnM= IOyYiA== IHVuYWI= IHNjcm9sbGVk KyIpOwo= IGdhdWNoZQ== IEhPTA== YW50YW5hbW8= IGNvbHVtbkhlYWRlcg== CVpFUEhJUg== emFj IG91dGluZ3M= IGFwcGxhdWRlZA== aG9yaWE= bW9keA== IG1pbGxlbm5pYQ== Jm0= Lkpzb25JZ25vcmU= IHBpb25lZXJlZA== IENhdnM= CWpz ZGVwYXJ0dXJlZGF5 X2ti LlBhdGllbnQ= IHBldGFscw== cG9ydHJhaXQ= In19Cg== SG9tZUFzVXBFbmFibGVk LnByZXR0eQ== LGNsanM= IG1lZGlvcw== aGFzaGVk ZW1vZGVs IE1vam8= LmZyb21SR0JP LXBl IGludGltYXRlbHk= IGVsZ2c= W107DQo= L09ic2VydmFibGU= IG9iZWRpZW50 IEphbWFs UmVxdWlyZWRNaXhpbg== IExpc3RWaWV3SXRlbQ== CXBsYWNlaG9sZGVy X3RyYW5zYWtzaQ== PFNlcnZpY2U= IGVuc3VlZA== IFJpY2Fu U2FnYQ== QVVESU8= IGpt LXNhbGVz LW11bHRp JSI7Cg== IGNsYXNzaWZpY2F0aW9ucw== IHTDo28= Q29hbA== OycpOwo= IGRlbGlnaHRz X2h6 X2JvbGQ= REVQRU5E INCh0L7Qt9C0 YXRlZQ== X3N1Ym5ldA== IFRvd25zZW5k IENhc3RpbGxv IHBydA== JC8p IGZpbGli KCcvJylbLQ== IHVwaG9sc3Rlcnk= IGNvbXBvbmVudGU= IFhG LlJldmVyc2U= X3R1bm5lbA== SW1tZWRpYXRlbHk= LW1vdmU= IGFsaXN0 V1ND c3RydWN0dXJhbA== aXN0b3JpY2Fs VGFuZ2dhbA== IENPVVJU IG9ic2N1cmVk IGxhbmRzbGlkZQ== IGJlZHNpZGU= IGJhcmFuZw== LWVsZWN0ZWQ= IGNlcmFtaWNz LS0qLwo= IFdhbm5h RHlu IHZlcnNjaGllZGVuZQ== IGluZHVjaW5n IGZsdXRl LkFwcGVuZFRleHQ= IFp1Yg== IFB1bGl0emVy OmJvdGg= Lm1heExlbmd0aA== LlByb3BlcnR5VHlwZQ== YXd5 aXRlbU5hbWU= IE5hcnJhdGl2ZQ== cmV2b2x1dGlvbg== IGhhbHRlbg== IEVycm9yUmVzcG9uc2U= Z2F0aGVy L3V0aWxpdHk= Oicn IEtlZQ== IE9seW1waWE= Q2xpbmljYWw= OmdyZWVu IFBsZXg= IEtlbnNpbmd0b24= IFBob25ldGlj IGRpc3RyaWJ1dGVz X2V4ZW1wdA== V2F0Y2hpbmc= Lk1pc2M= IGRvbWFpbmU= OiIu 44OV44I= X01PRFVMRVM= IGhhYmxhcg== IExhb3M= LnNldFRleHRTaXpl LnBhdXNlZA== X1RX IG92ZXJ3aGVsbQ== IGhlbWF0 THVja2lseQ== IFNFTlQ= IEludmVzdGlnYXRvcnM= Pih7 KGZvdXQ= IEFVWA== LnJhd1F1ZXJ5 LXN0cm9uZw== IHJlc2VtYmxlZA== IFNoYWZ0 IFhJSUk= c3VnZ2VzdA== IHNpbmdhcG9yZQ== X2FiaWxpdHk= JGs= CWlOZEV4 XEltYWdl Q2FkYXN0cm8= LnBpdm90 IG1hbnBvd2Vy X2F0dHM= LnNldEZpbGw= ZXdvcmxk Y29uc3Rz R2V0V2lkdGg= IGdyYXR1aXRh IFBldHI= LWFuc3dlcg== IEhlbWlzcGhlcmU= IENhag== IFRyYWRlcw== xIdp IEZyZWRkeQ== T25DaGFuZ2U= IHBvcm5vZ3JhZmlh IFNVTU1BUlk= X21lYXM= IERSSVZF IENyZWU= X21hbGU= IHN1aw== IG1hbmV1dmVycw== c2V0VmlzaWJpbGl0eQ== YWxsaQ== IGRpc2NyZXRpb25hcnk= cmVnYXRpb24= WVNUSUNL OmhyZWY= IHRhcmFm IGNodQ== IEBb RW5vdWdo LlRyYW5zZmVy SWZOZWVkZWQ= OildKQ== CSAgICAgICAgICAgICAg W2F4aXM= VHJhbnNsYXRpb25z LnNlcnZlcnM= IEtFRVA= JywpCg== c3BvbnNvcg== YXJjaGl2ZXM= LlVsdHJhV2lu IEhvbm91cg== J10pKTs= IGluZWxpZ2libGU= IEFudHdvcnRlbg== IEFwcGxpY2F0aW9uRXhjZXB0aW9u IGNhdGVnb3JpZQ== IFdFSUdIVA== IEJ1bmR5 IFBJWEVM IGR1a2U= VG93ZXI= U2NvdGxhbmQ= IHJlZmVyZWVz IEFzc2VtYmx5VHJhZGVtYXJr CXN0YXJ0QWN0aXZpdHk= Lk9uZVRvT25l IEF1c3dhaGw= IHN0cmVuZ3RoZW5z LlF1aXQ= IFVSTFJlcXVlc3Q= ZWVj IHJlZ2lzdHJhemlvbmU= IGhvc2Vz QWN0dWFsaXphcg== L2FycmF5 IGNvbnN0cnVjdGlvbnM= Y2Nk IEZpbGVOb3RGb3VuZEVycm9y VGjDqm0= KHJlc3VsdGFkbw== IFNFUklFUw== U3BlYWs= X0FIQg== QmxvY2tlZA== LWZvbnRhd2Vzb21l Ol0p b2JibGU= KGxpbmtz IENhdGFsb25pYQ== R2VW LkRhdGVGb3JtYXQ= IGZsZWE= LmVm IHNvbGljaXR1ZA== IERZ Y29kZWdlbg== eXRoZQ== IGVwb2xs X1RE IGFmZmlybWF0aW9u X2Zh SVNUQQ== IEVhdG9u Y3JlYXRlUXVlcnk= IGxvZ2lzdGljYWw= IFJheWNhc3RIaXQ= IGNhdWxpZmxvd2Vy IHVsY2Vy LkFscGhh aW5rZQ== Wy4u RVhBTVBMRQ== LXdhZ2U= IHN0YXRp ZWN0aXZl LmdldE1pbg== IFNVQkpFQ1Q= IEF1ZGlvTWFuYWdlcg== enphcmVsbGE= IFNlbGVjdExpc3RJdGVt ICQNCg== IG9oaW8= IFRhaG9l IGtXaA== cXVlcnlTdHJpbmc= IGRlcGFydGFtZW50bw== PWFkbWlu IHdvcmtzdGF0aW9u KSsrOwo= SGVhZGVySW5TZWN0aW9u IFRyaXVtcGg= Q2hhcmxvdHRl IFNNQQ== Q8OzbW8= IHZlcm0= IHRoZWFubw== Ymdjb2xvcg== XCIiLAo= IFJlbWluZGVy QmlsbHk= b3JhbFR5cGU= Z2ViZXI= KGNsb25l IEt1dA== Lz4u QXBvbGxv IHNobA== Wkg= VGh1bmRlcg== IGdpZnM= X2tlbGFz IFJvdGhz IH0o IEJyb2FkY29t IERlcHRocw== CUlOTkVS cGFyY2Vs IGVqZXJjaWNpbw== IGluZGVwZW5kZW50cw== aWxsb3c= ZXhlY3V0YWJsZQ== RXZlbnRv IHpvc3Q= IEhNQUM= W0RsbEltcG9ydA== YWxsZXM= X2Rlcml2YXRpdmU= QXBpS2V5 IHN0ZXBwZXI= PXBsdA== Z2V0SW5kZXg= IHZhbGV1cnM= UG9saXRpY3M= IElEWA== IFVzYQ== IExUQw== Lm1pbkxlbmd0aA== c3Rybw== X05D IHN0YWduYW50 IG1vbnRhZ2U= IGJsb3VzZQ== ZWxpZ2U= IHR1cnF1b2lzZQ== IFN1cGVybg== 5q2z dmFyYQ== TmV3SXRlbQ== X0VYVEVOREVE IHdvb2R3b3JraW5n IEVwaXNjb3BhbA== LnBhaXI= LlVzZXJJbmZv IGRpcmVudA== L3RjcA== IGZyYXVnaHQ= U2xhdmU= LmdldExhdGl0dWRl IFRvb2xib3g= IGVhcm5lcnM= IEhPVVI= 0LDQu9Cw cG9zYWJsZXM= Y29uZGl0aW9uYWxseQ== X3h4 IGxhbsOn KHJw Q2hh IGluY2Fybg== LkRhbw== Li8o 2KfZgQ== VGQ= Q0VG L3JhbmQ= LlZpcnR1YWw= IGRiSGVscGVy YW1pbmVz IGx6 IHN0b3M= IEF0a2lucw== X0RE aXRvcmlv IG1pbmltaXNl aGlwc3Rlcg== KHsuLi4= X1NSVg== W2ZyYW1l IFJva3U= R1JQ IGJhcmJlcg== LkZlY2hh IOuwnA== IGdyYW51bGFyaXR5 IFNheWluZw== X2xpa2VsaWhvb2Q= LmJhckRvY2tDb250cm9s IGZyb250bGluZQ== IFdoYWxl IHNtZWxsaW5n IENvbnRyaWJ1dGlvbnM= aXZhbnQ= IGNyaXBwbGluZw== cHJlbG9hZA== IEhlcnJlcmE= X1dBVENI LWV0 OmV4cHI= aW52ZXN0bWVudA== ZWRlcmF0aW9u X21nbXQ= IGhvb3Bz bW9ua2V5 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK aW50ZXJzZWN0 IGNyaW1zb24= IHN1b2k= IFtdOgo= WE9iamVjdA== U0ZNTA== RVFVQUw= KCd+ Y2VudHJvaWQ= CXJlc3RvcmU= IHByZW5hdGFs IE1pc3RyZXNz IHF4 dHBz IHJlc3Bhd24= IFtdKSwK IGtvbnRyb2w= 44GC44KK44GM44Go44GG44GU44GW TW9kdWxlTmFtZQ== IG5ld1BhdGg= IFBhZ2luZw== IHJpbnM= X21ha2Vy XGJyaWVm IGJpc2hlcg== CVJlYWQ= IGppaGFkaXN0 LnBlcnNpc3RlbnQ= IFJvYm90cw== L2dycGM= IEpvdQ== w6RyZW4= 77yM5Zyo LXB0 IHpkYXJtYQ== X05N IENvbm5lY3Rpdml0eQ== KGJj IEZsb3JpYW4= IFNvY2lvbG9neQ== X3dv QW5kU2VydmU= XygpOwo= IEZMVA== X0RFUg== IENvbm5pZQ== IEJyb2FkY2FzdFJlY2VpdmVy eyg= IGNvbW1lbnRlcg== IGRlbW9jcmF0 IGFtcGxpZnk= LS0tLS0tLS0tLQ0K IEhNUw== IHRyYWlsZWQ= IFNvZGE= LXRlc3RlZA== dWxpc3Q= KW5ldw== X1RocmVhZA== VG9kZA== IGRlYmlhbg== Vms= IHByZXNlbnRh IGNvbWZvcnRz IFdhc2hlcg== IGdhcmc= IEh1Y2thYmVl INGB0LDQvA== ICEi QWRhcHRlck1hbmFnZXI= IEVh IEFzc29jaWF0aW9ucw== CQkJCQkKCQkJCQkK LmdldFdyaXRhYmxlRGF0YWJhc2U= IG51Y2xlaQ== w6lnb3JpZQ== CSAgICAgICAgICAgICAgICAg QkFC IHVwa2VlcA== IFR1cA== LndpdGhPcGFjaXR5 bHlh IGx1eGU= dXBybw== LWVuZw== IHJlbGHDp8Ojbw== IGtleVByZXNzZWQ= IGh5YnJpZHM= bGZ3 T3BlcmF0aW9uQ29udHJhY3Q= IG5hbWVMYWJlbA== IEhvcnQ= X2dydXBv IGJhbmRh SXg= SGVhbHRoeQ== LmdldEVuZA== ZnJhdQ== KFNjZW5l KENvbGxlY3Rpb25z IFNraXBwaW5n dWJv IGbDvG4= Ij4tLT4K IGRyb2l0cw== IGhvbW9zZXh1YWxz IGFiZHVjdGlvbg== CXdpZGdldA== JGhlYWRlcnM= IERBUg== IGZsYQ== dGhyZWF0 IGxvdWlz LkdldFByb3BlcnR5 Ikp1c3Q= KGZyYW1lcw== cnlv cHJvZmVzc2lvbg== fGk= 7ZW07ISc KHN2 IHVucmVjb2duaXplZA== SW9uaWM= RmFzaGlvbg== U2NyZWVuU3RhdGU= IEluY29taW5n Tm90Tmls IHN5bmNpbmc= ZW1pZQ== IHRoZXJtbw== X3Byb2Nz IGluY29uc2lzdGVuY3k= cmVsaWdpb3Vz Lm1q IHBlcnNvbm4= IG1vbWVudG9z b3JhcmlseQ== IOaK X25ldXJvbnM= SWxsdXN0cg== aW1vdG8= aWxpaw== IFdvag== VHJhZGluZw== IGFwcGFyZQ== IGVudHJlcHJpc2Vz YWNoYXQ= IMKs IG5laWdo QlVUVE9ORE9XTg== IE1haGVy YWdoYW4= LWhhc2g= ImY= IGNsaWVudGVsZQ== LmFkZEJ1dHRvbg== CVNQ UWk= IGdyYXRlZA== UE9TSVRF Oj4= IEhvd2VsbA== IENvbXBhcmF0aXZl IElTQw== wq1p T2NlYW4= RGF2aXM= IEZpbG1l V2lucw== IEpJVA== b2NjZXI= IENvcm0= RU5DSE1BUks= cmNoaXZl aWNhw6fDo28= IG1hdGE= IGNoaWxkYmlydGg= IE9wdGlvbmFsbHk= RW5z IHhodHRw IGVsdWNpZA== X09zY0luaXRTdHJ1Y3Q= KSkpOgo= IGludHVpdA== IERvbmF0ZQ== IGNvcnJlbGF0ZXM= PkRlbGV0ZQ== IGVxdWlwZQ== IGJvY2E= IGluZmxhdGFibGU= ZXJhaA== IERhdGVUaW1lS2luZA== IGNhbHZlcw== XExpYg== IGVtbHJ0 IFRyaWxvZ3k= IFBhbmM= IER1aXM= IHBlbMOtY3VsYQ== V0FSRFM= X0RFVEVDVA== LXNlY3Rpb25hbA== ZGhjcA== Rm9yUm93 LWRlc3RydWN0 IFByZXNlbnRlcg== L3NsaWNr LG9u IENpdGFkZWw= bG9nZ2VkaW4= X3N1YnR5cGU= IHNpZ3Vl IGN1cmluZw== IEZpcmV3YWxs IGZsdW9yZXNjZW5jZQ== IEl0YWxpYW5z 0LjRgtGB0Y8= LmdldFN0eWxl SW5TZWNvbmRz amll LVNtaXRo IHhsaW5r IHN1Ym1pc3NpdmU= 0L7QvdGC YXJib25hdGU= IEZhdWw= X2dvYWxz IENvbW1pc3Npb25lcnM= Y2hhcnRJbnN0YW5jZQ== X1BPU1RGSUVMRFM= IG1lZGlhbA== IG1hbm9z IGRlbHQ= c3Zt LkFwaXM= ZXBoeQ== IGFzeW1wdA== IGFwcERlbGVnYXRl IGltcHJvYmFibGU= Y2th c2ltZA== L0Vycm9y LuKAkw== IFBUUw== ZGVlcg== IHNpbmE= bWFnbml0dWRl SURBREU= J119Jw== IG1heW9yZXM= CWNvbW1lbnQ= L2NvbnNvbGU= IkA= dm9sdA== LnNlbGw= IE1hY3k= IG1lbG9k IGltw6FnZW5lcw== X2NoZw== IGlub3V0 aWRlbnRl KScpLAo= ZG5p LmJsb2I= IHR5cG9ncmFwaHk= IGVlcmll X09JRA== cGVzYW4= YWphbg== IGNob3BwaW5n IGJsdWZm YWRm X2Jhc2Vz LkZvcm1hdHRlcg== IFwl IFBhZ2VJbmZv Q2Fycmllcg== IENhbGlicmF0aW9u Y29tbw== LWJvZGllZA== IGZpbmFuY2llcg== IElOQQ== LkVSUg== IGhvb2RpZQ== IFNhbml0eQ== Z3VhcmRlZA== Lm9wZW5kYXlsaWdodA== SVNNQVRDSA== SGlnaGxpZ2h0cw== w7xuaw== YW5pZW0= YW5nZXJlZA== YXNzaWdubWVudHM= IHJlZ2lzdHJhZG8= IFVQUEVS YW1waWxrYW4= YXNoaXJl IE5pa29sYQ== IENGTA== IEhEQw== IHBvaWRz IElQcw== IHByZXZlbnRhdGl2ZQ== aXBzb2lk aWZpeA== LmNhbWVs Lmdh Vm9sdW1lcw== LXN0ZQ== WWFob28= X3NpYmxpbmc= SGlnaGVzdA== b3B0Z3JvdXA= IGt2aW5uYQ== 4oCd44CCCgo= IEFwcGxpYW5jZXM= ICI+PA== JykiKQo= aHR0 IElkZW50aWZpZWQ= IHBlbmNpbHM= IG1lbWJlcklk IGFwcGVuZFN0cmluZw== LmxvYWREYXRh IG1vY2tNdmM= IGp1Yg== IFNsdXQ= IFRhaXBlaQ== c3RhdHQ= UG9saXQ= IHBhcnRhZ2Vy RGlkQ2hhbmdl SW5jcmVhc2Vz KX0u IEJhYmE= X0NMSVA= W3VuaXQ= INC60LvRjtGH IGFsY3VuaQ== IExvbGE= IGNsaW5naW5n QFBvc3RNYXBwaW5n KGNvbmNhdA== IHNzaWQ= IEZhdWM= b2tpdA== IFJlY29yZGVk w6FsZXo= KCQoJzw= LmFzc2VydElzTm90 IGthbGk= Vm9sdA== IHdhcm1seQ== IHNjYXJlcw== Z2V0dGk= ZsO8aHJ0 X2RvZXM= LkVNQUlM aW1hdGlvbnM= IHNwcmluZ2ZveA== IERlY29t YXJjeQ== IGdsaXRjaGVz IE1vZmY= IFZvbGw= LmJldHdlZW4= IGNvb3JkZW4= IFBhcnRpY3VsYXJseQ== R0JQ IHNlbWJsZQ== RWFzdGVybg== X01TQg== XSl7DQo= bW9yZ2Fu IEVWQUw= ZGVyZQ== SE9VU0U= bW9pcmU= aXN0aXF1ZQ== X2xzdG0= LWNvbW1pdA== eXN0ZXJpb3Vz IHR3aW5r LXRodW1ibmFpbHM= ZW7DrQ== OicnLA== IGJsYWNrb3V0 IEZsb29ycw== IHNvZmFz IG91aQ== bGVzaG9vdA== IFJhcQ== LWFicw== IGtyYQ== TWluaW5n c2hhZnQ= LnNldENvbHVtbnM= Q2xheno= UFJFVFRZ LnBsYXlsaXN0 6Zai LVNhaGFyYW4= TUlORw== CWJs 6K6u amY= RE9DS0VS aG9wZWZ1bGx5 KGlnbm9yZQ== IFVzZXJzQ29udHJvbGxlcg== IE1pdGFyYmVpdGVy IExFUw== SGFtaWx0b24= LW1ldGFkYXRh IEtL aWt0aWc= IHdvbGx0ZQ== ZWdyYXRvcg== XWJvb2w= LGN1cnJlbnQ= IHZhbHVlVHlwZQ== IGV4Y2F2YXRpb24= b2xhbmQ= IHZlcnY= L2ZpbGVwYXRo QXV0aFByb3ZpZGVy IHByb2NyYXN0 CVVMT05H X01FTUJFUlM= IHVwbGlmdA== IEF1dG9ub21vdXM= IGFydHdvcmtz IE91dHJlYWNo IHBvcmU= SG9tZXBhZ2U= RGlhbG9nVGl0bGU= IEdlbmVyYXRpbmc= UEFSU0U= IHNlbWFuYXM= IGh1bWFubw== SlNHbG9iYWxTY29wZQ== IHZvbHRl IGJlbGxh KGlzaW5zdGFuY2U= IHBsYw== XENhdGFsb2c= IGVzdGVlbWVk 6Zu3 KHN1ZmZpeA== IHN3ZWVwcw== CU9SREVS IGRvaXZlbnQ= IFN3YXJt IENvbXBpbGVk Z2V0UGFnZQ== QURS LlJpY2hUZXh0Qm94 IE5hbWluZw== YWdnZWQ= IEdBTkc= cmFzaW5n b2RlbGVk IGdhbGE= IEpTTmFtZQ== ZGRm IGlsbHVzdA== IExhbnNpbmc= W3BvcnQ= LWRlYXRo IGRpbmhlaXJv IEVpZ2h0aA== IGJpYW4= c3TDpQ== IHZlcnNpw7Nu IExpbmVhckdyYWRpZW50 IEhhcmRpbmc= Liop ZWN6eQ== JGhlYWRlcg== IHbDpXI= VW5jaGVja2Vk IGtvamU= IFBhbGFkaW4= KCkpKSw= R2l2aW5n KCl9KQo= IGRpcHM= RnJpZW5kbHk= IHBvcnRyYXlz IGhlbGl1bQ== IGluc3VyZ2VuY3k= X2V4cGlyeQ== IHN0cmluZ0J5QXBwZW5kaW5nU3RyaW5n IGFhbnRhbA== c2xvcGU= bWFzdA== LmdldEludGVnZXI= ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw== X1BJUEVMSU5F IGRlbnNlbHk= IG11dGF0aW5n bWlkaQ== IFNlaXQ= YXluZQ== Tk9XTEVE IERlc21vbmQ= IEZOYW1l IE5haXJvYmk= XENvbnRleHQ= IGNhbGN1bGFy LWRlbg== IGNvdHQ= XSk6DQo= IFJlY29tbWVuZGF0aW9u IFJvbGV4 IHZhbGlkYXRpb25SZXN1bHQ= LnBhdA== IG7DoHk= IFJlc3RDbGllbnQ= IEdQSQ== IEFzaGV2aWxsZQ== IE9TUA== IFBFUk1JU1NJT04= 0JTQsNGC0LA= L25vdGlmaWNhdGlvbg== S25pZ2h0 X1dvcmQ= IEJlbmRlcg== cmFua2luZw== IHBhcnRpZGE= X3Jlc2VydmF0aW9u zIA= IG1OYW1l IGdldGNo IGJvcnI= IGRpbGlnZW50 RGlzY3Vzcw== 5q2j5Zyo YXBlYWtl aW9uZWQ= LU5hemk= LmN1bQ== IEtyb24= PSQoJyM= L3NpbmdsZQ== IGVyb3Rpc2No IFZpYg== IHJhdGlmaWVk IGNvbmNlcnRlZA== IFJFR0FSRA== IGRvYnI= LkRyaXZlck1hbmFnZXI= J3I= UG9ydGFibGU= CXN1aXRl IHJlbGFjaW9uZXM= IERvcA== ZW1wbG9p RE9C IGNydW1icw== IHhscw== X0FwcGxpY2F0aW9u KCc6Jyw= IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo= bXNl IGJlcms= IFJldHVyblZhbHVl IEJlbGx5 IGNhbWFy IFBlZWs= ZWxzaW5n IG5vdGlmaWVz IFRyaXN0YW4= IEdBUg== ZW1tZQ== IEVsZXZhdGVk X0NTVg== KGNoYWxr IHR3ZW50aWVz IFNlYXJjaFJlc3VsdA== PXNlYXJjaA== IE1peGluZw== w710 IHJlY3J1aXRlcg== IElERU9HUkFQSA== IEFnbw== KE9wZXJhdGlvbg== JHZhbHVlcw== IHdvcmxkbHk= IFJvc2VuYmVyZw== IENvbmZpZ3VyZVNlcnZpY2Vz Pio8Lw== S0FOSkk= IGNodWNrbGVk IHN0cmlmZQ== IEJvbWJheQ== IEJBQ0tHUk9VTkQ= ZXRhdA== ZW51bWVyYXRvcg== IHPDu3I= IOOBrg== X3BlZGlkbw== L0Rr IGplYW4= X0NvbHVtbg== IGhlYXRtYXA= LlBlbmRpbmc= IHVuc3VjY2Vzc2Z1bGx5 CWVw IHNpbmZ1bA== IEFudG9ueQ== X0ZPQ1VT VGV4dExhYmVs X3JlYWN0aW9u IElEaXJlY3Q= IGNhcm5pdg== V29ya3NoZWV0 IHN1ZWRl CVJUQ1Q= IHNldGJhY2tz LnVuYmluZA== IHNpw6g= TGlxdWlk X1JFTkRFUkVS TWF0ZQ== IE1pbGxlbm5pYWxz IGVwb3h5 aXp6aW5lc3M= IGJyYXppbA== 0L7RgdGC0Yw= JnZpZXc= L2dwaW8= SmFtaWU= LkdyYXZpdHk= PSIuJF8= IFZBTg== IElEUg== YXBwZWFyYW5jZQ== LlNlbGVuaXVt TGVhcA== LlJlbGF0aXZlTGF5b3V0 U2lnbmFscw== QWNjZWxlcmF0aW9u CUhBTkRMRQ== L09wZW4= IGdldExvZ2dlcg== U3Bp LXdyaXRpbmc= INCy0YvQtw== LXdvcnRoeQ== IHdjcw== IFFUaW1lcg== IFBvbHltZXI= IHZhbnQ= CURlbGV0ZQ== aXR0ZQ== V2hpbHN0 IGFsZ3Vt IHNoaWVsZGluZw== IGttcw== CSAgICAJCQk= TWV0ZW9y IGFnZ3JlZ2F0b3I= IFNpbmQ= SG9zdEV4Y2VwdGlvbg== PScnLAo= IEpTQnJhY2tldEFjY2Vzcw== T05P X0J1aWxk IHN0cmlwcGVy IExK PENvbXBvbmVudA== L3NvdXJjZXM= IGVyZ29ub21pYw== IEFjY3JlZA== dW5jZQ== b25pcw== emVpZ3Q= IFNrYXRl IFJlY3RUcmFuc2Zvcm0= SW5jb21wbGV0ZQ== IGluZ2VuaW91cw== IGNvaXNh IGNpdHlOYW1l aGFiaXQ= X1RW IEFOU1c= Li4uIj4K IHNub3Jr X29wYWNpdHk= IGluaXRXaXRoTmliTmFtZQ== aWFkbw== QUFD IF0pLg== O3o= X3BhcmFncmFwaA== IG5vc2Vz c3RhbmRz aWZy X21F SXJhcQ== LlByZWRpY2F0ZQ== ZW5haXJl XV1dOwo= IHVuaWRhZA== IHJldGlyZWVz X2hlbGxv IG1vZGVsZQ== IFVJVGFibGVWaWV3Q29udHJvbGxlcg== ZndyaXRl X251bWVybw== X3Zpc2l0ZWQ= IHJlY2ViZQ== KE5vdGlmaWNhdGlvbg== RmFudGFzdGlj X3N1Ym1lbnU= IFBFTQ== IEN1cGVydGlubw== YXBwcm94aW1hdGVseQ== Y2xhc3NlZA== LlJlYWRTdHJpbmc= IGRvbWljaWxl X1BX IGJhbGxwYXJr IEthbGU= Y29udHJh X2Zhdm9yaXRl L29m UXVpdGU= IE9UQQ== IGFjY2VsZXJvbWV0ZXI= ZGlkbg== fF4= IFJvaGluZ3lh aXZpY3Jt YW5uYWJpbg== 0L7QsdGL0YLQuA== b3JhZG8= Jykr SGF1bnRlZA== LElE KFVJQWxlcnRBY3Rpb24= dXJ2 X2JlbA== IE1leGljYW5z L3Rlcm1z IFBhaW50ZXI= SW5wdXRMYWJlbA== IFZpbmNp IFJvc2ll XHVj PE1lbnU= IGNvb2xhbnQ= KGN1cnJlbnRVc2Vy X2R1YWw= KSJ9LAo= JnA= IGNvbnZlcmdlZA== IHJlc3RyYWlu IFl1Z29zbGF2aWE= PXRhcmdldA== IGltcHVscw== ZHNh U2VhcmNoVHJlZQ== IGhib3g= IEltcHJlc3M= wqfDgw== Z2V0RnVsbFllYXI= KGRh IFlZUw== LmFsaWdubWVudA== LkdldFRleHQ= LnRva2VuaXpl IE9seW1wdXM= IG11cmt5 b3Jlc3RhdGlvbg== IGRpc3NhdGlzZmFjdGlvbg== CVRBcnJheQ== X2tzZXM= LkFkZFNpbmdsZXRvbg== IFN0YXJ0VGltZQ== IGZhbmF0aWM= ICAgICAgICAgICAgICAgICAgICAJ IGVudGl0eVR5cGU= Lm92ZXJyaWRl IC0tLS0tLS0tLS0tLS0= IERhdGFncmFt Zm91dA== KHdpdGhJZA== ICNfXw== n+iDvQ== ZWt5bGw= LmZyaWVuZHM= YW1lbGVvbg== IHphY2g= LnNpbXBsZUJ1dHRvbg== cmV0b3Jubw== IGtvbms= L3NtYWxs IFF1aWNrbHk= dW5yZWFk RG9uYXRl RGV0YWlsVmlldw== IGR1YQ== IHBlbmV0cmF0ZWQ= T01VWA== IG5pcg== X3BkYXRh Il0sWyI= IGxvd2Vz IGRvcGluZw== IGFzeW1tZXRyaWM= IG5lZWRsZXNz b3VyY2Vt IHVwcm8= IEd1enpsZQ== YWZi IHNleHRyZWZmZW4= LWNvbGxhcg== IGNvbG9zc2Fs TW9ua2V5 bmlzaA== IGhhbmRsZU1lc3NhZ2U= SW5jcmVhc2Vk KmR4 IENoYXR0YW5vb2dh Zm9yZw== IE9yZGVu IHNocmk= IFZhbmQ= ICJAIg== SW1hZ2VTaGFycA== IFdpbGRjYXRz cG9uaWJsZQ== LnNjZW5lcw== IHBhaW50ZXJz IFBmaXplcg== IFphaA== VG9Mb2NhbA== IEZsYW0= IMOpdGFpZW50 KSle IFNhbmRib3g= IFRSQURF IGNocm9taXVt IGFjY2xhaW0= IHBhY21hbg== wrR0 KXJlYWRlcg== TWFyaQ== LkRpc3BhdGNoZXI= LkFETUlO IFJlbWVk U3dlZGVu IG92ZXJsYXlz LmVy IHBhbmc= IGNsZWFubHk= YXZlbnBvcnQ= VG95b3Rh cGF0Y2hlcw== IHZ0eA== IEVpcw== Y2xhZG8= IFJpdGNo Uk9MUw== IGhhZGU= IGNvbnNwaWN1b3Vz IGRvY2tz KGpx IFByZW1pZXJzaGlw IEJleg== IOKElg== INGD0YHQuw== X3RvdGFscw== IHByb3Zh IEN1ZQ== IHNhw7pkZQ== IEdhbWVDb250cm9sbGVy SU1JWkU= LHBvcnQ= 44CCKA== LkNkZWNs SW5zdGFudGlhdGlvbkV4Y2VwdGlvbg== IGNvbGxhZ2U= IElPQw== IGJhaXM= IG9uRmluaXNo LXN0YXJz c2V0U2l6ZQ== IG1vZ3Vs IGRpc2lsbHVzaW9u IGNoZXZ5 KFNjaGVkdWxlcnM= KElS X2xvY3M= IGNhbm5vbnM= IGNhbmNlbGxpbmc= L2J1cw== IGJ1Zmlv IFlvdXJz IFBpa2FjaHU= IHRlcm1l csOl ZmFocmVu IG93bmVySWQ= IG9ibGlnYXRvcnk= IGN1bHA= IGFjaWRpdHk= LW11bHQ= IEJhbWJvbw== ICciPg== X2dz IGNvbXBpbA== bmFyZA== LWV4Yw== IHJoeW1l IGJ1dHRv c2F5cw== YW50YXN5 67g= IGNpdHTDoA== IGNoZWc= VGltZVN0cmluZw== IHBvc2l0aXZpdHk= IERhYmVp IHdhbmc= IGVzY3Jl ImM= CXZpZGVv IFJhbmtlZA== LnN0cmluZ3M= Pj4+KA== INC40L3RgtC10YA= IHJlc3Rh WzosOg== IHJlbmRyZQ== IGRlc2Vy Sm9z IGRpc3J1cHRpb25z INC+0L/QtdGA c2FtcGxpbmc= c3VwcHJlc3M= IGNvbnRhaW5lclZpZXc= IFNlYW1sZXNz IGFpcnk= IG9ubG9hZA== LldpbmRvd01hbmFnZXI= IFBMQQ== YnJhY28= LnNldFBvc2l0aXZlQnV0dG9u IHBkdQ== IGdzaQ== IENsaQ== X2dyYWRpZW50cw== 0Y/QtA== IFdoaXNwZXI= Y3N0ZGludA== IGzDpG5n IGZvcm11bGF0aW9ucw== w6lub20= b3VybmVtb3V0aA== WyRf IG9yZGluYXJpbHk= LnNldFVzZXJuYW1l IGZhY3VsdGllcw== TUlUVEVE L3ZhbHVlcw== IHdlaXI= IEFwdA== TVo= CWNm dWNrZW4= CQkJCQkJCQkJCQkJCQkJCQkJCQk= ZGVmZW5zZQ== W2lWYXI= IEJ1c2luZXNzRXhjZXB0aW9u U2VsZWN0b3Jz KGNvb3JkaW5hdGVz IFJlc2V0cw== IERyaW5rcw== b2xlYW5z KHN0eXB5 X0lPQw== Lnh4eA== IFNsYXRlcg== IEJlbGl6ZQ== IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio= YWRkaW4= X2VwaXNvZGVz IGlzY2hlbQ== bGVnYWxBcmd1bWVudEV4Y2VwdGlvbg== RGFubnk= IHBhcmVk LmNvZGVoYXVz IEFzc3k= CVJlY3Q= 4p4= Lmxpc3Rh INCy0LDRiA== IHZldHM= SFdORA== aXNvbmVy IHhv IG9yYWxseQ== IFN0bXQ= LnJubg== IERQSQ== IFN0cmlrZXM= LnNldFZpZXdwb3J0Vmlldw== IOiHquWKqOeUn+aIkA== WUVMTE9X R0xlbnVt cGFydG5lcnM= IEltcGxpY2l0 IHRha28= 4oCZZWxsZQ== IGVybcO2Zw== dG90YWxDb3VudA== R2ls CXdvcms= IHByYXRpYw== aW5hdGk= YWJpZXM= IFNraW5uZXI= IHNwaXJpdGVk IHBhbmNyZWF0aWM= IGhkZg== J2Vt IHBzeWNob3Npcw== b2xpY2l0 ICJ7Ig== X2F0dWFs IMOpbGVjdA== VEVBTQ== IGRhaw== IFNXQVQ= LkZyYWdtZW50TWFuYWdlcg== IHByb3Zpc2lvbmluZw== bGlmZXRpbWU= X0VYVEVOU0lPTlM= IENBU0NBREU= ICFb KEtQ IHZlbQ== IEludGVycmFjaWFs J119LAo= c3BhY2Vy X2t2 V2FyZWhvdXNl UkRE X2ZzbQ== LlN0cmV0Y2hJbWFnZQ== LFllcw== IFJlZnVnZWU= IEJyaW5naW5n IHbDoWxpZG8= LmludGVyc2VjdGlvbg== IHNwb29reQ== X3BvcnRhbA== IG1vdGg= IFpvZGlhYw== IFNPQ0lBTA== TWltZVR5cGU= J119fTwv IHJlc2l6YWJsZQ== 5Lqb KHBoYXNl KG1hcHBlZEJ5 IG11bmRpYWw= IGNvbnZv L2xlZnQ= L2RvY3VtZW50cw== d2FzaGluZw== IEFtw6lyaWNh X3F1b3Rh LnBvc3Rlcg== J10iKTsK IHN0ZWxsdA== IERJU0NMQUlNRVI= W29wdA== IGVkcw== IFJhY2Vz dmVudGFz IHB6 IENhcGFj IFVzZXJEYW8= aXRlc3Q= UHJvdmVlZG9y IFNob3RndW4= IHRoaXJzdHk= IEJhbGFuY2Vk aXF1ZXRh IGhlYWxlcg== LyIp LlNkaw== IHRlcnQ= ImRhdGE= X3Byb3ZpbmNl LkF1dG9tYXRpb24= IGZvbnRXaXRoTmFtZQ== X0FOVA== 55WM b29kbGVz IFJFUFJFU0VOVA== X0dQUw== IHBlcnN1YXNpb24= IERpc2N1c3Npb25z IGZyZWQ= TkVH OmJvcmRlcg== CWluaXRpYWxpemU= CWdsb2c= LWNhcGl0YWw= IEltVmVj IGRldmlz Q2FuZGlkYXRlcw== LmFuaW1hdGlvbnM= IHJhZ2F6emk= IFByb21ldGhldXM= IEtpZGQ= IHByb2dyYW1tYQ== Q2VydGlmaWNhdGVz Q29udGE= LmVzcHJlc3Nv IOuQmA== IGJlaWRl 6ZmG LmdldFJhdw== IEZ1bGxOYW1l IGlhbQ== KCopKA== bWFpZHM= Qkg= IENvbnNwaXJhY3k= X0RV IGJsYXRhbnRseQ== IFx8 IFdpZw== IENvbmo= UmVuZGVyaW5nQ29udGV4dA== TWl0Y2g= IGFsbGVsZXM= IOazqOaEjw== IHJpbXM= IE5laWdoYm9y IEt5bGll LnBhcnR5 dG9ycw== IOyhsO2ajA== IHdlcw== IENyYWZ0aW5n WyIu LnNwb25nZQ== IOqx SXNsYW1pYw== IHByb3NlY3V0aW5n IHdpaw== Lm9zZ2k= b25pbmdlbg== R3JhbW1hcg== J2lt IGF4aWFs Q2xlYW5pbmc= LmdldEV4dGVybmFsU3RvcmFnZQ== PS4v IGNocm9tYXQ= 0LXRhQ== YWJheQ== IGJvbGE= LkFnZ3Jlc3NpdmU= J10sJF8= aXphY2Fv UHJlcGFyaW5n OkFueQ== LkVOVEVS LXdpbmRvd3M= IGVucmFnZWQ= X2RpY2U= IGRldHRh ZWNhbA== X09SSUdJTg== IC0tLS0tLT4= X0JsdWU= IGJvdGFuaWNhbA== IGZyYWdz IGZhbWlsaWFs LWR1 IHNlaXppbmc= KGJsb2Nrcw== LnJk LmNoZWNrTm90TnVsbA== IG1pc2Vy IG1heHg= IEtuZWU= Vmlld0l0ZW0= SW5uZXJIVE1M RGFuZ2Vy KChfXw== IHByenlwYWQ= Y3JlYXRlVXJs Kios IERlY29yYXRpbmc= QVRFR1k= Pz4v LkRlc2lnbmVy aGV4ZGlnZXN0 IEV2ZXJ5d2hlcmU= YWxsZXJpZXM= LlRFWFRVUkU= LkJsb2Nrcw== emVsbA== IHByZcOnbw== U3VkZGVubHk= aW5wdXRFbWFpbA== KHN5bmM= LmJk Z29sZGVu PicpOw== IERpY2tpbnNvbg== Pj4oCg== IFFVRVVF IGdldENvbHVtbg== IFNBTkQ= LnBpZWNl bGljZXI= Rmx1dHRlcg== IGdldFZlcnNpb24= IHJlc291cmNlSWQ= b2ds xYJhdw== LkJyYW5jaA== CXdlYg== IGZyYW1lcmF0ZQ== UFBQ IGZyYXk= Q05U IGluZm9ybWF0aWU= J10NCg0K bmVhcw== SGVhZGVyQ29kZQ== IOa4 IHRyZw== cmF3dHlwZXM= SG9uZGE= IG1hcmtldGVy IHJlcXVlc3REYXRh IFBn CW5vdA== IHBhZ2VJbmZv IGFrdHVlbGxlbg== 44GV44KT IEFNUw== cHVzaFZpZXdDb250cm9sbGVy CUFM IHZlc3Rz cHJvZHVjZQ== LW3Dqm1l IFJhaG1hbg== RnVubnk= RVo= X1ZhbGlk IHNxdWFkcm9u IGxhc2g= IGlybQ== aWFzY28= IFBhcmFu IHBldGl0ZXM= IERlY2F5 IHVuaW5pdGlhbGl6ZWQ= cHJpdmlsZWdlZA== IG1iZWR0bHM= 5aSH5rOo IF4u IGVjc3RhdGlj RGV0cm9pdA== IHBhcnRlbg== IHNvdXZlbmly LmdldExvZ2lu 0LzQvtGC0YA= ZW7Dp8Ojbw== IG3DrW5pbW8= IEFjY2Vzc2Vk cmnDsw== TWlj IFZvY2Fs LlNldFN0cmluZw== IG1lbnNhamVz 5YCN IGF0dHJhdmVycw== IEFwaA== ICcpOw0K w7xuZGU= IGVuY2hhbnRlZA== IFJvb3RTdGF0ZQ== IENMT1NFRA== CQkJCQkJCQkNCg== IGNhbGllbnRl b3JyaXM= IHBoeXNpY2lzdHM= aHduZA== X3Zp IHLDoXBpZG8= IGNhcGl0YWxpemVk ZWRCeQ== IG1hY2hpbmluZw== IGh1YmJ5 IFN0YWN5 LkJ1cw== ZHJpbms= SHVy IHByb3BpYQ== VW5pdFRlc3Q= IG1pc2NvbmNlcHRpb24= X18pKTsK L2Rj IE1heXdlYXRoZXI= X21D LmNyZWF0ZUZyb20= IFFQYWludGVy cm9wc3ljaA== aW5uaXR1cw== YXlhcw== IGdlZw== KGR3 IHVzYWRv IHRyaWNrbGU= IGFubmloaWw= IFBhc3Rh ICsrCg== KEV4cGVjdGVkQ29uZGl0aW9ucw== LnBvc3RWYWx1ZQ== aWNhcA== IERvbmV0c2s= X3NvdXA= LXB1Ymxpc2g= IFBi bWVudGlvbnM= QUNDRVBU LlB1bGw= LOKAmeKAmQ== IHJldGFyZGVk X0FUT00= IFRlcm1pbmF0b3I= LWNvdXJ0 IENMTG9jYXRpb25Db29yZGluYXRl IHJldmVyZW5jZQ== IFNTQw== dXRlbHk= IFdPTg== IEdTTA== ZnJlaQ== LmdldExvbmdpdHVkZQ== IG9wZW5GaWxlRGlhbG9n LkJ1dHRlcg== LWltcG9ydGFudA== X01BTlk= IEdvbmc= 4oCcSG93 IGdvcmdl PW1zZw== IEV6ZWs= Y3JlYXRlQ29tbWFuZA== OmNoZWNrZWQ= IGluZm9ncmFwaGlj LldFU1Q= RGlycw== IGd1YXJkYQ== IGJlZXRsZQ== PHNtYWxs LWFuZHJvaWQ= IGNyZWRpdG9y IE3DqWQ= IGZpbmFsaXN0 IGFibA== bmV2 X2ludGVyYWN0aW9u IE1vbnRlcmV5 amFo IGNhbmRpZXM= IFF1aW5jeQ== 6Kqt IGJhdGNoU2l6ZQ== YWtpdA== IG9iZQ== KHBhcmE= IGV4cGVyaW1lbnRlZA== IGNvdW5jaWxsb3Jz IGNsYXNoZWQ= c3F1 LXN0cm9rZXM= IEdL IEV4cGlyZXM= IHByb3NlY3V0aW9ucw== IENyZWF0dXJlcw== IHnDtg== eGxpbQ== X0lNUA== RW50cnlQb2ludA== ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA= LkRlZmF1bHRDZWxsU3R5bGU= IGJyZXZl IEJyaXRhbm4= IHN3ZWF0eQ== IGxldGg= IGZsYXNoYmFjaw== cGVybWFuZW50 IEpESw== X0RldGFpbHM= RXVybw== cHB0 IHJpY2hUZXh0Qm94 L2JvYXJk IHRyYW5jZQ== LmN5Y2xl Jyk7Iik7Cg== IHRveGlu X2RlaW5pdA== IG92ZXJhcmNoaW5n IGNvbmZpZ3BhcnNlcg== IEthd2FzYWtp LnRodW1i IHBsYXlh IEpvc2Vm K18= IHplcm9lcw== IGF1cA== IEhhcmk= Y29tbWl0dGVk Tml0 LmZpbGVQYXRo IERpc2FiaWxpdGllcw== bWFudWZhY3Q= LWFsaWduZWQ= LlJFU0VU IHJ1c3R5 RXk= IG91c3RlZA== Y29zYQ== U3RydWN0dXJlZA== LmdldEQ= IHPDoWJhZG8= PkxvYWRpbmc= X21B LmdldFJhbmRvbQ== Ymxpbmdz IGNoZWVzZXM= dHRp LuKAog== IEJ1cmdlc3M= ZW5kZXJpdA== LicsDQo= KCIiKw== YWNi JXA= aW5kZXhlZA== X3ByZWRpY2F0ZQ== bmVzaWE= IGJpZWQ= IENJVA== KFBvcw== X3JhZGk= 5Lu35qC8 Qml6 IEFkb2xlc2NlbnQ= IHZpw6pu Y3ljbA== X0NhbmNlbA== IGNvbmNsdXNpdmU= IGFwcGVsbGF0ZQ== aW5mb3JtYXRpY3M= U0o= IGVsZWN0aXZl cm9sZUlk RmV0Y2hlcg== CUNvbW1hbmQ= KCIoJQ== IGZhcnQ= SUxB Z2V0QmxvY2s= QVVTRQ== INC00LDQvQ== IEFydGU= IG5vdGlmeWluZw== IGdlbGU= LnNhbWU= IFJlZ2Vs IEJhxZ8= LmNyZWF0aW9u IFZO X2NvbW11bml0eQ== IHVuc3VzdGFpbmFibGU= U0VY IGdyaWRTaXpl cmVzY2lh YXZlcnNhYmxl KCcsJylb IFBoZWxwcw== 4buVaQ== QU5DRUxFRA== LUlT LnJ1bm5lcnM= IFN0b2tlcw== LlByb2R1 IHdoaXBwaW5n X2FjcXVpcmU= IGludmVzdGlnYWNpw7Nu ZnJpZWQ= LmNvcHlXaXRo IEhhcmRjb3Zlcg== LVNl 4Z624Z4= aW52aXRhdGlvbg== bGVzYWk= IERvcm0= INGB0L/QuNGB0LrQsA== IGNvbmNhdGVuYXRlZA== b3BoaWw= IHRoaW5rZXI= L2ZvbnRhd2Vzb21l IExlb3BhcmQ= ICIvIik7Cg== IHJlc2lkdWFscw== IE1pY3Jvd2F2ZQ== IGNvbmZvcm1l dGhyb3A= IGRpc2VtYg== IE9NRw== IERpc2NpcGxpbmU= IEFjcm9iYXQ= L3JlcG9zaXRvcnk= ZGZh X01FRA== YnVmaW8= IG3DqXRob2Rl X0hPTEQ= aWFzaQ== X2xlZ2FjeQ== KQ0NCg== 5qOA R2V0UHJvY0FkZHJlc3M= IHlheQ== b3RlbmNl b3JkZXJpZA== LXR3 IGRlYXJseQ== SW5jb21pbmc= L2ls IG5ldXJvcA== dWN6 KTsNDQ0K IElubm92YXRpdmU= IHByb2Z1bmQ= aWdtYXQ= U2VsZWN0aW9uTW9kZQ== cmVsZXZhbnQ= LkdP IGJydWlzZXM= IHNhY2g= b2RlZg== IHJlaW1i L2Rlc2t0b3A= LXNwb3Q= dW5kYW5jZQ== RW50cm9weQ== XGNvcmU= IHN1Z2Vy IE12Yw== IEdOT01F X2luZHg= IFlZU1RZUEU= IE1hdGxhYg== IENJRg== ICopKQ== IHByb2R1Y3RMaXN0 IEFscmlnaHQ= YWNlbWFyaw== 0YLQuNCy bW9kaWZpY2F0aW9u aW50ZXJuYXRpb25hbA== IGhvbWVycw== IGRpY3Rz IFFGb250 LlNRTGl0ZQ== IHRyYW5zcGxhbnRhdGlvbg== IE1lc3NhZ2VCb3hCdXR0b24= IEVsdmVz J11dKQo= KFFJY29u IGNpbmVtYXM= Q09PUkQ= LUNoaW5h IGto4bqpdQ== 5oiR55qE IHNrdWxscw== IHBhaW5zdGFraW5n ZmNl LlhSTGFiZWw= IHNwZWNpZmllcg== IHByZWZlcnJpbmc= L2FjdGl2aXR5 KFBob3Rv w6FsdA== LmxvdA== Jycu YW5ub25jZQ== Lmdvb2dsZWNvZGU= LXBkZg== IFBva2U= X0FDTA== IGVuZG93ZWQ= ZGlzY292ZXI= Lm9tZw== IHdvb2RsYW5k Lk1hZ2lj IHZvbG9udA== Tm90QWxsb3dlZA== IGNoYXZl Qk1X JywnPScs IFNJWA== 5oiR5Lus IGtvc2hlcg== IGFzcGlyYXRpb24= aW50bA== X3JlZnB0cg== JysK bWVudG9y LmNsdWI= V2luZG93U3RhdGU= LkFSUg== IHp6YQ== IG1lc3NhZ2VUeXBl LmVxdQ== VGhvcg== IGluanVzdA== IGd1bXM= IGJvcmRlclNpZGU= Ly8vLy8= IFRyYW5zbWl0 IGJ1ZnNpemU= IGhhaw== IGVsbGFz UkFORE9N CW1j IHBlYQ== ZWtv ZG9jdW1lbnRv IGh5c3Rlcmlh IGFyZW5hcw== IGd1bm1lbg== IG1pa2U= IGltcHVuaXR5 YXRpc2F0aW9u X1plcm8= X0NPTVBBTlk= IEdvcnM= IHVzZUNsYXNz KHJlZGlz IFJVTk5JTkc= IEJhaXI= dmVsdGU= ICcsJy4= 0LDRgtGM0YHRjw== w7ZzdA== ZW5jb2RlVVJJQ29tcG9uZW50 X3Jlc3RyaWN0 IGRlY2Fscw== IFBlZGlkbw== IGFsdGVyY2F0aW9u RGlzcGxheXM= IEFwcGxpY2FudHM= Q1VT VGV4dGFyZWE= IEFuZ29sYQ== LmZ1dHVyZQ== IFVTSE9SVA== IHN1cHByZXNzaW5n IHNldHplbg== QVBvbHlub21pYWw= IHRvY2g= IGhhbGxtYXJr ICQkJA== IENIQVJTRVQ= LnJwbQ== IERpY2g= LS0tLS0tLS0tLS0tLS0tLS0tLS0= X3Bhcm0= 6L+Y YWNjaW9uZXM= aGFpdA== V0FSREVE X3JvdXRpbmc= IE5PTQ== IGVuY2xhdmU= IExvdHRv CWZy Y29tcGxleENvbnRlbnQ= IEJhbGxhcmQ= a3ViZQ== L3dpbg== LmdldENvbHVtbk1vZGVs X1JFUExBQ0U= SGVhZGVyVmFsdWU= IGVzdHVkaWFudGVz IGFwaXM= IGJwbQ== IFR5cGVOYW1l QW5kR2V0 cml0YQ== UGxhbnM= Pk5vdGU= IGZldGlzY2g= IHRvbmVk X2dvdG8= b25zZW5zZQ== IG1vbGRz IGluZmlsdHJhdGlvbg== IEd1ZXJyZXJv dWJibw== Y2tp KCQoIi4= X2FjdGl2aXRpZXM= KGNoYW5nZXM= IG9mQXBw IEtlcGxlcg== IERlbXA= IENvbnRpbmVudA== LlRpY2tz IFVuc2lnbmVk IEphaHJlcw== IGZyZXNobWVu IEFyY2hpdmVk INC60L7RgtC+0YDRi9C5 ICc6Og== VHV0b3JpYWw= Q2M= IHRhYmxlTGF5b3V0UGFuZWw= ZnJvbUpzb24= LmxldmVscw== X3RyYW5zaWVudA== IGVuZG9yc2luZw== IERJQw== bGF1Zg== IHNocmVk X0VNSVQ= aWZpY2FudGx5 QUxB L3Byb3Rv IG5hcnJvd2luZw== VXRj RmFjdG9ycw== IHNlbnRpZW50 5p6Q bGl4aXI= IENST1NT bWV0ZW9y IGdyb2lu IG1kYg== IFJvdHRlcmRhbQ== IGNvbWlkYQ== IE9wQ29kZQ== IERlZmF1bHRWYWx1ZQ== UGVybWlzc2lvbnNSZXN1bHQ= IGhldGVyb2dlbmVvdXM= IG1vb3Q= IGRlY2VpdmVk LWluZGVwZW5kZW50 IE9iamVjdE91dHB1dFN0cmVhbQ== IG92ZXJwb3dlcg== LmR1cA== IGxkYg== IGRvbWVzdGljYWxseQ== IGJlc3RlbGxlbg== IGxvdg== IENvbnRyYWN0b3Jz VHJpYW5nbGVz IGZvZGRlcg== IGZpbG1lcw== 5LyB IHJldm9sdmVy U3RhcnR1cFNjcmlwdA== L3ZhbGlkYXRpb24= IFJlc291cmNlVHlwZQ== acWf IExheg== ZmVm IGxzdG0= eyo= LmF0dGFjaG1lbnQ= LmhpdHM= ZXdpdGg= RE9H QWxhYmFtYQ== IG1lZGl1bXM= Lm1Db250ZXh0 LWNvbHM= 5Y+L Lm5vdGljZQ== IGF0dG4= IFBhY2tpbmc= IExu X0NPTVBMRVg= L1VzZXJz LnNhdmV0eHQ= IFJvdW5kcw== Pyw/LD8sPyw= IGluZ2w= IFJPQw== X2ZlbWFsZQ== IFN0YXJk XV07 IHdyZXN0bGVycw== IHRvcnJlbnRz IHNpbmg= 77u/Cgo= 67O1 c2Vuc2U= aG93ZXZlcg== LlBoeXNpY3M= SW5mcmFzdHJ1Y3R1cmU= IFNhY3I= RmVs IERJU1RSSUJVVA== w6ltZW50cw== IFZhbGlkYXRlcw== IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IHwv IGVzbA== IHLDqXNlYXU= IEJpcA== QllURVM= X1dBVEVS VHVybmluZw== RUxT IGp1eHRhcA== IGxlc2Jpc2NoZQ== w71jaA== KFVua25vd24= TmVv QEpzb25Qcm9wZXJ0eQ== IGFsdW1ub3M= IFJhcXFh aW1laQ== LmdldEJvdW5kcw== Lk1vdXNlRXZlbnRIYW5kbGVy IyMjIyMjIw== R2VuZXJpY1R5cGU= L2Ntcw== IHR1cm5v INC80LjQvQ== IGZvbGtsb3Jl IEV2bw== IGNvbmR1Y3Rpdml0eQ== IGxlYmVu IGdlYXJib3g= LXZz IM+G IGRyaW5rZXJz IGNvbmV4YW8= IFRlZXRo IGdldEFyZ3VtZW50cw== IFJBVA== ZW50aW91cw== RWR1Yw== K1c= IEluc3RpdHV0aW9uYWw= IEJvcmQ= aXNFcXVhbA== KHB3ZA== IGlnbml0ZWQ= IFJvdXNzZQ== IGltcGFjdGZ1bA== IE1hbGs= IGdlcmFs IFBpdm90 IGF6dA== IGNzdmZpbGU= IFJvcGU= IFNPTFVUSU9O IEFyYml0cmFyeQ== IGxldHRv Lk1vdXNlQWRhcHRlcg== IH19fQ== IFNhaWxvcg== ZGVyYQ== UHV0dGluZw== IGNvbmNlbnRyYXRlcw== IGF1dGhEb21haW4= 4oCd55qE LWZpbmFscw== LHN0cmxlbg== TXVvbg== IE9yZGluYXJ5 ZmlyZWZveA== IExhVGVY IEh1bmQ= ZW5naW5lZXJpbmc= L2JsdWU= ZWRUZXh0Qm94 KCIiKTs= IENEREw= a2VwdA== IEdldFN0cmluZw== S2ly KCk9Jw== IE9DRA== YW50aXVt JG1lbnU= IEFwcGFsYWNoaWFu U2VjcmV0YXJ5 66WY 4Li14Lii U2VtYW50aWM= ICpb ZXN0b25l dW5na2lu TWF4WQ== LXRvbmU= In07DQo= X1BhcnQ= PE1lbWJlcg== dHJhbQ== IHRyYW5zaXN0b3I= IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCg== IERlc2Rl IHJpZ2h0ZnVs IENvcm5lbA== 5pE= LkhPVVI= IHNpZGVsaW5lZA== cmVmZXJyZXI= bWF6ZQ== IGhvbHN0ZXI= IGNyaXBwbGVk IERhdGVGb3JtYXR0ZXI= b3BoYWdl X21E IGRlc2VsZWN0 cmF1ZA== IFBLSw== cm93RGF0YQ== IGxvY2tzbWl0aA== LnJlc3BvbnNlcw== KHByb2R1Y3RJZA== X1NUTVQ= S2V5VHlwZQ== LlRoZW4= emVl IGNydA== IEdyYW5kbWE= QFJlc291cmNl IGJpdHdpc2U= LWNtcHI= 44CCd3d3 emVpdGln JmRpc3BsYXk= Q2FydEl0ZW0= LU5v IG51bcOpcm8= IG1hdXI= IGluc3RhbmNpYQ== CWR0 X25wYw== IHNrYXRlYm9hcmQ= 4oCcQWxs IENyb3dk IMOkbg== IGJyYXo= Y2Fl eW5ldA== L3Bt L3NjcmVlbg== T1BUQVJH IFZCb3g= IGxlb3BhcmQ= X2dyZWF0ZXI= Y3B0 PGRk IG1lY2hhbmljYWxseQ== b3NwZWxz KWY= Lmx3amds LmdldFBvcnQ= IFBSRUY= LkFkZFRyYW5zaWVudA== cHBhcmQ= IO2ajA== RXRoZXJuZXQ= IHNhbGluZQ== KGxldmVscw== IHNlcnZpY2VQcm92aWRlcg== LkFuZ2xl YWx0aXR1ZGU= aWxsYXVtZQ== IHNjYXBl X0NBTEM= X3F1ZXN0 IERpc3NlcnRhdGlvbg== IEVETQ== LUNkcw== IGhvbm9yYXJ5 c3RvcHM= IHN1YmRpcg== IFZI IENoZWF0 IHJpZ2h0ZnVsbHk= UUU= LldyaXRlQnl0ZQ== ZmlndXJlcw== ZW5uaWU= KERCRw== IHZva3NuZQ== IGV4cGVuZGVk VU5JQ0FUSU9O aWxpbng= IFJlY2Fw X3ZlcnRz IHRyYXVtYXQ= IGdldFBsYXllcg== IHZlcmJlc3M= IGN1bHRpdmF0aW5n IGluaXRpYXRvcg== VGjDtG5n ZmluZEZpcnN0 X3Blcm1z IGJ1Yw== ICIiIg0KDQo= VFlQRVM= b2JqZWN0TWFuYWdlcg== KENvbmZpZ3VyYXRpb25NYW5hZ2Vy IHRpbWlk IHNuYXBjaGF0 IGNvbnNlZw== CWRpc3RhbmNl X3JpZ2h0cw== X0Rlcw== IEZsZXNo LXZlcg== IGFmbA== ZnJhdWVu IGJsYXNwaA== IFF1YWxpdMOkdA== bWFm TW9uaXRvcmluZw== LkRpZmY= IHNob3JlbGluZQ== IHJlc3BvbnNlQm9keQ== bWVtc2V0 PGRlY2ltYWw= U21hcnR5SGVhZGVyQ29kZQ== IGluc2V0cw== IEJpbmFyeVRyZWU= YW1lZGE= IG5paGls IE5heQ== eW1vbG9neQ== IFdH IHRhcGk= IEluc3RhbGxlZA== bWFpbnRlbmFuY2U= KX0iCg== IFhP LXBlcmlvZA== c2Fy IG5pbmd1bmE= T1JNQVQ= LnNldFByb3RvdHlwZU9m IEti IEhlbnJpaw== w6l0aXF1ZQ== IExhaG9yZQ== CUFkZHJlc3M= IG1lbHRz Tnk= X2FkdmFuY2U= IHZlbG9jaWRhZA== IGFsdW1ubw== IHNhbml0aXplcg== IHBoaXNoaW5n IENvbWV0 IGNoaWFy CXNwZWM= dHJpbW1lZA== KHN0YXRlYXJy b25uZW4= UmV2ZW51ZQ== TGVucw== IGNoYWlyZWQ= IEFzc3VtZXM= VHJhc2g= X3Vuc2V0 XEJyaWRnZQ== UG9pbnRTaXpl IFBvbGlj IHNleHVhbGVz CWRmcw== IFdpZGVTdHJpbmc= IGFjY3J1ZWQ= WVc= X1NDSEVEVUxF IGtpdGU= IHBhcmFjaHV0ZQ== W3RhYmxl IGFjdGl2ZUNsYXNzTmFtZQ== LlF1YWQ= SXNyYWVsaQ== IMWT IGhvb2c= IGNo4buJ ZXdlYXI= IHRpcmVsZXNzbHk= c2V0RXJyb3I= LmdldEFtb3VudA== LnNldEl0ZW1z IE1hbnNvbg== IEJheWVzaWFu X0ZsYWc= QUNIRVI= L29yaWdpbmFs IGltbWFj IExvc2luZw== Jz4KCg== TGlj IE1pcmFnZQ== IEFzc2VtYmx5RmlsZVZlcnNpb24= VGVW IFZhbHVlRXZlbnRMaXN0ZW5lcg== LXNvbHZpbmc= VGhv cm91bGV0dGU= X1dQ IHVuaW50ZXJydXB0ZWQ= IGZpZWxkVHlwZQ== LlR5cGVk IGFtb3Vy IG1vY2tlcnk= KHZvbA== IFN1YmNvbW1pdHRlZQ== IFJ1Zg== ZXJveA== OlVJQnV0dG9uVHlwZUN1c3RvbQ== IEJsdXI= IHd5a29u bmNlcw== QVNIQk9BUkQ= ISEiKTsK IG11cmRlcmVycw== LmRhaWx5 IERJQUc= amluZw== IGRvbHBoaW4= IGzDsm5n IGLDtg== IFZvY2FidWxhcnk= LlN0T2JqZWN0 JykiPg== IHp1bg== IHNjcmltbWFnZQ== dHLDqWFs IExpZw== W3Zp Q29sZQ== IGZyb3N0aW5n LlBsYXllcnM= LXRyYW5zbGF0ZQ== RmVlbHM= PVwiLw== LkJ1dHRlcktuaWZl ID8+Owo= IGF2aQ== aW5uaWU= LkZhaWx1cmU= IHNwaW5kbGU= Q29uZmlndXJhdGlvbkV4Y2VwdGlvbg== X2hvcA== IHBvc2nDp8Ojbw== IEF3YWl0 VUlJbWFnZVBpY2tlckNvbnRyb2xsZXI= CWRheQ== IGdlbm9t Q2Fi INGA0LXQt9GD0LvRjNGC0LDRgg== T1JJR0lOQUw= IGVqYWN1bGF0aW9u KHRjcA== U0VDT05E IHRvbmlj IExpc3RCb3g= IAkJCg== KCk+Cg== IHF1YXRyZQ== xrDhu6NuZw== d2l0aEVycm9ycw== Lk1heWJl LOKApg== dG9rZW5JZA== X1VOREVG IGZyZXNobmVzcw== IEFtZW5kbWVudHM= Lm1hcGJveA== LkNW KGJsb2c= X2dldHRpbWU= LnF1ZXN0 c3BhcnNl IHJlc2FsZQ== IGVudGh1c2lhc3RpY2FsbHk= IFByb3N0aXR1dGFz V2E= Q2FyZ28= LlBhcmNlbGFibGU= U0VOU09S IFJ5dQ== TGF1Z2hz X05hdGl2ZQ== L3Bn eXN0cw== IHBob3RvYw== 566A YWRvcHQ= LnNwZWNpZXM= Y29uY2lsaWF0aW9u QWRqdXN0ZWQ= LkZpcmViYXNlQXV0aA== dXR0bGU= b3JkaW5hdGlvbg== IG11bmNo IFN0YWtl LnBpbmc= YW5rZXI= KFFTdHJpbmdMaXRlcmFs IHN1YnNjcmlwdA== ICAJCg== IE1DQw== X0NtZA== c2V4eQ== aW91 IE1BTlk= IG5hbm55 VFJBSU4= IGZsb3VyaXNoaW5n IFdhdGNoZXM= IFFNYXA= IEZlcm0= IHdhc20= IEFiZWQ= X1VE IEdsYXNzZXM= K3Y= QXR0ZW5k LkNoYWlu IGRlY2VuY3k= IFN1cHBsZW1lbnRhcnk= aHVudGVy LXR4dA== ICJ9IjsK LnNldFdpbmRvd1RpdGxl KCI8Pw== IG51bWJlcldpdGhJbnQ= IGFmYXI= 56e75Yiw cml0dGU= L2xpc3Rz KeKAnQ== IGRpdmVyc2Fz IGVtYmVy LlJlYWN0Tm9kZQ== IGthbmc= IFN0YW1mb3Jk W2F0 LmNsb3NlUGF0aA== IGNvbnRyYWNlcHRpdmU= KGxvY2F0aW9ucw== IGF2YW56 IENvbnRhaW5lcnM= IFNjaG9sYXJz LmFjY3VyYWN5 INCy0YvQv9C+0LvQvQ== 5ZWP PSItLQ== IFdyZXN0bGU= IEd1YW50YW5hbW8= IG55bXBo KGd1ZXNz LnNldENvbHVtbg== X3RF LmNvbnRlbnRNb2Rl IGludmFsaWRhdGVk IFNob290ZXI= IE1hdGVy LlN1Ym1pdA== IGFuZ2xlZA== bmF2YmFyRHJvcGRvd24= QW8= IOa1 0LjRgdC6 IFNDQU4= CWNt IE1hcmt0 dHJ1Y2s= OycK Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg== IGdoZXR0bw== IGJ1aXRlbg== IENsb3du OiE= IGNoaW1wYW4= J2ZpZWxk YW1tbw== IERlcGVuZA== KX0p KEZMQUdT IFJDQQ== IENob2ly TG9naW5QYWdl IEdvcmQ= Q29tcGFjdA== LXBvY2tldA== IGNvbnN1bHRhcg== IEludGVyY2VwdA== xZ90aXI= dWV0eXBl b25lbnRz IHN0YXJ0UG9zaXRpb24= IHBvc2l4 IFdvaG51bmc= X0VYUFJFU1NJT04= IExvZ2luQWN0aXZpdHk= KG9wY29kZQ== IFRhbmdv IE51bWJlck9m Lm92ZXJmbG93 IFdDUw== IE9jY3VwYXRpb24= X2Nn LlRvcGlj IENhcmVlcnM= QVJBVElPTg== LmdldExpbmU= IOyihQ== IE5hY2h0 IHRvSXRlbQ== aW5jbHVzaXZl YXZpZXN0 LWFwcG9pbnRlZA== KGludGVybmFs Q09OVEVYVA== KGRpZ2l0cw== PXsiLw== IHBsYXl3cmlnaHQ= IGRlYWRsaWVzdA== bGVhZHM= LlBVVA== ICp9Cgo= IFBhY3Q= IERpc2NvdW50cw== TG9jYWxpemVkTWVzc2FnZQ== IE3DpG5uZXI= Xz4= IG1hc2NhcmE= KFByb2ZpbGU= 5Yqf6IO9 aW1pdMOp IHdpbGRmaXJlcw== LVJPTQ== LmlzT24= KGdyb3VwSWQ= UmVwYWly YWNjdW11bGF0ZQ== IDwiLA== IGhhbmR3cml0dGVu IGFjaGV0ZXI= IE1HTQ== IElybWE= LT57Xw== Z2Vl Y3JpbWluYWw= IOiLpeimgQ== IG1vbWVudGFyaWx5 IikhPQ== X2xpdA== IGV4cGlyZXNJbg== LiIpLg== 6ZW/5bqm IGZyw6Zra2U= dmxj IG9yYnM= KSwk IHZlbnR1cmVk Lz5c Y2hhcm0= TnVpdGth ZWxkaWc= YXRvbmlu V2l0bmVzcw== LWxhdA== IHNldEhpZGRlbg== IHJlbGljcw== IGNvbnN1bGF0ZQ== LklHTk9SRQ== IkFmdGVy IHNldEFkZHJlc3M= IGJlc3RlaHQ= ICcnKQoK LnhheGlz IHNlcsOjbw== IG1pc2xlZA== X1VOSUZPUk0= IFZJQQ== aW5jcg== IHplbml0aA== IHZpc2Nvc2l0eQ== IHRoaW5seQ== LmdldFNoYXJlZFByZWZlcmVuY2Vz LkVycm9yQ29kZQ== IiksIg== IE1pbGxpb25lbg== IC8+KQo= U2Nyb2xsSW5kaWNhdG9y LXNlZWtpbmc= IFBPTElUSUNP YXNjYQ== X3Js TmF2aWc= KGZ1bGxmaWxl IHNvbGl0dWRl IGp1dmVu IGhhdWxpbmc= IE1hY3Jvcw== IEdyeQ== IGV4ZXJjaXRhdGlvbg== IEFUVEFDSw== VGlja0NvdW50 IHJpdGVz IGRvZQ== UGFydGljbGVTeXN0ZW0= IHNsdQ== V2luZG93VGV4dA== IENsYXNzTmFtZQ== IHNsYW5kZXI= CVBvcnQ= am9uZw== P2E= LkRpYWw= 4oCUYXQ= JG9ialBIUEV4Y2Vs IHNvYXI= RU5O YXBwZWFyZWQ= IHF1b3RpZA== ZW1hY2hpbmU= IG5pcA== IG1pY3JvdGltZQ== IEFsbWE= OyE= LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t IFBhc3NhZ2U= IGR1bXBzdGVycw== IEV4Y2x1ZGU= IHN1Z2dlc3RpdmU= IENpcmN1bGFyUHJvZ3Jlc3NJbmRpY2F0b3I= X2Nscg== QXJyYXlUeXBl SUxMQQ== RWxhcHNlZFRpbWU= RHJpdmVu IHJlc291cmNlTmFtZQ== IEdhcnJpc29u c2VyaXI= LWFoZWFk IHBpbm5hY2xl IEVzcHJlc3Nv U3BhcnNl IGFzc2F5cw== IEdpcmxmcmllbmQ= aW1pZA== XT0nXA== T05HTE9ORw== IHBvcnRyYXlpbmc= TGFuZQ== IGLDunNxdWVkYQ== IHJlaW5mb3JjZW1lbnRz IFNwcmVhZHNoZWV0 IEFycmF5Q29sbGVjdGlvbg== LGFycg== bGlnaHRib3g= aWNhbmE= PCI= YnVpbGRlcnM= S2lk IE1hdFNuYWNrQmFy RVhQUg== b2RjYXN0 IEZvdW5kYXRpb25z IGluZHM= PSckew== Rml6eg== LWZ1bmN0aW9uYWw= KHdvcmtzcGFjZQ== IHN0ZW1tZWQ= X3BhdGNoZXM= IEphcnZpcw== UkVBRElORw== IGRpc3Jlc3BlY3RmdWw= IFFEb20= ICR7Cg== ZXN0YXR1cw== UmVhY2hlZA== IS4KCg== SUxU IE5ERUJVRw== IENvdXJhZ2U= YmlydGhkYXRl IFRpbmc= IHV0aWxpemFkbw== w6FuY2hleg== T3V0ZG9vcg== IGhhbmRndW5z UmVmQ291bnQ= yZk= cm9tbw== IHR0cw== LlNoZQ== IFBhbmU= 44CRLOOAkA== IElPQ1RM L2JsYWNr aW5zY3JpcHRpb24= IGJpb3BzeQ== IFRpbWVJbnRlcnZhbA== LlRlc3RDaGVjaw== IEdVSVN0eWxl IENhcGFiaWxpdHk= IEJlaXRyYWc= ZG9ubmVlcw== VHJlYXRtZW50 LmJhY2t1cA== IHNpZ25pbmdz IEJvY2E= ZHJt Lk1BSU4= IGdvZWRl IE1hcmt1cA== R1JFRQ== IEJhc2VTZXJ2aWNl LkNyZWF0b3I= IGphaWxz IEthaG4= SXBBZGRyZXNz QUNISQ== IGluaGliaXRlZA== IEAkXw== IEFzc2Fzcw== IGVudmlhZG8= SGVyb2Vz 0J/QtdGA IE1hdmVu Lmxz IGl2ZQ== fFJG IHJlc2l6ZU1vZGU= IHJ1bXBl X2F0dGFjaG1lbnRz VFU= IHRhY3RpbGU= QXR0ZW1wdGluZw== IHJvYmlu eWF3 IG1lcmNlbmFyaWVz IEhhYml0YXQ= ZW5kZGF0ZQ== IG94eQ== CVJhbmRvbQ== b2hvbg== SXNOdWxs IFZhbGlkYXRpb25SZXN1bHQ= 44Oa dW1iZWQ= cHB2 IGFycA== aWNoaWNr X3Jubg== IFRGVA== VGV4SW1hZ2U= Ik9u IFNhbXBsZXI= dG9wbA== IGphbmU= eWxpbmc= IFVOSUNPREU= VGFiSW5kZXg= PHsK c3VzcGVuZA== dXZpYW4= LGFwcGxpY2F0aW9u 0L7Qu9C40YfQtdGB0YLQstC+ eWF0 ZXppZXI= IENIVU5L IEFkbGVy L0FkZA== IEtleVZhbHVl IHNwb3PDs2I= U2FtcGxpbmc= Y2hlcnM= X0FNRA== UnU= Lk11c3RDb21waWxl TmF0aW9u QXNzb2M= TWFuYWdpbmc= IEVuZ2w= X0dC IHN1Y2NpbmN0 IGRpc2xpa2Vk IElrZQ== QnVsbGV0aW4= X0FSQ0hJVkU= UHJvcG9zYWw= IGpvZ2dpbmc= LkNSRUFURUQ= IGNob2w= 6KOF jKg= LXB1c2g= IHJlc2VydmE= Y29yZXY= w6h0cmU= VEhS IGluY29tcGV0ZW5jZQ== IGNoYXJpc21h 5oSf ICI9PQ== QlRO IExvY2F0b3I= aXZldA== KCcuJykK IGZvckluZGV4UGF0aA== w7RtZQ== IGNhcGFjaXQ= d2F0ZXJz IFdST05H aG9h IE1JUFM= IGVtaXNz IEphY3F1ZWxpbmU= KGNtcA== IGVlbnM= TGVv LnRpbWluZw== Q0xVU0lPTg== ICgiLQ== 5ZOI LmtvZGU= IFVuZGVydA== IGJld2lsZA== IEVzc2Vu Lmhk IHJlbmVnb3Q= IG1vd2Vy IGxzcA== IHBlbmNoYW50 IG1hbm9l IGFnbGk= IHJlY2Fs IE9QRVJBVElPTg== KF4pKA== IM69 IFNjb3BlZA== IEAiCg== PWxhYmVs W2xvYw== SW50bA== IE56 dGFibGV0 LkNvbHVtbk5hbWU= IHNjcmVlblNpemU= REJ1cw== Y29va2Vk LXJlZ2lzdHJhdGlvbg== 4oCcT25l LW5vbg== IHdpxJlj IGNvc3Rh LmFkZFRhYg== LmNvbmRpdGlvbnM= IEhlc3M= TUVNT1JZ IEF2YWxhbmNoZQ== KCl9fQo= IHRyaXBsZXQ= IGxhYnlyaW50aA== IE5vZGVMaXN0 IE5ZVA== IHllbmk= ZGZm Lkh0bWxDb250cm9scw== QVZJUw== L01hdGg= IG1lbWNtcA== 2KfYoQ== 0L7RgdGM Y3JhcA== KHBhZ2Vz IGx4bWw= IFFEYXRlVGltZQ== X3RjYg== IG9wZW5pZA== IHN5bmFwdGlj IE1ETUE= KHNsdWc= aWdtYXRpYw== ZW5vcg== IGNyYW1wZWQ= R09Q rZA= LmlzRmlsZQ== IERpZmZlcmVudGlhbA== ID0iIjsK CQkJICAgIAk= IENvb2tl CVVGVU5DVElPTg== IHBlcnNldmVyYW5jZQ== UmVsYXRpdmVMYXlvdXQ= SU1QT1JUQU5U IGV4b24= INC+0L0= aWJhc2U= KENPTlQ= bm92YXRpb24= 5L2V W3N1Yg== QWRtaW5Db250cm9sbGVy SFRUUEhlYWRlcg== Y3JlYXI= IE5JUg== IERyb3BEb3duTGlzdA== IHZhbGlkZQ== IGRlaHlkcmF0aW9u Lidd KFdJTg== IC4uLlw= IHBob3Rvc2hvcA== CUluaXQ= X2NvdQ== IHRpbWVab25l ZGFyd2lu cm9tYXRpYw== TmF2aWdhdGlvbkl0ZW1TZWxlY3RlZExpc3RlbmVy YnJhdGVz XS0tOwo= IHRyYWdlZGllcw== IFBlZGlhdHJpY3M= U01BUlQ= LUFQSQ== IE1lc3NhZ2VMb29rdXA= CXZv IHByZWp1ZGljZXM= IG1B VXBz IE1JU1NJTkc= CWFk Q3JlYW0= IFRi IE1vbmE= X2dob3N0 CXR5cGVz RW1i IERvY3VtZW50YXJ5 Jyk7CgoKCg== IGx1cA== X1JlZmVyZW5jZQ== IEJBVENI IGludGVydHdpbmVk PENlbGw= IENhYnI= bmF0aW9u IGlzQ29ubmVjdGVk LnJlbW92ZUxpc3RlbmVy IGNvbmc= X3Rp IFNpbGljb25l IOqysOqzvA== IFdBTg== IEdpYnJhbHRhcg== L3Jlc3BvbnNl CXBlcnNvbg== Y2hhbnRz VklQ ZW1lcmdlbmN5 UGl4ZWxGb3JtYXQ= LUFt IHNvdXRod2VzdGVybg== X3BsbA== aWZlcnM= X09OQ0U= IEZheWV0dGU= Lm5jYmk= X1BhbmVs LlF1YWw= IHBvbHlz IGNyZWF0ZVN0YWNrTmF2aWdhdG9y 77+9dA== IGxheW9mZnM= IEJsYW5jbw== RmVhdA== IFZpbWVv X2NoaQ== X2xpZmV0aW1l UE9JTlRT LHByaXZhdGU= IHVuYmVhcmFibGU= cHJpbnRpbmc= IGNnaQ== LkJBQ0s= IGludGVybnM= IE5ld2x5 aW5mZWxk KElC IEthdGE= IERlZmVuZGFudHM= VGhy 6aKE X1ZG RkZGRkZGRkY= IGRhdmlkamw= IGJpdHRlcmx5 U3VnZ2VzdGlvbnM= LnNldENhbmNlbGFibGU= RklOQUw= YXNvbnM= X3J3bG9jaw== X1dSQVBQRVI= IGhhcHBpZXN0 KHJvd0luZGV4 w7NzaXRv VE9UWVBF QXV0b21hdGlvbg== TG9nRmlsZQ== IGNvbnNvbGF0aW9u 44OA IHTDqm0= IHByZXI= cmd5eg== IEdlZw== CWR0bw== LmRlZmF1bHRWYWx1ZQ== IEthbWk= IEFTRQ== b3B0aW1pemVk IO2PrA== IG9yaWdpbmF0ZXM= ZXJyTXNn IGVzcGHDp28= KFNZUw== IE1jQg== ZGFuY2U= X2RldGVjdGVk IGZyw7w= CQkgICAgCQk= PERhdGU= KGNvbWI= IERlY2lkZQ== XEZpZWxk IFByb3Bvc2Vk Umli IGRpc2xpa2Vz IFdpZW4= CURvY3VtZW50 IHRyYWY= IHN0b3JpYQ== IFRlbGxz Jyk9PQ== Q3Jp KFZBTFVF IEJ1cm5ldHQ= LHZvaWQ= IGRhbmg= IGNjcA== QmxvY2tjaGFpbg== OiItImAK SUNsaWVudA== SVNPREU= SXNzdWVy KX0NCg== LGJ1dA== IFVwaA== KFN1Yg== IHTDqWzDqXBob25l IG9uRGF0YUNoYW5nZQ== IG1hcnNoYWxsZXI= LWFuYWx5dGljcw== LGNvbnRlbnQ= IGRlYmFjbGU= X1ZhbHVlQ2hhbmdlZA== IGZhdW5h ICM9Pg== IGZveWVy J3V0aWxpc2F0aW9u IE3DvGxsZXI= IEZldGlzaA== IGRlZmF1bHRNYW5hZ2Vy IGJhY2t0cmFjaw== QmFo RXhwbGljaXQ= X0FTQ0lJ IG1BY3Rpdml0eQ== KE1zZw== IOqyjA== IFRFUk1T IEFuZ2ll SFNW IE1vc3F1ZQ== Lk5hbWVz 7Yq8 cmVzdGU= X3Bhcm1z IGdhcGluZw== IGNyb3BwaW5n RGF0YUZyYW1l IHJlc3BvbnNpdmVuZXNz X3VuZG8= X3RyYW4= LnRlcm1pbmF0ZQ== IGl0YWxpYW5l IHdhbGt0aHJvdWdo IGF0dHJhY3RpdmVuZXNz 0LTQtQ== X1NUUw== X2xlYXJu IGNob2NvbGF0ZXM= aWVyYXJjaGljYWw= LXRoaW5raW5n ICkpKQ== aXNobWVudHM= LkxvZ2Y= IFRNWg== IENhbmFyeQ== Zm9pbA== IFZhY2NpbmU= LnZ4 IFN1cnJvdW5k SW50ZXJtZWRpYXRl IGlvdg== dmFpcw== JzsiOwo= 772eCgo= 6YCB5paZ 4oCmaXQ= U2VhdHM= Q2xhcg== V2Fycw== IEh1dGNoaW5zb24= IEhhc2Fu IScpCgo= IFJpY2hpZQ== Y2hlaWRlbg== KCQoJw== WW9yaw== IGxpZHM= IGFscGhhbnVtZXJpYw== IEdsb2Nr LnNoYXBlcw== IHNwYXJraW5n X2Vwc2lsb24= dXBsaWNhdGVk LmRpcnR5 XSk9PQ== IOychOy5mA== IHNjbg== IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq X1BSRVZJRVc= X0hD aWVsZGluZw== ZmdldHM= IEFkZGlzb24= IHByb2R1Y3RTZXJ2aWNl LWZpZ3VyZQ== KHJldHZhbA== emFubw== IGF1dG9i CXNk X251bWVy IFNldExhc3RFcnJvcg== IEZpb3I= aWZpY2FuY2U= VW50aXRsZWQ= IGluZmllbGQ= IHt9KSk7Cg== IHNwYWM= IHJvb2tpZXM= KGRlc2NyaWJpbmc= bmdlbg== 4K6/4K4= LnJkZg== Lk11dGV4 IGtuZWVsaW5n IFFF c2V0TWF4 UmVhZFN0cmVhbQ== IHZlbnRhcw== c3V0 Y21wZXE= LldyaXRlQWxsVGV4dA== IEV4cGVyaWVuY2Vk JF9f IGthdW0= IExJUw== IGRvY3VtZW50b3M= X0hFQUxUSA== aWNvbnRhaW5z IGFydGlzYW5z T1dORVI= IGJsaW5rZWQ= Z2V0RGlzcGxheQ== IHRvZW4= IHJvd051bQ== IGF2cmls IGludmlz IEtlYXI= dG9CZUluVGhlRG9jdW1lbnQ= YXB1cg== IHJhY2tlZA== IE1jTWFzdGVy X0FUVFJJQg== SGF6 IGZhY3R1cmE= L3Rz INGA0LDQt9C80LXRgA== IHpm IHNob3J0ZmFsbA== LmZhc3Rh IENPTlNUQU5U Lm1hbmFnZWQ= Z2Vtcw== U2hhcmVkUG9pbnRlcg== IGJsdXJyeQ== YnJpZ2h0bmVzcw== KGNvbXBvbmVudHM= IC4uLiIKCg== U0VMTA== IElsbHVzdHJhdG9y LmdldENoYW5uZWw= IHRyb3V2w6k= eXN0ZXJz IHZvaXM= IExpbmRlbg== IGVtb2ppcw== IGJyYXds IE1TUg== IEVsbw== IENyb2F0aWFu UG9wdXBNZW51 TGV3aXM= LkpXVA== IGFzdG9uaXNoZWQ= QnVzaA== KGl0ZW1JZA== IGRldGFjaG1lbnQ= IEVuY29yZQ== 5bCU IHJla2w= IGNyYW0= KSQv LmdldEhvc3Q= X3JlY29tbWVuZA== LUhU X2NhbGlicmF0aW9u QXV0aGVudGljYXRl LmZpcmViYXNlYXBw VU5JWA== CUNhbWVyYQ== IEhFQVA= SWRlYWw= Lm9mZmljZQ== IGdvb2Z5 KFN5bWJvbA== IGpvdWVy X3BhcnRpdGlvbnM= IHJhcGlkZW1lbnQ= IEdOVU5FVA== aWRVc2Vy IHN1cGVydmlzZQ== KENvbnRhY3Q= QVdO 44GY IG5hYW0= IGF1c3Q= 5Zyo57q/ X3NvZnRtYXg= QWxsb3dBbm9ueW1vdXM= YW1tYWJsZQ== Uk9VVEU= KkQ= IGFkZW4= IENyaXN0aW5h IENyaXN0aWFubw== IGJsb29kc3RyZWFt c3ViY2xhc3M= X3BlcnNvbmE= Q0hJTEQ= LWtub3c= IG5hdmlnYXRpb25PcHRpb25z IFp1a3VuZnQ= IFBpeGFy VHlsZXI= IHVuZGVyd29ybGQ= IHNpbmNlcml0eQ== IGRpc3BlbnNlcg== IGt0ZXI= aWRkZXJz LmFkZE5vZGU= LWNoZWNrZWQ= IGtleXN0 IFdUTw== LnNpZ25hbHM= IGFkdmVudHVyZXI= IFBhbmc= XFI= PXBvcw== IGRpc3BlbnNhcmllcw== IENsb3NldA== KCJ7XCI= aWRlb24= IG7DqWNlc3NhaXJl KCkiCg== X1JFQ0VJVkVE IHLDqXN1bHRhdHM= IG1vZGVu IEljZWxhbmRpYw== O2Q= LmFsbG93ZWQ= KG5ld1VzZXI= IG1lcmNpbGVzcw== LldhaXRGb3I= IGRheWNhcmU= IENvbnZleW9y"} \ No newline at end of file diff --git a/projects/app/public/locales/en/common.json b/projects/app/public/locales/en/common.json index d9e9055520..75dea5c785 100644 --- a/projects/app/public/locales/en/common.json +++ b/projects/app/public/locales/en/common.json @@ -108,6 +108,9 @@ "Load Failed": "Load Failed", "Loading": "Loading", "More settings": "More settings", + "MultipleRowSelect": { + "No data": "No data" + }, "Name": "Name", "Name Can": "Name Can't Be Empty", "Name is empty": "Name is empty", @@ -276,8 +279,12 @@ "App intro": "App intro", "App params config": "App Config", "Chat Variable": "", + "Config schedule plan": "Config schedule config", "Config whisper": "Config whisper", "External using": "External use", + "Interval timer config": "Interval timer config", + "Interval timer run": "Timed execution", + "Interval timer tip": "Applications can be executed periodically", "Make a brief introduction of your app": "Make a brief introduction of your app", "Max histories": "Dialog round", "Max tokens": "Max tokens", @@ -293,6 +300,7 @@ "Select app from template": "Select from the template", "Select quote template": "Select quote template", "Set a name for your app": "App name", + "Setting ai property": "Click Configure AI model properties", "Share link": "Share", "Share link desc": "Share links with other users and use them directly without logging in", "Share link desc detail": "You can share the model directly with other users to have a conversation, and the other user can have a conversation directly without logging in. Note that this function will consume the balance of your account, please keep the link!", @@ -306,6 +314,7 @@ "Tool call tip": "The AI model automatically selects one or more tools to use. If this feature is enabled, the knowledge base call is also called as a tool. Please try to choose the AI model that supports \"function call\", the effect is better.", "ToolCall": { "No plugin": "No plugins", + "Parameter setting": "", "Setting tool": "Setting tool", "System": "System", "Team": "Team", @@ -358,6 +367,15 @@ "Show History": "Show History", "Web Link": "Web Link" }, + "schedule": { + "Default prompt": "Default prompt", + "Default prompt placeholder": "Default problem when executing the application", + "Every day": "Every {{hour}} hour", + "Every month": "{{day}} {{hour}}:00 Every month", + "Every week": "Every week {{day}} {{hour}}:00", + "Interval": "Per {{interval}} hour", + "Open schedule": "Enable schedule" + }, "setting": "App Setting", "share": { "Amount limit tip": "A maximum of 10 groups can be created", @@ -415,6 +433,7 @@ }, "chat": { "Admin Mark Content": "Corrected response", + "Audio Not Support": "The device does not support voice play", "Audio Speech Error": "Audio Speech Error", "Cancel Speak": "Cancel speak", "Canceled Speak": "Voice input has been cancelled", @@ -505,6 +524,7 @@ "module http body": "Body", "module http result": "Response", "module http url": "Request Url", + "module if else Result": "if-else Result", "module limit": "Count Limit", "module maxToken": "MaxTokens", "module model": "Model", @@ -831,6 +851,7 @@ "Input description": "", "label": "Dataset quote" }, + "Default Value": "Default value", "Default value": "Default ", "Default value placeholder": "Null characters are returned by default", "Edit intro": "Edit", @@ -842,13 +863,22 @@ "Http request settings": "Request settings", "Input Type": "Input Type", "Laf sync params": "Sync params", + "Max Length": "Max Length", + "Max Length placeholder": "The max length of input text", + "Max Value": "Max Value", + "Min Value": "", + "Model List": "Model list", + "No Config Tips": "no configuration", + "Output Type": "Output Type", "Plugin output must connect": "Custom outputs must all be connected", + "Plugin tool Description": "", "QueryExtension": { "placeholder": "Questions about python introduction and usage, etc. The current conversation is related to the game GTA5.", "tip": "Describes the scope of the current conversation, making it easier for the AI to complete first or vague questions, thereby enhancing the knowledge base's ability to continue conversations.If \n is empty, the question completion function is not used in the first conversation. " }, "Quote prompt setting": "Quote prompt setting", "Qupte prompt setting": "", + "Select Data List": "Data list", "Select app": "Select app", "Setting quote prompt": "Setting quote prompt", "Unlink tip": "[{{name}}] An unfilled or unconnected parameter exists", @@ -857,7 +887,8 @@ "Variable import": "Variable import", "edit": { "Field Already Exist": "Key already exist", - "Field Edit": "Field Edit" + "Field Edit": "Field Edit", + "Field Name Cannot Be Empty": "Field Name Cannot Be Empty" }, "extract": { "Add field": "Add", @@ -890,8 +921,10 @@ "input": { "Add Input": "Add Input", "Input Number": "Input: {{length}}", + "add": "Add condition", "description": { "Background": "", + "HTTP Dynamic Input": "Receive output values from preceding nodes as variables, which can be used as parameters in HTTP requests.", "Http Request Header": "User-defined request header, please strictly fill in the JSON string.\n1. Make sure the last attribute has no commas\n2. Make sure key contains double quotes\nFor example: {\"Authorization\":\"Bearer xxx\"}", "Http Request Url": "New HTTP request address. If two 'request addresses' appear, the module can be deleted and rejoined, and the latest module configuration will be pulled.", "Quote": "Object array format, structure:\n[{q:' question ',a:' answer '}]", @@ -924,17 +957,6 @@ "Classify background": "For example:\n1.AIGC (Artificial Intelligence Generates content) refers to the automatic or semi-automatic generation of digital content, such as text, images, music, videos, and so on, using artificial intelligence technologies. AIGC technologies include, but are not limited to, natural language processing, computer vision, machine learning, and deep learning. These technologies can create new content or modify existing content to meet specific creative, educational, entertainment or information needs." } }, - "inputType": { - "chat history": "History", - "dynamicTargetInput": "dynamic Target Input", - "input": "Input", - "selectApp": "App Selector", - "selectDataset": "Dataset Selector", - "selectLLMModel": "Select Chat Model", - "switch": "Switch", - "target": "Target Data", - "textarea": "Textarea" - }, "laf": { "Select laf function": "" }, @@ -1051,6 +1073,63 @@ "shareChat": { "Init Error": "Init Chat Error", "Init History Error": "Init History Error" + }, + "workflow": { + "Add variable": "Add", + "Can not delete node": "Can not delete the node", + "Change input type tip": "Changing the input type will empty the entered values, please confirm!", + "Check Failed": "Workflow verification fails. Check whether the node or connection is normal", + "Confirm stop debug": "Do you want to terminate debugging? Debugging information is not retained.", + "Copy node": "Copy node", + "Custom inputs": "Inputs", + "Custom outputs": "Outputs", + "Custom variable": "Custom variable", + "Dataset quote": "Dataset quote", + "Debug": "Debug", + "Debug Node": "Workflow Debug", + "Failed": "Running failed", + "Not intro": "This node is not introduced", + "Run from here": "Run from here", + "Run result": "Run result", + "Running": "Running", + "Skipped": "Skipped", + "Stop debug": "Stop", + "Success": "Running success", + "Value type": "Type", + "chat": { + "Quote prompt": "Quote prompt" + }, + "debug": { + "Done": "Done", + "Hide result": "Hide result", + "Not result": "Not result", + "Run result": "", + "Show result": "Show result" + }, + "inputType": { + "JSON Editor": "JSON Editor", + "Manual input": "", + "Manual select": "Select", + "Reference": "Reference", + "Required": "Required", + "Select edit field": "Editable field", + "Select input default value": "Default value", + "Select input type": "Configurable input types", + "Select input type placeholder": "Please select a configurable input type", + "chat history": "History", + "dynamicTargetInput": "dynamic Target Input", + "input": "Input", + "number input": "number input", + "selectApp": "App Selector", + "selectDataset": "Dataset Selector", + "selectLLMModel": "Select Chat Model", + "switch": "Switch", + "target": "Target Data", + "textarea": "Textarea" + }, + "tool": { + "Select Tool": "Select Tool" + } } }, "dataset": { diff --git a/projects/app/public/locales/zh/common.json b/projects/app/public/locales/zh/common.json index 5f277fab15..cd2611f454 100644 --- a/projects/app/public/locales/zh/common.json +++ b/projects/app/public/locales/zh/common.json @@ -25,7 +25,7 @@ "Connection type is different": "连接的类型不一致", "Copy Module Config": "复制配置", "Dataset Quote Template": "知识库问答模式", - "Export Config Successful": "已复制配置,请注意检查是否有重要数据", + "Export Config Successful": "已复制配置,自动过滤部分敏感信息,请注意检查是否仍有敏感数据", "Export Configs": "导出配置", "Feedback Count": "用户反馈", "Import Configs": "导入配置", @@ -108,6 +108,9 @@ "Load Failed": "加载失败", "Loading": "加载中...", "More settings": "更多设置", + "MultipleRowSelect": { + "No data": "没有可选值" + }, "Name": "名称", "Name Can": "名称不能为空", "Name is empty": "名称不能为空", @@ -276,8 +279,12 @@ "App intro": "应用介绍", "App params config": "应用配置", "Chat Variable": "对话框变量", + "Config schedule plan": "配置定时执行", "Config whisper": "配置语音输入", "External using": "外部使用途径", + "Interval timer config": "定时执行配置", + "Interval timer run": "定时执行", + "Interval timer tip": "可定时执行应用", "Make a brief introduction of your app": "给你的 AI 应用一个介绍", "Max histories": "聊天记录数量", "Max tokens": "回复上限", @@ -293,6 +300,7 @@ "Select app from template": "从模板中选择", "Select quote template": "选择引用提示模板", "Set a name for your app": "给应用设置一个名称", + "Setting ai property": "点击配置AI模型相关属性", "Share link": "免登录窗口", "Share link desc": "分享链接给其他用户,无需登录即可直接进行使用", "Share link desc detail": "可以直接分享该模型给其他用户去进行对话,对方无需登录即可直接进行对话。注意,这个功能会消耗你账号的余额,请保管好链接!", @@ -306,6 +314,7 @@ "Tool call tip": "通过AI模型自动选择一个或多个工具进行使用。如果启动该功能,知识库调用也会被当做一个工具调用。请尽量选择支持“函数调用”的AI模型,效果更好。", "ToolCall": { "No plugin": "没有可用的插件", + "Parameter setting": "输入参数", "Setting tool": "配置工具", "System": "系统", "Team": "团队", @@ -358,6 +367,15 @@ "Show History": "展示历史对话", "Web Link": "网络链接" }, + "schedule": { + "Default prompt": "默认问题", + "Default prompt placeholder": "执行应用时的默认问题", + "Every day": "每天{{hour}}:00", + "Every month": "每月{{day}}号{{hour}}:00", + "Every week": "每周{{day}} {{hour}}:00", + "Interval": "每{{interval}}小时", + "Open schedule": "定时执行" + }, "setting": "应用信息设置", "share": { "Amount limit tip": "最多创建10组", @@ -415,6 +433,7 @@ }, "chat": { "Admin Mark Content": "纠正后的回复", + "Audio Not Support": "设备不支持语音播放", "Audio Speech Error": "语音播报异常", "Cancel Speak": "取消语音输入", "Canceled Speak": "语音输入已取消", @@ -505,6 +524,7 @@ "module http body": "请求体", "module http result": "响应体", "module http url": "请求地址", + "module if else Result": "判断器结果", "module limit": "单次搜索上限", "module maxToken": "最大响应 Tokens", "module model": "模型", @@ -611,8 +631,7 @@ "success": "开始同步" } }, - "training": { - } + "training": {} }, "data": { "Auxiliary Data": "辅助数据", @@ -833,6 +852,7 @@ "Input description": "可接收知识库搜索的结果。", "label": "知识库引用" }, + "Default Value": "默认值", "Default value": "默认值", "Default value placeholder": "不填则默认返回空字符", "Edit intro": "编辑描述", @@ -844,13 +864,22 @@ "Http request settings": "请求配置", "Input Type": "输入类型", "Laf sync params": "同步参数", + "Max Length": "最大长度", + "Max Length placeholder": "输入文本的最大长度", + "Max Value": "最大值", + "Min Value": "最小值", + "Model List": "模型列表", + "No Config Tips": "无可配置项", + "Output Type": "输出类型", "Plugin output must connect": "自定义输出必须全部连接", + "Plugin tool Description": "工具参数需要描述", "QueryExtension": { "placeholder": "例如:\n关于 python 的介绍和使用等问题。\n当前对话与游戏《GTA5》有关。", "tip": "描述当前对话的范围,便于AI补全首次问题或模糊的问题,从而增强知识库连续对话的能力。建议开启该功能后,都简单的描述在对话的背景,否则容易造成补全对象不准确。" }, "Quote prompt setting": "引用提示词配置", "Qupte prompt setting": "", + "Select Data List": "数据列表", "Select app": "选择应用", "Setting quote prompt": "配置引用提示词", "Unlink tip": "【{{name}}】存在未填或未连接参数", @@ -859,7 +888,8 @@ "Variable import": "外部参数输入", "edit": { "Field Already Exist": "key 重复", - "Field Edit": "字段编辑" + "Field Edit": "字段编辑", + "Field Name Cannot Be Empty": "字段名不能为空" }, "extract": { "Add field": "新增字段", @@ -892,8 +922,10 @@ "input": { "Add Input": "添加入参", "Input Number": "入参: {{length}}", + "add": "添加条件", "description": { "Background": "你可以添加一些特定内容的介绍,从而更好的识别用户的问题类型。这个内容通常是给模型介绍一个它不知道的内容。", + "HTTP Dynamic Input": "接收前方节点的输出值作为变量,这些变量可以被HTTP请求参数使用。", "Http Request Header": "自定义请求头,请严格填入JSON字符串。\n1. 确保最后一个属性没有逗号\n2. 确保 key 包含双引号\n例如: {\"Authorization\":\"Bearer xxx\"}", "Http Request Url": "新的HTTP请求地址。如果出现两个“请求地址”,可以删除该模块重新加入,会拉取最新的模块配置。", "Quote": "对象数组格式,结构:\n [{q:'问题',a:'回答'}]", @@ -926,17 +958,6 @@ "Classify background": "例如: \n1. AIGC(人工智能生成内容)是指使用人工智能技术自动或半自动地生成数字内容,如文本、图像、音乐、视频等。\n2. AIGC技术包括但不限于自然语言处理、计算机视觉、机器学习和深度学习。这些技术可以创建新内容或修改现有内容,以满足特定的创意、教育、娱乐或信息需求。" } }, - "inputType": { - "chat history": "历史记录", - "dynamicTargetInput": "动态外部数据", - "input": "输入框", - "selectApp": "应用选择", - "selectDataset": "知识库选择", - "selectLLMModel": "对话模型选择", - "switch": "开关", - "target": "外部数据", - "textarea": "段落输入" - }, "laf": { "Select laf function": "选择laf函数" }, @@ -1053,6 +1074,63 @@ "shareChat": { "Init Error": "初始化对话框失败", "Init History Error": "初始化聊天记录失败" + }, + "workflow": { + "Add variable": "新增变量", + "Can not delete node": "该节点不允许删除", + "Change input type tip": "修改输入类型会清空已填写的值,请确认!", + "Check Failed": "工作流校验失败,请检查节点是否正确填值,以及连线是否正常", + "Confirm stop debug": "确认终止调试?调试信息将会不保留。", + "Copy node": "已复制节点", + "Custom inputs": "自定义输入", + "Custom outputs": "自定义输出", + "Custom variable": "自定义变量", + "Dataset quote": "知识库引用", + "Debug": "调试", + "Debug Node": "Debug模式", + "Failed": "运行失败", + "Not intro": "这个节点没有介绍~\\", + "Run from here": "从这里开始运行", + "Run result": "", + "Running": "运行中", + "Skipped": "跳过运行", + "Stop debug": "停止调试", + "Success": "运行成功", + "Value type": "数据类型", + "chat": { + "Quote prompt": "引用提示词" + }, + "debug": { + "Done": "完成调试", + "Hide result": "隐藏结果", + "Not result": "无运行结果", + "Run result": "运行结果", + "Show result": "展示结果" + }, + "inputType": { + "JSON Editor": "JSON 输入框", + "Manual input": "手动输入", + "Manual select": "手动选择", + "Reference": "变量引用", + "Required": "必填", + "Select edit field": "可编辑内容", + "Select input default value": "默认值", + "Select input type": "可配置的输入类型", + "Select input type placeholder": "请选择可配置的输入类型", + "chat history": "历史记录", + "dynamicTargetInput": "动态外部数据", + "input": "单行输入框", + "number input": "数字输入框", + "selectApp": "应用选择", + "selectDataset": "知识库选择", + "selectLLMModel": "对话模型选择", + "switch": "开关", + "target": "外部数据", + "textarea": "多行输入框" + }, + "tool": { + "Select Tool": "选择工具" + } } }, "dataset": { diff --git a/projects/app/src/components/Avatar/index.tsx b/projects/app/src/components/Avatar/index.tsx index 45767d3d3d..42a2ebcc51 100644 --- a/projects/app/src/components/Avatar/index.tsx +++ b/projects/app/src/components/Avatar/index.tsx @@ -14,7 +14,7 @@ const Avatar = ({ w = '30px', src, ...props }: ImageProps) => { w={w} h={w} p={'1px'} - src={src} + src={src || LOGO_ICON} {...props} /> ); diff --git a/projects/app/src/components/ChatBox/ContextModal.tsx b/projects/app/src/components/ChatBox/ContextModal.tsx index 721cbd96fd..59f3c8608f 100644 --- a/projects/app/src/components/ChatBox/ContextModal.tsx +++ b/projects/app/src/components/ChatBox/ContextModal.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { ModalBody, Box, useTheme } from '@chakra-ui/react'; import MyModal from '@fastgpt/web/components/common/MyModal'; -import { DispatchNodeResponseType } from '@fastgpt/global/core/module/runtime/type.d'; +import { DispatchNodeResponseType } from '@fastgpt/global/core/workflow/runtime/type.d'; const ContextModal = ({ context = [], diff --git a/projects/app/src/components/ChatBox/Provider.tsx b/projects/app/src/components/ChatBox/Provider.tsx index 6fd8725254..d4ff14cf5d 100644 --- a/projects/app/src/components/ChatBox/Provider.tsx +++ b/projects/app/src/components/ChatBox/Provider.tsx @@ -1,8 +1,8 @@ import React, { useContext, createContext, useState, useMemo, useEffect, useCallback } from 'react'; import { useAudioPlay } from '@/web/common/utils/voice'; import { OutLinkChatAuthProps } from '@fastgpt/global/support/permission/chat'; -import { ModuleItemType } from '@fastgpt/global/core/module/type'; -import { splitGuideModule } from '@fastgpt/global/core/module/utils'; +import { StoreNodeItemType } from '@fastgpt/global/core/workflow/type/index.d'; +import { splitGuideModule } from '@fastgpt/global/core/workflow/utils'; import { AppTTSConfigType, AppWhisperConfigType, @@ -91,7 +91,7 @@ const StateContext = createContext({ }); export type ChatProviderProps = OutLinkChatAuthProps & { - userGuideModule?: ModuleItemType; + userGuideModule?: StoreNodeItemType; // not chat test params chatId?: string; diff --git a/projects/app/src/components/ChatBox/ResponseTags.tsx b/projects/app/src/components/ChatBox/ResponseTags.tsx index 8a91a2861d..813383531f 100644 --- a/projects/app/src/components/ChatBox/ResponseTags.tsx +++ b/projects/app/src/components/ChatBox/ResponseTags.tsx @@ -1,15 +1,14 @@ import React, { useMemo, useState } from 'react'; import { type ChatHistoryItemResType } from '@fastgpt/global/core/chat/type.d'; -import { DispatchNodeResponseType } from '@fastgpt/global/core/module/runtime/type.d'; -import type { ChatItemType } from '@fastgpt/global/core/chat/type'; +import { DispatchNodeResponseType } from '@fastgpt/global/core/workflow/runtime/type.d'; import { Flex, BoxProps, useDisclosure, useTheme, Box } from '@chakra-ui/react'; import { useTranslation } from 'next-i18next'; import { useSystemStore } from '@/web/common/system/useSystemStore'; import type { SearchDataResponseItemType } from '@fastgpt/global/core/dataset/type'; import dynamic from 'next/dynamic'; -import Tag from '../Tag'; +import MyTag from '@fastgpt/web/components/common/Tag/index'; import MyTooltip from '../MyTooltip'; -import { FlowNodeTypeEnum } from '@fastgpt/global/core/module/node/constant'; +import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant'; import { getSourceNameIcon } from '@fastgpt/global/core/dataset/utils'; import ChatBoxDivider from '@/components/core/chat/Divider'; import { strIsLink } from '@fastgpt/global/common/string/tools'; @@ -99,11 +98,6 @@ const ResponseTags = ({ }; }, [showDetail, flowResponses]); - const TagStyles: BoxProps = { - mr: 2, - bg: 'transparent' - }; - return flowResponses.length === 0 ? null : ( <> {sourceList.length > 0 && ( @@ -150,52 +144,52 @@ const ResponseTags = ({ )} {showDetail && ( - + {quoteList.length > 0 && ( - setQuoteModalData({ rawSearch: quoteList })} > {quoteList.length}条引用 - + )} {llmModuleAccount === 1 && ( <> {historyPreview.length > 0 && ( - setContextModalData(historyPreview)} > {historyPreview.length}条上下文 - + )} )} {llmModuleAccount > 1 && ( - + 多组 AI 对话 - + )} {isPc && runningTime > 0 && ( - + {runningTime}s - + )} - + {t('core.chat.response.Read complete response')} - + )} diff --git a/projects/app/src/components/ChatBox/WholeResponseModal.tsx b/projects/app/src/components/ChatBox/WholeResponseModal.tsx index baefb2f89e..90de03feaf 100644 --- a/projects/app/src/components/ChatBox/WholeResponseModal.tsx +++ b/projects/app/src/components/ChatBox/WholeResponseModal.tsx @@ -2,7 +2,7 @@ import React, { useMemo, useState } from 'react'; import { Box, useTheme, Flex, Image } from '@chakra-ui/react'; import type { ChatHistoryItemResType } from '@fastgpt/global/core/chat/type.d'; import { useTranslation } from 'next-i18next'; -import { moduleTemplatesFlat } from '@fastgpt/global/core/module/template/constants'; +import { moduleTemplatesFlat } from '@fastgpt/global/core/workflow/template/constants'; import Tabs from '../Tabs'; import MyModal from '@fastgpt/web/components/common/MyModal'; @@ -34,12 +34,13 @@ function Row({ {t(label)}: {value && } @@ -86,12 +87,14 @@ const WholeResponseModal = ({ export default WholeResponseModal; -const ResponseBox = React.memo(function ResponseBox({ +export const ResponseBox = React.memo(function ResponseBox({ response, - showDetail + showDetail, + hideTabs = false }: { response: ChatHistoryItemResType[]; showDetail: boolean; + hideTabs?: boolean; }) { const theme = useTheme(); const { t } = useTranslation(); @@ -105,7 +108,7 @@ const ResponseBox = React.memo(function ResponseBox({ mr={2} src={ item.moduleLogo || - moduleTemplatesFlat.find((template) => item.moduleType === template.flowType) + moduleTemplatesFlat.find((template) => item.moduleType === template.flowNodeType) ?.avatar } alt={''} @@ -125,9 +128,11 @@ const ResponseBox = React.memo(function ResponseBox({ return ( <> - - - + {!hideTabs && ( + + + + )} <> @@ -222,6 +227,7 @@ const ResponseBox = React.memo(function ResponseBox({ {/* classify question */} <> + { @@ -229,7 +235,14 @@ const ResponseBox = React.memo(function ResponseBox({ return activeModule.cqList.map((item) => `* ${item.value}`).join('\n'); })()} /> - + + + {/* if-else */} + <> + {/* extract */} diff --git a/projects/app/src/components/ChatBox/components/ChatController.tsx b/projects/app/src/components/ChatBox/components/ChatController.tsx index 474d593910..dd114b23dc 100644 --- a/projects/app/src/components/ChatBox/components/ChatController.tsx +++ b/projects/app/src/components/ChatBox/components/ChatController.tsx @@ -1,5 +1,4 @@ import { useCopyData } from '@/web/common/hooks/useCopyData'; -import { useAudioPlay } from '@/web/common/utils/voice'; import { Flex, FlexProps, Image, css, useTheme } from '@chakra-ui/react'; import { ChatSiteItemType } from '@fastgpt/global/core/chat/type'; import MyTooltip from '@fastgpt/web/components/common/MyTooltip'; diff --git a/projects/app/src/components/ChatBox/components/ChatItem.tsx b/projects/app/src/components/ChatBox/components/ChatItem.tsx index 59ec7dbcc4..cfd0e22a7d 100644 --- a/projects/app/src/components/ChatBox/components/ChatItem.tsx +++ b/projects/app/src/components/ChatBox/components/ChatItem.tsx @@ -26,6 +26,7 @@ import { } from '@fastgpt/global/core/chat/constants'; import FilesBlock from './FilesBox'; import { useChatProviderStore } from '../Provider'; +import Avatar from '@/components/Avatar'; const colorMap = { [ChatStatusEnum.loading]: { @@ -157,7 +158,7 @@ ${JSON.stringify(questionGuides)}`; color: 'primary.600' }} > - + {tool.toolName} {isChatting && !tool.response && ( diff --git a/projects/app/src/components/ChatBox/components/VariableInput.tsx b/projects/app/src/components/ChatBox/components/VariableInput.tsx index 852a6ae0a8..a78edbe3e8 100644 --- a/projects/app/src/components/ChatBox/components/VariableInput.tsx +++ b/projects/app/src/components/ChatBox/components/VariableInput.tsx @@ -5,7 +5,7 @@ import { useTranslation } from 'next-i18next'; import { Box, Button, Card, Input, Textarea } from '@chakra-ui/react'; import ChatAvatar from './ChatAvatar'; import { MessageCardStyle } from '../constants'; -import { VariableInputEnum } from '@fastgpt/global/core/module/constants'; +import { VariableInputEnum } from '@fastgpt/global/core/workflow/constants'; import MySelect from '@fastgpt/web/components/common/MySelect'; import MyIcon from '@fastgpt/web/components/common/Icon'; import { ChatBoxInputFormType } from '../type.d'; diff --git a/projects/app/src/components/ChatBox/index.tsx b/projects/app/src/components/ChatBox/index.tsx index 5f6fea01e7..0664ff25e2 100644 --- a/projects/app/src/components/ChatBox/index.tsx +++ b/projects/app/src/components/ChatBox/index.tsx @@ -21,9 +21,9 @@ import { getErrText } from '@fastgpt/global/common/error/utils'; import { Box, Flex, Checkbox } from '@chakra-ui/react'; import { EventNameEnum, eventBus } from '@/web/common/utils/eventbus'; import { chats2GPTMessages } from '@fastgpt/global/core/chat/adapt'; -import { ModuleItemType } from '@fastgpt/global/core/module/type.d'; -import { VariableInputEnum } from '@fastgpt/global/core/module/constants'; -import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/module/runtime/constants'; +import { StoreNodeItemType } from '@fastgpt/global/core/workflow/type/index.d'; +import { VariableInputEnum } from '@fastgpt/global/core/workflow/constants'; +import { DispatchNodeResponseKeyEnum } from '@fastgpt/global/core/workflow/runtime/constants'; import { useForm } from 'react-hook-form'; import { useRouter } from 'next/router'; import { useSystemStore } from '@/web/common/system/useSystemStore'; @@ -52,7 +52,7 @@ import { getNanoid } from '@fastgpt/global/common/string/tools'; import { ChatItemValueTypeEnum, ChatRoleEnum } from '@fastgpt/global/core/chat/constants'; import { formatChatValue2InputType } from './utils'; import { textareaMinH } from './constants'; -import { SseResponseEventEnum } from '@fastgpt/global/core/module/runtime/constants'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; import ChatProvider, { useChatProviderStore } from './Provider'; import ChatItem from './components/ChatItem'; @@ -79,7 +79,7 @@ type Props = OutLinkChatAuthProps & { showEmptyIntro?: boolean; appAvatar?: string; userAvatar?: string; - userGuideModule?: ModuleItemType; + userGuideModule?: StoreNodeItemType; showFileSelector?: boolean; active?: boolean; // can use appId: string; @@ -588,7 +588,7 @@ const ChatBox = ( setLoading(false); }; }, - [chatHistories, onDelMessage, sendPrompt, setLoading, toast] + [chatHistories, onDelMessage, sendPrompt, setChatHistories, setLoading, toast] ); // delete one message(One human and the ai response) const delOneMessage = useCallback( diff --git a/projects/app/src/components/ChatBox/type.d.ts b/projects/app/src/components/ChatBox/type.d.ts index 3113c15062..1422569821 100644 --- a/projects/app/src/components/ChatBox/type.d.ts +++ b/projects/app/src/components/ChatBox/type.d.ts @@ -5,7 +5,7 @@ import { ChatSiteItemType, ToolModuleResponseItemType } from '@fastgpt/global/core/chat/type'; -import { SseResponseEventEnum } from '@fastgpt/global/core/module/runtime/constants'; +import { SseResponseEventEnum } from '@fastgpt/global/core/workflow/runtime/constants'; export type generatingMessageProps = { event: `${SseResponseEventEnum}`; diff --git a/projects/app/src/components/Layout/index.tsx b/projects/app/src/components/Layout/index.tsx index 4a21b9f718..2e578faaf7 100644 --- a/projects/app/src/components/Layout/index.tsx +++ b/projects/app/src/components/Layout/index.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useMemo } from 'react'; -import { Box, useColorMode, Flex } from '@chakra-ui/react'; +import { Box, Flex } from '@chakra-ui/react'; import { useRouter } from 'next/router'; import { useLoading } from '@fastgpt/web/hooks/useLoading'; import { useSystemStore } from '@/web/common/system/useSystemStore'; @@ -10,8 +10,8 @@ import { getUnreadCount } from '@/web/support/user/inform/api'; import dynamic from 'next/dynamic'; import Auth from './auth'; -import Navbar from './navbar'; -import NavbarPhone from './navbarPhone'; +const Navbar = dynamic(() => import('./navbar')); +const NavbarPhone = dynamic(() => import('./navbarPhone')); const UpdateInviteModal = dynamic(() => import('@/components/support/user/team/UpdateInviteModal')); const NotSufficientModal = dynamic(() => import('@/components/support/wallet/NotSufficientModal')); const SystemMsgModal = dynamic(() => import('@/components/support/user/inform/SystemMsgModal')); @@ -42,7 +42,6 @@ const phoneUnShowLayoutRoute: Record = { const Layout = ({ children }: { children: JSX.Element }) => { const router = useRouter(); - const { colorMode, setColorMode } = useColorMode(); const { Loading } = useLoading(); const { loading, setScreenWidth, isPc, feConfigs, isNotSufficientModal } = useSystemStore(); const { userInfo } = useUserStore(); @@ -52,12 +51,7 @@ const Layout = ({ children }: { children: JSX.Element }) => { [router.pathname, router.query] ); - useEffect(() => { - if (colorMode === 'dark' && router.pathname !== '/chat') { - setColorMode('light'); - } - }, [colorMode, router.pathname, setColorMode]); - + // listen screen width useEffect(() => { const resize = throttle(() => { setScreenWidth(document.documentElement.clientWidth); diff --git a/projects/app/src/components/Select/AIModelSelector.tsx b/projects/app/src/components/Select/AIModelSelector.tsx index 5b3d58703d..8d19102fb8 100644 --- a/projects/app/src/components/Select/AIModelSelector.tsx +++ b/projects/app/src/components/Select/AIModelSelector.tsx @@ -1,4 +1,4 @@ -import React, { useMemo } from 'react'; +import React, { useCallback, useMemo } from 'react'; import { useTranslation } from 'next-i18next'; import { useSystemStore } from '@/web/common/system/useSystemStore'; @@ -9,7 +9,7 @@ import { HUGGING_FACE_ICON, LOGO_ICON } from '@fastgpt/global/common/system/cons import { Box, Flex } from '@chakra-ui/react'; import Avatar from '../Avatar'; -const AIModelSelector = ({ list, ...props }: SelectProps) => { +const AIModelSelector = ({ list, onchange, ...props }: SelectProps) => { const { t } = useTranslation(); const { feConfigs, llmModelList, vectorModelList } = useSystemStore(); const router = useRouter(); @@ -50,19 +50,20 @@ const AIModelSelector = ({ list, ...props }: SelectProps) => { : avatarList; }, [feConfigs.show_pay, avatarList, t]); + const onSelect = useCallback( + (e: string) => { + if (e === 'price') { + router.push(AI_POINT_USAGE_CARD_ROUTE); + return; + } + onchange?.(e); + }, + [onchange, router] + ); + return ( <> - { - if (e === 'price') { - router.push(AI_POINT_USAGE_CARD_ROUTE); - return; - } - props.onchange?.(e); - }} - /> + ); }; diff --git a/projects/app/src/components/Tag/index.tsx b/projects/app/src/components/Tag/index.tsx deleted file mode 100644 index f68baae78c..0000000000 --- a/projects/app/src/components/Tag/index.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import React, { useMemo } from 'react'; -import { Flex, type FlexProps } from '@chakra-ui/react'; - -interface Props extends FlexProps { - children: React.ReactNode | React.ReactNode[]; - colorSchema?: 'blue' | 'green' | 'gray' | 'purple'; -} - -const Tag = ({ children, colorSchema = 'blue', ...props }: Props) => { - const theme = useMemo(() => { - const map = { - blue: { - borderColor: 'primary.500', - bg: '#F2FBFF', - color: 'primary.600' - }, - green: { - borderColor: '#67c13b', - bg: '#f8fff8', - color: '#67c13b' - }, - purple: { - borderColor: '#A558C9', - bg: '#F6EEFA', - color: '#A558C9' - }, - gray: { - borderColor: 'borderColor.base', - bg: 'myGray.50', - color: 'myGray.700' - } - }; - return map[colorSchema]; - }, [colorSchema]); - - return ( - - {children} - - ); -}; - -export default Tag; diff --git a/projects/app/src/components/core/ai/AISettingModal/index.tsx b/projects/app/src/components/core/ai/AISettingModal/index.tsx index f663fa1e9a..a31a95874a 100644 --- a/projects/app/src/components/core/ai/AISettingModal/index.tsx +++ b/projects/app/src/components/core/ai/AISettingModal/index.tsx @@ -14,8 +14,8 @@ import { } from '@chakra-ui/react'; import { useSystemStore } from '@/web/common/system/useSystemStore'; import MySlider from '@/components/Slider'; -import { ModuleInputKeyEnum } from '@fastgpt/global/core/module/constants'; -import type { SettingAIDataType } from '@fastgpt/global/core/module/node/type.d'; +import { NodeInputKeyEnum } from '@fastgpt/global/core/workflow/constants'; +import type { SettingAIDataType } from '@fastgpt/global/core/app/type.d'; import { getDocPath } from '@/web/common/system/doc'; import AIModelSelector from '@/components/Select/AIModelSelector'; import { LLMModelItemType } from '@fastgpt/global/core/ai/model.d'; @@ -42,7 +42,7 @@ const AIChatSettingsModal = ({ defaultValues: defaultData }); const model = watch('model'); - const showResponseAnswerText = watch(ModuleInputKeyEnum.aiChatIsResponseText) !== undefined; + const showResponseAnswerText = watch(NodeInputKeyEnum.aiChatIsResponseText) !== undefined; const showMaxHistoriesSlider = watch('maxHistories') !== undefined; const selectedModel = llmModelList.find((item) => item.model === model) || llmModelList[0]; @@ -72,7 +72,7 @@ const AIChatSettingsModal = ({ return ( @@ -136,7 +136,7 @@ const AIChatSettingsModal = ({ - {selectedModel?.usedInToolCall ? '支持' : '不支持'} + {selectedModel?.toolChoice || selectedModel?.functionCall ? '支持' : '不支持'} @@ -152,9 +152,9 @@ const AIChatSettingsModal = ({ width={'95%'} min={0} max={10} - value={getValues(ModuleInputKeyEnum.aiChatTemperature)} + value={getValues(NodeInputKeyEnum.aiChatTemperature)} onChange={(e) => { - setValue(ModuleInputKeyEnum.aiChatTemperature, e); + setValue(NodeInputKeyEnum.aiChatTemperature, e); setRefresh(!refresh); }} /> @@ -174,9 +174,9 @@ const AIChatSettingsModal = ({ min={100} max={tokenLimit} step={50} - value={getValues(ModuleInputKeyEnum.aiChatMaxToken)} + value={getValues(NodeInputKeyEnum.aiChatMaxToken)} onChange={(val) => { - setValue(ModuleInputKeyEnum.aiChatMaxToken, val); + setValue(NodeInputKeyEnum.aiChatMaxToken, val); setRefresh(!refresh); }} /> @@ -215,11 +215,11 @@ const AIChatSettingsModal = ({ { const value = e.target.checked; - setValue(ModuleInputKeyEnum.aiChatIsResponseText, value); + setValue(NodeInputKeyEnum.aiChatIsResponseText, value); setRefresh((state) => !state); }} /> diff --git a/projects/app/src/components/core/ai/SettingLLMModel/index.tsx b/projects/app/src/components/core/ai/SettingLLMModel/index.tsx index f2e334cbfa..9f5473c963 100644 --- a/projects/app/src/components/core/ai/SettingLLMModel/index.tsx +++ b/projects/app/src/components/core/ai/SettingLLMModel/index.tsx @@ -1,11 +1,13 @@ import React, { useEffect } from 'react'; import { useSystemStore } from '@/web/common/system/useSystemStore'; import { LLMModelTypeEnum, llmModelTypeFilterMap } from '@fastgpt/global/core/ai/constants'; -import { Box, Button, useDisclosure } from '@chakra-ui/react'; -import { SettingAIDataType } from '@fastgpt/global/core/module/node/type'; +import { Box, Button, Flex, css, useDisclosure } from '@chakra-ui/react'; +import type { SettingAIDataType } from '@fastgpt/global/core/app/type.d'; import AISettingModal from '@/components/core/ai/AISettingModal'; import Avatar from '@/components/Avatar'; import { HUGGING_FACE_ICON } from '@fastgpt/global/common/system/constants'; +import MyTooltip from '@fastgpt/web/components/common/MyTooltip'; +import { useTranslation } from 'next-i18next'; type Props = { llmModelType?: `${LLMModelTypeEnum}`; @@ -14,6 +16,7 @@ type Props = { }; const SettingLLMModel = ({ llmModelType = LLMModelTypeEnum.all, defaultData, onChange }: Props) => { + const { t } = useTranslation(); const { llmModelList } = useSystemStore(); const model = defaultData.model; @@ -41,30 +44,39 @@ const SettingLLMModel = ({ llmModelType = LLMModelTypeEnum.all, defaultData, onC model: modelList[0].model }); } - }, [defaultData, model, modelList, onChange]); + }, []); return ( - - + - {selectedModel?.name} - + })} + position={'relative'} + > + + + } + pl={4} + onClick={onOpenAIChatSetting} + > + {selectedModel?.name} + + {isOpenAIChatSetting && ( { - setValue(ModuleInputKeyEnum.datasetMaxTokens, val); + setValue(NodeInputKeyEnum.datasetMaxTokens, val); setRefresh(!refresh); }} /> @@ -249,9 +249,9 @@ const DatasetParamsModal = ({ min={0} max={1} step={0.01} - value={getValues(ModuleInputKeyEnum.datasetSimilarity) ?? 0.5} + value={getValues(NodeInputKeyEnum.datasetSimilarity) ?? 0.5} onChange={(val) => { - setValue(ModuleInputKeyEnum.datasetSimilarity, val); + setValue(NodeInputKeyEnum.datasetSimilarity, val); setRefresh(!refresh); }} /> diff --git a/projects/app/src/components/core/module/DatasetSelectModal.tsx b/projects/app/src/components/core/app/DatasetSelectModal.tsx similarity index 98% rename from projects/app/src/components/core/module/DatasetSelectModal.tsx rename to projects/app/src/components/core/app/DatasetSelectModal.tsx index a57a07ffe6..983b4f8cf3 100644 --- a/projects/app/src/components/core/module/DatasetSelectModal.tsx +++ b/projects/app/src/components/core/app/DatasetSelectModal.tsx @@ -11,7 +11,7 @@ import { Divider } from '@chakra-ui/react'; import Avatar from '@/components/Avatar'; -import type { SelectedDatasetType } from '@fastgpt/global/core/module/api.d'; +import type { SelectedDatasetType } from '@fastgpt/global/core/workflow/api.d'; import { useToast } from '@fastgpt/web/hooks/useToast'; import MyTooltip from '@/components/MyTooltip'; import MyIcon from '@fastgpt/web/components/common/Icon'; @@ -20,7 +20,7 @@ import { useTranslation } from 'next-i18next'; import { useDatasetStore } from '@/web/core/dataset/store/dataset'; import DatasetSelectContainer, { useDatasetSelect } from '@/components/core/dataset/SelectModal'; import { useLoading } from '@fastgpt/web/hooks/useLoading'; -import EmptyTip from '@/components/EmptyTip'; +import EmptyTip from '@fastgpt/web/components/common/EmptyTip'; export const DatasetSelectModal = ({ isOpen, diff --git a/projects/app/src/components/core/app/QGSwitch.tsx b/projects/app/src/components/core/app/QGSwitch.tsx index 70703491b8..cf4d02e872 100644 --- a/projects/app/src/components/core/app/QGSwitch.tsx +++ b/projects/app/src/components/core/app/QGSwitch.tsx @@ -11,7 +11,7 @@ const QGSwitch = (props: SwitchProps) => { return ( - {t('core.app.Question Guide')} + {t('core.app.Question Guide')} diff --git a/projects/app/src/components/core/app/ScheduledTriggerConfig.tsx b/projects/app/src/components/core/app/ScheduledTriggerConfig.tsx new file mode 100644 index 0000000000..547ee6ef6a --- /dev/null +++ b/projects/app/src/components/core/app/ScheduledTriggerConfig.tsx @@ -0,0 +1,340 @@ +import { Box, Button, Flex, ModalBody, useDisclosure, Switch, Textarea } from '@chakra-ui/react'; +import React, { useCallback, useEffect, useMemo, useRef } from 'react'; +import MyIcon from '@fastgpt/web/components/common/Icon'; +import { useTranslation } from 'next-i18next'; +import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; +import MyTooltip from '@fastgpt/web/components/common/MyTooltip'; +import { AppScheduledTriggerConfigType } from '@fastgpt/global/core/app/type'; +import MyModal from '@fastgpt/web/components/common/MyModal'; +import dynamic from 'next/dynamic'; +import type { MultipleSelectProps } from '@fastgpt/web/components/common/MySelect/type.d'; +import { useForm } from 'react-hook-form'; +import { cronParser2Fields } from '@fastgpt/global/common/string/time'; +import TimezoneSelect from '@fastgpt/web/components/common/MySelect/TimezoneSelect'; + +const MultipleRowSelect = dynamic( + () => import('@fastgpt/web/components/common/MySelect/MultipleRowSelect') +); + +// options type: +enum CronJobTypeEnum { + month = 'month', + week = 'week', + day = 'day', + interval = 'interval' +} +type CronType = 'month' | 'week' | 'day' | 'interval'; + +const get24HoursOptions = () => { + return Array.from({ length: 24 }, (_, i) => ({ + label: `${i < 10 ? '0' : ''}${i}:00`, + value: i + })); +}; +const getWeekOptions = () => { + return Array.from({ length: 7 }, (_, i) => { + if (i === 0) { + return { + label: '星期日', + value: i, + children: get24HoursOptions() + }; + } + return { + label: `星期${i}`, + value: i, + children: get24HoursOptions() + }; + }); +}; +const getMonthOptions = () => { + return Array.from({ length: 28 }, (_, i) => ({ + label: `${i + 1}号`, + value: i, + children: get24HoursOptions() + })); +}; +const getInterValOptions = () => { + // 每n小时 + return [ + { + label: `每小时`, + value: 1 + }, + { + label: `每2小时`, + value: 2 + }, + { + label: `每3小时`, + value: 3 + }, + { + label: `每4小时`, + value: 4 + }, + { + label: `每6小时`, + value: 6 + }, + { + label: `每12小时`, + value: 12 + } + ]; +}; +const defaultValue = ['day', 0, 0]; +const defaultCronString = '0 0 * * *'; + +type CronFieldType = [CronType, number, number]; + +const ScheduledTriggerConfig = ({ + value, + onChange +}: { + value: AppScheduledTriggerConfigType | null; + onChange: (e: AppScheduledTriggerConfigType | null) => void; +}) => { + const { t } = useTranslation(); + const { isOpen, onOpen, onClose } = useDisclosure(); + const { register, setValue, watch } = useForm({ + defaultValues: { + cronString: value?.cronString || '', + timezone: value?.timezone, + defaultPrompt: value?.defaultPrompt || '' + } + }); + const timezone = watch('timezone'); + const cronString = watch('cronString'); + + const cronSelectList = useRef([ + { + label: '每天执行', + value: CronJobTypeEnum.day, + children: get24HoursOptions() + }, + { + label: '每周执行', + value: CronJobTypeEnum.week, + children: getWeekOptions() + }, + { + label: '每月执行', + value: CronJobTypeEnum.month, + children: getMonthOptions() + }, + { + label: '间隔执行', + value: CronJobTypeEnum.interval, + children: getInterValOptions() + } + ]); + + /* cron string to config field */ + const cronConfig = useMemo(() => { + if (!cronString) { + return null; + } + const cronField = cronParser2Fields(cronString); + + if (!cronField) { + return null; + } + + if (cronField.dayOfMonth.length !== 31) { + return { + isOpen: true, + cronField: [CronJobTypeEnum.month, cronField.dayOfMonth[0], cronField.hour[0]] + }; + } + if (cronField.dayOfWeek.length !== 8) { + return { + isOpen: true, + cronField: [CronJobTypeEnum.week, cronField.dayOfWeek[0], cronField.hour[0]] + }; + } + if (cronField.hour.length === 1) { + return { + isOpen: true, + cronField: [CronJobTypeEnum.day, cronField.hour[0], 0] + }; + } + return { + isOpen: true, + cronField: [CronJobTypeEnum.interval, 24 / cronField.hour.length, 0] + }; + }, [cronString]); + const isOpenSchedule = cronConfig?.isOpen; + const cronField = (cronConfig?.cronField || defaultValue) as CronFieldType; + + const cronConfig2cronString = useCallback( + (e: CronFieldType) => { + if (e[0] === CronJobTypeEnum.month) { + setValue('cronString', `0 ${e[2]} ${e[1]} * *`); + } else if (e[0] === CronJobTypeEnum.week) { + setValue('cronString', `0 ${e[2]} * * ${e[1]}`); + } else if (e[0] === CronJobTypeEnum.day) { + setValue('cronString', `0 ${e[1]} * * *`); + } else if (e[0] === CronJobTypeEnum.interval) { + setValue('cronString', `0 */${e[1]} * * *`); + } else { + setValue('cronString', ''); + } + }, + [setValue] + ); + + // cron config to show label + const formatLabel = useMemo(() => { + if (!isOpenSchedule) { + return t('common.Not open'); + } + + if (cronField[0] === 'month') { + return t('core.app.schedule.Every month', { + day: cronField[1], + hour: cronField[2] + }); + } + if (cronField[0] === 'week') { + return t('core.app.schedule.Every week', { + day: cronField[1] === 0 ? '日' : cronField[1], + hour: cronField[2] + }); + } + if (cronField[0] === 'day') { + return t('core.app.schedule.Every day', { + hour: cronField[1] + }); + } + if (cronField[0] === 'interval') { + return t('core.app.schedule.Interval', { + interval: cronField[1] + }); + } + + return t('common.Not open'); + }, [cronField, isOpenSchedule, t]); + + // update value + watch((data) => { + if (!data.cronString) { + onChange(null); + return; + } + onChange({ + cronString: data.cronString, + timezone: data.timezone || Intl.DateTimeFormat().resolvedOptions().timeZone, + defaultPrompt: data.defaultPrompt || '' + }); + }); + + useEffect(() => { + if (!value?.timezone) { + setValue('timezone', Intl.DateTimeFormat().resolvedOptions().timeZone); + } + }, []); + + const Render = useMemo(() => { + return ( + <> + + + + {t('core.app.Interval timer run')} + + + + + + + + + + + {t('core.app.schedule.Open schedule')} + { + if (e.target.checked) { + setValue('cronString', defaultCronString); + } else { + setValue('cronString', ''); + } + }} + /> + + {isOpenSchedule && ( + <> + + 执行时机 + + { + cronConfig2cronString(e as CronFieldType); + }} + /> + + + + 时区 + + { + setValue('timezone', e); + }} + /> + + + + {t('core.app.schedule.Default prompt')} + + + + )} + + + + ); + }, [ + cronConfig2cronString, + cronField, + formatLabel, + isOpen, + isOpenSchedule, + onClose, + onOpen, + register, + setValue, + t, + timezone + ]); + + return Render; +}; + +export default React.memo(ScheduledTriggerConfig); diff --git a/projects/app/src/components/core/app/TTSSelect.tsx b/projects/app/src/components/core/app/TTSSelect.tsx index affabafb18..80525388c4 100644 --- a/projects/app/src/components/core/app/TTSSelect.tsx +++ b/projects/app/src/components/core/app/TTSSelect.tsx @@ -80,7 +80,7 @@ const TTSSelect = ({ return ( - {t('core.app.TTS')} + {t('core.app.TTS')} @@ -90,7 +90,6 @@ const TTSSelect = ({ variant={'transparentBase'} iconSpacing={1} size={'sm'} - fontSize={'md'} mr={'-5px'} onClick={onOpen} > diff --git a/projects/app/src/components/core/app/VariableEdit.tsx b/projects/app/src/components/core/app/VariableEdit.tsx index c2601c0826..0abf679c8b 100644 --- a/projects/app/src/components/core/app/VariableEdit.tsx +++ b/projects/app/src/components/core/app/VariableEdit.tsx @@ -25,7 +25,7 @@ import { useDisclosure } from '@chakra-ui/react'; import { QuestionOutlineIcon, SmallAddIcon } from '@chakra-ui/icons'; -import { VariableInputEnum, variableMap } from '@fastgpt/global/core/module/constants'; +import { VariableInputEnum, variableMap } from '@fastgpt/global/core/workflow/constants'; import type { VariableItemType } from '@fastgpt/global/core/app/type.d'; import MyIcon from '@fastgpt/web/components/common/Icon'; import { useForm } from 'react-hook-form'; @@ -34,11 +34,11 @@ import { customAlphabet } from 'nanoid'; const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz1234567890', 6); import MyModal from '@fastgpt/web/components/common/MyModal'; import MyTooltip from '@/components/MyTooltip'; -import { variableTip } from '@fastgpt/global/core/module/template/tip'; +import { variableTip } from '@fastgpt/global/core/workflow/template/tip'; import { useTranslation } from 'next-i18next'; import { useToast } from '@fastgpt/web/hooks/useToast'; import MyRadio from '@/components/common/MyRadio'; -import { formatEditorVariablePickerIcon } from '@fastgpt/global/core/module/utils'; +import { formatEditorVariablePickerIcon } from '@fastgpt/global/core/workflow/utils'; const VariableEdit = ({ variables, @@ -98,7 +98,7 @@ const VariableEdit = ({ - + {t('core.module.Variable')} @@ -110,7 +110,6 @@ const VariableEdit = ({ iconSpacing={1} size={'sm'} mr={'-5px'} - fontSize={'md'} onClick={() => { resetEdit({ variable: addVariable() }); onOpenEdit(); diff --git a/projects/app/src/components/core/app/WhisperConfig.tsx b/projects/app/src/components/core/app/WhisperConfig.tsx index 989c7c975e..c2c4cc580b 100644 --- a/projects/app/src/components/core/app/WhisperConfig.tsx +++ b/projects/app/src/components/core/app/WhisperConfig.tsx @@ -32,14 +32,13 @@ const WhisperConfig = ({ return ( - {t('core.app.Whisper')} + {t('core.app.Whisper')} {canViewSource && ( - + diff --git a/projects/app/src/components/core/dataset/SelectModal.tsx b/projects/app/src/components/core/dataset/SelectModal.tsx index 8989c96098..a0018e2327 100644 --- a/projects/app/src/components/core/dataset/SelectModal.tsx +++ b/projects/app/src/components/core/dataset/SelectModal.tsx @@ -33,7 +33,7 @@ const DatasetSelectContainer = ({ return ( = (changes: ChangesType[]) => void; -type requestEventType = - | 'onChangeNode' - | 'onCopyNode' - | 'onResetNode' - | 'onDelNode' - | 'onDelConnect' - | 'setNodes'; - -export type useFlowProviderStoreType = { - reactFlowWrapper: null | React.RefObject; - mode: 'app' | 'plugin'; - filterAppIds: string[]; - nodes: Node[]; - setNodes: Dispatch[]>>; - onNodesChange: OnChange; - edges: Edge[]; - setEdges: Dispatch[]>>; - onEdgesChange: OnChange; - onFixView: () => void; - onDelNode: (nodeId: string) => void; - onChangeNode: (e: FlowNodeChangeProps) => void; - onCopyNode: (nodeId: string) => void; - onResetNode: (e: { id: string; module: FlowNodeTemplateType }) => void; - onDelEdge: (e: { - moduleId: string; - sourceHandle?: string | undefined; - targetHandle?: string | undefined; - }) => void; - onDelConnect: (id: string) => void; - onConnect: ({ connect }: { connect: Connection }) => any; - initData: (modules: ModuleItemType[]) => void; - splitToolInputs: ( - inputs: FlowNodeInputItemType[], - moduleId: string - ) => { - isTool: boolean; - toolInputs: FlowNodeInputItemType[]; - commonInputs: FlowNodeInputItemType[]; - }; - hasToolNode: boolean; -}; - -const StateContext = createContext({ - reactFlowWrapper: null, - mode: 'app', - filterAppIds: [], - nodes: [], - setNodes: function ( - value: React.SetStateAction[]> - ): void { - return; - }, - onNodesChange: function (changes: NodeChange[]): void { - return; - }, - edges: [], - setEdges: function (value: React.SetStateAction[]>): void { - return; - }, - onEdgesChange: function (changes: EdgeChange[]): void { - return; - }, - onFixView: function (): void { - return; - }, - onDelNode: function (nodeId: string): void { - return; - }, - onChangeNode: function (e: FlowNodeChangeProps): void { - return; - }, - onCopyNode: function (nodeId: string): void { - return; - }, - onDelEdge: function (e: { - moduleId: string; - sourceHandle?: string | undefined; - targetHandle?: string | undefined; - }): void { - return; - }, - onDelConnect: function (id: string): void { - return; - }, - onConnect: function ({ connect }: { connect: Connection }) { - return; - }, - initData: function (modules: ModuleItemType[]): void { - throw new Error('Function not implemented.'); - }, - onResetNode: function (e): void { - throw new Error('Function not implemented.'); - }, - splitToolInputs: function ( - inputs: FlowNodeInputItemType[], - moduleId: string - ): { - isTool: boolean; - toolInputs: FlowNodeInputItemType[]; - commonInputs: FlowNodeInputItemType[]; - } { - throw new Error('Function not implemented.'); - }, - hasToolNode: false -}); -export const useFlowProviderStore = () => useContext(StateContext); - -export const FlowProvider = ({ - mode, - filterAppIds = [], - children -}: { - mode: useFlowProviderStoreType['mode']; - filterAppIds?: string[]; - children: React.ReactNode; -}) => { - const reactFlowWrapper = useRef(null); - const { t } = useTranslation(); - const { toast } = useToast(); - const [nodes = [], setNodes, onNodesChange] = useNodesState([]); - const [edges, setEdges, onEdgesChange] = useEdgesState([]); - - const hasToolNode = useMemo(() => { - return !!nodes.find((node) => node.data.flowType === FlowNodeTypeEnum.tools); - }, [nodes]); - - const onFixView = useCallback(() => { - const btn = document.querySelector('.custom-workflow-fix_view') as HTMLButtonElement; - - setTimeout(() => { - btn && btn.click(); - }, 100); - }, []); - - const onDelEdge = useCallback( - ({ - moduleId, - sourceHandle, - targetHandle - }: { - moduleId: string; - sourceHandle?: string | undefined; - targetHandle?: string | undefined; - }) => { - if (!sourceHandle && !targetHandle) return; - setEdges((state) => - state.filter((edge) => { - if (edge.source === moduleId && edge.sourceHandle === sourceHandle) return false; - if (edge.target === moduleId && edge.targetHandle === targetHandle) return false; - - return true; - }) - ); - }, - [setEdges] - ); - - const onDelConnect = useCallback( - (id: string) => { - setEdges((state) => state.filter((item) => item.id !== id)); - }, - [setEdges] - ); - - const onConnect = useCallback( - ({ connect }: { connect: Connection }) => { - const source = nodes.find((node) => node.id === connect.source)?.data; - const sourceType = (() => { - const type = source?.outputs.find( - (output) => output.key === connect.sourceHandle - )?.valueType; - - if (source?.flowType === FlowNodeTypeEnum.classifyQuestion && !type) { - return ModuleIOValueTypeEnum.boolean; - } - if (source?.flowType === FlowNodeTypeEnum.pluginInput) { - return source?.inputs.find((input) => input.key === connect.sourceHandle)?.valueType; - } - return source?.outputs.find((output) => output.key === connect.sourceHandle)?.valueType; - })(); - - const targetType = nodes - .find((node) => node.id === connect.target) - ?.data?.inputs.find((input) => input.key === connect.targetHandle)?.valueType; - - if ( - connect.sourceHandle === ModuleOutputKeyEnum.selectedTools && - connect.targetHandle === ModuleOutputKeyEnum.selectedTools - ) { - } else if (!sourceType || !targetType) { - return toast({ - status: 'warning', - title: t('app.Connection is invalid') - }); - } else if ( - sourceType !== ModuleIOValueTypeEnum.any && - targetType !== ModuleIOValueTypeEnum.any && - sourceType !== targetType - ) { - return toast({ - status: 'warning', - title: t('app.Connection type is different') - }); - } - - setEdges((state) => - addEdge( - { - ...connect, - type: EDGE_TYPE - }, - state - ) - ); - }, - [nodes, setEdges, t, toast] - ); - - const onDelNode = useCallback( - (nodeId: string) => { - setNodes((state) => state.filter((item) => item.id !== nodeId)); - setEdges((state) => state.filter((edge) => edge.source !== nodeId && edge.target !== nodeId)); - }, - [setEdges, setNodes] - ); - - /* change */ - const onChangeNode = useCallback( - ({ moduleId, type, key, value, index }: FlowNodeChangeProps) => { - setNodes((nodes) => - nodes.map((node) => { - if (node.id !== moduleId) return node; - - const updateObj: Record = {}; - - if (type === 'attr') { - if (key) { - updateObj[key] = value; - } - } else if (type === 'updateInput') { - updateObj.inputs = node.data.inputs.map((item) => (item.key === key ? value : item)); - } else if (type === 'replaceInput') { - onDelEdge({ moduleId, targetHandle: key }); - const oldInputIndex = node.data.inputs.findIndex((item) => item.key === key); - updateObj.inputs = node.data.inputs.filter((item) => item.key !== key); - setTimeout(() => { - onChangeNode({ - moduleId, - type: 'addInput', - index: oldInputIndex, - value - }); - }); - } else if (type === 'addInput') { - const input = node.data.inputs.find((input) => input.key === value.key); - if (input) { - toast({ - status: 'warning', - title: 'key 重复' - }); - updateObj.inputs = node.data.inputs; - } else { - if (index !== undefined) { - const inputs = [...node.data.inputs]; - inputs.splice(index, 0, value); - updateObj.inputs = inputs; - } else { - updateObj.inputs = node.data.inputs.concat(value); - } - } - } else if (type === 'delInput') { - onDelEdge({ moduleId, targetHandle: key }); - updateObj.inputs = node.data.inputs.filter((item) => item.key !== key); - } else if (type === 'updateOutput') { - updateObj.outputs = node.data.outputs.map((item) => (item.key === key ? value : item)); - } else if (type === 'replaceOutput') { - onDelEdge({ moduleId, sourceHandle: key }); - const oldOutputIndex = node.data.outputs.findIndex((item) => item.key === key); - updateObj.outputs = node.data.outputs.filter((item) => item.key !== key); - setTimeout(() => { - onChangeNode({ - moduleId, - type: 'addOutput', - index: oldOutputIndex, - value - }); - }); - } else if (type === 'addOutput') { - const output = node.data.outputs.find((output) => output.key === value.key); - if (output) { - toast({ - status: 'warning', - title: 'key 重复' - }); - updateObj.outputs = node.data.outputs; - } else { - if (index !== undefined) { - const outputs = [...node.data.outputs]; - outputs.splice(index, 0, value); - updateObj.outputs = outputs; - } else { - updateObj.outputs = node.data.outputs.concat(value); - } - } - } else if (type === 'delOutput') { - onDelEdge({ moduleId, sourceHandle: key }); - updateObj.outputs = node.data.outputs.filter((item) => item.key !== key); - } - - return { - ...node, - data: { - ...node.data, - ...updateObj - } - }; - }) - ); - }, - [onDelEdge, setNodes, toast] - ); - - const onCopyNode = useCallback( - (nodeId: string) => { - setNodes((nodes) => { - const node = nodes.find((node) => node.id === nodeId); - if (!node) return nodes; - const template = { - avatar: node.data.avatar, - name: node.data.name, - intro: node.data.intro, - flowType: node.data.flowType, - inputs: node.data.inputs, - outputs: node.data.outputs, - showStatus: node.data.showStatus - }; - return nodes.concat( - appModule2FlowNode({ - item: { - ...template, - moduleId: nanoid(), - position: { x: node.position.x + 200, y: node.position.y + 50 } - } - }) - ); - }); - }, - [setNodes] - ); - - /* If the module is connected by a tool, the tool input and the normal input are separated */ - const splitToolInputs = useCallback( - (inputs: FlowNodeInputItemType[], moduleId: string) => { - const isTool = !!edges.find( - (edge) => - edge.targetHandle === ModuleOutputKeyEnum.selectedTools && edge.target === moduleId - ); - - return { - isTool, - toolInputs: inputs.filter((item) => isTool && item.toolDescription), - commonInputs: inputs.filter((item) => { - if (!isTool) return true; - return !item.toolDescription; - }) - }; - }, - [edges] - ); - - // reset a node data. delete edge and replace it - const onResetNode = useCallback( - ({ id, module }: { id: string; module: FlowNodeTemplateType }) => { - setNodes((state) => - state.map((node) => { - if (node.id === id) { - // delete edge - node.data.inputs.forEach((item) => { - onDelEdge({ moduleId: id, targetHandle: item.key }); - }); - node.data.outputs.forEach((item) => { - onDelEdge({ moduleId: id, sourceHandle: item.key }); - }); - return { - ...node, - data: { - ...node.data, - ...module - } - }; - } - return node; - }) - ); - }, - [onDelEdge, setNodes] - ); - - const initData = useCallback( - (modules: ModuleItemType[]) => { - const edges = appModule2FlowEdge({ - modules - }); - setEdges(edges); - - setNodes(modules.map((item) => appModule2FlowNode({ item }))); - - onFixView(); - }, - [setEdges, setNodes, onFixView] - ); - - // use eventbus to avoid refresh ReactComponents - useEffect(() => { - eventBus.on( - EventNameEnum.requestFlowEvent, - ({ type, data }: { type: requestEventType; data: any }) => { - switch (type) { - case 'onChangeNode': - onChangeNode(data); - return; - case 'onCopyNode': - onCopyNode(data); - return; - case 'onResetNode': - onResetNode(data); - return; - case 'onDelNode': - onDelNode(data); - return; - case 'onDelConnect': - onDelConnect(data); - return; - case 'setNodes': - setNodes(data); - return; - } - } - ); - return () => { - eventBus.off(EventNameEnum.requestFlowEvent); - }; - }, []); - useEffect(() => { - eventBus.on(EventNameEnum.requestFlowStore, () => { - eventBus.emit('receiveFlowStore', { - nodes, - edges, - mode, - filterAppIds, - reactFlowWrapper - }); - }); - return () => { - eventBus.off(EventNameEnum.requestFlowStore); - }; - }, [edges, filterAppIds, mode, nodes]); - - const value = { - reactFlowWrapper, - mode, - filterAppIds, - nodes, - setNodes, - onNodesChange, - edges, - setEdges, - onEdgesChange, - onFixView, - onDelNode, - onChangeNode, - onResetNode, - onCopyNode, - onDelEdge, - onDelConnect, - onConnect, - initData, - splitToolInputs, - hasToolNode - }; - - return {children}; -}; - -export default React.memo(FlowProvider); - -export const onChangeNode = (e: FlowNodeChangeProps) => { - eventBus.emit(EventNameEnum.requestFlowEvent, { - type: 'onChangeNode', - data: e - }); -}; -export const onCopyNode = (nodeId: string) => { - eventBus.emit(EventNameEnum.requestFlowEvent, { - type: 'onCopyNode', - data: nodeId - }); -}; -export const onResetNode = (e: Parameters[0]) => { - eventBus.emit(EventNameEnum.requestFlowEvent, { - type: 'onResetNode', - data: e - }); -}; -export const onDelConnect = (e: Parameters[0]) => { - eventBus.emit(EventNameEnum.requestFlowEvent, { - type: 'onDelConnect', - data: e - }); -}; -export const onSetNodes = (e: useFlowProviderStoreType['nodes']) => { - eventBus.emit(EventNameEnum.requestFlowEvent, { - type: 'setNodes', - data: e - }); -}; - -export const getFlowStore = () => - new Promise<{ - nodes: useFlowProviderStoreType['nodes']; - edges: useFlowProviderStoreType['edges']; - mode: useFlowProviderStoreType['mode']; - filterAppIds: useFlowProviderStoreType['filterAppIds']; - reactFlowWrapper: useFlowProviderStoreType['reactFlowWrapper']; - }>((resolve) => { - eventBus.on('receiveFlowStore', (data: any) => { - resolve(data); - eventBus.off('receiveFlowStore'); - }); - eventBus.emit(EventNameEnum.requestFlowStore); - }); diff --git a/projects/app/src/components/core/module/Flow/components/CustomConnection.tsx b/projects/app/src/components/core/module/Flow/components/CustomConnection.tsx deleted file mode 100644 index 7ac590e8cb..0000000000 --- a/projects/app/src/components/core/module/Flow/components/CustomConnection.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react'; -import { useStoreApi, type ConnectionLineComponentProps } from 'reactflow'; - -const CustomConnection = ({ fromX, fromY, toX, toY }: ConnectionLineComponentProps) => { - const store = useStoreApi(); - - const { connectionHandleId } = store.getState(); - console.log(fromX, fromY, toX, toY, connectionHandleId); - - return ( - - - - - ); -}; - -export default CustomConnection; diff --git a/projects/app/src/components/core/module/Flow/components/modules/ButtonEdge.tsx b/projects/app/src/components/core/module/Flow/components/modules/ButtonEdge.tsx deleted file mode 100644 index e834b23449..0000000000 --- a/projects/app/src/components/core/module/Flow/components/modules/ButtonEdge.tsx +++ /dev/null @@ -1,116 +0,0 @@ -import React, { useMemo } from 'react'; -import { BezierEdge, getBezierPath, EdgeLabelRenderer, EdgeProps } from 'reactflow'; -import { onDelConnect, useFlowProviderStore } from '../../FlowProvider'; -import { Flex } from '@chakra-ui/react'; -import MyIcon from '@fastgpt/web/components/common/Icon'; -import { ModuleOutputKeyEnum } from '@fastgpt/global/core/module/constants'; - -const ButtonEdge = (props: EdgeProps) => { - const { nodes } = useFlowProviderStore(); - const { - id, - sourceX, - sourceY, - targetX, - targetY, - sourcePosition, - targetPosition, - selected, - sourceHandleId, - animated, - style = {} - } = props; - - const active = (() => { - const connectNode = nodes.find((node) => { - return (node.id === props.source || node.id === props.target) && node.selected; - }); - return !!(connectNode || selected); - })(); - - const [, labelX, labelY] = getBezierPath({ - sourceX, - sourceY, - sourcePosition, - targetX, - targetY, - targetPosition - }); - - const isToolEdge = sourceHandleId === ModuleOutputKeyEnum.selectedTools; - - const memoEdgeLabel = useMemo(() => { - return ( - - onDelConnect(id)} - > - - - {!isToolEdge && ( - - - - )} - - ); - }, [labelX, labelY, active, isToolEdge, targetX, targetY, id]); - - const memoBezierEdge = useMemo(() => { - const edgeStyle: React.CSSProperties = { - ...style, - ...(active - ? { - strokeWidth: 5, - stroke: '#3370ff' - } - : { strokeWidth: 2, zIndex: 2, stroke: 'myGray.300' }) - }; - - return ; - }, [style, active, props]); - - return ( - <> - {memoBezierEdge} - {memoEdgeLabel} - - ); -}; - -export default React.memo(ButtonEdge); diff --git a/projects/app/src/components/core/module/Flow/components/nodes/NodeAnswer.tsx b/projects/app/src/components/core/module/Flow/components/nodes/NodeAnswer.tsx deleted file mode 100644 index cd7287a52e..0000000000 --- a/projects/app/src/components/core/module/Flow/components/nodes/NodeAnswer.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import React from 'react'; -import { NodeProps } from 'reactflow'; -import NodeCard from '../render/NodeCard'; -import { FlowModuleItemType } from '@fastgpt/global/core/module/type.d'; -import Container from '../modules/Container'; -import RenderInput from '../render/RenderInput'; -import RenderOutput from '../render/RenderOutput'; -import { useFlowProviderStore } from '../../FlowProvider'; -import Divider from '../modules/Divider'; -import RenderToolInput from '../render/RenderToolInput'; -import { useTranslation } from 'next-i18next'; - -const NodeAnswer = ({ data, selected }: NodeProps) => { - const { t } = useTranslation(); - const { moduleId, inputs, outputs } = data; - const { splitToolInputs } = useFlowProviderStore(); - const { toolInputs, commonInputs } = splitToolInputs(inputs, moduleId); - - return ( - - - {toolInputs.length > 0 && ( - <> - - - - - - )} - - - - - ); -}; -export default React.memo(NodeAnswer); diff --git a/projects/app/src/components/core/module/Flow/components/nodes/NodeDatasetConcat.tsx b/projects/app/src/components/core/module/Flow/components/nodes/NodeDatasetConcat.tsx deleted file mode 100644 index 393b5f5c18..0000000000 --- a/projects/app/src/components/core/module/Flow/components/nodes/NodeDatasetConcat.tsx +++ /dev/null @@ -1,149 +0,0 @@ -import React, { useMemo } from 'react'; -import { NodeProps } from 'reactflow'; -import NodeCard from '../render/NodeCard'; -import { FlowModuleItemType } from '@fastgpt/global/core/module/type.d'; -import Container from '../modules/Container'; -import RenderInput from '../render/RenderInput'; -import { Box, Button, Flex } from '@chakra-ui/react'; -import { useTranslation } from 'next-i18next'; -import { AddIcon } from '@chakra-ui/icons'; -import { - ModuleIOValueTypeEnum, - ModuleInputKeyEnum, - ModuleOutputKeyEnum -} from '@fastgpt/global/core/module/constants'; -import { getOneQuoteInputTemplate } from '@fastgpt/global/core/module/template/system/datasetConcat'; -import { onChangeNode, useFlowProviderStore } from '../../FlowProvider'; -import TargetHandle from '../render/TargetHandle'; -import MyIcon from '@fastgpt/web/components/common/Icon'; -import SourceHandle from '../render/SourceHandle'; -import { FlowNodeTypeEnum } from '@fastgpt/global/core/module/node/constant'; -import { useSystemStore } from '@/web/common/system/useSystemStore'; -import MySlider from '@/components/Slider'; -import { FlowNodeInputItemType } from '@fastgpt/global/core/module/node/type'; - -const NodeDatasetConcat = ({ data, selected }: NodeProps) => { - const { t } = useTranslation(); - const { llmModelList } = useSystemStore(); - const { nodes } = useFlowProviderStore(); - const { moduleId, inputs, outputs } = data; - - const quotes = useMemo( - () => inputs.filter((item) => item.valueType === ModuleIOValueTypeEnum.datasetQuote), - [inputs] - ); - - const tokenLimit = useMemo(() => { - let maxTokens = 3000; - - nodes.forEach((item) => { - if (item.type === FlowNodeTypeEnum.chatNode) { - const model = - item.data.inputs.find((item) => item.key === ModuleInputKeyEnum.aiModel)?.value || ''; - const quoteMaxToken = - llmModelList.find((item) => item.model === model)?.quoteMaxToken || 3000; - - maxTokens = Math.max(maxTokens, quoteMaxToken); - } - }); - - return maxTokens; - }, [llmModelList, nodes]); - - const RenderQuoteList = useMemo(() => { - return ( - - - {quotes.map((quote, i) => ( - - - - {t('core.chat.Quote')} - {i + 1} - - { - onChangeNode({ - moduleId, - type: 'delInput', - key: quote.key - }); - }} - /> - - ))} - - } - variant={'whiteBase'} - onClick={() => { - onChangeNode({ - moduleId, - type: 'addInput', - value: getOneQuoteInputTemplate() - }); - }} - > - {t('core.module.Dataset quote.Add quote')} - - - ); - }, [moduleId, quotes, t]); - - const CustomComponent = useMemo(() => { - console.log(111); - return { - [ModuleInputKeyEnum.datasetMaxTokens]: (item: FlowNodeInputItemType) => ( - - { - onChangeNode({ - moduleId, - type: 'updateInput', - key: item.key, - value: { - ...item, - value: e - } - }); - }} - /> - - ) - }; - }, [moduleId, tokenLimit]); - - return ( - - - - {/* render dataset select */} - {RenderQuoteList} - - {t('core.module.Dataset quote.Concat result')} - - - {/* */} - - - ); -}; -export default React.memo(NodeDatasetConcat); diff --git a/projects/app/src/components/core/module/Flow/components/nodes/NodeEmpty.tsx b/projects/app/src/components/core/module/Flow/components/nodes/NodeEmpty.tsx deleted file mode 100644 index ed3f173826..0000000000 --- a/projects/app/src/components/core/module/Flow/components/nodes/NodeEmpty.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import { NodeProps } from 'reactflow'; -import NodeCard from '../render/NodeCard'; -import { FlowModuleItemType } from '@fastgpt/global/core/module/type.d'; - -const NodeEmpty = ({ data, selected }: NodeProps) => { - return ; -}; - -export default React.memo(NodeEmpty); diff --git a/projects/app/src/components/core/module/Flow/components/nodes/NodeHttp/index.tsx b/projects/app/src/components/core/module/Flow/components/nodes/NodeHttp/index.tsx deleted file mode 100644 index ec6f6d11d1..0000000000 --- a/projects/app/src/components/core/module/Flow/components/nodes/NodeHttp/index.tsx +++ /dev/null @@ -1,649 +0,0 @@ -import React, { useCallback, useEffect, useMemo, useState, useTransition } from 'react'; -import { NodeProps } from 'reactflow'; -import NodeCard from '../../render/NodeCard'; -import { FlowModuleItemType } from '@fastgpt/global/core/module/type.d'; -import Divider from '../../modules/Divider'; -import Container from '../../modules/Container'; -import RenderInput from '../../render/RenderInput'; -import RenderOutput from '../../render/RenderOutput'; -import { - Box, - Flex, - Input, - Table, - Thead, - Tbody, - Tr, - Th, - Td, - TableContainer, - Button, - useDisclosure -} from '@chakra-ui/react'; -import { ModuleInputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { onChangeNode, useFlowProviderStore } from '../../../FlowProvider'; -import { useTranslation } from 'next-i18next'; -import Tabs from '@/components/Tabs'; -import MyIcon from '@fastgpt/web/components/common/Icon'; -import { FlowNodeInputItemType } from '@fastgpt/global/core/module/node/type'; -import { useToast } from '@fastgpt/web/hooks/useToast'; -import MyTooltip from '@fastgpt/web/components/common/MyTooltip'; -import { QuestionOutlineIcon } from '@chakra-ui/icons'; -import JSONEditor from '@fastgpt/web/components/common/Textarea/JsonEditor'; -import { - formatEditorVariablePickerIcon, - getGuideModule, - splitGuideModule -} from '@fastgpt/global/core/module/utils'; -import { EditorVariablePickerType } from '@fastgpt/web/components/common/Textarea/PromptEditor/type'; -import HttpInput from '@fastgpt/web/components/common/Input/HttpInput'; -import dynamic from 'next/dynamic'; -import MySelect from '@fastgpt/web/components/common/MySelect'; -import RenderToolInput from '../../render/RenderToolInput'; -const CurlImportModal = dynamic(() => import('./CurlImportModal')); - -export const HttpHeaders = [ - { key: 'A-IM', label: 'A-IM' }, - { key: 'Accept', label: 'Accept' }, - { key: 'Accept-Charset', label: 'Accept-Charset' }, - { key: 'Accept-Encoding', label: 'Accept-Encoding' }, - { key: 'Accept-Language', label: 'Accept-Language' }, - { key: 'Accept-Datetime', label: 'Accept-Datetime' }, - { key: 'Access-Control-Request-Method', label: 'Access-Control-Request-Method' }, - { key: 'Access-Control-Request-Headers', label: 'Access-Control-Request-Headers' }, - { key: 'Authorization', label: 'Authorization' }, - { key: 'Cache-Control', label: 'Cache-Control' }, - { key: 'Connection', label: 'Connection' }, - { key: 'Content-Length', label: 'Content-Length' }, - { key: 'Content-Type', label: 'Content-Type' }, - { key: 'Cookie', label: 'Cookie' }, - { key: 'Date', label: 'Date' }, - { key: 'Expect', label: 'Expect' }, - { key: 'Forwarded', label: 'Forwarded' }, - { key: 'From', label: 'From' }, - { key: 'Host', label: 'Host' }, - { key: 'If-Match', label: 'If-Match' }, - { key: 'If-Modified-Since', label: 'If-Modified-Since' }, - { key: 'If-None-Match', label: 'If-None-Match' }, - { key: 'If-Range', label: 'If-Range' }, - { key: 'If-Unmodified-Since', label: 'If-Unmodified-Since' }, - { key: 'Max-Forwards', label: 'Max-Forwards' }, - { key: 'Origin', label: 'Origin' }, - { key: 'Pragma', label: 'Pragma' }, - { key: 'Proxy-Authorization', label: 'Proxy-Authorization' }, - { key: 'Range', label: 'Range' }, - { key: 'Referer', label: 'Referer' }, - { key: 'TE', label: 'TE' }, - { key: 'User-Agent', label: 'User-Agent' }, - { key: 'Upgrade', label: 'Upgrade' }, - { key: 'Via', label: 'Via' }, - { key: 'Warning', label: 'Warning' }, - { key: 'Dnt', label: 'Dnt' }, - { key: 'X-Requested-With', label: 'X-Requested-With' }, - { key: 'X-CSRF-Token', label: 'X-CSRF-Token' } -]; - -enum TabEnum { - params = 'params', - headers = 'headers', - body = 'body' -} -export type PropsArrType = { - key: string; - type: string; - value: string; -}; - -const RenderHttpMethodAndUrl = React.memo(function RenderHttpMethodAndUrl({ - moduleId, - inputs -}: { - moduleId: string; - inputs: FlowNodeInputItemType[]; -}) { - const { t } = useTranslation(); - const { toast } = useToast(); - const [_, startSts] = useTransition(); - - const { isOpen: isOpenCurl, onOpen: onOpenCurl, onClose: onCloseCurl } = useDisclosure(); - - const requestMethods = inputs.find((item) => item.key === ModuleInputKeyEnum.httpMethod); - const requestUrl = inputs.find((item) => item.key === ModuleInputKeyEnum.httpReqUrl); - - const onChangeUrl = useCallback( - (e: React.ChangeEvent) => { - onChangeNode({ - moduleId, - type: 'updateInput', - key: ModuleInputKeyEnum.httpReqUrl, - value: { - ...requestUrl, - value: e.target.value - } - }); - }, - [moduleId, requestUrl] - ); - const onBlurUrl = useCallback( - (e: React.ChangeEvent) => { - const val = e.target.value; - // 拆分params和url - const url = val.split('?')[0]; - const params = val.split('?')[1]; - if (params) { - const paramsArr = params.split('&'); - const paramsObj = paramsArr.reduce((acc, cur) => { - const [key, value] = cur.split('='); - return { - ...acc, - [key]: value - }; - }, {}); - const inputParams = inputs.find((item) => item.key === ModuleInputKeyEnum.httpParams); - - if (!inputParams || Object.keys(paramsObj).length === 0) return; - - const concatParams: PropsArrType[] = inputParams?.value || []; - Object.entries(paramsObj).forEach(([key, value]) => { - if (!concatParams.find((item) => item.key === key)) { - concatParams.push({ key, value: value as string, type: 'string' }); - } - }); - - onChangeNode({ - moduleId, - type: 'updateInput', - key: ModuleInputKeyEnum.httpParams, - value: { - ...inputParams, - value: concatParams - } - }); - - onChangeNode({ - moduleId, - type: 'updateInput', - key: ModuleInputKeyEnum.httpReqUrl, - value: { - ...requestUrl, - value: url - } - }); - - toast({ - status: 'success', - title: t('core.module.http.Url and params have been split') - }); - } - }, - [inputs, moduleId, requestUrl, t, toast] - ); - - return ( - - - {t('core.module.Http request settings')} - - - - { - onChangeNode({ - moduleId, - type: 'updateInput', - key: ModuleInputKeyEnum.httpMethod, - value: { - ...requestMethods, - value: e - } - }); - }} - /> - - - - {isOpenCurl && } - - ); -}); - -export function RenderHttpProps({ - moduleId, - inputs -}: { - moduleId: string; - inputs: FlowNodeInputItemType[]; -}) { - const { t } = useTranslation(); - const [selectedTab, setSelectedTab] = useState(TabEnum.params); - const { nodes } = useFlowProviderStore(); - - const requestMethods = inputs.find((item) => item.key === ModuleInputKeyEnum.httpMethod)?.value; - const params = inputs.find((item) => item.key === ModuleInputKeyEnum.httpParams); - const headers = inputs.find((item) => item.key === ModuleInputKeyEnum.httpHeaders); - const jsonBody = inputs.find((item) => item.key === ModuleInputKeyEnum.httpJsonBody); - - const paramsLength = params?.value?.length || 0; - const headersLength = headers?.value?.length || 0; - - // get variable - const variables = useMemo(() => { - const globalVariables = formatEditorVariablePickerIcon( - splitGuideModule(getGuideModule(nodes.map((node) => node.data)))?.variableModules || [] - ); - const systemVariables = [ - { - key: 'appId', - label: t('core.module.http.AppId') - }, - { - key: 'chatId', - label: t('core.module.http.ChatId') - }, - { - key: 'responseChatItemId', - label: t('core.module.http.ResponseChatItemId') - }, - { - key: 'variables', - label: t('core.module.http.Variables') - }, - { - key: 'histories', - label: t('core.module.http.Histories') - }, - { - key: 'cTime', - label: t('core.module.http.Current time') - } - ]; - const moduleVariables = formatEditorVariablePickerIcon( - inputs - .filter((input) => input.edit || input.toolDescription) - .map((item) => ({ - key: item.key, - label: item.label - })) - ); - - return [...moduleVariables, ...globalVariables, ...systemVariables]; - }, [inputs, nodes, t]); - - const variableText = useMemo(() => { - return variables - .map((item) => `${item.key}${item.key !== item.label ? `(${item.label})` : ''}`) - .join('\n'); - }, [variables]); - - return ( - - - {t('core.module.Http request props')} - - - - - , id: TabEnum.params }, - ...(!['GET', 'DELETE'].includes(requestMethods) - ? [ - { - label: ( - - Body - {jsonBody?.value && } - - ), - id: TabEnum.body - } - ] - : []), - { label: , id: TabEnum.headers } - ]} - activeId={selectedTab} - onChange={(e) => setSelectedTab(e as any)} - /> - {params && - headers && - jsonBody && - { - [TabEnum.params]: ( - - ), - [TabEnum.body]: , - [TabEnum.headers]: ( - - ) - }[selectedTab]} - - ); -} -const RenderForm = ({ - moduleId, - input, - variables, - tabType -}: { - moduleId: string; - input: FlowNodeInputItemType; - variables: EditorVariablePickerType[]; - tabType?: TabEnum; -}) => { - const { t } = useTranslation(); - const { toast } = useToast(); - - const [list, setList] = useState(input.value || []); - const [updateTrigger, setUpdateTrigger] = useState(false); - const [shouldUpdateNode, setShouldUpdateNode] = useState(false); - - const leftVariables = useMemo(() => { - return (tabType === TabEnum.headers ? HttpHeaders : variables).filter((variable) => { - const existVariables = list.map((item) => item.key); - return !existVariables.includes(variable.key); - }); - }, [list, tabType, variables]); - - useEffect(() => { - setList(input.value || []); - }, [input.value]); - - useEffect(() => { - if (shouldUpdateNode) { - onChangeNode({ - moduleId, - type: 'updateInput', - key: input.key, - value: { - ...input, - value: list - } - }); - setShouldUpdateNode(false); - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [list]); - - const handleKeyChange = (index: number, newKey: string) => { - setList((prevList) => { - if (!newKey) { - setUpdateTrigger((prev) => !prev); - toast({ - status: 'warning', - title: t('core.module.http.Key cannot be empty') - }); - return prevList; - } - const checkExist = prevList.find((item, i) => i !== index && item.key == newKey); - if (checkExist) { - setUpdateTrigger((prev) => !prev); - toast({ - status: 'warning', - title: t('core.module.http.Key already exists') - }); - return prevList; - } - return prevList.map((item, i) => (i === index ? { ...item, key: newKey } : item)); - }); - setShouldUpdateNode(true); - }; - - const handleAddNewProps = (key: string, value: string = '') => { - setList((prevList) => { - if (!key) { - return prevList; - } - - const checkExist = prevList.find((item) => item.key === key); - if (checkExist) { - setUpdateTrigger((prev) => !prev); - toast({ - status: 'warning', - title: t('core.module.http.Key already exists') - }); - return prevList; - } - return [...prevList, { key, type: 'string', value }]; - }); - - setShouldUpdateNode(true); - }; - - return ( - - - - - - - - - - {list.map((item, index) => ( - - - - - ))} - - - - - -
{t('core.module.http.Props name')}{t('core.module.http.Props value')}
- { - handleKeyChange(index, value); - setUpdateTrigger((prev) => !prev); - }} - placeholder={t('core.module.http.Props name')} - value={item.key} - variables={leftVariables} - onBlur={(val) => { - handleKeyChange(index, val); - }} - updateTrigger={updateTrigger} - /> - - - { - setList((prevList) => - prevList.map((item, i) => (i === index ? { ...item, value: val } : item)) - ); - setShouldUpdateNode(true); - }} - /> - { - setList((prevlist) => prevlist.filter((val) => val.key !== item.key)); - setShouldUpdateNode(true); - }} - /> - -
- { - handleAddNewProps(val); - setUpdateTrigger((prev) => !prev); - }} - placeholder={t('core.module.http.Add props')} - value={''} - variables={leftVariables} - updateTrigger={updateTrigger} - onBlur={(val) => { - handleAddNewProps(val); - setUpdateTrigger((prev) => !prev); - }} - /> - - - - -
- - ); -}; -const RenderJson = ({ - moduleId, - input, - variables -}: { - moduleId: string; - input: FlowNodeInputItemType; - variables: EditorVariablePickerType[]; -}) => { - const { t } = useTranslation(); - const [_, startSts] = useTransition(); - - return ( - - { - startSts(() => { - onChangeNode({ - moduleId, - type: 'updateInput', - key: input.key, - value: { - ...input, - value: e - } - }); - }); - }} - variables={variables} - /> - - ); -}; -const RenderPropsItem = ({ text, num }: { text: string; num: number }) => { - return ( - - {text} - {num > 0 && ( - - {num} - - )} - - ); -}; - -const NodeHttp = ({ data, selected }: NodeProps) => { - const { t } = useTranslation(); - const { moduleId, inputs, outputs } = data; - const { splitToolInputs, hasToolNode } = useFlowProviderStore(); - const { toolInputs, commonInputs } = splitToolInputs(inputs, moduleId); - - const CustomComponents = useMemo( - () => ({ - [ModuleInputKeyEnum.httpMethod]: () => ( - - ), - [ModuleInputKeyEnum.httpHeaders]: () => ( - <> - - - {t('core.module.Variable import')} - - - ) - }), - [inputs, moduleId, t] - ); - - return ( - - {hasToolNode && ( - <> - - - - - - )} - <> - - - - - - <> - - - - - - - ); -}; -export default React.memo(NodeHttp); diff --git a/projects/app/src/components/core/module/Flow/components/nodes/NodePluginInput.tsx b/projects/app/src/components/core/module/Flow/components/nodes/NodePluginInput.tsx deleted file mode 100644 index d9707f410d..0000000000 --- a/projects/app/src/components/core/module/Flow/components/nodes/NodePluginInput.tsx +++ /dev/null @@ -1,266 +0,0 @@ -import React, { useState } from 'react'; -import { NodeProps } from 'reactflow'; -import NodeCard from '../render/NodeCard'; -import { FlowModuleItemType } from '@fastgpt/global/core/module/type.d'; -import { onChangeNode } from '../../FlowProvider'; -import dynamic from 'next/dynamic'; -import { Box, Button, Flex } from '@chakra-ui/react'; -import { QuestionOutlineIcon, SmallAddIcon } from '@chakra-ui/icons'; -import { - FlowNodeInputTypeEnum, - FlowNodeOutputTypeEnum -} from '@fastgpt/global/core/module/node/constant'; -import Container from '../modules/Container'; -import MyIcon from '@fastgpt/web/components/common/Icon'; -import MyTooltip from '@/components/MyTooltip'; -import SourceHandle from '../render/SourceHandle'; -import type { - EditInputFieldMap, - EditNodeFieldType, - FlowNodeInputItemType, - FlowNodeOutputItemType -} from '@fastgpt/global/core/module/node/type.d'; -import { ModuleIOValueTypeEnum } from '@fastgpt/global/core/module/constants'; -import { useTranslation } from 'next-i18next'; - -const FieldEditModal = dynamic(() => import('../render/FieldEditModal')); - -const defaultCreateField: EditNodeFieldType = { - label: '', - key: '', - description: '', - inputType: FlowNodeInputTypeEnum.target, - valueType: ModuleIOValueTypeEnum.string, - required: true -}; -const createEditField: EditInputFieldMap = { - key: true, - name: true, - description: true, - required: true, - dataType: true, - inputType: true, - isToolInput: true -}; - -const NodePluginInput = ({ data, selected }: NodeProps) => { - const { t } = useTranslation(); - const { moduleId, inputs, outputs } = data; - const [createField, setCreateField] = useState(); - const [editField, setEditField] = useState(); - - return ( - - - {inputs.map((item) => ( - - {item.edit && ( - <> - - setEditField({ - inputType: item.type, - valueType: item.valueType, - key: item.key, - label: item.label, - description: item.description, - required: item.required, - isToolInput: !!item.toolDescription - }) - } - /> - { - onChangeNode({ - moduleId, - type: 'delInput', - key: item.key - }); - onChangeNode({ - moduleId, - type: 'delOutput', - key: item.key - }); - }} - /> - - )} - {item.description && ( - - - - )} - - {t(item.label)} - {item.required && ( - - * - - )} - - - - ))} - - - - - {!!createField && ( - input.key)} - onClose={() => setCreateField(undefined)} - onSubmit={({ data }) => { - onChangeNode({ - moduleId, - type: 'addInput', - value: { - key: data.key, - valueType: data.valueType, - label: data.label, - type: data.inputType, - required: data.required, - description: data.description, - toolDescription: data.isToolInput ? data.description : undefined, - edit: true, - editField: createEditField - } - }); - onChangeNode({ - moduleId, - type: 'addOutput', - value: { - key: data.key, - valueType: data.valueType, - label: data.label, - type: FlowNodeOutputTypeEnum.source, - edit: true, - targets: [] - } - }); - setCreateField(undefined); - }} - /> - )} - {!!editField?.key && ( - setEditField(undefined)} - onSubmit={({ data, changeKey }) => { - if (!data.inputType || !data.key || !data.label) return; - - // check key valid - const memInput = inputs.find((item) => item.key === editField.key); - const memOutput = outputs.find((item) => item.key === editField.key); - - if (!memInput || !memOutput) return setEditField(undefined); - - const newInput: FlowNodeInputItemType = { - ...memInput, - type: data.inputType, - valueType: data.valueType, - key: data.key, - required: data.required, - label: data.label, - description: data.description, - toolDescription: data.isToolInput ? data.description : undefined, - ...(data.inputType === FlowNodeInputTypeEnum.addInputParam - ? { - editField: { - key: true, - name: true, - description: true, - required: true, - dataType: true, - inputType: false - }, - defaultEditField: { - label: '', - key: '', - description: '', - inputType: FlowNodeInputTypeEnum.target, - valueType: ModuleIOValueTypeEnum.string, - required: true - } - } - : {}) - }; - const newOutput: FlowNodeOutputItemType = { - ...memOutput, - valueType: data.valueType, - key: data.key, - label: data.label - }; - console.log(data); - if (changeKey) { - onChangeNode({ - moduleId, - type: 'replaceInput', - key: editField.key, - value: newInput - }); - onChangeNode({ - moduleId, - type: 'replaceOutput', - key: editField.key, - value: newOutput - }); - } else { - onChangeNode({ - moduleId, - type: 'updateInput', - key: newInput.key, - value: newInput - }); - onChangeNode({ - moduleId, - type: 'updateOutput', - key: newOutput.key, - value: newOutput - }); - } - - setEditField(undefined); - }} - /> - )} - - ); -}; -export default React.memo(NodePluginInput); diff --git a/projects/app/src/components/core/module/Flow/components/nodes/NodePluginOutput.tsx b/projects/app/src/components/core/module/Flow/components/nodes/NodePluginOutput.tsx deleted file mode 100644 index a0b4c96136..0000000000 --- a/projects/app/src/components/core/module/Flow/components/nodes/NodePluginOutput.tsx +++ /dev/null @@ -1,238 +0,0 @@ -import React, { useState } from 'react'; -import { NodeProps } from 'reactflow'; -import NodeCard from '../render/NodeCard'; -import { FlowModuleItemType } from '@fastgpt/global/core/module/type.d'; -import { onChangeNode } from '../../FlowProvider'; -import dynamic from 'next/dynamic'; -import { Box, Button, Flex } from '@chakra-ui/react'; -import { QuestionOutlineIcon, SmallAddIcon } from '@chakra-ui/icons'; -import { - FlowNodeInputTypeEnum, - FlowNodeOutputTypeEnum -} from '@fastgpt/global/core/module/node/constant'; -import Container from '../modules/Container'; -import MyIcon from '@fastgpt/web/components/common/Icon'; -import MyTooltip from '@/components/MyTooltip'; -import TargetHandle from '../render/TargetHandle'; -import { useToast } from '@fastgpt/web/hooks/useToast'; -import { - EditNodeFieldType, - FlowNodeInputItemType, - FlowNodeOutputItemType -} from '@fastgpt/global/core/module/node/type'; -import { ModuleIOValueTypeEnum } from '@fastgpt/global/core/module/constants'; -import { useTranslation } from 'next-i18next'; - -const FieldEditModal = dynamic(() => import('../render/FieldEditModal')); - -const defaultCreateField: EditNodeFieldType = { - label: '', - key: '', - description: '', - inputType: FlowNodeInputTypeEnum.target, - valueType: ModuleIOValueTypeEnum.string, - required: true -}; -const createEditField = { - key: true, - name: true, - description: true, - required: false, - dataType: true, - inputType: false -}; - -const NodePluginOutput = ({ data, selected }: NodeProps) => { - const { t } = useTranslation(); - const { moduleId, inputs, outputs } = data; - const [createField, setCreateField] = useState(); - const [editField, setEditField] = useState(); - - return ( - - - {inputs.map((item) => ( - - - - {t(item.label)} - - * - - - {item.description && ( - - - - )} - - setEditField({ - inputType: item.type, - valueType: item.valueType, - key: item.key, - label: item.label, - description: item.description, - required: item.required - }) - } - /> - { - onChangeNode({ - moduleId, - type: 'delInput', - key: item.key, - value: '' - }); - onChangeNode({ - moduleId, - type: 'delOutput', - key: item.key - }); - }} - /> - - ))} - - - - - {!!createField && ( - input.key)} - onClose={() => setCreateField(undefined)} - onSubmit={({ data }) => { - onChangeNode({ - moduleId, - type: 'addInput', - value: { - key: data.key, - valueType: data.valueType, - label: data.label, - type: data.inputType, - required: data.required, - description: data.description, - edit: true, - editField: createEditField - } - }); - onChangeNode({ - moduleId, - type: 'addOutput', - value: { - key: data.key, - valueType: data.valueType, - label: data.label, - type: FlowNodeOutputTypeEnum.source, - edit: true, - targets: [] - } - }); - setCreateField(undefined); - }} - /> - )} - {!!editField?.key && ( - setEditField(undefined)} - onSubmit={({ data, changeKey }) => { - if (!data.inputType || !data.key || !data.label) return; - - // check key valid - const memInput = inputs.find((item) => item.key === editField.key); - const memOutput = outputs.find((item) => item.key === editField.key); - - if (!memInput || !memOutput) return setEditField(undefined); - - const newInput: FlowNodeInputItemType = { - ...memInput, - type: data.inputType, - valueType: data.valueType, - key: data.key, - required: data.required, - label: data.label, - description: data.description - }; - const newOutput: FlowNodeOutputItemType = { - ...memOutput, - valueType: data.valueType, - key: data.key, - label: data.label - }; - - if (changeKey) { - onChangeNode({ - moduleId, - type: 'replaceInput', - key: editField.key, - value: newInput - }); - onChangeNode({ - moduleId, - type: 'replaceOutput', - key: editField.key, - value: newOutput - }); - } else { - onChangeNode({ - moduleId, - type: 'updateInput', - key: newInput.key, - value: newInput - }); - onChangeNode({ - moduleId, - type: 'updateOutput', - key: newOutput.key, - value: newOutput - }); - } - - setEditField(undefined); - }} - /> - )} - - ); -}; - -export default React.memo(NodePluginOutput); diff --git a/projects/app/src/components/core/module/Flow/components/nodes/NodeQuestionInput.tsx b/projects/app/src/components/core/module/Flow/components/nodes/NodeQuestionInput.tsx deleted file mode 100644 index e4590704ea..0000000000 --- a/projects/app/src/components/core/module/Flow/components/nodes/NodeQuestionInput.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from 'react'; -import { NodeProps } from 'reactflow'; -import NodeCard from '../render/NodeCard'; -import { FlowModuleItemType } from '@fastgpt/global/core/module/type.d'; -import Container from '../modules/Container'; - -import RenderOutput from '../render/RenderOutput'; - -const QuestionInputNode = ({ data, selected }: NodeProps) => { - const { moduleId, outputs } = data; - - return ( - - - - - - ); -}; - -export default React.memo(QuestionInputNode); diff --git a/projects/app/src/components/core/module/Flow/components/nodes/NodeSimple.tsx b/projects/app/src/components/core/module/Flow/components/nodes/NodeSimple.tsx deleted file mode 100644 index 5b4e5f0a9f..0000000000 --- a/projects/app/src/components/core/module/Flow/components/nodes/NodeSimple.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import React, { useMemo } from 'react'; -import { NodeProps } from 'reactflow'; -import NodeCard from '../render/NodeCard'; -import { FlowModuleItemType } from '@fastgpt/global/core/module/type.d'; -import Divider from '../modules/Divider'; -import Container from '../modules/Container'; -import RenderInput from '../render/RenderInput'; -import RenderOutput from '../render/RenderOutput'; -import RenderToolInput from '../render/RenderToolInput'; -import { useTranslation } from 'next-i18next'; -import { useFlowProviderStore } from '../../FlowProvider'; -import { FlowNodeOutputTypeEnum } from '@fastgpt/global/core/module/node/constant'; - -const NodeSimple = ({ - data, - selected, - minW = '350px', - maxW -}: NodeProps & { minW?: string | number; maxW?: string | number }) => { - const { t } = useTranslation(); - const { splitToolInputs } = useFlowProviderStore(); - const { moduleId, inputs, outputs } = data; - const { toolInputs, commonInputs } = splitToolInputs(inputs, moduleId); - - const filterHiddenInputs = useMemo( - () => commonInputs.filter((item) => item.type !== 'hidden'), - [commonInputs] - ); - - return ( - - {toolInputs.length > 0 && ( - <> - - - - - - )} - {filterHiddenInputs.length > 0 && ( - <> - - - - - - )} - {outputs.filter((output) => output.type !== FlowNodeOutputTypeEnum.hidden).length > 0 && ( - <> - - - - - - )} - - ); -}; -export default React.memo(NodeSimple); diff --git a/projects/app/src/components/core/module/Flow/components/nodes/NodeTools.tsx b/projects/app/src/components/core/module/Flow/components/nodes/NodeTools.tsx deleted file mode 100644 index 8632e77483..0000000000 --- a/projects/app/src/components/core/module/Flow/components/nodes/NodeTools.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import React from 'react'; -import { NodeProps } from 'reactflow'; -import NodeCard from '../render/NodeCard'; -import { FlowModuleItemType } from '@fastgpt/global/core/module/type.d'; -import Divider from '../modules/Divider'; -import Container from '../modules/Container'; -import RenderInput from '../render/RenderInput'; -import RenderOutput from '../render/RenderOutput'; -import { useTranslation } from 'next-i18next'; -import { ToolSourceHandle } from '../render/ToolHandle'; -import { Box } from '@chakra-ui/react'; - -const NodeTools = ({ data, selected }: NodeProps) => { - const { t } = useTranslation(); - const { moduleId, inputs, outputs } = data; - - return ( - - - - - - - - - - - - - - ); -}; -export default React.memo(NodeTools); diff --git a/projects/app/src/components/core/module/Flow/components/nodes/NodeUserGuide.tsx b/projects/app/src/components/core/module/Flow/components/nodes/NodeUserGuide.tsx deleted file mode 100644 index 03715142b5..0000000000 --- a/projects/app/src/components/core/module/Flow/components/nodes/NodeUserGuide.tsx +++ /dev/null @@ -1,194 +0,0 @@ -import React, { useCallback, useMemo, useTransition } from 'react'; -import { NodeProps } from 'reactflow'; -import { Box, Flex, Textarea, useTheme } from '@chakra-ui/react'; -import { QuestionOutlineIcon } from '@chakra-ui/icons'; -import { FlowModuleItemType, ModuleItemType } from '@fastgpt/global/core/module/type.d'; -import { ModuleInputKeyEnum } from '@fastgpt/global/core/module/constants'; -import { welcomeTextTip } from '@fastgpt/global/core/module/template/tip'; -import { onChangeNode } from '../../FlowProvider'; - -import VariableEdit from '../../../../app/VariableEdit'; -import MyIcon from '@fastgpt/web/components/common/Icon'; -import MyTooltip from '@/components/MyTooltip'; -import Container from '../modules/Container'; -import NodeCard from '../render/NodeCard'; -import type { VariableItemType } from '@fastgpt/global/core/app/type.d'; -import QGSwitch from '@/components/core/app/QGSwitch'; -import TTSSelect from '@/components/core/app/TTSSelect'; -import WhisperConfig from '@/components/core/app/WhisperConfig'; -import { splitGuideModule } from '@fastgpt/global/core/module/utils'; -import { useTranslation } from 'next-i18next'; -import { TTSTypeEnum } from '@/constants/app'; - -const NodeUserGuide = ({ data, selected }: NodeProps) => { - const theme = useTheme(); - return ( - <> - - - - - - - - - - - - - - - - - - - ); -}; - -export default React.memo(NodeUserGuide); - -function WelcomeText({ data }: { data: FlowModuleItemType }) { - const { t } = useTranslation(); - const { inputs, moduleId } = data; - const [, startTst] = useTransition(); - - const welcomeText = inputs.find((item) => item.key === ModuleInputKeyEnum.welcomeText); - - return ( - <> - - - {t('core.app.Welcome Text')} - - - - - {welcomeText && ( -