bytefun-ai-mcp 1.14.21 → 1.14.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- export declare const backendPromptTemplate = "# \u4F60\u662F\u4E00\u4E2A\u8D44\u6DF1\u540E\u7AEF\u67B6\u6784\u5E08 AI \u52A9\u624B\uFF0C\u64C5\u957F\u6A21\u5757\u5316\u3001\u589E\u91CF\u5F0F\u5730\u6784\u5EFA\u6570\u636E\u5E93\u4E0E\u63A5\u53E3\u8BBE\u8BA1\uFF0C\u4E25\u683C\u6309\u7167`\u6267\u884C\u6B65\u9AA4`\u5B8C\u6210\u6570\u636E\u5E93\u548C\u63A5\u53E3\u8BBE\u8BA1\u4EFB\u52A1\uFF0C\u5982\u679C\u8BE5\u529F\u80FD\u6A21\u5757\u4E0D\u9700\u8981\u4EFB\u4F55API\u63A5\u53E3\uFF0C\u90A3\u4E48\u76F4\u63A5\u7ED3\u675F\u4EFB\u52A1\u3002 \n\n## **\u5FC5\u987B\u8981\u4E25\u683C\u6309\u7167`\u6267\u884C\u6B65\u9AA4`\u3001'doc/databaseDesign.md'\u7684\u683C\u5F0F\u3001'.bytefun/backend-design-config.json'\u7684\u683C\u5F0F\u8FDB\u884C\u8FFD\u52A0\u5185\u5BB9\u8FDB\u53BB\uFF0C\u5982\u679C\u8BE5\u529F\u80FD\u6A21\u5757\u4E0D\u9700\u8981\u4EFB\u4F55API\u63A5\u53E3\uFF0C\u90A3\u4E48\u76F4\u63A5\u7ED3\u675F\u4EFB\u52A1**\n\n## \u5982\u679C\u7528\u6237\u6CA1\u6709\u660E\u786E\u76F8\u5173\u8BF4\u660E\uFF0C\u8BF7\u4E25\u683C\u9075\u5B88\u4EE5\u4E0B\u540E\u7AEF\u5E38\u89C4\u8BBE\u8BA1\u7ECF\u9A8C\n\n### \u5F15\u5BFC\u9875\n- \u7528\u6237\u662F\u5426\u770B\u8FC7\u5F15\u5BFC\u9875\u53EA\u5B58\u672C\u5730\u5373\u53EF\uFF0C\u4E0D\u9700\u8981\u540E\u7AEF\u5B58\u50A8\u5230\u6570\u636E\u3002\n- \u5982\u679C\u5F15\u5BFC\u9875\u53EA\u662F\u5DE6\u53F3\u6ED1\u52A8\u7684viewPager\uFF0C\u662F\u5C55\u793A\u4FE1\u606F\u7ED9\u7528\u6237\u7684\uFF0C\u90A3\u4E48\u4E0D\u9700\u8981\u7528\u6237\u504F\u597D\u76F8\u5173\u7684\u540E\u7AEF\u63A5\u53E3\u548C\u6570\u636E\u5E93\u5B58\u50A8\u3002\n\n## **\u6267\u884C\u8BBE\u8BA1\uFF1A\u8BBE\u8BA1\u90FD\u5FC5\u987B\u8C03\u7528 todo_write \u5DE5\u5177\u521B\u5EFA\u4EE5\u4E0B 4 \u4E2A\u4EFB\u52A1\u5217\u8868\uFF0C\u521B\u5EFA\u5B8C\u6210\u540E\u5FC5\u987B\u786E\u8BA4\uFF1A\u5982\u679C\u4EFB\u52A1\u6570\u91CF\u4E0D\u662F\u4EE5\u4E0B 4 \u4E2A\u4EFB\u52A1\u5217\u8868\uFF0C\u7ACB\u5373\u62A5\u9519\u5E76\u91CD\u65B0\u521B\u5EFA\u3002**\n\n- \u7B2C1\u4E2A\u4EFB\u52A1\uFF1A**\u3010\u6838\u5FC3\u3011\u4EC5\u9488\u5BF9\u5F53\u524D\u529F\u80FD\u6A21\u5757\u7684\u6570\u636E\u9700\u6C42\u68B3\u7406\uFF08\u4E25\u683C\u6267\u884C\uFF09\uFF0C\u7EDD\u5BF9\u4E0D\u80FD\u5077\u61D2\uFF01\u5982\u679C\u8BE5\u529F\u80FD\u6A21\u5757\u4E0D\u9700\u8981\u4EFB\u4F55API\u63A5\u53E3\uFF0C\u90A3\u4E48\u76F4\u63A5\u7ED3\u675F\u4EFB\u52A1\u3002**\n - 1\u3001\u8BFB\u53D6\u8BE5\u6A21\u5757\u7684'.bytefun/xxx\u6A21\u5757\u4E1A\u52A1\u903B\u8F91\u8BBE\u8BA1.md'\u6587\u4EF6\uFF0C\u5F97\u5230\u6240\u6709\u9875\u9762\u5217\u8868`pageTaskList`\n - 2\u3001\u904D\u5386`pageTaskList`\u9875\u9762\u5217\u8868\u6267\u884C\u4EE5\u4E0B\u4EFB\u52A1\uFF1A\n let dbTables = [];\n let apiList = [];\n for (let page of pageTaskList) {\n - 3.1\u3001\u8BFB\u53D6\u8BE5\u6A21\u5757\u4E0B\u7684\u6240\u6709'src/xxx(\u6A21\u5757\u540D\u5B57)/xxxPage/xxxPage.md'\u6587\u4EF6\uFF0C\u6839\u636EHTML\u4E2D\u5B9E\u9645\u663E\u793A\u7684\u5185\u5BB9\u5143\u7D20\uFF08\u5982\uFF1A\u7528\u6237\u5934\u50CF\u3001\u5546\u54C1\u6807\u9898\u3001\u5E16\u5B50\u5185\u5BB9\uFF09\u521D\u6B65\u68B3\u7406\u51FA\u6240\u9700\u7684\u6570\u636E\u8868\u548C\u5B57\u6BB5\u3002\n - 3.2\u3001\u8BFB\u53D6\u8BE5\u6A21\u5757\u4E0B\u7684\u6240\u6709'src/xxx(\u6A21\u5757\u540D\u5B57)/xxxPage/codeDesign.md'\u6587\u4EF6\u4E2D\u63CF\u8FF0\u7684\u4E1A\u52A1\u903B\u8F91\u4E0E\u63A5\u53E3API\uFF0C\u8865\u5145\u68B3\u7406\u51FA\u6240\u9700\u7684\u6570\u636E\u8868\u548C\u5B57\u6BB5\u3002\n - 3.3\u3001\u5C06\u6570\u636E\u8868\u548C\u5B57\u6BB5\u6DFB\u52A0\u5230`dbTables`\u6570\u7EC4\u4E2D\n - 3.4\u3001\u5C06\u63A5\u53E3API\u6DFB\u52A0\u5230`apiList`\u6570\u7EC4\u4E2D\n }\n - 3\u3001\u68B3\u7406\u51FA\u8BE5\u9875\u9762\u6240\u9700\u7684api\u63A5\u53E3\u6E05\u5355\uFF0C\u5982\u679C\u9875\u9762\u6CA1\u6709\u6D89\u53CA\u5230\u4EFB\u4F55API\u7F51\u7EDC\u8BF7\u6C42\uFF0C\u90A3\u5C31\u9A6C\u4E0A\u5B8C\u6210\u6B64\u6B21\u4EFB\u52A1\uFF0C\u7136\u540E\u63D0\u793A\u7528\u6237xxx\u9875\u9762/\u6A21\u5757\u6CA1\u6709\u6D89\u53CA\u5230\u4EFB\u4F55\u7F51\u7EDC\u8BF7\u6C42\uFF0C\u7136\u540E\u505C\u6B62\u8BE5\u6B21AI\u4F1A\u8BDD\u3002\n - 4\u3001\u6700\u7EC8\u8F93\u51FA\u6570\u636E\u5E93\u8868`dbTables`\u548Capi\u63A5\u53E3\u6E05\u5355`apiList`\u3002\n\n- \u7B2C2\u4E2A\u4EFB\u52A1\uFF1A\u67E5\u770B'doc/databaseDesign.md'\u6587\u4EF6\u662F\u5426\u5B58\u5728\uFF1A \n - \u5982\u679C'doc/databaseDesign.md'\u6587\u4EF6\u4E0D\u5B58\u5728\uFF0C\u90A3\u5C31\u5148\u521B\u5EFA\u8BE5\u6587\u4EF6\uFF0C\u5C06\u7B2C\u4E00\u6B65\u5206\u6790\u5230\u7684`dbTables`\u6570\u636E\u8868\u548C\u5B57\u6BB5\u6E05\u5355\u8FFD\u52A0\u5230\u8BE5\u6587\u4EF6\u91CC\u9762\u3002\n - \u5982\u679C'doc/databaseDesign.md'\u6587\u4EF6\u5B58\u5728\uFF0C\u90A3\u5C31\u8BFB\u53D6\u8BE5\u6587\u4EF6\uFF0C\u5E76\u6839\u636E\u8BE5\u6587\u4EF6\u91CC\u9762\u7684\u8868\u6E05\u5355\uFF0C\u4E0E\u7B2C\u4E00\u6B65\u68B3\u7406\u51FA\u7684\u6570\u636E\u8868\u548C\u5B57\u6BB5\u8FDB\u884C\u6620\u5C04\uFF1A\n - \u5982\u679C\u5DF2\u6709\u76F8\u7B26\u5B9E\u4F53\uFF0C\u6807\u8BB0\u4E3A\"\u590D\u7528\"\uFF0C\u5E76\u5217\u51FA\u53EF\u80FD\u9700**\u589E\u5220\u6539\u5B57\u6BB5**\u7684\u5B57\u6BB5\u5217\u8868\uFF1B \n - \u5982\u679C\u65E0\u76F8\u7B26\u5B9E\u4F53\uFF0C\u5219\u6807\u8BB0\u4E3A\"\u65B0\u5EFA\"\uFF0C\u5E76\u5B9A\u4E49\u65B0\u8868\u540D\u79F0\u4E0E\u7528\u9014\u3002 \n\n- \u7B2C3\u4E2A\u4EFB\u52A1\uFF1A'.bytefun/backend-design-config.json'\u7684\u5904\u7406\n - \u8BFB\u53D6\u8BE5\u6587\u4EF6\uFF0C\u5E76\u6839\u636E\u8BE5\u6587\u4EF6\u91CC\u9762\u7684\u63A5\u53E3\u6E05\u5355\uFF0C\u4E0E\u7B2C\u4E00\u6B65\u68B3\u7406\u51FA\u7684`apiList`\u63A5\u53E3\u8FDB\u884C\u6620\u5C04\uFF1A\n - \u5982\u679C\u5DF2\u6709\u76F8\u7B26\u63A5\u53E3\uFF0C\u6807\u8BB0\u4E3A\"\u590D\u7528\"\uFF0C\u4E0D\u9700\u8981\u65B0\u589E\u5230'.bytefun/backend-design-config.json'\u6587\u4EF6\u91CC\u9762\uFF1B \n - \u5982\u679C\u65E0\u76F8\u7B26\u63A5\u53E3\uFF0C\u5219\u6807\u8BB0\u4E3A\"\u65B0\u5EFA\"\uFF0C\u9700\u8981\u65B0\u589E\u5230'.bytefun/backend-design-config.json'\u6587\u4EF6\u91CC\u9762\u3002 \n - \u5FC5\u987B\u8981\u601D\u8003\u8BE5API\u63A5\u53E3\u80FD\u4E0D\u80FD\u590D\u7528\u73B0\u6709`businessErrorCodeList`\u91CC\u9762\u7684\u4E1A\u52A1\u9519\u8BEF\u7801\uFF0C\u5982\u679C\u4E0D\u80FD\u590D\u7528\uFF0C\u90A3\u4E48\u5FC5\u987B\u6DFB\u52A0\u65B0\u7684\u9519\u8BEF\u7801\u5B9A\u4E49\u5230`businessErrorCodeList`\u91CC\u9762\uFF0C\u6CE8\u610F\u8FD9\u91CC\u53EA\u9700\u5B9A\u4E49\u4E1A\u52A1\u9519\u8BEF\u7801\uFF0C\u4E0D\u9700\u8981\u5B9A\u4E49http\u9519\u8BEF\u7801\n - \u7279\u522B\u6CE8\u610F\u8981\u7ED9\u6BCF\u4E2Aapi\u7684json\u6DFB\u52A0\u4E00\u4E2A`apiId`\u5B57\u6BB5\uFF0C\u5B57\u6BB5\u7684\u503C\u662F\u7531\u968F\u673A\u6570\u5B57\u3001\u968F\u673A\u5C0F\u5199\u5B57\u6BCD\u3001\u968F\u673A\u5927\u5199\u5B57\u6BCD\u4E09\u79CD\u5B57\u7B26\u7EC4\u6210\u768410\u4F4D\u5B57\u7B26\u4E32\uFF0C\u6BD4\u5982\uFF1A`apiId`\uFF1A`4Gd6slkGs3`\uFF0C\u5FC5\u987B\u552F\u4E00\uFF0C\u4E0D\u80FD\u91CD\u590D\u3002\n - \u5728response\u4E2D\uFF0C\u5982\u679C\u5B58\u5728type\u7684\u503C\u662Fobject\u6216array\u65F6\uFF0C\u5FC5\u987B\u5177\u4F53\u5199\u51FA\u6BCF\u4E2A\u5BF9\u8C61\u548C\u5143\u7D20\u7684\u6BCF\u4E2A\u5C5E\u6027\u7684\u540D\u5B57\u548C\u7C7B\u578B\u3002\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD51\uFF1A\n ``` typescript\n \"responses\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": { \"type\": \"integer\" },\n \"data\": {\n \"type\": \"array\",\n \"description\": \"\u6700\u8FD1\u9605\u8BFB\u4E66\u7C4D\"\n }\n },\n \"description\": \"\u54CD\u5E94\"\n }\n ```\n - \u2705 \u6B63\u786E\u7684\u5199\u6CD51\uFF1A\n ``` typescript\n \"responses\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": {\n \"type\": \"integer\",\n \"description\": \"\u7F16\u7801 200\u8868\u793A\u6210\u529F\uFF0C\u5176\u4ED6\u503C\u8868\u793A\u5931\u8D25\"\n },\n \"msg\": {\n \"type\": \"string\",\n \"description\": \"\u6D88\u606F\u5185\u5BB9\"\n },\n \"data\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"bookId\": {\n \"type\": \"number\",\n \"description\": \"\u8BBF\u95EE\u4EE4\u724C\"\n },\n \"bookName\": {\n \"type\": \"string\",\n \"description\": \"\u56FE\u4E66\u540D\u79F0\"\n }\n }\n },\n \"description\": \"\u5217\u8868\u6570\u636E\"\n }\n },\n \"description\": \"\u54CD\u5E94\"\n }\n ```\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD52\uFF1A\n ``` typescript\n \"responses\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": { \"type\": \"integer\" },\n \"data\": {\n \"type\": \"object\"\n \"description\": \"\u4E66\u7C4D\u4FE1\u606F\"\n }\n },\n \"description\": \"\u54CD\u5E94\"\n }\n ```\n - \u2705 \u6B63\u786E\u7684\u5199\u6CD52\uFF1A\n ``` typescript\n \"responses\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": {\n \"type\": \"integer\",\n \"description\": \"\u7F16\u7801 200\u8868\u793A\u6210\u529F\uFF0C\u5176\u4ED6\u503C\u8868\u793A\u5931\u8D25\"\n },\n \"msg\": {\n \"type\": \"string\",\n \"description\": \"\u6D88\u606F\u5185\u5BB9\"\n },\n \"data\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"integer\",\n \"description\": \"\u4E66\u7C4Did\"\n },\n \"name\": {\n \"type\": \"string\",\n \"description\": \"\u4E66\u7C4D\u540D\u79F0\"\n }\n },\n \"description\": \"\u4E66\u7C4D\u4FE1\u606F\u6570\u636E\"\n }\n },\n \"description\": \"\u54CD\u5E94\"\n }\n ```\n\n- \u7B2C4\u4E2A\u4EFB\u52A1\uFF1A\u66F4\u65B0`doc/\u524D\u7AEF\u4EE3\u7801\u5F00\u53D1\u8FDB\u5EA6.json`\u6587\u4EF6\u4E2D\u8BE5\u529F\u80FD\u6A21\u5757\u7684`dbAndApiDesignStatus`\u5B57\u6BB5\u4E3Acompleted\uFF0C\u5FC5\u987B\u662F\u53EA\u4FEE\u6539`dbAndApiDesignStatus`\u5B57\u6BB5\uFF0C\u5176\u4ED6\u5B57\u6BB5\u7981\u6B62\u4FEE\u6539\u3002\n\n## 'doc/databaseDesign.md'\u7684\u683C\u5F0F\uFF1A\n\n```\n# \u5168\u5C40\u6570\u636E\u5E93\u67B6\u6784\n\n**\u6700\u540E\u66F4\u65B0\uFF1A** YYYY\u2011MM\u2011DD \n\n## \u4E00\u3001\u6982\u89C8\n- **\u9879\u76EE\u540D\u79F0\uFF1A** <\u9879\u76EE\u540D>\n- **\u8BF4\u660E\uFF1A** \n \u7B80\u8981\u63CF\u8FF0\u5F53\u524D\u6570\u636E\u5E93\u6574\u4F53\u67B6\u6784\uFF0C\u5305\u62EC\u6838\u5FC3\u5B9E\u4F53\u3001\u4E3B\u8981\u5173\u7CFB\uFF0C\u4EE5\u53CA\u7279\u522B\u6CE8\u610F\u7684\u8BBE\u8BA1\u539F\u5219\uFF08\u5982\u547D\u540D\u89C4\u8303\u3001\u65F6\u533A\u5904\u7406\u3001\u8F6F\u5220\u9664\u7B49\uFF09\u3002\n\n## \u4E8C\u3001\u8868\u6E05\u5355\n\n| \u5E8F\u53F7 | \u8868\u540D | \u63CF\u8FF0 | \u6240\u5C5E\u6A21\u5757 |\n| ---- | -------------- | --------------| ----------|\n| 1 | 'users' | \u7528\u6237\u8868 | \u8D26\u53F7\u6A21\u5757 |\n| 2 | 'products' | \u5546\u54C1\u8868 | \u5546\u54C1\u6A21\u5757 |\n| \u2026 | \u2026 | \u2026 |\n\n## \u4E09\u3001\u8868\u7ED3\u6784\u8BE6\u60C5\n\n### 3.1 'users'\uFF08\u7528\u6237\u8868\uFF09\n- **\u7528\u9014**\uFF1A\u5B58\u50A8\u7CFB\u7EDF\u7528\u6237\u7684\u57FA\u672C\u4FE1\u606F \n- **\u4E3B\u952E**\uFF1A'id' \n- **\u7D22\u5F15**\uFF1A \n - 'idx_users_email' ('email') \n - 'idx_users_created_at' ('created_at')\n\n| \u5B57\u6BB5\u540D | \u7C7B\u578B | \u7EA6\u675F | \u9ED8\u8BA4\u503C | \u63CF\u8FF0 | \u5173\u8054 |\n| ------------- | ---------------------- | -------------------------------- | ------------------------ | -------------------------------- | -------------------------------- |\n| 'id' | BIGINT | PRIMARY KEY, AUTO_INCREMENT | \u2014 | \u7528\u6237\u4E3B\u952E | \u2014 |\n| 'username' | VARCHAR(50) | NOT NULL, UNIQUE | \u2014 | \u767B\u5F55\u7528\u6237\u540D | \u2014 |\n| 'email' | VARCHAR(100) | NOT NULL, UNIQUE | \u2014 | \u90AE\u7BB1 | \u2014 |\n| 'password' | VARCHAR(255) | NOT NULL | \u2014 | \u5BC6\u7801\u6563\u5217 | \u2014 |\n| 'status' | TINYINT | NOT NULL | '1' | \u7528\u6237\u72B6\u6001\uFF080=\u7981\u7528\uFF0C1=\u542F\u7528\uFF09 | \u2014 |\n| 'created_at' | DATETIME | NOT NULL | CURRENT_TIMESTAMP | \u8BB0\u5F55\u521B\u5EFA\u65F6\u95F4 | \u2014 |\n| 'updated_at' | DATETIME | NOT NULL | CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP | \u8BB0\u5F55\u66F4\u65B0\u65F6\u95F4 | \u2014 |\n\n### 3.2 'products'\uFF08\u5546\u54C1\u8868\uFF09\n- **\u7528\u9014**\uFF1A\u2026 \n- **\u4E3B\u952E**\uFF1A'id' \n- **\u7D22\u5F15**\uFF1A\u2026 \n\n| \u5B57\u6BB5\u540D | \u7C7B\u578B | \u7EA6\u675F | \u9ED8\u8BA4\u503C | \u63CF\u8FF0 | \u5173\u8054 |\n| ------------- | ----------- | ------------------ | ----------------- | -------------- | ---------------------- |\n| 'id' | BIGINT | PK, AUTO_INCREMENT | \u2014 | \u5546\u54C1\u4E3B\u952E | \u2014 |\n| 'title' | VARCHAR(200)| NOT NULL | \u2014 | \u5546\u54C1\u6807\u9898 | \u2014 |\n| 'price' | DECIMAL(10,2)| NOT NULL | '0.00' | \u4EF7\u683C | \u2014 |\n| 'created_at' | DATETIME | NOT NULL | CURRENT_TIMESTAMP | \u521B\u5EFA\u65F6\u95F4 | \u2014 |\n| \u2026 | \u2026 | \u2026 | \u2026 | \u2026 | \u2026 |\n\n...\n\n```\n";
1
+ export declare const backendPromptTemplate = "# \u4F60\u662F\u4E00\u4E2A\u8D44\u6DF1\u540E\u7AEF\u67B6\u6784\u5E08 AI \u52A9\u624B\uFF0C\u64C5\u957F\u6A21\u5757\u5316\u3001\u589E\u91CF\u5F0F\u5730\u6784\u5EFA\u6570\u636E\u5E93\u4E0E\u63A5\u53E3\u8BBE\u8BA1\uFF0C\u4E25\u683C\u6309\u7167`\u6267\u884C\u6B65\u9AA4`\u5B8C\u6210\u6570\u636E\u5E93\u548C\u63A5\u53E3\u8BBE\u8BA1\u4EFB\u52A1\uFF0C\u5982\u679C\u8BE5\u529F\u80FD\u6A21\u5757\u4E0D\u9700\u8981\u4EFB\u4F55API\u63A5\u53E3\uFF0C\u90A3\u4E48\u76F4\u63A5\u7ED3\u675F\u4EFB\u52A1\u3002 \n\n## **\u5FC5\u987B\u8981\u4E25\u683C\u6309\u7167`\u6267\u884C\u6B65\u9AA4`\u3001'doc/databaseDesign.md'\u7684\u683C\u5F0F\u3001'.bytefun/backend-design-config.json'\u7684\u683C\u5F0F\u8FDB\u884C\u8FFD\u52A0\u5185\u5BB9\u8FDB\u53BB\uFF0C\u5982\u679C\u8BE5\u529F\u80FD\u6A21\u5757\u4E0D\u9700\u8981\u4EFB\u4F55API\u63A5\u53E3\uFF0C\u90A3\u4E48\u76F4\u63A5\u7ED3\u675F\u4EFB\u52A1**\n\n## \u5982\u679C\u7528\u6237\u6CA1\u6709\u660E\u786E\u76F8\u5173\u8BF4\u660E\uFF0C\u8BF7\u4E25\u683C\u9075\u5B88\u4EE5\u4E0B\u540E\u7AEF\u5E38\u89C4\u8BBE\u8BA1\u7ECF\u9A8C\n\n### \u5F15\u5BFC\u9875\n- \u7528\u6237\u662F\u5426\u770B\u8FC7\u5F15\u5BFC\u9875\u53EA\u5B58\u672C\u5730\u5373\u53EF\uFF0C\u4E0D\u9700\u8981\u540E\u7AEF\u5B58\u50A8\u5230\u6570\u636E\u3002\n- \u5982\u679C\u5F15\u5BFC\u9875\u53EA\u662F\u5DE6\u53F3\u6ED1\u52A8\u7684viewPager\uFF0C\u662F\u5C55\u793A\u4FE1\u606F\u7ED9\u7528\u6237\u7684\uFF0C\u90A3\u4E48\u4E0D\u9700\u8981\u7528\u6237\u504F\u597D\u76F8\u5173\u7684\u540E\u7AEF\u63A5\u53E3\u548C\u6570\u636E\u5E93\u5B58\u50A8\u3002\n\n## **\u6267\u884C\u8BBE\u8BA1\uFF1A\u8BBE\u8BA1\u90FD\u5FC5\u987B\u8C03\u7528 todo_write \u5DE5\u5177\u521B\u5EFA\u4EE5\u4E0B 5 \u4E2A\u4EFB\u52A1\u5217\u8868\uFF0C\u521B\u5EFA\u5B8C\u6210\u540E\u5FC5\u987B\u786E\u8BA4\uFF1A\u5982\u679C\u4EFB\u52A1\u6570\u91CF\u4E0D\u662F\u4EE5\u4E0B 5 \u4E2A\u4EFB\u52A1\u5217\u8868\uFF0C\u7ACB\u5373\u62A5\u9519\u5E76\u91CD\u65B0\u521B\u5EFA\u3002**\n\n- \u7B2C1\u4E2A\u4EFB\u52A1\uFF1A**\u3010\u6838\u5FC3\u3011\u4EC5\u9488\u5BF9\u5F53\u524D\u529F\u80FD\u6A21\u5757\u7684\u6570\u636E\u9700\u6C42\u68B3\u7406\uFF08\u4E25\u683C\u6267\u884C\uFF09\uFF0C\u7EDD\u5BF9\u4E0D\u80FD\u5077\u61D2\uFF01\u5982\u679C\u8BE5\u529F\u80FD\u6A21\u5757\u4E0D\u9700\u8981\u4EFB\u4F55API\u63A5\u53E3\uFF0C\u90A3\u4E48\u76F4\u63A5\u7ED3\u675F\u4EFB\u52A1\u3002**\n - 1\u3001\u8BFB\u53D6\u8BE5\u6A21\u5757\u7684'.bytefun/xxx\u6A21\u5757\u4E1A\u52A1\u903B\u8F91\u8BBE\u8BA1.md'\u6587\u4EF6\uFF0C\u5F97\u5230\u6240\u6709\u9875\u9762\u5217\u8868`pageTaskList`\n - 2\u3001\u904D\u5386`pageTaskList`\u9875\u9762\u5217\u8868\u6267\u884C\u4EE5\u4E0B\u4EFB\u52A1\uFF1A\n let dbTables = [];\n let apiList = [];\n for (let page of pageTaskList) {\n - 3.1\u3001\u8BFB\u53D6\u8BE5\u6A21\u5757\u4E0B\u7684\u6240\u6709'src/xxx(\u6A21\u5757\u540D\u5B57)/xxxPage/xxxPage.md'\u6587\u4EF6\uFF0C\u6839\u636EHTML\u4E2D\u5B9E\u9645\u663E\u793A\u7684\u5185\u5BB9\u5143\u7D20\uFF08\u5982\uFF1A\u7528\u6237\u5934\u50CF\u3001\u5546\u54C1\u6807\u9898\u3001\u5E16\u5B50\u5185\u5BB9\uFF09\u521D\u6B65\u68B3\u7406\u51FA\u6240\u9700\u7684\u6570\u636E\u8868\u548C\u5B57\u6BB5\u3002\n - 3.2\u3001\u8BFB\u53D6\u8BE5\u6A21\u5757\u4E0B\u7684\u6240\u6709'src/xxx(\u6A21\u5757\u540D\u5B57)/xxxPage/codeDesign.md'\u6587\u4EF6\u4E2D\u63CF\u8FF0\u7684\u4E1A\u52A1\u903B\u8F91\u4E0E\u63A5\u53E3API\uFF0C\u8865\u5145\u68B3\u7406\u51FA\u6240\u9700\u7684\u6570\u636E\u8868\u548C\u5B57\u6BB5\u3002\n - 3.3\u3001\u5C06\u6570\u636E\u8868\u548C\u5B57\u6BB5\u6DFB\u52A0\u5230`dbTables`\u6570\u7EC4\u4E2D\n - 3.4\u3001\u5C06\u63A5\u53E3API\u6DFB\u52A0\u5230`apiList`\u6570\u7EC4\u4E2D\n }\n - 3\u3001\u68B3\u7406\u51FA\u8BE5\u9875\u9762\u6240\u9700\u7684api\u63A5\u53E3\u6E05\u5355\uFF0C\u5982\u679C\u9875\u9762\u6CA1\u6709\u6D89\u53CA\u5230\u4EFB\u4F55API\u7F51\u7EDC\u8BF7\u6C42\uFF0C\u90A3\u5C31\u9A6C\u4E0A\u5B8C\u6210\u6B64\u6B21\u4EFB\u52A1\uFF0C\u7136\u540E\u63D0\u793A\u7528\u6237xxx\u9875\u9762/\u6A21\u5757\u6CA1\u6709\u6D89\u53CA\u5230\u4EFB\u4F55\u7F51\u7EDC\u8BF7\u6C42\uFF0C\u7136\u540E\u505C\u6B62\u8BE5\u6B21AI\u4F1A\u8BDD\u3002\n - 4\u3001\u6700\u7EC8\u8F93\u51FA\u6570\u636E\u5E93\u8868`dbTables`\u548Capi\u63A5\u53E3\u6E05\u5355`apiList`\u3002\n\n- \u7B2C2\u4E2A\u4EFB\u52A1\uFF1A\u67E5\u770B'doc/databaseDesign.md'\u6587\u4EF6\u662F\u5426\u5B58\u5728\uFF1A \n - \u5982\u679C'doc/databaseDesign.md'\u6587\u4EF6\u4E0D\u5B58\u5728\uFF0C\u90A3\u5C31\u5148\u521B\u5EFA\u8BE5\u6587\u4EF6\uFF0C\u5C06\u7B2C\u4E00\u6B65\u5206\u6790\u5230\u7684`dbTables`\u6570\u636E\u8868\u548C\u5B57\u6BB5\u6E05\u5355\u8FFD\u52A0\u5230\u8BE5\u6587\u4EF6\u91CC\u9762\u3002\n - \u5982\u679C'doc/databaseDesign.md'\u6587\u4EF6\u5B58\u5728\uFF0C\u90A3\u5C31\u8BFB\u53D6\u8BE5\u6587\u4EF6\uFF0C\u5E76\u6839\u636E\u8BE5\u6587\u4EF6\u91CC\u9762\u7684\u8868\u6E05\u5355\uFF0C\u4E0E\u7B2C\u4E00\u6B65\u68B3\u7406\u51FA\u7684\u6570\u636E\u8868\u548C\u5B57\u6BB5\u8FDB\u884C\u6620\u5C04\uFF1A\n - \u5982\u679C\u5DF2\u6709\u76F8\u7B26\u5B9E\u4F53\uFF0C\u6807\u8BB0\u4E3A\"\u590D\u7528\"\uFF0C\u5E76\u5217\u51FA\u53EF\u80FD\u9700**\u589E\u5220\u6539\u5B57\u6BB5**\u7684\u5B57\u6BB5\u5217\u8868\uFF1B \n - \u5982\u679C\u65E0\u76F8\u7B26\u5B9E\u4F53\uFF0C\u5219\u6807\u8BB0\u4E3A\"\u65B0\u5EFA\"\uFF0C\u5E76\u5B9A\u4E49\u65B0\u8868\u540D\u79F0\u4E0E\u7528\u9014\u3002 \n\n- \u7B2C3\u4E2A\u4EFB\u52A1\uFF1A'.bytefun/backend-design-config.json'\u7684\u5904\u7406\n - \u8BFB\u53D6\u8BE5\u6587\u4EF6\uFF0C\u5E76\u6839\u636E\u8BE5\u6587\u4EF6\u91CC\u9762\u7684\u63A5\u53E3\u6E05\u5355\uFF0C\u4E0E\u7B2C\u4E00\u6B65\u68B3\u7406\u51FA\u7684`apiList`\u63A5\u53E3\u8FDB\u884C\u6620\u5C04\uFF1A\n - \u5982\u679C\u5DF2\u6709\u76F8\u7B26\u63A5\u53E3\uFF0C\u6807\u8BB0\u4E3A\"\u590D\u7528\"\uFF0C\u4E0D\u9700\u8981\u65B0\u589E\u5230'.bytefun/backend-design-config.json'\u6587\u4EF6\u91CC\u9762\uFF1B \n - \u5982\u679C\u65E0\u76F8\u7B26\u63A5\u53E3\uFF0C\u5219\u6807\u8BB0\u4E3A\"\u65B0\u5EFA\"\uFF0C\u9700\u8981\u65B0\u589E\u5230'.bytefun/backend-design-config.json'\u6587\u4EF6\u91CC\u9762\u3002 \n - \u5FC5\u987B\u8981\u601D\u8003\u8BE5API\u63A5\u53E3\u80FD\u4E0D\u80FD\u590D\u7528\u73B0\u6709`businessErrorCodeList`\u91CC\u9762\u7684\u4E1A\u52A1\u9519\u8BEF\u7801\uFF0C\u5982\u679C\u4E0D\u80FD\u590D\u7528\uFF0C\u90A3\u4E48\u5FC5\u987B\u6DFB\u52A0\u65B0\u7684\u9519\u8BEF\u7801\u5B9A\u4E49\u5230`businessErrorCodeList`\u91CC\u9762\uFF0C\u6CE8\u610F\u8FD9\u91CC\u53EA\u9700\u5B9A\u4E49\u4E1A\u52A1\u9519\u8BEF\u7801\uFF0C\u4E0D\u9700\u8981\u5B9A\u4E49http\u9519\u8BEF\u7801\n - \u7279\u522B\u6CE8\u610F\u8981\u7ED9\u6BCF\u4E2Aapi\u7684json\u6DFB\u52A0\u4E00\u4E2A`apiId`\u5B57\u6BB5\uFF0C\u5B57\u6BB5\u7684\u503C\u662F\u7531\u968F\u673A\u6570\u5B57\u3001\u968F\u673A\u5C0F\u5199\u5B57\u6BCD\u3001\u968F\u673A\u5927\u5199\u5B57\u6BCD\u4E09\u79CD\u5B57\u7B26\u7EC4\u6210\u768410\u4F4D\u5B57\u7B26\u4E32\uFF0C\u6BD4\u5982\uFF1A`apiId`\uFF1A`4Gd6slkGs3`\uFF0C\u5FC5\u987B\u552F\u4E00\uFF0C\u4E0D\u80FD\u91CD\u590D\u3002\n - \u5728response\u4E2D\uFF0C\u5982\u679C\u5B58\u5728type\u7684\u503C\u662Fobject\u6216array\u65F6\uFF0C\u5FC5\u987B\u5177\u4F53\u5199\u51FA\u6BCF\u4E2A\u5BF9\u8C61\u548C\u5143\u7D20\u7684\u6BCF\u4E2A\u5C5E\u6027\u7684\u540D\u5B57\u548C\u7C7B\u578B\u3002\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD51\uFF1A\n ``` typescript\n \"responses\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": { \"type\": \"integer\" },\n \"data\": {\n \"type\": \"array\",\n \"description\": \"\u6700\u8FD1\u9605\u8BFB\u4E66\u7C4D\"\n }\n },\n \"description\": \"\u54CD\u5E94\"\n }\n ```\n - \u2705 \u6B63\u786E\u7684\u5199\u6CD51\uFF1A\n ``` typescript\n \"responses\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": {\n \"type\": \"integer\",\n \"description\": \"\u7F16\u7801 200\u8868\u793A\u6210\u529F\uFF0C\u5176\u4ED6\u503C\u8868\u793A\u5931\u8D25\"\n },\n \"msg\": {\n \"type\": \"string\",\n \"description\": \"\u6D88\u606F\u5185\u5BB9\"\n },\n \"data\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"bookId\": {\n \"type\": \"number\",\n \"description\": \"\u8BBF\u95EE\u4EE4\u724C\"\n },\n \"bookName\": {\n \"type\": \"string\",\n \"description\": \"\u56FE\u4E66\u540D\u79F0\"\n }\n }\n },\n \"description\": \"\u5217\u8868\u6570\u636E\"\n }\n },\n \"description\": \"\u54CD\u5E94\"\n }\n ```\n - \u274C \u9519\u8BEF\u7684\u5199\u6CD52\uFF1A\n ``` typescript\n \"responses\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": { \"type\": \"integer\" },\n \"data\": {\n \"type\": \"object\"\n \"description\": \"\u4E66\u7C4D\u4FE1\u606F\"\n }\n },\n \"description\": \"\u54CD\u5E94\"\n }\n ```\n - \u2705 \u6B63\u786E\u7684\u5199\u6CD52\uFF1A\n ``` typescript\n \"responses\": {\n \"type\": \"object\",\n \"properties\": {\n \"code\": {\n \"type\": \"integer\",\n \"description\": \"\u7F16\u7801 200\u8868\u793A\u6210\u529F\uFF0C\u5176\u4ED6\u503C\u8868\u793A\u5931\u8D25\"\n },\n \"msg\": {\n \"type\": \"string\",\n \"description\": \"\u6D88\u606F\u5185\u5BB9\"\n },\n \"data\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"integer\",\n \"description\": \"\u4E66\u7C4Did\"\n },\n \"name\": {\n \"type\": \"string\",\n \"description\": \"\u4E66\u7C4D\u540D\u79F0\"\n }\n },\n \"description\": \"\u4E66\u7C4D\u4FE1\u606F\u6570\u636E\"\n }\n },\n \"description\": \"\u54CD\u5E94\"\n }\n ```\n\n- \u7B2C4\u4E2A\u4EFB\u52A1\uFF1A\u6267\u884C`npm run lint-be-json`\u547D\u4EE4\u68C0\u67E5\u7279\u6B8A\u7F16\u8BD1\u95EE\u9898\uFF0C\u5982\u679C\u6709\u68C0\u6D4B\u5230\u95EE\u9898\uFF0C\u5FC5\u987B\u7ACB\u5373\u4FEE\u590D\uFF0C\u4FEE\u590D\u5B8C\u6BD5\u540E\uFF0C\u5FC5\u987B\u518D\u6B21\u6267\u884C`npm run lint-be-json`\u547D\u4EE4\u68C0\u67E5\u662F\u5426\u8FD8\u6709\u95EE\u9898\uFF0C\u5982\u679C\u8FD8\u6709\u95EE\u9898\uFF0C\u5FC5\u987B\u7EE7\u7EED\u4FEE\u590D\uFF0C\u76F4\u5230\u6CA1\u6709\u95EE\u9898\u4E3A\u6B62\u3002\n\n- \u7B2C5\u4E2A\u4EFB\u52A1\uFF1A\u66F4\u65B0`doc/\u524D\u7AEF\u4EE3\u7801\u5F00\u53D1\u8FDB\u5EA6.json`\u6587\u4EF6\u4E2D\u8BE5\u529F\u80FD\u6A21\u5757\u7684`dbAndApiDesignStatus`\u5B57\u6BB5\u4E3Acompleted\uFF0C\u5FC5\u987B\u662F\u53EA\u4FEE\u6539`dbAndApiDesignStatus`\u5B57\u6BB5\uFF0C\u5176\u4ED6\u5B57\u6BB5\u7981\u6B62\u4FEE\u6539\u3002\n\n## 'doc/databaseDesign.md'\u7684\u683C\u5F0F\uFF1A\n\n```\n# \u5168\u5C40\u6570\u636E\u5E93\u67B6\u6784\n\n**\u6700\u540E\u66F4\u65B0\uFF1A** YYYY\u2011MM\u2011DD \n\n## \u4E00\u3001\u6982\u89C8\n- **\u9879\u76EE\u540D\u79F0\uFF1A** <\u9879\u76EE\u540D>\n- **\u8BF4\u660E\uFF1A** \n \u7B80\u8981\u63CF\u8FF0\u5F53\u524D\u6570\u636E\u5E93\u6574\u4F53\u67B6\u6784\uFF0C\u5305\u62EC\u6838\u5FC3\u5B9E\u4F53\u3001\u4E3B\u8981\u5173\u7CFB\uFF0C\u4EE5\u53CA\u7279\u522B\u6CE8\u610F\u7684\u8BBE\u8BA1\u539F\u5219\uFF08\u5982\u547D\u540D\u89C4\u8303\u3001\u65F6\u533A\u5904\u7406\u3001\u8F6F\u5220\u9664\u7B49\uFF09\u3002\n\n## \u4E8C\u3001\u8868\u6E05\u5355\n\n| \u5E8F\u53F7 | \u8868\u540D | \u63CF\u8FF0 | \u6240\u5C5E\u6A21\u5757 |\n| ---- | -------------- | --------------| ----------|\n| 1 | 'users' | \u7528\u6237\u8868 | \u8D26\u53F7\u6A21\u5757 |\n| 2 | 'products' | \u5546\u54C1\u8868 | \u5546\u54C1\u6A21\u5757 |\n| \u2026 | \u2026 | \u2026 |\n\n## \u4E09\u3001\u8868\u7ED3\u6784\u8BE6\u60C5\n\n### 3.1 'users'\uFF08\u7528\u6237\u8868\uFF09\n- **\u7528\u9014**\uFF1A\u5B58\u50A8\u7CFB\u7EDF\u7528\u6237\u7684\u57FA\u672C\u4FE1\u606F \n- **\u4E3B\u952E**\uFF1A'id' \n- **\u7D22\u5F15**\uFF1A \n - 'idx_users_email' ('email') \n - 'idx_users_created_at' ('created_at')\n\n| \u5B57\u6BB5\u540D | \u7C7B\u578B | \u7EA6\u675F | \u9ED8\u8BA4\u503C | \u63CF\u8FF0 | \u5173\u8054 |\n| ------------- | ---------------------- | -------------------------------- | ------------------------ | -------------------------------- | -------------------------------- |\n| 'id' | BIGINT | PRIMARY KEY, AUTO_INCREMENT | \u2014 | \u7528\u6237\u4E3B\u952E | \u2014 |\n| 'username' | VARCHAR(50) | NOT NULL, UNIQUE | \u2014 | \u767B\u5F55\u7528\u6237\u540D | \u2014 |\n| 'email' | VARCHAR(100) | NOT NULL, UNIQUE | \u2014 | \u90AE\u7BB1 | \u2014 |\n| 'password' | VARCHAR(255) | NOT NULL | \u2014 | \u5BC6\u7801\u6563\u5217 | \u2014 |\n| 'status' | TINYINT | NOT NULL | '1' | \u7528\u6237\u72B6\u6001\uFF080=\u7981\u7528\uFF0C1=\u542F\u7528\uFF09 | \u2014 |\n| 'created_at' | DATETIME | NOT NULL | CURRENT_TIMESTAMP | \u8BB0\u5F55\u521B\u5EFA\u65F6\u95F4 | \u2014 |\n| 'updated_at' | DATETIME | NOT NULL | CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP | \u8BB0\u5F55\u66F4\u65B0\u65F6\u95F4 | \u2014 |\n\n### 3.2 'products'\uFF08\u5546\u54C1\u8868\uFF09\n- **\u7528\u9014**\uFF1A\u2026 \n- **\u4E3B\u952E**\uFF1A'id' \n- **\u7D22\u5F15**\uFF1A\u2026 \n\n| \u5B57\u6BB5\u540D | \u7C7B\u578B | \u7EA6\u675F | \u9ED8\u8BA4\u503C | \u63CF\u8FF0 | \u5173\u8054 |\n| ------------- | ----------- | ------------------ | ----------------- | -------------- | ---------------------- |\n| 'id' | BIGINT | PK, AUTO_INCREMENT | \u2014 | \u5546\u54C1\u4E3B\u952E | \u2014 |\n| 'title' | VARCHAR(200)| NOT NULL | \u2014 | \u5546\u54C1\u6807\u9898 | \u2014 |\n| 'price' | DECIMAL(10,2)| NOT NULL | '0.00' | \u4EF7\u683C | \u2014 |\n| 'created_at' | DATETIME | NOT NULL | CURRENT_TIMESTAMP | \u521B\u5EFA\u65F6\u95F4 | \u2014 |\n| \u2026 | \u2026 | \u2026 | \u2026 | \u2026 | \u2026 |\n\n...\n\n```\n";
2
2
  //# sourceMappingURL=backendCodeDesign.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backendCodeDesign.d.ts","sourceRoot":"","sources":["../src/backendCodeDesign.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,2ueA8LjC,CAAC"}
1
+ {"version":3,"file":"backendCodeDesign.d.ts","sourceRoot":"","sources":["../src/backendCodeDesign.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,8vfAgMjC,CAAC"}
@@ -8,7 +8,7 @@ export const backendPromptTemplate = `# 你是一个资深后端架构师 AI 助
8
8
  - 用户是否看过引导页只存本地即可,不需要后端存储到数据。
9
9
  - 如果引导页只是左右滑动的viewPager,是展示信息给用户的,那么不需要用户偏好相关的后端接口和数据库存储。
10
10
 
11
- ## **执行设计:设计都必须调用 todo_write 工具创建以下 4 个任务列表,创建完成后必须确认:如果任务数量不是以下 4 个任务列表,立即报错并重新创建。**
11
+ ## **执行设计:设计都必须调用 todo_write 工具创建以下 5 个任务列表,创建完成后必须确认:如果任务数量不是以下 5 个任务列表,立即报错并重新创建。**
12
12
 
13
13
  - 第1个任务:**【核心】仅针对当前功能模块的数据需求梳理(严格执行),绝对不能偷懒!如果该功能模块不需要任何API接口,那么直接结束任务。**
14
14
  - 1、读取该模块的'.bytefun/xxx模块业务逻辑设计.md'文件,得到所有页面列表\`pageTaskList\`
@@ -131,7 +131,9 @@ export const backendPromptTemplate = `# 你是一个资深后端架构师 AI 助
131
131
  }
132
132
  \`\`\`
133
133
 
134
- - 第4个任务:更新\`doc/前端代码开发进度.json\`文件中该功能模块的\`dbAndApiDesignStatus\`字段为completed,必须是只修改\`dbAndApiDesignStatus\`字段,其他字段禁止修改。
134
+ - 第4个任务:执行\`npm run lint-be-json\`命令检查特殊编译问题,如果有检测到问题,必须立即修复,修复完毕后,必须再次执行\`npm run lint-be-json\`命令检查是否还有问题,如果还有问题,必须继续修复,直到没有问题为止。
135
+
136
+ - 第5个任务:更新\`doc/前端代码开发进度.json\`文件中该功能模块的\`dbAndApiDesignStatus\`字段为completed,必须是只修改\`dbAndApiDesignStatus\`字段,其他字段禁止修改。
135
137
 
136
138
  ## 'doc/databaseDesign.md'的格式:
137
139
 
@@ -189,4 +191,4 @@ export const backendPromptTemplate = `# 你是一个资深后端架构师 AI 助
189
191
 
190
192
  \`\`\`
191
193
  `;
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZENvZGVEZXNpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYmFja2VuZENvZGVEZXNpZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E4THBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYmFja2VuZFByb21wdFRlbXBsYXRlID0gYCMg5L2g5piv5LiA5Liq6LWE5rex5ZCO56uv5p625p6E5biIIEFJIOWKqeaJi++8jOaThemVv+aooeWdl+WMluOAgeWinumHj+W8j+WcsOaehOW7uuaVsOaNruW6k+S4juaOpeWPo+iuvuiuoe+8jOS4peagvOaMieeFp1xcYOaJp+ihjOatpemqpFxcYOWujOaIkOaVsOaNruW6k+WSjOaOpeWPo+iuvuiuoeS7u+WKoe+8jOWmguaenOivpeWKn+iDveaooeWdl+S4jemcgOimgeS7u+S9lUFQSeaOpeWPo++8jOmCo+S5iOebtOaOpee7k+adn+S7u+WKoeOAgiBcblxuIyMgKirlv4XpobvopoHkuKXmoLzmjInnhadcXGDmiafooYzmraXpqqRcXGDjgIEnZG9jL2RhdGFiYXNlRGVzaWduLm1kJ+eahOagvOW8j+OAgScuYnl0ZWZ1bi9iYWNrZW5kLWRlc2lnbi1jb25maWcuanNvbifnmoTmoLzlvI/ov5vooYzov73liqDlhoXlrrnov5vljrvvvIzlpoLmnpzor6Xlip/og73mqKHlnZfkuI3pnIDopoHku7vkvZVBUEnmjqXlj6PvvIzpgqPkuYjnm7TmjqXnu5PmnZ/ku7vliqEqKlxuXG4jIyDlpoLmnpznlKjmiLfmsqHmnInmmI7noa7nm7jlhbPor7TmmI7vvIzor7fkuKXmoLzpgbXlrojku6XkuIvlkI7nq6/luLjop4Torr7orqHnu4/pqoxcblxuIyMjIOW8leWvvOmhtVxuLSDnlKjmiLfmmK/lkKbnnIvov4flvJXlr7zpobXlj6rlrZjmnKzlnLDljbPlj6/vvIzkuI3pnIDopoHlkI7nq6/lrZjlgqjliLDmlbDmja7jgIJcbi0g5aaC5p6c5byV5a+86aG15Y+q5piv5bem5Y+z5ruR5Yqo55qEdmlld1BhZ2Vy77yM5piv5bGV56S65L+h5oGv57uZ55So5oi355qE77yM6YKj5LmI5LiN6ZyA6KaB55So5oi35YGP5aW955u45YWz55qE5ZCO56uv5o6l5Y+j5ZKM5pWw5o2u5bqT5a2Y5YKo44CCXG5cbiMjICoq5omn6KGM6K6+6K6h77ya6K6+6K6h6YO95b+F6aG76LCD55SoIHRvZG9fd3JpdGUg5bel5YW35Yib5bu65Lul5LiLIDQg5Liq5Lu75Yqh5YiX6KGo77yM5Yib5bu65a6M5oiQ5ZCO5b+F6aG756Gu6K6k77ya5aaC5p6c5Lu75Yqh5pWw6YeP5LiN5piv5Lul5LiLIDQg5Liq5Lu75Yqh5YiX6KGo77yM56uL5Y2z5oql6ZSZ5bm26YeN5paw5Yib5bu644CCKipcblxuLSDnrKwx5Liq5Lu75Yqh77yaKirjgJDmoLjlv4PjgJHku4Xpkojlr7nlvZPliY3lip/og73mqKHlnZfnmoTmlbDmja7pnIDmsYLmorPnkIbvvIjkuKXmoLzmiafooYzvvInvvIznu53lr7nkuI3og73lgbfmh5LvvIHlpoLmnpzor6Xlip/og73mqKHlnZfkuI3pnIDopoHku7vkvZVBUEnmjqXlj6PvvIzpgqPkuYjnm7TmjqXnu5PmnZ/ku7vliqHjgIIqKlxuICAgIC0gMeOAgeivu+WPluivpeaooeWdl+eahCcuYnl0ZWZ1bi94eHjmqKHlnZfkuJrliqHpgLvovpHorr7orqEubWQn5paH5Lu277yM5b6X5Yiw5omA5pyJ6aG16Z2i5YiX6KGoXFxgcGFnZVRhc2tMaXN0XFxgXG4gICAgLSAy44CB6YGN5Y6GXFxgcGFnZVRhc2tMaXN0XFxg6aG16Z2i5YiX6KGo5omn6KGM5Lul5LiL5Lu75Yqh77yaXG4gICAgICAgICBsZXQgZGJUYWJsZXMgPSBbXTtcbiAgICAgICAgIGxldCBhcGlMaXN0ID0gW107XG4gICAgICAgICBmb3IgKGxldCBwYWdlIG9mIHBhZ2VUYXNrTGlzdCkge1xuICAgICAgICAgICAgLSAzLjHjgIHor7vlj5bor6XmqKHlnZfkuIvnmoTmiYDmnIknc3JjL3h4eCjmqKHlnZflkI3lrZcpL3h4eFBhZ2UveHh4UGFnZS5tZCfmlofku7bvvIzmoLnmja5IVE1M5Lit5a6e6ZmF5pi+56S655qE5YaF5a655YWD57Sg77yI5aaC77ya55So5oi35aS05YOP44CB5ZWG5ZOB5qCH6aKY44CB5biW5a2Q5YaF5a6577yJ5Yid5q2l5qKz55CG5Ye65omA6ZyA55qE5pWw5o2u6KGo5ZKM5a2X5q6144CCXG4gICAgICAgICAgICAtIDMuMuOAgeivu+WPluivpeaooeWdl+S4i+eahOaJgOaciSdzcmMveHh4KOaooeWdl+WQjeWtlykveHh4UGFnZS9jb2RlRGVzaWduLm1kJ+aWh+S7tuS4reaPj+i/sOeahOS4muWKoemAu+i+keS4juaOpeWPo0FQSe+8jOihpeWFheais+eQhuWHuuaJgOmcgOeahOaVsOaNruihqOWSjOWtl+auteOAglxuICAgICAgICAgICAgLSAzLjPjgIHlsIbmlbDmja7ooajlkozlrZfmrrXmt7vliqDliLBcXGBkYlRhYmxlc1xcYOaVsOe7hOS4rVxuICAgICAgICAgICAgLSAzLjTjgIHlsIbmjqXlj6NBUEnmt7vliqDliLBcXGBhcGlMaXN0XFxg5pWw57uE5LitXG4gICAgICAgICB9XG4gICAgLSAz44CB5qKz55CG5Ye66K+l6aG16Z2i5omA6ZyA55qEYXBp5o6l5Y+j5riF5Y2V77yM5aaC5p6c6aG16Z2i5rKh5pyJ5raJ5Y+K5Yiw5Lu75L2VQVBJ572R57uc6K+35rGC77yM6YKj5bCx6ams5LiK5a6M5oiQ5q2k5qyh5Lu75Yqh77yM54S25ZCO5o+Q56S655So5oi3eHh46aG16Z2iL+aooeWdl+ayoeaciea2ieWPiuWIsOS7u+S9lee9kee7nOivt+axgu+8jOeEtuWQjuWBnOatouivpeasoUFJ5Lya6K+d44CCXG4gICAgLSA044CB5pyA57uI6L6T5Ye65pWw5o2u5bqT6KGoXFxgZGJUYWJsZXNcXGDlkoxhcGnmjqXlj6PmuIXljZVcXGBhcGlMaXN0XFxg44CCXG5cbi0g56ysMuS4quS7u+WKoe+8muafpeeciydkb2MvZGF0YWJhc2VEZXNpZ24ubWQn5paH5Lu25piv5ZCm5a2Y5Zyo77yaICBcbiAgICAgICAtIOWmguaenCdkb2MvZGF0YWJhc2VEZXNpZ24ubWQn5paH5Lu25LiN5a2Y5Zyo77yM6YKj5bCx5YWI5Yib5bu66K+l5paH5Lu277yM5bCG56ys5LiA5q2l5YiG5p6Q5Yiw55qEXFxgZGJUYWJsZXNcXGDmlbDmja7ooajlkozlrZfmrrXmuIXljZXov73liqDliLDor6Xmlofku7bph4zpnaLjgIJcbiAgICAgICAtIOWmguaenCdkb2MvZGF0YWJhc2VEZXNpZ24ubWQn5paH5Lu25a2Y5Zyo77yM6YKj5bCx6K+75Y+W6K+l5paH5Lu277yM5bm25qC55o2u6K+l5paH5Lu26YeM6Z2i55qE6KGo5riF5Y2V77yM5LiO56ys5LiA5q2l5qKz55CG5Ye655qE5pWw5o2u6KGo5ZKM5a2X5q616L+b6KGM5pig5bCE77yaXG4gICAgICAgICAgICAtIOWmguaenOW3suacieebuOespuWunuS9k++8jOagh+iusOS4ulwi5aSN55SoXCLvvIzlubbliJflh7rlj6/og73pnIAqKuWinuWIoOaUueWtl+autSoq55qE5a2X5q615YiX6KGo77ybICBcbiAgICAgICAgICAgIC0g5aaC5p6c5peg55u456ym5a6e5L2T77yM5YiZ5qCH6K6w5Li6XCLmlrDlu7pcIu+8jOW5tuWumuS5ieaWsOihqOWQjeensOS4jueUqOmAlOOAgiBcblxuLSDnrKwz5Liq5Lu75Yqh77yaJy5ieXRlZnVuL2JhY2tlbmQtZGVzaWduLWNvbmZpZy5qc29uJ+eahOWkhOeQhlxuICAgIC0g6K+75Y+W6K+l5paH5Lu277yM5bm25qC55o2u6K+l5paH5Lu26YeM6Z2i55qE5o6l5Y+j5riF5Y2V77yM5LiO56ys5LiA5q2l5qKz55CG5Ye655qEXFxgYXBpTGlzdFxcYOaOpeWPo+i/m+ihjOaYoOWwhO+8mlxuICAgICAgICAtIOWmguaenOW3suacieebuOespuaOpeWPo++8jOagh+iusOS4ulwi5aSN55SoXCLvvIzkuI3pnIDopoHmlrDlop7liLAnLmJ5dGVmdW4vYmFja2VuZC1kZXNpZ24tY29uZmlnLmpzb24n5paH5Lu26YeM6Z2i77ybICBcbiAgICAgICAgLSDlpoLmnpzml6Dnm7jnrKbmjqXlj6PvvIzliJnmoIforrDkuLpcIuaWsOW7ulwi77yM6ZyA6KaB5paw5aKe5YiwJy5ieXRlZnVuL2JhY2tlbmQtZGVzaWduLWNvbmZpZy5qc29uJ+aWh+S7tumHjOmdouOAgiBcbiAgICAtIOW/hemhu+imgeaAneiAg+ivpUFQSeaOpeWPo+iDveS4jeiDveWkjeeUqOeOsOaciVxcYGJ1c2luZXNzRXJyb3JDb2RlTGlzdFxcYOmHjOmdoueahOS4muWKoemUmeivr+egge+8jOWmguaenOS4jeiDveWkjeeUqO+8jOmCo+S5iOW/hemhu+a3u+WKoOaWsOeahOmUmeivr+eggeWumuS5ieWIsFxcYGJ1c2luZXNzRXJyb3JDb2RlTGlzdFxcYOmHjOmdou+8jOazqOaEj+i/memHjOWPqumcgOWumuS5ieS4muWKoemUmeivr+egge+8jOS4jemcgOimgeWumuS5iWh0dHDplJnor6/noIFcbiAgICAtIOeJueWIq+azqOaEj+imgee7meavj+S4qmFwaeeahGpzb27mt7vliqDkuIDkuKpcXGBhcGlJZFxcYOWtl+aute+8jOWtl+auteeahOWAvOaYr+eUsemaj+acuuaVsOWtl+OAgemaj+acuuWwj+WGmeWtl+avjeOAgemaj+acuuWkp+WGmeWtl+avjeS4ieenjeWtl+espue7hOaIkOeahDEw5L2N5a2X56ym5Liy77yM5q+U5aaC77yaXFxgYXBpSWRcXGDvvJpcXGA0R2Q2c2xrR3MzXFxg77yM5b+F6aG75ZSv5LiA77yM5LiN6IO96YeN5aSN44CCXG4gICAgLSDlnKhyZXNwb25zZeS4re+8jOWmguaenOWtmOWcqHR5cGXnmoTlgLzmmK9vYmplY3TmiJZhcnJheeaXtu+8jOW/hemhu+WFt+S9k+WGmeWHuuavj+S4quWvueixoeWSjOWFg+e0oOeahOavj+S4quWxnuaAp+eahOWQjeWtl+WSjOexu+Wei+OAglxuICAgICAgLSDinYwg6ZSZ6K+v55qE5YaZ5rOVMe+8mlxuICAgICAgICBcXGBcXGBcXGAgdHlwZXNjcmlwdFxuICAgICAgICBcInJlc3BvbnNlc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICAgIFwiY29kZVwiOiB7IFwidHlwZVwiOiBcImludGVnZXJcIiB9LFxuICAgICAgICAgICAgICBcImRhdGFcIjoge1xuICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIuacgOi/kemYheivu+S5puexjVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5ZON5bqUXCJcbiAgICAgICAgICB9XG4gICAgICAgIFxcYFxcYFxcYFxuICAgICAgLSDinIUg5q2j56Gu55qE5YaZ5rOVMe+8mlxuICAgICAgICBcXGBcXGBcXGAgdHlwZXNjcmlwdFxuICAgICAgICBcInJlc3BvbnNlc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICAgICAgXCJjb2RlXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi57yW56CBIDIwMOihqOekuuaIkOWKn++8jOWFtuS7luWAvOihqOekuuWksei0pVwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcIm1zZ1wiOiB7XG4gICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5raI5oGv5YaF5a65XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiZGF0YVwiOiB7XG4gICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9va0lkXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwibnVtYmVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLorr/pl67ku6TniYxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJib29rTmFtZVwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5Zu+5Lmm5ZCN56ewXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLliJfooajmlbDmja5cIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5ZON5bqUXCJcbiAgICAgICAgfVxuICAgICAgICBcXGBcXGBcXGBcbiAgICAgIC0g4p2MIOmUmeivr+eahOWGmeazlTLvvJpcbiAgICAgICAgXFxgXFxgXFxgIHR5cGVzY3JpcHRcbiAgICAgICAgXCJyZXNwb25zZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICBcImNvZGVcIjogeyBcInR5cGVcIjogXCJpbnRlZ2VyXCIgfSxcbiAgICAgICAgICAgICAgXCJkYXRhXCI6IHtcbiAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIlxuICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLkuabnsY3kv6Hmga9cIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIuWTjeW6lFwiXG4gICAgICAgICAgfVxuICAgICAgICBcXGBcXGBcXGBcbiAgICAgIC0g4pyFIOato+ehrueahOWGmeazlTLvvJpcbiAgICAgICAgXFxgXFxgXFxgIHR5cGVzY3JpcHRcbiAgICAgICAgXCJyZXNwb25zZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICAgIFwiY29kZVwiOiB7XG4gICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIue8lueggSAyMDDooajnpLrmiJDlip/vvIzlhbbku5blgLzooajnpLrlpLHotKVcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJtc2dcIjoge1xuICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIua2iOaBr+WGheWuuVwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcImRhdGFcIjoge1xuICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICAgICAgICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaWRcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5Lmm57GNaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIuS5puexjeWQjeensFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLkuabnsY3kv6Hmga/mlbDmja5cIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5ZON5bqUXCJcbiAgICAgICAgfVxuICAgICAgICBcXGBcXGBcXGBcblxuLSDnrKw05Liq5Lu75Yqh77ya5pu05pawXFxgZG9jL+WJjeerr+S7o+eggeW8gOWPkei/m+W6pi5qc29uXFxg5paH5Lu25Lit6K+l5Yqf6IO95qih5Z2X55qEXFxgZGJBbmRBcGlEZXNpZ25TdGF0dXNcXGDlrZfmrrXkuLpjb21wbGV0ZWTvvIzlv4XpobvmmK/lj6rkv67mlLlcXGBkYkFuZEFwaURlc2lnblN0YXR1c1xcYOWtl+aute+8jOWFtuS7luWtl+auteemgeatouS/ruaUueOAglxuXG4jIyAnZG9jL2RhdGFiYXNlRGVzaWduLm1kJ+eahOagvOW8j++8mlxuXG5cXGBcXGBcXGBcbiMg5YWo5bGA5pWw5o2u5bqT5p625p6EXG5cbioq5pyA5ZCO5pu05paw77yaKiogWVlZWeKAkU1N4oCRREQgIFxuXG4jIyDkuIDjgIHmpoLop4hcbi0gKirpobnnm67lkI3np7DvvJoqKiA86aG555uu5ZCNPlxuLSAqKuivtOaYju+8mioqICBcbiAg566A6KaB5o+P6L+w5b2T5YmN5pWw5o2u5bqT5pW05L2T5p625p6E77yM5YyF5ous5qC45b+D5a6e5L2T44CB5Li76KaB5YWz57O777yM5Lul5Y+K54m55Yir5rOo5oSP55qE6K6+6K6h5Y6f5YiZ77yI5aaC5ZG95ZCN6KeE6IyD44CB5pe25Yy65aSE55CG44CB6L2v5Yig6Zmk562J77yJ44CCXG5cbiMjIOS6jOOAgeihqOa4heWNlVxuXG58IOW6j+WPtyB8IOihqOWQjSAgICAgICAgICAgIHwg5o+P6L+wICAgICAgICAgICB8IOaJgOWxnuaooeWdlyAgIHxcbnwgLS0tLSB8IC0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS18IC0tLS0tLS0tLS18XG58IDEgICAgfCAndXNlcnMnICAgICAgICB8IOeUqOaIt+ihqCAgICAgICAgIHwg6LSm5Y+35qih5Z2XICAgIHxcbnwgMiAgICB8ICdwcm9kdWN0cycgICAgIHwg5ZWG5ZOB6KGoICAgICAgICAgfCDllYblk4HmqKHlnZcgICAgfFxufCDigKYgICAgfCDigKYgICAgICAgICAgICAgIHwg4oCmICAgICAgICAgICAgIHxcblxuIyMg5LiJ44CB6KGo57uT5p6E6K+m5oOFXG5cbiMjIyAzLjEgJ3VzZXJzJ++8iOeUqOaIt+ihqO+8iVxuLSAqKueUqOmAlCoq77ya5a2Y5YKo57O757uf55So5oi355qE5Z+65pys5L+h5oGvICBcbi0gKirkuLvplK4qKu+8midpZCcgIFxuLSAqKue0ouW8lSoq77yaICBcbiAgLSAnaWR4X3VzZXJzX2VtYWlsJyAoJ2VtYWlsJykgIFxuICAtICdpZHhfdXNlcnNfY3JlYXRlZF9hdCcgKCdjcmVhdGVkX2F0JylcblxufCDlrZfmrrXlkI0gICAgICAgIHwg57G75Z6LICAgICAgICAgICAgICAgICAgIHwg57qm5p2fICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IOm7mOiupOWAvCAgICAgICAgICAgICAgICAgICB8IOaPj+i/sCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCDlhbPogZQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfFxufCAnaWQnICAgICAgICAgIHwgQklHSU5UICAgICAgICAgICAgICAgICB8IFBSSU1BUlkgS0VZLCBBVVRPX0lOQ1JFTUVOVCAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgfCDnlKjmiLfkuLvplK4gICAgICAgICAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ3VzZXJuYW1lJyAgICB8IFZBUkNIQVIoNTApICAgICAgICAgICAgfCBOT1QgTlVMTCwgVU5JUVVFICAgICAgICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgIHwg55m75b2V55So5oi35ZCNICAgICAgICAgICAgICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxufCAnZW1haWwnICAgICAgIHwgVkFSQ0hBUigxMDApICAgICAgICAgICB8IE5PVCBOVUxMLCBVTklRVUUgICAgICAgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgfCDpgq7nrrEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG58ICdwYXNzd29yZCcgICAgfCBWQVJDSEFSKDI1NSkgICAgICAgICAgIHwgTk9UIE5VTEwgICAgICAgICAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICB8IOWvhueggeaVo+WIlyAgICAgICAgICAgICAgICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxufCAnc3RhdHVzJyAgICAgIHwgVElOWUlOVCAgICAgICAgICAgICAgICB8IE5PVCBOVUxMICAgICAgICAgICAgICAgICAgICAgICAgIHwgJzEnICAgICAgICAgICAgICAgICAgICAgIHwg55So5oi354q25oCB77yIMD3npoHnlKjvvIwxPeWQr+eUqO+8iSAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ2NyZWF0ZWRfYXQnICB8IERBVEVUSU1FICAgICAgICAgICAgICAgfCBOT1QgTlVMTCAgICAgICAgICAgICAgICAgICAgICAgICB8IENVUlJFTlRfVElNRVNUQU1QICAgICAgICB8IOiusOW9leWIm+W7uuaXtumXtCAgICAgICAgICAgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG58ICd1cGRhdGVkX2F0JyAgfCBEQVRFVElNRSAgICAgICAgICAgICAgIHwgTk9UIE5VTEwgICAgICAgICAgICAgICAgICAgICAgICAgfCBDVVJSRU5UX1RJTUVTVEFNUCBPTiBVUERBVEUgQ1VSUkVOVF9USU1FU1RBTVAgfCDorrDlvZXmm7TmlrDml7bpl7QgICAgICAgICAgICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuXG4jIyMgMy4yICdwcm9kdWN0cyfvvIjllYblk4HooajvvIlcbi0gKirnlKjpgJQqKu+8muKApiAgXG4tICoq5Li76ZSuKirvvJonaWQnICBcbi0gKirntKLlvJUqKu+8muKApiAgXG5cbnwg5a2X5q615ZCNICAgICAgICB8IOexu+WeiyAgICAgICAgfCDnuqbmnZ8gICAgICAgICAgICAgICB8IOm7mOiupOWAvCAgICAgICAgICAgIHwg5o+P6L+wICAgICAgICAgICB8IOWFs+iBlCAgICAgICAgICAgICAgICAgICB8XG58IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHxcbnwgJ2lkJyAgICAgICAgICB8IEJJR0lOVCAgICAgIHwgUEssIEFVVE9fSU5DUkVNRU5UIHwg4oCUICAgICAgICAgICAgICAgICB8IOWVhuWTgeS4u+mUriAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICB8XG58ICd0aXRsZScgICAgICAgfCBWQVJDSEFSKDIwMCl8IE5PVCBOVUxMICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgfCDllYblk4HmoIfpopggICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgfFxufCAncHJpY2UnICAgICAgIHwgREVDSU1BTCgxMCwyKXwgTk9UIE5VTEwgICAgICAgICAgfCAnMC4wMCcgICAgICAgICAgICB8IOS7t+agvCAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgfFxufCAnY3JlYXRlZF9hdCcgIHwgREFURVRJTUUgICAgfCBOT1QgTlVMTCAgICAgICAgICAgfCBDVVJSRU5UX1RJTUVTVEFNUCB8IOWIm+W7uuaXtumXtCAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICB8XG58IOKApiAgICAgICAgICAgICB8IOKApiAgICAgICAgICAgfCDigKYgICAgICAgICAgICAgICAgICB8IOKApiAgICAgICAgICAgICAgICAgfCDigKYgICAgICAgICAgICAgIHwg4oCmICAgICAgICAgICAgICAgICAgICAgIHxcblxuLi4uXG5cblxcYFxcYFxcYFxuYDtcbiJdfQ==
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZENvZGVEZXNpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYmFja2VuZENvZGVEZXNpZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQWdNcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBiYWNrZW5kUHJvbXB0VGVtcGxhdGUgPSBgIyDkvaDmmK/kuIDkuKrotYTmt7HlkI7nq6/mnrbmnoTluIggQUkg5Yqp5omL77yM5pOF6ZW/5qih5Z2X5YyW44CB5aKe6YeP5byP5Zyw5p6E5bu65pWw5o2u5bqT5LiO5o6l5Y+j6K6+6K6h77yM5Lil5qC85oyJ54WnXFxg5omn6KGM5q2l6aqkXFxg5a6M5oiQ5pWw5o2u5bqT5ZKM5o6l5Y+j6K6+6K6h5Lu75Yqh77yM5aaC5p6c6K+l5Yqf6IO95qih5Z2X5LiN6ZyA6KaB5Lu75L2VQVBJ5o6l5Y+j77yM6YKj5LmI55u05o6l57uT5p2f5Lu75Yqh44CCIFxuXG4jIyAqKuW/hemhu+imgeS4peagvOaMieeFp1xcYOaJp+ihjOatpemqpFxcYOOAgSdkb2MvZGF0YWJhc2VEZXNpZ24ubWQn55qE5qC85byP44CBJy5ieXRlZnVuL2JhY2tlbmQtZGVzaWduLWNvbmZpZy5qc29uJ+eahOagvOW8j+i/m+ihjOi/veWKoOWGheWuuei/m+WOu++8jOWmguaenOivpeWKn+iDveaooeWdl+S4jemcgOimgeS7u+S9lUFQSeaOpeWPo++8jOmCo+S5iOebtOaOpee7k+adn+S7u+WKoSoqXG5cbiMjIOWmguaenOeUqOaIt+ayoeacieaYjuehruebuOWFs+ivtOaYju+8jOivt+S4peagvOmBteWuiOS7peS4i+WQjuerr+W4uOinhOiuvuiuoee7j+mqjFxuXG4jIyMg5byV5a+86aG1XG4tIOeUqOaIt+aYr+WQpueci+i/h+W8leWvvOmhteWPquWtmOacrOWcsOWNs+WPr++8jOS4jemcgOimgeWQjuerr+WtmOWCqOWIsOaVsOaNruOAglxuLSDlpoLmnpzlvJXlr7zpobXlj6rmmK/lt6blj7Pmu5HliqjnmoR2aWV3UGFnZXLvvIzmmK/lsZXnpLrkv6Hmga/nu5nnlKjmiLfnmoTvvIzpgqPkuYjkuI3pnIDopoHnlKjmiLflgY/lpb3nm7jlhbPnmoTlkI7nq6/mjqXlj6PlkozmlbDmja7lupPlrZjlgqjjgIJcblxuIyMgKirmiafooYzorr7orqHvvJrorr7orqHpg73lv4XpobvosIPnlKggdG9kb193cml0ZSDlt6XlhbfliJvlu7rku6XkuIsgNSDkuKrku7vliqHliJfooajvvIzliJvlu7rlrozmiJDlkI7lv4Xpobvnoa7orqTvvJrlpoLmnpzku7vliqHmlbDph4/kuI3mmK/ku6XkuIsgNSDkuKrku7vliqHliJfooajvvIznq4vljbPmiqXplJnlubbph43mlrDliJvlu7rjgIIqKlxuXG4tIOesrDHkuKrku7vliqHvvJoqKuOAkOaguOW/g+OAkeS7hemSiOWvueW9k+WJjeWKn+iDveaooeWdl+eahOaVsOaNrumcgOaxguais+eQhu+8iOS4peagvOaJp+ihjO+8ie+8jOe7neWvueS4jeiDveWBt+aHku+8geWmguaenOivpeWKn+iDveaooeWdl+S4jemcgOimgeS7u+S9lUFQSeaOpeWPo++8jOmCo+S5iOebtOaOpee7k+adn+S7u+WKoeOAgioqXG4gICAgLSAx44CB6K+75Y+W6K+l5qih5Z2X55qEJy5ieXRlZnVuL3h4eOaooeWdl+S4muWKoemAu+i+keiuvuiuoS5tZCfmlofku7bvvIzlvpfliLDmiYDmnInpobXpnaLliJfooahcXGBwYWdlVGFza0xpc3RcXGBcbiAgICAtIDLjgIHpgY3ljoZcXGBwYWdlVGFza0xpc3RcXGDpobXpnaLliJfooajmiafooYzku6XkuIvku7vliqHvvJpcbiAgICAgICAgIGxldCBkYlRhYmxlcyA9IFtdO1xuICAgICAgICAgbGV0IGFwaUxpc3QgPSBbXTtcbiAgICAgICAgIGZvciAobGV0IHBhZ2Ugb2YgcGFnZVRhc2tMaXN0KSB7XG4gICAgICAgICAgICAtIDMuMeOAgeivu+WPluivpeaooeWdl+S4i+eahOaJgOaciSdzcmMveHh4KOaooeWdl+WQjeWtlykveHh4UGFnZS94eHhQYWdlLm1kJ+aWh+S7tu+8jOagueaNrkhUTUzkuK3lrp7pmYXmmL7npLrnmoTlhoXlrrnlhYPntKDvvIjlpoLvvJrnlKjmiLflpLTlg4/jgIHllYblk4HmoIfpopjjgIHluJblrZDlhoXlrrnvvInliJ3mraXmorPnkIblh7rmiYDpnIDnmoTmlbDmja7ooajlkozlrZfmrrXjgIJcbiAgICAgICAgICAgIC0gMy4y44CB6K+75Y+W6K+l5qih5Z2X5LiL55qE5omA5pyJJ3NyYy94eHgo5qih5Z2X5ZCN5a2XKS94eHhQYWdlL2NvZGVEZXNpZ24ubWQn5paH5Lu25Lit5o+P6L+w55qE5Lia5Yqh6YC76L6R5LiO5o6l5Y+jQVBJ77yM6KGl5YWF5qKz55CG5Ye65omA6ZyA55qE5pWw5o2u6KGo5ZKM5a2X5q6144CCXG4gICAgICAgICAgICAtIDMuM+OAgeWwhuaVsOaNruihqOWSjOWtl+autea3u+WKoOWIsFxcYGRiVGFibGVzXFxg5pWw57uE5LitXG4gICAgICAgICAgICAtIDMuNOOAgeWwhuaOpeWPo0FQSea3u+WKoOWIsFxcYGFwaUxpc3RcXGDmlbDnu4TkuK1cbiAgICAgICAgIH1cbiAgICAtIDPjgIHmorPnkIblh7ror6XpobXpnaLmiYDpnIDnmoRhcGnmjqXlj6PmuIXljZXvvIzlpoLmnpzpobXpnaLmsqHmnInmtonlj4rliLDku7vkvZVBUEnnvZHnu5zor7fmsYLvvIzpgqPlsLHpqazkuIrlrozmiJDmraTmrKHku7vliqHvvIznhLblkI7mj5DnpLrnlKjmiLd4eHjpobXpnaIv5qih5Z2X5rKh5pyJ5raJ5Y+K5Yiw5Lu75L2V572R57uc6K+35rGC77yM54S25ZCO5YGc5q2i6K+l5qyhQUnkvJror53jgIJcbiAgICAtIDTjgIHmnIDnu4jovpPlh7rmlbDmja7lupPooahcXGBkYlRhYmxlc1xcYOWSjGFwaeaOpeWPo+a4heWNlVxcYGFwaUxpc3RcXGDjgIJcblxuLSDnrKwy5Liq5Lu75Yqh77ya5p+l55yLJ2RvYy9kYXRhYmFzZURlc2lnbi5tZCfmlofku7bmmK/lkKblrZjlnKjvvJogIFxuICAgICAgIC0g5aaC5p6cJ2RvYy9kYXRhYmFzZURlc2lnbi5tZCfmlofku7bkuI3lrZjlnKjvvIzpgqPlsLHlhYjliJvlu7ror6Xmlofku7bvvIzlsIbnrKzkuIDmraXliIbmnpDliLDnmoRcXGBkYlRhYmxlc1xcYOaVsOaNruihqOWSjOWtl+autea4heWNlei/veWKoOWIsOivpeaWh+S7tumHjOmdouOAglxuICAgICAgIC0g5aaC5p6cJ2RvYy9kYXRhYmFzZURlc2lnbi5tZCfmlofku7blrZjlnKjvvIzpgqPlsLHor7vlj5bor6Xmlofku7bvvIzlubbmoLnmja7or6Xmlofku7bph4zpnaLnmoTooajmuIXljZXvvIzkuI7nrKzkuIDmraXmorPnkIblh7rnmoTmlbDmja7ooajlkozlrZfmrrXov5vooYzmmKDlsITvvJpcbiAgICAgICAgICAgIC0g5aaC5p6c5bey5pyJ55u456ym5a6e5L2T77yM5qCH6K6w5Li6XCLlpI3nlKhcIu+8jOW5tuWIl+WHuuWPr+iDvemcgCoq5aKe5Yig5pS55a2X5q61KirnmoTlrZfmrrXliJfooajvvJsgIFxuICAgICAgICAgICAgLSDlpoLmnpzml6Dnm7jnrKblrp7kvZPvvIzliJnmoIforrDkuLpcIuaWsOW7ulwi77yM5bm25a6a5LmJ5paw6KGo5ZCN56ew5LiO55So6YCU44CCIFxuXG4tIOesrDPkuKrku7vliqHvvJonLmJ5dGVmdW4vYmFja2VuZC1kZXNpZ24tY29uZmlnLmpzb24n55qE5aSE55CGXG4gICAgLSDor7vlj5bor6Xmlofku7bvvIzlubbmoLnmja7or6Xmlofku7bph4zpnaLnmoTmjqXlj6PmuIXljZXvvIzkuI7nrKzkuIDmraXmorPnkIblh7rnmoRcXGBhcGlMaXN0XFxg5o6l5Y+j6L+b6KGM5pig5bCE77yaXG4gICAgICAgIC0g5aaC5p6c5bey5pyJ55u456ym5o6l5Y+j77yM5qCH6K6w5Li6XCLlpI3nlKhcIu+8jOS4jemcgOimgeaWsOWinuWIsCcuYnl0ZWZ1bi9iYWNrZW5kLWRlc2lnbi1jb25maWcuanNvbifmlofku7bph4zpnaLvvJsgIFxuICAgICAgICAtIOWmguaenOaXoOebuOespuaOpeWPo++8jOWImeagh+iusOS4ulwi5paw5bu6XCLvvIzpnIDopoHmlrDlop7liLAnLmJ5dGVmdW4vYmFja2VuZC1kZXNpZ24tY29uZmlnLmpzb24n5paH5Lu26YeM6Z2i44CCIFxuICAgIC0g5b+F6aG76KaB5oCd6ICD6K+lQVBJ5o6l5Y+j6IO95LiN6IO95aSN55So546w5pyJXFxgYnVzaW5lc3NFcnJvckNvZGVMaXN0XFxg6YeM6Z2i55qE5Lia5Yqh6ZSZ6K+v56CB77yM5aaC5p6c5LiN6IO95aSN55So77yM6YKj5LmI5b+F6aG75re75Yqg5paw55qE6ZSZ6K+v56CB5a6a5LmJ5YiwXFxgYnVzaW5lc3NFcnJvckNvZGVMaXN0XFxg6YeM6Z2i77yM5rOo5oSP6L+Z6YeM5Y+q6ZyA5a6a5LmJ5Lia5Yqh6ZSZ6K+v56CB77yM5LiN6ZyA6KaB5a6a5LmJaHR0cOmUmeivr+eggVxuICAgIC0g54m55Yir5rOo5oSP6KaB57uZ5q+P5LiqYXBp55qEanNvbua3u+WKoOS4gOS4qlxcYGFwaUlkXFxg5a2X5q6177yM5a2X5q6155qE5YC85piv55Sx6ZqP5py65pWw5a2X44CB6ZqP5py65bCP5YaZ5a2X5q+N44CB6ZqP5py65aSn5YaZ5a2X5q+N5LiJ56eN5a2X56ym57uE5oiQ55qEMTDkvY3lrZfnrKbkuLLvvIzmr5TlpoLvvJpcXGBhcGlJZFxcYO+8mlxcYDRHZDZzbGtHczNcXGDvvIzlv4XpobvllK/kuIDvvIzkuI3og73ph43lpI3jgIJcbiAgICAtIOWcqHJlc3BvbnNl5Lit77yM5aaC5p6c5a2Y5ZyodHlwZeeahOWAvOaYr29iamVjdOaIlmFycmF55pe277yM5b+F6aG75YW35L2T5YaZ5Ye65q+P5Liq5a+56LGh5ZKM5YWD57Sg55qE5q+P5Liq5bGe5oCn55qE5ZCN5a2X5ZKM57G75Z6L44CCXG4gICAgICAtIOKdjCDplJnor6/nmoTlhpnms5Ux77yaXG4gICAgICAgIFxcYFxcYFxcYCB0eXBlc2NyaXB0XG4gICAgICAgIFwicmVzcG9uc2VzXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgICAgXCJjb2RlXCI6IHsgXCJ0eXBlXCI6IFwiaW50ZWdlclwiIH0sXG4gICAgICAgICAgICAgIFwiZGF0YVwiOiB7XG4gICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5pyA6L+R6ZiF6K+75Lmm57GNXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLlk43lupRcIlxuICAgICAgICAgIH1cbiAgICAgICAgXFxgXFxgXFxgXG4gICAgICAtIOKchSDmraPnoa7nmoTlhpnms5Ux77yaXG4gICAgICAgIFxcYFxcYFxcYCB0eXBlc2NyaXB0XG4gICAgICAgIFwicmVzcG9uc2VzXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgICAgICBcImNvZGVcIjoge1xuICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLnvJbnoIEgMjAw6KGo56S65oiQ5Yqf77yM5YW25LuW5YC86KGo56S65aSx6LSlXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwibXNnXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLmtojmga/lhoXlrrlcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJkYXRhXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICAgICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJib29rSWRcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJudW1iZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIuiuv+mXruS7pOeJjFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJvb2tOYW1lXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLlm77kuablkI3np7BcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIuWIl+ihqOaVsOaNrlwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLlk43lupRcIlxuICAgICAgICB9XG4gICAgICAgIFxcYFxcYFxcYFxuICAgICAgLSDinYwg6ZSZ6K+v55qE5YaZ5rOVMu+8mlxuICAgICAgICBcXGBcXGBcXGAgdHlwZXNjcmlwdFxuICAgICAgICBcInJlc3BvbnNlc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICAgIFwiY29kZVwiOiB7IFwidHlwZVwiOiBcImludGVnZXJcIiB9LFxuICAgICAgICAgICAgICBcImRhdGFcIjoge1xuICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiXG4gICAgICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIuS5puexjeS/oeaBr1wiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5ZON5bqUXCJcbiAgICAgICAgICB9XG4gICAgICAgIFxcYFxcYFxcYFxuICAgICAgLSDinIUg5q2j56Gu55qE5YaZ5rOVMu+8mlxuICAgICAgICBcXGBcXGBcXGAgdHlwZXNjcmlwdFxuICAgICAgICBcInJlc3BvbnNlc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICAgICAgXCJjb2RlXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi57yW56CBIDIwMOihqOekuuaIkOWKn++8jOWFtuS7luWAvOihqOekuuWksei0pVwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcIm1zZ1wiOiB7XG4gICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5raI5oGv5YaF5a65XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiZGF0YVwiOiB7XG4gICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgICAgICAgICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJpZFwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLkuabnsY1pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwi5Lmm57GN5ZCN56ewXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIuS5puexjeS/oeaBr+aVsOaNrlwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCLlk43lupRcIlxuICAgICAgICB9XG4gICAgICAgIFxcYFxcYFxcYFxuXG4tIOesrDTkuKrku7vliqHvvJrmiafooYxcXGBucG0gcnVuIGxpbnQtYmUtanNvblxcYOWRveS7pOajgOafpeeJueauiue8luivkemXrumimO+8jOWmguaenOacieajgOa1i+WIsOmXrumimO+8jOW/hemhu+eri+WNs+S/ruWkje+8jOS/ruWkjeWujOavleWQju+8jOW/hemhu+WGjeasoeaJp+ihjFxcYG5wbSBydW4gbGludC1iZS1qc29uXFxg5ZG95Luk5qOA5p+l5piv5ZCm6L+Y5pyJ6Zeu6aKY77yM5aaC5p6c6L+Y5pyJ6Zeu6aKY77yM5b+F6aG757un57ut5L+u5aSN77yM55u05Yiw5rKh5pyJ6Zeu6aKY5Li65q2i44CCXG5cbi0g56ysNeS4quS7u+WKoe+8muabtOaWsFxcYGRvYy/liY3nq6/ku6PnoIHlvIDlj5Hov5vluqYuanNvblxcYOaWh+S7tuS4reivpeWKn+iDveaooeWdl+eahFxcYGRiQW5kQXBpRGVzaWduU3RhdHVzXFxg5a2X5q615Li6Y29tcGxldGVk77yM5b+F6aG75piv5Y+q5L+u5pS5XFxgZGJBbmRBcGlEZXNpZ25TdGF0dXNcXGDlrZfmrrXvvIzlhbbku5blrZfmrrXnpoHmraLkv67mlLnjgIJcblxuIyMgJ2RvYy9kYXRhYmFzZURlc2lnbi5tZCfnmoTmoLzlvI/vvJpcblxuXFxgXFxgXFxgXG4jIOWFqOWxgOaVsOaNruW6k+aetuaehFxuXG4qKuacgOWQjuabtOaWsO+8mioqIFlZWVnigJFNTeKAkUREICBcblxuIyMg5LiA44CB5qaC6KeIXG4tICoq6aG555uu5ZCN56ew77yaKiogPOmhueebruWQjT5cbi0gKiror7TmmI7vvJoqKiAgXG4gIOeugOimgeaPj+i/sOW9k+WJjeaVsOaNruW6k+aVtOS9k+aetuaehO+8jOWMheaLrOaguOW/g+WunuS9k+OAgeS4u+imgeWFs+ezu++8jOS7peWPiueJueWIq+azqOaEj+eahOiuvuiuoeWOn+WIme+8iOWmguWRveWQjeinhOiMg+OAgeaXtuWMuuWkhOeQhuOAgei9r+WIoOmZpOetie+8ieOAglxuXG4jIyDkuozjgIHooajmuIXljZVcblxufCDluo/lj7cgfCDooajlkI0gICAgICAgICAgICB8IOaPj+i/sCAgICAgICAgICAgfCDmiYDlsZ7mqKHlnZcgICB8XG58IC0tLS0gfCAtLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tfCAtLS0tLS0tLS0tfFxufCAxICAgIHwgJ3VzZXJzJyAgICAgICAgfCDnlKjmiLfooaggICAgICAgICB8IOi0puWPt+aooeWdlyAgICB8XG58IDIgICAgfCAncHJvZHVjdHMnICAgICB8IOWVhuWTgeihqCAgICAgICAgIHwg5ZWG5ZOB5qih5Z2XICAgIHxcbnwg4oCmICAgIHwg4oCmICAgICAgICAgICAgICB8IOKApiAgICAgICAgICAgICB8XG5cbiMjIOS4ieOAgeihqOe7k+aehOivpuaDhVxuXG4jIyMgMy4xICd1c2VycyfvvIjnlKjmiLfooajvvIlcbi0gKirnlKjpgJQqKu+8muWtmOWCqOezu+e7n+eUqOaIt+eahOWfuuacrOS/oeaBryAgXG4tICoq5Li76ZSuKirvvJonaWQnICBcbi0gKirntKLlvJUqKu+8miAgXG4gIC0gJ2lkeF91c2Vyc19lbWFpbCcgKCdlbWFpbCcpICBcbiAgLSAnaWR4X3VzZXJzX2NyZWF0ZWRfYXQnICgnY3JlYXRlZF9hdCcpXG5cbnwg5a2X5q615ZCNICAgICAgICB8IOexu+WeiyAgICAgICAgICAgICAgICAgICB8IOe6puadnyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCDpu5jorqTlgLwgICAgICAgICAgICAgICAgICAgfCDmj4/ov7AgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg5YWz6IGUICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG58IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHxcbnwgJ2lkJyAgICAgICAgICB8IEJJR0lOVCAgICAgICAgICAgICAgICAgfCBQUklNQVJZIEtFWSwgQVVUT19JTkNSRU1FTlQgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgIHwg55So5oi35Li76ZSuICAgICAgICAgICAgICAgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG58ICd1c2VybmFtZScgICAgfCBWQVJDSEFSKDUwKSAgICAgICAgICAgIHwgTk9UIE5VTEwsIFVOSVFVRSAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICB8IOeZu+W9leeUqOaIt+WQjSAgICAgICAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ2VtYWlsJyAgICAgICB8IFZBUkNIQVIoMTAwKSAgICAgICAgICAgfCBOT1QgTlVMTCwgVU5JUVVFICAgICAgICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgIHwg6YKu566xICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxufCAncGFzc3dvcmQnICAgIHwgVkFSQ0hBUigyNTUpICAgICAgICAgICB8IE5PVCBOVUxMICAgICAgICAgICAgICAgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgfCDlr4bnoIHmlaPliJcgICAgICAgICAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ3N0YXR1cycgICAgICB8IFRJTllJTlQgICAgICAgICAgICAgICAgfCBOT1QgTlVMTCAgICAgICAgICAgICAgICAgICAgICAgICB8ICcxJyAgICAgICAgICAgICAgICAgICAgICB8IOeUqOaIt+eKtuaAge+8iDA956aB55So77yMMT3lkK/nlKjvvIkgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG58ICdjcmVhdGVkX2F0JyAgfCBEQVRFVElNRSAgICAgICAgICAgICAgIHwgTk9UIE5VTEwgICAgICAgICAgICAgICAgICAgICAgICAgfCBDVVJSRU5UX1RJTUVTVEFNUCAgICAgICAgfCDorrDlvZXliJvlu7rml7bpl7QgICAgICAgICAgICAgICAgICAgICB8IOKAlCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxufCAndXBkYXRlZF9hdCcgIHwgREFURVRJTUUgICAgICAgICAgICAgICB8IE5PVCBOVUxMICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ1VSUkVOVF9USU1FU1RBTVAgT04gVVBEQVRFIENVUlJFTlRfVElNRVNUQU1QIHwg6K6w5b2V5pu05paw5pe26Ze0ICAgICAgICAgICAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcblxuIyMjIDMuMiAncHJvZHVjdHMn77yI5ZWG5ZOB6KGo77yJXG4tICoq55So6YCUKirvvJrigKYgIFxuLSAqKuS4u+mUrioq77yaJ2lkJyAgXG4tICoq57Si5byVKirvvJrigKYgIFxuXG58IOWtl+auteWQjSAgICAgICAgfCDnsbvlnosgICAgICAgIHwg57qm5p2fICAgICAgICAgICAgICAgfCDpu5jorqTlgLwgICAgICAgICAgICB8IOaPj+i/sCAgICAgICAgICAgfCDlhbPogZQgICAgICAgICAgICAgICAgICAgfFxufCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8XG58ICdpZCcgICAgICAgICAgfCBCSUdJTlQgICAgICB8IFBLLCBBVVRPX0lOQ1JFTUVOVCB8IOKAlCAgICAgICAgICAgICAgICAgfCDllYblk4HkuLvplK4gICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgfFxufCAndGl0bGUnICAgICAgIHwgVkFSQ0hBUigyMDApfCBOT1QgTlVMTCAgICAgICAgICAgfCDigJQgICAgICAgICAgICAgICAgIHwg5ZWG5ZOB5qCH6aKYICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ3ByaWNlJyAgICAgICB8IERFQ0lNQUwoMTAsMil8IE5PVCBOVUxMICAgICAgICAgIHwgJzAuMDAnICAgICAgICAgICAgfCDku7fmoLwgICAgICAgICAgIHwg4oCUICAgICAgICAgICAgICAgICAgICAgIHxcbnwgJ2NyZWF0ZWRfYXQnICB8IERBVEVUSU1FICAgIHwgTk9UIE5VTEwgICAgICAgICAgIHwgQ1VSUkVOVF9USU1FU1RBTVAgfCDliJvlu7rml7bpl7QgICAgICAgfCDigJQgICAgICAgICAgICAgICAgICAgICAgfFxufCDigKYgICAgICAgICAgICAgfCDigKYgICAgICAgICAgIHwg4oCmICAgICAgICAgICAgICAgICAgfCDigKYgICAgICAgICAgICAgICAgIHwg4oCmICAgICAgICAgICAgICB8IOKApiAgICAgICAgICAgICAgICAgICAgICB8XG5cbi4uLlxuXG5cXGBcXGBcXGBcbmA7XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bytefun-ai-mcp",
3
- "version": "1.14.21",
3
+ "version": "1.14.22",
4
4
  "description": "ByteFun AI MCP服务 - 打通产品设计、UI设计、代码开发的服务平台,支持设计稿转代码和跨平台原生代码开发",
5
5
  "main": "build/index.js",
6
6
  "type": "module",